Gerar arquivo texto com posições definidas

Delphi

26/08/2004

Olá Galera!!

Estou com um problema estou querendo gerar um aruivo texto , mas com posições definidas , poe exemplo:

Nome - posiçao inicial 1 e vai até posição 40
codigo - posiçao inicial 41 e vai até posição 60


Idivaldo.mb

Idivaldo.mb

Curtidas 0

Respostas

Araujojunior

Araujojunior

26/08/2004

Favor utilizar Pesquisa antes de postar no forum....seu assunto jah foi discutido.

http://delphiforum.icft.com.br/forum/search.php

Junior


GOSTEI 0
Lucas Silva

Lucas Silva

26/08/2004

Bom dia,
Eu faço a seguinte forma.
Utilizo uma funcao que nela eu entro com a palavra e o tamanho total da string.
Tipo:
Completa(´lucas´,20);
ou seja, como a string lucas já tem 5 caracteres, a função completa a string do espaços em branco até chegar em 20.


GOSTEI 0
Assis Ferreira

Assis Ferreira

26/08/2004

Bom dia,
Eu faço a seguinte forma.
Utilizo uma funcao que nela eu entro com a palavra e o tamanho total da string.
Tipo:
Completa(´lucas´,20);
ou seja, como a string lucas já tem 5 caracteres, a função completa a string do espaços em branco até chegar em 20.


me mande essa função
GOSTEI 0
Raimundo Pereira

Raimundo Pereira

26/08/2004

Bom dia Assis!



Function Completa (ToString:String; ToSize:Integer; ShowResult:boolean):String;
Var Space:String;
Var Counter:Integer;
begin
Counter:=0;
Space:=' ';

if ToString <> '' then
begin
for Counter := 0 to Pred(ToSize - Length(ToString)) do
begin
Result := Result + Space;
end;
Result := ToString + Result;

if ShowResult then
begin
ShowMessage(IntToStr(Length(Result)));
end;
end;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
//Exemplo:
Memo1.Lines.Add(Completa(Edit1.Text,20,true));
// True ilustrará a quantidade de caractere num messagebox
// False ocultará a quantidade de caractere num messagebox
end;
GOSTEI 0
Arthur Heinrich

Arthur Heinrich

26/08/2004

Bom dia Assis!



Function Completa (ToString:String; ToSize:Integer; ShowResult:boolean):String;
Var Space:String;
Var Counter:Integer;
begin
Counter:=0;
Space:=' ';

if ToString <> '' then
begin
for Counter := 0 to Pred(ToSize - Length(ToString)) do
begin
Result := Result + Space;
end;
Result := ToString + Result;

if ShowResult then
begin
ShowMessage(IntToStr(Length(Result)));
end;
end;

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.Clear;
//Exemplo:
Memo1.Lines.Add(Completa(Edit1.Text,20,true));
// True ilustrará a quantidade de caractere num messagebox
// False ocultará a quantidade de caractere num messagebox
end;


Dá para melhorar um pouco, permitindo que o usuário escolha o catactere a ser utilizado.

function rpad(s : string; l : integer; c : char = ' ') : string;
var
  i, j : integer;
begin
  Result:=s;
  i:=Succ(Length(Result));
  SetLength(S,l);
  for j:=i to l do Result[j]:=c;

GOSTEI 0
Arthur Heinrich

Arthur Heinrich

26/08/2004

Ficou com um erro:

function rpad(s : string; l : integer; c : char = ' ') : string;
var
  i, j : integer;
begin
  Result:=s;
  i:=Succ(Length(Result));
  SetLength(Result,l);
  for j:=i to l do Result[j]:=c;
end;

GOSTEI 0
POSTAR