Newsgroup: it.comp.lang.visual-basic
Titolo: Comando execute  "GET" di INET che non funziona

Buongiorno a tutti,
giorni fa ho trovato un post in cui un utente consigliava il proprio
codice per il download da FTP di un dato file...
Private Sub Command1_Click()
'text1.Text ftp://***.***.***.***
'text2.Text login
'text3.Text password
'text4.Text dir/dir (posizione file ftp)
'text5.Text file.ext (nome del file)
'text6.Text d:\prova\ (uscita)
Dim indirizzo As String
Dim login As String
Dim password As String
Dim nomefile As String
Dim cartella As String
Dim ciccio
Dim strcompleta As String
indirizzo = "ftp://***************"
password = "**************"
login = "***************"
nomefile = "setup012.exe"
cartella = "/ris*****/"
filedownload = "C:\Documents and
Settings\*********\Documenti\setup.exe"
        Inet1.URL = indirizzo
        Inet1.UserName = login
        Inet1.password = password
        'cambio della directory
        Inet1.Execute , "CD " & cartella
        'controllo stato inet
        Do While Inet1.StillExecuting = True
        DoEvents
        Loop
        'richiesta grandezza del file da copiare
        Inet1.Execute , "SIZE " & nomefile
        'controllo stato inet
        Do While Inet1.StillExecuting = True
        DoEvents
        Loop
        'valore in byte del file da copiare
        ciccio = Inet1.GetChunk(1024, 0)
        'impostata la progressbar al max alla grandezza del file
        ProgressBar1.Max = ciccio
        'copia del file
        strcompleta = "GET " & nomefile & " " & filedownload
        Debug.Print strcompleta
        Inet1.Execute , strcompleta
        'controllo stato inet
        Do While Inet1.StillExecuting = True
        DoEvents
        'controllo della creazione del file
        If Dir(filedownload) = "" Then
        Else
        'controllo grandezza del file
        If FileLen(filedownload) = ciccio Then
            ProgressBar1.Value = FileLen(filedownload)
            'Label7.Caption = ProgressBar1.Value & "/" &
ProgressBar1.Max
            Exit Sub
        End If
        ProgressBar1.Value = FileLen(filedownload)
            'Label7.Caption = Format(ProgressBar1.Value / 1048576,
"0.0") & "Mb" & "/" & Format(ProgressBar1.Max / 1048576, "0.0") & "Mb
(" & Format(((ProgressBar1.Value / ProgressBar1.Max) * 100), "##0.00")
& "%)"
        End If
        Loop
End Sub
Come si può notare l'ho debitamente modificato (neanche tanto... anzi
per niente....) però non funge.... e non capisco perchè....
Il codice controlla ad un certo punto la presenza del file sull'hd "If
Dir(filedownload) = "" Then"
non lo trova, e continua il loop all'infinito...
Manca forse qualcosa alla riga execute "GET"????

 strcompleta = "GET " & nomefile & " " & filedownload
Mancano un po' di virgolette:
strcompleta = "GET """ & nomefile & """ """ & filedownload & """"
Ciao.
Mauro

Mauro ha scritto:

Grazie Mauro, ma purtroppo non è quello l'errore....
oltretutto non sapevo che ci volessero tutte quelle virgolette...

Ho un tarlo nel cervello che rosica....
Ho registrato uno spazio web gratuito su AlterVista e l'ftp è proprio
lì...
Può darsi che sia quello il motivo?
I comandi execute "CD" e "SIZE" però li accetta e per il SIZE
restituisce anche un valore...
Vi prego, sto diventando matto...!!!


Non ho guardato il tuo codice perchè non mi va, però voglio aiutarti
ugualmente. Il controllo INET è pieno di bug e per poterlo utilizzare
devi usare dei trucchetti. Sul sito della M$ c'è tutta la
documentazione a tal proposito.

 documentazione a tal proposito.
Grazie mille... darò un occhiata...