1 名前:デフォルトの名無しさん [03/10/04 01:02] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。 前スレッドはこちら pc2.2ch.net/test/read.cgi/tech/1059028988/l50 (Part4) pc2.2ch.net/test/read.cgi/tech/1047210828/l50 (Part3) pc2.2ch.net/test/read.cgi/tech/1035895873/l50 (Part2) pc2.2ch.net/test/read.cgi/tech/1023766485/l50
448 名前:デフォルトの名無しさん mailto:sage [04/10/26 01:59:00] >>446 dataGrid.DataSource.Rows[dataGird.CurrentRowIndex]; つか設計おかしいよ。順番気にしてる時点で。
449 名前:デフォルトの名無しさん mailto:sage [04/10/26 02:08:15] >>448 わけあってDataGridをListViewのように使ってるんです。 で、残念ながらそのコードだと、ソート前のDataRowしか取れませんでした。
450 名前:デフォルトの名無しさん mailto:sage [04/10/26 02:24:19] あー、そういうことか。 主キーのところの値が完全一致するのを探せば良いんじゃない? //カラムの並びを入れ替えられるとお手上げかな。
451 名前:デフォルトの名無しさん mailto:sage [04/10/26 02:46:42] >>450 やっぱりそういう力技しかないんですね・・・。カラムの並び替えは無しの方向でやってます。 ありがとうございました。
452 名前:デフォルトの名無しさん mailto:sage [04/10/28 00:49:32] >>446 CurrencyManagerを使えばできないかな
453 名前:デフォルトの名無しさん mailto:sage [04/10/28 00:56:18] ふとどぼんを見に行ったらこんなのもあったが。 ttp://dobon.net/vb/dotnet/datagrid/currentrow.html
454 名前:デフォルトの名無しさん mailto:sage [04/10/29 13:04:24] Socket.Send()を利用するため、XmlSerializerでシリアル化したオブジェクトをバイト配列にコンバートして Send()につっこみたいのですが、XmlSerializerの引数はstream用でバイト配列にする方法が見つかりません。 やっぱできないのでしょうか。。。。
455 名前:デフォルトの名無しさん mailto:sage [04/10/29 13:15:50] MemoryStream ms = new MemoryStream(); xmlSerializer.Serialize(ms, obj); byte[] bytes = ms.ToArray(); socket.Send(bytes, 0, bytes.Length); ということかな?
456 名前:デフォルトの名無しさん mailto:sage [04/10/29 13:18:23] >>454 MemoryStream
457 名前:デフォルトの名無しさん mailto:sage [04/10/29 13:20:12] 455のsocket.Send、パラメータをStream.Writeと勘違い……。
458 名前:454 [04/10/29 14:29:46] >>455 ,456さん ありがとうございます、MemoryStreamをつかうんですね ためしてみます(`・ω・´)
459 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:47:34] .net2で質問なんですけど、、、 this.TopMost = !this.TopMost; とやると常に手前にしたときにメインメニューのドロップダウンの部分が フォームの下に隠れちゃうんですけど何がいけないんでしょうか。。。?
460 名前:デフォルトの名無しさん mailto:sage [04/10/29 23:58:23] Visual Studioで使われているようなタブコントロールを作りたいのですが、 あれはSystem.Windows.Forms.TabControlからの継承で作れるものなのでしょうか。 サードパーティ製のものもあるにはあるのですが、 せっかくなので自分で作ってみたいのです。
461 名前:在日外国人参政権反対 mailto:sage [04/10/30 01:16:55] >460 自分で気合で描画することを進めます。
462 名前:454 mailto:sage [04/10/30 17:42:20] たびたびすいません、454です >>455 を参考にやってみましたが、うまくいかず(´・ω・`) デシリアライズはこれでいいんですよ・・・ね・・・? MemoryStream msRead = new MemoryStream(); XmlSerializer readSerializer = new XmlSerializer(typeof(Obj); msRead.Write(byteAry,0,byteAry.Length); Obj obj = (Obj)readSerializer.Deserialize(msRead); msRead.Close();
463 名前:デフォルトの名無しさん mailto:sage [04/10/30 17:46:03] >>462 MemoryStream msRead = new MemoryStream(); XmlSerializer readSerializer = new XmlSerializer(typeof(Obj); msRead.Write(byteAry,0,byteAry.Length); msRead.Position = 0; // コレ追加よろ Obj obj = (Obj)readSerializer.Deserialize(msRead); msRead.Close();
464 名前:454 mailto:sage [04/10/30 17:52:28] >>463 おぉぉ、うまくいったー ありがとうございます Position指定必要だったんですね・・・・まったく気づかなかった(つД`)
465 名前:デフォルトの名無しさん mailto:sage [04/10/30 18:26:25] >>461 ちまちまやってみますわ。 .net 2.0になっても各種コントロールはショボイままだった…。 幾つか良くなったのもあるけど。
466 名前:デフォルトの名無しさん [04/10/30 21:12:36] CSVから読み込んで、datasetに収まってる 7995.005229 とかを少数以下は無視していいのでintにしたいのですがどうすればいいですか? Convert.Tointが使えなくて困ってます。(少数いかにも数字があるから?)
467 名前:デフォルトの名無しさん mailto:sage [04/10/30 21:14:38] >>466 doubleにしてからintに落とせば?
468 名前:デフォルトの名無しさん mailto:sage [04/10/30 21:16:36] >>465 基本的に言語のライブラリはOSが提供するUIに口出ししないし、するべきではありません。 そういうのはサードパーティの仕事です。
469 名前:デフォルトの名無しさん [04/10/30 21:21:44] そのサードパーティのライブラリでよく使われる?ActiveReport やFlexGridなどの解説本を探してみたのだが、全然見つからないね。 ヘルプだけ見て使いこなせということなんだろうか。
470 名前:466 [04/10/30 22:10:21] >>467 いけました。ありがとうございました
471 名前:デフォルトの名無しさん mailto:sage [04/10/30 23:28:29] >>468 まぁ今の".NET Framework"はそうかもしれないけど、 いずれWindowsのAPIになっていくわけでしょ。 そうするとやっぱりWindowsが提供するネイティブコントロールは しょぼいってことになるわけで、そろそろどうにかならないものかとは思う。
472 名前:デフォルトの名無しさん mailto:sage [04/10/30 23:36:02] >>469 VS標準のCrystalReportも日本語だとあまり情報ないよね。 仕事で作るような帳票類はGDIでゴリゴリ書いてる時間ないから しかたなく使ってるけど、正直"たぶんこうやって使うんだろう"の世界。
473 名前:在日外国人参政権反対 mailto:sage [04/10/30 23:48:30] >468 Windows.Formsにまとめてるのはその意図を汲んでのことだろう。 だからこそそれを拡充させてほしい気はする。
474 名前:デフォルトの名無しさん mailto:sage [04/10/30 23:58:33] リストボックスから条件に見合ったオブジェクトを削除したいのですが、 foreach ( UserList logoutUser in listBox1.Items ) { if ( recMessage.TargetUserID == logoutUser.UserGuid ) { listBox1.Items.Remove(logout); } } と書くと System.InvalidOperationException: この列挙子が連結されている一覧は変更されています。 列挙子は、一覧が変更しない場合に限り使用できます。 とゴルァされるのですが、いい方法ないでしょうか・・・。
475 名前:デフォルトの名無しさん [04/10/31 00:01:00] あ、最後のところRemove(logoutUser)でつ
476 名前:デフォルトの名無しさん mailto:sage [04/10/31 00:04:54] そりゃ列挙中に肝心の列挙するコレクションが変わってしまっては話にならないだろ。 forで回してやるとかしな。
477 名前:474 mailto:sage [04/10/31 00:13:16] ありがとうございました。 1回ブツが釣れれば十分なのでbreakかましたらうまくいきました 吊ってきますorz
478 名前:デフォルトの名無しさん mailto:sage [04/10/31 12:12:15] 「すれ立てるまでもない質問・・・」に書き込んだら怒られてしまいました。 同じ内容ですが、こちらに書かせてください。 VS.NetのC#でプログラム作ってるんですが、データセットから テキストボックスにバインドする方法が分からないんです。 といっても、よくあるデータテーブルの列単位でバインドするやり方ではなくて データテーブルのある条件に合致するレコードの項目をバインドしたいんです。 例えば Key 列1 列2 001 1AAA 1BBB 002 2AAA 2BBB 003 3AAA 3BBB 004 4AAA 4BBB 005 5AAA 5BBB みたいなデータテーブルから、TextBoxにはKey=003の条件によって 列1の内容(3AAA)をバインドしたいんです。 もちろん、バインドするからには変更結果も反映されていてほしいんですが・・・ お願いします。
479 名前:デフォルトの名無しさん mailto:sage [04/10/31 18:21:08] ふと思ったんですけど、 using System.Windows.Forms; という感じにしておいた部分を using System.Windows.NewForms; とかに書き換えることで、クラス構成をそっくり新しくする事って邪道ですか?
480 名前:デフォルトの名無しさん mailto:sage [04/10/31 18:22:36] オレ的には邪道
481 名前:デフォルトの名無しさん mailto:sage [04/10/31 19:07:04] >>479 その場合、 using System.Windows.Forms; ↓ using No479.Windows.Forms; みたいに企業名(Systemの部分)を変えたほうがいいんじゃないか。 ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpgenref/html/cpconnamespacenamingguidelines.asp
482 名前:479 mailto:sage [04/10/31 19:11:46] >>481 ちゃうちゃう System.Windows.Forms と System.Windows.NetForms の中に、 型は同じだけど挙動の異なるクラスがあったときに、 using 文でどちらを採用するか切り替えるのは邪道かな?って事
483 名前:479 mailto:sage [04/10/31 19:12:21] >>482 別に名前空間名はなんだって良いんだが
484 名前:デフォルトの名無しさん mailto:sage [04/10/31 20:48:00] >>482 そういうクラスが大量にあるソースを目の前にしたときに激しい絶望感に襲われるのでやめてください。 using書いてるのにnamespaceフルに書いて別のnamespaceのクラスを使用されたりして混沌に拍車がかかったりします、してます……
485 名前:479 mailto:sage [04/10/31 20:52:06] 何となく分かりました。皆さんも回答有難う御座います >>484 がんがって下さい orz
486 名前:デフォルトの名無しさん mailto:sage [04/10/31 20:57:35] >>484 using Hoge = System.Windows.Forms; Hoge.Form = new Hoge.Form(); で随分楽になると思うけど。 まあ479みたいなのは見たくもないと言うのはよく分かる。
487 名前:デフォルトの名無しさん mailto:sage [04/11/01 02:18:40] >479 そういうののためにAbstractFactoryとかあるとおもうのだけど。 あれは切り替えできるとともに、システム上での選択肢をひとつに強制するという使い方でもある。 ソースごとにusingで切り替えられるのは>>484 のいうとおりたちの悪いバグの元。
488 名前:デフォルトの名無しさん mailto:sage [04/11/02 04:49:20] FormクラスのActivate()メソッドを使用してます >>アクティブなアプリケーションであるフォームをアクティブにした場合は、そのフォームが最前面に移動します。 >>アクティブなアプリケーションではないフォームの場合は、そのフォームのウィンドウ キャプションが点滅します。 とあるのですが、他のアプリケーションに切り替えてるときにこのメソッド呼び出されると、最前面に来る場合があるのですが、 他のアプリケーションにフォーカスしている ≠ その他のアプリケーションのフォームがアクティブである ということなのしょうか・・・? MSNメッセンジャーのように、通知が来たときに点滅するだけでいいのですが、 これってWin32API叩くしかないんでしょうか・・・。
489 名前:デフォルトの名無しさん mailto:sage [04/11/02 09:28:31] >>488 なるねー。 .NET2.0ならFlashメソッドってのがあるんだけど。
490 名前:488 [04/11/02 14:36:14] 1.1じゃムリかなぁ(つД`)
491 名前:デフォルトの名無しさん mailto:sage [04/11/02 17:24:17] VSの画面にはドッキングウィンドウなどありますが、あのコンポーネントは何処にありますか? あの画びょうのマークのついたドッキングウィンドウ・コンポーネントと、 プロパティを設定するためのコンポーネント(VS右下の、Nameとか設定できる奴)を 探していますが見つからない。
492 名前:デフォルトの名無しさん mailto:sage [04/11/02 17:36:37] >>491 とりあえず > プロパティを設定するためのコンポーネント(VS右下の、Nameとか設定できる奴)を はPropertyGridだな。こいつは.NET Framework標準。 ドッキングウィンドウは……the Code Projectにあったようななかったような。
493 名前:デフォルトの名無しさん [04/11/02 18:59:20] richTextBox1.AppendText( recMessage.ToString() + " : " + recMessage.Message + "\r\n" ); を richTextBox1.AppendText( recMessage.ToString() + " : " /* + recMessage.Message + "\r\n" */); string[] splString = recMessage.Message.Split(new char[] {'#'}); for ( int count = 0 ; count + 1 <= splString.Length ; count++ ){ if ( count != 0 ){ String colorCode = splString[count].Substring(0,1); switch ( colorCode ){ case "1": richTextBox1.SelectionColor = System.Drawing.Color.Blue; richTextBox1.AppendText(splString[count].Substring(1)); break; (中略) default : richTextBox1.AppendText(splString[count]); break; } }else{ richTextBox1.AppendText(splString[count]); } } richTextBox1.AppendText("\r\n"); } にしたところ、エラー音が出るようになりました(処理は正常に行われてるっぽい) なぜでしょう・・・?
494 名前:デフォルトの名無しさん mailto:sage [04/11/02 23:03:59] >>491 DockPanelSuite sourceforge.net/projects/dockpanelsuite/ 無償でオープンソース。現在ベータ版で、メニューの統合がうまくいかないなどバグが残る。 DotNetMagic www.dotnetmagic.com/ 機能的にはおそらく最強。でも有償。 MagicDocking www.codeproject.com/cs/miscctrl/dockingmanagerextender.asp DotNetMagic の旧バージョン。ライセンスはよくわからん。 SharpDevelopに使われるなど実績あり。 Docking Suite www.divil.co.uk/net/controls/dockingsuite/ 現在ベータ版。非商用利用に限り無償。 代表的なところでは、こんなものか。見た目や動きが微妙に違うので、実際に使ってみて選んだ方がいい。
495 名前:デフォルトの名無しさん mailto:sage [04/11/03 10:49:11] 鯖から非同期に送られてきたデータをバックグラウンドで取得し、イベントとして通知するようなライブラリ作ってます 1:TcpClient を使っているとき、サーバから切断されたことをすぐに知るにはどうすればいいか 2:異常切断されたときイベントなどで通知することを考えているが、 通常切断したときも同じイベントを発行したほうがライブラリを使う側にとって便利なのかどうか ちょっとアンケートがましいですが意見をお聞かせくださいm(_ _)m
496 名前:デフォルトの名無しさん mailto:sage [04/11/03 12:41:36] プログラム歴2ヶ月で答えると叩かれそうだが・・・ 1, byte[] byteAry = 受信データ; if ( byteAry.Length <= 0 ) { パイプカット } 2, ライブラリがエラーの処理をどこまでするかによるんじゃないでしょうか でしゃばってスマソ
497 名前:デフォルトの名無しさん mailto:sage [04/11/03 23:25:41] >495 1.物理的に切断を瞬間的に不可能。 TCPのキープアライブ使ってもいいが融通がきかん、自分でキープアライブパケット投げるようにしておけ。 2.同じイベントでも(・∀・)イイ!!が、通常なのか異常なのかわかるようにしておけ。エラー原因などもプログラムで扱えるよう定義してふんだんな情報を送っておけ 以上。
498 名前:杏仁 [04/11/05 17:39:49] 最近C#を始めました。良く分からないので質問させてください。 いま、Cで作成されたDLLをDllImportで呼び出しています。 そのDLLの仕様を見ると関数は void hoge(UINT *pWidth, UINT *pHeight); とポインタで呼び出していました。 [DllImport("hogehoge.dll")] public static extern void hoge(int w, int h); としても当然うまくいきませんでした。 C#でこのような場合ようやってDllImportすればいいのでしょうか? お手数ですが、お教えください。よろしくお願いします。
499 名前:デフォルトの名無しさん mailto:sage [04/11/05 17:46:06] >>498 ref System.UInt32 にする。 (まぁ小さげな値だろうから ref System.Int32 でもいいだろうけど)
500 名前:デフォルトの名無しさん mailto:sage [04/11/05 17:53:35] System.IntPtrで外部関数のパラメータを定義し System.Runtime.InteropServices.Marshal.AllocCoTaskMemでメモリを確保、 System.Runtime.InteropServices.Marshal.WriteInt32で確保したメモリに書き込み、 関数に渡す。 結果をSystem.Runtime.InteropServices.Marshal.ReadInt32で読み込んで System.Runtime.InteropServices.Marshal.FreeCoTaskMemでメモリを破棄する。 uint*程度でやる事じゃありません。
501 名前:デフォルトの名無しさん mailto:sage [04/11/05 17:58:17] 関数がどんな性質なのかにもよるんだよなー。 これがよくもあり悪くもあり。
502 名前:杏仁 [04/11/05 18:34:05] 回答ありがとうございます。 >>499 > ref System.UInt32 にする。 [DllImport("hogehoge.dll")] public static extern void hoge(ref System.UInt32 w, ref System.UInt32 h); ということでしょうか?この場合、どうやって呼び出せばいいのですか? int w=0; int h=0; hoge(w,h); としてもうまくいきません。 >>500 回答していただいたのにさっぱり・・・。 もう少し分かりやすくお願いできますでしょうか? 最近始めたばかりで、さっぱり右も左も分からない状態です。 よろしくお願いします。
503 名前:デフォルトの名無しさん mailto:sage [04/11/05 18:39:42] >>502 ヘルプでrefキーワードぐらい調べようよ〜。 呼び出す時もrefキーワードが必要。 hoge(ref w, ref h); 500はただのジョークだから。こんな手段もあるよってだけ。 //と最後の行で言ったつもりだったんだけど。
504 名前:デフォルトの名無しさん mailto:sage [04/11/05 19:04:46] >>502 蛇足の補足。たぶんこの場合は関係ないだろうけど、ポインタ値が指す領域にある値だけではなく、 そのものに意味がある場合には、System.IntPtr 型にしておいて、ポインタの指す先のアクセスは >>500 風にやるようなこともある、ってのが >>501 ね(たぶん)。 例えば hoge の正体が hoge(UINT* w, UINT* h) { delete [] w; delete [] h; } みたいな場合とか。
505 名前:デフォルトの名無しさん mailto:sage [04/11/05 19:05:31] >>そのものに意味がある ↑ 「ポインタ値そのものに意味がある」の編集ミスですた。
506 名前:デフォルトの名無しさん [04/11/06 00:54:32] this.pictureBox1.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseWheel); private void pictureBox1_MouseWheel(object sender, MouseEventArgs e) { Console.WriteLine(e.Delta); } と記述してるのですが、マウスホイールくるくるしてもpictureBox1_MouseWheelイベントが発生してくれません。 そもそもなんで、MouseWheelだけは手動で書かないといけないのかと(ry
507 名前:デフォルトの名無しさん [04/11/06 01:01:47] >>506 Console.WriteLine();を、MessageBox.Show("",""); にしても駄目?
508 名前:506 mailto:sage [04/11/06 01:08:21] だめっぽいです ブレークポイントしかけても反応してくれません。 Panelの上に張ってるのでPanelにもイベントハンドらを記述したのですが どっちもイベントが発生しないみたいです。
509 名前:デフォルトの名無しさん mailto:sage [04/11/06 01:10:57] >>508 >Control.MouseWheel イベント > コントロールにフォーカスがあるときにマウス ホイールが動くと発生します。 PictureBoxやPanelはユーザの通常操作ではフォーカスを得る事はない。
510 名前:508 mailto:sage [04/11/06 01:18:35] なるほど。 Mouse_EnterしたらFocus()するようにするとうまくいきました。 お騒がせしました。
511 名前:デフォルトの名無しさん [04/11/06 18:29:40] 今C#の文法書を読んで勉強中なんですが 文法などを一通り理解したら次は何をすべきなんでしょうか? guiアプリケーションを作れる人は文法などを理解したら次は何をしたんですか?
512 名前:デフォルトの名無しさん mailto:sage [04/11/06 18:32:41] 作りたいアプリを作りつつ GUIパーツをいろいろ試したり細かいプロパティ・メソッドを調べたり 非GUIなクラスの使い方を覚えたりどんなクラスが存在するのかを調べたり。
513 名前:デフォルトの名無しさん mailto:sage [04/11/06 18:32:45] >>511 作りたいものを作れ。手を動かせ。 「習うより慣れろ」ということわざがあるが、 プログラミングの場合「習ったら慣れろ」ってところか。
514 名前:デフォルトの名無しさん mailto:sage [04/11/06 18:41:15] わからないことがあったらここに質問しにきていいんですかね? タブ型メモ帳を作ろうとしてお世話になったのが自分なのですが。 MSDNライブラリをみながら作るだけではちょっとムリがあるかなと思いました。
515 名前:495 mailto:sage [04/11/06 20:36:09] >>496-497 亀ですがdくすです。 む〜。実際にデータ送らないと切断検出できないですか〜。 送信、受信が別スレッドに分かれているんで、リターンを待つ同期に一苦労^-^;
516 名前:デフォルトの名無しさん mailto:sage [04/11/06 20:44:40] >>515 送信と受信を一つのスレッドでやるとエライ事になるよw あとTcpClientは結構ゴミだからクライアントアプリでもSoket使った方がいいかも。
517 名前:495 mailto:sage [04/11/06 20:51:11] >>516 >クライアントアプリでもSocket 具体的にどのような点が優れているんですか? ちょっとワカラン orz
518 名前:デフォルトの名無しさん mailto:sage [04/11/06 20:58:32] >>517 NetworkStreamでしか送受信出来ない、細かい制御(受信側のみ切断とか)も出来ない ついでに非同期送受信も出来ない・・・ TcpClientで作っても後々書き直すことになると思うw
519 名前:495 mailto:sage [04/11/06 21:00:06] >>518 ラジャ^-^;
520 名前:495 mailto:sageここはお前の日記j(ry [04/11/06 21:01:24] あ〜送受信系統を1つのクラスに押し込めて置いてよかったw このクラスの中身だけ変えればおkだわ
521 名前:デフォルトの名無しさん mailto:sage [04/11/06 22:26:52] do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=81&fi=no こんな感じで送受信してます、たまにデータが続けざまに来るとエラーでるんですが、どうしたらよいでしょう・・・。
522 名前:デフォルトの名無しさん mailto:sage [04/11/07 00:13:29] えーと・・・ BeginReceiveしてEndReceiveした後は、また非同期受信するなら再度BeginReciveしないと駄目なような・・・ それにこの用途ならNetworkStream使った方が楽かも・・・(俺ならそうするw) あと、一度の受信でバッファ全部捨ててるけど、 非同期受信は何バイト受信するかわからないから、先取りしたデータは捨てるんじゃなくて プールしてその上でさらにバッファを貯めるみたいにすべき。 あと(ぉ終了処理はShutdownの後でCloseしよーw
523 名前:521 mailto:sage [04/11/07 01:12:53] 了解です!(BeginRecieveするメソッドにソケット渡し忘れてた・・・(/ω\)) NetworkStream調べてみます〜 >あと、一度の受信でバッファ全部捨ててるけど、 >非同期受信は何バイト受信するかわからないから、先取りしたデータは捨てるんじゃなくて >プールしてその上でさらにバッファを貯めるみたいにすべき。 int recBytesSize = socket.EndReceive( ar ); ↑で受信データサイズ抜いた時点で必要とするbyte配列は確定してない・・・ということですか?
524 名前:495 mailto:sage [04/11/07 16:00:26] 何か似たような事やっている人がいるなぁ ^-^; おまいは俺か?
525 名前:杏仁 [04/11/07 21:51:38] >>498-503 ありがとうございました。おかげで動作しました。 もう一つ質問なのですが、DLLの仕様を見ると BYTE *HOGE() という関数があります。 この場合は、どうやって呼び出せばいいでしょうか? よろしくお願いします。
526 名前:521 mailto:sage [04/11/07 21:56:34] >>495 あなたの子よ!認知してよ! 非同期NetworkStreamのサンプル見つからない(MSDNのだと断片的でわからず・・・)
527 名前:デフォルトの名無しさん mailto:sage [04/11/07 22:04:54] ところで Bigin〜 したら必ず End〜 しなきゃいけないの? やりっぱなしじゃ駄目?
528 名前:527 mailto:sage [04/11/07 22:05:19] 凄く打ち間違い orz
529 名前:デフォルトの名無しさん [04/11/07 22:16:49] ランダムにping送って、応答があった場合、応答先のPCのNICのMACアドレスを取得する方法ってありますか?
530 名前:デフォルトの名無しさん mailto:sage [04/11/07 22:34:26] よく分からないけど通報しますた
531 名前:デフォルトの名無しさん mailto:sage [04/11/07 22:55:54] ブロードキャストがしたいんじゃないかな…
532 名前:デフォルトの名無しさん mailto:sage [04/11/07 22:57:25] ARPのことなのだろうか・・・・ それとも今世界のどこかから自分のMAC抜かれたいのだろうか
533 名前:デフォルトの名無しさん mailto:sage [04/11/07 23:21:05] マックでバーガー三つ買って来るか・・・ハァ・・・
534 名前:デフォルトの名無しさん mailto:sage [04/11/07 23:38:51] 漏れのもたのむ
535 名前:デフォルトの名無しさん mailto:sage [04/11/07 23:55:40] >529 pingパケットにその情報があるか見てみれば?
536 名前:デフォルトの名無しさん [04/11/08 00:14:47] C#のクラスを継承してManageC++のクラスを作りたいんですが、 メンバ関数のオーバーライドがうまくいきません。 C#のクラス↓ public abstract class ClassCS { public abstract void Func(ref int c); } void FuncC(int __gc& C) や void FuncC(int &C) ではだめでした。 この関数FuncをオーバーライドするにはC++でどのように記述すればいいんでしょうか?
537 名前:デフォルトの名無しさん mailto:sage [04/11/08 01:38:42] >>525 それはもう関数次第としか言えない。 >500みたいなことをする可能性が高いが。 >>536 ええとポインタを引数に取るんだからvoid FuncC(int* c)じゃないのかな。
538 名前:デフォルトの名無しさん mailto:sage [04/11/08 02:37:53] >>535 それだと、同一ネットワーク内ならOKだけど、L3装置かましたときに中継点のMACになるような
539 名前:杏仁 [04/11/08 10:14:41] >>537 >それはもう関数次第としか言えない。 画像バッフアのアドレスが格納されて帰ってくる関数みたいなのですが・・。 > >500みたいなことをする可能性が高いが。 ・・・・。大変そうですね。私にできるかどうか・・・。 サンプルとか参考になるサイト等ありますでしょうか?
540 名前:デフォルトの名無しさん mailto:sage [04/11/08 13:18:34] >>539 関数次第なんだからサンプルも何もないと思うけど?
541 名前:デフォルトの名無しさん mailto:sage [04/11/08 13:32:01] >>539 unsafe で IntPtr を byte* にでもキャストして、画像バッファのメモリをアクセスすれば良いと思う。 メモリの中身にアクセスする必要がないなら、IntPtr で受け取っておいて、他に渡す必要があるなら また IntPtr で渡してあげるだけ。 Susie のプラグインを C# から使いたいとか、そういうことですか?
542 名前:杏仁 [04/11/08 15:20:19] >540 541 解答ありがとうございます。 ん〜。勉強不足で折角の解答の意味があまり理解できずに申し訳ありません。 とりあえず、IntPtrをもう少し勉強してみます。 >Susie のプラグインを C# から使いたいとか、そういうことですか? 画像入力ボードのDLLを使って画像の取り込みを行いたいと思っています。
543 名前:デフォルトの名無しさん mailto:sage [04/11/08 16:15:09] 此処で質問して良いのかどうか、ちょっと不安なのですが・・・ 現在、既存システム(C+VB6)をC#で移植しています。 既存システムはVB6でユーザインターフェースを作り、 CでDLLを作って、VB6からDLLを呼び出しています。 VB6のインターフェース部分は特に問題無くC#に移植できたのですが、 Cで作ったDLLの関数が結構多く、またC#から呼び出すのも厄介な状況です。 MSの技術情報でWin32APIと.NETFrameworkの対応表で幾つかはそのままC#で実装しましたが、 残りのDLL関数をManagedC++でDLLを再度作り直し、そのDLLをC#から直接使う事になりました。 そこで質問なのですが、ManagedC++でSTLのmapを使いたいのですが、 コンパイル時にエラーとなってしまいます。 ManagedC++ではSTLなどテンプレートを使う事はできないのでしょうか? また、ManagedC++で作った関数で、.NETのHashtableなどを返す関数は作れないのでしょうか?
544 名前:デフォルトの名無しさん mailto:sage [04/11/08 16:22:06] >>543 managed C++ やろうぜ!! pc5.2ch.net/test/read.cgi/tech/1014486422/ //沈んでるなぁ……。
545 名前:536 [04/11/09 00:34:22] >>537 >ええとポインタを引数に取るんだからvoid FuncC(int* c)じゃないのかな。 返答ありがとうございます。 試してみましたが、うまくいかないようです。 自分でもいろいろ試してみて、Manage C++側はFunc(int __gc &c)になるはずだと思ったんですが、 下のプログラムを実行すると『抽象クラスまたはインターフェイス 'CPP.CPP' のインスタンスを作成できません。』といったエラーが出ます。 CPPのFuncをオーバーライドできてないってことだと思うんですが、どうすればちゃんとオーバーライドできるんでしょうか? Manage C++↓ namespace CS { public abstract class CS { public abstract void Func(ref System.Int32 c); } } C#↓ namespace CPP { public __gc class CPP : public CS::CS { public: void Func(int __gc &c){} }; } static void Main(string[] args) { CS.CS S = new CPP.CPP(); }
546 名前:デフォルトの名無しさん [04/11/09 01:08:36] 突然ですがお知らせです。 大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に 拠点を構え、業績急上昇中!未経験者大募集中!の ソフトウェア開発会社 グリーンシステムを応援するHPです。 www.geocities.jp/grs_hp/ このスレの読者の人のような、レベルの高い人にぴったりかと 思います。 最高の会社にするため、みんな頑張ってます!
547 名前:デフォルトの名無しさん [04/11/09 01:16:15] このスレの読者の人のような、デンパレベルの高い人にぴったりかと 思います。 最高の会社にするため、みんな頑張って2chに投稿してます!
548 名前:デフォルトの名無しさん [04/11/09 02:02:26] >>546 俺はチョコレート嫌いでチーズケーキ好きだから無理ぽ(´・ω・`)
549 名前:デフォルトの名無しさん [04/11/10 14:32:04] 以前からよくVisualStudioがポコポコこける原因が判ったのですが、 その原因というのは、ソリューション中にControlのプロジェクトと 利用するアプリの複数のプロジェクトを作って アプリのプロジェクトからControlのプロジェクトを参照して、 Controlのプロジェクトのコントロールをツールボックスにいれると頻繁に落ちます。 VisualStudio からしてみれは参照しているコントロールを突如更新されては堪らないというのは分るのですが TestツールのNUnitでも外部から書き換えを検出して見事にやっているので、 更新している本人の VisualStudio にできないはずが無いだろうと思うのですが、できていないようです。 結局コントロールのDLLは別のソリューションで作って解決したのですが、まとめてビルドできなくて結構不便です。 誰かこうしたら便利だ!! って方法がある人がいたら教えてくださいです。
550 名前:デフォルトの名無しさん mailto:sage [04/11/10 14:37:21] >>549 同じような事したことあるけど、VSがポコポコ落ちるような事なかったけどなぁ・・・ 他の開発環境のせい? それともマシンの性能? やっぱり、日頃の行い?
551 名前:デフォルトの名無しさん [04/11/10 15:03:12] >>550 ほんと? 相当やりこんでほぼこれだと特定した物なんだけど……
552 名前:デフォルトの名無しさん [04/11/10 15:05:09] 漏れも未体験だな。
553 名前:デフォルトの名無しさん [04/11/10 15:08:17] すんません、 その問題おこらないソリューション一式をアップローダに上げてもらえませんか? もしこれが原因でないとすれば、かなり悩みます。
554 名前:デフォルトの名無しさん mailto:sage [04/11/10 15:17:40] >>553 そんなソリューション一式、アップできると思うのか? 会社でやってる仕事のものなら、特に上げられない。 新手の産業スパイかなにかですか? 買うと言うなら送りますよ。 勿論、ソースから何から。 ドキュメントは要らないだろうから、値引きするけど、それでも数百万は貰うよ?
555 名前:デフォルトの名無しさん [04/11/10 15:22:09] >>554 もちろん全部上げろという意味じゃないですよっ、そんなの当たり前です そんなものアップできるほど小さくも無いでしょうし、見る側のこっちもたまりません。 最低限でって話ですよ。 てゆうかアンタただの煽りでしょ。
556 名前:デフォルトの名無しさん [04/11/10 15:23:35] どうやったら再現できるのか知りたいくらいだw
557 名前:デフォルトの名無しさん mailto:sage [04/11/10 15:24:04] >>554 きちがい?
558 名前:デフォルトの名無しさん mailto:sage [04/11/10 15:26:22] 取りあえず再現"する"最低限のソリューションから検証してみるべきだな。
559 名前:デフォルトの名無しさん mailto:sage [04/11/10 15:27:44] 煽りはお腹いっぱい、もういいです。
560 名前:デフォルトの名無しさん mailto:sage [04/11/10 15:33:38] ま、553もかなり人に面倒を押し付けているな。 最低限に切り分けてアップローダにアップしろと。
561 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:06:17] ていうか549=553=559が釣りにしか見えない。
562 名前:デフォルトの名無しさん [04/11/10 16:08:12] 1台のPCで、仮想デリゲート串みたいなこと出来ませんか?
563 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:10:05] たぶん >>549 のコントロールが、DesignMode 見て適切な処理をしていないってあたりに一票。
564 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:12:56] \ ∩─ー、 ==== \/ ● 、_ `ヽ ====== / \( ● ● |つ | X_入__ノ ミ そんなエサで俺様がクマー!! 、 (_/ ノ /⌒l /\___ノ゙_/ / ===== 〈 __ノ ==== \ \_ \ \___) \ ====== (´⌒ \ ___ \__ (´⌒;;(´⌒;; \___)___)(´;;⌒ (´⌒;; ズザザザ (´⌒; (´>>
565 名前:デフォルトの名無しさん mailto:sage [04/11/10 16:53:29] つうか、普通はちゃんと動作する最小限のものをアップするんじゃなくて、 依頼者の”動作しない”最低限のものをアップするのが筋じゃないか? でもって、それを他の奴等が正常に動作するなら、PC環境が原因かもしれない。 他の奴も異常な動作をするなら、ソリューリョンが原因かもしれない。 とりあえずは動作しない最小限のソリューションをアップして、 そのソリューションのどの部分をどう変更したらVSが落ちるのかを明記しろ。 話はそれからだ。
566 名前:デフォルトの名無しさん mailto:sage [04/11/10 18:36:46] >>565 内部で完結してしまっている(というかpanel一枚おいただけ)ので DesignMode は関係ないのではと・・・思うのですが・・・ いろいろやってみた所、コントロールのDLLをプロジェクトコンパイルした後、 一度VSを起動しなおしてから、目的のプロジェクトをコンパイルすれば 同一リソリューション中にプロジェクトを入れても問題は発生しないようです。
567 名前:デフォルトの名無しさん mailto:sage [04/11/10 18:37:58] >>566 間違いです×>>565 ○>>563
568 名前:デフォルトの名無しさん mailto:sage [04/11/10 19:01:02] >>565 あんたが正しい。>>549 は厚かましいにもほどがあると思う。
569 名前:デフォルトの名無しさん mailto:sage [04/11/10 20:27:41] >>566 今ためしてみました。 1. 新規のソリューションに UserControl プロジェクトを追加。パネル1枚とLabelを配置。 2. Windows アプリケーションプロジェクトを追加。デザイナで上記のUserControlをFormに配置。 (参照は自動的に追加される) 3. (ビルドしたりする) 4. UserControl の Label の文字列を変更⇒「デザイナに反映するにはリビルドが必要です」とか言われる 5. おとなしくリビルド。Form 側のデザイナに文字列の変更が反映される。 という感じで特に問題は起きません。 同一ソリューション内のユーザーコントロールは、ツールボックスの「マイ ユーザー コントロール」に 自動的に追加されるわけだし、「同一リソリューション中にプロジェクトを入れても問題は発生しない」のが 普通なんだと思います。
570 名前:デフォルトの名無しさん [04/11/10 21:10:42] int a,b; Point p; p = new (a,b); ってするのと p.X = a; p.Y = b; ってするのとどっちが早いんですか? 生成されるコードは同じですか?
571 名前:デフォルトの名無しさん [04/11/10 21:21:07] >>569 わざわざどうも有難うございます、そうするともっと別のところに原因がありそうですね。 さらに調べてみます。 ちなみに僕のところでは「デザイナに反映するにはリビルドが必要です」が出ないんですよね。 何故だろう? 実は、xmlドキュメントも反映されないのですが、これはそちらでは反映されるものでしょうか? これも 1.dll側のプロジェクトをビルドする 2.VSを一旦落とす 3.再起動してアプリ側プロジェクトを操作する という形でないと、僕の所では自働補完が機能しません。 これもちょっと気になるのですが、もしお邪魔でなければ試してもらえませんでしょうか?
572 名前:570 mailto:sage [04/11/10 21:22:06] int a,b,c,d; Point p = new Point(c,d); に最初の二行を訂正します。
573 名前:デフォルトの名無しさん mailto:sage [04/11/10 21:42:17] >>570 自分で試せるし調べられるだろ?
574 名前:デフォルトの名無しさん mailto:sage [04/11/10 22:24:16] >>571 EXE側コード編集時にはインテリセンスは効くものの、XMLドキュメントで書いた情報は出てきません。 オブジェクトブラウザで見るとちゃんと見えるんだけど。 調べてみると、参照を追加した時点で XMLドキュメントが無いと出てこないみたいです。 参照を一旦削除して、再度追加してあげればOKでした(アセンブリ直指定ではなく、プロジェクト出力を追加しました)。 しかしこの状態では、DLLを更新した際にXMLドキュメントファイルのローカルコピーがVSによって使用中のため更新できずに、EXE側はビルドエラーになります(DLL自体は更新できるのに・・・)。 DLLへの参照について一旦ローカルコピーをFalseにしてビルド、再びONにしてビルドとか、 一旦終了してDLL側から順にビルドという手順が必要でした。 以下はXMLドキュメントを更新しようとした際のエラー >ファイル 'WindowsControlLibrary1.xml' を実行ディレクトリにコピーできません。 プロセスはファイルに >アクセスできません。別のプロセスが使用中です。 一時ファイルを出力ディレクトリにコピーできませんでした。 こういう構成の時には、DLL開発中はXMLドキュメントを生成しない方が良さそう・・・
575 名前:570 mailto:sage [04/11/10 22:44:24] Point[] p = new Point[9999999]; Point[] q = newPoint[9999999]; Point[] r = newPoint[9999999]; Point[] s = newPoint[9999999]; って一杯point作ってためしたら X,Yそれぞれに代入するほうが早かったです。
576 名前:デフォルトの名無しさん [04/11/11 17:47:02] XMLSerializerを使ってさんざんスレ汚しやってる>>454 その他です 度々で(´・ω・`)ですがおながいします public void func (Object obj) { MemoryStream ms = new MemoryStream(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); serializer.Serialize(ms,obj); ・・・・ } 引数でボクシングされたオブジェクトをシリアライズしようとしたとき、 メンバがシリアライズされません(つД`) ><?xml version="1.0" encoding="utf-8"?> ><class2 xmlns:xsd="www.w3.org/2001/XMLSchema " xmlns:xsi="www.w3.org/2001/XMLSchema-instance " /> こんな感じになります。ちなみにClass2にはためしにstring型1個つっこんでます XmlSerializeを使ってボクシングしたオブジェクトのメンバをまるごとシリアライズする手段ってありますか?
577 名前:デフォルトの名無しさん mailto:sage [04/11/11 18:00:01] >>576 >ちなみにClass2にはためしにstring型1個つっこんでます それちゃんと public になってますか?
578 名前:デフォルトの名無しさん mailto:sage [04/11/11 18:11:58] >>577 できました ありがとうございました吊ってきます ・・・・オレのバカバカバカ・・・・
579 名前:デフォルトの名無しさん [04/11/11 19:53:05] homepage3.nifty.com/midori_no_bike/CS/ 上のページの、「実行時間の高精度な計測」というのを使ってみたくていろいろやってたのですが、 どうしてもusingと;のところで「無効なトークン・・・」というビルドエラーが出でしまいます。 どうしたらよいでしょうか。 VSのC#使ってます
580 名前:デフォルトの名無しさん mailto:sage [04/11/11 20:01:25] >>579 usingはコードの先頭、他にも色々usingされてるところに書く。
581 名前:デフォルトの名無しさん mailto:sage [04/11/11 20:04:57] >>579 そのページのコード、間違ってるような気がする。using ステートメントのカッコの中は、 1. 式 2. 型名 変数名 = 式 [, 変数名 = 式 ] ... のどちらかという形式で、そのページにあるように変数宣言やら式やらを混ぜてカンマで並べたりはできない。 >>578 のいう using はたぶんまた別の using なので無視。
582 名前:581 mailto:sage [04/11/11 20:05:50] 首吊ります・・・ orz 嘘
583 名前:579 [04/11/11 20:07:15] >>780 ごめんなさい、自分の貧弱な脳みそでは理解できないのですが、 こういうことですか? using System.Runtime.InteropServices ; // for DllImport ・・・ private void button1_Click(object sender, System.EventArgs e) { ・・・ }
584 名前:デフォルトの名無しさん mailto:sage [04/11/11 21:46:32] >>579 うろ覚えだから難だがコピペして実行しようとしたときオレも using System.Runtime.InteropServices ;でコケた んで、なぜかintelliSenseで同じ内容指定したら動いた
585 名前:デフォルトの名無しさん mailto:sage [04/11/11 21:54:37] } がありません って言うコンパイルエラーがなぜか出て ファイル内のテキストを丸ごと切り取って貼り付けたら 正常にコンパイルできたことがあったなあ
586 名前:579 [04/11/12 07:48:29] 解決しました。 using.System.Runtime〜を一番上の using〜というのがたくさんある所 に置いたら実行出来ました。 ありがとうございました。
587 名前:デフォルトの名無しさん [04/11/12 10:54:21] C#ちょこっと触って、やっぱVB.netにして、「すげえー便利最高」って 思って、やっぱC#の方がいいかなとおもって、迷ってんだけど。 絶対C#がいいってとこある?
588 名前:デフォルトの名無しさん mailto:sage [04/11/12 10:58:40] べつに〜
589 名前:デフォルトの名無しさん mailto:sage [04/11/12 11:03:34] VB系に慣れてたらVB.NET、C/JAVA系に慣れてたらC#。 私はVBの文法が大ッ嫌いなのでC#。
590 名前:デフォルトの名無しさん [04/11/12 12:06:42] >588 別にーってお前なー。なんか言うことないんか? >589 マイコンはCで、PCはVB6で EXCELとAutocadとVisioと、、、、はVBAなの。 JAVAって20年?も前の言語だろ。 今頃になって真似してマトモニなっても、VBで脳みそ破壊されてるからなー。
591 名前:デフォルトの名無しさん mailto:sage [04/11/12 12:11:47] まず日本語から勉強するべきだな。
592 名前:デフォルトの名無しさん [04/11/12 13:29:41] 植民地だし、英語だろ。
593 名前:デフォルトの名無しさん mailto:sage [04/11/12 15:26:54] PictureBoxにAllowDropのプロパティがないのに、Drag&Dropのイベントハンドラがあるのは、ライブラリの設計ミスか? デフォルトでnoneになって、メッセージ発生しないんだが・・・。
594 名前:デフォルトの名無しさん mailto:sage [04/11/12 15:49:42] >>593 なぜかEditorBrowsableAttributeもBrowsableAttributeも不可視の設定になってるから インテリセンスにもプロパティグリッドにも表示されないけど、 AllowDrop{get; set;}はあるしtrueにしてやれば普通にD&Dも可能。 //やっぱり中途半端……。
595 名前:デフォルトの名無しさん mailto:sage [04/11/12 15:51:06] >>593 つ[インシデント]
596 名前:デフォルトの名無しさん mailto:sage [04/11/12 17:42:36] >>574 OCNがアク禁になっていたので遅レスです、どもわざわざ有難うごさいます。 XMLに関しては同じです、コントロールのところだけの問題か……むむむ 取りあえず助かります。
597 名前:デフォルトの名無しさん [04/11/12 23:37:17] CreateDIBSectionを使っているのですが、 どうやったら、PictureBOXのhDCを取得できますでしょうか? C#でCreateDIBSectionを使ったサンプル等ありましたら、 お教えください。よろしくお願いします。
598 名前:デフォルトの名無しさん mailto:sage [04/11/12 23:43:11] \ │ / / ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ─( ゚ ∀ ゚ )< くっちゃらはぴはぴ! \_/ \_________ / │ \ ∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< くっちゃらはぴはぴ! Py厨〜〜〜〜! >( ゚∀゚ )/ | / \__________ ________/ | 〈 | | / /\_」 / /\」  ̄ / /
599 名前:デフォルトの名無しさん mailto:sage [04/11/12 23:47:59] PictureBox.CreateGraphics().GetHdc() ReleaseHdc()とGraphics.Dispose()もセットで。 ttp://www.codeproject.com/bitmap/dibsection.asp?select=287473&df=100&forumid=56&exp=0 DIBSectionのラッパクラスだそうだ。
600 名前:デフォルトの名無しさん mailto:sage [04/11/12 23:59:30] NUnitだけど、exeファイルをテストする事は出来ないよね? で、以下のような仕組みにしている。 作成中のプロジェクトをWindowsアプリからクラスライブラリに変更 -> MyAppCore.dll 作成中のプロジェクトを走らせるだけのWindowsアプリ・プロジェクトを作成 -> MyAppRunner.exe(MyAppCore.dllを参照に追加) 内部的なコードはMyAppCore.dllの起動関数を呼び出すだけ。 テストプロジェクト -> Test.dll(MyAppCore.dllを参照に追加) まぁなんというか、もっとスマートなやり方はないのかなと思った次第。
601 名前:デフォルトの名無しさん mailto:sage [04/11/13 00:17:15] >>600 少なくともVer2.2ならできるよ
602 名前:600 mailto:sage [04/11/14 10:00:00] 2.2使ってます。 自分はテストコードをアプリ本体に入れたくないんですよね。 テストとアプリのプロジェクトを分けるとテスト側からアプリのコードを呼ぶために アプリ側をDLLにしなくちゃいけない・・・ って、今、思いついたんだけど、テストコードを全部#if DEBUGで くくっとけばいいのか! なわけで、解決っぽい。
603 名前:デフォルトの名無しさん mailto:sage [04/11/18 16:46:30] ShowDialogで表示したダイアログを移動した時 元のフォームも一緒に移動したいのですが 可能でしょうか? 可能な場合どのようにすればいいのでしょうか
604 名前:デフォルトの名無しさん mailto:sage [04/11/18 17:07:01] >>604 お兄さんそりゃFormでダイアログもどき作った方が楽でっせ
605 名前:603 mailto:sage [04/11/18 17:26:57] すいません。言葉足らずでした。 メインフォームがあって編集用のフォームを メインフォームの上にモーダルで表示したとして、 編集用のフォームを移動した時に、 メインフォームも一緒に動かしたいなと思ったのです。
606 名前:デフォルトの名無しさん mailto:sage [04/11/18 17:52:59] >>605 ダイアログフォーム呼出時に、ダイアログフォームのOwnerプロパティに親フォーム自身を設定する。 ダイアログフォームの方で、 位置保存用のメンバ変数を作っておく。 Moveイベントで、Ownerプロパティから親フォームの位置を設定し、その後位置保存用変数を更新する。 基本はこんな感じ。 初めの位置保存はLoadかVisibleChangedでやるのが妥当かな。 Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。 //MoveがMoveEventArgsとか言って移動前の位置のプロパティを持っててくれれば楽なのになー。
607 名前:在日外国人参政権反対 mailto:sage [04/11/18 18:02:02] きくまえにMoveWindowとか試してみろよ。
608 名前:デフォルトの名無しさん mailto:sage [04/11/18 22:46:15] そうだな。それっぽい名前のを色々弄ってみるのは大事だと思うよ。
609 名前:603 mailto:sage [04/11/19 04:43:21] >>606 さん。レスありがとうございます。 とりあえず以下のようにやってみましたが上手くいきませんでした。 MainFormとEditFormがあったとして MainFormでButton1をクリックしたときに EditForm editDialog = new EditForm(); editDialog.ShowDialog(this); としてEditFormで public static int x,y; //Location用変数(publicはとりあえずで付けました) private void EditForm_Move(object sender, System.EventArgs e) { x = this.Location.X; y = this.Location.Y; ここにMainForm.Location = new Point(x,y); 見たいな事が出来れば良いんですよね? 色々弄ってみたのですが分かりませんでした (-- } >>Moveイベントへのイベントハンドラ追加もLoadでやるか、Moveイベント内でCreatedをチェックするかとか。 すいません。この意味が分かりませんでした。
610 名前:デフォルトの名無しさん mailto:sage [04/11/19 08:01:59] public class Form1 : System.Windows.Forms.Form { //中略 private void button1_Click(object sender, System.EventArgs e) { Form f; f = new Form(); //f = new EditForm(); f.Move += new EventHandler(childForm_Move); f.ShowDialog(this); } private void childForm_Move(object sender, EventArgs e) { Form f = (Form)sender; int x = f.Location.X - 100; int y = f.Location.Y - 100; this.Location = new Point(x, y); } }
611 名前:603 mailto:sage [04/11/19 10:04:31] >>610 さん 見事に動きました! それにしてもインテリセンスで「TABキーを押してください」って こんな指示始めてみましたよ。(^^;; ありがとうございました。 MainFormがくっついて動いているのが嬉しくて意味もなく動かしニヤってしてみたり。。
612 名前:初心者 [04/11/19 21:49:40] C/C++でマウスの座標を表示させるにはどうしたらいいでしょうか。
613 名前:デフォルトの名無しさん mailto:sage [04/11/19 21:53:40] >>612 スレ違い。 www.kumei.ne.jp/c_lang/sdk2/sdk_101.htm でも読んでください。
614 名前:デフォルトの名無しさん mailto:sage [04/11/19 21:55:53] > 当ホーム・ページの一部または全部を無断で複写、複製、転載 > あるいはコンピュータ等のファイルに保存することを禁じます。 ブラウザのキャッシュ消すのまんどくせ
615 名前:初心者 [04/11/19 22:10:41] ありがとうございました。とりあえず何とかなりそうです。
616 名前:デフォルトの名無しさん mailto:sage [04/11/20 16:24:44] Formにいろいろ描きたいので private void Form3_Paint(object sender, System.Windows.Forms.PaintEventArgs e) に記述したのですが、 リサイズ時に再描画されるときとされないときがあるみたいです。 されないときは一度最小化してから元に戻すと再描画されるのですが リサイズ時に確実に再描画されるほうほうってないでしょうか?
617 名前:デフォルトの名無しさん mailto:sage [04/11/20 16:26:47] ResizeRedraw
618 名前:616 [04/11/20 23:58:04] >>617 さん ありがとうございました。 ぶじ動くようになりました。
619 名前:デフォルトの名無しさん [04/11/22 10:07:34]
620 名前:デフォルトの名無しさん mailto:sage [04/11/22 17:00:39] クラスをいくつかのファイルの分割して記述する方法はあるんでしょうか? もしあったら教えてください。
621 名前:デフォルトの名無しさん mailto:sage [04/11/22 19:32:31] >>620 partialキーワードがC# 2.0から追加される。
622 名前:デフォルトの名無しさん [04/11/26 13:13:34] C#って、アセンブリで言うgoto命令のような物ってありますか? あれば教えてください。
623 名前:デフォルトの名無しさん mailto:sage [04/11/26 13:18:20] 普通にgotoがある。 ネストループからの脱出以外に使うべきではないが。
624 名前:デフォルトの名無しさん mailto:sage [04/11/26 13:32:27] つうか言語仕様ぐらい大した量でもないんだから全部目を通せと。
625 名前:デフォルトの名無しさん mailto:sage [04/11/26 13:59:29] せめてキーワードくらいはなぁ・・・
626 名前:622 [04/11/26 15:42:40] 623-625 ありがとうございます もっかい勉強しなおします…
627 名前:デフォルトの名無しさん mailto:sage [04/11/26 16:04:00] >>626 C#のgotoはswitch 文の case とかを飛び先としても指定できるように拡張されているので、 いろいろみてみると面白いよ。 どうせなら、gcc拡張的なgotoの拡張もついでにやってくれるといいんだけど・・・
628 名前:デフォルトの名無しさん [04/11/27 15:16:17] 正直いって .NET って時期尚早って感じがする。 広くに使われるようになるまでに後5年はかかると見た。
629 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:33:56] 5年もかからないよ 後2年で半分は消滅する WindowsFormクラスは消滅けってい GDI+もいらなくなる すべてロングホーンが悪い
630 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:35:50] ロングホーンってヘヴィィそうだね。 使いたいと思わないな。 Windows 2000 が最高。
631 名前:デフォルトの名無しさん [04/11/27 15:47:45] C# と Java の違い教えろ。 // Java >>>>> C# なのは自明なんだがな。。。
632 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:50:05] >>631 少しも自明じゃない。
633 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:50:34] 火病書き込みに反応すんなよ
634 名前:デフォルトの名無しさん [04/11/27 15:52:20] >>632 ライブラリの充実性からいって自明だろ。 それにJava のソースは公開されてるしな。 格が違いすぎるんだよ。
635 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:52:35] 自演に反応すんなよ
636 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:53:47] >>634 そうかな。Java のほうが充実していると一概に言えるか? ソース公開は確かによいが。
637 名前:デフォルトの名無しさん [04/11/27 15:54:20] お い は や く し ろ よ C # 厨
638 名前:デフォルトの名無しさん [04/11/27 15:55:40] 公開されていない部分があったような...なんだったっけ
639 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:56:17] 残念ながらC#は仕様が公開されてますので ソースがほしけりゃmonoのソースでもみてください Javaはソースコード見た時点で いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが?
640 名前:デフォルトの名無しさん [04/11/27 15:56:18] >>636 > そうかな。Java のほうが充実していると一概に言えるか? 言える。
641 名前:デフォルトの名無しさん [04/11/27 15:57:15] >>639 > Javaはソースコード見た時点で > いろんなプロジェクトに参加できなくなるという恐ろしいライセンスつきですが? 見たって言わなきゃいーんだよ。そんぐれー考えろ
642 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:57:18] まぁ速度はJavaのほうが2倍かかるけどな あとはマ板でやってちょ ●なぜJava厨はそんなに劣っているのか? 8 pc5.2ch.net/test/read.cgi/prog/1101209533/
643 名前:デフォルトの名無しさん mailto:sage [04/11/27 15:59:59] >>640 C# のほうが充実している部分もあるのだが。
644 名前:デフォルトの名無しさん [04/11/27 16:00:15] は や く 何 か 反 論 し な さ い 、 C # 厨 君 w w w
645 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:12:45] なんか盛り上がってますね
646 名前:デフォルトの名無しさん mailto:sage [04/11/27 16:35:49] いやべつに
647 名前:デフォルトの名無しさん mailto:sage [04/11/27 17:33:33] 暴言語は冗談抜きで死滅寸前だからな
648 名前:デフォルトの名無しさん mailto:sage [04/11/27 22:03:04] 言語としての機能は、後発のC#のが多少上。 ライブラリの充実度はjakartaやその他もろもろのオプソ集団を要するJavaのが上。 業務では、GUI作らないならJavaを用いるのが普通。
649 名前:デフォルトの名無しさん mailto:sage [04/11/28 01:52:43] シェアで言えばJAVAよりVB.NET2005にヤラレそうな気がする
650 名前:デフォルトの名無しさん mailto:sage [04/11/28 11:51:59] VBは今現在でもC#より上、将来は知らんがね。
651 名前:デフォルトの名無しさん mailto:sage [04/11/28 12:24:08] えぇぇぇぇ
652 名前:デフォルトの名無しさん mailto:sage [04/11/28 12:27:21] お前ら>>1 読めと。 ここは言語の優劣を語るスレではないぞと。
653 名前:デフォルトの名無しさん mailto:sage [04/11/28 15:03:14] 最高に頭悪そうな発言してください in ム板 (2) pc5.2ch.net/test/read.cgi/tech/1090324689/ かと思ったじゃねぇか
654 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:09:17] C#を学習する練習とおもい、メモ帳もどき+αを作成して 完成したのですが、巨大なファイルの表示に時間が 掛かります。 秀丸エディタさんとまではいかないでも、少しは 早く表示できるようにするには、どうすればよいのでしょうか。 textBoxを1から自分で作成し直すにしても、その考え方の ヒントだけでも教えてください。
655 名前:デフォルトの名無しさん mailto:sage [04/11/30 00:21:03] VirtualModeみたいなもんか
656 名前:デフォルトの名無しさん mailto:sage [04/11/30 01:04:22] C#の学習のためなら、もっと他にやることあるんじゃないのか… と思ったら負けですか?
657 名前:654 mailto:sage [04/11/30 01:18:21] >>656 元々勝ち負けのない趣味のプログラムなのですが、 他にといわれても。文法から始めろと? >>655 VirtualMode?を調べてみます。 ありがとうございます。
658 名前:デフォルトの名無しさん mailto:sage [04/12/03 06:51:53] >>654 ReadLineで処理してるんじゃない? だったら、ReadToEndで読んでみては? FileStream fs = new FileStream("ファイルのパス",FileMode.Open); StreamReader sr = new StreamReader(fs); textBox1.Text = sr.ReadToEnd(); ところでVC#.Net2005っていつ発売なの? はやく.Net Freamwork2.0を使ってみたい・・・
659 名前:デフォルトの名無しさん mailto:sage [04/12/03 14:21:06] >>658 早くて来夏だろうねぇ。 環境があるなら、β1を試してみたら? 十分に正式版に向けて準備ができると思うけど。 それに、今ならAvalonのPreviewも出てて、楽しいと思うし。
660 名前:デフォルトの名無しさん mailto:sage [04/12/04 10:53:23] Avalon previewは現状MSDN会員のみだよね?
661 名前:デフォルトの名無しさん mailto:sage [04/12/04 19:44:57] フォームの最小化ボタンを押した時みたいに this.Hide(); this.ShowInTaskbar = true; と言う状態にしたいのですが何か方法があるのでしょうか?
662 名前:デフォルトの名無しさん mailto:sage [04/12/04 19:48:40] >>661 それで良いんじゃないのか?
663 名前:661 mailto:sage [04/12/04 20:09:22] >>662 いや、やってみたら分かるけど this.Hide(); とすると this.ShowInTaskbarを弄っても反映されないみたい Locationをどっか遠くに設定するしかないのかな?
664 名前:デフォルトの名無しさん mailto:sage [04/12/04 20:19:57] this.WindowState = FormWindowState.Minimized; じゃいかんの?
665 名前:661 mailto:sage [04/12/04 20:41:29] >>664 レスありがとうございます。 それでイケました。
666 名前:デフォルトの名無しさん mailto:sage [04/12/05 12:08:19] C#でC++でいうマクロのようなものってあるんでしょうか? マクロとテンプレート使ってトリッキーなことしてたのでそれをC#で実現する方法がわからなくて困ってます。
667 名前:デフォルトの名無しさん mailto:sage [04/12/05 12:11:48] トリッキーな事はやらない方向にと言うのが言語の潮流。
668 名前:デフォルトの名無しさん mailto:sage [04/12/05 12:27:53] そんな正論言ってもしゃーないやん
669 名前:デフォルトの名無しさん mailto:sage [04/12/05 23:03:06] たぶん、むりぽ。次期バージョンでテンプレートはいるらしいけど。
670 名前:デフォルトの名無しさん mailto:sage [04/12/05 23:25:12] テンプレートはかなり期待。
671 名前:デフォルトの名無しさん mailto:sage [04/12/05 23:31:20] C++みたいなのだったらやだな。 へたに型とかみなくていいから、単にテンプレート変数を 自分の書いた文字で置き換わってコンパイルされるだけでいい。 そっちのがいろいろ使い道ある。
672 名前:デフォルトの名無しさん mailto:sage [04/12/05 23:37:01] >>671 単純置換は止めてくれ。C++ の如くアセンブリが肥大化する。
673 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:02:58] >>671 むしろC++見たいなので、単純置換でないものがいいな、 もし型の置き換えだけであれば、テンプレートよりもメタクラスの実装の方が何倍も綺麗でいいと思うし。 てか、なんでメタクラスは実装されないんだろう……シクシクシク
674 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:04:53] >>673 メタクラスはクラスのクラスだっけか smalltalk やった事無いから分からん
675 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:08:25] >>674 とどのつまり型を入れることのできる変数。 Metaclass a = int ; a b ; は int b ; たとえばこんな感じ void Func( Metaclass T , int hoge , ... ) { } template 全くいらない
676 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:08:28] >>673 リフレクションじゃだめなのか?
677 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:15:04] >>675 Type
678 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:38:11] >>677 それは何かが違う C++ でいえば typedef と type_info 型ぐらい違うな
679 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:40:21] もう型なんてなくていいよ
680 名前:デフォルトの名無しさん mailto:sage [04/12/06 00:44:47] スクリプト言語で型無しではまったことないの?
681 名前:デフォルトの名無しさん mailto:sage [04/12/06 01:22:42] C#(というか.NET)でLuaを使っているサンプルはどこかにないでしょうか。 当方で探しても見つかりませんでした。
682 名前:デフォルトの名無しさん mailto:sage [04/12/06 01:36:42] >>681 それはこれのこと? ttp://bandodalua.lua.inf.puc-rio.br/luanet/
683 名前:デフォルトの名無しさん mailto:sage [04/12/06 02:09:29] ttp://www.codeproject.com/managedcpp/luanetwrapper.asp > So what about executing Lua script in .NET applications? > This should not be a major problem, just the matter of writing a managed C++ wrapper.
684 名前:デフォルトの名無しさん mailto:sage [04/12/07 03:49:48] かなり基本な質問です、C/C++で書かれたライブラリ (.NETとか関係なけりゃクラスすらないような)を、C#で 使用する方法は無いのでしょうか なんとなくムリかなとは思うのですが、あまりに基本な ためかどこのFAQを読んでもハッキリした答えがなくて モヤモヤしてます。C/C++で作られた資産を移植しようと すると、やはり手作業が入るものでしょうか ズバッと斬ってやって下さい orz
685 名前:デフォルトの名無しさん mailto:sage [04/12/07 04:11:39] P/Invokeという手法で使用できる。 例えばWin32API呼出もC用ライブラリの呼出と考えられる。 関数のエントリポイント、値渡し参照渡し、相互の型の対応などを考える必要はあるが、基本はこんな感じ。 [System.Runtime.Interopservices.DllImport("user32.dll")] public static extern uint SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); 詳しくはヘルプを見るべし。 ms-help://MS.VSCC/MS.MSDNVS.1041/cpguide/html/cpconconsumingunmanageddllfunctions.htm
686 名前:デフォルトの名無しさん mailto:sage [04/12/07 06:09:08] >>684 DLLなら>>685 の言うようにP/Invokeで利用可能。 そうでないなら、COMやDLLにするかManaged C++でラッパを書いて利用する。 漏れはP/InvokeメンドクサイのでCOMコンポーネント経由でやったりするのが好きなんだけど、 Windows XP以外ではインストーラが必須になるので嫌う向きもあるみたい。
687 名前:デフォルトの名無しさん mailto:sage [04/12/07 16:32:28] >>675 おおーすげー便利そう・・・ C#2.0に欲しいなぁ メタクラスで指定した型の戻り値が欲しい時はどうするの? object Fanc( Metaclass T, int hoge, ...) { } ならちとイヤーな感じw
688 名前:デフォルトの名無しさん mailto:sage [04/12/07 17:48:59] >>675 リフレクションのシンタックスシュガーか・・ どんなときに便利なの?
689 名前:デフォルトの名無しさん mailto:sage [04/12/07 18:08:09] >>675 それって実行時にすっ飛ぶんだよね えらーしょりしにくくね?
690 名前:デフォルトの名無しさん mailto:sage [04/12/07 20:24:52] >>675 C#の設計思想と全然合わないな。異物を混ぜるなって感じ。
691 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:09:54] >>675 悪くはないと思うけど、T 型を返すときはどうすんの?
692 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:27:30] >>685 さん >>686 さん ありがとうございます。 てっきりC++のコードが使えないと思ってたので 助かりました。安心してC#を勉強できそうです。 さっそくDLL作成のほうに手をつけてみます。
693 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:31:38] >>688 Type で reflection って面倒だから、シンタックスシュガーには意味あるんじゃない? でもテンプレートの代わりにはならないような気が・・・ template <class T> T Max(T a, T b) なんてのから、型推論で T を導出してくれて こそのテンプレートだし。若干 C++ マンセー入っちゃってるけど。
694 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:33:24] 先に予想してみるテスト。 >>692 ポインタもWindowsのハンドルもIntPtr型だ。
695 名前:デフォルトの名無しさん mailto:sage [04/12/07 22:35:21] 漏れも >>692 コールバックも書けるから安心してください(MSDN参照)。
696 名前:デフォルトの名無しさん mailto:sage [04/12/07 23:25:40] >>693 ,688 シンタックスシュガーではないと思われ
697 名前:デフォルトの名無しさん mailto:sage [04/12/07 23:42:59] >>691 boostとか見てると良く分かるけれど、戻り値が型推というのはバクダンになりやすいので、使わないというのは有りかと思います。 この形式ではやるとしたら構造体かなにかで型と実体のペアを作って返すしかないですね。 >>690 C#の設計思想など知りませんが、少なくともよりオブジェクト指向的ではあろうかと……
698 名前:デフォルトの名無しさん mailto:sage [04/12/08 12:56:45] >>696 いや、シンタックスシュガーだと思うよ。だって、 ・変数宣言ができる ・メソッド等のInvokeが普通の書き方でできる っていう、純粋に記法の追加でしかないし。 即値を渡せばコンパイル時に型を決定して最適化はできるだろうけど・・ 関係ないけど全然Metaclassじゃなくて単にClassだよね。 >>697 型推論はともかく、T Max(T a, T b) 程度が書けないのでは記述能力不足・・・
699 名前:デフォルトの名無しさん mailto:sage [04/12/08 14:48:20] >>698 リフレクションをシンタックスシュガーということにしてしまうと、全てがシンタックスシュガーになってしまわないか? それは何か違う気がするんだが・・・
700 名前:デフォルトの名無しさん mailto:sage [04/12/08 15:15:09] >>699 リフレクションをシンタックスシュガーだと言っているのではなく、 >>675 の「Metaclass」なるものは単なるリフレクションのシンタックスシュガーに過ぎない と言ってるだけ。 Type T; があったとき、 T a = new T() なんて書けるとリフレクション使うときには便利、 それには同意する。
701 名前:デフォルトの名無しさん mailto:sage [04/12/08 15:23:24] そうなのかな、どうにもこうにも拡大解釈としか捕らえられないのだが・・・
702 名前:デフォルトの名無しさん mailto:sage [04/12/08 15:29:41] だって漏れは「リフレクションをシンタックスシュガーだということに・・・」って主張してないじゃん。 だから一体何をどう捕らえられているのかサッパリわかんない。 ケチらないでもう少し言いたいことを書いてよ。
703 名前:デフォルトの名無しさん mailto:sage [04/12/08 15:37:49] >>702 ちょっと勘違いがあるかも、リフレクション機能を対象にしたシンタックスシュガーってのは変だと思うわけ。 リフレクションは基本的にこれがありとなると、もはや何でもありになってしまう。 何でもありな物をシンタックスシュガーだと主張するなら言語機能の全てがシンタックスシュガーということになってしまうが、 これは常識的なシンタックスシュガーの概念とは違うと思う。 シンタックスシュガーは元々定義があいまいなので、主観で貴方がそう思うというならそういう事としかいいようがないと思います。
704 名前:デフォルトの名無しさん mailto:sage [04/12/08 16:00:03] >>703 よくわかった。漏れが>>715 をシンタックスシュガーだと思ったのは、現行のTypeとの違いが 局所的な記法の違いだけだってとこから。 主観だけど構文が違うだけで機能が同じなら、それはやはりシンタックスシュガーだと思う。 C++のテンプレートが型推論機構のおかげで普通のチューリングマシンとしての機能を完備していて、 単なるマクロの便利な記法を脱却しているのと比べてしまうからそう思うのかもしれないけど。
705 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:21:52] ていうかシンタックスシュガーって何ですか。
706 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:24:53] >>705 分からないときにはとりあえずぐぐって下さいな www.google.com/search?num=50&hl=ja&lr=lang_ja&safe=off&ie=SJIS&oe=SJIS&q=%82%C4%82%A2%82%A4%82%A9%83V%83%93%83%5E%83b%83N%83X%83V%83%85%83K%81%5B%82%C1%82%C4%89%BD%82%C5%82%B7%82%A9%81B
707 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:27:26] シンタックスシュガーがあるのなら、シンタックスソルトとか、 シンタックスペッパーもあるのですか?
708 名前:デフォルトの名無しさん mailto:sage [04/12/08 21:35:24] >>706 ぐぐった可能性を微塵も考慮しないあたりがステキ。 >>707 正露丸糖衣があるなら正露丸塩衣もあるのですか?
709 名前:デフォルトの名無しさん mailto:sage [04/12/08 22:04:50] ていうか正露丸糖衣って何ですか。
710 名前:デフォルトの名無しさん mailto:sage [04/12/08 22:32:07] >>709 C#に対するIDEみたいなもの。
711 名前:692 mailto:sage [04/12/09 00:02:44] >>692 >>695 ありがとうございます(T−T 間違いなくつっかえると思われます¢(。。;) なお勉強はぼつぼつ進行しつつあり、予言の的中は 15日以降にスケジュールされております。
712 名前:681 mailto:sage [04/12/09 19:00:32] >>682 亀レス失礼。 どうもありがとうございます。
713 名前:デフォルトの名無しさん [04/12/14 10:55:08] 教えてください。 C#でボタンをクリックすると指定したpdfファイルを印刷するような プログラムを作成することはできますか? どうすればいいでしょうか?なにかヒントをお教えください。
714 名前:デフォルトの名無しさん mailto:sage [04/12/14 12:12:27] 君はどのくらいプログラミングが出来るのか、なにかヒントをお教えください。
715 名前:デフォルトの名無しさん mailto:sage [04/12/14 12:13:50] ・Process.Start ・"C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" /p /h "%1"
716 名前:713 [04/12/14 12:43:25] >715 ありがとうございました。 おかげで印刷することができました。 複数枚を、印刷したい時や、ページを指定して印刷するときは どのようにすればいいでしょうか?よろしくおねがいします。
717 名前:デフォルトの名無しさん [04/12/14 12:56:01] ・・・少しは自分で考えろ
718 名前:デフォルトの名無しさん mailto:sage [04/12/14 17:45:54] >>716 馬鹿ハケーン
719 名前:デフォルトの名無しさん mailto:sage [04/12/15 17:27:53] ファイルをゴミ箱に送るにはどうすればいいのでしょうか
720 名前:デフォルトの名無しさん mailto:sage [04/12/15 17:33:12] >>719 ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=C%23+%E3%81%94%E3%81%BF%E7%AE%B1
721 名前:719 mailto:sage [04/12/15 18:27:09] スミマセンデシタ orz
722 名前:デフォルトの名無しさん [04/12/17 18:46:13] そのスレッドの参照を誰も持ってない場合に 実行中のスレッドが勝手にGCされちゃうことってあるの? void Start() { Thread thread = new Thread(new ThreadStart(new MyThread())); thread.Run(); // 作りっぱなし }
723 名前:デフォルトの名無しさん mailto:sage [04/12/17 19:48:34] >>722 ないから安心したまい。 実行環境が内部でスレッドを管理するので、参照は実は存在するから。 スレッドが行うメソッドが終了したらGCの対象になる。 細かい話だが、StartされないThreadオブジェクトは参照が無くなればGCの対象だが、 WeakReferenceでのみ参照を持っている状態でもGCの対象にならなくなるようだ。
724 名前:デフォルトの名無しさん mailto:sage [04/12/17 20:04:33] しかしMutexが勝手にGCされてアプリの多重起動防止が効かなくなるということはあるらしいぞ そのためGC対象から外すよう明示的に指示してやるのが良いそうだ GC.KeepAlive(mutex); ってな感じで
725 名前:デフォルトの名無しさん mailto:sage [04/12/17 21:07:34] >>724 それはひょっとしたらSocketがListenした時にMutexが解放されてしまうと言うバグかな。 そうだとしたらGC.KeepAliveも無意味だよ。 そもそもGCの問題じゃないし。 .NET1.0はSP3では解決されてる。.NET2.0(のベータ)は初めから問題なし。 .NET1.1ではSP1でも未解決な、ちょっと頭の痛い問題だ。 TCPチャネルを使ったリモーティングですら解放されてしまうし。
726 名前:デフォルトの名無しさん mailto:sage [04/12/17 21:19:05] そういえばInsider.NETの会議室にもう一つMutex絡みの話が出てた。 スレッドが終了する時に自動的にそのスレッドが所有するMutexを解放するって話。
727 名前:デフォルトの名無しさん [04/12/17 22:03:08] フレームワークのクラスってたくさんあるじゃん。しかも意味不明。
728 名前:デフォルトの名無しさん mailto:sage [04/12/17 22:09:16] 誤爆乙
729 名前:デフォルトの名無しさん mailto:sage [04/12/17 22:12:23] >>725 dobon.net/vb/dotnet/process/checkprevinstance.html > ローカル変数として宣言したMutexを使った場合、うまく行かないことがあるようです(これに従い、 > ここで紹介しているサンプルも修正しました)。静的フィールドを使えば解決されますが、それ以外 > では、GC.KeepAliveメソッドを使用すれば解決できるようです。エントリポイントで二重起動を > チェックする例を次に示します
730 名前:デフォルトの名無しさん mailto:sage [04/12/17 22:23:27] あ、静的変数にしたら問題なくなった。 でもローカル変数のMutexをGC.KeepAliveしてもやっぱりSocketがListenすると解放される……。
731 名前:デフォルトの名無しさん mailto:sage [04/12/23 09:39:14] Htmlをテキストとそのままと表示して、置換を使った簡単なエディタを作りたいなと思うのですが WindowsアプリでローカルにあるHtmlファイルを表示することって出来るのでしょうか?
732 名前:デフォルトの名無しさん mailto:sage [04/12/23 10:06:14] うぇぶくらいあんとつかえばいいのでは?
733 名前:デフォルトの名無しさん mailto:sage [04/12/23 10:32:27] WebBrowserコンポーネントを使えばいいのでは?
734 名前:731 mailto:sage [04/12/23 13:01:13] レス有り難うございます。 キーワードを元に検索して参考になりそうなHPを見つけました。 これから頑張って作ってみます。
735 名前:デフォルトの名無しさん mailto:sage [04/12/29 23:55:43] 次期OSでの商用パッケージアプリってC#で開発されるのかな?
736 名前:デフォルトの名無しさん mailto:sage [04/12/30 12:29:00] VisualStudioとか
737 名前:デフォルトの名無しさん mailto:sage [05/01/03 00:26:06] つぎのofficeがC#ってのを聞いたことがある。 office2005の入ってる人は.netも入っていて C#アプリも配布できるのだと。
738 名前:デフォルトの名無しさん mailto:sage [05/01/03 14:29:40] Office2003も.NETでプラグインを作れたような。 …って、C#とは限らないか。
739 名前:デフォルトの名無しさん mailto:sage独り言 [05/01/03 17:56:34] 同一アプリケーションドメイン上に、同じキーを持つオブジェクトが1つしかない事を保証したい singleton を変形し、同じキーで作成しようとしたら、以前作成したオブジェクトを返す ただし、そのオブジェクトは GC に回収されるようにしたい WeakReference を Hashtable 内に押し込むのが正解? WeakReferenceTable オブジェクトとかって無いの?
740 名前:デフォルトの名無しさん mailto:sage [05/01/05 00:59:40] C#でRemotingを使いたいのですが、MSDNやGDN以外で参考になるサイトはありますか? ぐぐったのですが、ほとんど見あたりません・・・
741 名前:デフォルトの名無しさん mailto:sage [05/01/05 01:09:35] >>740 慣れればそう複雑でも無い事が分かるから(奥は深そうだけど)、取りあえず自分で実際に試す事だね。 ttp://d.hatena.ne.jp/N0MURA/20040108 VB.NETだけど、こことか。
742 名前:デフォルトの名無しさん mailto:sage [05/01/05 01:15:19] >>741 ありがとうございます、試してきます〜
743 名前:デフォルトの名無しさん mailto:sage [05/01/05 02:07:36] >>740 本は丸ごと一冊リモーティングの本があったよね お試しとかでなく実用として遣うなら買うことお勧め。時間の短縮分で元が取れると思う。
744 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:52:02] かなり頭が悪いのですが、よろしくお願いします。 以下のようなメソッドがあると仮定します。 メソッド { if (略) { bool a result1 = true; } if (略) { bool result2; result2 = true; } if (result1 == true || result2 == true) { (終了); } } result1 とresult2 がtrueになったときに 一番下の(終了)という部分を実行したいのですが、 ビルドをすると「未割り当てのローカル変数が参照されました。」と 表示されエラーになってしまいますが、何が原因なのでしょうか。 よろしくおねがいします。
745 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:52:18] 変数のスコープ wisdom.sakura.ne.jp/programming/cs/cs23.html
746 名前:デフォルトの名無しさん mailto:sage [05/01/10 19:53:24] C♯ソースコードのステップ数とかを評価してくれるソフトってない? C++とかのは見かけるんだけど
747 名前:デフォルトの名無しさん mailto:sage [05/01/10 21:05:30] >>746 ドットネットのすてっぷカウント♪ ttp://www.vector.co.jp/soft/win95/prog/se327186.html とかどうだろう。
748 名前:yuuteen [05/01/11 18:04:49] こんにちわ。 初めて書き込ませて頂きます。 C#のSystem.Diagnostics.Process.GetProcessesプロシージャが Windows2000では失敗すると、下記のサイトにあるのですが、 support.microsoft.com/kb/823642/ja#kb3 何故、なのでしょうか? それと、どうやったら、失敗しないのでしょうか? 誰か、助けて!!
749 名前:デフォルトの名無しさん mailto:sage [05/01/11 19:58:00] >>748 パフォーマンスカウンタに関する問題が原因だったような。 書いてあるように HotFix を入手するか、違う方法を考えればよし。 特に、二重起動防止をやりたいのなら、これじゃなくて、Mutex を 使うほうがいいよ。
750 名前:746 mailto:sage [05/01/12 01:22:28] >>747 ズバリでした 探しそびれていたようで。 痛み入りますorz
751 名前:yuuteen [05/01/12 12:27:20] >>749 ありがとうございます。 確かにおっしゃる通りで、HotFixを入手する手も考えたのですが そもそも、根本的に二重起動チェックの方法が悪いのではというところで 悩んでいました。 ちなみに、バッチの二重起動チェックなのですが...。 下記がMutexを使用した場合のソースなのですが こんな感じなのでしょうか? また、"MyName"は他の文字列と置換え可能だと、サンプルを見る限り 書いてあったのですが、バッチの二重起動チェックの場合、何をここに 記述しなくてはいけないのですか? 二重起動チェック処理は共通関数化して行う予定です。 ご教授下さい。 /////////////////////////////////////////////////////////////////////////// bool exit = false; System.Threading.Mutex m = new System.Threading.Mutex(false, "MyName"); if (m.WaitOne(0, false) == false) { //すでに起動していると判断する m.close(); exit = true; } else { exit = flse; } //アプリケーションが終わるまでmへの参照を維持するようにする GC.KeepAlive(m); } ///////////////////////////////////////////////////////////////////////////
752 名前:デフォルトの名無しさん mailto:sage [05/01/12 13:03:14] >//アプリケーションが終わるまでmへの参照を維持するようにする >GC.KeepAlive(m); GC.KeepAliveはそういう仕様ではありません。 こんなクラスを使えば良いでしょう。 class Hoge { System.Threading.Mutex _m; boole _is_ok; public Hoge(string id) { _m = new System.Threading.Mutex(false, id); _is_ok = _m.WaitOne(0, false); } public ~Hoge() { _m.Close(); } public bool IsOK { get { return _is_ok; } } } 使い方 class YourApp { Hoge _hoge = new Hoge("YourAppName"); // メンバ変数等、アプリが終了するまで残る変数に入れること。 public void Main() { if ( !_hoge.IsOK ) return; ... } }
753 名前:デフォルトの名無しさん mailto:sage [05/01/12 16:11:06] >>751 よく動いてる仕組みもわからず使う気になりますね 全部を詳細に把握しろとは言いませんが。
754 名前:デフォルトの名無しさん [05/01/12 22:20:38] コマンドラインコンパイルの方法教えてください。 javac 〜.javaみたく扱いたいんで。
755 名前:デフォルトの名無しさん mailto:sage [05/01/12 22:22:51] >>754 知ってるけど秘密 c?c だな
756 名前:デフォルトの名無しさん mailto:sage [05/01/12 22:23:22] csc.exeでヘルプを調べる
757 名前:デフォルトの名無しさん mailto:sage [05/01/12 22:25:23] >>755 ば〜かww
758 名前:デフォルトの名無しさん [05/01/12 22:29:12] cscでやれば、ソリューションファイル、プロジェクトファイル、 アセンブリインフォファイルはいらないんだよ。
759 名前:デフォルトの名無しさん mailto:sage [05/01/12 22:31:51] ノリの悪い奴がいるな ちぃー
760 名前:デフォルトの名無しさん mailto:sage [05/01/12 23:01:31] >>755 こういう奴、正直寒い。同じボケるにしてもボケ方ってものがあると思う。
761 名前:755 mailto:sage [05/01/13 20:32:53] ↑必死だなwwwwwww
762 名前:デフォルトの名無しさん mailto:sage [05/01/13 22:58:21] オマエモナー
763 名前:デフォルトの名無しさん mailto:sage [05/01/16 16:55:58] Bitmap bmp = new Bitmap(100,100); Graphics g = Graphics.FromImage(bmp); bmp.MakeTransparent(Color.Red); g.FillRectangle(Brushes.Aqua, 0, 0, 100, 100); g.Dispose(); MakeTransparentを呼び出すと、その後のGraphicsオブジェクトを利用しての描画が出来ないのですが、どうしてでしょうか?
764 名前:デフォルトの名無しさん mailto:sage [05/01/16 17:52:13] Graphicsオブジェクトを作ってからbmpに変更を加えているコードに違和感を感じる。。。
765 名前:デフォルトの名無しさん [05/01/16 23:25:50] 質問です。 マイク端子から音声を取り込むのってどうやるんですか?
766 名前:デフォルトの名無しさん mailto:sage [05/01/16 23:34:49] >>765 ↓こっちで聞いた方がいいと思われ。 Managed DirectX vol.2 pc5.2ch.net/test/read.cgi/tech/1061285378/
767 名前:デフォルトの名無しさん mailto:sage [05/01/16 23:37:50] >>765 この辺。 1)Win32APIでやる(C#である意味がかなり薄れるとは思うが) ttp://wisdom.sakura.ne.jp/system/winapi/media/mm7.html 2)Managed DirectXでやる ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_m/directx/sound/capturingwaveforms/creatingthecaptureobject.asp
768 名前:デフォルトの名無しさん mailto:sage [05/01/17 11:14:41 ] >>766 >>767 ありがとん。
769 名前:デフォルトの名無しさん mailto:sage [05/01/17 14:41:07 ] static なArrayListのCountを覗こうとするとエラーがでるんですが 例 class Test { static ArrayList momo = new ArrayLIst(); static int Count { get { return Test.momo.Count; } } } こんな感じで何かしらAddしたものがあればエラーはでないんですが、 0だと駄目です。 trycatchでつかもうとしても駄目。 メッセージ 'System.ArgumentOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。 追加情報 : 指定された引数は、有効な値の範囲内にありません。
770 名前:デフォルトの名無しさん mailto:sage [05/01/17 16:33:51 ] >>769 初期値をいれ時計
771 名前:デフォルトの名無しさん mailto:sage [05/01/17 19:27:43 ] すまんが、C#だと catch(Exception e)で全部もれなく捕らえられるんでしょうか?
772 名前:デフォルトの名無しさん mailto:sage [05/01/17 19:38:16 ,] >>769 予言するけど、それは多分別の箇所でmomo[0]とかしているせい。 momo を static プロパティにでもして get に breakpoint 置いて見てみるべし。
773 名前:デフォルトの名無しさん mailto:sage [05/01/17 21:10:20 ] >771 できます。 throwできるのはSystem.Exceptionから派生したクラスのインスタンス、またはnullだから。 用途によってはcatchの後を省略してもオケー private void Form1_Load(object sender, System.EventArgs e) { try { Nullpo(); } catch { MessageBox.Show("ガッ"); } } private void Nullpo() { throw null; }
774 名前:デフォルトの名無しさん mailto:sage [05/01/18 19:54:35 ] ArrayL"I"st
775 名前:デフォルトの名無しさん mailto:sage [05/01/18 20:19:07 ] >>771 捕まえても逃げるものがあるから注意よん ThreadAbortException とか
776 名前:デフォルトの名無しさん mailto:sage [05/01/18 23:08:21 ] >>775 確認のために聞きたいのですが、「捕まえても逃げる」っていうのは > ThreadAbortException は、キャッチできても、 catch ブロックの末尾でもう一度自動的に発生する特殊な例外です。 ってことを言ってます? ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemThreadingThreadAbortExceptionClassTopic.asp
777 名前:デフォルトの名無しさん mailto:sage [05/01/19 12:06:00 ] >>775 とか?とかなのか?
778 名前:デフォルトの名無しさん mailto:sage [05/01/19 19:56:57 ] 例外だけに例外がありました。
779 名前:デフォルトの名無しさん mailto:sage [05/01/19 20:19:45 ] ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
780 名前:デフォルトの名無しさん mailto:sage [05/01/20 01:41:24 ] 冷害
781 名前:デフォルトの名無しさん [05/01/20 21:02:08 ] Regex reg = new Regex(pat , ここのオプション ); というのが沢山在るんですが、オプション部分が全て同じなので、 変数を使いたいのですが、変数って使えますか? RegexOptions option = RegexOptions..IgnoreCase | RegexOptions.ExplicitCapture; のようにしてみたけどやっぱりエラーでした
782 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:03:33 ] 使えます。
783 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:07:10 ] どんなエラーが出たってんだ? > RegexOptions..IgnoreCase ここがポイントか?
784 名前:デフォルトの名無しさん mailto:sage [05/01/20 21:22:12 ] そういう場合は、変に省略せずソース丸ごと貼り付けろ。すぐに分かる。
785 名前:デフォルトの名無しさん mailto:sage [05/01/20 22:08:51 ] コード見直してみたら成功シマスタ。スマンカッタ
786 名前:デフォルトの名無しさん mailto:sage [05/01/20 22:13:20 ] どこを見直したんだよ
787 名前:デフォルトの名無しさん mailto:sage [05/01/21 07:01:07 ] RegexOptions..IgnoreCase ↑まさかここではなかろうな
788 名前:デフォルトの名無しさん [05/01/21 10:05:31 ] C#でJPEGやGIF画像のプロパティ(ピクセルサイズ、色数など)を取得するプログラムを今日中に作れといわれたのですが、当方VB6.0しか使ったことがなく途方にくれています。。。 とりあえずVisualStudio2003のC#でテキストボックスにHELLO WORLDと表示させるところまできましたがもう限界です。 どこかにサンプルコードなどありますでしょうか? なにとぞなにとぞよろしくお願いいいたします。
789 名前:デフォルトの名無しさん mailto:sage [05/01/21 10:16:17 ] 採用時に大口でも叩いたの? Image.FromFileでファイルを開けて、返値であるImageオブジェクトの各種プロパティをみれば済む話だが。
790 名前:デフォルトの名無しさん mailto:sage [05/01/21 19:01:06 ] VB6なんて雑魚い言語やってるからそーなるんだよな。
791 名前:最凶VB厨房 mailto:sage [05/01/21 19:33:51 ] 採用時に大口叩いてこれぐらいか。( ..)φメモメモ
792 名前:デフォルトの名無しさん mailto:sage [05/01/21 22:07:35 ] 仕事なら「今日中に」なんてありえない。 数分から数十分でやれないと話にならんでしょ。
793 名前:デフォルトの名無しさん mailto:sage [05/01/22 01:38:44 ] >>792 SmalTalkで今日中に作れといわれてできるのか( ゚Д゚)ゴルァ!!
794 名前:792 mailto:sage [05/01/22 02:18:58 ] できますよ( ̄ー ̄)
795 名前:デフォルトの名無しさん mailto:age [05/01/31 11:59:50 ] SmalTalkで400件以上Googleに引っかかるのはどうだろうと思いつつ保守ついでのage
796 名前:デフォルトの名無しさん mailto:sage [05/02/03 13:32:35 ] >>237 CHKなんていう意味不明な略語(?)を使うのはやめましょう。 質問は平易な日本語(+正しい技術用語)で具体的に。 姉妹スレの↓もよろしく。 ふらっとC♯(Part5) pc5.2ch.net/test/read.cgi/tech/1065196964/ >このスレッドは > >「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 > >ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 > >少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。
797 名前:デフォルトの名無しさん mailto:sage [05/02/03 13:34:39 ] 2ちゃんで誤爆するような不注意なヤシ↑ 書いているコードの品質も知れたものだな。。。
798 名前:デフォルトの名無しさん mailto:sage [05/02/04 22:54:42 ] お勧め本を知りたいのですが、このスレで良いでしょうか? ildasm.exeの使い方を詳しくかつ読みやすく紹介している 本をご存知でしたら、どなたか教えてください。
799 名前:デフォルトの名無しさん mailto:sage [05/02/05 20:13:56 ] >>798 推薦図書/必読書のためのスレッド PART 22 pc5.2ch.net/test/read.cgi/tech/1106175218/
800 名前:デフォルトの名無しさん [05/02/06 18:16:53 ] vs.netを使ってるのですが、 "(" と ")" の二つの括弧のいろを変えたいのですが、 フォントおよび色のどの項目を変えればいいのでしょうか?
801 名前:デフォルトの名無しさん mailto:sage [05/02/06 18:45:23 ] なんでもできると思ったら大間違いだ
802 名前:デフォルトの名無しさん mailto:sage [05/02/12 00:07:31 ] 同じ親を持つ兄弟関係の派生クラス間で、 親の持つ共通メンバのみコピーするには ひとつひとつ代入するしかない?
803 名前:デフォルトの名無しさん mailto:sage [05/02/12 00:17:28 ] >>802 しかない 不便なら親クラスに CopyTo メソッドとか付けとけ
804 名前:デフォルトの名無しさん mailto:sage [05/02/12 00:22:45 ] リフレクションで手を抜く事はできるかもしれないがね。
805 名前:802 mailto:sage [05/02/12 00:23:30 ] >>803 意外に楽できないんだな。かゆいところに手が届かないというか。 implicitにでも書いとく。ありがとう。
806 名前:デフォルトの名無しさん mailto:sage [05/02/12 12:33:29 ] フォームが始めて表示された直後にイベントを発生させる方法はありますか? Loadの後にイベントを起こしたいのですが。
807 名前:806 [05/02/12 13:03:20 ] いまはとりあえずFormにフラグをつくって それをActivatedで判断するという方法を使ってますが、 ほかに正攻法はあるのでしょうか?
808 名前:デフォルトの名無しさん mailto:sage [05/02/12 17:37:41 ] >>807 それが正攻法だと思われます。
809 名前:デフォルトの名無しさん mailto:sage [05/02/12 17:44:58 ] Loadイベントの最後でRefreshさせて、その後とか。 行儀はよろしくなさそうだが。
810 名前:387 [05/02/14 14:27:11 ] 自作アプリケーションで C# を外部スクリプトとして利用しようと思ったんだけど、 アセンブリ参照をソースに埋め込むってことできないの? VC++ の #pragma comment( lib, "hoge.dll" ) みたいなやつ。 おしえてちょー。
811 名前:デフォルトの名無しさん mailto:sage [05/02/14 15:16:19 ] >>810 ソースには無理。プロジェクトファイルで指定して、ビルド時に参照。 もしくは、Reflection で茨の道・・・
812 名前:デフォルトの名無しさん mailto:sage [05/02/14 15:40:19 ] Reflectionはインタフェイスとか使おうとしないで完全に動的にやれば そう難しくもないような気がする。 用途によってはアプリケーションドメイン単位でしかアンロードできないのが 何かと不便だけど。
813 名前:デフォルトの名無しさん [05/02/14 23:58:44 ] C#はじめました で ControlPaint.DrawReversibleFrame(new Rectangle(0,0,200,200), Color.Black, FrameStyle.Thick); とやったら、デスクトップの左上にシカクがでました。 このシカクをフォームの中にいれたいんですが、どーしたらいいんでしょ
814 名前:デフォルトの名無しさん mailto:sage [05/02/15 00:40:09 ] FormのPointToScreen
815 名前:デフォルトの名無しさん [05/02/15 00:52:04 ] おお、ありがとさんです
816 名前:デフォルトの名無しさん [05/02/19 22:12:19 ] 「デスクトップを表示」や「最小化」でタスクバーに収まったフォームを 元に戻すメソッドはどれでしょうか。
817 名前:デフォルトの名無しさん mailto:sage [05/02/19 22:17:46 ] メソッドじゃないが、FormのWindowStateプロパティ。
818 名前:デフォルトの名無しさん mailto:sage [05/02/19 23:32:02 ] >817 ありがとうこざいます。
819 名前:デフォルトの名無しさん mailto:sage [05/02/20 13:22:18 ] 結局メソッドだけどね
820 名前:デフォルトの名無しさん [05/02/20 14:19:22 ] .NETはXML形式でオブジェクトをシリアライズできると聞きましたが これは再コンパイルせずにテキストツール等で容易にパラメータの書き換えができるってことですか?
821 名前:デフォルトの名無しさん mailto:sage [05/02/20 16:46:22 ] あるオブジェクトのメンバにアクセスできる範囲を、利用するクラスによって変えたい。 たとえばAというクラスからは、プロパティで取得・変更ができるけど、 Bというクラスからは取得のみ可能、 Cというクラスはすべてのメンバにアクセスできるが、 Dというクラスは一部にしかアクセスできない、というふうに。
822 名前:デフォルトの名無しさん mailto:sage [05/02/20 17:11:14 ] それぞれのクラス用ラッパーを作る
823 名前:デフォルトの名無しさん mailto:sage [05/02/20 18:15:35 ] >>822 回答ありがとう。でも「ラッパークラス」で調べてみると C++やアンマネージ、COMとかいった仰々しいものが続々出てきて手に負えそうにない。 あるいはもしかしたらこういうこと? Originalの代わりにWrapperを公開して、メンバのabcはプロパティで取得のみ可。 class Original{ private SomeClass abc; public SomeClass Abc{ set{abc = value;} get{return abc;} } } class Wrapper{ private Original org; public SomeClass Abc{ get{return org.Abc;} } } これだとWrapperの内部では自由にOriginalにアクセスできてしまうし、 SomeClassのAbcの参照先は値が変更可能になっている。 Originalの持つメンバに関して、あるクラスからは完全に取得限定にしたいけど、 そういう都合のいい方法ってある?
824 名前:デフォルトの名無しさん mailto:sage [05/02/20 18:18:26 ] if(Environment.StackTrace.IndexOf("Class1"
825 名前:デフォルトの名無しさん mailto:sage [05/02/20 18:30:06 ] >>823 > SomeClassのAbcの参照先は値が変更可能になっている。 Original.AbcとWrapper.Abcで動作は等価と思うのだが。 それでダメなら属性で制御するくらいしか思いつかんな。 そうするとコンパイルエラーを出せないが。
826 名前:デフォルトの名無しさん mailto:sage [05/02/20 18:59:08 ] >>825 入れ子のクラスにする方法を考えてみた。 >>823 のWrapperをOriginalのメンバにしてみるとか。 属性かー。それで工夫してみるよ。どうもありがとう。
827 名前:デフォルトの名無しさん mailto:sage [05/02/21 13:22:34 ] WIndowsアプリケーションのListView使ってるんだけど 列の非表示ってできる?やり方が見当たらなくて。
828 名前:デフォルトの名無しさん mailto:sage [05/02/21 14:41:54 ] >>827 無理なはず。
829 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:17:43 ] ちょっと聞いてやるがローカルマシンにSQLserver(もしくはMSDE)がインストールされてるか判別したいんだが・・・ どなたか教えてください。
830 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:32:30 ] DBがインストールされてるかどうかチェックする機能が必要って。 どんなのが対象なんだか。
831 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:35:14 ] DB がダンボールに見えてしまった もうだめぽ
832 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:38:22 ] ボールしかあってないじゃねーか。
833 名前:デフォルトの名無しさん mailto:sage [05/02/27 03:42:35 ] ダンもあってるYO
834 名前:デフォルトの名無しさん mailto:sage [05/02/27 13:32:24 ] ドラゴンだろ
835 名前:デフォルトの名無しさん mailto:sage [05/02/27 14:00:01 ] 接続しにいく、ってのがいいんじゃないか?
836 名前:デフォルトの名無しさん [05/02/27 15:24:28 ] 質問です。 VC++6.0で作成したクラスライブラリ(.lib)を C♯で使用したいと思っています。 VC++6.0で使っていたときは .libファイルとともに梱包されていたヘッダーファイルを インクルードしていたのですが、 C♯ではそんなことできないですよね? ネットでいろいろ調べてみたものの、 解決策は見つけられませんでした。 申し訳ありませんが、どなたかよろしかったらご教示ください。
837 名前:デフォルトの名無しさん mailto:sage [05/02/27 16:14:08 ] Managed C++ www.microsoft.com/japan/msdn/net/general/dotnetperftips.asp#dotnetperftips_topic6 pc5.2ch.net/test/read.cgi/tech/1014486422/ www.hit.dj.kit.ac.jp/~haru/cgi-bin/mt/archives/000165.html park15.wakwak.com/~opapa/cpp/Managed.htm mag.autumn.org/Content.modf?id=20041223174327
838 名前:デフォルトの名無しさん mailto:sage [05/02/27 16:24:20 ] >>836 c++のクラスを呼び出したいならmanaged c++を使ってマネージコードから 呼び出せるマネージドクラスでラップする必要があります。 managed c++は禁断の世界だから手を出すときは自己責任で。
839 名前:デフォルトの名無しさん [05/03/01 17:34:27 ] C#からマウスやキーボードを操作したいのですが JavaでいうRobotのようなものはありますか?
840 名前:デフォルトの名無しさん mailto:sage [05/03/01 18:05:56 ] 自分では分かりやすいんだろうが、〜でいう〜という説明は説明になってないってことを肝に銘じておいてくださ〜い! キーボードのエミュレートはSendKeysクラス。 マウスのエミュレートは.NETには無かったような気がするので、Win32APIのmouse_event/SendInputを挙げておこう。
841 名前:デフォルトの名無しさん mailto:sage [05/03/01 18:08:03 ] >>840 ごめんなさい。以後、気をつけます。 ありがとうございました。
842 名前:デフォルトの名無しさん [05/03/01 19:29:08 ] ASP.NET開発について調べています。 クライアントに新しいファイルを作って送るにはどうすればいいですか? .csvみたいな簡素なファイルなら想像できますけど、 エクセルの.xlsファイルとかどうしますか?
843 名前:デフォルトの名無しさん mailto:sage [05/03/01 20:16:24 ] >>842 普通にファイルを生成してリンクしてやるかResponse.BinaryWriteしてやればいいんじゃね? エクセルのバイナリを動的に作れないという話なら、そういう商用コンポーネントを買うのが早いと思うよ。 買わなくても出来るけど苦労する。
844 名前:デフォルトの名無しさん mailto:sage [05/03/01 20:17:29 ] 1.ファイルを作る 2.送る
845 名前:デフォルトの名無しさん mailto:sage [05/03/01 22:07:21 ] >>842 Excel2003ならXMLで・・・
846 名前:デフォルトの名無しさん mailto:sage [05/03/01 22:31:12 ] 2003なんて誰が使ってるんだ? おれはまだ97だが?
847 名前:デフォルトの名無しさん mailto:sage [05/03/01 23:46:10 ] 97はMSのライフサイクル的に死んだバージョンだろ。 修正プログラムの出ないMS製品なんて使ってられるか。
848 名前:デフォルトの名無しさん mailto:sage [05/03/02 00:19:10 ] でもAccess入ってたのこれだけなんだよね。 つーか金ねーよ。
849 名前:デフォルトの名無しさん mailto:sage [05/03/02 01:38:49 ] どっかの学生に買ってきてもらう
850 名前:デフォルトの名無しさん mailto:sage [05/03/02 22:33:11 ] ビル・ゲイツ氏に英王室が名誉ナイト称号 www.yomiuri.co.jp/main/news/20050302i314.htm
851 名前:デフォルトの名無しさん mailto:sage [05/03/03 00:10:52 ] >>850 そんなニュース、前にもなかったっけ?
852 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:15:11 ] ウィリアム・ヘンリー・ナイト・ゲイツIII世
853 名前:デフォルトの名無しさん mailto:sage [05/03/04 20:21:06 ] VB.NETでの『ReDim Preserve ・・・』に相当するようなコードは C#ではどのように書くのでしょうか? 配列の内容を保持したまま配列を増やしたいのですが、 今までは新しく配列を用意してコピーしていたのですがスマートにならないものかと。
854 名前:デフォルトの名無しさん mailto:sage [05/03/04 20:28:08 ] >>853 いや、C# でそんな文見たことない おそらく無いんじゃないか?
855 名前:デフォルトの名無しさん mailto:sage [05/03/04 20:45:37 ] ReDimったってどうせ内部でArray.Copy呼んでるだけだしな。 これのせいでループの内部で毎回ReDimするようなアレなコード書く奴もいるし。
856 名前:デフォルトの名無しさん [05/03/04 21:13:37 ] dobon.net/vb/dotnet/internet/webrequestpost.html ここを参考に、googleに用語をpostして結果を得ようとしています。 ところがこのうちの「 System.Web.HttpUtility.UrlEncode」でエラーが出ます (エラーの説明) >型、または名前空間名 'Web' は、 >クラスまたは名前空間 'System' に存在しません。 >アセンブリ参照があるか確認してください。 どうすればSystem.Webのクラスを使えるようになるのか教えて頂けますか。
857 名前:デフォルトの名無しさん mailto:sage [05/03/04 21:15:03 ] >>856 プロジェクトの『参照設定』を右クリック⇒『System.Web』を追加 これでおk
858 名前:デフォルトの名無しさん mailto:sage [05/03/04 21:15:31 ] あ、『参照の追加』が間に入ってましたごめぬ
859 名前:デフォルトの名無しさん mailto:sage [05/03/04 21:16:16 ] System.Web.dllを参照に追加すれ。
860 名前:デフォルトの名無しさん [05/03/04 21:27:51 ] 高速回答ありがとうございました。 ぶじビルドできました。