Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
MarcguimDelphi Novato
Registrado: Segunda-Feira, 23 de Setembro de 2019 Mensagens: 6
|
Enviada: Seg Set 23, 2019 10:45 am Assunto: CSV pulando ultima linha, leitura de arquivo [RESOLVIDO] |
|
|
Bom dia, tenho um codigo que não entendo o pq está pulando a ultima linha do meu arquivo CSV, ele não lê e não mostra no grid.
Código: |
var
ArquivoCSV: 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(ArquivoCSV, 'C:\Users\Drag\Documents\SYSCLIENTE\Arquivos\yyy.CSV');
try
Reset(ArquivoCSV);
Readln(ArquivoCSV, Linha);
Contador := 1;
while not EOF(ArquivoCSV) do
begin
if Contador = 1 then // Primeira Linha do arquivo (Pedido);
else
begin
// Demais Linhas (Itens do Pedido )
I := 0;
cdsPedido.Append;
cdsPedidoCOD_CLIENTE.AsString := MontaValor;
cdsPedidoCLIENTE.AsString := MontaValor;
cdsPedido.Post;
end;
Readln(ArquivoCSV, Linha);
Contador := Contador + 1;
end;
finally
CloseFile(ArquivoCSV);
end;
end;
|
Editado pela última vez por MarcguimDelphi em Ter Out 01, 2019 8:19 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Seg Set 23, 2019 8:16 pm Assunto: |
|
|
Boa noite,
Experimente fazer uns testes dessa forma:
Código: | Reset(ArquivoCSV);
Contador := 1;
while not EOF(ArquivoCSV) do
begin
Readln(ArquivoCSV, Linha);
if Contador = 1 then // Primeira Linha do arquivo (Pedido);
else
begin
// Demais Linhas (Itens do Pedido )
I := 0;
cdsPedido.Append;
cdsPedidoCOD_CLIENTE.AsString := MontaValor;
cdsPedidoCLIENTE.AsString := MontaValor;
cdsPedido.Post;
end;
Contador := Contador + 1;
end; |
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos!picanço-residencial-apartamento |
|
Voltar ao Topo |
|
|
joemil Moderador
Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9098 Localização: Sinop-MT
|
Enviada: Ter Set 24, 2019 8:51 am Assunto: |
|
|
ou tenta com repeat
Código: | begin
// Carregando o arquivo ...
AssignFile(ArquivoCSV, 'C:\Users\Drag\Documents\SYSCLIENTE\Arquivos\yyy.CSV');
try
Reset(ArquivoCSV);
// ReadLn(ArquivoCSV, Linha); so use este se tive q pular a primeira linha do arquivo
repeat
Readln(ArquivoCSV, Linha);
cdsPedido.Append;
cdsPedidoCOD_CLIENTE.AsString := MontaValor;
cdsPedidoCLIENTE.AsString := MontaValor;
cdsPedido.Post;
until Eof(ArquivoCSV);
finally
CloseFile(ArquivoCSV);
end;
end;
|
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
|
MarcguimDelphi Novato
Registrado: Segunda-Feira, 23 de Setembro de 2019 Mensagens: 6
|
Enviada: Ter Out 01, 2019 8:20 am Assunto: OBRIGADO |
|
|
Perfeito meu amigo, resolvido, é isso mesmo..... |
|
Voltar ao Topo |
|
|
|