[Delphi] Multiplos textos no edit

Delphi

C++

08/08/2019

Eu exporto um .zip de dados do SAT pra pegar todas as chave de acesso referente ao período X.
Segue anexo: http://prntscr.com/oq2jgj

Então fiz um programa para baixar essas chave de acesso em XML
Segue anexo: http://prntscr.com/oq2kb4

Minha duvida era: uma chave possui 44 números, como q eu posso fazer para copiar 10 chaves de acesso, colar no edit1 e ir preenchendo os outros 9 edit automático?
Joao Victor

Joao Victor

Curtidas 0

Respostas

Anderson Gonçalves

Anderson Gonçalves

08/08/2019

Eu exporto um .zip de dados do SAT pra pegar todas as chave de acesso referente ao período X.
Segue anexo: http://prntscr.com/oq2jgj

Então fiz um programa para baixar essas chave de acesso em XML
Segue anexo: http://prntscr.com/oq2kb4

Minha duvida era: uma chave possui 44 números, como q eu posso fazer para copiar 10 chaves de acesso, colar no edit1 e ir preenchendo os outros 9 edit automático?



Vamos lá,

Você sabe o comprimento da informação isso é muito útil, assim o copy pode te ajudar, faça um loop na sua Query e carregue toda a informação para o edit1 assim:

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
Edit1.Text :='';
Edit2.Text :='';
Edit3.Text :='';
Edit4.Text :='';
Edit5.Text :='';
Edit6.Text :='';

With ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from tbUsuario');
open;
while not ADOQuery1.Eof do
begin
i := i+1;
case i of
2:
Edit2.text := ADOQuery1.FieldByName('usulogin').AsString;
3:
Edit3.text := ADOQuery1.FieldByName('usulogin').AsString;
4:
Edit4.text := ADOQuery1.FieldByName('usulogin').AsString;
5:
Edit5.text := ADOQuery1.FieldByName('usulogin').AsString;
6:
Edit6.text := ADOQuery1.FieldByName('usulogin').AsString;
end;
Edit1.text := Edit1.Text+ADOQuery1.FieldByName('usulogin').AsString;
next;
end;
end;
end;

Fiz um exemplo rapidinho no delphi aqui so pra ver como fica, depois se vc quiser pegar o registro 3 do edit1 só pegar a partir da posição que acaba o dois e usar o comando copy.

Exemplo:

var x : string;

s := copy(edti1.text,45,89); // seria o registro 2
s:= copy(edit1.text,93,137); // registro 3 - assim.

Abraço espero ter ajudado.
GOSTEI 0
POSTAR