&tag(Palm,Program); SONY CLIE Organizerのメモ帳に関する覚書き。 #contents *メモの記録方法 *メモの記録方法 [#n139411e] メモの内容の4KBまではMemoDB(標準メモ帳のDB)に記録され、4KB以降の部分がMemoExDB(CLIE Organizerメモ帳のDB)に記録される。 -メモが4KB以下でも、MemoExDBのレコードは作成される。(MemoDBとMemoExDBのレコード数は同じ) -MemoExDBのレコードには、作成日時と更新日時が記録される。 -MemoExDBのレコードのAttributeはMemoDBと同じ。 -MemoExDBのレコードの Unique ID と Attribute はMemoDBと同じ。 -MemoExDBとMemoDBでレコードナンバーは直接対応していないため、同じユニークIDで管理していると思われる。 *データベース *データベース [#va23432d] ~ |Name|MemoExDB| |Type|DATA| |Creator|SaMm| *データベースの構造 *データベースの構造 [#h5445e2c] (SONYから仕様が発表されていないため、分かる範囲でのメモ) **ヘッダー **ヘッダー [#s96128b9] Palm標準のメモ帳データベース(MemoDB)と同じ。 **レコード **レコード [#k810cfd7] 構造 // 作成・更新日時記録用データ構造 typedef struct { Int16 second; // 秒 Int16 minute; // 分 Int16 hour; // 時 Int16 day; // 日 Int16 month; // 月 Int16 year; // 年 } HeadDateTimeType; // レコード構造 typedef struct { HeadDateTimeType create; // レコード作成日時 UInt16 unknown1; // ? HeadDateTimeType mod; // レコード更新日時 UInt16 unknown2; // ? UInt16 unknown3; // ? Char note; // メモの内容(null terminated) UInt8 reserved; } MemoExDBRecordType; unknown1~3は不明であるが、以下のようになっていると思われる。 -unknown1, unknown2 --0x0003 で固定? -unknown3 --0x0000 : メモデータが4KB以下 --0x8000 : メモデータが4KB以上(MemoExDBにメモの後半が記録されている) note にはメモの4KB以降の内容が記録される。 -サイズは記録される文字数 + 2。 -最後の2Byteは 0。 -サイズは記録される文字数 + 1。 -最後の1Byteは null (0)。
AND OR