home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 August / VPR9608A.BIN / del20try / install / data.z / QRYCUST.PAS < prev    next >
Pascal/Delphi Source File  |  1996-05-08  |  3KB  |  105 lines

  1. unit QryCust;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;
  8.  
  9. type
  10.   TQueryCustDlg = class(TForm)
  11.     Label1: TLabel;
  12.     Label2: TLabel;
  13.     FromEdit: TEdit;
  14.     ToEdit: TEdit;
  15.     CancelBtn: TButton;
  16.     OkBtn: TButton;
  17.     Msglab: TLabel;
  18.     PopupCalBtnFrom: TSpeedButton;
  19.     PopupCalToBtn: TSpeedButton;
  20.     Bevel1: TBevel;
  21.     procedure OkBtnClick(Sender: TObject);
  22.     procedure PopupCalBtnFromClick(Sender: TObject);
  23.     procedure PopupCalToBtnClick(Sender: TObject);
  24.     procedure CancelBtnClick(Sender: TObject);
  25.   private
  26.     function GetFromDate: TDateTime;
  27.     function GetToDate: TDateTime;
  28.     procedure SetFromDate(NewDate: TDateTime);
  29.     procedure SetToDate(NewDate: TDateTime);
  30.   public
  31.     property FromDate: TDateTime read GetFromDate write SetFromDate;
  32.     property ToDate: TDateTime read GetToDate write SetToDate;
  33.   end;
  34.  
  35. var
  36.   QueryCustDlg: TQueryCustDlg;
  37.  
  38. implementation
  39.  
  40. {$R *.DFM}
  41.  
  42. uses Pickdate;
  43.  
  44. procedure TQueryCustDlg.SetFromDate(NewDate: TDateTime);
  45. begin
  46.   FromEdit.Text := DateToStr(NewDate);
  47. end;
  48.  
  49. procedure TQueryCustDlg.SetToDate(NewDate: TDateTime);
  50. begin
  51.   ToEdit.Text := DateToStr(NewDate);
  52. end;
  53.  
  54. function TQueryCustDlg.GetFromDate: TDateTime;
  55. begin
  56.   if FromEdit.Text = '' then Result := 0
  57.   else Result := StrToDate(FromEdit.Text);
  58. end;
  59.  
  60. function TQueryCustDlg.GetToDate: TDateTime;
  61. begin
  62.   if ToEdit.Text = '' then Result := 0
  63.   else Result := StrToDate(ToEdit.Text);
  64. end;
  65.  
  66. procedure TQueryCustDlg.OkBtnClick(Sender: TObject);
  67. var Test: TdateTime;
  68. begin
  69.   try
  70.     Test := StrToDate(FromEdit.Text); { validate date strings }
  71.     Test := StrToDate(ToEdit.Text);
  72.     if (ToDate <> 0) and (ToDate < FromDate) then
  73.     begin
  74.       ShowMessage('"TO" date cannot be less than "FROM" date');
  75.       ModalResult := mrNone;
  76.     end
  77.     else ModalResult := mrOk;
  78.   except
  79.     ShowMessage('  Invalid date specified');
  80.     ModalResult := mrNone;
  81.   end;
  82. end;
  83.  
  84. procedure TQueryCustDlg.PopupCalBtnFromClick(Sender: TObject);
  85. begin
  86.   BrDateForm.Date := StrToDate(FromEdit.Text);  { start with current date }
  87.   if BrDateForm.ShowModal = mrOk then
  88.     FromEdit.Text := DateToStr(BrDateForm.Date);
  89. end;
  90.  
  91. procedure TQueryCustDlg.PopupCalToBtnClick(Sender: TObject);
  92. begin
  93.   BrDateForm.Date := StrToDate(ToEdit.Text);    { start with current date }
  94.   if BrDateForm.ShowModal = mrOk then
  95.     ToEdit.Text := DateToStr(BrDateForm.Date);
  96. end;
  97.  
  98. procedure TQueryCustDlg.CancelBtnClick(Sender: TObject);
  99. begin
  100.   ToEdit.Text := '';
  101.   FromEdit.Text := '';
  102. end;
  103.  
  104. end.
  105.