
- •Занятие 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
- •Стандартный подход к работе с файлами
- •Описание файловой переменной
- •Открытие файлов
- •Запись в файл
- •Считывание из файла
- •Закрытие файла
- •Установка новой позиции в файле
- •Текстовые файлы
- •Конец файла
- •Стандартные подпрограммы для работы с файлами и каталогами
- •Пример работы с нетипизированными файлами
- •Пример работы с типизированными файлами
- •Пример работы с текстовыми файлами
- •Объектный подход к работе с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
Контрольные вопросы
Что такое процедура? Как и где описывается процедура? Как вызвать процедуру?
Что такое функция? Как и где описывается функция? Как вызвать функцию?
Чем функция отличается от процедуры?
Какие преимущества дает использование процедур и функций?
Какие параметры называются фактическими?
Какие параметры называются формальными?
Механизмы передачи параметров в процедуру и функцию: по значению, по ссылке. Поясните в чем разница.
Задание для самостоятельной работы
Написать функцию Procent, которая возвращает процент от полученного в качестве аргумента числа.
Написать функцию Doxod, которая вычисляет доход по вкладу. Исходными данными для функции являются: величина вклада, процентная ставка (годовых) и срок вклада(количество дней). Формула вычисления вклада может быть такой:
Доход=вклад*(проц_ставка/360*срок
Написать функцию, которая для веденного числа возвращает сумму его цифр.
Написать программный код для игры «Летающие тарелки», который определяет, было ли столкновение снаряда с летающей тарелкой, и если было, убирает тарелку с экрана и увеличивает счет игры. Оформить этот программный код в виде процедуры или функции.
Занятие12. Еще про компоненты Еще раз про списки
Как было уже рассмотрено в занятии 4, Delphi предлагает два вида списков:
Прокручиваемый список – ListBox;
Выпадающий список – ComboBox.
Оба вида списков располагаются на вкладке Standart. Списки имеют много общих свойств и методов, но отличаются внешним видом, кроме того, список ComboBox является полем редактирования со списком, т.е. он объединяет возможности редактирования и выбора из списка.
Свойство Items у обоих видов списков является объектом типа TString со своими свойствами и методами. Иными словами, Items это символьный массив с набором методов, позволяющим работать со строками списка, т.е. добавлять, удалять, вставлять строки и т.д. Набор основных методов класса TString приведен в таблице:
Метод |
Описание |
Add(const S: string): Integer |
Добавить строку, передаваемую в качестве входного параметра, в конец списка |
Insert(Index: Integer; const S: string); |
Вставить строку S в позицию, задаваемую параметром Index. Нумерация строк начинается с нуля. |
Delete(Index: Integer) |
Удалить строку, позиция которой указана в параметре Index |
Exchange(Index1, Index2: Integer) |
Поменять местами два элемента списка, позиции которых указаны параметрами Index1 и Index2 |
Clear |
Очистить список |
Заполнение списков данными часто удобно производить на этапе выполнения программы программным путем.
Для демонстрации этого рассмотрим несложное приложение, назовем его «Работа со списками». Это приложение позволит программным путем изменять список ListBox. Внешний вид приложения может быть, например, таким:
ListBox1
В поле Edit1:TEdit будет вводиться значение нового элемента списка. По кнопке «Добавить» - введенный элемент добавляется в конец списка. По кнопке «Вставить» - элемент вставляется перед текущей позицией курсора. По кнопке «Удалить» - удаляется элемент, на котором установлен курсор. По кнопке «Очистить» - все элементы списка удаляются.
Используя методы объекта Items списка, напишем программный код на события OnClick кнопок.
Для кнопки «Добавить» программный код будет иметь вид:
ListBox1.Items.Add(Edit1.Text);
Для кнопки «Вставить» программный код будет иметь вид:
ListBox1.Items.Insert(ListBox1.ItemIndex, Edit1.Text);
Здесь первый параметр задает порядковый номер элемента, перед которым вставляется элемент, второй параметр – задает этот элемент.
Для кнопки «Удалить» программный код будет иметь вид:
ListBox1.Items.Delete(ListBox1.ItemIndex);
Для кнопки «Очистить» программный код будет иметь вид:
ListBox1.Items.Clear;