rap12 Novato

Registrado: Quinta-Feira, 3 de Março de 2016 Mensagens: 1
|
Enviada: Qui Mar 03, 2016 3:48 pm Assunto: Aplicação para substituir palavras do memo, Dbgrid e Excel. |
|
|
Prezados, estou com um código tentando substituir palavras de um memo, estou utilizando um DBGrid e uma planilha do Excel.
Conectei todos, mas não consigo substituir automaticamente, por exemplo eu tenho um código que se eu clicar no termo do db grid e clicar em buscar eu consigo fazer o programa alterar, mas quando eu tento fazer isso de forma automática nada ocorre ou então trava dependendo de onde eu coloco o comando datasource1.dataset.next, não tenho problemas na parte de cópia e substituição em si e sim no própria parte do dbgrid. segue:
Dependendo de onde está o datasource1.dataset.next ele trava ou então o programa funciona, ele percorre todo o dbgrid, porém nada acontece com o memo.
procedure TForm1.BIniciarBuscaClick(Sender: TObject);
var ver,tuss,fe,cg: String;
i, ii,cont : Integer;
begin
cont:=0;
DataSource1.DataSet.First;
while not DataSource1.DataSet.eof do
begin
cg:= '<ans>'+DataSource1.DataSet.FieldByName('Código do grupo').AsString+'</ans>';
tuss:= '<ans>'+DataSource1.DataSet.FieldByName('Código TUSS').AsString+'</ans>';
fe:= '<ans>'+DataSource1.DataSet.FieldByName('Forma de envio').AsString+'</ans>';
para:= '<ans>'+cg+'</ans>';
de:= '<ans>'+tuss+'</ans>';
For i:= 0 To Memo1.Lines.Count -1 Do
Begin
For ii:=1 To Length(Memo1.Lines.Strings[i]) Do
Begin
ver:= Copy(Memo1.Lines.Strings[i], ii, Length(de));
If (ver = de) and (fe ='Consolidado') Then
Begin
ver:= Copy(Memo1.Lines.Strings[i], 1, ii-1) + para +
Copy(Memo1.Lines.Strings[i], ii + Length(de), Length(Memo1.Lines.Strings[i]));
Memo1.Lines.Strings[i] := ver;
Inc(cont);
End;
End;
End;
DataSource1.DataSet.Next;
end;
// MessageDLG(IntToStr(cont) + ' substituições efetuadas', mtInformation, [mbOk], 0);
end; |
|