1 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 17:41:19 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part26 pc11.2ch.net/test/read.cgi/tech/1206238049/
9 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 17:32:06 ] >>8 Word 2007 Add-in: Microsoft Mathって書いてあるけど Excelはないの?
10 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:41:58 ] >>9 あー、Word 限定なんだなぁ・・・ なんと中途半端な。 Word で書いた数式、クリップボード経由でエクセルに張り付けると、 単なるビットマップになる・・・
11 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 03:05:44 ] なぜかInvailid Product keyってなって落とせん・・・ だれかうpしてクレー
12 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 04:17:39 ] 割れ厨氏ね
13 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 20:33:24 ] 割れじゃないのにDLできん
14 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:33:33 ] 週明けにでもMSに電話しろよ
15 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:17:06 ] コントロールにTagプロパティってあるじゃん。 デザイナ上で 3.14 とか書いてもstring型になっちゃうんだが double型を設定したい場合はプログラム上で書くしかないん? VC#2008 Express
16 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 23:45:26 ] >>15 Designer.csを開いてダブルクォーテーション消せばいいんでないの? プロパティウインドウから触ったらstringに戻るから、 他の人もさわるならやめたほうがいいと思うけど。
17 名前:15 mailto:sage [2008/04/20(日) 00:03:54 ] デザイナ上で全ての設定済ましたかったけど、できないんならしょうがないか。 thx
18 名前:デフォルトの名無しさん [2008/04/20(日) 14:09:57 ] 質問ですが C#でランダムな数字を作るにはどうすればよいですか? 教えてください
19 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 14:14:00 ] そのまんまRandomクラス
20 名前:デフォルトの名無しさん [2008/04/20(日) 14:23:18 ] ありです。 C# randomでぐぐったら例文のってました。
21 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 15:26:04 ] 過去ログがもう流れてるし・・・ 無駄なスレ多すぎなのか開発環境がそんだけ多いのか・・・
22 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:35:31 ] ●買えよ
23 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 17:41:39 ] >>21 sund1.sakura.ne.jp/uploader/source/up22287.htm sund1.sakura.ne.jp/uploader/source/up22288.zip
24 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:32:09 ] >>23 ari
25 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 04:56:26 ] Randomの精度ってどうなの? MTとかなの? CのRandは使い物にならなかったけど。 あと高精度のタイマーって何? マルチメディアやゲームにも使えるタイマーありますか?
26 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 05:04:09 ] こういうのが作られてるから MT じゃないんだろう。多分。 ttp://takel.jp/mt/
27 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 09:14:55 ] グラフィックスを描画するとき、半透明とかグラデーションとかいろいろ機能がありますが、 ピクセル毎に描画する色を最終決定しているのはどこなのでしょうか? CPUがいちいち計算して出しているのか、それともGPUに任せているのか どちらなのでしょうか?
28 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 10:55:23 ] 【レビュー】GeForce FX 5950 Ultra/5700 Ultraを速攻レビュー (5) ベンチマーク -1- | パソコン | マイコミジャーナル ttp://journal.mycom.co.jp/articles/2003/10/25/28/bench/004.html ここの文章でグラボでGDI+の描画性能が決まることがはっきりわかりました。 GPUに任せているということですね。
29 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:18:13 ] そうなんか!
30 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:31:10 ] >>28 グラボ(笑)
31 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:35:13 ] というか両方使われるのでもっと詳しく聞いてくれんと微妙にしか 答えられんがアルファはGDIとGDI+ならCPUが頑張ってることが多い。
32 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 11:48:01 ] フレームを利用したWEBページのhtmlソースを取得しようとして sw = new StreamWriter(filename, false, Encoding.GetEncoding("EUC-JP")); int len = (int)webBrowser1.DocumentStream.Length; byte[] doc = new byte[len]; webBrowser1.DocumentStream.Read(doc, 0, len); Encoding enc = Encoding.GetEncoding(webBrowser1.Document.Encoding); sw.Write(enc.GetString(doc)); sw.Close(); とDocumentCompletedイベントに記述したのですが、webbrowserでは表示できているにも拘わらず、 ファイル側にはフレームに未対応のブラウザは〜としか書き込まれません。 何が問題なのでしょうか?
33 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:49:29 ] 何が問題かと問われても、何も問題ない(そういうもの)としか答えようがない 強いて挙げるなら、>>32 のHTMLに対する理解が不足してることくらい フレームの中に表示されているhtmlも保存されるようにしたい、ということなら 自分で保存する処理を書けばいい
34 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 14:13:41 ] レイヤ付きペイントツールを作ろうと思ってます とりあえずはペイントの部分の、ユーザが自由にラインを引ける部分あたりを作りたいのですが、何からはじめていいのやら 参考になるモノ、サイトなどありませんか?
35 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 14:17:29 ] Paint.NETのソース
36 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 16:31:43 ] >>33 確かに問題ないようですね。 foreach (HtmlWindow hw in webBrowser1.Document.Window.Frames) { HtmlDocument hd = hw.Document; text_memo.Text = hd.GetElementsByTagName("html")[0].OuterHtml; } とすると取得できましたが、どこかのインターフェースを介しているためオリジナルのソースと違った物が得られます。 これはどうやって回避すればいいのでしょうか?
37 名前:デフォルトの名無しさん [2008/04/21(月) 19:31:47 ] >>34 そんなことココで聞いている時点で止めといた方が良いと思うが、あえて やるなら35の言うとおり、Paint.Netのソースを追ってみるのがいいんじゃないか? ラインだけ引けたってレイヤ付きペイントツールの道はまだまだだからな。
38 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:11:51 ] >>25 時間測るだけならStopwatch
39 名前:デフォルトの名無しさん [2008/04/21(月) 23:58:44 ] TubeCastっていうSourceforgeにあるソフトのことで相談です。 これYoutubeに複数のファイルをバッチアップロードするソフトなんだけど アップロード後のpublic/pravate(公開/非公開)が設定できないのです(設定項目が無い)。 これ同種のソフトが色々ある中ではかなり使いやすくて、 唯一こいつは日本語のファイルパスが通るので、もし上記の設定が出来たら 自分も含めてかなり需要あると思うです。 誰か直してくれませんか? ソース見たけどC#全然分からないッス。 sourceforge.net/project/showfiles.php?group_id=189431&package_id=221912
40 名前:デフォルトの名無しさん [2008/04/22(火) 00:24:20 ] C#, C♯, C#相談室 Part45が、そろそろ限界なんだが規制で新スレが立てられない。 誰かお願いします
41 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:31:16 ] スレチガイです
42 名前:デフォルトの名無しさん [2008/04/22(火) 00:32:20 ] >>40 C#, C♯, C#相談室 Part46 pc11.2ch.net/test/read.cgi/tech/1208791919/
43 名前:デフォルトの名無しさん [2008/04/22(火) 00:38:25 ] >>42 乙です、ところでテンプレは? 一緒になって書いてぐちゃぐちゃになったら困るので、もし書かないなら返答お願いします。
44 名前:デフォルトの名無しさん [2008/04/22(火) 00:44:01 ] いなくなった? 無責任だな、とりあえずテンプレ自分書きます、他の人書かないでください。
45 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:46:55 ] スレ立ててもらったんだから、 テンプレぐらい自分ではれよw
46 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:47:34 ] >>39 youtubeにファイルをアップする際のバッファのどの部分にどのように記述すれば public/privateの設定ができるのかを教えてくれたら考えてもいい。
47 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:49:04 ] >>45 立てて放置はねぇーだろ
48 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:52:38 ] あるよ
49 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:57:00 ] 全然あるな
50 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 01:05:31 ] >>46 お世話になります これから調べてくるッス 日付が変わるまでにはなんとか
51 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:28:01 ] dllの中身が void hoge(char *str){ printf("%s",str); } のとき [DllImport("hoge.dll")] static extern void hoge(string str); とすると hoge("hoge"); で呼び出せて [DllImport("hoge.dll")] static extern void hoge(char[] str); とすると hoge("hoge".ToCharArray()); で呼び出せるみたいなんだけど、これってコンパイラがstringをchar[]に勝手に変えてくれてるの? 仕組みとか注意点とかあれば教えていただきたい。
52 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 06:33:59 ] >>51 StringがChar[]に変換されるのではなく、StringもChar[]もchar*に変換されてDLLに渡される。 .NETの型ごとに、プラットフォーム呼び出しの時、どんな型に変換されるか決まっている。くわしくは「規定のマーシャリング」でググれ。
53 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 07:13:09 ] >>46 おそらくここだけだと思う。宜しくご検討お願いします。 <form method="post" enctype="multipart/form-data" action="lax-v133.lax.youtube.com/my_videos_post " name="theForm" id="theForm" onSubmit="return formValidator();"> // private(非公開) <input type="hidden" id="field_privacy" name="field_privacy" value="private"> // public(公開) <input type="hidden" id="field_privacy" name="field_privacy" value="public"> </form>
54 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:36:00 ] >>52 サンクス
55 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 08:48:28 ] ヘジは人をラムダに導くためにイベント、匿名メソッド、ラムダと段階を踏んできたんだな
56 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 09:43:32 ] 前スレで質問をしたのですが、回答を見る前にdat落ちしてしまいました。 どなたかdatファイルをいただけないでしょうか。
57 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 10:20:32 ] vs2005のtabcontrolなんですが、タブ6つを | 5 | 6 | | 3 | 4 | | 1 | 2 | って風に3段に並べたいだけなんだけど、ビルドすると勝手に | 3 | 4 | | 5 | 6 | | 1 | 2 | のように並べ変えられる。これって自分だけ? 何か対処法を知ってたら教えてください。
58 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 11:19:32 ] C#ではUInt型は扱えないのでしょうか? DBにInt型で保存されてる値を取り出す時にUInt型として扱いたいのですが
59 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 11:41:39 ] >>58 uintやUInt32はあるけど?
60 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:27:34 ] >>56 www-2ch.net:8080/up/download/1208838402670654.eu5h9t pass: furatto
61 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 13:38:06 ] 初期値やデザイナへの表示の有無を変えたい=属性を変える必要がある と思って下のようにコードを書いたのですが、 もっと簡単に属性を変える方法はありますか? public class MyListView : ListView { public MyListView() { View = View.Details; } //[Browsable(false)] [DefaultValue(View.Details)] public new View View { get { return base.View; } set { base.View = value; } } }
62 名前:デフォルトの名無しさん [2008/04/22(火) 18:54:11 ] if文から強制的に抜けるにはgoto文以外でだったらどうすればよいですか? breakを使うとwhile文の中のif文では、while文を抜けてしまいます。 どうすればいいかおしえてください。
63 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:55:03 ] >>60 ありがとうございます。助かりました。 回答をくださった方もありがとう。
64 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:55:57 ] >>62 強制的に抜けなくてもいいよう、もう一段ifをネストする
65 名前:46 mailto:sage [2008/04/22(火) 20:55:06 ] >>53 手が空いてるときにやるから気長に待ってておくんなさい。
66 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:56:50 ] 小学生のトキ、夏休みの宿題に昆虫採取をするコトにしました。 まぁ、毎日アミ持って野山を駆け回って遊んでただけなんだけど、ある日すごいのを捕まえました。 体長13.5cmのトノサマバッタ(足含まず) まぁ、もちろん標本にして学校に提出したんだけど、次の日には学校中の噂が広がって展示場の理科室は昼休みなんかメチャ混みになっちゃったんだよね。 でも、2日ほどで撤去されちゃった上、学校が全校生徒にこんな内容のプリントを配った。 理科室にあった標本のバッタは、トノサマバッタではなく、外国のバッタである事がわかりました。 日本の生物では無いので、気にしないように。 その後、両親と共に校長室に呼ばれ、先生ではない数人の大人と話をし、両親はハンコを押したり、生活指導方針がどーとか難しいコトを言われてました。 子供心に「怒られてるんだ」ってのはわかりました。 それから十数年が経ち、なにげなく当時の事を思い出して両親に尋ねると・・・ 名前 大きさ つかまえた場所 トノサマバッタ 13.5cm 浜○原子力発電所緑地公園 ↑ コレが、まずかったらしい。
67 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:58:10 ] コピペ君って馬鹿だな、まで読んだ。
68 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:14:15 ] C#暦2週間ほどなのですが、ちょっと教えてください。 public class hoge{ ・・・ } と定義してあって、 hoge Vhoge = new hoge(); でインスタンスを生成し、Vhogeにはバイナリのデータが入ってるとします。 System.Io.File.WriteAllBytes を使ってバイナリを出力したいのですが、 そのような場合、第二引数としては、何を渡したらよいのでしょうか?
69 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:23:34 ] 出力したいバイナリを、byteの配列で渡す
70 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:36:21 ] もっと真摯に回答しろよ。
71 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:38:59 ] 分からないなら答えないでください><
72 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:39:48 ] ローカルルール 一、UCがセゾン傘下である事実を受け入れること 一、UCは流通系となった事実を受け入れること 一、クレディセゾンを誹謗中傷しないこと 一、セゾンUCを大切にすること
73 名前:68 mailto:sage [2008/04/22(火) 23:17:32 ] >>69 やっぱり、Vhogeをbyte[]に変換しないとダメですか・・・。 変換する方向で考えてみます。
74 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:20:14 ] >Vhogeにはバイナリのデータが入ってる からbyte[]のメンバを持ってるんじゃないの? 何か別のかたちで持ってる?
75 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:21:23 ] >>68 bytes 型 : System.Byte[] ファイルに書き込むバイト。
76 名前:68 mailto:sage [2008/04/22(火) 23:43:11 ] >>74 実際には、こんな定義になってます。 (とあるサンプルなので、中身は置いておいてもいいとは思いますが) [StructLayout(LayoutKind.Explicit)] public class hoge { [FieldOffset(0)] public short type_a; [FieldOffset(2)] public short type_d; [FieldOffset(4)] public short datano_s; [FieldOffset(6)] public short datano_e; [FieldOffset(8), MarshalAs(UnmanagedType.ByValArray, SizeConst = 10000)] public byte[] cdata; } これを、そのままのイメージでバイナリ出力したかったのですが・・・。 で、Vhogeのアドレスを渡したら、出力できるかと思ったのですが、 型の変換ができなかったので、いい方法はないかと思案中です。
77 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:32:19 ] Marshal
78 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 06:47:30 ] >>76 なんでそこまできっちり定義してるのに、>>68 に略したのかわからん。 68の書き方じゃ求めていた答えが返ってくるわけがない。 P/Invokeで出来るんだから、何か方法があると思うのが普通。 初めて調べたけど正解は、Marshal.StructureToPtrかな?
79 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:13:49 ] ってbyte[]にする必要があるんだった。コンパイルもしてないけど、こんな感じ? 2回コピーするのが気に入らん。 int size = Marshal.SizeOf(Vhoge); byte[] data = new byte[size]; IntPtr pnt = Marshal.AllocHGlobal(size); try{ Marshal.StructureToPtr(Vhoge, pnt, false); Marshal.Copy(pnt, data, 0, size); } finally { Marshal.FreeHGlobal(pnt); }
80 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 07:19:26 ] AllocHGlobalなんて怖いことしなくてもfixedやGCHandle.Allocで十分ですよ
81 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:53:15 ] マネージメモリに unsafe でアクセス != marshal レイアウト
82 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:17:47 ] >>81 お前は何を言っているな
83 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:55:01 ] あ一回はコピー生成してるのかごめん
84 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:01:28 ] コンテキストメニューの項目数を設定で自由に変更できるプログラムを作成したいです。 とりあえず下記の様に通常コードを作成しましたが headlineの項目をこの様に決め打ちするのでなくforループなどで動的に追加したいと思っています どのようなに書けばいいでしょうか。ご助言願いたいです。 // コンテキストメニューの動的作成 public void ContextMenuCreate(int number) { // イベントハンドルを宣言 EventHandler eh = new EventHandler(MenuFactorOnClick); MenuItem[] ItemMenu = { new MenuItem("headline_" + 1, eh), new MenuItem("headline_" + 2, eh), new MenuItem("headline_" + 3, eh), }; ContextMenu = new ContextMenu(ami); }
85 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:04:08 ] 二つほど記述ミスがありました、申し訳ありません。 引数のintはforループに用いようと思っていたのを消し忘れました。 ContextMenuの宣言で[ami]となっていますが[ItemMenu]の間違いです。
86 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:19:44 ] ContextMenu.MenuItems.Add()又は MenuItem.MenuItems.Add()
87 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:09:37 ] 迅速なお返事ありがとうございます。 下記の用に書くことで目的の動作を果たせました。 // コンテキストメニューの動的作成 public void ContextMenuCreate(int number) { // イベントハンドルを宣言 EventHandler eh = new EventHandler(MenuFactorOnClick); // コンテキストメニューを作成 ContextMenu = new ContextMenu(); // メニュー数を設定 ItemMenu = new MenuItem[number]; // メニューの追加 for (int i = 0; i < number; i++) { ItemMenu[i] = new MenuItem("headline_" + i, eh); ContextMenu.MenuItems.Add(ItemMenu[i]); } }
88 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:15:33 ] サーバー側で接続待ちをしていない状態で、 クライアント側からTcpClient.Connect();で接続しようとすると 「接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。 または接続済みのホストが応答しなかったため、確立された接続は失敗しました。」 ってエラーが発生します。 エラーになるまで20秒くらいかかってしまうのですが、 もっと早く接続できないと判断することはできないのでしょうか?
89 名前:62 [2008/04/23(水) 16:22:39 ] ifを入れ子してやってみたのですが、できません。 どうすればいいですか?
90 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:25:03 ] コードも出さずにどうすべきか聞くとはどういう事だ? 何故それで駄目かくらい書け。
91 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:32:33 ] >>88 とりあえずMSDNみてみ
92 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:37:41 ] >>90 いや、62はコード出す・出さない以前の問題じゃね? if 文を break で抜けれるとか思ってる時点で何かおかしい。
93 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:55:00 ] >>91 レスありがとう。 だがMSDNのどこを調べればいいのかわからない。 できたら場所を、教えてください。
94 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:56:16 ] breakは括弧閉じまでジャンプするもんだと誤解してるのかも
95 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:57:46 ] そこで括弧閉じればいいのにね
96 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:01:31 ] 目的: Control.ModifierKeysを使ってモディファイアキーを判定したい。 詰まっている箇所: 複数のモディファイアを判定する方法がわからない(Shift + Alt + Vなど) どなたかアドバイスいただけないでしょうか
97 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:06:01 ] >>96 Keys構造体はただのビット値。 (Control.ModifierKeys & Keys.Shift) != Keys.None) & ((Control.ModifierKeys & Keys.Control) != Keys.None) こんな感じでいけるはず
98 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:11:12 ] (Control.ModifierKeys & (Keys.Shift | Keys.Control) != 0)
99 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:13:16 ] Delphiの列挙値は比較が楽だったんだけどなあ。 なんでC#は似たような比較方式を採用しなかったんだろう
100 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:10:06 ] ヘジたん的になにか気に入らないところがあったのでは
101 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:10:31 ] TcpListener で質問なんですが 0.0.0.0 とやれば全指定なんですが 範囲指定したい場合、例えば 192.168.1.0とかやると 192.168.1.0〜192.168.1.255 とかできるんでしょうか?
102 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:24:02 ] >>97 >>98 ありがとうございました。 うまく動作させることができました
103 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:25:10 ] >>101 192.168.1.0であれば192.168.1.0のみになる。 0.0.0.0は特例でそういう使い方は普通ワイルドカードを利用する。
104 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:51:06 ] >>103 ありがとうございました。
105 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:15:26 ] >>95 do { } while(false) とか? >>99 ((enumValue & flag) == flag) を返す演算子があってもよさそうだよな
106 名前:68 mailto:sage [2008/04/23(水) 22:17:31 ] いろいろヒントありがとうございました。C# Marshalでぐぐって、 MyStruct o = new MyStruct(); ... IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(o)); try { Marshal.StructureToPtr(o, ptr, false); byte[] bytes = new byte[Marshal.SizeOf(o)]; Marshal.Copy(ptr, bytes, 0, Marshal.SizeOf(o)); ... } finally { Marshal.FreeHGlobal(ptr); } に当たったので、>>79 さんのサンプルでいいみたいです。 助かりました。
107 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:38:29 ] >>105 フラグはわざと便利にしてない感じがするなあ 分からないなら使わなくていい,使うにしても控えめに,っていうような意図を感じる
108 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:51:00 ] >>107 間違いなくその通りだろうな、Win32APIのラッパーが避けられない以上、やむなく残した としか思えないところがあるな。
109 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:53:43 ] javaからc#に転向することになって本読んでます。 パッと見javaと似てるけど、なんじゃこれは? というのもあります。 public xclass() : base(xclass.MethodA()) { Console.WriterLine("XClass constructor"); } xclass()メソッドの後ろにある、コロンとメソッド、 これは一体なんですか。 メソッドの直後にメソッドて・・・・??。 想像もつかんです。 しかもこの本には意味が書いてない。。 どういう動作になるんでしょう?
110 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:55:42 ] なんとなく理由が分かった、ビットフィードが無くなったのもこれが理由だな マルチスレッドだね、使用しないビットに対してもリードもライトもロックが必要になるが、どこまでロックが必要か訳わからんようになる。
111 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:56:14 ] 基底クラスのコンストラクタに引数を与える構文。
112 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:02:39 ] >111 ありがとうございます。 他の本で読んだ記憶がうっすらよみがえってきました。。
113 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:06:04 ] 少し不思議なことがあるのですが・・・xclass.MethodA() って何、コンパイルできないような気がしたので、自分の知識が不足しているのか、間違っているのか気になる。
114 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:12:42 ] >>113 デリゲートが引数になっているメソッドには、そのデリゲートに合うメソッドを引数として渡せる。 実際には、デリゲートのインスタンスが生成されているんだけど。
115 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:18:03 ] MethodA の後ろの () が、タイプミス? MethodA の正体は static 関数? ちょっと原文みてみたいですね、'WriterLine' だしw
116 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 07:02:10 ] kakenai
117 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 07:05:22 ] C#で sakuratan.ddo.jp/uploader/source/date79504.png 上の画像のようなGUIを扱いたいのですがどうすればよいのでしょうか?
118 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 07:50:04 ] そのPNG画像を読み込んで貼り付ければいんじゃね?
119 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 08:22:53 ] >>117 ユーザコントロールを作る OnPaintBackgroundをオーバーライドして背景を描画しないようにする OnPaintをオーバーライドして各頂点およびエッジを描画する その他にも細々と設定しないといけないプロパティとかあるかも。 パフォーマンス?さぁ…
120 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:03:00 ] enum.first.tostring()で"first"は得られるのですが enumに同期させてenum.firstならば"最初" enum.secondならば"二回目"とか任意の文字列を得るのに スマートな実装方法を教えて下さい
121 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:09:42 ] enum使わないでstructにする
122 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:16:13 ] TypeConverter 実装するとか
123 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:32:34 ] (int)enum.first 明示的にバラバラしてるんならできないけど
124 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:00:02 ] >>120 Dictionaryじゃダメな理由を聞こうか
125 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:27:06 ] >>88 だけど どなたか知ってたらヒントください。
126 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:57:38 ] >>125 ttp://bbs.wankuma.com/search.cgi?no=0&word=%94%F1%93%AF%8A%FATCP&andor=and&logs=17.txt&PAGE=50
127 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:57:58 ] >>125 Recieveにはタイムアウト設定できたと思うが、Connectには無理だったと思う
128 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:46:50 ] >>127 はい、できません。 最近のWindowsなら、レジストリいじればシステムグローバルな 値は変更できると思うけど。 TCP周りのいろんな設定値はユーザーランドではいじれない実装の OSがほとんどです。
129 名前:88 mailto:sage [2008/04/24(木) 18:30:05 ] >>126-128 ありがとうございます。
130 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 19:58:22 ] Equalsって何と発音するのでしょうか・・?
131 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:01:02 ] 辞書引けよ
132 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:16:01 ] コンテキストメニューにショートカットを設定したいです。 メニューの数が可変であるためにVSに頼らず動的に作成しているのですが 生成番号に対応したショートカットを動的に与えるにはどのようにすればいいでしょうか 下記の様なイメージです。 Item1(&Alt + 1) Item2(&Alt + 2) Item3(&Alt + 3)
133 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:17:18 ] >>130 無理矢理日本語で言うなら「いーくぉーる」かな。 ちなみに日本語で言う「イコール」のことな
134 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:42:20 ] C#でWindowsUI付きのFTPクライアントを作っているのですが、 UI(WinForm)をロックさせないためにBackgroundWorkerを使用しています。 BackgroundWorkerからはFTPコマンドを扱うクラス(FTPClass)のメソッド(UploadMethod)を呼び出しています。 この時、UploadMethodの進捗をUI(WinForm)に表示させたいのですが、 この場合UploadMethodの中でWinFormのコントロールを操作する処理をさせるしか ないのでしょうか? (実際にはWinFormはSTAなのでBackgroundWorkerのメソッドを介してUI変更を行います) というのも、その場合UploadMethod内のUI変更の処理は上位クラス(WinForm)の 実装を意識しないといけなくなるわけで、クラス間の結合が密になってしまうのは 好ましくないかなと感じまして。
135 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:43:02 ] >>130 いーくぁるず >>132 ちょっと↑の方のレス見ろ
136 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:48:12 ] >>132 ショートカットを設定することは出来るが、Altは使えないんじゃないかな。 Altを押した時点でコンテキストメニューは消えると思う。 ショートカットの設定は、ToolStripMenuItemなら .ShortcutKeys = (Keys)(Keys.D0 + i); でできる。
137 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:49:45 ] >>135 レスありがとうございます。 >>84-87 のところでしょうか? 私が行いたいのは(&Alt + 1)の数字の部分を要素にあわせてインクリメントする(イメージ)なので コンテキストメニュー自体を動的生成している>>84-87 とは問題が違ってしまいます。 説明不足申し訳ありません。
138 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:50:39 ] >>134 UploadMethodが進捗を返すのなら(返すか知らんけど)BackgroundWorker内で PeportProcessイベントを発生させればフォームに進捗を伝えられる
139 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 20:55:59 ] >>132 なんか発想が変な気がするよw 別にコンテキストメニューである必要もないし、メニュの数を動的に変える 必要も必ずしもないんじゃないの? ディセーブルにすれば十分に思うし、その方がユーザーにとっても明示的で わかりやすいよ。 もしコンテキストメニュー「も」必要なら、ポップアップするタイミングで メインメニューのメニューを丸ごと奪い取ればいいんだし。
140 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:00:15 ] >>137 括弧でアンダーラインが入ってるパターンのなら ToolStripMenuItem.Text = "背景色に設定(&1)"; みたいに前に&つけるだけだよ
141 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:02:55 ] ショートカットキーのこと言ってるのかただのアクセレーターキーのこと言ってるのか 判然としないねw いずれにせよちょっとピンボケした発想だと思う
142 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:08:29 ] >>136 レスありがとうございます。 ToolStripMenuItemでなくMenuItemで行ったのですが .ShortcutKeys = (Keys)(Keys.D0 + i);でキャストエラー .ShortcutKeys = (Shortcut)(Keys.D0 + i);でコンパイルは通りますが 実行時に「引数値'value'(50)は列挙型'Shortcut'に大して無効です。」とエラーになります。 >>139 ホットキーでコンテキストメニューを呼び出し全ての操作をメニュー上で行うという かなり変則的なプログラムを作っております。 通常の操作であればディセーブルで十分なのはご指摘の通りだと思います。 レスありがとうございます。 >>140 レスありがとうございます。 えと、それはItem1(1)の1の下にアンダーバーが表示されるだけで それだけでショートカットとして認識される訳ではありませんよね? >>141 申し訳ありません。 ショートカットキーとアクセレーターキーの違いを知りませんでした。 アクセレーターキーを実装したいと考えています。
143 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:11:09 ] >>142 ねえ、だからそれメインメニューじゃいかんの? なんでそんなウィンドウズの標準のお作法から外れたことをしたがるのか理解できんよ。
144 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:31:03 ] >>138 UploadMethod内では 1.アップロードファイルの確認 2.アップロードコマンドの発行 3.アップロードコマンドの終了 と3つのプロセスに分かれているのですが、それぞれのプロセスが終了するごとに UIに通知したいと考えています。各プロセスをさらにメソッド単位に分解し、 それぞれの完了ごとにReportProgressを呼ぶことも考えましたが、何かスマートな方法 は無いかものかと。 例えばWinForm側にリスナのようなものを追加し、それぞれのプロセスが終了するごとに イベントを発生させ、リスナからReportProgressを呼び出す。と言ったような事は 可能なものでしょうか?
145 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 21:34:26 ] >>142 デザイナで実際に設定してみればわかると思うけど、ショートカットにはCtrlかAltが必ず必要だったと思う。 それにデザイナで設定できることは、実際に設定してみてDesignet.csがどう生成されたか見るのが早い。 ToolStripMenuItem.ShortcutKeys = (Keys)(Keys.Alt | (Keys.D0+i)); 試してないけどみたいな感じで出来るんじゃないかな。
146 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 05:48:07 ] >>143 必ずそういうこと言う人がいるけど質問者の条件を変えようとするレスは書かなくていいです。
147 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 07:32:18 ] >>144 可能 Javaの人?
148 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 08:21:57 ] >>146 君のような思考を「フェティシズム」って言うんだよ
149 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 09:45:18 ] フェチのこと? なんで?
150 名前:845 mailto:sage [2008/04/25(金) 09:46:50 ] 変な仕様を指摘すると「お前は言われたとおりに組んでればいいんだよ!」とかいう奴はいるなぁ たいては後で直さなきゃいけなくなるんだけど
151 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:18:54 ] お前誰だよ↑ 仕様にケチつけると話題がそっちに流れるだろ。 もうちょっと考えような。
152 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:38:38 ] 奇妙な仕様を指摘して何が悪いんだか。
153 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:00:52 ] ファシズムって言いたかったとエスパーw
154 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:17:48 ] むしろ悩んでる原因は変な仕様だってことが多いからな
155 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:20:40 ] 別にケチつけるわけじゃなく、スタンダードな方法を提示したレスをするならいいと思うけどね
156 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:21:45 ] まあ大体の初心者は変な思いつきと思い込みで阿呆な仕様にしてるよねw
157 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:11:42 ] >>155 それならいいよね。建設的だし。 でも批判するだけなら分かってない人でも出来ちゃうから厄介。
158 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:20:54 ] >>147 JavaとC#の二束の草鞋です。 C#の場合はリスナそのものに該当する仕組みは無く、 delegateを使用してリスナ相当を実装する必要があるのかなと考えているのですが
159 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:10:50 ] フォーム操作可能にしたいマルチスレッドならdelegate()が一番簡単と思うけど
160 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:21:20 ] >>158 @FtpClassにOwnerプロパティを実装 public Form Owner{ get; set;} AUploadMethodを呼ぶ前にOwnerにthis(つまりWinForm)をセット ftpClass.Owner = this; BUploadMethod内のイベントを通知したいタイミングでOwner.Invoke()を呼ぶ if(Owner!=null && UploadFileCheckEventHandler != null) Owner.Invoke(UploadFileCheckEventHandler(FtpEventArgs)) これでどうだろうか
161 名前:158 mailto:sage [2008/04/25(金) 13:28:19 ] ちと変だな 訂正 public event FtpUpLoadEventHandler UpFileChecked; public event FtpUpLoadEventHandler UpLoadStarted; public event FtpUpLoadEventHandler UpLoadFinished; こんなようなイベントを実装して、 if(Owner!=null && UpFileChecked != null) Owner.Invoke(UpFileChecked(FtpEventArgs)) とかで呼び出す
162 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:37:12 ] >>160 C#のイベント処理に疎いので、少し教えていただきたいのですが、 この場合Ownerで示されるFormクラスのインスタンスに、UpFileCheckedイベントが通達 されるという認識でよろしいでしょうか? その場合、Owner.Invokeでイベントを発行している形なので、FTPClassがイベントを 通達できるのはFormクラスのインスタンスに限られてしまい、FTPClassはFormクラスと 依存関係になってしまうのではと考えているのですが。
163 名前:デフォルトの名無しさん [2008/04/25(金) 14:49:02 ] C# (.NET) でコントロールを透明化したいんですけど、 obj.Parent 以外に対しても透明化というのは、無理なんでしょうか? もしくはレイヤードパネルみたいなものはないですか? やりたいのは // A,B 両方表示(A,B は完全に重なっているコントロール) A.Parent = parent; B.Parent = parent; // A だけ表示 A.Visible = true; B.Visible = false; // B だけ表示 A.Visible = false; B.Visible = true; みたいなことなんですが・・・
164 名前:134 mailto:sage [2008/04/25(金) 14:58:41 ] すいません今更ですが >>134 ×(実際にはWinFormはSTAなのでBackgroundWorkerのメソッドを介してUI変更を行います) ○(実際にはWinFormはSTAなのでWinFormのInvokeメソッドを介してUI変更を行います)
165 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:12:27 ] >>164 FTP クラスが ProgressChanged みたいなイベント公開すればいい。 アップロード中に適当に状況が変わるなりすればイベントを起動する。 Form は その ProgressChanged イベントのイベントハンドラで Invoke して GUI に反映させる。 Owner はいらんな。SynchronzingObject ならあってもいいけど。
166 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:45:27 ] >>163 見た目を気にするなら諦めてWPFに乗り換えましょう
167 名前:デフォルトの名無しさん [2008/04/25(金) 22:03:36 ] proxy.f3.ymdb.yahoofs.jp/bc/4811d5fe_a9ed/bc/%a5%de%a5%a4%a5%c9%a5%ad%a5%e5%a5%e1%a5%f3%a5%c8/slot.txt?bcIzdEIBwa.jLV2N これを見た感想おしてください(しょぼすぎますがその辺はご了承ください)
168 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:06:55 ] >>158 二足のわらじって、君思いっきりJava脳じゃん? まぁ>>161 でもちらっと出てるけどeventを作ればいいよ dobon.net/vb/dotnet/vb2cs/event.html
169 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:10:55 ] >>167 たいへんよくできませんでした
170 名前:167 [2008/04/25(金) 22:12:08 ] それは自分でも自覚してる。 あとどんなものつけたら面白くなりますか?
171 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:28:51 ] はじめはこんなもんだとは思うけどとりあえずgotoは封印しましょう 同じような処理はメソッドにまとめましょう どうでもいいけどhRandomっていう名前がキモい 参照型変数にhを付けることにしてるのか知らないけどそんなのあんまり意味無いし 付けるならslotにも付けないとおかしい
172 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:29:17 ] >>167 感想言っていいのか?本当にいいのか?
173 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:31:06 ] いいよ
174 名前:167 [2008/04/25(金) 22:36:02 ] この場合gotoつかわないとすれば何つかえばいいですか?
175 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:37:36 ] Hyoujiメソッドを呼び出せばいいんじゃないか?
176 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 22:40:27 ] >>160 ,165,168 教えていただいたことを参考にFTPClassにイベントを追加し 呼出元でイベントをハンドリングすることで希望通りの動作ができました。 ありがとうございました
177 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:08:55 ] >>167 とりあえずコメントは書こうな using System; class slot{ static void Main(){ Console.Write("コインのもち数を入力してください"); int coin = int.Parse(Console.ReadLine()); int bell = 10,suika = 6,replay = 3; int[] slot = new int[9]; Random rand = new System.Random(); while (coin >= 3){ coin -= 3; int koyaku = rand.Next(1, 101); //スロットの値設定 for(int i = 0;i < slot.Length;i++){slot[i] = rand.Next(1,4);} //約100回に一回当たるよく分からないなにか if(koyaku == 1){ coin += 5; Console.Write("○ ○ ○\n○ 5 ○\n○ ○ ○\ncoin={0}\n\n",coin); } //通常処理 for(int i = 0;i < slot.Length;i+=3){ if(slot[i] == slot[i+1] && slot[i] == slot[i+2]){ coin += (slot[0] == 1) ? bell : (slot[0] == 2) ? suika :replay; } } //表示 for(int i = 0;i < slot.Length;i+=3){Console.Write("{0} {1} {2}\n",slot[i]+i, slot[i+1]+i, slot[i+2]+i);} Console.WriteLine("ncoin=" + coin); Console.ReadLine(); } } }
178 名前:167 [2008/04/25(金) 23:25:09 ] 177さん手直しありがとうございます。 プログラム初心者なんでそんなfor文使うなんて考えてませんでした。 ありがとうございます。