summaryrefslogtreecommitdiff
path: root/app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen
diff options
context:
space:
mode:
Diffstat (limited to 'app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen')
-rw-r--r--app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen35
1 files changed, 35 insertions, 0 deletions
diff --git a/app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen b/app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen
new file mode 100644
index 0000000..7d3b4c5
--- /dev/null
+++ b/app/baisy/2.2.1-schulis/src/allgemeine grundfunktionen
@@ -0,0 +1,35 @@
+PACKET allgemeinegrundfunktionenDEFINES statleseschleife,rechtstext,
+aenderungsvermerksetzen,geplanteshjundsjberechnen,textnichtnull,jgstaufber,
+eingabenummerisch:LET sgaenderung="c02 aenderungsvermerk",schlakt="aktuell",
+schlgepl="geplant",blank=" ";PROC statleseschleife(INT CONST indexnummer,
+TEXT CONST startschluessel1,startschluessel2,INT CONST feldnr1,feldnr2,PROC (
+BOOL VAR )stataktion):vorbereitungen;leseschleife.vorbereitungen:LET
+maxleseanzahl=10;BOOL VAR vorzeitigesende:=FALSE ;INT VAR anzahltupel;.
+leseschleife:putwert(feldnr1,startschluessel1);putwert(feldnr2,
+startschluessel2);search(indexnummer);IF dbstatus=0THEN einleseschleifeFI .
+einleseschleife:zaehlen;WHILE NOT schlussREP anzahltupel:=maxleseanzahl;
+multisucc(indexnummer,anzahltupel);stackdurchlaufPER ;.stackdurchlauf:IF
+anzahltupel=0THEN dbstatus(1)ELSE WHILE anzahltupel<>0REP lesen;zaehlen;IF
+vorzeitigesendeTHEN dbstatus(1);anzahltupel:=0FI ;PER FI .schluss:dbstatus<>0
+.zaehlen:stataktion(vorzeitigesende).lesen:multisucc;anzahltupelDECR 1;.END
+PROC statleseschleife;TEXT PROC rechtstext(TEXT CONST t,INT CONST laenge):((
+laenge-length(t))*" ")+tEND PROC rechtstext;PROC aenderungsvermerksetzen(
+TEXT CONST schlwert):IF schlwert<>schlaktCAND schlwert<>schlgeplTHEN LEAVE
+aenderungsvermerksetzenFI ;inittupel(dnrschluessel);putwert(fnrschlsachgebiet
+,sgaenderung);putwert(fnrschlschluessel,schlwert);search(dnrschluessel,TRUE )
+;IF dbstatus=okTHEN putwert(fnrschllangtext,date+blank+timeofday);update(
+dnrschluessel)ELSE putwert(fnrschlsachgebiet,sgaenderung);putwert(
+fnrschlschluessel,schlwert);putwert(fnrschllangtext,date+blank+timeofday);
+insert(dnrschluessel)FI END PROC aenderungsvermerksetzen;PROC
+geplanteshjundsjberechnen(TEXT VAR halbjahr,schuljahr):TEXT VAR hilfe;IF
+halbjahr="1"THEN halbjahr:="2";ELSE halbjahr:="1";schuljahr:=subtext(
+schuljahr,3);hilfe:=text(int(schuljahr)+1);schuljahrCAT subtext("0"+hilfe,
+LENGTH (hilfe))FI END PROC geplanteshjundsjberechnen;TEXT PROC textnichtnull(
+TEXT CONST txt):TEXT VAR t:=txt;IF t=length(t)*"0"THEN t:=""FI ;tEND PROC
+textnichtnull;TEXT PROC jgstaufber(TEXT CONST jgst):LET erstestellejgst="0",
+maxsek1=10;INT VAR ijgst:=int(jgst);IF ijgst>=maxsek1THEN jgstELIF ijgst=0
+THEN ""ELSE erstestellejgst+text(ijgst)FI END PROC jgstaufber;BOOL PROC
+eingabenummerisch(TEXT CONST t):INT VAR lv;FOR lvFROM 1UPTO length(t)REP IF
+pos("0123456789",tSUB lv)=0THEN LEAVE eingabenummerischWITH FALSE FI PER ;
+TRUE END PROC eingabenummerisch;END PACKET allgemeinegrundfunktionen
+