«NegiTodayToDo/ NegiTodayAgenda.. メイン ちば時代到来» 編集

2006-11-12 [W-ZERO3] Damn! MSDN!!

えー、Windows CE系はWindows Mobile 5.0にて、NegiTodayToDo 2006やらNegiTodayAgenda 2006の開発真っ只中であるわけですが、なんというかMSDNって肝心なところを教えてくれなくてとても困ってますです。で、そんな心の中がだだ漏れになっていたようで、W-ZERO3ツールメモさんのところでもコメントされる次第になってました^^;

NegiTodayシリーズがここまでこれたのは、コメントをいただいた皆様方やら、MSDNやら、実際に開発されている方々の記事やコメント&それを引っ掛けてくれたGoogleさまさまだと感じている今日この頃です=D

というわけで、NegiTodayシリーズの開発に伴って、MSDN以外で入手した情報(100%英語)をここに公開したいと思います&何か間違っている点があったら突っ込んでください^^;

予定や仕事の日付/日時/時刻の検索

えーと、MSDNでは(中略)Native Codeの(中略)Information Managementの、Pocket Outlook Object Model(POOM)のIPOutlookItemCollection::Restrict()やらFind()あたりにかいてありますが、IAppointment(予定)のStart(開始日時)やらEnd(終了日時)、ITask(仕事)のStartDate(開始日)やらDueDate(期限)といった日付・時刻をもつフィールドは、「地域」で設定された短い日付((GetDateFormat())や時刻(GetTimeFormat()))のフォーマットにしたがって検索するというようにかかれてますです。が、この設定って実はレジストリで書き換えたりできちゃうわけで、短い日付をMM/ddなんていう形式で書かれちゃうと、それでは検索できなくなってしまうようです。(標準のTodayアイテムだとちゃんと出てくるわけで、かなりずるいです)

で、そこにはそんな話が一言も書かれてなくてとても困ったわけですが、どうやらDATE値で直接検索できることがわかったので、それで回避しました。ただ、DATE値を%.6fや%.12fで指定してもダメダメで、%.1fでようやく目的のモノを引っ掛けられたという感じなので、時間や分単位で正確に絞り込むのは無理っぽいです。
※このDATE値はLocaltimeでいいみたいですが、%.1fといった大雑把な単位なので日付か時間単位でしか絞り込めないと思われます。そういう状況なので、NegiTodayシリーズ(Build 17)では大雑把に絞り込んで、あとはget_End()|get_StartDate()してフィルタしてます。

なお、仕事の開始日、期限で「なし」(DATE_NONE)ってのがありますが、= <949998.0としても引っかからないので、前述の通りいちいちget_StartDate()しながら絞り込みかけてます^^;(ちなみに">= <949998.0"とすると、"< <949998.0"な条件もでてくるので謎過ぎます。)

ちゃんと書いといてください;_;)>マイクロソフトさま

Windowsを導入することによりコストとか云々に言及するのなら、こういった基本的なことはぜひともということでどうか一つ・・・

#MSDNから簡単に捜せるところに書いてあれば私も困らなかったんですよぅ(結局見つけられず、MSDN内の検索や、Googleでの検索でかなり時間を要したので文句ありありです)

2007/7/23追記

別件でいろいろ調べていたら、Microsoft Mobile Team blogのとある記事に以下のような記述がありました。この記述を信じる限り、範囲外であるDATE_NONE(949998)では検索できないっぽいですorz

[Start] > <Variant_date and [Start] < <Variant_date
Where the date is between CAL_MINDATE and CAL_MAXDATE in double in Variant Date format.

2007/7/25追記

別件の調査で判明したこと・・・Windows Mobile 5.0で[Start](開始日時)や[End](終了日時)をDATE値で検索すると、日付に加えて時刻(小数点以下の値)までちゃんと条件判定してくれていたのが、Windows Mobile 6だと日付までしかみてくれなくなったようです;_;)

ちなみに検索条件を"[End] > <10000.0"とした場合の例が以下の通りで、

[End]の値WM5WM6
10000.0××
10000.1×
10000.9×
10001.0

見事なまでに違いが出ますorz
なお、この検索方法はMSDNライブラリに書かれている正式なものではないので、今後も動きが変わるかも?という点で要注意かもしれません>_<)

2007年07月25日 11:31更新

過去の日記
<< 2006/11/ 1 2 3 2. 結論に至りました
3. というわけで、Build 10 Alpha Release出しました。
5. 不具合情報(11/4 12時現在)
4 2. Build 11 Beta Release(重要)
3. 本当はのんびりリリースするつもりだったのですが...
5 2. Build 12 Beta Release(重要な更新)
3. たびたび申し訳ありません
4. 一点だけ調整すべき問題が残っているのでコメント募集
6 7 2. Build 14 Beta Release(重要な更新)
3. 期限/開始日によるフィルタについて
4. 謝辞
8 9 10 11 2. Build 15 16 17 Alpha (人柱さま専用)
3. 毎度の決まり文句
4. 仕様制限/障害等(11/11 12:50現在)
5. 11/18追記
12 2. 予定や仕事の日付/日時/時刻の検索
3. ちゃんと書いといてください;_;)>マイクロソフトさま
4. 2007/7/23追記
5. 2007/7/25追記
13 2. ちば!
14 15 2. 今日はもうすでに70件;_;)
3. というわけでフィルタ入れました。
16 17 2. Content-Type: multipart/form-data
3. はい、知る人ぞ知る東鳩は"To Heart"です。
4. しかしながら無事multipart/form-dataに関する記述を書き終えました
18 2. 今後の予定
3. Build 18 Beta Release
4. 十分寝かせて熟成させたつもりですが・・・
5. Build 19 Alpha Release (人柱さま向け)
19 2. Build 20 Beta Release
3. Build 21 Beta Release
20 21 22 2. 充実のラインナップ!って言葉の響きがいいよね。
3. NegiToday何か 2007(全て未定)
5. (追記)要望コメントを受けて
23 24 25 26 27 28 29 30 >>
NHK(日本放置協会)は放置される側の団体です 時間のないサイト運営者リング NEO業務日誌
本日 82 昨日 114 全体 552667