Hi Acid,
wie versprochen - eine Funktion zum einfachen Datei-Upload.
Ich habe mich entschieden, das nicht als Tipp zu machen (sind doch einige APIs usw. die verwendet werden müssen), sondern vielmehr der VBEx32.DLL eine FileUpload- Funktion zu spendieren.
Also zunächst musst Du Dir mal die neueste VBEx32.DLL downloaden und ins Windows/System-Verzeichnis kopieren (bzw. System32 unter NT/XP und 2000)
Deklaration in VB
<code>Private Declare Function VBEX_FileUpload Lib "vbex32.dll" Alias _
"VBFILEUPLOAD" _
(ByVal sRemoteHost As String, _
ByVal sUsername As String, _
ByVal sPassword As String, _
ByVal sLocalFile As String, _
ByVal sRemoteFile As String, _
nTransferMode As Integer) As Long</code> Parameterbeschreibung
sRemoteHost: Hostname des FTP-Servers
sUserName: Benutzername für die Anmeldung am Server
sPassword: Kennwort für die Anmeldung am Server
sLocalFile: Dateiname der lokalen Datei, die upgeloaded werden soll
sRemoteFile: Dateiname, unter welchem die Datei auf dem FTP-Server gespeichert werden soll
nTransferType: 1 = Ascii-Übertragung bzw. 2 = Binary-Übertragung
Anmerkung
Wird für "sUserName" ein Leerstring angegeben, so erfolgt die Anmeldung unter dem Namen anonymous.
Wird für "sPassword" ein Leerstring angegeben, so erfolgt die Anmeldung mit dem Kennwert guest.
"sRemoteFile" kann optional auch eine Pfadangabe beinhalten, z.B. /home/download/myFile.exe
Beispiel
<code>Dim sRemoteHost As String
Dim sLocalFile As String
Dim sRemoteFile As String
Dim nTransferMode As Integer
Dim nResult As Long
<font color=green>' Anmeldung am eigenen T-Online Server</font>
sRemoteHost = "home-up.t-online.de"
<font color=green>' Lokaler Dateiname</font>
sLocalFile = "d:dllvbex32.html"
<font color=green>' Ziel-Datei auf dem Server</font>
sRemoteFile = "/download/dll/vbex32.htm"
<font color=green>' Ascii-Übertragung</font>
nTransferMode = 1
<font color=green>' Upload durchführen</font>
nResult = VBEX_FileUpload(sRemoteHost, "", "", sLocalFile, sRemoteFile, _
nTransferMode)
If nResult = 0 Then
MsgBox "Upload erfolgreich!"
ElseIf nResult = 1 Then
MsgBox "Keine Internet-Verbindung!"
ElseIf nResult = 2 Then
MsgBox "FTP-Zugang verweigert!"
End If</code> Anmerkung
Die Datei wird in "einem Rutsch" hochgeladen. Während dieser Zeit erfolgt keine Statusmeldung - auch bekommt Ihr Programm erst
nach erfolgtem Upload wieder die Kontrolle.
Alles kloar ?
Cu
Dieter |