リソースタイプ:'tAIN'~ リソースID:1000 リソースタイプ:'tAIN'~ リソースID:1000
リソースタイプ:'tAIN'~
に格納されている。
db = DmOpenDatabaseByTypeCreator (type, creator, mode);
MemHandle resH; Char *resP; resH = DmGet1Resource ('tAIN', 1000); if (resH) { resP = (Char *)MemHandleLock (resH); if (resP != NULL) { // resP(アプリ名)を文字列にコピーするなどの処理 // MemHandleUnlock (resH); } DmReleaseResource (resH); }
DmCloseDatabase (db);
MemHandle resH; Char *resP; Char name[dmDBNameLength]; resH = DmGet1Resource (ainRsc, ainID); if (resH) { resP = (Char *)MemHandleLock (resH); if (resP != NULL) { // アプリ名(resP)を文字列nameにコピー // StrCopy (name, resP); MemHandleUnlock (resH); } DmReleaseResource (resH); }
ちなみに、
DmDatabaseInfo (cardNo, dbID, &name, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
SysCreateDataBaseList (type, creator, &dbCount, &dbIDs, lookupName);
SysDBListItemType *dbListIDsP; Boolean status; UInt16 dbCount; MemHandle dbIDs; Char **listArray ListPtr listP; status = SysCreateDataBaseList (sysFileTApplication, NULL, &dbCount, &dbIDs, true); if (status == true && dbCount > 0) { dbListIDsP = MemHandleLock (dbIDs); for (i = 0; i < dbCount; i ++) listArray[i] = dbListIDsP[i].name; listP = (ListPtr)GetObjectPtr (listID); LstSetListChoices (listP, listArray, dbCount); LstSetHeight (listP, dbCount); ... MemHandleUnlock (dbIDs); }
AND OR
アプリ名の格納場所
アプリ名(ランチャーなどに表示される名前)は普通、に格納されている。
アプリ名の取得方法
db = DmOpenDatabaseByTypeCreator (type, creator, mode);
アプリ名の取得方法1
などで、データベースを開いた直後に、 と、こんな感じ(で良いと思う)。DmCloseDatabase (db);
と、こんな感じ(で良いと思う)。nameにアプリ名が格納される。 を忘れずに。ちなみに、
で得られる"name"はデータベース名。アプリ名の取得方法2
アプリケーションのリストを作成するなら、 で取得するのが簡単確実。 サンプル (アプリ名のリストを作成して、リストオブジェクト(listID)にセット)