実行ファイルを実行する時に変数を渡す方法

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
ppp

実行ファイルを実行する時に変数を渡す方法

#1 投稿記事 by ppp »

なんと言うタイトルにすればいいのか分からなかったので上記の通りになりました。

色々検索して見たのですがどうしても分からないので教えてくださいm(_ _)m

例:
実行ファイル:test.exe

実行ファイルを下記のようにした場合、出力結果を下記の通りに出したい場合どのようにすればいいのでしょうか?
基本的なコードなのですがなかなか出来ません・・・教えてください。

a:\>test.exe?text_a="abc"&text_B="def"&hensu=123

結果:
text_a : abc
text_b : def
hensu : 123


宜しくお願い致します。m(_ _)m
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: 実行ファイルを実行する時に変数を渡す方法

#2 投稿記事 by 7 »

> 例:
> 実行ファイル:test.exe
>
> 実行ファイルを下記のようにした場合、出力結果を下記の通りに出したい場合どのようにすればいいのでしょうか?
> 基本的なコードなのですがなかなか出来ません・・・教えてください。
>
> a:\>test.exe?text_a="abc"&text_B="def"&hensu=123
>
> 結果:
> text_a : abc
> text_b : def
> hensu : 123
う~ん...。CGIとかPHPでいう、クエリー?ですっけ?あんな感じでしょうかね?
実行ファイルを実行する時に渡した文字列や数値を取得したい場合、GetCommandLine()関数で取得できます。
"実行ファイルへの絶対パス" abc def 123
GetCommandLine()関数で取得したコマンドライン文字列はこんな風にダブルコーテーションで挟まれた実行ファイルへの絶対パスに続き、半角スペースで区切られた状態になっています。

ただこれだとフレキシブルじゃないんですよねぇ...。
"abc"はtext_aに、"def"はtext_bに、123は、hensuにといった感じではなく、第一引数はこの変数に、第二引数はこの変数に、第三引数はこの変数に、といった風に決まってしまいます。

ABでCGIを実行する?ことができるんですけど、それでクエリー?を取得する関数がたしかあって、それで普通にクエリー?を取得できるのかもしれません。
たぶんサーバー?でCGIとして実行しないと無理なんでしょうけど...。

よく分からない方面の分野なので適当な回答で申し訳ないです。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#3 投稿記事 by konisi »

http://www.activebasic.com/forum/viewtopic.php?t=1650
こいつの、字句解析関数をちょっと改造してやれば出来ると思いますが、流石に?マークでは区切れないと思います。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
返信する