Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide sur un code source

Synchronisation FTP / Client VB.net

Sujet résolu
    23 février 2019 à 11:17:29

    Bonjour tous le monde,

    J'ai besoin d'un petit coup de pouce pour un outils que j'ai trouvé sur youtube a l'adresse : 
    https://www.youtube.com/watch?v=E5qSxrbrf9I

    L
    e code source n'étant plus disponible, j'ai pris contact avec la personne sur youtube qui semble être inactive.
    Du coup j'ai recopier le code source de la vidéo, mais j'ai évidement quelques erreurs.
    Donc ici je constate que mes premières erreurs proviennent des deux lists Box, je ne sais pas trop comment ajouter "Rows" dans celle-ci  ainsi que pour "ClearSelection "?

     [URL=https://www.casimages.com/i/190223110600909Je vosu 048.png.html][IMG]https://nsa40.casimages.com/img/2019/02/23/190223110600909048.png[/IMG][/URL]

    Donc toutes aides est la bienvenue !

    Un grand merci d'avance !

    SRC :

    Imports System.ComponentModel
    Imports System.Net
    
    Public Class Form1
        Private LocalPath As String = "Downloadedfiles"
        Private missingFiles As New List(Of String)
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            FTPManager.loadConfig()
            createLocalFolderIfNotExistes()
            btnRefresh.performClick()
    
        End Sub
    
        Private Sub createLocalFolderIfNotExistes()
            If Not IO.Directory.Exists(LocalPath) Then IO.Directory.CreateDirectory(LocalPath)
        End Sub
    
        Private Sub getLocalFiles()
            dgvLocal.Rows.clear
            Dim files = IO.Directory.GetFiles(LocalPath)
            If files.Count > 0 Then
                For Each f In files
                    Me.dgvLocal.Rows.Add(f.Split("\c").Last())
    
                Next
            End If
        End Sub
    
        Private Sub getFTPFiles()
            dgvFTP.Rows.Clear()
            missingFiles.Clear()
            Dim request = FtpWebRequest.Create(FTPManager.ServerRootPatch)
            request.Method = WebRequestMethods.Ftp.ListDirectory
            request.Credentials = New NetworkCredential(FTPManager.User, FTPManager.PW)
            Dim response As FtpWebRequest = CType(request.GetResponse(), FtpWebResponse)
            Using myReader As New IO.StreamReader(response.GetResponseStream())
                Do Until Not myReader.EndOfStream
                    Dim file = myReader.ReadLine()
                    Me.dgvFTP.Rows.Add(file)
    
                    If Not IO.File.Exists(LocalPath & "\" & file) Then
                        dgvFTP.Rows(dgvFTP.Rows.Count - 1).defaultCellStyle.BackColor = Color.FromArgb(255, 192, 192)
                        missingFiles.Add(file)
                    Else : dgvFTP.Rows(dgvFTP.Rows.Count - 1).DefaultCellStyle.BackColor = Color.FromArgb(192, 255, 192)
                    End If
                Loop
            End Using
        End Sub
    
        Private Async Sub btnRefresh_Click(sender As Object, e As EventArgs) Handles btnRefresh.Click
            If Not btnRefresh Then
                btnRefresh.Enabled = False
                Await Task.Delay(2000)
                getLocalFiles()
                getFTPFiles()
                btnSync.Enabled = True
            Else : MessageBox.Show("please wait")
    
            End If
            dgvFTP.ClearSelection()
            dgvLocal.ClearSelection()
    
        End Sub
    
        Private Sub btnSync_Click(sender As Object, e As EventArgs) Handles btnSync.Click
            If missingFiles.Count > 0 Then
                Donwload_File(New Uri(FTPManager.ServerRootPatch & FTPManager.Folder & "/" & missingFiles(0)))
            Else : MessageBox.Show("No files to downlaod")
            End If
        End Sub
    
        Private Sub Donwload_File(URI As Uri)
            Dim filename = URI.ToString().Split("/c").Last()
            prgb.Value = 0
            'lblFile.text = filename
            Using wc As New WebClient
                wc.Credentials = New NetworkCredential(FTPManager.User, FTPManager.PW)
                AddHandler wc.DownloadProgressChanged, AddressOf File_DLProgressChanged
                AddHandler wc.DownloadProgressChanged, AddressOf File_Downloaded
                wc.DownloadFileAsync(URI, LocalPath & "\" & filename)
            End Using
        End Sub
    
        Private Sub File_DLProgressChanged(sender As Object, e As DownloadProgressChangedEventArgs)
            prgb.Value = e.ProgressPercentage
        End Sub
    
        Private Sub File_Downloaded(sender As Object, e As AsyncCompletedEventArgs)
            Dim deletedFile = missingFiles(0)
            missingFiles.RemoveAt(0)
    
            If missingFiles.Count > 0 Then
                Donwload_File(New Uri(FTPManager.ServerRootPatch & FTPManager.Folder & "/" & missingFiles(0)))
            Else
                btnRefresh.PerformClick()
                MessageBox.Show("niquel")
            End If
        End Sub
    
    End Class
    





    -
    Edité par LinkoLabs 23 février 2019 à 11:37:23

    • Partager sur Facebook
    • Partager sur Twitter

    Cordialement, LinkoLabs

      23 février 2019 à 11:20:59

      Hola !

      Envoie nous ton propre code plutôt !

      En utilisant le bouton '</>' pour le poster.

      • Partager sur Facebook
      • Partager sur Twitter
        23 février 2019 à 11:35:37

        J'editerais le poste comment faire pour ajouter Row a la listbox ?Merci à vous !
        • Partager sur Facebook
        • Partager sur Twitter

        Cordialement, LinkoLabs

          25 février 2019 à 11:14:01

          Votre image indique que c'est un code différent de celui que vous avez posté.

          Il nous manque toute la partie typages des champs contrôle de votre formulaire.

          Avez-vous utilisé la même version du framework et le même type de projet que dans la version Youtube ?

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

          Aide sur un code source

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown