Отсечение строки до точки - Lazarus
Формулировка задачи:
Помогите,пожалуйста!
Пишу программу на lazarus вот код:
По идеи,при нажатии на кнопку должно отображаться все,что до точки,но itog не изменяется!
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;
Решение задачи: «Отсечение строки до точки»
textual
Листинг программы
ShowMessage(Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1));
Объяснение кода листинга программы
Memo1
- это компонент объектаTMemo
, который представляет собой многострочное текстовое поле.Lines
- это свойствоTMemo
, которое содержит массив строк, представляющих текст вTMemo
.Copy
- это функция, которая копирует строку из одного места в другое.Pos
- это функция, которая находит позицию символа в строке.Memo1.Lines[0]
- это первая строка вTMemo
.Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1)
- это вырезает подстроку из первой строкиTMemo
, начиная со второго символа и заканчивая символом перед последней точкой в строке.ShowMessage
- это функция, которая отображает сообщение в диалоговом окне.ShowMessage(Copy(Memo1.Lines[0], 1, Pos('.', Memo1.Lines[0]) - 1))
- это выводит отсеченную строку в диалоговое окно.