• 締切済み

ドラクエの「復活の呪文」的なものをVB.NETで!!

例えばTextBox1とButtonBox1を作っておき、ButtonBox1を押すたびにTextBox1に「5a62V」とか「hju44afg9」といったような、英数字混合のランダムな文字列が現れるようにするには、どのようにしたらいいですかね?ま、あまり文字数多くても大変なので、5文字から8文字の間とかですね。 ちなみにドラクエのサイトは必要ありませんので、あしからず。VB.NETではどうしたらできるのか?という話です。 どうぞよろしくお願いします。

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.4

Microsoft.VisualBasicは名前空間のことです。 VB.NETになって従来のVBとは大幅に仕様が変わっており、VB時代の関数を使うならMicrosoft.VisualBasicのクラスに所属する○○という風に指定してあげる必要があるだけです。 LeftやRightなどの文字列を操作する関数なら.Net風だとSubstringというのも別途用意されています。どちらを使うかは好みです。 またSubstring関数にしても正式に書くならSystem.String クラスの Substring という風に書くことになりますが、名前空間は最初に宣言してしまえば省略することもできます(System.Stringはデフォで省略可能になっています)。これはMicrosoft.VisualBasicでも同様に省略できます。 要は、ただの田中さんだとどこの人だと分からないから正式に呼ぶなら3年2組の田中さんと呼ぶことにしましょう。ただし毎回毎回そう呼ぶのも面倒だから、ここで田中さんといえば3年2組の田中さんということにしておきましょうねと最初にルール作りすることも出来ますというのがVB.Netのお約束事ということです。

DT50
質問者

お礼

ご回答ありがとうございます。

すると、全ての回答が全文表示されます。
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.3

>「Microsoft.VisualBasic.」 このような表現はVB.NETからです。 その前は普通に CHRやLEFTやRightが使えていたのですがNETからそのようになりました。多分 Javaに パクられたくないので登録商標が付いているのでしょう。

DT50
質問者

お礼

登録商標でしたか。どうもありがとうございました。

すると、全ての回答が全文表示されます。
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

取り敢えず一例です。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim r1 As New Random Dim r2 As New Random Dim L As Integer Dim i As Integer Dim j As Integer Dim k As String L = r2.Next(6, 8) TextBox1.Clear() For j = 1 To L i = r1.Next(48, 83)   If i > 57 Then     i = i + 7    k = Microsoft.VisualBasic.Chr(i)    k = k.ToLower   Else   k = Microsoft.VisualBasic.Chr(i)    End If TextBox1.Text = TextBox1.Text + k Next End Sub

DT50
質問者

お礼

ご回答ありがとうございます。なるほどぉ。試してみますね!

DT50
質問者

補足

すみません!!! 質問なんですが、「k = Microsoft.VisualBasic.Chr(i) 」の部分の「Microsoft.VisualBasic.」って、どういう意味ですか?関数ですか?自分はこういうコードは見たことがありません。不慣れなので、教えて頂ければ幸いです。

すると、全ての回答が全文表示されます。
回答No.1

ハッシュ値ではどうでしょうか?

DT50
質問者

お礼

さっそくのご回答ありがとうございます。自分はランダム関数を使おうかと思っていました。ハッシュ値って聞いたことありますが、難しそうですね。それは使用したことがない関数(?)なので…。 私目は大した知識がないくせに「復活の呪文の初歩的なものはVB.NETでどうプログラミングするのか?」って疑問が浮かびました。プログラム例の投稿もお待ちしておりますので、どうかよきアドバイスをお願いいたします!

すると、全ての回答が全文表示されます。

関連するQ&A