何か創りたい。
http://toshirr.blog13.fc2.com/
* Toshi's Recess Room - Toshi Creates. - 2008年03月 の記事 /
<< 2008/02 - 2008/03 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 31 - 2008/04 >>

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[ No. ]
[ 日時 : --/--/-- (--.) --:--:-- ]
[ カテゴリ : スポンサー広告 ]


平成二十年度へ

長かった感も短かった感も否めない平成十九年度も今日が最終日。
あとわずかな時間で二年生とか全くもって信じられません。始業式になったら信じられそうです。

これまでの一年一年、経験したことの無いことがたくさんあったので、
きっと今年度もそうなるものと信じます。
スポンサーサイト

[ No. 688 ]
[ 日時 : 2008/03/31 (Mon.) 22:31:32 ]
[ カテゴリ : 心情 / 情況 ]
[ コメント : 1 ]
[ トラック バック : 0 ]


StatusFlag Version 2.1.3 / 1.83(BlogPet)

Toshiの「StatusFlag Version 2.1.3 / 1.83」のまねしてかいてみるね

ユーザーの需要はまだまだ512MBで頑張ってなかった、名前空間を2.1.3でなんかつくる(自分の代わりにグラフが正常に書き換えたりといったものです。
・.3で何よりです♪
・.3でプログラム内部の方の需要はあるかもという淡すぎる期待)まとまらないので動作確認できませんでした、物理メモリを頂き、メールを使うようで何よりです。
・StatusFlagの次期バージョンを送ってなかった、静的メンバ・メソッドをつくる(あれNETに動作しましたが、物理メモリを作ったりといったものです。
・WPFでは正常に行くとか言ってないので動作しなあ)・StatusFlagの次期バージョンをVisualC++ではキツいだろうに常駐はキツいだろうに書き換えたり、物理メモリを最適化したら何が正常に行くとか言ってなかったが、名前空間を最適化してなかった、としてなかった。
ところで次にソフトを最適化しているので動作してないので全部保留で頑張っているように)まとまらないので全部保留で開発(自分の環境で頑張ってない不具合報告の構造を使うようで頑張ってなかっただけです。
以前の次期バージョンをVisualC++で開発(あれNETで頑張っているようで。
ところで次にソフトを作ったりといったものです!!
私はまだまだ512MBでなんかつくる(あれNETにしたら何が正常にしてなかった、名前空間を修正したが、とありますがいいか♪
以前の次期バージョンを最適化したら何が、物理メモリをつくる(あれNETに表示されない不具合報告の代わりに常駐はあるかもという淡すぎる期待)・WPFでプログラム内部の環境でなんかツール系を2GB以上搭載しなあ)まとまらない不具合を頂き、としたら何が正常に動作したら何が、静的メンバ・メソッドを最適化しなあ)まとまらないので全部保留でプログラム内部の需要はあるかもという淡すぎる期待)まとまらないので動作しなあ)・.3で頑張ってくださったが、メールを送ってなかった。
以前の需要はまだまだ512MBで頑張ってなかった?→さすがに行くとか言っても誰かの代わりにグラフがいいか。

*このエントリは、ブログペットの「Overhand」が書きました。

[ No. 687 ]
[ 日時 : 2008/03/28 (Fri.) 07:56:47 ]
[ カテゴリ : BlogPet / 未分類 ]
[ コメント : 0 ]
[ トラック バック : 0 ]


StatusFlag Version 2.1.3 / 1.83

ユーザーの方から不具合報告のメールを頂き、
物理メモリを 2 GB 以上搭載している場合にグラフが正常に表示されない不具合を修正しました。

GlobalMemoryStatus / MEMORYSTATUS の代わりに
GlobalMemoryStatusEx / MEMORYSTATUSEX を使うようにしただけです。
私はまだまだ 512 MB で頑張っているので動作確認できませんでしたが、
メールを送ってくださった方の環境では正常に動作しているようで何よりです。

それと、Version 2.1.3 でプログラム内部の構造を最適化した、とありますが、
静的メンバ・メソッドを使うように書き換えたり、名前空間を作ったりといったものです。
以前のコードよりよっぽどいいです。

ところで次にソフトを作るとしたら何がいいか。
・StatusFlag の次期バージョンを Visual C++ で開発
(あれ?.NET に行くとか言ってなかった?→さすがに常駐アプリはキツいだろうに)
・WPF でなんかつくる
(正直あんまり分かってないしなあ)
・.NET でなんかツール系をつくる
(自分の需要は無いにしても誰かの需要はあるかもという淡すぎる期待)

まとまらないので全部保留で。

[ No. 686 ]
[ 日時 : 2008/03/26 (Wed.) 01:06:57 ]
[ カテゴリ : プログラミング ]
[ コメント : 1 ]
[ トラック バック : 0 ]


オン(BlogPet)

きょうOverhandは、オンに開発するはずだったの。

*このエントリは、ブログペットの「Overhand」が書きました。

[ No. 685 ]
[ 日時 : 2008/03/21 (Fri.) 07:39:14 ]
[ カテゴリ : BlogPet / 未分類 ]
[ コメント : 0 ]
[ トラック バック : 0 ]


至れり尽くせり

覚書です。

System.Windows.Forms.WebBrowser で IE コンポーネントを扱うことはできるわけですが、
別の方法として、ツール ボックスに COM コンポーネントの "Microsoft Web Browser" を追加し、
それを利用する方法もあります。Web Browser に対して細かな処理を行いたい場合は
こっちの方がいいでしょう。

プロパティ ウィンドウのイベント ページで扱えるイベントも、
IE 6 の DWebBrowserEvents2 相当のものはすべて扱える上に、
IE 7 のある環境では更に増えています。要するにすべて扱えます。

というのも、これは COM コンポーネントとしての IE コンポーネントをそっくりそのまま
フォーム上のコントロールとして扱うことができるようになっているからです。

プロジェクトの参照設定を見てみれば、AxSHDocVw と SHDocVw が追加されていますね。
これは COM コンポーネントをコントロールとして扱うためのおまじないが入っています。
そして、ビルドされたアプリを実行するには AxInterop.SHDocVw.dll と Interop.SHDocVw.dll が
必要となります。おまじないのためです。

これらの DLL は、VS のツールである aximp / tlbimp が、ツール ボックスにコンポーネントを
追加する段階で作ってくれます。

このうち aximp は、/source を引数に与えてやるとビルドされた DLL のソースを書き出します。
これをプロジェクトに追加してそれなりの設定をすれば、AxInterop.SHDocVw.dll は不要になります。
が、それなりの設定の部分についてはまだ分かりませんので調べておきます。

ここまでツールがやってくれるとは圧巻です。

[ No. 684 ]
[ 日時 : 2008/03/17 (Mon.) 21:56:11 ]
[ カテゴリ : プログラミング ]
[ コメント : 1 ]
[ トラック バック : 0 ]


位置(BlogPet)

きょうOverhandがToshiと位置する?

*このエントリは、ブログペットの「Overhand」が書きました。

[ No. 683 ]
[ 日時 : 2008/03/14 (Fri.) 07:56:28 ]
[ カテゴリ : BlogPet / 未分類 ]
[ コメント : 0 ]
[ トラック バック : 0 ]


TabDrive Version 1.0.0.0

あまりに基本的な機能しか備えていないテキスト エディタ、TabDrive を公開しました。
他のソフトと違って Version の桁が多いのは、.NET の方式に合わせたからです。

.NET に慣れるためという当初の目的。
これは一部分において大幅に達成されたといっても過言ではないでしょう。
一部分とは System.Windows.Forms あたりです。
その他のクラスも勿論使っていますが、特に酷使したのがコレです。当たり前ですね。
お陰でかなり学ぶことができました。十分な役割を果たしています。

さて、コレを踏まえて自分の需要を見つけ出し、新たなソフトを開発したいところです。
それまでは、開発後記という形で TabDrive についてブログを書いていきたいと思います。
これは書く暇のあるときにどんどんと書いていくつもりですが、
Toshi's Recess Room の更新自体はぴったり 2 ヶ月ぶりとなってしまいました。
おそらく今後もバージョン アップによる低頻度な更新が大半を占めるはずです。
ご了承ください。

では最初の開発後記。

まず、UI の構築にかなりの時間を掛けました。
メイン メニューの項目、ツール バーの項目は、検討しまくって現在の形となりました。
どんな機能を詰め込むか、まあ自分が常用するような目的で開発しているのではないので、
裏を返せば自分が常用するような目的で開発しているのではないからこそ、じっくり考えました。

ウィンドウの位置の保存は先にブログに書いている通り、P/Invoke を利用しています。
他にも、クリップボード ビューア チェインや SendMessage などのために
色々な宣言と実装をしています。細かいところでは [最近使ったファイル] に表示するパスを
縮めるため、といった部分もです。

しかしまあ、デザイナの威力・魔力・機動力に感謝・感服です。
GUI を作るための GUI としてその名を轟かせているだけあります。

さて次の後記に何を書くかは未定な上に、何回書くかも未定です。
突然の終了さえシナリオとしては十分範疇内の出来事ですが、基本継続の姿勢を貫きます。

[ No. 682 ]
[ 日時 : 2008/03/13 (Thu.) 19:29:41 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 0 ]


自己中エディタ

順調なことにエディタの開発が進んでいます。

このエディタにどの程度の機能を付けるか、コレは開発当初から色々考えていました。
まず最低限必要であろう検索や置換などは実装を決定し、完了しています。
日付・時刻の挿入あたりはめんどくさくなさそうなので実装しています。
その他、めんどくささが個人的に決めた閾値を超えない機能だけ実装しようという、
なんとも自己中なエディタになります。

例えば現時点ではシフト JIS のテキストだけを扱うようにしています。
今後、UTF-8 とか EUC をサポートする可能性もゼロとはいえませんが、
今のところ閾値を超えちゃってます。
ただ、いざ実装する場合はとことん突き詰めるような感じになると思います。

.NET を理解するために開発しているという目的。
でも、せっかくなので普遍的な機能ばかりでなく個性的な機能も付けていきたいものですが、
いかんせんそういうインパクトのある機能というのは思いつきません。
そのうち閃くと信じて続けていきます。

[ No. 681 ]
[ 日時 : 2008/03/11 (Tue.) 19:23:49 ]
[ カテゴリ : プログラミング ]
[ コメント : 1 ]
[ トラック バック : 0 ]


マーシャリング

フォーム上の TabControl に TCM_ADJUSTRECT メッセージを送ろうとしました。
所詮元は SysTabControl32 です。

.NET でこれを行おうとすると、ある程度の手順が必要になってきます。

まず RECT 構造体を受け渡ししなければなりません。
以前 Get / SetWindowPlacement API の呼び出し時に ref の参照渡しを利用しましたが、
これは宣言上で ref WINDOWPLACEMENT になっていたからであり、
TCM_ADJUSTRECT で使う RECT のポインタは SendMessage API での lParam に渡すわけで、
その lParam は ref でもなんでもなくただの IntPtr なのです。

参照渡しが使えないと事態は急転を迎えます。

いや、まあ、SendMessage の 宣言の IntPtr lParam を ref RECT にしたバージョンを作って、
それを呼ぶ手もあります。でもなんか負けた気がします。
これを構造体を利用するメッセージを送るたびにやってたら収拾が付きません。
なので頑張って IntPtr で渡します。

まずはコード上で扱っている RECT がマネージドであることを考えます。
しかし渡す RECT はアンマネージドです。この埋まらない溝を埋めなくてはなりません。

ここで System.Runtime.InteropServices.Marshal クラスです。
AllocHGlobal でメモリを確保して IntPtr 型の戻り値を有り難く頂き、
StructureToPtr でマネージド→アンマネージドな RECT を作り、
ここで SendMessage します。lParam はもちろん上記の IntPtr。
PtrToStructure でアンマネージド→マネージドな RECT へ戻し、
FreeHGlobal で使ってた領域を解き放ってあげます。

たぶんこんな感じでしょう。私の環境ではきちんと動作しましたが不安を残します。

[ No. 680 ]
[ 日時 : 2008/03/09 (Sun.) 23:20:48 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 0 ]


もう一年経ったか

学年末考査も今日を持ってフィナーレです。大団円です。

公立高校故に入試が月曜日と迫っています。そこから一週間学校は休み、
修了式後は春休みです。離任式もあります。これだけならいいのですが宿題もあります。

もう一年が終わってしまうわけです。楽しいこと、大変なこと、面白いこと、キツいこと諸々含めて進級です。
仮進級にはならないはずと信じています。

ということでエディタ開発もどんどん進めていけそうな期待です。

[ No. 679 ]
[ 日時 : 2008/03/07 (Fri.) 23:43:02 ]
[ カテゴリ : 学校ライフ ]
[ コメント : 0 ]
[ トラック バック : 0 ]


終了(BlogPet)

きょう、Toshiとイベントも努力されたみたい…
だけど、きのうOverhandが、プログラムしたいです。
それでカーソルが終了したよ♪
それで考えとか勉強する?

*このエントリは、ブログペットの「Overhand」が書きました。

[ No. 678 ]
[ 日時 : 2008/03/07 (Fri.) 07:30:43 ]
[ カテゴリ : BlogPet / 未分類 ]
[ コメント : 0 ]
[ トラック バック : 0 ]


アプリケーション設定で自作の型を使う

充実している Visual Studio 2008 の IDE ですが、気になる部分もあります。

アプリケーション設定(通常は Properties - Settings.settings)を編集するには、
通常 [設定デザイナ] というものを使います。ところがその GUI 上では自分で定義した型を設定に使えず、
使えるのはクラス ライブラリで定義されている型のみです。
列挙型を自作して使おうとすると、設定上の型は int (System.Int32) にして、
コード上ではキャストして使うなどしなければなりませんでした。

そこで、Settings.settings の実体が XML であることに注目です。
[ファイルを開くアプリケーションの選択(N)...] から XML エディタを選択し、
該当する部分の System.Int32 を自作の型、
例えば MyApplication.MyClass.MyEnum というように書き換えます。
念のため、一旦設定デザイナ上でもきちんと表示されていることを確認します。これでビルド。
これで自作の型をアプリケーション設定で使えます。
勝手に書き換わらない保証はありませんが、今のところ問題はありません。

GUI と XML やら C# コードやらの「生のデータ」のつながりは大事ですね。
IntelliSense なんかは強固なつながりを形成していますし。

[ No. 677 ]
[ 日時 : 2008/03/03 (Mon.) 21:25:28 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 0 ]


リッチ & プレーン

RichTextBox ですが、プレーン テキストしか扱いたくないのです。

さて、この目的を達成するために色々小細工をしました。
発端は、Visual Studio のエディタ上の色分けされたテキストをコピーして RichTextBox に貼り付けたら、
色分けされた状態で貼り付けられたことでした。
せっかく自分でフォントを設定したのに、これでは意味がありません。

RichTextBox.Paste メソッドを使うと、こういうことになります。
クリップボードに RTF 形式のデータがあれば、そのまま持ってきて貼り付けるからですね。
これは当然の動作でしょう。
でもプレーン テキストしか扱いたくないので、代わりにクリップボードから Unicode テキスト形式で
文字列を取得し、RichTextBox.SelectedText プロパティで貼り付けるという手動工作を施しました。
切り取りやコピーに関しても同じことをしました。これらはメニュー バーのコマンドやツール バーのコマンドです。

ということは、Ctrl+X, C, V を使うとあっさり回避されるわけです。
なので RichTextBox.KeyDown イベントも拾いました。

たぶん大丈夫でしょう。

[ No. 676 ]
[ 日時 : 2008/03/01 (Sat.) 13:25:57 ]
[ カテゴリ : プログラミング ]
[ コメント : 0 ]
[ トラック バック : 0 ]


プロフィール

Toshi

  • Author:Toshi
  • 何かを創りたい Toshi の記録


ブログ内の検索


最近の記事


最近のコメント


最近のトラック バック


カレンダー

02 | 2008/03 | 04
- - - - - - 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 31 - - - - -


月別の記事


カテゴリ別の記事


RSS フィード


<< 2008/02 - 2008/03 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 31 - 2008/04 >>
* Toshi's Recess Room - Toshi Creates. - 2008年03月 の記事 /
http://toshirr.blog13.fc2.com/
(C) 2005 - 2009 Toshi, All Rights Reserved.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。