
- •Занятие 1. Введение Почему именно Delphi?
- •Что мы видим на экране
- •Контрольные вопросы:
- •Занятие 2. Мое первое приложение в Delphi Вывести текст в окне
- •Задания для самостоятельной работы
- •Кнопки. Какие они бывают и зачем они?
- •Задания для самостоятельной работы
- •Поле редактирования
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 3. Введение в язык программирования Pascal
- •Понятие алгоритма
- •Структура процедуры
- •Правила задания имен языка Pascal
- •Задания для самостоятельной работы
- •Тип данных
- •Числовой тип данных. Целые числа
- •Числовой тип данных. Вещественные числа
- •Описание данных
- •Задания для самостоятельной работы
- •Операции
- •Присвоение значения переменной. Оператор присваивания
- •Задания для самостоятельной работы
- •Задача «Простой калькулятор»
- •Встроенные функции
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 4. Разветвляющийся алгоритм
- •Логический тип данных
- •Описание данных логического типа
- •Логические выражения
- •Разветвляющийся алгоритм
- •Оператор if
- •Оператор выбора case
- •Задания для самостоятельной работы
- •Списки. Компоненты ListBox и ComboBox
- •Зависимые переключатели. Компоненты RadioButton, RadioGroup
- •Задание для самостоятельной работы
- •Добавление формы к проекту
- •Структура модуля Pascal
- •Как открыть форму
- •Задание для самостоятельной работы
- •Способность форм ссылаться друг на друга
- •Задание для самостоятельной работы
- •Просмотр форм и ассоциированных с ними модулей
- •Основные свойства, методы и события формы
- •Менеджер проектов
- •Опции пpоекта
- •Упpавление пpоектами
- •Компиляция и сборка проекта
- •Выполнение и отладка проекта
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 6. Начинаем рисовать
- •Рисование линий
- •Задание цвета
- •Рисование фигур
- •Свойства класса tBrush
- •Вывод текста
- •События формы OnPaint и OnResize
- •Задания для самостоятельной работы
- •Занятие 7. Циклы
- •Цикл со счетчиком: for
- •Цикл с предусловием: while
- •Цикл с постусловием: repeat..Until
- •Использование операторов Continue и Break в циклах
- •Задание случайных чисел. Функция Random. Процедура Randomize
- •Вложенные циклы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 8. Массивы
- •Одномерные массивы
- •Двумерные массивы
- •Компонент tStringGrid
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 9. Строки и символы
- •Символьный тип данных
- •Строковый тип данных
- •Сравнение текстовой информации
- •Функции для работы с текстовой информацией
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Занятие 10. Работа с изображениями
- •Редактор Image Editor
- •Как отобразить рисунок в форме
- •Компонент Timer
- •Как заставить картинку двигаться
- •Случайное движение
- •Задание для самостоятельной работы.
- •Движение по закону
- •Задание для самостоятельной работы
- •Управляемое движение
- •Задание для самостоятельной работы
- •Как совместить разные виды движения
- •Задание для самостоятельной работы
- •Использование мыши
- •Занятие 11. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Где описывать процедуры(функции)
- •Передача параметров по ссылке и по значению
- •Контрольные вопросы
- •Задание для самостоятельной работы
- •Занятие12. Еще про компоненты Еще раз про списки
- •Функция MessageDlg
- •Задание для самостоятельной работы
- •Главное меню приложения. Компонент MainManu
- •Задание для самостоятельной работы
- •Кнопочная панель. Компонент ToolBar
- •Область редактирования. Компонент Memo
- •Контекстное меню. Компонент PopupMenu
- •Диалоговые окна Windows
- •Задание для самостоятельной работы
- •Занятие 13. Объектно-ориентированный подход (ооп) в программировании Основные понятия ооп
- •Основные принципы ооп
- •Тип данных запись (структура)
- •Задание для самостоятельной работы
- •Классы и объекты в Delphi
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Занятие 14. Работа с файлами
- •Общая технология работы с файлами в Delphi
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Область редактирования. Компонент Memo
Область редактирования (Memo) используется для редактирования длинных строк или объемных текстовых документов. Компонент располагается на вкладке Standart. Основным свойством этого компонента является свойство Lines:TString уже знакомого нам класса TString, которое имеет набор методов, позволяющих загружать текстовый документ из файла и выгружать его в файл. Методы класса TString приведены в таблице:
Метод |
Описание |
Add |
Добавить строку |
Insert |
Вставить строку |
Delete |
Удалить строку |
LoadFromFile |
Загрузить текст из файла в Memo, в качестве параметра методу передается путь к файлу. |
SaveToFile |
Сохранить текст Memo в файле, в качестве параметра методу передается путь к файлу. |
Основные методы компонента Memo приведены в таблице:
Метод |
Описание |
Clear |
Удалить все строки из Memo. |
CopyToClipBoard |
Копировать выделенный текст во внутренний буфер Windows. |
CutToClipBoard |
Вырезать выделенный текст во внутренний буфер Windows. |
PasteFromClipBoard |
Вставить выделенный текст из внутреннего буфера Windows. |
Контекстное меню. Компонент PopupMenu
Компонент PopupMenu, находящийся на вкладке Standart, позволяет создать контекстное меню, т.е. меню, которое открывается то правой кнопке мыши. Двойной щелчок на компоненте открывает встроенный построитель меню, очень похожий та построитель меню для компонента MainMenu. Названия пунктов меню также вводятся в свойство caption. Связь контекстного меню с соответствующим интерфейсным элементом, например, областью редактирования Memo, выполняется через свойство PopupMenu интерфейсного элемента.
Например, создадим несложное приложение, которое позволяет по нажатию правой кнопки мыши на области редактирования загружать файлы в Memo и сохранять содержимое Memo в файлах. Для этого поместим в область формы следующие объекты Memo1:TMemo и PopupMenu1:TPopupMenu. Свяжем их через свойство PopupMenu объекта Memo1.
С помощью встроенного построителя меню зададим названия пунктов контекстного меню: «Загрузить файл», «Сохранить в файле».
На пункт меню «Загрузить файл» напишем следующий обработчик:
Memo1.Lines.LoadFromFile(‘D:\Temp\d1.txt’);
На пункт меню «Сохранить в файле» напишем следующий обработчик:
Memo1.Lines.SaveToFile(‘D:\Temp\d1.txt’);
Недостатком этого приложения является отсутствие возможности выбрать файл в диалоге при его загрузке и возможность задать в диалоге папку и имя файла при его сохранении. Для этого следует использовать стандартные диалоговые окна Windows для открытия и сохранения файла. Такую возможность предоставляют компоненты, расположенные на вкладке Dialogs.
Диалоговые окна Windows
На вкладке Dialogs располагается набор компонентов, реализующий стандартные диалоговые окна Windows. Основные компоненты приведены в таблице:
Название компонента |
Описание |
OpenDialog |
Диалог открытия файла |
SaveDialog |
Диалог сохранения файла |
FontDialog |
Диалог задания шрифта |
ColorDialog |
Диалог задания цвета |
FindDialog |
Диалог задания параметров поиска в файле |
PrinterSetupDialog |
Диалог задания установок принтера |
PrintDialog |
Диалог задания печати |
Рассмотрим более подробно диалоги OpenDialog и SaveDialog, FontDialog и ColorDialog.
Основные свойства OpenDialog и SaveDialog
Свойство |
Описание |
FileName |
Имя файла, в случае OpenDialog – это имя файла выбранного пользователем, в случае SaveDialog – это имя, под которым файл следует сохранить |
Filter |
Фильтр позволяет увидеть только файлы определенного типа в окне диалога, путем задания расширения файлов. Например, только текстовые с расширением *.txt. |
InitialDir |
Позволяет задать начальный директорий для диалога |
Title |
Заголовок окна диалога |
Для компонента FontDialog основным свойством является свойство Font, в котором будет находиться шрифт, выбранный пользователем. Для компонента ColorDialog основным свойством является свойство color, которое будет содержать цвет, выбранный пользователем.
Основным методом для всех этих видов компонентов является метод Execite, который выводит диалог на экран и возвращает истину, если пользователь выбрал кнопку «Открыть» или «Сохранить» в окне диалога, и ложь, если пользователь выбрал кнопку «Отмена» в окне диалога.
Теперь, вооружившись этим знанием, улучшим приложение, созданное в предыдущем пункте «Контекстное меню. Компонент PopupMenu». Для этого поместим в область формы компоненты вкладки Dialogs: OpenDialog – для открытия файла в диалоге, SaveDialog – для сохранения файла в диалоге, ColorDialog – для выбора цвета области редактирования Memo, FontDialog – для выбора шрифта текста, загруженного в область Memo.
Внешний вид окна на этапе проектирования может быть таким:
В контекстном меню создадим следующие пункты меню: «Открыть файл», «Сохранить файл», «Изменить шрифт», «Изменить цвет».
При выборе пункта меню «Открыть файл» работает программный код:
if OpenDialog1.Execute then
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
При выборе пункта меню «Открыть файл» работает программный код:
if SaveDialog1.Execute then
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
При выборе пункта меню «Изменить шрифт» работает программный код:
if FontDialog1.Execute then
Memo1.Font:=FontDialog1.Font;
При выборе пункта меню «Изменить цвет» работает программный код:
if ColorDialog1.Execute then
Memo1.Color:=ColorDialog1.Color;