這是一個園長學習VFP(Visual Foxpro)的Blog歡迎同好一起來參與

星期一, 3月 15, 2010

公司統一編號檢驗程式

身份證檢驗程式大部份的人應該都看過怎麼驗算了
但是公司統一編號比較少人涉及,但在台灣
需要輸入客戶或廠商資料時,統一編號是不可或缺的資料
這裏提供我使用的統一編號檢驗程式給大家參考

使用方式:

傳入統一編號 C(8)

正確傳回 .T. ,反之傳回 .F.

Function chk_unit()
Lparameters p_unit
LOCAL W_CHECK,W_CNT, W_CNT1,ii
IF EMPTY(p_unit)
RETURN .F.
endif
If ' '$p_unit
RETURN .F.
Endif
Store 0 To W_CNT, W_CNT1
ii = 1
FOR ii=1 TO 8
W_CHECK = Str(Val(Substr(p_unit,ii,1))*Val(Substr('12121241',ii,1)),2)
W_CNT = W_CNT+Val(Substr(W_CHECK,1,1))+Val(Substr(W_CHECK,2,1))
NEXT ii
If Val(Substr(p_unit,7,1))>=7
W_CNT = W_CNT-Val(Substr(p_unit,7,1))*4+Int(Val(Substr(p_unit,7,1))*4/10)
W_CNT1 = W_CNT1-Val(Substr(p_unit,7,1))*4+Mod(Val(Substr(p_unit,7,1))*4,10)
If !Mod(W_CNT,10)#0 .And. !Mod(W_CNT1,10)#0
RETURN .F.
Endif
Else
If Mod(W_CNT,10)#0
RETURN .F.
Endif
ENDIF
RETURN .T.
Endfunc

發表於 2006/04/21 11:30 PM

沒有留言: