quarta-feira, 14 de dezembro de 2011

Completar string com algum caracter até determinado tamanho.

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;