Отсечение строки до точки - Lazarus

Узнай цену своей работы

Формулировка задачи:

Помогите,пожалуйста! Пишу программу на lazarus вот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  str:=Memo1.Lines[0];
  While(str[k]<>'.')do begin
    showmessage(str[k]);
    itog:=itog+str[k];
    showmessage(itog);
    k:=k+1;
  end;
  showmessage(itog);
end;
По идеи,при нажатии на кнопку должно отображаться все,что до точки,но itog не изменяется!

Решение задачи: «Отсечение строки до точки»

textual
Листинг программы
ShowMessage(Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1));

Объяснение кода листинга программы

  1. Memo1 - это компонент объекта TMemo, который представляет собой многострочное текстовое поле.
  2. Lines - это свойство TMemo, которое содержит массив строк, представляющих текст в TMemo.
  3. Copy - это функция, которая копирует строку из одного места в другое.
  4. Pos - это функция, которая находит позицию символа в строке.
  5. Memo1.Lines[0] - это первая строка в TMemo.
  6. Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1) - это вырезает подстроку из первой строки TMemo, начиная со второго символа и заканчивая символом перед последней точкой в строке.
  7. ShowMessage - это функция, которая отображает сообщение в диалоговом окне.
  8. ShowMessage(Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1)) - это выводит отсеченную строку в диалоговое окно.

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы