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#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    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
    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 actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    65
    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 : 65
    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 actif
    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
    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 actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    65
    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 : 65
    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 actif
    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
    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 actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    65
    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 : 65
    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 actif
    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
    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 ?

+ 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