過去の桐井戸端BBS (桐ver.8)
14359 桐8で桐5の描画コマンドの代替 きこり 2001/12/03-13:58
昨年のこの頃に、"9174 桐5の描画コマンド"で教えていただいた きこりです。

そのときに みすずさんから教えていただいた下記の事項の中で


>解決したならかまいませんが、上記の事が桐8+N88互換BASIC95でも可能なような気が
>するのですが。
>システムコマンドは同じく起動したプログラムの終了を待ち合わせるとおもいますので
>
>1.桐8一括処理でデータを書き出す
>2.システムでN88互換BASIC95&プログラム起動(引数で指定)
>3.データ読み込み
>4.グラフィック表示
>5.N88互換BASIC終了
>6.子プロセス終了、桐8一括処理継続


2.の"システムでN88互換BASIC95&プログラム起動(引数で指定)"を具体的に教えていただけませんでしょうか。

その後、ようやく桐8にも慣れて来た気がするので、桐5から桐8への移行にトライしてみようと思います。
14362 Re:桐8の描画コマンドの代替 アックン 2001/12/03-18:37
記事番号14359へのコメント
きこりさん、こんばんは。
桐V8だけ使ってフォームに直線を描く方法をご紹介します。
確認用の表示が目的でしたら、桐だけでもある程度までは実現できるかもしれません。

直線の色や太さ等は一本毎変えて表示できます。
グリッドの表示が必要であれば、あらかじめフォームに直線とは異なる色で表示しておくこともできますし、
コマンドボタンで表示したり消したりできます。

別アプローチですが、是非トライしてみてください。

注意点:
1)フォームサイズに制限あり
2)オブジェクト数に制限あり
(制限数については、マニュアルかヘルプのどこかに載っています。(^^;)

・表の項目(例)
 [X1](データ型:数値):始点X
 [Y1](データ型:数値):始点Y
 [X2](データ型:数値):終点X
 [Y2](データ型:数値):終点Y

・フォーム(カード型またはダイアログ)
a)自動作成したときは、テキストボックス・ラベルオブジェクト・コマンドボタンをヘッダまた
はフッタに移動しておきます。

b)直線オブジェクト(例:@直線_1〜@直線_100)
 直線を描く場所はフォーム明細部です。すべてフォーム明細部に配置します。
 オブジェクトの属性>表示(タブ)>「画面表示する」を OFF(チェックマークはずす)、
 その下の「繰り返し表示する」もついでに OFF、
 境界線(タブ)>「境界線なし」を OFF にする。

c)コマンドボタン(例:@b_1)
 マウス左クリックイベントを ON。

d)イベント定義
***----------(次行からはkevファイル全文です)
名札 メイン
 var  数値{ &i=0 } , \
   文字列{ &line }

proc b_1::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照
 長整数 &処理中止)
 ジャンプ 行番号=T
 while ( .not#eof )
    &i = &i+1 , \
    &line = "直線_"+#str(&i)
    object &line{ 始点X=#str(#DotToPoint([X1])) , \
            始点Y=#str(#DotToPoint([Y1])) , \
            終点X=#str(#DotToPoint([X2])) , \
            終点Y=#str(#DotToPoint([Y2])) , \
            画面表示="1" }
    ジャンプ 行番号=+1
 end 
end 
***-----------kevファイルは以上です。
14363 Re:桐8の描画コマンドの代替 アックン 2001/12/03-18:48
記事番号14362へのコメント
補足です。
イベント定義はカード用です。

14372 Re:桐8の描画コマンドの代替 きこり 2001/12/03-21:12
記事番号14362へのコメント
アックンさん 別視点からのご教示ありがとうございます。
桐8のイベント定義がもう少し上達したらトライしたいと思います。

今回、N88互換BASIC を採用したのは下記の理由によります。

1.N88互換BASIC という位だからN88BASICと互換性が高い。
2.画面の行数、文字数、ドット数が自由に変更できる。
3.既存のN88BASICソースがある。
4.無料(フリーウェア)である。

特に2.はDOS版にもできないポイントの高いところです。

しかし、DOS版では子プロセスからBATファイルで

N88BASIC/F:3/T:RUN "BASICファイル"

などとして起動していたのですがWIN版での方法がわかりません。
気長に待ちますのでよろしくお願いします。
14373 Re:別のWinBasic pokopon 2001/12/04-00:00
記事番号14359へのコメント
きこりさん こんにちは

>2.の"システムでN88互換BASIC95&プログラム起動(引数で指定)"を具体的に教
>えていただけませんでしょうか。

>N88BASIC/F:3/T:RUN "BASICファイル"

おそらく、「"」を含んだパラメータの記述の仕方で解決しそうです。

N88Basicのインストールフォルダがd:\N88BASIC として


システム "d:\N88BASIC\N88BASIC.exe","/F:3/T:RUN "+""""+"BASICファイル"+"""",&実行リターン
と""""で連結したらどうでしょう? (間違っていたらゴメンナサイ)
あるいは、事前に
&STR = """"+"BASICファイル"+""""
と変数に実行ファイル名を代入し(フルパスで)
システム "d:\N88BASIC\N88BASIC.exe","/F:3/T:RUN " + &STR , &実行リターン
でも大丈夫?

はずしていたら、ゴメンナサイ(やった事無いので)。

参考までに:
Win版Basicに「ActiveBasic」というフリーのBASICがあり、N88Basicと互換があります。
また、このソフトで関連付けされていると、そのまま「シェル実行」でもファイル名だけの記述で実行可能かと思います。
さらに、「exeタイプ」にコンパイルできますので(lib不要だった筈??)コンパイル後は、システムコマンドで直に実行可能かと思います。
(全て、うら覚えの、確信が無い情報ですけど)
http://www2s.biglobe.ne.jp/~yamadai/activebasic/index.html
からどうぞ。 (^^ゞ

14374 Re:別のWinBasic きこり 2001/12/04-07:46
記事番号14373へのコメント
pokoponさん ご教示ありがとうございます。
桐5から桐8側のソースの移植が完了し次第やってみようと思います。

紹介していただいた「ActiveBasic」もすばらしいと思います。

BASICオンリーの8ビット機時代に何とか仕事に使おうと四苦八苦してきた世代には、こういうものがフリーであるとは感激です。

その昔、BASICの欠点を桐がカバーしてくれました。
今回は桐の不得意分野を、BASICが助けてくれるかもしれません。

パソコン使いのすべてが重厚長大のシステムを必要としている訳ではないとおもいます。
現場の人間に本当に役に立っているのは、小ツールの類だったりします。
桐5、桐8、BASICを使い分けていくつもりですので今後ともよろしくお願いします。

14433 Re:桐8の描画コマンドの代替 きこり 2001/12/08-06:50
記事番号14359へのコメント
自己レスです。

N88互換BASIC95に、拡張子"BAS"を関連付て、

桐8から シェル実行 "図表示.BAS",&OK
BASICから SYSTEM

で、相互に行き来できることがわかりました。ディスプレイの解像度にあわせた綺麗で大きな表示ができます。

コンパイルできなくても所詮、桐もインタプリタですし、描画コマンドの代替えとして、私は気に入りました。

14441 Re:桐8の描画コマンドの代替 pokopon 2001/12/08-19:16
記事番号14433へのコメント
きこりさん こんにちは

>N88互換BASIC95に、拡張子"BAS"を関連付て、
この手が一番簡単ですね。でも、引数(/F:とか)は指定できませんので、デフォルテに固定されます。
起動条件を変更したい場合などにはご注意ください。

この他に、迂回技として、ショートカットを作成し(N88Basicの)、そのプロパティーの「コマンドライン」に引数を設定、
シェル実行で、そのショートカットを実行させるという方法もあるかと思います。

ショートかとのコマンドラインに
N88BASIC.exe /F:3 /T:RUN "BASICファイル"
と直接記述すればどうでしょうか?
(思い付きですけど、実行パスや作業パスも関連してきます)
これなら、関連付けを解除しても動くと思うんだけど〜〜。
(挙動は未確認です)

>桐8から シェル実行 "図表示.BAS",&OK
>BASICから SYSTEMで、相互に行き来できることがわかりました。ディスプレイの
>解像度にあわせた綺麗で大きな表示ができます。
メモリの配分というか使い方をご注意ください。チャイルドで起動するアプリには
特にですけど。

>コンパイルできなくても所詮、桐もインタプリタですし、描画コマンドの
>代替えとして、私は気に入りました。
上手くいったようで何よりです。ご自分が「気にいる事=成功」と思います。

戻る