Find text

Tags:    delphi

<< < 12 > >>
Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]



15 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Nope, vil gerne ha et helt procedure


Hej,

Du kan bruge RichEdit's egen FindText funktion eller bruge SearchBuf.
Jeg har lavet et eks. som bruger SearchBuf. Det kan både søge frem og tilbage.

Jeg har lavet det sådan at du har en record som indeholder søge informationerne (så du kan lave en "søg næste"). I denne record har jeg også lagt informationer så du på en nem måde kan tilføje en "replace" funktionalitet. Jeg har ikke lagt så mange kommentarer ind men hvis der er noget du ikke kan forstå så spørger du bare :)

Når du trykker på "test" knappen så bliver alle de steder i teksten, som søge rutinen finder, highlight'et med en rød font. Du skal skrive det som du søger efter i edit feltet ved siden af knappen.

"DoSearch" funktionen burde nemt kunne skrives om så den bruger FindText i steder for, men du vil midste funktionaliteten til at søge baglængs.

Jeg har ikke testet programmet 100% igennem med det burde give dig en god ide om hvordan det kan gøres.

Jeg har inkluderet kode (.pas) og form (.frm) filerne her under:
(unit1.pas)
Fold kodeboks ind/udKode 


(unit1.frm)
Fold kodeboks ind/udKode 


/Michael.


[Redigeret d. 03/07-03 13:16:09 af Michael Skovslund]



En nem kode til at lokalisere et tekststykke ville være "Pos"

eks:

pos('hej', edit1.text)

Derved får du et integer (heltal) for det første bogstav i teksten, så du lokalisere den første hendelse af 'hej' i en sætning. Det betyder at du ikke kan finde ud af om der er flere hendelser i samme streng.
Du kan selvfølgelig godt lede i flere strenge (i din richedit), og det er da heller ikke umuligt at lave en kode der søger videre efter at have fundet den første hendelse (eks. loop).





Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]


Her er funktionen, som hedder: function Pos(Substr: string; S: string): Integer;
Her er et eksempel:

if Pos('hej', RichEdit1) > 0 then close;

Den søger efter ordet "hej" i RichEdit1

***************************************
***************** nife ******************
***************************************



Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]


Brug TFindDialog ?



Der må da være nogen med noget bedre



Hmm.. er det da ikke godt nok?

Med Venlig Hilsen: CHadi
http://chadi.h4f.dk



Nope, vil gerne ha et helt procedure



Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]

Brug TFindDialog ?


Hvordan vælger man så hvor man vil søge med finddialogen



Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]

Her er funktionen, som hedder: function Pos(Substr: string; S: string): Integer;
Her er et eksempel:

if Pos('hej', RichEdit1) > 0 then close;

Den søger efter ordet "hej" i RichEdit1

***************************************
***************** nife ******************
***************************************


Det ville stadig være bedre med en finddialog



Hejsa

Jeg vil gerne vide hvordan man kan finde en text man søger på i en RichEdit1?
Og sefølig også gå ned i koden til hvor det er ;)

HJÆLP Tak :D

[Redigeret d. 30/06-03 19:30:13 af Bamse]

[Redigeret d. 30/06-03 19:30:25 af Bamse]

Brug TFindDialog ?

Hvordan vælger man så hvor man vil søge med finddialogen


Ville jeg også gerne vide.



<< < 12 > >>
t