AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi FTPList beim Server und Client...?
Thema durchsuchen
Ansicht
Themen-Optionen

FTPList beim Server und Client...?

Ein Thema von Kruimel · begonnen am 23. Jul 2007 · letzter Beitrag vom 24. Jul 2007
Antwort Antwort
Kruimel

Registriert seit: 23. Jul 2007
2 Beiträge
 
Delphi 7 Personal
 
#1

FTPList beim Server und Client...?

  Alt 23. Jul 2007, 18:29
Hallo Leute,

Ich bin neu hier im Forum, habs aber schon sehr oft gebraucht um Probleme zu lösen. Ihr bietet hier wirklich Super Hilfe wies mir scheint!

Nun zu meinem Problem:
Ich versuche gerade mit den Indy 10 Komponenten IdFTPServer und IdFTP einen funktionierenden FTP-Server und FTP-Client zu basteln. Das ganze soll später übers eigene Netzwerk zwischen 2 PCs laufen. Also nicht direkt übers Internet. An sich läuft der Server. Da bin ich schonmal ganz zufrieden mit. Deswegen hab ich mich ans Programmieren des Clients gemacht. Login, Directroy-Change und Upload funktioniert auch einwandfrei. Jetzt möchte ich aber noch irgendwie die Ordner im Verzeichnis auf dem Server in einer ListBox haben, und in einer zweiten ListBox die Dateien dieses Verzeichnisses. Dazu dachte ich, ich mach das mit
IdFTP1.List(ListBox1.Items,'',false); Da kommen aber Ordner und alle Dateien. Also, gesucht in Google & Co, und gefunden dass man im 2. Parameter z.b. '*' setzen soll um nur Ordner zu bekommen. Leider gibt er dann bei mir gar nichts mehr zurück. Was ich jedoch ausgefunden habe, ist, dass wenn ich diesen Parameter im Quellcode des Servers setze, das schon funktioniert... Hier die beiden Quellcodes:
Server:
Delphi-Quellcode:
procedure TForm1.IdFTPServer1ListDirectory(ASender: TIdFTPServerContext;
  const APath: String; ADirectoryListing: TIdFTPListOutput; const ACmd,
  ASwitches: String);
var
  LFTPItem :TIdFTPListItem;
  SR : TSearchRec;
  SRI : Integer;

begin
  Memo1.Lines.Add('Client lists Directory: '+APath);
  ADirectoryListing.DirFormat := doUnix;
  SRI := FindFirst(HomeDir + APath + '*.*',faAnyFile - faHidden - faSysFile, SR);
  While SRI = 0 do
  begin
    LFTPItem := ADirectoryListing.Add;
    LFTPItem.FileName := SR.Name;
    LFTPItem.Size := SR.Size;
    LFTPItem.ModifiedDate := FileDateToDateTime(SR.Time);
    if SR.Attr = faDirectory then
      LFTPItem.ItemType:= ditDirectory
    else
     LFTPItem.ItemType:=ditFile;
    SRI := FindNext(SR);
  end;
  FindClose(SR);
  SetCurrentDir(HomeDir + APath + '..');
end;
Im Client:
Delphi-Quellcode:
procedure TForm1.ListAll;
var
  DirList: TIdFTPListItems;
  i: integer;

begin
  IdFTP1.List(ListBox1.Items,'*.ini',false);
  DirList:=IdFTP1.DirectoryListing;

  ListBox2.Items.Add(IntToStr(DirList.Count-1));

  for i:=0 to (DirList.Count-1) do
  begin
    ListBox2.Items.Add(DirList.Items[i].FileName);
    ListBox2.Items.Add(IntToStr(i));
  end;

  Memo1.Lines.Add('Listed dir: '+IdFTP1.RetrieveCurrentDir);
end;
Vielleicht wisst ihr ja was ich da falsch gemacht habe(?). Ich hab nichts gefunden, auch die Suchfunktion des Forums hat mir bisher nichts geholfen.
Als zweites hab ich dann noch IdFTP1.DirectoryListing versucht wie ihr oben seht. Da kommt aber nichts rein... Der Wert in RirList.Count bleibt 0.
Nun hab ich dazu im Forum gefunden dass das behoben werden kann indem man IdAllFTPListParsers in die uses einbindet. Das hat mir bisher aber auch nichts geholfen.

Ich hoffe ihr könnt mir helfen!
Schonmal vielen Dank!

Gruss
Kruimel
  Mit Zitat antworten Zitat
Kruimel

Registriert seit: 23. Jul 2007
2 Beiträge
 
Delphi 7 Personal
 
#2

Re: FTPList beim Server und Client...?

  Alt 24. Jul 2007, 16:00
Hallo Leute,

Mein Problem hat sich doch noch gelöst. Irgendwo hier im Forum hab ich noch etwas gefunden und ausprobiert. Das war die einstellung USEMLis... Das auf true geschaltet und es funktioniert. Die Aufteilung von Odnern und Dateien klappt jetzt auch per ItemType...

Gruss
Kruimel
  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 19:16 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