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 :

(Expression régulière) Traitement d'un fichier txt


Sujet :

C#

  1. #61
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    J'ai essayé d'utiliser un tableau, voilà mon essai :

    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
    StreamReader lecture = new StreamReader(File.OpenRead(fichier));
    string script = lecture.ReadToEnd();
    lecture.Close();
     
    // Fichier dans un tableau
    string[] test = File.ReadAllLines(fichier, Encoding.ASCII);
    string update_trigger = ("CREATE OR REPLACE TRIGGER UPDATE_"+nom_table_update);
     
    if (script.Contains(update_trigger))
    {
       int cpt = 0;
       while (cpt < test.Length)
       {
          if (test[cpt].Contains(update_trigger))
          {
             break;
          }
          else
          {
             cpt++;
          }
       }
       // Placement juste après le BEGIN
       cpt = cpt + 3;
     
       test[cpt]="TEST1";
       test[cpt+1]="TEST2";
     
       System.IO.File.WriteAllLines(fichier, test);
     
    }
    Donc cela me permet d'insérer TEST1 et TEST2 là où je veux insérer mes deux lignes et l'enregistrement s'effectue bien.

    Par contre, j'ai donc deux lignes écrasées à chaque fois ... Normal vue que je remplace. Comment je pourrai faire pour insérer ces deux lignes sans rien écraser ?
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  2. #62
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    J'ai essayé de faire quelque chose mais j'obtiens "une exception non gérée" sur la ligne en rouge:

    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
    StreamReader lecture = new StreamReader(File.OpenRead(fichier));
    string script = lecture.ReadToEnd();
    lecture.Close();
     
    // Fichier dans un tableau
    string[] test = File.ReadAllLines(fichier, Encoding.ASCII);
    string update_trigger = ("CREATE OR REPLACE TRIGGER UPDATE_"+nom_table_update);
     
    if (script.Contains(update_trigger))
    {
       int cpt = 0;
       while (cpt < test.Length)
       {
          if (test[cpt].Contains(update_trigger))
          {
             break;
          }
          else
          {
             cpt++;
          }
       }
       // Placement juste après le BEGIN
       cpt = cpt + 3;
     
       for (int i=cpt+2; i<=test.Length; i++) 
       {
          test[i] = test[i-2];
       }
    							
       test[cpt] = "TEST1";
       test[cpt+1] = "TEST2";
    							
       System.IO.File.WriteAllLines(fichier, test);
    }
    L'erreur arrive lorsque le compteur i est à la fin du fichier.

    J'ai oublié quelque chose ?
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  3. #63
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Enfaite je crois que ma syntaxe est carrément fausse

    Y a-t-il des cours sur l'insertion de lignes dans un tableaux ?
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  4. #64
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Pourquoi tu n'essayes pas ce que je t'ai proposé avec un tableau de ReadLines() avant insertion , un tableau après insertion.

    Et puis écraser ton fichier en faisant :

    - écrire le tableau avant
    - écrire tes deux lignes
    - écrire le tableau après

    Tu n'écraserais rien comme ça (enfin si ton ancien fichier mais pas grave).
    Et tes deux lignes viendraient s'insérer au bon endroit.

  5. #65
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    J'ai essayé de faire comme ça car j'aurais gagné du temps par la suite dans mon code.

    Mais bon comme je n'y arrive pas, je vais faire comme tu dit

    Pour l'instant, j'essaye de récupérer tout le texte avant mon insertion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    string update_trigger = ("CREATE OR REPLACE TRIGGER UPDATE_"+nom_table_update);
    StreamWriter sw = null;
    sw = File.AppendText(fichier);
    StreamReader monStreamReader = new StreamReader(fichier);
    string ligne = monStreamReader.ReadLine();
     
    while(ligne.Contains(update_trigger) == false)
    {							
       ligne = monStreamReader.ReadLine(); 
       sw.WriteLine(ligne);
    }
    monStreamReader.Close();
    sw.Close();
    J'ai essayé de m'inspirer d'un autre poste pour réaliser cela et dans celui-ci, il n'utilisait pas de tableau.
    Dois-je quand même insérer dans un tableau ?
    C'est bien cette méthode que tu m'as conseillé ?
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  6. #66
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    J'ai essayé de mettre cela en place avec un tableau :

    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
    string[] test = File.ReadAllLines(fichier, Encoding.ASCII);
    StreamWriter sw = new StreamWriter(fichier, true, Encoding.ASCII);
    int cpt = 0;
     
    while (cpt < test.Length)
    {
       if (test[cpt].Contains(update_trigger))
       {
          break;
       }
       else
       {
          cpt++;
       }
    }
     
    // On se place juste après le BEGIN
    cpt = cpt + 3;
    int i = 0;
    for (; i < cpt; i++)
    {
       sw.WriteLine(test[i]);
    }
     
    sw.WriteLine = "TEST1";							
    sw.WriteLine = "TEST2";
     
    for (; i < test.Length ; i++)         
    {
       sw.WriteLine(test[i]);
    }
     
    sw.Close();
    Lorsque j'exécute le code, j'obtiens deux erreurs sur :
    sw.WriteLine = "TEST1";
    sw.WriteLine = "TEST2";

    Cannot assign to 'WriteLine' because it is a 'method group'
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  7. #67
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par 4rocky4
    Lorsque j'exécute le code, j'obtiens deux erreurs sur :
    sw.WriteLine = "TEST1";
    sw.WriteLine = "TEST2";

    Cannot assign to 'WriteLine' because it is a 'method group'
    Normal, WriteLine est une méthode il faut l'utiliser correctement, tu ne peux pas l'assigner.

    on fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sw.WriteLine("Coucou");

    Sinon,
    Je viens d'essayer de faire ce que je t'avais dit et ça fonctionne très bien.
    C'est rapide, même si le fichier est grand, ça trouve la table concernée par le update trigger et ça insère à l'endroit voulu sans aucun problème

    Alors je ne sais pas si tu veux continuer a aller dans la direction de l'utilisation de tableau mais si jamais tu sais que la méthode que je t'ai conseillée fonctionne, j'ai le code.

    Pour info, j'utilise deux List<string> avec leur méthode Add(). Une d'avant insertion et une d'après insertion.

    Deux boucles, une pour trouver le update trigger de la bonne table (vu que j'imagine qui en a plusieurs), une autre pour trouver le BEGIN associe.

    Et enfin a peine 6 lignes de code pour écrire tout le fichier avec insertion de deux lignes comprises

  8. #68
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Merci pour ta réponse, j'ai corrigé les deux méthodes puis j'ai exécuté mon code.
    Mon fichier est passé de 30ko à 30mo et mon pc à planté

    Dans ce code là, j'ai voulu essayer ta méthode, mais j'ai dû mal comprendre vue que je n'utilise pas de list<string>.
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  9. #69
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    L'avantage des List<string> c'est que c'est "dynamique", tu n'es pas obliger de fixer une taille étant donné qu'on ne sait pas, dans ton cas, le nombre de lignes qu'on va stocker avant de les réécrire par après.

    Et il existe la méthode Add() sur la liste prenant en paramètre l'objet à insérer (donc ici, un string, une ligne du fichier dans notre cas) qui se place directement à la suite des objets déjà présents si il y en a. C'est très pratique.

    http://msdn.microsoft.com/fr-fr/libr...s6(VS.85).aspx

  10. #70
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Je nage un peu dans l'utilisation de ces List<string>.

    j'ai le droit d'écrire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    List<string> tests = new List<string>(fichier);
    while ( tests.Contains(update_trigger) == false)
    {
       foreach(string test in tests)
       {
          sw.WriteLine(test);
       }
    }
    Peux-tu me montrer ton exemple pour que ça soit un peu plus clair car je patauge dans la semoule là lol
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  11. #71
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Pourquoi utiliser un StreamWriter ? On utilise StreamReader pour Lire, StreamWriter pour écrire .

    Donc au début, tu as juste besoin de StreamReader pour identifier les lignes avant et après et les stocker dans des listes.

    Citation Envoyé par 4rocky4 Voir le message
    Je nage un peu dans l'utilisation de ces List<string>.

    j'ai le droit d'écrire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    List<string> tests = new List<string>(fichier);
    while ( test.Contains(update_trigger) == false)
    {
       foreach(string test in tests)
       {
          sw.WriteLine(test);
       }
    }
    Tu dois avoir des boucles ressemblant à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    List<string> avant = new List<string>();
    using(StreamReader sr = new StreamReader(fichier))
    {
       while(.....) // Ta condition (Chercher le update trigger, le begin, etc...)
       {
           string ligne_courante = sr.ReadLine();
           avant.Add(ligne_courante);
     
          /* ou directement avant.Add(sr.ReadLine()); */
       }
    }
    Je veux bien t'aider avec le code tout ça, ca me dérange aucunement mais avant ce qui serait bien c'est que tu comprennes la "logique" (je crois que ça tu l'as ou plus ou moins ) et que tu vois comment faire avec quel outils.

  12. #72
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Citation Envoyé par Antho42 Voir le message
    Je veux bien t'aider avec le code tout ça, ca me dérange aucunement mais avant ce qui serait bien c'est que tu comprennes la "logique" (je crois que ça tu l'as ou plus ou moins ) et que tu vois comment faire avec quel outils.
    Effectivement je préfère prendre un peu plus de temps et comprendre comment ça marche. Cela fait deux semaines que j'ai commencé le C# donc ce n'est pas évident mais ça vient petit à petit.

    Je préfère essayer puis de poster afin que tu me dises ce qui n'est pas bon. (si ça te dérange pas bien sur )
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  13. #73
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Non, pas de problème, le forum est, entre-autre, la pour ça.
    Hésite pas à poster mais pense aussi à rechercher, on le répète souvent sur ce forum, la doc en ligne MSDN est vraiment très pratique et on y trouve des tas d'informations et d'exemples

    http://msdn.microsoft.com/fr-fr/libr...eamreader.aspx

  14. #74
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Je ne vois pas comment faire la boucle pour trouver le begin associé à update_trigger ...

    Pour écrire dans le fichier quand mes List seront remplies, j'utilise un streamwriter ?
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  15. #75
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par 4rocky4 Voir le message
    Je ne vois pas comment faire la boucle pour trouver le begin associé à update_trriger ...
    Ha oui ben la c'est à toi de voir la logique et le style de boucle à utiliser. Moi personnellement j'utilise un do~while() dans un while() avec une condition booléenne de sortie

    Citation Envoyé par 4rocky4
    Pour écrire dans le fichier quand mes List seront remplies, j'utilise un streamwriter ?
    Oui c'est bien ça
    Un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    using (StreamWriter sw = new StreamWriter(fichier))
                {
                    foreach (string s in avantInsertion)
                        sw.WriteLine(s);
     
                    ...
                }
    Normalement l'écriture c'est vraiment très court et simple, parcourir le tableau des lignes avant et écrire, insérer tes deux lignes et puis parcrourir le tableau des lignes après et écrire.

  16. #76
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Voilà mon essai :

    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
    string update_trigger = ("CREATE OR REPLACE TRIGGER UPDATE_"+nom_table_update);
    List<string> avant = new List<string>();
    List<string> apres = new List<string>();
     
    using(StreamReader sr = new StreamReader(fichier))
    {
       // On ajoute jusqu'au nom du trigger
       do
       {
          avant.Add(sr.ReadLine());
       }
       while (sr.ReadLine() != update_trigger);
     
       // On ajoute jusqu'au BEGIN
       do
       {								
          avant.Add(sr.ReadLine());
       }
       while (sr.ReadLine() != "BEGIN");
       avant.Add(sr.ReadLine());  // Ajout de la ligne BEGIN dans la List avant
     
       // On ajoute le reste du fichier
       while(sr.ReadLine() != null)
       {
          apres.Add(sr.ReadLine());
       }
    }
     
     
    // Ecriture du fichier
    using (StreamWriter sw = new StreamWriter(fichier))
    {
       foreach (string s in avant)
       {
          sw.WriteLine(s);
       }
     
       // on ajoute les deux lignes								
       sw.WriteLine("TEST1");
       sw.WriteLine("TEST2");
     
       foreach (string s in apres)
       {
          sw.WriteLine(s);
       }
    }
    Bien évidemment, cela ne marche pas

    Puis-je avoir une critique ? lol
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  17. #77
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par 4rocky4 Voir le message
    Voilà mon essai :

    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
    string update_trigger = ("CREATE OR REPLACE TRIGGER UPDATE_"+nom_table_update);
    List<string> avant = new List<string>();
    List<string> apres = new List<string>();
     
    using(StreamReader sr = new StreamReader(fichier))
    {
       // On ajoute jusqu'au nom du trigger
       do
       {
          avant.Add(sr.ReadLine());
       }
       while (sr.ReadLine() != update_trigger);
     
       // On ajoute jusqu'au BEGIN
       do
       {								
          avant.Add(sr.ReadLine());
       }
       while (sr.ReadLine() != "BEGIN");
       avant.Add(sr.ReadLine());  // Ajout de la ligne BEGIN dans la List avant
     
       // On ajoute le reste du fichier
       while(sr.ReadLine() != null)
       {
          apres.Add(sr.ReadLine());
       }
    }
     
     
    // Ecriture du fichier
    using (StreamWriter sw = new StreamWriter(fichier))
    {
       foreach (string s in avant)
       {
          sw.WriteLine(s);
       }
     
       // on ajoute les deux lignes								
       sw.WriteLine("TEST1");
       sw.WriteLine("TEST2");
     
       foreach (string s in apres)
       {
          sw.WriteLine(s);
       }
    }
    Bien évidemment, cela ne marche pas

    Puis-je avoir une critique ? lol
    Oui, logique.
    Il faut te dire que à partir du moment ou tu écris sr.ReadLine() , ca passe à la ligne suivante. Or par exemple tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // On ajoute jusqu'au nom du trigger
       do
       {
          avant.Add(sr.ReadLine());
       }
       while (sr.ReadLine() != update_trigger);
    Donc tu stock une première fois puis tu refais un ReadLine() du au fait qu'il est précisé dans le while(), ce qui fait que tu ne stocke qu'une ligne sur deux.
    Y a plusieurs solutions, autre système de boucle ou passer par une variable "temporaire" string et utiliser cette variable dans ton while()

    Sinon la logique est bonne ,c'est tout à fait ça, quand tu auras résolu ce souci, ça devrait fonctionner

  18. #78
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    J'ai rajouté une variable string mais j'ai un petit soucis, comment écrire la ligne update_trigger et la ligne BEGIN dans la List ?

    Ma boucle s'arrête sur ma condition et passe à la ligne suivante ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while ((ligne=sr.ReadLine()) != update_trigger)
    {
       avant.Add(ligne);
    }
     
    while ((ligne=sr.ReadLine()) != "BEGIN")
    {
       avant.Add(ligne);
    }
    Avec ceci je récupère bien ce que je veux mais cela zap les deux lignes des conditions.
    C'est pour ça que tout à l'heure j'ai rajouter avant.Add(sr.ReadLine()); car je pensais que ça allait me récupérer mon begin
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

  19. #79
    Membre habitué Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 161
    Points
    161
    Par défaut
    Tu es sur la bonne voie, il te reste plus que ça à "combler" et le tour es joué.
    Ici c'est un peu un problème de "logique", il faut utiliser les instructions et les variables mises à ta disposition de la bonne manière.

    Par exemple, tu te mets dans une boucle while() sur un boolean (true or false).
    Tu boucles tant que faux, dans ta boucle tu fait un ReadLine(), tu le stockes et après tu vérifies si ce ReadLine correspond a update_trigger (ou BEGIN, c est le même principe).

    Si ca ne correspond pas, tu ne fais rien -> la boucle continue et va voir la ligne après.

    Si ca correspond, tu mets le boolean a true, ce qui fait que tu vas sortir de ta boucle pcq tu as trouvé mais la ligne aura bien été stockée quand même

  20. #80
    Membre habitué Avatar de 4rocky4
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    528
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 528
    Points : 180
    Points
    180
    Par défaut
    Effectivement, mettre un boolean règle le problème
    "J'glande pas ! Ça compile ..."

    4rocky4
    - Un con qui marche ira plus loin q'un intellectuel assis -

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

Discussions similaires

  1. Traitement d'un fichier txt
    Par anass_59 dans le forum Général Python
    Réponses: 15
    Dernier message: 23/06/2009, 11h13
  2. Expressions régulières : traitement de HtmlPage + API HtmlUnit
    Par lahmar.abdel1 dans le forum Général Java
    Réponses: 2
    Dernier message: 30/04/2009, 14h16
  3. traitement d'un fichier txt
    Par arezki76 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/06/2007, 14h36
  4. Réponses: 9
    Dernier message: 03/01/2007, 17h06

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