C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 実行するプロシージャの順番を指定するには?


(過去ログ 81 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■48012 / inTopicNo.1)  実行するプロシージャの順番を指定するには?
  
□投稿者/ kaze (1回)-(2010/03/20(Sat) 03:52:14)

分類:[VB.NET/VB2005 以降] 

VB2008 Expressを使用しています。
多数のプロシージャがあって、そこから任意に順番を指定して実行させたいと思っています。

Private Sub aaa()
End Sub
Private Sub bbb()
End Sub
Private Sub ccc()
End Sub
Private Sub ddd()
End Sub
Private Sub eee()
End Sub

と、あって
テキストボックス等で順番を指定して、その順番通りに実行させるとしたら、どのような処理がありますでしょうか?
ccc→ddd→bbb→eee→aaaと実行したり、eee→aaa→ccc→bbb→dddと実行させたりといった感じです。
よろしくお願いします。
引用返信 編集キー/
■48013 / inTopicNo.2)  Re[1]: 実行するプロシージャの順番を指定するには?
□投稿者/ もりお (202回)-(2010/03/20(Sat) 06:01:27)
No48012 (kaze さん) に返信

> テキストボックス等で順番を指定して、その順番通りに実行させるとしたら、
> どのような処理がありますでしょうか?

順番はどのように入力されるのでしょうか。
たとえば、文字とメソッドを関連付けるハッシュテーブルを用意して
入力された文字によってメソッドを呼び出す方法があります。

Protected Delegate Sub AlphabetDelegate()
Protected AlphabetMap_ As Dictionary(Of Char, AlphabetDelegate)

Private Sub Form1_Load() Handles MyBase.Load
  AlphabetMap_ = New Dictionary(Of Char, AlphabetDelegate)()
  AlphabetMap_.Add("a"c, New AlphabetDelegate(AddressOf A))
  AlphabetMap_.Add("b"c, New AlphabetDelegate(AddressOf B))
  AlphabetMap_.Add("c"c, New AlphabetDelegate(AddressOf C))
End Sub

Private Sub Button1_Click() Handles Button1.Click
  ExecuteAlphabets("cba")
End Sub

Protected Sub ExecuteAlphabets(ByVal alphabets As String)
  For Each alphabet As Char In alphabets
    AlphabetMap_(alphabet).Invoke()
  Next
End Sub

Private Sub A()
  Debug.WriteLine("A")
End Sub

Private Sub B()
  Debug.WriteLine("B")
End Sub

Private Sub C()
  Debug.WriteLine("C")
End Sub

引用返信 編集キー/
■48015 / inTopicNo.3)  Re[1]: 実行するプロシージャの順番を指定するには?
□投稿者/ .SHO (1233回)-(2010/03/20(Sat) 08:04:04)
No48012 (kaze さん) に返信

> テキストボックス等で順番を指定して、その順番通りに実行させるとしたら、どのような処理がありますでしょうか?
> ccc→ddd→bbb→eee→aaaと実行したり、eee→aaa→ccc→bbb→dddと実行させたりといった感じです。

そう作ればいいだけ。
何を聞きたいのか明確にしてください。

引用返信 編集キー/
■48017 / inTopicNo.4)  Re[2]: 実行するプロシージャの順番を指定するには?
□投稿者/ kaze (2回)-(2010/03/20(Sat) 14:13:11)
> 順番はどのように入力されるのでしょうか。

説明足らずですいません。
ボタンの横にテキストボックスを張り付けて、テキストボックスに番号が入力してあったらその順番通りにボタンが押されるような処理を考えています。

> たとえば、文字とメソッドを関連付けるハッシュテーブルを用意して
> 入力された文字によってメソッドを呼び出す方法があります。

これ良いですね!!
同じ文字を複数入れたらその回数だけ実行してくれますし。
大文字・小文字を区別してくれるのでかなりの種類が登録できますし。

ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -