Results 1 to 3 of 3

Thread: fileage

  1. #1
    Senior Member
    Join Date
    Jan 2005
    Location
    Waspik
    Posts
    579

    fileage

    In Delphi werkt navolgende prima. Verschil is het aantal dagen tussen de pc datum en de exe datum. (In Delphi is de functie FileAgeUTF8 weg gewoon FileAge)

    Het resultaat in Lazarus is een groot getal. Dit in plaats van het verwachte nul omdat ik de exe net aanmaak).

    Code:
    procedure TMain_Frm_Basis.Button1Click(Sender: TObject);
    var
      Verschil : Integer;
      ExeDate  : TDateTime;
    begin
      ExeDate := FileAgeUTF8(Application.ExeName);
      verschil := DaysBetween(Now, ExeDate); 
    end;

  2. #2
    Volgens mij kun je de returnwaarde van FileAge niet gebruiken in datum berekeningen, die moet je eerst converteren (met FileDateToDateTime).
    Dat moest in Delphi ook al (zie http://docwiki.embarcadero.com/Libra...sUtils.FileAge).

    Bart

  3. #3
    Senior Member
    Join Date
    Jan 2005
    Location
    Waspik
    Posts
    579
    Bart, dat was het benodigde zetje in de juiste richting.

    Onderstaande werkt. Ik krijg hiermee het verschil in dagen.

    Code:
    procedure TMain_Frm_Basis.Button1Click(Sender: TObject);
    Var
      S : TDateTime;
      fa : Longint;
    Begin
      fa:=FileAge(Application.ExeName);
      If Fa<>-1 then
        begin
        S:=FileDateTodateTime(fa);
        Memo1.Lines.Add('datum exe : ' + DateTimeToStr(S));
        Memo1.Lines.Add('huidige datum : ' + DateTimeToStr(now));
        memo1.Lines.Add('verschil : ' + Inttostr(DaysBetween(Now,s)));
        end;
    end;

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •