1 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:17:20 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C#, C♯, C#相談室 Part59 pc12.2ch.net/test/read.cgi/tech/1274019232/ Visual C# 2010 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>1-5 くらい
357 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:00:53 ] これ構造体だったはず >.NET Framework クラス ライブラリ >Rectangle 構造体 >四角形の位置とサイズを表す 4 つの整数を格納します。より高度な領域関数を使用する場合は Region オブジェクトを使用します。 >名前空間: System.Drawing >アセンブリ: System.Drawing (system.drawing.dll 内) >構文 >[SerializableAttribute] >[ComVisibleAttribute(true)] >public struct Rectangle msdn.microsoft.com/ja-jp/library/system.drawing.rectangle%28v=VS.80%29.aspx
358 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:02:08 ] >>357 そですた…。 WPFやってるとごっちゃになるから勘違いしてしまったorz サンクス。
359 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 06:59:42 ] >>352 バージョン情報 .NET Framework サポート対象 : 4、3.5、3.0、2.0、1.1、1.0 >>358 WPFにだってRect構造体があるし(こっちは各要素がdouble型だが)
360 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 07:30:45 ] >>359 みつけた。サンクス。
361 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:08:13 ] #include<stdio.h> struct kou{ int ZAHYO data[4]; double data[3].x=(data[0].x+data[1].x+data[2].x)/3; double data[3].y=(data[0].y+data[1].y+data[2].y)/3; }; void main(void) { int data[4],i; for(i=0;i<4;i++); data[i]=(data[i].x,data[i].y); printf("重心=(%f,%f)"data[3].x,data[3].y); return 0; } これエラーが12個でるんだがそのエラーを消したい。手伝ってくれ ちなみに問題は構造体を使って平面上の3点の座標を入力して三角形の重心を求める問題だ
362 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:09:52 ] お断りします
363 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:35:33 ] 釣りだろw スレタイ読めないバカがいるとは思えん
364 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 10:45:07 ] スレタイ読めるのか!すごいな!
365 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 11:13:51 ] 学者さんだよ
366 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:16:15 ] しーしゃーぷ しーしゃーぷ しーなんばー そうだんしつ ぱーとろくじゅう
367 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:31:55 ] VIPPERはム板へ立ち入り禁止
368 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:32:08 ] 泣いた
369 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:32:30 ] []をオーバーライド?するにはどうすれば? 検索しても出てこないんですが class AがあったらB=A[0];みたいなアクセスがしたいんです
370 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:36:26 ] >>369 は解決しましたが foreach inに対応する方法がわかりませぬ
371 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:36:42 ] できるよ、オーバーライドではない方法でだ。 プロパティ関連をしらべろ。
372 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:39:14 ] List<A>から派生されたら出来た
373 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:41:29 ] >>370 IEnumerable<T>インターフェースを実装すれば対応する
374 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:46:48 ] IList<T>じゃねーの
375 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:50:59 ] おいおい…
376 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:54:07 ] あーごめん最初の質問しか読んでなかった
377 名前:デフォルトの名無しさん [2010/07/07(水) 17:02:36 ] homepage3.nifty.com/kons/hidemaru/helpsite/hidemac/html/200_Dll.html のDLL側の関数の作り方 を参考に C#を使って秀丸エディタのマクロから呼び出すDLLを作ってます。 内容は秀丸マクロからDLLを呼び出して1234(数値)を返す動作です。 test.cs(以下の4行の内容)をコンパイルしてtest.dllを作成しました。 class Test{ static int Main(){return testNum();} public static int testNum() {return 1234;} } これを秀丸マクロで以下のようにして呼び出してmessageで1234と表示させたいのですが「dllfunc関数で指定された呼び出し先が見つかりません」エラーが出ました。なお、秀丸マクロからDLLの読み込みは出来てました。 $dll = "test.dll";loaddll $dll;#a = dllfunc("Test");freedll;message str(#a); // 秀丸マクロ test.csをどのように書き直すと良いでしょうか?どなたかご教示お願い致します。
378 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:03:47 ] ネイティブからマネージのDLLってよべるんだっけか?
379 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:06:59 ] COMにするかC++/CLIはさむかしないと
380 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:22:13 ] 逆P/Invokeと言う手法もないわけではない
381 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:33:10 ] 素人の集まりか 呼べないわけないだろ
382 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:05:01 ] そうやって煽っても無い袖は振れませんので^^;
383 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:05:05 ] .NETのアセンブリにネイティブのエントリポイントを作成して呼べるようにするのも 不可能じゃないんだけど、一筋縄じゃいかない。 秀丸のマクロから呼ぶのが目的ならCOMのサーバを作るのが手っ取り早いでしょ。
384 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:46:25 ] ホストAPIでCLRバージョン指定してアプリケーションドメイン作ってマネージランタイム読み込んで 実行。終わったらアプリケーションドメインは解放してやらんとDLLがアンロードされないので注意。 とかメンドイわ!やっぱ言うとおりCOMでやるのが一番だな。
385 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:47:09 ] うん
386 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:31:56 ] 素直にC++でやった方が遥かに簡単で軽快なコーdうわやめなにを
387 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 01:44:34 ] まあな。処理内容にもよるけど。 まさか実際に定数を返すだけなんてこともあるまい。
388 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 04:05:23 ] NetWorkStreamクラスのReadメソッドの引数に byte[4096] の変数を指定したら応答なしになってしまいました。 散々動かないと悩んでbyte[1024]にしたら直ったんですが4096の配列というのは大きすぎるもんなんでしょうか?
389 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 05:58:34 ] リソースファイルで、テキストファイルがあるとします。 そのプログラムが実行中に、自分のリソースファイルの テキストファイルを開いて書きこんで保存すると言う事が、 できるのでしょうか? その他、画像リソースファイルなども。
390 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 06:06:48 ] リソースを書き換えはできない
391 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 06:16:17 ] ばぁぶぅ
392 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:01:16 ] すみません以下のコードで例外が発生するんですが、 何が悪いのかわからないのですが・・・ //確実に数値化する private int SetNum(string str) { try { int num = int.Parse(str); return num; } catch (System.FormatException) { return 0; } } お願いします。
393 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:03:58 ] あ、上のコードなんですが int num = int.Parse(str); の部分でブレイクします。。。
394 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:05:00 ] TryParse使うべき
395 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:06:27 ] catchの()いらないんじゃね
396 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:07:08 ] 普通に動くけどどういう状況でどうなるんだ?
397 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:07:27 ] >>394 >>395 なるほど迅速で正確なご回答ありがとうございました。
398 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:13 ] >>396 strに "" が入ってきた時ですね。 2008expでは動いてたんですけど 2010proに代えてから初回例外が発生するようになって どうやらここがおかしいっぽいという感じですハイ。
399 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:16 ] private int SetNum(string str) { int res; if(int.TryParse(str,out res) == false) return 0; else return res; } こんなのとかかな? そもそも例外発生するのは文字列が悪いと思うが、どんな文字列を渡してるんだ?
400 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:30 ] 少なくともSystem.OverflowExceptionとか
401 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:10:58 ] なんかJAVA的な書き方だな とオモタ
402 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:11:15 ] どうでもいいが、Setとかメソッド名に使っておいて実体は型変換とかどういうことなの…
403 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:13:29 ] >>402 シーッ Getとか別の名前にする方がいいとかいっちゃダメッ
404 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:21:30 ] >>402 あ、なるほど。 そうですね。 とりあえず //確実に数値化する private int SetNum(string str) { int num = 0; int.TryParse(str,out num); return num; } として問題は回避できたっぽいです。 でもまだイミディエイトウィンドウに 'System.FormatException' の初回例外が mscorlib.dll で発生しました。 っていう文言が正確に数えてないんで分からないですが 100行以上くらい出てるんですがこれなんなんでしょ・・・。 2008expで開発してた時は出なかったんですが。。。 しかもエラーではない様子でプログラムはまともに動いてるように見えるし この例外がどこで発生しているのかもわからないんです・・・(;ω;)
405 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:26:56 ] 2010はいいとしてターゲットのフレームワークはどれなんだろう。 4.0かしら?
406 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:27:34 ] >>405 その通りです
407 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:36:20 ] ちょっと俺も気になるから確かめてくる
408 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:44:09 ] それと不思議な事なんですが イミディエイトウィンドウにもろに表示されてるワケじゃない気がするんですよね。 イミディエイトウィンドウは上から順にメッセージが表示されると思うんですが プログラムの立ち上げが終わった時点でイミディエイトウィンドウには何も表示されていない 部分までカーソルが下がってきてるんですよ。 それで、そのカーソルを上に持っていくと前述の通り大量の 'System.FormatException' の初回例外が mscorlib.dll で発生しました。 が表示されているという・・・。 状況としては questionbox.jp.msn.com/qa3794467.html この質問者の人に似ているかなあと。 加えて、すごく初歩的な質問でもうしわけないのですが C#で開発者が設定できる1番最初のブレイクポイントってどこになるんでしょうか。 Program.csのMain()の Application.EnableVisualStyles(); であってますかね? というのもここでブレイクをかけて見ても既に上述の例外が発生していますもんで gyazo.com/a0b4779e46074481ef531677d615af66.png (こんな感じです) 例外の発生している部分を突き止める事ができないな・・・っていう感じなんです。。。
409 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:47:25 ] イミディエイトウィンドウではなくて出力ウィンドウではないんだろうか? イミディエイトなら自分で出してるだけの気がする。 それはさておき、別にでないんだけどなぁ… それって出力ウィンドウの右クリックで例外メッセージを表示しないようにしてただけとかそういう問題じゃなくて? とりあえずソース private void button1_Click(object sender, EventArgs e) { try { string text = ""; int res; if (!int.TryParse(text, out res)) res = -1; System.Diagnostics.Debug.WriteLine(res); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }
410 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:52:06 ] うおあ! VSを再起動したら表示されなくなりました・・・。 僕がみていたのは皆さんにアドバイスされる前のコードで生成された メッセージの履歴だったんでしょうか・・・^ω^;
411 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:53:54 ] >>409 さん おそらく1番最初の int.Parse try{}catch{}で分けるという方法が コンパイラの気に障っていた?ようですね・・・。 TryParseを使う事で例外の表示もなくなったようです。 どうも長々とスレ汚し、すみませんでした(^ω^; ありがとうございましたー!
412 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:55:03 ] (#^ω^)ビキビキ
413 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:56:21 ] >>412 スマンお(^ω^;;
414 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:01:35 ] >おそらく1番最初の int.Parse try{}catch{}で分けるという方法がコンパイラの気に障っていた? そうではなく、テスト動作させてるときに空文字渡したとか言ってたから キャッチはしているけど例外が発生したから表示されてたんじゃないか? 例外はコンパイルレベルで発生する代物ではないと思うんだ
415 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:11:14 ] >>414 なるほどご明察です。
416 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:22:47 ] ■Jane Style 3.4 はスパイウェア namidame.2ch.net/test/read.cgi/poverty/1278496905/
417 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:30:03 ] >Reflectorでソース解析済み。 とか言って騒いでた馬鹿か。
418 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:33:53 ] janestyleてドトネト制だったん? delphiかとおもてた
419 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:43:45 ] ヘルプにはDelphi 7.0 Professionalで開発したと書いてあるね
420 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:47:06 ] >>413 ( ^ω^)ゆるすおっ
421 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:55:14 ] >>416 .netじゃねーよ……
422 名前:たった mailto:sage [2010/07/08(木) 17:21:18 ] .netじゃねーけど Reflectorはdelphiに 対応してるみてーだなwwwww ということはdelphiも 中間コード系の 言語なのかよ!? あ!?
423 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:39:55 ] >>422 8から
424 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:41:13 ] っと、8からなのは.net frameworkに載ったのが8からね。 もともとPascal系は中間コード使ってる
425 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:43:38 ] >>418 >>419 無知
426 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:56:11 ] >>422 無知な馬鹿
427 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:17:39 ] オープンファイルダイアログと言うコントロールは、 前に使った時のフォルダのパスを覚えてて、 新しく開いたときに、前開いたときのフォルダを最初に見せてくれますが、 この情報は一体どこに覚えているのでしょうか? 普通にアプリケーション設定と同じ位置に覚えているのでしょうか?
428 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:19:39 ] os
429 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:37:21 ] www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html 例えばここにアプリケーション設定の記憶位置が書かれていますが、 そこと同じ様な場所なのだと考えても良いのでしょうか。
430 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:38:22 ] os
431 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:38:46 ] カレントドライブ、カレントディレクトリ
432 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:05:02 ] >>429 はい、PCの中に記憶されてますよ。
433 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:09:54 ] HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32
434 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:18:14 ] >>430-433 なるほど! ありがとうございました!
435 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:09:18 ] >>433 つまり、レジストリって事? カレントなのかレジストリなのか、それとも、ユーザー設定なのか? どこやねん。 お前らも本当は知らないんだろ。 別に知らないなら答えなくていいのに。 >>434 お前誰やねん。
436 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:11:42 ] いまいちよくわかりません。 説明されているサイトなどに、誘導していただけませんでしょうか。 >>434-435 真面目に質問しています。茶化さないでください。
437 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:15:07 ] とりあえず落ち着け
438 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:16:46 ] >>435 (-3-)<Boo ナリスマシやめれ
439 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:19:30 ] / _ .::::ト、  ̄ ´ \ i \ ̄_ ̄_\ \ l )┼┼+( | あ゛あ゛っ!! /ヽ__ i\ i ンダコラッ!! ヽ_  ̄__/  ̄''''‐'' ̄
440 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:12:58 ] >>433 でなんでわからんの??
441 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:15:07 ] イミディエイトウィンドウはデバッグ開始しても勝手にクリアされたりしないよ。 過去に出力された分はずっと残ったままになる。 イミディエイトに出力をリダイレクトする設定をしてなければデバッグ出力に出力される。 こっちはデバッグ開始するたびにクリアされる。 例外発生時にデバッガで停止するのは、まあわかってると思うけどデバッガの例外の設定。
442 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:16:02 ] 寝て起きたら書いてたコードが微妙に書き換えられててうまく動かなくなった 夢だったんだろうか、それとも夢遊病だろうか 夜中ちょっと目が覚めた時にパソコンがついてておかしいなとは思ったんだけど 超怖い
443 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:20:21 ] >>442 ごめん。悪気はなかったんだ…
444 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:27:42 ] >>440 つまり、レジストリなのですね。 解りました。
445 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:42:37 ] コモンダイアログはコモンダイアログがやっていることだから基本的には考えなくていいと思う
446 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:54:41 ] でも、例えばさ、そう言うのって、結局はさ、 自分の作ったプログラムを配布した場合、 ユーザーのパソコンの記憶領域を勝手にいじっちゃうわけでしょ? いつの間にか勝手にレジストリをいじって記憶領域を減らすってのは あまり良い気分じゃないよね。 まあ、実際殆ど問題無いけどさ。 レジストリを散々いじった挙句、そのソフトをもういらないからって削除した場合とか、 無駄な記憶だけが残るだけの結果になったりするじゃない。 なんか、そう言うのって気分悪いのさ。
447 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:58:31 ] まあインストーラ付けないならアプリケーション設定は使うべきじゃないな
448 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:01:52 ] コモンダイアログから随分話が飛んでるな
449 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:02:19 ] わしのは、エクスプレス板だから、 ついて無いのじゃ。 確かにインストーラーがあるなら、 OSにアンインストールしてもらえば良いのだけど。
450 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:04:27 ] ほぼ確実に朝になるとノートのバッテリが上がってたんだけど、イベントログ見たら 真夜中にWindowsのCEIPがなんかどっかに通信しようとしてコケてた(そのときLAN ケーブル外してたんでエラーになってた)。 そのサービス殺してからは朝になってもバッテリが上がってることはなくなった。 何か関係してるのか?
451 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:08:57 ] 板違い。失せろカス。
452 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:18:03 ] >>446 "コモン"コントロールを一体なんだと思ってるんだおまいわ・・・
453 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:22:23 ] まあそんなのchmの設定保持とか他にもいくらでもあるわけで。 その程度のことを気にしてたら何もできない。 っていうか気にするだけ無駄。
454 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:23:23 ] >>446 それは永久に残るものじゃないから おまえ馬鹿だろ?
455 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:27:21 ] 記憶領域減らすw ディスクの中にはいったいどの程度の無駄があるか知ってるか?
456 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:33:18 ] わかってない奴ほど どうでもいい細かいこと気にするの典型
457 名前:デフォルトの名無しさん [2010/07/08(木) 22:34:14 ] 本当の「相談事」で申し訳ないが・・・。 O/Rマッパって何使ってる? 少し古めだけど一覧 d.hatena.ne.jp/aoki1210/20080416/p1 のリンクをざっと辿ってみた限りでは、S2Dao.NET + DBFluteがよさげ(特に定義ファイル書かなくていいのが楽そう)だと思ったんだけどね。 ↑以外ではADO.NET Entity Framework が少し話題になってるみたいだけど、「これO/Rマッパぢゃねーし」とかゆー声もあるし・・・。 ってことで何かお勧めがあればプリーズ