Problem med regexp

Tags:    c++

Hej,

Jeg har et problem med min regexp. Jeg har lavet en funktion, der via regexp søger efter nogle ord i en edit-kontrol, hvorefter den går hen til det ord, markerer det, farver det blåt, og sætter markeringen tilbage, som den var før. Men der er (så vidt jeg kan se, har ikke fundet flere) 2 problemer:

1: Det virker kun, hvis ordet bliver skrevet som det absolut første i edit-kontrollen. Hvis du laver fx et E foran ordet, bliver E'et farvet, og det gør ordet også, med undtagen af et enkelt tegn. Hvis du skriver 2 E'er, bliver begge E'er farvet, men to tegn i ordet forbliver 'ufarvede' osv.

2: Funktionen finder kun den første forekomst af ordet i teksten. Den skal finde alle.

Funktionen:
Fold kodeboks ind/udKode 

Det er selvfølgelig FindKeyWords() I skal kigge på.



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Så vidt jeg lige kan se sætter du p til at pege på den fundne tekst (i szBuffer)
Den fundne tekst putter du derpå over i en stringstream (SS).
Fra SS læser du så en int.

Det er der to problemer med:
1: Det p peger på er måske ikke et tal (medmindre KeyWords er et tal).
2: SS er static, derfor er den måske ikke tom fra en operation til den næste.

Det du forsøger er vist at finde ud at hvor langt inde i szBuffer den fundne tekst befinder sig?

Det kan du finde ud af med:
Fold kodeboks ind/udKode 




Øv, jeg har været så dum at slette mit projekt. Jeg vender tilbage, hvis jeg genfinder lysten.



t