ランダムな文字列(6文字)(英数字)をEditBox1に出力

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
ゲスト

ランダムな文字列(6文字)(英数字)をEditBox1に出力

#1 投稿記事 by ゲスト »

ランダムな文字列(6文字)(英数字)をEditBox1に出力する方法が分かりません。
誰かソース付きで教えてください。
お願いします。
ゲスト

#2 投稿記事 by ゲスト »

これで良いのですか??

Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
DIM RndDATA As String
DIM Kaisuu As Long
Randomize
For Kaisuu = 1 To 5
RndDATA = RndDATA + Chr$(Int(Rnd()*25) + &H41)
Next
SetWindowText(GetDlgItem(hMainWnd,EditBox1),RndDATA)
End Sub

数字は、自分で考えてください。
ゲスト

#3 投稿記事 by ゲスト »

すみません。
下記1行修正です。

RndDATA = RndDATA + Chr$(Int(Rnd()*&h26) + &H41)
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

ぼくだったらこうやりますが。(一部引用。)

コード: 全て選択

Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT) 
    Dim Dat As String 
    Dim I As Long
    Dim A As Long
    Randomize 
        For I = 0 To 5 
            A = Int(Rnd()*62)+48
            If A>=58 then A=A+7
            If A>=91 then A=A+6
            Dat = Dat + Chr$(A) 
        Next I
    SetWindowText(GetDlgItem(hMainWnd,EditBox1),Dat) 
End Sub

ちなみに

ASCIIの文字コードによると
48(0x30)~57(0x39)→0~9の数字
65(0x41)~90(0x5A)→A~Zの英文字
97(0x61)~122(0x7A)→a~zの英文字
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
返信する