Como ler arquivos textos com separadores de coluna ;

07/07/2004

0

Senhores,
Gostaria de fazer uma aplicação que importe dados oriundos de um arquivo texto com separadores de campo.

Ex.: nome;idade;sexo;


Origado!
Edvaldo Silva


Edvaldosilva

Edvaldosilva

Responder

Posts

07/07/2004

Gandalf.nho

Use o componente PgCSV, procure-o nesse site:
[url]http://delphi.icm.edu.pl/[/url]


Responder

07/07/2004

Bferreira

Senhores, Gostaria de fazer uma aplicação que importe dados oriundos de um arquivo texto com separadores de campo. Ex.: nome;idade;sexo; Origado! Edvaldo Silva


Eu tive q fazer a mesma coisa, mas porém alem de ler os dados de um arquivo texto ele é gravado em uma tabela no banco de dados se for do seu interesse posso postar o fonte da minha aplicação para vc dar uma olhada.


Responder

08/07/2004

Bferreira

unit FCarregaDados;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables, ExtCtrls, Buttons, ComCtrls;
type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    EdtCaminho: TEdit;
    Query1: TQuery;
    Database1: TDatabase;
    Button2: TButton;
    Panel1: TPanel;
    Panel2: TPanel;
    ListBox1: TListBox;
    Button1: TButton;
    ProgressBar1: TProgressBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var caminho:string;
begin
  OpenDialog1.Execute;
  Caminho:=OpenDialog1.FileName;
  if OpenDialog1.FileName <>´´ Then
  Begin
    EdtCaminho.text:=Caminho;
  end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
  Texto,Linha : TStringList;
  i,j,tam:integer;
  SQL,usu,nome,senha,turma,nasc:string;
begin
  if EdtCaminho.text = ´´ then begin
    showmessage(´Localize o arquivo primeiro´);
    Exit;
  end;
  try
    Texto := TStringList.Create;
    Texto.LoadFromFile(EdtCaminho.text);
  except
    showmessage(´O Sistema não pode econtrar o arquivo especificado´);
    Texto.Free;
    Exit;
  end;
  Linha := TStringList.Create;
  Randomize;
  ProgressBar1.Max:= Texto.Count;
  ProgressBar1.Visible:=true;
  for i:=0 to Texto.Count - 1 do
  begin
    Linha.Delimiter:=´;´;
    Linha.DelimitedText:=Texto[i];
    usu:=Linha.Strings[0];
    Delete(usu,1,2);
    nome:=Linha.Strings[1];
    while length(senha)<6 do
      senha:=intToStr(Random(999999));
    turma:=Linha.Strings[2];
    nasc:=Linha.Strings[3];
    Query1.SQL.Clear;
    SQL:=´INSERT INTO TBALUNO(USUARIO,NOME,SENHA,DATANASC,TURMA) VALUES(:Usuario,:Nome,:Senha,:Nasc,:Turma)´;
    try
      Query1.SQL.Add(SQL);
      Query1.ParamByName(´Usuario´).AsInteger := strtoint(usu);
      Query1.ParamByName(´Nome´).AsString := nome;
      Query1.ParamByName(´Senha´).AsString := senha;
      Query1.ParamByName(´Nasc´).AsDateTime := StrToDateTime(nasc);
      Query1.ParamByName(´Turma´).AsString := turma;
      Query1.ExecSQL;
    except
      ShowMessage(´Erro!!! A base de dados não está no padrão correto!´);
      Texto.Free;
      Linha.Free;
      Exit;
    end;
    
    ListBox1.AddItem(Texto.Strings[i],Self);
    ProgressBar1.Position:=i;
    senha:=´´;
  end;
  ProgressBar1.Visible:=false;
  Texto.Free;
  Linha.Free;
  ShowMessage(´Os Dados Foram inseridos no banco com sucesso!!!´);
end;
end.


Espero q ajude!

t+


Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

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