Seite 1 von 1

Frage zum "copy" Befehl in den Zeugnisreports für BKs

Verfasst: Mittwoch 14. Januar 2026, 10:10
von Leuthardt
Hallo liebe Kolleginnen und Kollegen,

Ich würde gerne in einem bestehenden Report unserer Schule Schuljahr und Halbjahr ausgeben.
In den Zeugnisvorlagen wird dazu der copy Befehl genutzt, beispielsweise:

Text := copy(Text,1,7) + ' '+copy(Text,9,1) + '. Halbjahr besucht.';

Wenn ich den Code so in unseren Report übernehme, wird nur ". Halbjahr" angezeigt.
Worauf bezieht sich der copy Befehl in den Vorlagen genau und wo finde ich die zugehörigen Einträge?

Re: Frage zum "copy" Befehl in den Zeugnisreports für BKs

Verfasst: Mittwoch 14. Januar 2026, 10:19
von Jochen Torspecken
Kopiert wird aus dem Inhalt des DBText-Feldes, das dem ganzen zu Grunde liegt.
Welches Datenfeld das ist, erkennen Sie im Entwurf durch Klick auf das Datenfeld, in dem die Programmierung ist.
Ohne Programmierung steht in "Text" der entsprechende Inhalt das Feldes.

Re: Frage zum "copy" Befehl in den Zeugnisreports für BKs

Verfasst: Mittwoch 14. Januar 2026, 10:39
von Jochen Torspecken
Im konkreten Fall müsste es das Datenfeld Lernabschnitte['SchuljahrText'] sein, in dem die Programmierung ist.
Am einfachsten nutzen Sie ebenfalls ein DBText-Feld mit der o.g. Datenquelle. Dann muss man die Programmierung nicht verändern.
Alternativ könnte man auch ein Label nutzen und "Text" durch Lernabschnitte['SchuljahrText'] ersetzen. Das ist aber in meinen Augen nicht so gut.

Re: Frage zum "copy" Befehl in den Zeugnisreports für BKs

Verfasst: Mittwoch 14. Januar 2026, 10:44
von Leuthardt
Danke, das Datenfeld war natürlich falsch.
Worauf bezieht sich beim copy Befehl denn "Text,1,7" und "Text,9,1"? Gibt es dazu eine Dokumentation?

Re: Frage zum "copy" Befehl in den Zeugnisreports für BKs

Verfasst: Mittwoch 14. Januar 2026, 10:59
von GE Schwerte
Die Funktion "copy" nimmt aus einen String ab einer Position eine bestimmte Menge Zeichen heraus.
function copy(Source string; StartChar, Count Integer):string; ist die Definition.

Beispiel:
Text := copy ('Bratwurst',5,2) ergibt in der Variable "Text" den Inhalt 'wu' (2 Buchstaben ab der 5. Stelle).

-----
Oder evtl. noch klarer:

Text := 'Leberwurst'; //(Variable mit Inhalt füllen)
Text := copy (Text,6,5); //(Einen 5-Buchstabenteil ab der 6. Stelle herauskopieren)

Jetzt enthält "Text" den String 'wurst'.