VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/12/04(Sat) 02:26
投稿者しゅう
Eメール
URL
タイトルRe: 英数字混合の計算方法

提示されている式は下記で確認しました。
細かな例外処理は考慮していません。

'入力式
A = "19Z+1"

B = Len(A)

'計算
For i = B To 1 Step -1
    C = Mid(A, i, 1)
    If C = "+" Then
        D = 0
        E = False
    Else
        E = True
        F = Asc(C)
        If 48 <= F And F <= 57 Then
            G = F - 48
        Else
            '小文字入力対応
            If 65 <= F And F <= 90 Then
                G = F - 55
            Else
                If 97 <= F And F <= 122 Then
                    G = F - 87
                End If
            End If
        End If
    End If
    If E Then
        H = H + G * 36 ^ D
        D = D + 1
    End If
Next

'出力(4桁)
For i = 0 To 3
    Y = H Mod 36
    If 0 <= Y And Y <= 9 Then
        Z = Chr(Y + 48) + Z
    Else
        Z = Chr(Y + 55) + Z
    End If
    H = H \ 36
Next
MsgBox Z


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -