Newsgroup: it.comp.lang.visual-basic
Titolo: methodo OpenURL dell'oggetto Inet

Ciao,
        sto avendo qualche problema con l'utilizzo del metodo OpenURL
dell'oggetto Inet in questo senso: devo scaricare un file .mdb da un mio
server in linea e sembra che la connessione avvenga correttamente, infatti
sull'evento StateChanged faccio stampare i messaggio di ritorno e questi mi
confermano che la connessione va a buon fine. Poi però, al momento di
scaricare il file qualcosa non va; ho la convinzione che non venga passato
nemmeno un bit sul mio disco. Io paro il file in scrittura binaria e poi
niente. La sequenza delle operazioni che faccio è addirittura copiata passo
passo dal'help in linea di VB6, ma non ottengo nessun risultato anzi,
l'unico risultato che ottengo è un 'request timed out' quando dovrebbe
cominciare lo scairico del file.
Vi riporto qui il codice. Se qualcuno ha già utilizzato questo oggetto e
potesse aiutarmi....
Giorgio
--------------------
Private Sub Command1_Click()
    Dim b() As Byte
    Dim strURL As String
    strURL = "
FTP://demo.progettomedia.it/test/pippo/ishell.mdb
"
    Inet1.URL = strURL
    Inet1.UserName = "xxxx"
    Inet1.Password = "yyyy"
    b() = Inet1.OpenURL(, icByteArray)
    Open "C:\Temp\ishell.mdb" For Binary Access _
    Write As #1
    Put #1, , b()
    Close #1
    MsgBox ("Finito...")
    End
End Sub
-------------------------------
--
-----------------------------------------------------
Click here for Free Video!!
http://www.gohip.com/freevideo/

Anch'io avevo questi problemi e ti assicuro che è la versione del Internet
Explorer.
Avevo installato la 4.0 e andava tutto bene __________
Ho installato la 5.0 e andava tutto storo ___-----___-----
Ho chiamato la Mircrosoft e mi hanno detto il contrario ( che andava bene la
5 e non la 4)
Ho reinstallato la 4 e riandava tutto bene __________
Ma la cosa più strana è quando sono andato da un cliente, gli ho installato
l'applicazione
che usava Inet e avendo notato che aveva installato IE 5.0 ero già convinto
che non funzionava,
lancio il programma e come per magia ________________
Bo.........
Prova a cambiare la vers. del tuo Brower
Ciao
Oz

         sto avendo qualche problema con l'utilizzo del metodo OpenURL
Anch'io ho lo stesso identico problema, devo scaricare dei files. In effetti
Inet scarica i files, ma di dimensione diversa..
C'è qualcuno che ha risolto?
Ciao
Renzo

Inet scarica i files, ma di dimensione diversa..
Ti premetto che utilizzo Inet e dopo molto fatica (per me ovviamente,
qualcun
altro l'avrebbe fatto a occhi chiusi) sono riuscito a costruirmi
algoritmi di scaricamento di tutti i files inclusi in una directory oppure
l'upload
di file locali su ftp quindi non ci credo che inet scarica i files di
dimensione diversa,
forse x' non lo utilizzi bene.
Se vuoi che ti aiuto devi postare un po di codice.
Hai copiato dalla guida in linea l'evento inet statechanged?
Senza quello non cicli l'arrivo del file ma solo una parte.
Sarebbe come dire scarico un file di 5Mb, non pensare che ti arriva subito
in locale!
e ne arriva un pezzo per volta. Forse ti ho detto cose che sai già.
Spiegati meglio........
Ciao
Oz

 Spiegati meglio........
Ho usato questo codice, all'incirca..
Private Sub Form_DblClick()
   Inet1.AccessType = icUseDefault
   Dim b() As Byte
   Dim strURL As String
   ' Si suppone che l'URL sia valido.
   strURL = "
ftp://ftp.microsoft.com/
" & _
   "developr/drg/Win32/Autorun.zip"
   ' Recupera il file come matrice di dati byte.
   b() = Inet1.OpenURL(strURL, icByteArray)
   Open "C:\Temp\Autorun.zip" For Binary Access _
   Write As #1
   Put #1, , b()
   Close #1
   MsgBox "Done"
End Sub
naturalmente io ho usato un mio server con un mio file..
praticamente scarica il File Autorun.zip, ma la dimensione č diversa
rispetto all'originale.. sai dirmi qualcosa?
Grazie
Ciao

rispetto all'originale.. sai dirmi qualcosa?
Sarò buono con te: innanzitutto trovi nel MSDN sutto internet tutta la
documentazione che vuoi.
Guardati specialmente il metodo Execute dell'Inet: puoi fare tutto (SIZE (di
un file o directory),
DIR(listare i file contenuti in una directory),(PUT metti i file su FTP),
(GET le ricevi)).
Adesso prova con :
Private Sub Form_DblClick()
    whit inet1
        .Protocol = icFTP
        .AccessType = icUseDefault
        .Url = Url
        .Password = Password 'Se non ce li hai non metterli
        .username = username  '         "         "           "
        .Execute , "GET " & file_da_ricevere & " " &
percorso_locale_in_cui_si_mette_il_file_ricevuto
        Delay
    end with
Private Sub Delay()
    While Menu.Inet1.StillExecuting = True
        DoEvents
    Wend
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
' Retrieve server response using the GetChunk
   ' method when State = 12.
   Dim vtData As Variant  ' Data variable.
   vtData = 0
   Select Case State
       Case icResponseCompleted ' 12
       'If sizepubblica = 1 Then
          Dim strData As String
          Dim bDone As Boolean: bDone = False
          ' Get first chunk.
          vtData = Inet1.GetChunk(1024, icString)
         DoEvents
          Do While Not bDone
             strData = strData & vtData
             ' Get next chunk.
             vtData = Inet1.GetChunk(1024, icString)     'Qui continua a
fare il download per file grossi
             DoEvents
             If Len(vtData) = 0 Then
                bDone = True
             End If
          Loop
    End Select
End Sub
Ciao
Oz