Fórum TXT #38877

22/09/2003

0

Como ler e depois gravar dados de um arquivo txt para as tabelas de meu banco.

Obrigada!!!


Barbara.michele

Barbara.michele

Responder

Posts

29/10/2003

Maicon Loffi

O Ideal é você usar Arquivos Tipados, ou seja, com a mesma definição e quantidade de campos que você usa nas Tabelas.

Abaixo segue um exemplo em que eu criei para salvar e abrir um arquivo txt de uma query usada para Produtos de um orçamento.

Salvar.

{
type
Campos = Record
Codigo: String[16];
Produto: String[60];
Quantidade: Real;
Unidade: String[16];
Preco_Unitario: Real;
end;
Arquivo = File of Campos;
Var
X: Campos;
Arq: Arquivo;
begin
QOPDO.DisableControls;
Salvar.InitialDir := ExtractFilePath(Application.ExeName);
If Salvar.Execute Then
Try
AssignFile(Arq,Salvar.FileName);
ReWrite(Arq);
QOPDO.First;
While Not QOPDO.Eof do
begin
X.Codigo := QOPDOCODIGO.Value;
X.Produto := QOPDOPRODUTO.Value;
X.Quantidade := QOPDOESTOQUE.Value;
X.Unidade := QOPDOUNIDADE.Value;
X.Preco_Unitario := QOPDORS_UNITARIO.Value;
Write(Arq,X);
QOPDO.Next;
end;
CloseFile(Arq);
except
ShowMessage(´Erro de Gravação !´);
end;
QOPDO.First;
QOPDO.EnableControls;
}

Abrir

{
type
Campos = Record
Codigo: String[16];
Produto: String[60];
Quantidade: Real;
Unidade: String[16];
Preco_Unitario: Real;
end;
Arquivo = File of Campos;
Var
X: Campos;
Arq: Arquivo;
begin
SB_N.Click;
QOPDO.DisableControls;
Abrir.InitialDir := ExtractFilePath(Application.ExeName);
If Abrir.Execute Then
Try
AssignFile(Arq,Abrir.FileName);
Reset(Arq);
While Not Eof (Arq) do
begin
Read(Arq,X); { Passar Dados do Arquivo Para o Registro }
QOPDO.Insert;
QOPDOCODIGO.Value := X.Codigo;
QOPDOPRODUTO.Value := X.Produto;
QOPDOESTOQUE.Value := X.Quantidade;
QOPDOUNIDADE.Value := X.Unidade;
QOPDORS_UNITARIO.Value := X.Preco_Unitario;
QOPDO.Post;
end;
CloseFile(Arq);
except
ShowMessage(´Erro de Leitura do Arquivo !´);
end;
QOPDO.EnableControls;
}


Responder

Gostei + 0

04/11/2003

Ezdala

Eu não sei ao certo qual a sua necessidade, se no caso for um converte, ou seja, vc irá substituir uma outra aplicação pela sua e esta gerou um arquivo texto, se for isso vc tem que ter um cabeçalho do arquivo ou uma legenda de cada campo e sua posição dentro do arquivo ai então vc tem q verificar campo a campo e relacionar com o seu manualmente tipo:

assignfile(f, ´nomearq.txt´);
reset(F);
while not eof(F) do
begin
readln(F,S);
qbanco.parambyname(´codigo´).asinteger = StrToInt(Copy(s,1,6)); ...[size=18:3296ac1ee3][/size:3296ac1ee3][size=24:3296ac1ee3][/size:3296ac1ee3]


Responder

Gostei + 0

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

Aceitar