windowsの最近のブログ記事

PCを組んでみた

| コメント(0) | トラックバック(1)
azusa.jpg
  • Intel Core2 Duo E8200E8400
  • DDR2-800 2GB
  • GeForce 9600GT

っていうスペックでPCを組んでみた。久々のWindows機、久々の自作。MacProと並べても(個人的に見て)遜色ないケースにしたかったので、Antec P182を選んだ。高かった。結構ケーブルの取り回しも考えられた作りになっていて骨が折れた。けどまあやはり自分でパーツ選んで組むと愛着が沸くよね、どうしてもね。奮発してパーツそろえたので、長く使えそうな品物になりましたよ。

あ、もちろんM/BはASUSですよ。厨なもので。

Excel雑考

| コメント(0) | トラックバック(0)

ひとが何かを考えながら書きとめるときに、もっとも手軽にその思考を構造化かつ視覚化させられるframeが表組みであり、それにExcelは適しているということなのね。

最近やっとわかってきた。つまり表「計算」言うなってことだ。

http://www.atmarkit.co.jp/fdotnet/dotnettips/392notifyicon/notifyicon.html
システムトレイ(タスクトレイ)にアイコンを表示するには? - @IT

の通りに
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
  e.Cancel = true; // 終了処理のキャンセル
  this.Visible = false; // フォームの非表示
}
とやってると、アプリケーションの終了時など本当に閉じなければならないときすら閉じられずに、永遠にアプリケーションが残ってしまうので注意。正しくはこんなかんじ。
private void Form1_Closing(object sender, FormClosingEventArgs e)
{
    if (e.CloseReason == CloseReason.UserClosing)
    {
        e.Cancel = true;
        this.Visible = false;
    }
}
CloseReasonはUserClosingの他にもあるかも?でもまあWindowsShutdownとかApplicationExitCallとかはthruせんならんよ。。。
詳細はあとで書く。
        private void button1_Click(object sender, EventArgs e)
        {
            ADODB.Connection conn;
            ADODB.Recordset rset;

            conn = new ADODB.ConnectionClass();

            string path = "foobar.mdb";

            conn.Open("Provider = Microsoft.Jet.OLEDB.4.0;Data Source = '" + path + "'", "", "", 0);

            rset = conn.OpenSchema(ADODB.SchemaEnum.adSchemaTables, Missing.Value, Missing.Value);

            while (!rset.EOF) {
                Console.WriteLine("name: " + rset.Fields["TABLE_NAME"].Value);

                rset.MoveNext();
            }
        }

http://www.atmarkit.co.jp/news/200703/29/ms.html
「Visual Studio」発売10周年を高らかに宣言、MS - @IT

「Orcas(=次期VisualStudio)は今年末までにリリース」だそうです。注目しときましょ。

VCLさんごめんなさい(何)

| コメント(0) | トラックバック(0)

VCLに罪はなかったす。

あの後Visual C# .NETでも同じように組んでみたらやっぱりTextChangedイベントが起こってアウトでした。orz

つーわけで色々と思考を重ねた結果きっとこれはVCL/.NET適合なMVC(と言えるかどうかも微妙だけど)の組み方をしてないからだろうという結論に至る。郷に逝ってはというやつですか。

http://www.codeproject.com/csharp/model_view_controller.asp
Model View Controller (MVC) Using C#, Delegates and Events in .NET [THE CODE PROJECT]

などにあるサンプルでよく見るパターンだと、store(View->Model)を(Text)Changedイベントで直接Modelに作用させることはせずにそのままにしておいて、「OK」ボタンや「適用(Apply)」ボタンなどのClickイベントによってstoreするという流れになっている。これならstoreの還流が起こることもないわな。ガッテンガッテン。

そうだ。文字符号においては8ビット即ち「バイト」じゃなくて「オクテット」と呼ぶべきなんでしたよね。いかんす忘れていましたよ。

http://itpro.nikkeibp.co.jp/article/NEWS/20061122/254691/
日本語文字セットがVista最大の問題として急浮上 [ITpro]

自分自身覚えてること思い出しながら並行してぐぐりながらではありますが:

  • そもそも字形(グリフ)の変更と新字の追加は話題としてまず最初から分離しましょうよ。
  • 「追加される新しい文字の一部をUnicodeで表現すると、通常の2バイトではなく4バイトで表現」この記事おそらく最も意味不明なところ。Unicodeはずいぶん前から多バイト(オクテット)文字集合なんですけど。
  • あと文字符号が何ぼだろうとエンコーディングが何になるか分かんないとどーとも言えないんですけどね。今までだってUTF-8使ってれば平気で3バイト(オクテット)でばんばん届いてたりするわけだし。
  • 新字対応は確かに厄介なんで、対応する必要ありますよね。プリンタにフォントインストールするとか、方法がないわけじゃないと思いますけど。
  • 「カラムの長さを固定しているデータベースに、4バイト文字を登録するようなケース」…うーん、たとえば確かMySQL 5.xなんかだと文字列カラムはバイト数じゃなく文字数を使うようになったDBもあるし、Oracleとかはよく知らないけどそこは何とも言えないなあ。それでも何割かはそうしたケースに当てはまる?かな?そんときゃUnicode使うのに2バイトを当て込んだ担当者の不明を罵るか、不運を嘆くしかないかと。
  • SJISで送り込んでたら4バイトにはならないし、まぁそれでいんぢゃね?
  • つかフロントエンドで「はねる」とか、そもそもあまり期待しないほうがいいんじゃないかと。従来のC/SとWebUIの世界だとそれぞれまた前提が違ってくるだろうけど。
  • 記事中、4バイト(オクテット)になりうるのはUnicodeであってSJISもとは一言も言ってないが、「2バイトで表現できない文字は、JISの第三水準、第四水準の文字の一部なので」…と来ると一瞬あれ?と思ってしまうじゃないですか。おい。いいのかよ。

うーむ。書いてて俺自身よく分かんなくなってきた。日経のこの記事がおかしいことは分かるんだが、どこまでおかしいかがいまひとつ分からないや(苦笑)。やっぱ一度復習しよ。

IE7Beta2

| コメント(0) | トラックバック(0)

...を、アンインストールしました。;-)

多少表示が崩れるくらいは気にしない私ですが、だいぶその回数が目立つようになり、さらに表示自体ができないことが多くなってきたので、やむなく削除。IE6に戻しました。ああそうそう、MTのメニュー表示はどうも壊滅的でしたね。;-)

リロードすると表示が直ったりすることもあったので、どうもキャッシュがおかしくなってたのかなあ?

このアーカイブについて

このページには、過去に書かれたブログ記事のうちwindowsカテゴリに属しているものが含まれています。

前のカテゴリはtechです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.04