掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBで独自言語を作るには? (ID:125641)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
「独自言語」と肩肘を張らなくても良いなら、 > Buttonなどを配置する命令を作るにはどうすればよいでしょうか? という程度の処理は、CodeDomとか使わなくても書けますよね。 とりあえず、とっても手抜きなサンプルをば。 Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 'この場合、ボタンが左上(20,50)の位置に、200x100のサイズで配置されます。 TextBox1.Text = "Button 0020,0050,0200,0100" End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim Code As String = TextBox1.Text If Code Like "Button ####,####,####,####" Then Dim Pos() As String = Code.Substring(7).Split(","c) Dim Btn As New Button Btn.Text = "ぼたん" Btn.Left = Integer.Parse(Pos(0)) Btn.Top = Integer.Parse(Pos(1)) Btn.Width = Integer.Parse(Pos(2)) Btn.Height = Integer.Parse(Pos(3)) Me.Controls.Add(Btn) ElseIf Code Like "TextBox ####,####,####,####" Then Dim Pos() As String = Code.Substring(8).Split(","c) Dim Txt As New TextBox Txt.Text = "ぼたん" Txt.Left = Integer.Parse(Pos(0)) Txt.Top = Integer.Parse(Pos(1)) Txt.Width = CInt(Pos(2)) Txt.Height = CInt(Pos(3)) Me.Controls.Add(Txt) Else MessageBox.Show("構文エラー") End If End Sub ただしボタン配置だけでなく、配置した後のクリックイベントの 処理なども必要というなら、解釈も処理も、かなり複雑になってきます。 で、本気でそこまで言語として実装させる気があるなら、 CodeDomの使用を検討してみるのも良いでしょう。 # 言語を作りこむわけですから、実装は大変でしょうけど。 ちなみに、Visual Studio.NET 2003には、C++言語のためのCodeDOMが 存在しており、これを使うとC++コードを解析したり生成したり できるそうです。(MCppCodeDomProviderアセンブリとMCppCodeDomParserアセンブリ)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.