w_msg_send_ljfieb.srw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. $PBExportHeader$w_msg_send_ljfieb.srw
  2. forward
  3. global type w_msg_send_ljfieb from w_publ_base
  4. end type
  5. type st_1 from statictext within w_msg_send_ljfieb
  6. end type
  7. type st_2 from statictext within w_msg_send_ljfieb
  8. end type
  9. type st_3 from statictext within w_msg_send_ljfieb
  10. end type
  11. type sle_title from singlelineedit within w_msg_send_ljfieb
  12. end type
  13. type mle_msg from multilineedit within w_msg_send_ljfieb
  14. end type
  15. type dw_emp from datawindow within w_msg_send_ljfieb
  16. end type
  17. type cb_send from uo_imflatbutton within w_msg_send_ljfieb
  18. end type
  19. type cb_ch from commandbutton within w_msg_send_ljfieb
  20. end type
  21. type cb_del from commandbutton within w_msg_send_ljfieb
  22. end type
  23. type cb_reset from commandbutton within w_msg_send_ljfieb
  24. end type
  25. type st_text from statictext within w_msg_send_ljfieb
  26. end type
  27. type st_msg from statictext within w_msg_send_ljfieb
  28. end type
  29. type st_4 from statictext within w_msg_send_ljfieb
  30. end type
  31. type ddlb_scid from uo_ddlb_scid_notall within w_msg_send_ljfieb
  32. end type
  33. type r_bar from rectangle within w_msg_send_ljfieb
  34. end type
  35. type ln_bar from line within w_msg_send_ljfieb
  36. end type
  37. type ln_bar2 from line within w_msg_send_ljfieb
  38. end type
  39. end forward
  40. global type w_msg_send_ljfieb from w_publ_base
  41. integer width = 3611
  42. integer height = 2004
  43. string title = "消息发送"
  44. boolean minbox = false
  45. windowtype windowtype = response!
  46. st_1 st_1
  47. st_2 st_2
  48. st_3 st_3
  49. sle_title sle_title
  50. mle_msg mle_msg
  51. dw_emp dw_emp
  52. cb_send cb_send
  53. cb_ch cb_ch
  54. cb_del cb_del
  55. cb_reset cb_reset
  56. st_text st_text
  57. st_msg st_msg
  58. st_4 st_4
  59. ddlb_scid ddlb_scid
  60. r_bar r_bar
  61. ln_bar ln_bar
  62. ln_bar2 ln_bar2
  63. end type
  64. global w_msg_send_ljfieb w_msg_send_ljfieb
  65. type variables
  66. long ins_billtype // 1 - 选供应商, 2 - 选客户
  67. long ins_kind // 0 - 新建 1 -回复
  68. string ins_title,ins_msg
  69. string ins_cuscode,ins_cusname,ins_sccode
  70. uo_ljfieb uo_fieb
  71. Transaction tr_eb_sqlca
  72. int ins_ifsend = 0 //
  73. long cur_scid
  74. end variables
  75. on w_msg_send_ljfieb.create
  76. int iCurrent
  77. call super::create
  78. this.st_1=create st_1
  79. this.st_2=create st_2
  80. this.st_3=create st_3
  81. this.sle_title=create sle_title
  82. this.mle_msg=create mle_msg
  83. this.dw_emp=create dw_emp
  84. this.cb_send=create cb_send
  85. this.cb_ch=create cb_ch
  86. this.cb_del=create cb_del
  87. this.cb_reset=create cb_reset
  88. this.st_text=create st_text
  89. this.st_msg=create st_msg
  90. this.st_4=create st_4
  91. this.ddlb_scid=create ddlb_scid
  92. this.r_bar=create r_bar
  93. this.ln_bar=create ln_bar
  94. this.ln_bar2=create ln_bar2
  95. iCurrent=UpperBound(this.Control)
  96. this.Control[iCurrent+1]=this.st_1
  97. this.Control[iCurrent+2]=this.st_2
  98. this.Control[iCurrent+3]=this.st_3
  99. this.Control[iCurrent+4]=this.sle_title
  100. this.Control[iCurrent+5]=this.mle_msg
  101. this.Control[iCurrent+6]=this.dw_emp
  102. this.Control[iCurrent+7]=this.cb_send
  103. this.Control[iCurrent+8]=this.cb_ch
  104. this.Control[iCurrent+9]=this.cb_del
  105. this.Control[iCurrent+10]=this.cb_reset
  106. this.Control[iCurrent+11]=this.st_text
  107. this.Control[iCurrent+12]=this.st_msg
  108. this.Control[iCurrent+13]=this.st_4
  109. this.Control[iCurrent+14]=this.ddlb_scid
  110. this.Control[iCurrent+15]=this.r_bar
  111. this.Control[iCurrent+16]=this.ln_bar
  112. this.Control[iCurrent+17]=this.ln_bar2
  113. end on
  114. on w_msg_send_ljfieb.destroy
  115. call super::destroy
  116. destroy(this.st_1)
  117. destroy(this.st_2)
  118. destroy(this.st_3)
  119. destroy(this.sle_title)
  120. destroy(this.mle_msg)
  121. destroy(this.dw_emp)
  122. destroy(this.cb_send)
  123. destroy(this.cb_ch)
  124. destroy(this.cb_del)
  125. destroy(this.cb_reset)
  126. destroy(this.st_text)
  127. destroy(this.st_msg)
  128. destroy(this.st_4)
  129. destroy(this.ddlb_scid)
  130. destroy(this.r_bar)
  131. destroy(this.ln_bar)
  132. destroy(this.ln_bar2)
  133. end on
  134. event resize;call super::resize;ln_bar.endx = this.width
  135. ln_bar2.endx = this.width
  136. r_bar.width = this.width
  137. end event
  138. event open;call super::open;tr_eb_sqlca = sys_email_sqlca // 电子商务连接
  139. IF sys_email_sqlca.DBHandle() = 0 THEN
  140. MessageBox('Error','电子商务数据库连接失败,请检查')
  141. RETURN
  142. END IF
  143. s_edit_index_tran s_inscust
  144. s_inscust = Message.PowerObjectParm
  145. uo_fieb = Create uo_ljfieb
  146. uo_fieb.commit_transaction = tr_eb_sqlca
  147. ins_billtype = s_inscust.b_long
  148. ins_title = s_inscust.b_string
  149. ins_kind = s_inscust.c_long
  150. ins_cuscode = s_inscust.c_string
  151. ins_cusname = s_inscust.d_string
  152. ins_sccode = s_inscust.e_string
  153. ins_msg = s_inscust.f_string
  154. sle_title.setfocus()
  155. IF ins_kind = 1 THEN
  156. Long ll_row
  157. String ls_msg
  158. cb_ch.Enabled = False
  159. cb_del.Enabled = False
  160. cb_reset.Enabled = False
  161. dw_emp.Reset()
  162. ll_row = dw_emp.InsertRow(0)
  163. dw_emp.Object.cuscode[ll_row] = ins_cuscode
  164. dw_emp.Object.cusname[ll_row] = ins_cusname
  165. dw_emp.Object.sccode[ll_row] = ins_sccode
  166. sle_title.Text = '回复:' + ins_title
  167. mle_msg.Text = '~r~n' + '~r~n' + '~r~n' + '~r~n'
  168. mle_msg.Text = mle_msg.Text + '-----------------回复消息-----------------' + '~r~n'
  169. IF lenA(ins_msg) > 100 THEN
  170. ls_msg = leftA(ins_msg,100) + '...'
  171. ELSE
  172. ls_msg = ins_msg
  173. END IF
  174. mle_msg.Text = mle_msg.Text + ls_msg
  175. mle_msg.SelectText(0,0)
  176. mle_msg.setfocus()
  177. END IF
  178. mle_msg.triggerevent('enchange')
  179. end event
  180. event close;call super::close;closewithreturn(this,ins_ifsend)
  181. end event
  182. type cb_func from w_publ_base`cb_func within w_msg_send_ljfieb
  183. boolean visible = false
  184. end type
  185. type cb_exit from w_publ_base`cb_exit within w_msg_send_ljfieb
  186. integer x = 242
  187. integer width = 151
  188. integer height = 164
  189. integer picsize = 16
  190. toolbaralignment pic_align = alignattop!
  191. boolean border = false
  192. end type
  193. type st_1 from statictext within w_msg_send_ljfieb
  194. integer x = 50
  195. integer y = 204
  196. integer width = 306
  197. integer height = 48
  198. boolean bringtotop = true
  199. integer textsize = -9
  200. integer weight = 400
  201. fontcharset fontcharset = gb2312charset!
  202. fontpitch fontpitch = variable!
  203. string facename = "宋体"
  204. long textcolor = 33554432
  205. long backcolor = 134217739
  206. string text = "接收人列表"
  207. boolean focusrectangle = false
  208. end type
  209. type st_2 from statictext within w_msg_send_ljfieb
  210. integer x = 1207
  211. integer y = 284
  212. integer width = 123
  213. integer height = 52
  214. boolean bringtotop = true
  215. integer textsize = -9
  216. integer weight = 400
  217. fontcharset fontcharset = gb2312charset!
  218. fontpitch fontpitch = variable!
  219. string facename = "宋体"
  220. long textcolor = 33554432
  221. long backcolor = 134217739
  222. string text = "标题"
  223. alignment alignment = right!
  224. boolean focusrectangle = false
  225. end type
  226. type st_3 from statictext within w_msg_send_ljfieb
  227. integer x = 1211
  228. integer y = 392
  229. integer width = 123
  230. integer height = 48
  231. boolean bringtotop = true
  232. integer textsize = -9
  233. integer weight = 400
  234. fontcharset fontcharset = gb2312charset!
  235. fontpitch fontpitch = variable!
  236. string facename = "宋体"
  237. long textcolor = 33554432
  238. long backcolor = 134217739
  239. string text = "正文"
  240. alignment alignment = right!
  241. boolean focusrectangle = false
  242. end type
  243. type sle_title from singlelineedit within w_msg_send_ljfieb
  244. integer x = 1335
  245. integer y = 272
  246. integer width = 2213
  247. integer height = 84
  248. integer taborder = 20
  249. boolean bringtotop = true
  250. integer textsize = -9
  251. integer weight = 400
  252. fontcharset fontcharset = gb2312charset!
  253. fontpitch fontpitch = variable!
  254. string facename = "宋体"
  255. long textcolor = 33554432
  256. borderstyle borderstyle = stylelowered!
  257. end type
  258. type mle_msg from multilineedit within w_msg_send_ljfieb
  259. event enchange pbm_enchange
  260. integer x = 1335
  261. integer y = 444
  262. integer width = 2213
  263. integer height = 1452
  264. integer taborder = 30
  265. boolean bringtotop = true
  266. integer textsize = -9
  267. integer weight = 400
  268. fontcharset fontcharset = gb2312charset!
  269. fontpitch fontpitch = variable!
  270. string facename = "宋体"
  271. long textcolor = 33554432
  272. boolean vscrollbar = true
  273. boolean autovscroll = true
  274. borderstyle borderstyle = stylelowered!
  275. end type
  276. event enchange;long ll_len
  277. ll_len = 500
  278. IF ll_len - lena(This.Text) >= 0 THEN
  279. st_msg.Text = '剩余' + String(ll_len - lena(This.Text)) + '个字节'
  280. st_msg.textcolor = rgb(0,0,0)
  281. ELSE
  282. st_msg.Text = '超出' + String(lena(This.Text) - ll_len) + '个字节'
  283. st_msg.textcolor = rgb(255,0,0)
  284. END IF
  285. end event
  286. type dw_emp from datawindow within w_msg_send_ljfieb
  287. integer x = 18
  288. integer y = 268
  289. integer width = 1193
  290. integer height = 1636
  291. integer taborder = 40
  292. boolean bringtotop = true
  293. string title = "none"
  294. string dataobject = "dw_msg_send_list"
  295. boolean hscrollbar = true
  296. boolean vscrollbar = true
  297. boolean livescroll = true
  298. borderstyle borderstyle = stylelowered!
  299. end type
  300. type cb_send from uo_imflatbutton within w_msg_send_ljfieb
  301. integer width = 165
  302. integer height = 164
  303. integer taborder = 10
  304. boolean bringtotop = true
  305. string text = "发送"
  306. string normalpicname = "ok.bmp"
  307. integer picsize = 16
  308. toolbaralignment pic_align = alignattop!
  309. boolean border = false
  310. end type
  311. event clicked;call super::clicked;IF Not f_power_ind(1595) THEN
  312. MessageBox(publ_operator,sys_msg_pow)
  313. RETURN
  314. END IF
  315. IF tr_eb_sqlca.DBHandle() = 0 THEN
  316. MessageBox('Error','电子商务数据库连接失败,请检查')
  317. RETURN
  318. END IF
  319. String ls_title,ls_msg
  320. String ls_SerialNum
  321. Long ll_i
  322. String ls_sccode
  323. dw_emp.AcceptText()
  324. IF dw_emp.RowCount() <= 0 THEN
  325. MessageBox('系统提示','请先选择接收人')
  326. RETURN
  327. END IF
  328. IF cur_scid < 0 THEN
  329. MessageBox('系统提示','请先选择分部')
  330. ddlb_scid.SetFocus()
  331. RETURN
  332. END IF
  333. SELECT sccode INTO :ls_sccode
  334. FROM u_scdef
  335. Where scid = :cur_scid Using sqlca;
  336. IF sqlca.SQLCode <> 0 THEN
  337. MessageBox('系统提示','查询分部代号失败,'+sqlca.SQLErrText)
  338. RETURN
  339. END IF
  340. ls_title = Trim(sle_title.Text)
  341. ls_msg = Trim(mle_msg.Text)
  342. IF ls_title = '' THEN
  343. MessageBox('系统提示','请填写标题')
  344. sle_title.SetFocus()
  345. RETURN
  346. END IF
  347. IF ls_msg = '' THEN
  348. MessageBox('系统提示','请填写正文')
  349. mle_msg.SetFocus()
  350. RETURN
  351. END IF
  352. IF lena(ls_msg) > 500 THEN
  353. MessageBox('系统提示','正文内容不能超过500字节,请检查')
  354. mle_msg.SetFocus()
  355. RETURN
  356. END IF
  357. IF MessageBox('系统提示','确定要把消息发送到列表中的接收者吗?',question!,yesno!) = 2 THEN RETURN
  358. Long ll_SendCusCommID,ll_ReceiveCusCommID
  359. String ls_commsccode,ls_commcode
  360. String arg_msg
  361. //查询本企业通信信息
  362. SELECT CusCommID
  363. INTO :ll_SendCusCommID
  364. FROM LJFIEB_CusComm
  365. Where CusType = 0 Using tr_eb_sqlca;
  366. IF tr_eb_sqlca.SQLCode <> 0 THEN
  367. MessageBox('Error', '查询本企业通信信息失败,请检查设置,'+tr_eb_sqlca.SQLErrText)
  368. RETURN
  369. END IF
  370. FOR ll_i = 1 To dw_emp.RowCount()
  371. ls_commcode = dw_emp.Object.cuscode[ll_i]
  372. ls_commsccode = dw_emp.Object.sccode[ll_i]
  373. SELECT TOP 1 NEWID() INTO :ls_SerialNum
  374. From u_user Using sqlca;
  375. IF sqlca.SQLCode <> 0 THEN
  376. ROLLBACK Using sqlca;
  377. ROLLBACK Using sys_email_sqlca;
  378. MessageBox('Error', '第'+String(ll_i)+'行,生成序列号失败,'+sqlca.SQLErrText)
  379. RETURN
  380. END IF
  381. IF IsNull(ls_SerialNum) THEN ls_SerialNum = ''
  382. IF ls_SerialNum = '' THEN
  383. ROLLBACK Using sys_email_sqlca;
  384. MessageBox('Error', '第'+String(ll_i)+'行,错误的发送序列号')
  385. RETURN
  386. END IF
  387. SELECT CusCommID
  388. INTO :ll_ReceiveCusCommID
  389. FROM LJFIEB_CusComm
  390. Where cuscode = :ls_commcode Using tr_eb_sqlca;
  391. IF tr_eb_sqlca.SQLCode <> 0 THEN
  392. ROLLBACK Using tr_eb_sqlca;
  393. MessageBox('Error', '第'+String(ll_i)+'行,查询企业相关通信设置失败,'+tr_eb_sqlca.SQLErrText)
  394. RETURN
  395. END IF
  396. IF ll_ReceiveCusCommID = 0 THEN
  397. ROLLBACK Using tr_eb_sqlca;
  398. MessageBox('Error', '第'+String(ll_i)+'行,企业相关的通信设置不正确,请检查')
  399. RETURN
  400. END IF
  401. IF uo_fieb.add_packet(ls_SerialNum,'',ll_SendCusCommID,ls_sccode,ll_ReceiveCusCommID,ls_commsccode,7,ls_title,ls_msg,'','','',0,arg_msg,False) = 0 THEN
  402. MessageBox('Error',arg_msg)
  403. RETURN
  404. END IF
  405. NEXT
  406. COMMIT Using tr_eb_sqlca;
  407. ins_ifsend = 1
  408. MessageBox('系统提示','发送成功!')
  409. Close(Parent)
  410. end event
  411. type cb_ch from commandbutton within w_msg_send_ljfieb
  412. integer x = 352
  413. integer y = 180
  414. integer width = 334
  415. integer height = 84
  416. integer taborder = 30
  417. boolean bringtotop = true
  418. integer textsize = -9
  419. integer weight = 400
  420. fontcharset fontcharset = gb2312charset!
  421. fontpitch fontpitch = variable!
  422. string facename = "宋体"
  423. string text = "选择接收人"
  424. end type
  425. event clicked;
  426. IF sys_email_sqlca.DBHandle() = 0 THEN
  427. MessageBox('Error','电子商务数据库连接失败,请检查')
  428. RETURN
  429. END IF
  430. Long ll_row,ll_i
  431. s_edit_index_tran s_open //传递参数使用
  432. s_open.if_select_any = True
  433. s_open.b_string = ''
  434. IF ins_billtype = 1 THEN
  435. OpenWithParm(w_spt_ecomm_ch,s_open)
  436. ELSE
  437. OpenWithParm(w_cust_comm_ch,s_open)
  438. END IF
  439. s_custom_arr INS_RT_STRU
  440. INS_RT_STRU = Message.PowerObjectParm
  441. FOR ll_i = 1 To UpperBound(INS_RT_STRU.commcode)
  442. IF INS_RT_STRU.commcode[ll_i] = '' THEN CONTINUE
  443. IF dw_emp.Find("CusCode ='" + String(INS_RT_STRU.commcode[ll_i]) + "'", 1, dw_emp.RowCount()) > 0 THEN CONTINUE
  444. ll_row = dw_emp.InsertRow(0)
  445. dw_emp.Object.CusCode[ll_row] = INS_RT_STRU.commcode[ll_i]
  446. dw_emp.Object.CusName[ll_row] = INS_RT_STRU.Name[ll_i]
  447. dw_emp.Object.sccode[ll_row] = INS_RT_STRU.commsccode[ll_i]
  448. NEXT
  449. end event
  450. type cb_del from commandbutton within w_msg_send_ljfieb
  451. integer x = 690
  452. integer y = 180
  453. integer width = 334
  454. integer height = 84
  455. integer taborder = 40
  456. boolean bringtotop = true
  457. integer textsize = -9
  458. integer weight = 400
  459. fontcharset fontcharset = gb2312charset!
  460. fontpitch fontpitch = variable!
  461. string facename = "宋体"
  462. string text = "删除接收人"
  463. end type
  464. event clicked;long ll_row
  465. ll_row = dw_emp.getrow()
  466. if ll_row <= 0 then
  467. messagebox('系统提示','请选择要删除的接收人')
  468. return
  469. end if
  470. dw_emp.DeleteRow (ll_row)
  471. end event
  472. type cb_reset from commandbutton within w_msg_send_ljfieb
  473. integer x = 1029
  474. integer y = 180
  475. integer width = 178
  476. integer height = 84
  477. integer taborder = 40
  478. boolean bringtotop = true
  479. integer textsize = -9
  480. integer weight = 400
  481. fontcharset fontcharset = gb2312charset!
  482. fontpitch fontpitch = variable!
  483. string facename = "宋体"
  484. string text = "清空"
  485. end type
  486. event clicked;IF dw_emp.RowCount() <= 0 THEN RETURN
  487. IF MessageBox('询问','确定要清空接收人列表吗?',question!,yesno!) = 2 THEN RETURN
  488. dw_emp.Reset()
  489. end event
  490. type st_text from statictext within w_msg_send_ljfieb
  491. integer x = 1403
  492. integer y = 372
  493. integer width = 1326
  494. integer height = 56
  495. boolean bringtotop = true
  496. integer textsize = -9
  497. integer weight = 400
  498. fontcharset fontcharset = gb2312charset!
  499. fontpitch fontpitch = variable!
  500. string facename = "宋体"
  501. long textcolor = 16711680
  502. long backcolor = 134217739
  503. string text = "正文最多可填500个字节,中文 = 2字节,英文 = 1字节"
  504. boolean focusrectangle = false
  505. end type
  506. type st_msg from statictext within w_msg_send_ljfieb
  507. integer x = 2958
  508. integer y = 368
  509. integer width = 581
  510. integer height = 56
  511. boolean bringtotop = true
  512. integer textsize = -9
  513. integer weight = 400
  514. fontcharset fontcharset = gb2312charset!
  515. fontpitch fontpitch = variable!
  516. string facename = "宋体"
  517. long textcolor = 16711680
  518. long backcolor = 134217739
  519. boolean focusrectangle = false
  520. end type
  521. type st_4 from statictext within w_msg_send_ljfieb
  522. integer x = 1207
  523. integer y = 192
  524. integer width = 123
  525. integer height = 52
  526. boolean bringtotop = true
  527. integer textsize = -9
  528. integer weight = 400
  529. fontcharset fontcharset = gb2312charset!
  530. fontpitch fontpitch = variable!
  531. string facename = "宋体"
  532. long backcolor = 134217739
  533. string text = "分部"
  534. alignment alignment = right!
  535. boolean focusrectangle = false
  536. end type
  537. type ddlb_scid from uo_ddlb_scid_notall within w_msg_send_ljfieb
  538. integer x = 1335
  539. integer y = 184
  540. integer width = 507
  541. integer height = 556
  542. integer taborder = 20
  543. boolean bringtotop = true
  544. end type
  545. event constructor;call super::constructor;cur_scid=this.uo_scid
  546. end event
  547. event selectionchanged;call super::selectionchanged;cur_scid=this.uo_scid
  548. end event
  549. type r_bar from rectangle within w_msg_send_ljfieb
  550. long linecolor = 16777215
  551. integer linethickness = 4
  552. long fillcolor = 1073741824
  553. integer x = 3351
  554. integer width = 87
  555. integer height = 68
  556. end type
  557. event constructor;this.fillcolor = 14215660
  558. this.linecolor = 14215660
  559. this.x = -1
  560. this.y = -1
  561. this.height = ln_bar.beginy - 5
  562. end event
  563. type ln_bar from line within w_msg_send_ljfieb
  564. long linecolor = 268435456
  565. integer linethickness = 4
  566. integer beginy = 172
  567. integer endx = 3200
  568. integer endy = 172
  569. end type
  570. type ln_bar2 from line within w_msg_send_ljfieb
  571. long linecolor = 16777215
  572. integer linethickness = 4
  573. integer beginy = 176
  574. integer endx = 3255
  575. integer endy = 176
  576. end type