home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 August / VPR9708A.ISO / D3TRIAL / INSTALL / DATA.Z / QRYCUST.PAS < prev    next >
Pascal/Delphi Source File  |  1997-05-13  |  3KB  |  103 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 FormCreate(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. begin
  68.   try
  69.     if (ToDate <> 0) and (ToDate < FromDate) then
  70.     begin
  71.       ShowMessage('"TO" date cannot be less than "FROM" date');
  72.       ModalResult := mrNone;
  73.     end
  74.     else ModalResult := mrOk;
  75.   except
  76.     ShowMessage('  Invalid date specified');
  77.     ModalResult := mrNone;
  78.   end;
  79. end;
  80.  
  81. procedure TQueryCustDlg.PopupCalBtnFromClick(Sender: TObject);
  82. begin
  83.   BrDateForm.Date := StrToDate(FromEdit.Text);  { start with current date }
  84.   if BrDateForm.ShowModal = mrOk then
  85.     FromEdit.Text := DateToStr(BrDateForm.Date);
  86. end;
  87.  
  88. procedure TQueryCustDlg.PopupCalToBtnClick(Sender: TObject);
  89. begin
  90.   BrDateForm.Date := StrToDate(ToEdit.Text);    { start with current date }
  91.   if BrDateForm.ShowModal = mrOk then
  92.     ToEdit.Text := DateToStr(BrDateForm.Date);
  93. end;
  94.  
  95. procedure TQueryCustDlg.FormCreate(Sender: TObject);
  96. begin
  97.   MsgLab.Caption := 'Customers with LastInvoiceDate ranging:';
  98.   FromDate := EncodeDate(1995, 01, 01);
  99.   ToDate := Now;
  100. end;
  101.  
  102. end.
  103.