Freies Feld in Report

Alles was mit dem Drucken von Reports zu tun hat

Moderator: wschrewe

Antworten
frankkehr
Beiträge: 79
Registriert: Samstag 16. Januar 2021, 13:06
Schulform: GY

Freies Feld in Report

Beitrag von frankkehr »

Guten Tag!
Wie kann ich in einem Report einrichten, dass ich beim Drucken des Reports ein Feld manuell ausfüllen kann (ähnlich wie z.B. beim Protokoll bei den Abiturklausuren, wo ich die Klausurzeit beim drucken manuell eingeben kann). Bisher habe ich nur Reports aus der Sammlung benutzt, die diese Funktion beinhalten.

VG!
Benutzeravatar
Falko Müller
Fachberater*in
Beiträge: 976
Registriert: Donnerstag 4. Oktober 2018, 20:23
Schulform: Gymnasium

Re: Freies Feld in Report

Beitrag von Falko Müller »

Hallo,
Sie können eine Variable z.B. mit

Code: Alles auswählen

beispiel := StringInput('Geben Sie den gewünschten Text ein:','Defaultwert');
über eine Eingabe mit Inhalt füllen. Weitere Befehle zu verschiedenen Eingabemöglichkeiten finden Sie im Formulardesigner im Reiter "Berechnungen", wenn Sie unten rechts auf "Sprache" klicken und dann im oberen Teil "Eingabe und Auswahl" anklicken.
Eingabe.jpg
Eingabe.jpg (60.03 KiB) 595 mal betrachtet
Freundliche Grüße
Falko Müller
frankkehr
Beiträge: 79
Registriert: Samstag 16. Januar 2021, 13:06
Schulform: GY

Re: Freies Feld in Report

Beitrag von frankkehr »

Vielen Dank!
frankkehr
Beiträge: 79
Registriert: Samstag 16. Januar 2021, 13:06
Schulform: GY

Re: Freies Feld in Report

Beitrag von frankkehr »

Falko Müller hat geschrieben: Sonntag 25. April 2021, 09:46 Sie können eine Variable z.B. mit

Code: Alles auswählen

beispiel := StringInput('Geben Sie den gewünschten Text ein:','Defaultwert');
über eine Eingabe mit Inhalt füllen. Weitere Befehle zu verschiedenen Eingabemöglichkeiten finden Sie im Formulardesigner im Reiter "Berechnungen", wenn Sie unten rechts auf "Sprache" klicken und dann im oberen Teil "Eingabe und Auswahl" anklicken.
Ich bin wie gesagt noch sehr neu dabei, eigene Reports zu erstellen :lol: - bisher habe ich nur vorhandene überarbeitet und nicht mit Variablen gearbeitet. Ich hatte ihr Beispiel genutzt, eine Variable eingefügt und den Text unter Berechnungen der Variable eingefügt und es hat leider nicht geklappt. Falls sie Zeit haben wäre es super wenn sie ihr Beispiel einmal korrekt in die Kopfzeile des angehängten Reports einfügen könnten.

VG!
Dateianhänge
Detailklausurplan_Oberstufe.rtk
(21.07 KiB) 30-mal heruntergeladen
Benutzeravatar
Falko Müller
Fachberater*in
Beiträge: 976
Registriert: Donnerstag 4. Oktober 2018, 20:23
Schulform: Gymnasium

Re: Freies Feld in Report

Beitrag von Falko Müller »

Ok, da war meine Erklärung wohl etwas knapp. Ich habe jetzt mal zwei Varianten erstellt. Hier ist die Erklärung:
Ich habe zunächst im Hauptbericht an die Stelle, an der der Text erscheinen soll, ein einfaches Text-Label gesetzt. Das heißt in diesem Fall "Label12". Der Rest findet im Reiter "Berechnungen" statt.
Zunächst muss man eine Variable definieren, die man dann in der Programmierung nutzen kann. Dazu wählt man unter Ansicht "Verwendete Module" und klickt auf "Deklarationen -> Variables" und definiert die Variable "Beispiel":

Code: Alles auswählen

  
var
  beispiel : string; 
An welcher Stelle diese Variable mit Inhalt gefüllt wird, hängt davon ab, ob Sie nur einmal einen Text eingeben wollen, der dann bei allen Schienen erscheint, oder ob für jede Klausurschiene ein eigener Text erscheinen soll.
Im ersten Fall erfolgt die Eingabe im Ereignis "GlobalOnCreate". Das finden Sie in der Ansicht "Verwendete Module" unter Ereignisse->OnCreate:

Code: Alles auswählen

procedure GlobalOnCreate;
begin
  beispiel := StringInput('Gewünschten Text eingeben:','Default');
end;
Im zweiten Fall kommt die Programmierung in das Ereignis "DetailBeforePrint". Das findet man in der Ansicht "Ereignisse" unter Detail->BeforePrint. Hier habe ich die Programmierung so erweitert, dass man bei der Eingabe die Information bekommt, um welche Klausurschiene es geht:

Code: Alles auswählen

procedure DetailBeforePrint;
begin
  beispiel := StringInput('Gewünschten Text für '+ Klausurschienen['Name']+' eingeben:','Default');
end;
In beiden Fällen muss man nun noch den Inhalt der Variable in das Label12 schreiben. In der Ansicht "Ereignisse" klickt man auf Label12->OnGetText:

Code: Alles auswählen

procedure Label12OnGetText(var Text: String);
begin

  Text := beispiel;

end;
Ich hoffe, das hilft Ihnen weiter.
Dateianhänge
Detailklausurplan_Oberstufe-globale Eingabe.rtk
(22.01 KiB) 33-mal heruntergeladen
Detailklausurplan_Oberstufe-Eingabe pro Schiene.rtk
(22.17 KiB) 29-mal heruntergeladen
Freundliche Grüße
Falko Müller
frankkehr
Beiträge: 79
Registriert: Samstag 16. Januar 2021, 13:06
Schulform: GY

Re: Freies Feld in Report

Beitrag von frankkehr »

Es hat funktioniert!
Ich danke Ihnen

VG!
Antworten

Zurück zu „Reporting Kurs42“