?? frmlogin.~cpp
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Frmlogin.h"
#include <Registry.hpp>
#include "Frmtools.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TLogin *Login;
//---------------------------------------------------------------------------
__fastcall TLogin::TLogin(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TLogin::BitBtn2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TLogin::FormActivate(TObject *Sender)
{
Edit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TLogin::FormCreate(TObject *Sender)
{
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);
GetPrivateProfileString(
"YDLOGIN", // []中節(jié)的名稱
"SERVERNAME", // =號前的鍵名
"", // 如果沒有找到字符串時,返回Nil
Name, // 存放取得字符串
100, // 取得字符的允許最大長度
strpath.c_str() // .INI文件名
);
servername=Name;
if (servername!="")Edit3->Text=Name;
else Edit3->Text=ComputerName;
GetPrivateProfileString(
"YDLOGIN", // []中節(jié)的名稱
"USERNAME", // =號前的鍵名
"", // 如果沒有找到字符串時,返回Nil
Name, // 存放取得字符串
100, // 取得字符的允許最大長度
strpath.c_str() // .INI文件名
);
Edit2->Text=Name;
}
//---------------------------------------------------------------------------
void __fastcall TLogin::BitBtn1Click(TObject *Sender)
{
TStringList *MyList=new TStringList();
try
{
MyList->Add("ENABLE BCD=TRUE");
MyList->Add("DATABASE NAME=master");
MyList->Add("SERVER NAME="+Edit3->Text);
MyList->Add("USER NAME="+Edit2->Text);
MyList->Add("PASSWORD="+Edit1->Text);
Session->AddAlias("ydls", "MSSQL", MyList);
Session->SaveConfigFile();
}
catch (...)
{
MessageBox(NULL,"MSSQL Server數(shù)據(jù)庫服務器尚未安裝或啟動!","提示",MB_OK|MB_ICONWARNING);
Session->DeleteAlias("ydls"); //刪除BDE別名
Session->SaveConfigFile();
delete MyList;
return;
}
TDatabase *database1=new TDatabase(this); //創(chuàng)建數(shù)據(jù)庫
try
{
database1->AliasName="ydls";
database1->DatabaseName="ydls";
database1->LoginPrompt=false;
database1->Params->Add("USER NAME="+Edit2->Text);
database1->Params->Add("PASSWORD="+Edit1->Text);
database1->Open();
TTable *table1=new TTable(this);
table1->DatabaseName="ydls";
table1->TableName="sysdatabases";
table1->Open();
table1->First();
int ydb=0;
AnsiString sqlpa="";
while (!table1->Eof)
{
if (table1->FieldByName("name")->AsString=="master")
{
sqlpa=table1->FieldByName("filename")->AsString;
sqlpa=sqlpa.SubString(1,sqlpa.AnsiPos(".")-7);
}
if (table1->FieldByName("name")->AsString=="Yddb")
{
ydb=1;
// break;
}
table1->Next();
}
if (ydb==0)
{
AnsiString SQLstmt;
// SQLstmt="USE master";
SQLstmt=SQLstmt+"create database Yddb ";
SQLstmt=SQLstmt+"on primary(name=Yddb_data,filename='"+sqlpa+"Yddb.mdf',";
SQLstmt=SQLstmt+"size=15MB,MAXSIZE=100MB,filegrowth=10%) ";
SQLstmt=SQLstmt+"log on (name=Yddb_log,filename='"+sqlpa+"Yddb.ldf',";
SQLstmt=SQLstmt+"size=3MB,MAXSIZE=10MB,filegrowth=1MB)";
database1->Execute(SQLstmt, NULL, false, NULL); //創(chuàng)建數(shù)據(jù)庫
}
delete table1;
// delete database1;
Session->DeleteAlias("ydls"); //刪除BDE別名
Session->SaveConfigFile();
String sName;
AnsiString AppPath = ExtractFilePath(Application->ExeName)+"YDLOGIN.INI";
sName = Edit3->Text;
WritePrivateProfileString(
"YDLOGIN",
"SERVERNAME",
sName.c_str(),
AppPath.c_str()
);
sName = Edit2->Text;
WritePrivateProfileString(
"YDLOGIN",
"USERNAME",
sName.c_str(),
AppPath.c_str()
);
TStringList *yList=new TStringList();
try
{
if (!Session->IsAlias("ydgl"))
{
yList->Add("ENABLE BCD=TRUE");
yList->Add("DATABASE NAME=Yddb");
yList->Add("SERVER NAME="+Edit3->Text);
yList->Add("USER NAME="+Edit2->Text);
yList->Add("PASSWORD="+Edit1->Text);
Session->AddAlias("ydgl", "MSSQL", yList);
Session->SaveConfigFile();
database1->Close();
database1->AliasName="ydgl";
database1->DatabaseName="ydgls";
database1->LoginPrompt=false;
database1->Params->Add("USER NAME="+Edit2->Text);
database1->Params->Add("PASSWORD="+Edit1->Text);
database1->Open();
if (ydb==0)
{
createsjb();
AnsiString Path= ExtractFilePath(Application->ExeName);
TTable *Table1=new TTable(this);
Table1->TableType=ttFoxPro;
Table1->TableName=Path+"djsjk.dbf";
Table1->Open();
TTable *Table2=new TTable(this);
Table2->DatabaseName="ydgls";
Table2->TableName="djsjk";
Table2->Open();
Table1->First();
while (!Table1->Eof)
{
Table2->Append();
Table2->FieldByName("lb")->AsString=Table1->FieldByName("lb")->AsString;
Table2->FieldByName("dy")->AsString=Table1->FieldByName("dy")->AsString;
Table2->FieldByName("dj1")->AsFloat=Table1->FieldByName("dj1")->AsFloat;
Table2->FieldByName("dj2")->AsFloat=Table1->FieldByName("dj2")->AsFloat;
Table2->FieldByName("dj3")->AsFloat=Table1->FieldByName("dj3")->AsFloat;
Table2->FieldByName("dj4")->AsFloat=Table1->FieldByName("dj4")->AsFloat;
Table2->FieldByName("dj1f")->AsFloat=Table1->FieldByName("dj1f")->AsFloat;
Table2->FieldByName("dj2f")->AsFloat=Table1->FieldByName("dj2f")->AsFloat;
Table2->FieldByName("dj3f")->AsFloat=Table1->FieldByName("dj3f")->AsFloat;
Table2->FieldByName("dj4f")->AsFloat=Table1->FieldByName("dj4f")->AsFloat;
Table2->FieldByName("dj1g")->AsFloat=Table1->FieldByName("dj1g")->AsFloat;
Table2->FieldByName("dj2g")->AsFloat=Table1->FieldByName("dj2g")->AsFloat;
Table2->FieldByName("dj3g")->AsFloat=Table1->FieldByName("dj3g")->AsFloat;
Table2->FieldByName("dj4g")->AsFloat=Table1->FieldByName("dj4g")->AsFloat;
Table2->Post();
Table1->Next();
}
Table1->Close();
Table2->Close();
Table1->TableType=ttFoxPro;
Table1->TableName=Path+"dydj.dbf";
Table1->Open();
Table2->DatabaseName="ydgls";
Table2->TableName="dydj";
Table2->Open();
Table1->First();
while (!Table1->Eof)
{
Table2->Append();
Table2->FieldByName("dy_dm")->AsString=Table1->FieldByName("dy_dm")->AsString;
Table2->FieldByName("dy_dydj")->AsString=Table1->FieldByName("dy_dydj")->AsString;
Table2->FieldByName("dy_dygt")->AsFloat=Table1->FieldByName("dy_dygt")->AsFloat;
Table2->FieldByName("dy_dypt")->AsFloat=Table1->FieldByName("dy_dypt")->AsFloat;
Table2->Post();
Table1->Next();
}
Table1->Close();
Table2->Close();
Table1->TableType=ttFoxPro;
Table1->TableName=Path+"hydm.dbf";
Table1->Open();
Table2->DatabaseName="ydgls";
Table2->TableName="hydm";
Table2->Open();
Table1->First();
while (!Table1->Eof)
{
Table2->Append();
Table2->FieldByName("hy_hydm")->AsString=Table1->FieldByName("hy_hydm")->AsString;
Table2->FieldByName("hy_hymc")->AsString=Table1->FieldByName("hy_hymc")->AsString;
Table2->FieldByName("hy_bz")->AsString=Table1->FieldByName("hy_bz")->AsString;
Table2->Post();
Table1->Next();
}
Table1->Close();
Table2->Close();
Table1->TableType=ttFoxPro;
Table1->TableName=Path+"ydmenu.dbf";
Table1->Open();
Table2->DatabaseName="ydgls";
Table2->TableName="ydmenu";
Table2->Open();
Table1->First();
while (!Table1->Eof)
{
Table2->Append();
Table2->FieldByName("name")->AsString=Table1->FieldByName("name")->AsString;
Table2->FieldByName("jc")->AsString=Table1->FieldByName("jc")->AsString;
Table2->FieldByName("sj")->AsInteger=Table1->FieldByName("sj")->AsInteger;
Table2->FieldByName("cdxm")->AsString=Table1->FieldByName("cdxm")->AsString;
Table2->Post();
Table1->Next();
}
Table2->Close();
Table2->DatabaseName="ydgls";
Table2->TableName="CZYGL";
Table2->Open();
Table2->Append();
Table2->FieldByName("czymc")->AsString="系統(tǒng)管理員";
Table2->FieldByName("czykl")->AsString="1";
Table2->FieldByName("kzqx1")->AsString="1";
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -