📄 ancgenbase.h
字号:
//---------------------------------------------------------------------------
#ifndef AncGenBaseH
#define AncGenBaseH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "BaseGlobeVars.h"
#include "KSFunction.h"
#include "CommFunction.h"
#include "WhereForm.h"
#include "FormSet.h"
#include "WnQuery.h"
#include "container.h"
#include "ClientDcom.h"
#define WM_UPDATE_MSG (WM_USER+1)
//---------------------------------------------------------------------------
class TAncGenBaseForm : public TForm
{
__published:
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
private:
//this variable indicate the current state of form
TComResultSet *RsFieldsName;
TControlAction FDetailState;
int l_AutoQuery;
AnsiString l_QueryString;
int l_AutoCode;
char l_MaskAutoCode;
int l_QueryStatus; //用于标示查询是成功还是失败 1-成功,0-失败
AnsiString FixedFilStr;
public:
TControlGroups *ClientGroup;
TComServer *comServer;
TSDEdit *AutoCtl;
TControlAction CurState;
long ComErrNum;
bool IsCreate;
bool l_BillCanceled;
bool l_BillChecked;
bool l_BillClosed;
bool l_ItemClosed;
protected:
int __fastcall ShowMessageWindow(AnsiString Msg,TMessageWindowStyle mStyle);
AnsiString __fastcall GetCurrentStateString();
void __fastcall ShowHelp();
void __fastcall ConnectToInternet(AnsiString wwwStr);
void __fastcall ShowAboutWindow();
DYNAMIC void __fastcall SetControlState(TControlAction mAct);
DYNAMIC void __fastcall SetToolBarState(TControlAction mAct);
DYNAMIC void __fastcall SetStatusBarInfo(TControlAction mAct);
DYNAMIC void __fastcall SetMenuState(TControlAction mAct);
DYNAMIC void __fastcall GetControlInfo();
DYNAMIC void __fastcall AddHeadRecord();
DYNAMIC void __fastcall EditHeadRecord();
DYNAMIC void __fastcall DelHeadRecord();
DYNAMIC void __fastcall AddDetailRecord();
DYNAMIC void __fastcall EditDetailRecord();
DYNAMIC void __fastcall DelDetailRecord();
DYNAMIC void __fastcall CancelRecord();
DYNAMIC void __fastcall CancelChange();
DYNAMIC void __fastcall HeadCancel();
DYNAMIC void __fastcall DetailCancel();
DYNAMIC void __fastcall GenDetail();
DYNAMIC void __fastcall EditAllDetail();
DYNAMIC void __fastcall SaveRecord();
DYNAMIC void __fastcall MoveToFirst();
DYNAMIC void __fastcall MoveToPrevious();
DYNAMIC void __fastcall MoveToNext();
DYNAMIC void __fastcall MoveToLast();
virtual void __fastcall QueryRecord();
DYNAMIC void __fastcall SelectFirstObject();
DYNAMIC void __fastcall SelectPreviousObject();
DYNAMIC void __fastcall SelectNextObject();
DYNAMIC void __fastcall SelectLastObject();
//if need show confirm dialog,the parameter is true,else to false
DYNAMIC void __fastcall PrintBill(bool ShowDialog);
DYNAMIC void __fastcall SendDataToPrinter();
virtual void __fastcall ExportData();
virtual void __fastcall SaveDataToFile()=0;
virtual void __fastcall UnDoChange();
// this function Show FindWindow let user select or browse records
// in a windows Named "FindWindow" .
// the parameter is browseno which stored in SDEdit's property BrowseNo
// the return value is AnsiString value.
virtual bool __fastcall ShowQueryWindow();
virtual void __fastcall SetQueryWindowFilterStr(AnsiString Value="");
virtual void __fastcall SetFormOption();
DYNAMIC bool __fastcall ResponseQueryMenu(TMenuItem *MItem);
DYNAMIC bool __fastcall ResponseReportMenu(TMenuItem *MItem);
DYNAMIC void __fastcall ExitThisForm();
DYNAMIC void __fastcall SaveComObject(int Section);
DYNAMIC void __fastcall NewComObject(int Section);
DYNAMIC void __fastcall EditComObject(int Section);
DYNAMIC void __fastcall DeleteHeadRecord();
DYNAMIC void __fastcall DeleteDetailRecord();
DYNAMIC bool __fastcall ObjectCanBeDeleted(int Section);
DYNAMIC void __fastcall SetControlToBrowseState(int Section);
// this function clear all the control in TControlGroups or
// User Specify if the parameter BringToNext is true,it does
// not clear the control else clear it.
virtual void __fastcall InitEditControl();
virtual void __fastcall ClearControl(int Section,bool BringToNext)=0;
virtual void __fastcall GetDataFromComObject(int Section)=0;
virtual void __fastcall SendDataToComObject(int Section)=0;
virtual void __fastcall WaitUserInput(int Section)=0;
virtual void __fastcall RefreshGridData(int mAction)=0;
virtual void __fastcall DisplayBill()=0;
virtual void __fastcall GetBill(AnsiString BillID)=0;
virtual void __fastcall FillGridWithData()=0;
virtual void __fastcall ChangeToBrowseState(bool Browse=false)=0;
virtual void __fastcall GenrateBill()=0;
virtual bool __fastcall ShowCheckDlg();
virtual void __fastcall EditBill();
virtual void __fastcall SendAllDetailValue();
virtual void __fastcall SetCheckToolbarStatus(bool state);
virtual void __fastcall SetCloseToolbarStatus(bool state);
virtual void __fastcall SetCancelToolbarStatus(bool state);
virtual void __fastcall SetCloseItemStatus(bool state);
/* TODO : 审核与结清 */
virtual bool __fastcall BeforeCheck();//给审核单据所需的字段(Check,cherker,checkdate)赋值,成功执行就返回true;
virtual bool __fastcall BeforeUnCheck();
virtual bool __fastcall BeforeCloseBill();
virtual bool __fastcall BeforeUnCloseBill();
virtual bool __fastcall BeforeCloseDetail();
virtual bool __fastcall BeforeUnCloseDetail();
virtual void __fastcall CheckRecord();
virtual void __fastcall UnCheckRecord();
virtual void __fastcall CloseBill();
virtual void __fastcall CloseDetail();
virtual void __fastcall UnCloseBill();
virtual void __fastcall UnCloseDetail();
virtual void __fastcall SetFormRight(AnsiString right)=0;
virtual void __fastcall VerifyFormRight()=0;
__property TControlAction CurrentState={read=CurState};
__property TControlAction DetailState={read=FDetailState};
//报表代码
AnsiString BillReportCodeStr;
private:
void __fastcall ReadFormSetValue();
void __fastcall WriteFormSetValue();
void __fastcall ResolveRight(TMessage &message);
bool __fastcall ResolveBillCode();//自动编码
AnsiString l_AutoCodeString;//自动编码代码
public:
__fastcall TAncGenBaseForm(TComponent* Owner,HWND chWnd,AnsiString MidCode,AnsiString WhereStr);
__fastcall ~TAncGenBaseForm();
__property int QueryStatus={read=l_QueryStatus,write=l_QueryStatus};
void __fastcall SetAutoCodeString(TSDEdit *AutoCodeCtl,AnsiString AutoCodeString);//自动编码代码
void __fastcall SetAutoCodeString(TSDEdit *AutoCodeCtl);//自动编码代码
private:
TComResultSet *__fastcall GetQuery();
TStringList *__fastcall DecStrKey(char AFixed, AnsiString AStrKey);//分解多关键字
protected:
void virtual __fastcall UpdateMessage(TMessage Message);
void virtual __fastcall RefreshUpdateData(int MsgSrc,int MsgType);
void virtual __fastcall ReSetToolbarStatus();
public:
TGetValueType GetValueType;//由GetGoodsValue等返回时所需要的类型{gtOpenForm:从openGoodsForm数据集;gtInitRs:从InitRsGoods数据集}
TKSSet *l_RsGoods;
TKSSet *l_RsSupply;
TKSSet *l_RsClient;
TComResultSet *g_sdRsGlkm;
TComResultSet *l_Query; //anc
//------------------------------------------------------------
AnsiString __fastcall GetGlkmValue(TGetValueType GetValueType,AnsiString mFieldName);
AnsiString __fastcall GetGoodsValue(TGetValueType GetValueType,AnsiString mFieldName);//GetValueType枚举变量:{gtInitRs,gtOpenForm}
AnsiString __fastcall GetSupplyValue(TGetValueType GetValueType,AnsiString mFieldName);
AnsiString __fastcall GetClientValue(TGetValueType GetValueType,AnsiString mFieldName);
bool __fastcall InitRsGlkm(AnsiString L_GlkmCode);
bool __fastcall InitRsGoods(AnsiString L_goodsCode);
bool __fastcall InitRsSupply(AnsiString L_SupplysCode);
bool __fastcall InitRsClient(AnsiString L_ClientsCode) ;
bool __fastcall OpenGlkmForm(bool IsOnlyDetail=true) ;//IsOnlyDetail,是否只能返回明细科目,default=ture;
bool __fastcall OpenGoodsForm(AnsiString WhereStr);//打开查询窗体
bool __fastcall OpenSupplyForm(AnsiString WhereStr);
bool __fastcall OpenClientForm(AnsiString WhereStr);
//------------------------------------------------------------
AnsiString __fastcall GetHeadValue(AnsiString fieldname);
void __fastcall SetHeadValue(AnsiString fieldname,Variant value,bool AllowEmpty=true);
AnsiString __fastcall GetDetailValue(AnsiString fieldname);
void __fastcall SetDetailValue(AnsiString fieldname,Variant value,bool AllowEmpty=true);
AnsiString __fastcall GetParamValue(AnsiString ParameterCode);
__property int AutoQuery={read=l_AutoQuery};
__property TComResultSet *Query={read=GetQuery};
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_UPDATE_MSG, TMessage, UpdateMessage);
MESSAGE_HANDLER(WM_FORMRIGHT_MSG,TMessage,ResolveRight );
END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TAncGenBaseForm *AncGenBaseForm;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -