部報 第 186 号・新旧役員挨拶号

目次

[-> TSG Home Page]


旧役員挨拶


宇宙無責任部長 Terakawa

 部長 (以下“ぶちょ”と書く) になって何が大変かって言うと、こんな原稿を 書かなきゃいけないことさ。もう何書いていいんだか、わかんないよ。だって、 ぶちょったって、責任もってやんなきゃなんないなんて、これっぽっちも思って なかったけど終わってみたら、結局すべてうまく (例年通りに) いってるもん。 ほんと、ぶちょでよかったよ。編集長やコンパ委員なんて、実はとっても大変な んだよ。ぶちょはね、駒場祭実行委員会・通称 KFC (ケンタッキーフライドチ キン (うそ) ) に書類なんかを出すのが主な仕事だったけど、これが少々・・・ うーん・・・だいたい数日から場合によって数週間おくれてもダイジョブなもの ばっかりなんだ。槌音の原稿は、構成の段階になってから割り込ませてもらえた し (こういうところが TSG の他にもあった) 、駒祭のときは運営委員を出す時 間を忘れたりしたけど、何のペナルティーもなく別の時間で O.K. だったりし たんだ。
 それに比べて、編集長やコンパ委員なんて大変だよね。みんな部報の発行が最 低でもコンパのある日までと分かっているから前日まで原稿出さなかったりする し、コンパ委員は街に出てコンパ会場を探したり、たくさんのお金を管理したり だもんね。でも、ここだけの話だけど、僕がこうやっていい加減にやってこれた のも TARO 君という人がいたからなんだよ。ぶちょという人が出るべきとされ る会合はもうことごとく TARO 君からその存在を教えてもらったんだ。それで も、けっこうな数を欠席しているから、僕は可能な限りの欠席できる会合を欠席 したということなのだろうな。今になってみて問題が無いのだからそういうこと なんじゃないかと判断しても良さそうだ。TARO 君には感謝しないといけないよ。
 助けてもらってるのは TARO 君だけじゃないんだよな。駒祭の時は、いっき にやることがたくさんあるでしょ、でも僕はノートに今日は、これをやるヨって (机の配置替え、徹夜でプログラミングをする、徹夜で立て看を作る、とかね) 書いたおいただけなんだよね。後はほとんど何も言ってないけど、あじが「てめ ーら、仕事しろよ。」なんて言って威圧的な態度で人を働かせるし ( 1 年生に限 らず働かされてしまう。あじはこわいのだ。(ほんとはちがうけど) ←こわがっ てる (笑) ) 、例年通りっていうのがあるからか、例年通りプログラミングはち ゃんと徹夜作業になるし、他のこともちゃんと出来てしまうのだから不思議だ。 じゃなくて、これはみんながそれぞれやったんだね。TSG っていいサークルだ よ、絶対ね。


 今度のぶちょに、僕は自信を持ってこう言ってあげるよ。

「うまく行くならそれでいいよ。」

ってね。


ライブラリアン寺川

 では、一言。

 「月に 100M 増える MO のデータは、手に負えない。」


一年間の反省 〜編集長編〜 (あじ)

 今年は副編集長がいなかったので大変でした。うむ、ひどい。
 オリパンフ号以降はなんか手抜きまくりだったような気がしますが、多分気の せいです (おい) 。

 まぁ、とりたてて言う事もないんで、早速この 1 年間に発行した部報でも振り 返ってみましょう。なんか恒例らしいし (笑)

  • 179 号 (新旧役員挨拶号)
    発行: 1993 12/18
    表紙: 夢大陸の間違い探し☆
    項数: 32
     とにかく最初なので張り切って原稿を集めましたね。計 14 人の原稿が入りま した。うむ、なかなか凄い。かなり脅しをかけたせいもあるでしょうけど (笑)
     へこへこと窓で図やグラフを作ったりしもしましたねぇ。結局、こんな凝って たのはこの号だけだった (爆)
     最後の方に天誅なんとやらがありますが、まぁ若気の至りという奴でしょう。 脅しをかけといた手前、なんかやらなくちゃいかんので無理矢理作ったという感 が無きにしもあらずですけどね (^^;
     自分でもポケコンの連載を始めました。今読み返して見ると、こんなの知らな い人がいきなり読んで理解できる訳が無いような内容ばかり...

  • 180 号 (新年号)
    発行: 1994 2/4
    表紙: スキー合宿のお土産 (嘘)
    項数: 12
     まだ、原稿を集める気力があった時期ですね。部室に来る人を捕まえて書かせ ていたようです。Tellur さんの原稿が入ってますねぇ、珍しい。
     それにしても、HRD さんはセンスがいい (笑)

  • 181 号 (オリパンフ号)
    発行: 1994 4/8
    表紙: TSG ロゴを表示した窓沢山
    項数: 50
     とにかく、バーチャルリアリティコンテストで即戦力になる人材を ! というこ とで、硬派な記事を集めました。そのせいで、どこがオリパンフだかさっぱり分 からないものになってしまいました (^^;
     特に部長の記事はかなりキてましたね〜。なんといっても、いきなり「これを 読んでいる人なら、ディスクリプタ、セレクタについては既に知っていると思い ますが、〜」で始まるんだからねぇ。
     ともあれ、ページ数が 50 の大台に乗ったというのは記念すべき事でしょう (^-^)o

  • 182 号 (新入生歓迎号)
    発行: 1994 6/13
    表紙: C 程式言語 原序
    項数: 12
     このへんになると、かなり編集が手抜きになってきました。まぁ、仕方の無い 事でしょう (どこがだ (^^;)
     この号でポケコンの連載は休止したのですが (コンピュータ関連では、休刊、 休止とかいうのは廃刊、打ちきりと同義らしい :-) 、埋め草は必要なので変な Cの入門記事を書きました。しかし、印刷が終わった後で変なバグが見つかった ので、全部手で直しました (涙)

  • (幻の) 183 号 (夏合宿パンフ号)
    発行: してない
    表紙: ない
    項数: ??
     原稿が全然なかったので、夏合宿のお知らせはフッタに「 2 」とか振られた怪 しいビラになってしまいました (T_T)
     みんなで冥福を祈りましょう。

  • (真の) 183 号 (駒祭前号)
    発行: 1994 10/22
    表紙: 星座の絵
    項数: 28
     ったく☆さんの記事で水増しされた号です (笑)
     しかし、いぬ。BBS は部報の原稿奪ってる様なもんだからこのくらい当然だ よね〜、とか言ったりして (ひどい)。

     ちなみに、埋め草原稿に載せた 256 色常駐パレットの仕様はあっさり改変され てしまいました (^^; 新しい仕様は 256set21.lzh の中のドキュメントでも読 んで下さい。

     それから、通常だと「駒祭前のほらふき号」になるはずなんだけど、ほらが全 然なかったので、ただの「駒祭前号」にしました。べつにいいでしょ ?

  • 184 号 (駒祭パンフ号)
    発行: 1994 11/18
    表紙: 星座の絵 + α (手抜き)
    項数: 22
     この号にも、駒祭とは全然関係ないけど、ったく☆さんの記事が載っています (笑)
     別にだからどうしたという事はないけど有り難い事です。

     どうでもいいけど、この号は 1 〜 4 年生が各代に 1 つずつ原稿を書いてますね。
     あ、本当にどうでもいい (笑)

  • 185 号 (駒祭反省号)
    発行: 1994 12/17
    表紙: 未定
    項数: ?
     原稿が少ないなぁ。ぶつぶつ。

  • '94 年度版名簿  いやぁ大変でした。うむうむ。
     しかし、今年はかなり mail-address が整備されていたので、スタートが遅く ても何とかなりました。でも、なかなか連絡がつかない人と連絡を取ろうとする 事はやっぱり大変なのでした (T_T)
     なんか、データを既にもらった人に電話をかけてしまったり、紙に書いて渡さ れたデータのことをすっかり忘れていたり (--; と、かなり冷や汗な事も結構やっ てしまい、それだけでも神経がぼろぼろになってしまうのでした。
     ある程度自動化しようと色々したけど、データの扱いがぞんざいになりがちに だった事を考えると、やっぱり一つ一つ自分でチェックすべきだったかも。

  •  いやぁ、結構仕事したんですねぇ。かなりいい加減なところはありましたが (^^;

     駒祭ですけど、編集長が何か出したかったら夏・秋休みのうちに完成させとか ないとほとんど無理でしょう。部報と名簿が駒祭のあたりに集中している上に、 ビラとかもあってかなりきついです。
     ただ、僕は駒祭前あたりに強烈になんか大きいものを作りたくなったんだけど 、これは名簿が結構やばかったので逃避したかっただけのような気もしますねぇ (笑)

     それから、原稿は個人的に急っつかないと集まらないものなので、原稿が欲し くなったら 305 で待ち伏せして、来る人々に書かせてしまいましょう >新編集長


    旧会計あいさつ (Zephyr)

     うーむ,時の過ぎるのは早い。もう任期交代の時期になってしまいました。
     僕が会計であったこの 1 年間を振り返ってみると…あんまり会計らしいお仕事 をしたおぼえはなかったような。大々的な消費が 1 回だけだったからかなー。あ とはただひたすら前部長が「ぜふぁ金よこせ」とせっつくのをかわしていたよう な気がします。
     その「大々的な消費」は (よりによって) 3/31 に行われたわけですが,あの ときはほんとに忙しかったですね〜。駒場にいる皆さんは早めに買うものを決め ときましょうね。くれぐれも時期を逸することのないように。

    僕の代に購入したものリスト:
    486GR のメモリ 4MB
    ウィンドウアクセラレータ
    プリンタ
    スピーカ
    MO メディア たくさん。
     昨年はこのほかに 86 音源ボードも増えたけど,これは有志が基金を作って購 入したもので,会計とは別です。家庭用テレビや MSX,大量のソフトは私物です。
     というわけで,'93 年度は貴重な部費のほとんどが 486GR の周辺機器,と MO メディアに投下されましたとさ。うむ。来年はいったい何を買うつもりなん でしょうねえ。

     最後に。一般にいわれていることですが,会計のお仕事は,4 月か 5 月の決 算報告を除いては,はっきりいってらくです。でも 10 万単位のお金が動くこと になるから,金品の管理には十分気を付けましょう。それともちろん,使い過ぎ にも気を付けましょう。


    '94 年度コンパ委員離任挨拶 (TARO)

    94 年度コンパ委員を務めた TARO です。冬合宿が残っていますが、コンパ業務は完 了したので、ほっとしているところです。コンパ委員ははっきり言って精神的に つらかったです。お酒は好きではないし (特にビールは苦くてアルコール臭くて 炭酸だから好きじゃない) 、コンパそのものもあまり好きではないし (ので出来 る限りコンパには出ないで済むようにしている) 、店の人との交渉は苦手だし ( 秋葉で交渉の出来る人を尊敬してしまう) 、それに TSG のコンパは知らない人が 多くて気が重かったし、とストレスが多かったです。ではコンパ委員としての思 い出でも書きましょう。

    まず各コンパについて。クリスマスコンパ。店の予約について行かなかったので 店の場所が分からなかった。追い出しコンパ。幹事というものを生まれて初めて やった。はっきり言って胃が痛くなった。電話攻撃が結構大変だった。新入部員 歓迎コンパ。予約にはついて行ったが当日は用事があって出席しなかった。駒祭 総決起コンパ。予約にさえついて行かず用事を作って出席しなかった。駒祭打ち 上げコンパ。幹事なのでさぼるわけにはいかなかった。飲み放題がサワーはレモ ンのみ、ソフトドリンクはオレンジのみなのをソフトドリンクだけ交渉して全種 類にしたのは、一部から顰蹙を買ったらしい。

    しかし、コンパって疲れますね。当日は飲み放題のおかわりを注文したりして忙 しくて食べる暇もないくらいです。慣れないうちは腹ごしらえしてからコンパに 行った方がいいかもしれません。>新コンパ委員

    メールについて。コンパのお知らせなどはメールで部員に送ったが、初め全員の 宛て先を To: にずらずら並べていたので、本文よりヘッダが大きくなったしま った。また有料ネットに送って顰蹙を買った。

    夏合宿について。全て ICHI 君に任せて何もしなかった。強いてやったことと言え ば人を叩き起こしたことと、部屋の後片付けをしたことぐらい。

    こんなところですか。こうして見るとあまりまともに仕事してませんね。冬合宿 はこれからなのでどうなるか全く分かりません。

    それから、コンパ委員の業務ではありませんが、学館連絡会議に出たり、CC 代に 出たり、現物援助を取りに行ったり、その他事務手続きを取ったりしたこともあ りました。また、部屋を掃除したりゴミ捨てに行ったりする回数が比較的多かっ たようです。それにしても TSG の部屋はエントロピーの増え方が尋常じゃない。


    コンパ委員任期満了 (ICHI)

     私が何か自分の事を喋ったって、愚痴になるだけなので、これからのコンパ委 員が、どうなるかについて考察して見よう。
     まず、今のところわかっている事は、クリスマスコンパについての事だが、
    1. 店はちゃんと取れた。
    2. Yu 君はコンパに来ないらしい。
    3. ケーキや飲み物を 305 から店に行く途中に買わなくてはいけないらしい。
    4. SHIGE 君は 3. やコンパのお金の事について心配している。
    という事くらいでしょうか。
     1. については、去年よりはるかに良い傾向にある。きっとΣさんがある程度 店を知っているからなのだろう。とにかく、店をとることに関しては、去年ほど 心配しなくても済みそうである。Σさんをコンパ委員にしてよかった〜。
     2. は不安材料の一つである。コンパ委員の仕事は、3 人が均等に働けば、ま ぁ何とかなる物であるが、一人一人がそのことを甘く見ていると、誰かに仕事が 偏ってしまう。そして、不幸にして沢山仕事をこなさなくてはならなくなったコ ンパ委員と、サボってしまったコンパ委員の関係は、何も考えないでおくと悪化 する。この場合気を付けるべき事はサボったコンパ委員が自分の行為を自覚する ことである。仕事をしなかったコンパ委員は、他のコンパ委員に迷惑を掛けてし まったという事を自覚する事が大切だと思う。例え、他の用事が先に入っていた としてもである。そして、次回からはきちんと仕事をこなすべきである。間違っ ても、コンパは無事にできたようだから、「コンパ委員は二人いれば十分」など と思ってはいけない。
     3. については、よくある事である。しかし、2. と重なる事によって、事態 は急変する。つまり、やらなくてはいけない仕事がコンパ委員の人数を上回るわ けである。コンパ委員は、みんなを店まで先導しなくてはいけないし、遅れて来 る人を拾わなくてはいけない。ここまでで、二人は必ず必要になる。ということ は、買い物に行く人がいない。解決法としては、どれかの仕事を諦めるか、二つ 以上の事を同時にやるかしかない。諦めるのは簡単である。遅れた人は諦めてね などと、部誌に書けば良い。同時に解決するには、先導が買い物をするか、後発 が買い物をするかである。去年は、先導が買い物をしたが、それは 305 から店 まで徒歩だったからである。今年はその手は使えないように見える。後発の人が 買い物をしたほうがスマートな気がする。
     4. 心配している人がいるという事はいいことである。この調子なら、お金関 係でトラブルはないでしょう。あとは、感ですね。何人集まるだろうとか、一人 いくらになるだろうとか。結構勝手な事ばかり書いてしまったが、私が思うの はこの程度の事である。最後に、他の委員の人にお願いであるが、コンパ委員を 雑用係と勘違いしないようにして頂きたい。


    新役員挨拶


    新部長 (NAO)

     95 年度 TSG 部長になりました理科一類三組の渡辺尚貴です。昼休みには 必ず部室にいる (正確には立ち寄る) わけで 1 年のなかでは部室で見かける確率 が最大なので部長に選ばれたようです。私は物理研にも入っていてそこでの昼休 みに見かける確率もかなり高いのです。それでいていつも忙しい忙しい言ってい る私はいったい何をしているのでしょうか。通学時間が往復 3 時間 20 分という のが忙しさの元凶でしょう。
     使う言語は Borland C/C++ がメインでときどき assemnler にも手をだしてますが、まだまだわけ分かってない状態です。第二外国語は中国 語なのですが、TSG には中国語選択者がほかに見当たらないことはたいへん淋 しいことです。なぜ誰も中国語をとらないのか不思議に思っているのですが、も しかして皆さん中国語は縦書きの漢詩をピーチュウーパーシュウやっているとで も思っているのではないでしょうか ? それはあまりにも大きな間違いです。扱 っている文章は現代中国標準語で一般人の極普通な会話です。あまりに普通、あ るいはのどかで、ときどき笑ってしまうこともあります。それに現代中国語は原 則として横書きです。新華社通信も人民日報も横書きです。ノートをひっくり返 してつかうのがいやだから中国語とるのやめた人は非常に不幸な人です。それか ら発音がピーチュウーパーシュウしてていやだと思う人、それは確かにそのとう りですが、きれいに発音しようとおもえばできないこともありません。何だか売 れない中国語のセールスマンみたいになったきてしまいましたが、皆さん中国語 を第三外国語にとりましょう。もし後輩達に第二外国語に何をとるのか迷ってい る人がいたら中国語を勧めましょう。そこで中国語のメリットを紹介しておきま しょう。
    1. 各発音に 4 種類の高低アクセントなるものがあり、その高低アクセン トが違えば意味する漢字がまったく異なる。しかも同音同高低アクセン ト異義漢字がそれぞれ 10 以上ある。さらにしかも、日本語では同じ様 な発音でも 2、3 種類の発音に区別されている。(メリットといいなが らいきなりかなりシヴィアなデメリットを書いてしまったが実際これは そんなに苦にはなりません。なぜならそんなにたくさんの単語は出てこ ないからです。)
    2. character が普段からよく見かける '漢字' であり、その意 味も日本語と同じものが多い。しかし見かけない字も多く、熟語として あまりにも意外な意味を持つものも多いことも事実である。漢字の簡略 化表現である簡体字で書くので漢字を書くのが日本語より随分簡単であ る。だから日本語も簡体字で書くことが多くなり、他人から理解されな いような字を多く書くことになる。
    3. 文法が至って簡単である。文章構造が日本語と英語の中間の様である 。周知のとおり語形変化、性別による語の変化が全くないのです。この ことはあまりにも便利です。いや、むしろ過去形の表現がうまくできな くて困ってしまうぐらいです。
    4. そして最後に、とにかく簡単で高得点がとりやすいことです。 いちおう教官にもよりますが普通に勉強していれば A は取れるでしょう。
     さてさて、ながらく中国語の話ばかりになってしまいましたがそろそろ部長と しての話しに移ります。

     部長のお仕事のメインには CC 代、学友会の会議、学館連絡会議などに出席し て書類等の作成提出がありますが、私のボーとした性格上その会の存在を知らず に或は存在時空点を間違えて知ってしまって出席しない事が多々あると思います 。なので皆様は私にそれらについての情報をしつこいぐらいに何度も教えてくだ さい。
     それから単なる事務的な部長は楽ですけどつまらないので少し私の独自色を出 してみたいと思います。
     今後の TSG の活動の仕方の Vision として分科会の積極的開催による TSG の学際化を進めていきたいと強く思っています。コンピュータ好きの人間達 でにぎやかなのは、たいへんよい事ですが、さらに各人が持っている知識を組織 的にみんなに広めていくべきだと思います。そのほうが理解が早まるし、それに 人に何か教えるということを通じて、自分で理解した事を人にも理解させる能力 がつくことにもなります。私は物理研にも入っている関係で現在そこで C/C+ +初級ゼミなるものを開いていますので、TSG のほうでも何か実践的な事のゼ ミをしてみようと考えています。例えば C++ 実践分科会、TeX 分科会などを 開きたいです。(私にはそれを主催する知識がないので誰かその知識を持ってい る人にお願いします。) とにかく要するに私は TSG を怪しげな占い団体にし たくないのです。
     しかし分科会を開くとしてもその開催時間は 18 時以降になってしまうので参 加したくても忙しくて或は疲れていて参加できない場合が多いでしょう。カリキ ュラムが緩和されたとはいえまだまだ忙しいこの状況には問題があると思いま すが、それよりも大変な事は 98 年に予定されている学館の廃館です。CCCL 計画におけるサークルスペースはただの会議室の様でしかありません。すなわち 使用時間を申請してその時間しか使用できないのです。これでは荷物などがまっ たく置けません。この事は TSG にとっては致命的打撃になる事と思います。な ぜなら機材がまったくないことになるのですし、昼休みにみんなとお弁当をわい わいいいながら食べることもできなくなるのですから。この事は皆さんも特に考 えてください。

     以上支離滅裂ながら部長就任の挨拶とさせてもらいます。


    新コンパ委員・副部長 (SHIGE)

    どもども。SHIGE です。
    95 年度のコンパ委員・副部長をやることになりました。
    コンパ委員としては、具体的にコンパ及び合宿のセッティングをやればいいわけ で他の 2 人と協力して頑張りたいと思います。
    次に副部長としてですが、具体的な仕事はないので、部長を助けて適当にお仕事 をやっていこうと思います。
    いろいろ失敗をして皆さんに迷惑をかけるかもしれませんが、みすてずにあたた かくみまもってやってください。
    ではでは。


    新会計・学館連絡員 (Nishi)

    新会計兼学館連絡員 (だったと思う) の Nishi です。
    まだ未熟な私ですが
    どうぞよろしくお願いします。


    新ライブラリアン (GANA)

    こんにちは、GANA です。

     とりあえず仕事らしきことをしようと思って、あるディレクトリの中のファイ ルを全部リストするプログラムを作ってみました。でも、超のろいです。*.lzh と *.zip の中身をリスティングするのになんと system("lha l * > tmp.tmp") などと、一番効率の悪そうなことをしているためです。誰か、*.lzh の中のフ ァイルをリスティングする C のソースを僕にくれませんか (他人に頼るのはよ くないって (^^;)? そうすればかなり速くなるはずです。あとは *.zip も 自分でリスティングするか、アブソリュートリードするしか手がありません (デ ィスクの構造を全く知らない僕は、できればそんなことはしたくない) 。どなた か、お願いします。
     リストを作った後は、もう僕の仕事は終わりです。あとは勝手に grep か wgrep してください、ということで。


    新コンパ委員 (小島 司 / Σ)

    イベント関係は、結構好きなので、コンパ委員というのは、自分にとってはいい 役職に就けたのではないかと思っています。
    ただ、皆様にとばっちりをくわせていては仕方がないので、楽しいコンパが出来る様に頑張ります。
    ご要望がありましたら、是非、おっしゃって下さい。
    渋谷より、表参道の方が好きなので、私が企画すると会場が変にシフトしてしまうかも知れませんが。
    今回のコンパの動向を見て考えましょう。
    表参道沿いに、ゲームセンターがあると問題ないのでしょうけれど。
    ともあれ、どうぞ宜しくお願いします。


    新コンパ委員・庶務係 (渡辺 雄一郎 / Yu)

    庶務係も兼任しています。
    コンパ委員としての私のモットーは無責任です。
    これからも他の二人に迷惑をかけまくることでしょう。
    経済的な理由で、安いコンパにしか出席できません。
    皆さんにお会いできるのはいつになるかわかりませんがいつかお会いできることを祈っています。
    見捨てないでください。

    庶務係の仕事はどんなものかわかりません。前任者のいない係なんてそんなもんかと思ってます。


    新編集長 (ちょもらんま)

     新編集長のちょもらんまです。占いで「テキスト打ち込んでくれ〜」といって 騒いでいたときの手腕 (?) を買われたのか、はたまた凝り性であるがゆえなの か、詳しいことはわかりませんが、とにかく編集長という大変だがやりがいのあ るお役目を頂いたわけです。
     いうまでもないことですが、編集長の仕事で最も重要なのが部報の編集です。 僕の目標としては、駒祭打ち上げコンパのときにも言いましたが、部報の月刊化 を目指したいと思います。「月刊化する」と口で言うのは簡単ですが、実際に実 現するのは、なかなか難しいとは思います。オリパンフ号や駒祭準備号のように わりとテーマがはっきりしている号はきっと比較的原稿が集まりやすいのではな いかと思いますが、大きなイヴェントが真近に迫っていないときには、何を書け ばよいやらよくわからんということになってしまうと思います。そこで、毎回な にかしら特集をつくって、その特集に関する原稿を募集するつもりです。とりあ えず、次回は冬合宿特集にしようかと思っています。冬合宿に参加されるみなさ ん、帰ってきたら原稿依頼をするので、今のうちから心の準備をしておいてくだ さい (^_^) 。それ以降の特集のテーマについては、まだ何も考えていませ ん。原稿とあわせて募集しますので、どしどしお寄せください。
     あと、部報の編集には FM-OASYS を使います。こいつがどんなワープロ なのか、詳しいことは次回以降の部報で書きたいと思っていますが、ひと言で言 えば、ワープロ専門機そのままの機能・操作性をもつワープロソフトです。そん なわけなので、原稿の書式は、ごくごくオーソドックスな DOS のテキストにし て頂けると助かります。
     原稿は随時募集しています。最近モデムを買っていぬ。にもアクセスできるよ うになったので、305 にあまり行く機会のない 3 年生以上の方は、メールして ください。

     それではこれから一年間、どうかよろしくお願いします。


    穴埋め原稿

    Windows は見栄えが一番!! CTL3D の使用方法 (Nishi)

    はじめに
     最近、巷では Windows が普及してきたようです。 そこで、Windows のプログラムを組む人も増えてきたようです。 でも、Windows の標準コントロールを使うとあまり見栄えがしません。 そこでコントロールのデザインを立体的ななものに変えるライブラリ CTL3D をプ ログラムに組み込んで見栄えを良くしましょう。

    開発に必要なファイル
     CTL3D に対応しているプログラムを使うだけなら、最近のアプリケーションには CTL3D.DLL がついてくることが多いので、それを使えばよいのですが、CTL3D.DLL を使ったプログラムを作成するためには、(とりあえず) CTL3D.HCTL3D.LIB が必要です。従って、これらのファイルとドキュメント (英語だけど) 等がまと めてあるアーカイブ 3dctrl.zip を何処からか入手する必要があります。私は CICA の CD-ROM から入手しました。何故か VisualBasic 関連のディレクトリにあったの で直接 CICA から持ってこようと思っている人は VB 関連のところを探してみましょ う。

    最も簡単な使い方
     最も簡単な使い方を説明します。Windows のバージョンは 3.1、MSC/C++ バージ ョン 7.0 以上を前提としています (たぶん BorlandC++ 3.1 以降でも問題ないと思 う)。なお、3dctrl.zip にはもっと詳しいドキュメント (英語) が含まれています。

    (注) 3dctrl.zip に含まれているヘルプファイルでは以下に述べる Ctl3dUnregister 関数は 'Ctl3dUnRegister' と記述されているが、CTL3D.H 内のプロトタイプ 宣言およびサンプルプログラムでは 'Ctl3dUnregister' となっているため、本記 事では以下 'Ctl3dUnregister' で統一する。

    1. WinMain のあるソースファイルで、CTL3D.H をインクルードする。ただしこの とき CTL3D.H より前に WINDOWS.H がインクルードされていなければなりません。
    2. プログラムの初期化時に Ctl3dRegister 関数を呼び出す。
    3. 続いて、Ctl3dAutoSubclass 関数を呼び出す。(この後に Create される標準 コントロールはすべてサブクラス化され、ダイアログボックスも含め、標準コント ロールの表示が立体感のあるものに替わります。)
    4. WM_SYSCOLORCHANGE メッセージを処理するとき Ctl3dColorChange 関数を呼び 出す。(ウィンドウプロシージャ内に WM_SYSCOLORCHANGE メッセージ処理部分を 付け加えてください。)
    5. 終了処理時に Ctl3dUnregister 関数を呼び出す。
    6. CTL3D.LIB をリンクする。

     ちなみに、2, 3 の Ctl3dRegister, Ctl3dAutoSubclass 関数は WinMain 関数の初め の方、5 の Ctl3dUnregister 関数は WM_DESTOROY メッセージ処理中か、WinMain 関数の最後に呼ぶようにすればよいでしょう。

    以下に例を示します。

    
    #include <windows.h>
    #include <ctl3d.h>
    
    int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                       LPSTR lpszCmdParam, int nCmdShow)
    {
        HWND     hwnd;
        MSG      msg;
        WNDCLASS wndclass;
    
        Ctl3dRegister(hInstance);
        Ctl3dAutoSubclass(hInstance);
                    .
                    .
                    .
                    .
                    .
        while (GetMessage(&msg, NULL, 0, 0))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    
        Ctl3dUnregister(hInstance);
        return msg.wParam;
    }
    
    long PASCAL _export WndProc(HWND hwnd, UINT message,
                                WPARAM wParam, LPARAM lParam)
    {
        switch (message)
        {
                    .
                    .
                    .
             case WM_SYSCOLORCHANGE:
                   Ctl3dColorChange();
                   break;
                    .
                    .
                    .
    
    CTL3D の API の概要 (一部の API のみ)
    CTL3D のAPI には以下のようなものがあります。

    BOOL Ctl3dRegister(HANDLE hinstApp)
    CTL3D クライアントの登録。
    戻り値:TRUE 利用可, FALSE 利用不可

    BOOL Ctl3dUnregister(HANDLE hinstApp)
    CTL3D クライアントの登録解除。
    戻り値:TRUE CTL3Dを使用しているコントロールなし、正常終了, FALSE それ以外

    PUBLIC BOOL FAR PASCAL Ctl3dAutoSubclass(HANDLE hinstApp)
    自動的に CTL3D を使用する。
    この API を呼び出したアプリケーションが作成する標準コントロールは CTL3D を 使ったものに自動的に置き変わる。
    この API は同時に 32 アプリケーションまで利用できる (らしい)。
    戻り値:TRUE 利用可, FALSE 利用不可

    WORD Ctl3dGetVer(void)
    CTL3D.DLL のバージョンを得る。

    PUBLIC BOOL FAR PASCAL Ctl3dSubclassDlg(HWND hwndDlg, WORD grbit)
    個々のダイアログボックスで CTL3D を使用する。
    Ctl3dAutoSubclass を呼び出さないで、ダイアログプロシージャの WM_INITDIALOG メッセージ処理中にこの API を呼び出すことでも CTL3D を利用できる。(注) Ctl3dCtlColorEx を参照

    CTL3D を使うコントロールは grbit に以下の定数を設定する。or(|) することで複数個設定可能。

    CTL3D_BUTTONS
    CTL3D_LISTBOXES
    CTL3D_EDITS
    CTL3D_COMBOS
    CTL3D_STATICTEXTS
    CTL3D_STATICFRAMES
    CTL3D_ALL
    HBRUSH Ctl3dCtlColorEx(UINT message, WPARAM wParam, LPARAM lParam)
    Ctl3dSubclassDlg を使って CTL3D を使うときはダイアログプロシージャのなかで 以下のように WM_CTLCOLOR メッセージを処理する。
    
        case WM_CTLCOLOR:
            return Ctl3dCtlColorEx(message, wParam, lParam);
    
    BOOL Ctl3dColorChange(void)
    ウィンドウプロシージャが WM_SYSCOLORCHANGE メッセージを受け取ったときに呼 び出す。
    戻り値:TRUE 正常終了, FALSE それ以外
    コモンダイアログ関数使用時の注意点
    コモンダイアログのうち、File Open と Page Setup が Ctl3dAutoSubclass を使 った方法ではうまくいかないことがあるようです。
    これらのコモンダイアログを使うと きは、コモンダイアログのフック関数を作っておいて、コモンダイアログに WM_INITDIALOG メッセージが送られたときに自分で Ctl3dSubclassDlg 関数を呼び出す必要があります。 (WM_CTLCOLOR メッセージを処理して Ctl3dCtlColorEx 関数を呼び出す必要はありません。

    File Openダイアログ使用時の例

    
    OPENFILENAME ofn;
        .
        .
        .
    ofn.Flags = OFN_ENABLEHOOK;
    ofn.lpfnHook = lpfnOpenHook;
    
    BOOL FAR PASCAL _export OpenHook(HWND hwnd, UINT message,
                                     WPARAM wParam, LPARAM lParam)
    {
        switch (message)
        {
            case WM_INITDIALOG:
                Ctl3dSubclassDlg(hwnd, CTL3D_ALL);
                break;
        }
        return FALSE;
    }
    
    CTL3D.DLL がインストールされていない場合に対応する
    (CTL3D.LIB を使わない方法)
    CTL3D.DLL がインストールされていない場合に CTL3D の API を呼び出した場合、 ライブラリが見つからないと警告され、アプリケーションが起動できません。最 近は CTL3D.DLL がインストールされている場合が多いので、あまり気にする必要 はないかとは思いますが、気になる場合は、インポートライブラリ (CTL3D.LIB) を使わずに WindowsAPI の LoadLibrary 関数と、GetProcAddress 関数を使って CTL3D の API を呼び出すように変更すれば、CTL3D.DLL がインストールされていない 場合に、警告が出ないように、また API を呼び出さないようすることができます。 この方法をとったときは最後に FreeLibrary 関数を呼び出して CTL3D.DLL を解 放するのを忘れないように気を付けましょう。
    具体的には次のようにします。
    
    HINSTANCE hInstCtl3d;
    BOOL (*lpfnCtl3dRegister)(HINSTANCE) = NULL;
    BOOL (*lpfnCtl3dUnregister)(HINSTANCE) = NULL;
    BOOL (*Ctl3dAutoSubclass)(HINSTANCE) = NULL;
    
    /* CTL3D.DLLをロード */
    
    hInstCtl3d = LoadLibrary("CTL3D.DLL");
    
    if (hinstCtl3d > HINSTANCE_ERROR)
    {
        /* CTL3D.DLLがあればAPIのアドレスを取得 */
    
        (FARPROC)lpfnCtl3dRegister = GetProcAddress(hInstCtl3d, "Ctl3dRegister");
        (FARPROC)lpfnCtl3dUnregister = GetProcAddress(hInstCtl3d, "Ctl3dUnregister");
        (FARPROC)lpfnCtl3dAutoSubclass = GetProcAddress(hInstCtl3d, "Ctl3dAutoSubclass");
    }
    
    /* Ctl3dRegister関数を呼び出す。*/
    
    if (lpfnCtl3dRegister != NULL)
    {
        (*lpfnCtl3dRegister)(hInstance);
    }
              .
              .
              .
    /* CTL3D.DLLを解放 */
    
    if (hinstCtl3d > HINSTANCE_ERROR)
    {
        FreeLibrary(hInstCtl3d);
    }
    
    おまけ
    最初にとりあえず CTL3D.HCTL3D.LIB が必要だといいましたが、実は必ずしも 必要というわけではありません。なぜなら私が API のプロトタイプ宣言を載せて しまったからです。これを見てヘッダーファイルを自分で書いてしまえば CTL3D.H はいりません。またライブラリ (インポートライブラリ)ファイルは CTL3D.DLL から作ることができます。あるいは、先述の CTL3D.LIB を使わない方法をとれ ば良いのです。

    さいごに
    実は ALL3D と言うフリーソフトがあるので、それを使えばほとんどのアプリケー ションで CTL3D が使えるようになってしまうのですが、メッセージボックスのボ タンの文字に 2 バイト文字が含まれていると、何故かボタンの文字が真ん中にこ ないのです。またうまくいかないアプリケーションも幾つか存在します。それよ りも、CTL3D に対応させるのはそんなに難しくないので、アプリケーション側で 対応させてしまいましょう。
    p.s. CTL3DV2.DLLCTL3D.DLL との違いは何なんだ?

    参考文献
    3dctrl.zip に入っていたヘルプファイル
    3dctrl.zip に入っていたサンプルプログラム
    Win3.1SDK オンラインヘルプ


    編集後記
    ◆今回は新旧役員挨拶号なので、そんなに催促しなくても原稿が集まるだろうと 甘く考えていたのがいけなかった。
    ◆締切りを過ぎても半分もあつまらないなんて (;_;)。
    ◆やっぱり編集長は、催促のオニにならないとだめですね。
    ◆原稿の集まりが異様に悪いので、「もうだめだ〜」と思っていたら、Nishi 君が原稿を書いてきてくれた。これこそまさに天の助けだ !!
    ◆夜中になって、結構メールが届いてきて、何とか「部報」と呼べるものになりました。
    ◆しかし、まさか部報の編集で徹夜することになるとは………。
    編集長 ちょもらんま

    ◆ HTML 化はけっこうめんどくさい。うーむ。
    理論科学グループ部報 TSG 第 186 号
    平成 6 年 12 月 17 日 初版 第 1 刷発行

    発行者 渡辺 尚貴
    編集者 安田 知弘
    HTML化 多賀 奈由太


    発行所 理論科学グループ
    〒153 東京都目黒区駒場 3−8−1 東京大学教養学部内学生会館 305 TEL 03-5454-4343


    (C)Theoretical Science Group, University of Tokyo, 1994 Printed in Japan
    g541119@komaba.ecc.u-tokyo.ac.jp