| |
|
|
| 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???) |
|
|
| |
|
|
|
| |
|
| |
|
|