No Such Blog or Diary
Windowsのコンボボックスのカスタム化
聞かれて調べたのでメモ.
なにやらウィンドウプロシージャを乗っ取るらしい.ただ,コンボボックス内のエディットコントロールは独立したウィンドウプロシージャを持つらしいので,
HWND hwndEdit = GetTopWindow( hwndComboBox );
とかしてエディットコントロールのハンドラを取っとかないとはまる.あとは,GetWindowLong で元のプロシージャを取得して,SetWindowLong で新しいプロシージャを登録して,新しいプロシージャ内で CallWindowProc を使って元のプロシージャを呼べばいいらしい.
参考:
- Comments: 0
- TrackBack (Close): -
FizzBuzz@sed revise
- 2007-02-26 (Mon)
- プログラミング ( sed/wake/awk )
抜かされていたのでもう少しコードを書き換えて小さくしてみた.10と5の最大公約数が5であることを使って5の倍数カウンタを排除して,整形部分をもう少し頭のよい書き方に変えてみた.現在144bytes.今のコードは1000までとかでも普通に動くコードなので,高々100までという問題の条件を使うともう少し縮むのかなぁ?
- Comments: 0
- TrackBack (Close): -
無駄
- 2007-02-25 (Sun)
- 一般
電車使って秋葉へ繰り出して,sed本を少し立読みして何も買わずに帰ってきた.その後一旦家へ戻り,おもむろに自転車で白山やら上野やらへ買い物に… 電車賃の無駄でしかない.
- Comments: 0
- TrackBack (Close): -
FizzBuzz
- 2007-02-24 (Sat)
- プログラミング ( sed/wake/awk )
新しい問題が増えてたので sed で挑戦.とりあえず 1 から 100 までループでインクリメントするカウンタを書いて,それに3周期と5周期のカウンタをくっつけてみた.これに出力の整形部分を書いて 169バイト.ここから縮めるには大き目の書き換えが必要なのでとりあえずこれで出しておく.
- Comments: 0
- TrackBack (Close): -
ゴルフ観戦
- 2007-02-23 (Fri)
- プログラミング
最近のsubmit状況を見たかったのでテキトウに一行書いてみた.
ddd=`awk 'BEGIN{print strftime("%y/%m/%d %H:%M:%S",systime()-3600*24)}'`;awkprog='BEGIN{FS="<>";c=0;}{if($5!=""){if($5 <"'$ddd'"){next}else{r[c]=sprintf("%2d %-15s %4d %s %s",$1,$2,$3,$5,$6);c=c+1;}}else{if(c>0){print n;for(i=0;i<c;i++){print r[i];}print"";};c=0;n=$0;}}';for i in `cat index.html | grep '<li><a href' | sed -e 's|<li><a.*"\(.*\)">\([^<]*\)<.*|http://golf.shinh.org/\1@\2|' | sed -e 's/ /,/g'`; do h=${i%%@*}; n=${i##*@}; wget -q -O temp.html $h; echo "== "$n" ==" | sed 's/,/ /'; cat temp.html | awk '/[0-9]*\/[0-9]*\/[0-9]*/{print}/a href/&&!/tati|Sample|Rank|return/{print}' | sed -e 's#\(<tr>\|</td>\|<td>\)\+#<>#g' -e 's| */ *|/|g' -e 's/^<>\|<>$//g' -e 's/<h3>\([^<]*\).*/\1/' | awk "$awkprog"; done
過去一日以内のsubmitを抜き出してくる.ぼけた頭で組んだので sed にいったり awk にいったりぐちゃぐちゃ.そして transpose も 80bytes から縮まない.別のアルゴリズムでやらないとだめなもよう…
- Comments: 0
- TrackBack (Close): -
ゴルフ続き@sed
- 2007-02-22 (Thu)
- プログラミング ( sed/wake/awk )
Smileys Triangle(40), tennis(229), permutater(118) は一位.delete blank lines(5), even lines(4), invert case(24), delete last line(2), rotate lines(8)は一位タイ.e(102), ultimate problem(3), Fibonacci Numbers(292), exit status(16) は埋め込みで一位タイ.Hamming Numbers(382), show the way(85) は埋め込みで….そして 99 shinichiroes of hamaji は抜かれてるなぁ.もうすこしがんばろう.そういや最近(cheat)を明示するような動きになっているようなので次からはちゃんと書こう.
- Comments: 0
- TrackBack (Close): -