Função para formatar Strings. – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

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

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;

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;
Facebook Comments

Posts Relacionados

  • Administrador
  • 1.185 views
  • 0 comentários
  • 22 de março de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados