Construção do Editor de Textos

Quarta parte



Passemos ao submenu Localizar.

Coloque um componente FindDialog no projeto. Em seguida abra o Menu Designer e dê um duplo clique em Localizar. No Editor Properties, entre as chaves { e } que se abrirem, digite:



   FindDialog1->Execute();
   int FoundAt, StartPos, ToEnd; // declara três variáveis int

////////////////////////////////////////////////////////////////////////
// INICIA A BUSCA A PARTIR DA SELEÇÃO ATUAL
// OU DE OUTRA FORMA
// INICIA A PARTIR DO INÍCIO DO TEXTO

   /*SelLength devolve o número de caracteres selecionados*/
    if (RichEdit1->SelLength) /* se há caracteres selecionados em RichEdit1*/
   /*SelStart devolve a posição do primeiro caracter selecionado no texto*/
   /*o código abaixo devolve a posição do último caracter selecionado*/
    StartPos = RichEdit1->SelStart + RichEdit1->SelLength;
  else
    StartPos = 0;
///////////////////////////////////////////////////////////////////////////

    /*Length() retorna o número de caracteres de AnsiString*/
    /*Ou ToEnd será igual a Text.Lengt() ou igual ao número dos
    caracteres a serem contados após o último caracter selecionado*/
    ToEnd = RichEdit1->Text.Length() - StartPos;
    /*FindText busca o texto num controle rich edit para a string
     especificada no parametro SearchStr (no exemplo: FindDialog1->FindText)*/
    FoundAt = RichEdit1->FindText(FindDialog1->FindText, 
                                            StartPos, ToEnd, TSearchTypes());
  if (FoundAt != -1) // se a variável for difetente de -1
    RichEdit1->SetFocus(); // coloca o foco em RichEdit1
    // coloca o cursor na primeira ocorrência
    RichEdit1->SelStart = FoundAt;
    // seleciona a string procurada no texto do RichEdit1
    RichEdit1->SelLength = FindDialog1->FindText.Length();



No Object Inspector, no evento (Events) OnFind de FindDialog1 escolha a opção Localizar1Click. Em Properties, dê um duplo clique em Options. Altere de false para true as seguintes opções:



frHideMatchCase

true

frHideWholeWord

true

frHideUpDown

true


Agora seu editor já se encontra apto para efetuar algumas buscas de textos ou caracteres.




anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO