314 lines
12 KiB
C++
314 lines
12 KiB
C++
//---------------------------------------------------------------------------
|
|
|
|
#ifndef RBmasterMainH
|
|
#define RBmasterMainH
|
|
//---------------------------------------------------------------------------
|
|
#include <System.Classes.hpp>
|
|
#include <Vcl.Controls.hpp>
|
|
#include <Vcl.StdCtrls.hpp>
|
|
#include <Vcl.Forms.hpp>
|
|
#include <Vcl.Buttons.hpp>
|
|
#include <Vcl.ExtCtrls.hpp>
|
|
#include <Vcl.ComCtrls.hpp>
|
|
#include <Vcl.Grids.hpp>
|
|
|
|
#include "CEF4DelphiVCLRTL.hpp"
|
|
#include "GlobalUnit.h"
|
|
#include <Vcl.Mask.hpp>
|
|
#include <Vcl.WinXCtrls.hpp>
|
|
#include "InfoFrameUnit.h"
|
|
#include <Vcl.TitleBarCtrls.hpp>
|
|
#include <Vcl.Imaging.jpeg.hpp>
|
|
#include <Vcl.Imaging.pngimage.hpp>
|
|
#include <Vcl.Menus.hpp>
|
|
#include "TableUnit.h"
|
|
|
|
#include <vector>
|
|
#include <set>
|
|
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<TTableFrame*> m_aTables;
|
|
vector<TThread*> m_aABThreads; //自动下注线程组
|
|
int m_nTabShow, m_nTabRun;
|
|
|
|
bool m_bDragReady, //鼠标拖动进行选择操作
|
|
m_bDraging;
|
|
TTimer *m_pDragTimer; //拖动滚屏定时器
|
|
int m_iLastSel; //最后单独选中台桌
|
|
set<int> 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
|