Необходимо создать в виде отдельного окна "строковый процессор", который имеет три текстовых поля. Назначения каждого из полей:
1. Текстовое поле для ввода исходной строки
2. Текстовое поле для ввода слова-образца
3. Текстовое поле для ввода слова-заменителя
В нижней части окна процессора должны располагаться две кнопки: "Заменить" и "Очистить".
Принцип работы процессора:
В 1-е текстовое поле вводится исходная строка, например "Мама мыла раму".
Во 2-е текстовое поле вводится слово-образец, которое подлежит замене на слово-заменитель.
Операция замены производится при нажатии на кнопке: "Заменить". При этом в первом текстовом поле появляется обновленная исходная строка, а 2-я и 3-я строки очищаются.
Текст программы состоит из 45 строк, которые можно разбить на 4 логических блока:
Блок описаний переменных и модулей:
Блок описаний процедур (всего 2 процедуры для каждой из кнопок)
Тело основной программы (основной блок):
Краткий разбор работы программы.
В главном блоке программы создаются 3 экземпляра класса "текстовое поле - TextBox" (Т1, Т2 и Т3) , а также 3 экземляра класса "текстовая надпись - TextLabel" (lab1, lab2, lab3);
При нажатии на кнопке Bres вызывается процедура BresClick, а при нажатии на кнопке Bclean, вызывается процедура BcleanClick;
Описание процедуры BresClick;
В переменную len помещается длина слова образца, а в переменную position позиция ее первого вхождения в исходную строку.
Далее в цикле выполняются 3 действия:
Удаление слово образца из исходной строки ( delete(str,position,len); )
Вставка в исходную строку с позиции position новой строки-заменителя: ( insert(word2,str, position); )
В переменную position записывается позиция следующего вхождения слова-образца в исходной строке ( position:=pos(word1,str); )
Далее после завершения работы цикла в текстовое поле T1 выводится уже обновленная исходная строка, а текстовые поля 2 и 3 очищаются.