German warten bis Datei per FTP heruntergeladen wurde

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich möchte die vom Nutzer angegeben Daten für den FTP-Zugang nur speichern, wenn diese korrekt sind.
Um das zu prüfen lade ich eine kleine (auf dem Server vorhandene Datei) herunter.
Wie kann ich mit dem speichern warten bis das Ergebnis vorliegt und eine Ergebnis-Meldung angezeigt wurde?

Hier mein leicht vereinfachtes Codebeispiel:
B4X:
   ...
    If FTPdomain.Length > 0 Then
        FTPt1.Initialize("FTPt1", FTPdomain, 21, FTPuser, FTPpass)
        FTPt1.PassiveMode = True
        ProgressDialogShow("Bitte warten, die Verbindung zum Server wird geprüft...")
        FTPt1.DownloadFile("/" & FTPpfad & "/testdatei.txt", False, MyDir, "testdatei.txt")   
    end if
    '
    einstellungen_speichern
    ... usw
        
Sub FTPt1_DownloadCompleted (ServerPath As String, Success As Boolean)
    ProgressDialogHide
    Log(ServerPath)
    FTPt1.CloseNow                       'FTP sofort schliessen
    If Success = True Then
        MsgboxAsync("Die Daten sind korrekt.","Hinweis")
    Else
        MsgboxAsync("Datei nicht gefunden."Problem [8590]")
    End If
    '
End Sub
 

DonManfred

Expert
Licensed User
Longtime User
sowas wie

B4X:
  If FTPdomain.Length > 0 Then
        FTPt1.Initialize("FTPt1", FTPdomain, 21, FTPuser, FTPpass)
        FTPt1.PassiveMode = True
        ProgressDialogShow("Bitte warten, die Verbindung zum Server wird geprüft...")
waitfor(FTPt1.DownloadFile("/" & FTPpfad & "/testdatei.txt", False, MyDir, "testdatei.txt") ) FTPt1_DownloadCompleted (ServerPath As String, Success As Boolean)
    ProgressDialogHide
    Log(ServerPath)
    FTPt1.CloseNow                       'FTP sofort schliessen
end if
    If Success = True Then
        MsgboxAsync("Die Daten sind korrekt.","Hinweis")
    Else
        MsgboxAsync("Datei nicht gefunden."Problem [8590]")
    End If
 

peternmb

Well-Known Member
Licensed User
Longtime User
genau das habe ich gesucht.
Ich bin mit der Funktion "waitfor" einfach nicht zurecht gekommen.
Vielen Dank, jetzt habe ich die Funktionsweise kapiert.
 
Top