トップページ⇒tech
1001コメント291KB

ふらっとC#,C♯,C#(初心者用) Part21

■ このスレッドは過去ログ倉庫に格納されています
0001ななしぃ#2007/11/18(日) 15:53:41
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

前スレ: ふらっとC♯, C#(初心者用) Part20
http://pc11.2ch.net/test/read.cgi/tech/1191036844/
0313デフォルトの名無しさん2007/12/03(月) 15:51:42
>>312

それはジェラート。
0314デフォルトの名無しさん2007/12/03(月) 16:19:29
string data = "M-SEARCH * HTTP/1.1\r\nMX: 3\r\nHOST: 239.255.255.250:1900\r\nMAN: \"ssdp:discover\"\r\nST: urn:schemas-upnp-org:service:WANIPConnection:1\r\n\r\n"

もたいな文字列が在る場合。↓みたいな感じで表示するにはどうすれば良いですか?

M-SEARCH * HTTP/1.1\r\n
MX: 3\r\n
HOST: 239.255.255.250:1900\r\n
MAN: "ssdp:discover"\r\n
ST: urn:schemas-upnp-org:service:WANIPConnection:1\r\n
\r\n
0315デフォルトの名無しさん2007/12/03(月) 16:25:33
\r\n→\\r\\n\r\n
0316デフォルトの名無しさん2007/12/03(月) 19:24:06
>>309
夢幻ループ化。

処理をWindowsに返さないといけないんです。
Windowsから仕事しロッテ言われてから動けばいいんです。
自分から動きたい場合は、そのタイミングで呼び出してもらえるように約束を取り付けておけばいいんです。
0317デフォルトの名無しさん2007/12/03(月) 21:27:09
>>309
GUI関係ないだろ・・・
Timer使え
0318デフォルトの名無しさん2007/12/03(月) 21:49:01
すいません質問です。
名前空間は、団体名. 技術名. 分野と記述するのが推奨だと始めて知ったのですが、
普通はこの形式で名前空間定義をしているのでしょうか?
0319デフォルトの名無しさん2007/12/03(月) 21:53:09
そうです。
0320デフォルトの名無しさん2007/12/03(月) 21:59:43
そうでもないよ。
0321デフォルトの名無しさん2007/12/03(月) 22:10:15
楽しいか?
しかし、どこのスレも下らん馴れ合いで嬉しくなっちゃう単細胞な馬鹿が多いな。
0322デフォルトの名無しさん2007/12/03(月) 22:19:57
アンマネージdllはdllimportで呼べるそうですが、これを使えばいちおう理論的には全てのdllを呼べる、というわけでもないんでしょうか?
ググるといろんなサイトや掲示板で、Cなどで作ったdllのimportに苦労してる人がけっこう見つかります。
でも、アドバイスしてる人も“難しい”とは言いますが“不可能”と言ってる人は見かけません。

理論的に不可能ではないが、非常に難しい場合もある、ということでしょうか?
0323デフォルトの名無しさん2007/12/03(月) 22:36:55
>>322
Cのdllなら基本的に難しいことはないと思うが・・・。
C++のクラスライブラリをインポートするのは不可能。
03243222007/12/04(火) 01:13:57
>>323
引数が構造体だったりすると大変にならないですか?
実は以前、他所様のCで書かれたdllを使おうと試みたんですが、
引数の構造体の中身が分からなくて断念したことがあります・・・
私の能力が至らないだけで、本当はできるんでしょうか?

>C++のクラスライブラリをインポートするのは不可能。
え、そうなんですか?すいません、どうして不可能なのか簡単に教えて頂けないでしょうか?
0325デフォルトの名無しさん2007/12/04(火) 01:24:16
C#のここで質問していいか迷うけど
C#でプログラミングしてるからここに。

TcpClient使ってネットワークストリームから出力すると
レスポンスヘッダと内容自体がいっしょくたになるけど
これをレスポンスヘッダと内容を効率よく分解する方法ってない?
TcpClient以外を使うっていうのは無しで。
0326デフォルトの名無しさん2007/12/04(火) 01:29:44
>>324
C++のABIは標準化されてないから
0327デフォルトの名無しさん2007/12/04(火) 02:19:00
>>324
構造体なんて定義すればいいだけだよ
C同士だって構造体の中身がわからなければ何もできないでしょ
03283222007/12/04(火) 02:51:26
>>326
アンマネージなC++クラスライブラリだと駄目ってことでしょうか?
やるとしたら、マネージなのに作り直すか、クラスを使わないようにする、という認識で合ってますか
0329デフォルトの名無しさん2007/12/04(火) 02:55:37
あってる
もちろんクラスをマネージコードとやりとりしなければいいのであって、DLL内だけで使用する分には問題ないよ。
0330デフォルトの名無しさん2007/12/04(火) 03:14:46
C++/CLIでラップすればいいんじゃねえの
0331デフォルトの名無しさん2007/12/04(火) 04:49:49
C++クラスのDLLをC#から直接呼び出すのは、
DllImportのCallingConvention.ThisCallを使えばできるが、
ファクトリや開放用のメソッドが必要になったりで
正直おすすめしない。
03323222007/12/04(火) 06:09:38
>>327
いや、中身が分からないんです。非公開というか勝手に使ってるだけなので。
で、もう一度トライしてみたらできました!朝までかかってしまいましたが・・・
dll内の関数の引数や返り血が構造体のポインタなのですが、C#のほうで適当に
 struct hoge{};
と空っぽの構造体を作ってしまいました。とりあえず正常に動きました!(´∀`)ヤッター
でも、何故これで動くのかあんまりよく分かってないのですが、このまま使って大丈夫でしょうか??
unsafeでやってるので少し不安です・・・

>>329
探したら↓などを見つけました。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=20010&forum=7
COMを使えばクラスライブラリも呼べるようですが、茨の道みたいですね

>>330
無理してコードを変えるより、そのままC++/CLIでラップするほうが楽だし安全、ということでしょうか。
・・・というか、これ使えば何でもできるんじゃ?もしかして相当すごい機能?

>>331
すいません、まだそういうことできるレベルじゃないです。。


もう寝ます。皆様お付きあい頂いて、ありがとうございました。
0333デフォルトの名無しさん2007/12/04(火) 10:47:07
フォーム上のボタンを押したらMonthCalendarコントロールが表示するようにしたいのですが、
このMonthCalendarコントロールを表示した際にフォーム内からはみ出た部分が表示され
ないのですが、回避するにはどうしたらよいのでしょうか?
0334デフォルトの名無しさん2007/12/04(火) 11:39:04
別のフォームに作れば
0335デフォルトの名無しさん2007/12/04(火) 12:18:46
フォームにラベルを複数置いたのですが
これらを配列として扱うには下記の方法でよろしいでしょうか?
label1〜label4がフォームに置いたラベルです

Label[] lblArr = new Label[4];
lblArr[0] = label1;
lblArr[1] = label2;
lblArr[2] = label3;
lblArr[3] = label4;

考え方がよくなかったりしたら教えてください
0336デフォルトの名無しさん2007/12/04(火) 12:33:27
>>333
あらかじめ貼っておくか、追加するときに場所と大きさ計算してフォームのサイズを調整したら

>>335
いいよ
Label[] lblArr = new Label[]{ label1, label2, label3, label4 };
でもいい


03373352007/12/04(火) 13:15:21
>>336
数が少ないなら宣言時に入れたほうがすっきりするんですね
そうするようにします。

ありがとうございました。
0338デフォルトの名無しさん2007/12/04(火) 13:34:32
for(int i=0;i<4;i++){lblArr[i]=(Label)this.Controls["label"+i];}
一応こういうのもある
>>335-336の方が好ましいのでできればやめた方がいいけど
0339デフォルトの名無しさん2007/12/04(火) 15:05:32
コンソールアプリなのですが、キーボードステータスを読み取るにはどうすればよいのでしょうか。
03403392007/12/04(火) 15:10:04
(続き)
タイマーイベントのハンドラの中で、現在押下されているキーをすべて取得するといった内容で考えております。
0341デフォルトの名無しさん2007/12/04(火) 15:13:29
いつもお世話になっております。ご相談させてください。

UDPポートをbindして、クライアントから一方的にudpデータが
送られてくる状況で、パケットの取りこぼしが発生してしまいます。

クライアントから送られてくるデータの、先頭2バイトをインクリメントデータの
シーケンス番号としておりまして、これを連続して取り出したところ
最大で10パケットほどごっそり抜けるといった現象が発生しています。

以下がプログラムの流れです。

1.ソケット作成
2.Socket.BeginReceiveFrom〜で非同期受信開始
3.コールバックメソッドで、先頭2バイトを読み出してシーケンス番号を確認。
4. 3.のシーケンス番号を保存して、再びSocket.BeginReceiveFrom〜を呼び出し。
5.再度のコールバックメソッドで、4.で保存したシーケンス番号と
 新しいシーケンス番号に2以上の差があるときがある。(おおよそ2〜10程度)

UDP自体は信頼性のないネットワークなのは十分承知しているのですが、
クライアントからのデータはCore2DuoのPCでデータを受信しているので、
CPUパワーからして本当に取りこぼすのか疑問に思っております。

Wiresharkでパケットをキャプチャするとネットワークライン上には
正しくデータは流れているので、Windowsは取りこぼしていないが、
アプリケーションの段階で取りこぼしているのかなと想像はしているのですが……。

どなたか同じような症状の方おりませんでしょうか。
またわかる方がいればご教示願えませんでしょうか。

orz

0342デフォルトの名無しさん2007/12/04(火) 15:19:06
>>341
1パケットに複数まとまってるんでない?
0343デフォルトの名無しさん2007/12/04(火) 15:20:32
初歩的な質問ですみません。
C#の文法規則の意味について教えてください。

C++は理解しており、メンバーに対するアクセス指定は理解できるのですが
クラスに対するアクセス指定の意味がわかりません。

名前空間内でクラス宣言を行うときにクラス自体にpublicかinternalの
アクセス指定ができますが、これらは何を意味するのでしょうか?

理解していること
・名前空間内で指定可能なアクセス指定子はpublicかinternalのみ
・省略するとinternalとなる

0344デフォルトの名無しさん2007/12/04(火) 15:26:07
>>340
GetAsyncKeyState()等のAPI 使うとかでどうか
0345デフォルトの名無しさん2007/12/04(火) 15:29:00
>>343
http://msdn2.microsoft.com/ja-jp/library/ba0a1yw2(VS.80).aspx
03463392007/12/04(火) 16:02:59
>>344
ビンゴでした。THANKS!
http://www.cam.hi-ho.ne.jp/oishi/tips.html#keystate
を参考に、GetKeyStateで出来ました。

[DllImport("user32.dll")]
private extern static Int16 GetKeyState(VirtualKeyStates nVirtKey);

private enum VirtualKeyStates : int
{
VK_LBUTTON = 0x01,
VK_RBUTTON = 0x02,
}

public void OnTimedEvent(Object sender, ElapsedEventArgs e)
{
bool fLeftPressed = (GetKeyState(VirtualKeyStates.VK_LEFT) & 0x8000) != 0;
bool fRightPressed = (GetKeyState(VirtualKeyStates.VK_RIGHT) & 0x8000) != 0;
}

03473392007/12/04(火) 16:16:20
おっと失礼
private enum VirtualKeyStates : int
{
VK_LEFT = 0x25,
VK_RIGHT = 0x27,
}
必要な定義はこちらでした。
0348デフォルトの名無しさん2007/12/04(火) 16:51:16
>>345
ありがとうございます。

『public と宣言された型には、他のすべての型がアクセスできます。
internal と宣言された型には、同じアセンブリに所属する型だけが
アクセスできます。』

とあるのですが、ここでいうアセンブリとはソースファイルという理解
で正しいでしょうか?
03493482007/12/04(火) 16:55:18
アセンブリとはDLLやEXEのことでした。

ということは、internal指定のクラスの場合は同一DLL, EXE
からしか参照できなくて、public指定のクラスの場合は
別のDLLやEXEから参照できるということですね。
0350デフォルトの名無しさん2007/12/04(火) 16:57:51
おおかた合ってる。
0351デフォルトの名無しさん2007/12/04(火) 16:59:18
>>346
Keysつかえよ。
0352デフォルトの名無しさん2007/12/04(火) 22:38:31
P/Invokeでは[DllImport("kernel32.dll")]などと指定しますが、
kernel32.dllやuser32.dllなどといったものは64ビットWindowsにも存在するのでしょうか?
またこれらに64ビットポインタを渡しても問題ないのでしょうか?

手元に64ビット環境がないので、よろしくお願いします。
0353デフォルトの名無しさん2007/12/04(火) 22:46:18
存在する
64bitのAPIも同名DLL
WoW64で動くかどうかでどっちを使うか自動判断
明示したけりゃ/platform
0354デフォルトの名無しさん2007/12/04(火) 23:03:46
>>353
どうもありがとうございます。
特別な理由がなければ何も考えずに書けばいいんですね。

もう一つ質問があるのですが、32用と64ビット用の二つのdllがある場合、
P/Invokeで実行環境に適したdllを読み込むことはできますか?
0355デフォルトの名無しさん2007/12/04(火) 23:22:37
>>354
>>353のレスちゃんと読んでやれよ・・・
03563522007/12/04(火) 23:38:07
>>355
どういうことです?
WOW64上で動作させて32ビット用を読み込めということですか?

ちなみにこの場合のdllはシステムにあるものではなく、自作のdllという意味です。
0357デフォルトの名無しさん2007/12/04(火) 23:40:21
IntPtr.Sizeみて分岐
0358デフォルトの名無しさん2007/12/04(火) 23:46:04
自動判断って書いてあるように見えるけど?
0359デフォルトの名無しさん2007/12/04(火) 23:49:07
system32/syswow64に入らないのなら自動呼び分けはないんじゃないかな
シングルトンで実装させれば使う側は気にしなくてすむようになるけど
DLL検索パスを利用してうまいことやればdll名だけ違うDllImportとか書かなくてもなんとかなるかな
0360デフォルトの名無しさん2007/12/04(火) 23:53:10
ま、正しいのはやはり/platformでターゲットを明示すること
03613522007/12/04(火) 23:56:03
>>357
最悪そうせざるをえないですね。

>>359
実行時に検索パスを設定するorアーキテクチャによって変更するってできるんですかね?
できたらかなりすっきり書けそうですが。

>>360
そうしたら実行環境が限られてしまうんじゃないですか?
0362デフォルトの名無しさん2007/12/05(水) 00:01:51
ラッパかぶせてその中で分岐しとけばごちゃごちゃしたりはしないだろう
0363デフォルトの名無しさん2007/12/05(水) 00:02:26
IntPtr.Size
PATH

> そうしたら実行環境が限られてしまうんじゃないですか?
限られるんじゃなくて限らせるの。
x86とx64両方つくりゃいいだけ。
0364デフォルトの名無しさん2007/12/05(水) 00:08:05
>>363
それはちょっと保守の手間が増えるので避けたいです。

>>362
そうですね。とりあえずその方法でいきたいと思います。
どうもありがとうございました。
03653522007/12/05(水) 00:08:48
名前忘れました。>364=>352
0366デフォルトの名無しさん2007/12/05(水) 00:30:28
色々なクラスで使うメソッドを、ユーティリティクラスを作ってstaticメソッドで呼び出すのと
継承を使って派生させて使うのとどっちがいいのでしょうか?

今までベースクラスに汎用メソッドを書いていたのですが、
Xmlの操作とか、クラスの本質に関係のない部分はユーティリティクラスのほうがいいのかな
と最近思うようになってきました。

HttpUtility.UrlEncodeみたいに、.NETでもユーティリティクラスの存在そのもの
を禁止されているわけではないですよね・・・
0367デフォルトの名無しさん2007/12/05(水) 00:31:10
ユーティリティクラスあるだろ
Mathとか
0368デフォルトの名無しさん2007/12/05(水) 00:41:31
どっちがいいといってもことそれぞれとしか
0369デフォルトの名無しさん2007/12/05(水) 00:45:57
まあユーティリティクラス作る方が標準的じゃないか
0370デフォルトの名無しさん2007/12/05(水) 01:11:47
GoogleMapsAPIを利用してて自分もこういうWebAPIというものを
作ってみたいと思いました。
WebAPIを作るにあたり必要なスキルは何でしょうか?
またWebAPIの開発の参考書などがあればご紹介ください。
WebAPIを利用するための参考書じゃなくて自分でWebAPIを開発する参考書です。
0371デフォルトの名無しさん2007/12/05(水) 01:27:34
>>367-369
レスありがとうございます。

staticメソッドを計算の代用とか気軽な目的で自体は
問題なさそうですね・・・。
0372デフォルトの名無しさん2007/12/05(水) 01:48:25
>>370
Google Maps API 質問箱
http://pc11.2ch.net/test/read.cgi/tech/1131627583/
0373デフォルトの名無しさん2007/12/05(水) 09:13:16
継承でやる方が邪道だよ大抵は。
まあユーティリティと言ってるものの内容にもよるけど。
0374デフォルトの名無しさん2007/12/05(水) 12:14:48
Sin()やSqrt()がSystem.Doubleのインスタンスメンバだったりしたら煩わしいことこの上ないよな。
03752852007/12/05(水) 12:48:53
>>285わかる方いませんか?
0376デフォルトの名無しさん2007/12/05(水) 12:59:05
ユーティリティクラスはクラス名短くしないと読むのが困難になりがち
0377デフォルトの名無しさん2007/12/05(水) 14:53:40
C#で始めてプログラミング始めたんですけどお勧めの書籍とかサイトってありますか?
0378デフォルトの名無しさん2007/12/05(水) 16:05:40
ふらっとじゃない方のC#スレの>>4
0379デフォルトの名無しさん2007/12/05(水) 17:04:15
@ITのC#入門はガチですとも
0380デフォルトの名無しさん2007/12/05(水) 17:07:52
他の言語の経験があるなら、ホントに@ITのC#入門読むだけですむよな。
0381デフォルトの名無しさん2007/12/05(水) 17:13:42
オラはオライリーのプログラミングC#で覚えた。
ガイジン特有の変な例えのせいでデリゲートが全然理解できなかったが。
0382デフォルトの名無しさん2007/12/05(水) 17:27:25
うちは標準C#入門っていう、いかにもな本だった。
なかなか読みやすかったのを覚えてる。
0383デフォルトの名無しさん2007/12/05(水) 17:31:37
LINQのおかげでdelegateの意味は全然変わっちゃったしな
03843352007/12/05(水) 18:07:26
正直デリゲートはわかってないけど
やばいかな
03853352007/12/05(水) 18:08:05
@IT逝ってきます
0386デフォルトの名無しさん2007/12/05(水) 18:08:57
LINQ使えばわかる
0387デフォルトの名無しさん2007/12/05(水) 18:32:16
イベント使えば分かる。


いや分からんかも…
0388デフォルトの名無しさん2007/12/05(水) 18:36:23
100レススルーされてる>>285がやや気の毒だがわからない
でも動画なんて埋め込みたいとは思わないな俺は
0389デフォルトの名無しさん2007/12/05(水) 18:36:33
イベントはdelegate分かってなくてもIDEが勝手に書いてくれるからな
0390デフォルトの名無しさん2007/12/05(水) 18:44:00
>>285か。
メモリに読めば何とかなるのなら、APIでリソースから直接読むのは可能。
0391デフォルトの名無しさん2007/12/05(水) 20:23:14
>>390
メモリにあるものをどうやって再生するかって話じゃないの?
テンポラリフォルダにでも展開しちゃえばいいんじゃないかと思うが
0392デフォルトの名無しさん2007/12/05(水) 22:24:32
>>379-380
川俣氏のやつですよね
以前2chで叩かれてるところに本人降臨してたスレがありましたが、中身はガチと思っていいんですかね?
0393デフォルトの名無しさん2007/12/05(水) 22:30:06
>>392
内容は悪くないというか、簡潔でいいと思うけど、
あれで習得できるのは「ミニマムリクワイアメント」に過ぎないね。
0394デフォルトの名無しさん2007/12/05(水) 22:32:37
話題になったのはVBネタの記事とかか
あの人どうも筆が走りすぎる感があるな
C#入門とかあの辺はよく書けてるんだけど
0395デフォルトの名無しさん2007/12/05(水) 22:38:30
>>394
俺が思うに、川俣の文体に反発する人間っていうのはたぶんあまり読書経験がないというか、
文芸的な文章を読まないタイプの人でしょ。

あれはああいう文体で、あんなものベタにとって反発するってどんだけオボコいんだよ、
と俺なんか思っちゃうけど。
0396デフォルトの名無しさん2007/12/05(水) 22:47:51
ライターなら多少走り気味なくらいがちょうどいいんじゃないの?
0397デフォルトの名無しさん2007/12/05(水) 22:48:39
叩きをするようなねらーによしあしなどわかってたまるか
0398デフォルトの名無しさん2007/12/05(水) 22:52:07
まあおまえらおちつけ
ここは初心者用質問スレだ
0399デフォルトの名無しさん2007/12/05(水) 22:52:11
なんかカワマタさんが来ましたよ
0400デフォルトの名無しさん2007/12/05(水) 22:53:08
>>395
>オボコい
久しぶりに見たよw
0401デフォルトの名無しさん2007/12/06(木) 00:33:01
asmxファイルで開発してる人いる?
0402デフォルトの名無しさん2007/12/06(木) 01:01:45
Xファイルなら
0403デフォルトの名無しさん2007/12/06(木) 02:34:50
あるプロトコルでチャットに接続し、ユーザはIEの画面を通して発言したり
他者の発言を取得して画面を更新したりするプログラムを作りたいと思っています。
以下のような構造になるのかなと考えています。

【ユーザ】←HTTP→【画面側プログラム�@】←なんらかの方法→【プログラム�A】←→インターネット

�@:
ASPで、他者の発言の取得はn秒ごとにポーリングを行う。
(サーバプッシュ型にできればなお良い)

�A:
EXEにしてサービス化?ともかく常時起動しており、チャットには繋がりっぱなしにする。
�@の状態には依存しない。
ASPにして�@と同化させると、ユーザが画面を開くたびにインスタンスが新しくなってしまうのと
ユーザが画面を開かなければインスタンスを作れないので分ける必要がある(と思っている)

そこでよく分からないんですが、まず、IISの起動と終了のイベントを拾って
プログラムを動かすことができるのでしょうか。
可能なら、�@と�Aを一緒くたにして、IIS起動でチャット接続して、その状態をstaticメンバにして
全インスタンスで共有し、終了で切断するということでASP一本にできると思ってます。
これは可能でしょうか。

もう一つ、分ける場合には�@と�Aで情報のやりとりをする必要があります。
�Aでインタフェースを提供し、�@はそれを呼び出すだけという形にしたいです。
�@から見たときに利用を簡単にしたいので、できればWebサービスとしてインタフェースを
提供できないかなと思うのですが、�AがASPじゃなく普通のEXEの時に、�AでWebサービスを
実装するにはどのようにすればいいのでしょうか。
(�AがASPなら、IISが良きに計らってくれますが…)
また、Webサービスが無理ならどういう方法で通信するのがベターでしょうか。プロセス間通信とか?

妄想段階なので曖昧な点が多いのですが、アドバイスをいただければ幸いです。
よろしくお願いします。
0404デフォルトの名無しさん2007/12/06(木) 03:10:01
パスワードを保存するファイルに暗号化をかけたいな〜と思ったんですが、
その暗号化キーをどこに保存しようか悩んでいます。
Firefox のマスタパスワードみたいに毎回問い合わせるのは最終手段にしたいと思ってまして、
じゃあどこにどうやって保存しようかな……という話です。
0405デフォルトの名無しさん2007/12/06(木) 13:26:26
>>395なんじゃそりゃ?
まあ反発してたってのがどんなんかしらんから何とも言えんけど、
誤解を招きやすい文章だと思ったことは何回かある。
0406デフォルトの名無しさん2007/12/06(木) 13:36:09
保存先ならIsolatedStorageでもどう
0407デフォルトの名無しさん2007/12/06(木) 14:05:11
>>403
ASPスレで聞いたほうがよい
たぶんセッションで出来る
0408デフォルトの名無しさん2007/12/06(木) 14:48:03
VC#2005EEを使い始めたのですが、ツールバーに使うアイコンをWindows標準のもの(新規作成とか上書き保存とか)を使いたいのですが、Windowsフォルダとかから探してくるしかないんでしょうか?
また、そういうったアイコンは勝手に使ってもいいんでしょうか?
0409デフォルトの名無しさん2007/12/06(木) 15:00:29
VS2005ImageLibraryというのがあるんだけどExpressには付いてないみたいだね
http://i-keisuke.at.webry.info/200701/article_13.html
ライセンス的に大丈夫なのか知らないけどこういうのも可能みたい
0410デフォルトの名無しさん2007/12/06(木) 15:51:04
NewWindowイベントをキャンセルしたいのですが、

private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}

では上手くいきません。
どのようにしたら良いのか教えてください
0411デフォルトの名無しさん2007/12/06(木) 17:30:21
下記のソースを実行すると1のところでエラーが発生してしまいます。
どうやったら解消されるか教えてください。
目的は、csvファイルからデータを読み込んで、2番目のデータを配列に
挿入することです。

class FileRead2
{
public int[] data;

public void fileRead()
{
string[] list;
string line;
int k = 0;
StreamReader r = new StreamReader("data.csv",Encoding.Default);
while ((line = r.ReadLine()) != null)
{
list = line.Split(',');
/*1*/ data[k] = Convert.ToInt32(list[1]);
k++;
}
r.Close();
}
}
0412デフォルトの名無しさん2007/12/06(木) 18:01:29
>>411
空文字なんじゃねーの?
Console.writeline(list[1] == string.Empty);
/*1*/ data[k] = Convert.ToInt32(list[1]);
でやってみれ
■ このスレッドは過去ログ倉庫に格納されています