w_sentdataout_print.srw 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. $PBExportHeader$w_sentdataout_print.srw
  2. $PBExportComments$数据发送窗口
  3. forward
  4. global type w_sentdataout_print from w_publ_base
  5. end type
  6. type cb_backup from uo_imflatbutton within w_sentdataout_print
  7. end type
  8. type st_1 from statictext within w_sentdataout_print
  9. end type
  10. type sle_filename from singlelineedit within w_sentdataout_print
  11. end type
  12. type cb_ch from commandbutton within w_sentdataout_print
  13. end type
  14. type gb_1 from groupbox within w_sentdataout_print
  15. end type
  16. type ddlb_dataformat from dropdownlistbox within w_sentdataout_print
  17. end type
  18. type ddlb_1 from dropdownlistbox within w_sentdataout_print
  19. end type
  20. type st_2 from statictext within w_sentdataout_print
  21. end type
  22. end forward
  23. global type w_sentdataout_print from w_publ_base
  24. integer width = 2121
  25. integer height = 628
  26. string title = "数据发送"
  27. boolean minbox = false
  28. windowtype windowtype = response!
  29. cb_backup cb_backup
  30. st_1 st_1
  31. sle_filename sle_filename
  32. cb_ch cb_ch
  33. gb_1 gb_1
  34. ddlb_dataformat ddlb_dataformat
  35. ddlb_1 ddlb_1
  36. st_2 st_2
  37. end type
  38. global w_sentdataout_print w_sentdataout_print
  39. type variables
  40. DATAWINDOW OBJ_DW
  41. INT ddlb_dataformat_INDEX=1
  42. end variables
  43. on w_sentdataout_print.create
  44. int iCurrent
  45. call super::create
  46. this.cb_backup=create cb_backup
  47. this.st_1=create st_1
  48. this.sle_filename=create sle_filename
  49. this.cb_ch=create cb_ch
  50. this.gb_1=create gb_1
  51. this.ddlb_dataformat=create ddlb_dataformat
  52. this.ddlb_1=create ddlb_1
  53. this.st_2=create st_2
  54. iCurrent=UpperBound(this.Control)
  55. this.Control[iCurrent+1]=this.cb_backup
  56. this.Control[iCurrent+2]=this.st_1
  57. this.Control[iCurrent+3]=this.sle_filename
  58. this.Control[iCurrent+4]=this.cb_ch
  59. this.Control[iCurrent+5]=this.gb_1
  60. this.Control[iCurrent+6]=this.ddlb_dataformat
  61. this.Control[iCurrent+7]=this.ddlb_1
  62. this.Control[iCurrent+8]=this.st_2
  63. end on
  64. on w_sentdataout_print.destroy
  65. call super::destroy
  66. destroy(this.cb_backup)
  67. destroy(this.st_1)
  68. destroy(this.sle_filename)
  69. destroy(this.cb_ch)
  70. destroy(this.gb_1)
  71. destroy(this.ddlb_dataformat)
  72. destroy(this.ddlb_1)
  73. destroy(this.st_2)
  74. end on
  75. event open;call super::open;OBJ_DW=Message.PowerObjectParm
  76. IF OBJ_DW.DATAOBJECT='' THEN CLOSE(THIS)
  77. ddlb_1.selectitem(2)
  78. end event
  79. type cb_func from w_publ_base`cb_func within w_sentdataout_print
  80. boolean visible = false
  81. integer x = 64
  82. integer y = 388
  83. boolean enabled = false
  84. end type
  85. type cb_exit from w_publ_base`cb_exit within w_sentdataout_print
  86. integer x = 1138
  87. integer y = 388
  88. integer width = 320
  89. end type
  90. type cb_backup from uo_imflatbutton within w_sentdataout_print
  91. integer x = 453
  92. integer y = 388
  93. integer width = 320
  94. integer height = 96
  95. integer taborder = 60
  96. string text = "发送"
  97. end type
  98. event clicked;call super::clicked;//IF NOT f_power_ind(sys_func_print_sentdataout) THEN
  99. // MessageBox(publ_operator,'你没有使用权限!')
  100. // RETURN
  101. //END IF
  102. Integer SAVE_RSLT = 0
  103. IF ddlb_dataformat_INDEX <> 4 AND Len(Trim(sle_filename.Text)) <= 5 THEN
  104. MessageBox('错误','请检查文件名!')
  105. RETURN
  106. END IF
  107. IF FileExists(sle_filename.Text) THEN
  108. IF MessageBox("系统提示","文件"+sle_filename.Text+"已经存在,是否覆盖该文件?",Question!,YesNo!,2) = 2 THEN
  109. RETURN
  110. END IF
  111. FileDelete(sle_filename.Text)
  112. END IF
  113. string ls_Sparse
  114. ls_Sparse = trim(obj_dw.Describe('datawindow.Sparse'))
  115. obj_dw.setredraw(false)
  116. If ddlb_1.Text = '不合并' Then
  117. obj_dw.Object.DataWindow.Sparse = ''
  118. obj_dw.Modify("DataWindow.HTMLTable.Border='0'")
  119. End If
  120. CHOOSE CASE ddlb_dataformat_INDEX
  121. CASE 1 //EXCEL
  122. n_cst_dw2Excel lnv_Excel
  123. SAVE_RSLT = lnv_Excel.OF_dw2Excel(obj_dw,sle_filename.Text,'Sheet1')
  124. CASE 2 //EXCEL
  125. SAVE_RSLT = obj_dw.SaveAsAscii(sle_filename.Text)
  126. CASE 3 //HTML
  127. SAVE_RSLT = obj_dw.SaveAs(sle_filename.Text,HTMLTable!,FALSE)
  128. CASE 4 //TEXT
  129. SAVE_RSLT = obj_dw.SaveAs(sle_filename.Text,Text!,FALSE)
  130. CASE 5 //CLB
  131. SAVE_RSLT = obj_dw.SaveAs(sle_filename.Text,Clipboard!,FALSE)
  132. CASE ELSE
  133. END CHOOSE
  134. If ddlb_1.Text = '不合并' Then
  135. obj_dw.Object.DataWindow.Sparse = ls_Sparse
  136. obj_dw.Modify("DataWindow.HTMLTable.Border='1'")
  137. end if
  138. obj_dw.setredraw(true)
  139. IF SAVE_RSLT = 1 THEN
  140. MessageBox("成功信息","数据发送操作成功!")
  141. close(parent)
  142. ELSE
  143. MessageBox("失败信息","数据发送操作失败!请检查目标文件名称是否拼写正确!")
  144. END IF
  145. //Clipboard! Save to the clipboard
  146. //CSV! ?Comma-separated values
  147. //dBASE2! ?dBASE-II format
  148. //dBASE3! ?dBASE-III format
  149. //DIF! ?Data Interchange Format
  150. //Excel! ?Microsoft Excel format
  151. //Excel5! ?Microsoft Excel 5 format
  152. //HTMLTable! ?Text with HTML formatting that approximates the DataWindow layout
  153. //PSReport! ?Powersoft Report (PSR) format
  154. //SQLInsert! ?SQL syntax
  155. //SYLK! ?Microsoft Multiplan format
  156. //Text! ?(Default) Tab-separated columns with a return at the end of each row
  157. //WKS! ?Lotus 1-2-3 format
  158. //WK1! ?Lotus 1-2-3 format
  159. //WMF! ?Windows Metafile format
  160. end event
  161. type st_1 from statictext within w_sentdataout_print
  162. integer x = 73
  163. integer y = 32
  164. integer width = 480
  165. integer height = 48
  166. integer textsize = -9
  167. integer weight = 400
  168. fontcharset fontcharset = gb2312charset!
  169. fontpitch fontpitch = variable!
  170. string facename = "宋体"
  171. long textcolor = 33554432
  172. long backcolor = 134217739
  173. string text = "目标发送数据格式:"
  174. boolean focusrectangle = false
  175. end type
  176. type sle_filename from singlelineedit within w_sentdataout_print
  177. integer x = 96
  178. integer y = 216
  179. integer width = 1559
  180. integer height = 92
  181. integer taborder = 50
  182. integer textsize = -9
  183. integer weight = 400
  184. fontcharset fontcharset = gb2312charset!
  185. fontpitch fontpitch = variable!
  186. string facename = "宋体"
  187. long textcolor = 33554432
  188. borderstyle borderstyle = stylelowered!
  189. end type
  190. type cb_ch from commandbutton within w_sentdataout_print
  191. integer x = 1659
  192. integer y = 216
  193. integer width = 114
  194. integer height = 92
  195. integer taborder = 60
  196. integer textsize = -9
  197. integer weight = 400
  198. fontcharset fontcharset = gb2312charset!
  199. fontpitch fontpitch = variable!
  200. string facename = "宋体"
  201. string text = "..."
  202. end type
  203. event clicked;string DATAFORMAT=''
  204. integer i
  205. string pathname,filename
  206. CHOOSE CASE ddlb_dataformat_INDEX
  207. CASE 1,2 //EXCEL
  208. DATAFORMAT='XLS'
  209. CASE 3 //HTML
  210. DATAFORMAT='HTML'
  211. CASE 4 //TEXT
  212. DATAFORMAT='TXT'
  213. CASE ELSE
  214. END CHOOSE
  215. i=getfilesavename("给予目标文件名",pathname,filename,DATAFORMAT,ddlb_dataformat.text+',*.'+DATAFORMAT)
  216. IF i=1 AND TRIM(pathname)<>'' AND TRIM(FILENAME)<>"" THEN
  217. sle_filename.text=pathname
  218. END IF
  219. end event
  220. type gb_1 from groupbox within w_sentdataout_print
  221. integer x = 32
  222. integer y = 136
  223. integer width = 1810
  224. integer height = 216
  225. integer taborder = 30
  226. integer textsize = -9
  227. integer weight = 400
  228. fontcharset fontcharset = gb2312charset!
  229. fontpitch fontpitch = variable!
  230. string facename = "宋体"
  231. long textcolor = 33554432
  232. long backcolor = 134217739
  233. string text = "发送的目标文件路径及名称"
  234. end type
  235. type ddlb_dataformat from dropdownlistbox within w_sentdataout_print
  236. integer x = 544
  237. integer y = 20
  238. integer width = 654
  239. integer height = 740
  240. integer taborder = 20
  241. boolean bringtotop = true
  242. integer textsize = -9
  243. integer weight = 400
  244. fontcharset fontcharset = gb2312charset!
  245. fontpitch fontpitch = variable!
  246. string facename = "宋体"
  247. long textcolor = 33554432
  248. boolean sorted = false
  249. boolean vscrollbar = true
  250. string item[] = {"Excel 完整(*.xls)","Excel 快速(*.xls)","HTML (*.htmL)","Text (*.txt)","剪切板"}
  251. borderstyle borderstyle = stylelowered!
  252. end type
  253. event constructor;if THIS.TotalItems ( )>=1 then THIS.SelectItem(1)
  254. end event
  255. event selectionchanged;ddlb_dataformat_INDEX=index
  256. IF INDEX =4 THEN
  257. sle_filename.ENABLED=FALSE
  258. cb_ch.ENABLED=FALSE
  259. ELSE
  260. sle_filename.ENABLED=TRUE
  261. cb_ch.ENABLED=TRUE
  262. END IF
  263. sle_filename.TEXT=''
  264. end event
  265. type ddlb_1 from dropdownlistbox within w_sentdataout_print
  266. integer x = 1819
  267. integer y = 20
  268. integer width = 247
  269. integer height = 740
  270. integer taborder = 40
  271. boolean bringtotop = true
  272. integer textsize = -9
  273. integer weight = 400
  274. fontcharset fontcharset = gb2312charset!
  275. fontpitch fontpitch = variable!
  276. string facename = "宋体"
  277. long textcolor = 33554432
  278. boolean sorted = false
  279. string item[] = {"不合并","按原格式"}
  280. borderstyle borderstyle = stylelowered!
  281. end type
  282. type st_2 from statictext within w_sentdataout_print
  283. integer x = 1289
  284. integer y = 32
  285. integer width = 507
  286. integer height = 48
  287. boolean bringtotop = true
  288. integer textsize = -9
  289. integer weight = 400
  290. fontcharset fontcharset = gb2312charset!
  291. fontpitch fontpitch = variable!
  292. string facename = "宋体"
  293. long textcolor = 33554432
  294. long backcolor = 67108864
  295. string text = "相同数据列显示方式"
  296. boolean focusrectangle = false
  297. end type