IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Indiquer un dossier de destination [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Coach formateur en logiciel de gestion
    Inscrit en
    Octobre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach formateur en logiciel de gestion
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 15
    Par défaut Indiquer un dossier de destination
    Bonjour à tous,

    Encore un petit nouveau qui a besoin d'aide !

    Je galère sur un point pour lequel je n'ai pas trouvé de solution, ni sur le forum, ni sur Internet.
    J'utilise Visual Studio 2019 et je code en C#

    Je crée un programme dont la finalité est de générer des fichiers.

    Dans mon petit programme, j'ai une textBoxNom dans laquelle l'utilisateur indique le nom du fichier et une textBoxDoss dans laquelle l'utilisateur peut saisir un chemin pour enregistrer le fichier généré par mon outil.

    Je souhaite que mon fichier soit généré à l'emplacement qui a été saisit dans la textBoxDoss.
    Pour l'heure, l'enregistrement se fait automatiquement sur C:\, via le code suivant :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String name = textBoxNom.Text;
    System.IO.StreamWriter file = new StreamWriter(@"C:\" + name );

    Mon but final est d'avoir un bouton "Parcourir" pour la sélection du dossier mais j'aimerai déjà arriver à enregistrer dans un chemin saisit manuellement.

    En restant sur la même logique, j'ai essayé les choses suivantes(qui ne fonctionnent pas) :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {
    String Doss = textBoxDoss.Text;
    System.IO.StreamWriter file = new StreamWriter(@Doss + name );
    }
    ou
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {
    System.IO.StreamWriter file = new StreamWriter(Doss + name );
    }

    A chaque fois, le fichier se génère sur C:\ et non dans le dossier indiqué dans ma textBoxDoss.
    Par exemple, j'indique Blabla dans ma textBoxNom et C:\TEST dans ma textBoxDoss.
    Ce qui se passe avec mon code, c'est que le fichier est généré sur C:\ et se nomme TESTBlabla.
    Ce que je souhaite, c'est que le programme crée le dossier TEST s'il n'existe pas et qu'il enregistre le fichier Blabla à l'intérieur.

    J'arrive à faire créer le dossier TEST mais le fichier Blabla n'est pas enregistré dedans.

    Je ne sais pas si mon erreur vient du code (est-ce qu'il me manque des lignes, une conversion de ma textBox ?) ou s'il n'est pas possible de récupérer les infos d'une textBox pour ce que je souhaite faire ...

    J'espère avoir été assez clair pour que vous compreniez mes attentes, les difficultés que je rencontre et que vous pourrez m'apporter votre aide.

    Je vous remercie par avance

    K.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique
    Inscrit en
    Décembre 2014
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Systèmes, Clouds et Réseaux /CAO/DAO/Ingénierie Electrotechnique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 458
    Par défaut
    Salut, à toi

    Bon à vue de nez tu bosses en winform, donc..

    Tu peux combiner ton chemin avec ton nom de fichier. Je crois de mémoire que l'instruction Path.Combine(path1,path2) fait le job, dépendance System.IO.

    Tu as une box qui existe déjà et qui te permettra d'appeler en cliquant sur ton bouton parcourir, donc tu n'auras pas besoin de la faire à moins de vraiment vouloir la personnaliser (et ça peut être vite un sacré job si tu débutes totalement)

    Conseil également pour l'avenir, mets toi un point d'arrêt avant d'écrire quoique ce soit et vérifie la tête de ta variable, si le chemin est correct par exemple ici, car tu as du oublier je pense les slashs, ou anti slashs selon la forme que tu as voulu donner à ton chemin.

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 999
    Par défaut
    Ceci devrait te mettre sur la voie.
    https://docs.microsoft.com/fr-fr/dot...alog-component

  4. #4
    Membre averti
    Homme Profil pro
    Coach formateur en logiciel de gestion
    Inscrit en
    Octobre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach formateur en logiciel de gestion
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 15
    Par défaut
    Merci pour vos premières réponses.

    J'ai poussé mon idée et me suis dit que quitte à galérer, autant que je galère pour ajouter un bouton Parcourir.
    Chose faite, avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void ButtonParcourir_Click(object sender, RoutedEventArgs e)
            {
                FolderBrowserDialog Parcourir = new FolderBrowserDialog();
                //Définir le répertoire qui est proposé à l'ouverture de la fenêtre
                Parcourir.RootFolder = Environment.SpecialFolder.MyComputer;
                //Copier le chemin sélectionné dans la zone "Emplacement du fichier"
                if (Parcourir.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    textBlockEmplacement.Text = Parcourir.SelectedPath;
            }
    NB : Le TextBlockEmplacement reprend le chemin sélectionné via le bouton "Parcourir"

    J'ai un nouveau problème car le fichier ne s'enregistre pas à l'emplacement sélectionné...
    Pour l'heure, le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.IO.StreamWriter file = new StreamWriter(@"C:\" + name + ".txt");
    Dans ces lignes, si je comprends bien, le @"C:\" indique que le fichier doit être enregistré sous C:
    Je souhaite qu'il s'enregistre dans le répertoire sélectionné via le bouton Parcourir et donc, que ça suive le chemin qui s'est mis dans le textBlockEmplacement.

    J'ai essayé la chose suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     String Empl = textBlockEmplacement.Text;
    System.IO.StreamWriter file = new StreamWriter(@Empl + name + ".txt");
    Puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     String Empl = textBlockEmplacement.Text;
    System.IO.StreamWriter file = new StreamWriter(Empl + name + ".txt");
    Résultat : KO


    N'arrivant pas à enregistrer directement là où je le veux, j'ai voulu faire le malin et contourner ça en déplaçant le fichier avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     String Empl = textBlockEmplacement.Text;
    String C = @"C:\";
    System.IO.StreamWriter file = new StreamWriter(@"C:\" + name + ".txt"); 
    File.Move(C, Empl);
    Vous l'aurez deviné ... ça ne fonctionne pas.

    Pouvez-vous me dire comment je peux indiquer le chemin dans lequel le fichier doit être enregistré ?

    Je vous remercie.

    Nivek

  5. #5
    Membre averti
    Homme Profil pro
    Coach formateur en logiciel de gestion
    Inscrit en
    Octobre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Coach formateur en logiciel de gestion
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2019
    Messages : 15
    Par défaut UP
    Petit UP pour mon sujet.
    Je suis toujours en galère avec mon emplacement de fichier lors de l'enregistrement.
    Je n'arrive pas à enregistrer le fichier dans le dossier sélectionné via le bouton Parcourir (Pour rappel, dont le chemin s'affiche dans une textbloc)
    Je vous remercie.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Dans ce contexte, le contenu de name ressemble à quoi ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plupload - Attribution du dossier de destination
    Par Boris56 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 14/03/2010, 20h09
  2. [WD12] fcopiefichier : choix du dossier de destination
    Par Unlimited72 dans le forum WinDev
    Réponses: 12
    Dernier message: 18/08/2008, 15h56
  3. Réponses: 2
    Dernier message: 13/05/2008, 13h38
  4. Copier un dossier sans écraser les dossiers de destination
    Par TSalm dans le forum Administration système
    Réponses: 2
    Dernier message: 14/02/2008, 18h28
  5. choisir dossier de destination
    Par Invité dans le forum MFC
    Réponses: 5
    Dernier message: 17/10/2005, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo