Função para formatar Strings.
Função muito útil para a geração de arquivos de texto para diversos layouts.
Para utilizar a função é necessário criar um tipo enumerado, conforme o
exemplo abaixo:
1
2
3
4
5
6
7
8
| // ...
type
TLocal = (lcLeft, lcRight, lcCenter);
TForm1 = class(TForm)
Button1: TButton;
// ... continuação do código da tela |
// ...
type
TLocal = (lcLeft, lcRight, lcCenter);
TForm1 = class(TForm)
Button1: TButton;
// ... continuação do código da tela
Como usar a função:
O primeiro parâmetro é a String a ser formatada, o segundo é o carácter que irá
preencher a string, o terceiro indica o tamanho da string a ser retornada, e o
quarto indica a posição do preenchimento.
Abaixo segue o código fonte da função:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| function StrFormat(AText, Caracter: String; Size: Word; Local: TLocal): String;
var
X: Integer;
begin
Result := Copy(AText, 1, Size);
for X := Length( AText ) to Size - 1 do
begin
case Local of
lcLeft: Result := Caracter + Result;
lcRight: Result := Result + Caracter;
lcCenter: if (X mod 2) = 0 then
Result := Result + Caracter
else
Result := Caracter + Result;
end;
end;
end; |
function StrFormat(AText, Caracter: String; Size: Word; Local: TLocal): String;
var
X: Integer;
begin
Result := Copy(AText, 1, Size);
for X := Length( AText ) to Size - 1 do
begin
case Local of
lcLeft: Result := Caracter + Result;
lcRight: Result := Result + Caracter;
lcCenter: if (X mod 2) = 0 then
Result := Result + Caracter
else
Result := Caracter + Result;
end;
end;
end;
Exemplos de uso:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| // Exemplos de uso:
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
begin
// String de 8 caracteres com zeros a esquerda.
s := StrFormat('15', '0', 8, lcLeft);
ShowMessage(s);
// String de 14 caracteres completando com espaços a direita.
s := StrFormat('01253696312', ' ', 14, lcRight);
ShowMessage(s + '|');
{ Criando uma string de 30 caracteres complentado se necessário
com espaços a direita e a esquerda, criando um efeito de centralização. }
s := StrFormat('teste', ' ', 30, lcCenter);
ShowMessage('|' + s + '|');
end; |
// Exemplos de uso:
procedure TForm1.Button1Click(Sender: TObject);
var
s : String;
begin
// String de 8 caracteres com zeros a esquerda.
s := StrFormat('15', '0', 8, lcLeft);
ShowMessage(s);
// String de 14 caracteres completando com espaços a direita.
s := StrFormat('01253696312', ' ', 14, lcRight);
ShowMessage(s + '|');
{ Criando uma string de 30 caracteres complentado se necessário
com espaços a direita e a esquerda, criando um efeito de centralização. }
s := StrFormat('teste', ' ', 30, lcCenter);
ShowMessage('|' + s + '|');
end;
-
InfusTec
-
10.613 views
- 3 comentários
- 22 de março de 2015
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo
Muito obrigado por compartilhar!
Muito legal esta função! Me ajudou aqui com umas rotinas de Exportação de dados!
Obrigado e parabéns!
Obrigado pela função! Me ajudou com uma rotina de exportação! Parabéns!