w_set_server.srw 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. $PBExportHeader$w_set_server.srw
  2. forward
  3. global type w_set_server from w_publ_base
  4. end type
  5. type st_7 from statictext within w_set_server
  6. end type
  7. type sle_server from singlelineedit within w_set_server
  8. end type
  9. type st_5 from statictext within w_set_server
  10. end type
  11. type sle_logid from singlelineedit within w_set_server
  12. end type
  13. type st_6 from statictext within w_set_server
  14. end type
  15. type sle_logpass from singlelineedit within w_set_server
  16. end type
  17. type cb_ok from uo_imflatbutton within w_set_server
  18. end type
  19. type cb_connect from uo_imflatbutton within w_set_server
  20. end type
  21. type gb_1 from groupbox within w_set_server
  22. end type
  23. end forward
  24. global type w_set_server from w_publ_base
  25. integer width = 2263
  26. integer height = 676
  27. string title = "服务器设置"
  28. boolean minbox = false
  29. windowtype windowtype = response!
  30. long backcolor = 16777215
  31. boolean center = true
  32. st_7 st_7
  33. sle_server sle_server
  34. st_5 st_5
  35. sle_logid sle_logid
  36. st_6 st_6
  37. sle_logpass sle_logpass
  38. cb_ok cb_ok
  39. cb_connect cb_connect
  40. gb_1 gb_1
  41. end type
  42. global w_set_server w_set_server
  43. type variables
  44. long ins_ifguid = 0
  45. long ins_rslt = 0
  46. end variables
  47. on w_set_server.create
  48. int iCurrent
  49. call super::create
  50. this.st_7=create st_7
  51. this.sle_server=create sle_server
  52. this.st_5=create st_5
  53. this.sle_logid=create sle_logid
  54. this.st_6=create st_6
  55. this.sle_logpass=create sle_logpass
  56. this.cb_ok=create cb_ok
  57. this.cb_connect=create cb_connect
  58. this.gb_1=create gb_1
  59. iCurrent=UpperBound(this.Control)
  60. this.Control[iCurrent+1]=this.st_7
  61. this.Control[iCurrent+2]=this.sle_server
  62. this.Control[iCurrent+3]=this.st_5
  63. this.Control[iCurrent+4]=this.sle_logid
  64. this.Control[iCurrent+5]=this.st_6
  65. this.Control[iCurrent+6]=this.sle_logpass
  66. this.Control[iCurrent+7]=this.cb_ok
  67. this.Control[iCurrent+8]=this.cb_connect
  68. this.Control[iCurrent+9]=this.gb_1
  69. end on
  70. on w_set_server.destroy
  71. call super::destroy
  72. destroy(this.st_7)
  73. destroy(this.sle_server)
  74. destroy(this.st_5)
  75. destroy(this.sle_logid)
  76. destroy(this.st_6)
  77. destroy(this.sle_logpass)
  78. destroy(this.cb_ok)
  79. destroy(this.cb_connect)
  80. destroy(this.gb_1)
  81. end on
  82. event open;call super::open;sle_logid.Text = ProfileString (sys_inifilename, "database", "logid", "SA")
  83. sle_logpass.Text = f_psw_bczh(ProfileString (sys_inifilename, "database", "LogPassWord", ""),1,sys_power_key)
  84. sle_server.Text = ProfileString (sys_inifilename, "database", "servername", "127.0.0.1")
  85. IF sle_server.Text = "" THEN
  86. sle_server.Text = "127.0.0.1"
  87. END IF
  88. IF sle_logid.Text = "" THEN
  89. sle_logid.Text = "SA"
  90. END IF
  91. ins_ifguid = Message.DoubleParm
  92. IF IsNull(ins_ifguid) THEN ins_ifguid = 0
  93. IF ins_ifguid = 1 THEN
  94. This.Title = '1.' + This.Title
  95. gb_1.Text = '1.' + This.gb_1.Text
  96. cb_ok.Text = '下一步'
  97. cb_ok.normalpicname = 'p6.bmp'
  98. cb_ok.of_init_draw()
  99. cb_ok.of_paint()
  100. cb_ok.TriggerEvent('ue_textchange')
  101. END IF
  102. end event
  103. event close;call super::close;closewithreturn(this, ins_rslt)
  104. end event
  105. type cb_func from w_publ_base`cb_func within w_set_server
  106. boolean visible = false
  107. end type
  108. type cb_exit from w_publ_base`cb_exit within w_set_server
  109. integer x = 1838
  110. integer y = 472
  111. end type
  112. type st_7 from statictext within w_set_server
  113. integer x = 146
  114. integer y = 128
  115. integer width = 256
  116. integer height = 60
  117. boolean bringtotop = true
  118. integer textsize = -8
  119. integer weight = 400
  120. fontpitch fontpitch = variable!
  121. fontfamily fontfamily = swiss!
  122. string facename = "MS Sans Serif"
  123. long textcolor = 41943040
  124. long backcolor = 16777215
  125. boolean enabled = false
  126. string text = "服务器:"
  127. alignment alignment = right!
  128. boolean focusrectangle = false
  129. end type
  130. type sle_server from singlelineedit within w_set_server
  131. integer x = 416
  132. integer y = 116
  133. integer width = 1655
  134. integer height = 80
  135. integer taborder = 130
  136. boolean bringtotop = true
  137. integer textsize = -8
  138. integer weight = 400
  139. fontpitch fontpitch = variable!
  140. fontfamily fontfamily = swiss!
  141. string facename = "MS Sans Serif"
  142. long textcolor = 41943040
  143. boolean autohscroll = false
  144. borderstyle borderstyle = stylelowered!
  145. end type
  146. type st_5 from statictext within w_set_server
  147. integer x = 146
  148. integer y = 228
  149. integer width = 256
  150. integer height = 60
  151. boolean bringtotop = true
  152. integer textsize = -8
  153. integer weight = 400
  154. fontpitch fontpitch = variable!
  155. fontfamily fontfamily = swiss!
  156. string facename = "MS Sans Serif"
  157. long textcolor = 41943040
  158. long backcolor = 16777215
  159. boolean enabled = false
  160. string text = "登录 ID:"
  161. alignment alignment = right!
  162. boolean focusrectangle = false
  163. end type
  164. type sle_logid from singlelineedit within w_set_server
  165. integer x = 416
  166. integer y = 216
  167. integer width = 1655
  168. integer height = 80
  169. integer taborder = 140
  170. boolean bringtotop = true
  171. integer textsize = -8
  172. integer weight = 400
  173. fontpitch fontpitch = variable!
  174. fontfamily fontfamily = swiss!
  175. string facename = "MS Sans Serif"
  176. long textcolor = 41943040
  177. boolean autohscroll = false
  178. borderstyle borderstyle = stylelowered!
  179. end type
  180. type st_6 from statictext within w_set_server
  181. integer x = 146
  182. integer y = 320
  183. integer width = 256
  184. integer height = 60
  185. boolean bringtotop = true
  186. integer textsize = -8
  187. integer weight = 400
  188. fontpitch fontpitch = variable!
  189. fontfamily fontfamily = swiss!
  190. string facename = "MS Sans Serif"
  191. long textcolor = 41943040
  192. long backcolor = 16777215
  193. boolean enabled = false
  194. string text = "登录 口令:"
  195. alignment alignment = right!
  196. boolean focusrectangle = false
  197. end type
  198. type sle_logpass from singlelineedit within w_set_server
  199. integer x = 416
  200. integer y = 312
  201. integer width = 1655
  202. integer height = 80
  203. integer taborder = 150
  204. boolean bringtotop = true
  205. integer textsize = -8
  206. integer weight = 400
  207. fontpitch fontpitch = variable!
  208. fontfamily fontfamily = swiss!
  209. string facename = "MS Sans Serif"
  210. long textcolor = 41943040
  211. boolean autohscroll = false
  212. boolean password = true
  213. borderstyle borderstyle = stylelowered!
  214. end type
  215. type cb_ok from uo_imflatbutton within w_set_server
  216. integer x = 1426
  217. integer y = 472
  218. integer width = 311
  219. integer height = 96
  220. integer taborder = 20
  221. boolean bringtotop = true
  222. string normalpicname = "ok.bmp"
  223. end type
  224. event clicked;call super::clicked;SetProfileString (sys_inifilename, "database", "logid", sle_logid.Text)
  225. SetProfileString (sys_inifilename, "database", "LogPassWord", f_psw_bczh(sle_logpass.Text,0,sys_power_key))
  226. SetProfileString (sys_inifilename, "database", "servername", sle_server.Text)
  227. ins_rslt = 1
  228. close(parent)
  229. end event
  230. type cb_connect from uo_imflatbutton within w_set_server
  231. integer x = 283
  232. integer y = 472
  233. integer width = 315
  234. integer height = 96
  235. integer taborder = 90
  236. boolean bringtotop = true
  237. string text = "测试连接"
  238. end type
  239. event clicked;call super::clicked;IF Trim(sle_server.Text) = '' THEN
  240. MessageBox('系统提示','请输入服务器!',information!,OK!)
  241. RETURN
  242. END IF
  243. IF Trim(sle_logid.Text) = '' THEN
  244. MessageBox('系统提示','请输入登陆ID!',information!,OK!)
  245. RETURN
  246. END IF
  247. string ls_database = "master"
  248. Open(w_sys_wait)
  249. w_sys_wait.wf_set_msg("正在尝试连接数据库,此过程预计需要用时1分钟...")
  250. Transaction db_Transaction
  251. db_Transaction = Create Transaction
  252. db_Transaction.DBMS = "SNC SQL Native Client(OLE DB)"
  253. db_Transaction.Database = ls_database
  254. db_Transaction.UserID = sle_logid.Text
  255. db_Transaction.DBPass = sle_logpass.Text
  256. db_Transaction.LogID = sle_logid.Text
  257. db_Transaction.LogPass = sle_logpass.Text
  258. db_Transaction.ServerName = sle_server.Text
  259. db_Transaction.Lock = "RU"
  260. db_Transaction.AutoCommit = False
  261. db_Transaction.DBParm = "Database= '" + ls_database + "',PBTrimCharColumns='YES'"
  262. CONNECT Using db_Transaction;
  263. Int rslt = 1
  264. String arg_msg = ''
  265. IF db_Transaction.SQLCode < 0 THEN
  266. rslt = 0
  267. arg_msg = "连接数据库失败!"
  268. IF Pos(db_Transaction.SQLErrText, "'"+sle_logid.Text+"'") > 0 THEN
  269. arg_msg = arg_msg + "用户密码错误!"
  270. sle_logpass.SetFocus()
  271. else
  272. arg_msg = arg_msg + "用户密码错误!~r~n"+db_Transaction.SQLErrText
  273. END IF
  274. IF Pos(db_Transaction.SQLErrText, "'"+ls_database+"'") > 0 THEN
  275. rslt = 1
  276. END IF
  277. ELSE
  278. rslt = 1
  279. END IF
  280. DISCONNECT Using db_Transaction;
  281. Destroy db_Transaction;
  282. Close(w_sys_wait)
  283. IF rslt = 0 THEN
  284. MessageBox("系统提示",arg_msg)
  285. ELSE
  286. MessageBox("系统提示","连接数据库成功!")
  287. END IF
  288. end event
  289. type gb_1 from groupbox within w_set_server
  290. integer x = 18
  291. integer y = 48
  292. integer width = 2217
  293. integer height = 388
  294. integer taborder = 270
  295. integer textsize = -9
  296. integer weight = 400
  297. fontcharset fontcharset = gb2312charset!
  298. fontpitch fontpitch = variable!
  299. string facename = "宋体"
  300. long textcolor = 33554432
  301. long backcolor = 16777215
  302. string text = "服务器设置"
  303. end type