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

📄 unitmain.~cpp

📁 提示每天计划事件;显示倒计时;可输入保存当前或者往下日子的计划;等等
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "UnitMain.h"
#include "registry.hpp"
#include "UnitRest.h"
#pragma package(smart_init)
#pragma resource "*.dfm"

TMainForm *MainForm;

//---------------------------------------------------------------------------

__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
}

//---------------------------------------------------------------------------

//名称:Fresh()
//功能:根据提供的参数(日期)查询数据并且返回显示
//参数:AnsiString date 日期
//返回值:无
void Fresh(AnsiString date)
{
 MainForm->DateText->Caption = date ;
 MainForm->MemoText->Clear();
 AnsiString DataBase = ExtractFilePath(Application->ExeName) + "data\\MemorandumBook.mdb" ;
 if ( FileExists(DataBase) )
 {
    //ADO连接数据库
    MainForm->ADO->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBase ;
    MainForm->ADOConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBase ;
    //SQL查询语句
    AnsiString sql = "select * from MemorandumBook where MyDate = '"+date+"' " ;
    MainForm->ADO->Close();
    MainForm->ADO->SQL->Clear();
    MainForm->ADO->SQL->Add(sql);
    MainForm->ADO->Open();
    //查询的结果存在ADO中
    for ( int i=0 ; i<MainForm->ADO->RecordCount ; i++ )
    {
     MainForm->MemoText->Lines->Add(MainForm->ADO->FieldByName("Hint")->AsString) ;
     MainForm->ADO->Next();
    }
    MainForm->ADO->Close();
 }
 MainForm->FromTodayLabel->Caption = "距今" + IntToStr(int(TDate(date) - Now().CurrentDate())) + "天   " ;
 switch(TDate(date).DayOfWeek())
 {
   case 1:
           MainForm->WeekLabel->Caption = "星期天   ";
           break;
   case 2:
           MainForm->WeekLabel->Caption = "星期一   ";
           break;
   case 3:
           MainForm->WeekLabel->Caption = "星期二   ";
           break;
   case 4:
           MainForm->WeekLabel->Caption = "星期三   ";
           break;
   case 5:
           MainForm->WeekLabel->Caption = "星期四   ";
           break;
   case 6:
           MainForm->WeekLabel->Caption = "星期五   ";
           break;
   case 7:
           MainForm->WeekLabel->Caption = "星期六   ";
           break;
 }
 }

//----------------------------------------------------------------------

//名称:Save()
//功能:保存修改的事件
//参数:无
//返回值:无
void Save()
{
 AnsiString DataBase = ExtractFilePath(Application->ExeName) + "data\\MemorandumBook.mdb" ;
 if ( FileExists(DataBase) )
 {
    //链接数据库
    MainForm->ADO->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBase ;
    MainForm->ADOConnection->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DataBase ;
    //查询语句 判断是否已经存在该天的记录
    AnsiString sql = "select * from MemorandumBook where MyDate='" + MainForm->DateText->Caption + "'" ;
    MainForm->ADO->Close();
    MainForm->ADO->SQL->Clear();
    MainForm->ADO->SQL->Add(sql);
    MainForm->ADO->Open();
    if ( MainForm->ADO->IsEmpty() )  //如果不存在就插入
    {
     AnsiString sql = "INSERT INTO REC (MyDate,Hint) VALUES ('"+MainForm->DateText->Caption+"','"+MainForm->MemoText->Text+"')";
     //AnsiString sql= "INSERT INTO REC (MyDate,Hint) VALUES('2009-4-16','hahahah')";
     MainForm->ADO->Close();
     MainForm->ADO->SQL->Clear();
     MainForm->ADO->SQL->Add(sql);
     MainForm->ADO->ExecSQL();
     MainForm->ADO->Close();
    }
    else          //如果存在就更新
    {
     AnsiString sql = "UPDATE REC SET Hint ='"+MainForm->MemoText->Text+"' WHERE MyDate = '"+MainForm->DateText->Caption+"'";
     MainForm->ADO->Close();
     MainForm->ADO->SQL->Clear();
     MainForm->ADO->SQL->Add(sql);
     MainForm->ADO->ExecSQL();
     MainForm->ADO->Close();
    }
  }
}

//-------------------------------------------------------------------------

void __fastcall TMainForm::button_TodayClick(TObject *Sender)
{
//ShowMessage(DateToStr(Now().CurrentDate()));
 Fresh(DateToStr( Now().CurrentDate()) ) ;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
 //设置窗体显示位置
 SetWindowLong(Application->Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
 Fresh( DateToStr(Now().CurrentDate()) );
 MainForm->Top = 0 ;
 MainForm->Left = Screen->Width-MainForm->Width ;
 DateText->Caption = Now().DateString() ;
 TRegistry *Reg = new TRegistry;
 Reg->RootKey = HKEY_LOCAL_MACHINE;
 Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
 Reg->WriteString("Hint",Application->ExeName);
 Reg->CloseKey();
 delete Reg;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::N10s1Click(TObject *Sender)
{
 MainForm->Hide();
 Timer1->Interval = 10000 ;
 Timer1->Enabled = true ;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::N20s1Click(TObject *Sender)
{
 MainForm->Hide();
 Timer1->Interval = 200000 ;
 Timer1->Enabled = true ;
}

//---------------------------------------------------------------------------
void __fastcall TMainForm::N30m1Click(TObject *Sender)
{
MainForm->Hide();
Timer1->Interval = 3000000 ;
Timer1->Enabled = true ;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::Exit1Click(TObject *Sender)
{
exit(0);        
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::button_NextClick(TObject *Sender)
{
  if ( DateText->Caption != "Date" )
     DateText->Caption = TDateTime(DateText->Caption) + 1 ;
  else
     DateText->Caption = Now().DateString() ;
  Fresh(DateText->Caption);
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::button_BackClick(TObject *Sender)
{
if ( DateText->Caption!="Date" )
{
DateText->Caption = TDateTime(DateText->Caption) - 1 ;
}
else
DateText->Caption = Now().DateString() ;
Fresh(DateText->Caption);
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::AutoStart1Click(TObject *Sender)
{
 //设置开机启动
 TRegistry *Reg = new TRegistry;
 Reg->RootKey=HKEY_LOCAL_MACHINE;
 Reg->OpenKey("\\Software\\Microsoft\\Windows\\CurrentVersion\\Run",true);
 Reg->WriteString("Hint",Application->ExeName);
 Reg->CloseKey();
 delete Reg;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::button_SaveClick(TObject *Sender)
{
 if ( MemoText->Text == "" )
    ShowMessage("  It is Null                  ");
 else
 {
    Save();
    button_Save->Caption = "Save" ;
 }
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::MemoTextKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{
  if ( Shift.Contains(ssCtrl)&&Key == 'S' )
      button_SaveClick(button_Save);   //重用保存事件
  else
      button_Save->Caption="Save*";
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::Timer2Timer(TObject *Sender)
{
 RestForm->Show();
//3600000
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
 MainForm->Show();
 Timer1->Enabled=false;
}

//---------------------------------------------------------------------------

void __fastcall TMainForm::button_ExitClick(TObject *Sender)
{
exit(0);        
}

//---------------------------------------------------------------------------

⌨️ 快捷键说明

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