1 名前:デフォルトの名無しさん [2008/01/21(月) 19:35:37 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 c++厨の嵐はスルー汁。 前スレ C#, C♯, C#相談室 Part44 pc11.2ch.net/test/read.cgi/tech/1194956418/ その他テンプレ>>2-5 くらい
2 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:36:31 ] Visual C# 2005 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ ふらっとC#,C♯,C#(初心者用) Part23 pc11.2ch.net/test/read.cgi/tech/1200033660/ MSDNライブラリ msdn.microsoft.com/library/ja/ MSDN2 msdn2.microsoft.com/ja-jp/library/default.aspx pinvoke.net: the interop wiki! pinvoke.net/
3 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:37:09 ] Visual C# Express Edition (無料)ダウンロード www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ .NET Framework SDK (2.0) msdn2.microsoft.com/ja-jp/library/ms310244.aspx MSDN Visual C# Express Edition フォーラム forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7 Visual Studio ユーザーグループ vsug.jp/ @IT Insider.NET www.atmarkit.co.jp/fdotnet/index.html Insider.NET 会議室 ディレクトリ www.atmarkit.co.jp/fdotnet/index/bbs/index.html 宇宙仮面の C# プログラミング / C# Programming ukamen.hp.infoseek.co.jp/ WisdomSoft C#入門 wisdom.sakura.ne.jp/programming/cs/index.html WisdomSoft Microsoft .NET入門 black.sakura.ne.jp/~third/system/msnet/msnet.html どっとねっとふぁん dotnetfan.org/ 緑のバイク 初めてのC# 〜 覚え書き 〜 homepage3.nifty.com/midori_no_bike/CS/ どぼん!の .NET Tips dobon.net/vb/dotnet/
4 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:05:26 ] 己
5 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:01:53 ] >>1 乙。 誰もスレ立てないまま前スレあっさり終わったなw
6 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:08:05 ] C#スレはむしろその方が多いような
7 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:16:13 ] >>1 乙〜
8 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:39:04 ] .Net 2.0、C# 2005 で Windowsコントロールライブラリを作って IEに貼り付けて、Windowsコントロールライブラリが通知したイベントを javascriptで検知する方法を紹介しているサイトをご存じないですか?
9 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:47:29 ] window.external とか InvokeScript とかで検索すれば出てくるかもね
10 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:48:30 ] >>2 次は2008に書き換えようぜ、同志。
11 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 11:46:21 ] System.IO.Packaging.ZipPackage って、 OPC専用? 既存の zip の中身が読めないし、 zipファイルを作成すれば、勝手に変なファイル([Content_Types].xml)が作られるし。 #ziplib の代わりになるかと思って期待したのに。
12 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 12:59:00 ] 専用。 インターナルなZipArchiveかなんかだっけ?公開してくれたらいいのに
13 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 23:59:56 ] やっぱりそうか。 DotNetZipを調べてみるよ。
14 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:56:44 ] J#のライブラリでzipできるじゃなかったっけ
15 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:57:22 ] jslib
16 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:19:47 ] J#(笑)
17 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:16:42 ] class A { private string var="test"; public string func(string name) { return xxxx(name);// name="var"のときreturn varになる } } こんなことしてくれる上記xxxxに相当するようなものはないでしょうか?
18 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:41:38 ] なんでstring引数にしないと駄目なの?
19 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:45:42 ] private Dictionary<string, string> values={{"var","test"}}; public string func(string name) { return values[name];// name="var"のときreturn varになる } 変数名にvarを使うのはやめとけ
20 名前:19 mailto:sage [2008/01/24(木) 12:50:07 ] 無理にC#3.0使おうとして間違えた正しくはこう Dictionary<string, string> values = new Dictionary<string,string>{{"var","test"}}; C#2.0ならコンストラクタとかで values.Add("var", "test");
21 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:05:48 ] varはまずかったですね できました class A { private string str="test"; public string func(string name) { Type ty = typeof(A); FieldInfo fi = ty.GetField(name); return (string)fi.GetValue(this); } } で A B = new A(); Console.WriteLine(B.func("str")); とすると test が表示されます
22 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:14:28 ] 他のクラスのメンバにそうやってアクセスするならわかるけど 自分のクラスのフィールドでそれをやる意味がわからない
23 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:13:38 ] もう、「変数に変数の名前でアクセスする方法教えてください><」は禁止しない? 教えたって本人にとっていいことないし
24 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:38:55 ] またスクリプト脳か。
25 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:57:04 ] どれがスクリプト脳?22?23?24?
26 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:00:00 ] 25
27 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:02:52 ] FAQということでまとめておいて FAQ見れ、と答えることにするとか
28 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:23:00 ] ・コントロールをコントロールの名前で ・クラス名の文字列からインスタンスを ・ジェネリックで計算 ・GC
29 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:46:16 ] Convert.ToDateTime があるのに Convert.ToTimeSpan がないのが気に食わない
30 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:22:06 ] TimeSpan と言えば IFormattable じゃないのも納得できんな
31 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:32:21 ] またスクリプト脳か。
32 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 12:36:44 ] IEの「名前を付けて保存」にある ファイル種類「Web アーカイブ、単一のファイル(*.mht)」を C#上から実施する方法ってないですか?
33 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:50:28 ] 多少のエスパー能力を使って CDO.Message 使えば?
34 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:35:18 ] >>32 mht保存はVB.NETだけど公開されてたはず 場所は忘れたけど
35 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:52:12 ] ありがとうございます。 調べてみます。
36 名前:34 mailto:sage [2008/01/26(土) 03:16:41 ] >>35 ttp://www.atmarkit.co.jp/fdotnet/dotnettips/690createmht/createmht.html 以前見たのはこれじゃないけどコレでどう?
37 名前:デフォルトの名無しさん [2008/01/26(土) 10:30:19 ] 真ん中あたりの、コメントアウトしてるところ、1から3までどれやっても期待する 結果が得られないのは、何でなんだぜ? 0,2,4,...,18 が出て欲しいんだが。 static void Exec() { Action<int, int> sumShower = (n, n0) => Console.WriteLine(n + n0); Action<int> act = n => Bind(sumShower, n); Action<int>[] acts = new Action<int>[10]; for (int i = 0; i < acts.Length; i++) { acts[i] = //1: n => sumShower(i, n) //2: n => Bind(sumShower, n) //3: act ; } for (int i = 0; i < acts.Length; i++) { acts[i](i); } return; } static Action<int> Bind(Action<int, int> act, int val) { return i => act(tmp, i); }
38 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:49:14 ] >>37 コメントの1はこれで動く。 for (int i = 0; i < acts.Length; i++) { int j = i; acts[j] = n => sumShower(j, n); }
39 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:06:47 ] 自分で書いておいてなんだが、つーか、shower ってなんだよw
40 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:09:56 ] >>38 やっぱそれしかないわけか。さんくす。 2, 3 は俺が何か根本的な勘違いしてるかもしれないので、わかる人指摘よろ。
41 名前:デフォルトの名無しさん [2008/01/26(土) 13:15:26 ] 何度もすまん。Bind() がこれじゃあコンパイル通らないな。 >>38 で指摘されてる方法を試してたのがそのままになってた。 正しくは、 static Action<int> Bind(Action<int, int> act, int val) { return i => act(val, i); }
42 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:49:30 ] >>40 actとBindが何をしたいのか説明しないとわからんよ。 なにやらループしてるように見える。
43 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:29:16 ] Action<int> act = n => Bind(sumShower, n); ↓ Action<int> act = n => Bind(sumShower, n)(n);
44 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:32:34 ] >>42 やりたいのは、関数型言語で言うところのカリー化です。束縛(Bind)じゃないですね。 勘違いしていて、またおかしな名前をつけてしまいました。 >43 あー、なるほど。引数が一つ足りないんですね。やってみたら動きました。 ありがとうございました。
45 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:06:30 ] C#のジェネリックプログラミングを詳しく解説してある本あったら教えてください
46 名前:デフォルトの名無しさん [2008/01/26(土) 20:08:12 ] プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書): ホーム: ジェフリー リッチャー,Jeffrey Richter,吉松 史彰
47 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:51:18 ] >>44 >関数型言語で言うところのカリー化です。 それは部分適用のことをカリー化と呼んでる気がする。 C++界隈ではbindって呼んでるし別にbindでもいいと思うけどね。 参考) ttp://vader.g.hatena.ne.jp/wata_d/20080123/1201078733
48 名前:デフォルトの名無しさん [2008/01/27(日) 19:18:27 ] googleでC#の情報を効率よく検索するには どうしたらよいでしょうか 検索時に ○○ VC# などと検索しても #が検索対象にならんのですわ
49 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:21:31 ] VC#じゃなくてC#ならおk
50 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:22:50 ] >>48 c int c# int 検索結果をくらべてみよう。 vc# は認識されないが、c#はgoogleが認識する。 それにしてもMSのネーミングセンスひどいよな。 ".NET" のノイズが入らない検索方法があったら知りたい。
51 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:23:26 ] >>49 おおぅ これはすばらしい。コロンブスの卵でした
52 名前:デフォルトの名無しさん [2008/01/27(日) 19:55:08 ] アプリケーションの発行 って何に使うの?
53 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:59:32 ] 前は +"C#" で検索してたけど、 最近は C# で絞れるんだな。
54 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:57:14 ] それ系の Web サイトや blog やってる人は、ことごとく csharp という キーワードを入れておくってのを、みんなでやればいいかも。
55 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:58:27 ] >>50 COM とかもアレだな。
56 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:03:13 ] COMって時々聞くけど知っとくべきもん? 今のところまったく経験なし
57 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:07:28 ] DirectX を生で使うつもりがあるなら。
58 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:13:24 ] Officeやシェルなどに手を出す必要があれば。
59 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:34:36 ] ExcelもCOM
60 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:35:14 ] IE コンポーネントブラウザ作ったり
61 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:57:45 ] 次期バージョンで遅延バインディングが入るらしいね
62 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:39:08 ] COM楽しいよ シェルの深みに嵌まってる 半分溺れかけてるとも言えるけど(;´Д`)
63 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:55:50 ] >>61 マジで?
64 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:15:18 ] >>63 blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx unsafeみたいに,書く人に罪悪感を与えるような構文でいいねw
65 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:01:32 ] Formatで-を出すことはできるけど、+はだすことできないですかね?
66 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:22:23 ] ToString("+0;-0;0") string.Format("{0:+0;-0;0}", x)
67 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:31:05 ] >>66 ありがとう!!
68 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:18:49 ] this.を普段書かない方に質問です。 staticなプロパティと非staticなプロパティとで、命名規則って変えてますか? 変えている場合は、どういう違いをつけていますか? 今は非staticな方に_を付けていますが、どうもしっくりこなくて・・・
69 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:24:41 ] しっくりも何も命名ガイドライン的にアウトじゃん。 たぶんメンバ変数のことだろうけど、それでいいんじゃね? 俺はthis付ける派だけど。
70 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:38:50 ] >たぶんメンバ変数のことだろうけど 違います
71 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:22:59 ] じゃアウトだよ
72 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:28:05 ] _つけてpublicだったりしてるの? >プロパティ
73 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:44:04 ] 普通はstaticなプロパティなりフィールドなりって staticであることが意味的に明らかな場合が多いから、タグで区別する必要性は感じないな。 というか、今までインスタンスメンバと混同するような状況になったことが たぶん一度もないと思う。 結論。 それってそもそも設計が変なんじゃないの?
74 名前:68 mailto:sage [2008/01/29(火) 18:45:28 ] >>69 >しっくりも何も命名ガイドライン的にアウトじゃん。 どこのガイドラインですか? (C/C++で禁止になっていること・MSではPascalにしてくれとなっていることは知っています) 仕様上禁止だというのであれば、ソースをお願い致します。 >>72 メソッド内で、staticか非staticか見た目で判別できないじゃないですか そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです…
75 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:50:31 ] 判断できなくて困るほどでかいクラスを書かない
76 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:51:37 ] 仕様上なんて誰も言ってない 命名ガイドラインには沿っていないって話だろ。 「ガイドライン」の意味分かる? msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconpropertynamingguidelines.asp
77 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:53:22 ] >>76 アナタC++のソースでハンガリアン記法とかやっちゃう人ですね
78 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:54:15 ] >そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです… 多分基本的な語彙について、話が噛み合ってない気がする
79 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:57:01 ] >>77 (゚д゚)ハァ?
80 名前:68 mailto:sage [2008/01/29(火) 19:31:00 ] >>75 自作クラスばかりで構成されたアプリでは問題になっていないのですが、 既存のライブラリorフレームワーク上のクラスを継承した時に問題になるんです。 >>76 階層をもう少しのぼってよく読んでみたらいいと思います
81 名前:68 mailto:sage [2008/01/29(火) 19:40:19 ] いっぱい釣れたので、今日のところは帰ります。
82 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:40:20 ] >>80 具体例をあげてみたら?
83 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:48:28 ] メインのFormのメソッド呼びたいとき、 ・static void Mainが書かれてるクラスにFormのインスタンスを取得するメソッドを書く ・シングルトンにする どっちが一般的なの? Dispose Finalizeパターンとシングルトンって相性悪そうだけど、 Program.GetForm()とか書くのも気持ち悪い・・・ あ、複数ウインドウ出さないアプリの前提で回答よろ
84 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:03:33 ] program.csってあんまりいじらないんじゃね? その前提なら 1)Form.ActiveForm 2)Application.OpenForms[0] 3) static Form1 frm1; public Form1() { Form1.frm1 = this; } public static Form1 MainForm { get{return frm1;} }
85 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:07:54 ] >>84 thanks シングルトンにはしないほうが良いという結論でいいかな? Form以外(XNAのGameクラスとか)でも使えるのは3かな
86 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:55:01 ] どのみちFormには依存するだろ
87 名前:86 mailto:sage [2008/01/29(火) 21:57:37 ] >>85 書き込んでから理解した 忘れてくれ
88 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:17:39 ] いいものみつけた download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe winsiggen.exe便利……かな?
89 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:23:23 ] こわくてクリックできない
90 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:24:36 ] 記事は msdn.microsoft.com/msdnmag/issues/08/01/CLRInsideOut/default.aspx?loc=jp ね 日本語版記事にはダウンロードリンクがないんで 末尾のja削ってenにすると出てくるが
91 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:27:24 ] Marshal.AllocHGlobal()やMarshal.ReAllocHGlobal()の引数でサイズを指定するところはなんでIntPtrなんだろうか? AllocHGlobal()にはintで指定するのもあるけどReAllocHGlobal()はIntPtrだけだし intかlongが自然に思うんだけれど
92 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:41:33 ] size_t は int/long じゃないぜ
93 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 16:34:33 ] それが何か?
94 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:05:03 ] あほの俺が推測すると、64bit環境で2GB以上確保するため
95 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:47:10 ] >>91 メモリを確保するんだから、native intである必要があるだろ。
96 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:01:20 ] ありませんよ
97 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:06:24 ] CLIのnative int型をC#で表現してるからIntPtrになってるだけでしょ。 int32, int64, native int の中で一番自然なのはnative intだと思う。
98 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:03:10 ] >>88 これすげえ Cのヘッダから自動生成してくれる
99 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 02:09:45 ] >>97 うん でもさ、IntPtrのままじゃ演算できなくて結局intからキャストしてたり SizeOfの返り値がintだったりと他の部分との整合性が取れてない点を不自然に思ってる インターフェースがint/longでもいいし、もしくはIntPtrでもいいけどそれで演算できてたらよかったと思ってる
100 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:14:53 ] LinqのIQueryableのProvider実装してる人いる? ブログとかでやってる人の見たけれどなんかめんどくさそう・・・
101 名前:デフォルトの名無しさん [2008/01/31(木) 20:25:20 ] C#でどこまでが言語仕様でどこからがライブラリか という区別がよくわかりません.たとえば foreach は予約語ですが,IEnumerable とか IEnumerator は 単なる識別子です.yield のように reserved word ではないけど contextual keyword だというような ものもあり,そのあたりのあいまいさが使っていて 美しくないというか・・・・ その辺をすっきりと理解して使いたいのですが, どのような本を読めばいいのでしょうか?
102 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 20:45:02 ] 標準クラスライブラリは言語仕様の一部
103 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 21:15:59 ] 仕様が知りたいんなら仕様書読めばいいだろ
104 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:09:48 ] っていうか別に区別しなくていいじゃん
105 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:11:43 ] >>101 C#はCLSに基づく言語だから、C#の仕様自体がCLIの仕様を包摂している。 つまり、IEnumerableなしではC#は成立し得ない。
106 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:12:29 ] >>101 JISで仕様の日本語訳出てるから、それ読めばいいと思うよ。
107 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:17:13 ] foreachについては,必要なメソッド(GetEnumerator()とか)のシグネチャさえ合えばいいのであって IEnumerableやIEnumeratorを実装している必要はないんだけどね
108 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:35:50 ] らしいな。
109 名前:デフォルトの名無しさん [2008/01/31(木) 23:46:32 ] gnuのC#って今どのくらい使えるようになってるの? なんかググっても全然出てこないんだけど
110 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:50:59 ] mono は gnu じゃない
111 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:03:43 ] mono以外に知らんの?
112 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:04:41 ] >>110 Portable.NETってのがあるんだよ
113 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:14:46 ] こんなものがあったのか・・・
114 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:16:00 ] monoと比べると随分と停滞してるがな。
115 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:00:40 ] IntPtrからbyte配列を取るとき、Marshal.Copyでコピーしますが、unsafeを使わずに IntPtrから直接配列として操作することって出来ませんか? 結構Marshal.Copyでのロスが大きくて無視できないし、折角C#を使うんだから 出来ればポインタは使いたくないので…
116 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:01:51 ] 無理です。
117 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:04:59 ] コピーしない方法ならあるよ
118 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:08:52 ] >>116 やっぱり無理ですか… やっぱりポインタ使うしかないのか orz >>117 Marshal.Read*とかでしょうか? さすがにこれをループするのはコピーするより重そうですが…
119 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:18:21 ] byte配列の長さは一定?
120 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:26:46 ] >>119 Bitmapなので変わる可能性はあります。
121 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:28:03 ] >>120 すいません、抜けてました orz 複数のBitmapを扱うので、という意味です。
122 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 08:50:42 ] 無理かな byte[]とbyte*ってメモリレイアウトもたぶん違うから byte[]→byte*なら可能ではあるんだが
123 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 12:42:17 ] インデクサ付けた構造体でラップすれば? 実装はunsafe使って
124 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:06:50 ] >>122 マネージ→アンマネージは出来てもアンマネージ→マネージが出来ないと言うことですかね? >>123 ちょっとその方法試してみます。
125 名前:762 mailto:sage [2008/02/01(金) 14:02:36 ] struct ByteArrayPtr : IList<byte> { private IntPtr ptr; private int length; public unsafe byte this[int index] { get { return ((byte*)(void*)this.ptr)[index]; } set { ((byte*)(void*)this.ptr)[index] = value; } }//あとは省略 こんな感じか byte限定じゃなくてジェネリックにしたくなるけど(T*)がコンパイル通らないね
126 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:14:38 ] where T: struct
127 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:22:14 ] >>126 (・∀・)ニヤニヤ
128 名前:デフォルトの名無しさん [2008/02/02(土) 15:00:12 ] C#でSpreadを使ってコーディングをしてるんですが、 バインディングソースからデータをバインドさせて、 文字列を表示しているセルがいくつかあり、 そのセルの文字列を組み合わせた文字列を表示したいセルがあるのですが、 どうも、表示されません。 設定としては、組み合わせた文字列を表示するセルのFormulaプロパティに CONCATENATE(A1,B1)と入れているだけです。 他に何か設定が必要なのでしょうか? よろしくお願いします。
129 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 15:12:30 ] >>125-126 structに制限しても無理 Tがマネージドな型を含む可能性があるから
130 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:43:10 ] >>107 どういうこと? implementしなくてもOKってこと?
131 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:44:17 ] >>128 SQLでとってくれば?
132 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:04:55 ] >>130 class EnumerableObject : object { public EnumerableObject GetEnumerator() { return this; } public bool MoveNext() { return false; } public object Current { get { return null; } } } このクラスのインスタンスに対してforeach使ってみるといいよ。 これはバグじゃなくてちゃんとした仕様。List<T>なんかはこれを利用して IEnumerableを実装する構造体をその型のままで返してIEnumerableへのボクシングを避けてる。
133 名前:132 mailto:sage [2008/02/02(土) 19:08:43 ] 間違い IEnumerable→IEnumerator
134 名前:デフォルトの名無しさん [2008/02/03(日) 13:37:23 ] 前スレにてTableAdapterのことを質問したものですが また質問させてください。 TableAdapterのdeleteやupdateでDBのTableを更新する時に SQLSerServerで外部キーを設定して連鎖参照整合性制約を使うことって出来ますか? 例えば二つのTableのある列を外部キーで関連付けして 同じ文字列のある行をdeleteしたりupdateしたりすることが出来ますでしょうか。 どうも上手くいかないんです。 もう一つ。 TableAdapterの更新処理はASP.NET上でしか 動作してくれませんよね? 例えば、普通のWindowsアプリケーションのプロジェクトを作成して そこにDataSet作ってTableAdapterを作成して DBの更新処理をするってのは出来ないですよね?
135 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:39:35 ] ネイティブのexeからC#で作ったDLLを呼び出したいんだけど、 手っ取り早いやり方は具体的にどんな感じになるんでしょ? 開発環境はVisual Studio 2008 Express Editionです。
136 名前:デフォルトの名無しさん [2008/02/03(日) 14:43:23 ] >>135 アセンブリをCOM参照可能にして呼ぶ。
137 名前:135 mailto:sage [2008/02/03(日) 14:46:38 ] >>136 thx!
138 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:14:42 ] C++で言うベクターってC#で言うと何?
139 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:17:16 ] List<T>
140 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:17:31 ] list
141 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:47:24 ] C++のVectorがC#のListだとすると C++のListはC#だと何になる?
142 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:49:23 ] ごめん自己解決したw 可変長配列 vector<T> List<T> 双方向リスト list<T> LinkedList<T>
143 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:58:18 ] LinkedListってなんでIList実装してないのにListなんだろう Javaに合わせたのかな
144 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:03:20 ] LinkedList は LinkedList です。
145 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:18:04 ] >>134 可能でしょ。 そもそも連鎖更新や削除はSQLServer側がする事で、.NETや言語は関係ない。 それ以上は「どうも上手くいかない」って説明では分からん。 もう一つ。 なんでASP.NETしか動作しないと思ってるのかわからん。
146 名前:デフォルトの名無しさん [2008/02/04(月) 12:43:58 ] ストアドプロシージャに連鎖更新書いて呼ぶのじゃダメなのか
147 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:25:19 ] >>146 DB側に処理置くのはいやずら
148 名前:975 [2008/02/05(火) 00:56:23 ] >>145 すいません。わかりづらいですね。 [Table1] ID Name Age ---------------- ID1 Yamada 20 ID2 Hanako 18 [Table2] ID Height Weight ------------------- ID1 170 65 ID2 160 50 手順としては上の二つのTable がある時、 1.VisualStudioのデータベースエクスプローラーから 「外部キーのリレーションシップ」ダイアログで Table1が親としてIDに対してリレーションを作成。 2.DeleteRule の設定、UpdateRule の設定を「重ねて表示」に設定。 3.Table1、Table2に関連付いたTableAdapterを作成して 1、2と同じ設定でリレーションシップを作成。 4.Table1の一行目に対してDELETE処理実行。 5.Table1の一行目は削除されるがTable2は削除されない。 ということです。 ASP.NETに関しては勘違いしていました。 >146 トリガのことですよね? 上記の方法で出来なかった場合はその方法を考えています。
149 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:45:35 ] C#ってどんな業界で使われてるの?
150 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:11:20 ] >>149 業務用で多いのは ASP.NET かな。 企業のウェブポータルなんかでは割と使われてる。 個人レベルのフリーウェアは最近結構増えてきた気がする。
151 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:26:44 ] >>150 サンクス
152 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:36:40 ] 個人レベルでちょっとなんか作るならC#でFAだな。 楽過ぎる。 でもグローバルフックに制限があったりとか WPF使ったらactivexがラップしないと使えないとか 細かい問題が多くて開発時間に影響するんだよな・・・。 それでも早いけど。
153 名前:デフォルトの名無しさん [2008/02/05(火) 22:38:25 ] >>149 人工知能
154 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:05:08 ] managedだけで済む処理しか使わないならすごく楽に作れるな
155 名前:デフォルトの名無しさん [2008/02/07(木) 10:16:54 ] (COM登録が必要な)C#で作ったアセンブリをインストーラーで配布しようとしているのですが その際プライマリ出力のRegisterプロパティをvsdrpCOMに設定しても インストール中にComRegisterFunctionAttributeのRegister、Unregisterメソッドは呼ばれないのでしょうか? (試した限りでは呼ばれませんでした) 何かプロパティを変える等で呼ばれるようにする方法はありますでしょうか?
156 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:41:01 ] SHFileOperation使えばいいんじゃね?
157 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:41:35 ] 誤爆スマソ
158 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:16:29 ] C# 2008です n < Int32.MinValue (nは0〜200くらい) が実行された際 Debugでビルドしたときは何もなかったのに Releaseでビルドしたらオーバーフローが出ました n < Int16.MinValueにしたら平気でした。 n > Int32.MinValue では平気でした。 DebugとReleaseで演算方法が違うってことでしょうか? そもそも比較演算でオーバーフロー出すようでは欠陥だと思うのですが これじゃDebugでテストするのが怖い
159 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:29:43 ] nの型は何だよ。
160 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:34:11 ] また始まった コードそのものをここに貼れよ。 それだけでオーバーフロー/フレームワークに欠陥なんて言われても。
161 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:38:06 ] >>158 処理系が欠陥だと言い切るような自信がどこから湧くのか理解できんが、 生成されてるILすら比較してみていないような感じだな。
162 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:47:51 ] まったくだ
163 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:50:27 ] ポカやってるのは>>158 でFAなのはコード見なくてもわかるけど とりあえずDebugとReleaseで プロジェクトのプロパティ→ビルド→詳細設定→演算のオーバーフロー/アンダーフローのチェック のチェックボックスの状態がちがうんじゃね?
164 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:14:46 ] Debugでは出ない例外がReleaseで出たのは経験あるな よく覚えてないけどList<T>.Sortか何かで渡した自分のIComparer<T>の実装が間違ってたのが原因だった
165 名前:デフォルトの名無しさん [2008/02/09(土) 09:47:27 ] 長いコード貼るなら pastebin.windy.cx/ pastebin.com/ こういうところだと色分けとかもできる
166 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:17:22 ] 怠け者で探しきれてなくてすみません。 MonthCalenderで、指定日をハイライトするメソッドをご教授ください。
167 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:22:48 ] SetDateか。自己解決下っぽい。ありがとうございました。
168 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:25:49 ] しかも 初心者板と勘違いした。 重ね重ね申し訳ない。orz
169 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:34:42 ] ほ、ほーっ、ホアアーッ!! ホアーッ!!
170 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:15:54 ] vjs.dllだとファイル数多いと例外なげたりとバグってたりするんですけど C#でお手軽にZIP作る方法ないですか?
171 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:36:47 ] SharpZipLibとか
172 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:39:18 ] シェルにやらせればいいんじゃね
173 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:35:13 ] zip.exe叩いた方が楽でね?
174 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 07:53:49 ] zipfldr.dll …ってシェルと同じかも
175 名前:デフォルトの名無しさん [2008/02/12(火) 08:45:53 ] Processでstartinfoに process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; 指定して、zip.exe起動すれば、dos窓でないから 一番楽だと思うが。
176 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:38:56 ] 統合アーカイバプロジェクトに登録されてるのはだめなの? そのうちファイラ作ろうと思ってるんだけど。 ttp://www.madobe.net/archiver/dev/main.html#csharp
177 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:38:27 ] もしかして、.NET Framework 2.0からZIPを操作するクラスが入ったのを知らない人多い?
178 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:46:38 ] うん
179 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:49:52 ] GZipは扱えるがZipファイルは扱えねぇなあ。 まあヘッダ処理だけ書けば大体対応できるけどね。
180 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:49:59 ] それGZIPだし ZIPじゃないし
181 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:59:17 ] 読み取り専用のDictionaryはないの?
182 名前:デフォルトの名無しさん [2008/02/12(火) 20:12:09 ] ListViewでItemを追加してEndUpDateすると、全部のItemが再描画 されてしまいます。そこでそのちらつきを出さない方法についてこちら でおききしていました。>pc11.2ch.net/test/read.cgi/tech/1197507828/859 その中のソースがC#なのでC#スレでお訊きします。よろしくです。 CodeProject Flicker-free ListView in .NET and XP. Free source code and programming help www.codeproject.com/KB/list/listviewxp.aspx にあるサンプルを試してみたのですが、DEMO版がうまくいくのにソース版 ですよ対策なしと同じでした。 ListViewのDoubleBufferingはちらつき防止に効果あるでしょうか? またowner draw にした場合は自分でItemを描画する必要があるのでしょうか。 よろしくお願いします。
183 名前:182 [2008/02/12(火) 20:18:38 ] >>182 訂正>ソース版ですよ対策なしと同じ -> ソース版ですと対策なしと同じ 該当のサイトでは public void SetExStyles() { LVS_EX styles = (LVS_EX)SendMessage(this.Handle, (int) LVM.LVM_GETEXTENDEDLISTVIEWSTYLE, 0,0); styles |= LVS_EX.LVS_EX_DOUBLEBUFFER | LVS_EX.LVS_EX_BORDERSELECT; SendMessage(this.Handle, (int) LVM.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (int) styles); } のようなコードがありました。これはDoubleBufferを使っているようなのですが、 owner draw はしてないようでした。一方、このサイトへのコメントレスとして ついていたものでは、owner draw にしておいて this.SetStyle(ControlStyles.OptimisedDoubleBuffer, True); とするだけでちらつきはなくなるようなことが書かれていましたが、これは 自分で描画してやらないといけないようでその場合どのように描画すれば よいのかわかりませんでした。自分で描画しないでも可能なような意味にも 取れてよくわからないのでした・・・ すみませんが、何卒よろしくお願いします。
184 名前:デフォルトの名無しさん [2008/02/13(水) 00:08:14 ] すみません、よろしければ pc11.2ch.net/test/read.cgi/tech/1200911737/182-183 について教えてください。何卒よろしくお願いします。
185 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:10:26 ] (>>184 は pc11.2ch.net/test/read.cgi/tech/1162467959/ への出張の間違いでした。すみません。)
186 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:46:50 ] zipの質問したものです みなさん、ありがとうございました 統合アーカイバプロジェクト(7-zip32.dll) undll.exe System.Process でやってみることにしました やってみると進行度合をウィンドウで表示してくれてちょっと鬱ですがとりあえず動いています (zip32.dllは長い名前に対応してないとか?はっきりしなかったので)
187 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:10:36 ] >>176 統合アーカイバプロジェクトのzipは処理速度遅いよ
188 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:14:46 ] >>187 代替案しめさないと意味のないコメント
189 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:25:47 ] zipってオープンソースじゃなかったっけ
190 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:29:55 ] 統合アーカイバプロジェクトなんつってる割には インターフェースが統一されてなくて使いにくいんだよな
191 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:31:45 ] 素人だからな。
192 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:58:33 ] C++/CLIでうまいことやってくれないもんかな
193 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:46:20 ] 公開された.NET Frameworkのソースコード見てたらInt32なんかもC#で実装されてるけど MSはなんか特殊なコンパイラ使ってるの?
194 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:30:56 ] VC#には、mscorlib.dllを参照させない/nostlibというオプションがある。 msdn2.microsoft.com/ja-jp/library/fa13yay7 (VS.80).aspx
195 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:46:17 ] >>188 代替案って・・^^; SharpZipLibに比べると3倍ぐらい遅いって、過去にそんな話出てたと思うが。
196 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:01:46 ] >>195 そんな話見たことねーよ どんな妄想だよ 遅いというからにはしっかり計って代替案示せ糞野郎
197 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:03:55 ] 統合アーカイバプロジェクトのzip 30秒 SharpZipLib 10秒
198 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:07:16 ] ↑なにこれ 人馬鹿にしてるの?
199 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:09:38 ] そこまで自分で性能気にするなら自分で測ればいいだろカスが
200 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:17:30 ] 代替案出せとか2chに何求めてるんだよw
201 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:26:43 ] なんか意味を取り違えてないか? 俺は196じゃないけど、196の言いたいことは「遅い」というのは 比較の対象があってこそ言えることで・・・ まあこれだけ補助線を引けば読解力ない君でもさすがにわかるだろ
202 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:40:13 ] 自演乙
203 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:52:19 ] 自演認定乙
204 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:06:24 ] 図星か
205 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:11:21 ] (・∀・)クスクス
206 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:14:24 ] 本当にこのスレにいるやつは、読解力ないのな アホばっか
207 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:16:58 ] そうだね
208 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:21:11 ] 今日は凄いくだらない事にメチャクチャ腹が立ったので、 懺悔の心でココに書くよ。 "C# bmp LockBits "でグーグル検索するとLockBits()メソッドの1つめの引数rectに Rectangle rect = new Rectangle(0,0,bmp.Width,bmp.Height); を指定するブログやら、Tipsサイトが大量に出てくるよね。 初心者向けとか言って、ご丁寧に赤と緑を入れ替えた画像とか貼ったりしてさー。 LockBits()はRectangle型のxとyしか見ない、あからさまなバグ入り関数なんだよね。 あそこは new Rectangle(0,0,1,1)で十分。 っていうか、大きな画像の一部のIntPtrを取り出したいときは、また別途Bitmapインスタンスが必要なぐらい使えない関数ww。 そっちの方がTipsとして必要だろうがwww。 10も20も「自称」プログラマのブログがあって、MSが作ったバグには一つも触れ無いんだよwwww。 おまえらは、MSの糞が食卓に並んでても気にならない本物のブタ共だよwww。 自分のブログで晒し上げにしようかと思っちゃったよww。
209 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:34:43 ] まあ208が「懺悔」の意味を勘違いしていることはよくわかった。
210 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:42:35 ] 今日は凄いくだらない事にメチャクチャ腹が立ったのでやつあたりしている。 が正しいな。
211 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:48:43 ] 「これはひどい」 「突っ込み所満載」
212 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:56:13 ] >>208 普通にRectangleで指定した範囲だけロックされるぞ (0,0,1,1)の範囲を指定したのにその外を触ろうとしたらAccessViolationExceptionが出る
213 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:05:04 ] 八つ当たりする先に困ってココに書いてるんだけどね。 >208 釣れた!! ソースはってみろよ。
214 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:05:32 ] >212だ 自分が釣られてどうする。
215 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:25:23 ] おら 奇跡は起きたか豚! tmp.Save(@"c:\tmpA.Png", ImageFormat.Png); //tmpがBitmap型な。 BitmapData bmpData = tmp.LockBits(new Rectangle(0,0,1,1), ImageLockMode.ReadOnly, tmp.PixelFormat); int bytes = (tmp.Width) * (tmp.Height) * 4; byte[] rgbValues = new byte[bytes]; IntPtr ptr = bmpData.Scan0; int a = bmpData.Height; int b = bmpData.Width; Console.WriteLine(a.ToString()+"+"+b.ToString()); //1+1 Marshal.Copy(ptr, rgbValues, 0, bytes); for (int d = 0; d < bytes; d++) { rgbValues[d] = 0xff; } Marshal.Copy(rgbValues, 0, ptr, bytes); tmp.UnlockBits(bmpData); tmp.Save(@"c:\tmpB.Png", ImageFormat.Png);
216 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:14:12 ] むしろブログでやってくれたほうが愉快だったのに、と思ってしまう。
217 名前:208,213,215 mailto:sage [2008/02/14(木) 21:15:04 ] おまえら反応無いなと思ったら。 >208>213>215 は全部俺>208だ。 ttp://hey.chu.jp/up/source3/No_13803.zip 今日は気分が良いからアプロダにサンプルまで置いてしまうぞ。 最後に俺のTipsを付けておく。 bmpData = tmp.LockBits(new Rectangle(0, 0, 1, 1), ImageLockMode.ReadOnly, tmp.PixelFormat); ptr = bmpData.Scan0; Marshal.Copy(ptr, rgbValues, 0, bytes); Rectangle rect = new Rectangle(64,64,256,128);//目的範囲をrectとすると。 for (int i= rect.X;i<rect.X + rect.Width;i++) for (int j = rect.Y; j<rect.Y+ rect.Height;j++) { int d = j*tmp.Width+i; swap = rgbValues[d * 4 + 1]; rgbValues[d * 4 + 1] = rgbValues[d * 4 + 2]; rgbValues[d * 4 + 2] = swap; }
218 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:16:29 ] >216 っていうか、 MSのフォーラムに行け。
219 名前:208 mailto:sage [2008/02/14(木) 21:19:43 ] >218も俺。 って。 >216はVSインストールした事も無いのに書き込んで居るんだね。
220 名前:208 mailto:sage [2008/02/14(木) 21:48:05 ] どうしたのですか? ゲイツのうんこ大好きなスカトロ豚さん? 31行目か60行目を Marshal.Copy(ptr, rgbValues, 0, bytes+1); // +1(・∀・) イイ って変更すると、多分お探しのエラーコードがでまちゅよ。
221 名前:216 mailto:sage [2008/02/14(木) 21:57:35 ] 215で例外になるじゃんと思いつつも、217やったらたしかに動くね。 違いと言えば、215のコードを動かしたときは tmpのインスタンスを作るときにファイルから読み込むBitmapのコンストラクタを使ったということくらい。 あと、217でtmpの中身を作るときのPixelFormatをFormat16bppRgb565にしつつ、 LockBitsに渡すPixelFormatをFormat32bppArgbにしても、探してた例外になったよ。
222 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:57:44 ] えっと・・・何?こいつ
223 名前:208 mailto:sage [2008/02/14(木) 22:02:30 ] >216 あんまり頑張るなよ。 自分でも苦しい言い訳だと思わない? >int bytes = (tmp.Width) * (tmp.Height) * 4; の"4"の意味が解らないなんて無理があるだろ。 けど、とりあえず反応してくれて、 あ り が と 。 ちなみに実行した環境とかも教えてくれちゃうと嬉しいな。
224 名前:208 mailto:sage [2008/02/14(木) 22:05:12 ] >222 良いTipsを思いついたからブログに書こうと思ったら、 世間の奴らのブタ過ぎに書くに書けなくなった。
225 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:06:44 ] >>223 いやそういうことではなさそう PixelFormat.Format32bppArgbで作ってPixelFormat32bppRgbでロックしても例外出る ビットマップのPixelFormatと違うフォーマットでロックしたらRectangleの中だけロックされるみたいだ
226 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:19:43 ] >225 そうだろうな。 そして人は Format32bppArgbなら、Format32bppArgbでLockBitする。 Format32bppPArgbなら、Format32bppPArgbでLockBitする。 Format32bppRgbなら、Format32bppRgbでLockBitする。 そうでない時エラーになるのは人として当然。 そして >225はnew Rectangle(0, 0, tmp.Width, tmp.Height)の時どう動いて欲しいのかな? >ビットマップのPixelFormatと違うフォーマットでロックしたらRectangleの中だけロックされるみたいだ (・∀・)ニヤ ぶっちゃけ書くけど、2008まだインストールして居ないんだ。俺。
227 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:33:39 ] >>223 ペイントで24ビットビットマップとして保存して、 Bitmap tmp = new Bitmap(@"h:\P1000220.bmp");のようにした。 .NET Framework 1.1 SP1と2.0 SP1 (3.5)、 VC#コンパイラ.NET 2003, 2005, 2008の3つで試した。 32ビットビットマップでやるとtmp.PixelFormatがFormat32bppArgbになってうまくいくね。 (217からGraphics作ってる部分だけ抜き出して、tmp.Saveで作った)
228 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:35:19 ] >>226 違うフォーマットでロックすることは可能 これでお前の期待する結果になる こういう仕様のようにも見える Rectangle rect = new Rectangle(0, 0, 10, 10); BitmapData bmpdata = tmp.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb); for (int i = 0; i < rect.Width * rect.Height; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff; tmp.UnlockBits(bmpdata);
229 名前:208 mailto:sage [2008/02/14(木) 22:43:13 ] >227 良く嘘をつく奴だな程度に思っていたけど、只の低脳なのか? Bitmap tmp = new Bitmap(@"h:\P1000220.bmp"); //この次の行に書け。 Console.WriteLine("tmp.PixelFormat =" + tmp.PixelFormat.ToString()); //何が見える? ペイントで24ビットビットマップとして保存して居る奴に必要なコード変更はこういう事だ。 //int bytes = (tmp.Width) * (tmp.Height) * 4; int bytes = (tmp.Width) * (tmp.Height) * 3;
230 名前:228 mailto:sage [2008/02/14(木) 22:45:30 ] 補足 tmpのPixelFormatはFormat32bppArgb
231 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:02:29 ] >>229 嘘付きと低脳だったら嘘付きがいいな。 すまん、LockBitsするときにはPixelFormat.Format32bppArgbを 指定するよう書き換えていたことをさっきからずっと忘れていた。
232 名前:208 mailto:sage [2008/02/14(木) 23:03:53 ] >228 面白い。 >225は間違って無かったんだな。 Bitmap tmp = new Bitmap(412, 256, PixelFormat.Format32bppRgb); で作って。 BitmapData bmpdata = tmp.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);//つまり同じ。 for (int i = 0; i < rect.Width * rect.Height; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff; tmp.UnlockBits(bmpdata); した場合は元のもくあみに戻るのな。 念のため for (int i = 0; i < (rect.Width * rect.Height)+200; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff; として見たが、むなしくなった。 結果は白線がのびる。 exception無し。 こちらの環境は 2005 .NET 2.0 オンリ 夜も更けて来たので哲学入ります。 俺がやってることは、世間の奴らが見向きもしないで触らずにいた汚い糞を、 わざわざどけてやってるだけなんだよな。 結果、一番得得してるのは、糞を垂れ流してる張本人って事ないか?
233 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:05:02 ] >231 わるかった。 君が板から>228なんて案も出たんだ。
234 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:32:16 ] たぶんLockBitsは指定されたPixelFormatと内部の形式が同じだったら、 コピーしないで中のメモリを直接ロックかける、 違ったら新しくメモリを用意し、そこに指定された領域を指定された形式に変換したものを 書き込んでいるという風になっている予感。 ソース見たら一発でわかるだろうな、誰かExpressではないVS 2008持っている奴いないのか? デバッグ時は厳密にチェックするルーチンを使用し、 リリースでは速度重視って切替ができたら今より良かったと思う。
235 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:34:46 ] NetMassDownloader使えばVS持ってなくてもソース落とせるよ ただ,ネイティブGDI+の関数を呼んでるだけという罠
236 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:59:50 ] >235 OSの環境に依存か。 unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228 >208がrect=(0,0,1,1)に拘ってたけど、rect=(80,64,1,1)とかは動作に影響があるな。 ソースにはラマーの意図を明確にする様に書けって話に戻るんじゃない? せいぜい他人が>217みたいなソースを書いてきたとき、頭を捻るって感じ。 そんな場面は限りなく少ないから、ググっても仕方ないで、 Q.E.D. ちなみに、俺が>208って言ったら信じる? グチっぽくならないコメントを考えるよw。
237 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:11:02 ] (´・ω・`)しらんがな
238 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:39:25 ] >>236 VistaだとGDI+ 1.1になっているから何か変更があるのかもしれない。 > rect=(80,64,1,1)とか そういうときのためのBitmapData.Stride。
239 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:11:20 ] >>236 > unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228 その条件を満たさないとき、ドキュメントにあるどの仕様に反してるんだ? 一部だけを切りだして Stride も小さくしてくれるとか、領域外をアクセスすると 違反になるとかは 208の脳内仕様じゃないいのか? LockBits は指定された領域を指定された様にアクセスできる情報を取得する ためのメソッドであって、指定領域外へのアクセスがどうなろうが別にバグでも なんでもない。ちゃんと当該領域は移動されないようロックされ、BitmapDataに アクセスするための情報も返される。
240 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:29:33 ] で、結局アホは誰だったの? 俺の他に
241 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:31:14 ] dat.2chan.net/l/src/12029988461823ffe.jpg やっぱ男はこうじゃないとね
242 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:50:29 ] コピペ君って馬鹿だな、まで読んだ。
243 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:09:48 ] コピペ君って馬鹿だな、まで読んだ。
244 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:42:33 ] Drawing::BitmapからGDI+のCachedBitmapを作成したいのですが、 Drawing::BitmapからGDI+のBitmapを取得するにはどうすればよい?
245 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:57:07 ] え? 早口言葉?
246 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:36:40 ] うわぁ・・・
247 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:59:38 ] bmp.GetHbitmap()ってことじゃなくて?
248 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:10:57 ] >>242-243 よく見るよね こういうのコピペって言うの?
249 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:34:08 ] 「コピ」−アンド「ペ」−スト
250 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:51:49 ] >240 ラマー板に良くいる。プログラミングが出来ないラマーが釣れましたね。 static void Main(string[] args) { Bitmap src = new Bitmap(64, 64, PixelFormat.Format32bppRgb); Graphics.FromImage(src).Clear(Color.Black); Rectangle rect = new Rectangle(32, 32, 20, 20); unsafe { BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, src.PixelFormat);//見える? for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff; src.UnlockBits(bmpdata); src.Save(@"same.Png", ImageFormat.Png); Graphics.FromImage(src).Clear(Color.Black); bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); //見える? for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff; src.UnlockBits(bmpdata); src.Save(@"different.Png", ImageFormat.Png); } } チマチマソース書くより、ファビョる豚の方が案外気分が良いのかもな。 ラマー板に行けば解るよ。 頭の善し悪しより声の大きさが重要ってさ。
251 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:00:12 ] >239の言葉を借りれば、 LockBits()と言う変幻自在なMS仕様を >208如きには追えなかったってことさ。 これからも、MSがカラスが白いと言ったら、絶対に黒いっていうなよw。
252 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:50:16 ] >208が見てきたサイトも解った。 >特別の事情がない限り、このコードのように全領域をロックする。 この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。 だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。 そして「どうして?」とか「事情とは何か?」って考えはとても背徳的で、>239の様に酷い罵声を浴びせられるんだ。
253 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:56:38 ] blogに書くなりMSにフィードバックするなり文句言うなりして終了だろ 何を粘ってるんだよ
254 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:58:48 ] >239みたいな奴が居なければ、>208はココに書き込まなかった って案に、個人的に酔ってみたんだ。 ラマー板で適当なスレを探そうかしら。
255 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:26:31 ] ラマー板って何かと思ったよ。初めて聞いた。 妊婦用の板かと。
256 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:28:46 ] >>255 が初めて触れた事を考えるとお前らなかなか大人だなw
257 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:30:21 ] >>254 よう、ひっひっふー
258 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:22:18 ] >>254 日本語でおk、ひっひっふー
259 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:25:27 ] マ板でやれ。
260 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:44:20 ] >>259 ラマー板でやれ
261 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:51:37 ] ここはラム板だっちゃ。
262 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:55:15 ] 混み合う電車の車内、その男は熱く堅いマラを私の後ろから押しつけてきた
263 名前:デフォルトの名無しさん [2008/02/17(日) 04:44:40 ] ラマー板吹いたwwwwww オレオレ用語キタコレ やっぱり人間、謙虚じゃないといつどこで恥をかくか分からんねw pc11.2ch.net/test/read.cgi/gamedev/1198312422/329- pc11.2ch.net/test/read.cgi/gamedev/1198312422/339 pc11.2ch.net/test/read.cgi/gamedev/1198312422/344 pc11.2ch.net/test/read.cgi/gamedev/1198312422/346 pc11.2ch.net/test/read.cgi/gamedev/1198312422/348 たぶんこいつ、このスレでファビョってる奴と同一人物だよ ラマー板も「想定」してあげないといけないらしいw 自作自演で自分の恥をうやむやにして逃げるから笑える 自分の言ってることを理解してもらえないと、ゆとりとかMS信者とか騒ぎ出すから気をつけてね
264 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 04:50:03 ] pc11.2ch.net/test/read.cgi/gamedev/1198312422/344 たしかに「プログラマじゃないから」とか言ってるし、アンカーの仕方も同じだな。 どう見ても>>250 です。本当にありがとうございました。
265 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:09:06 ] >>208 Lockbits - specifying a rectangle with pixelformat 32bppArGB connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=249805
266 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:15:18 ] >265 C#だとunsafeじゃないと動かないんだよね。それ。 一年前にVB厨が見つけたけど、(2007/01/04) Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。
267 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:28:31 ] >208がVB厨より一年遅れともとれる。 所詮「MS」フィードバックともとれる。 MSがvistaと言ったら、XPのbugfixだなんて恐れ多くて言えない。
268 名前:208 mailto:sage [2008/02/17(日) 11:39:39 ] ソースを一行も読めない>239は >236までして必死になって人格攻撃をしましたが 毎日 MSを神と崇めるだけの仕事をしてきた彼には、>250のソースからFormat32bppArgbなどの単語を 得てやっとの思いで >265のログを見つけ出すのがやっとでした。 それに対して、私は>217を new Rectangle(0, 0, tmp.Width, tmp.Height)に改め、フォーマットの 変更や限定無しに、現行xpでもvistaでも正常に動作するソースを手に入れました。 更に上司にunsafeを使った高速化を提案し、「うちはそこまでしなくてもいいよ。だけど勉強熱心だね。」と褒められました。 アンチ信者は、「アンチ」の信者と言ったのはよく言った物で、正直私は「ご利益w」の様な物を感じました。
269 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:40:26 ] 訂正 >236 => >263
270 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:45:40 ] 誰もMS信者なんて居ないのに独りで正義気取り カワイソス
271 名前:208 mailto:sage [2008/02/17(日) 11:50:23 ] ソースや文章には多くの目が加わるとより良くなるとは、 多くのプログラマやリファクタの心がける事とおもいます。 >270 ご指摘ありがとうございます。 正義では無く、私自信もひとつの「信者」と自嘲の意味を込めて書かせて頂きました。
272 名前:デフォルトの名無しさん [2008/02/17(日) 11:56:12 ] C#の質問じゃなくて.Net Frameworkの質問になっちゃうかもしれないけど PixelFormt.*のフォーマットの定義 (PixelFormat.Format24bppRgbだったらB->G->Rの順で並んでいるbyte[]とか) ってどこにあるの。 教えてください。 あと、bmp.Dispose()とか必要なん? ガベコレがよきにはからってくれないの ?
273 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:59:09 ] うむ これからも懺悔の心を忘れるなよwww
274 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:16:35 ] ソースを一行も読めない>239、とか 毎日 MSを神と崇めるだけの仕事をしてきた彼、とか 頭大丈夫か?少し休んだほうがいいぞ
275 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:41:20 ] >>272 無いんじゃね WPFにはあるんだけど 放置しててもそのうちファイナライザがGCに呼ばれてそこで解放されるけどあくまでフェイルセーフ
276 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:03:27 ] >>268 お前の成功物語は239が居なくても成立したように見える。 どこで239から利益を得たのかわからない。
277 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:15:23 ] 265 = 239 だからじゃね? >265は役に立ってる。 (0,0,1,1)のままだとvistaで転けるからw。 . .. ... (0,0,1,1)なんて発想の方がでねーだろw。
278 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:41:13 ] コピペ君って馬鹿だな、まで読んだ。
279 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:44:04 ] >>274 空気読めてないようだねw 頭大丈夫?
280 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:45:05 ] >>278 コピペしてるお前が馬鹿だということが、よくわかった。
281 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:02:57 ] >>266 >Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。 宣ってない宣ってない。 2006/05/18のblogに載ってるのは、 「Orcasでは互換性を重視してるよ。そのためにRed and Greenモデルってのを入れたんだ」 って話で、Lockbitsの話はカケラも出ていない。
282 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:18:38 ] コピペ君って馬鹿だな、まで読んだ。
283 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:19:14 ] コピペ君って馬鹿だな、まで読んだ。
284 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:26:13 ] コピペ君って馬鹿だな、まで読んだ。
285 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:13:00 ] >272 が自分にも入り要な事に気づいたので、2匹目のドジョウを狙うぜ。 だけど24,32bit系しかカバーできなんだ。orz static void Main(string[] args) { Rectangle rect = new Rectangle(0, 0, 8, 8); PixelFormat[] PFlist = new PixelFormat[] { PixelFormat.Format32bppArgb,PixelFormat.Format32bppArgb,PixelFormat.Format32bppPArgb,PixelFormat.Format32bppRgb, PixelFormat.Format24bppRgb};//ゴメン 24,32bit系しかカバーできなんだ。 Color[] colors = new Color[] { Color.FromArgb(255, 0, 0),Color.FromArgb(0,255, 0),Color.FromArgb(0,0, 255), Color.FromArgb(64, 0, 0, 0)}; //用途に応じてココは増やした方が良いな。 foreach(PixelFormat pf in PFlist) { Bitmap src = new Bitmap(rect.Width, rect.Height, pf); foreach(Color cl in colors){ Graphics.FromImage(src).Clear(cl); Console.Write("{0}|{1,5}\t",pf.ToString(),cl.ToString()); unsafe{ BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadOnly, src.PixelFormat); int pixwidth = bmpdata.Stride/bmpdata.Width; for (int i=0;i<pixwidth;i++) Console.Write("[{0,3}]", ((byte*)(void*)bmpdata.Scan0)[i].ToString()); src.UnlockBits(bmpdata); } Console.WriteLine(""); } Console.WriteLine("-----------------------------------"); } } 更に>275が書いた事が間違ってたら、 真にうけた俺は、更にバカだな。
286 名前:285 mailto:sage [2008/02/17(日) 15:20:54 ] あれ? コレじゃ俺がコピペ君みたいじゃないか。 えっと。 すまない。本当にコピペなんだ。orz
287 名前:285 mailto:sage [2008/02/17(日) 15:26:27 ] っていうか、コレ全然役にたたね。 実行しなくて良いです。 スレ汚し失礼しました。
288 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:29:06 ] >>272 .NET Frameworkの仕様というよりほとんどGDI+の仕様だけど、 ここに文章で書いてある。 ttp://msdn2.microsoft.com/en-us/library/ms534412.aspx
289 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:41:34 ] 272じゃないんだけど Dispose()は単なるメソッドで、GCとは関係なく GCはいつ回収しにくるかわからないので、明示的に解放処理をしたい場合 IDisposableインターフェイスを実装してDispose()する という解釈で合ってるのかな?
290 名前:デフォルトの名無しさん [2008/02/17(日) 19:28:52 ] サテライトアセンブリを学んでいるところです。 そこで使われている Assembly Linker の al.exe はどこの場所に インストールされているものでしょうか。 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin (Resgen.exe、Winres.exe はここにありました) を見たり検索したりしてみたのですが見つかりませんでした。 すみませんがこれについて教えてください。
291 名前:290 mailto:sage [2008/02/17(日) 20:17:21 ] 確かにal.exeは見つからないままでしたが、少なくともVS2005で作成する 場合は、コード内で、現在のスレッドのカルチャ CurrentThread.CurrentUICulture にカルチャ情報 CultureInfo() を指定するだけで該当のリソースが使われる ようでした。al.exe は無くてもVSがやってくれるので問題ないのですね。
292 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:24:53 ] >>289 うん 直接アンマネージリソースを扱ってたりして特別な解放処理が必要なクラスなら もしDispose呼び忘れても死亡しないようにファイナライザも実装する
293 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:28:56 ] ResourceHoge.resx ResourceHoge.ja.resx ResourceHoge.en.resx ... 等とするとVSが作ってくれて、実行時に選択してくれるのな
294 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:30:33 ] >>291 C:\Windows\Microsoft.NET\Framework\v2.0.50727\al.exe
295 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:32:45 ] なんでC++でなくて、C#を使ってるんですか?
296 名前:290 [2008/02/17(日) 23:58:52 ] >>293 どうもそのようです。 >>294 ありがとうございました、そこにあることを確認しました!! (Program Files の中しか探していませんでした。。。) またよろしくお願いします。
297 名前:デフォルトの名無しさん [2008/02/18(月) 01:14:00 ] >>272 憶えていないけど、どこかで見た記憶が有る、ヘルプのすごい変なところ
298 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:31:29 ] >>272 アンマネージドのラッパになっているクラスは大抵付いていてやらないとむやみに長期に渡って残るよ アプリ落とす段階で適当にコレクトされるみたいですけど。 理由は、Comインターフェイスは手動リファレンスカウンタで管理しているので、ガベコレと直接関連してくれないから。(いずれ死ぬけど) ファイル周りのDisopseは必ずやっておく事、ファイルが長時間に渡ってロックしっ放しになって 他のアプリからアクセスできなくなる。 それとスレッドを持っていてバックグラウンドで仕事をしているようなタイプのオブジェクトも これは、アプリのプロセスインスタンスが死ななくなって都合が悪い、 特にデバッグ時に停止してもなかなかIDEに制御が戻らなくなってデバッグに不便になります。
299 名前:272 mailto:sage [2008/02/18(月) 01:36:04 ] みなさんありがとう。 Dispose関係は結構複雑なのですね。 忘れないようにしたいと思います。
300 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:40:59 ] WPFでどうしてDisposeがほとんどいらなくなったのか理解できない ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに
301 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:15:29 ] コピペ君って馬鹿だな、まで読んだ。
302 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:21:14 ] ゆりしー(´;ω;`)かわいそうです みなとらじお 君が主で執事が俺で 02 www.nicovideo.jp/watch/sm2336941 伊藤静「じゃあ、次もwww」 後藤邑子「斬ったほうがいい?www」 伊藤「次は斬る?www」 後藤「どうするww」 伊藤「ペンネーム『心が綺麗な天使』から頂きましったww(フンッwww) 私はこの日本に住むのにはピュアすぎます。どのようにしたら天使のような私がこの今の日本に馴染めるのでしょうか?」 後藤「.........ウザい」 二人「キャッハハハハハwwwww」 伊藤「ちょほんとさあ、大丈夫?www」 後藤「おい天使、おいおい自称天使ww」 伊藤「自分が天使だと思ってること自体がちょっと間違ってんじゃないの?っていうねwww」 後藤「うん。ね。ちょっと軽く(精神病院に)通院してみたほうがいいんじゃないの?www もしくは、今の日本に馴染めるようにちょっと汚れちゃえよwwww」 伊藤「それかもう日本出て行ったらいいんじゃないの?www」 後藤「天使が住める国にwwwwwww なんかエルフの国とかに行ったらいいんじゃないの?wwww」 伊藤「妄想の中とかに(プフッww)行っちゃえばいいんじゃないのwww」 後藤「コワイヨーwwwコワイヨーwwwww」 二人「クックックックwwww」
303 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:17:14 ] >>300 >ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに それはXAMLのエレメントを表現したオブジェクトのツリー アンマネージドリソースは持ってない。
304 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:43:41 ] ニコ厨氏ね
305 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:19:34 ] おまえら、木曜日から酷い有様だな。ちょろ過ぎる。 >208、>250なんてさ >ソースには(プログ)ラマーの意図を明確にする様に書けって話 (引用 ケントベック) > この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。 > だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。 >そして「どうして?」とか「事情とは何か?」って考えはとても背徳的 (読んだことあるけど失念。トム・デマルコ風?) > ソースや文章には多くの目が加わるとより良くなるとは、(出典 Refactoring to Patterns) これ引用ばかりww。 それどころか、ぜんぜんランクの低いそれらをやたら勧める「アジャイルw」の口伝だろw。 >208はどう見ても真っ赤な信者です。本当にありがとうございました。 本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。 それなのに、オマエらチャンスボール多すぎ。常識的に>227なんてありえないし。 >270>271繋がりはなんだ?便利すぐる。 執拗に人格攻撃してるのは、>239に過剰反応したコピペ君の>250なのが事実。 最後に、自分からの信者宣言まで許すし。...もう訳がわからん。 こんなの>208への接待プレーか、>250は>208の素敵な自作自演ですと思われても仕方ねーだろうよ。JK 本当にちょろ過ぎる!!! そりゃ便乗して論破狙いに「C#ってなに?」な奴も湧くよwwww。 NetMassDownloader片手にさww。 そういう本を読んで、頭良いと勘違いする只のガキは五万といるんだからな。 覚悟しとけ。 !!! 俺 も 含 め て 5 万 + 1 wwww !!!
306 名前:239 mailto:sage [2008/02/18(月) 11:46:43 ] 想像したり実験したりしながら「動けばいいや」とコードを書き、 仕様が想像と異なっていたらAPIのバグだと主張するという素敵な スタイルを否定した漏れも悪かった。
307 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:48:02 ] コピペ君って馬鹿だな、まで読んだ。
308 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:55:24 ] >306 つttp://www.amazon.co.jp/Microsoft-NETでのテスト駆動開発-ジェームス・ニューカーク/dp/4891004428
309 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:01:33 ] >>308 何かお探しですか? 入力したURLが当サイトのページと一致しません といわれました
310 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:06:50 ] 239が265って線は消えたな。 つttp://www.cbook24.com/bm_detail.asp?sku=4891004428 URLがどうこう以前に、会社か学校に「テスト駆動開発」の本が無いの? >想像したり実験したりしながら「動けばいいや」とコードを書き、 >仕様が想像と異なっていたらAPIのバグだと主張するという素敵な >スタイル がそのまま載ってるだけなんで、 御社では別によまんくても良いんじゃない? urlをクリックしてくれただけで十分です。
311 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:07:12 ] >>309 www.amazon.co.jp/dp/4891004428 実は書名の部分は削っても同じページが表示される。
312 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:11:50 ] 主張するっていうか、発見したとした方が嫌みが無いよ。
313 名前:305 mailto:sage [2008/02/18(月) 12:22:37 ] MSは、VS2005あたりからユーザーのニーズに応えて「テスト」って機能を付けたけど。 自社製品では「テスト」しないんだね。 みんなでerrorを見つけてbugfixしようよ。 みんな幸せになろう。 って書くと、もうアンチ信者なのか? orz
314 名前:305 mailto:sage [2008/02/18(月) 12:35:48 ] ttp://ja.wikipedia.org/wiki/ソフトウェアテスト#.E3.83.96.E3.83.A9.E3.83.83.E3.82.AF.E3.83.9C.E3.83.83.E3.82.AF.E3.82.B9.E3.83.86.E3.82.B9.E3.83.88 ダメだ。 俺センス無いな。 urlクリックでは行けない。 239の後輩が基本情報処理技術者の資格もってれば教えてくれるよ。
315 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:49:37 ] >>301 お前うざい
316 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:52:07 ] 自校紹介 >305 >本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。
317 名前:305 mailto:sage [2008/02/18(月) 13:17:03 ] 俺の希望を言わせてもらえば、 誰でも良いから。 239を語って 「208はマジで行き当たりバッタリで、TDD風味なのは最悪コピペ野郎の250!! なんだよ、どっちも糞じゃねーか!!」 ぐらいの線だったんだけどな。
318 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:24:36 ] >>313 いやいや、テストしないとかありえないだろ。 MS はテストだけで部署が1つある。
319 名前:305 mailto:sage [2008/02/18(月) 14:31:04 ] >265 ループかよ。 俺もうこのクソコテいらねーよ。 気分はアレだ。せっせっと地雷埋めて、味方が乗ってるときに起爆しちゃったぐらい。 俺、208みたいに全レスとかしないから。 テストってなんの事かなさっぱりわからないや。 208にでも言わせろ。
320 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:06:29 ] おまえらさ・・・本当にC#の質問したい奴ができない雰囲気になってるからやめとけよ
321 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:03:16 ] >>315 コピペ君って馬鹿だな、まで読んだ。
322 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:11:39 ] >>303 BitmapSourceとかGeometryとか描画の低レベルなところはアンマネージリソース持ってるよ
323 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:02:07 ] トータルで見るとGCって不便だし、余計に頭を使う。
324 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:14:08 ] System.InvalidCastException: 型 'System.DBNull' のオブジェクトを型 'System.String' にキャストできません。 SqlServerからSelectしてきたDataRowを表示したいのですが、上記のエラーが出ます。 下記のように書いても、'System.DBNull' は '型' ですが、'変数' のように使用されています。 ということでビルドできません。typeofとか使っても駄目です。 VBだとIsDBNullってあるようですが、C#ではどうしたら良いのでしょうか? if (row.Name != DBNull) Console.WriteLine("Name: {0}", row.Name);
325 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:18:48 ] msdn2.microsoft.com/ja-jp/library/system.dbnull (VS.80).aspx >DBNull はシングルトン クラスです。つまり、このクラスのインスタンスは 1 つしか存在できません。 その唯一のインスタンスは DBNull.Value です。
326 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:18:57 ] 知らんけど if( !(row.Name is DBNull) )
327 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:22:22 ] rowにIsNameNullみたいなメソッドがあったはず
328 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:28:52 ] みなさま、どうも有り難うございます。 >>325 その説明がまた難しかったです‥‥。 row.Name != DBNull.Valueでも同じエラーでビルドできませんでした。 >>325 is演算子なんて、初めて使いました‥‥。 結果は同じだったんですけれど。 >>327 なんと、確かに勝手に作られました!! カラム分のrow.Is○○Nullが生成されるようです。 気付かず、申し訳ありませんでした。 皆様、どうも有り難うございました。
329 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:31:52 ] >>324 if(row.Name != DBNull.Value) でどうか。
330 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:36:04 ] >>329 俺レス遅すぎorz。 つーか、よく考えたらコンパイル通らんな…。
331 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:36:06 ] ぶっちゃけ、自動生成されるプロパティ public string Name { get { }} のなかが、if( row.Name.type == DBNull ) throw Exceptionみたいな インプリになってるから、Nameを触った時点で終冬 StringならプロパティでNULL時に代替する値を設定できるけど、 Nullable型はどこへ行ったの、って感じ。
332 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:39:59 ] ちゃんとDBのスキーマでNot NullにしたカラムではIs○○Nullが作られないんですね。
333 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:25:34 ] ある指定されたファイルの先頭と最後に固定データを付加して、別ファイルに保存する方法が分かりません。 先頭の固定データを設定したByte配列に、元ファイルを読み込んだByte配列をコピーするような方法しかないものでしょうか?
334 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:32:29 ] 先頭に固定データを書きこんだ後に続けて 元のファイルの内容を順次書き込めばいいだろ
335 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:09:01 ] StreamをUriとして扱ういい方法しりませんか? やりたいのがzipで圧縮されたMP3をメモリ上に解凍したものを MediaPlayerで扱いたいとか HTMLが含まれたメールのHTML部をメモリに抽出したものをwebbrowserで開きたいのですが メモリ=>Uriとして扱うために、一旦ファイルに落とせば出来るのですが、 ファイルに落とさずに行いたいです。
336 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:12:12 ] ウェブサーバ機能も搭載してしまうとか。
337 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:19:59 ] >>336 >ウェブサーバ機能も搭載してしまうとか。 すいませんが、知識がありません。 もうちょっと、ヒントを あんまり、大がかりにはしたくないのですが、 WCFでちょちょいと出来そうなら、 チャンスなので、WCFとかの勉強をしてもいいかなとも思ってますが。 さくっと見てみた限りでは、ちょっと違うかなぁと (出来るかもしれないし、出来ないかもしれない) 今は、飛び込むのに迷ってはいるのですが。
338 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:47:15 ] >>337 System.Net.HttpListener で適当なポート Listen しといて、 要求があったら Response にファイルを返す。 ブラウザで localhost: ポート番号/ を開く。
339 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:15:07 ] >>338 回答ありがとうございました。 MSDNにあるサンプルで試したところ、 簡単にできそうですね(さしあたり、HTMLメールの方は出来そうなことを確認)。 ながいこと方法を探していたので、本当に感謝致します。m(_ _)m
340 名前:デフォルトの名無しさん [2008/02/19(火) 21:36:35 ] ReSharperを購入したことのある方いらっしゃいますか? ReSharperを購入しようと思い、JetBrainのサイトからクレジットカード(Visa)での購入手続きを行ったのですが 数時間後にメールが支払い手続き失敗のメールがきてしまいます。 このカードで他の買い物はできているのでカードが使用不能になっているわけではないと思うのですが・・・
341 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:40:02 ] ドル決済ができないとか、海外利用に制限かけてあったりとかじゃないの
342 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:47:10 ] あれ、List<T>にIsReadOnlyは無いの?
343 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:50:01 ] >>342 ICollection<T>にはある。もちろんList<T>も実装している。
344 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:54:14 ] なんでList<T>をICollection<T>にキャストか何かしないと使えないの? List<T>のまま直接IsReadOnlyを参照できればいいのに
345 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:04:55 ] List<T>は絶対読み取り専用じゃないから無意味
346 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:17:23 ] んー、インターフェースのメソッドやプロパティを一部隠せる構文ってあったの?
347 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:19:11 ] 明示的な実装
348 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:22:13 ] なるほど いろいろとサンクス
349 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 09:08:53 ] exe形式のCOMサーバー作るのもやり方がわからず困ってます。 ATLのhoge.exe /regserverのような自己登録型のCOMサーバーのことです。 単にCOMインタフェースを持ったexeを作って、regasmやgacutilでCOM登録はできるけど、 これだと単にDLLサーバーと同じ働きしかしない。 つまり、アプリ側でそのexeを参照してCOMが使えるけど、アプリごとにロードされる。 COMは1つだけロードされて情報を共有したいのですが・・・ こういうのってC#だとCOM+(コンポーネントサービス)で実現すべきですかね? C#でCOM+作ってregsvcsで登録、複数アプリでの情報共有はできることは確認できたのですが。
350 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 09:24:40 ] RegistrationServices.RegisterTypeForComClients でなんとかできるのかもしれない
351 名前:349 mailto:sage [2008/02/20(水) 11:14:51 ] んー、これは、プログラムからCOM登録するというだけではないですか? 自分はCOMがマシンでシングルトン的に動く事を期待しているので。 それで複数のアプリがそこへCOMインタフェースを介してアクセス。
352 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:43:57 ] RegistrationConnectionType 指定できるじゃん?
353 名前:340 mailto:sage [2008/02/20(水) 12:03:31 ] >>341 フォームからは日本円も選べるので 日本からの購入も可能なのかと思ったんですが…
354 名前:349 mailto:sage [2008/02/20(水) 12:03:35 ] うお、なんかできそうな気配がありますね。 ちなみにこんな記事も見つけた。 ttp://www.codeproject.com/KB/COM/ActiveXEXEWrappers.aspx ここではEXE COMサーバー(ActiveX EXE)に相当する物は.netにはないから、 一度.netでCOM作って、それをnativeなActiveX EXEアプリで参照して、 メソッドラッピングするという話。
355 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:28:46 ] >>353 >>341 が言ってるのは、カードの設定のことじゃないのか。 まあ、クレカ関連のトラブルはカード会社に電話するのが一番手っ取り早いと思うよ。
356 名前:340 mailto:sage [2008/02/20(水) 12:38:52 ] >>355 ありがとうございます。 問い合わせてみます。
357 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:53:15 ] 期限の年月を逆にかいてないか?
358 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:52:37 ] 買い物したことあるみたいだから、それは無いと思うが、、、たまたまあってたのかもしれんしな。 2012年を過ぎればこんな心配も無くなるなw
359 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:18:00 ] 偶然08/08だったので気づかなかったりw
360 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:48:48 ] >>334 ありがとうございました
361 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:32:37 ] JAVAとC#どっちがリバースエンジニアリングに強い? どっちも変わらない?
362 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:58:33 ] 変わらないと思う。
363 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:33:09 ] 実際のところ難読歌どうなんだろうね。 すんごいクラス細かく分けてあって、名前がa1とかだったらそれなりに調べるのに時間かかるとは思うんだけど。 一メソッドの中のロジックはともかく、複数のクラスの相互関係とかは結構追いにくくなりそうだけど。 もちろんバイナリのほうがいいのはいうまでもないが。
364 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:39:16 ] リフレクションしてたら死ぬからできればやめといた方が無難
365 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:21:01 ] バイ…ナ…リ…?
366 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:26:19 ] 意図せずリフレクションが使われてることはよくある。 Enum.Parseとかも駄目。 そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。 駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。 難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。 ほんのちょっと読みづらいだけだよ。
367 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:21:38 ] >>365 そのまま、ネイティブバイナリの意味ですが?普通に読めば.NET ILコードとネィテブバイナリを比較して行ってると思ったんだけど・・・ >>366 >意図せずリフレクションが使われてることはよくある。 >Enum.Parseとかも駄目。 >そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。 それはめんどくさそうですね。 >駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。 >難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。 ので全部のクラスに難読化かけたときは全体の構造追いにくくなるのである程度は意味ないかと思ったんですけどね・・・ じぶんならかなり見る気がうせるし、追ってくのにも時間かかるだろうから、それなりに障壁にはなるかと。
368 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:08:05 ] てn ttp://data.exet.nu/bildarkiv/svarv/02.jpg
369 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:34:00 ] ↑グロ注意
370 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:39:20 ] Console.ReadKey を使ってそれなりにリッチなコンソール インターフェイスを 構築しようとしているのですが、(Console IME は使えなかったのでテストして いませんが) 非 ASCII 文字をペーストすると変に分解? されてしまうようなの ですが、何か対策は無いものでしょうか。どうかご教示願います。 /* コード */ char c; while (true) Console.WriteLine("{0} ({1})", c = Console.ReadKey(true).KeyChar, Convert.ToInt32(c)); /* 結果: (入力orペースト -> 出力) a -> a (97) A -> A (65) あ -> ? (130)\n? (12448) い -> ? (130)\nア (12450) ア -> ? (131)\nぁ (12353)
371 名前:デフォルトの名無しさん [2008/02/24(日) 22:12:17 ] TextBox textBox; textBox.AppendText("1\n"); textBox.AppendText("2\n"); textBox.AppendText("3\n"); textBox.AppendText("4\n"); textBox.AppendText(textBoxLog.Text); とすると、 1 2 3 4 1234 ってなるんだけど、最後の行で改行が消えるのは何故? 改行を保存するにはどうすればいいの?
372 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:14:22 ] 正しい改行は\r\nだぜ
373 名前:デフォルトの名無しさん [2008/02/24(日) 22:20:04 ] ちょっと質問の仕方を変える。 TextBox textBox; textBox.AppendText("1\n"); textBox.AppendText("2\n"); textBox.AppendText("3\n"); textBox.AppendText("4\n"); textBox.AppendText(textBoxLog.Text); とすると、 1 2 3 4 1234 ってなるんだけど、初めの4文字は改行されて、最後の4文字は改行されないは何故?
374 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:38:18 ] >>373 Dock=FillとかにしてTextBoxのサイズがウインドウサイズに連動して変わるようにして、 表示した後にサイズを変えてみ。 \nじゃだめなことがわかるから
375 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:40:08 ] 逆に、なぜ\nでも一見改行されているように見えるのかと聞いているのかもしれない。 それなら、俺も聞きたいところだ。
376 名前:デフォルトの名無しさん [2008/02/24(日) 22:46:38 ] >>374 >>375 の言う通り、初めの4文字が「\nじゃだめ」じゃない理由を知りたい。
377 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:20:55 ] x.SelectionStart = x.TextLength ってやると末尾に\nが来た場合次の行にカーソルが行くから、かね
378 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:24:02 ] 最善策: Environment.NewLine
379 名前:デフォルトの名無しさん [2008/02/24(日) 23:41:20 ] 昨日プログラムを始めたばかりなのですが、本にintは数値を入れる箱と書いてあったのですが どういう箱なのでしょうか?いまいち解らなくて・・・
380 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:01:41 ] >>373 textBox.AppendText(textBoxLog.Text + "\n"); で解決とか言う問題ではないのよね?
381 名前:デフォルトの名無しさん [2008/02/25(月) 00:03:56 ] >>380 ではないね。
382 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:06:43 ] >>379 なれるまで使い続けろ
383 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:09:02 ] ____ /...... .. .../ ||::: ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ | ̄\ ( ゚Д゚)< こういう箱。 | |: ̄U U ̄:|\_______ | |: int :|  ̄ ̄ ̄ ̄ ̄ ̄
384 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:10:07 ] intはどっちかというと箱の形だと思う
385 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:17:59 ] 型の話をするとなっがーくなるぞ
386 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:35:41 ] >>379 ふらっと池 諸先輩方の仰る通り、とりあえず変数は一通りその存在に慣れて、その後に 詳細を理解した方が良い。
387 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:37:02 ] >>383 それはむしろ object @int = new Giko("こういう箱。"); じゃw
388 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:39:10 ] >>379 メモリにも、処理可能な量にも限界がある(有限)ため、資源を区切って使う必要がある。 どんな箱かと言われたら、一般的な段ボール箱かな?
389 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 03:15:45 ] 詳しいことは知らないので適当に書くが、 半導体が帯電しているかしていないかで0,1をあらわす それを32個組み合わせたものがintで、 intは2の32乗の状態をもつことが出来る。 一つ一つの状態は整数の値に対応し、四則演算などを行うことが出来る つまり整数を入れるのがint
390 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 04:00:04 ] 適当すぎてワロタ
391 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:33:29 ] >>379 英語の文法を意識して話してるうちは英語が話せないのといっしょ。 でも、たとえも良くないな。 数学の変数と同じと思う方がいい。
392 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:40:04 ] よく使われるけど「箱」って絶対分かりにくいと思う。 数学の x や y と同じで、ただ代入できる数値に制限があるってだけで 中学生以上なら誰でも理解できると思うんだけど…
393 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:43:35 ] 代入演算子が "=" なのがそもそもオカシイ もう慣れちまって違和感無いけど
394 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 10:03:33 ] 代入が「演算」かどうかという点からして微妙なんだがな
395 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:11:48 ] そうですか
396 名前:391 mailto:sage [2008/02/25(月) 11:39:35 ] >>392 Cの時代はポインタの理解の布石として箱で理解する必要はあるかもしれないけどね。 今時の開発で初心者が箱で理解する意味なし。
397 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:14:14 ] Cの場合、ポインタで直接中身をいじる感覚を把握するために、 箱モデルの必要性があった。 現代的な言語、たとえばJavaなら、プリミティブ値かオブジェクトに付ける名前、 あるいは名札、という概念で把握できるから箱モデルいらね。
398 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:15:07 ] というかC♯スレだっけ、ということで、 s/Java/C♯/
399 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:25:00 ] 保存媒体のケース カセットテープのケースにはカセットテープが入る MDのケースにはMDが入る 形が似てるものは互換性があったり(あるように見えたり)する 何でも入れられるケースもあるけどな
400 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:36:02 ] その文脈で何でも入れられるケースが出てくるのはおかしい 箱で考えるとその辺で悩む奴がいる
401 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:49:27 ] ヒープとスタックくらいは構造意識してプログラミングしようよ。
402 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 13:11:27 ] 今ある言語の「型」は性質によって定義されるのであってメモリ構造とかは付随的なものだから 記憶構造とか意味が無いよ むしろ「自然数」という型を数学的に定義しているペアノの公理とかの方に引っ張っていくべき
403 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:02:11 ] 行き過ぎた抽象化や比喩は弊害になるいい例なんだと思う 自分の指示がコンピュータのどの資源をどのように確保したかを理解せずまともなプログラムが出来るなんて 現実感の足りない偉い学者の夢想物語で未来永劫そんな理想環境が訪れることは無いんじゃないかな ペアノとやらでメモリの話を避けてintの定義と機能を説明できる?
404 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:32:42 ] 初心者は型の無いシンプルな言語から始めたほうがいいのじゃないだろうか。
405 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:00:55 ] 型があったほうがコンパイル時にエラーで教えてくれて親切だと思うんだけどなぁ
406 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:10:24 ] 型無し言語ほど恐ろしいものはないわ
407 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:10:56 ] >>403 できる
408 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:29:06 ] 箱とか数学よりも擬人化したほうがいいだろjk
409 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:32:44 ] C#で多倍長整数を構造体で定義することを考えてみ メモリ云々よりも性質から攻めていった方が楽だろ? 型っていうのは性質によって定義されるものなんだろjk
410 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:37:14 ] 型宣言省いて上手く動かず 全部intで処理して挙動不審 floatで期待した結果を得られず ホビープログラムで経験して理解した者が這い上がってくるって事で良いんじゃないだろうか 別の山道ももちろん在るけど
411 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:46:34 ] implicit operator実装しまくればVariant型を作れるかな
412 名前:デフォルトの名無しさん [2008/02/25(月) 17:34:41 ] C#で、グラフ構造を表示するのに便利なライブラリーってありません?
413 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:58:11 ] ListViewの詳細表示で、他のコントロールを貼り付けるにはどうしたらいいですか?
414 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 19:12:15 ] >>413 ListViewを使うのは諦めた方がいい。 DataGridViewとか使ったら? WPFなら融通利くかな・・・。
415 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:49:30 ] >>411 System.Variant
416 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:52:35 ] >>413 貼り付けるだけなら control.Parent = listview; サイズはListViewItem.BoundsとかListViewItem.ListViewSubItem.Boundsとかで拾う 制御するにはイベントだけじゃ無理でWndProcをオーバーライドして適宜メッセージ処理する必要あり
417 名前:デフォルトの名無しさん [2008/02/25(月) 23:52:39 ] ArrayListにString配列をAdd()で格納*n回繰り返す → それぞれのStringデータに1バイトずつbyte型のデータを 付加して、String配列を一つのStringデータにする。 やり方をどなたか分かる方おりませんか? StringBuilderでStringをアペンドすることは出来るのですが、 byte型のデータをアペンドするときに0x12が0x3132になってしまいます。。
418 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:00:24 ] 要するに、そのbyte型データ(bとして)がstringになればいいんでそ。 System.Text.ASCIEncoding.GetString( new byte[] { b } ) でも使って変換すれば。
419 名前:417 [2008/02/26(火) 00:07:35 ] >>418 さん ありがとうございます!!! 大変助かりましたし、勉強になりました。 本当にありがとうございます。
420 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:13:01 ] もち、ASCIIの範囲超えたら例外だかんね。 文字列はUnicodeとして合法な並びにしかならないから。 それが嫌なら、全部バイト配列でやるこったね。
421 名前:417 mailto:sage [2008/02/26(火) 00:30:42 ] 文字列で処理する方法を諦めかけていたとき、 byte配列で処理することも考えていました。 データ長が可変なこともあってArrayListで 処理していたのですが、 ArrayList = new ArrayList(); arylst.add( b ); //byte型で0x12を格納したデータ arylst.add(bytes); //文字列をbyte配列に変換したもので0x35363738(5,6,7,8)を格納したデータ byte[] = (byte[])arylst.ToArray(typeof(byte)); と処理すると、ToArrayの箇所で必ず、『キャストできませんでした』という 例外になってしまっていました。 もしよろしければ、上記のbyte配列で処理する手順で 例外にならないようにbyte配列を生成する方法を 併せてご教授いただけませんでしょうか?
422 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:41:18 ] その文字列を、どのエンコーディング使ってByte配列にしたいかによって話も変わってくるけど、 List<byte> bytelist = new List<byte>(); bytelist.Add( b ); bytelist.AddRange( System.Text.UTF8.GetBytes( "abcdefgh...") ); みたいにして、最後にbytelist.ToArray();とでもすればいいんじゃないの。
423 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:54:23 ] 417-418を見て思ったんだけど、(char)bってできなかったっけ?
424 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:12:57 ] 出来ますが、文字コードに変換されてしまいますよ
425 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:29:57 ] >>421 arylstの中身は { b, bytes } bytesがbyte[]型ならbyte型にキャスト出来ないのは自明 配列をばらして追加したいならAddRange() >>423 >>424 ASCIIの範囲なら問題ないんじゃないか? 0x30を"30"ではなくて'\x30'に変換したいだけだと思ってたんだが違うのか
426 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:37:32 ] あ、"30"じゃなくて"48"か >>417 につられて間違えた
427 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:15:43 ] process.start(exe, arg)でargが2056文字だと正常に動作するけど 2057文字だとエラーになります. なぜだか原因,仕様等知っている人いたら教えてください.
428 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 07:21:24 ] コマンドラインのバッファ制限
429 名前:デフォルトの名無しさん [2008/02/26(火) 09:06:18 ] グラフ構造を見やすく表示するようなコントロールって どこかから発売されているのでしょうか?2Dでも3Dでも かまいません。.NET で使えるものを探しています。
430 名前:391 mailto:sage [2008/02/26(火) 10:02:48 ] >>409 同意。 Marshalとか使い出さない限りは問題ない。 数学Iができてればプログラムは問題ない。 II以降の偏差値50切ってる俺ですらできてるからな。
431 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:06:14 ] 問題ないと思っているのは本人だけ。 そもそも優秀な管理者は部下にぎりぎり問題の無い仕事を与える。
432 名前:デフォルトの名無しさん [2008/02/26(火) 11:16:40 ] ちょっと質問なんですが、 // IE オブジェクトを作る Type typ = Type.GetTypeFromProgID("InternetExplorer.application"); object ie = Activator.CreateInstance(typ); これで新しいIeのインスタンスが出来るんですが、 既に起動しているIeのハンドルからobject ie を設定する方法ってのは ないものでしょうか。よろしくお願いします。
433 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 11:46:09 ] ShellオブジェクトのWindowsメソッドで列挙してHWNDプロパティ見てけば
434 名前:417 [2008/02/26(火) 12:40:48 ] >>422-426 大変助かりました。 ありがとうございました。
435 名前:デフォルトの名無しさん [2008/02/26(火) 13:35:30 ] ArrayListにAddした複数のbyte配列を、ToArray等で ひとつのbyte配列にはできないのでしょうか?
436 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 13:44:34 ] byte[] array = list.OfType<byte[]>().SelectMany(a=>a).ToArray();
437 名前:デフォルトの名無しさん [2008/02/26(火) 14:33:53 ] 説明が足りませんでした。 開発環境はVS2005です。
438 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:36:07 ] というかまだ ArrayList 利用者っているの? 1.1 に縛られてるなら仕方ないが、そうだと>>436 使えんし
439 名前:432 [2008/02/26(火) 16:36:13 ] >433 Shellですか。(^^; Shell = CreateObject("Shell.Application"); foreach (object Obj in Shell) こうやってもobject型がGetEnumeratorを含んでいない為 列挙が出来ません。 何か良い方法があるのでしょうか。
440 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:59:06 ] Shell.Windows
441 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:43:39 ] >>438 配列に縛られてる奴等はいっぱいいる。
442 名前:デフォルトの名無しさん [2008/02/26(火) 22:07:29 ] リモートデバッグの仕方がわかりません。 プロセスにアタッチはできるのだがブレークポイントが有効にならない。 なんで? VisualStudio2005 C#
443 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:27:20 ] 目的のプロセスがデバッグ情報ないのでは。
444 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 06:19:01 ] どういうプログラムをデバッグをしたいのかとか、 実行した手順を書かないとエスパーでないと答えられん
445 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 17:46:00 ] フォームのタイトルってTitleで何度も書き換える事はできないのでしょうか?
446 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:04:02 ] Form.Text
447 名前:445 mailto:sage [2008/02/27(水) 19:22:13 ] >>446 それが反映されないのです。 form2.Show();したものですからかね?
448 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:46:09 ] form2.Text
449 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:48:49 ] Application
450 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:14:53 ] 別スレッドから書き換えてたりしないだろうな
451 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:54:13 ] たぶん違うインスタンスのプロパティいじってるとエスパー
452 名前:デフォルトの名無しさん [2008/02/28(木) 20:42:52 ] C♯[windowsプログラミング]の問題集を買ったんですがどうしてもわからない問題があったので教えてください 問題:以下の説明に該当するイベントを答えなさい @ボタンをクリックしたときに発生する Aラジオボタンの選択された時発生する Bテキストボタンの値が変わった時発生する Cフォームが閉じる時発生する Dタイマーが有効になった時に一定時間間隔で発生する
453 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:01:02 ] VC# 起動してフォームにそれぞれ配置して プロパティのイベント見れ 親切に説明書いてあるから
454 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:06:11 ] 分からなくても全然OK。IDEが助けてくれるから。
455 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:11:42 ] そんな名前なんてほとんど役に立たない知識だと思うけど。 糞問題集だな
456 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:13:22 ] 発生することの名前の前に「On」を付けろ。
457 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:29:57 ] よーし!パパ、役に立たない豆知識を問題集にしちゃうぞー!
458 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:57:23 ] 問題集を見ただけで本全体が糞であると予想できる。 今すぐゴミ箱に捨ててプログラミング.NET Frameworkを買うんだ。
459 名前:デフォルトの名無しさん [2008/02/28(木) 22:21:41 ] 数年前、C#をかじった程度で久しぶりに他人の書いたソフトを見ていて 驚愕した。アンマネージDLLの関数をコールする際の話なのだが、 文字列を渡すためにcharポインタを渡すところでいきなりC#からstringを渡している!? それでちゃんと動いている・・ また、普通に配列を渡したりもしている・・配列の「参照」ってポインタなの? stackallocとか使ってポインタを使わないとダメだと信じてたのに・・
460 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 22:23:49 ] つ 相互運用マーシャリング つかこの辺参照しないでよくP/Invokeやってたな
461 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 23:15:10 ] >>452 は釣りだろ? まさかそんな問題集が存在するとは思えない
462 名前:980の続き [2008/02/28(木) 23:58:32 ] 461>学校のほうで販売されていた問題集なんです
463 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:01:09 ] >>462 先生説教して来い
464 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:11:53 ] 恐らく、問題集が問題なのではなく、>>452 の書き方が問題。
465 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:29:42 ] >>452 が単位を落としますように。
466 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:08:17 ] DBに登録済みの、あるテーブルのスキーマから空のDataTableを作成したいんですが、 方法ありますか?列をちまちま追加するより簡単に
467 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:43:50 ] >>466 普通に、空のDataSetをVS上で作って、 (newするのじゃないよ) Adapterでつなげばいいんじゃね?
468 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 05:42:16 ] DataAdapter.FillSchema
469 名前:466 mailto:sage [2008/02/29(金) 15:17:53 ] >>468 これでおkみたいです。thx
470 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:12:01 ] コマンドプロンプトを使って、NetUseコマンドにてドライブを作成したいのですが、 接続対象のパスに空白が含まれている場合はどのように入力したらいいでしょうか?
471 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:16:27 ] "
472 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:48:11 ] "
473 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:00:01 ] "なぜ ここで聞くんだ?"
474 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:30:14 ] 相談室だから。
475 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:08:31 ] もし学生さんなら是非、進路指導室に喧嘩の指導をお願いしに行ってみて欲しい
476 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 13:23:03 ] 子供相談室に包茎の悩みを聞いてもらっておk?
477 名前:デフォルトの名無しさん [2008/03/01(土) 19:53:06 ] DrawEllipseって何でこんなに使いづらいんですか? 中心点、半径を引数に与えれば円を書いてくれるような関数にすればよかったのに。
478 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 19:55:39 ] それは楕円の特殊なケースだからなぁ ラップすればいいんじゃね
479 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:16:51 ] 楕円でも短径と長径を・・・ってのはいいとして、 表示したい範囲がはっきりするので この仕様の方が便利な事もまああるし、 幅が偶数ピクセルだと 「中心」 が上手く定まらないので、 最も汎用的な関数としてはこうせざるを得なかったんだろう。 ラッパ関数くらい用意して欲しかった所ではあるけど。
480 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:22:16 ] ラッパラッパってポリモーフィズムくらい使えよ。
481 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:23:48 ] ポリモーフィズム関係ないだろ
482 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:26:57 ] 間違ったポリモーフィズムの代表例じゃないかw
483 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 21:23:41 ] >>479 > 楕円でも短径と長径を・・・ 定義通りにするなら、焦点2つと距離の和(=長径) でも、GDI使うような場面では使い難いと思うが
484 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 23:42:41 ] つか拡張メソッド
485 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:07 ] 中心の座標と半径でって未だにそんな大昔のMS BASICみたいな発想をする人がいたことにむしろ驚きw どう考えてもそんなの使いにくいだろう
486 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:49 ] 質問です。 static int deg = 90; const double rad = 0.0174532925; const int r = 200; private void button1_Click(object sender, EventArgs e) { int r = 200; int x, y; Graphics g = pictureBox1.CreateGraphics(); g.FillEllipse(fillbrush, 250, 20, 400, 400); x = (int)(r * Math.Cos(deg * rad) + 450); y = (int)(-r * Math.Sin(deg * rad) + 220); g.DrawLine(mypen, 450, 220, x, y); timer1.Enabled = true; } private void timer1_Tick(object sender, EventArgs e) { Graphics g = pictureBox1.CreateGraphics(); deg = deg - 12; if (deg >= -270){ int x1 = (int)(r * Math.Cos(deg * rad) + 450); int y1 = (int)(-r * Math.Sin(deg * rad) + 220); g.DrawLine(mypen, 450, 220, x1, y1); } if (deg == -270) timer1.Enabled = false; } のような感じで30秒で一周するタイマーを作ったのですが、 コレを線でなく扇型でぬりつぶしていく良い方法は無いでしょうか?
487 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:08:13 ] Arc
488 名前:デフォルトの名無しさん [2008/03/02(日) 00:14:00 ] >>486 しかし酷いコードだな。 「プログラム診断室」に出てくる悪いコードの見本みたいだ
489 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:28:47 ] >>488 ハァ? じゃぁ、良いコードの見本書いてみろよ。
490 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:39:09 ] 例えば、 >const double rad = 0.0174532925; ↓ const double rad = PI/180; くらいはしてほしい。。
491 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:41:16 ] 450とか220とかを変数にできないものか。 あと、12じゃなくて、360/30って書いてよ。
492 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:14 ] private void button1_Click(object sender, EventArgs e) と private void timer1_Tick(object sender, EventArgs e) に共通部分が多いことに違和感を感じないのだろうか。
493 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:43 ] >>487 すいません。 プログラミング初心者なんです。 >>489 ちょ、あなた誰ですか。 やめてください。 >>490 わかりました。Math.PIですね。 >>491 わかりました。
494 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:45:36 ] >>492 すいません。 オブジェクト指向というか、スコープを良く分かってないんです。
495 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:49:16 ] if (deg == -270) も危険な感じがする。12度間隔じゃなかったら270丁度にならないよ。 if (deg <= -270) にした方が良いかと。
496 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:17 ] 質問に対する回答以外のつっこみを排除しようとするなら2ちゃんなんかに書き込まないほうが精神衛生上いい
497 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:43 ] >>486 天才wwwww
498 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:52:24 ] ちょ、変数rがwwwwwwwwwww
499 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 03:09:07 ] で、>486の質問への回答としてはg.FillPie()を使えという事でいいんかいな
500 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:22:27 ] 今までだと WebBrowser にフラッシュを表示させると クリックしてもフラッシュにクリックが伝わらなかったけれども いつの間にか正常にクリックできるようになってるじゃん
501 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:32:16 ] x = (int)(r * Math.Cos(deg * rad) + 450); y = (int)(-r * Math.Sin(deg * rad) + 220); はPositionFromDegreeとかにまとめとけ
502 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:40:37 ] しかしregionでまとめれば大して差は無い
503 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:10:47 ] CreateGraphicsでつくったGraphicsはDispose推奨
504 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:59:45 ] 自作のアプリケーションの更新があった場合ネットワーク経由で自動的に通知できる様にしようとしています Jane Doeをイメージしていただけるとありがたいです… こういった場合の一般的なアプローチの方法を教えていただきたいです。 今のところ、バージョンを管理するテキストファイルをウェブ上にアップしておきそれをDL、読み込みすることで判定する、といった方法を考えているのですが いまいち遠回りでスマートでないような気がします。 また、確認のついでに使用しているバージョンなどのログが取れたらと思うのですが こういったものは普通CGI等を利用して実装するのでしょうか?
505 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:19:30 ] >>504 前者は、逆にそれ以外の方法があるのかと思う。 サーバー側から配信するってことだと思うけど、宛先がわからない。 初回に登録させるのは多分いやがるだろうし、登録したって変わる可能性が高すぎる。 おまけに配信作業がプログラムを書くにしても手作業でやるにしてもめんどくさすぎる。 最新情報を書いておくのはテキストでいいのか、XMLがいいのかって問題はあると思うけど そのURLをずっと固定で維持する必要があるのが唯一の難点なだけで、 それしかないと思うけど。 後者はUserAgentに書いておけば、アクセス解析させるだけで出来そうな気もする。 ってこれも一応CGIか。
506 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:41:14 ] >>504 clickonce
507 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:48:55 ] >>505 なるほど!UserAgentは思いつかなかったです。ありがとうございます。 CGIとかさっぱりだったので困り果ててたのですがさすがにアクセス解析ならなんとかなると思います。 自動更新は苦肉の策のつもりだったのですが やはり他の方法は考えにくいですよね…。 サーバーダウン等で接続できない時はその旨を出すようにしてましたが そもそも、サイトが移転した状況を考えていませんでした。 人為的な問題なのでヘルプにサイトを記述したり、移転前に告知することで対策することにします ところで、テキストで書く以外考慮していなかったのですが バージョン管理をXMLで記述するメリットというのはどういったものなのでしょうか?
508 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 18:02:49 ] >>506 ああ、ClickOnce忘れてました…! これは限りなく正解に近いです。ありがとうございます。 ただ、まだあまり使われてるところを見かけないのが少し心配ですが とりあえず>>504 の方法と両方試してユーザーと相談してみることにします。 みなさま本当にありがとうございました。
509 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:07:52 ] >500 IEの仕様変更。 特許の期限切れで以前の動作に戻ったんだよ。
510 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:22:04 ] >>509 そのパッチってまだ出てないでしょ サイトによっては クリックするとこのコントロールをアクティブにして使用します ってのが出るし
511 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:28:21 ] 確かJavaScriptで逃げてるはず
512 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:38:20 ] Eolas問題に関してはスクリプトで回避できるけれども >>500 の件はスクリプトを使っていようがいまいが WebBrowser 内の Flash はまともに動いていなかった
513 名前:デフォルトの名無しさん [2008/03/03(月) 03:29:05 ] ボタンコントロールのImageプロパティに ビットマップを設定しています。 クリック時やマウスオーバー時の 画像を変更したいのですが、よい方法はありますでしょうか? 現状ではMouseEnter、MouseLeaveイベントを処理して Imageをその都度入れ替えています
514 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 03:43:54 ] 良い方法っていうのは効率の良い方法って意味だよね? EnterとLeaveで2枚しか使わないなら、2枚を一々変えずにメモリ確保とかその程度じゃない?
515 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 05:39:39 ] imagelistでも使えば
516 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:52:04 ] おはうー
517 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:21:01 ] bmpはでかいからjpgやpngにするとか? もしくは16色bmp
518 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:38:27 ] どうしたいのかわからないぞ 処理を軽くしたいとかか?
519 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:06 ] 一般的あるいはスマートな方法があるのか知りたいだけじゃないのか?
520 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:36 ] 都度入れ替えているが切り替えスピードが遅く困っている、とエスパー予備軍の俺が予想
521 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:59:29 ] まあ、本人も消えてるしどうでもいいか。
522 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 04:03:30 ] 以下のコードを実行すると、FileLoadException が発生します。 コード (抜粋): static void Main(string[] args) { var source = @"using System; public class Test { public static void Main() { Console.WriteLine(Console.ReadLine()); } }"; var result = CodeDomProvider.CreateProvider("cs").CompileAssemblyFromSource( new CompilerParameters() { GenerateExecutable = true, GenerateInMemory = true, }, source); var domain = AppDomain.CreateDomain("test"); domain.Load(result.CompiledAssembly.GetName()); } 例外: ファイルまたはアセンブリ 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'、 またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ 参照に一致しません。 (HRESULT からの例外: 0x80131040) GenerateInMemory を false にして OutputAssembly を与えてやるとうまく動作するようなの ですが、メモリ内で生成した上で動作させるためにはどうすればよいのでしょうか。 どなたかご教示いただけませんでしょうか。よろしくお願いいたします。
523 名前:デフォルトの名無しさん [2008/03/04(火) 06:12:47 ] PictureBox自体を回転させる方法は無いでしょうか? もしくはPictureBoxに書いた画像を回転させる方法は無いでしょうか? Graphics g = pictureBox1.CreateGraphics(); g.DrawPie(mypen, 20, 20, 400, 400, 0, 18); pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY); としたのですが、出来ませんでした。
524 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 06:57:56 ] CodeDomに参照アセンブリを設定してやる必要があるんじゃなかったかな
525 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:46:40 ] 最初からRotateさせてPieかいたら?
526 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:33:19 ] >>522 最初から新しいドメイン内でコンパイル
527 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:35:01 ] だいたいdomain.Loadはあまりやらない方がいいぞ。
528 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:29:46 ] >>523 DrawPieの前にg.RotateTransform
529 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:33:26 ] >>523 pictureBox1.CreateGraphics()で取得したGraphicsに描画しても pictureBox1.Imageの方はなんら変わらないから、どちらか一方に統一しろ Image使うならpictureBox1.ImageからGraphics作ってそっちに描画 俺はよくバッファ代わりに使ってる
530 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:41:50 ] メソッド内でNewしたコンボボックスにDataSource設定してもItems.Countが更新されないみたいなんだけどそういうもん?
531 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:45:31 ] なんのことやら
532 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:36:26 ] こんな感じ private void Form1_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("Key", typeof(int)); dt.Columns.Add("Value", typeof(string)); DataRow r = dt.NewRow(); dt.Rows.Add(new object[] { 1, "h" }); dt.Rows.Add(new object[] { 2, "o" }); dt.Rows.Add(new object[] { 3, "g" }); dt.Rows.Add(new object[] { 4, "e" }); //画面に張り付いてるオブジェクト comboBox1.DataSource = dt; comboBox1.ValueMember = "Key"; comboBox1.DisplayMember = "Value"; MessageBox.Show(comboBox1.Items.Count.ToString()); //メソッド内で宣言したオブジェクト ComboBox zzz = new ComboBox(); zzz.DataSource = dt; zzz.ValueMember = "Key"; zzz.DisplayMember = "Value"; MessageBox.Show(zzz.Items.Count.ToString()); }
533 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:01:32 ] Itemsに反映されるのはハンドルが作られてから。
534 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:29:37 ] Debug.Print(zzz.Handle.ToString()); でハンドル作って?みたけどやっぱりCountは0のままっぽい やり方が間違ってるのかな・・・orz
535 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:54:16 ] ウィンドウハンドルだろjk というか一旦ウィンドウが表示されてからメッセージボックスで出力すればいいんでないか?
536 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:22:03 ] Handleプロパティにアクセスすると作成されたと思うけど。 RefreshItems();でもしてみれば?
537 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:38:25 ] 長いパスを扱うときのファイル名の頭に\\?\を付けると例外が起きます。 そのまま長いパスをFileStreamとかに渡しても駄目です。 .NETだけだと長いパスは扱えなかったりします?
538 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:45:54 ] 逆に.NET以外だと扱えたりします? んなことないと思うけど。
539 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:58:07 ] 前に掲示板で見かけたような気がするが見つけられん。 まあ結論として.NETじゃ扱えない、だったはず。 やりたいならCreateFileでハンドル取ってきて、かね。
540 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:42:22 ] datagridの列幅ではまって早二日・・・・ 検索してもうまい解決方法がみつからない、誰か教えてくれ やりたいのは、csvを読んでdatagridに表示すること。 ttp://www.ailight.jp/Grid_CSV.aspx ここで紹介されているコードを参考にして、csvファイルをdatagridに読み込ませたのだが、 列幅が設定できない。 各所で紹介・解説されている列幅設定だと、tablestyleを設定して云々とあるが、俺にはそこらへんの処理の仕組みがさっぱりわからない。 上に引用したコードを元に、うまいこと列幅を任意の長さに設定する方法ないかな?
541 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:45:25 ] DataGridTableStyle でぐぐれ
542 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:49:30 ] >>541 既に昨日ぐぐった。でもわからん。 各所で解説されている列幅設定のコードを参考にしてdatagridに一回読ませるのはできるが、 その後に別のcsvをdatagridに読ませようとすると、 追加情報 : このデータ グリッドのテーブル スタイル コレクションには 既に同じマップ名のテーブル スタイルが含まれています。 ってエラーでストップする。
543 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:00:40 ] エラーメッセージ見れば一目瞭然だと思うんだが… 以前のDataGridTableStyleをDataGrid.TableStylesからRemoveするなり 追加済みDataGridTableStyleを直接いじるなり テーブル名変えるなり
544 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:03:04 ] ぐぐったのにここ見てないのん? dobon.net/vb/dotnet/datagrid/columnwidth.html
545 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:06:01 ] >>543 removeか、そんなのがあるのか、しらんかった。試してみる。 >>544 そこは一番最初に見た、理解できんかった。 とりあえずボタンを押すとそこに書いてあるコードを実行するform作ってビルドしたら、 一回目のボタンは正常に動くけど、2回目で追加情報〜含まれていますで止まるんだよね。 removeか・・・なんか行けそうな予感がしてきた。 明日やってみる。
546 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:16:30 ] >539 やっぱそうですか。無理そうな気はしてました。 なぜかIISから上がるASP.NETのプロセスが\\?\が付いたパスで実行されてることがあるので気になったので。 \\?\から始まるパスでexeを叩いてアプリを起動するとApplication.StartupPathなんかが例外しか返らなくなる。 そうなると他にも危ないプロパティやメソッドが出てきてそれなら正しく扱う手段が知りたくて。本当に深いパスを扱うことはあんまり無いです。 パスっぽい文字列が出てきたら\\?\で始まってたら削る不毛な処理をひたすら入れておきます。 Application.StartupPathみたいに即座に例外が返るものはちょっとどうしようもないので、 .NETのクラスライブラリ内のメソッドとかで危ないものは 自分用にObsolete付けて迂闊に使ったら警告を出せるようにする手段はないかなぁとか思う。
547 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 10:47:58 ] FxCopのカスタムルールで検出させるとか?
548 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 11:37:30 ] FxCop で vb だけで絞りこんで表示させることってできない? ちなみに当方 FxCop 1.36 Beta 2。
549 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:43:27 ] パターン指向リファクタリング入門 P359 「コンストラクタの連鎖」を C# で試してみました。 すると「this」で、「メソッド名が必要です」と怒られます。 C# でコンストラタの連鎖を問題なく行うにはどうしたらよいでしょうか? class Loan { public Loan(float notional, float outstanding, int rating, DateTime expiry) { this(new TeamROC(), notional, outstanding, rating, expiry, null); } public Loan(float notional, float outstanding, int rating, DateTime expiry, DateTime maturity) { this(new RevolvingTeamROC(), notional, outstanding, rating, expiry, maturity); } public Loan (CapitalStrategy strategy, float notional, float outstanding, int rating, DateTime expiry, DateTime maturity) { m_strategy = strategy; m_notional = notional; m_outstanding = outstanding; m_rating = rating; m_expiry = expiry; m_maturity = maturity; } }
550 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:51:39 ] public Loan(float notional, float outstanding, int rating, DateTime expiry) : this(new TeamROC(), notional, outstanding, rating, expiry, null) { }
551 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:54:47 ] >>549 C# 言語の仕様 10.10 インスタンス コンストラクタ msdn.microsoft.com/library/ja/default.asp?url=/library/ja/csspec/html/vclrfcsharpspec_10_10.asp
552 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:54:31 ] javaかよ。
553 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 20:16:50 ] Silverlight2Beta来たね
554 名前:デフォルトの名無しさん [2008/03/07(金) 14:53:00 ] struct A { ... } A[] a = new A[10]; としたとき、a[3]のようにアクセスするときって、C++のメモリのようにa+sizeof(A)*3というようにCPUで乗算処理が発生しているんでしょうか? だとしたら速度が必要なな部分では配列アクセスにするよりクラス参照のリストのようなかたちにしたほうがいいのでしょうか?
555 名前:デフォルトの名無しさん [2008/03/07(金) 15:10:33 ] ここで聞いていいのかどうか分かりませんが、 3次元が固定、2時限目が動的、1次元が固定の配列を 作るにはどうしたらいいのでしょうか? float[][,] farray=new [14][,4]; とやってもうまくいきません。 掲示板では見にくいのですが、 4の前には「 ,」カンマが入っています。
556 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:13:53 ] >>554 プログラミングガイドの配列のところにはこう書いてある。 >配列型は、抽象基本型 Array から派生した参照型です。 >この型は IEnumerable と IEnumerable<(Of <(T>)>) を実装するので、C# のすべての配列で foreach 反復処理を使用できます。 だから気にしていることに限ってはどっちにしても変わらない。 と予想してみる。
557 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:19 ] デリゲートに追加した匿名メソッドを指定して取り除く事って出来るかな?
558 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:49 ] 速さが必要ならそんなことよりもっとほかにやるべきことは沢山あるはずだし、 それをやり尽くした上で554のようなことまで気になるというのなら、 C#ではなく、アセンブリ言語とC++でどうにかすることを考えるべき段階。 故に >>554 そんなこと気にするな。
559 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:21:11 ] >>554 こういう文もあった。 >C# の配列はオブジェクトそのものであり、C や C++ の場合のように、単なるアドレス指定可能な連続メモリ領域ではありません。 >>555 次元に関係なく、要素を動的に変える配列は作れないよ。 List<>とかと組み合わせたりしないと。
560 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:22:19 ] ×次元に関係なく、要素を動的に変える配列は作れないよ。 ○次元に関係なく、要素数を動的に変えられる配列は作れないよ。
561 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:25:56 ] unsafeとfixedでCみたいな配列としても扱えるよ
562 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:45:47 ] >>560 動的/静的は配列に対して使い方が難しいので可変長と言うべきだな
563 名前:デフォルトの名無しさん [2008/03/07(金) 16:19:34 ] こんな形で使うのは初めてなので聞いてみたのですが、 思ったより難しいのですね。 C++ならそこまで難しくないと思ったのですが。
564 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 16:51:24 ] C++で可変長配列とか、泥沼だろ。
565 名前:デフォルトの名無しさん [2008/03/07(金) 16:58:28 ] float[] oned=new float[4]; oned[] twod; twod[] threed=new float[14]; 自分で考えてここまでやってのですがこれで正しく動作するか わかりませんし処理効率がどうなるかは分かりません。 <vecto>とかboostみたいに上手いことできないでしょうか?
566 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 17:04:58 ] >>565 おまいは自分で考えてここまで何をやってきたんだ
567 名前:デフォルトの名無しさん [2008/03/07(金) 17:15:16 ] めんどくさいので float[][][] threed=new float[14][][]; だけで後は自動に任せることにしました。 ありがとうございました。
568 名前:デフォルトの名無しさん [2008/03/07(金) 18:19:46 ] と思ったのですが、Listのほうが用途に 合っていそうなので、そちらを使ってみることにします。
569 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 19:29:55 ] 先ずC#で何ができるか調べたほうがいい
570 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 20:22:35 ] >>568 それは最初から「vector 相当のものはありますか?」と聞くべきだった。
571 名前:デフォルトの名無しさん [2008/03/07(金) 21:16:35 ] >570 すいませんでした<(_ _)>
572 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 13:29:24 ] ありがとうございます!
573 名前:デフォルトの名無しさん [2008/03/08(土) 14:14:48 ] こうだくみこのおまんこにセロリいれたいな みんなはなにいれたい?
574 名前:デフォルトの名無しさん [2008/03/08(土) 14:23:43 ] 585 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/08(土) 14:20:47 yutori.2ch.net/test/read.cgi/news4vip/1204952244/ 1 名前:以下、名無しにかわりましてVIPがお送りします。[] 投稿日:2008/03/08(土) 13:57:24.68 ID:oVsMTN3J0 次世代言語”D言語”を使ってプログラミングをしてみよう! C++で挫折した君も、プログラミング初心者の君も今日からプログラマーだ! D言語入門 www.geocities.jp/tor_park/Dlang/d2.html
575 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:28:28 ] コピペ君って馬鹿だな、まで読んだ。
576 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:46:34 ] コピペ君って馬鹿だな、まで読んだ。
577 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:49:07 ] >>575-576 コピペしか能のない低脳は消えろ
578 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:52:32 ] Dってまだ生きてたんだ C#があればいらないのにね まったく、無駄なことしてるよな
579 名前:デフォルトの名無しさん [2008/03/08(土) 15:03:23 ] 同感 早くバージョンが安定してVSに匹敵するIDEが出たら使ってやってもいいが 何年更新してるんだよ?
580 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:05:06 ] まあVSのないC#なんか誰も使わないよな ネイティブコードなんかよりはるかにそっちの方が重要
581 名前:デフォルトの名無しさん [2008/03/08(土) 15:27:34 ] >555です。 しつこいですがリストを使ってもうまくいかなかったので こうしてみました。 ArrayList data = new ArrayList(14); data.Add(new ArrayList()); ((ArrayList)data[0]).Add(new ArrayList()); ((ArrayList)((ArrayList)data[0])[0]).Add(new float[4]); ((ArrayList)((ArrayList)data[0])[0])[0] = 1; MessageBox.Show(((ArrayList)((ArrayList)data[0])[0])[0].ToString()); 後は変数を使ってネストすればいいだけだと思います。 こうすれば何とかなるようです。 しかし、コードが長いのでなんとか短くしたいです。 typedefもないし、usingを使ってもうまくいきませんでした。 ArrayList以外にいい方法があれば教えてください。、 また、もっとコードを短くする方法があれば聞きたいです。
582 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:29:15 ] ジェネリックのList<float>を使え
583 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:35:52 ] >>581 var farray = new[] { new List<float[]>{new[]{1f,2f}}, new List<float[]>{new[]{3f},new[]{4f}} };
584 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:37:34 ] List<T>
585 名前:デフォルトの名無しさん [2008/03/08(土) 16:05:20 ] >583 くぐってみたのですがvarが使えません。 ufcpp.net/study/csharp/ap_ver3.html ではC#3.0の機能と書いてあるので2005では使えないのかも?
586 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:35:56 ] List<float[]>[] data = new List<float[]>[14]; for (int i = 0; i < data.Length; i++) data[i] = new List<float[]>(new float[][] { new float[4] }); C#2.0でもいけるはず
587 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:41:43 ] List<float[]>[]とか設計間違ってるとしか思えんw
588 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:02:55 ] 数値計算ならアリ 業務アプリならナシ
589 名前:デフォルトの名無しさん [2008/03/08(土) 19:03:35 ] >586 ありがとうございます。 その通りのことがしたかったんです。 >587 確かに2次元だけ動的って見たことないので こういう設計でいいのか自信がありません。
590 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 20:54:24 ] >585 2005はだめ。型推論してくれるだけなのでまじめに全部型を書けばいいんだよ。 varってコンパイラが何とかしてコンパイル後は対応した型になってるだけだと思ってる。 2008で.NETFramework2.0をターゲットにしてても普通に使えてるし。
591 名前:デフォルトの名無しさん [2008/03/08(土) 21:10:07 ] >590 C#でメモリ管理にいきなりつまずき困っていたところ 助けていただいてありがとうございます。 またお世話になるかも知れませんのでその時は またお願いします。
592 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:33:25 ] >>589 計算なら仕方ない所だと思うぞ。 なんかいい形があるなら俺も知りたい。
593 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:43:10 ] float[]のところはインデクサ付けたフィールド4つの型を定義して使うようにすれば 要素数が4のもの以外入れられなくできるしちょっと見通しも良くなるかな パフォーマンスは劣るだろうけど
594 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:28 ] >593 人に見せるならそう書くかも知れませんね。 個人でパフォーマンスをちょっと追求してみたかったので 実験で試そうと思いした。
595 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:50 ] >594 思いました。
596 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:32:57 ] 実験で試そうと思いしたと思ったわけだな?
597 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:31:04 ] ISOイメージファイルの中身をWinRARのように表示するプログラムを作りたいのですが、 中身のフォルダ構造を取得する方法がわかりません。 どのようにしたらフォルダ構造の表示を実現できるのでしょうか? ご教示よろしくお願いします。
598 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:46:41 ] iso9660の仕様を探して、それに従ってイメージファイルを解析
599 名前:デフォルトの名無しさん [2008/03/09(日) 13:04:14 ] >596 そう思いした^^
600 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:21:53 ] >>598 やはり解析するしかありませんか・・・。 ありがとうございました。地道に解析することにします。
601 名前:デフォルトの名無しさん [2008/03/09(日) 13:26:21 ] >>597 souceforge.netとかで調べれば参考になるのもあるんじゃね? sourceforge.net/projects/iso-creator-cs/ ↑これなんかはISOイメージの解析じゃなくて、ファイル、フォルダからISOイメージを つくるもんだけど、開発プラットフォームc#みたいだから、参考になるかもよ。 商用なら www.componentsource.com/products/starburn-sdk/index.html こういうコンポーネントもあるみたいだ。
602 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:30:34 ] 解析って、仕様どおりに読み込むだけじゃん。
603 名前:デフォルトの名無しさん [2008/03/09(日) 13:44:26 ] >>602 仕様に基づいて読み込むって、それを解析っていうんでねーの? 仕様を独自に解析するとはだれもいっていないと思うが。
604 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:53:06 ] あまり滅茶苦茶な日本語の使い方するなよ。
605 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:57:13 ] >仕様に基づいて読み込むって、それを解析っていうんでねーの? 言わないだろ普通
606 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:01:22 ] 解析ってのは仕様書等がない状況でデータやプログラムそのものを調べることを指すんじゃないのか?
607 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:20:36 ] 一定間隔でSS取って保存するキャプチャソフト作ってみたんですが CPU使用率が99%になるのは無限ループのせいですか? 一応スリープ入れてるんですが
608 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:34:42 ] 一定間隔ならループじゃなくてタイマ使え
609 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:29:40 ] タイマでもCPU99%になるのは、、
610 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:00 ] 何ミリ秒おきのタイマだ?
611 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:07 ] 設計が悪いだけだろ屑
612 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:39:39 ] 1000
613 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:03:49 ] キャプチャとって保存する部分が糞すぎるんじゃね タイマを10秒おきとか100秒おきでやってもCPU99%になる?
614 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:07:59 ] 10秒とか100秒ならなりません
615 名前:598 mailto:sage [2008/03/09(日) 19:46:53 ] >>602-606 まさかこういう流れになるとは思わなかった 特に深い意味は無かった >>597 にはその方が伝わると思った 不用意に誤用したことを、今は反省している
616 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:26:43 ] sleepの引数にミリ秒単位じゃなくて秒単位のつもりの値渡してるとか?
617 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:28:56 ] 普通にSSとって保存する部分が思いだけだろjk
618 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:35:52 ] すごい勢いで何百枚もSS保存してそう。同じファイルに
619 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:36:52 ] 自己解決しました あるアプリケーションのSSを撮ってたんですが そのアプリに問題があったみたいで メモ帳なんかのSSで試してみたら普通にほぼ消費なく出来ました
620 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:20:45 ] >そのアプリに問題があったみたいで いやいやいや
621 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:59:46 ] そのアプリがメモリを消費してたってことだろ
622 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:10:50 ] メモリを消費・・・?
623 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 14:20:42 ] いえ、有るゲームのSS撮るプログラムなんですが プロセスにアクセスしたらなんかCPUを無駄に使うプロテクトみたいなのが有るみたいです
624 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:08:12 ] wwwwwwwwww
625 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:09:59 ] 草生やしてないで人語で喋れよ。 猿じゃあるまい
626 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 21:54:41 ] そんなのねえよw
627 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 01:33:40 ] 猿は草を生やせないと思うんだ
628 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 11:51:48 ] 何wwwwをwwwwいwwwwまwwwwさwwwらwwwwwwww 2chに何を求めてるんだか
629 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 12:12:58 ] ウキー
630 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:46:45 ] 戦時中の治安維持法みたいなものですね。 賛成派が多数で、この恐ろしい法案が、今まで成立していないのが奇跡の状態です。 法案に賛成しているのは、途中に登場する自民党執行部や古賀派、公明党全員、民主党ほぼ全員です。 自民党・民主党で反対を表明していない議員は、執行部のいいなりになると思われます。 反対しているのは、最後に出てくる自民党系「真の人権擁護を考える懇談会」「伝統と創造の会」調べたつもりですが、議員の現在の考えが、賛成か反対か間違っていたら修正する予定です。 自民党への意見メールフォームmeyasu.jimin.or.jp/cgi-bin/jim... 首相官邸メールフォームwww.kantei.go.jp/jp/forms/doku... 自民党人権問題等調査会の太田誠一会長宛先 FAX03-3508-3832(U R L :www.otaseiichi.jp )
631 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:58:43 ] ウキー
632 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:05 ] ウキー
633 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:47 ] アホかwwwww
634 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:20:55 ] 否!
635 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:59:09 ] こんなんじあC%#のほうが言い悪いか抜きにして初心者用と相談室のスレ2個あるから発展はあるな。VBなんか終わってるかんじ。 みなで盛り上がろうぜって漢字がまたくない
636 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:27:48 ] 日本語でおk
637 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:38:52 ] VIPでやれ ニコ厨氏ね 使い古されたセリフだが、真実である。
638 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:59:48 ] ふらっとがあればこのスレも不要だな
639 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:54:08 ] コンボボックスに 見た目 値 01:a 1 02:b 2 03:c 3 と入っているときに、 値が2の時に、02:bを選択状態にするにはどうすればいいでしょうか? FindStringで02を指定しても見つからず、combobox.itemsをforeachで 回しても、object型から何にキャストすればよいか分からずでした・・・
640 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:59:18 ] Value とかじゃなかったっけ
641 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:02:59 ] 自分で値入れてるのに何にキャストしていいかわからないってどういうこと?
642 名前:639 mailto:sage [2008/03/14(金) 10:08:04 ] コンボボックスへのデータバインドは、VSのウィザードでTableAdapter任せで作って ロジック部分のデータ操作はコードで書いてました。 型はToStringを試してみて、DataGridViewが入ってるのは分かったんですが・・・ 値が取れません><
643 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:09:06 ] >>639 ヒント enum testEnum { あああ = 1, ししし = 2, つつつ = 3 } comboBox1.Items.Add(testEnum.あああ); comboBox1.Items.Add(testEnum.ししし); comboBox1.Items.Add(testEnum.つつつ); 任意の値に設定するとき comboBox1.SelectedItem = (testEnum)2;
644 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:12:03 ] >>642 デバッガでcomboBox1.Items[0].GetType()を見てみれば?
645 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:13:17 ] SelectedValueに2を設定すればOK.
646 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:28:39 ] >>645 のやり方でいけました!ありがとうございます >>643 enum型は一度も使ったことがないので勉強してみます >>644 GetTypeでは取れませんでしたが、ToStringで取得してみたら 謎ですが>>639 の型が入ってました
647 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:58:30 ] ふらっと池
648 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:51:25 ] そのうち、フラットで話すべき話題と、このすれですべき話題をテンプレにでも書いといたほうがいいのかもしれない 「ふらっと」 PictureBoxを透過表示することってできますか? 「このすれ」 ExpressionTree、CodeDOM、DLRのASTでできることはどういう風に違うんですか?
649 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:21:46 ] 内容よりC#わかってるかどうかだろ
650 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:02:25 ] Java上がりでC#やってる人に聞きたいんだけど、 C#やってたら、コード読んで流れ掴むくらいならできそうでしょうか?
651 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:06:10 ] 意味が分からん
652 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:11:50 ] 余程の馬鹿でなければ
653 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:17:30 ] C#3.0は結構化けるけど
654 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:24:48 ] javaの文法知らなくても流れくらい分かるだろ
655 名前:デフォルトの名無しさん [2008/03/15(土) 22:51:50 ] C#2005のメニューから プロジェクト->Windowsフォームの追加で 「MID親」 を選んで、MainでRunしています。 起動時に子フォームを勝手に起動しますがいったい どこでやっているのでしょうか? InitializeComponet()で勝手にShowNewFormを やっているのだとは思いますがどのあたりなのか さっぱり分かりません。 新しく追加で子フォームを作成したら自動でずらす処理も 邪魔なのでどこでやっているのか知りたいです。 ご存じの方、どうか教えてください。 新しく普通にフォームから作ったほうが早いというのは無しで。
656 名前:デフォルトの名無しさん [2008/03/15(土) 22:55:48 ] すいません、起動時に勝手に子フォームが起動するのは、 こちらのミスでした。 勝手にずらす処理をやめさせる方法だけ教えてもらえない でしょうか?
657 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:57:04 ] >>650 わからなければjava上がりとはいえない
658 名前:デフォルトの名無しさん [2008/03/15(土) 23:50:35 ] このスレの住人なら知っていますね、あの糞開発ツールのことを ・自分のプログラムのバグなのかコンパイラのバグなのかわからない ・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している ・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている 糞だけど、政治的な理由で無理やり使わされているんですよね もういい加減、我慢するのはやめませんか? ・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。 ・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。 バグレポートなどしてはいけません。改善要求などもってのほかです。 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。 ・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」 なんて話が出たら力強く机を叩き、会議室を出ましょう。 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。 糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
659 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:53:18 ] コピペ君って馬鹿だな、まで読んだ。
660 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:54:53 ] >>659 死ね
661 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:12:24 ] オーバーフローチェックコンテキスト(checked/unchecked)の状態で 処理を分岐させる方法を知ってる人いたら教えて 検証するタイミングはコンパイル時、実行時のどちらでもおk
662 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:49:01 ] 例外を捕捉すればいいんじゃないの
663 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:59:05 ] それだと、例外が発生しない場合、checkedでオーバーフローがおきてないのか、 単にuncheckedなのか判断できなくね
664 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:03:54 ] bool IsChecked { get { try { Convert.ToByte(0xffff); return false; } catch { return true; } } } 馬鹿プロパティw
665 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:06:32 ] わざとオーバーフローさせるぐらいしか思いつかんな。
666 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:44:45 ] 自分でchecked{}で括ってしまえばいい
667 名前:661 mailto:sage [2008/03/16(日) 17:17:46 ] >>662-665 thx! やはりオーバーフローさせてみるしかないのか >>666 ILの生成をコンパイラ任せにするならそれでいいが 動的に生成しようとするとOPコード自体が違うので
668 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:19:42 ] なんか適切じゃない場所で質問しちゃった気がするのでこっちでも PerlとかRubyでゆーWWW::MechanizeみたいなスクレイパってC#に存在する? それとDB使ったツールを作って配布したいんだけど、PerlとかRubyだと一般ユーザに使ってもらえないので… Rubyで一旦全部書いたんだけどexerbとかrubyscript2exeとか使ってもうまく纏められないのでC#(or その他普通にネイティブコンパイルする言語)で書き直したいんだけど…
669 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:20:41 ] 泥臭いのに変わりはないが、適当な関数のIL覗けばいいんじゃね?
670 名前:661 mailto:sage [2008/03/16(日) 18:22:19 ] IL見てみたが、コンパイラがコンパイル時に数値式のOPコードを切り替えてるだけで checked/uncheckedブロック、演算子内に直接書いた式にのみ適用されるみたい だから、>>664 みたいなプロパティを作るとコンパイルされた時点で出力が確定してしまう 結論としては、checked/uncheckedはコンパイラに指示するためだけのもので プログラムで利用しようなどと考えてはいけないということか
671 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:36:31 ] そもそもchecked/uncheckedはコンパイル時に静的に決まるものだろ
672 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:41:50 ] #if CHECKED なんとか #else ができればいいんだろ
673 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:22:05 ] コード中で分岐することに意味があるのはコンパイラのオプションで指定した場合のみってことか checkedのときはプリプロセッサシンボル定義するだけでよくね?
674 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:30:23 ] プリプロセッサとchecked/uncheckedの処理段階が違うのは気持ちが悪いけどな
675 名前:デフォルトの名無しさん [2008/03/16(日) 19:38:38 ] 印刷を監視して、何かのプログラムで印刷実行されたらジョブをプリンタに投げる前に 自分で作った処理を行って、それが終了してから 印刷ジョブを投げるプログラム作成したいんですけど 印刷監視とジョブ投げるのにwaitかけるのってどうすればいいんですか?
676 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:50:03 ] 仮想プリンタを作って間に挟むのが まっとうじゃないかな。
677 名前:デフォルトの名無しさん [2008/03/16(日) 21:07:31 ] iPhoneのタイマーみたいな慣性で回るドラムを2個まわして 数値を出力させるにはどう考えたらいい? WM6pro用で教えてください。
678 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:14:32 ] そういう風に作る WM6proがどう関係あるんだろう
679 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:25:05 ] WebBrowserコントロールの設定は、現在のIEと同じ設定になるっぽいけど、 独立して管理することは可能っすか?
680 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:42:17 ] 俺なら可能
681 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:53:49 ] オマイラってそんなにIL覗いて挙動確認したりしてんの? 俺全然やってないんだが
682 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:00:00 ] ILの日本語の資料ってネットで見れるの?
683 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:03:01 ] 別に日本語である必要性はないと思うのだが
684 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:04:53 ] 必要性はなくても、日本語の方が望ましい
685 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:08:58 ] 共通言語基盤の規格はJISにもなってるからネットで読めるんじゃね? 調べたことないけど
686 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:48:03 ] IL見るのになぜ日本語が必要になるのやら
687 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:51:31 ] 日本語を主として使っている民族とっては、ILの説明が日本語でされていた方が他の言語でされているよりも理解しやすいから。
688 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:07:51 ] ILは流れを読むのだから英語でいいでしょう
689 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:10:03 ] 個々のILのニーモニックの説明は英語より日本語の方が日本人には理解しやすいだろう。
690 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:11:58 ] ニーモニック(記憶しやすい)を記憶しやすいのは その命名元となった英語という気もする。
691 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:13:57 ] 記憶する以前に理解するには、日本人にとっては英語よりも日本語の方が理解しやすい。
692 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:21:11 ] 何この流れ・・・
693 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 07:03:19 ] ニーモニックの説明で日本語お望みなら System.Reflection.Emit.OpCodes あたりでもどうぞ。JIS の CLI は有料でしょ確か
694 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:16:46 ] JIS規格はjiscのサイトでみれる
695 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:55:46 ] そいや、ILはVSで対応してないのはいいにしてもMSBuildのタスクも ないのはどうよと思ったなあ前
696 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:34:40 ] >>683 英語読めないから、日本語のが必要なんです。
697 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:26:25 ] ふらっとでレスが付かなかったので、教えてください。 SQLServerからsmallint型のレコードを取得してC#でint型の変数に入れたいのですが キャストで失敗します。smallint型はshortと同じじゃないのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:32:14 ] >>697 失敗って?
699 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:33:41 ] 実際shortなんだったら一旦shortにキャストしてからintにキャスト
700 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:42:39 ] 会社にしか環境が無いので、エラーの詳細記録してなかったのですが、 型変換できませんでした。的なエラーでした。 もちろん(short)してから(int)でいけますが、アップキャストでなぜ失敗するのか・・・が知りたいと思いました
701 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:46:30 ] 正確な方は SqlInt16、 short へのキャスト演算子の定義はあるけど、int へのキャストは定義されてない とかではなかろうか。
702 名前:697 mailto:sage [2008/03/18(火) 00:02:58 ] >>701 MSDN参照してもよく分からないのですが、おそらくそのように思えますので、 そういうものだと、納得しておきますf^^
703 名前:デフォルトの名無しさん [2008/03/18(火) 00:03:27 ] PrintDocumentクラスのPrintメソッドで 印刷処理を作っています。 しかし、印刷を実行するとVB6やDelphiで作成した 印刷処理よりも異常に遅いのが気になりました。 描画を一切行わず、白紙を1ページ印刷した場合 VB6では一瞬で印刷を開始しますが、C#では5秒以上待たされます。 100ページ以上の印刷を行いたいので、この速度では ちょっと使い物にならないので困っております。 速度改善の情報ありましたら教えていただけませんでしょうか。。
704 名前:デフォルトの名無しさん [2008/03/18(火) 00:19:22 ] www.rossgals.com/fuckfacials/barbie2-489/3.mpg
705 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:21:39 ] 突然怪しいURLを貼るなwww
706 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:23:13 ] なんじゃこりゃww量すごすぎww
707 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:38:25 ] >>703 軽く調べたけど、解決策は見つからなかった。そもそも再現性が(ry とりあえずプロファイルして何が遅いか見極めてくれ。
708 名前:703 mailto:sage [2008/03/18(火) 00:46:13 ] >>707 ありがとうございます。 プロファイルのやり方がわからないのですが 調べてやってみようと思います。 今、調べられる範囲でわかったことは プリンタの解像度を下げることである程度 体感速度が速くなる、逆に解像度を上げるとさらに遅くなることです。
709 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:10:00 ] ちょっとすみません。mlang.idl を midl しようとしたんですが、途中で midl\oleaut32.dll : error MIDL2020 : error generating type library : SaveAllChanges Failed : .\mlang.tlb (0x80070005) と出て終了します。原因わかるかたいらっしゃいますか?
710 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:19:45 ] しまった UAC だー! 自己解決すみませぬ。
711 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:17:43 ] すみません。続けてもうひとつ。マーシャリングの質問なのですが、 void DetectInputCodepage( uint dwFlag, uint dwPrefWinCodePage, ref sbyte pSrcStr, // ここと ref int pcSrcSize, ref tagDetectEncodingInfo lpEncoding, // ここに ref int pnScores ); どうやって short[] と tagDetectEncodingInfo[] を突っ込んだらいいのか、だれか教えてください。
712 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:47:07 ] >>711 dobon.net/vb/dotnet/string/detectcode.html
713 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:50:00 ] >>712 それそのままコピペしてるんだけどね、 ref sbyts[0] ここで引っかかる。
714 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:55:05 ] ん? 通った。なぜだ。
715 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:14:07 ] 配列そのまま仮引数に定義するのお勧め
716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:08:03 ] ListやStackの中身をusingでdisposeさせるにはどうすればいいの?
717 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:20 ] 継承してIDisposeableを実装すればいいんじゃねえの
718 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:45 ] ListとIDisposableを継承して、Disposeで要素を全部Disposeするクラスを作る。
719 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:23:08 ] using使いたいだけならIEnumerable<T> (where T : IDisposable) をラップするクラスを作って using (DisposableCollection<Bitmap> a = new DisposableCollection<Bitmap>(list))とか
720 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:53:15 ] static void Using<T>(T collection, Action<T> action) where T : IEnumerable { try { action(collection); } finally { foreach (var item in collection) { IDisposable disposable = item as IDisposable; if (disposable != null) { disposable.Dispose(); } } } } usingの代わりにこんなの使えばいいんじゃね
721 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:01:24 ] どうもやってみます。
722 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:03:46 ] .net 3.5(たぶん下位でも発生?) コンソールアプリで sysem.drawing.bitmap をストリームにシリアライズするときに GDI+の一般エラー(General error?)が発生する 同様の現象にブチあたった経験者はおらぬか?
723 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:20:30 ] Bitmapはネイティブなオブジェクトがあるからシリアライズ不可能じゃないかな
724 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:31:09 ] いや,これまでは出来たんだ きっとこれからも出来ると信じたい そしてなんとなく原因発見 BinaryFormatter bf = new BinaryFormatter(); FileStream fs = new FileStream(@"C:\WINDOWS\迴育栖繧ォ繝繝.bmp", FileMode.Open); MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream(); Image img = Image.FromStream(fs); bf.Serialize(ms1, img); // 成功(例外なし) fs.Close(); bf.Serialize(ms2, img); // 失敗(ExternalError: GDI+ で汎用エラーが発生しました。) どうもImageの元のリソースが,シリアライズするときに利用できなくなっていると失敗するみたい? なんか非常にモヤっとするなぁ 引き続き情報求む
725 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:53:52 ] よくみる where T ってのはLINQってやつかい?
726 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:55:52 ] ただのジェネリック引数の制約だよ。
727 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:10:38 ] where T つかうと他クラスの継承できなくなる?方法ない?
728 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:13:52 ] なにゆってんの?
729 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:14:30 ] よく意味が分からんけど where T はTに対して特定の型に依存した操作を可能にするために使うんだよ
730 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:20:58 ] where Tを使ったクラスを継承したいなら その制約を継承先のクラスにも付ける class Base<T> where T : string{} class Derived<T> : Base<T> where T : string{}
731 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:02 ] まったくどうでもいいがstringで制約したらもはやジェネリックの意味なくね?
732 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:45:08 ] >>724 Bitmapはそのままだとアンマネージドリソースを含むのでシリアライズできない だがStreamから作ったBitmapならそれを使ってシリアライズすることで目的を達成できる しかしそのStreamが閉じてればもうシリアライズできない
733 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:27:28 ] >>724 var stream = new FileStream("foo.jpg", FileMode.Open); var image = Image.FromStream(stream); image.Save("bar1.png"); stream.Close(); image.Save("bar2.png"); // die
734 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:55:28 ] >>732 すごく,わかりました. >>733 試したためした,そしてその通り ひとまずbyte[]にシリアル化したものを記憶しておくことにした
735 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:09:24 ] クラスのメンバ関数のようなスコープがはっきりしないものをusingで解放するにはどうすればいいの?
736 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 19:21:54 ] メンバ関数じゃなくてインスタンス変数だと仮定して 自分のクラスにIDisposableを実装する usingはそのクラスを外から使う人が使うもの
737 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:29:23 ] DictionaryBaseのGeneric版って何?
738 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:42:14 ] 例外は受け取ったらいけないの?
739 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:05:44 ] 処理できる例外は捕まえて処理する そうでなければスルー
740 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:11:34 ] 受け取ってメッセージボックス出して終わるくらいなら 標準の例外ダイアログがましだけどねw
741 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:25:01 ] 製品にするならそうもいってられないけどな
742 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:08:44 ] >>737 無い KeyedDictionary<TKey, TValue>が使えそうなら使う 使えないなら自分で作る
743 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:11:35 ] KeyedCollection<TKey, TItem>の間違い
744 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:25:07 ] ListViewの詳細表示で、棒グラフを表示したくて 直接セルに描画していたんですけど、汎用性を持たせたくて Panelに描画してそのPanelを表示したいと思ったんですが ListViewにPanelを挿入する方法が分かりません SubItems.Addで追加できるのは文字列だけですし どのようにすればPanelなどのコントロールをListViewに 挿入することができるでしょうか?
745 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:33:28 ] どのようにしてもできまへん。 っていうか、Panelに描画する(そしてそれをListViewに突っ込む)のが 汎用的って発想がよくわからない。 汎用的にしたいのならListViewの項目を描画する機能をクラス化するか、 またはListView自体を継承して拡張するとか、そっちの方向じゃないの?
746 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:37:34 ] CodeProjectにそういうのある。 一からListView作ってた。
747 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:44:33 ] C#のListViewの使えなさはガチ Swingにも劣るヘボさだからなぁ 項目ごとの文字色を変える程度のことさえ面倒 いったいどういう用途を想定してこんなクソ仕様にしたのか
748 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:15:08 ] コモンコントロールそのものだもの
749 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:35:18 ] WPFのListViewは何でもありのアホみたいに柔軟なコントロールになってるよ
750 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:58:42 ] >>745 やっぱり駄目ですか でもよく見かけるプログレスバーが表示されたListViewは どうやって実装してるんでしょう 何か出来る方法がありそうな気もしますが >>746 一から作るのはちょっと厳しいですね・・・
751 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:41:09 ] >>742 ありがとう。 自作するよ。
752 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:26:31 ] >>747 >項目ごとの文字色を変える程度のことさえ面倒 簡単だと思うけど… どうやってやってるの?
753 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 06:57:31 ] >>750 ListViewだとしたらOwnerDrawなんじゃない。 超汎用的なリストコントロール作った。 めんどくさかった(´・ω・`) でもこれで10万行ぐらいあっても、どんな描画だとしても表示できるようになったお。
754 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:23:43 ] 俺も752と同意見だったけど、MFC知らないからMFCだともっと楽なのかなあと思って何も言わなかった ListViewItem.UseItemStyleForSubItems ListViewItem.ForeColor ListViewItem.SubItems[index].ForeColor UseItemStyleForSubItems をtrueにすると、 全てのSubItems.ForeColorを設定する必要があったような気がするから それが面倒といえば面倒だったけど。
755 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:59:46 ] C#でSafariみたいにきれいに文字を表示するのってどうしたらいいんだしょ。 アンチエイリアスかければきれいになるとですか?
756 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:10:04 ] 言語とは無関係だと思うけど WPF使えば良いよ
757 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:13:08 ] Formでお願いします。
758 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:22:42 ] >>752 でもListViewって特定環境で色が消えたりする類のバグが満載だから そのままでは使い物にならないと思った記憶がある。
759 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:35:43 ] そもそもWPFだろうがFormだろうがクラス名だけ置換して同じコード書けば 内部で使うAPIだけひっそり入れ替わるのがクラスライブラリ設計として当然じゃないのか? 何回も作っては捨て繰り返して作った奴は馬鹿なのか?
760 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:48:59 ] >>755 フォントをClearTypeが効くものに変えるとか 実際より大きく描画して縮小するとか
761 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 18:58:44 ] >>759 日本語書けよ
762 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:04:10 ] すごーく正論では
763 名前:デフォルトの名無しさん [2008/03/27(木) 19:06:23 ] 再利用可能なコードなんか幻想だろw
764 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:50:12 ] インターフェースがクソだったら書き直すしかないだろ
765 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:52:31 ] VB SQL ODBC Direct OLE DB DAO RDO ADO ADO+ WindowsDNA MSDE ADO.NET 1.0 ADO.NET 1.1 ADO.NET 2.0 LINQ
766 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:16:28 ] >>750 リストビューの子としてプログレスバー作るとか。
767 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 23:54:29 ] 英語だと C sharp って読むの?
768 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 00:32:18 ] yes
769 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 14:20:32 ] >>761 てきざいてきしょ
770 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:20:51 ] VS9.0インスコした人に確認してもらいたい ↓のファイルのコメントが前衛的なことになってるんだけど、どうなってる? C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ ProjectTemplatesCache\CSharp\Reporting\1041\ReportApplication.zip\Form1.Designer.cs 因みに、手元の環境のエディションはPro.
771 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:29:51 ] 見たけど特に何も思わなかったが
772 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:13:30 ] 特にどうということもないな
773 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:14:35 ] そんなばすはないだろう。
774 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:28:55 ] ローカルのハードディスクにあるファイルをUSBメモリにコピーしておのおののファイルについてGetLastWriteTimeを見ると2秒ほどずれてるんですが、なぜなんでしょう? エクスプローラでファイルのプロパティで更新日時を見てもやはり2秒ほどずれています。おそらく同じ値を見ていると思います。 ローカルからローカルにコピーした場合は発生しません。
775 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:30:58 ] NTFSとFATとかじゃね
776 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:33:34 ] USBメモリで使ってるFATって更新時間の最小単位が2秒なんだったっけ?
777 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:37:21 ] そう。2秒。
778 名前:774 mailto:sage [2008/03/31(月) 20:47:38 ] ローカルはNTFS、USBはFAT32ですが、上に上がってるのでビンゴくさそうすかね・・・
779 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:29:09 ] 自分で OnPaint メソッドをオーバーライドしたコントロールを作ってるのですが、質問です。 OnPaint メソッドの中で線の太さを指定して引いているのですが、AutoScaleMode でサイズが変わった場合 線の太さはどういう風に決めたら良いと思いますか? 今は決め打ちで 2 にしていますが、線の太さも自動でスケーリングしたいのので 自動スケーリングの倍率を取得する AutoScaleSize みたいなプロパティってないですかね。
780 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:42:13 ] >>779 自己レス。解決しました。 AutoScaleMode プロパティが変更されると、ScaleControl メソッドが呼ばれる。 ScaleControl メソッドをオーバーライドすると factor が来るので、これが倍率。
781 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:10:38 ] 共有メモリの話題になりますが、 MapViewOfFileで得たIntPtrをStreamにアダプトする方法はありませんか? byte*にキャストしてよいみたいですが、そこからが分かりません。
782 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:22:47 ] UnmanagedMemoryStream
783 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:09:24 ] >>782 これは、これ以外にないといえるようなStreamですね。 明日さっそく試したいと思います。ありがとうございました。
784 名前:デフォルトの名無しさん [2008/04/04(金) 10:08:31 ] 質問です。 各テーブルごとにテーブルクラスを作成し、 データの受け渡し受け取りには、テーブルクラス.レコードを定義して使用しています。 各テーブルクラスの違いは、 レコードクラスの違いくらいなので、 (実際には、レコードクラスの違いにより処理内部にも違いは出ているのですが、 ロジックは同じということです。) 同じ処理を書いて、あまりステップ数を膨らませるのは嫌なのですが、 何かよい方法はないでしょうか?
785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:25:03 ] データセットデザイナを使う
786 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:10:30 ] >>770 自分の所も正常に見えます
787 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:30:46 ] >>784 日本語でおk