Fórum Copiar arquivo .txt #166837
28/06/2003
0
Ao programadores.
Preciso copiar um arquivo txt apartir da uma deterninada linha por exemplo, apartir da linha nº 5.
O tipo de texto é este:
40116 ACES BANDEJA IMP HP 610C 246.............. 4,00
40127 ACES CABE€A IMP HP 610C 247.............. 11,00
40150 ACES DESCAN€O DE CABE€A IMP HP 840C 253.............. 15,00
40059 ACES TAMPA ACR¡LICA IMP HP 612C 240.............. 2,70
40092 ACES TAMPA ACR¡LICA IMP HP 840C 244.............. 2,70
40105 ACES TAMPA ACR¡LICA IMP HP APOLLO 2600 245.............. 2,70
3250 ACES TRACION PARA IMP. CITIZEM GSC200 . 4389............. 4,50
27984 ADAPTADOR SCSI DE HD 80 PARA 68 PINOS 8068............. 20,00
14319 ADAPTADOR TECLADO PS2 PARA AT 30............... 2,20
36503 BATERIA EXTERNA NB ECS A928 8828............. 97,00
14207 CABO DE FOR€A DE 3 PINOS P/ FONTE AT/ATX 2212............. 1,50
Esta procedure copia apartir da primeira linha, como faço para ler apartir de uma certa linha?
procedure TF_Atualiza.BtAtualizaClick(Sender: TObject);
var
Linha : String;
Registro : String;
Abrev: String;
F: TextFile;
begin
Screen.Cursor:=crHourGlass;
TabAtualiza.Open;
AssignFile(F,´C:\Penta.txt´);
Reset(F);
While not Eof ( F ) do
begin
ReadLn(F, Linha );
TabAtualiza.insert;
TabAtualizacodigo.Value:=StrToInt(Copy(Linha ,1,7));
TabAtualizadescrico.Value:=Copy(Linha,9,40);
TabAtualizaDolar.Value:=StrToFloat(RemoveCaracter(Copy(Linha,64,18),´.´));
TabAtualiza.Post;
end;
A quem puder me ajudar, desde já eu agradeço.
Valdir
:idea:
Preciso copiar um arquivo txt apartir da uma deterninada linha por exemplo, apartir da linha nº 5.
O tipo de texto é este:
40116 ACES BANDEJA IMP HP 610C 246.............. 4,00
40127 ACES CABE€A IMP HP 610C 247.............. 11,00
40150 ACES DESCAN€O DE CABE€A IMP HP 840C 253.............. 15,00
40059 ACES TAMPA ACR¡LICA IMP HP 612C 240.............. 2,70
40092 ACES TAMPA ACR¡LICA IMP HP 840C 244.............. 2,70
40105 ACES TAMPA ACR¡LICA IMP HP APOLLO 2600 245.............. 2,70
3250 ACES TRACION PARA IMP. CITIZEM GSC200 . 4389............. 4,50
27984 ADAPTADOR SCSI DE HD 80 PARA 68 PINOS 8068............. 20,00
14319 ADAPTADOR TECLADO PS2 PARA AT 30............... 2,20
36503 BATERIA EXTERNA NB ECS A928 8828............. 97,00
14207 CABO DE FOR€A DE 3 PINOS P/ FONTE AT/ATX 2212............. 1,50
Esta procedure copia apartir da primeira linha, como faço para ler apartir de uma certa linha?
procedure TF_Atualiza.BtAtualizaClick(Sender: TObject);
var
Linha : String;
Registro : String;
Abrev: String;
F: TextFile;
begin
Screen.Cursor:=crHourGlass;
TabAtualiza.Open;
AssignFile(F,´C:\Penta.txt´);
Reset(F);
While not Eof ( F ) do
begin
ReadLn(F, Linha );
TabAtualiza.insert;
TabAtualizacodigo.Value:=StrToInt(Copy(Linha ,1,7));
TabAtualizadescrico.Value:=Copy(Linha,9,40);
TabAtualizaDolar.Value:=StrToFloat(RemoveCaracter(Copy(Linha,64,18),´.´));
TabAtualiza.Post;
end;
A quem puder me ajudar, desde já eu agradeço.
Valdir
:idea:
Valdir Lima
Curtir tópico
+ 0
Responder
Posts
29/06/2003
Catunda
Caro Valdir, acho que seria mais interesante você copiar o texto para um memo e trabalhar com as linhas.
Veja o exemplo abaixo e coloque-o dentro de uma procedure que você passe o número da linha inicial desejada, que é representada aqui por NL.
Note que uso NL-1 porque no Memo as linhas começam a ser contadas do zero:
var
Linha: String;
begin
Memo1.Lines.LoadFromFile(´nome do arquivo txt´);
For i:=NL-1 to Memo1.Lines.Count-1 do
begin
Linha:=Memo1.Lines.Strings[i];
TabAtualiza.insert;
TabAtualizacodigo.Value:=StrToInt(Copy(Linha ,1,7));
TabAtualizadescrico.Value:=Copy(Linha,9,40);
TabAtualizaDolar.Value:=StrToFloat(RemoveCaracter(Copy (Linha,64,1,´.´));
TabAtualiza.Post;
end;
end;
Veja o exemplo abaixo e coloque-o dentro de uma procedure que você passe o número da linha inicial desejada, que é representada aqui por NL.
Note que uso NL-1 porque no Memo as linhas começam a ser contadas do zero:
var
Linha: String;
begin
Memo1.Lines.LoadFromFile(´nome do arquivo txt´);
For i:=NL-1 to Memo1.Lines.Count-1 do
begin
Linha:=Memo1.Lines.Strings[i];
TabAtualiza.insert;
TabAtualizacodigo.Value:=StrToInt(Copy(Linha ,1,7));
TabAtualizadescrico.Value:=Copy(Linha,9,40);
TabAtualizaDolar.Value:=StrToFloat(RemoveCaracter(Copy (Linha,64,1,´.´));
TabAtualiza.Post;
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)