vms Postado Agosto 10, 2007 Denunciar Share Postado Agosto 10, 2007 ola pessoalcomo faço uma pesquisa dentro de um dbmemo usando o finddialog?(somente no dbmemo e não na tabela)como seria o comando? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Agosto 11, 2007 Denunciar Share Postado Agosto 11, 2007 ola pessoalcomo faço uma pesquisa dentro de um dbmemo usando o finddialog?(somente no dbmemo e não na tabela)como seria o comando?//Procura e substituição de string num campo dbmemo Procedure TForm1.Button1Click (Sender: TObject); Begin FindReplace(Edit1.Text,Edit2.Text, DBMemo1); end; Procedure FindReplace (const Enc, subs: String; Var Texto: TDBMemo); Var i, Posicao: Integer; Linha: string; Begin For i:= 0 to Texto.Lines.count - 1 do begin Linha := Texto. Lines[i]; Repeat Posicao:=Pos(Enc,Linha); If Posicao > 0 then Begin Delete(Linha,Posicao,Length(Enc)); Insert(Subs,Linha,Posicao); Texto.Lines[i]:=Linha; end; until Posicao = 0; end; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vms Postado Agosto 11, 2007 Autor Denunciar Share Postado Agosto 11, 2007 estar dando erro nesse FindReplace[Error]Unit3.pas(209): Undeclared identifier: 'FindReplace'Procedure TForm1.Button1Click (Sender: TObject);BeginFindReplace(Edit1.Text,Edit2.Text, DBMemo1);end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Agosto 11, 2007 Denunciar Share Postado Agosto 11, 2007 Foi mal ... inverta a posição da procedure ....Procedure FindReplace deve vir em primeiro e Procedure TForm1.Button1Click deve vir depois, se não acontece erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Agosto 11, 2007 Denunciar Share Postado Agosto 11, 2007 Foi mal ... inverta a posição da procedure ....Procedure FindReplace deve vir em primeiro e Procedure TForm1.Button1Click deve vir depois, se não acontece erro.outra coisa que esqueci voce deve definir no type:type TForm1 = class(TForm) Button1: TButton; DBGrid1: TDBGrid; Query1: TQuery; DataSource1: TDataSource; DBMemo1: TDBMemo; procedure Button1Click(Sender: TObject); Procedure FindReplace (const Enc, subs: String; Var Texto: TDBMemo); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 11, 2007 Denunciar Share Postado Agosto 11, 2007 como faço uma pesquisa dentro de um dbmemo usando o finddialog?apenas salientando que a questão é fazer uma pesquisa, não substituição.Jonas, acredito que deva ser exemplificado esta situação.Há também um tópico de 2006 (Como Usar A Caixa De Pesquisar Para Pesquisar Em Um Memo?) sobre este assunto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Jonas -- Postado Agosto 12, 2007 Denunciar Share Postado Agosto 12, 2007 Exemplificando melhor com o FindDialog:procedure TMainForm.FindDialog1Find(Sender: TObject); var Buff, P, FT : PChar; BuffLen : Word; begin With Sender as TFindDialog do begin GetMem(FT, Length(FindText) + 1); StrPCopy(FT, FindText); BuffLen:= DBMemo1.GetTextLen + 1; GetMem(Buff,BuffLen); DBMemo1.GetTextBuf(Buff,BuffLen); P:= Buff + DBMemo1.SelStart + DBMemo1.SelLength; P:= StrPos(P, FT); if P = NIL then MessageBeep(0) else begin DBMemo1.SelStart:= P - Buff; DBMemo1.SelLength:= Length(FindText); end; FreeMem(FT, Length(FindText) + 1); FreeMem(Buff,BuffLen); end; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
vms
ola pessoal
como faço uma pesquisa dentro de um dbmemo usando o finddialog?
(somente no dbmemo e não na tabela)
como seria o comando?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.