Cita:
Empezado por ronimaxh
'concepto del pago', lo que quiero hacer es rellenar el string de espacios en blanco para completar la longitud de 50 caracteres, para eso necesito saber de cuanto es la longitud de ese estring (ya que el string varia la longitud a cada instante) y luego rellenar por la derecha la cantidad faltante con espacios en blanco.
|
Pues tú mismo estás dando el algoritmo para hacerlo:
Código Delphi
[-]
StrLen := Length(S);
for I := 1 to 50 - StrLen do
S := S + ' ';
Una vez entendida la codificación puedes armarte una rutina general:
Código Delphi
[-]
function RPad(S: String; PadLen: Integer): String;
var
I: Integer;
begin
Result := S;
for I := 1 to PadLen - Length(S) do
Result := Result + ' ';
end;
en donde especificas la longitud total.
O incluso más general:
Código Delphi
[-]
function RightPad(S: String; PadLen: Integer; PadCh: Char = ' '): String;
var
I: Integer;
begin
Result := S;
for I := 1 to PadLen - Length(S) do
Result := Result + PadCh;
end;
donde especificas el caracter con que quieres rellenar el espacio faltante (por defecto un espacio en blanco).
------------
Claro que también puedes simplemente usar:
S := Format('%-50s', [S]);
aunque RightPad será más versátil
// Saludos