まどかの 日記

[2003/08/18〜2003/08/24の日記]
[2003/08/25〜2003/08/31の日記]
[2003/09/01〜2003/09/07の日記]
[2003/09/08〜2003/09/14の日記]
[2003/09/15〜2003/09/21の日記]
[2003/09/22〜2003/09/28の日記]
[2003/09/29〜2003/10/05の日記]
[2003/10/06〜2003/10/12の日記]
[2003/10/13〜2003/10/19の日記]
[2003/10/20〜2003/10/26の日記]
[2003/10/27〜2003/11/02の日記]
[2003/11/03〜2003/11/09の日記]
[2003/11/10〜2003/11/16の日記]
[2003/11/17〜2003/11/23の日記]
[2003/11/24〜2003/11/30の日記]
↑過去3ヶ月くらいの日記はこちら↑

まどかは「P/ECE Hand Book」を応援しています


0786
2003/12/07()
 熱唱してきました(^^
 はい、今日は珍しく早めに起きて朝食を取り、お昼は近くのイチゴカフェで取った後、カラオケをしに行きました。

 途中怪しげなゲーム屋にファミコンが並んでいるのを見つけて寄ってみると、意外に安く売っていたので(シティコネクションが500円とお買い得!)、いっぱい買ったら1000円もまけてくれました(^^
 なんか、毎週日曜日にだけやっているそうで、また品揃えも変わるらしいのでまた来たいと思います。ちょっと良い店見つけちゃったかな(^^;

 で、お目当てのカラオケは4時間くらい2人で熱唱し、大須の本屋に寄った後、その近くのココイチで夕飯を取って家に帰りました。

 家に帰ってからはP/ECEの続きをしていたのですが、この前はいわゆる初期化の部分が終わったので、さぁ本格的にデバイスを制御してみようかと今日がんばってみたのですが、なんか上手く動いてくれない(j−j
 
 今格闘しているデバイスとはいわゆるシリアル通信でやりとりするのですが、状態取得のコマンドは受け付けてくれるものの、その他のレジスタ情報取得コマンドは受信タイムアウトになってしまう…… なぜ?

 色々データシートを読んでみたり、本の付録のCD-ROMに入ってたサンプルソースを見てみても、そんなに特殊なことをしている風には見えないので、やり方は正しくしてるつもりなんですが、動かないのでやはり私のやり方が間違っているんだろうなぁ。むぅ。

 というところで、今日はもう考えてもよく分からないので、続きはまた明日とかということで。 
 それではおやすみなさーい。

0785
2003/12/06()
 今日の夕飯は味噌ミンチスパ(^^
 えー、今日は午前中のうちにPC1台分のパーツを大須のツクモに買いに行って、昼からは2人でPCの組み立てをやってました。

 一応今日までに、後輩にPCの作り方を調べてくるようにと言っておいたのですが、想像以上に色々ちゃんと調べてきていたので、感心しました(^^

 しかも、今うちに来て作っているプログラム作品の他に、自分で創りたいと思うものを見つけて、今まで勉強したテクニックを応用して作ってると聞き、お兄さんは嬉しくなりました(T^T

 あれだけダメ出しして、かなり凹んでしまうのかと思いましたが、なかなかどうして、結構根性ある上に前にも増してやる気を出してきたじゃないですが(^^

 まだ専門学校一年生で時間はたっぷりあると思うので、この調子でこれからどんどん伸びていってくれたら良いですね。

 で、PC組み立ての方はと言うと、色々調べてきたとはいえ、組み立ては初心者なので、ありとあらゆることの動作が遅く、色々勘違いで手間取っていることも多かったのですが、まぁなんとか今日中にOSと各種ドライバをインストールするところまで出来たので良かったです。

 今回作ったPCは結構スペックの良いものなので、組み立てたご褒美にFFベンチをやって見せてあげたかったのですが、残念ながら時間切れでした(j−j

 でも、まぁ良い経験にはなったと思います。まだまだこれからですね。

 で、その後ちょっと社長と打ち合わせとか、先輩の手伝いとかをして家に帰り、夕飯は嫁さんの給食に出たメニューで味噌ミンチスパ(ひき肉と味噌が混ざったソースのスパゲティ)というのがあり、その味が再現できたと言うので、今日はそれを夕飯に頂きました。

 味の方は結構美味しく、私も好きな味なのでまた食べたいですね。

 で、今日はお笑い系の番組がいっぱいテレビでやってくれる日なので、それを2人で楽しんでみて、今日はそのまま何もせずに寝ました。

 明日はなんとなくカラオケに行きたくなったので、嫁さんとカラオケに行ってきます(^^;
 それではおやすみなさーい。

0784
2003/12/05()
 何気に忙しい日でした
 今日は主に、昨日から再開した仮称No.15の開発の続きをやってました。
 今日はデバッグ用に基板に色々線をはんだ付けしたり、またマニュアルのチェックをしたりと、まぁそれなりに忙しい日でした。

 あ、そうだ、ActiveXの続きもちょっとやったっけ。あれは我ながら良い感じに作れて満足ですな。

 今日はそんなに急ぐようなものもなくなったので、昨日よりはちょっと早めに帰って、またP/ECEの続きをしようかな…… って思って帰ったはいいものの、資料となる本を読んで次にやることを考えていたら、いきなり睡魔に襲われて急に眠くなってきたので、今日は何もせずに寝ることにしました。

 明日は、仕事でPCを2台組み立てる必要があるので、良い機会なので後輩を呼んで、私監修の元、PC組み立て実習をしてもらうことにしました。

 というわけで、今日はここまで。
 それではおやすみなさーい。

0783
2003/12/04()
 またまた質問が(^^;
 今日は昨日のVBの質問に続いて、今度はUSBカメラでのキャプチャについての質問が掲示板にありました。
別にうちの掲示板でこういう質問を書いてくださっても全然構わないですし、むしろ私のHPを見に来てくださっているということでかなり嬉しいのですが、結構不思議ですね(^^;

 まぁ、USBカメラはまだ扱ったことはほとんどありませんが、似たようなことはやったことがあるのでちょっとした手がかりくらいはお手伝いできかなぁ(^^;

 で、今日はというと、主に昨日の打ち合わせで出てきた仮称No.15のシステムの不具合の修正を始めました。
 あとは、再来週納品予定のシステムのマニュアルをちょっと直す必要が出てきたので、作るのは私じゃないのですが、前回のマニュアル製作同様、私が監修(?)するので、その打ち合わせやダメだしをやったりしてました。

 今日はちょっと遅くなってしまいましたが、今日こそはP/ECEの拡張端子ネタの続きがしたくて、家に帰ってからちょっとやってました。

 昨日まではどうやってもデバイス側から反応が無く、半ばお手上げ状態でしたが、今日はひとつずつ原因と思われることを見当付けて色々試した見た結果、ようやく反応が返ってきました(T^T

 原因は私の勘違いが主に占めていまして、原因がわかってから考えると当然と思えるようなことを勘違いしていたわけで、ちょっと情けない感もありますが原因に気付いてよかったです(^^;

 ちなみに、この原因のキーワードはダミークロック。
 一応完成できると確信が持てる、または当初考えていた目的通りには行かないと判断するまではちょっと内容的には内緒でこのネタはやっていこうと思っているので、詳しいことは書きませんが、あんな薄っぺらい板の中にはクロックジェネレータなんて入ってないということですかね。

 で、毎度のごとく、デバイス側からの特に何の意味も無い反応を、嬉しさのあまり延々と繰り返し見続けていましたとも、ええ。

 というわけで、今日はおしまい。
 明日は先日打ち合わせしてきた仮称No.15の仕事の続きをする予定です。

 それではおやすみなさーい。

2003/12/03()
 アンチエイリアスな日でした(^^;
 今日は朝から社長とお客様のところに色々今後のスケジュールなどの打ち合わせに行ってきました。
 打ち合わせは朝から夕方5時頃まで続いたので、結構疲れました(^^;
 
 で、会社に戻ってからは昨日がんばって開発を進めたActiveXを先方に送って今日はおしまい。
 今日は夕飯が遅くなったけど、嫁さんと外に食べに行って家に帰りました。

 帰ってからは、なんか掲示板の方にプログラムの質問が来ていたので、その回答用のプログラムを作って確認し、お返事を書いて今日はもう寝ました。

 質問はGetGlyphOutlineを使ってのアンチエイリアス文字の描画について。
 これは以前にこの日記でDirectX用のアンチエイリアス文字描画ルーチンについて書いたものが検索にヒットしたらしく、ついこの間もその日記について問い合わせがあったので、意外に見てる人がいるもんですねぇ。

 ついでなんで、掲示板に答える時に書いたソースをそのまま載せちゃいます。

Private Sub Command1_Click()

    Dim mat As MAT2
    Dim uicharacter As Long
    Dim dsize As Long
    Dim pBMP() As Byte
    Dim gm As GLYPHMETRICS
    Dim Align As Integer
    Dim x, y As Integer
    Dim color As Integer

    With mat
        .eM11.Value = 1  '-1にすると左右反転
        .eM12.Value = 0
        .eM21.Value = 0
        .eM22.Value = 1  '-1にすると上下反転
    End With

    'GetGlyphOutlineは1文字ずつしか扱えません
    uicharacter = Asc("あ")

    'データ格納に必要なサイズを計算
    'フォントの種類、サイズ等はForm1のフォント設定に依存します
    dsize = GetGlyphOutline(Form1.hdc, uicharacter, _
                            GGO_GRAY4_BITMAP, gm, 0,Null, mat)

    '必要なサイズのメモリを確保
    ReDim pBMP(dsize)

    'アンチエイリアス付きの文字DIBデータを取得(1ピクセル=1バイト)
    'GGO_GRAY4_BITMAPだと、17階調(0〜16)のアンチエイリアスになります
    GetGlyphOutline Form1.hdc, uicharacter, _
                    GGO_GRAY4_BITMAP, gm, dsize,pBMP(0), mat

    '1行のバイト数を算出(4バイト境界になります)
    Align = CInt(((gm.gmBlackBoxX + 3) \ 4) * 4)

    '取得した文字DIBのアルファ値を利用してアンチエイリアス文字を1ピクセルずつ描画
    'ちゃんとした描画位置を計算するには、以下のサイト等の計算式を使用してください
    'http://home.att.ne.jp/yellow/hide_n/programming/tips08.html
    For y = 0 To gm.gmBlackBoxY - 1

        For x = 0 To gm.gmBlackBoxX - 1

            '色は白地に黒になります
            color = 255 - pBMP(y * Align + x) * (255 / 17)
         
            'Form1のScaleModeはピクセルにして下さい
            Form1.PSet (x, y), RGB(color, color, color)

        Next x

    Next y

End Sub

 これはVB用のコードで、実際はAPIを使う為の宣言を標準モジュール等に追加しないといけないのですが、そこはちょっと割愛させて頂いて、フォームにコマンドボタンを1つ置いた状態で、コマンドボタンのイベント内で以下の処理をすると、フォーム上にアンチエイリアスのかかった文字を描画することができます。

 ただし、フォームのScaleModeをピクセルにして、フォントもサイズを大きく変更しないと分かりにくいです(^^;

 これは以前に書いたDirectXのものを簡単にしたようなものですが、やはり1ピクセルずつ描画していくのでちょっと遅いと思います。
 たぶんもっと高速に描く方法があるんじゃないかと思うのですが、無いのでしょうか? うーん。

 ちなみに実行した画面はこんな感じ。

 

 で、拡大するとこうね。
 

 というわけで、今日はおしまい。今日もP/ECEの続きはできなかったなぁ。明日こそか。

 それではおやすみなさーい。

0781
2003/12/02()
 今日はがんばりました(^^;
 今日は機能追加の依頼を受けているActiveX開発で、どうも私の環境では再現しない不具合があるようなので、その状態を見せてもらう為、先方の会社にお邪魔して打ち合わせをしてきました。

 結局のところ、こちらのActiveXの不具合と先方のプログラムの組み方の問題で複雑なことになっていたようで、一応原因はわかって対策も打ち合わせで決めたので、これを会社に持ち帰って修正です。

 で、会社に戻ってからはいったん家に帰って夕飯を食べ、明日は朝から別のお客様のところに打ち合わせに伺う予定なのですが、明日までこの不具合のことを引きずるのはなんか嫌なので、ちょっと残業して今日中にだいたいのところは修正し終えて帰ることにしました。

 ほんとは家に帰ってからP/ECEの拡張端子ネタの続きをしようと思っていたのですが、ちょっとできそうもないですね(j−j

 というわけで、今日はおしまい。
 それではおやすみなさーい。

0780
2003/12/01()
 今日はちょっとキレてしまいました(- -;
 はい、今日は旅行休み明け1日目ですが、主にある開発用のデバッグ環境の構築と、年末期限のシステム用のパソコン一式のパーツを買いに行ったり、後輩の先生役をしたり、結構忙しい1日でした。

 で、今日も後輩のC言語の勉強を見ようといろいろ話をしていたときに、なんというかなんか情けない話なのですが、後輩がなんともひどいダメダメっぷりを見せてくれたおかげで、ちょっと怒りが込み上げて来てしばらくお説教してしまいました(--;
 途中でかなり後輩がへこんでしまったので色々フォローはしましたが、ちょっといただけない状況です。

 なんていうか、プログラマになりたいと言ってるくせに、コンピュータ関係のことについて興味が無さ過ぎるんですよ。もう、本当に。無知すぎる。

 もう怒りを通り越して呆れているくらいなのですが、本人がプログラマになりたいと言い張るまではなんとか協力してあげたいものですが、まずは興味を持たせることが必要なのかなぁ。はぁ…… ほんと溜息が出ます。

 と、まぁ今日はそのことが一番の出来事でしたね。
 というわけで、よく分からないまま、今日はこれでおしまい。

 明日は機能追加をしているActiveX開発で不具合が見つかり、こちらの環境では再現しないようなので、その状況を見せてもらいに先方の所までちょっと出張してきます。

 それではおやすみなさーい。