Avatar billede emptry Nybegynder
08. august 2010 - 16:59 Der er 3 kommentarer

Søgning

Hey eksperten.dk

Jeg vil igang med at lave mig et bette program, hvor man kan søge på noget, og så bliver svaret vist i en editor eller lign. men hvordan virker det helt præcis, er der en bestemt funktion eller findes der en guide på nette ?
Avatar billede mortvader Nybegynder
08. august 2010 - 20:31 #1
Er det tekst du vil søge i?
Så kig på POS.
Avatar billede stone Forsker
10. august 2010 - 07:40 #2
Du kan bruge FindDialog

eksemplet her søger i en RichEdit og går til resultatet, men du kan bare koble en memo eller lign. til funktionen.


procedure TForm2.FindDialog1Find(Sender: TObject);
var
  FoundAt: LongInt;
  StartPos, ToEnd: Integer;
begin
  with RxRichEdit1 do
  begin
    { begin the search after the current selection if there is one }
    { otherwise, begin at the start of the text }
    if SelLength <> 0 then

      StartPos := SelStart + SelLength
    else

      StartPos := 0;

    { ToEnd is the length from StartPos to the end of the text in the rich edit control }

    ToEnd := Length(Text) - StartPos;

    FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
    if FoundAt <> -1 then
    begin
      SetFocus;
      SelStart := FoundAt;
      SelLength := Length(FindDialog1.FindText);
    end;
  end;
Avatar billede hrc Mester
10. august 2010 - 14:56 #3
mort_vader (i fam. med Darth?): I stedet for pos burde man måske prøve StrUtils.PosEx som ikke starter forfra i strengen ved hver søgning, men søger ud fra et indeks.

.. når det er sagt, så er det nok Stones eksempel der fiskes efter.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester