⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdbaselib.h

📁 速达开源ERP系统
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _BASE_LIB
#define _BASE_LIB
#define _EXPORT_TYPE __declspec(dllexport)
#include <ADODB.hpp>
#include <Db.hpp>
#include "DataComm.h"
#include "func.h"

class _EXPORT_TYPE TsdStandard;
class _EXPORT_TYPE TsdDetail;
class _EXPORT_TYPE TsdHead;
class __declspec(dllexport) TMidBase;

//===================================================
//(TsdStand)标准单据基类
//===================================================
class  TsdStandard
{
private:
    TsdCollection *m_Standard;

    TDataComm *m_DataComm;

    AnsiString m_BookMark;
    char       m_Queryed_ID;
    char       m_Action_ID;
    char       m_Found_ID;
    int        m_InsertIndex;

    AnsiString m_QueryString;
    AnsiString m_FilterString;
    AnsiString m_OrderString;

    int __fastcall GetCount();
    int __fastcall GetCurRecNo();
    void __fastcall SetBookMark(AnsiString value);
    AnsiString __fastcall GetBookMark();
    bool __fastcall GetFound();
    bool __fastcall GetBof();
    bool __fastcall GetEof();
    int __fastcall GetIndex();
    AnsiString __fastcall GetKey();
    TADOConnection *get_Connection();
    TApplication *get_Application();

public:
    TsdStandard(TDataComm *DC);
    TsdStandard();
    ~TsdStandard();

    TADOQuery *m_Query;
    TADOStoredProc *m_StoredProc;
    
    void AddNew();
    void Insert(int Index);
    void Edit();
    void FreeRecord();
    virtual void Update();
    virtual void Delete();
    virtual bool Find(AnsiString WhereStr);
    virtual void Execute(AnsiString Param);
    virtual void AddToObject();

    void Cancel();
    virtual int Query();
    void MoveFirst();
    void MoveLast();
    void MoveNext();
    void MovePrious();
    void MoveBy(int Distance);
    bool LocateByIndex(int Index);
    bool LocateByKey(AnsiString Key);
    bool FindKey(AnsiString Key);

    virtual void Check(int IsCheck);
    virtual void BatchCheck(int IsCheck);
    virtual void Close(int IsClose);
    virtual void BatchClose(int IsClose);
    virtual void Revoke(int IsRevoke);
    virtual void BatchRevoke(int IsRevoke);
    virtual void Tally(int IsTally);
    virtual void BatchTally(int IsTally);

    void InitGlobalVar(AnsiString CompanyCode,AnsiString UserCode,AnsiString FMonth,
          AnsiString IMonth,AnsiString PMonth,AnsiString SMonth,AnsiString MMonth,
          AnsiString CMonth,AnsiString EMonth,AnsiString HMonth,
          AnsiString CurrencyCode,AnsiString TaxCode,AnsiString CurDate,AnsiString SysDate);

    __property char CurStatus  = { read = m_Action_ID };
    __property int Count  = { read = GetCount };
    __property int FieldCount={read=GetFieldCount};
    __property AnsiString FieldName[int Index]={read=GetFieldName};
    __property int DataType[int Index]={read=GetDataType};
    __property int CurRecNo  = { read = GetCurRecNo };
    __property AnsiString BookMark  = { read = GetBookMark, write = SetBookMark };
    __property bool Found  = { read = GetFound };
    __property bool Bof = { read = GetBof };
    __property bool Eof = { read = GetEof };
    __property AnsiString FilterString={read=m_FilterString,write=m_FilterString};
    __property AnsiString OrderString={read=m_OrderString,write=m_OrderString};
    __property TADOConnection *ADOConnection = {read=get_Connection};
    __property TApplication *DllApplication = {read=get_Application};
    __property TDataComm *DataComm={read=m_DataComm};
    
public:
    AnsiString g_sdCompanyCode;
    AnsiString g_sdUserCode;
    AnsiString g_sdFMonth;
    AnsiString g_sdIMonth;
    AnsiString g_sdPMonth;
    AnsiString g_sdSMonth;
    AnsiString g_sdMMonth;
    AnsiString g_sdCMonth;
    AnsiString g_sdEMonth;
    AnsiString g_sdHMonth;
    AnsiString g_sdCurrencyCode;
    AnsiString g_sdTaxCode;
    AnsiString g_sdCurDate;
    AnsiString g_sdSysDate;

protected:

    void SetActionID(char Action);

    virtual void BackupValue();
    virtual void RestoreValue();
    virtual void EmptyValue(int Index);
    virtual void BatchLetValue();
    virtual void AssignValue();

    virtual int __fastcall GetFieldCount();
    virtual AnsiString __fastcall GetFieldName(int Index);
    virtual int __fastcall GetDataType(int Index);

    void AddRecord(void * Record, AnsiString Key);
    void InsertRecord(void * Record, AnsiString Key, int Index);
    void DeleteRecord(AnsiString Key);
    void RemoveRecord(int Index);
    void ChangeRecord(void * Record, AnsiString NewKey, AnsiString OldKey);
    void * Records(int Index);
    void * RecordByKey(AnsiString Key);
    void ClearRecord();

    __property int InsertIndex={read=m_InsertIndex};
    __property int Index  = { read = GetIndex };
    __property AnsiString Key  = { read = GetKey };
    __property AnsiString QueryString={read=m_QueryString,write=m_QueryString};

};

//================================================================
//(TsdDetail)单据明细基类
//================================================================

class  TsdDetail
{
private:
    TsdCollection *m_Detail;
    TDataComm *m_DataComm;

    AnsiString m_BookMark;
    char m_Queryed_ID;
    char m_Action_ID;
    char m_Found_ID;
    int m_InsertIndex;

    AnsiString m_QueryString;
    AnsiString m_FilterString;
    AnsiString m_OrderString;

    int __fastcall GetCount();
    int __fastcall GetCurRecNo();
    void __fastcall SetBookMark(AnsiString value);
    AnsiString __fastcall GetBookMark();
    bool __fastcall GetFound();
    bool __fastcall GetBof();
    bool __fastcall GetEof();
    int __fastcall GetIndex();
    AnsiString __fastcall GetKey();
    TADOConnection *get_Connection();
    TApplication *get_Application();
public:
    TsdDetail(TDataComm *DC);
    TsdDetail();
    ~TsdDetail();

    TADOQuery *m_Query;
    TADOStoredProc *m_StoredProc;

    void AddNew();
    void Insert(int Index);
    void Edit();
    void FreeRecord();
    virtual void Update();
    virtual void Delete();
    virtual bool Find(AnsiString WhereStr);
    virtual void Execute(AnsiString Param);
    //virtual void Close();
    //virtual void BatchClose();

    void Cancel();
    virtual int Query();
    void MoveFirst();
    void MoveLast();
    void MoveNext();
    void MovePrious();
    void MoveBy(int Distance);
    bool LocateByIndex(int Index);
    bool LocateByKey(AnsiString Key);
    bool FindKey(AnsiString Key);

    __property char CurStatus  = { read = m_Action_ID };
    __property int Count  = { read = GetCount };
    __property int FieldCount={read=GetFieldCount};
    __property AnsiString FieldName[int Index]={read=GetFieldName};
    __property int DataType[int Index]={read=GetDataType};
    __property int CurRecNo  = { read = GetCurRecNo };
    __property AnsiString BookMark  = { read = GetBookMark, write = SetBookMark };
    __property bool Found  = { read = GetFound };
    __property bool Bof  = { read = GetBof };
    __property bool Eof  = { read = GetEof };
    __property AnsiString FilterString={read=m_FilterString,write=m_FilterString};
    __property AnsiString OrderString={read=m_OrderString,write=m_OrderString};

public:
    virtual void BackupValue();
    virtual void RestoreValue();

protected:
    void SetActionID(char Action);
    virtual void EmptyValue(int Index);
    virtual void BatchLetValue();
    virtual void AssignValue();

    virtual int __fastcall GetFieldCount();
    virtual AnsiString __fastcall GetFieldName(int Index);
    virtual int __fastcall GetDataType(int Index);

public:
    void AddRecord(void * Record, AnsiString Key);
    void InsertRecord(void * Record, AnsiString Key, int Index);
    void DeleteRecord(AnsiString Key);
    void RemoveRecord(int Index);
    void ChangeRecord(void * Record, AnsiString NewKey, AnsiString OldKey);
    void * Records(int Index);
    void * RecordByKey(AnsiString Key);
    void ClearRecord();

    __property int InsertIndex={read=m_InsertIndex};
    __property int Index  = { read = GetIndex };
    __property AnsiString Key  = { read = GetKey };
    __property AnsiString QueryString={read=m_QueryString,write=m_QueryString};
    __property TADOConnection *ADOConnection = {read=get_Connection};
    __property TApplication *DllApplication = {read=get_Application};
    __property TDataComm *DataComm={read=m_DataComm};

};



//================================================================
//(TsdHead)单据头基类
//================================================================

class  TsdHead
{
private:
    TsdCollection *m_Head;
    TDataComm *m_DataComm;

    AnsiString m_BookMark;
    char m_Queryed_ID;
    char m_Action_ID;
    char m_Found_ID;
    int m_InsertIndex;

    AnsiString m_QueryString;
    AnsiString m_FilterString;
    AnsiString m_OrderString;

    int __fastcall GetCount();
    int __fastcall GetCurRecNo();
    void __fastcall SetBookMark(AnsiString value);
    AnsiString __fastcall GetBookMark();
    bool __fastcall GetFound();
    bool __fastcall GetBof();
    bool __fastcall GetEof();
    int __fastcall GetIndex();
    AnsiString __fastcall GetKey();
    TADOConnection *get_Connection();
    TApplication *get_Application();

public:
    TsdHead(TDataComm *DC);
    TsdHead();
    ~TsdHead();

    TADOQuery *m_Query;
    TADOStoredProc *m_StoredProc;

    void AddNew();
    void Insert(int Index);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -