![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#10
|
||||
|
||||
|
Al igual que charly, yo tambien he creado una función parecida... bastante parecida....
Código:
TOpcionesFormateo=(ofIzquierda,ofDerecha,ofCentrado); Código:
function FormatearCadena(pCadena:String;
pLongitud:Byte;
pOpcion:TopcionesFormateo;
pCaracter:Char=#32):String;
var i, vLongCadena:Integer;
Begin
Result:=pCadena;
vLongCadena:=Length(pCadena);
if vLongCadena>pLongitud then
Result:=copy(pCadena,1,pLongitud);
//Trunca la cadena si es muy larga...
Case pOpcion of
ofIzquierda:Begin
if pLongitud>vLongCadena then
For i:=1 to (pLongitud-vLongCadena) do
begin
Result:=Result+pCaracter;
end; //for
end;
ofDerecha:Begin
if pLongitud>vLongCadena then
For i:=1 to (pLongitud-vLongCadena) do
begin
Result:=pCaracter+Result;
end; //for
end;
ofCentrado:Begin
if pLongitud>vLongCadena then
For i:=1 to (pLongitud-vLongCadena) do
begin
if i mod 2= 0 then
Result:=pCaracter+Result
else
Result:=Result+pCaracter;
end; //for
end;
end; //Case
end;
(Acepto que utilizo nombres muy largos y soy un poco complicado, pero ese es mi estilo de documentación y me gusta.) Funcionamiento: =========== FormatearCadena('Prueba',20, ofIzquierda,'@'); 'Prueba@@@@@@@@@@@@@@'; FormatearCadena('Prueba',20, ofDerecha,'@'); '@@@@@@@@@@@@@@Prueba'; FormatearCadena('Prueba',20, ofCentrado,'@'); '@@@@@@@Prueba@@@@@@@'; Yo no le recomendaria a Charly llamar a su procedimiento StrFill, pues podria haber una función nativa de delphi que ahora o en un futuro se llame asi. Saludos a Todos... |
|
|
|