Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Suche Möglichket um Abwehehsent-Tage herauszufinden (https://www.delphipraxis.net/101879-suche-moeglichket-um-abwehehsent-tage-herauszufinden.html)

Mokuba01 19. Okt 2007 14:56


Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Hallo,

Also ich suche eine Möglichkeit herauszufinden seit wievielen Tagen mein Programm nicht mehr gestartet wurde also

es wird am 20.10.07 gestartet

es wird am 25.10.07 gestartet und dabei kommt folgende Meldung: "ihr Programm wurde seit 4 Tagen nicht mehr gestrartet"

Gruß Mokuba01

Thanatos81 19. Okt 2007 15:01

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Hmm, ich würde wohl ne Protokoll-Datei anlegen, oder einen Wert LastStarted in die Registry schreiben.

Nuclear-Ping 19. Okt 2007 15:06

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Naja, im Grunde Datum des ersten Starts merken und in eine Datei speichern. Wenn der Wert in der Datei schon vorhanden ist, auslesen und von dem neuen Startdatum abziehen.
Delphi-Quellcode:
var
  DatumAlt,
  DatumNeu: TDateTime;
  Ini: TIniFile;
  Tage: Integer;
begin
  Ini := TIniFile.Create ('...\Pfad\Datei.ini');
  DatumAlt := Ini.ReadFloat ('Allgemein', 'LastStart', 0);
  DatumNeu := Now;
  if (DatumAlt <> 0) then
    Tage := Trunc (DatumNeu - DatumAlt)
  else Tage := 0;
  Ini.WriteFloat ('Allgemein', 'LastStart', DatumNeu);
  FreeAndNil (Ini);

  if (Tage > 0) then
    ShowMessage ('Das Programm wurde vor ' + inttostr (Tage) + ' Tagen das letzte mal gestartet.');
end;
(Nicht getestet)

Mokuba01 19. Okt 2007 16:14

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Zitat:

Zitat von Nuclear-Ping
var
DatumAlt,
DatumNeu: TDateTime;
Ini: TIniFile;
Tage: Integer;
begin
Ini := TIniFile.Create ('...\Pfad\Datei.ini');
DatumAlt := Ini.ReadFloat ('Allgemein', 'LastStart', 0);
DatumNeu := Now;
if (DatumAlt <> 0) then
Tage := Trunc (DatumNeu - DatumAlt)
else Tage := 0;
Ini.WriteFloat ('Allgemein', 'LastStart', DatumNeu);
FreeAndNil (Ini);

if (Tage > 0) then
ShowMessage ('Das Programm wurde vor ' + inttostr (Tage) + ' Tagen das letzte mal gestartet.');
end;

dann kommt:
Zitat:

Zitat von Delphi 4 Standard
[Fehler] Unit1.pas(27): Undefinierter Bezeichner: 'TIniFile'
[Fehler] Unit1.pas(31): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(31): Inkompatible Typen: 'TComponent' und 'String'
[Fehler] Unit1.pas(32): Operator oder Semikolon fehlt
[Fehler] Unit1.pas(36): ';' nicht erlaubt vor einem 'ELSE'
[Fehler] Unit1.pas(41): '.' erwartet, aber ';' gefunden
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

der ganze Syntax, na gut wär bei mir noch schlimmer
aber was ist dort mit: "Undefinierter Bezeichner: 'TIniFile' los?"

Nuclear-Ping 19. Okt 2007 16:22

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
F1 drücken und Hilfe gucken ;)

Seppel 19. Okt 2007 18:57

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Zitat:

Ini := TIniFile.Create ('...\Pfad\Datei.ini');
Die ini Datei sollte vorhanden sein^^ und der Pfad muss stimmen.
Delphi-Quellcode:
Ini:=TInifile.Create(ExtractFilePath(ParamStr(0))+
    'einstellungen.ini');//Der Pfad ist der wo die exe liegt. also die ini muss da sein, wo dein programm ist. Ich glaube dann gehts es sicherlich.
Haste vielleicht vergessen IniFiles als unit einzubinden^^.
also:
Delphi-Quellcode:
uses
IniFiles
Das dazu schreiben, dann könnte es auch schon gehen.

Nuclear-Ping 19. Okt 2007 19:06

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Als Hinweis dazu noch: Man sollte die Ini für produktive Software NICHT im Pfad der .exe speichern, da das dazu führen wird, dass das Programm a) unter Vista oder b) auf eingeschränkten Benutzerkonten nicht läuft (wenn man es als Programm installiert).

Man sollte solche Dateien mit MSDN-Library durchsuchenSHGetSpecialFolderPath entweder unter Anwendungsdaten oder Eigene Dateien speichern.

Mokuba01 28. Okt 2007 16:24

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
danke, jetzt läufts

Luckie 28. Okt 2007 16:31

Re: Suche Möglichket um Abwehehsent-Tage herauszufinden
 
Dann will ich jetzt noch mal was für die Zukunft sagen: Das nächstemal, wähle bitte eien Titel, der aussagekräftig ist was mit dem Problem zu tun hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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