2017-02-01

05. Строковый процессор на основе ООП (PascalABC)

Постановка задачи:

Необходимо создать в виде отдельного окна "строковый процессор", который имеет три текстовых поля. Назначения каждого из полей:

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 очищаются.

Процессор готов к следующей замене.

Этот урок в видеоформате


article

Авторизация
Логин:
Пароль:

Добро пожаловать,
гость сайта!

Статистика по сайту:

Сегодня сайт уже посетили 25 чел.

Количество всех статей на сайте: 498.

Количество online-тестов: 211.