CodeWarrior for Pilot̃vOTIPS@970525M 

PF{̈ɂ
؍Kiysuzuki@gix.or.jp)PilotRez{ɂΉł悤ɂ邽߂̃pb`JĂ܂Bȉɂ̎菇pĂ܂B

uPilotRezɑ΂pb` AhX܂B
AMetroWerksЂƂ͂Ȃ̊֌WȂ̂ŌĖ₢킹Ȃ ȂłB
---------------------------------
CODE ID=1
008B9A 651E->601E bcc.s ->bra.s
008BFC 651E->601E bcc.s ->bra.s
---------------------------------

2bytesύX MENU, tSTRȂǂ̃\[Xɓ{Ă ܂BPiloGamẽpb`𓖂ĂPilotRezŃ\[XϊĂ B

PilotRez̓CXg[Rɑ݂Ǝv܂AMPWĂ΂ ̂'CodeWarrior MPW:Tools'̒ɂ̂łBpb`𓖂Ă̂ PilotRezJƂʂ̖OɂsaveƂł傤Bi̎͂ Makefile̒PilotRezJɂĂjv

vÕqgɂȂ邩Ȃ̂ňȑO{ꉻ̕@LĂ܂B
 
 u܂\{̕J-OSON̏ԂPilotMemoPadɓ͂BJ-OSOFFɂĂ̕𒲂ׂāAK^ɂgṽ}[NiXy[hANuj܂܂ĂȂƂHotSyncŃ}bNɂ̕𑗂܂BR}bNł͉ɂȂ܂iƂ"߂"->"Ч"j̕Cut & PasteŃ\[XɒtAtBTN ɓRpCAPilotɓ]ĕ\mF܂B߂sK̃gvoĂƂ̓\[XoR݂̎͂̕ł܂̂ŗႦ
 
FrmCopyTitle(frm, "jꗗ");
CtlSetLabel ((ControlPtr) GetObjectPtr (prefDayFormatLBL), 
	"");
StrCopy(LstGetSelectionText((ListPtr)
	GetObjectPtr(prefDayFormatList), 0), "/"); 
 
 ƃR[hŃ\[X̕`ĂȂ΂Ȃ܂B܂p̃tHgŌƂɃobNVbV(\)܂܂ĂꍇC̍\
CtlSetLabel ((ControlPtr) GetObjectPtr (prefClockOptionLBL), 
	"v\\IvV"); 
 
 Ƃ悤\𕶎񂾂ƎȂƉɂȂ܂iɃtHgpɕςĂ݂ĂjBđϏdvȂƂ͒u郊\[Xɂ͂炩ߒuiȏ́jĂƂłBȂƌɂÂ\[X󂳂ă\[X́i|j͂Ȃ̂ObjectȂƂăX^[gɂȂ܂B
܂STR\[XɕĂAvOŃZbg@܂A}bÑ\[X̕PascalŊi[_ɒӂĂBȉSTR\[X當Ă郋[`L܂BRɂgB

void MyGetStrFromSTRRes(short resID, char *strPtr)
{
	VoidHand	resH;
	CharPtr	resP;
	char		num;
	
	resH = DmGetResource ('STR ', resID);
	ErrFatalDisplayIf( !resH, "Missing STR res" );
	resP = (Char*) MemHandleLock(resH);
	num = *(resP++);
	for (short i = 0; i < (short) num; i++)
		*strPtr++ = *resP++;
	*strPtr = '\0';
	MemHandleUnlock (resH);
}

 ܂GȂ̂ƂȂ烁[͐H܂PICTŒtƂ܂BiPICTǂPilotpɃ\[XϊĂ݂ŁAWinDrawBitmapDrawnPICTw肵ĂǂɌvĂ݂łBk͂ȂɂĂ݂łrbgWJĂ悤Ȃ̂DrawnłPICT\[Xł̃TCY͂ĂɂȂ܂BʃTCYɑ傫Ȑ񂪂邽߁ADrawő܂ɕ`ĂrbgɗƂAC̍ςނ܂ł܂킵Ă܂Bj
 
 gv}[NȊOɂS݂̕łAƂ͎sƂƂł傤Bv

QFG~[^[œ̂MPWŃG[oꍇ
ɂ͂ȂȂ܂BăG~[VœmFς܂Ă̂ɌǏɂȂ邩łB
A)̈ɂ
PƂ֘Âł
static char *strWeek[] = {"", "", "", "", "", "","y"};
strWeek[myWeekday]
ŗj̕擾悤ƂꍇAMPWbuildƂlinkG[ł܂B̉@ƂėႦ
static char strWeek [] = "ΐ؋y";
char str[3];

str[0] = strWeek[2*myWeekday];
str[1] = strWeek[2*myWeekday + 1];
str[2] = '\0';
܂B
B)ANSI֐ɂ
ANSI֐̓G~[VŒʂ̂MPWł̓G[N܂iS킯ł͂܂񂪁jB

RFȂȂ̂Ŋׂ₷oO̔
oA˂~߂̂ɋĴɂċL܂B
A)[`ő傫ȃ[JϐgĂꍇ
Pilotł̓X^bNɂ܂]T܂B}bÑG~[^[Őɓ삵ĂPilotŖ\ꍇ̓[JϐO[oϐɂĎĂ݂ĂBł߂ȂƂ͕ϐrbgɂ킯ėLɎgĂ݂ĂB
typedef struct {
	Word year  :7; 
	Word month :4; 
	Word day   :5;
} DateType;
{ɂȂ܂B
B)\[X̕vOŒuĂꍇ
{̈̍ڂɂĂ܂A\[Xɂ炩ߒu镶i͂QŌvZjȏ̕ZbgĂKv܂BiƂ當ςƂ͗vӂłB炩߃\[X̂قɂSقǑ߂ɓĂ̂łBΏۂƂȂ镨̐Ƃ͒T̂ςłBj
C) FormHandleEvent[`event`FbNiswitch (event->eType){}ǰFrmobjectIɃAbvf[g郋[`ꂽꍇiႦΎXXω鎞Ƃʂɓ_`J`J_łƂj
FrmGotoForm(mainForm)ƂForm̐؂ւȂꍇɂ͂̃[`XLbvȂƉ悭킩Ȃǂ悭Ƃʂ̕\Ȃ񂾂ςƂƂɂȂ܂B
D)Formɕ̃j[o[؂ւĎgꍇ
_炢܂Ƃ̂悤ȎgMenuHack𗘗pł悤ɂ悤Ƃ茻ł͕s\ƎvĂBɂĂ̓VXẽoOłEdiHackMaster̍ҁjlĂAUSRɘAĂ܂Biꂽ̓TvvO (MemoPad 03)łMenuHackAID=1000tFrmMenu Rsc ID1500(MBARID)ĂꍇMenuHackƈꏏɎgfreeze܂BMenuSetActiveMenuSetCurrentMenu[`̍Ō(MenuInit̂ƁjɃKChCɉēꂽꍇA_CAOJ肵Ƃɂ߂ႭɂȂ܂Bjj[o[𕡐gƂ͂̐FormpӂAForm؂ւĎgƂɂȂ܂B
E)tFLD𗘗pĕ\ꍇ
󋵂ɂĈقȂ镶\ꍇtFLDpƂȂɂƕ֗łȀꍇ}bÑG~[^[tFLD̗̈NbNȂłBiPilotł͖Ȃ̂ł}bN܂Bj

SFmĂƎԂߖłTIPS
A)\[XύXAʂ̃CAEg̃`FbN̖ړIŃG~[^[œA\[XɕύXȂꍇ̓RpC͕Kv܂B̓G~[^[sɃ\[Xt@CQƂ邽߂łBԂResEditŃ\[XI[v܂܃G~[^[𓮂ƃG[N܂B
B)fBXNLbV傫ƂĂmakefilebuildƂɎԂZkł܂iƂ38b->27b炢jBRg[plł낢낢Ă݂ĎĂ݂ĂBmakefilełbuild͔rIԂ̂ōœKȒl߂邾̉l͏\ɂ܂B

TFmĂƕ֗TIPS
A){^̃ACR
Gʂɕ`Ă̘gɍ킹ă{^pӂĂƊG^bvƂɃ{^Ŏw肵Ăg͈̔͂]AACR悤Ȍʂ肠BJ-Infõj[ʂŗpĂ܂B

UFo[WǗɂ
o[WAbvɔvt@X̓eςꍇɂ͈ȉ̓_𒍈ӂĂB
̒mo[W̐ݒ镔ʂ͑S3ӏ܂B
a.tver\[X
b.makefile ̒PilotRez̃R}hC̒
Ƃ΁A
PilotRez -v 07 -t appl -c JInf -it J-Info.i -ot "J-Info" 
̏ꍇ"-v 07"̕Ńo[Ww肵Ă܂B
c.preference fileR}hiPrefGetAppPreferencesPrefSetAppPreferencesj̒ł̃o[Ww
Œӂ̂c̃vt@Xt@C̈̃o[Ww肪intϊ鎖łB܂v0.7Ƃăo[Ww0.7ƂĂ܂Ɛ؂̂ČƂ0ƂȂAXVȂƂɂȂ܂Bî̓}bN]̂PilotDebuggergĂ̂łÂƂ͂炩PiloťÂo[WĂKv܂BhotsyncŃAv㏑ł悤ɂȂAvt@X̃o[Ẅ̃~X\ʉ܂Bjvt@X̃f[^[\ɕύX̂o[WAbv̏ꍇAvOԂăCXg[ɈUÕvOĂCXg[邱Ƃ߂܂BȑÕvt@X̓S~ƂȂă[Ɏc邩ň̏ꍇ\̌ɂȂ܂B

VF̑ӓ_iOS̃oO܂ށj
A)StrIToA֐ɂ
񑀍 StrIToA(CharPtr s, Long i) Long i ɂ͐̐ϊ܂B̐͐̐ɕϊAƂ畄tKv܂BiPalmOS 2.0ł͒Ă܂Pilot1000/5000Ő߂ɂ͋CKv܂BYtcommon.cpMyStrIToAƂ֐gBj
B)i_vZjɂ
floatdoublegFloatTypeƂPilotĽ^gƂɂȂ̂łA̐̑召̔̊֐ȂAŊ֐낢돑͂߂ɂȂ܂B܂ւ̕ϊiʂɐƂ͐͂炩ߕɂĂKv܂jx.yyyyyyyezz Ƃ`ĂȂ̂sւłBǐLongɕϊ郋[`gĐƏꂼꋁ߂ĕɕϊキƂƂɂȂ܂AƂΏ10000{Longϊď𓾂ꍇɏ؂オi=10000jƂ̂ŒӂKvłB
Pilot̕_Z[`ɃoÔ͗LȘbłAڍׂ͒łBivĂقǒvIłȂm܂BȑOPilot̓d1.1-0.1=0.1ɂȂoO_Z[`̃oOɂƌĂ܂Ał͂ȂȋC܂Bj
C)PalmOS 2.0ɂȂēꂽoOɂ
tFLD̃tHgύXAPIłFldSetFont͎gȂłBPalmPilotFatal ErrorN܂BitFLDł炩ߎw肵ĂtHgȂG[͋NȂ̂łAtHgύX悤ƂƗ܂BJ-InfoŋNPalmPilot Ƃ̃RtNg͂ꂪłBjvO͐̒ɁijoĂ郍ɑ΂Ăׂ͂炭ΉKv邽߁ASẴo[WOSSẴoOKv܂B

VFPilot̔ėp[`Yt܂iCommon.cpjBgp̐͂܂BRɂpB

䍎iȂ 悵݂jykanai@m.u-tokyo.ac.jp
  
P.S.
ԈĂ炲AB
TIPSFAQɁiKvȂ̍قύXājRɓ]ڂĂČ\łB̎͌AB
