Seite 1 von 1

Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 08:42
von L. Westermann
Hallo zusammen,
die unten angehängte Konferenzliste gibt oben (Label7) aus: Schulj. 2023/23 1. Halbjahr.
Bislang gab es mit dem Report keine Probleme; sieht jemand den Grund für die seltsame Angabe?
In Schild und bei den Schülern sind die Daten korrekt.
Vielen Dank!

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 10:23
von Raffenberg
Hallo,
bei der ersten Berechnung von "jahr" wird 0,2399999998 berechnet (warum auch immer). Bei der Rückwandlung IntToStr wird daraus 23. Ausgehend vom Gedanken, dass die Aktuellen Schuljahre > 2000 sein sollten habe ich die Berechnung angepasst:

Code: Alles auswählen

var
 jahr:integer;
 wort:string;
begin
  jahr:=(Schueler['AktSchuljahr']-1999;
  if jahr<10 then
  wort:='/0'+IntToStr(jahr) else
  wort:='/'+IntToStr(jahr);
  Text:= 'Schulj.: '+Schueler['AktSchuljahr']+wort+', '+Schueler['AktAbschnitt']+'. Halbj.';
end;

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 11:09
von mian
... oder aber mit einem um eins erhöhten Schuljahr (da genug Platz ist).

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 11:36
von Falko Müller
Oder man wandelt die Jahreszahl in einen String um, von dem man nur die letzten beiden Zeichen nimmt:

Code: Alles auswählen

var
 jahr:integer;
 wort:string;
begin
  jahr:=Schueler['AktSchuljahr']+1;
  wort:='/'+copy(IntToStr(jahr),3,2);
  Text:= 'Schulj.: '+Schueler['AktSchuljahr']+wort+', '+Schueler['AktAbschnitt']+'. Halbj.';
end;

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 18:08
von W.Maßmann
...
oder man nimmt direkt (ohne var ...):
begin
Text:= 'Schulj.: '+Schueler['SchuljahrUndAbschnittText'];
end;

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 22:23
von L. Westermann
Vielen Dank für Ihre schnellen Antworten!

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Mittwoch 10. Januar 2024, 22:40
von Kloppenburg
Das Problem ist zwar schon gelöst, aber ich habe auch noch einen Vorschlag:

Code: Alles auswählen

jahr:=((Schueler['AktSchuljahr']+1) mod 100;
mod (modulo) liefert hier den Rest bei einer Division durch 100.

Gruß,
Ulrich Kloppenburg

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Donnerstag 11. Januar 2024, 11:48
von L. Westermann
Beim letzten Beispiel erhalte ich damit "Schulj.: 2023/2400, 1. Halbj."
Aber schön, wie viele Ideen es so gibt!

Re: Konferenzliste: Schuljahr falsch angegeben

Verfasst: Donnerstag 11. Januar 2024, 14:01
von W.Maßmann
Hallo Herr Westermann.
... erhalte ich damit "Schulj.: 2023/2400, 1. Halbj."
Das ergibt sich m.E. nur, wenn danach jahr:=jahr*100; im obigen ersten Code stehen bleibt.