1 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:43:57.45 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとC#,C♯,C#(初心者用) Part84 toro.2ch.net/test/read.cgi/tech/1326737378/ ■関連スレ C#, C♯, C#相談室 Part70 toro.2ch.net/test/read.cgi/tech/1327570969/ ミスターサタンのC#相談室 hibari.2ch.net/test/read.cgi/tech/1092656075/ VB.NET質問スレ(Part38) toro.2ch.net/test/read.cgi/tech/1325083428/ くだすれC++/CLI(初心者用)part2 hibari.2ch.net/test/read.cgi/tech/1268613679/
2 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:44:17.28 ] ■備考 コードの量が多い場合は下記サイトを使うなどしたほうがいいかも ideone.com/ pastebin.com/ コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと コードを鯖側にアップして専用のアドレスが発行されます
3 名前:デフォルトの名無しさん [2012/01/31(火) 02:57:26.52 ] C#で2chに書き込む方法教えろ
4 名前:デフォルトの名無しさん [2012/01/31(火) 03:07:25.52 ] スレッド間でメッセージ通信を行うにはどうすればいいですか? Win32APIならPostThreadMessage/GetMessageを使うのですが。
5 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 04:53:55.41 ] スレッドについてです。 スレッドとは、時間がかかる処理を行なってもGUI等が止まらないようにする物ですよね Form1_Loadでスレッドを作って、while(true){progressBar1.Value++;}と時間がかかる(というか終わらない)処理をやらせたのですが、 理想は、プログレスバーが伸びつつ、GUIが表示されてウインドウのサイズや場所を変えれる。というのを想像していたのですが プログレスバーが伸びつつ、GUIは固まってしまっています。 workerは別スレッドなのではないでしょうか。なぜGUIが固まってしまうのでしょうか pastebin.com/HCeZxCrm また、この様に別スレッドでファイルをダウンロードし保存するコードがちょくちょくありますが dobon.net/vb/dotnet/internet/downloadfile.html この手段を使わなくても、別スレッドを作り、そこでファイルのDL&保存処理を行うのとは何が違うのでしょうか。
6 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 07:54:48.60 ] BinaryFormatter formatter = new BinaryFormatter(); FileStream fs = new FileStream(ファイル名, FileMode.Create); formatter.Serialize(fs, projInfo); fs.Close(); 上記の処理で、serializationexception はハンドルされませんでした というエラーが発生します。BEAN クラスのシリアライズがもれているのでしょうか? 見直して、漏れは無かったのですが。
7 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:01:39.61 ] メインフォームとサブフォームがあり、サブフォームではさまざまな設定を行う、 という設計のツールを開発してます。 サブフォームで設定した情報を一つのクラスにまとめてXMLファイルに保存したかったので、 シングルトンクラスを使いました。 ですが、さまざまな不具合が発生してしまってどう調べてもわからないので、 お知恵を拝借させてください。 不具合1. Form1のLoadイベントでXMLファイルのデシリアイズを行っているのですが、 うまく読み込んでくれません。Form2を開くとForm2の情報は読み込まれてます。 不具合2. XMLファイルが無い場合にはきちんとした値を保存するのですが、XMLファイルがあると 上書き保存してくれず、値は初期のままです。こちらもForm2の情報だけは更新されます。 恥を忍んでクラスとロード部分などのソースをアップしました。 ideone.com/JEqZp アドバイスや、もっと楽にできる方法などをいただけると嬉しいです。 何卒よろしくお願いします。
8 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:37:09.42 ] >>5 > workerは別スレッドなのではないでしょうか。なぜGUIが固まってしまうのでしょうか workerは別スレッドだが、Invokeは指定したデリゲートをUIスレッドにやらせるためのもんだ > この手段を使わなくても、別スレッドを作り、そこでファイルのDL&保存処理を行うのとは何が違うのでしょうか。 WebClientがProgressChangedを起こしてくれて楽、とか 非同期IOは明示的にスレッド使うより効率的なことが多い >>6 まあなんか足りんのだろ それだけじゃ何ともいえない
9 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:40:28.86 ] >>7 とりあえずForm1_Loadにブレークポイント貼ってステップ実行してみたら
10 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:41:43.31 ] >>7 シングルトンやめてみたらw
11 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:42:53.41 ] シングルトンで思い出すのが昔くりーむしちゅーの有田が何かの番組で はめられて遊ばれるネタがあったけどその際にあだ名がクルトンとかなってたのを思い出す
12 名前:7 mailto:sage [2012/01/31(火) 09:49:35.04 ] すみません、自己解決しました。 貼ったソースはクラス参照の部分を分かり易く全文書いていたのですが、 本当はクラスを変数化(?)してました。 それを直したら上手く動きました。 お騒がせしてすみませんでした。
13 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:52:14.50 ] >>4 GUIスレッドに対してならControl.BeginInvoke その他はそれで何したいかによる
14 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 10:11:08.91 ] >>4 ウィンドウがあろうがなかろうが オブジェクトで通信するだろjk
15 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 11:00:37.13 ] どっちにしてもForm1_Loadに終わらない処理書いたりするなよ…
16 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:14:09.83 ] 座標X:Yを指定するだけでグラフ上に放物線がかけるライブラリ教えてください
17 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:23:48.34 ] Excel使え
18 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:25:39.76 ] お断りします
19 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:41:23.03 ] ポップアップメニューを階層構造にしたいのですが 下層のメニューアイテムにアクセスする方法がわかりません。 どのようにアクセスすればいいでしょうか?
20 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:43:16.03 ] >>16 protected override void OnPaint( PaintEventArgs e ) { base.OnPaint( e ); int offset = this.ClientSize.Width / 2; for( int x = -offset; x < offset; x++ ) { int y = x * x / 100 * ( -1 ) + this.ClientSize.Height; e.Graphics.DrawRectangle( Pens.Black, x + offset, y, 1, 1 ); } }
21 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:47:26.60 ] >>20 これってForm1.csのどこに貼り付ければいいのでしょうか?(ぇ
22 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:56:07.10 ] >>19 IDEで適当にポップアップメニュー作った後に Desingner.csファイルを覗いて見ると良い
23 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 13:59:13.65 ] >>22 さんくす。なるほどDropDownItemsか。
24 名前:デフォルトの名無しさん [2012/01/31(火) 18:05:42.07 ] >>21 白いところ
25 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 18:14:18.78 ] >>21 フォームのOnPaintの機能を上書きしてるから、フォームのコードの無難な白いところに貼っとくがヨロシ。
26 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 18:33:21.45 ] >>24-25 うおすごい フォームに貼り付けただけなのにフォームにグラフが出てきました
27 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 18:36:15.18 ] OnPanitでFormに直接書くより内部的にbitmap作ってそこに書くコードあげればいいのに その方がbitmapを保存したりと利用の幅が広がるのに
28 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 18:39:37.00 ] こういうふうにしてみました これはコップみたいになるのですが、ウィンドウの下から山みたいに表示するにはどういう風に書き換えればいいのかご教示お願いします protected override void OnPaint(PaintEventArgs e) { e.Graphics.DrawRectangle(Pens.Black, 0, 0, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 10, 10, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 20, 20, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 30, 10, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 40, 0, 1, 1); }
29 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 18:44:38.00 ] >>28 その辺は座標系の話だね PCのGUIの座標系は一般的に左上が0,0で右下が正 グラフをしたからはやすとなると計算しないとダメかな?
30 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 19:07:05.75 ] >>29 フォームのWidthとHeightを取得して その値からXとYを引いていけば出来そうですね ありがとうございます
31 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 21:55:16.39 ] ということでやってみたんですが全部表示されません Heightで取得するって間違ってますか? protected override void OnPaint(PaintEventArgs e) { int height = Height; e.Graphics.DrawRectangle(Pens.Black, 0, height-0, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 10, height - 10, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 20, height - 20, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 30, height - 30, 1, 1); e.Graphics.DrawRectangle(Pens.Black, 40, height - 40, 1, 1); }
32 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 21:58:49.93 ] this.clientsize.height
33 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 21:59:15.70 ] ClientRectangle
34 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 21:59:44.21 ] Pathとか使って回転とか使ったほうが早いかもな 直感的に作業できるし
35 名前:34 mailto:sage [2012/01/31(火) 22:02:58.13 ] ちょっと書いてみるので待ってね
36 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 22:36:55.19 ] サンプル ideone.com/ot26c X軸を中心に回転はできない?ぽいのでグラフの情報をpathに入れるときにy方向を単純に-1かければいける
37 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 22:40:22.44 ] そんなことは自分で考えさせろよー
38 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 22:41:11.61 ] わからなくて悔しかったんですね笑
39 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 22:44:25.98 ] >>32-33 取れました!ありがとうございます >>34-36 サンプルありがとうございます! コード読んで勉強してみます
40 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 22:51:20.86 ] すまん訂正版 ideone.com/xXnie
41 名前:34 36 40 mailto:sage [2012/01/31(火) 22:53:50.55 ] widthとかheighってマイナス受け付けないんだな 誤算だった X軸とかY軸の回転もできなのは辛かった 見つけてないだけかもしれんが
42 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:06:44.12 ] 全部読んでないんで勘違いしてるかも知れないけど、 単純な平行移動とか軸の反転ならワールド変換で出来るんですよ。 フォントが絡んでくると話がややこしいけどね。
43 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:13:49.67 ] >>42 勉強不足だけどやりかたがあった ideone.com/xNsb3 たぶんこれで問題ないんじゃないかな? まあ最悪はグラフと文字は分けて描けばいいだけだしねえ 文字もPathに突っ込めるので ・グラフのメモリなど ・グラフ本体(個別に色分けしたければ必要個数分) ・文字 でそれぞれわけて描けばいいだけ 基本的なやり方は今貼ったのでOK
44 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:36:13.86 ] >>13 GUIスレッドに対しては使いません。そもそもGUIはないです。 VC++ではPostThreadMessage/GetMessage/PeekMessageでスレッド間通信をしていたので、 同じようなことができればと思ってます。 >>14 ウィンドウはありません。 オブジェクトで通信というのはどのようにやるのでしょうか。教えてください。
45 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:38:53.04 ] static void Main(string[] args) stringは何故配列なの?
46 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:39:42.74 ] >>45 コマンドライン引数は複数食えるんだよ。
47 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:42:09.03 ] 以下のプログラムを引数食わせて実行してみるといいよ。 引数はスペース区切りでいくつでも食える。 ttp://ideone.com/1Vkmo
48 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:43:01.68 ] ジム
49 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 23:44:08.43 ] 俺がガンダムだ。
50 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 00:25:19.53 ] 文字列も座標系をあわせてみた ideone.com/cy2wu
51 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 00:30:21.11 ] >>44 コレクションをロックしながらしたらいいんちゃうん class HogeMessage {} var queue = new Queue<HogeMessage>(); //PostThreadMessage lock ((queue as ICollection).SyncRoot) { queue.Enqueue(new HogeMessage()); } //GetMessage lock ((queue as ICollection).SyncRoot) { var q = queue.Dequeue(); ..... } //PeekMessage PM_NOREMOVE lock ((queue as ICollection).SyncRoot) { var q = queue.Peek(); ..... } SynchronizedCollection使ってもいいかもしれんけど
52 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 00:40:12.93 ] Queryを指定してEventLogを取得し、取得したEventRecordから <EventData><Data></Data></EventData>内のデータを文字列で 取得しています。具体的には、下記イベントを取得しています。 ProviderName: EventLog ID: 6008 このイベントログは、PCを強制電源OFF(電源ボタン長押しなどによる) した後にPCを起動させたら書き込まれるログなのですが、 EventDataの情報内に、強制電源OFFしたときの日時の情報が書き込まれています。 取得したEventRecordに対して、EventRecord.Properties[1].Value.ToString(); を実行すると、例えば、"2011/12/29" という文字列が取得できます。 ■質問■ この文字列を String str = record.Properties[1].Value.ToString(); とし、 String str2 = "2011/12/29"; とした場合、 str.Equals(str2) が false になるのですが、これは何故でしょうか? なお、Properties[0].Valut.ToString() で取得できる時刻は、 String str3 = "19:42:35" と Equal でした。 DateTime dt = DateTime.Parse("YYYY/MM/DD hh:ss:mm"); という記述でDateTimeが生成できるのですが、 上記で取得したstr2を用いて String を作り DateTimeParse() を実行すると、FormatException で死にます。 Debugを進め、String str2 = "2011/12/29"; として作成したものと 相異があることが分かりました。 debug中のキャプチャ ttp://www.dotup.org/uploda/www.dotup.org2583153.png.html
53 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:04:10.74 ] どうしてだろね。 的外れかも知れないけど、文字コードレベルで比較はしてみた?
54 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 01:14:23.60 ] アドレスを比較している?
55 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 02:39:37.35 ] >>44 無いよ。 キューでもつかっとけば?
56 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 05:14:01.57 ] 別クラス、別スレッドで元クラス(form1)のメソッド(public bool func(int no) {return true;})に 引数付きでアクセス&戻り値を取るにはどうしたらよいのでしょうか formにform1型のthisが入っています。 func()とするだけなら delegate void hoge(); form.Invoke(new hoge(form.func)); でよいのですが、引数を渡す方法が分かりません。
57 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 05:19:52.93 ] Invokeに引数取るオーバーロードあるだろ MSDN見れ
58 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 07:53:42.44 ] スレッドはやはり壁らしい
59 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 08:29:33.58 ] app.configでstring[]はどのように書くのですか?
60 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 08:38:12.87 ] StringCollectionじゃダメ?
61 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 08:45:16.05 ] >>58 旧VBポジションだから乗り換え組&プログラミング初心者が多いんじゃね?
62 名前:52 [2012/02/01(水) 20:18:27.32 ] >>53 ,54 レスありがとうございます。 下記の通り、解決しました。 Stringを一文字(char)ずつ比較したところ、 EventDataから取得した日付文字列には、 Unicode character LEFT-TO-RIGHT MARKなる、 0x200e が含まれていることが分かりました。 具体的には、下記の●の場所に。 "●2012/●01/●31" この0x200eを、""に置換したところ、 文字列は一致し、DateTimeも生成できました。 余談ですが、同様のMARKとして RIGHT-TO-LEFT MARK 0x200f もあるようです。
63 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:27:12.42 ] 型そのものを返す構造体やクラスって作成可能なのでしょうか? intの値ではなくintそのものを返すものです。 無理ですよね?
64 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:35:28.57 ] Type型というのは存在するが それで何したいの
65 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:35:33.46 ] >>63 ちょっと何言ってるのか( でもTypeオブジェクトなら返せるよ
66 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:44:15.96 ] 動的生成したいんじゃないの?
67 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:44:43.43 ] >>64-65 ありがとうございます。 動的に型を定義しなければいけなくなってしまって。 string型を入れたらstringの文字列で型を返してくれるものを作りたいんです。 ちょっと研究してみます。 本当にありがとうございます。助かりました。
68 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:46:04.08 ] >>66 そうです!今Typeクラス見てます。やってみます。
69 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:55:19.95 ] 普通にクラス書くだけで、実行時型情報や動的生成はサポートしてるよ。 すべてのクラスの基底クラスはObjectクラスだから。
70 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 21:59:20.73 ] >>67 初心者はそんなことしないほうがいいよ
71 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:03:05.65 ] むしろ初心者しかやらないだろ
72 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:06:40.17 ] >動的に型を定義 さらっととんでもないことを書いてるなw
73 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:10:05.91 ] なわけないだろ。 昔、MS技術者は、MFCでCマクロ使ってそれを実装したんだぞ。 今は言語自体がそれをサポートしてるから楽なもんだ。
74 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:13:42.14 ] >>72 初心者は使わないけど普通に使う。 だから、最近のC++でもC#でもサポートしている。
75 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:28:12.52 ] >string型を入れたらstringの文字列で型を返してくれるもの 文字列で型名を指定してインスタンスを生成したいってこと? それとも型名を文字列で返せればいいの? >動的に型を定義 と話がいまいちつながんなくね?
76 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:28:25.72 ] object instance = Activator.CreateInstance(Type.GetType("System.Int32")); まあこれのこったろうけど
77 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:31:51.44 ] どういうケースでこれを使うんだ 型名が文字列ってことはどこからか入力するんだろ
78 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:44:51.92 ] interfaceで解決しそうな予感
79 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:45:15.32 ] 動的生成は簡単な例で例えると、ワードにエクセルの表を貼るみたいなときに使う。 ワードはエクセルの型を知らない。けどワードのドキュメント上でエクセルが動いてるみたいな。 実際は型名の文字列なんかどうでもよくて、objectのポインタか型情報さえあればnewできんだよね。 ユーザーが勝手に機能拡張できるアプリとかではよく使う。
80 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:48:21.50 ] >>79 やっぱりそういう勘違いだと思った。 全然たとえになってないじゃん。 ワードがエクセルのオブジェクトの型を知っていようがいまいが、 エクセルのオブジェクトの型はエクセルのバイナリがビルドされた時点で確定しているものに過ぎない。
81 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:56:18.07 ] 単純にファクトリを書くのを横着しているだけのような気も
82 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:58:38.68 ] >>80 おれ質問者じゃないしなんの勘違いだよ? 実行時型情報、動的生成の基本的な説明をしてるだけ。例えは例え。 COMがそれをサポートしてるから他のアプリからどんなオブジェクトでもコピーして使える。 おまえが実行時型情報、動的生成という概念を知らないだけじゃないの?
83 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:01:48.44 ] COMはタイプライブラリインポータで型読んでるから使えンだろうがよ
84 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:08:14.57 ] それをサポートするって言うんだよ。
85 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:10:57.68 ] それを型を知らないとは言わないと思うな〜 タイプライブラリに書いてあるのはインターフェースだよ? それを読み込んで型を知らないって言うのかな〜
86 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:25:21.14 ] static void Main(string[] args) これ変数だから、argsじゃなくても良いんでしょ? なんで"args"なの? 教えてくださいな。
87 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:26:50.90 ] >>86 引数を英語にしてくださいな。 C言語系は省略の美学が多少有るんだよな。
88 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:27:36.97 ] どの言語も同じだろ
89 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:28:27.66 ] >>85 アプリをビルドをしたときに知らなくても、あるいは、実行時まで知らなくても、 必要なときに型を知る方法があることを実行時型情報をサポートしてると言う。 要はインスタンスのvoidポインタだけあればその型情報を取得できるということだ。 そして実行時に知った型でnewできることを動的生成という。 で、COMやc++、c#はそれらをサポートしてる。初心者用説明オワリ。
90 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:30:31.34 ] >>87 ありがとう^^
91 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:30:42.62 ] 質問者ですけど。stringから生成した型でさらに宣言をしないといけないんですよ。 だから構造体でType型を返し、そrをType型に入れて宣言してみたんだけど error CS0118: `scriptname.TypeTeigi' is a `field' but a `type' was expected とか出てる。 すごく単純なことをやるためにすごく複雑な問題を抱えてしまった。
92 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:38:30.88 ] <T>
93 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:05:29.25 ] 参照型の new は全部動的生成じゃね? 動的メモリ確保という意味では。 「動的な何か」の何の部分を省略して会話おかしくなってる感が。 CreateInstance は動的型情報の参照、動的なアセンブリ読み込み。
94 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:43:38.61 ] 質問者ですけど。 すいません。設計を見直してみます。
95 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:08:54.67 ] >>93 単にMSがMFCのCObjectの説明のときに動的生成のサポートと言い出した。 当時はc++コンパイラに実行時型情報の機能はなかった。 だから型不明のクラスを実行時にnewできなかった。 それがMFCマクロでクラスを宣言してれば可能になった。
96 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:22:06.04 ] 当時と今とで動的にできることも開発者の理解もずいぶん変わってるだろうに。
97 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 01:33:11.68 ] C言語にはmallocがある。 劇的に変わったのはMFCとCOMから。 当時、Unix勢は口だけでまともに動く実装が一つもなかった。CORBA(笑)みたいな
98 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:32:37.16 ] "string"ではなく string ってどうやって宣言すればいいのでしょうか? 型は何を使えば?
99 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 02:42:56.84 ] string s;
100 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 04:09:34.80 ] System.String
101 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 08:08:46.02 ] visual studioのmonthcalendarコントロールですが、読み込んだ直後は今日の日付が選択状態になってますよね これを解除する方法はありますか? 最初に今日の日付をクリックしてもdatechangedイベントを発生させたいのですが。 代替案でも構わないのでお願いします。
102 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 08:33:36.57 ] DateSelectedなら当日の日付クリックでも動くよ
103 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 09:35:49.78 ] 初心者がメタ領域の動作させようというのが間違ってる
104 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:09:49.40 ] フォーム上に簡単なヘルプを表示させたいと思っています。 文字列でちょちょっと書きたいだけなのですが、箇条書きを使いたいのでRichTextBoxを使おうと思っています。 表示する文字は固定でいいのでデザイナから入力できればと思ったのですが、リッチテキストを入力する方法が分かりません。 ワードパッドで書いてそれをプロパティウィンドウにコピペ、みたいなことが出来る事を期待してたのですが 試しにTextに放り込んだらただのテキストとして貼りつけられるようで
105 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:16:05.96 ] だせぇ
106 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 13:37:54.65 ] 書式つき文章はデザイナでは流し込めません
107 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 17:44:01.42 ] >>102 ,103 ありがとうございます
108 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 22:04:30.43 ] イベントハンドラに匿名メソッド使った場合、どうやって削除すればいいの? ほったらかしてもメモリリークしない?
109 名前:デフォルトの名無しさん [2012/02/02(木) 23:34:27.45 ] >>104 WebBrowerでHTMLの方が楽だよ
110 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 00:15:44.86 ] >>104 リッチテキストファイルをリソースとして持って、フォームのOnLoadとか適当なタイミングで RichTextBoxに読ませれば良いだけだよ。 LoadFileにはStreamを引数に取るオーバーロードがあるでしょ。
111 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 01:15:06.90 ] 普段全く使われることのないワードパッドが使えるのか。 胸が熱くなるな。
112 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 01:33:43.37 ] >>108 HogeEventHandler h = (s, e) => 〜; foo.Hoge += h; foo.Hoge -= h;
113 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 05:48:59.84 ] >>108 ずっと起動しっぱなしのアプリケーションならリークといえるだろうけど プロセス終了すれば問題なし
114 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 06:50:52.91 ] >>112 ,>>113 返答ありがとうごさいます >HogeEventHandler h = (s, e) => 〜; 削除したい場合はやっぱり一度変数に入れなきゃだめ? イベントにAddされてるイベントハンドラを一括削除とかは無理?
115 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 07:42:06.81 ] hoo.Hoge = null; で全削除出来た気がする
116 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:15:39.85 ] 動的に構造体配列を入れ替えて使うにはどうしたらいいのでしょう?
117 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:17:25.59 ] スワップのこと?
118 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:33:36.29 ] 動的厨がまた湧いてるのか 脳みそも湧いてんじゃねーか? 使いまわしはやめろとあれほど皆が。。。。
119 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:37:10.45 ] 無知がバレてよほど悔しかったのか。
120 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 13:45:18.16 ] C#ならインターフェースを定義して、それから派生するクラス通しで入れ替えをやる程度だよな(Compositeパターン) dynamic使えば何でもありだが、外的要因がなければ使うべきじゃない
121 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:24:20.15 ] webカメラの動画をリアルタイムで遠隔監視したいのですが方法としてはどのようなものが挙げられるでしょうか。
122 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:33:48.87 ] >>120 単純なアプリしか扱わない初心者スレではそれで十分だな。
123 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:48:35.55 ] VSみたいなの作ろうとしたら無理だけどな。 ネットワーク系ゲームも種類によっては無理だな。
124 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 14:55:38.70 ] 機能を後で拡張できるかできないかってことだろ。 指定のインタフェースしかサポートしませんってのが一番楽チン。
125 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:15:53.39 ] public System.Net.CookieContainer cContainer = new System.Net.CookieContainer(); cContainer.Add(new Uri("www.google.com/ "), new Cookie("key","val")); これでwww.google.comにkey=valのクッキーが送信されるのは出来るのですが Set-Cookie: key=val; expires=Sun, 04-Mar-2012 06:02:02 GMT; path=/; domain=.google.com みたいに、*.google.comに対して発行されたクッキーを指定するにはどうしたらよいのでしょうか cContainer.Add(new Uri(".google.com"), new Cookie("key","val")); では、new Uriが無効なuriだとエラーが出てしまいます。
126 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:29:35.85 ] Cookieのコンストラクタで指定する AddのときはCookieだけ渡す
127 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:41:35.14 ] すべて動的にとか頭くるってるとしか思えない いや、実現できないというわけではなくてだな・・・
128 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:43:48.97 ] おまえはnewしないのか。 .netは馬鹿でもnewできるようにカベコレついてるのに。
129 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:51:20.57 ] 社員[] 社員の集合1 = new 社員[1000]; 社員のメンバにクラス所属企業があるとき 所属企業のインスタンス、A社がB社に吸収されるとして B社.吸収(A社); のコマンドだけで A者に所属する社員らの所属企業が合併先に更新されるにはA社がメンバとして 社員の名簿をもってないとだめですよね?
130 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:55:23.99 ] 社員把握してない企業って……
131 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:59:03.23 ] あー書いてて思いつきましたが class 会社{ bool 現存orNOT = false; 会社 吸収先 = null; } ってしといて吸収されたら吸収先に吸収者を代入 社員が所属企業クラスにアクセスするとき プロパティで現存企業に届くまでアクセスするようにしとけば 一応企業に名簿がなくても一応出来ますね n回吸収されるとn回タライ回しループをたどることになりますが というわけでわかりましたありがとうがざいました
132 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 15:59:54.50 ] 配列にすんなよ
133 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 16:00:36.49 ] わかったならよろしい
134 名前:デフォルトの名無しさん [2012/02/03(金) 16:05:58.53 ] >>133 ,-、 ,.-、 ./:::::\ /::::::ヽ /::::::::::::;ゝ--──-- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| / ヽ、::::| / ヽ| l l .| ● | んーとね・・ l , , , ● l ` 、 (_人__丿 、、、 / `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´ ,-、 ,.-、 ./:::::\ /::::::ヽ /::::::::::::;ゝ--──-- 、._/::::::::::::::| /,.-‐''"´ \:::::::::::| / ヽ、::::| / ● ヽ| l , , , ● l .| (_人__丿 、、、 | わかんない l l ` 、 / `ー 、__ / /`'''ー‐‐──‐‐‐┬'''""´
135 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 16:24:19.12 ] かわいい
136 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 16:32:47.11 ] >>130 中国なら
137 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:21:56.66 ] 社員だが、社長の名前素で忘れてたコトなら何度でも。だって社長ってしか言わないモン。
138 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:24:42.07 ] 社長は覚えてるけど専務の名前は忘れがち
139 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:26:30.25 ] 全員島工作でいいだろ
140 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:36:58.61 ] 取締役会で島耕作がずらっと並んでる所想像してワロタ
141 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:40:10.64 ] 構造体を型として別の構造体の中で宣言するときの型に使えるのでしょうか?
142 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:46:29.56 ] intもdoubleも構造体です
143 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 20:51:46.21 ] >>142 ありがとうございます。
144 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:04:46.07 ] >>115 できなかったズラ
145 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:05:55.38 ] >>144 出来るわけないだろw
146 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:07:38.46 ] あるメソッド内だけガーベッジコレクトしたいんですが 可能でしょうか? GC.Collectはでかすぎて
147 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:12:51.13 ] 他のオブジェクトのデリゲートを保持して、 あとからデリゲートの削除ができませんか? 参照変数の参照とかがあるといいんですが… ↓こんな感じで。 class C { ref Action a; public void Set(){Console.WriteLine("hoge");} public void F(ref Action _a){ _a += F; a = _a; } public void Kill(){ a -= F; } }
148 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:14:36.69 ] ref厨きたあああああ
149 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:17:00.68 ] >>147 それ以前にc#の本開いてオブジェクトってどうやって扱うか勉強したほうがいいぞ ここで頓珍漢な質問繰り返さずに本嫁
150 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:22:46.91 ] 一体なんだこれは…
151 名前:147 mailto:sage [2012/02/03(金) 21:23:53.55 ] 優しく教えてくれると信じてたのに…(´・ω・`) 別に ref を使いたいんじゃなくで、デリケートの外す方法がさえわかればオーケイです。
152 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:24:42.19 ] cやc++から来たんだろ c++脳… 引数の & aを ref aってやってんだろ
153 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:29:30.89 ] いやそれ以前にやりたいことが見えん コード見直せ
154 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:34:13.59 ] c#は中途半端にc++パクリまくったから読むのに苦労するぜ。
155 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:38:05.80 ] c#はc++とは遠い親戚でパクリ元じゃない Delphiはどちらかというとc++よりだ c#はjavaをパクったんだよ
156 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:38:48.57 ] >>151 smdn.jp/programming/netfx/delegate/2_operations/ つーかほんとにイベントからイベントハンドラを一括削除する方法ってないの? event修飾子がついてると右辺に置けないのが不便すぎる
157 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:40:15.14 ] >>156 無いよ addやremove使って自前のlistにでも入れといて listクリアしたらいい
158 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:48:32.37 ] >>156 何が聞きたいのかよく分からんけど、 イベントに登録されたデリゲードを、そのイベントをメンバに持つクラスの 外側から全削除できないのが不便だとか思ってるのなら、あんたは立派なダメグラマだなw
159 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:50:19.54 ] -=はでデリゲート削除できたろ。
160 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:51:24.49 ] そんな事よりなんかすげえ面白いコントロールCode Projectで見つけてこいよ!
161 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 21:59:58.36 ] >>159 イベントに設定した匿名メソッドを削除するときのためにわざわざ 変数にとっておくのがめんどくさいんだよね 外側から全削除というか削除時にイベントの中身を気にしたくないだけ
162 名前:161 mailto:sage [2012/02/03(金) 22:00:49.93 ] アンカー間違えた >>158
163 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:07:19.33 ] 当たり前だけど、匿名メソッドが属してるインスタンスより、 寿命が短いインスタンスのイベントに匿名メソッドを設定したなら、気にしなくても平気だよ using(Dialog d = new Dialog()) { d.HogeHugaing += (s,e) => {}; d.ShowDialog(); } dをGCできるか否か決めるとき、dはデリゲートを参照しているが逆は参照していない
164 名前:147 mailto:sage [2012/02/03(金) 22:08:06.87 ] >>161 わたしがやりたかったのもまさにそういうことです。 仕方がないので、デリゲートを削除する匿名メソッド作って、イベントハンドラ持ってるオブジェクトにでも持たせておくことにします。
165 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:11:23.24 ] 自分が管理している外からイベント設定されるなら 全削除なんて恐ろしくてできない
166 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:13:03.11 ] WeakEventパターンが生まれた理由がまさにそれが背景で 自分より寿命が長いインスタンスに対してイベントを設定すると、インスタンスの寿命がそいつに引っ張られるのね 逆はない
167 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:16:53.96 ] >>163 ,>>166 そうなのかー これで心おきなくイベントにつっこめるわ。ありがとう!
168 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:17:08.63 ] 正直なんでイベント消したいのかわからない。基本放置でいいだろ。
169 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:18:45.05 ] そして油断してリークするんですね分かります。
170 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:20:48.55 ] リークしても気にしない
171 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:22:20.26 ] HogeHugaing
172 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:36:44.28 ] >>169 リークするのはイベントにデリゲートを握られている時であって逆ではないよ。 >>156 の人の話とかみ合ってないでしょ?
173 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 22:47:02.01 ] HogeHugaed
174 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 23:12:05.60 ] application.doevents()をしていてもウィンドウのタイトルバーを マウスダウンしていると処理が止まってしまうのはなぜでしょうか?
175 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 23:34:42.20 ] >>166 そーいうのちゃんとあるのね。知らなかったわ。
176 名前:デフォルトの名無しさん mailto:sage [2012/02/03(金) 23:59:39.27 ] >>175 全然便利とも分かりやすいとも思えないけどねw むしろ罰ゲーム的だなあれ。 あんなの実装するぐらいならちゃんと自分で管理した方が100倍ましに思える。
177 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:03:50.14 ] C#の構造体の要素に固定長ではない配列を含める事は可能でしょうか?
178 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:04:34.01 ] 修正します。 × 要素に ○ メンバに
179 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:08:25.72 ] 固定長でない配列ってなに?
180 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:10:19.53 ] >>179 要素数を入れれば入れるだけ伸びていく長さを指定してない配列です。
181 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:14:29.34 ] 動的配列は参照なので無理じゃないか?ドウなんだろう。
182 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:29:10.95 ] Cでいうこれだろう struct data { int a; char *b; } 意味ねえから止めろ 素直にリスト使え マーシャリングは茨の道だ
183 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:30:47.44 ] ジグだかジャグだかって配列なかったっけ?
184 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:31:13.34 ] >>181-182 ありがとうございます。 コンストラクタの中でnewしたら目的の処理に到達しました。
185 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:32:48.68 ] >>182 違うみたいよ?
186 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:33:45.66 ] 含めるだけなら可能。って言えば済んだ話か・・・。Orz
187 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:34:19.09 ] 入れれば入れるほど伸びていく配列なんてあったっけ。Generic?
188 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:35:32.29 ] List<T>かな?
189 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:46:16.63 ] これ、俺が悪いなw 入れれば入れるほどってのは、初期化後の操作ではなくて、初期化の要素数の話でした。すいません。
190 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:51:12.92 ] コラァーッ
191 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 06:13:59.62 ] 最低限の知識のない質問者←これは仕方ない。 だが全然的外れな回答してる回答者、おめーらは駄目だ。すっこんでろ >>115 >>183 >>187
192 名前:デフォルトの名無しさん [2012/02/04(土) 06:35:44.28 ] >>191 あたしが忘れられないsexは、やっぱりお互いが激しく求めあった夜。 どちらか一方がテンションかかるようなsexじゃなく 互いを求め合って 欲しくて、欲しくて お互い一度も目もそらさない… 感じるあたしを見下ろす彼の目が切なくて 眉間にシワを寄せながら揺れる肩幅が愛しくて、引き寄せようと手を伸ばしたら 両手で頭を捕まれながらキス、キス、キス 互いに舌を絡ませながら果てました。 お互いのタイミングと感情が交わったときの激しいsexは、我を忘れる
193 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 09:43:26.66 ] >>191 うるせーばか
194 名前:デフォルトの名無しさん [2012/02/04(土) 09:46:57.58 ] >>193 ↑そして最後はこうやって 子供みたい逆切れしたりするのも定型。 ほんと、男って虚勢張ってても、中身は単純で馬鹿に生き物。 何を言ったところで、 結局女がいないと 自分の遺伝子を残すことさえできないという 馬鹿で哀れな生き物。
195 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:16:20.27 ] メッセージボックスを表示したらそのウインドウのハンドルをIntPtr型に定義しているのですが、 この値を元に動的にそのウインドウのイベントを定義することは出来るでしょうか? メッセージボックスが他のウインドウに隠れたら閉じるようにしたいので Deactivate イベントを定義したいです。
196 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:28:32.67 ] 動的入りました〜
197 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 12:54:00.11 ] var form = Control.FromHandle( hwnd ) as Form; if( form != null ) { form.Deactivate += ... } ********** ただし多重にイベントを登録しちゃたりしても知らない
198 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 13:03:37.68 ] 単にハンドルをFormか何かに変換できませんかと聞けばいいのに 「動的」で全部片付けるなよ 馬鹿の一つ覚えでそれしか知らんのかも知れんが
199 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 13:11:05.42 ] その発想ができるようになることを上達と言うんではないですかね。 プログラマレベル2さん。
200 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 13:41:51.02 ] つまらない単語で琴線触れすぎだろ どんだけニューワードなんだ
201 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 13:49:50.30 ] >>195 型を拡張しようとかアホなことを考えずに普通に委譲でやるだけでしょ。 NativeWindowから派生するとかしてウィンドウメッセージを拾って処理する クラスを別に作る。 なんかこの間から動的って言葉を誤解してる人多いよな。 だから変数の型が動的に決まるってことはあっても、型のメンバーや型そのものを 動的に作るなんてできるかってw
202 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 14:08:33.61 ] ll言語だと適当なオブジェクトに勝手プロパティ付けられるじゃん その延長で考えてんでしょ明らかに
203 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 15:28:40.08 ] >>201 型そのものは動的に作れるよ 知らない人が多いけど リフレクションに〜ビルダーって専用クラスがいっぱいあって動的にアセンブリ作れる 保存も実行もできる クラスの元作ってコンストラクタビルダーでコンストラクター作って メソッド作って…ってやってけば出来るよ けど今までの質問者はそんな質問してないと思う 言葉を知らないだけっぽい
204 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:04:25.74 ] C#がPerl化してきた
205 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 17:31:12.61 ] リメンバー perl馬鹿
206 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:02:18.44 ] 簡単なゲームをつくろうかなと思っています。 とりあえず下記のようなコードをベースにしようと思ったのですが いまいちスムーズに動きません。どこが間違っているでしょうか? ideone.com/VXifR
207 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:10:07.54 ] C#を選択したことが間違い
208 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:15:40.86 ] 俺のPCだとちゃんと60FPSで動きますよん
209 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:17:35.55 ] 行番号BASIC臭のするコードだな
210 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:22:31.95 ] Form1_Shownから処理戻さないのはどうかなーとか Invalidateで毎回前面更新するのはなーとは思うけど 一応は動くはずだ 画面小さくしても同じようにスムーズに動かないならそれが限界だろう
211 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:22:42.89 ] >>207 そうですかorz >>208 うちのだとなんだかかくつきますorz Stopwatchを使ってみたところそれなりにスムーズになりました。 他には問題はないでしょうか? ideone.com/7Fle1
212 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:25:06.47 ] >>206 イベント駆動モデルを把握して、システムに任せれるところは任せましょう。 Application.Idleで空白時間を使った処理を登録できるので、描画以外の計算はそこでやったほうがいいよ。
213 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:36:02.61 ] >>206 C#でゲームを作るのは悪くないけど winformで作るのはおすすめしないけどな winformでテトリス作ったやつ cs2ch.blog123.fc2.com/blog-entry-82.html そのコードはおそらく同じところからゲームループのロジックを 持ってきてるはず
214 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:46:35.43 ] Application.Idleについて勉強してみます。 winformは無謀ですかね。最初からXNAに挑戦すべきか・・・悩みます。
215 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 18:53:02.94 ] 構造体配列をメンバに持つ構造体はどうやって作ればいのでしょうか?
216 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:46:19.27 ] >>214 自分が作るときはこんな感じで作るよ。 ttp://www1.axfc.net/uploader/File/so/74930.zip&key=2ch 最小構成を1時間で作ったからバグがあっても目をつぶってくれ。 状態移管が不味いのは仕様だ。そこは自分で修正して欲しい。
217 名前:デフォルトの名無しさん [2012/02/04(土) 19:47:11.25 ] App.configに配列を持つにはどのようなxmlを記述すればいいのでしょうか?
218 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:52:09.25 ] セキュリティソフト作りたいんですけどどうすればいいですか?
219 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 19:57:20.55 ] >>218 とりあえず、どのセキュリティかによるけど、 ファイル読めるようになるか、ネットワークのデータストリーム読めるようになるか、OSの専門家になるか・・・。
220 名前:デフォルトの名無しさん [2012/02/04(土) 20:03:05.46 ] >>218 ClamAVの検出エンジンを移植してみる コア部分は標準入力からファイルを投げ込んで結果を返すだけだから気合いさえあれば問題ない。
221 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:30:31.14 ] 識別子が求められてるところではとりあえずアンダースコアつけとけばいいですかね?
222 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:49:37.66 ] >>215 struct AHO { ... } struct KUSO { public AHO[] baka; }
223 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:50:01.51 ] >>221 さっきからお前は誰と会話してるん?
224 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:54:53.00 ] そんなに俺はダメなのか。 落ち込むわ。
225 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:56:24.26 ] Cから来た人でよく分かってない人はstruct使うなclass使えと言いたい
226 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 20:56:34.59 ] >>222 それコンストラクタの書き方も教えてお願い。 こんな簡単な事もわからないんだ。
227 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:08:43.82 ] 面倒くせえから「C言語で」コードかけよ 直してやる
228 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:10:21.04 ] セキュリティソフトつくるならやっぱドライバ書けないとな
229 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:11:32.62 ] >>222 msdn.microsoft.com/ja-jp/library/cc433530%28v=vs.71%29.aspx
230 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:12:12.24 ] ×>>222 ○>>226
231 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:17:17.38 ] >>218 これ↓これを使う msdn.microsoft.com/ja-jp/windows/hardware/gg463267 フィルタリングエンジンにコールバックを登録すると パケットを投げる時や受け取る時、ファイルを開く時、その他もろもろの時にコールバックしてくれる 適当に判定してDENYするだけでセキュリティソフトの出来上がり
232 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:23:32.89 ] 構造体に初期値を設定できませんかと来るぞ クラス使えボケ
233 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:31:47.37 ] >構造体のインスタンス フィールドの宣言には、変数初期化子を含めることはできません
234 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:34:31.86 ] なんで言語によって構造体の定義がバラバラなんだよ。 後出し言語は前にならえよ。
235 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:38:04.54 ] 未だにintのサイズすらバイト規定してない言語に習ってたまるかゴミが
236 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:42:15.62 ] Javaと同様、.netはそのゴミ言語で書かれてるというオチなんじゃないのか?
237 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:51:09.05 ] オチてるかなあ?
238 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:53:25.37 ] 子供が優秀で良かったですねってことじゃねえのww
239 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 21:55:22.56 ] 親を抜いてないのに、親を老害呼ばわり。
240 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:06:30.64 ] 現実を見ていませんねお互いに
241 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:09:09.56 ] structが世に出たのはalgolが先だったと思うけど Cのstructの定義はalgolの定義と同じか? 後出し言語なんだろう?
242 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:13:21.96 ] C系でってことだろアスペ。 調子のんなよ。
243 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:24:41.21 ] 名前からして丸パクリのくせに偉そうだな。 c#はc++をギュッと圧縮して2文字にしただけ。 どうせヘジが字が下手糞で、c++書いつもりがc#になったみたいなとかだろ。
244 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:27:47.99 ] もはや難癖だな
245 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:29:12.38 ] CollectionViewSource使ってるんだけど、 こいつが生成するListCollectionViewに XAML上でCustomSortを設定するにはどうすればいいの?
246 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:29:48.56 ] JavaからパクったんだからJava#にしろよ。 それともDelphi#のほうがいいか?
247 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:33:45.89 ] お前が死ぬほうが断然いいかな
248 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 22:40:17.97 ] このスレではJavaを馬鹿にすると市ねと言われるから要注意な。
249 名前:245 mailto:sage [2012/02/04(土) 23:17:29.25 ] WPFスレがあるみたいなのでそっちに行きます