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 :

StreamWriter compteur line


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut StreamWriter compteur line
    Bonjours,

    j'ai réussie a faire un compteur pour StreamReader avec une chaine:

    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
     StreamReader fichier = null;
     
                    try
                    {
                        // on ouvre le fichier en lecture
                        fichier = new StreamReader(emplacement);// on ouvre "emplacement" qui est une variable constante
     
     
                        string line;
                        int i = 0;
                        //on lance une boucle
                        while ((line = fichier.ReadLine()) != null)
                        {
                            if (i == 1229)//on cherche la ligne 1229
                            {
     
                                string path = (line);//on prend ce qu'il y a dans la ligne
     
                                textBox1.Text = (path.Substring(0, 2));// On écrit aussi le nom dans la textbox afin de pouvoir par 
                                //exemple ne changer qu'un seul "raccourcis"
                            }
                            else if  (i == 1228) //on cherche la ligne 1229
                            {
                                string path = (line);//on prend ce qu'il y a dans la ligne
     
                                textBox2.Text = (path.Substring(18, 2));// On écrit aussi le nom dans la textbox afin de pouvoir par 
                                //exemple ne changer qu'un seul "raccourcis"
                            }
     
                            i++;//si la ligne 1 n'est pas trouvé on ajoute +1 à la variable "i"
     
     
                        }
     
                    }
                    catch
                    {
                        // ...
                    }
                    fichier.Dispose();


    Le probleme c'est que j'aimerai remplacer juste ce que la textbox affiche ici :
    (path.Substring(0, 2))

    Le probleme c'est que je n'arrive pas a faire de compteur pour StreamWriter et faire 1227 fois

    c'est moyen

    Merci de votre aide.

    Ps: le compteur se situe au debut du log afin d'afficher ce qu'il y a et j'aimerai que l'écriture se fasse que sur le click d'un bouton.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Le ReadLine() lit jusqu'à temps qu'il trouve un retour de ligne.

    Donc tu pourrais rechercher la position du 1229e retour de ligne, positionne toi là, et écrit.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Merci de la réponse, c'est ce que je voulais faire mais j'ai fais ça :

    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
    private void rec_Click(object sender, EventArgs e)
            {
     
     
                //on lance la lecture du fichier
                StreamReader fichier = null;
     
                try
                {
                    // on ouvre le fichier en lecture
                    fichier = new StreamReader(emplacement);// on ouvre "emplacement" qui est une variable constante
     
     
                    string line;
                    int i = 0;
                    //on lance une boucle
                    while ((line = fichier.ReadLine()) != null)
                    {
                        if (i == 1229)//on cherche la ligne 1229
                        {
                            try
                            {
                                //Pass the filepath and filename to the StreamWriter Constructor
                                StreamWriter sw = new StreamWriter(emplacement);
     
                                //Write a line of text
                                sw.WriteLine("Rate   = " + textBox1.Text);
     
     
     
                                //Close the file
                                sw.Close();
                                MessageBox.Show("Modifications enregistrées", "Yeaaaa");
     
     
                            }
                            catch (Exception a)
                            {
                                Console.WriteLine("Exception: " + a.Message);
                            }
                            finally
                            {
                                Console.WriteLine("Executing finally block.");
                            }
     
     
                        }
                        else if (i == 1228) //on cherche la ligne 1229
                        {
                            string path = (line);//on prend ce qu'il y a dans la ligne
     
                            textBox2.Text = (path.Substring(18, 2));// On écrit aussi le nom dans la textbox afin de pouvoir par 
                            //exemple ne changer qu'un seul "raccourcis"
                        }
     
                        i++;//si la ligne 1 n'est pas trouvé on ajoute +1 à la variable "i"
     
     
                    }
     
                }
                catch
                {
                    // ...
                }
                fichier.Dispose();
            }

    Mais lorsque je clique sur le bouton le message box n'apparait pas est donc le code ne fonctionne pas ...Why ?

    Merci de vos réponses.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    peut etre ne trouve t'il pas "Emplacement"

    tu devrais mettre un messagebox dans ton catch principal : car actuellement tu ne préviens pas toutes les erreurs possibles

    ou mettre un try{}catch{} après ton "else if"

    PS : si ton fichier ne fait pas au moins 1228 lignes, rien n'apparaitra non plus

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2010
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 193
    Par défaut
    Le fichier ce situe a coter du programme, avant j'avais mit un catch mais il ne marché pas non plus, le fichier fait 1700 ligne.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    ben alors je ne peux que te conseiller de placer un point d'arret au début de ta fonction et de l'exécuter pas à pas.

    encore une question débile : l'évènement "click" est bien associé/déclenché ?

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

Discussions similaires

  1. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

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