Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Заполнение строки определенным символом до нужной длины

Delphi , Синтаксис , Текст и Строки

Заполнение строки определенным символом до нужной длины

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

 function LeftPad(S: string; Ch: Char; Len: Integer): string;
 var
   RestLen: Integer;
 begin
   Result  := S;
   RestLen := Len - Length(s);
   if RestLen < 1 then Exit;
   Result := S + StringOfChar(Ch, RestLen);
 end;

 function RightPad(S: string; Ch: Char; Len: Integer): string;
 var
   RestLen: Integer;
 begin
   Result  := S;
   RestLen := Len - Length(s);
   if RestLen < 1 then Exit;
   Result := StringOfChar(Ch, RestLen) + S;
 end;

 {Beispiel / Example}

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   Edit1.Text := Rightpad(Edit2.Text, '-', 30);
 end;

Приведенный код - часть языка программирования Delphi и используется для заполнения строки определенным символом до достижения желаемой длины. В нем есть две функции: LeftPad и RightPad, которые выполняют левое и правое выравнивание соответственно.

Рассмотрим, что каждая функция делает:

  1. LeftPad(S: string; Ch: Char; Len: Integer): string;

Эта функция принимает три параметра:

  • S - исходная строка
  • Ch - символ для заполнения
  • Len - желаемая длина

Функция вычисляет оставшуюся длину, необходимую для достижения желаемой длины, путем вычитания текущей длины строки из желаемой длины. Если оставшаяся длина меньше 1, это означает, что строка уже имеет достаточную длину и не нужно добавлять больше символов.

Затем функция конкатенирует исходную строку с остатками символов (заполненными указанным символом) с помощью функции StringOfChar. Возвращается полученная строка как результат функции.

  1. RightPad(S: string; Ch: Char; Len: Integer): string;

Эта функция делает то же самое, что и LeftPad, но заполняет строку справа вместо слева.

В примере, когда кнопка нажата, она берет текст из Edit2 и заполняет его тире ('-') до достижения длины 30. Полученная заполненная строка отображается в Edit1.

Альтернативное решение могло бы быть использовать встроенные функции, такие как PadLeft или PadRight в Delphi, которые делают то же самое, что и эти пользовательские функции:

procedure TForm1.Button1Click(Sender: TObject);
begin
   Edit1.Text := RightPad(Edit2.Text, '-', 30);
end;

// Используя PadRight
Edit1.Text := Edit2.Text + StringOfChar('-', 30 - Length(Edit2.Text));

Код выше достигнет того же результата, что и оригинальный пример, но в более компактной форме.

В статье описывается функции LeftPad и RightPad на языке Delphi, которые позволяют заполнить строку определенным символом до нужной длины.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Текст и Строки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-04 05:53:57/0.0056469440460205/0