Arquivo TXT
Tenho um sistema para exportar um arquivo TXT. e tenho q seguir um layout.
Minha duvida consiste em :
Meu bco de dados (dbf) tem um campo (Nome) com o tamnha de 60 caracteres... mas nem sempre o nome preenche todos os espacos.
na hora da exportação para o arquivo TXT ele exporta apenas o que ta escrito o restanto que esta em branco no campo nome ele não aparece assim não dando certo segue um simples exemplo
001 Eduardo Almeida teste
na exportacao teria q sair assim
001eduardo almeida teste001
mas ta saindo assim
001eduardo almeidateste001
o espaco final naum sai ... o q faco ??
outra duvida é tem alguns lugares do layot que tenho q preencher com espacos (tipo uns 300 espacos) tem algo mais simples do que digitar espaco por espaco ?
agradeco
Edu
Minha duvida consiste em :
Meu bco de dados (dbf) tem um campo (Nome) com o tamnha de 60 caracteres... mas nem sempre o nome preenche todos os espacos.
na hora da exportação para o arquivo TXT ele exporta apenas o que ta escrito o restanto que esta em branco no campo nome ele não aparece assim não dando certo segue um simples exemplo
001 Eduardo Almeida teste
na exportacao teria q sair assim
001eduardo almeida teste001
mas ta saindo assim
001eduardo almeidateste001
o espaco final naum sai ... o q faco ??
outra duvida é tem alguns lugares do layot que tenho q preencher com espacos (tipo uns 300 espacos) tem algo mais simples do que digitar espaco por espaco ?
agradeco
Edu
Deusem
Curtidas 0
Respostas
Aroldo Zanela
05/04/2004
Colega,
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Math, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
// Criação da classe
TAjustarLinha = Class
cLineSource: String;
nLength: Integer;
cCharPad: Char;
cPadRight: String;
cPadLeft: String;
cPadZeros: String;
procedure Clear;
procedure Execute;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TAjustarLinha }
procedure TAjustarLinha.Clear;
begin
cLineSource := ´´;
nLength := 0;
cCharPad := #32;
cPadRight := ´´;
cPadLeft := ´´;
cPadZeros := ´´;
end;
procedure TAjustarLinha.Execute;
var nFill: Integer;
begin
nFill:= nLength - Length(cLineSource);
If (nLength < nFill) then
begin
cPadRight := cLineSource;
cPadLeft := cLineSource;
cPadZeros := cLineSource;
end else
begin
cPadRight := cLineSource + StringOfChar(cCharPad, nFill);
cPadLeft := StringOfChar(cCharPad, nFill) + cLineSource;
cPadZeros := cLineSource + StringOfChar(´0´, nFill);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
With TAjustarLinha.Create do
begin
Clear;
cLineSource:= ´Teste de preenchimento´; // Nome do campo
nLength:= 40; // Tamanho do campo no leiaute
cCharPad:= ´B´; // Normalmente brancos e não B
Execute;
ShowMessage(cPadRight);
ShowMessage(cPadLeft);
ShowMessage(cPadZeros);
Free;
end;
end;
end.GOSTEI 0
Eduardo_lcouto
05/04/2004
procedure TForm1.Button1Click(Sender: TObject);
var
meutxt : TextFile;
begin
AssignFile(meutxt,´c:\windows\desktop\teste.txt´);
Rewrite(meutxt);
Table1.First;
while not table1.Eof do
begin
Write(meutxt,format(´¬-50s´,[Table1Company.Value]));
Write(meutxt,format(´¬-100s´,[Table1city.Value]));
Write(meutxt,format(´¬-100s´,[Table1addr1.Value]));
Writeln(meutxt);
Table1.Next;
end;
CloseFile(meutxt);
end;
´¬-100s´, ´¬-20s´;
no lugar dos numeros coloque a quantidade de caracteres que vc queira que o seu campo tenha. 8)
GOSTEI 0
Spooner
05/04/2004
Desculpe Interromper mas, como eu faço para importar os dados do arquivo txt, para a minha tabela?
GOSTEI 0