⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 facdate.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "FacDate.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TPickFacDate *PickFacDate;
//---------------------------------------------------------------------------
__fastcall TPickFacDate::TPickFacDate(TComponent* Owner)
        : TStdBaseForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::YearSpinChange(TObject *Sender)
{
    int i;
    Year=YearSpin->Value;
    Month=MonthSpin->Value;
    if(Month<=7)
    {
       if((Month%2)==0)
       {
         if(Month==2)
         {
            if(IsLeapYear(Year))
               Day=29;
            else
               Day=28;
         }
         else
           Day=30;
        }
        else
         Day=31;
    }
    else
    {
      if((Month%2)==0)
       Day=31;
      else
       Day=30;
    }
    FDays=Day;
    WeekDay=DayOfWeek(EncodeDate(Year,Month,1));
    int Count=1;
    int iCount=1;
    for(i=0;i<ComponentCount;i++)
    {
      if(UpperCase((AnsiString)(Components[i]->ClassName()))== "TCHECKBOX")
      {
        dynamic_cast<TCheckBox *>(Components[i])->Checked=true;
        dynamic_cast<TCheckBox *>(Components[i])->Enabled=false;
        dynamic_cast<TCheckBox *>(Components[i])->Caption="";
        if(Count<=Day)
        {
          if(Components[i]->Name=="CheckBox"+IntToStr(Count+WeekDay-1))
          {
               dynamic_cast<TCheckBox *>(Components[i])->Caption=IntToStr(Count++);
               dynamic_cast<TCheckBox *>(Components[i])->Enabled=true;
               int ifWeekDay=DayOfWeek(EncodeDate(Year,Month,iCount++));
               if(ifWeekDay==1)
               {
                  DateStatus[iCount-2]=3;
                  dynamic_cast<TCheckBox *>(Components[i])->Caption="厂休";
                  dynamic_cast<TCheckBox *>(Components[i])->Checked=false;
                  dynamic_cast<TCheckBox *>(Components[i])->Color=clBlue;
               }
          }
        }
      }
    }
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::BitBtn1Click(TObject *Sender)
{
    int i,DayCount=0;
    for(i=0;i<31;i++)
    {
        DateStatus[i]=0;
    }
    for(i=0;i<ComponentCount;i++)
    {
       if(UpperCase((AnsiString)(Components[i]->ClassName()))== "TCHECKBOX")
       {
         if(dynamic_cast<TCheckBox *>(Components[i])->Enabled)
         {
            AnsiString sName=dynamic_cast<TCheckBox *>(Components[i])->Caption;
            if(dynamic_cast<TCheckBox *>(Components[i])->Checked)
            {
               DateStatus[DayCount]=1;
               DayCount++;
            }
            else
            {
              if(sName=="厂休")
                DateStatus[DayCount]=3;
              else
                DateStatus[DayCount]=2;
              DayCount++;
            }
         }
       }
    }
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::FormShow(TObject *Sender)
{
   YearSpin->Value=Year;
   MonthSpin->Value=Month;
   YearSpinChange(Sender);
}
//---------------------------------------------------------------------------
int __fastcall TPickFacDate::GetFacYear()
{
   return YearSpin->Value;
}
//---------------------------------------------------------------------------
int __fastcall TPickFacDate::GetFacMonth()
{
   return MonthSpin->Value;
}
//---------------------------------------------------------------------------
int __fastcall TPickFacDate::GetDays()
{
   return FDays;
}
//---------------------------------------------------------------------------
int __fastcall TPickFacDate::GetDayStatu(int i)
{
   return DateStatus[i];
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::N1Click(TObject *Sender)
{
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Caption="停工";
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Checked=false;
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Color=clRed;
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::N2Click(TObject *Sender)
{
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Caption="厂休";
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Checked=false;
   dynamic_cast<TCheckBox *>(Components[CompIndex])->Color=clBlue;
}
//---------------------------------------------------------------------------
int __fastcall TPickFacDate::GetCompIndex()
{
   return FCompIndex;
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::CheckBox1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   CheckBoxComm("CheckBox1",X,Y);
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::CheckBoxComm(AnsiString strName,int X,int Y)
{
    int i;
    for(i=0;i<ComponentCount;i++)
    {
       if(Components[i]->Name==strName)
       break;
    }
    FCompIndex=i;
    int WeekDay=DayOfWeek(EncodeDate(YearSpin->Value,MonthSpin->Value,1));
    AnsiString strDay=Components[FCompIndex]->Name;
    strDay=strDay.SubString(9,2);
    strDay=IntToStr(StrToInt(strDay)-WeekDay+1);
    if(dynamic_cast<TCheckBox *>(Components[FCompIndex])->Checked)
    {
       //PopupMenu1->Popup(X,Y);
    }
    else
    {
       dynamic_cast<TCheckBox *>(Components[FCompIndex])->Caption=strDay;
       dynamic_cast<TCheckBox *>(Components[FCompIndex])->Checked=true;
       dynamic_cast<TCheckBox *>(Components[FCompIndex])->Color=clBtnFace;
    }
}
//---------------------------------------------------------------------------
void __fastcall TPickFacDate::CheckBox2MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox2",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox3MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox3",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox4MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox4",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox5MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox5",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox6MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox6",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox7MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox7",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox8MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    CheckBoxComm("CheckBox8",X,Y);
}
//---------------------------------------------------------------------------

void __fastcall TPickFacDate::CheckBox9MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -