自己紹介

低層をがむしゃらに走る自称プログラマ ちょっとWebとかに手を出してる

ブログ アーカイブ

ラベル VB.net の投稿を表示しています。 すべての投稿を表示
ラベル VB.net の投稿を表示しています。 すべての投稿を表示

2010年10月20日水曜日

結論

勘 違 い で す
日本語はLuaInterfaceでも使えました

先日出したあのソースは確かにCallで失敗していました
結局それは治りませんでしたがそんなことは良かったのです

LuaInterfaceで動いたからイイノデス!


LuaInterfaceで日本語を使う方法は簡単な事だった。

'日本語を書き込むところの処理
            If (System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(_targetFullPass)) = True) Then
                System.IO.File.WriteAllText(_targetFullPass, Writestr, System.Text.Encoding.GetEncoding("shift_jis"))
            Else
                Dim GrfPath As String = New System.IO.FileInfo(URLTextBox.Text).Directory.Name
                System.IO.Directory.CreateDirectory(_exeurl + "\scripts\GraphicScripts\" + GrfPath + "\")
                System.IO.File.WriteAllText(_targetFullPass, Writestr, System.Text.Encoding.GetEncoding("shift_jis"))
            End If

まぁ説明もなしなんでどうかと思うんですが
ようは.GetEncoding("shift_jis")ですよ.GetEncoding("shift_jis")

前まで、ここの
.GetEncoding("shift_jis")

.GetEncoding("EUC_jp")
だったんですよねー

ニホチニヒホリみたいな文字化けしてたんで
おかしいなーとか心の浅いところで思ってたんだけど
LuaInterfaceのせいにしてたよ俺

最低だ……

あ、ちなみに前にも書いたけど
LuaInterfaceでの記述はこんな感じね、
最新版じゃなくてちょっと古いやつを使っているよ

'存在している場合
            Dim L As New LuaInterface.Lua
            'LUA読み取り
            L.DoFile(full)
            'LUAのGraphicSettingを格納
            Dim func As LuaInterface.LuaFunction = L.GetFunction("GraphicSetting")
            '関数呼び出し
            Dim a = func.Call()
            '関数の戻り値を格納
            HelpTextBox.Text = a(0)
            TypeComBox.SelectedIndex = a(1)
            AllNumNmBox.Text = a(2)
            XNumNmBox.Text = a(3)
            YNumNmBox.Text = a(4)
            XSizeNmBox.Text = a(5)
            YSizeNmBox.Text = a(6)

2010年10月17日日曜日

小言

しらなんだ、DXライブラリは、VB.netでも動くんだ
これで色々と楽になりそう。

使い方
1.公式からC#のDXライブラリを取ってくる
2.VSでDXライブラリを使いたいプロジェクトを開く
3.プロジェクト→参照の追加
4.参照を追加→DXLibDotNet.dllを参照する
5.Releaseフォルダ及びDebugフォルダに
(VisualStudioフォルダのProject→開いたプロジェクト→bin)
DxLib.DLLを入れる
6.Imports DxLibDLL と入れて
あとはDX.と入力するとインテリジェンス君が色々教えてくれる

実際使ってみると
Formとは別窓にウィンドウが出ます
素敵!

2010年10月11日月曜日

.netからLUAの呼び出し

お久しぶりです、そろそろ適当ノリが良くなってきたので
個人的な事をひたすら書き連ねていきたいと思います

ちょっとした理由から、VB.netからLuaを呼び出す必要が出た(というかそのほうが楽だった)
ので、色々と調べてみた所、呼び出すことは可能なようだったのでメモ書き

VBからLUAを呼び出すには
LuaInterface.dllが必要

luainterface-2.0.1.zip

中のLuaとLuaInterfaceのdllをとりあえず
プロジェクトファイルにでも突っ込む

次にVisualStudioのプロジェクト
参照の追加
LuaInterface.dllを追加する

でとりあえずLuaDLLが使える状態になる

---------------------

'関数を呼び出し、5つの戻り値を各TextBoxに格納するのだ

'Luaクラスをインスタンス化
 Dim L As New LuaInterface.Lua


'fullはLuaファイルへのフルパスが格納されている
L.DoFile(full)


'GetFunctionメソッドでLuaメソッドを、func(LuaFunctionクラス)に格納
Dim func As LuaInterface.LuaFunction = L.GetFunction("GraphicSetting")


'関数を呼び出す
Dim a = func.Call()


'各戻り値が a() に格納される、
'それをTextBoxに入れる作業…


AllNumTextBox.Text = a(0)
XNumTextBox.Text = a(1)
YNumTextBox.Text = a(2)
XSizeTextBox.Text = a(3)
YSizeTextBox.Text = a(4)

---------------------

こんな感じで
VB.netでLuaの呼び出しが出来ました
最新版のLuaInterface.dllは使い方がよくわからなかったので、触ってません
大分使い方が違うよう?でしたが…
以下のサイトを参考にさせていただきました


http://blog.cnu.jp/2008/11/18/csharp%E3%81%ABlua%E3%82%92%E7%B5%84%E3%81%BF%E8%BE%BC%E3%82%80/#more-163 http://blog.livedoor.jp/akf0/archives/51607378.html