Thema: Delphi IdFTP: Alles auflisten

Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#14

Re: IdFTP: Alles auflisten

  Alt 30. Apr 2009, 18:52
Lass IdFTP die Arbeit machen

Hier mal ein Ausschnitt aus meiner FTPBrowser-Unit:
Delphi-Quellcode:
procedure TFtpBrowser.CreateDirectoryListing;
var
  i: Integer;
begin
  Working := True;

  if FFtp.Connected then
  begin
    FFtp.SendCmd('TYPE A');

    FFtp.List (nil, '-a', True);

    for i := 0 to Pred (FFtp.ListResult.Count) do
      CreateItemFromFileInfo (GetFileInfo(i));
  end;
  Working := False;
end;

procedure TFtpBrowser.CreateItemFromFileInfo(const FileInfo: TFileInfo);
var
  ListItem: TListItem;
begin
  if FileInfo.Filename <> '.then
  begin
    ListItem := FFiles.Items.Add;

    if FileInfo.FileType = 'Ordnerthen
      if Fileinfo.Filename <> '..then
        ListItem.ImageIndex := 0
      else
        ListItem.ImageIndex := 1
    else
      ListItem.ImageIndex := 2;

    ListItem.Caption := FileInfo.Filename;

    if FileInfo.Size > 1000000 then
      ListItem.SubItems.Add(IntToStr (FileInfo.Size DIV 1000000) + ' MB')
    else if FileInfo.Size > 1000 then
      ListItem.SubItems.Add(IntToStr (FileInfo.Size DIV 1000) + ' KB')
    else if FileInfo.Size > 0 then
      ListItem.SubItems.Add(IntToStr (FileInfo.Size) + ' Byte')
    else
      ListItem.SubItems.Add('n/a');

    ListItem.SubItems.Add(FileInfo.FileType);
    ListItem.SubItems.Add(FileInfo.Date);
  end;
end;
  Mit Zitat antworten Zitat