Future BASIC II-J Mailing List

- fb-ml:950〜999まで -

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

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!!