Como importar aequivo txt ou csv(Delphi 10, banco de dados firibird)?
10/01/2018
0
Pessoal, aguem consegue me ajudar com esse código de importação de arquivo txt delimitado por ";", pois está importando apenas a primeira linha, não consigo importar o arquivo todo.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
DBEdit1.Text:=OpenDialog1.FileName;
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
Var
arqcsv: TextFile;
Contador, I: Integer;
Linha: String;
// Lê Linha e Monta os valores
function MontaValor: String;
var ValorMontado: String;
begin
ValorMontado := '''';
inc(I);
While Linha[I] >= '' '' do
begin
If Linha[I] = '';'' then // vc pode usar qualquer delimitador ... eu
// estou usando o ";"
Break;
ValorMontado := ValorMontado + Linha[I];
inc(I);
end;
result := ValorMontado;
end;
begin
// Carregando o arquivo ...
AssignFile(arqcsv,DBEdit1.Text);
try
Reset(arqcsv);
Readln(arqcsv, Linha);
Contador := 1;
while not Eoln(arqcsv) do
begin
if Contador = 1 then // Primeira Linha do arquivo (CAD_ORIGEM);
begin
I := 0;
ClientDataSet1.Append;
ClientDataSet1COD_ORIGEM.AsString := MontaValor;
ClientDataSet1CAD_ESTABELECIMENTO.AsString := MontaValor;
ClientDataSet1CAD_PROPRIETARIO.AsString := MontaValor;
ClientDataSet1CAD_MUNICIPIO.AsString := MontaValor;
ClientDataSet1CAD_UF.AsString := MontaValor;
ClientDataSet1.Post;
end;
Readln(arqcsv,Linha);
Contador := Contador + 1;
end;
finally
CloseFile(arqcsv);
end;
end;
end.
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
DBEdit1.Text:=OpenDialog1.FileName;
end;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
Var
arqcsv: TextFile;
Contador, I: Integer;
Linha: String;
// Lê Linha e Monta os valores
function MontaValor: String;
var ValorMontado: String;
begin
ValorMontado := '''';
inc(I);
While Linha[I] >= '' '' do
begin
If Linha[I] = '';'' then // vc pode usar qualquer delimitador ... eu
// estou usando o ";"
Break;
ValorMontado := ValorMontado + Linha[I];
inc(I);
end;
result := ValorMontado;
end;
begin
// Carregando o arquivo ...
AssignFile(arqcsv,DBEdit1.Text);
try
Reset(arqcsv);
Readln(arqcsv, Linha);
Contador := 1;
while not Eoln(arqcsv) do
begin
if Contador = 1 then // Primeira Linha do arquivo (CAD_ORIGEM);
begin
I := 0;
ClientDataSet1.Append;
ClientDataSet1COD_ORIGEM.AsString := MontaValor;
ClientDataSet1CAD_ESTABELECIMENTO.AsString := MontaValor;
ClientDataSet1CAD_PROPRIETARIO.AsString := MontaValor;
ClientDataSet1CAD_MUNICIPIO.AsString := MontaValor;
ClientDataSet1CAD_UF.AsString := MontaValor;
ClientDataSet1.Post;
end;
Readln(arqcsv,Linha);
Contador := Contador + 1;
end;
finally
CloseFile(arqcsv);
end;
end;
end.
Wagner Freitas
Curtir tópico
+ 0
Responder
Posts
19/09/2019
Ricardo Araujo
Boa tarde,
Sobre o arquivo de importação conseguiu fazer ?
Sobre o arquivo de importação conseguiu fazer ?
Responder
Clique aqui para fazer login e interagir na Comunidade :)