過去の桐井戸端BBS (桐ver.8)
6857 ボタンに一括処理 初心者 2000/07/14-14:44
まぁ、なんてことはないのでしょうが・・・。

フォームのコマンドボタンで 開く "**.cmd" を設定すると
一括処理が走るではありませんか・・・。
これを使えばイベントからシステムコマンドなんかも実行可能のようです。
遅延、ブザー、機能キー なんかも行けそうです。

モーダルフォームからは実行できないようですが・・・(残念)

当然のことかも知れませんが、チョット意外でしたので。

6863 Re:ボタンに一括処理 KH 2000/07/14-22:38
記事番号6857へのコメント
 初心者(ホントに初心者?)さんありがとうございます。
私にとっては目からうろこです。コマンドボタンの機能名の羅列は、
一括処理が出来ないための小規模なものと頭っから思い込んでおりました。
 わざわざ、ウィンドウ作成、会話コマンドを使ってメニューを作る事もないかもしれませんね。
 コマンドボタンの開くで一括処理ファイルが実行できるなんて
大変有意義な発見を教えていただいてありがとうございました。

6879 それは素晴らしい発見です 佐田 守弘 2000/07/16-23:09
記事番号6857へのコメント
初心者さん
それは素晴らしい発見ですね。
確かに、知っている人は知っている事ではあるのですが、こういった新しい事を自分の目で発見する事は
とても大切な事だと思います。
そして、それが次のチャレンジの原動力になり、また新しい発見をされるかも知れません。
その積み重ねが、大事なのだと思います。

佐田守弘(KS-00119)

6880 すごい! tomo 2000/07/17-01:58
記事番号6857へのコメント
今までイベントを使うと
処理の流れが分からなくなってしまうんじゃないかとそれが心配で
(他の人も管理しなきゃいけないんです)使いにくかったんです。

有り難う御座います。道が開けてくような感じです。
趣味のイベントから、必要な処理のイベントへ移行できそうです。
6883 Re:ボタンに一括処理 sprout45 2000/07/17-17:25
記事番号6857へのコメント
え!マジですか?
いいこと聞きましたo(^◇^)o
今ちょうど桐8で開発してたもので・・・
これで楽できるかも。
6885 (実は...) 実行できるファイルなら何でも開けます 佐田 守弘 2000/07/18-00:47
記事番号6857へのコメント
この件について補足いたしますと、コマンドボタンの機能の「開く」は、桐のファイルに限らず、
シェルで実行できるファイルであれば、何でも開けます。
シェルで実行できるとは、Explorer上でダブルクリックして開けるという意味です。
すなわち、プログラムファイルやバッチファイル、およびそのパソコンにインストールされている各種アプリのデータファイルなどが該当します。
正しくは、ファイルの種類とアプリとの関連づけが設定されているファイルです。

試しにMS-Excelのブックファイル、MS-Wordの文書ファイルなどを指定すれば、MS-ExcelやMS-Wordが起動して、そのファイルが開かれます。

また、開く対象のファイルの指定は、ファイル名を直接指定しても構いませんし、文字列型の値の計算式でも指定できます。
例えば、各種のドキュメントファイルあるいはデジカメの写真ファイルのファイルリストを桐で作成しておき、
そのファイル名が入力されている項目名を「開く」の機能のパラメータとして指定すれば、そのファイルが開かれるはずです。

この機能は、一括処理コマンドの「シェル実行」と同じと理解してよいと思います。
一括処理やイベントでも上記のものを作れますが、イベントなどを使わなくても、同じ機能がコマンドボタンの機能だけでも実現できるわけです。

佐田守弘(KS-00119)
6887 Re:(実は...) 実行できるファイルなら何でも開けます hidetake 2000/07/18-07:20
記事番号6885へのコメント
細かい内容になってしまいますが

>シェルで実行できるとは、Explorer上でダブルクリックして開けるという
>意味です。

>この機能は、一括処理コマンドの「シェル実行」と同じと理解してよいと
>思います。一括処理やイベントでも上記のものを作れますが、イベントな
>どを使わなくても、同じ機能がコマンドボタンの機能だけでも実現できる
>わけです。

前にも書きましたが、桐の「シェル実行」は Explorer上でダブルクリックとは異なる動作をします。
これは、Explorer上でダブルクリックや、START.EXEでファイルを実行すると、
Windows の関連付けで「標準」に設定された命令が実行されますが、
桐の「シェル実行は」は Open (通常の表示は「開く」)に設定された命令が実行されます。
確認は、「マイコンピュータ」を開き、「表示」の「フォルダオプション」で「ファイルタイプ」を確認して下さい。

それに対し、コマンドボタンの「開く」は、Explorer上でダブルクリックと同様な動作をします。

例えば、オーディオCDの Track01.cda と言うデータを、コマンドボタンの「開く」では再生できますが、
「シェル実行」ではファイルが関連付けられていないとエラーになります。
これは 「CDオーディオトラック」(.cda) の関連付けで、Open と言う命令(アクション)が(登録されて)無いからです。

また、桐の「シェル実行」では、オプションパラメータを指定することは出来ませんが、
コマンドボタンの「開く」ですとパラメータを指定できるので、.KEV の中でも「メソッド呼び出し 実行」を使用することにより
簡単にパラメータを渡すことも可能です。この場合、コマンドボタンは非表示にするなり、サイズを0にしておいても構いません。

最期に、コマンドボタンの「開く」なり、「シェル実行」で桐の一括処理(.CMD) を実行する場合、
あくまでも桐は別の桐が開かれ一括処理が実行されるので、その連携には工夫が必要になって来る場合もあります。
例えば、間違ってボタンの2度押しをされてしまった場合、桐が複数起動され、
同時に同じ一括処理を実行することになってしまいます。


6888 Re:(実は...) 実行できるファイルなら何でも開けます 初心者 2000/07/18-08:37
記事番号6887へのコメント
おはようございます。

ボタンの開くで、一括処理を実行するのが実用的かどうかは別にして、

>最期に、コマンドボタンの「開く」なり、「シェル実行」で桐の一括処理
>(.CMD) を実行する場合、あくまでも桐は別の桐が開かれ一括処理が実行
>されるので、その連携には工夫が必要になって来る場合もあります。
>例えば、間違ってボタンの2度押しをされてしまった場合、桐が複数起動
>され、同時に同じ一括処理を実行することになってしまいます。

ちょっと実験してみたのですが、フォームから 開く"**.cmd"ボタンを実行しましたが、同一桐で処理しているようですが?
フォームも一括処理が終了し、処理が戻ってくるのをまっているようですが・・・。

6889 Re:(実は...) 実行できるファイルなら何でも開けます hidetake 2000/07/18-09:05
記事番号6888へのコメント
>ちょっと実験してみたのですが、フォームから 開く"**.cmd"ボタンを実行
>しましたが、同一桐で処理しているようですが?
>フォームも一括処理が終了し、処理が戻ってくるのをまっているようですが・・・。

済みません _o_ コマンドボタンの一括処理は随分前に試した時、このような記憶があったのですが、
「シェル実行」の場合と勘違いしてしまったようです。

それと2度押しの注意などは、悲しげさんのプレビュー処理時のイメージがあって書き添えましたが、
これもコマンドボタンの「開く」で実行する場合は問題ないようですね!
ただ、.KEV が絡む場合、コマンドボタンの「開く」ではプレビューは出てこなかったように思います。(曖昧)

と言うことで、.CMD もコマンドボタンの「開く」で実行した場合と、
「シェル実行」で実行したときは動作が異なるようですね。


6890 Re:(実は...) 実行できるファイルなら何でも開けます hidetake 2000/07/18-09:54
記事番号6889へのコメント
>それと2度押しの注意などは、悲しげさんのプレビュー処理時の
>イメージがあって書き添えましたが、これもコマンドボタンの
>「開く」で実行する場合は問題ないようですね!

これは KIRI8.EXE を起動し *.CMD を開くのではなく、*.CMD を
直接指定し開く場合と言う意味です。

6891 Re:(実は...) 実行できるファイルなら何でも開けます hidetake 2000/07/18-10:16
記事番号6890へのコメント
しかしこうしてみると、コマンドボタンの「開く」に、コマンドボタン
の「シェル実行」、そして、一括処理コマンドの「シェル実行」と微妙な関係なのですね!


6907 Re:シェル実行 bonito 2000/07/19-14:44
記事番号6891へのコメント
コマンドボタンの機能上の「シェル実行」は、以下のヘルプ通り…
>【機能パラメータ】
> <ファイル名>[,<パラメータ>[,<作業フォルダー名>[,<実行時の大きさ>]]]
でパラメータを記述できるので、(ボタンの)パラメータ欄に
"C:\k3\KIRIV8\System\KIRI8.EXE"," /s w:\kw\ /o d:\kw\kw.wfm"
と記述すれば共有フォルダを変更してもう一つの桐が立ち上がりますが、

一括処理コマンドの「シェル実行」は何故かパラメータを書く場所(?)が
なくて(こういう場合はシステムコマンドなんでしょうが、KEVでは使用不可!)
むりやり、コマンドに
シェル実行 "C:\k3\KIRIV8\System\KIRI8.EXE /s w:\kw\ /o d:\kw\kw.wfm"\
       ,表示=最大化,&実行リターン,プロセス番号=&件数
と書くと「C:\k3\KIRIV8\System\KIRI8.EXE は編集できないファイルです」と桐にしかられます…
しかられますが、目当てのkw.wfmはちゃんと(?)オープンします (@_@) (ほんとにちゃんとかどうかは…??)

かのDBproのマニュアルをかいま見た限りでは、DBproでは多くのコマンドに
同期、非同期のパラメータがついていてユーザーが必要に応じて選択できるもののようです。

羨望!

6908 Re:シェル実行 hidetake 2000/07/19-15:37
記事番号6907へのコメント
そうなんですよねぇ〜
何を考えてこのような仕様になったのでしょうか?

仕方ないので .KEV では「シェル実行」用のコマンドボタンを作成し、
「メソッド呼び出し 実行」を使用するのが簡単では無いでしょうか?

でも、同期で実行することは不可能なので、この辺まで制御しようとなると、
外部プログラム (BAT/EXE) で一工夫する必要が出てくるのが難点です。


あとコマンドボタンの「開く」と「シェル実行」で、「開く」は開くと言う言葉が付きながら、
Explorer のダブルクリックと同等の関連付けの標準を実行し、「シェル実行」は
ダブルクリックとは異なる動作の「開く(Open)」固定での実行と、名前と動作もよく考えると、
ちぐはぐな気がします。


【備考】
桐の場合、命令を記述するのに一括処理だ!いやイベント!だって話もよく聞くけど何か変に感じます。
ようは、命令の使える場面の制限が多すぎるのですよね...
だから、2つがまったく違う概念だとか別物になってしまうような気がします...

あと、桐の9ってどうなっているのでしょうか?
当初の予定ではもう出ていてもおかしくない時期ではない
でしょうか? さて、桐9はどうなるのかな???


戻る