📄 midasservimpl.~cpp
字号:
#include <vcl.h>
#pragma hdrstop
#include "MIDASSERVIMPL.H"
#include "mdservfrm.h"
#if !defined(__PRAGMA_SMART_INIT_DEFINED)
#define __PRAGMA_SMART_INIT_DEFINED
#pragma package(smart_init)
#endif
#pragma resource "*.dfm"
/////////////////////////////////////////////////////////////////////////////
// Global instance of TmidasservImpl
/////////////////////////////////////////////////////////////////////////////
Tmidasserv *midasserv;
AnsiString FUserName;
/////////////////////////////////////////////////////////////////////////////
// Tmidasserv::Tmidasserv
/////////////////////////////////////////////////////////////////////////////
__fastcall Tmidasserv::Tmidasserv(TComponent* Owner) : TCRemoteDataModule(Owner)
{
}
STDMETHODIMP TmidasservImpl::UserAuthentication(BSTR UserName,
BSTR Password, BSTR* Ret)
{
AnsiString rt="",str="";
int i,j,m=0;
try
{
m_DataModule->Table1->Active = true;
while(!m_DataModule->Table1->Eof)
{
for(i=0;i<(m_DataModule->Table1->FieldCount);i++)
{
if(m_DataModule->Table1->Fields->Fields[i]->AsString == AnsiString(UserName))
{
if(m_DataModule->Table1->Fields->Fields[i+1]->AsString == AnsiString(Password))
{
j=m_DataModule->Table1->Fields->Fields[i+2]->Value;
//ShowMessage(j);
switch(j) {
case 1: str=AnsiString("管理员");
break;
case 2 : str=AnsiString("普通用户");
break;
}
rt=AnsiString("登陆成功!您的用户级别为:")+str;
Form1->Label1->Caption = "目前在线的用户有:";
if(Form1->ListBox1->Count == 0)
Form1->ListBox1->Items->Add(UserName);
else {
for(int k=0;k<Form1->ListBox1->Count;k++)
{if(Form1->ListBox1->Items->operator [](k)==UserName)
{rt = "已经登陆!"; m=1;}
}
if(m==0)
Form1->ListBox1->Items->Add(UserName);
}
FUserName=UserName;
if(j==1)
Form1->Button1->Visible = true;
//ShowMessage(j);
else
Form1->Button1->Visible = false;
}
else {
rt="密码错误!";
Form1->Button1->Visible = false;}
}
break;
}
m_DataModule->Table1->Next();
}
if(rt=="")
rt="登陆失败,没有此用户,请注册!";
}
catch(Exception &e)
{
rt="失败!";
}
m_DataModule->Table1->First();
//Form1->Label1->Caption = rt;
*Ret = Variant(rt);
return S_OK;
}
void __fastcall Tmidasserv::DataSetProvider1BeforeGetRecords(
TObject *Sender, OleVariant &OwnerData)
{
AnsiString Temp = OwnerData.GetElement(0);
if(Temp == "yanzheng")
DataSetProvider1->DataSet = midasserv->Table1;
else
DataSetProvider1->DataSet = NULL;
}
//---------------------------------------------------------------------------
STDMETHODIMP TmidasservImpl::NewUser(BSTR UserName, BSTR Password,
BSTR* Ret)
{
AnsiString rt="";
int i;
try
{
m_DataModule->Table1->Active = true;
m_DataModule->Table1->First();
while(!m_DataModule->Table1->Eof)
{
for(i=0;i<(m_DataModule->Table1->FieldCount);i++)
{
if(m_DataModule->Table1->Fields->Fields[i]->AsString == AnsiString(UserName))
rt = "已经存在此用户,请重新注册!" ;
break;
}
m_DataModule->Table1->Next();
}
if(rt=="")
{
m_DataModule->Table1->Append();
m_DataModule->Table1->FieldByName("UserName")->Value = UserName;
m_DataModule->Table1->FieldByName("Password")->Value = Password;
m_DataModule->Table1->FieldByName("Authority")->Value = 2;
m_DataModule->Table1->Post();
rt="注册成功!";
}
}
catch(Exception &e)
{
rt="注册失败!";
}
m_DataModule->Table1->First();
*Ret = Variant(rt);
return S_OK;
}
void __fastcall Tmidasserv::CRemoteDataModuleDestroy(TObject *Sender)
{
Form1->ListBox1->Items->Delete(Form1->ListBox1->Items->IndexOf(FUserName));
Form1->Label1->Caption = FUserName+"已经退出,目前还在的用户有:";
}
//---------------------------------------------------------------------------
void __fastcall Tmidasserv::DataSetProvider2GetData(TObject *Sender,
TCustomClientDataSet *DataSet)
{
DataSet->First();
while(!DataSet->Eof) {
AnsiString Str;
Str=DataSet->FieldByName("Name")->AsString;
for(int i=0;i<Str.Length();i++)
Str.c_str()[i]^=i;
DataSet->Edit();
DataSet->FieldByName("Name")->AsString=Str;
DataSet->Post() ;
DataSet->Next();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -