Como ler arquivos textos com separadores de coluna ;
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
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
Curtidas 0
Respostas
Gandalf.nho
07/07/2004
Use o componente PgCSV, procure-o nesse site:
[url]http://delphi.icm.edu.pl/[/url]
[url]http://delphi.icm.edu.pl/[/url]
GOSTEI 0
Bferreira
07/07/2004
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.
GOSTEI 0
Bferreira
07/07/2004
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+
GOSTEI 0