Je reviens vers vous pour un petit problème dans ma source, enfaite exactement 3 petits problèmes. Donc enfaite je vous explique, j'essais de ravoir le code source de la vidéo disponible ci-dessous : https://www.youtube.com/watch?v=E5qSxrbrf9I
J'ai eu pas mal d'erreur enfin résolue il ne me reste que les 3 ici que je ne comprend trop bien.
Gravité Code Description Projet Fichier Ligne État de la suppression
Erreur BC31143 La méthode 'Private Sub File_Downloaded(sender As Object, e As AsyncCompletedEventArgs)' n'a pas de signature compatible avec le délégué 'Delegate Sub DownloadProgressChangedEventHandler(sender As Object, e As DownloadProgressChangedEventArgs)'. ServerToHome c:\users\raw\documents\visual studio 2015\Projects\ServerToHome\ServerToHome\Form1.vb 81 Actif
Erreur BC30311 Impossible de convertir une valeur de type 'FtpWebResponse' en 'FtpWebRequest'. ServerToHome c:\users\raw\documents\visual studio 2015\Projects\ServerToHome\ServerToHome\Form1.vb 37 Actif
Erreur BC30456 'GetResponseStream' n'est pas un membre de 'FtpWebRequest'. ServerToHome c:\users\raw\documents\visual studio 2015\Projects\ServerToHome\ServerToHome\Form1.vb 38 Actif
Voici ma page FTPManager.vb (Class)
Public Class FTPManager
Private Shared ConfigFile As String =
Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) & "\config.txt"
Public Shared Folder As String = "Client_Pokemonia"
Public Shared ServerRootPatch As String
Public Shared User As String
Public Shared PW As String
Public Shared Sub loadConfig()
If IO.File.Exists(ConfigFile) Then
Dim lines = IO.File.ReadAllLines(ConfigFile)
ServerRootPatch = lines(0)
User = lines(1)
PW = lines(2)
End If
End Sub
End Class
Voici ma page Form1.vb
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 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
Private Sub dgvLocal_SelectedIndexChanged(sender As Object, e As EventArgs)
End Sub
End Class
Je vous remercie d'avance ! Car la j'ai vraiment du mal !
que l'event "DownloadProgressChanged" qui vous intéresse.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
VB.net 2015 FTP File Sync
× 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.
Cordialement, LinkoLabs