Pessoal do Clube me ajude é Urgente.....

28/04/2003

0

ola poderiam me ajudar com este codigo...
Tenho um arquivo TXT de nome Prods.TXT com 19000 itens +-
os 9 primeiros caracteres sao o CODIGO do produto, e os restante 40 caracteres sao a DESCRICAO DO PRODUTO, preciso enviar estes dados para uma tabela Prods.DBF com a estrutura:

Filde Name Type Size
E_CODPRO C 9
E_DESPRO C 40

implementei o codigo abaixa, mas os problemas que tenho que que nao consigo testar se o arquivo existe e tambem a tabela...

obrigado...


procedure TForm1.Button2Click(Sender: TObject);
var
F: TextFile ;
I: Integer ;
begin
AssignFile(F,´c:\testeUSI\Prods.TXT´) ;
Rewrite(F) ;
Table1.First ;
while not Table1.Eof do
begin
Writeln(F,Table1E_CodPro.Value+Table1E_DesPro.Value) ;
Table1.Next ;
end;
CloseFile(F) ;
end;


Martelato

Martelato

Responder

Posts

28/04/2003

Rood_luiz

Olha,
Pelo que eu entendi vc quer primeiro saber se o arquivo existe, e tb se a tabela exite ou esta ativa?

procedure TForm1.Button2Click(Sender: TObject);
var
F: TextFile ;
I: Integer ;

begin
AssignFile(F,´c:\testeUSI\Prods.TXT´) ;
Rewrite(F) ;

If not extractfilename(application.exename+ F) then
Showmessage(´Arquivo não encontrado´)
else
Table1.First ;
while not Table1.Eof do
begin
Writeln(F,Table1E_CodPro.Value+Table1E_DesPro.Value) ;
Table1.Next ;
end;
CloseFile(F) ;
end;


Responder

28/04/2003

Renato

Após abri o arquivo utilize o comando:
var sLinha, sCod, sDesc: String;
While Eof(ArquivoTexto) do
begin
readln(ArquivoTexto, sLinha);
sCod:= Copy(sLinha,1,9);
sDesc:= Copy(sLinha,10,40);
end;
Tabela.Insert;
Tabela.FieldByName(´Codigo´).AsInteger:= StrToInt(sCod);
Tabela.FieldByName(´Descricao´).AsInteger:= Trim(sDesc);
Tabela.Post;
O sCod pega da posição 1, 9 caracteres que são do código e da posição 10, 40 caracteres que é a descrição.
Um abraço Renato.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar