Seite 1 von 1

Programme auflisten, es geht nur eins im Editfenster...

Verfasst: 22.05.2011 22:28
von funkheld
Hallo, in der "Procedure auflisten" wird beim durchlauf immer nur 1 Datei aufgelistet.
Beim "Debug FTPDirectoryEntryName(0)" werden alle 30 Dateien aufgelistet.

Woran liegt das?

gruss

Code: Alles auswählen

Global text_e.s,text_s.s,byte.c
  
  Enumeration
    #Window_0
    #Button_0
    #Button_1
    #Button_2
    #String_0
    #Editor_0
    #Font_0
  EndEnumeration
  
  Declare auflisten()
  
  InitNetwork()
      
  OpenWindow(#Window_0, 400, 150, 620,500, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
  SetCurrentDirectory("d:/ZornsLemma/Synopdateien") 
  
  ButtonGadget(#Button_0, 10,10, 80, 25, "")
  ButtonGadget(#Button_1, 10,40, 80, 25, "auflisten")
  ButtonGadget(#Button_2, 10,70, 80, 25, "Cls")
  StringGadget(#String_0, 100, 10, 150, 22, "")
  EditorGadget(#Editor_0, 10, 110, 300,300)
  
  LoadFont(#Font_0, "Lucida Console", 9)
  SetGadgetFont(#Editor_0, FontID(#Font_0)) 
 
  Repeat
  Event = WaitWindowEvent(1)    
  
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      
      If EventGadget = #Button_0 
        
      EndIf
      
      If EventGadget = #Button_1 
        If OpenFTP(0, "ftp-outgoing2.dwd.de", "gds36967", "IwEEwPNN")
          SetFTPDirectory(0, "gds")
          SetFTPDirectory(0, "OBS")
          SetFTPDirectory(0, "SYN")
          auflisten()
          Else
          SetGadgetText(#Editor_0,"geht nicht")
        EndIf  
      EndIf
      
      If EventGadget = #Button_2 
        text_e=""
        SetGadgetText(#Editor_0, text_e)
      EndIf
      
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
  
ForEver

Procedure auflisten()
  If ExamineFTPDirectory(0)
    If ExamineFTPDirectory(0)
      While NextFTPDirectoryEntry(0)
        SetGadgetText(#Editor_0,FTPDirectoryEntryName(0))
        Debug FTPDirectoryEntryName(0)
      Wend
    EndIf
  EndIf
EndProcedure

Re: Programme auflisten, es geht nur eins im Editfenster...

Verfasst: 22.05.2011 22:35
von RSBasic
Falsche Anwendung eines Befehls.
Du kannst nicht jedesmal mit SetGadgetText() arbeiten, weil dieser Befehl immer den vollständigen Inhalt ändert und nicht weitere Sachen hinzufügt.
Verwende stattdessen folgendes:

Code: Alles auswählen

AddGadgetItem(#Editor_0,-1,FTPDirectoryEntryName(0))
Oder du erstellst einen String und fügst die Dateien immer mit Chr(13) hinzu (String.s + FTPDirectoryEntryName(0) + Chr(13)). Anschließend dann einmal mit SetGadgetText() den Inhalt setzen.

Re: Programme auflisten, es geht nur eins im Editfenster...

Verfasst: 22.05.2011 22:55
von funkheld
Jup, danke.

gruss