Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    copiare file da sito FTP nell'Hard Disk...

    Cari forumisti.

    Sono nuovo di questo forum, ho un problema che mi sta mandando in reparto psichiatria alla sezione programmatori-scarsi-impazziti.

    Ho scritto un piccolo programma in VB Express Edition perchè ho necessità di scaricare da un sito FTP un file per copiarlo in una precisa cartella. Sul web ho trovato questo codice che metto sotto, ma alla riga 'QUI ERR' mi da un errore di "Tentativo di lettura o scrittura della memoria protetta". Qualcuno sa qualcosa?

    Grazie infinite.
    PS. forse causa mia ignoranza erroneamente ho aperto una nuova discussione.... scusate...

    Public Class codice_1

    Const INTERNET_SERVICE_FTP = 1
    Const INTERNET_OPEN_TYPE_DIRECT = 1
    Const INTERNET_FLAG_PASSIVE = &H8000000
    Const FTP_TRANSFER_TYPE_BINARY = 0
    Const FILE_ATTRIBUTE_ARCHIVE = &H20

    Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
    (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
    ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

    Private Declare Function 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

    Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _
    (ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, _
    ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

    Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim hOpen&, hConn&
    Dim lRes, scUserAgent As String

    scUserAgent = "pippo"

    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)

    'QUI ERR
    hConn = InternetConnect(hOpen, "ftp://ftp.peppo.com", "21", "Anonymus", vbNullString, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
    '--------

    lRes = FtpGetFile(hConn, "pappo.txt", "C:\directory", False, FILE_ATTRIBUTE_ARCHIVE, FTP_TRANSFER_TYPE_BINARY, 0&)

    InternetCloseHandle(hConn)

    InternetCloseHandle(hOpen)

    End Sub

  2. #2
    Ciao.
    Innanzitutto dovresti dare un occhio al regolamento, dove, sicuramente, troverai scritto che nel titolo del thread va indicato linguaggio e versione ... altrimenti ci tocca supporre(e certamente non dal codice) che tu stia parlando di Dotnet portandoci a darti, probabilmente, dei suggerimenti errati o fuorvianti.
    Supponendo che tu sia in ambiente DotNet e senza andare troppo lontano ..... prova a dare un occhio a questo thread http://forum.html.it/forum/showthread/t-1135109.html

    Facci sapere....
    Ciao

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Perchè "21" come stringa? E' un numero ...devi scrivere

    21
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.