1 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:01:47 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part42 pc12.2ch.net/test/read.cgi/tech/1245836827/
2 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:02:42 ] 2 名前:デフォルトの名無しさん[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/07/26(日) 11:04:08 ] OTU
4 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:33:34 ] 4ならおっぱい晒します
5 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:51:08 ] しつもんです 親フォームを閉じたときに 子フォームを全部閉じたいのですが どうすればいいんでしょうか?
6 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:58:54 ] そこで悩むってことは参照の向きがおかしいんだよ 子フォームが親フォームを参照するんじゃなくて,親フォームが子フォームを参照するんだ それなら親が子を閉じるのは何も難しくないし余計な依存もできない
7 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 12:46:11 ] >>5 みたいなレベルの質問もどうかと思うけど、 >>6 のいう参照の向きがどうこうって話もちょっと意味不明だな。 なんでいきなりそんな話になるのかw
8 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:08:16 ] つまり、親フォームは子フォームの存在をすべて知りうる立場にいるんだから たとえば子フォーム作るたびに、List<Form>とかに記録しとけばいいってことだろ で、親が閉じるとき、いちいち子フォームをClose()してけばいい これを子フォーム視点で考えて、「親が閉じたら自分も自動的に閉じさせるには?」 とか考えはじめるとめんどくさくなる
9 名前:5 mailto:sage [2009/07/26(日) 13:28:30 ] わかった 子formをnewした時の戻り値をlistに入れといて それを使って消すようにする
10 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:37:52 ] えっ?
11 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:38:29 ] >>9 その部分だけクラス化しておくと後で再利用……しないかw
12 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:58:55 ] C#とVB.NETってできることに差はあるんスか?
13 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:06:39 ] どうだろね。本質的にそんな差はないと思うけど C# - unsafeなポインタ演算ができるとか… VB.NET - 初心者に「これならぼくにも使えそう」と淡い期待を抱かすことができるとか…
14 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:09:08 ] なんだそれ
15 名前:5 mailto:sage [2009/07/26(日) 14:46:24 ] 親フォームから、子フォームの関数を実行させて 子フォームのほうで、this.close()すればいいのか?
16 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:50:27 ] Form.Closeってパブリックメソットだと思うのですが
17 名前:デフォルトの名無しさん [2009/07/26(日) 16:54:34 ] UMLって使っているんですか?
18 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:10:30 ] 使いたかったら使えるし使わないと作れないわけでもない
19 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:13:01 ] >>15 何で親フォームから子フォームのFome.Close()を直接呼ばないんだ?
20 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:05:41 ] Ownerちゃんと設定してたら勝手に閉じるだろ
21 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:07:24 ] Owner設定しないんなら親側でコレクションしといて普通にClose呼ぶだけ
22 名前:5 mailto:sage [2009/07/26(日) 22:05:03 ] コレクションって インスタンスをとっておくってこと? 普通は子ウィンドウ作って、値渡してShowして終わりってかんじだから
23 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:44:14 ] >>22 >8で詳しく書かれている通りじゃないか。 >20,21で書かれている方法もある。 ようするにわざわざ答えを貰っているその意味が分からないレベルなんじゃないのか? コレクションという用語の意味が分からないなら、MSDNなりチュートリアルサイトなりで自分で調べろ。 いちいち人に聞くより既に解説されていることを理解した方が早いぞ。
24 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:49:16 ] MSDNってちょこちょこコード出てくるけどライセンスどうなってるの?
25 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:52:51 ] 好きに使えばいいよ保証しないけど というのが正しいかどうかは保証しないよ?
26 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 00:06:01 ] MSDN Terms Of Use - MSDN 使用条件 msdn.microsoft.com/ja-jp/cc300389.aspx
27 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 00:24:22 ] コンパイルして配布するなら自由で、ソースコードが露になってる場合はライセンスのコピーを一緒に配布しなきゃいけないみたいですね
28 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 09:41:41 ] Fomeってのが新鮮だった
29 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:25:59 ] 自分が作るソースはForm1.csの中にnamespace WindowsFormsApplication1があって その中にpublic partial class Form1 : Formがあって更にその中にメソッドとかイベントを詰め込んでいます namespaceとか別のcsファイルを作って細かく分けた方がメンテナンスには有利でしょうか? どういうときに分けた方がいいのかいまいちよく分かりません オープンソースの2chブラウザtwintailのソース見ると非常に細かく分けてあって俺もこういう風に書いて見たいな とあこがれがあったりします。
30 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:51:50 ] クラスごとに分ける partialで分けなきゃいけないほどバカでかいクラスは作らないのが基本
31 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:52:45 ] 全部を1ソースにまとめるのが一番楽ですよ
32 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 20:00:02 ] partialなのはポトペタ使ったからではないかと
33 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 20:58:36 ] >>29 partialはIDEの自動コード生成が使うものであって、人が使うものでは無いと思う。
34 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 21:25:48 ] >>29 原則としてクラスごとに分ける。 ただしそれほどの規模のものでなく、互いに密着して使うようなクラス群なんかは 1つのソースに書いたりする。また、クラス内クラスも使う。 ある程度の規模になったらフォルダごとに分ける。 同時にnamespaceも切る。 自分で把握できないくらいソースツリーがでかくなったときは、 まずnamespaceを切って交通整理をすることを考えると良い。
35 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:56:59 ] namespaceはあくまで文字通り名前にすぎないのであまり意味はない 規模が大きいなら適宜プロジェクトを切ってdllに分割する
36 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:28:50 ] プロジェクトを分けるのはコードの見通しを良くするため、というより (確かにそういう効果も期待できなくはないが)再利用のしやすさを考えて、 というのが主な動機じゃないのかな。 再利用するつもりもないものを別プロジェクトに切り出す人はあまりいない気がするけど。
37 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:49:45 ] 重いからというのもある
38 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 02:55:53 ] Program.csって何のためにあるの?
39 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 03:41:56 ] あなたのため
40 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:28:43 ] あながち間違いではないなww ユーザのために生成されたスタートアップのコードなんだから。
41 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:59:54 ] >>38 それが本体。 エディタで開いて見てみればわかることだが、Program.csの中にMain関数があって、 プログラムはそっからスタートするんだと思えばいい。 Windowsアプリでフォームが表示されるより前に何かやりたい時は、そこにコードを書き足す。
42 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:12:49 ] いや、たぶんMain関数は別の場所にも置けるから、 MainしかないProgram.csって何?って聞いてるのだと思うが。
43 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:26:49 ] デザイナ使うと生成される・・・ってそんなことはsammaryに書いてあるだろ >アプリケーションのメイン エントリ ポイントです。
44 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:37:42 ] >>42 何か特別な理由がない限り、Program.MainをProgram.csから 別の場所に移すケースって無いと思うんだが。 標準があって無きが如しのC/C++ならともかく、 C#はVisual Studioのやることがデファクトスタンダードだから。
45 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:42:43 ] if文での||の使い方が分かりません string s; string t; string r; if (s == t || r) return; このごく自然で人間の感覚に則した書き方がコンパイルエラー
46 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:43:29 ] if (s == t || s == r)
47 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:50:39 ] ty でもそれを許可すると可読性が低下しそう 比較元は必ず一つであることを保証した>>45 の書き方に死角は無かった C# 4.0で改定されるといいですね^^
48 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:52:19 ] 自然が良ければキャンパスノートにでも書いてろ
49 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:52:23 ] 無理です はい次の方どうぞ
50 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:54:16 ] >>47 演算子の優先順位変えられるわけねーだろ
51 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:56:39 ] 恐怖だなw
52 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:59:11 ] COBOLにそういう文法があって・・・ まあそういう出自の人なんだろう。
53 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:02:11 ] >>44 MSとか他のサンプルソースでけっこうMain移してるの多いよ
54 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:09:17 ] ジェネリック型を使ったインスタンスの生成がうまくいきません。 このような形でListの中に入れるものを変える形でジェネリック関数を定義しようとしたのですが、 エラー CS1502: 'sample.Program.BuildList(out System.Collections.Generic.List<int>)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 エラー CS1503: 引数 '1': 'out System.Collections.Generic.List<T>' から 'out System.Collections.Generic.List<int>' に変換できません。 というエラーが出てしまいます。 public List<T> Build<T>() { List<T> list; BuildList(out list); Console.WriteLine(list.Count); return list; } public void BuildList(out List<int> list) { list = new List<int>() { 1, 2, 3 }; } public void BuildList(out List<string> list) { list = new List<string>() { "a", "b", "c", }; }
55 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:58:23 ] >>53 ファイル数を減らすためじゃね >>54 コンパイルエラーだからインスタンス生成関係ない
56 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:26:03 ] >>55 失礼しました。コンパイルエラーを回避する実装法が分からないんです。
57 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:45:30 ] >>56 Build メソッドを消して BuildList を呼ぶようにすればいい。
58 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:52:40 ] >>57 提示した再現サンプルとしてはそうなりますね。 ただ、実際はBuild作業が長く、その中で使い分けたいんです。 また、Build()とBuildList()は別クラスの中にそれぞれあります。
59 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 14:05:10 ] そもそも、それは本当にジェネリック型が必要な作業なの? BuildはList<T>を返すってなってるけど、実際にはList<int>固定だったりしない? >>54 がどこまで再現してるコードなのかはよく分からないけど
60 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:04:26 ] 半端にC++のテンプレートをかじってる感じだな。 コンパイル時に型が確定するわけじゃないのでBuildListのオーバーロードは解決できない。 あとはoutはむやみに使わないことだな。 Build側でnewして参照を渡すか、BuldListでnewするなら戻値にするべきだろう。
61 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:57:10 ] >>45 携帯で書いてるからエラーでるかもしれんが if (new []{t, r}.any(x => x == s))
62 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:39:31 ] string += int が出来るのに、 string -= int が出来ないのは犯罪的な理由を孕んでいる為ですか?
63 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:48:24 ] どうも先ほどから頭悪そうな人がいますね^^
64 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:49:34 ] ネタをふりたいならもう少し面白いのにしろ。 文字列同士の減算をサポートしてるスクリプト言語はありそうな気がするな。 掛け算が出来るのは結構ある。
65 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:00:54 ] "test" -= "t" で期待される結果が "tes" と "es" の二通りが存在するためやっぱだめじゃね?
66 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:07:42 ] += が後ろへ足すならば、 -= は後ろから引くになる これが自然な発想
67 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:11:20 ] なんで?
68 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:13:18 ] +=で前に足されたことある?
69 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:15:15 ] むしろ "test" - "a" の方が問題じゃね? 文字列 * 数値は分かりやすいけど、数値 * 文字列だと途端に意味不明に * なのに交換法則が成り立たないのは気持ち悪い
70 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:16:36 ] まあ文字列の足し算は前後入れ替えると結果が変わるから特別扱いじゃないかな。 最初の、+= int だとintが文字列になって追加されるけど、-= int だとどういう結果が予測される?
71 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:16:43 ] 前に足したければ逆に書けばいい 前を引くにはどうする?
72 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:17:15 ] 自然な発想とかそういうことじゃなくて 演算子の意味とか順序はきちんと規格で決められてることなんだし 個人の直感と食い違っていても規格書に従わなきゃならない それがコンピュータ言語
73 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:20:05 ] 掛け算は交換則が成り立つというのは思い込みだよ。
74 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:26:13 ] x = 1 1 = x むしろこれが出来ないならそれが成り立つ方が気持ち悪い
75 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:27:55 ] 結合則もたいがい成り立たない
76 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:28:26 ] うるさいから俺言語でも作って喋ってろ タコども
77 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:35:44 ] "test" - "a" →"test" 左辺が右辺の最後尾に存在しなかったので0の扱い 1-0 →1
78 名前:58 mailto:sage [2009/07/28(火) 17:50:58 ] >>59 BuildList()で返すべき型が、バイナリレベルで配置が決められてる いくつか定義したstructのひとつになっています。 今は3つの型ごとに処理関数を用意していて構築手順が3段階あるので9個定義してると。 >>60 C++のtemplateと動作原理が違うのは知ってますが、 どういう記述ができないのかのドキュメントがあまり見当たらなくて困りますね。 最初は戻り値で返していたのですがエラーが出たのでoutに切り替えたわけです。(変わりませんでしたが) 最終的にベタのbyte[]にならすので、そこの部分まで一括で行うクラスを用意した方がいいのかもしれません。
79 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:59:09 ] public List<T> BuildList<T>() { if (typeof(T) == typeof(int)) return (List<T>)(object)new List<int>() { 1, 2, 3 }; else if (typeof(T) == typeof(string)) return (List<T>)(object)new List<string>() { "a", "b", "c", }; else throw new ArgumentException(); } こんなふうに実行時にやってしまうことはできる outは原則使うな
80 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:15:38 ] 何が駄目って型を解決できなきゃ全部駄目だよ 「変換できません」ってエラーが出てんだから
81 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:23:20 ] .NETのジェネリックはコンパイル時ではなく実行時に特殊化されるから 凝ったことするには実行時にリフレクションで頑張るのが基本
82 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 20:52:12 ] ジェネリックデリゲートを作って実行時にバインドしてやれば何でもありだぜ。
83 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:35:13 ] コンパイル時にはTの部分がすべてobjectだと思えば間違いない。 制約をつければ別だけど。 それでコンパイル時にはBuildList(out List<object>) で検索に行く。 BuildList(out List<int> list) BuildList(out List<string> list) と順に探すが一致するのものがないのでコンパイルエラー。
84 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:42:52 ] それは間違いだ ジェネリックの共変・反変はサポートされていないので BuildList(out List<object>)が仮に定義されていたとしてもコンパイルエラーになる C#4.0でジェネリックの共変・反変が制限つきでサポートされるけどList<T>には使えないと思われる (List<T>は書き込みが可能なので型安全性が保証できないため)
85 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:23:38 ] 入社して1年半がたった。オペレータ部署に配属されたときは絶望を感じた ただ、仕事を始めると、どちらかというと人と多くかかわる仕事でやりがいが出てきた。 いろいろ怒られたけど、楽しいと思えた。 そして昨日、ついにその部署の廃止が決まった。廃止というより仕事が完了したから解散か・・・ 明日からC#.NETをやってもらうからと告げられた。 俺が分かる言語は、MOVE、COMPUTE、PERFORMです。 オブジェクト指向?なにそれ?Java?名前は知ってる。 さて、どうするかな・・・ 今日は部署移動とPCのセットアップで時間使ったが明日からやらなくてはいけない。
86 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:25:29 ] マ板でやれ
87 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:26:11 ] >>77 それだと "test" + "0" が "test0" で、 "test0" - "0" が "test0" になるよ
88 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:30:03 ] このスレは職業マに厳しいです アマチュアが当り散らしてきます
89 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:31:49 ] プログラマがシュミグラマに質問するしてるのもあきれるけどな
90 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:47:11 ] 加法にはゼロ元と逆元が存在するはずだが 文字列の結合を加法とした場合、 ゼロ元は空文字列だが逆元は何なのかね?
91 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:47:20 ] まーね
92 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:56:23 ] ネタのつもりかもしれないけど、面白くないし 数学の本質が分かってないからinterestingでもないな。
93 名前:デフォルトの名無しさん [2009/07/29(水) 12:55:37 ] メインフォームよりShowDialogで表示した自作モーダルから、更に同様に表示した別の自作モーダルを閉じると、 最初のモーダルも閉じてしまいます。 OpenFileDialog等だと大丈夫なのですが。
94 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 13:03:07 ] 本当かよ思って下のようなコードで試しましたが、ごくまともに普通に動作します public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form1 f = new Form1(); f.ShowDialog(); } } 99%なんかやらかしてます。
95 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 15:37:27 ] >>94 ありがとうございます。 やらかしてました・・・。 DialogResult.OKのままでした・・・orz
96 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:25:32 ] C# 2008EE。 Processクラスを使用しコマンドラインプログラムをcmdで起動したいのですが、 スペースを含むフォルダにあるコマンドのパイプラインを使うコマンドの起動ができません。 Process.StartInfoのArgumentsの「"」の問題と思いますが、わかりますでしょうか? info.FileName="cmd";で、 info.Arguments = @"/c ""c\a.exe"" | ""c:\b.exe"""; がダメで、「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」になる。 info.Arguments = @"/c c:\a.exe | c:\b.exe"; info.Arguments = @"/c ""c:\a.exe"""; は成功します。@をとって\->\\、""->\"にしても同じです。よろしくお願いします。
97 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:38:36 ] パッと見てもどこで区切れるか迷うな ""c\a.exe"" | ""c:\b.exe"" これとかどう解釈するんだろう
98 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:49:27 ] c\a.exe これCのあとにコロンが抜けてないか?
99 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:53:03 ] これ試したら普通に動いたぞ "/c \"\"F:\\User\\xxxxxxxx\\Documents\\Visual Studio 2008\\Projects\\test\\test\\bin\\Debug\\test1.exe\" | \"F:\\User\\xxxxxxxx\\Documents\\Visual Studio 2008\\Projects\\test\\test\\bin\\Debug\\test2.exe\"\""
100 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:54:29 ] >>99 で動くってことはパイプ記号の前後が1つずつ多いんじゃない。
101 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 19:03:36 ] 実にくだらないな
102 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 19:47:26 ] >>97 ,100 ttp://msdn.microsoft.com/ja-jp/library/362314fe.aspx いわゆる逐次的文字列リテラルとか 個人的には>>98 が正しいような気がする
103 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 19:55:13 ] >>99 ありがとう!全体を更に\"さらに囲むとできました。 >>98 コロン抜けは書き損ねです。すいません。
104 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 20:16:10 ] ちなみに 間違い info.Arguments = @"/c ""c:\Program Files\aa.exe"" | ""c:\Program Files\bb.exe"""; 正解 info.Arguments = @"/c """"c:\Program Files\aa.exe"" | ""c:\Program Files\bb.exe"""""; でした。お騒がせしました。
105 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 21:47:50 ] 最近C#始めた者ですが質問いいですか 1行n列のcsvファイルがあって、これを一行ずつdouble型の配列に収めたいのですが、 ファイル参照の後、 string path = openFileDialog1.FileName; string[] x = File.ReadAllLines(path); で一旦stringで確保した後でconvert.ToDouble() する感じでいいのでしょうか。もっといいやり方ってありますか? string[]には「”4.2274893747417E-07”」みたいな感じで入ってます。 アドバイスお願いします
106 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:01:54 ] それでいいんじゃね よほどでかいファイルならともかく
107 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:07:40 ] >>105 n行1列じゃなくて? とりあえずTextFieldParser
108 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:09:12 ] n列あるんだったらそのままじゃ駄目じゃないの? まあそういうこと聞いてるんじゃないんだろうとは思うが。 行が多いなら、StreamReaderで1行ずつ読みながらの方が望ましい。 楽したいならVBのTextFieldParser使うって手もなくはない。
109 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:10:37 ] ああ、n行1列の間違いか、ならTextFieldParser使うような意味はないな。 しかしそれってCSVって言うのか?やっぱりn列あるの?
110 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:11:59 ] csvっていうかただズラーッと数値が書かれたtxtファイルかな それだったらそれのやり方でいいと思う
111 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 22:22:53 ] ご指摘のとおりカンマ区切りが出てこないのでcsvファイルである必要は無いんですが、 そういう出力のデータなんで・・・。>>110 さんのイメージが適切です。(拡張子がcsvなだけ) あと、縦がnで、横が1です。なんかすいません。 もうちょい頑張ってみます。ありがとうございます。
112 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 07:12:18 ] DataGridViewでReadOnly=falseになってるのですがセルの編集ができません 最近は表示のみで使っていてわかりませんが、最初のころは編集できたはずなのです なにが原因かわかる方いますか
113 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:30:02 ] すみません質問です あるクラスの内部でスレッドを作成し、IDisposableを実装してスレッドを終了させるようにしました しかし、明示的にDisposeを呼び出さない限り、プログラムが終了しないようです スレッドが終了しないとアプリケーションが終了しない ↓ アプリケーションが終了しないとDisposeが呼び出されない? 明示的にDisposeを呼び出さず、プログラム終了時に正しく解放するにはどうすればいいんでしょう
114 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:31:27 ] >>113 パラサイトルーチンでDisposeをクロージャに内包したらよいのでは?
115 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:39:18 ] 同期オブジェクト使っちゃうのが一番手っ取り早そうだけどな
116 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:45:11 ] >>114 C#で出来ます?探しても見つからない・・・ >>115 同期オブジェクトでどうやったら出来るんでしょうか
117 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:46:19 ] 即レスありがとうございます
118 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:47:00 ] >>116 リフレクター使ってDisposeが呼び出されてるところの先頭アドレスを割り出す その後main関数のアドレスも調べてオフセット値を調べ、ポインタ演算で目標アドレスを設定してDisposeを生成
119 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:51:02 ] IsBackgroundがtrueなスレッドにしたら?
120 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 11:57:26 ] そもそも、メインスレッドはほかのスレッドを終了させる義務があると思うんだが。
121 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 12:50:21 ] ,NET Frameworkって具体的にどのバイナリを指すの? System*.dllとmscorlib.dll?
122 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 13:10:19 ] >>121 C:\WINDOWS\Microsoft.NET\Framework内のDLLすべて
123 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 23:56:21 ] ふらっとC# fileSystemWatcherについて教えてください。 フォルダを監視して、ファイルの生成で処理をしたいのですが、ファイルの生成直後だと、ファイルができていないこともあるので、しばらくウエイトしてから処理をしたいと思います。 そこで、 private void fileSystemWatcher_Created(object sender, FileSystemEventArgs e){ MessageBox.Show(e.FullPath); } を private void fileSystemWatcher_Created(object sender, FileSystemEventArgs e){ backgroundWorker_DoWork(this, DoWorkEventArgs.Empty); } private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e){ Thread.Sleep(5000); MessageBox.Show(e.FullPath); } } としてみたところ、eが引き継がれないことがわかりました。 backgroundWorker_DoWork(this, DoWorkEventArgs.Empty); のIDを.Equallとかしてもだめでした。 こういう場合は、どうすればよいでしょう?
124 名前:デフォルトの名無しさん mailto:sage [2009/07/30(木) 23:57:58 ] >>123 まず多重継承でfileSystemWatcher_Createdメソッドをオーバーライドした後、演算子のオーバーロードで中間言語単位のウエイトをかければいい
125 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:01:30 ] まずそれコンパイル通らないだろ
126 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:02:11 ] 質問です decimal型って少数入れるときって、mつけますよね decimal aaa = 0.1m; じゃあ decimal aaa = 1; 1はOK何でしょうか? お願い教えてください
127 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:06:08 ] >>126 msdn.microsoft.com/ja-jp/library/364x0z75%28VS.80%29.aspx
128 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:09:07 ] 早速ありがとうございます。 >>125 はい。コンパイル通りません。 >>124 初心者にはすこしむずかしすぎます。 理解できた単語は、 fileSystemWatcher_Createdメソッドをオーバーライド ウエイトをかける だけです。 どうしたらいいでしょう。
129 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:29:57 ] thk127
130 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:48:59 ] たびたびすいません質問です Microsoft Visual C# 2008 Express Editionで参照の追加をしてクラスライブラリを参照してるんですけど クラスライブラリの内容を変更したとき、その内容が反映される(staticなら使用できるように)のは、何をやったタイミングで 反映されるのでしょう・・・ 謎です・・・
131 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 00:58:52 ] クラスライブラリをビルドしてから それを参照しているプロジェクトをリビルドすればいいんじゃね
132 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:00:27 ] と・・いうかクラスライブラリのクラス変えたのにインテリセンスで反映されていません クラスライブラリをビルドしたのにもかかわらず! 眠れん。。。。
133 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:05:05 ] >>131 うまくいきません 私が、なんか勘違いしてるのかも もういっかいやってみま
134 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:11:28 ] >>133 クラスライブラリのビルド先パスとプロジェクトからの参照先パスは合ってる?
135 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:13:45 ] 合ってないなー多分
136 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:16:27 ] >>134 参照先のクラスライブラリの方に問題があるみたいです なんか元々あったクラスは見えるのに新しく作ったクラスは登録されていないみたいです うーん 明日に持ち越します 自分はもう少しがんがッてみます
137 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:22:33 ] 参照元(Classを使う方のプログラム)のオブジェクトブラウザには出ない(汗
138 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:32:21 ] 参照先にクラス追加しました 反映されたーキター でも、本命は反映されてないオブジェクトブラウザ見ると なんかクラスは3個の四角が線で結ばれているが (参照先で見える参照元では見えない)反映してほしいのには「上の絵+手紙のマークがついてる」限界だZzz
139 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 01:34:09 ] わかったたぶんパブリッククラスにしてなZzz ありがとうございますたー^^Zzz
140 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 04:00:12 ] 二葉亭四迷
141 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 13:18:18 ] くたばってしまえ
142 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 14:30:48 ] アーーーメン♪
143 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 19:34:59 ] >参照 ソリューションにライブラリのプロジェクト自体を追加して依存したほうが安心。
144 名前:デフォルトの名無しさん mailto:sage [2009/07/31(金) 21:13:18 ] それって ファイル->テンプレートのエクスポート->「テンプレート種類の選択」 のことですか?
145 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 20:51:55 ] >>144 143へのレスだったら、違う。 多分、意識しないでやっているとは思いたいけど、なんかやっていない臭がしたから。 1.ソリューションエクスプローラでは、複数の関連プロジェクトを登録できる。 これで、アプリとライブラリのプロジェクトを纏めておく。これは基本だよな? 2.アプリのプロジェクトから参照する時はライブラリのプロジェクトを指定。 これで、依存関係で、ライブラリプロジェクトに依存するようになる。 ビルド順序もライブラリが先にビルドされるように注意しとくと完璧。 こうしておくとライブラリを更新していたときには自動的にアプリも再ビルドされる。 もちろんbinフォルダにもライブラリの最新アセンブリがコピーされる。 何も考えなくていいんで楽チン。 ただこれは、そういうものと思って何も考えないでこうしてるだけだから、実際は問題 あるかも。 何か問題あるなら教えてくれ。
146 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:44:14 ] なんか、自分のオナヌーって変じゃないでしょうか、というノリだな。
147 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:48:05 ] 質問です。 マルチスレッドの中でメンバ変数を使うのですが、 その値をすべての場所で一致させるにはどうしたらいいですか?
148 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:48:48 ] >>147 遅延評価を使って参照渡しされるポイントにブレークポイント仕掛ければいい
149 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:50:57 ] 大雑把な質問で申し訳ないんですが、 Formsの単体テストって皆さんどうやって記述してます? デバイスに依存する部分があって、 マウスカーソルをじかに読んだりする部分もあるから どうやって書いたらいいのか途方にくれてしまって……。
150 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:51:26 ] 147と148が何を言ってるのかまるで分からない
151 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 21:51:59 ] >>149 まずは量子レベルでのテストを兼ねて世界1で実験、 その後エラーなしの世界2で実験して差分検討法で一致させてる
152 名前:147 mailto:sage [2009/08/01(土) 21:54:49 ] 1このとこで変えられたら、 その瞬間は全部の場所で同じ値に変わるというのはOKですか?
153 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 22:00:06 ] >>152 だからこそ遅延評価 総称関数でパックしてやれば評価されるタイミングは関数依存 だから大丈夫
154 名前:147 mailto:sage [2009/08/01(土) 22:04:26 ] >>153 意味わかんないです
155 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 22:06:22 ] >>154 メンバ変数への参照が一箇所でも残されていれば大丈夫ということ だから手ごろな無名関数でクロシージャ作ってやればおk
156 名前:147 mailto:sage [2009/08/01(土) 22:07:07 ] >>155 それならわかります パラサイトルーチンを使ってクロージャを生成すればよいのですね?
157 名前:デフォルトの名無しさん mailto:sage [2009/08/01(土) 22:11:41 ] こんな自作自演して何が楽しいんだ
158 名前:デフォルトの名無しさん [2009/08/02(日) 08:07:09 ] webBrowserでドキュメントの読み込みが終了したタイミング で次の処理をするプログラムです。当然、DocumentCompleted で次の処理をして行くのですが、そのサイトは表示後に JavaScriptで描画している部分があって、完全に描画が終了 するまで若干のタイムラグが生じています。なので、 DocumentCompletedにそのまま記述しただけではうまく動作 しないので、今は、timerを使って次の処理のスタート時間 を遅らせていますが、スマートなやり方でないので、何か うまい方法はないでしょうか。
159 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 13:56:12 ] >>147 からの流れが意味不明すぎてワロタ
160 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 15:45:30 ] Adv/ノベルゲーというのは、皆が思っている以上にOVAのセルビデオに近いんだ。 既に一定の市場が確保できているからそう簡単に廃れることはない。 だが年単位で推移を見ると市場規模が倍になったり逆に半分になったりはするだろう。 すると会社を大きくできるところがあるかと思えば大手でもつぶれるところが出てくる。
161 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 15:48:14 ] どこの誤爆だww
162 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:28:44 ] アセンブリを動的ロードし使用する為に、次のコードを書いたのですが、 (A)の部分でどうすれば文字列型の引数("あいうえお")を渡せばいいか分りません。 どうすれば new Type[0] の部分に引数 "あいうえお" を指定する事が出来ますか? ※引数を渡さないメソッドの呼び出しは普通に出来ています。 string assemblyPath = @"C:TestLibrary.dll"; Assembly asm = Assembly.LoadFrom(assemblyPath); type = asm.GetType("TestClass"); insDll = Activator.CreateInstance(type); //TestMethodメソッドの宣言・・・(A) MethodInfo mi = type.GetMethod("TestMethod", new Type[0]); string getMessage = Convert.ToString(mi.Invoke(insDll, null));
163 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:31:28 ] 意味わからん。引数を渡すのは、Invoke のときだろ?
164 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:32:07 ] なんで動的ロードはできてそんなくだらないところで躓くんだ 思い込みは捨てて全体を見ようぜ string getMessage = Convert.ToString(mi.Invoke(insDll, null)); なんでnullを渡してると思う?
165 名前:162 mailto:sage [2009/08/02(日) 16:33:07 ] >>163 そうなんですか。てっきり(A)の部分でしなくちゃならないと思ってました。 因みに、 string getMessage = Convert.ToString(mi.Invoke(insDll, null)); の部分でメソッドに引数 "あいうえお" を渡す場合にはどうすれば良いでしょうか?
166 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:33:08 ] ついでに > MethodInfo mi = type.GetMethod("TestMethod", new Type[0]); 第二引数の意味は知ってるよな?
167 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:36:48 ] なるほどそこでエラーが出るから(A)がおかしいと考えてたのかw
168 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:37:33 ] public Object Invoke( Object obj, Object[] parameters ) だろ、ヘルプ見ろよハゲ。 new object[]{ "あいうえお" }
169 名前:162 mailto:sage [2009/08/02(日) 16:40:17 ] 引数を渡す為に次の様なコードに修正してみたのですが、 駄目でした。。。なぜ???困った。 これじゃ、動的ロードが出来ても肝心の引数を渡すが事が出来ない。。。 動的ロードしたい意味が無い。 object[] o = new object[1]; o[0] = "あいうえお"; string getMessage = Convert.ToString(mi.Invoke(insDll,o));
170 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 16:43:00 ] (A) がおかしいんだろ。Type の配列じゃなくて、BindingFlags.Public でも指定しとけ。
171 名前:162 mailto:sage [2009/08/02(日) 17:03:19 ] 出来ません。。。 やっぱり引数を指定するとエラーが出ます。 自分なりに(A)(B)に色々と引数を渡す為に試してみたのですが、 ことごとく「オブジェクト参照が存在しません。」みたいなエラーが出てしまいます。 どなたか具体的に引数を渡す方法をぜひお願いします。 //(A) MethodInfo mi = type.GetMethod("TestMethod", new Type[0]); //(B) string getMessage = Convert.ToString(mi.Invoke(insDll, null));
172 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 17:15:19 ] サンプルでも探せよハゲ www.atmarkit.co.jp/fdotnet/dotnettips/389methodinvoke/methodinvoke.html
173 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 17:17:47 ] これでリフレクションによく手を出す気になったモンだなぁ
174 名前:162 mailto:sage [2009/08/02(日) 18:24:59 ] >>172 ありがございます!! 出来ますた!!
175 名前:デフォルトの名無しさん [2009/08/02(日) 19:22:09 ] 流れたので再度 webBrowserでドキュメントの読み込みが終了したタイミング で次の処理をするプログラムです。当然、DocumentCompleted で次の処理をして行くのですが、そのサイトは表示後に JavaScriptで描画している部分があって、完全に描画が終了 するまで若干のタイムラグが生じています。なので、 DocumentCompletedにそのまま記述しただけではうまく動作 しないので、今は、timerを使って次の処理のスタート時間 を遅らせていますが、スマートなやり方でないので、何か うまい方法はないでしょうか。
176 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 19:26:17 ] そのサイトを出せよ
177 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 19:30:31 ] 無理だろ。 JavaScript の最後にイベントくっつけるくらいしかないんじゃね?
178 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 19:33:41 ] 同じく流れたので再度 Formsの単体テストって皆さんどうやって記述してます? デバイスに依存する部分があって、 マウスカーソルをじかに読んだりする部分もあるから どうやって書いたらいいのか途方にくれてしまって……。
179 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 19:38:24 ] フォームは単体テストなんてやらない。
180 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 20:05:22 ] そういうライブラリはあるらしいけど、 使ったことないので知らない
181 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:25:37 ] string[] か IEnumerable<string> で部分配列を取得したいんですが、 string[] ary = {...}; ary.Hoge(start,length); みたいなメソッドありますか?
182 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:32:40 ] Array.Copy
183 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:37:10 ] IEnumerable<T>相手ならSkipとTakeの組み合わせ
184 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 01:14:20 ] .netのexeの中身が分かるツールって知ってます? 雷みたいな水色のアイコンで、 ISDN.exeみたいな名前でした
185 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 01:16:31 ] それは知らんが ildasmとReflector
186 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 02:08:50 ] 正規表現で次の様にHTMLページ内にある<title></title>タグの中の文字列を 変更するにはどうすればよいでしょうか? <title>太郎</title> ↓ <title>マイケル</title>
187 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 02:20:33 ] スレ違い
188 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 02:22:19 ] せめて こうやってみたが(結果がこうなってしまった|こんな例外が出た|こんなコンパイルエラー) ぐらいは書けよ
189 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 09:29:42 ] www.atmarkit.co.jp/fdotnet/basics/regex02/regex02_03.html Regex regex = new Regex(@"(<title>)(.*)(</title>)"); string s = regex.Replace(html, @"$1マイケル$3");
190 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 12:56:41 ] みんな見れる? 見れなくなった。 C# と VB.NET の質問掲示板 - ASP.NET bbs.wankuma.com/index.cgi
191 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:04:10 ] わんくま掲示板が落ちているのは稀によくあること
192 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:04:41 ] >>191 日本語でOK
193 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:14:24 ] わんくま掲示板とブログが落ちているのはよくあること。 ああまたか、という感想しか湧かない。
194 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:26:15 ] C#でメソッド内静的変数が使えない理由がわからないんですが…
195 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:28:55 ] ヘジたんの趣味
196 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 13:34:47 ] C風に使いだす馬鹿が出るから
197 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 15:18:08 ] 必要な場面があまりないからだろ。 大抵単なるstatic変数で事足りるし。
198 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 15:37:53 ] オブジェクト指向的にはstatic変数で状態持つこと自体極力避けるべきなんだから それを助長するような機能をわざわざ付けるわけがない
199 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 18:39:30 ] 最大の理由はマルチスレッドが普通にプログラミングモデルに組み込まれる事になったので 一撃必殺でスレッドセーフを叩き潰す関数内staticは、無い方がいいだろうって所だと見た。
200 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 19:15:55 ] そういえば、VB.NETではメソッド内静的変数が使えるんだけど、 どう実装されてんのかReflectorで見たら、ものすごい力技で笑った。 基本的にはインスタンスのメンバ変数なんだけど、それをうまくメソッドローカルな静的変数に見せかけてる
201 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:22:49 ] >200 ほーほー、スコープ的に他のメソッドから見えないようにしてるのかな? と、尻馬に乗って試してみた。 Public Class Class1 Shared a As Integer Dim a2 As Integer Public Shared Sub Test() Static Dim a As Integer a = 0 End Sub Public Sub Test2() Static Dim a As Integer a = 0 End Sub Public Shared Property prop() As Integer Get Return a End Get Set(ByVal value As Integer) Static Dim a As Integer a = value End Set End Property (続く)
202 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:24:50 ] Public Property prop2() As Integer Get Return a End Get Set(ByVal value As Integer) Static Dim a As Integer a = value End Set End Property End Class これの結果が Int32 a2 Int32 $STATIC$Test2$2001$a Int32 $STATIC$set_prop2$20118$a Static Int32 a Static Int32 $STATIC$Test$001$a Static Int32 $STATIC$set_prop$0118$a という感じになる。 Static とか Int32 は区別のためにつけた。 VBだとSharedがクラス変数っぽい。
203 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:26:41 ] おまけ class Program { static void Main(string[] args) { Class1 cls = new Class1(); Type typ = typeof(Class1); FieldInfo[] infos; infos = typ.GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static); foreach (FieldInfo f in infos) { Console.Out.WriteLine((f.IsStatic?"Static ":"") + f.ToString()); } } }
204 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:26:56 ] っぽい、ってそれはMSDN見ればわかるじゃんことじゃん言っちゃ悪いがw
205 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:30:50 ] VBのStaticはVB6にもある。 Staticがクラス変数扱いになったのはCOMの影響。
206 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:32:12 ] Out って何? Java?
207 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:34:59 ] 1つのメソッドでしかつかわないRegexオブジェクトとかを置いときたいなと思ったことはある
208 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:48:27 ] htmlの解析とか無理だろ・・・ Cはやめて今日からC#するってうちの教授なにかんがえてんだよ・・・ そもそも俺プログラムなんてVBAしか知らないしorz すまん、ぐちってみた
209 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:50:41 ] VBA → VB.NET → C# でおk
210 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:53:20 ] html の解析なんて、DOM ですぐじゃん。
211 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:56:04 ] >>209 VB.NETってのをかますと勉強しやすいのか。 ってか、Cの授業自体、休憩時間とかしてたしな・・・ がんばってみるよ。そもそもHTML自体分からんのだがな。 何でも、formタグの中にある<input type="ほにゃほにゃ" name="ほにゃほにゃ2" size="30" maxlength="20"> ほにゃほにゃとほにゃほにゃ2を抜き出して表示させろだと。さて、イミフだ
212 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 21:58:54 ] VB.NETなんか無意味だからやめとけ VBAできるっていったってそんな深くまで理解して使ってるわけじゃないだろ
213 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:05:02 ] HtmlAgilityPackとXPathでサクサクっと
214 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:09:42 ] IEコンポ関係が一般的では?VBAでもC#でも。
215 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:11:45 ] >>214 IEが不具合起こしたら手がつけられんからなー。 HTMLブラウジングそのものが目的じゃないんだったら避けたほうがいいんじゃないかな。
216 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:15:37 ] mshtml がどれだけの実績あると思ってんだよ
217 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:18:38 ] 極端な話,HTMLの解析自体はHTMLが全くわからなくてもできちゃう それよりもC#覚える方がずっと大変だからがんばれ
218 名前:デフォルトの名無しさん mailto:sage [2009/08/03(月) 22:42:53 ] 皆さん、サンクスです・・・ いろいろなアドバイスを頂、少し前向きに取り組んで意向と思います。 input type = A name = B value = C html中のA,B,Cを取得して一覧表示させればいいみたいです。 とりあえず教授の話してることメモしてるのを読み直しとこんな感じみたいです。 なにか参考書を買ってがんばってみようと思います。 WebBrowserを使えばhtmlの表示とソースの取得は出来ると教えてもらいました。 まずはその辺から組み立てていこうと思います。
219 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 01:31:56 ] >>208 まじめにやると意外と大変。多分、html tidyあたりでxhtmlに変換した上で、XMLDocumentで読み込むべきかな。
220 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 04:29:37 ] 218の教授がWebBrowserと言っているんだからそれ使ってやろうぜ。
221 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 08:06:45 ] >>218 それ、たぶん不可能だと思うんだけど・・・ 教授にきちんと聞いたほうがいい。なんか聞き間違いとかあるんでない?
222 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 09:18:32 ] >>221 GetElementByName GetAttribute InnerText 等を使えばいけると思うけど
223 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 09:20:43 ] C#でMySQLに接続するプログラムを作っています。 接続の際のID、パスワードをユーザーから隠したいのですが どのような方法がありますでしょうか?
224 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 09:29:22 ] どういうレベルで隠したいわけ?
225 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 09:58:22 ] >>224 すいません、どういうレベルでと聞かれるとどう答えればいいのかわからないのですが・・・。 とりあえず今、考えているのはIDやパスワードをWeb上のファイルから都度読み込んで あくまでソース内にはIDやパスワードを入れておかないようにしようかと思っています。 他にいい方法があればと思って質問しました。
226 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 11:01:49 ] >>222 いけるのか? 参考HPなにかありませんか?
227 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 11:19:31 ] それjavascriptじゃない? 翻訳記事だけど、 ttp://japan.internet.com/developer/20051115/25.html とかどう
228 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 11:20:21 ] XMLだった
229 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 11:37:18 ] >>226 いや Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.WebBrowser1.Navigate("c:\hoge.html") End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim hdoc As HtmlDocument = Me.WebBrowser1.Document Dim inputs As HtmlElementCollection = hdoc.GetElementsByTagName("input") For Each inputElement As HtmlElement In inputs Dim type As String = inputElement.GetAttribute("type") Dim lvi As New ListViewItem(type) Dim nsi As New ListViewItem.ListViewSubItem(lvi, inputElement.Name) lvi.SubItems.Add(nsi) Dim value As String = "" Select Case type.ToLower() Case "text" value = inputElement.InnerText Case "radio", "checkbox" ' 繝√ぉ繝・け縺輔l縺ヲ縺・k縺九←縺・°縺ョ蝣エ蜷・ value = inputElement.GetAttribute("checked") ' value縺ョ蝣エ蜷・ 'value = inputElement.GetAttribute("value") End Select Dim vsi As New ListViewItem.ListViewSubItem(lvi, value) lvi.SubItems.Add(vsi) Me.ListView1.Items.Add(lvi) Next End Sub という感じで組めば、リストビューにリストアップできるけど。 こういうことではないのか!?
230 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 11:40:05 ] ゴメン文字化けしてたので、再レス Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.WebBrowser1.Navigate("c:\hoge.html") End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim hdoc As HtmlDocument = Me.WebBrowser1.Document Dim inputs As HtmlElementCollection = hdoc.GetElementsByTagName("input") For Each inputElement As HtmlElement In inputs Dim type As String = inputElement.GetAttribute("type") Dim lvi As New ListViewItem(type) Dim nsi As New ListViewItem.ListViewSubItem(lvi, inputElement.Name) lvi.SubItems.Add(nsi) Dim value As String = "" Select Case type.ToLower() Case "text" value = inputElement.InnerText Case "radio", "checkbox" ' チェックされているかどうかの場合 value = inputElement.GetAttribute("checked") ' valueの値の場合 'value = inputElement.GetAttribute("value") End Select Dim vsi As New ListViewItem.ListViewSubItem(lvi, value) lvi.SubItems.Add(vsi) Me.ListView1.Items.Add(lvi) Next End Sub
231 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 12:52:12 ] >>230 C#じゃなくないですか? C#.NET開発で、自分も似たようなことで悩んでいます。 パーサーというものの使い方がいまいちわからない……
232 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 13:00:39 ] VB.NETはコードの見た目がなんとなく違うだけのC#。 C#できるならVB.NETもできるようにならないともったいない。 だからってわざわざVB.NETで貼るのはどうかと思うけど。
233 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 13:09:19 ] >>231 あ、そだった、すまん。C#でのソースを再レス private void Form1_Load(object sender, EventArgs e){ this.WebBrowser1.Navigate(@"c:\hoge.html"); } private void WebBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { HtmlDocument hdoc = this.WebBrowser1.Document; HtmlElementCollection inputs = hdoc.GetElementsByTagName("input"); foreach(HtmlElement inputElement in inputs) { string type = inputElement.GetAttribute("type"); ListViewItem lvi = new ListViewItem(type); ListViewItem.ListViewSubItem nsi = new ListViewItem.ListViewSubItem(lvi, inputElement.Name); lvi.SubItems.Add(nsi); string value = ""; switch(type.ToLower()) { case "text": value = inputElement.InnerText; break; case "radio": case "checkbox": value = inputElement.GetAttribute("checked"); //value = inputElement.GetAttribute("value"); break; } ListViewItem.ListViewSubItem vsi = new ListViewItem.ListViewSubItem(lvi, value); lvi.SubItems.Add(vsi); this.ListView1.Items.Add(lvi); } }
234 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 13:18:42 ] >>232 すまん。よく使う言語がVB.NETのほうだもんだから、 時々こうC#スレでVB.NETのソースをはっつけてしまうことがある。
235 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 13:22:32 ] いいわけするな
236 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 13:29:42 ] >>235 別に言い訳ではないんだが。
237 名前:デフォルトの名無しさん [2009/08/04(火) 15:41:05 ] フォルダ内にあるファイル名を配列に、 ファイル名順で入れたいのですが上手くいきません。 string[] fs = System.IO.Directory.GetFiles(フォルダ指定, "*.*"); Array.Sort(fs); フォルダ内のファイルは temp0・temp1・temp2……temp10 です。(拡張子略) 結果は temp0・temp1・temp10・temp2…… となります。数字が二桁を超えるとおかしくなります。
238 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 15:55:30 ] 文字列で比較してるんだから当然の並び順になってるだけ
239 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 15:56:43 ] >>237 別におかしいわけではないよ。 そもそもエクスプローラとC#(というか.net)の文字列の比較方法が異なる どのくらい分からんのかよく分からんので、適当にぐぐった結果はってみる ttp://dobon.net/vb/dotnet/string/stringcomparer.html ttp://nekoaruki.com/wp/posts/programming/csharp/1159.html
240 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:06:41 ] >>238 >>239 ありがとうございます。 まさにエクスプローラの表示順にしたかったのです。 リンク先で可能そうです。ありがとうございました。
241 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:38:40 ] あれ、Explorerも昔はC#的な並べ替えだったよね・・・? 気のせいかな・・・
242 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:46:03 ] XP辺りから変わった レジストリに使用する比較関数の項目があるんで変更も可能なはず ロジックは相当複雑
243 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 16:49:35 ] >>241 intuitive sortってやつだろ。XPの目玉機能だよ >>240 Explorerと同じにするならStrCmpLogical使うべき。
244 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 20:47:02 ] >>233 記憶があいまいですまないのだが、確かフレーム分割されてるとだめだよな 違ったっけ?
245 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 21:32:20 ] >>244 そんなん、frames で取ればいいだろ。 適当言うなよハゲ
246 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 22:35:34 ] >>245 いや、フレームごとに取得は無理だろ 一括で取得なら可能だけど。 まぁ、>>218 がどこまで作るのか知らないけど
247 名前:デフォルトの名無しさん mailto:sage [2009/08/04(火) 22:37:41 ] >>242-243 あーやっぱXPから変わったんですか。 ありがとう
248 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:11:01 ] Form1からForm2を開くようにしたいのですが、 Form2は1こしか作らせない。 Form1_loadあたりで、Form2を作っておきたい。 Form2の変数をForm1でも使いたい。 どのようにすればいいんでしょうか?
249 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:15:48 ] shingleton
250 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:37:38 ] やりたいことは、 Form1を半分隠すみたいなかんじで、 ボタン押すと、ぴーって出るみたいな できないかな?
251 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:45:26 ] >>246 いや、可能だよ foreach (HtmlWindow f in this.webBrowser1.Document.Window.Frames) { HtmlDocument hdoc = f.Document; // 以下略 }
252 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:51:27 ] トイレ逝け
253 名前:デフォルトの名無しさん [2009/08/05(水) 06:16:53 ] GetAttributeでいける foreach (HtmlElement element in all_Input) { if (element.GetAttribute("type") == "hidden") { name = element.GetAttribute("name"); value = element.GetAttribute("value"); } }
254 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 12:08:12 ] フレーム分割してるページのソースとかも同じやり方でできるのかな?
255 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:14:54 ] 数ヶ月に1つのプログラミングをするぐらいなんだけど dataGridViewなど設定や扱いが面倒なのは 以前どういう風に設定したのか忘れてしまって (項目のコピペや自動で列が追加されないようにしたりなど) 毎回一から解説サイトとかを回って調べているのが激しく無駄な気がして こういうことにならないように、あらかじめ設定したコントロールを 追加するだけで他のプロジェクトでも簡単に使える方法はないでしょうか? 例えば、 dataGridView.SelectRetuCopy() dataGridView.SelectRetuDelete(); など毎回同じような動作をする機能をあらかじめ盛り込んでおきたいのです
256 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:22:46 ] コード・スニペットはどう?
257 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:41:16 ] >>255 既存のコントロールを継承した独自のコントロールクラスを定義して、 それをフォームデザイナーで使ったりは普通にできるよ。
258 名前:デフォルトの名無しさん [2009/08/05(水) 18:53:53 ] Buttonコントロールで影が付く条件を教えてください 既定のボタンを表している影だと思うのですが、出てこなくなりました
259 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:18:36 ] FormのAcceptButtonとCancelButtonのことか?
260 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:46:01 ] AcceptButtonで影付いてたんですね ありがとうございました
261 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:51:19 ] >>260 テキストボックスにUSB入力してボタンクリックしたらIEで表示させることって可能ですか?
262 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:54:54 ] エスパー召喚質問過ぎる
263 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 19:59:04 ] >>262 すみません。USBでなくURLでつ…
264 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:04:17 ] FileSystemWatcherでテキストファイルの生成を監視しているとき、テキストファイルだと、2回生成したとメッセージが表示されるのですが、原因と回避策を教えてください。 private void fileSystemWatcher_Created(object sender, FileSystemEventArgs e){ MessageBox.Show("created!") }
265 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:04:31 ] 可能姉妹
266 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:09:06 ] >>265 出来ましたらヒントかなにかを……
267 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:14:10 ] >>266 グーグルの使い方ぐらい覚えた方がいいよ www.google.com/search?as_q=c%23+IE+%E8%B5%B7%E5%8B%95&num=100&hl=ja&ie=UTF-8&oe=UTF-8&btnG=Google+%E6%A4%9C%E7%B4%A2&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=
268 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:32:11 ] >>267 ありがとうございます。 少し甘えすぎていました。すみません。
269 名前:255 mailto:sage [2009/08/05(水) 20:35:04 ] >>256 >>257 どうもありがとうございます 皆さんはこういう場合どうしているんでしょうか? 毎回form1でガリガリ書いちゃうのかな それとも継承したコントロールクラスを作ったりするのでしょうか?
270 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:46:39 ] DataViewを作成してRowFilterを設定しようとしています。 フォーム上のテキストボックスで入力された文字列で 「フィールド」の列をあいまい検索しようとしています。 DataView dv = new DataView(datatable); dv.RowFilter = "フィールド like '*" + テキストボックス.Text + "*'"; この時に、特殊な文字列が入っているとエラーになります []%\<>+|^'" だから、Replaceメソッドを使ってあらかじめ[]でそれらの文字をくくってやろうと しました。 Joken = Joken.Replace("[", "ESCAPETemporary"); Joken = Joken.Replace("]", "[]]"); Joken = Joken.Replace("ESCAPETemporary", "[[]"); Joken = Joken.Replace("%", "[%]"); Joken = Joken.Replace("\\", "[\\]"); Joken = Joken.Replace(">", "[>]"); Joken = Joken.Replace("<", "[<]"); Joken = Joken.Replace("+", "[+]"); Joken = Joken.Replace("|", "[|]"); Joken = Joken.Replace("^", "[^]"); Joken = Joken.Replace("'", "''"); たのですが、くくってやるとエラーは出ないのですが検索にかかりません。 これらの文字をエスケープする方法を教えて下さい。 また、エスケープするのにわざわざReplaceでこうやって置き換える以外の方法があったら教えて下さい。
271 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 21:03:17 ] 教えてあげないよ _,∩_ _,∩_ _,∩_ (_____)ゝ、 (_____) y (_____) / :: :: :: ヽ 〉 /-‐:: ::‐-ヽ / / :: :: :: ヽ _./ (・ )ll(・ ) ∨ _/ 0) i! 0) ∨ _/ ( ・)i!(・ ) ゙、_ // :: :: ∈ゝ :: ::ヽ // :: ‐-‐ :: ヽ // :: ー一 :: ヽ\ . ゝ/:: :: :: :: :: ::ヽ ゝ/ :: :: :: :: :: ヽ ゝ/ :: :: :: :: :: ヽく  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄ | | | | | | ⊂! !つ シ! !つ ⊂! !つ ジャン♪
272 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 21:12:51 ] >>270 LIKE演算子に使う文字列で[]使ってエスケープする必要があるのは[*%だけだぞ 'もエスケープが必要だがこれは'をもう一つ重ねることでエスケープする String.Replaceで良いんじゃね Regex.Replace使っても良いけど
273 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 21:13:12 ] コピペ君って馬鹿だな、まで読んだ。
274 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 21:32:58 ] >>270 そういうのはクエリのサニタイズと呼ばれる。 普通は入力値は直接テキスト処理せず、DBライブラリ側に処理させる。 C#だとどうやるのかは知らんけど、データソースオブジェクトを使ったらクエリ書く必要すらないんじゃね?
275 名前:270 mailto:sage [2009/08/05(水) 22:13:59 ] >>272 指摘されてあらためてヘルプをよく読んだら、 フィールド名に使ってたらエスケープしないといけない文字列と データの中でエスケープしないといけない文字列は違うということがわかりました。 [*%' についておっしゃるとおりエスケープしたらうまくいきました。 ありがとうございました。 最初に想定していたよりも文字数が減ったのでReplaceでやることにします。
276 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 22:30:34 ] VB厨で申し訳ないのですが、 VBのFormat、FormatNumber関数に相当するメソッドを ご存知の方おられたら教えてください。 数値を三桁カンマ区切りにしたいというのが目的です。
277 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 22:31:41 ] >>276 string.Format()
278 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 22:38:11 ] int.ToString(string)
279 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 23:37:58 ] 1234567890.ToString("N0")
280 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:34:46 ] foreachでbreakで抜けなくてもいい場合にbreak使わないで全部回すってどうですか?
281 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:40:34 ] 言ってることがよくわからないが推測で答えると場合によるとしか言えない。
282 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:43:16 ] breakで抜けなくてもいい場合ならbreakを使っちゃダメでしょ。当然全部回る。 で?
283 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 02:07:19 ] 一つだけ抽出する場合に決まってんだろオタンコナス!
284 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 02:11:48 ] エスパーでも太刀打ち出来ないだと!?
285 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 02:12:03 ] それならEnumerable.Firstの述語を引数に取るほうを使えばいい。
286 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 03:06:27 ] >>280 next
287 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 08:23:28 ] お前達は何を言っているんだ・・・
288 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:15:15 ] nextでふと思ったが、、、continue のことか?
289 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:23:46 ] 現在、あるソフトの試用版を製作中です。 試用版ということなので、メインの機能の回数制限をつけようと思っているのですが 残り回数をレジストリに書き込んだ場合、ユーザーに書き換えられてしまう危険性がありますよね? これをユーザーから編集不可にする方法はありますか?
290 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:44:33 ] ないよ
291 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:48:44 ] 回数限定版ではなく機能限定版を考えてみてください
292 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:49:54 ] >>290 >>291 やはりそうですか。 機能限定版、もしくは正規版の機能充実に時間を使います。 ご回答、ありがとうございました。
293 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 10:52:49 ] 暗号化すればある程度は大丈夫だけど削除されたら元も子もないし 完璧な方法はないかも 究極はそもそもその機能を入れてないバージョンを別に作ることだがそれだと試用できないな
294 名前:293 mailto:sage [2009/08/06(木) 10:54:09 ] 既に回答されてて泣いた
295 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 11:36:15 ] ユーザーのPCはユーザーの管理下にあるから、まっとうな方法で確実なのは無理だね。 ネット使って認証とかのレベルでやらないと無理。
296 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 12:06:00 ] webBrowserで表示しているページをボタンクリックしたらIEで表示させる。 こんなの作りたかったけど難しい。 URLって簡単には取得できないのね。 舐めてたわ
297 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 13:01:34 ] 現在表示されてるURLはプロパティから直接取れる。 ページ変移もNavigatingイベントで拾える。
298 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 14:18:12 ] >>297 例えば、グーグルとかで日本語検索したページをIEで表示させるとURLに検索文字が直接はいってしまう。 あと、フレーム分割されてるようなページだとうまくURL取得出来ないです
299 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 15:32:56 ] >>298 後者は WebBrowser.Document.Window.Frames.Item(int) でなんとかできると思う 前者は日本語でおk
300 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 15:53:23 ] URLエンコードしたいんじゃね
301 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 16:07:41 ] Uri.OriginalStringの事か?
302 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 16:40:12 ] Aというフォームを起動させて、あるボタンを押せば Aを閉じてBというフォームを表示させたいんですが、どうすればいいでしょうか? Aを閉じるとアプリケーション自体終了したり、AのVisibleをfalseにしたままだと Bを閉じたときに、Aは非表示なだけで終了はしていませんよね?
303 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 16:47:22 ] ・AはHideにしておいて、BのClosedイベントでAも終了する ・ApplicationContextを使ってMainFormを差し替える ・Application.Run(new B())する前にAをShowDialogで表示する
304 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 17:03:53 ] >>303 ありがとうございます。
305 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 21:09:45 ] c#EE2008 datagridviewを継承した独自のコントロールを デザイナの左にあるコンポーネントに追加する方法ありますか? コントロールのサイズを視覚的に調整したいので・・
306 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 22:01:03 ] >>305 なーんか言ってることが意味不明だな、と思うのはたぶん俺だけじゃないと思う。
307 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 22:13:14 ] >>305 同じプロジェクトならビルドすればいい 違うプロジェクトなら参照に加えればいい
308 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 22:21:58 ] ああ、>>307 を見てやっと意味が分かった
309 名前:296 mailto:sage [2009/08/06(木) 22:24:07 ] frameはDocumentCompletedの最後にメインページが読み込まれるみたいで意識しないでいいみたいです >>299 さんのコード使わずとも何とかなりました。 ただ、JavaScriptで描画している部分はどうにもならない・・・ こればっかりは仕方ない見たいですね。 学校ではJava習ってるんで、C#を自主でやろうかな〜と思ってタブブラウザもどきを作っています。
310 名前:305 mailto:sage [2009/08/06(木) 22:50:05 ] >>307 ビルドすれば左のコンポーネントのところに表示されるのですか? 継承しただけだと無理だと思うんだけど 継承したクラスを作ってその後どうすればいいんでしょうか?
311 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:04:20 ] それだけで出るけど?
312 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:17:00 ] 試してみたが、普通に表示されるぞ? VS2005 Standard でだが。 using System.Windows.Forms; namespace MyControl { public class MyDataGridView : DataGridView { } }
313 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:18:08 ] ふと・・・public付け忘れなんてオチは却下だ。
314 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 23:28:22 ] DataGridViewを継承って使い道が全く思いつかないんだが 外から弄り放題だからコンポーネントとしては失格だし
315 名前:296 mailto:sage [2009/08/07(金) 00:12:14 ] >>309 JavaScriptか・・・ 専門学校のときに似たようなの作らされたっけ なんか、 url = e.Url.ToString(); これでurlを取得しようとしたら、なんかJavaScript:false: こんなわけ分からん値が取得してた気がする。面倒になって他の奴に投げたがなんだったんだろう。
316 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:28:08 ] WPFで、一般的なペイントツールを作ろうと思ったら、カンバス部分はどう実装するの? はじめからInkCanvasが用意されてるけど、これと似た自前のクラスを作ることになるのかな
317 名前:305 mailto:sage [2009/08/07(金) 00:37:53 ] >>314 弄り放題すぎて目的の関数見つけるのが大変なんです
318 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:42:44 ] WiiRemoteについての質問です wiiリモコンとバランスボードを制御するとき どちらか片方ずつなら制御できたのですが 両方を同時に制御するにはどうすればいいですか?
319 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 01:21:19 ] 個別のライブラリに関しては提供元もしくは専用のフォーラムで聞いてください。
320 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 08:18:32 ] DataGridViewを継承したやつって 実体はなんなの? DLL? Formにぺこって貼り付けるやつって、実体はなんですか?
321 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 08:25:13 ] >>320 フォームデザイナーは見た目をいじるだけ。 あくまで出来上がるのはC#のソースコード。 ソースコードに何が書かれているかをよく見てご覧。 いくつか質問してるが、ソースコードに全部書いてある。
322 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 09:35:02 ] 抽象クラスとインターフェースって似てると思いますが、インターフェースで出来ないことを抽象クラスでやるってことなんでしょうか?
323 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 10:24:52 ] >>332 それくらいググりなさいよっ、初心者のくせにっ! blog.shos.info/archives/2005/02/c_tips_interface_abstract_clas.html
324 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 10:37:34 ] 機能は似ているが由来が違うと思えばいい。 インターフェイスという概念は必ずしもオブジェクト指向ではない。
325 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 12:09:59 ] >インターフェイスという概念は必ずしもオブジェクト指向ではない。 そうか? interfaceではstaticメソッドが作れないわけだから、 interfaceを使うと出来上がるものが必ずオブジェクトになると思うんだが?
326 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 12:51:05 ] C#のinterfaceというキーワードは完全にクラス周辺の仕組みの一部。 ただし他から借りてきた概念だといいたいわけさ。 APIだってインターフェイスだがWin32APIはオブジェクト指向じゃないだろ。 COMやCORBAのインターフェイスになるとオブジェクト志向の風味が漂ってくる。 いわゆる分散オブジェクト。
327 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 13:25:46 ] どう考えてもC#のインターフェースについて聞いてるだろ
328 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 13:43:14 ] >>322 抽象クラスじゃできないことをインターフェースでやる場合もあるだろ 多重継承とか
329 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 21:11:20 ] 補色ってどう作ればいいのかな。
330 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 21:15:15 ] >>329 補色っていってもいろいろ定義がありそうだけど、 一番普通のは単にRGBの1の補数でいいんじゃないの?
331 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 21:17:06 ] >>330 なるほど。thx。
332 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:22:32 ] C#でHPをローカルに保存するようなプログラムは作成可能でしょうか? フレームに分かれていないページなら、CSSと画像などを気にしなければ簡単に作成することが出来ました。 ただ、フレーム分割されているページにも対応したプログラムの作成方法が分からず、そもそも出来るのかと頭を抱えています
333 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:32:40 ] できなかったらIEだのFirefoxだのはどんな魔法を使ってるというのか
334 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:36:00 ] テクマクマヤコンテクマクマヤコン
335 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:03:56 ] WinFormsにおいて ウィンドウがリサイズされたとき 子のコントロールがそれに合わせてリサイズしたり移動したりするには どうすればいいでしょうか
336 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:06:39 ] 抽象的で答えにくいが 取り敢えずDockとかAnchorとかを使うとか
337 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 04:05:46 ] ひょっとして Image img = Properties.Resources.Image1; のように、画像リソースを取得した場合って img.Dispose(); しないとダメだったりする?
338 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 04:42:24 ] >>337 不要
339 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 04:46:44 ] >>338 行った場合って何か不都合が生じたりする?
340 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 06:51:29 ] する
341 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:16:54 ] >>333 どうやって実装するばいいのか分からず悩んでいます。 HtmlDocument doc = webBrowser1.Document ; textBox2.Text = doc.GetElementsByTagName("html")[0].OuterHtml ; メインページのhtmlしか取得できません。
342 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:20:52 ] frameタグを見ろ
343 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:30:26 ] Button_Clickの内容をFormクラスに書くのっておかしくないですか? Buttonがクリックされた時の処理はButtonが持っているべきだと思うのですが、これがVisual C#というものの特性なのでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:30:30 ] DOM に window.frames があるんだからそっちのほうがいいだろ
345 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:33:00 ] >>343 ん?Controlだろ?
346 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:35:06 ] >>343 全然おかしくない。いわゆる「処理の移譲」ってやつ。 JavaをはじめほとんどのGUIライブラリはこの考え方をもとにして設計されている。
347 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 09:56:22 ] つまり、機能毎に新しいButtonカスタマイズクラスを書け、ということだろうか
348 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 10:04:36 ] Buttonは「クリックされた」を検知するだけのもので,具体的な処理を行うのはフォームだろ。 単純に考えれば,ボタンがクリックされたらButtonがフォームの「ボタンが押された時の処理」 を行うメソッドを呼び出すのが自然だけど,それではButtonが特定のフォームに依存してしまうので それをうまく切り離すのが「委譲」の考え方。
349 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 10:14:36 ] >>343 マウスがクリックされたときの動作を ココのアプリケーションが実装するのはおかしいって言ってるようなもんだぞ。
350 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 10:21:14 ] >>343 は良い質問 初心者ではなさそうだけど
351 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 10:29:36 ] まあ、「家=Form」だけあっても、「ドア=Control」が無ければ 「家に入る=Event」というのは実現できないわけだし、 「ドア」単体には、そもそも「家に入る」というイベントを実現することは出来ない というわかるようでわからない説明してみる
352 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 11:02:31 ] 昔のjavaのAWTが確か派生クラスで処理を書く形式じゃなかったかな? で欠点が多かったから委譲モデルに変更された。 C#というか.NETのイベントはまさに委譲モデル。
353 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 11:30:51 ] >>342 >>344 各フレームの情報が見たいのではなく、あくまでしたいのはwebbrowserで表示しているページのローカル保存です。 WebページをMHT形式(.mhtファイル)で保存するには?[C#、VB] ttp://www.atmarkit.co.jp/fdotnet/dotnettips/690createmht/createmht.html こんなの見つけたのでもう少しがんばってみようと思います
354 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 11:36:25 ] 取り敢えずHTMLの仕組みぐらいは知っといた方が良いよ
355 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 11:51:09 ] >>354 あぁ、何か的外れなことをしようとしてるみたいですね。私。 VBAで表計算の自動化くらいしかしたことがなく、突然webのダウンロードソフトを作ってといわれてかなりテンパっています。 少し落ち着いて、考え直していこう「と思います。 理想。 1,IEの名前をつけて保存のようにメインページは任意の名前で保存 2,フレーム分割されているようなページの場合、それぞれを保存する。 こんな感じです。2のフレームページの保存は当然それぞれのhtml名で保存しなければいけないんですが・・・ 難しいですね。プログラミングって。
356 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:05:45 ] 保存するだけならばwget使えばいいじゃん
357 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 12:48:26 ] >>340 なんで?
358 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:16:39 ] >>357 共同風呂で他人が入っている可能性があるのに電気消す馬鹿がどこにいる
359 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:32:08 ] それは一見同じ風呂だが実は別の風呂 Resourcesの画像プロパティ参照するごとに毎回新しいインスタンスが作られてるよ だからDisposeもやっとかないとメモリが無駄に食われる可能性がある
360 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:44:01 ] >>359 ResourceManager.GetObjectを使ってるようだから、それも不正解。 毎回は作られない。 長く使用されずにGCで回収されてしまった場合や 意図的にDisposeされた場合は再ロードが発生する。
361 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:54:10 ] >>360 Resources.Image1 == Resources.Image1 がfalse返したり、 using (var g = Graphics.FromImage(Resources.Image1)) { // 適当に描画 } this.BackgroundImage = Resources.Image1 で描画がまるで無視されたりするけど?
362 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 13:59:51 ] >>361 下は意図的にDisposeしてるんじゃないの?
363 名前:361 mailto:sage [2009/08/08(土) 14:00:31 ] ごめんなんでもない
364 名前:363=362≠361 mailto:sage [2009/08/08(土) 14:01:31 ] >>363 は>>362 で>>361 じゃない もう寝る。
365 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 14:01:41 ] >>362 そりゃGraphicsはDisposeしてるがそれは全く関係ないだろ
366 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 15:10:39 ] どうでもいいが、”例え”は余計分らんw
367 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:36:28 ] MSDNを見た感じは>>360 だけど 実際に動かすと>>359 なので 同一インスタンスであるという保証も同一でないという保証もないという前提にして、 フォームのロードと同時にリソースを読み込んでフォームのメンバにキャッシュする。 Disposeはしないという使い方をしている。
368 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 16:44:21 ] >>365 >>367 まーその辺は、1MBくらいの大きめの画像をループで1000回くらい呼び出して メモリの消費量がどうなるか眺めればよさそうですな。
369 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 01:10:05 ] webBrowserコントロールでMouseDownやMouseMoveのイベントハンドラーを実行したいのですが 規定のイベントには定義されていないみたいです。 どうにか実行できないでしょうか?
370 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 03:35:25 ] マイクロソフトのサイトで初心者向け10行で出来るシリーズだったと思うのですが、 デスクトップにカレンダーを表示するアプリの作成ページがあったと思うのですが、 どなたかURLを覚えている人いませんか? 探したけど見つからない。
371 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 03:39:38 ] >>203 インデントをずらせ!化す!!
372 名前:デフォルトの名無しさん [2009/08/09(日) 07:54:35 ] サイトを見ていたら、 ソースの中に [ReadOnly(true)]とか [Category("新規カテゴリ")] という行がありました。 上記の"[ ]" はどういうケースに使うのですか?
373 名前:デフォルトの名無しさん [2009/08/09(日) 07:59:24 ] >>369 homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserMouseDownEvent.htm
374 名前:デフォルトの名無しさん [2009/08/09(日) 08:00:08 ] フルで入れちゃった。 h抜いてると思ってくれ
375 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 09:06:49 ] >>373 VBですか 何書いてるのかサッパリです^^
376 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 09:54:47 ] >>372 それは属性という機能。 ufcpp.net/study/csharp/sp_attribute.html
377 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:02:05 ] アドバイスお願いします。 WPFである条件のときだけチェックボックスを表示したいです。 Formとおなじように、.csに、 if ( ) checkBox.Hide(); else checkBox.Show(); と書いたところ、 'System.Windows.Controls.CheckBox' に 'Hide' の定義が含まれておらず、型 'System.Windows.Controls.CheckBox' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。 といわれました。 CheckBox chetkBox = new CheckBox(); checkBox.Hide(); としてもだめでした。 checkBox.Visibility = Hidden; では、 名前 'Hidden' は現在のコンテキスト内に存在しません。 checkBox.Visibility = "Hidden"; では、 型 'string' を型 'System.Windows.Visibility' に暗黙的に変換できません。 でした。 どうすればいいでしょう?
378 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:09:44 ] checkBox1.Visibility = Visibility.Hidden;
379 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:18:32 ] <CheckBox Name="..." XamlのName属性は何になってる?
380 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:22:24 ] そもそもそのコードでは checkBox というインスタンスが… いや、何でもない。
381 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 17:32:15 ] >>378 ありがとうございます。 できました。
382 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 18:25:08 ] ひょっとして、ずれてるかもしれませんがご容赦ください。 fileSystemWatcherのファイルの生成の捕捉について教えてください。 IE7.0でファイルをダウンロードして、それを契機にアクションしたいと思います。 private void fileSystemWatcher_Created(object sender, FileSystemEventArgs e){//処理} で監視しているのですが、ダウンロードのときだと、うまく監視できません。 別のフォルダから移動してくると、監視に成功します。 IEのダウンロードの場合は、Createdでは監視できないんですか?
383 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 18:38:58 ] 取り敢えず名前を付けて保存時はちゃんと反応するな
384 名前:デフォルトの名無しさん [2009/08/09(日) 19:11:32 ] テキストボックスのハイトやパディングを自由に指定できないのはなぜ? 見栄えのいいフォームができないじゃないか。 C#ってこの程度のもんだったんだ…。
385 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 19:13:47 ] WPF使うか自前で描画しろ
386 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 19:18:51 ] >>384 大丈夫、君ならJavaでもC++でも見栄えの良いフォームを作れないさ
387 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 19:30:16 ] >>383 ありがとうございます。 それでできないのですが、なぜでしょう? もうすこし考えてみます。
388 名前:デフォルトの名無しさん [2009/08/09(日) 19:48:53 ] WPFよりWindowsフォームアプリケーションが勝る点はどこですか? …女子高なので聞いても誰も知りません。
389 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 20:15:01 ] .Net2.0でも動くこと。WPFはXPのsp2以降とか条件が厳しくなるので 使えるユーザーが限定されてしまうことかな。
390 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 20:24:07 ] 殆どのユーザーはXPSP2以降なので問題なし
391 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:01:21 ] 星形のウィンドウズフォームってどうやって作るのでしょうか?
392 名前:デフォルトの名無しさん [2009/08/09(日) 21:03:15 ] >>389 ありがとう。 では、WPFの方がこれから主流になるのかな。
393 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:06:10 ] >>391 ttp://dobon.net/vb/dotnet/form/formregion.html ココ見ればできる
394 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:06:32 ] >>391 Regionプロパティつかう
395 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:08:12 ] >>393 そこは見ましたが多角形のフォームが作れないんですよ
396 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:14:50 ] 見たけど作れないってどういう事よ
397 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:18:26 ] あれを見てわからないなら、素直にあきらめろよ。
398 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:26:18 ] うるせえだまれ
399 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:28:19 ] やだよーん
400 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:32:02 ] >>396 Point[] points ={ new Point(0, 0), new Point(100, 300), new Point(200, 400), new Point(300, 300), new Point(200, 200) }; System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath(); path.AddPolygon(points); this.Region = new Region(path); こんな感じにやってみたけど
401 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:41:00 ] 多角形は作れてるじゃないか
402 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:43:00 ] BorderStyle を none にしてないとか
403 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:43:48 ] ポリゴンの意味を理解しろよ。 Point[] points = {new Point(100, 400), new Point(300, 300), new Point(500, 400), new Point(400, 200), new Point(600, 100), new Point(400, 100), new Point(300, 000), new Point(200, 100), new Point(000, 100), new Point(200, 200)}; こんな感じ。 あと types とフォームのサイズも増やしとけよ。
404 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:46:47 ] ペンタゴンなら…
405 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:48:05 ] いろいろ作ったらさ SS見せてほしいんだけどw
406 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 21:53:01 ] >>403 typesは関係ないのでは?
407 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:05:49 ] >>406 pts 配列内の対応する各点の型を指定する PathPointType 列挙体の要素の配列。 の数と、増やした点の数って一致して無くてもいいの?
408 名前:デフォルトの名無しさん [2009/08/09(日) 22:24:43 ] 営業日報システムをC♯で作りたいけど、 テキストボックスの高さが自由になりません。 皆さんはどう工夫してますか?
409 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:29:50 ] ふつうにやってるけど?
410 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:32:44 ] MultLineをonにしる
411 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:33:30 ] >>408 textBox.Multiline = true;
412 名前:デフォルトの名無しさん [2009/08/09(日) 22:46:54 ] マルチラインをオンにして、さらに縦方向の位置を中央にすることはできますか?
413 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:51:39 ] >>412 何に対する何の位置が中央?
414 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 22:55:24 ] Forms に HorizontalAlignment はあるのに何で VerticalAlignment が無いんだろう・・・
415 名前:デフォルトの名無しさん [2009/08/09(日) 22:58:26 ] >>413 垂直方向に対するテキストの位置。 うまく言えなくてごめん。
416 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:02:30 ] テキストボックスに垂直位置という概念は普通ないだろ 位置固定するならテキストボックス使う意味ないじゃん
417 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:06:47 ] だいたい、VerticalAlignmentが仮にあったとしてだ 常に垂直位置を中央に固定しておくと言うことは行数が増減する度に テキストボックスの垂直方向のサイズを伸縮しなければ 追加した最後の行がコントロール内に収まらないだろ
418 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:19:03 ] それを言うなら、HorizontalAlignment にも言えることではないか?
419 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:20:17 ] 常に水平位置を中央に固定しておくと言うことは桁数が増減する度に テキストボックスの水平方向のサイズを伸縮しなければ 追加した最後の桁がコントロール内に収まらないだろ
420 名前:デフォルトの名無しさん mailto:sage [2009/08/09(日) 23:25:02 ] ちなみに、412の言いたいことが分かるから俺も疑問に感じた。 あれだろ、Officeの縦位置。
421 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 00:38:47 ] >>420 そういう疑問を感じる自分に疑問を感じようよ。 目的が全然違う。 ワードやエクセルの表セルやテキストボックスは、 (最終的に印刷されることを意識した)の文字列のレイアウトを 制御するためにある。 Windows FormのTextBoxは、あくまでユーザーからの文字入力を受け付けるためのもの。
422 名前:デフォルトの名無しさん [2009/08/10(月) 01:49:37 ] >>421 別に、垂直方向に中央があってもいいだろ。 目的とか関係なく。 見映えを考えたらやりにくくて仕方ないんだよ。
423 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 04:18:30 ] 16x16の画像2000枚を描画しなきゃならんのだが、どうにも遅い。 大量の画像の描画を高速にするにはどうしたらいい?
424 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 04:28:16 ] 描画が遅いってどうやって検証した?
425 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 04:58:02 ] >>424 なるほど。 試しにDrawImage無くしても時間変化しなかった。 他の要因だ。thx。
426 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 05:22:26 ] 結局、メモリケチろうとWeakReference使ってたのがダメだったっぽい。
427 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 06:52:25 ] 背景変えたPanelの真ん中に枠線消したTextBoxでも置けばいんじゃね
428 名前:デフォルトの名無しさん [2009/08/10(月) 08:03:15 ] パネルの中にラジオボタンをたくさん配置し、けど、全て選択することも可能にすることはできますか?
429 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 08:17:25 ] なぜチェックボックスではだめなのかね
430 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 08:17:34 ] パネルの中にパネルなどを置いてその中にボタンを入れればおk
431 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 11:15:10 ] だから見た目を重視するならWPF使えと
432 名前:デフォルトの名無しさん [2009/08/10(月) 12:10:37 ] >>429 ラジオボタンで統一させたいんです。 ところで、これからはWPFの時代が来そうですか? 今からVSを学ぶならばWPFでしょうか。
433 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 12:33:51 ] >>430 その方法じゃチェックを外すことは出来ないぞ。 >>432 なんでラジオボタンで統一するんだ? 複数チェックが可能ならチェックボックスにすべきだろ。
434 名前:デフォルトの名無しさん [2009/08/10(月) 12:42:26 ] >>433 パネルの中にパネルを碁盤上に敷き詰めて、 1つ1つにラジオボタンを入れたらできる?
435 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 12:51:04 ] >>432 チェックボックスの□をラジオボタンの○にするような事が簡単にできる。 WPFやるのはWinFormsを使い慣れてからでも遅くはない。その頃にはVS2010出てるだろうしね。
436 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 12:59:34 ] >>428 AutoCheck = falseにすれば普通にできるよ。 まあ、常識があれば出来てもやらないし、やるべきでないと思うけど。 ただし、その場合当然Clickイベント拾ってコードでCheckedを制御する必要がある。
437 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 13:02:33 ] あと、ラジオボタンをコンテナの子コントロールにしない(Zオーダーを上にして、 コンテナの上に配置する)って方法もある。 まあ、これも普通はやらんよね。
438 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 17:59:17 ] >>434 そんなのはImageをセットしたラベルやボタンを使うことをお勧めしたい。 ラジオボタンにこだわる必要が全くない。
439 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 18:32:36 ] 現状WPFは初心者にはお勧めできない。 必要な情報は自分でMSDN読んで調べられるようでないと無理。 それに,C#に加えてGUIデザイン専用の別の言語を覚えないといけない。
440 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 19:00:48 ] >>439 確かになー。 オレも大概初心者レベルだが、オープンソースの色々なプロジェクトのソースコードを眺めてるけど WPFで書かれたフォームは見たことないな。(IronPython Studioのプロジェクトを除く) WPFはSliverlightで必須だったりExpressionでデザインできたりって話は聞くけど……ううむ。
441 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 19:22:56 ] 単純にうちのボロPCじゃ重いってのでやる気がな…
442 名前:デフォルトの名無しさん [2009/08/10(月) 19:42:03 ] WPFの本を勃ち読みしたが、 どの本の例文にもhttp……microsoft…みたいなwebアドレスが冒頭に記載されていた。 しかし、どの本もその説明がなかった。 あのアドレスは一体何? 解説書が解説の役目を全く果たしていない。
443 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 19:46:49 ] それは質問なのかただの愚痴なのか?
444 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 19:49:24 ] XAMLの名前空間かなんかかしら
445 名前:デフォルトの名無しさん [2009/08/10(月) 19:58:40 ] >>443 質問です。 あのアドレスは何を意味しているのですか?
446 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:01:55 ] >>445 msdn.microsoft.com/ja-jp/library/ms747086 (VS.80).aspx
447 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:26:55 ] ttp://www.atmarkit.co.jp/fdotnet/dotnettips/428screencapture/screencapture.html private void button1_Click(object sender, EventArgs e) { Rectangle rc = this.Bounds; Bitmap bmp = new Bitmap( rc.Width, rc.Height, PixelFormat.Format32bppArgb); using (Graphics g = Graphics.FromImage(bmp)) { g.CopyFromScreen(rc.X, rc.Y, 0, 0, rc.Size, CopyPixelOperation.SourceCopy); } } このような形で取得した画像をEXCELに貼り付け保存したいのですが、どのようなコードを書けばいいのでしょうか? 上記のサイトを参考に、スクリーンショットは取得でいるようになったのですが、EXCELとの連携がうまくいきません。
448 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 20:41:30 ] ttp://hanatyan.sakura.ne.jp/vbhlp/Excel12.htm VB6の記事だがまあ参考になるんじゃない
449 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 22:15:53 ] this.BackColor = Color.Red; this.TransparencyKey = Color.Red; label1.BackColor = Color.Transparent; と設定して、 label1.Imageに黒から透明のグラデーションのPING画像を設定すると、 透明の部分が赤色になります。 どうにかしてlabel1を黒から透明のグラデーションで表示できないでしょうか?
450 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 22:33:47 ] >>449 君は自分自身でも何がやりたいのかよく分かってないのと違う? 何がいいたのかよくわからんけど。
451 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 22:39:39 ] で、その透明部分が何色になっていればいいんだ?
452 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 22:46:18 ] >>451 フォームも透明にしてるんだし透明ですよ
453 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:09:23 ] >>452 意味の分からんこと言ってないでググれ。 blogs.wankuma.com/youryella/archive/2007/10/15/102151.aspx
454 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:15:03 ] >>452 抜き色を赤に設定してるんだから、赤っぽい色は透過されないに決まってるだろ。
455 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:20:51 ] >>454 だからそれが出来ないのかなと聞いたんですけど?
456 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:23:31 ] >>449 真面目な話、そもそも君が何がをやりたいのかサッパリ伝わってないと思うから、 そこをきちんと分かるように説明しないと、出る答えも出ないと思うけど。
457 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:26:16 ] >>456 >どうにかしてlabel1を黒から透明のグラデーションで表示できないでしょうか? >どうにかしてlabel1を黒から透明のグラデーションで表示できないでしょうか? >どうにかしてlabel1を黒から透明のグラデーションで表示できないでしょうか?
458 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:28:47 ] だから453 TransparencyKeyはARGB完全一致してる色のみの透過
459 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:35:24 ] >>457 だから黒から透明のグラデーションってどういう意味だ、って聞いてるんだがな・・・ っていうか、こっちは親切心で聞いてるのにそういう態度取るのかよ。 人間のクズだなお前さんは。
460 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:40:26 ] >>457 >453 で書かれてるやりかたはお前のやり方と全然違うだろ。 ソースコード見てから話をしろ。
461 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:48:50 ] >>459 こんなん ttp://uproda.2ch-library.com/158662c61/lib158662.jpg
462 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 23:59:42 ] すいません上げなおしました ttp://uproda.2ch-library.com/158665Eu5/lib158665.jpg
463 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:10:23 ] コントロールのImageプロパティは透過色をサポートしてないんじゃ?
464 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:26:31 ] >>442 XMLもわからないのにWPFに手を出すのが間違ってる WPFはこれまでのノウハウが通用しないし 深く理解しようとするとDirect3Dの知識が必要になったりして結構難しいんだよな
465 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:28:55 ] 教えて君もそうだが、教える方も偉そうだよな オマエら本当に分かってレスしてるのか?w
466 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:30:19 ] 俺はわかってる事しかレスしない 偉いだろ?
467 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:31:13 ] >>462 ウィンドウの透明度を部分的に変える、なんてベタな方法では無理だろうね。 ググってたらこういうのがあった。 Win32APIのUpdateLayeredWindowを使うらしい。 あまりお手軽ではなさそうだ。 yellow.ribbon.to/~azumaya/doc_dotnet_uplayeredwnd.php
468 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 00:48:28 ] >>465 お前が親切丁寧に教えてやれよ。気が付いたら代わりに実装してたなんて事になっても知らんけど
469 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 06:12:44 ] >>442 www.google.co.jp/search?q=XML+%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93+URI
470 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 07:57:34 ] 一つだけ教えてやろう そ
471 名前:デフォルトの名無しさん [2009/08/11(火) 08:03:36 ] Windowsフォームアプリケーションを作成しています。 960×680のフォームに、 パネルを3列敷き詰めて、各パネルに社員情報、商品情報、売上情報を表示させたいと思っていますが、 情報量が多く1フォームに入りきりません。 なので、各パネルを、編集時のみ大きく表示し、その間、他の非表示パネルを縮小させることにより、常に全項目を一覧把握できるようにしたいと思っています。 これは可能でしょうか? 教えてください。
472 名前:デフォルトの名無しさん [2009/08/11(火) 08:04:50 ] >>471 ですが、 「非表示パネル」ではなく 「非編集パネル」のまちがいです。すみません。
473 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 08:05:43 ] 出来ないことはないと思うよ。 でもいろいろコードごりごり書かないとだめかな。
474 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 09:26:11 ] WinFormsには向かないUIなのは間違いない
475 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 10:17:47 ] >>471 一旦表示状態をBITMAPにキャプチャして、 フォーム本体は非表示にしてから 縮小したBITMAPを表示することで切り替えたらいいんじゃね? でも一般的なUIの動きじゃないから、 自然に見えるようになるまでにかなり試行錯誤しないといけないだろうけどね。 うまくできたらこのスレで紹介してくれ。
476 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:02:40 ] javaScropt でアコーディオンのようにクリックすると 項目がにゅーっと広がるようなのは難しいけど ボタンを押したときにフォームの表示変えることぐらいは可能かと。 それぞれの項目のコントロール作って それを表示・非表示(コントロールの追加・削除)でできそうだけど。
477 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:25:27 ] 表示非表示じゃなくて縮小拡大よ? WPFなら簡単だけどねー
478 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:58:12 ] PDFとかPowerPointのビューワ・エディタなんかでよくあるのとは違うかな
479 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 11:59:24 ] 入力用のコントロール(TextBoxとかComboBoxとか)がなく、表示オンリーで、 かつ画像なしならGDI+で書いてやっても十分行けると思うけどね。 この条件を一つでも満たさないなら無謀に思える。 そんなことするより、今時LCDなんて馬鹿みたいに安いんだから 素直に画面増やした方が結局低コストで使いやすいソフトになるんじゃないのかな。 それが許されない事情があるとしても、もっと他の工夫を考えたほうがよさそうに思える。
480 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:25:42 ] 教えてください リストボックスに表示されている最上段のインデクスを取得したいです。 たとえばインデックスが10として10の取得方法です。
481 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:34:33 ] 例えが例えになってねーよw TopIndexプロパティ辺りじゃね
482 名前:10 mailto:sage [2009/08/11(火) 12:36:18 ] 言葉足らずでした リストボックスに表示されている最上段のインデクスを取得したいです。 (選択されていません) たとえばインデックスが10として10の取得方法です。
483 名前:480 mailto:sage [2009/08/11(火) 12:39:34 ] >>481 時間差で済みません ちょっと調べてみます
484 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:48:01 ] int i = listBox1.Items.Count; て事じゃなくて?
485 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:51:14 ] Item[10] じゃないの?
486 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 12:53:09 ] 最上段じゃなくて、表示されてるアイテムの個数を知りたいなら listbox.Items.Count デフォルトだと最上段のindexは0になってると思う 逆に最下段だったらlistbox.Items.Count-1 表示枠に全アイテムが収まってなくて、表示されてるなかでの最上段〜 とかだったらちょとめんどくさそう。
487 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 13:08:01 ] あぁ、やっと意味がわかった…。 オーナー描画使えばインデックスはわかるから なんとかなりそうだけど…。 フォームに変数用意して。
488 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 13:19:44 ] TopIndexでいいのでは
489 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 13:36:01 ] あぁ、うん、そうね。 解説 初期状態では、インデックス位置 0 の項目が ListBox の表示領域の先頭に示されます。 ListBox の内容がスクロールされると、別の項目がコントロールの表示領域の先頭に示されることになります。 このプロパティを使用して、ListBox の ListBox..::.ObjectCollection 内にある、 現在コントロールの表示領域の先頭に示されている項目のインデックスを取得できます。 このプロパティを使用すると、コントロールの表示領域の先頭に当たるリスト部分に項目を配置することもできます。
490 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 15:15:17 ] >487
491 名前:デフォルトの名無しさん [2009/08/11(火) 20:41:25 ] >>475 ある部分に配置されたパネルなどのコントロールのキャプチャを取得し、 別のパネルに表示させることはできますか?
492 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 21:41:03 ] >>491 質問する前にググってるよね? 確認するよ。 質問する前に検索して調べたよね? すぐ出てきたよ! www.atmarkit.co.jp/fdotnet/dotnettips/428screencapture/screencapture.html
493 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 21:49:44 ] >>492 491もアレだけど、それは491の要求してるものと違うでしょ。 例えばキャプチャされる側のコントロールの上に他のウィンドウがオーバーラップ してたらどうなる?
494 名前:デフォルトの名無しさん [2009/08/11(火) 22:10:07 ] Pingクラスについて質問です。 msdn.microsoft.com/ja-jp/library/system.net.networkinformation.ping (VS.80).aspx >Ping クラスの同じインスタンスを使用して、複数の ICMP エコー要求を同時に生成することはできません。 >SendAsync の呼び出し中に Send を呼び出したり、SendAsync を前回の呼び出しがすべて完了する前に >複数回呼び出したりすると、 InvalidOperationException が発生します。 とありますが、同時に複数実行する必要があります。 この場合、どうすればいいでしょうか?
495 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:15:30 ] 違うインスタンス使えばいいんじゃねーの?
496 名前:デフォルトの名無しさん mailto:sage [2009/08/11(火) 22:25:06 ] 別のインスタンスを使えばいいんじゃね?
497 名前:デフォルトの名無しさん [2009/08/11(火) 22:53:51 ] >>492 ヤフッていました。 ググってはいませんでした。 めんぼくないです。
498 名前:デフォルトの名無しさん [2009/08/11(火) 22:55:15 ] >>492 あるフォームだけをキャプチャできるのかな。 15インチでも17インチでも。
499 名前:デフォルトの名無しさん [2009/08/11(火) 22:56:09 ] >>492 パネルだけをキャプチャできるの…? 座標を指定すればいいのか (-_-;)。
500 名前:デフォルトの名無しさん mailto:sage [2009/08/12(水) 23:55:39 ] >>497 ビングれ
501 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 03:29:45 ] WPFで画像ビューア作ってるんだけど、Imageに入れた画像を拡縮するのって RenderTransformを使う以外にいい方法ありますか?
502 名前:デフォルトの名無しさん mailto:sage [2009/08/13(木) 03:33:59 ] ImageのWidth/Height設定するだけでも変わっちゃったりするが
503 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 00:14:22 ] DataTableの列は型指定していますので、代入時は型があっていなければ いけないのに、取り出すときはobject型で返すためいちいちキャストして やらないといけません。 何でこんな仕様になっているのでしょうか? 指定した型どおりに返してくれれば楽なんですが。
504 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 00:24:31 ] typedDataTable[rowIndex].名前 とか普通に型指定で取得できるけど
505 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 00:37:00 ] >>504 そんな方法があったのですね・・・。 ありがとうございました。
506 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 01:09:10 ] >>502 ああ、確かに。簡単に変えられますね。 画像の拡大縮小、移動を出来るようにしました。ズームする際にクライアント領域(Canvas領域)の真ん中を 中心点に置くようにして、実際に等倍の状態ではうまく動くようになったのですが、 縮小したあと適当に移動して、ズームすると想定外の動きをします。 MainImage.cs中の cp = new Point(cnvs.ActualWidth / 2, cnvs.ActualHeight / 2); ip = cnvs.TranslatePoint(cp, this.Image); で、Point型ipにおかしな値が入るのでこれが臭いのですが、いまいち原因がつかめません。 ↓文章ではうまく説明できないのでソース見てください・・・ ttp://www.42ch.net/UploaderSmall/source/1250178864.zip
507 名前:C ◆qfIRlkSVxbFr [2009/08/14(金) 08:35:53 ] 質問お願いします vista + C# express edition + excel2007です 参照設定で参照の追加でcom タブでmicrosoft excel5.0をみると microsoft excel5.0 ?????????? と出てるんですけど・・・ これって一体・・・・2007以前のexcel入れれば治るのでしょうか? XP + C# express edition + Excel2003 の環境では、オブジェクトライブラリ(半角カナ)と読めるのですが これってVistaのバグですか?
508 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:02:41 ] Graphics.MeasureString で文字列を表示するのに必要な幅を取得できますが、 逆にコントロールの幅から表示できる文字数を取得する方法ありますか? 1文字づつ増やしながら、幅がコントロールの幅を超えるまでループする方法 だと遅くて使い物になりませんでした。
509 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:14:06 ] MeasureString(String, Font, SizeF, StringFormat, out Int32, out Int32) つかえばいいよ
510 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:14:54 ] >>508 等幅フォントなら自分で計算できる。 等幅フォントじゃないなら、文字数なんて表示する文字依存だから計算不能。
511 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:32:31 ] C#の文法解説本読み始めて3日目です。 VC#向けの代表的な関数ライブラリ?の 系統図(クラスツリー?)見ないなのが解説してあるサイトありませんか?
512 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 11:45:44 ] byteを簡単に暗号と復号しようと思ったのですが復号できません。 どうして復号できないのかきっと間抜けな漏れに教えてください。 public byte[] ByteXor(byte[] dat, byte[] account, byte[] password) { int len_data = dat.Length; int len_account = account.Length; int len_password = password.Length; for (int i = 0; len_data > i; i++) { int ap = i % len_account; int pp = account[ap] % len_password; dat[i] = (byte)(dat[i] ^ password[pp]); } return dat; }
513 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 12:02:12 ] >>508 どうしてそんな値を取得する必要があるんだろう。 必要だと思い込んでるだけじゃないのかな? 普通はいらないと思うけど。
514 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 13:02:46 ] >>512 試しけど問題なく復号できたぜ string dat = "これをみられたらわれわれはおしまいだ"; string account = "名無しさん"; string password = "秘密"; byte[] crypt = ByteXor( Encoding.Unicode.GetBytes(dat), Encoding.Unicode.GetBytes(account), Encoding.Unicode.GetBytes(password) ); string decrypt = Encoding.Unicode.GetString(ByteXor( crypt, Encoding.Unicode.GetBytes(account), Encoding.Unicode.GetBytes(password) )); MessageBox.Show(decrypt, "hoge");
515 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 13:07:35 ] >>512 俺も問題なく複合化出来た。 あと、関数内で引数のdatを書き換えてreturnしてるけど意味あるの?
516 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 13:10:26 ] StringBuilder.Appendが自分自身を返すようなモンじゃね
517 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 13:15:42 ] >>514-515 関数を書き換えて色々と試していた関係で復号の時のアカウントとパスワードを 反対にしていたのを忘れていました。関数内に問題ないならその前だと思って 見直したら・・・本当に間抜けでした。 すいません。 引数のdatを書き換えているのは関数書き換え前の名残ですがdatの長さが 変わらないとはいうもののやはり新規にbyteを作った方が気持ち良いですよね?。 そうします。
518 名前:508 mailto:sage [2009/08/14(金) 13:22:09 ] >>509 即答ありがとう。 詳しいね。感謝。
519 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 15:25:08 ] グローバルな変数として宣言されているDataSet dsがあって、とあるプリベートな関数 内でdsを使いまわしたい場合、 --- ds = new DataSet(); /* ds に値を詰め込んだり計算したりする処理 */ ds.Dispose(); ds = null; ds = new DataSet() /* ds に別の値を詰め込んだり計算したり */ --- と言う感じで Dispose & null で良いんでしょうか? それとも上記の方法だとメモリー上にゴミが残ったりしますか?
520 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 15:52:33 ] >>519 次の値をすぐに代入してるならnullをセットする意味はない。 ただDataSetはなぜかIDisposableなんだよね。なにやってるんだろ。
521 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 23:03:01 ] Mainメソッドや、それを含むクラスは必ずpublicにすべきなんでしょうか? publicを付けてる人と付けていない人が混在していて混乱しています
522 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 23:10:32 ] >>521 C#はしなくていい。しないほうが推奨。
523 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 23:16:44 ] それをエントリーポイントとして以外に参照することはまずないと 思うので隠すのが個人的にはいいと思うが、好みな気もする。 とりあえずエントリーポイントを公開しなければならないという 制限は .NET にはない。まぁ逆にある言語があるからその感じで public にする人もいるって話だな。
524 名前:デフォルトの名無しさん mailto:sage [2009/08/14(金) 23:36:38 ] DataGridViewのDataSourceにDataTableをセットしています。 DataGridViewになにも設定しないと、DataTableのcolumn名が ColumnHeaderとして表示されます。 これと同様のことをRowHeaderにも行いたいのですが、例えば 最初の列をRowHeaderとするというような指定はできるのでしょうか?
525 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 01:01:53 ] RowHeaderに何表示したいわけ?
526 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 01:23:49 ] >>525 DataTableのある列です。
527 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 10:26:26 ] >>522-523 ありがとうございました。 publicにはしないことにします。
528 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 10:37:07 ] 手癖でMainにpublicつけてたw 俺もつけるのやめよう
529 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 10:46:11 ] Form.DesignerにDispose関数が書かれているけど、なぜFormの基底クラスに無いの?
530 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 11:03:37 ] 基底クラスにもあるけど?
531 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 12:53:54 ] >>528 svm[Tab][Tab]
532 名前:デフォルトの名無しさん [2009/08/15(土) 15:57:44 ] MSDN Library for Visual Studio 2008 Main はクラス内または構造体内で宣言します。Main は static にする必要があり、 public にすることはできません。 外側のクラスまたは構造体を static にする必要はありません。 MSDN Library for Visual Studio 2005 Main メソッドは、クラスまたは構造体の内部で宣言されます。これは静的である必要があります。 パブリックにはしないでください。
533 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 16:20:07 ] >>531 ,532 dd VSも便利そうだから横着しないで使ってみるよ どうやらJavaのmainがpublic static void mainなので それを引きずってしまっていたらしい
534 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 17:43:56 ] List<string, string, string>のような型ないんですか?
535 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 17:48:51 ] それはいったいどういう動作するの?
536 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 18:38:12 ] 自己解決しました
537 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 18:45:36 ] それはいったいどういう動作するの?
538 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 19:03:32 ] 本当は何をやりたくてどうやって対応したのか 結構気になる。 それとも全ての要素ごとに型指定できるものと勘違いしてただけなのか
539 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 19:29:47 ] class String3Entry { public string s1; public string s2; public string s3; } List<String3Entry> みたいなのでしょ察するに
540 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 21:02:21 ] 継承先クラスで親クラスのメンバのアクセス修飾を変更することって出来ますか? たとえば、 // 親クラス public virtual void test( Object^ value ); とかなっているのを、子クラスでは同名のメンバ関数で String だけを扱うように変更したいとして、 // 子クラス public void test( String^ value ); としたとしても、パラメータが String 以外の時は親クラスの関数を呼んでしまう。それを防ごうと、 private override void test( Object^ value ); とかするとコンパイルエラーになるし、override を new にすると、親クラスの関数が呼ばれてしまう。 アクセス修飾を変更しないで上書きして機能を無効化&インテリセンスで表示しないようにするだけでも 良いのだけど、指定以外の型で呼んだときにエラーと出来ないだろうかと考えています。 よい方法はありませんか? ※親クラスの設計や継承関係を見直すべきとの考えもあるかと思いますが、制限上それはできません。 あと、インテリセンスを無効化したつもりでもなぜか表示されるし‥‥。
541 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 21:24:40 ] overrideした上でObsolete属性付けるぐらいかな(属性の意味合いが本来と違っちゃうけど) まあ継承でやることじゃなかったね
542 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 21:30:54 ] 親クラスに暗黙キャストできるんだから無理な話だぜとかしようと 思ったけどそれ以前にお前、思うにスレ違いじゃね?
543 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 21:34:17 ] >>540 どうしてもbase.test(Object)にアクセスできないようにしなければならないのであれば、 ポリモーフィズム的にかなり間違っている > 子クラスでは同名のメンバ関数で String だけを扱うように変更したい どうせ間違っているのだから、そういうことは出来ませんと答えてしまえばいい 派生クラスでメソッドがサポートされていないことを知らせる場合は、NotSupportedException インテリセンスに表示されなくするのは、EditorBrowsable >>542 言語が混ざってるからスレチかどうか判別しようが無いぜw
544 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 21:41:29 ] >>540 自分で触れないコードのアクセス修飾を変えようなんて、 目指す方向が間違っているとしか言いようがないね。 ProxyパターンとかAdapterパターン的な工夫を考えるべきなんじゃないのかな。 「親クラス」のメソッドを呼び出す側のコードを書いているわけだよね? じゃあ、その「親クラス」の型を指定している部分を、別のインターフェイスに 摩り替えてやればいいじゃないか。
545 名前:デフォルトの名無しさん [2009/08/15(土) 21:47:01 ] メソッドが呼ばれても何もしなかったらいいだけなんじゃないの?
546 名前:デフォルトの名無しさん [2009/08/15(土) 21:47:57 ] あぁ、オーバーライドのメソッド作るとコンパイルできないってか
547 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 22:04:08 ] byte配列をint配列や、IntPtrに変換するにはどうすればいいですか? 出来ればメモリコピーなしで
548 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 22:32:49 ] int[]はコピーなしは無理 int*ならfixedしてキャスト IntPtrはGCHandleとかfixedしてキャストとか で、何がしたいの?
549 名前:547 mailto:sage [2009/08/15(土) 23:00:16 ] 32bitカラーの画像を扱うのにbyteではなくてintで4バイト一気に処理できるようにしたかったからです。 32bitでない画像も扱うかもしれないので基本byte配列で確保しておいて 必要なときだけintに変換できたらって思ったんです。int*だとunsafeを使う必要がありますが仕方ないか。 IntPtrへの変換はアンマネージ扱うときにもしかしたら必要になるかもしれないので。 回答ありがとうございました
550 名前:540 mailto:sage [2009/08/15(土) 23:10:51 ] thx > ALL 本来、汎用的に書かれたクラスがあって、それを特定用途向けにデチューン?させたかったのです。 言葉が不足していました。ごめんなさい。 やっぱり、オブジェクト指向の思想からは外れてますよね。 で、無理にデチューンして使用するので、「間違った」使い方をしたときの動作を保証できないので なんとかそう言う使い方をしたときにそれとわかりやすくさせる方法がないかな‥‥と。 例外を発生させるって発想がなぜかありませんでした。 NotSupportedException を使う方法を試してみたいと思います。 EditorBrowsable って [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never) ] てヤツですよね。 なんでか表示されます。調べてみたら、同じアセンブリ上では表示されてしまう「仕様」?らしいですね。。。 >思ったけどそれ以前にお前、思うにスレ違いじゃね? 最近両方やるので混じってるんです。w 紛らわしくてごめんなさい。
551 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 23:31:41 ] 文字列中の特定の文字だけを全角に変換したいときはどうするのが簡単でしょうか? perl の tr/ABC/ABC/ みたいなことがしたいんですが。
552 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 23:39:44 ] MatchEvaluator使った正規表現置換かねぇ
553 名前:デフォルトの名無しさん mailto:sage [2009/08/15(土) 23:40:49 ] C#からCOLLADA DOMを使うことって出来ますか
554 名前:553 mailto:sage [2009/08/16(日) 00:07:45 ] DLLをC++/CLIで使うのではなくて、C#に用意されている機能だけで使えたらいいんですが そもそもDOMがどういう技術なのかよく分かりません。
555 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 00:21:28 ] >>553 ある。 C#でまともなプログラムを作りたければ、 Codeplexでいいものが無いか探す癖をつけておけ。
556 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 00:35:24 ] >>551 Dictionary<char,char>で1文字ずつ写像
557 名前:デフォルトの名無しさん [2009/08/16(日) 02:40:55 ] VsualC# 2008 Express EditionでSQLデータベースを プロジェクトに追加するにはどうすればいいですか? Webアプリど素人です。
558 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 02:52:46 ] >>557 まず何らかのRDBサーバーをDSN経由で扱えるように設定する。(インストールする) 何もないところから構築するならSystem.Data.SQLiteも悪い選択肢ではない。 興味がないのでまじめに調べてないが、 最近はMicrosoft SQL Serverもフリーのエディションがあると聞いたことがある。 後は普通にプロジェクトを作って参照するDBを設定するだけ。
559 名前:557 [2009/08/16(日) 03:19:21 ] ありがとうございます。 >後は普通にプロジェクトを作って参照するDBを設定するだけ。 ここを詳しく教えていただけませんか?
560 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 04:47:37 ] express はサーバーエクスプローラーってないんだっけ…。 ポトペタで使うんならこう、左側のツールボックスとかの上に あるんだけど。ここで接続追加して Form とかにペタッて感じで。 他には…とりあえずプロジェクトのアイテムの追加に「データ」って カテゴリないかな? DB の種類はとりあえず VS 上に関していえば SQL Server 2005( 2008)Express が一番簡単ですんなりいくかな。一緒に入れたりする ぐらいのものだし。
561 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:04:41 ] System.Data.SQLiteはVSExpressからじゃなんか使えない
562 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 11:26:30 ] え?
563 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 13:51:31 ] ああ、 VS 上では使えないかもね express は拡張使えないから
564 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:23:49 ] VC#2008を使っているのですが デバッグあり、なしで実行結果が異なるのはなぜですか? 下にソース載せておきます。 class Program { static void Main(string[] args) { for (int i = 0; i < 10; i++) { Test.Func(); } } } class Test { public static Func() { var randobj=new Random(); Console.Writeline(randobj.Next(100)); }}
565 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:25:02 ] 何がどう変わるのかぐらい説明
566 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:25:09 ] 次の人どうぞ
567 名前:564 mailto:sage [2009/08/16(日) 16:26:53 ] <<565 デバッグなしだと全て同じ値が出力されて デバッグありだとランダムに違う値が出力されます
568 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:33:47 ] 初期値なしでRandomインスタンスを作ると現在時刻をシードにする。 デバッグ実行は処理が遅いから次のインスタンスを作るときには 現在時刻が変わっているだけじゃないのか。
569 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:33:50 ] >>567 デバッグで止めながらやったんだろ new Random() でシード指定しない場合、時刻からとられるから 秒が変わらないうちにnewしたら同じ値になるわ
570 名前:564 mailto:sage [2009/08/16(日) 16:38:56 ] >>569 納得しました。 Func()の外でnewしたらできました。 ありがとうございました。
571 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 16:42:56 ] >>564 乱数の種が毎回同じだから。 RandomインスタンスはTestクラスのメンバにでもして、 Environment.TickCountをそれのコンストラクタに指定すればいいんじゃないか。
572 名前:デフォルトの名無しさん [2009/08/16(日) 23:53:01 ] C#で、Color.RedやBrushes.Blueは定数ですよね? 開発者はなぜ「Color.RED」や「Brushes.BLUE」みたいな感じに大文字にしなかったのでしょうか?
573 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 23:55:18 ] 定数じゃなくて構造体
574 名前:デフォルトの名無しさん mailto:sage [2009/08/16(日) 23:57:05 ] そんな命名規則はC/C++の遺物だから
575 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:21:41 ] >>572 君が定数を全て大文字にしているのなら、今すぐやめましょう。 string.Emptyやint.MaxValueを見なさい。
576 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 00:26:22 ] 劣化ジャスコ言うな
577 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 07:18:40 ] C#というよりVisualStudioの質問になってしまいます。 ASP.NETのデバッグ時、処理時間に影響する設定などありますか? pen4の端末だとASP.NET2.0のデバッグが異常に遅いです ページごとに5〜15秒はかかる感じ。 1.1は問題ありません。 メモリは2Gありますので、比較端末との違いはCPUになってしまうのですが、 そんなにcore2duoとpen4でそんなに差が出るのは普通でしょうか。
578 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 07:23:04 ] うん。
579 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:15:08 ] >>575 でもMath.PIは全て大文字ですよね?
580 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:19:17 ] >>579 ttp://msdn.microsoft.com/ja-jp/library/cc433241(VS.71).aspx
581 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 10:22:59 ] ごめんバージョン確認してなかった。.net1.1ってなんだよ ↓最新のやつ ttp://msdn.microsoft.com/ja-jp/library/ms229043.aspx 1.1使ったことないから何か違いあるのかは確認してないけど 念のため訂正。
582 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 11:40:16 ] とあるWebアプリのサンプルソースを実行して勉強しようと思っているのですが、 Microsoft.Passport.RPS が無いためにビルドできません。 ドットネットパスポート辺りの認証に使うDLLだと思うのですが、 どこかでダウンロード出来るんでしょうか? 何を参照に追加したら良いのでしょうか?
583 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:32:30 ] 引数としてDataSetを受け取るメッソド foo( ref DataSet ds ) があって、ここに 型付DataSetを渡したいのですが --- hogeDataSet hogeDs = new hogeDataSet(); foo(ref hogeDs) // ←× foo(ref (DataSet)hogeDs) //←× --- となってしまいます。foo() はDataSetの構造に依存させたくないので foo( ref hogeDataSet ds ) とは書きたくありません。 この場合どうやってhogeDsをfoo()に渡してやればいいんでしょうか?
584 名前:582 mailto:sage [2009/08/17(月) 13:39:02 ] 最初の hogeDataSet hogeDs = new hogeDataSet(); のところを DataSet hogeDs = new hogeDataSet(); になるように何とかならないのでしょうか?
585 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:51:58 ] DataSetはClass(参照型)なので、"ref"は必要ないよ。 // foo関数定義 foo(DataSet ds) { hogeDataSet hogeDs = (hogeDataSet)ds; //hogeDataSetとして扱いたい場合はこのようにキャストして取得する } foo関数の呼び出し、 foo((DataSet)hogeDs); でいけると思われ
586 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:54:35 ] ごめん訂正。戻り値定義書くの忘れてた。 // foo関数定義 void foo(DataSet ds) { hogeDataSet hogeDs = (hogeDataSet)ds; //hogeDataSetとして扱いたい場合はこのようにキャストして取得する }
587 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 13:56:03 ] >>585 > foo関数の呼び出し、 > foo((DataSet)hogeDs); キャストいらんだろー
588 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 14:07:04 ] >>587 あ、いらんかったな。ごめん。
589 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 14:09:37 ] FFolderというソフトように、エクスプローラ上で空白部分をダブルクリックしたら BackSpaceを送る(上位へ)という事をしたいのですが、C#で実現しようと した場合、どのようにアプローチすれば良いのでしょうか。 グローバルフックとはまた違うような気がしていますが…。
590 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 14:45:40 ] >>583 参照型とrefの関係が分かってないのか、分かってて聞いてるのか不明だが、 分かってて聞いてるならこうするのが一番自然。 DataSet foo( DataSet ds ) 戻り側は関数の戻値で返す。
591 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 14:54:57 ] すいません、ref・outは参照渡しの場合は機械的に必須だと思ってました。 逆に言えば、refやoutを付けなければ値渡しだと思ってたので、今まで作ってきたPGに潜在的 バグがあるかも('A`
592 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 14:56:25 ] > ref・outは参照渡し > refやoutを付けなければ値渡し 合ってるよ ただしそれとは別に参照型・値型という区分けがあるってだけ
593 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 20:52:32 ] >>589 BHO とかの、Explorer 拡張かなぁ。
594 名前:デフォルトの名無しさん mailto:sage [2009/08/17(月) 22:57:48 ] >>586 こんな感じでキャストできるっけ…? InvalidCastExceptionにならないか?
595 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:35:12 ] >>594 ならない
596 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 01:47:45 ] ref out の分かりにくいところは、参照型を渡すと、参照の参照が引数になっている事。 で、参照の参照ってなんだよって言われるとCでもやらないと正体不明なんだよな。 参照に書き込める特殊型として理解しておけば十分ですけど。
597 名前:デフォルトの名無しさん [2009/08/18(火) 01:55:24 ] >>596 ref outの件に限らず、参照を扱う上でその辺が理解できてないとあとあと困ることになるだろうな。 そういうのを学習するためには、Cで勉強するのが有効かな。
598 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 06:13:41 ] 後々問題が起きなければ 参照の参照でも何でもいいさ
599 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 07:08:55 ] code.msdn.microsoft.com/WindowsAPICodePack Windows API Code Pack for Microsoft .NET FrameworkってVista上のC# 2008でも使えますか?>< それともVistaでも動く物を作れるというだけで開発はWindows 7上じゃないと駄目ですか?>< This library targets the Windows 7 RTM version (now available to MSDN subscribers), though many of the features will work on the older versions of Windows operating system. の意味が良くわかんないです><
600 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 07:24:21 ] 意訳 このライブラリは Windows 7 の製品版(今 MSDN Subscription にあるよ)を対象としてまーす。 古いバージョンの Windows では、いろいろな機能が動かないと思うよー
601 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 07:26:34 ] 逆だ。 このライブラリは Windows 7 の製品版(今 MSDN Subscription にあるよ)を対象としてまーす。 だけど、古いバージョンの Windows でも、いろいろな機能がたぶん動くよー だろ。
602 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 08:18:20 ] 確かに思わずwon't workと読み下しそうになるな
603 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 09:03:44 ] >>599-601 厳密に言えば、though以下はその前の文(主節)を修飾する従属節だ。 そして、カンマが付いているので後からの説明としての意味になる。 あと、「色々な機能」なら「the many features」となってるはずなので違う。 一方で、「the older versions of Windows operationg system」は 「Windows OSの古いバージョン」と訳すと 日本語として不自然なのでこれは例外的に前から訳すことにする。 このライブラリは、Windows 7 の製品版(略)を対象としています。 古いバージョンの Windows OS でも機能の多くは動くでしょうけども。 というのが正しい解釈。
604 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 11:06:53 ] >>600-601 ,603 >>599 ではないが、ありがたい。 そういう意味なのね。 まあ、いまんところWinows7マシンにしかライブラリインストールしてないけどね。
605 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 11:24:24 ] >Windows API Code Pack ううーむ。DirectXのmanaged対応はMSは捨てたのかと思ってたら、Vistaで復活させたのか(今頃すぎるが) XP対応を捨ててもいい時代が来たら、今使ってるライブラリ捨ててこっちに乗り換えてもいいなぁ。
606 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 12:26:19 ] >>605 いや、Windows7での復活だよ。
607 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 12:30:14 ] >>600-603 ありがとう>< よくわかんないけどVista+C# 2008の環境にWindows SDK 7.0のx86だけインストールしてから使ってみたら とりあえずタスクダイアログのサンプルは動きました><
608 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 12:48:59 ] >>606 今試してみたけど、Vista上でこのライブラリのDirectX10のサポートが普通に動いたよ。 コードが美しいなぁ。これははやるかも。
609 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 13:27:39 ] >>608 VistaにはDX11も載るからそっちもそのうち使えるようになるね。 APICodePackはこないだ1.0になったばかり、 去年から少しずつバージョンアップしてだんだん充実いってた。
610 名前:デフォルトの名無しさん [2009/08/18(火) 14:42:25 ] マジレスなんですが・・・ win98seまだ使ってまして c#って出来ますか? 開発環境とか対応してるのあったら 教えてください
611 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 14:44:24 ] ググったらこんなのが。 まだ半分も見てないうちに貼ってみる ttp://dobon.net/vb/dotnet/links/win98.html
612 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 14:45:19 ] もうセキュリティアップデートもやってないんじゃなかったか?
613 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 16:08:52 ] >>610 VirtualPC環境のWin98SEで入れてみてるが、.NET1.1と.NET2.0は導入可能。 ただOSやメモリの制限その他で実用じゃない。 Hello World程度のプログラムを試す程度ならと考えるべき。
614 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 17:00:00 ] どたなか教えて下さい。 DataSetの中に2のDataTable、dt1とdt2があって、それぞれ dt1 { ID, NAME } dt2 { ID, CD, BIRTHDY } という項目を持っています。dt1とdt2はIDで紐付きますが、リレーションは作成していません。 この状態で、dt1に存在しないIDを持つDataRowをdt2から削除したいのですが、地道にクルクル 回してチェック&削除を行うしかないでしょうか? それとも、もっと簡単にdt2からレコードを削除(あるいは削除できなくても、RowFilterやDataView の設定で存在しないかのように振舞うでも構いません)する方法がありますでしょうか?
615 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 17:24:20 ] そのDataSetがRDBに結び付けられているとするならば、 DB側をSQLで更新して表示をリロードしたら解決するんじゃないのか?
616 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 17:33:21 ] NOT IN や NOT EXISTSで探せる
617 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:09:54 ] RDBMSとは紐付いていません
618 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:15:19 ] Linq使えないの?
619 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 18:24:44 ] 条件後出しですみません。 RDBとは紐付いておらず、環境は.NET Framework2.0です。Linqは使えません。
620 名前:デフォルトの名無しさん [2009/08/18(火) 20:23:45 ] 1. 画面を3列×2行に均等に分割してパネルを配置し、 2. 各パネルに必要な入力項目をテキストボックスに並べる。 3. 各パネルは小さくなるので、入力時に、画面中央にスムーズにスライドさせてスムーズに2倍に拡大させる。 4. 入力が終わり次のパネルに移るときにまたしぼませる。 …みたいなことをWindowsフォームアプリケーションでできますか?
621 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 21:14:51 ] スムーズに拡大という点がちょいと面倒くさくて嫌だ。 妥当なトコで 1. 六枚の表示パネルは入力不要だからグラフィックとして自力描画。 2. それとは別に入力パネルを用意して、中央に置いて非表示にしておく。 3. 表示パネルのクリックした部分の枠線の位置から、XORで長方形の枠を 消して書いて消して書いて表示パネルの位置まで動かす。 4. 表示パネルの絵柄を薄暗くして、入力パネルを再表示。 5. Enterとかで入力終了したら入力パネルは消して、表示パネル書き直し。 TABなら次の項目。 なんてどうだ?
622 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 21:57:20 ] >>620 そういうHTML的なフレーム割りはGUIアプリではあまりやらないんだ。 実際に作ってみればわかるがあまり便利に感じないと思うよ。 情報として重要なほうをメインにしてサイズ可変に。小さくまとめられるほうは固定サイズして片側に寄せる。 これが基本。
623 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:02:06 ] TableLayout みたいのはあるけどね。
624 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:09:47 ] HTMLでもそんなUIはないと思うけど・・・ フラッシュなら話もわかるが。 要するにmacのドックみたいな操作感のUIにしたいんだろう。 >>471 と同じ人っぽいが、Winフォームでやるのは無謀に思えるな。
625 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 22:15:31 ] WPF なら簡単にできそうじゃない?
626 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:22:56 ] 俺だったら6個の小さい情報を見るの専用のwindowと 入力用の大きめのwindow1個を用意するなぁ。 小さいwindowをクリックすると、大きいwindowから入力できるようにするとか。 後、ビジネスアプリならアニメーションは絶対やめといた方がいいと思う。 ゲームのメニュー画面でも最初は反応が楽しいけど見慣れてくると飽きて、 レスポンスの方が気になるようになる。 ON/OFFで切り替えられるようにして、とか要望がきちゃうよw
627 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:27:17 ] スレたてるまでもない質問からここを紹介されたので クローズしてきました DBの 接続型 非接続型の質問です 私は、Open使うのが接続型で使わないのが非接続型と思っていたんですが違うのでしょうか? また、アプリケーション開発者は主に下記のように接続型でアクセスかけて処理をするのでしょうか? じゃんぬねっとさん のサイトから引用です 下記は接続型ですよね? ' SqlConnection の新しいインスタンスを生成する (接続文字列を指定) Dim cSqlConnection As New System.Data.SqlClient.SqlConnection(stConnectionString) ' データベース接続を開く cSqlConnection.Open() ' 接続に成功した旨を表示する MessageBox.Show("Microsoft SQL Server に接続されました") ' データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照) cSqlConnection.Close()
628 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:43:10 ] >>627 > 私は、Open使うのが接続型で使わないのが非接続型と思っていたんですが違うのでしょうか? 違う。DataReader が接続型、DataSet が非接続型
629 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 00:54:19 ] >>628 ありがとうございます ・・・とゆうことは上記例文の場合 接続型とも非接続型ともいえないってことでしょうか?
630 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 03:57:13 ] Open うんぬんというよりも DB更新時のみ接続するのが非接続型で DB更新時以外も接続しっぱなしなのが接続型(Access等) DataAdapter や TableAdapter の Fill, Update などは 処理時、接続していない時は接続し、処理後に再び閉じる というのを自動で行う事で非接続型を実現してる ちなみに処理前に接続していた場合は、処理後も接続したままになる これを利用して、アプリ起動時に接続→処理はこの接続を利用→アプリ終了時に閉じる だと DataSet でも接続型アプリは作れる connection 書換えが面倒だけど
631 名前:デフォルトの名無しさん [2009/08/19(水) 08:03:40 ] 皆さん、お返事ありがとうございます。感謝です。
632 名前:デフォルトの名無しさん [2009/08/19(水) 08:08:13 ] カスタムコントロールを作成したいのですが、いい参考書はありますか? パディングを持つテキストボックスを作りたいと思っています。
633 名前:デフォルトの名しさん mailto:sage [2009/08/19(水) 21:55:06 ] C#を始めて1年くらいで、2Dグラフィック周りを主にやってます。 最近、JAVAプログラムのオープンソフトでJDrafterというソフトを発見したのですが、 このソフトは、イラレ感覚で2Dグラフィックを作成し、Javaのオブジェクトとして保存でき るため、Javaプログラムからの表示やアニメーションなどにも応用できるようなのですが、 どなたか、C#でこんなプログラムをご存知の方いないでしょうか。 もしくは、オープンソフトなので、描画周りのクラスをC#に変換して利用できないか考え ているところですが、どなたかその方法やこれに適したjava→C#変換ツールをご存知 の方があれば、ご教授をお願いします。
634 名前:デフォルトの名無しさん [2009/08/19(水) 21:57:20 ] z順序はどこで分かりますか? また、なぜz順序と呼ぶのですか?
635 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 21:57:53 ] splitで左右分割し、左側でメニューを選ぶと右側でそれに対応したフォームを表示するようにしたいんですが パネルを項目分Fillで用意してVisibleで切り替える他にいい方法ありませんか? パネルの中に部品を置けないんです
636 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:02:02 ] >>634 子コントロールのZオーダーなら、Controls.IndexOfとか。 z軸の順番だから。
637 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:25:18 ] > パネルの中に部品を置けないんです 意味が分からん
638 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:41:41 ] >>632 参考コード public class MyTextBox : TextBox { [DllImport("user32.dll")] static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int[] lParam); const int EM_SETRECTNP = 0x00B4; int pad = 0; public new int Padding { get { return pad; } set { pad = value; OnResize(new EventArgs()); } } protected override void OnResize(EventArgs e) { base.OnResize(e); SendMessage(Handle, EM_SETRECTNP, 0, new int[4] { pad, pad, Width - pad * 2, Height - pad * 2 }); } }
639 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 22:55:43 ] あ、バグってら。 まあ、どうバグってて、どう直せばいいかは宿題ね。がんがれ。
640 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:01:14 ] >>637 親にドッキングした複数のパネルに部品を置く時は最前面のパネルにしか置けなくて 並び順を変えながらやるにはパネル多すぎて厳しいんです どうすればいいですか?
641 名前:デフォルトの名無しさん [2009/08/19(水) 23:02:26 ] >>638 ありがとう!! カスタムコントロールを作成するには、1アプリケーションを作るくらい大変だと聞いて途方に暮れていたんだ。 ちなみにカスタムコントロール作成の指南書は世界に存在しないのかな…。 まさにプロの世界ですね。
642 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:03:08 ] 他の全てのパネルを最背面にしないと目的のパネルが最前面にならないんです お願いします!
643 名前:デフォルトの名無しさん [2009/08/19(水) 23:03:28 ] >>639 9割の言葉の意味が分からない (T_T)。
644 名前:デフォルトの名無しさん [2009/08/19(水) 23:04:56 ] >>642 そういうもんだよ。 おかしな気持ちになるが、一番背面に表示させたいものから順番に最背面にしていくんだ。
645 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:10:47 ] >>644 パネルの利用方法はこれであってるんですね ひたすら入れ替えます。ありがとうございました
646 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:14:48 ] >>640 デザイン時はタブコントロールに入れておいて実行時にパネルにAddしたら?
647 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:19:46 ] 実行時でもタブでよくない? タブ非表示にすればいいだけだし
648 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:22:40 ] ・日本は日本人だけの物ではない ・党大会で日本国旗を掲げた事がない ・日本国旗を切り裂く ・子育て支援政策に国籍制限なし ・外国人参政権賛成 ・アジア共通通貨を作る ・友愛政治 by民主党
649 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 23:24:37 ] コピペ君って馬鹿だな、まで読んだ。
650 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 00:40:05 ] 日の丸って国旗じゃないよな? そんな法律や政令あったっけ? 君が代も国歌じゃないって聞いたけど
651 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 00:43:58 ] >>650 いつの人だよw
652 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 00:51:48 ] 1999年に「国旗及び国歌に関する法律」で定められたのか
653 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 03:10:20 ] WPF上での話ですが、 Canvas内でImageクラスの画像を操作(拡大・縮小・回転・移動等)したい場合、 この操作に関するコードはどのクラスに置くのがいいですか?
654 名前:デフォルトの名無しさん [2009/08/20(木) 06:42:17 ] >>644 の説明は本当に合ってるのか?
655 名前:デフォルトの名無しさん [2009/08/20(木) 07:15:10 ] ラベルやテキストボックス、コマンドボタンやラジオボタンなどのコントロールを100個ほど並べましたが、 タブオーダーがおかしくなりました。 全コントロールのタブオーダーを早く調べる方法はありますか?
656 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 07:35:06 ] >>653 むしろそれはXAML中にStoryboardで書く。
657 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 09:50:25 ] >>644 control.TopMost=true; control.TopMost=false; のほうが早くない?(試してない) >>655 表示-タブオーダー
658 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 10:07:50 ] >>657 デザイン時の話じゃ寝 >644
659 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 10:12:28 ] >>658 デザイナーなら最前面に移動のボタンがあるじゃん。
660 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 11:52:49 ] 最背面がわかっててなぜ最前面がわからないんだろうか
661 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 12:51:10 ] ってか、重なる場合はユーザーコントロールで画面をバラバラに作っておいて、 実行時にコンストラクタでAddじゃないの? 画面増えたりUI変更したら死なない?
662 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 13:32:08 ] というか、重なってるパネルは表示中の1つを除いて非表示にしておくものだと思うんだがどうか。
663 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 13:58:56 ] >>656 ありがとう。その方向でやってみます
664 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 14:28:51 ] 俺もUC.Addがいいと思う
665 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:04:46 ] DataGridViewでAccessのmdbをソース指定して実行したんですが、データが表示されません 他に何をいじればいいんですか?
666 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:11:39 ] >>665 どんなコードをかいたんだ?
667 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:13:58 ] コードは書いてません コントロールをフォームに置いて、右上の三角を押してデータソースを選択しただけです
668 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:24:08 ] 表示命令を書かなきゃ表示されるわけないだろ
669 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:27:10 ] うーん、設定の仕方がまずっていると思われる。 テーブルの設定も行っている?
670 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:42:36 ] テープルにもチェック入れました。 mdbの簡単な奴を作ってみてソースに指定したんですが表示されません 項目名は表示されるんです。 右上三角のデータのプレビューを押すとズラーっと表示されるんですが アプリ実行時には項目名だけで、データが表示されないんです。
671 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:43:15 ] おそらく、Form1_Load()あたりの先頭にTableAdapter.Fill()の呼び出しが 追加されてると思うけど、それをtry catchで挟んで捕捉できるようにしてみ。
672 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 15:58:47 ] わかりました。 Form1_Load()自体が存在してませんでした Form上でDataGridViewを置いたらForm1_LoadにTableAdapter.Fillが追加されて実行後データが出てきました ありがとうございました。
673 名前:デフォルトの名無しさん [2009/08/20(木) 16:05:28 ] 一方のビジブルをフォルスにして他方を前面に出すのと、 一方をブリングトゥフロントにして前面に出すのとでは、 どうちがうの?
674 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 16:19:27 ] 重なったパネルをやめてユーザーコントロールにしたんですが ユーザーコントロールにDockがなくて詰まりました。 基本クラスをUserControlからPanelにしたりとか考えたんですが名前空間が通りません。どうすればいいですか?
675 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 16:22:02 ] Webの検索サイトとかでテキストボックスにキーワードを入れて検索ボタンを押すまでの処理をC#でやる場合何を勉強すればいいんでしょうか
676 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 16:36:45 ] >>675 GUIアプリとして実装するのとWeb上のサービスとして実装するのとで話がぜんぜん変わってくる。 もっと目的を詳しく説明しないと誰も答えられない。
677 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 16:38:35 ] unmanagedなリソースを複数のインスタンスで共有したいのですが、 参照カウンタ的な形で管理するには自前で実装するしかないのでしょうか。 それとも.NETの共通ライブラリにそれをやるための仕組みが用意されていますか?
678 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 16:45:07 ] >>676 GUIアプリです。例えば検索したいキーワードの一覧も持っていて、それを順番に検索にかけヒット数などを記録していくソフトにしたいんです。
679 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 18:14:01 ] >>674 すいません解決しました。自分を親にDockさせるんじゃなくて親に子をDockさせる様に書いたらコンパイルできました。
680 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 18:24:20 ] >>678 取り敢えずHTTPとHTMLの勉強 >>677 どこまで汎用でやればいいのかって話なので無いんじゃね まあそんな大層なモンでもないだろ
681 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 19:38:00 ] >>677 SafeHandleでラップして、破棄はGCに任せれば?
682 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 20:24:28 ] >>681 どもです。前提が抜けてましたが、基本的に管理対象はCOMオブジェクトのインスタンスです。
683 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 20:47:38 ] 配列に配列を追加する方法を教えてください。 string[] textFiles = Directory.GetFiles(Path, "*.txt"); で、テキストファイル一覧を配列に入れることができます。 これにたとえば拡張子.logを追加するにはどうしたらよいですか?
684 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 20:52:25 ] ConcatしてToArrayとか Array.Resizeして残りをArray.Copyとか
685 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 20:55:08 ] Linq使えば。
686 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 21:12:10 ] >>673 フォーカスとか
687 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 22:16:33 ] >>683 string [] exts = { ".txt", ".log" }; var fileNames = from filename in System.IO.Directory.GetFiles (Path) let ext = System.IO.Path.GetExtension (filename).ToLower () where exts.Contains(ext) select System.IO.Path.GetFileName (filename); foreach (var file in fileNames){ Console.WriteLine("Filename:{0}", file); }
688 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:21:20 ] >>684 Array.Resizeをforで回して追加できました。 感謝します。
689 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:24:35 ] いやまてResizeをforとかそんなVB上がりなまねはよせ 追加する配列のLength分だけ一気に増やせば済むことだろ
690 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:37:13 ] ListにAddRangeが常道だろ。
691 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:40:34 ] >>687 古い人間なんで、こっちが分かりやすい・・・やっぱ古いんだなぁと思わざるをえない。 string[] exts = { ".txt", ".log" }; List<string> fileNames = new List<string>(); foreach (string filename in System.IO.Directory.GetFiles(Path)) { string ext = System.IO.Path.GetExtension(filename).ToLower(); if (exts.Contains(ext)) { fileNames.Add(System.IO.Path.GetFileName(filename)); } } foreach (var file in fileNames) { Console.WriteLine("Filename:{0}", file); } うーんうーん、でも近頃はXML統合機能に心惹かれてる・・・
692 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 23:57:17 ] >>689 ぜんぜんVBはやったことないです〜。 プログラム言語に触るのはC#だけの純粋初心者です。 最初、Concatを試したんです。 でもうまくいかず、見事討ち死にして、 Array.Resizeにじっくり取り組みました。 検索したサイトに、Array.Copyが書いてなかったんです。 それを真似したもんで、forで回す泥臭い展開に。 さっきこちらに報告したときに、 Array.Copyと書いてあったのに気づいて、 ひょっとして、Array.Copyを使えば、 Lengthを追加したところに、 どばっと1回でコピーできるのだろうと気づいたのですが、 とりあえずできてしまったので、それは次回のお楽しみ。 >>690 Listはまだ使ったことないので、これもそのうちお楽しみ、 と思ったら…。 >>687 >>691 ありがとうございます。 これも参考にします。 いや〜、ここ親切ですね。
693 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:08:47 ] >>687 試しました! これすごいです。 再帰的にゲットするには、どう改変したらよいですか?
694 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:19:04 ] 複数の配列の連結はそれなりに需要あるな static class ArrayEx { public static T[] Concat<T>(params T[][] arrays) { return arrays.SelectMany(array => array).ToArray(); } } >>693 Directory.GetFiles (String, String, SearchOption) ああ、完全には自分の管理下にないディレクトリを検索してUnauthorizedAccessExceptionが出るとか言い出すのはやめてね
695 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:42:17 ] すいません、これからC#を勉強しようと思うのですが この言語で作られたexeは.NET FrameworkがインストールされてるPCでないと動作しないのでしょうか?
696 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:48:05 ] >>693 static class FileHelper { public static List<string> GetFilesRecursive(string path) { List<string> result = new List<string>(); Stack<string> stack = new Stack<string>(); stack.Push(path); while (stack.Count > 0) { string dir = stack.Pop(); try { result.AddRange(Directory.GetFiles(dir)); foreach (string dn in Directory.GetDirectories(dir)) { stack.Push(dn); } } catch { } } return result; } } string [] exts = { ".txt", ".log" }; var fileNames = from filename in FileHelper.GetFilesRecursive (Path). let ext = System.IO.Path.GetExtension (filename).ToLower () where exts.Contains(ext) select System.IO.Path.GetFileName (filename); foreach (var file in fileNames){ Console.WriteLine("Filename:{0}", file); }
697 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 00:50:42 ] >>695 うん
698 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:19:41 ] >>695 勉強するなら、そんな程度の事をいちいち聞くな
699 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:25:06 ] >>695 同意だがお前は>>1 が読めんのか
700 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:26:28 ] 安価ミス >>699 は>>698 宛て
701 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:27:44 ] >>696 これおもしろい。 public delegate Func<A, R> Recursive<A, R>(Recursive<A, R> r); public static Func<A, R> Y<A, R> (Func<Func<A, R>, Func<A, R>> f) { Recursive<A, R> rec = r => a => f(r(r))(a); return rec(rec); } var RecGetFiles = Y<string, IEnumerable<string>> (f => d => System.IO.Directory.GetFiles (d).Concat (System.IO.Directory.GetDirectories (d).SelectMany (f))); foreach (var f in RecGetFiles(System.IO.Directory.GetCurrentDirectory())) { Console.WriteLine(f); }
702 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:47:26 ] >>699 1には正論書くなと書かれてないようだが?
703 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 01:59:19 ] >>702 >>700
704 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:01:36 ] >>703 1には正論書くなと書かれてないようだが?
705 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:05:40 ] いちいち足跡残していかなくていいから
706 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:07:03 ] いちいち足跡残していかなくていいから
707 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 02:35:57 ] いちいち足跡残していかなくていいから
708 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 10:56:12 ] 質問があります。 複数のjpeg画像をクリックするたびに順番にスライド表示したいと思います。 配列に、 01.jpg 02.jpg…… と入れたところまではよかったのですが、くり返しかと考えて、 private void Button_Click(object sender, EventArgs e){ for (int i = 0; i < phptos.Length -1; i++) { pictureBox.Image = Bitmap.FromFile(photos[i]); } } としたら、いちどにぜんぶ表示して終わっちゃいました。 そりゃそうなんですが、こういう場合ってどうすればいいんですか?
709 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:04:50 ] 現在表示中の画像のインデックスをフィールドに置いとく クリックごとに次のインデックスの画像を表示させる あと表示し終わったImageオブジェクトはDisposeする
710 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:10:28 ] インデックスというか、この場合は配列なりリストなりのコンテナのEnumeratorだろうな。
711 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:38:51 ] >>709 できました! int c = 0; private void Button_Click(object sender, EventArgs e){ pictureBox.Image.Dispose(); pictureBox.Image = Bitmap.FromFile(phoho[c]); c++; } ありがとう。 >>710 Enumeratorってどう使うんですか? 上のを書き換えるとしたら?
712 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:40:18 ] >>711 そのまま行くと突き抜けるぞ。
713 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 11:56:57 ] 横やりだけどyeild returnで回すのかな?
714 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:14:14 ] 他のアプリが使用してるデータをC#アプリから使用したいんですけど どうすればできるんでしょうか? 具体的にはMetatrader4というソフトのリアルタイムのプライスデータを取得したいです。
715 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:33:58 ] >>714 MT4のAPIを使えば出来ます。 dotnetremoting.com/Download/Meta1011/MT4NetSetup.exe
716 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:39:26 ] >>714 あと、ここもプロミシングだね。 www.openforexplatform.com/
717 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:39:26 ] >>713 GetEnumerator()呼ぶだけじゃん
718 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:41:52 ] >>717 戻るボタン追加したいときにどうする?
719 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 13:56:18 ] >>715 ありがとうございます! 実はそれちょっとまえに見つけたのですが、お恥ずかしながら 何がなにやらさっぱりわからずどうやって使っていいものかもわからず・・・orz もうちょっとよくそれ見てみます! あと、今見つけたんですけどttp://gurizuri0505.halfmoon.jp/develop/csharp/processmessage にあるようにIpcServerChannelクラスとIpcClientChannelクラスを使っても出来るんでしょうかね? にIpcServerChannelで作ったdllをMT4のカスタムインジケータに読み込んでやって 使うことができるのかな?とか想像してるんですが、その考え方はあってますか? ここでMT4の即レスもらえるとは思ってなかったんですが C#+MT4で使ってらっしゃるんですか?
720 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 14:23:56 ] >>719 使い方はここが参考になると思う。 forum.mql4.com/20644 趣味プログラマなので、これ自体は使った事ない。 昔、会社でこそっとトレードする用タスクバーアプリを作った事があるくらいだな。
721 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 02:16:19 ] 【Anti Virus】Kaspersky Lab Part87【カスペルスキー】 pc11.2ch.net/test/read.cgi/sec/1248541340/806 806 :名無しさん@お腹いっぱい。 [] :2009/08/13(木) 17:45:58 何だこのスレwww このスレを見ている人はこんなスレも見ています。(ver 0.20) 女子小中学生に性欲わかないやつは異常3 [生活サロン] 小学生のこどもおっぱいをちゅーちゅーしたい [大規模MMO] 小学生のこどもおっぱいをちゅーちゅーしたい [スカパー] 小・中学校のちょっとエッチな淡い思い出 [セピア] 小学生のこどもおっぱいをちゅーちゅーしたい [U-15タレント] 【Anti Virus】Kaspersky Lab Part87【カスペルスキー】実質Part88 pc11.2ch.net/test/read.cgi/sec/1248628556/364 364 :名無しさん@お腹いっぱい。 [sage] :2009/08/21(金) 23:20:36 23時20分 ■ おすすめ2ちゃんねる 開発中。。。 by FOX ★ このスレを見ている人はこんなスレも見ています。(ver 0.20) 女子小中学生に性欲わかないやつは異常3 [生活サロン] 小学生のこどもおっぱいをちゅーちゅーしたい [スカパー] 小・中学校のちょっとエッチな淡い思い出 [セピア] 小学生のこどもおっぱいをちゅーちゅーしたい [U-15タレント] 小学生のこどもおっぱいをちゅーちゅーしたい [大規模MMO]
722 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 02:17:01 ] ●前科2犯・中尾嘉宏(46)(=2chコテハン:FOX★)について アダルトサイト PINKちゃんねるの責任者であり、2ちゃんねるの影の責任者。 2chコテハン FOX★=中尾嘉宏(46) ■2ちゃんねる幹部・中尾嘉宏(46)(FOX★)は詐欺(出資法違反)および児童買春斡旋で 逮捕されていた。 web.archive.org/web/20050305185414/http://jsimin.at.infoseek.co.jp/opinion/newrich.html 北海道警生活環境課と札幌・中央署は1997年5月6日、インターネットを利用し 不特定多数の人から金を集めていたとして、出資法違反(預かり金の禁止) の疑いで 札幌市厚別区もみじ台南七丁目、パソコンソフト開発販売会社社長 中尾嘉宏容疑者(当時37) を逮捕した。 ■解説 中尾嘉宏(46)は、詐欺(出資法違反)と児童買春斡旋の罪とあわせて前科2犯。 2ちゃんねるのサーバー管理者で、ピンクちゃんねる管理者でもある。
723 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 02:17:44 ] 2009/6/25「Kaspersky Internet Security 2010」欧州で発売 internet.watch.impress.co.jp/docs/news/20090625_296612.html 露Kaspersky Labは24日、個人向けの総合セキュリティソフト 「Kaspersky Internet Security 2010(KIS2010)」とウイルス対策ソフト 「Kaspersky Anti-Virus 2010(KAV2010)」を発表した。 KIS2010とKAV2010は現在、ドイツ、フランス、スペイン、イタリアで販売されている。 米国と英国では7月に発売する予定。 日本国内の発売日は未定だが、Kaspersky製品を販売するジャストシステムによれば、 「例年通りであれば秋口に発売する」としている。 手を打たないと蕪価下がりますよw
724 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 02:33:18 ] プロジェクトにクラスを追加したときに、 毎回 using System.Diagnostics; を 手作業で追加しています。 クラス追加時にデフォルトで 追加されてるようにする方法はないでしょうか?
725 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 02:44:36 ] テンプレート変更すれば てか、スマートタグでは不満?
726 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 08:00:52 ] 一瞬コピペスレかと思って、>>724 を罵倒しそうになった
727 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 12:35:59 ] TestDriven.NET で IDE から 始めたテストをキャンセルする ことはできますか? キャンセル方法がわからないので、 devenv.exe を強制終了させているんですが、 もっといい方法はないかと・・・。
728 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 14:29:06 ] >>727 なんでVS標準のテスト機構を使わないの?
729 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 16:24:33 ] 2005か、2008EEだからか
730 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:14:28 ] string型 2008-5-3 をDateTime型に変換するにはどうすればいいですか?
731 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:15:21 ] 正規表現を使おうと思い、「using System.Text.RegularExpressions」と書いたのですが、 「型または名前空間名 'RegularExpressions' は名前空間 'System.Text' に存在しません。アセンブリ参照が不足しています。」 とコンパイルエラーが出てしまいました。何が悪いのでしょうか。
732 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:18:43 ] >>730 DateTime.TryParseExact
733 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:25:12 ] DateTime.Parse( string ); で一発
734 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:35:47 ] >>731 末尾のsいらん
735 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:41:12 ] >>734 どちらでも同じエラーが出ます。
736 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 17:57:34 ] エラーにちゃんと書いてある通り参照設定が足りてないんだろ どういう環境でコンパイルしたのかは知らんけど。 あと末尾のsはない方が困る
737 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:16:05 ] Systemの参照を追加していなかったせいのようです。 ありがとうございました。
738 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:38:57 ] in演算子がほしいです if (int i in {1,2,3}) みたいに書きたいです おねがいします
739 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 18:40:57 ] >>712 突き抜けてます。例外…。 >>713 yeild return ってのがあるんですか? yield return i; と使うらしい。 int c = 0; private void Button_Click(object sender, EventArgs e){ pictureBox.Image.Dispose(); pictureBox.Image = Bitmap.FromFile(phoho[c]); c++; yield return c; } 'void' は反復子インターフェイス型ではないため、'Button_Click(object, System.EventArgs)' の本体は反復子ブロックにできません まあ、forじゃないからな〜。
740 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:07:40 ] >>738 強いて言えばContains()メソッドだな。 だが、C#はそんな書き方をする言語じゃない。 LINQを使え。
741 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:25:15 ] 誰もがLINQを使えると思ってンのか? まだ.NET2.0な現場は多い。
742 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:26:11 ] 初心者スレに現場人が来てんじゃねえよ
743 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:29:03 ] 現場(苦笑)
744 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:31:28 ] >>741 >738 は.NET のバージョンを指定してないんだから、 C#の世界で一般的に一番便利な方法を教えておけばそれでいい。 >>742 741に言ってくれ。
745 名前:デフォルトの名無しさん mailto:sage [2009/08/22(土) 19:36:04 ] >>740 Contains() そんなのあるのか! とりあえずそれで事足りそうです ありがとうございます
746 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 00:20:52 ] Math.Roundが小数点以下までしか丸められないんですけど、 1の位から下を切り捨てるにはどうすればいいんですか?
747 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 00:43:57 ] まずAPIリファレンスくらい読・・・言っても無駄か。 Floor とか Ceiling とか Truncate みてみ。
748 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 01:21:27 ] >>746 質問が日本語でオケ過ぎるんじゃない? 小数点より上で丸めたい、って意味か? たぶんぴったりのメソッドは用意されてない。 こんな風に自分で作るしかないんじゃないのか? 一応言っとくけど、多分厳密には正しい処理じゃないと思う。 // 小数点より上の場合は負の数を指定する。 double RoundEx(double x, int digit, MidpointRounding mode) { if (digit< 0) { int divider = (int)Math.Pow(10, -digit); return Math.Round(Math.Round(x / divider, 0, mode) * divider, 0); } else { return Math.Round(x, digit, mode); } }
749 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 02:13:27 ] 昨日、小数点第一位以下きりすての処理で、 10倍した後、int型にキャストし、10分の1にするというソースを発見してしまった。
750 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 02:32:16 ] decimal data = 12.34; data = Math.Round(data / 10, 0) * 10; // data = 10
751 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 02:42:47 ] え?
752 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 02:56:54 ] やりたいようにやりゃええねん
753 名前:デフォルトの名無しさん [2009/08/23(日) 04:13:43 ] Dns.GetHostEntry メソッド (String)に関してなのですが、 MSDNをには >ホスト名として空の文字列が渡されると、このメソッドはローカル ホストの IPv4 アドレスを返します。 と書いてあるのに、実際にやってみるとIPHostEntry.AddressListにIPV6のアドレスが入っています。 これはなぜでしょうか?
754 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 06:45:30 ] double data = 12.34; int a = (int)(data / 10) * 10
755 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 06:50:10 ] Accesseに繋いだんですがめちゃくちゃ重いです。 スクロール地獄です。どうすればいいと思いますか?
756 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 09:43:49 ] 死ねばいいと思うよ。
757 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 10:14:22 ] >>755 DataTableへ取り込めばいいと思うよ。
758 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 10:39:06 ] >>753 ドキュメントのミスだろ 英語版の方でツッコミが入ってる
759 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:05:24 ] >>757 AccesseってDataTableに取り込めるものなの?
760 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:11:39 ] >>759 なんで取り込めないと思ったのかこっちが聞きたいくらいだ。
761 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:12:59 ] SqlDataAdapter.Fillで簡単にできる
762 名前:759≠755 mailto:sage [2009/08/23(日) 12:20:36 ] DataTableに取り込み可能な"Accesse"というものの存在を知らないから訊いた
763 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 12:28:05 ] >>762 君の読解力のなさは人生をあきらめた方が良いレベル。
764 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 14:01:36 ] SとMが集まるのはこのスレであってますか?
765 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 15:13:13 ] >>747 Foolに見えたw
766 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 15:13:44 ] Javaスレから流れてきただけだろ
767 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:03:17 ] >>758 ありがとうございます。 英語の方見てみます。
768 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:19:03 ] XXXDataSet.OOODataTable test; test = this.OOOTableAdapter.GetData(); this.OOOTableAdapter.Fill( test ); GetDataしたんですが、データが表示されないです。どうすればいいですか?
769 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:25:36 ] あきらめたら?
770 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:28:18 ] あきらめました。今ADO.NET2.0を注文しましたすいません
771 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:33:53 ] 解決しました。 dataGridView.DataSource = test;
772 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:35:39 ] 酷すぎるぞ
773 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:21:26 ] これはひどい
774 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:23:04 ] みんな初心に帰ろう。
775 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:35:40 ] ここで聞けばいいのか分かりませんが 今MeCabという形態素解析のC#ラッパー?のMeCabSharpというのを使ってみようとしているのですが、解析された結果をひとつずつとる為に MeCab.Tagger mecab = new MeCab.Tagger(); MeCab.Node test = mecab.parseToNode("形態素解析器MeCabを使うテストです"); for (int i=1;i<=10;++i) { Console.WriteLine(test.surface); test = test.next; } とすることで一応要素を表示することが出来たのですが、要素の数の取得の仕方が分からずループの回数の設定が出来ません(上のコードの10は試してみて決めた数です) もしここを10以上にすると ハンドルされていない例外: System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 というエラーが出ます。 文章が変ってもすべての要素を取り出したいのですが どのようにすればいいのでしょうか
776 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:40:08 ] Nextで走査してるくらいだからExistsNextNodeとかありそうだが
777 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:41:58 ] そういう意味合いのメソッドやらプロパティがありそうという意味だからね 実際にどんな名前で存在するかは知らんよ
778 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:49:07 ] >MeCab::Node は, 双方向リストとして表現されており, next, prev というメンバ変数があります. それぞれ, 次の形態素, 前の形態素を MeCab::Node クラスのインスタンスとして返します. 全形態素には, next を順次呼ぶことでアクセスできます. って書いてあるからnullきたら終端だろ多分。
779 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:54:16 ] nullでやってみたらいけました みなさんありがとうございました
780 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:55:50 ] おう
781 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 18:12:44 ] というか、初めて使うライブラリはまずデバッガで止めて、 作られたオブジェクトに何のプロパティがあるのか眺めるところから始めると思うんだが……?
782 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 18:56:53 ] dataGridView.DataSource = test; でもスクロール動作重いです どういうことですか? mdbから読みこんでるから遅いという流れなんじゃないんですか? それでインスタンスに取り込んでそれをソースに指定して重いってどうなってるんですか?
783 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 19:05:34 ] 知るかハゲ
784 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 19:40:13 ] >>782 てめぇの作りが悪い
785 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:10:27 ] 助けてくださいお願いします
786 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:49:19 ] オマエだったら、オマエが挙げた情報だけで原因までわかるか? どうしてもって言うなら、関係する箇所すべてのコードをどっかに上げてごらん。
787 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:57:18 ] 壁紙について教えてください。 現在の壁紙をはがすにはどうしたらよいでしょう? VBだと SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, vbNullChar, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE) でできるらしく、 vbNullCharは0らしいので、 n = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "0", SPIF_SENDWININICHANGE); としてみたのですが、なにも起きないでいます。 どうすりゃよいですか? 現在の壁紙のパスを取得するにはどうしたらよいでしょう? アドバイスお願いします。
788 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:01:29 ] ”0”じゃなくてString.Emptyにしてみ パスはSPI_GETDESKTOP〜使えよ
789 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:01:31 ] GetData()で解決するんですか? これで習得したテーブルをソースにしても早くならないということは DataGridViewの限界ってことなんでしょうか? そうするとGetDataの意味がないのでこれで解決すると教えてくれた方アドバイスお願いします!
790 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:07:58 ] GetDataって参照を渡してるだけだから結局mdbにアクセスしてるんじゃなかろうか?
791 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:09:13 ] うるせぇ少しは自分で調べろ
792 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:18:52 ] 夏休みがまだあると思ったら、インフルでの学級閉鎖で 2学期開始が早くなってたんだな。で、宿題まだと。 こんなとこで現実逃避してないで早くやっちゃいなよ。
793 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:18:58 ] 頭悪すぎる
794 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:19:20 ] どうせ列がものすごい数とか、そんなオチだろw
795 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:24:22 ] >>789 仕様です。エクセルシートにコピーしてぐりぐりスクロールしてください
796 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:42:33 ] お前らめちゃくちゃだから 知らないのにいちいち足跡残さなくていいから
797 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:46:44 ] は?dataGridViewが使いものにならないの常識だろ
798 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:02:14 ] >>788 できました。ありがとうございます。 現在の壁紙のパスを取得するほうは、どうしたらよいでしょう?
799 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:04:17 ] 第三引数をStringBuilderにして渡せばいい
800 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:29:16 ] スレチかもしれないけど、ネットブックでVisualStudio C# express editionって結構スムーズに動くもんだね。 ちょっと驚いた。もちろん本格的にネットブックで開発しようとは思わないけど ちょっと屋外でメールとかWebをチェックするついでに小さなコード試したりするには便利かなと思った。
801 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:35:11 ] >>800 そういう目的で買おうかなぁって考えてたところだから、 その情報はすごく助かります。スレチだけど。。。
802 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:38:44 ] スレ違いだから
803 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:48:06 ] >>799 n = WinAPI.SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, StringBuilder, SPI_SENDWININICHANGE); ですか?
804 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:51:50 ] やってみたらエラーになるだろよ・・・
805 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:58:59 ] エラーが3つも出てます…。 'System.Text.StringBuilder' は '型' ですが、'変数' のように使用されています。 'WindowsFormsApplication1.Form1.WinAPI.SystemParametersInfo(int, int, string, int)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 引数 '3': 'System.Text.StringBuilder' から 'string' に変換できません。
806 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:03:37 ] >>805 少しは自分の頭で考えてみろよ
807 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:03:39 ] >>805 この辺でも読め msdn.microsoft.com/ja-jp/library/aa288468%28VS.71%29.aspx www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
808 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:32:09 ] StringBudlderの使い方はなんとなくわかりました。 System.Text.StringBuilder sb = new System.Text.StringBuilder(); for (int i = 0; i < 1000; i++) {sb.Append("abc");} とか。 で、第3引数になにとなにをStringBuilderにすればいいんでしょう?
809 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:33:51 ] 駄目だコリア
810 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:35:31 ] ふざけてるのか??
811 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:38:20 ] ふざけてないです。 初心者なのでお手柔らかにお願いします。
812 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:58:30 ] MSDNのプラットフォーム呼び出しの項目読めよ
813 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:24:01 ] お前には無理だ。
814 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:37:32 ] 黙れ糞やるお
815 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:11:08 ] >>811 貴方が今の700倍優秀でも教えてもらえないです。 能力の問題ではないんです。姿勢の問題です。 自分で努力したというものが伝わってこないのです。 私達の目には楽をして答えを得ようとしているようにうつるのです。 貴方は聞きグセが付き始めています。 このクセがつくとプログラマーとしてあらゆるスタートが遅れます。 先輩方にウザがられるので、チームとしても支障が出ます。 このままでは貴方はダメになります。ゴミです。永遠の初心者です。 現時点で最良の選択は>>812 ではないかと思います。 貴方の成長を心より応援ゴミです。大事な事なので二度言いました。
816 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 03:22:21 ] Panelのドッキングなんですが、DockでTopを選んで、アプリを拡大縮小した時に、下の余白の長さは固定にしたいんですが、どうすればいいんでしょうか TopでDockした方のPanelは縦の長さが固定なんですが、固定部分を余白と逆にしたいんです。 いろいろ組み合わせて試したんですがだめなんです。教えてください。
817 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 03:26:51 ] PanelはDock.Fillにして、余白とやらをControlにでもしてそれをDock.Bottomにすれ つかAnchorの方がその場合楽な気がする
818 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 03:40:26 ] すごいできました!ありがとうございました
819 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:32:13 ] 正規表現を使って、s = "hoge0" と言う文字列に対して Regex r = new Regex("hoge([0-9])"); Match m = r.Match(s); とすればグループ値 m.Group[] が取得出来ますが、この逆のことを行うメソッドは ありますでしょうか?つまり "0" と "hoge([0-9])" の2つの文字列から "hoge0" を導き出しのです。
820 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:39:41 ] >>819 m.Valueかな?
821 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:49:20 ] Formで自分のウィンドウクラス名を取得するにはどうしたらいいんでしょうか? this.CreateParams.ClassNameだとnullが返ってきましたorz
822 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:52:31 ] GetClassName関数
823 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:59:31 ] >>822 おーーー!thxです!
824 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 14:32:59 ] >>820 お前、アフォだろ?
825 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 17:39:32 ] Visual Studio 2008 Express Editionでキーボードマクロを使いたいのですが、メニューを探しても 項目が見つからず、Ctrl + Shift + Rを押しても何も起きません。 Express Editionだと使えないのでしょうか?
826 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 21:00:40 ] >>819 Matchの反対ならReplaceでいいかな?
827 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 21:43:44 ] えっ?
828 名前:デフォルトの名無しさん [2009/08/24(月) 21:56:17 ] すみません。とてつもなく初歩的な質問をします。 C#でゲームを作っているのですが、Playsound()を使ってBGMと効果音を同時に演奏しようとし場合、 BGMが停止してしまいます。 効果音を演奏するときにBGMが停止しないようにするにはどうすればいいんでしょうか。
829 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:03:52 ] あああsage忘れたすみません
830 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:08:12 ] SND_ASYNC で。
831 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:19:10 ] PlaySoundは同時に一つしか再生できんはず 手軽なのはmciSendStringかなー
832 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:43:24 ] 自分でミキシング
833 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:50:33 ] 時間がかかる処理をバックグラウンドでやるにはどうすればいいですか? Visual C#でプロジェクト全体を検索すると、一定時間が経つとダイアログが表示されて 中止できるように、途中で処理を中止できるようにしたいんです。処理が行われている間も GUIが応答するようにしたいです。
834 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:53:57 ] ばっくぐらうんどわーかー
835 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 22:57:54 ] そんなもん使わず、自分でスレッド起動した方がずっと分かりやすいよ。
836 名前:833 mailto:sage [2009/08/24(月) 23:05:53 ] じゃあスレッドを使うことにします ありがとうございました。 OpenGL使う予定なのでスレッドが絡むとちょっとややこしそうですが、仕方ないですね
837 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 23:27:36 ] >>828 OpenALは?
838 名前:デフォルトの名無しさん [2009/08/25(火) 08:03:24 ] 4階層のtreeviewを作成し、ノード検索ボックスも設けましたが、 treeが全て収縮している状態で検索をかけると、検索したいノード名のルートだけではなく、検索したいノードの同レベルにある他ノードまで展開されてしまいます。 ルートだけ表示させることはできないでしょうか。
839 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 09:21:23 ] 初心者スレに変なのが沸いてるな。 煽りや荒らし以外はもう一度>>1 まぁVBスレやAPIスレにいた荒らしだろうけど
840 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 09:38:01 ] >>838 展開しなければ良いんではないだろうか どうやって検索してるんかしらんけど つーかTreeViewってWinFormにもWebにもWPFにもあるしなー > ルートだけ表示させることはできないでしょうか。 ルートって普通rootのこと指すから、こういう使い方しない方が良い
841 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 10:39:22 ] あほか
842 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 10:50:45 ] ポカーン
843 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 10:54:48 ] ∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄  ̄
844 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:13:10 ] Staticとかそういう明示的なことをしない場合、 C#でインスタンス化したメソッドは抜けているのに メモリが確保されたままっていうことはありますか? フォルダ内の数千ファイルを読み込んで 内容をDBに登録するだけのプログラムなんですが 30分ほど放っておくとメモリがタスクマネージャ上で2Gとかになっています(起動時50MB程度) ファイル読み込みループ内でファイルのIOクラスとデータベース登録クラスをインスタンス化しているので, 新しいファイルを読み込むたびに前回までのメモリが解放されているイメージなのですが, この認識って間違っていますでしょうか?
845 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:13:45 ] > ルートって普通rootのこと指すから そんなこと無いと思うけど。 ttp://e-words.jp/w/E383ABE383BCE38388E38387E382A3E383ACE382AFE38388E383AA.html
846 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:34:18 ] >>845 きみは何が言いたいのか?
847 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:37:59 ] >>841-843 こいつらは誰に対していってんのか
848 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:46:09 ] >>847 どうみても>>840 でしょ。 >>840 がいってることは正しい。 馬鹿(>>841-843 )はスルーしたほうがいいよ。
849 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:46:41 ] >>846 >>840 の文脈から理解出来ないの?説明するつもりはない
850 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:49:15 ] 空気悪いね
851 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:51:06 ] 昨日VSスレに居た荒しがこっちに流れてきたか?
852 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 11:59:51 ] rootはルートだろ 838が言ってるのはそりゃ「経路」だ
853 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:01:27 ] >>846 じゃないが >そんなこと無いと思うけど。 といっているのに、リンク先の内容は > ルートって普通rootのこと指すから と同じことが書かれていると思われるんだが。
854 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:04:20 ] route root
855 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:22:11 ] TreeViewでrouteという単語は一切使用されていない。
856 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:30:51 ] わざわざ調べたのか…。
857 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 12:32:00 ] >>844 C#の世界では通常メソッドはインスタンス化されない。クラスはされるけどな。 ファイルを読み込むってことは、Stream関係のオブジェクトが開放されてないんじゃないの? アンマネージドなデータを含んでるオブジェクトは明示的にDispose()してやる必要があるよ。 もしくはusing構文を使うかだ。
858 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 15:06:04 ] >>838 「ノードAが展開されている」というのは、簡単に言うと「ノードAの子ノードが見える状態」であって、 「ノードAが見える状態」ではない。 このことは理解してる? 因みに、理解していて>>838 の質問なら>>840 (前半)に帰結する。
859 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:37:41 ] >857 ストリームをCloseしてるだけでDisposeしていませんでした. メモリ使用量は気持ち減った感じですが, まだ上がり続けているので,もうちょっとソース見てみます ありがとうございました
860 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:53:03 ] DataTable SrcTable = チョメチョメ; DataTable NewTable = SrcTable.Clone(); foreach( DataRow Target in SrcTable.Select( "ColName < 1" ) ) NewTable.ImportRow( Target ); チョメチョメ = NewTable; これをLinqはどのように書くのでしょうか?
861 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:37:17 ] 一応managedだからこのスレでいいのだろうと思うので MFCでDLLを作ってそれをC++/CLIでラップしました 次にそれをC#やVB.netから呼び出したいのだけど文字列ですね const char *みたいなものにSystem.Stringのデータが渡せないって怒られます どうやって変換すればいいんでしょう? 配布するものなんで言語環境に依存しない形で呼び出せるようにしたいのですが
862 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:44:18 ] >>861 よくねえよ。C++/CLIスレがあるからそっちいけ String^で受けてmarshal_as<std::string>
863 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:58:19 ] >>860 DataViewでFilterとToTable使った方が楽だと思うけど なぜあえてLINQ?
864 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 18:47:38 ] >>863 LINQを使う(覚える)のが目的でした。 LINQ使えばこの手の処理がかなり簡素にできるのかなと。 構造体のlistならサンプルでなんとなくわかった(ような気がする) のですがDataTableの場合、項目名をどう書けばよいのかわか りませんでした。
865 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:00:44 ] >>859 StreamはCloseだけでも大丈夫だよ。 正確には大丈夫ではないが、今回の現象に関しては。 ※もちろんusingなどを使って確実にDisposeするのが正しい。 DBアクセス用のクラスの方の、接続とかの管理(Close)は大丈夫なのか?
866 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:02:16 ] ただ、普通に考えて2G使うってのはちょっとおかしいな。 Disposeとかだけの問題でもなさそうな気がするな。
867 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:12:57 ] >>864 型付きかどうかで変わるけど、 var table = (from row in table.AsEnumerable() where row.Field<int>("ColName") > 15 select row).CopyToDataTable(); ただのDataTableならこんな感じ AllowDBNullならnullチェックが必要になるが
868 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:41:19 ] >865-866 レスありがとうございます プロジェクト全体に「Stream」で検索掛けて関係ありそうなのは全部Close Disposeかけました (StreamReaderなども) DBに関しては DbConnection,DbTransactionのClose Dispose DbCommandのDispose を徹底しました でもまだ使用率が上がってます 現在1G使用率を上げるのに2時間かかるかんじです (ファイルサイズがバラバラなので変化には誤差があるのでしょうが) もうちょいでしょうか...w
869 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 21:02:09 ] >>862 ツンデレどうもw とりあえず文字はいけました
870 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 21:06:28 ] >>868 んー、usingの使い方知ってる?
871 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 21:48:32 ] あちこち弄る前にプロファイラで現状を把握すべき
872 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:01:02 ] まあ多分プロファイラよりもコードレビューしてもらうのが先なレベルの気もする。 別にプロファイラで見るのもいいんだけど。
873 名前:デフォルトの名無しさん [2009/08/25(火) 23:21:10 ] SQLでビューを作成し、できたSQLをC♯内にコーディングしました。 これって、linqだと簡単にできるの?
874 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:28:29 ] いや特に
875 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:46:01 ] LINQに対して夢を抱きすぎじゃねえのか
876 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 00:12:20 ] LINQ悪くないんだけど遅いんだよな。
877 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 00:31:17 ] 鯖で使うんでなければ大した問題にはならないでしょ 鯖で使うのは微妙
878 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 01:02:57 ] LINQって糖衣構文なだけじゃないの? 展開すると最適化のきかない冗長なコードになるのかな?
879 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 01:14:19 ] >>878 デリゲート呼び出し分のコストはかかるんで、全部インライン展開した場合と比べると5%くらい遅いことはある。 まあ、あと、変なクエリを ToArray() せずに使うと毎回クエリしなおしで遅くなることもあるけど。
880 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 01:39:12 ] 5%が「鯖で使うのは微妙」なくらい遅いの? 一部の人はどこかのブログとかををうのみにして先入観持ってる気がする
881 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 09:48:01 ] >>870-872 usingの使い方は知っていますが、接続を切るタイミングは動的にしないといけない事情がありましたので使ってません。 あとメモリリークの原因分かりました support.microsoft.com/kb/418376/ja ファイルがXMLでかつ XSL、DTDの指定があったとき WebBrowserで読み込んでInnerTextを拾ってくる使用でした. プロファイラで見たときにWebBrowserのメモリがガンガン上昇していったので気付きました。 XMLDocumentで同じようなことができないか試してみます。
882 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 09:57:26 ] | 回避策 | WebBrowser コントロールを利用しているアプリケーションを定期的に終了させて下さい。 うわお >>881 乙
883 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 10:18:14 ] 844からWebBrowserは想像できねーよw
884 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 10:53:13 ] >>883 たぶん、紙にでもならない限りむりだろうなw。
885 名前:844 mailto:sage [2009/08/26(水) 10:54:27 ] >883-884 すみませんw まさかここで引っかかってると思いもしなかったので
886 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 12:32:13 ] >>885 >すみませんw なんだよ最後の草はバカにしてるのか
887 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 13:01:17 ] 牛乳飲め
888 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:01:37 ] C++みたいに、引数で渡したオブジェクトの中身は触らないよ!みたいな指定って出来ませんか?
889 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:02:11 ] void FuncA() { Console.WriteLine("A"); } void FuncB() { Console.WriteLine("B"); } void FuncC() { Console.WriteLine("C"); } Action x; Action y; x += FuncA; x += FuncB; x += FuncC; y = x; x -= FuncB; // FuncAとFuncCが残る y -= x; // FuncBだけ残るはず y(); Bだけ表示されると思ったのですが、A, B, C全て表示されました。 x -= FuncAやx -= FuncCにした場合は、ちゃんとAだけCだけ表示されます。 なぜでしょうか?
890 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:34:38 ] delegate の -= はコンパイル時に Delegate.Remove に解決される。 で、Delegate.Remove の解説はこれ。 > value の呼び出しリストが source 呼び出しリスト内の隣接している一連の要素と一致する場合は、 > source の呼び出しリスト内に value の呼び出しリストが含まれていると見なされます。 > value の呼び出しリストが source の呼び出しリスト内に複数回出現する場合は、 > 最後に出現した呼び出しリストが削除されます。 x -= FuncB すると x には FuncA, FuncC というリストが残る。 y は FuncA, FuncB, FuncC というリストだから、 「リスト内の隣接している一連の要素」に一致しなくなる。
891 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:47:11 ] >>888 必要とされる理由がないので無い
892 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 15:00:03 ] >>888 俺もそれ欲しいんだけどなあ。 Dictionaryとか参照だけさせたいときは読み取り専用ラッパで包むしかないんだろうか。
893 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 16:28:23 ] >>867 ありがとう。参考にさせてもらいます。 思ったより長くなるんですね
894 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:22:34 ] >>891 このメソッドに渡すこのインスタンスは中身が変更されるんだろうか? って気になることあるじゃんか サマリーに明記するしかないのかね 例外なんかはサマリーにかけるよね
895 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:39:42 ] そういう場合インスタンス渡さないから気にならないなあ。
896 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:59:29 ] 何でもかんでもListとか要求する関数とか書いてそうだな>>892 、>>894
897 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:33:51 ] C++でconstを活用してない人は疑問に思わないんだろうな
898 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:39:25 ] 次はフレンドクラス作れるようにしろとでも言い出すのかよ バカか
899 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:42:19 ] 馬鹿ですけど何か文句あるか?
900 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:45:45 ] >>896 で、こういう場合C#ではどうするの?
901 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:46:37 ] >>897 学習能力衰えた脳筋はC++から出てくんなハゲ。
902 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:49:24 ] >>900 例となるメソッドとクラスを提示してくれよ。
903 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 19:05:34 ] C#でやるならIReadOnlyHogeとその派生のIHoge(クラスでもいいけど)を作るのが自然だと思う。 C++のconstの概念は、実質的にそういう2つのクラスを作っているも同然だって。 まあ、IList<T>とその周辺はそういう風になっていないけどさ。