Avatar billede james_t_dk Juniormester
10. april 2001 - 12:10 Der er 8 kommentarer og
1 løsning

Sammenligne en fil dato med dags dato

Hej.

Jeg har meget lidt styr på Delphi.
Men jeg har brug for at få gjort et lille stykke kode operativt.

Koden skal gøre følgende:

Kontrollere at filen normal.ops er blevet redigeret i dag (altid den i pc\'en gældende dato), hvis dette ikke er sket skal der skrives en meddelelse om at normal programmet ikke er kørt.

Jeg forestiller mig at det er noget i stil med:

IF (fildato = pcdato)
Then
{
OK
}
Else
{
Meddelse på skærm
}

Egentligt skal jeg også bruge den til Turbo Pascal 7
Avatar billede borrisholt Novice
10. april 2001 - 12:18 #1
function FiledateCheck(Filename : String) : Boolean;
var
  SearchRec : TSearchRec;
begin
  FindFirst(Filename,FaAnyFile,SearchRec);
  Result :=  Trunc(FileDateToDateTime(SearchRec.Time)) = Trunc(now);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if FiledateCheck(\'Unit1.pas\') then
  begin
    ShowMessage(\'Filen er fra i dag\');
  end
  else
  begin
    ShowMessage(\'Filen er IKKE fra i dag\');
  end;
end;

Jens B
Avatar billede james_t_dk Juniormester
10. april 2001 - 12:50 #2
Det ser fint ud, hvordan gør jeg hvis jeg vil klippe det direkte ind i den eksisterende kode. Altså ikke have en procedure. Den skal implementeres midt i opstarten af et program.

Men ville det så se sådan ud?

  if FiledateCheck(\'c:\\test\\normal.ops\') then
  begin
    StartTest();
  end
  else
  begin
    ShowMessage(\'Filen er IKKE fra i dag\');
    AfbrydTest();
  end;

Ville dette virke, eller er der noget der skal initieres først.
Avatar billede borrisholt Novice
10. april 2001 - 12:51 #3
nej det skulle virke ....


Jens B
Avatar billede james_t_dk Juniormester
10. april 2001 - 18:30 #4
Betyder det at filedatecheck automatisk sammenligner med den aktuelle dato?
Avatar billede borrisholt Novice
10. april 2001 - 19:09 #5
yep.

Jens B
Avatar billede james_t_dk Juniormester
10. april 2001 - 20:08 #6
Prøver det lige i morgen!!
Avatar billede james_t_dk Juniormester
11. april 2001 - 09:33 #7
He he, der er vist noget jeg har misforstået..... Jeg troede at der var en funktion i Delphi der tillod dette, men jeg kan se nu at filedatecheck skal implementeres i koden. Dette har jeg lige lidt problemer med, så jeg vender nok tilbage efter påske.
Avatar billede borrisholt Novice
11. april 2001 - 09:36 #8
james_t_dk  >> Der er en lille memory leak i koden FiledateCheck skal se sådan her ud :

function FiledateCheck(Filename : String) : Boolean;
var
  SearchRec : TSearchRec;
begin
  FindFirst(Filename,FaAnyFile,SearchRec);
  Result :=  Trunc(FileDateToDateTime(SearchRec.Time)) = Trunc(now);
  FindClose(SearchRec);
end;

Avatar billede james_t_dk Juniormester
07. maj 2001 - 05:41 #9
Det virker efter hensigten, tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester