Delphi - Rellenar una cadena con un determinado carácter

 
Vista:

Rellenar una cadena con un determinado carácter

Publicado por Juan (17 intervenciones) el 27/06/2002 08:14:41
Hola hay alguna función o alguna instrucción para rellenar una cadena con caracteres por la izquierda o derecha?, por ejemplo:

si yo escribo 23 que se rellene con lo siguiente: '000023'
si yo escribo 736 que se rellene '000736'

Yo se que en FoxPro hay una instruccion que se hace de la siguiente manera:
cCadena='23'
PADL(cCadena,'0',6)
Esta instruccion rellana de ceros por la izquierda la cadena cCadena hasta que tenga de longitud 6.

Haber si alguien sabe si en delphi hay algo parecido.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rellenar una cadena con un determinado carácter

Publicado por Fer (269 intervenciones) el 27/06/2002 11:03:25
No la hay, pero la puedes codificar. No es tan difícir.

En fin, ya te las adjunto (aunque en el mensaje no se verá con el formato "bonito"):

Ambas funciones RPad y LPad copian el comportamiento de las funciones homónimas de ORACLE, que no tiene porque coincidir exactamente con las de FoxPro.

RPad -------------------------------------------------------------------------}
function RPad(pCadena: string; pLong: word; pRelleno: string = ' '): string;
begin
{Inicialización}
result := pCadena;

while Length(result) < pLong do
result := result + pRelleno;

{Como el resultado podría tener más de "pLong" caracteres, lo recortamos.}
if Length(pCadena) <= pLong then
result := Copy(result, 1, pLong);

end;{RPad}

{LPad -------------------------------------------------------------------------}
function LPad(pCadena: string; pLong: word; pRelleno: string = ' '): string;
begin
{Inicialización}
result := pCadena;

while Length(result) < pLong do
result := pRelleno + result;

{Como el resultado podría tener más de "pLong" caracteres, lo recortamos.}
if Length(pCadena) <= pLong then
result := Copy(result, 1, pLong);

end;{LPad}

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rellenar una cadena con un determinado carácter

Publicado por Randall (15 intervenciones) el 27/06/2002 16:50:59
procedure TForm1.Button1Click(Sender: TObject);
var
cadena,temp:string;
longitud,i,j:integer;
begin
cadena := edit1.text;
longitud:=length(cadena);
j:= 6 - longitud;
temp:='';
for i:=1 to j do
begin
temp:= temp+'0';
end;
edit2.text:= temp+cadena;
end;

Saludos.

Randall
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rellenar una cadena con un determinado carácter

Publicado por Fer (269 intervenciones) el 28/06/2002 08:41:44
Te has pasado. Menuda chapuza...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar