No Such Blog or Diary
C#のお勉強をかねた「最萌カウンタ」
C#を勉強するために何かアプリケーションを作ろうと思い第2回東方最萌トーナメント の集計ソフトの GUI 版を作成してたんだけど,ようやく納得の行く動作のものが出来上がった.
もう,リストアイテムのソートがアルファベット順しかできないだの,アイテムが選択されているのに選択されていないだの,エラーをはいて止まるところをエラーを吐かずに止まったり,コントロールの扱い方がちぐはぐだったりとむちゃくちゃ作成に時間がかかった.最大の原因は MSDN のドキュメントが読みにくいことだろうけど... さらには簡単に使える汎用のレイアウトマネージャがないし... まあ,GUIは GUIのデザイナで作るものなのだろうけど.
そんなこんなで結構な時間が過ぎてしまったのだけど(先週のゆゆ様の試合に間に合わなかった...).デリゲートを使ったイベント処理やら各種プロパティの扱い方など,C#でのプログラミングというものを少しは理解できた.でもまあ,なんとなく Java ほどの完成度ではないなぁというのが素直な感想だろうか?もう少しコントロールを共通に扱えるようにしてほしいなぁ,とか.
とりあえず,ここに出来上がったものをおいとこう.いつの間にやら 3500 行とか行ってるし... saimoe-csharp.zip
- Comments: 0
- TrackBack (Close): -
うどんげは強かった
- 2005-02-20 (Sun)
- 遊び
昨日の第2回東方最萌トーナメントの対戦は初めから終わりまで約2倍の票をキープし続けてうどんげが圧勝してしまった.いや,なんとなくえーりんが勝つのかなぁとも思っていたのでダブルスコアは意外.
- Comments: 0
- TrackBack (Close): -
Ghostscript と Prosper のインストール
ノートPCの再インストールの一過程を記録.
ちょっとバージョンは古いが,日本語をうまく扱う GNU Ghostscript 7.07 Windows 版をインストールする.
とりあえず以下のファイルをダウンロードする.
- GNU Ghostscript 7.07 Windows 版本体(パッチ適用済み) ftp://ftp.t.ring.gr.jp/pub/text/TeX/ptex-win32/gs/gs707w32full.zip
- CMap ファイル(gs-cjk project より) ftp://ftp.gyve.org/pub/gs-cjk/acro5-cmaps-2001.zip ftp://ftp.gyve.org/pub/gs-cjk/adobe-cmaps-200204.zip または ftp://ftp.t.ring.gr.jp/pub/text/TeX/ptex-win32/gs/acro5-cmaps-2001.zip ftp://ftp.t.ring.gr.jp/pub/text/TeX/ptex-win32/gs/adobe-cmaps-200204.zip
そしたらまず,gs707w32full.zip を適当なところに解凍して,展開された setupgs.exe を実行してインストールを行う.もしインストールディレクトリが C:\gs でないときは, gs_res.ps を編集する必要がある.例えばインストール先が c:\ptex\gs ならば,C:\ptex\gs\gs7.07\lib\gs_res.ps の 252行目あたりで
/FontResourceDir (c:/ptex/gs/gs7.07/Resource/Font/) readonly .forcedef % pssys /GenericResourceDir (c:/ptex/gs/gs7.07/Resource/) readonly .forcedef % pssys'p
と変更する.そして,c:\ptex\gs\gs7.07\lib;c:\ptex\gs\gs7.07\bin; を path に追加しておく.
次に,フォント回りの設定をするため,以下のディレクトリを作成する.
c:\ptex\gs\gs7.07\Resource\ c:\ptex\gs\gs7.07\Resource\Font c:\ptex\gs\gs7.07\Resource\CMap c:\ptex\gs\gs7.07\Resource\CIDFont
そして,適当なディレクトリでダウンロードした acro5-cmaps-2001.zip と adobe-cmaps-200204.zip を解凍し, それぞれの CMap というディレクトリを c:\ptex\gs\gs7.07\Resource\ に順にコピーする.最終的に CMap ディレクトリに 217個のファイルが入っていればよい.ここまででとりあえずの設定は終了で,c:\ptex\gs\gs7.07\examples\cjk に移って,
gswin32c gscjk_aj.ps
と実行して正しく日本語が表示されていればよい.
さらに, PDF 作成時にフォントを埋め込まないようにするために,c:\ptex\gs\gs7.07\lib\ps2pdfxx.bat の26行目あたりを
echo -c .setpdfwrite -f %1 >>_.at2
から
echo -c .setpdfwrite ^<^</NeverEmbed [/Courier /Courier-Bold /Courier-Oblique /Courier-BoldOblique /Helvetica /Helvetica-Bold /Helvetica-Oblique /Helvetica-BoldOblique /Times-Roman /Times-Bold /Times-Italic /Times-BoldItalic /Symbol /ZapfDingbats /Ryumin-Light /GothicBBB-Medium]^>^> setdistillerparams -f %1 >>_.at2
に変変更する.(長いけど一行で).確認として c:\ptex\gs\gs7.07\examples\cjk に移って,
ps2pdf14 gscjk_aj.ps gscjk_aj.pdf
でうまく PDF が作成されれば良い.
以上で Ghostscript のインストールは終了したので,次に Prosper のインストールをする.とりあえず http://prosper.sourceforge.net/ から, prosper-1.00.4.tar.gz をダウンロードする.そして,latex のスタイルファイルの置いてあるディレクトリ,例えば C:\usr\local\share\texmf\tex\latex\misc に prosper-1.00.4.tar.gz を展開する.追加のテーマを使うならば,contrib-prosper-1.0.0.tar.gz もダウンロードして prosper/contrib ディレクトリに展開する.
これで Prosper を使うことができるのだが,dvi -> ps -> pdf という変換の際に用紙サイズの指定をきちんとやらないと端が切れることがある.また,しおりが文字化けする可能性もある.そのため,変換は以下のようなコマンドで行う必要がある.
dvipsk -t a4 -Ppdf -z -f test.dvi | bkmk2uni > test.ps ps2pdf test.ps test.pdf
(ひょっとしたら ps2pdf でもサイズ指定がいるのかも...)
- Comments: 0
- TrackBack (Close): -
ノートPCは半年でクリーニング
- 2005-02-18 (Fri)
- 一般
うちの Let's Note は Cドライブ 10G, Dドライブ 20G, Linux 10G というパーティションだったのだけどいつの間にやら C ドライブの空き容量が 100M 程度に... いったい何に 10G も使われているのか非常に疑問ではあるがこれでは新しいコンパイラをインストールできない.ということで, Cドライブを 15G に増量してクリーンインストールに突入.半年で再インストールというノートPCの使い方は正しいのか間違いなのか?一般的な人はどの程度の間隔で再インストールするのだろう?
- Comments: 0
- TrackBack (Close): -
ゆゆ様勝ったー
- 2005-02-18 (Fri)
- 遊び
ということで,100票弱の差をキープし続け,無事,ゆゆ様がレミィを倒して3回戦行きとなりましたとさ.そして姉を負かした次は妹との対戦が控えているとのことで是非ともまた勝って頂きたいものだ.妖夢との再戦だとおもしろいだろうなぁ.
- Comments: 0
- TrackBack (Close): -
C#でGUI
なんとなく C# をいじってみようと思い,先日は CUI で作った 第2回東方最萌トーナメント 途中経過集計プログラムの GUI バージョンを作り始めた.が,しかし,C# でのプログラム作成は初めてのため結構時間がかかってしまっている.というのも,ほとんど Java と同じのりで作れてはいるのだけどリファレンスが MSDN なので読みにくくて... よく目を通す JavaDoc ないし Doxygen の形式に慣れきってしまっているためMSDN では検索効率がかなり悪い.けどまあ,あとはでかい機能としてはグラフ描画だけなのでもう少しで出来上がりそう.
ちなみに,かなりの時間を費やして結局失敗に終わったのはListView のフィールドにラジオボタンとかチェックボックスとか置こうとしたことで,これをやるには WinProc 関数を書き換えるとこまでやらないとできないらしい.ひとつの手としてコントロールを直接上に配置してしまえば見かけ上はうまくいきそうになるが,スクロールとの兼ね合いやカラムの幅の変更などに対応させるのがかなり困難との結論に達した.まあ,DataGrid を使えばいろいろできるのだけれど.
- Comments: 0
- TrackBack (Close): -