- •Сборник МетодическиХ указаниЙ по выполнению лабораторных работ
- •Информатика
- •Введение. Назначение Delphi и его особенности
- •Начало работы
- •Меню и команды Delphi
- •Полоска кнопок быстрого доступа SpeedBar
- •Локальные меню SpeedMenu
- •Работа с формами
- •Палитра компонентов
- •Система подсказок
- •Навигатор кода
- •Написание кода
- •Справочная система
- •Структура проекта
- •Окончательная настройка приложения
- •Событие и процедура обработки события
- •Запуск программы
- •Предупреждения и подсказки
- •Ошибки времени выполнения
- •Компиляция
- •Отладка программы
- •Файлы, создаваемые системой
- •Репозиторий объектов и его страницы
- •Тула 2014 г.
- •Создание приложения в среде разработки Delphi
- •Первый проект
- •Компоненты
- •Начальные сведения о программах на языке Pascal
- •Комментарии
- •Директивы компилятора
- •Идентификаторы
- •Переменные и типы данных
- •Константы
- •Неименованные константы
- •Нетипизированные константы
- •Типизированные константы
- •Простейшие операторы
- •1. Простейшие арифметические и логические операции
- •2. Линейные программы
- •Тула 2014 г.
- •Сущность задач с ветвлениями
- •Логический тип данных
- •Организация ветвлений
- •Объединение операторов
- •Сложные условия
- •Множественное ветвление
- •Применение оператора-переключателя Case
- •Тула 2014 г.
- •Сущность задач с циклами
- •Цикл с предусловием
- •Вечный цикл
- •Цикл с постусловием
- •Цикл с переменной
- •Дополнительные операторы управления циклами
- •Вложенные циклы
- •Инструкция goto
- •1. Циклические программы
- •2. Задачи, решаемые методом перебора.
- •Тула 2014 г.
- •Статические массивы
- •Многомерные статические массивы
- •Ввод-вывод массивов
- •Считывание массива из файла
- •Поиск максимума и минимума
- •Пример программы
- •Динамические массивы
- •Создание динамических массивов
- •Многомерные динамические массивы
- •1. Одномерные массивы
- •2. Двумерные массивы
- •Тула 2014 г.
- •Процедуры и функции
- •Что такое функция?
- •Функция: туда и обратно
- •Процедуры
- •Передача данных в процедуры
- •Вложенные процедуры и функции
- •Тула 2014 г.
- •Символьный тип
- •Символ-константа и строка-константа Неименованные константы
- •Нетипизированные константы
- •Типизированные константы
- •Действия с символами Операции
- •Стандартные функции и процедуры обработки строк
- •Операции со строками Сравнения
- •Обращение к компонентам строки
- •Конкатенация
- •Удаление символов в строке
- •Определение позиции подстроки
- •Выделение подстроки
- •Множества
- •Описание множеств
- •Множество-константа Неименованная константа
- •Нетипизированная константа
- •Типизированная константа
- •Операции с множествами
- •Представление множеств массивами
- •Представление множеств линейными массивами
- •Представление множеств битовыми массивами
- •1. Строковый тип данных
- •2. Типы данных «множество» и «запись»
- •Тула 2014 г.
- •Введение
- •Что такое файл?
- •Когда нужно использовать файлы
- •Разновидности файлов
- •Описание файлов
- •Текстовые файлы
- •Оперирование файлами
- •Назначение файла
- •Открытие файла
- •Закрытие файла
- •Считывание из файла
- •Запись в файл
- •Пробельные символы
- •Пример использования файлов
- •Изменение реакции на ошибку
- •Бинарные файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Подпрограммы обработки директорий
- •Применимость подпрограмм обработки файлов
- •Индивидуальные задания
- •Свойства в Delphi
- •Вложенных свойств
- •Управление свойствами визуальных компонент в режиме выполнения
- •Программа shapedem2
- •Тула 2014 г.
- •Графические компоненты
- •Построение графиков с помощью компонентной технологии
- •Тула 2014 г.
- •Создание меню
- •Использование компонента tTimer
- •Тула 2014 г.
- •Работа с компонентом RichEdit
- •Тула 2014 г.
- •Тула 2014 г.
- •Что такое мультимедиа
- •Мультимедиа в Delphi
- •Компонент tMediaPlayer
- •Два вида программ мультимедиа
- •Пример программы с мультимедиа
Запуск программы
Пробный запуск программы можно выполнить непосредственно из Delphi, не завершая работу со средой разработки. Для этого нужно из меню Run выбрать команду Run или щелкнуть на соответствующей кнопке панели инструментов Debug (рис. 16).
Рис. 16. Запуск программы из среды разработки
Предупреждения и подсказки
При обнаружении в программе неточностей, которые не являются ошибками, компилятор выводит подсказки (Hints) и предупреждения (warnings).
Например, наиболее часто выводимой подсказкой является сообщение об объявленной, но не используемой переменной:
Variable ... is declared but never used in ... Действительно, зачем объявлять переменную и не использовать ее?
В табл. 2. приведены предупреждения, наиболее часто выводимые компилятором.
Таблица 2
Предупреждения компилятора
Предупреждение |
Вероятная причина |
Variable... is declared but never used in ... |
Переменная не используется |
Variable . . . might not have been initialized. (Вероятно, используется не инициализированная переменная) |
В программе нет инструкции, которая присваивает переменной начальное значение |
Ошибки времени выполнения
Во время работы приложения могут возникать ошибки, которые называются ошибками времени выполнения (run-time errors) или исключениями (exceptions). В большинстве случаев причинами исключений являются неверные исходные данные. Например, если во время работы программы вычисления скорости бега в поле Время ввести 3.20, т.е. для отделения дробной части числа от целой использовать точку, то в результате нажатия кнопки Вычислить на экране появится окно с сообщением об ошибке (рис. 17).
Рис. 17. Пример ошибки времени выполнения
(программа запущена из Windows)
Причина возникновения ошибки заключается в следующем. В тексте программы дробная часть числа от целой отделяется точкой. При вводе исходных данных в поле редактирования пользователь может (если не предпринять никаких дополнительных усилий) отделить дробную часть числа от целой точкой или запятой. Какой из этих двух символов является допустимым, зависит от настройки Windows.
Если в настройке Windows указано, что разделитель целой и дробной частей числа — запятая (для России это стандартная установка), а пользователь во время работы программы введет в поле редактирования, например, строку 3.20, то при выполнении инструкции
t = StrToFloat(Edit2.Text)
возникнет исключение, т. к. при стандартной, для России настройке Windows содержимое поля Edit2 и, следовательно, аргумент функции strToFloat не являются изображением дробного числа.
Если программа запущена из среды разработки, то при возникновении исключения выполнение программы приостанавливается, и на экране появляется окно с сообщением об ошибке и ее типе. В качестве примера на рис. 18 приведено окно с сообщением о том, что введенная пользователем строка не является дробным числом.
Рис. 18. Пример сообщения о возникновении исключения
(программа запущена из Delphi)
После нажатия кнопки ОК программист может продолжить выполнение программы (для этого надо из меню Run выбрать команду Step Over) или прервать выполнение программы. В последнем случае нужно из меню Run выбрать команду Program Reset.
При разработке программы программист должен постараться предусмотреть все возможные варианты некорректных действий пользователя, которые могут привести к возникновению ошибок времени выполнения (исключения), и обеспечить способы защиты от них.
В листинге В5 приведена версия программы Скорость бега, в которой реализована защита от некоторых некорректных действий пользователя, в частности, программа.позволяет вводить в поле Дистанция (Edit1) только цифры.
