Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14
  1. #11
    Forenclown Avatar von cl9wn
    Registriert seit
    27.07.2008
    Beiträge
    599

    Standard

    Wow, danke. Das hat echt geholfen. Naja, ich kann leider nioch nicht so gut programmieren und verstehe nich Code nicht komplett aber ich hab hn jetzt erstmal eingebaut und es funktioniert wunderbar. Eine Frage hätte ich allerdings noch... Ich bekomme immer eine Zahl ausgegeben neben dem Dateinamen. Ich nehme mal an, das ist das Datum. Allerdings kann ich aus 2820 kein Datum lesen. Zumindest nicht den 08.08.2009, so wie es bei mir sein müsste. Was hat es damit auf sich?

    // Btw: Ich hab grad probiert in deinen Code einzubauen, dass beim Aufruf der Funktion ne ShowMessage kommt, falls auf dem FTP keine dateien liegen, klappt aber irgendwie nicht... Kannste mir da auch nochma unter die Arme greifen? Hab jetzt:

    Code:
    if GetFTPFileList(editFTPHost.Text, editFTPUsername.Text, editFTPPassword.Text, editFTPDir.Text, A) then
        for I := Low(A) to High(A) do
          ShowMessage(A[I].FileName + ' ' + IntToStr(A[I].FileSize))
      else
          ShowMessage('Leer...');
    Geändert von cl9wn (08.08.2009 um 09:33 Uhr)

  2. #12
    Sobig Wurm Avatar von BlackHook
    Registriert seit
    13.03.2009
    Beiträge
    219

    Standard

    Das ist die Grösse der Datei.
    ShowMessage(A[I].FileName + ' ' + IntToStr(A[I].FileSize));

    Mach das hier weg: + ' ' + IntToStr(A[I].FileSize) danach ist alles Ok.


    Dein eigener Code sollte eigentlich auch gehen.
    Hier ein Ausschnitt von mir

    IdFTP1.Disconnect; //Verbindung schliessen falls verbunden.
    .
    .
    .

    IdFTP1.Host := Edit1.Text; // HOST bestimmen
    IdFTP1.Port :=StrToInt(Edit5.Text); //Edit5.Text; //Port auslesen.
    IdFtp1.Username := Edit2.Text; // USER bestimmeb
    IdFTP1.Password := Edit3.Text; // PASSWORT bestimmen
    .
    .
    .
    IdFTP1.Connect;
    IdFTP1.ChangeDir(Edit4.Text); // Hier bestimme ich das Verzeichnis aus der ini Datei
    IdFTP1.List (ListBoxFtpInhalt.Items,'',false); //FTP VERZEICHNIS AUFLISTEN
    ListBoxFtpInhalt.Items.SaveToFile('FTPDateien.txt' ); //Inhalt der tListBox in Datei schreiben
    .
    .
    .

    IdFTP1.Disconnect; //Verbindung schliessen
    Das funktioniert auch.
    Geändert von BlackHook (08.08.2009 um 09:22 Uhr)

  3. #13
    Forenclown Avatar von cl9wn
    Registriert seit
    27.07.2008
    Beiträge
    599

    Standard

    Zitat Zitat von BlackHook Beitrag anzeigen
    Das funktioniert auch.
    Wenn ich das so mache, bekomme ich einen Error, wenn ich auf den Button klicke:

    Invalid number of arguments

  4. #14

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Zitat Zitat von cl9wn Beitrag anzeigen
    Ich hab grad probiert in deinen Code einzubauen, dass beim Aufruf der Funktion ne ShowMessage kommt, falls auf dem FTP keine dateien liegen, klappt aber irgendwie nicht... Kannste mir da auch nochma unter die Arme greifen?
    Die zweite Angabe war in der Tat die Dateigröße. Hier hast du ein Beispiel mit sämtlichen Angaben einschließlich Datum.
    Code:
    function FileTimeToStr(const AFileTime: TFileTime): string;
    var
      SystemTime: TSystemTime;
    begin
      Result := '';
      if FileTimeToSystemTime(AFileTime, SystemTime) then
        Result := DateTimeToStr(SystemTimeToDateTime(SystemTime));
    end;
    
    var
      I: Integer;
      A: TFTPFiles;
    begin
      if GetFTPFileList('ftp.microsoft.com', 'anonymous', 'somepass', 'bussys', A) then
      begin
        if Length(A) = 0 then
          ShowMessage('Keine Datei(en) gefunden.')
        else
          for I := Low(A) to High(A) do with A[I] do
            ShowMessageFmt('Dateiname: %s%sDateigröße: %u bytes%sErstelldatum: ' +
              '%s%sLetzter Zugriff am: %s%sÄnderungsdatum: %s%sAttribute: %u',
                [FileName, sLineBreak, FileSize, sLineBreak,
                  FileTimeToStr(CreationTime), sLineBreak,
                    FileTimeToStr(LastAccessTime), sLineBreak,
                      FileTimeToStr(LastWriteTime), sLineBreak, Attributes]);
      end
      else
        ShowMessage('FTP-Verbindung fehlgeschlagen.');
    end;
    (Nicht wundern, wenn eines der Daten (?) komisch erscheint (z.B.: 01.01.1961), das heißt einfach, dass es diese Datumsangabe auf dem FTP nicht gibt.)

Seite 2 von 2 ErsteErste 12

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •