unit FrameDateCheckSel;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics,
  cxControls, cxLookAndFeels, cxLookAndFeelPainters, cxContainer, cxEdit,
  Vcl.ComCtrls, dxCore, cxDateUtils,  
   cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, Vcl.StdCtrls,
  Vcl.Menus, cxButtons, Vcl.ExtCtrls, DateUtils,  
      
     
     
     
    
    
    
    
    
    
     
      
     
   
    
   cxCheckBox;

type
  TfrmFrameDateCheckSel = class(TFrame)
    lbl2: TLabel;
    BegDate: TcxDateEdit;
    EndDate: TcxDateEdit;
    cxButton1: TcxButton;
    cxButton2: TcxButton;
    cxButton3: TcxButton;
    cbbType: TcxComboBox;
    cxButton4: TcxButton;
    cxButton5: TcxButton;
    CheckDate: TcxCheckBox;
    procedure cxButton4Click(Sender: TObject);
    procedure cxButton1Click(Sender: TObject);
    procedure cxButton5Click(Sender: TObject);
    procedure cxButton2Click(Sender: TObject);
    procedure cxButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

//uses
//  U_RTFun;
{$R *.dfm}

procedure TfrmFrameDateCheckSel.cxButton1Click(Sender: TObject);
begin
  BegDate.Date := StartOfTheMonth(strToDate(FormatDateTime('yyyy-MM-dd', Now)));
  EndDate.Date := EndOfTheMonth(strToDate(FormatDateTime('yyyy-MM-dd', Now)));
end;

procedure TfrmFrameDateCheckSel.cxButton2Click(Sender: TObject);
begin
  if cbbType.Text = 'ÈÕ' then
  begin
    BegDate.Date := BegDate.Date - 1;
    EndDate.Date := EndDate.Date - 1;
  end;
  if cbbType.Text = 'ÔÂ' then
  begin
    BegDate.Date := StartOfTheMonth(StartOfTheMonth(EndDate.Date) - 1);
    EndDate.Date := EndOfTheMonth(StartOfTheMonth(EndDate.Date) - 1);
  end;
  if cbbType.Text = 'Äê' then
  begin
    BegDate.Date := StartOfTheMonth(strToDate(FormatDateTime('yyyy-01-01', strToDate(FormatDateTime('yyyy-01-01', EndDate.Date)) - 1)));
    EndDate.Date := EndOfTheMonth(strToDate(FormatDateTime('yyyy-12-01', BegDate.Date)));
  end;
end;

procedure TfrmFrameDateCheckSel.cxButton3Click(Sender: TObject);
begin
  if cbbType.Text = 'ÈÕ' then
  begin
    BegDate.Date := BegDate.Date + 1;
    EndDate.Date := EndDate.Date + 1;
  end;
  if cbbType.Text = 'ÔÂ' then
  begin
    BegDate.Date := EndOfTheMonth(EndDate.Date) + 1;
    EndDate.Date := EndOfTheMonth(EndOfTheMonth(EndDate.Date) + 1);
  end;
  if cbbType.Text = 'Äê' then
  begin
    BegDate.Date := StartOfTheMonth(strToDate(FormatDateTime('yyyy-01-01', strToDate(FormatDateTime('yyyy-12-31', EndDate.Date)) + 1)));
    EndDate.Date := EndOfTheMonth(strToDate(FormatDateTime('yyyy-12-01', BegDate.Date)));
  end;
end;

procedure TfrmFrameDateCheckSel.cxButton4Click(Sender: TObject);
begin
  BegDate.Date := strToDate(FormatDateTime('yyyy-MM-dd', Now));
  EndDate.Date := strToDate(FormatDateTime('yyyy-MM-dd', Now));
end;

procedure TfrmFrameDateCheckSel.cxButton5Click(Sender: TObject);
begin
  BegDate.Date := StartOfTheMonth(strToDate(FormatDateTime('yyyy-01-01', Now)));
  EndDate.Date := EndOfTheMonth(strToDate(FormatDateTime('yyyy-12-01', Now)));
end;

end.

