Primeira coisa voce deve definir quantos espaços vai ter cada coluna
EXEMPLO:
==========
ColunaDescricao  = 25 Espaços e Alinhado a Esquerda
ColunaQuantidade = 03 Espaços e Alinhado a Direita
ColunaValor      = 12 Espaços e Alinhado a Direita
Espaço entre as colunas = 03

-Digamos que Vamos obter os dados de 01 Tabela que tem os 03 campos na ordem
acima sendo String, Integer e Currency respectivamente.

A função abaixo Faz o alinhamento da String a Direita dentro de um
Determinado espaço

function AlinhaStr(s:string;n:integer):string;
{alinha uma string à direita}
begin
Result:=Format('%'+IntToStr(n)+'.'+IntToStr(n)+'s',[s]);
end;




procedure formprincipal.button1.click;
var
arq: TextFile;
Descricao, Quantidade: String;
Valor: Currency;
Begin
AssignFile ( arq,'c:\ArquivodeExemplo.txt');
Rewrite ( arq );
WriteLn (arq,StringOfChar(' ',14)+'R E L A T O R I O');
WriteLn (arq,StringOfChar('=',46));
WriteLn (arq,'DESCRICAO+StringOfChar(' ',16+3)+'QTD   VALOR / ITEM');
WriteLn (arq,StringOfChar('-',25)+'   'StringOfChar('-',3)+'
'+StringOfChar('-',12));
  If Tabela1.recordcount>0 then
  begin
  Repeat
  Descricao:=Tabela1.fields[0].text;
  Quantidade:=inttostr(Tabela1.fields[1].value);
  Valor:=Tabela1.fields[2].Value;
  WriteLn (arq,Descricao+StringOfChar('
',25+3-length(descricao))+alinhastr(quantidade,3)+alinhastr(formatcurr('R$
##,##0.00',valor),3+12);
  Tabela1.Next;
  until Tabela1.eof;
  end;
CloseFile ( arq );
end;

Emerson Cassio

----- Original Message -----
From: "Jackson D. Savitraz" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, May 14, 2005 2:35 PM
Subject: [lista-delphi] Strings...


Estou gerando um relatório em .txt e gostaria de criá-lo em colunas de
caracteres fixos...
Tipow em vez de tabulação, dar espaços.

NOME     TIPO      VALOR
OBJ1     A         R$ 400,00
TESTEEE  B         R$ 10,00
GERAR    C         R$ 45,00


Abraços,
Jackson.




Não deixe de visitar o site oficial da lista:
http://www.delphibr.com.br

Comunidade Delphibr no Orkut:
http://www.orkut.com/Community.aspx?cmm=753495


Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]

Links do Yahoo! Grupos











-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a