過去の桐井戸端BBS (桐ver.8)
10413 「コマンド」というコマンドの役割について教えて欲しい。 磯田 2001/03/21-05:08
いつもお世話になっています。
V8sp6を使用しています。
早速ですがこの掲示板の教授陣がよく裏技的に使われることのある
コマンド「コマンド」の役割に就いて教えていただけないでしょうか。
マニュアルには
コマンド:「コマンド以下の文字列を一括処理コマンドとして実行する」
とのっているのですが、たとえば

選択

コマンド "選択"

とではどう違うのでしょうか。
言葉をかえて言えば、コマンドを使わないとできないことはどんなことなのでしょうか。
コマンドという命令はまだ使ったことがないのですが、何かとても奥深いもののような気がするのです。
よろしくお願いします。
10422 コマンド「コマンド」が必要な時 佐田 守弘 2001/03/21-14:26
記事番号10413へのコメント
磯田さん
通常にコマンドを実行させる場合、いくつかのパラメータは変数で指定できる場合がありますが、
少なくともコマンド名は固定になりますね。
どう言ったコマンドを実行させるか、コマンド名やパラメータも含めて、状況によって変化させたい様な時には、
このコマンドを使う事になります。
つまり、実行したいコマンドの記述を計算式で作り出し、それを実行するといった場合です。

例えばある表に書かれている項目値と同じ名称の変数を定義したいとします。
この場合には、どんな名前の変数を定義するか、一括処理を作成する段階では分かっていません。
ですから、変数宣言コマンドが記述できません。
この様な場合に、表から読み取った値を使って、実行したい変数宣言コマンドの記述文字列を作り上げ、
これを「コマンド」で実行すればよい訳です。

佐田守弘(KS-00119)

10424 Re:コマンド「コマンド」が必要な時 Ogo 2001/03/21-14:53
記事番号10422へのコメント
過去ログに実際の活用例があります。
一括処理を解析できるなら、これで「コマンド」コマンドが
何を目的としている理解できるでしょう。

http://www.nsknet.or.jp/~habata/kbbs/kakov8/09926.htm

もちろん、変数宣言とかに限定されることはありません。
特に多いのは、一括処理のコマンドパラメーターが不定で、状況に応じてその中身を変動させたい時でしょう。

# この機能は「禁断の果実」です。 (^^)
# 一旦この甘美な味を憶えてしまうと、桐以外の環境で実現
# 不能なだけに、桐以外のソフトがバカに見えます。

10427 Re:コマンド「コマンド」 toshi-chan 2001/03/21-19:46
記事番号10413へのコメント
磯田さん、こんばんは。
すでにおふたりのコメントがありますが、ちょうど今私自身がそういう事例にあっているので紹介します。

ある免許証の管理を行っています。項目は、
[氏名][免許番号][期限]
となっています。期限は今年の12月31日か来年の12月31日と決まっているので、これを値集合にしたいわけです。
値を
  平成13年12月31日、平成14年12月31日
とすると、来年以降はこの値を使用できません。だからといって
  平成13年12月31日、平成14年12月31日、平成15年12月31日・・・・・・・
といっぱい作ると、数年後には古い日付が邪魔になります。

そこで、一括処理から表を開きます。今日の日付から、今年と来年の12月31日の日付を求めて、
項目属性変更2コマンドで値集合を設定しようというわけです。
今年の12月31日は、
    #日時値生成( #年(#年月日) ,12 ,31)
で求められます。
ところが、表定義で値集合を設定するときは「定数」しか記述できません。
一括処理でも同様で、変数や計算式を直接指定することはできません。
たとえば、
     
 項目属性変更2 変更, [期限]{,,,,,,,,,"{1:""""&日付A""""}"}

のように書いてもだめなんです。こういうときに

 コマンド "項目属性変更2 変更, [期限]{,,,,,,,,,""{1:"""""+&日付A
+"""""}""}"

とすると計算値を取り込むことができます。

10463 Re:コマンド「コマンド」 磯田 2001/03/23-00:53
記事番号10413へのコメント
目からうろこです。
具体的でわかりやすい解説ありがとうございました。
確かにこれがあれば何でもできそうな感じですね。
桐とはもう8年近く付き合っていますが本当に奥が深いですね。これからも勉強続けます。

戻る