OpenFileDialog: manipuler des fichiers "ajouter/enregistrer" [Résolu] - C#/.NET managed - Programmation
Marsh Posté le 28-11-2016 à 12:25:54
Je pense que tu cherches le contrôle OpenFileDialog
Il a aussi une propriété Multiselect qui te permet de sélectionner plusieurs fichiers en même temps.
Il y a des centaines d'exemples sur le net donc on te laisse regarder un peu.
Si tu as besoin de choisir un répertoire complet plutôt qu'un ensemble de fichier il y a aussi d'autres contrôles.
Marsh Posté le 28-11-2016 à 12:53:56
TotalRecall a écrit : Je pense que tu cherches le contrôle OpenFileDialog |
ok je regarde de ce côté là, merci TotalRecall
Marsh Posté le 28-11-2016 à 15:37:33
Voilà, j'arrive à afficher mes différents fichiers dans une "listBox". Maintenant je cherche à sauvegarder les fichiers de la liste vers un dossier.
pour l'instant j'ai ce code sur mon bouton "sauvegarder" :
Code :
|
mais il me retourne une exception IOException - Impossible de créer un fichier déjà existant.
Quand je mets un point d'arrêt sur ma ligne 4. pour "sourceFiles" j'ai : C:\\Users\\xxx\\Documents\\Test\\nomdufichier.txt
L'erreur ne viendrait-il pas du double "\\" par hasard et comment en enlever qu'un seul ?
Marsh Posté le 28-11-2016 à 15:43:15
File.Move attend en second paramètre un nom de fichier complet (en l'occurrence je suppose le nom actuel de ton fichier tel que tu voudrais qu'il soit dans ton répertoire de sortie), et pas juste un nom de répertoire.
Les \\ ne posent pas de souci, au contraire ils sont nécessaires. Le @ dans ta dernière ligne a le même effet, je te laisse regarder à quoi ça correspond. Mot clé pour trouver de quoi il s'agit : "verbatim string".
Marsh Posté le 28-11-2016 à 16:18:33
TotalRecall a écrit : File.Move attend en second paramètre un nom de fichier complet (en l'occurrence je suppose le nom actuel de ton fichier tel que tu voudrais qu'il soit dans ton répertoire de sortie), et pas juste un nom de répertoire. |
trouvé !
"dans mon code précédent j'ai fait une petite erreur c'est plutôt File.Copy et non File.Move"
voici le code :
Code :
|
Merci !
Marsh Posté le 28-11-2016 à 16:34:30
Pour ceux à qui cela intéresseraient voici le code :
Code :
|
et pour l'enregistrement :
Code :
|
Si jamais vous avez ajouté un ficher en trop voici comment l'enlever :
Code :
|
autant pour moi, le code ci-dessus (pour enlever un élément) génère une erreur si jamais la liste est vide, pour remédier à cela voici le bon code :
Code :
|
Marsh Posté le 28-11-2016 à 16:55:37
T'es sûr la bonne voie
Un petit truc, remplace :
chemin = @"C:\Users\xxx\Documents\Test\Save\"+ Path.GetFileName(sourceFiles)
Par
chemin = Path.Combine(@"C:\Users\xxx\Documents\Test\Save\", Path.GetFileName(sourceFiles))
C'est la même chose en plus propre !
Et pour éviter un gros viandage si le fichier existe déjà tu peux utiliser
if(!File.Exists(chemin))
avant de faire la copie !
edit : et dans ton Filter tout à la fin je pense que tu as voulu mettre un astérisque à la place du $
Marsh Posté le 28-11-2016 à 16:59:53
TotalRecall a écrit : T'es sûr la bonne voie |
Merci pour les astuces.
Effectivement il y a eu une erreur de frappe de ma part pour $ --> *
Marsh Posté le 28-11-2016 à 12:07:39
Bonjour,
Je travaille avec une application Windows Form et je compte créer une application qui va me chercher (ajouter) x fichiers (.pdf, .xlsx, .docx, etc.) dans une zone de mon Windows form (boite).
En résumé, je voudrais créer un bouton "importer ou ajouter" par exemple, qui va me chercher les fichiers que je choisirais dans mes documents (où ailleurs), pour ensuite, une fois les fichiers ajoutés/réunis dans ma boîte, les enregistrer dans un autre dossier. Je suppose que c'est faisable?
Quels sont les outils nécessaires de la boîte à outils pour faire cela? Je ne vous demande pas de faire le travail à ma place, mais je ne sais pas quels outils utiliser.
Je passerai à la programmation plus tard.
J'espère que vous avez compris ce que je veux faire ?
Merci !
Message édité par recep le 28-11-2016 à 16:36:00