ЛИСТИНГ 11.3 Процедуры событий OnClick ддя программы Stats

procedure TAlarmStats.btnlmportClick(Sender: TObject);
begin
CloseTheFile;

{ импортирование данных }

Almstats.Import (TextFilename, StatsFilename);
{ и считывание первой записи } DayLiet.ltemlndex := 0; HourList.ltemlndex := 0; btnLookupClick (Sender), -end;
procedura TAlarmStats btnLookupCliek(Sender: TObject);
var Ree : Almstats AlarmstatsRecord, begin
OpenTheFile;

Almstate.Lookup (AlarmFile, DayList.Itemindex,

BourList.Itemindex, Ree); TotalSigs.Text := IntToStr (Ree.NumberOfSignals); AlarmSigs.Text := IntToStr (Ree Alarmsignals); TroubleSigs.Text := IntToStr (Ree.TroubleSignals)t OperatorSigs.Text := IntToStr (Ree.OperatorSignals);
end;

procedure TAlarmStats.btnüpdateClick(Sender: TObject) ; var Ree : Almstats.AIarmStatsRecord; begin if Not FilelsOpen then

exit; With Ree Do begin
Day := Copy (DayList.Items[DayList.Itemindex]. 1, 3) ;
Time := BourList.Items[BourList.Itemlndex];
NumberOfSignals := StrToInt (TotalSigs.Text);
Alarmsignals := StrToInt (AlarmSigs.Text);
TroubleSignals := StrToInt (TroubleSigs.Text);
Operatorsignals : StrTnlnt (OperatorSigs.Text);
end;
Almstats.Update (AlarmFile, DayList.Itemlndex, BourList.Itemlndex, Ree) ;
end;

procedure TAlarmStats.btnPrintClick(Sender: TObject) ; var Day,

Bour : Integer;

Ree,

DayRec,

WeekRec : Almstats AlarmstatsRecord; PrintText : System.Text;
begin ,OpenTheFile;
{ Инициализация принтера } AssignPrn (PrintText); Rewrite (PrintText);
{ использование шрифта с фиксировнным смещением вверх } { для получения приподнятой строхи } Printer.Canvas.Font.Name := 'Courier'; Printer.Canvas.Font.Pitch := fpFixed;
{ очистка недельного итога } with WeekRec do begin
NumberOfSignals := 0; OperatorSignals := 0;
Alarmsignals := 0;
TroubleSignals := 0;
end;
{ для каждого дня } for Day := 0 to 6 do begin { очистка дневного итога } with DayRec do begin NumberOfSignals := 0; OperatorSignala := 0; Alarmsignals := 0; TroubleSignals := 0;
end;

WriteLn (PrintText, DayList.Items[Day]); { и для каждого часа в течение дня } for Hour := 0 to 23 do begin { получение записи } Alms tats.Lookup (AlarmFile, Day, Hour, Ree), with Ree do begin { печать записи } WriteLn (PrintText, Time:11, ' ', NumberOfSignals:10, OperatorSignals:10, Alarmsignals:10, TroubleSignals 10), { и дополнение дневного итога } DayReC.NumberOfSignals :=

DayRec.NumberOfSignals + NumberOfSignals; DayRec.OperatorSignals :=

DayRec.OperatorSignals + OperatorSignals; DayRec.Alarmsignals :=

DayRec.Alarmsignals + Alarmsignals; DayRec.TroubleSignals :=

DayRec.TroubleSignals + TroubleSignals;
end;
end;

with DayRec do begin ( печать дневных итогов } WriteLn (PrintText,

'Day Totals':11, ' ', NumberOfSignals:10 , OperatorSignals:10, Alarmsignals:10, TroubleSignals:10); { и прибавление к недельным итогам } WeekRec.NumberOfSignals :=

WeekRec.NumberOfSignals + NumberOfSignals; WeekRec.OperatorSignals :=

WeekRec.OperatorSignals + OperatorSignals; WeekRec Alarmsignals :=

WeekRec.Alarmsignals + Alarmsignals;

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

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