Значения, разделенные запятыми

Последняя из процедур событий, TAlarmStats.btnExportClick, прочитывает файл тревожной статистики и создает специального вида текстовый файл, содержащий разделенные запятыми знамения. Типичная запись в такого типа файле выглядит следующим образом:

"WED", "13:00", "287", "65", "24", "84"

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

Как вы можете убедиться посредством кнопки процедуры события Export, создание файла разделенных запятыми значений весьма просто. Чтение этого типа файла является несколько более сложным. Чтобы сделать это, вам необходимо считать каждую строку текста в переменную String, а затем выделить каждое отдельное поле. Это отнюдь не непосильная задача, но она выходит за рамки этой книги.

Модуль Almstats

Единственной вещью, отсутствующей теперь в нашей программе, является модуль Almstats, реализующий все вводы/выводы файлов. Чтобы добавить этот модуль к вашему проекту, выберите File I New Unit и введите код, показанный в Листинге 11.5.

ЛИСТИНГ 11.5 Модуль Almstats

{ модуль тревожной статистики }

unit AlmStats;

interface

type

{ статистическая запись для каждого 15-минутного периода } AlarmStatsRecord = record

Day : String[3];
Time : String[5];
NumberOfSignals : Integer;
OperatorSignals : Integer;
AlarmSignals : Integer;
TroubleSignals : Integer;
end;
AlarmFileType = File of AlarmStatsRecord; procedure OpenAlarmFile (var f : AlarmFileType;
Const AlarmFilename : String); procedure CloseAlarmFile (var f : AlarmFileType); procedure Lookup (var f : AlarmFileType;
Day, Hour : Integer;
var Rec : AlarmStatsRecord); procedure Update (var f : AlarmFileType;

Day, Hour : Integer; var Rec : AlarmStatsRecord); procedure Import (Const InputFilename, AlarmFilename : String); implementation

procedure OpenAlarmFile (var f : AlarmFileType;
Const AlarmFilename : String);
begin
Assign (f, AlarmFilename); Reset (f);
end;
procedure CloseAlarmFile (var f : AlarmFileType);
begin
Close (f);
end;
procedure Lookup (var f : AlarmFileType;
Day, Hour : Integer;
var Rec : AlarmStatsRecord);
var RecordNo : Integer;
begin
RecordNo : (Day * 24) + Hour; Seek (f. RecordNo); Read (f. Rec) ;
end;
procedure Update (var f : AlarmFileType;
Day, Hour : Integer;
var Rec : AlarmStatsRecord);
var RecordNo : Integer;
begin
RecordNo := (Day * 24) + Hour; Seek (f, RecordNo) ;
Write (f, Rec);
end;
procedure Import (Const InputFilename, AlarmFilename : String);
var f : AlarmFileType; t : Text;
Rec : AlarmstatsRecord; с : Char begin
( открытие входного файла ) Assign (t, InputFilename); Reset (t);
( совдание выходного файла } Assign (г, AlarmFilename); Rewrite (f);

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

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