From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- app/baisy/2.2.1-schulis/src/sybifunktionen | 71 ++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 app/baisy/2.2.1-schulis/src/sybifunktionen (limited to 'app/baisy/2.2.1-schulis/src/sybifunktionen') diff --git a/app/baisy/2.2.1-schulis/src/sybifunktionen b/app/baisy/2.2.1-schulis/src/sybifunktionen new file mode 100644 index 0000000..ebe62ea --- /dev/null +++ b/app/baisy/2.2.1-schulis/src/sybifunktionen @@ -0,0 +1,71 @@ +PACKET sybifunktionenDEFINES initsybifunktionen,setzebenutzerberechtigung, +holeberechtigungswert,setzeprogrammende,programmende, +setzeeditorschalterzurueck,gesetztdurcheditor,setzeschalterfuermenueausgabe, +loeschetastendruck,tastendruck,setzetastendruck,bittedasmenuezeigen, +menuedraussen,seteingabe,vpwunsch,npwunsch,vpgewaehlt,npgewaehlt,enter,return +,reenter,leave,setzevergleichsknoten,vergleichsknoten,knotenaufstackablegen, +legehistorieknotenab,holehistorietext,stopbaisy,setzeverteilteanwendung, +beendendessystembauminterpreters:TEXT VAR gedruecktetaste;BOOL VAR +programmendeschalter:=FALSE ,editorschalter:=FALSE ,schalterfuermenueausgabe +:=FALSE ,vornachschalter,verteilteanwendung:=FALSE ;KNOTEN VAR k;STACK VAR s; +INT VAR zurueckknotenanz;LET schaltervorprozedur=TRUE ,schalternachprozedur= +FALSE ;TEXT VAR benutzerberechtigung:="";LET maxmenueebenen=4;LET +HISTORIEKNOTEN =STRUCT (TEXT knotentext,INT anwahlpos);ROW maxmenueebenen +HISTORIEKNOTEN VAR hk;INT VAR aktebene;PROC setzeverteilteanwendung: +verteilteanwendung:=TRUE END PROC setzeverteilteanwendung;PROC seteingabe( +TEXT CONST t):gedruecktetaste:=t;editorschalter:=TRUE END PROC seteingabe; +PROC setzeeditorschalterzurueck:editorschalter:=FALSE END PROC +setzeeditorschalterzurueck;BOOL PROC gesetztdurcheditor:editorschalterEND +PROC gesetztdurcheditor;PROC setzebenutzerberechtigung(TEXT CONST t): +benutzerberechtigung:=tEND PROC setzebenutzerberechtigung;PROC +holeberechtigungswert(TEXT VAR t):t:=benutzerberechtigungEND PROC +holeberechtigungswert;PROC setzeprogrammende(BOOL CONST wahrwert): +programmendeschalter:=wahrwertEND PROC setzeprogrammende;BOOL PROC +programmende:programmendeschalterEND PROC programmende;PROC +setzeschalterfuermenueausgabe(BOOL CONST sfma):schalterfuermenueausgabe:=sfma +END PROC setzeschalterfuermenueausgabe;BOOL PROC menuedraussen: +schalterfuermenueausgabeEND PROC menuedraussen;BOOL PROC bittedasmenuezeigen: +schalterfuermenueausgabeEND PROC bittedasmenuezeigen;PROC loeschetastendruck: +gedruecktetaste:=""END PROC loeschetastendruck;TEXT PROC tastendruck: +gedruecktetasteEND PROC tastendruck;PROC setzetastendruck(TEXT CONST taste): +gedruecktetaste:=tasteEND PROC setzetastendruck;PROC vpwunsch:vornachschalter +:=schaltervorprozedurEND PROC vpwunsch;PROC npwunsch:vornachschalter:= +schalternachprozedurEND PROC npwunsch;BOOL PROC vpgewaehlt:vornachschalter +END PROC vpgewaehlt;BOOL PROC npgewaehlt:NOT vornachschalterEND PROC +npgewaehlt;PROC return(INT CONST zurueckknotenanzahl):zurueckknotenanz:= +zurueckknotenanzahl;INT VAR knotenstackhoehe;knotenstackhoehe:=hoehe(s); +npwunsch;IF knotenstackhoehe0THEN IF text( +k)=hk(aktebene).knotentextTHEN aktebeneDECR 1FI ;FI ;zurueckknotenzaehler +INCR 1PER ;END PROC holenaechstenstackknoten;PROC knotenaufstackablegen( +KNOTEN VAR stackknoten):push(s,k)END PROC knotenaufstackablegen;PROC +setzevergleichsknoten(KNOTEN CONST vglknoten):k:=vglknotenEND PROC +setzevergleichsknoten;KNOTEN PROC vergleichsknoten:kEND PROC vergleichsknoten +;PROC beendendessystembauminterpreters:setzeprogrammende(TRUE );return(1)END +PROC beendendessystembauminterpreters;PROC initsybifunktionen: +programmendeschalter:=FALSE ;verteilteanwendung:=FALSE ;s:=leererstack; +aktebene:=0;store(TRUE );INT VAR ind;FOR indFROM 1UPTO maxmenueebenenREP hk( +ind).knotentext:="";hk(ind).anwahlpos:=0;PER END PROC initsybifunktionen; +PROC legehistorieknotenab(TEXT CONST ktext,INT CONST mpkt):IF aktebene< +maxmenueebenenTHEN aktebeneINCR 1;hk(aktebene).knotentext:=ktext;hk(aktebene) +.anwahlpos:=mpktFI END PROC legehistorieknotenab;PROC holehistorietext(TEXT +VAR ktext,INT VAR kpos,INT CONST nletzter):INT VAR hkzeiger;hkzeiger:= +aktebene-nletzter+1;IF hkzeiger<1THEN ktext:=""ELSE ktext:=hk(hkzeiger). +knotentext;kpos:=hk(hkzeiger).anwahlposFI END PROC holehistorietext;PROC +stopbaisy:logbucheintragabmeldung;benutzerberechtigung:="";enter(1);breakEND +PROC stopbaisy;PROC logbucheintragabmeldung:TEXT VAR eintrag:="Abmeldung """; +eintragCAT name(myself);eintragCAT """";logeintrag(eintrag)END PROC +logbucheintragabmeldung;END PACKET sybifunktionen + -- cgit v1.2.3