[VB6 ] 有關運算式確認碼寫法

看板Visual_Basic作者 (sdu)時間14年前 (2011/07/08 15:34), 編輯推噓0(0014)
留言14則, 3人參與, 最新討論串1/1
從學校畢業到現在已經四五年了,以前有寫過vb(大約 8~9年前) 現在因為工作上需要,需要寫一個小程式 但我卻完全摸不著頭緒 不知版上是否有人可以讓我知這該怎麼寫~~ 我要有14碼的數字 前四碼是固定,第5~6碼是檢查碼,第7~14碼是自行輸入的數字 (檢查碼就是經過計算後所得知的數字 以1007 09842316為例: 1007 09842316 x)1212 12121212 a = 1*1+7*2+9*2+8*1+4*2+2*1+3*2+1*1+6*2 = 1 +1+4+1+8+ 8 + 8 + 2 + 6 + 1 +1+2 = 43 Chk1 = 3 1007 09842316 x)1371 37137137 b = 1*1+7*1+9*7+8*1+4*3+2*7+3*1+1*3+6*7 = 1 + 7 + 63+ 8 + 12+ 14+ 3 + 3 +42 = 153 Chk2 = 3 之後所得到的數字:10073309842316 不知這樣的程式該怎麼寫才好 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.66.145.136

07/08 18:04, , 1F
阿就val(mid(s,1,1))*1 + val(mid(s,2,1))*2 + ...
07/08 18:04, 1F

07/08 18:05, , 2F
加完最後mod 10不就是第一個檢查碼
07/08 18:05, 2F

07/08 18:05, , 3F
第二個檢查碼把乘數改一改也就有了
07/08 18:05, 3F

07/08 18:06, , 4F
最後就left(s,4)+chkwhatever+right(s,8)
07/08 18:06, 4F

07/08 18:08, , 5F
你嫌他囉唆可以用array()和for來修理
07/08 18:08, 5F

07/08 18:14, , 6F
還有你chk1是不是算錯? 7*2 + 9*2 = 1 + 4 + 1 + 8 !?
07/08 18:14, 6F

07/11 08:19, , 7F
回M大,沒有錯耶!1212部分10位數跟個位數要分開加
07/11 08:19, 7F

07/11 08:19, , 8F
137137部分要合在一起加再取個位數,我還在研究要怎麼寫
07/11 08:19, 8F

07/11 15:38, , 9F
07/11 15:38, 9F

07/12 14:03, , 10F
沒錯的話你照我上面講的寫一寫就行了
07/12 14:03, 10F

07/12 14:04, , 11F
太長行尾可以用 _ 續行,記得 _ 之前必須要有空白
07/12 14:04, 11F

07/15 11:27, , 12F
嗯,謝謝M大,但後來上頭決定還是用網頁的方式撰寫
07/15 11:27, 12F

07/15 11:27, , 13F
但你說的方式我大約可以了解該怎麼用(雖我現的能力還沒有辦
07/15 11:27, 13F

07/15 11:28, , 14F
法寫出來,但大概有個方向
07/15 11:28, 14F
文章代碼(AID): #1E5hCRVv (Visual_Basic)