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!
Freies Feld in Report
Moderator: wschrewe
- Falko Müller
- Fachberater*in
- Beiträge: 988
- Registriert: Donnerstag 4. Oktober 2018, 20:23
- Schulform: Gymnasium
Re: Freies Feld in Report
Hallo,
Sie können eine Variable z.B. mit
ü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.
Sie können eine Variable z.B. mit
Code: Alles auswählen
beispiel := StringInput('Geben Sie den gewünschten Text ein:','Defaultwert');
Freundliche Grüße
Falko Müller
Falko Müller
Re: Freies Feld in Report
Vielen Dank!
Re: Freies Feld in Report
Ich bin wie gesagt noch sehr neu dabei, eigene Reports zu erstellen - 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.Falko Müller hat geschrieben: ↑Sonntag 25. April 2021, 09:46 Sie können eine Variable z.B. mitü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.Code: Alles auswählen
beispiel := StringInput('Geben Sie den gewünschten Text ein:','Defaultwert');
VG!
- Dateianhänge
-
- Detailklausurplan_Oberstufe.rtk
- (21.07 KiB) 30-mal heruntergeladen
- Falko Müller
- Fachberater*in
- Beiträge: 988
- Registriert: Donnerstag 4. Oktober 2018, 20:23
- Schulform: Gymnasium
Re: Freies Feld in Report
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":
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:
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:
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:
Ich hoffe, das hilft Ihnen weiter.
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;
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;
Code: Alles auswählen
procedure DetailBeforePrint;
begin
beispiel := StringInput('Gewünschten Text für '+ Klausurschienen['Name']+' eingeben:','Default');
end;
Code: Alles auswählen
procedure Label12OnGetText(var Text: String);
begin
Text := beispiel;
end;
- Dateianhänge
-
- Detailklausurplan_Oberstufe-globale Eingabe.rtk
- (22.01 KiB) 34-mal heruntergeladen
-
- Detailklausurplan_Oberstufe-Eingabe pro Schiene.rtk
- (22.17 KiB) 31-mal heruntergeladen
Freundliche Grüße
Falko Müller
Falko Müller
Re: Freies Feld in Report
Es hat funktioniert!
Ich danke Ihnen
VG!
Ich danke Ihnen
VG!