Importar/Exportar arquivo Texto

Delphi

30/09/2003

Ola Amigos
Gostaria de uma ajuda de como fazer a importação de arquivo texto para o programa, a importação no caso eu ja ate consegui o problema e que o arquivo q eu recebo é de uma tabela em formato texto e existem dois campos preço e em alguns casos esse segundo campo é em branco e da um erro na hora de importar, e esse arquivo tem 3000 linhas +ou- e no caso acho q eu teria q testar esse espaco para saber se ele esta em branco ou nao antes de copiar mais nao cheguei em um acordo para o problema. e tambem uma forma de exportar para um arquivo parecido só q pegando os dados de duas tabelas ex tabela pedido e itens do pedido

desde ja agradeço


Dj

Dj

Curtidas 0

Respostas

Genial_reis

Genial_reis

30/09/2003

Cara Eu tenho o problema de importar....estaai a de exportar....
unit cg0102;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBTables, StdCtrls, Buttons, DBCtrls, ExtCtrls, ComCtrls, DB, Mask;
Function TestaData(Data:string):Boolean;
Function TestaNumerico(DADO:string):Boolean;


type
TformCg0102 = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
bt_sair: TSpeedButton;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button3: TButton;
Database1: TDatabase;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit5: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label4: TLabel;
Label6: TLabel;
DBEdit4: TDBEdit;
DBEdit6: TDBEdit;

Table1: TTable;
DataSource1: TDataSource;
Query1: TQuery;
dsfidel: TDataSource;
Query1COD_ESTABELE: TStringField;
Query1DATA_TRANS: TDateTimeField;
Query1VALOR1: TIntegerField;
Query1VALOR2: TIntegerField;
Query1DATACARTAO: TDateTimeField;
Query1NOMECLIENTE: TStringField;
Query1NUMEROCARTAO: TStringField;

Table4: TTable;
DataSource4: TDataSource;
Table4NOMECLIENTE: TStringField;
Table4NUMEROCARTAO: TStringField;




procedure bt_sairClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

private
tmpTable: Tquery;

{ Private declarations }
public
{ Public declarations }
end;

var
formCg0102: TformCg0102;
estado:string;

implementation

{$R *.DFM}

procedure TformCg0102.FormCreate(Sender: TObject);
begin
tmpTable := query1;
tmpTable.Open;
end;


procedure TformCg0102.bt_sairClick(Sender: TObject);
begin
Close;
end;


Function TestaData(Data:string):Boolean;
Begin
try
strtodate(DATA);
result := true
Except
result := False ;
end;
end;

Function TestaNumerico(Dado:string):Boolean;
Begin
try
strtoint(DADO);
result := true
Except
result := False ;
end;
end;




// procedure para exportacao para texto //
procedure TformCg0102.Button3Click(Sender: TObject);
var
F: TextFile;

begin
AssignFile (F, ´c:\temp\teste.txt´ );
Rewrite(f);
query1.first;
while not query1.EOF do
begin
Write (F,´ ´ +Query1COD_ESTABELE.asstring);
Write (F,´ ´+Query1DATA_TRANS.asstring);
Write (F,´ ´+query1valor1.asstring);
Write (F,´ ´+query1valor2.asstring);
Write (F,´ ´+query1datacartao.asstring);
Write (F,´ ´+query1nomecliente.value);
Writeln (F,´ ´+query1numerocartao.asstring);
query1.Next;
end;
CloseFile(F);
begin
if MessageDlg(´A exportção foi concluida com sucesso ?´,
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
MessageDlg(´Você deseja sair.....?´, mtInformation,
[mbOk],0);
Close;
end;
end;
end;


//// PARA IMPORTAR NA TABELA ACCESS ///
procedure TformCg0102.Button1Click(Sender: TObject);
var
txt : TextFile;
entrada: string;

begin
assignfile(txt,´C:\temp\arquivo.txt´);
reset(txt);
while not eoln(txt) do
begin
readln(txt,entrada);
table4.insert;
table4numerocartao.value:=copy(entrada,00,10);
table4nomecliente.value:=copy(entrada,12,20);
table4.Post;
end;
closefile(txt);
end;



end.


GOSTEI 0
Mmtoor

Mmtoor

30/09/2003

tem um exemplo com fonte em http://www.cjs.com.br

MMTOOR2003


GOSTEI 0
POSTAR