/*
  $VER: Dopus Reminder Editor Part 1.0 (30.07.98)
  Written by Stefan Uhlemann (BPM-SU@gmx.de).

  Function : ARexx      remind_edit.dopus5 {Qp}
*/

envfile='dopus5_remind.prefs'
version='REMINDFILEV1.0'
check1='DATE'
check2='MESG'

parse arg portname .

if portname='' then
   portname='DOPUS.1'
address value portname

options results
options failat 21
lf = "0A"X

call read_env()
call aendern()
exit

/* ------------------- FUNKTIONEN ----------------------------------- */

aendern :
  nowd=date()
  nowt=time()
  now=""nowd "um" nowt "Uhr"
getstring:
  dopus getstring '"Merkzettel "'me'" (max 80 Zeichen) ""'lf'am ""'now'""" 80 """'text'" Speichern|Setup|Löschen|Abbruch'
  textnew=result
  if textnew=="RESULT" then textnew=""
  if dopusrc=0 then exit
  if dopusrc=3 then do
    call loeschen()
    exit
    end
  if dopusrc=2 then do
     text=textnew
     dopus request '"In dieser Version noch nicht möglich!" Zurück'
     call getstring()
     end
  OPEN(OUT,"env:"envfile,write)
  WRITELN(OUT,version)
  WRITELN(OUT,check1"="now)
  WRITELN(OUT,check2"="textnew)
  CLOSE(OUT)
  address command 'c:copy env:'envfile' envarc:'envfile' quiet >NIL:'
  return

loeschen:
  address command 'c:delete env:'envfile' quiet >NIL:'
  address command 'c:delete envarc:'envfile' quiet >NIL:'
  return

read_env:
if exists("env:"envfile) then do
  call zeilen_lesen()
  me="ändern"
  end
else do
  text=""
  me="schreiben"
  end
endif
return

zeilen_lesen:
  open(IN, "env:"envfile,read)
  zeile=readln(IN)

      IF zeile = version then do
           end
      else do
        say '"ENV-Fehler! Die Datei env:'envfile' ist beschädigt oder inkompatibel!"'
        say 'Die Datei wurde gelöscht. Starten Sie das Programm jetzt erneut.'
        close(IN)
        call loeschen()
        exit
        end

  datum = READLN(IN)
  laenge=length(datum)
  datum=trim(substr(datum, 6, laenge))
  text = READLN(IN)
  laenge=length(text)
  text=trim(substr(text, 6, laenge))
  close(IN)
  return
  end
