JY_CL.H
上传用户:bjghjy
上传日期:2007-01-07
资源大小:379k
文件大小:8k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. #define WM_JY_INIT WM_USER+20
  2. #define WM_JYCX_RES WM_USER+30
  3. #define WM_JY_RES WM_USER+40
  4. #define JY_CHKUSR_HEAD          (LPSTR)"JYCHKUSR"
  5. #define JY_CHGPWD_HEAD          (LPSTR)"JYCHGPWD"
  6. #define JY_BUYSELL_HEAD         (LPSTR)"JYBUYSELL"
  7. #define JY_CANCEL_HEAD          (LPSTR)"JYCANCEL"
  8. #define JY_YECX_HEAD            (LPSTR)"JYYECX"
  9. #define JY_CJCX_HEAD            (LPSTR)"JYCJCX"
  10. #define JY_WTCX_HEAD            (LPSTR)"JYWTCX"
  11. #define JY_CXEND_HEAD           (LPSTR)"JYCXEND"
  12. #define JY_TIMEOUT_HEAD         (LPSTR)"JYTIMEOUT"
  13. #define JY_ZQSXX_HEAD (LPSTR)"PKRSA"
  14. #define MAX_GDDM_SIZE   10
  15. #define MAX_JYMM_SIZE   6
  16. #define MAX_RQ_SIZE     8
  17. #define MAX_GPDM_SIZE   6
  18. #define MAX_HTHM_SIZE   6
  19. #define MAX_TIME_SIZE   8
  20. #define MAX_JY_WAIT_TIME        35
  21. #define MAX_CANCEL_SENDCOUNT    2
  22. #define MAX_CX_SENDCOUNT        20
  23. #define MAX_ZQS_COUNT 32
  24. typedef struct tag_zqsxx
  25. {
  26. int zqsid[MAX_ZQS_COUNT +1];
  27. char zqsjc[MAX_ZQS_COUNT +1][12 +1];
  28. }ZQSXX, FAR *LPZQSXX;
  29. /////////  检查用户和密码请求
  30. typedef struct tag_PACK_ASK_CHKUSR
  31. {
  32. char jys;                            
  33. int zqsid;
  34. long userId;
  35. char gddm[MAX_GDDM_SIZE+1];            
  36.     char jymm[MAX_JYMM_SIZE+1];         
  37.     int sdHq;
  38. }JY_ASK_CHKUSR, FAR *LPJY_ASK_CHKUSR;
  39. ////////// 检查用户和密码返回
  40. typedef struct tag_PACK_ANS_CHKUSR
  41. {
  42. char flag;                          //if 1,right,if 0 ,then user invalid
  43. char jys;                           
  44. long userId;
  45. char gddm[MAX_GDDM_SIZE+1];         
  46. }JY_ANS_CHKUSR, FAR *LPJY_ANS_CHKUSR;
  47. /////////// 2 修改密码请求
  48. typedef struct tag_PACK_ASK_CHGPWD
  49. {
  50. char jys;                               //
  51. long userId;
  52. char gddm[MAX_GDDM_SIZE+1];             //
  53. //char oldPwd[MAX_JYMM_SIZE+1];
  54. char newPwd[MAX_JYMM_SIZE+1];           //
  55. }JY_ASK_CHGPWD, FAR *LPJY_ASK_CHGPWD;
  56. ///////// 修改密码返回
  57. typedef struct tag_PACK_ANS_CHGPWD
  58. {
  59. char flag;                          // if 0 succeed,if -1 then failed
  60. char jys;                               //
  61. char gddm[MAX_GDDM_SIZE+1];             //
  62. }JY_ANS_CHGPWD, FAR *LPJY_ANS_CHGPWD;
  63.   
  64. ///////// 3 买卖请求
  65. typedef struct tag_PACK_ASK_BUYSELL
  66. {
  67. char  jys;                          
  68. long userId;
  69. char  gddm[MAX_GDDM_SIZE+1];        
  70. char  gpdm[MAX_GPDM_SIZE+1];        
  71. char bs;
  72. long  wtgs;
  73. long wtjg;                          
  74. }JY_ASK_BUYSELL, FAR *LPJY_ASK_BUYSELL;
  75. ///////// 买卖返回
  76. typedef struct tag_PACK_ANS_BUYSELL
  77. {
  78. char  flag;                         //0 succeed,-1 no money,-2 no stock 
  79. char  jys;                          
  80. char  gddm[MAX_GDDM_SIZE+1];        
  81. char  hthm[MAX_HTHM_SIZE+1];        
  82. char bs;
  83. }JY_ANS_BUYSELL, FAR *LPJY_ANS_BUYSELL;
  84. ////////// 4 撤单请求
  85. typedef struct tag_CANCEL
  86. {
  87. char hthm[MAX_HTHM_SIZE+1];
  88. }CANCEL, FAR *LPCANCEL;
  89. typedef struct tag_PACK_ASK_CANCEL
  90. {
  91. char  jys;                        
  92. long userId;
  93. char  gddm[MAX_GDDM_SIZE+1];      
  94. int cancelCount;
  95. CANCEL Cancel[MAX_CANCEL_SENDCOUNT];
  96. }JY_ASK_CANCEL, FAR *LPJY_ASK_CANCEL;
  97. /////////// 4 撤单返回
  98. typedef struct tag_PACK_ANS_CANCEL
  99. {
  100. char  flag[MAX_CANCEL_SENDCOUNT]; //0 succeed,-1 failed
  101. char  jys;                          
  102. char  gddm[MAX_GDDM_SIZE+1];        
  103. }JY_ANS_CANCEL, FAR *LPJY_ANS_CANCEL;
  104. ///////// 5 余额查询请求
  105. typedef struct tag_PACK_ASK_YECX
  106. {
  107. char  jys;
  108. long userId;                         
  109. char  gddm[MAX_GDDM_SIZE+1];        
  110. char  gpdm[MAX_GPDM_SIZE+1];        
  111. }JY_ASK_YECX, FAR *LPJY_ASK_YECX;
  112. typedef struct tag_GPTG
  113. {
  114. char  gpdm[MAX_GPDM_SIZE+1];      
  115. char  kys[12+1], gpye[12+1];                      
  116. char  ghrq[MAX_RQ_SIZE+1];       
  117. }JY_GPTG, FAR *LPJY_GPTG;
  118. ///////// 5 余额查询结果
  119. typedef struct tag_PACK_ANS_YECX
  120. {
  121. char   flag;
  122. char   jys;                     
  123. char   gddm[MAX_GDDM_SIZE+1];   
  124. int    recCount;                
  125. double kys, zjye;
  126. JY_GPTG GpTg[MAX_CX_SENDCOUNT];
  127. }JY_ANS_YECX, FAR *LPJY_ANS_YECX;
  128. /////// 6 成交查询 
  129. typedef struct tag_PACK_ASK_CJCX
  130. {
  131. char  jys;
  132. long userId;                     
  133. char  gddm[MAX_GDDM_SIZE+1];    
  134. char  cjrq[MAX_RQ_SIZE+1];        //YY:MM:DD
  135. char  hthm[MAX_HTHM_SIZE+1];      // IF HTHM IS EMPTY,THEN RUQER ALL CJ
  136. }JY_ASK_CJCX, FAR *LPJY_ASK_CJCX;
  137. typedef struct tag_CJ
  138. {
  139. char  hthm[MAX_HTHM_SIZE+1];      //
  140. char  cjsj[MAX_TIME_SIZE+1];      //HHMISS 
  141. char  mmbz;                       //B,S
  142. char  gpdm[MAX_GPDM_SIZE+1];
  143. char  cjgs[12+1];
  144. char  cjjg[12+1];
  145. }JY_CJ, FAR *LPJY_CJ;
  146. ////// 6 成交查询结果
  147. typedef struct tag_PACK_ANS_CJCX
  148. {
  149. char  flag;
  150. char  jys;                        
  151. char  gddm[MAX_GDDM_SIZE+1];   
  152. int   recCount;
  153. char  cjrq[MAX_RQ_SIZE+1];         //YY:MM:DD
  154. JY_CJ Cj[MAX_CX_SENDCOUNT];
  155. }JY_ANS_CJCX, FAR *LPJY_ANS_CJCX;
  156. /////// 7 委托查询请求
  157. typedef struct tag_PACK_ASK_WTCX
  158. {
  159. char  jys;
  160. long userId;                       
  161. char  gddm[MAX_GDDM_SIZE+1];    //
  162. char  wtrq[MAX_RQ_SIZE+1];      //YY:MM:DD
  163. char  hthm[MAX_HTHM_SIZE+1];    // IF HTHM IS EMPTY,THEN RUQER ALL WT 
  164. char cdcx;
  165. }JY_ASK_WTCX, FAR *LPJY_ASK_WTCX;
  166. typedef struct tag_WT
  167. {
  168. char  hthm[MAX_GPDM_SIZE+1];    //
  169. char  wtsj[MAX_TIME_SIZE+1];    //HHMISS         
  170. char  mmbz;                     //B,S
  171. char  gpdm[MAX_GPDM_SIZE+1];
  172. char  wtgs[12+1];               //if wtgs<0 then is cancel
  173. char  wtjg[12+1];
  174. }JY_WT, FAR *LPJY_WT;
  175. ///////// 7 委托查询结果
  176. typedef struct tag_PACK_ANS_WTCX
  177. {
  178. char  flag;
  179. char  jys;                      
  180. char  gddm[MAX_GDDM_SIZE+1];  
  181. int   recCount;
  182. char  wtrq[MAX_RQ_SIZE+1];       //YYMMDD
  183. JY_WT Wt[MAX_CX_SENDCOUNT];
  184. }JY_ANS_WTCX, FAR *LPJY_ANS_WTCX;
  185.     
  186. // defeine comm dbf file                                     
  187. #define fld_ASKNO       0
  188. #define fld_ANSNO       1
  189. #define fld_STKNO       2
  190. #define fld_GDDM        3
  191. #define fld_JYMM    4
  192. #define fld_GPDM    5
  193. #define fld_WTGS    6
  194. #define fld_WTJG    7
  195. #define fld_HTHM    8
  196. #define fld_DATE    9   
  197. #define fld_STAT        10
  198. #define REQ_NULL                '0'
  199. #define REQ_CHKUSR              '1'
  200. #define REQ_CHGPWD              '2'
  201. #define REQ_BUY              '3'
  202. #define REQ_SELL         '4'
  203. #define REQ_CANCEL              '5'
  204. #define REQ_YECX                '6'
  205. #define REQ_CJCX                '7'
  206. #define REQ_WTCX                '8'
  207. #define ANS_SUCC                '0' 
  208. #define ANS_TIME_OUT            'A'
  209. #define ANS_SYS_ERR             'B'
  210. #define ANS_NO_PRIV             'C'
  211. #define ANS_NO_GDDM             'D'
  212. #define ANS_CANCEL_FAILE        'E'
  213. #define ANS_NO_DATA_FOUND 'F'
  214. #define ANS_GDDM_USE            'I'
  215. #define ANS_SUSP_REQ 'J'
  216. #define ANS_CX_END -50
  217. #define ANS_UNKOWN              -100
  218. #define JY_FLAG_RESET           -200
  219. #define MAX_WAIT_TIME   20
  220. void CenterWindow(HWND hDlg);
  221. void DrawFrame(HDC hDC, HWND hWnd);
  222. BOOL JyInit(void);
  223. void JyExit(void);
  224. void JyTimer(void);
  225. int Jy(void);
  226. int DlgJy(void);
  227. int DlgSelectJys(void);
  228. int DlgSelectZqs(void);
  229. int DlgChkUsr();
  230. int DlgChgPwd();
  231. int DlgBuySell(int bs);
  232. int DlgCancel();
  233. int DlgYecx();
  234. int DlgCjcx();
  235. int DlgWtcx();       
  236. int InitQsInfo(void);
  237. int JyQs;
  238. char Addr[MAX_ZQS_COUNT][15];
  239. JY_ANS_CHKUSR curChkUsrRes;
  240. JY_ASK_CHKUSR curChkUsrData;
  241. HWND ghDlgJy;
  242. ZQSXX Qsxx;
  243. LRESULT CALLBACK SelJysDlgProc(HWND, UINT, WPARAM, LPARAM);
  244. LRESULT CALLBACK SelZqsDlgProc(HWND, UINT, WPARAM ,LPARAM);
  245. LRESULT CALLBACK ChkUsrDlgProc(HWND, UINT, WPARAM, LPARAM);
  246. LRESULT CALLBACK AskPwdDlgProc(HWND, UINT, WPARAM, LPARAM);
  247. LRESULT CALLBACK ChgPwdDlgProc(HWND, UINT, WPARAM, LPARAM);
  248. LRESULT CALLBACK JyDlgProc(HWND, UINT, WPARAM, LPARAM);
  249. LRESULT CALLBACK BuySellDlgProc(HWND, UINT,     WPARAM, LPARAM);
  250. LRESULT CALLBACK CancelDlgProc(HWND, UINT, WPARAM, LPARAM);
  251. LRESULT CALLBACK YecxDlgProc(HWND, UINT, WPARAM, LPARAM);
  252. LRESULT CALLBACK WtcxDlgProc(HWND, UINT, WPARAM, LPARAM);
  253. LRESULT CALLBACK CjcxDlgProc(HWND, UINT, WPARAM, LPARAM);