Лабораторная
работа №5
Создайте приложение,
предлагающее пользователю ввести строку текста, а затем заменяющее символы в тексте и
подсчитывающее количество замененных символов.
Вид окна приложения,
выполняющего замену
символов в тексте
Алгоритм выполнения работы.
Вариант замены символов должен определяться по положению соответствующего флажка CheckBox, как показано на рис. 5.1.
1. Создайте форму, для
свойства Caption задайте значение «Подсчет и замена символов».
2. На форме разместите компоненты: Edit1, Edit2, Edit3, CheckBox1, CheckBox2, СпескВохЗ, Label1, Label2, Label3, Button1.
3. Задайте значения свойств Label1.Caption — «Исходный текст на русском языке», Label2.Caption — «Измененный текст», Label3.Caption — «Число замен», CheckBox1.Caption — «Подсчитать число замен», CheckBox2.Caption — «Заменить "а" на "б"», CheckВохЗ. Caption — «Заменить пробелы на тире», Button1.Caption — «Выполнить».
4. Удалите текст Edit1, Edit2, Edit3 из соответствующих компонентов.
5. Выровняйте компоненты на форме, как показано на рис. 5.1.
Рис. 5.1. Вид окна приложения,
выполняющего замену
символов в тексте
6. Замену символов в тексте и
подсчет количества замененных символов опишите в процедуре обработчика события щелчка
мышью на кнопке Button1. Для создания процедуры обработчика события
выберите в окне Инспектора объектов объект Button1, затем на странице События произведите двойной щелчок на пустом поле списка в событии OnClick. После этого в окне Редактора кода
в заготовку процедуры обработчика события procedure TForm1.Button1Click(Sender: TObject); введите следующее описание переменных:
var
S : string; {строка текста}
N : byte; {количество замен символов}
Если флажок CheckBox1 установлен, то свойство CheckBox1.Checked приобретает значение True.
С учетом
вышесказанного тело процедуры может быть записано следующим образом:
N:=0; {обнулить число
букв а}
Edit3.Text:=' ';
Edit2.Text:=' ';
S:=Edit1.Text; {присвоить S значение текстовой строки}
if CheckBox2.Checked
then {если включен флажок CheckBox2}
while Pos('a', S) > 0 do {если в строке найдена буква а}
begin
N:=N+1; {увеличить счетчик замен на 1}
S[Pos('a', S)]:='б'; {заменить
букву а буквой б}
end;
if CheckBox3.Checked then
while Pos(' ', S) > 0 do {если в строке найден пробел}
begin
N:=N+1; {увеличить счетчик замен на 1}
S[Pos(' ', S)]:='-'; {заменить пробел
символом -}
end;
if CheckBox1.Checked
then Edit3.Text:=IntToStr(N); {вывод числа замен символов}
Edit2.Text:=S; {вывод
измененного текста}
end;
7. Сохраните файлы проекта и
программного модуля, откомпилируйте и запустите программу на выполнение.
8. Проверьте работу
приложения, задавая различный текст на русском языке с разным количеством
букв «а» и пробелов.
9. Проверьте правильность
вывода результатов работы и закройте окно приложения.