Лабораторная работа №3. Vocabulary Notes Telephone as an Apparatus & its Parts telephone = phone – телефон apparatus –аппарат (tele)phone set – телефон (как
ОГЛАВЛЕНИЕ
Лабораторная работа №1 (Финансовый калькулятор) 3 Лабораторная работа №2 (Текстовый редактор) 8 Лабораторная работа №3. 18 Лабораторная работа №4 (Приложение для работы с базами данных) 22 Литература. 26
Цель работы: познакомиться с приемами работы в среде Delphi, приобрести навыки создания простейших Windows-приложений.
Последовательность действий при выполнении лабораторной работы: 1. Создать новый проект (команда File|New|Application) и сохранить его файлы в папке <Папка группы>\<Фамилия студента>\ЛР1\ (команда File|Save Project As). 2. Задать название проекта: 'Финансовый калькулятор' (команда Project|Options, закладка Application, параметр Title). 3. Установить свойства главной формы проекта Form1 в Инспекторе Объектов:
4. Разместить на форме три компонента класса TLabel, три компонента класса TEdit и один компонент класса TButton (закладка Палитры Компонентов Standard). Изменить размеры формы, разместить и выровнять компоненты, как показано на рис. 1: Рис. 1 5. Установить в свойствах Caption компонентов Label1, Label2 и Label3 значения, определяемые номером варианта (компьютера, на котором работает студент):
** при расчетах используется простой процент.
6. Установить в свойствах Text компонентов Edit1, Edit2 и Edit3 значения '' (пустая строка), установить в свойстве ReadOnly компонента Edit3 значение 'True'. 7. Установить в свойстве Caption компонента Button1 значение 'Рассчитать'. 8. Создать обработчик события OnClick компонента Button1 (дважды щелкнуть на компоненте Button1 или перейти на закладку Events Инспектора Объектов и дважды щелкнуть в правой ячейке строки OnClick). В обработчике события TForm1.Button1Click ввести код (код, выделенный полужирным шрифтом, создается автоматически средой Delphi и его вводить не нужно):
procedure TForm1.Button1Click(Sender: TObject); Begin try Edit3.Text:= FloatToStr(StrToFloat(Edit1.Text)* (1+StrToFloat(Edit2.Text)*0.07)); except Edit3.Text:= 'Ошибка!!!'; end; End; Часть кода, выделенная курсивом, различается в зависимости от номера варианта студента. Пример обработчика события приводится для условного варианта №0:
10. Запустить проект на выполнение (клавиша F9).
Цель работы: изучение основных приемов, инструментов и компонентов для создания современных Windows-приложений в среде Delphi.
Последовательность действий при выполнении лабораторной работы: 1. Создать новый проект (команда File|New|Application) и сохранить его файлы в папке <Папка группы>\<Фамилия студента>\ЛР2\ (команда File|Save Project As). 2. Задать название проекта: 'Текстовый редактор' (команда Project|Options, закладка Application, параметр Title). 3. Установить свойства главной формы проекта Form1 в Инспекторе Объектов:
4. Разместить на форме компонент класса TMemo (закладка Standard Палитры Компонентов) и установить его свойства:
5. Разместить на форме компонент TMainMenu (закладка Standard) и открыть Редактор Меню (двойной щелчок на компоненте MainMenu1). 6. Создать первый пункт горизонтального меню File: щелкнуть правой кнопкой мыши на клиентской области Редактора Меню, выполнить команду Insert From Template и выбрать из списка пункт File Menu. 7. Создать второй пункт горизонтального меню Edit: щелкнуть левой кнопкой мыши на пустом прямоугольнике справа от пункта File и установить в Инспекторе Объектов в свойстве Caption выделенного пункта меню значение '&Edit'. Создать вертикальное меню для пункта Edit: а) последовательно щелкнуть на пункте Edit и на пустом прямоугольнике снизу от пункта Edit, установить в свойстве Caption значение '&Undo', а в свойстве ShortCut – Ctrl+Z; б) щелкнуть на пустом прямоугольнике снизу от пункта Undo и установить в свойстве Caption значение '-' (тире); в) щелкнуть на пустом прямоугольнике снизу от разделителя меню (горизонтальной черты), установить в свойстве Caption значение 'Cu&t', а в свойстве ShortCut – Ctrl+X; г) создать остальные пункты вертикального меню Edit: свойства Caption: '&Сopy', '&Paste' и 'Select &All', свойства ShortCut: Ctrl+C, Ctrl+V и Ctrl+A соответственно. 8. Создать третий пункт горизонтального меню Options: щелкнуть левой кнопкой мыши на пустом прямоугольнике справа от пункта Edit и установить в свойстве Caption выделенного пункта меню значение '&Options'. 9. Создать четвертый пункт горизонтального меню About: щелкнуть левой кнопкой мыши на пустом прямоугольнике справа от пункта Options и установить в свойстве Caption выделенного пункта меню значение '&About'. 10. В секции var раздела interface модуля Unit1.pas ввести код: Var Form1: TForm1; FileName: string;
11. Создать обработчик события OnCreate компонента Form1. В обработчике события TForm1.FormCreate ввести код:
procedure TForm1.FormCreate(Sender: TObject); Begin FileName:= ''; End;
12. Создать обработчик события OnClick компонента New1 (пункта меню New). В обработчике события TForm1.New1Click ввести код:
procedure TForm1.New1Click(Sender: TObject); Begin Memo1.Clear; FileName:= ''; End; 13. Разместить на форме Form1 компоненты класса TOpenDialog и TSaveDialog (закладка Dialogs). Установить в свойстве DefaultExt компонентов OpenDialog1 и SaveDialog1 значение '.txt', изменить значение свойства Filter этих компонентов в Filter Editor:
Установить в свойстве Options – ofOverwritePrompt компонента SaveDialog1 значение 'True'. 14. Создать обработчик события OnClick компонента Open1. В обработчике события TForm1.Open1Click ввести код: procedure TForm1.Open1Click(Sender: TObject); Begin if OpenDialog1.Execute then begin FileName:= OpenDialog1.FileName; Memo1.Lines.LoadFromFile(FileName); end; End;
15. Создать обработчик события OnClick компонента SaveAs1. В обработчике события TForm1.SaveAs1Click ввести код:
procedure TForm1.SaveAs1Click(Sender: TObject); Begin if SaveDialog1.Execute then begin FileName:= SaveDialog1.FileName; Memo1.Lines.SaveToFile(FileName); end; End; 16. Создать обработчик события OnClick компонента Save1. В обработчике события TForm1.Save1Click ввести код:
procedure TForm1.Save1Click(Sender: TObject); begin if (FileName = '') then SaveAs1Click(Sender) else Memo1.Lines.SaveToFile(FileName); end; 17. Установить в свойстве Enabled элементов меню Print и Print Setup значение 'False'. 18. Создать обработчик события OnClick компонента Exit1. В обработчике события TForm1.Exit1Click ввести код:
procedure TForm1.Exit1Click(Sender: TObject); begin Close; end; 19. Создать обработчик события OnClick компонента Undo1. В обработчике события TForm1.Undo1Click ввести код:
procedure TForm1.Undo1Click(Sender: TObject); Begin Memo1.Undo; End; 20. Создать обработчик события OnClick пункта меню Cut. В обработчике события TForm1.Cut1Click ввести код:
procedure TForm1.Cut1Click(Sender: TObject); Begin Memo1.CutToClipboard; End; 21. Создать обработчик события OnClick пункта меню Copy. В обработчике события TForm1.Copy1Click ввести код:
procedure TForm1.Copy1Click(Sender: TObject); Begin Memo1.CopyToClipboard; End;
22. Создать обработчик события OnClick пункта меню Paste. В обработчике события TForm1.Paste1Click ввести код:
procedure TForm1.Paste1Click(Sender: TObject); Begin Memo1.PasteFromClipboard; End;
23. Создать обработчик события OnClick пункта меню Select All. В обработчике события TForm1.SelectAll1Click ввести код:
procedure TForm1.SelectAll1Click(Sender: TObject); Begin Memo1.SelectAll; End;
24. Создать обработчик события OnClick пункта меню About. В обработчике события TForm1.About1Click ввести код:
procedure TForm1.About1Click(Sender: TObject); Begin ShowMessage('Автор программы: <Фамилия студента>'); End; 25. Создать форму для второго окна приложения – окна опций редактора (команда File|New|Form) и сохранить файл Unit2.pas в папке <Папка группы>\<Фамилия студента>\ЛР2\ (команда File|Save As). Установить свойства компонента Form2 в Инспекторе Объектов:
26. Разместить на форме Form2 два компонента класса TLabel (закладка Standard), один компонент класса TShape (закладка Additional), один компонент класса TStaticText (закладка Additional), один компонент класса TBevel (закладка Additional) и два компонента класса TBitBtn (закладка Additional). Изменить размеры формы, разместить и выровнять компоненты, как показано на рис. 2: Рис. 2 27. Переместить компонент TBevel на задний план (щелкнуть на компоненте правой кнопкой мыши и выполнить команду Control|Send to Back). Установить в свойстве Caption компонента Label1 значение 'Цвет фона:', в свойстве Caption компонента Label2 значение 'Шрифт:'. Установить свойства компонента StaticText1:
Установить в свойстве Kind компонента BitBtn1 значение bkOK, а в свойстве Kind компонента BitBtn2 значение bkCancel. 28. Разместить на форме Form2 компоненты класса TColorDialog и TFontDialog (закладка Dialogs). 29. Создать обработчик события OnMouseUp компонента Shape1. В обработчике события TForm2.Shape1MouseUp ввести код: procedure TForm2.Shape1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Begin ColorDialog1.Color:= Shape1.Brush.Color; if ColorDialog1.Execute then Shape1.Brush.Color:= ColorDialog1.Color; End; 30. Создать обработчик события OnMouseUp компонента StaticText1. В обработчике события TForm2.StaticText1MouseUp ввести код: procedure TForm2.StaticText1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Begin FontDialog1.Font.Assign(StaticText1.Font); if FontDialog1.Execute then StaticText1.Font.Assign(FontDialog1.Font); End; 31. Создать обработчик события OnClick пункта меню Options. В обработчике события TForm1.Options1Click ввести код:
procedure TForm1.Options1Click(Sender: TObject); Begin Form2.Shape1.Brush.Color:= Memo1.Color; Form2.StaticText1.Font.Assign(Memo1.Font); if (Form2.ShowModal = mrOK) then begin Memo1.Font.Assign(Form2.StaticText1.Font); Memo1.Color:= Form2.Shape1.Brush.Color; end; End; 32. Разместить на форме Form1 компонент класса TImageList (закладка Win32). Добавить в список рисунков компонента ImageList1 пиктограммы для основных элементов меню: а) открыть Редактор Списка Рисунков (двойной щелчок на компоненте ImageList1); б) нажать на кнопку Add, перейти в папку <Папка группы>\Buttons ивыбрать файлы рисунков copy.bmp, cut.bmp, dooropen.bmp, filenew.bmp, fileopen.bmp, filesave.bmp и paste.bmp (щелкая на именах файлов левой кнопкой мыши при нажатой клавише Ctrl). (На запрос программы '… Separate into to separate bitmaps?' ответить нажатием кнопки Yes to All.) в) закрыть Редактор Списка Рисунков нажатием на кнопку OK. 33. Установить в свойстве Images компонента MainMenu1 значение 'ImageList1'. 34. Для каждого из элементов меню New, Open, Save, Exit, Cut, Copy и Paste выбрать соответствующие пиктограммы из выпадающего списка свойства ImageIndex. 35. Разместить на форме Form1 компонент класса TToolBar (закладка Win32) и установить в свойстве Images компонента ToolBar1 значение 'ImageList1'. 36. Добавить кнопки на панель инструментов ToolBar1, выбирая из всплывающего меню этого компонента команды в следующей последовательности: а) New Button (три раза), б) New Separator (один раз) и в) New Button (три раза). 37. Для каждой из кнопок панели инструментов ToolBar1 выбрать из выпадающего списка свойства MenuItem следующие значения:
38. Разместить на форме Form1 компонент класса TStatusBar (закладка Win32), создать два компонента класса TStatusPanel в редакторе Панели Состояния (компоненты создаются нажатием клавиши Ins) и установить в свойстве Width первого компонента 0 - TStatusPanel значение '100'. 39. Разместить на форме Form1 компонент класса TTimer (закладка System) и установить в свойстве Interval компонента Timer1 значение '100'. 40. Создать обработчик события OnTimer компонента Timer1. В обработчике события TForm1.Timer1Timer ввести код:
procedure TForm1.Timer1Timer(Sender: TObject); Begin StatusBar1.Panels[0].Text:= IntToStr(Memo1.CaretPos.X+1) +':'+IntToStr(Memo1.CaretPos.Y+1); if Memo1.Modified then StatusBar1.Panels[1].Text:= 'Modified' else StatusBar1.Panels[1].Text:= ''; End; 41. Сохранить изменения проекта (команда File|Save All). 42. Запустить проект на выполнение (клавиша F9). На запрос программы 'Form ‘Form1’ references form ‘Form2’ … Do you wish to add it?' ответить нажатием кнопки Yes и снова запустить проект на выполнение (клавиша F9).
Лабораторная работа №3
Цель работы: изучение основных компонентов для работы с табличной и графической информацией в среде Delphi.
Последовательность действий при выполнении лабораторной работы:
2. Задать название проекта: 'Лабораторная работа №3' (команда Project|Options, закладка Application, параметр Title). 3. Установить свойства главной формы проекта Form1 в Инспекторе Объектов:
4. Разместить на форме компонент класса TTabbedNotebook (закладка Win 3.1 Палитры Компонентов) и установить его свойства:
5. Разместить на странице Таблица компонент класса TStringGrid (закладка Additional) и установить его свойства:
6. Разместить на странице Диаграмма компонент класса TChart (закладка Additional) и установить его свойства:
7. Открыть Редактор Свойств Диаграммы (двойной щелчок на компоненте Chart1). На закладке Chart-Series редактора создать два объекта типа TChartSeries. Для создания объекта типа TChartSeries необходимо нажать на кнопку Add и выбрать вид объекта из галереи. Вид объекта определяется номером варианта (компьютера, на котором работает студент):
На закладке Chart-Titles снять пометку с опции Visible. На закладке Chart-Legend установить у опции Legend Style значение Series Names. 8. Создать обработчик события OnCreate компонента Form1. Для этого необходимо выбрать компонент Form1 из списка компонентов в Инспекторе Объектов, выбрать закладку Events и дважды щелкнуть справа от свойства OnCreate. В обработчике события TForm1.FormCreate ввести код:
procedure TForm1.FormCreate(Sender: TObject); var i: integer; Begin StringGrid1.Cells[0, 0]:= 'x'; StringGrid1.Cells[1, 0]:= 'f1(x)'; StringGrid1.Cells[2, 0]:= 'f2(x)'; for i:= 1 to StringGrid1.RowCount-1 do begin StringGrid1.Cells[0, i]:= IntToStr(i); StringGrid1.Cells[1, i]:= FloatToStr(<Функция 1>); StringGrid1.Cells[2, i]:= FloatToStr(<Функция 2>); end;
TabbedNotebook1.PageIndex:= 0; End;
Вместо выражений <Функция 1> и <Функция 2> ввести выражения (зависят от номера варианта):
9. Создать обработчик события OnChange компонента TabbedNotebook1. В обработчике события TForm1.TabbedNotebook1Change ввести код:
procedure TForm1.TabbedNotebook1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean); var i: integer; Begin if (NewTab = 1) then begin Chart1.Series[0].Clear; Chart1.Series[1].Clear; for i:= 1 to StringGrid1.RowCount-1 do begin try Chart1.Series[0].AddXY(i, StrToFloat(StringGrid1.Cells[1, i])); except end; try Chart1.Series[1].AddXY(i, StrToFloat(StringGrid1.Cells[2, i])); except end; end; end; End; 10. Сохранить изменения проекта (команда File|Save All). 11. Запустить проект на выполнение (клавиша F9).
Цель работы: изучение основных принципов и компонентов для работы с базами данных в среде Delphi.
Последовательность действий при выполнении лабораторной работы:
2. Задать название проекта: 'База данных' (команда Project|Options, закладка Application, параметр Title). 3. Установить свойства главной формы проекта Form1 в Инспекторе Объектов:
4. Скопировать файл country.cds из <Папка группы> в папку <Папка группы>\<Фамилия студента>\ЛР4\ (копирование произвести средствами Windows). 5. Разместить на форме компонент класса TClientDataSet (закладка Data Access) и установить его свойства:
6. Разместить на форме компонент класса TDataSource (закладка Data Access) и установить его свойства:
7. Разместить на форме компонент класса TTabbedNotebook (закладка Win 3.1 Палитры Компонентов) и установить его свойства:
8. Разместить на странице Записи компонент класса TDBNavigator (закладка Data Controls), пять компонентов класса TLabel (закладка Standard) и пять компонентов класса TDBEdit (закладка Data Controls). Разместить и выровнять компоненты, переименовать компоненты класса TLabel, как показано на рис. 3: Рис. 3 9. Установить в свойстве DataSource компонента DBNavigator1 значение 'DataSource1'. Установить в свойствах VisibleButtons – nbEdit и VisibleButtons – nbRefresh компонента DBNavigator1 значение 'False'. 10. Установить в свойстве DataSource компонентов класса TDBEdit значение 'DataSource1'. Установить свойство DataField компонентов класса TDBEdit в соответствии с таблицей:
11. Разместить на странице Таблица компонент класса TDBGrid (закладка Data Controls) и установить его свойства:
12. Разместить на странице Диаграмма компонент класса TDBChart (закладка Data Controls) и установить его свойства:
13. Открыть Редактор Свойств Диаграммы (двойной щелчок на компоненте DBChart1): а) на закладке Chart-Series редактора создать объекта типа TChartSeries. Для создания объекта типа TChartSeries необходимо нажать на кнопку Add и выбрать вид объекта из галереи. Вид объекта определяется номером варианта (компьютера, на котором работает студент):
На закладке Chart-Titles снять пометку с опции Visible. На закладке Chart-Legend снять пометку с опции Visible. б) на закладке Series-Data Source выбрать из выпадающего списка опцию Dataset и установить следующие опции:
14. Создать обработчик события OnCreate компонента Form1. В обработчике события TForm1.FormCreate ввести код:
procedure TForm1.FormCreate(Sender: TObject); Begin TabbedNotebook1.PageIndex:= 0; End;
15. Сохранить изменения проекта (команда File|Save All). 16. Запустить проект на выполнение (клавиша F9).
1. Баканов В.М. Разработка прикладных программ для ОС WINDOWS с помощью интегрированных сред Delphi / C++Builder. – М.: Изд-во МГАПИ, 2000. 2. Бобровский С. И. Delphi 7: Учебный курс. – СПб.: «Питер», 2006. 3. Бобровский С. И. Технологии Delphi. Разработка приложений для бизнеса: Учебный курс. – СПб.: «Питер», 2006. 4. Дарахвелидзе П.Г., Марков Е.П. Delphi – среда визуального программирования. – СПб.: BHV – Санкт-Петербург, 1996. 5. Рудалев В.Г., Кремер А.И. Введение в Delphi: Методическое указания к спецкурсу «Разработка Windows-приложений». – Воронеж: Изд-во ВГУ, 2000. 6. Садовская О.Б. Программирование в среде Delphi. Часть 2. Создание оконных приложений: Учебное пособие. – Воронеж: Изд-во ВГУ, 2006. 7. Садовская О.Б. Программирование в среде Delphi. Часть 3. Файлы: Учебное пособие. – Воронеж: Изд-во ВГУ, 2006. 8. Спиричева Н.Р. Лабораторные работы по программированию в среде Delphi (работы 6-9). – Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2004. 9. Фаронов В. В. Программирование баз данных в Delphi 7: Учебный курс. – СПб.: «Питер», 2006.
|