| Autor |
Beitrag |
Niko S.
      
Beiträge: 566
Erhaltene Danke: 10
Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
|
Verfasst: Mo 05.03.07 15:24
Hallo,
Ich suche eine Möglichkeit einer beliebigen Datei einen bestimmten 'Tag' zuzuweisen.
Ich möchte nämlich Daten die auf einen Server leigen mit localen Dateien vergleichen ohne die Datei zu downloaden um den Inhalt zu vergleichen.
Hat jemand eine gute Lösung fuer mein Problem?
M.f.G.
Simak
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mo 05.03.07 15:51
Da wäre zunächst zu klären, welchen Dateien Du einen Tag zuweisen möchtest. Die auf Deinem Rechner oder die, die zum Download bereit stehen?
Für die lokalen Dateien gibt es eine Funktion, bin mir aber im Moment nicht sicher, wie die heißt. Schau doch mal unter FileAttr o.ä. nach. Vielleicht gibts auch in der Hilfe weitere Verweise.
Für die Dateien auf dem Server, musst Du vermutlich die Indy-Komponenten bemühen. Aber da fehlt mir die Erfahrung.
|
|
IngoD7
      
Beiträge: 629
D7
|
Verfasst: Mo 05.03.07 16:09
jasocul hat folgendes geschrieben: | Da wäre zunächst zu klären, welchen Dateien Du einen Tag zuweisen möchtest. Die auf Deinem Rechner oder die, die zum Download bereit stehen?
Für die lokalen Dateien gibt es eine Funktion, bin mir aber im Moment nicht sicher, wie die heißt. |
--> FileSetDate
|
|
Niko S. 
      
Beiträge: 566
Erhaltene Danke: 10
Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
|
Verfasst: Mo 05.03.07 19:06
Der Zeitstempel der dadurch gesetzt wird, wird beim herunterladen verändert oder irre ich mich?
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Mo 05.03.07 19:11
Simak hat folgendes geschrieben: | | Der Zeitstempel der dadurch gesetzt wird, wird beim herunterladen verändert oder irre ich mich? |
Warum sollte er?
|
|
Niko S. 
      
Beiträge: 566
Erhaltene Danke: 10
Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
|
Verfasst: Mo 05.03.07 19:20
Naja ich hatte schonmal das FileAge ausgelesen. Die datei hochgeladen und mit IdHTTP gedownlaodet.
Danach weider FileAge geschaut und er war anders.
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Mo 05.03.07 19:25
Simak hat folgendes geschrieben: | | Naja ich hatte schonmal das FileAge ausgelesen. Die datei hochgeladen und mit IdHTTP gedownlaodet. |
Richtig, das Datum wird wohl auf das Erstelldatum der Datei auf dem Server gesetzt, Jetzt gäbe es natürlich die Möglichkeit, das Datum der Datei auf dem Server danach zu setzen und das umgekehrte beim herunterladen zu tun.
Abgesehen davon, eignet sich allerdings der Vergleich von Datum (und Dateigröße) nicht besonders gut um Dateiinhalte zu vergleichen. Dafür gibt es HASH, aber dafür musst du entweder ein passendes Protokoll nutzen um diese direkt vom Server zu erfahren _oder_ die Datei doch herunterladen.
Ich vermute du meinst Server über FTP, dann geht das imho nicht.
Viele Grüße,
Hape
|
|
Niko S. 
      
Beiträge: 566
Erhaltene Danke: 10
Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
|
Verfasst: Mo 05.03.07 19:34
Wie werden denn die HASHES ermittelt?
Durch den Dateiinhalt?
Könnte man nicht auch dateien in eine StringList einlesen und die Zeilenanzahl ermitteln und das als vergleich nehmen?
|
|
wulfskin
      
Beiträge: 1349
Erhaltene Danke: 1
Win XP
D5 Pers (SSL), D2005 Pro, C, C#
|
Verfasst: Mo 05.03.07 19:38
Simak hat folgendes geschrieben: | Wie werden denn die HASHES ermittelt?
Durch den Dateiinhalt?
Könnte man nicht auch dateien in eine StringList einlesen und die Zeilenanzahl ermitteln und das als vergleich nehmen? |
1) Ja...
2) Ich hab sicherlich zwei Ordner mit der selben Anzahl an Dateien, dann lieber ersterer Vergleich (Name, Größe).
Am sinnvollsten sind immer noch Hashes und da findest du genügend viele, wenn du die Suche bemühst! Welchen Zweck verfolgst du eigentlich? Aktualisieren?
Viele Grüße,
Hape
|
|