📄 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 + -