Future BASIC II-J Mailing List

- 総 集 -

注意
この色の文字は「引用」を表しています。また、連絡メール等は削除してあります。

Subject: [fb-ml 3] 自己紹介です。
みなさん、はじめまして。
東京都府中市在中の山下と申します。

とりあえず、まずは自己紹介を致します。

(生まれ)大阪府堺市出身。
        ↓
   その後  ↓ 京都市北区
        ↓ 岐阜県多治見市
        ↓ 神奈川県川崎市
        ↓ 神奈川県茅ヶ崎市 ←この時、Macintosh購入。
        ↓
(今の住まい)東京都府中市。 と、結構転々としました。
               ここ3年ほどは落ち着いています。

(Macintosh環境)・本体:LC575
         ・外付けHDD 1000MB(ケースだけFWB-HDDの“バッタもの”。)
                あと、340MBも1台ありました。
         ・ZIPドライブとCanonのプリンタ。28.8Kのモデム。
           こんなところです。

 MacPowerに連載されていた冨山学さんの記事を拝見しましてFB IIに興味をそそられたのがそもそもの始まりです。
(↑結構、こういう方は多いのじゃないでしょうか。)
その後、冨山さんのホームページから古籏さんのホームページの存在を知り、この自己紹介に至ってます。
(↑その流れとして、結構、こういう方も多いのじゃないでしょうか。)
FB IIは、日本語版が発売されてからですから、まだまだ初心者です。

メールで見知らぬ方からたくさん評価を頂くくらい使い甲斐のある(もしくはどうしようもなくくだらない?)ソフトが作れるようになるのが目標です。(^^;)

いろいろ初歩的なことを質問することが多いかと思いますが、宜しくお願いいたします。(^o^)

Subject: [fb-ml 4] はじめまして
 みなさんはじめまして。
 渋谷区に住んでいる伊藤です。古籏さんにはいつも助けていただいています。古籏さんのHP無しでFBのマニュアルだけだったら……考えただけでも気が遠くなってしまいます。
 とりあえず自己紹介など。

 BASIC暦は8年ほどでしょうか。(間にかなりのブランクがありますが。)

 ハタチの時にプログラミングをやりたくてMSX2+を買い、BASICにハマりました。
 数年後X68000に変わり引き続きX-BASIC。この頃必要に迫られアセンブラをかじりました。(X-BASICは関数をアセンブラで拡張できました。拡張しなければちょっと……でした。)

 そしてそして3年ほど前にマックに鞍替えしました。マックにはBASICがないのでプログラミングは半分諦めていました。しかしディレクターを持っていたので、LINGO(^_^;)でプログラミングをやってました。でもLINGOでは当然限界があります。(ゲームなんかは遅いけど作りやすいですが)「よしCを始めよう!!」そう思い立ってC++を買いました。しかし直ぐに挫折しました。(ToT)
 失望に暮れているところにFBの日本語版が出るとの知らせが。(FB自体は以前から知っていたんですが、英語版だけだったし「どうせインプリで本体が無ければ動かないンだろ」と思っていました。)

 多分お答えするより質問する方が多くなると思いますが、よろしくお願いします。
 それでは。

Subject: [fb-ml 5] Re: 自己紹介です。
古籏一浩です。

At 3:58 97.3.21 +0900, WataruYamashita wrote:
 MacPowerに連載されていた冨山学さんの記事を拝見しましてFB IIに興味をそそられたのがそもそもの始まりです。(↑結構、こういう方は多いのじゃないでしょうか。)
 私は最初QuickBASICでした。
 これがMac Japanに載っていた、連載されていたというのが大きな理由でした。後にFBの存在を同様に知りまして英語版を購入しました。

その後、冨山さんのホームページから古籏さんのホームページの存在を知り、この自己紹介に至ってます。
(↑その流れとして、結構、こういう方も多いのじゃないでしょうか。)

 現在の所、ほぼこういうパターンだと思います。
 とりあえずホームページ上でも募集しようと思います。
 そうすれば、いろいろ情報交換もできますし(^^)

Subject: [fb-ml 6] Use FB-ML
古籏一浩です。

もしかしたらメーリングリストというものが初めてという方もいるかもしれませんので、一応の暗黙の了解(?)を書いておきます。

まず、メーリングリストで発言したり、雑談したりする場合は最初に「XXです」といった具合に自分の名前を書いて下さい。本名でなくて、ニックネームでも構いません。

UNIXマシンの一部では表題(Subject)が文字化けして読めない場合があるのと、サーバーマシンによっては日本語subjectが 通過しない場合があります。そのため、表題(Subject)にはなるべく日本語は使用しないでください。

「わかりません、教えて下さい」と書いて、いきなりプログラムリストを垂れ流すのは、ちょっと反則だと思いますので、先に質問と不明点を書いてからプログラムリストを流してください。
「わかりません、動きません、教えて下さい」と書かれていきなりプログラムがくっついていると、どこが悪いのか見当がつかないので。

メールソフト(メーラーといいます)には書類添付という機能があり、画像やプログラムリストをくっつけて送るのはやめてください。fb-mlで使用しているサーバーに限らず書類添付のサイズに限界があり、途中のどこかのサーバー等でサイズオーバーではねられてしまいます。


Subject: [fb-ml 7] Re: はじめまして
古籏一浩です。

At 6:27 97.3.21 +0900, zzz@mail.yamato.or.jp wrote:
 渋谷区に住んでいる伊藤です。古籏さんにはいつも助けていただいています。古籏さんのHP無しでFBのマニュアルだけだったら……考えただけでも気が遠くなってしまいます。
 私が始めたときはNiftyServe上のFBのホームパーティしかありませんでした。
 もっとも、あっただけ幸いなんですが。
 今のホームパーティとは別にFB研というのがあって、そこでは結構有益な情報交換がされていました。

 実は私がページ上で紹介しているNistyServeのホームパーティの状態が非常に危険なので、なくなる前にFBのメーリングリストを作成しておけば安心(?)かなとf(^^b

 多分お答えするより質問する方が多くなると思いますが、よろしくお願いします。
 それでは。

 こちらこそ、よろしくお願いいたします。

Subject: [fb-ml 8] Re: 自己紹介です。
At 2:04 PM 97.3.21 +0900, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 3:58 97.3.21 +0900, WataruYamashita wrote: > MacPowerに連載されていた冨山学さんの記事を拝見しましてFB IIに興味をそそられたのがそもそもの始まりです。
>(↑結構、こういう方は多いのじゃないでしょうか。)
 私は最初QuickBASICでした。
 これがMac Japanに載っていた、連載されていたというのが大きな理由でした。後にFBの存在を同様に知りまして英語版を購入しました。

>その後、冨山さんのホームページから古籏さんのホームページの
>存在を知り、この自己紹介に至ってます。
>(↑その流れとして、結構、こういう方も多いのじゃないでしょうか。)

 現在の所、ほぼこういうパターンだと思います。
 とりあえずホームページ上でも募集しようと思います。
 そうすれば、いろいろ情報交換もできますし(^^)

始めまして、森川 俊彦と申します。

 私もまったく同じパターンです。その後モモデラさんが予約キャンペーンをやっているのを知り、即予約してしまいました(必要に迫られてという部分も有りましたが...)。
 買ってから仕事用に、医療用機械についている5インチMOをマックで読み出すというソフトを作りました。もちろん、フォーマットはまったくのオリジナルなので読み出せるようになるまでは試行錯誤がかなりありました。
なんとか動いていますが未だにSCSI Managerの使い方がわかったというところまでいっていません。

 FBについてはいくつか疑問点も有るのでそのうちみなさんにお聴きしたいと思います(たいしたものではないのですが)。

今後ともよろしくお願いします。

Subject: [fb-ml 9] Re: 自己紹介です。
古籏一浩です(^^)

At 12:21 97.3.22 +0900, Toshihiko MORIKAWA wrote:
 買ってから仕事用に、医療用機械についている5インチMOをマックで読み出すというソフトを作りました。もちろん、フォーマットはまったくのオリジナルなので読み出せるようになるまでは試行錯誤がかなりありました。なんとか動いていますが未だにSCSI Managerの使い方がわかったというところまでいっていません。
 購入していきなり5inch MOのデータの読み出しですか。
 SCSI Driverレベルかな。
 私はSCSI関係は全然やった事がないので???ですf(^^b

 各自、多分得意分野があると思います。
 私の得意分野というかは、画像&ゲーム関係です。
 制御とかは、あまり得意ではありません。

Subject: [fb-ml 10] Re: 自己紹介です。
森川 俊彦です。

At 4:22 PM 97.3.22 +0900, KaZuhiro FuRuhata wrote:
 購入していきなり5inch MOのデータの読み出しですか。
 SCSI Driverレベルかな。
 私はSCSI関係は全然やった事がないので???ですf(^^b

 各自、多分得意分野があると思います。
 私の得意分野というかは、画像&ゲーム関係です。
 制御とかは、あまり得意ではありません。


 私もSCSI関係をやったのは今回が初めてです(^_^)。

 初め、SymantecCが手元にあったのでこれで作ろうかと思ったのですが、GUI周りが面倒だったのでBasicにしました(それになんか懐かしい感じがして...)。
 実際SCSI managerをとおしてMOに自由にアクセスできるようになるのに3日くらいかかりました。メインの仕事はほかにあるので...(^_^)

Subject: [fb-ml 11] 自己紹介です。
始めまして!皆さん!
関谷和男と申します、FBIIで、プログラミングの勉強をはじめて、3月が立ちますが、あまりにもスローペースのため、まだプログラミングマニュアルのレッスンも終わってません。(^_^;;;
こんな私です。宜しく願いいたします!!!!

Subject: [fb-ml 12] よろしくお願いします
古旗さんよろしくお願いします。古川 隆史です。

MailingListというものが良く解っていないのですが、このメールは登録している人全員が見るのでしょうか?...でしたら、みなさんよろしくお願いします。

おもにログ整理のためにテキスト処理のユーティリティー?をちょぼちょぼ作ったりしています。
ログ整理はこれまではすべて自作のスタックで行ってきましたが、FB IIが出てからはFB II + スタックでやり始めました。本当はXCMDにするか、すべてFBで処理したいところですが、まだ勉強中です。

Subject: [fb-ml 13] Hi, everyone!
 ども、大阪の矢野 勉 / ベンです。べつに本名でもいいんですが、親しみやすく ``ベン'' で通しましょう。

 Nifty Serve の FB 中心のホームパーティで古旗さんと知り合い、この Mailing List に参加するにいたっています。FB を知ったきっかけは、例にもれず富山さんの MacPower での連載です(^^;) PG の紹介を読んで、この手のものに飢えていたのもあって、3日後には英語版を注文していました(^^;)
 いまや英語版 FB Mailing List にまで質問を出す始末で...(^^;)
 富山さんのホームページは覗いていたのに、なぜか古旗さんのページには気がつきませんでした。古旗さんのメール・シグネチャにあるアドレスを見るまで存在をしりませんでした(^^;)

 プログラム経歴は、98使用時代に MS の QuickBASIC 4.5 から始まりました。これでマック風のメニュ−を持ったアプリを作ったりしてました (この段階からすでにマックへの道はきまっていたと思われる) マックを買ってから THINK C --> Smalltalk/V (^^;) --> FutureBASIC II と移動してきました。途中の Smalltalk/V が渋いですね。おかげでオブジェクト指向にはうるさいです。CodeWorrior には手を出してないんですが、理由はCDロムドライブがないから(^^;) ううむ、いまどき... (ZIP ドライブはあるんだけどね)

 Smalltalk/V でアプリをつくれなかった反動か、FB を買ってからは、猿のようにプログラムに励んだものです。いやあ、いい環境だ。リンカがないのが痛いですが。

今、インターネットのサービス・プロバイダと契約して、ホームページをもとうかと計画しています。持ったら古旗さんに対抗して(笑)、PG の解説を連載形式でしようとか計画しているんですが (あくまで計画中なだけですよ)、ひとつ気になる点が。よろしければみなさん次の質問にお答えを。
1.
PG を使っているか。
2.
使っているならば、使用した感想はどうか?
3.
使っていないならば、理由はなにか?
4.
使っていないならば、PG に興味をもっているかいないか?
 さあ、みなで活発に意見交換をば。
 では。

P.S.
噂によると、PG 日本語版マニュアルの日本語はそうとうひどいようですが、どのくらいひどいんですかね? 英語版しかもってないんで。

Subject: [fb-ml 14] Re: 自己紹介です。
古籏一浩です(^^)

At 20:25 97.3.24 +0900, Kazyo.Sekiya(関谷和男) wrote:
関谷和男と申します、FBII 出、プログラミングの勉強をはじめて、3月が立ちますが、あまりにもスローペースのため、まだプログラミングマニュアルのレッスンも終わってません。(^_^;;;
 私はマニュアルのレッスンは面倒なので、ちょっと見ただけですf(^^b
 どちらかというと、作りたい物があって、それを作るか必要に迫られて(笑)何か作ると上達が早いかな、と思います。

 私はゲームを作るためという単純な目的が、ほとんどです。
 FBは簡単な変換ツールとかを作るのに便利なので、そういう方面でプログラムを作成しています。

Subject: [fb-ml 14] Re: 自己紹介です。
古籏一浩です。

At 13:14 97.3.24 +0900, Toshihiko MORIKAWA wrote:
 私の得意分野というかは、画像&ゲーム関係です。
 制御とかは、あまり得意ではありません。
 私もSCSI関係をやったのは今回が初めてです(^_^)。

 あらら(^.^)
 SCSI完璧リファレンスとか使ったんですか?

 初め、SymantecCが手元にあったのでこれで作ろうかと思ったのですが、GUI周りが面倒だったのでBasicにしました(それになんか懐かしい感じがして...)。  実際SCSI managerをとおしてMOに自由にアクセスできるようになるのに3日くらいかかりました。メインの仕事はほかにあるので...(^_^)
 3日でできればいい方じゃないかなあ。
 ツール・ユーティリティが手軽に素早くできるのがFBの1つのウリだと思うんですけどね〜

Subject: [fb-ml 14] Re: よろしくお願いします
古籏一浩です。

At 21:36 97.3.24 +0900, 古川 隆史 wrote:
MailingListというものが良く解っていないのですが、このメールは登録している人全員が見るのでしょうか?...でしたら、みなさんよろしくお願いします。
 メーリングリストは加入者全員に同じメールが配送されます。
 古川さんが、出したこのメールは加入者(14人くらい)に同じメールが届きます。

おもにログ整理のためにテキスト処理のユーティリティー?をちょぼちょぼ作ったりしています。ログ整理はこれまではすべて自作のスタックで行ってきましたが、FB IIが出てからはFB II + スタックでやり始めました。本当はXCMDにするか、すべてFBで処理したいところですが、まだ勉強中です。
 私も結構使っている割には知らない部分が多いFBです。
 HyperCardは元祖の時には、凄いなあと思って使ってましたが、その後、Directorに移行しちゃいました。
 その次はFB, FB-IIそしてCode Warriorでゲームのシステムを作ってます。最初はFBでやっていたんですが、ppc Nativeコードが吐けないので、途中でやめました。
 でも変換ツールとかは簡単にできるので便利です。

Subject: [fb-ml 14] Re: Hi, everyone!
古籏一浩です。

At 22:18 97.3.24 +0900, Tsutomu YANO wrote:
語版 FB Mailing List にまで質問を出す始末で...(^^;)  富山さんのホームページは覗いていたのに、なぜか古旗さんのページには気がつきませんでした。古旗さんのメール・シグネチャにあるアドレスを見るまで存在をしりませんでした(^^;)
 NiftyServeのホームパーティだと、シグネーチャー(署名)を付けていないので、後で知ったという人もいれば、未だ知らない人もいます(^^b
 今週更新時期なので文章を作らねば・・・

今、インターネットのサービス・プロバイダと契約して、ホームページをもとうかと計画しています。持ったら古旗さんに対抗して(笑)、PG の解説を連載形式でしようとか計画しているんですが (あくまで計画中なだけですよ)、ひとつ気になる点が。よろしければみなさん次の質問にお答えを。
 まあ、どんどん対抗してくださいな。
 PGのページを望んでいる人は結構いるのではないでしょうか。
 で、質問に答えます〜

1. PG を使っているか。
 使ってません。

3. 使っていないならば、理由はなにか?
 日本語マニュアルが読んでもわからない、というか日本語じゃない(笑)
 頼りのマニュアルがあれでは???状態です。

4. 使っていないならば、PG に興味をもっているかいないか?
 興味があっても、マニュアルがアレなんで(^^b

P.S. 噂によると、PG 日本語版マニュアルの日本語はそうとうひどいようですが、どのくらいひどいんですかね? 英語版しかもってないんで。
 かなりひどいです。
 元の英語は「イベントの発生」だと推測できるのですが「イベントが生まれる」という翻訳が・・・
 誤字脱字も多いのですが、図と文章と合っていないものもあります。
 図では「新規プロジェクト.RSRC」なのに文章はNew Project.RSRCとかまあ、このくらいなら許せますが、最初の15ページまででも相当あります(-.-b
 Hello, Worldという所(15頁)だと抜粋ですが、こんな具合になってます。

-------------------------------------------------
Hello, World
 プログラム開発は、全く新しい世界です。
 今こそ、我々が"Hello"と声をかけるときです。
 ほとんどの言語関係のチュートリアルは、非常に基本的なアプリケーションを作成する単純な方法を見せるところから始まりますが、我々も同じ事をやろうと思います。

-------------------------------------------------

 「今こそ、我々が"Hello"と声をかけるときです。」
 声かけてどうするんでしょう(笑)

 「さぁ、これからちょっと新しい土地を耕しましょう」
 どこを耕すの?(笑)

 「項目を選んだ際にも表示されるという二足の草鞋を吐いています」
 どういう日本語なんでしょうf(^^b

 「以下のテキストを見る蹴るまでしたにスクロールしてください」
 うぉ〜見て蹴ってやる(笑)

 「ページ?を参照」
 どこを参照すればいいんでしょうf(-.-b

 誤字脱字ミスはともかくレイアウトか構成が悪いのか、読んでいてわかりません。
 元祖FB1の英語のマニュアルがよくでいていただけに、日本語マニュアルには、かなり不満があります。
 これって、未だに改訂されていないんですよね?

Subject: [fb-ml 15] Self-introduction
山野と申します。

簡単に自己紹介いたします。

私が古籏さんの存在をOh!MZおよびOh!X誌で知ったのはいまから9年近くもまえのことになります(たしか私が中1になったばかりのころでした)。古籏さんのHPにも記事がありますが、古籏さんはMZ-700用の秀作ゲームを次々に発表しておられ、MZユーザーの期待の星といった感じで、私も氏のプログラムをよく打ち込んでおりました。

と、ここまでは自己紹介というより古籏さんの紹介になってしまいましたが、私のほうはマイコンBASICマガジンという雑誌にMZ-1500用のプログラムを何度か載せてもらっていたことがありましたが、それ以来プログラミング技術はほとんど進歩しておりません。

話は一気に飛びまして、昨年末、マックを購入しました(ということは、マック歴3ヶ月……)。それでFBIIに興味を持ちまして、モモデラのページをまさぐっていたら、なんと古籏さんの名前が。思わぬところでの再会(?)に驚いた私がメールを出したりした縁で、今回このメーリングリストに加えていただきました。ですが、実は、ふとどきなことにまだFBIIを買ってすらいないのでした……。予算の都合等で購入は夏ごろになるかもしれないのですが、その予習ということで、皆さんのメールを拝見させていただきたいと思っております。では。

Subject: [fb-ml 16] Re: 自己紹介です。
森川 俊彦です。

At 2:23 AM 97.3.25 +0900, KaZuhiro FuRuhata wrote:
古籏一浩です(^^)

At 20:25 97.3.24 +0900, Kazyo.Sekiya(関谷和男) wrote:
>関谷和男と申します、FBII 出、プログラミングの勉強をはじめて、3月が立ちますが、あまりにもスローペースのため、まだプログラミングマニュアルのレッスンも終わってません。(^_^;;;
 私はマニュアルのレッスンは面倒なので、ちょっと見ただけですf(^^b
 どちらかというと、作りたい物があって、それを作るか必要に迫られて(笑)何か作ると上達が早いかな、と思います。

 私はゲームを作るためという単純な目的が、ほとんどです。  FBは簡単な変換ツールとかを作るのに便利なので、そういう方面でプログラムを作成しています。


 私も同じだと思います。初めてBASICに触れるならプログラミングマニュアルのレッスンも良いと思いますが、やっぱり、簡単でもいいから自分のほしいソフトを書いてみるのが習熟の早道だと思います。
 マニュアルと悪戦苦闘(?)しながら、ソフトを作っていくがプログラムのおもしろいところだと思っています(^_^)。私だけかもしれませんが...でも、ソフトができたときにはとても満足できるし、愛着もわきますよ。

Subject: [fb-ml 17] Re: 自己紹介です。
At 2:23 AM 97.3.25 +0900, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 13:14 97.3.24 +0900, Toshihiko MORIKAWA wrote:
>> 私の得意分野というかは、画像&ゲーム関係です。
>> 制御とかは、あまり得意ではありません。
> 私もSCSI関係をやったのは今回が初めてです(^_^)。
 あらら(^.^)
 SCSI完璧リファレンスとか使ったんですか?


 そういうものがあったらもっと簡単にできたと思います(^_^)。住んでいるのが金沢なんで探したところでは「これは!」という本はありませんでした。
 主な参考書は「www.apple.com」から探したInside Mac(6MB近いPDF File)とSCSIのサンプルプログラム、あとHDD Makerが出しているSCSI HDDの規格書だけでした。
 SCSIってANSIの規格になっているので原本の規格書を探しました。有るには有るのですが最終的には「買ってね」ということだったのであきらめました($80〜90くらいしたはず)。

> 初め、SymantecCが手元にあったのでこれで作ろうかと思ったのですがGUI周りが面倒だったのでBasicにしました(それになんか懐かしい感じがして...)。 > 実際SCSI managerをとおしてMOに自由にアクセスできるようになるのに3日くらいかかりました。メインの仕事はほかにあるので...(^_^)
 3日でできればいい方じゃないかなあ。
 ツール・ユーティリティが手軽に素早くできるのがFBの1つのウリだと思うんですけどね〜


 そうだと思います。結局、ソフトじたいはその後2、3日で完成したので(プロトタイプですが)。思っていたより実行スピードもはやいし、コンパイルもはやいので快適です。ちなみにつかっているのはLC475(33MHz)+ColorPivotです。
 こんなに簡単に、短時間で開発が終わるとは思わなかったのでFBにはとても感謝しています(^_^)。もっと、たくさん宣伝されても良いと思いますが、いかがでしょう?

Subject: [fb-ml 18] Re: Hi, everyone!
At 10:18 PM 97.3.24 +0900, Tsutomu YANO wrote:
 プログラム経歴は、98使用時代に MS の QuickBASIC 4.5 から始まりました。これでマック風のメニュ−を持ったアプリを作ったりしてました (この段階からすでにマックへの道はきまっていたと思われる) マックを買ってから THINK C --> Smalltalk/V (^^;) --> FutureBASIC II と移動してきました。途中の Smalltalk/V が渋いですね。おかげでオブジェクト指向にはうるさいです。CodeWorrior には手を出してないんですが、理由はCDロムドライブがないから(^^;) ううむ、いまどき... (ZIP ドライブはあるんだけどね)

 Smalltalk/V でアプリをつくれなかった反動か、FB を買ってからは、猿のようにプログラムに励んだものです。いやあ、いい環境だ。リンカがないのが痛いですが。


 Smalltalk/Vですか!私も「持って」いました(^_^)。残念ながらこれでプログラムを作るまではいきませんでしたが、いい勉強させてもらいました。2.0になってから単体のアプリを作れたように思いましたが...(だいぶ昔の話になりますね)。

1. PG を使っているか。
 現在は使っていないです。が、今のソフトをVersion upするときは使おうと考えています。

3. 使っていないならば、理由はなにか?
 UserI/Fはどうでもいいから、とにかく、動くソフトが必要だった(^_^)。それと、作ったソフトはUserI/Fを必要としないから、というのも理由かな。

4. 使っていないならば、PG に興味をもっているかいないか?
 興味をもっているのでいま勉強中です。
 近々、もう一台の医療機器のフォーマットを公開してもらう予定になっているので、それが来たら一つのソフトで2種類のフォーマットを読めるソフトにVersion UPしようと考えています。そのときにPGを使って見てようと考えています。
 なにせ今のVersionは一度動き出したら処理が終了するまで、マックを独り占めしてしまうので他のことは何もできません。ただ、おとなしく終わるのを待つか、リセットするしかないのですから...(^_^)

Subject: [fb-ml 20] Re: Self-introduction
古籏一浩です。

At 8:15 97.3.25 +0900, YAMANO wrote: 私が古籏さんの存在をOh!MZおよびOh!X誌で知ったのはいまから9年近くもまえのことになります(たしか私が中1になったばかりのころでした)。古籏さんのHPにも記事がありますが、古籏さんはMZ-700用の秀作ゲームを次々に発表しておられ、MZユーザーの期待の星といった感じで、私も氏のプログラムをよく打ち込んでおりました。
 という事を知っている人は、ほとんどいませんf(^^b
 でも、20代後半〜30台後半の人が覚えていて、こちらが驚くことがあります(^^)

話は一気に飛びまして、昨年末、マックを購入しました(ということは、マック歴3ヶ月……)。それでFBIIに興味を持ちまして、モモデラのページをまさぐっていたら、なんと古籏さんの名前が。思わぬところでの再会(?)に驚いた私がメールを出したりした縁で、今回このメーリングリストに加えていただきました。
 モモデラのページに載る2日ほど前に私がモモデラさんにリンクを張ってもらうようにお願いしたというナイスなタイミングだったんです(^^)

 あ、そろそろPICT -> BMP変換の解説を書かなければ・・・
 プログラムよりも解説の方が難関(笑)

Subject: [fb-ml 21] Re: 自己紹介です。
古籏一浩です。

At 10:05 97.3.25 +0900, Toshihiko MORIKAWA wrote:
> SCSI完璧リファレンスとか使ったんですか?
 そういうものがあったらもっと簡単にできたと思います(^_^)。住んでいるのが金沢なんで探したところでは「これは!」という本はありませんでした。

 CQ出版のOpenDesignのSCSI完璧リファレンスとかは安くていいかもしれません。ただ書店で注文しないと駄目ですが・・・
 私の所も、やっとコンビニができるような田舎ですので書籍の入手には苦労します。Web Pageでも以外と必要な情報ってないものですし。

 こんなに簡単に、短時間で開発が終わるとは思わなかったのでFBにはとても感謝しています(^_^)。もっと、たくさん宣伝されても良いと思いますが、いかがでしょう?
 多分BASICだから、という偏見がある事は否めないでしょう。
 Win陣営だとVisual BASICが、かなり勢力がありますからFBだってもっと宣伝してもよさそうなんだけど・・・
 どうもインプレスはFB本は却下状態みたいです。
 秀和システムズの前に技術評論社に持っていった方がいいかも。

 本の元原稿(雛形)はFDに収録されているヤツです。

 Captureはうまくいかないので、やめましょうかー>ベンさん

Subject: [fb-ml 22] Re: Hi, everyone!
古籏一浩です。

At 10:05 97.3.25 +0900, Toshihiko MORIKAWA wrote:
 なにせ今のVersionは一度動き出したら処理が終了するまで、マックを独り占めしてしまうので他のことは何もできません。ただ、おとなしく終わるのを待つか、リセットするしかないのですから...(^_^)
 このひとりじめですが、FB1,FB2でひとりじめする命令としない命令があるみたいです。私が気づいたのはinkey$を定数回ループ等で使用した場合FB1はファインダー等の画面のアップデートが行われないのにFB2だと行われると言う所です。細かい所でFB1, FB2違うんだろうなあ。
 どう変わったのか、というヤツってマニュアルに書いてありましたっけ?

Subject: [fb-ml 23] はじめまして
こんにちは、沢田といいます。
MLで発言するのは初めてです(^^;)
ふるはたさんからここが開設されるというお知らせを聞いてさっそくやってきました。

今のところFB II ではなく FB1.0(E) のユーザーです。
いずれ買おうとは思っていますが、HyperCard 絡みのグループで共同スタックを作っていたり、あるいはついに買ってしまった Windowsマシンで Excel の VBA などを覚えたり、ついでに仕事が最近やけに忙しかったりで、さっぱり FB に触れる時間がありません。
ま、しばらくすれば禁断症状も出てくるでしょうから、それまで II はおあずけです。

ところで皆さん、ML はどういう環境で見ていますか?
ニフティあたりではフリーウェアのブラウザ(茄子Rなど)があるので楽なんですが、EudoraPro ではメッセージを階層表示してくれないようなのでいまいち見ずらいんです。
なんか良いテクニックかツール、ありますでしょうか??

Subject: [fb-ml 24] Re: はじめまして
古籏一浩です。

At 22:20 97.3.25 +0900, Satoshi Sawada wrote:
こんにちは、沢田といいます。
MLで発言するのは初めてです(^^;)
ふるはたさんからここが開設されるというお知らせを聞いてさっそくやってきました。

 北海道からご足労いただき・・・って電子メールだと距離は関係ないですね。

今のところFB II ではなく FB1.0(E) のユーザーです。
いずれ買おうとは思っていますが、HyperCard 絡みのグループで共同スタックを作っていたり、あるいはついに買ってしまった Windowsマシンで Excel の VBA などを覚えたり、ついでに仕事が最近やけに忙しかったりで、さっぱり FB に触れる時間がありません。
ま、しばらくすれば禁断症状も出てくるでしょうから、それまで II はおあずけです。

 あれ1.0Eのままなんですか。
 2.0Jのマニュアル見ない方が幸せかもしれませんf(^^b
 ExcelのVBAは、あまり知らないのですが、あまり使う用途がないせいかなあ。

Subject: [fb-ml 25] RE: はじめまして
 こんばんわ、沢田さん。

ところで皆さん、ML はどういう環境で見ていますか?
ニフティあたりではフリーウェアのブラウザ(茄子Rなど)があるので楽なんですが、EudoraPro ではメッセージを階層表示してくれないようなのでいまいち見ずらいんです。
なんか良いテクニックかツール、ありますでしょうか??


 う〜ん、Mailing list は、ニフティの同報メールの自動版みたいなもんで、参加者全員にメールを再送するだけのものなんですよ。要するに発言自体は単なる個人宛電子メールとして扱われるんで、階層表示にはできないんじゃないかなあ。僕は茄子Rで見てますが、やはり階層表示にはならないですよ。

 それとも最近のメーラーは階層表示するのか?(クラリスメールとか)

Subject: [fb-ml 26] About FB-Book and others
> こんなに簡単に、短時間で開発が終わるとは思わなかったのでFBにはとても感謝しています(^_^)。もっと、たくさん宣伝されても良いと思いますが、いかがでしょう?
 多分BASICだから、という偏見がある事は否めないでしょう。
 Win陣営だとVisual BASICが、かなり勢力がありますからFBだってもっと宣伝してもよさそうなんだけど・・・


 そーですよね。HyperCard からC言語までのステップが高すぎるので、FB はもっと宣伝されてしかるべきなんですが。なにしろ大部分が「BASIC でマックのアプリをつくれる」といってもまず信じないような状態でしょうから... (COBOL で WINDOWS アプリを作れるっていっても誰も信じないでしょ。実は作れるんですよ、これが)

Visual BASIC の本が売れた要因は、BASIC である点はあまり関係なく「マイクロソフトが出したものだから売れて当然」という心理と (DOS のころでも、QuickBASIC の本だけは出ていたな)、実は「Visual」という文字が利いているんじゃないかと。この Visual ってのはなかなか侮れませんで、WWW も html が画像を扱うようになって急激に一般に普及しましたし。VisualWorks/Smalltalk とかってネーミング、なんか使いやすそうじゃないですか。Windows の Pascal 環境、Delphi も、ビジュアルな面を全面に出したからこそ今のように普及したんでしょう。それに対して、FB では、言語環境が主役で、いちおうビジュアル環境である PG はあくまで脇役ですから。

 どうもインプレスはFB本は却下状態みたいです。
 秀和システムズの前に技術評論社に持っていった方がいいかも。

 むー、インプレスはだめか。技術評論社はたしか QuickBASIC(DOS) の本とか出してたりしますけど、Mac で BASIC だとどうかな。

 Captureはうまくいかないので、やめましょうかー>ベンさん
 実はこの件、なんとなく解決の糸口がつかめました。キャプチャのプログラムは FutureImage の保存ルーチンを流用しているので FutureImage で保存した PICT はどうだろう、と思い確認してみたところ、こちらも Photoshop 以外では読めませんでした。で、FN savePICT のなかの COLOR _zWhite という部分を消したら、保存した PICT が SimpleText で読めるようになりました。このあたりからキャプチャも解決できるのではないかと思われます。とりあえず FutureImage だけ修正しておいてください。

#あー、上のはなし、大部分のひとが分からないと思うけど、すみません。

#実はいまどき Booster33L を買って、カラクラを 16Mhz から33Mhz に上げようかと思っている(笑)

Subject: [fb-ml 27] HAJIMEMASITE!(TNK)
はじめまして、TNK(タナカ)と申します。
ニフティのHPでここのMLを教えて頂きやってきました。

勿論、FB初心者です。

わからないことが多いので質問攻めになると思いますが気長につきあってください。
よろしくおねがいします。

あ、今はゲームを作るために奮闘しています。
リージョンって!?てかんじでがんばっています。
では。

Subject: [fb-ml 28] Re: はじめまして
古籏一浩です。

At 0:20 97.3.26 +0900, Tsutomu YANO wrote:
人宛電子メールとして扱われるんで、階層表示にはできないんじゃないかなあ。僕は茄子Rで見てますが、やはり階層表示にはならないですよ。
 それとも最近のメーラーは階層表示するのか?(クラリスメールとか)
 Subjectだけでチェックして分類すれば、と考えるでしょうが、実はメーリングリストプログラムにバグがあって、同時刻に多数のメールがくるとSubjectの[fb-ml 0000]という部分がなくなってしまいます。
 まあ、そこらへんはうまくやってください(笑)
 FBで作ったらどう?

Subject: [fb-ml 29] Re: About FB-Book and others
古籏一浩です。

At 0:02 97.3.26 +0900, Tsutomu YANO wrote:
> Win陣営だとVisual BASICが、かなり勢力がありますからFBだってもっと宣伝してもよさそうなんだけど・・・
 そーですよね。HyperCard からC言語までのステップが高すぎるので、FB はもっと宣伝されてしかるべきなんですが。なにしろ大部分が「BASIC でマックのアプリをつくれる」といってもまず信じないような状態でしょうから... (COBOL で WINDOWS アプリを作れるっていっても誰も信じないでしょ。実は作れるんですよ、これが)

 HyperCardから、いきなりC,C++では挫折者続発でVBに逃げてしまいそう(笑)
 ただVBのマニュアルは最低。FBのPGのマニュアルより悲惨・・・
 もちろん正しい日本語ですが、最低の構成です(笑)

Delphi も、ビジュアルな面を全面に出したからこそ今のように普及したんでしょう。それに対して、FB では、言語環境が主役で、いちおうビジュアル環境である PG はあくまで脇役ですから。
 ビジュアルなんちゃら〜とすればわかりやすそうという印象があるでしょうね。
 実はそれとは関係ない所が問題なんですが・・・
 FB,PGともに宣伝不足はなんとも。

> どうもインプレスはFB本は却下状態みたいです。
> 秀和システムズの前に技術評論社に持っていった方がいいかも。
 むー、インプレスはだめか。技術評論社はたしか QuickBASIC(DOS) の本とか出してたりしますけど、Mac で BASIC だとどうかな。

 Quick BASICで思い出しましたが、昨年だったかに何を思ったかMac版のQuick BASICの本が出ているんですよ! 見てびっくり。
 でも、内容はただのBASIC解説書でした・・・
 技術評論社だとMac関連の雑誌とか出していますから、まだインプレスよりも可能性はあると思います。

> Captureはうまくいかないので、やめましょうかー>ベンさん  実はこの件、なんとなく解決の糸口がつかめました。キャプチャのプログラムはFutureImage の保存ルーチンを流用しているので FutureImage で保存した PICT はどうだろう、と思い確認してみたところ、こちらも Photoshop 以外では読めませんでした。で、FN savePICT のなかの COLOR _zWhite という部分を消したら、保存した PICT が SimpleText で読めるようになりました。このあたりからキャプチャも解決できるのではないかと思われます。とりあえず FutureImage だけ修正しておいてください。
 了解しました。
 で、COLOR _zWhiteとかオールドカラーを扱うとQuickDraw関係がおかしくなってしまうのは、今までに何回も経験してます。
 ただ、PICTを解析してみると、正しいコードが埋め込まれているんですよ。
 ど〜なってんだか。

Subject: [fb-ml 30] Re: はじめまして
こんにちは、ベンさん。

 う〜ん、Mailing list は、ニフティの同報メールの自動版みたいなもんで、参加者全員にメールを再送するだけのものなんですよ。要するに発言自体は単なる個人宛電子メールとして扱われるんで、階層表示にはできないんじゃないかなあ。僕は茄子Rで見てますが、やはり階層表示にはならないですよ。
そうですよねえ、考えてみれば「はじめまして」という発言が2つあったとして、それぞれにコメントがついたらどっちとも「Re:はじめまして」ですもんね。
Subject からでは階層させる手がかりがない(^^;)

Subject: [fb-ml 31] 自己紹介です。
こんにちわ。石橋義昭です。

インターネットでメール出すのもほとんどなかったのですが、ぜひということで参加させていただきます。どうぞよろしくお願いします(何名か知った名前がチラホラと....)。

ニフティでFBのホームパーティの管理人をしてるのですが、財政が破綻しまして(^^)クレジットカードが現在使用できず、IDを再申請しているという情けない奴です。so-netは現金会員への移行がOKみたいなんで生き延びています。

FBを購入した理由ですが、Cは記号的でようわからん。しかしBASICならば....ということでした(甘かった(^^))。
現在はベンさんの書き込みを参考にしつつ、PGに傾倒しつつあります。Stazも年末予定と噂されるFB3(PPC対応版)まではFB自体をあまりいじらず、それまで機能の追加はPGの方で行なうようにするという話が....。

PICTを固定枠の中に正しい比率で表示できたくらいで喜んでいる程度の奴です>私。

#金もないのにPilotというPDAに落下させられてしまった。
#知合いに2ヵ月後払という誘惑に負けてしまった。でも便利。
#ちなみにあのアプリはCodeWarriorで作成するそうな(^^)。

Subject: [fb-ml 32] Re: Hi, everyone!
At 2:30 PM 97.3.25 +0900, KaZuhiro FuRuhata wrote:
 どう変わったのか、というヤツってマニュアルに書いてありましたっけ?
 こういうことは書いてなかったと思います。

 ところでPGでかけば独り占めしないんですよね(^_^)。この辺の処理をPGが勝手にやってくると思っているのでPGを使おうかと思っているのですが...考えが甘いかな...

Subject: [fb-ml 33] Re: About FB-Book and others
At 0:02 AM 97.3.26 +0900, Tsutomu YANO wrote:
>> こんなに簡単に、短時間で開発が終わるとは思わなかったのでFBにはとても感謝しています(^_^)。もっと、たくさん宣伝されても良いと思いますが、いかがでしょう?
> 多分BASICだから、という偏見がある事は否めないでしょう。
> Win陣営だとVisual BASICが、かなり勢力がありますからFBだってもっと宣伝してもよさそうなんだけど・・・

 そーですよね。HyperCard からC言語までのステップが高すぎるので、FB はもっと宣伝されてしかるべきなんですが。なにしろ大部分が「BASIC でマックのアプリをつくれる」といってもまず信じないような状態でしょうから... (COBOL でWINDOWS アプリを作れるっていっても誰も信じないでしょ。実は作れるんですよ、これが)

 「開発ソフト=C」という考えがしっかり根を下ろしているのでなかなか難しいかもしれませんね(^_^)。まあ「BASIC」という名前にちょっと偏見が有るのは僕も同感です。
 FBもパッケージの名前をPGにしてこのなかにFBが入っているという形にしたらどうかな?あくまでも開発環境はPGでそれにおまけでFBがついていると考えれば...(^_^) すみませんくだらない事書いて

#実はいまどき Booster33L を買って、カラクラを 16Mhz から33Mhz に上げようかと思っている(笑)
 家にもカラクラII(640*480仕様)が有ります。今は現役を引退して彼女のパソコンになっていますが...つい去年の年末まで4年くらいこれを使っていました。

Subject: [fb-ml 34] Re: はじめまして
At 6:54 AM 97.3.26 +0900, Satoshi Sawada wrote:
こんにちは、ベンさん。

>  う〜ん、Mailing list は、ニフティの同報メールの自動版みたいなもんで、参加者全員にメールを再送するだけのものなんですよ。要するに発言自体は単なる個人宛電子メールとして扱われるんで、階層表示にはできないんじゃないかなあ。僕は茄子Rで見てますが、やはり階層表示にはならないですよ。

そうですよねえ、考えてみれば「はじめまして」という発言が2つあったとして、それぞれにコメントがついたらどっちとも「Re:はじめまして」ですもんね。Subject からでは階層させる手がかりがない(^^;)


 Niftyのホームパーティーも基本的に階層構造ができませんが、Subjectに返事をする発言のNo.を入れることによりできるようにしています。これとおなじ事ができれいいのですが...「茄子」のようにSubjectを変更できればまだ、可能性はあると思いますが、Eudoraでは無理そう...

Subject: [fb-ml 35] Re: Hi, everyone!
古籏一浩です。

At 12:30 97.3.26 +0900, Toshihiko MORIKAWA wrote:
At 2:30 PM 97.3.25 +0900, KaZuhiro FuRuhata wrote: > どう変わったのか、というヤツってマニュアルに書いてありましたっけ?
 こういうことは書いてなかったと思います。

 PGの方には変更点とかが書いてあるのに不公平な(^^;

 ところでPGでかけば独り占めしないんですよね(^_^)。この辺の処理をPGが勝手にやってくると思っているのでPGを使おうかと思っているのですが...
考えが甘いかな...

 それならば、どこかにHandleevents命令を入れればよいと思います。
 こうすれば他のアプリにもタスクが行き渡りますので。

 ところでプログラム中にHandleeventsをたくさん列記したらどういう動作になるんだろう(^^?

Subject: [fb-ml 36] Re: HAJIMEMASITE!(TNK)
古籏一浩です。

At 2:12 97.3.26 +0900, tnk wrote:
あ、今はゲームを作るために奮闘しています。
リージョンって!?てかんじでがんばっています。では。

 ゲームは私の得意分野です(^^)/
 といいつつもゲームは結構バリエーションがあるので苦手なものもあります。

 ここでも、親切なベンさんが説明して助けてくれるでしょう(^^;

Subject: [fb-ml 37] Re: 自己紹介です。
古籏一浩です。

At 11:57 97.3.26 +0000, YOSHIAKI ISHIBASHI wrote:
ニフティでFBのホームパーティの管理人をしてるのですが、財政が破綻しまして(^^)クレジットカードが現在使用できず、IDを再申請しているという情けない奴です。so-netは現金会員への移行がOKみたいなんで生き延びています。
 おお、自分でばらしてますね(笑)
 いいんですか、こんな所でバラして。

#金もないのにPilotというPDAに落下させられてしまった。
#知合いに2ヵ月後払という誘惑に負けてしまった。でも便利。
#ちなみにあのアプリはCodeWarriorで作成するそうな(^^)。

 最近はCode Warriorで作成するといったものが増えてきてますね。
 MacOS,MagicCap,Win95(?),BeOS,PlayStation...etc.,

Subject: [fb-ml 38] Re: About FB-Book and others
古籏一浩です。

At 12:30 97.3.26 +0900, Toshihiko MORIKAWA wrote:
 「開発ソフト=C」という考えがしっかり根を下ろしているのでなかなか難しいかもしれませんね(^_^)。まあ「BASIC」という名前にちょっと偏見が有るのは僕も同感です。
 C言語で書いておけば移植しやすいから、というのもあると思います。
 昔と違って機種間、OSの差異が大きくてうまくやらないと、ほとんど書き直しになってしまうと思うのですが。
 そういう点でJavaはいいかな。
 でも、これもインターネット上でしか駄目という偏見(?)もありますが。

 FBもパッケージの名前をPGにしてこのなかにFBが入っているという形にしたらどうかな?あくまでも開発環境はPGでそれにおまけでFBがついていると考えれば...(^_^) すみませんくだらない事書いて
 時代の流れからすれば逆にしてもいいと思います。
 しかし、それならば先にマニュアルを何とかしてもらわないと・・・・
 CodeWarrior IDEのようにコンパイラーは選択できるようにして統合化環境にしてしまえばいいかな。でも、今のFB−PGもそういう関係なんだけどなあ。

 家にもカラクラII(640*480仕様)が有ります。今は現役を引退して彼女のパソコンになっていますが...つい去年の年末まで4年くらいこれを使っていました。
 うちはSE/30があります〜

Subject: [fb-ml 39] Re: Hi, everyone!
At 1:18 PM 97.3.26 +0900, KaZuhiro FuRuhata wrote:
> ところでPGでかけば独り占めしないんですよね(^_^)。この辺の処理をPGが >勝手にやってくると思っているのでPGを使おうかと思っているのですが... >考えが甘いかな...
 それならば、どこかにHandleevents命令を入れればよいと思います。
 こうすれば他のアプリにもタスクが行き渡りますので。

 ところでプログラム中にHandleeventsをたくさん列記したらどういう動作になるんだろう(^^?

 Handleeventsを書くだけでいいのですか?てっきりその後の処理を自分で書かないと思っていました。例えば、自分の作ったアプリ以外の部分(Desktopとか)がクリックされたら、自分のアプリのWindowをバックグランドにして...などなどと。
 PGの取り説をよむとその辺は自動的にやってくれるように書いてあったので、「おっこりゃいい!」と思ったのですが。PGの取り説には「DesktopがクリックされたらFinderに移るのを妨げるな。もし、そうなるのがいやならDesktop全体を覆うなWindowを作って、Desktopが見えないようにしろ」みたいなことが書かれていたので...
 実際、ソフトを作ってみればいいのですが...(^_^)。

Subject: [fb-ml 40] Re: About FB-Book and others
At 1:24 PM 97.3.26 +0900, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 12:30 97.3.26 +0900, Toshihiko MORIKAWA wrote:
> 「開発ソフト=C」という考えがしっかり根を下ろしているのでなかなか難しいかもしれませんね(^_^)。まあ「BASIC」という名前にちょっと偏見が有るのは僕も同感です。
 C言語で書いておけば移植しやすいから、というのもあると思います。
 昔と違って機種間、OSの差異が大きくてうまくやらないと、ほとんど書き直しになってしまうと思うのですが。
 そういう点でJavaはいいかな。
 でも、これもインターネット上でしか駄目という偏見(?)もありますが。

 そうですね。今月号のMacPowerを読んでいたら動作環境によってうまく動くものとそうでないものがあるようですね。WordPerfect(ベータ版?)の画面がどうなるか書いてありましたが試した環境すべてでうまく表示されない部分があるようですね。
 「機種間、OSの差異をこえて」というのは永遠のテーマですね(^_^)。

> FBもパッケージの名前をPGにしてこのなかにFBが入っているという形にしたらどうかな?あくまでも開発環境はPGでそれにおまけでFBがついていると考えれば...(^_^) すみませんくだらない事書いて
 時代の流れからすれば逆にしてもいいと思います。
 しかし、それならば先にマニュアルを何とかしてもらわないと・・・・
 CodeWarrior IDEのようにコンパイラーは選択できるようにして統合化環境にしてしまえばいいかな。でも、今のFB−PGもそういう関係なんだけどなあ。

 やっぱり、マニュアルですよね...。まあ、「言いたいことはわかるけどもう少し日本語らしくたら」というレベルから「なにいっての?」というレベルまであって、非常に難解なマニュアルになっていると思います。どうせならマニュアルも日英両方つければよかったのに...(^_^)

Subject: [fb-ml 41] Re: Hi, everyone!
古籏一浩です。

At 9:59 97.3.27 +0900, Toshihiko MORIKAWA wrote:
 Handleeventsを書くだけでいいのですか?てっきりその後の処理を自分で書かないと思っていました。例えば、自分の作ったアプリ以外の部分(Desktopとか)がクリックされたら、自分のアプリのWindowをバックグランドにして...などなどと。
 while inkey$=""
HANDLEEVENTS
WEND

くらいでOKでしょう(動作確認してないけど)。
独自の処理があったらつけ加えろ、というのがFBのスタイルです。

Subject: [fb-ml 41] Re: About FB-Book and others
古籏一浩です。

At 9:59 97.3.27 +0900, Toshihiko MORIKAWA wrote:
^gt; そういう点でJavaはいいかな。
> でも、これもインターネット上でしか駄目という偏見(?)もありますが。

 そうですね。今月号のMacPowerを読んでいたら動作環境によってうまく動くものとそうでないものがあるようですね。WordPerfect(ベータ版?)の画面がどうなるか書いてありましたが試した環境すべてでうまく表示されない部分があるようですね。

 動作環境だけでなく、クラスファイルがちゃんと動作するようになっているかとか、いろいろ要因はあるでしょうね。

 「機種間、OSの差異をこえて」というのは永遠のテーマですね(^_^)。
 一番いいのは1社独占にしてしまう事です。
 がマイクロソフトは差異が広がるようなものばかり考え出すので駄目でしょう。
 PostScriptも機種間(プリンタ間)の差異は一応ない事になってますが、実際は機種ごとに隠し命令が装備されていて、それが  正式ライセンスを受けないとフォントのダウンロードが駄目だったりという仕組みになってます。

 やっぱり、マニュアルですよね...。まあ、「言いたいことはわかるけどもう少し日本語らしくたら」というレベルから「なにいっての?」というレベルまであって、非常に難解なマニュアルになっていると思います。どうせならマニュアルも日英両方つければよかったのに...(^_^)
 英語と両用だと値段が高くなってしまいます。
 特に紙にこだわらずともWeb上で作成、修正していってくれてもよいと思うのですが。

 一番いいのはベンさんがPGのWeb Pageを作る事でしょう。
 という事で頑張ってください ー>ベンさん

Subject: [fb-ml 42] Japanese Manual
 ベン/矢野 勉 です。

Hello, World
 プログラム開発は、全く新しい世界です。
今こそ、我々が"Hell o"と声をかけるときです。ほとんどの言語関係のチュートリアルは、非常に基本的なアプリケーションを作成する単純な方法を見せるところから始まりますが、我々も同じ事をやろうと思います。

-------------------------------------------------

 「今こそ、我々が"Hello"と声をかけるときです。」
 声かけてどうするんでしょう(笑)

 おお、しぶい(^^;) この一行だけでなく、他の部分も完全に、みごとなまでに直訳ですね。ちっとは「日本語化」しろって(^^;) ページ数なんか合わせている余裕があるなら(*1)、日本語を研鑽すればいいのに。

(*1)
最近古旗さんと確認したところですと、英語版と日本語版のマニュアルは、なんとページが完全に一致しているようです。こーいうあんまり意味のないことはせんでもいいから...

 しかし例題が "hello, world" である点にひっかけた文章ですので、うかつに日本語への意訳はできませんね。ちょっとくるしい。

 「さぁ、これからちょっと新しい土地を耕しましょう」
 どこを耕すの?(笑)


 わはははっ これは何ページですか?

 「項目を選んだ際にも表示されるという二足の草鞋を吐いています」
 どういう日本語なんでしょうf(^^b


 草鞋を吐いた日にゃあもう(笑)

 「以下のテキストを見る蹴るまでしたにスクロールしてください」  うぉ〜見て蹴ってやる(笑)
 むう、どうしようもないでわ(笑) たぶん一度も校正してないんだろーなー。

 「ページ?を参照」
 どこを参照すればいいんでしょうf(-.-b

 あー、これはですねー、英語版でもそうなんですよ。これはさすがにこまりました。結局「こうなったら全部読んでやるっ」という対処をしたので、おかげで PG には詳しくなりました(笑)

 誤字脱字ミスはともかくレイアウトか構成が悪いのか、読んでいてわかりません。
 英語版の PG Manual のレイアウトもそんなに見やすい方ではないですが、これとも違っているんだろうか? ページ数が一致しているのを考えると、同じかもしれませんね。僕は英語で全部よんだぞ。

 噂によると、なんか題と本文のフォントがあんまり違ってなくて見にくい、と聞いたんですが、真実でしょうか? それだとかなりひどい。

 しかし、僕は英語版のチュトリアル部分は非常に分かりやすかったけどなあ。アクション・リファレンスはちょっと見にくいですけどね。

 これって、未だに改訂されていないんですよね?
 あの、それで思いだしたんですが、INPUT$ 文とかを、あとで日本語対応にして配布するとか言っていたのはどうなったんですか? PRINT が日本語対応したら買ってもいいかなあ、とか思ってたんですが。

Subject: [fb-ml 43] RE: 自己紹介です。
 ベン/矢野 勉 です。

ニフティでFBのホームパーティの管理人をしてるのですが、財政が破綻しまして(^^)クレジットカードが現在使用できず、IDを再申請しているという情けない奴です。
 おー、管理人の石橋さん、こんばんわ。ホームパーティの危機の原因は財政危機でしたか(^^;) もしや、と思っていましたが本当にそうだったとは(^^;)

現在はベンさんの書き込みを参考にしつつ、PGに傾倒しつつあります。

 以前ホームパーティで質問があった件は、あのぼくの解答で目的に合致していたんですかね? あのあたりからホームパーティから姿が消えた(^^;)ので、ちょっと気になっていたんですが。

Stazも年末予定と噂されるFB3(PPC対応版)
 昨年は「クリスマス・プレゼント」と称してかの FutureBASIC Tools というスグレモノをだしましたので、今年もクリスマスに合わせるとみた。でもそれまでにPowerMac 買うのは無理だなあ。ううむ。

Subject: [fb-ml 44] Multi HANDLEEVENTS
 ベン/矢野 勉 です。

 ところでプログラム中にHandleeventsをたくさん列記したらどういう動作になるんだろう(^^?
 あー、このネタも英語版 FB Mailing List で話題になったことがありまして、ずばり「一部動作が保証できなくなります」。

 え、HANDLEEVENTS のたびに FB は ToolBox の WaitNextEvent() を呼び出します。WaitNextEvent() はシステムのイベント・キュー (起こったイベントがリスト状に格納されています) から、一番古いイベントを一つとりだし、そのイベントを返します。プログラマはこのイベントをもとに、さらに細かい内容に分岐させますが、HANDLEEVENTS はこれを肩代りします。で、いまここに次のようの状態のイベント・キューがあるとして:

1: Mouse Down
2: Mouse Up
3: Apple Event (Print Document)
2 の処理のため、とある関数 (FN DoClickとか) に飛んだとして、そこで HANDLEEVENTS を再び呼んだとします。すると、次のイベントである、Apple Event (Print Document) が取り出されますが、メインの HANDLEEVENTS のところには Apple Event への対応が書いてあり、ここにはないとしたら、どうなるでしょう。このイベントは_失われます_。
 永久にメインの HANDLEEVENTS に回されることはありません。ユーザーからすると、ファインダで「プリント...」を選んだが、何故かなにも起きなかった、ってなことになります。おわかりでしょうか?
 ここでは Apple Event を例に出しましたが、別に普通のイベントでも同じこと。対応ルーチンがないと分かった段階でイベントは消失します。

 というわけでやめましょーね。

Subject: [fb-ml 45] Automatic PG!
 ベン/矢野 勉 です。

 ところでPGでかけば独り占めしないんですよね(^_^)。この辺の処理をPGが勝手にやってくると思っているのでPGを使おうかと思っているのですが...考えが甘いかな...
 Handleeventsを書くだけでいいのですか?てっきりその後の処理を自分で書かないと思っていました。例えば、自分の作ったアプリ以外の部分(Desktopとか)がクリックされたら、自分のアプリのWindowをバックグランドにして...などなどと。
 ひとりじめしない程度のことであれば、HANDLEEVENTS で十分ですね。Cなんかでは WaitNextEvent() でイベント情報を得て、何の情報なのか分析して、場所に応じて処理を振り分けて、ウインドウ外部が押されたら Deactivete して、もし押したところが非アクティブのウインドウだったら、Activate 処理をして... などと大変なんですが、FB だと HANDLEEVENTS がたいていを処理してくれます。

ON MOUSE FN DoMouse
ON DIALOG FN DoDialog
ON MENU FN DoMenu

なんかで、イベントの処理に応じて分岐するのも簡単。C言語だと、ここまでたどりつくのにも100行くらいいりますからね。実際、PG も Runtime.INCL という、非常に重要な基本ファイルのなかで HANDLEEVENTS を呼び出しているのです。PICTURE FIELD とか使っているなら、絵までも必要なときに自動で Update されます。FB で。

 要するにですね、FOR ... NEXT とか WHILE ... WEND とかのループ文を使うと、その間他のアプリに処理が渡らないんです。(もちろんファインダにも) で、普通は長い処理には NULL Event のときに処理すれば、アプリがなにもしていないときには NULL Event が繰り返し発生するので、繰り返し処理が行えるのです。しかし FB には TIMER イベントというのがあるので、

ON TIMER(-1) FN DoLongProcess

 てな感じで、60分の1秒ごとに FN DoLongProcess が呼び出されるわけです。こういうように、OS が送ってくるイベントを待って処理を行う仕組みを「イベント・ドリブン」といいます。まあ「イベント指向」といってしまえると思います。

 とりあえず一度 FB の HANDBOOK を最初からじっくり読んで下さいな。

 では PG は何が便利なのかといいますと、

 まあ、かなり大ざっぱにいいますと、HyperCard でバックグラウンドにスクリプトを書くような感覚でプログラムを組んでいくことになります。

 まあ、PG の命は実はフィルタにあるのですが、マニュアルではフィルタの重要性までは踏み込んでないんですよ。イベントと各フィルタ・ファイルの説明はあるんですけど。やはりホームページ解説しかないのかっ

 まとめますと、PG は複雑なウインドウに複数ドキュメントでメニュー完備、必須アップルイベントを受け取って... というような「マッキントッシュ・アプリケーション」を作成するには、大きな威力を発揮します。もう、僕はいまはこれなしには耐えられない(^^;)

 ユーティリティ程度のことであれば、FB でじりじり書いたほうが早いですし、サイズも小さくなります。やはりまず HANDBOOK の熟読をおすすめします。(FB のマニュアルって、いままで見たどのプログラミング言語のマニュアルよりも質が良いぞ。Smalltalk/V もまあまあだったが。しかし日本語版は知りません(^^;))

 ところで余談というか、FB に関係のない質問なんですが、NetScape 3.0 って、必要メモリが 8MB(16MB奨励) とかかいてあるんですが、これは 68K Mac でも 8MB ないとだめなんですかね? 普通は PowerMac のほうが要求メモリが多かったと記憶してますが。実はいまだに 1.12 を使ってまして、新しいバージョンのを買おうかと思ってんですが、このメモリ要求だと、半分ちかく仮想メモリに頼ることになってしまふ。どなたか 68K で NetScape 3.0 使っているひといませんかね?

Subject: [fb-ml 46] Dokusen or Kyousou (Re: About FB-Book and others)
はじめまして,武蔵三山%中野@Kyoto-inet です。

# subject は「独占 or 競争」のつもり

古籏さん(openspc@po.cnet.or.jp)
》 「機種間、OSの差異をこえて」というのは永遠のテーマですね(^_^)。
》一番いいのは1社独占にしてしまう事です。
》がマイクロソフトは差異が広がるようなものばかり考え出すので駄目でしょう。

これは本気ですか :-)

どんな商品・サービスでも,一社独占もしくは一社寡占になったものは,ろくなものがないと思います。競争状態になってこそ良い物が出てくるんじゃないでしょうか。

(Microsoftは寡占状態ではなく他社を潰して独占を目指すところがあかんねんなあ。)

結局のところ,SoftWindows や MkLinux を入れたりして複数の OS を使えば一番おいしいのではないでしょうか。

Subject: [fb-ml 47] Re: Multi HANDLEEVENTS
古籏一浩です。

At 23:02 97.3.27 +0900, Tsutomu YANO wrote:
 あー、このネタも英語版 FB Mailing List で話題になったことがありまして、ずばり「一部動作が保証できなくなります」。
 あ〜やっぱり。
 でも、うまく書けばたくさん使えそう(笑)

Subject: [fb-ml 47] Re: 自己紹介です。
古籏一浩です。

At 23:02 97.3.27 +0900, Tsutomu YANO wrote:
>Stazも年末予定と噂されるFB3(PPC対応版)

 昨年は「クリスマス・プレゼント」と称してかの FutureBASIC Tools というスグレモノをだしましたので、今年もクリスマスに合わせるとみた。でもそれまでにPowerMac 買うのは無理だなあ。ううむ。

 ppcは速いと言えば速いのですが、それなりのコードの書き方をしないと全然速くなりません〜
 キャッシュを念頭に入れて作ると俄然高速化できます。
 ミスヒットするとかなり遅くなります。
 割り算は引き算ループなので、割り算はしないとかすれば・・・

 って、まだFBには関係ないネタですね。
 インラインでPPC Codeが書けるのかなあ、FB3

Subject: [fb-ml 47] Re: Dokusen or Kyousou (Re: About FB-Book and others)
古籏一浩です。

At 0:42 97.3.28 +0900, NAKANO Takayuki wrote:
》一番いいのは1社独占にしてしまう事です。がマイクロソフトは差異が広がるようなものばかり考え出すので駄目でしょう。
これは本気ですか :-)

 この業界はそうしようと思っても駄目でしょう。
 ただ1社独占の場合のメリットもありますからね。

どんな商品・サービスでも,一社独占もしくは一社寡占になったものは,ろくなものがないと思います。競争状態になってこそ良い物が出てくるんじゃないでしょうか。
 Netscape vs Explorerとか見ていると、作る側も面倒ですし、見る方も正常に表示されないとか、JavaScriptがExplorerでは駄目だとか不具合の方が多すぎです(泣)。
 Illustrator vs FreeHandのようなパターンであれば、まだいいんですが。
(Microsoft は寡占状態ではなく他社を潰して独占を目指すところがあかんねんなあ。)
 マイクロソフト社の寿命は、だいたいあと15年程度ですからそれまで我慢しましょう(笑)

結局のところ,SoftWindows や MkLinux を入れたりして複数の OS を使えば一番おいしいのではないでしょうか。
 私はなるべく自作で、と考えています。
 ゲーム屋さんは、だいたいこういうタイプの方が多いと思います。

 納得できる物は自作するしかないでしょう。

Subject: [fb-ml 48] Re: Automatic PG!
古籏一浩です。

At 23:02 97.3.27 +0900, Tsutomu YANO wrote:
 ユーティリティ程度のことであれば、FB でじりじり書いたほうが早いですし、サイズも小さくなります。やはりまず HANDBOOK の熟読をおすすめします。(FB のマニュアルって、いままで見たどのプログラミング言語のマニュアルよりも質が良いぞ。Smalltalk/V もまあまあだったが。しかし日本語版は知りません(^^;))
 私もFB1.02のマニュアルを見て、素晴らしい出来映えに感動しました。
 非常によくできているので、下手な日本語訳や日本語のPC98のより雲泥の差があるほどグッドです。
 日本語訳で駄目になるってのは結構ありますよね〜

おうかと思ってんですが、このメモリ要求だと、半分ちかく仮想メモリに頼ることになってしまふ。どなたか 68K で NetScape 3.0 使っているひといませんかね?
 私は主に68KでNS3を使用しています。
 特に8MBなくても動きます。
 ただしShockwaveムービーがある場合、メモリ不足で動かないでしょう。
 7MBでも別にスワップしません。

Subject: [fb-ml 49] Aratame
 ちょっとご無沙汰している間に(仕事でlingo(^_^;)でスクリーンセーバーを作っていたので……)大勢になりましたねぇ。あらためまして伊藤です。皆さんよろしくお願いします。  PGで盛り上がっているみたいですが、僕は全然手を付けていませんでした。(なんかオックウでした)でも良さそうですね。  ではでは。

Subject: [fb-ml 50] Re: Japanese Manual
古籏一浩です。

At 23:03 97.3.27 +0900, Tsutomu YANO wrote:
(*1)最近古旗さんと確認したところですと、英語版と日本語版のマニュアルは、なんとページが完全に一致しているようです。こーいうあんまり意味のないことはせんでもいいから...
 え〜補足すると昔のMac関係の日本語のマニュアルは英語版と同じページになってました。利点は日本語訳が違っていたときに、すぐに英語マニュアルでチェックできる所です。

 しかし例題が "hello, world" である点にひっかけた文章ですので、うかつに日本語への意訳はできませんね。ちょっとくるしい。
 Prograph CPXでも似たような苦しい翻訳がありましたが、そういう部分は翻訳しないのが一番読みやすいんじゃないかなあ。

> 「さぁ、これからちょっと新しい土地を耕しましょう」 > どこを耕すの?(笑)
 わはははっ これは何ページですか?

 マニュアルの最初の方かな。
 69ページには「コードを丸裸」と書いてある(笑)
 インサイドマックは眠くなるけど、PGのマニュアルは腹が痛くなります(笑)

> 「項目を選んだ際にも表示されるという二足の草鞋を吐いています」 > どういう日本語なんでしょうf(^^b
 草鞋を吐いた日にゃあもう(笑)

 69ページ
 「カメラの前の情にもろい政治家が「その子が、彼女の家族のことについて話すのを聞いて感動しました。彼女の母親は年老いた女性で、大きな靴に逃げ込まざるを得ず...」   この翻訳全然わからないのですが、英語版ではどうなってんでしょ〜
 70ページ
 「我々はダンプティのサガにさらされてきました。」
 これも日本人にはわからん〜

> 「以下のテキストを見る蹴るまでしたにスクロールしてください」 > うぉ〜見て蹴ってやる(笑)
 むう、どうしようもないでわ(笑) たぶん一度も校正してないんだろーなー。
 一度は校正したでしょう多分。
 ここらへんは石橋さんの方が知っているのではないでしょうか?
 翻訳した本人に聞いたんだから。
 ただ、PGリファレンスにになると日本語が、また正常に一旦戻ります(^^b

> 「ページ?を参照」
> どこを参照すればいいんでしょうf(-.-b

 あー、これはですねー、英語版でもそうなんですよ。これはさすがにこまりました。結局「こうなったら全部読んでやるっ」という対処をしたので、おかげで PG には詳しくなりました(笑)
 元が悪いわけですね。
 それなら、直してくれてもいいのに〜

> 誤字脱字ミスはともかくレイアウトか構成が悪いのか、読んでいてわかりません。
 英語版の PG Manual のレイアウトもそんなに見やすい方ではないですが、これとも違っているんだろうか? ページ数が一致しているのを考えると、同じかもしれませんね。僕は英語で全部よんだぞ。
 同じかもしれないですね。
 同じにするために、もしかして詰め込んだのでしょうか。

 噂によると、なんか題と本文のフォントがあんまり違ってなくて見にくい、と聞いたんですが、真実でしょうか? それだとかなりひどい。
 見出しフォントは中ゴシック体(GothicBBB-Medium)で本文は細明朝体(RyuminLight)です。中ゴシック体でなく新ゴMediumくらいであれば見やすかったと思います。
 でも、そんなに気になりません。
 題の翻訳がなんだか、わけわからんというのなら、わかりますが(^^b

 あの、それで思いだしたんですが、INPUT$ 文とかを、あとで日本語対応にして配布するとか言っていたのはどうなったんですか? PRINT が日本語対応したら買ってもいいかなあ、とか思ってたんですが。
 どうなんでしょう?
 ちょっとしたPRINT文の日本語版なら私が作ってもいいですよ、ただの関数だけど(^^b

Subject: [fb-ml 51] Hello(^^;)
はじめまして、葛原康雄といいます。

NIFTY-serveの某HomePartyのお知らせで知りました。

最近は、全然使えてなかったのですが、HP-200LXの4M版をかってから、必要性が高まりました。(^^;)

でも、最近、余計に忙しくなってきたので、時間がとれません。
HomePageも何にも意味のない状態が3年続いています。(@-*)\baki

通信関連のツールを作りたいとは思うのですが...
ただ単純なポートアクセスだと簡単に作れると思うのですが...
デバイスマネージャーまで扱おうと思っているので、ちょっと、罵倒してます。(;_;

Subject: [fb-ml 52] Re: Multi HANDLEEVENTS
森川 俊彦です。

At 11:02 PM 97.3.27 +0900, Tsutomu YANO wrote:
 ベン/矢野 勉 です。

> ところでプログラム中にHandleeventsをたくさん列記したらどういう動作になるんだろう(^^?

途中省略...

 というわけでやめましょーね。

FBのハンドブックにも
「プログラムは、そのサイズに関わらず、イベント・ループを1つだけしか持てません。」
という記述があります。

 で疑問なんですが、ベンさんが言っているのは関数に制御が移った後、もう一度Handleeventsを呼び出した場合ですよね。メインでいくつかのループがあってその中でそのつどHandleeventsを呼び出した場合はどうなのでしょうか?とりあえず、動いているようですが...これもなにか問題が起きるのでしょうか?

 僕が作っているのは「イベントドリブン」型ではなくて、一度起動されると最後まで一気に突っ走るようなソフト(^_^)をなんですが、メインの中に3箇所ほど大きなループがあります。この3箇所のループの中でそれぞれHandleeventsを呼び出したところ、どのループ中でも正常に動いているように見えます。
 ON EVENT FN〜などはメイン全体にその効力を及ぼすと考えられるのでメイン内でHandleeventsを何回呼び出しても(完全に独立していれば)大丈夫なような気がしますが...

 まあ、僕のソフトとの作り方じたいマックのプログラミング作法とかけ離れているのでこういうことができるのではないかと思っているのですが...(^_^)

Subject: [fb-ml 53] Re: Automatic PG!
At 11:02 PM 97.3.27 +0900, Tsutomu YANO wrote:
 ベン/矢野 勉 です。

 ひとりじめしない程度のことであれば、HANDLEEVENTS で十分ですね。Cなんかでは WaitNextEvent() でイベント情報を得て、何の情報なのか分析して、場所に応じて処理を振り分けて、ウインドウ外部が押されたら Deactivete して、もし押したところが非アクティブのウインドウだったら、Activate 処理をして... などと大変なんですが、FB だと HANDLEEVENTS がたいていを処理してくれます。

ON MOUSE FN DoMouse
ON DIALOG FN DoDialog
ON MENU FN DoMenu

 どうもありがとうございます。さっそくやってみました。結果はバッチリでした。うまく動きました。途中終了もできるようになりました(^_^)。
 以外にあっけなく終わってしまったのでちょっと拍子抜けしてしまいました。所要時間5分ほどでした。

 1つ疑問点を書いておきました(1つ前のメッセージに)。

 要するにですね、FOR ... NEXT とか WHILE ... WEND とかのループ文を使うと、その間他のアプリに処理が渡らないんです。(もちろんファインダにも) で、普通は長い処理には NULL Event のときに処理すれば、アプリがなにもしていないときには NULL Event が繰り返し発生するので、繰り返し処理が行えるのです。しかし FB には TIMER イベントというのがあるので、

ON TIMER(-1) FN DoLongProcess

 てな感じで、60分の1秒ごとに FN DoLongProcess が呼び出されるわけです。
こういうように、OS が送ってくるイベントを待って処理を行う仕組みを「イベント・ドリブン」といいます。まあ「イベント指向」といってしまえると思います。

 とりあえず一度 FB の HANDBOOK を最初からじっくり読んで下さいな。

 これもなかなか使えそうです。今のソフトを1から作り直そうと考えているのでその時の参考にさせてもらいます(^_^)。 

Subject: [fb-ml 54] Re: Automatic PG!
森川 俊彦です。

At 1:54 AM 97.3.28 +0900, KaZuhiro FuRuhata wrote:
>おうかと思ってんですが、このメモリ要求だと、半分ちかく仮想メモリに頼ることになってしまふ。どなたか 68K で NetScape 3.0 使っているひといませんかね?
 私は主に68KでNS3を使用しています。
 特に8MBなくても動きます。
 ただしShockwaveムービーがある場合、メモリ不足で動かないでしょう。
 7MBでも別にスワップしません。
 僕もLC475でNetscape3.0使っています。ただ、メモリーを36MB積んでいるのでNSには25MB割り当てています。2.0でもぜんぜん問題なかったのですが前回のWindowの大きさを忘れてしまうのが難でした。起動するたびにwindowを大きくするのがいやで(^_^)3.0にしています(ポートレートモニターを使っているのでとくに面倒です)。
 でもJava&JavaSpriptは切ったままになっています。使わないのだから起動時に initializeしなくもいいのに...もっと早く起動してほしい...というのが今の不満点です。

Subject: [fb-ml 55] Japanese Manual
石橋です。

一度は校正したでしょう多分。
ここらへんは石橋さんの方が知っているのではないでしょうか?
翻訳した本人に聞いたんだから。

なんせ、元のFBのコードって文字列が直接CODEリソースの中に入っていたりしたんで、その変更交渉だけでかなり時間を食ってしまったということでしたよ。
Stazも日本側からの指摘を受けて、次の版には全面書き直しをするらしい。
とにかくどういうかたちでも日本語化されたことを評価しましょ。

#きっとアンディちゃんはアセンブラで組んでいるんだ(^^)。

Subject: [fb-ml 56] Re: Aratame
古籏一浩です。

At 4:07 97.3.28 +0900, zzz@mail.yamato.or.jp wrote:
 ちょっとご無沙汰している間に(仕事でlingo(^_^;)でスクリーンセーバーを作っていたので……)大勢になりましたねぇ。あらためまして伊藤です。皆さんよろしくお願いします。
 MMDでスクリーンセーバーですか。
 画面をひげそりでそっていく、スクリーンシェーバーとかはどうです?(笑)

Subject: [fb-ml 57] BMP Format
古籏一浩です。

とりあえず解説を付けて、手抜き版の(笑)BMP Saverを用意しました。
次はドラッグ&ドロップ、そして、その次はTIFF Saverの予定です。

Subject: [fb-ml 58] Re: Hello(^^;)
古籏一浩です。

At 7:45 97.3.28 +0900, Yasuo Kuzuhara wrote:
はじめまして、葛原康雄といいます。
 いらっしゃいませ。

通信関連のツールを作りたいとは思うのですが...
ただ単純なポートアクセスだと簡単に作れると思うのですが...
デバイスマネージャーまで扱おうと思っているので、ちょっと、罵倒してます。(;_;

 シリアルポートであればOPEN "C",〜とINPUT,PRINTだけでできます。
 MZ <-> Macでやりましたが、割と簡単でした。
 ちょっと指定ではまってしまった所がありましたが。

Subject: [fb-ml 59] Re: Automatic PG!
古籏一浩です。

At 11:42 97.3.28 +0900, Toshihiko MORIKAWA wrote:
 でもJava&JavaSpriptは切ったままになっています。使わないのだから起動時に initializeしなくもいいのに...もっと早く起動してほしい...というのが今の不満点です。
 Javaは切っても表示に影響はありませんがJavaScriptを切るとFONTタグ等の働きが変わってしまいます。なんでかは知りませんが。

 Netscape 4.0b2も出ましたが、こちらはPPCでしか動作しません。
 おまけにかなり不安定です。

Subject: [fb-ml 60] RE: Multi HANDLEEVENTS
 ON EVENT FN〜などはメイン全体にその効力を及ぼすと考えられるのでメイン内でHandleeventsを何回呼び出しても(完全に独立していれば)大丈夫なような気がしますが...
 あれ? むむっ? なんかこちらも混乱してきました(^^;) たしかにHANDLEEVENTSのたびに ON ???? FN ???? にジャンプするのを考えると、MAINファイル内部なら何回呼んでもいいような気がしますね。むむ、これは気になるので、英語版 FB-ML にポストして確認することにしましょう。返事がありしだい、ここに報告しますので、しばしお待ちを。

Subject: [fb-ml 61] Re: Hello(^^;)
At 6:53 PM 97.3.28, KaZuhiro FuRuhata wrote:
古籏一浩です。
...
 シリアルポートであればOPEN "C",〜とINPUT,PRINTだけでできます。
 MZ <-> Macでやりましたが、割と簡単でした。
 ちょっと指定ではまってしまった所がありましたが。

いやぁ、その程度でしたら、良いのですけど、無手順ソフトウェアパケット通信もどきを行おうとしてたりするの(^^;)と、時間がとれなくて、思うように進まない。<('_')>baki\(^_^ )

で、duoとかのことも最初に考えてしまって、先に進まないのが難関なのですが...あまり考えずに、わかるところだけ、先にやってしまえば、良いのかもしれないのですが、どうも私の性格上、考えこんでしまうのと、わき道にそれてしまうのです。

デバイスマネージャーで、デバイスのポート名を取得し、それをポップアップメニューにして、ポートを選んでもらう。というのが、出来てないところです。
これによっては、通常のread,write文が使えないですよね。

まぁ、かんがえずに、通常の printerport , modemportに出力する形で、さっさとつくってしまえばいいのですけどね。

わかっちゃいるけど、ついつい、別の遊びをしてしまう。<('_')>baki\(^_^ )

Subject: [fb-ml 62] Re: BMP Format
伊藤とものりです。

次はドラッグ&ドロップ......

 期待しています。
 僕はゲームよりもファイル処理とかユーティリティでFBを使っています。フォルダーとかディスクのドラドロの認識のさせ方がわからないので、どのプログラムも半人前です。(T.T)  ではでは。
追伸
風邪で寝込んでいます。(ToT)

Subject: [fb-ml 63] Re: Japanese Manual
こんにちは,中野@Kyoto-inet です。

古旗さん(openspc@po.cnet.or.jp) 》69ページには「コードを丸裸」と書いてある(笑)
》インサイドマックは眠くなるけど、PGのマニュアルは腹が痛くなります(笑)


66ページの
「蝋燭の炎でアッチョウチョウという危険が待ちかまえているのです。」
も傑作ですね。原文は
he chances being french fried by a candle flame.
となっているので,訳者の苦労が見えます。

》69ページ 》「カメラの前の情にもろい政治家が「その子が、彼女の家族のことについて話すのを聞いて感動しました。彼女の母親は年老いた女性で、大きな靴に逃げ込まざるを得ず...」
》 この翻訳全然わからないのですが、英語版ではどうなってんでしょ〜


英語版69ページでは,
Caring politician in front of cameras: "I was deeply touched by a story that a child once told to me about her family. Her mother was an aging woman who was forced to take refuge in a large shoe..."
という文が斜体で印刷されています。

 翻訳そのものはうまく出来ているのですが,わたしも意味がさっぱり分かりません。斜体になっているので何かの引用かも知れません。

》70ページ
》「我々はダンプティのサガにさらされてきました。」


英語版70ページでは,
We've all been exposed to the Dumpty saga.
You know: Humpty Dumpty sat on a wall. Humpty Dumpty had a great fall....
となっていますから
「我々はダンプティのお話をいつも聞かされてきました。」
と訳すべきですね。その次の文章(マザーグース?)は韻を踏んでいるので訳出が難しい (^_^;

 FB,PG の日本語マニュアルは,比較的こなれた訳出をしているのだけれど,誤字や単純ミスが多いので損してますね。

Subject: [fb-ml 64] 自己紹介
 どうも。NIFTYのホームパーティーで知って参加しました。弘樹です。一度、自動的に入会しようと思ったんだけどうまく出来なくて、古籏さんに手動でやってもらいました(^_^;)

 メーリングリストって初めて参加したのですが、なんか沢山来ますね。全部目を通して、勉強したいと思ってます。これからも宜しくお願いします。

Subject: [fb-ml 65] Re: Multi HANDLEEVENTS
古籏一浩です。

At 23:44 97.3.28 +0900, Tsutomu YANO wrote:
 あれ? むむっ? なんかこちらも混乱してきました(^^;) たしかに HANDLEEVENTS のたびに ON ???? FN ???? にジャンプするのを考えると、MAINファイル内部なら何回呼んでもいいような気がしますね。むむ、これは気になるので、
 ON MENU FN〜とかの飛び先でどこが実行されているかをチェックするようにすれば、よさそうだけど。

Subject: [fb-ml 65] Re: BMP Format
古籏一浩です。

At 2:16 97.3.29 +0900, zzz@mail.yamato.or.jp wrote:
> 次はドラッグ&ドロップ......

 期待しています。
 僕はゲームよりもファイル処理とかユーティリティでFBを使っています。フォルダーとかディスクのドラドロの認識のさせ方がわからないので、どのプログラムも半人前です。(T.T)
 あんまり期待しては駄目ですf(^^b
 ドラッグ&ドロップマネージャーとかは、わからないので標準のドラッグ&ドロップかな。DISKもやってみるつもりです。

追伸 風邪で寝込んでいます。(ToT)
 お大事に・・・
 (実は花粉症だったとか?)

Subject: [fb-ml 66] Re: Hello(^^;)
古籏一浩です。

At 0:19 97.3.29 +0900, Yasuo Kuzuhara wrote:
で、duoとかのことも最初に考えてしまって、先に進まないのが難関なのですが...あまり考えずに、わかるところだけ、先にやってしまえば、良いのかもしれないのですが、どうも私の性格上、考えこんでしまうのと、わき道にそれてしまうのです。
 とりあえず作ってからここで質問するってのが良いかもしれないですよ。
 市販のアプリケーションならば、最初にいろいろ考えて決めておかないといけないんだけど、自分専用のだったら、とりあえず作って考えるのが楽かなあ。

Subject: [fb-ml 66] Re: Japanese Manual
古籏一浩です。

At 3:10 97.3.29 +0900, NAKANO Takayuki wrote: 「蝋燭の炎でアッチョウチョウという危険が待ちかまえているのです。」も傑作ですね。原文は he chances being french fried by a candle flame.
となっているので,訳者の苦労が見えます。

 これも笑えます(笑)
 65ページ最後から66ページはゲームのストーリー?なんだけど半分意味不明ですねぇ〜

》 この翻訳全然わからないのですが、英語版ではどうなってんでしょ〜

英語版69ページでは,
Caring politician in front of cameras: "I was deeply touched by a story that a child once told to me about her family. Her mother was an aging woman who was forced to take refuge in a large shoe..."
という文が斜体で印刷されています。

 翻訳そのものはうまく出来ているのですが,わたしも意味がさっぱり分かりません。斜体になっているので何かの引用かも知れません。

 前後を見るとマザーグースの歌の引用みたいですねぇ。となると日本人にはマザーグースの歌を知らない場合がほとんどですから意味不明になってしまいますf(-.-b
 もともと、マザーグースの歌自体が意味不明なんで余計にそうなってしまうのでしょう。PGのマニュアルにはマザーグースがよく似合う(笑)

 FB,PG の日本語マニュアルは,比較的こなれた訳出をしているのだけれど,誤字や単純ミスが多いので損してますね。
 誤字は山のようになります。
 「こうなってます。it.」
 とか削除ミスも結構あります・・・
 FB購入者が増えれば儲かってマニュアルも刷新してくれるかなあと思うのですが・・・

Subject: [fb-ml 67] Re: 自己紹介
古籏一浩です。

At 12:57 97.3.29 +0900, Hiroki Kaneko wrote:
 メーリングリストって初めて参加したのですが、なんか沢山来ますね。全部目を通して、勉強したいと思ってます。これからも宜しくお願いします。
 メーリングリストによってメールの流量は異なります。
 メーリングリストのメールは1日3〜4通くらいの方が手頃でいいかもしれません。もっとも、いろいろなメーリングリストに  入っていると、1日に30通とか40通の所とか2ヶ月に1〜2通とかいろいろです(^^)

 Future BASIC II-Jのメーリングリストは他に国内にないと思うので適当に宣伝するといいかな〜

Subject: [fb-ml 68] RE: BMP Format
あんまり期待しては駄目ですf(^^b ドラッグ&ドロップマネージャーとかは、わからないので標準のドラッグ&ドロップかな。DISKもやってみるつもりです。
 Macintosh Drag&Drop なら STAZ Software から FB Tools を買って、PG つかってプログラムを組めば、テキストと画像関連は5分で D&D 対応ですね。
うう、すばらしい。PICT, JPEG, GIF, TIFF がポンポンとウインドウに置けるという..

Subject: [fb-ml 69] About ResEdit2.1.3
みなさん、こんにちは。
府中の山下渉です。

FB IIでプログラミングをしていて、必ず必要となるのがリソース編集ソフトですが、ResEdit2.1.3の場合、例えば

DLOGエディタからDITLエディタを起動させようとしてDLOGエディタに表示されている、編集すべきウィンドウをダブルクリック。
↓
DITLエディタのウィンドウは開けども、中身が表示されずそのまま操作不能。
↓
「Command」+「Option」+「esc」でResEditを強制終了。

や

PICTリソースの一覧から個々のPICT絵を大きく表示させるためにダブルクリック。
↓
ウィンドウは開けども、絵が表示されずそのまま操作不能。
↓
「Command」+「Option」+「esc」でResEditを強制終了。

といったことが多々あります。

その後、もう一度ResEdit2.1.3を起ち上げなおしても同じ現象でMacintoshを再起動すると直ったりします。
ResEdit2.1.3を再インストールしてもやはり同じ現象は発生します。

みなさんの環境では、そういった不具合は発生してないでしょうか?
もし、解決策をご存じの方はお教え願えないでしょうか?

私の環境は、 です。

宜しくお願い致します。

Subject: [fb-ml 70] Re: BMP Format
古籏一浩です。

At 1:28 97.3.30 +0900, 矢野 勉 wrote:
> ドラッグ&ドロップマネージャーとかは、わからないので標準のドラッグ&ドロップかな。DISKもやってみるつもりです。
 Macintosh Drag&Drop なら STAZ Software から FB Tools を買って、PG つかってプログラムを組めば、テキストと画像関連は5分で D&D 対応ですね。うう、すばらしい。PICT, JPEG, GIF, TIFF がポンポンとウインドウに置けるという..

 というのをベンさんのホームページに載せてくださいよ。
 そうすれば、PGを使う人も増えるでしょ。
 私の所は、結構オールドスタイルですから(^^b

Subject: [fb-ml 71] Re: Japanese Manual
古籏一浩です。

At 17:30 97.3.28 +0000, YOSHIAKI ISHIBASHI wrote:
なんせ、元のFBのコードって文字列が直接CODEリソースの中に入っていたりしたんで、その変更交渉だけでかなり時間を食ってしまったということでしたよ。
 オンラインヘルプは、そうなんだけど紙のマニュアルはなんともいただけないですf(-.-b

Subject: [fb-ml 72] Re: About ResEdit2.1.3
古籏一浩です。

At 13:15 97.3.30 +0900, WataruYamashita wrote:
その後、もう一度ResEdit2.1.3を起ち上げなおしても同じ現象でMacintoshを再起動すると直ったりします。
ResEdit2.1.3を再インストールしてもやはり同じ現象は発生します。

みなさんの環境では、そういった不具合は発生してないでしょうか?
もし、解決策をご存じの方はお教え願えないでしょうか?

 うちでも、全く同様の現象が発生します。
 解決方法も全く同じです。
 8500/132でKT7.5.3でResEdit2.1ですが・・・
 どうも一度FBを起動してリソースを読み込んだり、同時にやろうとするとその後全然駄目になってしまうみたいです・・・

 他の方はどうなんでしょう?

Subject: [fb-ml 73] Re: About ResEdit2.1.3
こんにちは、府中の山下です。

At 2:01 PM 97.3.30, KaZuhiro FuRuhata wrote:
古籏一浩です。
>     … 中略 …
>みなさんの環境では、そういった不具合は発生してないでしょうか?
>もし、解決策をご存じの方はお教え願えないでしょうか?
 うちでも、全く同様の現象が発生します。
 解決方法も全く同じです。
 8500/132でKT7.5.3でResEdit2.1ですが・・・
 どうも一度FBを起動してリソースを読み込んだり、同時にやろうとするとその後全然駄目になってしまうみたいです・・・

この現象って、FB IIからリソースを読み込んだりした後に起る特有のものなのでしょうか?
Think CやCodeWarriorでコーディングをしたときには起らない?
(↑Cではコーディングをしたことがなくて、私にはわかりません。)だとすると、ResEdit側の不具合ということではないということに?

作業の途中でResEditが使えなくなるのは、非常に痛い...。

Subject: [fb-ml 74] Re: About ResEdit2.1.3
古籏一浩です。

At 18:03 97.3.30 +0900, WataruYamashita wrote:
この現象って、FB IIからリソースを読み込んだりした後に起る特有のものなのでしょうか?
 FB1.0.2でも同様の現象が発生します。
 FB2特有ではないと思います。

Think CやCodeWarriorでコーディングをしたときには起らない?(↑Cではコーディングをしたことがなくて、私にはわかりません。)だとすると、ResEdit側の不具合ということではないということに?
 そんなに不具合があるとは思えないのですが。
 他のアプリだとかちあわない限りなんともないし・・・

作業の途中でResEditが使えなくなるのは、非常に痛い...。
 うまくいく時もありますから、どうなんでしょうf(-.-b

Subject: [fb-ml 75] PR of Mailing list
 Future BASIC II-Jのメーリングリストは他に国内にないと思うので適当に宣伝するといいかな〜
 モモデラさんにおねがいして、リンクだけじゃなくて、リストへの参加の仕方もホームページにのっけてもらうと一番よいですよね。モモデラさんもなんかページの書き換えをするネタがないのか、忙しいのか、なんか更新が少ないので、こういうネタがあると喜ぶんじゃないかなー、と希望的観測をしてますが。

#ところで、もう総ポスト数 70 を突破したんですね。はやいなあ。

Subject: [fb-ml 76] RE: About ResEdit2.1.3
 ベン/矢野 勉 です。

DLOGエディタからDITLエディタを起動させようとしてDLOGエディタに表示されている、編集すべきウィンドウをダブルクリック。
↓
DITLエディタのウィンドウは開けども、中身が表示されずそのまま操作不能。
↓
「Command」+「Option」+「esc」でResEditを強制終了。

 これ、僕も何度か同じ目にあってます。理由はいまだに不明。メモリ割り当て量の問題とは思えないんだけどなあ。

僕の環境は:  です。

#うーん、マシンも OS も古い。とある人から「ColorClassic ですか。いいですねえ」とかいわれたが、だったら君の PowerMac と交換してくれっ(笑)

Subject: [fb-ml 77] adress
伊藤です。

僕はユードラでMLを見てるンですけど、自分の出したMLだけ通信相手がアドレスで表示されています。(他のMLは名前だけ表示されています)これって他の方は差出人のところには名前しか入力していないからなのですか?それとも自分のMLはそーゆー表示になってしまうのですか?

Subject: [fb-ml 78] Re: About ResEdit2.1.3
At 2:01 PM 97.3.30, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 13:15 97.3.30 +0900, WataruYamashita wrote: >その後、もう一度ResEdit2.1.3を起ち上げなおしても同じ現象でMacintoshを再起動すると直ったりします。 >ResEdit2.1.3を再インストールしてもやはり同じ現象は発生します。
 他の方はどうなんでしょう?

風邪で終末丸潰れの伊藤です。僕はforkerを仕込んでいた頃そーゆー現象がありましたが、今はありませんねぇ……何なんでしょうね。

Subject: [fb-ml 79] Re: PR of Mailing list
古籏一浩です。

At 21:06 97.3.30 +0900, Tsutomu YANO wrote:
 モモデラさんにおねがいして、リンクだけじゃなくて、リストへの参加の仕方もホームページにのっけてもらうと一番よいですよね。モモデラさんもなんかページの書き換えをするネタがないのか、忙しいのか、なんか更新が少ないので、こういうネタがあると喜ぶんじゃないかなー、と希望的観測をしてますが。
 忙しいのではなくてネタがないだけだと思います。
 私のページへのリンクを頼んだら、すぐにやってくれましたので。

 登録方法とか、いろいろ作ってモモデラさんの所からメーリングリスト紹介のページに飛ぶようにすればいいかな。

Subject: [fb-ml 80] Re: adress

古籏一浩です。

At 1:42 97.3.31 +0900, zzz@mail.yamato.or.jp wrote:
伊藤です。僕はユードラでMLを見てるンですけど、自分の出したMLだけ通信相手がアドレスで表示されています。(他のMLは名前だけ表示されています)これって他の方は差出人のところには名前しか入力していないからなのですか?それとも自分のMLはそーゆー表示になってしまうのですか?
 私の所は、アドレスで表示されたり名前で表示されたりしてますが・・・
 これは詳しい人に聞いた方がいいかなあ。

 よくわからんですf(^^b

Subject: [fb-ml 81] Re: About ResEdit2.1.3
ResEditの件、私のところだと、MacOS7.6なのですが、起きました。が、MacsBugに落ちて、_Get?CICNだったかなにかが表示されていました。

Finderのヒープが少なくなって、落ちるときと同じです。

PhotoShopでPICTリソースを別のファイルに書き出した後、ResEditで目的のファイルにコピー&ペーストしたあと、そのPICTリソースを開こうとした時に、落ちました。カラーアイコンを表示しようとしたとき見たいなのですが良く状況がつかみきれていません。(;_;)

Subject: [fb-ml 82] Re: adress
At 7:21 PM 97.3.30, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 1:42 97.3.31 +0900, zzz@mail.yamato.or.jp wrote:
伊藤です。僕はユードラでMLを見てるンですけど、自分の出したMLだけ通信相手がアドレスで表示されています。(他のMLは名前だけ表示されています)これって他の方は差出人のところには名前しか入力していないからなのですか?それとも自分のMLはそーゆー表示になってしまうのですか?

 私の所は、アドレスで表示されたり名前で表示されたりしてますが・・・
 これは詳しい人に聞いた方がいいかなあ。

 よくわからんですf(^^b

EUDORAは、
From: openspc@po.cnet.or.jp (KaZuhiro FuRuhata)
From: zzz@mail.yamato.or.jp

というように、自分の名前の設定をしているかどうか、で変わってきます。
EUDORAの設定の中に、本名があると思うのですが、そこに設定をしていると、メールをかくときに、差出人の自分のメールアドレスの後に、()付けで、本名が添付されているはずです。上記、古籏さんのように...

Subject: [fb-ml 83] Re: Multi HANDLEEVENTS
森川 俊彦です。

At 11:44 PM 97.3.28 +0900, Tsutomu YANO wrote:
> ON EVENT FN〜などはメイン全体にその効力を及ぼすと考えられるのでメイン内でHandleeventsを何回呼び出しても(完全に独立していれば)大丈夫なような気がしますが...
 あれ? むむっ? なんかこちらも混乱してきました(^^;) たしかにHANDLEEVENTS のたびに ON ???? FN ???? にジャンプするのを考えると、MAINファイル内部なら何回呼んでもいいような気がしますね。むむ、これは気になるので、英語版 FB-ML にポストして確認することにしましょう。返事がありしだい、ここに報告しますので、しばしお待ちを。
 結果がわかったらお願いします(^_^)。

Subject: [fb-ml 83] Re: Automatic PG!
森川 俊彦です。

At 6:53 PM 97.3.28 +0900, KaZuhiro FuRuhata wrote:
古籏一浩です。

At 11:42 97.3.28 +0900, Toshihiko MORIKAWA wrote:
> でもJava&JavaSprictは切ったままになっています。使わないのだから起動時に initializeしなくもいいのに...もっと早く起動してほしい...というのが今の不満点です。
 Javaは切っても表示に影響はありませんがJavaScriptを切るとFONTタグ等の働きが変わってしまいます。なんでかは知りませんが。

JavaScriptをきるとそうなるのですか...知らなかったです。JavaScriptだけは入れておいたほうがいいですね。

Subject: [fb-ml 84] Re: Automatic PG!
古籏一浩です。

At 9:31 97.3.31 +0900, Toshihiko MORIKAWA wrote:
JavaScriptをきるとそうなるのですか...知らなかったです。JavaScriptだけは入れておいたほうがいいですね。
 でも2.0だと、バスエラー等で落ちる事もあります。
 document.clear();
 で自分自身を消してしまい暴走しちゃいます(笑)
 3.0の方は結構安定しています。
 JavaScriptに関してはWin95が一番不安定です。

Subject: [fb-ml 85] Re: adress
EUDORAは、
> From: openspc@po.cnet.or.jp (KaZuhiro FuRuhata)
> From: zzz@mail.yamato.or.jp
というように、自分の名前の設定をしているかどうか、で変わってきます。
EUDORAの設定の中に、本名があると思うのですが、そこに設定をしていると、メールをかくときに、差出人の自分のメールアドレスの後に、()付けで、本名が添付されているはずです。上記、古籏さんのように...

なるほどなるほど。ではこれでいかがでしょうか?皆さん。
というわけで風邪が治ったと思って会社に行ったら治ってなかった伊藤でした。

Subject: [fb-ml 86] Re: adress
古籏一浩です。

At 3:52 97.4.1 +0900, 伊藤とものり wrote:
> 添付されているはずです。上記、古籏さんのように...
なるほどなるほど。ではこれでいかがでしょうか?皆さん。
 今度はちゃんと伊藤さんの名前がでてます(^^)

Subject: [fb-ml 87] MODE
どーも伊藤です。
ついにモモデラーのHPが更新になったと思ったら社名変更……まあ変わって良かったかも(^o^)

Subject: [fb-ml 88] Re: MODE
At 5:22 AM 97.4.2 +0900, 伊藤とものり wrote:
どーも伊藤です。ついにモモデラーのHPが更新になったと思ったら社名変更……まあ変わって良かったかも(^o^)
 さっそく見てみました。たしかに社名変更になっていました。個人的な好みをいえば旧名のほうがよかったけど...(^_^)

Subject: [fb-ml 89] Multiple HANDLEEVENTS again
 え、例の「ON ??? FN ??? がある MAIN ファイル上で、HANDLEEVENTS をループごとに別の場所に複数書いた場合、なにか問題が生じるか」という問題ですが、このたび英語版 FutureBASIC Mailing list での議論がだいたい終息しましたので、結論を報告します。

「再帰的に呼び出さない限りは問題は生じない」

 これが結論のようです。

 具体的には、僕が以前指摘したように、ON ???? FN ???? でジャンプした先の関数、さらにそこから呼び出される関数内で HANDLEEVENTS を呼び出した場合は、HANDLEEVENTS の処理が終わるまえにもう一度 HANDLEEVENTS を呼び出したことになり、一部のイベントが消去される事態になります。

 一方、MAINファイルひとつだけで、あたまからずーっとつっぱしるタイプのプログラムなどで、複数のループ部がある場合、それぞれのループ内で HANDLEEVENTS を呼んでも問題はおきません。通常どおりイベントをとらえて、ON ???? FN ???? で示された関数にジャンプしてくれます。

 よく考えれば当然のことで、HANDLEEVENTS 一個のプログラムでも、ループ内に HANDLEEVENTS をおいて、繰り返し呼び出しているわけで、それが2ヵ所に分かれたところでやはり問題は生じませんね。「これは再帰呼び出しではない」という確信がある場合は、別に使用しても機能的問題はありません。

 一方で、次のような意見もあります。

The problems with HandleEvents come down more to programming style thantechnical difficulties. Using multiple HandleEvents calls typically meansyour program needs to be re-thought in certain areas. A well-designed,"normal" app will not need more than one HandleEvents call.
「この HANDLEEVENTS の問題は、技術的問題というよりは、プログラミング・スタイルの問題なんだ。複数の HANDLEEVENTS を使うってことは、きみはプログラムの一部を考え直す必要があるってことだ。うまくデザインされた『ふつうの』アプリケーションには HANDLEEVENTS は一つしか必要ないはずさ」

 日頃、個人用「バッチ処理プログラム」より「Macintosh アプリケーション」を作ろうとしている僕もこの意見には賛成でして、いくら技術的に問題がないとはいえ、もし「プログラムを作ってフリーウェア (シェアウェア) として配布しよう」と考えているのなら、やはり HANDLEEVENTS はひとつにして、マックらしくプログラムしたほうが、わかりやすいプログラムになります。

 一方で、「このプログラムは個人的な処理のためにかいたもので、配布するなど毛頭考えていない」ようなプログラムであれば、技術的には問題はないわけで、バンバン使ってもいいってことです。特に数多くのループをするプログラムをイベント・ドリブンでかくと、意外とたいへんな上に、そういう時に限って急いでいる場合がおおいんで、そんなときは難しいこと考えずに、(再帰呼び出しにだけ注意して) ループの中に一個ずつ HANDLEEVENTS をおけばいいでしょう。

 つーわけで以上、結論でした。

Subject: [fb-ml 90] Re: MODE
古籏一浩です。

At 16:40 97.4.2 +0900, Toshihiko MORIKAWA wrote:
>ついにモモデラーのHPが更新になったと思ったら社名変更……まあ変わって良かったかも(^o^)
 さっそく見てみました。たしかに社名変更になっていました。個人的な好みをいえば旧名のほうがよかったけど...(^_^)

 4月バカ(笑)かと思ってましたが、違ってたみたい。
 MODEですか。昔の方が覚えやすかったんだけどなあ。
 これも時代の流れってヤツ?

Subject: [fb-ml 91] Re: Multiple HANDLEEVENTS again
古籏一浩です。

At 23:30 97.4.2 +0900, Tsutomu YANO wrote:
「この HANDLEEVENTS の問題は、技術的問題というよりは、プログラミング・スタイルの問題なんだ。複数の HANDLEEVENTS を使うってことは、きみはプログラムの一部を考え直す必要があるってことだ。うまくデザインされた『ふつうの』アプリケーションには HANDLEEVENTS は一つしか必要ないはずさ」
 大抵の場合はイベントループは1つで足りるでしょう。
 ゲームはモノのによって違いますが。
 結局WAITNEXTEVENTとかに時間が消費されると困るのでイベントループはゲームのシステムでは1回も使ってないです(^^;

 一方で、「このプログラムは個人的な処理のためにかいたもので、配布するなど毛頭考えていない」ようなプログラムであれば、技術的には問題はないわけで、バンバン使ってもいいってことです。特に数多くのループをするプログラムをイベント・ドリブンでかくと、意外とたいへんな上に、そういう時に限って急いでいる場合がおおいんで、そんなときは難しいこと考えずに、(再帰呼び出しにだけ注意して) ループの中に一個ずつ HANDLEEVENTS をおけばいいでしょう。
 FBで求められているのは通常のアプリよりもバッチ的なもののような気がします。ほとんど個人で使うとすれば、別段どうでもいいんですが。
 慣れれば、普通のアプリらしいものも簡単に作れますけどね。

Subject: [fb-ml 92] Re: Multiple HANDLEEVENTS again
At 11:30 PM 97.4.2 +0900, Tsutomu YANO wrote:
「再帰的に呼び出さない限りは問題は生じない」

 これが結論のようです。

 あっ、やっぱりそうなんですか、よかった...(^_^)。
とりあえず、作ったソフトも問題なく動いていたのですが、そういってもらえると安心します。

 一方で、次のような意見もあります。

「この HANDLEEVENTS の問題は、技術的問題というよりは、プログラミング・スタイルの問題なんだ。複数の HANDLEEVENTS を使うってことは、きみはプログラムの一部を考え直す必要があるってことだ。うまくデザインされた『ふつうの』アプリケーションには HANDLEEVENTS は一つしか必要ないはずさ」

 日頃、個人用「バッチ処理プログラム」より「Macintosh アプリケーション」を作ろうとしている僕もこの意見には賛成でして、いくら技術的に問題がないとはいえ、もし「プログラムを作ってフリーウェア (シェアウェア) として配布しよう」と考えているのなら、やはり HANDLEEVENTS はひとつにして、マックらしくプログラムしたほうが、わかりやすいプログラムになります。

 一方で、「このプログラムは個人的な処理のためにかいたもので、配布するなど毛頭考えていない」ようなプログラムであれば、技術的には問題はないわけで、バンバン使ってもいいってことです。特に数多くのループをするプログラムをイベント・ドリブンでかくと、意外とたいへんな上に、そういう時に限って急いでいる場合がおおいんで、そんなときは難しいこと考えずに、(再帰呼び出しにだけ注意して) ループの中に一個ずつ HANDLEEVENTS をおけばいいでしょう。
 たしかにその通りだと思います。できれば、マックらしいソフトにしたいのですが、これがなかなか難しそうなので...。
 ループがいくつもあるソフトをイベントドリブンで書くときってどうするのでしょう?ループが短かければ多少レスポンスが悪くなるけど、そのままでもいいと思うのですが(^_^)。長いと(だいたい4、5分)止まるまで画面と睨めっこしなければいけない...

 FOR...NEXTをやめてループの最後(最初)でIFによる条件判断にすればいいのかな?(^_^)それともON TIME FNで一定時間ごとに中止キーが押されたかどうかをチェックするのか...
 なんかスマートな方法で、目から鱗が落ちるような解決法があるのでしょうか?

Subject: [fb-ml 93] Re:ボールキャッチについて、、、、、、、、
スタートアップマニュアルの中のボールキャッチを、丸写しにしたのですが、各、セクションの位置は分かりました。
しかし、関数の位置が、判らず、コンパイル出来ないのです。
なぜでしょうか?おしえてください、以下が私の張り付けた、各セクションの順序です。
なにか、間違いが、あるのでしょうか?
1.ヘッダ
2.定数
3.グローヴル変数
4.関数 (各関数の順序)
4.1(FN initialize)
4.2(FN BuildWnd)
 ここが、原因のようです。ここの、FN BuildWnd という、関数が、未定義になってしまうのです。
 マニュアルの丸写しなのですが.......?順番違いしか、おもいつきましぇん(;_;)
4.3(FN NewGame)
4.4(FN UpdateWnd)
4.5(FN DoDialog)
4.6(FN DiMenu)
4.7(FN DoTimer)
4.8(FN NewFootball)
4.9(FN ChekCatch)
4.10(FN MoveBall)
4.11(FN MoveMan)
5.メインプログラム

Subject: [fb-ml 94] Re: Multiple HANDLEEVENTS
 ループがいくつもあるソフトをイベントドリブンで書くときってどうするのでしょう?ループが短かければ多少レスポンスが悪くなるけど、そのままでもいいと思うのですが(^_^)。長いと(だいたい4、5分)止まるまで画面と睨めっこしなければいけない...
 これはいわゆる「プログレス・バー」を表示するような長い処理ではとくに問題になります。10周くらいのループだと、おそらく1秒程度しか処理を奪わないと思われるので、こういうのは FOR...NEXT, WHILE....WEND などで十分。長い処理の場合はいくらかやり方があります。一応「イベント・ドリブン」の場合、という指定がありますのが、HANDLEEVENTS が複数ある場合は、  このやり方はたとえばボタンがおされたらとにかく終了、など、バッチ処理では便利です。
FOR i = 1 TO 100
  処理
  HANDLEEVENTS
  IF FN BUTTON THEN EXIT
NEXT i
 とかです。(この場合、マウスボタンがおされるとループから脱出します。)

 次のやり方は、HANDLEEVENTS が一つの標準的マックアプリの、つまり純「イベント・ドリブン」なやりかた。「フラグ」と呼ばれるスイッチを使います。

 ここに gStartFlag というグローバル変数があるとします。さらに、ON TIMER(-1) FN DoTimer として、60分の1秒ごとに FN DoTimer がよばれるとします。ループ構文は一切しようする必要はありません。処理の目的はファイルから1行読みこむことだとします。
ON TIMER(-1) FN DoTimer

CLEAR LOCAL FN DoTimer
 DIM theString$

  LONG IF gStartFlag <> _false
    '"処理を一回実行
    theString$ = LINE INPUT #1
  END IF
END FN

DO
  HANDLEEVENTS
UNTIL gEndProgram <> _false
 このサンプル自体には何の意味もないのであしからず(^^;)

 FN DoTimer は、どこかで処理時間が奪われていない限り、必ず60分の1秒に1回呼び出されます。繰り返し繰り返し呼び出されます。つまり TIMER イベント自体がすでにループになっているので、ループ構文をつかう必要がないわけです。

 そのかわり、何がなんでも呼び出されるので、処理をしたくない時には行わないようにしなくてはいけません。その「スイッチ」が gStartFlag です。これが 0 (_false) 以外の値になると、処理が始まり、以降60分の1秒ごとに処理が進みます。処理の終了を確認したら、gStartFlag を _false にセットします。すると処理は行われなくなるわけです。

このやり方の場合、TIMER イベントという、イベントの一つを使っています。
HANDLEEVETS は他にイベントがある場合は先にそちらを処理するようになっているので、アップデートやら BREAK (Command + . ) やらを阻害せずに、うまくイベントを割り振ってくれます。他のイベントがない場合で、指定時間が経過しているときのみ、TIMER イベントに処理が割り振られます。

 とまあ、こんなとこです。本来なら ON EVENT FN ???? で分岐して、Macintosh の Null Event をつかまえるのが普通のやり方ですが、別に TIMER でも問題ありません。ただ、どのくらいの時間で TIMER イベントを起こすかについては、ちょっと考える必要はあるでしょう。60分の1秒に一回だと、場合によっては多すぎるでしょう。

 イベント・ドリブンではループはややこしいんです(^^;) やっぱ HANDBOOK を読まないとね。

Subject: [fb-ml 94] Re: ボールキャッチに
 え、FB では Pascal と同じく、使用する関数は、使用するよりも先に定義されている必要があります。(というより、C言語でもいっしょなんだけど、C にはHeader があるので気にならないだけ)

 この場合、FN Initialize 内で FN BuildWnd とか FN NewGame を呼び出しているので、この2つは FN Initialize よりも上にある必要があるわけです。
 自分でプログラムを書く時には、イベント・ハンドラ(ON ??? FN ???) で飛ぶさきの関数によって区分をつくり(つまり FN DoMenu を中心にメニュー関係の関数をかためる、とか)、「下から積み上げる」ようにして関数を書いていくと、混乱しません。

 さらに、FB では "@MENU HANDLER" などと、ダブルクォーテーションで囲まれたもの_だけ_の行は「ラベル」とみなされ、プロジェクト・ウインドウに表示されるので、これを使えば、各イベントごとに関数を固めておくのも楽になります。

 実はこのサンプル、自分でうちこまないでも、ディスクに入ってますよ。うちは英語版なんでフォルダ名が不明ですが、英語版では :Getting Started:Sample Game フォルダにあります。

 それにしても、このサンプル、今日はじめて読んだんですが、たしかに順番が不明ですね。おまけに全部の関数がマニュアルに書かれているわけでもないようなんで、順番どおりにならべても動かないですね(^^;) だって FN UpdateField なんてマニュアルにはのってないけど、FN DoTimer内で呼び出してますし。

 つーわけで、内容が理解できたのであれば、素直にディスク内のファイルで実行しましょう(^^;)

 うーむ、サンプルを実際に打ち込むのは一番いい練習法なんだけどなあ。これではそれができんでわ。

Subject: [fb-ml 95] Re: ボールキャッチに
古籏一浩です。

At 2:33 97.4.4 +0900, Tsutomu YANO wrote:
 うーむ、サンプルを実際に打ち込むのは一番いい練習法なんだけどなあ。これではそれができんでわ。
 でも、そうやって失敗しながら覚えていくのでは?

Subject: [fb-ml 96] Re: Multiple HANDLEEVENTS
どーも伊藤です。

 このやり方はたとえばボタンがおされたらとにかく終了、など、バッチ処理では便利です。
 FOR i = 1 TO 100
   処理
   HANDLEEVENTS
   IF FN BUTTON THEN EXIT
 NEXT i
 EXITでループを抜け出せるんですね、知りませんでした。他のBASICだとEXITとかBREAKとかで抜け出せるけど、なんでFBにはそれが無いんだろう……と困っていました。で、大きなlong if文で間に合わせてました。
 ところでFBって書類を開いていないとヘルプで検索できないようですけど……僕のだけかな。

Subject: [fb-ml 97] Re: Multiple HANDLEEVENTS
At 5:19 AM 97.4.4 +0900, 伊藤とものり wrote:
どーも伊藤です。

>  このやり方はたとえばボタンがおされたらとにかく終了、など、バッチ処理では便利です。

> FOR i = 1 TO 100
> 処理
> HANDLEEVENTS
> IF FN BUTTON THEN EXIT
> NEXT i
>

 EXITでループを抜け出せるんですね、知りませんでした。他のBASICだとEXITとかBREAKとかで抜け出せるけど、なんでFBにはそれが無いんだろう……と困っていました。で、大きなlong if文で間に合わせてました。

 リファレンスを見るとたしかにありますね。「EXIT FN」文で紹介されていますね。私も始めて知りました。
「FOR...NEXT」の説明には一言もでてきませんから...ないと思っていました。FBIIのONLINE HELPにはないですね...(英語版)。

 ちなみに「WAIT」文(?)をご存じの方いますか?WAITっていれると予約語みたいに大太字になるのですがリファレンスにもHELPにもないようなんですが...「WAVE」というのはリファレンスにはなくて、HELPには説明があります(使ったことありませんが)。

 ところでFBって書類を開いていないとヘルプで検索できないようですけど……僕のだけかな。
 私のところではできますよ。英語版のVersion2.3です。ただ、拡張キーボードの「help」キーの動作が違います。書類を開いていれば「help」キーでHELPがでますが、開いていないとポーンとなるだけで何もおきません。その時もアップルメニューから選べば、問題なく使えます(^_^)。もちろん検索も。

Subject: [fb-ml 97] Re: Multiple HANDLEEVENTS
At 2:34 AM 97.4.4 +0900, Tsutomu YANO wrote:
 このやり方はたとえばボタンがおされたらとにかく終了、など、バッチ処理では便利です。
FOR i = 1 TO 100
処理
HANDLEEVENTS
IF FN BUTTON THEN EXIT
NEXT i
 とかです。(この場合、マウスボタンがおされるとループから脱出します。)

ハッハッハ、じつはよく使っています。これはホント便利ですね。何にも考える必要がないし...(^_^)

 とまあ、こんなとこです。本来なら ON EVENT FN ???? で分岐して、Macintosh の Null Event をつかまえるのが普通のやり方ですが、別に TIMER でも問題ありません。ただ、どのくらいの時間で TIMER イベントを起こすかについては、ちょっと考える必要はあるでしょう。60分の1秒に一回だと、場合によっては多すぎるでしょう。

 イベント・ドリブンではループはややこしいんです(^^;) やっぱ HANDBOOK を読まないとね。

 なるほど...ハンドブックを読んでみると、たしかに、そのように書いてありますね。う〜ん、私の作ったソフトでこれを実現するには、かなり書き換えないとこうはできないです(^_^)。
 HABDLEEVENTSはいろいろやってみるとおもしろそうな使い方があるかもしれませんね。

 ところで、余談ですが...
 つい先日、頼んであって資料が届きました。何の資料かというと職場にある画像診断機器のバックアップ用5インチMOのフォーマットについてものです。この5インチMOをMACで読み込むソフトと作るために頼んだですが...(2台のうち1台はすでに作製済)。なんと送ってきたのはこの診断機器がMOに書き込むソフトのソースリスト(千ページくらいある)でした。メーカーの人がいうのには「どういうフォーマット書き込んでいるかを明記した資料はありません。とりあえず、読み書きするためのソフトのソースをおくるのでそれを解析して、フォーマットを調べてください...」。
 「おいおい、あんたの会社で作ったじゃないのか?!」といいたくなりますが、これが現実なのでしょうがないです。ちなみにこの機械のコンピュータはDECのPDP-11、ソースはFORTRAN77で書いてありました。

 というわけでちょっと仕事をしなければならなくなりました(^_^)。
HANDLEEVENTSはちょっとお預けです。せっかく、おもしろそうなところなのに...とりあえず、HANDLEEVENTSやGUIを無視してでも一応、形のあるものを作らないといけないので(^_^)。その後でPG化しようと思います。

Subject: [fb-ml 98] Hello everyone!!(My first letter)
はじめてメールさせていただきますyukiと申します。このメーリングリストは古旗さんから紹介していただきまして加入させていただきました。
古旗さんには1度、HPを参考にさせていただき大変お世話になりました。FutureBASICは1.03から使用しておりますが、何分理解が遅いため四苦八苦しております。

ちなみに初めてということで、私の使用環境を記入させていただきます。

HardWare:Mac IIvi/10MB,Hard 110MB
SoftWare:FutureBASIC II2.1.3

です。一応仕事で使用しているのですが、今後個人的なプログラムでも試して見たいと思っております。

プログラム感覚があまりよろしくないのですが、これからご指導よろしくお願いいたします。



さっそくですが、皆さんに初歩的なことでお聞きしたいことがあります。
1.変数の割り振りで

 DIM XXX.8
 DIM XXX;8

という方法でメモリを割り当てられると思うのですが、これらの実際的な違いが解りません。マニュアル(英語版...)には";"は強制的にメモリを指定バイト数割り当てると書いてある(と思う)のですが、どなたかお教えください。

2.最近話題にあがっているプログラム作法の件ですが、やはり私もまだ理解できていないのです。たとえばMENU,DIALOG,MOUSEのイベントをHANDLEEVENTSで制御する場合に
1.
MENU(MENU)選択
2.
WINDOWリサイズ(DIALOG)
3.
MOUSE操作(MOUSE)    ---->画像処理の領域指定など
4.
BUTTON操作(DIALOG)
といった流れの作業があり、メニューにより操作内容が異なって得いる場合にはやはり各々のイベント先にメニューによってSELECT文で分岐させるしかないのでしょうか。この方法だとプログラムが処理によってあちこちにとんでしまい、仕上げ段階にくると何が何だか解らなくなっていることが多々あります。もっと目から鱗が飛び出る方法がありましたらお教えください。

3.画像処理関連でよくでてくるキーワードに
grafPort,wndPort,grafPtr,pixMapH,bitMap,...
というものが多用されていますが、これらの関係がよく理解できていません。
今はごまかしながらなんとか使用しているため、頻繁にシステムエラーにお世話になっております。どなたか素人でも解りやすいように御説明していただけないでしょうか。

4....以上です......(まだ数えきれないほど疑問があったような気がする...)

初回から複数の質問で申し訳ありませんが、よろしくお願いいたします。

Subject: [fb-ml 99] PictureFieldのスクロール
石橋です。

PictureFieldをスクロールさせたいのですが、PGではどのあたりから攻略していけばいいのでしょうか? ちなみにウィンドウ全体ではなく、ウィンドウの一部分にその領域を割り当てたいのです。

どうぞよろしくお願いします。

#めまいが止まらなかったので、これから今期初出勤します。
#今日も注射2発....。

Subject: [fb-ml 100] Re: Multiple HANDLEEVENTS
古籏一浩です。

At 10:10 97.4.4 +0900, Toshihiko MORIKAWA wrote:
ハッハッハ、じつはよく使っています。これはホント便利ですね。何にも考える必要がないし...(^_^)
 私はその親戚でEXIT FNをたくさん使う人間です(^^;
 なんだかんだ言っても楽です。

の人がいうのには「どういうフォーマット書き込んでいるかを明記した資料はありません。とりあえず、読み書きするためのソフトのソースをおくるのでそれを解析して、フォーマットを調べてください...」。
 「おいおい、あんたの会社で作ったじゃないのか?!」といいたくなりますが、これが現実なのでしょうがないです。ちなみにこの機械のコンピュータはDECのPDP-11、ソースはFORTRAN77で書いてありました。

 仕様書は出さないのかもしれないですよ。
 プログラムはなくなっても、フォーマットを明記した資料がなくなるとは思えないのですが。
 なくなっていたとしたら、嫌気がさしたプログラマが資料ごと焼き捨てた(笑)とか、考えられます(?)

 もしかして、たまたま動いているなんて怖いことはないですよねぇ・・・

Subject: [fb-ml 101] Re: ボールキャッチに
Tsutomu YANO wrote:
素直にディスク内のファイルで実行しましょう(^^;)

矢野様

有り難うございます
早速ディスクのやつと、順番を照らし合わしたいと思います
今後ともよろしくお願いいたします

Subject: [fb-ml 102] Re: Multiple HANDLEEVENTS
どーも伊藤です。
>>  このやり方はたとえばボタンがおされたらとにかく終了、など、バッチ処理では便利です。

>> FOR i = 1 TO 100
>> 処理
>> HANDLEEVENTS
>> IF FN BUTTON THEN EXIT
>> NEXT i
>>
> EXITでループを抜け出せるんですね、知りませんでした。他のBASICだとEXITとかBREAKとかで抜け出せるけど、なんでFBにはそれが無いんだろう……と困っていました。で、大きなlong if文で間に合わせてました。
 リファレンスを見るとたしかにありますね。「EXIT FN」文で紹介されていますね。私も始めて知りました。「FOR...NEXT」の説明には一言もでてきませんから...ないと思っていました。FBIIのONLINE HELPにはないですね...(英語版)。

 その後試したんですが「"EXIT"は云々...」というエラーが出ます。他のメールを見て考えると、EXIT FNの事でしょうか。それなら僕も使ってはいましたが、それってlocal FNから抜けさせる命令ですよね。ループの中で使うとループから抜け出すだけでlocal FN内にとどまるんですか?

 ちなみに「WAIT」文(?)をご存じの方いますか?WAITっていれると予約語みたいに大太字になるのですがリファレンスにもHELPにもないようなんですが...「WAVE」というのはリファレンスにはなくて、HELPには説明があります(使ったことありませんが)。
 最近「WAVE」を使ってちょっと企んでいるんですが(成功すれば仕事がはかどるんです)、HELPだけではイマイチわかんないです。パラメーターを変えても音が変わらないし……モモデ、いやMODEに聞いてもHELPの解説そのまんまだし……

Subject: [fb-ml 103] Re: Hello everyone!!(My first letter)
古籏一浩です。
たくさん、質問があるので割と知っている画像の部分を説明します。

At 10:46 97.4.4 +0000, akiyuki wrote:
3.画像処理関連でよくでてくるキーワードに
grafPort,wndPort,grafPtr,pixMapH,bitMap,...
というものが多用されていますが、これらの関係がよく理解できていません。
今はごまかしながらなんとか使用しているため、頻繁にシステムエラーにお世話になっております。どなたか素人でも解りやすいように御説明していただけないでしょうか。

 とりあえず分類して説明します。

  • grafPort(グラフポート)
     画像を描いたり文字を表示したりする場所(pixMapH,bitMap)や大きさなどが格納されている情報の塊です。
  • wndPort(ウィンドウポート)
     こちらはウィンドウの情報(タイトル文字や大きさ、種類など)が格納されている情報の塊です。

  • grafPtr(グラフポートポインタ)
     グラフポートの場所を示すものです。

  • pixMapH(ピックスマップハンドル)
     カラー画像の実際のデータが格納されている場所を示すハンドルです。

  • bitMap(ビットマップ)
     白黒画像の実際のデータが格納されている場所を示すポインタでしたっけ?
     ここは、忘れてしまいましたf(-.-b

  • Subject: [fb-ml 105] RE:Multiple HANDLEEVENTS
     その後試したんですが「"EXIT"は云々...」というエラーが出ます。他のメールを見て考えると、EXIT FNの事でしょうか。それなら僕も使ってはいましたが、それってlocal FNから抜けさせる命令ですよね。ループの中で使うとループから抜け出すだけでlocal FN内にとどまるんですか?
     失礼、ちょっと間違いがありました。EXIT だけではループの脱出はできないようですね。ラベルをつけないとだめのようです。

    WHILE flag = _false
    '"なんか処理"
    EXIT "Label1"
    WEND
    "Label1"
    '"つづきの処理

     としないとだめみたいですね。ぼくが試しに使ったサンプルを一応いっしょに挙げておきます。
    flag = _false
    WINDOW #1,"myWindow",(0,0)-(400,400)
    FOR i = 0 TO 20
      PRINT i;"This is Sample"
      LONG IF i > 10
        EXIT "Label1"
      END IF
    NEXT i
    STOP
    
    "Label1"
    PRINT "EXIT!"
    STOP
    

    Subject: [fb-ml 104] Answers part-1
     どうも、ベン/矢野 勉です。

    1.変数の割り振りで

     DIM XXX.8
     DIM XXX;8

    という方法でメモリを割り当てられると思うのですが、これらの実際的な違いが解りません。


     え、「DIM XXX.8」のほうは、「XXXは8バイト型の変数である」ということをコンパイラに指定し、コンパイラは以後 XXX を (2バイトの整数型ではなく) 8バイトの変数とみなします。「DIM XXX;8」は「XXXの型はそのままに、実際には8バイトを割り当てよ」とコンパイラに告げます。この場合、XXX は整数型(2バイト)とみなされますが、実際には8バイトのメモリ空間を割り当てられています。

     例として、

    DIM rect.8;0, top, left, bottom, right

     というのもありです。rect は8バイト型の変数ですが、実際にはメモリ空間を割り当てられていません。つまり実際のメモリ割り当てでは「;」のほうが優先されるのです。ではどうなるかというと、rect という変数は top と同じ番地から始まる8バイトの変数とみなされます。上記の定義をつかって CALL SETRECT すると、

    CALL SETRECT(rect, 0,0,10,10)

     このあと、rect.bottom% で 10 が取り出せるのはもちろんですが、top以降8バイトが rect と同じ領域を使っている関係上、じつは

    top = 0 left = 0, bottom = 10, right = 10

     と値が入っており、rect.top% などと打ち込む必要はありません。top は常にrect.top% と同じ値をもつことが保証されます。

     つまり「.」は「型定義」で、「;」は「メモリ割り当て」命令で、「;」のほうが優先順位が高いわけです。

    一般的に、Rect型とか Point型の変数がほしいときに、手っ取り早く使うために使用します。普通は上記のような、.8 というのはつけず、

    DIM theRect;0, top, left, bottom, right
    DIM thePoint;0, h, v

     という定義の仕方をします。Rect や Point を必要とする ToolBox には theRect, ThePoint を渡してやればいいですし、値が欲しいときは、top や h から手軽に取り出せるわけです。

     おわかりでしょうか?

    メニューにより操作内容が異なって得いる場合にはやはり各々のイベント先にメニューによってSELECT文で分岐させるしかないのでしょうか。この方法だとプログラムが処理によってあちこちにとんでしまい、仕上げ段階にくると何が何だか解らなくなっていることが多々あります。
     これはその通りです。ON MENU FN DoMenu と定義していた場合は、FN DoMenu 内でどのメニューが選ばれたかを調べ、そこから例えば FN NewItem とかに飛ぶわけです。
     こんがらがるのもそのとおりで、これは自分で工夫して、ラベルとかを使って関数を処理ごとにまとめておくしかないでしょう。僕の場合、ウインドウ関連の関数の最初に "@WINDOW RILATED ROUTINES" というラベルをつけ、その下にウインドウ関連の関数をまとめています。もちろん「関数は呼び出すよりも先に定義されていなくてはならない」というルールも守って、「より些末な処理をする関数が上にくる」ようにしています。

     さらに「メニューを選んだらウインドウが開く」てのはよくあることなので、メニュ−関係の関数群はウインドウ関係の関数群よりも下に置く、など工夫しています。これは自分で整理するしかないです。だいたいは
    top
    「かなり細かい処理」
    2
    「ウインドウ内部の情報」
    3
    「ウインドウ関数群」
    4
    「メニュー関数群」
    5
    「初期化、終了関数」
    6
    「イベントループ」
     という枠組みを考えておいて、関数ごとに「どこにいれるべきか」を考えます。必要があれば「マウス処理関数群」というようなグループを新たに作ったりもします。

    3.画像処理関連でよくでてくるキーワードに
     と、ちょっと発言が長くなってきたので、いったん切って、別のメールでこれには解答します。

    Subject: [fb-ml 106] Answers Part-2
     どうも、ベン/矢野 勉です。

     さて、解答第2弾です。

    3.画像処理関連でよくでてくるキーワードに
    grafPort,wndPort,grafPtr,pixMapH,bitMap,...
    というものが多用されていますが、これらの関係がよく理解できていません。


    GrafPort, wndPort, grafPtr

     え、まず Macintosh のあらゆる描画には描画場所が必要です。これが「クラフ・ポート(GrafPort)」です。描画はすべてグラフポートに行われる点、Macintosh の描画の根幹と言えるでしょう。実際にはグラフポートは Inside Macintosh で定義されているレコードの名の一つでして、このレコード型には、描画領域の大きさ、描画された内容、背景色などといった情報が記録されています。

     GrafPtr というのは、この「グラフポート」レコードへのポインタのことです。

     実際には、画面の一部を覆う複数のグラフポートを必要に応じて切り替えて描画します。それが我々が「ウインドウ」と呼んでいるものの正体、といっていいでしょう。

     wndPort というのはそのまま「ウインドウ・ポート」という意味ですが、実際にWindowPort というレコード型があるわけではありません。これは「ウインドウがもっているグラフポートの通称」と思ってもらって結構です。ToolBox の NewWindow や、FB の WINDOW statement を使用したら、Macintosh は WindowRecord の一部として、グラフポートを作成します。ウインドウへの描画はすべてここに行われるのです。

     さて、一般に使われる描画場所はウインドウだけではありません。いわゆる「オフスクリーン・グラフポート(Offscreen GrafPort」と呼ばれる「画面上に存在しない描画領域」があります。オフスクリーンの使用は近年、どんどん増えていき、いまや Macintosh の描画領域といえば、Window か Offscreen のどちらか、という状態になっています。

     これが windowPort という通称の出てきた理由と思われます。オフスクリーンとウインドウを併用する必要上、プログラム上で両者を区別する必要があります。
    で、ほとんどのひとがウインドウのグラフポートには、なぜか wndPort という名前を使用するようです(^^;)  wndPort というのはその程度のものです。

    ●pixMapH, bitMap
     まず bitMap を知る必要があるでしょう。画面上の描画情報は、ビットマップと呼ばれる形式で保存されます。これは0と1の数字の羅列で、画面上には0が白、1が黒として反映されるわけです。つまりは bitMap は白黒情報を保存するためのものです。実際には BitMap という名のレコードがあり、そこには画像のサイズ、実際のビット情報などが記録されているわけです。

     さて、Color QuickDraw の登場で、カラー情報を記録するためのレコードが必要になりました。カラーでの画面要素のことを「ピクセル(Pixel)」と呼ぶことから PixMap という名のレコードが用意されました。機能的には、カラー情報を保持する以外は BitMap と同じだと思ってください。

     で、変数名の最後に H とか Hdl とか Hndl というのがついている場合、それが「ハンドル」であることを意味しています。ハンドルが何かは分かっていると思いたいのですが、分かってない場合は HANDBOOK とか古旗さんのページを参考にしてください(^^;) まあ、ポインタのちょっとややこしいやつです。

     もうおわかりかと思いますが、pixMapH というのは、単に「PixMap へのハンドル」という意味にほかなりません。こうしか説明できません。ToolBox では bitMap がそのままレコード型として使用することが多いのに比べ、PixMap はハンドルとして要求されることが多いので、こういう変数名がでてくるわけです。

     とまあ、こんなもんですかね。

    Subject: [fb-ml 107] RE:Multiple HANDLEEVENTS
    WHILE flag = _false
    '"なんか処理"
    EXIT "Label1"
    WEND
    "Label1"
    '"つづきの処理

    なるほどなるほど。こりゃ便利ですね。

    Subject: [fb-ml 108] 配列に関する?
    初歩的な質問です。ご教示下さい。

    以下のような処理(VBで書いてみましたが)のFBでの書き方がよくわかりません。
    動的配列の宣言とインデックスの内容を保持しながらインデックスを拡張したいのですが....
    Option Base 1
    
    Dim StrList() As String  '----動的配列宣言
    Dim i As Integer
    
    として例えば、
    For i=1 to 10
       ReDim Preserve StrList(i) '----すでにある要素の中身を保持しながら要素
                                 '    数を増やす
       StrList(i)="Test" & Str(i)
    Next i
    
    ちなみに、本当にしたいことは、エディトフィールドに入力した複数行の文字列を1行づつ取り出して配列に入れるということです。もちろん、行数はときどきで異なります。

    マニュアルを読んでも理解できない、お馬鹿な男をお助け下さい。

    Subject: [fb-ml 109] RE:PictureField のスクロール
     ベン/矢野 勉 です。

    PictureFieldをスクロールさせたいのですが、PGではどのあたりから攻略していけばいいのでしょうか?

    ちなみにウィンドウ全体ではなく、ウィンドウの一部分にその領域を割り当てたいのです。

     ...石橋さん、またハードなことを試みはじめましたね(^^;)

     ウインドウ全体のスクロールなら PICT.FLTR があるのですぐなんですが、ウインドウの一部領域に絵を表示してスクロールするようなフィルタはまだ見たことがないので、自前でフィルタを書くしかないかと。

     ひまがあればやるんですが、いまはないんです〜。

     HANDBOOK の p98 なんかを参考に、USER OBJECT フィルタを書いてやれば、のちに他の人も再利用できて便利ですよ。(などといって勧めてみる(笑))

    PG Manual の p164 なんかも、USERフィルタを書くには必読ですね。ここにある_oUserInit 以降のアクションを引っかけていけば、わりと簡単に書けそうな気がします。PICT.FLTR, PIC2.FLTR も参考になるでしょう。

     暇ができたらぼくも挑戦するかもしれませんが、練習がてらに挑戦してみることをお勧めします(^^;)

    Subject: [fb-ml 110] RE: 配列に関する?
    ちなみに、本当にしたいことは、エディトフィールドに入力した複数行の文字列を1行づつ取り出して配列に入れるということです。
    もちろん、行数はときどきで異なります。

     Visual BASIC ですか。マイクロソフト系BASIC は昔から(QuickBASIC のころ)動的配列には強かったから便利だよなあ。おまけに文字列型変数は30,000文字も入るし。(というか、BASICの標準仕様ではそうなんですけどね)

     とりあえず FB には INDEX$ という、動的文字列配列をあつかう命令があります。まず

    CLEAR bytes% [,indexNum%][,StringLength%]

    で、INDEX$ 配列にメモリを割り当て、

    INDEX$, INDEX$ I, INDEX$ D

    といった statement で配列を操作できます。まー、ToolBox の関係上、文字列型が Pascal と同じ 255 文字に制限されるところが難点かもしれません。エディットフィールドが小さいものなら問題なしですが、テキストエディタなみに入力できたりすると、一行取り出すのは割りとたいへん。(255文字を超えることがあるから)

    (FB)Example:References:I に INDEX$ 関連のサンプルも入っているので、参考にしてください。

    #ぼくはこの手のは Handle を使って動的リストを自前で作ってしまふ(^^;)
    #いずれこのやりかたをINCLファイルとしてまとめようかと思ってます。

     それとも INDEX$ をつかうってことは分かっているが、その使い方がわからない、という質問なんだろうか。

    Subject: [fb-ml 111] Re: Multiple HANDLEEVENTS
    At 2:47 PM 97.4.4 +0900, KaZuhiro FuRuhata wrote:
     プログラムはなくなっても、フォーマットを明記した資料がなくなるとは思えないのですが。
    なくなっていたとしたら、嫌気がさしたプログラマが資料ごと焼き捨てた(笑)とか、考えられます(?)

     結局、ソースコードをもとにフォーマットを調べ上げて、なんとか読み出すことはできそうです(ディレクトリーを読み出すソフトはできたので)。
     はっきりいって、メーカーのサポートはまったくあてにしていないので、「ソースでも何でも出してくれれば後はこっちがやるから資料を早く持ってこい!」と考えています(^_^)。

     もしかして、たまたま動いているなんて怖いことはないですよねぇ・・・
     う〜ん、私の書いたプログラムにはこれがあるかもしれない...(^_^)

    Subject: [fb-ml 112] Thanks you to answer.
    今日は、yukiです。

    古旗さん、ベンさん御指導有難うございました。御陰様で何となく理解できたような気がします。

    1.DIM XXX.8とDIM XXX;8の違いについて

    なるほど良く解りました。メモリ上では配列の大きさに違いはないのですね。使用する関数によって使い分ける必要があるんでしょうね。

    2.プログラムスタイルについて

    やはりそうですか....。私はEVENTで処理をするときには、まず
    DIM record evt
             DIM Edialog&
             DIM Emouse&
             DIM Emenu&
    DIM END RECORD.evt
    DIM gMainEvent.evt
    
    という配列を作成して、各EVENTのジャンプ先で必ずこれに状況を書き込むようにして、メインの関数は一箇所で処理しようとDefultのプログラムを書いているのですが(DIALOGのようにevent,idがあるものはgMainEvent.Edialog% =evnt*1000+idにする)、このような使い方に問題はありますでしょうか(例えばこのような使用法をすると実行速度が遅くなる等)。もしぱっと思いつくような問題点がありましたらお教えください。

    3.grafPort,wndPort,grafPtr,pixMapH,bitMapについて

    これも何となく理解できました。ただ、例題のなかにはによってはwindPortにgrfPortをコピーすることがおおいのですが、するとwindPortとgrfPortは同じ形のレコードなのですじか?
    あ、もう一つありました。gWorldです。FN NEWGWORLDで得られたgwPtr&とgrafPtr&は同一なのでしょうか?......初心者には非常に難しいですね。Inside Macintoshを至急入手せねば.....。

    Subject: [fb-ml 113] Re: Multiple HANDLEEVENTS
    古籏一浩です。

    At 11:29 97.4.7 +0900, Toshihiko MORIKAWA wrote:
     結局、ソースコードをもとにフォーマットを調べ上げて、なんとか読み出すことはできそうです(ディレクトリーを読み出すソフトはできたので)。
     はっきりいって、メーカーのサポートはまったくあてにしていないので、「ソースでも何でも出してくれれば後はこっちがやるから資料を早く持ってこい!」と考えています(^_^)。

     仕様書よりもソースリストが一番確実という話しもありますが、それにしても、お粗末ですねぇ。企業秘密ならソースリストも出てこないですよね。

    > もしかして、たまたま動いているなんて怖いことはないですよねぇ・・・
     う〜ん、私の書いたプログラムにはこれがあるかもしれない...(^_^)

     私のプログラムでもいくつかあります。
     そういえば初級編の印刷のヤツは確か間違っていて直してない(^^;
     #$の間違いもあるし(^^;

    Subject: [fb-ml 114] Re: Thanks you to answer.
    古籏一浩です。

    At 13:03 97.4.7 +0000, akiyuki wrote:
    これも何となく理解できました。ただ、例題のなかにはによってはwindPortにgrfPortをコピーすることがおおいのですが、するとwindPortとgrfPortは同じ形のレコードなのですじか?
     先頭部分が同じになってます。
     だからコピーしても大丈夫です。

    あ、もう一つありました。gWorldです。FN NEWGWORLDで得られたgwPtr&とgrafPtr&は同一なのでしょうか?......初心者には非常に難しいですね。Inside Macintoshを至急入手せねば.....。
     確か同じ扱いだったと思います。
     Inside Macは眠くなります(笑)
     インターネット上でオンラインでも見れますよ。英語ですが(^^;

    Subject: [fb-ml 115] RE:Thanks you to answer.
    という配列を作成して、各EVENTのジャンプ先で必ずこれに状況を書き込むようにして、メインの関数は一箇所で処理しようとDefultのプログラムを書いているのですが(DIALOGのようにevent,idがあるものはgMainEvent.Edialog% =evnt*1000+idにする)、このような使い方に問題はありますでしょうか(例えばこのような使用法をすると実行速度が遅くなる等)。
     技術的には問題ないんでしょうが、しかし ON DIALOG なんかで分岐したところから、さらに細かく分岐したほうが分かりやすいと思いますけどねえ? 分岐するほど処理が細かくなるのが一目瞭然なわけで。メインのループを一箇所にまとめると、本来のマックのイベントループと変わらなくなるわけで、FB の便利さを削いでしまうような気がします。Cのイベントループなんかだと、メインのループだけで数百行を占めかねませんし、そのおかげでコードの見通しは非常に悪い。FB ではせっかくそれが起きないよう、イベント分岐が簡単にできるようになっているわけですが、あえて一箇所にまとめたい理由は、やはり「複数の関数に分かれるとごちゃごちゃしてわかりにくい」からですか? ぼくはひとつの関数で処理したほうが「読みにくい」と思っているんですが...

     ソースコードがごちゃごちゃするのは、分岐が多いからというより、各関数をどう置くか、の問題ではないでしょうか? 関係関数群がきちんとまとまっていれば、そんなにごちゃごちゃしませんし。人によっては「1画面に表示できないような関数は長すぎる」とまでいいますし、小さな関数に分離すること自体は問題ないとおもうんですけどねえ?

    ただ、例題のなかにはによってはwindPortにgrfPortをコピーすることがおおいのですが、するとwindPortとgrfPortは同じ形のレコードなのですじか?
     ですから、windPort とよばれるものは、WindowRecord 内の GrafPort のことですので、やはり GrafPort なんです。WindowRecord の一つの要素として、GrafPort があるんです。論理的にまったく同じものです。おまけに WindowRecord の先頭は GrafPort ですから、WindowRecord をそのまま GrafPort として使っても、とくに問題はおきません。

     ついでに説明しておくと、ソースコード内の windPort とか grfPort ってのは「変数名」に過ぎないんですが、それでこんがらがってませんか? このソースを書いた人はウインドウの GrafPort に windPort という名の変数を、もうひとつの GrafPort に grfPort という名の変数を使っただけで、変数の名前は変数の中味とは特に関係ありません。(この場合はどちらの変数にも GrafPortレコードが入っているんでしょう)  プログラマの趣味次第です。べつに grf1 と grf2 でも、極端にいえば、ben と furuhata でもいいわけで(^^;)

    あ、もう一つありました。gWorldです。FN NEWGWORLDで得られたgwPtr&とgrafPtr&は同一なのでしょうか?
     GWORLD と GrafPort はプログラム上の定義としては違うものですが、概念的には同じものです。以前も説明したとおり、Macintosh の描画のキャンパスはやはり GrafPort です。GWORLD は、一般に Offscreen GrafPort と呼ばれるもののカラー版でして、その名のとおり、GrafPort の一種です。白黒時代はオフスクリーンにポートを作るのは大変だったんですが、GWORLD の登場で、公式にオフスクリーン・グラフポートの作成がサポートされた、という経緯があり、オフスクリーン以外で GWorld を使うことはありません。

     もちろんプログラム上のあつかいが異なるため、GWorld に関しては専用の関数を使用する必要ことがあります。しかし「ポート」である点は同じなので、ポートからポートへのビットの転送などは、ウインドウからウインドウへのコピーのように、まったく同じに行えます。GWorld は GrafPort の上位互換品だ、といえば分かりやすいでしょうか。

     まー Inside Macintosh はたかいので、本屋でC言語系の Macintosh プログラミングの本を買ってみるのがいいかと。僕は Inside Macintosh なんて持ってませんし。いまだと「Macintosh アプリケーション・プログラミング」あたりがおすすめかな。

    Subject: [fb-ml 116] Re2:Thanks you to answer.
    yukiです。

    ちゃごちゃしてわかりにくい」からですか? ぼくはひとつの関数で処理したほうが「読みにくい」と思っているんですが...
    うーん。確かに関数が長くなるのは読みづらいです。構造化プログラミングと言うことが売りのFutureBASICですから、やはり各関数ごとにまとめるのがいいのでしょうかねぇ。
    プログラムに慣れるまでは、きちんと計画をたててから始めないときれいなプログラムは書けないのでしょうね。

    に、まったく同じに行えます。GWorld は GrafPort の上位互換品だ、といえば分かりやすいでしょうか。
    なるほど。なんとなく解っていたのですがこれですっきりいたしました。

     まー Inside Macintosh はたかいので、本屋でC言語系の Macintosh プログラミングの本を買ってみるのがいいかと。僕は Inside Macintosh なんて持ってませんし。いまだと「Macintosh アプリケーション・プログラミング」あたりがおすすめかな。
    もう少しがんばります。

    Subject: [fb-ml 117] RE: 配列に関する?
    ベンさんありがとうございました。
    あっというまに出来てしまいました。

     それとも INDEX$ をつかうってことは分かっているが、その使い方がわからない、という質問なんだろうか。
    最近VB、VBAがらみの仕事が多く、頭の中をVBがぐるぐる回ってます。
    FBのマニュアルを読んでもすんなり頭に入ってくれないです。

    #いずれこのやりかたをINCLファイルとしてまとめようかと思ってます。
    PG関係のホームページを計画中とのことでしたので、これもそちらで公開されるんでしょうね。期待してしまいます。

    いま作っているのは、PGを使いました。
    「マニュアルが悪いから使っていない」みたいな人も多いようですが、何か作って、感じをつかんでしまえば便利この上ないってとこです。わからないところも異常に多いので、ベンさんのホームページ完成を心待ちにしています。

    Subject: [fb-ml 118] Usage of EDIT FIELD,INDEX$
    yukiです。

    また基本的な質問で申し訳ありませんが、計測器から送られるシリアルデータのログを記録するプログラムを製作しています。そこで問題になっているのが(この間、話題になっていた)可変長のテキストをエディットフィールドに表示する方法です。次々と送られてくるデータを

    R( 1):abcdefg.....   **最初に読み込んだデータ
    R( 2):abcdefg.....   **2番目に読み込んだデータ

    というようにデータを追加してエディットフィールドに表示させたいのです。
    INDEX$で追加していくことはできるのですが、エディットフィールドに追加して表示するやり方が解りません。どなたかお助けください。

    また、INDEX$は初めにバイト数を宣言して使用しますが、できればFN NEWHANDLEなどの動的な方法で行う、最後にテキスト形式でファイルに保存する方法を御存じの方はいらっしゃらないでしょうか。

    Subject: [fb-ml 119] RE: Usage of EDIT FIELD,INDEX$
     どうも、ベン/矢野 勉 です。

    R( 1):abcdefg.....   **最初に読み込んだデータ
    R( 2):abcdefg.....   **2番目に読み込んだデータ

    というようにデータを追加してエディットフィールドに表示させたいのです。INDEX$で追加していくことはできるのですが、エディットフィールドに追加して表示するやり方が解りません。どなたかお助けください。

     要するに、すでに文字の入っているフィールドに、文字列を追加したいわけですね。それならば、PG Manual の p150 に出ている、以下の関数を使用してください。
    -----------
    '"theField はフィールドの参照番号
    '"theTxt$ は追加する文字列
    
    CLEAR LOCAL FN TEappend(theField, theTxt$)
      AUTOCLIP = 0
      TEHndl& = TEHANDLE( theField)
      LONG IF TEHndl&
        txtLgth = {[TEHndl&]+_TELength}
        CALL TESETSELECT(txtLgth, txtLgth, TEHndl&)
        CALL TEINSERT(@theTxt$ + 1, LEN(theTxt$), TEHndl&)
      END IF
    END FN
    -----------
    
     参照番号theFieldのテキストフィールドに、theTxt$ を追加します。文字列に改行コードが含まれていない場合、改行されずに、横方向に追加されていくことになるので、

    TEKEY$ = CHR$(13) '"CHR$(13) は改行コード

    これを上記の FN TEappend の直後に呼び出すか、追加文字列theTxt$ に改行コードを含まなければいけません。スクロール可能フィールドの場合は、前者の TEKEY$ を使ったほうが、挿入位置にオートスクロールしてくれるので便利です。
    ただし、TEKEY$ はアクティブなテキストフィールドにしか機能しません。

    >また、INDEX$は初めにバイト数を宣言して使用しますが、できればFN NEWHANDLEなどの動的な方法で行う、最後にテキスト形式でファイルに保存する方法を御存じの方はいらっしゃらないでしょうか。
     ぼくは INDEX$ を実際に使ったことがないので、確認はしてませんが、Reference Manual の INDEX$ を読む限りでは、すでに存在する INDEX$ 配列に「CLEAR bytes%, indexNum%」とすれば、配列のサイズを動的に変更できるようにみえますけど?(だから「動的文字列配列」と呼んだわけです)

     ファイルへの保存方法についても、Reference Manual の INDEX$ のページにちゃんと書いていますよ。(p184) 読み込みのときは、まず INDEX$ 配列をつくってそこに読み込むようにしなくちゃいけませんが、なぜかそこまでは書いてませんね。
     なんか _indxAddr の前12バイトがヘッダになっていて、情報が隠されているみたいですね。

    ----------

     一応、自前で確保したメモリ空間を配列として使用し、必要に応じて拡張していく方法もあります。XREF@ fn という関数がそれです。 FN NEWHANDLE _clear でハンドルを作成し、(仮に) theArray& に格納したとしますと、

    XREF@ theArray$(100) '"配列の変数名はハンドルの変数名と'"同じでなければいけない。

     で、作成したメモリ空間を theArray$(100) という配列を介して操作できます。
    同等のものとして XREF というのもありますが、こちらは Pointer で同じことをするもの。ハンドルでないと、動的な拡張ができないのでペケです。

     ハンドルならば、ToolBox の FN SETHANDLESIZE(Array&, newSize&) でサイズを大きくしたり小さくしたりできますから。ただし、オーバーフローを起こさないように、自前でハンドルのサイズをきっちり把握しておいてください。

    -------------

    ToolBox に慣れているなら後者でもわりと使えます。が、ちょっとでもメモリを節約しようと思うなら、INDEX$配列のほうが強いです。文字列を扱う限りでは、INDEX$配列のほうがメモリ消費量を小さくできる点を除くと、どちらも機能的には同じです。どちらも動的サイズ変更できますし、オーバーフロー (準備したメモリ以上に文字列を格納したときにおきる) に注意しなくてはいけないのも同じです。

     あ、あと、INDEX$ は参照番号で配列を参照できるけど、XREF@ ではハンドルをグローバル変数にいれるなどして、自前で保持しておかないと、あとで破棄できませんね。

    Subject: [fb-ml 120] FB II on Developer's Journal
    古籏一浩です。

    今日、Developer's Journalを買ってきたら、冨山氏がFB IIの記事を書いていました。もっとも連載なので、しばらくDJを買うとよいでしょう。

    #FB Bookは、インプレスで没をくらいました。
    #次は技評に持っていこうと思います。が、技評の他の本の執筆中なのでそれが終わるまでは駄目です(^^b

    Subject: [fb-ml 121] RE: FB II on Developer's Journal
     どうも、ベン/矢野 勉 です。

    今日、Developer's Journalを買ってきたら、冨山氏がFB IIの記事を書いていました。もっとも連載なので、しばらくDJを買うとよいでしょう。
     さっそく立ちよみ(^^;)してきました。思ったよりページが多くて、期待してます。Cのソースコードを載せて、いかに FB がシンプルで強力かをアピールしているあたりはすごいものが。だって FB とは直接関係のないC言語コードだけで1ページ割いているし。最初みたとき、「なんでこんなとこにCのコードがっ。乱丁か?」とか思ってしまった。

    #FB Bookは、インプレスで没をくらいました。
    #次は技評に持っていこうと思います。が、技評の他の本の執筆中なのでそれが終わるまでは駄目です(^^b

     インプレスって BASIC とは関係なさそうだからなあ。技術評論社はちょっとは期待できそうな気がします。技評の本って、JAVA関係ですか?(笑)

     以下余談。

     最近リストが寂しくなりましたね。ちょっとややこしい話をしすぎたかなー、とか心配してるんですが(^^;)

     まだインターネット・サービスプロバイダと契約してないんですが、今月はするつもり。近畿圏ではわりと有名な 3WEB にしようかと思ってます。で、HTML ツールを集めようと、Nifty から HomeMaker という Home page 作成プログラムを入手したのですが、「漢字talk 7.5以上、QuickTime 2.5が必要」とか言われまして、漢字talk 7.1 に QuickTime 2.0 のわたくしめは、やはりはねられました(^^;) 
    まー、どのみち派手なページより、読み込みの早いページにしようと思っているので、いまから HTML 勉強して、手書きでやっちゃおうとおもってます(^^;;) ざっと立ちよみした限りでは、TeX よりは簡単そうだし。

     実はうちには 386 の EPSON Note がありまして、DOS用の TURBO C++ 1.0 もあるのですが、「さすがにもう本屋で本は入手できんだろうなあ」とか思っていたら、ありました。技術評論社(ともうひとつどっか)のが(笑)
    技評おそるべし。(たぶん在庫品なんだろうけど)

    Subject: [fb-ml 122] Re:EDIT FIELD,INDEX$,and another Question..
    yukiです。

    ベンさん、いつもいつも有難うござます。EDIT FIELDへの追加の方法は分かりました。
    やってみるとするすると追加されていきます。これはPrintに比べ便利ですね。
    御陰様でEDIT FIELDの使い方がやっと理解できてきました。

    で、また皆さんに質問なんですけれども(いつもすみません)、RS232Cで以下の設定でモデムからデータを読み込むプログラムを作成したのですが、データの取りこぼしが発生します。どこかに問題があるのでしょうか。

    まず設定ですが、
    OPEN "C",_modemPort,9600,_noParity,_oneStopBit,4096
    HANDSHAKE _modemPort,_cts '---->ハード的にフロー制御している
    としています。(これはモデム側で設定されていることを確認しました。)
    で、問題の部分ですが、
        DO
          DO
            READ #_modemPort,rcvd$;0
            readText$=readText$+rcvd$
          UNTIL rcvd$= endCha$ OR FN BUTTON
          '----
    '(a)
          TEKEY$ = readText$
          SETSELECT WINDOW(_selEnd),WINDOW(_selEnd)
          SCROLL BUTTON _gReadWriteField,WINDOW(_selEnd)
          DELAY 10
    '(b)
        UNTIL LOF(_modemPort)=0 OR LEN(INKEY$)
    
    としていました。ところが、いざreadText$を出力させると文字化け(文字落ち)が発生してしまいました。そこで(a)-(b)を
    '(a)
          print readText$
          DELAY 10
    '(b)
    
    に変更すると文字落ちは発生しませんでした。何度かトライして見た結果、シリアルでデータを取り込み中にEDIT FIELD等を操作するとエラーなしに文字落ちが発生し、確実な通信ができなくなることが原因ではないかと思いました。

    で、皆さんにお聞きしたいことはTOOLBOXなどにアクセスするとシリアル等のハードウエアに影響が出るのでしょうか。

    Subject: [fb-ml 123] Re:a.q.-->woops, I forgot a parameter(buff).
    yukiです。

    すみません....先程お願いした通信関連の質問は解決しました。
    ....バッファーのグローバル定数は宣言していましたが、OPEN "C"に書かれていなっかった.....

    すみませ−−−−ん(2日間悩み続けていたのに.....)

    Subject: [fb-ml 125] TOOLS
     ご無沙汰の伊藤です。
     先日futureBasicToolsの案内が来ました。皆さんのトコにも来てると思いますが、アレって買いですか?個人的にはJPEGが簡単に扱えたり、ドラドロとかプレビュー付きFILESとよだれモノなんですが……
     日本語版ってことはそれ以前に英語版が存在していますよね?英語版をお持ちの方、ご意見聞かせてください。なにせ思った以上に高額なので(^_^;;;;;;)

    Subject: [fb-ml 126] Re: FB II on Developer's Journal
    At 2:14 AM 97.4.14 +0900, Tsutomu YANO wrote:
     どうも、ベン/矢野 勉 です。

    >今日、Developer's Journalを買ってきたら、冨山氏がFB IIの記事を書いていました。もっとも連載なので、しばらくDJを買うとよいでしょう。

     さっそく立ちよみ(^^;)してきました。思ったよりページが多くて、期待してます。Cのソースコードを載せて、いかに FB がシンプルで強力かをアピールしているあたりはすごいものが。だって FB とは直接関係のないC言語コードだけで1ページ割いているし。最初みたとき、「なんでこんなとこにCのコードがっ。乱丁か?」とか思ってしまった。

    さっそく買ってきて読んでみました。なかなかおもしろく読ませてもらいました。
    「なるほど、なるほど」と思う部分もあって1800円はちょっと高いですが、それなりの価値はありました(^_^)。
     今後も期待したいです。

     最近リストが寂しくなりましたね。ちょっとややこしい話をしすぎたかなー、とか心配してるんですが(^^;)
     いや、そんなことないです。日本語の取り説では何をいっているかよくわからない部分などベンさんの説明はとてもありがたいです。
     私の書き込み少ないのは、今、プログラムを作っていないので新たな問題がでてこないだけです(^_^)。
     そろそろ、PGを使ってソフトを全面的に書き直そうと思っているので、その勉強中です。画面のデザインをどうするかとか、どんな仕様にするか考えています。
     作り出したらまた、疑問点がたくさんでてくるかもしれないので、そのときはこのMLをあてにしています(^_^)。

    Subject: [fb-ml 127] Re: FB II on Developer's Journal
    古籏一浩です。

    次号のMac FanからFuture BASIC IIのプログラミング講座(かな)が始まるようです(^^)/

    今度はMac Fanも買わないといけないみたいですね〜

    Subject: [fb-ml 128] my first PG!
     PGのハンドブックを片手に簡単なアプリを作ってみました。アプリというかテスト用のものなのですが...。しかし、これはすごい!!僕が作ったのはPGで2枚のWindowとボタンを1つだけのシンプルなものですが、FBIIで書いたコードはたったの10行くらいで完全なアプリになってしまいました。
     他のタスクにも切り替わるし(^_^)、Windowの書き換えや移動も完全に機能しています。これはすごい!(繰り返してしまった)

     これはなかなかのものですね。ハンドブックの例をもとにちょっといじってみただけですが簡単にできてしまった。

     役に立たない書き込みですが(^_^)、うれしくて、つい...

    Subject: [fb-ml 129] RE: my first PG!
     PGのハンドブックを片手に簡単なアプリを作ってみました。アプリというかテスト用のものなのですが...。しかし、これはすごい!!僕が作ったのはPGで2枚のWindowとボタンを1つだけのシンプルなものですが、FBIIで書いたコードはたったの10行くらいで完全なアプリになってしまいました。
     他のタスクにも切り替わるし(^_^)、Windowの書き換えや移動も完全に機能しています。これはすごい!(繰り返してしまった)

     むむ、ついに第一歩をふみだしましたね。PG は内部で思っている以上のことをしています。必須アップルイベントへの対応はもちろんですが、じつは、マック特有の「マルチ・ディスプレイ」にもしっかり対応しています。この2枚ウインドウのサンプルも、マルチ・ディスプレイ完全対応なわけです。わっはっは。(なぜいばる)

     奥深いところは融通がきかないところもあるのですが(ふう)、しかし Filter をみんなでつくって共有すれば、格段に生産効率があがります。いま PICTBOX.FLTR を鋭意制作中ですので、うまく完成したらどっかで公開したいと思います。

     しかし最初に PG をつかった時に衝撃を感じるタイプの人間は、ぼくのようになってしまう素質があります(笑)

    Subject: [fb-ml 129] RE: TOOLS
     ベン/矢野 勉 です。

     日本語版ってことはそれ以前に英語版が存在していますよね?英語版をお持ちの方、ご意見聞かせてください。なにせ思った以上に高額なので(^_^;;;;;;)
     英語版が存在しました。これを見たときはもう、衝撃うけまくりでした(^^) だって、ドラッグ&ドロップにあっというまに対応できて、TIFF, GIF, PICT がウインドウにドロップしまくりですよ。ううむ、よさすぎる。STAZ ポロシャツもなんとなくほしい気がする(笑)

     値段なんですが、英語のカタログによると、フルセット版で $249.50 となってますね。3万円くらいかな? 日本語版はいくらなんですか? 僕は買おう買おうと思っていて、まだ買ってないんですが...

    Subject: [fb-ml 129] RE: FB II on Developer's Jou
     ベン/矢野 勉 です。

    次号のMac FanからFuture BASIC IIのプログラミング講座(かな)が始まるようです(^^)/

    今度はMac Fanも買わないといけないみたいですね〜

     おお、いったい何がおきているんだっ たぶん、最近いろんな雑誌がプログラム系の連載を始めてみたところ、意外に人気があるので、突如 BASIC の(雑誌社側の)需要が生まれてきたのではないかと見ているんですが。

     あ、なんか FB本計画が遠のいているみたいなんで、画面キャプチャはちょっとおいといて、以前石橋さんから要望のあった、スクロールする PICT ボックス.FLTR を作成する計画を先にさせていただきます。ちょっとやってみたところ、けっこうな壁が立ちはだかっていました。これはなかなかやりがいのあるパズルです。

    Subject: [fb-ml 129] the Adventure of Ben
     ベン/矢野 勉 です。最近あった話なぞを。

     ColorClassic を Booster 33 で加速する予定でしたが、いざお金をひっつかんで日本橋に行ってみると、実は LC2 用のものだと発覚。LC2 と ColorClassic ってボードはほとんど同じなんだから、動いてもよさそうなのに、Booster ColorClassic というのが別にあるそうな。それは入荷せんのかと店員に聞いたら、「ん〜、ColorClassic 自体が人気商品で入ってこないですからね〜」とか。世のものども、このカラクラやるからおまえの PowerMac くれって。

     仕方がないので、前から買おう買おうと思っていた(こればっかり) CD-ROM ドライブ(2倍速) を物色。6000円くらいで入手できるので、その場で購入。さらに別の店にいって、NetScape 3.01 を買おうと思ったら、なんと漢字talk 7.5以上でないと動かんとか。店員曰く「いや〜、いまのは全部 7.5 以上ですよ」 そらそーだわな。Booster のために持ってきたお金がまだまだ残っていた上に、CD-ROM ドライブを買ったので(そう、これがなかったからいままでアップグレードできなかったのだ)、いっそのこと漢字talk 7.5.3 を買っていこうと、ふと見ると...

     ああっ、MacOS 7.6 が発売になっているっ(笑) はり紙がしてあって「68040以上でないと動きません」 むう。店員に 7.5 はないかと聞くと、「ちょっと前まであったんですけどー」とか。もしかして僕のようなやつがたくさん来たのか(笑)

     ...結局、ほかのみせで 7.5.3 を見つけて、一日がかりでインストールしました。Disk FirstAid に「修復不能のエラー」を発見されてしまったので、ZIP に退避して初期化してからインストールしました(^^;)

     おかげでメニュー表示がはやくなった(キャッシュがきくようになったんですね)のですが、これがまた、仮想記憶を ON にするとキャッシュがきかなくなるという... 不幸ですね、ColorClassic ユーザーって。CD-ROMドライブのおかげで雑誌の付録CD-ROM が読めるようになった(これがうれしい)ので、7.5.5 にしたら仮想記憶もちょっとはましになるかなー、とか思ってますが...

     まー、NetScape 3.01 は入手したし、HomeMaker は動くようになったし、いよいよページをつくるだけ。

     あ、そうそう。帰りに駅の前で「安いっ、スリーウェブ (入ろうとおもっていたプロバイダ)」とかいっていたのでチラシをもらうと、なんかそれで申し込むと、初期加入料が半額らしい。もう運命がそっち方向に流れているとしか思えない(笑)

     いやー、オーディオCD機能で音楽ききながらメールかくのもいいもんですね 時代にやっとすこしだけ追い付いた気分。

    Subject: [fb-ml 130] Re: TOOLS
    伊藤です

     英語版が存在しました。これを見たときはもう、衝撃うけまくりでした(^^) だって、ドラッグ&ドロップにあっというまに対応できて、TIFF, GIF, PICT がウインドウにドロップしまくりですよ。
    なるほどなるほど、買いのようですね。といいつつもう買う気でいました。(^o^)

     値段なんですが、英語のカタログによると、フルセット版で $249.50 となってますね。3万円くらいかな? 日本語版はいくらなんですか? 僕は買おう買おうと思っていて、まだ買ってないんですが...
    29800円です。通販だけだそうです。

    Subject: [fb-ml 131] Re: my first PG!
     むむ、ついに第一歩をふみだしましたね。PG は内部で思っている以上のことをしています。必須アップルイベントへの対応はもちろんですが、じつは、マック特有の「マルチ・ディスプレイ」にもしっかり対応しています。この2枚ウインドウのサンプルも、マルチ・ディスプレイ完全対応なわけです。わっはっは。(なぜいばる)
    やってみると以外に簡単だったというのが感想です。まあ、たいしたことはしていないので当然かもしれませんが...(^_^)もっとも、PGを使わずにFBIIだけで同じようなものを全て書こうと思ったら相当の時間がかかることは間違いないです(これは断言できます)。

     しかし最初に PG をつかった時に衝撃を感じるタイプの人間は、ぼくのようになってしまう素質があります(笑)
     えっ、まずいな...(^_^)

    Subject: [fb-ml 131] Re: FB II on Developer's Jou
    At 4:18 AM 97.4.17 +0900, Tsutomu YANO wrote:
     おお、いったい何がおきているんだっ たぶん、最近いろんな雑誌がプログラム系の連載を始めてみたところ、意外に人気があるので、突如 BASIC の(雑誌社側の)需要が生まれてきたのではないかと見ているんですが。
     もともと「できることなら、いつかは自分の手でアプリを」という人が一定数いると思います。ただ、「Cは何が書いてあるかわからない」、「GUIは難しい」という考えが広まっているので、やりたいけどなかなか一歩踏み出せないんだと思います。
     ところがFBIIがでて、それも完全日本語版、いままで「Cはちょっと」と思っていた人たちが「こりゃおもしろそうだ」となったのではないでしょうか?(^_^)

     この流れがもっと大きくなればFBIIもひなた(?)にでられるのではないでしょうか?(^_^) がんばれFBII!

    Subject: [fb-ml 131] Re: TOOLS
    At 5:12 AM 97.4.17 +0900, 伊藤とものり wrote: >  値段なんですが、英語のカタログによると、フルセット版で $249.50 となってますね。3万円くらいかな? 日本語版はいくらなんですか? 僕は買おう買おうと思っていて、まだ買ってないんですが...

    29800円です。通販だけだそうです。
    ではでは。

     うちにも来ました。とっても魅力的なんだけど五月の連休前のこの時期、3万円は...(^_^)

    Subject: [fb-ml 132] Re: the Adventure of Ben
    古籏一浩です。

    At 4:19 97.4.17 +0900, 矢野 勉 wrote:
    ら、「ん〜、ColorClassic 自体が人気商品で入ってこないですからね〜」とか。世のものども、このカラクラやるからおまえの PowerMac くれって。
     それならウリにだしたら(笑)?

     まー、NetScape 3.01 は入手したし、HomeMaker は動くようになったし、いよいよページをつくるだけ。
     これでPGのページができそうですね(^o^)/

     いやー、オーディオCD機能で音楽ききながらメールかくのもいいもんですね 時代にやっとすこしだけ追い付いた気分。
     ハングアップしても音楽だけが流れ続ける・・・いいですねぇ(笑)

    #FB TOOLsは、まあGIF,TIFFの実装を考えれば安いかな〜と。
    #ただTIFFは、どこまで実装しているか気になる所だけど・・・
    #Ver 6.0仕様の半分〜2/3程度であれば十分買いかな。

    Subject: [fb-ml 133] Re: my first PG!
    古籏一浩です。

    At 14:33 97.4.16 +0900, Toshihiko MORIKAWA wrote:
     他のタスクにも切り替わるし(^_^)、Windowの書き換えや移動も完全に機能しています。これはすごい!(繰り返してしまった)
     ああPG派が増える(笑)。
     雛形作れば、あんまり変わらないような気もするけどメニューとか配置は楽ですよねぇ。

     PGだけでなくTOOLSも同梱してくれたらありがたいんだけどなあ。

    Subject: [fb-ml 134] Re: my first PG!
    At 7:50 PM 97.4.17 +0900, KaZuhiro FuRuhata wrote:
    > 他のタスクにも切り替わるし(^_^)、Windowの書き換えや移動も完全に機能しています。これはすごい!(繰り返してしまった)
     ああPG派が増える(笑)。
     雛形作れば、あんまり変わらないような気もするけどメニューとか配置は楽ですよねぇ。


    自分で使うだけのものならGUIでなくてもいいのですが、公開しようとなるとそれなりのGUIがないと、かっこわるいから...(^_^)そういう意味で、すべての人にPGが必要かどうかはわかりませんが、全コードをFBIIで書いて作るのとは違う衝撃があると思います。

     PGだけでなくTOOLSも同梱してくれたらありがたいんだけどなあ。
     これ賛成!(^_^)

    Subject: [fb-ml 135] Re: my first PG!
    古籏一浩です。

    At 10:59 97.4.18 +0900, Toshihiko MORIKAWA wrote:
    自分で使うだけのものならGUIでなくてもいいのですが、公開しようとなるとそれなりのGUIがないと、かっこわるいから...(^_^)そういう意味で、すべての人にPGが必要かどうかはわかりませんが、全コードをFBIIで書いて作るのとは違う衝撃があると思います。
     手軽に作る分にはPGの方がいいでしょう。
     早くPGのページを誰か作らないかなあ(笑)
     誰かって誰(^^;
     私のページは日曜日の夜に更新予定です。
     予定と違うけど(笑)


    > PGだけでなくTOOLSも同梱してくれたらありがたいんだけどなあ。
     これ賛成!(^_^)

     TOOLSでGIF89aアニメーションに対応しているかどうか知りたいんですけどね。対応しているならば絶対に買いますけど。
     そうすればFBでPICT選択して自動的にGIFアニメが生成できる(^^)/

    Subject: [fb-ml 137] Re: my first PG!
     PGだけでなくTOOLSも同梱してくれたらありがたいんだけどなあ。
    >>これ賛成!(^_^)

    こんにちは。
    TOOLSってそのうちFBがバージョンアップすれば標準機能に盛り込まれちゃいそうな気がするんですけど・・
    どうなんでしょう・・・
    3万近く払って買うのは、・・・でもほしいな・・・(笑)
    ついでにQD3DとかQT2.5などに対応のTOOLSも販売してほしいですね。

    次期FBはコアの部分が書き終わったらFB自体で周辺を作っていくとのことですから、他の開発環境に負けないくらいのペースで製品がいろいろ出てくるといいですね。

    Subject: [fb-ml 138] Re: my first PG!
    古籏一浩です。

    At 22:58 97.4.18 +0900, HIS wrote:
    TOOLSってそのうちFBがバージョンアップすれば標準機能に盛り込まれちゃいそうな気がするんですけど・・
     ああ、確かにありがちですねぇ。
     逆にある程度の知識があればTOOLSくらいは、割と簡単にできそうです。
     画像関係ならなんとかですが私はAppleEventとか駄目だからなあ・・・

    ついでにQD3DとかQT2.5などに対応のTOOLSも販売してほしいですね。
     QD-3DとQT2.5に対応すると凄くいいですよね。
     手軽にスプライトトラックとかテキストトラックとか。
     PICTを指定して変形させながらQTに記憶とか。
     でもBASICならば
    GSAVE "Filename"
     でPICT保存して欲しいですよねぇ。

    Subject: [fb-ml 139] Re: the Adventure of Ben
    中野@Kyoto-inetです。

    # 引用箇所は順不同です。

    ベンさん(QZG00075@niftyserve.or.jp) 》 ああっ、MacOS 7.6 が発売になっているっ(笑) はり紙がしてあって「68040以上でないと動きません」 むう。店員に 7.5 はないかと聞くと、「ちょっと前まであったんですけどー」とか。もしかして僕のようなやつがたくさん来たのか(笑)
     試しに LC3 に MacOS 7.6-J をインストールしてみましたが,問題なくインストールできましたし,安定して動作しています。
     7.6 の英語版は 68030 もサポートしているんですから,日本語版だけ動作しないわけがないです。日本語版で 68030 をサポート外にしたのは,単に「重い」からとちゃうかなあ。

    》世のものども、このカラクラやるからおまえの PowerMac くれって。
     そんなこと言うたらカラクラがかわいそうやん。コンパクト型 Macは大事にしたらなあかんって。

     わたしは EXPO で中古の MacSE を入手したんですが,なかなかかわいい奴です。KT6.0.7 での動作チェックが出来るところが貴重ですし。

    Subject: [fb-ml 140] Re: my first PG!
     でもBASICならば
    GSAVE "Filename"
     でPICT保存して欲しいですよねぇ。

    フフフフ、ですね。伊藤でした。

    Subject: [fb-ml 141] Re: my first PG!
    At 10:58 PM 97.4.18 +0900, HIS wrote:
    こんにちは。
    TOOLSってそのうちFBがバージョンアップすれば標準機能に盛り込まれちゃいそうな気がするんですけど・・
    どうなんでしょう・・・
    3万近く払って買うのは、・・・でもほしいな・・・(笑)
    ついでにQD3DとかQT2.5などに対応のTOOLSも販売してほしいですね。

    でしょうね。問題はそのバージョンアップがいつかことですよね(^_^)。
    あと、その料金ですね。

    Subject: [fb-ml 141] Re: the Adventure of Ben
    At 2:32 AM 97.4.19 +0900, NAKANO Takayuki wrote:
    》世のものども、このカラクラやるからおまえの PowerMac くれって。

     そんなこと言うたらカラクラがかわいそうやん。コンパクト型 Macは大事にしたらなあかんって。

     まあ、そうなんですけど、でもカラクラだけではちょっと辛いんじゃないかな...。私も最近までカラクラIIがメインでしたが、「もう少しスピードが」と思ったことは何度もありました。
     サブマシンで使うのにはコンパクトだし重宝しますが...

     ホント、交換してくれるのなら私もしてほしい...(^_^)

    Subject: [fb-ml 142] Re: the Adventure of Ben
    中野@Kyoto-inet です。

    森川さん(toshi@nsknet.or.jp)
    》 そんなこと言うたらカラクラがかわいそうやん。コンパクト型 Macは大事にしたらなあかんって。
    》
    》 まあ、そうなんですけど、でもカラクラだけではちょっと辛いんじゃないかな...。私も最近までカラクラIIがメインでしたが、「もう少しスピードが」と思ったことは何度もありました。
    》 サブマシンで使うのにはコンパクトだし重宝しますが...

     確かに,カラクラがメインマシンというのはつらいでしょうねえ。
    中古のPowerMac だと10万程度ですし,LC475 だったら13インチモニタ込みで 5万ちょっとで買えると思います。いかがなものでしょうか。
     
    Subject: [fb-ml 143] Re: the Adventure of Ben
    古籏一浩です。

    At 11:23 97.4.19 +0900, Toshihiko MORIKAWA wrote:
     サブマシンで使うのにはコンパクトだし重宝しますが...

     ホント、交換してくれるのなら私もしてほしい...(^_^)

     うちにもSE/30があります(^-^)/
     カラクラとPC88VAと交換とか?(笑)
     VAの方が貴重品だから駄目か〜

    #どこかにMZ-3500ありませんか?

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    At 9:54 PM 97.4.19 +0900, KaZuhiro FuRuhata wrote:
    #どこかにMZ-3500ありませんか?
    さすがにMZ-3500はないでしょう...(^_^)だれか使っている人っているのかな?しかし、懐かしい名前を聞きました。たしか3500ってZ80A*2のマシンでしたっけ?
     私も一時期X1CやMZ-2000を使っていました(っといっても、ゲームばかりでしたが)。ちなみに初めて触ったのは兄が買ってきたパピコン(PC-6001)です(^_^)。

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    古籏一浩です。

    At 9:53 97.4.21 +0900, Toshihiko MORIKAWA wrote:
    さすがにMZ-3500はないでしょう...(^_^)だれか使っている人っているのかな?しかし、懐かしい名前を聞きました。たしか3500ってZ80A*2のマシンでしたっけ?
     いえいえ2週間前にかなり完全な状態(ソフト付き)で入手した輩がおるんですよ。おまけにMZ-800まで手に入れたという・・・
     別に対抗しているわけじゃないんですけどねぇ。
     私は日本で一番多くMZ-2500を持っていると思うけど(笑)

     なんかFBネタから離れていく(^^;

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    山野です。

    だいぶまえに「まだFB買ってないんです」という自己紹介を書いたきりご無沙汰しておりました。いまだに買っておりませんが、5月末にはまとまったお金が入る予定なのでなんとか……。

    古籏さんwrote:
     いえいえ2週間前にかなり完全な状態(ソフト付き)で入手した輩がおるんですよ。おまけにMZ-800まで手に入れたという・・・
     別に対抗しているわけじゃないんですけどねぇ。
     私は日本で一番多くMZ-2500を持っていると思うけど(笑)

    MZ-800って、MZ-700のヨーロッパ向けバージョンでしたっけ。きっと700とは入ってる文字なんかが違うんでしょうね。

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    古籏一浩です。

    At 0:51 97.4.22 +0900, YAMANO wrote:
    だいぶまえに「まだFB買ってないんです」という自己紹介を書いたきりご無沙汰しておりました。いまだに買っておりませんが、5月末にはまとまったお金が入る予定なのでなんとか……。
     も〜ど(旧名:デモデラーズブランド)の社長さんに懇願すれば消費税分くらいまけて・・・くれないかナ(^^?

    > 私は日本で一番多くMZ-2500を持っていると思うけど(笑)

    MZ-800って、MZ-700のヨーロッパ向けバージョンでしたっけ。きっと700とは入ってる文字なんかが違うんでしょうね。

     ハード構成が全く異なります。
     MZ-2500 / 2 + MZ-700 といった感じです。
     スムーズスクロールもできるらしいんですが・・・

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    At 1:14 PM 97.4.21 +0900, KaZuhiro FuRuhata wrote:
     いえいえ2週間前にかなり完全な状態(ソフト付き)で入手した輩がおるんですよ。おまけにMZ-800まで手に入れたという・・・
     別に対抗しているわけじゃないんですけどねぇ。
     私は日本で一番多くMZ-2500を持っていると思うけど(笑)

     なんかFBネタから離れていく(^^;

     へえ〜どこからでてくるんでしょうか?
    まあ、あるところにはあるのでしょうね...(^_^)

    Subject: [fb-ml 144] Re: my first PG!
    古籏一浩です。

    At 4:51 97.4.19 +0900, 伊藤とものり wrote:
    >  でもBASICならば
    > GSAVE "Filename"
    >  でPICT保存して欲しいですよねぇ。

    フフフフ、ですね。伊藤でした。

     どうせなら複雑なことは出来なくてもいいからPerlのような文字列処理と画像処理だけに特化したようなBASICをFBで作るとかってのは、どう?

    Subject: [fb-ml 145] RE: the Adventure of Ben
     ベン/矢野 勉 です。

     試しに LC3 に MacOS 7.6-J をインストールしてみましたが,問題なくインストールできましたし,安定して動作しています。
     7.6 の英語版は 68030 もサポートしているんですから,日本語版だけ動作しないわけがないです。日本語版で 68030 をサポート外にしたのは,単に「重い」からとちゃうかなあ。

     そーですよね、たしか、純正32bit対応でないマシン(MODE32を使っていたやつ)が対象外だったはずですが... しかし、やっぱり重いんでしょうか。7.5.5 よりも 7.6 のほうが重くなった、というのであれば、僕としては「選択外」になりますが...  そのへんはどうなんでしょうか?

     実は 7.1 から 7.5 へのアップグレードで、実感速度ではものすごく速くなっているんです。スクロールもはやくなったし、ことえりが辞書を読み込むようになったためか、入力がキー入力速度においついてくれる(笑) 仮想メモリが速くなったのだけが原因とは思えない... メニューもキャッシュされるようになって、アップルメニューが一瞬で表示されるのに感激しているのですが、もし 7.6 にすることで、これが失われるのであれば、このマシンには 7.5.5 と最後まで運命をともにしてもらおうと考えています。

    #まあ、システムの占有メモリが 4MB から 5MB になりましたが(^^;)
    #たぶんことえりの辞書だろな。機能拡張もえらく増えてるし。

     そんなこと言うたらカラクラがかわいそうやん。コンパクト型 Macは大事にしたらなあかんって。
     基本的には、新機種をいつか購入することがあっても、売る気はありません(^^)
     しかし、ColorClassic が出たときの各方面の批判のことばを思い出すと、いまの中古市場での人気ぶりは、なんか意外な気が。「冷蔵庫みたい」「豆腐かっ」「ポチ」とか言われまくってましたからね。ほかのマックが一様にダサくなったので、もはや ColorClassic のデザインでも許されてしまうのでしょうか(笑) 頭でっかちのパフォーマなんて最悪だったからな(^^;)

    #ColorClassic が出たころは、まだ店に Classic II がありまして、Classic専用のパソコンテーブルにおかれた姿の美しいこと...
    # ColorClassic にするか Classic II にするか、本気でなやんだもんな...

     さらに話はとびますが、MacPower誌でいつか載っていた、キーボードが小さくなる、幻の原色系(赤と青) PowerBook のプロトタイプ、あれ、どっかが出そうとデザイナーの川崎和男さんにコンタクトをとっているという噂が... あれが出るんだったら、大金はたいてもいいなあ。知らない人は、今でている MacPower誌に、キーボードだけがでています...なんかニュートンの備品として、キーボードだけ一人歩きしたみたい。かっこよかったもんなあ...

     ああ、FB の話題がひとつもないっ(^^;)

    Subject: [fb-ml 145] Re: the Adventure of Ben
     ベン/矢野勉 です。

    中古のPowerMac だと10万程度ですし,LC475 だったら13インチモニタ込みで 5万ちょっとで買えると思います。いかがなものでしょうか。
     これはっ 接続プロバイダとの契約をやめれば買えるかもっとかいったら一部からブーイングかな(笑)

     しかしほんとに魅力的な... LC475 って 040 だったな。夢のような速度なんだろうな...

    Subject: [fb-ml 146] Re: my first PG!
    伊藤です。

    At 9:55 PM 97.4.19, KaZuhiro FuRuhata wrote: 古籏一浩です。

    At 4:51 97.4.19 +0900, 伊藤とものり wrote:
    >>  でもBASICならば
    >> GSAVE "Filename"
    >>  でPICT保存して欲しいですよねぇ。
    >
    >フフフフ、ですね。伊藤でした。
     どうせなら複雑なことは出来なくてもいいからPerlのような文字列処理と画像処理だけに特化したようなBASICをFBで作るとかってのは、どう?

    BASICでBASICをつくっちゃう!!(爆)でも面白そ。

    Subject: [fb-ml 147] Re: the Adventure of Ben
    FBとは、関係ないですが、私のPerforma5220はなんと、4牧目のアナログボードがはいっています。
    アナログボードを3回交換したともいいますが、、、
    何か、得した気分、、、、ぶははははっ、、、、(;_;)

    Subject: [fb-ml 148] Re: the Adventure of Ben
    古籏一浩です。

    At 0:13 97.4.20 +0900, Tsutomu YANO wrote:
     しかしほんとに魅力的な... LC475 って 040 だったな。夢のような速度なんだろうな...
     475は結構速いですよ。
     30と40の差は相当大きいですね。
     powerPCの603と604くらい違います。
     603e/240と604/120と速度は同じか、まだ604の方が速いくらいです。
     酷使するようなプログラムだと特に差が出ます。

    Subject: [fb-ml 148] Re: my first PG!
    古籏一浩です。

    At 0:40 97.4.20 +0900, 伊藤とものり wrote:
    BASICでBASICをつくっちゃう!!(爆)でも面白そ。
     (爆)ではなくて昔は結構そういうパターン多かったんですよね。
     最近はCコンパイラでCコンパイラを作るといったくらいかなあ。

     でも、ちょっと作ってみるといいかも。
     BASICでなくても、特化したものだと楽でしょう。
     FBみたいになんでもやろうとすると何だけど・・・

    Subject: Re: [fb-ml 148] Re: the Adventure of Ben
    At 1:03 AM 97.4.20 +0900, KaZuhiro FuRuhata wrote:
    > しかしほんとに魅力的な... LC475 って 040 だったな。夢のような速度なんだろうな...
     475は結構速いですよ。
     30と40の差は相当大きいですね。
     powerPCの603と604くらい違います。
     603e/240と604/120と速度は同じか、まだ604の方が速いくらいです。
     酷使するようなプログラムだと特に差が出ます。

     たしかにそうです。私はColorClassicII(68030-33)からLC475改(68040-33)に変えましたが体感は倍くらい違う感じです。Photoshopみたいなものや3Dものをやる気はありませんが、それ以外ではぜんぜん問題ないです。

     ColorClassicならLC575のマザーボードを入れれば68040-33マシンになりますよ。それに画面の解像度を640*480に改造することもできるし...。新しいのを買ったほうがコストパフォーマンスは良いと思いますが、ColorClassicに愛着があればそういう方法もあります(^_^)。

    Subject: Re: my first PG!
    須澤裕典です。

    At 0:40 97.4.20 +0900, 伊藤とものり wrote:
    BASICでBASICをつくっちゃう!!(爆)でも面白そ。
    At 20 Apr 1997 02:54、古籏一浩 wrote:
    (爆)ではなくて昔は結構そういうパターン多かったんですよね。
    最近はCコンパイラでCコンパイラを作るといったくらいかなあ。

    僕も(爆)してしまいました。
    でも、そういう意味で言ったのですね。
    FBなども核の部分以外はFBで作っているらしいですしね。
    僕はてっきりPGやPrographのようなグラフィカルな作業環境の言語やFBよりもさらに高級言語にしたものからFBのソースを生み出すものを作るのかと思ってしまいました。
    だってPowerPCの機械語や環境を学ぶのって大変そうですものね。
    でも僕としては言語を作るよりToolsのようなpartsをいっぱい作って頂きたい(笑)
    それと、それらを集めたwebページも・・・

    Subject: Re: [fb-ml 148] Re: the Adventure of Ben
    古籏一浩です。

    At 9:53 97.4.21 +0900, Toshihiko MORIKAWA wrote:
     たしかにそうです。私はColorClassicII(68030-33)からLC475改(68040-33)に変えましたが体感は倍くらい違う感じです。Photoshopみたいなものや3Dものをやる気はありませんが、それ以外ではぜんぜん問題ないです。
     604だと3Dは高速ですが3D以外であれば問題ないでしょう。
     どうせMacOS8もぽしゃった事だし安心して使えますね(笑)
     おまけにOSのバグフィックスをしてくれているのでいいかも。

    Subject: Re: my first PG!
    古籏一浩です。

    At 22:14 97.4.20 +0900, HIS wrote:
    僕はてっきりPGやPrographのようなグラフィカルな作業環境の言語やFBよりもさらに高級言語にしたものからFBのソースを生み出すものを作るのかと思ってしまいました。
    だってPowerPCの機械語や環境を学ぶのって大変そうですものね。

     powerPCクラスであれば、まだアセンブラでもOKでしょう。
     セガのバーチャファイターとかスカッドレースは全部アセンブラで作ってます。友人が実際に作っているので間違いないです(笑)
     eieioとか笑えるニーモニックもあります。
     Cコンパイラは結構性能がいいので普通の人はppcアセンブラは不要でしょう。ただ速度を求めるとすると、やっぱり差が出ます。
     パイプラインが詰まるよりも「キャッシュミスヒット」のダメージがかなり大きいようですpowerPC。
     私もpowerPCでゲームのシステムを作ったのですがミスヒットしたりすると倍近く遅くなります。特にMacは足回り(バスクロック)が低速なため輪をかけて遅くなります。
     割り算も引き算しているので、乗算の5ステートに対して35ステートかかります。剰余も同様です。

    でも僕としては言語を作るよりToolsのようなpartsをいっぱい作って頂きたい(笑)
    それと、それらを集めたwebページも・・・

     確かにその方がいいですねぇ。
     私もToolsでも作って2000円で売ろうかなあ。
     で、具体的にはどんなのがいいんですか?

     あ、あと先週ページ更新してましたf(^^b

    Subject: Re: my first PG!
    須澤裕典です

    At 1:15 PM 97.4.21 +0900, KaZuhiro FuRuhata wrote:
     Cコンパイラは結構性能がいいので普通の人はppcアセンブラは不要でしょう。ただ速度を求めるとすると、やっぱり差が出ます。
     パイプラインが詰まるよりも「キャッシュミスヒット」のダメージがかなり大きいようですpowerPC。
     私もpowerPCでゲームのシステムを作ったのですがミスヒットしたりすると倍近く遅くなります。特にMacは足回り(バスクロック)が低速なため輪をかけて遅くなります。
     割り算も引き算しているので、乗算の5ステートに対して35ステートかかります。剰余も同様です。

    PC8801SRを使っていたころにZ-80Aの1命令にかかるクロック数を足していって、出来るだけ速くなるようにがんばったことを思い出しました。

    >でも僕としては言語を作るよりToolsのようなpartsをいっぱい作って頂きたい(笑) >それと、それらを集めたwebページも・・・
     確かにその方がいいですねぇ。
     私もToolsでも作って2000円で売ろうかなあ。
     で、具体的にはどんなのがいいんですか?
    円周率を求めるプログラム!なんて・・(笑)
    もともとFBはメタボールモデラーを作ろうと思って買ったのです。だから、QuickDraw3D関連がいいですね。
    あと、出版社名は忘れましたが様々なアルゴリズムを集めた「アルゴリズム辞典」という本があります。そういう凡庸的な演算ルーチンなんかもほしいですね・
    各種フォーマットのコンバートルーチンとかPostscript・EPS表示ルーチン、MIDI関連、いろいろありますけど。

    そうそう、パスカルコンバータで変換したデータを扱いやすくしたサンプルなんかも作ってほしいです。

    他の方は何がいいんでしょう?

    Subject: Re: my first PG!
    古籏一浩です。

    At 20:31 97.4.21 +0900, HIS wrote:
    > 割り算も引き算しているので、乗算の5ステートに対して35ステートかかります。剰余も同様です。

    PC8801SRを使っていたころにZ-80Aの1命令にかかるクロック数を足していって、出来るだけ速くなるようにがんばったことを思い出しました。

     オールドユーザーですね(^^;
     私もZ80から入った口なので、よくわかります。
     PUSH HL,PUSH DEとかで高速CLSルーチンとか(^^;

    > で、具体的にはどんなのがいいんですか?

    円周率を求めるプログラム!なんて・・(笑)

     円周率を求めるだけの本を昔買った気がします。
     著者は数学の先生だったかな。
     円周率はいろいろな方法がありますから。
     一番速いのは
     a = 3.1415926535897932384
     とすれば一気に小数点以下19桁まででます(笑)

    もともとFBはメタボールモデラーを作ろうと思って買ったのです。だから、QuickDraw3D関連がいいですね。
     これは私は苦手なので得意な方に(^^;

    あと、出版社名は忘れましたが様々なアルゴリズムを集めた「アルゴリズム辞典」という本があります。そういう凡庸的な演算ルーチンなんかもほしいですね・
    各種フォーマットのコンバートルーチンとかPostscript・EPS表示ルーチン、MIDI関連、いろいろありますけど。

     BMP Save,Load,TIFF Save,Load,IM4 Save,Load,EPSF Save,EPSF Load(AI1.1)
     Scitex CT Save,LoadであればMZ-2861で作成したのでできます。
     アルゴリズム辞典は持っていますので、それを変換する!(嘘)

    他の方は何がいいんでしょう?
     一番需要がありそうなのは

    「消えないPRINT文」

     では?(笑)
     アップデートすると消えてしまいますからね〜
     私のページにダブルバッファのPRINT文はあるけど。

    Subject: Re: my first PG!
    伊藤です。

    >僕はてっきりPGやPrographのようなグラフィカルな作業環境の言語やFBよりもさらに >高級言語にしたものからFBのソースを生み出すものを作るのかと思ってしまいました。
    やはりそうでしたか。FBが立ち上がり、一瞬出てくるウィンドウでそんな気はしてました(^_^)

    >でも僕としては言語を作るよりToolsのようなpartsをいっぱい作って頂きたい(笑)
    >それと、それらを集めたwebページも・・・

    確かに。本当は自分で作りたいけど……昔はドンドン頭に入ったのになぁ……

     で、具体的にはどんなのがいいんですか?
    個人的にはフォルダーとファイルのドラドロですね。僕の場合は殆どそれなしじゃ語れないので、未だにわからず停滞しています。(ToT)
    後はサウンド関係ですね。古籏さんに資料を頂いたのですがやはり開発停止状態です。先日海外のFBユーザーのHPからソレ系のリストをDLしまくったんですが、忙しくて見れません。(TOT)

    Subject: my wish tool
     ベン/矢野 勉 です。

    そうそう、パスカルコンバータで変換したデータを扱いやすくしたサンプルなんかも作ってほしいです。

    他の方は何がいいんでしょう?

     Visual BASIC やら BORLAND Delphi にはある、リストがほしいですね。PG 標準のは、リストというよりボタンなんで、遅い(^^;) ファインダの階層表示みたいにアイコンを横におけるやつなんかいいですねえ。

     あとは...  WASTE Text Engine を採用したテキスト・フィールドとか...ううむ、いざとなるとあんまり思いつかないもんですね。

     もっぱら不満は、FB の仕様にあるんですが、これらのほとんどは次期 FB3 にて解消される (とカタログには書いてある) ので、まあ、やはりそれ待ちになるなあ。

     でも PG も USER Object の作成をもうちょっと快適にできたら楽なんですが...
     作成についてはマニュアルにもあまり記述がありませんし、外部から入力できる変数が4つでは厳しいこともある。FLTRファイルではコールバック・ルーチンが使いにくい (第一セグメント制限のため) とか、PG User Object の作成については不満がいっぱいです。 FB ももちろんだが、やはり PG もパワーアップしてほしい...

    Subject: Re: my wish tool
    古籏一浩です。

    At 1:47 97.4.22 +0900, Tsutomu YANO wrote:
     Visual BASIC やら BORLAND Delphi にはある、リストがほしいですね。PG 標準のは、リストというよりボタンなんで、遅い(^^;) ファインダの階層表示みたいにアイコンを横におけるやつなんかいいですねえ。
     リスト表示ですか、いいですね〜
     ちょっと7月あたりに作ってみようかな〜。
     豪華絢爛なリスト(^^;

    Subject: Where [fb-ml xxx] ?
     別にたいしたことではないのですが、[fb-ml xxx]というのがタイトルにないメールが届くのですがこれはなぜでしょう?
    xxxの番号が同じになるのは、メールがポストサーバーにほぼ同時に届くとなるようですが...。抜け落ちるのはどうしてだろう。

     それと[fb-ml xxx]の前に"Re: "というのがついてくるようになったし...

     まあ、別に実害はないのですが「どうしてかな〜」なんて思ったものですから。

    Subject: Re: 初めまして
    中野@Kyoto-inet です。

    釣本さん(hiroyuki@mb.aikis.or.jp)
    》僕は、プログラム初めてで何かにチャレンジしたくて、探していたところFB�がいいということを知りさっそく購入したんですが、マニュアルを見てもさっぱり解りません。
    》そこで、入門書でお勧めのを教えて下さい。BASIC入門もどれがいいのか解りません

     まさか,厚いマニュアルを読まれているのではありませんか。あれは最初に読むものではありません。最初は,薄いマニュアルを読むと良いでしょう。

    GETTING STARTED WITH FutureBASIC II
    PROGRAMMING THE MACINTOSH WITH FutureBASIC II

     これらのマニュアルは,非常に分かりやすくできています。

     なお,書店にある BASIC 書籍は FutureBASIC に対応していないものがほとんどですので,購入してはいけません。

    Subject: Re: 初めまして
     まさか,厚いマニュアルを読まれているのではありませんか。あれは最初に読むものではありません。最初は,薄いマニュアルを読むと良いでしょう。

    GETTING STARTED WITH FutureBASIC II
    PROGRAMMING THE MACINTOSH WITH FutureBASIC II

     これらのマニュアルは,非常に分かりやすくできています。

     なお,書店にある BASIC 書籍は FutureBASIC に対応していないものがほとんどですので,購入してはいけません。

    中野@Kyoto-inetさんどうもです
     ご指摘の通り分厚いマニュアルをひたすら呼んでおりました。(-_-;)
    PROGRAMMING THE MACINTOSH WITH FutureBASIC IIを今読みながら問題に従って勉強しております。
    これはなかなかいいです...! (^○^) 僕にも理解できてきています。
    どうもありがとうございました、今後ともよろしくお願いします。

    Subject: Re: Where [fb-ml xxx] ?
    古籏一浩です。

    At 13:43 97.4.23 +0900, Toshihiko MORIKAWA wrote:
     別にたいしたことではないのですが、[fb-ml xxx]というのがタイトルにないメールが届くのですがこれはなぜでしょう?
    xxxの番号が同じになるのは、メールがポストサーバーにほぼ同時に届くとなるようですが...。抜け落ちるのはどうしてだろう。
     それと[fb-ml xxx]の前に"Re: "というのがついてくるようになったし...

     答えから言うと、ほぼ同時刻にメールがメーリングリストサーバーに届くとバグで上記のような現象が発生します。
     割と起こるのですが、まあ笑って許してやって下さい。
     無料だし(といって逃げる・・・)

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    古籏一浩です。

    At 13:42 97.4.23 +0900, Toshihiko MORIKAWA wrote:
    > 私は日本で一番多くMZ-2500を持っていると思うけど(笑)
    >
    > なんかFBネタから離れていく(^^;

     へえ〜どこからでてくるんでしょうか?
    まあ、あるところにはあるのでしょうね...(^_^)
     MZ-800はヨーロッパ仕様なので半年くらいかかって入手したそうです。
     一番入手しやすかったのが2500です。
     4万台出荷だと思いましたが、割と簡単に手に入ります。
     MZ-3500,PC-3200あたりが極希少です。

     さらにFBから離れるネタだなあ(笑)

    Subject: Re: 初めまして
    古籏一浩です。

    At 14:37 97.4.23 +0900, NAKANO Takayuki wrote:
     なお,書店にある BASIC 書籍は FutureBASIC に対応していないものがほとんどですので,購入してはいけません。
     書店にはFB関係の本はありません。
     が、雑誌の連載という形のものはあります。
    Mac Fanはまだ開始されていないのでレベルがわかりません。
    マイコンBASICマガジンはPG専門といった感じです。
    Developer's Journalは玄人向けです。

    あとインプレスで没った(笑)私の原稿が以下のアドレスにあります。

    http://www.shiojiri.ne.jp/‾openspc3/fb.txt

    プリンタに出力すると150枚くらいになってしまいますので気を付けて下さい。

    Subject: 初めまして
     FMACPROで知り参加しました、釣本博之と申します今後ともよろしくお願いします。
    僕は、プログラム初めてで何かにチャレンジしたくて、探していたところFBIIがいいということを知りさっそく購入したんですが、マニュアルを見てもさっぱり解りません。
    そこで、入門書でお勧めのを教えて下さい。BASIC入門もどれがいいのか解りません。
    何分地方なので、書名・出版社・価格等々、直ぐに注文できるような形で教えて下さい。
    よろしくお願いします。

    Subject: Re: 初めまして
    府中の山下です。

    古籏さん>あとインプレスで没った(笑)私の原稿が以下のアドレスにあります。
    古籏さん>
    古籏さん>http://www.shiojiri.ne.jp/‾openspc3/fb.txt
    古籏さん>
    古籏さん>プリンタに出力すると150枚くらいになってしまいますので気を付けて下さい。
    あっ、今は150枚位になっているのですか?
    前に頂いた原稿ではプリントアウトで40枚くらいでしたが...。
    (前のはプリントアウトさせていただきました。何せ、モニタで読むのはどうも苦手で。(^^;))

    http://www.shiojiri.ne.jp/‾openspc3/fb.txt、また見させて頂きます。

    余談ですが、上記の「古籏さん>」部分の引用符自動追加プログラムを、古籏さんの原稿を参考に、FB IIで作ってみました。(^^;)

    メールソフトからテキスト書き出しした後、引用符にする文字列を自分で設定、別保存するといったものです。

    まあ、そんなことしなくてもメールソフト上で「>」はコマンド1つで付けてくれるのですが。
    POKEとPEEKの使い方の練習にと思いまして。

    Subject: Re: my wish tool
    At 1:41 PM 97.4.22 +0900, KaZuhiro FuRuhata wrote:
     リスト表示ですか、いいですね〜
     ちょっと7月あたりに作ってみようかな〜。
     豪華絢爛なリスト(^^;

    いいですね。ぜひ作ってください。さっそく使わしてもらいます(^_^)。
    PGでLMCDを勉強中です。いつなったらPG化できるのだろう...

    Subject: Re: 初めまして
    古籏一浩です。

    At 23:46 97.4.23 +0900, WataruYamashita wrote:
    あっ、今は150枚位になっているのですか?
    前に頂いた原稿ではプリントアウトで40枚くらいでしたが...。
    (前のはプリントアウトさせていただきました。何せ、モニタで読むのはどうも苦手で。(^^;))

     文字サイズによると思います。
     かなり追加変更されているので、今のバージョンのを持っていくとよいでしょう。ただしキャプチャーの所は、ちょっと駄目です。
     キャプチャーやめてリストにしようか(笑)

    まあ、そんなことしなくてもメールソフト上で「>」はコマンド1つで付けてくれるのですが。
    POKEとPEEKの使い方の練習にと思いまして。

     練習用としてはいいですね。
     ドラッグ&ドロップで引用してくれるとか?
     TOOLSだとできるのかな?
     (選択文字をウィンドウー>別アプリのウィンドウに)

    Subject: Re: 初めまして
    府中の山下です。

    釣本さん> 僕は、プログラム初めてで何かにチャレンジしたくて、探していたところFB�がいいということを知りさっそく購入したんですが、マニュアルを見てもさっぱり解りません。
    釣本さん> そこで、入門書でお勧めのを教えて下さい。
    釣本さん> BASIC入門もどれがいいのか解りません。
    釣本さん> 何分地方なので、書名・出版社・価格等々、直ぐに注文できるような形で教えて下さい。
    釣本さん> よろしくお願いします。


    英語版になってしまいますが、

    「Learning Future Basic Macintosh Basic Power」
    Sentient Fruits 社
    L.Frank Turovich 著

    が参考になりました。

    私も昨年の9月にFB IIを購入したばかりの初心者かつ英語はあんまり得意ではないのですが、結構内容は分かりました。分からない箇所はまた後から読み直せばよい位の考えでどんどん読み進んでいきました。

    STAZのホームページから問い合わせをして価格を確認し、(アドレス:http://www.stazsoftware.com/ )STAZより購入したのですが、値段は

    $30.00(本代)
    $15.00(送料)
    500円(国際為替発行代金)
    110円(切手代)

    の$45.00+610円でした。2週間位で届きました。
    送料など加味すると価格が高めになってしまいます。(^^;)
    (郵便局の国際為替を使用。)

    《おまけ》 1ヶ月位前ですが、Sentient Fruits 社のホームページに( アドレス:http://home.earthlink.net/‾turovich/ )上記の本と続編の「Learning Future Basic II ToolBox」をまとめて買うともっと安くなるとのこと、掲載されていました。
    一度、値段を問い合わせてみては如何でしょうか?

    Subject: Re: Where [fb-ml xxx] ?
    At 4:18 PM 97.4.23 +0900, KaZuhiro FuRuhata wrote:
     答えから言うと、ほぼ同時刻にメールがメーリングリストサーバーに届くとバグで上記のような現象が発生します。
     割と起こるのですが、まあ笑って許してやって下さい。
     無料だし(といって逃げる・・・)

     わかりました(^_^)。
    とくに実害はないので、笑っておきます。

     でも、フィルタリングをしている人はうまくいかないような気も...

    Subject: Re: 初めまして
    At 4:18 PM 97.4.23 +0900, KaZuhiro FuRuhata wrote:
    Mac Fanはまだ開始されていないのでレベルがわかりません。
    マイコンBASICマガジンはPG専門といった感じです。
    Developer's Journalは玄人向けです。
     ADJの一回目を読んで見た感想ですが、なかなかわかりやすくてよかったと思います。初めての人でも何度か読み返せば十分わかると思います。一見すると難しそうですが...(^_^)
     MacFanはどんなもんでしょうね?楽しみです。

    あとインプレスで没った(笑)私の原稿が以下のアドレスにあります。

    http://www.shiojiri.ne.jp/‾openspc3/fb.txt

    プリンタに出力すると150枚くらいになってしまいますので気を付けて下さい。

     見ようと思ったのですが、「Not Found」でした。
    それと、
    http://www.shiojiri.ne.jp/‾openspc3/fb/index.html
    からさきに進めませんでした。FBのリンクをクリックしても同じページが表示されるだけでした。なぜかな?
    4/23日の昼ごろの話ですが。メールのほうがよかったかな?(^_^)

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    At 4:18 PM 97.4.23 +0900, KaZuhiro FuRuhata wrote:  MZ-800はヨーロッパ仕様なので半年くらいかかって入手したそうです。
     一番入手しやすかったのが2500です。
     4万台出荷だと思いましたが、割と簡単に手に入ります。
     MZ-3500,PC-3200あたりが極希少です。

     さらにFBから離れるネタだなあ(笑)

     MZ-5500はどうなんですか?あれは16bitだから邪道ですか?(^_^)

    Subject: Re: Where [fb-ml xxx] ?
    古籏一浩です。

    At 15:15 97.4.24 +0900, Toshihiko MORIKAWA wrote:
     わかりました(^_^)。
    とくに実害はないので、笑っておきます。

     でも、フィルタリングをしている人はうまくいかないような気も...

     フィルタリングしている人は動かないですね、やっぱ。
     あとSubject:が空欄の場合に発生するようですのでsubject(題名)はつけてください(^^)/

    Subject: Re: 初めまして
    古籏一浩です。

    At 15:15 97.4.24 +0900, Toshihiko MORIKAWA wrote:
     MacFanはどんなもんでしょうね?楽しみです。
     予想では最も初心者向けだろうと思います。
     Mac Fan自体が初心者〜中級者向けですから。

     見ようと思ったのですが、「Not Found」でした。
    それと、
    http://www.shiojiri.ne.jp/‾openspc3/fb/index.html
    からさきに進めませんでした。FBのリンクをクリックしても同じページが表示されるだけでした。なぜかな?
    4/23日の昼ごろの話ですが。メールのほうがよかったかな?(^_^)

     いや〜申し訳ないファイル名を間違えました。

    http://www.shiojiri.ne.jp/‾openspc3/fbbook.txt

     が正解ですm(_ _)m

    Subject: Re: [fb-ml 143] Re: the Adventure of Ben
    古籏一浩です。

    At 15:15 97.4.24 +0900, Toshihiko MORIKAWA wrote:
    > さらにFBから離れるネタだなあ(笑)

    MZ-5500はどうなんですか?あれは16bitだから邪道ですか?(^_^)

     5500は全然貴重品ではないですね。
     まあ、全然という程でもないのですが。
     MZの中では2200あたりが全然貴重品ではありません。
     2500も同様です。
     3500、800で後はタワー型の6500かな。

    Subject: Re: 初めまして
    伊藤です。

    それと、http://www.shiojiri.ne.jp/‾openspc3/fb/index.htmlからさきに進めませんでした。FBのリンクをクリックしても同じページが表示されるだけでした。なぜかな?
    僕のほうでもここ2、3日こーゆー状態が続いて入れましぇーん(TOT)

    Subject: RE:Where [fb-ml xxx] ?
     ベン/矢野 勉 です。

    At 4:18 PM 97.4.23 +0900, KaZuhiro FuRuhata wrote:
    > 答えから言うと、ほぼ同時刻にメールがメーリングリストサーバーに届くとバグで上記のような現象が発生します。 > 割と起こるのですが、まあ笑って許してやって下さい。
    > 無料だし(といって逃げる・・・)

     わかりました(^_^)。
    とくに実害はないので、笑っておきます。

     あれ? 同時刻にメールがつくと、番号がいっしょになるってことですよね。うちに届くメールは、そもそも[fb-ml XXX]という表示自体が、このところずっと表示されないままです。Subject のみが表示されています。全メールがそんな状態なんで、「仕様がかわったのかな?」と思っていたのですが...

     ほかのひとのところのメールには[fb-ml XXX]というヘッダ、ついているんでしょうか?

    #最近、英語の FB Mailing list のほうも、サーバが変わってから同じような状態でして、もはや題名をみて判断するしかない状態(^^;)
    #やっぱヘッダはほしいなあ。

    Subject: [fb-ml 444]Re: 初めまして
    古籏一浩です。
    At 5:22 97.4.25 +0900, zzz@mail.yamato.or.jp wrote:
    >からさきに進めませんでした。FBのリンクをクリックしても同じページが表示されるだけでした。なぜかな?
    僕のほうでもここ2、3日こーゆー状態が続いて入れましぇーん(TOT)

     4月28日以降または5月の連休明けでないとダメかもしれません。
     というのも4月27日にマシンの大幅強化をするため、いろいろやっているためです。

    Subject: Re: RE:Where [fb-ml xxx] ?
    古籏一浩です。
    At 2:58 97.4.25 +0900, Tsutomu YANO wrote:
     あれ? 同時刻にメールがつくと、番号がいっしょになるってことですよね。うちに届くメールは、そもそも[fb-ml XXX]という表示自体が、このところずっと表示されないままです。Subject のみが表示されています。全メールがそんな状態なんで、「仕様がかわったのかな?」と思っていたのですが...
     仕様は変わっていませんが、来週にはサーバーが変わります。
     マシン構成も変わります。でもメーリングリストまでは手が回らないでしょう。
     [fb-ml〜]がないのにさらにリプライすると永久に付かない・・・のかなあ。
     他の同じサーバーのMLも今週頭くらいから、こうなってます。
     openspace-mlは正常なんだけど・・・・

    Subject: RE:Where [fb-ml xxx] ?
    こんちは、沢田です。

     あれ? 同時刻にメールがつくと、番号がいっしょになるってことですよね。うちに届くメールは、そもそも[fb-ml XXX]という表示自体が、このところずっと表示されないままです。Subject のみが表示されています。全メールがそんな状態なんで、「仕様がかわったのかな?」と思っていたのですが...
    あ、私も同じこと考えてました。
    最初は Subject に fb-ml が含まれるかどうかで Eudora のフィルタをかませていたので、しばらくは面喰らいました(^^;)
    今は To で判断させてるので正常に振り分けてくれています。
    Eudora って、茄子に馴れた私にとってはちょっと扱いにくいし、画面センスも悪いソフトですが、フィルタだけは重宝してます。

    Subject: Re: 初めまして
    古籏一浩です。
    > なお,書店にある BASIC 書籍は FutureBASIC に対応していないものがほとんどですので,購入してはいけません。
     書店にはFB関係の本はありません。
     が、雑誌の連載という形のものはあります。
    Mac Fanはまだ開始されていないのでレベルがわかりません。
    マイコンBASICマガジンはPG専門といった感じです。
    Developer's Journalは玄人向けです。

    あとインプレスで没った(笑)私の原稿が以下のアドレスにあります。

    http://www.shiojiri.ne.jp/‾openspc3/fb.txt

    プリンタに出力すると150枚くらいになってしまいますので気を付けて下さい。

     さっそくマイコンBASICとMacFanを購入してきましたし、古籏氏の原稿を見させていただきました。大変勉強になります、これからの参考書にしたいので枚数が多いということでしたので、会社に持っていってプリントアウトしてやりました。
    A4で95枚ありました...!^_^;
    これから、活用させて頂きます..........(^○^)

    Subject: Re: 初めまして
    古籏一浩です。

    At 8:18 97.4.26 +0900, Hiroyuki-Tsurimoto wrote:
     さっそくマイコンBASICとMacFanを購入してきましたし、古籏氏の原稿を見させていただきました。大変勉強になります、これからの参考書にしたいので枚数が多いということでしたので、会社に持っていってプリントアウトしてやりました。
    A4で95枚ありました...!^_^;
    これから、活用させて頂きます..........(^○^)

     95枚ですか(^^;
     これからは95枚といって流そう(笑)

    #もしかしてFB本復活するかも、かも、かもかも・・・

    Subject: Re: I made it!
    今晩は、古籏一浩です。
    At 3:12 97.4.26 +0900, Tsutomu YANO wrote:
     古旗さん、ついにやりました! 画面キャプチャが成功しました。といってもほとんど僕の手柄ではなく、またもや(^^;)、偶然英語の FB-ml に似たようなネタが流れてまして、そこで出てきた関数を利用してみたら、みごとに成功しました。USR GETPICT でうまくキャプチャできます。
     ちょっと5月の連休明けまで忙しいので、その後にチェックします。
     現実逃避する場合はチェックします(笑)。
     という事で説明は待ってくださいね(^^;

    #:’のコメントは私がMZ USERだという1つの証明です(^^;
    #実はMZのBASICはMZ-2500/2861以外は付けないとエラーになるんですよ。
    #こういうコラムもあると楽しい(?)

    #ドラッグ&ドロップも某ページでちょこっと解説されてしまった。

    Subject: Re: [fb-ml 444]Re: 初めまして
    At 1:24 PM 97.4.25 +0900, KaZuhiro FuRuhata wrote:
     4月28日以降または5月の連休明けでないとダメかもしれません。
    というのも4月27日にマシンの大幅強化をするため、いろいろやっているためです。

     あっなるほど...。それでメーリングリストのサーバーも止まるので前にお知らせがあったわけですか(^_^)。

    Subject: Re: [fb-ml 444]Re: 初めまして
    古籏一浩です。

    At 14:56 97.4.28 +0900, Toshihiko MORIKAWA wrote:
    At 1:24 PM 97.4.25 +0900, KaZuhiro FuRuhata wrote:
    >4月28日以降または5月の連休明けでないとダメかもしれません。
    >というのも4月27日にマシンの大幅強化をするため、いろいろやっているためです。

    あっなるほど...。それでメーリングリストのサーバーも止まるので前にお知らせがあったわけですか(^_^)。

     そうなんですよ。
     でも、今日もサーバーの調子は悪い・・・
     5月中は調子悪い事が多いでしょう。
     ホームページの方は全く駄目な事も十分ありえます。
     私の所でも変なまま・・・
     shiojiri.or.jpとshiojiri.ne.jpが区別されてしまふ・・・

    Subject: Re: about FILES$(...) command
    伊藤です。

    >ただfileName$ = FILES$(_fOpen,"SFIL",,volRefNum%)とやっているのにS7サウンドファイルが出てこないのは何故……(-.-)
    >ではではでは。

    System7サウンドファイルのファイルタイプをResEditで見てみましたところ小文字の“sfil”でした。

    これはこれは......ちょっと恥ずかしすぎるミスでしたねぇ.......(@_@)

    Subject: about FILES$(...) command
    こんにちは。府中の山下です。

    標準ファイルダイアログボックスでPICTファイルのみを選択するために、

    fileName$ = FILES$(_fOpen,"PICT",,volRefNum%)

    とし、(家の)68kMacintoshと、(会社の)PowerMacintoshで自分のソースコードをテストしてみました。

    ところが
    上記現象はFB II 日本語版ver2.1.3とver2.3のどちらでも発生してしまいました。

    どうしてなのか、ご存じの方はお教え願えないでしょうか?(FB IIがPowerApplicationでないからでしょうか?)
    また、皆さんのMacintoshの環境ではこういったことは発生してますか?

    Subject: Re: about FILES$(...) command
    伊藤です。

    標準ファイルダイアログボックスでPICTファイルのみを選択するために、

    fileName$ = FILES$(_fOpen,"PICT",,volRefNum%)

    とし、(家の)68kMacintoshと、(会社の)PowerMacintoshで自分のソースコードをテストしてみました。

    ところが
    上記現象はFB II 日本語版ver2.1.3とver2.3のどちらでも発生してしまいました。

    どうしてなのか、ご存じの方はお教え願えないでしょうか?(FB IIがPowerApplicationでないからでしょうか?)
    また、皆さんのMacintoshの環境ではこういったことは発生してますか?

    お力にはなれませんが僕の場合、fileName$ = FILES$(_fOpen,"AIFF",,volRefNum%)とやっているのにQT movieもリストされてしまいます。まあこれは他のアプリケーションでもそうだからあきらめています。
    ただfileName$ = FILES$(_fOpen,"SFIL",,volRefNum%)とやっているのにS7サウンドファイルが出てこないのは何故……(-.-)
    ではではでは。

    Subject: Re: about FILES$(...) command
    こんにちは。府中の山下です。

    ただfileName$ = FILES$(_fOpen,"SFIL",,volRefNum%)とやっているのにS7サウンドファイルが出てこないのは何故……(-.-) ではではでは。
    System7サウンドファイルのファイルタイプをResEditで見てみましたところ小文字の“sfil”でした。

    fileName$ = FILES$(_fOpen,"sfil",,volRefNum%)

    で試しましたら、無事ファイルが出てきました。
    68kMac(漢字TALK7.5.1)とPowerMac(漢字TALK7.5.5)
    どちらでもOKでした。

    でも、“PICT”の方は、PowerMac(漢字TALK7.5.5)では相変わらず“TEXT”も出てしまいます。とほほ...。
    (株)モードさんへも聞いてみようと思います。

    Subject: FILES$() command
    みなさん、こんにちは。
    府中の山下です。

    先日の、FILES$()コマンドで

    fileName$ = FILES$(_fOpen,"PICT",,volRefNum%)

    としても、“PICT”ファイル以外に“TEXT”ファイルも標準ファイルダイアログウィンドウにリスト表示されてしまう件ですが、(株)モードさんにも聞いてみました。

    Macintosh EasyOpenの設定のチェック要とのこと、テストしてみましたところ、Macintosh EasyOpenが“入”になっていると漢字TALK7.5.1でも7.5.5でも“TEXT”ファイルがリスト表示されることが判明しました。
    “切”にしておくと、無事“PICT”ファイルのみリスト表示されます。

    何かの折に、上記ご参考頂ければ幸いです。

    (株)モードさんのいつもの回答の早さは、非常にありがたいです。

    Subject: Re: FILES$() command
    古籏一浩です。

    At 0:36 97.5.2 +0900, WataruYamashita wrote:
    Macintosh EasyOpenの設定のチェック要とのこと、テストしてみましたところ、Macintosh EasyOpenが“入”になっていると漢字TALK7.5.1でも7.5.5でも“TEXT”ファイルがリスト表示されることが判明しました。
    “切”にしておくと、無事“PICT”ファイルのみリスト表示されます。

     なるほど、これは知りませんでした。
     EasyOpenは、あまり出てこないので(^^;

     あとFuture BASIC II-J ROOMのページは大容量数百メガのHDに移行します。多分6月頃かな。サンプルとか多くしたいと思ってるんだけど、はてさてf(^^;

    Subject: 今月のMacFan
     今月のMacFan、読んできました(立ち読み(^_^;))例のFBの連載、掌田さんが書いていました。2ページの連載モノで、内容は、本当に、PRINT文でメッセージを表示しよう、っていうすごく初歩の内容でした。これなら買わないかな、と思ったりしました(^_^;)

    Subject: [fb-ml 446]Re: 今月のMacFan
    古籏一浩です。

    At 7:28 97.5.3 +0900, Hiroki Kaneko wrote:
     今月のMacFan、読んできました(立ち読み(^_^;))例のFBの連載、掌田さんが書いていました。2ページの連載モノで、内容は、本当に、PRINT文でメッセージを表示しよう、っていうすごく初歩の内容でした。これなら買わないかな、と思ったりしました(^_^;)
     私も読みましたが、すごく初心者向けですね。  でも、あれだけでウィンドウが表示されて日本語まででるのだから  初心者には結構楽そうという印象でよいのでは?  C言語だったら・・・3回目で日本語が表示できるくらいか(^^;

    Subject: Re: 今月のMacFan
    At 1:09 PM 97.5.3, KaZuhiro FuRuhata wrote:
     私も読みましたが、すごく初心者向けですね。
     でも、あれだけでウィンドウが表示されて日本語まででるのだから初心者には結構楽そうという印象でよいのでは?
     C言語だったら・・・3回目で日本語が表示できるくらいか(^^;

     僕も見てきました。で、ふと思ったのですが、日本語版では PRINT は日本語を通すんですかね? あれ? 日本語を通さないのは INPUT だけだったっけ? こんがらがってきた。

     ところで、サービスプロバイダと契約しました。ホームページを鋭意作成中です。
    ほかのページは (テキストを HTML 変換して載せただけなんで) すぐできたんですが、PROGRAMMING のページは、位置からかかにゃあならんので(^^;)

     多少できたら、URL を発表します(^^;)

    Subject: [fb-ml 448]Re: 今月のMacFan
    古籏一浩です。

    At 16:05 97.5.3 +0900, Tsutomu YANO wrote:
    >  C言語だったら・・・3回目で日本語が表示できるくらいか(^^;

     僕も見てきました。で、ふと思ったのですが、日本語版では PRINT は日本語を通すんですかね? あれ? 日本語を通さないのは INPUT だけだったっけ? こんがらがってきた。

     PRINT文は日本語は通りますがINPUTは駄目です。
     FBのホームパーティでも出てましたね。
     でも、先日消滅しましたf(-.-b

     ところで、サービスプロバイダと契約しました。ホームページを鋭意作成中です。
    ほかのページは (テキストを HTML 変換して載せただけなんで) すぐできたんですが、PROGRAMMING のページは、位置からかかにゃあならんので(^^;)

     おお、これは期待していいですよね(^-^)/
     いろいろ、やる事があって進まない・・・むう

    Subject: 初歩的な質問です
     只今FB�の "プログラミングマニュアル" の練習問題23.2を勉強しているんですがどうも応用が利かないので悩んでいる超初心者です。
    まずかなえたいことは、
    1、EDIT FIELD 1と2、に入力される文字は数字に限定したい。
    2、EDIT FIELD 3は、1と2の合計を求めたいのですがどうすればいいのでしょう?
    マニュアルを読んでみたのですが、どうも解りませんのでよろしくお願いします。

    Subject: Re: 初歩的な質問です
     プログラミング・マニュアルを読みおえて気がはやるのもわかりますが、まず HANDBOOK の前半にはひととおり目を通して、それから挑戦したほうが、結果的には早道ですよ。
     どうもですやっぱりはやすぎですよね........(;_;)
    これからしっかり勉強しますので、その節はよろしくお願いします。

    Subject: Re: 初歩的な質問です
    At 11:20 AM 97.5.4, Hiroyuki-Tsurimoto wrote:
    まずかなえたいことは、
     1、EDIT FIELD 1と2、に入力される文字は数字に限定したい。
     2、EDIT FIELD 3は、1と2の合計を求めたいのですがどうすればいいのでしょう?

    マニュアルを読んでみたのですが、どうも解りませんのでよろしくお願いします。

     え、HANDBOOK の P132 に、1を実現する方法が書かれています。例ではエディットフィールドの _EFclassを調べるという、ちょっと厄介なことをしてますが、今回は EDIT FIELD の 1, 2 が対象だと分かっているので、例の FN keyTrap は大まかには次のようになるでしょう。
    LOCAL FN kayTrap
      EFnum = WINDOW(_EFnum)
      key$ =  TEKEY$
      SELECT EFnum
        CASE 1, 2  '"EDIT FIELD 1, 2 への入力
          LONG IF ASC(key$) => ASC("0") AND ASC(key$) <= ASC("9")
            TEKEY$ = key$
          END IF
      END SELECT
    END FN
    
     文字のアスキーコードを得て、それを 0 と 9 のアスキーコードと比較することで、数字かどうかを確認するわけです。TEKEY$ は関数としては、入力された一文字をかえし、STATEMENT としては、指定した文字を EDIT FIELD に渡します。

     そして、EDIT FIELD 3 はスタティックな FIELD として作成することで、完全に文字入力を禁止してしまいます。で、なにかのタイミング (ボタンが押されるとか) で、次のような処理をします。
    1.
    theStr1$ = EDIT$(1) で EDIT FIELD 1 の内容を取る
    2.
    theStr2$ = EDIT$(2) で EDIT FIELD 2 の内容を取る
    3.
    theValue1 = VAL(theStr1$), theValue2 = VAL(theStr2$) で、文字列を数字に変 換する
    4.
    result = theValue1 + theValue2 で足し算する
    5.
    EDIT$(3) = result で結果を EDIT FIELD 3 にいれる
     とまあ、こんなとこですけど。
     プログラミング・マニュアルを読みおえて気がはやるのもわかりますが、まず HANDBOOK の前半にはひととおり目を通して、それから挑戦したほうが、結果的には早道ですよ。

    Subject: Mops
    ひょんなことから Mops ちゅうやつをダウンロードしてしまいました。
    Forth系のコンパイラだそうです。
    まずはシステム自身をコンパイルすることから始めるらしいです。
    英語がわからんので何もできません、わははは(^^;)

    Subject: Re: [fb-ml 448]Re: 今月のMacFan
    FutureBASIC II で、シューティングゲームを作りたいのですが、可能ですか。
    とりあえず、インベーダーゲームを作りたいと思っています。
    しかし、どこから、手をつけていいものか、、、
    ざっと、流れをお知らせ下さるとありがたいのですが、、、
    イメージとしては、
    1...初期化
    2...ゲームスタート
    3...大砲が、マウスの動きにあわせ左右に移動する。
    4...大砲より、ビームを発射する
    5...インベーダーはウインドウを左右にうごきながら、1段ずつ降りてくる
    6...大砲からのビームはインベーダーに当たったか?
    7...あたったらインベーダーを消去
    8...インベーダーからのビームが大砲に当たったか?
    9...当たったら、大砲を消去
    10...当たったら、メモリしてある大砲の数を1つ減らす。
    11...3回当たったらゲームオーバー
    12...最高得点を表示
    13...終了
    こんなかんじなんですが、このイメージをどう言語であらわしたらいいものか・・・・・・・・・・・・
    ん〜〜〜〜〜むずかしい。

    Subject: Re: [fb-ml 448]Re: 今月のMacFan
    古籏一浩です。

    At 3:04 97.5.7 +0900, 関谷和男 wrote:
    FutureBASIC II で、シューティングゲームを作りたいのですが、可能ですか。
     可能です。

    とりあえず、インベーダーゲームを作りたいと思っています。
    しかし、どこから、手をつけていいものか、、、
    ざっと、流れをお知らせ下さるとありがたいのですが、、、
     中 略
    こんなかんじなんですが、このイメージをどう言語であらわしたらいいものか・・・・・・・・・・・・

     流れは一応合っています。
     この流れの数字の数だけ、それを実現する関数を作成します。
     が、実はこの作成順序がコツというかミソというか、まあそういう部分があります。
     具体的にどういう順番で作っていけばいいかというと

     といった具合です。初期化は実は追加する毎に追加していくという方式を使います。

     ゲームプログラムは、慣れていますのでちょっとだけヒントとらしき命令をつらねておきます。参考にどうぞ。

    (1)ゲームスタート
       通常はタイトルが表示されてます。で、キー入力があったらゲーム開始の部分。

    cls
    print "いんべーだーゲーム"
    while inkey$="":wend

     これでおわり。

    (2)大砲の移動
       左右に移動するだけですので簡単です。大砲の座標を示す変数をX,Yとします。さらに移動可能範囲を0から600までとします。
       4のキーで左に6のキーで右に移動する事にします。

    if (X > 0) & (inkey$="4") then X = X - 1
    if (X < 600) & (inkey$="6") then X = X + 1

     これだけです。キー入力は以前質問があったGETKEYを使った方がよいでしょう。

    (3)大砲のビームの発射
       ビームが移動中かどうかのフラグが必要です。
       ここではBFLAGとします。スペースキーを押すと発射されるものとします。(BFLAG = TRUEはすでにビームが発射されている)

    if (BFLAG = FALSE) & (inkey$=" ") then BFLAG = TRUE

     これだけです。

    (4)大砲のビームの移動
       ビームは上に向かって移動します。一番上までいったら消えます。

    if BFLAG & (Y > 0) then Y = Y - 1

     これでできあがです。

    (5)大砲の表示
       グラフィックは捨ててAの文字とします(^^;

    LOCATE X,Y:PRINT "A";

     消すときは"A"の変わりに" "のようにします。

     といった具合です。
     頑張ってくださいね(^^)

    Subject: QT
    ご無沙汰の伊藤です。
    以前古籏さんのHPでやっていたAIFF非同期再生ですが、資料を頂いたにも関わらず、再生を止めるというサウンドコマンドが未だに解決していません。
    で、AIFFの非同期再生をQT経由で再生してみようと最近気付いたのですが、FBのサンプルのQT Projectではトランスレート中のダイアログが出てしまいます。まあAIFFをQTで再生させるわけですからダイアログが出てもしょうがありません。だけど再生ファイル数が50だの100だのとなるとちょっとウザいですよね。本家のmoviePlayerでAIFFを再生させたらトランスレート中のダイアログは出ませんでした。何か出さなくする方法があるのでしょうか?それともAIFFの再生だったらQT経由じゃなくてサウンドコマンドを追及した方が美しい(^_^;)のでしょうか。ご意見お聞かせ下さい。

    Subject: Re: QT
    古籏一浩です。

    At 5:04 97.5.7 +0900, 伊藤とものり wrote:
    る方法があるのでしょうか?それともAIFFの再生だったらQT経由じゃなくてサウンドコマンドを追及した方が美しい(^_^;)のでしょうか。ご意見お聞かせ下さい。
     サウンドコマンドを使った方が楽です。
     がC言語で作った所Sound Manager 3.0にはバグがあるようで短いサウンドループをくませるとキューが溢れる(泣)という現象があります。
     7.5.3なので多分最新版のはずですが。

     サウンドを制御するにはSndDoImmediateを使用してサウンドチャンネルにサウンドコマンドを送信してやります。

     手元にC言語のしかないけど参考までに、どうぞ。

    ◆サウンドのボリュームを調整
    void setVolume(void)
    {
            long    vol;
            SndCommand      command;
    
            command.cmd = volumeCmd;        //これがサウンドコマンド
            command.param2 = 256;           //最大ボリューム(255だったかも)
            SndDoImmediate(SndChan,&command)        //SndChanはサウンドチャネル
    }
    
     コマンドへの引数はparam1,param2の2つがあります。
     C言語でもFBでもそんなに変わらないので、この3行を元にトライしてみてください(^^)/

    Subject: Re: QT
    伊藤です。

    >る方法があるのでしょうか?それともAIFFの再生だったらQT経由じゃなくてサウンドコマンドを追及した方が美しい(^_^;)のでしょうか。ご意見お聞かせ下さい。
     サウンドコマンドを使った方が楽です。
     がC言語で作った所Sound Manager 3.0にはバグがあるようで短いサウンドループをくませるとキューが溢れる(泣)という現象があります。
     7.5.3なので多分最新版のはずですが。

     サウンドを制御するにはSndDoImmediateを使用してサウンドチャンネルにサウンドコマンドを送信してやります。

     手元にC言語のしかないけど参考までに、どうぞ。

    中略
    コマンドへの引数はparam1,param2の2つがあります。
    C言語でもFBでもそんなに変わらないので、この3行を元にトライしてみてください(^^)/

    有り難うございました。やってみます!!

    Subject: 教えて下さい。
    須澤裕典です

    伝言板のようなWebページを作りたいと思っているのですが、何からやったらいいのか分かりません
    どなたかアドバイスをください。
    よろしくお願いします。

    P.S.
    マイコンBASICマガジンのFB講座を見ました。この本まだあったんですね。僕がコンピュータいじりだした頃からある本が残っているのはうれしいです。ところでテレビ東京でやっていたパソコン番組に出ていたドクターパソコン宮永(?)先生って生きてるのでしょうか・・・

    P.S.2
    アスキーの「入門グラフィックス」「実習グラフィックス」「応用グラフィックス」はBASICから徐々にC言語の解説へと説明が進む分かりやすい3DCGの理論解説本です。おすすめです。また、アスキーの「CGレイトレ物語」はメタボールやマッピング、レイトレーシング、ブーリアン演算などを説明した本です。数式が主な解説方法なので数学が好きな方には良い本です。

    Subject: [fb-ml 451] つながった
    須澤です

    古籏一浩さんのFBのページ、つながるようになりましたね。
    しかも、新しい記事が1つ追加されていました。
    ますますQD3Dの講座をやってほしいと思うようになりました(笑)

    Subject: [fb-ml 452] Re: 教えて下さい。
    古籏一浩です。

    At 20:27 97.5.10 +0900, HIS wrote:
    伝言板のようなWebページを作りたいと思っているのですが、何からやったらいいのか分かりません
     まず最初にCGIが使用できるプロバイダでないと駄目です。
     多くの掲示版システムではPerlを使用していますのでPerl4,5がないと動かないでしょう。
     自分がサーバーを持っている場合は別で、掲示板のページにいけば大抵参照元が書いてあります。

    >P.S. マイコンBASICマガジンのFB講座を見ました。この本まだあったんですね。僕がコンピュータいじりだした頃からある本が残っているのはうれしいです。ところでテレビ東京でやっていたパソコン番組に出ていたドクターパソコン宮永(?)先生って生きてるのでしょうか・・・

     ベーマガは、よく生き残っているなあと思います(^^;
     初心者には結構役に立つ本じゃないのかな〜
     Dr.パソコンは3年前にTVか何かでみたので3年前までは生きてました(^^;
     今は不明です・・・

    Subject: [fb-ml 453] Re: つながった
    古籏一浩です。

    At 9:12 97.5.11 +0900, HIS wrote:
    古籏一浩さんのFBのページ、つながるようになりましたね。
    しかも、新しい記事が1つ追加されていました。
    ますますQD3Dの講座をやってほしいと思うようになりました(笑)

     次はなぜか2色分解(笑)
     MacでDTPやっている人には鬼門みたいで・・・
     プラグインでは指定2色の分解は難しいです。
     というのも画面で確認するために、いろいろ設定変更をしないといけないので・・・
     とりあえずプラグインで1500円でシェアウェア(笑)

     でも2色分解は面倒〜

    Subject: [fb-ml 454] はじめまして
    はじめまして。
    Future Basic 初心者の金武(カナタケ)と申します。よろしくお願いします。
    5月5日に購入し,まだマニュアルを読んでいる段階です。
    Basicは,昔,98のQuickBasicを使ったことがあり,ある程度は,分かるつもりでしたが久しぶりでなかなか苦戦しています。
    Macは,Classic(売却) -> PB145B(休止) -> Perfoma588(現役) -> PB520(現役)と渡り歩いていますが,Classicの頃,Mac版のQuickBasicをちょっと使ったことがあります。カレンダーとか簡単なプログラムを作りましたが,処理速度が遅かったので,結局,98を使いはじめたため,それっきりになってしまいました。
    PB520は,会社で使っており,HyperCardで自作したスケジュール管理スタックを使っています。が,スピードに難があるため,FutureBaiscでXCMDを作り強化したいと考えております。
    当面は,いろいろ質問したりすることが多いかもしれませんが,なにとぞよろしくお願いします。

    Subject: [fb-ml 455] Re: 教えて下さい。
    At 8:27 PM 97.5.10, HIS wrote:
    伝言板のようなWebページを作りたいと思っているのですが、何からやったらいいのか分かりません
    どなたかアドバイスをください。
    よろしくお願いします。

     こういうのは CGI(Common Gateway Interface) というのを書いて、プログラムでHTML を書き出す必要があります。古旗さんのいうように、まずはサーバー側が CGIの使用を許可しているかどうかが問題になります。

     次に CGI を書く言語を選びます。CGI は結局、送られてきたテキストを編集してHTML として返すものなんで、多くの CGI が、テキスト処理につよい Perl で書かれています。Perl ならサーバが UNIX だろうが WinNT だろうが Mac だろうが動かせますし。

    Perl5が動くようであれば、<http://www.konotrope.co.jp/‾nakahiro/src/> にいって KINOBOARDS という CGI をとってくれば、自分でスクリプトを書く必要すらありません。かなり優秀な CGI ですよ、これ。

    #マック・サーバなら FB で CGI 書いたりもできますけど(^^;)

    Subject: [fb-ml 456] Re: つながった
    At 9:12 AM 97.5.11, HIS wrote:
    須澤です

    古籏一浩さんのFBのページ、つながるようになりましたね。
    しかも、新しい記事が1つ追加されていました。
    ますますQD3Dの講座をやってほしいと思うようになりました(笑)


    伊藤です。つながりましたね。しかし前回予告していた「ドラッグ&ドロップ」はいずこへ(^_^;)しかしフォトショップの第2弾がありました。僕は画像加工プログラムを作るならPS(プレステではありません)のプラグインが一番良いと思うので講座は非常に助かります。前者は気長に待ちます。(オイオイ自分で解析しろ!!)ではでは。

    Subject: [fb-ml 457] Re: つながった
    みなさん、こんばんは。
    府中の山下です。

    伊藤です。つながりましたね。

    つながりましたね。ほんとに、めでたしめでたし。
    カウンタもついてました。

    しかし前回予告していた「ドラッグ&ドロップ」はいずこへ(^_^;) … 中略 …  前者は気長に待ちます。(オイオイ自分で解析しろ!!)ではでは。
    あっ、私も期待しております。かくいう私もこの口なんです...。(^^;)
    古籏さん、よろしくお願いします。

    ところで「ドラッグ&ドロップ」機能なのですが、FB IIは「ドラッグ&ドロップ」には対応してないのですよね?

    もし、対応するようになったら、FB IIエディタの“指定範囲の行を一括コメント化(ドラッグ&ドロップ対応)プログラム”なるものを作ってみたいと考えております。
     とりあえずは、FB IIからクリップボードへコピーしたテキストを取得し、コメント化した後、クリップボードへ返すといったプログラムを作ってみたのですが、いまいちスマートさに欠けるところが...。

    FB II も、HyperCardのように、「注釈に変える」メニューがついていればと思ってます。
    モードさんによると、「注釈に変える」メニューは、ツール(TOLZ)として作るという手があるらしく、しかし難易度は高いとのこと。
    う〜ん。ちょっと手が出ない...。

    取り止めのない文章になってしまいました。

    では、また。

    Subject: [fb-ml 458] Re: 教えて下さい。
    須澤です。

    At 0:22 AM 97.5.12 +0900, Tsutomu YANO wrote:
     こういうのは CGI(Common Gateway Interface) というのを書いて、プログラムでHTML を書き出す必要があります。古旗さんのいうように、まずはサーバー側が CGIの使用を許可しているかどうかが問題になります。
    プロバイダは許可しているといってました
    すばらしい(笑)

     次に CGI を書く言語を選びます。CGI は結局、送られてきたテキストを編集してHTML として返すものなんで、多くの CGI が、テキスト処理につよい Perl で書かれています。Perl ならサーバが UNIX だろうが WinNT だろうが Mac だろうが動かせますし。

    Perl5が動くようであれば、<http://www.konotrope.co.jp/‾nakahiro/src/> にいって KINOBOARDS という CGI をとってくれば、自分でスクリプトを書く必要すらありません。かなり優秀な CGI ですよ、これ。

    #マック・サーバなら FB で CGI 書いたりもできますけど(^^;)

    アドバイスありがとうございます。
    やってみます
    とおもったらつながらないです。何故?

    Subject: [fb-ml 458] Re: つながった
    須澤です

    At 1:54 AM 97.5.12 +0900, 伊藤とものり wrote:
    伊藤です。つながりましたね。しかし前回予告していた「ドラッグ&ドロップ」はいずこへ(^_^;)しかしフォトショップの第2弾がありました。僕は画像加工プログラムを作るならPS(プレステではありません)のプラグインが一番良いと思うので講座は非常に助かります。前者は気長に待ちます。(オイオイ自分で解析しろ!!)ではでは。
    私も「ドラッグ&ドロップ」はほしいです。
    ドラッグ&ドロップでQuarkXpressにあるような画像や文字を入れたり出したりできるクリップボード(見た目はランチャーコントロールパネルのようなもの)を作りたいのです。
    あるいはシェアウエアのGlidelのような直接メニューバーにファイルや画像や文字をドラッグ出来るようなものもつくりたいです。
    期待して待ってます(笑)

    Subject: [fb-ml 459] How do you do?
     はじめまして、たばた と申します。
    矢野さんにこのMLの存在を教えていただいて加入させていただきました。

     昨日Future Basic IIを購入したばかりの初心者です。Macのprogrammingは大昔 TurboPascal (for Mac) で小さなものを少し書いたことがあるだけで、Lightspeed C への移行についていけず(学生でお金がなかったので)そのままアプリケーションユーザーとなり現在に至っています。
     MacPowerの記事でFuture Basic IIの事を知り、N-BASICで遊んでいた頃の楽しい記憶が甦り、後先考えずに買ってしまいました。そういえば昔Z-BASICというのがMac+かMacJAPANの広告にありましたがFuture BasicIIはその末裔なのですね。当時は「MacのprogrammingといえばPASCAL!」の時代でしたので全く手を出していませんでした。
     目標としてはメイラーを書けないかと思っていますが、FBのマニュアルにMacTCP関連のことが全く載っていないので早速挫折しかけています。

     こんな浦島太郎なサンデープログラマーですがよろしくお願い致します。

    Subject: [fb-ml 460] 初めまして m(__)m
    <fb-ml mailing listの皆様>

    ★初めまして、京都在住の堀 浩一郎と申します。
     先日、Future BASIC (II-J)を大阪日本橋で購入しまして、ニフティの「FMACPRO」のベンさんのご紹介で、ここにたどり着きました。
     全くの初心者で、皆さんには質問ばかりになりそうですが、どうぞ、お導き下さいませm(__)m。

    ★BASICは大学時代(う〜〜む、十年位前だ(^_^;))、データの解析用にQUICK BASIC for DOSを98上で動かしていたのですが、その頃は構造化なんてあまり考えずに、適当に使ってました。

     でも、今回はどうもそう言うわけには行かず、まじめに勉強してます。
     とりあえず、PGを使ってウィンドウの最適化とテキストと画像の取り込みおよび保存を勉強してます。

     とりあえずの第一目標は「絵日記」を作ることです。
     以前、いろいろ絵日記ができるソフトを探したのですが、あまりいいのがなくて、あきらめていました。一度、Cにチャレンジしたのですが、ウィンドウを作るのにものすごい行数のソースを書かなくてはいけないと知って、途中であきらめました。本を2冊を買って、ソフトは・・・(^_^;)。

     しかし、Future BASIC (II-J)を使ってみると、Cに比べると非常に簡単で、なんか自分にもできそうだなぁと思っちゃいました(^o^)/。
     もちろん、敷居は思うほどそんなに低くはないと覚悟はしてます。

     とりあえず、皆様よろしくお願いしま〜〜す。

     ■使用環境は以下の通りです。
    Mac Quadra800 + PPC601 upgradecard RAM=32MB, HD=1.23GB
       Monitor:Sony17sfII
       MO:OLYMPUS TURBO III+ 230MB
       RHD:SyQuest 270MB
       Scaner:HP SCAN JET IIci
       Printer:HP DJ850C, Apple Personal Laser Writer 300
    
    ■メインはMIDIで、ジャズやフュージョンのオリジナル曲をニフティのFMIDIORGや自分のサイトにアップしてます。

    Subject: [fb-ml 461] Re: How do you do?
    古籏一浩です。

    At 21:00 97.5.12 +0900, TABATA Yasuhiro wrote:
     はじめまして、たばた と申します。
    矢野さんにこのMLの存在を教えていただいて加入させていただきました。

     初めまして&いらっしゃいませ、たばたさん。
     一応管理人の古籏一浩です(^^)

     目標としてはメイラーを書けないかと思っていますが、FBのマニュアルにMacTCP関連のことが全く載っていないので早速挫折しかけています。
     メールソフトは面倒です、はい。
     MacTCP/OpenTransportは標準では入っていないはずなのでPASCALコンバーターか何かで組み込むか自前でマシン語を書いてトラップするしかないでしょう。
     資料も少ないし・・・
     私もTCP/IP関係とかネットワーク関係とかやってみたいんだけど不得意なんで誰かにおまかせf(^^;

     誰か詳しい方にバトンタッチです〜

    Subject: [fb-ml 462] Re: つながった
    古籏一浩です。

    At 20:19 97.5.12 +0900, HIS wrote:
    私も「ドラッグ&ドロップ」はほしいです。
    ドラッグ&ドロップでQuarkXpressにあるような画像や文字を入れたり出したりできるクリップボード(見た目はランチャーコントロールパネルのようなもの)を作りたいのです。

     一言でドラッグ&ドロップと言っても大きく分けて2種類あるんです。
     ファイルをアプリにドラッグするだけのタイプ、
     ウィンドウ、オブジェクト間でドラッグ&ドロップするタイプ。
     後者はドラッグ&ドロップマネジャーが必要です(KT7.1の場合)。
     資料もあるけど、(後者は)標準では無理か!?

     とりあえず前者からやりますf(^^;
     前者もFBの動作がおかしい所があるので、なんとも〜

    Subject: [fb-ml 463] Re: はじめまして
    古籏一浩です。

    At 20:52 97.5.11 +0900, Shigeyuki Kanatake wrote:
    はじめまして。
    Future Basic 初心者の金武(カナタケ)と申します。よろしくお願いします。

     いらっしゃいませ、金武さん(^^)/

    PB520は,会社で使っており,HyperCardで自作したスケジュール管理スタックを使っています。が,スピードに難があるため,FutureBaiscでXCMDを作り強化したいと考えております。
     XCMDは詳しい人がいましたよ。
     ベンさんも詳しかったよ〜な気が・・・

    Subject: [fb-ml 464] 上級編4を追加しました
    古籏一浩です。

    上級編4を追加しました。
    今回はほとんどの人が興味のないテーマかもしれません。
    DTPをやっている人は別ですが・・・

    初級編、中級編、上級編と分けておいてよかったかもf(^^;
    次のドラッグ&ドロップは中級編に入るのかな、やっぱり。
    それよりも先にプログラムと説明を書け!といわれそうf(^^;;;

    #カウンタつけて3日なのに割とアクセス数が多いですね。

    Subject: [fb-ml 465] みなさんお久しぶりです(TNKです)
    みなさんお久しぶりです、TNKです。

    最近ようやく時間がとれるようになりプログラムを再開しました。

    現在はスプライト(オブジェ)とBGの所を作っています。
    描画のほうは、古籏さんの講座やベンさんの書き込みなどを参考にしながら、なんとか出来たのですがパレット(クラット?)のところでつまずいています。

    NIFTYのFMACPROの書き込みで

    >PICT リソース、パレット('pltt')リソースが既にあるなら、

    thePalette = GetNewPalette(128);
    SetPalette(mainWindow, thePalette, true);
    DrawPicture(...

    というのを見つけ「おお!これをつかえば!」と思いハンドブックをみながら

    DIM A&
    A& = FN GETNEWPALETTE(128)
    CALL SETPALETTE(Mscr&,A&,true) ※Mscr&にはウインドウのグラフポートがはいっています。

    と、書いて実行してみたのですがちゃんと表示されません。
    書く場所が悪いのかと思い色々な場所に書いてみましたが駄目でした。

    どのようにしたらうまく色が表示されるのでしょうか?
    教えてください。

    ちなみに、オフスクリーンは3枚用意してあり
    1>合成用
    2>BG用
    3>オブジェ用
    となっており、BGとオブジェのパレットは同じものを使用して描いています。
    リソースは(BG1枚、オブジェ1枚)PICTリソース
         (パレット1つ)plttリソース
    となっています。
    モニタは256色モードにしてあります。
    気になるのはウインドウの後ろに見えているアイコン等の色が元のままなところです。

    Subject: [fb-ml 466] Re: 初めまして m(__)m
    はじめまして伊藤と申します。

     くて、あきらめていました。一度、Cにチャレンジしたのですが、ウィンドウを作るのにものすごい行数のソースを書かなくてはいけないと知って、途中であきらめました。本を2冊を買って、ソフトは・・・(^_^;)。
    僕はCの本は10冊以上持っていますが、根本がわかっていないようです。挫折して今に至ります(^_^;)

     しかし、Future BASIC (II-J)を使ってみると、Cに比べると非常に簡単で、なんか自分にもできそうだなぁと思っちゃいました(^o^)/。
    もちろん、敷居は思うほどそんなに低くはないと覚悟はしてます。

    本当にFBは良いです。知人に「これ(アプリ)何で作ったの?C?」とか聞かれて「フューチャーベーシックだよ」って答えると「えーブゥェーシックゥ?」とか言われて引かれます(^_^;)。関係ないのに名前の部分で損をしているような……だから僕は「FB」と言うようにしています。(^_^;)

    ■メインはMIDIで、ジャズやフュージョンのオリジナル曲をニフティのFMIDIORGや自分のサイトにアップしてます。
    僕もメインは音楽です。(^o^)でも最近は3Dやってますけど……
    来週月曜(26日)から金曜まで(16:50〜16:55)教育テレビ「和菓子・その伝統と美」(^_^;)という番組で音楽やりましたので暇だったら見て下さ〜い。

    Subject: [fb-ml 467] Re: つながった
    伊藤です。
     一言でドラッグ&ドロップと言っても大きく分けて2種類あるんです。
    ファイルをアプリにドラッグするだけのタイプ、ウィンドウ、オブジェクト間でドラッグ&ドロップするタイプ。
    後者はドラッグ&ドロップマネジャーが必要です(KT7.1の場合)。
    資料もあるけど、(後者は)標準では無理か!?

    他の皆さんは後者だと思いますが、僕は前者のドラドロです。しかもフォルダーやディスクの(く、くどい……そろそろ怒られる?(^_^;))ではでは。

    Subject: [fb-ml 468] Re: みなさんお久しぶりです(TNKです)
    古籏一浩です。

    At 4:52 97.5.13 +0900, tnk wrote:
    DIM A&
    A& = FN GETNEWPALETTE(128)
    CALL SETPALETTE(Mscr&,A&,true) ※Mscr&にはウインドウのグラフポートがはいっています。

    と、書いて実行してみたのですがちゃんと表示されません。書く場所が悪いのかと思い色々な場所に書いてみましたが駄目でした。
     カラーのウィンドウですよね?
     あと、この方式では駄目だったような気がします。
     昔256色で同じようにやろうとして、うまくいかなくて友人に聞いた覚えがあります。でもC言語だったし忘れてしまいました。
     結局、あきらめてフルカラーで作ってしまいましたが(笑)

     誰かフォローしてくださいf(-.-b

    Subject: [fb-ml 469] Re: 初めまして m(__)m
    古籏一浩です。

    At 5:10 97.5.13 +0900, 伊藤とものり wrote:
    僕もメインは音楽です。(^o^)でも最近は3Dやってますけど……
    来週月曜(26日)から金曜まで(16:50〜16:55)教育テレビ「和菓子・その伝統と美」(^_^;)という番組で音楽やりましたので暇だったら見て下さ〜い。

     伊藤さんて有名人だったの(^^)?
     う〜ん、これは知らなかったf(^^;

    Subject: [fb-ml 470] Re: つながった
    古籏一浩です。

    At 5:14 97.5.13 +0900, 伊藤とものり wrote:
    他の皆さんは後者だと思いますが、僕は前者のドラドロです。しかもフォルダーやディスクの(く、くどい……そろそろ怒られる?(^_^;))ではでは。
     予想ではフォルダはdirIO番号が返ると思います。
     となると、もう1つ講座を設けて解説した後でないと駄目なんです〜
     順番としては
     といった具合にしないと駄目なんです。
     ゲームとかもやりたいし初心者向けのも増やしたいしf(^^;

    Subject: [fb-ml 471] Re: 初めまして m(__)m
    古籏一浩です。

    At 23:23 97.5.12 +0900, 堀 浩一郎 wrote:
    ★初めまして、京都在住の堀 浩一郎と申します。
     いらっしゃいませ堀さん(^^)/
     一応の管理人の古籏一浩です。よろしくお見知りおきをf(^^;

     とりあえずの第一目標は「絵日記」を作ることです。
     以前、いろいろ絵日記ができるソフトを探したのですが、あまりいいのがなくて、あきらめていました。一度、Cにチャレンジしたのですが、ウィンドウを作るのにものすごい行数のソースを書かなくてはいけないと知って、途中であきらめました。本を2冊を買って、ソフトは・・・(^_^;)。

     FBで勉強した後にCを勉強すれば、まだわかると思います。
     マシン語/アセンブラをやっていた人にとっては簡単ですが期待通りのコードを吐かない(笑)ので腹が立つだけかもしれませんがf(^^;
     FBだとウィンドウ表示もwindowで終わってしまいますので楽です。

     絵日記ソフトというと描画させる部分も含まれるのですか?
     
    Subject: [fb-ml 472] 注釈にかえる
    At 3:42 AM 97.5.12, WataruYamashita wrote:
    もし、対応するようになったら、FB IIエディタの“指定範囲の行を一括コメント化(ドラッグ&ドロップ対応)プログラム”なるものを作ってみたいと考えております。
    (中略)
    FB II も、HyperCardのように、「注釈に変える」メニューがついていればと思ってます。 モードさんによると、「注釈に変える」メニューは、ツール(TOLZ)として作るという手があるらしく、しかし難易度は高いとのこと。 う〜ん。ちょっと手が出ない...。

     海外の FBer が作ってます。

    You can download "Commenter" at http://www.jps.net/jconkey/
     これがそうです。MODEさんのいうように、TOLZです。なんかコメントをつけたあとに、変更をウインドウに知らせる方法が見つからなかったため、ちょっと技を使っているらしいですが、おおむね使えるそうです。ぼくもまだ取ってきてないんで、使用感はわかりませんけど(^^;)

    Subject: [fb-ml 472] 絵日記
    At 11:23 PM 97.5.12, 堀 浩一郎 wrote:
     とりあえずの第一目標は「絵日記」を作ることです。
     以前、いろいろ絵日記ができるソフトを探したのですが、あまりいいのがなくて、あきらめていました。一度、Cにチャレンジしたのですが、ウィンドウを作るのにものすごい行数のソースを書かなくてはいけないと知って、途中であきらめました。本を2冊を買って、ソフトは・・・(^_^;)。

     ベン/矢野 勉 です。

     これって、「絵日記を作り出すためのソフトをつくりたい」のでしょうか、「自分の電子絵日記を作りたい」のでしょうか?

     後者なら、ぼくは HyperCard つかえばいいような気もしますが...もう試されましたか? Version 2.3 ではカラーのイラストも (別ウインドウでだけど) かけたはずです。絵日記書くのにプログラムを組んでいては、なんとなく「あれっ?」って気がしません?(^^;)  HyperCard スタックなら、へたしたらスクリプト書く必要すらないかも。

     もっといえば、Oracle Madia Object や SuperCard(またバージョンあがりました)って選択もありますし。

     絵日記を書くんでなく、絵日記プログラムをつくるのであれば、プログラム言語も選択にはいってきますけどね。

     われら日曜プログラマは、目的のために道具をえらぶのだっ

    Subject: [fb-ml 473] MacTCP Programming!
    At 9:00 PM 97.5.12, TABATA Yasuhiro wrote:
     目標としてはメイラーを書けないかと思っていますが、FBのマニュアルにMacTCP関連のことが全く載っていないので早速挫折しかけています。

     ベン/矢野 勉 です。

     TCPアプリケーションを組むには、TCP自体はもちろんですが、むしろ相手のサーバーとの情報交換ルールのほうが重要かも。メーラーなら、POPサーバーの仕組みについての知識が特に要求されます。

     接続は FreePPP やら Open Transport/PPP やらがやってくれることなんで、あとは情報送って、受け取るだけなんですけどね、このときおくる命令の形式が「POP3」と呼ばれるやつで、この知識がないと、サーバーに「メールくれ」ということすらできない。つまりは、必要なのはマックの知識というより、サーバとの情報交換の知識なわけです。メーラーは POP サーバーから受け取って、SMTPサーバーで送るわけですので、これらのサーバの知識が必要です。やっかいでしょ(^^;)

     INTERNET サーバのことが FB マニュアルに載ってないのも当然です。これは Macの ToolBox の問題ではなく、「通信方式」の問題ですので。これは「FB マニュアルに B PLUS プロトコルでのダウンロードの仕方がのってないっ」というようなもんです(^^;) Inside Macintosh にも載ってませんよ(^^;)

     ちなみに Macintosh で TCP アプリケーションを作成する場合については、Appleが TCP 関連の開発キットを出しているので、おそらくそれを買うのが近道なんでしょうが、

    STAZ SOFTWARE <http://www.stazsoftware.com> か、
    Unofficial FutureBASIC Homapage <http://www.ids.net/‾paumic/FutureBasic/>

    のどちらかに、FB で TCP アプリケーションを作るためのサンプルがあったと思います。すくなくともこれで情報を送って受け取るくらいは出来るんだろうと踏んでますが、確認はしてません。参考までに。

    #しかしみんな、グラフィックスとか通信とか、難しい領域に(^^;)

    Subject: [fb-ml 474] XCMD
    At 1:49 AM 97.5.13, KaZuhiro FuRuhata wrote:
    >PB520は,会社で使っており,HyperCardで自作したスケジュール管理スタックを使っています。が,スピードに難があるため,FutureBaiscでXCMDを作り強化したいと考えております。
     XCMDは詳しい人がいましたよ。
     ベンさんも詳しかったよ〜な気が・・・

     ベン/矢野 勉 です。

     そりは誤解だ(^^;) いちおー HyperCard もけっこういじり倒したクチなんで、XCMD についても仕組みについて、プラグラミングについての_知識だけ_はありますが、実際に一度も組んだことがありません。NIFTY のホームパーティで XCMD の話題を出していた人がいましたが、その人としばらくチェーンを延ばしたので、それで誤解したのでわ(^^;) しかし、いまやあのホームパーティも(^^;)

     とりあえず HyperCard の場合、XCMD Glue Routine を使って HyperCard とやりとりするのが基本ですので、掌田さんの『応用ハイパーカード』の XCMD の項でも見ながら、FB 付属の Glue Routine つかってみるといいでしょう。ただ、最近 MODE さんから FB のアップデータが届いたと思いますが、それに含まれている 新Glue がけっこう無茶苦茶ですので、『応用ハイパーカード』の PASCAL 定義と FB の定義をじっくりと見比べながら書く必要があります。ひょっとしたら元からついている Glueを使ったほうが混乱は少ないかも(^^;) (なんにせよ見くらべる必要はありますけどね)
     なんにせよ、まずハンドルとポインタ、C文字列とパスカル文字列の違いはしっとかないとだめですね。というか、この知識なしにマックでプログラムはできん(^^;)
     特に、文字列については XCMD ではけっこう重要です。そのへんは古旗さんのページで勉強しましょうね(笑)>みなさん

    Subject: Oh!
    古籏一浩です。

    さっきFB-MLの人数(私も含む)を調べたら48人になってました。
    簡単に大所帯(?)になってしまいました(^^;

    1日に2人くらいずつ増えていく計算かな。
    でも、さすがに3桁にはなりそうもないですね。

    Subject: [fb-ml 475] PALETTE
    At 4:52 AM 97.5.13, tnk wrote:
    DIM A&
    A& = FN GETNEWPALETTE(128)
    CALL SETPALETTE(Mscr&,A&,true) ※Mscr&にはウインドウのグラフポートがはいっています。

    と、書いて実行してみたのですがちゃんと表示されません。
    書く場所が悪いのかと思い色々な場所に書いてみましたが駄目でした。
     ベン/矢野 勉 です。

     パレットのことは全然知らないんですが(ううむ、C MAGAZINE の連載をちゃんと読んでおけばよかった(^^;))、

    CALL SETPALETTE(Mscr&,A&,true)
     この true が実は _true(アンダースコアがつかないと定数にならない) の間違いだとかいう凡ミス...じゃないですよね(^^;)

    Subject: [fb-ml 477] Re: つながった
    伊藤です。

    At 1:03 PM 97.5.13, KaZuhiro FuRuhata wrote:
    古籏一浩です。

    At 5:14 97.5.13 +0900, 伊藤とものり wrote:
    >他の皆さんは後者だと思いますが、僕は前者のドラドロです。しかもフォルダーやディスクの(く、くどい……そろそろ怒られる?(^_^;))ではでは。
     予想ではフォルダはdirIO番号が返ると思います。となると、もう1つ講座を設けて解説した後でないと駄目なんです〜  順番としては
     といった具合にしないと駄目なんです。
     ゲームとかもやりたいし初心者向けのも増やしたいしf(^^;

    待ってますぅ〜(^o^)

    Subject: [fb-ml 478] Re:みなさんお久しぶりです(TNKです)
    古籏さん、ベンさんレスありがとうございます。

    その後、他の方法も試してみましたがやはり駄目でした。
    (QuickDrawカラーテーブル操作)

    う〜ん、困った。
    インサイドマックがあれば解決するのでしょうか?

    FBハンドブックのツールボックスの頁のPalette Managerの所に書いてあるパラメタで取得のしかたの分からないやつが沢山あるんですけど、どうすればよいのでしょう?
    %のついているやつほとんどなんですけど・・・

    わかる方いたら教えて下さい。

    Subject: [fb-ml 479] Re: MacTCP Programming!
     たばたです。コメントありがとうございます。

    At 0:35 AM 97.5.14, Tsutomu YANO wrote:
     接続は FreePPP やら Open Transport/PPP やらがやってくれることなんで、あとは情報送って、受け取るだけなんですけどね、このときおくる命令の形式が「POP3」と呼ばれるやつで、この知識がないと、サーバーに「メールくれ」ということすらできない。つまりは、必要なのはマックの知識というより、サーバとの情報交換の知識なわけです。メーラーは POP サーバーから受け取って、SMTPサーバーで送るわけですので、これらのサーバの知識が必要です。やっかいでしょ(^^;)
     これはサーバーに telnet smtp やtelnet pop3 でつなげて HELO,SEND <>とかやりとりすることですよね? これについては時々手動でsmtp severと会話して怪しいメイルを書いたりしてますので (^^; 存じております。

     INTERNET サーバのことが FB マニュアルに載ってないのも当然です。これは Macの ToolBox の問題ではなく、「通信方式」の問題ですので。これは「FB マニュアルに B PLUS プロトコルでのダウンロードの仕方がのってないっ」というようなもんです(^^;) Inside Macintosh にも載ってませんよ(^^;)
     いえいえ 知りたいのは
    という行為の具体的な関数の使い方です。これだけできれば telnet smtp pop3FTP NNTP HTTP etc, はどれもできると思うのですが、、、Inside Macintoshを立ち読みしてもAppleTalkに関することばかりでTCP/IPについてはほとんど触れられてないように思いました。

     ちなみに Macintosh で TCP アプリケーションを作成する場合については、Appleが TCP 関連の開発キットを出しているので、おそらくそれを買うのが近道なんでしょうが、
     それって、、勿論 MPW Pascal or C 用なんですよね。。

    STAZ SOFTWARE か、Unofficial FutureBASIC Homapage <http://www.ids.net/‾paumic/FutureBasic/>のどちらかに、FB で TCP アプリケーションを作るためのサンプルがあったと思います。すくなくともこれで情報を送って受け取るくらいは出来るんだろうと踏んでますが、確認はしてません。参考までに。
     ありがとうござます。探してみます。
     所で Inside Basic CD-ROM なんかにはMacTCPの sampleはありませんでしょうか? 買おうかどうしようか迷っています。(Card No.を生で送るのもねぇ。。。)

    #しかしみんな、グラフィックスとか通信とか、難しい領域に(^^;)
     高レベルの関数がちゃんと定義されていればそれほど難しくないかと思ったのですが、甘いですかねぇ。。

    Subject: [fb-ml 480] Re:みなさんお久しぶりです(TNKです)
    古籏一浩です。

    At 3:40 97.5.14 +0900, tnk wrote:
    う〜ん、困った。
    インサイドマックがあれば解決するのでしょうか?

     インサイドマックにはしっかり書いてありますから解決できるでしょう。
     アップルのサイトにWeb版インサイドマックがあってアクセスできますよ。

    Subject: [fb-ml 481] Re: MacTCP Programming!
    古籏一浩です。

    At 15:44 97.5.14 +0900, TABATA Yasuhiro wrote: という行為の具体的な関数の使い方です。これだけできれば telnet smtp pop3 FTP NNTP HTTP etc, はどれもできると思うのですが、、、Inside Macintoshを立ち読みしてもAppleTalkに関することばかりでTCP/IPについてはほとんど触れられてないように思いました。
     MZ-2500でsmtpできるのだから、できないはずはないです。
     本当はこういう事ができる関数を作っていて皆で使い回しできる所がFBのいい所なんですが。そういえばPGには入っていないんでしょうか?

    > #しかしみんな、グラフィックスとか通信とか、難しい領域に(^^;)

     高レベルの関数がちゃんと定義されていればそれほど難しくないかと思ったのですが、甘いですかねぇ。。

     逆にFBじゃなくて高度なことが簡単にできるBASICが欲しいですよね。
     Future BASICでBASICを作る・・・以前の話題になってしまう(笑)

    Subject: [fb-ml 482] Re: つながった
    古籏一浩です。

    At 5:45 97.5.14 +0900, 伊藤とものり wrote:
    >  ゲームとかもやりたいし初心者向けのも増やしたいしf(^^;

    待ってますぅ〜(^o^)
     また期待に反して初心者向け講座8ですf(^^;;;
     今度はもっともシンプルな数あてゲームです。
     昔のパソコン(マイコン)はグラフィックもいまいちかできなかったのでこういうテキストを使って面白いゲームを作っていた人がほとんどでした。
     スタートレックは、その最たるもの(?)かもしれません。

     次はUFOゲームか(?)
     ああ、どんどんドラッグ&ドロップから遠ざかる(笑)

    Subject: [fb-ml 483] Re: XCMD
    古籏一浩です。

    At 0:35 97.5.14 +0900, Tsutomu YANO wrote:
    を出していた人がいましたが、その人としばらくチェーンを延ばしたので、それで誤解したのでわ(^^;) しかし、いまやあのホームパーティも(^^;)
     どのみち5月いっぱいでNiftyServeからホームパーティというものが抹殺されてしまうので、ちょうどよかった(?)のかも。
     それにしても、いきなりホームパーティサービスを辞める事はないのに。

     特に、文字列については XCMD ではけっこう重要です。そのへんは古旗さんのページで勉強しましょうね(笑)>みなさん
     私のページには文字列についての講座ってなかったよ〜な。
     作るべきものは、あれどなかなか進まないですね。

     という事で、ベンさんにおまかせ、後はよろしく(^^;
     (PGのページは、まだ?)

    Subject: [fb-ml 484] Re: 初めまして m(__)m
    At 5:10 AM 97.5.13 +0900, 伊藤とものり wrote:
    僕もメインは音楽です。(^o^)でも最近は3Dやってますけど……
    来週月曜(26日)から金曜まで(16:50〜16:55)教育テレビ「和菓子・その伝統と美」(^_^;)という番組で音楽やりましたので暇だったら見て下さ〜い。

    すごい。プロのミュージシャンなんですね。
    僕も音楽は好きでMicro LOGICでこつこつやってます。
    もともとコンピューターをいじりだしたのも音楽がやりたくて始めたので、FBの音楽ネタには興味があります。
    古旗さんにがんばっていただきましょう(こればっかり(笑))

    Subject: [fb-ml 485] Re: 上級編4を追加しました
    須澤です

    At 3:35 AM 97.5.13 +0900, KaZuhiro FuRuhata wrote:
    上級編4を追加しました。
    今回はほとんどの人が興味のないテーマかもしれません。
    DTPをやっている人は別ですが・・・

    はい、私やってます。
    本業なもので。早速拝見させていただきます。

    Subject: [fb-ml 486] RE:絵日記
    <ベン/矢野 勉さん>
    >後者なら、ぼくは HyperCard つかえばいいような気もしますが...もう試されましたか?
     ■いやいや、一つはFBの使い方を勉強するための練習台ということで、私でも完成が期待できるものとして選びました>絵日記

     「HyperCard」も悪くはないと思ったのですが、単純なことをしたいのにあまりに反応が遅いので敬遠してます。

     以前、HyperCardの日記ソフト(絵は使えなかった)や家計簿をシェアウェアフィーを払って使ってたのですが、日記ソフトは家内が今でも「遅い」と不平を言いながら使ってますが、家計簿は途中でデータというバグに見舞われ、市販ソフトを買いました。

     とりあえず、当面は日付で管理できる、テキストとピクトをリンクさせたデータベースソフトの作成、ということです。

    Subject: [fb-ml 487] 絵日記のフィールド
    <古籏一浩さん>

    ★古籏さんのFB講座、参考になります。まだ初めのほうしか見ていませんが、頑張って読みます(^_^)。
    > 絵日記ソフトというと描画させる部分も含まれるのですか?
     ■はい。一つのウィンドウに、テキストのフィールドとPICTのフィールドを作って、テキストの方はうまくいったのですが、PICTウィンドウの方がイマイチうまく行きません(^_^;)。
     そこで、「カーソルがPICTフィールドに入った」という情報を何が得たいのですが、PGではなにかいいグローバル関数みたいなものはありませんか?やっぱ、座標で指定するしかないのかなぁ・・。

     すいません、どなたかご指導下さいm(__)m。

    Subject: [fb-ml 488] 音楽ですか (^_^)
    <伊藤とものりさん>

    >来週月曜(26日)から金曜まで(16:50〜16:55)教育テレビ「和菓子・その伝統と美」(^_^;)という番組で音楽やりましたので暇だったら見て下さ〜い。
     ■をを、それはすごいですねぇ。私など、メジャー・デビューなんてしたことありません。一度、マックの雑誌のCD-ROMに載ったことくらいです。
     よろしくお願いしますm(__)m。
     
    Subject: [fb-ml 489] イラストレータ
    須澤です

    ところでPHOTOSHOPのプラグインはFBにサンプルが少しありますが、イラストレータのプラグインって作るのは難しいのでしょうか
    詳しい方いませんか?

    Subject: [fb-ml 490] Re: How do you do?
    須澤です

    At 1:48 AM 97.5.13 +0900, KaZuhiro FuRuhata wrote:
    > 目標としてはメイラーを書けないかと思っていますが、FBのマニュアルにMacTCP関連のことが全く載っていないので早速挫折しかけています。
     メールソフトは面倒です、はい。
     MacTCP/OpenTransportは標準では入っていないはずなのでPASCALコンバーターか何かで組み込むか自前でマシン語を書いてトラップするしかないでしょう。
     資料も少ないし・・・
     私もTCP/IP関係とかネットワーク関係とかやってみたいんだけど不得意なんで誰かにおまかせf(^^;

     誰か詳しい方にバトンタッチです〜

    そうだ(株)モードさんにやっていただきましょう(笑)
    みんなで頼めばやってくれるかも・・・
    STAZ社はまだFBの最新版を出してないのでまだモードは暇に違いない(?)

    Subject: [fb-ml 491] Re: イラストレータ
    古籏一浩です。

    At 23:41 97.5.14 +0900, HIS wrote:
    ところでPHOTOSHOPのプラグインはFBにサンプルが少しありますが、イラストレータのプラグインって作るのは難しいのでしょうか
    詳しい方いませんか?

     イラストレータ5.5だったか6.0以降(現在は7.0が最新)ではフォトショップのプラグインが、そのまま使用できます。
     同じAdobe Systemsのものですので基本的には一緒でしょう。
     フォトショップはピクセルデータとして送られてくるものがベクトルデータで送られてくるだけです。
     で、インターネット上だと、どこで入手できましたっけ?
     時間があったら翻訳しますよ。
     PostScriptは、まあまあ知っているので。
     ( でも詳しくしらない^^; ) showpage

    Subject: [fb-ml 492] Re: 上級編4を追加しました
    古籏一浩です。

    At 23:33 97.5.14 +0900, HIS wrote:
    >DTPをやっている人は別ですが・・・
    はい、私やってます。
    本業なもので。早速拝見させていただきます。
     あらら、本業でしたか。
     私はPageMaker 2.0J (この時QuarkXpressは1.0でした)からやってましたが、途中で(QXP3.0,PM5.0J)辞めました。
     というのもサークルの会報を作る必要がなくなったためです(^^;

     私は、あまり印刷には詳しくないので、ミスがあるかもしれません。
     Y版は加えない方が奇麗かもしれません。

     そういえばFuture BASICで最初に作ってシェアウェアにしたのがIllustratorのEPSファイルをコンパクトなEPSにするというものでした(^^;

    Subject: [fb-ml 493] Re: 初めまして m(__)m
    古籏一浩です。

    At 23:34 97.5.14 +0900, HIS wrote:
    もともとコンピューターをいじりだしたのも音楽がやりたくて始めたので、FBの音楽ネタには興味があります。
    古旗さんにがんばっていただきましょう(こればっかり(笑))

     音楽ネタというと結構ありそうですが、私は詳しくないので、ここは1つ伊藤さんに頑張ってもらいましょう(^^)

     サウンドリソースを使うタイプが一番楽かも。
     NeXT Stepではどうなるんだろう???
     単なる標準入出力みたいになるのかな??

    Subject: [fb-ml 494] Re: How do you do?
    古籏一浩です。

    At 23:34 97.5.14 +0900, HIS wrote:
    >そうだ(株)モードさんにやっていただきましょう(笑)
    みんなで頼めばやってくれるかも・・・
    STAZ社はまだFBの最新版を出してないのでまだモードは暇に違いない(?)
     それは、いいですね。
     FBでTCP/IPが扱えるようになるとネットワークゲームもできるし(^^)/
     メーラーがEudoraしかない(ような)状態から抜け出せるかも。
     せっかく社名変更したんだし、頑張ってもらいましょう。

     ところでFB2Jって、どれくらい売れたんでしょう(-.-?

    Subject: [fb-ml 495] Re: 絵日記のフィールド
    古籏一浩です。

    At 23:12 97.5.14 +0900, 堀 浩一郎 wrote:
     そこで、「カーソルがPICTフィールドに入った」という情報を何が得たいのですが、PGではなにかいいグローバル関数みたいなものはありませんか?やっぱ、座標で指定するしかないのかなぁ・・。
     参考になるかどうかわかりませんが、ちょうどベーマガでこんなような事をやってますよ。
     立ち読みしてみてはいかが?
     連載なので今月号だけでは、つらいかもしれませんが。

    Subject: [fb-ml 496] HP in NIFTY
     ベン/矢野 勉 です。

    At 10:49 PM 97.5.14, KaZuhiro FuRuhata wrote:
     どのみち5月いっぱいでNiftyServeからホームパーティというものが抹殺されてしまうので、ちょうどよかった(?)のかも。
     それにしても、いきなりホームパーティサービスを辞める事はないのに。

     ええ? ホームパーティというサービス自体がなくなるんですか? それは知らんかった。いったい何故なんでしょう? PATIOもなくなるのかなあ。

    > 特に、文字列については XCMD ではけっこう重要です。そのへんは古旗さんのページで勉強しましょうね(笑)>みなさん
     私のページには文字列についての講座ってなかったよ〜な。
     作るべきものは、あれどなかなか進まないですね。

     という事で、ベンさんにおまかせ、後はよろしく(^^;
     (PGのページは、まだ?)

     あはははは〜 課題が増えてしまった(^^;) PGのページはまず簡単な (TeachTextな) テキストエディタを作って、それで「アクション・フロー」やら自動メニューの扱いやらになれてもらおうかと思います。まだ準備中(^^;) (ほかのページばっかできていくんだよなあ)

     で、みなさんに質問ですが、サンプルになりそうな簡単なもの、という制限つきですが、どういったプログラムに興味がありますか? 心引かれるのものがあれば、実際に作成してページに載せたいのです。でも、ゲームは勘弁してください(^^;) 苦手なんですわ。ゲーム得意な人もいることですし (ねえ、古旗さん)   主にユーティリティー的な、ちゃんとマックなインターフェイスをもったもののほうが作りやすいんで(^^;)

     まあ、気軽に「こんなのどお?」というところを聞かせてください。

    Subject: [fb-ml 497] Re: 絵日記のフィールド
     ベン/矢野 勉 です。

    At 11:12 PM 97.5.14, 堀 浩一郎 wrote:
     ■はい。一つのウィンドウに、テキストのフィールドとPICTのフィールドを作って、テキストの方はうまくいったのですが、PICTウィンドウの方がイマイチうまく行きません(^_^;)。
         そこで、「カーソルがPICTフィールドに入った」という情報を何が得たいのですが、PGではなにかいいグローバル関数みたいなものはありませんか?やっぱ、座標で指定するしかないのかなぁ・・。
     すいません、どなたかご指導下さいm(__)m。

     これは簡単です(^^)
     PG はフィールドやボタンの上にきたときには自動的にカーソルを変更しますが、このとき、RUNTIME.GLBL 内で定義されている _pictCursor, _buttonCursor という定数を使っています。自分の RSRC ファイルに鉛筆カーソルのリソースを作ったら、そのID番号を (RUNTIME.GLBL を変更して) _pictCursor にセットしてやります。
    これであとはPGがよきにはからってくれるでしょう。

     ただし、PICTフィールドには必ず STATIC 属性を指定してください。FIELD ATTRIBUTE... で変更可能です。PICTフィールドは実はその正体は TEXTフィールドと同じものなんで、EDITABLE にしていると Iビーム・カーソルになってしまうようです。

     PGマニュアルの P158 の _oCursor アクションの解説もご覧ください。

    Subject: [fb-ml 498] Re: つながった
    伊藤です。

    At 10:46 PM 97.5.14, KaZuhiro FuRuhata wrote:
    古籏一浩です。

    At 5:45 97.5.14 +0900, 伊藤とものり wrote:
    >>  ゲームとかもやりたいし初心者向けのも増やしたいしf(^^;
    >
    >待ってますぅ〜(^o^)
     また期待に反して初心者向け講座8ですf(^^;;;
     今度はもっともシンプルな数あてゲームです。
     昔のパソコン(マイコン)はグラフィックもいまいちかできなかったので  こういうテキストを使って面白いゲームを作っていた人がほとんどでした。
     スタートレックは、その最たるもの(?)かもしれません。

     次はUFOゲームか(?)
     ああ、どんどんドラッグ&ドロップから遠ざかる(笑)

    ひーん(ToT)

    Subject: [fb-ml 499] Re: 初めましてm(__)m
    伊藤です。

    At 1:29 AM 97.5.15, KaZuhiro FuRuhata wrote:
    古籏一浩です。

    At 23:34 97.5.14 +0900, HIS wrote:
    >もともとコンピューターをいじりだしたのも音楽がやりたくて始めたので、FBの音楽ネタには興味があります。
    >古旗さんにがんばっていただきましょう(こればっかり(笑))
     音楽ネタというと結構ありそうですが、私は詳しくないので、ここは1つ伊藤さんに頑張ってもらいましょう(^^)

    またまた(^_^;)

    Subject: [fb-ml 500] Re: HP in NIFTY
    伊藤です。

     で、みなさんに質問ですが、サンプルになりそうな簡単なもの、という制限つきですが、どういったプログラムに興味がありますか? 心引かれるのものがあれば、実際に作成してページに載せたいのです。でも、ゲームは勘弁してください(^^;) 苦手なんですわ。ゲーム得意な人もいることですし (ねえ、古旗さん)   主にユーティリティー的な、ちゃんとマックなインターフェイスをもったもののほうが作りやすいんで(^^;)

     まあ、気軽に「こんなのどお?」というところを聞かせてください。

    僕はドラドロで(く、くどすぎる(^_^;))何か複数の書類を一括処理するようなものだったら何でも良いです。!!(^o^)

    Subject: [fb-ml 501] Re: 初めまして m(__)m
    伊藤です。

    >僕もメインは音楽です。(^o^)でも最近は3Dやってますけど……来週月曜(26日)から金曜まで(16:50〜16:55)教育テレビ「和菓子・その伝統と美」(^_^;)という番組で音楽やりましたので暇だったら見て下さ〜い。

    すごい。プロのミュージシャンなんですね。

    でも食えません。(ToT)だから夜中はCD-ROMの制作会社でCGやってます。(悲しいかな殆どこっちがメインです、ハイ。)

    僕も音楽は好きでMicro LOGICでこつこつやってます。
    僕もLOGICです(^o^)

    もともとコンピューターをいじりだしたのも音楽がやりたくて始めたので、FBの音楽ネタには興味があります。
    macになる前までは自作(basic(これが結構使えるンですよ(^^))のシーケンサーでした。(^_^;)方式(?)はMMLでした。ひたすら記号入力でした。(オクターブ4の4分音符のドはO4C4。4分休符はR4と言った具合です)macでlogicを使いだしてもMMLが忘れられず、一旦自作のシーケンサーで作曲して転送したりしていました。(^_^;)

    Subject: [fb-ml 502] TOOLS
    フフフ伊藤です。
    本日、注文してあったTOOLSがやっと届きました。でもまだ触っていません(ToT)
    マニュアルを読んだ限りでは良さそうでした。(曖昧だな……(^_^;))
    一人でニヤニヤしてしまった。ではでは。

    Subject: [fb-ml 503] Re: MacTCP Programming!
     たばた です。

    At 1:29 AM 97.5.15, KaZuhiro FuRuhata wrote:
    >そうだ(株)モードさんにやっていただきましょう(笑)
    >みんなで頼めばやってくれるかも・・・
    >STAZ社はまだFBの最新版を出してないのでまだモードは暇に違いない(?)
     それは、いいですね。
     FBでTCP/IPが扱えるようになるとネットワークゲームもできるし(^^)/
     メーラーがEudoraしかない(ような)状態から抜け出せるかも。


     そうなると非常に嬉しいです。(^^

     Macintosh Developers' Journal <http://www.gihyo.co.jp/MDJ/MDJ.htm>のHomePageで、MacTCPの使い方の過去の記事を見つけて読んでいるのですがかなりシステム寄りのレベルまで自分でなんとかしなければいけないようで愕然としています。
    system folderを検索して type = 'cdev' creater = 'mtcp' のファイル(MacTCPですね)のCODE resourceを読み込んで...てなことをやっているのですが、このprogramはOpenTransportと互換性あるんでしょうか...??
    少なくともOTのTCP/IPというControl PanelのCreaterは 'ztcp' です.....

     道は遠い。。。Eudora のソースも当然Cですし、もう少し出して CW 買う べきであったか? などと考えてしまいます。

     所でモードの方はこのmlを読んでおられるんでしょうか?

    Subject: [fb-ml 504] Re: TOOLS
    At 5:14 AM 97.5.15, 伊藤とものり wrote:
    フフフ伊藤です。
    本日、注文してあったTOOLSがやっと届きました。でもまだ触っていません(ToT)
    マニュアルを読んだ限りでは良さそうでした。(曖昧だな……(^_^;))
    一人でニヤニヤしてしまった。ではでは。

     ベン/矢野 勉

     おや、TOOLS には PG 用の Drag&Drop.FLTR がついてますから、それでデキストと画像については、ほぼ自動で D&D 対応ですよ。Macintosh Drag & Drop にアクセスする関数もついてますし。

     アプリケーション・アイコンへの D&D についても、PG だと必須アップルイベント関連は組み込まれてますから、_mOpenアクションへの対応を書いておけば問題ないですし、FB でもアップルイベントでドロップされたファイルリストを得る方法についてはマニュアルに書いてますし、完璧でわ。

     しかも、実はフォルダの認識については簡単でして、アプリの BNDLリソースに '****' を追加してなんでもドロップできるようにしてデスクトップを再構築します。
    で、APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、FSSpec情報を FN RESOLVEALIASES に書けてやると、フォルダの場合は isFolder に _TRUE が返ってきます。GETCATINFO するのが普通ですが、こっちのほうがずっと楽です。あとは SELECTで分岐してやればいいわけでして。

     VOLUME(ディスクなど)もふくめると、FN GETCATINFO を使わないといけないと思うんで、急に高度になりますけど(^^;)

     アイコンの D&D の厄介なとこは、BUILD してアプリにしてからじゃないと、テストができないとこですね。これで何度辛い目に...

     ファイルだけなら楽なんですけどね(^^;)

    Subject: [fb-ml 505] About Mail Header
     ベン/矢野 勉 です。

     なんかメールの題名の頭の番号がちゃんと付くようになりましたね。もう 400 こしていたんですねえ。

    Subject: [fb-ml 506] Re: About Mail Header
    古籏一浩です。

    At 17:56 97.5.15 +0900, Tsutomu YANO wrote:
     なんかメールの題名の頭の番号がちゃんと付くようになりましたね。もう 400 こしていたんですねえ。
     400は実際は超えてません(笑)
     適当です(^^;;
     総数では180くらいだと思いますが・・・

    Subject: [fb-ml 507] Re: HP in NIFTY
    古籏一浩です。

    At 2:54 97.5.15 +0900, Tsutomu YANO wrote:
     ええ? ホームパーティというサービス自体がなくなるんですか? それは知らんかった。いったい何故なんでしょう? PATIOもなくなるのかなあ。
     HomePartyがなくなって500/月でPATIOができるそうです。
     それならHomePartyを100/月でやってもいいのにね。

     あはははは〜 課題が増えてしまった(^^;) PGのページはまず簡単な (TeachTextな) テキストエディタを作って、それで「アクション・フロー」やら自動メニューの扱いやらになれてもらおうかと思います。まだ準備中(^^;) (ほかのページばっかできていくんだよなあ)
     他のページって、どんなページですか?

     で、みなさんに質問ですが、サンプルになりそうな簡単なもの、という制限つきですが、どういったプログラムに興味がありますか? 心引かれるのものがあれば、実際に作成してページに載せたいのです。でも、ゲームは勘弁してください(^^;) 苦手なんですわ。ゲーム得意な人もいることですし (ねえ、古旗さん)
     ゲームはpowerMac用に私が作ってゲームシステムLightStreamでやりたいなあ。LightStreamなら簡単なスクリプトでゲームができちゃいます。ゼビウスとかダライアスとか(^^;
     さすがに高速3Dポリゴンゲームは、まだできませんが...

    Subject: [fb-ml 508] Re: MacTCP Programming!
    古籏一浩です。

    At 11:55 97.5.15 +0900, TABATA Yasuhiro wrote:
     道は遠い。。。Eudora のソースも当然Cですし、もう少し出して CW 買うべきであったか? などと考えてしまいます。
     Code Warriorだと、もっと大変かも。
     バージョン変更の度にプロジェクトを作りなおしてます。
     CW10 -> CW11にしてコンパイルしたら1.2倍以上速くなりました。
     CW12も速くなっているかな〜
     話がずれてしまいそう(^^;

     所でモードの方はこのmlを読んでおられるんでしょうか?
     それは、管理人の私だけが知っている(笑)

     よかったら私のページにMLの内容を掲載したいと思うのですがどうでしょう?
     Eudoraでやっているので1ファイルになってます。
     これをページに振り分けるプログラムをFBで作成すれば簡単にページが作れますしね。

     こうなるとFBって便利でいいかも〜という人が出てくるかも。

    Subject: [fb-ml 509] Re: XCMD
    みなさん、はじめまして。
    たけうちとおると申します。
    HyperCardのXCMDを作るためにFutureBASIC IIを買いました。今だ、ナゾは多いのですががんばりますので、よろしくお願いします。

    古籏一浩さん。
    >私のページには文字列についての講座ってなかったよ〜な。
    いえいえ。toHTMLを今、参考にしながら独自の検索XFCNを作ろうとがんばっています。
    これからも参考にさせていただきますのでがんばってください。

    Subject: [fb-ml 510] Re: HP in NIFTY
    山下 渉です。

     で、みなさんに質問ですが、サンプルになりそうな簡単なもの、という制限つきですが、どういったプログラムに興味がありますか? 
     … 中略 …
    まあ、気軽に「こんなのどお?」というところを聞かせてください。

    大量のファイルを一度にフロッピーディスクへバックアップをとる際に、複数のフロッピーに分けてしまわないといけなくなることがあるのですが、

    ・フォルダをドラッグ&ドロップ。(←希望(^^;))
      ↓
    ・フォルダ内のファイルのリスト取得。と、各ファイルサイズをチェック。
      ↓
    ・バックアップに必要なフロッピーの枚数を計算。
      ↓
    ・1.4MB(2HDの場合。)を超えないファイルの組み合わせを決定。
      ↓
    ・その組み合わせ毎にフロッピーへコピーしていく。

    こういったサンプルはどうでしょ?
    (とはいえメディア大容量化時代に逆行している感は、否めないような気が...。(^^;))

    ・フォルダ内のファイルのリスト取得。 のところだけでもありがたいです。

    フォルダの情報(内包しているファイルの数やディレクトリID番号?の取得)や、ファイル情報(FBのサンプルでよく出てくる DIM pBlk.128 で定義したpBlkから、ファイルのクリエータやタイプ、その他情報を得る方法。
    ↑説明がうまくいきませんで、すみません。)

    の取得方法の解説があれば非常にありがたいと思います。

    Subject: [fb-ml 511] about drag & drop of folder
    山下 渉です。

     しかも、実はフォルダの認識については簡単でして、アプリの BNDLリソースに '****' を追加してなんでもドロップできるようにしてデスクトップを再構築します。
    で、APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、FSSpec情報を FN RESOLVEALIASES に書けてやると、フォルダの場合は isFolder に _TRUE が返ってきます。GETCATINFO するのが普通ですが、こっちのほうがずっと楽です。あとは SELECTで分岐してやればいいわけでして。

    ベンさん、できましたら、もう少しヒントを頂けないでしょうか?
    「APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、…」
    以降の所なのですが。

    みなさん-> あと、どこかにこのヒントとなるようなサンプルコード、ご存じでしたらお教え願えれば幸いです。

    フォルダのドラッグ&ドロップが使えるようになりたく...。

    Subject: [fb-ml 512] Re: 注釈にかえる
    山下 渉です。

    > FB II も、HyperCardのように、「注釈に変える」メニューがついていればと思ってます。 …

     海外の FBer が作ってます。 You can download "Commenter" at http://www.jps.net/jconkey/  これがそうです。…
    ベンさん、ご連絡どうもありがとうございます。(^o^)
    このメールを出した後にでもダウンロードしてみます。

    Subject: [fb-ml 513] RE:TOOLS の発売
    <須澤さん>
    >そうだ(株)モードさんにやっていただきましょう(笑)
     ■どういうタイミングなのか、今日、「FutureBasicII TOOL」の発売のダイレクトメールが来てました。たぶん皆さんのところにもきていると思いますが。

    1.
    AppleTalk
    2.
    Apple Event
    3.
    GIF/TIFF/JPEG等のコンバーター
    4.
    BCN→SANEコンバーター
    5.
    ネットワークシリアル番号チェッカー
    6.
    ドラッグ&ドロップ 7.プレビュー付きFILES$
    8.
    ペイントプログラム(ソースコード付き)
     といったモジュール集のようです。TCP/IP関係はなさそうですね(^_^;)。
     でも、29800円というのは高いような気がしますが、どうですか?
     買いでしょうか?

     ・・・・・

     おっと、これを書いている途中で、伊藤とものりさんのレスを見つけてしまいました(^_^)。買いですか?>伊藤さん

     ■あと、Inside Basic Comlete CO-ROMが6950円で同時販売のようですが、これも買った方が便利なものでしょうか?
     
    Subject: [fb-ml 514] Re:みなさんお久しぶりです(TNKです)
    こんばんわ、TNKです。
    インサイドマック見て(落として)きました。
    う〜、なんか良く解らないです(惜しいところまでは出来たんだけど)。

    で、しょうがないんでシステムカラーで描く事にしました。
    NAGI-P SOFTさんもそうしてるみたいだし(FBじゃないけど)。

    僕はゲームを作っているのですが、FBでゲーム作ってる人って少ないんでしょうかねぇ?
    古籏さんも作られていないんですよね?
    これを、みてるかたでゲーム作ってる(作りたい)方がいらしたら是非お声を掛けてください、現時点で一人ぽっちの様な気がして寂しいです。

    今、作ってるゲームは別に特別な事はしていませんが、ゲームに必要な最低限のものを盛り込んではいるので(スプライトとか、キー判定とか)ゲームが完成して、希望者がいればソースを公開してもいいかな〜と、思っています(ショボイですが)。
    それで、ゲーム作ってみようって人が増えたら嬉しいし。

    Subject: [fb-ml 515] Re:TOOLS の発売
    伊藤です。

    At 0:47 AM 97.5.16, 堀 浩一郎 wrote:
    <須澤さん>  おっと、これを書いている途中で、伊藤とものりさんのレスを見つけてしまいました(^_^)。買いですか?>伊藤さん
    画像viewerは数々あれど、なかなか自分に合ったのが無くて、FBではまずviewerを作りたかったんです(古籏さんにオフスクリーンも教えて頂いたし)。ですがPICTだけじゃちょっと……そんな時にTOOLZのメールが。飛びつきました(^_^;)

    Subject: [fb-ml 516] Re: about drag & drop of folder
    伊藤です。

    At 0:00 AM 97.5.16, WataruYamashita wrote:
    > しかも、実はフォルダの認識については簡単でして、アプリの BNDLリソースに '****' を追加してなんでもドロップできるようにしてデスクトップを再構築します。
    >で、APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、FSSpec情報を FN RESOLVEALIASES に書けてやると、フォルダの場合は isFolder に _TRUE が返ってきます。GETCATINFO するのが普通ですが、こっちのほうがずっと楽です。あとは SELECTで分岐してやればいいわけでして。

    ベンさん、できましたら、もう少しヒントを頂けないでしょうか?
    「APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、…」
    以降の所なのですが。

    あー、僕もお願いします(^_^;)
    ではでは。

    Subject: [fb-ml 517] Re: XCMD
    古籏一浩です。

    At 23:26 97.5.15 +0900, 竹内亨 wrote:
    >>私のページには文字列についての講座ってなかったよ〜な。
    いえいえ。toHTMLを今、参考にしながら独自の検索XFCNを作ろうとがんばっています。
    これからも参考にさせていただきますのでがんばってください。

     今週は文字列処理ばかりやってます。
     FBでも結構便利ですが、やっぱ255文字の制限が一番きついですね。
     64Kまでの文字列処理関数でも作らないとだめかな。

    Subject: [fb-ml 518] Re: HP in NIFTY
    古籏一浩です。

    At 23:56 97.5.15 +0900, WataruYamashita wrote:
    こういったサンプルはどうでしょ?
    (とはいえメディア大容量化時代に逆行している感は、否めないような気が...。(^^;))

     そういえば、CD-ROMにファイルリストのサンプルがありませんでしたっけ?
     記憶が定かではないけど・・・

    ・フォルダ内のファイルのリスト取得。のところだけでもありがたいです。
     C言語ならあります。
     こんな感じです。
    void makeFileList(long dirID,char* charName)
    {
            CInfoPBRec      pb;
            OSErr           result =  noErr;
            short           itemIndex,Len,i;
            Str31           theName;
            char            filename[257],savename[257],openfile[257];
            FILE            *fp;
    
            itemIndex = 1;                                                     
                /* start with 1st item in the directory */
            pb.hFileInfo.ioVRefNum = 0;
            pb.hFileInfo.ioNamePtr = (StringPtr)theName;
            sprintf(openfile,":%s:event.lsf",charName);
            fp = fopen(openfile,"w");      // ANSI Cを利用する(互換性のため)
            if (fp != NULL)
            {
                    do
                    {
                            pb.hFileInfo.ioDirID = dirID;
                            pb.dirInfo.ioACUser = 0;
                            pb.hFileInfo.ioFDirIndex = itemIndex;
                            result = PBGetCatInfoSync(&pb);
                            if ( result == noErr )
                            {
                                if ( (pb.hFileInfo.ioFlAttrib & ioDirMask) == 0 )
                                {
                                  ファイルだった!のでファイル処理
                                }else{
                                  フォルダだった!のでフォルダ処理
                                }
                            }
                            itemIndex++; /* get next item in directory */
                    } while ( result == noErr );
                    fclose(fp);
            }
    }
    
    FBでも、そんなに変わらないはずです。
    という事で、これもやらないといけないんですか(^^;;;

    Subject: [fb-ml 519] Re:みなさんお久しぶりです(TNKです)
    古籏一浩です。

    At 4:32 97.5.16 +0900, tnk wrote:
    で、しょうがないんでシステムカラーで描く事にしました。
    NAGI-P SOFTさんもそうしてるみたいだし(FBじゃないけど)。

     FBでゲームシステムのプロトタイプを作った時に友人から聞いたのですが忘れました。私も面倒だったのでシステムパレットにしてました。
     NAGI-PソフトってNS-TOWERとかNS-SHAFT作ってる所(人)ですよね?

    僕はゲームを作っているのですが、FBでゲーム作ってる人って少ないんでしょうかねぇ?
    古籏さんも作られていないんですよね?

     作ればいいのですね?(笑)
     最初はFBでやっていたけど、やっぱりppcNativeコードが吐けないという所で捨てました(ひゅ〜)

    今、作ってるゲームは別に特別な事はしていませんが、ゲームに必要な最低限のものを盛り込んではいるので(スプライトとか、キー判定とか)ゲームが完成して、希望者がいればソースを公開してもいいかな〜と、思っています(ショボイですが)。
    それで、ゲーム作ってみようって人が増えたら嬉しいし。

     そうですね。できあがったらソースリストを公開するといいかも。
     私は公開して解説しなきゃいけないのでf(^^;;

    Subject: [fb-ml 520] Re:TOOLS の発売
    古籏一浩です。

    At 0:47 97.5.16 +0900, 堀 浩一郎 wrote:
     ■どういうタイミングなのか、今日、「FutureBasicII TOOL」の発売のダイレクトメールが来てました。たぶん皆さんのところにもきていると思いますが。
     うちは、だいぶ前に届きました。
     エキスポの時にも配ってました。

     といったモジュール集のようです。TCP/IP関係はなさそうですね(^_^;)。
     でも、29800円というのは高いような気がしますが、どうですか?
     買いでしょうか?

     TIFF6.0仕様が読み書きできるならば欲しいです。
     GIFの読み書きだけでも欲しいんだけどGIF89aの資料はあるしf(^^;
     画像関係は私が解説すればいらないような気も(おいおい)
     TCP/IP関係が入っていてメールソフトのサンプルとかあったら買いですね。
     ここで、うだうだ文句を書けば願いがかなう・・かも。
     駄目かもしれないけどf(^^;;;;

    Subject: [fb-ml 521] MSX programmer
    古籏さん(openspc@po.cnet.or.jp) >NAGI-P SOFTさんもそうしてるみたいだし(FBじゃないけど)。
     FBでゲームシステムのプロトタイプを作った時に友人から聞いたのですが忘れました。私も面倒だったのでシステムパレットにしてました。
     NAGI-PソフトってNS-TOWERとかNS-SHAFT作ってる所(人)ですよね?

     NAGI-P soft さんは MSX-FAN とかの雑誌によく投稿されていました。
    いまでも精力的にゲームを作られているとは,感心です。

     そのほかの MSX-FAN の常連さんは,今はどうされているのでしょうねえ。

    Subject: [fb-ml 522] Re: イラストレータ
    須澤さん、こんにちは。

    イラストレーターのSDKはアドビのホームページでダウンロードできます。

    その中のチュートリアルをむちゃくちゃながら和訳しました。結局その後、C言語がわからなくて進んでいないのですが。。。。

    よろしければ私のホームページをごらんください。
    そして作り方がわかればぜひ教えてください。

    Subject: [fb-ml 523] RE:見てみます
    <古籏一浩さん>
    > 参考になるかどうかわかりませんが、ちょうどベーマガでこんなような事をやってますよ。
     ■さっそく週末にでも立ち読みしてきます。
     律儀な私は「MacFan」「MacUser」をほとんど定期購読状態なので、他の雑誌代が出ません(^_^;)。

    Subject: [fb-ml 524] Re: MSX programmer
    古籏一浩です。

    At 22:58 97.5.16 +0900, NAKANO Takayuki wrote:
    >  NAGI-PソフトってNS-TOWERとかNS-SHAFT作ってる所(人)ですよね?
     NAGI-P soft さんは MSX-FAN とかの雑誌によく投稿されていました。
    いまでも精力的にゲームを作られているとは,感心です。
     なるほど。
     確か今はMac&Win95でゲーム作ってますね。
     ホームページもあったのですが、サイトのアドレス変更か何かで行方不明になってしまいました。
     本人の写真とかもあったんだけど・・・

    Subject: [fb-ml 526] Re: NAGI-Pさんのホームページ
     話題のNAGI-Pさんのホームページは、
     http://www.hc.t.u-tokyo.ac.jp/‾nagi/nps/
     に変わったみたいです。先ほど、覗きに言ったところ、大戦略のようなシュミレーションゲーム?「LAST WAR」というゲームが発表されていました。ac.jpだから、大学に入ったのを機に、大学のサーバにホームページを移されたんでしょうね、きっと。(まさか、教職員?ではないですよね、MSX FANの時確か10代だったと記憶しているので)

    大学院に進学されたようですよ。

    Subject: [fb-ml 525] NAGI-Pさんのホームページ
     話題のNAGI-Pさんのホームページは、
     http://www.hc.t.u-tokyo.ac.jp/‾nagi/nps/

     に変わったみたいです。先ほど、覗きに言ったところ、大戦略のようなシュミレーションゲーム?「LAST WAR」というゲームが発表されていました。ac.jpだから、大学に入ったのを機に、大学のサーバにホームページを移されたんでしょうね、きっと。(まさか、教職員?ではないですよね、MSX FANの時確か10代だったと記憶しているので)

     ユーザーのためのフリーボードもありましたよー。

    Subject: [fb-ml 527] Re: イラストレータ
    須澤です

    At 11:09 PM 97.5.16 +0900, 竹内亨 wrote:
    イラストレーターのSDKはアドビのホームページでダウンロードできます。
    その中のチュートリアルをむちゃくちゃながら和訳しました。結局その後、C言語がわからなくて進んでいないのですが。。。。
    よろしければ私のホームページをごらんください。
    そして作り方がわかればぜひ教えてください。

    ありがとうございます。
    参考にさせていただきます。

    Subject: [fb-ml 528] ファイル分割
    At 11:56 PM 97.5.15, WataruYamashita wrote:
    大量のファイルを一度にフロッピーディスクへバックアップをとる際に、複数のフロッピーに分けてしまわないといけなくなることがあるのですが、
     D&Dには対応してないですが、古旗さんのページにファイルの分割/結合のサンプルがありましたよね?

    (前略)
    こういったサンプルはどうでしょ? (とはいえメディア大容量化時代に逆行している感は、否めないような気が...。(^^;))
     というか、ユーザーインターフェイスがほとんどいらないので、PGの利点の半分が使えないという...(^^;)  しかしどうもアイコンの D&D は要望が多いので、そのうちやろうかな。

    ・フォルダ内のファイルのリスト取得。 のところだけでもありがたいです。
     Working Directory ID (FB でいう vRefnum%) さえ分かっていれば、ちゃんとサンプルが FB についてます(^^;)

    (FB)Examples:handBook:Disk I/O:SearchFolder と
    (FB)Examples:handbook:FOLDER Examples:ProcessAllFolderItems.BAS

     です。前者の方を応用すれば、ファイルリストが取れるでしょう。また、PG の Runtime.INCL にもファイルリストを作る関数があるので (これは STR#リソースとしてつくっちゃいますが) 関数だけとってきて使うって手もあります。

    どれも内部で低レベルファイルマネージャを使ってるのでやっかいですが、やっていることは、フォルダ内のファイルは1から順に番号がついているので、ループで「そんなファイルはねえ!」といわれるまで1から順にグルグルまわしているだけです(^^;) 回りながら、ファイル名だけどんどん取っていけば、ループが終わったときにはリストが出来ているわけ。最初のサンプルでいえば、FN GETFILEINFO を使っているところに自分の関数を入れます。

    >フォルダの情報(内包しているファイルの数やディレクトリID番号?の取得)や、ファイル情報(FBのサンプルでよく出てくる DIM pBlk.128 で定義したpBlkから、ファイルのクリエータやタイプ、その他情報を得る方法。↑説明がうまくいきませんで、すみません。)の取得方法の解説があれば非常にありがたいと思います。
     これはですね、じつは NIFTY FMACPRO LIB(6) に置いてある拙作 FileVision でやってます(^^;)  FBソースコード付きです。このプログラム、ファイル情報を表示するもんなんで、GETFILEINFO を使い捲ってます(^^;)

     PG をつかっているのと、バージョン 0.9B なのと、あいにくファイルだけなのと、いまから見るとソースコードが無茶なのを除けば(^^;)サンプルにはなるでしょう。

     あ、VECTER の Pack のホームページ、および Pack for Mac って本にも入ってます。
     この FileVision をつかって解説しましょうかねえ?

    Subject: [fb-ml 529] DROPPING A FOLDER
    At 0:00 AM 97.5.16, WataruYamashita wrote:
    ベンさん、できましたら、もう少しヒントを頂けないでしょうか? 「APPLEEVENTからファイル情報 (FSSpec) を受け取ったら、…」以降の所なのですが。
     あー、実はこれを読んでから、こちらでサンプルを作っているんですが、うまくいかないんですわ(^^;) 一応解説しますと、

     FSSpec というのは、System 7 から使われているファイル情報レコードの名前でして、FB をひとつ前の、旧式のファイルシステムを使っています。FileName と volume Reference Number (正確には Working Directory ID といいます) の二つでファイルを特定していたわけです。

     で、System 7 では、アイコンをアプリにドロップすると、Open Document というアップルイベントが発生するんですが、まずそこは理解されているでしょうか? HANDBOOK のP161から、AppleEvents の解説があります。特に P164 の Reading document list が重要です。たくさんのファイルをドロップすると、それはリストの形式でアプリケーションに届きます。これが document list です。ここから Apple Events用のルーチンでデータをひとつずつ取り出します。このとき取り出したものが、FSSpec というファイル情報レコードです。System 7 ではファイルはすべて FSSpec であつかいます。

     で、これを、本来はエイリアスの元ファイルを探すために使われる ResolveAliasFile という ToolBox で処理すると、関数が「その FSSpec はフォルダかどうか」という情報を返してくれるわけです。あとは、FSSpec を旧ファイルシステムの形式に戻して、それを FB で処理してやればいいわけです。

     しかしなぜかこれがうまくいかないんだよなあ。なぜか BUSS ERROR がおきる。ので、今はちょっとお勧めしません。ResolveAliasFile は FB のサポート外なので、Pascal Converter のお世話になったんですが、またこのコンバータが悪さしているのかなあ。

     で、もう一つオーソドックスな方法があり、これは旧ファイルシステムでも問題ないはずなんですが、これもうまくいかない(^^;) ファイルの情報は取ってきてくれるのに、肝腎の「フォルダかどうか」という情報が取り出せない(^^;)

     この方法は低レベルのファイルマネージャ(ParamBlock を使うやつです) を使うのでちょっとやっかいなんで勧めなかったんですが、一度 LOCAL FN として定義してやれば誰でも使えるので、ちょっと試みていたんですが、どうもうまくいかない...
    CLEAR LOCAL FN CheckIsFolder(fileName$, vRefNum%, @isFolder&)
      '-----------------------------------------
     '"指定したファイルがフォルダかどうかを返す
      '-----------------------------------------
      DIM paramBlk.128, err, attrib, tmp
    
      paramBlk.ioCompetition& = _nil
      paramBlk.ioNamePtr& = @fileName$
      paramBlk.ioVRefNum% = vRefNum%
      paramBlk.ioDirID& = 0
      FN GETCATINFO(@paramBlk)
      LONG IF err = _noErr
        attrib;1 = @paramBlk + _ioFlAttrib
        tmp = attrib AND _ioDirFlg&    '_ioDirFlg is 4
        POKE WORD isFolder&, tmp
      END IF
    END FN = err
    
     こういう関数なんですけど、どっかおかしいかなあ? しかし、こういうのがあればちょっとは便利でしょ?>みなさん

     しかしおもうに、質問者のみなさん、アップルイベントの扱いはできているんでしょうか? たとえば、「10個くらいまとめてドロップされたファイルを、おのおの処理する」とかですが。これができないと、フォルダのドロップはむずかしいですよ。(ファイルのドロップを拡張していくことになるので)   フォルダのなかにフォルダがあった場合とか、フォルダの扱いはややこしいんですよ。

    #それに、フォルダのドロップって大半は「ファイルの複数ドロップ」で代替できませんか? 手抜きですけど(^^;)

    PG だと Open Document アップルイベントはシェルに内蔵なので、オープンダイアログと同じ感覚で扱えます。アップルイベントを自力で書く必要がありません。PGつかっている人は、別に必須アップルイベントのことなんか気にしなくてもいいです(^^) ほとんどオートで FileName と volume Reference Number が得られます。だから、あとは上記の関数でフォルダかどうか確認し、フォルダだったら...という処理にいけるわけですが...肝心の関数が動かんっ

     ちなみにフォルダをドロップする場合の BNDL リソースの File Type を、以前 '****' と書きましたが、'fold' の間違いでした。ボリュームは 'disk' のようですね。変更後にデスクトップの再構築が必要なようですが、とりあえずこれで、ファインダ上でドロップを行うことだけはできます。問題はプログラムなんだよなあ。

     ひきつづき研究を続けたいと思います...だれか何がおかしいか分かったら教えてください(^^;)

    Subject: [fb-ml 530] Re: HP in NIFTY
    山下 渉です。

    >こういったサンプルはどうでしょ?
    >(とはいえメディア大容量化時代に逆行している感は、否めないような気が...。(^^;))
     そういえば、CD-ROMにファイルリストのサンプルがありませんでしたっけ?  記憶が定かではないけど・・・

    古籏さん、フォルダ内のファイルのリスト取得サンプル、ありました。

    Handbook:FOLDER exsample:ProcessAllFolderItems.bas でした。

    古籏さんのホームページの「CD-ROMサンプルプログラム一覧」からすばやく見つけることができました。これ(「CD-ROMサンプルプログラム一覧」)は重宝します。(^o^)
     ↑だったら、ちゃっちゃと自分で見つけて研究しろ〜。 と、メールを出してから自己反省してます...。

    >・フォルダ内のファイルのリスト取得。 のところだけでもありがたいです。
     C言語ならあります。
     こんな感じです。

     … 中略 …

    FBでも、そんなに変わらないはずです。

    FBでプログラミングを始めてから、Cの参考書に書いてあることが少しずつ分かるようになってきました。
    本片手にFBで自作関数を作ってみます。

    という事で、これもやらないといけないんですか(^^;;;
    いや、あの〜。出来なかったら...。 またお教えください。(^^;)

    Subject: [fb-ml 531] Re:見てみます
    古籏一浩です。

    At 0:38 97.5.17 +0900, 堀 浩一郎 wrote:
     律儀な私は「MacFan」「MacUser」をほとんど定期購読状態なので、他の雑誌代が出ません(^_^;)。
     私は定期購読する本はありません。
     昔はOh!mz,Oh!Xは必ず購入してました。
     グラフィック関係はOh!FM,oh! FMTWONSでした。
     今となっても結局、これら昔の本のお世話になってしまいます。

     今のほとんどの雑誌は無用の長物(^^;
     「後になっても使える」雑誌は、本当に少ないですね。

    Subject: [fb-ml 532] Re: HP in NIFTY
    古籏一浩です。

    At 0:04 97.5.18 +0900, Tsutomu YANO wrote:
    > とる際に、複数のフロッピーに分けてしまわないといけなくなることがあるのですが、

     D&Dには対応してないですが、古旗さんのページにファイルの分割/結合のサンプルがありましたよね?

     ええ、ありました。昔は(笑)  FDのおまけの例のFB本の原稿に記述してあります。
     あそこらへんのは現在ホームページに掲載しているものと、ほとんどかち合わないのでホームページ上にアップロードしてしまいましょうか。

    Subject: [fb-ml 533] Re: ファイル分割
    山下 渉です。

    ベンさん、ご連絡ありがとうございます。

    > 大量のファイルを一度にフロッピーディスクへバックアップをとる際に、複数のフロッピーに分けてしまわないといけなくなることがあるのですが、

     D&Dには対応してないですが、古旗さんのページにファイルの分割/結合のサンプルがありましたよね?

    fbook.txt に記載されておられた分ですよね。
    私の思ってたのは、もっと簡単なことなのかもしれないのですが、フロッピーに入る容量のファイルを対象に、できるだけフロッピーのMAXサイズに近くなるようにファイルの組み合わせを決めるという...。
    (フロッピー容量以上のファイルはメッセージを表示してパス(^^;)。)

    > ・フォルダ内のファイルのリスト取得。 のところだけでもありがたいです。
     Working Directory ID (FB でいう vRefnum%) さえ分かっていれば、ちゃんとサンプルが FB についてます(^^;)
    (FB)Examples:handBook:Disk I/O:SearchFolder と (FB)Examples:handbook:FOLDER Examples:ProcessAllFolderItems.BAS


    ProcessAllFolderItems.BASについては、前に古籏さんからご連絡いただいた時点で見つけられたのですが、SearchFolderも参考になりそうです。

    そして、前回メールにひきつづき自己反省モードに...。

     (前略)  これはですね、じつは NIFTY FMACPRO LIB(6) に置いてある拙作 FileVision でやってます(^^;)  FBソースコード付きです。このプログラム、ファイル情報を表示するもんなんで、GETFILEINFO を使い捲ってます(^^;)
    ああ、これは是非ともFileVision、参考にさせていただきます。

    ご連絡いただいたFBソースコードから、自分なりにFN GETFILEINFO()やGET FILE INFO で得られる情報とそれら関数の使い方を調べてみます。

    そして、
     この FileVision をつかって解説しましょうかねえ?
    できればお願いします。

    Subject: [fb-ml 534] Re: DROPPING A FOLDER
    山下 渉です。

    ベンさん、詳細な解説、ありがとうございます。

     あー、実はこれを読んでから、こちらでサンプルを作っているんですが、うまくいかないんですわ(^^;) 一応解説しますと、

     … 中略 …

     こういう関数なんですけど、どっかおかしいかなあ? しかし、こういうのがあればちょっとは便利でしょ?>みなさん

     しかしおもうに、質問者のみなさん、アップルイベントの扱いはできているんでしょうか? たとえば、「10個くらいまとめてドロップされたファイルを、おのおの処理する」とかですが。これができないと、フォルダのドロップはむずかしいですよ。(ファイルのドロップを拡張していくことになるので)   フォルダのなかにフォルダがあった場合とか、フォルダの扱いはややこしいんですよ。
    #それに、フォルダのドロップって大半は「ファイルの複数ドロップ」で代替できませんか? 手抜きですけど(^^;)

    ファイルの複数ドラッグ&ドロップは、冨山さんの「Macintoshの理屈」や、L.Frank Turovichさんの「Learning FB」本を参考に、プログラムが受け取れる最大のファイル数を設定し、FINDERINFO()を使ってfinderからファイルを受け取る。その後、ファイルタイプをチェックして、それぞれのファイルタイプ毎に処理をふりわけるといったことが自分なりにはできました。
    ただ、欲がでてまいりまして、フォルダのドラッグ&ドロップももうちょっと勉強すれば出来るのでは?などと思っていたのです。
    しかし、実際はとても難しそうですね。(少なくとも私にとっては(^^;))
    しばらく、サンプル漁りと、(CのMacintoshプログラム参考書を含めて)参考書をひっくり返して勉強してみます。

    Subject: [fb-ml 535] Re: ファイル分割
    古籏一浩です。

    At 11:02 97.5.18 +0900, Wataru Yamashita wrote:
    私の思ってたのは、もっと簡単なことなのかもしれないのですが、フロッピーに入る容量のファイルを対象に、できるだけフロッピーのMAXサイズに近くなるようにファイルの組み合わせを決めるという...。
    (フロッピー容量以上のファイルはメッセージを表示してパス(^^;)。)

     こっちの方が面倒じゃないですか(^^;
     だって全ファイルサイズをサーチして組み合わせを考えなければいけないですし。シーケンシャルで容量を超えるまで加算し、超えたらファイル書き出し、もしくはそのファイルをスキップする、といった所でしょう。

    Subject: [fb-ml 536] Re: MacTCP Programming!
     たばた@休日は職場でNet Surfin' (;_;)です。

     MacでのTCP/IP programmingに関してNetの中を探し回っていましたらMacintosh TCP/IP Programmer's Guide <http://www.metrowerks.com/tcpip/index.html>というページを見つけました。しかし当然のごとくBasicのsample codeはありません。(;_;)
     MacSockets というBSDのnetwork socketsを移植したもの(らしい)を見つけたのでこれを読んで勉強してみます。

    At 10:59 PM 97.5.15, KaZuhiro FuRuhata wrote:
     よかったら私のページにMLの内容を掲載したいと思うのですがどうでしょう?
     是非お願いします。過去の情報も拝見したいので。

     本日の購入文献

    Subject: [fb-ml 537] 開発状況
    こんばんわ、TNKです。
    順調に開発は進んでいます。

    実はモードさんに256色の件を質問していて返事が返ってきたのですがやはりこれでもうまくいきません、なんか非常に惜しいところまでいってる感じはするのですが。
    パッレトの作り方に問題があるんだろうか?とりあえず、もうシステムパレットで描画しちゃってるんでほとんど保留の状態ですけど。

    さて、開発の進行状況ですがプレイヤーの表示と背景のスクロール(インチキ)まできました。
    あとは、敵の表示やヒットチェック、ステージクリア等の細かい所を作り込んでいけば完成。のはずです。

    で、質問なのですが、「.incl」や「.head」を使って関数を外でまとめてしまおうと思ったのですが、どうもうまくいきません「定義されていない」とか、怒られてしまいます。「.incl」や「.head」の違いもいまいち理解出来ていないのですが、「ウインドウに数字を表示する」だけの.inclファイルでさえもうまく動いてくれません。
    メインプログラムをすっきりさせたかっただけなのに〜。
    マニュアルを読んでも理解出来ません。どうか教えてください。

    Subject: [fb-ml 538] Re: DROPPING A FOLDER
    伊藤です。

    At 11:04 AM 97.5.18, Wataru Yamashita wrote:
    山下 渉です。
    ベンさん、詳細な解説、ありがとうございます。

    > あー、実はこれを読んでから、こちらでサンプルを作っているんですが、うまくいかないんですわ(^^;) 一応解説しますと、
    >
    > … 中略 …
    >
    > こういう関数なんですけど、どっかおかしいかなあ? しかし、こういうのがあればちょっとは便利でしょ?>みなさん
    >
    > しかしおもうに、質問者のみなさん、アップルイベントの扱いはできているんでしょうか? たとえば、「10個くらいまとめてドロップされたファイルを、おのおの処理する」とかですが。これができないと、フォルダのドロップはむずかしいですよ。(ファイルのドロップを拡張していくことになるので)フォルダのなかにフォルダがあった場合とか、フォルダの扱いはややこしいんですよ。 >
    >#それに、フォルダのドロップって大半は「ファイルの複数ドロップ」で代替できませんか? 手抜きですけど(^^;)
    ファイルの複数ドラッグ&ドロップは、冨山さんの「Macintoshの理屈」や、L.Frank Turovichさんの「Learning FB」本を参考に、プログラムが受け取れる最大のファイル数を設定し、FINDERINFO()を使ってfinderからファイルを受け取る。その後、ファイルタイプをチェックして、それぞれのファイルタイプ毎に処理をふりわけるといったことが自分なりにはできました。
    ただ、欲がでてまいりまして、フォルダのドラッグ&ドロップももうちょっと勉強すれば出来るのでは?などと思っていたのです。
    しかし、実際はとても難しそうですね。(少なくとも私にとっては(^^;))
    しばらく、サンプル漁りと、(CのMacintoshプログラム参考書を含めて)参考書をひっくり返して勉強してみます。

    僕もファイルのD&Dは大丈夫なのですが、やはりフォルダーごと処理できればと……
    最初はBNDLリソースでFOLDを指定して、FINDERINFO()で読み込めばフォルダー名とdir IDが返ってくるに違いない(^_^;)と甘く考えていました。

    Subject: [fb-ml 539] Re: 開発状況
     ベン/矢野 勉 です。

    At 1:25 AM 97.5.19, tnk wrote:
    で、質問なのですが、「.incl」や「.head」を使って関数を外でまとめてしまおうと思ったのですが、どうもうまくいきません「定義されていない」とか、怒られてしまいます。「.incl」や「.head」の違いもいまいち理解出来ていないのですが、「ウインドウに数字を表示する」だけの.inclファイルでさえもうまく動いてくれません。
    メインプログラムをすっきりさせたかっただけなのに〜。
    マニュアルを読んでも理解出来ません。どうか教えてください。

     え、inclとhead は、内部的には同じものです。用途が違うものに別の拡張子をつけただけですね。

     inclファイルのテンプレートが Handbook の p27 に出てますが、ファイルの大枠はこのとおりになってますね? INCLUDE FILE _aplIncl がないと、コンパイラはインクルードファイルとして認めてすらくれませんので。

     あと、どうもグローバル変数の定義は MAINファイルと一致している必要があるみたい。そのファイルにだけ定義されているグローバル変数があってはだめで、全ファイルのグローバル定義は完全に一致している必要があるんです。そのため、普通はプロジェクト.GLBLというファイルを用意し、グローバル変数はすべてこれに記述し、全ファイルはすべて、

    GLOBALS プロジェクト.GLBL
    END GLOBALS

     で一つのグローバルファイルを共有する、という方法を取るようです。
     これだけやれば、あとは、inclを使いたいファイルの冒頭 (END GLOBALSのあと) に

    INCLUDE hogehoge.INCL

     とするだけで、hogehoge.INCL 内の関数は使用可能になるはずですが... INCLUDEしてない、なんてこたあないですよね?

    headファイルは、「グローバル関数」というやつの定義をいれておくもので、これの必要性をざっと解説しますと、

     A.INCL が B.INCL をインクルードしたとします。すると、A.INCL は B.INCL のコンパイルコードを内包することになり、サイズは A+B となり、分割した意味があんまりないんですね。A <-- B <-- C という読み込みをすると、A のサイズはなんと A+B+C になってしまいます。
     MAINファイルが INCL をインクルードする分には (SEGMENTで分割できるので) 問題ないんですが、INCL が INCL を、というときに、できればファイルサイズを小さくしたい。

     そのときに、関数一つ一つをグローバル化し、どこでもつかえるようにする方法があります。まず、公開したい関数を決め、各グローバル関数用にグローバル変数を一個ずつ用意しまして、使いたい関数のあるファイルの末尾で関数のグローバル化をします。たとえば

    gHogehoge& = @FN hogehoge(var1, var2)

    として、関数へのポインタを確保できるんです。そうしておけば、このグローバル関数を使いたいファイルの上部(END GLOBALS よりあと) に

    FN hogehoge(var1, var2) USING gHogehoge&

     というステートメントを書くことで、INCLUDE することなく外部の関数が使えるのです。これならサイズがほとんど増えません。

     しかしグローバル関数が増えると、いちいち上記のヘッダを書くのがめんどくさい。だから、全ヘッダを .headファイルに書いておいて、それを INCLUDE するだけでグローバル関数を使えるようにしてあるわけです。中味がヘッダの集まりでサイズが小さいというだけで、コンパイラからみれば INCL ファイルと同じです。

     これについては Reference Manual の @FN と FN USING をご覧になればわかります。

    Subject: [fb-ml 540] Re: 開発状況
    ベンさん早速のレスありがとうございます。
    できないです〜、も〜泣きそうです。
    いかにソースを載せます添削おねがいします。
    "test.main"
    
    COMPILE 0, _MacsBugLabels _caseInsensitive
    
    '---グローバル---
    GLOBALS "tnkg.GLBL"
    END GLOBALS
    '---インクルード---
    INCLUDE "tnkinc.incl"
    '---メイン---
    WINDOW 1,,(0,0)-(200,200)
    x = 15
    y = 20
    
    FN dasu(x,y)
    
    DO 
    UNTIL FN BUTTON
    
    "tnkg.glbl"
    
    '---グローバル---
    DIM x
    DIM y
    
    "tnkinc.incl"
    
    '---インクルード---
    INCLUDE FILE _aplIncl
    
    GLOBALS "tnkg.GLBL"
    END GLOBALS
    
    LOCAL FN dasu(var1,var2)
      PRINT var1
      PRINT var2
    END FN
    
    '-----------------------
    
    以上です。
    どこがおかしいのでしょうか?

    あ、ベンさんの解説非常に解り易かったです。
    inclとheadの違いもちゃんとわかりました。
    ホントいつもありがとうございます。

    Subject: [fb-ml 541] Pascalコンバータ
    須澤です。

    ところでアップル社のサイトからダウンロードできるMPW pascal インターフェイスを昔ダウンしたのですがQuickDraw3D関連のものは含まれていなかったようなのですが最近のものには含まれているのでしょうか?
    実際、ダウンロードして試した方はいませんか?

    Subject: [fb-ml 542] Re: 開発状況
    山下 渉 です。

    TNKさん、以下のコード、テストしてみたのですが、問題なく動くんです。
    「プロジェクトマネージャー」ウィンドウの「命令」―「プロジェクト実行」をするとウィンドウが1枚開いて、
    15
    20
    とちゃんと表示されたのですが...。

    最初、グローバル変数を格納するファイル名が、"tnkg.glbl"でコードの方は GLOBALS "tnkg.GLBL" となってましたのでその部分なのかと思ったのですが、そうでもないみたい。動きました。

    FB II か プロジェクトマネージャーの、プリファレンスの設定の違いによるものなのでしょうか...。

    Subject: [fb-ml 543] MACTCP
    須澤です

    昔ダウンロードしたMPWパスカルインターフェイスを見ていたらMACTCPのインターフェイスがありました。
    変換して作成されたのは
     Function:NewGetIPIOCompletionProc
        FN NewGetIPIOCompletionProc(userRoutine&)
    
    Function:NewIPIOCompletionProc
        FN NewIPIOCompletionProc(userRoutine&)
    
    Function:NewICMPEchoNotifyProc
        FN NewICMPEchoNotifyProc(userRoutine&)
    
    Function:NewTCPNotifyProc
        FN NewTCPNotifyProc(userRoutine&)
    
    Function:NewTCPIOCompletionProc
        FN NewTCPIOCompletionProc(userRoutine&)
    
    Function:NewUDPNotifyProc
        FN NewUDPNotifyProc(userRoutine&)
    
    Function:NewUDPIOCompletionProc
        FN NewUDPIOCompletionProc(userRoutine&)
    
    Procedure:CallGetIPIOCompletionProc
        FN CallGetIPIOCompletionProc(@iopb&,userRoutine&)
    
    Procedure:CallIPIOCompletionProc
        FN CallIPIOCompletionProc(@iopb&,userRoutine&)
    
    Procedure:CallICMPEchoNotifyProc
        FN CallICMPEchoNotifyProc(@iopb&,userRoutine&)
    
    Procedure:CallTCPNotifyProc
        FN CallTCPNotifyProc(tcpStream&,eventCode%,userDataPtr&,terminReason%,@icmpMsg&,userRoutine&)
    
    Procedure:CallTCPIOCompletionProc
        FN CallTCPIOCompletionProc(@iopb&,userRoutine&)
    
    Procedure:CallUDPNotifyProc
        FN CallUDPNotifyProc(udpStream&,eventCode%,userDataPtr&,@icmpMsg&,userRoutine&)
    
    Procedure:CallUDPIOCompletionProc
        FN CallUDPIOCompletionProc(@iopb&,userRoutine&)
    
    以上です。
    ご参考まで。

    内容は・・・
    よくわからん(笑)

    Subject: [fb-ml 544] Re: DROPPING A FOLDER
    At 2:16 AM 97.5.19, 伊藤とものり wrote:
    僕もファイルのD&Dは大丈夫なのですが、やはりフォルダーごと処理できればと……
    最初はBNDLリソースでFOLDを指定して、FINDERINFO()で読み込めばフォルダー名とdir IDが返ってくるに違いない(^_^;)と甘く考えていました。

     ベン/矢野勉 です。

     まず、BNDL に 'fold'(小文字でないといけません) を加えてデスクトップの最構築をしても、フォルダ名と、親フォルダの Working Directory ID は返ってきませんか? ぼくは始めっからアップルイベントで考えていたので、試してないんです。ファイル名が届くようであれば、親フォルダの WDid も vRefNum% に入っているはず。問題は「親フォルダの WDid」なんで、FOLDERステートメントでちょっとごちゃごちゃして、フォルダ自体の WDid を得る必要がありますけどね。(この辺はアップルイベントでもおんなじ)

     次に、open application, open document, print document, quit application の4つのアップルイベントは「必須アップルイベント(Required Apple Events)」といって、漢字talk 7 が出た当時は、これをサポートしていないソフトは「漢字talk 7対応」のシールをアップルからもらえなかった、という曰くつきのものです(^^;)ので、できればがんばってサポートしたいところ。特に複数のファイルの D&D を許すなら、次の点でアップルイベントの方がすぐれています。
    1.
    ドロップするファイル数を制限しなくていい。ドロップされたファイルリストから読めばいいので。
    2.
    アプリが開いたあとに、ファインダにもどってさらにドロップしても、ちゃんと機能する。どうも FINDERINFO のほうでは「アプリの Open... メニューで開いてみてください」とかいうダイアログが出てしまうみたいです。
     個人的に使うソフトにこんな苦労をする必要はまったくありません。FINDERINFOで十分。しかし公表するなら、アップルイベントをサポートしたいところ。

     がむばりましょう(^^;)

     ところで最近気がついたんですが、FB の Project Window の File メニューの New Project... を選ぶと、PG とはまた違った、純FB風の ANDY Shell ともいうべきものが作られるんですね。なんかパレットまでサポートしてました。アップルイベントにも対応しているみたい。これつかったら、アップルイベントのサポートも楽そうだな。(ぼくは PG でやってるからいいんだが)

    Subject: [fb-ml 545] Re: MACTCP
    ベン/矢野 勉です。

    At 9:43 PM 97.5.19, HIS wrote:
    須澤です

    昔ダウンロードしたMPWパスカルインターフェイスを見ていたらMACTCPのインターフェイスがありました。

     おおっ、PASCAL インターフェイスに含まれているんですね。APPLE の TCP用開発キットをかわんと手に入らんとばかり思っていた。しかし、なんかユーザー定義関数をつくったり呼び出したりするやつばっかですが、よくわからん(^^;)

    Subject: [fb-ml 546] Re: 開発状況
    At 4:36 AM 97.5.19, tnk wrote: ベンさん早速のレスありがとうございます。
    できないです〜、も〜泣きそうです。
    いかにソースを載せます添削おねがいします。

     はい、コピー&ペーストで、tnk.main, tnk.incl, tnk.glbl という3つのファイルをつくってテストしたところ、再現しました。「そんな関数知らんわい」というエラーがでました。

     で、解決しました。うかつにも、単純なことを見落としていました。その答えは:

     「.inclファイルに COMPILE オプションが設定されていないっ」

     ということでした。(^^;) え、COMPILEオプションは、全incl と main で一致する必要があります。mainに COMPILEオプションを使ったら、inclにも同じCOMPILEオプションが必要です。たしかに考えてみたらあたりまえで、ファイルごとにオプションが違っていたら、コンパイラが混乱します(^^;)  しかしだね、ファイルでどうせ同じコンパイルオプション使うんだから、コンパイラへの指示くらい、MAINファイルで一括するか、FB開発環境自体に組み込めんのかい(えらそう)>Andyさん

     結局、tnkinc.incl の頭部分:
    INCLUDE FILE _aplIncl
    GLOBALS "tnkg.GLBL"
    END GLOBALS
    
     を、次のように変更してください。
    INCLUDE FILE _aplIncl
    COMPILE 0, _MacsBugLabels _caseInsensitive
    GLOBALS "tnkg.GLBL"
    END GLOBALS
    
     これで動きます(^^) ようするに、END GLOBALS までは普通は完全に一致するんですね。

    Subject: [fb-ml 547] Re: 開発状況
    山下 渉さん、ベンさん、回答ありがとうございました。
    山下さんのところではCOMPILE命令はどうだったのでしょうか?
    凄く気になります。

    でも、COMPILE命令で引っかかっていたなんて・・マニュアルに 書いてあることが全てではないんですね〜。

    本当にありがとうございました。
    ばりばり開発するッス。

    Subject: [fb-ml 548] Re: DROPPING A FOLDER
    伊藤です。

    At 2:34 AM 97.5.20, Tsutomu YANO wrote:
    At 2:16 AM 97.5.19, 伊藤とものり wrote:
    > 僕もファイルのD&Dは大丈夫なのですが、やはりフォルダーごと処理できればと……> >最初はBNDLリソースでFOLDを指定して、FINDERINFO()で読み込めばフォルダー名とdir IDが返ってくるに違いない(^_^;)と甘く考えていました。
     ベン/矢野勉 です。

     まず、BNDL に 'fold'(小文字でないといけません) を加えてデスクトップの最構築をしても、フォルダ名と、親フォルダの Working Directory ID は返ってきませんか? ぼくは始めっからアップルイベントで考えていたので、試してないんです。ファイル名が届くようであれば、親フォルダの WDid も vRefNum% に入っているはず。

    ところがですね、返ってこないでしゅぅぅぅ(TOT)例えばファイルの最大数を10(fName$(9)、vRefNum%(9))としていたとしますね、当然フォルダーのD&Dだから1ファイルで、fName$(0)とvRefNum%(0)に返ってきますよね。念のため(^_^;)0〜9まで調べましたが返ってきていなかったです。

     次に、open application, open document, print document, quit application の4つのアップルイベントは「必須アップルイベント(Required Apple Events)」といって、漢字talk 7 が出た当時は、これをサポートしていないソフトは「漢字talk 7対応」のシールをアップルからもらえなかった、という曰くつきのものです(^^;)ので、できればがんばってサポートしたいところ。特に複数のファイルの D&D を許すなら、次の点でアップルイベントの方がすぐれています。

    1. ドロップするファイル数を制限しなくていい。ドロップされたファイルリストから読めばいいので。

    2. アプリが開いたあとに、ファインダにもどってさらにドロップしても、ちゃんと機能する。どうも FINDERINFO のほうでは「アプリの Open... メニューで開いてみてください」とかいうダイアログが出てしまうみたいです。

    これは泣きました(^_^;)あと自分のアプリを立ちあげたままシステムを終了しようとすると「終了できんぞ!!」みたいなメッセージが出てしまうのも泣きました(^_^;)
    GUIって難しい……(ToT)

     個人的に使うソフトにこんな苦労をする必要はまったくありません。FINDERINFOで十分。しかし公表するなら、アップルイベントをサポートしたいところ。
    個人的に使うソフトでも、やっぱりちゃんとしたいですね。
    個人的にだったら複数ファイルのD&Dで諦められるけど、知人とかに「フォルダーごと出来ないの?」とか言われた日にゃ(^_^;)

    Subject: [fb-ml 549] 印刷が解らない
     初歩の質問ですいませんがよろしくお願いします。
    INPUT命令で、身長・体重等を入力を受けて、そのデータを元にいろんな計算をする関数を作成したのですが、印刷が旨くできないので悩んでいます。印刷というメニューも作ったのですが、単純に画面上のものを印刷できればいいんです。
     INPUTじゃなく、EDIT FIELD を使ってやりたいんですが、EDIT FIELDで得られたDATAを計算するには、VALで数字に変換して、また、あるFIELDからマウスが出たときに計算が実行されるには等々、解らないことばかりです....!
    よろしくお願いします。

    Subject: [fb-ml 550] Re: MACTCP
     たばた です。

    At 2:34 AM 97.5.20, Tsutomu YANO wrote:
    >昔ダウンロードしたMPWパスカルインターフェイスを見ていたらMACTCPのインターフェイスがありました。  おお。ありがとうござます。これを入手先を是非教えてください。

     おおっ、PASCAL インターフェイスに含まれているんですね。APPLE の TCP用開発キットをかわんと手に入らんとばかり思っていた。しかし、なんかユーザー定義関数をつくったり呼び出したりするやつばっかですが、よくわからん(^^;)
     わたしもよくわかりません。(^^

    AppleのOTのページを発見したのですが、置いてあるサンプルプログラムは C++ とかで、、よくわからん (;_;)

    Subject: [fb-ml 551] 再度質問です
     下記のようなものを作っているんですが、解らないことだらけで誰か助けて下さい。
    1、
    EDIT FIELD 5をスクロールバー付きにしたい。
    2、
    LOCAL FN doa(w#)の結果をEDIT FIELD 5に入れたい。まだ、こういった感じの式が沢山ありますのでそれらもこのFieldに入れたい。
    3、
    MENUは今回コピーしてないですが、MENUで印刷を選んだときに全て印刷もしくはEDIT FIELD 5のみを印刷する方法。
    4、その他、気付いたところを指摘して下さい。
    よろしくお願いします。
    DIM programEnds
    END GLOBALS
    
    LOCAL FN build
      WINDOW 1,,(0,0)-(500,500)
      TEXT _sysFont,12
      EDIT FIELD 1, "",(60,60)-(130,80),_framed
      EDIT FIELD 2, "身 長",(10,60)-(50,80),_statnoframed
      EDIT FIELD 3, "",(210,60)-(280,80),_framed
      EDIT FIELD 4, "体 重",(160,60)-(200,80),_statnoframed
      EDIT FIELD 5, "",(360,60)-(430,80),_noframed_anyLines_bottomLine
      EDIT FIELD 6, "BSA",(310,60)-(350,80),_statnoframed
      EDIT FIELD 7,,(10,100)-(460,480),_framed
    
      BUTTON 1,_activeBtn,"計 算",(370,10)-(430,30),_shadow
    END FN
    
    LOCAL FN bsa(height1#,weight1#)
      bsa# = 0.007184 * weight1#^0.424 * height1#^0.725
      EDIT$(5) = USING "#.###" ; bsa#
    END FN
    
    '--------------------------------------------------------
    'DOA
    '--------------------------------------------------------
    LOCAL FN doa(w#)
      PRINT
      PRINT "DOA&DOB全量20ml(開始量:3μg/kg/min)"
      PRINT "            0.5�"; "    1.0�"; "    1.5�"; "    2.0�"; "    2.5
    �"; "    3.0�"
      PRINT "==========================================================="
    
      FOR i = 1 TO 4
        k# = i * 50
        PRINT USING "#.#" ; i*0.5 "A(";
        PRINT USING "###"; k# "�)";
        FOR x = 1 TO 6
          s# = k#/20/60/w#*1000*(0.5*x)
          PRINT USING "##.###" ;s#"   ";
        NEXT
        PRINT
      NEXT
    END FN
    
    LOCAL FN doDialogEvnts
      evnt  = DIALOG(0)
      id    = DIALOG(evnt)
      SELECT evnt
        CASE _btnClick
          LONG IF id = 1
            height# = VAL(EDIT$(1))
            weight# = VAL(EDIT$(3))
            FN bsa(height#,weight#)
            FN doa(weight#)
          END IF
        CASE _wndClose
          programEnds = _true
      END SELECT
    END FN
    
    
    FN build
    ON DIALOG FN doDialogEvnts
    
    DO
      HANDLEEVENTS
    UNTIL programEnds
    

    Subject: [fb-ml 552] Re: 開発状況
    山下 渉です。

    TNKさん、まぎらわしくてごめんなさい。(/・・\;)

    山下さんのところではCOMPILE命令はどうだったのでしょうか?
    凄く気になります。

    もう一度、見直してみますと、メールからコピー&ペーストする際に"test.main"の記述で、

    COMPILE 0, _MacsBugLabels _caseInsensitive

    をペーストするのを忘れてました。
    ペーストし直してテストすると、エラーが出ました。

    今までは、.mainファイルと.inclファイルは、あらかじめ雛型ファイルを作成し、その雛型ファイルをもとにコーディングをしてましたので、COMPILEオプション設定については完全に頭から抜けてました。(前に作った自分のFBファイルを見直してみると、COMPILEの設定を.inclファイルも.mainファイルと同様の設定にしてました。)
    初心者(私)はこういった手抜きはしないほうがよいのかもしれないと思いました。

    重ね重ねすみません。

    >え、COMPILEオプションは、全incl と main で一致する必要があります。mainに COMPILEオプションを使ったら、inclにも同じCOMPILEオプションが必要です。たしかに考えてみたらあたりまえで、ファイルごとにオプションが違っていたら、コンパイラが混乱します(^^;)
    ベンさん、勉強になりました。

    Subject: [fb-ml 553] Re: MacTCP Programming!
    須澤です

    http://www.ids.net/‾paumic/FutureBasic/Code/fbfinger.sit.hqx
    にFB FingerというFREEWAREがあります。
    解説には
    Utilizes a TCP connection, and communicates with an Internet host to finger an account
    とあるので役にたつかもしれません。
    Masaaki Tomuraさんというかたが作られたようです。

    Subject: [fb-ml 554] Re: MacTCP Programming!
     たばたです。

    At 6:39 AM 97.5.21, HIS wrote:
    http://www.ids.net/‾paumic/FutureBasic/Code/fbfinger.sit.hqxにFB FingerというFREEWAREがあります。
     早速downloadしてみました。おお、これこそ私が求めていたものです。
    情報ありがとうございました。これからソースを読んでみます。

    Subject: [fb-ml 555] Re: イラストレータ
    古籏一浩です。
    ちょっと遅レスです。

    At 23:09 97.5.16 +0900, 竹内亨 wrote:
    イラストレーターのSDKはアドビのホームページでダウンロードできます。
     結局場所がよくわからないので、とりあえずNiftyからダウンロードしてきました。ホームページの場合、どのアドレスなんでしょう?
     トップページから探索したり、検索したけどIlluystrator PlugInはちょっと見つかりませんでした。Type-1 fontとかTIFFはあったけど。

    よろしければ私のホームページをごらんください。
    そして作り方がわかればぜひ教えてください。

     ちょっと翻訳して解読してみます。
     でも来週末にならないと時間がないので・・・

    Subject: [fb-ml 556] やはり 255文字以上変数に入れたい。
    メーリングリストの皆様、こんにちは。

    今日、やっとHyperCardのXFCNを作ることに成功しました。
    手探りながらもなんとか。。。という感じです。

    表題の件なのですが、FutureBASICで作ったXFCNに送ったパラーメーターはstr255$(0)とかの配列?変数に格納されます。

    で、str255$(0)をそのままxCmdPtr&.returnValue&にいれてHyperCardに返す実験をすると、返り値は255文字以降は消えてしまいます。

    (私が作っているのは、これの中を1バイト単位で検索するXFCNなのですが、)

    内心やっぱりかとは思っているものの、これを解決する方法はありませんでしょうか?

    グローバルでstr255$は
    ↓このように宣言されているのですが
    DIM str255$(15)
    例えばこの文字列変数のバイト数を無制限にするような方法はないのでしょうか?

    どうかよろしくお願いいたします。
    以下に私の作った部分を載せます。
    '"XFCNの第1パラメータに255文字以上の文字を送る。"
    LOCAL FN ExecuteXcmdHereFunction(xCmdPtr&,str255$)
    DIM 255 tmp$
    strPtr& = @tmp$
    tmp$ = str255$(0)
    '"わからずながらも実験の結果tmp$に入れた値が返り値になることにきずきました"
    xCmdPtr&.inArgs0&  = strPtr&              'convert error message to
    xCmdPtr&.xRequest% = _xReqPasToZero       'C-string format (chars + nul)
    FN JumpToCallback(xCmdPtr&)               'enter callback routine
    xCmdPtr&.returnValue& = xCmdPtr&.outArgs& 'put C-string hndl into 
    xcmdBlock
    END FN
    '"これで255文字以降は消えてしまいます。"
    

    Subject: [fb-ml 557] Re: 開発状況
    山下さんレスどうもです。

    今までは、.mainファイルと.inclファイルは、あらかじめ雛型ファイルを作成し、その雛型ファイルをもとにコーディングをしてましたので、COMPILEオプション設定については完全に頭から抜けてました。
    (前に作った自分のFBファイルを見直してみると、COMPILEの設定を.inclファイルも.mainファイルと同様の設定にしてました。)
    初心者(私)はこういった手抜きはしないほうがよいのかもしれないと思いました。

    これって、実はベテランのミスでわ?

    これからも、色々教えてくださいね。

    Subject: [fb-ml 558] Re: 印刷が解らない
    At 9:54 AM 97.5.20, Hiroyuki-Tsurimoto wrote:
     初歩の質問ですいませんがよろしくお願いします。
    INPUT命令で、身長・体重等を入力を受けて、そのデータを元にいろんな計算をする関数を作成したのですが、印刷が旨くできないので悩んでいます。印刷というメニューも作ったのですが、単純に画面上のものを印刷できればいいんです。

     え、これは描画の場所を、標準である「画面」から、「プリンタ」に変更してやります。で、画面に描画するのに PRINT やら USING やらを使ったと思いますが、これをもう一度 (まったく同じように) やってやればいいです。全描画がプリンタに為されます。とにかく PRINT やらでどんどん書いていきます。たぶんそのために、INPUTで入力を受ける変数の扱いを少々考える必要があるでしょう。

    ROUTE _toPrinter

     で、描画をプリンタにできます。プリンタへの印刷が終わったら

    ROUTE _toScreen

     で画面に戻しておかないと、これ以降の描画がすべてプリンタに行われてしまうので、注意してください。

     "Programming the Macintosh With FB2" という冊子の p133、LESSON 22 は必ず果たしてください。ちなみに、この冊子は (ほかのプログラム言語の知識があるならともかく) 読むだけでなく、きっちり入力してやってください。そうすれば、プリンタの扱いもきちんと分かると思います。

    #まあ、紙の扱いを除けば、ウインドウになんか書くのとかわりませんけどね。

     もちろん、マックの印刷の基本として、設定ダイアログを表示しなくちゃいけません。Page Setup には DEF PAGE 命令で、Print ダイアログは DEF LPRINT で開けます。

     また、今回はいらないと思いますが、大量に印刷するには、タイミングを自分ではかって、CLEAR LPRINT 命令で紙を排出・新しい紙に移行する必要があります。

     今回は ROUTE _toPrinter と ROUTE _toScreen で用が足りるとおもいますが、念のため、HANDBOOK の p143 からの PRINTER OUTPUTの章をじっくりとお読みください。

     読んでみてもまだ分からなくとも、すくなくとも「このようにしたんで、うまくいくはずなんだけども、なぜかうまくいかん。教えてください」くらいまではいけると思います。がむばるのだ。

     INPUTじゃなく、EDIT FIELD を使ってやりたいんですが、EDIT FIELDで得られたDATAを計算するには、VALで数字に変換して、また、あるFIELDからマウスが出たときに計算が実行されるには等々、解らないことばかりです....!
    よろしくお願いします。

     こちらは別発言があったようなので、そちらをじっくり読んでから考えます(^^;)

    Subject: [fb-ml 559] Re: 開発状況
    山下 渉です。

    > 今までは、.mainファイルと.inclファイルは、
    >  … 中略 …
    >手抜きはしないほうがよいのかもしれないと思いました。
    TNKさん、->
    >これって、実はベテランのミスでわ?

    いや、あの〜、その〜....。
    FB II日本語版が発売されてから購入した、FB歴8ヶ月ちょっとのまだまだ初心者なんです。(^^;)

    これからも、色々教えてくださいね。
    いえいえ、こちらこそ宜しくお願いします。(^o^)

    明日は仕事が早出なので、これにて失礼致し候ふ。
    では、また。

    Subject: [fb-ml 560] Re: 印刷が解らない
    古籏一浩です。 At 0:13 97.5.22 +0900, Tsutomu YANO wrote:  "Programming the Macintosh With FB2" という冊子の p133、LESSON 22 は必ず果たしてください。ちなみに、この冊子は (ほかのプログラム言語の知識があるならともかく) 読むだけでなく、きっちり入力してやってください。そうすれば、プリンタの扱いもきちんと分かると思います。
     私のページにも初心者講座でちょっとだけ用意してあったと思います。
     たしか某氏に頼まれて、それでサンプルとして作成したような・・・

     だんだんと初級編、中級編とか長くなってきたので、ジャンル別にしようかな〜とも思っています。
     ゲーム編とか、印刷編とか・・・

    Subject: [fb-ml 561] Re: NAGI-Pさんのホームページ
    古籏一浩です。

    At 3:09 97.5.17 +0900, Takaomi Ono wrote:
     話題のNAGI-Pさんのホームページは、
     http://www.hc.t.u-tokyo.ac.jp/‾nagi/nps/
     に変わったみたいです。先ほど、覗きに言ったところ、大戦略の

     確認してきました。
     改装じゃなくて、本当に引っ越しただけでした(^^;
     Win/Mac両方のゲームが作れるって凄いなあ。

    Subject: [fb-ml 562] Re:印刷の件
    ベンさんどうもです。
    印刷はおかげさまで旨く行きました。
    NIFTYでもお世話になりました、これからこちらでお世話にないりますのでよろしくお願いします。
    やっとPGの流れが理解でき、EDIT FIELDを使った計算もできるようになりました。
    今は、EDIT FIELDに計算結果を代入する方法を勉強しているんですが、よく解りません。
    Local FN・・・ For〜NEXT ・・・END FNで作成した関数を、改行・After・
    Before等で代入する方法が解らない状態です。
    普通に、EDIT$(11) = USING "###.###" ; 1000*500/50 だったらいくんですが、こういう式の結果を 改行させないで、連ねて表示させる方法が.....?
    今後ともよろしくお願いします。

    Subject: [fb-ml 563] Re: MACTCP
    須澤です。

    MPWパスカルインターフェイスの基本セット(?)をダウンロードすると以下のファイルがダウンできます。参考にして下さい。
    ADSP.p
    ADSPSecure.p
    AEObjects.p
    AEPackObject.p
    AERegistry.p
    AEUserTermTypes.p
    AIFF.p
    Aliases.p
    AppleEvents.p
    AppleGuide.p
    AppleScript.p
    AppleTalk.p
    ASDebugging.p
    ASRegistry.p
    Balloons.p
    CardServices.p
    CMAcceleration.p
    CMApplication.p
    CMComponent.p
    CMConversions.p
    CMICCProfile.p
    CMMComponent.p
    CMICCProfile.p
    CodeFragments.p
    Collections.p
    ColorPicker.p
    ColorPickerComponents.p
    CommResources.p
    Components.p
    ConditionalMacros.p
    Connections.p
    ConnectionTools.p
    Controls.p
    ControlStrip.p
    CRMSerialDevices.p
    CTBUtilities.p
    CursorCtl.p
    CursorDevices.p
    DatabaseAccess.p
    DeskBus.p
    Devices.p
    Dialogs.p
    Dictionary.p
    DigitalSignature.p
    DisAsmLookup.p
    ObjIntf.p
    Disassembler.p
    Perf.p
    DiskInit.p
    Disks.p
    Displays.p
    Drag.p
    Editions.p
    ENET.p
    EPPC.p
    ErrMgr.p
    Errors.p
    RTLib.p
    Events.p
    fenv.p
    Files.p
    FileTransfers.p
    FileTransferTools.p
    FileTypesAndCreators.p
    Finder.p
    FixMath.p
    Folders.p
    Fonts.p
    fp.p
    FSM.p
    GestaltEqu.p
    GXEnvironment.p
    GXErrors.p
    GXFonts.p
    GXGraphics.p
    GXLayout.p
    GXMath.p
    GXMessages.p
    GXPrinterDrivers.p
    GXPrinting.p
    GXTypes.p
    HyperXCmd.p
    Icons.p
    ImageCodec.p
    ImageCompression.p
    IntEnv.p
    IntlResources.p
    Lists.p
    LowMem.p
    MachineExceptions.p
    MacRuntime.p
    MacTCP.p
    MC68000Test.p
    MediaHandlers.p
    Memory.p
    Menus.p
    MIDI.p
    MixedMode.p
    Movies.p
    MoviesFormat.p
    Notification.p
    OCE.p
    OCEAuthDir.p
    OCEErrors.p
    OCEMail.p
    OCEMessaging.p
    OCEStandardDirectory.p
    OCEStandardMail.p
    OCETemplates.p
    OSA.p
    OSAComp.p
    OSAGeneric.p
    OSUtils.p
    Packages.p
    Palettes.p
    PasLibIntf.p
    PCCardTuples.p
    PictUtils.p
    Power.p
    PPCToolbox.p
    Printing.p
    Processes.p
    QDOffscreen.p
    Quickdraw.p
    QuickdrawText.p
    QuickTimeComponents.p
    Resources.p
    Retrace.p
    ROMDefs.p
    SANE.p
    ScalerTypes.p
    Scrap.p
    Script.p
    SCSI.p
    SegLoad.p
    Serial.p
    SFNTTypes.p
    ShutDown.p
    Signal.p
    Slots.p
    SocketServices.p
    Sound.p
    SoundComponents.p
    SoundInput.p
    Speech.p
    StandardFile.p
    Start.p
    Strings.p
    Terminals.p
    TerminalTools.p
    TextEdit.p
    TextServices.p
    TextUtils.p
    Threads.p
    Timer.p
    ToolUtils.p
    Translation.p
    TranslationExtensions.p
    Traps.p
    TSMTE.p
    Types.p
    Unmangler.p
    Video.p
    Windows.p
    WorldScript.p
    
    以上です。
    別の所でQuickDraw3Dのインターフェイスも入手できました。しかし、これはコンバートしてみると何だか抜けてるところがあるようで、今一つ良く分かりません。
    それと、もしかしたらDrag&Dropのインターフェイスもあるかもしれません。
    いずれにしても使い方が分からない(^^;;
    みんなで研究しましょう。
    それでは。

    Subject: [fb-ml 564] Re: イラストレータ
    古籏一浩様、こんにちは。
    イラストレーターのSDKですが失礼しました。

    結構いりくんだ場所にあります。
    http://www.adobe.com/
    Support & Services ←クリック
    ↓
    http://www.adobe.com/supportservice/main.html
    Developer Relations←クリック
    ↓
    http://www.adobe.com/supportservice/devrelations/main.html
    SDKs ←クリック
    ↓
    http://www.adobe.com/supportservice/devrelations/sdks.html

    ただし、見にいったところ、Illustrator6.0のSDKしかありませんでした。
    私の持っているのはIllustrator5.5のSDKです。
    必要でしたらご連絡ください、メールでお送りいたします。

    チュートリアル和訳ですが私のホームページのもう少しわかりやすいところに移動しました。
    最初のページの左のメニューのなかにリンクをいれました。
    もし、見つけられなかった方、ごめんなさい。

    Subject: [fb-ml 565] Re: 印刷の件
    At 7:13 AM 97.5.22, H-Tsurimoto wrote:
    ベンさんどうもです。
    印刷はおかげさまで旨く行きました。
    NIFTYでもお世話になりました、これからこちらでお世話にないりますのでよろしくお願いします。

     引き続きよろしく(^^)

    改行させないで、連ねて表示させる方法が.....?
    今後ともよろしくお願いします。

     え、これについては NIFTY のほうに書きました。というのは、もともと NIFTY に書き込まれた質問だったので、その答えをこっちにかいちゃうと、やはり問題ではないかと。

     というわけで、基本的に NIF の質問は NIF で答えることにしてますので。
     で、どうも PG つかいになっているようなので、551の質問はいったんチャラってことでいいでしょうか。また PG のほうでよく分からないなら、質問してもらうってことで。

    Subject: [fb-ml 566] Re: イラストレータ
    古籏一浩です。

    At 20:58 97.5.22 +0900, 竹内亨 wrote:
    私の持っているのはIllustrator5.5のSDKです。必要でしたらご連絡ください、メールでお送りいたします。
     Niftyから落としてきました。
     QuarkXpressでないと読めないと言う笑えないオチがありましたが(笑)

    最初のページの左のメニューのなかにリンクをいれました。
    もし、見つけられなかった方、ごめんなさい。

    ……PIONEER MPC-GX1/40M/1GHD とおる VED04321@niftyserve.or.jp……
    …………URL=http://www.asahi-net.or.jp/‾bj5t-tkuc/i-flm.html…………
        ↑SDK和訳のページへ。

     見まして、和訳の部分はテキストでひっぱってきました。
     これは、ちょっと時間がかかりそう・・・

    Subject: [fb-ml 567] テキスト追加にて...
    ベンさんどうもです。
    NIFTYではお世話になりました、これからこちらの方でまたお世話になります。
    この前教えてもらった、関数を使ったんですが、"関数が定義されていないか、間違 って定義されています"といったアラートが出て来ます、どうすれば良いんでしょう か?

    FN TEappend(fieldNum, addStr$)

    この文全てが駄目なんです、マニュアルも何回か読んだんですが解りません。

    Subject: [fb-ml 568] テキストを追加で...
    ベンさんどうもです。
    以下の関数を追加したのですが、EDITフィールドには何も入力されませんのですが、どうしてなんでしょうか?
    再三に渡りどうもすいませんがよろしくお願いします。
    LOCAL FN TEappend(theField, theText$)
      AUTOCLIP = 0
      TEHndl& = TEHANDLE(theField)
      LONG IF TEHndl&
        txtLgth = {[TEHndl&]+_TELength}
        CALL TESETSELECT(txtLgth,txtLgth,TEHndl&)
        CALL TEINSERT(@theTxt$ + 1,LEN(theTxt$),TEHndl&)
      END IF
    END FN
    

    Subject: [fb-ml 569] Re: テキストを追加で...
    中野@Kyoto-inet です。

    H-Tsurimotoさん(hiroyuki@mb.aikis.or.jp)
    》 TEHndl& = TEHANDLE(theField)
    TEHndl& = FN TEHANDLE(theField)
    が正解です。C 言語と違って,FB では ToolBox 関数は FN を付けて呼び出す必要があります。

    Subject: [fb-ml 570] Re: テキストを追加で...
     ベン/矢野 勉 です。

    At 2:30 PM 97.5.23, NAKANO Takayuki wrote:
    H-Tsurimotoさん(hiroyuki@mb.aikis.or.jp)
    》 TEHndl& = TEHANDLE(theField)

    TEHndl& = FN TEHANDLE(theField)
    が正解です。C 言語と違って,FB では ToolBox 関数は FN を付けて呼び出す必要があります。

     ちがうピョーン。

     TEHANDLE は FB 定義のステートメントで、ToolBox ではありません。よってもと のままで正しいのです。

    Subject: [fb-ml 571] Re: テキストを追加で...
     ベン/矢野 勉 です。

    At 8:45 AM 97.5.23, H-Tsurimoto wrote:
    以下の関数を追加したのですが、EDITフィールドには何も入力されませんのですが 、どうしてなんでしょうか?
    再三に渡りどうもすいませんがよろしくお願いします。
     LOCAL FN TEappend(theField, theText$)
       AUTOCLIP = 0
       TEHndl& = TEHANDLE(theField)
       LONG IF TEHndl&
         txtLgth = {[TEHndl&]+_TELength}
         CALL TESETSELECT(txtLgth,txtLgth,TEHndl&)
         CALL TEINSERT(@theTxt$ + 1,LEN(theTxt$),TEHndl&)
       END IF
     END FN

     ということは、未定義のエラーはでないんですね? すると、この関数の定義は、関数が呼び出されるよりも前に、きちんと定義されているということに...

     つまり、FN TEappend(1, "文字列") とかで呼び出すよりも上に、上記の関数定義を挿入したので間違いないですね?

     とすると、引数の間違いの可能性が高い。theText$ に実際に文字列をいれていない、なんてことはないだろうから、theField のほうに、存在しないフィールド番号をいれてませんか? 

     PG を使っている場合は、PG上でフィールドを選択し、Object -> Get Info と選択したときにでるダイアログ上の、Constants という部分に書かれている内容が、フィールド番号のための定数となります。普通はフィールドの目的に応じて _NameFld とか、自由に書き換えて使います。定数ってのは理解してますよね? よって普通 PGでは、番号そのものは使いません。定数が _NameFld なら、

    FN TEappend(_NameFld, "入れたい文字列")
     という呼び出しになります。  よくわからないなら、実際に関数を呼び出している部分を引用して、もう一度質問 してください。ソースコード無しでは問題を特定できませんので。

    Subject: [fb-ml 572] 再度お願いします。
     以下にソースコードをコピーしましたので見て下さい。
    もう一度説明します、EDIT$(7)のデーターをFN AddToField(11,weight#)に渡して、計算結果をEDIT$(11)に改行しながら入れたいのです。
    EDIT$(11)はスクロールバー付きで、フォントは大阪です。
    EDIT$(11)には何か入力されているかの様に改行はきちんとされてますし、何回もボタンをクリックすると、スクロールの下段の方に文字化けしたものが出てきます。
    1回だけのクリックだと空白行でカーソルは中程までいってます。
    きっとどこか勘違いしているのだと思うので、よろしくお願いします。
    'インクルード
    '========================================================
    LOCAL FN TEappend(theField, theText$)
      AUTOCLIP = 0
      TEHndl& = TEHANDLE(11)
      LONG IF TEHndl&
        txtLgth = {[TEHndl&]+_TELength}
        CALL TESETSELECT(txtLgth,txtLgth,TEHndl&)
        CALL TEINSERT(@theTxt$ + 1,LEN(theTxt$),TEHndl&)
      END IF
    END FN
    
    
    LOCAL FN AddToField(fieldNum, w#)
      DIM addStr$
      
      EDIT FIELD fieldNum                             '"フィールドを active にしておく
      
      addStr$ = "DOA&DOB全量20ml(開始量:3μg/kg/min)"
      FN TEappend(fieldNum, addStr$)
      addStr$ =  "            0.5�    1.0�    1.5�    2.0�    2.5�    0�"
      FN TEappend(fieldNum, addStr$)
      addStr$ = 
    "==============================================================="
      FN TEappend(fieldNum, addStr$)
      FOR i = 1 TO 4                                  
        k# = i * 50
        addStr$ =  USING "#.#"; i*0.5
        addStr$ = addStr$ +  "A("
        addStr$ = addStr$ + USING "###";k#
        addStr$ = addStr$ + "�)"
        FOR x = 1 TO 6
          s# = k#/20/60/w#*1000*(0.5*x)
          addStr$ = addStr$ + USING "##.###";s#
          addStr$ = addStr$ + "   "
        NEXT
        TEKEY$ = CHR$(13)                             '"改行コードをフィールドに送る。
      NEXT
    END FN
    '==========================================================================
    'メインルーチン
    '=========================================
    "Action:Button"
    '=========================================
    SELECT gWhichClass
        height# = VAL(EDIT$(5))
        weight# = VAL(EDIT$(7))
        FN bsa(height#,weight#)
        fontName$ = "Osaka−等幅"
        TEXT font%,10
        FN AddToField(11,weight#)
    END SELECT
    RETURN
    

    Subject: [fb-ml 573] Re: テキストを追加で...
    中野@Kyoto-inet です。

    ベン/矢野 勉さん(benbrand@osk2.threewebnet.or.jp)
    》> TEHndl& = FN TEHANDLE(theField)
    》> が正解です。C 言語と違って,FB では ToolBox 関数は FN を付けて呼び出す必要があります。
    》
    》 ちがうピョーン。
    》 TEHANDLE は FB 定義のステートメントで、ToolBox ではありません。よってもとのままで正しいのです。

     ガーソ。いちおう Reference をチェックしたんですが,TEHANDLE の存在を見落としていたようです。まだまだ修行が足りない....。

    》 よくわからないなら、実際に関数を呼び出している部分を引用して、もう一度質問してください。ソースコード無しでは問題を特定できませんので。
     新規にファイルを作成して,関数と,関数を呼び出す部分だけのプログラムを書いて,うまく動作するか調べるのも手です。
     FB 関数の動作が Reference を見てもよく分からないときは,この手を使っています。

    Subject: [fb-ml 574] テキストを追加でお礼
     ベンさん中野さんどうもありがとうございました。
    中野さんがいってくれたように...やってみて原因が解りました。(;_;)
    やっと解決出来ました。今回みなさんから大変多くを学べました事を感謝いたします。
    これに懲りず今後ともよろしくお願いします......質問しか出来ませんが (^_^;)
     新規にファイルを作成して,関数と,関数を呼び出す部分だけのプログラムを書いて,うまく動作するか調べるのも手です。
     FB 関数の動作が Reference を見てもよく分からないときは,この手を使っています。


    Subject: [fb-ml 575] Re: やはり 255文字以上変数に入れたい。
     ベン/矢野 勉 です。

    At 11:16 PM 97.5.21, 竹内亨 wrote:
    で、str255$(0)をそのままxCmdPtr&.returnValue&にいれてHyperCardに返す実験をすると、返り値は255文字以降は消えてしまいます。(私が作っているのは、これの中を1バイト単位で検索するXFCNなのですが、)内心やっぱりかとは思っているものの、これを解決する方法はありませんでしょうか?
     やっと XCMD のことを調べおえました。ちょっと複雑ですが、XCMD をされるほどならば理解できるでしょう。じっくりご覧ください。FB では、xCmdBlock は次のような定義になっています。
    DIM RECORD xCmdBlock
      DIM xParamCount%
      DIM xParams&;64
      DIM xReturnValue&
      DIM xPassFlag%
      DIM xEntryPoint&
      DIM xRequest%
      DIM xResult%
      DIM inArgs0&
      DIM inArgs1&
      DIM inArgs2&
      DIM inArgs3&
      DIM inArgs4&
      DIM inArgs5&
      DIM inArgs6&
      DIM inArgs7&
      DIM outArgs0&
      DIM outArgs1&
      DIM outArgs2&
      DIM outArgs3&
    DIM END RECORD .xCmdBlock
    
     見てのとおり、FB ではレコード内部に配列をもてないという、どうにかしてほしい制限があるため、配列部分の定義が変わっています。HyperCard が XCMD やら XFNC に渡す引数は、xParams& の部分に入っています。これは本当は xParams&(15) とでも定義されるところなんですが、配列が定義できないために、4 (ロング長) * 16= 64 で、64バイトの一つの変数として定義しています。

     で、最大16個の引数は xParams& の配列に、最初はハンドルとして渡ってきます。XCMD Template の HyperXCMD.MAIN ファイルが、この xParams& を FN ZeroToPasをつかって、str255$(15) へと内容を切り分けてくれるわけで、おかげでわれわれは、str255$(15) という配列をつかって引数を調べることができるわけです。
     普段はこれはこれで便利なんですが、文字列型は 255 文字に制限されてますので、_この変換の段階で_もともと xParams& にあった、256文字以降の文字は消えてしまうわけです。

     というわけで、結局 str255$の配列をつかわず、必要になったときに xCmdBlockから引数を直接、ハンドルとして取り出せばいいわけです。それなら、全情報を取り出せます。
     実際には、XCMD では xCmdBlock は xCmdPtr& として渡ってきますので、これから 取り出します。引数の総数は paramCount でわかりますので、引数の数だけループす ればいいでしょう。

     nthHandle& = [xCmdPtr&+_xParams+ (4 * (0から15までの配列番号))]

     これで nthHandle& に、指定した配列の内容 (ハンドル) が帰されます。これはCストリングへのハンドルですが、バイト単位の処理はC文字列のほうが楽ですし、このままこのハンドルからポインタをとりだして処理してしまいましょう (ハンドルをロックするのをわすれずに!)。

     おまけ。FB についてくる XCMD Glue は、STAZ が余計なことをしています。例えば、通常は ZeroToPas というグルーがそれでして、Handbook の p359 をみれば分かるように、_配列番号を渡すと_、xParams&配列から内容を取り出し、パスカル文字列に変換するように定義されています。まあ、ある意味では便利です。

     でも、もともとはそんなふうには定義されていませんっ!

     もともとは、引数には_C文字列を渡すと_、パスカル文字列が返ってくるようになっています。FB では xParams&配列の扱いがややこしくなっているので、親切心のつもりなんでしょうが、余計なお世話です。おかげで ZeroToPas を、純粋にC文字列からパスカル文字列への変換ルーチンとしては使えなくなっています。

     で、STAZ にも苦情がいったんでしょうが、いま STAZ のホームページの Whats New から FB Updater のページに飛びますと、XCMD Glue の新版がでています。これはZeroToPas ももとの定義のとうりに変更されたんですが、こんどはおかげで HyperXCMD.MAIN ファイルが使えなくなった! というのは、HyperXCMD.MAIN ファイルでは前述のとおり、旧式の ZeroToPas でもって str255$(15) への引数の変換をしているので、ここでおかしくなります。

     Glue をあげるなら、ほかのも直してくれよな〜

     まあ、ここだけ次のように直せば動くようです。以前ニフティのホームパーティがまだあったころに、ハンドル名UDIという方が一生懸命調べてくれました。UDIさんは ML にも来ているのでしょうか?
     LONG IF prmCount% <> 0
       FOR j = 1 TO prmCount%                        'cycle thru parameters
         FN ZeroToPas (xCmdPtr&, j-1, @str255$(j-1)) 'converting all C-strings to
       NEXT                                          'Pascal strings
     END IF
              ↓
    
     LONG IF prmCount% <> 0
       FOR j = 0 TO prmCount% - 1                    'cycle thru parameters
         FN ZeroToPas (xCmdPtr&, [[xCmdPtr& + _params + j * 4]], str255$(j))
       NEXT                                          'C string to Pascal strings
     END IF
    
     これで、新版のグルーもとりあえずは動くはずです。

     他にもちょろちょろ直されているので、一応ダウンロードしましょう。MODE から日本語版アップデータをもらったひとは、そこにも入っているようです。

    Subject: [fb-ml 576] 再度印刷について質問です
     この前から教えてもらって、旨くいってるんですが、印刷がやはり旨くいきません。
    以下に書いた方法では、EDIT$(11)のみが文字化けするし、途中で印刷が終了して最終文字まで印刷されません。EDIT$(11)はこの前"ベンさん"から教えてもらった、計算結果が収められてます。他のEDIT$()と違うのは計算結果が入るのと、スクロールフィールドになっているぐらいで、後フォントは初期設定のを使用で、大阪monoに設定してあります。お手数ですがよろしくお願いします。
    LOCAL FN printDoc
      DEF LPRINT
      LONG IF NOT PRCANCEL
        ROUTE _toPrinter
        PRINT %(200,30) ; EDIT$(3)
        PRINT %(150,60) ; EDIT$(5) ; EDIT$(7) ; EDIT$(9)
        PRINT %(150,90) ; EDIT$(11)
        ROUTE _toScreen
        CLOSE LPRINT
      END IF
    END FN
    
     また以下の方法だと文字化けせずに印刷できるんですが、僕には1つのEDIT$()しか印刷できません。
    この方法で各フィールドが印刷できればいいんですが.....?
    DEF FN printStyleFld(fldHndl&) USING gPrintStyleFld&
    
    LOCAL FN printDoc
     DEF LPRINT
     LONG IF NOT TEHANDLE(_EF11WClass2)
      GET FIELD fldHndl&,_EF11WClass2
      FN printStyleFld(fldHndl&)
     END IF
    END FN
    

    Subject: [fb-ml 577] Re: 再度印刷について質問です
     ベン/矢野 勉 です。

     あー、EDIT$() 関数で得られるのは、256バイトの文字列型変数ですから、EDIT$(11) としても、フィールド11の255文字しか得られんのです。これ以上の情報を得るためには、ハンドルとしてフィールドの内部情報を得るしかない。それをやっているのが、下のほうの PrintDoc なわけです。

     さて、逆に下のほうの printDoc では、PG の PrintStyleFld をつかってますが、これは一つフィールドを印刷する度に紙を排出してしまう、という欠点が(^^;)

     問題の解決。255文字以上の情報のはいったフィールドの印刷方法は、HandBook のp145 の Printing specific edit fields and picture fields に例が出ています。
    長々とソースがありますが、要するに、ROUTE _toPrinter でプリンタに描画を切り替えたあと、EDIT FIELD 命令で新しいフィールドを作ってやると、なんと印刷されるのです。この方法のポイントは、フィールドのサイズ/位置をどうするかにかかってますね。
    ----------------------------------------------------------
    _dammyFld = 4500 '"新規につくるフィールド番号。適当です。
    
    LOCAL FN PrintDoc
     DIM pageRect;0, top, left, bottom, right
    
      DEF LPRINT
      LONG IF NOT PRCANCEL
       '"先に11番フィールドの内容を得ておく
        GET FIELD fldContentH&, _EF11WClass2
          '"11番フィールドの高さをえる。
       '"PG の PRINT UTIL.FLTR の関数。
        fldHeight = FN getFieldHt(_EF11WClass2)
          '"印刷可能領域 (PG の関数)
        FN getPage(pageRect)
    
        ROUTE _toPrinter
        PRINT %(200,30) ; EDIT$(3)
        PRINT %(150,60) ; EDIT$(5) ; EDIT$(7) ; EDIT$(9)
    
          '"11番フィールドの印刷。描画開始位置は、
          '"上から90ピクセルとしておく
        LONG IF fldContent& <> _nil
            '"GET FIELD で得たハンドルからフィールドを
            '"新規作成する。
          top = 90 : bottom = top + fldHeight
          EDIT FIELD -_dammyFld, &fldContentH&, @pageRect, _noFramed, _leftJust
        END IF
        KILL FIELD fldContentH& '"ハンドルはいらなくなったら削除
        CLOSE LPRINT
      END IF
    END FN
    --------------------------------------------------------------
    

     これでいけるとおもいますけと、実験はしてません。要は新規フィールドは都合のいい位置に作るだけなんで、工夫してください。

     あと、EDIT$() なんかに、フィールド番号を直接指定してますけど、関心しません。せっかく PG ではフィールド番号のための定数を用意してくれるんだから (なんども言いますが、Get Object Info ダイアログの、Constants というフィールドのことね) それを使うべき。
     また、一箇所だけちゃんと _EF11Wclass2 とかいう定数をつかってますが、これもちゃんと PG で定数名変更しましょうよ。これだと _resultFld とかいう名前を付けておくと分かりやすいでしょ。プログラム上では定数 _resultFld が 11 だと認識されるようになるんです。

    Subject: [fb-ml 578] Re: MACTCP
    須澤です

    アップルのSDKがあるサイト(http://17.126.23.20/dev/sdk.html)を見てきました
    DRAG&DROPのSDKは1700Kほどありました。
    誰かダウンロードしてください。
    PHSじゃつらいです

    Subject: [fb-ml 579] Re: やはり 255文字以上変数に ...
    ベンさん、こんにちは。
    丁寧な解説ありがとうございます。

    >XCMD をされるほどならば理解できるでしょう。
    私はまだまだ、ぜんぜん意味もわからずやっているので、これからベンさんの解説を見て、じっくり取り組んでいくことにします。
    ありがとうございました。

    Subject: [fb-ml 580] 印刷でのお礼
     ベンさんおかげさまで全て旨くいきました。
    今まで教わったことは、何とな〜くわかるんですが説明が出来るほど未だ理解できてないです。
    また、ご指摘受けた通り、Field参照番号に関しては自分でも時折解らなくなる事が多々あったのでこれからはきちんとした名前にします。(^_^;)
    ところで、ベンさんのPGのページいつ頃出来るんでしょうか...?
    楽しみにしています。(^○^)

    Subject: [fb-ml 581] はじめまして,教えて下さい。
    はじめまして,根来 武と申します。

    先日,FB2を購入しました。数日触ってみましたが,とても解りやすい開発言語ですね。少し疑問が出てきましたので教えて頂けますか。

    ・FB2は68Kコードを生成しますが,ToolBoxルーチンは68Kコードなのでしょうか。ToolBoxがPPCのものもあるのなら,FB2からPPC_ToolBoxをCallすれば速度が向上するのかな?,Mac Programing初心者ですので,このあたりのアプリ側とToolBox側のコード種別と実行速度の関係がよくわかりません。

    ・ハンドブックのマウス位置取得サンプルを基に,お絵描きソフトを作っているのですが,イベントマネージャへのマウス位置問い合わせの方法では,マウスを素早く動かしたときに問い合わせ速度が追い付かず,描画されるラインがガクガクになってしまいます。市販のソフトなどはかなり高速な読み取りレートになっているように見えますが,マウスの位置を取得するのにイベントマネージャを介さずに,読み取りレートを上げる方法はないものでしょうか。サンプル通りにMOUSE(0)を発行してMOUSE(_holz),MOUSE(_vert)で取得していると私のMacにはZ80が入っているのではと思うくらい遅いのです。Inside Macも所持している分では調べたのですが,名案はなかなか思い浮かびません。ああ,今夜も眠れない...

    ・今は始めのとっつきの段階なのですが,BASICは数十年ぶりで勝手がわからずとまどっています。今も付属のマニュアルを必死に読んでおります。
     FB2を買うまでは,CPXなどのオブジェクト指向言語を使っていました。
     CPXがなかなかうまく使えずにPB2に乗り換えたのです。(恥;)
     FB2で戸惑っていることは,ドキュメントウインドウを複数開いた場合にウインドウ別にアトリビュートを持ちたいのですが,FB2での記述手法はマニュアルのどこを参考にすればいいのでしょうか。「ここを見ろ」というのを教えて頂けませんでしょうか。

    FB2はロジックの構造が把握しやすくてとっても気に入りました。将来は私も返答できる立場になりたいと思います。みなさま,どうぞよろしくお願いいたします。

    Subject: [fb-ml 582] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 12:17 97.5.26 +0000, 仙台7200/90 wrote:
    ・FB2は68Kコードを生成しますが,ToolBoxルーチンは68Kコードなのでしょうか。ToolBoxがPPCのものもあるのなら,FB2からPPC_ToolBoxをCallすれば速度が向上するのかな?,Mac Programing初心者ですので,このあたりのアプリ側とToolBox側のコード種別と実行速度の関係がよくわかりません。
     Toolboxは呼び出されるだけでFB2などが内包するわけではありません。
     powerPCネイティブコード化されているToolboxは高速に動作します。
     よく使われるCOPYBITSなどは格段に速度が違います。
     あと呼び出し側は68Kコードかppcコードかを区別しなくても大丈夫です。

    ・ハンドブックのマウス位置取得サンプルを基に,お絵描きソフトを作っているのですが,イベントマネージャへのマウス位置問い合わせの方法では,マウスを素早く動かしたときに問い合わせ速度が追い付かず,描画されるラインがガクガクになってしまいます。市販のソフトなどはかなり高速な読み取りレートになっているように見えますが,マウスの位置を取得するのにイベントマネージャを介さずに,読み取りレートを上げる方法はないものでしょうか。サンプル通りにMOUSE(0)を発行してMOUSE(_holz),MOUSE(_vert)で取得していると私のMacにはZ80が入っているのではと思うくらい遅いのです。Inside Macも所持している分では調べたのですが,名案はなかなか思い浮かびません。ああ,今夜も眠れない...
     読み取りレートを速くすることは出来ません。というか1/60単位でCPUの割り込みによってデータがバッファにため込まれます。
     高速に動かせば、どんなお絵かきソフトであっても座標は飛びます。
     結論からいうと入力後の処理が遅いという事です。
     入力後(前)の処理ループを短くすれば座標は飛ばなくなります。

    Subject: [fb-ml 583] Re: はじめまして,教えて下さい。
    古籏さん,ありがとうございます。
    すぐに返事が頂けて,とても嬉しいです。漠然とした質問だったので,返事がもらえないのではと心配していたので,とてもありがたく思います。

    Inside Macにも載っていましたが,やはり1/60secでしか座標は取れないのですね。今日,PhotoshopとPainterをよく観察したのですが,確かに座標飛びが確認できました。Photoshopは座標飛びが発生したら,直線上の中間座標を計算しているようですね。これと同等の機能は無事に作成することができました。やっとエアブラシの描画部分ができた感じです。これからは,ペンの変更をできるようにしたいと思います。現在はハンドブックの306ページの画像を記録という例題と同じ方法で,画像ハンドルに丸を記録してオフセット後にドローしています。これをリソースから読み込んだペンの画像が使えるように変更したいと思います。リソースから読んだ画像を描画する場合は,ToolBoxのCOPYBITSを利用するのが一番動作が早いのでしょうか。普通どのような手法を取るのか解っていないので,また調べなくてはなりません。

    Painterはなかなか複雑な動きをします。1/60sec毎に確実にマウス座標を取得して,重いペンの描画と別タスクで動いているかのような動作です。実際にかなりマウスを振り回しても,Photoshopなら座標飛びが起こる場合でもしっかりと追従しています。確かに座標飛びは起こるのですがマウスの動きと描画が同期が取れていないので,マウス座標を記録しつつあき時間で描画しているようですね。このような機能を実装するのには,やはりタスクを発生させるのがいいかなと考えましたが,1/60sec毎に確実に動作するタスクを作る場合の注意点やこつはありませんか。やはり,カット&トライで試すしかないのかな。デバッカで動作時間の積算ができないのは不便ですね。

    ToolBoxとコード種別の説明は,とてもよく解りました。しかし,利用したいToolBoxルーチンが68KなのかPPCなのかをみなさんはどのように判断しておられるのですか。関数名がなにかで判断できるのでしょうか。

    古籏さん,これからも仲良くしてください。今日はありがとうございました。

    Subject: [fb-ml 584] Re: はじめまして,教えて下さい。
     ベン/矢野 勉 です。

    At 6:29 AM 97.5.27, 仙台7200/90 wrote:
    ToolBoxとコード種別の説明は,とてもよく解りました。しかし,利用したいToolBoxルーチンが68KなのかPPCなのかをみなさんはどのように判断しておられるのですか。関数名がなにかで判断できるのでしょうか。
     ? PPC ネイティブ TOOLBOX と 68K TOOLBOX を区別なんかしてないんでわ? だって PPC マシンにはそもそも 68K TOOLBOX 自体が載ってない (まだ書き換えが終わってないところは別ですが...) わけで、呼び出したくても呼び出せませんよ。

     PPCネイティブのアプリの話をすれば、ある TOOLBOX が呼び出されると、すでに PPC対応済コードがあれば単純にそれが呼び出され、68K コードだったらエミュレータを介して実行される。この区別はシステムがやることですから、プログラマはただ単純に TOOLBOX を呼べばいいだけでわ。

     で、このプログラムを、(変更なしに)さらに TOOLBOX の PPCネイティブ化が進んだマシン上で使うと、あら不思議、実行速度があがるわけです。理由は今まで 68Kのままだった TOOLBOX が PPC に改められたため、いままでそこではエニュレーションして遅かったのが、完全ネイティブ TOOLBOX に切り替わるからです。(というか、呼び出してみたらそこに PPCコードがあった、て感じでしょうか?)

     要は、プログラマはただ呼びさえすれば、あとはシステムが勝手に区別します。呼び出したさきに PPC コードがあるか, 68K コードがあるか、の違いであって、ユーザーが意識的に 68K TOOLBOX を呼んだり、PPC TOOLBOX を呼んだりするわけではありません。

    Subject: [fb-ml 585] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 21:29 97.5.26 +0000, 仙台7200/90 wrote:
    だ画像を描画する場合は,ToolBoxのCOPYBITSを利用するのが一番動作が早いのでしょうか。普通どのような手法を取るのか解っていないので,また調べなくてはなりません。
     多くは

    CALL DRAWPICTURE
     か
    CALL COPYBITS

     のどちらかです。私はどちらかというと自前の場合が多いかな。
     自前でやるのが最も高速です。が素人レベルでは自前でやらない方が高速です。

    >やはりタスクを発生させるのがいいかなと考えましたが,1/60sec毎に確実に動作するタスクを作る場合の注意点やこつはありませんか。やはり,カット&トライで試すしかないのかな。デバッカで動作時間の積算ができないのは不便ですね。
     こういう場合はタスクは作っていないんですよ。
     アイドリングタイムに描画し、さらに描画中にイベントが発生したら描画を中断しイベント取得を最優先するといった方法を使います。
     描画中といっても1ピクセル単位ではなくてラスター単位(1行)でイベントチェックをおこないます。
     描くデータは描画バッファにため込んでおけば複雑なものでも高速にイベント取得できます。

    Subject: [fb-ml 586] カーソルの変更が・・
    ★以前に
     ■はい。一つのウィンドウに、テキストのフィールドとPICTのフィールドを作って、テキストの方はうまくいったのですが、PICTウィンドウの方がイマイチうまく行きません(^_^;)。
     ●カーソルがPICTフィールドに入ったら、カーソルを鉛筆に変えたい。(カーソルを変える方法は解りました)

     ●描画をPICTフィールドに限定するため、PICTフィールド以外では描画を無効にしたい。

     そこで、「カーソルがPICTフィールドに入った」という情報を何が得たいのですが、PGではなにかいいグローバル関数みたいなものはありませんか?やっぱ、座標で指定するしかないのかなぁ・・。 すいません、どなたかご指導下さいm(__)m。

     ■と書いたところ、[fb-ml 497]でベン/矢野 勉さんが

    > これは簡単です(^^)
    > PG はフィールドやボタンの上にきたときには自動的にカーソルを変更しますが、このとき、RUNTIME.GLBL 内で定義されている _pictCursor, _buttonCursor という定数を使っています。自分の RSRC ファイルに鉛筆カーソルのリソースを作ったら、そのID番号を (RUNTIME.GLBL を変更して) _pictCursor にセットしてやります。 >これであとはPGがよきにはからってくれるでしょう。
    >
    > ただし、PICTフィールドには必ず STATIC 属性を指定してください。FIELD ATTRIBUTE... で変更可能です。PICTフィールドは実はその正体は TEXTフィールドと同じものなんで、EDITABLE にしていると Iビーム・カーソルになってしまうようです。
    > PGマニュアルの P158 の _oCursor アクションの解説もご覧ください。

     ■と教えてもらいました。ありがとうございました。
      さっそく、というか週末にいろいろいじってみました。

     そこで、Runtime.INCのpGcursorを見てみると、テキストフィールド内は全て_ibeamCursor(つづりは怪しい(^_^;))で、PICTフィールド内は全て_pictCursorなのですね。

     私がやろうとしているのは、カーソルの形状およびそのレスポンスをフローティングパレットの道具をクリックすることによって決めて、それを何かのグローバル変数に入れて置いて、PICTウィンドウに入ったらそのグローバル変数によってレスを変えようと思ったのです。
     まぁ、よくあるグラフィックソフトのような反応です。

      しかし、PGだとPICTフィールド内は全て_pictCursorの定数なので、こちらでそれ以上変えられません(T^T)。

     こういうことをやろうと思ったらどうすればいいのでしょうか?
     やっぱりPGに頼らず、自分で組むべきなのでしょうか?

      ただ、現在の設定のままだと、_pictCursorでPICTをつまんでスクロールできるので、どこか、たとえばPICT.FLTRのなかでスクロールとリンクしているのかもしれなくて、恐くていじれません。というか、もっとPG内のFNを理解して、それらを駆使すればいいのかも知れませんが、まだそこまでいっておりません(^_^;)。

     何かいいアドバイスがありましたらお願いしますm(__)m。
     いつも質問ばかりでスイマセン。

     PGはテキストをいじるのはなんか簡単そうですが、PICTをやるのは向いてないのかなぁ・・・などと、最近はちょっと気落ち気味です。

    Subject: [fb-ml 588] Re: はじめまして,教えて下さい 。
    ベン/矢野さん,はじめまして。

    ToolBoxコードに関する説明をありがとうございます。私,プログラム開発は会社のWINDOWSでしかしたことがないので,ToolBoxのコード種別で混乱しておりました。Inside Mac Vol.1 に載っている関数も最新のマックではPPC化されているものが多いから気にせず使いなさいということですね。

    私がToolBoxは68KとPPCがあり,同じ機能でも関数名が違うと思い込んだのはCやCPXで,ToolBoxにアクセスするときに68KとPPCで取扱が違うような説明があったように思ったからです。(根拠はありません,私の思い込みでしょう)えらい誤解をしていたようです。ありがとうございました。

    では,失礼します。

    Subject: [fb-ml 588] Re: はじめまして,教えて下さい。
    古籏さん,こんにちは。

    >画像を描画する場合は...
    多くは CALL DRAWPICTURE か CALL COPYBITSのどちらかです。
    私はどちらかというと自前の場合が多いかな。
    自前でやるのが最も高速です。が素人レベルでは自前でやらない方が高速です。(改行位置変更)

      ありがとうございます。まだ DRAWPICTURE と COPYBITS の差が解っていませんが,勉強したいと思います。自前でやるのが最も高速ということですが,メモリの一括コピーのイメージでしょうか。自分でする場合は,色深度など考えなくてはいけないのですね。私も,自分でできるようになりたいです。当分の間は既存の関数を使おうと思います。

     アイドリングタイムに描画し、さらに描画中にイベントが発生したら描画を中断しイベント取得を最優先するといった方法を使います。
      イベントチェックの方法なのですが,手法はいろいろ有るのでしょうが,描画中のFN内部でチェックするのでしょうか。しかし,マウスの座標取得はMOUSE(_vert)などでしていますので,どういうイベントでロジックのどこに何を書けばいいのかわからなくなりました。メインのON MOUSE FN myFunc を1行単位で通過するようなループにしないとだめなのでしょうか。描画中にイベントを取得する方法がわからないのは未熟の限りです。

     描くデータは描画バッファにため込んでおけば複雑なものでも高速にイベント取得できます。
      これは,Offscrean に描画して,ウインドウに転送するのはあとにするということでしょうか。それとも,描画バッファとはハンドルに画像を記録することなのでしょうか。ちょっと実験してみたのですが,どうも後者のほうが早いようですね。

    今日も頑張って勉強します。では。

    Subject: [fb-ml 589] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 19:19 97.5.27 +0000, 仙台7200/90 wrote:
      高速ということですが,メモリの一括コピーのイメージでしょうか。自分でする場合は,色深度など考えなくてはいけないのですね。私も,自分でできるようになりたいです。当分の間は既存の関数を使おうと思います。
     自前の場合は、いろいろ考慮しないといけないので面倒です。
     その割に意外と見返りが少ないかもしれません。
     ゲームのシステムβ版作成時は直接VRAMアドレスに書き込んでいました(笑)

      メインのON MOUSE FN myFunc を1行単位で通過するようなループにしないとだめなのでしょうか。描画中にイベントを取得する方法がわからないのは未熟の限りです。
     イベント取得のツールボックスをコールします。
     ON MOUSE FN〜はHANDLEEVENTSの中で有効なので直にイベントを取得してきます。

      これは,Offscrean に描画して,ウインドウに転送するのはあとにするということでしょうか。それとも,描画バッファとはハンドルに画像を記録することなのでしょうか。ちょっと実験してみたのですが,どうも後者のほうが早いようですね。
     いえいえ、全然違います。
     つまり以下のようなキュー(リングバッファ)を用意します。

    0:null
    1:null
    2:null
    3:null

     で何か描画が発生したら

    0:line (0,0)-(100,100)  <−QuePointer
    1:null
    2:null
    3:null

     という具合にキューに押し込みます。さらに描画要求がきたら

    0:line (0,0)-(100,100)  <−QuePointer
    1:box(0,0)-(90,111)
    2:null
    3:null

     という具合に押し込みます。
     アイドリングになったらQuePointerにある描画命令を実行します。
     でQuePointerを1つずらします。

    0:line (0,0)-(100,100)
    1:box(0,0)-(90,111)  <−QuePointer
    2:null
    3:null

     ここで違う描画が発生したらキューに押し込みます。

    0:line (0,0)-(100,100)
    1:box(0,0)-(90,111)  <−QuePointer
    2:circle (0,0),24
    3:null

     アイドリングになったらQuePointerにあるboxを実行します。
     でキューが3を超えたら(限界を超えたら)0から記録します。
     キューでなくスタックにする方法もありますが、このような場合はキューの方が高速ですしタフです。

     といった具合ですが、わかりますか?

    Subject: [fb-ml 590] Re: はじめまして,教えて下さい。
    古籏さん,こんばんわ。

    ゲームのシステムβ版作成時は直接VRAMアドレスに書き込んでいました
     すごいですね。どうやれば実現できるのかも想像できません。ここまでくると,神が宿るという世界なのでしょうか。

    (キューの利用法省略)といった具合ですが、わかりますか?
    キューを使えばいいということは理解しました。しかし,具体的な応用で迷っています。今日いろいろ実験してみたのですが,うまくいきません。次々と質問して申し訳ないのですが,次のポイントについてアドバイスをして頂けませんでしょうか。お願いいたします。

    話しは変わりますが,PICTリソースの描画で悩んでいます。
    スタートアップ・マニュアルのボールキャッチゲームでボールの形を変えようと考えました。Paint Softで小さな丸を作成し,ResEditでゲームのリソースファイルにPICT画像を追加しました。画像はグレースケールで背景が純白で丸は黒です。FN MoveBall 内の DEF CYCLE をコメントにして gBall.ballID = 128 を追加しました。実行すると確かに私の丸は表示されますが,背景が白のままで青になりません。オリジナルのボールは背景というか短形周辺部の白が青になりますよね。
    Photoshopなどで調べても私の画像とオリジナルの画像の差がわかりません。
    なにが違うのでしょうか。私のボールも周辺部が背景色になってくれるのを期待しているのですが,なかなか難しいものですね。

    FBを買って5日が過ぎましたが,実にとっつき易いですね。とても気に入ってしまいました。友人にも勧めてみます。

    Subject: [fb-ml 591] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 21:55 97.5.28 +0000, 仙台7200/90 wrote:
    >ゲームのシステムβ版作成時は直接VRAMアドレスに書き込んでいましたすごいですね。どうやれば実現できるのかも想像できません。ここまでくると,神が宿るという世界なのでしょうか。
     やりかたが分かれば簡単です。
     でも、あんまり速くないですよ(^^;

     ・キューを用意するのは,グローバル変数で配列を用意すればいいですか。それとも,アクセス速度を優先するならNewPtr(Size)で別途自分で用意したほうがいいのでしょうか。自分で簡単に試してみたのですが,グローバル変数でも速度はあまり変わらないような気がします。他の方法で何か良いキューの作成方法があるのでしょうか。
     グローバルな配列で十分でしょう。
     その方が楽ですし(^^)
     DIM gDrawType(127),gX(127),gY(127)
     とかいった感じでいいでしょう。

     ・キューのサイズというか,行数を動的に変えたいのですが,FBでは配列のサイズを途中で拡張するような機能はないのでしょうか。マニュアルでは見つけることができませんでした。リスト構造にする事も考えたのですが,CPXと違いFBでのリスト構造の取扱が良く解らず宿題になってしまいました。
     このMLの初期の頃に似たような質問があったような気がしますが忘れました(^^;  動的配列はFBにはありません。
     MLの内容を、いい加減ページに掲載した方がよさそうですね〜
     人数も予想以上に多くなって来ましたし。

     ・描画ループの中で,タイミングよくイベントを取得するのが難しくて困っております。ループの回数は,座標飛びの距離で変化するのですが,ループ内で毎回イベントを確認に行くと,不要なイベント確認が多くてループ時間が伸びてしまいます。やはりここは1チック毎にキューにマウス座標をセットするタスクがほしいと思いました。ON TIMER FN で試してみたのですが,LOCAL内のDO Loop実行中は割り込んでくれないのですね。FB2でPeriodic Taskを発行するにはどうすればいいのですか。必死になって調べているのですが手がかりがつかめません。割り込みについてはマニュアルに載って無いのですね。
     Macは割り込みでマウスのクリック等をチェックしているはずですのでなんか組み方がおかしいのかもしれません。
     直にTOOLBOXを呼び出すというものですが、確か先取り出しできるコールがあったと思います。ここらへんはベンさんが解説してくれるかな?

    話しは変わりますが,PICTリソースの描画で悩んでいます。
    スタートアップ・マニュアルのボールキャッチゲームでボールの形を変えようと考えました。Paint Softで小さな丸を作成し,ResEditでゲームのリソースファイルにPICT画像を追加しました。画像はグレースケールで背景が純白で丸は黒です。
    FN MoveBall 内の DEF CYCLE をコメントにして gBall.ballID = 128 を追加しました。実行すると確かに私の丸は表示されますが,背景が白のままで青になりません。オリジナルのボールは背景というか短形周辺部の白が青になりますよね。
    Photoshopなどで調べても私の画像とオリジナルの画像の差がわかりません。
    なにが違うのでしょうか。私のボールも周辺部が背景色になってくれるのを期待しているのですが,なかなか難しいものですね。

     これはスプライト(オブジェ)のように白抜きしたいという事ですか?
     私のページに合成表示の方法を書いたページがあったと思います。
     COPYBITSで_transparentを指定すれば背景色で抜けるのですが。
     マニュアルはリファレンス以外見ないので、ちょっと的外れかも。

    Subject: [fb-ml 592] Dynamic Array (Re: はじめまして)
    中野@kyoto-inet です。

    古籏さん(openspc@po.cnet.or.jp)
    》 ・キューのサイズというか,行数を動的に変えたいのですが,FBでは配列のサイズを途中で拡張するような機能はないのでしょうか。マニュアルでは見つけることができませんでした。リスト構造にする事も考えたのですが,CPXと違いFBでのリスト構造の取扱が良く解らず宿題になってしまいました。
    》 このMLの初期の頃に似たような質問があったような気がしますが忘れました(^^;
    》 動的配列はFBにはありません。

     NewPtr コールと XREF 関数を組み合わせれば,動的配列もどきが可能です。
    DIM queue&
    XREF queue%(127)
    
    numOfQueue = 10
    queue& = FN NEWPTR(numOfQueue * 2)
    
    ..........
    
    numOfQueue = numOfQueue + 2
    LONG IF numOfQueue =< 128
      queue& = FN SETPTRSIZE(numOfQueue * 2)
    END IF
    
     XREF 関数であらかじめ大きめの配列を宣言しておきます。そして,NewPtr で配列の置場所を確保しておけば,SetPtrSize で配列のサイズを変更できます。

     詳しくは,Reference の XREF の項や Handbook の Handles and Pointers の項を見てください。

    # でも,キューのサイズを変更させる意義が見いだせない。

    Subject: [fb-ml 593] Re: Dynamic Array (Re: はじめまして)
    中野さん,はじめまして。

    NewPtr コールと XREF 関数を組み合わせれば,動的配列もどきが可能です。
     ありがとうございます。でも,ちょっと難しくてよくわかりませんでした。
     私にはXREF関連の勉強が必要です。勉強して利用できるようになりたいと思います。

    でも,キューのサイズを変更させる意義が見いだせない。
     うぅぅ,突っ込まれたぁ。(^^;
     確かにサイズ変更の意義はあまりありません。
     私の場合は,ユーザーが長時間激しくマウスを動かし続けると描画が追い付かず,キューが溢れてしまいます。1分ならH,V各座標で3600個のキューが必要です。合計で7200個です。始めにこれだけの大きさの配列を取るのはもったいないと思ったから動的に確保できないものかと考えた次第です。
     しかし,根本的な仕様として数秒耐えられるキューで十分で,溢れた場合は描画を打ち切るなりすればいいのですから,キューは固定でいいのですね。
     でも,趣味でしていることなのでちょっと凝ってみたくなったのです。(^^;)

    中野さんは京都の方なのですか。実は私も京都の北山に住んでいました。
    地下鉄が北山まで通る以前のことですが...天一のラーメンが懐かしいです。(天天有も好きでした)
    ローカルな話題ですいません。では,これからもよろしく。

    Subject: [fb-ml 593] Re: はじめまして,教えて下さい。
    古籏さん,こんにちは。

    DIM gDrawType(127),gX(127),gY(127)とかいった感じでいいでしょう。
     ありがとうございます。これでいきたいとおもいます。

    人数も予想以上に多くなって来ましたし。
     そうなんですか。MLの人数って今はどれくらいなのでしょう。
     ある程度の人数になっているのでしたら,一度親睦会などをしても楽しいかもしれませんね。東京でなら私も参加したいと思います。

    >Macは割り込みでマウスのクリック等をチェックしているはずですのでなんか組み方がおかしいのかもしれません。直にTOOLBOXを呼び出すというものですが、確か先取り出しできるコールがあったと思います。ここらへんはベンさんが解説してくれるかな?
     組み方がおかしいと指摘されると,すごく不安になります。(^^;
     えーっと,私の考えていることを整理してみます。なにか問題があるからうまくいかないのだと思うので,問題点を鑑定して頂けないでしょうか。

     ・習作のお絵描きソフトにエアブラシの機能を付けようと考えています。
      Main Loop の ON MOUSE FN myDraw で描画を開始します。
      以下はLOCAL FN myDraw 内での手順です。
      マウスの座標は各イベントレコードからグローバル座標で取得できますが,イベントマスクをかけたり,ローカル座標への変換が煩わしいのでToolBox関数のGetMouse(point) で取得しています。   描画は古い座標と新しい座標の間に,直線で少しづつずらしながらPICTを上書きしていきます。このループを便宜上座標補完ループと呼びます。
      ここで,座標が大きく飛ぶと座標補完ループの回数が増えてしまい,1チック以内にループ完了できなくなります。するとGetMouseのタイミングが遅れて座標飛びがどんどん大きくなってゆきます。補完ループ内でGetMouseをすると,1チック以内に数十回の座標取得が発生します。これらは全て同じ値ですので,値が異なる確認のIF文を入れて新規座標のフィルタをかけます。これならば,1チック毎のマウス座標は確実に取得できキューに保存できますが,反面不要なGetMouseとIF文がループ速度を低下させます。
      補完ループ内部で1チック毎に1回だけGetMouseができれば効率がすごく改善されると考えました。しかし,ループ内では何を使ってもIF文が必要だし改善にならないのではと思いました。そこで,1チック毎に割り込んでくれるタスクでGetMouseしてキューに書き込めばいいのではと考えました。
      マウスをドラッグ中は座標補完ループとその外側のWHILE FN BUTTON のループ内にいます。FB2ではLOCAL FN内のループ実行中にMain のイベントCASEが効くのでしょうか。それならば,ドラッグ中に発生するイベントのLOCAL FN内でGetMouseすればいいのですね。でも,試しにやってみたのですがうまくいきませんでした。ああ,こんな長文になるのならソースのほうが良かったでしょうか。

    白抜きの方法は,古籏さんのページを見て勉強したいと思います。
    いつもお忙しい中,レスを頂いて恐縮です。

    Subject: [fb-ml 595] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 13:42 97.5.30 +0000, 仙台7200/90 wrote:
      ここで,座標が大きく飛ぶと座標補完ループの回数が増えてしまい,1チック以内にループ完了できなくなります。するとGetMouseのタイミングが遅れて座標飛びがどんどん大きくなってゆきます。
     ここ、これですよ、おかしい部分は。

    座標が大きく飛ぶと座標補完ループの回数が増えてしまい

     この補間部分が遅いわけですから、ここをアイドリング処理すればいいわけです。
     エアブラシの処理ですよね。普通にやっても時間かかりますのでキューだけでなく「どこまで描いたか」を変数に入れておけば昔のPhotoshop 2.0のように1ライン毎に描画する事で座標飛びがなくなるはずです。

     「わけわからない」

     というのであれば、サンプルを作ってもいいですよ〜
     ちょっと忙しいので遅くなるかもしれませんが・・・

    Subject: [fb-ml 597] Re: やはり 255文字以上変数に
    ベンさん、メーリングリストの皆さま、こんにちは。
    あれから、いろいろと研究し実験した結果、

     j=0 'j=1とかいろいろ。。。
    nthHandle& = [xCmdPtr& + _xParams + 4 * J]
    newptr& = [nthHandle&]

    でポインタを取り出せているようだということがわかりました。
    しかし、そのポインタをどう使っていいかわからず。

    ポインタを求めるtoolBoxルーチンを調べていたのですが、(例えば、FN CHARBYTEやFN CHARACTERBYTETYPE)いずれもコンパイルエラーでうまくいかず、結局、255文字づつハンドルからstr255$へ入れていく方法を考えました。

    FN ZeroToPas (xCmdPtr&,[[xCmdPtr& + _params + j*4]], str255$(j))

    を下記のように変更すると

    FN ZeroToPas (xCmdPtr&,[[xCmdPtr& + _params + j*4]]+100, str255$(j))

    で、XFCNに渡した引数のうち100バイト後からの文字列をとりだせるということがわかりました。

    この方法で進めていけばなんとかなるかなと思っています。
    とりあえず、事後報告です。

    もし、こんな方法はおかしいし、良くないのであれば、ご忠告をお願いいたします。

    Subject: [fb-ml 596] Re: はじめまして,教えて下さい。
    古籏さん,こんばんわ。

    今,いろいろ考えていたのですが,アイドリング処理をどのように実装するのかがわかりません。できるだけ自力で解決するように努力しようと心がけているのですが,悲しいかな見当がつきません。
    アイドリング処理とは,描画ループ中で何かをチェックするということなのでしょうか。それとも,根本的に違う処理なのでしょうか。

    サンプルを頂けると自分のソースの悪い点などがわかるのではと思いますので,甘えさせて頂いてもいいでしょうか。エンジン部分だけでもありがたいです。

    Program Generator のチュートリアルを少ししてみたのですが,File Viewer を教本通りに作成するとコンパイル時に_fileMenuが宣言されていないとエラーになります。適当に修正して強引にメイクするとPICTファイルを読み込んだら,ウインドウが2つ表示されてしまいます。1つ目のウインドウ名はファイル名で,2つめのウインドウ名はPictuerWndとなります。MAINファイルのAction:Mainに教本通りFN openDocを追加してからおかしくなったように感じます。みなさんは,PGの教本は正常にメイクできましたか。CDに入っていた(PG) Tutorialsフォルダのサンプルをメイクしようとしても定数の重複宣言エラーになりません?
    あぁ,私のFB環境が壊れているのでしょうか。しくしくしくしくしく。

    MLが67人もいるなんてすごいですね。でも発言される方は10人ほどでしょうか。私と同じ初心者の方が多いのならちょっと安心(おいおい;)です。漫画の本は分厚くてもすぐに読み切れるのに,マニュアルって時間がかかりますね。では,また。

    Subject: [fb-ml 598] Re: はじめまして,教えて下さい。
     ベン/矢野勉 です。

    At 5:58 AM 97.5.31, 仙台7200/90 wrote:
    Program Generator のチュートリアルを少ししてみたのですが,File Viewer を教本通りに作成するとコンパイル時に_fileMenuが宣言されていないとエラーになります。適当に修正して強引にメイクするとPICTファイルを読み込んだら,ウインドウが2つ表示されてしまいます。
    1つ目のウインドウ名はファイル名で,2つめのウインドウ名はPictuerWndとなります。MAINファイルのAction:Mainに教本通りFN openDocを追加してからおかしくなったように感じます。みなさんは,PGの教本は正常にメイクできましたか。CDに入っていた(PG) Tutorialsフォルダのサンプルをメイクしようとしても定数の重複宣言エラーになりません?
    あぁ,私のFB環境が壊れているのでしょうか。しくしくしくしくしく。

     ああ、これはもはや FAQ にしたほうがいいなあ。たぶん4度くらい聞かれている(^^;)

     これは日本語版にのみ起きる症状です。原因は単純で、古い PG は、メニュー定数を作成するのに、メニュー名そのものを使用するのです。英語版では File, Edit とメニューが並んでいたので、_FileMenu, _EditMenu などの定数が作成されていたんです。

     で、なんか日本語版では不注意にメニューが日本語に直されていまして、その結果、メニュー名から定数を作成しようとして、文字化けを起こすわけです。

     結論。PG でメニューをすべて英語にもどすか、同梱の英語版のサンプルを使用してください。または、一番いい方法は、PG をアップデートすることです。日本語版のアップデータは MODE がユーザー登録者には配布していますので、まだしていない場合は、すみやかに登録してください。英語版のアップデータは STAZ のページ &lt;http://www.stazsoftware.com/> にあります。現在の最新バージョンは、たしか FB 2.3, PG 4.3.2 のはずです。

     アップデートをすませると、PG はメニュー名からではなく、あらたに追加された、Menu Constants ダイアログで設定したとおりに定数を作成するようになります。これでほとんど問題は消えるはずです。

    Subject: [fb-ml 598] Re: Dynamic Array (Re: はじめまして)
     ベン/矢野勉 です。

    At 10:42 PM 97.5.30, 仙台7200/90 wrote:
    >NewPtr コールと XREF 関数を組み合わせれば,動的配列もどきが可能です。
    ありがとうございます。でも,ちょっと難しくてよくわかりませんでした。
    私にはXREF関連の勉強が必要です。勉強して利用できるようになりたいと思います。

     ううむ、マックではポインタ(再配置不可能ブロック) よりもハンドル(再配置可能ブロック)を使ったほうが、メモリ効率はいいので、動的配列には XREF@ のほうがよいかと。

     ただし、NEWPTR(), NEWHANDLE(), SETHANDLESIZE() といった、動的配列に必要なTOOLBOX って、結構処理時間を食うような気がします。

    Subject: [fb-ml 598] Re: はじめまして,教えて下さい。
     ベン/矢野 勉 です。

    At 3:47 AM 97.5.30, KaZuhiro FuRuhata wrote:
    > ・描画ループの中で,タイミングよくイベントを取得するのが難しくて困っております。ループの回数は,座標飛びの距離で変化するのですが,ループ内で毎回イベントを確認に行くと,不要なイベント確認が多くてループ時間が伸びてしまいます。やはりここは1チック毎にキューにマウス座標をセットするタスクがほしいと思いました。ON TIMER FN で試してみたのですが,LOCAL内のDO Loop実行中は割り込んでくれないのですね。FB2でPeriodic Taskを発行するにはどうすればいいのですか。必死になって調べているのですが手がかりがつかめません。割り込みについてはマニュアルに載って無いのですね。
     Macは割り込みでマウスのクリック等をチェックしているはずですのでなんか組み方がおかしいのかもしれません。
     直にTOOLBOXを呼び出すというものですが、確か先取り出しできるコールがあったと思います。ここらへんはベンさんが解説してくれるかな?

     これは ToolBox の GetMouse() ですね。カレントウインドウのローカル座標で、現在のマウス位置を返します。Handbook によると、FB では次のような呼びだしになります。
     DIM thePoint.4
      CALL GETMOUSE(thePoint)
    
     thePoint.v, thePoint.h でとりだせます。
    
     え、イベントループはループのたびにバックグラウンドに処理を割り振るので、普通のループよりは明らかに遅いです。マウスの処理のような短い処理の場合、普通のWHILE -- WEND ループで、処理時間を独占したほうがいいでしょう。いっさい他に処理時間をわたさないわけです。WHILE-WEND ループ内で、CALL GETMOUSE でマウス位置を確認しつつ描画していくわけです。

     必殺技として、MAC の OS がマウスカーソルを動かすのに使っているのと同じ、割り込み処理ルーチンもありますが...ここまでやるのはどうかと(^^;) よくしらないし(^^;)

    Subject: [fb-ml 599] Re: はじめまして,教えて下さい。
    ベンさん,丁寧なレスをありがとうございます。

    ああ、これはもはや FAQ にしたほうがいいなあ。...
     そ,そうなんですか。MLって過去ログが見れないので途中参加の私などは,このような質問をしてしまうのですね。ユーザー登録は発送してからまだ数日ですのでアップデーターを待ちたいと思います。

    WHILE-WEND ループ内で、CALL GETMOUSE でマウス位置を確認しつつ描画していくわけです。
     うーん,そのようにしてはいるのですが,WHILE Loopの完了前に1チック経過してしまう場合にGetMouseの発行が遅れるという問題が自力で解決できない状態なのです。WHILE内部でGetMouseしたらいいのですけど,不要なCallの回数が多くなり,Loop速度が低下するので他の方法は無いものかと考えている次第です。Loopの回数の上限を制限して,どこまで描画したかを記録してMainのDo Loopに戻すとNullイベンド時にGet Mouseできるので,これがアイドル処理というものなのかなと考えています。まだしばらく勉強が必要なようです。

    必殺技として、MAC の OS がマウスカーソルを動かすのに使っているのと同じ、割り込み処理ルーチンもありますが...
     これは私のスキルをはるかに超えていますので(^^;......
     でも,こんなことができると楽しいでしょうね。

    ただし、NEWPTR(), NEWHANDLE(), SETHANDLESIZE() といった、動的配列に必要なTOOLBOX って、結構処理時間を食うような気がします。
     これは,FB2で固定長のグローバル配列を利用したほうがレスポンスがいいということなのでしょうか。

    ちょっとお聞きしたいのですけど,PG Function の FN buildGWorld(t)って色深度はどうなるのですか。160Kとか256とか指定したい場合にどうすればいいのか調べているのですが,まだ見つけられません。白黒のbuildBWorldも2値と8色の使い分けがどうなっているのだろうと考えてしまいます。直接ToolBoxを呼ぶのが正解なのでしょうか。

    PGの生成するコードが少しづづわかってきました。理解の範囲が広がるとマックに向かうのが楽しくなりますね。これからも精進したいと思います。

    Subject: [fb-ml 600] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 2:02 97.6.1 +0900, Tsutomu YANO wrote:
     必殺技として、MAC の OS がマウスカーソルを動かすのに使っているのと同じ、割り込み処理ルーチンもありますが...ここまでやるのはどうかと(^^;) よくしらないし(^^;)
     VBLタスクは、私もやめた方がいいと言われた事があります。
     一度もトライしたことがないのでなんとも・・・

    Subject: [fb-ml 601] Re: はじめまして,教えて下さい。
    古籏一浩です。

    At 20:58 97.5.30 +0000, 仙台7200/90 wrote:
    アイドリング処理とは,描画ループ中で何かをチェックするということなのでしょうか。それとも,根本的に違う処理なのでしょうか。
     校正中で時間がないので、こんな感じというのを書いておきます。
     ミスがあっても許してねf(^^;
     アイドリング処理は以下のような感じです。
    local fn doDialog
      evt = dialog(0)
      id = dialog(evt)
      case _wndClick
       〜〜〜〜
      case _btnClick
       〜〜〜〜
      case _efClick
       〜〜〜〜
     などなどのイベント処理
     処理されたら関数から脱出するかフラグを用意
    
      fn idlingProcess
     何もイベントが発生していない&マウスが移動してない場合に
     描画させる
    end fn
    
     といった具合です。
     上級編で、6月中に解説したいと思います。
     が、しばらくは忙しいので駄目ですf(-.-b

    Subject: [fb-ml 602] 255 文字以上変数 part2
    メーリングリストの皆さま、こんにちは。
    おかげさまで、無事255文字以上ハンドルから取り出すことが出来、思いの処理をすることができるようになりました。

    で、質問なのですが、今度はHyperCardへの返り値に255文字以上返したいのです。おそらく、こっちもハンドルを使えばいいのだろうと思い、適当なハンドルをつくりCALL BLOCKMOVE([hndl&],strPtr&,200)で値をいれHyperCardへ返すことに成功したのですが、ハンドルへすこしずつ(255文字ずつ)付け足していく方法がわかりません。

    思いとしては、ループの中で、出てきた値を、一旦文字列変数へいれそれをハンドルへ付け足すという繰り返しにしたいのですが、その仕方がわかりません。
    osErr% = FN HANDANDHAND([hndl&],strPtr&)
    を使うのかなと思い実験したのですが、うまくいきません。

    また、ハンドブックやリファレンスには、配列やSTRリソース、ファイルとハンドルのやりとりは載っていても、文字列変数とのやりとりは載っていないようなのでいまいちピンときません。

    いつも質問ばっかりで申し訳ないのですが、よろしくお願いいたします。

    Subject: [fb-ml 603] アイドリング処理について
    古籏さん,返事が遅くなってしまいました。

    アイドリング処理は以下のような感じです。
     お忙しい中ありがとうございます。
     だいたいのイメージは掴めました。実験してみたいとおもいます。昨日,古籏さんのホームページを見せてもらいました。すごく詳しいですね。あまりの量に圧倒されてしまいました。初級編1から順に勉強していきます。ところで,このページを印刷しようとすると,あちこちでホストスクリプトエラーが出てしまうのですが,これもFAQなのでしょうか。古籏さんのページは本にして売れるのではと思います。これほどの量の資料と教材を作って頂いて,広く公開されている姿勢には頭が垂れる思いです。重ねてお礼申し上げます。

    Subject: [fb-ml 604] MIDIの使い方
    FB-MLのみなさま、はじめまして。
    さかたと申します。

    自分なりにいろいろ調べたのですが、わからないので、お伺いします。

    FBでMIDIを扱いたいのですが、参考になる書籍、ソースなどがなく困っています。
    そもそも、マニュアルには
    OPEN "C"
    でmidi機器との通信ができるように書いてあるのですが、実際にはボーレートが合わずに通信できません。
    MIDIマネージャを使おうにも、
    (FB) Examples:Technical:Toolbox Routines:MIDI Mgr
    というソースがあるのですが、これだけでは使い方が全くわかりません。
    inside of MacでMIDIマネージャを調べるのが筋かもしれませんが、MIDIマネージャ自身がもうマイナーなので気が進みません。。。(手元にないという問題もあるのですが)
    なにぶんマックでのプログラミングはよくわかってないので、よきアドバイスをお願いいたします。

    Subject: [fb-ml 605] Re: MIDIの使い方
    古籏一浩です。

    At 19:03 97.6.4 +0004, G.Sakata wrote:
    inside of MacでMIDIマネージャを調べるのが筋かもしれませんが、MIDIマネージャ自身がもうマイナーなので気が進みません。。。
    (手元にないという問題もあるのですが)

     MIDI Managerは昨年だったかにQuickTime 2.1に飲み込まれまして(^^;
     すでに存在していても意味がない(?)という状態です。
     要するにQuickTimeを介せという事みたいです。

     MIDI機器の制御というかデータを送信するという事ですか?
     MIDI音源の型番もできれば載せてもらえるとグッドです。
     でも、うちにはSC-55しかありませんが(^^;
     Open "C"は、MZ-2500と接続してデータのやりとりをした程度です。

     音楽に詳しい人がいたよ〜な(ぼそっ)

    Subject: [fb-ml 606] Re: MIDIの使い方
    でへへへ伊藤です。ご無沙汰しておりますです。

    At 19:03 97.6.4 +0004, G.Sakata wrote:
    >inside of MacでMIDIマネージャを調べるのが筋かもしれませんが、MIDIマネージャ自身がもうマイナーなので気が進みません。。。(手元にないという問題もあるのですが)

     MIDI Managerは昨年だったかにQuickTime 2.1に飲み込まれまして(^^;
     すでに存在していても意味がない(?)という状態です。
     要するにQuickTimeを介せという事みたいです。

     MIDI機器の制御というかデータを送信するという事ですか?
     MIDI音源の型番もできれば載せてもらえるとグッドです。
     でも、うちにはSC-55しかありませんが(^^;
     Open "C"は、MZ-2500と接続してデータのやりとりをした程度です。

     音楽に詳しい人がいたよ〜な(ぼそっ)
    ひ〜ん、わかりませ〜ん。ごめんなさ〜い。(TOT;;;;;;)

    Subject: [fb-ml 607] Re: MIDIの使い方
    さかたです。

    古籏さん、伊藤さん、リプライありがとうございます。
     MIDI Managerは昨年だったかにQuickTime 2.1に飲み込まれまして(^^;
     すでに存在していても意味がない(?)という状態です。
     要するにQuickTimeを介せという事みたいです。

    ということはQuickTime 2.1を調べるべきなのでしょうか?(なんかもっと大変そうだなぁ(;_;))

     MIDI機器の制御というかデータを送信するという事ですか?
    簡単なエディターを作成したいと考えています。
    市販のMIDIシーケンサーやライブラリアンなどでも可能だとは思いますが、ぜひ自分なりのものを作成したいのです。

     MIDI音源の型番もできれば載せてもらえるとグッドです。
     でも、うちにはSC-55しかありませんが(^^;

    機種はとりあえずJD990です。
    MIDIの送受信さえできれば、あとはエクスクルーシブのフォーマットの問題だけなのでなんとかなると思うのですか。。。

     Open "C"は、MZ-2500と接続してデータのやりとりをした程度です。
    やっぱりOpen "C"ではだめなのかなぁ。
    モードさん曰く、「できるはずだ」の一言だったのですが(T_T)。

    Subject: [fb-ml 608] Re: MIDIの使い方
    古籏一浩です。

    At 18:25 97.6.5 -0000, G.Sakata wrote:
    >  要するにQuickTimeを介せという事みたいです。

    ということはQuickTime 2.1を調べるべきなのでしょうか?
    (なんかもっと大変そうだなぁ(;_;))

     FBII の CD-ROMにQuickTimeのサンプルはありますが・・・
     MIDI機器があれば、そっちに出力するだけで入力は駄目かなと思いますけど・・・どうなんでしょう。

    >  MIDI機器の制御というかデータを送信するという事ですか?

    簡単なエディターを作成したいと考えています。
    市販のMIDIシーケンサーやライブラリアンなどでも可能だとは思いますが、ぜひ自分なりのものを作成したいのです。

     私も試みたことがあります。
     SMFをダイレクトに出力したりしてみましたが、はてさて(^^;
     結局鳴りませんでした・・・

    > Open "C"は、MZ-2500と接続してデータのやりとりをした程度です。

    やっぱりOpen "C"ではだめなのかなぁ。
    モードさん曰く、「できるはずだ」の一言だったのですが(T_T)。

     できると思います。
     が、なんか知らないけど、些細な部分ではまります。
     READ #1,A$;0
     とかではまってしまう事もありますし・・・
     OPEN "C"のサンプルも欲しいですね。
     と墓穴を掘りたくない(笑)

     70人近くいるから、MIDIに接続して使っている人がいるかもしれないですヨ。

    Subject: [fb-ml 609] Re: アイドリング処理について
    古籏一浩です。

    At 12:23 97.6.4 +0000, 仙台7200/90 wrote:
     おもいます。昨日,古籏さんのホームページを見せてもらいました。すごく詳しいですね。あまりの量に圧倒されてしまいました。初級編1から順に勉強していきます。
     まだまだ量が少ないのと、期待に応えていない部分が多いので今後にでも期待してください(^^;
     (技評)JavaScript本の山場は超えたので、ムービー編集してMacでゲームを作って、その後にページを更新します(おいおい^^;)

     ところで,このページを印刷しようとすると,あちこちでホストスクリプトエラーが出てしまうのですが,これもFAQなのでしょうか。
     このページというのは、私のFuture BASIC II-Jのどこでしょうか?
     もしPostScript エラーのメッセージがわかるようであれば教えて下さい。Bounding Errorかな?

     古籏さんのページは本にして売れるのではと思います。これほどの量の資料と教材を作って頂いて,広く公開されている姿勢には頭が垂れる思いです。重ねてお礼申し上げます。
     本の元原稿はあるんですよ。
     最初にインプレスに持っていったら駄目でした。
     技評(技術評論社)も駄目みたいでf(^^;

    Subject: [fb-ml 610] RE: カラーメニューの使い方
    ★久々の発言の堀です。
     また質問なのです(^_^;)。

     相変わらず、PGで遊んでいるのですが、メニューからアップル標準のカラーピッカーを表示させて、色の変更をもくろんでいるのですが、うまく動きません(T^T)。

     【やりたいこと】
       PGで作ったメニューに表示させたカラー選択用のMDEFをクリックすることによって、ペンの色やテクストの色を変更したい。

     【やってみたこと】
      ●.MAIN のなかの_MENUまたは_otherBeforeMenuの分岐からMOUSE(_lastMHorz)またはMOUSE(_releaseHorz)でクリックした位置を取り込んで、その位置のカラーをCALL GETPIXEL()で取り込もうとしたが失敗
                   ↓
       たぶん、_MENUまたは_otherBeforeMenuの分岐に入った時点では、PGによって自動的にメニューが閉じられており、クリックした位置のカラーが取り込めない。

      ●CD-ROM内のMDEFtester.BASを見てみて、それらしい関数を取り込んで使ってみたがやはりダメ。
                   ↓
       正確なことはわからないが、たぶん私の解析が足らない(笑)

    ★というところで悩んでます。
     せっかくカラーメニューを選ぶとRGBの値が表示されているのに、それが使えないのは悔しいです(;_;)。
     うまいカラーメニューの使い方を御存知の方はご教授下さいm(__)m。

    ★ちなみに、底値(?)のPerformer5430(80MB)を¥225,000でゲットしました。
     カミさん用のマシンになりそうです。私の(Quadra800+PPC601)よかたぶん2倍以上速いです・・・。
     
    Subject: [fb-ml 611] Re: カラーメニューの使い方
    At 10:40 AM 97.6.8, 堀 浩一郎 wrote:
     相変わらず、PGで遊んでいるのですが、メニューからアップル標準のカラーピッカーを表示させて、色の変更をもくろんでいるのですが、うまく動きません(T^T)。

       【やりたいこと】
       PGで作ったメニューに表示させたカラー選択用のMDEFをクリックすることによって、ペンの色やテクストの色を変更したい。

     せっかくカラーメニューを選ぶとRGBの値が表示されているのに、それが使えないのは悔しいです(;_;)。
     うまいカラーメニューの使い方を御存知の方はご教授下さいm(__)m。

     これはですね、PG のマニュアルがひどく不親切な部分なんですが、いちおうは p87 に2行だけ解説がついているんですね。ここは何を言っているかといいますと、
     ということを言わんとしているんですね。

     結局、PG ではメニュー選択後には _menuAction(_menuLong) が発生しますので、ここで、Colorメニューが選ばれたことを確認したら次の処理をします。
    1.
    red$, green$, blue$ の3つのローカル変数を用意する。
    2.
    3つの情報は Colorメニューの3つのアイテムに上から入っているので、これを PG のグローバル関数 pGgetItemName$(menuID,itemID) (p212参照) でもって、それぞれローカル変数に格納。
    3.
    3つの文字列には (当然) 文字としての数字が入ってますので、これを VAL() で数字に変換します。
    4.
    ToolBox の CALL RGBForeColor(RGBRecord) で、QuickDraw のペンに色をセットする。
    5.
    好きなように描画する。
     という手順になります。すでにこちらで実験してますので確実です。4 の段階で、もともとのペンの色を確保しておいて、処理をしたらもとに戻しておくのが望ましいですね。
    (例)
    いま、指定したい色は上記の処理により、 newRGBcolor というRGBcolorレコード型変数に入っているとする。
    DIM oldRGB;RBGcolor, rect.8
    
    CALL GETFORECOLOR(#@oldRGB)  '"もとの色を保存。
    CALL SETRGBFORECOLOR(newRGBcolor)
    CALL SETRECT(rect,0,0,20,20)
    CALL PAINTRECT(rect)
    CALL SETRGBFORECOLOR(oldRGB) '"もとの色に戻しておく
    
     こんな感じですね。
     PG はこれみたいに、Resource を保存用に使用することが多々あります。PG のくせとして覚えておくといいかと。

     必要なら、こちらでつくったサンプルをバイナリで送りましょうか?

    ★ちなみに、底値(?)のPerformer5430(80MB)を¥225,000でゲットしました。カミさん用のマシンになりそうです。私の(Quadra800+PPC601)よかたぶん2倍以上速いです・・・。
     いいですね...こっちは COLOR CLASSIC (68030/16MHZ) + 10MB ですから...

    Subject: [fb-ml 612] 出力線数の指定方法がわかりません
    古籏さん,こんにちは。

    ホームページは期待しております。
    PSエラーに関しては,古旗さんのページに限らず,大きなテーブルがあるページで発生するようです。このことから,私の環境の問題なのでしょう。
    古旗さんのページに問題が有るかのような失礼な事を言いました。
    ごめんなさい。

    実は,また助けてほしい事があるのですが,アドバイスしてもらえませんか。

    古旗さんのページの初級編6のPICT印刷をしました。
    ちゃんと印刷されるのですが,モノクロ画像の場合はいまひとつ綺麗に出ません。ハーフトーンスクリーンの線数が53本で,プリンタ初期値のようです。フォトショップなどでは,用紙設定でスクリーン線数の指定ができますよね。一見するとLW8のダイアログに見えるのですが,スクリーン線数を指定するにはどうすればいいのでしょうか。IMなどでPrint Managerの項を見ているのですが見つける事ができません。プログラムの参考書などを見てもQD出力の例ばかりで困っております。ご存じでしたら教えて頂けないでしょうか。

    Subject: [fb-ml 613] Save as PICT
    はじめまして、タオフィックです。

    私は一ヶ月前から FB II を使いはじめました。
    現在、PG でプロットするプログラムを書いています。しかし、以下のようにちょっと聞きたいことがあります。
    プログラムの概要を説明します。

    コッマ区切りのデータを読み込んで配列に入れます。
    Plot ボタンを押せば、別の window で結果が表示されます。ここまでちゃんとできました。
    しかし、どうすればこの window の内容を PICT として save できるのでしょうか。

    マニュアルのどこの部分を読めばいいんですか。
    分かる人がいれば、教えて下さい。
    よろしくお願いします。

    Subject: [fb-ml 614] Re: 出力線数の指定方法がわかりません
    古籏一浩です。

    At 11:29 97.6.9 +0000, 仙台7200/90 wrote:
    PSエラーに関しては,古旗さんのページに限らず,大きなテーブルがあるページで発生するようです。このことから,私の環境の問題なのでしょう。
    古旗さんのページに問題が有るかのような失礼な事を言いました。
    ごめんなさい。

     もしかして直接Netscapeから印刷していますか?
     Netscapeだと、まっとうに印刷できない事が多いので・・・
     JavaScriptで書き出された文字などは印刷できない場合がほとんどですしなかなかやっかいです。IE3を使うという方法もありますが、どうでしょう。

    古旗さんのページの初級編6のPICT印刷をしました。
    ちゃんと印刷されるのですが,モノクロ画像の場合はいまひとつ綺麗に出ません。
    ハーフトーンスクリーンの線数が53本で,プリンタ初期値のようです。
    フォトショップなどでは,用紙設定でスクリーン線数の指定ができますよね。
    一見するとLW8のダイアログに見えるのですが,スクリーン線数を指定するにはどうすればいいのでしょうか。IMなどでPrint Managerの項を見ているのですが見つける事ができません。プログラムの参考書などを見てもQD出力の例ばかりで困っております。ご存じでしたら教えて頂けないでしょうか。
     スクリーン線数は当然のことながらPostScriptプリンタでしか使えません。
     53線という事は300dpiのプリンタでしょうか。
     線数を指定するには(80線で角度23度、ドットスクリーン)

     80 23 { 180 mul cos exch 180 mul cos add 2 div } setscreen

     といった具合にPostScriptの命令を送ってあげます。
     が、当然シリアルポートやEthernetで直接PSプリンタに送らないと無効になってしまいます。

     が、実は裏技がありまして、PICT出力する場合にメタコメントを使用するとPICT形式内にダイレクトにPostScript命令を記述すると、それを送信してくれます。

     昔使っただけなので困った事にメタコードを忘れてしまいましたf(-.-b
     大昔のMac Japanで小池邦人さんが書いていたのですが、その号が見つからないので・・・

     私はMZ-2500などからは直接PSに送信していましたがMacでは、まだやった事がありません。
     ちなみにイラストレーター等で描いたものは画像1つずつに線数を設定する事もできます。
     あとCOODINATE WINDOWだったかでもdpi指定ができたはずですが詳しくないので・・・

    Subject: [fb-ml 615] Re: 出力線数の指 定方法がわかりません
    古籏さん,こんばんわ。

     もしかして直接Netscapeから印刷していますか?
      Netscapeだと、まっとうに印刷できない事が多いので・・・

     うぅ,そうなんですか。
     今はネスケで印刷できないページは,一度TEXTで保存後にクラリスワークスで加工してから印刷しています。
     結構苦労するものですね。うちの環境の問題かと思っていたのですが,ネスケのせいなのですか。

     実はちょっとお願いがあるのですが,古旗さんのページのToolBox一覧を自分で加工した帳票を愛用しているのですが,友人にも譲りたいのですが構わないでしょうか。
     無制限に広がる危険はありませんので,許可を頂けると幸いなのですが。

     線数を指定するには(80線で角度23度、ドットスクリーン)
     80 23 { 180 mul cos exch 180 mul cos add 2 div } setscreen
     といった具合にPostScriptの命令を送ってあげます。
     が、当然シリアルポートやEthernetで直接PSプリンタに送らないと無効になってしまいます。

     これは厳しいですね。PostScriptの命令を直接PSプリンタに送る方法が問題ですね。プリンタにPSデータを送るのはPSデータを文字列として印刷すればいいのでしょうか。何かエスケープシーケンスのようなものでPSデータである宣言が必要なのかなあ。PostScriptの本を買う必要がありそうですね。
     私は用紙設定のダイアログでほいほいと設定できるものと思っていたのです。
     PSデータを送るのが通常の印刷ではなく,通信になるのならプリンタの接続方法も取得してApple Talkかシリアルかなども気にかける必要があるのでしょうか。私のプリンタはEPSON LP9000PS2 なのでシリアル直結ができません。

    実は裏技がありまして、PICT出力する場合にメタコメントを使用するとPICT形式内にダイレクトにPostScript命令を記述すると、それを送信してくれます。
     すばらしい方法ですね。う〜ん,メタコマンドとはなんじゃろう。埋め込み命令のことなのでしょうか。この方法は何とかして解明したいですね。
     私はまだ技量が足りませんが,自分なりに調べていきたいと思います。

    あとCOODINATE WINDOWだったかでもdpi指定ができたはずですが
     この方法は最近わかりました。始めは何のことやらだったのですが,CDの例題をしているうちに突然イメージが理解できた次第です。
     でも,まだ応用まではできていません。

    PGのバージョンが古くてサンプルが正常にコンパイルできない件ですが,待っていればモードさんから何らかのアップデータが送られてくるものなのでしょうか。ユーザー登録してからすでに半月ですが,Tool Kit買ってねのダイレクトメールしか来てないんですよ。ちょっと心配になってきました。

    PGで生成されたソースって,ロジックがよくわからないですね。FB2を使っている方はPGを利用しているのでしょうか。私はちょっと自身ありません。プロジェクトマネージャで新規プロジェクトを選んだら雛型のソースが生成されますよね。このソースを無修正でコンパイルすると定数が宣言されてないと怒られてしまいます。この雛型はみなさん使っているのですか。最近PGの勉強を始めたので,急に混乱してきました。PGのソースが理解できるようになると楽しそうですね。でも難しそうなので素からしこしこと作っていこうと思っています。
    古旗さんのページでもPGのソースの解説なんかして頂けると嬉しいです。

    Subject: [fb-ml 616] Re: 出力線数の指 定方法がわかりません
    古籏一浩です。

    At 19:07 97.6.9 +0000, 仙台7200/90 wrote:
     結構苦労するものですね。うちの環境の問題かと思っていたのですが,ネスケのせいなのですか。
     異なる機種やMac,Winなど結構うまく印刷できません。
     画像が出力されないというのは結構あります。

     実はちょっとお願いがあるのですが,古旗さんのページのToolBox一覧を自分で加工した帳票を愛用しているのですが,友人にも譲りたいのですが構わないでしょうか。
     無制限に広がる危険はありませんので,許可を頂けると幸いなのですが。

     別に無制限に広げても構いません。
     どんどん配ってください。

     PSデータを送るのが通常の印刷ではなく,通信になるのならプリンタの接続方法も取得してApple Talkかシリアルかなども気にかける必要があるのでしょうか。私のプリンタはEPSON LP9000PS2 なのでシリアル直結ができません。
     RS232C、シリアル接続でなら割と簡単にいきますが・・・
     そこで例のTOOL KITが必要なわけですか。
     うちのはシリアルなんですけどね〜

     すばらしい方法ですね。う〜ん,メタコマンドとはなんじゃろう。埋め込み命令のことなのでしょうか。この方法は何とかして解明したいですね。
     私はまだ技量が足りませんが,自分なりに調べていきたいと思います。

     HyperCardのXCMDで過去に一度作成したけですので忘れてしまいましたがpicCommentで80〜9Fまでの数値のどれかが、そうです(笑)

    PGのバージョンが古くてサンプルが正常にコンパイルできない件ですが,待っていればモードさんから何らかのアップデータが送られてくるものなのでしょうか。ユーザー登録してからすでに半月ですが,Tool Kit買ってねのダイレクトメールしか来てないんですよ。ちょっと心配になってきました。
     ちゃんとサポートしま〜す、と言っていたのでやるのではないでしょうかf(^^;

    PGで生成されたソースって,ロジックがよくわからないですね。FB2を使っている方はPGを利用しているのでしょうか。私はちょっと自身ありません。
     私はNo PGです(^^;
     PGのページはベンさんが「超わかりやすく丁寧」に作成してくれるそうですから期待しましょう(^^)

    Subject: [fb-ml 617] Re: カラーメニューの使い
    <ベンさん>

    >・Colorメニュ−を使うときは、メニューアイテムを3つ作っておくこと。(名前は関係ないけど、上から Red, Green, Blue とでもしとけばいいでしょう)
    >・メニューが選択されると、選択された RGB 情報は、上記の3つのメニューアイテムに文字列として保存される。

     ■さっそくやってみたところ、うまく行きました(^o^)/。
      ありがとうございました〜〜〜。

      しかし、PGもFBもマニュアルの読みにくさにはいやになりますです(^_^;)。
      同じところを3回以上は読まないと理解できない・・・。

      ようやく日記アプリも、取り消しルーチンとファイルの自動保存の山を迎えております。あ、あと、グラフィックツールの充実もあるなぁ。

     ■どうもありがとうございましたぁ。またよろしくお願いしま〜〜す。

    Subject: [fb-ml 618] Re: 出力線数の指定方法
    <古籏一浩さん>

    > PGのページはベンさんが「超わかりやすく丁寧」に作成してくれるそうですから期待しましょう(^^)
     ■をを、ちょ〜〜〜期待してます(^o^)/
      しかし、FBIIは面白いです。初めてシーケンサーをたちあげて、音源から音が出たときのあのわくわく感がよみがえります(笑)。

    Subject: [fb-ml 619] Re: MIDIの使い方
    さかたです。

    古籏さん、りぷらいありがとうございます。(_ _)

     FBII の CD-ROMにQuickTimeのサンプルはありますが・・・
     MIDI機器があれば、そっちに出力するだけで入力は駄目かなと思いますけど・・・どうなんでしょう。

    CD-ROMも入手できましたので、あたってみます。(砕けるだろ〜けど・・・(^^;)

    >やっぱりOpen "C"ではだめなのかなぁ。
    >モードさん曰く、「できるはずだ」の一言だったのですが(T_T)。
     できると思います。
     が、なんか知らないけど、些細な部分ではまります。
     READ #1,A$;0
     とかではまってしまう事もありますし・・・
     OPEN "C"のサンプルも欲しいですね。
     と墓穴を掘りたくない(笑)

    一応Open "C"の基本的な使い方についてはhandbookのserialというサンプルを参考にして、とりあえず動かせるようにはなりました。
    ので、ボーレートなども正しく動いてるみたいです。
    ちなみにオンラインマニュアルもハンドブックもMIDI機器は38400を指示していますが、MIDIは31250なので、これでは使えません。
    ちなみに38400相手ならちゃんと使えますけど。。。

    ちょっと関係ないけど、上記のサンプルはモデムとのやりとりを含んでいるので、ポケベルに送信して遊んでみました。(^^;

     70人近くいるから、MIDIに接続して使っている人がいるかもしれないですヨ。

    うっ、だれか〜!!

    Subject: [fb-ml 620] Re: 出力線数の指定方法
     ベン/矢野 勉 です。

    At 8:03 AM 97.6.11, 堀 浩一郎 wrote:
    >> PGのページはベンさんが「超わかりやすく丁寧」に作成してくれるそうですから期待しましょう(^^)

     ■をを、ちょ〜〜〜期待してます(^o^)/

    うう〜む、「ちょーわかりやすく丁寧」にですか... いちおう分かりやすくなるように努力はしているのですが、なにぶん、どうも難しく書いてしまうくせがあるようで、なかなか難しい。今は PG の吐き出すソースコードの構造についての概要を書いてますが、なかなか説明しずらいですね。わかっている方にとってはあたりまえな構造なので...(^^;)

     ほんとは、最初のサンプルプログラムである PG Text の解説まで書いてしまってから公開しようかと思ってましたが、どうもスケジュールが送れているので(ううむ、コンピュータ業界ではよくあること(笑))、概要ができた段階でいったん公開しますね。書くペースが遅いので、更新がひじょうにゆっくりになる可能性もありますが、気長におつきあいください。まあ、MacOS も Raphsody と並列して継続発展するようですし、FB も殺されずにすみそうですし(^^;)

    #そおいや、この ColorClassic がちょうど5年目だなあ

    Subject: [fb-ml 621] Re: 255 文字以上変数 part2
    ハンドルへすこしずつ(255文字ずつ)付け足していく方法がわかりません。
    思いとしては、ループの中で、出てきた値を、一旦文字列変数へいれそれをハンドルへ付け足すという繰り返しにしたいのですが、その仕方がわかりません。
    osErr% = FN HANDANDHAND([hndl&],strPtr&) を使うのかなと思い実験したのですが、うまくいきません。

    osErr% = FN HANDANDHAND([hndl&],strPtr&)

     これ、引数がまちがってますよ。Handbook の p263 には

    osErr% = FN HANDANDHAND(hndl&, hndl2&)

     と書かれています。ハンドルとハンドルをくっつけるものであって、ポインタとポインタをくっつけるものではないので、引数がハンドルなのはあたりまえ。上記の誤った記述のほうでは、どちらもポインタを渡してますね。

     ついでに、文字列へのポインタをハンドルに連結するなら、HandAndHand は使えませんね。文字列へのポインタは (その名のとおり) ポインタであって、ハンドルではありませんから。ハンドルってのは、Mac のプログラムでは NewHandle によって以外は作れませんので、文字列をハンドルにしたりもできませんし。

     ではどうするかといいますと、BLOCKMOVE を使います。ポインタからポインタへのコピーを行うステートメントなんですが、ハンドルってのは要するに「ポインタのポインタ」なので、ハンドルの指す先にはポインタがあります。(これをマスターポインタといいます。マスターポインタの先には、NewHandle で実際に確保されたメモリブロックがあるというわけ) 

    [hndl&]

     これだけでマスタポインタを取り出せるので、簡単にコピーができます。しかし、コピーするにも、ハンドルのサイズは決まっているので、これ以上コピーすると、ハンドルのサイズを超えてしまいます。で、そのためにハンドルのサイズを変える (追加分だけ大きくする) 必要があります。これには

    osErr% = FN SETHANDLESIZE(hndl&, size&)

     という ToolBox を使います。hndl& に問題のハンドル自体を、size& には、新しい総サイズを入れます。ハンドルのサイズは GetHandleSize() にて得られますし、文字列の長さは FB の LEN() で得られるので:
    ----------------------------------------------
    DIM strSize, hSize&, err
    
    strSize = LEN(theString$)
    hSize& = FN GETHANDLESIZE(strHandle&)
    
    err = FN SETHANDLESIZE(strHandle&, hSize&+strSize)
    LONG IF err = _noErr
        err = FN HLOCK(strHandle&)
        '"strHandle&  の最後に、文字列の内容をコピーする。
        BLOCKMOVE @theString$+1, [strHandle&]+hSize&, strSize
        '"                       ^^^^^^^^^^^^^^^^^^^
        '" ここでハンドルのさすメモリブロックの (サイズ変更前の)
        '" 最後の番地を指定しているわけ。先頭の番地にハンドルの
        '" 元のサイズ分足してやれば、最後の部分をさすことになりますね。
    
        err = FN HUNLOCK(strhandle&)
    END IF
    ----------------------------------------------
    
     これで theString$ のサイズ分だけ strHandle& のサイズを大きくして、そこに theString$ の内容をコピーできます。

     しかしですね、これって、「xCmdPtr& から得られる、引数のハンドルをそのまま処理する方法がわからないから、文字列として得たのを処理する」ためにしているんですよね、たしか。これって、FN HLOCK(hndl&) で、取り出したハンドルをいったんロックしてマスターポインタを ptr& = [hndl&]で取り出し、char = peek(ptr& + charNum) (charNum は何文字目か。0から始まる)でもって、ポインタから1バイトとりだすと、アスキーコードが得られるんで、それで処理するわけにはいきませんか?(そっちのほうが処理速度も圧倒的に速いはず)
     特殊コードなら「リターン=13」って感じで決まってますし、ASC("a") とかで簡単にアスキーコードも分かりますけど。例として、ハンドルに収められた文字列のうち、小文字の "a" が何個あるかを調べるコードを書いておきます。
    ----------------------------------------------
     strH& は文字列の入ったハンドルとする。
    
    CLEAR LOCAL FN GetNumOfa&(strH&)
        DIM result&, hsize&, strPtr&, i, char
        DIM asciia
    
        asciia = ASC("a")
        strPtr& = FN GETHANDLESIZE(strH&)
        err = FN HLOCK(strH&)
        strPtr& = [strH&]
        FOR i = 0 TO hsize& - 1
            char = PEEK(strPtr& + i)
            LONG IF char = asciia
                result& = result& + 1
            END IF
        NEXT i
    END FN = result&
    ---------------------------------------------
    
     こんなとこですけど。参考になればいいですが...

    Subject: [fb-ml 622] Mac Developer's Journal No.25
     6月10日に発売されたマッキントッシュ・デベロッパーズ・ジャーナルNO.25ですが、冨山 学さんの“かんたんFutureBASIC II”が載っていませんでした。あれ?連載の筈だったんだけど……(^_^;)今号はお休みなんでしょうか。なにぶん立ち読みだったんで詳しくは分かりません。店頭でちょっとめくって、冨山さんの連載が載っていなかったから買わなかったんです。

     他の雑誌での連載って、最近チェックするのを忘れてるんでどうなっているのかは分かりません。Mac Fanとかベーマガとか……。マッキントッシュ・デベロッパーズ・ジャーナル(略してデベジャ)は隔月刊なので、連載の進み具合が遅くって困ります。冨山さんの連載なら、MacPowerでやると思ったんですけど、そうじゃないみたいですね。デベジャの連載第一回の内容も、昔、MacPowerに載っていたままの内容ですし。

     僕のFB IIの学習状況ですが、まだ「ボール拾い」のロジックを追ってたりします(^_^;)前に、ソースコード通りに入力したのに実行できなかったボール拾いですが、FB IIが2.3になってからは、ちゃんと動くようになりました。もう、メモリ関連の事が全然分からないんで、プログラムは動いても、どう動いているのか理解できずに、そこで止まってます。古籏さんのFutureBASIC II-J HomePageのサンプルも同時に勉強しています。古籏さんにお願いなんですが、FutureBASIC初級編に、メモリの事(なぜ必要なのかとか、どういった命令があってどういう時に使うか等)を解説したページを作っていただけないでしょうか。

     昔からBASICに慣れ親しんでいた人はメモリ等、ハードウェア寄りの事は機種が変わっても応用が利くと思いますが、プログラミングはFBが初めて、という人はメモリの話ってすんなり理解するものなのでしょうか?単に僕だけかも知れませんが(^_^;)

    Subject: [fb-ml 623] Re:255 文字以上変数 part2
    矢野 勉 / ベンさん、詳しい解説ありがとうございました。
    さっそく実験させていただきます。

    BLOCKMOVEはこう使うものだったのですね。
    やみくもに実験しては、失敗の連続だったので、すっかり煮詰まっていました。。。

    とにかくありがとうございます。
    いつも、申し訳ありません。
    はやく一人前に使えるようにがんばります。

    >例として、ハンドルに収められた文字列のうち、小文字の "a" が何個あるかを調べるコードを書いておきます。
    も検討させていただきます。
    高速に検索できるのなら、シンプルになるなら、がんばって理解します。

    (ただ、HyperCardに検索された文字列の範囲をすべてリストにして返り値にしたいので、常に255文字以上が返り値になる可能性がありBLOCKMOVEを使う必要がある。と思う。。。)

    Subject: [fb-ml 624] Re: 255 文字以上変数 part2
     ベン/矢野 勉 です。

     ああっ、すみません。前に挙げた a が何文字あるか調べる関数ですが、一部間違ってました。(ロックしたハンドルを、ほったらかしにしていた(^^;) ありがちな)   おまけでコメントを付けてみました。
    ----------------------------------------------
     strH& は文字列の入ったハンドルとする。
    
    CLEAR LOCAL FN GetNumOfa&(strH&)
        DIM result&, hsize&, strPtr&, i, char
        DIM asciia
    
        asciia = ASC("a") '"先に a のアスキーコードを得ておく
    
            '"ハンドルの指すメモリブロックの大きさを
            '"得る。メモリのバイト数はそのまま文字数にあたる。
            '"(1文字=1バイト)
        strPtr& = FN GETHANDLESIZE(strH&)
    
        err = FN HLOCK(strH&) '"ハンドルをロック
        strPtr& = [strH&]      '"マスタポインタの取り出し
    
            '"マスタポインタの頭から1バイト取り出し、
            '" a の ASCII コードと比較する。
            '"一致すれば result& を1増やす。
            '"サイズ分だけ、1バイトずつ調べる。
            '"(現在何文字目かは i で分かる)
        FOR i = 0 TO hsize& - 1
            char = PEEK(strPtr& + i) '"1バイト読み込み
            LONG IF char = asciia    '"aと比較/真なら
                result& = result& + 1  '"結果に1たす。
            END IF
        NEXT i
        err = FN HUNLOCK(strH&) '"処理がすんだらロック解除
    END FN = result&
    ---------------------------------------------
    

    Subject: [fb-ml 625] Re:255 文字以上変数 part2
    矢野 勉 / ベンさん、重ね重ね詳しい解説ありがとうございました。

    これから研究していきたいと思います。
    FutureBASIC IIに慣れてきたら、すこしづつ大きいプログラムにも挑戦したいと思います。

    また、なにかと質問することになるかもしれませんがその時はよろしくお願いいたします。
    でも、これだけ教えてもらえたのできっと最後までできるようにがんばります。

    Subject: [fb-ml 626] Re: Mac Developer's Journal No.25
    古籏一浩です。
    ちょっとページの大移動をしてまして、FB−MLがご無沙汰(^^;

    At 15:06 97.6.12 +0900, Hiroki Kaneko wrote:
     6月10日に発売されたマッキントッシュ・デベロッパーズ・ジャーナルNO.25ですが、冨山 学さんの“かんたんFutureBASIC II”が載っていませんでした。
    あれ?連載の筈だったんだけど……(^_^;)今号はお休みなんでしょうか。なにぶん立ち読みだったんで詳しくは分かりません。店頭でちょっとめくって、冨山さんの連載が載っていなかったから買わなかったんです。

     本当に載ってませんね。
     Mac Powerを読むとFile Maker Proの本を出すので、それに追われている感じですが・・・
     ホームページも更新されてないし・・・

     で、私のFBのページ実は移動中です。
     今までは

    http://www.shiojiri.ne.jp/‾openspc3/

     だったのが、今度は

    http://www.shiojiri.ne.jp/‾openspc/FB/

     になってます。旧の方には、まだお知らせしてないので変更しないと・・・

    メモリ関連の事が全然分からないんで、プログラムは動いても、どう動いているのか理解できずに、そこで止まってます。古籏さんのFutureBASIC II-J HomePageのサンプルも同時に勉強しています。古籏さんにお願いなんですが、FutureBASIC初級編に、メモリの事(なぜ必要なのかとか、どういった命令があってどういう時に使うか等)を解説したページを作っていただけないでしょうか。

     昔からBASICに慣れ親しんでいた人はメモリ等、ハードウェア寄りの事は機種が変わっても応用が利くと思いますが、プログラミングはFBが初めて、という人はメモリの話ってすんなり理解するものなのでしょうか?単に僕だけかも知れませんが(^_^;)

     昔のBASICは全部自動的にやってくれましたからね〜
     FBだと全部というほど自前でやらないと・・・

     やっぱり「ポインタ」と「ハンドル」は初級編10とか作って説明した方がいいでしょうか?

     Rhapsodyになると、また新しいメモリ云々とかでたりして。
     「ハンドル」に「サドル」に「ペダル」とか(^^;

    Subject: [fb-ml 628] 初級編9を追加
    古籏一浩です。

    POP ERRORか何かで同じメールが2度送られてしまったみたいですf(^^;

    初級編9を追加しました。
    まずはメモリの用語とポインタ、ハンドルの簡単な説明を載せておきました。初級編なので、あんまり深入りはなし、です。

    初級編10は実際にメモリを確保して読み出し、書き込みをするつもりです。

    Subject: [fb-ml 629] 透明ウインドウの作り方がわかりません。
    >みなさん

    いつもお世話になっております。実は最近,キューティ・マスコットで利用されているような,透明ウインドウを利用したいと考えているのですが,IMを読んでもどうすればいいのかわからず困っております。
    NEWCWINDOWでどのような指定をすればいいのかご存じの方いらっしゃいましたらアドバイスしていただけませんでしょうか。

    最近メモリが安くなってますね。衝動買いしそうになります。困ったもんだ(^^;)

    Subject: [fb-ml 630] Re: 透明ウインドウの作り方がわかりません。
    古籏一浩です。

    At 17:46 97.6.20 +0000, 仙台7200/90 wrote:
    いつもお世話になっております。実は最近,キューティ・マスコットで利用されているような,透明ウインドウを利用したいと考えているのですが,IMを読んでもどうすればいいのかわからず困っております。
     不定形のはなんかリソースで定義できるのがあったような気がするんですが。
     WDEFでしたっけ?

     一度もやった事がないので・・・
     たしかDirectorでもへんてこりんな形のができますからリソースとかでできると思いますが。
     と書いて誰かにタッチ(笑)

    Subject: [fb-ml 631] Re: Mac Developer's Journal No.25
     やっぱり「ポインタ」と「ハンドル」は初級編10とか作って説明した方がいいでしょうか?
     お願いします。グローバル変数でも、HyperTalkでのグローバル変数くらいしか知らないもんで(^_^;)メモリがどうこう、と言われると戸惑ってしまいます。

     多分、FutureBASICの初心者って、僕みたいにHyperTalkくらいしか言語をいじった事がない人って結構居ると思うんです。そうなると、メモリの事については前知識が無いので、解説していただけると嬉しいです。早速「プログラム講座 初級編9」も読ませていただきました。「初級編10」でも解説して下さるそうなので、期待しています。まだ、実際にどういう時にメモリを使えばいいのか(使わなければならないのか)が思いつかないので、次は、実際にプログラムリストで解説して下さると参考になると思います。

    Subject: [fb-ml 632] Re: 透明ウインドウの作り方がわかりません。
    古籏さん,いつもありがとうございます。

    不定形のはなんかリソースで定義できるのがあったような...
     不定形のウインドウなんて作れるのですか。しりませんでした。
     私は画面全体を覆う透明な四角いウインドウがあれば,ディスクトップ上で,グラフィックを動かせて楽しいのではと考えていたのです。
     ですから,普通のウインドウ定義をするときに,背景色を透明にする指定だけでいいと思っていたのです。そうは言っても透明指定ってどうするのかわからないのですが(^^;)

     リソースで不定形のウインドウが作れるなんてすごいですね。
     なんかいろいろと応用できそうな気がします。
     でも,こんなトリッキーなことってどうやって調べればいいのでしょうか。
     知ってる人だけ知っているという世界かなぁ。

    今はPGが生成したソースを一生懸命おいかけています。これをしっかりしとかないと,わかりませんという質問すらできませんので(^^;)
    それにしても,もうちょっとコメントを入れて欲しいものですね。
    PGのハンドブックは読んでいて心もとなくなってきますし...
    グローバル変数の数が多すぎて理解できないという寂しい状況です。
    この土日でがんばりますので,また報告したいと思います。

    Subject: [fb-ml 632] Re: Mac Developer's Journal No.25
    古籏さん,弘樹さん,横から割り込んですいません。
    私もメモリについて知りたいことがあります。

    私の場合は他の言語をしていましたので,「ポインタ」と「ハンドル」はおぼろげながら理解しているつもりです。しかし,FB2での書き方といいますか記述の決まりや応用の仕方については興味があります。ぜひ初級編10でお願いしたいと思います。

    メモリに関してですが,Appleが定義しているシステムグローバルの構造体を取得しようと思い,同じ構造体をFB2のグローバルで定義しました。ADBマネージャーの構造体なので,GetADBInfoでポインタを取得して読み込んでみました。とりあえずうまくできたかなと思っているのですが,ポインタではなくハンドルを取ってこなくてもいいのでしょうか。プログラムの本などではメモリは再配置されるのでハンドルを使うようにと書かれています。
    システムグローバルを取得するときには,ポインタでいいのかなぁ。なんかよくわからなくなってきました。とりあえず動いているしまぁいいかぁf(^^)...

    Subject: [fb-ml 633] Re: Mac Developer's Journal No.25
    古籏一浩です。

    At 9:37 97.6.21 +0900, Hiroki Kaneko wrote:
     お願いします。グローバル変数でも、HyperTalkでのグローバル変数くらいしか知らないもんで(^_^;)メモリがどうこう、と言われると戸惑ってしまいます。
     HyperCardではメモリは出てきませんからね。
     FBだと自分で確保して自分では期しなければ行けないのでミスをすると簡単にシステムエラーになってしまいます。

    「プログラム講座 初級編9」も読ませていただきました。「初級編10」でも解説して下さるそうなので、期待しています。まだ、実際にどういう時にメモリを使えばいいのか(使わなければならないのか)が思いつかないので、次は、実際にプログラムリストで解説して下さると参考になると思います。
     初級編10では最もよく使われる「ハンドル」を解説します。
     水曜日くらいにはアップできると思います。
     でも、あんまり期待しては駄目ですf(^^;
     というか、面倒な部分は初級編ではなくて中級編か、上級編でやりたいなと思っていますので。この後、ハンドルとメモリがわかれば日本語関数の作成と説明をしても大丈夫かなとふんでいます。

    Subject: [fb-ml 634] Re: Mac Developer's Journal No.25
    At 1:12 PM 97.6.21, KaZuhiro FuRuhata wrote:
     初級編10では最もよく使われる「ハンドル」を解説します。
     水曜日くらいにはアップできると思います。

     おおっ、はやいっ。はやすぎるっ

     ぼくは最近は仕事から帰ると疲れ果てて、とりあえず NIFTY の未読と、メールの確認をして、風呂はいって、寝る、という生活をつづけていまして、ホームページのほうはでんでんすすまない(^^;)

     ああ、ごめんなさい(^^;)

     ここにかきこむのもなかなかできないという...
     でもがむばります。

     ハンドルというか、いわゆる「メモリブロック」ですが、グローバル変数との対比よりも、むしろローカル変数と対比すべきものな気がします。まあ、グローバル変数でもそうなんですが、特にローカル変数は「コンパイラが一時的に確保する、情報保管場所」という感がつよいので、「自前で確保して、自前で破棄するまでメモリ内の一部分を占拠しつづける情報保管場所」であるハンドル等とは対局にある気がする。

     「メモリの一部を占拠しつづける」というのが重要なんですね。ただ占拠している場所の場所(つまりメモリ番地・アドレス)をローカル変数かグローバル変数にとっておかないと、場所がわかんないんで、破棄することもできず、その領域は意味もなくそこに残るわけ。このへんが重要ですね。

     古旗さんのページはひさしく見にいっていないので、これから見に行こうと思います。

    Subject: [fb-ml 635] Re: 透明ウインドウの作り方がわかりません。
     ベン/ 矢野勉 です。

     不定形のウインドウなんて作れるのですか。しりませんでした。
     私は画面全体を覆う透明な四角いウインドウがあれば,ディスクトップ上で,グラフィックを動かせて楽しいのではと考えていたのです。
     ですから,普通のウインドウ定義をするときに,背景色を透明にする指定だけでいいと思っていたのです。そうは言っても透明指定ってどうするのかわからないのですが(^^;)

     透明のウインドウってのは僕も聞いたことありませんねえ。思うに、ToolBox の NewCPort で新しいカラー描画環境を作っているんでは。NewCWindow も内部ではこれを読んでいるので、それを自前でやるというわけです。一度だけやったことがあるんですが (古旗さん、キャプチャのやつですよ) 、いまいち良く分からないままやってたんで(^^;)、未だによくわかってない(^^;)  どうも NewCPort で確保した GrafPortレコードの各フィールドを自分で埋めていく必要があるようです。GrafPort については FB のマニュアルにもでてますが、そのへんの ToolBox 解説書にも (なにしろ描画環境なんで) たいがい出ています。 GrafPort は初期は透明ですからね。スクリーンサイズで作ってやればいいんじゃないかと。

     リソースで不定形のウインドウが作れるなんてすごいですね。
     なんかいろいろと応用できそうな気がします。
     でも,こんなトリッキーなことってどうやって調べればいいのでしょうか。
     知ってる人だけ知っているという世界かなぁ。

     いや、じつはその名も「コードリソース」という本がありまして、そこには WDEF(ウインドウ定義関数) の作り方もかいてます。WDEF, MDEF, LDEF なんかの「コードリソース」は、使えると結構おもしろいです。要は、システムから「タイトルバーを描け」「クローズボックスを描け」というイベントがくるので、それに合わせて QuickDraw で描画していくのです。そのときに、三角とか丸、もっと変な形にウインドウを作れば、以降は NewCWindow 一発でいくらでも作れるのです。
     「リソース」ってマックでもかなり面白い上に、マックの優れたところの一つでもありますので (なにしろ、実行コードまで CODE リソースとして持っているのがマックのアプリですから)、Raphsody でリソースの概念が消えそうなのがちょっと残念(まだわかんないけどね。)
     NeXT ではアプリの実体は、マックでいう「フォルダ」そのものでして、普通のフォルダとの違いは .app という拡張子が付いているだけ。
    フォルダ内に実行コードと、各種リソースが入ってんですが、これじゃアプリしかリソースを持てないんですよね。おまけに拡張子なんてださいものを使うのはやめてほしいもんだ。(退化でんがな)

     NeXTはあこがれだったけど(いまでもプログラム面ではあこがれているけど)、ユーザーインターフェイスではなんだかなー、とか思っている今日このごろ。マックから進化した Advanced User-Interface とやらにちょっとだけ期待しよう。(たのむから拡張子だけは消してほしいなあ。フルパス名とか使ったらもっといや)

     あー、なんか独り言のようなポストになってしまった(^^;)

    Subject: [fb-ml 636] クリップボードからの読み込み
    はじめまして.
     最近FutureBASICを勉強し始めた川野と申します.以前はQuick Basicを使っておりました.
    実はEXCELなどの表計算アプリケーションからクリップボードを経由して数値を得て,それをFuture Basicで作ったプログラムで計算に使い,その結果をクリップボード経由で表計算アプリケーションに返すということを考えています.
    Quick Basicであれば,
    OPEN  "CLIP:"  FOR INPUT AS #1
            i=1
            WHILE NOT EOF(1)
                    INPUT #1, XDATA$(i),XDATA$(i+1),XDATA$(i+2)
                    i=i+3
            WEND
    CLOSE #1
    
    などとすれば3列に並んでいる数値(後で文字列は数値に変換する)を読み込むことができます.
    Future Basicではどのようにすれば数値データを得ることができるのでしょうか? ハンドブックにあるサンプルではクリップボードの画像やテキストを読み書きする方法は紹介されていますが,数値のやり取りは紹介されていないようです.
     なにかよい方法があればご教示ください.または,参考になるプログラムを紹介していただけるだけでも結構です.
     よろしく御願いいたします.

    Subject: [fb-ml 637] Re: クリップボードからの読み込み
    古籏一浩です。

    At 21:09 97.6.22 +0900, Yoshinobu KAWANO wrote:
    などとすれば3列に並んでいる数値(後で文字列は数値に変換する)を読み込むことができます.Future Basicではどのようにすれば数値データを得ることができるのでしょうか? ハンドブックにあるサンプルではクリップボードの画像やテキストを読み書きする方法は紹介されていますが,数値のやり取りは紹介されていないようです
     ここらへんは、どう見てもQuickBASICの方が楽ですねf(-.-b
     エクセルから数値データをコピーした場合でも、それらは「テキスト」として保存され数値にはなりません。
     つまりクリップボードからテキストを読み込み、数値に変換するといった具合にしないと駄目です。

     一応私のページにEXCEL -> Future BASICのクリップボード経由でのやりとりを載せておきました。参考にしてくださいませ。

    Subject: [fb-ml 638] Re: Mac Developer's Journal No.25
    古籏一浩です。

    At 23:26 97.6.21 +0900, Tsutomu YANO wrote:
    >  水曜日くらいにはアップできると思います。
     おおっ、はやいっ。はやすぎるっ
     ぼくは最近は仕事から帰ると疲れ果てて、とりあえず NIFTY の未読と、メールの確認をして、風呂はいって、寝る、という生活をつづけていまして、ホームページのほうはでんでんすすまない(^^;)

     速いといっているうちに、中級編10までアップロードしてしまいました。
     あさってには初級編10のアップ予定です。
     プログラムあれど、解説が面倒という毎度のオチで・・・

     早くPGのページを作ってくださいな。

    Subject: [fb-ml 639] Re: Mac Developer's Journal No.25
    古籏一浩です。

    At 12:59 97.6.21 +0000, 仙台7200/90 wrote:
    私の場合は他の言語をしていましたので,「ポインタ」と「ハンドル」はおぼろげながら理解しているつもりです。しかし,FB2での書き方といいますか記述の決まりや応用の仕方については興味があります。ぜひ初級編10でお願いしたいと思います。
     初級編10では最低限の解説だけです。
     そうしないと中級編になってしまいますf(^^;
     ハンドル確保、ハンドルロック、メモリ内容操作、ハンドルロック解除、破棄といった手順を守れば大丈夫です。
     ただメモリは結構自己管理なので、うまくやらないとシステムエラーの嵐と原因不明でプログラムが正常に動作しない、というオチがあります(^^b

    メモリは再配置されるのでハンドルを使うようにと書かれています。
    システムグローバルを取得するときには,ポインタでいいのかなぁ。なんかよくわからなくなってきました。とりあえず動いているしまぁいいかぁf(^^)...

     メモリの存在しない場所をアクセスしている間は、正常に動作しているように見えてしまうので、かなり危険です。
     特にポインタとハンドルを間違えるとシステムエラーとかが発生したり他のアプリの動作がおかしくなったりします。
     ハンドルの所はちゃんとハンドルでないと駄目です。

    #getADBInfoは昔やったけど、よく理解していなくて挫折しました(笑)

    Subject: [fb-ml 641] Re: クリップボードからの読み込み
    At 2:26 PM +0900 97.6.23, KaZuhiro FuRuhata wrote:
    古籏一浩 です。
    At 21:09 97.6.22 +0900, Yoshinobu KAWANO wrote:
    >などとすれば3列に並んでいる数値(後で文字列は数値に変換する)を読み込むことができます.Future Basicではどのようにすれば数値データを得ることができるのでしょうか? ハンドブックにあるサンプルではクリップボードの画像やテキストを読み書きする方法は紹介されていますが,数値のやり取りは紹介されていないようです
     ここらへんは、どう見てもQuickBASICの方が楽ですねf(-.-b
     エクセルから数値データをコピーした場合でも、それらは「テキスト」として保存され数値にはなりません。
     つまりクリップボードからテキストを読み込み、数値に変換するといった具合にしないと駄目です。

     一応私のページにEXCEL -> Future BASICのクリップボード経由でのやりとりを載せておきました。参考にしてくださいませ。

     どうもありがとうございました.わたしもテキストから数値に変換する以外に方法はないと思っておりました.でも,ハンドル内にあるテキストから数値をひとつづつ切り出す方法がわからず,一度ファイルとして保存して,それからLINE INPUT#で1行づつ読み込み数値に変換すると言う方法を考えておりましたが,古籏さんの方法が圧倒的に優れています.参考にさせていただきます.
     これからも有益な情報を期待しております.

    Subject: [fb-ml 642] Re: 透明ウインドウの作り方がわかりません。
    ベンさん,いつもありがとうございます。

    どうも NewCPort で確保した GrafPortレコードの各フィールドを自分で埋めていく必要があるようです。
     そうなのですか,もういちどIMをごりごりと読んでみます。なんか,イメージ的にかなり難しい感じを受けますが,挫折するまではしつこく挑戦してみます。

    「コードリソース」という本がありまして...
     この本は近所の本屋においてありましたので,早速購入してみます。
     今までは,WDEF, MDEF, LDEF などの作り方がよくわからなくて自分のアイデアを実現するのが難しかったのですが,楽しみができました。

    次のOSではリソースが無くなってしまうのですか。せっかく最近リソースについてわかってきたのに残念です。ぜんぜん違う環境になってしまうのは寂しいですね。

    今は,PGの生成するコードを追いかけているのですが,なかなかにてこずります。困っているのは,デバッガを使ってトレースしようとすると,インクルードファイルが大きすぎてコンパイルできないとメッセージを頂いてしまうことです。みなさんはPGを使っているのでしょうか。私は始めの頃は,PGを使えば早いのだろうなと思っていたのですが,どこで何をしているのか理解できないので使いづらいことこの上ないです。とりあえずランタイムの部分だけでも理解できればいいのですが。

    Subject: [fb-ml 643] Re: クリップボードからの読み込み
    古籏一浩です。

    At 9:15 97.6.24 +0900, Yoshinobu KAWANO wrote:
     どうもありがとうございました.わたしもテキストから数値に変換する以外に方法はないと思っておりました.でも,ハンドル内にあるテキストから数値をひとつづつ切り出す方法がわからず,一度ファイルとして保存して,それからLINE INPUT#で1行づつ読み込み数値に変換すると言う方法を考えておりましたが,古籏さんの方法が圧倒的に優れています.参考にさせていただきます.
     お役に立てて幸いです。
     テキストまわりは、次回のハンドル&メモリの確保の後にいろいろやろうと思っています。まずは簡単な日本語の文字列長を求めるものからやろうと考えています。でも、あんまり期待しては駄目です。

     どんどん講座が増えてきて、もう20超えてますね。
     本人のレベルが低いので高度なものはパスですf(^^;

    #このFB-MLでpowerPC604を搭載したMac持っている人いますか?
    #いたらゲームでもどうぞ(^^)
    http://www.shiojiri.ne.jp/‾openspc/download/meda.sea

     ジョイスティック(GAME MAC)かテンキーの2468、IJLM,で上下左右、シフト、スペースキーでショットです。フルカラーモードで動作します。まあ、白黒でも動作しますけど。

    Subject: [fb-ml 644] Re^2: Mac Developer's Journal
    失礼しました。
    「初級編10」は「初級編9」のまちがいでした。。。
    訂正いたします。

    Subject: [fb-ml 645] 初級編10を追加
    古籏一浩です(^^)

    初級編10を追加しました。
    簡単なメモリの確保、読み出し、破棄のサンプルと解説です。

    こんなんでわかります?

    #なんかもう80人超えてしまいました、このML

    Subject: [fb-ml 646] Re: [fb-ml 645] 初級編10を追加
     初級編10を拝見しました。メモリの操作の仕方は(なんとなく(^_^;))分かりましたが、どんな時にメモリを、どのくらい確保すればいいのかが未だに分かりません。例えばMacintosh Developer's Journalで冨山さんが書いていたサンプルプログラムにも、DIMを使ったメモリの確保がありましたが、僕はそれを見ても「そんな事しなくてもウィンドウの大きさなら直接WINDOW文に書き入れればいいじゃないか」と思ってしまいます。ですから

    DIM myRect.8
    CALL SETRECT(myRect,0,0,300,200)
    WINDOW #1,"Sample 1",@myRect,_docZoom+_noGoAway

    よりも

    WINDOW #1,"Sample 1",(0,0)-(300,200),_docZoom+_noGoAway

     に、どうしてしないんだと思ってしまいます。これはFB IIがどのようなものかのサンプルなので、わざとDIMを使ってメモリを確保してみた、と言われればそれまでですが、メモリの確保をどういう時に使えばいいのかが分からないままなので、メモリの確保を使わなくてもいい所に使っているという事を、不自然に感じてしまいます。FB IIのスタートアップマニュアルの後ろの方に「メモリ・マネージャについて」という章がありますが、これもメモリの操作だけのサンプルなので、実際のアプリケーションで、どう使われているのかが分かりません。同じくスタートアップマニュアルに、PICTを表示して、それに顔のマークをスタンプするサンプルプログラムがありますが、この中でのメモリの操作の部分は、FB IIの「関数ライブラリー・ヘルプ」にあらかじめ登録されているサンプルをコピーするだけで、動作に関する詳しい解説はありませんでした。僕はどうやって勉強すればいいのでしょうか(^_^;)

    P.S.
    FB-MLも600通を超えたことですし、そろそろメールを100通づつに分けて古籏さんのFutureBASIC II-J HomePageに掲載してもらえないでしょうか。それともメールの内容は書いた人に著作権があるから配布できないんですか?詳しく知らないので、その辺も教えていただけると幸いです。

    Subject: [fb-ml 647] Re: クリップボードからの読み込み
    川野@佐賀大学です.

     先日古籏さんからクリップボードを介した数値データの取得方法を教えていただきました.また,Future Basic II講座でも中級編に紹介がありました.そこで,教えていただいた通りに自分のプログラムに組み込んでみたのですが数値データが得られません.詳しく言うと,得られたデータをグローバル変数にそれぞれ格納して,他のLOCAL FN に持っていって計算処理をしようとしていますが,他のLOCAL FN に持っていった段階で,数値が格納されているはずのグローバル変数の中は空っぽになってしまいます.LOCAL FN間同志のデータの交換はプログラムの他の部分では問題なく行われています.クリップボードから読み込むこのLOCAL FNを経る場合だけ空っぽになるのです.メモリ確保の段階で失敗しているのではないかとプログラム全体をチェックしましたがどうもそうではないらしいです.昨日,今日とずっと取り組んでおりますが,どうしても原因がわかりません.
     恐縮ですが,考えられそうな原因がありましたら教えていただけないでしょうか.たびたび申し訳ありませんがよろしくお願いいたします.

    Subject: [fb-ml 648] Re: 初級編10を追加
    古籏一浩です。

    At 19:40 97.6.25 +0900, Hiroki Kaneko wrote:
    > 初級編10を拝見しました。メモリの操作の仕方は(なんとなく(^_^;))分かりましたが、どんな時にメモリを、どのくらい確保すればいいのかが未だに分かりません。
     初級編11を追加しましたので、11では実際にどのくらい確保しているかわかると思います。処理はシンプルな行数を数えるだけのものです。

    >WINDOW #1,"Sample 1",(0,0)-(300,200),_docZoom+_noGoAway
    >
    > に、どうしてしないんだと思ってしまいます。

     自分だけしか使わない短いプログラムなら、これでいいと思います。
     が、中規模のプログラムを作成すると上記の方法では、やはりよくないと言えます。ここらへんは、やはり体験して覚える方がよいのかもしれません。

    >これはFB IIがどのようなものかのサンプルなので、わざとDIMを使ってメモリを確保してみた、と言われればそれまでですが、メモリの確保をどういう時に使えばいいのかが分からないままなので、メモリの確保を使わなくてもいい所に使っているという事を、不自然に感じてしまいます。
     あまり実用的な例じゃないと、なおさらそう感じると思います。
     私もそう思う1人ですf(^^;

    >P.S.FB-MLも600通を超えたことですし、そろそろメールを100通づつに分けて古籏さんのFutureBASIC II-J HomePageに掲載してもらえないでしょうか。それともメールの内容は書いた人に著作権があるから配布できないんですか?詳しく知らないので、その辺も教えていただけると幸いです。
     じつはHTML化の最中なんです。
     ただ、意味のない管理者メールなどは削除したりしているので時間がかかってます。
     7月20日頃にはfb-ml640まではページ上に用意できると思います。
     本当はジャンル別?に分けたいのですが、ちょっと作業量が膨大になりそうなのでf(^^;

    #実際は640通もメールはなくて250通くらいです。
    #途中でカウンタ飛ばしたので(^^;

    Subject: [fb-ml 649] Re: クリップボードからの読み込み
    古籏一浩です。

    At 19:54 97.6.25 +0900, Yoshinobu KAWANO wrote:
    >間同志のデータの交換はプログラムの他の部分では問題なく行われています.クリップボードから読み込むこのLOCAL FNを経る場合だけ空っぽになるのです.メモリ確保の段階で失敗しているのではないかとプログラム全体をチェックしましたがどうもそうではないらしいです.昨日,今日とずっと取り組んでおりますが,どうしても原因がわかりません.
     これは、プログラムをみないとわかりません。
     変数の名前の間違い、型の違いも可能性があります。

     「もう〜わからん」という場合は怪しい部分のリストをMLに流してみると誰かが答えてくれると思いますよ。

    Subject: [fb-ml 650] Re: メモリのこと
    弘樹さん,はじめまして。

    私も初心者です。弘樹さんがおっしゃっている壁を私も経験しましたので,初心者なりの意見を話します。しっかりしたお話しは,古籏さんやベンさんからレスが付くと思います。

    弘樹さんの質問は,PICTやTEXTの格納場所にメモリがいるのはわかるが,固定数値を書けば済むところになぜ変数を使用するのかと捉えました。

    WINDOW 文に直接数値を書く方法で良いのではということですが,これは結論として好みの問題が大きいのではと考えます。

    別関数でRectを求めて,変数でWINDOW文を記述するのはそれ相応の理由があります。あなたがPICT画像を読み込んで,ちょうど良い大きさのウインドウを展開しようとすると,毎回WINDOW文のRect部分が変化しますよね。こういう場合は変数を使用する確たる理由があります。

    また,ウインドウのサイズを定数で用意しておけば,将来ウインドウサイズを変更したいと考えたときに,定数の変更で事足ります。ソースの複数箇所でウインドウサイズの指定をしていると,サイズ変更のメンテナンスが大変になります。

    しかし,小さなプログラムではウインドウも一つで良いし,サイズの変更も苦にならないので,関数を減らしてソースを短くしたいと考えたとしましょう。これはこれで正しく動作するプログラムができるでしょうから,弘樹さんが納得するのなら構わないわけです。

    反面,プログラムというのは拡張されてゆくものですよね。弘樹さんも自作のソースが増えてくると,以前作ったソースをベースとして新しいプログラムを作られることでしょう。その時にソースの中に固定の数値が書かれていると,応用が利きにくくなりますし,変更を忘れるとバグの元となったりします。小さいプログラムのうちは無駄に思えることも,将来の拡張を考えるとあながち無駄でもないわけです。やはり,拡張性を考えると固定数値の書き込みはやめて,変数や定数の利用が良いのではと思います。

    私も始めは,このような説明を受けてもやはり無駄な作業に思えました。
    しかし,いろいろと作っていくと考えが変わりました。この問題は方法論の話しですから,固定値を使わない理由も個人の好みを打ち消すほどの強い力はありません。ですが,先人が試行錯誤の上で編み出した方法なのですから,この方法に慣れておくとサンプルソースが理解しやすくなりますし,弘樹さんのソースも他の人が読みやすくなると思います。どういう場合にメモリを使えばいいのかという話しですが,かちかちの規則を自分で作るより,変数にできると気付いた部分のみ変数にするといいのではないでしょうか。ソースコードの芸術性を追及するのは,もっと慣れてからで良いと思います。せっかく始めたプログラミングなのですから,作った・動いた・嬉しいをたくさん楽しむほうがいいですね。

    余計なおせっかいだったかも知れません。長文失礼しました。

    Subject: [fb-ml 651] はじめまして
    この度、fb-mlに参加させていただきました、重松修と申します。
    よろしくお願いいたします。

    現在、FBでCGIを作成しており、FBでインターネット関連のアプリケーション、WWWサーバ・メールサーバ(=BBSホスト)、Netscapeプラグイン(=BBS専用クライアント)を作るのが将来の目標です。何時になるかは不明ですけど。(^_^;;

    現在AppleScriptで作った掲示板でFB CGI会議室をやっていますので、CGIに興味がある方は是非いらしてください。http://www.ravi.ne.jp/FBII/です。

    買ったのは半年前で、使い始めてまだ一月くらいしか経っていませんので、とんちんかんな質問をするかもしれませんが、よろしくお願いいたします。

    Subject: [fb-ml 652] プログラム講座初級編10
    プログラム講座 初級編10を拝見しました。

    そこでかねてよりの疑問があります。
    err% = FN HLOCK(myHandle&)
    err% = FN HUNLOCK(myHandle&)
    err% = FN DISPOSHANDLE(myHandle&)
    のerr%です。一体何のためにあるのでしょうか?

    マニュアルを読むと失敗することがありますから、チェックを行ってくださいとあります。DISPOSHANDLEでこけたら、一体どうしろというのでしょうか?

    モードに問い合わせたのですが、歯切れが悪く(早い話しめったにないから)深く考えなくてもよい、ということでした。

    今の所は、gProgramEnds%を_trueにしています。
    IF err% THEN gProgramEnds%=_true

    Subject: [fb-ml 653] Re: プログラム講座初級編10
    古籏一浩です。

    At 1:10 97.6.26 +0900, Osamu Shigematsu wrote:
    >err% = FN HLOCK(myHandle&)
    >err% = FN HUNLOCK(myHandle&)
    >err% = FN DISPOSHANDLE(myHandle&)
    >のerr%です。一体何のためにあるのでしょうか?

     HLOCK,HUNLOCKはなぜかこの形式で、ちょっと謎です。
     CALL HLOCK(myHandle&)
     CALL HUNLOCK(myHandle&)
     といった感じでよさそうなものですが・・・
     作者に聞かないとわからないですf(^^;

    >マニュアルを読むと失敗することがありますから、チェックを行ってくださいとあります。DISPOSHANDLEでこけたら、一体どうしろというのでしょうか?
     こける場合は、どんな時でしょう?
     DISPOSHANDLEでエラーになる時は「ハンドルが確保されていないのに破棄しようとした」という場合でしょう。
     IF err% <> 0 then PRINT "ハンドルが正常に確保できていないかもしれません"
     といった警告メッセージでも用意しておけばデバッグが楽になると思います。
     確実にハンドルの確保、破棄を行っているのであればはっきりいって不要です。

    Subject: [fb-ml 654] Re: プログラム講座初級編10
    重松です。さっそくありがとうございます。

    >  HLOCK,HUNLOCKはなぜかこの形式で、ちょっと謎です。
    >  CALL HLOCK(myHandle&)
    >  CALL HUNLOCK(myHandle&)
    >  といった感じでよさそうなものですが・・・
    >  作者に聞かないとわからないですf(^^;

    こちらは半分呪文のような感じで理解しておきます。(^_^)

    >  こける場合は、どんな時でしょう? >  DISPOSHANDLEでエラーになる時は「ハンドルが確保されていないのに破棄しようとした」という場合でしょう。
    >  IF err% <> 0 then PRINT "ハンドルが正常に確保できていないかもしれません"
    >  といった警告メッセージでも用意しておけばデバッグが楽になると思います。
    >  確実にハンドルの確保、破棄を行っているのであればはっきりいって不要です。

    そうなのですか。安心しました。マニュアルの例文がなんせ、
    LONG IF hndl&
    osErr%=FN DISPOSHANDLE(hndl&)
    IF osErr%<>_noErr THEN PRINT "Something wrong!"
    END IF
    だったのでhndl&がnilでない=きちんと確保できている、と認識してましたから、「something」っていう良くわからない表現はやめてくれ!とか思いました。
    お陰様ですっきりしました。

    Subject: [fb-ml 655] Re: クリップボードからの読み込み
    川野@佐賀大学です.

    At 9:57 PM +0900 97.6.25, KaZuhiro FuRuhata wrote:
    >  これは、プログラムをみないとわかりません。
    >  変数の名前の間違い、型の違いも可能性があります。
    >
    >  「もう〜わからん」という場合は怪しい部分のリストをMLに流してみると誰かが答えてくれると思いますよ。

     昨日から目さらのようにしてプログラムをチェックしました.そこで,古旗さんの教えてくれたプログラムでLONG FNとなっている部分をLOCAL FNに変えたところうまく行きました.どうやら,LONG FNでは変数の受け渡しがうまく行かなかったようです.まったく,初歩的な失敗をしてしまいお恥ずかしいかぎりです.
     今後ともよろしくお願いいたします.

    Subject: [fb-ml 656] Re: クリップボードからの読み込み
    古籏一浩です。

    At 12:42 97.6.26 +0900, Yoshinobu KAWANO wrote:
    > 昨日から目さらのようにしてプログラムをチェックしました.そこで,古旗さんの教えてくれたプログラムでLONG FNとなっている部分をLOCAL FNに変えたところうまく行きました.どうやら,LONG FNでは変数の受け渡しがうまく行かなかったようです.まったく,初歩的な失敗をしてしまいお恥ずかしいかぎりです.
     無事に出来て良かったですね(^^)
     そういえば、関数の戻り値について全然説明してませんでしたf(-.-b

    LOCAL FN test!

    END FN = a

    でaには浮動小数が返ります。

    LOCAL FN test

    END FN = a

    でaには整数値が返ります。

    LOCAL FN test#

    END FN = a

    で倍精度の値が返ります。
    EXCELなら倍精度で返すようにした方がいいかなと思います。

    #回線工事のため、しばらく音信不通になる可能性大です。
    #という事で、よろしく〜(^0^)/

    Subject: [fb-ml 657] Re: プログラム講座初級編10
    古籏一浩です。

    At 3:03 97.6.26 +0900, Osamu Shigematsu wrote:
    >そうなのですか。安心しました。マニュアルの例文がなんせ、
    >LONG IF hndl&
    >osErr%=FN DISPOSHANDLE(hndl&)
    >IF osErr%<>_noErr THEN PRINT "Something wrong!"
    >END IF
    >だったのでhndl&がnilでない=きちんと確保できている、と認識してましたから、「something」っていう良くわからない表現はやめてくれ!とか思いました。

     マニュアルは、ちょっと駄目ですね、わかりにくい。
     せっかくの日本語版なんだから、もうちょっと良いマニュアルをと思うのですが・・・

     時間があったらオンラインで、まっとうなリファレンスを作りたいなと思っています。FB ver 1.02の時は一応あったんですけどね〜

    Subject: [fb-ml 658] Re: はじめまして
    古籏一浩です。

    At 22:59 97.6.25 +0900, Osamu Shigematsu wrote:
    >この度、fb-mlに参加させていただきました、重松修と申します。
    >よろしくお願いいたします。

     いらっしゃいませm(_ _)m
     一応、ここの管理人の古籏一浩です。

    >現在AppleScriptで作った掲示板でFB CGI会議室をやっていますので、CGIに興味がある方は是非いらしてください。http://www.ravi.ne.jp/FBII/です。
     AppleScriptでやっているんですか、偉いですね(^^)
     私は通信関係には弱いので気が引けてしまいます・・・
     掲示板とかも作った事ないし・・・

    Subject: [fb-ml 659] 初級編12を追加しました
    古籏一浩です(^^)/

    初級編12を追加しました。
    今回は簡単なMac->UNIXへの改行コード変換です。
    メモリ内容を読み出し、書き込み後一気にファイルに書き出すという一連の処理を覚えてもらえばいいかなと思います。

    こういうパターンで処理を行えばFuture BASICでも高速でできます。

    Subject: Re: [fb-ml 659]初級編12を追加しました
    > 初級編12を追加しました。
    > 今回は簡単なMac->UNIXへの改行コード変換です。
    > メモリ内容を読み出し、書き込み後一気にファイルに書き出すという 一連の処理を覚えてもらえばいいかなと思います。
    >
    > こういうパターンで処理を行えばFuture BASICでも高速でできます。

    重松です。

    えーっと、私のホームページに拙い漢字コード識別ルーチンを載せてあります。漢字コード変換ルーチンも近日中に公開しますので、興味がある方はご覧ください。URL=http://www.ravi.ne.jp/FBII/です。以上、閑古鳥状態のホームページの宣伝でした。

    初級編、ということで割愛されたのでしょうが、例えば、CRのみやLFのみをCR+LF(要するにWindows用)に変換するとファイルサイズが確保してあるハンドルを越えますよね?また、これは単にCRとLFを検索して、それぞれCR+LFに置換するルーチンでもあると思います。

    そして、一応2バイト文字の分割に配慮して置換ルーチンも作ったのですが、これも検索文字列に対して置換文字列のほうが長いと当然、関数に渡されたときよりも、処理後の戻り値のほうが文字列が長くなってしまいます。短くなる分には一行に構わないのですが、長くなるときはどう処理すればよいのでしょうか?

    # 現在は作業用領域を32Kとってlength&に文字列の長さを格納し、処理しています。ただ、メモリの効率が非常に悪く、こまってます。

    あと、IM:Textをダウンロードしたのですが、FutureBasicハンドブックの279ページのFN MUNGERを使えば置換が出来そうなのですが、印刷に時間がかかって書籍を買おうかと思っています。バイスはボッタクリなので、どなたか良心的な値段でIMを扱っているお店を知りませんでしょうか?

    Subject: [fb-ml 660] はじめまして
    始めまして。私はFBでプログラマの様なものをしているものですがFB&PGについてちょっとお聞きしたいとメールしました。

    1)FBでコンパイルに失敗する
    まったくおこらない時もあるのですが、ひどい時には10回に1回しかコンパイルに成功しない時がある。

    2)PGがプログラムを消してしまう
    PGで画面を変更して保存すると、プログラムの一部(大抵は.MAINファイル)が消えてしまう。

    3)PGで定数が消されてしまう
    2番と同じようにPGで保存すると、メニュー定数などの一部(大抵がポップアップメニュー)が消されてしまう。

    などが頻繁におきているのですが、どこにも(販売元のモードのホームページや、ほかの方のホームページでも)それらしい記事をみないので、私のところだけなのかと困っている次第です。

    もし、これらの解決法&回避法などを知ってる方がおりましたら教えていただけないでしょうか?
    よろしくお願いします。

    Subject: [fb-ml 661] PICTのUndoについて
    みなさん,こんばんわ。

    実は最近また悩んでいることがあります。
    とりあえず,お絵描きソフトはできつつあるのですが,Undo処理の構築で悩んでいます。サンプルなどでは描画前のPICTをHANDTOHANDでまるごと保存してますよね。でも巨大な画像の場合にはメモリ不足がおきるのではと心配しています。さらに複数回の取消をサポートしようと思うとなおさらメモリが心配です。巨大な画像をコピーすると,反応速度が遅くて書き出しの部分の描画が間に合わないなどの弊害がでています。

    市販のソフトでは,かなりの大きさの画像でも,いつUndo用にデータを保存しているのかと思うくらいの速度がでていますよね。ここまでは求めませんが,せめてストレスを感じない程度に高速化したいのです。
    画像のUndoをするためには,元画像をそのまま保存するしか手がないのでしょうか。なにか良い案があれば教えてもらえないでしょうか。

    それと,次の構文が意味がわからず悩んでいます。

     END FN = ( Aborted = _False )

    これは,Aborted が偽の場合に,関数の値を偽にするということなのでしょうか。ちょっと読みずらくて困ります。

    Subject: [fb-ml 662] Re: クリップボードからの読み込み
    At 2:53 PM 97.6.26, KaZuhiro FuRuhata wrote:
    >>>>>
    LOCAL FN test!

    END FN = a

    でaには浮動小数が返ります。

    LOCAL FN test

    END FN = a

    でaには整数値が返ります。

    LOCAL FN test#

    END FN = a

    で倍精度の値が返ります。
    EXCELなら倍精度で返すようにした方がいいかなと思います。
    <<<<<

     あれ? これでいいの?

     いや、関数名に型を付けるのはいいんですが、返す値が整数になっている (a のことね) んですが、これって関数の型にあわせて自動的に返り値まで変換されるものだったんですか?

     てっきり

    LOCAL FN test#
    'some codes
    END FN = result#

     というように、返す値に型をきっちり付けないと (result#) だめなんじゃないのかな? 実験してないから不明だけど、僕はいつも、関数の型と返り値の型は一致するようにしてきましたので。

    Subject: [fb-ml 663] Re: はじめまして
     ベン / 矢野勉 です。

    At 7:28 PM 97.6.26, Tomoya Aoyagi wrote:
    > 1)FBでコンパイルに失敗する
    > まったくおこらない時もあるのですが、ひどい時には10回に1回しかコンパイルに成功しない時がある。

     コンパイルに失敗するってのは、なにかエラーでもでるんですか? それなら、エラーの内容がわからないと、返事のしようもありませんし。それともいきなりフリーズするとか。

     とりあえず、STAZ folder 内の STAZExtras が壊れているのかもしれません。このファイルだけ新品と交換してみてください。ついでに、プログラムにプロジェクトファイル (paiマークがついたやつ) があれば、これも一度破棄してください。

    > 2)PGがプログラムを消してしまう
    > PGで画面を変更して保存すると、プログラムの一部(大抵は.MAINファイル)が消えてしまう。

     具体的にどこがきえますか? .MAINの上部にある、{PG3} というマーク (なんかコメントとして「ここは PG が使うからけすなっ」と書いてあるところ) の間ならば、消えるのが仕様です。PG は保存のたびに、マーカーの部分を新しい情報で書き換えます。たとえば、使用する FLTR を増やしたり減らしたりすると、INCLUDE 文を増やすなり減らすなりします。その段階で、その部分に書かれていた情報はすべて消去されます。
     もしここのことなら、単純に、マーカーよりもあとに記述すれば、問題なく動きます。

    > 3)PGで定数が消されてしまう
    > 2番と同じようにPGで保存すると、メニュー定数などの一部(大抵がポップアップメニュー)が消されてしまう。

     これは PG の作るファイルのうちの、Project.GLBL ファイルのなかでのことですね。おそらく、ファイルの一番下に、PG がメニュー定数を書き込むところに、自分の定義した定数を書き込んでいるのでしょう。これも上記と同じで、マーカー内部ですから、PG は保存の度に、新しいメニュー情報に基づいて、この部分を削除して書き換えます。PG の作り出すファイルには、基本的に「ここに書け」と書かれている部分以外のところに自分のコードを書いてはいけません。GLBL ファイルのばあいは、ファイル上部に英語で「ここにあんたの定数なりグローバルなりを定義しないさい」という部分があります。(一番うえのはずです) そこに書くかぎりは、基本的には消されません。

     あと、これは PG というより FB の問題ですが、コンパイルに失敗したときだと思うけど、とつぜんファイルの内容がからっぽになることがあります。僕はいままでに3度経験してまして、2度目からは作業前にかならずバックアップを取るようになっていたので、被害は一日分ですみました。

     ここで教訓

     「プロジェクト用にディスクを用意して、作業前に必ずバックアップを取ってからプログラムを始めよう」

     いや、まじで、いまからでもしておいたほうがいいですよ。とくに、単独ファイルではなく、プロジェクト・ファイルを使っているひとはね。

    Subject: [fb-ml 664] Re: PICTのUndoについて
     ベン/矢野勉 です。

    PICT のアンドゥについては、新しく絵を描いた部分だけ、どっかに取っておく、という手段しかないんじゃないでしょうかね? つまり、たとえば、四角の選択領域をカットしたら、クリップボードにその四角の部分の画像を記録しますよね。それと似たような感じで、画像を描いたら、その部分の元画像を、自分でメモリを確保してクリップボードのように記録しておくのです。

     ポイントは、「画像だけを記録しておくのでなく、画像の位置も一緒に記録しておく」ことです。これがわからないと復元できないからです。

    DIM RECORD UndoBufRec
    DIM UBzTop% '"top
    DIM UBzLeft% '"left
    DIM UBzBottom% '"bottom
    DIM UBzRight% '"right
    DIM UBzDataH& '"実際の画像へのハンドル
    DIM END RECORD .UndoBuffRec

    とうようなレコードを用意します。UBzTop% から UBzRight% までは、Rect 形式での、画像の位置を表わしています。UBzDataH& は実際の PICT データが入ります。これで四角領域のデータの保存が可能になります。

     Macintoshの QuickDraw では、rect はあらゆる図形の基本的な姿です。円を描くときも、4点の位置を与えてやると、その内側に円が描かれるわけです。ですので、たとえば、ユーザーは円ツールで円を描いた場合でも、始点と終点を結ぶ四角形が得られるわけです。
     この四角形の位置と画像をメモリに保存し、それからやっと、指定された円を描きます。いまあなたの手元には、円が描かれた画像、メモリ内に位置情報とともに保存された四角形画像、の2つがあります。ユーザーが Undo を選んだら、話は簡単です。PICTURE ステートメントなり、Toolbox の DrawPicture なりで、保存しておいた画像をもう一度描いてやればいいわけです。このときに、前と同じく再描画する部分の画像を保存しておけば、Redo が実現できます。(そうです、メニュー名が違うだけで、やっていることは同じなんです。)

     ポイントは、「とにかく四角の画像として保存しておくこと」です。自由曲線だろうが、三角形だろうが、それらを囲む最小の四角さえ得られれば、すべて同じ形式で保存できます。四角なら位置を記録しておくのも簡単です。画像も OpenPicture とCopyBits の組み合わせでいけます。 OpenPicture については、handbook の p306の recording a picture をみてください。

    #このあたり、古旗さんのページにありましたよね。例の草稿のなかにあったのは確実だけど...>古旗さん

     おそらく多くの画像ソフトが同等の仕組みを応用しているとおもいますよ。(まあ、しぼればもっとしぼれるけど...丸なら丸として保存しておくとか。でもあまりに手間がかかります)

    > それと,次の構文が意味がわからず悩んでいます。
    >
    > END FN = ( Aborted = _False )
    >
    > これは,Aborted が偽の場合に,関数の値を偽にするということなのでしょうか。ちょっと読みずらくて困ります。
     これは逆です。Aborted が偽のときに、返り値を真にします。カッコ内部が IF のときと同じ条件式でして、「Aborted が _false かどうか」とテストして、その結果を返しているわけです。

    Subject: [fb-ml 665] Re: メモリのこと
    At 7:54 AM 97.6.26, 仙台7200/90 wrote:
    >しっかりしたお話しは,古籏さんやベンさんからレスが付くと思います。
     よばれて飛び出ました。ベン/矢野勉 です。

    > 弘樹さんの質問は,PICTやTEXTの格納場所にメモリがいるのはわかるが,固定数値を書けば済むところになぜ変数を使用するのかと捉えました。
    >
    > WINDOW 文に直接数値を書く方法で良いのではということですが,これは結論として好みの問題が大きいのではと考えます。

     はい。僕も同意します。

    > 別関数でRectを求めて,変数でWINDOW文を記述するのはそれ相応の理由があります。あなたがPICT画像を読み込んで,ちょうど良い大きさのウインドウを展開しようとすると,毎回WINDOW文のRect部分が変化しますよね。こういう場合は変数を使用する確たる理由があります。
     まったくそのとおりです。PICTから Rect情報を引き出して、それをもとに WINDOWステートメントで適切なサイズのウインドウを作成することになります。もちろん (left,top)-(right,bottom) という形でもいけますが、@rect 一発でいけるのは楽ですね。PICT からは Rect レコード形式で取り出すことになりますから。

    > また,ウインドウのサイズを定数で用意しておけば,将来ウインドウサイズを変更したいと考えたときに,定数の変更で事足ります。ソースの複数箇所でウインドウサイズの指定をしていると,サイズ変更のメンテナンスが大変になります。
     はい、結局はこれなんです。良いプログラム関係書では、「文字列や数値を直接使うのは、できるだけさけろ。定数か変数を使え」とかならず書いています。これには「見やすさ」と「変更のしやすさ」が理由です。

     見やすさでは、Mac のプログラムで使われるものとしては、スクロールバーの幅があります。これは16と決まっているのですが、プログラム中にいきなり 16 という数字が出て来るのと、_ScrollBarSize という定数が出て来るのとでは、どちらが見やすいでしょうか。

     変更のしやすさという面では、たとえば、フィールドの高さを最初は 20 としたものの、いろいろ考えて 40 にしようとおもった場合、もしフィールドは20個あったらどうしましょう。もし定数なり変数なりを使っていれば、一箇所を変更するだけで用が足りてしまします。楽ですね。

     このように、変数や定数を使うのはらくで、しかも見やすいのです。しかも拡張するときにも楽です。たとえば件のウインドウの例でいえば、将来、ウインドウを作成した後に、もとのサイズより 10 ピクセルだけ大きい rect が必要になったらどうしましょう? 直接書き込んだ数字に暗算で 10 ずつ足したり引いたりして、また直接書き込みますか? それとも、CALL INSETRECT(winRect, -10, -10) で済ませますか? 一つの関数内でこれを5回繰り返す必要が出たら? ありえないといえるでしょうか?

     とまあ、プログラムは常に変更を加えながら書くもんですから、なるべく変数として確保しておいたほうが、あとあとやりやすいんです。

     あと、定数/変数を使う場合、直接書き込む場合を区別するのがたいへん、というのもあります。「ここは直接入力でいけるだろ」とか思っていたところが、実はそうじゃなかった、てなこともあります。で、こういうミスをさける一番の方法は「ひとつのやり方に徹底的に従う」ことなんですね。一つ一つは手間でも、最終的にはこういうマメなひとが先に完成させてしまうのが、プログラムの世界ですね(^^) コメントを書く/書かないなどを考えると分かりやすい(^^;)

     ファイル一つ程度の、しかもたった一枚のウインドウくらい、別に直接入力にしたってかまいません。はい。ぼくだってそうするでしょう。しかし、変数や定数を使うのに慣れておくのは、たいへん良いことでもあります。PG級のプログラムになると、このありがたみがよ〜くわかります。はい。

     さて、第2の本題。

     「メモリの確保」ですが、ぼくは DIM による変数宣言を「メモリの確保」だと思ったことはないなあ。だって、DIM つかわずにいきなり変数をしようしても、結局、そこで DIM が使われたかのように自動的にメモリ確保が行われるんですよ。「メモリ」などというからわかりにくいんで、「変数」と「メモリブロック」は区別すべきでしょう。

     「変数」とは、自由に値を変更できる、プログラム上での「記号」。定数は、値を変更できない「記号」。

     「メモリブロック」とは、プログラマの指示によって始めてつくられる、情報の保管場所。必要な時に必要なだけ要求できる。保管場所の位置は変数に記録しておく。

     そう、変数はプログラムにおいては記号だと考えるべきです。つまり、DIM をメモリ確保のステートメントだと考えるのではなく、変数の使用宣言だと思えばいいのです。COMPILE オプションに _dimmedVarsOnly を指定すると、前もって宣言された変数 (つまり DIM された変数) 以外は使用禁止になるので、よくわかります。いちどやってみましょう。
     もちろん変数も2バイトなり4バイトなりのメモリ空間を (1秒にもみたない時間でしょうが) 一時的にはとるでしょう。しかしそんなことは気にする必要はとくにないでしょう。どうせかってに消えるんですから。

     一方、プログラム中にずっと存在して欲しい情報 (たとえば、現在編集中のテキストだとか、画像だとか) は、メモリ内に保管場所を用意して入れておきます。いちいちディスクからちまちま読み込んでられないので、一気にメモリ内に読み込んで、メモリ上にあるテキストなり画像に変更を加えるのです。(でないと、なんかするたびにディスクにアクセスするでしょ) で、保存が選ばれたら一気にディスクに書き込むわけです。

     メモリブロックが必要になるのは、だいたいは「最後までのこっていてもらわんと困る場合」「変数のサイズではぜんぜん大きさが追い付かない場合」に使いますね。30K のテキストを編集するのに、いったいどの変数に 32K もためておけますかね?

     こう考えてはどうでしょう。メモリという倉庫があって、「こんだけ商品があるから、場所おくれ」と要求したら、そんだけあけてくれる。で、商品を引き上げにくるまでずーとあずかってくれるわけです。で、「君の倉庫は 123 番ね」とかいってくるので、この位置を記録しておかないと、荷物がどこにあるかわからない、と。

     どのくらいのサイズを確保する必要があるか、ですが、これは「いるぶんだけ」としかいいようがない。普通はメモリブロックの確保前に、必要なサイズは分かっているもんなんです。ファイルから読み込むなら、ファイルサイズ分のメモリブロックを用意するとかね。必要なサイズが分かってない、ってのは、プログラム上のミスが考えられます(^^;)

    Subject: [fb-ml 666] AIFF
    みなさん、ご無沙汰しております伊藤です。
    以前古籏さんの講座でAIFFの非同期再生をやってまして、それを元に自分でアプリを作成しました。
    同一階層のAIFFを全て読み込み、ボタンで前後に進めるというモノです。
    が、前後いずれかに進むと、割り当てバッファによっては次の音が出ず、現在の音が止まらなかったり……という症状が出てしまいました。どうやら一旦現在の音を止めてから次の音を出さなければならないようで、古籏さんからも資料を頂いたりしたのですが、実力が伴わず保留状態でした。
    長々書き込んでしまいましたが、先日某FBサイトでサウンド関連のリストを入手しまして、中身を探ると……ありました。半信半疑でしたがダメモトで自分のリストに加えると……ちゃんと音が止まりました。
    以下のルーチンがそれです。まだ半信半疑なので本当に良いのかはわかりません。音は止まるようになったけど裏で不都合が生じているとか、そんな事ないですか?

    CLEAR LOCAL MODE
    DIM MySndCmd;_sndCSize
    DIM sndErr
    LOCAL FN sndStop(sndChanPtr&)

    MySndCmd.cmd = _quietCmd
    MySndCmd.param1 = 0
    &@MySndCmd.param2,0&

    sndErr=FN SNDDOIMMEDIATE(sndChanPtr&,MySndCmd)
    MySndCmd.cmd=_flushCmd
    sndErr=FN SNDDOIMMEDIATE(sndChanPtr&,MySndCmd)
    END FN=sndErr


    Subject: [fb-ml 667] Re: はじめまして
    早速のお返事ありがとうございました。私の説明不足でうまく内容を伝えられなかったのでもう一度詳しく質問させてください m(__)m

    >> 2)PGがプログラムを消してしまう
    > 具体的にどこがきえますか? .MAINの上部にある、{PG3} というマーク (なんかコメントとして「ここは PG が使うからけすなっ」と書いてあるところ) の間ならば、消えるのが仕様です。PG は保存のたびに、マーカーの部分を新しい情報で書き換
    >(中略)
    > もしここのことなら、単純に、マーカーよりもあとに記述すれば、問題なく動きます。
    どうも、{PG4}以下のプログラムが消されてしまうようです。
    以下の例でいうと、、、

    INCLUDE "STR#.INCL"
    INCLUDE "ICON.FLTR"
    '{PG4}
    >'=========================================
    >"@Filters" :SEGMENT
    >'=========================================
    >LOCAL FN KeyFilter
    > DIM tKeyPress$

    >の行以下が消えてしまうのです。

    最近では偶然にもSEGMENT文でプログラムを区切ったら消されることがなくなったと(友人から)報告をうけていますが、これも単なる偶然が重なっているだけかもしれないので何ともいえません。

    >> 3)PGで定数が消されてしまう
    >ね。おそらく、ファイルの一番下に、PG がメニュー定数を書き込むところに、自分の定義した定数を書き込んでいるのでしょう。これも上記と同じで、マーカー内部で

    それが、違うのです。自分が記述した定数ではなくて、PGが吐き出すべき定数が消えてしまっています。PGの「Menu Constants」を見ると定数名のみで肝心な数値がないのです。
    また、実際にプログラムを吐き出してみると、その定数すらなくなっているのです。

    例)
    _User21W31 = 36 'Obj:User Item 21
    _User21W32 = 37 'Obj:User Item 21
    _User21W33 = 38 'Obj:User Item 21
    Item 21
    Item 21
    Item 21
    Item 21
    Item 21
    _User21W40 = 45 'Obj:User Item 21

    「.GLBL」ファイルの中で上のようにいきなり定数もなければ数値もなくなっています。

    > あと、これは PG というより FB の問題ですが、コンパイルに失敗したときだと思うけど、とつぜんファイルの内容がからっぽになることがあります。僕はいままでに3度経験してまして、2度目からは作業前にかならずバックアップを取るようになっていたので、被害は一日分ですみました。
    私もやられました。それ以来実行する時には必ず保存するようになりましたけどね(笑)

    > いや、まじで、いまからでもしておいたほうがいいですよ。とくに、単独ファイルではなく、プロジェクト・ファイルを使っているひとはね。
    ありがとうございます。これからはこまめにバックアップとります。消えてしまってなくよりはマシですからね(^^;;;

    Subject: [fb-ml 668] JPEGファイルの読み込み
    ご無沙汰しております。yukiです。

    また質問があるのですが、実は今デジタルカメラのExif(JPEG互換形式)の読み込み、書き込みのできるプログラムを計画しております。しかしJPEGの資料を本屋に探しにいきましたが、実際にプログラムできるような内容のものを入手することができませんでした。そこでお願い/質問なのですが、どなたか公開可能なJPEG読み込みのルーチンをお持ちの方はいらっしゃいませんでしょうか?またはJPEG形式についてプログラムできるくらい詳細に説明されているHPをご存じの方はいらっしゃいませんでしょうか。

    宜しくお願いいたします。

    Subject: [fb-ml 669] Re: PICTのUndo について
    重松さん,ベンさん,ありがとうございます。

    END FN = ( Aborted = _False ) のAbortedが偽の場合に関数の戻り値を真にするというのがわかって幸せです。これは,FB2のプロジェクトマネージャーが生成するサンプルの全ファイルクローズの関数で利用されていたのです。
    しかし,もうすこしわかりやすい書き方をしてくれてもいいのにと思います。

    メモリのことですが,
    DIM t,l,b,r
    t;8 = myRect
    という書き方を見たのですが,こんなんありなんですね。
    でも「;8」の理屈がわかっていないので,いまいち不安です。

    PICT Undo の件ですが,最小限のデータを位置情報と共に保存するということですか。
    なるほど,これなら極端にメモリが消費されることもありませんね。
    しかし,ちょっと考えたのですが,エアブラシ処理の時などは,複数の画像を連続して書き込みますが,最小限のRectを求める前に描画が実行されますので,前記の方法ではうまくいかないなぁと気付きました。ブラシの画像を一枚描画するたびに,該当する領域を順番にリスト構造で保存するという案を考えました。しかし,始めの一枚と次の画像は,半分以上重なっています。これでは,保存したデータのほとんどの部分が重複していることになります。これを解決するために,先にウインドウにのみ描画し,一連の描画が終わった段階で領域を求めてオフスクリーン側の描画をしようかとも考えています。でも,これってすごくややこしいし,次のブラシ動作が続けて始まると間に合わないのではと心配です。何かこういう場合の逃げ方はないものでしょうか。

    Subject: [fb-ml 670] Re: JPEGファイルの読み込み
     ベン / 矢野勉です。

    At 6:12 AM 97.6.28, 原 幸久 wrote:
    > また質問があるのですが、実は今デジタルカメラのExif(JPEG互換形式)の読み込み、書き込みのできるプログラムを計画しております。しかしJPEGの資料を本屋に探しにいきましたが、実際にプログラムできるような内容のものを入手することができませんでした。そこでお願い/質問なのですが、どなたか公開可能なJPEG読み込みのルーチンをお持ちの方はいらっしゃいませんでしょうか?またはJPEG形式についてプログラムできるくらい詳細に説明されているHPをご存じの方はいらっしゃいませんでしょうか。
     画像系は弱いんで、詳しくは古旗さんが復活するのを待つとして、JPEGの変換なら、QuickTime のルーチンでできるはず。(まあ、QuickTime がインストールされているかどうかをチェックしなくちゃいけなくなりますけど) 実はやり方はしりませんで、とりあえずそういう事実がある、ということだけ NIFTY の FMACPRO でしばしば目にしています。

     というわけで、New Inside Macintosh: QUICK TIME が参考資料として挙げられますね(^^;)

    Subject: [fb-ml 671] Re: JPEGファイルの読み込み
    こんにちはMONO/伊藤智則です。

    At 11:32 PM 97.6.27, Tsutomu YANO wrote:
    >  ベン / 矢野勉です。
    >
    > At 6:12 AM 97.6.28, 原 幸久 wrote:
    > > また質問があるのですが、実は今デジタルカメラのExif(JPEG互換形式)の読み込み、書き込みのできるプログラムを計画しております。しかしJPEGの資料を本屋に探しにいきましたが、実際にプログラムできるような内容のものを入手することができませんでした。そこでお願い/質問なのですが、どなたか公開可能なJPEG読み込みのルーチンをお持ちの方はいらっしゃいませんでしょうか?またはJPEG形式についてプログラムできるくらい詳細に説明されているHPをご存じの方はいらっしゃいませんでしょうか。
    >
    >  画像系は弱いんで、詳しくは古旗さんが復活するのを待つとして、JPEGの変換なら、QuickTime のルーチンでできるはず。(まあ、QuickTime がインストールされているかどうかをチェックしなくちゃいけなくなりますけど) 実はやり方はしりませんで、とりあえずそういう事実がある、ということだけ NIFTY の FMACPRO でしばしば目にしています。
    >
    >  というわけで、New Inside Macintosh: QUICK TIME が参考資料として挙げられますね(^^;)

    僕も画像のviewerを作るつもりなのですが、やはりPICTだけじゃなくてJPEGにも対応させたいと思いました。しかし資料は全然見つかりませんでした。そういう困っている時期に丁度MODEからTOOLZの知らせが……飛びついてしまいました。
    ご存じかもしれませんがざっと……
    Apple Eventフィルタ
    Apple Talkフィルタ
    BCD->SANE Converter
    DragNDropフィルタ
    FuturePAINTII(^_^;)
    ImageFILES$フィルタ JPEG、TIFF、etc.
    NetChkSNフィルタ
    RdWrUtilitiesフィルタ

    Subject: [fb-ml 672] Re: PICTのUndo について
    At 8:25 AM 97.6.28, 仙台7200/90 wrote:
    > しかし,ちょっと考えたのですが,エアブラシ処理の時などは,複数の画像を連続して書き込みますが,最小限のRectを求める前に描画が実行されますので,前記の方法ではうまくいかないなぁと気付きました。ブラシの画像を一枚描画するたびに,該当する領域を順番にリスト構造で保存するという案を考えました。しかし,始めの一枚と次の画像は,半分以上重なっています。これでは,保存したデータのほとんどの部分が重複していることになります。これを解決するために,先にウインドウにのみ描画し,一連の描画が終わった段階で領域を求めてオフスクリーン側の描画をしようかとも考えています。でも,これってすごくややこしいし,次のブラシ動作が続けて始まると間に合わないのではと心配です。何かこういう場合の逃げ方はないものでしょうか。
    はじめまして、葛原といいます。

    エアブラシのUndoは市販のアプリケーションをみていると、だいぶ苦労しているみたいですから、FutureBasicではもっと大変かもしれません。
    コーディングはしていませんが、考え方だけ、言いますと、一つのUndoは、マウスがダウンしたところから、アップしたところまでのマウスの動きによって、エリアが確定できると思います。とすると、実際に、作業中の描画は直接、画面ウィンドウにかかせ、書かせる前の画面をオフセットスクリーンにでも、退避しておきます。
    エアブラシの動作が終わったときに、エリアが確定できるでしょうから、Undo用のPicture分、メモリを確保し、オフセットスクリーンからコピーしておけば、いいのかなと思います。

    #マシンにとっても私にとっても、酷な季節がやってきました。(/_;)
    #今年は、マジでエアコンを買わないとダメかなぁ。(^_^;)

    Subject: [fb-ml 673] Re: PICTのUndo について
    葛原さん,ありがとうございます。

    なかなか難しそうな処理ですね。しかし,考え方はわかりましたのでフローチャートを書き書きして,じっくりと作っていきたいと思います。
    # 私もエアコンが欲しいです。でもお金がない(T_T) 今後とも,宜しくお願いします。

    Subject: [fb-ml 673] C->FB2 型変換 について
    またまた,根来です。

    連続で質問してもうしわけないのですが,C言語のヘッダファイルをFB2用に書き換えているのですが,変数型の変換がうまくできなくて困っているのです。ちょっと助けてもらえないでしょうか。

    C言語で次のようなヘッダがあります。
    struct body {
    unsigned short body_1;
    unsigned char body_2;
    short body_3[3];
    };

    struct MyRecord {
    char head_1;
    char head_2;
    short head_3;
    long head_4;
    Ptr head_5;
    long head_6;

    BodyRecord body[2];
    };

    この外部構造体を何とかFB2で読み込みたいと考えています。
    ポインタは正しく取得できているのですが,FB2で上記フォーマットの構造体を収めるレコードのDIM RECORDに失敗しているようなのです。
    上記の各変数の型はFB2でどうすればいいのでしょうか。
    私はとりあえず下の宣言をしたのですが,うまくいかないようです。

    DIM RECORD MyRecord
    DIM head_1%
    DIM head_2%
    DIM head_3%
    DIM head_4&
    DIM head_5&
    DIM head_6&
    DIM body_1_1%
    DIM body_1_2%
    DIM body_1_3_1%
    DIM body_1_3_2%
    DIM body_1_3_3%
    DIM body_2_1%
    DIM body_2_2%
    DIM body_2_3_1%
    DIM body_2_3_2%
    DIM body_2_3_3%
    DIM END RECORD _MyRecord

    初っ端のhead_1%から値がおかしいような気がするのですが,赤っ恥じを覚悟で書きました。どなたか教えてください。

    Subject: [fb-ml 674] Re: PICTのUndo について
     ベン/矢野 勉 です。

    > メモリのことですが,
    > DIM t,l,b,r
    > t;8 = myRect
    > という書き方を見たのですが,こんなんありなんですね。
    > でも「;8」の理屈がわかっていないので,いまいち不安です。

     これがわかると、メモリ空間というのがどういうものなのか、多少わかってきます。しかも、これって、C言語も顔負けの「アセンブラな」処理だったりもします(^^;)

     まず、DIM t,l,b,r の各要素は整数ですので、2バイトです。 で、t,l,b,r と連続して DIM すると、連続した空間が確保されます。この場合は 2 x 4 = 8 で8バイトのメモリ空間が確保されて、便宜上2バイトずつに分割されるわけです。

     で、ミソは、Toolbox の定義レコードである Rectレコードは

    DIM RECORD Rect
    DIM top%
    DIM left%
    DIM bottom%
    DIM right%
    DIM END RECORD .Rect

     というふうになっています。これは DIM t,l,b,r と同じように、8バイトのメモリ空間を、頭から2バイトずつ分割します。つまり DIM t,l,b,r というは、Rectレコードを宣言したのと同じことになります。

     次に、t;8 = @myRect (たぶん上記のは書きまちがいじゃないですか? @ が無いし) というのは、BLOCKMOVE というステートメントの省略形です。左側に変数を、右側にアドレスを置き、左側の変数に「;バイト数」とつけることで、右側のアドレスから t へ (正確には t のアドレスへ) バイト数分だけ内容がコピーされます。

     つまり「BLOCKMOVE @myRect, @t, 8」と同義です。代入文に似ているので、わりと使い易いです。

     で、先ほど書いたように、t,l,b,r は連続した8バイトの領域を取っています。つまり、t のアドレスから8バイト書き込むと、t,l,b,r 8バイト分がすべて埋められることになります。これは Rectレコードの内容が埋められたのとまったく同じことを意味します。(レコードとかをわすれて、2バイトずつ top, left, bottom, rightと分割された8バイトのメモリ空間という意味では一緒なわけです)

     よって、

    CALL SETRECT(t, 0,1,2,3)

     とすると、t=0, l=1, b=2, r=3 となりまして、

    CALL SETRECT(theRect, 0,1,2,3)

     とした時にくらべると、theRect.top% とかする必要がなくなります。まあ、BLOCKMOVE の省略形を知っているといろいろ便利です。このやり方で、事実上あらゆるレコードを DIM だけで実現できます。結構おもしろいですよね。

    > しかし,ちょっと考えたのですが,エアブラシ処理の時などは,複数の画像を連続して書き込みますが,最小限のRectを求める前に描画が実行されますので,前記の方法ではうまくいかないなぁと気付きました
     はい。たしかに、エアブラシなりエンピツツールなりの場合、「マウスダウン点とマウスアップ点を頂点とする四角形」を求めるしか、最小の四角形は得られませんね。これはぼくは、いったん全画像をオフスクリーンにコピーして、描画はウインドウにし、描画終了段階で、最小の四角形の画像をオフスクリーンに退避しておいた画像からコピーして保存しておく、という手段しか思いつきません。

     強いていえば、マウスが動いたときに、新しい位置で四角形を得て、そのサイズで保存、という手もありますが、スピードから考えて現実的じゃない気がしますね。

    #しかしまあ、Photoshop ですら「画像サイズの3倍のメモリが必要」らしいですし、2倍ですむんならいいような(^^;)
     ううーむ、古旗さん、なんかありますかね?

    Subject: [fb-ml 675] Re: PICTのUndo について
    ベンさん,いつもありがとうございます。

    >DIM t,l,b,r の各要素は整数ですので、2バイトです。で、t,l,b,r と連続して DIM すると、連続した空間が確保されます。
     わかりました。連続して確保されるという保証がないから危ないのではと考えていたのです。誤った考えでした。

    >t;8 = @myRect (たぶん上記のは書きまちがいじゃないですか? @ が無いし) というのは、BLOCKMOVE というステートメントの省略形です。
     はい,書き間違えです。恥ずかしい。
     この省略形の説明をさきほどマニュアルで見つけました。なるほど,80バイト程度までならBLOCKMOVEより早いのですね。勉強になります。

    >このやり方で、事実上あらゆるレコードを DIM だけで実現できます。
     理屈ではそうなのですが,私の今の技量ではCからの移植はかなりしんどいです。
     Cで無茶な型変換をしている場合に,対処に困ってしまったりしています。
     私がメモリ回りの操作に弱いのがばればれですね。

    エアブラシの場合、「マウスダウン点とマウスアップ点を頂点とする四角形」ではまずいと考えます。例えば,円を描いた場合など,ダウン点とアップ点は近似値をとる場合があります。結局,マウス座標を取得するたびに最大領域の判定をしなくてはならないのでしょうか。なんか泥沼化してきたなぁ。ベンさんにいちゃもんを付けるつもりではありません。他の初心者の方が混乱するのではと思い,発言したのです。他意はありません。

    わたしも,ううーむ、古旗さん、なんかありますかね?

    Subject: [fb-ml 676] Re: PICTのUndo について
    ベンさん,いつもありがとうございます。

    >DIM t,l,b,r の各要素は整数ですので、2バイトです。 で、t,l,b,r と連続して DIM すると、連続した空間が確保されます。
     わかりました。連続して確保されるという保証がないから危ないのではと考えていたのです。誤った考えでした。

    >t;8 = @myRect (たぶん上記のは書きまちがいじゃないですか? @ が無いし) というのは、BLOCKMOVE というステートメントの省略形です。
     はい,書き間違えです。恥ずかしい。
     この省略形の説明をさきほどマニュアルで見つけました。なるほど,80バイト程度までならBLOCKMOVEより早いのですね。勉強になります。

    >このやり方で、事実上あらゆるレコードを DIM だけで実現できます。
     理屈ではそうなのですが,私の今の技量ではCからの移植はかなりしんどいです。
     Cで無茶な型変換をしている場合に,対処に困ってしまったりしています。
     私がメモリ回りの操作に弱いのがばればれですね。

    エアブラシの場合、「マウスダウン点とマウスアップ点を頂点とする四角形」ではまずいと考えます。例えば,円を描いた場合など,ダウン点とアップ点は近似値をとる場合があります。結局,マウス座標を取得するたびに最大領域の判定をしなくてはならないのでしょうか。なんか泥沼化してきたなぁ。ベンさんにいちゃもんを付けるつもりではありません。他の初心者の方が混乱するのではと思い,発言したのです。他意はありません。

    わたしも,ううーむ、古旗さん、なんかありますかね?

    Subject: [fb-ml 677] リソースの読み書き
    重松@Raviです。

    アプリケーションとは別のリソースの読み書きについて教えてください。
    STR、STR#、TEXTを操作したいと思っています。

    読み込みについては、STR、STR#はハンドブックP205〜に詳しく説明がありますので、わかりましたし、とりあえず、TEXTは以下のプログラムで読み込めているようです。

    LOCAL FN GETTEXT(txtH&,id%)
    resH& = FN GETRESOURCE (_"TEXT",id%)
    LONG IF resH&
    size&=FN SIZERESOURCE(resH&)
    LONG IF size&<=32768
    BLOCKMOVE [resH&],[txtH&],size&
    XELSE
    size&=0
    END IF
    CALL RELEASERESOURCE (resH&)
    END IF
    END FN=size&

    ところが、書き込み方が全くわかりません。

    また、volRefNum%の計算の仕方が不明なため任意の場所にある(例えば、「Macintosh HD:Data:myFile"」と言った具合)ファイルを読み書きすることが出来ません。

    大抵は、FILES$を使う様になっているので、もとから引き数として渡されるためパスからvolRefNum%を求めるサンプルを見つけられませんでした。

    HTTPdの仕様上、リソースフォークに格納したデータが外部から見えなくなるのでデータをリソースフォークに格納したいと思っています。

    よろしくお願いいたします。

    Subject: [fb-ml 678] ウィンドウの修飾
    ★すいません、また教えて下さい。

    ★ネットスケープや茄子やComniftyなどで使われている、ウィンドウ上部のボタンやポップアップメニューなどの作り方について教えて下さい。

     PGで適当に配置してやればもちろん入るのですが、その下にテキストやグラフィックのウィンドウを置くと、右のスクロールバーを固定にしないとうまくいきません。できればウィンドウの拡大縮小にリンクして、ちゃんと上部のボタン等を固定したまま作りたいのです。
     ネットスケープでは上部からちょっと下がった位置に所からスクロールバーが始まっていてるのですが、ああいったウィンドウの作り方がPGやFBIIのマニュアルに載っていないような気が・・(載っていたらすいません)。

     あと、ウィンドウ下部にも作りたいです。
     すいません、教えて下さいm(__)m。

    ★古籏さんのHP、勉強させてもらってます。
     とくに、仮想グラフィックポートの所は、マニュアルを読んでもイマイチぴんと来なかったのですが、よくわかりました。  おかげで、「アナログ時計」が針がチカチカしないでちゃんと表示できるようになりました。ありがとうございます。

     上の質問と重複しますが、いろいろなウィンドウの作り方、オプションについての講座も期待します(^_^)。

     では、よろしくお願いしま〜〜す。

    Subject: [fb-ml 679] JPEGファイル、CodeResourceの使用法
    yukiです。

    ベンさん、伊藤さん御礼が遅くなりましたが、大変有難うございました。

    モードからJPEGコンバータ等が発売されているのは承知していたのですが、値段が3万円近くてとても手が出せそうにないためにJPEGの読み込み法を探していました。でもなんでツールキットが本体価格に近いというへんなことになるのでしょうかねぇ?
    米国ではツールが単体で販売されているようですが、これはモードの策略なのでしょうか??

    また、QuickTimeでJPEGがコンバートできるとは知りませんでした。さっそくIMもダウンロードして少し勉強したいと思います。

    ただ、デジタルカメラのメーカー(富士写真フィルム)がコードリソースの形でExif(JPEG)Reader/Writerを公開しているのを発見しましたのでこれを使って見たいと思っています。(使用範囲は限@定されるようですけれど...)

    ただただ、ここでもまた問題が山積していました。

    ##### "Code Resorce"ってどういうふうに使うのでしょうか? #####

    RESOURCE .....

    でやるのかなとも思ったりしていますが、見当も付かない状況です。どなたか使ったことがある、またはここにサンプルがあるという情報を御存じの方がいらっしゃいましたらお知らせください。

    よろしくお願いいたします。

    Subject: [fb-ml 680] Re: [fb-ml 665] Re: メモリのこと
     根来さん、ベンさん、有り難うございました。ウィンドウのサイズというのは、画像を開いたりするときも、画像の大きさが一定でないときがあるので、その時にウィンドウサイズが変数ならば、画像の大きさに合わせて開くことが出来るんですね。勉強になりました。FutureBASIC IIのプログラミングマニュアルの練習問題は参考になりましたが、プログラミングマニュアルを終えた人が対象の練習問題がもう少し欲しかったです。問題じゃなくてもいいですね。古籏さんのサンプルプログラムを見ながら少しづつ覚えていきたいと思います。

    Subject: [fb-ml 681] CodeResourceの使用法(追)
    yukiです。

    先ほど送信いたしました内容の補足をいたします。Code Resourceの使用について、付属のテキストでは"Code Warrior 9"を推奨と書いてあります。

    はたしてFBIIで使えるものでしょうか?

    Subject: [fb-ml 682] Re: JPEGファイル、CodeResourceの使用法
    yukiさん,こんにちは。

    >"Code Resorce"ってどういうふうに使うのでしょうか?
     ここで直接せつめいするだけの力は,私にはないので申し訳無いのですが,www.aladdin.co.jp/HASP.html からFB2でCode Resorceを利用しているサンプルのソースコードが入手できます。Callの仕方など参考になると思います。

    Subject: [fb-ml 683] 初級編13と中級編11を追加しました
    古籏一浩です。

    とりあえず回線は復旧しましたが、何か変f(^^;

    初級編13と中級編11を追加しました。
    ハイペースで追加しているつもりですが、なんか全然需要においついてませんf(-.-b

    Subject: [fb-ml 683] Re: はじめまして
    古籏一浩です。

    At 19:28 97.6.26 +0900, Tomoya Aoyagi wrote:
    >1)FBでコンパイルに失敗する
    >まったくおこらない時もあるのですが、ひどい時には10回に1回しかコンパイルに成功しない時がある。
     FB IのプログラムをFB II-Jでコンパイルしようとすると、うちでは1回目は成功し2回目はシステムエラーという、とんでもない(?)事態になってしまいます。

     FB Iでもときどきコンパイルに失敗する事がありますが、大抵はリソースがらみで失敗してしまうようです。

    Subject: [fb-ml 683] Re: クリップボードからの読み込み
    古籏一浩です。

    At 0:49 97.6.27 +0900, Tsutomu YANO wrote:
    > EXCELなら倍精度で返すようにした方がいいかなと思います。
    >
    > あれ? これでいいの?
    >
    > いや、関数名に型を付けるのはいいんですが、返す値が整数になっている (a のことね) んですが、これって関数の型にあわせて自動的に返り値まで変換されるものだったんですか?

     aが整数になるかどうかはプレファレンスによって違うと思いましたよ。
     私のは整数ではなく浮動小数の設定になっていますので・・・
     FB 1.0.2ではちゃんと動作しましたが・・・
     FB 2では違うの?

    > というように、返す値に型をきっちり付けないと (result#) だめなんじゃないのかな? 実験してないから不明だけど、僕はいつも、関数の型と返り値の型は一致するようにしてきましたので。
     その方がいいでしょう。
     更新頻度が激しいので(^^;、後のフォローはおまかせです〜

    #ところでPGのホームページは、まだですか?

    Subject: [fb-ml 683] Re: ウィンドウの修飾
    古籏一浩です。

    At 19:51 97.6.29 +0900, 堀 浩一郎 wrote:
    >★古籏さんのHP、勉強させてもらってます。
    > とくに、仮想グラフィックポートの所は、マニュアルを読んでもイマイチぴんと来なかったのですが、よくわかりました。
    > おかげで、「アナログ時計」が針がチカチカしないでちゃんと表示できるようになりました。ありがとうございます。

     それは、よかったですね(^^)/
     とりあえず、再来月の予定としてはシンプルなお絵かきソフトでも作ろうと考えています。
     PGだと楽だろうけどf(-.-b

    > 上の質問と重複しますが、いろいろなウィンドウの作り方、オプションについての講座も期待します(^_^)。
     FB IIでしかできない(作成できない)ウィンドウもあります。
     私は普段使っているのがFB 1.0.2なのでf(^^;

     ウィンドウまわりはベンさんのホームページ等に期待した方がいいかな(^^;

    Subject: [fb-ml 684] Re: PICTのUndo について
    古籏一浩です。

    At 13:08 97.6.29 +0000, 仙台7200/90 wrote:
    >エアブラシの場合、「マウスダウン点とマウスアップ点を頂点とする四角形」ではまずいと考えます。例えば,円を描いた場合など,ダウン点とアップ点は近似値をとる場合があります。結局,マウス座標を取得するたびに最大領域の判定をしなくてはならないのでしょうか。なんか泥沼化してきたなぁ。
     エアブラシだとマウスクリックの点を基準にして円形等で描画すると思いますが、その半径はあらかじめわかっているはずですから、同様に矩形座標を求めればOKです。

    >わたしも,ううーむ、古旗さん、なんかありますかね?
     いちいち矩形を求めるのが面倒というのであればスキャンライン毎(水平ライン毎)にメモリに追加していく方法もあります。
     すでに取り込んである場合はパスして取り込んでいない場合のみメモリにコピーするといった具合です。

     多くのソフトではベンさんが解説したような方法を使用しています。私が書いた方法だと一応メモリかディスク容量があれば、いくらでもアンドゥが可能です。

     また、変わり種の方法としては描画座標とペンの種類のみを記録しておくというのもあります。ビットマップではありませんがイラストレーターやフリーハンドが、この方法です。

    Subject: [fb-ml 684] FB-MLをまとめました
    古籏一浩です。

    Future BASIC Mailing Listの発言をまとめました。

    http://www.shiojiri.ne.jp/‾openspc/FB/

    から入れます。
    全発言は約500KBありますので、ご注意のほどを。

    とりあえず50発言ごとまとめてみました。
    Subjectからもハイパーリンクできるようにと思いましたが挫折しました(笑)

    こんなんで、許して〜

    Subject: [fb-ml 685] Re: AIFF
    古籏一浩です。

    At 5:35 97.6.27 +0900, 伊藤とものり wrote:
    >以下のルーチンがそれです。まだ半信半疑なので本当に良いのかはわかりません。音は止まるようになったけど裏で不都合が生じているとか、そんな事ないですか?
    >
    >CLEAR LOCAL MODE
    >DIM MySndCmd;_sndCSize
    >DIM sndErr
    >LOCAL FN sndStop(sndChanPtr&)
    >
    > MySndCmd.cmd = _quietCmd
    > MySndCmd.param1 = 0
    > &@MySndCmd.param2,0&
    >
    > sndErr=FN SNDDOIMMEDIATE(sndChanPtr&,MySndCmd)
    > MySndCmd.cmd=_flushCmd
    > sndErr=FN SNDDOIMMEDIATE(sndChanPtr&,MySndCmd)
    >END FN=sndErr

     長い曲ならば大丈夫ですね(^^)

     サウンドマネージャーのバージョンによっては笑えないバグもありますがゲームでなければ、これで大丈夫だと思います。

    Subject: [fb-ml 686] RE:JPEGファイル...
    こんばんは、田島です。

    yukiサン wrote:
    >モードからJPEGコンバータ等が発売されているのは承知していたのですが、値段が3万円近くてとても手が出せそうにないためにJPEGの読み込み法を探していました。でもなんでツールキットが本体価格に近いというへんなことになるのでしょうかねぇ?米国ではツールが単体で販売されているようですが、これはモードの策略なのでしょうか??

    昨日、個人的にした同じ質問のモードからの回答です。全文そのまま載せます。

    >日本でのTOOLSの売り方として、なるべく本国に値段を近づけるようにするために商品の種類を1つ(全部のセット)にしております。そのためCD-ROM1枚に全てのモジュールを入れ込んでおりまして、日本語マニュアルも付けて本国でのセット価格の$249.50を1$=¥120換算した値段で販売しております。
    >
    >この様な理由により単品売りはしない考えですので、どうぞ宜しくお願いします。
    だそうです。(イマイチ納得できないが)

    このこなれた文章と、迅速な対応から察すると、この手の問い合わせ多いみたいですね。

    ちなみに、"The Jpeg Playground II"というサイトがありました。
    http://www.phlab.missouri.edu/‾c675830/jpeg_tests/testgrnd.htm
    参考まで。

    Subject: [fb-ml 687] Re: PICTのUndo について
    古籏さん,ありがとうございます。

    > エアブラシだとマウスクリックの点を基準にして円形等で描画すると思いますが、その半径はあらかじめわかっているはずですから、同様に矩形座標を求めればOKです。
      すいません,私の書き方が悪かったようです。私が言いたかったことはエアブラシ処理は,円を連続して描画することでブラシ効果を出しますがユーザーがマウスダウンしてからマウスアップするまでの一連の円描画をひとつの取消単位とします。この取消単位のUndo領域はユーザーがマウスを動かした範囲+エアブラシの円の直径を含むrect領域だと考えます。  このrectを求める方法に苦心しています。

    > いちいち矩形を求めるのが面倒というのであればスキャンライン毎(水平ライン毎)にメモリに追加していく方法もあります。
    > すでに取り込んである場合はパスして取り込んでいない場合のみメモリにコピーするといった具合です。

      この方法は高度すぎて私はイメージが理解できません。(T_T)
     水平ライン自体がどのようなものなのかわかっていないようです。
     きっと高速な処理が実現できるのだろうと思いますが,ついていけないのが悲しいです。

    ホームページの追過分を読ませて頂きました。
    いつもながらわかりやすくて助かります。過去ログもこれから読みたいと思っています。ありがとうございます。

    Subject: [fb-ml 687] C->FB2 型変換 について(再送)
    根来です。先日同じ内容のメールを出したのですが,クラリスメールの調子が悪くちゃんと送れていないのではないかと思い,再送することにしました。
    ただ単にレスが付かないだけなのかもしれないので,その際はご容赦下さい。(でも,それはそれで悲しいなぁ^^;)

    C言語のヘッダファイルをFB2用に書き換えているのですが,変数型の変換がうまくできなくて困っています。助けてもらえないでしょうか。

    C言語で次のようなヘッダがあります。
    struct body {
    unsigned short body_1;
    unsigned char body_2;
    short body_3[3];
    };

    struct MyRecord {
    char head_1;
    short head_2;
    long head_3;
    Ptr head_4;

    BodyRecord body[2];
    };
    この外部構造体を何とかFB2で読み込みたいと考えています。
    外部構造体へのポインタは正しく取得できているのですが,FB2で上記フォーマットの構造体を収めるレコードのDIM RECORDに失敗しているようなのです。
    上記の各変数の型はFB2でどうすればいいのでしょうか。
    私はとりあえず下の宣言をしたのですが,うまくいかないようです。

    DIM RECORD MyRecord
    DIM head_1%
    DIM head_2%
    DIM head_3&
    DIM head_4&
    DIM body_1_1%
    DIM body_1_2%
    DIM body_1_3_1%
    DIM body_1_3_2%
    DIM body_1_3_3%
    DIM body_2_1%
    DIM body_2_2%
    DIM body_2_3_1%
    DIM body_2_3_2%
    DIM body_2_3_3%
    DIM END RECORD _MyRecord

    初っ端のhead_1%から値がおかしいような気がするのですが,FB2では1バイトの大きさの変数を用意することはできないのでしょうか。
    BLOCKMOVEでこのレコードに一気に値を読み込もうとしたのですが,結果は当然おかしくなりました。構造体へのポインタに各項目の位置を加算して,項目一つづつ取得するしかないのでしょうか。Cのヘッダがかなり複雑で長いため,全ての項目を一つづつアドレス指定で取得するとソースコードが膨大になってしまいなんとか他の方法はないものかと考えています。特にCでの型がFB2でどう扱えば良いのかがよくわからず困ります。longは&で良いのでしょうが,charやunsignedの付く項目など試行錯誤で使っていますが,正しい変換はどういうものなのかご存じありませんか。

    Subject: [fb-ml 688] Re: C->FB2 型変換 について(再送)
    古籏一浩です。

    At 13:14 97.7.1 +0000, 仙台7200/90 wrote:
    >ただ単にレスが付かないだけなのかもしれないので,その際はご容赦下さい。(でも,それはそれで悲しいなぁ^^;)
     ちゃんと送られてきてます。
     単にレスがつかないだけですね(^^;

    >C言語のヘッダファイルをFB2用に書き換えているのですが,変数型の変換がうまくできなくて困っています。助けてもらえないでしょうか。
    >初っ端のhead_1%から値がおかしいような気がするのですが,FB2では1バイトの大きさの変数を用意することはできないのでしょうか。

     私は構造体、レコードを多用しないタイプなんで詳しくありませんが
     1バイトは
     DIM head%_1;1
     で確保できませんでしたっけ?

    >BLOCKMOVEでこのレコードに一気に値を読み込もうとしたのですが,結果は当然おかしくなりました。構造体へのポインタに各項目の位置を加算して,項目一つづつ取得するしかないのでしょうか。Cのヘッダがかなり複雑で長いため,全ての項目を一つづつアドレス指定で取得するとソースコードが膨大になってしまいなんとか他の方法はないものかと考えています。特にCでの型がFB2でどう扱えば良いのかがよくわからず困ります。longは&で良いのでしょうが,charやunsignedの付く項目など試行錯誤で使っていますが,正しい変換はどういうものなのかご存じありませんか。
     多分以下の方法で変換すればOKです。
     ただ、レコード内に配列は含むことができないんでしたっけ?

    char a;DIM a%;1
    unsigned char a;DIM a%;1(ちょっとプログラムで工夫必要)
    int a;DIM a%またはa&
    unsigned int a;DIM a%またはa&(ちょっとプログラムで工夫必要)
    long a;DIM a&
    unsigned long a;DIM a&(ちょっとプログラムで工夫必要)
    long long a;DIM a&,b&(プログラムで連結必要)
    Handle a;DIM a&
    Ptr a;DIM a&
    float a;DIM a& (ってこりゃ駄目ですねぇ)
    double a;DIM a&;8(ってこりゃ駄目ですねぇ)
    Str255 a;DIM 255 a$

     私はFBのレコードはつかわなくて、構造体(レコード)分だけメモリを確保しておいて

    _head_1 = 0 ' char
    _head_2 = 1 ' short
    _head_3 = 3 ' long
    _head_4 = 7 ' Ptr
    _body = 11 ' body[2]

     でポインタを出して置いてオフセットでやってしまう事があります。
     a% = PEEK (pointer& + _head_1)
     で1バイト読み出せますし
     a% = PEEK WORD(pointer& + head_2)
     で2バイト読み出せます。

     が、こういう面倒な事を避けるためにレコードなり構造体があるんですけど
     なんでFBのは配列駄目なんでしょう?

    Subject: [fb-ml 688] Re: PICTのUndo について
    古籏一浩です。

    At 13:14 97.7.1 +0000, 仙台7200/90 wrote:
    > ひとつの取消単位とします。この取消単位のUndo領域はユーザーがマウスを動かした範囲+エアブラシの円の直径を含むrect領域だと考えます。このrectを求める方法に苦心しています。
     確かに求める式はその通りです。
     一番楽なのはオフスクリーンを、もう1つ用意してコピーしておいてアンドゥ用に使うという方法で、これはすでにベンさんなどからコメントがついています。
     簡単(?)に矩形を求めるのであれば(とりあえず左側)

     rectLeft = mouseX - r
     マウス移動
     if (mouseX - r) < rectLeft then rectLeft = mouseX - r
     if rectLeft < 1 then rectLeft = 0
     [mouseXはマウスのX座標、rはエアブラシの半径]

     といった具合でよいのではないでしょうか?

    >  この方法は高度すぎて私はイメージが理解できません。(T_T)
    > 水平ライン自体がどのようなものなのかわかっていないようです。
    > きっと高速な処理が実現できるのだろうと思いますが,ついていけないのが悲しいです。

     やはり論より証拠、サンプルを作らないといけませんねf(^^;
     頑張って今週中に、まずアイドリング処理を作成し、その後アンドゥの方法も3回ほどにわけて解説しましょう。

    >ホームページの追過分を読ませて頂きました。
    >いつもながらわかりやすくて助かります。過去ログもこれから読みたいと思っています。ありがとうございます。

     過去ログはかなり膨大です。
     今度から50たまったら追加していきたいと思います。
     思いのほか、大変でしたのでf(^^;
     やはり日頃の積み重ねが重要ですね。

    #ドラッグドロップ処理も残ってたなあ・・・

    Subject: [fb-ml 689] JPEG,CodeRes(追)
    yukiです。

    仙台7200/90さん、Tajima Haruさん、レスありがとうございました。まずCodeResの件ですが、一つのコードリソースで一つのファンクション、さらにFutureBasicIIで書いたものであれば使用することはできるのですが、Cで書かれていてさらに一つのコードリソース内に複数のファンクションが入っているようなので非常に困っています。メーカーからもアドバイスはもらえそうにありません。やはりTOOL KITは購入しないと駄目なのでしょうか?

    またJPEGですが、図書館に”わかりやすいJPEG/MPEG2の実現法”という資料がありました。これにはデコードの方法が若干書いてありましたので勉強してみたいと思います。Cのサンプルプログラムは何名かの方に紹介していただいたのですが、ソースファイル数が20以上あることと、Cを余りよく分からないために挫折しかけていました。

    とにかくJPEGの複雑さは痛いほど良く分かりました。しばらくこの問題の解決には時間がかかりそうです。

    Subject: [fb-ml 690] PICTファイルのつくりかた
    いつもROMだけですませてしまっているbakabon奥迫です。
    今、256*256/8bit/pixの生データをPICTファイルにしたいのですが、その方法がわかりません。Handbookの「画像を記録」の章のOpenCPicture関数を使ったサンプルプログラムが近いような気がするのですが、どう応用していいのかがわからないのです。
    また手持ちの「Macintoshアプリケーションプログラミング」に、OpenCPicture関数はpictureのレコーディングを開始する。と説明されているのですが、レコーディングってなんや?っていう人間なので困っています。
    どなたかOpenCPicture関数についての説明をサンプルプログラム等でしていただけないでしょうか?

    Subject: [fb-ml 691] Re: PICTファイルのつくりかた
    古籏一浩です。

    At 23:55 97.7.1 +0900, bakabon@msic.med.osaka-cu.ac.jp wrote:
    >今、256*256/8bit/pixの生データをPICTファイルにしたいのですが、その方法がわかりません。
     これ私のページの中級編に解説付きで載せてありますf(^^;
     でも普通記録する時に自分自身のグラフポートにCOPYBITSとは考えないですよねぇ・・・

    Subject: [fb-ml 692] Re: JPEG,CodeRes(追)
    古籏一浩です。

    At 21:22 97.7.1 +0000, akiyuki wrote:
    >TOOL KITは購入しないと駄目なのでしょうか?
     中 略
    >またJPEGですが、図書館に”わかりやすいJPEG/MPEG2の実現法”という資料がありました。これにはデコードの方法が若干書いてありましたので勉強してみたいと思います。Cのサンプルプログラムは何名かの方に紹介していただいたのですが、ソースファイル数が20以上あることと、Cを余りよく分からないために挫折しかけていました。

     簡単かつ確実で手抜きな方法があります。
     よってTOOL KITは購入する必要はありませんし、高価な書籍を購入する必要もありません。

     まずMacintosh Easy Openが「入」になっている必要があります。
     あと確認していませんがQuickTimeが必要です(多分)。
     これで何も考えずにCALL DRAWPICTUREでJPEGの表示が可能です。

     FB IIだけでなくFB 1.0.2でも可能です。
     powerMac8500+FB1.0.2で確認してあります。

     といった具合でどうでしょうか?

    #あっけない回答で、すみませんですf(-.-b

    Subject: [fb-ml 693] 中級編12を追加しました
    古籏一浩です。

    中級編12を追加しました。
    今回はお絵かきソフトを作るという事で数回に分けて解説します。
    今回はマウス座標の取得とカーソル形状の変化です。

    次の次でアンドゥの処理、その次にアイドリング描画を予定してます。

    ハイペースなつもりだけど、まだ需要においついてないですねf(-.-b

    Subject: [fb-ml 694] Re: PICTのUndo について
    おはようございます。葛原です。
    また、机上の空論ですが...(^-^;

    At 10:14 PM 97.7.1, 仙台7200/90 wrote:
    >  エアブラシ処理は,円を連続して描画することでブラシ効果を出しますがユーザーがマウスダウンしてからマウスアップするまでの一連の円描画をひとつの取消単位とします。この取消単位のUndo領域はユーザーがマウスを動かした範囲+エアブラシの円の直径を含むrect領域だと考えます。このrectを求める方法に苦心しています。
    rectを求めるというのは、以外と簡単で、マウスダウンしたときに、ブラシの分だけ、まずセットしておきます。
    そのあと、マウスアップまでのループの中で、移動した分、rectを広げていけばいいと思います。

    ループ時のチェックですが、x,yをマウス位置、rを円の半径、マウスは円の中心と考えています。

    if left > x-r then left = x-r
    if top > y-r then top = y-r
    if right < x+r then right = x+r
    if bottom < y+r then bottom = y+r

    これで、マウスアップしたときのleft,top,right,bottomをrectとすれば、いいと思いますが、如何でしょうか?

    Subject: [fb-ml 695] 中級編13を追加しました
    古籏一浩です。

    中級編13を追加しました。
    お絵かきソフトを作ろう、その2です。今回はQuickDrawを使って描画を行っています。

    中級編14ではカラーの選択とアンドゥについて説明する予定です。

    #う〜ん、ハイペース(笑)

    Subject: [fb-ml 696] Re: PICTのUndo について
    葛原さん,返事が遅れましてすいません。

    >if left > x-r then left = x-r
    >if top > y-r then top = y-r
    >if right < x+r then right = x+r
    >if bottom < y+r then bottom = y+r

     ありがとうございます。同様のことを考えてはいたのですが,難しく考えすぎていたようで,このようなすっきりしたソースを見せていただくと,スパゲッティになってしまっている自分のソースを整理しようと思いました。このソースはありがたく利用させてもらいます。

     今後ともお気づきの点がありましたらご指導下さい。

    Subject: [fb-ml 696] Re: C->FB2 型変換 について(再送)
    古籏さん,返事が遅れてしまいすいません。

    >ちゃんと送られてきてます。
    >単にレスがつかないだけですね(^^;

     あぁ,失礼しました。(恥;)

    > 1バイトは DIM head%_1;1 ...
     詳しい説明をしていただいてありがとうございます。
     FB2での変数へのメモリの割り当て方がわかりました。
     説明をしていただいたあとで,FB2のマニュアルを読むと今まで意味不明だった部分が一気に理解できました。とっても幸せです。

    >_head_1 = 0 ' char
    >_head_2 = 1 ' short
    >_head_3 = 3 ' long ...

     すごくすっきりした記述の方法ですね。
     これならオフセットもそれほど苦になりません。ぜひ使わせてもらいます。
     私はこのようなアイデアが奇麗に形になっているソースを見るとわくわくしてしまいます。とっても気に入りました。

    すいませんが,昨日からunsignedの付く項目をどのように読み出すのか考えているのですが,実験はことごとく失敗しております。すいませんが,教えてもらえないでしょうか。現在読み込もうとしているCの構造体は,unsigned char unsigned int unsigned long の項目があるのです。(ちょっとプログラムで工夫必要)とはどのような工夫なのでしょうか。

    ホームページを見ました。
    お絵描きソフトの連載をしてもらって,とっても嬉しいです。早速自分のソースと比較しているのですが,ぜんぜん違います。ちょっとショックでした。
    客観的に自分のソースを見つめることができて良かったと思います。
    古籏さんのソースを参考に,一から書き直そうと決意しました。
    ところで,古籏さんのソースですが,リソース部分のダウンロードはできないのでしょうか。

    Subject: [fb-ml 697] Re: C->FB2 型変換 について(再送)
    古籏一浩です。

    At 17:22 97.7.3 +0000, 仙台7200/90 wrote:
    >>_head_1 = 0 ' char
    >>_head_2 = 1 ' short
    >>_head_3 = 3 ' long ...
    > すごくすっきりした記述の方法ですね。
    > これならオフセットもそれほど苦になりません。ぜひ使わせてもらいます。
    > 私はこのようなアイデアが奇麗に形になっているソースを見るとわくわくしてしまいます。とっても気に入りました。

     本当はこういうオフセットで指定するのを避けるためのレコードなんですf(^^b
     レコードに詳しい人に解説して・・・と思ったら以前のにありましたね・・・

    >らえないでしょうか。現在読み込もうとしているCの構造体は,unsigned char unsigned int unsigned long の項目があるのです。(ちょっとプログラムで工夫必要)とはどのような工夫なのでしょうか。今試しにやった所ではunsigned charは何もしなくてもOKでした。unsigned intが2バイト(1ワード)の場合、32768以上の数値を負数とみなしてしまいます。
    a& = PEEK WORD(adrs& + _head1)
    if a& < 0 then a& = 2^16 + a&

    で符号無し数値が求められます。同様にunsigned longは

    a = PEEK LONG(adrs& + head1)
    if a < 0 then a& = 2^32 + a&

    となります。if文を使わずに論理式でも可能です。
    お好きな方をどうぞ(^^)

    >お絵描きソフトの連載をしてもらって,とっても嬉しいです。早速自分のソースと比較しているのですが,ぜんぜん違います。ちょっとショックでした。
    >客観的に自分のソースを見つめることができて良かったと思います。
    >古籏さんのソースを参考に,一から書き直そうと決意しました。

     私のはほとんど独学ですから、あんまり参考にならない可能性もありますよ(^^;
     私の書き方では中規模のプログラムまでが限度です。

    >ところで,古籏さんのソースですが,リソース部分のダウンロードはできないのでしょうか。
     7月7日にダウンロードページを公開予定です。
     7日には多分FB関係のはダウンロードできないと思います。
     7月20日頃には講座ごとにアプリとソースを合わせてダウンロードできるようにしたいと考えてます。

    Subject: [fb-ml 698] Re: JPEG,CodeRes(追)
    yukiです。

    古旗さんレス有難うございます。やはりQuickTimeですか。ベンさんからも同じ御指摘をいただきました。ただExifという画像形式の一部にはTiffヘッダーも含まれていて、そちらにサムネイル画像が記録されていたりします。ですから多分ExifファイルからQuickTimeではサムネイルを読み取ることはできないのではないかと感じたりしております。だんだんTOOLSに近づいていってしまっているようなきがする....

    またコードリソースの件ですが、富士写真フィルムより返答がありまして、”パスカルの場合だと Pascal Converter(記憶が怪しい??)というものを使うことによってBasicに変換できるが、多分Cのコードリソースは使えないのではないか”というものでした..........
    ここで素朴な疑問なのですが、コードリソースって言語によって影響を受けるものなのですか?コードになっているのですからどの言語からでも呼び出せると思っていましたが....

    真相はいかがなものでしょうか?どなたかお教えください。

    Subject: [fb-ml 699] Re: C->FB2 型変換 について
     ベン/矢野勉 です。

    At 10:14 PM 97.7.1, 仙台7200/90 wrote:
    > C言語で次のようなヘッダがあります。
    > struct body {
    > unsigned short body_1;
    > unsigned char body_2;
    > short body_3[3];
    > };
    >
    > struct MyRecord {
    > char head_1;
    > short head_2;
    > long head_3;
    > Ptr head_4;
    >
    > BodyRecord body[2];
    > };

    DIM RECORD body
    DIM body_1%
    DIM body_2%
    DIM body_3_1%
    DIM body_3_2%
    DIM body_3_3%
    DIM END RECORD .body

    DIM RECORD MyRecord
    DIM MRzHead_1.1
    'DIM dammy.1
    DIM MRzHead_2%
    DIM MRzHead_3&
    DIM MRzHead_4&
    DIM MRzBody_1.body
    DIM MRzBody_2.body
    DIM END RECORD .MyRecord

     と、論理上はなります。(未実験) 1バイト (char型のサイズ) を確保するのに ;1 ではなく .1 を使ってますが、;1 の場合はコンパイラは変数の型を変更しません。つまり、MRzHead_1;1 という宣言をすると、コンパイラは MRzHead_1 は (Preference の設定によりますが) 2バイトの整数型と認識しますが、;1 によって、実際には1バイトの領域しか確保しません。しかしコンパイラは相変わらず2バイトの整数だと思ってます。

    .1 とすると、コンパイラは MRzHead_1 を「一バイトの変数」と認識するようです。しかしまあ、レコードから1バイトを取り出すには、いまは PEEK(アドレス) という方法しかありませんので、結局意味がありません。なぜか知りませんが、MyRecord.MRzHead_1 という方法を使うと2バイト取ってきます。(たぶん、MRzHead_1 に %やら & やらがついてないので、Preference に従って2バイトとみなしているんでしょう)

     しかし、通常の DIM のときには意味があることなので、; と . の違いは覚えておいたほうが良いでしょう。

     あと、先に宣言されたレコードであれば、レコード宣言内部で、レコード自体を使うこともできます。この場合は、body というレコードが先に宣言されているので、MyRecord の宣言内部で、.body という形でこのレコードを使用しています。

     次に、MRzHead_2% の前に、dammy.1 というのをコメントアウトしていますが、ここが問題なんですよ。マックは (68K の仕組みに則って) 奇数アドレスへのアクセスを制限しています。INTEGER も LONG INTEGER も、2バイトと4バイトと、どちらも偶数なので、通常は奇数アドレスなんか使うことはないのです。しかし .1 をしてしまいますと、その次のアドレスが奇数アドレスから始まることになるんです。だからToolBox のレコード定義なんかをみても、よく dammy という1バイトの変数を意味もなく宣言することで、偶数になるようにしています。要するに、.1 で1バイト宣言した変数が、奇数個ではなく偶数個になる必要があるのです。

     いま移植中のCコードって、Macintoshのソースコードですか? 純正Cのものではないですか? 奇数アドレスの問題は FB のではなく、Macintoshの問題ですので、いかんともし難い。レコードではなく定数で宣言しても、奇数アドレスへアクセスする以上同じことです。PowerPC にはこの制限はないそうですが、FB は 68K コンパイラですし、もし PPC コンパイラだとしても、Fatバイナリなどで 68K を今も使用しているのを考えると、やはり奇数アドレスへのアクセスはすべきでない。

     そもそも、Odd Address エラーがでませんか? このエラーがでたら、dammy.1 を非コメント化してみてください。

     あと、DIM END RECORD のとこで、_MyRecord とすると、MyRecord という名の変数が実際に作られてしまいます。単にレコードを宣言したいだけなら、.MyRecord と、ピリオドを使います。他の言語の仕様にあわせるなら、ピリオドのほうになります。

     おまけ。MRz というのを頭に付けてますが、これは、レコードを宣言すると、各フィールド名を持った定数が作られる (というか、レコードを宣言するってことは、定数を宣言するってことなんです、FB では) ので、定数の名前の重複を避けるための技です。レコードのフィールド名は、FB では、他のレコードのフィールド名とも重複できません。MR ってのは MyRecord の頭文字です。Pascal Converter がこの手法を使ってます。

     実験してないんで確証はないんですが、論理上はこれでいけるはずです。もしエラーが出るようなら、どういうエラーが出るかも教えてください。

    Subject: [fb-ml 700] unsigned
    古籏一浩です。

    符号付き数値を変換する命令を見つけました。
    探せばあるもんですねf(^^;

    UNS$(数値)

    で文字列になるので

    VAL(UNS$(数値))

    で符号無し数値を求める事ができます。

    Subject: [fb-ml 701] 初級編14を追加しました
    古籏一浩です。

    初級編14を追加しました。
    中級編のお絵かきソフトの布石になってるのが見え見えですね(^^;
    中級編もできれば今夜作って明日にでもアップロードしようと思います。

    ダウンロードページも用意しなきゃ・・・

    Subject: [fb-ml 702] Re: C->FB2 型変換 について
    古籏一浩です。

    At 0:08 97.7.4 +0900, Tsutomu YANO wrote:
    > いま移植中のCコードって、Macintoshのソースコードですか? 純正Cのものではないですか? 奇数アドレスの問題は FB のではなく、Macintoshの問題ですので、いかんともし難い。レコードではなく定数で宣言しても、奇数アドレスへアクセスする以上同じことです。PowerPC にはこの制限はないそうですが、FB は 68K コンパイラですし、もし PPC コンパイラだとしても、Fatバイナリなどで 68K を今も使用しているのを考えると、やはり奇数アドレスへのアクセスはすべきでない。
     奇数アドレスへのアクセスで「アドレスエラー」となるのは68000-CPUのみで68020以降には、この制限はありません。68020以降で奇数アドレスをアクセスした場合、動作速度が低下するだけです。
     バイト単位の処理はppcの方が格段に高速です。ppcだと68Kの常識は通用しない事が多々あります。
     C言語で構造体(FBでいうレコード)を宣言した場合のcharなどはコンパイラが調整します。2バイトに調整される場合もありますし、4バイトに調整される場合もあります。
     charは1バイトには、まずならないと考えた方が無難です。
     またintはCPUに合わせてベストなサイズにするので、これまた2バイトとか4バイト等になると考えてプログラムすると危険ですね。
     明確にバイト数が定義されている画像形式などは当然別ですけどね。

    > そもそも、Odd Address エラーがでませんか? このエラーがでたら、dammy.1 を非コメント化してみてください。
     POKE命令ではFBが先に奇数アドレスを検知してダイアログを表示してくれますけどね〜

    Subject: [fb-ml 703] Re: JPEG,CodeRes(追)
    古籏一浩です。

    At 11:49 97.7.3 +0000, akiyuki wrote:
    >古旗さんレス有難うございます。やはりQuickTimeですか。ベンさんからも同じ御指摘をいただきました。ただExifという画像形式の一部にはTiffヘッダーも含まれていて、そちらにサムネイル画像が記録されていたりします。ですから多分ExifファイルからQuickTimeではサムネイルを読み取ることはできないのではないかと感じたりしております。だんだんTOOLSに近づいていってしまっているようなきがする....
     TIFFもJPEG(JFIFの方だと思いますが)も「タグ/識別子」でデータを読んでいくので解析部分がちゃんと作られていれば表示は可能なはずです。
     TIFFはJPEGよりも複雑で難しいのでTIFFを8割型実装するよりJPEGの実装の方が楽ですよ。

    >またコードリソースの件ですが、富士写真フィルムより返答がありまして、”パスカルの場合だと Pascal Converter(記憶が怪しい??)というものを使うことによってBasicに変換できるが、多分Cのコードリソースは使えないのではないか”というものでした..........ここで素朴な疑問なのですが、コードリソースって言語によって影響を受けるものなのですか?コードになっているのですからどの言語からでも呼び出せると思っていましたが....
     コードリソースであれば使えるはずです。
     問題は「呼び出し規約」の部分だと思います。
     呼び出しの規約が分からなければ手も足も出ません(^^;
     あと68KかPPCかによっても違うかも・・・

     FBに変な制限があれば、何ですが、ここは詳しい人にたっち(笑)

    Subject: [fb-ml 704] Re:JPEG,CodeRes(追)
    yukiです。
    古旗さんレス有難うございました。

    >  TIFFもJPEG(JFIFの方だと思いますが)も「タグ/識別子」でデータを読んでいくので解析部分がちゃんと作られていれば表示は可能なはずです。TIFFはJPEGよりも複雑で難しいのでTIFFを8割型実装するよりJPEGの実装の方が楽ですよ。
    えっ、TIFFってJPEGの解析よりも複雑なのですか。きびしいですねぇ。初心者でも理解できる画像形式を詳細に説明していて、プログラムにも使えるような書籍をご存じの方いらっしゃいましたら、紹介ください。

    >  コードリソースであれば使えるはずです。
    >  問題は「呼び出し規約」の部分だと思います。
    >  呼び出しの規約が分からなければ手も足も出ません(^^;
    >  あと68KかPPCかによっても違うかも・・・

    コードリソースのほうはいまモードさんに確認していただいておりますが、モードさんの対応の早さには非常に驚いています。前の代理店(.......)とは大違いです。まえはろくろく調べてもしれないで”できません”ばかりだったような気がします。あげくのはてに代理店(ユーザーから見れば保守契約)を破棄してしまうなんて.....あのときからソフトメーカーに強い不審感をもってしまいました。

    モードさんにはこれからも期待したいと思います。

    Subject: [fb-ml 705] PG Page apears!!
     ベン/矢野勉 です。

     ええとですね、やっとのことで、僕の FutureBASIC Programming!! のページを公開にこぎつけました。しかし実際のプログラムはまったく行っておらず、概論だけになっています。PG やるには概論って重要な気がしましたので。<http://www2.osk.threewebnet.or.jp/‾benbrand/programming/index.shtml> です。(長い...)  もし来たら、せっかくなんでゲストブックに記入もよろしくね。

     次からは、マルチドキュメントのテキストエディタの作成を目指して (ただし 32K制限つき。TextEdit つかいますので)、まずはウインドウ一つだけのテキストエディタを作ります。コーディングがまだ終わってないのが難点なんですが(^^;)  すみませんが、こちらはお待ちください。

     あと、古旗さんのページはデフォルトでリンクページ入りでいいですよね?(^^) 
    このメーリング・リストの紹介も載せたいのですが、いいですかね?

     質問があれば、このメーリング・リストにどうぞ。(っていっても、ソースコードもなしで質問もないよなあ)

    Subject: [fb-ml 706] Re:JPEG, CodeRes(追)

    yukiさん,こんにちは。

    >初心者でも理解できる画像形式を詳細に説明していて、プログラムにも使えるような書籍...
     初心者でも使えるかどうかはわかりませんが,アスキー出版より「グラフィック・フォーマット・ハンドブック」がでていますよ。

    Subject: [fb-ml 706] Re: PG Page apears!!
    ベンさん,こんにちは。

    Recordの説明をして下さってありがとうございます。
    実は明日から1週間ほど出張になりまして,用意に追われていてFB2を触れないのです。ですから,まだ実験をしていません。残念です。
    パワーブックをもっていないので,出張中も実験できません。(T_T)
    出張から帰りましたら,教えていただいた方法で試してみます。
    結果はまた報告します。

    待望のホームページの完成おめでとうございます。
    まだ見ていませんが,早速のぞかせてもらいます。
    とても期待していたので楽しみです。では。

    Subject: [fb-ml 706] Re: unsigned
    古籏さん,こんにちは。

    VAL(UNS$(数値))でうまくできました。
    ありがとうございました。でも,命令があるということは,私が自力で探すこともできたわけですよね。マニュアルはかなり探したつもりだったのですが,努力が不十分でした。
    重ねがさねお礼申し上げます。

    私事ですが,明日より一週間ほど出張ですのでメールが読めなくなります。ご了承下さい。

    Subject: [fb-ml 707] Re:JPEG,CodeRes(追)
    古籏一浩です。

    At 2:29 97.7.6 +0000, 原 幸久 wrote:
    >えっ、TIFFってJPEGの解析よりも複雑なのですか。きびしいですねぇ。初心者でも理解できる画像形式を詳細に説明していて、プログラムにも使えるような書籍をご存じの方いらっしゃいましたら、紹介ください。
     だってTIFFの中に(ほぼ)JPEG圧縮あるんだもの(笑)
     そうでなくても、勝手にタグコードを作って埋め込めばPICTであろうと何であろうと、全て内包できます。それがTIFFです。TIFF rev 5以前はそのために、変なTIFFがたくさんありました。FM TOWNSのTIFFも実は例外な形式です。今はTIFF rev 6でAdobe Systemsが所有?してます。

     あと書籍ですが、今は発行されていないソフトバンク出版のOh! FM TOWNSが一番丁寧でわかりやすく解説してました。  Windows 95以降、初心者向けの同じような本ばかりで中級者向けの丁寧な解説本は激減か実質消滅状態です。初心者か上級者かどっちかですね。上級者用であれば確かJFIFのドキュメントはNiftyかどこかから入手できると思いました。  あとはトッパンから出ている翻訳本ですが「データ圧縮ハンドブック」かな。他の本と比べれば、まだ丁寧かなといった所です。

    >モードさんにはこれからも期待したいと思います。
     TOOLSの値段にも期待したいですよね(笑)

    Subject: [fb-ml 707] Re: PG Page apears!!
    古籏一浩です。

    At 23:55 97.7.6 +0900, Tsutomu YANO wrote:
    > ええとですね、やっとのことで、僕の FutureBASIC Programming!! のページを公開にこぎつけました。しかし実際のプログラムはまったく行っておらず、概論だけになっています。PG やるには概論って重要な気がしましたので。<http://www2.osk.threewebnet.or.jp/‾benbrand/programming/index.shtml> です。(長い...)  もし来たら、せっかくなんでゲストブックに記入もよろしくね。
     公開おめでとうございます(^-^)/
     モードさんにリンクしてもらうようにするというのはどう?
     見ましたが、いや〜長いですね(^^;
     ダイアログの図だったかがリンクエラーで表示されませんけど・・・

     エスペラントのページがあるのに、実は感動(?)してます(^^;
     本は持っているんだけど言語開発用(笑)として参考にしただけという・・・

    > 次からは、マルチドキュメントのテキストエディタの作成を目指して (ただし 32K制限つき。TextEdit つかいますので)、まずはウインドウ一つだけのテキストエディタを作ります。コーディングがまだ終わってないのが難点なんですが(^^;)  すみませんが、こちらはお待ちください。
     なるほど、そう来ましたか。
     それじゃあ、私も対抗して「マルチドキュメントのテキストエディタ」を作成する事にします。手抜きでTEXTEDITを使いますので・・・(上と同じ)

    > あと、古旗さんのページはデフォルトでリンクページ入りでいいですよね?(^^) 
    >このメーリング・リストの紹介も載せたいのですが、いいですかね?

     もちろん、いいですよ。

    > 質問があれば、このメーリング・リストにどうぞ。(っていっても、ソースコードもなしで質問もないよなあ)
     まあ、質問はこちらにという事でメーリングリストへの参加方法を書いておけばよいでしょう。過去のログも見れますしね。

    Subject: [fb-ml 707] 中級編14を追加しました
    古籏一浩です。

    中級編14を追加しました。
    予告よりも遅くなってしまいましたが、「任意のカラー選択」と「アンドゥ処理」について説明してあります。
    アンドゥ処理は史上最低の手抜き、低速版です。
    その代わり数行ですが(^^;

    高速化については中級編の範囲を超えてしまいますので上級編にて解説しようと思っています。

     実は今回アンドゥ処理を追加した途端にBUS ERRORでしっかり落ちてしまい時間がかかってしまいました。
     原因はsとSといった具合で、大文字と小文字が違っていた(笑)というものです。DIM宣言してチェックしていたら、ありえないスカですがf(^^;

     次回の中級編15では、クリップボードつまりコピー、ペースト等を扱います。これで史上最低のペイントソフトの出来上がりです(^^;
     これC言語で書いたら簡単に3倍以上になりますよね。

    Subject: [fb-ml 708] Re:JPEG, CodeRes(追)
    古籏一浩です。

    At 13:09 97.7.7 +0000, 仙台7200/90 wrote:
    > 初心者でも使えるかどうかはわかりませんが,アスキー出版より「グラフィック・フォーマット・ハンドブック」がでていますよ。
     初版は辞めた方がいいです。
     多分初版本は、すでにないはずですが。
     初版本は翻訳がごっそり抜けている(笑)というオチが・・・
     LZWの解説部分がないf(-.-b

    Subject: [fb-ml 709] Re: unsigned
    古籏一浩です。

    At 13:09 97.7.7 +0000, 仙台7200/90 wrote:
    >VAL(UNS$(数値))でうまくできました。
    >ありがとうございました。でも,命令があるということは,私が自力で探すこともできたわけですよね。マニュアルはかなり探したつもりだったのですが,努力が不十分でした。

     努力と言うよりも、ずばり

     「マニュアルが見にくい」

     という気がするのですが・・・
     印刷はお金がかかるので、FB2が売れないと永久に見にくいままになってしまいますね・・・

     ところでRhapsodyになってもFuture BASICは出すんでしょうか?

    Subject: [fb-ml 710] FB2 Manual (Re: unsigned)
    こんにちは,中野@京都です。

    古籏さん(openspc@po.cnet.or.jp)
    >> 努力と言うよりも、ずばり
    >>
    >> 「マニュアルが見にくい」
    >>
    >> という気がするのですが・・・

    確かに,FB2 のマニュアルは見にくいです。英語版でも見にくいのに,日本語版はそれに輪を掛けて見にくくなりました。
    # FB1 のマニュアルは良かったなあ…。

    Subject: [fb-ml 711] Re: FB2 Manual (Re: unsigned)
    古籏一浩です(^^)

    At 22:49 97.7.7 +0000, NAKANO Takayuki wrote:
    > 確かに,FB2 のマニュアルは見にくいです。英語版でも見にくいのに,日本語版はそれに輪を掛けて見にくくなりました。
    >
    ># FB1 のマニュアルは良かったなあ…。

     確かに英語であってもFB1のマニュアルはよくできてましたね〜
     でもFB2のマニュアルはVB4よりマシだと思いますが(笑)
     VB4は買ったけどVB5は、全然購入する気がないf(^^;

     FB2が売れればマニュアルも刷新しそうなものだけど、裏を返せば刷新してない(みたい)から売れてない(ひゅるるる〜)という事かな。

     しかし社名が変わったという事は儲かったという事かなあf(^^?

    Subject: [fb-ml 712] Re:JPEG,CodeRes(追)
    根来さん、古旗さん回答有難うございます。

    さっそく「グラフィック・フォーマット・ハンドブック」を購入してみたいと思います。

    有難うございました。

    Subject: [fb-ml 713] Re: FB2 Manual
    こんにちは,中野@京都です。

    古籏さん(openspc@po.cnet.or.jp)
    >> でもFB2のマニュアルはVB4よりマシだと思いますが(笑)
    >> VB4は買ったけどVB5は、全然購入する気がないf(^^;

    VB = Visual Basic のことだと思いますけど,そんなにひどいマニュアルなんですか?? マニュアルを分かりにくくして,質問電話で儲けようとするところは,マイクロソフトだなあ…。

    でも,FB2-J のマニュアルは Inside Mac よりもデカくて困る…。せめて,Inside Mac と同じ大きさにできなかったのかなあ。

    >> しかし社名が変わったという事は儲かったという事かなあf(^^?
    う〜ん。どうなんでしょう。「モード」って名前はなんか印象が薄いので,営業的に損だと思うんですけど。旧社名の方が記憶に残りやすいですよね。

    # 一般名詞的な固有名詞って嫌い (^_^;

    Subject: Re: [fb-ml 713] Re: FB2 Manual
    古籏一浩です。

    At 15:27 97.7.8 +0000, NAKANO Takayuki wrote:
    > VB = Visual Basic のことだと思いますけど,そんなにひどいマニュアルなんですか?? マニュアルを分かりにくくして,質問電話で儲けようとするところは,マイクロソフトだなあ…。
     マニュアルと言うよりか、ひたすらテキストの嵐だったりして(^^;
     資金力があるんだから、もっとマシなマニュアルを作ればいいのにと思いますけどね〜。
     質問電話では儲からないと思いますが・・・

    > でも,FB2-J のマニュアルは Inside Mac よりもデカくて困る…。
    >せめて,Inside Mac と同じ大きさにできなかったのかなあ。

     できればFB 1と同じサイズがいいな〜(^^)

    >>> しかし社名が変わったという事は儲かったという事かなあf(^^?
    > う〜ん。どうなんでしょう。「モード」って名前はなんか印象が薄いので,営業的に損だと思うんですけど。旧社名の方が記憶に残りやすいですよね。

     モードは逆に読むと「ドーモ」になるので便利かもと考えてしまったりしますが・・・
     モダンなんちゃらという横文字の略称なんですよね、確か。

     そのうちエンハンスドモードとか、ネイティブモードとかになるのかなあf(^^;

    Subject: [fb-ml 714] Re: unsigned
    At 2:22 PM 97.7.7, KaZuhiro FuRuhata wrote:
    >  「マニュアルが見にくい」
    >
    >  という気がするのですが・・・

     まあ、たしかに見にくいですね(^^;) しかし僕は FB1 のマニュアルを知りませんし、MS や Symantec のマニュアルに比べたら、はるかにましですね(笑) 特に MSは、DOS の QuickBASIC のころからやたら見にくいマニュアルを作ってました。しかも解説文も、何がかいてあるのかちんぷんかんぷん...(^^;)

     しかしまあ、Reference Manual には p34 に Related Keywords という便利なページがありますので、ここで引いたらだいたいすぐに見つかりますけどねえ? こないだの Unsigned の展開についても、Math のところをみたらちゃんと UNS$ が出てますし。え、UNS$ じゃなにがなんだか分からない、ですって? まあ、そうですね...BASIC的というか...(^^;)

    >  ところでRhapsodyになってもFuture BASICは出すんでしょうか?
     これはどうでしょう。とりあえず FB3 がでるのは確定しているようです (英語のMailing List のほうでは STAZ さんがしょっちゅう FB3 のことを口にするので) し、MacOS 8 で現行の FB コンパイラが完璧に動作することもすでにユーザーによって確認されています。(たしかに出来のいいコンパイラだよなあ)

     問題は、Apple は Mac の公式な開発環境だった MPW を完全に停止して、Raphsody用の Apple 版開発環境として NeXT の Interface Builder そのほかを提供することです。(もちろん Objective C の開発環境です) こんなとんでもないのが公式な開発環境になるとなあ(^^;) 他のコンパイラメーカーも辛いところでしょう。

     Metroworks も独自に Objective C コンパイラを開発して、独自の Interface Builder とともに売り出すつもりのようです。これは Code Worrior の一部としてでるようなので、当然 Raphsody 用の JAVA や C++ 開発環境も用意するでしょうね。

     ポイントはどれもこれも「オブジェクト指向言語」になっているところですね。NeXT の API は別にC言語なんかからでも呼び出せるんで、当然 BASIC からでも呼べるんですが、なにせ OS 自体が Objective C の世界ですから... しかも多くの FBステートメントも Mac の ToolBox の代用として重宝していたのに、その ToolBox自体が消滅するわけですから...

     これは Obejct BASIC 化しかないか?(^^;)  しかしまあ、STAZ Software って意外と Apple と強力にコミットしているようでして、現在の FB3 の段階で Raphsodyへのなんらかのアプローチが見られるんじゃないかなー、と期待してます。Object BASIC 化してしまえば、あとの開発はかなり楽なはずなんですが... OS 自体がクラスライブラリを内包しているのが Raphsody の世界ですから、特にあたらしく FutureBASIC クラスライブラリを用意する必要はないはず。要はオブジェクトにメッセージを送る方法さえあれば、どうにでもなるっ

     現在 Andy さんがやってるのは、PowerPC コンパイラをアセンブラで書くことらしいですが...うわっ、たいへんそうっ(^^;) Andy さんがんばれっ。(コンパイラ書くのが一番大変だろうな。FB3 ってコンパイラ以外は FB で開発するって噂もあるし、これさえ乗り切れば、あとはお手のものなんでしょう)

     ああ、しかし Raphsody がでても MacOS も平行してでますからね、こちらの方面の開発環境も5年は生きられるでしょうね。

    Subject: [fb-ml 715] 未発送メッセージ
     ベン/矢野勉 です。

     えー、このところ fb-ml にポストすると例外なく、

    > Message has exceeded maximum hop count

     というエラーメッセージが返ってきます。メールサーバーの仕組みはよく知らないんですが、エラー情報を見ますと、どうも <shimizu@edu2.tokyo-med.ac.jp> さんに配送されたメールが、この方のメールボックスが満杯であるために返ってきているんではないかと。

     これって shimizu さんにはきちんと届いているんですかね? しばらくメールボックスをチェックしてなくて、未読でいっぱいになってるのかなー。

     いや、このエラー、どういうことなのか気になりまして。どなたか分かりますか?
     ほかの人にも同等のメッセージを受け取っているんでしょうか? 送る度にこれがくるのも結構邪魔な気もしてるんですよ、実は。

    Subject: Re: [fb-ml 715] 未発送メッセージ
    古籏一浩です。

    At 23:30 97.7.8 +0900, Tsutomu YANO wrote:
    > これって shimizu さんにはきちんと届いているんですかね? しばらくメールボックスをチェックしてなくて、未読でいっぱいになってるのかなー。
     もちろん「届いてません」f(^^;
     人によっては1日に400通以上受け取る人もいますので、しばし様子を見ていたのですが、これだけエラーメールが来ると駄目ですね。

     一応今週中様子を見て、日曜日になってもエラーメッセージが返るようであれば削除し、ホームページ上で掲示しておこうと思います。

    Subject: [fb-ml 716] Re: FB2 Manual
    古籏一浩です。

    At 15:27 97.7.8 +0000, NAKANO Takayuki wrote:
    > VB = Visual Basic のことだと思いますけど,そんなにひどいマニュアルなんですか?? マニュアルを分かりにくくして,質問電話で儲けようとするところは,マイクロソフトだなあ…。
     マニュアルと言うよりか、ひたすらテキストの嵐だったりして(^^;
     資金力があるんだから、もっとマシなマニュアルを作ればいいのにと思いますけどね〜。
     質問電話では儲からないと思いますが・・・

    > でも,FB2-J のマニュアルは Inside Mac よりもデカくて困る…。
    >せめて,Inside Mac と同じ大きさにできなかったのかなあ。

     できればFB 1と同じサイズがいいな〜(^^)

    >>> しかし社名が変わったという事は儲かったという事かなあf(^^?
    >
    > う〜ん。どうなんでしょう。「モード」って名前はなんか印象が薄いので,営業的に損だと思うんですけど。旧社名の方が記憶に残りやすいですよね。

     モードは逆に読むと「ドーモ」になるので便利かもと考えてしまったりしますが・・・
     モダンなんちゃらという横文字の略称なんですよね、確か。

     そのうちエンハンスドモードとか、ネイティブモードとかになるのかなあf(^^;

    Subject: [fb-ml 717] Re: 未発送メッセージ
    古籏一浩です。

    At 23:30 97.7.8 +0900, Tsutomu YANO wrote:
    > これって shimizu さんにはきちんと届いているんですかね? しばらくメールボックスをチェックしてなくて、未読でいっぱいになってるのかなー。
     もちろん「届いてません」f(^^;
     人によっては1日に400通以上受け取る人もいますので、しばし様子を見ていたのですが、これだけエラーメールが来ると駄目ですね。

     一応今週中様子を見て、日曜日になってもエラーメッセージが返るようであれば削除し、ホームページ上で掲示しておこうと思います。

    Subject: [fb-ml 718] Re: unsigned
    古籏一浩です。

    At 23:30 97.7.8 +0900, Tsutomu YANO wrote:
    > まあ、たしかに見にくいですね(^^;) しかし僕は FB1 のマニュアルを知りませんし、MS や Symantec のマニュアルに比べたら、はるかにましですね(笑) 特に MSは、DOS の QuickBASIC のころからやたら見にくいマニュアルを作ってました。しかも解説文も、何がかいてあるのかちんぷんかんぷん...(^^;)
     マニュアルに何が書いてあるか分からない
             ↓
         そこで解説本が登場
             ↓
     (マニュアルがひどいので)解説本が売れる
             ↓
       本もソフトも売れてウハウハ(笑)
             ↓
     わけわからない機能と使わない機能を増やしてバージョンアップ!!
             ↓
          最初に戻る(笑)

    > 問題は、Apple は Mac の公式な開発環境だった MPW を完全に停止して、Raphsody用の Apple 版開発環境として NeXT の Interface Builder そのほかを提供することです。(もちろん Objective C の開発環境です) こんなとんでもないのが公式な開発環境になるとなあ(^^;) 他のコンパイラメーカーも辛いところでしょう。
     NeXTのInterface Builderは使った事があります。
     非常に良くできています。
     が、Objective Cはちょっとわかりませんでした・・・
     Interface Buliderが言語を選択できるようになれば、すごくいいですけどね。

    >スライブラリを内包しているのが Raphsody の世界ですから、特にあたらしく FutureBASIC クラスライブラリを用意する必要はないはず。要はオブジェクトにメッセージを送る方法さえあれば、どうにでもなるっ
     Interface BuilderでFuture BASICを作ればいいんですよ。
     32Kなんて変な制限もないしいいですよ。

    > 現在 Andy さんがやってるのは、PowerPC コンパイラをアセンブラで書くことらしいですが...うわっ、たいへんそうっ(^^;) Andy さんがんばれっ。(コンパイラ書くのが一番大変だろうな。FB3 ってコンパイラ以外は FB で開発するって噂もあるし、これさえ乗り切れば、あとはお手のものなんでしょう)
     powerPCのアセンブラは・・・覚えにくいというかマクロなしで生きては〜ゆけないわ〜の世界です(^^;
     eieioという命令もある事ですし頑張ってもらいましょう(笑)

    > ああ、しかし Raphsody がでても MacOS も平行してでますからね、こちらの方面の開発環境も5年は生きられるでしょうね。
     多くのディベロッパーはWin95/NTに移行しちゃってますからかなり難しいでしょう。
     ただ、以前よりも選択肢はありますが・・・・

    1:Windows95
    2:Windows NT
    3:UNIX
    4:MacOS
    5:Rhapsody
    6:BeOS
    7:自作OS

     ちなみに金がかかりそうランキング(笑)

     (高い)
    1:Rhapsody
    2:Windows NT
    3:Windows95
    4:MacOS
    5:BeOS
    6:自作OS
    7:UNIX
     (安い)

     アプリを作成するのに時間がかかりそうランキングf(^^;

     (速い)
    1:自作OS
    2:Rhapsody
    3:BeOS
    4:UNIX
    5:Windows NT
    6:Windows95
    7:MacOS
     (遅い)

     全部主観です(笑)

    Subject: [fb-ml 719] Download Page
    古籏一浩です。

    書くの忘れてましたf(^^;

    ダウンロードページを7月7日に公開しました。
    トップページから入れます。

    毎月2本ずつpowerPC用のゲームをリリースしますのでpowerPC604マシンの方は遊んで下さいまし。

    Subject: [fb-ml 720] QuarkXpressの・・・
    須澤です。
    どなたかQuarkXPressのプラグインの作り方やアップルスクリプトの組み方の詳しい方いませんか?
    文字ボックスを8方向にコピーして白フチを付けたようにするものを作りたいのです。
    FBでつくるのは難しいでしょうか?

    Subject: [fb-ml 721] Re: QuarkXpressの・・・
    古籏一浩です。

    At 22:31 97.7.9 +0900, HIS wrote:
    >どなたかQuarkXPressのプラグインの作り方やアップルスクリプトの組み方の詳しい方いませんか?
    >文字ボックスを8方向にコピーして白フチを付けたようにするものを作りたいのです。
    >FBでつくるのは難しいでしょうか?

     資料がないのでFBでは難しいでしょう。
     確かエクステンションを開発するにはなんか契約しなきゃいけなかったような気がします。

     ここは1つアップルスクリプトで作成した方がよいと思います。

    Subject: [fb-ml 722] Re: QuarkXpressの・・・
    古籏一浩です。

    At 22:31 97.7.9 +0900, HIS wrote:
    >文字ボックスを8方向にコピーして白フチを付けたようにするものを作りたいのです。
    >FBでつくるのは難しいでしょうか?

     さらに追加。
     Quickeysという方法もありますが・・・

    Subject: [fb-ml 723] Re: QuarkXpressの・・・
    重松です。
    わたしはQuarkのユーザでないので外したらご免なさい。
    倉持さんのページで「ふーちー君」なるソフトを目撃しました。
    ご希望のものかはご自身でたしかめてください。

    http://www.asahi-net.or.jp/‾qq8t-krmc/

    Subject: [fb-ml 724] Re: 未発送メッセージ
     はじめまして。Lolipopper's clubの制作者の金子弘樹といいます。7MB以上もある、Webページのアーカイブをダウンロードして下さって有り難うございました。内容は、ちゃんとローカルディスク上で見られたでしょうか?ダウンロードした方から「見られた」という報告を貰った事が無いので心配です。

     ここ数カ月はWebページの更新も止まってしまっていて、なかなか新しいものが作れていない状態ですが、これからも色々やって行きたいと思います。「おハコー」の復活もそうですが、これら縦書きのレイアウトをどのようにして横書きに編成し直すか、それともHTMLとは別のフォーマット(例えばAdobe Acrobat、エキスパンドブックなど)でレイアウトから再現して行くのか、難しいところですね。未だにそれで悩んでしまって、なかなか前へ進めません。Webページを大改訂するのは、もう少し後になりそうです。

     感想を、どうも有り難うございました。今後とも、よろしくお願いします。

    Subject: [fb-ml 725] Re:QuarkXpressの・・・
    須澤さん、こんにちは。
    QuarkXPressの白フチや色フチツールはAppleScriptで
    すでに倉持哲也さんがつくられています。
    http://www.asahi-net.or.jp/‾qq8t-krmc/

    参考書籍は「QuarkXPressユーザーのためのAppleScript入門」です。
    鎌田幸雄さんが著者です。

    QuarkXPressのプラグインは"XTLite"というSDK(?)が
    Quark, Inc. Homepageにあるのですが
    http://www.quark.com/
    今日見に行ったらどこにあるかわからなくなっていました。。。

    QuarkXPressのAppleScriptは多数ありまして私もそういうのを作っている1人です。

    Subject: [fb-ml 726] Re: QuarkXpressの・・・
    須澤です

    At 0:24 AM 97.7.10 +0900, Osamu Shigematsu wrote:
    >重松です。
    >わたしはQuarkのユーザでないので外したらご免なさい。
    >倉持さんのページで「ふーちー君」なるソフトを目撃しました。
    >ご希望のものかはご自身でたしかめてください。

    ふーちー君はQuarkXPressのApplescriptを解説した本に付いてました。
    しかし、どうもおおざっぱなプログラムなので、自分で作ろうかと思ったのです。

    やっぱりApplescriptで作るのが一番なんですね。
    勉強してみます
    ありがとうございました

    Subject: [fb-ml 727] Download page
    古籏一浩です(^^)

    私のダウンロードページに初級講座と中級講座をダウンロードできるようにしました。

    結構たくさんありますねf(^^;

    よかったら活用して下さいまし。

    そろそろFB関係にもリンク張らないといけないですね。

    Subject: [fb-ml 728] 静かですね〜
    古籏一浩です。

    7月になったら途端に静かになりましたね(^^;
    そろそろ、講座を追加しなきゃいけないなあ〜と思ってます。
    来週には1つ中級編を追加します。

    やっぱFBでゲームを作るという方向に走った方がいいかな?

    Subject: [fb-ml 729] 脱力してしまった
    たま〜に出てきたと思ったら情けないニュースですんません。
    もう知っている方も多いかとは思いますが、ビー・ユー・ジーの社長さんが逮捕されてしまいました。
    容疑は今はやりの「援助交際」絡みです(どうして素直に売春と書かないんだろ)。
    地元ではホープ的存在だっただけに、結構大きな話題になってました。

    Subject: [fb-ml 730] Re: 脱力してしまった
    古籏一浩です(^^)

    ダウンロードページにFB講座のを落とせるようにしておきました。

    あとpowerMac用のゲームを毎月2本ずつリリースするのでよろしく〜(^-^)

    At 20:50 97.7.17 +0900, Satoshi Sawada wrote:
    >たま〜に出てきたと思ったら情けないニュースですんません。もう知っている方も多いかとは思いますが、ビー・ユー・ジーの社長さんが逮捕されてしまいました。
     あら、そうなんですか。
     知りませんでした。
     ざべとかで、逮捕の真相を探る(笑)とか、パソコン批評で記事になりそうですね〜

    >容疑は今はやりの「援助交際」絡みです(どうして素直に売春と書かないんだろ)。
     BUGが資金繰りに困って、援助交際って、そりゃ違うか(笑)

    Subject: [fb-ml 731] Telephone
    ご無沙汰しております、伊藤です。静かですね(^_^;)

    えーとですね、友人に電話をかけるソフトを頼まれてしまったんですが、最初の段階でつまづいています。(ToT)
    初期設定等はマニュアルである程度はわかるのですが、番号を送信するのは「Print#(modem)」で良いのでしょうか。トンチンカンな事言ってますかね(^_^;)誰か教えて〜(TOT)

    Subject: [fb-ml 732] Re: Telephone
    古籏一浩です。

    At 4:56 97.7.18 +0900, 伊藤とものり wrote:
    >えーとですね、友人に電話をかけるソフトを頼まれてしまったんですが、最初の段階でつまづいています。(ToT) >初期設定等はマニュアルである程度はわかるのですが、番号を送信するのは「Print#(modem)」で良いのでしょうか。トンチンカンな事言ってますかね(^_^;)誰か教えて
     シリアル接続でモデムに接続されていますよね?
     ボーレートは適当で良いのですが、とりあえず57600あたりをMaxにしておきましょう。
     でPRINT文で

    ATZ
    ATDT0263-54-2286 ← 電話番号

    で電話がかけられます。
    ATDTでかからない場合は

    ATDP〜

    でOKです。
    ATZでOK等が返ってくるのでモデムからOKが返ってくるのを待ってからATDTで電話しましょう。

    Subject: [fb-ml 733] Re: Telephone
    At 0:54 PM 97.7.18, KaZuhiro FuRuhata wrote:
    > 古籏一浩です。
    >
    > At 4:56 97.7.18 +0900, 伊藤とものり wrote:
    > >えーとですね、友人に電話をかけるソフトを頼まれてしまったんですが、最初の段階でつまづいています。(ToT) > >初期設定等はマニュアルである程度はわかるのですが、番号を送信するのは「Print#(modem)」で良いのでしょうか。トンチンカンな事言ってますかね(^_^;)誰か教えて
    >  シリアル接続でモデムに接続されていますよね?
    >  ボーレートは適当で良いのですが、とりあえず57600あたりをMaxにしておきましょう。
    >  でPRINT文で
    >
    > ATZ
    > ATDT0263-54-2286 ← 電話番号
    >
    > で電話がかけられます。
    > ATDTでかからない場合は
    >
    > ATDP〜
    >
    > でOKです。
    > ATZでOK等が返ってくるのでモデムからOKが返ってくるのを待ってからATDTで電話しましょう。

    ありがとうございます(ToT)やってみます。またブチ当たったら質問しますのでよろしくお願いしますぅ(ToT)

    Subject: [fb-ml 734] Re: Telephone
    どーも伊藤です。
    > > 古籏一浩です。
    > >
    > > At 4:56 97.7.18 +0900, 伊藤とものり wrote:
    > > >えーとですね、友人に電話をかけるソフトを頼まれてしまったんですが、最初の段階でつまづいています。(ToT)
    > > >初期設定等はマニュアルである程度はわかるのですが、番号を送信するのは「Print#(modem)」で良いのでしょうか。トンチンカンな事言ってますかね(^_^;)誰か教えて
    > >  シリアル接続でモデムに接続されていますよね?
    > >  ボーレートは適当で良いのですが、とりあえず57600あたりをMaxにしておきましょう。
    > >  でPRINT文で
    > >
    > > ATZ
    > > ATDT0263-54-2286 ← 電話番号
    > >
    > > で電話がかけられます。
    > > ATDTでかからない場合は
    > >
    > > ATDP〜
    > >
    > > でOKです。
    > > ATZでOK等が返ってくるのでモデムからOKが返ってくるのを待ってからATDTで電話しましょう。
    > >
    > ありがとうございます(ToT)やってみます。またブチ当たったら質問しますのでよろしくお願いしますぅ(ToT)

    うまくかかりました、ありがとうございました。
    でてすね(^_^;)モデムの音量の制御ってどうやるのでしょうか?確か付属のマニュアルに載っていたはずなのですが、ちょっとマニュアルが見つからないもので(^_^;)それともモデムによって違うのでしょうか。

    Subject: [fb-ml 735] Re: Telephone
     はじめまして。にったといいます。このMLには最近入会させていただきました。Future BasicはZedcor社時代から所有していましたが、プログラムは書いたことがないというマヌケユーザです。

    At 00:50 97.07.20 +0900, 伊藤とものり wrote:
    >でてすね(^_^;)モデムの音量の制御ってどうやるのでしょうか?確か付属のマニュアルに載っていたはずなのですが、ちょっとマニュアルが見つからないもので(^_^;)それともモデムによって違うのでしょうか。

     えーと、モデムによっては違うこともあるようですが、ATL[0-3](0で無音、3で音量最大など)となっていることが多いようです。また、これと併せてスピーカの制御としてATM[0-3]というのもあります。こちらは、0:スピーカオフ、1:キャリア認識までオン、2:常にオン、3:ダイアル終了後からキャリア認識までオン、です。

    Subject: [fb-ml 736] Re: Telephone
    古籏一浩です。

    At 0:50 97.7.20 +0900, 伊藤とものり wrote:
    >うまくかかりました、ありがとうございました。
    >でてすね(^_^;)モデムの音量の制御ってどうやるのでしょうか?確か付属のマニュアルに載っていたはずなのですが、ちょっとマニュアルが見つからないもので(^_^;)それともモデムによって違うのでしょうか。

     音量はわかりません。
     ちょっと手元のには載ってませんでした。
     静粛モードというのがあるので、どこかにコマンドがあるはずですが(^^;

    Subject: [fb-ml 737] Re: Telephone
    伊藤です。

    At 4:30 PM 97.7.20, Wataru Nitta wrote:
    >  はじめまして。にったといいます。このMLには最近入会させていただきました。Future BasicはZedcor社時代から所有していましたが、プログラムは書いたことがないというマヌケユーザです。
    >
    > At 00:50 97.07.20 +0900, 伊藤とものり wrote:
    > >でてすね(^_^;)モデムの音量の制御ってどうやるのでしょうか?確か付属のマニュアルに載っていたはずなのですが、ちょっとマニュアルが見つからないもので(^_^;)それともモデムによって違うのでしょうか。
    >  えーと、モデムによっては違うこともあるようですが、ATL[0-3](0で無音、3で音量最大など)となっていることが多いようです。また、これと併せてスピーカの制御としてATM[0-3]というのもあります。こちらは、0:スピーカオフ、1:キャリア認識までオン、2:常にオン、3:ダイアル終了後からキャリア認識までオン、です。

    にったさん初めまして。RES有り難うございました。暇な合間をぬって試行錯誤しています(^_^;)これからもよろしくお願いします。ではでは。

    Subject: [fb-ml 738] FB-MLの人数
    古籏一浩です(^^;
    講座のプログラムと原稿を書かねば・・・

    このメーリングリスト、一体何人いるのかな〜と思ってリストをとって数えたら、いつの間にか95人!

    このまま行くと3桁の大台に乗るかも・・・

    という割に最近静かですね(笑)

    ベンさんのPGでエディタを作ろう!は、どないなったんすか?

    Subject: [fb-ml 739] Re: FB-MLの人数
    At 10:55 PM 97.7.22, KaZuhiro FuRuhata wrote: > ベンさんのPGでエディタを作ろう!は、どないなったんすか?
     あー(^^;)

     すみません、何かといそがしいのもあるんですが、実はプログラムを作っていると、なんと「Text Ed.FLTR 使ったら、プログラムするところ無いでわ」という状態になりまして。(ううむ、PG ってすごい) このフィルタファイル、プログラムに簡単なテキストウインドウ・パーツを付け加えるために使うんですが、保存まで取り扱ってくれてしまうという...

     さすがにこれを使うのは解説書としては問題あり、と判断しまして、Edit Menu.FLTR, Font.FLTR のみを使って、基本的には「ウインドウの作成」と「保存の手順を徹底解説」しようかと思います。なにしろこの2つのフィルタで、テキストのカット&ペーストと、フォント、スタイルメニューの処理が自動になってしまって、することが無いという(笑)

     だったら早く終りそうなもんなんですが、なんか「単独ウインドウ」の扱いに迷ってまして。

     もうしばらくお待ちください。

     ちなみにこのページの解説は、古旗さんのページのように「一回一プログラム」ではなく、「一つのプログラムを数回にわけて解説」というスタイルでいこうとおもいます。

     毎度おそくてすみません(^^;)

     あー、三つもホームページもつと、大変ですわ。ふう。でもメールも数本きていることですし、ゲストブックにも応援があるので、かむばります(^^)

    Subject: [fb-ml 740] Re: FB-MLの人数
    古籏一浩です。
    頑張って今日中にサンプルと解説を(と思うだけ^^;)

    At 0:06 97.7.24 +0900, Tsutomu YANO wrote:
    > すみません、何かといそがしいのもあるんですが、実はプログラムを作っていると、なんと「Text Ed.FLTR 使ったら、プログラムするところ無いでわ」という状態になりまして。(ううむ、PG ってすごい) このフィルタファイル、プログラムに簡単なテキストウインドウ・パーツを付け加えるために使うんですが、保存まで取り扱ってくれてしまうという...
     便利でいいじゃないですか。
     FBで作ってもウィンドウにエディットフィールドを貼り付けるだけですしね。
     わざわざ、難しくする事はない気がするんだけど。

    > あー、三つもホームページもつと、大変ですわ。ふう。でもメールも数本きていることですし、ゲストブックにも応援があるので、かむばります(^^)
     頑張って作ってください、未来のプログラマのために(^^)

    Subject: [fb-ml 741] マニュアルが欲しい!!
    みなさんはじめまして。 溝口と申します。

    最近、中古でFuture Basic IIをマニュアル無しで購入しました。

    マニュアル無しを承知で購入したのですが、思ったよりも難解でまた、市販の参考書も売っていないので困っております。

    メーカーに問い合わせると、24000円位掛かるとのこと。
    うーん、ちょっと手がでない。

    掲示板などにも何度か書き込んで見たのですがまったく反応がありません。

    ここでこんなことを書くのは場違いかも知れませんが、本当に困っております。

    どなたか、マニュアルを譲っていただける方、コピーならしてやるという方、コピーは面倒だから貸してやると言う方、どうか助けてください。

    1万円ぐらいなら出せます。
    なんとかならないでしょうか?

    宜しくお願い致します。

    Subject: [fb-ml 742] Re: マニュアルが欲しい!!
    古籏一浩です。

    At 18:00 97.7.25 +0900, 溝口 章太郎 wrote:
    >どなたか、マニュアルを譲っていただける方、コピーならしてやるという方、コピーは面倒だから貸してやると言う方、どうか助けてください。
     FB2Jのマニュアルは、とてもコピーできるようなページ数ではありませんですf(^^;
     コピー代金だけでも軽く1万円は超えてしまうでしょうし、コピーしても、かなり重量があるので、送料も馬鹿にならないと思います。
     (マニュアルの厚さと量はCode WarriorとかPhotoshop等のマニュアルの比ではないです。溝口さんの予想以上に分厚く重く種類があります。2頁を10秒で4時間程休み無くコピーする元気はないし^^;)
     プログラム系でマニュアルを譲るというのは、同じのを持っていない限り無理でしょう。
     はっきりいって、マニュアルは買った方が得です・・・

     あとリファレンスマニュアルはオンラインヘルプと同様です。

     FB2Jはマニュアルごといらない、という人から譲り受けるしかないのでは?

    Subject: [fb-ml 743] 講座を追加しました
    古籏一浩です(^-^)

    中級編の講座を追加しました。
    画像の「カット」「コピー」「ペースト」「クリア」の処理について説明してあります。
    これで一応ペイントソフトはできあがりです(^^;

    次は予告通り「簡易エディタ」を作ろうと思います。
    ベンさんの方が早いかも〜

    Subject: [fb-ml 744] PICT画像の保存とコピー
    古籏一浩です。

    前に

    COLOR _zWhite
    COPYBITS〜

    で保存するとPhotoshop以外で表示されないというオチがあってベンさんからCOLOR _zWhiteを消せばOKという話がありました。が、追加した講座を作っていて消すとおかしな事になってしまいました。Inside Macを見ると、現在のカラーでCOPYBITSした場合なんか現在のカラーを基準として描画するみたいです。
    COLOR _zCyanとかやると水色のトーンぽくなります。

    普通に保存するには
    COLOR _zBlack
    とちゃんと指定しないと駄目でした。

    が、SimpleTextでPICT画像を開いてコピーして、BAD Paintにペーストしようとするとできない(笑)
    リソースエディタのPICTリソースとかはできるんだけど・・・(もちろんPhotoshopからもできます)

    PICT形式の先頭512バイトを消しても消さなくても駄目だったんですけど〜

    どうなっているんでしょう?
    もしかして、うちだけ?

    ダウンロードページ(ttp://www.shiojiri.ne.jp/‾openspc/download/)にも追加した講座をアプリごと圧縮して用意してありますので暇な方はちょっとテストしてみてください(^^;

    Subject: [fb-ml 745] JAVA始めようと思うのですが
    須澤です

    仕事上必要になりJAVAを始めようと思うのですが、何のソフトと関連書籍を買ったら良いのでしょう?
    どなたかアドバイスをお願いします。

    P.S.
    「今すぐ始めるJavaScript」も「JavaScript Pocket Reference」も近くの本屋さんにないので買えませんでした(T‾T)。だいたいうちの町、本屋が一軒もないんですよね〜。コンビニはいっぱいあるのに・・

    Subject: [fb-ml 746] Future BASIC講座へのリクエストありますか?
    古籏一浩です。

    私のページでFuture BASIC講座をやっていますが、リクエストありますか?
    とりあえず現時点では

    ・ドラッグドロップ

    あたりくらいなんですが(最初からず〜っとドラッグドロップな気がするけど、気のせいでしょう^^bb)
    あとはゲームかな。

    Subject: [fb-ml 746] Re: JAVA始めようと思うのですが
    古籏一浩です(^^)

    At 21:44 97.7.29 +0900, HIS wrote:
    >仕事上必要になりJAVAを始めようと思うのですが、何のソフトと関連書籍を買ったら良いのでしょう?
     私も知りたい所です(^^;
     Visual Cafeとかかなあ。頑張ってJDKとか。
     ツールより参考書籍でいいのがあれば私も知りたいなあ〜

    >P.S.「今すぐ始めるJavaScript」も「JavaScript Pocket Reference」も近くの本屋さんにないので買えませんでした(T‾T)。だいたいうちの町、本屋が一軒もないんですよね〜。コンビニはいっぱいあるのに・・
     「今すぐ始めるJavaScript」は増刷がかかったので、本屋にもあまりないでしょう。「JavaScript Pocket Reference」も増刷かかってますがこっちは結構多くの本屋にありますよ。
     こっちの田舎にも結構入っていますし。

    Subject: [fb-ml 747] はじめまして
    皆さん初めまして

    私は、気まぐれ者の「ワカモリ」という者です。
    最近、3〜4カ月はFBにあまり触れていなかったのですがちょっと疑問がわいてきたので教えていただきたいのですが。 2バイト文字と1バイト文字混在の文字列の中で数字とアルファベットのみを 1バイト文字に変換したいのですが例えば  1 を 1 に Q を Q にその他の、漢字ひらがな等はそのままにしておきたいのですが何か、よい方法がありましたら教えて下さい。
    凄く稚拙な質問で申し訳ございませんが宜しくお願いします。

    古籏さんに FBの講座のリクエストですがデータベース的なソフトの講座を開いて欲しいですね

    Subject: [fb-ml 748] 講座へリクエストします
    古籏さん,お久しぶりです。

    最近仕事が忙しくてFB2をさわる時間が取れないのです。(T_T)
    画像のカット&ペーストを参考にさせてもらいます。
    さて,講座へのリクエストですが,今困っていることでいいでしょうか。

    実はメニューなのですが,たとえばUndo項目の「取消し」と「取消不可」を状況により差し替えるというのはうまくできました。
    しかし,クラリスやネスケにあるような「ウインドウ」メニューの配下に現在のウインドウを一覧表示する方法がわかりません。
    メニュー構築のロジックを関数にしたりして,必要に応じて呼び出さないといけないのでしょうか。自分でしてみたのですが,期待した動作はしてくれません。よろしければ,その場その場でのメニューアイテムの再編成方法を解説しては頂けないでしょうか。

    あと,システム7.5以上かどうかを調べる方法で簡単な手法はないでしょうか。

    Subject: [fb-ml 749] Re: 講座へリクエストします
    古籏一浩です。

    At 12:28 97.7.30 +0000, 仙台7200/90 wrote:
    >しかし,クラリスやネスケにあるような「ウインドウ」メニューの配下に現在のウインドウを一覧表示する方法がわかりません。
     よくウィンドウを開いたりするとメニューに、そのウィンドウ名が出てくるヤツですよね。
     簡単そうな気がするので、やってみます。
     と書いて泥沼だったら嫌ですがf(^^;

    Subject: [fb-ml 749] Re: はじめまして
    古籏一浩です。

    At 9:38 97.7.30 +0000, k-waka wrote:
    >古籏さんに FBの講座のリクエストですがデータベース的なソフトの講座を開いて欲しいですね
     データベース的ですかf(^^;
     私が最も不得意とする分野の1つですぅf(^^bbb

    Subject: [fb-ml 750] Re: はじめまして
    At 9:38 97.7.30 +0000, k-waka wrote:
    >2バイト文字と1バイト文字混在の文字列の中で数字とアルファベットのみを 1バイト文字に変換したいのですが例えば  1 を 1 に Q を Q にその他の、漢字ひらがな等はそのままにしておきたいのですが
     割とよいサンプル(?)かなと思って「中級編16」として解説つきで作ってみましたが、どうでしょうか。

     ダウンロードページから一式でダウンロードできます(^^)
     例によってFB1.0.2でも動きます。って私FB2使ってない(笑)、なぜかFB1.0.2を好んで使ってしまうという・・・起動が速いせいかも。

    Subject: [fb-ml 751] Re: [fb-ml 750]有り難うございます
    古籏さん

    早速のご回答を有り難うございます
    レスポンスの速さに感激しています。

    中級講座16を参考に、アプリを作りたいと思います。

    Subject: [fb-ml 752] 初級講座15を追加しました
    古籏一浩です。

    初級講座15を追加しました。
    今までゲームネタがありませんでしたが、今回はレースゲームやドライブゲームでの道路表示について説明してあります。 上下の起伏は、まだ実現していませんがポールポジション(ナムコ)とかはできそうですね。
    時間があったら上下の起伏もやってみたいなあ〜

    Subject: [fb-ml 752] Re: 有り難うございます
    古籏一浩です。

    At 13:32 97.7.31 +0000, k-waka wrote:
    >早速のご回答を有り難うございますレスポンスの速さに感激しています。
     気分がのったときしか作らないと言う話しもあります(笑)

    >中級講座16を参考に、アプリを作りたいと思います。
     がんばってください(^^)
     でもシフトJISコード表がないと、わけわからないかもしれません。

    Subject: [fb-ml 753] Re: 講座へリクエストします
    古籏さん,こんにちは。

    > よくウィンドウを開いたりするとメニューに、そのウィンドウ名が出てくるヤツですよね。
    > 簡単そうな気がするので、やってみます。
    > と書いて泥沼だったら嫌ですがf(^^;

     簡単にできるのですか。いろいろと試しているのですが,なんか動作がおかしかったり,エラーが出たりして苦労しています。
    該当講座を楽しみにまっています。

     PostScriptリファレンスマニュアルという赤本を買いました。
    分厚いですね。財布はスカスカになりましたが,本棚はきゅうきゅうになりました。(^^;
     以前のスクリーン線数の変更方法を未だに考えています。
    どうもPicCommentは資料が少ないので,直接プリンターにコマンドを送っちゃおうかなと考えています。でも,この場合はQDとPSプリンターを事前に識別しておかなくっちゃならないのですが,これは難しいですよねぇ。
    なんか良い方法はないものかなぁ。

     FB2のマニュアルを読んでいると,System 7 の確認方法などは載っていますが,System 7.5以上の確認はどうするのでしょうか。
    このあたりのチェック方法も講座で取り上げてもらえるとうれしいです。

    Subject: [fb-ml 754] Re: はじめまして
    yukiです。

    「ワカモリ」さん、はじめまして。私も古旗さんのHPに、いつもお世話になっております一人です。

    あつかましくも古旗さんに通信関連(AppleTalk,TCP/IP)や、画像変換(TIFF....、GIF等)の解説をやっていただけると有難いです。

    あっ、画像といえば一つみなさんに質問があります。通常のOffscreenGWorldでは32bitで作ることが多いと思うんですが(私だけ?)、FutureBasicの関数で"LONG COLOR"というものがありますが、これのメリットってなんなのでしょうか? 32bitってことは各色8bit+8bit=32なわけで、各255色で足りると思うのですが、どこか理解が間違っているでしょうか?
    どなたかお教えください。

    Subject: [fb-ml 755] Re: 講座へリクエストします
    At 9:28 PM 97.7.30, 仙台7200/90 wrote:
    > しかし,クラリスやネスケにあるような「ウインドウ」メニューの配下に現在のウインドウを一覧表示する方法がわかりません。
    > メニュー構築のロジックを関数にしたりして,必要に応じて呼び出さないといけないのでしょうか。自分でしてみたのですが,期待した動作はしてくれません。よろしければ,その場その場でのメニューアイテムの再編成方法を解説しては頂けないでしょうか。

     これはですね、独自に配列を作って、ウインドウの作成/破棄の度に内容を変更するのが直接的でわかりやすいかと。

     たとえば、アプリが最高 120 のウインドウを許すとしたら、gWindowList(120) ってのを用意しておきます。で、WINDOW ステートメントで引数に渡す参照番号 (ふつう最初は 1 を使いますね) の位置に、_zTrue をいれておきます。

     こんな具合に:

    WINDOW #1, "Sample", @theRect, _doc
    gWindowList(1) = _zTrue

     しておくわけです。こうしておけば、あとで FOR...NEXT ループで 120 回繰り返して、gWindowList配列のどこに _zTrue があるかを調べることができます。

    FOR i = 1 TO 120
    LONG IF gWindowList(i) <> _false
    '"ウインドウ発見。処理する。
    END IF
    NEXT i

     gWindowList(i) が _false でないとき、参照番号 i のウインドウが存在することになりますね。参照番号がわかれば、GET WINDOW関数でウインドウ・ポインタを得られますので、ここからウインドウタイトルも分かります。

     まあ、仮に 120 個もウインドウがあったとしても、メニューに120個も表示できませんので、実際には「10個目をみつけた時点で処理を終了」とかするでしょうね。

    > あと,システム7.5以上かどうかを調べる方法で簡単な手法はないでしょうか。
     これには ToolBox のゲシュタルト・マネージャというのを使います。これはシステムやマシンの情報を取ってくる関数群で、OS のバージョンはもちろん、CPU は何かとか、Macintosh Drag&Drop は組み込まれているか、といった、個々の機能拡張の存在までチェックできます。

     バージョンの得方は次のような感じです。

    version = FN GESTALT(_gestaltSystemVersion)

     _gestaltSystemVersion という定数が、OSのバージョンを取ってくるように指示しています。うまくいけば、version に16進で結果が入ります。たとえば System7.1 なら &0710 が帰ってきます。ですので、上記で得たバージョンを

    LONG IF version > &0750

     という感じで処理すればいいでしょうね。

    Subject: [fb-ml 756] Re: 講座へリクエストします
    古籏一浩です(^^)

    At 13:00 97.8.1 +0000, 仙台7200/90 wrote:
    > 簡単にできるのですか。いろいろと試しているのですが,なんか動作がおかしかったり,エラーが出たりして苦労しています。
    >該当講座を楽しみにまっています。

     早速作ってみました。
     割と簡単にできました。で、早速中級編17として解説付きで用意しておきました。参考にしてください(^^)
     8/1は1日に2つ講座を追加した気が・・・

    >どうもPicCommentは資料が少ないので,直接プリンターにコマンドを送っちゃおうかなと考えています。でも,この場合はQDとPSプリンターを事前に識別しておかなくっちゃならないのですが,これは難しいですよねぇ。
    >なんか良い方法はないものかなぁ。

     QDプリンタとLWの判定は実はインサイドマックに書いてあるんですよ。
     プリンタの種類を入れてある所があってQDプリンタが1でレーザーが3だったはずです。インサイドマックを見た方が早そうですねf(^^;

    > FB2のマニュアルを読んでいると,System 7 の確認方法などは載っていますが,System 7.5以上の確認はどうするのでしょうか。
    >このあたりのチェック方法も講座で取り上げてもらえるとうれしいです。

     これは簡単で1命令でできます。
     例えばSystem 7.5.3だったら

    PRINT SYSTEM(_sysVers)

     とすると753が返ってきます。7.6だったら760です。
     ですからSystem7.5以降という場合は

    v = SYSTEM(_sysVers)
    if v >= 750 THEN PRINT "System7.5以降ですね"

     といった具合に判定できます。
     参考にしてくださいませ。

    Subject: [fb-ml 757] TIFFの変換法について
    yukiです。

    また不明な点が出てきてしまいました。現在TIFFのYCbCR形式のファイルを読み込んでGWorldに表示するプログラムを以下の方法で作成しています。

    1.ファイルからデータを読み込む
     Y1 =PEEK(adrs&)
    Y2 =PEEK(adrs&+1)
    Cb =PEEK(adrs&+2)
    Cr =PEEK(adrs&+3)
    2.YCbCRからRGBを算出する
     rgbAddr&.red% =(1.4025*Cr+Y-179.523142) AND &FF
     rgbAddr&.green%=(-0.34434*Cb-0.7144*Cr+Y+135.5192) AND &FF
     rgbAddr&.blue% =(1.77305*(Cb+0.564*Y-128)) AND &FF
    3.GWorldに書き込む
    adrs& = gGRAM& + y*gRowBytes% + x*4 '古旗さん、使わせてもらってます..
    POKE adrs&,0
    POKE adrs&+1,rgbAddr&.red%
    POKE adrs&+2,rgbAddr&.green%
    POKE adrs&+3,rgbAddr&.blue%

    というものなのですが、部分的に色の表現がうまくいきません。それもどうやら色の境界(8bitで255,0付近)で各コンポーネントごとに値が飛んでしまったりしています。(ほかにもおかしい色のところが若干残っている)
    私が思うにこの原因は変換による桁落ちからきているのではと思い、色々試しましたがうまくいきません。このようなときにはどういった方法で対処すればよいのでしょうか。

    FutureBasicとは直接関係のない内容で恐縮ですが、どなたか知恵をお貸しください。
    よろしくお願いします。

    Subject: [fb-ml 758] Re: はじめまして
    古籏一浩です。
    急にFB-MLの書き込みが多くなりましたねf(^^)

    At 9:52 97.7.31 +0000, akiyuki wrote:
    >あつかましくも古旗さんに通信関連(AppleTalk,TCP/IP)や、画像変換(TIFF....、GIF等)の解説をやっていただけると有難いです。
     TIFFは昔自分のサークルにほぼ全てのタグコードを解説した覚えがありますので、なんとかなると思います。でもネットワークは駄目ですf(^^;;

    >あっ、画像といえば一つみなさんに質問があります。通常のOffscreenGWorldでは32bitで作ることが多いと思うんですが(私だけ?)、FutureBasicの関数で"LONG COLOR"というものがありますが、これのメリットってなんなのでしょうか?
    >32bitってことは各色8bit+8bit=32なわけで、各255色で足りると思うのですが、

     まずQuckDrawの色指定は「48ビットカラー」、つまりRGB各色16ビットなんです。で、それを直接指定するのがLONG COLORというわけです。

     次にメリットというか通常言われるフルカラー(24ビット)ではやはり役不足です。よく引き合いに出されるのが画像の色レベルの補正です。暗い画像を明るくしようとすると8ビットしかないため画像の色合いがうまく補間されません。

     またゲームですでにあるフルカラー画像に透明度1%などの薄い画像を合成し重ねて描画する場合、はっきりとビット数が不足している事がわかります。

     SGIのマシンやBeOSなどもRGB各色16ビット指定になっています。Winは知りませんが・・・

    Subject: [fb-ml 759] Re: 講座へリクエストします
    At 9:08 PM 97.8.1, KaZuhiro FuRuhata wrote: > > FB2のマニュアルを読んでいると,System 7 の確認方法などは載っていますが,System 7.5以上の確認はどうするのでしょうか。
    > >このあたりのチェック方法も講座で取り上げてもらえるとうれしいです。
    >  これは簡単で1命令でできます。
    >  例えばSystem 7.5.3だったら
    >
    > PRINT SYSTEM(_sysVers)
    >
    >  とすると753が返ってきます。7.6だったら760です。
    >  ですからSystem7.5以降という場合は
    >
    > v = SYSTEM(_sysVers)
    > if v >= 750 THEN PRINT "System7.5以降ですね"
    >
    >  といった具合に判定できます。
    >  参考にしてくださいませ。

     ぐああ、そうか、SYSTEM() 関数があったかー。なんかバージョンを得る方法があったよな、とか思いながら、「ま、いいか」と安易にゲシュタルトに頼ってしまった(^^;)

     当然 FB のステートメントの方が TOOLBOX より使いやすいので、こっちを使ってください(^^;)

     よく見たら、SYSTEM()って GESTALT の基礎的な部分はほとんどサポートしてるなあ。便利だ。覚えておこう(^^)

    Subject: [fb-ml 760] Bit length of color data (Re: はじめまして)
    こんにちは,中野@京都です。

    # Subject 変えました

    古籏さん (openspc@po.cnet.or.jp)
    >> 急にFB-MLの書き込みが多くなりましたねf(^^)
    メーリングリストで「書き込み」と言うと変ですねぇ。「投稿」がふさわしいでしょう。

    >> SGIのマシンやBeOSなどもRGB各色16ビット指定になっています。Winは知りませんが・・・
    “Win”が何を指すのかよく分かりませんが,MS-Windows のことだと仮定すれば,RGB は 8ビットずつです。

    # window という単語を win と略するのは嫌なのです。FB のユーザーだったら wnd と略したいところですね。まして,MS-Windows を略して Win というのはもっと嫌ですねぇ。

    Subject: [fb-ml 761] Re:はじめまして
    yukiです。
    KaZuhiro FuRuhataさん wrote:
    >  TIFFは昔自分のサークルにほぼ全てのタグコードを解説した覚えがありますので、なんとかなると思います。でもネットワークは駄目ですf(^^;;
    期待してお待ちしています。

    >  次にメリットというか通常言われるフルカラー(24ビット)ではやはり役不足です。よく引き合いに出されるのが画像の色レベルの補正です。暗い画像を明るくしようとすると8ビットしかないため画像の色合いがうまく補間されません。
    う〜ん、なるほど。でも結局32bitに書き込む事になるのでしょうか?
    かなり複雑な使い方になるようですね。有難うございました。

    Subject: [fb-ml 762] Re:はじめまして
    古籏一浩です。

    At 1:54 97.8.2 +0000, 原 幸久 wrote:
    >>  TIFFは昔自分のサークルにほぼ全てのタグコードを解説した覚えがありますので、なんとかなると思います。でもネットワークは駄目ですf(^^;;
    >
    >期待してお待ちしています。

     確かTOOLSではTIFFのロード、セーブを実現しているみたいなんですが。
     これは実際に使っている人でないとわからないですね。う〜ん。
     ところでTIFFの、どのあたりをやれば良いのでしょう?
     ロード?セーブ?それとも全タグの解説?(笑)

    >>  補正です。暗い画像を明るくしようとすると8ビットしかないため画像の色合いがうまく補間されません。
    >
    >う〜ん、なるほど。でも結局32bitに書き込む事になるのでしょうか?
    >かなり複雑な使い方になるようですね。有難うございました。

     確か何かの方法で64bitのGWORLDも取れるような事がNiftyだったかのフォーラムで読んだ覚えがあります。
     内部ではRGB16ビットで演算し下位ビットを切り捨てて32ビットGWORLDに書き込むといった方法が無難ではないでしょうか。

     画像処理を行わない限り十分じゃないかなあ、と思います(^^)

    Subject: [fb-ml 763] Re: Bit length of color data (Re: はじめまして)
    古籏一浩です(^^)

    At 1:33 97.8.2 +0900, NAKANO Takayuki wrote:
    >>> 急にFB-MLの書き込みが多くなりましたねf(^^)
    >
    > メーリングリストで「書き込み」と言うと変ですねぇ。「投稿」がふさわしいでしょう。

     ごもっともですf(^^;
     サーバーの都合上、塩尻インターネットでは掲示板システムがまだ実現できないので、掲示板は某Future BASICフォーラムにおまかせですね。
     そろそろFuture BASICで検索を書けてリンクページでも作らないといけないですね。検索すると、どのくらい出てくるんだろう。

    >>> SGIのマシンやBeOSなどもRGB各色16ビット指定になっています。Winは知りませんが・・・
    >
    > “Win”が何を指すのかよく分かりませんが,MS-Windows のことだと仮定すれば,RGB は 8ビットずつです。

     なるほど。

    ># window という単語を win と略するのは嫌なのです。FB のユーザーだったら wnd と略したいところですね。まして,MS-Windows を略して Win というのはもっと嫌ですねぇ。
     あら、そうなんですか。
     サウンドカードで、どこかが「Win少年合唱団」(笑)という名前の商品を作らないかなあと思っていたりしますが、ありえないですね。
     出たら面白いのに〜
     ちょっと、しゃれっけがないかな、Win95/NT

    Subject: [fb-ml 764] Re: 講座へリクエストします
    古籏一浩です。

    At 1:30 97.8.2 +0900, Tsutomu YANO wrote:
    > ぐああ、そうか、SYSTEM() 関数があったかー。なんかバージョンを得る方法があったよな、とか思いながら、「ま、いいか」と安易にゲシュタルトに頼ってしまった(^^;)
     なるほど、ゲシュタルトから取るという方法もあったなあ、と私は感心してました(^^)

     マニュアルをちょこちょこ読んでいると、通常ぶちあたる疑問等はほとんど片隅(!)に書かれてます・・・
     今の笑えるマニュアルもいいけど、ちゃんとしたマニュアルが欲しいなあ〜

    Subject: [fb-ml 765] BBS for FutureBASIC (Re: Bit length of color data)
    こんにちは,中野@京都です。

    # またまたSubject 変えました

    古籏さん (openspc@po.cnet.or.jp)
    >> サーバーの都合上、塩尻インターネットでは掲示板システムがまだ実現できないので、掲示板は某Future BASICフォーラムにおまかせですね。
    わたしは WWW の掲示板は好きじゃないです。重い割りに使い勝手が悪いですから。 WWW の掲示板よりもネットニュースの方が使いやすいですよ。

    需要があれば Future BASIC のニュースグループの作成を提案しますけど,メーリングリストで事足りますからねぇ。

    # 作るとすれば japan.comp.lang.future-basic かな。
    # japan.comp.lang.basic を使えっていう意見が出そうだなあ。

    Subject: [fb-ml 766] 中級編18を追加しました
    古籏一浩です。

    また講座を追加しました(毎日追加している気もする・・・)
    今回は珍しく(笑)、予告通り簡易マルチウィンドウエディタを作成するというものです。
    前半と後半に分けて解説しようと思ったのですがHTML保存機能とかよからぬものを付けようともくろんでいるので3回にわけます。
    第1回目はウィンドウは1枚で、基本的な事は全てできます。(ドラッグドロップはできませんがf^^;)

    こういうのはPGで作った方が、やっぱ楽みたいですね。(作った事はないけど)

    Subject: [fb-ml 766] Re: BBS for FutureBASIC (Re: Bit length of color data)
    古籏一浩です。

    At 13:47 97.8.2 +0900, NAKANO Takayuki wrote:
    > わたしは WWW の掲示板は好きじゃないです。重い割りに使い勝手が悪いですから。 WWW の掲示板よりもネットニュースの方が使いやすいですよ。
     Netscapeだと画面が狭くなりすぎて、13インチではつかいずらいです。
     他のソフトで取ってこないといけないし時間かかるしf(^^;

    > 需要があれば Future BASIC のニュースグループの作成を提案しますけど,メーリングリストで事足りますからねぇ。
     メーリングリストは閉じた世界ですからね。
     basicだと、やっぱVB勢の方が元気があるんでしょうか。

    Subject: [fb-ml 767] Re: BBS for FutureBASIC (Re: Bit length of color data )
    こんにちは,中野@京都です。

    古籏さん (openspc@po.cnet.or.jp)
    >> At 13:47 97.8.2 +0900, NAKANO Takayuki wrote:
    >> > わたしは WWW の掲示板は好きじゃないです。重い割りに使い勝手が悪いですから。 WWW の掲示板よりもネットニュースの方が使いやすいですよ。
    >>  Netscapeだと画面が狭くなりすぎて、13インチではつかいずらいです。
    >>  他のソフトで取ってこないといけないし時間かかるしf(^^;

    確かに Netscape News は使いにくいです。でも NewsWatcher は使いやすいですよ。

    # 大学では mnews だったりする。

    >> > 需要があれば Future BASIC のニュースグループの作成を提案しますけど,メーリングリストで事足りますからねぇ。
    >>  メーリングリストは閉じた世界ですからね。
    >>  basicだと、やっぱVB勢の方が元気があるんでしょうか。

    fj.lang.basic には, Visual Basic を使っている人による, MS-Windows プログラミングにおける質問が多くなったので,fj.lang.visualbasicとして分離するはめになりました。

    # Visual Basic 固有の問題だったら fj.lang.basic でもいいけど,MS-Windows プログラミングにおける一般的な質問が多かったのはまいった。開発環境に関する問題なのかプラットフォームにおける問題なのかを見極められないのかなあ。

    japan.comp.lang.basic の場合は,japan.comp.lang.visual-basic とほぼ同時に作成されたのでうまく分離できています。というより,記事そのものが少ないんです…。

    Subject: [fb-ml 768] Re: Bit length of color data (Re: はじめまして)
    At 2:46 AM 97.8.2, KaZuhiro FuRuhata wrote:
    > ># window という単語を win と略するのは嫌なのです。FB のユーザーだったら wnd と略したいところですね。 > ># まして,MS-Windows を略して Win というのはもっと嫌ですねぇ。
    >  あら、そうなんですか。
    >  サウンドカードで、どこかが「Win少年合唱団」(笑)という名前の商品を作らないかなあと思っていたりしますが、ありえないですね。
    >  出たら面白いのに〜
    >  ちょっと、しゃれっけがないかな、Win95/NT

     ほら、WIN とかいうと、「おれたちは勝ってるんだぞっ」みたいでなんかヤじゃないですか(^^;) は、まさか省略形のときまで考えた MS の陰謀なのかっ(笑)

    Subject: [fb-ml 769] Re: Bit length of color data (Re: はじめまして)
    古籏一浩です。 At 22:51 97.8.2 +0900, Tsutomu YANO wrote: > ほら、WIN とかいうと、「おれたちは勝ってるんだぞっ」みたいでなんかヤじゃないですか(^^;) は、まさか省略形のときまで考えた MS の陰謀なのかっ(笑)
     Winは「勝った」でMacは「負け」ですかf(^^;
     時代を先読みした名前とはこの事ですね(ひゅるるる〜)

     最近SGIのマシンを購入しようともくろんでいます。
     68030/25MHzのワークステーションを256円で購入したのですがいや〜速い。powerPC604/132積んだ8500より体感速度速いです。
     O2のデモも見たけど、いや〜惹かれますf(^^;

    Subject: [fb-ml 770] 中級編19を追加しました。
    古籏一浩です。

    中級編19を追加しました。
    エディタの作成その2です。
    ちゃんとマルチウィンドウになりました。

    で、今回テキストファイルを読み込んでZTXT形式にしてエディットフィールドに割り当てようとして玉砕しました(泣)。 スタイル情報も何か割り当てないといけないのでしょうか。

    誰か教えて下さいm(_ _)m

    Subject: [fb-ml 770] Re: BBS for FutureBASIC (Re: Bit length of colordata )
    古籏一浩です。

    At 18:39 97.8.2 +0900, NAKANO Takayuki wrote:
    >>>  他のソフトで取ってこないといけないし時間かかるしf(^^;
    >
    > 確かに Netscape News は使いにくいです。でも NewsWatcher は使いやすいですよ。

     たまにfj.sys.macは読むのですが。
     先々週は、なんかくさかべよういちという人が馬鹿云々とかでたくさん発言してましたが、はてさて、どうなってんでしょう。

    ># 大学では mnews だったりする。
     大学は専用線接続ですよね〜
     貧乏人にはつらいですf(^^;
     でもニュースをメールにして流してくれるものありましたね。

    > fj.lang.basic には, Visual Basic を使っている人による, MS-Windows プログラミングにおける質問が多くなったので,fj.lang.visualbasicとして分離するはめになりました。
     そうなんですか。
     やっぱり多勢に無勢ですねぇ・・・

    ># Visual Basic 固有の問題だったら fj.lang.basic でもいいけど,MS-Windows プログラミングにおける一般的な質問が多かったのはまいった。開発環境に関する問題なのかプラットフォームにおける問題なのかを見極められないのかなあ。
     初心者〜中級者では難しいですね。
     VB4持っているのですが
     ・Win95自体のバグ
     ・後から追加したソフトで環境が変わってしまった
     ・VB4のバグ
     のどれなのかを特定するのは難しい。
     VBだとWinべったりにならざるを得ないので、VBの質問よりもWinの質問になってしまうのでは。

    > japan.comp.lang.basic の場合は,japan.comp.lang.visual-basic とほぼ同時に作成されたのでうまく分離できています。というより,記事そのものが少ないんです…。
     そうなんですか。
     QuickBASICとかは、ありそうですが・・・
     FBがネタになった事はあるのかなあ?

    Subject: [fb-ml 771] Re: BBS for FutureBASIC (Re: Bit length of color data )
    こんにちは,中野@京都%Virtual PC に FreeBSD をインストール中 です。

    古籏さん(openspc@po.cnet.or.jp)
    >> > 確かに Netscape News は使いにくいです。でも NewsWatcher は使いやすいですよ。
    >>  たまにfj.sys.macは読むのですが。
    >>  先々週は、なんかくさかべよういちという人が馬鹿云々とかでたくさん発言してましたが、はてさて、どうなってんでしょう。

    日下部さん (void さんともいう) は fj.* の常連さんで,相当な量の記事を投稿されています。初心者にもかなり厳しく当たる方なのですが,言ってることは一貫性があるんですよね。
    慣れないうちは,void さんの「馬鹿」がらみの記事は流して読むのがいいでしょう。(fj.* に慣れてくると,void さんの「馬鹿」記事が楽しくなるんですが…)

    # でも,fj.sys.mac.* って記事数が多いから,「たまに読む」ぐらいだと消化できないのでは。わたしは毎日読んでますけど,それでやっと消化できるぐらいですよ。

    > > japan.comp.lang.basic の場合は,japan.comp.lang.visual-basicとほぼ同時に作成されたのでうまく分離できています。というより,記事そのものが少ないんです…。
    >  そうなんですか。
    >  QuickBASICとかは、ありそうですが・・・
    >  FBがネタになった事はあるのかなあ?

    fj.lang.basic が出来たときは,わたしが積極的に FutureBASIC の話題を投稿するようにしましたけど,japan.lang.basic ではやってません。まあ FutureBASIC の話題なら japan.comp.lang.* よりも japan.comp.mac の方がふさわしいでしょうし。

    Subject: [fb-ml 772] Re: 講座へリクエストします
    古籏さん,ベンさん,どうもありがとうございました。

    ウインドウメニューは一人で考えているうちは,作るのは無理かなと感じていたのですが,こんなにすぐに作れるものだったのですね。いやはやおはずかしい次第です。

    ゲシュタルトはなんか難しいなぁと思っていたので敬遠していましたが,SYSTEMコマンドがあったのですね。SYSTEMコマンドにしろ,QDとPSの判定にしろマニュアルは読んでいたはずなのに気がつきませんでした。一読しただけではだめですね。実際に使ってないとなかなか覚えられません。(^^;

    実はちょっと相談に乗って頂きたいのですが,古籏さんのペイントソフトを参考に,いろいろ勉強をしたいと思っています。そこで簡単なツールウインドウを作りたいと思いましたが,FB2ではツールウインドウを作る方法でどのような手法が適しているのかアドバイスをもらえませんでしょうか。

    私は以前,Prograph CPXというFB2よりマイナーな言語を使っておりました。CPXではツールパレットはGUIで画像をボタンとして張り付けて,ボタンのクリック時の呼び出し先となる関数を指定すると動作しました。
    FB2ではフローティング・ウインドウ上にPICTリソースとした絵を並べて,クリック時のマウスのローカル座標でどのボタンが押されたのか判定しようかなと考えていますが,これが一般的とは思えません。ツールパレットに並べたボタンの構築方法と判定をどのようにされておられますか。よろしければ教えてください。

    双璧のお二人にまとめて返事を書くというのはちょっと失礼ですが,同じような返信は繁雑になるので,これにてご容赦下さい。

    Subject: [fb-ml 773] Re: 講座へリクエストします
    yukiです。

    仙台7200/90さん wrote:
    > 実はちょっと相談に乗って頂きたいのですが,古籏さんのペイントソフトを参考に,いろいろ勉強をしたいと思っています。そこで簡単なツールウインドウを作りたいと思いましたが,FB2ではツールウインドウを作る方法でどのような手法が適しているのかアドバイスをもらえませんでしょうか。
    素人的な考えかもしれませんが、以前作ったときの方法を参考までに。
    まずフローティングパレット用のウィンドウを作成し、このウィンドウのattributeを_keepCtrlsActiveにして常にアクティブにします。次にこのウィンドウにPICTURE FIELDにボタン用のPICT(リソースにしておくと簡単に読み込めると思います)を書き込めます。

    これだけです。あとはDIALOG fnで、_efClickを使えば簡単にいけると思います。お試し下さい。

    P.S.
    以前教えていただいたグラフィックファイルフォーマットハンドブックを購入しました。なんと白ネコヤマトの宅急便という所にお願いすると、1週間位で自宅まで届けてくれました。便利な世の中になりましたね〜。

    Subject: [fb-ml 774] バージョン番号について
    どうも、こんにちわ
    ワカモリです。

    皆さんはアプリを作成後バージョンの番号をどの様に決めていらっしゃるのでしょうか?
    リビジョン番号と何とかいうと思うのですがわずかの改良時にv1.0をv1.1とかしているようですが私にはどこに根拠があるのかよくわかりません

    いつも稚拙な質問ばかりですが教えて下さい。

    Subject: [fb-ml 775] Re: 講座へリクエストします
    古籏一浩です。

    At 23:21 97.8.3 +0000, 仙台7200/90 wrote:
    >ウインドウメニューは一人で考えているうちは,作るのは無理かなと感じていたのですが,こんなにすぐに作れるものだったのですね。いやはやおはずかしい次第です。
     私は、たまたまToolbox一覧を眺めていて気づいただけですのでf(^^;
     ちょっと試したらうまく出来たという(^^;

    >ゲシュタルトはなんか難しいなぁと思っていたので敬遠していましたが,SYSTEMコマンドがあったのですね。SYSTEMコマンドにしろ,QDとPSの判定にしろマニュアルは読んでいたはずなのに気がつきませんでした。一読しただけではだめですね。実際に使ってないとなかなか覚えられません。(^^;
     本当は、命令と内容一覧というか何が出来るかというリストがあれば便利ですよね。
     誰か作りません?(^^;

    Subject: [fb-ml 776] Re: バージョン番号について
    古籏一浩です。

    At 13:44 97.8.4 +0000, k-waka wrote:
    >リビジョン番号と何とかいうと思うのですがわずかの改良時にv1.0をv1.1とかしているようですが私にはどこに根拠があるのかよくわかりません
     これは確実な決まりはありませんが、定石として次のようになっています。

    Version ■.●.▲

     ■は1以上でここが変更になる場合は、ソフト上に大幅な変更が加えられた場合です。また、初期出荷バージョンは1にするのがパソコン界では普通です。

     ●は0〜9でソフトに大幅な変更はなく、若干の変更がある場合に変わります。これは▲とも連動する事があります。

     ▲は0〜9またはアルファベットで、多くの場合バグフィックスした事を表します。またアルファベットの場合.(ピリオド)で区切らずに●とつっつけた表記にします(Ver 1.0a)。

     例えばVer 1.2bであれば初期出荷バージョンに2回程度改良しバグフィックスしたものという見方が出来ます。ただし、かなり追加した場合はいきなり数字が上がることがあります。  Ver 2.0 -> ver 2.5になったとしても5回改良が加えられたという事にはあまりならず、大幅な改良がなされたという見方でよいでしょう。

    #大抵のソフトはバージョン3が一番安定してます。
    #占いで3は安定を示すけど、あながちでたらめじゃないですね。

    Subject: [fb-ml 777] Re: バージョン番号について
    ワカモリさん,はじめまして。

    >皆さんはアプリを作成後バージョンの番号をどの様に決めていらっしゃるのでしょうか?
    >リビジョン番号と何とかいうと思うのですがわずかの改良時にv1.0をv1.1とかしているようですが私にはどこに根拠があるのかよくわかりません

     別にJISなりISOなりできっちりとした規格があるわけではないと思います。聞いたこと無いだけですけど(^^;
    そういうわけで,自分が管理しやすいように付ければ良いのです。
    バージョン管理をしっかりしていないと,いつかは痛いめに遭いますのでバージョンなりリビジョンの意味合いをご自身で定めて下さい。
    例えば,機能の追加はバージョンアップで,バグフィックスはリビジョンアップというようにしてはどうでしょう。
    どんなに不要と思われても,開発途中の全バージョンはフロッピーなどの別媒体に保管されると助かることがあります。

     バージョンのみでリビジョンを使わない人もいますし,リビジョンを2桁使う人もいます。概略仕様書を書き直すときがバージョンアップで詳細仕様書の修正程度ならリビジョンアップが一般的ではないでしょうか。
    でも,仕事じゃないからこんな書類は作ってませんよね。(笑)

     企業が発売なりカスタマイズなりしているソフトでは事情が異なります。バージョンアップならお金を取れますが,リビジョンアップでお金を取るのは厳しいでしょう。ですから,変更内容と数字の変更が同期しない場合があります。
    また,商品イメージの問題もありますので,競合商品がバージョンアップしたらリビジョンアップで済むところをバージョンアップにしたりもします。
    ちゃんとした会社なら社内規定なり社内標準化規則なりがあるんですけどねぇ。

     バージョン番号も大事ですが,修正のつどコメントを入れるのがもっと大事と思います。バージョン番号にそれほど神経質にならなくても良いと思いますよ。

    Subject: [fb-ml 778] Re:Version NO,号について]
    ワカモリです

    > Version ■.●.▲
    >
    >  ■は1以上でここが変更になる場合は、ソフト上に大幅な変更が加えられた場合です。また、初期出荷バージョンは1にするのがパソコン界では普通です。
    >
    >  ●は0〜9でソフトに大幅な変更はなく、若干の変更がある場合に変わります。これは▲とも連動する事があります。
    >
    >  ▲は0〜9またはアルファベットで、多くの場合バグフィックスした事を表します。またアルファベットの場合.(ピリオド)で区切らずに●とつっつけた表記にします(Ver 1.0a)。
    >
    >  例えばVer 1.2bであれば初期出荷バージョンに2回程度改良しバグフィックスしたものという見方が出来ます。ただし、かなり追加した場合はいきなり数字が上がることがあります。
    >  Ver 2.0 -> ver 2.5になったとしても5回改良が加えられたという事にはあまりならず、大幅な改良がなされたという見方でよいでしょう。

    わかりやすいご説明を有り難うございます。
    私のように、あちこちをつまみ食いするように勉強しているとつまんだところが穴だらけで連続性のない知識になってしまいます。

    最近は、あまり夜遅くまでマックに向かっていることが少なくなりました。
    以前は、ケリがつくまで朝まででも熱中していたのですが....(笑)

    Subject: [fb-ml 779] ツール・パレットのクリック判定
    yukiさん,こんばんわ。

    返事を出すのが遅くなりました。

    >まずフローティングパレット用のウィンドウを作成し...中略...
    >次にこのウィンドウにPICTURE FIELDにボタン用のPICTを書き込みます。
    >あとはDIALOG fnで、_efClickを使えば簡単にいけると思います。

     ちょっとやってみたのですが,思った動作をしてくれません。
    _efClickでPICTURE FIELDを捕まえられるのでしょうか。
    ひょっとしてエディット・フィールドを構築してからPICT画像を描かなくてはいけないのでしょうか。ところで,エディット・フィールドというのは画像も取り扱えるのですか? なんかよくわからなくなってきましたので,今日はもう寝ようと思います。明日もう少しがんばってみます。

    Subject: [fb-ml 780] Re: バージョン番号について
    根来さん、はじめまして
    ワカモリです
    アドバイスを有り難うございます。

    >  別にJISなりISOなりできっちりとした規格があるわけではないと思います。聞いたこと無いだけですけど(^^;
    > そういうわけで,自分が管理しやすいように付ければ良いのです。
    > バージョン管理をしっかりしていないと,いつかは痛いめに遭いますのでバージョンなりリビジョンの意味合いをご自身で定めて下さい。

     そうですね、何でも思いつきでやってしまう私には、特に大切な事だと思います。

    >  バージョンのみでリビジョンを使わない人もいますし,リビジョンを2桁使う人もいます。概略仕様書を書き直すときがバージョンアップで詳細仕様書の修正程度ならリビジョンアップが一般的ではないでしょうか。
    > でも,仕事じゃないからこんな書類は作ってませんよね。(笑)

     噂には聞いたことがあるのですが 仕様書類を一度見てみたいものです。

    >  バージョン番号も大事ですが,修正のつどコメントを入れるのがもっと大事と思います。バージョン番号にそれほど神経質にならなくても良いと思いますよ。
     これも、私には、痛感させられるお話です(笑)
     ひとつのルーチンを色々な形でテストをしてみて上手く行ったときには、何がなんだか、まあいいか こんな具合です。

    またまた少しづつ学習をして行きます。

    Subject: [fb-ml 781] Re: バージョン番号について
    古籏一浩です。

    At 9:11 97.8.5 +0000, k-waka wrote:
    >> 詳細仕様書の修正程度ならリビジョンアップが一般的ではないでしょうか。
    >> でも,仕事じゃないからこんな書類は作ってませんよね。(笑)
    >
    > 噂には聞いたことがあるのですが 仕様書類を一度見てみたいものです。

     見ても厚いだけです(笑)
     こんな書き方でよく作れるなあ、というものしか見たことがありませんf(^^;

    Subject: [fb-ml 782] Re: バージョン番号について
    >> 噂には聞いたことがあるのですが 仕様書類を一度見てみたいものです。
    > 見ても厚いだけです(笑)
    > こんな書き方出よく作れるなあ、というものしか見たことがありませんf(^^;

     はっはっは。まったくその通りです。偉いさんから降りてくる仕様書は,何を作ってほしいのか意味不明ですし,私達平社員はプログラムが完成してから仕様書を作るという本末転倒なことをしています。個人的にはプログラムに詳細なコメントが入っているほうがメンテナンスしやすいのですが,仕様書も納品物件ですから作らざるを得ません(T_T
    それにしてもWINDOWSでのシステム開発は精神衛生上最悪です。
    オラクルも腹が立つことばっかりです。Infomixのほうが使いやすいのですが,偉いさんは数が売れているものが良いものだと思っています。日経コンピューターの記事を鵜呑みにしないでくれといいたいなぁ。愚痴になってしまいましたね。すいません。

    Subject: [fb-ml 783] FOR-NEXT文の入れ子
     どうもお久しぶりです。弘樹です。7月中は、今まで使っていたマシンが壊れて途方にくれていました。10日間くらい日本NCRに修理に出してたんですけど、「原因が分からない」って事で返されまして、もし修理するならロジックボードの交換で20万弱掛かるとも言われて、愕然としていました(T_T)
     そんな訳で、新しいマシンを買いました。またMacです。7300/180です。
    これでMacを買うのも5台目(^_^;)ですが、何一つとして壊れなかったものはありませんでした。
     Mac以外のコンピューターでも、松下のMSXとか、エプソンの98互換機とか、それぞれ最低2回は修理に出したものです。しかし一方で、ものすごく昔のマシンを使っている人を見ると、これも当たり外れがあるのかなって思います(僕のは外ればっかりですが)。

     7300/180を買ってから、FBにも復帰しました。何か作らないと腕が向上しないと思い、何か簡単に出来て便利なものを、と考えた結果、Macにはカレンダーが無い事に気づきました。システムには標準でカレンダーは無いし、アプリケーションを見ても、ToDoリストと一緒になっていたりで、純粋なカレンダーというものは案外少ないんじゃないでしょうか。過去に一度、カレンダー専用のアプリケーションを見つけましたが、PowerPCネイティブと謳ってある割には起動が遅く、あまり気に入るものではありませんでした。

     そこで、FBでカレンダーを作ろうと思っています。具体的にはどうやって作ろうかなー、と考えている最中で、FBのプログラミングマニュアルを見ながら何か使えそうなソースを探しているところです。DATE$関数ではちょっと日付に関する情報が貧弱なので、ToolboxのIUDATESTRINGを使おうと思っています。(これもプログラミングマニュアルに書いてあったから使おうと思っただけです)IUDATESTRINGで日付を返し、それをLEFT$やRIGHT$を使って必要な所だけ取り出し、規則に沿ってPRINTすればいいのでしょうか?取り出した数字なり文字列なりを規則正しく並べる方法としては、プログラミングマニュアルの練習問題13.2が参考になると思っているのですが、このソースでどうして解答のようにテキストを上手く並べられるのか、仕組みが分かりません。

    LOCAL FN displayASCIICharacters
    PRINT %(5,12) "ASCII codes 32-122 (Monaco)";

    FOR x = 32 TO 96 STEP 32
    FOR y = 0 TO 31
    LONG IF x + y <= 122
    PRINT %((x-32)*1.8, y*9+25);
    PRINT USING "###"; y+x;
    PRINT " = " CHR$(x+y);
    END IF
    NEXT
    NEXT
    END FN

     変数x(水平の座標)とy(垂直の座標)の数値を使い、それをPRINT %(x,y)でカーソルの位置にしている事は分かりますが、変数がどの時点でどのくらいの値を持っているかが分かりませんでした。たとえば1回目のループの時はxが32、yが0で、座標は((32-32)*1.8, 0*9+25)になります(多分(^_^;))。しかしFOR x = 32 TO 96 STEP 32なら、xの値が32、64、96と、3回しかループしないのではないでしょうか。それとも3回しかループはしないが、その間にFOR y = 0 TO 31以下の文章が32回ループしているのでしょうか。分かる方は、この文がどういう構造になっているのか教えて下さい。

    Subject: [fb-ml 784] ボリュームナンバーについて
    yukiです。

    また質問があるのですが、Image Compression ManagerをPascal ConverterでコンバートしてINCLとし、

    fname$ =FILES$(_fOpen,"PICT",,refNum%)
    FN MakeThumbnailFromPictureFile(refNum%,colorDepth%,thumbnail&,_nil)

    の関数を実行したところ、osErr =-51(RFNUMERR)が発生してしまいました。InsideMacで確認したところ、どうやらrefNum%はFile Reference Numberであると記されていました。そこで御質問なのですが、FILES$で得られるrefNum%はFolderのリファレンス番号であって、Fileのリファレンス番号ではないのですよね?

    とすると、Fileのリファレンス番号を取得するにはどのようにすればよいのでしょうか。
    お教えください。

    Subject: Re: [fb-ml 784] ボリュームナンバーについて
    古籏一浩です。

    At 2:12 97.8.7 +0000, 原 幸久 wrote:
    >fname$ =FILES$(_fOpen,"PICT",,refNum%)
    >FN MakeThumbnailFromPictureFile(refNum%,colorDepth%,thumbnail&,_nil)
    >
    >の関数を実行したところ、osErr =-51(RFNUMERR)が発生してしまいました。InsideMacで確認したところ、どうやらrefNum%はFile Reference Numberであると記されていました。そこで御質問なのですが、FILES$で得られるrefNum%はFolderのリファレンス番号であって、Fileのリファレンス番号ではないのですよね?
    >
    >とすると、Fileのリファレンス番号を取得するにはどのようにすればよいのでしょうか。

     FB II-J付属のCD-ROMにファイル関係の情報を得る

    GET FILE INFO.BAS

     というのがありますので、こちらを参照してみてはどうでしょう。
     あと私の上級編1でもファイル参照番号を求めるのがあります。
     今試したら0が返ってきますね。
     ファイル/ディレクトリ固有の番号じゃないですよね?

     私はファイル関係には弱いので誰かにパス!f(^^;

    Subject: [fb-ml 785] Re: バージョン番号について
    古籏一浩です。

    At 14:15 97.8.6 +0000, 仙台7200/90 wrote:
    > はっはっは。まったくその通りです。偉いさんから降りてくる仕様書は,何を作ってほしいのか意味不明ですし,私達平社員はプログラムが完成してから仕様書を作るという本末転倒なことをしています。
     でも、後から仕様書をこじつけた方が早いという(^^;
     私は必要なものだけリスト書いてます。
     FBだったら作らないといけない関数くらい。
     (C言語)1万行までは何も書かなくても平気ですね(ゲームのシステムだけど。慣れているせいかもしれないけど)

    >それにしてもWINDOWSでのシステム開発は精神衛生上最悪です。
     どのくらい精神衛生上悪いのでしょう?
     Winはプログラムを作成した事がないので、どうなのかわかりません。
     将来の参考(?)になるかもしれないので、よかったら書いて欲しいです(^^;
     私はSGI-O2の方に移行しようともくろんでいます。
     あとBeOSです。

    Subject: [fb-ml 786] Re: FOR-NEXT文の入れ子
    古籏一浩です。

    At 20:15 97.8.6 +0900, Hiroki Kaneko wrote:
    > Mac以外のコンピューターでも、松下のMSXとか、エプソンの98互換機とか、それぞれ最低2回は修理に出したものです。しかし一方で、ものすごく昔のマシンを使っている人を見ると、これも当たり外れがあるのかなって思います(僕のは外ればっかりですが)。
     当たりはずれはあると思います。
     私はマシンだけは、当たりばかりです(Atariマシンじゃないです^^;)
     ディスプレイが火を噴きそうになった(笑)のとCD-Rドライブが完全に書き込めない不良品だった事くらいです。

    >しかしFOR x = 32 TO 96 STEP 32なら、xの値が32、64、96と、3回しかループしないのではないでしょうか。それとも3回しかループはしないが、その間にFOR y = 0 TO 31以下の文章が32回ループしているのでしょうか。分かる方は、この文がどういう構造になっているのか教えて下さい。
     FOR y = 0 TO 31以下の文章が32回ループします。
     32回繰り返したらFOR x = 32 TO 96 STEP 32の条件不一致まで同じ事を繰り返します。

    Subject: [fb-ml 787] はじめまして
    小坂です
    はじめまして
    質問ですがプログラムからほかのプログラムをよびだすにはどうすればいいですか、教えてください。

    Subject: [fb-ml 788] Re: はじめまして
    古籏一浩です。

    At 12:15 97.8.7 +0000, Itaru Kosaka wrote:
    >小坂です
    >はじめまして

     いらっしゃいませ、小坂さん(^-^)

    >質問ですがプログラムからほかのプログラムをよびだすにはどうすればいいですか、教えてください。
     簡単な方法は

    RUN "アプリケーション名"

     です。もし、他のフォルダ等に入っているのであれば場所(パス)を指定する必要があります。

     RUN命令で手抜きラウンチャーもできます(^^;

    Subject: [fb-ml 789] メニューに...
    こんにちは
    ワカモリです

    設定項目などのメニューにチェックマークをつけるソフトを見かけますがあれはどの様に操作しているのでしょうか?

    なんだかよくわかりません
    どなたかご存じでしょうか?

    Subject: [fb-ml 790] Re: メニューに...
    応えられる回答の時しか出てこない(笑)、古籏一浩です。

    At 0:35 97.8.12 +0000, k-waka wrote:
    >設定項目などのメニューにチェックマークをつけるソフトを見かけますがあれはどの様に操作しているのでしょうか?
     これは

    DEF CHECKONEITEM(メニュー番号,項目番号)

     という命令で操作します。
     私の講座にも一応解説があります。

    Subject: [fb-ml 791] みなさん夏休みかな?
    最近まったくメールが届かなかったので,ひょっとしたらメーリング・リストで私だけ配信されていないのかと不安でした(笑)
    でも,ちゃんと届いたので一安心。
    みなさん夏休みなのかなぁ...

    古籏さん,SimpleTextからBadPaintへのペーストができないという件ですが,私の環境ではうまくいきます。Painterからでもクオークからでも大丈夫です。PageMaker6からはフリーズしましたが,PageMakerの具合が悪いのでPageMaker側の問題と思います。
    私の環境はPM7200/90 KT7.5.3r2 拡張機能最低限(ほんまか?)
    SimpleText Ver J1-1.3.3 といったところです。

    最近ちっと悩んでいますが,FB2でプログラムを作成中にPGというメニューがありますよね。このメニューの中にはおいしそうなルーチンが見えるのですが純FB2のソースでは使ってはいけないのでしょうか。なんか目の前に餌を置かれた猫みたいです。

    昨日やっとこさサンプルソースの整理が終わりました。IBのCDも買ってしまったので,サンプルはたくさんあるけど何が何かわからんという状態でした。ひとつひとつ調べて日本語のコメントを付けたフォルダに格納し整理しました。これでサンプル例が利用可能になったというわけです。こうやって丁寧にサンプルを整理してみると,このメーリングリストで質問する内容がすべて解決されたような気分です。これで初歩的な質問が減ると良いのですが(^^;

    Subject: [fb-ml 792] Re: みなさん夏休みかな?
    古籏一浩です。

    At 14:47 97.8.12 +0000, 仙台7200/90 wrote:
    >最近まったくメールが届かなかったので,ひょっとしたらメーリング・リストで私だけ配信されていないのかと不安でした(笑)
    >でも,ちゃんと届いたので一安心。
    >みなさん夏休みなのかなぁ...

     他のメーリングリストにも入っていますが7月末から、がくっとメール数が減りました。1/10以下になった所もあります。
     まあ、夏休みというのと、暑くて頭が働かない(笑)というのもあるかもしれませんね。

    >古籏さん,SimpleTextからBadPaintへのペーストができないという件ですが,私の環境ではうまくいきます。Painterからでもクオークからでも大丈夫です。
    >PageMaker6からはフリーズしましたが,PageMakerの具合が悪いのでPageMaker側の問題と思います。
    >私の環境はPM7200/90 KT7.5.3r2 拡張機能最低限(ほんまか?)
    >SimpleText Ver J1-1.3.3 といったところです。

     う〜ん、となると私の環境の問題かな。
     またBe OSChooserが悪さをしているのか!?
     BeOS入れてますが、いや〜激速ですよ〜ん。
     BeOSに乗り換えようと考えてます。

    >こうやって丁寧にサンプルを整理してみると,このメーリングリストで質問する内容がすべて解決されたような気分です。これで初歩的な質問が減ると良いのですが(^^;
     初歩的な質問や、今まで出てきた質問はFAQとしてまとめておけばよいのですが、ちょっと忙しくて駄目です。
     次なるサンプルプログラムも用意しないと・・・

     そのうち、朗報がこのMLに流れるでしょう(^^)

    Subject: [fb-ml 793] Re: メニューに...
    '--- PostScript Print Test ---
    _PSBegin = 190
    _PSEnd = 191
    _PSHandle = 192
    '
    WINDOW #1
    '
    PostScript$ = "80 23 { 180 mul cos exch 180 mul cos add 2 div } setscreen"
    PSSize = LEN(PostScript$)
    '
    PICTURE ON
    '
    '--- PostScript Set ---
    CALL PICCOMMENT(_PSBegin, 0, _NIL)
    ' "第三引数にPostScript文字列のハンドルを渡す必要がある"
    CALL PICCOMMENT(_PSHandle,PSSize,[PostScript$])
    REM ^^^^^^^^^^^^"ここでタイプミスと言われる"
    CALL PICCOMMENT(_PSEnd, 0, _NIL)
    '
    '--- Draw Start ---
    PEN ,,,,3
    BOX FILL 50,20 TO 200, 70
    PEN ,,,,0
    PICTURE OFF, tempPictH&
    '
    '--- Print Start ---
    ROUTE _toPrinter
    PICTURE (0, 0), tempPictH&
    ROUTE _toScreen
    CLOSE LPRINT
    '
    END

    Subject: [fb-ml 794] 文字変数のハンドルって?
    古籏さん,毎日暑いですね。
    さっき不完全なメールを出してしまいました。
    みなさん,すいません。

    今日は休みなので長らく調べているPicCpmmentの件をやっていました。すると,PicCommentの第三引数にPostScriptの文字列へのハンドルを渡すということですが,文字列のハンドルってどうやって取得するのでしょうか。下のようなサンプルで試しています。
    FB2では文字変数のポインタなら得られる命令があるのですが,ハンドルとなるとGetNewHandleで確保しなくてはならないのかなぁ。
    しかし,確保したメモリ領域に文字列を放り込む方法も知らないので困ってしまいました。何か良い案はないでしょうか。

    '--- PostScript Print Test ---
    _PSBegin = 190
    _PSEnd = 191
    _PSHandle = 192
    '
    WINDOW #1
    '
    PostScript$ = "80 23 { 180 mul cos exch 180 mul cos add 2 div } setscreen"
    PSSize = LEN(PostScript$)
    '
    PICTURE ON
    '
    '--- PostScript Set ---
    CALL PICCOMMENT(_PSBegin, 0, _NIL)
    ' "第三引数にPostScript文字列のハンドルを渡す必要がある"
    CALL PICCOMMENT(_PSHandle,PSSize,[PostScript$])
    REM ^^^^^^^^^^^^"当然ここでタイプミスと言われる"
    CALL PICCOMMENT(_PSEnd, 0, _NIL)
    '
    '--- Draw Start ---
    PEN ,,,,3
    BOX FILL 50,20 TO 200, 70
    PEN ,,,,0
    PICTURE OFF, tempPictH&
    '
    '--- Print Start ---
    ROUTE _toPrinter
    PICTURE (0, 0), tempPictH&
    ROUTE _toScreen
    CLOSE LPRINT
    '
    END

    BeOSってそんなに早いのですか。
    でもC++は解らないのでFB2が出るまでおあづけです。

    Subject: [fb-ml 795] Re: 文字変数のハンドルって?
     なんか久しい ベン/矢野勉 です。

    At 3:04 AM 97.8.13, 仙台7200/90 wrote:
    > ' "第三引数にPostScript文字列のハンドルを渡す必要がある"
    > CALL PICCOMMENT(_PSHandle,PSSize,[PostScript$])

     まあ、これではおかしいのは間違いない(^^;)
     え、[] というのは、PEEK LONG() の省略形ですので、上記を次のように書き換えると何がおかしいのか多少はわかるでしょう。

    PEEK LONG(PostScript$)

     PEEK LONG は指定アドレスから4バイト (ポインタやハンドルといった、アドレスを収める変数のサイズ) 取ってくる命令ですが、PostScript$ はアドレスじゃないですね(^^;)

     かといって

    PEEK LONG(@PostScript$)

     としても無駄です。PostScript$という変数の先頭アドレスから4バイトとってきても、文字列の最初の1バイトにある「文字数」と、あと3文字を取ってくるだけですから。

     で、文字列のハンドルを作るには、自前で作成してコピーするのが一つの (最も分かりやすい) 方法です。これには BLOCKMOVE を使います。

     「メモリブロックのコピーには BLOCKMOVE」

     と格言のように覚えておきましょう(笑)

     BLOCKMOVE は引数にポインタ (メモリブロックへのアドレス) をとりますが、ハンドルの中にはポインタが入っていることを思い出して、

    DIM thePtr&, newHdl&, length

    length = LEN(PostScript$)
    newHdl& = FN NEWHANDLE _clear (length)
    thePtr& = [newHdl&]
    BLOCKMOVE @PostScript$, thePtr&, lenght+1

     これで文字列のハンドルのでき上がりです。
     と基礎を勉強したところで(笑)、回答を。

    osErr% = FN PTRTOHAND (ptr&, hndl&, size&)

     という ToolBox があります。ポインタからサイズ分だけ取ったものを同じ内容のハンドルを作成し、hndl& に返します。第一引数にコピー元の先頭アドレスを、第二引数に結果を収める4バイト変数を、第三引数にコピーする長さをいれます。ハンドルはこの関数で自動的に作成されます。

    DIM length, err, strH&
    length = LEN(PostScript$)
    err = FN PTRTOHAND(@PostScript$, strH&, length+1)

     これでいけるはずです。PtrToHand が内部でやっていることはおそらく上記と同じでしょう。

    Subject: [fb-ml 796] Re: 文字変数のハンドルって?
    ベンさん,お久しぶりです。

    詳しい説明をありがとうございます。
    とてもよくわかりました。
    文字変数の頭に@を付ければBlockMoveできたのですね。
    これはすごく役立つテクニックですからとても幸せです。

    今日はもう寝たいと思いますので,明日実験をしてみます。
    結果はまた報告します。

    Subject: [fb-ml 796] Re: メニューに...
    メニューにチェックマークの件ですが,私も今作っている最中です。
    古籏さんが,DEF CHECKONEITEM(メニュー番号,項目番号)を回答されておられるので,私は別の機能を紹介します。

    DEF CHECKONEITEMでは該当するメニュー番号のすべての項目のうち一つだけにチェックが付きますよね。Fontメニューなどがこれに当たります。

    しかし,スタイルメニューなどでは複数の項目にチェックが入ったりしますが,これらはToolBoxのitemBoolを使います。

    doMenu関数内の一部分ですがサンプルとしてお役にたてば幸いです。
    英語のスペル間違いがあっても笑って許して(^^;

    CASE _styleMenu
    mHandle& = FN GETMENU(_styleMenu)
    SELECT itemID
    CASE _nomal: '"標準だから全チェック解除"
    gBoldCheck = FN itemBool(mHandle&,_bold,_true) '"_trueでチェック消える"
    gltalicCheck = FN itemBool(mHandle&,_italic,_true)
    gShadowCheck = FN itemBool(mHandle&,_shadow,_true)

    CASE _bold: '"太字 itemBoolで自動切り替え"
    gBoldCheck = FN itemBool(mHandle&,_bold,gBoldCheck)

    CASE _italic: '"斜体"
    gltalicCheck = FN itemBool(mHandle&,_italic,gitalicCheck)

    CASE _shadow: '"影付"
    gShadowCheck = FN itemBool(mHandle&,_shadow,gShadowCheck)

    お気づきのようにg...のグローバル変数は現在のメニュー項目のチェックマークの状態を保管しています。ですからプログラムの初めに_falseで初期化しておくと初めて開いたメニューではチェックマークは表示されません。初めから表示さしたい場合は,初期化直後に該当項目のitemBoolを呼び出すだけです。

    Subject: [fb-ml 797] 中級編18(その1)で質問
    '--------------------------------------------------------
    ' "テキストを開く"
    '--------------------------------------------------------
    CLEAR LOCAL
    LOCAL FN openText
    filename$ = FILES$(_fOpen,"ZTXT",,volRefNum%)
    LONG IF filename$<>""
    OPEN "I",#1,filename$,,volRefNum%
    READ FIELD #1,efHandle&
    EDIT FIELD #1,&efHandle&
    CLOSE #1
    KILL FIELD efHandle&
    END IF
    END FN

    '--------------------------------------------------------
    ' "テキストを保存する"
    '--------------------------------------------------------
    CLEAR LOCAL
    LOCAL FN saveText
    filename$ = FILES$(_fSave,"保存ファイル名:",".txt",volRefNum%)
    LONG IF filename$<>""
    DEF OPEN "ZTXTztxt"
    OPEN "O",#1,filename$,,volRefNum%
    GET FIELD efHandle&,#1
    WRITE FIELD #1,efHandle&
    CLOSE #1
    KILL FIELD efHandle&
    END IF
    END FN

    以上の保存方法で、EditFieldがいくつも(例えば10ヶのEditField)ある場合はどうすればいいのでしょうか?
    また画面内全てを保存して、読み込むというような事が出来るのでしょうか。
    初歩的な質問でどうもすいませんが、よろしくお願いします。

    Subject: [fb-ml 798] Re: 中級編18(その1)で質問
    古籏一浩です。

    At 9:51 97.8.13 +0900, Hiroyuki-Tsurimoto wrote:
    > EDIT FIELD #1,&efHandle&

    > GET FIELD efHandle&,#1

    >以上の保存方法で、EditFieldがいくつも(例えば10ヶのEditField)ある場合はどうすればいいのでしょうか?

     上記の#1をfor i=1 to 10とかでループさせて
    EDIT FIELD i,,&efHandle&
     といった具合にすればOKです。

    >また画面内全てを保存して、読み込むというような事が出来るのでしょうか。
     できます。
     が、ちょっと自前で工夫しないと駄目じゃないかな。
     一度に保存する場合、うまい方法ありますか?
     データサイズをヘッダーにでもしておいて連結していくくらいしか思いつかないf(^^;

    Subject: [fb-ml 799] Re: 中級編18( その1)で質問
    古籏一浩さん今日は、釣本です。
    以下に教えて頂いた通りに実行してみたんですが、ここで一つおかしな事になるんです。
    それは、EditField_1には1・EditField_2には3が入れて、それを保存すると、2つのFieldの値は最後のFieldの3になってしまうんです。どうしてでしょうか...?

    '--------------------------------------------------------
    ' "テキストを開く"
    '--------------------------------------------------------
    CLEAR LOCAL
    LOCAL FN openText
    filename$ = FILES$(_fOpen,"ZTXT",,volRefNum%)
    LONG IF filename$<>""
    OPEN "I",#1,filename$,,volRefNum%
    READ FIELD #1,efHandle&
    FOR i = 1 TO 2
    EDIT FIELD #i,&efHandle&
    NEXT
    CLOSE #1
    KILL FIELD efHandle&
    END IF
    END FN

    '--------------------------------------------------------
    ' "テキストを保存する"
    '--------------------------------------------------------
    CLEAR LOCAL
    LOCAL FN saveText
    filename$ = FILES$(_fSave,"保存ファイル名:",".txt",volRefNum%)
    LONG IF filename$<>""
    DEF OPEN "ZTXTztxt"
    OPEN "O",#1,filename$,,volRefNum%
    FOR i = 1 TO 2
    GET FIELD efHandle&,#i
    NEXT
    WRITE FIELD #1,efHandle&
    CLOSE #1
    KILL FIELD efHandle&
    END IF
    END FN

    Subject: [fb-ml 800] Re: 文字変数のハンドルって?
     ベン/矢野勉 です。
     あー、なんか例がちょっとまちがってましたね。

    >  BLOCKMOVE は引数にポインタ (メモリブロックへのアドレス) をとりますが、ハンドルの中にはポインタが入っていることを思い出して、
    >
    > DIM thePtr&, newHdl&, length
    >
    > length = LEN(PostScript$)
    > newHdl& = FN NEWHANDLE _clear (length)
    ^^^^^^^
    > thePtr& = [newHdl&]
    > BLOCKMOVE @PostScript$, thePtr&, lenght+1

     ハンドルのサイズが間違ってました。length+1 にしないと駄目ですね。BLOCKMOVEのところではちゃんと+1してあるのに...

    newHdl& = FN NEWHANDLE _clear (length+1)

     これが正解です。

    Subject: [fb-ml 801] PG Page updated!!!
     ベン/矢野勉 です。

     え、実は今日、僕の FB ページをめでたく更新しました(^^)
     なんと一挙に3本挙げたんですが、これでもミニエディタひとつも完成してませんで、なんとアプリケーションの初期化までしかありません。これはべつにプログラムが難しいからではなく、単にマウスを中心とした PG の操作を文章だけで説明するのにちょっと量をとりました(^^;) 一応「あのマニュアルへのアンチテーゼとしての細かい解説」を旨としてますので、手間がかかるんですわ。

     一度説明した作業は基本的に2度目には説明しませんので、回を追うごとにこちらはやりやすくなるはず。なにしろ今は「Developメニュ−から Finder Resource項目を選んだら表示されるダイアログの FileType フィールドを○○に設定してください」なんですが、一度やってしまえば、「FileTypeは○○です」ですみますからね(^^)

     今回のも、ミニエディタを5回くらいにわけて一挙に公開するつもりだったんですが、どうも間があきすぎているので、現段階での公開に踏み切ってみました。待つのに疲れて客が逃げると困りますし(^^;)

     やったのは、「インターフェイスの作成」と「アプリケーションの初期化」です。
    次はいよいよ「ファイルを開こう」、つづいて「保存までの道のり」「アプリケーション化」といって、はれてMacintoshアプリケーション第1号完成となります。ファイル編集後はウインドウを閉じるときに保存を促し、印刷もOK、しかもなんと必須アップルイベントの Open Document にまで対応するという、なかなかのものに仕上がってます。お楽しみに。

     ところで WWW に詳しいひとにお訪ねしますが、ページでサンプルプログラムをダウンロードしてもらう場合、ファイルを zip なり sit なりに圧縮して、圧縮ファイルに<A></A>タグでリンクを張ればOKなんですかね? それともちゃんと ftp サーバーが必要とか、cgiかかなきゃならんとかあるんですか? 上記のミニエディタのサンプルを先に上げとこうと思ってるんですが。

    Subject: [fb-ml 802] Re: PG Page updated!!!
    こんにちは,中野@京都です。

    矢野さん(benbrand@osk2.threewebnet.or.jp)
    >>  ところで WWW に詳しいひとにお訪ねしますが、ページでサンプルプログラムをダウンロードしてもらう場合、ファイルを zip なり sit なりに圧縮して、圧縮ファイルに<A></A>タグでリンクを張ればOKなんですかね?
    この通りです。圧縮形式としては .zip よりも .sit や .cpt の方がいいと思います。

    でも,http はデータ転送が遅いプロトコルなので,ftp サーバが利用できるなら,ftp サーバにデータを置いといてそれを get するようにリンクした方がよいでしょう。たいていの Web ブラウザは ftp 機能がついてるので,
    <A HREF="ftp://larch.kuee.kyoto-u.ac.jp/pub/Mac/">Mac 用ソフト</A>のように“ftp://”で始まる URL にリンクすれば ftp できます。

    Subject: [fb-ml 803] Re:PG Page updated!!!
     ベンさん、こんにちは。PGの連載が、いつ更新されるのかと気になって、ちょくちょく見ていたのですが(^_^;)更新されて良かったです。早速読んだ所、気になった点があったので報告します。

    「PG 3:アプリケーションの初期化」で、"@Filters"の所に

    INCLUDE "TextWnd.FLTR"

     と入れるように書いてありますが、FLTRファイルの名前を前に「wTextWnd.FLTR」と改名したのですから、「INCLUDE "wTextWnd.FLTR"」としないと、プロジェクトを実行した際にエラーが出てしまいます。

     それではPGの連載、頑張って下さい。マニュアルが解りにくかったので、ベンさんの解説だけが頼りです。

    Subject: [fb-ml 804] Re: PG Page updated!!!
    古籏一浩です。 At 2:49 97.8.16 +0900, NAKANO Takayuki wrote:
    >矢野さん(benbrand@osk2.threewebnet.or.jp)
    >>>  ところで WWW に詳しいひとにお訪ねしますが、ページでサンプルプログラムをダウンロードしてもらう場合、ファイルを zip なり sit なりに圧縮して、圧縮ファイルに<A></A>タグでリンクを張ればOKなんですかね?
    >
    > この通りです。圧縮形式としては .zip よりも .sit や .cpt の方がいいと思います。

     サーバーによっては.cptは通さない事があります。
     .sit,.seaの方が無難かと思います。
     アップして画面に文字が出てくるのであれば自分でMIME Type設定をするかサーバーの管理者に頼む必要があります。

    Subject: [fb-ml 805] Re:PG Page updated!!!
    At 1:06 PM 97.8.16, Hiroki Kaneko wrote:
    > 「PG 3:アプリケーションの初期化」で、"@Filters"の所に
    >
    > INCLUDE "TextWnd.FLTR"
    >
    >  と入れるように書いてありますが、FLTRファイルの名前を前に「wTextWnd.FLTR」と改名したのですから、「INCLUDE "wTextWnd.FLTR"」としないと、プロジェクトを実行した際にエラーが出てしまいます。

     おお、たしかにその通りですね。すぐに直せるエラーなので、さっそく直しましょう。こういう風にすぐにミスを発見できるのも、FB-ML のおかげですね(^^) ご報告感謝します。

     しかし、分かっている人にとってはたいくつなページかもしれませんね。いずれはハイレベルなところまで登りつめたい(^^;)  それまでMacintoshとFBはもつのか(笑)

    Subject: [fb-ml 806] Re: 中級編18(その1)で質問
    古籏一浩です。

    At 13:51 97.8.13 +0900, Hiroyuki-Tsurimoto wrote:
    >それは、EditField_1には1・EditField_2には3が入れて、それを保存すると、2つのFieldの値は最後のFieldの3になってしまうんです。どうしてでしょうか...?

    OPEN "I",#1,filename$,,volRefNum%
    READ FIELD #1,efHandle&
    FOR i = 1 TO 2
    EDIT FIELD #i,&efHandle&
    NEXT

     は

    OPEN "I",#1,filename$,,volRefNum%
    FOR i = 1 TO 2
    READ FIELD #i,efHandle&
    EDIT FIELD #i,&efHandle&
    NEXT

    じゃないですか?

    Subject: [fb-ml 807] Re:PG Page updated!!!
    古籏一浩です。

    At 21:51 97.8.16 +0900, Tsutomu YANO wrote:
    > しかし、分かっている人にとってはたいくつなページかもしれませんね。いずれはハイレベルなところまで登りつめたい(^^;)  それまでMacintoshとFBはもつのか(笑)
     見てきました。
     エディタはやっぱPGで作る方が楽そうですねぇ・・・
     対抗するためにHTML書き出しをサポートしよう(^^)
     TEXTが読み込めない(空になる)のは、なんでだろうf(-.-?

    Subject: [fb-ml 808] ZTXTの件
     ベン/矢野勉 です。

    At 1:31 PM 97.8.3, KaZuhiro FuRuhata wrote:
    > で、今回テキストファイルを読み込んでZTXT形式にしてエディットフィールドに割り当てようとして玉砕しました(泣)。
    > スタイル情報も何か割り当てないといけないのでしょうか。
    >
    > 誰か教えて下さいm(_ _)m

    SimpleText のフォーマットってたしか、データフォークにテキスト、リソースフォークにstylリソースで記録してるんですよね? 

     なら、まずテキスト読み込んで、つぎに styl を読み込んで、「両方のサイズをたした分 + 2」のハンドルを用意し、ハンドルの頭にテキストのサイズをいれてしまえばOKのはずですよ? ZTXTの最初の numChars% の値がハンドルサイズより小さい場合は、numChars% 以降をスタイル情報と勝手に認識してくれるはずなんですけど。
    たぶん同様の方法を使っていると思うんですが、それでもだめなんですか?

     numChars% の値とテキストのサイズとが一致してないとかじゃないでしょうか?
    つまり、numChars%がテキストのサイズより大きい (つまりスタイル情報あり) のに、ハンドルのサイズはテキストのサイズ分しかない (つまりハンドルのサイズが numChars% の値より小さい) とか。

     コードをみれば多少はわかるんですが... まあ、こっちも同じことやる予定なんで、暇をみて実験してみますね。

    Subject: [fb-ml 809] Re: ZTXTの件
    古籏一浩です。
    DEVELOPER'S JOURNALにFBII連載が復活しましたね。

    At 17:09 97.8.18 +0900, Tsutomu YANO wrote:
    > なら、まずテキスト読み込んで、つぎに styl を読み込んで、「両方のサイズをたした分 + 2」のハンドルを用意し、ハンドルの頭にテキストのサイズをいれてしまえばOKのはずですよ? ZTXTの最初の numChars% の値がハンドルサイズより小さい場合は、numChars% 以降をスタイル情報と勝手に認識してくれるはずなんですけど。
    >たぶん同様の方法を使っていると思うんですが、それでもだめなんですか?

     プレーンテキストを読み込むのでスタイル情報を無視させたかったんですよ。
     前はうまく動かなかったのに今日作ったら一発で動いてしまいましたf(-.-b
     一体何だったんでしょう・・・FBの機嫌が悪かったか!?

     という事で、ほとんど自爆状態の中級編20を追加しました。
     HTML書き出しをサポートしているで、ちょっと便利かも。
     印刷まで作る元気はありませんでした(笑)

     という事で、後は矢野さんのPGに期待してください(^^;

     次回はプレイステーションの画像を読み込むプログラムのつもりです。
     こっちがやりたかったので、さっさと終わらせたというオチもありますがf(^^;;;;

    Subject: [fb-ml 810] DecompressImageについて
    yukiです。
    最近MLがまた静かになりましたね〜。この静けさを破るようで恐縮なのですが、お知恵をお貸しください。

    いまQuickTimeのImage Compression Managerを使ってJPEGを読み込ませようと試行錯誤しているのですが、まったくうまくいきません。

    試している方法は、
    1.InsideMac SDKのInterfaceをダウンロードしてきて、PascalConverterでINCLとGLBLを作り、
    2.それに含まれる
    <<<<<C:InsideMac記述>>>>>
    DecompressionImage(ptr data,ImageDescriptionHandle desc,pixMapHandle dst,rect *srcrect,rect *dstrect,short mode,rgnHandle mask)
    <<<<<Pascal変換後>>>>>
    LOCAL FN DecompressImage(theData&,desc&,dst&,@srcRect&,@dstRect&,theMode%,mask&)
    '---------------------------------------
    ` CLR.W -(SP)
    ` MOVE.L ^theData&,-(SP) ;Ptr
    ` MOVE.L ^desc&,-(SP) ;ImageDescriptionHandle
    ` MOVE.L ^dst&,-(SP) ;PixMapHandle
    ` MOVE.L ^srcRect&,-(SP) ;Var: Rect
    ` MOVE.L ^dstRect&,-(SP) ;Var: Rect
    ` MOVE.W ^theMode%,-(SP) ;INTEGER
    ` MOVE.L ^mask&,-(SP) ;RgnHandle
    ` DC.W $7008,$AAA3
    ` MOVE.W (SP)+,D0
    ` EXT.L D0
    END FN = REGISTER(D0) 'OSErr

    Subject: [fb-ml 811] DecompressImageについて2
    yukiです。

    すみません。不完全なメールを送信してしまいましたので続きを送信いたします。
    ---->
    ` DC.W $7008,$AAA3
    ` MOVE.W (SP)+,D0
    ` EXT.L D0
    END FN = REGISTER(D0) 'OSErr

    Subject: [fb-ml 812] Re: DecompressImageについて
    須澤です

    At 7:34 PM 97.8.22 +0000, akiyuki wrote:
    >いまQuickTimeのImage Compression Managerを使ってJPEGを読み込ませようと試行錯誤しているのですが、まったくうまくいきません。
    プログラム云々は良く分かりませんが(^^;;、Quicktimeのjpeg圧縮ルーチンってPICT形式用のjpeg圧縮ルーチンのことですよね?
    JPEGファイル形式は扱えないんじゃなかったかしら・・・?
    ここは古旗さんに解説して頂きましょう(笑)

    Subject: [fb-ml 813] Re:DecompressImageについて
    yukiです。
    HISさん、レス有難うございます。

    > プログラム云々は良く分かりませんが(^^;;、Quicktimeのjpeg圧縮ルーチンってPICT形式用のjpeg圧縮ルーチンのことですよね?
    > JPEGファイル形式は扱えないんじゃなかったかしら・・・?

    えっ、そうなんですか?純粋なJPEGは扱えないのでしょうか。

    > ここは古旗さんに解説して頂きましょう(笑)
    古旗さん、お手数ですが宜しくお願いいたします。

    Subject: [fb-ml 814] pictからpixMapを取得する方法について
    yukiです。

    それともう一つみなさんに質問があるのですが、pictHandleからpixMapを直接得る方法はあるのでしょうか。というのはpict fileからpictHandleを読み込んでその中のpixMapが必要なのですが、一度gWorldを用意して、そこに画像を表示し、そこからpixMap取得しています。この方法だと2度でまになっているのでできれば避けたいのです。

    どなたかアドバイス宜しくお願いいたします。

    Subject: [fb-ml 815] Re: DecompressImageについて
    古籏一浩です。

    At 21:37 97.8.22 +0900, HIS wrote:
    >At 7:34 PM 97.8.22 +0000, akiyuki wrote:
    >>いまQuickTimeのImage Compression Managerを使ってJPEGを読み込ませようと試行錯誤しているのですが、まったくうまくいきません。
    >
    >プログラム云々は良く分かりませんが(^^;;、Quicktimeのjpeg圧縮ルーチンってPICT形式用のjpeg圧縮ルーチンのことですよね?
    >JPEGファイル形式は扱えないんじゃなかったかしら・・・?
    >ここは古旗さんに解説して頂きましょう(笑)

     ちょっと画像をQuickTime Compressで圧縮しようと試みましたがうまくいきません(^^;
     日本語のInside Mac -QuickTime-を購入しておくべきだったかも。
     エラーなしJPEGで圧縮して圧縮レベルも正しいんですが、どこかにオチがあるに違いないf(^^;

     きっと圧縮、解凍できるはずですが。

    Subject: [fb-ml 816] Re: pictからpixMapを取得する方法について
    古籏一浩です。

    At 12:04 97.8.24 +0000, 原 幸久 wrote:
    >それともう一つみなさんに質問があるのですが、pictHandleからpixMapを直接得る方法はあるのでしょうか。というのはpict fileからpictHandleを読み込んでその中のpixMapが必要なのですが、一度gWorldを用意して、そこに画像を表示し、そこからpixMap取得しています。この方法だと2度でまになっているのでできれば避けたいのです。
     PictHandleという事はPICT形式ですよね。
     となるとpixMapはありません(存在しません)。
     PICT形式はベクトルデータ、圧縮されたピクセルデータ、EPSなどが混在できるので、一度画面かオフスクリーンに描画させない事には求めることは出来ません。

    Subject: [fb-ml 817] Re: ボリュームナンバーについて
    古籏一浩です。

    At 2:12 97.8.7 +0000, 原 幸久 wrote:
    >fname$ =FILES$(_fOpen,"PICT",,refNum%)
    >FN MakeThumbnailFromPictureFile(refNum%,colorDepth%,thumbnail&,_nil)
    >の関数を実行したところ、osErr =-51(RFNUMERR)が発生してしまいました。InsideMacで確認したところ、どうやらrefNum%はFile Reference Numberであると記されていました。そこで御質問なのですが、FILES$で得られるrefNum%はFolderのリファレンス番号であって、Fileのリファレンス番号ではないのですよね?
    >
    >とすると、Fileのリファレンス番号を取得するにはどのようにすればよいのでしょうか。

     FB II-J付属のCD-ROMにファイル関係の情報を得る

    GET FILE INFO.BAS

     というのがありますので、こちらを参照してみてはどうでしょう。
     あと私の上級編1でもファイル参照番号を求めるのがあります。
     今試したら0が返ってきますね。
     ファイル/ディレクトリ固有の番号じゃないですよね?

     私はファイル関係には弱いので誰かにパス!f(^^;

    Subject: [fb-ml 818] PG MENU について
     ベン/矢野勉です。返事がおくれましたが...

    At 11:47 PM 97.8.12, 仙台7200/90 wrote:
    > 最近ちっと悩んでいますが,FB2でプログラムを作成中にPGというメニューがありますよね。このメニューの中にはおいしそうなルーチンが見えるのですが純FB2のソースでは使ってはいけないのでしょうか。
    > なんか目の前に餌を置かれた猫みたいです。

     はい。これを選択すると、FB で他ファイルの関数を使うための命令 DEF FN が挿入されるのですが、これのもとの関数自体は、PGの中心ファイルである Runtime.INCL および各種フィルタに入っていますので、そのままメニューから選択して使用可能というわけにはいきませんね。DEF FN 命令に必要な「関数へのアドレス」自体も、PG の仕組みを利用して取られてますし。

     ただ、PGのファイル群のうち、INCLファイルはおそらく INCLUDE してしまえばつかえると思いますし、FLTRファイルでも関数自体をカット&ペーストして使うことはできます。FB-ML英語版でもしばしば「PGの○○FLTRからこの関数をぱくってきて使え」てな回答があったりします(^^;)

     まあ、僕のページの第1回でもみて、PG の全ファイルを作成して、中身をのぞいてみるのも一興でしょう。一番いいのは、PGを使ってしまうことですね(^^)

    Subject: [fb-ml 819] Hello, world!
    初めまして、水戸の山本修司と申します。

     FutureBASICIIは、最近始めました。BASICについては、PC-6001、MSX、PC-9800VXなどではやりました。ただし、僕的には「ファイル」という概念がかなり希薄でした。
    正しく「ファイル」というものを理解したのは大学に入ってMacintoshClassicを手に入れてからです。
     その後、Macintosh版のQuickBASIC(?)をちょっとやるまで、3年くらいブランクがありました。そして、その後約3年のブランクを経て、MacintoshのBASIC環境に向かい合っています。

     最近Javaで業務アプリケーションを作りました。

     FutureBASICはソースコードを結構ビジュアルに表現してくれて、さらにユーザインタフェイスを簡単に構築できそうなので、RADツールとしてどんどん使っていこうと思います。

     皆さん、どうぞよろしくお願いします。

    Subject: [fb-ml 820] Re: Hello, world!
    古籏一浩です。

    At 1:19 97.8.26 +0900, Shuji Yamamoto wrote:
    >初めまして、水戸の山本修司と申します。
     いらっしゃいませ。
     一応、このFBーMLの管理人の古籏一浩です。
     よろしくお願いします。

    > 最近Javaで業務アプリケーションを作りました。
     Javaで業務用とは珍しいですね。
     データベース関係かな?

    > FutureBASICはソースコードを結構ビジュアルに表現してくれて、さらにユーザインタフェイスを簡単に構築できそうなので、RADツールとしてどんどん使っていこうと思います。
     ビジュアルはPGで作った方が楽ですね。
     ウィンドウが一枚で変換ものはFBの方が速いと思うけど。

    Subject: [fb-ml 821] Re: Hello, world!
    山本修司です。

    > > 最近Javaで業務アプリケーションを作りました。
    >  Javaで業務用とは珍しいですね。
    >  データベース関係かな?

     株式注文のインターネット側のフロントエンドです。
    最後は富士通のM780につながってます。

     ところで僕がMSXで遊んでいたころ、古籏さんはMZでゼビウスなどを移植していたのですね。
    あの当時のコンピュータって、とても分かりやすかった。
    ほんとに機械をドライブしている感じでした。

     MZ-1500って、2インチくらいのフロッピーがついていましたよね。MZでかたちが思い浮かぶのはそのくらいかもしれない。X-1turboなどは結構はっきり覚えています。

     話がそれてしまいました。

    Subject: [fb-ml 822] Re: PG MENU について
    ベンさん,返事をありがとうございます。
    INCLファイルの関数が使えるというのはうれしいことです。
    今のところはPGの関数にうといので具体的な利用法を思いつきませんが,これを機会にPGも勉強しようかと思います。

    PGのホームページを読ませて頂いています。
    これからの進展を楽しみにしています。

    Subject: [fb-ml 822] Graphics Devices Record で困っています。
    ご無沙汰しております,根来です。

    最近作っているアプリなのですが,カラーテーブルを勉強しようと思いいろいろといじっていたのですが行き詰まってしまいました。

    色深度2bitの4色表示を考えています。
    まず"pltt"リソースで4色のテーブルを作成し,IDをゼロにしてアプリのデフォルトカラーテーブルとしました。色は白,黒,グレー,青です。

    CALL PMFORECOLOR (colorID) で色指定しまして,直接ウインドウに描画すると問題なくテーブルの4色が利用できます。

    ここでオフスクリーンを作成してフリッカーレスにしようと考えました。オフスクリーンは次のコールで作成しています。

    pltHdle& = FN GETPALETTE(cport&)
    err% = FN NEWGWORLD(gOffScreen&,2,rect,pltHdle&,0,0)

    残念ながら白,黒,グレーは問題なく表示されますが,青はグレーに変換されてしまいます。

    Inside Macで調べると,オフスクリーンでカラーテーブルを使うときは,独自のデバイスレコードを作成し,内容を自分でセットしてからNewGWordでデバイスレコードのハンドルを渡すようにと書かれています。しかし,肝心のデバイスレコードの作成方法と値の設定方法がいまいちはっきりしなくて行き詰まってしまいました。ご存じの方がいらっしやいましたら,ひとつ知恵を貸しては頂けないでしょうか。何かサンプルでもあれば助かるのですが。

    Subject: [fb-ml 823] Re: Hello, world!
    古籏一浩です(^^)

    At 3:46 97.8.26 +0900, Shuji Yamamoto wrote:
    >>  データベース関係かな?
    >
    > 株式注文のインターネット側のフロントエンドです。
    >最後は富士通のM780につながってます。

     株式ですか。
     食える株はあるけど、会社の株はないですf(^^;

    > ところで僕がMSXで遊んでいたころ、古籏さんはMZでゼビウスなどを移植していたのですね。
    >あの当時のコンピュータって、とても分かりやすかった。
    >ほんとに機械をドライブしている感じでした。

     昔のヤツはシンプルですからね。
     何か教えるときには非常に楽です。
     ホームページ作成講座とかやってもエディタの使い方とかソフトの起動の仕方から教えるハメになるので本末転倒(^^;

    > MZ-1500って、2インチくらいのフロッピーがついていましたよね。MZでかたちが思い浮かぶのはそのくらいかもしれない。X-1turboなどは結構はっきり覚えています。
     1500のディスクはQD (QuickDISK)でうちに新品が50〜60枚あります。今となっては貴重品(笑)

     MacTVも貴重品かも。

    Subject: [fb-ml 824] LCシリーズでエラー
    川野@佐賀大学です.

     ちょっとみなさんに教えていただきたくてメールを出します.

    実はFBIIで作った簡単な算術プログラム(研究用)をビルドして知り合いの方にも使ってもらおうとしたのですが,MacintoshのLCシリーズではタイプ1のエラーが表示されて起動できないのだそうです.これはLC520,LC630,LC475などのLCシリーズに限られた現象で他のPowerMac7100,7300などでは問題なく起動して計算をしてくれます.FBIIではビルドするときになんらかの設定が必要なのでしょうか?それともLCシリーズでは起動しない何らかの理由があるのでしょうか?
     つまらない質問かもしれませんが皆さんのお知恵を拝借したいと存じます.

    Subject: [fb-ml 825] Re: LCシリーズでエラー
    古籏一浩です。

    At 10:00 97.8.27 +0900, Yoshinobu KAWANO wrote:
    >実はFBIIで作った簡単な算術プログラム(研究用)をビルドして知り合いの方にも使ってもらおうとしたのですが,MacintoshのLCシリーズではタイプ1のエラーが表示されて起動できないのだそうです.これはLC520,LC630,LC475などのLCシリーズに限られた現象で他のPowerMac7100,7300などでは問題なく起動して計算をしてくれます.
    >FBIIではビルドするときになんらかの設定が必要なのでしょうか?それともLCシリーズでは起動しない何らかの理由があるのでしょうか?
    > つまらない質問かもしれませんが皆さんのお知恵を拝借したいと存じます.

     数値演算となるとSANEとか使ってますか?
     あとシステムのバージョンもできれば教えて下さい。
     MacOS7.6か7.1か、7.5か。
     LCだけでなく68K-Macは、全て同じ現象になるのではないでしょうか?
     そうしたら、不当なアドレスにデータを書き込んでしまっている可能性は高いですね。

    Subject: [fb-ml 826] Re: LCシリーズでエラー
    川野@佐賀大学です.

    At 8:12 PM 97.8.27, KaZuhiro FuRuhata wrote:
    >  数値演算となるとSANEとか使ってますか?
    >  あとシステムのバージョンもできれば教えて下さい。
    >  MacOS7.6か7.1か、7.5か。
    >  LCだけでなく68K-Macは、全て同じ現象になるのではないでしょうか?
    >  そうしたら、不当なアドレスにデータを書き込んでしまっている可能性は高いですね。

     SANEは使っていません.システムはいろいろです.7.1の場合もありますし,7.5の場合もあります.とにかく機種がLCシリーズであればシステムに依存性はないように感じます.
    他の68KMacではチェックしてませんが同じ現象に見舞われる可能性は高いと思われます.
    不当アドレスにデータを書き込んでいる可能性は考えていませんでした.おそらく,これが原因です.もう一度プログラムをチェックしてみます.
     どうもありがとうございました.

    Subject: [fb-ml 827] NetscapeのPlug-inを作成するには?
    何時もお世話になっております。

    古籏さんの講座でPhotoshopのplug-inを作るものがありましたが、Netscapeのplug-inもFB-IIで作れるのではないかと思うのですが、どなたか、サンプルソースなどお持ちではありませんでしょうか?

    以前、ディベロッパジャーナルか何かに、QTマスコットプラグインを作成された方が、記事を執筆されていたような記憶があるのですが、残念ながらFB-IIではなかったと思います。

    質問ついで、という訳ではありませんが、W*APIのSDKもC用のものしか見当たらないのですが、これも探しているのですが、FB-II用のものが見当たりません。

    やりたいことは、Mac用のWWWサーバ用の電子掲示板plug-inとそのクライアントの作成です。

    質問ばかりで恐縮ですが、よろしくお願いいたします。

    Subject: [fb-ml 828] カレンダーの表示
     弘樹です。相変わらずカレンダー作りで詰まってます。最近考えた方法は、曜日毎に細長いフィールドを7つ用意して、日時を知らせる関数から曜日を切り出して、該当するフィールドに入れる、というものでした。しかし、これも切り出す方法が分からず、完成していません。とりあえず途中まで作ったソースです。(長くてすみません)

    '-----------定数-------------
    _mFile = 1
    _iQuit = 1
    _iAbout = 1

    '---------関数-----
    LOCAL FN initialize
    WINDOW 1,"Calender",(0,0)-(132,100) ,_WDEFbaseID _noGoAway
    TEXT _sysFont,9
    EDIT FIELD #1,"IUDateString",(0,4)-(0+140,4+12),_statFramed,_centerJust
    EDIT FIELD #2,"youbi",(0,20)-(0+132,20+12),_statFramed,_centerJust
    EDIT FIELD #3,"sun",(5,35)-(5+13,35+60),_statFramed,_rightJust
    EDIT FIELD #4,"mon",(24,35)-(24+13,35+60),_statFramed,_rightJust
    EDIT FIELD #5,"tue",(42,35)-(42+13,35+60),_statFramed,_rightJust
    EDIT FIELD #6,"wed",(60,35)-(60+13,35+60),_statFramed,_rightJust
    EDIT FIELD #7,"thu",(78,35)-(78+13,35+60),_statFramed,_rightJust
    EDIT FIELD #8,"fri",(96,35)-(96+13,35+60),_statFramed,_rightJust
    EDIT FIELD #9,"sat",(114,35)-(114+13,35+60),_statFramed,_rightJust
    APPLE MENU "Calenderについて..."
    MENU 1,0,_enable,"ファイル"
    MENU 1,1,_enable,"終了/Q"
    END FN

    LOCAL FN doMenu
    menuID = MENU(_menuID):
    itemID = MENU(_itemID):
    SELECT menuID
    CASE _appleMenu
    SELECT itemID
    CASE _iAbout
    err% = FN ALERT(128,0)
    END SELECT
    CASE _mFile
    SELECT itemID
    CASE _iQuit
    END
    END SELECT
    END SELECT
    MENU
    END FN

    LOCAL FN displayCalender
    CALL IUDATESTRING([_Time], _ShortDate, shortDate$)
    CALL IUDATESTRING([_Time], _AbbrevDate, AbbrevDate$)
    CALL IUDATESTRING([_Time], _LongDate, LongDate$)
    EDIT$(1) = LongDate$
    EDIT$(2) = "日 月 火 水 木 金 土"
    'ここから先が思いつきません。
    END FN

    '-------メイン--------
    ON MENU FN doMenu

    FN initialize
    FN displayCalender

    DO
    HANDLEEVENTS
    UNTIL gQuit

     今、知っている「日時を表示する関数」というのは、これくらいです。もしかしたら、Toolbox関連で、もっと他にあるかもしれません。

    shortDate$ = 97.8.28
    AbbrevDate$ = 1997年 8月28日(木)
    LongDate$ = 1997年 8月28日 木曜日
    DATE$ = 08/28/97

     このどれかを使って、日付の中から曜日を取り出し、それぞれの曜日のテキスト・エディット・フィールドに振り分けようと思いましたが、LEFT$やRIGHT$では2バイト文字は切り出せません。Macintosh Developer's Journalの最新号で、冨山学さんが2バイト文字も切り出せる関数を作っていましたが、これを使わなければいけないのでしょうか。IUDATESTRINGで日付を表示して、それを切り出そうとすると、日付の書式が「日本語」に設定してあるシステムでしか使えませんね。別にそれでもいいのですが、何か他に方法があるのでしょうか。

    弘樹

    P.S.
    いつも質問ばかりで申し訳ないです(^_^;)いつになるか分かりませんが、質問に答えられるようになったら、積極的に答えていきたいと思っています。

    Subject: [fb-ml 829] はじめまして
    宮田といいます、はじめまして。

    FutureBasicフォーラムでおみかけして参加させて貰いました。

    今現在、FBIIで作成したプログラムは十数本ですが、殆どがフィルタ等ですが、カレンダーは最初の最初に(FBIIを買ったその日に作った(^^;)作りました。

    もう掲載されていないのですが、このカレンダーはNTTアドのホームページにある期間UPされていました。

    EDIT FIELDを全く使わないという強引なプログラムですが何かの参考になればと思いましたのでソースを掲載したいのですがよろしいでしょうか?

    210行ありますので・・・(^^;

    ビルドされたものはここにあります。
    http://www.bekkoame.or.jp/‾miyapi/doc.html#DOC_3

    FBを使う機会はこれからどんどん増えそうなので宜しくお願いします。

    Subject: [fb-ml 830] Re:はじめまして
     宮田さん、初めまして。

    >カレンダーは最初の最初に(FBIIを買ったその日に作った(^^;)作りました。
     買ったその日に作れちゃうんですかー。僕はFB II-Jを発売日の翌日に買って、まだ作れません(^_^;)

     ソースなど、長いようでしたら直接こちらにメールで送って頂けないでしょうか?それか、このMLの中にカレンダー作りに苦労している人がいたら(いないって?)そのまま載せるとか……200行くらいならいいんじゃないでしょうか。自信ないですけど(^_^;)

    弘樹

    P.S.
    「DigGuppy」も見ました。凄く綺麗で良かったです。

    Subject: [fb-ml 831] Re: NetscapeのPlug-inを作成するには?
    古籏一浩です。

    At 0:56 97.8.28 +0000, Osamu Shigematsu wrote:
    >古籏さんの講座でPhotoshopのplug-inを作るものがありましたが、Netscapeのplug-inもFB-IIで作れるのではないかと思うのですが、どなたか、サンプルソースなどお持ちではありませんでしょうか?
     作れると思いますが、誰かが雛形を作らないとわからないですね。
     フォトショップと同じ方式であれば2/3ほど変更すればよさそうですがはてさて(^^;

    >質問ついで、という訳ではありませんが、W*APIのSDKもC用のものしか見当たらないのですが、これも探しているのですが、FB-II用のものが見当たりません。
    >
    >やりたいことは、Mac用のWWWサーバ用の電子掲示板plug-inとそのクライアントの作成です。

     もう例によってC -> FBに変換するしかないでしょう。
     一番良いのはC言語で誰かが作成した人がいたら、その人にアドバイスをもらう事でしょう。
     FBが使えるようになれば必然的にC言語も使えるようになりますし。

    Subject: [fb-ml 832] Re: LCシリーズでエラー
    古籏一浩です。

    At 20:33 97.8.27 +0900, Yoshinobu KAWANO wrote:
    >不当アドレスにデータを書き込んでいる可能性は考えていませんでした.おそらく,これが原因です.もう一度プログラムをチェックしてみます.
     あと配列の範囲をチェックしないオプション設定で配列の範囲を超えてデータを操作しているというオチはありますね。
     変数の大文字小文字が違うという可能性もあります。(過去に結構やってしまいましたf(^^)

    Subject: [fb-ml 833] Re: LCシリーズでエラー
    川野@佐賀大学です.

    At 8:12 PM +0900 97.8.28, KaZuhiro FuRuhata wrote:
    > >不当アドレスにデータを書き込んでいる可能性は考えていませんでした.おそらく,これが原因です.もう一度プログラムをチェックしてみます.
    >  あと配列の範囲をチェックしないオプション設定で配列の範囲を超えてデータを操作しているというオチはありますね。
    >  変数の大文字小文字が違うという可能性もあります。(過去に結構やってしまいましたf(^^)

     どうやら,不当アドレスでした.プログラムをチェックしたところハンドルをロックしていないままいろいろと作業をすすめている個所がみつかりました.きちんと処理したらLCシリーズでも問題なく動きました.どうもありがとうございました.

    Subject: [fb-ml 834] データからの起動
    川野@佐賀大学です.

    たびたび申し訳ありません.内容が異なるのでSubjectを換えて送ります.
    Macの普通のアプリケーションであればそのアプリケーションで作ったデータファイルをクリックすれば自動的に元のアプリケーションが立ち上がり自動的にそのデータを読み込むということが当たり前のようになっています.
    FBIIで自作したアプリケーションでも可能なのでしょうか? 実際はデータファイルをクリックして元のプログラムが立ち上がる所までは出来たのですが,自動的にデータを読み込む方法がわかりません.これが可能になるとよりMacらしいプログラムができるのですが.
     どなたか方法をご存知の方がおられたらご教示ください.

    Subject: [fb-ml 835] Re: データからの起動
    古籏一浩です。

    At 10:00 97.8.29 +0900, Yoshinobu KAWANO wrote:
    >FBIIで自作したアプリケーションでも可能なのでしょうか? 実際はデータファイルをクリックして元のプログラムが立ち上がる所までは出来たのですが,自動的にデータを読み込む方法がわかりません.これが可能になるとよりMacらしいプログラムができるのですが.
     可能です。
     この場合に使用する命令はFINDERINFOという命令で、リファレンスマニュアルの159ページにサンプル付きで掲載されています。
     このマニュアルのサンプルをコピーして

    FN checkIncomingFiles

    DO
    HANDLEEVENTS
    UNTIL _gProgEnd

     といった具合にイベントループに入る前に呼び出してやればOKのはずです。

    Subject: [fb-ml 836] DecompressImageについて
    yukiです。

    古旗さん、お返事が大変遅くなって申し訳ありませんでした。自分で少しでも進展させてからご連絡をと思っていたのですが、なかなか手がつけられず遅くなってしまいました。

    と、いってもあいかわらず手をつけられていませんのでご報告はできません。この問題は何とかしたいと思っていますので、進展があり次第(興味ある方が他にMLにいらっしゃれば)、報告させていただきます。

    遅くなり、大変申し訳ありませんでした。

    Subject: [fb-ml 837] 国内FutureBasic ファイルサーバについて
    yukiです。

    現在MLに何人の方が登録されているか判りませんが、みなさんそれぞれにいろいろな方法でプログラムを蓄積されていることと思います。

    そこでこれは私の個人的な意見ですが、そろそろできればFutureBasicのプログラムソースを集めたHP,FTPをどこかに開設するとなにかと便利になるのではないでしょうか(私だけかも)。

    場所的には私のHP(現在作成中)でもよろしければ3‾4MB(たったこれだけ)でよろしければ提供いたしますが。ご賛同いただける方がいらっしゃいましたらご連絡ください。

    Subject: [fb-ml 838] Re: 国内FutureBasic ファイルサーバについて
    古籏一浩です。

    At 14:16 97.8.29 +0000, akiyuki wrote:
    >そこでこれは私の個人的な意見ですが、そろそろできればFutureBasicのプログラムソースを集めたHP,FTPをどこかに開設するとなにかと便利になるのではないでしょうか(私だけかも)。
     便利になるでしょうね。

    >場所的には私のHP(現在作成中)でもよろしければ3〜4MB(たったこれだけ)でよろしければ提供いたしますが。ご賛同いただける方がいらっしゃいましたらご連絡ください。
     それなら私のページの方がいいですよ。
     なんせ520MBありますので(笑)
     これだけあれば、いくらでも入りますよ。

     ダウンロードページ等にもFB関係のプログラムを置いているので結構宣伝になっているかも・・・

    Subject: [fb-ml 839] Re:はじめまして
    > 宮田さん、初めまして。
    どうもはじめまして。

    >>カレンダーは最初の最初に(FBIIを買ったその日に作った(^^;)作りました。
    >
    > 買ったその日に作れちゃうんですかー。僕はFB II-Jを発売日の翌日に買って、まだ作れません(^_^;)

    PETの時代からBasicやってますから・・・(^^;

    > ソースなど、長いようでしたら直接こちらにメールで送って頂けないでしょうか?それか、このMLの中にカレンダー作りに苦労している人がいたら(いないって?)そのまま載せるとか……200行くらいならいいんじゃないでしょうか。自信ないですけど(^_^;)
    んー。どうなんでしょう。不快に思われる方もいらっしゃるかもしれないので、直接メールしますね。

    >P.S.「DigGuppy」も見ました。凄く綺麗で良かったです。
    どうもありがとうございます。
    あのシリーズで色々作ったものがありますからファイルサーバーの立ち上がったら色々アップしたいとおもいます。

    Subject: [fb-ml 840] カスタムアイコンについて
    川野@佐賀大学です.

     自分でなんとか小さなプログラムをFBIIで作り,ビルドしました.
    せっかくなのでちょっと凝ってみようとアイコンをResEditでつくり表示させることにしました.これは問題なくでき,通常はなんの支障もなくカスタムアイコンで表示されています.ところがNorton Utility3.5でハードディスクの検査をすると,このアプリケーションのバンドルビットが正しくありません.オンにしますか?と聞いてきます.それでOKとするとカスタムアイコンがまったく別のものに変わってしまうのです.
     どこが悪いのか自分ではまったくわかりません.もし,皆さんの中でご存知の方がおられれば是非教えて下さい.よろしくお願いします.

    Subject: [fb-ml 841] 変数
    古籏一浩です。

    いきなり何ですが「変数」って何だかわからない人いますか?
    変数の説明をしようと思うのですが、どういう所がわからないのか知りたいのです。

    Subject: [fb-ml 842] Re: カスタムアイコンについて
    川野@佐賀大学さん,こんにちは。

    >ところがNorton Utility3.5でハードディスクの検査をすると...
     これはわりと有名な話で,ノートン先生の言うことを素直に聞いてはいけません。OKとされているところでキャンセルを選んでください。
     ぐたぐたと言ってきますが,実害のない話なので気にしないでください。

    Subject: [fb-ml 842] Re: 変数
    ご無沙汰しています。根来です。
    最近はメールも少ないですね。
    私は相変わらずPost Scriptにてこずっています。

    古籏さん,「変数」の解説ですか。
    FB2とは離れますが,「自動変数」という概念も加えて頂けると助かります。Cのソースを移植する場合に,コメントで書かれている自動変数というのがわかんなくて困ったことがありましたので。

    あとは,頭に&や#や_などが付いたときの解説などあればうれしいです。FB2で困ることは,変数や定数の前後に記号が付く場合がありますが,マニュアルにまとまって載っていないことです。今でもCopyBitの引き数でときどき#が頭に付いているのを見かけると,これはなんじゃ?と思います。

    マックでのプログラム経験が浅いので,A5グローバルやなんとかレジスタの値が云々という会話について行けません。これって私だけ?
    なんか「変数の概念を説明したい」からかけ離れてしまいました。
    失礼しました(^^;

    Subject: [fb-ml 843] Re: 変数
    古籏一浩です。

    At 22:13 97.9.3 +0000, 仙台7200/90 wrote:
    >最近はメールも少ないですね。
    >私は相変わらずPost Scriptにてこずっています。

     まあ、気が向いたときにメールが流れるといった雰囲気ですから(^^;
     でも100人以上いるのに、書き込む人は同じですね(笑)
     よしんば自己紹介でもしていただけると・・・

    >古籏さん,「変数」の解説ですか。
    >FB2とは離れますが,「自動変数」という概念も加えて頂けると助かります。Cのソースを移植する場合に,コメントで書かれている自動変数というのがわかんなくて困ったことがありましたので。

     Static以外の変数の事ですよね。
     FBのLOCAL FN〜の中で使われるのと同じでしょう。
     それとも、全く違うヤツ?

    >あとは,頭に&や#や_などが付いたときの解説などあればうれしいです。
    >FB2で困ることは,変数や定数の前後に記号が付く場合がありますが,マニュアルにまとまって載っていないことです。でもCopyBitの引き数でときどき#が頭に付いているのを見かけると,これはなんじゃ?と思います。

     先頭に&がつくのは、命令の指定方法でリソースを扱うときかな。
     PICTURE FIELDあたりが、そうですね。
     #〜は昔ベンさんが解説してました。再度解説かも。人数増えたし。

    >マックでのプログラム経験が浅いので,A5グローバルやなんとかレジスタの値が云々という会話について行けません。これって私だけ?
     A5に関しては、大抵の場合知る必要はないと思います。
     もっとも、このA5のおかげで「A5ワールド」と呼ばれる狭い32KBytesの世界ができあがってしまったのですが・・・
     配列とか32KB以上取れないんですよね〜無念。
     同様にテキストエディットフィールドやプログラムサイズも32KB以内なんです。A5レジスタのアドレスを基本にして-32767〜32767バイトでというオチになってます。Macが悪いと言うよりも68000のリロケータブル範囲が、こうなっていたのですが(最大32Kではありませんでしたが)。
     元祖Mac登場当時の128KBは、結構多いメモリだったんですが、今ではキャッシュサイズ(^^;

    Subject: [fb-ml 844] 国内FTP....
    yukiです。

    古旗さん、遅くなって申し訳ありませんでした。

    520MBも容量があるのですか!私のHDは110MBしかないのに.....
    これでは古旗さんに期待するしかありませんね。(いつもこればっかり...)
    もし作られたら駄作ですがいくつか紹介させていただき、皆さんのご意見うかがってみたいものです。

    また、私事ですが一応、年末のボーナスで5万円でPowerMacにしようと計画し、大蔵大臣と現在折衝中です。(なんとかねじこんで8万円で603を入手しようともくろんでいます)

    Subject: [fb-ml 844] Re: 変数
    yukiです。
    古籏さん wrote:

    > いきなり何ですが「変数」って何だかわからない人いますか?
    > 変数の説明をしようと思うのですが、どういう所がわからないのか知りたいのです。

    ああ、鶴のひと声のようなひびきです。じつは変数の定義に関して判らないところがあるのですが、よくみかける
    LOCAL FN .......
    DIM ....
     .....
    END FN

    という宣言と、

    DIM ....
    LOCAL FN .......
     ......
    END FN

    となっている場合がよく見受けられます。実際にDIMをLOCAL FNの前で宣言するとその変数が使えない(と思いますが...)場合があります。この違いはどういうことなのでしょうか。

    宜しくお願いいたします。

    Subject: [fb-ml 845] PICT HNDLが消滅?
    yukiです。

    またまた問題が発生しておりまして、お助けください。
    実は、以下のような順番でファイルのリソースにPICTを追加するプログラムを作成中です。

    1.PICTファイルをオープンし、picH&を得る
    2.そのファイルのリソースファイルをオープンし(または作成し)picH&を追加する
    3.リソースファイルをアップデートし、保存する

    のような順番です。ところがリソースの追加まではうまくいったのですが、リソースをクローズするとそれまで入っていたはずのpicH&が消滅してしまいます。(FN GETHANDLESIZEでサイズをみると直前までは保持されているのに、クローズ直後から-111のエラーが返ってくる)

    ソースを忠実にコンパクトにしたサンプルがあり、それでも発生してしまいます。
    200行近くありますのでMLにはのせづらいので、どなたかその方面に精通されている方がいらっしゃいましたら、見ていただけないでしょうか。

    宜しくお願いいたします。

    Subject: [fb-ml 845] Re: 国内FTP....
    古籏一浩です(^^)

    At 18:44 97.9.4 +0000, akiyuki wrote:
    >520MBも容量があるのですか!私のHDは110MBしかないのに.....
    >これでは古旗さんに期待するしかありませんね。(いつもこればっかり...)

     ただ古いHDなので下手すれば半年くらいでクラッシュ(笑)の可能性は大です。市役所にあるので盗まれることはないはずですが。

    >もし作られたら駄作ですがいくつか紹介させていただき、皆さんのご意見うかがってみたいものです。
     その時はソースも一緒に付けましょう(^^)/
     ソースがあると全然違いますから。
     私は醤油でもいいですけどf(^^;

    >また、私事ですが一応、年末のボーナスで5万円でPowerMacにしようと計画し、大蔵大臣と現在折衝中です。(なんとかねじこんで8万円で603を入手しようともくろんでいます)
     やはり604マシンにしましょう(^^)
     あとは4400/200あたりは、どうでしょう?
     予算が5万円なら貯金しておいて、後で購入とか・・・

    Subject: [fb-ml 846] Re: 変数
    古籏一浩です。

    At 18:50 97.9.4 +0000, akiyuki wrote:
    >ああ、鶴のひと声のようなひびきです。じつは変数の定義に関して判らないところがあるのですが、よくみかける
    >LOCAL FN .......
    > DIM ....
    > .....
    >END FN
    >
    >という宣言と、
    >
    > DIM ....
    >LOCAL FN .......
    > ......
    >END FN
    >
    >となっている場合がよく見受けられます。実際にDIMをLOCAL FNの前で宣言するとその変数が使えない(と思いますが...)場合があります。この違いはどういうことなのでしょうか。

     どっちも同じと言えば同じです。マニュアルは

    CLEAR LOCAL
    DIM a
    LOCAL FN test
    a = 3.14
    END FN = a

    といった書き方をしてます。私は

    LOCAL FN test
    DIM a
    a = 3.14
    END FN = a

     という書き方をしていますが、どちらも同じです。
     ただし、

    DIM a
    DIM b
    LOCAL FN test
    c = a + b
    END FN = c

     とした場合a,bの値は0でなく不定になっている事があります。
     そこで

    CLEAR LOCAL
    DIM a
    DIM b
    LOCAL FN test
    c = a + b
    END FN = c

     という具合にローカル変数であるa,bを0に初期化するわけです。

     また

    DIM a
    END GLOBALS

    CLEAR LOCAL
    DIM b
    LOCAL FN test
    c = a + b
    END FN = c

     とするとaは不定、bは0になるはずです。
     するとcの値は不定になる可能性がありますね。
     正常に使えないというのは、グローバル変数扱いになってしまっているか初期化されていないか、どちらかでしょう。
     初期化する、しないのコンパイラオプションて、ありましたっけ?
     初期化せずにすっとんだ事は何回もあって、ベンさんに言われましたf(^^;

    Subject: [fb-ml 847] Re: 変数
    古籏さん,こんにちは。

    >でも100人以上いるのに、書き込む人は同じですね(笑)
    >よしんば自己紹介でもしていただけると・・・

     ひぇ〜っ,100人を超えているのですか。
     あれよあれよと言う間ですね。みなさんFB2に興味を持たれてMLに入られたのですから,気軽に発言していただきたいですね。
     おーい!

    >Static以外の変数の事ですよね。
    >FBのLOCAL FN〜の中で使われるのと同じでしょう。
    >それとも、全く違うヤツ?

     うーん,どうなんでしょう。
     私はEWSでのデータベースが専門なのでいまいちわかりません。
     そういえば,「スカラー変数」というのも聞きましたが何なのでしょう?
     FB2で悩むのは変数より定数です。「.v」や「.h」はわかりますけど「_zFalse」とかの頭にZが付く定数は他の処理系ではありませんよね。
     どういうときに使うのか意味不明のままです。
     定数ツールで見ますと値は見れますが,意味するところは解説されていないので,FB2で初めてマックプログラミングに挑戦する者にとっては使いこなすのが難しいです。先日もrectの各メンバーが定義済みなのを見つけましてショックでした。まだまだ知らないものがあるんだろうなぁ。

    32Kの壁がA5のせいだとは知りませんでした。
    Inside Macなんか見ていると,アプリケーショングローバルを保存しておきなさいという関数がたまにありますが,意味が良くわからないので使えないじまいです。

    いまはパレットマネージャーと格闘しています。
    なんてややこしいのでしょう。先日来からの色深度2Bitでの4色表示ですがだいぶ解決の糸口が見えてきました。私が考えうるあらゆるパターンで処理手順やパラメーターの値を変更して試していますので,時間はかかるし爆弾の嵐です(^^;
    しかしながらいろいろと勉強になります。
    人に聞かずに自分であれこれと試行錯誤をするのも力がつきますね。

    32BitGWorldはだいぶわかってきたつもりですが,ウインドウのメモリ占有量がいまいちわからないのです。例えば,旧オフスクリーンは色深度1BitのモノクロBitMapですが,旧ウインドウは8色使えますよね。
    この場合の旧ウインドウのメモリ量は色深度1Bitで計算してもいいのかなぁ

    32Bitの環境でも,色深度8Bitのオフスクリーンはメモリ量の概算ができますが,16万色表示のモニタに表示されるウインドウはメモリ量はどうやって見積もるのでしょう。ウインドウは色深度32で計算しないとだめなのかなあ。

    Subject: [fb-ml 848] Re: 変数
    古籏一浩です。
    メーカーか販売店が回答してくれると楽なんですけどね〜

    At 13:45 97.9.5 +0000, 仙台7200/90 wrote:
    > ひぇ〜っ,100人を超えているのですか。
    > あれよあれよと言う間ですね。みなさんFB2に興味を持たれてMLに入られたのですから,気軽に発言していただきたいですね。
    > おーい!

     1週間に2人くらいづつ増えてますf(^^;
     ほとんど初心者かなあ、と思ってます。
     気軽に発言してもらえば、いいんですけど。
     やはり入ったときにチェックしていて自己紹介お願いしますメールを送らないといけないのかも(笑)

    >>Static以外の変数の事ですよね。
    >>FBのLOCAL FN〜の中で使われるのと同じでしょう。
    >>それとも、全く違うヤツ?
    > うーん,どうなんでしょう。
    > 私はEWSでのデータベースが専門なのでいまいちわかりません。
    > そういえば,「スカラー変数」というのも聞きましたが何なのでしょう?

     ありますねスカラー変数。でも、これが使える言語は少ないでしょう。
     本で読んだけど忘れました。Adaとかは使えるはず。

    > FB2で悩むのは変数より定数です。「.v」や「.h」はわかりますけど「_zFalse」とかの頭にZが付く定数は他の処理系ではありませんよね。
    > どういうときに使うのか意味不明のままです。

     これはFuture BASICの前身を知らないと、なんじゃらほい?という事になりますね・・・
     Future BASICは、昔は「Z BASIC」というヤツだったんです。
     という事でZ BASICでの真偽の値という事で

    _zTrue
    _zFalse

     というオチです。よほど変な処理系でない限り

    TRUEは0以外
    FALSEは0

    となっています。TRUEは1か-1でBASIC処理系では-1が通例になってます。

    >32Kの壁がA5のせいだとは知りませんでした。
    >Inside Macなんか見ていると,アプリケーショングローバルを保存しておきなさいという関数がたまにありますが,意味が良くわからないので使えないじまいです。

     別に使わなくてもいいんです。
     下手に使うとシステムエラーの憂き目にあいます(^^;

    >いまはパレットマネージャーと格闘しています。
    >なんてややこしいのでしょう。先日来からの色深度2Bitでの4色表示ですがだいぶ解決の糸口が見えてきました。私が考えうるあらゆるパターンで処理手順やパラメーターの値を変更して試していますので,時間はかかるし爆弾の嵐です(^^;

     パレットマネージャーは面倒といえば面倒ですねぇ・・・
     これが面倒くさくて自前のゲームシステムはフルカラー+αチャンネル仕様になってます。

    >しかしながらいろいろと勉強になります。
    >人に聞かずに自分であれこれと試行錯誤をするのも力がつきますね。

     自分で苦労すると身にしみて分かりますものね。
     理論だけでうまくいきそうなコンピューターだけど、プログラムの中にも人の思惑や個性が入っていて、そこらへんで結構理解するのに時間がかかります。

    >32BitGWorldはだいぶわかってきたつもりですが,ウインドウのメモリ占有量がいまいちわからないのです。例えば,旧オフスクリーンは色深度1BitのモノクロBitMapですが,旧ウインドウは8色使えますよね。
    >この場合の旧ウインドウのメモリ量は色深度1Bitで計算してもいいのかなぁ

     これはVRAM側のメモリを使っているだけですので何も考慮する必要はありません。直描きするなら別ですが(^^;
     昔のが8色(16色)しか使えないのは元祖QuickDrawの仕様だからです。

    >32Bitの環境でも,色深度8Bitのオフスクリーンはメモリ量の概算ができますが,16万色表示のモニタに表示されるウインドウはメモリ量はどうやって見積もるのでしょう。ウインドウは色深度32で計算しないとだめなのかなあ。
     直描きしなければ、必要ありませんよ。
     基本的に色深度が異なっていてもシステムが自動的にやってくれます。
     VRAMに占めるウィンドウのメモリを算出するとなると、色深度とクリッピングされた領域を計算する事になりますが、そんな必要性はゲーム以外ではありえないと思います。

    Subject: [fb-ml 849] Re: PICT HNDLが消滅?
    古籏一浩です。

    At 19:00 97.9.4 +0000, akiyuki wrote:
    >のような順番です。ところがリソースの追加まではうまくいったのですが、リソースをクローズするとそれまで入っていたはずのpicH&が消滅してしまいます。(FN GETHANDLESIZEでサイズをみると直前までは保持されているのに、クローズ直後から-111のエラーが返ってくる)
     リソースを使うときはリソースをオープンしたままで使うような気がするのですが。

     一応PICTリソースを生成する講座を用意しましたが、これでもエラーがでますか?

     あとリソースがパージ可能になっているとか。
     OSバージョンは7.6ですか?7.6以前ですか?

    Subject: [fb-ml 850] スカラー変数
    古籏一浩です。

    スカラー変数について調べてみました。
    「何のデータでも入る変数」
     といった所です。
     Future BASICなら

    A = "ABC"

     とするとエラーになりますが、JavaScript, Perlでは

    A = "ABC"

     でも

    A = 9

     でも正しく動作します。

    Subject: [fb-ml 850] スカラー変数
    古籏一浩です。

    スカラー変数について調べてみました。
    「何のデータでも入る変数」
     といった所です。
     Future BASICなら

    A = "ABC"

     とするとエラーになりますが、JavaScript, Perlでは

    A = "ABC"

     でも

    A = 9

     でも正しく動作します。

    Subject: [fb-ml 851] Re: 変数
     ベン/矢野勉 です。

    At 10:45 PM 97.9.5, 仙台7200/90 wrote:
    > >Static以外の変数の事ですよね。
    > >FBのLOCAL FN〜の中で使われるのと同じでしょう。
    > >それとも、全く違うヤツ?
    >  うーん,どうなんでしょう。
    >  私はEWSでのデータベースが専門なのでいまいちわかりません。

     自動変数っていうのはC言語の概念ですね。C言語には「自動変数」「外部変数」「静的変数」がありまして、外部変数は関数のそとに定義されることからきた名前で、グローバル変数を指します。自動変数は逆に関数のなかでだけ定義され、関数呼びだしにあわせて自動的にメモリの確保/破棄を行うところからついた名前です。要するにローカル変数。いまでは関数内変数が自動でメモリ確保/破棄をするのはあたりまえになってますので、ちょっと浮いた名前ですね。
     静的変数は、関数のなかでだけ使用される点ではローカル変数なんですが、グローバル変数のように、恒久的に存在し、破棄されません。

    >  そういえば,「スカラー変数」というのも聞きましたが何なのでしょう?
     型を区別しない変数です。Perl のスカラー変数は有名ですが、MAC でもハイパーカードのスクリプトであるハイパースクリプトの変数は型がありませんので、文字列も数字も区別なくいれられますので、スカラー変数です。
     Smalltalk もそうですが、まあ、オブジェクト指向では「型」自体が不用ですから。

    >  FB2で悩むのは変数より定数です。「.v」や「.h」はわかりますけど「_zFalse」とかの頭にZが付く定数は他の処理系ではありませんよね。
    >  どういうときに使うのか意味不明のままです。
    >  定数ツールで見ますと値は見れますが,意味するところは解説されていないので,FB2で初めてマックプログラミングに挑戦する者にとっては使いこなすのが難しいです。先日もrectの各メンバーが定義済みなのを見つけましてショックでした。まだまだ知らないものがあるんだろうなぁ。

    うーむ、定数は単なる数字につけた名前に過ぎないんで、処理系云々の問題ではないですよね。単に STAZ がそう定義したってだけのことでして。_zTrue は古旗さんのいうように、Z BASIC 時代のなごりですね。ちなみに Pascal Converter で .p ファイルをコンバートすると、DIM RzTop% とか、やたら小文字の z が出て来るのも同じ理由です。

     定数の名前の付け方は処理系には依存しませんが、広く普及した「接頭辞」がいくつかあります。メニュー用定数は m で始まるとか、FB では定数には _ (アンダースコア) がつくんでいいですが、Cやらパスカルでは変数と区別が付かないので、k を頭につけるのが普通です。(kScrollbarSize とか)  まあ、どれも風習にすぎませんので、破ったって全然問題ないですけど。

     ちなみに _zTrue については HANDBOOK の p234 にちゃんと解説があります。真偽値の偽については、ほとんどの言語で0をそれに当てはめていますが、真については「0以外」という曖昧な規則になっています。そのため、Pascal では 256 が、ToolBox では 1 があり当てられています。これが _pTrue と _true です。
     しかし IF NOT 命令などでの NOT命令 は、後ろの値をビット反転させて評価するので、偽(0) の反対の真は -1 でないとだめなのに、どちらも -1 じゃない。というわけで、FB用真値として、_zTrue が必要になります。

     しかしまあ、普通は「真かどうか」という判定はしませんで、「偽じゃないかどうか」という判定をします。偽が0であることは確実だから、偽値をつかって判定したほうが確実なわけです。

     つぎは 頭の # マークの解説でも、もう一回しましょうか(^^;) これも FAQ としてホームページに載せんとなあ。

     ではでは。

    P.S.
    プロバイダのドメイン名変更にともない、メールや WWW のアドレスが変わりました。古いのも1年くらい有効ですが、一応ブックマークとか変更しておいてください。以下のとおりですので。

    Subject: [fb-ml 852] はじめまして。
     はじめまして、浜崎一巳と申します。

     先日、このMLに登録させて頂きました。
    Mac歴、1年、FB II歴、1ヵ月の初心者です。

     このサイトは、サーチエンジンで、FB II以外にどんなMacのソフト開発環境があるのか調べているうちにたまたま見つけました。
     実は、FB IIのマニュアル(特にPG)を読んでもよく分からず、あきらめかけていた所で、(FB IIは、日本語のマニュアルがないですから。)このサイトを見つけました。

     知りたかった事、サンプルのソースが丁寧に解説されており、また、このMLの運用も小回りがききそうで、まるで生きているマニュアルを手にいれた気分です。
     今は、初級講座を終え、中級講座へ進む前に、MLの今までの発言を読んでいる所です。FB IIも始めたばかりでちんぷん、かんぷんですが宜しくお願いします。

     ところで、早速なんですが、ResEditについて書かれた書籍を紹介して頂けないでしょうか。(FB II からは、離れるかもしれませんが。)
    アイコンの種類、使用目的等を解説したものです。例えば、エディットフィールドを作るとして、テキスト入力ボックス、スクロールバーの作り方、使い方等が書かれたものです。ResEditで、この辺を作成しておき、FB IIから呼び出そうと考えています。
    ResEditの解説書って今まで一冊しか見た事がありません。これぞ、と思うものを紹介して頂けたらと思います。よろしくお願いします。

    Subject: [fb-ml 853] Re: スカラー変数
    古籏さん,いつもありがとうございます。

    変数の件はよく解りました。
    ウインドウのメモリ占有量の件は,説明して頂いていることは良く解るのですが,自分のなかでちゃんと粉れない部分があります。
    ウインドウの実体がVRAM上にあるから,アップデートイベントでなにもしないと真っ白になってしまうのだというのはわかります。
    VRAM上にウインドウがあるから小さいメモリのSimpleTextで大きな画像が開けるというのもわかります。
    うーん,自分でも何が疑問なのかあやふやになってきました。
    ちょっとゆっくり考えてみます。

    初めのころはオフスクリーンは目に見えないから難しいと思っていましたが,今では構造のよくわからないウインドウが不思議に思えてしまいます。ウインドウの構造体をちゃんと勉強しないといけない時期に来ているのだろうと思います。

    Subject: [fb-ml 853] Re: 変数
    ベンさん,こんにちは。

    変数の説明をありがとうございます。
    とてもよくわかりました。
    スカラー変数はちょっとびっくりしました。
    型のない変数ってあるんですね。Prograph CPXにはそんなんなかったです。

    >ちなみに _zTrue については HANDBOOK の p234 にちゃんと解説があります。
     すいません,確認したら載っていました。
     みなさんご存じだったんでしょうか。
     ちょっと恥ずかしい落ちになってしまいました。
     ろくに調べた訳でもないことを「わからないままです」などと書くのは反則でした。ごめんなさい。

    _zTrueの話なのですが,私は真が1の言語というか製品に慣れていますのでNOT命令を使わなければ,FB2でも判断文に_Trueがつかえると解ってちょっと安心です。

    > つぎは 頭の # マークの解説でも、もう一回しましょうか(^^;)
     漠然とした記憶では,コンパイラに何かの判定をスキップさせるようなことだったように思いますが,ちょっとあやふやですから気になっていたのです。
     以前の過去ログを読みたいと思います。

    Subject: [fb-ml 853] Re: はじめまして。
    浜崎さん,はじめまして。

    どもども,根来でございます。
    これからも仲良くしましょう。

    ResEditの解説書の件ですが,松坂市なら大きな書店もあるでしょうしどうして見つからないのかなとおもいますが(^^;
    なんなら,名古屋まで出てみるというのはどうでしょう。
    いろいろと出ているのは知っていますが,わかりやすいのはなかったように思います。(わたしだけ?;)
    実際に書店で読み比べて決めないと後悔すると思います。
    結局私は本なし状態でおります。それでも何とかなってますよ。
    では,では。

    Subject: [fb-ml 854] Re: PICT HNDLが消滅?
    *** みなさん、いつもおせわになっております。 ****
    yukiです。

    古旗さんwrote:
    >  一応PICTリソースを生成する講座を用意しましたが、これでもエラーがでますか?
    >
    >  あとリソースがパージ可能になっているとか。

    ^^^^^^^^^^^
    すみません。モードの成田さんにも同じ質問をしてみたところ、古旗さんとおなじ以下の回答をいただきました。

    ”リソースをクローズするとそのリソースもパージされてしまうので、その前にCALL DETACHRESOURCEしてください”

    とのことでした。古旗さんの例題でも試して見たのですが、やはり(a)でPICT HNDLが-111になってしまいました。

    PRINT FN GETHANDLESIZE(pictHandle&)
    CALL ADDRESOURCE(pictHandle&,_"PICT",resNo%,fileName$)
    CALL UPDATERESFILE(refNum%)
    CALL CLOSERESFILE(refNum%): ' "リソースファイルを閉じる"
    (a) PRINT FN GETHANDLESIZE(pictHandle&)

    原因は判ったのですが、pictHandle&はリソースではないはずなのですが、どうしてでしょうか?

    Subject: [fb-ml 855] サムネイル画像の作り方
    yukiです。

    また簡単な内容(?)で恐縮ですが、640 x 480のサイズのPICTハンドルがあったときに、128 x 128のサイズに縮小したPICTハンドル(もしくはオフスクリーン上への描画)をする場合にはどうしたら良いでしょうか。たしかに

    PICTURE ON‾CALL DRAWPICTURE‾PICTURE OFF,thumnailH&

    で縮小表示できるのですが、解像度が変わっただけでファイルサイズが縮小されません。

    どういった方法が一番手軽に解像度そのままで縮小したPICTを得たら良いでしょうか?

    Subject: [fb-ml 856] Re: サムネイル画像の作り方
    yuki さん,こんばんわ。

    ToolBoxのDrawPictureで解像度の指定ができたとおもいますが,まだ試したことがないので別の方法を参考までに話します。
    640 x 480のオフスクリーンを用意して,PICTURE命令で絵を描きます。
    次に128 x 128のオフスクリーンを用意します。
    640 x 480のオフスクリーンから128 x 128のオフスクリーンにCopyBitsするのですが,次のようにしてはいかがでしょう。

    CALL COPYBITS( #640_OffScreen&+2 , #128_OffScreen&+2 , rect1 , rect2, _srcCopy , 0 )

    ここで rect1 には 640 x 480のrectをセットします。

    CALL SETRECT(rect1 , 0, 0, 640, 480 )

    rect2には128 x 128のrectをセットします。

    CALL SETRECT(rect2 , 0, 0, 128, 128 )

    これでシステムがリサイズしてくれると思います。

    一連のソースとしては,以下のようになります。
    オフスクリーンの確保と元絵の描画,rectの算出は済んでいるとして下さい。

    ------------------ キリトリセン ------------------
    CLEAR LOCAL
    LOCAL FN sizeComv(from_rect1,from_OffScreen&,to_rect,to_OffScreen&)
    DIM from_rect;8 , to_rect;8
    DIM from_OffScreen& , to_OffScreen&

    CALL SETGWOLD(to_OffScreen&,0) ' "COPYBITSするだけなら不要なのですが私は毎回書いております"
    CALL FORECOLOR(_blackColor) ' "COPYBITS前に書くと色化けしません"
    CALL BACKCOLOR(_whiteColor) ' "FORE と BACKはセットで使います"

    CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)

    CALL SETGWORD(cport&,0): ' "描画先をウインドウに戻したつもりです。cport&を適切な変数名に変更してください"
    END FN

    なんか見ずらい例になってしまってすいません。
    今ちょっと忙しいので,ちゃんと動作確認してませんので動かなかったら文句のメールをください。(こんな無責任でいいのか>わし)

    Subject: [fb-ml 857] Re: はじめまして。
    古籏一浩です。

    At 1:07 97.9.6 +0900, K.HAMAZAKI wrote:
    > ところで、早速なんですが、ResEditについて書かれた書籍を紹介して頂けないでしょうか。(FB II からは、離れるかもしれませんが。)
    >アイコンの種類、使用目的等を解説したものです。例えば、エディットフィールドを作るとして、テキスト入力ボックス、スクロールバーの作り方、使い方等が書かれたものです。ResEditで、この辺を作成しておき、FB IIから呼び出そうと考えています。
    >ResEditの解説書って今まで一冊しか見た事がありません。これぞ、と思うものを紹介して頂けたらと思います。よろしくお願いします。

     リソースエディタの本は2〜3冊は確実に出ているのですが、マニア向けといったものもありますので、書店で読んだ方がいいかもしれません。
     私はリソースエディタの本はもっていませんが、なんとか使ってます。(なんとかではなくて「使ってない」(笑)という見方もありますが)

     アイコンは白黒、カラーアイコンなどいろいろありますね・・・
     ダブルクリックしまくって描いている内に何とか、できちゃいました。

    Subject: [fb-ml 858] Re: スカラー変数
    古籏一浩です。

    At 16:44 97.9.6 +0000, 仙台7200/90 wrote:
    >初めのころはオフスクリーンは目に見えないから難しいと思っていましたが,今では構造のよくわからないウインドウが不思議に思えてしまいます。ウインドウの構造体をちゃんと勉強しないといけない時期に来ているのだろうと思います。
     ウィンドウは、たまたま目に見えるVRAMというRAMに描画しているだけですから。確かごまかして通常のメモリ内に描くこともできるはずです。
     クローズビューとかは、どうやってるんでしょう。
     (虫眼鏡)

    Subject: [fb-ml 859] BeOS インストールに挑戦しました
    みなさん,毎日お騒がせしています。

    今日本屋に行ったらMacTechという高級割烹のような値段の雑誌を思いきって買いました。BeOS DR9 が付いていたのでうれしくって早速パーティションを作成しインストーラーを動かしました。
    ふふふ,これで私もBe使いに...と思っていたらインストーラーが「すまんがほかを当ってくれ」と言ってきます。
    BeのHPで確認すると私のマシンではインストールすらできないのね。
    あああ,(T T)
    それならそうと記事の頭で書いておいて欲しかったです。
    私は電池切れの6100と7200ですからPPC601なので動きません。
    604じゃないとだめというのはきついですね。
    601使いのみなさんも気を付けてください。将来のバージョンではPPCバスの601は対応してもらえるそうです。6100くんがかわいそう。
    おあとがよろしいようで。

    yuki さん,先ほどの関数にタイプミスがありました。
    差し替えをお願いします。
    ------------------ キリトリセン ------------------
    CLEAR LOCAL
    LOCAL FN sizeComv(from_rect,from_OffScreen&,to_rect,to_OffScreen&)
    DIM from_rect;8 , to_rect;8
    DIM from_OffScreen& , to_OffScreen&

    CALL SETGWOLD(to_OffScreen&,0): ' "COPYBITSするだけなら不要なのですが私は毎回書いております"
    CALL FORECOLOR(_blackColor): ' "COPYBITS前に書くと色化けしません"
    CALL BACKCOLOR(_whiteColor): ' "FORE と BACKはセットで使います"

    CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)

    CALL SETGWORD(cport&,0): ' "描画先をウインドウに戻したつもりです。cport&を適切な変数名に変更してください"
    END FN

    Subject: [fb-ml 860] Re: PICT HNDLが消滅?
    ご無沙汰しております。
    最近は、全然、さわる暇がなく、遅々としてFiler Projectが進んでおりません。(^-^;

    で、以下の件ですが、
    (1)の条件を考えて、動作を説明すると、

    (2)では、既存のpictHandle&のサイズを計算させ結果を表示
       以下のプログラムだけでは、なにが表示されるかは不明
    (3)では、pictHandle&で指示される内容を、fileName$のリソースファイルに含まれる、"PICT"リソースの中のresNo%で指定されたリソースを、メモリに取り込み、そのポインターに設定します。
    (4)refNum%で指示されたリソースファイルをアップデートします。
    (5)リソースファイルをクローズします。
       ここで、(1)の条件が絡んできまして、メモリ上のPICTデータ自体がパージされてしまって、メモリ上に存在しなくなってしまいます。
    ですから、(6)でpictHandle&のサイズを計算しようとしても、実体がメモリ上になくなっているため、エラーコードが表示されるわけです。

    こんな感じでわかりますでしょうか。?

    #私の知らないこととして、このpictリソースへのポインターもなくなるのか?ということですが、とりあえずは、ハンドルサイズは計算できないと言うことだけはいえます。

    At 22:43 97.9.6, akiyuki wrote:
    > *** みなさん、いつもおせわになっております。 ****
    > yukiです。
    ...中略
    >
    (1) > ”リソースをクローズするとそのリソースもパージされてしまうので、その前にCALL DETACHRESOURCEしてください”
    >
    > とのことでした。古旗さんの例題でも試して見たのですが、やはり(a)でPICT HNDLが-111になってしまいました。
    >
    (2)> PRINT FN GETHANDLESIZE(pictHandle&)
    (3)> CALL ADDRESOURCE(pictHandle&,_"PICT",resNo%,fileName$)
    (4)> CALL UPDATERESFILE(refNum%)
    (5)> CALL CLOSERESFILE(refNum%)
    (6)> (a) PRINT FN GETHANDLESIZE(pictHandle&)
    ...以下略


    Subject: [fb-ml 861] Re:PICT HNDLが消滅?
    yukiです。
    Yasuo Kuzuharaさん wrote:

    >(1)の条件を考えて、動作を説明すると、
    >(2)では、既存のpictHandle&のサイズを計算させ結果を表示
    >   以下のプログラムだけでは、なにが表示されるかは不明
    >(3)では、pictHandle&で指示される内容を、fileName$のリソースファイルに含まれる、"PICT"リソースの中のresNo%で指定されたリソースを、メモリに取り込み、そのポインターに設定します。
    >(4)refNum%で指示されたリソースファイルをアップデートします。
    >(5)リソースファイルをクローズします。
    >   ここで、(1)の条件が絡んできまして、メモリ上のPICTデータ自体がパージされてしまって、メモリ上に存在しなくなってしまいます。
    >ですから、
    >(6)でpictHandle&のサイズを計算しようとしても、実体がメモリ上になくなっているため、エラーコードが表示されるわけです。
    >
    >こんな感じでわかりますでしょうか。?

    Yasuo Kuzuharaさん丁寧な解説有難うございます。大変よく判りました。
    この場合はやはりPICT HNDLはDIPOSEHANDLEしなくてもいいのでしょうね。(実体がないのだからあたりまえか)

    解説くださったみなさん、どうも有難うございました。

    Subject: [fb-ml 862] Re:サムネイル画像の作り方
    yukiです。

    仙台7200/90さんwrote:
    > yuki さん,こんばんわ。
    > ToolBoxのDrawPictureで解像度の指定ができたとおもいますが,まだ試したことがないので別の方法を参考までに話します。
    >
    > 640 x 480のオフスクリーンを用意して,PICTURE命令で絵を描きます。

    (わざわざ訂正していただき有難うございます)
    >------------------ キリトリセン ------------------
    >CLEAR LOCAL
    >LOCAL FN sizeComv(from_rect,from_OffScreen&,to_rect,to_OffScreen&)
    > DIM from_rect;8 , to_rect;8
    > DIM from_OffScreen& , to_OffScreen&
    > > CALL SETGWOLD(to_OffScreen&,0): ' "COPYBITSするだけなら不要なのですが私は毎回書いております" > CALL FORECOLOR(_blackColor): ' "COPYBITS前に書くと色化けしません"
    > CALL BACKCOLOR(_whiteColor): ' "FORE と BACKはセットで使います"
    > CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)
    > CALL SETGWORD(cport&,0): ' "描画先をウインドウに戻したつもりです。cport&を適切な変数名に変更してください"
    >END FN
    > なんか見ずらい例になってしまってすいません。

    いえいえよくわかります。本当に有難うございました。前にFTPサーバの件で発言したときに古旗さんから”ソースつきで公開しましょう”という御意見がありましたがまったくの同感です。本当にソースがついていると内容が話しかけてくるように理解できるものです。(そういえば参考資料を読んでも判らんことが、プログラムリストを読んでから理屈を理解したことが何度もあったような...)

    と、まぁ本題から外れてしまいましたが、やはりわたしも頂いたリストと同じ様なリストを作っていました。(はオフスクリーン上への描画と書いてしまったのは誤りでした)

    PICTURE ON (0,0)-(128,128)
     '"仙台7200/90さんとほぼ同じ内容
    CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)
    PICTURE OFF,thumbnail&

    ところがこれでやると解像度が上がっただけでPICT HNDLにしたときのサイズが変わりませんでした。で、結局試行錯誤の結果以下の方法しか思いつきませんでした。

    CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)
    PICTURE ON (0,0)-(128,128)
     '"仙台7200/90さんとほぼ同じ内容
    CALL COPYBITS(#to_OffScreen&+2,#to_OffScreen&+2,to_rect,to_rect,_srcCopy,0)
    PICTURE OFF,thumbnail&

    これはいちどPICTへの描画前に縮小したものをPICTに書き込むといったものです。
    どうやらPICTの解像度はDRAWPICTUREでなくCOPYBITSでも描画したPICTに反映されてしまっているようです。この詳しい理由は判りません。

    お騒がせして申し訳ありませんでしたが、どなたかの参考になれば幸いです。

    Subject: [fb-ml 863] CrossBasic
    おひさしぶりです、沢田です。
    まだ FB II を買っておりません。未だ初期版FBユーザーであります(^^;)

    ところで最近、CrossBasic というシェアウェアに出会いまして、ますます FB II が遠のきそうだと感じる今日この頃です。 何がいいって、HyperCard でのプログラミングに極めて酷似した環境なんですよ(どちらかというとVisualBasicに似ているとも言えますが)。
    で、68K,PPC のコードはもちろん、そのままJavaアプレット化もできます。しかも XCMD/XFCN をインポートしてコマンド/関数として使うこともできますし、AppleScript もプログラム中で使えます。

    細かいスペック(どの程度のものまで作れるのか)はわかりませんし、まだバグも多く不安定なBASICですが、もし順調に育ったらMac史上最高のBASICとなるのは間違いないでしょう。

    興味のある方、ちょっと試してみませんか?

    ダウンロードサイトは http://www.frii.com/‾abarry/cb_index.html
    参考ページ(日本語)は http://www.satelight.co.jp/cb/index.html やhttp://www.people.or.jp/‾smily/zenji.html などです。

    Subject: [fb-ml 864] Re:サムネイル画像の作り方
    yukiさん,こんばんわ。

    うまくいってよかったです。
    まずはめでたしですね。

    さて,他の初心者の方が誤解されますので補足しておきます。

    COPYBITS自体は解像度情報は扱いません。
    オフスクリーンというものにも解像度情報はありません。
    解像度情報はPICTURE形式のデータに含まれます。
    ですから,PICTURE ONからPICTURE OFFの間でいくらCOPYBITSしてもデータ量の変化を抑えるために,解像度の変更のみ行われます。
    結局データ量は変わらないので,再度元の解像度に戻しても情報の欠損はありません。ここらへんの話は「再現性のある縮小をする」などとInside Macに説明があります。初めに読んだときは何のこっちゃと思いましたが(^^

    解像度を変更するというのは,見ための大きさを変えるだけの方法とデータ量自体を変化させる方法の二通りの意味がありますのでややこしいですね。前者はPhotoshopなどの「表示倍率の変更」ですね。データは保持していますから元に戻せます。後者は「解像度の変更」で,Undo以外では元に戻せません。

    実際のソース内部で,データ量の変化させたい場合は,PICTURE ON / OFFの手前でピクセル量の異なるオフスクリーン間でCOPYBITSします。
    このときのCOPYBITSはデータ量を変更しますので,再現性のないラスタライズをします。もう元には戻せません。
    その後,PICTURE記録の中でコピー先のオフスクリーンを自分自身に上書きするCOPYBITSを行い記録します。
    要するにyukiさんの書いたコード通りですね。
    この部分も説明しておくべきでした。

    ソースで解説の時間
    ----------------------- キリトリセン ---------------------

    ' "--- 初めのyukiさんのコード ---"
    PICTURE ON (0,0)-(128,128)
    ' "PICTURE ON / OFF内部で FROM -> TOのCOPYBITSをしてもデータ量は"
    ' "不変のため,システムが勝手に解像度を変更する"
    CALL
    COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)
    PICTURE OFF,thumbnail&


    ' "--- 解決したyukiさんのコード ---"
    CALL COPYBITS(#from_OffScreen&+2,#to_OffScreen&+2,from_rect,to_rect,_srcCopy,0)
    ' "このCOPYBITSでデータ量の変更(一般にサイズ変更と言う)をしています。"

    ' "ここからPICTUREへ記録開始"
    PICTURE ON (0,0)-(128,128)

    CALL COPYBITS(#to_OffScreen&+2,#to_OffScreen&+2,to_rect,to_rect,_srcCopy,0)
    ' "このCOPYBITSは,自分自身に上書きする行為をPICTUREに記録しています。"
    ' "なぜ自分自身に上書きしているのかというと,別に別途同サイズのオフ"
    ' "スクリーンを用意してもいいのですが,メモリがもったいないので自分"
    ' "自身に上書きしているだけです。なにも変化ありません。ただ,記録し"
    ' "たい画像をどこかに描画するという行為が必要なのです。"

    PICTURE OFF,thumbnail&
    ' "これで thumbnail& にサイズ変更後の画像が記録されました。"

    >仙台7200/90さんwrote:
     えっと,「仙台7200/90」は別に私のハンドル名ではありません。
     個人的なメールの利用以外に,遠隔地のLANとARA接続やメールのやり取りをしていますので,マックの識別名なのです。私がここの6100からメールを出すと「仙台6100/60」ですし,大阪からなら「大阪7200/90初号機」などになります。こちらの事情ですので仙台7200/90でも根来でもどちらでもお好きなほうでどうぞ。ただ,仙台7200/90さんでは他のマシンからメールが出せんので事情だけ話したかったのです。では。

    Subject: [fb-ml 865] Re: はじめまして。
     早速のメールありがとうございます。

    At 4:44 PM +0000 97.9.6, 仙台7200/90 wrote:
    仙台7200/90> 浜崎さん,はじめまして。
    仙台7200/90>
    仙台7200/90> どもども,根来でございます。
    仙台7200/90> これからも仲良くしましょう。

     はい。宜しくお願いします。

    仙台7200/90> ResEditの解説書の件ですが,松坂市なら大きな書店もあるでしょうしどうして見つからないのかなとおもいますが(^^;
     確かに大きい書店はかなりあるのですが、コンピューター関係は、少なく、MAC関係はさらに少なく、ResEditとなると今までに一種類しか見た事がありません。

     実は、この本は購入したのですがリソースのコード?( ICONとかhmmuとか)の種別の説明もされておらずシステムのちょっとしたカスタマイズしかできません。
    FB IIからソフトで操作できる様にしようとするにはちょっと.....って感じです。

    仙台7200/90> なんなら,名古屋まで出てみるというのはどうでしょう。
    仙台7200/90> いろいろと出ているのは知っていますが,わかりやすいのはなかったように思います。(わたしだけ?;)

     そうですね。名古屋ならあると思います。実際は、四日市でも結構揃っており、今まで四日市で買った本が多いです。何にしろソフトを作ろうと思ってから一ヵ月しか経っていないものですから、FB IIのマニュアルを読んで何が必要なのか分かり出した所なんです。もう少し、必要なものを見極めてから実行したい思います。

    仙台7200/90> 実際に書店で読み比べて決めないと後悔すると思います。
    仙台7200/90> 結局私は本なし状態でおります。それでも何とかなってますよ。
    仙台7200/90> では,では。

     う〜ん。すごい!!。

    Subject: [fb-ml 866] FBで作ったツールがMdnで紹介されました
    拙作ですが、Mdnに連載中のムービーワークショップ「ViMaNa07」に制作協力した際にFutureBasicIIで私が作ったプログラムが紹介されています。

    Mdn 10月号 p123

    これは流星を作るのが難しいと言われ、30分位で作ったものにファイル出力機能と一部調節機能をつけたものです。
    最終的にはQuickTimeになるのでQuickTime出力したかったけど、やり方がわからんっ!
    もしMdnを読んでる方がいたら読んでみて下さいね。

    PS
    エディットフィールドに文字列を追加する方法をご存じの方いませんか? たぶんハンドルを得てメモリ転送かマージでやるのだと思うのですがよくわかりません・・・。

    Subject: [fb-ml 867] Re: BeOS インストールに挑戦しました
    古籏一浩です。

    At 2:13 97.9.7 +0000, 仙台7200/90 wrote:
    >BeのHPで確認すると私のマシンではインストールすらできないのね。
    >あああ,(T T)
    >それならそうと記事の頭で書いておいて欲しかったです。

     どこかに一覧が載っていた気がするのですが・・・

     それはよしとして、うちのマシンにはちゃんとBeOS DR9が入ってます。
     DR8とえらく違うじゃんf(^^;
     インテルマシンにも移植されて、なんとなく動いているようですし期待大です。
     ネットワークの設定もMacより楽で異様にシンプルです。
     Win95は素人には出来ないけどBeOSなら素人でも設定できるなあと思いました。
     速度は結構高速です。
     現状の最大の難関としてウリとなるソフトがない事でしょうね。
     3年くらいすれば、何か出るかなあ。

     と待っていても仕方がないのでBeOS用に自作のゲームシステムLightStreamを移植する予定です。これが移植できればMac, BeOSでプログラム無変更で同じゲームが動く(^^)/
     UNIX,X-Winにも移植したいけど、はてさて。

    Subject: [fb-ml 868] Adding Text to Text Field (RE: FBで作ったツールがMdnで紹介されました)
     ベン/矢野勉 です。

    At 11:43 AM 97.9.8, Tatsuya_Miyata wrote:
    > 拙作ですが、Mdnに連載中のムービーワークショップ「ViMaNa07」に制作協力した際にFutureBasicIIで私が作ったプログラムが紹介されています。
    >
    > Mdn 10月号 p123
    >
    > これは流星を作るのが難しいと言われ、30分位で作ったものにファイル出力機能と一部調節機能をつけたものです。  おお、すばらしい。でも我が愛機 Color Classic ではなあ(^^;) 動かんだろうなあ?

    > エディットフィールドに文字列を追加する方法をご存じの方いませんか?
    > たぶんハンドルを得てメモリ転送かマージでやるのだと思うのですがよくわかりません・・・。

     これも FAQ 入りにしましょう(^^;) 実はなぜか PG のマニュアルにこれについての記述があります(^^;) P150 に次のような関数が紹介されています。

    LOCAL FN TEappend(theField, theTxt$)
    AUTOCLIP = 0
    TEHndl& = TEHANDLE(theField)
    LONG IF TEHndl&
    txtLgth = {[TEHndl&]+_TELength}
    CALL TESETSELECT(txtLgth, txtLgth, TEHndl&)
    CALL TEINSERT(@theTxt$+1, LEN(theTxt$), TEHndl&)
    END IF
    END FN

     TextEdit のレコードへのハンドルをとって、ToolBox の TESETSELECT でファイル末尾を選択、 TEINSERT でそこに文字列を追加します。これもページに載せる予定のFAQ リストに載せておきましょう。

    Subject: [fb-ml 869] Re: FBで作ったツールがMdnで紹介されました
    古籏一浩です。

    At 11:43 97.9.8 +0900, Tatsuya_Miyata wrote:
    >拙作ですが、Mdnに連載中のムービーワークショップ「ViMaNa07」に制作協力した際にFutureBasicIIで私が作ったプログラムが紹介されています。
     おお、おめでとうございます(^^)
     10月号って10日発売でしたっけ?

    >エディットフィールドに文字列を追加する方法をご存じの方いませんか?
    >たぶんハンドルを得てメモリ転送かマージでやるのだと思うのですがよくわかりません・・・。

     EDIT$(フィールド番号) = 文字列変数

     で255文字までなら操作できます。255文字以上であれば

     EDIT$(フィールド番号) = &ハンドルアドレス

     を使って追加した文字列のハンドルを指定すればOKです。
     ただzTEXT形式なので先頭2バイトが文字サイズ、3バイト目以降が文字列になります。

     ハンドル内容を連結するToolboxってありましたっけ?
     自前でやっても10行くらいだと思います。

    Subject: [fb-ml 870] PICT HANDLから色深度を求める方法
    yukiです。

    また質問があるのですが、PICT HANDLから色深度を簡単に求める方法はありますでしょうか。

    よろしくお願いいたします。

    Subject: [fb-ml 871] Re: PICT HANDLから色深度を求める方法
    >PICT HANDLから色深度を簡単に求める方法は
    PICT HANDL ということは,BitMapやPixMapのデータではなくて,PICT FILE か PICTリソースの色深度を求めたいということですね。
     これはなかなか難しいですね。PICT HANDLEの中には複数画像も記録できますから一つのPICT HANDLから複数件の色深度を取り出すことが可能でしょう。

     特殊な場合はさておいて,一般の一枚絵という意味でしょうから,その前提で答えますと,PICTデータの先頭から75バイト目から2バイトがその画像の1Pixel当たりのビット数です。16万色の場合は32が入っています。32,000色では16ですね。PICTファイルの場合は,ファイルの先頭から512バイト飛ばした513バイト目がPICTUREデータの先頭です。

     もっとスムーズな方法があるかもしれませんが,私はこれしか知りません。
     今日は忙しいのでソースはなしです。ごめんなさい。

    Subject: [fb-ml 872] オフスクリーンの解像度
    先日大うそをついてしまいましたので訂正いたします。

    オフスクリーンには,解像度を示す情報が存在しました。
    通常カラーのオフスクリーンを作成する場合は,NEWGWORDを行います。
    これにより,CGrafPortが作成されます。
    このCGrafPortは,作成したオフスクリーンの各種情報を保持する構造体です。ペンの位置や前景色などとともにPixMapへのハンドルがあります。このハンドルは先頭から3バイト目から始まります。COPYBITSの際にポートのハンドルに+2をするのはこのためです。

    CGrafPortのPixMapへのハンドルの先には描画した画像を格納するPixMap型の構造体があります。この構造体の先頭は実際のBitMapデータへのポインタです。上でCOPYBITSの際にポートのハンドルに+2をしましたが,ポートのハンドルに+2をするとPixMap構造体の先頭を指すことになり,それはBitMapへのポインタになっているというしかけですね。
     話がそれてしまいました。解像度の情報は,このPixMap構造体のメンバーです。縦方向の解像度と横方向の解像度が独立して定義されています。解像度の変更は,このメンバーを書き換えればOKです。しかし,直接メンバーを書き換えるのは良くないと聞いていますが,書き換えてくれるシステムルーチンはあるのでしょうか。
    ここが私のわからない部分です。

    もう一点は,上記の解像度を表わすメンバーは,32Bitのデータで上位16Bitが整数部,下位16Bitが小数点以下を表わします。
    ですから,hRes = 72 としても正しく72ppiには設定されません。

    Cでなら hRes = 72 << 16 と書くのですが,FB2ではどうしたら良いのでしょう。どなたかご存じありませんか。
    蛇足ですが,解像度の単位として

     ppi = 1インチ当りのピクセル数でデバイスに依存しない表現
     dpi = ディスプレイ画面1インチ当りの表示ピクセル数
     lpi = 印刷物1インチ当りのピクセル数

    300ppiの画像ファイルをPhotoshopで表示倍率200%で作業してプリンタドライバで50%縮小して印刷するとします。 「300ppiの画像を150dpiで表示して,600lpiで出力した。」
    という文言が作れます。あれややこしい(^^

    先日Pictureの色深度情報を取得する話がありましたがToolboxの GetPixMapInfo で簡単に取得できました。
    グループ化されたPICTの場合は,別のルーチンが用意されています。

    Subject: [fb-ml 873] Re: PICT HANDLから色深度を求める方法
    yukiです。

    根来さん wrote

    > 先日Pictureの色深度情報を取得する話がありましたが,Toolboxの GetPixMapInfo で簡単に取得できました。
    > グループ化されたPICTの場合は,別のルーチンが用意されています。

    レス有難うございました。色々と試してみたのですが、やはりPICT HNDLからバイト決め打ちで色深度を読み込むことはできませんでした。またしても頼みの綱の成田さんに伺ったところTOOLBOXのGetPictInfoを使えば可能です”との返事をいただきました。(質問したその日のうちに)

    しかしこの関数はFBIIのオリジナルのツールボックスでは使えないため、以下の方法でテストしました。

    1.apple developer worldのinterface 2.そのうちの
    '=========================================
    CLEAR LOCAL
    LOCAL FN
    GetPictInfo(thePictHandle&,@thePictInfo&,verb%,colorsRequested%,colorPickMethod%,version%)
    '---------------------------------------
    ` CLR.W -(SP)
    ` MOVE.L ^thePictHandle&,-(SP) ;PicHandle
    ` MOVE.L ^thePictInfo&,-(SP) ;Var: PictInfo
    ` MOVE.W ^verb%,-(SP) ;INTEGER
    ` MOVE.W ^colorsRequested%,-(SP) ;INTEGER
    ` MOVE.W ^colorPickMethod%,-(SP) ;INTEGER
    ` MOVE.W ^version%,-(SP) ;INTEGER
    ` DC.W $303C,$0800,$A831
    ` MOVE.W (SP)+,D0
    ` EXT.L D0
    .END FN = REGISTER(D0) 'OSErr
    '--------------------------- Functions --------------------------
    部分だけを抜き取る。
    3.レコードとして
    DIM RECORD PictInfo
    DIM PIzversion% ' INTEGER
    DIM PIzuniqueColors& ' LONGINT
    DIM PIzthePalette& ' PaletteHandle
    DIM PIztheColorTable& ' CTabHandle
    DIM PIzhRes& ' Fixed
    DIM PIzvRes& ' Fixed
    DIM PIzdepth% ' INTEGER ---->これが重要
        ...
    DIM END RECORD .PIzSize
    DIM thePictInfo.PIzSize
    という_PIzSize=104のレコードを作る。

    4.あとは以下のようなルーチンで読み取る。
    WINDOW 99
    osErr =FN
    GetPictInfo(pictHandle&,thePictInfo,1,256,0,0)'"PICTの情報を得る
    pixPerBit% =PEEK WORD(@thePictInfo+_depth)
        '"ただし、QT圧縮されたPICTからは正確に読み込めない
    '-----
    PRINT VARPTR(thePictInfo),VARPTR(thePictInfo.PIzdepth%),pix2%
    PRINT osErr,thePictInfo.PIzdepth%,thePictInfo.PIzhRes&,thePictInfo.PIzvRes&,pixPerBit%
    '-----
    OPEN "O",2,"temp.dump"
    WRITE FILE 2,@thePictInfo,_PIzSize
    CLOSE 2
    '-----
    DO
    UNTIL LEN(INKEY$)
    WINDOW CLOSE 99

    で読み込むことができました。FBIIのコンスタントリストにはPICTUREINFOという上と同じレコードが規定されているのですが、この関数は使うことができませんでした。また、QT圧縮された画像についてはPIzdepth%に0が入れられてしまうようです。(あとでInsideMacを読んで知りました)
    やはりここは純粋に(手間はかかるが)いちどCALL DRAWPICTUREでgWorldに書き込んでから根来さんの言われたGetPixMapInfoで入手すべきなのでしょうか?

    もっと簡単に入手できてもよさそうな情報なのに、以外と手間がかかり疲れました。

    ながながと恐縮でしたが、どなたかの参考になれば幸いです。

    Subject: [fb-ml 874] Re: PICT HANDLから色深度を求める方法
    古籏一浩です。

    At 11:18 97.9.10 +0000, akiyuki wrote:
    >> 先日Pictureの色深度情報を取得する話がありましたが,Toolboxの GetPixMapInfo で簡単に取得できました。
    >> グループ化されたPICTの場合は,別のルーチンが用意されています。
    >レス有難うございました。色々と試してみたのですが、やはりPICT HNDLからバイト決め打ちで色深度を読み込むことはできませんでした。

     中  略

    >やはりここは純粋に(手間はかかるが)いちどCALL DRAWPICTUREでgWorldに書き込んでから根来さんの言われたGetPixMapInfoで入手すべきなのでしょうか?

     一度描画されたオフスクリーンであれば色深度は取得可能です。が、OpCodeの列記されている通常のPICTハンドルからは正しく色情報を取得することは非常に難しいか、事実上不可能とも言えます。

     結構勘違いされている方も多いと思うのですが、PICT HANDLEで記録されているデータは単純な画像データではなく「OpCode+Data」という形式になっています。OpCodeはインサイドマックに掲載されていますが、PICT HANDLEの中にEPS形式やTIFF形式、JPEGなど不特定色データや任意長パレットデータを含めることが出来ます。
     画像の高さや解像度は先頭に記述されることになっていますが、実際のラインやボックス、画像のデータは任意の位置に記録してよい事になっています。ですから、OpCode+Dataを求める場合は先頭からシリアルサーチをする必要があり、バイト決め打ちでは正常に動作しない場合があります。

     確かFMACPROなどでも過去にこのような質問がありましたが、一度描画させない事には色深度の取得は難しいと言えます。
     どうしてもという場合はOpCodeの9Aだったかを探し出して、後に続くコードを解析してrowBytesの前後にある色深度の値を読み出すと行った方法しかありません。確かrowBytesの前後の値がColorDepthだった気がします。

    >もっと簡単に入手できてもよさそうな情報なのに、以外と手間がかかり疲れました。
     これは、ごもっともです。
     Macの日本語のプログラム書籍が少ないというのが難点ですねぇ。
     某社からCode Warriorの本は出るそうですが。

    Subject: [fb-ml 875] こんにちは。
    こんにちは。
    結構前からこのMLを読ませていただいています。
    水野と申します。
    メールを出すのは初めてです。

    昨年10月にFBIIを買いまして、ぼちぼちプログラミングしてます。

    古籏一浩さんのホームページは、よく参考にさせていただいてます。
    有り難うございます。

    みなさん良くおっしゃってますけど、日本にはFB関係のホームページとか、ほんとうに少ないですね。

    そこで、僕も、情報発信に協力しようと、僕のページのなかに、稚拙ながらFutureBasicのページを作ってみました。

    http://www.hongo.ecc.u-tokyo.ac.jp/‾aa66222/fb/

    でも、まだ、ほとんど何もできてません。(はは)

    今年の2月くらいにつくったプログラム(ゲームですけどね)が一つだけDL出来るようになってます。

    で、これからなんか作っていこうと思うんですが、Macintosh依存的な事柄については、詳しい方がいっぱいいらっしゃるようですし、僕もMacは使い初めて2年くらいで、詳しくないので、もっと、別のことを書こうかと思ってます。
    プログラミング自体は、結構昔から、やってたんで。(初代PC-6001とか使ってました)

    あと、STAZのホームページにあるサンプルとかテクニカルノートとかも、ちょっと翻訳したりしてたので、それでも載せようかなあとおもってます。
    富山学さんのページのサンプルのリストの更新も止まったままですし。(でも、あれって、結構簡単な英語がほとんどだし、サンプルなんて、注釈行と表示メッセージを訳してあるだけなんで、見たい人なんていないかも)

    うーむ。
    頑張ろうと思ってますけれども、最近忙しいので、あまり大したことは出来ないかも知れないんですけれど。

    それでも、見て下さるという方は宜しくお願いします。

    あ、のっけてあるプログラムのソースリストも、欲しい方にはおわけします。汚いっすけど。

    Subject: [fb-ml 876] Re: FBで作ったツールがMdnで紹介されました
    古籏一浩です。

    At 11:43 97.9.8 +0900, Tatsuya_Miyata wrote:
    >拙作ですが、Mdnに連載中のムービーワークショップ「ViMaNa07」に制作協力した際にFutureBasicIIで私が作ったプログラムが紹介されています。
    >
    >Mdn 10月号 p123

     MdN買ってきました。

     おお、素晴らしいまるまる1頁近く載ってますね。
     すご〜い(^o^)
     この調子だと次号も載るんですか?

    Subject: [fb-ml 877] Re: こんにちは。
    古籏一浩です。

    At 19:40 97.9.10 +0900, Takaaki Mizuno wrote:
    >古籏一浩さんのホームページは、よく参考にさせていただいてます。
    >有り難うございます。
     どうもありがとうございますm(_ _)m

    >そこで、僕も、情報発信に協力しようと、僕のページのなかに、稚拙ながらFutureBasicのページを作ってみました。 >
    >http://www.hongo.ecc.u-tokyo.ac.jp/‾aa66222/fb/
    >
    >でも、まだ、ほとんど何もできてません。(はは)

     拝見しました。まだ工事中ですねf(^^b
     ゲームはダウンロードしてきました。すでに3面で詰まりました(笑)

    Subject: [fb-ml 878] Re:こんにちは。
    こんばんわ、水野です。

    At 8:38 PM 97.9.11 +0900, KaZuhiro FuRuhata wrote:
    >古籏一浩です。
    >
    >At 19:40 97.9.10 +0900, Takaaki Mizuno wrote:
    >>古籏一浩さんのホームページは、よく参考にさせていただいてます。有り難うございます。
    > どうもありがとうございますm(_ _)m

    いえいえ、あれだけのページを一人で作ってしまわれのかと思うと、頭が下がります。

    >>そこで、僕も、情報発信に協力しようと、僕のページのなかに、稚拙ながらFutureBasicのページを作ってみました。
    >>でも、まだ、ほとんど何もできてません。(はは)
    > 拝見しました。まだ工事中ですねf(^^b

    はい・・あそこまで作って力つきてしまいまして。(うーむ)
    STAZのホームページのサンプルを(安易に)日本語化したものはすでにあるので、近いうちに圧縮してのっけようと思ってますが。
    でも、そんなもの、喜んでくれる人がいるだろうか・・
    不安です。
    みなさんどうでしょうか?

    のっけたら、またお知らせします。

    > ゲームはダウンロードしてきました。すでに3面で詰まりました(笑)
    おお!!有り難うございます。
    あれは一応、メールウエアってことになってまして、登録番号がないと5面までしか遊べなかったはずなんで、勝手に登録番号送りつけていいっすか?

    因みにあれは、昔Windows3.0(3.1じゃないです)で、ボーランドCで作たものの移植版です、ってどうでもいいことですが。

    Subject: [fb-ml 879] Re:こんにちは。
    こんばんわ、再び水野です。

    >>>そこで、僕も、情報発信に協力しようと、僕のページのなかに、稚拙ながらFutureBasicのページを作ってみました。
    >>>でも、まだ、ほとんど何もできてません。(はは)
    >STAZのホームページのサンプルを(安易に)日本語化したものはすでにあるので、近いうちに圧縮してのっけようと思ってますが。
    >でも、そんなもの、喜んでくれる人がいるだろうか・・
    >不安です。
    >みなさんどうでしょうか?
    >
    >のっけたら、またお知らせします。

    とりあえず、ちょこっとだけ作ってみました。
    いかがでしょうか。

    Subject: [fb-ml 880] Re: NetscapeのPlug-in を作成するには?
    > 古籏一浩です。
    >
    > At 0:56 97.8.28 +0000, Osamu Shigematsu wrote:
    > >古籏さんの講座でPhotoshopのplug-inを作るものがありましたが、Netscapeのplug-inもFB-IIで作れるのではないかと思うのですが、どなたか、サンプルソースなどお持ちではありませんでしょうか?
    > 作れると思いますが、誰かが雛形を作らないとわからないですね。
    > フォトショップと同じ方式であれば2/3ほど変更すればよさそうですが
    > はてさて(^^;
    >
    > >質問ついで、という訳ではありませんが、W*APIのSDKもC用のものしか見当たらないのですが、これも探しているのですが、FB-II用のものが見当たりません。
    > >
    > >やりたいことは、Mac用のWWWサーバ用の電子掲示板plug-inとそのクライアントの作成です。
    > もう例によってC -> FBに変換するしかないでしょう。
    > 一番良いのはC言語で誰かが作成した人がいたら、その人にアドバイスをもらう事でしょう。
    > FBが使えるようになれば必然的にC言語も使えるようになりますし。

    アドバイス、ありがとうございます。また、返信が送れて申し訳ありませんでした。

    私もいろいろ探したのですが、(FBの)雛型が見つかりません。古籏さんのおっしゃるCからFBの変換、というのは、コンバータソフトか何かあるのでしょうか?とんちんかんな質問かもしれませんが、よろしくお願いいたします。

    それと、最近とても不思議に思っていることがありますが、よくアバウト画面などで、ボタンなどをクリックするとネットスケープが立ち上がってそのソフトなどのホームページが表示されるものがありますが、あれはどういう仕組なのでしょうか?NetscapeにAppleEventを送っているのでしょうか?

    AppleScriptなら
    tell application "Netscape Communicator�*" to OpenURL"http://www.foo.com/"
    と書けばよいのですが。

    お分かりの方がいらっしゃいましたら、よろしくお願いいたします。

    Subject: [fb-ml 881] ファイルがあることを審査する方法
    Mdnに載った件でエール頂きありがとうございました。

    件の「ViMaNa07」のディレクターズカット版にはかなりの比率で参加することになりそうなので、それが出たらまた報告しますね。

    さて、EDIT FIELDに文字列を追加する件ですが頂いた関数であっさりできました。その後ウインドウサイズの変更に対応するようにEDIT文の再設定をする際に中身がクリアされてしまうのを防止するため

     エディットフィールドをウインドウのリサイズに併せて変更する

     x=WINDOW(_width): y=WINDOW(_height)
     GET FIELD TEHndl&,1
     EDIT FIELD -1,&TEHndl&,(0,42+0)-(x-1,y-0),_Framed

    という一文が必要なのに気づきました。ははは。(30分くらい悩みました(^^;)

    というわけでメモパッド(超カンタン機能版)ができました。
    ふー、やれやれ・・・・と思っていたのですが、実はこのメモパッド、終了時に初期設定フォルダの中にメモのファイルを自動セーブするのですが、最初の一回目だけはファイルがないことを確認してファイルの読み出しをキャンセルしないとFB側のエラーダイアログがでてしまいます。

    で、ファイルがないのを確認したいのですが、これはFILES$を使ってファイルサーチしてないことを確認するしかないんですかね。

    err% = FILE EXIST ("filename")

    というような安易な命令はないんでしょうか。
    となるとやっぱりfiles$でヴォリュームの中身を総ざらいしてないことをチェックするしかないんですかね。

    たぶんツールボックスの呼び出しにありそうな気がするんですけど・・・?

    あと、テキストのコピー&ペーストを使いたいのですが、こりゃあどうすれば良いんでしょう?
    これもまたツールボックス系だと思うんですが・・・

    なんか質問ばっかりでスイマセン。

    Subject: [fb-ml 882] Re: NetscapeのPlug-in を作成するには?
    古籏一浩です。

    At 3:51 97.9.12 +0000, Osamu Shigematsu wrote:
    >私もいろいろ探したのですが、(FBの)雛型が見つかりません。古籏さんのおっしゃるCからFBの変換、というのは、コンバータソフトか何かあるのでしょうか?とんちんかんな質問かもしれませんが、よろしくお願いいたします。
     C->FB変換ソフトはないと思います。逆はありますが(CD-ROMの中にあった気がします)
     仕方がないので手動でやるというものでしょう。
     誰も作っていないようですので雛形もないでしょう・・・

    >それと、最近とても不思議に思っていることがありますが、よくアバウト画面などで、ボタンなどをクリックするとネットスケープが立ち上がってそのソフトなどのホームページが表示されるものがありますが、あれはどういう仕組なのでしょうか?NetscapeにAppleEventを送っているのでしょうか?
     私はわからないのでパスf(^^;
     マニュアルにある「RUN」命令の所とか参考になるかもしれませんが。

    Subject: [fb-ml 883] Re:こんにちは。
    古籏一浩です。

    At 0:21 97.9.12 +0900, Takaaki Mizuno wrote:
    >> どうもありがとうございますm(_ _)m
    >
    >いえいえ、あれだけのページを一人で作ってしまわれのかと思うと、頭が下がります。

     ちりも積もれば〜方式ですのでf(^^b
     FBのページはあってもPGのページは1つしかありませんね。
     他に誰か作らないのかなあ。

    >> ゲームはダウンロードしてきました。すでに3面で詰まりました(笑)
    >
    >おお!!有り難うございます。
    >あれは一応、メールウエアってことになってまして、登録番号がないと5面までしか遊べなかったはずなんで、勝手に登録番号送りつけていいっすか?

     OKですよ。  お待ちしてま〜す(^0^)/

    Subject: [fb-ml 884] Re:こんにちは。
    古籏一浩です。

    At 2:40 97.9.12 +0900, Takaaki Mizuno wrote:
    >>のっけたら、またお知らせします。
    >
    >とりあえず、ちょこっとだけ作ってみました。いかがでしょうか。

     見てきました(^^)
     元が元だけにシンプルな説明ですが、一通り訳したら結構いけると思います。冨山氏やModEさんよりかは更新速そうですし。

    Subject: [fb-ml 885] 日付のTOOLBOX
    ★久しぶりの発言です。堀です。

     最近、会社にPowerBook145Bを持っていって、休憩時間や仕事の合間に(こっそり)FB2を立ちあげて勉強してます(^_^;)。おかげで、最近、ようやくSTR#リソースを呼び出して作った妙な占いソフトを作って、同僚からバカにされてます(笑)。
     
    ★さて、今回は日付を表示する関数を探しているのですが、探したら

    CALL IUDATESTRING([_Time], _LongDate, LongDate$)
    PRINT "今日は...";LongDate$;"'"

     で、とりあえず今日の日付をちゃんと日本語でしかも曜日入りで表示するTOOLBOX関数を見つけたのですが、今日から1日前とか1週間前、はたまた15日前とか、明日8日後など、今日を基準にして目的の日を表示する方法はありますでしょうか?
     自前で計算するにはうるう年とかちゃんと計算しなければ行けないので、うまいTOOLBOX関数はあるのでしょうか?
     
     すいません、初心者質問かもしれませんが、よろしくお願いします。

    Subject: [fb-ml 886] Re: こんにちは。
    どなたか脱退の仕方おしえてください。よろしくおねがいします。

    Subject: [fb-ml 887] Re: こんにちは。
    古籏一浩です。

    At 22:41 97.9.12 +0900, iwai msahisa wrote:
    >どなたか脱退の仕方おしえてください。よろしくおねがいします。

     脱退の方法はmajordomo@po.shiojiri.ne.jpあてに

    unsubscribe fb-ml
    end

    という内容の本文をメールします。Subject:は自由です。

    Subject: [fb-ml 888] Re: こんにちは。
    At 0:35 AM 97.9.13 +0900, KaZuhiro FuRuhata wrote:
    >古籏一浩です。
    > >At 22:41 97.9.12 +0900, iwai msahisa wrote:
    >>どなたか脱退の仕方おしえてください。よろしくおねがいします。
    >
    > 脱退の方法はmajordomo@po.shiojiri.ne.jpあてに
    >
    >unsubscribe fb-ml
    >end
    >
    >という内容の本文をメールします。Subject:は自由です。

    さっそくどうもありがとうございました。
    今CodeWarriorを購入したので、こちらの方に凝っています。おてあげになった際にはまたfb-mlの方にもどりたいとおもいます。
    その切はどうぞよろしくおねがい、ご指導お願いいたします。

    Subject: [fb-ml 889] 簡易HTMLエディタ
    重松@Raviと申します。

    古籏さんの講座で、テキストファイルをHTMLに書き出すというサンプルと、テキストエディタのサンプルがありましたが、両方を合わせて、スタイル付テキストをHTMLとして保存できる、(そのエディタで作った)HTMLをスタイル付テキストとして開いて再編集もできる、というものを作りたいと思いました。一応、漢字コードと改行コードの変換の部分についてはできてはいます。

    そこで以下の件について、悩んでおります。お分かりになりましたら、アドバイスいただければ幸いです。

    (1) スタイル情報のデータ形式について
    スタイル情報は、一般的にstylリソースに保存されていると思いますが、いったいどのような形式なのでしょうか?ハンドブック等を探したのですが、ResEditを使えば自動的に作成される、という記載しか見当たりませんでした。

    (2) 文章の位置調節について
    ベンさんのPG講座のサンプルプログラムでは、文字位置をセンタリングできたり、右寄せにできますが、文章全体にわたってしまいます。ワープロ(クラリスワークス)はそんなことはないのですが、これは、独自の処理を必要とするのでしょうか?

    (3) 文章中に画像を含むテキストについて
    TexEditではPICTなどを含んだテキストを作成できます。あまり高機能にするつもりはないのですが、SimpleTextでも読み込み専用形式(ttro/ttxt)では画像を含んだものを表示します。(ただし、画像がセンタリングされます)
    PICTからJPEGへはモードさんから買ったソフトを使おうと思っています。

    (4) フォントについて
    HTMLでは、フォントも指定できますが、基本的には、プロポーショナルと等幅(<TT>〜</TT>や<PRE>〜</PRE>など)の二つを使うと思います。プロポーショナルについては、Osaka(システムフォント)で問題ないと思うのですが、等幅については、Osaka-等幅をいれてない方もいるかもしれませんし、フォントは選べたほうがいいかな、と思います。このような場合、書体が和文か、とか、等幅である、とか、どのように識別するものなのでしょうか?

    Subject: [fb-ml 890] Re:PICT HANDLから色 深度を求める方法
    yukiです。
    古旗さん wrote:

    〜 先日Pictureの色深度情報の件
    >  結構勘違いされている方も多いと思うのですが、PICT HANDLEで記録されているデータは単純な画像データではなく「OpCode+Data」という形式になっています。OpCodeはインサイドマックに掲載されていますが、PICT HANDLEの中にEPS形式やTIFF形式、JPEGなど不特定色データや任意長パレットデータを含めることが出来ます。
    >  画像の高さや解像度は先頭に記述されることになっていますが、実際のラインやボックス、画像のデータは任意の位置に記録してよい事になっています。ですから、OpCode+Dataを求める場合は先頭からシリアルサーチをする必要があり、バイト決め打ちでは正常に動作しない場合があります。

    うーん、単純にPICTといっても標準のPICTあり、写真圧縮(QT Transrate)あり、TIFFあり等複雑になりすぎているようなきがします。さらにPictureの情報の管轄がQuickDraw(QD)に含まれるはずが、QuickTime(QT)からでないと読めない情報なども含まれるようになっているので単純にはいかないのですね。QDの情報であればQDで完結するようにまとめてほしかった気がします。

    >  確かFMACPROなどでも過去にこのような質問がありましたが、一度描画させない事には色深度の取得は難しいと言えます。
    >  どうしてもという場合はOpCodeの9Aだったかを探し出して、後に続くコードを解析してrowBytesの前後にある色深度の値を読み出すと行った方法しかありません。確かrowBytesの前後の値がColorDepthだった気がします。

    いちどOpCodeから当たってみて、挫折したらGWorldを使います。
    なんかくやしいですね。

    Subject: [fb-ml 891] はじめまして?
    ずいぶん前に1度だけ投稿したことがありましたが、今回改めて自己紹介させて下さい。

    Subject: [fb-ml 892] はじめまして?
    書きかけのメールを送ってしまいました。起動すると、受信・送信処理を自動でするようにしていたのを忘れていました。

    というわけで、はじめまして。1度投稿したことはありますがその後は読んでいるだけだったので、一応自己紹介を。

    Takaomi といいます。
    昨年8月9日FBIIの発売日当日にFBを入手し、いままで覚えてきたMSXやPC8801などのBASICとの違いにまだ慣れませんが、ぽちぽちと勉強しています。

    いままでのパソコン歴は、
    ・PC-6001MkII(しゃべるパソコン)
    ・MSX2+(確かソニーのMSX)
    ・PC-8801MkIIFR(ハイドライド2がやりたくて買った)
    と使用してきて、4年前にLC520にたどり着きました。
    去年、処分に出されていたアクセラレータ(BoosterCL40-25)を19,800円で手にいれ、いまでも十分現役のマシンとなりました。
    その後、キャッシュまで付けてしまいました。

    PC-6001MkIIでは、よくBASICでゲームを作って、マイコンBASICマガジンなどに載っていました。ベーマガもいまでこそ、20本そこそこですが、僕が乗っていた頃は50〜60本くらい載っていて、面白いゲームも多かったように思います。

    で、Macを購入しても、やっぱりプログラミングしたかったわけです。しかし、どんな開発言語があるかもよくわからず、結局HyperCardとかで遊んでいました。そこに、FutureBasicII日本語版発売、という知らせがモモデラーズブランドから。 これだ!! と思った僕はすぐに予約注文の手配をしていました。

    そして(ちょっと途中時間があいてしまいましたが)いまになってようやくプログラムらしきものが作れるようになってきました。
    まだ、ほとんど中身がありませんが、ホームページも作っています。
    ”徒然FutureBasicII日本語版”
    http://home.interlink.or.jp/‾takaomi/
    がトップページになっています。少しずつ、強化していきます。ゲームをつくるためのページ、と銘打っていますが、まだまだわからないことだらけですので、皆さんいろいろ教えて下さい。
    宜しくお願いします。

    Subject: [fb-ml 893] Re: はじめまして?
    Takaomiさん,はじめまして。

    根来と申します。

    先日,古籏さんやベンさんのようにスマートに質問に答えようと無理をしてみたのですが,大失敗(^^;;;に終わり自粛しておりました。(笑)
    しかし,このMLも100人を越えているそうですし,100対2では負担が大きすぎますから,懲りずにオカルトなレスを付けて行きたいと思います。
    まぁ,私のレスはまゆつばものとして聞いてください。

    Takaomiさんは古くからのマイコンユーザーなのですね。
    私が初めてさわったコンピューターは,デパートに置いてあったファミコンの前身のブロック崩しマシンです。その後,中学校の講習でIBM360という汎用機をさわりました。たしかフォートランでLINE TO命令を使いXYプロッタで絵を描くという授業内容でした。
    パソコン(というより当時はマイコンですね)は,高校の時友人が8001を持っていたのが初めてでした。中古のカシオFP1100というマルチCPUマシン(苦しい)を買ってもらい,毎日夜遅くまで付属のBASICでプログラムを作っていました。 当時,BASICマガジンとかいう雑誌があったのですが,掲載されているソースを数時間かけて打ち込んだら,雑誌の誤植のため動かないという事が頻発しました。
    ちゃんと校正してたのかなぁ。そういう切なく甘い思いでがあります(^^ その後すぐにFM7が発売になり,カシオはユーザーを残したまま事業撤退してしまいます。
    くやしいので,今だにカシオの電卓は買いません。
    その後,学校の先輩からX1-TURBOを譲り受けました。ここでオペレーティングシステムやファイルという概念を知りました。当時5インチフロッピーが一枚1000円ほどしていたような気がします。会社に入って,98というパソコンをさわりました。アトラスという主人公が出てくるロープレにはまってしまい,部長から怒られるという経験もしました。時代はすぐにダウンサイジングとなり,EWSというUNIXマシンでのRDB構築が私の本職となっていきます。カタログ販売のニ○センやいらっしゃいマシーンの会社のシステムも一部作らせて頂けました。
    しかし,仕事でプログラムしててもストレスばっかり溜まりますね。
    学生のときからマックが欲しかったのですが,高かったのです。(泣)
    マックに良く似たX68000も高くて買えませんでした。うう,X68000欲しかった。マック自体は6100からです。ボーナス飛びますもんね。ここ数年で良い時代になりましたね。

    長々とゴミレスを書いてしまいました。
    今後ともよろしくお願いします。

    Subject: [fb-ml 894] Re: はじめまして?
    >根来と申します。
    根来さんはじめまして。

    >当時,BASICマガジンとかいう雑誌があったのですが,掲載されているソースを数時間かけて打ち込んだら,雑誌の誤植のため動かないという事が頻発しました。
    >ちゃんと校正してたのかなぁ。そういう切なく甘い思いでがあります(^^

    当時 模型とラジオの別冊だった頃から、創刊2年くらいの間に VIC-1001とCommodore64のプログラムを掲載していただいておりました。

    確かに誤植(というかリストの一部がまるまる欠けてたり・・・)は多かったですね。
    版下がドットマトリックスプリンタの印字結果というのもやはり涙を誘います。(今なら電算入稿でアウトラインでしょうが・・・)

    >マックに良く似たX68000も高くて買えませんでした。うう,X68000欲しかった。
    X68000はプログラマーフレンドリー?な機械でしたねぇ。X1から続く血筋ですか。SHARPも今では見る影が(メビウスノートなどに思想があるものか!)ありませんね。私はわりと初期のファミコンのプログラムをやるハメになって7年ほどアセンブラ漬けの日々を送っていましたが、悪友にそそのかされマックを買い、そこからはマクロメディアディレクターのプログラムにスイッチしました。アセンブラからLingoですから劇的変化ですね。

    >マック自体は6100からです。ボーナス飛びますもんね。ここ数年で良い時代になりましたね。
    いやまったく。
    IIvxをフルセット30万で買った過去があるだけに妙に納得してしまいます。

    Subject: [fb-ml 895] Re:PICT HANDLから色
    古籏一浩です。

    At 9:10 97.9.12 +0000, akiyuki wrote:
    >うーん、単純にPICTといっても標準のPICTあり、写真圧縮(QT Transrate)あり、TIFFあり等複雑になりすぎているようなきがします。さらにPictureの情報の管轄がQuickDraw(QD)に含まれるはずが、QuickTime(QT)からでないと読めない情報なども含まれるようになっているので単純にはいかないのですね。QDの情報であればQDで完結するようにまとめてほしかった気がします。
     なんせ考案したのが10年以上昔ですので、あちこちにボロがあります・・・
     こういう画像フォーマットとしてはIFFなどのチャンク方式が一番柔軟性があるでしょう。チャンク方式はMacがでて、AMIGAが出てAMIGAで採用された形式です。
     PICTよりも難儀という形式がTIFFでしょう。TIFFをきちんと解析して表示できるソフトは、ほぼ皆無でしょう。FM TOWNSの画像形式もTIFFですが独自タグ拡張をしてあってTWONSだと解析できるもの以外は表示できません。
     史上最高に難しいのがPS(EPS)。GhostScriptという逃げ道がありますが。
     プログラム逐次実行して描画しないといけないのでPostScriptインタプリタがいるという凄いオチf(^^;
     こういうのから、すればPICTは資料も前から出ていますし形式も定まっているので幸せだと思いますよ。

    Subject: [fb-ml 896] Re: 簡易HTMLエディタ
    古籏一浩です。

    At 23:28 97.9.14 +0000, Osamu Shigematsu wrote:
    >(1) スタイル情報のデータ形式について
    >スタイル情報は、一般的にstylリソースに保存されていると思いますが、いったいどのような形式なのでしょうか?ハンドブック等を探したのですが、ResEditを使えば自動的に作成される、という記載しか見当たりませんでした。

     これ、私も知りたいです。

    >(2) 文章の位置調節について
    >ベンさんのPG講座のサンプルプログラムでは、文字位置をセンタリングできたり、右寄せにできますが、文章全体にわたってしまいます。ワープロ(クラリスワークス)はそんなことはないのですが、これは、独自の処理を必要とするのでしょうか?

     ほとんどの、まっとうなエディタやワープロは自前で処理してます。
     CALL DRAWTEXTを利用してなんとか作って見るというのはどうでしょう?

    >(4) フォントについて
    >HTMLでは、フォントも指定できますが、基本的には、プロポーショナルと等幅(<TT>〜</TT>や<PRE>〜</PRE>など)の二つを使うと思います。プロポーショナルについては、Osaka(システムフォント)で問題ないと思うのですが、等幅については、Osaka-等幅をいれてない方もいるかもしれませんし、フォントは選べたほうがいいかな、と思います。このような場合、書体が和文か、とか、等幅である、とか、どのように識別するものなのでしょうか?

     等幅指定はMac512Kあたりから、固定ピッチで表示させるというツールボックスコールがあります。
     問題は、この呼び出しが未だに有効かどうか、という所です。

    Subject: [fb-ml 897] Re: はじめまして?
    yukiです。
    根来さん wrote:

    > 先日,古籏さんやベンさんのようにスマートに質問に答えようと無理をしてみたのですが,大失敗(^^;;;に終わり自粛しておりました。(笑)
    > しかし,このMLも100人を越えているそうですし,100対2では負担が大きすぎますから,懲りずにオカルトなレスを付けて行きたいと思います。

    昨日はどうも有難うございました。他の人への発信に恐縮ですが、私は比較的発言にはびくびくしてしまいます。でもこれはある意味ではあまりよろしくないことで、こういう人ばかりではレスもつかずに消え去るようなことが多々発生してしまうのではないのでしょうか。

    わたしもこれからは、ある程度で知っていることにはできるだけレスをだして、異論/反論をいただくようにしていきます。

    *私事ですが、メールアドレスが変わりました。InsideMacをダウンロードするにはBIGLOBEの15時間制限はきつかった....

    Subject: [fb-ml 898] Re: はじめまして?
    古籏一浩です(^^)
    懐かしいマシの名前がぞろぞろと出てきましたね。

    At 2:47 97.9.17 +0900, Tatsuya_Miyata wrote:
    >X6はプログラマーフレンドリー?な機械でしたねぇ。X1から続く血筋ですか。
    >SHARPも今では見る影が(メビウスノートなどに思想があるものか!)ありませんね。私はわりと初期のファミコンのプログラムをやるハメになって7年ほどアセンブラ漬けの日々を送っていましたが、悪友にそそのかされマックを買い、そこからはマクロメディアディレクターのプログラムにスイッチしました。アセンブラからLingoですから劇的変化ですね。

     MZ事業部の人はザウルスの方にいってしまっているので、パソコンはNOTでしょう。すでにX68000事業部長の鳥居さんも退職し別会社に勤務していますし。
     私はMZ -> Macでゲームの作り安さからDirectorでゲームを作ってました。
     (ダウンロードページにあります)
     言語は結構いろいろやった覚えがあります。忘れたのも多々ありますが(笑)

    ・純粋なマシン語(ハンドアセンブルではなくコードを入れてプログラミングしていました)
    ・アセンブラ(Z80のみです〜)
    ・C言語(ANSI C以前と以後)
    ・PostScript(結構シンプルです)
    ・BASIC(MZ-700/1500/2500/2861/X1/X68K/PC88/PC98/FM7など)
    ・HyperTalk,Lingo
    ・FORTRAN(FORTRAN77以前のヤツです)
    ・自分で作った言語(笑)。最近のはLighStreamに搭載したヤツ(名無し)

    >>マック自体は6100からです。ボーナス飛びますもんね。ここ数年で良い時代になりましたね。
    >
    >いやまったく。
    >IIvxをフルセット30万で買った過去があるだけに妙に納得してしまいます。

     私はSE/30で50万円でしたf(-.-b
     長々使えるマシンだったし、投資額以上に酷使したので・・・

    Subject: [fb-ml 899] Re: はじめまして?
    古籏一浩です。

    At 1:13 97.9.17 +0000, 仙台7200/90 wrote:
    >しかし,このMLも100人を越えているそうですし,100対2では負担が大きすぎますから,懲りずにオカルトなレスを付けて行きたいと思います。
    >まぁ,私のレスはまゆつばものとして聞いてください。

     雑談ネタでもよいので適当に書き込んでやってください〜
     あと1ヶ月もすれば面白いネタ(?)を流しますので。

    >いたのが初めてでした。中古のカシオFP1100というマルチCPUマシン(苦しい)を買ってもらい,毎日夜遅くまで付属のBASICでプログラムを作っていました。
     演算精度20桁(21桁?)のマシンですね。
     FP1000,FP1100と出して撤退してしまいましたが、まあ正解だったのでは。

    >しかし,仕事でプログラムしててもストレスばっかり溜まりますね。
    >学生のときからマックが欲しかったのですが,高かったのです。(泣)

     仕事のプログラムは駄目ですね。ストレスが溜まるだけです。
     Macを買うときよりも70万円のPostScriptプリンタを購入する時が一番度胸がいりました。本体よりも周辺機器にお金をかけてます。

    >マックに良く似たX68000も高くて買えませんでした。うう,X68000欲しかった。
    >マック自体は6100からです。ボーナス飛びますもんね。ここ数年で良い時代になりましたね。

     X68000も買いました(いっぱいマシンはあるんです・・・)
     おねだりすればソフトバンクからX68000が、もらえたのですが(笑)肌にあわずにMZ-700で突っ走ってしまいました。
     X68Kのプログラマが現在のプレステ、サターンの土台になっていると思いますよ。

     使う人に優しいMacだけどゲームを作るときだけ厳しいf(^^;;

    Subject: [fb-ml 900] Re: はじめまして?
    古籏一浩です。

    At 22:42 97.9.16 +0000, takaomi wrote:
    >・PC-6001MkII(しゃべるパソコン)
     6601mkIISRが「六本木パソコン」でしたよね?
     これに対抗したのがシャープのMZ-1500で最初の番号はMZ-777でした。

    >PC-6001MkIIでは、よくBASICでゲームを作って、マイコンBASICマガジンなどに載っていました。ベーマガもいまでこそ、20本そこそこですが、僕が乗っていた頃は50〜60本くらい載っていて、面白いゲームも多かったように思います。
     今は覇気がないし掲載されているゲームもイマイチですね・・・
     Win95+VBのプログラムは何ですし・・・
     一応Macとありますので、誰かFBでゲームを作って送ったらどうでしょう?
     意外と載るかもしれませんよ。

    Subject: [fb-ml 901] Re: ファイルがあることを審査する方法
    古籏一浩です。

    At 11:07 97.9.12 +0900, Tatsuya_Miyata wrote:
    >で、ファイルがないのを確認したいのですが、これはFILES$を使ってファイルサーチしてないことを確認するしかないんですかね。
    >
    > err% = FILE EXIST ("filename")
    >
    >というような安易な命令はないんでしょうか。
    >となるとやっぱりfiles$でヴォリュームの中身を総ざらいしてないことをチェックするしかないんですかね。

     もっとインチキな方法があります。

    ON ERROR GOSUB 65535
    ON ERROR FN ファイルがない時の処理先

    ●ファイルがない時の処理関数
     処理
     ON ERROR RETURN

     これで良いのではないでしょうか?

    >あと、テキストのコピー&ペーストを使いたいのですが、こりゃあどうすれば良いんでしょう?
    >これもまたツールボックス系だと思うんですが・・・

     EDIT FIELDを使用しているのであればメニュー構築時に

    EDIT MENU 2

     とすれば自動的にサポートされます。
     画像や自前でやりたい場合は、私のページにあるFB講座中級編を参照して下さい(^-^)

    Subject: [fb-ml 902] Re: ファイルがあることを審査する方法
    宮田です。己の愚かさを知る今日この頃・・・。

    >●ファイルがない時の処理関数
    > 処理
    > ON ERROR RETURN
    >
    > これで良いのではないでしょうか?

    なるほどっ。
    ON ERROR のあるBASICに馴染んでないから露見した無知ですね。
    はずかし〜っ。

    >EDIT MENU 2
    >
    > とすれば自動的にサポートされます。

    なるほど・・・。
    これはマニュアル読んでないって事ですね。(;_;)

    > 画像や自前でやりたい場合は、私のページにあるFB講座中級編を参照して下さい(^-^)
    ありがとうございます。
    以前から重宝しとります。はい。

    Subject: [fb-ml 903] Re: はじめまして?
    Takaomiさん ,こんばんわ。

    >当時 模型とラジオの別冊だった頃から、創刊2年くらいの間に VIC-1001とCommodore64のプログラムを掲載していただいておりました。
     これは失礼しました。そんな著名な方とは存じませんで,恐縮です。

    >版下がドットマトリックスプリンタの印字結果というのもやはり涙を誘います。(今なら電算入稿でアウトラインでしょうが・・・)
     そうですね。とても見ずらかったです。でも,今思えば味がありましたね。

    >X6はプログラマーフレンドリー?な機械でしたねぇ。X1から続く血筋ですか。
    >SHARPも今では見る影が(メビウスノートなどに思想があるものか!)ありませんね。

     全くです。私はできるだけ国産品を買おうと思っているのですが,マックに限ってはどうしようもありません。SHARPが Poewr X1 でも作ってくれれば買っちゃいます。

    >私はわりと初期のファミコンのプログラムをやるハメになって7年ほどアセンブラ漬けの日々を送っていましたが、悪友にそそのかされマックを買い、そこからはマクロメディアディレクターのプログラムにスイッチしました。
    >アセンブラからLingoですから劇的変化ですね。(改行位置変更)

     初期のファミコンのプログラムとはすごいですね。
     任天堂のビルが古い建物の頃でしょうか。今でも64と同じビルで花札作っているのでしょうか。そういえば,任天堂でパートをしていたというおばちゃんが近所にいたのですが,半田づけがすごくうまかったのを覚えています。
     こてに半田をたっぷり付けて,一筆書きでICを付けていくのにはまいりました。
     Lingoは私も勉強中です。Ver4の制限版が19,000円だったので買ってしまいました。
     しかし,アニメは根気がいりますね。

    >IIvxをフルセット30万で買った過去があるだけに妙に納得してしまいます。
     みなさん莫大な出費をしてきたのですね。私が一番辛かったのは32MB SIMMが18万だった事と,PSプリンターの購入でした。フォントは今だにATMでごまかしています。(PSライセンス代高いぞ>Adobe)
     (SIMMも昔高いときに買った客には,今おまけで1本送って欲しい>IO-DATA)

     またまたゴミレスしてしまいました。
     Takaomiさん,これからもよろしくお願いします。

    Subject: [fb-ml 904] Re: はじめまして?
    yukiさん,こんばんわ。

    >昨日はどうも有難うございました。他の人への発信に恐縮ですが、私は比較的発言にはびくびくしてしまいます。
    >でもこれはある意味ではあまりよろしくないことで、こういう人ばかりではレスもつかずに消え去るようなことが多々発生してしまうのではないのでしょうか。(改行位置変更)

     ありがとうございます。そう言っていただけると助かります。
     私も知っている事は,できるだけ答えたいと思いますので,これからも仲良くしてください。

    Subject: [fb-ml 905] Re: 簡易HTMLエディタ
     ベン/矢野勉です。 今回は長文です。

    At 8:28 AM 97.9.15, Osamu Shigematsu wrote:
    > (1) スタイル情報のデータ形式について
    > スタイル情報は、一般的にstylリソースに保存されていると思いますが、いったいどのような形式なのでしょうか?ハンドブック等を探したのですが、ResEditを使えば自動的に作成される、という記載しか見当たりませんでした。

     え、実はほぼまったく同じことを考えていたことがありまして。当時いろいろ調べたのを思い出しながら、Pascal Interfaces の TextEdit.p をのぞいてみました。

     これはすごくややこしいですよ〜。僕も定義をみながら「どうやらこういう定義らしい」と推測している程度なんでねえ。詳しくは Inside Macintosh にでも載っているんでしょうが:

     スタイル情報は TEStyleRec というレコードで管理されてまして、Pascal の定義でいう

    > FUNCTION TEGetStyleHandle(hTE: TEHandle): TEStyleHandle
     にて取り出すことができます。たぶん FB2 標準サポートの ToolBox にはないだろうから、TextEdit.p を Pascal Converter にかけることになるでしょう。引数に TEHANDLE で得た TEHandle を (ややこしい) 置いてやれば、返り値として TEStyleRecへのハンドルが得られます。

    TEStyleRec は次のような定義になっています。

    TEStyleRec = RECORD
    nRuns: INTEGER; {number of style runs}
    nStyles: INTEGER; {size of style table}
    styleTab: STHandle; {handle to style table}
    lhTab: LHHandle; {handle to line-height table}
    teRefCon: LONGINT; {reserved for application use}
    nullStyle: NullStHandle;{Handle to style set at null selection}
    runs: ARRAY [0..8000] OF StyleRun; {ARRAY [0..8000] OF StyleRun}
    END;

     まず nRunsフィールドをとってきて、実際のスタイル情報を扱う StyleRun の数を知ります。この数が、一番したの runs という配列の要素数となります。これで8千個までのスタイル情報がサポートされているのがわかりますね。

     で、次に StyleRun の定義は:

    StyleRun = RECORD
    startChar: INTEGER; {starting character position}
    styleIndex: INTEGER; {index in style table}
    END;

     となっています。startChar で、そのテキストフィールドの何バイト目からの情報であるかがわかります。で、ここで styleIndex の値を取っておき、TEStyleRec に戻ります。

     TEStyleRec のうち styleTab は Style table と呼ばれる、本当に実際のスタイル情報を収めたレコードの配列 (ふう、まだ実際のレコードにたどりつきません) です。実際のスタイル情報は STElement というレコードに収められていて、

    STElement = RECORD
    stCount: INTEGER; {number of runs in this style}
    stHeight: INTEGER; {line height}
    stAscent: INTEGER; {font ascent}
    stFont: INTEGER; {font (family) number}
    stFace: Style; {character Style}
    stSize: INTEGER; {size in points}
    stColor: RGBColor; {absolute (RGB) color}
    END;

     と定義されています。Style table 自体は

      TEStyleTable = ARRAY [0..1776] OF STElement;

     と、STElement の1777個の配列と定義されています。先に StyleRun からとっておいた styleIndex というのは、ここでの配列要素番号です。

     ふう、これで実際のスタイル情報にたどりつきました。StyleRun から、スタイルが何バイト目から始まるのかはわかってますので、あとは stCount 分だけ STElement のようにスタイルがセットされているわけです。

     ややこしかったですねえ。なんどか読み返してみてください(^^;)

     しかし ToolBox にもスタイルを扱うものは当然あります。これらは、アクティブなテキストフィールドにしか使えないので、ウインドウが作られる前には使えません。(つまり、ファイルから HTML 文書を読み込んで、スタイル情報を作ってからながし込むのには使えない)

     やりかたは、TESetSelect か FB の SETSELECT でテキストを選択してから、TESetStyle() でスタイルをセットします。FB では

    CALL TESETSTYLE(mode, txtStyle, redraw, teH&)

     です。txtStyle は TextStyle レコードを渡します。

    TextStyle = RECORD
    tsFont: INTEGER; {font (family) number}
    tsFace: Style; {character Style}
    tsSize: INTEGER; {size in point}
    tsColor: RGBColor; {absolute (RGB) color}
    END;

     となってます。引数の mode については

    _doFont1フォントID
    _doFace2文字スタイル
    _doSize4文字サイズ
    _doColor8文字の色
    _doAll15すべて
    _addSize16文字サイズの増減
    _doToggle32設定をトグルする

     となっていて、オンの部分だけが設定されるわけです。選択範囲の設定は FB もサポートしている Toolbox

     CALL TEGETSTYLE(byte%, txtStyle, lineH&, ascent%, teH&)
    Byte = FN TECONTINUOUSSTYLE(mode, txtStyle, teH&)

     の二つが使えます。前者は New Inside Macintosh には載ってませんので、後者が望ましいでしょう。ただ、選択範囲にひとつのスタイルしか使われていないという保証がないのと、ファイルを先頭から順番にチェックしていくような用途にはむいてないですね。

     どうでしょう。めんどくさくなったのもわかるでしょう(^^;) わかってしまえば、あとは逐次処理なんでそんなにややこしくないんですけど。(ループしていくだけですから)後者と併用するのがいいでしょうね。(スタイルのセットだけ TOOLBOX でやるとか)

    > (2) 文章の位置調節について
    > ベンさんのPG講座のサンプルプログラムでは、文字位置をセンタリングできたり、右寄せにできますが、文章全体にわたってしまいます。ワープロ(クラリスワークス)はそんなことはないのですが、これは、独自の処理を必要とするのでしょうか?

     はい。これは行の「寄せ」情報っていうのは、文書でも文字でもなく「行」の情報だということに由来するものです。
     スタイル情報は文字ひとつひとつのための情報なので、寄せ情報までは含んでません。で、ここで設定されている「寄せ」情報は、TERecord をいじっているので、文章全体に影響してしまうわけです。TextEdit と Styled TextEdit には行についての情報を管理する方法はありません。

     この手の問題を解決するために、Pascal や C の世界では WASTE TextEngine というのがフリーウェアとして公開されています。Text Service Manager (日本語インライン入力とか) や、32K超のテキストを扱うテキストエンジンで、たぶん行情報も扱うでしょう。FB では、Ariel Publishing という、Inside BASIC をだしていた会社が FB power Pak のなかでこれをサポートしています。たしか 90ドルくらいだったと思う。http://www.arielpub.comをのぞいてみて下さい。

     あとはまだわかりません〜(^^;)

     では、がむばってください(^^;)

    Subject: [fb-ml 906] Re: はじめまして?
    古籏一浩です。

    At 0:00 97.9.18 +0000, 仙台7200/90 wrote:
    >>X6はプログラマーフレンドリー?な機械でしたねぇ。X1から続く血筋ですか。
    >>SHARPも今では見る影が(メビウスノートなどに思想があるものか!)ありませんね。
    > 全くです。私はできるだけ国産品を買おうと思っているのですが,マックに限ってはどうしようもありません。SHARPが Power X1 でも作ってくれれば買っちゃいます。

     Power X21(コードネーム)計画があったようですが立ち消えになったそうで。音頭取りがいなければ当然こうなりますね・・・
     シャープのMZ作った人たちとX68作った人達が共同で作るという話しだったのですが。CPUはpowerPC601/66MHzでキャッシュは32K...
     最後は自分たちで設計して作るしかないですね(^^;

    Subject: [fb-ml 907] Re: ファイルがあることを審査する方法
    古籏一浩です。

    At 22:33 97.9.17 +0900, Tatsuya_Miyata wrote:
    >ON ERROR のあるBASICに馴染んでないから露見した無知ですね。
    >はずかし〜っ。
     でも普通はON ERRORっていうと全てのエラー発生時に処理される呼び出し先を指定するのが普通なんで、ぱっと見ではわからないですよね。マニュアルにFAQでもあれば、いいんだけど。

    >>EDIT MENU 2
    >>
    >> とすれば自動的にサポートされます。
    >なるほど・・・。
    >これはマニュアル読んでないって事ですね。(;_;)

     私もFB1.0.2を買ったときは同じ状態でした。昔質問されて「わかりませ〜ん」
     と答えてましたが、やっぱりマニュアルは友達ですね(^^)
     読んでいて笑えますし(汗)

    >> 画像や自前でやりたい場合は、私のページにあるFB講座中級編を参照して下さい(^-^)
    >
    >ありがとうございます。
    >以前から重宝しとります。はい。

     近々、作ってあるヤツのどれかを載せたいと思います。
     でも、いつになるかは不明という毎度のオチf(^^;

    Subject: [fb-ml 908] Re: はじめまして?
    こんばんは。
    水野です。

    昔のコンピュータの話題でもりあがってますね。

    僕も、むかーし、PC-6001(初代・しゃべらないやつ)をつかってたんで、なつかしいです。
    ベーマガもずっと買ってました。
    あの本で、ずいぶん、プログラミングの細かいテクニックとか勉強させてもらいました。

    そういえば、当時のI/Oとかって、膨大な量のダンプリストとかがどばーっと載ってたりしましたけど、あれって、打ち込んだ人いるんでしょうかね。
    ちょっと、手で打ち込むのは、かなり大変そうでしたが。

    当時はアセンブラを持ってなくて、電卓片手にハンドアッセンブルの毎日でした。
    記録はテープだったし。

    その後、PC-9801を触るようになったとき、あまりの速さに驚きました。V30の10MHzでした。
    メモリ384キロバイトも超広大な空間でした。
    それまで、拡張しても32キロでしたからねー。

    さて、本題ですが、僕のホームページのアドレスがいきなり変更になってました。
    学校のサーバの都合です。

    ちょっとした変更ですが。

    http://www.hongo.ecc.u-tokyo.ac.jp:10080/‾aa66222/fb/

    です。

    STAZのサンプルページにMIDI関係のサンプルがアップされていたので、追加しました。

    Subject: [fb-ml 909] Re: はじめまして?
    > Power X21(コードネーム)計画があったようですが立ち消えになったそうで。音頭取りがいなければ当然こうなりますね・・・
    > シャープのMZ作った人たちとX68作った人達が共同で作るという話しだったのですが。CPUはpowerPC601/66MHzでキャッシュは32K...
    > 最後は自分たちで設計して作るしかないですね(^^;

    私が聞いたウワサだとARM使うとかゆう話だったんですが、PPCだったんですか。

    PPCをすっぴんに近いOSでプレーンなVRAMに直アクセスとかできるとどれだけ派手なゲームが作れるんでしょうか。

    やっぱりスプライトの方が速いかな?

    ちなみにさっきSANE使ったデモ作ったらBCD演算に負けちゃったんですけど・・・。
    どなたかこの謎を解けるかたいらっしゃいますか?
    実行環境は PowerMacintosh8500/180 にスピードダブラーかましています。

    プログラムは以下の様なもので、コンパイルには SANEフォルダのINCLファイルとSANE.GLBLが必要です。

    '--------------------------------------------------------------------
    INCLUDE "SANE Calls.INCL"
    INCLUDE "SANE <-> String.INCL"
    INCLUDE "SANE <-> BCD.INCL

    DIM X#(100),Y#(100),YF#(100),XF#(100),YD#(100),XD#(100)
    WINDOW 1,"floating point test",(0,0)-(320,240)
    TEXT _sysfont,12

    DIM x.10
    DIM y.10
    DIM xf.10
    DIM yf.10

    FOR i=0 TO 100
    X#(i)=160
    Y#(i)=120
    XF#(i)=SIN(i/20)
    YF#(i)=COS(i/20)
    NEXT

    'SANE
    FOR j=1 TO 100
    FOR i=0 TO 100
    FN BCD2X(X#(i),x)
    FN BCD2X(Y#(i),y)
    FN BCD2X(XF#(i),xf)
    FN BCD2X(YF#(i),yf)
    FN AddX(xf,x)
    FN AddX(yf,y)
    XD#(i)=X#(i)
    YD#(i)=Y#(i)
    COLOR _zWhite: PLOT XD#(i),YD#(i)
    X#(i)=FN X2BCD#(x)
    Y#(i)=FN X2BCD#(y)
    COLOR _zBlack: PLOT X#(i),Y#(i)
    NEXT
    'HANDLEEVENTS
    NEXT

    'BCD
    FOR i=0 TO 100
    X#(i)=160
    Y#(i)=120
    NEXT

    FOR j=1 TO 100
    FOR i=0 TO 100
    XD#(i)=X#(i)
    YD#(i)=Y#(i)
    COLOR _zWhite: PLOT XD#(i),YD#(i)
    X#(i)=X#(i)+XF#(i)
    Y#(i)=Y#(i)+YF#(i)
    COLOR _zBlack: PLOT X#(i),Y#(i)
    NEXT
    'HANDLEEVENTS
    NEXT

    END

    Subject: [fb-ml 910] Re: はじめまして?
    Takaomiです。

    根来さんWrote:
    >Takaomiさんは古くからのマイコンユーザーなのですね。
    >私が初めてさわったコンピューターは,デパートに置いてあったファミコンの

    僕が始めて触ったのは、ゴムキーボードのPC-6001かJR-200のどちらかです。どちらも近所の家にあり、その状況が僕をパソコン購入へと導いたのだと思います。印象に残っているゲームは、タイムトンネル・デゼニランド・ミコとアケミのジャングルアドベンチャー(でしたっけ?)・トリトーン・ハイドライド・WILLなどなど数え上げればきりがありません。(なつかしくなってきたので、懐かしゲームのページでも作ってしまうかも)昔は、STOPかCTRL+Cで止めてプログラムを見たりできたので、参考にできました。

    >マックに良く似たX68000も高くて買えませんでした。うう,X68000欲しかった。
    僕もX68Kは欲しい機種でした。特に、BASICコンパイラが優秀そうでLOGINのソフトコンテストなどでも、BASICで作ったシューティングゲームなどがよく賞をもらっているのを見てうらやましく思っていました。友人が持っていて、源平討魔伝とマーブルマッドネスを遊ばせてもらって喜んでいました。

    古籏一浩さんWrote:
    > 雑談ネタでもよいので適当に書き込んでやってください〜
    > あと1ヶ月もすれば面白いネタ(?)を流しますので。

    とのお言葉にあまえて、FBに関係ないメールですがお許し下さい。
    面白いネタとは、FBに関することなのでしょうか?

    > 6601mkIISRが「六本木パソコン」でしたよね?
    > これに対抗したのがシャープのMZ-1500で最初の番号はMZ-777でした。

    「六本木パソコン」はあまりにも恥ずかしい記憶なので、僕の中から消えていました。そういえばそうでしたね。あのころは、松田聖子・タモリ・岡田由希子などなど有名タレントの起用がさかんでした。

    > 今は覇気がないし掲載されているゲームもイマイチですね・・・
    > Win95+VBのプログラムは何ですし・・・
    > 一応Macとありますので、誰かFBでゲームを作って送ったらどうでしょう?
    > 意外と載るかもしれませんよ。

    手頃なのが出来たら送ってみます。ただリソースとかはどうしたらいいのでしょうね。ホームページから落としてね、ではまずいですよね。
    それか、キャラクターベースのゲームにすればいいかな。ローグのように。

    長々と書きましたが、お返事ありがとうございました。
    今後とも宜しくお願いします。

    Subject: [fb-ml 911] Re: はじめまして?
    Takaomi です。

    根来さんWrote 97.9.18 0:00 AM:
    >>当時 模型とラジオの別冊だった頃から、創刊2年くらいの間に VIC-1001とCommodore64のプログラムを掲載していただいておりました。
    > これは失礼しました。そんな著名な方とは存じませんで,恐縮です。

    多分これは、Tatsuya_Miyata(Miyapi)さんが出されたメールを僕のものと勘違いされていると思います。

    レスのレスがたくさんありましたので、わかりにくかったと思います。
    ぼくは、ベーマガに何回か載ったことがあるだけです。
    それでは!

    Subject: [fb-ml 912] Re: はじめまして?
    水野です。

    >僕が始めて触ったのは、ゴムキーボードのPC-6001かJR-200のどちらかです。どちらも近所の家にあり、その状況が僕をパソコン購入へと導いたのだと思います。印象に残っているゲームは、タイムトンネル・デゼニランド・ミコとアケミのジャングルアドベンチャー(でしたっけ?)・トリトーン・ハイドライド・WILLなどなど数え上げればきりがありません。(なつかしくなってきたので、懐かしゲームのページでも作ってしまうかも)昔は、STOPかCTRL+Cで止めてプログラムを見たりできたので、参考にできました。
    おおー。
    なつかしいですねー。
    タイムトンネルは僕もやりました。
    友人の家のMZ-700で。
    ダナーク星人(でしたっけ?)を倒すやつですよね。平安京とかに行くやつ。
    懐かしゲームのページですかー。いいなあ。
    サラダの国のトマト姫とかもありましたね。

    あ、僕のホームページの件ですが。
    さっき調べてみたら、もとのURLでもつながるようになってました。
    1時間前まではつながらなかったんですけど。
    失礼しました。

    Subject: [fb-ml 913] Re: はじめまして?
    宮田です。

    >僕が始めて触ったのは、ゴムキーボードのPC-6001かJR-200のどちらかです。
    ゴムキーボードはJRだと思います。
    PC-6001はパピコンとよばれておりました。御記憶でしょうか>諸兄
    パピコンのキーボードも恐ろしく使いにくいものでしたがZX81には勝てませんでしたね。ありゃひどかったですよ。

    VICは一応普通のキーボードでしたが、C64はステップスカルになってそれはそれは夢のように打ちやすかったのを覚えています。

    >> 6601mkIISRが「六本木パソコン」でしたよね?
    >> これに対抗したのがシャープのMZ-1500で最初の番号はMZ-777でした。

    「六本木パソコン」は佐渡おけさを歌うデモを流していたのが印象的でした。
    MZ-777にはQDとプロッタプリンタがオプションでついてましたねぇ。

    777といえば人々のHitBitですが、SMC-777はニチブツでグラフィックエディタとして随分長い間使われていたみたいです。その後ソニーはMSXの最期の方まで続いていましたが、その思想を受け継いだパソコンがvaioでしょうか。

    パソコン市場はTK−80のCOMPO-BSや東芝のEX−80のベーシックボードなんかから始まってMZ−80K、PC−8001(MZの方が遥かに早かったように思いますが如何でしょう?)のMZ−PC戦争(今のMac−Winより激しい争いだったような気がしますね、はみだしI/Oぷらざでよくモメてたし・・・。)が起こりPC8800、X1、FMという世代を経てMSX、PC98で98が一世を風靡して、一時は98だらけでしたが(その裏でFM16βなる機械がありまして、持ってました)4、5年前からDOS/Vなるものが現れ、486がPentiumになるころには98は徐々に廃れ、Windowsが95になってからはDOS/V vs Macという図式になり98は息絶えようとしておりますな。

    ふと読み返すと実に乱暴なまとめ方ですな。

    >手頃なのが出来たら送ってみます。ただリソースとかはどうしたらいいのでしょうね。
    無粋な。DATA文に起こしてPOKEで書き込む!(できへんできへん)
    PICTURE ON
    ‾‾‾
    PICTURE OFF
    で定義しておくというのがイマ流でしょうか。(なんか違う気が・・・)

    昔、FM−8のデモで麻雀があったのですが、これのパイはPSET文やLINE文で書かれたサブルーチンを呼び出すことで描画しており、配パイしている時に一生懸命描画していたことを思い出します。

    それにしても昔話だとネタに困りませんね。
    このMLのオフ会はやはりこういうネタになってしまうのかしらん?

    (それにしてもβ版納品の前夜だというのにこんなにメール書いてていいのだろうか?(^^;)

    Subject: [fb-ml 914] Re: はじめまして?
    >多分これは、Tatsuya_Miyata(Miyapi)さんが出されたメールを僕のものと勘違いされていると思います。
    その様ですね。私は御本人に直接リプライしました。(^^;

    >レスのレスがたくさんありましたので、わかりにくかったと思います。
    >ぼくは、ベーマガに何回か載ったことがあるだけです。

    私も数回だったと思います。ただ、VICとC64なので競争率は格段に低かったはずです。(越川さんという編集の方からC64を買ったと手紙を書いたら掲載プログラムを作ってね。と電話が来た(^^;)

    そういえば模型とラジオにC64の外付けハードの記事が載った事がありました。
    C64の汎用パラレルポートにつなぐオーディオタイマーで、4Chの制御ができました(最大8Chまで拡張できる)リレーを高速にON/OFFして調光する制御も試みたのですがうるさいのと電球がすぐに切れてしまうという理由から(^^;その機能を外した記憶があります。

    今のパソコンじゃ絶対できませんね。古き良き時代のお話しです。

    (DOS/Vならプリンタポートを直接制御すればできると思うけど、プリンタポートだとOSが何かしたらえらいこっちゃになりますな。)

    Subject: [fb-ml 915] Re: はじめまして?
    古籏さん,こんばんわ。

    >>しかし,このMLも100人を越えているそうですし,100対2では負担が大きすぎますから,懲りずにオカルトなレスを付けて行きたいと思います。
    >>まぁ,私のレスはまゆつばものとして聞いてください。
    > 雑談ネタでもよいので適当に書き込んでやってください〜
    > あと1ヶ月もすれば面白いネタ(?)を流しますので。

     ありがとうございます。発言されたことのない方も,雑談なら参加しやすいでしょうか。しかし,懐古趣味的な話では若い人はつまらないかな。

    >>中古のカシオFP1100というマルチCPUマシン(苦しい)...
    > 演算精度20桁(21桁?)のマシンですね。
    > FP1000,FP1100と出して撤退してしまいましたが、まあ正解だったのでは。

     そうなんですよ。実は私,当時は天文小僧でして軌道計算の真似事をしたくて演算精度20桁に引かれたのです。結局カシオ最後の巨大電卓だったのですね。
     ちょっと凝った計算なら,10日ほどかかってしまいました。夏場に一度熱暴走しまして,ピーという音が鳴り続けて母親がとうしてよいかわからずに,学校まで電話をかけてくるという落ちがありました。

    > Macを買うときよりも70万円のPostScriptプリンタを購入する時が一番度胸がいりました。本体よりも周辺機器にお金をかけてます。
     おお,私もPSプリンターは気合い一発で買うには高すぎて悩みに悩みました。
     最近中古で買ったEPSON LP8000は6万円ですから数年前のPSプリンターは無茶具茶高かったと思います。

    > X68000も買いました(いっぱいマシンはあるんです・・・)
     いっぱいマシンがあっていいですね。私も捨てずにのけて置けばよかったな。

    Subject: [fb-ml 916] Re: はじめまして?
    古籏一浩です。

    At 1:16 97.9.18 +0900, Tatsuya_Miyata wrote:
    >> だったのですが。CPUはpowerPC601/66MHzでキャッシュは32K...
    >> 最後は自分たちで設計して作るしかないですね(^^;
    >
    >私が聞いたウワサだとARM使うとかゆう話だったんですが、PPCだったんですか。
    >
    >PPCをすっぴんに近いOSでプレーンなVRAMに直アクセスとかできるとどれだけ派手なゲームが作れるんでしょうか。
    >
    >やっぱりスプライトの方が速いかな?

     いろいろ噂はありましたが結局の所ppc,挙げ句の果てに玉砕(笑)
     PPCでもプレーンなVRAMアクセスで書き込むよりもスプライトの方が高速です。スプライトなら4バイトだけ書き込めばOKですから。
     Macでスクロールゲームを作ると512KBとか大量にメモリを動かす必要がありますが、MZ2500,X68000だと2バイトか4バイト書くだけですから高速です。スクロール等であればうちのMZ-2500 (Z80/6MHz)の方がpowerMac9600/233より高速です・・・

    >ちなみにさっきSANE使ったデモ作ったらBCD演算に負けちゃったんですけど・・・。
    >どなたかこの謎を解けるかたいらっしゃいますか?
    >実行環境は PowerMacintosh8500/180 にスピードダブラーかましています。

     スピードダブラー外したらどうなるんでしょう?
     それでもBCDの方が速い?

    Subject: [fb-ml 917] Re: はじめまして?
    古籏一浩です。

    At 1:34 97.9.18 +0000, takaomi wrote:
    >> あと1ヶ月もすれば面白いネタ(?)を流しますので。
    >とのお言葉にあまえて、FBに関係ないメールですがお許し下さい。
    >面白いネタとは、FBに関することなのでしょうか?

     そうです〜FBネタです。

    >> 6601mkIISRが「六本木パソコン」でしたよね?
    >> これに対抗したのがシャープのMZ-1500で最初の番号はMZ-777でした。
    >
    >「六本木パソコン」はあまりにも恥ずかしい記憶なので、僕の中から消えていました。そういえばそうでしたね。あのころは、松田聖子・タモリ・岡田由希子などなど有名タレントの起用がさかんでした。

      松田聖子=ソニー
       タモリ=富士通
     横山やすし=東芝
     岡田由希子=??(どこでしたっけ?)

    >手頃なのが出来たら送ってみます。ただリソースとかはどうしたらいいのでしょうね。ホームページから落としてね、ではまずいですよね。
    >それか、キャラクターベースのゲームにすればいいかな。ローグのように。

     データ文にするって所でしょう。
     16色かな、やっぱり・・・

    Subject: [fb-ml 918] Re: はじめまして?
    古籏一浩です。

    At 2:14 97.9.18 +0900, Takaaki Mizuno wrote:
    >タイムトンネルは僕もやりました。
    >友人の家のMZ-700で。
    >ダナーク星人(でしたっけ?)を倒すやつですよね。平安京とかに行くやつ。
    >懐かしゲームのページですかー。いいなあ。
    >サラダの国のトマト姫とかもありましたね。

     タイムシークレットはかりてやりましたが、解けていませんf(^^;
     タイムシークレット3部作の3作目はどこ?(笑)

     全然進めなかったのが「デゼニランド」
     タイムシークレットはダンプ表示してコマンドを解析するという手でやってましたがX1は標準でできなかった・・・

    Subject: [fb-ml 919] Re: はじめまして?
    古籏一浩です。

    At 2:33 97.9.18 +0900, Tatsuya_Miyata wrote:
    >>僕が始めて触ったのは、ゴムキーボードのPC-6001かJR-200のどちらかです。
    >ゴムキーボードはJRだと思います。
    >PC-6001はパピコンとよばれておりました。御記憶でしょうか>諸兄
    >パピコンのキーボードも恐ろしく使いにくいものでしたがZX81には勝てませんでしたね。ありゃひどかったですよ。

     JR-100,200はゴムキーボードです。100はうちにあったので確実です。
     ZX81は写真でしか見たことがないです〜
     ぴゅう太のキーボードの方がマシ?
     大重美幸氏がマニュアル書いたバンダイRX-78とか(笑)

    >>> これに対抗したのがシャープのMZ-1500で最初の番号はMZ-777でした。
    >「六本木パソコン」は佐渡おけさを歌うデモを流していたのが印象的でした。
    >MZ-777にはQDとプロッタプリンタがオプションでついてましたねぇ。

     うちには、まだ新品のQDメディアが50枚以上あります(^^)
     QDドライブは、壊れてしまいましたが。

    >777といえば人々のHitBitですが、SMC-777はニチブツでグラフィックエディタとして随分長い間使われていたみたいです。
    >その後ソニーはMSXの最期の方まで続いていましたが、その思想を受け継いだパソコンがvaioでしょうか。

     感じとしてはMSXよりもSMC-3000(超マイナー^^b)に近いかなと思います。くっつけマシン(合体マシン)は、売れないという法則からして中ヒットもないでしょうね。

    >パソコン市場はTK−80のCOMPO-BSや東芝のEX−80のベーシックボードなんかから始まってMZ−80K、PC−8001(MZの方が遥かに早かったように思いますが如何でしょう?)のMZ−PC戦争(今のMac−Winより激しい争いだったような気がしますね、はみだしI/Oぷらざでよくモメてたし・・・。)
     MZ-80Kの方が速かったのはCPU-メモリのウェイトがほとんどないためです。
     ですからMZ-80KのZ80-2MHzとPC8801のZ80-4MHzと速度が同じで、ソフトの技術差が結構あって誰が見てもMZ-80K/Bの方が速いというわけです。
     powerMacのように頭だけ速くても駄目なんですよね・・・

    >>手頃なのが出来たら送ってみます。ただリソースとかはどうしたらいいのでしょうね。
    >
    >無粋な。DATA文に起こしてPOKEで書き込む!(できへんできへん)
    >PICTURE ON
    > ‾‾‾
    >PICTURE OFF
    >で定義しておくというのがイマ流でしょうか。(なんか違う気が・・・)

     ベーマガならDATA文にしてPOKEで書き込むのがよいでしょう!
     PICT -> DATA, DATA -> PICT変換関数作りましょうか?

    >昔、FM−8のデモで麻雀があったのですが、これのパイはPSET文やLINE文で書かれたサブルーチンを呼び出すことで描画しており、配パイしている時に一生懸命描画していたことを思い出します。
     これは市販ソフトでも同じでしたね。
     こうい方式をやめて現在のような方式を取ったのが、日本ファルコムのゲームでしたね。

    >それにしても昔話だとネタに困りませんね。
    >このMLのオフ会はやはりこういうネタになってしまうのかしらん?

     実は皆、名前だけで、どこに住んでいるか、年齢は不詳です(^^;
     自己紹介も強要していませんし。
     プログラマは25歳前後までしか使えないと言うオチが以前ありましたがどうも嘘ですね、これは。60歳であってもプログラム作れますし。

    >(それにしてもβ版納品の前夜だというのにこんなにメール書いてていいのだろうか?(^^;)
     締め切りを延ばすというのは、どうでしょうf(^^/

    Subject: [fb-ml 920] Re: はじめまして?
    古籏一浩です。

    At 10:14 97.9.18 +0000, 仙台7200/90 wrote:
    > ありがとうございます。発言されたことのない方も,雑談なら参加しやすいでしょうか。しかし,懐古趣味的な話では若い人はつまらないかな。
     懐古趣味といっても、いきなりメール量が増えたので良いのではないかな、と。それにしても、皆さんいろいろ使っていたんですね。

    > そうなんですよ。実は私,当時は天文小僧でして軌道計算の真似事をしたくて演算精度20桁に引かれたのです。結局カシオ最後の巨大電卓だったのですね。
    > ちょっと凝った計算なら,10日ほどかかってしまいました。

     天文ですか! 私も同じです(^^)
     私は観察する方が主で、起動計算よりも赤道儀が欲しかった。

    > おお,私もPSプリンターは気合い一発で買うには高すぎて悩みに悩みました。
    > 最近中古で買ったEPSON LP8000は6万円ですから数年前のPSプリンターは無茶具茶高かったと思います。

     今でも高いです。私が購入した頃はライセンス料金で45〜50万くらいしてましたf(@.@)

    >> X68000も買いました(いっぱいマシンはあるんです・・・)
    > いっぱいマシンがあっていいですね。私も捨てずにのけて置けばよかったな。

     だいたい30台くらいあります。
     ほとんどはMZですがf(^^;

    Subject: [fb-ml 921] Re: はじめまして?
    古籏さん,こんばんわ。

    > 懐古趣味といっても、いきなりメール量が増えたので良いのではないかな、と。それにしても、皆さんいろいろ使っていたんですね。
      そうですね。一気に増えましたね(笑)
      ところで私はパソピア16というのも使ったことがありますが,お仲間はいらっしゃいませんでしょうか。>どなたか

    > 天文ですか! 私も同じです(^^)
    > 私は観察する方が主で、起動計算よりも赤道儀が欲しかった。

      赤道義がないと無茶苦茶つらいですね。上手な人はいいでしょうが私は2,3分で目標を外してしまっていました。(T_T
      98に赤道義が繋がった製品が出たときには,すごく欲しかったのを覚えています。

      しかし息の永い題名ですね。

    Subject: [fb-ml 922] Re: はじめまして?
    すいません,横槍レスで申し分けないのですが,すごく気になりまして。

    >>ちなみにさっきSANE使ったデモ作ったらBCD演算に負けちゃったんですけど・・・。
    >>どなたかこの謎を解けるかたいらっしゃいますか?
    >>実行環境は PowerMacintosh8500/180 にスピードダブラーかましています。
    > スピードダブラー外したらどうなるんでしょう?
    > それでもBCDの方が速い?

     FB2ではスピードダブラーとかラムダブラーがインストールされている環境では,正常に動作しないとどこかで読んだのですが,実際の所は大丈夫なのでしょうか。マシンが遅いので双方利用できると助かるのですが。みなさん,ダブラー類は使われていますか?

    Subject: [fb-ml 923] Re: 日付のTOOLBOX
    At 10:27 PM 97.9.12, 堀 浩一郎 wrote:
    > ★さて、今回は日付を表示する関数を探しているのですが、探したら
    >
    > CALL IUDATESTRING([_Time], _LongDate, LongDate$)
    > PRINT "今日は...";LongDate$;"'"
    >
    >  で、とりあえず今日の日付をちゃんと日本語でしかも曜日入りで表示するTOOLBOX関数を見つけたのですが、今日から1日前とか1週間前、はたまた15日前とか、明日8日後など、今日を基準にして目的の日を表示する方法はありますでしょうか?
    >  自前で計算するにはうるう年とかちゃんと計算しなければ行けないので、うまいTOOLBOX関数はあるのでしょうか?

    いろいろ考えてみるに、秒数で計算するのが一番いいですね。日付で計算する限り、閏年の計算とかややこしいですから。

     上記の CALL IUDATESTRING の第一引数は、1904年1月1日午前0時からの秒数をいれるようになっています。これは閏年の計算をするのに都合のいいところから決められた日付のようです。
     第一引数の [_Time] は、システムグローバルの _Time をとってきて渡しています。このシステムグローバルの _Time に、上記の日付から今日までの秒数が入っています。ロング長(4バイト)の値なので、[_Time] つまり PEEK LONG(_Time) で、_Time の指すアドレスから4バイトよみこんでいるわけです。(システムグローバルの一覧は HANDBOOK の P243 以降にあります。)  だから、_Time の値を IUDATESTRINGにいれると、今日の文字列が得られるわけです。

     さて、一日は 60(秒) * 60(分) * 24(時間) = 86400秒です。PEEK LONG(_Time)で得た「今日までの秒数」から、これを増減し、最後に CALL IUDATESTRING にかけることで、目的の日付を得られるんじゃないでしょうか?

     実験してませんが、論理上は正しいと思います。 では。

    Subject: [fb-ml 924] FN FILEEXIST
    At 11:07 AM 97.9.12, Tatsuya_Miyata wrote:
    > で、ファイルがないのを確認したいのですが、これはFILES$を使ってファイルサーチしてないことを確認するしかないんですかね。
    >
    > err% = FILE EXIST ("filename")
    >
    > というような安易な命令はないんでしょうか。
    > となるとやっぱりfiles$でヴォリュームの中身を総ざらいしてないことをチェックするしかないんですかね。
    >
    > たぶんツールボックスの呼び出しにありそうな気がするんですけど・・・?

     ちょっと返事がおくれましたが、実は明快な答えがあります。こういうときはとりあえず Function Library.HELP を見るか、(FB)Example:Handbook フォルダを検索しましょう。今回は Handbook フォルダの File Handling フォルダに isFileThere FNという関数サンプルが見つかりました。これで一発ですね。返り値が _noErr (つまりゼロ) じゃなければ、ファイルが無いってことになります。(つまり _noErr ならファイルはある)

    CLEAR LOCAL MODE
    DIM pbBlk.80
    LOCAL FN IsFileThere% (filename$, wdRefNum%)
    pbBlk.ioNamePtr& = @filename$
    pbBlk.ioVRefNum% = wdRefNum%
    osErr% = FN GETFILEINFO (@pbBlk)
    END FN = osErr%

     たしかに CodeWorrior みたいにCD一枚もあるわけじゃないけど、FB のサンプルだってすごく豊富なんですよ〜。300種こえているんですから。だいたいの悩みは Function Library かサンプルファイル群で疑問が解消します。僕もなんども検索したものです。

     あと、PGなら HFS UTIL.FLTR に FN FileExist ってのがあって便利です。

    Subject: [fb-ml 925] Re: はじめまして?
    > FB2ではスピードダブラーとかラムダブラーがインストールされている環境では,正常に動作しないとどこかで読んだのですが,実際の所は大丈夫なのでしょうか。マシンが遅いので双方利用できると助かるのですが。みなさん,ダブラー類は使われていますか?
    公式にはそうですね。
    多少、動作不安定かもしれませんが(たまにビルドができなかったりとか)
    とりあえず動いています。

    スピードダブラー外すには再インストールしかないんですよね。
    めんどい。(CD-ROMから起動してうごかしてみりゃわかるってば>自分)

    スピードダブラーはホントにいいですよぅ。
    8500/180でもインストールしてないと何やら妙なもたつきを感じます。

    ただ、7.5.5以降は劇的とまではいきませんが。

    コピーダブラーの SpeedReplace は素晴らしいです。ないマシンでフォルダ更新して3つ4つしかファイルが変わってないのに馬鹿正直にコピーしているのをみると「アホかー」と突っ込んでしまいます。

    Subject: [fb-ml 926] Re: はじめまして?
    古籏一浩です。

    At 21:52 97.9.18 +0000, 仙台7200/90 wrote:
    > FB2ではスピードダブラーとかラムダブラーがインストールされている環境では,正常に動作しないとどこかで読んだのですが,実際の所は大丈夫なのでしょうか。マシンが遅いので双方利用できると助かるのですが。みなさん,ダブラー類は使われていますか?
     うちはSPEED DOUBLER ver1の方を入れていますが、全然問題なく動作しています。FB 1.0.2,FB2.1ともにです。
     機種はpowerMac8500/132です。

    Subject: [fb-ml 927] Re: 簡易HTML エディタ
    Tsutomu YANO wrote:

    > > (2) 文章の位置調節について
    > > ベンさんのPG講座のサンプルプログラムでは、文字位置をセンタリングできたり、右寄せにできますが、文章全体にわたってしまいます。ワープロ(クラリスワークス)はそんなことはないのですが、これは、独自の処理を必要とするのでしょうか?
    >
    > はい。これは行の「寄せ」情報っていうのは、文書でも文字でもなく「行」の情報 だということに由来するものです。 スタイル情報は文字ひとつひとつのための情報なので、寄せ情報までは含んでません。で、ここで設定されている「寄せ」情報は、TERecord をいじっているので、文章全体に影響してしまうわけです。
    > TextEdit と Styled TextEdit には行についての情報を管理する方法はありません。
    >
    > この手の問題を解決するために、Pascal や C の世界では WASTE TextEngine というのがフリーウェアとして公開されています。Text Service Manager (日本語インライン入力とか) や、32K超のテキストを扱うテキストエンジンで、たぶん行情報も扱うでしょう。FB では、Ariel Publishing という、Inside BASIC をだしていた会社が FB power Pak のなかでこれをサポートしています。たしか 90ドルくらいだったと思う。http://www.arielpub.com をのぞいてみて下さい。
    >
    > あとはまだわかりません〜(^^;)
    >
    > では、がむばってください(^^;)

    大変詳細なアドバイス、ありがとうございました。前半は難しくて、まだ殆ど理解できていません。

    WASTE TextEngineについては、TexEditもこれを使っていました。Pascalで作ってある、と書いていましたので、Pascal用はあるのでしょうが、Pascalコンバータというものは知りませんでした。それは、PascalのソースがBASICなり、機械語なりになるというものなのでしょうか?ArielPublishもあとで良く見て見ます。昨日、西武に本を見にいったのですが、InsideMacintoshが結構ありました。Textも在庫があったのですが、驚くほどの分厚さで気絶しそうになりました。(^^;;ついでに値段も。分かってはいるけど、高い。

    やりたいことというのは、前にも書いたかもしれませんが、最終的にはBBSソフトと専用のクライアントソフトなのですが、もちろん、Windows版やUNIX版を作る時間もお金も能力もないので、WWW+CGI(またはW*API plug-in)というかたちがもっとも簡単な解決方法ではと思うのです。なので、メッセージをHTMLで扱いたい、今までのBBS、たとえば、NIFTYのように等幅しか使えないよりはインラインでイメージを含んだり、さまざまな色や大きさの情報をもったテキストをクロスプラットフォームで扱えればと思いました。

    一応、CGIの方は(最近更新してませんけど)ホームページで、漢字コード変換などを含めて簡単な説明+コードを公開していますので、ネットワーク・インターネットに興味がある方は是非お越しください。一応、閑古鳥の掲示板もあります。(T_T) http://www.ravi.ne.jp/FBII/

    Subject: [fb-ml 928] Re: はじめまして?
    > 古籏一浩です。
    > >> X68000も買いました(いっぱいマシンはあるんです・・・)
    > > いっぱいマシンがあっていいですね。私も捨てずにのけて置けばよかったな。
    > だいたい30台くらいあります。
    > ほとんどはMZですがf(^^;

    Z80といえば、特別に思い出深いものがあります。PC88とか、X1とか、MSXとかみんなZ80でしたね。(MZも) 自分は最初はPC88だったのですが、それで殆どマシン語のレンダリングソフトを作ったのを思い出します。最初は、BIOSの浮動小数点演算のルーチンを使っていたのですが、あれは遅かった。鏡面を多く含むものを演算させると恐ろしく時間がかかって、3〜4日、計算し続けるという状態でした。(PowerPCのレンダリングソフトを使ったときは、隔世の感を覚えました)内部的には24bitの色精度で演算させていたので、88の8色というのは問題外に少なく、高校の入試のときに東京に出てきて、ホテルの食事をキャンセルしてためたお金で、値切りに値切って中古のMSX2+を買ったのを思い出します。で、これがBCDで死ぬほど演算が遅くて、結局浮動小数点演算などすべて自前で書いたんです。X1とか、当時はすでに98の天下でしたので、1万円くらいで中古で買えたのでいろいろなマシンを買いあさりました。88も4台、X1も3台くらい持ってました。Z80は変なポリシーがあって、LDIRとかインデックスレジスタを使う命令とか2バイトになるのは絶対使いませんでした。その後98を買うも使い方が分からず(MS-DOSが訳分からない上に、Windowsのインストールの仕方も分からなかった。)パソコンを使うのをやめました。Macintoshはカラクラが4万で売っていて、使いやすいというイメージがあったので、ダメ元で買ったのがいまから3、4年前です。以来、LC475、カラクラ2、PM6100/60AVなどを使ってきて、今は7300/180をメインに、8100/80、Centris650(WWW)、Quadra610(DNS)、Quadra840AV(Mail)という環境です。

    MZは小学校か中学のときくらいかな、たしか、QuickDiskってのがついてましたよね?で、ファイミコンのディスクシステムに使えるとかで、何時のまにかなくなってしまいましたけど、64Kが8秒?だかで読めて、デモでテープとQDの読み込みの差をやってたのは記憶しています。そのMZを友達が買ったんですが、彼がBASICを教えてくれたのです。最初にPRINT命令を教えてもらって、それをためすために10キロくらいはなれた町のダイエーにいってMZを操作するも、うまくいかない。「*」が表示されているだけ。で、翌日、友達に聞いたら、クリーン設計(?)とやらで、BASICがROMにのってないからそれを最初に読まないと使えない、ということだった訳です。これが、一番最初のにがいわたしのパソコン経験です。(笑)もっとも当時は、使えないということしか理解できませんでしたけど。
    言語はBASICと機械語(Z80、8086)それと、最近覚えたAppleScirptと、JavaScriptなのですが、共通しているのはタダでつかえる、もしくはおまけでついて来たものです(笑)FutureBasicは初めてお金を出して買ったので、がんばってもとをとらなければと思う今日この頃です。

    Subject: [fb-ml 929] Re: NetscapeのPlug-in を作成するには?
    > >それと、最近とても不思議に思っていることがありますが、よくアバウト画面などで、ボタンなどをクリックするとネットスケープが立ち上がってそのソフトなどのホームページが表示されるものがありますが、あれはどういう仕組なのでしょうか?NetscapeにAppleEventを送っているのでしょうか?
    > 私はわからないのでパスf(^^;
    > マニュアルにある「RUN」命令の所とか参考になるかもしれませんが。

    というわけで調べて参りました。

    >http://www.quinn.echidna.id.au/Quinn/Config/Programming_Docs.html#LaunchingaURL
    より。

    Launching a URL

    The ICLaunchURL routine combines Internet Config helper database with the GURL AppleEvent Suite standard to provide a simple mechanism for handing off a known URL to the user's preferred helper. The following sample code demonstrates how you can do this.

    function LaunchURL(url: Str255): ICError;
    var
    start, fin: longint;
    begin
    start := 0;
    fin := length(url);
    LaunchURL := ICLaunchURL(inst, '', @url[1], length(url), start, fin);

    end; (* LaunchURL *)

    とするようなのですが、これはPascalというものでしょうか?
    サッパリ意味不明なのですが、要するに、Internet Configで指定されているアプリケーションでURLを開くサンプルソースなのです。

    Subject: [fb-ml 930] Re: はじめまして?
     にったといいます。こんにちわ。

    At 13:04 97.09.18 +0900, KaZuhiro FuRuhata wrote:
    > MZ-80Kの方が速かったのはCPU-メモリのウェイトがほとんどないためです。
    > ですからMZ-80KのZ80-2MHzとPC8801のZ80-4MHzと速度が同じで、ソフトの技術差が結構あって誰が見てもMZ-80K/Bの方が速いというわけです。
    > powerMacのように頭だけ速くても駄目なんですよね・・・

     P8はビデオ描画などに割り込みを頻繁に使っていたので遅かったのですよね。計算を速くするためにビデオを止めたりするソフトもあったような気がします。一方MZの方は、ビデオもキーボードもIOまわりは全部実メモリ空間に割り付けるというなんとも強引な仕様でした。まぁ、このおかげでPEEK,POKEで読み書きするだけで制御できたので、プログラミングの練習をするには非常に楽でしたけど。ついでにいうと、CPUの全バスが外部に出ていたのでハード的にいたずらするのも楽でした(全回路図も公開されていたし)。PSGボードを自作したときはその音質に感動したものです。

     誰もお書きになりませんが、当時、舶来モノではPET2001とかTRS80とかApple IIなんてのもありましたね。どれも非常に高価でしたが。

    Subject: [fb-ml 931] Re: はじめまして?
    古籏一浩です。
    おーるどぱそこんメーリングリストですね(笑)

    At 14:19 97.9.19 +0900, Wataru Nitta wrote:
    > P8はビデオ描画などに割り込みを頻繁に使っていたので遅かったのですよね。計算を速くするためにビデオを止めたりするソフトもあったような気がします。
     OUT命令でDMAを停止させて描画させるという方法ですね。
     私もやった事があります。
     異様なまでに遅いグラフィック画面の消去は謎でした(^^;
     簡単なLDIRで埋めてもあそこまで遅くないんだけど・・・

    >一方MZの方は、ビデオもキーボードもIOまわりは全部実メモリ空間に割り付けるというなんとも強引な仕様でした。まぁ、このおかげでPEEK,POKEで読み書きするだけで制御できたので、プログラミングの練習をするには非常に楽でしたけど。
     メモリマップドI/Oですね。
     Macで使用されている680x0もメモリマップドI/Oです。
     モトローラー系はメモリマップドI/O系のCPUが多いのかな?
     X1はGRAMがI/Oにぶらさがっていたのでバンク切替もなかったですね。
     最高に複雑なのがMZ-2500かな。256KBメモリをZ80の64KBメモリ空間に4KB単位で自由にマッピングして使うというf(^^;
     GRAM配列ではMZ-2861の65536色モードが想像もできない逸品(?)です。

     ああ、話がFBとは関係ない方向に(笑)

    Subject: [fb-ml 932] Re: NetscapeのPlug-in を作成するには?
    古籏一浩です。

    At 13:33 97.9.19 +0000, Osamu Shigematsu wrote:
    >function LaunchURL(url: Str255): ICError;
    > var
    > start, fin: longint;
    >begin
    > start := 0;
    > fin := length(url);
    > LaunchURL := ICLaunchURL(inst, '', @url[1], length(url), start, fin);
    >
    >end; (* LaunchURL *)
    >
    >とするようなのですが、これはPascalというものでしょうか?
    >サッパリ意味不明なのですが、要するに、Internet Configで指定されているアプリケーションでURLを開くサンプルソースなのです。

     Pascalは

    :=   はFBだと =  (代入です)
    Str255 はFBだと 文字列変数です。
    var   は変数宣言です。
    longint はFBだとロング変数です(変数の末尾に&を付加)

    LOCAL FN LaunchURL(url$)
    DIM start&,fin&

    start& = 0
    fin& = LEN(url$):関数処理がわからないf(^^;
    LaunchURL = ICLaunchURL(inst,"",@url$,LEN(url$),start&,fin&)
    END FN

    ICLaunch内のLEN(url$)とfin&のLEN(url$)は多分違うような気がします。
    これ以上は私の力では無理なので、誰かパス(^^;

    Subject: [fb-ml 933] Re: はじめまして?
    古籏一浩です。

    At 21:52 97.9.18 +0000, 仙台7200/90 wrote:
    >  ところで私はパソピア16というのも使ったことがありますが,お仲間はいらっしゃいませんでしょうか。>どなたか
     パソピア16は少ないと思いますよ。
     三菱のMulti16といい勝負(^^;
     友人はパソピア7でした。27色でますから。

    >> 天文ですか! 私も同じです(^^)
    >> 私は観察する方が主で、起動計算よりも赤道儀が欲しかった。
    > 赤道義がないと無茶苦茶つらいですね。上手な人はいいでしょうが私は2,3分で目標を外してしまっていました。(T_T > 98に赤道義が繋がった製品が出たときには,すごく欲しかったのを覚えています。

     就職の時にコンピューター+天文関係を考えたのですが、不景気でなぜかスクラップ屋さんになってしまいました(^^;
     うちの望遠鏡は屈折式なので、友人の反射望遠鏡が羨ましかったなあ。

    Subject: [fb-ml 934] Re: 日付のTOOLBOX
    <ベンさん>

    ★いつもありがとうございます。
     さっそくやってみて、うまく動きました(^o^)/。
     
    >>LOCAL FN getDayData
    >>
    >> DIM pointLoc(2)
    >> check = 0
    >> stepEnd = -365 '"とりあえず前1年をチェックするので365日"
    >>
    >> '"ウィンドウから移動したい日時を取り出す"
    >> lyear = VAL(EDIT$(_yearFld))
    >> lmonth = VAL(EDIT$(_MonthFld))
    >> lday = VAL(EDIT$(_DayFld))
    >>
    >> FOR check = 0 TO stepEnd STEP -1
    >>
    >> gkhIntervalDay = 0 '"今日から何日前かを入れるグローバル"
    >> j = 1 '"「.」をチェックすするカウンターをリセット"
    >>
    >> '"「97.9.18」のような表示"
    >> CALL IUDATESTRING([_Time] + 86400 * check, _ShortDate, ShortDate$)
    >>
    >> '"数字を取り出すための「.」の位置をチェック"
    >> FOR i = 1 TO LEN(ShortDate$)
    >> LONG IF MID$(ShortDate$,i,1) = "."
    >> pointLoc(j) = i
    >> j = j + 1
    >> END IF
    >> NEXT i
    >>
    >> '"ShortDate$から年、月、日を取り出す"
    >> syear = VAL(MID$(ShortDate$,1,pointLoc(1) - 1 + 1)) >> smonth = VAL(MID$(ShortDate$,pointLoc(1) + 1,pointLoc(2) - pointLoc(1) + 1))
    >> sday = VAL(MID$(ShortDate$,pointLoc(2) + 1,LEN(ShortDate$) - pointLoc(2) + 1))
    >>
    >> '"一致したところをgkhIntervalDayに入れる"
    >> LONG IF syear = lyear AND smonth = lmonth AND sday = lday
    >>
    >> BEEP
    >> gkhIntervalDay = check
    >> check = stepEnd
    >>
    >> END IF
    >>
    >> NEXT check
    >>
    >>END FN

     ■pointLoc(2)みたいな変な配列変数を使うところがエレガントでないですが、まぁ、動いたから良かったです。

     でも、この関数では1年前の日付を探すのにうちの68030マシンで約1秒。
     これが10年前や30年前になると結構時間がかかってしまうのが、難点です(^_^;)。

    Subject: [fb-ml 935] Re: はじめまして?
    みなさん,こんばんわ。
    休日前はすごい盛況ですね。
    スピードダブラーの件はありがとうございました。
    怖いので,バックアップ後にインストールしてみます。
    結果はそのうち報告したいと思います。

    >miyapiさん。
      miyapiさんは,のりを巻いたらのりのりピーになる方のファンなのでしょうか。最近きれいになったなと思います。私は原田知世ちゃんと中江有理ちゃんのファンです。知世ちゃんは最近イメージちがうなぁ
     ぜんぜん外しているかも知れませんが,気になって夜も眠れません。

    >古籏さん。
    > 就職の時にコンピューター+天文関係を考えたのですが、不景気でなぜかスクラップ屋さんになってしまいました(^^; > うちの望遠鏡は屈折式なので、友人の反射望遠鏡が羨ましかったなあ。

     私は屈折式が好きです。一時はシュミットにも憧れました。
     余裕が出れば,高橋のフローライトなんかが欲しいです。
     顕微鏡も好きでして,宝くじが当たったら個人で電顕買おうと目論んでいます(^^

    >どなたか。
     FB2と関係ありませんが,私は谷甲州の小説が好きなのです。
     同好の志はいらっしゃいませんか。

     追伸,題名を変えようと思ったのですが,ここまでくると怖くてできませんね(笑)
     以前ひとりで騒いでいた色深度2Bitでのオフスクリーンカラー表示が完成しました。ありがとうございました。

    Subject: [fb-ml 936] Re: NetscapeのPlug-in を作成するには?
    At 9:36 PM 97.9.19, KaZuhiro FuRuhata wrote:
    > At 13:33 97.9.19 +0000, Osamu Shigematsu wrote:
    > >function LaunchURL(url: Str255): ICError;
    > > var
    > > start, fin: longint;
    > >begin
    > > start := 0;
    > > fin := length(url);
    > > LaunchURL := ICLaunchURL(inst, '', @url[1], length(url), start, fin);
    > >
    > >end; (* LaunchURL *)
    > >
    > >とするようなのですが、これはPascalというものでしょうか?
    > >サッパリ意味不明なのですが、要するに、Internet Configで指定されているアプリケーションでURLを開くサンプルソースなのです。
    >  Pascalは
    >
    > :=   はFBだと =  (代入です)
    > Str255 はFBだと 文字列変数です。
    > var   は変数宣言です。
    > longint はFBだとロング変数です(変数の末尾に&を付加)
    >
    > LOCAL FN LaunchURL(url$)
    > DIM start&,fin&
    >
    > start& = 0
    > fin& = LEN(url$):関数処理がわからないf(^^;
    > LaunchURL = ICLaunchURL(inst,"",@url$,LEN(url$),start&,fin&)
    > END FN
    >
    > ICLaunch内のLEN(url$)とfin&のLEN(url$)は多分違うような気がします。
    > これ以上は私の力では無理なので、誰かパス(^^;

     Length は FB の LEN であっているはず (うろおぼえ)。でも、@url$ は @url$+1の間違いですね。よくあるやつで、文字列の先頭のバイトを飛ばす操作です。文字列の先頭バイトは「文字数」になってますから、ここは文字が入ってないんですね。
     次の引数は読み込む長さでしょうね。この場合は文字数ですので、 LEN でOK。start& と fin& は何の指定なのか、InternetConfig の設定文書みてみないと...
     第一引数の inst って、突然でてくるところをみると、InternetConfig の定数なのかな? 最後の LaunchURL への代入は、Pascal での FUNCTION の返り値の指示法です。関数名を変数に見立てるわけです。

    CLEAR LOCAL FN LaunchURL%(url$)
    DIM start&, fin&, result%

    start& = 0
    fin& = LEN(url$)
    result% = FN ICLaunchURL(_inst,"",@url$+1,LEN(url$),start&,fin&)
    END FN = result%

     とでもなるんですが、肝腎の ICLaunchURL 関数がわからんとなあ。Internet Config の FAQ DOCUMENT によると、Pascal のファイルは FTP で公開されてますし、すでに FB でもサポートされているようですよ。FAQ に FB に対応させる仕事をしたと、 Mel のメールアドレスが出てました。英語の FB MAILING LIST でも活発な人です。メールを出して聞いてみるのも手ですね。(FTPサイトにいっしょに公開されているのかな?)

     ひょっとしたら、Pascal Interface (.pファイル) を Pascal Converter にかけるだけで大体使えるようになるかもしれません。ICLaunchURL は Internet Config Extension でメモリに格納される関数なので、ToolBox のように扱える可能性があるからです。

     Mel にメールするのがベストですね。定義ファイルを送ってくれるかもしれません。

    Subject: [fb-ml 937] COPYBITSでの縮小処理
    こんばんわ。
    休み前なので遅くまでプログラムを作って遊んでいます。
    数時間前から画像の縮小表示で悩んでおります。

    したいことは,画像の一覧表示です。
    ドロップしたファイルの画像を全て縮小表示で並べようと考えております。それで縮小をどうしたもんかと考えまして,メモリの節約は後日の課題として,とりあえずオフスクリーンに描画し,rectを調節しながらCOPYBITSでウインドウに縮小転送しようと考えました。縮小自体はできたのですが,見た目がイメージしていたものと異なります。
    50%縮小として下図で説明します。

    転送元PixMap  私の希望          現実
    ┌─┬─┐
    │1│2│  ・全白なら転送後白     ・転送先のPixは希望通り白 
    ├─┼─┤  ・1のみ黒なら25%グレー   ・なぜか100%黒になる
    │3│4│  ・半分黒なら50%グレー    ・なぜか100%黒になる
    └─┴─┘  ・全黒なら100%黒      ・希望通り100%黒

    4つのPixが縮小されて1つのPixになるのですが,中間色への変換はされないのです。これはMacintoshの一般的な現象なのでしょうか。
    このままではジャギーが目立って,大変汚い表示になってしまいます。
    なんとかアンチエイリアス風にもっていきたいと考えていますが,COPYBITSではなく全自力でのPEEK & POOKで処理しなければならないのでしょうか。教えてください。

    Subject: [fb-ml 938] Re: COPYBITSでの縮小処理
    古籏一浩です。

    At 2:06 97.9.20 +0000, 仙台7200/90 wrote:
    >転送元PixMap  私の希望          現実
    >┌─┬─┐
    >│1│2│  ・全白なら転送後白     ・転送先のPixは希望通り白 
    >├─┼─┤  ・1のみ黒なら25%グレー   ・なぜか100%黒になる
    >│3│4│  ・半分黒なら50%グレー    ・なぜか100%黒になる
    >└─┴─┘  ・全黒なら100%黒      ・希望通り100%黒
    >
    >4つのPixが縮小されて1つのPixになるのですが,中間色への変換はされないのです。これはMacintoshの一般的な現象なのでしょうか。
    >このままではジャギーが目立って,大変汚い表示になってしまいます。
    >なんとかアンチエイリアス風にもっていきたいと考えていますが,COPYBITSではなく全自力でのPEEK & POOKで処理しなければならないのでしょうか。教えてください。

     結論から言います。
     これがMacのCOPYBITSを使用した場合必ずこうなります。
     よって自力でやる必要があります。
     縮小した際に座標で最も近い点をサンプリングするという方法でこの方法は高速ですが、奇麗ではありません。
     どのようにすれば奇麗になるかというと、長くなるのでパスして参考書籍を紹介します。これを見れば一目瞭然です。

     「C言語による画像処理」(だったと思います)

     (ほとんど)同じ名前で3種類出ています。装丁も全くといっていいほど同じですので開いてみるまではわかりません^^;
     1つはPC-9801+フレームバッファ
     1つはMac,MS-DOS複数機種汎用
     1つはFFTなど、高度なもの
     となってます。FFTの解説があるもの以外はどちらも同じです。
     あまり高くなく薄い本ですので1冊手元に置いてはどうでしょうか。

     あとアニメ調の画像を縮小する場合は、別の方法を使います。
     これは、今はなきOh!Xに掲載されただけです。

    Subject: [fb-ml 939] Re: はじめまして?
    >> ところで私はパソピア16というのも使ったことがありますが,お仲間はいらっしゃいませんでしょうか。>どなたか
    > パソピア16は少ないと思いますよ。
    > 三菱のMulti16といい勝負(^^;
    > 友人はパソピア7でした。27色でますから。

    京都の某専門学校に行っているときの実習マシンでした>パソピア16
    CP−MベースでCOBOLやFORTRANが使えてました。
    ずいぶん立派な匡体でしたね。デザインもシブかったような気がします。

    でも今まで一番シブかったのはFM−11ADかなあ。
    一回しかみたことないけど、MZ−5500もなかなか。

    今の丸々した匡体デザインは好きになれんです。

    8600が出る寸前の8500/180が入手できてよかった(^^;
    家が広くてファンさえ静かならQuadra900もなかなか捨てがたいですね。
    900は本当にヤカマシイ。

    金がありあまってたらSONYのVAIO匡体の中にMACのマザーをネジこむというものなかなか楽しいかも。でもってSoftWindows入れておくの。くすくす。(なんかヤバイぞ>自分)

    やっぱりjobsがCEOになった今、期待するのはデザイン重視のマシン匡体でしょう。PowerComputingの匡体じゃあDOS/V使ってるようなモンだし。
    6500系統の匡体は言うに及ばずって感じですね。
    4400はなんか中途半端。(でも結構好きだったりして)

    しかし、こういうネタだと尽きないですね(^^;

    Subject: [fb-ml 940] Re: はじめまして?
    >みなさん,こんばんわ。
    >休日前はすごい盛況ですね。
    >スピードダブラーの件はありがとうございました。
    >怖いので,バックアップ後にインストールしてみます。
    >結果はそのうち報告したいと思います。

    可能ならハードディスクに別パーテーション切って暫定的に動かすのがいいかと。
    ただ同一ボリューム内にシステムがある場合はパーテーションの旧い方が優先されるみたいなのでその場合は旧いシステムのFinderとSystemファイルを何らかの方法で殺さないといけないかもしれませんね。

    >>miyapiさん。
    >  miyapiさんは,のりを巻いたらのりのりピーになる方のファンなのでしょうか。最近きれいになったなと思います。私は原田知世ちゃんと中江有理ちゃんのファンです。知世ちゃんは最近イメージちがうなぁ
    > ぜんぜん外しているかも知れませんが,気になって夜も眠れません。

    のりピーはまあ、どうでもいいんですが。(といいつつ結構好き。あははは。)ベッコアメで miyata でユーザーID を取ろうとして既にあって、しかたないからmiyaでいいやと思ったらこれもダメ。でプログラマーだから miya + p でmiyapにしてもダメ。で仕方ないから みやぴーだから miyap + i にしました。

    このアドレス、今日、とある女性のデザイナーに教えたらツッコミが入りました。

    <H1>余計なお世話だッ!</H1>
    はははは(^^;

    それはさておき知世ちゃんはいいっ。とにかくどうであれ、なんであれいいっ。
    いいんだいっ。(なんか ゆうきまさみ 〜 とり・みき 系なノリですな。)

    やはり薬師丸ひろこのように崩れないあたりがさすがかと。

    ・・・・そろそろやめないまずいっすね。(^^;

    Subject: [fb-ml 941] Re: はじめまして?
    > にったといいます。こんにちわ。

    >> MZ-80Kの方が速かったのはCPU-メモリのウェイトがほとんどないためです。

    おかげでPEEK POKEでノイズでまくりでしたネ(^^;

    >一方MZの方は、ビデオもキーボードもIOまわりは全部実メモリ空間に割り付けるというなんとも強引な仕様でした。Mapped I/O で6502や6809ではこれが一般的でした。(というかZ80のようなI/O専用のハードをもってなかったというか)
    これはこれで使い勝手が良かったです。

    >まぁ、このおかげでPEEK,POKEで読み書きするだけで制御できたので、プログラミングの練習をするには非常に楽でしたけど。
    ですね。
    Z80でも制御系などの専用設計のマシンだとMapped I/Oという場合がしょっちゅうです。Z80も結構やりましたがIN命令やOUT命令は殆ど使った記憶がありません。
    (専用制御基板(8080)、ゲームボーイ(8085)、ゲームギア(Z80)、液晶表示装置(Z80)と他にも色々やったよーな気がするけどパス(^^;)
    LDIRも滅多に使いませんでした。
    6502だとインデックス修飾のアドレッシングは使わないと何もできないと言って良いほど重要な命令ですがZ80系列はもろに遅くなるのでゲームでは使えませんでしたネ。そのかわりRAMのエリアにプログラムを「書かせて」処理してました。邪道かもしれませんが、まあ多少トリッキーにならないとパフォーマンスは稼げなかったので・・・(^^;

    > 誰もお書きになりませんが、当時、舶来モノではPET2001とかTRS80とかApple IIなんてのもありましたね。どれも非常に高価でしたが。
    これらはMZ−80より若干前ですね。
    MZ−80がPET2001を模倣して作られた事は有名な話ですな。

    TRS80はついぞお見かけすることはありませんでした。タンディだかレディオシャックだかは潰れてしまいましたし。

    ちなみにPC8001とMZ80でMZの方が早いといったのはデビューの時期のつもりだったんですけど、そういったパフォーマンスの差もあったんですねぇ。知りませんでした。

    ちなみにMZ−「4」0Kというのもあったのしってますかー?マイコン博士という名称でしたが。

    EX−80とかTK−80はまあそこそこ有名でしたが、Lkit16っていう電卓のお化けみたいなコンソールが無粋なフラットケーブルでつながっているボードコンピューターはご存じですか?日立だか富士通だかどちらだったか忘れてしまいましたが。

    話を思いきり古くするなら7400(デジタルIC)がデビューした事も目の当たりにしていたとか、2SC372は必ず10個は常備していたとか・・・・(^^;

    Subject: [fb-ml 942] Re: はじめまして?
    古籏一浩です。

    At 4:15 97.9.20 +0900, Tatsuya_Miyata wrote:
    >京都の某専門学校に行っているときの実習マシンでした>パソピア16
    >CP−MベースでCOBOLやFORTRANが使えてました。

     私がFORTRAN習ったときは富士通の大型コンピューターでしたf(^^;
     カードと紙テープ(笑)
     うまく紙テープに穴を空けて自分のイニシャル作りませんでした?
     (って書いてわかる人の方が少なかったりして^^;)

    >でも今まで一番シブかったのはFM−11ADかなあ。
    >一回しかみたことないけど、MZ−5500もなかなか。

     MZ6500は所有しています。初期ので後期のタワー型ではありませんが。
     5500はシルバー筐体なんで、あんまり好みではなくて所有してません(^^;
     FM-11ADはOh!FMの裏表紙に長く広告掲載されていませんでしたっけ?
     シブいパソコン、if800とか(笑)
     MZ-3500は、かなり渋い・・・。結構格好いいんですけどね〜
     希少品で持っている人非常に少ないです。欲しいんですが・・・
     Z80が2つ付いているんですよ。

    >しかし、こういうネタだと尽きないですね(^^;
     でも、出てくるマシンが、どんどん古くなっているような(^^b

    Subject: [fb-ml 943] Re: はじめまして?
    古籏一浩です。

    At 5:03 97.9.20 +0900, Tatsuya_Miyata wrote:
    >>> MZ-80Kの方が速かったのはCPU-メモリのウェイトがほとんどないためです。
    >おかげでPEEK POKEでノイズでまくりでしたネ(^^;

     MZ-1200は特に目立ってひどかったような気もします(気がするだけ)。
     さすがにMZ-700では直っていました。

    >LDIRも滅多に使いませんでした。
    >6502だとインデックス修飾のアドレッシングは使わないと何もできないと言って良いほど重要な命令ですがZ80系列はもろに遅くなるのでゲームでは使えませんでしたネ。そのかわりRAMのエリアにプログラムを「書かせて」処理してました。

     LDIRは結構使用していました。
     特定回数であればLDIRではなくLDIを列記するという方法を使ってました。
     最高速なのは、スタックポインタでアドレス指定してPUSHしまくる(笑)
     インデックスレジスタは遅いと言われますが、自己書き換え型のプログラムでは有益に使えるんですよ。先頭のコードがDD,FDだったらIX,IYなければHLから読み出すので1バイト書き換えればOKという省メモリ型でした(^^;
     でも一番多く使用されたのはIX,IYをメモリ代わりとしてIXH,IXL,IYH,IYLにデータをストアしておく方法では?

    >邪道かもしれませんが、まあ多少トリッキーにならないとパフォーマンスは稼げなかったので・・・(^^;  昔は皆トリッキーでしたよね。
     おかげで2000年問題が発生するわけですが。これは仕様か・・・

    >> 誰もお書きになりませんが、当時、舶来モノではPET2001とかTRS80とかApple IIなんてのもありましたね。どれも非常に高価でしたが。
     AppleIIの値段をみてびっくりでしたもの。45万円くらい(^^;;
     でも今の最新Macと変わりませんけど・・・

    >TRS80はついぞお見かけすることはありませんでした。タンディだかレディオシャックだかは潰れてしまいましたし。
     タンデムだったかなあ。社名忘れました(^^;

    >ちなみにMZ−「4」0Kというのもあったのしってますかー?マイコン博士という名称でしたが。
     Oh!mzでMZの歴史を紹介したときの一番最初がMZ40Kでした。
     まあ基板ですけどね。

    Subject: [fb-ml 944] Re: 簡易HTML エディタ
    Ariel PublishingのWASTE text engine(FB版)ですが、値段は$49.95でした。
    今日にでも注文しておこうと思います。

    Roman以外の文字での動作に不安があったので、確認したところ、

    ----
    WASTE is supposedly World Script-aware, but I don't know if it supports Japanese or not. Some text editors don't support non-Roman text. I don't know if it will help or not, but I have attached the WASTE demo from PowerPak. Although I did not include any code to specifically address Japanese text entry in the demo, you may be able to learn enough from playing with the application to make a more informed decision.

    If it turns out that WASTE doesn't work for you, we also have an unconditional money-back guarantee.
    ----

    というメールを頂き、Demo版のWASTE.FLTRを使ったエディタを送ってくださいました。(良くできてます)
    これで試した範囲では、
    (1) インラインイメージに対応
    (2) サウンド張り付けも可能(らしい)
    (3) 行単位での文字の寄せ情報の扱いはできない
    (4) 日本語も(今の所)問題なく動作しているという感じです。
    (3)は若干不満といえば不満ですが、まあ、$49.95だし、作成したアプリケーションにライセンスがかからないし、お手ごろだと思います。

    Subject: [fb-ml 945] Re: はじめまして?
    miyapiさん,こんばんわ。

    >可能ならハードディスクに別パーテーション切って暫定的に動かすのがいいかと。
    >ただ同一ボリューム内にシステムがある場合はパーテーションの旧い方が優先されるみたいなのでその場合は旧いシステムのFinderとSystemファイルを何らかの方法で殺さないといけないかもしれませんね。

     ありがとうございます。
     とりあえず,MOに起動ボリュームを作成して試してみようかと思っています。
     ところで,パーテーションの旧い方が優先されるという話ですが,私の経験では問題なく切り分けができるように思います。純正のドライブ設定でも,FWBのHDT2でもパーティションを切って別システムをインストールしてもうまく切り替わります。これはたまたま動いているという状態なのでしょうか。
     ちょっと心配になりました。

    アドレスの件は失礼いたしました。

    >それはさておき知世ちゃんはいいっ。とにかくどうであれ、なんであれいいっ。いいんだいっ。(なんか ゆうきまさみ 〜 とり・みき 系なノリですな。)
     知世ちゃんが結婚という話を聞いた時は,目の前が真っ暗になり,次の日は会社をサボってしまいました。(^^; 結構ショックだったのですが...
     話変わりますが,私も比叡山に登って単位をもらいましたよ(笑)
     同時期だったのかもしれませんね。

    Subject: [fb-ml 945] Re: COPYBITSでの縮小処理
    古籏さん,ありがとうございます。

    > 結論から言います。
    > これがMacのCOPYBITSを使用した場合必ずこうなります。
    > よって自力でやる必要があります。

      わかりました。自力で何とかしたいと思います。
      しかし,1Pixづつ色情報を演算すると,かなり時間がかかりそうですね。

    > 参考書籍を紹介します。これを見れば一目瞭然です。
    >
    > 「C言語による画像処理」(だったと思います)
    >
    > (ほとんど)同じ名前で3種類出ています。装丁も全くといっていいほど同じですので開いてみるまではわかりません^^;
    > 1つはPC-9801+フレームバッファ
    > 1つはMac,MS-DOS複数機種汎用
    > 1つはFFTなど、高度なもの

     この本を入手します。これらの3つの本は,著者も出版社も別ということですよね。仙台ではパソコン書物は,流行のものしか手に入らないので出版社などご存じありませんか。注文するにしても,題名だけではちょっと心もとないのです。

    > あとアニメ調の画像を縮小する場合は、別の方法を使います。
    > これは、今はなきOh!Xに掲載されただけです。

     この方法がぜひ知りたいです。
     ターゲットの画像がアニメ画像なのです。
     詳細な部分は自力で考えますので,大まかな考え方だけでも教えてはいただけませんか。
     自分でも考えていたのですが,アニメ絵は線画かその応用の面画ですから,普通の縮小をかけると,たまに線が飛んでしまいます。
     1ラインごとに,線の成分を拾っていき,面の部分を縮小するという方法ならうまくいくかと想像しています。実際のロジックですが,とりあえずこの連休にでも作ってみようかと思っています。

    Subject: [fb-ml 946] Re: はじめまして?
    Takaomi です。

    根来さんWrote 97.9.20 9:20 AM:
    >みなさん,こんばんわ。
    >休日前はすごい盛況ですね。
    >スピードダブラーの件はありがとうございました。
    >怖いので,バックアップ後にインストールしてみます。
    >結果はそのうち報告したいと思います。

    根来さんがご心配のスピードダブラーの件ですが、以前にモード(まだモモデラーズのころに)にメールで質問したことがあります。その時の返答では、

    ”スピードダブラーはSysytem自体を書き換えているらしい。そのため、FBの動作が不安定になることがあるそうなので、使用はやめてほしい。Staz社は、この問題に関して、インストールされたマシンのシステムを逆アセンブルして、問題解決に取り組んでいる。Stazにもう一度確認してメールします。”

    というメールを頂きました。
    ……しかし、この後メールは来ませんでした。(うう、2月のEXPOで挨拶したというのに)ということで、もう待ちきれなくてインストールしてしまいました。結果として、全く問題なく動いています。僕は結構機能拡張いれているほうだと思いますが、特に問題はなさそうです。

    一応、僕のコントロールパネルで非純正のものは以下の通りです。

    2ByPrint!!
    CPU Doubler 1.0.4J
    DoubleScroll 2.1.2
    ワコムタブレット
    FontPatchin'
    Hidden Finder Features
    MacDim
    MenuChoice
    QuicKeys
    RAM Doubler� 2
    Snapz Pro
    Speed Doubler� 2
    StayHere!
    WebFree

    Subject: [fb-ml 947] Re: COPYBITSでの縮小処理
    古籏一浩です。

    At 1:53 97.9.21 +0000, sendai_5300LTB wrote:
    >  わかりました。自力で何とかしたいと思います。
    >  しかし,1Pixづつ色情報を演算すると,かなり時間がかかりそうですね。

     フォトショップに近いくらい遅いんじゃないかなあ。
     ピクセルを大量に扱う場合は、やっぱC言語の方が高速でいいですね。

    >  この本を入手します。これらの3つの本は,著者も出版社も別ということですよね。仙台ではパソコン書物は,流行のものしか手に入らないので出版社などご存じありませんか。注文するにしても,題名だけではちょっと心もとないのです。
     実は3冊とも出版社、著者、本の色(装丁)ともそっくりで、開くまでわかりません(笑) 背表紙で判別できない事はありませんが。

    >> あとアニメ調の画像を縮小する場合は、別の方法を使います。
    >> これは、今はなきOh!Xに掲載されただけです。
    > この方法がぜひ知りたいです。
    > ターゲットの画像がアニメ画像なのです。
    > 詳細な部分は自力で考えますので,大まかな考え方だけでも教えてはいただけませんか。
    > 自分でも考えていたのですが,アニメ絵は線画かその応用の面画ですから,普通の縮小をかけると,たまに線が飛んでしまいます。
    > 1ラインごとに,線の成分を拾っていき,面の部分を縮小するという方法ならうまくいくかと想像しています。実際のロジックですが,とりあえずこの連休にでも作ってみようかと思っています。

     今は概要しか記憶していませんが、X68000の画像(32768色)をX1turboZ用(4096色)に縮小するというものです。
     アニメ調の絵は輪郭がほとんど「黒」で描かれているので、黒色を優先色とし縮小時に残すようにします。この時にブロックパターンで

     □■□
     □■□      ■□
     □□■  なら  □■

     ■■■
     ■□□      ■■
     ■□■  なら  ■□

     といった具合に変更していきます。
     黒を優先色としブロックパターンで縮小していく、といった具合です。
     面倒であれば黒色を優先色とし次のラインと和を取っていくというのも手です。

    Subject: [fb-ml 948] Re: はじめまして?
    >miyapiさん,こんばんわ。
    こんばんわ、β3納品まであと24時間を切りました。ふー。

    > ところで,パーテーションの旧い方が優先されるという話ですが,私の経験では問題なく切り分けができるように思います。
    起動ディスクでヴォリュームごと表示されるので、ちょっと恐いかな?と思いましたゆえ。(^^;

    >アドレスの件は失礼いたしました。
    いえいえ(^^)

    > 知世ちゃんが結婚という話を聞いた時は,目の前が真っ暗になり,次の日は会社をサボってしまいました。(^^; 結構ショックだったのですが...
    えっ、結婚してたんですか・・・。しらなかった。ふー。

    > 話変わりますが,私も比叡山に登って単位をもらいましたよ(笑)
    > 同時期だったのかもしれませんね。

    登りましたねぇ。裏寂しい湖西線の駅から(笑)
    2年目はサボったんですが、あれが必須とは知らず、昼間科から夜間科に転科してバイトに精をだしたものです。

    で、プログラムはやはり「学ぶ」より「仕事」の方が身に付きますね、いやほんと。

    (ちなみに私は浄土寺でも百万遍でもなく、北白川でもなく、三条のタカセビルにいました。だから正規の生徒ではなかったんですねー。でも麦踏さんは記憶にのこっています。)

    Subject: [fb-ml 949] Re: 日付のTOOLBOX
     こんにちは、浜崎です。
     日付管理の件で、前から不思議に思っていたのですが閏年の計算はどの様にするのでしょう。

     分かりやすい様に教えて頂きたいのですが。

    > > ★さて、今回は日付を表示する関数を探しているのですが、探したら
    > >
    > > CALL IUDATESTRING([_Time], _LongDate, LongDate$)
    > > PRINT "今日は...";LongDate$;"'"
    > >
    > >  で、とりあえず今日の日付をちゃんと日本語でしかも曜日入りで表示するTOOLBOX関数を見つけたのですが、今日から1日前とか1週間前、はたまた15日前とか、明日8日後など、今日を基準にして目的の日を表示する方法はありますでしょうか?
    > >  自前で計算するにはうるう年とかちゃんと計算しなければ行けないので、うまいTOOLBOX関数はあるのでしょうか?
    >
    > いろいろ考えてみるに、秒数で計算するのが一番いいですね。日付で計算する限り、閏年の計算とかややこしいですから。
    >
    >  上記の CALL IUDATESTRING の第一引数は、1904年1月1日午前0時からの秒数をいれるようになっています。これは閏年の計算をするのに都合のいいところから決められた日付のようです。
    >  第一引数の [_Time] は、システムグローバルの _Time をとってきて渡しています。このシステムグローバルの _Time に、上記の日付から今日までの秒数が入っています。ロング長(4バイト)の値なので、[_Time] つまり PEEK LONG(_Time) で、_Time の指すアドレスから4バイトよみこんでいるわけです。(システムグローバルの一覧は HANDBOOK の P243 以降にあります。)  だから、_Time の値を IUDATESTRINGにいれると、今日の文字列が得られるわけです。
    >
    >  さて、一日は 60(秒) * 60(分) * 24(時間) = 86400秒です。PEEK LONG(_Time)で得た「今日までの秒数」から、これを増減し、最後に CALL IUDATESTRING にかけることで、目的の日付を得られるんじゃないでしょうか?
    >
    >  実験してませんが、論理上は正しいと思います。 では。


    Subject: [fb-ml 950] Re: 日付のTOOLBOX
    古籏一浩です。

    At 8:22 97.9.22 +0900, K.HAMAZAKI wrote:
    > こんにちは、浜崎です。
    > 日付管理の件で、前から不思議に思っていたのですが閏年の計算はどの様にするのでしょう。

     閏年の計算は

    [1]4で割り切れる年は閏年
    [2]ただし25で割り切れる年は閏年ではない
    [3]ただし100で割り切れる年は閏年ではない

     だったと思います。地球の公転周期が

     365.249

     なので小数点以下の演算誤差を0にしていくのが現在の暦だと思いました。

    Subject: [fb-ml 951] Speed Dublerのはなし
    小野さん,こんにちは。

    >根来さんがご心配のスピードダブラーの件ですが、
    > ...(略)...
    >結果として、全く問題なく動いています。

     そうですか。とても安心しました。
     フロッピーを押入の奥から発掘しないとだめなので,明日にでもインストールしてみます。
     ありがとうございました。

     ところで,小野さんの機能拡張は知らないものばかりです。
     いろいろとカスタマイズされておられるのですか。
     便利でお金のかからないものがあれば教えてください。

    Subject: [fb-ml 951] Re: はじめまして?
    miyapiさん,こんにちは。
    β3納品おつかれさまです。

    >> 知世ちゃんが結婚という話を聞いた時は,目の前が真っ暗になり,次の日は会社をサボってしまいました。(^^; 結構ショックだったのですが...
    >えっ、結婚してたんですか・・・。しらなかった。ふー。

      すいません。言わなければよかったかな。

    >(ちなみに私は浄土寺でも百万遍でもなく、北白川でもなく、三条のタカセビルにいました。だから正規の生徒ではなかったんですねー。でも麦踏さんは記憶にのこっています。)
      私は駅前校と洛北校でした。
      ローカルネタはまずいですね(^^;

    Subject: [fb-ml 952] Re: COPYBITSでの縮 小処理
    古籏さん,ありがとうございます。

    > 実は3冊とも出版社、著者、本の色(装丁)ともそっくりで、開くまでわかりません(笑) 背表紙で判別できない事はありませんが。
      よく判別できないので,本屋に3冊とも注文してみます。
      どれか1冊くらいは,入手できるのではないかと思っています。

    > アニメ調の絵は輪郭がほとんど「黒」で描かれているので、黒色を優先色とし縮小時に残すようにします。この時にブロックパターンで
    >
    > □■□
    > □■□      ■□
    > □□■  なら  □■
    >
    > ■■■
    > ■□□      ■■
    > ■□■  なら  ■□
    >
    > といった具合に変更していきます。
    > 黒を優先色としブロックパターンで縮小していく、といった具合です。
    > 面倒であれば黒色を優先色とし次のラインと和を取っていくというのも手です。

      なるほど,イメージはわかります。
      輪郭線の欠損を抑えるのがみそですね。
      手法については,手間と効果とを計って考えたいと思います。
      ありがとうございました。

    Subject: [fb-ml 953] Re: 日付のTOOLBOX
    浜崎さん,こんにちは。

    > 日付管理の件で、前から不思議に思っていたのですが閏年の計算はどの様にするのでしょう。
      確か,有広範囲の差で計算条件もかわるのでは?
      グレゴリオ歴で千年単位まで遡る歴史DBなどでは,
      LONG IF 4で割り切れる and (100で割り切れない or 400で割り切れる)
    PRINT "閏年じゃ"
    XELSE
    PRINT "はずれじゃ"
    END IF
      これでよかったと思います。

     でも,今から100年以内で有効な閏年なら,単に4で割ればよいのです。
     2000年は400で割れるから閏年で,2100年は100で割り切れるので平年です。
     よって,2100年までは例外を気にしなくても良いのでは。
     バビルの塔のプログラムを作るのなら,ちゃんと計算しないといけません。
     なお,日本史DBなどの年号日付では,大陰暦変換が必要だったような気がするな。昔仕事でしたのですが,思い出せません。

    〜グレゴリオ歴豆知識〜
     むかしむかし,あるところに(イスタンブールあたり)グレゴリオ王朝が花開きました。王様のグレゴリオ大王は,「わしはちゃんとしたカレンダーがほしいんじゃ」とおっしゃり,国家プロジェクトとして新しい太陽歴を作成しました。王朝は独自の美術形式や建築様式を残しあっというまに侵略により消え去りましたが,カレンダーはすごく出来が良かったため,後世までデファクトスタンダードとして残りました。現在,グレゴリオの末裔の方から知的所有権の使用料を取られると,ビル君もびっくりの事態になりますね(笑)

     現在の西暦=太陽歴=グレゴリオ歴は,近代天文学の成果が反映されて,閏分や閏秒などの補正が行われています。これらは,決まった式があるわけではありません。地球の自転や公転周期は,月の影響や銀河重力の変動などの外的要因,地球自体のコマ扇動や重心の移動で不定です。あまり細かく気にする必要はありませんが,観測値による補正分もありますので,超正確に秒数演算で数千年の時を超える場合は,日付の境目の信頼度が危ないかもしれません。しかし,誰がそんなことに文句言うねんという落ちもありますね。ちなみに,月は日々遠ざかっておりまして,それにより地球の自転周期は伸びています。千年後の一日は,今日より数秒長いということです。これにより仕事の時間も伸びるのでしょうか。(笑)

    Subject: [fb-ml 954] Re: COPYBITSでの縮 小処理
    古籏一浩です。

    At 14:14 97.9.22 +0000, sendai_5300LTB wrote:
    >  よく判別できないので,本屋に3冊とも注文してみます。
    >  どれか1冊くらいは,入手できるのではないかと思っています。

     本をサーチしました(笑)

    ■オーム社
    C言語で学ぶ実践画像処理
     著者:山木伸行・井上誠喜・林 正樹・中須英輔
        三谷公二・奥井誠人・鈴木正一・金次保明 共著
    定価:3500円
    ISBN4-274-07703-9

     これは3冊のうちの1つでMacではなくPC98+フレームバッファで汎用的なプログラムが載ってます。計算式も掲載されてます。

    >  輪郭線の欠損を抑えるのがみそですね。
    >  手法については,手間と効果とを計って考えたいと思います。
    >  ありがとうございました。

     そうです、輪郭線の欠損を抑えるのがポイントです。
     元は輪郭線の色を指定できたと思います。でも通常は黒で十分ですね。

    Subject: [fb-ml 955] Re: 日付のTOOLBOX
    古籏一浩です。

    At 14:56 97.9.22 +0000, sendai_5300LTB wrote:
    >  現在,グレゴリオの末裔の方から知的所有権の使用料を取られると,ビル君もびっくりの事態になりますね(笑)
     Windowsのマークが「田」に似ているので、中国がうちの国の漢字を使っているといって漢字の使用料を取られると、なおびっくり(笑)
     (そんなオチはないけど^^;)

    >  ねんという落ちもありますね。ちなみに,月は日々遠ざかっておりまして,それにより地球の自転周期は伸びています。千年後の一日は,今日より数秒長いということです。これにより仕事の時間も伸びるのでしょうか。(笑)
     暦で思い出しましたが、現在の暦になったのはつい最近ですよね。
     でも、世の中には太陰暦で生活している人々もいます。
     夜襲には便利ですよね。1日に夜襲だっ!というと新月だというのが日にちでわかりますので。

    Subject: [fb-ml 956] Re: 日付のTOOLBOX
     こんにちは、浜崎です。

     古旗さん、根来さん、早速のお返事ありがとうございました。

     暦もなかなか奥が深いですね。FB IIなら、堀さんの言われる様にツールボックスを使えばいいかなって思うのですが、自分で計算し日付を出そうと思うと1904年1月1日午前0時からの秒数を算出し、これを1年当たりの秒数で割り、年数を出し、ここから閏年の補正をし、って感じで日付、時間を出すのでしょうか。

     でも、地球の自転ずれの補正とかは、計算ではできないし逆に時計の方を合わせなければいけないって事にもなりそうですね。
     年、数秒のずれでも何百年もたつと数分のずれになりそうだし、時間がある時、一度、日付、時間を出すプログラムを作ってためしてみます。

    Subject: [fb-ml 957] Re: 日付のTOOLBOX
    > でも、地球の自転ずれの補正とかは、計算ではできないし逆に時計の方を合わせなければいけないって事にもなりそうですね。
    > 年、数秒のずれでも何百年もたつと数分のずれになりそうだし、時間がある時、一度、日付、時間を出すプログラムを作ってためしてみます。

    俗なことをいうようですが、地球の自転ずれよも、Macの時計のずれを日頃何とかしたいな、と思っています。結構狂いますよね。あと、電池切れ。(^^;;;

    FBには関係ありませんが、インターネットにはタイムサーバがあって、それで私は時間をあわせています。ちょっと変わり種では、Jtermを発売している(株)まつもとが郵政省の時報サービスに接続して時間を合わせ、かつ、今までのずれの経験に基づき自動で時間を補正するというソフトをシェアウェアとして公開しています。

    私は専用線なので、WWWなどすべて個別にタイムサーバで合わせていますが、ローカルな環境では1台の標準のマシンを決めておき、それに時計を合わせるソフトもあったと思います。NetworkClockとかいう名前だったかな?

    Subject: [fb-ml 958] Re: 日付のTOOLBOX
    LINGOですが、ある日付に1日足した結果を出すモジュールです。
    参考まで・・・。
    閏年はもちろん year mod 4 方式を使いました(^^;

    --======================
    -- the abbr date の結果 "1997年 9月 23日 (火)"

    on addDate j
    set yy = value(char 1 to 4 of j)
    if char 8 of j = "月" then
    set mm = value(char 7 of j)
    set dp = 10
    else
    set mm = value(char 7 to 8 of j)
    set dp = 11
    end if
    if char dp+1 of j ="日" then
    set dd = value(char dp of j)
    set yo = char dp + 4 of j
    else
    set dd = value(char dp to dp+1 of j)
    set yo = char dp + 5 of j
    end if

    case yo of
    "日": set yi=1
    "月": set yi=2
    "火": set yi=3
    "水": set yi=4
    "木": set yi=5
    "金": set yi=6
    "土": set yi=7
    end case

    set dd=dd+1
    set dx = getAt([31,28,31,30,31,30,31,31,30,31,30,31],mm)
    if yy mod 4 = 0 and mm = 2 then set dx=29
    if dx<dd then
    set dd=1
    set mm=mm+1
    if mm>12 then
    set mm=1
    set yy=yy+1
    end if
    end if

    set yo = getAt(["月","火","水","木","金","土","日"],yi)

    put yy & "年 " & mm & "月 " & dd & "日 (" & yo & ")" into j

    return j
    end

    Subject: [fb-ml 959] Re: 日付のTOOLBOX
    > 暦もなかなか奥が深いですね。FB IIなら、堀さんの言われる様にツールボックスを使えばいいかなって思うのですが、自分で計算し日付を出そうと思うと1904年1月1日午前0時からの秒数を算出し、これを1年当たりの秒数で割り、年数を出し、ここから閏年の補正をし、って感じで日付、時間を出すのでしょうか。
     それはそうですが,使用する日付の範囲が明治以降からならば,全てを演算せずとも自分で便利なようにテーブルを作ってしまえば速いですね。有限の範囲なら,事前に閏年もテーブルに反映できますし,日付の算出技法が目的ではなく,利用したいだけなら単純化してしまうほうが良いと思います。

    ResEditはその後いかがですか。
    このままずるずると本なしでいっちゃうのはどうでしょう(^^

    Subject: [fb-ml 959] Speed Dublerその後
    みなさんの励ましもあり,スピードダブラーをインストールしました。
    いまのところ何も問題ありません。スピードは速くなりました。
    ちょっと幸せです。

    Subject: [fb-ml 959] Re: COPYBITSでの縮小処理
    古籏さん,こんばんわ。

    > 本をサーチしました(笑)
      ありがとうございます。
      コードを教えて頂けると,近所の本屋で注文できるのですごく助かります。
      わざわざ時間を割いて調べていただいて恐縮です。とても助かりました。

    > そうです、輪郭線の欠損を抑えるのがポイントです。
    > 元は輪郭線の色を指定できたと思います。でも通常は黒で十分ですね。

      ちょっとがんばって,アンチエイリアスをかけてみようかと目論んでいます。次の連休にでもさわりの部分を作りたいと思います。

    追伸
    そういえば,私の閏年算出のLONG IF文の判定条件で,and と orが間違っていました。えらいすいません(^^;

    Subject: [fb-ml 960] Re: 日付のTOOLBOX
    At 11:25 PM +0000 97.9.23, sendai_5300LTB wrote:
    > > 暦もなかなか奥が深いですね。FB IIなら、堀さんの言われる様にツールボックスを使えばいいかなって思うのですが、自分で計算し日付を出そうと思うと1904年1月1日午前0時からの秒数を算出し、これを1年当たりの秒数で割り、年数を出し、ここから閏年の補正をし、って感じで日付、時間を出すのでしょうか。
    >  それはそうですが,使用する日付の範囲が明治以降からならば,全てを演算せずとも自分で便利なようにテーブルを作ってしまえば速いですね。有限の範囲なら,事前に閏年もテーブルに反映できますし,日付の算出技法が目的ではなく,利用したいだけなら単純化してしまうほうが良いと思います。
    >
    > ResEditはその後いかがですか。
    > このままずるずると本なしでいっちゃうのはどうでしょう(^^

     なんかそうなりそうな感じです。ResEditのホームページもいろいろ見つけましたのでその辺でなんとかならないかなって思っています。

     システムのリソースを持ってきて使うってのも手ですが、これって違法になるのでしょうか。個人での使用なら問題ない(?)とも思うのですがシェアウエアとか市販のソフトにするにはやっぱりだめなんでしょうね。もっとも私にはそんな力はありませんが。

    Subject: [fb-ml 961] Re: 日付のTOOLBOX
    At 10:00 PM +0900 97.9.23, Tatsuya_Miyata wrote:
    > LINGOですが、ある日付に1日足した結果を出すモジュールです。
    >
    > 参考まで・・・。
    >
    > 閏年はもちろん year mod 4 方式を使いました(^^;
    >
    > --======================
    > -- the abbr date の結果 "1997年 9月 23日 (火)"
    >
    > on addDate j
    > set yy = value(char 1 to 4 of j)
    > if char 8 of j = "月" then
    > set mm = value(char 7 of j)
    > set dp = 10
    > else
    > set mm = value(char 7 to 8 of j)
    > set dp = 11
    > end if
    > if char dp+1 of j ="日" then
    > set dd = value(char dp of j)
    > set yo = char dp + 4 of j
    > else
    > set dd = value(char dp to dp+1 of j)
    > set yo = char dp + 5 of j
    > end if
    >
    > case yo of
    > "日": set yi=1
    > "月": set yi=2
    > "火": set yi=3
    > "水": set yi=4
    > "木": set yi=5
    > "金": set yi=6
    > "土": set yi=7
    > end case
    >
    > set dd=dd+1
    > set dx = getAt([31,28,31,30,31,30,31,31,30,31,30,31],mm)
    > if yy mod 4 = 0 and mm = 2 then set dx=29
    > if dx<dd then
    > set dd=1
    > set mm=mm+1
    > if mm>12 then
    > set mm=1
    > set yy=yy+1
    > end if
    > end if
    >
    > set yo = getAt(["月","火","水","木","金","土","日"],yi)
    >
    > put yy & "年 " & mm & "月 " & dd & "日 (" & yo & ")" into j
    >
    > return j
    > end

     う〜ん、何とも言えない。
    知らない命令がいっぱいです。もっと勉強します。

     浜崎でした。
    ありがとうございました。

    Subject: [fb-ml 962] Re: 日付のTOOLBOX
    浜崎さん,こんばんわ。

    >システムのリソースを持ってきて使うってのも手ですが、これって違法...略
     シェアウエアに使ったくらいでアップルからチョップが飛んでくるとは思いません。法的な事は判例を確認しないと何とも判断しかねます。しかしながら,システムリソースはアプリ中から使えるので,まんまコピーすることはないです。(と思います^^;) ダイアログなど雛型としてもらって,改変するのなら,浜崎さん作としてよいのでは? システムのリソースを使う場合は,最小限のシステムなどにしている人もいるので,Getするときチェックがいりますね。ちょっとめんどくさいか。

    追伸
    未発言の長文や長いソースはぜひ読みたいですが,ただの引用の長文はかんにんしてもらいたいです。謝罪不要です。気を悪くされませんように。(^^

    Subject: [fb-ml 962] 等倍256の不思議
    こんばんわ。根来です。

     最近,人様のサンプルコードを眺めているのですが,オフスクリーンから画面への縮小処理に絡めた部分で,全てのサンプルが等倍を256としたスケーリングをしています。(50%表示は128,200%表示は512という具合です)私なりにいろいろと考えたのですが,等倍を256とする理由がわかりません。複数のサンプルが等倍を256としているのですから,相応の動機があると思うのですが,全く謎です。私は等倍を100として計算しているのですが,機能を拡張する際に引っかかってくるのかなと捕えています。そのときになったら対処すれば良いのですが,せっかくの新ネタなので聞いてみようかと思った次第です。うーむ,もうちょっとじっくりと考えてみようかなf(--

    Subject: [fb-ml 963] 中抜けしたの。
    BEKKOAMEのメールサーバーがずっこけて954〜961までのメールが来てません。
    なんか取り寄せる方法はありますか?

    Macintosh Wire も来なかった。
    あっちは金払ってるっていうのに・・・。

    (;_;)

    Subject: [fb-ml 964] Re: 中抜けしたの。
    古籏一浩です。

    At 0:16 97.9.25 +0900, Tatsuya_Miyata wrote:
    >BEKKOAMEのメールサーバーがずっこけて954〜961までのメールが来てません。
    >なんか取り寄せる方法はありますか?

     取り寄せはできないので、私がダイレクトに954〜961までをメールします。
     そろそろ、またまとめないといけないなあ。
     こんなに急激に増えるとは思ってなかったので気長にやろうと思っていたのが間違いでした(笑)

    Subject: [fb-ml 965] Re: 等倍256の不思議
    古籏一浩です。

    At 22:57 97.9.24 +0000, sendai_5300LTB wrote:
    >私なりにいろいろと考えたのですが,等倍を256とする理由がわかりません。
    >複数のサンプルが等倍を256としているのですから,相応の動機があると思うのですが,全く謎です。

     それでは謎解きをしましょう(^^)
     256は2の8乗=1バイトだからです。
     端的に言えばそれだけです。
     マシン語レベルにした時に高速に処理できるんです。

    Subject: [fb-ml 966] MAC OS 8の件。
     こんにちは、浜崎です。

     早速、MAC OS 8を買っちゃいました。
    雑誌で読んでいた前評判通り実用的で使い勝手のいい機能がかなり追加されています。
    フォルダナビゲーションと、横の線を持ってのWindowの移動がVery Goodです。
    よく使う人には相当の効率アップになるでしょう。

     ポップアップウインドウもよく使うフォルダを一定箇所にキープできるし、クリック一発で呼び出せるのでマルです。通常のフォルダとの使い分けができるのもマルです。

     で、FB IIも問題なく起動できます。が、サンプルプログラムで正常に動かないものがありました。カラーを使ったボタンに色が入りません。よく分かりませんがリソースも変更になっている為でしょうか。

     つい最近、ML上で賑わいをみた、スピードダブラー(2)ですが、これは残念ながら使えない様です。10月くらいにスピードダブラー8って言うのがリリースされるそうです。当然、OS 8 対応。

     スピードダブラーが使えない為か、少しスピードが遅くなった気がします。また、マルチスレッドでコピーしながら他の事もできるのですが、カーソルの瞬間移動が発生します。これは、バツです。動かないのでもう少し動かしてやると2回分一気にワープします。最初はちょっととまどうでしょうがマウス(パッド)を少し遅い目に動かしたらある程度緩和(気分的に)されます。

     ちなみに、MAC OS 8 への対応ソフトの一覧リストが
    http://macos.apple.co.jp/macos8-list/
    にありました。現在の対応状況とこれからの対応計画が記載されています。
    気になる方はどうぞ。

     他にも色々面白事があり、当分 OS 8 で楽しめそうです。
    デスクトップピクチャは、あまり興味がなかったのですが、実際使ってみたらVery Goodです。見栄えがかなりよくなりますのではまってしまいました。

     まだまだ、これから使ってみるのですが『これは!』ってのとか、隠しコマンドみたいなのがあればまた、教えて下さい。

    Subject: [fb-ml 967] OSAXを作りたいのですが。
    メーリングリストのみなさま、おひさしぶりです。
    以前、HyperCardのXFCNで質問させていただいたたけうちとおるです。
    おかげさまで、XFCNはわからない部分がありつつもなんとか作れるようになりました。

    で、表題の件ですが、今度はAppleScriptのOSAXを作りたいと思っています。なんとなく、XFCNの作り方に似ているのではないかと思い資料を探していたのですが、みつからず、質問するに至りました。どなたかサンプル等の場所をご存知の方がいらっしゃいましたら、教えていただけませんでしょうか。
    よろしくお願いいたします。

    Subject: [fb-ml 968] Re: 等倍256 の不思議
    古籏さん,返事が遅れました。

    > それでは謎解きをしましょう(^^)
    > 256は2の8乗=1バイトだからです。
    > 端的に言えばそれだけです。
    > マシン語レベルにした時に高速に処理できるんです。

      なるほど,確かに高速ですね。気が付きませんでした。
      しかし,速度向上も大したことなさそうなので,ソースの視認姓の良い等倍100でいこうと思います。
      ありがとうございました。

    Subject: [fb-ml 969] Re: OSAXを作りたいのですが。
    古籏一浩です。

    At 23:21 97.9.26 +0900, 竹内亨 wrote:
    >で、表題の件ですが、今度はAppleScriptのOSAXを作りたいと思っています。
     単純な質問ですみません、OSAXって何の略ですか?
     実は何なのかも知らないと言うf(^^;
     音楽のサックスじゃないですよね(笑)

    Subject: [fb-ml 970] Re: 等倍256 の不思議
    古籏一浩です。

    At 10:18 97.9.27 +0000, sendai_5300LTB wrote:
    >> マシン語レベルにした時に高速に処理できるんです。
    >  なるほど,確かに高速ですね。気が付きませんでした。
    >  しかし,速度向上も大したことなさそうなので,ソースの視認姓の良い等倍100でいこうと思います。

     素直に100にしておけば良いでしょう。
     ただしドローソフトの時は、誤差が発生して線がずれていくので注意が必要ですが、ビットマップはあまり関係ないでしょう。

    Subject: [fb-ml 971] Re: 等倍256の不思議
    古籏さん,こんばんわ。

    > 素直に100にしておけば良いでしょう。
    > ただしドローソフトの時は、誤差が発生して線がずれていくので注意が必要ですが、ビットマップはあまり関係ないでしょう。

      誤差が発生する? うーん。これは縮小表示の時に分解能の不足から生じる誤差ですよね。これなら気にしません(^^

    Subject: [fb-ml 972] CSMP digest on Web
    重松です。

    先日便利なWEBページを発見しました。
    CSMP (comp.sys.mac.programmers.*) の過去記事が整理されていて、検索できるページです。
    とても有用だと思います。
    もしかしたら、すでに御存じかも知れませんが。

    http://www.mis.hiroshima-u.ac.jp/‾sumi/j/mac/csmp/

    Subject: [fb-ml 973] Re: OSAXを作りたいのですが。
    古籏一浩さん、こんにちは。
    失礼しました。
    OSAXとはAppleScriptでのXFCNのようなものでAppleScriptの機能を追加するものです。
    普通の環境なら機能拡張フォルダ内のスクリプティング機能追加フォルダの中に入っているものがそうです。

    非常にXFCNに似ているので、簡単に作れないかと思っているのですが。。。
    もしかしたらDEVELOPER'S JOURNALに載っているPascal Converterを使ってどうにかするのものなのかもしれないのですが、私にはまだむずかしすぎるようです。

    で、もしサンプルや資料の場所をご存知の方がいらっしゃったらと思い質問させていただいた次第です。
    よろしくお願いいたします。

    Subject: [fb-ml 974] Re: OSAXを作りたいのですが。
    重松です。

    以前、AppleScriptのWEB会議室で話題になっていました。検索すると情報があると思いますが、残念ながらその方の開発環境はFBではなかったと記憶しています。それと、ついでといっては何ですが、AppleScript対応アプリケーションを作るのはどうすればいいか、何か分かりましたら、また、教えて下さい。

    参考ページ:
    http://orange.m.ehime-u.ac.jp/easyBBSDX/bbs.acgi?r=room_2
    (キーワードで検索できます)

    Subject: [fb-ml 975] MacOS8+FB1.0.2
    古籏一浩です。

    誰かMacOS8 + Future BASIC 1.0.xでFBが動作するかどうか確認できる人いません?

    あとMacOS8でFuture BASICのRUN命令が動くかどうか。
    動けば簡単ラウンチャーでもやろうかなと。

    あと、スペースハリアーもどき3Dシューティングゲームらしきものを作りました。ちょっと動作確認してくださいまし。 以下のアドレスにあります。

    http://www.shiojiri.ne.jp/‾openspc/FB/book/sf.sea

    Subject: [fb-ml 976] Re: MacOS8+FB1.0.2
    >ちょっと動作確認してくださいまし。
    早速試してみました。7300/180 80M + MacOS8Jです。

    で、結果ですが、動きましたが、ゲーム中はコマンド+Qを受け付けません。そういう仕様でしたら済みません。それ意外、特に不具合はみられませんでした。

    あとは、敵の種類が増えて、BGMがなれば、まさにスペースハリアーですね。しかし、思ったよりもソースが短くてびっくりしました。

    Subject: [fb-ml 977] Re: MacOS8+FB1.0.2
    古籏一浩です。

    At 3:54 97.9.30 +0900, Osamu Shigematsu wrote:
    >で、結果ですが、動きましたが、ゲーム中はコマンド+Qを受け付けません。そういう仕様でしたら済みません。それ意外、特に不具合はみられませんでした。
     そういう仕様です(^^;
     速度を上げるためイベントは一切受け付けないと言う(笑)ゲームならではの仕様です。68040/25MHzマシンでも、なんとか遊べないこともありません。

    >あとは、敵の種類が増えて、BGMがなれば、まさにスペースハリアーですね。しかし、思ったよりもソースが短くてびっくりしました。
     スペースハリアーはインチキ3Dなんで(笑)、本物と同じようにするにはビームを2Dで計算しないといけないんですよね。
     でも敵を増やしたり書き換えたりというのは、できますので勉強用にはいいんじゃないかな、と思います。キャラクタを変えれば雰囲気も変わりますし。
     X68Kのスペハリを改造してドラゴンがどらえもんになっていたのもありましたが(笑)

    Subject: [fb-ml 978] Re: CSMP digest on Web
    古籏一浩です。

    At 21:04 97.9.28 +0900, Osamu Shigematsu wrote:
    >先日便利なWEBページを発見しました。
    >CSMP (comp.sys.mac.programmers.*) の過去記事が整理されていて、検索できるページです。
    >とても有用だと思います。
    >もしかしたら、すでに御存じかも知れませんが。
    >
    >http://www.mis.hiroshima-u.ac.jp/‾sumi/j/mac/csmp/

     見てきました。
     結構いいですね。C言語使っている人には有用でしょう。
     FB−MLのログも、ちゃんとまとめないと(墓穴)

    Subject: [fb-ml 979] Re: OSAXを作りたいのですが。
    重松さん、こんにちは。

    情報ありがとうございます。
    ゆっくり自分で調べて行こうと思います。
    OSAXを作る方法がわかったら発表させていただきます。

    >>AppleScript対応アプリケーションを作るのはどうすればいいか
    ですが、

    http://users.ids.net/‾paumic/FutureBasic/
    ↓
    CODE
    ↓
    Apple Functionality
    ↓
    Reqired Apple Events
    でAppleEventを送信するサンプルがありました。

    AppleEvent対応アプリケーションはハンドブックのP161載っていますが、私にはむずかしくてよくわかりません。。。

    Subject: [fb-ml 980] Re: OSAXを作りたいのですが。
    AppleEventについては、(基本的に)ハンドブックに乗っている範囲は対応する必要があったと思います。具体的には、アプリケーションを開く、書類を開く、印刷、そして終了で必須だと思いました。PGなどでは(もしかしたらFBも?)ある程度自動で処理してくれていると思いますので、ふだんは気にかける必要はないのだと思います。

    ただ、AppleEvent対応とAppleScript対応は別物だと思いますが、実際にはほとんど違いがないのでしょうか?多分、Inside MacintoshのInterapplication Communication(でしたっけ?)に記載があると思うのですが、あいにく持ってないのでさっぱり不明です。よくわからないのですが、aeteというリソースが関係していた気がしました。ResEditでは、標準で対応しないので、私は機能を追加してあります。Resorcererは標準で対応していたと思います。

    ところで、ResEditってなんて読むんでしょう?よく、『レスエディット』といっていますが、『リズエディット』が正しいと記憶していますが、雑誌などでも『レスエディット』と記載されていたので、記憶違いかな、とか思っています。
    Resorcererも『リソースラ』とか、『リソーサー』とかいう記載を見たことがあります。

    OSAXはどうやら、『オーサックス』が正しい読みで、複数形は、OSAXenだそうです。はてさて複数形は、これまたなんと読むんでしょうね?『オーサクセン』とか『オーサクゼン』とかっぽいですが。

    一応、これだけだと、単なる世間話なので、AppleEventのルーチンを二つ程。

    INCLUDE FILE _allIncl

    'FN AEGetParamPtr (theAppleEvent: AppleEvent;
    ' theAEKeyword: AEKeyword;
    ' desiredType: DescType;
    ' VAR typeCode: DescType;
    ' dataPtr: Ptr;
    ' maximumSize: Size;
    ' VAR actualSize: Size) : OSErr;

    LOCAL MODE
    LOCAL FN AEGETPARAMPTR(AE&, keyWord&, descType&, typeCode&, dataPtr&,max&, size&)
    `
    ` SUBQ.L #2,SP ;"osErrのため"
    ` MOVE.L ^AE&,-(SP) ;"パラメータをスタックにプッシュ"
    ` MOVE.L ^keyWord&,-(SP)
    ` MOVE.L ^descType&,-(SP)
    ` MOVE.L ^typeCode&,-(SP)
    ` MOVE.L ^dataPtr&,-(SP)
    ` MOVE.L ^max&,-(SP)
    ` MOVE.L ^size&,-(SP)
    ` MOVE.W #$0E11,D0 ;"セレクタ"
    ` DC.W $A816 ;"トラップ番号"
    ` MOVE.W (SP)+,D0 ;"D0 = osErr"
    ` EXT.L D0 ;"D0をロングに拡張"
    `
    END FN


    ' AEPutParamPtr

    ' myErr := AEPutParamPtr(reply,
    ' keyDirectObject,
    ' typeLongInteger,
    ' @replyResult,
    ' SizeOf(replyResult));


    LOCAL MODE
    LOCAL FN AEPUTPARAMPTR(reply&, keyWord&, descriptorType&, bufferPtr&,length&)
    `
    ` SUBQ.L #2,sp ;"osErrのため"
    ` MOVE.L ^reply&,-(sp)
    ` MOVE.L ^keyWord&,-(sp)
    ` MOVE.L ^descriptorType&,-(sp)
    ` MOVE.L ^bufferPtr&,-(sp)
    ` MOVE.L ^length&,-(sp)
    ` MOVE.W #$0A0F,D0 ;"セレクタ"
    ` DC.W $A816 ;"トラップ番号"
    ` MOVE.W (sp)+,D0 ;"D0 = osErr"
    ` EXT.L D0 ;"D0をロングに拡張"

    END FN

    それぞれ、AppleEventでのパラメータの受け渡しです。
    使い方は、

    LOCAL FN getparam%(procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&, www)
    result%=_noErr
    actSize&=FN NEWPTR _clear (4)
    LONG IF actSize&
    ' ---------------------------------- "----" Direct Parameter (Path Args)
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"----",_typeTXT,type&,@www.sdocpath$+1,255,actSize&)
    LONG IF osErr% OR [actSize&]>255
    result%=2
    GOTO "EXITgetparam"
    END IF
    POKE(@www.sdocpath$),[actSize&]
    ' ---------------------------------- "kfor" Search Arguments
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"kfor",_typeTXT,type&,@www.sdockfor$+1,255,actSize&)
    LONG IF osErr% OR [actSize&]>255
    result%=3
    GOTO "EXITgetparam"
    END IF
    POKE(@www.sdockfor$),[actSize&]
    ' ---------------------------------- "user" User Name
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"user",_typeTXT,type&,@www.sdocuser$+1,255,actSize&)
    LONG IF osErr%
    result%=4
    GOTO "EXITgetparam"
    END IF
    POKE(@www.sdocuser$),[actSize&]
    ' ---------------------------------- "pass" Password
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"pass",_typeTXT,type&,@www.sdocpass$+1,255,actSize&)
    LONG IF osErr%
    result%=5
    GOTO "EXITgetparam"
    END IF
    POKE(@www.sdocpass$),[actSize&]
    ' ---------------------------------- "Kcip" Client IP Address
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"Kcip",_typeTXT,type&,@www.sdocKcip$+1,255,actSize&)
    LONG IF osErr%
    result%=6
    GOTO "EXITgetparam"
    END IF
    POKE(@www.sdocKcip$),[actSize&]
    ' ---------------------------------- "post" Post Arguments
    www.posthndl&=FN NEWHANDLE(32768)
    LONG IF www.posthndl&
    osErr%=FN HLOCK(www.posthndl&)
    osErr%=FN
    AEGETPARAMPTR(procAEvtPtr&,_"post",_typeTXT,type&,[www.posthndl&],32768,actSize&)
    LONG IF osErr%
    osErr%=FN HUNLOCK(www.posthndl&)
    DEF DISPOSEH(www.posthndl&):www.posthndl&=0
    result%=7
    GOTO "EXITgetparam"
    END IF
    www.postsize&=[actSize&]
    XELSE
    result%=8
    END IF
    "EXITgetparam"
    osErr%=FN DISPOSPTR(actSize&)
    XELSE
    result%=8
    END IF
    END FN=result%

    という感じです。
    これは実際に引き数を取得している部分ですから、この前にAppleEventHandlerをインストールする必要があります。

    '"-----AppleEvent-----"
    "AEOpenDocument"
    ENTERPROC (procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&)
    EXITPROC

    "AEPrintDocument"
    ENTERPROC (procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&)
    EXITPROC

    "AEOpenApplication"
    ENTERPROC (procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&)
    EXITPROC

    "AEQuitApplication"
    ENTERPROC (procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&)
    gProgramEnds%=_true
    EXITPROC

    "AESearchDoc"
    ENTERPROC (procAEvtPtr&, procAEvtReplyPtr&, procAEvtRefCon&)
    "このイベントに対する処理を書く"
    EXITPROC

    '"-----Apple Event Handlerのインストール-----"
    LOCAL FN InstallAppleEvents
    LONG IF SYSTEM(_sysVers)>699 AND FN GESTALT(_gestaltAppleEventsAttr)
    & EVENT -8,3
    gOpenApplAEPtr&=LINE "AEOpenApplication"
    osErr%=FN AEINSTALLEVENTHANDLER (_kCoreEventClass, _kAEOpenApplication, gOpenApplAEPtr&, _false, _false)
    LONG IF osErr%=_noErr
    gQuitApplAEPtr&=LINE "AEQuitApplication"
    osErr%=FN AEINSTALLEVENTHANDLER (_kCoreEventClass, _kAEQuitApplication, gQuitApplAEPtr&, _false, _false)
    LONG IF osErr%=_noErr
    gOpenDocAEPtr&=LINE "AEOpenDocument"
    osErr%=FN AEINSTALLEVENTHANDLER (_kCoreEventClass, _kAEOpenDocuments, gOpenDocAEPtr& , _false, _false)
    LONG IF osErr%=_noErr
    gPrintDocAEPtr&=LINE "AEPrintDocument"
    osErr% = FN AEINSTALLEVENTHANDLER (_kCoreEventClass, _kAEPrintDocuments, gPrintDocAEPtr&, _false, _false)
    LONG IF osErr%=_noErr
    gSearchDoc&=LINE "AESearchDoc"
    osErr%=FN AEINSTALLEVENTHANDLER (_kAEWWWomega, _kAESearchDoc, gSearchDoc&, _false, _false)
    END IF
    END IF
    END IF
    END IF
    XELSE
    '"AppleEvent未対応のため終了"
    END
    END IF
    IF osErr% THEN FN err(osErr%)
    END FN

    Subject: [fb-ml 981] Window fnについて
    yukiです。

    私のところで以下のプログラムを実行すると、ウィンドウが生成されるのですが、Buildするとウィンドウが実行時とは違った形式になってしまいます。どこかに問題があるのでしょうか、お教えください。

    '===============
    END GLOBALS
    DoidType = _WdefBaseId_keepCtrlsActive_Wdefignorehilite_updateVisRgn
    WINDOW 1,"CTRL PALETTE",(0,0)-(200,100),DoidType
    '
    DO
    UNTIL LEN(INKEY$)
    END
    '===============

    Subject: [fb-ml 982] Re: Window fnについて
    乙坂と申します。初めてのメールです。

    > 私のところで以下のプログラムを実行すると、ウィンドウが生成されるのですが、Buildするとウィンドウが実行時とは違った形式になってしまいます。どこかに問題があるのでしょうか、お教えください。
    私のシステム(Performa5410 KT7.5.5)でも同じ症状(dialogFrameになってしまう)です。サンプルのWindoid Testerでも同じようになってしまいます。

    定数ツールを使って調べてみたら、
     _WdefBaseId = 129(=000010000001)
     _keepCtrlsActive = 512(=001000000000)
     _Wdefignorehilite = 1(=000000000001)
     _updateVisRgn =2048(=100000000000)
    なので、これをたし合わせた 101010000010 がDoidTypeに入ります。下二桁が"10"なのが気にかかりますね。
    _dialogFrame = 2(=10) なので、そこが問題なのでしょうか?Modeに聞いたほうが早いかもしれませんよ。

    Subject: [fb-ml 983] Re: Window fnについて
    古籏一浩です。

    At 13:46 97.10.2 +0000, akiyuki wrote:
    >私のところで以下のプログラムを実行すると、ウィンドウが生成されるのですが、Buildするとウィンドウが実行時とは違った形式になってしまいます。どこかに問題があるのでしょうか、お教えください。
     本当に結果が異なりますね。
     マニュアルのフローティングウィンドウの部分には記載ミスがあるのは知っていましたが、これは気づきませんでした。
     2.13、2.3どちらでも発生しました。
     それ以前に単純に_wdefbaseidとしても駄目ですね。
     C言語の時は何かオチがあったような気がするのですが・・・

    Subject: [fb-ml 984] ScriptManager
    こんにちわ。今日はScriptManagerについてわからないことがあるので教えて下さい。

    やりたいことは、いわゆる半角カナ文字を全角カナに自動で変換するということです。

    飯森さん(Edit7で有名だと思います)がScriptManagerを使って文字列を操作するOSAXをリリースされており、AppleScriptでは利用しているのですが、FBでは標準でこのツールボックスがサポートされていないので、追加する必要があるようです。

    未対応のツールボックスについては、パスカルのファイルをさがしてコンバートする方法を前回教えていただきましたが、それ(パスカルのファイル)はいったいどこにあるのでしょうか?「〜.p」というファイル名のようなのですが、http://devworld.apple.com/を見るのですが、一向に見当たりません。探し方が悪いのかもですが。もしかしたら、やはりCDを買わないと手に入らないのでしょうか?

    あるいは、InsideMacintoshには、アセンブラ言語の要約があり、そこにトラップマクロ名が一覧で載っているのですが、FBではそこにあるトラップマクロ名(定数)は未定義のようで、また、InsideMacitoshには具体的な数値が記載されていないように見受けられます。少なくともトラップマクロ名がわかれば、アセンブラ言語でなんとかならなくもないような気もします。

    具体的に使用したいのはトランスリタレーションという機能で、その一部として半角カナを全角カナに変換できるのです。

    よろしくお願いします。
    Subject: [fb-ml 985] カッチョイイ・スクロールバー
    ご無沙汰しております。根来でございます。
    またまた壁にぶつかってしまいました。
    お力をお貸しください。

    実は,ウインドウ下部の水平スクロールバーを少し右寄せして,クラリスワークスのように拡大・縮小ボタンを付けようと思いました。
    スクロールバーの生成時にrect指定を行い,無事右寄せはできました。
    早速PICTリソースよりPICTを読み込みまして,PICTURE命令で水平スクロールバーの左となりに描画しました。しかし,絵が出ません。
    同時に描画したTEXTBOXはちゃんと表示されています。
    これはなぜなのでしょう。PICTUREからCOPYBITSへ変えてみたりもしましたが,うまくいかないどころかメモリを壊している様です。
    みなさんはどのようにされていますか。
    教えて頂けるとありがたいのですが。
                                 根来

    Subject: [fb-ml 986] しあわせなベン
     ベン/矢野勉 です。

     大ニュースですっ  なんと、ベンはついに Performa 5430 で PowerPC の仲間入りを果たしました!

     ColorClassic (68030/16Mhz) から Performa 5430 (603e/160Mhz) への大躍進! クロック数だけでもなんと10倍! さらにとっととメモリを48メガに増設し、10メガからいっきに5倍っ。このすばらしさが次のような効果をうみだしています。
     そして、もっともしあわせな効果はっ

    「これでいつ FB 3 が出ても全然OKっ。いつでもかかってこいっ。しらみつぶしに調べ尽くして WWWページの肥やしにしてくれるわっ」

     いやあ、待ち遠しい。

    追伸:
    え、MacOS 8 をながめていたら、なんか「パフォーマでは一部問題が生じることがあります」とか書いてありまして、店員に聞いたら、「内蔵モデムが使えなくなる機種がある」とのことだったんですが、Performa 5430 はどうなのかご存じな方いませんかね? なんか MacOS 7.6 に付属していた「Performa 5XXX/6XXX Tester」というので試して大丈夫だった機種は問題なしってことのようなんですが...

     しかし、Kaleidoscope で外見だけ MacOS 8 なんで、なんか、別にいいかなあ、とか思ってしまふ。やはりマックユーザ−としては購入すべきですかね?>MacOS 8買わないとページに「Buy MacOS 8 NOW!!」バナーをはるわけにもいかんし... (Made with a Macintosh バナーは貼るつもり)


    Subject: [fb-ml 987] Re: カッチョイイ・スクロールバー
     ベン/矢野勉 です。

    At 7:10 AM 97.10.5, sendai_5300LTB wrote:
    > スクロールバーの生成時にrect指定を行い,無事右寄せはできました。
    > 早速PICTリソースよりPICTを読み込みまして,PICTURE命令で水平スクロールバーの左となりに描画しました。しかし,絵が出ません。
    > 同時に描画したTEXTBOXはちゃんと表示されています。
    > これはなぜなのでしょう。PICTUREからCOPYBITSへ変えてみたりもしましたが,うまくいかないどころかメモリを壊している様です。

     ああ、このタイプのウインドウはなんかかっこいいですよね。

     メモリを壊しているのであればちょっと関係ない可能性が高いのですが、もしかしてウインドウタイプを、ウインドウのスクロールバー配置部あり(要するに右下にグローボックスがついている) なものにしているんではないでしょうか? ここにものを配置すると、うまく操作ができなかったり、描画がおかしくなったりします。

     ではどうするかというと、タイトルバーのみのウインドウタイプにして、右下のグローボックスは ToolBox の DrawGrowIcon() で描いてしまう、という方法をとります。こうすれば、本来スクロールバーが配置される部分は純粋なコンテント・リージョン(ウインドウの内部領域)とみなされるので、何をしようがおかまいなしになります。ただしスクロールバーの管理は自分でする必要が出てきます。ウインドウがリサイズされたらスクロールバーの再配置をするとか。

     PG の場合、Grow.FLTR という、上記のようなウインドウを実現するフィルタが存在します。<http://www.geocities.com/SiliconValley/Lakes/8064/> の PG ページをご覧ください。けっこう便利なので重宝します。どうせならスクロールバーもつけといて欲しかった気もするけど、GrowIcon のみです。しかしスクロールバーをつけられたらつけられたで、邪魔になることも多かったりするし(^^;)

     では。

    Subject: [fb-ml 988] Re: Window fnについて
     ベン/矢野勉 です。

    At 10:46 PM 97.10.2, akiyuki wrote:
    > 私のところで以下のプログラムを実行すると、ウィンドウが生成されるのですが、Buildするとウィンドウが実行時とは違った形式になってしまいます。どこかに問題があるのでしょうか、お教えください。
    >
    > '===============
    > END GLOBALS
    > DoidType = _WdefBaseId_keepCtrlsActive_Wdefignorehilite_updateVisRgn
    > WINDOW 1,"CTRL PALETTE",(0,0)-(200,100),DoidType
    > '
    > DO
    > UNTIL LEN(INKEY$)
    > END
    > '===============

     これについては過去に英語の FutureBASIC Mailing List で話題になったことがあるのですが、そこでの結論を忘れてしまいました。ちょっといそがしくて今は FB Maling List から登録をはずしているので、再度質問することができません。たしか FB 側の問題だったような気がします。やはりモードさんに聞くのがベストだと思います。

     モードさんに聞いてもわからんようだったら、ここでご報告ください。STAZ なりMalinglist に再加入するなりして調べようと思います。

    Subject: [fb-ml 989] Re: カッチョイイ・スクロールバー
    古籏一浩です。

    At 22:10 97.10.4 +0000, sendai_5300LTB wrote:
    >実は,ウインドウ下部の水平スクロールバーを少し右寄せして,クラリスワークスのように拡大・縮小ボタンを付けようと思いました。
    >スクロールバーの生成時にrect指定を行い,無事右寄せはできました。
    >早速PICTリソースよりPICTを読み込みまして,PICTURE命令で水平スクロールバーの左となりに描画しました。しかし,絵が出ません。

     絵が出ないと言うのは拡大縮小の画像が出ないと言う事ですよね。
     この拡大縮小の絵はリソースで持っているのでしょうか?
     それとも外部ファイルでしょうか?
     とりあえず、

    (1)リソースであればパージ可能になっているか否か
       パージ可能になっているのであればパージ不可にしてみる
    (2)実はメモリ不足
       ビルドされたアプリケーションのメモリを増やしてみる
    (3)PICTハンドルが、実はPICT画像のアドレスを示していない
    (4)拡大縮小の画像データが壊れている
    (5)COLOR _zBlackなどのように色指定をしていない
    (6)他のフィールドと重なっていて実は表示されているが消されてしまっている

    といった所でしょうか。

    Subject: [fb-ml 990] Re: カッチョイイ・スクロールバー
    古籏さん,ベンさん,いつもありがとうございます。

    その後いろいろと試してみたのですが,表示位置を上にずらすとスクロールバーのあった白い部分から上に出ている領域が表示されます。このことからウインドウの表示領域外であったので表示されなかった様です。ベンさんのおっしゃる様に,グローボックスなしのウインドウでマニュアル制御に挑戦してみます。何かソースがぐちゃぐちゃになってきているので,一度整理しないとメルトダウンしそうで怖いです(^^;

    返信ついでに質問というのも失礼なのですが,短形の枠なしのシステムパターンで塗りつぶされた図形を描きたいのです。ToolboxのFullRectを使いたいのです。利用方法がハンドブックの292Pでは,

    CALL FILLRECT(rect,#REGISTER(A5)+_ltGray) となっております。

    実際にコンパイルしてみると,#REGISTER...の部分が不正だとエラーが出てしまいます。この部分には,塗りつぶしのパターンを指定するということですが,どのように記述すればよいものかさっぱり行き詰まってしまいました。Cの本などを読みますと,パターンのデータ構造体のハンドルとかになっています。こうなってくるとシステムのパターンのハンドルから入手しなくてはならないのでしょうか。それとも,私の環境だけの事なのかしら。私はPPC601 KT7.5.3の環境です。
                                   根来

    Subject: [fb-ml 991] Re: カッチョイイ・スクロールバー
    At 10:47 AM 97.10.6, sendai_5300LTB wrote:
    > 返信ついでに質問というのも失礼なのですが,短形の枠なしのシステムパターンで塗りつぶされた図形を描きたいのです。ToolboxのFullRectを使いたいのです。利用方法がハンドブックの292Pでは,
    >
    > CALL FILLRECT(rect,#REGISTER(A5)+_ltGray) となっております。
    >
    > 実際にコンパイルしてみると,#REGISTER...の部分が不正だとエラーが出てしまいます。この部分には,塗りつぶしのパターンを指定するということですが,どのように記述すればよいものかさっぱり行き詰まってしまいました。

     はい。これはいわゆる「A5グローバル」というやつですね。システムグローバルみたいなもの。C言語なんかだと全部グローバル変数にマッピングされるんで簡単なんですが、FB ではわざわざ A5 領域からとってこないとだめだという...

     で、REGISTER(A5) は A5領域の先頭アドレスを返すので、それにライトグレーのパターンのある位置を示す「_ltGray」をたすと、目的のアドレスになるというわけ。

     しかし ToolBox の FillRect は引数として、アドレスではなく、実体そのものを要求します。実体を受け取ったあと、自分でアドレスに変換します(参照変換)。しかしここでは実体ではなく、そのアドレスしかありません。このアドレスを実体にもどさなくちゃいけないんですが、めんどくさいんで、アドレスの頭に # をつけることでコンパイラに一時的に参照変換を中止させる技を使っています。# をつけずにわたすと、ポインタがさらにポインタに変換されてしまいます。#をつけることで、件のアドレスを(変換させずに)直接わたすことができるのです。

     しかしこの手法、なんかよくエラーにみまわれます。そういうときはやはり実体を渡してやるしかない。今回の _ltGray というのは8バイトの値(ハンドブックの p370 に記述があります)ですので、

    DIM ltGray.8
    '" 指定アドレスから8バイトを変数ltGrayにコピーする。
    ltGray;8 = REGISTER(A5)+_ltGray
    CALL FILLRECT(rect, ltGray) '"それを渡す

     これでうまくいかなければ、なにか別の原因ということになります。

    Subject: [fb-ml 992] Re: カッチョイイ・スクロールバー
    ベンさん,ありがとうございます。

    >ToolBox の FillRect は引数として、アドレスではなく、実体そのものを要求します。
     なんてことでしょう。ぜんぜん知りませんでした。C言語の本を読む限り別の方法が書かれていたのも誤解の一因でした。修正することによりうまく描画できました。ほんとうにありがとうございます。他にもいろいろと応用がきく技ですね。しかしハンドブックはどうしてポインタ渡しなのだろう(--

    スクロールバーの件は,マニュアル制御でなんとかできそうです。
    リサイズなどの場合のフォローがけっこう大変ですね。やってもやっても不具合が見つかるのでちょっとブルーです。根性だけの問題ですから近日中に解決したいと思います。

    Performa君ご購入おめでとうございます。
    5430は私もひそかに狙っている機種ですのでちょっとうらやましいです。
    モニタがわりと良くて,白い機種の中では最速でしたよね。Mac OS 8での内臓モデムが使えない件は,KT7.5.5あたりのモデムソフトを上から再インストールするとOKという話を聞きました。正確なソフト名は忘れました。
    たしか「Macintoshトラブルニュース」のHPで見かけたのですが...
    ところで,Performaおねーちゃんってけっこうかわいいと思うのですが(^^;

                                    根来

    Subject: [fb-ml 993] Re: Performa内臓モデムの件
    べんさん,先ほど不明瞭な内容でメールを出してしまいましたので訂正させていただきます。

    Performa5430の内臓モデムがMac OS 8で利用できない件ですが,OS 8 CD-ROM 内の「特別付録」に各機種別のAppleテレコムアップデータがあるのでそれをインストールすることで問題なく動作するそうです。

    これら情報は,Macintoshトラブルニュースに掲載されています。
    http://laplace.ed.kagawa-u.ac.jp/‾akiyama/MacintoshNews/News/MacTroubles.html#970502

                                   根来

    Subject: [fb-ml 994] Re: しあわせなベン
    古籏一浩です。

    At 23:12 97.10.5 +0900, Tsutomu YANO wrote:
    > 大ニュースですっ  なんと、ベンはついに Performa 5430 で PowerPC の仲間入りを果たしました!
     おお、おめでとうございます。
     速度は2〜3日で慣れてしまって、すぐに「遅い」(笑)と感じるのでは?

    >・スクリーンが大きいので、ついにゲームができるっ。過去に自分が作成に協力しておきながらマシン制限でプレイできなかった「Domino」はもちろん、あこがれのスターウォーズのゲームの数々... 調子にのってさっさと Rebel Assault II を購入しただけでなく、このゲームをフルに楽しむためにジョイスティックまで買ってくるという愚かぶり。
     なんと愚かな(笑)
     という事は低速ながら私のダウンロードページにあるLightStreamのゲームも一応動作しますね。
     私もジョイカード(Game Mac)がMacにくっついてます(笑)

    >・JAVA が動く! かつては「植物の成長をみまもるかのよう」な速度だった Javaも、PowerPC と MacOS Runtime for Java 1.5 のおかげで、快適快適。すばらしいが、やってみて、何に使うか疑問ももってしまった。(だって、Java って「マッキントッシュ」アプリケーション作れないでわ)
     Macで作ってWinユーザーに売ればいいんですよ。
     でも、完全にコンパチじゃないので、完全にどのマシンでも同じと思うとトラブルの元かも。Java Interpriterにもよるでしょうが。

    Subject: [fb-ml 995] Re:Window fnについて
    Tsutomu YANO wrote:
    >
    yukiです。乙坂さんはじめまして、古旗さん、べんさんいつも有難うございます。そして皆さん大変遅くなって申し訳ありません。

    Modeに確認してみますので、結果が判り次第御報告させていただきます。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 996] Re:ScriptManager
    yukiです。

    Osamu Shigematsuさん wrote:
    > 未対応のツールボックスについては、パスカルのファイルをさがしてコンバートする方法を前回教えていただきましたが、それ(パスカルのファイル)はいったいどこにあるのでしょうか?「〜.p」というファイル名のようなのですが、http://devworld.apple.com/を見るのですが、一向に見当たりません。探し方が悪いのかもですが。もしかしたら、やはりCDを買わないと手に入らないのでしょうか?
    AppleScriptはまったく手をつけたことがないので判りませんが、以下のサイトからUniversal Interfaces 3.0というものに含まれていると思います。

    検討違いでしたら、御容赦ください。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 997] Re:しあわせなベン
    yukiです。

    ベン/矢野勉さん wrote:
    >  大ニュースですっ  なんと、ベンはついに Performa 5430 で PowerPC の仲間入りを果たしました!
    おもいきりましたねぇ。うらやましいなぁ。おめでとうございます。
    そういえばこの間出張で東京にいったとき、603e 160MHzのAkia(だったと思う)がなんと¥99,800で売りに出されていました。おもわず銀行に行こうかと思ってしまった...。
    う〜ん、ついにこのMLで68kメインユーザーは私だけになってしまったのでしょうか?

    それと、FB3ってもしかしてPPCのみの対応になるのですか?買い換えを急がなければ.....

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 998] Re:ScriptManager
    Interfaces&Librariesというものをゲットしました。
    http://gemma.apple.com/dev/sdk.html

    いろいろ入っていて、何をどれに使うか分かりませんが、研究してみようと思います。(^_^)
    ありがとうございました。

    Subject: [fb-ml 999] Re: PICTHANDLから色深度をPICTの扱い方
     始めまして。磯村@埼玉です。

     FBIIでちまちまとプログラムを作って遊んでいるのですが、いまいち解らないところがあるので、誰かヒントなどをいただけたら最高です。

    (1)やりたい事
     あるファイルからPICTリソースを読み込んで一覧表示し、その順番を並べ替えできるようにしたい。読み込むPICTリソースは、IDが1から順番にきちんとついているので、そのIDを表示時にフィールドIDに直接割り当てる。

    (2)解らないこと
     ・ウィンドウに書き込んだPICTが自動更新されません。

     PGでテンプレートを作り、OPENイベントを受け取った後、SCRLタイプの何もオブジェクトを持たないウィンドウを書いて、その後にサブルーチンで以下のような処理をしています。

    LOCAL FN readPicsFile
    pictError = _false
    resFileRefNum% = FN OPENRFPERM (gFileName$,gfileVol%,_fsRdWrPerm)
    LONG IF resFileRefNum% <> -1 ' -1 = エラー
    pictCount% = FN COUNT1RESOURCES(_"PICT") 'PICT リソースの数を数える

    LONG IF pictCount% = 0
    pictError = _true
    XELSE
    k%=2 '1行2PICTの指定
    pictWith%=FN getPictWith 'PICTの大きさを得るFN
    pictHight%=INT(pictWith%*1.41)
    FOR j%=1 TO pictCount%
    pictLine%=INT(j%/k%)
    pictColumn%=j% MOD k%
    IF pictColumn%=0 THEN DEC(pictLine%)
    IF pictColumn%=0 THEN pictColumn%=k%-1 ELSE DEC(pictColumn%)
    pictHandle&=FN GETINDRESOURCE(_"PICT",j%)
    pictHandle$="&"+MKI$(pictHandle&)
    x1%=pictWith%*pictColumn%+10
    x2%=pictWith%*(pictColumn%+1)-10
    y1%=pictHight%*pictLine%+10
    y2%=pictHight%*(pictLine%+1)-10
    PICTURE FIELD# j%,pictHandle$,(x1%,y1%)-(x2%,y2%),_framed,_scaledPict
    NEXT j%
    CALL CLOSERESFILE(resFileRefNum%)
    END IF
    END IF
    LONG IF pictError OR resFileRefNum% = -1
    fnResult%=_noPicsFile
    XELSE
    fnResult%=_noErr
    END IF

    END FN=fnResult%

     そうすると、ウィンドウの中に黒枠で囲まれたPICTが1行あたり2列で描画されるのは良いのですが、PICTの一部分が隠れたりした後再描画してくれないのです。枠はきちんと書かれますので、Runtime.FLTRではリフレッシュイベント(っていうのかな)をきちんと受け取って処理をしているようなのですが。
     マニュアルにもPICTURE FIELD文は自動更新だよ、って書いてありますし、もう半泣きモード入ってます(笑)。

     それでは。
    I should be happy to be of any service to you!!

    Subject: [fb-ml 1000] Re:ScriptManager
    yukiです。

    なんとURLつけ忘れていました。ごめんなさい。

    http://devworld.apple.com/ngs/lpp/adrpub/docs/dev/sdk.html
    です。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 1001] Re: PICTHANDLから色深度をPICTの扱い方
    At 3:03 PM 97.10.7, Yuji Isomura wrote:
    > LOCAL FN readPicsFile
    > pictError = _false
    > resFileRefNum% = FN OPENRFPERM (gFileName$,gfileVol%,_fsRdWrPerm)
    > LONG IF resFileRefNum% <> -1 ' -1 = エラー
    > pictCount% = FN COUNT1RESOURCES(_"PICT") 'PICT リソースの数を数える
    >
    > LONG IF pictCount% = 0
    > pictError = _true
    > XELSE
    > k%=2 '1行2PICTの指定
    > pictWith%=FN getPictWith 'PICTの大きさを得るFN
    > pictHight%=INT(pictWith%*1.41)
    > FOR j%=1 TO pictCount%
    > pictLine%=INT(j%/k%)
    > pictColumn%=j% MOD k%
    > IF pictColumn%=0 THEN DEC(pictLine%)
    > IF pictColumn%=0 THEN pictColumn%=k%-1 ELSE DEC(pictColumn%)
    > pictHandle&=FN GETINDRESOURCE(_"PICT",j%)
    > pictHandle$="&"+MKI$(pictHandle&)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

      (中略)

    > PICTURE FIELD# j%,pictHandle$,(x1%,y1%)-(x2%,y2%),_framed,_scaledPict

    ^^^^^^^^^^^
     棒点部は注意が必要ですね。こまったことに、ハンドブックの例ではこのように書いてあるのですね。しかし、たしか単に &pictHandle& というように、ロング長変数のあたまに & をつけてわたしてやるだけで動作したはずです。(つまりわざわざ文字列に変換する必要はない) Reference Manual にはそーかいてあるのだなあ。
     もしアプリケーション内のリソースを使うなら、PICTURE FIELD の第2引数に %resID% を送ってやれば、かってに取ってきて表示してくれますね。

     さて、再描画の件ですが、ピクチャフィールドに表示している PICT ハンドルは自前では破棄しないでください。この場合はリソースなので、ResEdit でパージ可能にセットしてあればリソースマネージャが_必要な時に_自動で破棄してくれるので、普通はほっとけば問題ないんです。(必要なときは破棄されないのが基本仕様です)

     しかし今回はアプリケーションではなく他のファイルからリソースを読み込んで、すぐに CLOSERESFILE しているのが問題です。CLOSERESFILE すると、そのファイルに属するリソースがパージ(破棄)されてしまうのです。破棄されてしまうと、再描画しようにも描画する絵が無い、ということになってしまいます。

     一番いい方法は、PICTリソースを取ってきたあとすぐに ToolBox の CALL DETACHRESOURCE(resHandle) で、PICT ハンドルをリソースマネージャの管轄からはずしてしまうことです。自動での破棄や書き戻しがされなくなります。つまり普通のハンドルとして扱われるのです。

     リソースの扱いはマックでも難しいところですが、要するに「リソースは常にリソースファイルと結びつけて管理されている」ということを覚えておくと良いでしょう。結びつけられているファイルが閉じられたら、リソースのほうも一緒に「閉じられる」わけです。

    Subject: [fb-ml 1002] パフォーマとMacOS 8
     ベン/矢野勉 です。

     え、パフォーマで MacOS 8 を使うとモデムが動かなくなる件で助言をありがとうございます。>根来さん
     アップル・テレコムをバージョンアップする必要があるのですね。

     パフォーマはどうもそれ以外にもいろいろ問題があるようで、一部機種ではちょっと妙なキャッシュを使っているために、機能拡張が読み込まれないとか、起動できないとかの症状がでるようです。ちょっと Nifty とか NetNews とか覗いてみたら、そんなことが書いていました。

     それを確認するのが 5xxx-6xxx Tester 1.0 というやつで、Archie で検索したら見つけました。さっそく試してみたところ、我が Performa 5430 は問題なしとのこと。いやあ、いいマシンを買った。おりを見て MacOS 8 にバージョンアップだ!

    Subject: [fb-ml 1003] REGISTER(A5)の顛末
    根来でございます。

    システムパターンを扱う場合のToolboxへの引き数の記述方法の件ですが,ベンさんより以下のように教えていただいておりました。

    >DIM ltGray.8 >'" 指定アドレスから8バイトを変数ltGrayにコピーする。
    >ltGray;8 = REGISTER(A5)+_ltGray
    >CALL FILLRECT(rect, ltGray) '"それを渡す

    これで無事うまく動いておりましたが,次のように簡略化できましたのでご報告いたします。

    CALL FILLRECT(rect, #[REGISTER(A5)]+_ltGray)

    どうやらハンドブックの記述には,[]が欠落しているようです。
    校正ミスでしょうか。英語版が気になります。

    Subject: [fb-ml 1004] Re:Window fnについて
    どうも、Ottyこと乙坂です。

    フローティングパレットを使おうとすると、Buildしたときにうまくいかない件ですが、

    COMPILE 0,_IncludeWDef

    をつけると、うまく動きます。

    それにしても、不親切なマニュアルですねー。一応、リファレンスとハンドブックは全体にさらっと目を通したつもりなんですが。この手のwindowを使うためには、Compile文のフラグの細かいところを読んでおかないといけないというのは、ちょっといただけません。

    先日のメールで、サンプルのWindoid Testerでも同じようになってしまうと書きましたが、今日やってみたらちゃんと動きました。何が悪かったのかな?

    Subject: [fb-ml 1005] Re: しあわせなベン
    お久しぶりです。葛原です。(^_^;;
    ベンさん、おめでとうございます。
    PPC仲間に入りましたね。\(^_^)/
    私も、今年の6月にPPCにやっと移行したのですが、いかんせん、603eの100MHz、2次キャッシュなしのPowerBook duo2300cですから、メモリ最大56Mにしても、68040、25MHzの660AVに68Mのせた状態と相対してかわりません。(;_;)

    なおかつ、以前のEudraの環境が壊れてしまったため、仮にMSのIEについてきたメーラーを使ってます。もし変なメールになっていたら、教えて下さい。m(v_v)m

    Subject: [fb-ml 1006] Re: REGISTER(A5)の顛末
     ベン/矢野 です。

    At 6:02 AM 97.10.8, sendai_5300LTB wrote:
    > >DIM ltGray.8
    > >'" 指定アドレスから8バイトを変数ltGrayにコピーする。
    > >ltGray;8 = REGISTER(A5)+_ltGray
    > >CALL FILLRECT(rect, ltGray) '"それを渡す
    >
    > これで無事うまく動いておりましたが,次のように簡略化できましたのでご報告いたします。
    >
    > CALL FILLRECT(rect, #[REGISTER(A5)]+_ltGray)
    >
    > どうやらハンドブックの記述には,[]が欠落しているようです。

     ううむ、おかしいですね。実はぼくのほうでもこの件で実験をしました。次のようなプログラムを使用しました。

    DIM rect;0, top, left, bottom, right
    DIM gray.8

    WINDOW OFF
    WINDOW 1

    CALL SETRECT(rect, 10, 10, 50, 50)
    CALL FILLRECT(rect, #REGISTER(A5)+_ltGray)

    CALL SETRECT(rect, 60,60,100,100)
    gray;8 = REGISTER(A5)+_ltGray
    CALL FILLRECT(rect, gray)

    STOP

     #マークを使った値渡し(参照変換の禁止)による FILLRECT と、BLOCKMOVE(gray;8 = ○○ってのは、BLOCKMOVE ○○, @gray, 8 と等価です)を使ってパターン情報を変数に収めてから FILLRECT に渡す方法の両方を試しているのですが、どちらも上記のように REGISTER(A5)+_ltGray としたときのみ、正確な50%グレイの四角が描画されました。一方で REGISTER(A5) を [] で囲った場合は、エラーメッセージはでませんが、50%グレイではない怪しげなパターンが描画されたあと、フリーズしました。

     HANDBOOK の P370 をみると、パターンの使用例では REGISTER(A5)+_dkGray となっているのに、_thePort を得るときには [] で囲って [REGISTER(A5)]+_thePort となっている、と、なにやらまちまちですね。ほんとに根来さんのほうでは[]で囲って50%グレイが表示されますか?

     REGISTER命令は、指定レジスタの値を返す命令なので、返ってくる値は A5 グローバル領域へのポインタ(つまり先頭アドレス)のはずなんですよ。だとしたら、[]でかこっちゃうと、先頭アドレスから4バイト読み込んでしまうんですが...

     なぞだ...

    Subject: [fb-ml 1007] Re: REGISTER(A5)の顛末
    ベンさん

    >ほんとに根来さんのほうでは[]で囲って50%グレイが表示されますか?
     す,すいません。CALL FILLRECT(rect, #[REGISTER(A5)]+_ltGray)では落ちますね。下ので動きます。+4を書き忘れてしまいました。

     CALL FILLRECT(rect, #[REGISTER(A5)]+_ltGray+4)
                           ‾‾
     しかし,ベンさんのソースでは[]で囲わずともちゃんと動きますね。
     FB2上での書き方が違うだけで,同じことですよね。
     どおして私のソースではコンパイルでエラーになるのかなぁ(T T...
     ソースを一から点検してみます。昨日はReleaseResource()が使えないのでえらい悩みました。FB2にはなかったんですね。もっと早く気付けばよかった...
                                  根来

    Subject: [fb-ml 1008] Re: REGISTER(A5)の顛末
    古籏一浩です。

    At 1:38 97.10.8 +0900, Tsutomu YANO wrote:
    > HANDBOOK の P370 をみると、パターンの使用例では REGISTER(A5)+_dkGray となっているのに、_thePort を得るときには [] で囲って [REGISTER(A5)]+_thePort となっている、と、なにやらまちまちですね。ほんとに根来さんのほうでは[]で囲って50%グレイが表示されますか?
     以前画面キャプチャーの時に[REGISTER(A5)]+_thePortを試みましたが全然うまく動作しませんでした(泣)
     どうも、ここらへんかなり怪しいのではないかと。
     実は先頭アドレスを得ることが出来ずに変なアドレスを示しているとか。
     ここらへん、詳しくしりたい所です。

    Subject: [fb-ml 1009] Re: しあわせなベン
    古籏一浩です。

    At 23:07 97.10.7 +0900, Yasuo Kuzuhara wrote:
    >なおかつ、以前のEudraの環境が壊れてしまったため、仮にMSのIEについてきたメーラーを使ってます。もし変なメールになっていたら、教えて下さい。m(v_v)m
     Content-transfer-encoding: 7bit
     になってますが、なぜかちゃんと読めます(^^;

    Subject: [fb-ml 1010] Re: Window fnについて
    yukiです。

    乙坂さん wrote:
    > COMPILE 0,_IncludeWDef
    > をつけると、うまく動きます。

    さっそく試させていただき、うまくBuildすることができました。有難うございました。

    > それにしても、不親切なマニュアルですねー。一応、リファレンスとハンドブックは全体にさらっと目を通したつもりなんですが。この手のwindowを使うためには、Compile文のフラグの細かいところを読んでおかないといけないというのは、ちょっといただけません。
    ほかの部分ではかなりいいソフトだとおもうんですがねぇ。FB3に期待しましょう。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 1011] RE:PICTの扱い方
    ベンさん、こんにちわ。磯村@埼玉です。

     丁寧な解答、ありがとうございました。

    >> 一番いい方法は、PICTリソースを取ってきたあとすぐに ToolBox の CALL DETACHRESOURCE(resHandle) で、PICT ハンドルをリソースマネージャの管轄からはずしてしまうことです。
    とのアドバイスの通りにやってみたらあっさり行けてしまいました。ううむ。「下手な考え休むに似たり」ってホントだなぁ(笑)。
     これで一歩野望に近づきました。
     つまり「リソースフォークにあるデータは、リソースマネージャの要求したときのみファイルからメモリに読み込まれ、普段はメモリには存在しない」という風な理解の仕方で良いんでしょうか?

     今度は、並んでいるPICTの順番を入れ替える、っていう作業にかかろうと思いますので、しばらくまたハンドブック(とリファレンス)を読み漁ろうと思います。
     でもきっとまた泣きつきに来ると思いますが(笑)。

    I should be happy to be of any service to you!!

    Subject: [fb-ml 1012] Re:しあわせなベン
    Takaomi です。

    >う〜ん、ついにこのMLで68kメインユーザーは私だけになってしまったのでしょうか?
    ご心配なく。僕も当分68kユーザーです。
    ちなみにLC520です。でもでも、アクセラレータ(040/25)つけてるから結構いけてるんですよ。FB使う分にも全く支障ありません。まあ、コンパイルしたソフトをPowerMacで遊ぶと(wait考えよ……)と寂しくなりますが。

    あ、でも今日アップルのホームページで8600/250が卸値を26%下げるという記述があって、すごく心引かれました。今、40万強くらいだから値下後は30万強くらいになるんでしょうか。すごい時代ですね、僕のマシンと一緒の値段です。

    Yukiさんのお使いのマックはなんでしょうか?

    Subject: [fb-ml 1013] アプリが前面に移動で自爆
    根来です。
    今とっても困っております。知恵を貸して下さい。
    次のような複数ウインドウのアプリがあります。
    アクティブなウインドウにカーソルが入っていればクロスカーソルとし,範囲外なら矢印カーソルにしています。

    WINDOW OFF
    DIM myPoint.4
    WINDOW 1,"test 1",(40,40)-(200,100),_docZoom
    PRINT "Quit is command-."
    WINDOW 2,"test 2",(240,40)-(400,100),_docZoom

    DO
    HANDLEEVENTS
    CALL GETMOUSE(myPoint)
    LONG IF ( (myPoint.h >=0 ) AND (myPoint.h < WINDOW(_width)) ) AND ( (myPoint.v >= 0 ) AND (myPoint.v < WINDOW(_height)) )
    CURSOR _crosscursor 'front window
    XELSE
    CURSOR _arrowCursor 'back window
    END IF
    UNTIL _false

    このアプリ単体では問題なく動作しているのですが,一度ファインダーなど他のアプリを前面に出し,このアプリに戻る場合に不具合があります。
    現象としては,アクティブでないウインドウのタイトルバーをクリックしてこのアプリを前面にすると,タイトルバーがアクティブでないウインドウをアクティブなウインドウとしてクロスカーソルになります。

    これはなんでなんでしょう。
    実際のソースは非常に複雑ですが,このサンプルのアイドリング処理の部分でオフスクリーンからCOPYBITSしているのですが,アクティブなウインドウと描画先のポートが異なるのでえらいことになっています。
    _mfResumeイベントでWINDOW(_activWnd)してみましたがうまくいきません。
    きっと基本的な事かとは思いますが,なんとも難しいです。
    よろしくお願いいたします。
                                   根来

    Subject: [fb-ml 1014] 文字列変数の扱い
    こんにちわ。重松です。

    今日は文字列変数についてです。
    よくサンプルソースなどを見ていると、

    A$=""
    B$="テスト"
    BLOCAKMOVE @B$,@A$,LEN(B$)+1

    というようなプログラムを見かけるのですが、これは、A$という文字列の変数が宣言されたら、256バイトの格納領域が確保されるということを意味するようにとれます。実際のところはどうなのでしょうか?

    私は心配なので、
    A$=SPACE$(LEN(B$))
    を実行してから、BLOCKMOVEしているのですが。

    よろしくお願いします。

    P.S.
    いつの間にか、1000件を超えていましたね。

    Subject: [fb-ml 1015] PICTからGIFまたはJPEGに変換
    こんにちわ。重松です。

    今、手っ取り早くPICTをGIF、またはJPEGに変換する方法を探しています。
    QuickTimeをつかえば、JPEGは簡単にできそうな気がするのですが。。。

    変換する画像は、いわゆるWebpage用のカウンター画像なので、GIFの方が向いているとは思うのですが、GIFって保存ができるアプリケーションを作るとUNISYSかどこかが著作権を持っていて、ライセンスを払わないといけないというのをNIFTYで聞いたことがあります。実際はどうなんだろ。。。

    Subject: [fb-ml 1016] Re:しあわせなベン
    yukiです。

    takaomisさんwrote:
    > ご心配なく。僕も当分68kユーザーです。
    > ちなみにLC520です。でもでも、アクセラレータ(040/25)つけてるから結構いけてるんですよ。FB使う分にも全く支障ありません。まあ、コンパイルしたソフトをPowerMacで遊ぶと(wait考えよ……)と寂しくなりますが。
    > Yukiさんのお使いのマックはなんでしょうか?

    なんとMacintoshIIvi 16MHzです。とりあえずハードディスクは110Mもあるので毎日ダイエットに励んでいます。そんなときにtakaomiさんと同様、デジタルカメラに手をだしてしまったばかりにすでに20MBがJPEGに蝕(むしば...みなさん読めましたか?わたしは読めなかった...)まれています。

    一応年末には脱68kからを8万円程度で計画中です。

    Subject: [fb-ml 1017] Re:アプリが前面に移動で自爆
    yukiです。

    根来さん wrote:
    > アクティブなウインドウにカーソルが入っていればクロスカーソルとし,範囲外なら矢印カーソルにしています。
    私には原因を解明する力はありませんが、以下のような方法でしたら以前に試したことがありますので、参考までにお知らせいたします。

    原 幸久(akiyuki@alles.or.jp)
    (以下ソースコード)
    '===============
    DIM gProgEnd
    END GLOBALS
    '----
    CLEAR LOCAL
    LOCAL FN initProg
    CLEAR
    gProgEnd =0
    WINDOW 1,"W1"
    WINDOW 2,"W2"
    END FN
    '-----
    CLEAR LOCAL
    DIM myPoint;4
    LOCAL FN doDialog
    evnt = DIALOG(0)
    id = DIALOG(evnt)
    '----
    PRINT "EVNT,ID ";evnt,id
    SELECT evnt
    CASE _cursOver
    id = DIALOG(_cursEvent)
    PRINT "_cursOver";evnt,id
    LONG IF id=WINDOW(_activeWnd)
    CURSOR _crosscursor 'front window
    XELSE
    CURSOR _arrowCursor 'back window
    END IF
    CASE _cursEvent
    CURSOR _arrowCursor
    END SELECT
    END FN
    '---- main
    FN initProg
    ON DIALOG FN doDialog
    DO
    HANDLEEVENTS
    UNTIL gProgEnd

    Subject: [fb-ml 1018] Re:アプリが前面に移動で自爆
    yukiさん,こんばんわ。

    頂いたサンプルを試してみましたが,カーソルはちゃんと更新されますが,イベントが表示されるのが背面のウインドウになりますよね。これが困っている部分なのです。アイドリング処理で毎回WINDOW関数やGetPortするにしても正常な値が得られず自爆しております。(^^;
    いやはや,困りました。

    カーソルの変更部分を参考にさせていただきます。
    ありがとうございます。
                               根来

    Subject: [fb-ml 1019] Re: PICTからGIFまたはJPEGに変換
    古籏一浩です。

    At 15:15 97.10.9 +0900, Osamu Shigematsu wrote:
    >今、手っ取り早くPICTをGIF、またはJPEGに変換する方法を探しています。
    >QuickTimeをつかえば、JPEGは簡単にできそうな気がするのですが。。。

     一番速いのはFuture BASIC Toolsを使うことでしょう。
     GIF,JPEG,TIFFなどを指定して保存できます。

    >変換する画像は、いわゆるWebpage用のカウンター画像なので、GIFの方が向いているとは思うのですが、GIFって保存ができるアプリケーションを作るとUNISYSかどこかが著作権を持っていて、ライセンスを払わないといけないというのをNIFTYで聞いたことがあります。実際はどうなんだろ。。。
     大手はちゃんとライセンスを取得しているようですが・・・
     日本円で100万円くらいでしたっけ?

    Subject: [fb-ml 1020] Re: 文字列変数の扱い
    重松さん,こんばんわ。

    文字型変数は標準でいきなり256確保されます。
    ですから,a$ = "" でも256バイト消費されます。
    もったいないですね。

    DEF LEN 命令で文字型変数の確保量の変更ができますのでマニュアルをご参照下さい。
                            根来

    Subject: [fb-ml 1021] Re: PICTからGIF またはJPEGに変換
    重松です。

    > 一番速いのはFuture BASIC Toolsを使うことでしょう。
    > GIF,JPEG,TIFFなどを指定して保存できます。
    私もそれはそうだと思うのですが、あれだと、ダイアログが開いてファイルを指定してディスクに保存しますよね?(JPEGだとさらに圧縮率まで入れないといけない。)普通のアプリならいいのですが、CGIなので、ダイアログで指定する、ということができないし、カウンタのファイルをディスクに書いていたらディスクスペースがどんどんなくなってしうし、速度も遅くなるし、またほとんど同時に複数作業することがあるので、共通のファイル名でワークファイルを作ってRedirectすることもできません。

    >>変換する画像は、いわゆるWebpage用のカウンター画像なので、GIFの方が向いているとは思うのですが、GIFって保存ができるアプリケーションを作るとUNISYSかどこかが著作権を持っていて、ライセンスを払わないといけないというのをNIFTYで聞いたことがあります。実際はどうなんだろ。。。
    > 大手はちゃんとライセンスを取得しているようですが・・・
    > 日本円で100万円くらいでしたっけ?
    100万円とは!またまた豪勢ですね。PixelCatがGIFを読めて書けないのは上記の理由からでしょうかね?STAZのToolsをつかってお絵書きソフトを作っても上記ライセンスがチャージされるとしたら、恐ろしいことになりますね。

    Subject: [fb-ml 1022] Re: 文字列変数の扱い
    重松です。

    >文字型変数は標準でいきなり256確保されます。
    >ですから,a$ = "" でも256バイト消費されます。
    >もったいないですね。

    さっそくありがとうございます。そういう仕組みだったのですね。
    しかしまた、256バイトも確保するとなると、プログラム中でやたら文字列を扱う場合には、注意が必要ですね。

    まだFBの仕組みが良く分かってないんですが、普通はたとえ1バイトであってもメモリが足りないとプログラムは動かないと思いますが、たとえば、A$という変数が宣言されたとして、メモリに空きがないとどうなるんでしょうか?

    メモリ不足エラーになると考えるのが順当だと思うんですが、それだと、プログラムが終了してしまいませんか?そうなると、サーバなどのプログラムでは致命的ですよね?私は、CGIを書いているのですが、CGIは同時に複数が使うので、メモリ不足の場合は最後の処理だけ、メモリ不足だよ!と返事をして、他の処理に影響がでないようにする必要があるんですが、CGIの引き数を

    DIM RECORD sdoc
    DIM sdocpath$ '"path_arg
    DIM sdockfor$ '"searcg_arg
    DIM sdocuser$ '"user
    DIM sdocpass$ '"pass
    DIM sdocKcip$ '"client-ip address
    DIM posthndl& '"post_arg
    DIM postsize& '"post_arg
    DIM END RECORD .sdoc

    というふうに処理しているんですが、これだとここで1Kくらい使う勘定になりますよね。まあ、たいした量でないといえばたいした量でないのですが、同時に50とか処理を行うとDIM www.sdocを実行したときにメモリ不足がでる可能性も高い気がするんです。

    万一そのような状態になりモーダルのウインドウを出してしまうと、他の処理をしなくなるので、サーバが停止してしまうのですが、あとどれくらいそのアプリケーションがメモリを利用できるかでかい配列を利用する前には、確認するしかないのでしょうか?

    AppleScriptの場合なんですが、

    on myFN(arg)
    try
    ここにメインの処理を書く
    on error
    エラー処理
    end try
    end myFN

    というふうに関数ごとにエラートラップというのでしょうか、例外処理をできるので、非常に重宝しているのですが、FBでもON ERRORで似たことができそうな気がするのですが、どこに飛ぶかの指定がいまいち良く分かりません。

    いつもは、AppleScriptの場合には、

    on mainFN
    try
    set myResult to myFN(arg)
    return http_header & myResult
    on error
    return http_header & "An error occured!"
    end try
    end mainFN

    というふうに入れ子にして処理しています。

    皆さんは、こういう例外処理はどう処理されているのでしょうか?

    Subject: [fb-ml 1023] Re: アプリが前面に移動で自爆
    At 5:39 PM 97.10.9, sendai_5300LTB wrote:
    > 今とっても困っております。知恵を貸して下さい。
    > 次のような複数ウインドウのアプリがあります。
    > アクティブなウインドウにカーソルが入っていればクロスカーソルとし,範囲外なら矢印カーソルにしています。

     (中略)

    > このアプリ単体では問題なく動作しているのですが,一度ファインダーなど他のアプリを前面に出し,このアプリに戻る場合に不具合があります。
    > 現象としては,アクティブでないウインドウのタイトルバーをクリックしてこのアプリを前面にすると,タイトルバーがアクティブでないウインドウをアクティブなウインドウとしてクロスカーソルになります。
    > これはなんでなんでしょう。
    > 実際のソースは非常に複雑ですが,このサンプルのアイドリング処理の部分
    > でオフスクリーンからCOPYBITSしているのですが,アクティブなウインドウと描画先のポートが異なるのでえらいことになっています。

     下線部がポイントです。根来さんのいう「アイドリング」部分って、マックのイベント分岐をしている HANDLEEVENTS と平行して書かれているのが問題なんです。

     DO
    HANDLEEVENTS
    マウスの処理
    UNTIL 〜

     となっているでしょ。これはダメです。必ずOSのイベントに対して反応する形で記述してください。この例でいえば、アプリケーションのウインドウがあるうちはいいんですが、他のアプリから復帰したときなどに、いきなり「マウス処理」部分が実行されてしまいます。これがレシュームとかウインドウ・アクティベートのイベントより早く実行されてしまう危険があります。つまり、アクティベート・イベントがおきてないからクリックされたウインドウが一時的にアクティブなウインドウと認識されるとか。(内部の処理がどうなっているかまでは僕も知りませんよ。あくまで例です)

     マックおよび FB でいう「アリドリング状態」というのは、Macintoshの「null」イベント状態ことを指します。メインループで勝手に繰り返し処理をしてはいけません。単なる計算ならともかく、ユーザーの処理にかかわる部分を記述するのはバグの温床となります。
     Macintoshの null event もハンドブックの p63 に記述があるように ON EVENT FNでとらえられます。あるいはてっとり早く、ON TIMER(-1) FN とすれば、60分の1の割合(基本的には null event と同じ割合です)で指定した関数が呼び出されます。イベントを捕えて処理を行っている限り、今回根来さんが体験しているような状態はありえないはずです。かならずイベントを介して処理を行うのがマッキントッシュの「イベントドリブン」なプログラムの鉄則です。

     まあ、実際には今回の処理の場合、原さんがすでに書いているように、ON DIALOGでイベントを引っかけて、_cursEvent を利用するのがいいですね。_cursEvent は、カーソルがウインドウ内部に入った時に発生して、そのウインドウの ID を返しますので、その ID とアクティブウインドウの ID とを比べて一致すればクロス・カーソルに、一致しないとき及び _cursEvent が0を返しているときは矢印カーソルにセットすればいいでしょう。こっちの方が楽でしょう。

    #なんか原さんは _cursOver イベントも使ってますが、これってボタンやらフィールドにカーソルが入ったときに発生するんだよね?

    Subject: [fb-ml 1024] Re:アプリが前面に移動で自爆
    At 6:04 AM 97.10.10, sendai_5300LTB wrote:
    > yukiさん,こんばんわ。
    >
    > 頂いたサンプルを試してみましたが,カーソルはちゃんと更新されますが,イベントが表示されるのが背面のウインドウになりますよね。これが困っている部分なのです。アイドリング処理で毎回WINDOW関数やGetPortするにしても正常な値が得られず自爆しております。(^^;いやはや,困りました。

     あやや、こっちが書いているあいだに解決しちゃったのね。
     イベントが表示されるウインドウが固定なのなら、OUTPUT WINDOW で指定できませんか? COPYBITS するなら、あらかじめグローバル変数にウインドウの GrafPortをとっておくとか。

     そもそも描画って、ウィンドウへのアップデートイベントで処理しないと駄目ですよ。FB なら _wndRefresh だったかな。アップデートイベントまで描画を遅らせるのも、Macintoshプログラミングの重要な技術の一つですね。

    Subject: [fb-ml 1025] Internet Configの件について
    InternetCongifですが、FB用のAPIを見つけましたので報告いたします。
    mel@intergate.bc.caさんのものです。
    http://www.geocities.com/SiliconValley/Lakes/8064/icAPI.sit からダウンロードできます。

    参考になれば幸いです。

    Subject: [fb-ml 1026] Re:アプリが前面に移動で自爆
    yukiです。

    ベンさんwrote:
    > #なんか原さんは _cursOver イベントも使ってますが、これってボタンやらフィールドにカーソルが入ったときに発生するんだよね?
    すみません。実は私も教えて頂きたいのですが、なぜかWindowからカーソルがでるときは、_cursEvent= 20、入るときは_cursOver= 21でイベントが発生するようなのです。で、こうしているわけなのですがもっとうまい方法はあるのでしょうか。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 1027] FNの引き数について
    yukiです。

    また基本的な質問があるのですが、いま以下の関数(Pascal Interface)への引き数で悩んでいます。

    LOCAL FN GetMaxCompressionSize(src&,@srcRect&,colorDepth%,quality&,
                    1^^^^^^^^^
    cType&,codec&,@size&)
      2^^^^^^
    @マークがついているということは、1、2ともポインタを要求されていると思うのです。で、

    DIM srcRect;8
    DIM size&

    と定義し、

    FN GetMaxCompressionSize(src&,@srcRect,......@size&)

    で呼ぶと双方ともエラーが発生してしまいます。どこに問題があるのでしょうか。よろしくお願いいたします。

    原 幸久(akiyuki@alles.or.jp)

    Subject: [fb-ml 1028] Re:アプリが前面に移動で自爆
    At 2:56 AM 97.10.11, 原 幸久 wrote: > > #なんか原さんは _cursOver イベントも使ってますが、これってボタンやらフィールドにカーソルが入ったときに発生するんだよね?
    > すみません。実は私も教えて頂きたいのですが、なぜかWindowからカーソルがでるときは、_cursEvent= 20、入るときは_cursOver= 21でイベントが発生するようなのです。で、こうしているわけなのですがもっとうまい方法はあるのでしょうか。

     ううむ、僕も確認しました。どうもウインドウ内にカーソルが入ったときは、_cursOver イベントしか発生しませんねえ(^^;)

     いろいろ試して見たところ、次の用になってますね。

    ・ウインドウ内にカーソルが入る
    _cursOverが発生
       DIALOG(_cursOver) は、ボタンやフィールドではなく、ウインドウ内部に侵入したことを表わす0になる
       しかしここでDIALOG(_cursEvent) で、侵入したウインドウのウインドウIDを得ることができる。

    ・ウインドウ外部にカーソルが出る
      _cursEventが発生
       DIALOG(_cursEvent) では、マニュアルどおり0が得られる。

     結局、原さんのやっているように、_cursOver と _cursEvent を併用するしかないでしょう。推測するには、ウインドウにカーソルが侵入した場合、_cursOver (ID=0)と _cursEvent (ID=window id) が同時に発生してしまうため、イベントしては _cursOver のほうが優先的に発生するのでしょう。しかし _cursEvent がまったく発生していないわけではないので、_cursOver をキャッチした段階で DIALOG(_cursEvent)してやることで、侵入したウインドウのIDを得られる、ということではないかと。

     まあ、同時に同じイベントが発生するなら、どっちかを優先するしかないですね。
    いやあ、いい勉強をしました。感謝感謝。

    Subject: [fb-ml 1029] Re: FNの引き数について
    At 3:09 AM 97.10.11, 原 幸久 wrote:
    > また基本的な質問があるのですが、いま以下の関数(Pascal Interface)
    > への引き数で悩んでいます。
    >
    > LOCAL FN GetMaxCompressionSize(src&,@srcRect&,colorDepth%,quality&,
    >                 1^^^^^^^^^
    > cType&,codec&,@size&)
    >   2^^^^^^
    > @マークがついているということは、1、2ともポインタを要求されていると思うのです。で、

     いや、関数定義の引数に @ がついているところも、アドレスではなく実体を要求します。実体を渡すと、コンパイラが自動的に変数の先頭アドレスをとって、srcRect& にいれてくれます。これはどういうことかというと、「参照渡し」「値渡し」の違いを理解する必要があります。解説は後半に。

     さて、ポイントは実体が何バイトの変数なのかわからない、という点です。srcRect& は名前からして実体は Rect レコードで間違いなかろうと思うので、実体は8バイトですね。size& の実体のサイズはわかりません。 Pascal Interfaces の Pascalの定義を見てみるしか、C言語の解説書または Inside Macintosh を見るしかないですね。(なんか4バイトのような気がする...)



     さて、解説。

     まず、上記でいえば、src&, colorDepth%, quality& は「値渡し」という手法がとられます。これは、引数に与えた変数の「値」が、src&, colorDepth%, quality& に_コピーされて_渡されることを差します。

     一方、@ がついている srcRect& には「参照渡し」という手法がとられます。この手法では、実体を渡したら、その値のコピーではなく、変数の先頭アドレスが渡されます。(アドレスは4バイトなので、受け皿である srcRect& には & がつくわけです) つまり変数への「参照」が渡されるわけです。
     なんというか、変数を渡すとコンパイラが勝手に頭に @ がついているものとして処理してくれる、と考えると分かりやすいかと。

     もしこの定義に @ がついていない場合は、原さんのいうように頭に @ をつけて自前で参照に変換してやる必要があります。これがC流の「すべてを値渡しで処理する」手法です。

     最近はC言語が主流ゆえにあまりしられてませんが、実は ToolBox は4バイトより上のサイズの引数にはすべて「参照渡し」が適用されます。Pascal の手法なのです。C言語には参照渡しという手法が存在しないので、必然的に自前で参照に変換してから渡すことになります。しかし FB には Pascal と同じように参照渡しの機構がありますので、ToolBox も Pascal と同じ使い方になります。

     CALL SETRECT(rect, 0,0,20,20)

     のとき、なんで @rect としなくていいんだろう、と思ったときはないですか? C言語ではそうしなくちゃいけないんですが、FB ではそのまま渡せば勝手に参照に変換してくれるわけです。これを自分の関数で実現するのが、引数定義の頭に @ をつける、というやり方です。僕は多用します。(他の Toolbox の使用法と共通にしたいからです)

    (注)
    この理由から、C言語の本でポインタを渡すようになっているところには FBではのきなみ実体を渡すようになっています。C言語の Toolbox 定義を鵜呑みにしてはいけません。逆にいえば、ポインタを渡すところはすべて参照渡しになっていると考えていいでしょう。SETRECT なんかはその典型ですね。みなさまご注意を。



     さらに。関数の定義の仕方ではなく、引数の渡しかたの問題ですが、ちょっと前に話題になった「変数の頭に # をつけて渡す」というやり方ですが、これは逆に「コンパイラに強制的に値渡しをさせる」手法です。アドレスが自前で用意できているときは、わざわざコンパイラに参照(アドレス)に変えてもらわなくても、それをそのまま渡せばいいんですよね。その時は、自前で用意したアドレスの頭に # をつければ、参照渡しになっているところでも、参照渡しではなく値渡しが行われます。極端な例を出せば:

     CALL SETRECT(rect, 0, 0, 10,10) は
     CALL SETRECT(#@rect, 0,0,10,10) と同じです。

     下のほうは、@ で rect の先頭アドレスを得て、それを # で強制的に値渡しにしています。上は勝手にアドレスに変換されて渡されます。

    まとめ。

     @ は同じマークでも、変数の頭につけた場合と、関数の定義で使用した場合とでは意味がちがうってことです。

    Subject: [fb-ml 1030] 初心者
    はじめまして、ハイノと申します
    FBはじめて、まだ1日めの初心者です

    質問させていただきます
    まず第一
      FBとVBは、根本的な違いはあるのですか?
      あと、それぞれの特徴はなんですか(具体的ではなく)
    次に第二
      マニュアルを持ってないのですが、それに取って代わることができ初心者に優しい、参考書はありますか、あったら教えてください

    これから頑張って、最終的にRPGを作りたいと思っています(4年後計画)
    もし、このMLにRPGを作ったことがある人や、ゲーム会社に勤めている人がいたらプログラムの志などを教えていただければ、これからの励みになるので、是非送ってください
    これから、よろしくお願いします

    ハイノ

    Subject: [fb-ml 1031] Re: 初心者
    ハイノさん,はじめまして。

    FBとVBの差ですが,詳しいことは大先輩からレスが付くとしてプログラムスタイルのイメージ的な事では,FBがC風の組方でVBがC++風となります。どちらも両方できれば良いのですが,初心者のうちは平行して勉強すると頭がこんがらがります(^^; 今までのハイノさんのプログラム経験と今後の希望を考えて両方のチュートリアルを終えた時点で馴染みやすい方を重点的に勉強してはどうでしょう。FBもVBも全く別のものというわけではなく,密接に関連がありますので,片方に慣れてくると他方もなんとなくわかってきます。(本当か?>わし)
    とりあえず,付属のチュートリアルを終えてみてはどうでしょう。
    具体的な疑問が出れば,気楽に聞いてください。
    私の答えられる範囲で大うそを教えてしんぜましょう(笑)
    これからもよろしく。
                              根来
    追伸
    マニュアルがないということは,正規購入ではなく友人から購入されたわけですね。それなら購入した友人からマニュアルをもらってください。ユーザー登録の変更もお忘れなきよう。そうしないとあなたか友人の方のいずれかが不正コピーをした事になりますから気を付けてください。

    Subject: [fb-ml 1031] Re: 文字列変数の扱い
    重松さん,こんばんわ。

    >A$という変数が宣言されたとして、メモリに空きがないとどうなるんでしょうか?
     A$がローカル変数とすれば,スタックオーバーフローということですよね。もしくは,スタックとヒープの衝突ですか。  こいつは難しいなー。FB2自身が内部的にスタックを最大に拡張してくれていると仮定すると,残りメモリをチェックするしかないのではありませんか。ここらへんは良く知らないのですが。

     話がややこしいので,大きい構造体はアプリケーションヒープに確保してはどうでしょう。これなら確保時にエラーの戻り値がありますからお望みの動作も可能かと思います。
     せっかく DIM END RECORD .sdoc と書かれているのですから,DIM www.sdoc にせず,wwwHandle& = FN NewHandle(_sdoc) とするとアプリヒープに確保で,wwwHandle&がゼロならメモリ不足なので,wwwHandle& = FN NewHandleSys(_sdoc) と懲りずにシステムヒープに確保にいくのはどうでしょう。これでだめなら雨の日の為のメモリを解放してはどうでしょう。(^^これでだめなら気分はシンジ君ですね。(笑;)
                                根来

    Subject: [fb-ml 1032] Re: アプリが前面に移動で自爆
    ベンさん,返事が遅くなりました。

    私のアイドル処理に問題があったのですね。(T_T
    良い勉強をさせてもらいました。ON MOUSE FN 〜を使う事でマウスイベント発生前にマウス処理に突入するという不具合は直りました。ありがとうございます。
    実は今日一日,新たにリソース周りのエラーが出ていて苦労していたのですが,先ほど解決した次第です。ですから,カーソルに絡むアプリ前面時の問題は明日調べるつもりです。
    なんか言いだしっペの私が遅れているので焦ります。(^^;

    その他,イベント周りで調査中なのが,二つのウインドウが開いている場合のアクティブとリフレッシュイベントの組合わせです。ウインドウ同士が重なっている場合は,アクティブ->リフレッシュとなりますが,重なっていない場合はアクティブのみです。ここで,ウインドウの再描画をどちらのイベントでもすると重なっている場合に更新が二回も起ってしまいます。せっかくオフスクリーンを使っていてもちらつくような遅いようなでなんとか一度限りに抑えたいのです。フラグを作るか何か方法を考えようと思っています。

    丁寧なレスをありがとうございました。
                             根来

    Subject: [fb-ml 1033] Re: 初心者
    古籏一浩です。

    At 0:43 97.10.11 +0900, Satoshi N wrote:
    >まず第一
    >  FBとVBは、根本的な違いはあるのですか?
    >  あと、それぞれの特徴はなんですか(具体的ではなく)

     FBはMac用BASIC, VBはWin用BASICといった所でしょう。
     FB、VBともに持っていますが、同じBASICでも文法も違いますが一番異なるのはプログラムの組み立て方が違う所でしょうか。FBは付属のPascal Converterで最新のToolboxを使用できますが、VBだとVC++が必要だったり肝心なポイントが大抵こけてます(笑)。VBでシューティングゲームを作るのはあかんというのも定説です。VB5ではVB4と比べて多少マシになったみたいですが。

    >次に第二
    >  マニュアルを持ってないのですが、それに取って代わることができ初心者に優しい、参考書はありますか、あったら教えてください
     参考書はありません(笑)
     が、私のページやFB−MLの方々のページを参考にすれば十分参考書に匹敵すると思います。おまけに電話代だけですし(^^;

    >これから頑張って、最終的にRPGを作りたいと思っています(4年後計画)
    >もし、このMLにRPGを作ったことがある人や、ゲーム会社に勤めている人がいたらプログラムの志などを教えていただければ、これからの励みになるので、是非送ってください

     ゲームは私は毎週1本ペースで作成していますがf(^^;
     プログラムの志(?)は簡単で「作りたい」という情熱だけです。
     技術よりも情熱の方が大事という事です。
     私は過去にRPG作って面倒くさくて辞めてシューティングゲームやキャラクターゲームなどリアルタイムアクションがほとんどです。
     FBでもスペースハリアーくらいは作成できます。
     RPGは速度を問わないので、そうい点では楽ですね。

    Subject: [fb-ml 1034] Re: アプリが前面に移動で自爆
     ベン/矢野勉 です。

    At 11:26 AM 97.10.11, sendai_5300LTB wrote:
    > その他,イベント周りで調査中なのが,二つのウインドウが開いている場合のアクティブとリフレッシュイベントの組合わせです。ウインドウ同士が重なっている場合は,アクティブ->リフレッシュとなりますが,重なっていない場合はアクティブのみです。ここで,ウインドウの再描画をどちらのイベントでもすると重なっている場合に更新が二回も起ってしまいます。せっかくオフスクリーンを使っていてもちらつくような遅いようなでなんとか一度限りに抑えたいのです。 > フラグを作るか何か方法を考えようと思っています。
     え? 他のウインドウと重なっていない場合は、そもそも再描画の必要がないんじゃないですか? 重なってないってことは、もともと描かれていたものは消えてないわけですから。
     どちらにせよ、描画は意地でもリフレッシュ時に行います。なんらかの事情で描画を強要したくなったら、自分で描画するのではなく、描画したい領域を CALL INVALRECT(rect) で「無効化」します。そうすればシステムが自動的にリフレッシュイベントを起こし、無効になっている部分を描画しようとします。リフレッシュに反応するようになっていれば、あとはほっといても描画されますね。オフスクリーンを使っているなら、かなりスムーズな描画が期待できます。

     描画はリフレッシュでのみ行い、必要なときは、描画を直接行うのではなく、リフレッシュを強要する、というのがMacintosh流の描画法です。(なんか「マニアーナの法則」とかいうたいそうな名前がついているらしい)

     ハンドブックの p72 にも「ウインドウの内容は _wndRefresh イベントを受け取った時のみ描画されるべきです」というようなことが書いてありますね。

    Subject: [fb-ml 1035] Re:アプリが前面に移動で自爆
    yukiです。

    ベンさんwrote:
    >  ううむ、僕も確認しました。どうもウインドウ内にカーソルが入ったときは、_cursOver イベントしか発生しませんねえ(^^;)
    中略
    >  結局、原さんのやっているように、_cursOver と _cursEvent を併用するしかないでしょう。推測するには、ウインドウにカーソルが侵入した場合、_cursOver (ID=0)と _cursEvent (ID=window id) が同時に発生してしまうため、イベントしては _cursOver のほうが優先的に発生するのでしょう。しかし _cursEvent がまったく発生していないわけではないので、_cursOver をキャッチした段階で DIALOG(_cursEvent)してやることで、侵入したウインドウのIDを得られる、ということではないかと。

    なるほど、そういうことでしたか。以前悩んだときに窮地の策として使ったものです。
    調べていただいてどうも有難うございました。

    原 幸久(yuki@alles.or.jp)

    Subject: [fb-ml 1036] Re:FNの引き数について
    yukiです。

    ベンさんwrote:
    >  いや、関数定義の引数に @ がついているところも、アドレスではなく実体を要求します。実体を渡すと、コンパイラが自動的に変数の先頭アドレスをとって、srcRect& にいれてくれます。これはどういうことかというと、「参照渡し」「値渡し」の違いを理解する必要があります。解説は後半に。
    >
    中略
    >  @ は同じマークでも、変数の頭につけた場合と、関数の定義で使用した場合とでは意味がちがうってことです。

    詳しい解説を有難うございました。5回ぐらい読み返してやっと理解できました。
    雲が晴れたような感じです。本当に有難うございました。

    原 幸久(yuki@alles.or.jp)

    Subject: [fb-ml 1037] Re: アプリが前面に移動で自爆
    ベンさん,こんばんわ。

    >他のウインドウと重なっていない場合は、そもそも再描画の必要がないんじゃないですか? 重なってないってことは、もともと描かれていたものは消えてないわけですから。
     いやあ,ごもっともです。説明をしていなかった私の落度ですが,実は例のスクロールバーの件の続きでして,独自のコントロールが付いているのです。ウインドウが背面に廻った時に,スクロールバーと同様に独自のコントロールもディアクティブにしたいのが,リフレッシュ以外のイベントで再描画している理由です。しかし,実際の描画が分散するのはまずいと思いまして,教えて頂いたCALL INVALRECT(rect)を使用することで実にすっきりとしたコードになりました。動作も正常です。ただ,CALL INVALRECT(rect)を多用するとアップデートイベントがたくさん発生するので,もう少し絞り込みたいと思います。例外として,Tile Switcher でのアプリ切り替えでは,アップルイベントでの呼び出しのせいかアクティブになったウインドウの独自コントロールをアクティブなものに差し替えることができていません。これは今後の課題として勉強したいと思います。

     先日来お騒がせしていたカッチョイイウインドウの件ですが,今回CALL INVALRECT(rect)を教えて頂いたおかげで,完全な動作をするものが完成しました。
     ありがとうございました。
                                       根来

    Subject: [fb-ml 1037] SetPortとSetGWorldの疑問
    古籏さん,いつもお世話になります。

    古籏さんのサンプルソースを見ていて気付いたのですが,古籏さんはウインドウに描画する場合もSetGWorldを利用されていますね。私もそのまま真似をさせてもらっていますが,ハンドブックのサンプルでは,SetPortを使っています。どちらでもうまく動いているようですが,実際のところSetPortとSetGWorldは違うものというか使い分けが必要なものなのでしょうか。インサイドマックを読んではみましたが,個別の機能はわかるのですが,使い分けというか利用の上での差がわかりません。お手数ですが,教えてはいただけないでしょうか。
                                  根来

    Subject: [fb-ml 1038] PICTの属性を得るには?
    皆様こんにちわ。磯村@埼玉です。

     またまた、教えを乞いに来ました。今度は、「PICTURE FIELDの属性はどうやったら得られるのか?」です。

     PICTURE FIELDを作ってそこにPICTを貼り込むには、
       PICTURE FIELD ID%,&pictHandle&,(x1%,y1%)-(x2%,y2%),_framedNoCR,_scaledPict
     とやれば良いことは分かっています。表示されているPICTを反転させるには、
       PICTURE FIELD ID%,,,_statFramedInv
    とやれば、出来ることも何とか分かりました。

     しかし、ここから詰まってしまいました。
     やりたい事を手順にすると、
    1)クリックされたフィールドのPICTを反転する。
    2)クリックされたフィールド以外の属性を調べ、
    3)反転されていたら元に戻す。
    4)反転されていなければそのまま。
    となります。このときに3)を実行する方法が分かりません。TEHANDLEを使うのかとも思いましたが、どうやらそうでもないみたいですし。

     どうすりゃいいでしょう。むぅぅん。

    I should be happy to be of any service to you!!

    Subject: [fb-ml 1039] Re: PICTの属性を得るには?
    古籏一浩です。

    At 11:20 97.10.13 +0900, Yuji Isomura wrote:
    > やりたい事を手順にすると、
    >1)クリックされたフィールドのPICTを反転する。
    >2)クリックされたフィールド以外の属性を調べ、
    >3)反転されていたら元に戻す。
    >4)反転されていなければそのまま。
    >となります。このときに3)を実行する方法が分かりません。TEHANDLEを使うのかとも思いましたが、どうやらそうでもないみたいですし。
    >
    > どうすりゃいいでしょう。むぅぅん。

     人にもよりますが、私のやり方では、あらかじめPICT FILEDの状態を保存しておく配列または変数を用意します。
     反転を切り替えるには(変数がaとした場合)

    a = a XOR 1

     で反転できますので手軽にできるのではないかと思います。
     あとはa = 0なら普通の表示、1だったら反転表示にすればよいのではないでしょうか。

    Subject: [fb-ml 1040] Re: SetPortとSetGWorldの疑問
    古籏一浩です。

    At 21:49 97.10.12 +0000, sendai_5300LTB wrote:
    >は,SetPortを使っています。どちらでもうまく動いているようですが,実際のところSetPortとSetGWorldは違うものというか使い分けが必要なものなのでしょうか。インサイドマックを読んではみましたが,個別の機能はわかるのですが,使い分けというか利用の上での差がわかりません。お手数ですが,教えてはいただけないでしょうか。
     単にグラフィックデバイスを指定するかしないか、といった当たりだと思います。ここらへんは、あまり私は詳しくないのですがFB1.0.2の時にSetPortでどうしても動かなかったので、仕方なくSetGWorldで指定したら無事に動作したという経緯があって、それからSetGWorldを使ってます。
     ここらへんは他の人の方が詳しそうですf(^^;