Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Reload sperre? (https://www.delphipraxis.net/10677-reload-sperre.html)

citybreaker 23. Okt 2003 10:22


Reload sperre?
 
Hallo,
gibt es eine Möglichkeit das man ein programm
nur ein mal am Tag starten kann?

Sharky 23. Okt 2003 10:29

Re: Reload sperre?
 
Zitat:

Zitat von citybreaker
Hallo,
gibt es eine Möglichkeit das man ein programm
nur ein mal am Tag starten kann?

Nein. Das Programm startet in jedem Fall.
Du könntest aber zum Beispiel beim Programmende das aktuelle Datum in eine INI oder in die Registry schreiben.
Wenn das Programm gestartet wurde liest Du die Daten aus und und beendest Das Programm fals das Datum gleich dem Tagesdatum ist.

citybreaker 23. Okt 2003 10:48

Re: Reload sperre?
 
Ich denke das mit der Ini wäre keine so gute
Idee, da man das Datum ja ändern kann.

Wie würde das ganze den mit der Registry gehen?

Darty 23. Okt 2003 10:55

Re: Reload sperre?
 
Genauso, nur dass DU halt statt in der Ini in der Registry speicherst.
Zum Registry haben wir ja glaub ich sogar im Code Library was stehen, ansonstens
im Forum auf jedenfalls ..
Aber auch dies kann man umgehen !! Ich kann ja auch in Registry Datum ändern nur mal
zur Info.

citybreaker 23. Okt 2003 11:18

Re: Reload sperre?
 
Mhm und sonst gibts keine andere möglichkeit?

--- Edit ---
Werde es nun doch mit einer Ini Datei machen.
Ich lasse das Datum in einem Label anzeigen.

Aber wie kann ich jetzt überprüfen ob in der Ini
das selbe Datum wie im Label steht?
Habe folgendes ausprobiert, aber es klappt nicht.

Delphi-Quellcode:
var ini: TIniFile;
begin
  // Auf datum überprüfen
    ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+ 'lose.ini');
    if ini.ReadString('Daten' , 'Datum', Label.Caption) then
      Close;
    ini.free;

Darty 23. Okt 2003 11:35

Re: Reload sperre?
 
Dass du es dann irgendwie verschlüsselst, so dass man das Datum nicht erkennen kann. Und dieses dann in der Registry oder Ini speicherst. Aber .. Dann gibt wohl wieder ne Möglichkeit eventuell den Key in der Registry oder Ini zu löschen so dass Dein Programm gezwungen wird es neu zu erstellen und eben mit dem aktuellen Datum ..
Aber da muss man sich schon Mühe geben. :)

Christian Seehase 23. Okt 2003 12:50

Re: Reload sperre?
 
Moin Citybreaker,

wenn Du die Abfrage in der Projektdatei unterbringst, und zwar als allererstes, sieht es zumindest so aus, als würde das Programm nicht starten (ist das gleiche Prinzip wie beim Verhinderen mehrerer Instanzen des Programmes, was wir hier ja schon einige Male hatten).

Wie sicher muss denn die Absicherung gegen mehrmaliges Starten an einem Tag aussehen, und was verstehst Du unter einem Tag?
Ein Kalendertag, oder einen Mindestabstand von 24 Stunden?

citybreaker 23. Okt 2003 13:13

Re: Reload sperre?
 
Mindest abstand von 24 Stunden. Ich hab nur keinen Plan wie
ich das abfragen könnte.

Christian Seehase 23. Okt 2003 13:45

Re: Reload sperre?
 
Moin Citybreaker,

prüfen, ob ein Datum in der Datei/Registry steht.
Ist das nicht der Fall, dann darf gestartet werden.
Steht ein Datum da drin, auslesen und mit NOW vergleichen.
Ist die Differenz >= 24h NOW als neues Startdatum wegschreiben, und starten.

>=24h sollte sich aus (Now-AusgelesenesDatum) >= 1 errechnen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz