?? yhdl.cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YHDL.h"
#include "YDmain.h"
#include "Ydlyb.h"
#include "YDqfll.h"
#include "YDyhll.h"
#include "YDdatam.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TCLogin *CLogin;
//---------------------------------------------------------------------------
__fastcall TCLogin::TCLogin(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::FormCreate(TObject *Sender)
{
StatusBar1->Panels->Items[0]->Text ="未注冊";
DateTimePicker1->Date=Date();
char Name[128];
char ComputerName[255];
DWORD size = 255;
AnsiString username;
AnsiString password;
String strpath;
AnsiString AppPath = ExtractFilePath(Application->ExeName);
strpath= AppPath +"YDLOGIN.INI";
GetComputerName(ComputerName, &size);
GetPrivateProfileString(
"YDLOGIN", // []中節的名稱
"SERVERNAME", // =號前的鍵名
"", // 如果沒有找到字符串時,返回Nil
Name, // 存放取得字符串
100, // 取得字符的允許最大長度
strpath.c_str() // .INI文件名
);
servername=Name;
GetPrivateProfileString(
"YDLOGIN", // []中節的名稱
"USERNAME", // =號前的鍵名
"", // 如果沒有找到字符串時,返回Nil
Name, // 存放取得字符串
100, // 取得字符的允許最大長度
strpath.c_str() // .INI文件名
);
username=Name;
GetPrivateProfileString(
"YDLOGIN", // []中節的名稱
"PASSWORD", // =號前的鍵名
"", // 如果沒有找到字符串時,返回Nil
Name, // 存放取得字符串
100, // 取得字符的允許最大長度
strpath.c_str() // .INI文件名
);
password=Name;
TStringList *MyList=new TStringList();
try
{
MyList->Add("BLOB SIZE=64");
MyList->Add("ENABLE BCD=TRUE");
// MyList->Add("SCHEMA CACHE SIZE=64");
// MyList->Add("SCHEMA CACHE TIME=1");
MyList->Add("DATABASE NAME=Yddb");
MyList->Add("SERVER NAME="+servername);
MyList->Add("USER NAME="+username);
MyList->Add("PASSWORD="+password);
Session->AddAlias("ydgl_c", "MSSQL", MyList);
// Session->SaveConfigFile();
YDData->YYYD->Open();
YDData->TBczy->Open();
YDData->TBczy->First();
while (!YDData->TBczy->Eof)
{
ComboBox1->Items->Add(YDData->TBczy->FieldByName("czymc")->AsString);
YDData->TBczy->Next();
}
ComboBox1->Text=ComboBox1->Items->Strings[0];
DateTimePicker1->Date=Date();
}
catch (...)
{
MessageBox(NULL,"MSSQL Server數據庫服務器尚未安裝或啟動!","提示",MB_OK|MB_ICONWARNING);
Session->DeleteAlias("ydgl_c"); //刪除BDE別名
Session->SaveConfigFile();
delete MyList;
Close();
}
if(ClientSocket1->Active)
{
ClientSocket1->Active=false;
}
else
{
AnsiString Server=servername;
ClientSocket1->Host=Server;
ClientSocket1->Active=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::BitBtn2Click(TObject *Sender)
{
// Application->Terminate();
dlok=0;
Close();
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::BitBtn3Click(TObject *Sender)
{
// Application->HelpJump("dl");
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::BitBtn1Click(TObject *Sender)
{
dlok=0;
// char Name[128];
char ComputerName[255];
DWORD size = 255;
// AnsiString servername;
// String strpath;
// AnsiString AppPath = ExtractFilePath(Application->ExeName);
// strpath= AppPath +"YDLOGIN.INI";
GetComputerName(ComputerName, &size);
YDData->TBczy->First();
while (!YDData->TBczy->Eof)
{
if (YDData->TBczy->FieldByName("czymc")->AsString==Trim(ComboBox1->Text)&&YDData->TBczy->FieldByName("czykl")->AsString==Trim(Edit1->Text))
{
dlok=1;
gzzname=ComputerName;
ywrq=DateToStr(DateTimePicker1->Date);
czyname=YDData->TBczy->FieldByName("czymc")->AsString;
kzqx=YDData->TBczy->FieldByName("kzqx1")->AsString;
TQuery *Query1=new TQuery(this);
Query1->DatabaseName="Yddb";
Query1->SQL->Add("insert into yhrz values('"+gzzname+"','"+Now()+"',null,'登錄')");
Query1->ExecSQL();
delete Query1;
break;
}
else YDData->TBczy->Next();
}
if (dlok==0)
{
MessageBox(NULL,"操作員或口令錯誤,請重新輸入!","提示",MB_OK|MB_ICONWARNING);
return;
}
YDData->TByhda->Open();
YDData->TBdbda->Open();
if (StatusBar1->Panels->Items[0]->Text=="未注冊")
{
if (YDData->TByhda->RecordCount>=20||YDData->TBdbda->RecordCount>=30)
{
dlok=0;
MessageBox(NULL,"軟件尚未注冊,請在后臺管理工具中注冊后使用!","提示",MB_OK|MB_ICONWARNING);
YDData->TByhda->Close();
YDData->TBdbda->Close();
}
else
{
YDData->TByhda->Close();
YDData->TBdbda->Close();
}
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::FormClose(TObject *Sender, TCloseAction &Action)
{
Session->DeleteAlias("ydgl_c"); //刪除BDE別名
Session->SaveConfigFile();
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::FormActivate(TObject *Sender)
{
Edit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::ClientSocket1Error(TObject *Sender,
TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
{
if (ErrorCode==10061||ErrorCode==10053)
{
ShowMessage("應用服務器尚未打開!");
ErrorCode=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::ClientSocket1Read(TObject *Sender,
TCustomWinSocket *Socket)
{
StatusBar1->Panels->Items[0]->Text=Socket->ReceiveText();
ClientSocket1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TCLogin::ClientSocket1Connecting(TObject *Sender,
TCustomWinSocket *Socket)
{
// StatusBar1->Panels->Items[0]->Text=Socket->ReceiveText();
// ClientSocket1->Close();
}
//---------------------------------------------------------------------------
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -