Постановка задачи. Разработать программу для составления словаря новых терминов. Должна иметься возможность внесения в словарь изменений
Разработать программу для составления словаря новых терминов.
| Должна иметься возможность внесения в словарь изменений, дополнений или сокращения его. На форме должны отображаться текущий номер записи и общее количество записей в словаре.
|
Новыми в этой работе является:
· использование комбинированного списка ComboBox (представляющие собой объединение строки ввода и компонента ListBox),
· компонента - выключатель CheckBox,
· функции MessageDlg.
Все эти компоненты находятся на вкладке палитры компонентов Standard.
|
План разработки программы, №5
1. Открыть новый проект.
2. Разместить на форме экземпляры компонентов в соответствии с рисунком.
3. Сохранить код программы и проект под именами, например, Unit4.pas и Pr4.dpr.
4. Запустить программу, затем закрыть окно проекта, щелкнув на кнопке Выход.
5. Выполнить следующие действия:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Form1
| Properties
| Caption
| Словарь
| BitBtn1
| Properties
| Caption
| &Выход
| Kind
| bkClose
| ComboBox1
| Properties
| Text
| Вставка пробела
| Item
| Открытие двойным щелчком списка String list editor. Ввод нескольких терминов, сохранение их в файле Glostext.txt, предварительно убедившись, что выбрана нужная папка (см. практическую работу №4 п.7).
| 6. Запустить программу, щелкнуть на стрелке компонента ComboBox1, выбрать из открывшегося списка любой термин, а затем убедиться, что текст, набираемый в строке ввода, в список не вносится. После этого закрыть проект кнопкой Выход.
7. Выполнить следующие действия:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Button1
| Properties
| Caption
| Довавить
| Events
| OnClick
| ComboBox1.Items.Add (ComboBox1.Text); if ComboBox1.ItemIndex = -1 then ComboBox1.Text:=‘’;
Последний оператор очищает строку ввода после того, как текст из нее попадает в список.
| 8. Запустить программу и убедиться, что набранные в строке ввода слова после нажатия кнопки Добавить добавляются в список ComboBox1.
9. Выполнить следующие действия:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Button2
| Properties
| Caption
| Удалить
| Events
| OnClick
| If MessageDlg('Вы действительно хотите удалить запись?', mtWarning, [mbYes, mbNo], 0) = mrYes then ComboBox1.Items.Delete(ComboBox1.ItemIndex);
| Пояснения. Условие If MessageDlg... означает, что при нажатии кнопки Удалить появится диалоговое окно с вопросом ' Вы действительно хотите удалить запись? ' с двумя кнопками Yes и No. Предварительно выбранный термин будет удален из списка только при нажатии кнопки Yes.
MessageDlg является функцией с четырьмя аргументами: 1. Сообщение, которое нужно отобразить, в одинарных кавычках. 2. Тип диалогового окна - константы: mtWarning, mtError, mtInformation, mtConformation, определяющие специальную пиктограмму и заголовок диалогового окна. 3. Список констант в квадратных скобках, определяющих присутствующие в окне кнопки. Возможные значения - mbYes, mbNo, mbCancel, mbHelp. 4. Число, с которым ассоциирована тема справки. Оно отлично от нуля, если в окне присутствует кнопка mbHelp, а программа имеет связанный с ней файл справки Windows.
Функция MessageDlg возвращает константу, определяющую нажатую пользователем кнопку.
10. Запустить программу, добавить в список и (или) удалить несколько строк, закрыть ее, а затем снова запустить. Заметим, что внесенные изменения не сохранились. Это связано с тем, что в ComboBox загружается первоначальный список.
11. Выполнить следующие действия:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Button4
| Properties
| Caption
| Сохранить
| Events
| OnClick
| ComboBox1.Items.SaveToFile (‘glostext.txt’);
| Form1
| Events
| OnCreate
| ComboBox1.Items.LoadFromFile (‘glostext.txt’);
| Пояснения. Теперь при создании формы в список ComboBox1 будет загружаться содержимое файла ‘ Glostext.txt ’, а измененный список запоминается в нем при нажатии кнопки Сохранить.
12. Выполнить следующие действия:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Button3
| Properties
| Caption
| Редактировать
| ComboBox1
| Events
| OnClick
| num:= ComboBox1.ItemIndex;
Предварительно описать в разделе Var целочисленную переменную num.
| Button3
| Events
| OnClick
| ComboBox1.Items.Delete (num); ComboBox1.Items.Add (ComboBox1.Text); if ComboBox1.ItemIndex = -1 then ComboBox1.Text:=‘’;
| Пояснения. 1. Для исправления ошибок, замеченных в строках списка, выделенную строку надо удалить из списка, а исправленную строку (т.е. содержимое строки ввода) добавить в список. 2. Новая переменная num необходима для сохранения номера выбранной строки. При внесении изменений выбранной строкой становится строка ввода, для которой ItemIndex = -1.
13. Для кнопок Добавить, Редактировать, Удалить для сохранения внесенных изменений необходимо добавить:
Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| Events
| OnClick
| ComboBox1.Items.SaveToFile (‘Glostext.txt’);
| 14. Запустить программу и убедиться, что если выбрать строку, исправив ее, а затем щелкнуть на кнопке Редактировать, то измененная строка попадет в конец списка.
15. Предусмотреть режим работы со списком, допускающий только чтение.
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| CheckBox1
| Properties
| Caption
| Только чтение
| Events
| OnClick
| if CheckBox1.Checked = False then ComboBox1.Style:= csDropDown else ComboBox1.Style:= csDropDownList;
Свойство Checked у выбранного выключателя имеет значение True, а в исходном состоянии - значение False.
| Пояснения. Комбинированные списки бывают 3 типов: простые (simple) - список всегда открыт; раскрывающиеся (drop down) - список свернут; неизменяемые (drop down list) - список свернут и возможен только выбор элемента из списка.
16. В режиме Т олько чтение, сделать недоступной кнопку Добавить:
Выделенный объект
| Вкладка окна Object Inspector
| Имя свойства/ Имя события
| Значение/Действие
| CheckBox1
| Events
| OnClick
| if CheckBox1.Checked = false then Button1.Enabled:= true else Button1.Enabled:= false;
| Аналогично сделать недоступными кнопки Редактировать, Удалить, Сохранить.
17. Сохранить проект окончательно, запустить и протестировать его. 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | Поиск по сайту:
|