現代魔法を操る世界


by kagurayouyou
カレンダー
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

カテゴリ:C#( 5 )

VS2005 DL開始

今日が今年最後の講義です。
別に特別なことが在るわけではないのでサボタージュしたい気分。

ディスプレイは1日から2日で届くそうです。
でも雪でたぶん今日に着くことはありえないでしょうね。
というか今日着かれてもバイトなので夜遅くにしかいないし。
週一のペースで通販していますね。何とか出費を抑えたいところ。

ディスプレイが無いためデスクトップに移行してしまった全てが滞り中です。
と言っても開発系とかだけですが。

Visual Studio 2005 Professionalのダウンロードが20日に開始されています。
(Spokeプレミアムメンバのみ)
これは認証系はどうなっているんでしょう。
たぶん新しくプロダクトキーもらえるんですよね。
そうでなければ出回ってしまうし。(もう出回ってしまっているのかもしれないが)
でもダウンロード1回って言うのが気になる。
つまり失敗したらそれまでってことだよね?サポートはしてくれるのだろうか?
WindowsアップデートみたいにActiveXなどをダウンロードして
ダウンロード失敗したらダウンロード済みにはならないようにはしてあるのでしょうか。
と言ってもすぐには使いませんし。C#2.0に上がったためにFrameworkを
対応させなければなりませんよね?たぶん。
私のPCだけならいざ知らず。他の人は未だにFrameworkを入れていない人も
多いのでまだ2005は使いません。欲しい機能はあるんですけどね。

しかし人工知能の方のクライアントを2005で作りたい気持ちはあるので、
テスト期間中(来年の2月ごろ)に入れるつもりです。
ダウンロードは2月までなのでその前にしておきますが。

ちなみにダウンロードできる物はISO形式なのでCDに焼かなければなりません。
無料のUnix系、Linux系と一緒ですね。
安物のCDを使うとデータが数ヶ月で消えてしまうので気を付けましょう。
[PR]
by kagurayouyou | 2005-12-22 08:08 | C#

Executionerの作成 その1

正式に目処が立ってきたので一応紹介。
一括で起動、終了するソフトが欲しかったので作成いたしました。
これがなかなか無いのです。一応いくつか見つけたのですが、
その前に背景を説明。Windowsでの終了はウィンドウ終了と
タスクトレイを終了する強制終了が必要なのです。
全てを兼ね備えているソフトがありませんでしたので作ることにしました。

現在の段階は
起動部分のGUIのレイアウトとプログラムがほぼ完了。
終了部分のプログラムが強制終了のみ完了と言ったところです。

逆に言えばあと作成しなければならない箇所は、
起動部分のプログラムの便利機能を追加。
終了部分のGUIのレイアウトとプログラムでウィンドウ終了。
あと大体1000行を超えてくるとわからなくなってきますね。
なので名前付けを少しずつしています。

ちなみにGUIの参考はirvineです。
表とリストとツールバーで動かします。

多分完成は来年?
冬休みに向けて大きなレポートが出てきているので。
[PR]
by kagurayouyou | 2005-12-12 09:35 | C#
人工無脳開発。
日本語の仕組み関係の本を図書館で読み漁っている途中で会話関係は現在停滞中。
そのかわりGUI周りとソース周りをきれいにしてみました。
他人に読んでもらうためにいろいろとソースに書き込んでいたら逆に見難くなる罠。
GUIとしてだんだん伺かに似てきました。
ここまで似てくると同じようなSurfaceが使えるようにしたくなりますね。
で現在悩んでいるのが透過の方法。
変形フォーム。というかフォームにはTransparencyKeyによって
透過ができるのに対しpictureboxはできません。どうやらVS2005ではできるらしい。
で変形フォームで一応できるのでしているのですがギザギザが残ってしまう。
画像を扱うならDirectXを覚えてもいいかもしれない。
伺かはどうやっているのかと思えば、多少ギザギザが残っている。
同じなのかもしれない。C#を使っていて便利だと思ったのはVBのTipsが使えること。
大体同じ。Win32APIならば共通だからC++ので分かるし。
しかしどうしても細かいところが違い、しかもなかなか解決しないのはどうしようもない。

ちなみにGUIで現在自分で作っていない画像を使って作っているけど、
もしデスクトップを公開した場合著作権違反になるのだろうか?加工画像として違反?
ちなみにKeyはそもそもペルソナウェアすらだめらしい。
当たり前の話だがちゃんとした公開時には含めませんけどね。
あくまで個人で楽しむ場合はこういうこともできますよって感じで公開したいんだけど。

CirCuit MakerのStudent版がネットで現在手に入らないんだけど、
(もちろんネットなのであるところにはあるのだが)
英語を拙く読んでいるとほぼCirCuit Maker終了と読める。個別のみ。
2年前くらいにDLしていたのを見つけたので私個人としては問題ないのですが、
他の人はどうしているのだろう?
[PR]
by kagurayouyou | 2005-10-26 10:31 | C#

VisualC#でのChasenの使い方

確認はVisual C# 2003です。

ポインタを渡しとか大変そうなのでDLLを使用した方が吉。

(1)茶筌(WinCha)、Comcha.dllをインストール
著作権は各方々にあります。
茶筌(WinCha)…http://chasen.naist.jp/hiki/ChaSen/
ComCha.dll…http://homepage3.nifty.com/hippo2000/

(2)プロジェクト(P)->参照の追加(R)->参照(B)ボタンを押してComCha.dllを選択->OK

以下ソース例

using COMCHALib;

ChasenClass chasen = new COMCHALib.ChasenClass();
string chasenrcdir = @"c:\\progra~1\\chasen21\\dic\\chasenrc";
chasen.Init("-j -r " + chasenrcdir + @" -F %M,%y,%H\n");
string chaanlyze = chasen.Analyze("お早う御座います").ToString();

注意点。
string chasenrcdir = @"c:\program files\chasen21\dic\chasenrc";
のデフォルトパスではファイルが見つかりませんとなります。たぶん空白の所為。

ってこれを書いているとき茶筅とすると字が間違っていると気づき、
"茶筌 C#"で検索するとこちらの方に
http://members9.tsukaeru.net/daina_k/
茶筌forC#があるじゃないですか。ComCha.dll同じくDLLを追加するタイプ。
こちらの方がよりC#での使い勝手がに良さそうかも。
というかC#用の説明があるのでそこらへんが嬉しい。
ああ、ずっと"Chasen C#"などで検索していましたよ。
全然検索引っかかりませんでした。あほな苦労をしていました。

現在のところ活用も解析して欲しいと",%T,%F"を追加しているのですが、
どうもうまく動作してくれません。コンマの数が変わったりとか改行されないとか。
そもそも"%H"というオプションをWinChaで見かけない辺り、
やっぱり説明書を読まないといけないのかも。また勉強します。

追記。
マニュアルを見ると%FcでOKだった。私が使っているのが
" -F %m,%y,%H,%Fc\n"です。見出し(出現形)、読み方、品詞、活用形です。
茶筌forC#はソースまでついているのでとても感謝します。
サーバを立てるのがめんどくさいので学校のパソコンでRubyを探したら、
Windows機でCygwinにしか入っていなかった
(しかも共同用なので電源消したら終了)研究室に配属されるまで我慢です。
[PR]
by kagurayouyou | 2005-10-05 10:32 | C#
プログラミングTipsならやっぱりまとめた方が良いと思いカテゴライズ。
ちなみに使用はVisual C#.Net2003。
記念すべき第1回はchasen.dllが使えないという悲しい話。
C#でDLLを使うのは初めて(今まで使ってこなかったのがすごい(笑))
VBならComChaとかもあるし便利そうなんだけど、あれを使った方が早いのでしょうか?
で以下作成中のソース。
----------------------------------------------------------------------
[DllImport(@"C:\Program Files\chasen21\dll\chasen.dll")]
private extern static int set_argument_parameters(int argc, string argv);
[DllImport(@"C:\Program Files\chasen21\dll\chasen.dll")]
private extern static string analyze(string input);

public string Response(string response)
{
 set_argument_parameters(3,"-F%m %P-\n");
 response = analyze(response)+\r\n";
 return response;
}
----------------------------------------------------------------------

でset_argument_parametersでエラーが出てしまう。
analyzeは一応エラーが出ずに返してくれている。
このままでも使えないこともないわけで(正規表現で品詞を抜き出すだけだし)
デリゲートとかをよくわかっていないのが原因なのだろうか?
stringをcharにしないといけないわけ?(char[]にしてみたけどエラー)

chadll.hには
----------------------------------------------------------------------
__declspec( dllexport ) int set_argument_parameters( int argc, char** argv );
__declspec( dllexport ) char* analyze( char* input );
----------------------------------------------------------------------

誰か教えて下さい。
ってどこかに投稿した方が良いのだろうね。
でも投稿しないのはいずれはLinuxで本体動かして独自のプロトコルというか
コマンドメッセージを作ってクライアントとやりとりすると言う形にしたいので、
クライアントのC#ではchasen.dllを読み出さなくてもよくなる形にしたい。

思うにCが一番楽。C++ではなくC。しかしCだけでは作りたい物が作りにくい時代。
ちなみに開発進度はGUIの基本機能部分は完了していて、あとは会話のみ。
と言っても人工知能などでそれが一番大変なのですけどね。
私用として絵はゲームのを使ったりしているので問題ないですけど、
他の人に見てもらうときはそれはまずいと思うので、発言+ログ部分のみのGUI。
絵の表示フォームとはセパレートを想定して作っているので問題は無いと思う。

追記。
どうやらanalyzeの方も失敗。数回するとエラー。型の問題でしょうか。
[PR]
by kagurayouyou | 2005-10-02 06:22 | C#