投稿日 | : 2002/12/03(Tue) 14:29 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : コンソール出力のサンプル |
> VB.NETではコマンドライン用のアプリを作れるらしいですが、
VB.NETを使った、簡単なサンプルを書いておきます。
なお、実行には.NET Frameworkが必要です。
# 最近のOSであれば、Windows Updateを行っていれば、
# ランタイムがインストールされていると思います。
Option Explicit
Public Class ConsoleTestSample
Public Shared Sub Main()
Dim L As Integer
L = 1234 + 5678
System.Console.Write(" 2進数では、{0}で、", System.Convert.ToString(L, 2))
System.Console.WriteLine("10進数では、{0}です。", L.ToString())
System.Console.Write("[Enterキーを押すと終了します]")
System.Console.Read()
End Sub
End Class
上記を C:\Sample.vb としてファイルに保存してください。
その上でコマンドプロンプトを起動して、.NET Frameworkに含まれる
VBC.EXEのあるフォルダに移動してください。
(私の環境では、C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\ でした)
そして、そのフォルダにて、
vbc.exe /t:exe /out:"C:\Sample.exe" "C:\Sample.vb"
と実行すれば、C:\Sample.exe ができあがります。
> .NET以前のVBでも、ActiveX.dllとVBScriptを使用すれば一応出来ないことは無いらしいですが…
> (こっちも詳しくは知りません)。
こちらは、こんな感じ。
とりあえず、ActiveX DLLを使わない場合のサンプルです。
<?xml version="1.0" encoding="Shift_JIS"?>
<package xmlns="http://schemas.microsoft.com/WindowsScriptHost">
<job id="Sample">
<script language="VBScript">'<![CDATA[
Option Explicit
Dim L
Dim stdOut, stdIn, buf
Set stdOut = WScript.StdOut
L = 1234 + 5678
stdOut.Write " 8進数では、"
stdOut.Write Oct(L)
stdOut.Write "で、16進数では、"
stdOut.Write Hex(L)
stdOut.WriteLine "です。"
stdOut.WriteLine "[Enterキーを押すと終了します]"
Set stdOut = Nothing
Set stdIn = WScript.StdIn
Do Until stdIn.AtEndOfLine
buf = stdIn.Read(1)
Loop
Set stdIn = Nothing
']]></script>
</job>
</package>
上記を、C:\Sample.wsf として保存してください。
( <?xml version="1.0"〜?>の行が 1行目になるようにして下さい)
そして、コマンドプロンプトから、
CScript.exe C:\Sample.wsf
のようにして呼び出します。
# 上記では、wsfファイルを用いていますが、vbsファイルでもコード部は同等です。