Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FileAge ist veraltet - alternative (https://www.delphipraxis.net/112899-fileage-ist-veraltet-alternative.html)

cherry 29. Apr 2008 10:19


FileAge ist veraltet - alternative
 
:duck:

http://www.delphipraxis.net/search.p...906871&start=0 ...hat mir leder alles nicht weitergeholfen...

ich hab folgenden Code: (custom search für TStringList)
Delphi-Quellcode:
function CompareDate(List: TStringList; Index1, Index2: Integer): Integer;
var
  Val1, Val2: TDateTime;
begin
  val1 := FileDateToDateTime(FileAge(list[Index1]));
  val2 := FileDateToDateTime(FileAge(list[Index2]));
  Result := CompareDateTime(Val1, Val2);
end;
wie verwende ich jetzt die überladene version und was gebe ich als 2ten parameter mit?
oder soll ich das so lassen? funktioniert ja

[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]

gibb 29. Apr 2008 10:22

Re: FileAge ist veraltet (äuäää!)
 
tschuldige aber ich versteh deine frage net...

1: funktioniert der Link nicht und ich kann daher nicht nachvollziehen was du gesehen hast.
2: weiss ich net welche funktion überladen sein soll.. da sie nirgends gekenzeichnet ist...
daraus folgt. ich kann dir net helfen.

SirThornberry 29. Apr 2008 10:25

Re: FileAge ist veraltet (äuäää!)
 
versuche bitte deine Frage so zu formulieren das sie jemand versteht der nicht weiß worum es geht. Du bist der einzige der weiß was passieren soll aber was wirklich passiert. Wenn du Hilfe brauchst solltest du uns auch alle nötigen Informationen geben und die Frage entsprechend, mit allen Details, formulieren :)

HeikoAdams 29. Apr 2008 10:47

Re: FileAge ist veraltet (äuäää!)
 
Ich vermute, er meint http://www.delphipraxis.net/internal...t.php?t=112133 oder http://www.delphipraxis.net/internal...ct.php?t=70533

cherry 30. Apr 2008 06:25

Re: FileAge ist veraltet (äuäää!)
 
hehe :lol: sorry war grad n bisschen in einem anderen Film...
also HeikoAdams hat recht. Wenn ich meinen Code kompilliere erhalte ich die Warnung, dass die Funktion FileAge veraltet ist... nun hab ich im Forum "schon" herausgefunden, das es eine "neue" überladene Version von FileAge gibt...

meine Frage ist nun: Wie implementiere ich die neue Version in meine Funktion CompareDate...

dazu habe ich leider nirgens was gefunden... es wird ja jetzt ein weiterer Parameter TDateTime erwartet, was soll der jetzt bringen und was soll ich da für ein DateTime mitgeben?

himitsu 30. Apr 2008 20:40

Re: FileAge ist veraltet (äuäää!)
 
Zitat:

was soll der jetzt bringen und was soll ich da für ein DateTime mitgeben?
Der weitere Parameter ist das Ergebnis (das gewünschte Datum) ... was soll er also bringen? :angel2:

Delphi-Quellcode:
function CompareDate(List: TStringList; Index1, Index2: Integer): Integer;
var
  Val1, Val2: TDateTime;
begin
  if FileAge(list[Index1], val1)
    and FileAge(list[Index2], val2) then
  begin
    Result := CompareDateTime(Val1, Val2);
  end
  else
  begin
    // ideal wäre zwar ein Fehler-Wert, aber sowas
    // kennt wohl diese CompareDate-Funktion nicht
    Result := 0;
  end;
end;

// oder

function CompareDate(List: TStringList; Index1, Index2: Integer): Integer;
var
  Val1, Val2: TDateTime;
begin
  if FileAge(list[Index1], val1) and FileAge(list[Index2], val2) then
    Result := CompareDateTime(Val1, Val2);
  else
    Result := 0;
end;
Zitat:

meine Frage ist nun: Wie implementiere ich die neue Version in meine Funktion CompareDate...
einfach den zweiten Parameter angeben > Delphi entscheidet, bei überladenen Funktionen, anhand der übergebenen Parameter welche "Version" verwendet wird.

cherry 7. Mai 2008 15:46

Re: FileAge ist veraltet - alternative
 
supi, vielen Dank! :mrgreen:

himitsu 11. Jan 2011 10:09

AW: FileAge ist veraltet - alternative
 
Mal 'be Frage,

in Delphi XE nutze ich eigentlich das neue FileAge, aber dennoch erhalte ich diese Warnung. :gruebel:

Ist das nur bei mir so, oder stimmt da wirklich was nicht?

Delphi-Quellcode:
function TDataServerFileMethods.FileDate(Filename: String): TDateTime;
begin
  SysUtils.FileAge(RootDirectory + Filename, Result);
end;
Zitat:

[DCC Warnung] DataServer_Files.pas(51): W1000 Symbol 'FileAge' ist veraltet
Update 1 + Help Update 1 sind installiert

generic 11. Jan 2011 12:46

AW: FileAge ist veraltet - alternative
 
Wird nicht heute über FindFile gegangen oder über GetFileInformationByHandle ?

himitsu 11. Jan 2011 13:11

AW: FileAge ist veraltet - alternative
 
Delphi-Referenz durchsuchenFileAge geht intern über MSDN-Library durchsuchenGetFileAttributesEx und falls das nicht geht, dann alternativ über MSDN-Library durchsuchenFindFirstFile.

Aber dennoch gibt es zwei Versionen von Delphi-Referenz durchsuchenFileAge.
Die Alte ist als Delphi-Referenz durchsuchendeprecated deklariert und die Neue nicht.
Ich bekomm aber bei der Neuen dennoch diese Warnung.

Delphi-Quellcode:
function FileAge(const FileName: string): Integer; overload; deprecated;

function FileAge(const FileName: string; out FileDateTime: TDateTime;
  FollowLink: Boolean = True): Boolean; overload;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
Seite 1 von 2  1 2      

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