Bonjour,

Je possède un RichEdit avec un Gcode à l'interieur.
Le Code se compose plus ou moin de cette facon
Exemple :
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
 
(ESSAI)  // Titre
G90 G80 G40 M3
G92 X0 Y0 Z0
(T5 FRAISE A SURFACER)  // Outil
G1 F140
X0.000
Z-0.026
Y0.029
Y0.058 Z-0.026   // Positions
Y0.087
Y0.116 Z-0.025
Y0.145 Z-0.027
Y0.174 Z-0.026
Y0.029
(T2 FRAISE A CORRONER) // Outil
Y0.058 Z-0.026
Y0.087
Y0.116 Z-0.025
Y0.145 Z-0.027
Y0.174 Z-0.026
G90 G80 G40 M3
G92 X0 Y0 Z0
G1 F140
Des positions en X Y Z , un titre entre parenthese et des outils également entre parenthese.

Mon but et de recuperer seulements les outils de ce code et de les envoyer dans un Memo (Mémo3)

Pour ceci j'ai déclarer une fonction :
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
 
void fonction(TRichEdit *RichEdit1,TMemo *Memo2,TMemo *Memo3)
{  //Debut Void
   for (i=0; i < nbligne; i++)
   {
    DWORD count = 0;
    int Caret = 0;
    ligne=RichEdit1->Lines->Strings[i];                     // ligne = La ligne numéro i dans richedit
    pstr = ligne.c_str();
    while(*pstr)
    {
      if(*pstr >= '(' && *pstr <=')')
      {count++;
       }
     pstr++;
     }
    Caret += 2;                                            //saut de ligne
    Memo2->Lines->Add(count);                     // Affiche Nombre de Lettres par ligne dans Memo2
     if (count>=1) 
     {
     Memo3->Lines->Add(ligne);     // Affiche la ligne comportant + de 1 ( ou )
     }
  }
}  // Fin Void
En procédant de cette facon j'arrive obtenir toutes les lignes avec qq chose entre parenthese. Mais ca ne me suffit pas car le titre peut s'en mêler.
J'ai donc essayer de dire qu'il devait y avoir un 'T' également sur cette ligne vu qu'un outil commence toujours par (Tx ..... ).
Mais les combinaisons que j'ai éssayé sont impossible a cause du pointeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
if(*pstr >= '(' && *pstr <=')' && *pstr >='T' && *pstr <'U')
ou 2 if a la suite mais sans succes.
Besoin d'une ampoule 250 watt pour m'éclairer