1 名前:デフォルトの名無しさん [2008/04/22(火) 00:31:59 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 c++厨の嵐はスルー汁。 前スレ C#, C♯, C#相談室 Part45 pc11.2ch.net/test/read.cgi/tech/1200911737/ その他テンプレ>>2-5 くらい
357 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:01:20 ] >>356 出てますね... ありがとうございます。
358 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:55:25 ] すみません、初心者的で申し訳ないのですが、質問させてください。 以下のコードを実行すると、クラスAのセッターを使ってAのプライベート変数に2を代入したいにも関わらず 既定値の0が用いられてしまいます。 警告内容は以下の通りです。 「フィールド 'NAME1.A.x' は割り当てられません。常に既定値 0 を使用します。」 また、付随する質問ですが、void func_A( temp ) { x... }をvoid func_A( temp ) { X... }とすればきちんと2がセットされます。 クラス内であるにも関わらずセッターXを用いる必要があるのはなぜでしょうか。 なお、コンパイル環境はVisual C# Express Editon 2008です。
359 名前:KKK [2008/05/23(金) 13:56:15 ] こんにちは。 はじめましてRayです。 私は大学4年生ですが、最近は大学は週に一回くらいしか行かないのですが、 就活の準備など、家にいることが多くなりました。 しかし、斜め向かいに住んでいる茨城という若い夫婦が嫌がらせをしてきます。 @近所をうろAしたり、家の窓から私の部屋を覗いてきて、部屋に「○○の本がある」などと近所のほかのオバサンに報告したり、 A布団たたきでものすごい音で布団をいつまでもたたきます。 (体格がいいオバサンなので、すごい音がします;;) B私が家にいるのを知っていて近所のオバサンと大きな声で悪口を言ってきます (「Rayが就職なんかできるわけないじゃない!」など・・) C茨城(夫)は部屋を覗くだけでなく、夜になると咳払いなどをしていつまでも近所をうろついています。 気持ち悪いので、弁護士や市の職員に相談しましたが、なかA証拠が取れなく、裁判まで持ち込めない状況です。 D車のエンジンをいつまでもかけ、うるさくする。 とにかく精神的にも滅入っていて、解決したいのですが、できない状況です。 ほかの近所のオバサンも私が困っているのを見て喜んでいるみたいです。 なんとかしたいので、誰か相談にのってくださぃ。 アドバイス待ってます。
360 名前:358のつづき mailto:sage [2008/05/23(金) 13:56:37 ] amespace NAME1 { class A { // メンバ private x; ← ここで警告が出る // メソッド public void func_A( temp ) { x... }; ← ここでx=0として計算してしまう // アクセッサ public X { get; set; } }}
361 名前:358のつづき mailto:sage [2008/05/23(金) 13:57:37 ] using System; using System.Collections.Generic; ・ ・ ・ using NAME1 namespace ConsoleApp { class Main { static void Main(string[] args) { // クラスAを配列としてインスタンス化、xに2をセット n ; A[] arrayA_ = new A[ n ]; for ( int i = 0; i < n; i++ ) { arrayA_[ i ] = new A(); arrayA_[ i ].X = 2; } // メソッドの呼び出し temp; for ( int i = 0; i < n; i++ ) { arrayA_[ i ].func_A( temp ); } }}}
362 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 13:58:59 ] >>360 xの型もXの型もgetアクセサの中身もsetアクセサの中身も書け
363 名前:358 mailto:sage [2008/05/23(金) 14:16:40 ] private double x; public double X { get; set; } です。アクセッサの表記は、.NETのver2かver3でこのように書けるので、それを利用してます。
364 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:27:19 ] ヘルプなりで「自動実装するプロパティ」調べれ どうして X が x を知ってる?
365 名前:358 mailto:sage [2008/05/23(金) 14:49:06 ] ヘルプを読んだ結果、 >自動実装したプロパティでは、属性は使用できません。 >プロパティのバッキング フィールドで属性を使用する必要がある場合は、通常のプロパティを作成します に関連がありそうだとは思うのですが、意味がよくわかりません・・・。
366 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:56:54 ] X プロパティは x に対応しないよ。
367 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:58:31 ] それだと、 private double _X; みたいなのが内部で自動生成されて public double X { get { return _X; } set { _X = value; } }
368 名前:358 mailto:sage [2008/05/23(金) 15:03:32 ] つまり、 class{ double x; double X{get;set;} } と書くのは誤りで、 class{ double x{get;set;} } と書けばよいということですか?
369 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:37:57 ] ファイルの読み書き単位でエンコーディングを指定するのではなく、 プログラム全体でエンコーディングをしているする方法はないですか?
370 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:46:03 ] >>368 private double x; と public double X { get; set; } は別物だよ。 xをプロパティとしたいなら public double X { get{return x;} set{x=value;} } 自動プロパティを使いたいならprivate double x;は消して public double X { get; set; }だけにして、Xを変数のように使えばいいよ。 ただその場合はprivateではないけどね。
371 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 15:59:52 ] >>369 CreateStreamReaderAsShiftJIS/CreateStreamWriterUTF8メソッドでも用意しとけば?
372 名前:デフォルトの名無しさん [2008/05/23(金) 17:04:01 ] 初心者ですが質問させてください。 Webbrowserコンポーネント(Webbrowser1)でgoogleを表示しておいて、 ソフトのTextBox(TextBox1)に検索ワードを入力して、Button(Button1)を押したら、 Webbrowser側に検索ワードが読み込まれて自動で検索するようにしたいんですが、 どのようにすればいいか検討がつきません。 開発環境はVisualstudio2005、言語はC#です。
373 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:07:41 ] コンポーネントでの表示が必要なの? httpで通信するってんじゃだめかい?
374 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:10:13 ] >>372 事前にgoogleを表示しとく意味があるのか? 取り敢えず適当にgoogleで検索して検索結果画面のURL調べれ あとSystem.Web.HttpUtilityのUrlEncodeとUrlDecode調べれ
375 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:11:44 ] >>373 webにいろいろと自動入力するシステムを作らないといけなくなりまして。 たとえばブログにあらかじめTextboxに入れておいたIDとパスを入れて自動ログインするとか そういったものなんですけど、webのフォームに、Textboxから値を入れる方法が知りたくて、 Googleはそのたとえのつもりでした。 http通信?の意味がよくわからないんですが、ソフト内のブラウザ上で表示させる必要はあります。
376 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:13:21 ] >>374 Googleっていうたとえが悪かったですね。ごめんなさい。 >>375 で書いたように、Webサイト上のフォームにソフトのTextBoxで記載したワードを記入するのが目的です。
377 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:27:16 ] WebRequest を使って WebResponse を取得し、 その内容を反映させては。
378 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:30:01 ] 素直にHTTP POSTしろよ低脳。 こんなの厨房でも出来るぞ
379 名前:デフォルトの名無しさん [2008/05/23(金) 17:39:43 ] >>377 どのメソッドを使えばいいかわからなかったので、ググってみたらできそうです、ありがとうございます。 >>378 HTTP POSTで検索したらそれらしいのがでてきました。ありがとうございます。
380 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:40:12 ] おい小学生かもしれねえだろうが
381 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:41:46 ] >>368 おそらくやりたいことは public double X { get; private set; } これだけでいいと思われる。 これでXのセッターはprivateになる。
382 名前:デフォルトの名無しさん [2008/05/23(金) 17:43:52 ] >>380 そのとおりです小学校3年生です。 バカな質問してすいませんでした。
383 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:46:22 ] >>380 小学生に失礼だ
384 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:48:58 ] >>381 自動プロパティのセッタゲッタの片方だけのプロテクションを帰ることは出来ないよ。
385 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:52:20 ] >>384 いきなりどうしたの? 俺ができてるからそう書き込んでるんだけど。
386 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:54:35 ] 俺もプロパティはほとんど public Foo Foo{ get; private set; } だな 普通のプロパティなんてかったるくて書いてられん
387 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 17:55:26 ] >>384 知ったか? それとも何か他に深い意味があるの?
388 名前:358 mailto:sage [2008/05/23(金) 18:08:21 ] うまく書けるようになりました。 ありがとうございました。
389 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:15:11 ] >>372 まあ、解決したならそれでいいけど、これでいいよ。 private void button1_Click(object sender, EventArgs e) { HtmlElement input = webBrowser1.Document.All.GetElementsByName("q")[0]; HtmlElement form = webBrowser1.Document.All.GetElementsByName("f")[0]; input.SetAttribute("Value", textBox1.Text); form.InvokeMember("submit"); } >>378 ログイン処理とかだと、ログイン前のセッションクッキー引き回しとか、 JavaScriptによるワンタイムキーの生成とかが必要になると、そのへんは ブラウザに任せた方がはるかに簡単。
390 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:34:21 ] 便乗だけどオンラインゲームの自動ログインはどうやればいいの? ttp://dobon.net/vb/dotnet/internet/webrequestpost.html ここを参考にしたけどだめみたいなんだ。 たとえば ttp://suddenattack.redbanana.jp/ ここに自動ログインするためにはどうしたらいいのかな?
391 名前:デフォルトの名無しさん [2008/05/23(金) 19:21:51 ] >>389 さん、ありがとうございます! 検索してもわからず、困っていたところでした。 ("q")と("f")のところにhtmlからそのフォームのnameをもってきたらいいということですか? やってみます!またできたら報告しますね。
392 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:28:24 ] Hashtableから値取り出すときにキャストしないでいい方法はない? 面倒くさいんですけどん。
393 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:29:59 ] VS2005以降ならDictionaryを使う
394 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:31:53 ] >>393 サンクスです。 こんなのがあったんですね。
395 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:43:16 ] GenericはC#2.0の最大の目玉じゃないか…
396 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:38:55 ] >>390 やろうと思えばできる。 IDとパスのINPUTタグのIDを調べ>>389 のようにIDとパスを入力し、 こいつらを管轄するフォームでsubmitする。 ヒント:javascriptを実行してからsubmitを行う。
397 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:52:21 ] windowsアプリなんですが、メインのフォーム内のメソッドで そのフォームがもってるある型の変数全部の値を一括で変更 する方法はありますか? おねがいします。
398 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:56:16 ] リフレクションを使います
399 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:58:34 ] >>396 javascriptは全然わからないから詰まってます。 submit()を実行すると無限に更新されるみたいなのですが・・・。 htmlソースみるとLoginLeftFormCheck()を呼び出してるみたいなのですが関係ないですかね。
400 名前:390 mailto:sage [2008/05/23(金) 21:04:58 ] 意味も分からずコピペなんですけど、 public Form1() { InitializeComponent(); webBrowser1.Url = new Uri("suddenattack.redbanana.jp/index.asp "); } private void button1_Click(object sender, EventArgs e) { HtmlElement id = webBrowser1.Document.All.GetElementsByName("user_id")[0]; HtmlElement pass = webBrowser1.Document.All.GetElementsByName("user_pwd")[0]; id.SetAttribute("Value", "aaaaa"); pass.SetAttribute("Value", "bbbbbb"); } こんな感じでフォームに文字が入りました。 あとはログインボタン押して、ゲームスタートボタン押すだけなんですが・・・
401 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:05:33 ] >>396 いやそいつを実行するの。
402 名前:デフォルトの名無しさん [2008/05/23(金) 21:06:25 ] >>400 ログインボタン、エンターキーおしたらいけないの?
403 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:06:26 ] >>399 JavaScriptもわからないようならC#とか無理だから諦めろ。 なでしこでもやってろ
404 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:06:59 ] 安価ミス >>396 →>>399
405 名前:390 mailto:sage [2008/05/23(金) 21:11:35 ] >>401 実行するってことはInvokeMember("LoginLeftFormCheck")ってことですかね? >>402 フォーム上ならエンターキーでもログインできます。
406 名前:401 mailto:sage [2008/05/23(金) 21:28:18 ] すまん。VS2005についているWebBrowserは詳しくないんだ。 COMコンポーネントのMicrosoft Web Browserコントロールと、Microsoft.mshtmlというライブラリでしか 俺はできないんだ。(メソッドやら何やらがわかりやすい。) Microsoft.mshtmlは.NetFramework1.0にしかついてこんのだ。 で、このMicrosoft.mshtmlを使ったやり方で説明すると、 ・・・・・ Dim id As mshtml.HTMLInputElement = doc.getElementById("ID_user_pwd") id.value = "id" Dim pwd As mshtml.HTMLInputElement = doc.getElementById("ID_user_pwd") pwd.value = "password" doc.parentWindow.execScript("LoginLeftFormCheck()") ' LoginLeftFormCheck()を実行 pwd.form.submit() ' フォームをsubmit(これはInvokeMemberでできるとおもわれ) これでログインできる。 ゲームのスタートボタンはFlashであるために、プログラム上で操作する方法があるかもしれないが、 俺は残念ながらわからんかった。 まえ、ガンストの自動ログインツールを作成したときは、画面にブラウザを貼り付けて、 ゲームのスタートボタンが確実に見えるサイズに広げて、APIでマウスを操作するプログラムを書くという 逃げ道でやった。
407 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:52:19 ] Windowsアプリケーション学習用にC#をやろうと思っています。 Microsoft Visual C# 2008 Express EditionをSDKとSQL Serverつきでインストールしました。 しかし何をどう作っていったらいいかわかりません。 プログラム経験はPHPでWebプログラム(こちらは趣味で3年以上やっていて2ch風掲示板ぐらいのものは作れます)、 あとオブジェクト指向の勉強にJavaを少しいじった程度です。 Javaでは簡単なファイル操作から、オブジェクトの継承や例外処理など基本的な勉強しかしていません。 Webプログラムはイメージ的にわかるので、ASP.NETあたりはなんとか理解できると思うのですが、 Windowsアプリケーションとなると右も左もわかりません。 まずは何をやったらいいのでしょうか?
408 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:54:25 ] 何をやりたいの?
409 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:55:56 ] >>407 スレチこっちで質問しなおせ ttp://pc11.2ch.net/test/read.cgi/tech/1160209713/ ttp://pc11.2ch.net/test/read.cgi/tech/1208248879/
410 名前:407 mailto:sage [2008/05/23(金) 22:04:58 ] >>408 とりあえずWebアプリケーションでいうチャットやカウンターのような位置づけなものを作ってみたいです。 (ようするに簡単なものです) おそらくメモ帳のようなものになるのでしょうか? ペイントのようなものも作ってみたいですが、メモ帳に比べると難易度はあがりそうですね。 簡単なテーブルゲームなんかも作ってみたいですが、アルゴリズムの勉強はしてないので少し厳しそうです。 >>409 了解です。そちらで質問しなおします。
411 名前:390 mailto:sage [2008/05/23(金) 22:15:45 ] >>406 どうもありがとうございます。 webBrowser1.Url = new Uri("javascript:" + Uri.EscapeDataString("LoginLeftFormCheck();")); で無理やり実行してみたらfalseが返ってきちゃいました。 マウス操作も考えたんですけど、ブラウザやマウスが勝手に動く様が見えちゃいますよね。。
412 名前:397 mailto:sage [2008/05/23(金) 22:32:25 ] すいません。リフレクションを使っても取り出せるのは 型情報でインタンスの値は取り出せないのではないでしょうか? もう少しキーワード教えてください。
413 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:43:15 ] 型情報からフィールド一覧取れるだろ FieldInfoから値取得できる
414 名前:401 mailto:sage [2008/05/23(金) 22:51:20 ] >>406 いや、LoginLeftFormCheckは単に実行するだけでOK。 submitすりゃ、ログインされる。 javascriptは多分InvokeScriptでできない? マウスは勝手に動くようにみえちゃう。これは仕方ない。
415 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:23:57 ] >>411 >>409
416 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:34:10 ] ここはなにを話すスレ?
417 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:36:31 ] C#プログラマの雑談スレ
418 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:44:16 ] >>1 >(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 C#プログラマの雑談スレなんて限定的には書いてないけど? しかもスレタイは「相談室」だぞ
419 名前:397 mailto:sage [2008/05/23(金) 23:44:32 ] FieldInfoのGetValue,SetValueでできました。 ありがとうございます。
420 名前:デフォルトの名無しさん [2008/05/23(金) 23:55:28 ] JRq8rZjk7c 鳥解析4649
421 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:04:49 ] 私怨乙
422 名前:390 mailto:sage [2008/05/24(土) 01:09:12 ] >>414 ありがとうございました。 ゲームスタートのFlashもjavascriptを呼んでいましたので直接呼んだら開始できました!
423 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:53:52 ] >>416 C#、.NET(ただし、C#を使っている前提)に関することで、 主にふらっとだとアレな話題や雑談とかのスレ と、俺は解釈してる ここで質問すること自体は悪いとは思わないが、 ふらっとの方がより適切だとも思ってる
424 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:07:26 ] ふらっとは初心者用だから。 回答者も初心者スレにいなかったら結局このスレに質問しに来るのでは? たらい回しはいかんよ。
425 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:09:08 ] 俺はふらっとが初心者用でこっちが中級者の集まりだと思っていた。 こっちでの質問はOOPとか言語仕様なりの高度な質問になる感じ
426 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:11:33 ] >>425 元の趣旨はそうだが実情は逆
427 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:44:53 ] そんなの主観的なんだからどっちだっていいだろ。 質問者が初心者と自覚した場合ふらっとに行けばいいと思うよ。 ただそれだけ。
428 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 04:57:34 ] 複数あるのは害でしかない みんなわかってるはずだ
429 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 05:05:02 ] >>424 心配無用。 どうせ皆も両方見てるんでしょ。
430 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 05:42:36 ] どっちか削るとしたら明らかに初心者用だよな。 で、もし削ったとしたら初心者隔離スレも欲しくなるよな。 ここまで言えばわかるよな。
431 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:55:50 ] ぬるぽ
432 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 12:40:47 ] >そんなの主観的なんだからどっちだっていいだろ。 >質問者が初心者と自覚した場合ふらっとに行けばいいと思うよ。 えてしてその主観が間違ってるから問題になるんだが。
433 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:28:08 ] オレが全部答えてやんよ だからもう喧嘩するな
434 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:44:12 ] 整数5ずつにしたいのですが……うまく言えないのですが、例えば、 96なら95、98なら100、53なら55、42なら40 と言うふうにしたいのですが、どうすればいいでしょうか?
435 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:46:22 ] C#で自作した外部アプリケーションを呼び出したいのですが、 Process process = new Process() ; process.StartInfo.FileName = "hoge.exe" ; process.Start() ; こんな風に実行することが出来るようなのですが、 外部アプリケーション側に文字列を複数与えたいのです。 その場合呼び出す側と呼び出される側はどのような準備をすればいいのでしょうか?
436 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:49:25 ] >>434 問題を定義しなおしてから来い。 >>435 Process.Start(hoge.exe,"arbitrary string");
437 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:52:06 ] 俺は>>434 の言いたい事がわかったが次にどう書いてくるか楽しみなので伏せておく。
438 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:53:32 ] >>434 int number; number = 適当な数値; if (number % 10 < 4) number = number - (number % 10); else number = number + 10 - (number % 10); 適当に今思いついたがこんなんで良いか?
439 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:58:08 ] あ、5ずつか普通に四捨五入してるわこれ
440 名前:435 mailto:sage [2008/05/24(土) 18:00:09 ] >>436 文字列を複数渡したいのですが Process.Startの第二引数はstring[]でもいいのですか? それと受け取る側はどうすればいいのでしょう?
441 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:01:03 ] >>438 ありがとうございます。 さっそく導入してみたのですが、これだとただの10ずつになってしまうのですが……。 っと書いていたら439の返事がきました。 ありがとうございます。 こういうのも四捨五入というのですか……。 勉強になりました。
442 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:02:00 ] >>440 無理。記号を決めてそれを受け取る側で改行と見なすくらいしかない
443 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:02:40 ] >>438 の使って if (number % 10 < 5) number = number - (number % 10)+5; else number = number + 10 - (number % 10); でいいんじゃね?
444 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:02:43 ] あ、ちょっといじったらできました。 もうちょっとテストして、また報告させていただきます。 本当にありがとうございました。
445 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:04:33 ] 連投失礼します。 >>443 ありがとうございます。 それでいけそうです。 これまたもう少しテストしてきます。
446 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:06:56 ] こうでしょ。 int mod = x % 5; x += mod > 2 ? 5 - mod : -mod;
447 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:08:21 ] >>442 string一つだけなのですか。 受け取る側はどうすればいいですか? 受け取る側はコンソールではなくフォームアプリケーションです。
448 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:17:35 ] >>447 スペース区切りとかで渡して、 splitで分割するなりすればいいんじゃね?
449 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:19:37 ] >>446 ありがとうございます。 >>443 さんの方法だと、きりのいい数字だとちょっとおかしくなるようでした。 446さんの方法は私程度にはどういう処理をしているのかさっぱりなのですが、 問題なく使えます。 みなさん本当にありがとうございました。
450 名前:435 mailto:sage [2008/05/24(土) 18:30:42 ] Environment.CommandLineで受け取るか、 コンソールと変わらずにエントリポイントから受け取ればいいんですね。
451 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:40:20 ] >>431 AutoNullpoOudaki gattu = new AutoNullpoOudaki(); gattu.Execute();
452 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:11:50 ] 文字列から動的にExpressionTreeやFuncを得ることって出きるん? ttp://ufcpp.net/study/csharp/sp3_expressionsample.html ここで書いてあるような子としてみたかったんだが、CodeDom.GetExpressionFromとか見あたらず、いろいろググってもそれらしいのにたどり着けず・・・ CodeDomでFuncを返すメソッドを持つクラスをコンパイルして実行して呼び出せば出来無くないんだけれどもう少しまともな方法で・・・
453 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:31:07 ] >>452 そのページにある「ソース一式」のところからソース落して、 中身の「MyMath\CodeDom.cs」の中にその GetExpressionFrom の実体がある。
454 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:32:55 ] ちなみに、そのソースの GetExpressionFrom はまさに、その 「CodeDomでFuncを返すメソッドを持つクラスをコンパイルして実行して呼び出せば」 をやってるだけ。 もう少しまともな方法、確かに欲しいよね。
455 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:47:03 ] >>453 さんくすこ。 てっきり.NET3.5以降で追加されたのかと思ってた・・・orz CocoaのようなKVCとかやるためにリフレクションからコード生成→lambdaにしてそれなりに高速にアクセスみたいなことしたかったんだが・・・ 場合によって、無理やりコンパイルでlambda変換するようにしようかな・・・ あぁ書いてて思ったが、式ツリー手動でいじくればいいのか。よくわからんがやってみるノシ
456 名前:デフォルトの名無しさん [2008/05/24(土) 20:04:19 ] Compact Frameworkでやっててもこっちで大丈夫ですか? もし適切なところが他にありましたら誘導お願いします(´・ω・`) ボタン押したらwavファイルをプログラムに埋め込んで、ボタン押されたらそれを再生させたいんですが、上手く再生されません。 hi.wavが再生させたいファイルです。 private void button1_Click(object sender, EventArgs e) { System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); string file = a.GetName().Name + ".hi.wav"; System.IO.Stream s = a.GetManifestResourceStream(file); SoundPlayer player = new SoundPlayer(s); player.Play(); } サンプルを見ながらこのようなソースを組んで、 プロジェクトのプロパティのリソースのところにhi.wavを追加して、 Persistenceを「.resxに埋め込まれました」に設定しました。 しかし、動かしてみると標準のビープ音しかなりません。 デバッガで見ると、sがnullのままのようで、ファイルを読み込んでいないようです。 埋め込み方が間違ってるんでしょうか・・・。 よろしくお願いします(´・ω・`)
457 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:26:10 ] >>456 SoundPlayer player = new SoundPlayer("path"); player.PlaySync();