Bom dia,
Segue abaixo uma função bem simples, mas que dá uma mão bem grande quando não estamos em dias bons de lógica. hahahaha.
Ela consiste em completar um string ate determinado tamanho com uma outra string a ser mandada, tanto para o lado direito , quanto para o lado esquerdo.
Exemplo:
Tenho o numero 1 e quero completálo com zeros a esquerda, quero completar com tamanho máximo de 10 a string final.
PreencheCaracter('0','1','E';'10').
A mesma coisa pode ser feita com o lado direito, apenas mudando uma variavel da função.
PreencheCaracter('0','1','D';'10').
Passos:
1 - Declarar a função na seção desejada , private,public ... etc :
function PreencheCaracter(sCaracter:char;sTexto,sLado:string;iTamanho:integer):string;
2 - Implementar a função abaixo da seção "Iimplementation".
Obs:Foi utilizado um form chamado FrmTeste.
function TfrmTeste.PreencheCaracter(sCaracter:char;sTexto,sLado:string;iTamanho:integer):string;
var i:Integer;
begin
if Length(sTexto) > iTamanho then Begin
sTexto := Copy(sTexto, 1, iTamanho);
End
else if sLado='E' then begin
sTexto := StringofChar(sCaracter, iTamanho-length(sTexto))+sTexto;
end
else if sLado='D' then begin
sTexto := sTexto+ StringofChar(sCaracter, iTamanho-length(sTexto));
end;
Result := sTexto ;
end;
2 comentários:
Buenas xiru!
Interessante teu blog. Vou dar umas olhadas volta e meia.
Nunca cogitou usar a função System.StringOfChar? elimina o uso do FOR!
Dal Pizzol.
Tche, boa sacada.
Atualizei a function retirando os FOR.
Postar um comentário