Entwickler-Ecke
Internet / Netzwerk - IdFTP liefert falsches Änderungsdatum eienr Datei zurück
T.E. - Di 21.09.10 16:32
Titel: IdFTP liefert falsches Änderungsdatum eienr Datei zurück
Moin moin,
ich speichere mir die Dateilisten von zwei Servern in eine Stringlist und gebe den Inhalt dann formatiert wieder aus. Problem ist nun aber, dass das Änderungsdatum anschließend nicht mehr stimmt, dann sollen nämlich alle Dateien vom 30.12.1899 00:00:00 sein.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| [...] FTPSrv.list(filelist,'*.mxf',True); for i := 0 to FTPSrv.DirectoryListing.Count - 1 do with FTPSrv.DirectoryListing.Items[i] do FileListBox.AddItem(formatdatetime('dd.mm.yyyy hh:nn:ss', modifiedDate) + ' - ' + Filename, filelist); [...] |
Kann mir jemand sagen woran das liegt? Weil wenn ich das Verzeichnis normal mit List abrufe ist das Datum korrekt.
Georg08 - Di 21.09.10 18:16
[Wo weißt du modifiedDate denn einen Wert zu?]
Sorry habe with ... do übersehen. Ich nehme mal an, dass Items[I] die Option modifiedDate hat :oops:
T.E. - Di 21.09.10 18:55
Ich wollte gerade fragen, ob das nicht durch FTPSrv.DirectoryListing bereits mit geladen wird und dann nur noch entsprechend formatiert werden muss...
:)
Georg08 - Di 21.09.10 19:04
Ich weiß zwar nicht woher es kommt, aber ch glaub dir jetzt einfachmal, dass es gesetzt ist...
Gib es doch mal Testweise in ein Label auf oder ein ShowMessage()
T.E. - Mi 22.09.10 07:54
ich habe jetzt einfach mal direkt das Datum und die Uhrzeit in einem ShowMessage anzeigen lasse und erhalte das gleiche Datum:
Delphi-Quelltext
1:
| ShowMessage(DateTimeToStr(FTPSrv.DirectoryListing.Items[i].ModifiedDate)); |
PS: Angenommen ich weise ModifiedDate wirklich nichts zu - weil ich hab es nirgendwo deklariert - dann müsste der Compiler doch schon eigtl meckern... oder?
Edit: Ich habe auch die IdAllFTPListParsers in der Uses drin... :S
Edit 2: ich habe das Problem nun gelöst. Allerdings etwas anders:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| var i: integer; s_filename, s_modifieddate, s_size: string; L: TIdFTPListItems; begin Filelistbox.Clear; filelist := TStringlist.Create; try FTPSrv.List(filelist,'*.mxf',True); L := FTPSrv.DirectoryListing; finally for i := 0 to L.Count - 1 do with L.Items[i] do begin s_filename := FileName; s_modifieddate := DatetoStr(ModifiedDate); s_size := IntToStr(Size); Filelistbox.AddItem(s_modifieddate + ' ' + s_filename + ' ' + s_size, L); end; end; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!