GARANTIR DESCONTO

Fórum Arquivo texto #276273

08/04/2005

0

Pessoal preciso abrir um arquivo texto no delphi e depois inseri-lo em meu banco de dados. Sendo que neste arquivo possui varios campos na mesmo linha como nomecliente, endereco entre outros, eu preciso gravar esses dados em campos diferentes.

Já pesquisei no Delphi, mas achei os exemplos complicados para meu
conhecimento se alguém puder me fornecer um código mas detalhado desde já agradeço.


Cristiane.spl

Cristiane.spl

Responder

Posts

08/04/2005

Rjun

Você tem o layout com o tamanho dos campos no arquivo texto ?

Use TStringlist para ler o arquivo :

(pseudocodigo)

var
  Arquivo: TStringList;
  i: integer;
begin
  Arquivo := TStringList.Create();
  Arquivo.LoadFromFile(´Nome_do_Arquivo.txt´);

  // loop para ler as linhas do arquivo
  for i := 0 to Arquivo.Count - 1 do  
  begin
      // pegar o campo codigo, considerando q ele esteja nas 5 primeiras posicoes. Por isso é necessario o layout
      Codigo := Copy(Arquivo.Strings[i], 1, 5);  

      // Nesse ponto vc grava as variaveis que voce leu
     // no banco de dados
   end;
   FreeAndNil(Arquivo);
end;

É mais ou menos isso.   
   




Responder

Gostei + 0

08/04/2005

Edilcimar

Resposta : TextFile; DirResposta, ArqResposta : String;

AssignFile(Resposta, DirResposta + ´\´ + ArqResposta);
Reset(Resposta);
While not eof(Resposta) do
Begin
Readln(Resposta, Temp);
With Table2 do
Begin
Append;
FieldByName(´RECEBER´).AsString := Temp;
Post;
End;
End;
não precisa utilizar nada


Responder

Gostei + 0

08/04/2005

Diogoalles

Olá
Segue exemplo:

procedure TForm1.Button1Click(Sender: TObject); 
var 
  ARQ : TextFile; 
  Linha : string; 
begin 
  Table1.Open; 
  AssignFile(ARQ,Edit1.Text);// aqui estou indicando através de um Edit que tenho no form onde está o arquivo texto 
  Reset(ARQ); 

  while not Eof(ARQ) do 
  begin 
    ReadLn(ARQ,Linha); 
    if Table1.FindKey([StrToInt(copy(Linha,1,5))]) then 
      Table1.Edit 
    else 
      Table1.Insert; 
    Table1Cd_item.value    := strtofloat(copy(Linha,1,14)); 
    Table1Nm_item.Value    := UpperCase(copy(Linha,15,60)); 
    TblItens.Post; 
    TblItens.Refresh; 
  end; 
  CloseFile(ARQ); 
end;


abraço
Diogo


Responder

Gostei + 0

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

Aceitar