Mavlyudov
По правому краю вообще в три строчки пишется (s - строка для выравнивания, w - необходимая ширина):
Код:
function StringRight(const s: String; const w: Integer): String;
var
i: Integer;
begin
// Вырезаем пробемы и прочее ненужное справа (и заодно слева)
// (если только справа, то - TrimRight(s))
Trim(s);
// Добавляем необходимое количество пробелов слева
Result := '';
for i := 1 to (w - Length(s)) do
Result := Result + ' ';
Result := Result + s;
end;
Или можно слегка оптимизировать и каждые 8 пробелов заменять на табулятор, например так :
Код:
function StringRight2(const s: String; const w: Integer): String;
var
i: Integer;
begin
Trim(s);
Result := '';
for i := 1 to (w - Length(s)) div 8 do
Result := Result + #9; // ASCII код Tab'a - 0x09
for i := 1 to (w - Length(s)) mod 8 do
Result := Result + ' ';
Result := Result + s;
end;