{ поиск конца файла перед добавлением записейв } Seek(StatsFile, FileSize(StatsFile));

Поскольку записи нумеруются начиная с 0, последней записью файла из 12 записей будет запись номер 11. FileSize возвращает число записей в файле - а не номер последней записи! В случае файла, содержащего 12 записей, FileSize возвращает 12, что лишь случайно является числом на единицу большим, чем номер последней записи файла. (Почти кажется, что это так и было задумано, да?)

ґ \ Обработка ошибок ввода/вывода (I/O Errors)

Я упоминал, что если ваша программа пытается сделать что-то недопустимое, типа открытия несуществующего файла для чтения, или считывание за пределами конца файла, то вы получите ошибку выполнения и программа остановится. Это является первоначально установленным режимом функционирования и случается тогода, когда проверка на наличие ошибок ввода/вывода включена. Этот режим позволяет вам, также, использовать исключениядля выявления и ответа на ошибки ввода/вывода. Исключения позволяют вам выявить много ошибок программирования различных типов.

Вы можете, также, отключить проверку ошибок ввода/вывода и использо-ватьстандартную функцию loResult, для выявления и ответа на ошибки ввода/вывода. loResult включен в Delphi для обеспечения совместимости с предшествующими версиями Pascal. Это является "дурным старым способом" обработки ошибок ввода/вывода, и отнюдь не тем, что бы я рекомендовал начинающим программистам. А раз так, то мы и не станем описывать это в данной книге, и я предлагаю вам оставить проверку ввода/вывода включенной все время.

Отныне знайте, что Delphi остановится, выдав сообщение об ошибке, если ваша программа попытается сделать что-нибудь запрещенное, и знайте, что для вашей программы является возможным выявить эти ошибочные условия и ответить на них соответствующим образом без разрушения.

Создание и модифицирование файла записей

После предшествующего обсуждения файлов и типов файлов вам, вероятно, не терпится посмотреть, как использовать эти файлы в работающей программе. Мы собираемся создать небольшое приложение названное STATS, которое будет считывать текстовый файл со статистикой тревожных сигналов и создавать файл записей AlarmStatsRecord Программа позволит вам просматривать и модифицировать любую запись в файле, а также позволит вам печатать отчеты. Основная форма законченного приложения показана на Рисунке 11.1.

ОСНОВНАЯ ФОРМА

Мы собираемся проскочить через создание этой формы очень быстро, поскольку теперь мы занкомы с большинством компонентов, которые должны будем использовать. Мы собираемся использовать отдельный модуль для файла ввода/вывода, чтобы сделать основную форму независимой от структуры файла. Это является полезным подходом, так как дает нам возможность изменять способ обработки файла без необходимости менять что-либо в основной форме.

Начните новый проект и измените свойства основной формы, как показано в Таблице 11.1. Затем сохраните свою работу, назвав модуль ЗТАТРОКМ.РАБ, а проект - ЗТАГБЮРЯ.

Программирование в среде Delphi
Рис. 11.1 Приложение Stats

⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31