Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido)Ler Dados txt, separar e jogar na tabela temporária


robinhocne

Pergunta

Em um txt eu tenho varios dados, mas como padrão e exemplo vai ser igual a esse abaixo:

1,ROBINHO,COMERCIAL / FATURAMENTO,1125
2,DEISE,CONTÁBIL / FISCAL,5545
3,IZABELLY,CONTÁBIL / FISCAL,1234
4,ANDERSON,COMERCIAL / FATURAMENTO,3365
5,JACQUELINE,FINANCEIRO,5546
6,TOIN,PRODUÇÃO,8898
Onde estou lendo em uma stringlist (Dados)
Dados.LoadFromFile('C:\Test\Base.txt');
agora o que eu preciso é percorrer em cada linha, por exemplo na linha: 1,ROBINHO,COMERCIAL / FATURAMENTO,1125 e ai jogar para uma tabela temporária como abaixo:
with TblInt do
            begin
              insert;
              TblIntSupCodigo.AsString := 1;
              TblIntSupNome.AsString   := Robinho;
              TblIntSupArea.AsString   := Comercial / Faturamento;
              TblIntSupRamal.AsString  :=1125;
              post;
            end;

pois ai vou ler em um DbGrid esses dados da tabela temporária, mas tinha que passar de todos os registros do txt separando por virgula e jogar em cada campo correto da tabela temporária.

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá robinhocne

a ideia é +ou- assim:

procedure TForm1.BitBtn2Click(Sender: TObject);
var s, st1,st2,st3,st4: string; f: textfile;
begin
  AssignFile(f, 'C:\Test\Base.txt');
  Reset(F);
  while not Eof(f) do begin
     ReadLn(f,s);
     st1:= copy(s,1,pos(',',s)-1);         
     delete(s,1,pos(',',s));
     st2 := copy(s,1,pos(',',s)-1);
     delete(s,1,pos(',',s));
     st3 := copy(s,1,pos(',',s)-1);
     delete(s,1,pos(',',s));
     st4:= s;
     query1.close;
     query1.SQL.Clear;
     query1.SQL.Add('INSERT INTO Table(Col1,Col2,Col3,Col4) VALUES(:val1,:val2,:val3,:val4)');
     query1.ParamByName('val1').Value:= st1;
     query1.ParamByName('val2').Value:= st2;
     query1.ParamByName('val3').Value:= st3;
     query1.ParamByName('val4').Value:= st4;
     query1.ExecSQL;
  end;
  CloseFile(F);
end;

Abs. Progr'amador

Editado por Progr'amador
Link para o comentário
Compartilhar em outros sites

  • 0

Fiz dessa maneira e deu certo,

var
  DadosSupin : TStringList;
  Texto    : TStrings;
  iRetorno : integer;

DadosSupin.LoadFromFile(CamVirtualMsn+'BaseSupin.txt');


   TblInt.Close;
   TblInt.Active := true;

   For i := 0 to DadosSupin.Count-1 do
     begin

       iRetorno := ExtractStrings([','],[' '],PChar(DadosSupin.Strings[i]),Texto);

        if iRetorno > 0 then
          begin

            with TblInt do
              begin
                insert;
                TblIntSupCodigo.AsString := Texto.Strings[0];
                TblIntSupNome.AsString   := Texto.Strings[1];
                TblIntSupArea.AsString   := Texto.Strings[2];
                TblIntSupRamal.AsString  := Texto.Strings[3];
                post;
              end;

           end;

        Texto.Clear;
       
     end;


  TblInt.SortOnFields('SupNome', true, false);
  TblInt.First;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...