//--------------------------------------------------------------------------- #ifndef RBmasterMainH #define RBmasterMainH //--------------------------------------------------------------------------- #include #include #include #include #include #include #include #include #include "CEF4DelphiVCLRTL.hpp" #include "GlobalUnit.h" #include #include #include "InfoFrameUnit.h" #include #include #include #include #include "TableUnit.h" #include #include using namespace std; //--------------------------------------------------------------------------- class TMainForm : public TForm { __published: // IDE-managed Components TBitBtn *m_btnSetting; TScrollBox *m_panWeb; TComboBox *m_cbRoad; TToggleSwitch *m_tsMode; TComboBox *m_cbBetWays; TLabel *m_lblBetWayEdit; TPanel *m_panTopBar; TLabel *m_lblBetChipEdit; TComboBox *m_cbBetChips; TBitBtn *m_btnChart; TBitBtn *m_btnLogs; TBitBtn *m_btnStart; TBitBtn *m_btnTables; TBitBtn *m_btnLogin; TLabeledEdit *m_leChipMul; TLabel *m_lblTips; TBevel *Bevel1; TBevel *Bevel2; TBevel *Bevel3; TBevel *Bevel4; TBitBtn *m_btnManual; TBitBtn *m_btnReset; TImage *m_imgBack; TLabel *m_lblAnnonce; TPopupMenu *m_pmCopyAccount; TMenuItem *m_miCopyAccount; TInfoFrame *m_frmInfo; TPopupMenu *m_pmLogin; TMenuItem *m_miPA; TMenuItem *m_miAB; TMenuItem *m_miDB; TPopupMenu *m_pmRight; TMenuItem *m_miRun; TMenuItem *m_miRunOnly; TMenuItem *m_miStop; TMenuItem *N1; TMenuItem *N2; TMenuItem *m_miUnselect; TMenuItem *m_miStopOthers; TMenuItem *N3; TMenuItem *m_miSpec; TMenuItem *N4; void __fastcall FormCreate(TObject *Sender); void __fastcall FormResize(TObject *Sender); void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); void __fastcall FormShow(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall OnStartClick(TObject *Sender); void __fastcall WebMouseWheelDown(TObject *Sender, TShiftState Shift, TPoint &MousePos, bool &Handled); void __fastcall WebMouseWheelUp(TObject *Sender, TShiftState Shift, TPoint &MousePos, bool &Handled); void __fastcall OnRoadChange(TObject *Sender); void __fastcall OnTablesClick(TObject *Sender); void __fastcall OnModeClick(TObject *Sender); void __fastcall OnPolicyEditClick(TObject *Sender); void __fastcall OnPolicyChange(TObject *Sender); void __fastcall OnLoginClick(TObject *Sender); void __fastcall OnChipMulExit(TObject *Sender); void __fastcall OnLogsClick(TObject *Sender); void __fastcall OnChartClick(TObject *Sender); void __fastcall OnSettingClick(TObject *Sender); void __fastcall OnResetClick(TObject *Sender); void __fastcall OnManualClick(TObject *Sender); void __fastcall OnChipMulKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall OnAccountClick(TObject *Sender); void __fastcall FormActivate(TObject *Sender); void __fastcall OnLoginMenuClick(TObject *Sender); void __fastcall FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall OnComboCloseUp(TObject *Sender); void __fastcall WebMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall WebMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall WebMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall OnPMRightClick(TObject *Sender); void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); private: // User declarations HINSTANCE m_hPMDll; int m_iWSVelo, m_iWS; String m_loginValues[6]; String m_url; String m_sActCode; //授权码 int m_tExpire; //授权有效期 UINT m_idDevice; //设备号 WORD m_version[4]; TThread *m_vlThread, //Velo线程 *m_jsThread, //JS处理线程 *m_urThread, //用户鉴权线程 *m_dpThread; //数据解析线程 TTimer *m_pDPTimer, //数据处理定时器 *m_pUtilTimer; //工具定时器,Tag区分用途 int m_tmChart, //图表定时计数 m_tmWebFocus, //网页激活定时计数 // m_tmWebTimeout, //网页无数据超时 m_tmCount, //秒计数器 m_tmLogon, //登录时间 m_tmDailyLogin, //每日登录时间 m_tmDailyReport, //每日上报时间 m_tmDeadPause, //爆缆暂停定时计数 m_tmBetPause; //止赢止损暂停定时计数 bool m_bWebLogon, m_bClosing, m_bManual; int m_nTabCols, m_nTabGap; int m_iWindowState, m_nLeft, m_nTop, m_nWidth, m_nHeight; TChromium *m_chrm; TStringList* m_v8Values; HANDLE m_hV8Sema; HANDLE m_hV8ValueSema; // bool m_bV8Waiting; vector m_aTables; vector m_aABThreads; //自动下注线程组 int m_nTabShow, m_nTabRun; bool m_bDragReady, //鼠标拖动进行选择操作 m_bDraging; TTimer *m_pDragTimer; //拖动滚屏定时器 int m_iLastSel; //最后单独选中台桌 set m_aSelTabs; //选中台桌集合 int __fastcall TryUpdate(); int __fastcall InitGlobalVars(); void __fastcall DPTimerProc(TObject* Sender); void __fastcall UtilTimerProc(TObject* Sender); bool __fastcall WebsiteVelocity(); void __fastcall InitBrowser(); void __fastcall FileUserWeb( bool bSave=false ); void __fastcall FileGame( bool bSave=false ); void __fastcall FileUserVars( bool bSave=false ); void __fastcall ClearABThread(int hThread=0); void __fastcall ClearDPThread(); void __fastcall ClearJSThread(); void __fastcall ClearVLThread(); void __fastcall ClearURThread(); void __fastcall ClearUtilTimer(); void __fastcall OnWSConnectError(); void __fastcall ResetGame(); void __fastcall GameOn(); void __fastcall GameOff(int iReason=0); //用户停止或退出 void __fastcall ManualOn(); void __fastcall ManualOff(); void __fastcall StartJSThread(int iOp); void __fastcall ResetTableGrid(); void __fastcall ClearGames(); Int8 __fastcall ShowSettingForm(); void __fastcall ChangeWebsite(); int __fastcall GetTimeCount(); void __fastcall RBReport(); void __fastcall LoadUrl(); void __fastcall RecalcMultiRate(); void __fastcall SetTableFocus(); int __fastcall GetTableByPos(int x, int y); void __fastcall SelectTables(int x1, int y1, int x2, int y2); void __fastcall ClearSelect(); void __fastcall SetScrollTimer(int y); void __fastcall ScrollTimerProc(TObject* Sender); void __fastcall ReleaseV8ValueSema(); void __fastcall GetDeviceId(); void __fastcall Logout(); void __fastcall SetExpireJS(); bool __fastcall StopWebLoad(); void __fastcall WebAfterCreated(TObject *Sender, const _di_ICefBrowser browser); void __fastcall WebBeforeClose(TObject* Sender, const _di_ICefBrowser browse); void __fastcall WebBeforeContextMenu(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, const _di_ICefContextMenuParams params, const _di_ICefMenuModel model); void __fastcall WebBeforePopup(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, int popup_id, const ustring targetUrl, const ustring targetFrameName, TCefWindowOpenDisposition targetDisposition, bool userGesture, const TCefPopupFeatures &popupFeatures, TCefWindowInfo &windowInfo, _di_ICefClient &client, TCefBrowserSettings &settings, _di_ICefDictionaryValue &extra_info, bool &noJavascriptAccess, bool &Result); void __fastcall WebLoadEnd(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, int httpStatusCode); void __fastcall WebProcessMessageReceived(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, TCefProcessId sourceProcess, const _di_ICefProcessMessage message, /* out */ bool &Result); void __fastcall WebResourceLoadComplete(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, const _di_ICefRequest request, const _di_ICefResponse response, TCefUrlRequestStatus status, __int64 receivedContentLength); // void __fastcall WebAddressChange(TObject* Sender, const _di_ICefBrowser browser, // const _di_ICefFrame frame, const ustring url); void __fastcall WebJsdialog(TObject* Sender, const _di_ICefBrowser browser, const ustring originUrl, TCefJsDialogType dialogType, const ustring messageText, const ustring defaultPromptText, _di_ICefJsDialogCallback callback, /* out */ bool &suppressMessage, /* out */ bool &Result); void __fastcall WebLoadError(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, TCefErrorCode errorCode, const ustring errorText, const ustring failedUrl); // void __fastcall WebPaint(TObject* Sender, const _di_ICefBrowser browser, TCefPaintElementType type_, // NativeUInt dirtyRectsCount, const PCefRectArray dirtyRects, const void * buffer, // int width, int height); // void __fastcall WebGetViewRect(TObject* Sender, const _di_ICefBrowser browser, TCefRect &rect); void __fastcall WebBeforeResourceLoad(TObject* Sender, const _di_ICefBrowser browser, const _di_ICefFrame frame, const _di_ICefRequest request, const _di_ICefCallback callback, /* out */ TCefReturnValue &Result); //消息处理 MESSAGE void __fastcall FormMove(TWMMove &msg); MESSAGE void __fastcall SystemMenuCommand(TWMMenuSelect &Msg); MESSAGE void __fastcall UMAutoBetEnd(TMessage &msg); MESSAGE void __fastcall UMRestoreWindow(TMessage &msg); MESSAGE void __fastcall UMVelocity(TMessage &msg); MESSAGE void __fastcall UMJsHandled(TMessage &msg); MESSAGE void __fastcall UMCheckCEF(TMessage &msg); MESSAGE void __fastcall UMSetBet(TMessage &msg); MESSAGE void __fastcall UMAddTable(TMessage &msg); MESSAGE void __fastcall UMStatus(TMessage &msg); MESSAGE void __fastcall UMWebLogin(TMessage &msg); MESSAGE void __fastcall UMHttpReturn(TMessage &msg); MESSAGE void __fastcall UMUserConfirm(TMessage &msg); MESSAGE void __fastcall UMWebDead(TMessage &msg); MESSAGE void __fastcall UMPolicyChanged(TMessage &msg); MESSAGE void __fastcall UMLogUpdate(TMessage &msg); MESSAGE void __fastcall UMStateUpdate(TMessage &msg); MESSAGE void __fastcall UMChartUpdate(TMessage &msg); MESSAGE void __fastcall UMEnterTable(TMessage &msg); MESSAGE void __fastcall UMFloatBet(TMessage &msg); MESSAGE void __fastcall UMFloatDead(TMessage &msg); MESSAGE void __fastcall UMGlobalBet(TMessage &msg); MESSAGE void __fastcall UMGlobalDead(TMessage &msg); MESSAGE void __fastcall UMShowActCode(TMessage &msg); MESSAGE void __fastcall UMOpenManual(TMessage &msg); BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_MOVE, TWMMove, FormMove) MESSAGE_HANDLER(WM_SYSCOMMAND,TWMMenuSelect,SystemMenuCommand) MESSAGE_HANDLER(UM_AUTOBETEND, TMessage, UMAutoBetEnd) MESSAGE_HANDLER(UM_RESTORE, TMessage, UMRestoreWindow) MESSAGE_HANDLER(UM_VELOCITY, TMessage, UMVelocity) MESSAGE_HANDLER(UM_JSHANDLED, TMessage, UMJsHandled) MESSAGE_HANDLER(UM_CHECKCEF, TMessage, UMCheckCEF) MESSAGE_HANDLER(UM_SETBET, TMessage, UMSetBet) MESSAGE_HANDLER(UM_ADDTABLE, TMessage, UMAddTable) MESSAGE_HANDLER(UM_STATUS, TMessage, UMStatus) MESSAGE_HANDLER(UM_WEBLOGIN, TMessage, UMWebLogin) MESSAGE_HANDLER(UM_USERCONFIRM, TMessage, UMUserConfirm) MESSAGE_HANDLER(UM_HTTPRETURN, TMessage, UMHttpReturn) MESSAGE_HANDLER(UM_WEBDEAD, TMessage, UMWebDead) MESSAGE_HANDLER(UM_POLICYCHANGED, TMessage, UMPolicyChanged) MESSAGE_HANDLER(UM_LOG_UPDATE, TMessage, UMLogUpdate) MESSAGE_HANDLER(UM_STATE_UPDATE, TMessage, UMStateUpdate) MESSAGE_HANDLER(UM_CHART_UPDATE, TMessage, UMChartUpdate) MESSAGE_HANDLER(UM_ENTER_TABLE, TMessage, UMEnterTable) MESSAGE_HANDLER(UM_FLOAT_BET, TMessage, UMFloatBet) MESSAGE_HANDLER(UM_FLOAT_DEAD, TMessage, UMFloatDead) MESSAGE_HANDLER(UM_GLOBAL_BET, TMessage, UMGlobalBet) MESSAGE_HANDLER(UM_GLOBAL_DEAD, TMessage, UMGlobalDead) MESSAGE_HANDLER(UM_SUBFORMSHOWN, TMessage, UMShowActCode) MESSAGE_HANDLER(UM_OPENMAUAL, TMessage, UMOpenManual) END_MESSAGE_MAP(TForm) protected: virtual void __fastcall CreateParams(TCreateParams &Params); public: // User declarations String m_strStatus; __fastcall TMainForm(TComponent* Owner); _di_ICefFrame __fastcall GetCefFrame( int type ); TStringList* __fastcall GetJQValue( String& str, _di_ICefFrame frame ); int __fastcall IsPolicyInUse(int type, int iPolicy); // bool __fastcall IsGameOn(){return m_bGameOn && !m_tmBetPause;}; }; //--------------------------------------------------------------------------- extern PACKAGE TMainForm *MainForm; //--------------------------------------------------------------------------- #endif