📄 system.cpp
字号:
p->Assign(this);
AddRecord((void *)p,p->TableName);
m_Query->Next();
}
MoveFirst();
}
m_Query->Close();
return Count;
}
bool TsdTable::Find(AnsiString WhereStr)
{
AnsiString m_SqlStr;
if(WhereStr.IsEmpty()==true)
throw Exception("查找表达式不能为空");
m_SqlStr="select * from sdTable where "+WhereStr;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add(m_SqlStr);
m_Query->Open();
if(m_Query->RecordCount!=1)
{
m_Query->Close();
return false;
}
else
{
BatchLetValue();
m_sdField->FilterString=" FieldTableName='"+m_TableName+"'";
m_sdField->OrderString=" FieldNo ";
m_sdField->Query();
m_Query->Close();
return true;
}
}
AnsiString TsdTable::GetItemValue(euField FieldName)
{
return m_sdField->GetFieldValue(FieldName);
}
void TsdTable::SetItemValue(euField FieldName, AnsiString Value)
{
m_sdField->SetFieldValue(FieldName,Value);
}
int __fastcall TsdTable::GetItemCount()
{
try
{
return m_sdField->Count;
}
catch(...)
{
return 0;
}
}
int __fastcall TsdTable::GetCurItemNo()
{
return m_sdField->CurRecNo;
}
char __fastcall TsdTable::GetCurItemStatus()
{
return m_sdField->CurStatus;
}
AnsiString __fastcall TsdTable::GetItemBookMark()
{
return m_sdField->BookMark;
}
//==========================================================================
//*************TsdModule)系统功能维护***************************************
//==========================================================================
void __fastcall TsdModule::SetModuleUpperCode(AnsiString value)
{
if(value.Length()>18)
{
throw Exception("上级功能模块分类编码长度不能超过18.");
}
if (value!=m_ModuleUpperCode)
{
int mLevel;
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("select ModuleLevel from sdModule where ModuleCode='"+value+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
mLevel = m_Query->FieldValues["ModuleLevel"];
mLevel = mLevel+1;
m_ModuleLevel = mLevel;
m_Query->Close();
}
else
{
m_Query->Close();
throw Exception("数据库中没有上级功能模块分类编码:+'"+value+"'");
}
}
m_ModuleUpperCode = value;
}
//------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleItem(AnsiString value)
{
if(value.IsEmpty() == true )
throw Exception("功能模块分类序号不能为空");
if(value.Length()>18)
throw Exception("功能模块分类序号长度不能超过18");
if (value!=m_ModuleItem)
{
m_Query->Close();
m_Query->SQL->Clear();
m_Query->SQL->Add("SELECT * FROM sdModule WHERE ModuleCode='"+Trim(m_ModuleUpperCode)+"'+'"+Trim(value)+"'");
m_Query->Open();
if(m_Query->RecordCount>0)
{
m_Query->Close();
throw Exception("功能模块分类序号已经已存在.");
}
m_Query->Close();
}
m_ModuleItem = value;
}
//------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleCaption(AnsiString value)
{
if(value.IsEmpty()==true)
{
throw Exception("功能模块编码名不能为空");
}
if(value.Length()>20)
{
throw Exception("功能模块编码长度不能超过20");
}
m_ModuleCaption = value;
}
//------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleDesc(AnsiString value)
{
m_ModuleDesc = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleNo(int value)
{
m_ModuleNo = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleLevel(int value)
{
if(value<=0)
throw Exception("模块维护的层级数不能小于和等于零");
m_ModuleLevel = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleFormName(AnsiString value)
{
m_ModuleFormName = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModulePicName(AnsiString value)
{
m_ModulePicName = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleSelPicName(AnsiString value)
{
m_ModuleSelPicName = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleMovePic(AnsiString value)
{
m_ModuleMovePic=value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleNavpic(AnsiString value)
{
m_ModuleNavpic=value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleType(int value)
{
m_ModuleType = value;
}
//--------------------------------------------------------------------------
void __fastcall TsdModule::SetModuleCheck(int value)
{
m_ModuleCheck = value;
}
void __fastcall TsdModule::SetModulePost(int value)
{
m_ModulePost=value;
}
void __fastcall TsdModule::SetModuleCancel(int value)
{
m_ModuleCancel=value;
}
void __fastcall TsdModule::SetModuleVisible(int value)
{
if(value!=0 && value!=1)
throw Exception("可见标志只能为(0-不可见,1-可见)");
m_ModuleVisible=value;
}
void __fastcall TsdModule::SetModuleLib(int value)
{
m_ModuleLib=value;
}
//--------------------------------------------------------------------------
TsdModule::TsdModule(TDataComm *DC)
:TsdStandard(DC)
{
try
{
QueryString="select * from sdModule ";
FilterString="";
OrderString="ModuleCode,ModuleLevel";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
TsdModule::TsdModule()
:TsdStandard()
{
try
{
QueryString="select * from sdModule ";
FilterString="";
OrderString="ModuleCode,ModuleLevel";
EmptyValue(0);
EmptyValue(1);
}
catch(Exception &e)
{
throw Exception("初始化出错");
}
}
AnsiString TsdModule::GetFieldValue(euModule sdFieldName)
{
switch(sdFieldName)
{
case fiModuleCode:
return ModuleCode;
case fiModuleCaption:
return ModuleCaption;
case fiModuleItem:
return ModuleItem;
case fiModuleDesc:
return ModuleDesc;
case fiModuleNo:
return AnsiString(ModuleNo);
case fiModuleUpperCode:
return ModuleUpperCode;
case fiModuleLevel:
return AnsiString(ModuleLevel);
case fiModuleFormName:
return ModuleFormName;
case fiModulePicName:
return ModulePicName;
case fiModuleSelPicName:
return ModuleSelPicName;
case fiModuleMovePic:
return ModuleMovePic;
case fiModuleNavpic:
return ModuleNavpic;
case fiModuleType:
return AnsiString(ModuleType);
case fiModuleCheck:
return AnsiString(ModuleCheck);
case fiModulePost:
return AnsiString(ModulePost);
case fiModuleCancel:
return AnsiString(ModuleCancel);
case fiModuleVisible:
return AnsiString(ModuleVisible);
case fiModuleRight:
return ModuleRight;
case fiModuleLib:
return ModuleLib;
default:
throw Exception("当前字段未定义成可取值");
}
}
void TsdModule::SetFieldValue(euModule sdFieldName, AnsiString Value)
{
switch(sdFieldName)
{
case fiModuleCaption:
ModuleCaption=Value;
break;
case fiModuleItem:
ModuleItem=Value;
break;
case fiModuleDesc:
ModuleDesc=Value;
break;
case fiModuleNo:
ModuleNo=Value.ToInt();
break;
case fiModuleLevel:
ModuleLevel=Value.ToInt();
break;
case fiModuleUpperCode:
ModuleUpperCode=Value;
break;
case fiModuleFormName:
ModuleFormName=Value;
break;
case fiModulePicName:
ModulePicName=Value;
break;
case fiModuleSelPicName:
ModuleSelPicName=Value;
break;
case fiModuleMovePic:
ModuleMovePic=Value;
break;
case fiModuleNavpic:
ModuleNavpic=Value;
break;
case fiModuleType:
ModuleType=Value.ToInt();
break;
case fiModuleCheck:
ModuleCheck=Value.ToInt();
break;
case fiModulePost:
ModulePost=Value.ToInt();
break;
case fiModuleCancel:
ModuleCancel=Value.ToInt();
break;
case fiModuleVisible:
ModuleVisible=Value.ToInt();
break;
case fiModuleLib:
ModuleLib=Value.ToInt();
break;
default:
throw Exception("当前字段未定义成可赋值");
}
}
void TsdModule::Update()
{
if(CurStatus==0||CurStatus==1)
throw Exception("当前不是编辑状态,不能进行存盘操作!");
m_ModuleCode=Trim(m_ModuleUpperCode)+Trim(m_ModuleItem);
if(m_ModuleCode.IsEmpty()==true)
throw Exception("模块代码不能为空!");
if(m_ModuleCaption.IsEmpty()==true)
throw Exception("功能名称不能为空!");
m_StoredProc->Close();
if(CurStatus==2||CurStatus==4)
{
m_StoredProc->ProcedureName="sdModule_Insert";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@ModuleCode",ftString,pdInput,20,m_ModuleCode);
m_StoredProc->Parameters->CreateParameter("@ModuleCaption",ftString,pdInput,40,m_ModuleCaption);
m_StoredProc->Parameters->CreateParameter("@ModuleItem",ftString,pdInput,20,m_ModuleItem);
m_StoredProc->Parameters->CreateParameter("@ModuleDesc",ftString,pdInput,255,m_ModuleDesc);
m_StoredProc->Parameters->CreateParameter("@ModuleNo",ftInteger,pdInput,10,m_ModuleNo);
m_StoredProc->Parameters->CreateParameter("@ModuleUpperCode",ftString,pdInput,20,m_ModuleUpperCode);
m_StoredProc->Parameters->CreateParameter("@ModuleLevel",ftInteger,pdInput,10,m_ModuleLevel);
m_StoredProc->Parameters->CreateParameter("@ModuleFormName",ftString,pdInput,30,m_ModuleFormName);
m_StoredProc->Parameters->CreateParameter("@ModulePicName",ftString,pdInput,80,m_ModulePicName);
m_StoredProc->Parameters->CreateParameter("@ModuleSelPicName",ftString,pdInput,80,m_ModuleSelPicName);
m_StoredProc->Parameters->CreateParameter("@ModuleMovePic",ftString,pdInput,80,m_ModuleMovePic);
m_StoredProc->Parameters->CreateParameter("@ModuleNavpic",ftString,pdInput,80,m_ModuleNavpic);
m_StoredProc->Parameters->CreateParameter("@ModuleType",ftSmallint,pdInput,10,m_ModuleType);
m_StoredProc->Parameters->CreateParameter("@ModuleCheck",ftSmallint,pdInput,10,m_ModuleCheck);
m_StoredProc->Parameters->CreateParameter("@ModulePost",ftSmallint,pdInput,10,m_ModulePost);
m_StoredProc->Parameters->CreateParameter("@ModuleCancel",ftSmallint,pdInput,10,m_ModuleCancel);
m_StoredProc->Parameters->CreateParameter("@ModuleVisible",ftSmallint,pdInput,10,m_ModuleVisible);
m_StoredProc->Parameters->CreateParameter("@ModuleLib",ftInteger,pdInput,10,m_ModuleLib);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
else
{
m_StoredProc->ProcedureName="sdModule_Update";
m_StoredProc->Parameters->Clear();
m_StoredProc->Parameters->CreateParameter("@W_ModuleCode",ftString,pdInput,20,b_ModuleCode);
m_StoredProc->Parameters->CreateParameter("@ModuleCode",ftString,pdInput,20,m_ModuleCode);
m_StoredProc->Parameters->CreateParameter("@ModuleCaption",ftString,pdInput,40,m_ModuleCaption);
m_StoredProc->Parameters->CreateParameter("@ModuleItem",ftString,pdInput,20,m_ModuleItem);
m_StoredProc->Parameters->CreateParameter("@ModuleDesc",ftString,pdInput,255,m_ModuleDesc);
m_StoredProc->Parameters->CreateParameter("@ModuleNo",ftInteger,pdInput,10,m_ModuleNo);
m_StoredProc->Parameters->CreateParameter("@ModuleUpperCode",ftString,pdInput,20,m_ModuleUpperCode);
m_StoredProc->Parameters->CreateParameter("@ModuleLevel",ftInteger,pdInput,10,m_ModuleLevel);
m_StoredProc->Parameters->CreateParameter("@ModuleFormName",ftString,pdInput,30,m_ModuleFormName);
m_StoredProc->Parameters->CreateParameter("@ModulePicName",ftString,pdInput,80,m_ModulePicName);
m_StoredProc->Parameters->CreateParameter("@ModuleSelPicName",ftString,pdInput,80,m_ModuleSelPicName);
m_StoredProc->Parameters->CreateParameter("@ModuleMovePic",ftString,pdInput,80,m_ModuleMovePic);
m_StoredProc->Parameters->CreateParameter("@ModuleNavpic",ftString,pdInput,80,m_ModuleNavpic);
m_StoredProc->Parameters->CreateParameter("@ModuleType",ftSmallint,pdInput,10,m_ModuleType);
m_StoredProc->Parameters->CreateParameter("@ModuleCheck",ftSmallint,pdInput,10,m_ModuleCheck);
m_StoredProc->Parameters->CreateParameter("@ModulePost",ftSmallint,pdInput,10,m_ModulePost);
m_StoredProc->Parameters->CreateParameter("@ModuleCancel",ftSmallint,pdInput,10,m_ModuleCancel);
m_StoredProc->Parameters->CreateParameter("@ModuleVisible",ftSmallint,pdInput,10,m_ModuleVisible);
m_StoredProc->Parameters->CreateParameter("@ModuleLib",ftInteger,pdInput,10,m_ModuleLib);
m_StoredProc->ExecProc();
m_StoredProc->Close();
}
TsdModule *p=new TsdModule();
if(CurStatus==2)
{
SetActionID(1);
p->Assign(this);
AddRecord((void *)p,p->ModuleCode);
}
else
{
SetActionID(1);
p->Assign(this);
ChangeRecord(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -