EVA_ringsichern

{
in tmenu.mac folgende Zeilen eintragen

 TMENU Tm_cc  187,180      213,198      'ringsichern TM_CREATE_1'
 TMENU Tm_cc  213,180      239,198      'ringsichern TM_CREATE_2'
 TMENU Tm_cc  239,189      265,198      'ringsichern Tm_modify'
 TMENU Tm_cc  266,189      291,198      'ringsichern Tm_modify_2' 
 TMENU Tm_cc  239,180      265,189      'ringsichern Tm_modify_3'

dann

input'ringsichern.mac'
init_ringsichern
ringsichern

Beim Antippen des entsprechenden Tablettfeldes wird nun vor der
eigentlichen Befehlsausführung zuerst stets das Makro ringsichern
ausgeführt. Das Makro ringsichern wiederum prüft nun, ob eine Sicherung
an der Zeit ist.
Diese Zeit ist als Konfiguration in ein extra
Makro geschrieben.

bei windows gemischt PELook 3 muss ringsichern in sm_create_1 usw. aufgerufen werden
kopie von sm_create_1 aufrufen, in sm_create_1 als erste Zeile: if (eva_pelook = 3) ringsichern END_IF
}


DEFINE eva_init_ringsichern
LOCAL Zeile
  LET ringsichern_aktuell 0
  LET ringsichern_intervall 3600    { in Sekunden ... 3600 entspricht 1 Stunde ! }
  LET ringsichern_max_auto_save 9   { Anzahl der automatischen Sicherungsdateien 0-9 = 10 }
  LET ringsicherndatei 'c:\temp\ring.' { (ohne Suffix!) }
  LET ringsichern_dateiname'C:\TEMP\ring_nr.txt'
  LET ringsichern_start_zeit (TIME)
  TRAP_ERROR
  OPEN_INFILE 2 (ringsichern_dateiname)
  { Datei noch nicht vorhanden }
  IF (CHECK_ERROR=1)
    OPEN_OUTFILE 2 DEL_OLD (ringsichern_dateiname)
    WRITE_FILE 2 (STR(ringsichern_aktuell))
    WRITE_FILE 2 (STR(ringsichern_intervall))
    WRITE_FILE 2 (STR(ringsichern_max_auto_save))
    CLOSE_FILE 2
  { lese die Nummer der letzten Sicherung... }
  ELSE
    OPEN_INFILE 2 (ringsichern_dateiname)
    READ_FILE 2 Zeile LET ringsichern_aktuell (VAL(Zeile))
    READ_FILE 2 Zeile LET ringsichern_intervall (VAL(Zeile))
    READ_FILE 2 Zeile LET ringsichern_max_auto_save (VAL(Zeile))
    CLOSE_FILE 2
  END_IF
END_DEFINE 


DEFINE eva_ringsichern
  LOCAL Time_       { die aktuelle Zeit }
  LET Time_ (TIME)  { holt die aktuelle Zeit }
  TRAP_ERROR
  OPEN_INFILE 2 (ringsichern_dateiname)
  { Datei noch nicht vorhanden }
  IF (CHECK_ERROR=1)
    OPEN_OUTFILE 2 DEL_OLD (ringsichern_dateiname)
    WRITE_FILE 2 (STR(ringsichern_aktuell))
    WRITE_FILE 2 (STR(ringsichern_intervall))
    WRITE_FILE 2 (STR(ringsichern_max_auto_save))
    CLOSE_FILE 2
  { lese die Nummer der letzten Sicherung... }
  ELSE
    OPEN_INFILE 2 (ringsichern_dateiname)
    READ_FILE 2 Zeile LET ringsichern_aktuell (VAL(Zeile))
    READ_FILE 2 Zeile
{############### wenn manuell eingegeben wird, darf hier nichts zugewiesen werden !!!!
    LET ringsichern_intervall (VAL(Zeile))
}
    READ_FILE 2 Zeile LET ringsichern_max_auto_save (VAL(Zeile))
    CLOSE_FILE 2
  END_IF
  IF ((Time_ - ringsichern_start_zeit) > ringsichern_intervall)
    DISPLAY_NO_WAIT ' Automatische Sicherung !!! '
    { Default-Wert falls noch keine Datei vorhanden }
    IF (ringsichern_aktuell < ringsichern_max_auto_save)
      LET ringsichern_aktuell (ringsichern_aktuell + 1)
    ELSE
      LET ringsichern_aktuell 0
    END_IF
    STORE MI ALL DEL_OLD (ringsicherndatei+(STR(ringsichern_aktuell)))
    OPEN_OUTFILE 2 DEL_OLD (ringsichern_dateiname)
    WRITE_FILE 2 (STR(ringsichern_aktuell))
    WRITE_FILE 2 (STR(ringsichern_intervall))
    WRITE_FILE 2 (STR(ringsichern_max_auto_save))
    CLOSE_FILE 2
    { setze die Startzeit auf die aktuelle Zeit }
    LET ringsichern_start_zeit (TIME)
  END_IF
END_DEFINE 
Source downloaden
Wenn die Makros nützlich sind, ist eine Spende natürlich gern gesehen :-)
Werbe-Links