unit CVBUtils; interface uses SysUtils; function Trim(const cString: string): string; function Replicate(c: char; nLen: integer): string; function Ajusta(sCampo, sOrientacion: string; iLongitud: integer; sRelleno: char): string; function AjustaCIF(sCampo: string): string; implementation function AjustaCIF(sCampo: string): string; // Quita cualquier carácter no válido del cif,nif var iX: integer; begin Result := ''; sCampo := UpperCase(sCampo); if length(sCampo) < 1 then sCampo := '0'; for iX := 0 to length(sCampo) do if (sCampo[iX] in ['0'..'9', 'A'..'Z']) then Result := Result + sCampo[iX]; end; function Trim(const cString: string): string; var I: integer; begin Result := TrimLeft(TrimRight(cString)); end; function Replicate(c: char; nLen: integer): string; begin Result := stringOfChar(c, nLen); end; function Ajusta(sCampo, sOrientacion: string; iLongitud: integer; sRelleno: char): string; begin sCampo := Trim(sCampo); if uppercase(sOrientacion) = 'I' then Result := Replicate(sRelleno, iLongitud - Length(sCampo)) + sCampo else Result := sCampo + Replicate(sRelleno, iLongitud - Length(sCampo)); if length(Result) > iLongitud then Result := copy(Result, 1, iLongitud); end; end.