Changeset 2 for trunk/FormMain.pas


Ignore:
Timestamp:
Apr 6, 2026, 9:37:07 AM (3 weeks ago)
Author:
chronos
Message:
  • Added: Ignore generated files.
  • Fixed: Date and time controls not working.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore set to
      EdcStats
      EdcStats.res
      EdcStats.lps
      EdcStats.dbg
      lib
  • trunk/FormMain.pas

    r1 r2  
    5353    procedure ComboBoxPeriodSelect(Sender: TObject);
    5454    procedure ComboBoxUnitSelect(Sender: TObject);
     55    procedure DateEdit1Change(Sender: TObject);
    5556    procedure FormCreate(Sender: TObject);
    5657    procedure FormDestroy(Sender: TObject);
     
    6061    procedure TabSheetDataShow(Sender: TObject);
    6162    procedure TabSheetLogShow(Sender: TObject);
     63    procedure TimeEdit1Change(Sender: TObject);
    6264    procedure Translator1Translate(Sender: TObject);
    6365  private
     
    7577    procedure LoadConfig;
    7678    procedure Report;
    77     procedure ReloadListView;
     79    procedure ReloadListViewOverview;
    7880    procedure ReloadListViewData;
    7981    procedure LoadOwners(FileName: string);
     
    107109  SOwner = 'Owner';
    108110  SShared = 'Shared';
     111  SMeasured = 'Measured';
     112  SResult = 'Result';
    109113
    110114{ TFormMain }
     
    169173end;
    170174
     175procedure TFormMain.DateEdit1Change(Sender: TObject);
     176begin
     177  IntervalTo := DateEdit1.Date + TimeOf(IntervalTo);
     178  UpdateInterval;
     179end;
     180
    171181procedure TFormMain.FormCreate(Sender: TObject);
    172182begin
     
    189199procedure TFormMain.TabSheetOverviewShow(Sender: TObject);
    190200begin
    191   ReloadListView;
     201  ReloadListViewOverview;
    192202end;
    193203
     
    211221begin
    212222  Report;
     223end;
     224
     225procedure TFormMain.TimeEdit1Change(Sender: TObject);
     226begin
     227  IntervalTo := DateOf(IntervalTo) + TimeEdit1.Time;
     228  UpdateInterval;
    213229end;
    214230
     
    278294  TotalIn, TotalOut: Double;
    279295begin
    280   Memo1.Lines.Clear;
    281   for I := 0 to Eans.Count - 1 do begin
    282     Memo1.Lines.Add(SEAN + ': ' + Eans[I].Number);
    283     Memo1.Lines.Add(SOwner + ': ' + Eans[I].Owner);
    284     TotalIn := Eans[I].GetTotalIn(IntervalFrom, IntervalTo);
    285     TotalOut := Eans[I].GetTotalOut(IntervalFrom, IntervalTo);
    286     Memo1.Lines.Add('Total IN: ' + IntToStr(Trunc(TotalIn)));
    287     Memo1.Lines.Add('Total OUT: ' + IntToStr(Trunc(TotalOut)));
    288     if TotalIn <> 0 then
    289     Memo1.Lines.Add(SShared + ': ' + IntToStr(Trunc(Eans[I].GetShared(IntervalFrom, IntervalTo))) + ' %');
    290     Memo1.Lines.Add('');
    291   end;
    292 end;
    293 
    294 procedure TFormMain.ReloadListView;
     296  Memo1.Lines.BeginUpdate;
     297  try
     298    Memo1.Lines.Clear;
     299    for I := 0 to Eans.Count - 1 do begin
     300      Memo1.Lines.Add(SEAN + ': ' + Eans[I].Number);
     301      Memo1.Lines.Add(SOwner + ': ' + Eans[I].Owner);
     302      TotalIn := Eans[I].GetTotalIn(IntervalFrom, IntervalTo);
     303      TotalOut := Eans[I].GetTotalOut(IntervalFrom, IntervalTo);
     304      Memo1.Lines.Add(SMeasured + ': ' + IntToStr(Trunc(TotalIn)));
     305      Memo1.Lines.Add(SResult + ': ' + IntToStr(Trunc(TotalOut)));
     306      if TotalIn <> 0 then
     307      Memo1.Lines.Add(SShared + ': ' + IntToStr(Trunc(Eans[I].GetShared(IntervalFrom, IntervalTo))) + ' %');
     308      Memo1.Lines.Add('');
     309    end;
     310  finally
     311    Memo1.Lines.EndUpdate;
     312  end;
     313end;
     314
     315procedure TFormMain.ReloadListViewOverview;
    295316var
    296317  ListItem: TListItem;
     
    305326      ListItem.SubItems.Add(Eans[I].Owner);
    306327      ListItem.SubItems.Add(MeasureToStr(Eans[I].GetTotalIn(IntervalFrom, IntervalTo)));
     328      ListItem.SubItems.Add(MeasureToStr(Eans[I].GetTotalOut(IntervalFrom, IntervalTo)));
    307329      ListItem.SubItems.Add(IntToStr(Trunc(Eans[I].GetShared(IntervalFrom, IntervalTo))));
    308330      ListItem.SubItems.Add(EanKindText[Eans[I].Kind]);
     
    397419        TimeFrom := StrToDate(CSVDoc.Cells[0, R]) + StrToTime(CSVDoc.Cells[1, R]);
    398420        TimeTo := StrToDate(CSVDoc.Cells[0, R]) + StrToTime(CSVDoc.Cells[2, R]);
    399         if TryStrToFloat(CSVDoc.Cells[3 + C * 2, R], CellValueIn) and
    400         TryStrToFloat(CSVDoc.Cells[3 + C * 2 + 1, R], CellValueOut) then begin
    401           if EanKind = ekConsumption then begin
    402             CellValueIn := -CellValueIn;
    403             CellValueOut := -CellValueOut;
    404           end;
    405           Ean.Values.Add(TEanValue.Create(TimeFrom, CellValueIn, CellValueOut));
     421
     422        CellValueIn := 0;
     423        if TryStrToFloat(CSVDoc.Cells[3 + C * 2, R], CellValueIn) then begin
     424          if EanKind = ekConsumption then CellValueIn := -CellValueIn;
    406425        end;
     426
     427        CellValueOut := 0;
     428        if TryStrToFloat(CSVDoc.Cells[3 + C * 2 + 1, R], CellValueOut) then begin
     429          if EanKind = ekConsumption then CellValueOut := -CellValueOut;
     430        end;
     431
     432        Ean.Values.Add(TEanValue.Create(TimeFrom, CellValueIn, CellValueOut));
    407433      end;
    408434    end;
Note: See TracChangeset for help on using the changeset viewer.