人生でいちばんスベッた瞬間

お世話になります。
2点ほどVB.netのコーディングに関して質問があります。

環境:VB2008
DB:SQLSEVER

A = アプリケーション1
B = アプリケーション2
複数の引数 = DB検索情報(key,テーブル名)&ヒットしたファイルが格納されているルートディレクトリ

●実装したい機能
Aから外部のB(exe)を呼び出し、Aから受け取った複数の引数を元にDBを検索しファイル名をヒットさせ、そのファイルを開く。

質問(1)
Aから外部のB(exe)を呼び出すときにAで取得した複数の引数をBに渡す方法はどうするのでしょうか?

質問(2)
受け取った引数を元にDBを検索し、ヒットしたファイルを開きたいのですが、その複数の引数を格納する構文はどういったものになるのでしょうか?

ネットで調べはしましたが、いまいちピンとくるものがなく質問した次第です。
最近VBを始めたもので、質問をする上で情報が欠如しているかもしれませんが、ご回答頂けると幸いです。
よろしくお願いします。

A 回答 (2件)

> 受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、


> この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。
> xにhoge.txt fuga.txt
> yにpiyo.txt
> といった感じです。

 Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")
としたとき、Mainメソッドに渡される引数は
 CmdArgs(0) → "hoge.txt"
 CmdArgs(1) → "fuga.txt"
 CmdArgs(2) → "piyo.txt"
になります。(スペース区切り)

 Process.Start("SomeEXE.exe", """hoge.txt fuga.txt"" piyo.txt") //←ひとまとめにしたい引数はダブルクォーテーション(")で囲う
とすると、Mainメソッドに渡される引数は
 CmdArgs(0) → "hoge.txt fuga.txt"
 CmdArgs(1) → "piyo.txt"
になります。
    • good
    • 0
この回答へのお礼

お世話になってます。

回答ありがとうございます。
疑問が晴れました。ありがとうございました。

お礼日時:2014/02/05 13:45

> Aから外部のB(exe)を呼び出すときにAで取得した複数の引数をBに渡す方法はどうするのでしょうか?


System.Diagnostics.Process.Startメソッドにコマンドライン引数も指定できるオーバーロードがあります。
http://msdn.microsoft.com/ja-jp/library/h6ak8zt5 …
http://dobon.net/vb/dotnet/process/shell.html

'Imports System.Diagnostics
Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt") 'SomeEXEの終了を待たない場合
Process.Start("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt").WaitForExit() 'SomeEXEの終了まで待つ場合


> 受け取った引数を元にDBを検索し、ヒットしたファイルを開きたいのですが、その複数の引数を格納する構文はどういったものになるのでしょうか?
受け取り側もVB.NETで作っているということでよろしいでしょうか?
それならこちらに有用な情報があります。
http://dobon.net/vb/dotnet/programing/commandlin …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

おかげさまで引数をB側(VB.NETで作ってます)で受け取る事ができました。
恐縮ですが、もうひとつご教示願いたいのですが...。

Private Sub Main(ByVal CmdArgs() As String)
'コマンドライン引数の表示
Dim cmd As String
For Each cmd In CmdArgs

このcmdに複数の引数が渡ってきましたが、
この引数を分割する方法はどうするのでしょうか?

受け取った引数が("SomeEXE.exe", "hoge.txt fuga.txt piyo.txt")となっていますが、
この"hoge.txt fuga.txt piyo.txt"をxとyといった変数に別々に格納したいのですが・・・。
xにhoge.txt fuga.txt
yにpiyo.txt
といった感じです。

質問に質問はルール違反?かもしれませんし、
基礎から勉強しろと言われそうですが、困っています。
よろしくお願いします。

お礼日時:2014/02/05 11:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報