📄 postmain.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#include <math.h>
#include <IniFiles.hpp>
#pragma hdrstop
#include "PostMain.h"
#include "About.h"
#include "Newspaperdata.h"
#include "Office.h"
#include "Subscibe.h"
//#include "Subscibe1.h"
#include "Query.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
/*#pragma link "SnForm"
#pragma link "SUIForm"
#pragma link "SUIPopupMenu"
#pragma link "SUISkinForm"
#pragma link "SUIImagePanel"
#pragma link "SUITitleBar"
#pragma link "SnEdit"
#pragma link "SnGroupBox"
#pragma link "SnRadioButtonGroup"
*/
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
TIniFile *ini;
ini = new TIniFile( ChangeFileExt("..\\data\\Post",".INI" ) );
suiTitleBar1->UIStyle = TsuiUIStyle(ini->ReadInteger( "FormStyle", "Style",1));
BgFile=ini->ReadString("FormStyle", "Background", "../image/bg20.bmp");
StartStyle=ini->ReadInteger( "FormStyle", "StartStyle", 0);
ADOConnectionStr=ini->ReadString("intl", "ADOConnection", "ADOConnection=Provider=MSDAORA.1;Password=audit;User ID=audit;Data Source=ABMIS.world;Locale Identifier=2052;Persist Security Info=True");
Bitmap=new Graphics::TBitmap;
Bitmap->LoadFromFile(BgFile);
delete ini;
cx = GetSystemMetrics(SM_CXFULLSCREEN);
cy = GetSystemMetrics(SM_CYFULLSCREEN);
UserName="xxxx";
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
String str = "..\\\\data\\post.mdb";
String Pwd = ";Jet OLEDB:Database Password =post901 ";
//String Pwd = "";
String path = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" + str + Pwd + ";Mode=ReadWrite|Share Deny None;Persist Security Info=True";
try
{
ADOConnection1->Connected = false;
ADOConnection1->ConnectionString = (WideString)path;
ADOConnection1->Connected = true;
}
catch(Exception &E)
{
String e = E.ClassName();
Application->MessageBoxA(e.c_str(),"连接指定数据库失败!",MB_OK);
Application->Terminate();
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
int __fastcall TMainForm::ExecuteSQL( AnsiString SqlString, int Flag )
{
int iResult = 0;
try
{
CloseSQL();
// ShowMessage(SqlString);
if ( ! ADOQuery1->Active )
{
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add( SqlString );
if ( Flag == 1 )
{
ADOQuery1->Open();
if ( ADOQuery1->Active )
iResult = 1;
}
else {
iResult = ADOQuery1->ExecSQL();
}
}
}
catch( Exception &E ){
FILE *fp;
if((fp=fopen("..//data/sqlerr.txt", "a+"))==NULL){
fclose(fp);
ShowMessage(AnsiString("Can't open ../data/sqlerr.txt!!"));
return false;
}
iResult=-1;
fprintf(fp, "%s: [%d]%s\n%s\n", Today, E.HelpContext, E.Message, SqlString);
fclose(fp);
}
return iResult;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::CloseSQL()
{
try
{
if ( ADOQuery1->Active )
ADOQuery1->Close();
}
catch( ... )
{
if ( ADOQuery1->Active )
ADOQuery1->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton2Click(TObject *Sender)
{
N8Click(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
TControl* Control1;
static TControl* Control0=NULL;
if (Msg.message == WM_MOUSEMOVE && MainForm->Focused()) {
Control1 = ToolBar1->ControlAtPos(
ToolBar1->ScreenToClient(Msg.pt
), true, true);
if (Control1 != Control0) {
Control0 = Control1;
if (Control1) sndPlaySound("../sound/MouseMove.wav", SND_ASYNC);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::BlueGlass3Click(TObject *Sender)
{
suiTitleBar1->UIStyle=BlueGlass;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Custom2Click(TObject *Sender)
{
suiTitleBar1->UIStyle=Custom;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DeepBlue2Click(TObject *Sender)
{
suiTitleBar1->UIStyle=DeepBlue;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::MacOS2Click(TObject *Sender)
{
suiTitleBar1->UIStyle=MacOS;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Protein2Click(TObject *Sender)
{
suiTitleBar1->UIStyle=Protein;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::WinXP2Click(TObject *Sender)
{
suiTitleBar1->UIStyle=WinXP;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton5Click(TObject *Sender)
{
AboutForm->Notebook1->PageIndex=0;
AboutForm->Caption="关于本系统";
sndPlaySound("../sound/Gpnew.wav", SND_ASYNC);
AboutForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormShow(TObject *Sender)
{
TDateTime *DateTime = new TDateTime();
Today = DateTime->CurrentDate().FormatString( "yyyy-mm-dd" );
sToday = DateTime->CurrentDate().FormatString( "yyyymm" );
StatusBar1->Panels->Items[1]->Text = Today;
delete DateTime;
Top=(cy - Height) / 2;
Left=(cx - Width) / 2;
sndPlaySound("../sound/Start.wav", SND_ASYNC);
Timer1->Enabled=true;
StatusBar1->Panels->Items[2]->Text = AboutForm->Label1->Caption.SubString(1,6);
StatusBar1->Panels->Items[5]->Text = AboutForm->UnitEdit->Text;
Caption=AboutForm->SysCaption;
suiTitleBar1->Caption=AboutForm->SysCaption;
}
//---------------------------------------------------------------------------
int Times=0;
void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
Times++;
int inum,icount,i,j, d;
TRect Dest1,Source1;
int h=ToolBar1->Top+ToolBar1->Height;
Refresh();
switch(StartStyle){
case 0:
d=3;//下移
inum =18; //这是百叶窗的叶数
icount = Bitmap->Height /inum;//每叶的高度
for (i = 5; i < icount+1; i+=1){
for (j = 0; j <= inum; j++){
Canvas->CopyRect(Rect(0,icount*(j+d), Bitmap->Width+8,icount*(j+d) + i),Bitmap->Canvas, Rect(0, icount*j ,Bitmap->Width, icount*j + i));
Sleep(1);
}
}
break;
case 1:
//图像从上往下流水
for(int i=Bitmap->Height;i>=0;i--)
{
Source1 =Rect(0,i,Bitmap->Width,i+1);
for(int j1=0;j1<=i;j1++)
{
Dest1 =Rect(0 ,h+j1,Bitmap->Width,j1+h+1);
// Dest1 =Rect(0 ,81+j1,Bitmap->Width,j1+82);
Canvas->CopyRect(Dest1,Bitmap->Canvas,Source1);
}
}
break;
case 2:
//圆形效果特效
HRGN MyRgn;
int j=sqrt(Bitmap->Width*Bitmap->Width+Bitmap->Height*Bitmap->Height)/2+2;
for (int i=1;i<j;i++){
MyRgn=CreateEllipticRgn(Bitmap->Width/2-i+8,Bitmap->Height/2-i+8,Bitmap->Width/2+i+8,Bitmap->Height/2+i+8);
SelectObject(Canvas->Handle,MyRgn);
Canvas->Draw(0,h,Bitmap);
DeleteObject(MyRgn);
}
break;
}//switch
Timer1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton6Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::N1Click(TObject *Sender)
{
/*
TChooseSQLForm *Form=new TChooseSQLForm(this);
MainForm->ServerSQL = true;
Form->Choose_Mode=QUERY_MODE;
Form->Top=(cy - Form->Height) / 2;
Form->Left=(cx - Form->Width) / 2;
Form->ShowModal();
delete Form;
*/
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
{
TIniFile *ini;
ini = new TIniFile( ChangeFileExt("..\\data\\Post", ".INI" ) );
ini->WriteInteger( "FormStyle", "Style", suiTitleBar1->UIStyle);
ini->WriteString("FormStyle", "Background", BgFile);
ini->WriteInteger( "FormStyle", "StartStyle", StartStyle);
delete ini;
sndPlaySound("../sound/Logoff.wav", SND_ASYNC);
Canvas->Pen->Color=Color;
Canvas->Pen->Mode=pmCopy;
int inum =18; //这是百叶窗的叶数
int icount = ClientHeight /inum;//每叶的高度
int x,y;
for (int j = inum; j >=0 ; j--){
for (float i = 4.68; i < icount+1; i+=1){
Canvas->MoveTo(0, i*inum+j);
Canvas->LineTo(ClientWidth, i*inum+j);
}
Sleep(100);
}
TLogFont lf;
memset(&lf,0,sizeof(lf));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -