|  | 
|   | 
 | 
  | ICh möchte einen FTP Manager programmieren. Nun stehe ich vor dem Problem Eine Übersicht der Datein vom FTP Server in dem Stil vom @loadfile$ Dialog zuerstellen. Kann mir jemand helfen? |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | Hilft Dir der Quelltext von iFTP [...]   ? |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | | Leider nein aber trotzdem danke |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  ByteAttack | Besser wäre es, sich mal die wininet.dll genauer durchzulesen. Beispiel für VB: [...]   |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | | GEht das nicht irgendwie einfacher? |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | XProfans FTP-Funktionen sind ganz ok -
  wo genau liegt denn Dein Problem?
  Beim Entwurf eines Dialoges? |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  ByteAttack | Ja, die FTP-Funktionen sind OK, wenn man sich nur mit einem Server beschäftigt. Je nach Server gibt ListDir unterschiedliche Formate aus. Beispiel1: 04-28-10  07:22PM       <DIR>          ACCESS
  Beispiel2: drwxrwxr-x    2 10490    100          4096 May 20  2005 Acrobat
  u.s.w..... Deswegen eignet sich die wininet viel besser. |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  ByteAttack | Mal ein kleines Beispiel: KompilierenMarkierenSeparierenUSERMESSAGES 16
Declare  WIDLL&,Session&,s$,ihdl&,Adresse$,User$,Pass$,data#,Liste&
Declare Sz&,L#,ende%,IConnect&,dhdl&,do&,anzdat&,ftpfile$
Dim L#,4
Long L#,0 = -1
dim data#,318
clear data#
s$="FTPSESSION\z"
Adresse$="ftp.adobe.com"+"\z"
User$="anonymous"+"\z"
Pass$="guest@unknown"+"\z"
WIDLL&=UseDLL("wininet.dll")
 $I WININET.INC
Def GetSysColor(1) !"USER32","GetSysColor"
WindowStyle 26
WindowTitle "FTP-Test mit der WININET.DLL"
Window ((%maxX/2)-320),((%maxY/2)-240)-640,480
Cls GetSysColor(15)
Liste&=create("sortedlistbox",%hwnd,"",5,5,(width(%hwnd)-10),(Height(%hwnd)-30))
Sz&=@Create("StatusWindow",%HWND,"",1,L#)
ihdl&=InternetOpenA(addr(s$),0,0,0,0)
UseCursor 2
'InternetConnect Lib "wininet.dll" Alias _
'        "InternetConnectA" (ByVal hInternetSession As Long, _
'        ByVal sServerName As String, ByVal nServerPort As Integer, _
'        ByVal sUsername As String, ByVal sPassword As String, _
'        ByVal lService As Long, ByVal lFlags As Long, ByVal _
'        lContext As Long) As Long
IConnect&=@InternetConnectA(ihdl&,addr(Adresse$),21,addr(User$),addr(Pass$),1,0,0)
SetText Sz&,0,"Handle: "+Str$(ihdl&)
dhdl&=FtpFindFirstFileA(IConnect&,0,addr(data#),2147483648,0)
do&=1
while do&
    if do&
        if long(data#,0)=16
            ftpfile$="> "+string$(data#,44)
        elseif long(data#,0)=0
            ftpfile$="> "+string$(data#,44)
        else
            ftpfile$=string$(data#,44)
        endif
        addstring(Liste&,ftpfile$)
    endif
    inc anzdat&
    do&=InternetFindNextFileA(dhdl&,data#)
endwhile
UseCursor 0
WhileNot ende%
    WaitInput
    If %Umessage=16' X
        ende%=1
    endif
EndWhile
InternetCloseHandle(IConnect&)
FreeDLL WIDLL&
 |  
 
   | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | Danke schön erstmal... Marc du hast von dem Listdir Befehl gesprochen. Es soll tatsächlich ein Filemanager für 1 Server sein. Würde es damit einfacher gehen? |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  Paul Glatz | | Nur für einen Server (immer ein und der selbe???) |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  |  | 
|   | 
 |  | 
|   | 
 
 
  |