- •Содержание
- •Лабораторная работа № 1
- •1.1 Главное окно Delphi.
- •1.2 Окно формы.
- •1.3 Окно инспектора формы.
- •1.4 Окно программы.
- •Лабораторная работа №2
- •Ход работы
- •5. Свойство Anchors.
- •6. Компонент tRadioGroup.
- •7. Компонент tGroupBox.
- •8. Компонент tCheckBox.
- •9. Компонент tScrollBar.
- •Лабораторная работа №3.
- •Ход работы
- •Лабораторная работа №4
- •Ход работы
- •1. Загрузите систему визуального программирования Delphi.
- •3. Компонент Image.
- •5. Шаблон формы.
- •6. Вспомогательное меню.
- •7. Диалоги.
- •I. Записать в файл. II.Считать из файла
- •8. Для проверки правильности ваших действий осуществите прогон программы.
- •Лабораторная работа №5
- •1. Загрузите систему визуального программирования Delphi.
- •2. Организуйте работу Вашего приложения, разработанного на предыдущем занятии (Lab4).
- •Лабораторная работа №6
- •Ход работы
- •1. Загрузите систему визуального программирования Delphi.
- •2. Создайте подкаталог Lab6 в своем каталоге.
- •4. Компонент tStatusBar.
- •5. Интерфейс Drag&Drop.
- •7. События, связанные с мышью.
- •8. Общие свойства компонентов Hint.
- •Лабораторная работа № 7
- •Ход работы
- •1. Загрузите систему визуального программирования Delphi.
- •3. Панели инструментов.
- •4. Многостраничный блокнот.
- •5. Компонент tPaintBox.
- •6. Компоненты tAnimate, tProgressBar, tUpDown, tShape, tTimer.
- •7. Календари.
- •Лабораторная работа № 8.
- •1. Загрузите систему визуального программирования Delphi.
- •3. Смените пиктограмму в левом верхнем углу формы, указав конкретный файл с рисунком пиктограммы в поле значения свойства Icon (пиктограмма) формы.
- •8. Вставьте на панель три флажка (объекты типа CheckBox).
- •17. Запрограммируйте команду «Выход» главного меню, воспользовавшись стандартной процедурой Close.
- •18. Запрограммируйте команду «Очистить поле вывода» контекстного меню.
- •20. Запустите созданную на этот момент программу и исследуйте ее работу.
- •21. Запрограммируйте команду «Табулировать».
- •22. Выполните программу и поупражняйтесь с разными значениями левой, правой границы и шага аргумента. Закройте окно программы «Табулирование функции».
- •Лабораторная работа № 9.
- •2. Откройте новую форму с многостраничным блокнотом.
- •3. Выделите и удалите клавишей Delete панель (Panel2) с кнопками ok, Cancel и Нelp в нижней части открытой формы.
- •4. Поменяйте заголовок формы с «Tabbed Notebook Dialog» на «Телефонный справочник» и поменяйте стиль границы окна (BorderStyle) на Sizeable (способный менять размер).
- •5. Выделите (щелкнув внутри страницы мышью) и удалите (Delete) третью страницу блокнота TabSbeet3.
- •7. Заполните обе страницы формы визуальными объектами так, как это показано на рис. 6 и рис. 7.
- •8. Сохраните выполненную на данный момент форму в своей папке.
- •18. Добавьте на форму два объекта - стандартные диалоги Windows для открытия и сохранения файлов.
- •19. Запрограммируйте процедуры открытия и сохранения файлов телефонного справочника (команды главного меню «Прочитать из файла» и «Записать в файл»).
- •20. Напишите процедуру создания формы.
- •21. Напишите процедуру заполнения полей редактирования NewEdit.
- •22. Напишите процедуру заполнения комбинированного списка NewComboBox.
- •24. Запрограммируйте команду главного меню «Сохранить изменения в списке записей».
- •25. Запрограммируйте кнопку перехода на предыдущую запись «Предыдущий».
- •26. Аналогично запрограммируйте кнопку «Следующий».
- •27. Сохраните программу и убедитесь в правильности ее работы.
22. Напишите процедуру заполнения комбинированного списка NewComboBox.
Сначала к описанию типа класса (объекта) TPagesDlg (многостраничной формы) в разделе interface добавьте декларацию:
type
{Эта запись уже есть в заготовке модуля}
TPagesDlg = class(TForm)
{Необходимо вставить}
procedure NewComboBox;
В раздел implementation добавьте описание этой процедуры:
Procedure TPagesDlg.NewComboBox;
var i, j : integer;
begin {Запоминаем активную позицию комбинированного списка }
j :=ComboBox1.ItemIndex; {Очищаем комбинированный список}
ComboBox1.Clear;
for i:=1 to N do {Для всех N запись I..}
{В обновленный комбинированный список добавляем все фамилии из первого столбца таблицы}
ComboBox1.Items.Add(StringGrid1.Cells[0, i]);
{Переходим на позицию j}
ComboBox1.ItemIndex :=j; end;
23. Сохраните работу, запустите программу, заполните таблицу данными и убедитесь в том, что программа правильно записывает на диск и считывает с диска файлы телефонных справочников.
24. Запрограммируйте команду главного меню «Сохранить изменения в списке записей».
procedureTPagesDlg.N6Click(Sender: Tobject);
{Здесь N6 - номер команды «Записать в файл», у Вас может быть другой)
var i : integer;
begin
{Определяем номер активной записи}
i :=ComboBox1.ItemIndex+1;
if PageControl1.ActivePage=TabSheet2 then
begin {Если активная вторая страницa}
StringGrid1.Cells[0, i] :=Editl.Text;
{то вносим изменения в первую }
StringGrid1.Cells[l, i] :=Edit2.Text;
StringGridl. Cells[2, i] := Edit3.Text;
StringGrid1.Cells[3, i] := Edit4.Text; end;
{Иначе - вносим изменения во вторую страницу}
else NewEdit(ComboBox1);
{В обоих случаях обновляем комбинированный список}
NewComboBox; end;
25. Запрограммируйте кнопку перехода на предыдущую запись «Предыдущий».
procedure TpagesDlg.ButtonlClick(Sender; Tobject);
begin
if ComboBox1.Itemindex = 0 then {Зацикливаем список}
ComboBox1.Itemindex :=N-1 else
{В середине списка показатель уменьшается на единицу}
ComboBox1.Itemindex := ComboBox1.Itemindex -1; {Обновляем панель «Найдена запись»}
NewEdit(ComboBox1); end;
26. Аналогично запрограммируйте кнопку «Следующий».
Программный код созданной процедуры запишите в отчет.
27. Сохраните программу и убедитесь в правильности ее работы.
Запустите программу, считайте с диска файл телефонного справочника, выберите какую-то фамилию в комбинированном списке и поменяйте ее в поле редактирования «Фамилия». Убедитесь в том, что синхронные изменения происходят и в комбинированном списке. Сохраните изменения и используйте кнопки «Предыдущий» и «Следующий» для навигации по записям, убедитесь в зацикливании списка. Удалите одну запись кнопкой «Стереть», сохраните изменения и перейдите на первую страницу. Отредактируйте данные в таблице, сохраните справочник в файле на диске, просмотрите окно «О программе», закончите работу с программой.
Задания:
1. Запрограммируйте кнопку «Удалить» так, чтобы после нажатия на нее удалялись данные из панели «Найдена запись» и из комбинированного списка.
2. Запрограммируйте кнопку «Найти» так, чтобы на панели «Найдена запись» отображалась информация о лице, фамилия которого указана в поле редактирования Edit5 «Введите фамилию». Если такой фамилии нет, то выведите сообщения об этом в отдельном окне.
3. Запрограммируйте команды подменю «А→Я» и «Я→А» пункта главного меню «Сортировать» так, чтобы фамилии в таблице и комбинированном списке были отсортированы в алфавитном или обратном порядке.
4. Удалите команду «Сохранить изменения в списке записей» из главного меню и обеспечьте сохранение изменений в момент редактирования таблицы и полей на панели «Найдена запись».
5. В случае попытки открыть несуществующий файл телефонного справочника обеспечьте появление окна с соответствующим сообщением.
6. В момент выхода из программы обеспечьте появление окна для сохранения файла телефонного справочника в случае, если в нем были сделаны изменения.
Рис.6 Рис.7
Рис. 8