123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417 |
- $PBExportHeader$w_fingerprintcollect.srw
- forward
- global type w_fingerprintcollect from w_publ_base
- end type
- type dw_1 from u_dw_rbtnfilter within w_fingerprintcollect
- end type
- type cb_collect from uo_imflatbutton within w_fingerprintcollect
- end type
- type cb_del from uo_imflatbutton within w_fingerprintcollect
- end type
- type cb_fresh from uo_imflatbutton within w_fingerprintcollect
- end type
- type cb_check from uo_imflatbutton within w_fingerprintcollect
- end type
- type st_1 from statictext within w_fingerprintcollect
- end type
- type ln_bar from line within w_fingerprintcollect
- end type
- type ln_bar2 from line within w_fingerprintcollect
- end type
- type r_bar from rectangle within w_fingerprintcollect
- end type
- end forward
- global type w_fingerprintcollect from w_publ_base
- integer width = 2149
- integer height = 1616
- string title = "指纹采集"
- dw_1 dw_1
- cb_collect cb_collect
- cb_del cb_del
- cb_fresh cb_fresh
- cb_check cb_check
- st_1 st_1
- ln_bar ln_bar
- ln_bar2 ln_bar2
- r_bar r_bar
- end type
- global w_fingerprintcollect w_fingerprintcollect
- type variables
- uo_fingerprint uo_fp
- boolean lb_collect = false
- end variables
- forward prototypes
- public subroutine wf_lockui (boolean arg_lock)
- end prototypes
- public subroutine wf_lockui (boolean arg_lock);dw_1.enabled = not arg_lock
- cb_fresh.enabled = not arg_lock
- cb_check.enabled = not arg_lock
- cb_del.enabled = not arg_lock
- cb_collect.enabled = not arg_lock
- cb_exit.enabled = not arg_lock
- lb_collect = arg_lock
- end subroutine
- on w_fingerprintcollect.create
- int iCurrent
- call super::create
- this.dw_1=create dw_1
- this.cb_collect=create cb_collect
- this.cb_del=create cb_del
- this.cb_fresh=create cb_fresh
- this.cb_check=create cb_check
- this.st_1=create st_1
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- this.r_bar=create r_bar
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_1
- this.Control[iCurrent+2]=this.cb_collect
- this.Control[iCurrent+3]=this.cb_del
- this.Control[iCurrent+4]=this.cb_fresh
- this.Control[iCurrent+5]=this.cb_check
- this.Control[iCurrent+6]=this.st_1
- this.Control[iCurrent+7]=this.ln_bar
- this.Control[iCurrent+8]=this.ln_bar2
- this.Control[iCurrent+9]=this.r_bar
- end on
- on w_fingerprintcollect.destroy
- call super::destroy
- destroy(this.dw_1)
- destroy(this.cb_collect)
- destroy(this.cb_del)
- destroy(this.cb_fresh)
- destroy(this.cb_check)
- destroy(this.st_1)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- destroy(this.r_bar)
- end on
- event open;call super::open;dw_1.settrans(sqlca)
- dw_1.retrieve(sys_scid)
- end event
- event resize;call super::resize;ln_bar.EndX = THIS.Width
- ln_bar2.EndX = THIS.Width
- r_bar.Width = THIS.Width
- end event
- event closequery;call super::closequery;if lb_collect then return 1
- uo_fp.uf_abort()
-
- end event
- type cb_func from w_publ_base`cb_func within w_fingerprintcollect
- boolean visible = false
- integer x = 1298
- integer y = 920
- end type
- type cb_exit from w_publ_base`cb_exit within w_fingerprintcollect
- integer x = 933
- integer width = 151
- integer height = 164
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- type dw_1 from u_dw_rbtnfilter within w_fingerprintcollect
- integer y = 188
- integer width = 2103
- integer height = 1328
- boolean bringtotop = true
- string dataobject = "dw_user_fp"
- end type
- event rowfocuschanged;call super::rowfocuschanged;this.selectrow(0, false)
- if currentrow > 0 then this.selectrow(currentrow, true)
- end event
- type cb_collect from uo_imflatbutton within w_fingerprintcollect
- integer x = 151
- integer width = 261
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "采集指纹"
- string normalpicname = "new.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row
- Long i
- Blob lb_finger
- String ls_msg
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN RETURN
- dw_1.AcceptText()
- IF dw_1.Object.fingercount[ll_row] >= 5 THEN
- MessageBox('提示','每个用户的指纹采集数量不能超过5个')
- GOTO ext
- END IF
- wf_lockUI(TRUE)
- Open(w_sys_wait_fp)
- w_sys_wait_fp.Show()
- w_sys_wait_fp.wf_set_msg('正在收集指纹...')
- FOR i = 1 TO 3
- IF uo_fp.uf_regfingerprint(REF lb_finger, REF ls_msg) <> 1 THEN
- w_sys_wait_fp.wf_set_msg('采集失败,' + ls_msg + ',还有重复次数' + String(3 - i) + '次')
- IF i = 3 THEN
- MessageBox('提示','采集失败,' + ls_msg)
- GOTO ext
- END IF
- ELSE
- EXIT
- END IF
- NEXT
- w_sys_wait_fp.Hide()
- Close(w_sys_wait_fp)
- String ll_userid
- Long ll_scid
- Long ll_empid
- ll_userid = dw_1.Object.u_user_userid[ll_row]
- ll_scid = dw_1.Object.u_user_scid[ll_row]
- ll_empid = dw_1.Object.u_user_empid[ll_row]
- Long cnt
- SELECT count(*)
- INTO :cnt
- FROM u_user_fp
- Where UserID = :ll_userid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '查询指纹信息失败 ' + sqlca.SQLErrText)
- GOTO ext
- ELSEIF cnt = 0 THEN
- INSERT INTO u_user_fp
- ( scid,
- Empid,
- userid )
- VALUES ( :ll_scid,
- :ll_empid,
- :ll_userid ) ;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '插入指纹信息失败 ' + sqlca.SQLErrText)
- GOTO ext
- END IF
- COMMIT;
- END IF
- IF dw_1.Object.fingercount[ll_row] <= 0 THEN
- UPDATEBLOB u_user_fp Set fingers = :lb_finger Where UserID = :ll_userid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '保存失败 ' + sqlca.SQLErrText)
- GOTO ext
- END IF
- COMMIT;
- ELSE
- Blob lb_org
- SELECTBLOB fingers INTO :lb_org FROM u_user_fp Where UserID = :ll_userid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '查询数据指纹失败 ' + sqlca.SQLErrText)
- GOTO ext
- END IF
- lb_org = lb_org + lb_finger
- UPDATEBLOB u_user_fp Set fingers = :lb_org Where UserID = :ll_userid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '保存失败 ' + sqlca.SQLErrText)
- GOTO ext
- END IF
- COMMIT;
- END IF
- MessageBox('提示', '指纹采集成功')
- cb_fresh.TriggerEvent('clicked')
- ext:
- IF IsValid(w_sys_wait_fp) THEN Close(w_sys_wait_fp)
- wf_lockUI(FALSE)
- end event
- type cb_del from uo_imflatbutton within w_fingerprintcollect
- integer x = 672
- integer width = 261
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "删除指纹"
- string normalpicname = "delete.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long ll_row
- ll_row = dw_1.GetRow()
- if ll_row <= 0 then return
- IF MessageBox ("询问","是否确定要删除选中用户所有指纹信息吗?",Question!,YesNo! ) = 2 THEN RETURN
- blob lb_null
- setnull(lb_null)
- string ll_userid
- ll_userid = dw_1.object.u_user_userid[ll_row]
- update u_user_fp set fingers = null where userid = :ll_userid;
- if sqlca.sqlcode <> 0 then
- MessageBox('错误', '删除指纹信息失败 ' + sqlca.sqlerrtext)
- return
- end if
- commit;
- cb_fresh.triggerevent('clicked')
- end event
- type cb_fresh from uo_imflatbutton within w_fingerprintcollect
- integer width = 151
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "刷新"
- string normalpicname = "refresh.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;long ll_row
- ll_row = dw_1.GetRow()
- dw_1.retrieve(sys_scid)
- if ll_row > 0 then
- dw_1.scrolltorow(ll_row)
- end if
- end event
- type cb_check from uo_imflatbutton within w_fingerprintcollect
- integer x = 411
- integer width = 261
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "验证指纹"
- string normalpicname = "open.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;Long ll_row,i
- ll_row = dw_1.GetRow()
- IF ll_row <= 0 THEN RETURN
- String ll_userid
- ll_userid = dw_1.Object.u_user_userid[ll_row]
- Blob lb_data
- wf_lockUI(TRUE)
- SELECTBLOB fingers INTO :lb_data FROM u_user_fp Where UserID = :ll_userid;
- IF sqlca.SQLCode <> 0 THEN
- MessageBox('错误', '获取指纹信息失败 ' + sqlca.SQLErrText)
- GOTO ext
- END IF
- String ls_msg
- Open(w_sys_wait_fp)
- w_sys_wait_fp.Show()
- w_sys_wait_fp.wf_set_msg('正在验证指纹...')
- FOR i = 1 TO 3
- IF uo_fp.uf_verifyfingerprint(lb_data, ls_msg) <> 1 THEN
- w_sys_wait_fp.wf_set_msg(ls_msg + ',还有重复次数' + String(3 - i) + '次')
- IF i = 3 THEN
- MessageBox('提示', ls_msg)
- GOTO ext
- END IF
- ELSE
- EXIT
- END IF
- NEXT
- w_sys_wait_fp.Hide()
- Close(w_sys_wait_fp)
- MessageBox('提示', '验证成功')
- ext:
- IF IsValid(w_sys_wait_fp) THEN Close(w_sys_wait_fp)
- wf_lockUI(FALSE)
- end event
- type st_1 from statictext within w_fingerprintcollect
- integer x = 1143
- integer y = 8
- integer width = 942
- integer height = 160
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 67108864
- string text = "说明:每个用户最多可设置5个指纹,采集指纹时请使用一根指头的第一节指纹匀速在指纹采集器上滑行3次."
- boolean focusrectangle = false
- end type
- event constructor;this.backcolor = 14215660
- end event
- type ln_bar from line within w_fingerprintcollect
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 172
- integer endx = 3200
- integer endy = 172
- end type
- type ln_bar2 from line within w_fingerprintcollect
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 9
- integer beginy = 176
- integer endx = 3273
- integer endy = 176
- end type
- type r_bar from rectangle within w_fingerprintcollect
- long linecolor = 16777215
- integer linethickness = 4
- long fillcolor = 1073741824
- integer x = 1221
- integer y = 12
- integer width = 87
- integer height = 68
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar.beginy - 5
- end event
|