
- •Содержание
- •Лабораторная работа № 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. Сохраните программу и убедитесь в правильности ее работы.
5. Интерфейс Drag&Drop.
В приложении осуществим возможность переноса содержимого редактора Edit1 в редактор Edit2. Сделаем так, чтобы панель Panel1 можно было перемещать по форме.
Источниками в механизме Drag&Drop будут компоненты Panel1, Edit1. Установите для компонентов Panel1, Edit1 свойство DragMode равным dmAutomatic. Значение dmAutomatic обеспечивает автоматическую реакцию компонента на нажатие левой клавиши мыши и начало перетаскивания. О включении механизма сигнализирует указатель мыши, - он изменяет курсор, определенный в свойстве DragCursor.
Приемником может стать любой компонент, в котором создан метод-обработчик DragOver. Создайте обработчики событий:
Для Edit2:
Procedure TForm1.Edit2DragOver (Sender, Source: TObject; X,Y: integer; State: TDragState; var Accept: boolean);
Begin
// Если источник переноса односторонний редактор, то Edit2
// становится приемником.
If Source.ClassName = ' TEdit' then Accept := True
Else Accept := False;
End;
Для формы:
Procedure TForm1.FormDragOver (Sender, Source: TObject; X,Y: integer; State: TDragState; var Accept: boolean);
Begin
// Если источник переноса панель, то форма становится приемником.
If Source.ClassName = ' TPanel' then Accept := True
Else Accept := False;
End;
Приемник должен предусматривать выполнение некоторых действий в случае, если источник завершает перетаскивание именно на нем. Для этого используется метод-обработчик OnDragDrop, который вызывается при отпускании левой кнопки мыши на компоненте приемнике.
Для компонента Edit2:
Procedure TForm1.Edit2DragDrop (Sender, Source: TObject; X,Y: integer);
Begin
// Передаем содержимое источника в приемник.
Edit2.Text := (Source As TEdit).Text;
End;
Для формы:
Procedure TForm1.FormDragDrop (Sender, Source: TObject; X,Y: integer);
Begin
// Устанавливаем источнику координаты мыши,
// которые он имеет в момент отпускания кнопки.
(Source As TPanel).Left := x;
(Source As TPanel).Top := y;
End;
Проверьте правильность Ваших действий, осуществив прогон программы.
6. События, связанные с клавиатурой.
В ряде случаев бывает удобно задать тип символов, которые могут быть введены в строке редактирования. Проще всего этого достичь в обработчике события OnKeyPress, которое происходит при каждом нажатии клавиши.
Для компонента Edit1 реализуем преобразование вводимой информации в символы верхнего регистра (для латинских символов). Создадим следующий обработчик:
Procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
Begin
If Key in ['a'.. 'z'] then begin
Key := Chr(Ord(Key)-32); //Формула преобразования в верхний регистр
End;
End;
Проверьте правильность Ваших действий, осуществив прогон программы.
7. События, связанные с мышью.
Для формы создадим обработчики событий, которые будут фиксировать нажатие клавиши мыши в первой секции компонента StatusBar1, отпускание кнопки мыши во второй секции и текущее положение курсора мыши в третьей секции.
Создайте обработчики для формы:
Нажатие на кнопку мыши:
Procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer);
Begin
// В первую секцию панели статуса записываем координаты мыши.
StatusBar1.Panels[0].Text := 'Начало: '+ 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);
End;
Отпускание кнопки мыши:
Procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X,Y: integer);
Begin
// Во вторую секцию панели статуса записываем координаты мыши.
StatusBar1.Panels[1].Text := 'Конец: '+ 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);
End;
Перемещение мыши:
Procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: integer);
Begin
// В третью секцию панели статуса записываем координаты мыши.
StatusBar1.Panels[2].Text := 'X: ' + IntToStr(x) + ';Y: ' +IntToStr(y);
End;
Проверьте правильность Ваших действий, осуществив прогон программы.