1 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:47:07 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part41 pc12.2ch.net/test/read.cgi/tech/1244259018/
2 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:47:58 ] -----関連スレ C#, C♯, C#相談室 Part53 pc12.2ch.net/test/read.cgi/tech/1245150671/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/ ----参考サイト www.google.co.jp/ msdn.microsoft.com/ja-jp/library/default.aspx homepage3.nifty.com/midori_no_bike/CS/ www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html dobon.net/vb/dotnet/ jeanne.wankuma.com/tips/ www.labasp.net/CsharpNote/
3 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:51:32 ] 乙です
4 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:58:56 ] 乙
5 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:17:14 ] でも、継承で組みあがってないと資産にならないし 拡張も難しくなるし。継承で組みあがってはじめてオブジェクト指向になるんじゃないんですか? 継承の作りどころがわからないとプログラミングがはじまってもいないと思うのですが、この壁を超えるにはどうすればいいんでしょうか
6 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:20:54 ] 継承が必要なときはね。ピーンとくるよ、
7 名前:デフォルトの名無しさん [2009/06/24(水) 19:26:03 ] クラスの継承は使わずに、インターフェイスの継承だけで試しにやってみたらいいんじゃない 正しい使い方に矯正されるよ
8 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:26:20 ] インターフェイスでたいていは間に合う。 最近のオブジェクト指向は継承より委譲と包含がトレンド。 そのうち風向きがまた変わるかもしれないけどね。
9 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:29:31 ] 違うよ。多態使ってはじめてオブジェクト指向のメリットがあるんだよ。 継承だけならオブジェクト指向以前の構造化プログラミングで十分。
10 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:31:12 ] これってアレ?全力で間違ったことを言うとレスが必ず付くってやつ?
11 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:32:34 ] 前スレの実験だけど、1億回ループで101ms、ifだけを3倍にしたら171ms、 forの処理時間を差し引くとifが1億回で35msという結果になった。 使用したマシンはPen4/3GHzなんで、計算すると1回あたりほぼ1クロック。 データシート通りの結果になった。
12 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:47:13 ] 多胎はメリットの一つだろうが=じゃねえだろ
13 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 19:50:01 ] コードの再利用やカプセル化なんてオブジェクト指向でなくてもきるからな。
14 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 20:57:26 ] Windowsのサービスパックと.Netがインストールされているかどうかを プログラムから調べる方法を教えてください。 検索しても「システムのプロパティを開いて」といった、人間の目で 確認する方法しかヒットしません。 今作っているアプリが.Net3.5を使っているのですが、.Netの入っていない マシンで実行すると無反応になってしまい困っています。
15 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:01:21 ] 最初にシステムの状態をチェックして、 「.Netをインストールしてください」みたいなダイアログを出したいのです。
16 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:03:38 ] >>15 インストーラーが自動でやってくれるよ
17 名前:デフォルトの名無しさん [2009/06/24(水) 21:05:34 ] C#でCOM参照を可能にしたDLLを作ってExcel2002の参照に追加 関数を呼び出すと必ず実行時エラーになる VC#2008で作ったCOMDLLはOfficeで使えないのかな? ググっても解決法が見つからないっす
18 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:08:37 ] >>16 インストーラーは使ってないです。 導入はexe単体をコピーするだけなんです。 >>17 使用者があんまり詳しくないので、できれば関連ファイルは 増やしたくないのですが。 ほかに方法がなければ、いずれかを検討してみます。
19 名前:14 mailto:sage [2009/06/24(水) 21:12:26 ] とりあえず、mainの先頭にMessageBoxを入れたら表示されたので、 .Netがなくてもとりあえずプログラムはスタートはしているようです。
20 名前:14 mailto:sage [2009/06/24(水) 21:14:25 ] ふと思いついたのですが、 アプリケーションの追加と削除の中の一覧を調べる みたいな方法は避けた方がいいでしょうか?
21 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:15:51 ] 詳しくないなら、なおさらインストーラー作ったらいいじゃない ランタイムなかったらそれも自動でインストールしてくれるし
22 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:18:04 ] >>17 実行時エラーってその内容はどうなのよ
23 名前:14 mailto:sage [2009/06/24(水) 21:23:05 ] >>22 exeのアイコンをダブルクリックすると、一瞬砂時計になるだけで エラーも何も出ずに、すぐに終了してしまいます。
24 名前:17 mailto:sage [2009/06/24(水) 21:24:03 ] >>22 実行時エラー '-2146234105(80131107)' オートメーションエラーです。 だそうです。
25 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:34:24 ] Excel2002ってアセンブリ読めるの?
26 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 21:45:13 ] 一応読める ttp://msdn.microsoft.com/ja-jp/library/aa140056(office.10).aspx
27 名前:17 mailto:sage [2009/06/24(水) 21:53:06 ] 色々調べた結果、OfficeのバージョンとVSのバージョンによって 参照できたり出来なかったりするみたいですね
28 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:18:15 ] >>14 レジストリ見れば.NETがインストールされてるか分かる。どこ見ればいいかはググれ
29 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:44:56 ] ttp://www.atmarkit.co.jp/fwin2k/win2ktips/246checkvdnfw/checkvdnfw.html
30 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 22:57:54 ] listBoxの最後の項目を抜き出すには、どのようにしたらよいですか? listBoxの項目から、ランダムにひとつを抜き出すには、どのようにしたらよいですか?
31 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:00:39 ] 一つ目は抜き出せる?
32 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:04:31 ] ListBox.Items.Countに項目数が入ってるだろ つまり
33 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:15:48 ] IndexOutOfBoundExceptionが出ちゃいます
34 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:18:57 ] >>33 最後の値を取りたいんなら-1しないとダメだぞ
35 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:25:26 ] 1個目はできます。 listBox.SetSelected(1, true); string s = listBox.Text; MessageBox.Show(s); 最後の項目ということで、 listBox.SetSelected(ListBox.Items.Count, true); としたら、 静的でないフィールド、メソッド、またはプロパティ 'System.Windows.Forms.ListBox.Items.get' で、オブジェクト参照が必要です となってます。
36 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:32:07 ] int[] array = new int[3]; のarray.Lengthは3だよな このときarray[x]のxの取り得る範囲は?
37 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:38:20 ] >>30 Randomオブジェクトでヘルプを検索
38 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:39:58 ] 1個目はlistBox.SetSelected(0, true); です。 x 012です。
39 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:48:27 ] テキストBOXに textbox1.Text = "test\r\n" と書き込んだ後に、表示しているテキストに 追加して文字列を入力したいのですが 消えてしまって、前の状態が保持できません。
40 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:54:52 ] >>38 arrayをlistBox.Itemsに、LengthをCountに置き換えれば後は分かるな? >>39 AppendText
41 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:58:23 ] >>40 ありがとうございました。 できました^^
42 名前:14 mailto:sage [2009/06/25(木) 00:09:41 ] >>28-29 ありがとうございます。 こちらでも、プログラムの追加と削除について調べているうちに、 レジストリから.Netの情報が直接取れそうだとわかったところでした。
43 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:14:47 ] ありがとうございました。 listBoxできました。
44 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 06:05:56 ] これをもっと簡略化して書くならどうしますか? if(File.Exists(file_name)) { FileInfo fi = new FileInfo(file_name); if (fi.Extension == ".txt") return true; else return false; }
45 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 06:30:56 ] 三項演算子でも使って書けよ
46 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 06:40:12 ] >>45 お手本をお願いします
47 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 06:46:20 ] えええええええええええ return str=="aaa" ? true : false; みたいなの
48 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 06:51:02 ] >>47 実例お願いします
49 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:02:43 ] はい実例 return str=="aaa" ? true : false;
50 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:06:27 ] return fi.Extension == ".txt";
51 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:07:45 ] >>50 これだとファイルが存在しない場合エラーでますよ
52 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:10:25 ] >>44 これを簡略化して書いてほしんです 誰もできませんか?
53 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:14:41 ] できますよ
54 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:17:20 ] >>53 ではお願いします
55 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:18:07 ] やです
56 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:19:54 ] >>51 そこは省略したんだけど、存在しない場合はreturnせずに続行でいいのか?
57 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:20:05 ] >>55 テンプレ読んでください 同意できないならレスしないでください 邪魔なだけですから
58 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:22:41 ] >>56 テキストファイルが存在するかどうかのチェックをするメソッド内の文なんです 最終的にboolを返すようにしてほしんですが
59 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:23:38 ] 少しは自分で考えろよ
60 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:28:52 ] >>59 考えてここまで短くしました 先輩方ならもっと短く出来るのかなと思いましたが どうやら無理っぽいですかね? >>1 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 あと、これなんで、嫌なら来ないでください 私みたいな初心者煽ってても時間が勿体無いだけですよ
61 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:34:34 ] >>60 いいえ可能です
62 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:37:44 ] 優しいの定義は人それぞれだしな。 return File.Exists(file_name) && file_name.EndsWith(".txt"); でいいな。
63 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:41:01 ] 何を言おうが所詮2ちゃん。 煽られるのが嫌なら、MSDN フォーラムでも行けよw
64 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:41:31 ] >>62 すごいです。一行でできるなんて驚きです この場合は三項演算子いらないんですね? やっぱりできる人は口先だけじゃないですね 三項演算子とか言ってた人は結局無能の荒しと証明できたということですね ありがとうございました。
65 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:43:31 ] どういたしまして。
66 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:43:34 ] >>63 2chだから許されるのと、貴方に良識がないのとは別問題ですよwww バカはどこ言ってもバカ できるひとはどこ言ってもできるんですよねー こういう常識的なこともわからないで子供じみたことしか言えないなんて 無能のバカはどうしようもないですねw
67 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:45:06 ] >>66 2chだから許されるのと、貴方に良識がないのとは別問題ですよwww バカはどこ言ってもバカ できるひとはどこ言ってもできるんですよねー こういう常識的なこともわからないで子供じみたことしか言えないなんて 無能のバカはどうしようもないですねw
68 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:46:45 ] コピペした時点で敗北宣言ととりました わたしの勝ちですねw バカを論破するなんて容易いわw
69 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:46:52 ] 煽られてんのにわざわざ答えを書いてやるって・・・。 おまえらってほんと優しいのなw
70 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:47:25 ] 論破()笑
71 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:48:21 ] 朝っぱらから暇なんだな そろそろ出勤しろ
72 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:48:30 ] >>62 の方なら私の1000行のプログラムも100行ぐらいで書いちゃうんだろうな しかもわかりやすく・・・・本当に実力のあるひとは違いますね
73 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:49:53 ] 実力のある人は既に書かれたものを探します 一番良いのは何も作らないこと By CodeComplete
74 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:50:30 ] >>72 無能自慢はしなくていいですよ
75 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:54:37 ] >>73 これってほんと真理ですよねー 自分は探すのが下手なんだなー
76 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 07:55:40 ] そりゃ無能でしょうからね
77 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:14:28 ] みんな優しく答えてくれてるじゃないか。 次スレの>>1 には 回答者を煽るような質問者は相手をしないようにしてください。 って追加しておくべきなんじゃね?
78 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:25:04 ] なんとか.TXTってファイル名で試して見ろやw
79 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:28:05 ] どっちかというと バカは答えないように! って加えたほうが適切だろ。 >>47 とか>>49 って boolを返却するって事自体が理解できてないノリじゃん?
80 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:32:22 ] 47って?から後ろ要らなくね?
81 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:40:37 ] >>79 の後半2行が云わんとしてるのは、まさにその事!
82 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:43:10 ] ;は要るよ
83 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:47:49 ] あげ足取りは要らないけどね
84 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:48:23 ] ソースの行数が少ないのとプログラマとして優秀なのは無関係だよなー
85 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:48:27 ] >>47 >>49 は if ((a > b) == true) とか書いちゃう人なんだろう。
86 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 09:52:53 ] >>85 おっと、そういうコードを提示した>>44 を忘れちゃいかん。
87 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:02:22 ] >>44 は質問者だから問題なし。 自分の書いたコードをちゃんと提示してるのだから立派なものだよ。
88 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:19:57 ] 自己弁護乙
89 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:24:19 ] >>44 はなかなかの釣り師だな
90 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:39:12 ] そうだね^^
91 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:42:10 ] >>47 >>49 さん、そんなに必死にならなくても。
92 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:47:10 ] RegexでURLを取り出すためにサイトから正規表現コピペしてきたんだけどURLを拾えなかった 正規表現のエンジンってC#用とかJava用とかで別物なの?
93 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:48:54 ] その正規表現を書け
94 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:51:18 ] (https?:¥/¥/[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+)
95 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:52:34 ] ネットに転がってるのはperl系のが多いね。 C#やJavaはposix系だったかな。 他にもunix系、GNU系とかいろいろある。
96 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 10:56:23 ] \/\/ これじゃないの
97 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 11:11:46 ] よく悩むんですが フォーム上のボタンが押されるとファイルが読み込まれるというプログラムの場合 Formクラス上でファイルの有無をチェックすべきか FileStreamなどを使ってファイル入出力するstaticなクラスで有無をチェックすべきか どこでチェックするのが最適ですか?
98 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 11:13:57 ] >>96 \取ったら出来ました つ○飴ちゃん
99 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 15:39:10 ] var x = new XElement("foo?", "bar"); 上記のコードは例外を発生しますが、 Xmlに使えない文字をエスケープするにはどうしたらよいでしょうか?
100 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 15:51:25 ] var x = new XElement(@"foo?", "bar");
101 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:18:38 ] えっ?
102 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:33:27 ] static class hogeB { static public List<string[]> GetList() { List<string[]> data=new List<string[]>(); return data; } } hogeAクラスでhogeBクラスより受け取ったdataの中身がからっぽなんですがなぜでしょうか?
103 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 16:35:08 ] >>102 からっぽって? 要素数0のリスト返してるだけじゃん?
104 名前:103 mailto:sage [2009/06/25(木) 16:39:32 ] すいません。受け取り側のプログラミングミスでした
105 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 17:35:54 ] >>99 XMLに使えない文字と言っても要素名に使えない文字と普通のテキストノードに使えない文字は別だしな。 標準には禁止文字をエスケープする手法は特に定義されてないはず。 XmlSerializerは_xXXXX_形式でエスケープしてるけど。 ざっと見た感じ.NETの標準ライブラリではXMLの無効文字コレクションや判別メソッドは公開されてないなぁ。
106 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 19:04:28 ] タイトルバーの最大化ボタンを消す方法を教えてください。 MaximizeBox = false; だと、押せなくなった色の薄いボタンが見えてるので、 これを完全に消したいのです。
107 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 19:07:47 ] >>106 フォームのスタイルを変更する
108 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 22:06:55 ] ちょっとちょっと回答者さんいないじゃん 早く帰宅して回答してよ
109 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:24:09 ] TransparencyKeyを指定して不定形フォームはできたのですが、 それにドットごとに不透明度を変える方法を教えてください argbでアルファ付きのBitmapは作れましたが、 BackgroundImageに入れてもアルファが効きません Opacityだと全ドットの不透明度が同じになります
110 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:38:02 ] C++/CLI VS2008ですが、WinFormはこちらで聞けと言うことなので。 Forms.Timerクラスの質問です。 Form上のボタンをクリックしたら1秒毎にメッセージ表示はできましたが、 タイマーイベントハンドラ関数からのFormクラスのメンバ関数の呼び方がわかりません。 ”静的メンバ関数の呼び出し方がちがう”とのコンパイルエラーがでてしまいます。 どのように呼べばいいのでしょうか?
111 名前:デフォルトの名無しさん [2009/06/25(木) 23:39:36 ] C++コンパイラが吐くエラーの話なんだからC++スレで聞け。
112 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:51:27 ] >>109 無理 Regionでどうにかすれ
113 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:59:49 ] >>112 Win32API呼んでも無理ですか? Yahoo Widgetとかだとアルファ付きpng表示させるだけであっさり実現できるので 何らかの方法はあると思うのですが(Win32APIとか?) そもそもRegion使っても不定形フォームができるだけで フォームのドットごとの不透明度とはなんら関係ないと思いますよ
114 名前:デフォルトの名無しさん [2009/06/26(金) 00:12:49 ] C++もC#もロクにできないのにC++/CLIなんかに手を出すな あれは両方完璧に使える人が嫌々使う言語だ
115 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 01:13:37 ] >>113 昔VC++でそういうウィンドウを作ったことあるな。 たしかWin32APIのUpdateLayeredWindow()てのを使った。 C#でやってる人もいるんじゃね? とりあえずC#とUpdateLayeredWindowで検索してみるといいよ。 いい方法見つかったら教えてね(はぁと
116 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 07:36:33 ] DataGridViewにデータを渡して表示する場合 データをどういう形式するのが一般的なのでしょうか? List<string[]>のようなデータ形式をforeachなので一つ一つ x,yでセルを指定してデータを入れているのですが どうも非効率的というか、処理も遅いような気がします よろしくお願いします
117 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 08:46:31 ] BindingSourceをバインディング
118 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 09:33:03 ] 手抜きだけど、匿名型のシーケンスをDataSourceに入れてAutoGenerateColumns=true って、DGVで出来たかな
119 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 12:32:06 ] >>115 WinFormsとUpdateLayeredWindowは相性が悪い。 上手くやる方法があるんだったら、俺も教えてほしいぐらいだ。 WPFなら簡単にできるので、 WPFに移行する事をお勧めするよ。
120 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 12:48:20 ] dataGridView1.CurrentCell.ColumnIndex ヘッダ選択されているときも値が0なんだよな -1とかにしてくれればいいのに面倒だな
121 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 13:12:52 ] C# 2.0 WindowsFormで質問です。 DataGridViewを作成し、カラムが何もない状態で動的に行列を追加しようとしています。 DataGridViewColumのオブジェクトインスタンスを生成し列追加を行った後 DataGridViewRowを同じDataGridViewに追加しようとすると DataGridView コントロールの列のうち少なくとも 1 つにセル テンプレートが指定されていません。 というエラーが実行時に発生します。 この現象を回避するにはカラムにあるセルテンプレートに何か入れてやればいいと思うのですが、 どのように設定してやればいいのか分からない状態です。 回避策やヒントになるサイトなどありましたらお教え願えませんか?
122 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 14:47:30 ] dgvはほんとわかりにくい
123 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 14:50:06 ] >>121 どんなコード書いたの?行列の追加はたったこれだけだよ。 いちいち型とか指定しなくても、枠だけはすぐに作れるはず。 dataGridView1.Columns.Add("name1", "title1"); //列の追加 dataGridView1.Columns.Add("name2", "title2"); //列の追加 dataGridView1.Columns.Add("name3", "title3"); //列の追加 dataGridView1.Rows.Add(3); //行の追加
124 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 14:59:13 ] VSの機能で国際化してみたのですが、これだけではダイアログなどのデザイナで文字列を設定できないものに対して国際化できなかった。 それで言語別に自分でリソースファイル足したのですが、自分で足したファイル(全言語分がメインアセンブリ内に……)とデザイナが自動で作ってくれる言語別のDLLファイル(こちらはサテライト)が別々になってて気持ち悪いのでこれらをまとめる方法が知りたいです
125 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 15:15:38 ] >>123 こんなコードです 変数定義はループの外で定義してあります for(int i=0; i< data.Lenght;i++) { col = new DataGridViewColumn(); col.HeaderText = data[i].Name; col.Tag = data[i].Key; dgv.Columns.Add(col); } for(int i=0; i< datas.Lenght;i++) { row = new DataGridViewRow(); row.HeaderText = data2[i].Name; row.Tag = data2[i].Key; dgv.Rows.Add(row);
126 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 15:25:16 ] dvg..ColumnCount=data.Length foreach (Data d in data) { dvg.Columns[idx].Name = d.Name; dvg.Columns[idx].Tag=d.Key idx++; }
127 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 15:27:47 ] >>126 なるほど グリッドに追加させたカラムに関しては勝手にテンプレートが適用されるという解釈ですか?
128 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 15:44:03 ] どうかな
129 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 17:17:28 ] >>125 >>121 で、警告されたエラー そのまま でしょ。 >DataGridView コントロールの列のうち少なくとも 1 つにセル テンプレートが指定されていません。 col のCellTemplateプロパティが設定されていないから。 DataGridViewTextBoxCell とか使いたいセル形式を指定してやれば、いいんじゃない? MSDN見れば、そっくりのコードが例にでてると思うけど… つか、普通こんなやり方するよりDataTable作って、DataSourceにぶち込んでやるのが 一番、手っ取り早いし、一般的なやり方ではないの?
130 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 18:04:35 ] こんにちわ
131 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 20:09:52 ] Visual Studio 2008を使っていると、たまにソリューション構成のところがグレーアウトして Debug/Releaseが選択できなくなるんですが、その条件がよくわかりません。 どういう場合に選択できなくなるんでしょう?
132 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 21:37:31 ] >>131 デバッグ中とか。裏でアプリが動きっぱなしになってないか?
133 名前:131 mailto:sage [2009/06/26(金) 23:50:02 ] >>132 Visual Studioを一旦終了して開き直しても変わりません。 オプションを開いて「ビルド構成の詳細を表示」をチェックするとDebugが選べるようになるんですが、 こんな深いところにある設定を無意識にうっかり変えてしまう可能性は低いと思います。 もしかしてキーボードショートカットや、ツールバーのアイコンから設定が変更できたりするんでしょうか。 とくにカスタマイズはしていません。
134 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:51:45 ] 裏でアプリが動きっぱなしになってないか?
135 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 06:21:54 ] C#8 EE クラス名にマウスポインタあわせると簡単なTIPSが表示されるけど あれを日本語にできないんでしょうか? 前は日本語表示されてたはずだけど、3.5日本語Languageインストールされているのに 英語のまま
136 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 06:22:47 ] パッチがあとから出てるから探してみて
137 名前:135 mailto:sage [2009/06/27(土) 06:40:48 ] お願い検索キーワード教えてください スニペット c# 2008 日本語化 で検索してもみつからない
138 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 06:48:23 ] スニペットじゃなくてインテリセンス…
139 名前:135 mailto:sage [2009/06/27(土) 06:57:07 ] >>138 一発で見つかりましたwお手数かけました!
140 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 09:59:32 ] TestDriven.net で最後に実行したテストを再実行するショートカットってない?
141 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 11:58:34 ] newキーワードが適用できる型と出来ない型ってどう違うの?
142 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:02:06 ] どんなんを指してるのか分からんが コンストラクタを公開してないとか
143 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:05:06 ] 動的生成させたいかどうか
144 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:13:20 ] もっとやさしくおしえて^^
145 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:21:48 ] アホには無理
146 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:24:47 ] オブジェクトになるやつとならないやつ
147 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:26:54 ] もっとやらしくおしえて^^
148 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:27:43 ] >>142-143 うまく説明できないけれど・・・ VisualStudioでnewとスペースの後に何か文字を入力すると候補が出てくるけど 適当に選んで ( を入力しても引数とかの表示のポップアップ出てこなくて MSDNでその型名検索してもどこがnewできる型と違うのか良く分からないので そういうのをC#使って調べるにはどうしたらいいのかな、的なことです
149 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:28:13 ] 調教が必要なやつと必要ないやつ
150 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:31:43 ] コンストラクタを公開してるかどうか
151 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:33:09 ] 抽象クラスかどうか
152 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:34:01 ] >>148 class CannotCreat { CannotCreat(){} } こういうことだ。
153 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:35:05 ] 静的クラスかどうか
154 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:37:08 ] >>148 MSDN メンバ一覧を見る。 例えばSystem.Net.HttpWebRequestクラスならコンストラクタに鍵のアイコンがついてる。 つまりコンストラクタがpublicじゃないからnewを呼び出せない。 System.Drawing.Imageクラスならそもそもコンストラクタが一覧に載っていない。 それから、クラスの解説の構文にabstract classかstatic classとあればそもそもそれのインスタンスは作れない。
155 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:39:49 ] 鍵のアイコンとかアイコンの意味の一覧ってある? 探してるんだけど見つからない。
156 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:40:38 ] ある。ないわけがない。
157 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:46:43 ] ならば提示して見せよ
158 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:48:07 ] msdn.microsoft.com/en-us/library/y47ychfe.aspx
159 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:51:38 ] 型とクラスの違いをおしえてくさい
160 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:52:54 ] 名前
161 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:53:27 ] >>154 このページの一番下の明示的インターフェイスの実装っていうのアイコンが鍵マークだからnewを使えないってこと? 明示的〜のところが空欄な時も無理、と ttp://msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest_members(VS.80).aspx GetType( 型名 ) っていうのだとIsAbstractっていうのはあったけどIsStaticっていうのはないからこれでは無理なのかな
162 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 12:55:16 ] >>158 ありがとうございます。
163 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:00:15 ] どうやらコンストラクタが何か分かってないようだが
164 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:00:52 ] >>161 一番したのは鍵じゃなくない? インターフェースのマークだと思うけど。 もちろんインターフェースはnew出来ないけど。 >>154 が言っているのは一番上の鍵の付いたコンストラクタだと思うんだけど。
165 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:02:59 ] >>164 あ、なるほどorz プロテクトコンストラクタっていうのの下が隙間相手たから他のところ探してました
166 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:06:39 ] msdn.microsoft.com/ja-jp/library/y47ychfe.aspx ja-jpにしてみた 昔はコンストラクタをインストラクターとよく言い間違えてたな
167 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:07:43 ] コンストラクタがわかってないならオブジェクトもわかってないな
168 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:09:43 ] やべぇ。鍵マークはprivateだと思ってたよ。protectedだったのか。
169 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:23:27 ] >>163 ,167 うん多分良く分かってない・・・ なんとなくnewが使えるのはクラスだけっぽい気がしてきたけど GetTypeメソッド使ってnewがその型に使えるかどうか調べたい時は IsClassとIsPublicがtrueで、IsAbstractとIsInterfaceとIsEnumがfalseの奴を選んであげればいい、のかな・・・?
170 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:33:53 ] ん? コーディング時じゃなくて実行時に知りたいってこと?
171 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:42:09 ] >>170 実行時というか、論理的?に調べるというか MSDNでそう書いてあるから、じゃなくて、ちゃんとプログラムとして実行してみて この型はこうなってるからnewが使える、使えない、みたいな感じのことができるようになっておきたいなと・・・ いまだとちゃんとnewが使える理由理解してないから
172 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 13:55:03 ] newは「使える/使えない」じゃなくて「使わなきゃいけない/省略してもいい」かどうかって 視点で見た方がいいかもよ。
173 名前:デフォルトの名無しさん [2009/06/27(土) 13:56:27 ] 簡単だ newするスコープからアクセス可能なコンストラクタが存在する かつ、抽象クラスでも列挙型でもない
174 名前:デフォルトの名無しさん [2009/06/27(土) 14:00:26 ] 訂正 列挙型はnewできる というか値型の場合はコンストラクタの有無にかかわらずnew可能
175 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:26:36 ] そういうのって後で自然に分かってくると思うんだが
176 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:32:20 ] >>171 もういいよ。C#の文法を勉強したくないということだけはよく分かった。
177 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:48:13 ] >>171 まず、newは ・ 値型のデフォルト値の作成(例:new int(),new BindingFlags()) ・ コンストラクタの呼び出し(例:new StringBuilder()) の2つの用途で使える事を押さえておく必要がある。 前者は引数なしのnewで値型なら必ず使えるし、参照型では絶対に使えない。 後者は、値型なら引数1個以上、参照型なら引数0個以上のnewで、 コンストラクタが定義されていれば使えるし、定義されていなければ使えない。 ただし、使えるといってもどこからでも使えるわけではなく、 例えばアクセス修飾子がprotected(鍵マーク)ならnewする型の内部と、その派生クラスの内部でしか使えない。 このあたりはメソッドやプロパティと同じ仕組みなので、newだけ特別という事は無い。 これで理解できないなら、C#を基礎から学び直せ。
178 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:51:40 ] あと、インターフェイスは参照型だが、コンストラクタを定義できないので newできない、という事になるが、 例外として、COM関連のインターフェイスはnewできるものもある。 (例:Microsoft.Office.Interop.Excel.Application) たぶんCoClass属性のおかげだと思うが、 俺もよくわかって無いので自分で調べてくれ。
179 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:54:27 ] 簡単には、GetConstructorしてpublicなやつがとれるかどうか。 Reflecterで調べてもいいけど。 ※ただしそれが絶対というわけではない。 まあ普通はMSDNとかドキュメントで仕様を見なきゃいけないんだけどね。 まあ確認したいってことなら。
180 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:55:42 ] ところで全然関係ないけど、インターフェイスのnewを普通のコードでサポートしたいことがあった。 ※単に文法的な話なだけだが。
181 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:09:30 ] >>173 ,177 あ、列挙型にnewを使う時は引数を指定できない=1番目の定数の作成に固定されてるから VisualStudioで型名の後に(を入力しても何もポップアップされなかったのか!そんなの当たり前だから表示するはずないだろ的な。 つまりVisualStudio自体はちゃんとnewの後に来てもおかしくない型名だけ表示してくれてたんだ やっとちょっとすっきりした、ありがとう >>176 ごめん
182 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:26:10 ] > VisualStudioで型名の後に(を入力しても何もポップアップされなかったのか! ん?列挙型でも(の後にポップアップが出てくるぞ? 例えば、 enum A{} なら new A( と入力した直後に A.A() とポップアップする。(引数0個のnewが使えますよ的な意味で)
183 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:35:50 ] >>182 あれ、Intとかだとそうなるけど、列挙型だと俺のとこではならない・・・ 例えば上で出てる System.Reflection.BindingFlags a = new System.Reflection.BindingFlags まで書いて(入力しても無反応 VisualStudio2008のSP1当ててるから最新のはずなんだけども
184 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:42:18 ] >>181 VC#のインテリセンスはお利口だから使える候補だけ出てくれるよ。 出てくれない時はほとんどの場合自分のミス。 ほとんどっていうか今までにインテリセンス様が間違った事がないけど、たまーにあるらしいっていうのも聞いたことある程度。
185 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:55:15 ] さすがインテリ
186 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:21:46 ] >>184 VS2008だと、拡張メソッドがらみでジェネリック引数制約が複雑に混ざるとダメだね VS2010なら大丈夫なんだけど
187 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:32:34 ] また重くなりそう
188 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 18:50:31 ] .NET 3.5 SP1の入った環境で、コンボボックスに AAA BBB CCC というデータが入ってる時、キーボードの「A」を押すと自動的に「AAA」が選択されるという ショートカット(?)機能を止めたいのですが、どのプロパティを書き換えればいいのでしょう?
189 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 19:01:53 ] >>188 ああ、それね。以前オレも同じ問題に突き当たって結局解決できなかったから、 コンボボックスのプルダウンが表示されていない状態のときは履歴を削除するかたちで対応した。 正しいやり方を知ってる人があれば教えてほしい。
190 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 19:12:06 ] KeyPressでHandledしてしまえばいいかも
191 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 19:52:02 ] 正確には覚えてないんだけど、 親フォームのKeyPreviewをtrueにして、親のKeyDownイベントで現在の値を保存、 コンボボックスのSelectionChangeCommittedで保存しといた値を再設定してやるんだったかな。 なんかそんな方法で擬似的にキーボードショートカットが使えないように 見せかけた覚えがある。 ちゃんと動くようになるまで、かなり試行錯誤した覚えが。
192 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 19:55:30 ] >>190 KeyPressだとたぶん手遅れになる。やるとしたらKeyDownじゃないかな。
193 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:25:23 ] >>192 全角文字でも頭出しできるんだぜ?
194 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:43:28 ] >>191 うーむ。もうちょっと確かな情報だとありがたい >>192 ,193 違うんだな。KeyPressのイベントのあとで補完作業が行われるんだ。だから困る。
195 名前:デフォルトの名無しさん [2009/06/28(日) 01:50:16 ] アクセス装飾子と「override」(もしくは「virtual」など)の順番って、 「(アクセス装飾子) override」が一般的なのかな? 俺はoverrideの方を最初に持ってくる方が好きなのだが、 エディタが自動的に上記の順番に変えちゃうことがあるし、 解説サイトとかでも同じようにやってるので、何か意味があるのだろうか
196 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 01:59:47 ] >>195 まあ、順序にそれほど深い意味はないと思うけど、 「他の人とそろってる」ってのは大事。 そういう意味では、エディタの言うこと聞いとくのが一番。 「自分はこっちの方が好き」とかいう理由で順番変えない方がいい。 解説サイトも Visual Studio のデフォルトに合わせてるだけだと思う。
197 名前:デフォルトの名無しさん [2009/06/28(日) 02:24:27 ] >>196 なるほど エディタに変更されるたびに自分流に書き換えるのは非効率的だし、 統一という意味でも、エディタの方に合わせておいた方がよさそうだ アクセス装飾子を先に書くようにするよ サンクス
198 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 10:11:30 ] コンボボックス内のリストボックスに LB_FIND が来るんで、 そいつを無視するんだったかな・・・。 デフォルトでは大文字小文字を無視するんで、LB_FIND の代わりに LB_FINDEXACT でごにょごにょした記憶があるな・・・。
199 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:35:36 ] 初歩的なことですみません。 pictureBoxを配置し、イメージを表示したとき、 そのイメージのパスを取り出すには、 なんとしたらよいでしょう? MessageBox(pictureBox.ImageLocation); がNullなのです。
200 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:48:03 ] そのプロパティはLoad使ったときしか使えない >Load メソッドを呼び出すと、ImageLocation プロパティが上書きされ、メソッド呼び出しで指定された URL が ImageLocation に設定されます。
201 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:49:17 ] 明日の6/29(正確には今日ですが)に、衛星を使って採取された世界中の標高データが無料で 公開されるとのことです。 【社会】人工衛星を使ってかき集めた、世界の「標高データ」を無料公開 tsushima.2ch.net/test/read.cgi/newsplus/1246160564/ そこで早速この標高データを使ってプログラムを組んでみようと思っています。 データは"GeoTIFF"というTIFF画像ファイルの拡張版フォーマットで提供されるようです。 標高データに加え、そのマップの経度・緯度情報といった付加的なヘッダが付け足されたのが "GeoTIFF"らしいです。 ※GeoTIFFに関して詳しくは→trac.osgeo.org/geotiff/ C#でこのGeoTIFFを読み込みたいのですが、なにか便利なメソッドやライブラリはありますか? GeoTIFFに対応していなくてもTIFFファイルやTIFFファイルのヘッダを読み込めるメソッドが あれば是非活用したいです。
202 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:51:15 ] >>201 そもそも.NET クラスライブラリがTIFFを読めるわけだが? ただ抽象化されていて、各画像フォーマットごとの詳細なメタデータが取れたかどうかは定かではない。
203 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 00:53:34 ] ついでに「詳しくは」って出したサイトに libgeotiff って書いてあるのが見えないのか?
204 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 02:07:34 ] >>200 thanks
205 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 11:06:50 ] 広告だと思う 203までが
206 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 15:04:41 ] フォームにパネルとエディットボックス類を配置し、 パネルにDirectXで編集画面を描画しています。 パネル上に描画されているオブジェクトを選択している状態で Del キーを押すと そのオブジェクトを削除 とやりたいのですが、 そうするとエディットボックス上の文字を削除するときの DEL と区別ができません。 パネルにフォーカスを設定できればすぐに解決できるのですが... どうすればうまく解決できるでしょうか?
207 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 15:25:57 ] 無理やり設定すれば取れないこともない。
208 名前:206 mailto:sage [2009/06/29(月) 22:58:04 ] 自己解決しました。 編集用のパネルMouseDownしたときに this.ActiveControl = null にしてエディット系のフォーカスを外し、 フォームの KeyPreview を true にして、フォームのKeyDown イベントで、 アクティブコントロールが null かつ Del キーがおされたときに オブジェクトを削除するようにしました。
209 名前:デフォルトの名無しさん mailto:sage [2009/06/29(月) 23:03:09 ] VS2008 C#にてExcel(2003もしくは2007)を起動して表を作成しています。 C#からExcelを起動した時のみ、有効にしていたExcelアドインが使えなくなっていま す。 Test1.xlaというアドインを事前に有効にしておき、手動でExcelを起動すると、 Test1.xlaの中にあるマクロは関数の一覧画面に表示されていて問題なく使えるので すが、 C#からExcelを起動するとアドイン自体は有効であると表示されているにも関わら ず、 関数の一覧画面に表示されず使えなくなってしまいます。 セキュリティは低に設定しても同じでした。 Excelのオブジェクト生成は以下のように普通のことをやっているつもりです。 Excel.Application app = null; Excel._Workbook wb; Excel._Worksheet st; try { app = new Excel.ApplicationClass(); wb = (Excel._Workbook)(app.Workbooks.Add(Missing.Value)); st = (Excel._Worksheet)wb.ActiveSheet; 以降の処理で線引いたり値を張り付けたりです。 Excel起動時にアドインをチェックして、app.Workbooks.Open(アドイン名,…)を実行 すれば関数の一覧画面に出てくるのですが、 原因が分からないので、この対処で問題ないのか不安です。 どなたか原因と正しい対処をご存じないでしょうか?
210 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:11:09 ] >>208 >>207 で答えてるのに事故解決化よ
211 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:40:31 ] コンソールアプリでアプリが終了したときに飛んでくるイベントとか無いですか?
212 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:43:40 ] >>211 全てのオブジェクトが開放されてるのにどうやってイベントよこすんだ?
213 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 00:58:30 ] ああ、207って206へのレスだったんですね
214 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 01:15:24 ] >>210 >>207 って答えてるうちに入るんだw
215 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 04:08:44 ] >>211 デストラクタ
216 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:04:27 ] >>214 これでわからなければさらに聞けばいいだけ
217 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 10:05:20 ] まあ実際にコード書いてみてうまくいったのを確認してから>>207 書いたのだが
218 名前:201 mailto:sage [2009/06/30(火) 14:01:39 ] >>203 > ついでに「詳しくは」って出したサイトに libgeotiff って書いてあるのが見えないのか? ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff125.zip ↑のファイルの中身を見てみたのですが、見あたるのは *.c ファイルと *.h ヘッダファイルだけでした。 GCC用のプログラムのようにも見えるのですがこれらをC#で使うことは可能でしょうか?
219 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 14:12:57 ] >>218 ヒソヒソ、アホは無視したほうがいいですよ
220 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 14:22:54 ] >>218 libgeotiff をDLLとしてビルドして、それをC#から使えばよいのでは?
221 名前:201 mailto:sage [2009/06/30(火) 14:36:40 ] CのプログラムをVisual Studio .NETでDLLコンパイルし、生成されたDLLファイルをC#のプロジェクトで使う という技は聞いたことはあるのですが実際に試したことはまだ一度もありません。 初心者向けのプログラムの本にもDLLとしてビルドしてそれを他のプロジェクト中で使うという 方法を説明したものは見あたらないのですが、そういった技を解説してくれているサイトというのは 無いでしょうか?できるようになったら応用がきく気がします。
222 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 15:37:14 ] 必要なソースやヘッダを含んだVC++プロジェクトをつくる (プロジェクトを作るときのウィザードで、ダイナミックリンクライブラリ)を選択しておく。 ↓ もしくは、適当に空っぽのプロジェクトをつくって必要なファイルを追加し、 VC++メニューからプロジェクト→プロパティ→構成プロパティ→構成の種類でDLLを選択する。 ↓ マクロ #define DLL_EXPORT(type) extern "C" __declspec(dllexport) type __cdecl をどこかに追加し、公開したい関数をとにかく DLL_EXPORT(関数の戻り値の型) 関数名(引数リスト) という形にする。(h も c/cpp も両方) たとえば元の関数が int hoge(const char *s) と宣言されていれば DLL_EXPORT(int) hoge(const char *s) としておく。これで関数が公開される。 ↓ ビルドする。 ↓ DLLできる。 ↓ dependency walker というフリーソフトに突っ込んで、 意図した名前の関数が公開されているか見る。 まずはここまでだな。
223 名前:デフォルトの名無しさん [2009/06/30(火) 16:51:44 ] クラスからフォーム1のインスタンスを作製し そのフォームからクラスのメゾッドにアクセスしようとすると 「静的でないフィールド、メソッド、またはプロパティ 'Test()' で、オブジェクト参照が必要です」 とエラーがでてメゾッドを実行できないのですが、何が間違っているのでしょうか?
224 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 16:52:54 ] インスタンス.Test()ってやってる? クラス名.Test()じゃなくて
225 名前:223 [2009/06/30(火) 17:04:42 ] ありがとうございます。 クラス名.Test()しておりました・・・そのせいですね。。 しかし、あるソフトのプラグインを作りたくてやっていたのですが インスタンス名がわかりません・・・
226 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 17:08:44 ] そりゃあそのソフトのプラグインの説明書に出てると思うぞ・・・
227 名前:223 mailto:sage [2009/06/30(火) 17:11:38 ] ご親切に大変ありがとうございました。 もう一度よく調べてきます。
228 名前:201 mailto:sage [2009/06/30(火) 18:36:13 ] >>222 ありがとうございます。早速試してみます。
229 名前:デフォルトの名無しさん [2009/06/30(火) 23:02:43 ] 複数のPrintDocumentの出力結果をマージする方法とか無いですか? 要するにPrintジョブをまとめたいだけなんですけど。
230 名前:デフォルトの名無しさん [2009/07/01(水) 01:13:27 ] オブジェクト指向言語の場合、フローチャートじゃなくて何が使われるんですか?
231 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 01:40:01 ] UML
232 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 01:45:36 ] UML
233 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 02:39:45 ] UML = Ultra Man Leo
234 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 02:49:00 ] VS2005 でツリービューを作成しているのですが「+」をクリックした時だけ では無く、「+」の隣にある文字列がクリックされた時にもNodeを展開するには どうすればよいでしょうか?
235 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 04:04:16 ] >>231-233 ありがとうございます。勉強してみます。
236 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 04:06:40 ] どういたしまして
237 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 06:32:00 ] >>234 NodeMouseClickでTreeNode.Expand
238 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 09:49:46 ] >>226 面白い事言うね
239 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2009/07/01(水) 10:08:29 ] C#でCompactFrameworkの書籍やサイトでお勧めってありますか?
240 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 10:42:15 ] こっちで聞け pc12.2ch.net/test/read.cgi/tech/1244882261/
241 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:07:09 ] BinaryWriterでbyteを書き込むとAnyCPUとx64でコンパイルしたプログラムで結果が違うことがあるんだが・・・なぜ?
242 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:08:13 ] >>237 ありがとうございました。
243 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:09:43 ] >>241 エンディアンの違いじゃね?
244 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:37:02 ] LargeIcon、オーナードロー状態のListViewでアイテム毎の描画エリアの大きさ変更するにはどうしたらよい? LargeImageListのImageSizeを弄ると大きさが変わるみたいだが指定した数値になるわけじゃないので厳しい。 LVS_OWNERDRAWFIXEDはReportViewじゃないと使えないので駄目。
245 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:39:31 ] >>241 C#でおk
246 名前:234 mailto:sage [2009/07/01(水) 11:42:36 ] >>237 NodeMouseClickイベントの中で次のコードを書いたところ 「+」の隣にある文字がクリックされた場合には、正常に 展開・縮小をする事が出来る様になったのですが、 逆に「+」がクリックされた時には、正常に展開・縮小をする事が 出来なくなってしまいました。 ※不正な挙動を細かく言いますと、縮小中のノードの「+」部分を マウスでした状態(左ボタンを押しっぱなし)では展開され、 マウスを放すと縮小されてしまいます。 ⇒次に続きます。
247 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:43:20 ] >>241 元のデータは同一なの? x86もやってみた?
248 名前:234 mailto:sage [2009/07/01(水) 11:43:32 ] private void tvTop_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { Point pntMouseClick = new Point(); pntMouseClick.X = e.X; pntMouseClick.Y = e.Y; tvTop.SelectedNode = tvTop.GetNodeAt(pntMouseClick); //ノードが展開されていない場合には展開する。 if (!(tvTop.SelectedNode.IsExpanded)) { //選択されたノードを展開する。 tvTop.SelectedNode.Expand(); } else { //選択されたノードを折り畳む。 tvTop.SelectedNode.Collapse(); } } どうすれば「+」がクリックされた時にも「隣にある文字列」 がクリックされた場合にも意図した動きをする様になるでしょうか?
249 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 11:52:49 ] TreeView.HitTestでどこクリックされたか調査
250 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 18:14:53 ] Windows の標準操作から外れるアクションになるのはお勧めできないけどな
251 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 18:53:19 ] Formの最大化ボタンを押したらフルスクリーン表示に切り替えるコードの実装を書いてるんだが、 ウィンドウスタイルを設定するときにIntPtrがオーバーフローを起こすようで、 元に戻したらウィンドウのシステムアイコンが左右逆になっちゃって笑えるぜw あとひと踏ん張り……。
252 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 19:57:28 ] いじり方間違っている感がするけどそれはそれとして なんでその処理でウィンドウスタイルなんかいじってる んだ?
253 名前:sage [2009/07/01(水) 20:49:14 ] ダウンロードしたフリーウェアのプログラムに自分で作ったプログラムを追加しましたが自分のプログラムの所だけ 実行してくれません。express editionのソリューションエクスプローラで自分のプログラムは追加 出来た様に見えるのですが。D&Dしてリビルドしました。何か他にやる事がありますか? 自分のプログラムの部分は今はhello worldにしてあるので間違っては無さそうですが。
254 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 20:56:01 ] エスパーが必要だな。 それか、そのフリーウェアの作者に聞いたら?
255 名前:デフォルトの名無しさん [2009/07/01(水) 20:56:20 ] まずはC#の入門書を買ってこようか
256 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 20:58:50 ] 253です。プログラムに追加ではなくプログラムが入っているプロジェクトに入れました。
257 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:00:03 ] とりあえずそのフリーウェアをさらしてみたら
258 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:07:29 ] スタートアッププロジェクトの設定ができてないんじゃ
259 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:10:55 ] プロジェクトに追加したんじゃなくて、単に同じVSで開いただけなんだろうw
260 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:15:54 ] ArrayListyからList<>に入れ替えてForEachするのと ArrayListでforeachするのってどっちがいいの?
261 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:16:33 ] 誰か訳してくれ
262 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:19:02 ] 入れ替えるだけ無駄
263 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:19:18 ] Which is good as for doing foreach with the replacement with List<> from ArrayListy, doing ForEach, and ArrayList?
264 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 21:20:24 ] 英語でおk
265 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:32:38 ] English will do.
266 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:49:40 ] >>252 フレームが残っているとフルスクリーン時に全画面に描画ができないから。 C++から移植したのでウィンドウスタイルを直接APIで書き換えていた。 .NET上でもいじれるんじゃないかと気づいたので、明日書き換えてみよう。
267 名前:234 mailto:sage [2009/07/01(水) 23:26:24 ] >>249 遅くなりましたがお陰様でやりたい事が実現出来ました。 どうもありがとうございました。
268 名前:デフォルトの名無しさん [2009/07/02(木) 06:08:31 ] 型付データセットを使ったアクセス型のデータベース でソフトを作っていますが、テーブルを増やすことに なりました。新たにテーブルを増やすともう一度データベース を構築しなくてはならないので、他のテーブルとのリレーション はないことから、別のデータベースファイルを作成し 別個にデータベースを構築しようと思っています。 ひとつのソフトでいくつものデータベースファイルを 読み込むような構成としても大丈夫なものでしょうか。
269 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 07:13:05 ] 別に OK だけど、 「テーブルを増やすとデータベースを構築しなくてはならない」ってのは、意味不明。 そんなん、クエリーひとつ流すだけだし。まさか、リードオンリーで使ってる わけでもあるまい?
270 名前:252 mailto:sage [2009/07/02(木) 10:51:49 ] >>266 なんとなくやっぱりな感じだけど… ttp://www.atmarkit.co.jp/fdotnet/dotnettips/199fullscreen/fullscreen.html もとが C++ らしいし WM_SYSCOMMAND 周りの話はいいよな ちなみにスタイルいじりは SetWindowLongPtr じゃなく、 CreateParams をオーバーライド、UpdateStyles でやるのが正道。
271 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:44:31 ] C#でデータベースにアクセスする方法で、本だとデータソースの追加って奴使う方法が載ってます。 ネットだとそれせずにソース上で全部記述して処理する方法をよく見るんですけど、 この2つの方法って利点弱点ってあるんでしょうか? こっちの方法はやめとけってのあったら教えて下さい。 データソースの追加って奴の方が楽なように感じられないでもないような気も。 DBMSはSQL ServerとAccess両方使う予定です。
272 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:47:12 ] データソース使うと便利なメソッドとかあるからプログラミングが楽だけど 動作が重いってイメージ オレは初心者だから、上級者から見ればたぶん違う
273 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:47:57 ] スクリーンショット何枚も撮って貼り付けるよりコード示す方が手っ取り早い
274 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:52:35 ] >>270 なるほど……。参考になる。ありがとう。 URLの記事は知らなかったけど、ウィンドウスタイルを書き換えるのをやめてFormBorderStyleを変更するようにした。 コードが簡単になったし、変な動きも止まった。 でもフルスクリーン時にマウスクリックをすると挙動がおかしくなる。 テクスチャの描画(Direct3D)をするとフルスクリーン/ウィンドウの切り替えができない、 など色々とおかしいところがあるのでまだ調整中。
275 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:41:21 ] >>274 Direct3D?そっちかよ その場合は D3DPRESENT_PARAMETERS 変えて Reset だろ User32 まわりの機構を使わないで
276 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:51:25 ] >>274 デバイスの再設定/モニターの解像度の変更はそのとおりだけど、 描画対象のウィンドウのフレームを変更してあげないといけない。 理由は上に書いたとおり。 これまでの変更で大体動くようになってきたけど、 フルスクリーン表示にするモニターに別のアプリのウィンドウがあるときに、 画面をクリックするとフォーカスを失っちゃうんだよなぁ。 どうもほかのウィンドウのほうが上側に来ているような気がする。 (DirectXでフルスクリーン描画するとほかのウィンドウの描画内容無視して描いてしまう)
277 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 12:52:31 ] >>275 の間違いだた。
278 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:23:13 ] Web表示で困ってます。 Webブラウザで、URLを開くには、 webBrowser.Navigate(URL); では読み込みずみのhtmlファイルを開くには? string htmlfile = "<html><body>〜〜〜</body></html>" みたいなのを表示するにはどうしたらよいですか?
279 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:29:13 ] DocumentTextかDocumentStream
280 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 14:30:09 ] >>272 動作が重いとなると痛いですね。 今ある本が平成14年のVisual C#.NETによる実践データベースプログラミングってかなり古い本なんで新しいの買って勉強してみます。
281 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:22:18 ] >>276 やっと話が見えてきた WM_SYSCOMMAND SC_MAXIMIZE いじってると思うけど そのあと元処理につないで、つまり base.WndProc して 最大化させればいい気がする
282 名前:デフォルトの名無しさん [2009/07/02(木) 15:26:18 ] 画像ビューアの読み込み部分なんですが、 public Image Load(string filePass) { Stream fs = new FileStream(filePass, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BitmapDecoder bf = BitmapDecoder.Create(fs, BitmapCreateOptions.None, BitmapCacheOption.Default); Image image = new Image(); BitmapSource bsource = bf.Frames[0]; image.Source = bsource; image.Width = bsource.PixelWidth; image.Height = bsource.PixelHeight; Console.WriteLine("{0}", bf.CodecInfo.FileExtensions); //fs.Close(); return image; } このソースだと読み込んだファイルはオープンされたままで、 例えば名前の変更とかができません。fs.Close()をつけるといいのですが それだと画像が表示されなくなってしまいます。 よそ様の作られたアプリだと開いたファイルに対して問題なく操作できるので、 そういった挙動にしたいのですが、どうすればいいでしょうか。
283 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:32:18 ] 普通はImage.FromFileとかで一気にImageオブジェクト作ってんじゃねえの
284 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:39:09 ] そりゃImage違いだ。 System.Windows.Controls.Imageの話だろ。
285 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:43:45 ] 解説 デーコーダの作成後に bitmapStream を閉じる場合は、OnLoad キャッシュ オプションを使用します。既定の OnDemand キャッシュ オプションは、ガベージ コレクタでビットマップが必要とされ、クリーンアップが処理されるまで、ストリームへのアクセスを維持します。
286 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:54:32 ] >>285 おお、BitmapCacheOption.DefaultをBitmapCacheOption.OnLoadにすることで望みの動作になりました。 ありがとうございます。素で見逃してた恥ずかしい でもDefaultとOnLoadの違いってなんでしょう?どちらもイメージ全体をメモリ上に置くみたいなので Defaultでもいいように思えますが。
287 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:02:08 ] >>286 ドキュメントが悪い。 enum BitmapCacheOption { Default = 0, OnDemand = 0, OnLoad = 1, None = 2, };
288 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:04:51 ] mono のソースによると: namespace System.Windows.Media.Imaging { public enum BitmapCacheOption { OnDemand, OnLoad, None, Default = OnDemand, } }
289 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:13:43 ] >>287-288 そうだったのか…
290 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:22:06 ] 横からだけどOnDemandってどゆこと?ドキュソみてもよくわからん
291 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 16:44:57 ] >>279 できました。ありがとう。
292 名前:デフォルトの名無しさん [2009/07/02(木) 16:55:26 ] >>271 データソースの追加だと型付データセットができる。 これで、テーブル名をプロパティのようにアクセスできる。 作成にとても楽だけどわけわからんコードがたくさん生成 されるのでコード単位での操作は難しい。
293 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 17:23:28 ] webBrowserでクリックしたとき、クリックしたURLを取得するには、どうしたらよいでしょう? マウスクリックイベントをイベントフラグとして登録するとかですか?
294 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 17:38:10 ] >>292 参考にさせてもらいます。 ありがとう。
295 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:56:43 ] 質問です dataGridView1[1, 1].Style.BackColor = Color.Red; などで塗りつぶしたセルを元の状態に戻すにはどうしたらよいでしょうか? dataGridView1.DefaultCellStyle.BackColor = Color.Empty; dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Empty; を試しましたが無理でした dataGridView1[1, 1].Style.BackColor = Color.Empty; とすればできるのですが表のすべてのセルを一気にデフォルト色に変えたい場合のよい方法が あれば教えてください
296 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:03:21 ] 個別の設定の方が優先されるのは当たり前だろ、と 素直に一つずつ設定しる 変更したセルをListとかに保存しといてそれだけ元に戻す、とかの実装はどうか
297 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:23:20 ] すれ違いかもしれないですが一つ質問があります。 C# or VB.net で開発したアプリはRefactorとかいうツールを使うと 簡単にコードが見られてしまいますが、 このツールを使用し逆アセンブルをしたとしてもコードの中に入れている コメントは相手には見られないと考えても良いでしょうか?
298 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:24:42 ] そんなに時間かからないからさ 自分でやってみな
299 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:27:50 ] >>298 自分でやてtみて逆アセンブルは出来ましたが、 コメントは見えませんでした。 という事でコードは簡単に相手に見えてしまうが、 コメントは逆アセンブルをする悪い人にも見えない という考えが正しいかご教授下さい。
300 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:40:38 ] コメントが見られる事はないよ ソースコードも自分が書いたそのものではなく できる限り復元してみただけのもの
301 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:08:52 ] >>300 ありがとうございます。 安心しました。 因みにですが、もう一つだけ質問させて下さい。 Visual Studioのアイテムボックスの右上にある「小さく注射器のアイコン」は .Net Frameworkに用意されていますか? 自動で伸縮する奴です。 常に表示されているとウザイので、このアイコンがもし.Netに用意されているのであれば 必要な時のみ呼び出す事が出来て非常に便利だと思うのですが。
302 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:20:48 ] 注射器って、、、これ押しピンだろう 標準には無いかな、SP1のMFCにはあるが。
303 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:27:26 ] >>302 .Netじゃ用意されてないんですね。 実現するにはどうすればよいでしょうか?
304 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 03:49:39 ] 自分でかけよ…
305 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 10:07:16 ] >>304 用意されているのならそれを使いたいのです。
306 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 10:38:55 ] フリーのと有料のがあった気がする
307 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 10:41:36 ] >>305 MFCも.NET Frameworkも基本的にはライブラリなので、 ライブラリではないアイコンなんかのリソースはあまり重視されないし、記事も多くない。 インストールフォルダやDVDの中を探してあるならそれを使えばいいし、無いなら自分で探せばいい。 自分で考える前に人に聞くな。
308 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:06:37 ] アイコンそのものじゃなくて、アイコンの機能というか自動で伸縮する 機能が欲しいってことじゃないのかな? どっちにしても「自分で書けよ」って話になるけど。
309 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:08:31 ] >>308 ズバリその通りです。 >>306 >>307 >>308 さんのおっしゃった事そのものです。 いずれにしても、.Netではその押しピン機能は用意されていないのですね。 残念ですが自分で1から作成します。
310 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:14:27 ] ドッキングウィンドウでぐぐれよ
311 名前:デフォルトの名無しさん [2009/07/03(金) 11:16:02 ] そういうのは抵レベルなところからフレームワーク組むことになるから大変だよ サードパーティーのコンポーネント使ったほうがいいよ
312 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:23:04 ] >>311 金が掛かる。 >>310 ぐぐってみます。
313 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:26:56 ] >>308 ,309 押しピン機能? いったい何のことだ。 さっきから要領の得ない会話をしているように思うんだが、オレの理解力が無いだけなのか。 押しピンで表現されるツールチップアイコンの機能といったら、通常は「ウィンドウを常に手前に表示」だと思うんだが? それともドッキング可能なペインのこと言ってるのか?
314 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:46:26 ] 正確な名前は知らんけど、押しピンアイコンをクリックすると、 ウィンドウが自動的に隠れるのを一時的に止めることができる。
315 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 12:08:32 ] VisualStudio2008のC#のIDEで逆アセンブリウィンドウを出す方法を教えてください。 VS2005の場合ならmsdnに書いてあったんですが、2008ではメニュー構成が変わったのか 探し方が悪いのか、見つけることができません。 ttp://msdn.microsoft.com/ja-jp/library/a3cwf295(VS.80).aspx ヘルプに「逆アセンブリウィンドウ」という項目はあるのですが、クリックしても 「インデックス エントリのトピックがありません」というエラーが出ます。
316 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 12:13:02 ] とりあえず「プッシュピン」らしい
317 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 12:28:33 ] >>315 右上にその他のバージョンについてはってあるだろ、まあこのページは中身同じだけど。 > デバッガは動作中であるか、中断モードである必要があります。 はおk?
318 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:13:37 ] >>317 ちゃんと[デバッグ中]にはなっているんですが、 メニューに[逆アセンブリ]が出てきません… 何か手順が違うんでしょうか… ttp://windyakin.if.land.to/src/up38_1372.png
319 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:15:36 ] >>317 あ、使っているのはstandardエディションです。
320 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:20:35 ] Express Editionって書かれてるように見えるが…?
321 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:24:27 ] >>320 最初Expressを使っていたんですが、そのあとStandardを買って上書きで入れました。 タイトルバーがExpressのままなのは謎なんですが、 もしかして、原因はここらへんにあるんでしょうか。
322 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:30:27 ] 上書きなんてできたっけ…? 一旦全部アンインストールしてインストールし直せ
323 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:30:56 ] とりあえず起動してるのはExpressだな
324 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:39:53 ] Visual StudioとVisual Studio Expressは別のアプリだから上書きでは入らないと思うぞ。 すなおにExpressをアンインストールしる。
325 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:43:59 ] 買ったのはStandardのアップグレード版です。 最近になってExpressからでもアップグレードできるようになったと MSのページに書いてあったので入れてみたんですが、 一度消さないとダメなんですか。やってみます。
326 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:58:23 ] アップグレードってのはライセンス上のものであって アプリケーションの上書きインストールとは関係ない
327 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:13:48 ] >>325 ExpressからアップグレードできるのはProfessional版だけじゃなかった?
328 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:15:34 ] もうその手の嘘はいいよ
329 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:37:23 ] StandardとEEは別アプリ 併用可能だから上書きとか無理 EEはスタートメニュー直下にあるけどStandardはMicrosoft VisualStudio 200Xの下にできるだろ?
330 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:40:39 ] アンインストールも必要ないよ 別の場所にアイコンあるの気がつかずにEE起動してるだけだろう ってもうアンインストールしちゃったかな
331 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:27:51 ] C#のGUIエディタで、 パネル上にエディタ等があるとして、そのエディタを移動させようとして カット&ペーストすると、エディタのイベント情報がすべてなくなりますよね。 イベントをすべて保持したまま親コントロールだけをかえたい場合はどうすればよいですか? コントロールをコピペしてもイベントがリセットされない方法はありませんか?
332 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:28:52 ] 気付かずExpress使い続けてるような奴はそもそもStandard買う意味ねーな
333 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:35:16 ] >>331 親変えるだけならドラッグでよくね?
334 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:39:33 ] 買ったのに使ってなかったとかワロテマウwww
335 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:11:22 ] >>331 ドキュメントアウトラインのツリーでドラッグして動かす。 やってみたら目からウロコ。
336 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:04:51 ] standard買うやつってなんなの? MFCいらなきゃEEじゃないの?
337 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 20:14:10 ] >>336 えっ?
338 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:40:12 ] WM6でFTPクライアントクライアントを作ってるのですが WindowsMobileのFormってサイズ指定しても反映しないのですか? TCPListenerとかでFTP部分は書けたのだけど、情報少なくて四苦八苦してます CompactFrameworkの話はスレ違いかな?
339 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:48:46 ] Windows.Formsの話も本来はスレ違いな気がするのでいいんじゃないでしょうか。 >>338 の質問も、言語がC#だろうがVBだろうがIronPythonだろうが、一字一句 違いませんよね?でもそれはCompact Frameworkだからではありません。
340 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 06:34:57 ] >>338 >WindowsMobileのFormってサイズ指定しても反映しないのですか? 現状はしない。ある意味ウィンドウシステムじゃないから。 FormのSizeはCompactFrameworkではサポートしていない。(ヘルプのバージョン情報参照)
341 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:14:42 ] >>340 ありがとう。ヘルプを頼りにしてみます
342 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:39:27 ] MFCとC#Formってどっちが速度速いですか? 最近MFCは何やっても動作がカクカクで嫌になってきたんですが C#Formで作っても動作はかわらないですか?
343 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:40:08 ] accessにデータを追加する時 com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(222,'あああ')", conn); は出来るのに int aaa = 222; string bbb = "あああ"; com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(aaa,bbb)", conn); だと出来ません。valuesの後()の中は変数ではいけないのですか?
344 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:44:57 ] パラメタライズドクエリとか調べれ
345 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:53:20 ] >>343 変数の名前だけ渡したってしょうがないだろ。 そのままやるならstring.formatをかける。 ただしそれではSQLインジェクションを本質的に防げないから、>344になる。
346 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:55:00 ] >>344 ,345 ありがとうございます。 パラメタライズドクエリ、SQLインジェクション調べてみます。
347 名前:デフォルトの名無しさん [2009/07/04(土) 17:38:12 ] クラスやメソッドごとに辞書形式で利用方法や利用例を記載した本はないでしょうか。 和書でも洋書でもいいです。金額も問いません。
348 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:42:57 ] APIのオフィシャルリファレンスですら上下刊で1600ページくらいあって、それでも網羅し切れていないというのに
349 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:45:08 ] 地球の資源がヤバい
350 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:51:17 ] 本は更新できないんだと思い知ってリファレンスブックの類を買うの止めたな。
351 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:54:53 ] MSもCランタイムライブラリみたいに各ページに用例をつけてくれればいいのに、とは思うね。 MSDNのクラス自体の説明文では何がなにやら分からないことが結構ある。
352 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:58:15 ] 昔に比べりゃ大分マシにはなってるけどな〜。 msdn.microsoft.com/ja-jp/library/ath1fht8.aspx 書く方もおっついてないんだろうなあ。
353 名前:デフォルトの名無しさん [2009/07/04(土) 18:56:15 ] ご回答ありがとうございます。 紀伊国屋書店のHPに bookweb.kinokuniya.co.jp/htmy/0470472057.html がありました。 この本はいかがでしょうか…。 業務プログラム構築に支障のない程度のクラスの説明があれば買いたいですが、 立ち読みができないのがつらいです。 英文を読むのは苦じゃないのでアメリカに行きたいくらいですが、 割が合わないかもしれず、お金もありません。
354 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:29:18 ] 緑のバイクさんの数値/文字列の場所に >文字列の検索 (一般) >文字列の検索 (正規表現) >文字列の置換 (一般) >文字列の置換 (正規表現) とありますが、一般と正規表現の違いはなんですか? 正規表現でやったほうが効率がいいってことですか?
355 名前:デフォルトの名無しさん [2009/07/04(土) 20:42:54 ] 正規表現はパターンマッチング 一般は特定文字列
356 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 21:42:32 ] >>353 入門書を選ぶならいいが、実務で使うとなると、もはや紙の本なんか役に立たん msdnを読め
357 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:08:53 ] ビルドのプラットフォームの項目にAny CPUしか選択肢が無いのはEEだからなのでしょうか?
358 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:18:08 ] うん
359 名前:デフォルトの名無しさん [2009/07/05(日) 00:31:36 ] オプションで ビルド構成の詳細を表示 だったかな
360 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:52:26 ] そっちはDebug/Releaseじゃないか? AnyCPUはEEじゃなくても新規作成ししたプロジェクトならそうじゃないかな。 AntCPUの下の構成マネージャーから自分で追加する。
361 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 02:55:27 ] ってAnyCPUのほうも「ビルド構成の詳細を表示」をオンにしないと 変更できないね、すまん。
362 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:09:29 ] Environment.NewLineの中身を判別することは出来るのでしょうか?
363 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 03:29:36 ] テキストファイルについて教えてください。 あるロガーが掃き出すテキストファイルに「1AH」(CTRL+Z)が含まれて いるのですが、1AH以降を取り除くにはどうすればいいでしょうか? コマンドプロンプトでテキストファイルをバイナリモードでコピーするという 方法で除去できましたが、C#に用意されている機能で除去できないかと 考えています。 よろしくお願いします。
364 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 07:56:35 ] >>362 stringなんだからLengthやIndexOf使えば調べられるが >>363 IndexOfとSubstring \xとか\u
365 名前:デフォルトの名無しさん [2009/07/05(日) 08:46:20 ] 今、VS2008をインストールしていますが、 VB6.0も使用するにはどのような環境にすればよいでしょうか。
366 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 08:50:18 ] 古い方を先にインストールってのが基本だが
367 名前:デフォルトの名無しさん [2009/07/05(日) 09:02:51 ] >>366 ありがとうございます。 ということは、VB6.0を別途購入し、 VS2008アンインストール ⇒ VB6.0インストール ⇒ VS2008インストール の流れでいいでしょうか。
368 名前:デフォルトの名無しさん [2009/07/05(日) 09:04:07 ] よく見る、 "object sender, EventArgs e" とはどういう意味ですか?
369 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:07:10 ] >>367 うん 今時VB6なんか売られてるかどうかしらんけど
370 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:16:25 ] >>368 メソッドの引数 はともかくとして イベントが起こったときに呼び出されるメソッド(イベントハンドラ)に推奨されてる引数の形式 第一引数はobject型 イベントを起こしたオブジェクトが入る ボタンクリックならButtonオブジェクト 第二引数はEventArgsかその派生型 イベント特有の情報が入る MouseDownなら押下されたマウスのボタンや位置の情報 EventArgsは特有の情報がないときに使われる
371 名前:デフォルトの名無しさん [2009/07/05(日) 09:16:34 ] >>369 ありがとうございます。 そのとき、VB2008とVB6.0が併存できるようにすることは可能でしょうか。 何度も質問ですみません。
372 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 09:25:03 ] 365・367と同じ質問に見えるが、VS2008とVB2008EEとVB6を入れたいってことなのか? まあ全部できるけど
373 名前:デフォルトの名無しさん [2009/07/05(日) 10:10:56 ] >>372 VC#と、 VB2008と、 VB6.0で開発を行う可能性があるので、 同じPCに入れておきたいんです。
374 名前:デフォルトの名無しさん [2009/07/05(日) 11:06:17 ] >>370 ありがとうございますっ!
375 名前:デフォルトの名無しさん [2009/07/05(日) 11:08:51 ] >>370 "e"はどういう意味なんだろ。 今まで意識したことなかった。
376 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:22:29 ] 名前付けのガイドラインに真っ向から反するよな eventArgsでいいじゃねえか
377 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:24:44 ] 本当の名前は eの後ろにつくから、とか
378 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:30:04 ] > パラメータ名と型を見ただけでパラメータの使用法が判断できるような名前にする がパラメータのガイドラインだが イベント引数はパラメータ名いらないのよね 型で判断するもんだから
379 名前:デフォルトの名無しさん [2009/07/05(日) 11:35:00 ] MSDNで"eventArgs"を調べたけど、 意味がさっぱり分りません。 使用するときはあるのでしょうか(-_-;)。
380 名前:デフォルトの名無しさん [2009/07/05(日) 11:36:37 ] >>378 すみません、イベントハンドラの引数が2つあるということですかね?
381 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:49:14 ] >>378 誤解していたわ。良く分かった。
382 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:54:51 ] >>380 なにを378に聞いてるのかよくわからんが イベントハンドラの引数は普通2つ、senderとe イベント引数は一般にeの方だけ指す、と思う
383 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:58:44 ] たとえば「int a, String b」ってのは、int型の変数a、string型の変数bって意味だ。 intとstringは型、aとbは変数名。これはわかるよな? 同じように「object sender, EventArgs e」ってのはobject型の変数sender、EventArgs型の変数eってこと。 なんで「e」なんてわかりにくい名前に決めたのかは不明だが、何か歴史があるんだろうなあ。
384 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:05:02 ] >なんで「e」なんてわかりにくい名前に決めたのかは不明だが、 それを話してたんじゃないの?
385 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:36:05 ] int iと同じで、型の頭文字じゃない?設計者がすげー年輩でFORTRANを意識したとか。
386 名前:デフォルトの名無しさん [2009/07/05(日) 12:42:35 ] >>383 なるほど!分かりやすい説明感謝です。 "eventArgs e"とは別の引数が使われるケースもあるのかなぁ。 見たことない(+_+)。
387 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:47:43 ] >>376 ヘルプからして e だもんなぁ。 >>379 イベントハンドルデリゲートで特化した場合に使う。 例えば MouseEventArgs では、 マウスのどのボタンが押されたか マウス ボタンが押されて離された回数 マウス ホイールの回転回数を表す符合付きの数値 マウス イベント生成時のマウスの位置 などが入っている。 つまり、むっちゃ重要で使いまくり。 EventArgs は単に基本クラス。
388 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 12:59:07 ] とりあえず例外キャッチしようとして catch(Exception e)って書いて 「既に定義されています」って言われるとイラッと来る。
389 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:02:12 ] だからExceptionはexにする もうそういうふうに指が動くようになってる
390 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:02:15 ] 例外はexでキャッチするようにするといいよ
391 名前:デフォルトの名無しさん [2009/07/05(日) 13:02:51 ] 静的メソッドとインスタンスメソッドのちがいはなんですか? いろんなHPを読んでもイメージがさっぱり掴めません。
392 名前:デフォルトの名無しさん [2009/07/05(日) 13:04:55 ] catch(Exception ex) ってどういう命令なのですか?
393 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:05:53 ] 命令じゃない。例外ハンドラ。
394 名前:デフォルトの名無しさん [2009/07/05(日) 13:12:19 ] EventArgs ってどう読むの?「イベントオーギュス」?
395 名前:デフォルトの名無しさん [2009/07/05(日) 13:13:29 ] 「catch」だけのときと 「catch(Exception ex) 」のときで、処理はどう変わるの?
396 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:17:23 ] イベントアーグス
397 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:18:05 ] いい加減一度死んでから入門書買いに行け。
398 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:26:43 ] Argsはargument(アーギュメント)の複数形argumentsの略。略するのはC言語の名残 無理に発音するならアーギュスだけどみんな好き勝手に読んでる JISでは読み方は規定してなかったよね?
399 名前:デフォルトの名無しさん [2009/07/05(日) 13:26:49 ] >>397 それは言い過ぎ…
400 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:27:52 ] お次は なんで例外は変数はeやexと分かりにくい名前をつけるの? xxExceptionでいいじゃないかとかいった質問がきそうだな。
401 名前:デフォルトの名無しさん [2009/07/05(日) 13:28:35 ] >>391 生成しなくても使えるのが静的 生成してできたものがインスタンス
402 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:29:56 ] そんなの 非常に狭い部分でしか使わない変数に名前を考えるのが面倒くさい でいいじゃん
403 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:32:40 ] >>391 静的クラスはプログラムの実行開始時に自動的にインスタンスが一つ作られる。 だからいつでもすぐに使うことができる。早くて便利。ソースも少しだけすっきりする。 だけど開放することはできないからあんまり巨大な静的クラスは作らない方がいい。
404 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:36:43 ] クラスじゃなくて静的メソッドといってるっぽいよ。 難しく言えばメソッドに暗黙のthisを渡すかどうかの違い。
405 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:38:49 ] 別に、自分で (object obj, EventArgs evags) とか、好き勝手に書き換えてもいいんだぜ?ローカルな変数名なんだから。
406 名前:ちら裏 mailto:sage [2009/07/05(日) 13:42:37 ] >>391 イメージは自分で作るものだからなぁ。 俺のイメージだと、 クラスってのはクラスローダが自動的に作った「設計図オブジェクト」のシングルトン インスタンスで、そのメソッドとメンバ変数が静的になるのは、「自動的」に作られた 「シングルトン」だからなだけ。 このイメージの利点は、クラスとインスタンスを同じ仕掛けとして認識できること。 そういう糖衣構文だと思ってる。あくまで個人的に。
407 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 13:47:39 ] >>406 Smalltalkのクラスはメタクラスのインスタンスである、とかの話に似てるな 正直よくわかってないけどw
408 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:13:33 ] >>391 staticメソッドというのは、実態はただの関数だ。それがクラス定義のスコープの中にあるだけ。 インスタンスを作らないと原則呼び出せない通常のメソッドとは全然違う。 >>406 クラスがオブジェクトの設計図というのは間違ってないが、シングルトン関係ない。 クラスを判子と例えるなら、インスタンスは判子を押したここの契約書だ。
409 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:28:31 ] >>408 いや、静的にということは、この場合ではクラスメンバにアクセスするときに同じ インスタンスにアクセスすることを要請している、これはシングルトンが保証して いるわけだからメチャ関係ある。 インスタンス化しないで使える(==自動的)、メンバが静的(==シングルトン)。
410 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:46:08 ] イメージ的にはシングルトンインスタンス Hoge hoge = Hoge.getSingleton(); のインスタンスメンバは、クラスメンバであるかのように使える事と同じイメージ。
411 名前:デフォルトの名無しさん [2009/07/05(日) 14:51:48 ] シングルトンって何?
412 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:53:42 ] >クラスメンバであるかのように class Hoge { public static int id; public static void func() {...} } を Hoge.id とか Hoge.func() とするように class Hoge { public int id; public void func() {...} public static Hoge getSingleton() {...} } で、先の hoge だと hoge.id とか hoge.func() と書けるという意味ね。
413 名前:デフォルトの名無しさん [2009/07/05(日) 14:53:52 ] >>391 が段々混乱しているかもしれないな…。 本よりも高度な説明が繰り広げられているから…。
414 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:55:22 ] 概念的な話まで持ち込むのはオーバーじゃねえの 使い方だけ説明しておけばいいだろ そのうち分かるようになる
415 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 14:58:12 ] >>411 >シングルトンって何? ja.wikipedia.org/wiki/Singleton_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 設計だと頻出単語というか常識レベル。
416 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:05:54 ] 概念の話は難しいかもしれないな。 クラスもオブジェクトと考える言語の系統と、C++のようにそう考えない系統があって C#やJavaはその中間的な感じなんだよね。 静的クラスをシングルトンと考えるのは前者。 C#はクラスローダレベルで見ると前者っぽいけど基本的な考え方は後者に近い。
417 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:13:50 ] C++とC#で違うんだよな。 C#のほうがより厳密なんだっけ? C++はどちらでも使いようが可能なんだよな 切り替えて使うときどうしても混乱してしまう。
418 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:33:38 ] タイヤキの型とタイヤキ の説明でいいんじゃねぇの
419 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:41:34 ] 入門段階だとその考え方のほうが無難だな。 型は初めからそこにあるものってことで、 静的メソッドは型とともにはじめからそこにある。 リフレクションやらstaticイニシャライザのことはしばらく置いておこう。
420 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:42:42 ] クラスとインスタンスの違いなら、それでいいんだけど。 クラスメソッドとインスタンスメソッドの違いだからなぁ。
421 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:46:03 ] 具体的にどぞ
422 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 15:49:37 ] タイヤキの型に付いてるボタンとタイヤキについてるボタン
423 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:04:21 ] もうそれでいいよ 俺はタコヤキの型に付いてるタコとタコヤキに入っているタコだし
424 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:29:29 ] タコヤキは人間が回してやらないと丸くならないぞ。クラスと考えるには不完全だ。
425 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:33:30 ] 408だが、クラスオブジェクトがJavascriptやSquirrelみたいに ファーストクラスオブジェクトならばそう言えないことも無いかもしれないが、 (特にSquirrelのクラスオブジェクトはまさに雛形的な動作をするようにできている。 メンバ変数の初期値を決められるだとかインスタンス初期化は クラスオブジェクトのテーブルからのベタコピーだとか) しかし、JavaやC#は専用の名前空間があって基本的に上書きはできない。 またインスタンス化やシングルトンの概念と関係なくWin32Apiのラッパとして仕方なく staticメソッドとして定義していかないといけないことが頻繁にあるので、 (C#はグローバルな関数が書けない) そういう考え方は頷けないものがある。
426 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:33:32 ] 自動でひっくり返すのもありますぅー
427 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:35:30 ] 静的クラスを作るとその静的クラスの中で自分自身を呼び出す なんてパラドキシカルな手段が講じられるようになるんだよね。 初めてその概念に触れたときは理解するまで時間がかかったw
428 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 16:39:30 ] 自分自身を呼び出すリカーシブプロシージャなんてアルゴリズムの基本じゃん 情報系の勉強してれば必ず出てくる どうやって実装するかは処理系によって変わるけど
429 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 17:41:35 ] >>427 なんか面白そうなんで、いっちょ実例を教えてくだされ
430 名前:デフォルトの名無しさん [2009/07/05(日) 18:44:08 ] 初心者板とは思えない…。 で、、、、静的メソッドって結局なんなんだろう。
431 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 18:46:23 ] ここは初心者向けにえらそうなこと言うためのスレだから。
432 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:11:28 ] 子供は無邪気に「宇宙ってどれくらい大きいの」とか難しいこと聞くからなぁ。
433 名前:デフォルトの名無しさん [2009/07/05(日) 19:12:52 ] みんなはjavaの経験もあるの? わたしはCobolerからC#への転身なので全く何も分からないよ(-_-;)。
434 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:20:00 ] HSPからC#に来ました 他の言語 シラネ
435 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:28:32 ] 質問があります。 リストからgetfilesを取得して、deletefilesを取り除いて、重複をのぞいてリスト化するには、どうしたらよいでしょう? 次のようにしてみたのですが、 string[] deletefiles = {".cs","(2)","zip","cab"}; string[] getfiles = {"txt","jpg"}; string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Recent", "*.lnk"); string text = ""; foreach(string file in files) { foreach(string deletefile in deletefiles) { foreach(string getfile in getfiles) { if (file.ToLower().Contains(getfile.ToLower()) && !text.Contains(file)) {if (!file.ToLower().Contains(deletefile.ToLower())) text = text + file + "\r\n"; }}}} ○のみを抽出したい。 2009/07/04 19:41 597 01.txt.lnk ○ 2009/07/02 11:48 573 124642979292o.jpg.lnk ○ 2009/07/04 22:22 482 1553ea4.jpg.lnk ○ 2009/07/01 00:55 567 2009_0701twitter.txt (2).lnk 2009/07/01 00:49 567 2009_0701twitter.txt.lnk ○ 2009/07/04 17:32 750 Program.cs.lnk 2009/07/02 17:33 579 SimpleBrowser.lnk なのに、出力結果には、 Program.cs.lnk が含まれたりします。 アドバイスお願いします。
436 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:39:20 ] 静的メソッドからフィールドにアクセス出来ない理由がようわからん(´・ω・`) C++ならできたはずだが・・・
437 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 19:48:39 ] >C++ならできたはずだが・・・ いや、それはない。 まあ引数にthisを渡すなら出来なくはないけどね。
438 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:00:11 ] >>435 ステップ実行してみたら?
439 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:03:58 ] >>435 読ませる気無いだろこのコード 処理を二回に分けて考えたほうがいい List<string>でも用意しておいて まずfilesの中からgetfilesを持っているのをList<string>に格納する その後そのListからdeletefilesが含まれているのをtextに追加していく そういう処理のチェーンを簡単に書けるのがLinq
440 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:04:04 ] >>436 インスタンスメンバにアクセスできたら、静的メソッドじゃないじゃん。 静的メンバってのは、そのクラスの全インスタンスで共有されるんでしょ。
441 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:06:21 ] (´・ω・`)ヤダ
442 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:10:47 ] >>440 それじゃ静的メソッド内で一時的に変数に値を保存しておきたいときとかどうするの(´・ω・`)?
443 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:12:38 ] >>442 静的メソッドでそういうのするのは極めて不穏だが 静的フィールドに格納すればいい
444 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 20:23:51 ] >>442 状態を保存したいなら 引数で渡すようにするか、静的メソッドやめてインスタンス変数に格納しろよ。
445 名前:デフォルトの名無しさん [2009/07/05(日) 20:29:31 ] 状態持っちゃって呼び出す度に結果が変わったりしたら実質的に静的とは呼べない
446 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:08:32 ] >>403 でたらめ言ってんじゃねー
447 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:10:07 ] >>445 状態を持たないという意味で用いられる用語は「静的」ではなく「純粋」。
448 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:19:05 ] なんだそれ
449 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:19:16 ] >>446 C#2008の仕様ではインスタンス化のタイミングは定義されてないけど、 現実には実行開始時でいいんでないの? そういうツッコミじゃなくて?
450 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:22:23 ] 失礼します C#で帳票作成するとき皆さんどうしてますか グレープシティーのActiveReportsですか それともクリスタルレポートですか それともSQLSERVERについてるレポーティングサービスですか それともジャイブレポートですか それともExcelとかPDFにはいてます? 無料ならPDFなんですかねえ? どうなんでしょう お勧めありますか
451 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:25:26 ] iText で PDF 作ってる。
452 名前:デフォルトの名無しさん [2009/07/05(日) 22:31:57 ] >>446 初めてそのクラスを使おうとしたときに静的メンバが初期化されることが多い 言語仕様上は、「使う前には初期化されていることが保証されている」だけ
453 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:32:15 ] >>449 そもそもインスタンスなんて作られない。 それとも別のものをインスタンスと言ってるのか? Typeとか?
454 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:37:16 ] >>450 ReportingServiceはお勧めしない。 素直にActiveReports使った方が良い。
455 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:52:00 ] 静的クラス ttp://msdn.microsoft.com/ja-jp/library/79b3xss3.aspx
456 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 23:21:11 ] ActiveReports買いたいけど会社が買ってくれないので itext調べてみます く^^
457 名前:デフォルトの名無しさん [2009/07/06(月) 04:11:13 ] vc#保存したやつ開けないんだけど、なぜだorz
458 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 15:09:02 ] >>435 を>>439 の方針で匿名メソッドでやってみた。かなりきもくなった。 // OKワードのどれかを含む要素を配列strsから取り出すメソッド string[] selectOK(string[] strs, string[] OKwords) { return Array.FindAll(strs, delegate(string s) { return Array.Exists(OKwords, delegate(string word) { return s.IndexOf(word, 0) >= 0; }); }); } // NGワードのどれかを含む要素を配列strsから取り除くメソッド string[] deleteNG(string[] strs, string[] NGwords) { return Array.FindAll(strs, delegate(string s) { return Array.TrueForAll(NGwords, delegate(string word) { return s.IndexOf(word, 0) < 0; }); }); } ↓ string[] deletefiles = {〜}; string[] getfiles = {〜}; string[] files = Directory.GetFiles(〜); files = selectOK(files, getfiles); files = deleteNG(files, deletefiles);
459 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:32:51 ] Array.HogeHogeなんていう化石メソッドの嵐やるぐらいならLINQで書こうよー
460 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:34:17 ] LINQおそいじゃん
461 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:51:36 ] え?
462 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:59:27 ] LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?
463 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:01:44 ] え?
464 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:05:25 ] Recentの中身なんて10000ファイルあるわけでもなし。
465 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:25:07 ] >>460 5〜10%のロスを遅いとは言わない。
466 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:28:55 ] その遅さは致命的だな。
467 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:31:24 ] 一体何ファイル処理するおつもりで。 500万ファイルくらいかな?
468 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:55:25 ] >>466 うん、致命的だから使わなければいいと思うよ 俺は10%の高速化より、コーディング時間1/3の方を取るけど
469 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:58:25 ] テストまで1/3にしないでください。
470 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:02:29 ] LINQは書きやすいけどデバッグしづらいよ 皆どうしてんだろ
471 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:17:24 ] お前ら初心者用スレで何の話してるの? 本職はマ板にでも消えてくれ。
472 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:21:56 ] は?
473 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:31:52 ] ん?
474 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:28 ] こ?
475 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:53 ] お?
476 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:39:50 ] ち?
477 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:53:56 ] >>470 具体的には何が問題になってます?
478 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:03:12 ] forループを逆アセンブルしたら、まずいきなりループの終わりにジャンプして、 そこでカウンター値をチェックしてからループの入口にもう一度ジャンプして 1回目の処理を開始するというコードになってて吹いた。 てっきり、もっと効率のいいコードを吐いてるもんだと思ってたのに。
479 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:22:34 ] >>478 ILの出力であればそんなもんでは、CPUごとのカスタマイズはJITの仕事だし
480 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:29:45 ] コードは完成してからベンチしろー。 完成前にあれこれ考えるな時間の無駄だー。 ってスティーブ・マコネルが言っていたよ。 不必要な高速化にかまける馬鹿が多いってさ。 だったらその時間使ってテストしろボケ。
481 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:30:21 ] たしかに、アセンブラのLOOP命令は基本的にループの終わりでECXをチェックするから、 JIT通すと最適化されるんかな。
482 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:32:44 ] 色々なCPUに対応するには、不用意に情報を取り除きすぎないようにしないと、高速化のヒントまで削ってはダメだからな
483 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:07:51 ] return return; のようなことはできないの?
484 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:09:41 ] 意味が分からない
485 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:19:24 ] リンダリンダみたいな感じ?
486 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:33:30 ] Return to Myself しない、しない、ナツ
487 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:37:57 ] return @return; なら記述可能だな ただのネタだが
488 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:18:01 ] アセンブラならできるけどC#なら無理だな。 そういうスパゲッティコードを書きたいならC、C++使え。
489 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:44:21 ] >>487 を見て意味がわかった >>488 を見て再びわからなくなった
490 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:32:44 ] C#のバージョンについて教えてください。 ttp://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ ここからC#をダウンロードしました。 これは特定のバージョンのコンパイラなのでしょうか? それともどこかで設定できるのでしょうか? またバージョン間の互換性はどうなっていますか? 1.0用のソースは2.0と3.0で、2.0用のソースは3.0でも問題無くコンパイルできるのでしょうか? 自分でも調べてみましたがコンパイラのバージョンなどがヒットしてしまいよくわかりませんでした。 よろしくお願いします。
491 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:49:41 ] C#と.NET Frameworkとで二つの側面があるが C#は今のところ後方互換性はほぼ完全に取れてる マルチバージョン対応なC#コンパイラは今のところ存在しないけど、 後方互換によって新しいコンパイラは古いバージョンのソースコードをコンパイルできる .NETの標準ライブラリもソースレベルではまず問題ない Obsoleteになったのもあるけど廃止になったのは記憶にない .NETは1.x系と2.0/3.0/3.5系(と今ベータ中の4.0)がある 3.0/3.5は2.0の追加ライブラリ的存在 VC#2008は開発ターゲットに.NET 2.0/3.0/3.5を選択できる C#3.0は.NET3.5と同時公開だが、C#3.0コンパイラで.NET2.0の開発もできる(というかVC#2008がそうやってる) ただラムダ式みたいな言語の機能はそのまま使えるが System.Linq名前空間下のクラスとかは.NET3.5で追加されたライブラリなので.NET2.0開発時には使えない
492 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 16:29:57 ] 詳しい説明、どうもありがとうございました。 とてもよく理解できました。
493 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:10:13 ] 使用しているパソコンのCPU使用率を取得するためにはPerformanceCounter以外にも方法はありますか?
494 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:12:13 ] めんどくさい。ない。
495 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:07:00 ] WMI 使って Win32_Processor クラスの LoadPercentage 取って来れないかな? めんどくさい。だな。
496 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:10:39 ] TypeBuilder.DefineProperty で動的にプロパティを生成しているのですが、 [Description("アアア")] public int MyProp{ ... } や、 [Category("イイイイ")] public int MyProp {...} などの属性をつけたいときはどうすればよいのでしょう?
497 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 05:31:27 ] SetCustomAttribute
498 名前:デフォルトの名無しさん [2009/07/09(木) 07:13:45 ] panelコントロールとgroupboxコントロールに違いに、 「キャプションを表示するかどうか」 という内容がありますが、 どういう意味でしょうか? ラジオボタンを配置してもラベルは表示されますし、 「キャプション」が何を指すかが分かりません(+_+)。 よろしくお願いします。
499 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 08:44:12 ] GroupBoxそのもののTextプロパティを表示するエリアがあるかどうか グループで括ると左上に名前が出るだろ
500 名前:デフォルトの名無しさん [2009/07/09(木) 08:47:07 ] >>496 まだやってんのか いい加減そんな不毛なこと止めてグリッド使ったらどうだ
501 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:30:14 ] >>497 どうもありがとう!! >>500 グリッドだとだめなんですよ.グリッドでプロパティグリッドを代用しようとすると、 列方向にプロパティ一覧(列によって型が異なる)、行方向に、オブジェクト一覧みたいなかんじになりますよね。 編集するオブジェクトはつねに1つでいいんです。 そうすると、常に1行で、編集可能なプロパティの数だけ列が存在する事になってしまいますよね(ヘッダ除く)。 オブジェクト1個に対して20のプロパティが存在するなら、 1行20列(ヘッダ除く)のとても使いにくいデータグリッドになります。 この場合、20行1列にしたい(ヘッダ除く) グリッドの、行と列の機能を入れ替えられれば良いんですが、
502 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:31:04 ] C#の勉強をちょっとしてみたいのですが、 まずはじめに、何と、何と、何を ダウンロードすればいいですか?
503 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:33:59 ] VisualStudio 2008 Express EditionとVisualStudio 2008 Express EditionとVisualStudio 2008 Express Edition
504 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:35:31 ] それはwindows2000でも動くのですか?
505 名前:デフォルトの名無しさん [2009/07/09(木) 12:39:12 ] 2000とか話にならない 最新のバージョンの.NETを使って作られたアプリケーションを動かすことすらできない
506 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:41:54 ] ネタでなくて、マジで2000だと開発できないの?
507 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:08 ] ネタではなくて、マジでサポート切れのOSで何しようって言うの?
508 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:22 ] できるよ
509 名前:デフォルトの名無しさん [2009/07/09(木) 12:46:07 ] .NET2.0までなら2000でも可能だけど旧バージョンの無料のVS2005は提供終了 XPを買うか、VS2005を買うか、テキストエディタとSDKで頑張るか
510 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:46:18 ] >>508 2000の場合は、何をダウンロードすればいい?
511 名前:デフォルトの名無しさん [2009/07/09(木) 12:57:59 ] Visual Studio 2005 ExpressのCDイメージは落とせるみたいだね www.microsoft.com/japan/msdn/vstudio/express/maninstall/
512 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:18:32 ] >>509 2008の一番グレードの低いやつは無料でゲットできなかったっけ?
513 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:20:46 ] できるよ
514 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:23:48 ] できるけど2000(笑)にはインストールできない
515 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:30:43 ] >>496 , >>501 SourceObjectからTypeDescriptor.GetProperties()でプロパティ記述子リストを取得。 名前を第一列に、値を第二列にバインドすればいいんじゃ? WPFでなら軽く作ったことがあるがそこまで難しくないし、というか知識ゼロからTypeBuilderの方がよっぽどきつい。
516 名前:501 mailto:sage [2009/07/09(木) 14:31:11 ] ん?それってもしかして 第1列はすべて読み取り専用文字列にして、 第2列は、行によってチェックボックスだったり、コンボボックスだったり、 テキストエディタだったり、というふうにできるということですか? だとすれば次につくるエディタはぜひそれでつくりたい。。。。 P.S とりあえず、動的なクラス+プロパティ生成によるプロパティグリッドの利用は、 これでほぼ思い通りにできるようになりました。どうもありがとう
517 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:01:07 ] >>503 VisualStudio 2008 Express Editionなんて無いよ
518 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:12:23 ] >>517 MSも各製品の総称として使ってるよ
519 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:25:16 ] 一連の流れを見てたらゲシュタルト崩壊してきた
520 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:41:14 ] できるないないあるよ
521 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:25:41 ] 最後のsが抜けてるとかスペースが足りないとかってレベルの揚げ足取りじゃない? 正確な製品名は ○ Visual Studio 2008 Express Editions × VisualStudio 2008 Express Edition らしいから www.microsoft.com/japan/msdn/vstudio/express/
522 名前:デフォルトの名無しさん [2009/07/09(木) 18:25:58 ] Windows XP Visual Studio 2005 Professional Edition .Net Framework 3.0を使いたいので ttp://msdn.microsoft.com/ja-jp/library/cc825663.aspx を参考に Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit と Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - 日本語 をインストールしたのですが、 vs2005で.NET 3.0でビルドする方法がわかりません。 教えてください。
523 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:29:16 ] 止めてくれ。精神を害しそうだ。
524 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:33:54 ] >>522 .NET 3.0で開発するためにVS 2008が発売されてるんだ。経緯を考えてくれ。 Hackすればできないことはないという記事を見かけたことはあるが非常にお勧めしがたい。
525 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:59:12 ] メッセージについて勉強中。 PeekMessageでメッセージを受信したらTranslateMessageとDispatchMessageを セットで呼んでおくのがお約束、みたいな解説を見たんだけど、 自前で処理するだけのユーザー定義メッセージにはどちらも必要ないよね? まだ理解が浅いおかげて、今ひとつ確信が持てないんだけど。
526 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:31:29 ] >>525 普通はWndProcをoverrideするだけで十分。
527 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:55:33 ] >>526 あ、なるほど。言われてみればそうですね。
528 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:38:59 ] >>522 .NET 3.0は単なる追加ライブラリだから 参照の追加で必要なアセンブリ参照するだけ。 WPFのデザイナが使いたいとかならそのページにあるように もう提供されてないから無理。
529 名前:デフォルトの名無しさん [2009/07/10(金) 08:35:34 ] >>524 , >>528 レスありがとうございます。 >.NET 3.0は単なる追加ライブラリだから >参照の追加で必要なアセンブリ参照するだけ。 そういうことだったんですね。 勘違いしてました。ありがとうございました。
530 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:24:20 ] enumにintしか入らないのがむかつく
531 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:28:34 ] こらえてくだされ
532 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:43:12 ] >enumにintしか入らない ?????
533 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:46:59 ] 整数型と言いたいんじゃないのか。たぶん。
534 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:48:35 ] mscorlibのmsってなんですか?
535 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:51:06 ] マイクロソフト
536 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:54:21 ] MicroSoft COmmon language Runtime LIBrary でmscorlib
537 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:07:36 ] core library かとおもってた
538 名前:デフォルトの名無しさん [2009/07/11(土) 17:46:59 ] はじめまして。 スプリットコンテナーですが、 上下の分割はできないのでしょうか。 ご存知の方、よろしくお願いします。
539 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:49:43 ] Orientationプロパティ
540 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 18:02:12 ] >>536 mscorlibのCORは、CLRの初期の名称だったComponent Object Runtimeの略。 もちろん、次世代COMとして名前も中身もCOMの影響を受けていて、その思想は現CLRに受け継がれている、 というようなこと、何の本で読んだか思い出せないけど。
541 名前:デフォルトの名無しさん [2009/07/11(土) 18:38:39 ] 上、下、左、右、中央にpanelを置いており、 全てにスプリッターを入れたけど、 1つしか動いてくれません(+_+)。 何かコツはありますか?
542 名前:デフォルトの名無しさん [2009/07/11(土) 18:40:00 ] >>539 ありがとうございますっっっ!!!!!!!!!!!!!!!!!
543 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 19:38:05 ] >>541 いきなり5分割じゃなくて上中下の3分割から練習する
544 名前:デフォルトの名無しさん [2009/07/11(土) 23:30:08 ] >>543 ありがとうございます。
545 名前:デフォルトの名無しさん [2009/07/11(土) 23:39:40 ] treeviewを作っています。 ノードを選択したとき、初期設定では青色に反転しますが、 反転しているときに、文字が縦に中央揃えになっていません。 この縦位置を中央に指定する方法があれば教えていただけないでしょうか。
546 名前:デフォルトの名無しさん [2009/07/12(日) 01:12:59 ] sxa
547 名前:デフォルトの名無しさん [2009/07/12(日) 01:43:45 ] >>546 何の意味ですか…? 教えてください。
548 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 03:03:53 ] 勝手にくるくる動いたらウザくない?
549 名前:デフォルトの名無しさん [2009/07/12(日) 13:00:08 ] vsのツールウィンドウみたいに、 画面の左右にタブを出して自動的に隠すことってできますか?
550 名前:デフォルトの名無しさん [2009/07/12(日) 13:26:29 ] docpanel suite
551 名前:デフォルトの名無しさん [2009/07/12(日) 13:52:28 ] >>550 C#のクラス?
552 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:57:59 ] ぐぐれ
553 名前:デフォルトの名無しさん [2009/07/12(日) 14:21:55 ] >>552 ググったけどなかった。
554 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:36 ] 一番上に出るじゃないか
555 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:39 ] >>553 うそつき
556 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:40:05 ] 最悪w
557 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:43:17 ] >>553 うそつき
558 名前:デフォルトの名無しさん [2009/07/12(日) 14:45:32 ] すみません。ありました。 yahooで見ていました。
559 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:46:27 ] 死罪
560 名前:デフォルトの名無しさん [2009/07/12(日) 14:49:26 ] 店舗月の売上一覧を作りたいと思っています。 DBから固定項目を単票形式で見栄え良く表示させるには、 何が一番適しているでしょうか。 datagridviewでしょうか。
561 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:53:52 ] SQL
562 名前:デフォルトの名無しさん [2009/07/12(日) 14:55:13 ] >>561 SQLそのものが表示コントロールになるの?
563 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:55:28 ] ExcelとAccess
564 名前:デフォルトの名無しさん [2009/07/12(日) 14:58:38 ] 既存のC#アプリのpanel内に新たに表示させなければいけないんです。
565 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 15:00:47 ] じゃあDataGridViewで良いんじゃないかな
566 名前:デフォルトの名無しさん [2009/07/13(月) 20:35:02 ] DataGrid にはカラム名の上に、CaptionText という タイトル名を表示するエリアがあったのですが DataGridView にそれらしきプロパティが見つかりません。 DataGridView では CaptionText に相当する機能は切捨てられたのでしょうか? よろしくお願いします。
567 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 18:09:07 ] DataGridは複数の階層状テーブルを表示する機能があったから必要だったけど DataGridViewは単一テーブル表示になったから不要になった
568 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:39:56 ] >>567 そういう経緯があったんですか ありがとうございます
569 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:34:20 ] Application.Idleにイベントハンドラを登録してディスプレイの毎フレームごとに処理を行うように 作っているところなのですが、 アプリケーションがアクティブなときは問題ないものの、(毎秒60回呼び出される) アクティブでなくなったときは20フレーム程度まで落ちてしまいます。 これを回避する方法はありませんでしょうか?
570 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:46:21 ] >>569 呼び出す方法を変える
571 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:54:37 ] >>570 呼び出す方法を変えるとしたら、どのような方法が挙げられますか?
572 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:26:24 ] >>571 タイマーを使うとか、きっちり画面に同期させたいならDirectXを使うとか
573 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:57:12 ] >>572 タイマーでは50ms程度の精度しか出ないので60フレーム(16ms)レベルの処理では使えません。 ずばりDirectXを使用しているプログラムです。 リフレッシュレートが60Hzを超えているディスプレイでも秒間60フレームを維持できるようにしようと考えています。 DirectXのフレーム同期では、結果としてリフレッシュレートに同期することになると思うのですがいかがでしょうか。
574 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:19:33 ] >>573 APIで用意されているタイマーには種類がいくつかあって、約55ms間隔のもあるけど もう少し速い約16ms間隔というのもある。 で、DirectX使ってるのに同期すると困るの?
575 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:49:46 ] その手のリアルタイム処理は標準的なメッセージループと相性があまりよくない だからそこ弄るか素直にそういうことやってるの使うと吉
576 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:14:11 ] 時間測って、必要に応じて中で何度か更新処理だけ繰り返せばいいだろ 描画のタイミングさえあっていれば、更新処理自体は別に等時間間隔で呼び出す必要はないんだから
577 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:44:12 ] 質問内容については自己解決しました。 アクティブでないときに50msのウェイトをかける処理が残っていただけでした。 >>574 興味深いですね。そのような精度のタイマー(System.Timer)があるんですね。 System.Threading.Timerとは使い方が微妙に違うようです。 今回は結果として必要なくなったのですが、また必要になったときに詳しく調べてみることにします。 どうもありがとうございます。
578 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:54:13 ] >>576 ほかのウィンドウメッセージと同期的に動かさないといけないので、(フルスクリーンモード切替とか) 他のスレッドを立ててまわすのはまずいんです。 まあ、やってできないことはないんですけどね。
579 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:07:57 ] WebBrowser.NavigateToString メソッド が使いたくてソリューションエクスプローラー参照の追加で PresentationFrameworkを追加し、namespace WindowsFormsApplication1内に using System.Windows.Controls; と記述しても 「'System.Windows.Forms.WebBrowser' に 'NavigateToString' の定義が含まれておらず、 型 'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりません でした。using ディレクティブまたはアセンブリ参照が不足しています。」 とエラー表示されて使用出来ません 同じ名前空間とアセンブリのWebBrowser.Navigate メソッドは問題なく使えるのですが 設定の仕方が間違っているのでしょうか?
580 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:27:11 ] System.Windows.Controls.WebBrowser使わないと駄目だぜ でWinForm上で表示するならSystem.Windows.Forms.Integration.ElementHostが必要
581 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:45:35 ] つかHTMLを表示したいだけならSystem.Windows.Forms.WebBrowserでもDocumentTextとか使えば良いんだが…
582 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:30:56 ] >>578 自前でループ書き、メッセージ処理はApplication.DoEventsで処理させるというのはどう?
583 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:33 ] >>580 System.Windows.Forms.Integration.ElementHostが必要ということでまだそれを理解するには時間がかかりそうです 勉強してみます ありがとうございました >>581 .WebBrowser1.DocumentText = "test"; と書いて表示する事が出来ました ヘルプから調べられるWebBrowserメンバでtextとかstringで検索しても出てこなかったので あることすら知りませんでした ありがとうございました
584 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:17:21 ] Windows.Formのクラスが Form1.cs Form2.cs Form3.cs : : とあってそれらフォームのタイトル、Textを取得することはできますか? リフレクションでクラス名は取得できたんですが。 そのクラス名からActivator.CreateInstance()してTextも取れるんですが、 どうにも遅いです。 簡単に速い方法があったら教えてください。
585 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:21:55 ] ありません そんなものが必要になること自体間違っています まずは考え方を矯正しましょう
586 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:51:13 ] 初心者がリフレクションを使う場合、本当は必要ないことがほとんどだ。
587 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:09:53 ] あらかじめ(静的に)FormのタイトルとTextを格納したデータを持てば?
588 名前:デフォルトの名無しさん [2009/07/16(木) 00:14:51 ] if(hoge==null){return} if(hoge!=null){...} nullチェックってどっちがいいんでしょうか?好みでいいんですね?
589 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:24:43 ] >>588 nullかどうかの問題じゃなくて、 if-else は短い方から書けっていう格言があったりする。
590 名前:デフォルトの名無しさん [2009/07/16(木) 00:28:35 ] APIを利用する為にテキストボックスに入力されたテキストを constにする必要があるんですがどうすれば良いでしょうか?
591 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:50 ] >>589 ありがとうございます。 そんな格言があるんですね。いつも長い方から書いていた。この場合は前者を使用すべきですね。
592 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:01:03 ] >>590 ちょっとそのAPIのDllImportしてるところ書いてみろ
593 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:19:10 ] >>592 DllImportしてるなんて微塵も書いてないが…
594 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:26:37 ] じゃあどうやってAPI呼んでるんだ?
595 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:39:01 ] 「APIを利用」とは何の事だよ
596 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:13:15 ] LoadLibraryとGetProcAddressをDllImportして 関数ポインタにMarshal.GetDelegateForFunctionPtr使ってデリゲート取得してAPI呼んでるとか?
597 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:27:35 ] >DllImportしてるなんて微塵も書いてないが で、してるの?してないの?
598 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:43:36 ] APIを常人とは違う意味で使っているに10ゲイツポイント
599 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:35:54 ] APIと言っただけで、Win32APIと言った訳ではないしね
600 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 05:39:31 ] それがどうした
601 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:00:39 ] >>598 a πとか?
602 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:39:34 ] >>597 俺にきくな
603 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:09:05 ] >>600 >>602 何で一々噛みついてんの?
604 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:04:11 ] APIはDLLだけだと思ってる人があらわれた!
605 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:12:03 ] あらわれなくていいよ
606 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:43:42 ] >>590 は現れろよ
607 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:45:37 ] もう逃げたってば
608 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:30:34 ] WebAPIの類とか・・・ そんでもTextBox.Textがほにゃららの件は意味分からんけど
609 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:35:39 ] const char*の引数を持つAPIに stringを渡したいけどどうすればいいかと 聞いてるだけとか んで書き込んだ直後に解決してほったらかし
610 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:36:51 ] 593が要らん突込みをしなければこんな伸びなかったな。
611 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:47:33 ] みんなこれくらいなら答えられそうだと思っててうずうずしてるんでしょ
612 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:54:46 ] C#ってフリーの開発環境あるんですか?
613 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:55:58 ] まずフリーの意味をだな
614 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:02:00 ] >>612 MONOというものがあるので使ってみたら?
615 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:21:31 ] フリーの開発環境・・・VisualStudioExpressEditionとSharpDevelopがあるが。
616 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:15:33 ] emacsでいいよ
617 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:17:44 ] へぼすぎて却下
618 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:52:15 ] emacsって、慣れてる人には良いんだろうけど、 とても俺には向いてない。
619 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:39:12 ] スクリプト言語ならともかくC#でemacsはかえって損だろw >>603 どのあたりが噛まれてるんだ? 一方的におまいがプッツンしてるようにしかみえん
620 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:01:20 ] >>619 >どのあたりが噛まれてるんだ? >一方的におまいがプッツンしてるようにしかみえん ↑こういうのが 噛みつく って言うんじゃね? おまいもプッツンしてるようにしかみえん
621 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:49:05 ] いいからもう失せろよゴミ君
622 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 05:41:04 ] >>621 プッツンしてるの?
623 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:35:32 ] してないよチンカス君
624 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:51:44 ] 「プッツン」って懐かしいなw
625 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:56:10 ] グリコが作ってるプリンだっけ
626 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 08:49:52 ] それプッチンや
627 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:03:57 ] >プッツン・ゴミ君・チンカス君 言葉の選び方が古臭いのは何でだろう。書いてる人の年齢が気になるw
628 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:35:04 ] IDありなら真っ赤な奴がいるな 単発のフリもしてそうだな
629 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:30:48 ] 今、入力チェックの勉強中。 Validatingでやるのがいいようだけど問題もいろいろあるみたいで悲しい。 いまいちValidatingが発生する条件が分からん。 TextBox1にいてフィールド移動するとなぜかTextBox5のValidatingが発生したりする・・・ その時はTextBox5でエラー値入れてESCキャンセルでTextBox5のValidatingをスキップするようにしてTextBox1にフォーカス移動してる。 スキップはここ参考にした。www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29042&forum=7 で、TextBox1からフィールド移動するとなぜかTextBox5のValidatingが発生・・・ VS2003だけど古いから変なのかな? マシン古いからVS2003でも遅いぜよ(Delphi2007はさくさく動いてるけど)
630 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 12:40:20 ] >>629 リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの 関連付けがおかしくなるよ。 そういう変なことはやってないと言い切れるなら、あとは… 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで イベントの発生する順序が変わるってのがある。 ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.validated.aspx
631 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:13:10 ] XmlDocument doc = new XmlDocument(); doc.LoadXml("file.xhtml"); こんな感じで、DOCTYPE宣言のあるxhtmlを読み込んでみたんですが、 たかだか4kくらいのファイルでも1分はかかってしまいます。 こういう仕様なのでしょうか。
632 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:33:24 ] 外部エンティティとか使ってない?
633 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 16:33:00 ] >>630 > リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの それは触ってない、っていうかC#始めたばっかりで リソースファイルが何なのか分からなかったり。 > 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで > イベントの発生する順序が変わるってのがある。 その情報は見つけて問題ないようにはしたんだよねー なんとなくこれと同じ感じなのかなって気が。 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22041&forum=7 仕様なのか・・・ ウヒー
634 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:50:08 ] >>633 仕様じゃしょうがないよね。 イベントの発生順序はコントロールできないから、 グローバル変数に状態を覚えておいて 自前で制御ってのはよく使う手。
635 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:43 ] >>632 使ってないですー
636 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:07:54 ] >>635 DOCTYPE宣言でttp://のDTD読み込んでないの?
637 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:08:32 ] [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv( Int32 s, IntPtr buf, Int32 Len, Int32 flags); こんな風にしてDLLを直接呼び出すんだけどwsock32.dllの方も同時に使いたい場合はどう書けばいいの? 例えばwinsock32の方はrecv1でws2_32の方はrecv2で呼び出せるようにしたい 直接呼び出すことに意味のあるプログラムなんで、他に便利なクラスがあるだろとか 片方だけ使えとかそういうのは無しの方向でお願いします
638 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:20:27 ] [DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv1( Int32 s, IntPtr buf, Int32 Len, Int32 flags); [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)] static extern Int32 recv2( Int32 s, IntPtr buf, Int32 Len, Int32 flags);
639 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:22:03 ] [DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")] static extern Int32 recv1( Int32 s, IntPtr buf, Int32 Len, Int32 flags); [DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")] static extern Int32 recv2( Int32 s, IntPtr buf, Int32 Len, Int32 flags);
640 名前:637 mailto:sage [2009/07/17(金) 23:22:37 ] 自己解決した
641 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:23:20 ] >>639 その通りでした。どもども
642 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:28:01 ] クラス分けるとかって手もあるけどな
643 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:31:37 ] AutoElipsis = trueの時にテキストの省略された部分が ...ではなく…になるのは日本固有の領土ですか?
644 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:40:12 ] >>643 フォントの問題では? 欧文フォントだと「…」のグリフが、 ... のように下のほうに点が配置されているのはよくあるよ。 実際、MS Sans Serif、TahomaやSegoe UIとかの歴代の欧米のUIフォントも軒並みそうなっている。
645 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:50:21 ] とりあえず「日本固有の領土」と関係ないのは確かだw
646 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 01:32:11 ] MS-IMEの変換候補でも下の方に小さい点が並んだやつが出てくる まぎらわしいからやめてほしいんだが
647 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:35:20 ] >>481 簡単にいってよー プロばかりじゃないんだよー
648 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:56:53 ] >>647 JITに任せておけば勝手に上手い事やってくれる。 これだけ頭に入れときゃおk
649 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 08:09:13 ] >>643 同じ約物であっても言語によって組み方が変わるのはよくあること。
650 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:25:57 ] Winsockで作ったSOCKETをSocketクラスに割り当てることって出来ますか?
651 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:34:24 ] >>650 「割り当てる」ってなにをすること?
652 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:16:55 ] 「SafeFileHandleを引数に取るFileStreamコンストラクタのようなもの」のソケット版が欲しいということだろう。
653 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:46:16 ] List<string> hogeA の中身 c:\temp\01.dat c:\temp\02.dat c:\temp\03.dat c:\temp\04.dat c:\temp\05.dat List<string> hogeB の中身 01.dat 03.dat 05.dat hogeAのうち、hogeBに含まれない c:\temp\02.dat c:\temp\05.dat を残し、これをあらためてhogeAとしたいです。 これを実現するにはどのようにプログラムを組めばよろしいでしょうか?
654 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:49:53 ] 1. hogeA の要素を列挙する 2. 各要素が hogeB に含まれているか判断する 3. 含まれていなければ、 hogeC に追加 4. これを繰り返す 5. hogeC を hogeA に設定
655 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:50:28 ] hogeB に含まれてたら、hogeA から削除、って方がわかりやすいね。
656 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:57:53 ] LINQ に Except ってのがあるよ。 ufcpp.net/study/csharp/sp3_stdqueryo.html#set
657 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:59:01 ] 2重のfor文を回す必要があるというわけでしょうか?
658 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:01:20 ] >>657 突き詰めればその通り。 List<T>.ExistsとかEnumerable.Exceptで見た目上のループは減らせるけどな。
659 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:03:31 ] この辺の繰り返し処理はプログラミングの基本の基本。便利なライブラリの機能に お任せしちゃうのではなく、一度は自分で実装してみることをお勧めするよ。
660 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:24:42 ] そして一度実装したあとは、ライブラリの機能のほうを使うようにすべき、だね。
661 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 22:47:22 ] バーで繋いで正規表現にする方法もあるな。あまりお勧めは出来ないが。
662 名前:653 mailto:sage [2009/07/19(日) 23:08:25 ] removeAllメソッドを使って除去しようと試みました。 for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) ); }
663 名前:653 mailto:sage [2009/07/19(日) 23:10:26 ] 失礼、途中で投稿してしまいましたorz・・・ removeAllメソッドを使って除去しようと試みました。 for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) { s == @"c:\temp\" + hogeB[i]; } ); } ただこれだとコンパイル時にエラーが発生してしまいました。 どこか書き方に間違いでもあるでしょうか?
664 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:16:01 ] エラー読めよ
665 名前:653 mailto:sage [2009/07/19(日) 23:20:54 ] 最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 匿名メソッド' から 'System.Predicate<string>' に変換できません。 割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。 表示されているエラーはこの3つでした
666 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:22:06 ] 匿名メソッドの戻り値が明示されていない returnをしてないし
667 名前:653 mailto:sage [2009/07/19(日) 23:38:18 ] >>666 そういうことでしたか( ̄□ ̄;)!! for (int i = 0; i < hogeB.Count; i++){ hogeA.removeAll( delegate(string s) { if ( s == @"c:\temp\" + hogeB[i] ) return true; else return false; } ); } で、ひとまずはビルドは通ったようです。 これで様子を見てみます。 ありがとうございました。 ちなみにこれよりもっとスマートな記述方法はあると思いますか? ベースは C#2.0 + .Net Framework2.0 ということで。
668 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:39:51 ] .NET 2.0はともかく、C#2.0はもう捨てようよ。
669 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:40:28 ] return (s == @"c:\temp\" + hogeB[i]);
670 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:41:36 ] 3.0 removeAll( (s)=>(s == @"c:\temp\" + hogeB[i]) );
671 名前:653 mailto:sage [2009/07/19(日) 23:48:52 ] >>669 あ、そんな略記があったのね(;^ω^) >>668 >>670 それが持ってるのがVS2005なもんで(´・ω・`)・・・
672 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:49:55 ] 略記って…… おまえが勝手に複雑に書いてるだけだろ……
673 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:50:59 ] 低品質なスレですね
674 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:37:43 ] >>671 2005 でも LINQ 使えるようにできるだろ
675 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:39:09 ] すまん LINQ じゃなくてラムダ式か
676 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:43:14 ] >>674 2008で.NET 2.0対象のときでもラムダ式を含むC# 3.0の構文が使えるということとごっちゃにしていない?
677 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:12:31 ] >>671 Expressでいいからとっとと2008にすべき
678 名前:653 mailto:sage [2009/07/20(月) 02:12:39 ] >>674 2005じゃλは使えない気が(;・∀・)・・・
679 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:18:56 ] hogeBのループはforじゃなくてforeach使うべきだね
680 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:27:11 ] JITなんだジットってもー 地頭か?何だ?簡単に頼むよ
681 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:47:26 ] λ...... ザッザッザッ… λ...... λ......λ...... λ...... λ...... λ...... λ......λ...... λ...... λ...... 樹 λ...... λ...... λ......λ...... λ...... λ...... 海 λ...... λ......λ...... λ...... λ...... ← λ...... λ......λ...... λ...... λ...... λ......λ...... λ...... λ...... λ...... λ...... λ...... λ...... λ...... λ......トボトボ ザッザッザッザ…
682 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:49:36 ] >>679 どうして? >>681 ちょっwwwww
683 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 09:25:26 ] C#2,0捨てようとかアホか。 ラムダ式なんて無理に使う必要ねーよ。
684 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 10:15:07 ] ラムダ式をありがたがる心理って簡潔至上主義だと思ってるが、どうなんだろ。 簡潔さ以外にメリットある? そして簡潔さによる保守性低減のトレードオフって収支は本当にプラス?
685 名前:デフォルトの名無しさん [2009/07/20(月) 10:21:06 ] >>684 2chスレのラムダ支持層レベルだとトレードオフにはならないね。 無駄に使いたがる印象しかない。
686 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:39:29 ] >>684 遠く離れたところに1行関数を作って呼ぶよりも、ラムダにしたほうが簡潔で保守性は良くなるね。 それ以上に凝るのは趣味の世界だね〜。
687 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:40:53 ] >>684 その場に処理書かないとかえって見づらい場合ない? 1・2行だけDispatcher.Invokeしたいときとか、 変換テーブル作りたいときとか。 要するに↓みたいな。 Dispatcher.BeginInvoke(() => { OutputText.Text = hoge; }); var table = new Dictionary<string, Func<int, int>> { { "TypeA", x => x * x }, { "TypeB", x => Math.Abs(x) }, ...
688 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:43:01 ] LINQ の仕組みにはラムダ必須だし、 あと、ローカル変数をキャプチャしたい場合、 ラムダ(というか匿名デリゲート)がなかったら わざわざinnerクラス1個書かなきゃいけなくなるしねぇ。
689 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:48:18 ] >>686 デリゲート使えば遠くに関数作る必要はない。
690 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:07:54 ] 匿名メソッドで済むって話でそ。 まあ最初からラムダが使えれば匿名メソッドはあんまいらんけど。 濫用するような話とはまた別ね。
691 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:18:38 ] あー、() => {} 構文じゃなくて delegate(){} 構文使うのじゃダメかって話か。 あれもでも、C# 開発者曰く 「ラムダを先に導入してたらdelegate構文なんて用意しなかった」 って言ってるしなぁ。
692 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:29:58 ] {}で囲めばラムダでも複数のステートメントもreturnも書けるから実際匿名メソッドは要らない 匿名メソッドの唯一のメリットはパラメータを省略できることだけど、 それだけのために表記のゆらぎを許す価値があるかどうか
693 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:37:41 ] そのうちMSがガイドラインで何か言い出すんじゃないかと思ってる
694 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:44:38 ] λ式のトレードオフを語っている割に、デメリットが出ていない気がw
695 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:47:32 ] delegateより視認しにくいくらいじゃねえの
696 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:56:09 ] 言語の方向性として、関数型を取り入れていくよと明言されてるわけで わかりにくいとかいうのは無意味だな
697 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:06 ] 構文の親和性の低さによる視認性の悪さもあるけど 引数の型を省略できることの分かりづらさってのはどうなの。
698 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:59 ] いずれにせよ、初心者用スレで延々と語る話じゃない。
699 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:31:53 ] キャプチャ周りの罠は初心者も気をつけるべきだろ
700 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:07:20 ] 保守性下がるので業務では使えない。
701 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:29:34 ] 保守性下がるのでC#は使えない。
702 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:50:59 ] ラムダ厨はテスト端折るので一緒に仕事したくない。
703 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:00:41 ] 462 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 20:59:27 LINQ書く奴ってなんでテスト端折る奴ばかりなんだ? 469 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 21:58:25 テストまで1/3にしないでください。 702 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/20(月) 14:50:59 ラムダ厨はテスト端折るので一緒に仕事したくない。 余程な職場環境におかれておられる様で 無様で惨めだな
704 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:07:01 ] 職場とか業務でどうとか言われてもねえ…。 ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。 それともあれか?報われないのを褒めて欲しいのか? そういうのはマ板でやってくれよ。
705 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:08:26 ] 3.0仕事で導入してるのってどんぐらいなんだろうな 今はまだ2.0のほうが意思合わせ楽そうだけど
706 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:13:06 ] >>704 どこの初心者スレも似たようなもんだけどな javaスレとか 明らかに底辺ドカタのストレス発散場になってる そんなことをしていてもお前の暮らしは向上しないのにな
707 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:19:57 ] 独立すりゃいいのに
708 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:22:04 ] ラムダスレとか建てても、結局初心者スレを荒らしに来るから意味なし。
709 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:28:41 ] 弱い者達が夕暮れさらに弱い者をたたく構図ですね、わかります。
710 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:41:38 ] c#はまだおわらんよ!でもVCのほうも同じぐらい力入れてくれるとありがたいです;;
711 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:43:42 ] C#でWindowsコンポーネントを使わないUIってどうやったら作れますか? 情報が載ってる本かサイトを教えてもらえると嬉しいです。 例えば、Mac風デザインのような感じです。
712 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:49:45 ] >>711 GUI ツールキットを使うことになるんだろうけど、あんまりないなぁ。 Qt は使えるんだっけ。
713 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:51:32 ] WPFだろ デザインは自由自在
714 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:02:31 ] WPFってガワ部分は変えられないんですか?
715 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:05:14 ] ガワ?
716 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:32 ] 最大化や閉じるボタンなどがある枠です。 その内側では何でもできそうな感じで、かなり素晴らしいのですが。
717 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:43 ] ウィンドウの枠を非表示にしてそれっぽいのを自分で描く
718 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:16:47 ] >>717 なるほど。WPFをMSサイトで勉強してきます。 参考になりました。ありがとう。
719 名前:デフォルトの名無しさん [2009/07/20(月) 17:10:08 ] 入門書でC#の基礎文法を一通り勉強しました。 しかし、今までスクリプター(Perl, JavaScript, Ruby)で、 GUIアプリケーションの制作経験は皆無であるため、 Visulal Studio でGUIアプリケーションを作る方法がよく理解できません。 何となくならいじれるのですが、体系的に勉強するにはどうするのがオススメでしょうか?
720 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:14:19 ] >>719 畳の上の水泳より、下手でもとにかく水の中で泳ぐほうが学習効率高いんじゃない? GUIは特にそうだと思うけど。 (必要なら)体系的学習は後追いでもできるし。
721 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:22:27 ] >>720 入門書は全てcsc.exeを使ってコンソールで作業していたので、 まずは、チュートリアル的なサンプルアプリケーションを何個か作りたいんですよね。 広く浅くでいいので、VSおよびGUIアプリ制作を把握したいのですが、 MS公式の解説書は何だかMSDNチュートリアル同様で、入門の入門という感じだし、 他の入門書は、VSについてほとんど書かれていないしで困っています。 訳分からなくてもとりあえず慣れるがベストなのかなぁ? やはり。
722 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:31:14 ] フォームに手当たり次第にコントロール貼りまくって適当に連動させてごらんよ 方向性は決めなくていいから
723 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:36:17 ] どのコントロールでどんなことができるか、を一通り確認するくらいかなぁ。 具体的な実装は、システム要件に応じて考えるし。
724 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:04:40 ] >>721 C#でcsc.exeを使わせる入門書って、なんて悪書?
725 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:11:30 ] MSの公式解説書だろ C#できると言ってcsc.exe使えないなんて話もあるまい
726 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:23:13 ] >>724 独習C#です……。プログラミングC#は、最初からは敷居高いかなと思って。
727 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:06:49 ] cscのオプションなんて覚えてもいないぜ。
728 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:31:56 ] >>726 あーあ、かっちゃったかw
729 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:33:18 ] あんなもん立ち読みでいいのに
730 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:47:04 ] 泳げないやつは沈めばいい
731 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:53:31 ] プログラミングC#が敷居高いって絶対読んでなさそう GUIオンリーだった俺はRonRやってるがスクリプトわけわかめw
732 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 01:34:19 ] delegateとかもうちょっと綺麗に実装出来なかったのかね
733 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:06:53 ] 例えばどういう風に?
734 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:30:50 ] 例えばキーワードを省略してdelにするとか
735 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:47:47 ] delだとdeleteの略みたいになるから却下
736 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:10:41 ] もうちょっと綺麗に実装 → 省略してdelに wwwwwwwwwwwwwww
737 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:38:19 ] 俺の知ってる英単語を使ってくれ デレゲートなんて意味がわからんわ
738 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:54:37 ] 普通にクラスポインタみたいなのを残せばいいのに なんでいちいち全部の関数のdelegateを定義して呼ばないといけないんだ
739 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 04:28:36 ] >>735 じゃあdeleで
740 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 05:28:15 ] tsun-dele
741 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:26:30 ] tsun-delete
742 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:35:08 ] >>738 FuncとかActionがあるけど
743 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 09:49:41 ] >>734 キーワードの省略は最悪。 Unix 系のライブラリとか、ときどき見れたもんじゃないのがある。 C# は省略形のキーワード1つもないでしょ。 >>738 型安全性のため。
744 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:15:48 ] タイプセーフはデリゲートの目的であって理由じゃない そうなると別にどういう構文でもタイプセーフなら良いことになるでしょ 実際にそうなってるしね
745 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:28:29 ] 複数のファイルを連結する方法を教えてください。 下記のようなことって、C#だとどう書くんですか? ひとつひとつFile.ReadしてFile.Writeしないとだめですか? copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
746 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:45:26 ] C#で製品を作ってる会社はexeを暗号化してるんでしょうか? ソースコード丸見え・・・
747 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:47:34 ] >>745 File.ReadAllText()で読んでFile.AppendAllText()で追加してけば楽なんじゃない 使ったことないけどw
748 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:48:12 ] 今時はライセンスで縛るから丸見えでもどうでもいいのです 難読化くらいはしてるかもね でも初心者には関係ないよ お前のコードなんてわざわざ見る気にもならないからね
749 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:53:53 ] >>747 やっぱりそれしかないんだ…。 配列に配列を追加するにはどうしたらよいですか? copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt string[] keywords = File.ReadAllLines("file01.txt"); keywords = keywords + File.ReadAllLines("file02.txt"); keywords = keywords + File.ReadAllLines("file03.txt"); keywords = keywords + File.ReadAllLines("file04.txt"); とかで追加できるんですか?
750 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:55:06 ] どの言語でも初心者が一番初めに気にする所だよな。 「ゲームは作れますか?」と「中身の暗号化できますか?」は。 少なくともそんなことを聞かなきゃ分からない内は全く関係のない話だ。
751 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:56:33 ] >>749 配列ってさあ string[] strArray = new string[]{ "aaaaa" , "bbbbb" , "ccccc" } こう書けるのは分かる?