トップ «前の日(04-19) 最新 次の日(04-21)» 追記

SewiGの日記

2004|01|04|05|06|07|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|

2005-04-20 [水]

[PC] 我が家のお古PCをレンタル

なんか、K6-2のマシンでSolaris 10が動かないってことで友人に、Celeronのマシンを貸しました。Solarisってそんなに環境にうるさいOSですかね? それともAMD系マザーボードが対応してないとか? 単に使ったのが古くて壊れてたとか? とりあえず商用UNIXがフリーで利用できるとはいい時代になりました。しかもx86環境で動作するから、ハードウェアも腐るほど転がっています。ついつい入れてみたくなるのが情報屋ってやつですか。


2006-04-20 [木]

[Mac] 17インチMacBook Proが出るのか?

噂ですが。Appleは発表から販売開始までがスグなので、もし本当なら来週は勝負です。なんか最近、持ち運べるなら2kgオーバーでもいいかなぁ、なんて思い始めたのでIntel iBookまで待てないかも。むしろこの発表で既存のMacBook Proが安くなる可能性があるので、そこで15インチのを買うのもアリかもしれません。


2007-04-20 [金]

[Mac][Programming] Macプログラミング(2) - ToolBoxでHello World

MPWだけで作るので、必要なヘッダは適宜includeして、必要な変数は適宜宣言します。

#include <Dialogs.h>
#include <Strings.h>
#include <Fonts.h>
#include <Sound.h>

QDGlobals qd;

void InitToolBox() {
	InitGraf(&qd.thePort);
	InitFonts();
	InitWindows();
	InitMenus();
	TEInit();
	InitDialogs(nil);
	InitCursor();
}

int main(int argc, char **argv) {
	InitToolBox();
	SysBeep(0);
	while(!Button()){};
	return 0;
}

今回はイベント処理などは使っていないので、今風のアプリケーションではありません。単純にAPIを利用しただけのプログラムです。

InitToolBox()はToolBoxやインタフェースを初期化します。ほかのプログラムでもほぼこの形で使う、いわゆるおまじないみたいなものですのでこのまま使ってください。

InitGraf()はQuickDraw、描画関連の初期化、InitFonts()はフォントマネージャの初期化、InitWindow()はウィンドウマネージャの初期化、InitMenu()はメニューマネージャの初期化、TEInit()はテキストエディットマネージャの初期化、InitDialogs()はダイアログマネージャの初期化、InitCursor()はカーソルの初期化。

SysBeep()はSoundManerを利用してビープ音を鳴らす関数です。

Button()はマウスが押されたかどうかを判定します。関数が呼び出されたときの状態を見るだけですから、イベントなんかは一切使っていません。

CodeWarriorを使った分かりやすい解説は参考文献*1でどうぞ。

*1 ねおだ如, “Macintoshでゲームを作ろう!”, Oh!X 2001春号

本日のツッコミ(全1件) [ツッコミを入れる]

Gilang [A ralley good answer, full of rationality!]


Copyright © 2004-2008 SewiG All rights reserved.