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
Wenn die Makros nützlich sind, ist eine Spende natürlich gern gesehen :-)