Récupération de certaines lignes d'un RichEdit (ou Mémo)
:mrgreen:Bonjour,
Je possède un RichEdit avec un Gcode à l'interieur.
Le Code se compose plus ou moin de cette facon
Exemple :
Code:
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:
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:
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