■ OpenAlarmFile открывает названный файл

■ CloseAlarmFile закрывает файл

■ Lookup считывает специфицированную запись из открытого файла

■ Update дополняет специфицированную запись в открытом файле

■ Import считывает текстовый файл, содержащий тревожную информацию, и создает файл записей AlarmStatsRecord

Мы обсудим реализацию этих процедур в модуле Almstats в следующем параграфе. А пока давайте сосредоточимся на коде основной формы

Когда программа запускается в первый раз, процедура события OnCreate устанавливает переменную FfleOpen в False, показывая, что еще не был открыт ни один файл. Каждая из процедур, считывающих файл, вызывает OpenTheFile, чтобы убедиться в том, что файл открыт перед обработкой. Причиной того, что файл не открывается при запуске программы, является то, что его может там и не быть. Если файл не существовал, а мы попытаемся открыть его при запуске программы, то получим ошибку ввода/вывода, и программа остановится.

Прорцедура события OnClose формы вызывает CloseTheFüe, чтобы быть уверенной в том, что файл закрьгваетя перед выходом из программы.

Процедуры событий для кнопок Lookup и Update весьма прямолинейны. Lookup просто получает значения Day и Hour из комбинированный диалоговых окон и вызывает Almstats. Lookup для получения записи. После получения записи она устанавливает поле режактирования таким образом, чтобы оно отражала только что считанную информацию.

Действие Update противоположно Lookup. Она получает значения Day и Hour от комбинированных диалоговых окон, ус танавливает поля Ree переменных на основе информации в полях редактирования, а затем вызывает Almstats. Update для записи новой информации в файл.

Действие кнопки Import просто вызывает Almstats.Import, чтобы считать новую информацию в файл тревожной статистики, а затем вызывает подпрограмму Lookup для получения и отображения первой записи в файле.

Действие кнопки Print в Листинге 11.3 аналогично процедуре ComputeAverageMiles, приведенной в Листинге 11.1, за исключением того, что мы считываем файл записей, вместо текстового файла. Техника обработки является такой же, однако, и ее проще всего описать таким псевдо-кодом:

очистка недельных итогов для каждого дня очистка дневных итогов для каждой по-часовой записи печать информации добавление информации к дневным итогам конец почасовой записи печать дневного итога добавление дневных итогов к недельным итогам конец ежедневной обработки печать недельных итогов

Это действительно все. Такого типа обработка занимает очень большую часть каждодневного кропотливого программирования. Сегодня автоматизированные инструменты (типа продукта ReportSmith фирмы Borland) помогает исключить большую часть рутины, но эти инструменты обычно разработаны для работы с файлами баз данных - а не просто с текстовыми файлами и файлами записей. Автоматизированные средства также управляют такими вещами, как заголовки колонок, символы конца страницы, номера страниц - теми вещами, которые я не включил в эту программу.


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

Программирование в среде 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