2006.05.16 Tuesday

win32とExcel

ときどき、Excelで作成した帳票をプログラムから読み込めると便利な場合がある。とりあえず、ExcelからCSVで出力させて、あとは、テキストを自力で読み込めばそれで良いんだけど、ちょっとODBCの知識があったら*.xlsのファイルをそのまま読み込むこともそんなに難しくないんだな。

とりあえず、SQLDriverConnect()でファイルをオープンして、あとはSQLAllocStmt()からSQLExecDirect()って流れ。

同じやりかたでExcelファイルに出力もできるはず・・・ 両方あわせて、サンプルでも作るかな。って、Excel形式の入出力がメインなんだったら、素直に、ExcelのVBAで作れって話だよな(´∀`;)
2006.05.15 Monday

win32と文字の縁取り

フォントを表示するときの修飾として、縁取りってどうやってるんだろう? 輪郭を抽出して、中心を調べて・・・ って、まじめにやっても面倒な割にうまくいかなさそう。

で、いろいろ考えたんだけど、これって、単純に何回も重ね書きするだけでOK? 試しに4方向重ね書き&中央に背景色で表示ってのをやってみたら、それなりに見えるものになった。

この考え方を拡張すると、フォントに限らず、1色ではっきりした図形なら何でも縁取りができそう。さらに言うと、複数書く方向を自由に設定できれば、変な形での縁取りも簡単にできそうだな・・・ まぁ、アイデアは出ても、形になるのはいつになるかわからないけどw
2006.05.11 Thursday

win32とグラデーション

グラデーションペイントをするだけのソフトが欲しくていろいろ考えてたんだけど、考えすぎて破綻したので中断。

普通に2色補間は良いとして、スプライン補間とか周期的に繰り返す指定とか、考えてると単なるグラデーションでも奥が深い。塗りつぶしの方も、円形とか多角形とか、やろうと思えばいろいろできるんだな。奥が深い。

こういう機能が充実してるソフトって知らないんだけど、たっかーいペイントソフトを買ってくれば、個人で思いつくような事は全部できたりするんだろうか?
2006.05.10 Wednesday

win32とNTFSとハードリンク&ジャンクション

ふと思い立ってハードリンクとジャンクションについて調べる。いろいろ散らばってるフォルダをまとめれば便利じゃないかと思ったんだけど・・・ ん〜・・・ 70%ぐらいは便利になりそうなんだけど、30%ぐらい、逆に問題が出てきそうだな。

何というか、エクスプローラーがジャンクションの先のファイル削除に失敗するってのが情けなさすぎ。まぁ、これも、マイクロソフトらしいといえばものすごくらしいんだけど。

ん〜・・・ ハードリンクやジャンクション関係のツールを作るより、エクスプローラーの置き換えになるようなファイラーを作った方が便利なのか?w
2006.05.09 Tuesday

win32とGDIオブジェクトと速度2

CreatePen()を試した勢いで、MoveToEx()&LineTo()の組み合わせとPolyDraw()、PolyPolyline()の速度を比較してみた。

常識的に考えるとPolyPolyline()が一番速そうな気がするんだけど・・・ 妙に遅い。むしろ遅そうなPolyDraw()の方が良い結果が出てる。よくわからないなぁ・・・ とりあえず、MoveToEx()&LineTo()でもそんなに遅くないみたいだし、これを使っとくのが無難なのかな。
2006.05.08 Monday

win32とGDIオブジェクトと速度

GW終了。虫歯と風邪で予定狂いまくりだったですよ(´・ω・`)

まぁ、それはともかく。ちょっと気になってCreatePen()とCreateFont()の速度をチェックしてみた。

4万回ぐらいの描画ループで毎回CreatePen()をした場合と、ループの外で作っておいた場合を比較。すると・・・ ほとんど、速度が変わらないという恐ろしい結果が。CreatePen()って、速度ロス無し!? 前と同じならwin32側でキャッシュしてるのかなぁ・・・ 奥が深い。

2000回の文字列描画ループでCreateFont()を回してみると、こっちはさすがに時間がかかってる。CreateFont()はまじめにキャッシュした方が良いってことかな。

それにしても・・・ win32は奥が深いな。
2006.05.02 Tuesday

win32とIntersect

IntersectRect()とIntersectClipRect()。名前は似てるけど動作は全く違う。わかりにくいよなぁ。

元々、オブジェクト指向とか何も考えずに構成されてるWin32のAPIに、こういう文句を言っても仕方ないんだろうなぁ。まぁ、どっちも、そんなに使うAPIじゃないから問題ないかw
2006.05.01 Monday

win32とLOGFONTのlfWeight

LOGFONT::lfWeightに0〜1000の値を設定することで、フォントの太さを変えることができる・・・ と、APIのヘルプに書いてある。本当にそうなのか?

試しに実験してみたんだけど・・・ 400で標準の太さ、それ以上は太字って感じで、数値に敏感に変更される事はない予感。ん〜・・・ まぁ、これも、マイクロソフトクォリティ?
Calendar
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2018 >>
Selected Entries
Categories
Archives
Recent Comment
Links
Profile
Search this site.
Others
Mobile
qrcode
Powered by
30days Album
無料ブログ作成サービス JUGEM