Changeset 12
- Timestamp:
- Apr 17, 2026, 2:31:42 PM (13 days ago)
- Location:
- trunk
- Files:
-
- 7 edited
-
Ean.pas (modified) (5 diffs)
-
EdcProject.pas (modified) (1 diff)
-
FormMain.lfm (modified) (6 diffs)
-
FormMain.lrj (modified) (1 diff)
-
FormMain.pas (modified) (9 diffs)
-
Languages/EdcStats.cs.po (modified) (1 diff)
-
Languages/EdcStats.pot (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ean.pas
r11 r12 58 58 59 59 TEans = class(TObjectList<TEan>) 60 function GetMaxTime: TDateTime; 61 function GetMinTime: TDateTime; 60 62 function SearchByNumber(Number: string): TEan; 61 63 function SearchByOwnerKind(Owner: string; Kind: TEanKind): TEan; … … 75 77 EanValueName = 'EanValue'; 76 78 EanValuesName = 'EanValues'; 79 FifteenMinute = 15 * OneMinute; 77 80 78 81 … … 180 183 TotalIn := GetTotalIn(TimeFrom, TimeTo); 181 184 TotalOut := GetTotalOut(TimeFrom, TimeTo); 182 if TotalIn <> 0 then Result := TotalIn - TotalOut 183 else Result := 0; 185 Result := TotalIn - TotalOut; 184 186 end; 185 187 … … 187 189 var 188 190 TotalIn: Double; 191 TotalOut: Double; 189 192 begin 190 193 TotalIn := GetTotalIn(TimeFrom, TimeTo); 191 if TotalIn <> 0 then Result := (1 - GetTotalOut(TimeFrom, TimeTo) / TotalIn) * 100192 else Result :=0;194 TotalOut := GetTotalOut(TimeFrom, TimeTo); 195 Result := (1 - TotalOut / TotalIn) * 100; 193 196 end; 194 197 … … 286 289 287 290 { TEans } 291 292 function TEans.GetMaxTime: TDateTime; 293 var 294 I: Integer; 295 Found: Boolean; 296 begin 297 Found := False; 298 for I := 0 to Count - 1 do 299 with Items[I] do 300 if Values.Count > 0 then begin 301 if not Found then begin 302 Result := Values[Values.Count - 1].Time; 303 Found := True; 304 end 305 else if Values[Values.Count - 1].Time > Result then begin 306 Result := Values[Values.Count - 1].Time; 307 end; 308 end; 309 if not Found then Result := Now; 310 end; 311 312 function TEans.GetMinTime: TDateTime; 313 var 314 I: Integer; 315 Found: Boolean; 316 begin 317 Found := False; 318 for I := 0 to Count - 1 do 319 with Items[I] do 320 if Values.Count > 0 then begin 321 if not Found then begin 322 Result := Values[0].Time; 323 Found := True; 324 end 325 else if Values[0].Time < Result then begin 326 Result := Values[0].Time; 327 end; 328 end; 329 if not Found then Result := Now; 330 end; 288 331 289 332 function TEans.SearchByNumber(Number: string): TEan; -
trunk/EdcProject.pas
r11 r12 192 192 if TryStrToCurr(CSVDoc.Cells[3 + C * 2 + 1, R], CellValueOut) then begin 193 193 if EanKind = ekConsumption then CellValueOut := -CellValueOut; 194 end ;194 end else CellValueOut := CellValueIn; 195 195 196 196 Ean.Values.Add(TEanValue.Create(TimeFrom, CellValueIn, CellValueOut)); -
trunk/FormMain.lfm
r11 r12 340 340 end 341 341 object TimeEdit1: TTimeEdit 342 Left = 5 20342 Left = 544 343 343 Height = 43 344 Top = 8344 Top = 3 345 345 Width = 155 346 346 ButtonWidth = 34 … … 351 351 end 352 352 object DateEdit1: TDateEdit 353 Left = 3 52353 Left = 376 354 354 Height = 43 355 Top = 8355 Top = 3 356 356 Width = 155 357 357 CalendarDisplaySettings = [dsShowHeadings, dsShowDayNames] … … 364 364 end 365 365 object ButtonIntervalRight: TButton 366 Left = 680367 Height = 38 368 Top = 13366 Left = 704 367 Height = 38 368 Top = 8 369 369 Width = 40 370 370 Caption = '>' … … 373 373 end 374 374 object ButtonIntervalLeft: TButton 375 Left = 3 04376 Height = 38 377 Top = 13375 Left = 328 376 Height = 38 377 Top = 8 378 378 Width = 40 379 379 Caption = '<' … … 382 382 end 383 383 object ComboBoxUnit: TComboBox 384 Left = 848385 Height = 38 386 Top = 8384 Left = 904 385 Height = 38 386 Top = 3 387 387 Width = 160 388 388 ItemHeight = 0 … … 398 398 end 399 399 object Label5: TLabel 400 Left = 752400 Left = 808 401 401 Height = 26 402 Top = 1 6402 Top = 11 403 403 Width = 40 404 404 Caption = 'Unit:' 405 end 406 object ButtonIntervalRightMax: TButton 407 Left = 752 408 Height = 38 409 Top = 8 410 Width = 40 411 Caption = '>|' 412 TabOrder = 7 413 OnClick = ButtonIntervalRightMaxClick 414 end 415 object ButtonIntervalLeftMin: TButton 416 Left = 280 417 Height = 38 418 Top = 8 419 Width = 40 420 Caption = '|<' 421 TabOrder = 8 422 OnClick = ButtonIntervalLeftMinClick 405 423 end 406 424 object Translator1: TTranslator -
trunk/FormMain.lrj
r11 r12 36 36 {"hash":60,"name":"tformmain.buttonintervalleft.caption","sourcebytes":[60],"value":"<"}, 37 37 {"hash":6049914,"name":"tformmain.label5.caption","sourcebytes":[85,110,105,116,58],"value":"Unit:"}, 38 {"hash":1116,"name":"tformmain.buttonintervalrightmax.caption","sourcebytes":[62,124],"value":">|"}, 39 {"hash":2044,"name":"tformmain.buttonintervalleftmin.caption","sourcebytes":[124,60],"value":"|<"}, 38 40 {"hash":315429,"name":"tformmain.menuitemfile.caption","sourcebytes":[70,105,108,101],"value":"File"}, 39 41 {"hash":341364,"name":"tformmain.menuitemload.caption","sourcebytes":[76,111,97,100],"value":"Load"}, -
trunk/FormMain.pas
r11 r12 20 20 ButtonIntervalRight: TButton; 21 21 ButtonIntervalLeft: TButton; 22 ButtonIntervalRightMax: TButton; 23 ButtonIntervalLeftMin: TButton; 22 24 Chart1: TChart; 23 25 Chart1LineSeries1: TLineSeries; … … 65 67 Translator1: TTranslator; 66 68 procedure ButtonIntervalLeftClick(Sender: TObject); 69 procedure ButtonIntervalLeftMinClick(Sender: TObject); 67 70 procedure ButtonIntervalRightClick(Sender: TObject); 71 procedure ButtonIntervalRightMaxClick(Sender: TObject); 68 72 procedure CheckBoxShowResultChange(Sender: TObject); 69 73 procedure ComboBoxEanDataSelect(Sender: TObject); … … 156 160 end; 157 161 162 procedure TFormMain.ButtonIntervalRightMaxClick(Sender: TObject); 163 begin 164 IntervalTo := EdcProject.Eans.GetMaxTime + FifteenMinute; 165 UpdateInterval; 166 end; 167 158 168 procedure TFormMain.ButtonIntervalLeftClick(Sender: TObject); 159 169 begin 160 170 IntervalTo := IntervalTo - GetIntervalLength; 171 UpdateInterval; 172 end; 173 174 procedure TFormMain.ButtonIntervalLeftMinClick(Sender: TObject); 175 begin 176 IntervalTo := EdcProject.Eans.GetMinTime + GetIntervalLength + FifteenMinute; 161 177 UpdateInterval; 162 178 end; … … 209 225 procedure TFormMain.FormShow(Sender: TObject); 210 226 begin 211 MenuItemLoad.Click; 227 EdcProject.LoadFromFile(ProjectFileName); 228 229 UpdateInterval; 230 UpdateInterface; 212 231 end; 213 232 … … 217 236 218 237 if (EdcProject.Eans.Count > 0) and (EdcProject.Eans[0].Values.Count > 0) then 219 IntervalTo := EdcProject.Eans[0].Values.Last.Time + 15 * OneMinute;238 IntervalTo := EdcProject.Eans[0].Values.Last.Time + FifteenMinute; 220 239 UpdateInterval; 221 240 UpdateInterface; … … 235 254 236 255 if (EdcProject.Eans.Count > 0) and (EdcProject.Eans[0].Values.Count > 0) then 237 IntervalTo := EdcProject.Eans[0].Values.Last.Time + 15 * OneMinute;256 IntervalTo := EdcProject.Eans[0].Values.Last.Time + FifteenMinute; 238 257 UpdateInterval; 239 258 UpdateInterface; … … 501 520 begin 502 521 case Period of 503 prDay: Result := 15 * OneMinute;522 prDay: Result := FifteenMinute; 504 523 prWeek: Result := 1; 505 524 prMonth: Result := 1; … … 549 568 PageControl1.TabIndex := ReadIntegerWithDefault('ActiveTab', PageControl1.TabIndex); 550 569 ShowResult := ReadBoolWithDefault('ShowResult', ShowResult); 570 IntervalFrom := ReadDateTimeWithDefault('IntervalFrom', IntervalFrom); 571 IntervalTo := ReadDateTimeWithDefault('IntervalTo', IntervalTo); 551 572 finally 552 573 Free; … … 572 593 WriteInteger('ActiveTab', PageControl1.TabIndex); 573 594 WriteBool('ShowResult', ShowResult); 595 WriteDateTime('IntervalFrom', IntervalFrom); 596 WriteDateTime('IntervalTo', IntervalTo); 574 597 finally 575 598 Free; -
trunk/Languages/EdcStats.cs.po
r11 r12 75 75 msgstr "<" 76 76 77 #: tformmain.buttonintervalleftmin.caption 78 msgid "|<" 79 msgstr "|<" 80 77 81 #: tformmain.buttonintervalright.caption 78 82 msgid ">" 79 83 msgstr ">" 84 85 #: tformmain.buttonintervalrightmax.caption 86 msgid ">|" 87 msgstr ">|" 80 88 81 89 #: tformmain.caption -
trunk/Languages/EdcStats.pot
r11 r12 65 65 msgstr "" 66 66 67 #: tformmain.buttonintervalleftmin.caption 68 msgid "|<" 69 msgstr "" 70 67 71 #: tformmain.buttonintervalright.caption 68 72 msgid ">" 73 msgstr "" 74 75 #: tformmain.buttonintervalrightmax.caption 76 msgid ">|" 69 77 msgstr "" 70 78
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/edc-stats/chrome/site/your_project_logo.png)