過去の桐井戸端BBS (桐ver.9)
20489 現在実行している一括処理のファイル名を取得する方法はありますか 鳴瀬 2003/05/22-01:04
現在実行している一括処理のファイル名××××.CMDのファイル名を
一括処理内で取得する方法なんてあるのでしょうか?

それがダメなら、あるフォルダから
×××1.CMD、×××2.CMD、×××3.CMDのいづれかで
一括処理が起動されていると仮定される状況下で
×××?.CMDファイルの存在と非存在を判定する方法はありますか?
表だったら開けるかどうかで判定可能のような気がするのですが。
20492 Re:一括処理の名前取得 今村 誠 2003/05/22-08:27
記事番号20489へのコメント
鳴瀬さんこんにちは
>現在実行している一括処理のファイル名××××.CMDのファイル名を
>一括処理内で取得する方法なんてあるのでしょうか?

無いと思います。
関数で現在実行中のパスを取得する、#一括パス名はあります。
共通変数を冒頭で宣言するのもいいかもしれません。

>それがダメなら、あるフォルダから
>×××1.CMD、×××2.CMD、×××3.CMDのいづれかで
>一括処理が起動されていると仮定される状況下で
>×××?.CMDファイルの存在と非存在を判定する方法はありますか?
>表だったら開けるかどうかで判定可能のような気がするのですが。

存在の確認はファイル検索で出来ると思います。

何をしたい(目的)がどうしたらいいの(方法)のように質問されたほうがいいコメントがつくと思います。

参考になるのかはわかりませんがここも読んでみては。
http://www.fuku3.com/~habata/kbbs/kakov8/16528.htm
20497 Re:一括処理の名前取得 宮城 2003/05/22-14:09
記事番号20489へのコメント
鳴瀬さん、こんにちは。

一括処理の冒頭で、何らかの変数に一括処理ファイル名を取るというのはいかがでしょうか?

20501 Re:一括処理の名前取得 鳴瀬 2003/05/22-16:40
記事番号20497へのコメント
宮城さん
>一括処理の冒頭で、何らかの変数に一括処理ファイル名を取るというのは
>いかがでしょうか?

それがしたいのですが書き方がわかりません。
具体的な書式を教えていただけませんか。

それと目的ですが一括処理起動後、処理1、処理2、処理3等等に分岐させたいのです。
メニューを作成して、も確かにあるのですが処理1も処理2も処理3もほとんど同じ処理内容なんです。
で、どの処理に分岐するのかを例えば一括処理に起動時パラメーターを付けて
なんて考えたのですが、パラメーターの受け渡し方法がわかりません。
それでは、一括処理のファイル名が****.CMDとして
これをコピーして****1.CMDと****2.CMDと****3.CMDと
ファイル名を変更するだけでそれぞれの(見かけ上は)処理専用のCMDが作れる、
と思ったしだいです。
簡単には、余分なメニュー画面を1つ減らしたいのが希望です。

20505 Re:一括処理の名前取得 今村 誠 2003/05/22-23:39
記事番号20501へのコメント
鳴瀬さんこんにちは
変数宣言やメニューの作り方は桐8でサンプルをインストールしているのでしたら下記の場所に

c:\k3\kiriv8\Sample\一括処理\住所管理\住所管理.CMD

ありますので、一括処理のコマンドを習得されたがいいと思います。
また桐9であれば、イベント関係のサンプルが主体なので、
ここの井戸端BBSリンクのコーナーにも掲載してある
            ↓
http://www.nsknet.or.jp/~habata/link.htm
【多遊】さんのホームページ
http://www2u.biglobe.ne.jp/~s_tanaka/
でダウンロードをしたり

あるいはONnoji さんのページ
http://www.geocities.co.jp/SiliconValley-Bay/7565/
等をごらんになってみられてはいかがでしょうか
20506 Re:一括処理の名前取得 佐田 守弘 2003/05/23-00:46
記事番号20501へのコメント
鳴瀬さん
今実行している一括処理名が何であるかを変数に書き込むのだとしたら、
一括処理の先頭に次の様に記述して下さい。
----------------------------------
変数宣言 文字列,共通{&cmd}
代入 &cmd="処理1"
----------------------------------
上記のコマンドが実行されれば、変数&cmdに「処理1」という文字列が代入されます。

■起動パラメータの取得
桐の機能として、起動パラメータを取り込む方法はないと思います。
バッチ処理などと組み合わせて、実現する事は可能ですが、
桐だけで行う事は難しいでしょう。

■根本的な解決
同じ様な内容で、一部だけ違う処理を行うのであれば、一括処理は1つにして
メニューなどで異なる部分だけの処理を分けるのが正論です。
一括処理を1つにする理由は次の通りです。
@もし共通する部分を直す場合にも、1つだけ直せば良い。
複数の一括処理を間違いなく直すのは、思いの他面倒なものです。
Aどこが共通でどこが異なる部分かの見通しができる。
後で直す時や、機能を追加するときに必要になります。

ではどの様に分けるかですが、次の様にします。
●選ぶメニューを作る方法
Windows版の桐では、メニューコマンドは使いません。
対象表を指定しないフォームにコマンドボタンを配置したり、
パラメータを入力するテキストボックスなどを使い、ここで
「何をさせるか」のメニューを作ります。
●選んだ条件で処理を分ける方法
この部分は、ケースコマンドを使って、条件に応じて実行する内容を分けます。
それぞれで行うコマンドが多い場合には、それぞれの内容を独立した手続として末尾に記述し、
手続き実行でサブルーチン的にその手続を呼び出す様にすれば、
ケースコマンドの部分が短くなり、見通しが良くなります。

佐田守弘(KS-00119)
20537 Re:一括処理の名前取得 鳴瀬 2003/05/24-19:49
記事番号20492へのコメント
今村 誠さん

>存在の確認はファイル検索で出来ると思います。
#ファイル検索()はファイルの存在・非存在を返すのではなく、ファイル名を含めたパスを返すことを応用して
希望する処理が実現できそうです。

戻る