1 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:17:20 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C#, C♯, C#相談室 Part59 pc12.2ch.net/test/read.cgi/tech/1274019232/ Visual C# 2010 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>1-5 くらい
175 名前:デフォルトの名無しさん [2010/07/03(土) 17:43:27 ] 詳しい人だけど時間がないので説明しない
176 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 18:08:15 ] >>174 なんだこの厨房丸出しの質問は C#で作られたDLLってネイティブコードで動いているプロセスにそのまま注入できるのか?それなら普通のセオリー通りにやればいいんじゃね。
177 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:07:20 ] >>175 時間がないなら2chみてんじゃねーw >>176 具体的な手順頼む。 ネットで調べたらDLLインジェクション自体はサンプルが落ちててできそうなんだ だが、exeのプロセス隠蔽とDLLインジェクションが自分の中でうまく繋がらなくて
178 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:27:10 ] >>177 DLLインジェクションというのは、他のプロセスにDLLをインジェクション(注入)して、そのDLLを実行させるというだけの技術。 実行されているDLLはWindows標準のタスクマネージャーには表れないから、DLLを注入して他のプロセスに実行させることで、結果的にプロセスを隠蔽しているようになるというだけの話。
179 名前:デフォルトの名無しさん [2010/07/03(土) 19:28:13 ] >>172 バインドはMVVMには必須じゃない。普通にイベントハンドラで書け。 MVVMのキモはViewModelがViewに依存しないことであって それさえ守られてればViewのコードビハインド書いても問題はない。
180 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:30:56 ] >>178 レスサンクス explorer.exeにAというDLLを注入した場合、A.dllで何か処理を書かないといけないと思うんだが 普通のexeみたいに何か処理をするdllを作成するのってできるの?
181 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:35:00 ] >>179 依存しないからこそViewModelの差し替えでViewの挙動を容易に変える事ができるんだよね? イベントハンドラでデータを操作する内容をViewに書いたらMVVMの形式が崩れてしまうし ViewのハンドラからViewModelに橋渡しするとなるとDataContextの差し替えだけではすまなくなり容易性が失われる(Viewの内容を知っていないといけない) イベントハンドラ書いたらMVVMじゃ無くなりまするですよ…
182 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:36:32 ] >>180 > 普通のexeみたいに何か処理をするdllを作成するのってできるの? でなきゃDLLが存在する意味がないだろ。
183 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:38:48 ] >>182 C#でクラスライブラリを作ったりするとdllで出力されるのはわかるんだが dll単体で処理を行うのは無理じゃ?
184 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:42:32 ] わかんないならあきらめろよ・・・。
185 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:43:14 ] やってることはこっちだが、理解がふらっとの方に行ったほうがいいレベルだな
186 名前:デフォルトの名無しさん [2010/07/03(土) 19:45:39 ] >>181 いやそもそもViewModelの差し替えなんか不可能。 ViewModelはViewの抽象化だから、 ViewModelを差し替えるのは例えればクラスの基底クラスを差し替えるようなもの。 差し替えられるのはViewの方。Viewのテストが面倒だからViewModelで抽象化して ViewModelを単体テストできるようにしましょうっていうアイデア。
187 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:55:02 ] >>186 うそーん! 共通のWindowで共通のコントロール ただしデータが微妙に違ってそれによる制約や検証が微妙に違うものが複数ある そしてModelは同一又はプロパティ数が同一 こう言う事って結構あるよね? んで View(共通のコントロール) ViewModel(検証とCommandによる操作、及びレガシーModelの包括) で分けてViewModelを差し替える事で使い回ししてるよ でもここで出てきたのがView配置のPasswordBoxちゃん こいつがDependencyObjectじゃないとBindさせねぇ〜とか言っちゃう んで、これをどうViewModeで吸収?してModelに渡すのかがググってもさっぱりわかんない お手上げちゃーんなのです
188 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:56:41 ] >>184 >>185 回答出来ないなら黙ってていいよ
189 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 19:58:49 ] バインドしてOKみたいなもんはTextBoxでいいよ
190 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:03:59 ] 誕生日になるとメッセージを表示するプログラムを本人に築かれないように 仕込みたいんだが、どうすればいい? プロセス隠蔽ができないとタスクマネージャ開いてばれるかもしれんし。
191 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:08:04 ] >>190 そんな方法はない。 仮にあったとして、そんなセキュリティーホールが放置されてると思うか?
192 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:09:30 ] >>191 仕込むの自体は手動でやるからいいんだが、 プロセスの隠蔽は普通にできるだろ?
193 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:11:03 ] 隠蔽はあるだろ… タスクマネージャのタスク一覧を直接弄って消すのは10年前のウィルスですらやってる事 今はサービス、他社のタスク一覧まで消す奴もある
194 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:11:45 ] 常駐させずにタスクスケジューラに登録しとけ
195 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:17:16 ] >>194 おまい、天才だな・・ サンクス
196 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:18:25 ] >>190 そいつの心臓が弱くていきなり出たメッセージに驚いてポックリ逝ったら責任とれるのか?あ?
197 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:18:51 ] >>190 本人に直接言え。
198 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:19:09 ] >>196 スキルのねぇカスはひっこんでろ
199 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:20:33 ] それはキモいというか、普通にそんなことされたら嫌だろよ。
200 名前:196 mailto:sage [2010/07/03(土) 20:22:38 ] >>198 176も178も私ですけどスキルがなくてすいませんねえ
201 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:23:20 ] タスクマネージャの心配はするのにタスクスケジューラはOKってどういうことだよw 確かにタスクスケジューラなんてまず使わないけどな。 俺に言えるのは、100%確実な方法はないってことだな。 パソコンの操作を全部記録するようなソフトを入れてないとも限らないし。
202 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:25:29 ] >>201 普通、タスクスケジューラなんて使わないよな? ちょっと不安になってきたw 操作を記録するソフト入ってたら無理だなw
203 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:28:44 ] 勝手にアプリを入れさせるようなレベルなんだし、 スタートアップに置いといてもばれないんじゃね?
204 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:31:04 ] スタートアップに入れておけ。 誕生日に起動した時だけダイアログを出して他のタイミングは即座に終了して消えるようにする。
205 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:33:25 ] スタートアップはたまに覗いたりしないか?
206 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:34:35 ] svchost.exeって名前にしとけ
207 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:35:44 ] >>200 事実は事実
208 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:43:33 ] >>190 誕生日はお前以外の相手と一日中デートしててPCを起動しない可能性は? カーチャンとかだったらごめん
209 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 20:51:35 ] >>187 そりゃMVVMじゃなくて君が開発した別のパターンだ。 MVVMに関するMSの記事のどこを見てもそんなことは書いてない。 もちろんWPFはそのパターンを公式にはサポートしてない。頑張るのは君だ。
210 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 21:00:56 ] >>209 えー だってMVVMのパターンの概要を見るとViewとViewModelの分離の事は書かれてるよね この疎結合の副作用を利用して差し替えをしてるだけであって完全マイルールってわけじゃないよー それにイベントハンドラを書くのは結合度の観点からも勧められないと著名人達は口を揃えて言ってるよん 誰かAdorner何かを使ってTextBoxをマスク処理してるコードを格好良くみせてくれないかなーとか期待してたんだけど無理かなぁ
211 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:16:45 ] WPFしらんのでテキトーだけど、UserControlをアダプタとしてPasswordBoxのせて、 仲介してもらうとかできない?
212 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:20:00 ] >>211 ググるとそのやり方をやってる風なコメントがあるよねー んー、やっぱりその方法がいいのかな と言う前に、やってみるか!
213 名前:デフォルトの名無しさん mailto:sage [2010/07/03(土) 23:45:58 ] >>212 うむ。そうするのじゃ
214 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:08:00 ] MVVMにこだわるんだったらそのUserControlのためにまた別のViewModelが必要だから UserControl作ったって同じことでしょ
215 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:09:26 ] おぬし、ViewModelを勘違いしとるぞい
216 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:10:07 ] というと?
217 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:13:29 ] なんで別のViewModelが必要と思ったの?
218 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 00:54:11 ] ViewModelを差し替えたいならせめてインターフェイス通すべきだろ 実際のバインディングの動作には全く関係ないけどね 公式サンプルのPrismはViewがViewModelをインターフェイス経由で露に参照してる 差し替えたりしてはいないけど、バインドするVMのメンバは基本的にインターフェイスに宣言されてる
219 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:04:25 ] Prismをかなり使い倒してるんだがそんなインターフェイスでViewとViewModelを繋いでるサンプルなんてあるか? RegisterTypeでIDataService何かのサービスをレジストしたりするのはよくやるが
220 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 01:44:52 ] 素人としては、ViewModel をストラテジパターンの要領で差し替えて使ってると 認識してて、そうなるとインタフェース必須だと思ってるんだけど違うの?
221 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:07:06 ] Prismにしろ何にしろViewModelにインターフェイスは使えないだろjk RoutedUICommand一つとってもViewModel側にstaticで定義しないと駄目なんだぞ?
222 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:08:56 ] あ、インタフェースって言ってもViewModelから呼ばれるストラテジのインタフェース って意味で。 そういう感じで作ればXAML共通で、VMの実処理だけ差し替えられるよな?と。
223 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:10:11 ] つまりどういう事だってばよ!?
224 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:22:57 ] つまり、固定のViewModel と、固定の Model の間で検証したりするロジックが いくつかパターンがあるんで、それをアダプタ化して差し替え可能にしてるって ことじゃね?>>187 は。
225 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:25:42 ] とか思ったら PasswordBox 悩む必要無さそうだな、それじゃw
226 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:48:34 ] BというクラスがあったとしてAクラスで A hoge = new A(); というように実体が作られたとします。 そこでBクラスがAクラスで実体が作られたという事を知ることはできないでしょうか? Bクラスのコンストラクタで作られたクラスを取得したいです。 引数にでもして入力すればいいとも思うのですが自動でとれたら便利だと思いました。お願いいたします。
227 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:49:20 ] A hoge = new A(); は B hoge = new B(); です、失礼しました
228 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 02:54:04 ] ttp://msdn.microsoft.com/en-us/devlabs/ee794896.aspx これ使ってObserverを使う
229 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 07:17:08 ] どうもどうも〜
230 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 11:07:45 ] Rxってイベントベースじゃなかったっけ? A側にもB側にも特別なコードを追加せずにnewを検知しようと思ったら ILのリライトしかないと思うけどそんなことやってくれるの?
231 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 12:07:23 ] >>230 Rx 進めてる時点で、>>229 はそういうイベントコード書けって事だと思うけど。 ぶっちゃけ、それなら、class B に static な NewInstance イベントでも足して、 B のコンストラクターでイベント起こせせばいい気はする。 特別なコード足したくないならそれは無理。
232 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 12:46:38 ] IEnumerable,yield,ToObservableで簡単に実装出来るけどな ただRx強力かつ難解なんで上級者でも中々手がない代物 複数人の開発じゃ手が出しにくい
233 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 12:47:31 ] ×ただRx強力かつ難解なんで上級者でも中々手がない代物 ○ただRxは強力かつ難解なんで上級者でも中々手が出せない代物
234 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 12:58:47 ] イベントベースの非同期プログラミングが面倒だから LINQ使ってDSLっぽくイベントハンドラを作ろうというやつだよね そんなに難しいの?
235 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:10:36 ] うーんどうだろ。 Rx が難しいっていうよりは、C# のイベント機能が簡単すぎる気もする。 あとは、やっぱドキュメント少ない。
236 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:22:00 ] using System; using System.Diagnostics; namespace OnCreate { class B { static event Action<Object, EventArgs> Created; public B() { OnCreated(new EventArgs()); } void OnCreated(EventArgs arg) { if (Created!=null) { Created(this, arg); } } static void Main(string[] args) { Created += CreateEventHandler; B b = new B(); } static void CreateEventHandler(Object obj, EventArgs arg) { Console.Out.WriteLine(new StackTrace().ToString()); } } } とか言ってみるテスト。スレッドセーフじゃないよなぁこれは。
237 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:24:37 ] Rxはおもしろ事が出来そうなんだけどドキュメント少ないし やっぱり非同期系は難しい Rxよりはいるけど.Net4の並列系も使いこなしてる人がすくないよね
238 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:26:15 ] ttp://sazameki.jp/programming/programmer-levels C#じゃないけど、それとなく当てはめてみて おまいらはどのレベルなの?
239 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:29:53 ] それ微妙に納得いかないのよねぇ。 レベル1とかのプログラミングの基礎知らなくても、 専門知識だけ持った人が専門知識を生かせるような簡単プログラミングの時代来ないとダメだ。
240 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:30:44 ] Rxでいう非同期はマルチスレッドの非同期じゃなくて 同期スタイルなら { キーが押されるまで待機(); A(); キーが押されるまで待機(); B(); }と書けるところを キーイベントを使った"非同期"スタイルだと状態を保持する変数を持たないといけなくて面倒だよねという話
241 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:32:31 ] >>238 それで行けば専門家レベルだな 基準がぬるいよ
242 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:36:00 ] >>240 その状態を保持しながら通知するから便利なんだろ? 簡単に言えばステートフルな非同期処理 だから強力なのさ
243 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:38:52 ] >>238 これの初級レベルでここや初心者用で質問したら ググれと言われて相手にされないだろwww と思ったけど大学4年以上いっても初級レベルの奴がゴロゴロいるよな…
244 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:49:26 ] >>236 void OnCreated(EventArgs arg) { var created = Created; if (created!=null) { created(this, arg); } } これでスレッドセーフ? 関係ないけどイベントハンドラ用のデリゲートを作りたくなかったらEventHandler<TEventArgs> それと引数なしのEventArgsはEventArgs.Emptyを使う
245 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:51:38 ] > var created = Created; そのテクニックどっかでみたな? どこだっけ?
246 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 13:59:09 ] >>244 >スレッドセーフじゃないよなぁこれは。
247 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 14:07:55 ] じゃあスレッドセーフにしてくれ ロックはなしで
248 名前:245 mailto:sage [2010/07/04(日) 14:19:44 ] あー思い出したわw MSDNだ、そうそうw ttp://msdn.microsoft.com/ja-jp/library/ms173168%28VS.80%29.aspx で、横からだけどスレッドセーフ public event EventHandler<EventArgs> Created = (_, __) => {} こいつはPropertyChangedなんかで使われるテクニックだわな (Week何とかつかえとかPrism使えとか言われてるけどw) まー、このケースで言えばこれでOKだろ さぁ、俺を褒め称えよ!w
249 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 14:26:00 ] 245△
250 名前:245 mailto:sage [2010/07/04(日) 14:34:44 ] >>249 なはw 律儀にあんがとさんw
251 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:10:24 ] すまん。>>244 の"スレッドセーフ?"と言ったのを、 >>236 の最後を見落としてて 揶揄してるんだと誤解してた。スレッドセーフにしてくれてたのね。
252 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:19:27 ] いいよ気にしないで 慣れてるから
253 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:29:03 ] >>244 これってなんでスレッドセーフになるの? 解説を聞きたい!
254 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:29:43 ] >>248 public event EventHandler<EventArgs> Created = (_, __) => {} これもなぜこれだけでスレッドセーフになるのかわからにぃ
255 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:32:20 ] >>253 null比較がスレッドセーフではないからローカル変数に一時待避でスレッドセーフ >>254 null比較しなくていいように前もって空イベント挿入でスレッドセーフ また、△ってしてもいいんだぜ!
256 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:36:57 ] >>253 if (Created!=null) { /* この間に別のスレッドがイベントを-=してCreateをnullにする可能性がある */ Created(this, arg);
257 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:43:18 ] はあ・・・また自演っぽいな
258 名前:fushianasan mailto:sage [2010/07/04(日) 16:46:58 ] 別に自演じゃないよ。 ホントにわかんないだけ。
259 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:50:31 ] >>256 var created = Created; Created-=********** --この時点でcreated -= ********* したのと同じことにはならないの? 参照型でしょイベントって。
260 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:58:33 ] add/removeしたら別オブジェクト a += b;は TDelegate c = (TDelegate)Delegate.Combine(a, b) a = c; の略で、このとき Object.ReferenceEquals(a, c)もObject.ReferenceEquals(b, c)もfalse
261 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:59:26 ] 君は var objA = new object(); var objB = objA; この時どうなると思ってんだ? ちゃんとポインタ(厳密には違うけど)はコピーされてるんだぞ
262 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 16:59:42 ] ならないの。デリゲートはStringと似たつくりになっていて、一度作成したインスタンスは変更できない。 イベントの実装はこうなってる private EventHandler _Created; public event EventHandler Created { [MethodImpl(MethodImplOptions.Synchronized)] add { _Created = (EventHandler)Delegate.Combine(_Created, value); } [MethodImpl(MethodImplOptions.Synchronized)] remove { _Created = (EventHandler)Delegate.Remove(_Created, value); } } [MethodImpl(MethodImplOptions.Synchronized)]のおかげでaddアクセサとremoveアクセサの呼び出しもスレッドセーフ。
263 名前:253,254,259(261は別人) mailto:sage [2010/07/04(日) 17:27:30 ] >>260 ,>>262 解説ありがとう。 参照型だけど毎回インスタンスが生成されるクラスなんですね。 理解しました。
264 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 17:39:38 ] 何読んだらそう言うのがわかるようになるの?
265 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 18:47:37 ] >>255 > null比較がスレッドセーフではないから そういう話じゃないような
266 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 19:01:53 ] >>265 うん、間違えたw
267 名前:デフォルトの名無しさん mailto:sage [2010/07/04(日) 22:59:50 ] あほか。nullはスレッドセーフだわ、ボケ。
268 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 01:22:17 ] えっ?
269 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 01:44:53 ] >>244 実はECMAの仕様ではスレッドセーフではなかったり。
270 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 03:05:16 ] 完全なスレッドセーフなど存在しない
271 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 03:07:36 ] しかしlockを何個も書くのはかっこ悪いしめんどいんだが このオブジェクトは最初から排他仕様だからよろしくみたいなことは出来ないのか?
272 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 10:20:28 ] 比較自体はスレッドセーフじゃないからあながち間違いではないけどな
273 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 13:46:46 ] は?
274 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 14:22:32 ] >>272 だよな 間違ってないよな さすがだな
275 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:20:35 ] え? obj = nullは常にスレッドセーフだよ? あと obj = 0とobj = falseもさ 大丈夫?あぁネタかw
276 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 17:24:40 ] ほ?
277 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:27:47 ] それがどうであるかと>>244 がなぜスレッドセーフなのかはまるで関係ないよね。
278 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 18:57:15 ] >>275 obj = ""が抜けてるよ♪
279 名前:デフォルトの名無しさん mailto:sage [2010/07/05(月) 22:54:43 ] >>277 >>244 がスレッドセーフであることの前提条件ではあるだろ
280 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:39:11 ] C#でDllMainって使うにはどうしたらいいかわかるひといる?
281 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:45:48 ] うん
282 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 00:49:24 ] >>281 マジで知ってるなら教えて下さいm(_ _)m
283 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 01:45:26 ] >>282 COMコンポーネントあたりでぐぐってみるといいよ サムネイル表示するのをWindows7に移植しようとC#で作ってみたが その時にそんな感じのことをした気がする 結局動かなくてテストに毎回再起動するのがまんどいので放置してるが
284 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 02:58:32 ] >>279 いや、そんなことないが。落ち着け。
285 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:03:12 ] とまぁ、えらそうに申しておりますが、俺も>>248 >>262 で初めて知り、 >>265 のツッコミをした程度のへっぽこです。 知らなかったらlockステートメント使ってたと思う。
286 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:30:32 ] んなこたあどうでもいいから>>282 に教えて上げなさい
287 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:39:33 ] 質問が曖昧すぎて回答できません
288 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:43:35 ] とりあえずクラスライブラリとかDllImportとか曖昧回答して上げなさい
289 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 03:46:10 ] ぐぐったら少ないけど情報出てくるね。
290 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 10:41:53 ] デッドロックの恐れがあるからCLR2.0以降では禁止されているという話らしいよ
291 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 12:48:59 ] 約束は破るためにあるっちゅうことやな
292 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 13:06:04 ] ところでこいつを見て欲しい。どう思う? ttp://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_22/extremecs_22_02.html Observerの変形と言えなくもない気がするが、状態オブジェクトが焼け太りしそうな悪寒。 実際んとこ、コレどんな場面で有効だと思う?
293 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 13:31:43 ] Observerとかいう次元じゃなくてアプリケーション全体の構造の話でしょ ステートが絶対に変化しないならいいんじゃないの 素直にやったら全部グローバル変数と変わらないから、テストのことを考えると IProductsStateとかインターフェイスで小分けすることになるだろうけど インターフェイス使っちゃうと後で変更がきかないよね
294 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:09:25 ] >「銀の弾丸」が存在しない以上、「ステート集約プログラミング」も銀の弾丸ではありえない。 >「ステート集約プログラミング」とは、あなたが“カオスの縁で踊る”ステップのバリエーションを増やすものであって、 >他のステップがなくてもよいと主張するものではない これだけでなんかオタ臭さをすげぇ感じるわ。
295 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:45:39 ] オタですがなにか?(-_-メ)
296 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 14:57:12 ] 状態オブジェクトの変更に弱い に尽きるな 筆者もそれはわかっててわざと誤魔化した書き方をしてるように見える 結局グローバル変数と一緒だわね
297 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 15:07:06 ] >>294 実戦で役立つなら考案者が厨二でも邪気眼でも構わんが、これは正直微妙な感じ 他の人も指摘してる通り、ちょっとヲサレなグローバル変数以外の何者でもない罠 とは言え、相互作用する状態が大量発生するような手合いだと、Observerパターンでも苦しいのは事実 なんかうまい方法はないもんか
298 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 15:28:57 ] なんかレベル低いことをわざわざ敷居高くして難しく書いてるだけな気がする。
299 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 16:35:04 ] >>280 msdn.microsoft.com/ja-jp/library/ms173266.aspx DllMainではマネージコードを実行してはいけないという制限があるので 「C#では不可能」というのが答えだな C++/CLIでそこだけネイティブコードのみで実装する必要がある
300 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 17:19:05 ] >>292 一つ前の記事の日本語でテスト名は書けというのは共感出来た。 ビジネスロジックのテスト名はそっちの方がわかりやすいしね。
301 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 17:36:41 ] だね
302 名前:292 mailto:sage [2010/07/06(火) 17:58:00 ] 皆THX. アレは文中でもある通り、DBの簡易代替に過ぎないんだろうな。 >>300 まあテスト名くらいは許容できるが、変数名を日本語で書くのは俺はあかん。 インテリセンス使えねえじゃん。
303 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 18:51:18 ] あかんね
304 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:13:21 ] 変数全部に/// <summary>と/// <remarks>を。
305 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:43:28 ] 日本語使うとインテリセンス使えないんだっけ? 使えたように思ったけど気のせいか
306 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 19:58:50 ] 変換して確定しないと候補が出てこないんだから、インテリセンスの意味なし。
307 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:01:19 ] 候補が出てこない訳じゃないだろう ピリオド打った後カーソルキー上下とかスクロールつまみ動かすとか まあインテリセンスのメリット低下は確かだが
308 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:10:16 ] そうだね
309 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:35:39 ] >>292 もう中身以前にい近づきたくない感じ
310 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 20:41:00 ] >>306-307 そこでイニシャル付き変数ですよ。k金額とかn日数とか。 というか、日本語の変数名を簡単に検索できるアドインを作ったら結構受けるかもな。
311 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:20:13 ] migemoを組み込むってことか?
312 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:23:28 ] 川俣に期待するなと・・・
313 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:36:21 ] なんで?
314 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:41:06 ] 匿名掲示板のレスにいちいち理由なんて期待するなと・・・
315 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 21:53:36 ] >>313 やってることがいろいろと可笑しすぎる。
316 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:15:34 ] MVVMのView側って何書くの? Command Binding出来ないDragDrop系とか?
317 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:23:00 ] Modelに依存しない処理。 Click系のコマンドでViewの操作のみならViewModelに書かずViewの中で完結する。 DragDropの事後処理等でModelに依存するコードがあるならその部分だけViewModelに書く。 無いならViewで完結。 間違ってもView内のハンドラでModelを触らない事。
318 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:23:18 ] 某スレに載ってたんですけど、 Jane Style 3.4 を使って2chに書込みをすると C:\\Document And Setting\【スズキ タロウ】 という部分の文字列までパケット送信してるらしいのですが、 誰か逆アセンブルして解析した方はいますか? ※前々から2ch専用ブラウザは怪しいと言われていたのですが・・・ 場合によっては警視庁ハイテク化にアプリとソースを引き渡します。
319 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:24:22 ] >>299 マジレス感謝m(_ _)m キーロガー作ってプロセスを隠蔽しようと思ったらやっぱC#じゃ無理か・・・ がんばってC++勉強します。。
320 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:25:11 ] >>317 MVPレベルキタコレ! 凄くわかりやすかったです サンクス
321 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:30:01 ] またこいつか
322 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:41:03 ] MVPと言えばいつも見てる高スキルのブロガーが落ちてたな かと思えば何もしてない人が選ばれたり… あれの選別基準がいまいちわからん
323 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:43:58 ] あれは、コミュニティを運営してる人、もしくはライター。 Most Valuable Professionalとは名ばかり。
324 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:45:15 ] むむむ… そう言う事か…
325 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 22:47:58 ] オレも以前受賞したことあるけど、雑誌に記事書いてたのが評価されたみたい。 他にはとくに活動してなかったし。
326 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:47:43 ] >>316 きっちりやれば、たいていの場合XAMLしか残らない。 C# 側は、テンプレ通りの InitializeComponent() のみに。 全く持ってその通りで、一部の Command Binding できないものとかのために しょうがなく View の分離コードに何か書く。
327 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:52:33 ] MVP の評価基準が、やっぱ露出度で計られるんで。 (「MS に対する貢献」って言い方されるけども、結局それは好意的な記事の露出。) コミュニティ運営と、編集の校正入るウェブ記事は評価高いっぽい。 ああ、あと、MS Connect へのフィードバック数とか、 フォーラムでの書き込みすうとか。 最終的に評価は米本社側でやるんで、 検索でどれくらいの位置、PV いくら、執筆本数いくら、会員数いくら とか、客観的な数字がある方が受けるみたい。
328 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:56:09 ] >>318 の質問誰か答えてちょ
329 名前:デフォルトの名無しさん mailto:sage [2010/07/06(火) 23:57:14 ] コピペ君って馬鹿だな、まで読んだ。
330 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:14:17 ] >>328 自分でパケットキャプチャしろ
331 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:18:09 ] >>328 応援してるよ頑張ってね
332 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:25:08 ] >>328 あ
333 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:27:29 ] ここは328を応援するスレになりました
334 名前:デフォルトの名無しさん [2010/07/07(水) 00:46:39 ] >>328 逆アセしなくてもwiresharkのようなソフトで通信をモニターすればいいんじゃね? まあ個人名称をそのままユーザーにしてる人もいるだろうから気持ち悪いよね Styleは使ってないのでアレだがその情報はどこへ送ってるの?
335 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:48:41 ] 正直名前くらい漏れてもいい
336 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:52:30 ] >>334 各板の鯖 Reflectorでソース解析済み。 >>335 2chにはプロ固定がいるのをお忘れなく
337 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:52:50 ] コピペ君にマジレスって.... っていうか、「送信してるらしい」ってどこの誰にだよ。 2chのサーバー?w 仮にそうだとして、どこぞのPCのユーザー名なんか収集して何の役に立つんだ? それはソフトの作者にとって、犯してるリスクに見合うものなのか? なわけないだろw 被害妄想狂の想像とちがって、お前さんの個人情報(にすらならんがユーザ名なんか) になんか1円の価値もないよ。 こんなの小6レベルの推理力でわかる話だと思うが。
338 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 00:56:18 ] >>336 > Reflectorでソース解析済み。 結論が出てるならそれでいいじゃん。
339 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:07:25 ] >>337 2ch プロ固定 でググレ そしたらなぜ不味いかが分かるはず。
340 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:07:59 ] Jane Styleって.NET製じゃないよな
341 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:16:59 ] プロ固定…。 んーなんかデジャブ。 前に見たのはオカルト板だったはず。 だからその手の都市伝説はあっちの板でやれ。
342 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:30:14 ] >>340 Delphi
343 名前:デフォルトの名無しさん [2010/07/07(水) 01:30:53 ] スクロールバーについて質問をしたいのですが、 スクロールバーで値を変更したときに、 フォーム内のすべてのコントロールの表示位置を変更する様な プログラムを組むのでしょうか? それとも、根本的になんか、勘違いしているでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:34:49 ] Jane StyleはDelphiのはずだが>>336 はReflectorで何を見たんだ…? これはマジでオカルト板の出番かもしれん
345 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:47:19 ] >>343 Panelとかの上に全てのコントロールを乗っけてPanelだけ動かす まあ普通はAutoScroll使う
346 名前:デフォルトの名無しさん [2010/07/07(水) 01:49:15 ] >>340 ReflectorはDelphi対応みたいね Delphiって中間コード持つような言語だっけ?
347 名前:デフォルトの名無しさん [2010/07/07(水) 01:50:33 ] >>336 気になるならスパイウェアのような挙動をするとしかるところへ報告しておけばいいんじゃね? ローカルのアカウントに個人名使ってればIPとひも付きでデータが集まるしなあ その程度だとそれほど価値はないがそういう兆候があるってことは そのうち何かやりかねないので注意を促すと言う意味では動いた方がいいかもしれない ソフトの監視という意味でね 利用者多いし
348 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:51:57 ] あふぉか
349 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 01:52:38 ] というのは>>346 あて
350 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:01:16 ] Reflectorで見れるのはDelphi.NET。 (2003年に出たDelphi 8から.NET対応の製品がリリースされてる。) ネイティブコンパイルされるDelphiは.NETと無関係なのでReflectorでは見れない。 Jane Styleは後者。
351 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:15:40 ] C#とは関係ないな。陰謀論は他でやれ
352 名前:デフォルトの名無しさん [2010/07/07(水) 02:18:10 ] >>345 ありがとうございました。 オートスクロールってプロパティ、 2002年のバージョンのc#には無かったですよね? 確か、そんな気がしましたが。 最近乗り換えたもので。
353 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:49:29 ] Left,Top,Width,Heightと4つそろった構造体は標準で用意されてませんか? Pointは二つ(X,Y)のみなので、これの4カ所バージョンを探しています。
354 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:52:33 ] RectangleとかRegionとか
355 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:55:10 ] Regionは気のせい
356 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 02:56:06 ] 出来ればSharp系のクラスではなく構造体で・・・
357 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:00:53 ] これ構造体だったはず >.NET Framework クラス ライブラリ >Rectangle 構造体 >四角形の位置とサイズを表す 4 つの整数を格納します。より高度な領域関数を使用する場合は Region オブジェクトを使用します。 >名前空間: System.Drawing >アセンブリ: System.Drawing (system.drawing.dll 内) >構文 >[SerializableAttribute] >[ComVisibleAttribute(true)] >public struct Rectangle msdn.microsoft.com/ja-jp/library/system.drawing.rectangle%28v=VS.80%29.aspx
358 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 03:02:08 ] >>357 そですた…。 WPFやってるとごっちゃになるから勘違いしてしまったorz サンクス。
359 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 06:59:42 ] >>352 バージョン情報 .NET Framework サポート対象 : 4、3.5、3.0、2.0、1.1、1.0 >>358 WPFにだってRect構造体があるし(こっちは各要素がdouble型だが)
360 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 07:30:45 ] >>359 みつけた。サンクス。
361 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:08:13 ] #include<stdio.h> struct kou{ int ZAHYO data[4]; double data[3].x=(data[0].x+data[1].x+data[2].x)/3; double data[3].y=(data[0].y+data[1].y+data[2].y)/3; }; void main(void) { int data[4],i; for(i=0;i<4;i++); data[i]=(data[i].x,data[i].y); printf("重心=(%f,%f)"data[3].x,data[3].y); return 0; } これエラーが12個でるんだがそのエラーを消したい。手伝ってくれ ちなみに問題は構造体を使って平面上の3点の座標を入力して三角形の重心を求める問題だ
362 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:09:52 ] お断りします
363 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 09:35:33 ] 釣りだろw スレタイ読めないバカがいるとは思えん
364 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 10:45:07 ] スレタイ読めるのか!すごいな!
365 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 11:13:51 ] 学者さんだよ
366 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:16:15 ] しーしゃーぷ しーしゃーぷ しーなんばー そうだんしつ ぱーとろくじゅう
367 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:31:55 ] VIPPERはム板へ立ち入り禁止
368 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 14:32:08 ] 泣いた
369 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:32:30 ] []をオーバーライド?するにはどうすれば? 検索しても出てこないんですが class AがあったらB=A[0];みたいなアクセスがしたいんです
370 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:36:26 ] >>369 は解決しましたが foreach inに対応する方法がわかりませぬ
371 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:36:42 ] できるよ、オーバーライドではない方法でだ。 プロパティ関連をしらべろ。
372 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:39:14 ] List<A>から派生されたら出来た
373 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:41:29 ] >>370 IEnumerable<T>インターフェースを実装すれば対応する
374 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:46:48 ] IList<T>じゃねーの
375 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:50:59 ] おいおい…
376 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 15:54:07 ] あーごめん最初の質問しか読んでなかった
377 名前:デフォルトの名無しさん [2010/07/07(水) 17:02:36 ] homepage3.nifty.com/kons/hidemaru/helpsite/hidemac/html/200_Dll.html のDLL側の関数の作り方 を参考に C#を使って秀丸エディタのマクロから呼び出すDLLを作ってます。 内容は秀丸マクロからDLLを呼び出して1234(数値)を返す動作です。 test.cs(以下の4行の内容)をコンパイルしてtest.dllを作成しました。 class Test{ static int Main(){return testNum();} public static int testNum() {return 1234;} } これを秀丸マクロで以下のようにして呼び出してmessageで1234と表示させたいのですが「dllfunc関数で指定された呼び出し先が見つかりません」エラーが出ました。なお、秀丸マクロからDLLの読み込みは出来てました。 $dll = "test.dll";loaddll $dll;#a = dllfunc("Test");freedll;message str(#a); // 秀丸マクロ test.csをどのように書き直すと良いでしょうか?どなたかご教示お願い致します。
378 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:03:47 ] ネイティブからマネージのDLLってよべるんだっけか?
379 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:06:59 ] COMにするかC++/CLIはさむかしないと
380 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 17:22:13 ] 逆P/Invokeと言う手法もないわけではない
381 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 19:33:10 ] 素人の集まりか 呼べないわけないだろ
382 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:05:01 ] そうやって煽っても無い袖は振れませんので^^;
383 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:05:05 ] .NETのアセンブリにネイティブのエントリポイントを作成して呼べるようにするのも 不可能じゃないんだけど、一筋縄じゃいかない。 秀丸のマクロから呼ぶのが目的ならCOMのサーバを作るのが手っ取り早いでしょ。
384 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 20:46:25 ] ホストAPIでCLRバージョン指定してアプリケーションドメイン作ってマネージランタイム読み込んで 実行。終わったらアプリケーションドメインは解放してやらんとDLLがアンロードされないので注意。 とかメンドイわ!やっぱ言うとおりCOMでやるのが一番だな。
385 名前:デフォルトの名無しさん mailto:sage [2010/07/07(水) 23:47:09 ] うん
386 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 00:31:56 ] 素直にC++でやった方が遥かに簡単で軽快なコーdうわやめなにを
387 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 01:44:34 ] まあな。処理内容にもよるけど。 まさか実際に定数を返すだけなんてこともあるまい。
388 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 04:05:23 ] NetWorkStreamクラスのReadメソッドの引数に byte[4096] の変数を指定したら応答なしになってしまいました。 散々動かないと悩んでbyte[1024]にしたら直ったんですが4096の配列というのは大きすぎるもんなんでしょうか?
389 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 05:58:34 ] リソースファイルで、テキストファイルがあるとします。 そのプログラムが実行中に、自分のリソースファイルの テキストファイルを開いて書きこんで保存すると言う事が、 できるのでしょうか? その他、画像リソースファイルなども。
390 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 06:06:48 ] リソースを書き換えはできない
391 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 06:16:17 ] ばぁぶぅ
392 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:01:16 ] すみません以下のコードで例外が発生するんですが、 何が悪いのかわからないのですが・・・ //確実に数値化する private int SetNum(string str) { try { int num = int.Parse(str); return num; } catch (System.FormatException) { return 0; } } お願いします。
393 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:03:58 ] あ、上のコードなんですが int num = int.Parse(str); の部分でブレイクします。。。
394 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:05:00 ] TryParse使うべき
395 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:06:27 ] catchの()いらないんじゃね
396 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:07:08 ] 普通に動くけどどういう状況でどうなるんだ?
397 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:07:27 ] >>394 >>395 なるほど迅速で正確なご回答ありがとうございました。
398 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:13 ] >>396 strに "" が入ってきた時ですね。 2008expでは動いてたんですけど 2010proに代えてから初回例外が発生するようになって どうやらここがおかしいっぽいという感じですハイ。
399 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:16 ] private int SetNum(string str) { int res; if(int.TryParse(str,out res) == false) return 0; else return res; } こんなのとかかな? そもそも例外発生するのは文字列が悪いと思うが、どんな文字列を渡してるんだ?
400 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:09:30 ] 少なくともSystem.OverflowExceptionとか
401 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:10:58 ] なんかJAVA的な書き方だな とオモタ
402 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:11:15 ] どうでもいいが、Setとかメソッド名に使っておいて実体は型変換とかどういうことなの…
403 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:13:29 ] >>402 シーッ Getとか別の名前にする方がいいとかいっちゃダメッ
404 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:21:30 ] >>402 あ、なるほど。 そうですね。 とりあえず //確実に数値化する private int SetNum(string str) { int num = 0; int.TryParse(str,out num); return num; } として問題は回避できたっぽいです。 でもまだイミディエイトウィンドウに 'System.FormatException' の初回例外が mscorlib.dll で発生しました。 っていう文言が正確に数えてないんで分からないですが 100行以上くらい出てるんですがこれなんなんでしょ・・・。 2008expで開発してた時は出なかったんですが。。。 しかもエラーではない様子でプログラムはまともに動いてるように見えるし この例外がどこで発生しているのかもわからないんです・・・(;ω;)
405 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:26:56 ] 2010はいいとしてターゲットのフレームワークはどれなんだろう。 4.0かしら?
406 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:27:34 ] >>405 その通りです
407 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:36:20 ] ちょっと俺も気になるから確かめてくる
408 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:44:09 ] それと不思議な事なんですが イミディエイトウィンドウにもろに表示されてるワケじゃない気がするんですよね。 イミディエイトウィンドウは上から順にメッセージが表示されると思うんですが プログラムの立ち上げが終わった時点でイミディエイトウィンドウには何も表示されていない 部分までカーソルが下がってきてるんですよ。 それで、そのカーソルを上に持っていくと前述の通り大量の 'System.FormatException' の初回例外が mscorlib.dll で発生しました。 が表示されているという・・・。 状況としては questionbox.jp.msn.com/qa3794467.html この質問者の人に似ているかなあと。 加えて、すごく初歩的な質問でもうしわけないのですが C#で開発者が設定できる1番最初のブレイクポイントってどこになるんでしょうか。 Program.csのMain()の Application.EnableVisualStyles(); であってますかね? というのもここでブレイクをかけて見ても既に上述の例外が発生していますもんで gyazo.com/a0b4779e46074481ef531677d615af66.png (こんな感じです) 例外の発生している部分を突き止める事ができないな・・・っていう感じなんです。。。
409 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:47:25 ] イミディエイトウィンドウではなくて出力ウィンドウではないんだろうか? イミディエイトなら自分で出してるだけの気がする。 それはさておき、別にでないんだけどなぁ… それって出力ウィンドウの右クリックで例外メッセージを表示しないようにしてただけとかそういう問題じゃなくて? とりあえずソース private void button1_Click(object sender, EventArgs e) { try { string text = ""; int res; if (!int.TryParse(text, out res)) res = -1; System.Diagnostics.Debug.WriteLine(res); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } }
410 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:52:06 ] うおあ! VSを再起動したら表示されなくなりました・・・。 僕がみていたのは皆さんにアドバイスされる前のコードで生成された メッセージの履歴だったんでしょうか・・・^ω^;
411 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:53:54 ] >>409 さん おそらく1番最初の int.Parse try{}catch{}で分けるという方法が コンパイラの気に障っていた?ようですね・・・。 TryParseを使う事で例外の表示もなくなったようです。 どうも長々とスレ汚し、すみませんでした(^ω^; ありがとうございましたー!
412 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:55:03 ] (#^ω^)ビキビキ
413 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 14:56:21 ] >>412 スマンお(^ω^;;
414 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:01:35 ] >おそらく1番最初の int.Parse try{}catch{}で分けるという方法がコンパイラの気に障っていた? そうではなく、テスト動作させてるときに空文字渡したとか言ってたから キャッチはしているけど例外が発生したから表示されてたんじゃないか? 例外はコンパイルレベルで発生する代物ではないと思うんだ
415 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:11:14 ] >>414 なるほどご明察です。
416 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 15:22:47 ] ■Jane Style 3.4 はスパイウェア namidame.2ch.net/test/read.cgi/poverty/1278496905/
417 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:30:03 ] >Reflectorでソース解析済み。 とか言って騒いでた馬鹿か。
418 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:33:53 ] janestyleてドトネト制だったん? delphiかとおもてた
419 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:43:45 ] ヘルプにはDelphi 7.0 Professionalで開発したと書いてあるね
420 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:47:06 ] >>413 ( ^ω^)ゆるすおっ
421 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 16:55:14 ] >>416 .netじゃねーよ……
422 名前:たった mailto:sage [2010/07/08(木) 17:21:18 ] .netじゃねーけど Reflectorはdelphiに 対応してるみてーだなwwwww ということはdelphiも 中間コード系の 言語なのかよ!? あ!?
423 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:39:55 ] >>422 8から
424 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:41:13 ] っと、8からなのは.net frameworkに載ったのが8からね。 もともとPascal系は中間コード使ってる
425 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:43:38 ] >>418 >>419 無知
426 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 17:56:11 ] >>422 無知な馬鹿
427 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:17:39 ] オープンファイルダイアログと言うコントロールは、 前に使った時のフォルダのパスを覚えてて、 新しく開いたときに、前開いたときのフォルダを最初に見せてくれますが、 この情報は一体どこに覚えているのでしょうか? 普通にアプリケーション設定と同じ位置に覚えているのでしょうか?
428 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:19:39 ] os
429 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:37:21 ] www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html 例えばここにアプリケーション設定の記憶位置が書かれていますが、 そこと同じ様な場所なのだと考えても良いのでしょうか。
430 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:38:22 ] os
431 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 18:38:46 ] カレントドライブ、カレントディレクトリ
432 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:05:02 ] >>429 はい、PCの中に記憶されてますよ。
433 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:09:54 ] HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32
434 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 19:18:14 ] >>430-433 なるほど! ありがとうございました!
435 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:09:18 ] >>433 つまり、レジストリって事? カレントなのかレジストリなのか、それとも、ユーザー設定なのか? どこやねん。 お前らも本当は知らないんだろ。 別に知らないなら答えなくていいのに。 >>434 お前誰やねん。
436 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:11:42 ] いまいちよくわかりません。 説明されているサイトなどに、誘導していただけませんでしょうか。 >>434-435 真面目に質問しています。茶化さないでください。
437 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:15:07 ] とりあえず落ち着け
438 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:16:46 ] >>435 (-3-)<Boo ナリスマシやめれ
439 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 20:19:30 ] / _ .::::ト、  ̄ ´ \ i \ ̄_ ̄_\ \ l )┼┼+( | あ゛あ゛っ!! /ヽ__ i\ i ンダコラッ!! ヽ_  ̄__/  ̄''''‐'' ̄
440 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:12:58 ] >>433 でなんでわからんの??
441 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:15:07 ] イミディエイトウィンドウはデバッグ開始しても勝手にクリアされたりしないよ。 過去に出力された分はずっと残ったままになる。 イミディエイトに出力をリダイレクトする設定をしてなければデバッグ出力に出力される。 こっちはデバッグ開始するたびにクリアされる。 例外発生時にデバッガで停止するのは、まあわかってると思うけどデバッガの例外の設定。
442 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:16:02 ] 寝て起きたら書いてたコードが微妙に書き換えられててうまく動かなくなった 夢だったんだろうか、それとも夢遊病だろうか 夜中ちょっと目が覚めた時にパソコンがついてておかしいなとは思ったんだけど 超怖い
443 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:20:21 ] >>442 ごめん。悪気はなかったんだ…
444 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:27:42 ] >>440 つまり、レジストリなのですね。 解りました。
445 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:42:37 ] コモンダイアログはコモンダイアログがやっていることだから基本的には考えなくていいと思う
446 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:54:41 ] でも、例えばさ、そう言うのって、結局はさ、 自分の作ったプログラムを配布した場合、 ユーザーのパソコンの記憶領域を勝手にいじっちゃうわけでしょ? いつの間にか勝手にレジストリをいじって記憶領域を減らすってのは あまり良い気分じゃないよね。 まあ、実際殆ど問題無いけどさ。 レジストリを散々いじった挙句、そのソフトをもういらないからって削除した場合とか、 無駄な記憶だけが残るだけの結果になったりするじゃない。 なんか、そう言うのって気分悪いのさ。
447 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 21:58:31 ] まあインストーラ付けないならアプリケーション設定は使うべきじゃないな
448 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:01:52 ] コモンダイアログから随分話が飛んでるな
449 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:02:19 ] わしのは、エクスプレス板だから、 ついて無いのじゃ。 確かにインストーラーがあるなら、 OSにアンインストールしてもらえば良いのだけど。
450 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:04:27 ] ほぼ確実に朝になるとノートのバッテリが上がってたんだけど、イベントログ見たら 真夜中にWindowsのCEIPがなんかどっかに通信しようとしてコケてた(そのときLAN ケーブル外してたんでエラーになってた)。 そのサービス殺してからは朝になってもバッテリが上がってることはなくなった。 何か関係してるのか?
451 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:08:57 ] 板違い。失せろカス。
452 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:18:03 ] >>446 "コモン"コントロールを一体なんだと思ってるんだおまいわ・・・
453 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:22:23 ] まあそんなのchmの設定保持とか他にもいくらでもあるわけで。 その程度のことを気にしてたら何もできない。 っていうか気にするだけ無駄。
454 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:23:23 ] >>446 それは永久に残るものじゃないから おまえ馬鹿だろ?
455 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:27:21 ] 記憶領域減らすw ディスクの中にはいったいどの程度の無駄があるか知ってるか?
456 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:33:18 ] わかってない奴ほど どうでもいい細かいこと気にするの典型
457 名前:デフォルトの名無しさん [2010/07/08(木) 22:34:14 ] 本当の「相談事」で申し訳ないが・・・。 O/Rマッパって何使ってる? 少し古めだけど一覧 d.hatena.ne.jp/aoki1210/20080416/p1 のリンクをざっと辿ってみた限りでは、S2Dao.NET + DBFluteがよさげ(特に定義ファイル書かなくていいのが楽そう)だと思ったんだけどね。 ↑以外ではADO.NET Entity Framework が少し話題になってるみたいだけど、「これO/Rマッパぢゃねーし」とかゆー声もあるし・・・。 ってことで何かお勧めがあればプリーズ
458 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:39:18 ] 今夜バカ王が決まりそうな勢いだなw
459 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 00:23:21 ] 俺はエントリーするぜ!!
460 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:05:39 ] >>454 いや、残るだろ。 意図的に削除したりしない限りは。 >>459 あんた、男らしいよ。
461 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:16:18 ] OSが使うレジストリなんか気にしているお前は男らしくない。
462 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:26:23 ] ある処理をしている間だけ、 numericUpDown_ValueChanged イベントを発生させないようにするとかできるのでしょうか?
463 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:30:43 ] >>462 フラグ用意してイベント内でスルー とかにしとかないと後で見たとき 「イベントが発生しない!」とか 悩むかもよ
464 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 01:49:48 ] >>463 解りました。 自前で実装します。
465 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 02:27:02 ] イベントの発生の仕方について質問があります。 CPUがシングルか、マルチかで発生の仕方が変わったりするのでしょうか? 例えば、シングルだと、あるイベントが終わるまで他のイベントには移行しないが、 マルチだと、あるイベントが処理中に、もうひとつのイベントの処理が始まってしまうとか。 デバッガで追ってみると、値を変えた時に、バリューチェンジドイベントに 飛ぶときと飛ばない時があるのです。
466 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 02:30:45 ] EXEで正常ならば問題無い
467 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 05:06:37 ] わかりました。
468 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 09:16:52 ] 久しぶりに覗いたがこんな香ばしいスレだっけ?
469 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 12:20:30 ] 前から定期的に痛いの湧いてるじゃん なりすましとか
470 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 15:02:05 ] 継承クラスをつくって空白のメソッドでオーバーライドする方法以外で、 Control.OnPaintとControl.OnBackgroundPaintの処理を無効にすることは できないでしょうか?
471 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 15:39:06 ] >>469 なりすまし乙
472 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 15:39:21 ] 派生クラス作ってWndProcオーバーライドしてWM_PAINTを無視する 何が不都合なのか分からんと答えようもないな
473 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 15:42:40 ] わかる方だけ回答お願いします
474 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 15:56:59 ] お礼は三行で
475 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 16:08:22 ] あ り がとう
476 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 19:40:35 ] C#2.0でちょっとご相談 一つのファイルを複数ビューで表示させて、一つのビューで編集したら他のビュー全てに反映させたいんだけども この場合、どんなパターン使えばいいかな
477 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 19:43:27 ] 3.5使えばWPFの標準的なパターンで実現できるのに。 とりあえず、変更の反映にはINotifyPropertyChanged。
478 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:01:49 ] INotifyPropertyChangedに一票
479 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:01:50 ] _,, -- " ̄T ) ̄ ̄` --,, ,´ |く `、 ; __,,=ミ" ̄ ̄ ̄``ヾj; .i _,-" `' - 、 ::::::::::::;;i .i ,/ .,/; 三 ヾ ;;;\, ::::::;;i .| / ソ; '`、; \、:::;;| .| ,/ ,=、 ,=、 ヽ、:;;| .トナ i 0 i ,; ;i 0 i .`ゝ:;;| .|1 .ゝイ ,i、 ;ゝイ :::;;| .i` - ____トi圭____ y"i '; :::::;;' ` 、 :::::::_ ,´ ` -- ,,____,, -- " /´`゛''''''ヾ、,;;- ‐'''' ""´``ヽ、 ,i′, ..:::; 、. .::゙:、 .,!、::i ..::::::; ....:::::::::i ::::`:、 ,i ::| 。 .....:::::;;;;! ....:::::。::::;;;;! :::::::i . ,! ;::::;、ー‐'''"´::`゛'''ー-‐'''":::、 ::::::| . / ,,,;;:::| | :::. ;;;:::::::::::::::;/`:、 , ;;::::l ,l′;:::::;! ;!-、_;-;__r-;_;-;、:::::::::;;i !;;;' :゛i . l′;;:::::;! i!爻爻;Ov爻爻i!ー‐''::i |` .:::| | ;::::/ l!※《 WWE》※i!:::::::::::| !、 :::;! . |___;::/ iヾ、゚・。⇔。・゚;;ノ;---‐'i. i__.::;! i′`i′ ト、゛''ー-‐'''"::::::::::::;;;;;;! ,!. ̄| . i´ ̄`i. i′`:、:::::::::;;:::;;-‐''"::`i ,;'"``'i . !、、;r; !. l′ `ヽ;::::;;'" .::::::::| l;ァ .;! `゛''"′. | ::`Y′ .:::::::::::i ゛''''"´ . | .:::::::i :::::::::::::|
480 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:04:43 ] コピペ君って馬鹿だな、まで読んだ。
481 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:29:13 ] スパイウェアを仕込んでるJane Styleは危険です。 Google Adsense違反報告スレ Part10 pc12.2ch.net/test/read.cgi/affiliate/1267346244/ JaneStyleがスパイウェアみたいな動作するらしい件 namidame.2ch.net/test/read.cgi/poverty/1278496905/ 【スパイウェア?】JaneStyleで書き込みしようとしたら、○○に情報が送信されていた件 tsushima.2ch.net/test/read.cgi/news/1278681871/
482 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:38:07 ] 板違い
483 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:42:18 ] >>477-478 INotifyPropertyChangedってWPFご用達じゃ?と思ってMSDN見たら2.0からだったw サンクス
484 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:57:43 ] xmlファイルを読み込んで目的の要素を取得したいのですが、xmlファイルが <hogehoge> <pekepeke> </pekepeke> </hogehoge> <hogehoge> <pekepeke> </pekepeke> </hogehoge> となっているとして、pekepekeの項目を上から順番に取得していくにはどうすればいいですか? ttp://www.kisoplus.com/file/xml.html を見てマネしたのですが、うまくいかなかったのです。
485 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:05:24 ] うまくいかなかったとだけ言われても困る XMLのサイズがよほど大きくない限りはXDocumentにロードしてLINQ to XMLとかで検索だな
486 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:06:28 ] 何がうまくいかなかったのかも書かないのか。誰も答えられないぞ。
487 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:23:19 ] >>484 そのままだとroot要素がないぞ。 <root> <hogehoge> <pekepeke> </pekepeke> </hogehoge> <hogehoge> <pekepeke> </pekepeke> </hogehoge> </root> の間違いじゃないのか?
488 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:27:36 ] XmlReaderを直接使うのは初心者にはかなり難しいし 慣れてても非常に面倒なのでLINQ to XMLかDOMを使いましょう
489 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:29:40 ] 横レスだけど煩雑なXmlReaderから開放されるなら今まで避けていたLINQ勉強しますね
490 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:35:37 ] LINQ to XMLはあんまりLINQとは関係ない LINQ to Objects向けに新しく作られた使いやすさ重視のシンプルなDOMライブラリ もちろんLINQ使えば便利だけどLINQ使わなくても非常に扱いやすい
491 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 00:44:35 ] いやー、LINQ って言葉の指す範囲広いよ。 クエリ式のことでもあるし、 Where とかSelect とかの関数名規約でもあるし、 IEnumerable 返すように設計されたデータ読み書きライブラリのことでもあるし。
492 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 00:48:45 ] スパイウェアを仕込んでるJane Styleは危険です。 Google Adsense違反報告スレ Part10 pc12.2ch.net/test/read.cgi/affiliate/1267346244/ JaneStyleがスパイウェアみたいな動作するらしい件 namidame.2ch.net/test/read.cgi/poverty/1278496905/ 【スパイウェア?】JaneStyleで書き込みしようとしたら、○○に情報が送信されていた件 tsushima.2ch.net/test/read.cgi/news/1278681871/ ■Google Adsense 違反通報URL https://www.google.com/adsense/support/bin/request.py?contact=violation_report ※個人情報漏洩による被害者をこれ以上出さない為に、 このコピペを見つけた方は一人5箇所以上にコピペをお願いします。
493 名前:484 mailto:sage [2010/07/10(土) 00:54:27 ] 「ルート要素が2つあります。行5、位置2です。」 と出るのです。
494 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 00:56:40 ] アホかおまえ
495 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:03:01 ] >>493 >>487
496 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:16:21 ] >>493 htmlファイルにhtmlタグがないのと同じ失敗だよ
497 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:33:22 ] >>483 にタイミング外した便乗質問 同じく2.0のListViewのLargeIconモードでデータバインド出来る? ImageList側のやり方が分からない・・・
498 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 01:41:11 ] >>496 4.01 Strictでもhtmlタグは省略できるような…? >>497 System.Windows.Forms.ListViewはデータバインディングをまともには使えないはず
499 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 02:06:14 ] >>498 あーやっぱ無理かー ListViewでなくてもアイコン敷き詰めてスクロール&クリック出来るコンテナあればいいんだけど 2.0だと無いかねえ
500 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:03:18 ] >>49 無駄なんじゃない? >(クレームをつけられたネタであったため、記事の内容を少し改変し、UPし直します。 >前の記事も間違ってないと思っていますが、他の方々への配慮だと思い、改変版をUPします。) ttp://techbank.jp/Community/blogs/mymio/archive/2010/07/04/27368.aspx ああ、もう突撃とかすんなよ。 また消されたりしたらつまらんだけだ。
501 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:11:33 ] あからさまにおかしいと指摘された部分は、 指摘の方がおかしいことにしつつ、大人の態度でw配慮して 実は見れなくしてしまうという高度な逃げ技
502 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:05:32 ] コメント不可にすればいいだけなのに
503 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:14:15 ] 本当に全く何の意味も無い比較 struct Array2 { public int Item1; public int Item2; }と配列を比べて 前者の方がnewが速いから前者を使いましょうと言っている MSに報告するべきだな それはともかく、BitArrayはわかるけどBitVectorって何のためにあるんだろう インデクサがビットの位置じゃなくてマスクになってるけど ビットマスクがわかるんだったらBitVectorなんか使わずにビット演算使うだろ普通
504 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:15:17 ] ネットwatch板でやれよ邪魔だから
505 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:21:11 ] ネットストーカー君にそんなこと言っても無駄だと思うけどねw 俺が炎上させているのではない。 炎上するようなことを書くあいつが悪いのだ、 ってな具合の超「前向キング」な思考をするのがネットストーカー諸氏だからw
506 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:42:22 ] 前向キングってなに?
507 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 16:49:32 ] >>505 なに?
508 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:01:00 ] いまきた俺でもわかるように三行でまとめて
509 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:01:40 ] 読むだけ 時間の 無駄
510 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:05:51 ] M V P
511 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 21:10:04 ] あるクラス内で記述する関数の宣言に、以下の規約を 設けようと思う。 このクラス内に記述する関数は、すべて、 string型の引数をもち、string型の値を返す。 C#の言語仕様上で、そういう規約を強制させるような 仕組みは設けられるだろうか?
512 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:14:45 ] むり
513 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:24:45 ] インターフェイスでやる(拡張された分についてはどうしようもない)か、 属性やらリフレクションやらで実行時に検査、かなぁ。
514 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:30:10 ] そもそも何故そんな規約を設けたいのか分からんけど リフレクションでアセンブリ読み込んで規約違反がないかチェックするツールでも作ったらいいんじゃね。 ビルド後イベントで自動実行するようにしとけば完璧。
515 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 21:37:28 ] FxCopでカスタムルール作れば
516 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 23:12:50 ] ある晴れた昼下がり 市場へ続く道…(T_T)
517 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 01:58:54 ] これまでにYahoo等のアカウントに HTMLDoc = objeBrowser.Document を使用して自動ログインするツールを作っていたのですが、 ID・PASSの入力フォームをJavaScrioptでページロード時に 生成されているページの場合には自動でログインさせる事が出来ません。 どうすれば良いのでしょうか?
518 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 08:17:40 ] 何かとコーディング規約を制定したがる人が多いが大抵は徒労に終わる。
519 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 08:27:20 ] POSTしてクッキー保存とかできないの?
520 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 15:20:06 ] ControlクラスのDoubleBufferedをtrueにし、 Paintイベントで同じ範囲をFillRect(赤)→FillRect(白)とした場合、一瞬赤色が見えるのは何故なのでしょうか。 Paintイベントで引数に渡ってくるGraphicsオブジェクトは2次バッファの物では無いの?
521 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:30:51 ] >>518 そして中途半端に守ってるのと守ってないのがでてくるせいで StrHogehoge と Hogehoge と HogehogeString が混在する現場になるんだよな。
522 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:49:14 ] Dictionary<,>.GetValueOrDefaultがほしい TryGetValueはなんか思考を中断される
523 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:00:18 ] >>522 拡張メソッドで作れないか?
524 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:44:13 ] >>522 レベルの低い質問者は初心者スレに行け! マジウザイ
525 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 18:52:44 ] >>522 非ジェネリックのIDictionaryだとインデクサが例外投げずにnull返すけど、 それもなんだかなぁって感じだしな >>523 その程度の汎用的でメジャーな機能くらいフレームワークで用意しろってことじゃないのか 似たようなものだと、ParseOrDefaultとかも用意して欲しいかな
526 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:20:28 ] ParseOrDefaultなんかいらないよ
527 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 20:17:14 ] 自分で拡張メソッド書けば。標準では不要。
528 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:28:49 ] TryParse はいちいち out 用の変数用意しなきゃいけないのがめんどくせえ
529 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:35:11 ] Parseで例外が投げられるよりましだろ
530 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:38:53 ] 確実に例外が投げられないことがわかっているならParse使えばいいよ
531 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 20:41:46 ] support.microsoft.com/kb/957851/ja こんな話もあるけどな。
532 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:26:24 ] >>520 フォームの DoubleBuffered を true にして、 Paintイベントに以下を書いたら赤は見えなかったよ private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.Red, e.ClipRectangle); g.FillRectangle(Brushes.White, e.ClipRectangle); }
533 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:35:43 ] 引数にIDictionary渡す時は何が適切なの? IList系だとparams 配列 みたいなのが定番だけどIDictionaryはそのまま参照型のまま渡すの?
534 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:38:44 ] 普通IListはIListのまま渡す IListとparamsがどう関係あるのか知らないけどparams引数はかなりレア IDictionaryはあまり使わない
535 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:49:14 ] >>534 そなの? 前、MSの中の人にきいたらIList系は配列型で渡して、params可能ならつける方がいいと言われたよ。 .Netのクラスライブラリもそのポリシーで設計されてるみたい。 今はその人と連絡とれないからIDictionaryはどうなのかと思ったんだけど…。
536 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:50:24 ] >>531 日付のカルチャ情報は国が違うだけでなく、日付表示を和暦にしたとかだけで影響を受ける場合があるので常に明示的に指定したほうがいいよ。 数値も小数点がカンマという国が結構あるので気をつけたほうがいいし。
537 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:54:05 ] んなこたー知ってる。>>531 の問題は、そういう話じゃない。
538 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:55:26 ] class myClass{ int a; public myClass(int num){ a = num; } } class myClass2{ [System.Xml.Serialization.XmlArrayItem(typeof(myClass))] ArrayList array; public myClass2(){ array = new ArrayList(); array.add(new myClass(0)); array.add(new myClass(1)); array.add(new myClass2)); } public void saveXML(){ //XMLファイルに保存する System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeofmyClass2); System.IO.FileStream fs = new System.IO.FileStream(@"c:\abc.xml", System.IO.FileMode.Create); //エラーが発生する serializer.Serialize(fs, this); //閉じる fs.Close(); } } といった感じにプログラムを書いたのですが これを逆シリアル化するさいにクラス内にpublic void loadXML()という関数を作って arrayの中にデータを入れたいのですがどうやってやればいいんでしょうか・・・。 myClass2としてロードすればできるんですがそうするとクラス内に作れないしで・・・。
539 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:56:17 ] >>534 IList は、メソッドの中で Add とか呼ばれちゃう可能性あるからなぁ。 それを意図しない場合は IEnumerable の方がいいかと。 >>535 今思えば、params は配列型じゃなくて IEnumerable<T> にしてた方がよかったと思うけどね。 まあ、1.0 の頃と今では IEnumerable の地位が大分変ってるんでしょうがないけど。
540 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 21:56:17 ] >>535 クラス作成して配列で渡すのが慣わし。 例としてEventArgs等がある。
541 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:00:44 ] >>539 なるへそ。 オライリーなんかの本だとそうしてるね。 >>540 ふむふむ、イミュータブルなクラスでやり取りする事になるのか。
542 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:02:38 ] UDPでTCPを模倣してみたがやっぱこういう処理はC#じゃ遅すぎるな
543 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:05:37 ] ネットワークの処理が遅いとか実装が糞なだけだろ。
544 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:06:15 ] >>538 staticにする
545 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:12:53 ] あ、普通にロードしたのをキャストした後にほしい部分だけとりだせばおkでしたね・・・。
546 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:14:49 ] params付けた方がいいというのは全ての要素をその場で手渡しするような使い方を意図している場合の話だろ。 例えばXElementのコンストラクタはparamだけどそれはコードに階層構造をベタ書きするため。 元からあるリストを渡すためのメソッドならparams付ける意味ないでしょ。
547 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:23:00 ] だからベタ書き出来るように出来る事ならparamsつけましょって事でしょ。 付けたところで困る事はないしさ。
548 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:39:51 ] C#が遅すぎるんならSilverlight動画アドインなんて出来るわけないよな。
549 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:01:59 ] string.Formatで「{0}以上{1}以下」みたいな文字を表示させるときに、 {0}や{1}を表示させない場合は「以上」「以下」も一緒に表示させなくしたい。 色々試してたら↓のコードが上手く行ったんだけど、 この方法ってアリ? たまたま上手く行ってるだけ? public static void Main() { Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, null)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, null)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, 200)); Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, 200)); } >100以上 >100以上200以下 >200以下
550 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:10:04 ] >>548 Silverlightプラグインはほとんどネイティブコードだ .NETをスクリプティングに使ってるだけで下層のメディア処理はネイティブコードに丸投げ >>549 そういう仕様じゃなかったっけ
551 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:18:06 ] そうなの?マルチプラットフォームって聞いてたから。
552 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:21:51 ] 移植するときはネイティブコード部分を入れ替えるだけで済むから その上で動くマネージコードはマルチプラットフォームだよという意味
553 名前:デフォルトの名無しさん mailto:sage [2010/07/11(日) 23:40:26 ] >>550 ありがとう。見つけられた。 msdn.microsoft.com/ja-jp/library/0c899ak8.aspx >その他 >上記以外のすべての文字 >文字が結果の文字列にそのままコピーされます。 色々鑑みて「 "{0:#,#'以上'}{1:#,#'以下'}" 」でイケそう。ありがとう!
554 名前:デフォルトの名無しさん [2010/07/12(月) 00:43:01 ] すみません。自分で関数を作りました。もし、戻り値をint型とするとき 成功したら0を返すのか1を返すのかで迷っています。 if文の条件判定でその関数を使う場合1を返したほうがいいですし、 なんかC言語のmain関数なんかは、正常終了の場合、0を返します。 どっちがいいのでしょうか?bool型を使うと簡単なのはわかりますが、int型を戻り値とする場合は どちらのほうが的確でしょうか?
555 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:49:42 ] どっちでもいいよ。
556 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:50:59 ] 初期値に0を持たせるのが普通。 その関数で正常終了と判定した後にどうなるかで変わるんじゃないかな。 知らんけど。
557 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:52:54 ] 成功失敗にint型とか仕事なら首に出来る仕様だな。
558 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:54:37 ] C# なら void にして、失敗なら、例外を投げる。
559 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 00:56:42 ] 列挙型を返すのは?
560 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:02:32 ] さあ
561 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:06:42 ] もう S_OK でいいよ
562 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:17:58 ] 成功か失敗理由かでいいよ
563 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:33:33 ] うん
564 名前:554 mailto:sage [2010/07/12(月) 01:37:57 ] みなさん、どうもありがとうございます。 C言語の文字列操作関係の関数は成功すると0を返すみたいなので、それにならいます(><;) いろいろと私のせいで議論してくれたみたいで、ありがとうございました(><;)
565 名前:デフォルトの名無しさん [2010/07/12(月) 01:42:36 ] うぜええええ(><;)
566 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:50:25 ] なんでこんなレベル低いやつがこっちで質問してんだ
567 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:51:51 ] >>554 C# で書くんなら絶対 bool にしろ。 C 言語とかとの相互運用目的なんだったら、非 0 が true。 main 関数とかの戻り値はあれ、エラーコードなのよ。 HasError == false だから 0。
568 名前:554 mailto:sage [2010/07/12(月) 02:10:52 ] >>567 そうなんですね。非0がtrueの方がいいんですね。じゃあ、書き直します。 基本はbool でプログラムしてるんですが、ちょっとしゃれでC言語風に書いてみたいなあと思いまして・・ みなさん、スレ汚しすみません。初心者スレで聞けばよかったです。
569 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 06:51:13 ] >>568 C言語は論理式で非0をtrueと扱う言語だから。 C#とかみたいにboolが用意されてる言語ならboolを使うべき。
570 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:12:22 ] >>565 おはようございます(><;)
571 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:25:28 ] おい馬鹿やめろ
572 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:28:10 ] うわなにをする(><;)
573 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 07:33:15 ] >if文の条件判定でその関数を使う場合1を返したほうがいいですし、 if(func()) return; /* エラー検出して強制終了とかの場合こうしねえか? */
574 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 08:45:46 ] フォームアプリケーションで、ボタンを配置して そこにフォーカスをあてた状態でリターンキーを押すのですが、 ボタンをおせません。マウスでクリックしたときのような アニメーションも発生しません。 ボタンを押せるようにするにはどうすればいいでしょうか?
575 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 09:30:34 ] そういう風に作ればいい
576 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:30:25 ] C#2010のコード自動調整(自動でタブを追加したり switch文を改行したりする機能)って有効にしたまま使ってる?
577 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 16:48:58 ] オートフォーマット切るとか考えたこともないわ コードのフォーマットにこだわって手修正したりする奴は迷惑なだけ
578 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:38:16 ] デフォの括弧の位置だけは気に入らないけど。。。デフォのままで使ってる。
579 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:48:22 ] そういや全てのソースを整形するにはどーすんの?
580 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:48:06 ] 返り値をboolで返すのも、IsXXXみたいな十分に明示的なネーミングのメソッドの場合は除くとして、 一般にはうんこだとされてる手法だと思うけど.... そんな程度の人が偉そうに命令口調で講釈垂れてるんだから嫌になるな
581 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:50:15 ] > 一般にはうんこだとされてる手法だと思うけど.... 思わない
582 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:53:10 ] まあ、馬鹿な君ならそうでしょうとも
583 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:54:38 ] 一般に続く名詞はなんだろうな
584 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:56:00 ] たとえばTryParseは成功したらTrue、失敗したらFalseだけど >>580 の命名規則にしたがってないからうんこメソッドだな
585 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 20:07:19 ] Tell, Don't Ask原理主義者か?何事もほどほどに。
586 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:27:17 ] 最近だとHashSet<T>.Addは要素が重複してても例外を投げずにfalseを返す
587 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:00:20 ] 既にあるVC#プロジェクトでlinq-to-xmlを使いたく、まず最初に using System.Xml.Linq; と宣言を追加しただけの状態でコンパイルしてみたのですが、 型または名前空間名 'Linq' は名前空間 'System.Xml' に存在しません。アセンブリ参照が不足しています。 というエラーがでるのですが、どうすれば解決できるのですか?
588 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:04:43 ] System.Linq.Xml.Linq.dllを参照設定に追加する ターゲットフレームワークは.NET3.5か.NET4に設定する必要がある
589 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:07:14 ] あきらめろ
590 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:13:00 ] >>588 ありがとうございます。 対象のフレームワークは、.NerFramework3.5でした。 System.Linq.Xml.Linq.dllの参照設定とはどのようにやるのですか?
591 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:15:29 ] ねーねー。なんで初心者スレ行かないの?
592 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:21:04 ] ソリューションエクスプローラで参照設定を右クリックして参照の追加を選ぶ .NETタブのSystem.Linq.Xml.dllを選んでOK LINQ to XMLってちょっと癖があって結構難しいよ? ちゃんとわかってる人のための便利なオモチャって感じ
593 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:33:16 ] ちゃんとわかってる人のための便利なオモチャって感じだね
594 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:40:03 ] >>592 おお!できました! ありがとうございました!
595 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:44:49 ] >>594 お役に立ててなによりです
596 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:51:40 ] いえいえどういたしまして
597 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:39:00 ] File.Replaceってsoruceとdestinationが同じドライブでないとダメなようだけど、 こんな使いにくい制限をわざわざ設けてる理由って何なんだろう。 ファイルを上書き保存する時なんかに、作業ディレクトリに一旦一時ファイルを 作ってから元のファイルを置き換える用途を当然想定してるんだと思ってたが、 こんな制限があったらこういう使い方できないよね。
598 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:47:07 ] その用途ならMoveでもCopyでもいいだろ
599 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:54:39 ] 馬鹿っぽい(たぶん「ぽい」ではないんだろうが)物言い....
600 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:59:40 ] >>597 物理的にファイル動かさなくて済むからでしょ。
601 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:05:49 ] >>600 それは事実としては正しいけど、 それって>>597 みたいな制限を正当化する理由になるかね?
602 名前:598 mailto:sage [2010/07/13(火) 21:16:23 ] ファイルシステム上のエントリの参照先を変更するだけなんだから 当然ファイルの実体は全部同じボリューム上にある必要があるだろ
603 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:18:39 ] >>602 言ってる意味分かってる? だから、そういうシステムの都合があるにせよ、 そのシステムの都合をFile.Replaceに「押し付ける」理由をお聞きしてるわけですが。
604 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:29:48 ] >>603 MSに聞けとしか。 想像だけどアトミックな操作に使ってくれ(そしてそれは物理ボリュームが別だと無理)ってことなんじゃないの? 同じディレクトリ内の作業でバックアップファイル作るために使うとかさ。 それ以外は Move とか Copy とか使えってことなんじゃないのかね。
605 名前:598 mailto:sage [2010/07/13(火) 21:31:06 ] WIN32のReplaceFileをラップしただけだろっつうか ファイルシステムに依存した機能だからこそアトミック性が保証できるんだろっつうか 逆にファイルシステムの都合に依らないファイル操作なんてありえんのかって話だが
606 名前:デフォルトの名無しさん [2010/07/13(火) 21:35:25 ] なぁ、formの無いプログラムってどうやるん? タスクトレイだけですませたいんだけど。 フォームがないとデザイン画面でnotifyiconとか作れないし。
607 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:42:00 ] 態度がでかいな
608 名前:デフォルトの名無しさん [2010/07/13(火) 21:44:36 ] あの、すみません。 Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか? タスクトレイだけですまたいんです。 フォームがないとVisualStudioのデザイン画面を使い NotifyIconコントロールなどを貼り付けたりすることができません。 よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
609 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:48:53 ] 改行が多いな
610 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:51:48 ] あの、すみません。Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか?タスクトレイだけですまたいんです。 フォームがないとVisualStudioのデザイン画面を使いNotifyIconコントロールなどを貼り付けたりすることができません。よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
611 名前:598 mailto:sage [2010/07/13(火) 21:53:03 ] ノリがいいな
612 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:53:40 ] >>604 ただの愚痴だけど、>>597 みたいな処理を安全に書くのって意外と手間だからさ。 安全っていうのは、例えば仮に何らかの理由でオリジナルのファイルを 作業ディレクトリに作った一時フォルダで置き換えられないとしても、 最低限オリジナルのファイルが失われないことを保証しようと思うと結構面倒。 こういうのこそライブラリで用意されるべきだと思うんだけどな。
613 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:54:42 ] すまたin!
614 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:57:20 ] 今必要だけどないものをウダウダ言ってもムダ その間にソース書いたほうがよっぽど生産的
615 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:59:14 ] >>608 notifyIcon.Visible = true; しといて Application.Run(); 呼ぶだけ。 これでメッセージループが動く。 終わるときは、 Application.Exit(); を呼ぶ。
616 名前:608 mailto:sage [2010/07/13(火) 22:03:32 ] >>615 どうも、ありがとうございます。それだけでできるんですか? とても助かりました。今からやってみます! 他の人もどうもありがとうございました!
617 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:29:35 ] C#の初心者向けで良い本何かありますか? あと、C#のソースをJAVAに移植するとしたら、どんな事に気をつければよいですか?
618 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:35:52 ] @ITで十分 本なんていらん どうしてもというなら@ITの本があるからそれ買え
619 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:42:28 ] >>616 最小構成サンプル using System; using System.Windows.Forms; namespace nicon { public class nicon { System.Windows.Forms.NotifyIcon icon = new System.Windows.Forms.NotifyIcon(); System.ComponentModel.ComponentResourceManager res = new System.ComponentModel.ComponentResourceManager(typeof(nicon)); nicon() { icon.Icon = (System.Drawing.Icon)res.GetObject("nicon"); icon.ContextMenu = new ContextMenu( new MenuItem[] { new MenuItem("Exit", delegate { Application.Exit(); } ) }); } [STAThread] public static void Main(string[] args) { nicon inst = new nicon(); inst.icon.Visible = true; Application.Run(); inst.icon.Dispose(); } } }
620 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:42:52 ] StreamReaderってファイルが無かったりアクセス権がなかったりしたら 例外をスローもせずに完全に固まらないか?
621 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:48:01 ] んなこたーない。
622 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:56:27 ] おまえアク禁な
623 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:56:44 ] >>621 いやなる Windows7 64bit C:\ルートに存在しないファイル名でStreamReaderやってみそ
624 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:58:00 ] StreamWriterの方もだわw
625 名前:608 mailto:sage [2010/07/14(水) 00:00:19 ] >>619 さん。 ぬぁー!どうもありがとうございます。すごい参考になりました! もう、あとは私の個人的な機能を付加するだけですね(;^_^ 個人的な機能もたいしたことがないので、ちょっと追加するだけでよさそうです。 こんなものをパッと書けるなんてすごいですね。 ネットを今、あさってる最中でした。ありがとうございました。ComponentResourceManagerとかすごい参考になります。
626 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:03:04 ] >>623 いやだよ。
627 名前:621 mailto:sage [2010/07/14(水) 00:09:35 ] >>623 Windows7 Ultimate x64 + Visual Studio 2010 Professional .NET2.0/4.0, x86/x64/AnyCPU, Debug/Release の12通りの組み合わせで試してみたけど、 どの組み合わせでもFileNotFoundExceptionが発生するな。とりあえずソース晒せ。 ちなみに俺はこう書いた。 using (var sr = new StreamReader(@"C:\a.txt")) { }
628 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:29:37 ] using (StreamReader sr = new StreamReader(@"c:\a.txt")) { String data = sr.ReadToEnd(); } MessageBox.Show("aaa"); 複雑なんでFormLoadにこれを書いて試したがやっぱりメッセージが出てこない
629 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:31:21 ] ちなみにVisualStudio2008の.Net2.0 Windows7 64bit Windows7はクリーンインストール後、特にフォルダの権限とかいじってない状態です
630 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:35:46 ] >>625 あのさあ・・・初心者スレに行ってくれないかな?
631 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:43:34 ] >>628 そりゃc:\a.txtが存在してないならMessageBox.Showが呼び出されることは決して無いだろうが
632 名前:621 mailto:sage [2010/07/14(水) 00:47:07 ] >>628 確かにVS2008でデバッグ実行すると、例外が捕捉されないな。 出力ウィンドウを見る限り例外自体は発生しているし、デバッグなしで実行(Ctrl+F5)すれば ちゃんと例外ハンドラが働くから、VS2008のデバッガの問題っぽい。 メッセージボックスが表示されないこと自体は>>631 の言うとおり正常な動作。 とりあえず StreamReader は避けて File.ReadAllLines とか File.ReadAllText を使ったら?
633 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:59:40 ] >>532 ああほんとだ、デバッグモードのしとけば何か原因が拾えるという思い込みが逆に命取りだった 普通に実行したら例外が出てるね なんじゃこりゃ
634 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:05:41 ] 100ずれてますよ
635 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:53:49 ] VS2008のデバッグ実行でも、出力窓には例外が出ているハズ 例外出ても止まったり止まらなかったりするのは割とよくある
636 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:38:11 ] P2PソフトをC#で作ってみた DHTを実装して普通に車輪の再発明しても意味がないので 全文検索システムに改造してみた といっても負荷の予想がつかないので小さいメモを放流して 内容から検索するみたいなそんなものを 理論上数百万件のデータが保持出来る 検索はたぶん1つにつき10分程度かもしれない ただの実験ソフトなんだけど、実用的に動いたら応用範囲はかなりあると思うのだけど 誰かテストしませんか?
637 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:39:57 ] するする 面白そう
638 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:44:58 ] 検索に10分?え?
639 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:15:26 ] >>637 アップロードとかいろいろしないといけないのでしばらくお待ちください >>638 遅いかな?まあGoogleみたいなのに比べると遅いけど ネットじゅうに分散したメモから10分で余すところ無く拾い集めてくるってことだよ といっても予想だけど、シミュレーションではうまく動いてるけど 実際のネット環境では動くかどうか
640 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:34:49 ] 目的のデータを保持してるマシンが24時間稼働とは限らないからね
641 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:38:37 ] >>577 ,578 そのまま使ってるのかー。 自分も一応そのまま使ってるけど、2010になってから かなり補正するようになって使いにくくなった気がする。 ;か}が入力されたときに調整してるから}を先に書くと うまく補正されない。癖の問題ではあるけど。 ところで「基本設定」と「上級者設定」ってのがあるけど、 基本設定の場合、手動で追加しないとタブオーダーと インデント操作はできないの?
642 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:41:14 ] P2Pってそれぞれのマシンが落ちててもいいように、自動でキャッシュ持つんじゃないの?
643 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:42:12 ] うまく補正されない。痔の問題ではあるけど。 に見えた。
644 名前:598 mailto:sage [2010/07/14(水) 11:43:04 ] >>641 ;}が先に書いてあってもEnter押したらたいがい補正されるだろ?
645 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:45:36 ] おお、名前が残っていたがもう不要だな
646 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:49:56 ] 641がどんなコードの書き方しててどんなオートフォーマットの動作を難儀に感じてるのか全く分からない
647 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 12:38:29 ] >>644 ある程度構文正しければ確かに補正されたと思う。 構文関係は慣れることにします。 >>646 /*〜*/の中に貼り付けすると勝手にインデントする (これを直すのにインデント操作ボタンが欲しかったけど基本設定では表示されてなかった) /*で改行すると次の行に*が入る この辺が特に難儀に感じた。
648 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 12:45:34 ] まあね
649 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:04:14 ] すみません、すべてのテキストボックスでエンターが押された時に フォーム内のボタンを押した事と同じイベントを発生させたいのですが これはどうやって実現できますか? また、テキストボックスが10個あるとして そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが これを一カ所にまとめる事はできますか? VB の handle1,handle2 みたいな書き方がしたいのですが ご教示お願いいたします。
650 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:11:19 ] >>649 > すみません、すべてのテキストボックスでエンターが押された時に > フォーム内のボタンを押した事と同じイベントを発生させたいのですが 同じイベントを発生させるんじゃなくて、それぞれのイベントで同じメソッドを呼び出す方向で > また、テキストボックスが10個あるとして > そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが > これを一カ所にまとめる事はできますか? > VB の handle1,handle2 みたいな書き方がしたいのですが デザイナでイベントハンドラを既存のに設定する
651 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:12:16 ] >>650 さん ありがとうございます。 さっそく調べてみます。
652 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:17:14 ] >>650 さん >デザイナでイベントハンドラを既存のに設定する できました!ありがとうございます!
653 名前:デフォルトの名無しさん [2010/07/14(水) 14:54:09 ] ListView を仮想モードにした場合、 項目の選択状態を未選択、または先頭の項目を選択状態にするには、 どうすれば良いでしょうか? SelectedItemsプロパテイでできるかと思いましたが、 仮想モードではエラーとなりました。
654 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:02:49 ] ListView.VirtualModeの解説に書いてる
655 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:12:14 ] もう一つ質問なんですが^^; C#のコードの記法が if(state) { } とかに自動的になるのが気に入らないんですが デフォルトを if(state){ } にする方法はありますか?
656 名前:653 mailto:sage [2010/07/14(水) 15:13:54 ] >>654 SelectedIndices ですね。 大変失礼しました。ありがとうございます。
657 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:24:11 ] >>655 C#の相談というよりVSの使い方だが [ツール]→[オプション] の中にテキストエディタの設定をするところがある
658 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:24:27 ] >>655 オプションのテキストエディタ - C# - 書式設定の中を好きにいじれ あと初心者用スレもあるから内容に応じて選択しろ
659 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:45:00 ] \ / .::::::::::::::::::::::::;;:;;::,ッ、:::::: ) く ホ す \ l ,ッィrj,rf'"'"'" lミ::::::: く れ モ ま Y ,! ミ::::::: ヽ な 以 な `ヽ、 | くミ:::::::: ノ い 外 い |、__ ャー--_ニゞ `i::::,rく か は ``''ー- ゝ、'l  ゙̄´彑,ヾ }::;! ,ヘ.) ! 帰 ゙ソ """"´` 〉 L_ っ / i , /| て r ≡=- 〈´ ,,.._ i 't-'゙ | ,へ ,r┘ ,、 yx=''" `ー{゙ _, -、 ; l レ' ヽr、⌒ヽ' ゙、`--─゙ /! `、 _,,、- ゙、 ー'' / ; `、 -''"_,,、-''" ゙、 /;;' ,' / 、\ -''" / `ー─''ぐ;;;;' ,' ノ // / ヾ_、=ニ゙
660 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:46:09 ] うわ−!すみません誤爆です^^; >>657 >>658 さん ありがとうございました!解決しました!
661 名前:デフォルトの名無しさん [2010/07/14(水) 15:53:53 ] >>660 しねよ
662 名前:デフォルトの名無しさん [2010/07/14(水) 18:01:14 ] >>661 お前が市ね、ばか
663 名前:デフォルトの名無しさん [2010/07/14(水) 18:03:58 ] ^^; ←これむかつく
664 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 18:14:27 ] >>662 じゃあ俺が市ぬよ。
665 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:02:43 ] System.IO.Directory.GetDirectories("C:"); System.IO.Directory.GetDirectories("C:\\"); って、結果違うのね。。。 フォルダの時はちゃんと\付けて返してくれるのに、 なぜドライブの時は\を付けてくけないのだ。。。
666 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:13:00 ] それより、ドライブのルートと SearchOption.AllDirectories を指定して GetFiles や GetDirectories を使うと落ちるのはどうにかならないものか。 SystemVolumeInformationにアクセスしようとして権限違反で落ちるようなんだけど。
667 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:35:01 ] リンクがループしてると無限ループするって書いてあるし、実用的なオプションとは思えない TopDirectoryOnlyで例外ハンドルしながら自分で再帰処理するしかないんじゃ
668 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:02:22 ] いくつか教えてください。 ・JapaneseCalendar.Eraから西暦の開始日付を取得したい ・JapaneseCalendar.Eraを"平成"等の文字に変換したい 完全にJapaneseCalendar依存にしたいのでEraをswitch分岐したり 定数で開始日付を固定したくはないのですが出来ますか?
669 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:24:02 ] 前者はリフレクションでJapaneseCalenderのprivateフィールドを読めば可能。 後者はたぶん無理。
670 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:35:43 ] 通常の使い方では無理ってことですね・・・。 Parseで変換できるんだから"平成"等の取得くらいは期待してました・・。 ありがとう。
671 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:41:21 ] 年号の取得はもう一段階上のDateTimeFormatInfoの仕事らしい
672 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 22:06:49 ] あれは動けばいい
673 名前:636 mailto:sage [2010/07/14(水) 22:43:55 ] 初期ノードキャッシュ用と本体配布が出来るCGIが使えるサーバが見つからない
674 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 22:48:37 ] GAEは?
675 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:07:44 ] GAEは?・・・
676 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:20:06 ] >>670 int era = 0; var culture = new System.Globalization.CultureInfo("ja-JP", true); culture.DateTimeFormat.Calendar = new System.Globalization.JapaneseCalendar(); var eraName = culture.DateTimeFormat.GetEraName(era); で取得できるみたい
677 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:21:05 ] >>674 面白そうだけどPerl版で普通のhttpリクエストしか実装してないから GAE専用のアクセスクラスを実装しないといけないので時間が掛かる
678 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:34:43 ] >>677 そうなのか、サンクス
679 名前:669 mailto:sage [2010/07/14(水) 23:56:43 ] >>676 そんな方法があったのか。無知を恥じる。
680 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 01:57:00 ] 質問でっす windowsフォームアプリケーションでinvokeを使う場合 this.Invoke(〜〜〜 で使えますがフォームを持たないクラスでこうしたい場合はどのようにすればよいのでしょうか? 分かる方、お願いいたします
681 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 01:57:58 ] Invokeの意味わかってんのか?
682 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 02:07:38 ] そーーーゆのいいですから、即答お願いいたします〜〜〜orz
683 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 02:16:44 ] 諦める コントロールへの参照がないならControl.Invokeする必要ないし コントロールへの参照があるならそれ使ってInvokeするだけだし
684 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 02:20:06 ] 出来ない 意味もわからない馬鹿は出直せ
685 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 02:24:14 ] InvokeA Invoke9
686 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 02:56:44 ] >>681 そっちこそそういうのいいですからw偽物です では別クラスのスレッドからフォームを操りたい場合はどうすればいいんでしょうか
687 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 03:29:10 ] どうすればも何もそのままだと思うが何が分からんのよ フォームを操るんだからフォームの参照持ってるだろ?
688 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 03:42:59 ] 別クラスが引数一つのget_chatというイベントを持っています。 別クラスでは新しいスレッドが作られていてそのスレッド内でイベントを発生させてフォーム側でそのイベントを処理するのですが フォーム側のソースでイベントの引数を受け取ろうとしたら"有効でないスレッド間の操作"となってしまいます。 現在はフォーム側で private void get_chat(string chat) { this.Invoke((MethodInvoker)delegate() { textBox1.Text += chat; textBox1.Text += "\r\n"; }); } として無事chatを受け取れているのですがライブラリとして作っているのでフォーム側でこのようにするのは避けたいわけです。 まだ始めたばかりで説明下手ですみません・・・
689 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 03:46:54 ] イベント駆動にしてその中でInvokeするだけだろ 何がわかんねぇんだ?
690 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 03:48:59 ] 今度から初心者スレへ行けよ
691 名前:デフォルトの名無しさん [2010/07/15(木) 04:05:11 ] この辺の話でしょ cs2ch.blogspot.com/2010/03/blog-post_29.html
692 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:07:22 ] ChatClass.OnGetChat += EventHander(OnGetChat) private void OnGetChat(Object o, EventArgs e){ textBox1.text += e.chat; } で ClatClass { private RecvThread (){ socket.recv(*****) if(OnGetChat != null){ ここでinvokeしてOnGetChatを呼び出したい } という意味では?}
693 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:09:34 ] 気持ち悪い実装だな クラスからフォームのメソッド呼び出すとかどんな設計だよ
694 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:16:43 ] 外部スレッドで発生したイベントは当然フォームではメインスレッドで動かさないといけないのに イベント処理が別スレッドのまま渡されてすべてユーザーがフォームでInvokeしないといけない なんて仕様の方が気持ち悪い、意味分からない、利点が思いつかない 自分も外部クラスでラップしたイベントがいちいちユーザーが使う時にInvokeしないと使えないなんて 無様すぎるから疑問に思ってたけど、これといった解決策が分からないままでいた
695 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:19:19 ] Javaを含むあらゆる言語を否定した出したよこいつ…
696 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:23:01 ] >>695 ジャバは知らないがMFCとかC++SDKとかイベントループは各フォームが1個づつ持ってて 外部から投げようがメインスレッドで確実に処理される 単に別スレッドのまま呼び出すのはただのコールバックだし それだったらわざわざEventHandlerなんて意味深なものを用意する意味が分からないんだが
697 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:31:23 ] C#やめてC++使えば?
698 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:32:45 ] とにかくこいつを初心者スレへ連れて行け
699 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:35:28 ] basicはgotoを使うのが当たり前なのに C#は何でgotoを使ったらいけないみたいな風潮なの?気持ち悪っ! とか何とか言い出しそうだなw
700 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:42:42 ] 多言語と比較は意味ないよねぇー だって、仕様(しょう)がない。。。
701 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:53:18 ] ようするに MFCは旧来のオブジェクト指向言語のイベントは メインスレッド <- 外部スレッドがポストだったんだけど JavaをベースにしたC#は メインスレッド->外部スレッドに関数ポインタ(デリゲート)を渡して呼び出してもらう にしたからクラスで完結したイベント処理が「不可能」なんだな やりたくでも出来ないんだw かっこ悪いのは分かってるけど出来ないんだw もし無理やりやるとしたら 外部クラスでデリゲートをキューしておいて メインスレッドのフォームからそれを一括呼び出しする関数を呼び出すみたいな そういうことしか方法がないのかもしれない >>698 や>>699 はそこまで考える頭が無いのは分かってるが
702 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 04:55:15 ] せめてオブジェクトクラスにそういうことをあらかじめやってくれる イベントキューみたいなのを包めて設計して欲しかったな
703 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 05:20:55 ] 久しぶりに痛い奴に遭遇した
704 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 05:27:30 ] >>673 自分で用意すればいいじゃん
705 名前:デフォルトの名無しさん [2010/07/15(木) 05:27:39 ] rem dirの出力をクリップボードに取り込む dir | clip rem クリップボードの内容を表示 clip こういうコンソールアプリを実装したい場合、 上下の処理の分岐ってどう書けばいいんですか?
706 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 05:38:06 ] ComboBoxのテキストを編集できないようにする方法を教えてください。
707 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 06:19:00 ] >>688 ISynchronizeInvokeでググれ
708 名前:デフォルトの名無しさん [2010/07/15(木) 06:28:20 ] >>707 rem dirの出力をクリップボードに取り込む dir | clip rem クリップボードの内容を表示 clip こういうコンソールアプリを実装したい場合、 上下の処理の分岐ってどう書けばいいんですか?
709 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 06:40:24 ] C#で簡単な.NETプログラムを作りました。 (ハローワールド程度) これを、自分のパソコンのウェブサイトにコピーしたのですが 動きません<C:\inetpub\wwwroot> VSでのデバッグ時には動いています。 localhost/ とやると、デフォルトのHTMLが表示されます。 localhost/WpfBrowserApplication1.xbap と入れると アプリケーションのダウンロードエラーとなってしまいます WpfBrowserApplication1.*は全部Default.htmlのあるルートに コピーしてあります。
710 名前:デフォルトの名無しさん [2010/07/15(木) 06:54:15 ] >>706 ぐぐれ デザイナーのプロパティの項目を上からみていけ
711 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 07:27:54 ] >>705 PeekConsoleInput関数でいける感じはするけど保証はないな、ドキュメント的に
712 名前:636 mailto:sage [2010/07/15(木) 08:36:47 ] notepadp2p.x10.mx/ とりあえずアップロードしてみたテスト
713 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:07:26 ] これって結局なんなの? 凄く時間のかかる全文検索だけ? どういう目的で使うの?
714 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:12:15 ] >>713 将来的にはこれはまったく別のP2Pシステムの一部になる予定だけど 本当に機能するか実験してる所です。 何か面白い使い方があれば適当にやって下さい。 多少の修正は対応します。
715 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:16:07 ] 京都府警がアップを始めました
716 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:16:15 ] 最低でも某有名P2Pみたいにポート開けずに検索出来るようになってからだな
717 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:17:16 ] そうだな、暗号化されてるし、誰が書いたか特定するのは不可能だから しかも検索出来るのはその文章のタイトルか内容のヒントを知ってる人だけだから 秘密の情報をやり取りするのとかに使えるかもしれない
718 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:24:15 ] そこまでして読みたい文章ってなんだ? んでヒント知ってる者同士ならその間柄でやり取りしたほうがセキュアじゃね? 暗号化つっても通信経路だけで常にオープンなわけだし
719 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:54:42 ] スレ違いじゃね?
720 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 09:55:36 ] >>701 デリゲートをキューに入れて、メインスレッドで一括呼び出しって、 それこそ Control.Invoke とか Dispatcher.Invoke がやってる事じゃん。
721 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 10:19:11 ] ネットワークに参加できない
722 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 10:57:14 ] だれも>>685 に反応しないところを見ると このスレ30歳以下しかいないんだな
723 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:00:01 ] >>721 原因が分からないけどこれのパケットだけ何故かFWに全部はじかれてる なんでだろう
724 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:14:18 ] >>722 今日初めてこのスレに来たから反応する暇も無いが わかりにくいわw
725 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:23:26 ] >>721 たぶんOKです
726 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:42:16 ] >>725 さっきルータのポートだけ開けてパソコンのFWで開け忘れてた 今は両方開けたつもりだけどまだ参加できないって言われる 「切断 0/0 受信 0.00bps / 送信0.00 bps 受信 49bytes / 送信 343bytes」って出てる
727 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:48:47 ] なんのかんのでこのスレの住人は優しい奴が多い。 オアシス的な場所。
728 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 11:55:41 ] >>726 dataフォルダをまるごと削除してもう一度再起動してもらえますか? 申し訳ない、こればっかりはデバッグ出来ない問題なんで
729 名前:670 mailto:sage [2010/07/15(木) 11:58:13 ] >>676 おお、ありがとう!試してみます。
730 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 12:21:10 ] >>701 >>>>698 や>>699 はそこまで考える頭が無いのは分かってるが 自分が良く分かって無いのにこういうこと言っちゃう人って…
731 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 12:26:48 ] 非同期コールバック系処理で同期取るの面倒だからこういうことするのは俺だけじゃないはず Begin〜( delegate() { ThreadPool.Push( delegate() //Invokeのデッドロック回避 { Invoke( (MethodInvoker)delegate() { //メインスレッドで処理 } } } ) ) );
732 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 12:34:02 ] イベントを使った非同期パターンを実装する場合はAsyncOperationを使って UIスレッドでイベントを発生させるのが推奨されてる もちろんフレームワーク側でのサポートが必要(WinFormsやWPFではサポートされてる)
733 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 16:06:45 ] Javaから引越し中ですが、 ArrayList 同士の結合をするには、どうすれば良いのでしょうか?
734 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 16:10:18 ] AddRange それはそれとしてArrayListなんか廃棄してList<T>なりに移行すること
735 名前:733 mailto:sage [2010/07/15(木) 16:19:07 ] >>734 ありがとうございます! List<T>なんてものもあるのですね。違いを調べて使ってみます。
736 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 18:01:08 ] >>728 おお、dataフォルダ消したら接続できた ありがとう
737 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 18:09:41 ] >>736 と思ったら今度は例外が出て落ちるようになった System.Security.Cryptography.CryptographicException はハンドルされませんでした。 Message="データが正しくありません。\r\n" Source="mscorlib" StackTrace: 場所 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) 場所 System.Security.Cryptography.Utils._DecryptKey(SafeKeyHandle hPubKey, Byte[] key, Int32 dwFlags) 場所 System.Security.Cryptography.RSACryptoServiceProvider.Decrypt(Byte[] rgb, Boolean fOAEP) 場所 c.a(Byte[] A_0, Byte[] A_1) 場所 c6.a() 場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 場所 System.Threading.ThreadHelper.ThreadStart() InnerException:
738 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 19:27:07 ] 例外ぐらいトラップしてロギングしときなよ… お行儀の悪いソフトだな…
739 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:11:28 ] DBで管理するメモ帳を作ろうかと思ってます. 入力した文字列に含まれる単語をstring[]などで取得したいのですが いい方法はないですか? //例 今日は学校に行った ⇒ { "今日","学校","行った"} ("は","に")が入ってもかまわないです 変換キーを押したときに,IMEで再変換時にでる下線部ごとにstring[]を作ってくれるとありがたいのですが, ググってもIME周辺の処理がいまいち分かりません 回答求む
740 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:15:21 ] 形態素解析でぐぐれ
741 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:16:17 ] >>740 サンクス
742 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:18:38 ] >>741 うん
743 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:41:08 ] Graphics.DrawLineで画面外の滅茶苦茶な数値を入れるとちゃんとエラーも出さずに描画してくれるみたいだけど、 描画する線が明らかに全くない場合は自前でDrawLineを呼び出さないように弾いちゃった方が早い? それとも自前でコードを書かなくてもDrawLine内で同コストで弾いてくれる?
744 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 20:46:44 ] 1ドットずつ判定するから長い線じゃなければ自分で判定して弾かなくてもいいよ
745 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 21:24:58 ] スケーリングやトランスフォームも含めてGraphicsにお任せすることもあるけど、 そんなとき自前で判定してたらメリット半減だよね。
746 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 21:50:17 ] >>743 ぜひ実測して結果を公表して。
747 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:13:25 ] お前がやれ
748 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:15:53 ] ちょっと昔のドロー系のアルゴリズムを書いてある本なら必ず掲載されてたなw
749 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:19:42 ] >>737 なんだそれは >>738 暗号関係の部分はしてる こっちでは何も出ない 環境の問題?
750 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:23:24 ] >Graphics.DrawLineで画面外の滅茶苦茶な数値を入れるとちゃんとエラーも出さずに描画してくれるみたいだけど、 こんなのは昔のN88BASICのline命令から普通にできた話 仮想スクリーンだとか言葉は違うけど 指定したエリア(カメラの範囲や表示可能領域)から外れた場合は 処理しないってのはまあ大体実装されてる機能だよ
751 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:23:36 ] .netに環境も糞もないだろ…
752 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:27:21 ] と思ったら古いソースといつのまにかごっちゃになってた 修正します
753 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:33:55 ] 赦します
754 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:52:07 ] N88BASICにクリッピングなんて気の利いた機能あったっけな。 MS系BASICにそんなのなかった気がしたが.... まあ、>>750 が勝手に熱くなってるけど>>743 が聞いてるのはべつにそんなことじゃ ないはずなんだがなw
755 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 22:54:41 ] notepadp2p.x10.mx/ 修正版アップしました
756 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:03:59 ] 今日は蒸すね(´・ω・`;)ふぅ
757 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:09:45 ] >>754 できたよ 当時は若かったので仮想スクリーンが何を意味するかわからなかったけど 現在のGPUでは当たり前にやってるような機能が当時からあったんだなあ と近年3D関連やってみて思った
758 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:18:48 ] 実環境は想像よりパケットロスが大きいことが分かったのでちょっとプロトコル変えます
759 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:19:58 ] てかX68Kみたいに仮想VRAM上の特定領域を表示したりしてるわけじゃなく 単に座標が実表示領域を超えててもエラーにならないってだけだろ?
760 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:32:10 ] >>757 直線のクリッピングなんて中学の数学の知識で出来るけどね。 んな大げさな話でもない。
761 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 23:38:09 ] まあね。
762 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:10:13 ] Windowsで線を描く場合は、そんなに単純じゃないと思う。 おそらく1ドットずつウィンドウ内かどうか判定して描画している。
763 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:26:15 ] >おそらく1ドットずつウィンドウ内かどうか判定して描画している。
764 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:26:56 ] 今時のOSがそんな間抜けな設計のわけねえだろ。 ちゃんと計算されてる。角度とか。
765 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:36:02 ] 角度?
766 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:37:04 ] シャア専板だかで昔流行ったギャグだ
767 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 09:54:48 ] >>764 と言うと、ウィンドウの重ね合わせの描画処理ってどうやってると思います? まさか下のウィンドウから順番に描画していき、最後に画面に表示ってのはないと思うけど。
768 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 10:01:51 ] 初心者スレへGo!
769 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 10:12:18 ] そんなこと言わずに教えてくれ。 正式にどうやっているか知らないので。
770 名前:デフォルトの名無しさん mailto:sage [2010/07/16(金) 10:14:11 ] 初心者スレに凄いのいるからそいつに聞けよ