Einzelnen Beitrag anzeigen

Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: 2x am Tag automatisch speichern

  Alt 9. Mai 2007, 11:54
Zitat von BBoy:
In meinem Programm sollen die Daten (MemoFelder) 2x am Tag gespeichert werden.
Es sollte vormittags und Abends gespeichert werden. Die genaue Uhrzeit lässt sich nicht festlegen, da dass Programm (und der PC) nicht den ganzen tag eingeschaltet sind.

Stelle mir vor, dass wenn das Programm gestartet wird, wird geprüft ob schon gespeichert wurde, wenn nicht wird geprüft ob es vormittags ist und dann wird gepeichert. Abends dann genau so.

Aber irgendwie stehe ich total auf dem Schlauch wie ich sowas realisieren soll. Kan mir jemand von euch vielleicht die nötigen denkanstöße und etwas Input geben ? Danke!
Hallo bboy,

hätte mal 2 Gedankengänge meinerseits.

1.) Wenn es nicht auf die 2-malige Sicherung ankommt dann lasse einfach einen Timer mitlaufen, welcher den Inhalt z.B. alle 30 Minuten speichert (Das wäre die einfachste Lösung). Dürfte die Performance wohl nicht wesentlich beeinflussen meine ich.

2.) Benutze ein INI-File. Schreibe dazu eigene eigene Prozedur (z.B. SaveMemos). Beim PRogramm starten prüfst Du nach, ob das File vorhanden ist (Nein -> nicht gespeichert und SaveMemos aufrufen). Falls ja, dann aktuelle Uhrzeit dort reinschreiben und Memos sichern. Beim nächsten PRogrammstart wird die INI-Datei gefunden (s.o.). Uhrzeit auslesen und mit aktueller Uhrzeit vergleichen (z.B. Funktion hoursbetween(). Sollte es diese in Delphi 6 noch nicht geben, was ich glaube, dann suche hier im Forum. Gab hier dazu mal einige Lösungen (Stichwort Arbeitszeitmessung...)). Im Programm selbst wieder einen Timer nehmen und beim OnTimer-Ereignis die SaveMemos-Prozedur z.B. alle 8 Stunden aufrufen ("morgens und abends").

Zitat:
Stelle mir vor, dass wenn das Programm gestartet wird, wird geprüft ob schon gespeichert wurde, wenn nicht wird geprüft ob es vormittags ist und dann wird gepeichert. Abends dann genau so.
Das verstehe ich nicht ganz. Wenn das Programm gestartet wurde und vorher nicht gespeichert wurde, dann wären die zu speichernden Daten sowieso nicht mehr vorhanden?!?! Oder verstehe ich da was nicht so ganz? Wäre es nicht sinnvoll die Daten beim beenden auf jeden Fall im OnClose-Eregnis zu sichern (auch hier dann SaveMemos aufrufen - aber ohne Check ob die Zeit rum ist, d.h. auf jeden Fall beim beenden speichern...)

HOffe es war nicht zu wirr geschrieben und ich konnte Dir etwas weiterhelfen...

SCRaT
Michael Kübler
  Mit Zitat antworten Zitat