home *** CD-ROM | disk | FTP | other *** search
- /* $VER: ADMGebStart V 1.9 (7.2.96) © Bernd Stange
-
- Erinnert an fällige Geburtstage aus einer Geburtstagsliste
- im ASCII Format, welche durch ADMGebList erstellt wurde */
-
- /****************************************************************************/
-
- Textedit = 'C:CED'
- Textview = 'Multiview'
- SETTINGS = 'ENVARC:AddressMaster.cfg'
-
- /****************************************************************************/
-
- Ver = 'V 1.9'
-
- IF EXISTS('ENVARC:ADMscPrefs') THEN PfadVariable = 'ENVARC:'
- ELSE
- PfadVariable = 'S:'
-
- IF ~SHOW(LIBRARIES,'rexxsupport.library') THEN
- IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN
- EXIT 10
- IF ~SHOW(LIBRARIES,'rexxreqtools.library') THEN
- IF ~ADDLIB('rexxreqtools.library',0,-30,0) THEN
- EXIT 10
- IF EXISTS(PfadVariable'ADMscPrefs/ADMcheck') THEN DO
- CALL OPEN(check,PfadVariable'ADMscPrefs/ADMcheck',R)
- contr = READLn(check)
- contrD = date()
- CALL CLOSE(check)
- IF contrD = contr THEN EXIT
- ELSE DO
- ADDRESS COMMAND
- 'Delete >NIL:' PfadVariable'ADMscPrefs/ADMcheck'
- END
- END
-
- IF ~EXISTS(PfadVariable'ADMscPrefs') THEN CALL Fehler1
- IF ~EXISTS(PfadVariable'ADMscPrefs/PfadADM') THEN CALL Fehler2
- IF ~EXISTS(PfadVariable'ADMscPrefs/PfadADMDaten') THEN CALL Fehler3
- IF ~EXISTS(PfadVariable'ADMscPrefs/PfadADMGebliste') THEN CALL Fehler4
- IF ~EXISTS(PfadVariable'ADMscPrefs/Vorwarnung') THEN CALL Fehler5
- IF ~EXISTS(PfadVariable'ADMscPrefs/VLOG') THEN CALL Fehler6
- IF ~EXISTS(PfadVariable'ADMscPrefs/CheckAktuell') THEN CALL Fehler8
- CALL OPEN(ADM,PfadVariable'ADMscPrefs/PfadADM',R)
- CALL OPEN(ADMDaten,PfadVariable'ADMscPrefs/PfadADMDaten',R)
- CALL OPEN(ADMGebliste,PfadVariable'ADMscPrefs/PfadADMGebliste',R)
- CALL OPEN(ADMVorwarnung,PfadVariable'ADMscPrefs/Vorwarnung',R)
- CALL OPEN(ADMVLog,PfadVariable'ADMscPrefs/VLOG',R)
- CALL OPEN(CheckAktuell,PfadVariable'ADMscPrefs/CheckAktuell',R)
- Adressmaster = ReadLn(ADM)
- ADMGebliste = ReadLn(ADMGebliste)
- ADMDaten = ReadLn(ADMDaten)
- Warnung = ReadLn(ADMVorwarnung)
- Voicepfad = Readln(ADMVLog)
- CheckAktuell = ReadLn(CheckAktuell)
- IF Adressmaster = 'nicht gesetzt' THEN CALL Fehler2
- IF ADMDaten = 'nicht gesetzt' THEN CALL Fehler3
- IF ADMGebliste = 'nicht gesetzt' THEN CALL Fehler4
- IF Warnung = 'nicht gesetzt' THEN CALL Fehler5
- IF Voicepfad = 'nicht gesetzt' THEN CALL Fehler6
- IF ~EXISTS(ADMGebliste) THEN CALL Fehler7
- IF CheckAktuell = 'nicht gesetzt' THEN CALL Fehler8
- IF Voicepfad = 'Nein' THEN Voicelog = nein
- ELSE Voicelog = ja
- CALL CLOSE(ADM)
- CALL CLOSE(ADMDaten)
- CALL CLOSE(ADMGebliste)
- CALL CLOSE(ADMVorwarnung)
- CALL CLOSE(ADMVLog)
- CALL CLOSE(CheckAktuell)
- IF CheckAktuell ~= 'NEIN' & CheckAktuell ~= 'nicht gesetzt' THEN CALL CheckAktuell
- Datum = DATE()
- Tag = WORD(datum,1)
- Month = WORD(datum,2)
- Jahr = WORD(datum,3)
- Zeit = DATE(I)
- Tagejahr = DATE(D, Zeit,I)
- CALL OPEN(sti,ADMGebliste,'r')
- Linie = READLN(sti)
-
- /* Schleife beginnt */
- DO WHILE ~EOF(sti)
- Datentag = WORD(linie,1)
- Datenmonat = WORD(linie,2)
- Datenjahr = WORD(linie,3)
- Datendatum = jahr || datenmonat || datentag
- DatenTagejahr = DATE("d",Datendatum,"s")
- Diff = DatenTagejahr - Tagejahr
- /* Bedingung beginnt */
- IF diff >= 0 & diff <= Warnung THEN DO
- Name = UPPER(WORD(linie,6)) UPPER(WORD(linie,7))
- TERMINTEXT = UPPER(SUBWORD(linie,6,WORDS(linie)-6))
- Ter = WORD(linie,4)
- IF Datenjahr = '????' THEN ALter = '?'
- ELSE Alter = Jahr - Datenjahr
- IF Linie = '' THEN Telefon = ' '
- ELSE Telefon = WORD(linie,WORDS(linie))
- SELECT
- WHEN diff = 0 THEN Text = "HEUTE"
- WHEN diff = 1 THEN Text = "MORGEN"
- WHEN diff = 2 THEN Text = "ÜBERMORGEN"
- OTHERWISE Text = "am" datentag || ". " || datenmonat'.'
- END
- Geschlecht = WORD(linie,5)
- IF Geschlecht = 'H' THEN Anrede = "seinen"
- IF Geschlecht = 'F' THEN Anrede = "ihren"
- IF Geschlecht = 'X' THEN DO
- Anrede = "das"
- Geburtstag = '. Jubiläum !'
- END
- ELSE Geburtstag = '. Geburtstag !'
- Flags = 'rtez_flags = ezreqf_centertext'
-
- ANFANG:
- IF Ter = 'Termin:' THEN CALL Termin /*Nach Termin suchen*/
- ELSE CALL Geburtstag /*Nach Geburtstag suchen*/
- IF Auswahl = 2 THEN CALL Verschieben /*bei Auswahl "Verschieben"*/
- IF Auswahl = 3 THEN CALL Liste /*bei Auswahl "Liste"*/
- IF Auswahl = 0 THEN DO /*letzte Button*/
- IF Ter = 'Termin:' THEN CALL Loeschen /*bei Auswahl Termin löschen*/
- ELSE CALL Anwaehlen /*bei Auswahl Anwählen */
- END /*letzte Button ENDE*/
-
- END /* Vorwarnbedingung Ende */
- Linie = READLN(sti)
- END /*Schleife Ende */
-
- /* Aufräumen*/
- ENDE:
- CALL CLOSE(STI)
- CALL CLOSE(sort1)
- CALL CLOSE(sort)
- IF EXISTS('T:.tmp1') THEN DO
- ADDRESS COMMAND
- 'copy' 'T:.tmp2' ADMGebliste
- "delete T:.tmp1 T:.tmp2 >NIL:"
- END
-
- EXIT
-
- /************************* Sprungadressen *********************************/
-
-
- CheckAktuell:
- ADDRESS COMMAND
- 'list' ADMDaten 'LFormat="%d %t" >t:dat'
- CALL OPEN(datum,'t:dat',R)
- 'list' ADMGebliste 'LFormat="%d %t" >t:dat1'
- CALL OPEN(datum1,'t:dat1',R)
- Da = READLN(datum)
- Da1 = READLN(datum1)
- CALL CLOSE(datum)
- CALL CLOSE(datum1)
- ADDRESS COMMAND
- 'Delete t:dat t:dat1 >NIL:'
- IF DA ~= DA1 THEN DO
- Flags = 'rtez_flags = ezreqf_centertext'
- Titel = Ver 'DatumCheck:'
- Gadget = '_Ja|_Nein, jetzt nicht'
- Reqtext = 'A C H T U N G: Die Geburtstagsliste' ||'0A'x||,
- '"' || ADMGebliste || '"' ,
- ||'0A'x|| 'scheint nicht aktuell zu sein !',
- ||'0A'x|| 'Soll ich die Liste gleich erneuern ?'
- Auswahl = rtezrequest(Reqtext,Gadget,Titel,Flags)
- IF Auswahl = 1 THEN DO
- ADDRESS COMMAND
- 'SYS:Rexxc/rx' CheckAktuell
- END
- END
- RETURN
-
- /*Nach Termin suchen*/
- Termin:
- Reqtext = 'Achtung Termin :'||'0A'x|| '' ||'0A'x|| '==> ' || Text '!' || ' <==' ||'0A'x||''||'0A'x|| TERMINTEXT
- Gadget = '_OK|_Verschieben|_Liste|_Nachricht löschen'
- Titel = Ver 'Terminhinweis :' datum
- Auswahl = rtezrequest(Reqtext,Gadget,Titel,Flags)
- RETURN
-
- /*Nach Geburtstag suchen*/
- Geburtstag:
- Titel = Ver 'Geburtstagshinweis :' datum
- Gadget = '_OK|_Verschieben|_Liste|_Anwählen'
- ReqText = Name ||'0A'x|| 'hat' text Anrede Alter || Geburtstag ||'0A'x|| 'Tel.:' Telefon
- Auswahl = rtezrequest(Reqtext,Gadget,Titel,Flags)
- Return
-
- /*bei Auswahl "Verschieben"*/
- Verschieben:
- ADDRESS COMMAND
- 'echo >' || PfadVariable || 'ADMscPrefs/ADMcheck' datum
- CALL ENDE
- RETURN
-
- /*bei Auswahl "Liste"*/
- Liste:
- sortwahl = rtezrequest('Die Liste nach Datum oder Namen sortieren und zeigen ?' ||'0A'x||,
- 'Oder Editieren ?',
- ,'nach _Datum|nach _Namen|_Editieren|_Abbruch','Anfrage:',Flags)
- CALL OPEN(SORTliste,ADMGebliste,R)
- CALL OPEN(sort,'t:.tmp5',w)
- zeile = READLN(SORTliste)
- DO WHILE ~EOF(SORTliste)
- Datentag = WORD(zeile,1)
- Datenmonat = WORD(zeile,2)
- Datenjahr = WORD(zeile,3)
- VorName = WORD(zeile,6)
- Name =WORD(zeile,7)
- Ter = WORD(zeile,4)
- Telefon = WORD(zeile,WORDS(zeile))
- TERMINTEXT = SUBWORD(linie,6,WORDS(linie)-6)
- Data = Datentag || '.' || Datenmonat || '.' || Datenjahr
- IF sortwahl = '2' THEN DO
- Sortzeile = name || ',' vorname
- Sortzeile = INSERT(Data,Sortzeile,28)
- Sortzeile = INSERT('('Ter')',Sortzeile,40)
- Sortzeile = INSERT(Telefon,Sortzeile,46)
- END
- IF sortwahl = '1' THEN DO
- Sortzeile = data vorname name
- Sortzeile = INSERT('('Ter')',Sortzeile,34)
- Sortzeile = INSERT(Telefon,Sortzeile,41)
- END
- IF 'Termin:' ~= WORD(zeile,4) THEN CALL WRITELN(sort,Sortzeile)
- zeile = READLN(SORTliste)
- END
- CALL CLOSE(sort)
- CALL CLOSE(SORTliste)
- IF sortwahl = '2' THEN DO
- ADDRESS COMMAND
- 'sort t:.tmp5 t:.tmp6'
- Textview 't:.tmp6'
- 'Delete t:.tmp5 t:.tmp6 >NIL:'
- CALL LISTE
- END
- IF sortwahl = '1' THEN DO
- ADDRESS COMMAND
- Textview 't:.tmp5'
- 'Delete t:.tmp5 >NIL:'
- CALL LISTE
- END
- IF sortwahl = '3' THEN DO
- ADDRESS COMMAND
- Textedit ADMGebliste
- 'Delete t:.tmp5 >NIL:'
- CALL LISTE
- END
- RETURN
-
- /*bei Auswahl Termin löschen*/
- loeschen:
- ADDRESS COMMAND
- 'Copy' ADMGebliste 'T:.tmp1'
- 'Copy' ADMGebliste ADMGebliste'.bak'
- CAll OPEN(sort,'T:.tmp1',r)
- CAll OPEN(sort1,'T:.tmp2',w)
- DO while ~EOF(sort)
- Sortlinie = Readln(sort)
- IF Sortlinie ~= Linie THEN DO
- IF Sortlinie ~= '' THEN CALL WRITELN(sort1,Sortlinie)
- END
- END
- RETURN
-
-
- /*bei Auswahl Anwählen */
- Anwaehlen:
- IF ~SHOW('PORTS','ADM.1') THEN DO
- IF EXISTS('c:wbrun') THEN DO
- ADDRESS COMMAND
- 'WBrun >NIL:' AdressMaster
- END
- ELSE DO
- PRAGMA(STACK,20000)
- ADDRESS COMMAND
- 'run >NIL:' AdressMaster 'FROM' ADMDaten 'SETTINGS=' || SETTINGS
- END
- DO 2 WHILE ~SHOW('PORTS','ADM.1')
- 'sys:rexxc/WaitForPort ADM.1'
- END
- END
- ADDRESS 'ADM.1'
- OPTIONS RESULTS
- ACTIVATEFIRST
- DO UNTIL Nm = Telefon
- GETADDRESS ADM
- Nm = COMPRESS(ADM.TELEPHONE)
- IF NM = Telefon THEN DO
- IF Voicelog = 'JA' THEN DO
- cmd = 'RUN >NIL:' Voicepfad '"' || ADM.FULLNAME || '"' '"' || ADM.telephone || '"'
- ADDRESS COMMAND CMD
- END
- ELSE DO
- ADDRESS 'ADM.1'
- DIAL
- END
- END
- ACTIVATENEXT
- END
- RETURN
-
-
-
- Fehler1:
- Reqtext = 'Achtung Fehler1:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs alle notwendigen Variablen einstellen !'
- CALL Requester
-
- Fehler2:
- Reqtext = 'Achtung Fehler2:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs den Pfad vom AdressMaster einstellen !'
- CALL Requester
-
- Fehler3:
- Reqtext = 'Achtung Fehler3:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs den Pfad des ADMDatensatzes' ||'0A'x|| 'von ADM anwählen !'
- CALL Requester
-
- Fehler4:
- Reqtext = 'Achtung Fehler4:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs den Pfad für die Gebdatei anwählen ! '
- CALL Requester
- Fehler5:
- Reqtext = 'Achtung Fehler5:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs die Anzahl der Vorwarntage einstellen !'
- CALL Requester
-
- Fehler6:
- Reqtext = 'Achtung Fehler6:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs die Variable ====> VLog setzen !'
- CALL Requester
-
- Fehler7:
- Reqtext = 'Achtung Fehler7:'||'0A'x|| '' ||'0A'x|| 'Es existiert keine ADMGebliste !' ||'0A'x|| 'Bitte erst mit dem Script ADMGebList.adm erstellen !'
- CALL Requester
-
- Fehler8:
- Reqtext = 'Achtung Fehler8:'||'0A'x|| '' ||'0A'x|| 'Bitte erst mit ADMscPrefs die Variable Checkaktuell setzen !'
- CALL Requester
-
- Requester:
- Flags = 'rtez_flags = ezreqf_centertext'
- Titel = Ver 'Fehlermelung:'
- Gadget = '_OK'
- Auswahl = rtezrequest(Reqtext,Gadget,Titel,Flags)
- EXIT
-