AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Textdatei, wie Erstellt am und Name der Datei auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei, wie Erstellt am und Name der Datei auslesen

Ein Thema von M4dl355 · begonnen am 16. Nov 2004 · letzter Beitrag vom 16. Nov 2004
Antwort Antwort
M4dl355

Registriert seit: 6. Nov 2004
18 Beiträge
 
#1

Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 21:30
So mein Problem ist das ich eine Textdatei habe und mein Programm soll die Daten wie Erstellt am und den namen der Datei auslesen. Und das soll möglichst einfach sein ohne viel schnick schanck einfach nur die functionen kennt die einer von euch???
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 21:32
Hi M4d1355,

Zitat von M4dl355:
...mein Programm soll die Daten wie Erstellt am und den namen der Datei auslesen.
Hä? Willst du mir sagen wie du überhaupt an die Datei rankommen willst wenn du den Dateinamen nicht kennst?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
M4dl355

Registriert seit: 6. Nov 2004
18 Beiträge
 
#3

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 21:33
ne das weiss ich ja, aber ich will wenn ich den Dateinamen habe auslesen wann diese Datei erstelt wurde.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 21:38
Hi!

Wir haben auch ein Suchfunktion
http://www.delphipraxis.net/internal...ht=datei+datum


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
M4dl355

Registriert seit: 6. Nov 2004
18 Beiträge
 
#5

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 21:55
damit komme ich nicht zurecht ich wollte ja nur eine einfache kurz Version haben habe versucht das für mich umzubauen hat abe rnicht geklappt
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 22:02
Hi M4d1355,

lies mal das hier. Falls du Probleme hast, den Code zu verwenden, poste eine Antwort in dem Thread.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 22:03
Hi!

Wüsste nicht, was da allzu kompliziert ist:
http://www.delphipraxis.net/internal...ht=getfiletime

Aber poste doch dein konkretes Problem.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Tommy111
Tommy111

Registriert seit: 2. Nov 2004
Ort: Kirchberg
35 Beiträge
 
Delphi 6 Professional
 
#8

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 22:06
Zunächst eine Funktion, die die drei Datumswerte (Erstellungsdatum, Datum der letzten Änderung und Datum des letzten Zugriffs) zurückgibt. Die Funktion gibt false zurück, wenn sie nicht erfolgreich war.
Delphi-Quellcode:
function GetFileDate(const FileName: string; out Creation, LastAccess,
  LastWrite: TDateTime): Boolean;
var
  hFile: THandle;
  ftCreationUTC, ftLastAccessUTC, ftLastWriteUTC: TFileTime;
  ftCreationLocal, ftLastAccessLocal, ftLastWriteLocal: TFileTime;
  stCreationLocal, stLastAccessLocal, stLastWriteLocal: TSystemTime;
begin
  result:=false;
  hFile := CreateFile(PChar(FileName), GENERIC_READ, 0, nil,
  OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then begin
    try
      //Ermittlung des Dateidatums in UTC (Weltzeit)
      if GetFileTime(hFile, @ftCreationUTC, @ftLastAccessUTC, @ftLastWriteUTC) then begin
        //Umrechnung in Ortszeit
        if FileTimeToLocalFileTime(ftCreationUTC, ftCreationLocal)
        and FileTimeToLocalFileTime(ftLastAccessUTC, ftLastAccessLocal)
        and FileTimeToLocalFileTime(ftLastWriteUTC, ftLastWriteLocal) then begin
          //Umwandlung in Systemdatumformat
          if FileTimeToSystemTime(ftCreationLocal, stCreationLocal)
          and FileTimeToSystemTime(ftLastAccessLocal, stLastAccessLocal)
          and FileTimeToSystemTime(ftLastWriteLocal, stLastWriteLocal) then begin
            //Zuweisung der Rückgabewerte
            Creation := SystemTimeToDateTime(stCreationLocal);
            LastAccess := SystemTimeToDateTime(stLastAccessLocal);
            LastWrite := SystemTimeToDateTime(stLastWriteLocal);
            result:=true;
          end;
        end;
      end;
    finally
      CloseHandle(hFile);
    end;
  end;
end;
Aufrufbeispiel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var erstellung, zugriff, schreibzugriff: TDateTime;
begin
  GetFileDate('c:\temp\test.bmp', erzeugung, zugriff, schreibzugriff);
  ShowMessage('Erstellung: '+DateTimeToStr(erstellung)+#13#10+'Letzter Zugriff: '+
  DateTimeToStr(zugriff)+#13#10+'Letzter Schreibzugriff: '+DateTimeToStr(schreibzugriff));
end;
In folgender Prozedur wird dargestellt, wie diese drei Daten eines Ordners oder einer Datei auch geändert werden können.
Delphi-Quellcode:
function ChangeFileDate(const path: string; const Creation, LastAccess,
  LastWrite: TDateTime): Boolean;
var
  hFile: THandle;
  ftCreationUTC, ftLastAccessUTC, ftLastWriteUTC: TFileTime;
  ftCreationLocal, ftLastAccessLocal, ftLastWriteLocal: TFileTime;
  stCreationLocal, stLastAccessLocal, stLastWriteLocal: TSystemTime;
begin
  result := false;
  hFile := CreateFile(PChar(path), GENERIC_READ or GENERIC_WRITE, 0, nil,
  OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then
    try
      //Umwandlung von TDateTime in Systemzeitformat
      DateTimeToSystemTime(Creation, stCreationLocal);
      DateTimeToSystemTime(LastAccess, stLastAccessLocal);
      DateTimeToSystemTime(LastWrite, stLastWriteLocal);
      //Umwandlung von Systemzeitformat in lokales Dateizeitformat
      if (SystemTimeToFileTime(stCreationLocal, ftCreationLocal)) and
      (SystemTimeToFileTime(stLastAccessLocal, ftLastAccessLocal)) and
      (SystemTimeToFileTime(stLastWriteLocal, ftLastWriteLocal)) then begin
        //Umwandlung von lokalem Dateizeitformat in Weltzeit
        if (LocalFileTimeToFileTime(ftCreationLocal, ftCreationUTC)) and
        (LocalFileTimeToFileTime(ftLastAccessLocal, ftLastAccessUTC)) and
        (LocalFileTimeToFileTime(ftLastWriteLocal, ftLastWriteUTC)) then begin
          result:=SetFileTime(hFile, @ftCreationUTC, @ftLastAccessUTC, @ftLastWriteUTC);
        end;
      end;
    finally
      CloseHandle(hFile);
    end;
end;
Hoffe ich konnt dir en bißchen weiterhelfen!?
Programmieren macht Spaß..., jedoch nur wenn man das Wirrwar an Befehlen und Funktionen verstanden hat...!!
  Mit Zitat antworten Zitat
Benutzerbild von Tommy111
Tommy111

Registriert seit: 2. Nov 2004
Ort: Kirchberg
35 Beiträge
 
Delphi 6 Professional
 
#9

Re: Textdatei, wie Erstellt am und Name der Datei auslesen

  Alt 16. Nov 2004, 22:23
Ach so, um den Dateinamen, die -endung und den -pfad einer Datei herausfinden stellt Delphi für die grundsätzlichen Informationen eigene Funktionen bereit:
Code:
var pfad, name, ext, neuerName: string;
...
  pfad := ExtractFilePath(Application.ExeName); // der Pfad
  name := ExtractFileName(Application.ExeName); // der Name
  ext := ExtractFileExt(Application.ExeName); // die Dateierweiterung

  // Um im String die Dateierweiterung zu ändern, benutzt man folgende Funktion:
  neuerName := ChangeFileExt(Application.ExeName, '.tmp');
Wenn man die Elemente Laufwerk, Verzeichnisse und Dateinamen benötigt, kann auch ProcessPath weiterhelfen.
Programmieren macht Spaß..., jedoch nur wenn man das Wirrwar an Befehlen und Funktionen verstanden hat...!!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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