Startseite ¦  was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews ¦  sonstiges
kylix ¦  tutorials ¦  online shop ¦  fotos ¦  Add&Win Gewinnspiel


Willkommen Gast. Bitte einloggen oder registrieren.
21.05.2012, 11:26:51
Übersicht Hilfe Suche Einloggen Registrieren

+  SwissDelphiCenter Forum
|-+  German Forums
| |-+  Internet / LAN Forum
| | |-+  ordner auf ftp server anzeigen lassen
« vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: ordner auf ftp server anzeigen lassen  (Gelesen 1777 mal)
Horst
Hero Member
*****
Offline Offline

Beiträge: 1664


« am: 12.03.2002, 00:59:59 »

[font  size=2 face="Courier New"][font color="#000000"]hallo
ich lasse mir mit einer combobox die verschiedenen ordner auf einem ftp - server
anzeigen, mit den ersten 3 verzeichnissen auf dem server funktioniert es noch,
wenn ich mir dann einen weiteren ordner anzeigen lassen will, bekomme ich folgende
fehlermeldung: "A List command is allready being processed"
wer weiß rat?


procedure TForm1.lesen;

  procedure anzeigen;
  var 
    
i: Word;
    s: String;
  begin
    for 
i := 0 to attrList.Count - 1 do 
    begin
      
s := attrList;                        [font color="#000080"]// Einzelattribut zuweisen
      
[/font]if s[1] <> 'd' then             [font color="#000080"]// wenn kein Verzeichnis dann ...
        
[/font]ListBox1.Items.Add(nameList)  [font color="#000080"]// Namen anzeigen
    
[/font]end
  end
;
begin
  
[font color="#000080"]// Stringlisten erzeugen:
  
[/font]attrList      := TStringList.Create;
  nameList      := TStringList.Create;
  Screen.Cursor := crHourGlass;
  try
    with 
Form1.NMFTP1 do 
    begin
      
ParseList := True;     [font color="#000080"]// Einlesen aktivieren
      
[/font]Vendor    := NMOS_AUTO;   [font color="#000080"]// Systemtyp
      
[/font]List;                  [font color="#000080"]// Verzeichnisinhalt in FTPDirectoryList einlesen
      // Einzelinformationen in Stringlisten speichern:
      
[/font]attrList := FTPDirectoryList.attribute;
      nameList := FTPDirectoryList.Name;
      anzeigen  [font color="#000080"]// Stringlisten auswerten und anzeigen
    
[/font]end
  finally
    
Screen.Cursor := crDefault
  end
end
;



procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  
Listbox1.Items.Clear;
  NMFTP1.ChangeDir(combobox1.Text);
  lesen
  [font color="#000080"]//ParseList := false;
[/font]end;
Gespeichert
Heiko Schulz
Newbie
*
Offline Offline

Beiträge: 1



« Antworten #1 am: 12.03.2002, 16:05:34 »

Hallo,

glück gehabt das die ersten versuchten verzeichnisse recht kurz waren :). der fehler tritt dann auf wen versucht wird ein verzeichniss zu listen während dies schon geschiet, also abwarten bis es fertig ist (erigniss onsuccess) :

[font  size=2 face="Courier New"][font color="#000000"]procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 
Screen.Cursor := crHourGlass;
 NMFTP1.ChangeDir(ComboBox1.Text); [font color="#000080"]// verzeichn iss wechseln
 
[/font]NMFTP1.List; [font color="#000080"]// und auflisten
[/font]end;

procedure TForm1.NMFTP1Success(Trans_Type: TCmdType);
begin
  if 
Trans_Type = cmdList then Auswerten; [font color="#000080"]// es hat funktioniert
[/font]end;

procedure TForm1.NMFTP1Failure(var Handled: Boolean; Trans_Type: TCmdType);
begin
 if 
Trans_Type = cmdList then
 begin
  
ShowMessage('Verzeichniss konnte nicht gelesen werden'); [font color="#000080"]// :(
  
[/font]Handled := TRUE; [font color="#000080"]// fehler wurde behandeklt
  
[/font]Screen.Cursor := crDefault;
 end;
end;

procedure TForm1.Auswerten();
var i : integer;
begin
  
ComboBox1.Clear; [font color="#000080"]// verzichnisliste löschen
  
[/font]ListBox1.Clear; [font color="#000080"]// fileliste löschen

  
[/font]with NMFTP1.FTPDirectoryList do
  begin
   for 
i:=0 to name.Count -1 do [font color="#000080"]// alle einträge auswerten
   
[/font]begin
     if 
attribute[1] = 'd' then ComboBox1.Items.Add(name) [font color="#000080"]// ist verzeichniss
      
[/font]else ListBox1.Items.Add(name); [font color="#000080"]// ist datei
   
[/font]end;
   ComboBox1.ItemIndex := 0; [font color="#000080"]// auf ersten verzeichnisseintrag setzten
  
[/font]end;
 Screen.Cursor := crDefault;
end;


gruss

Heiko Schulz
Gespeichert
Horst
Hero Member
*****
Offline Offline

Beiträge: 1664


« Antworten #2 am: 12.03.2002, 18:07:31 »

dankeschön, ich werde es ausprobieren... gruss horst
Gespeichert
Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS