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

    VB e InetFTP;problemi nella restituzione della lista file di una directory

    Salve a tutti,
    stò progettando un'applicazione in Visual Basic che utilizza INETFTP per il trasdferimento di file via FTP.
    Sono riuscito a connettermi al server e farmi dare la lista delle directory presenti su cui è possibile lavorare....
    il problema per me è che ora non so come farmi dare la lista dei file presenti in ogni cartella che mi presenta...

    Ho provato con il comando inetFTP.execute "DIR nomedir" ma non riesco a capire...non ottengo la lista dei files, non so come prenderla per poi aggiornare la listview utilizzata per visualizzare il server remoto di lavoro

    Aiutatemi.
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  2. #2
    nessuno sa aiutarmi?
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  3. #3
    Utente di HTML.it L'avatar di Gugu
    Registrato dal
    Nov 2002
    Messaggi
    523
    Ciao,
    Prova a gestire questo codice:
    devi usare funzioni della dll wininet...
    Spero di farti capire!
    codice:
    [B]IN UN MODULO:[\B]
    Public Type FILETIME
            dwLowDateTime As Long
            dwHighDateTime As Long
    End Type
    
    Public Type WIN32_FIND_DATA
            dwFileAttributes As Long
            ftCreationTime As FILETIME
            ftLastAccessTime As FILETIME
            ftLastWriteTime As FILETIME
            nFileSizeHigh As Long
            nFileSizeLow As Long
            dwReserved0 As Long
            dwReserved1 As Long
            cFileName As String * MAX_PATH
            cAlternate As String * 14
    End Type
    Public Const ERROR_NO_MORE_FILES = 18
    Public Const NO_ERROR = 0
    Public Const MAX_PATH = 260
    
    Public Declare Function InternetCloseHandle Lib "wininet.dll" _
    (ByVal hInet As Long) As Integer
    
    Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "InternetFindNextFileA" _
        (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long
        
    Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "FtpFindFirstFileA" _
    (ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
          lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long
    
    [B]IN UNA SUB:[\B]
        Dim hFind As Long
        Dim nLastError As Long
        Dim dError As Long
        Dim ptr As Long
        Dim pdata as WIN32_FIND_DATA
    
    
        hFind = FtpFindFirstFile(hConnection, "*.*", pData, 0, 0)
        nLastError = Err.LastDllError
        
        If hFind = 0 Then
            If (nLastError = ERROR_NO_MORE_FILES) Then
                MsgBox "La directory è vuota."
            Else
                ErrorOut nLastError, "FtpFindFirstFile"
            End If
            Exit Sub
        End If
        
        dError = NO_ERROR
        Dim bRet As Boolean
        Dim strItemName As String
        
        strItemName = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)
        Lista.AddItem strItemName
        Do
            pData.cFileName = String(MAX_PATH, 0)
            bRet = InternetFindNextFile(hFind, pData)
            If Not bRet Then
                dError = Err.LastDllError
                If dError = ERROR_NO_MORE_FILES Then
                    Exit Do
                Else
                    ErrorOut dError, "InternetFindNextFile"
                    InternetCloseHandle (hFind)
                   Exit Sub
                End If
            Else
                strItemName = Left(pData.cFileName, InStr(1, pData.cFileName, String(1, 0), vbBinaryCompare) - 1)
                List1.AddItem strItemName
           End If
        Loop
    E' un casino?? Forse..
    Ho fatto copia ed incolla da una mia applicazione..
    spero di aver messo tutto!
    Se hai dei problemi fammi sapere.
    Ciao ciao
    Gugu
    Ciao
    Andrea

  4. #4
    oddio, è un pò incasinato...non volevo usare DLL, per questo lo faccio con InetFTP...
    Il problema è solo che se faccio InetFTP.Execute "DIR /" la prima volta e poi recupero i dati col metodo GetChunk, riesco ad ottenerli e aggiornare la listview, se poi voglio addentrarmi in un'altra directory non ci riesco più...come fare?Che comnadi devo inviare e come devo riprendere quello che ritorna?Credevo di farlo allo stesso modo

    Grazie lo stesso a GUGU
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

  5. #5
    Non voglio credere che nessuno sappia usare InetFTP....come mai non riesco ad ndare oltre la restituzione delle Directory principali e se poi voglio entrare in un'altra directory non va....che codice devo inserire per navigare via via nelle varie directory considerando che uso una listview per la visualizzazione????


    HELP ME!!!!
    visitate www.pcprimipassi.it, il portale italiano per i neofiti del computer

    "Tanto prima o poi ti buco...." disse il baco alla noce!

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.