- •Содержание
- •Лабораторная работа № 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. Сохраните программу и убедитесь в правильности ее работы.
18. Добавьте на форму два объекта - стандартные диалоги Windows для открытия и сохранения файлов.
Кнопки (OpenDialog) и (SaveDialog) находятся на закладке Dialogs панели компонентов Delphi. На рис. 6 и 7 эти объекты расположены в правом верхнем углу формы.
19. Запрограммируйте процедуры открытия и сохранения файлов телефонного справочника (команды главного меню «Прочитать из файла» и «Записать в файл»).
procedure TPagesDlg.N3Click(Sender: Tobject);
{Здесь N3 - номер команды. «Прочитать из файла», у Вас может быть другой номер}
var i: integer;
begin
{Выполнение стандартного диалога «Open file»}
if OpenDialog1.Execute then begin
{F - название выбранного диалогом файла (свойство FileName объекта OpenDialog1)}
AssignFile(F, OpenDialog1.FileName);
Reset(F);
N := 0; {Читаем с начала файла} {Считываем все записи из файла}
while not eof(F) do
begin {В переменную r считываем текущую запись}
Read(F,r);
{Фамилия - в первый столбец таблицы}
StringGridl.Cells[0, N+l] := r.familiа; {Имя - во второй столбец таблицы}
StringGridl.Cells[1,N+1] := r.imja; {Адрес - в третий столбец таблицы}.
StringGridl.Cells[2,N+l] := r.adres; {Телефон - в четвертый столбец таблицы}
StringGridl.Cells[3,N+l] := r. tel;
N := N + 1; {Увеличиваем общее число записей N}
end;
CloseFile(F); {Закрываем файл}
{Описанная ниже процедура заполняет поля редактирования второй страницы формы}
NewEdit(ComboBox1);
{Описанная ниже процедура заполняет комбинированный список второй страницы формы}
NewComboBox;
end; end;
procedure TpagesDlg.N4Click(Sender: TObject);
{Здесь N4 - номер команды. «Записать в файл», у Вас может быть другой номер}
var i : integer;
begin
if SaveDialog1.Execute then
begin AssignFile(F, SaveDialog1.FileName);
Rewrite(F);
i:=1;
while StringGrid1.Cells[3, i]<> ' ' do begin
r.familia := StringGrid1.Cells[0, i];
r.imja := StringGrid1.Cells[l, i];
r.adres := StringGrid1.Cells[2, i];
r.tel := StringGrid1.Cells[3, i];
Write(F,r);
i:=i + l;
end;
CloseFile(F);
end; end;
20. Напишите процедуру создания формы.
В окне инспектора объектов активизируйте объект PagesDlg (окно формы с многостраничным блокнотом) и дважды щелкните в строке OnCreate (МоментСоздания) закладки Events этого объекта. Сформируйте процедуру создания главной формы программы:
procedure TpagesDlg.FormCreate(Sender: TObject);
begin {Заполняем заголовок таблицы}
StringGrid1.cells[0, 0] := 'Фамилия';
StringGrid1.cells[1, 0] := 'Имя';
StringGrid1.cells[2, 0] := 'Адрес';
StringGrid1.cells[3, 0] := 'Телефон';
{Создаем пустую строку в комбинированном списке}
ComboBox1. Items. Add(' ');
{Активизируем эту строку на случай создания нового справочника}
ComboBox1 .ItemIndex:=0; end;
21. Напишите процедуру заполнения полей редактирования NewEdit.
Вызов этой процедуры осуществляется, в частности, в момент выбора фамилии для поиска, то есть в момент смены активной строки в комбинированном списке. Поэтому для инициализации заготовки этой процедуры активизируйте на закладке Events окна Object Inspector объекта ComboBox1 строку OnChange (МоментЗамены) и в правом столбце укажите название процедуры реакции на это событие: NewEdit. Дважды щелкните мышью, указав на введенное название и заполните заготовку этой процедуры следующим образом:
procedure TPagesDlg.NewEdit(Sender: Tobject);
var i : integer;
begin
{i - номер строки данных в таблице}
i :=ComboBoxl.ItemIndex+ 1;
if i>0 then begin
{Для значащих позиций комбинированного списка}
Editl.Text := StringGrid1.Cells[0, i]; {копируем данные 1-го записи с}
Edit2.Text := StringGrid1.Cells[l, i]; {первой страницы формы в}
Edit3.Text := StringGrid1.Cells[2, i]; {соответствующие поля на второй странице}
Edit4.Text := StringGrid1.Cells[3, i];
end; end;