Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSelect Case nomfichier Case "7zip.exe" Call FileCopy(cheminfichier, Destination & nomfichier)
If File.Exists(Destination & nomfichier) Then MessageBox.Show("Un fichier du même nom existe déjà!", "Copie fichier") Exit Sub
Case Else If nomfichier.IndexOf("Setup") Then MessageBox.Show("1 Veuillez renommer avec seulement le nom du logiciel") Exit Select
'TRAITEMENT DE COPIE DE FICHIER APRES LA SELECTION D'UN FICHIER. #Region "Copie des fichiers" Private Sub tView_Serveur_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles tView_Serveur.AfterSelect cheminfichier = tView_Serveur.SelectedNode.FullPath MsgBox(cheminfichier) nomfichier = Mid(cheminfichier, InStrRev(cheminfichier, "") + 1) 'on extrait le dernier nom de la chaine MsgBox(nomfichier) 'nomfichier = tView_Serveur.SelectedNode.ToString 'nomfichier = cheminfichier.Replace("TreeNode: ", "") 'supprime TreeNode: Try Select Case nomfichier Case "7zip.exe" VerifCopie() Case "acrobatreader.exe" VerifCopie() Case "adobereader.exe" VerifCopie() Case "audacity.exe" VerifCopie() Case "cart’ooo.exe" VerifCopie() Case "cdburner.exe" VerifCopie() Case "chrome.exe" VerifCopie() Case "defrag.exe" VerifCopie() Case "esetnod32.exe" VerifCopie() Case "firefox.exe" VerifCopie() Case "flashplayer.exe" VerifCopie() Case "framework4.exe" VerifCopie() Case "glaryutilities.exe" VerifCopie() Case "itune.exe" VerifCopie() ( la liste est longue... ) Case Else ( partie à revoir également ) If nomfichier.IndexOf("Setup") Then MessageBox.Show("1 Veuillez renommer avec seulement le nom du logiciel") ElseIf nomfichier.IndexOf("setup") Then MessageBox.Show("2 Veuillez renommer avec seulement le nom du logiciel") ElseIf nomfichier.IndexOf("SETUP") Then MessageBox.Show("3 Veuillez renommer avec seulement le nom du logiciel") ElseIf nomfichier = Nothing Then MessageBox.Show("Veuillez saisir un nom") ElseIf nomfichier.Equals(nomfichiertext.ToUpper()) Then MessageBox.Show("Veuillez renommer sans majuscule") ElseIf Nothing Then MessageBox.Show("Veuillez saisir un nom") End If End Select Catch erreur As Exception MessageBox.Show("Copie échouée. " & erreur.GetBaseException.Message) End Try End Sub Private Sub VerifCopie() If File.Exists(Destination & nomfichier) Then MessageBox.Show("Un fichier du même nom existe déjà!", "Copie fichier") Exit Sub Else FileCopy(cheminfichier, Destination & nomfichier) 'TIMER LABEL Me.lab_CopyEffectue.Visible = True Me.Timer_LabCopie.Enabled = True tView_Temporaire.Nodes.Clear() 'on vide le treeview avant de la réinitialiser 'cela évite une répétition du treeview et des dossiers aussi. resettemporaire() 'méthode pour réinitialiser la treeview à chaque copie. End If End Sub #End Region
( la liste est longue... )
if nomspossibles.Contains(nomfichier) then '...
tu n'avais pas cliqué sur un fichier dans ta treeview, mais sur un dossierC'est probable que lorsque je cliquais sur un fichier, il ne le prenait pas en compte, en ne comptait que le chemin oui. Car c'est difficile de se tromper et de confondre dossier et fichiers dans ma Treeview: Je l'ai pointé que sur un seul et unique dossier, et l'ai déplié ensuite (Me.tView_Serveur.ExpandAll())
C'est probable que lorsque je cliquais sur un fichier, il ne le prenait pas en compte, en ne comptait que le chemin oui. Car c'est difficile de se tromper et de confondre dossier et fichiers dans ma Treeview: Je l'ai pointé que sur un seul et unique dossier, et l'ai déplié ensuite (Me.tView_Serveur.ExpandAll())
(Exists: Important lorsqu’on va effectuer des manipulations! Vérifie la présence du fichier ou du dossier, renvoie un Booléan, True présence, False non présent.
File.Exists(Fichier as string), Directory.Exists(Path As String).
Imports System.Collections Imports System.Collections.Generic 'Déclaration Dim listNomFichier As List(Of String) = New List(Of String) listNomFichier.Add("7zip.exe") listNomFichier.Add("acrobatreader.exe") ...
Déclaration attendue sur les listNomFichier.Add