VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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ファイルでもコード部は同等です。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -