AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Dateidatum mit IDFTP ausgeben?
Thema durchsuchen
Ansicht
Themen-Optionen

Dateidatum mit IDFTP ausgeben?

Ein Thema von jeppes · begonnen am 8. Mär 2005 · letzter Beitrag vom 18. Okt 2006
Antwort Antwort
jeppes

Registriert seit: 8. Mär 2005
1 Beiträge
 
#1

Dateidatum mit IDFTP ausgeben?

  Alt 8. Mär 2005, 15:28
Ich möchte das Datum einer Datei per IDFTP (Indies 10) anzeigen, kriege aber immer diese Fehlermeldung:

"Im Projekt ist eine Exception der Klasse EListError aufgetreten. Meldung: 'Listenindex überschreitet das Maximum (0)'. ..."

Was stimmt nicht?

Code:
procedure TForm1.Button29Click(Sender: TObject);
Var
  LS: TStringList;
  datum1: TDateTime;
begin
  LS := TStringList.Create;
  try
     IdFTP1.username := username1;
     IdFTP1.Password := password1;
     IdFTP1.Host := hostname1;
     IdFTP1.Connect;
     if IdFTP1.Connected then
     begin
        IdFTP1.ChangeDir('/abc');
        IdFTP1.List(LS,'index.htm', True);
        datum1 := idFTP1.DirectoryListing.Items[0].ModifiedDate;  <<< Fehler
        ShowMessage(DateTimeToStr(datum1));
        IdFTP1.Quit;
     end;
  except
     ShowMessage('Leider fehlgeschlagen.');
  end;
end;
Ich habe mir dann mal die fraglichen Werte mit showmessage im Einzelnen so ausgeben lassen:

Code:
IdFTP1.List(LS,'index.htm', True);
        ShowMessage('LS.strings[0]: ' + LS.Strings[0]);
            >>>Ausgabe: '9660 Feb 10 13:03 index.htm'
        showmessage('IdFTP1.DirectoryListing.count: '+ IntToStr(IdFTP1.DirectoryListing.count));
            >>>Ausgabe: '0'
datum1 := IdFTP1.DirectoryListing.Items[0].ModifiedDate;
        ShowMessage('Datum: ' + DateTimeToStr(datum1));
            >>>Ausgabe: 'Im Projekt ist eine Exception der Klasse EListError aufgetreten. Meldung: "Listenindex überschreitet das Maximum (0)". ...'
Wie kann es nun aber sein, dass zwar LS.strings[0] einen String liefert, IdFTP1.DirectoryListing.Items[0] aber anscheinend leer ist?

Wer weiß Rat?

Jeppes
  Mit Zitat antworten Zitat
Prosac

Registriert seit: 12. Mär 2005
3 Beiträge
 
#2

Re: Dateidatum mit IDFTP ausgeben?

  Alt 12. Mär 2005, 11:15
Hi,
ich habe genau das selbe Problem, bin schon total verzweifelt.

Ich hatte mit Delphi 7 und Indy 9 ein kleines FTP-Programm geschrieben. Das funzte auch wunderbar mit dem DirectoryListing. Jetzt habe ich Delphi 2005 mit Indy 10 und das Programm funzt nicht mehr, genau wie bei jeppes. Im DirectoryListing steht nach dem List-Befehl nichts mehr drin!

Bitte helft uns!

Gruß Prosac
  Mit Zitat antworten Zitat
Prosac

Registriert seit: 12. Mär 2005
3 Beiträge
 
#3

Re: Dateidatum mit IDFTP ausgeben?

  Alt 15. Mär 2005, 16:06
Hat Niemand ne Idee?
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Dateidatum mit IDFTP ausgeben?

  Alt 18. Okt 2006, 12:24
doch ich hab ne idee (ein jahr später ;-))

DirectoryListing ist leer weil du keinen parser für das directory-format hast.
binde mal folgende units mit ein (in der uses klausel):
Code:
IdFTPListParseAS400
IdFTPListParseBase
IdFTPListParseBullGCOS7
IdFTPListParseBullGCOS8
IdFTPListParseCiscoIOS
IdFTPListParseDistinctTCPIP
IdFTPListParseEPLF
IdFTPListParseHellSoft
IdFTPListParseKA9Q
IdFTPListParseMicrowareOS9
IdFTPListParseMPEiX
IdFTPListParseMusic
IdFTPListParseMVS
IdFTPListParseNCSAForDOS
IdFTPListParseNovellNetware
IdFTPListParseNovellNetwarePSU
IdFTPListParseOS2
IdFTPListParseStercomOS390Exp
IdFTPListParseStercomUnixEnt
IdFTPListParseTandemGuardian
IdFTPListParseTOPS20
IdFTPListParseTSXPlus
IdFTPListParseUnix
IdFTPListParseVM
IdFTPListParseVMS
IdFTPListParseVSE
IdFTPListParseVxWorks
IdFTPListParseWfFTP
IdFTPListParseWindowsNT
IdFTPListParseWinQVTNET
IdFTPListParseXecomMicroRTOS
damit registieren sich alle verfügbaren parser.
bei meinem projekten ist meist nur der IdFTPListParseUnix und IdFTPListParseWindowsNT notwendig.

Delphi-Quellcode:
  memo1.Clear;
  idFTP1.List;
  for i:=0 to idFTP1.DirectoryListing.Count-1 do
    with idFTP1.DirectoryListing.Items[i] do
      memo1.lines.add( formatdatetime('dd.mm.yyyy hh:nn:ss', ModifiedDate)+' '+FileName+' '+inttostr(Size) );

welches format du brauchst findest du in IdFTP1.SystemDesc raus.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  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 09:06 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