| 1 | unit fOptionsReportsDefault;
 | 
|---|
| 2 | 
 | 
|---|
| 3 | interface
 | 
|---|
| 4 | 
 | 
|---|
| 5 | uses
 | 
|---|
| 6 |   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 | 
|---|
| 7 |   StdCtrls, ExtCtrls, Spin, fOptions, ComCtrls, ORFn, ORNet, ORCtrls,
 | 
|---|
| 8 |   ORDtTm, rCore;
 | 
|---|
| 9 | 
 | 
|---|
| 10 | type
 | 
|---|
| 11 |   TfrmOptionsReportsDefault = class(TForm)
 | 
|---|
| 12 |     Label2: TLabel;
 | 
|---|
| 13 |     Label3: TLabel;
 | 
|---|
| 14 |     Label4: TLabel;
 | 
|---|
| 15 |     edtDefaultMax: TCaptionEdit;
 | 
|---|
| 16 |     Bevel1: TBevel;
 | 
|---|
| 17 |     Bevel2: TBevel;
 | 
|---|
| 18 |     Panel1: TPanel;
 | 
|---|
| 19 |     btnOK: TButton;
 | 
|---|
| 20 |     btnReset: TButton;
 | 
|---|
| 21 |     lblDefaultText: TMemo;
 | 
|---|
| 22 |     btnCancel: TButton;
 | 
|---|
| 23 |     odcDfStart: TORDateBox;
 | 
|---|
| 24 |     odcDfStop: TORDateBox;
 | 
|---|
| 25 |     procedure btnOKClick(Sender: TObject);
 | 
|---|
| 26 |     procedure btnCancelClick(Sender: TObject);
 | 
|---|
| 27 |     procedure btnResetClick(Sender: TObject);
 | 
|---|
| 28 |     procedure edtDefaultMaxExit(Sender: TObject);
 | 
|---|
| 29 |     procedure edtDefaultStartKeyPress(Sender: TObject; var Key: Char);
 | 
|---|
| 30 |     procedure edtDefaultEndKeyPress(Sender: TObject; var Key: Char);
 | 
|---|
| 31 |     procedure edtDefaultMaxKeyPress(Sender: TObject; var Key: Char);
 | 
|---|
| 32 |     procedure FormCreate(Sender: TObject);
 | 
|---|
| 33 |     procedure odcDfStartExit(Sender: TObject);
 | 
|---|
| 34 |     procedure odcDfStopExit(Sender: TObject);
 | 
|---|
| 35 |     procedure odcDfStartKeyPress(Sender: TObject; var Key: Char);
 | 
|---|
| 36 |     procedure odcDfStopKeyPress(Sender: TObject; var Key: Char);
 | 
|---|
| 37 |     procedure odcDfStartClick(Sender: TObject);
 | 
|---|
| 38 |     procedure odcDfStopClick(Sender: TObject);
 | 
|---|
| 39 |     procedure edtDefaultMaxClick(Sender: TObject);
 | 
|---|
| 40 |   private
 | 
|---|
| 41 |     { Private declarations }
 | 
|---|
| 42 |     startDate, endDate, maxOcurs: integer;
 | 
|---|
| 43 |     sDate,eDate: String;
 | 
|---|
| 44 |   public
 | 
|---|
| 45 |     { Public declarations }
 | 
|---|
| 46 |     procedure fillLabelText;
 | 
|---|
| 47 | 
 | 
|---|
| 48 |   end;
 | 
|---|
| 49 | 
 | 
|---|
| 50 | var
 | 
|---|
| 51 |   frmOptionsReportsDefault: TfrmOptionsReportsDefault;
 | 
|---|
| 52 | 
 | 
|---|
| 53 | procedure DialogOptionsHSDefault(topvalue, leftvalue, fontsize: integer; var actiontype: Integer);
 | 
|---|
| 54 | 
 | 
|---|
| 55 | implementation
 | 
|---|
| 56 | 
 | 
|---|
| 57 | uses rOptions, uOptions, fReports, uCore;
 | 
|---|
| 58 | {$R *.DFM}
 | 
|---|
| 59 | 
 | 
|---|
| 60 | procedure DialogOptionsHSDefault(topvalue, leftvalue, fontsize: integer; var actiontype: Integer);
 | 
|---|
| 61 | var
 | 
|---|
| 62 |   frmOptionsReportsDefault: TfrmOptionsReportsDefault;
 | 
|---|
| 63 | begin
 | 
|---|
| 64 |   frmOptionsReportsDefault := TfrmOptionsReportsDefault.Create(Application);
 | 
|---|
| 65 |   actiontype := 0;
 | 
|---|
| 66 |   try
 | 
|---|
| 67 |     with frmOptionsReportsDefault do
 | 
|---|
| 68 |     begin
 | 
|---|
| 69 |       if (topvalue < 0) or (leftvalue < 0) then
 | 
|---|
| 70 |         Position := poScreenCenter
 | 
|---|
| 71 |       else
 | 
|---|
| 72 |       begin
 | 
|---|
| 73 |         Position := poDesigned;
 | 
|---|
| 74 |         Top := topvalue;
 | 
|---|
| 75 |         Left := leftvalue;
 | 
|---|
| 76 |       end;
 | 
|---|
| 77 |       ResizeAnchoredFormToFont(frmOptionsReportsDefault);
 | 
|---|
| 78 |       ShowModal;
 | 
|---|
| 79 |       actiontype := btnOK.Tag;
 | 
|---|
| 80 |     end;
 | 
|---|
| 81 |   finally
 | 
|---|
| 82 |     frmOptionsReportsDefault.Release;
 | 
|---|
| 83 |   end;
 | 
|---|
| 84 | end;
 | 
|---|
| 85 | 
 | 
|---|
| 86 | procedure TfrmOptionsReportsDefault.btnOKClick(Sender: TObject);
 | 
|---|
| 87 | var
 | 
|---|
| 88 |   valueStartdate, valueEnddate, valueMax, values: string;
 | 
|---|
| 89 | begin
 | 
|---|
| 90 |   if (odcDfStart.Text = sDate) and (odcDfStop.Text = eDate) and (not edtDefaultMax.Modified ) then
 | 
|---|
| 91 |     begin
 | 
|---|
| 92 |       Close;
 | 
|---|
| 93 |       Exit;
 | 
|---|
| 94 |     end;
 | 
|---|
| 95 | 
 | 
|---|
| 96 |   if (odcDfStart.Text='') or (odcDfStop.Text='') or (edtDefaultMax.Text='') then
 | 
|---|
| 97 |     begin
 | 
|---|
| 98 |       InfoBox('You have to fill out each box, don''t leave blank!', 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 99 |       Exit;
 | 
|---|
| 100 |     end;
 | 
|---|
| 101 | 
 | 
|---|
| 102 |   valueStartdate := odcDfStart.RelativeTime;
 | 
|---|
| 103 |   valueEnddate := odcDfStop.RelativeTime;
 | 
|---|
| 104 |   valueMax := edtDefaultMax.Text;
 | 
|---|
| 105 |   values := valueStartdate + ';' + valueEnddate + ';' + valueMax;
 | 
|---|
| 106 |   if InfoBox('Do you really want to change all of the reports settings to the specified values as following?'
 | 
|---|
| 107 |     +#13#13' Start date: ' + odcDfStart.Text
 | 
|---|
| 108 |     +#13' End date: ' + odcDfStop.Text
 | 
|---|
| 109 |     +#13' Max occurences: ' + edtDefaultMax.Text
 | 
|---|
| 110 |     +#13#13' Click Yes, all of the CPRS reports except for health summary reports will have these same settings.',
 | 
|---|
| 111 |     'Confirmation', MB_YESNO or MB_ICONQUESTION) = IDYES then
 | 
|---|
| 112 |   begin
 | 
|---|
| 113 |       rpcSetDefaultReportsSetting(values);
 | 
|---|
| 114 |       rpcActiveDefaultSetting;
 | 
|---|
| 115 |       frmReports.LoadTreeView;
 | 
|---|
| 116 |       with frmReports.tvReports do
 | 
|---|
| 117 |         begin
 | 
|---|
| 118 |          if Items.Count > 0 then
 | 
|---|
| 119 |            Selected := Items.GetFirstNode;
 | 
|---|
| 120 |          frmReports.tvReportsClick(Selected);
 | 
|---|
| 121 |         end;
 | 
|---|
| 122 |       Close;
 | 
|---|
| 123 |   end
 | 
|---|
| 124 |   else
 | 
|---|
| 125 |   begin
 | 
|---|
| 126 |     odcDfStart.Text := sDate;
 | 
|---|
| 127 |     odcDfStop.Text := eDate;
 | 
|---|
| 128 |     edtDefaultMax.Text := IntToStr(maxOcurs);
 | 
|---|
| 129 |   end;
 | 
|---|
| 130 | end;
 | 
|---|
| 131 | 
 | 
|---|
| 132 | 
 | 
|---|
| 133 | procedure TfrmOptionsReportsDefault.btnCancelClick(Sender: TObject);
 | 
|---|
| 134 | begin
 | 
|---|
| 135 |   Close;
 | 
|---|
| 136 | end;
 | 
|---|
| 137 | 
 | 
|---|
| 138 | procedure TfrmOptionsReportsDefault.btnResetClick(Sender: TObject);
 | 
|---|
| 139 | var
 | 
|---|
| 140 |   startD,endD,maxOc: integer;
 | 
|---|
| 141 |   values,msg,stdate,endate: string;
 | 
|---|
| 142 |   today: TFMDateTime;
 | 
|---|
| 143 | begin
 | 
|---|
| 144 |   rpcRetrieveDefaultSetting(startD,endD,maxOc,msg);
 | 
|---|
| 145 |   today := FMToday;
 | 
|---|
| 146 |   if msg = 'NODEFAULT' then
 | 
|---|
| 147 |   begin
 | 
|---|
| 148 |     InfoBox('No default report settings are available', 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 149 |     Exit;
 | 
|---|
| 150 |   end;
 | 
|---|
| 151 |   //if (startD=startDate) and (endD=endDate) and (maxOc=maxOcurs) then
 | 
|---|
| 152 |   //  Exit;
 | 
|---|
| 153 |   stdate := DateToStr(FMDateTimeToDateTime(FMDateTimeOffsetBy(today, startD)));
 | 
|---|
| 154 |   endate := DateToStr(FMDateTimeToDateTime(FMDateTimeOffsetBy(today, endD)));
 | 
|---|
| 155 |   if InfoBox('Do you really want to change all of the reports settings to the default values as following?'
 | 
|---|
| 156 |     +#13#13' Start date: ' + stdate
 | 
|---|
| 157 |     +#13' End date: ' + endate
 | 
|---|
| 158 |     +#13' Max occurences: ' + IntToStr(maxOc)
 | 
|---|
| 159 |     +#13#13' Click Yes, all of the CPRS reports except for health summary reports will have these same settings.',
 | 
|---|
| 160 |     'Confirmation', MB_YESNO or MB_ICONQUESTION) = IDYES then
 | 
|---|
| 161 |   begin
 | 
|---|
| 162 |     rpcDeleteUserLevelReportsSetting;
 | 
|---|
| 163 |     odcDfStart.Text := stdate;
 | 
|---|
| 164 |     odcDfStop.Text := endate;
 | 
|---|
| 165 |     edtDefaultMax.Text := inttostr(maxOc);
 | 
|---|
| 166 |     values := odcDfStart.RelativeTime + ';' + odcDfStop.RelativeTime + ';' + edtDefaultMax.Text;
 | 
|---|
| 167 |     rpcSetDefaultReportsSetting(values);
 | 
|---|
| 168 |     rpcActiveDefaultSetting;
 | 
|---|
| 169 |     sDate := odcDfStart.Text;
 | 
|---|
| 170 |     eDate := odcDfStop.Text;
 | 
|---|
| 171 |     startDate := startD;
 | 
|---|
| 172 |     endDate := endD;
 | 
|---|
| 173 |     maxOcurs := maxOc;
 | 
|---|
| 174 |     fillLabelText;
 | 
|---|
| 175 |     frmReports.LoadTreeView;
 | 
|---|
| 176 |     with frmReports.tvReports do
 | 
|---|
| 177 |      begin
 | 
|---|
| 178 |        if Items.Count > 0 then
 | 
|---|
| 179 |          Selected := Items.GetFirstNode;
 | 
|---|
| 180 |        frmReports.tvReportsClick(Selected);
 | 
|---|
| 181 |      end;
 | 
|---|
| 182 |   end;
 | 
|---|
| 183 | end;
 | 
|---|
| 184 | 
 | 
|---|
| 185 | procedure TfrmOptionsReportsDefault.edtDefaultMaxExit(Sender: TObject);
 | 
|---|
| 186 | var
 | 
|---|
| 187 |   newValue: string;
 | 
|---|
| 188 |   I, code: integer;
 | 
|---|
| 189 | begin
 | 
|---|
| 190 |   if edtDefaultMax.Modified then
 | 
|---|
| 191 |   begin
 | 
|---|
| 192 | 
 | 
|---|
| 193 |   newValue := edtDefaultMax.Text;
 | 
|---|
| 194 |   if length(newValue) = 0 then
 | 
|---|
| 195 |     begin
 | 
|---|
| 196 |       InfoBox('Invalid value of max occurences', 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 197 |       edtDefaultMax.Text := '100';
 | 
|---|
| 198 |     end;
 | 
|---|
| 199 |   if length(newValue) > 0 then
 | 
|---|
| 200 |     begin
 | 
|---|
| 201 |       Val(newValue, I, code);
 | 
|---|
| 202 |       if I = 0 then begin end; //added to keep compiler from generating a hint
 | 
|---|
| 203 |       if code <> 0 then
 | 
|---|
| 204 |         begin
 | 
|---|
| 205 |           InfoBox('Invalid value of max occurences', 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 206 |           edtDefaultMax.Text := inttostr(maxOcurs);
 | 
|---|
| 207 |         end;
 | 
|---|
| 208 |       if code = 0 then
 | 
|---|
| 209 |         if strtoint(edtDefaultMax.Text) <= 0 then
 | 
|---|
| 210 |           begin
 | 
|---|
| 211 |             InfoBox('Invalid value of max occurences', 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 212 |             edtDefaultMax.Text := inttostr(maxOcurs);
 | 
|---|
| 213 |           end;
 | 
|---|
| 214 |     end;
 | 
|---|
| 215 |   fillLabelText;
 | 
|---|
| 216 | 
 | 
|---|
| 217 |   end;
 | 
|---|
| 218 | end;
 | 
|---|
| 219 | 
 | 
|---|
| 220 | procedure TfrmOptionsReportsDefault.fillLabelText;
 | 
|---|
| 221 | var
 | 
|---|
| 222 |   fromday,dayto: string;
 | 
|---|
| 223 | begin
 | 
|---|
| 224 |   fromday := DateToStr(FMDateTimeToDateTime(odcDfStart.FMDateTime));
 | 
|---|
| 225 |   dayto := DateToStr(FMDateTimeToDateTime(odcDfStop.FMDateTime));
 | 
|---|
| 226 |   lblDefaultText.Text := 'All of the CPRS reports except for Health Summary reports will be displayed on the CPRS Reports tab from start date: '
 | 
|---|
| 227 |                        + fromday + ' to end date: ' + dayto + '.';
 | 
|---|
| 228 | end;
 | 
|---|
| 229 | 
 | 
|---|
| 230 | procedure TfrmOptionsReportsDefault.edtDefaultStartKeyPress(Sender: TObject;
 | 
|---|
| 231 |   var Key: Char);
 | 
|---|
| 232 | begin
 | 
|---|
| 233 |   if Key = #13 then
 | 
|---|
| 234 |   begin
 | 
|---|
| 235 |     Perform(WM_NextDlgCtl, 0, 0);
 | 
|---|
| 236 |     exit;
 | 
|---|
| 237 |   end;
 | 
|---|
| 238 | end;
 | 
|---|
| 239 | 
 | 
|---|
| 240 | procedure TfrmOptionsReportsDefault.edtDefaultEndKeyPress(Sender: TObject;
 | 
|---|
| 241 |   var Key: Char);
 | 
|---|
| 242 | begin
 | 
|---|
| 243 |   if Key = #13 then
 | 
|---|
| 244 |   begin
 | 
|---|
| 245 |     Perform(WM_NextDlgCtl, 0, 0);
 | 
|---|
| 246 |     exit;
 | 
|---|
| 247 |   end;
 | 
|---|
| 248 | end;
 | 
|---|
| 249 | 
 | 
|---|
| 250 | procedure TfrmOptionsReportsDefault.edtDefaultMaxKeyPress(Sender: TObject;
 | 
|---|
| 251 |   var Key: Char);
 | 
|---|
| 252 | begin
 | 
|---|
| 253 |   if Key = #13 then
 | 
|---|
| 254 |   begin
 | 
|---|
| 255 |     Perform(WM_NextDlgCtl, 0, 0);
 | 
|---|
| 256 |     exit;
 | 
|---|
| 257 |   end;
 | 
|---|
| 258 | end;
 | 
|---|
| 259 | 
 | 
|---|
| 260 | procedure TfrmOptionsReportsDefault.FormCreate(Sender: TObject);
 | 
|---|
| 261 | var
 | 
|---|
| 262 |   today : TFMDateTime;
 | 
|---|
| 263 | begin
 | 
|---|
| 264 |   today := FMToday;
 | 
|---|
| 265 |   rpcGetDefaultReportsSetting(startDate,endDate,maxOcurs);
 | 
|---|
| 266 |   odcDfStart.text := DateToStr(FMDateTimeToDateTime(FMDateTimeOffsetBy(today, startDate)));
 | 
|---|
| 267 |   sDate := odcDfStart.Text;
 | 
|---|
| 268 |   odcDfStop.text := DateToStr(FMDateTimeToDateTime(FMDateTimeOffsetBy(today, endDate)));
 | 
|---|
| 269 |   eDate := odcDfStop.Text;
 | 
|---|
| 270 |   if maxOcurs <> 0 then
 | 
|---|
| 271 |     begin
 | 
|---|
| 272 |       edtDefaultMax.Text := inttostr(maxOcurs);
 | 
|---|
| 273 |       fillLabelText;
 | 
|---|
| 274 |     end;
 | 
|---|
| 275 |   lblDefaultText.Text := 'Click dots in boxes to set start and end dates. You can also input values directly.';
 | 
|---|
| 276 |   btnCancel.caption := 'Cancel';
 | 
|---|
| 277 |   if (not User.ToolsRptEdit) then // For users with Reports settings edit parameter not set.
 | 
|---|
| 278 |     begin
 | 
|---|
| 279 |       lblDefaultText.Text := 'Settings can only be viewed (no editing provided).';
 | 
|---|
| 280 |       btnReset.visible := false;
 | 
|---|
| 281 |       btnOK.visible := false;
 | 
|---|
| 282 |       btnCancel.caption := 'Close';
 | 
|---|
| 283 |       odcDfStart.readOnly := true;
 | 
|---|
| 284 |       odcDfStart.enabled := false;
 | 
|---|
| 285 |       odcDfStart.onExit := nil;
 | 
|---|
| 286 |       odcDfStart.onKeyPress := nil;
 | 
|---|
| 287 |       odcDfStop.readOnly := true;
 | 
|---|
| 288 |       odcDfStop.enabled := false;
 | 
|---|
| 289 |       odcDfStop.onExit := nil;
 | 
|---|
| 290 |       odcDfStop.onKeyPress := nil;
 | 
|---|
| 291 |       edtDefaultMax.readOnly := true;
 | 
|---|
| 292 |     end;
 | 
|---|
| 293 | end;
 | 
|---|
| 294 | 
 | 
|---|
| 295 | procedure TfrmOptionsReportsDefault.odcDfStartExit(Sender: TObject);
 | 
|---|
| 296 | const
 | 
|---|
| 297 |   TX_BAD_START   = 'The start date is not valid.';
 | 
|---|
| 298 |   TX_STOPSTART   = 'The start date must not be after the stop date.';
 | 
|---|
| 299 | 
 | 
|---|
| 300 | var
 | 
|---|
| 301 |   x,ErrMsg,datestart,datestop: String;
 | 
|---|
| 302 | begin
 | 
|---|
| 303 |     if odcDfStart.text = '' then
 | 
|---|
| 304 |     begin
 | 
|---|
| 305 |       InfoBox(TX_BAD_START, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 306 |       odcDfStart.Text := sDate;
 | 
|---|
| 307 |       odcDfStart.Setfocus;
 | 
|---|
| 308 |       odcDfStart.SelectAll;
 | 
|---|
| 309 |       exit;
 | 
|---|
| 310 |     end;
 | 
|---|
| 311 | 
 | 
|---|
| 312 |     ErrMsg := '';
 | 
|---|
| 313 |     odcDfStart.Validate(x);
 | 
|---|
| 314 |     if Length(x) > 0 then
 | 
|---|
| 315 |       begin
 | 
|---|
| 316 |         ErrMsg := TX_BAD_START;
 | 
|---|
| 317 |         InfoBox(TX_BAD_START, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 318 |         odcDfStart.Text := sDate;
 | 
|---|
| 319 |         odcDfStart.Setfocus;
 | 
|---|
| 320 |         odcDfStart.SelectAll;
 | 
|---|
| 321 |         exit;
 | 
|---|
| 322 |       end;
 | 
|---|
| 323 |    datestart := odcDfStart.RelativeTime;
 | 
|---|
| 324 |    datestop := odcDfStop.RelativeTime;
 | 
|---|
| 325 |    delete(datestart,1,1);
 | 
|---|
| 326 |    delete(datestop,1,1);
 | 
|---|
| 327 |    if StrToIntDef(datestop,0) < StrToIntDef(datestart,0) then
 | 
|---|
| 328 |    begin
 | 
|---|
| 329 |     InfoBox(TX_STOPSTART, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 330 |     odcDfStart.Text := odcDfStop.Text;
 | 
|---|
| 331 |     odcDfStart.SetFocus;
 | 
|---|
| 332 |     odcDfStart.SelectAll;
 | 
|---|
| 333 |     exit;
 | 
|---|
| 334 |    end;
 | 
|---|
| 335 |    odcDfStart.Text := DateToStr(FMDateTimeToDateTime(odcDfStart.FMDateTime));
 | 
|---|
| 336 |    fillLabelText;
 | 
|---|
| 337 | end;
 | 
|---|
| 338 | 
 | 
|---|
| 339 | procedure TfrmOptionsReportsDefault.odcDfStopExit(Sender: TObject);
 | 
|---|
| 340 | const
 | 
|---|
| 341 |   TX_BAD_STOP    = 'The stop date is not valid.';
 | 
|---|
| 342 |   TX_BAD_ORDER   = 'The stop date must not be earlier than start date.';
 | 
|---|
| 343 | var
 | 
|---|
| 344 |   x, ErrMsg,datestart,datestop: string;
 | 
|---|
| 345 | begin
 | 
|---|
| 346 |    if odcDfStop.text = '' then
 | 
|---|
| 347 |    begin
 | 
|---|
| 348 |       InfoBox(TX_BAD_STOP, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 349 |       odcDfStop.Text := eDate;
 | 
|---|
| 350 |       odcDfStop.Setfocus;
 | 
|---|
| 351 |       odcDfStop.SelectAll;
 | 
|---|
| 352 |       exit;
 | 
|---|
| 353 |    end;
 | 
|---|
| 354 | 
 | 
|---|
| 355 |    ErrMsg := '';
 | 
|---|
| 356 |    odcDfStop.Validate(x);
 | 
|---|
| 357 |    if Length(x) > 0 then
 | 
|---|
| 358 |    begin
 | 
|---|
| 359 |      ErrMsg := TX_BAD_STOP;
 | 
|---|
| 360 |      InfoBox(TX_BAD_STOP, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 361 |      odcDfStop.Visible := True;
 | 
|---|
| 362 |      odcDfStop.Text := eDate;
 | 
|---|
| 363 |      odcDfStop.Setfocus;
 | 
|---|
| 364 |      odcDfStop.SelectAll;
 | 
|---|
| 365 |      exit;
 | 
|---|
| 366 |    end;
 | 
|---|
| 367 |    datestart := odcDfStart.RelativeTime;
 | 
|---|
| 368 |    datestop := odcDfStop.RelativeTime;
 | 
|---|
| 369 |    delete(datestart,1,1);
 | 
|---|
| 370 |    delete(datestop,1,1);
 | 
|---|
| 371 |    if StrToIntDef(datestop,0) < StrToIntDef(datestart,0) then
 | 
|---|
| 372 |    begin
 | 
|---|
| 373 |     InfoBox(TX_BAD_ORDER, 'Warning', MB_OK or MB_ICONWARNING);
 | 
|---|
| 374 |     odcDfStop.Text := odcDfStart.Text;
 | 
|---|
| 375 |     odcDfStop.SetFocus;
 | 
|---|
| 376 |     odcDfStop.SelectAll;
 | 
|---|
| 377 |     exit;
 | 
|---|
| 378 |    end;
 | 
|---|
| 379 |    odcDfStop.Text := DateToStr(FMDateTimeToDateTime(odcDfStop.FMDateTime));
 | 
|---|
| 380 |    fillLabelText;
 | 
|---|
| 381 | end;
 | 
|---|
| 382 | 
 | 
|---|
| 383 | 
 | 
|---|
| 384 | procedure TfrmOptionsReportsDefault.odcDfStartKeyPress(Sender: TObject;
 | 
|---|
| 385 |   var Key: Char);
 | 
|---|
| 386 | begin
 | 
|---|
| 387 |   if Key = #13 then
 | 
|---|
| 388 |   begin
 | 
|---|
| 389 |     Perform(WM_NextDlgCtl, 0, 0);
 | 
|---|
| 390 |     exit;
 | 
|---|
| 391 |   end;
 | 
|---|
| 392 |   if Key = #27 then //Escape
 | 
|---|
| 393 |   begin
 | 
|---|
| 394 |     Key := #0;
 | 
|---|
| 395 |     btnCancel.Click;
 | 
|---|
| 396 |   end;
 | 
|---|
| 397 | end;
 | 
|---|
| 398 | 
 | 
|---|
| 399 | procedure TfrmOptionsReportsDefault.odcDfStopKeyPress(Sender: TObject;
 | 
|---|
| 400 |   var Key: Char);
 | 
|---|
| 401 | begin
 | 
|---|
| 402 |   if Key = #13 then
 | 
|---|
| 403 |   begin
 | 
|---|
| 404 |     Perform(WM_NextDlgCtl, 0, 0);
 | 
|---|
| 405 |     exit;
 | 
|---|
| 406 |   end;
 | 
|---|
| 407 |   if Key = #27 then //Escape
 | 
|---|
| 408 |   begin
 | 
|---|
| 409 |     Key := #0;
 | 
|---|
| 410 |     btnCancel.Click;
 | 
|---|
| 411 |   end;
 | 
|---|
| 412 | end;
 | 
|---|
| 413 | 
 | 
|---|
| 414 | procedure TfrmOptionsReportsDefault.odcDfStartClick(Sender: TObject);
 | 
|---|
| 415 | begin
 | 
|---|
| 416 |   odcDfStart.SelectAll;
 | 
|---|
| 417 | end;
 | 
|---|
| 418 | 
 | 
|---|
| 419 | procedure TfrmOptionsReportsDefault.odcDfStopClick(Sender: TObject);
 | 
|---|
| 420 | begin
 | 
|---|
| 421 |   odcDfStop.SelectAll;
 | 
|---|
| 422 | end;
 | 
|---|
| 423 | 
 | 
|---|
| 424 | procedure TfrmOptionsReportsDefault.edtDefaultMaxClick(Sender: TObject);
 | 
|---|
| 425 | begin
 | 
|---|
| 426 |   edtDefaultMax.SelectAll;
 | 
|---|
| 427 | end;
 | 
|---|
| 428 | 
 | 
|---|
| 429 | end.
 | 
|---|