2004-06-01から1ヶ月間の記事一覧

[C#] ファイルをStreamとして扱う

では実際にDドライブの直下にaaa.txtというファイルを作成し、ファイルの中身を a とだけ書き込んで保存して以下のプログラムを実行してみよう。 System.IO.FileStream fs = new System.IO.FileStream(@"d:\aaa.txt", System.IO.FileMode.Open); ReadByte(fs…

[ネタ] ショート

やっちまった。パショコン、いじってたらショートさせてもた。。。おかげで土・日がパー。もう悪夢のようだった。幸い電源ユニットだけ変えれば正常に動作したので、出費自体は6k円だったが、精神的ダメージは計り知れない。ベランダから飛び降りようかと思…

Streamってそもそもなんやねん?

Streamとは流れとか連続とかいう意味である。川で水が流れるように、ハードディスクからデータが流れてきたり、メモリからデータが流れてきたり、インターネットやLANなどのネットワークからデータが流れてきたりするわけである。データを扱う側からすると、…

[C#] でのデバッグ方法

C#ではC,C++の置換マクロは無いのだが、代わりに、[Conditional]属性を付加することによって条件コンパイルが可能となる。(もちろん、#if - #endif で囲んでやる方法でもいいけど、それはダサイ) [Conditional("DEBUG")] void DebugPrint(string s) { System…

[Java] でのデバッグ方法

Javaでは条件コンパイルができないので、こういったことができず、以下のような関数を作って、Release用のパッケージはこのままビルドしたもの、Debug用のパッケージは以下のコメント箇所を有効にしてコンパイルしたもの、 public void DebugPrint(String s)…

[C,C++] でのデバッグ方法

CやC++をやっていた人は、デバッグ用にこんなマクロを何回も書いたはずだ。 #ifdef DEBUG #define DebugPrint(X) printf(X); #else #define DeubgPrint(X) #endif

[C#] イメージデータをTCPでやりとりする

以下の方法でいいのだろうか、、一応できてはいるんだけど。 クライアント側 byte[] buffer = new byte[1024*1024]; System.IO.MemoryStream ms = new System.IO.MemoryStream(buffer); pictureBox1.Image.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg)…

[C#] Image -> Stream

んで、何が言いたかったかというと、ImageデータをTCP/IPで送信したい衝動に駆られて(?)、Image->byte に変換したかったのだが、どうやら直接は無理らしい。そこでいったんStreamに格納して、byteにすればいいのではないかと考えた。Image -> Stream は以…

最初はC++からだったかと・・

C言語が最初に学んだプログラム言語という正統派(?)プログラマは、C++を見て一番最初にめんくらうところは、cout と cin だろう。その後、それらを包括するStreamライブラリの馬鹿デッカサにあきれ返るだろう(ってそれは私だけか・・)。まぁでも、Streamライ…

[C#] ログのとり方

プログラムのログを採取するため、関数の入り口と出口に「START」と「END」とログファイルに出力させたいことはないだろうか?たとえばそのメソッドが、 void func()だとすると、「func start」「func end」みたいなログをとろうとすると、 Console.WriteLin…

[C#] 他のプロジェクトのソースファイルを参照する

みなさんは複数人で開発するときテストコードってどないしておこしてます?たとえば、こういうバッチ的な処理をするプログラムを作成するとしよう。 1. 更新されたファイルを取得する 2. 更新ファイルから更新者を取得する 3. 更新前のファイルと比較して、…

[C#] System.Diagnostics.Process の使い方

C#アプリケーションから別のアプリを立ち上げるときにこのクラスを使用するのだが、どうにもこうにもうまくいかず悩みまくった。 ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec"); ps…

[雑学] 光学マウス

みなさん、光学マウスつこてます?光学マウスってマウスパッドいらんから便利やと思ってたのに、テーブルの上とか表面がきれいなところだと、返って利きが悪くなり、逆に新聞の上とか布団の上みたいなざらざらした表面の方が扱いやすい。普段使用する場所は…

[日記] 日付と話題にズレ

今日が何日かってのがバレてしまうな、これだと (^^;

[C#] デザイナエディタでのコントロールの移動方法

フォームにボタンはっつけたり、エディットボックスはっつけたりするウィンドウのことをたぶんデザイナエディタというのでしょうか?もし違ってたら誰か教えてください。デザイナエディタと呼ぶことにして、それ上でコントロールの配置をしているときに、あ…

[C#] タイマによりボタン押しっぱなしイベントを検知する

昨日の続きで、ボタンを押され続けていたらタイマを発動する簡単なプログラムを作ってみた。1つのボタンと1つのテキストボックスがあり、ボタンが押され続けている間、数字を1ずつ加算しながらテキストボックスに表示していく、というものだ。例によって…

[日記]

布団を干したことのない友人はきのこを栽培している。布団は生命を育む装置なんだな、っと(笑)。

[C#]ボタンに関するマウスイベントはこうなっている

わけあって、ボタンが押しっぱなしの時の処理を書くことになった。標準のイベントではなさそうなのだが、スクロールバーの上下(もしくは左右)にある▲▼ボタンは押しっぱなしにすると、スクロールゲージが移動していく。きっとタイマなどを使ってやらないとだ…

[日記]

服といっても、Tシャツ、靴下、パンツ、、、日用品だな、これじゃ(笑)。

[C#][Win32] 文字列をウィンドウに送信

あるウィンドウ(エディットコントロールなど)に文字列を送信する方法を考えていたのだが、色々調べた結果、WM_IME_CHAR メッセージで、wParam にS-JIS文字コードを指定して、1文字ずつ送信する方法しかないという結論になった。 他の方法として、 WM_SETTEX…

[VC.net]便利なショートカットキー

CTRL+SHIFT+L or SHIFT+DEL 一行削除 CTRL+J インテリセンスのメンバ一覧呼び出し

[C#]画像ファイルの読み込み

そんなわけで昨日の続き(実際には30分後に書いてるけど:p)。 昨日のように、ファイル名をコード中に埋めてしまうと、その後の環境にかなりの制限を加えてしまうことがわかった。なので、なるべくコード中にはそういった環境に左右する文字列を埋め込まないよ…

[C#]ファイルのパス

画像ファイルを読み込んでFormに貼り付ける程度のサンプルプログラムって、WEB上に散見されるものはJPGファイルやBMPファイルのパスを指定して読み込んでいる。絶対パスで指定すると、プロジェクトファイルを他の環境で動かそうとするとマズーだし、実行ファ…

[C#]ArrayList

ArrayListってよく使うのに、http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemcollectionsarraylistclasstopic.asp のサンプルを見ると、データ格納するのに、Add メソッド使わなあかんのかいな…

caseラベルをインデントしない

上のオプション画面の「C#」→「書式設定」に設定箇所がある。 switch-case文の中に、さらにswitch-case文を書く場合や、#region - #endregionコメントを入れると、段落がずれまくるので、caseラベルはインデントしないようにした方が吉。

行番号を表示する

「ツール」→「オプション」→「テキストエディタ」→「C#」→「全般」に設定箇所がある。 これは絶対表示しておいて損はない。 ちなみにこの行番号をクリックすると、その行が選択状態になる。11行目から15行目までドラッグしてやれば、その5行が選択状態になる…

DrawImage(Image srcImage, int dstX, int dstY);

Pointは座標値を取るもので、どちらも同じ働きだ。 描画したいイメージがそのままの大きさで、描画先の指定した座標に描画される。 +---+ | | | | | | +---+ +---------------------+ | | | x,y | | +---+ | | | | | | | | | | | | | | +---+ | | | | | | | …

DrawImage(Image srcImage, Point dstPoint);

オーバーロード多杉[4]

間違って消してもてた orz..

Max, Min

C#

Mathクラスは、名前のとおり、二乗とか対数の計算をしてくれるのだが、2つの値のうち、大きい方、または小さい方を返すメソッド、Max()、Min()というメソッドもある。Mathクラスにこれらのメソッドがあるのってでも、なかなか気づきにくいと思うんだけど、だ…