



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; |
Você precisa fazer o login para publicar um comentário.
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!