≪ ≫ 初日 最新 目次 MAIL HOME


*-- To Tell The Truth --*
Cruz
MAIL
HOME

My追加

2001年06月30日(土) ■
library

ダンナは会社の事務所内引越しとかなんとかで、会社へ出かける。
おーい、連続4週(?)掃除&洗濯を私一人でやっているぞ。

部屋の掃除をする前に、猫たちのお風呂。
抜け毛対策である。
激しく怒り、鳴き喚く猫たち。。。。
そして猫アレルギーの私は鼻水&くしゃみ連発。
はぁ、苦しかった。

気分転換というかお金節約の為に、通勤電車で読む本を探しに近所の図書館へ行く。
子供の頃は図書館が遊び場だったなぁ。
この図書館へ来るのは、もしや高校生以来か?
結構、混んでいる。大盛況(・・・と言うのだろうか?)。
一通り見て周り立ち読みをした挙句、3冊本を借りて帰る。
 「狗神」坂東真砂子
 「どすこい」京極夏彦
 「ネコの住所録」群ようこ
「どすこい」は厚すぎて電車では読めないな。
まぁ、いいや。



2001年06月29日(金) ■
子殺し

なにやら物騒な事を考えているわけではありません。
これもお仕事です。

親ウィンドウから派生した子ウィンドウ。
親が死んだら(=親ウィンドウを閉じたら)一緒に子供(=子ウィンドウ)も死んで(=閉じて)欲しいのだ。
このような言い回しは、コンピュータ関連技術者が好んで使うようです。
(だいたいコマンドもkillとかあるしねぇ。)
・・・というか、一般の方は使わないのね。
私は一般の方は使わないという事を、ここ最近2年くらいに知りました。

昨日悩んでいた一行毎に色変えはあっさり解決。
NM_CUSTOMDRAWへ来た時のデータアイテムは、lplvcd->nmcd.dwItemSpecに入っていたのね。
ListView_GetItemText(hAllList, lplvcd->nmcd.dwItemSpec, 5, cpScore, sizeof(cpScore));
で簡単に色変え条件値を取得できましたとも。
やれやれ。



2001年06月28日(木) ■
バイオメトリックス

バイオメトリックス
【biometrics】
〔バイオメトリクスとも〕
人間の肉体の特徴を読み取り,登録してあるものと照合するシステム。指紋・声紋・網膜の血管パターンなどにより識別する。防犯システムなどに応用される。生体認証。デイリー新語辞典より

私の所属する部署では、かなりヤバイデータを扱っているので、入室するのに指紋認証タイプのロックがかかっている。
もちろん、私の指紋も登録されている。

先日、それとは別に入館証を作るので顔写真も撮られた。
うーむ・・・もう悪さはできないな。
(何もするつもりはありません)

データの一覧表示画面をメニューバー(?)の付いたListView画面にしたので、以前さんざん悩み倒した一行毎の色変えをサクッとこなす。
ふふん、楽勝♪・・・と思いきや、行を選択した後はみんな黒文字表示に。
げっ?!再描画してないのか??
・・・いや、再描画はしている。
色変え条件の値をちゃんと取得できなかっただけだ。



2001年06月27日(水) ■
空は海よりも青く・・・

梅雨はどこへいったのか。
毎日晴れすぎ&暑すぎ。
溶けるのは時間の問題。

一昨日、発見したバグはなんとかクリア。
これが本当になんとか。
いろいろ試行錯誤した挙句できたのでOKとしたまで。
実は、なぜこれでいいのか自分でもわからない箇所がいくつか・・・。

その1つは、strcpy(p, dataline);がいっぱい
やってることは、固定長のデータをオフセットごとに項目バラして変数に格納するだけ。
固定長データはconstで持ってきているので、
char *p = new char [strlen(dataline)];
と定義したpに代入してからバラしにかかっているのだが、
1項目の代入を済ませた後、再度strcpy(p, dataline);してやらないと、
pに入っている固定長データがぶち切れていて先(これから取得する項目分)のデータがない。
それも、途中項目まではデータが存在するので必ず1項目ずつに・・・というわけではないのだ。
要はデータが桁落ちしているように見える。
一か八かで、1項目処理するごとにstrcpy・・・をしたら、ちゃんとできた。
うーん、こんなことでいいのだろうか?

もう1つはdelete [] p;
先ほどの話の中で出てきたとおり、pをnewでメモリ割り当てを行っている。
だから、使い終わったらdeleteで開放じゃん・・・と思ったが、
これをすると実行でコケる。
これも一か八かで、え〜い!エラーになるなら取ってしまえ〜!!とやったら、すんなり動いた。
本にだってnewしたらdeleteで開放って書いてあるじゃん。
この例外はなに??

以上、疑問が残るバグ解決でした。



2001年06月26日(火) ■
肉食いたい病

肉食いたい病に冒されたダンナを救済すべく(?)
仕事が終わってから、焼肉を食べに行く。
ダンナお勧めの焼肉屋は大宮。
全部、塩なのねー。
確かに美味かった♪

仕事の方はといえば、変更仕様の資料を作成して
上司へメールを入れておいた。

後は明日だ。



2001年06月25日(月) ■
仕事な日

以前、完成したと思っていたデータ読込み部は、きちんと機能しないことが判明。
(バグともいふ)
えらいこっちゃ。

3時のおやつ・・・頃から怒涛の打ち合わせ。
え〜?!また、仕様変更ですか?
う〜ん・・・それはDBじゃないと無理ッスよ。
等という言葉を飲み込みつつ、長時間の打ち合わせを終える。

打ち合わせの後の打ち合わせ。
仕様について、プログラミングサイドから検討。
社会人足るもの「それはメンドーだから、やりたくないッス。」等とは言ってはいけない。
「工数も増えて複雑なので、ちょっと難しいですね。」と濁してみる。
そしたら「じゃあ、理由付けして資料作成して」と言われる。
ちょっと墓穴・・・?

今日は夜10時まで働く。
まだまだこれから・・・。



2001年06月24日(日) ■
マシンに触れない日

朝(昼近く)から家の中が騒がしい。

昨日、じじ&ばば&姪はディズニーランドへ行き、姪はそのまま宿泊していた。
姪から「ディズニーランドのお土産」と、ディズニー紙皿に乗った
ガム(1粒ずつバラして)をもらう。
ガムはディズニーものではない。普通のガム。

ぬぼーっと起きてきたダンナは、ぬぼーっとマシンルームへ行き、
ゲームに没頭している。

今日の私は、マシンで遊ぶよりも体を動かしたい気分。
ゴルフの打ちっぱなしへ連れ出す。
程よい疲労。
程よい空腹感。(いや、空腹すぎたかも)

マシンから離れた日であった。



2001年06月23日(土) ■
飲んだ次の日

昨夜は飲みましたとも。
例によって例のごとく、ダンナ&ダンナ後輩と三人で。
ダンナ後輩はウチに宿泊です。

9時半頃に目がさめる。
ダンナが10時に会社へ行くと言っていたのを思い出し起こす。
ダンナは、とりあえず会社に電話をする。
3人でしばらくボーッとし、ラーメンを食べて出かけよう
(ダンナは会社へ、後輩君は帰宅)ということになる。
目当てのラーメン屋は、12時開店で10分ほど待ち時間が生じる。
10分を待ちきれずに別のラーメン屋へ・・・。

ラーメンを食べて解散。

家で洗濯&掃除にはげむ。

夜はレッズ戦。
久しぶりの快勝に酔いしれる・・・が、
ダンナ体調不良のため、後半戦は家で観戦。

そんな1日。



2001年06月22日(金) ■
ダイアログからリストビュー表示

本日はお仕事編。

悩んでしまったよ。
ダイアログのログイン画面からボタンを押すと、リストビュー画面を表示させるの。
なんとかできたので覚え書。

+++++++++++

まずはダイアログのプロシージャー

LRESULT CALLBACK TopDlgProc(
 HWND hWnd,
 UINT message,
 WPARAM wParam,
 LPARAM lParam)
{
 HACCEL hAccel;
 MSG msg;

 switch(message)
 {
  case WM_DESTROY:
   EndDialog(hWnd, FALSE);
   return TRUE;

  case WM_COMMAND:
   switch(LOWORD(wParam))
   {
    case IDC_TOP_WATCH:
     // ログイン画面を閉じる
     EndDialog(hWnd, FALSE);

     if (!InitApp())
      return FALSE;
     if (!InitInstance(hWnd))
      return FALSE;

     hAccel = LoadAccelerators(
            hInst1,
            MAKEINTRESOURCE(IDR_ALLWATCH_MENU));


     while(GetMessage(&msg, NULL, 0, 0)){
      if(!TranslateAccelerator(hWnd, hAccel, &msg)){
       TranslateMessage(&msg);
       DispatchMessage(&msg);
      }
     }

     return TRUE;

    case IDC_TOP_CONTROL:
     // ログイン画面を閉じる
     EndDialog(hWnd, FALSE);

     cmn_InitDlg();
     DialogBox(hInst1,
         MAKEINTRESOURCE(IDD_CONTROL_MENU),
         hWnd, (DLGPROC)ControlProc);
     return TRUE;
    ・
    ・
    ・
    以下略
   }
   break;

 }
 return FALSE;
}

// リスト
BOOL InitApp()
{
 WNDCLASSEX wc;
 wc.cbSize = sizeof(WNDCLASSEX);
 wc.style = CS_HREDRAW | CS_VREDRAW;
 wc.lpfnWndProc = AllMonitorProc; //プロシージャ名
 wc.cbClsExtra = 0;
 wc.cbWndExtra = 0;
 wc.hInstance = hInst1; //インスタンスは外部定義
 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 wc.hCursor = LoadCursor(NULL, IDC_ARROW);
 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
 wc.lpszMenuName = MAKEINTRESOURCE(IDR_ALLWATCH_MENU);
 wc.lpszClassName = (LPCSTR)szClassName;
 wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
 return (RegisterClassEx(&wc));
}

//ウィンドウの生成
BOOL InitInstance(HWND hWnd)
{
 HWND hAllLV;

 hAllLV = CreateWindow(szClassName,
   "List Disp", // リストバーに表示される
   WS_OVERLAPPEDWINDOW, //ウィンドウの種類
   CW_USEDEFAULT,   //X座標
   CW_USEDEFAULT,   //Y座標
   CW_USEDEFAULT,   //幅
   CW_USEDEFAULT,   //高さ
   NULL, //親ウィンドウのハンドル、親を作るときはNULL
   NULL, //メニューハンドル、クラスメニューを使うときはNULL
   hInst1, //インスタンスハンドル
   NULL);
 if(!hAllLV)
  return FALSE;

 ShowWindow(hAllLV, nCmdShow);
 UpdateWindow(hAllLV);
 return TRUE;
}

そしてリストビュープロシージャで・・・

LRESULT CALLBACK AllMonitorProc(
 HWND hWnd,
 UINT message,
 WPARAM wParam,
 LPARAM lParam)
{
 int id;

 switch(message)
 {
  case WM_CREATE:
    cmn_InitDlg();
    hList = CreateWindowEx(0,
       WC_LISTVIEW,
       "List View",
       WS_CHILD | WS_VISIBLE | LVS_REPORT,
       0, 0, 0, 0,
       hWnd,
       (HMENU)ID_LISTVIEW,
       hInst1,
       NULL);
    break;
  ・
  ・
  ・
  以下略
 }
 return 0L;
}

どっかで
#define ID_LISTVIEW 100
を宣言しておきましょう。

+++++++++++

本日の悩みどころは、ダイアログをマクロ(DialogBox(・・・))で表示させるのと違って、自分でグルグル回って待たせないといけなかったところ。



2001年06月21日(木) ■
巻き込まれたダンナ

昨夜は何時に帰ってきたのか判らないほど遅い時間に、ダンナは帰ってきた。

ダンナは職場の人間関係のゴタゴタに巻き込まれていた。
半分眠りかけていた私にトートーと語りかけてくる。
夢うつつで聞いていたものの、未だ職場でお天気話程度の
おしゃべりしかしない私にとっては、結構別世界の出来事。
濃い人間関係ってのもねぇ・・・。

++++++++++

会社で『チーズはどこへ消えた?』という本を借りて読む。



2001年06月20日(水) ■
へっくしょんっ

仕事中、突然くしゃみに襲われる。
へっくしょんっ
へっくしょんっ

へっくしょんっっ


目もウルウルしている。
トイレへ行って、思いっきり鼻をかんでなんとか収束。
でも、席へ戻ると鼻詰まり&涙目。

・・・何かのアレルギー?
もともとスギ花粉症持ちではあるが・・・。
アレルゲンが増えちゃったのかなぁ?
アレルギーチェック、受けた方がいいのかなぁ?
(知ったところで、どうしようもないと思うけど)

突然の全身じんましんだけは勘弁して欲しい。(←経験済み)
自分よりも他人が驚くから。
点滴で直るんだけどね。(原因不明)>全身じんましん

+++++++++

会社帰りに、お産入院している友人の見舞いへ行く。
見舞い帰りに飲む。
久しぶりの飲み。久しぶりの人との語らい。



2001年06月19日(火) ■
職場の人々

この職場へ来てから、もう2ヶ月が過ぎた。
さしたる会話はないものの、だいぶ人の顔と名前も覚えた。
しかし、誰がどんな仕事をしているのか、
私の仕事との直接接点が無いためによくわからない。
みんなはUNIXでC開発(メンテ?)でOracle8を使っているようなんだけどねぇ。
web(たぶんイントラ)開発もしているようだし・・・。
今のところ、私はそちらの方へ関われることはなさそうだ。

唯一、一人だけ何をやっているのかよくわかる人物がいる。
それは、4月入社の新人さん。
UNIXのべんきょー、C言語のべんきょーをやっている。
指導係のSさんは、自分の仕事の片手間に彼女の質問に答えている。
ただその質問が多岐に渡りすぎの気が・・・
『ラインエディタってなんですか?』
cron定義するときにEDITOR=viになっていないとラインエディタで書く羽目になるんだよなぁ。そのくらいしかお目にかかることはないと思うぞ。
『viと秀丸の違いは?』
それは両方ともエディタなんだけどUNIXとwinの違いはわかっているのかなぁ?
『これ(自分のマシン)はWindowsですよね?・・・でUNIX(マシン)は?』
いや、あなたがteratermでログインしている所はUNIXなのよ。winは端末、実行(作業)はUNIX。
Sさんは非常に根気よく質問に答えてあげていると思います。
時々、UNIXの歴史について語っていることもあるが。

しかし、彼女が晴れて開発業務につけるのはいつの事だろう?



2001年06月18日(月) ■
残業

今日は残業。
操作マニュアルと画面関連のリソース作りで
21時まで会社にいた。
家へ着くと22時。
まだ序の口だな。

京極夏彦の新刊がちっとも出ないので、
最近は宮部みゆきに傾倒し始める。
「パーフェクトブルー」を読み終え、
同じく元警察犬マサの出てくる短編集を読み終え、
昨日「魔術はささやく」を手にする。
・・・結構、おもしろいかも。

最近、陰陽師やら安倍晴明などをよく見かけるが、
「陰陽師」と聞いて真っ先に京極堂を思い浮かべた
私って・・・。

そーいや先日CATVで帝都物語見たんだよな。
加藤は陰陽師だったっけ。



2001年06月17日(日) ■
申し込み

ガッコを卒業してから、紆余曲折しながらも
この道へ入り・・・ん?年。
実のところ私は対外的に通用しそうな資格を何ももっていない。
運転免許くらいか・・・?(通用するのなら)

ここらでやっと重い腰をあげて、資格でもとろうかと思った。
思っただけじゃしょーがないので、通信教育を申し込んでみた。
目指す資格は「基本情報技術者」。
これは、第2種情報処理に相当するらしい。
今年から名前(区分?)が変わったようだ。
何を今さら・・・と言われてしまいそうだが、
いきなり上級資格を狙って落ちるとショックが大きそうだし、
試験そのものに慣れる事を狙って、ここから始めることにした。
でも、この試験で落ちたらショックが更に大きいかも・・・。
とりあえず、べんきょーしてみてやばそうだったら、
来年の春にしよう。

申し込み第2号。
マルハの日めくりカレンダー。
我が家の三四郎&獅子丸の抱き合い写真を送っておいた。
運がよけりゃ、日めくりカレンダーに採用されるだろう。




2001年06月16日(土) ■
妹家族来襲

昨夜からダンナは出張。

ゆうべはCATVでやっていた「AKIRA」を見ていて夜更かし。
眠いよぉ。
でも、洗濯&掃除をしなきゃ。

本日、妹家族の来襲があるという。
姪&甥もいるので、猫たちは災難であろう。
でも、私は夕飯にありつけてラッキーである。

深夜、私も眠りに落ちた頃にダンナ帰宅。

出張先の現場事務所では、どーしても寝たくなくて
仕事終了と共に帰ってきたそうな。
そんな無理をしなくても・・・・と思うが、
無理をしてでも帰りたかったのね。



2001年06月15日(金) ■
いよいよ始動?!

朝から早速ミーティング。
昨日の「宿題」絡みのお話で・・・。

・・・で、いよいよ開発始動となりそうだ。
始動始めに操作マニュアルなどと言うものの
作成をしなければならなくなった。(それが宿題)
操作マニュアルそのものは構わないけど、
画面がずいぶん変わるんだよねー。
画面が変わるって事は、今までせっせと作ったプロトタイプが
あまり役に立たないって事で・・・。
おまけに、操作マニュアル用にダミーの画面を作りあげなきゃ
いけないって事で・・・。

うーん、突然仕事が増えたなぁ。

・・・で、本開発。
かなりのボリュームになっているんですけど、
やっぱり私一人ですか?



2001年06月14日(木) ■
マターリ

昼飯を食べながら
2ch
なんぞを見る。
思考回路が2ch風になる。
ヴァカだね。あたしは・・・・。

明日から日曜までダンナは出張だと言う。
なぬ?!金曜日から日曜日・・・?
ムッとする。
仕事だからしょーが無いけどさぁ。
週末の掃除&洗濯&買出し・・・すべてあたし一人でやれって事か。
それなら、平日に少しは誠意を見せて欲しいぞ。
朝はあたしが家を出るときまで寝てるし、夜はゲームをしているし。
飲んだ次の日午前半休したかと思えば、仕事で徹夜をするし、
テレビが見たくて早く帰って来たかと思えば、次の日仕事で終電だし、
仕事で遅くなったかと思えば、実はマージャンor飲みだったり。
ハァハァハァ・・・
今日はこの辺でカンベンしておこう。

で、私の仕事。
本日、客先説明へ行っていた上司から宿題をもらったとの電話が入る。
明日からドキュソ?(←まだ2ch風)



2001年06月13日(水) ■
席

今日は仕事帰りにマッサージへ行きました。

マッサージ・・・といっても、以前紹介したリフレクソロジー&整体のお店。
保険は利かないし少々お高いのだが、会社帰りに寄れる便利さと
スタッフがみな女性という安心感もあってしばらく通うことにしている。

私の肩こりは筋金入りなので。

現在の会社では、大きな机を2個。
正面と左サイドに置き、左斜め前にディスプレイを設置している。
席への出入り口は右サイド。
| ̄ 一人分は、こんな配置。
そしてみんなも同じ配置をしているので、
| ̄ 
| ̄ 
| ̄ 
と1列に並んでいる。
壁での区切りはない。(後ろの席から丸見え・・・)

一方、前の職場は壁があった。
島1つが、 |  な形に壁で仕切られ、
      / \
1区画に2人づつ入れるようになっていた。
でも、最後には私一人で1区画をのびのび使用していたが・・・。
壁があるので、席を外しているとか休んでいるとか電話中とか・・・
そういったことはわかりにくい。
電話を受けてしまうと、プレーリードックのように(?)
立ち上がってキョロキョロするはめになる。

でも壁あり環境で、さらにCDを聴きながら(ヘッドフォンで)仕事が
できるという気楽さ。
・・・じゃなくて、自分の世界に没頭しやすさ。
仕事に熱中もしやすいけれど、遊びにも走りやすいという欠点があったけどね。
ああ・・・寝やすいってのもあるか。

さて、肩こり&腰痛にやさしい職場はどちらでしょう?



2001年06月12日(火) ■
どうにかトレース

あやふやな記憶をたよりに、なんとか使えそうなトレースログ関数を作った。
・・・が、まだレベル分けの処理にしていないので、
本開発での実用レベルではないな。

おまけにただのprintf()のパクリとしか思えないシロモノ。
こんなのでいいのか?>自分

++++++++++++++
void My_Trace::TraceLog(int iLevel, const char *SouceFile, int SouceLine, const char *format,...)
{
 time_t ct = time(NULL);
 struct tm *actiontime = localtime(&ct);

 gfplog = fopen(gTraceLogFileName, "a");

 // 作業用変数の定義
 va_list args;

 // 初期化
 va_start(args, format);

 fprintf(gfplog, "[%s][%d][LEVEL %d][%4d/%d/%d/ %d:%d:%d]",
     SouceFile, SouceLine, iLevel,
     1900 + actiontime->tm_year,
     1 + actiontime->tm_mon,
     actiontime->tm_mday,
     actiontime->tm_hour,
     actiontime->tm_min,
     actiontime->tm_sec);
 vfprintf(gfplog, format, args);
 va_end(args);

 fclose(gfplog);
}

使用法:
 My_Trace T_Log; ・・・としてから、
 T_Log.TraceLog(T_LEVEL0, __FILE__, __LINE__, "----START----\n");
 こんな感じ。

 T_Log.TraceLog(T_LEVEL4, __FILE__, __LINE__, "item=%dn", iIndex);
 こんなのもアリ。

表示例:
 [d:\user\project\test\testmain.cpp][32][LEVEL0][2001/6/12/ 18:24:19]----START----

++++++++++++++

さて、仕様変更(・・・じゃなくて仕様誤認識?)の箇所をなんとかしなきゃ。



2001年06月11日(月) ■
meeting day

お昼の後、呼ばれてついていくとそこは会議室。
本日は会議に出席。

出社してから今日の「会議」の事を知らされたので、
そんなに時間がかかるものでもあるまい・・・と
高をくくっていた。

まず第1弾。
お客様1名と会議。
聞いてビックリ見てビックリ。
そんな仕様はきいていないよぉ〜・・・とは心の叫び。

第2弾。
先ほどのお客様+4名で、計7名による会議。
司会進行役のお客様(お客様が進行役?!)から
上がってくる案件に、他の方々が様々反応を示す。
そんな話はきいていないよぉ〜・・・と思ったのは、
私だけじゃなくなった。

双方の誤解も解け(?)会議終了。

本日、半袖ニットセーターという出で立ちの私は、
すっかり冷え切ってしまいました。

教訓:会議の日には長袖を着よう



2001年06月10日(日) ■
金が無い

今日はサッカー(コンフェデ杯)があるので、
それに間に合うように、早々に食料品の買出しに出かける。

ホントはゴルフの打ちっぱなしにも行こうと思っていた。
・・・が、金が無い。
夫婦2人合わせて7千円くらいしかない。
あきらめる。

徒歩で駅前スーパーへ向かう途中、
結構美味しいラーメン屋がある。
「・・・ラーメン食べようか?」
この一言で、買い物に費やせる金額がさらに減る。

スーパーで買い物。
青梅を発見!
「そうだ、梅酒つけなきゃねぇ?」
梅購入、氷砂糖購入。
その他、いろいろ買い物をすると約5千円支払う。

酒屋でホワイトリカーを見つけるものの金が無い。
ここに来て、先ほど喰ったラーメンが悔やまれる。

我が家の梅酒ビンは2本あるのだが・・・
1.8リットル1本だけホワイトリカーを購入。

本日梅酒は1ビンしかつけることができなかった。

計画性の無い夫婦である。



2001年06月09日(土) ■
掃除&洗濯&パソコン・・・?

本日は土曜日。
念願の休日。
ゆっくり朝寝をし、遅い朝食(昼飯?)。
洗濯に掃除・・・。

そして私は我が家のホームページリニューアル作業を。
ダンナはいつの間にか買ってきたPCゲームを・・・。
仲良くマシンルームで過ごしました。



2001年06月08日(金) ■
2世帯住宅の憂鬱

ウチの母は世話焼きたがり屋である。

昨日、ダンナはサッカー(=コンフェデ杯)を見るためとても早い帰宅だった。
家の遠いダンナ会社後輩も我が家でサッカーを見ていた。

母からおつまみの差し入れを受けていた。
まぁ、私の方が帰宅が遅いし、その程度はありがたくいただいておこう。

サッカーも見たし、私も含め3人揃って飲みに出る。
飲み&食いで、後輩くんの帰宅時間を過ぎてしまう。
酒も入って気分もいいし、我が家に泊まることにする。

夜中の1時を回ったこともあり、親世帯のゲストルーム(ただの和室)を
使うわけにもいかないので、我が家の方の部屋で寝ていただく。

・・・で、今朝。

「泊まってもらうなら、和室を使えばよかったのに。」
「朝ご飯は?」
・・・非常に五月蝿い。
和室は、夜中だったので使用するのをやめたのだ。
母が朝起きて和室に入ってビックリされても困るしね。
朝ご飯は、夕べ遅くまで飲んだ人間に食べられるはずが無い。
「いらないよ。」と私もダンナも言ったのだが、
勝手に支度をして「もう、作っちゃったんだから持っていって」と来た。
だいたい、なぜあなたがウチのゲストの世話をするのだ?
必要なら私がするからいいんだよっ。

おまけに「明日から天気が雨らしいから、洗濯しておこうか?」と来たもんだ。

もう放っておいてくれっ〜!!



親切心でやってくれているのはよくわかる。
確かに助かるときもある。
でも、ここまでくると『うざい』。

少しは『干渉しない事もおもてなし』というものをわかって欲しい。



2001年06月07日(木) ■
決着

結局、先日(・・・って、ずいぶん前だなぁ)から悩んでいた
行毎に色を変える処理はやめにした。
アイコン表示でいくことになった。
プロトタイプとは言え・・・私の技量の無さで仕様変更だ。

まぁ、そう言っても一応の決着がついたので気分爽快♪

次は何をしようかな?
そうだっ、トレースを入れよう!
異常終了処理を入れよう!
(↑今まで無かった)

・・・・

TRACEってマクロ、MFCの場合だけなの?使えるの・・・。
じゃあ、私は自作?

以前の仕事(それも他会社)で使用したTRACE関数。
どんなのだったっけ?
記憶を蘇らせることは可能だろうか?
(たぶん不可能)



2001年06月06日(水) ■
・・・勘違い?

4月から今の職場へやってきて、もう2ヶ月過ぎた。
今の仕事の契約は6月末までなので、そろそろ更新とか
そーいった話が出てきた。

契約の話は、派遣のにーちゃん(=営業)が派遣先企業の担当者と
交渉してくれる。
私が直接交渉するのではないので、派遣先企業に直接言いにくい
事などもにーちゃんに話ができる。
まぁ、今までもそうだけど、派遣先企業に対して不満とか
要望とかないんだけどね。

で、肝心の更新話。
派遣のにーちゃんの話だと、
期間は好きなだけ。ずっと居て欲しい。
とのことだそうな。
そりゃありがたい話だけど・・・好きなだけ??
派遣のにーちゃんも「好きなだけと言われるのも、めずらしいんですよねぇ。」
と、言っていた。

おまけに、
「よくやってくれていると言われましたよ。」と・・・。
・・・うーん、よくやっていると言われても。
私はまだ本開発に入っていないし、プロトタイプ作りながら
おべんきょーしているだけなのだが・・・?
それもかなり自分勝手に(笑)。

おべんきょーしているだけで、契約期間第1回満了してしまい、
おべんきょーしているだけで、「よくやってくれている」と
言われてしまう私って・・・勘違いされやすいタイプかな?



2001年06月05日(火) ■
Multi Task Single User

とうとうかねてから悩みまくっていた
リストビューの行毎色変えを断念し、
リストボックスの行毎色変えまでも断念し、
リストビューでアイコン表示にしてみた。

紹介するまでもないが・・・一応(自分のために)覚え書。

===========

LRESULT CALLBACK MonitorProc(
 HWND hDlgWnd,
 UINT message,
 WPARAM wParam,
 LPARAM lParam)
{
 HWND hLV;
 DWORD dwStyle;
 HIMAGELIST hImage; //イメージリスト
 WORD lpwIcons[] = { IDI_NOICON , IDI_SAVE, IDI_WSCORE }; //イメージリストに載せるアイコン

 switch(message){
  case WM_INITDIALOG: // ウィンドウ初期設定
    // リストビューの初期設定
    hLV = GetDlgItem(hDlgWnd, IDC_MONI_LIST);
    dwStyle = ListView_GetExtendedListViewStyle(hLV);

    // リストビュー1行選択&カラム線
    dwStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES;
    ListView_SetExtendedListViewStyle(hLV, dwStyle);

    // アイコン設定
    hImage = SetImageListOnListView(hLV, lpwIcons, 3);

    // リストビューのヘッダ&データ出力
    SetListHeader(hLV);
    SetListData(hLV);

    break;
  case WM_COMMAND: // コマンド操作時
    return (Mon_CommProc(hLV, hDlgWnd, HIWORD(wParam), LOWORD(wParam), lParam, hImage));
  default:
    return FALSE;
  }
  return TRUE;

}

HIMAGELIST SetImageListOnListView(
  HWND hLV,
  WORD *lpwIcons,
  UINT uIconNum)
{
 UINT i;
 HIMAGELIST hImage;
 HICON hicon;
 int iIconSize,iImageList;

 // スモールアイコンのみ
 iIconSize = 16;
 iImageList = LVSIL_SMALL;

 if((hImage = ImageList_Create(
        iIconSize,
        iIconSize,
        ILC_COLOR4,
        uIconNum,
        0)) == NULL)
  return NULL;

 ListView_SetImageList(hLV, hImage, iImageList);

 for(i = 0;i < uIconNum;i++){
  hicon = LoadIcon(
      (HINSTANCE)GetWindowLong(hLV, GWL_HINSTANCE),
      MAKEINTRESOURCE(lpwIcons[i]));
  if(ImageList_AddIcon(hImage, hicon) == -1){
    ImageList_Destroy(hImage);
    return NULL;
  }
 }
 return hImage;
}

アイコンの指定はLV_ITEM構造体のiImageへ定義する。

===========

この方法でダイアログ内のリストボックスでもアイコン指定ができる。
データをリストビューに引き渡すのと同じ時にアイコン指定もできるので、
データの値ごとにアイコンを切り替えることも簡単である。

意外と簡単にできてしまったため、
諦めきれずにリストボックスの行毎色変えに再挑戦を始める。
※本日の題名と内容は関係ない。昔こんなネーミングで売り出されたOSがあったなぁ・・・くらいの思い付きである。



2001年06月04日(月) ■
日曜日の夜遊びはやめましょう

やはり、昨日の夜遊びがこたえたのだろう・・・。
全然仕事に身が入らない。
集中力もない。
もう30代まっさかりなんだから、
夜遊びするには無理があるのよ。
・・・これから気をつけます。

そんなこんなで、仕事を切り上げとっとと帰宅する。

サッカーを見る。
ダンナが夕飯を作ってくれた。
ビールを飲む。
眠くなる。
ダンナはテレビを見ている。
少し寝る。
ダンナはアイロンがけを始める。
起きだしてモップがけをする。
ダンナが風呂を入れる。
猫トイレの片づけをする。
ダンナが風呂へ入る。
ボーっとテレビを見ている。
風呂へ入る。
ダンナはマシンルームへ消える。
先に就寝。

以上



2001年06月03日(日) ■
寿司

ダンナとダンナの会社後輩が寿司を食べに行きたいと言う。
それも、去年まで住んでいた多摩まで・・・。
(いきつけの寿司屋がある)
夕方から出かけることになる。

出かける前に、私は『引っ越しましたハガキ』の
宛名印刷をしていた。
そんなに枚数はないのだが、プリンターがロートル過ぎて
1枚づつしかうまく印刷ができない。
・・・もう、寿命だな(←プリンター)。

寿司屋へは車で行った。
後輩君は彼女とバイクで来ていた。
寿司はあいかわらず美味い♪
寿司だけでなく、煮魚やらつぶ貝焼きやらも
食べることができる。

寿司屋を後にし、それじゃあ・・・と思ったら、
ゴルフの打ちっぱなしへ行こうと言う事になる。
・・・酒を抜くため?

家へ着いたのは12時過ぎ。
明日、会社なのにちゃんと行けるのだろうか?



2001年06月02日(土) ■
宴会DAY

本日は新築祝いに親類(父方)が集まる日。
叔父&叔母が勢ぞろいする。

ウチの両親のところでの新築祝いなのだが、
2世帯住居になっているため、私達夫婦も参加しなければ
ならない。
まぁ、こういった事はこれからも仕方が無いだろう。

家を見に来るわけだから、念入りに掃除もしなければならない。
住みだしてまだ2ヶ月ほどだが、それなりに汚れはするものだ。
(猫たちも居るし・・・)
母に宴会準備を手伝えと言われていたが、自分達の部屋の掃除で
手一杯だった。
ごめん。。。

叔父&叔母も続々とやって来て宴もたけなわ。
叔父に、私達夫婦と同居することになって良かった等ということを言われる。
父も、自分達夫婦が亡くなったら夫婦2人でも広すぎるだろうから、
妹家族と同居してもいいし・・・等という事を言っている。
・・・ちょっと待て、夫婦2人でも広すぎるから?
私達はまだ子供をあきらめていないぞぉ?!

ちょっと引きつり気味のお愛想笑いをしていると、
いつのまにか話題は我が家の猫たちへ・・・。
三四郎が営業していた。



2001年06月01日(金) ■
FAXができない

いくらプログラムが作れても、マシンのセットアップを
自分ひとりでできても、FAXくらい送れないとかなり情けないです。

タイムシートの月末締め日に派遣会社へFAX送信しなきゃ
いけないのだけど、どーにもこーにも『未送信』になってしまう。

なぜだぁ?
FAX番号も合っているし、用紙の向きもOK
プリントされているFAX番号が間違っているんじゃないか?
・・・と、自分のことを棚に上げ、FAX番号の確認までする始末。

なんてことはない。
FAXも電話も市外外線は8発信なのだった。

8発信にしたら・・・無事送信完了。
やれやれ。