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 :

Variable d'une procédure à une autre [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Variable d'une procédure à une autre
    Bonjour à tous , je viens à la recherche d'une aide :$

    Donc voila j'ai mon projet qui fonctionne parfaitement c'est pas le soucis .
    Ce que je voulais faire c'est :

    Dans ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     public void ChargerContacts()
            {
     
                c_ListContact = new System.Collections.Generic.List<cls_Contact>(); // La collection avec le types
     
     
                {
     
                    OpenFileDialog f = new OpenFileDialog(); //création d'une fenetre d'exploration 
                f.ShowDialog(); // Affichage de cette fenetre 
                string chemin = f.FileName;

    J'ai ma variable chemin que je voudrai mettre dans un click bouton de la même form que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      private void button4_Click(object sender, EventArgs e)
            {
                frm_ajout l_frm_ajout;  //Crée variable de type frm_detail
                l_frm_ajout = new frm_ajout(); // Instancie la fenetre frm_detail
     
                //Affectation du contact sélectionné
                //  l_frm_ajout.Initialise(l_Contact, this);
     
                l_frm_ajout.Show();
     
            }
    Merci d'avoir lu
    En l'attente d'avoir une réponse

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 155
    Points
    155
    Par défaut
    Je suis pas sur d'avoir compris...

    Mais si tu veux acceder a ta variable chemin dans ton event de click il suffit de la déclarer en global dans ta class (ie a l'exterieur de la méthode ChargerContacts).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Je ne comprend pas trop ..
    La seul classe que j'ai et CLS.CONTACTS

    Pourrais tu m'éclaircir je débute sur la POO et tout sa ^^
    Voici le code de la methode entiere

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
       public void ChargerContacts()
            {
     
                c_ListContact = new System.Collections.Generic.List<cls_Contact>(); // La collection avec le types
     
     
                {
     
                    OpenFileDialog f = new OpenFileDialog(); //création d'une fenetre d'exploration 
                f.ShowDialog(); // Affichage de cette fenetre 
                string chemin = f.FileName;
     
     
     
                if (chemin == "")
                {
                    string message = "Aucun fichier selectionner . Voulez vous en saisir un ?";
                    string caption = "Quitter";
                    var result = MessageBox.Show(message, caption,
                                                 MessageBoxButtons.YesNoCancel,
                                                 MessageBoxIcon.Question);
     
                    // If the no button was pressed ...
                    if (result == DialogResult.Yes)
                    {
                        ChargerContacts();
     
                    }
                    else
                    {
                        MessageBox.Show("Aucun fichier selectionné");
                    }
     
                }
                else
                {
     
     
                    System.IO.StreamReader l_STR;
                    l_STR = new System.IO.StreamReader(chemin); // Instancie avec un parametre notre fichier texte
                    string ExtenFichier;
                    ExtenFichier = Path.GetExtension(chemin);
     
                    if (ExtenFichier != ".txt")
                    {
                        MessageBox.Show("Fichier non valide");
                        ChargerContacts();
                    }
                    else
                    {
                        {
     
     
                            string l_Ligne;
                            progressBar1.Value = 10;
                            progressBar1.Visible = true;
                            while (l_STR.EndOfStream == false)
                            {
                                l_Ligne = l_STR.ReadLine();
                                string[] l_tabVal;
                                l_tabVal = l_Ligne.Split(';');
                                cls_Contact l_Contact = null;
                                l_Contact = new cls_Contact();
                                l_Contact.c_Nom = l_tabVal[0];
                                l_Contact.c_Prenom = l_tabVal[1];
                                l_Contact.c_NumTel = l_tabVal[2];
                                l_Contact.c_Mail = l_tabVal[3];
                                c_ListContact.Add(l_Contact);
     
                            }
                            l_STR.Close();
     
                            progressBar1.Value = 30;
                            progressBar1.Value = 60;
                            AfficherContacts();// Appelle la procédure AfficherContact
                            progressBar1.Value = 100;
                            MessageBox.Show("Importation des contact réussi");
     
     
                        }
                    }
                }
            }
       }
    Et de mon bouton click :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        private void button4_Click(object sender, EventArgs e)
            {
                frm_ajout l_frm_ajout;  //Crée variable de type frm_detail
                l_frm_ajout = new frm_ajout(); // Instancie la fenetre frm_detail
     
                //Affectation du contact sélectionné
                //  l_frm_ajout.Initialise(l_Contact, this);
     
                l_frm_ajout.Show();
     
            }
    Débutant dans l'ame ^^

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 155
    Points
    155
    Par défaut
    Il suffit de sortir la déclaration de chemin de ta méthode comme ca les autres méthode peuvent aussi y avoir accès ( en admettant que j'ai compris le problème...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
     
    private string chemin;
     
    public void ChargerContacts()
            {
     
                c_ListContact = new System.Collections.Generic.List<cls_Contact>(); // La collection avec le types
     
     
                {
     
                    OpenFileDialog f = new OpenFileDialog(); //création d'une fenetre d'exploration 
                f.ShowDialog(); // Affichage de cette fenetre 
                chemin = f.FileName;
     
     
     
                if (chemin == "")
                {
                    string message = "Aucun fichier selectionner . Voulez vous en saisir un ?";
                    string caption = "Quitter";
                    var result = MessageBox.Show(message, caption,
                                                 MessageBoxButtons.YesNoCancel,
                                                 MessageBoxIcon.Question);
     
                    // If the no button was pressed ...
                    if (result == DialogResult.Yes)
                    {
                        ChargerContacts();
     
                    }
                    else
                    {
                        MessageBox.Show("Aucun fichier selectionné");
                    }
     
                }
                else
                {
     
     
                    System.IO.StreamReader l_STR;
                    l_STR = new System.IO.StreamReader(chemin); // Instancie avec un parametre notre fichier texte
                    string ExtenFichier;
                    ExtenFichier = Path.GetExtension(chemin);
     
                    if (ExtenFichier != ".txt")
                    {
                        MessageBox.Show("Fichier non valide");
                        ChargerContacts();
                    }
                    else
                    {
                        {
     
     
                            string l_Ligne;
                            progressBar1.Value = 10;
                            progressBar1.Visible = true;
                            while (l_STR.EndOfStream == false)
                            {
                                l_Ligne = l_STR.ReadLine();
                                string[] l_tabVal;
                                l_tabVal = l_Ligne.Split(';');
                                cls_Contact l_Contact = null;
                                l_Contact = new cls_Contact();
                                l_Contact.c_Nom = l_tabVal[0];
                                l_Contact.c_Prenom = l_tabVal[1];
                                l_Contact.c_NumTel = l_tabVal[2];
                                l_Contact.c_Mail = l_tabVal[3];
                                c_ListContact.Add(l_Contact);
     
                            }
                            l_STR.Close();
     
                            progressBar1.Value = 30;
                            progressBar1.Value = 60;
                            AfficherContacts();// Appelle la procédure AfficherContact
                            progressBar1.Value = 100;
                            MessageBox.Show("Importation des contact réussi");
     
     
                        }
                    }
                }
            }
       }
    private void button4_Click(object sender, EventArgs e)
            {
                frm_ajout l_frm_ajout;  //Crée variable de type frm_detail
                l_frm_ajout = new frm_ajout(); // Instancie la fenetre frm_detail
     
                //Affectation du contact sélectionné
                //  l_frm_ajout.Initialise(l_Contact, this);
     
                l_frm_ajout.Show();
     
            }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Hop tu viens de m'éclairer et je viens de comprendre tous :o
    Je te remercie encore une fois si tu pouvais résoudre ce probleme la aussi ^^ :
    Même variable on change pas "Chemin"

    J'aimerais l'utiliser dans une autre form appeller frm_ajout , et dans cette form j'ai un bouton enregistrer avec ce code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
        private void button1_Click(object sender, EventArgs e)
            {
     
     
                string message = "Creer un nouveau contact ?  ";
                string caption = "Nouveau Contact";
     
     
                    string l_texte = tbx_Mail.Text + ";" + tbx_Nom.Text + ";" + tbx_Prenom.Text + ";" + tbx_Tel.Text;
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter("Contacts.txt", true))
                        if (tbx_Nom.Text == "" || tbx_Mail.Text == "" || tbx_Prenom.Text == "" || tbx_Tel.Text == "")
                        {
                            MessageBox.Show("Veuillez saisir des informations corrects");
                        }
                        else
                        {
                            file.WriteLine(l_texte);
                            MessageBox.Show("Importation des contact réussi");
                            var result = MessageBox.Show(message, caption,
                                             MessageBoxButtons.YesNo,
                                             MessageBoxIcon.Question);
                            if (result == DialogResult.Yes)
                            {
                                tbx_Mail.Clear();
     
                            }
                            else
                            {
                                Close();
                            }
                        }
     
            }
    Et j'aimerais que a la place Contacts.Txt il y'est le chemin de mon fichier en gros la je dit au bouton d'enregistrer d'écrire par default dans ce fichier , J'aimerais que si je change de fichier sa écrive dedans

    Merci encore et +1

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 155
    Points
    155
    Par défaut
    Un post par problème c'est plus simple pour tous le monde... et n'oublie pas de passer celui la a résolu.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Je viens de dégouté ceci :

    Dans ma form frm_ajout ajouté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private string variablechemin;
            public frm_ajout(string lechemin)
            {
                InitializeComponent();
                variablechemin = lechemin;
            }
    et t'a ton texte qui est enregistré dans uneVariable
    N.B:
    Et lorsque j'appelle ma frm_ajout à partir de form1 on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     frm_ajout l_frm_ajout;  //Crée variable de type frm_detail
                l_frm_ajout = new frm_ajout(cheminde); // Instancie la fenetre frm_detail
     
                //Affectation du contact sélectionné
                //  l_frm_ajout.Initialise(l_Contact, this);
     
                l_frm_ajout.Show();
    Sa s’appelle passé une variable en paramètre je me trompe ?

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 155
    Points
    155
    Par défaut
    Il ya de nombreuse façon de faire tu viens d'en trouver une.

    Tu crée un constructeur personnalisé dans ta form2 qui prend un paramètre un string, et lorsque tu instancie ta form 2 tu luis passe ce paramètre.

    Ca marche bien parce que tu instancie ta form 2 depuis ta form 1 si tes deux formes ne ce connaissait pas du tous il te faudrait utiliser une autre solution.

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

Discussions similaires

  1. [WD12] Utiliser des variables d'une procédure dans autre procédure
    Par karim15 dans le forum WinDev
    Réponses: 2
    Dernier message: 17/04/2012, 08h05
  2. [XL-2003] garder une valeur de variable d'une procédure à une autre
    Par mathioustone dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 04/03/2011, 16h24
  3. [XL-2003] Impossible de récupérer une variable d'une procédure à l'autre
    Par roadmender dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/04/2010, 12h50
  4. [JSP] Variables de Session dans une procédure
    Par pontos dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 26/04/2007, 17h27
  5. Passer d'une procédure à l'autre par l'intermédiaire d'un GoTo
    Par trecks dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 09/04/2007, 20h21

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