作者sdu37 (sdu)
看板Visual_Basic
標題[VB6 ] 有關運算式確認碼寫法
時間Fri Jul 8 15:34:48 2011
從學校畢業到現在已經四五年了,以前有寫過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
1F:→ MOONRAKER:阿就val(mid(s,1,1))*1 + val(mid(s,2,1))*2 + ... 07/08 18:04
2F:→ MOONRAKER:加完最後mod 10不就是第一個檢查碼 07/08 18:05
3F:→ MOONRAKER:第二個檢查碼把乘數改一改也就有了 07/08 18:05
4F:→ MOONRAKER:最後就left(s,4)+chkwhatever+right(s,8) 07/08 18:06
5F:→ MOONRAKER:你嫌他囉唆可以用array()和for來修理 07/08 18:08
6F:→ MOONRAKER:還有你chk1是不是算錯? 7*2 + 9*2 = 1 + 4 + 1 + 8 !? 07/08 18:14
7F:→ sdu37:回M大,沒有錯耶!1212部分10位數跟個位數要分開加 07/11 08:19
8F:→ sdu37:137137部分要合在一起加再取個位數,我還在研究要怎麼寫 07/11 08:19
10F:→ MOONRAKER:沒錯的話你照我上面講的寫一寫就行了 07/12 14:03
11F:→ MOONRAKER:太長行尾可以用 _ 續行,記得 _ 之前必須要有空白 07/12 14:04
12F:→ sdu37:嗯,謝謝M大,但後來上頭決定還是用網頁的方式撰寫 07/15 11:27
13F:→ sdu37:但你說的方式我大約可以了解該怎麼用(雖我現的能力還沒有辦 07/15 11:27
14F:→ sdu37:法寫出來,但大概有個方向 07/15 11:28