Fórum Arquivo TXT #224518
05/04/2004
0
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
Curtir tópico
+ 0Posts
05/04/2004
Aroldo Zanela
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
05/04/2004
Eduardo_lcouto
´¬-100s´, ´¬-20s´;
no lugar dos numeros coloque a quantidade de caracteres que vc queira que o seu campo tenha. 8)
Gostei + 0
08/04/2004
Spooner
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)