ふらっとC#,C♯,C#(初心者用) Part74
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/04/30(土) 19:56:45.96「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part73
http://hibari.2ch.net/test/read.cgi/tech/1302422250/
■関連スレ
C#, C♯, C#相談室 Part66
http://hibari.2ch.net/test/read.cgi/tech/1303889653/
ミスターサタンのC#相談室
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part36)
http://hibari.2ch.net/test/read.cgi/tech/1301828549/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0002デフォルトの名無しさん
2011/04/30(土) 19:57:02.53コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0003デフォルトの名無しさん
2011/04/30(土) 20:00:33.01乙
0004デフォルトの名無しさん
2011/04/30(土) 21:01:23.760005デフォルトの名無しさん
2011/04/30(土) 21:20:17.420006デフォルトの名無しさん
2011/04/30(土) 21:40:41.35>>5
小学2年生的にはおもしろいよね。続けて
0007デフォルトの名無しさん
2011/04/30(土) 21:59:15.23自動プロパティを使っちゃうと「private GetHellowWorld { get; }」みたいにダサい変数名になっちゃうじゃ
0008デフォルトの名無しさん
2011/04/30(土) 22:02:02.310009デフォルトの名無しさん
2011/04/30(土) 22:06:53.820010デフォルトの名無しさん
2011/04/30(土) 22:14:37.39何を言ってるのか意味不明だと思うよ
0011デフォルトの名無しさん
2011/04/30(土) 22:14:54.79面白いねー
0012デフォルトの名無しさん
2011/04/30(土) 22:22:27.950013デフォルトの名無しさん
2011/04/30(土) 22:30:45.560014デフォルトの名無しさん
2011/04/30(土) 22:56:35.170015デフォルトの名無しさん
2011/04/30(土) 22:58:35.850016デフォルトの名無しさん
2011/04/30(土) 23:16:25.68自動プロパティを使わないダサくない変数名の例も挙げてくれ
0017デフォルトの名無しさん
2011/05/01(日) 00:10:38.270018デフォルトの名無しさん
2011/05/01(日) 00:22:20.49割とマジに姓名判断でも受けて決めたらいい
0019デフォルトの名無しさん
2011/05/01(日) 01:00:11.54ttp://dobon.net/vb/dotnet/beginner/namingrules.html
0020デフォルトの名無しさん
2011/05/01(日) 01:39:34.83Timer ti = new Timer(callback); みたいに()にメソッド名書くときはなんもしてくれない。
コールバックのシグネチャいちいち調べるのめんどくさいから自動で書いてほしいんだけど
なんか方法ある?
0021デフォルトの名無しさん
2011/05/01(日) 14:02:09.000022デフォルトの名無しさん
2011/05/01(日) 16:18:45.49さんくす
0023デフォルトの名無しさん
2011/05/01(日) 16:55:36.56thx
0024デフォルトの名無しさん
2011/05/01(日) 16:58:22.010025デフォルトの名無しさん
2011/05/01(日) 17:07:21.71StyleCopおすすめ。
0026デフォルトの名無しさん
2011/05/01(日) 17:11:08.250027デフォルトの名無しさん
2011/05/01(日) 17:23:25.68すげー、知らなかったはww
0028デフォルトの名無しさん
2011/05/01(日) 19:10:32.52メタデータなんて見れるんだ。知らなかった
0029デフォルトの名無しさん
2011/05/02(月) 14:05:20.99同じなのでしょうか?
前置きと後ろ置きだそうですが、評価されるタイミングが違うんですよね?
for文だとどっちでも同じになるんですかね?
0030デフォルトの名無しさん
2011/05/02(月) 14:08:22.020031デフォルトの名無しさん
2011/05/02(月) 14:31:52.81前置きの方が速いから式の値を使わないなら前置きにしろというのは迷信。今時それくらい最適化される。
VC#のコードスニペットが生成するのは後置きだから後置きでいい。
0032デフォルトの名無しさん
2011/05/02(月) 14:40:34.28迷信にしても頭悪過ぎる迷信だな
0033デフォルトの名無しさん
2011/05/02(月) 14:43:59.12信心はこえーぞ
0034デフォルトの名無しさん
2011/05/02(月) 14:53:51.720035デフォルトの名無しさん
2011/05/02(月) 14:57:51.86下記のnumに入る数値は変わる。
int i = 1;
int num = i++;
int i = 1;
int num = ++i;
0036デフォルトの名無しさん
2011/05/02(月) 15:00:53.33>>35は無視してくれ
0037デフォルトの名無しさん
2011/05/02(月) 15:01:13.94array[i++] = x;
array[i++] = y;
array[i++] = z;
こういうのはついC++の癖でやってしまう
0038デフォルトの名無しさん
2011/05/02(月) 15:01:21.41いくらふらっとスレでもそのレベルの話をドヤ顔で書いちゃうってどうなのよ。
さすがに常識過ぎ
0039デフォルトの名無しさん
2011/05/02(月) 15:07:38.55こういうの馬鹿正直にループ回しちゃうわ。
0040デフォルトの名無しさん
2011/05/02(月) 16:02:44.620041デフォルトの名無しさん
2011/05/02(月) 16:19:36.28どんまい
0042デフォルトの名無しさん
2011/05/02(月) 16:31:04.600043デフォルトの名無しさん
2011/05/02(月) 16:36:12.930044デフォルトの名無しさん
2011/05/02(月) 16:54:04.140045デフォルトの名無しさん
2011/05/02(月) 16:57:16.04・粒子(砂)の堆積についてのシュミレーション
・数は1万個程度.大きさは100μm程度
・計算としてはルンゲクッタ法を用いる予定
・剛体球モデルを用いる予定
よろしくお願いします.
0046デフォルトの名無しさん
2011/05/02(月) 16:58:48.90というか言語どうこうの問題じゃない
0047デフォルトの名無しさん
2011/05/02(月) 17:00:56.85そういうのならどの言語で書いても手間は似たようなもんだから速いの選んどけ
言語なんかよりも、近くの粒子をリストアップしておいて計算回数を減らすなどの
アルゴリズム上の工夫が超重要
0048デフォルトの名無しさん
2011/05/02(月) 17:08:21.35で、大きさは貴方の求める仕様なので貴方が物体と物体の距離を定義すればいい。
アルゴリズムのことはよくわからないが、
要するにその物体同士が当たり判定で当たったとしたときの挙動を求めることが結果につながると思う。
というわけでどの言語でも配列と当たり判定が実装できればなんでもいいが、
カラフルなビジュアルが必要であればC#も選択肢に入るかもね。
ってとこじゃね?
0049デフォルトの名無しさん
2011/05/02(月) 17:12:40.95研究とかやってるんなら
CUDAC あたりでメイン処理書いといてC#とかXNAで描画とかどう
0050デフォルトの名無しさん
2011/05/02(月) 17:27:52.63そのリストにある粒子との衝突判定だけを行うようにすればO(N^2)がO(N)に近くなってかなり速くなる
ときどきそのリストを更新する必要があるけど、それはO(N^2)かかってしまうので
そこがネックになるようなら空間を分割するとか工夫する
小手先の最適化よりアルゴリズムだよ
0051デフォルトの名無しさん
2011/05/02(月) 21:28:52.05ご意見ありがとうございました.検討してみます.
また何かあったらよろしくです.
0052デフォルトの名無しさん
2011/05/02(月) 21:56:42.30C++で、ユーザー定義型の ++ の場合は前置きの方が速いのよ。
もちろん、整数の場合はコンパイラが最適化するからどっちでもいっしょ。
0053デフォルトの名無しさん
2011/05/02(月) 23:32:58.50見やすい一覧って無いのですか?
0054デフォルトの名無しさん
2011/05/02(月) 23:39:57.08つ ヘルプ
0055デフォルトの名無しさん
2011/05/02(月) 23:40:00.430056デフォルトの名無しさん
2011/05/02(月) 23:41:04.200057デフォルトの名無しさん
2011/05/03(火) 00:02:30.99Visual StudioでC#プロジェクト作って、Ctrl+.
0058デフォルトの名無しさん
2011/05/03(火) 00:13:46.36それVSのバージョンいくつから?
VC#2008Expressじゃあ反応しないな
0059デフォルトの名無しさん
2011/05/03(火) 01:09:25.88ってどこかで見たけど、そのメソッドを持ってるインスタンス自身を入れるのって問題ない?
lock (this)
{
...
}
0060デフォルトの名無しさん
2011/05/03(火) 01:30:03.17「インスタンスに対してパブリックにアクセスできる場合には、lock (this) が問題になります。」
これは、thisオブジェクトが外から見えてしまうので別の排他制御で使われるかもしれない
から注意してね、という意味だと思う。
インスタンスメソッド間で排他制御に使ってると、外部じゃ分からなくて排他制御に使うかも
しれないよ、と。
0061デフォルトの名無しさん
2011/05/03(火) 01:38:11.32class hoge {
...
void hogeCallback() {
lock(this) {
done = true;
}
}
}
で、
hoge obj = new hoge();
として
lock(obj) {
while(! obj.done) {
Thread.Sleep(500);
}
}
とか。(検証したわけじゃないが)
0062デフォルトの名無しさん
2011/05/03(火) 01:46:21.95なるほどそういうケースがあるのか。さんくす
0063デフォルトの名無しさん
2011/05/03(火) 01:58:49.76lockの本来の使い方じゃないような気もするんだけど、かといって代替手段がないのか。
0064デフォルトの名無しさん
2011/05/03(火) 02:11:07.81どういうこと?MSDNにはクリティカルセクションをマークするためのものって書いてあるけど。
0065デフォルトの名無しさん
2011/05/03(火) 02:21:26.41納得いく説明をしてくれよ
0066デフォルトの名無しさん
2011/05/03(火) 02:41:37.52言葉の使い方が正確かどうか自信がないけど、lock(hoge)の機能は排他制御だよね。
つまり、複数のスレッドが同時にhogeにアクセスすることを防止したい場合に使う。
(hogeのためにlockが使われている)
単にクリティカルセクションを作りたいだけの場合、hogeは1ヶ所しかないlock(hoge)のためだけに
存在する(その行以外では使われない)わけで、要するに別にlock(hoge)はhogeをロックすることを
狙ってるわけじゃない。(むしろlockのためにhogeが使われている)
ごめんどうも上手く書けてる気がしない。
人に説明するのって難しいな....
0067デフォルトの名無しさん
2011/05/03(火) 03:27:42.43ロックを解放するステートメント ブロックをクリティカル セクションとしてマークします。
0068デフォルトの名無しさん
2011/05/03(火) 04:29:09.27これがちょっと認識が怪しいんじゃないかと思うな。
オブジェクト操作で捉えてしまうと、その思考だと複数のオブジェクトの同時変更
ではそれぞれ全部ロックする必要があることになるけど、これは面倒極まりない。
そんなことしなくても、代表を決めておいてそれを握っている奴だけが操作できる
という取り決めで簡素化が可能。
そこで代表だったら単なる new Object() でいいじゃんという話になる。
つまりlockってのは単にオブジェクトを保護するためのモノじゃないよ、ということ。
0069デフォルトの名無しさん
2011/05/03(火) 04:39:26.92http://www.shudo.net/article/JavaWorld-200201-multithread/#deadlock
・・・その場合、それではまったくロックしないというわけにもいかないので、より上位の、
包括的なモニタを獲得することになる。
具体的には、個々の口座をロックするのではなく銀行自体をロックする、といった具合いである。
0070デフォルトの名無しさん
2011/05/03(火) 04:39:38.20クラスのメソッド一覧って出せますか?
2008 expressだとソリューションエクスプローラー(?)で
見れた気がするんですが。
0071デフォルトの名無しさん
2011/05/03(火) 04:42:54.40Monitor をインスタンス化するような実装の方がよかった気もするのよね。
なんか、意味のない object syncObj = new object(); して lock(syncObj) とかするより、
lock() の中身はMonitor 限定でよかったような。
0072デフォルトの名無しさん
2011/05/03(火) 07:08:13.370073デフォルトの名無しさん
2011/05/03(火) 08:27:06.30Java の場合、JVM の命令としてmonitorender/monitorexitを実装してるけど、
.NET の場合、IL レベルじゃなくて、Monitor クラス使った構文糖衣なわけで、
特に全部のオブジェクトに同期インデックス持たせる理由もないような。
あと、Monitor.Enter が静的メソッドとして実装されてるがために結構問題も起こしてるみたいだし。
0074デフォルトの名無しさん
2011/05/03(火) 11:06:54.71設計時にはまだlock(this)の問題が十分に認識されてなかったからとりあえずJavaと同じにしたんじゃないの
[MethodImpl(MethodImplOptions.Synchronized)]でthisがロックされたりするし、
この属性はイベントアクセサに自動的に付けられてしまう。
C#4からはイベントアクセサにも上の属性は使われなくなってる。
0075デフォルトの名無しさん
2011/05/03(火) 11:48:22.25IL レベルで実装するのはやめたんだから、「もう1歩」あってもよかったかなと。
0076デフォルトの名無しさん
2011/05/03(火) 12:05:28.30共通言語基盤としては仕様に入れないと仕方なかったんじゃないの
当初はJ#も戦略の中心にいたんだし
0077デフォルトの名無しさん
2011/05/03(火) 12:06:29.670078デフォルトの名無しさん
2011/05/03(火) 14:54:22.390079デフォルトの名無しさん
2011/05/03(火) 16:57:14.350080デフォルトの名無しさん
2011/05/03(火) 17:13:15.83C丼?
0081デフォルトの名無しさん
2011/05/03(火) 18:17:03.330082デフォルトの名無しさん
2011/05/03(火) 18:45:47.81投げやりな名前は止めてほしい。
0083デフォルトの名無しさん
2011/05/03(火) 18:46:36.10100分岐以上でもifにしたほうがいい?
swichを分割してifで二分岐して絞ったほうがいいのかな
0084デフォルトの名無しさん
2011/05/03(火) 18:54:27.570085デフォルトの名無しさん
2011/05/03(火) 18:55:10.020086デフォルトの名無しさん
2011/05/03(火) 19:26:05.36別に遅くはないだろ?
0087デフォルトの名無しさん
2011/05/03(火) 20:28:58.950088デフォルトの名無しさん
2011/05/03(火) 20:29:01.550089デフォルトの名無しさん
2011/05/03(火) 20:38:29.890090デフォルトの名無しさん
2011/05/03(火) 20:39:25.330091デフォルトの名無しさん
2011/05/03(火) 20:47:10.24むしろifより最適化はされやすい(=常に速いということではない)
0092デフォルトの名無しさん
2011/05/03(火) 20:50:25.64本当かよそれ。
まあifで2分探索で書くのが一番平均速度が早そうだけど、可読性の面では最低になりそうだ。
代替案でDictionaryにデリゲート突っ込んで…こっちも読みにくそうだな
0093デフォルトの名無しさん
2011/05/03(火) 21:01:55.720094デフォルトの名無しさん
2011/05/03(火) 21:11:11.46違うんだな・・・
0095デフォルトの名無しさん
2011/05/03(火) 21:15:41.100096デフォルトの名無しさん
2011/05/03(火) 21:18:44.13.NETはILレベルでswitch命令持ってて、その先、JIT結果がどうなるかはたぶん実装依存だったと思うけど、
MSのCLRは、caseの数が少なかったりcaseが飛び飛びだとif相当のコードに展開、
連続なcaseだったらジャンプテーブルになる。
0097デフォルトの名無しさん
2011/05/03(火) 21:21:14.83switchからif相当のコードを生成することは簡単にできるはずだけど
逆にifからswitchは難しいだろうから、もちろん実装によるけど本来ifの方が速くなる余地はないわな
0098デフォルトの名無しさん
2011/05/03(火) 22:55:47.08<書籍>
<書籍名>名前1</書籍名>
<書籍名>名前2</書籍名>
</書籍>
</書籍情報>
を
var quary = from item in xmlDoc.Descendants("書籍") select item.Element("書籍名");
ってやると一番最初の名前1しか読めないです
どこがいけないんでしょ?
0099デフォルトの名無しさん
2011/05/03(火) 23:01:06.32目が悪いんだな
0100デフォルトの名無しさん
2011/05/03(火) 23:01:42.510101デフォルトの名無しさん
2011/05/03(火) 23:02:23.700102デフォルトの名無しさん
2011/05/03(火) 23:18:13.95ありがとうございました
0103デフォルトの名無しさん
2011/05/03(火) 23:28:34.57ん?横レスですまんが、sが抜けてるということ?
0104デフォルトの名無しさん
2011/05/04(水) 01:07:44.860105デフォルトの名無しさん
2011/05/04(水) 06:23:51.900106デフォルトの名無しさん
2011/05/04(水) 07:57:19.42おれも。switchてelse ifの連続化と思ってた。
switchのほうが可読性がいいて誰か書いてたけど、{}とかbreakとかうざくね?
0107デフォルトの名無しさん
2011/05/04(水) 08:44:31.93ifで2分探索で書くと可動性の面では最低になりそう、とは書いてある。
0108デフォルトの名無しさん
2011/05/04(水) 09:06:44.850109デフォルトの名無しさん
2011/05/04(水) 10:51:07.940110デフォルトの名無しさん
2011/05/04(水) 11:52:18.690111デフォルトの名無しさん
2011/05/04(水) 12:04:58.800112デフォルトの名無しさん
2011/05/04(水) 12:11:16.640113デフォルトの名無しさん
2011/05/04(水) 14:48:14.35属性は機能のON/OFFに使われている事が多い気がします。
属性は任意の対象にメタデータを付加するものだと思っていたのですが、実際のところどのように使われる事が多いのでしょうか?
0114デフォルトの名無しさん
2011/05/04(水) 15:18:48.47他、ObsoleteとかAttributeUsageとか。
最近だと、DataAnnotationsとかWCFのDataContract/OperationContractとか。
コンパイラへの指示、VSへの指示か、
動的コード生成、動的データ検証とか。
0115デフォルトの名無しさん
2011/05/04(水) 15:21:56.99・実行エンジン→[DllImport][ThreadStatic]
・IDE→[DefaultValue][EditorBrowsable]
・特定のライブラリ→[OperationContract][TestClass]
あと自作プロキシで使ったりする
0116デフォルトの名無しさん
2011/05/04(水) 15:22:09.37使われ方は悪用も含めてフリーダム。
なので、思いついた他の例をあげとこう。
・実行時だと、NUnitなどでテストメソッドのマーク
・コンパイル時だと、APIや構造体などのマーシャリング指示
・デザイン時だと、Browsable とかユーザーコントロールでのプロパティグリッド制御
0117デフォルトの名無しさん
2011/05/04(水) 15:37:06.34バイナリに情報埋め込むあれ。
それでちょっと思い出したけど、常々疑問なんだけどCLSCompatible属性って何の意味があるのかね?
警告が鬱陶しいからクラスライブラリを作る時には盲目的にいつも付けてるがあれの必要性がわからん。
0118デフォルトの名無しさん
2011/05/04(水) 15:39:38.40属性をそのまま使うんじゃなくて、属性を派生させて、その中に追加したい機能を実装して使う。
用途としてはvirtualメソッドと同じだけど、
クラスだけじゃなくて、メソッドやプロパティに関連する機能も追加できるし、
複数の機能を追加できるという点で
単なるvirtualメソッドより柔軟性が高い。
0119デフォルトの名無しさん
2011/05/04(水) 15:44:24.21CLIには様々な機能があるけど、プログラム言語では全機能をサポートする必要はない・・・・が
最低限サポートしなきゃいけない機能が決まっていて、それがCLS。
つまり、CLSCompatible属性を付けて警告が出ないライブラリは
他のプログラミング言語からも利用可能なライブラリって事になる。
別の言語を使用しないなら、別に無視しても構わない。
0120113
2011/05/04(水) 16:10:36.79誰のために使うかが問題なのね
最初に属性を見たときは、コンパイラの為だけのものだと思っていたので全然わからんかった
thx
0121113
2011/05/04(水) 16:25:23.18o.HellowWorld = "Hellow World";
こんな感じでobjectに任意のプロパティって追加できませんでしたっけ?
0122デフォルトの名無しさん
2011/05/04(水) 16:27:33.630123デフォルトの名無しさん
2011/05/04(水) 16:29:11.270124121
2011/05/04(水) 17:09:10.140125デフォルトの名無しさん
2011/05/04(水) 17:38:12.51using System;
using System.Collections.Generic;
using System.Dynamic;
class Program {
static void AddProperty(ExpandoObject o, string k, object v) {
((IDictionary<string, object>) o).Add(k, v);
}
static void Main() {
dynamic o = new ExpandoObject();
AddProperty(o, "HelloWorld", "Hellow World !");
AddProperty(o, "Name", "Hans Johnson");
AddProperty(o, "Age", 99);
Console.WriteLine(o.HelloWorld);
Console.WriteLine(o.Name);
Console.WriteLine(o.Age);
}
}
0126デフォルトの名無しさん
2011/05/04(水) 18:21:38.21ならいきなり代入したら勝手にメンバ追加してくれるDynamicObject自作すればいいじゃん
0127デフォルトの名無しさん
2011/05/04(水) 23:34:48.91class Program
{
static void Main(string[] args)
{
dynamic employee, manager;
employee = new ExpandoObject();
employee.Name = "John Smith";
employee.Age = 33;
manager = new ExpandoObject();
manager.Name = "Allison Brown";
manager.Age = 42;
manager.TeamSize = 10;
}
}
0128デフォルトの名無しさん
2011/05/05(木) 01:56:39.54ネット上にあるサンプルの中にはlockを使ってスレッドセーフにしてあるのもあるけど、
これの必要性っていかほど?
複数のスレッドから同時にDisposeを呼び出すシチュエーションがいまいち想像できないんだけど。
0129デフォルトの名無しさん
2011/05/05(木) 02:59:29.47言い方を変えれば、全てのクラスがIDisposableを実装してるわけではないだろう?
必要ないからだ
0130デフォルトの名無しさん
2011/05/05(木) 03:12:35.47あんまり一般的なシナリオでもないけど、
並列に処理を始めて、最初に帰ってきた1つの値だけを採用したい
最初の1つが終われば残りは止めていい、
止めるのにDisposeを使う
とか?
0131デフォルトの名無しさん
2011/05/05(木) 03:25:21.30俺の頭だとその辺の想像が限界だなあ
0132デフォルトの名無しさん
2011/05/05(木) 09:45:47.40明示的なDisposeの最後にGC.SuppressFinalize(this)を入れとけばたぶんおk
0133132
2011/05/05(木) 09:50:05.75訂正
0134デフォルトの名無しさん
2011/05/05(木) 13:52:27.51プロセスからの標準出力読み込みやプロセス終了など非同期イベントと、
ファイルハンドルなどリソース解放の関係でDisposeにロック付けた。
正直うまくない手だったと思う。エレガントな方法思いつかなかった。
0135デフォルトの名無しさん
2011/05/05(木) 15:20:08.89Form1.cs(既に自動作成されたForm1のパーシャルクラス)が大きくなりそうなので、
もう一つ分けて書こうと思うのですが、
普通にクラスの追加でForm1.csとすると同名のファイルが競合するとでます。
別名で作って、Partialに変え、リファクタで名前変更かと思いきや、それも駄目でした。
どういう手順で追加すればいいのでしょうか?
0136デフォルトの名無しさん
2011/05/05(木) 15:25:09.860137デフォルトの名無しさん
2011/05/05(木) 15:27:23.68ちょっと試してみます。ありがとうございました。
0138デフォルトの名無しさん
2011/05/05(木) 16:10:13.710139デフォルトの名無しさん
2011/05/05(木) 16:21:55.61コードからはフォームのコントロールにアクセスできるはず
ただし.designer.csを認識しないので、デザインを弄る場合はもともとのファイルを編集する必要がある
デザイナで開けない場合は既存のフォームと名前空間かクラス名が違うんだと思う
0140デフォルトの名無しさん
2011/05/05(木) 16:56:47.40何か足りないのかな?パーシャルクラスって、Form1.csの2ページ目みたいな漢字化と思ってたんだけど、
ちがうのかな?
0141デフォルトの名無しさん
2011/05/05(木) 17:36:31.500142デフォルトの名無しさん
2011/05/05(木) 17:46:26.93Visual StudioなどのIDEがサポートしているかどうかは別の話だな。
.csprojファイルを無理やりいじってみたけどIDEの動作はやっぱ変だった。
0143デフォルトの名無しさん
2011/05/05(木) 17:52:14.59コンパイルは通るかもしれない、ってことなのかな。
でもまだIDEがないと書けない初心者だから・・・
VSの正しい手順でパーシャルクラスの追加って何処かに出てないですかね?
0144デフォルトの名無しさん
2011/05/05(木) 17:57:13.870145デフォルトの名無しさん
2011/05/05(木) 17:58:23.330146デフォルトの名無しさん
2011/05/05(木) 18:05:42.64追加→新しい項目→クラス
Class1.cs コードの表示→全部選択→削除→貼り付け
public partial class Form1:Form の中身を削除
ビルド
こっちの環境は2005だけどたぶん2010でもうまくいくと思うよ
0147デフォルトの名無しさん
2011/05/05(木) 18:13:27.40namespace WindowsFormsApplication1
{
public partial class Form1
{
private void Hage()
{
//... ふつうにForm1のフィールドにアクセスできる
}
}
}
つーかデフォルトのエディタをコードエディタにしろよな
0148デフォルトの名無しさん
2011/05/05(木) 18:36:03.21あーーー、そういうことかーーーー!
いや、完全に勘違い。言われてみればそうだわ。
0149デフォルトの名無しさん
2011/05/06(金) 10:33:57.11ブラウザでなく専用アプリをインストールした2台以上のPC間で
各PCからの入力状況を読み込んで鯖で処理してクライアントにリアルタイムで表示を返す。
こういうのってWPFとかsilverlightを使うことになるの?
とっつきの方向を教えてください。
数台ならP2Pになるんでしょうか?
P2Pなら鯖プログラムなしで各クライアントが処理しなきゃならんのですよね。
っていうかプログラムしなくてもネット接続されたPCのIPアドレスとかから
各PCの特定ポートに常時データをPUSH出来るんだっけ?
0150デフォルトの名無しさん
2011/05/06(金) 10:35:05.88WCFで通信すれば楽にできそうだな
0152デフォルトの名無しさん
2011/05/06(金) 11:30:34.65融通効くし
結局何がやりたいかによる気がする。
0153デフォルトの名無しさん
2011/05/06(金) 12:01:02.350154デフォルトの名無しさん
2011/05/06(金) 13:16:34.42考えようによるがソケットつなぐ時鯖は必ず存在しているわけで・・・
これ以上は突っ込まない方がいいのかな?
0155デフォルトの名無しさん
2011/05/06(金) 13:32:24.03突っ込んでも通じないよー
0156デフォルトの名無しさん
2011/05/06(金) 17:17:48.040157デフォルトの名無しさん
2011/05/06(金) 17:48:04.10この機能をC#でON/OFFする方法を教えてください。
0158デフォルトの名無しさん
2011/05/06(金) 19:23:39.750159デフォルトの名無しさん
2011/05/06(金) 20:05:18.560160デフォルトの名無しさん
2011/05/06(金) 21:01:35.23//KeyDownのハンドラ
{
if (!isPressing) { [ 初回押下時の処理 ]; isPressing = true; }
}
//KeyUpのハンドラ
{
isPressing = false;
}
0161デフォルトの名無しさん
2011/05/06(金) 21:20:30.16おお!素晴らしい!上手くいきました。ありがとうございます!
0162デフォルトの名無しさん
2011/05/07(土) 01:43:24.05真っ赤な顔して正しいことを調べ廻ってくれる親切な人が居るから
スゲー 便利www
0163デフォルトの名無しさん
2011/05/07(土) 01:44:41.440164デフォルトの名無しさん
2011/05/07(土) 02:17:27.250165デフォルトの名無しさん
2011/05/07(土) 07:40:49.060166デフォルトの名無しさん
2011/05/07(土) 08:23:49.11酷い負け惜しみだなwww
>>160の発想は素晴らしいと思うよ。
”キーリピート”でググっても、「無理」とか「間隔を最大に伸ばす」
みたいなのしか出てこないけど、多分皆、リピートを止めることしか考えてなかったんだな。
恥ずかしながら自分もそうだったんだけど。
でも180度逆から、リピートは止めずにハンドラを回避するアプローチはお見事。
在りそうで思いつかなかった。しかもフラグ1本で簡単。勉強になった!
0167デフォルトの名無しさん
2011/05/07(土) 08:52:28.780168デフォルトの名無しさん
2011/05/07(土) 13:05:05.18質問者の意図と技量を読む能力が試されるよね
もしかしたらテキストボックスのキーリピートを止めたかったのかもしれない
0169デフォルトの名無しさん
2011/05/07(土) 13:59:11.910170デフォルトの名無しさん
2011/05/07(土) 14:04:46.380171デフォルトの名無しさん
2011/05/07(土) 14:50:33.12褒められちゃった。うれしい!
0172デフォルトの名無しさん
2011/05/07(土) 16:29:27.38ComboBoxは仲間はずれか?
0173デフォルトの名無しさん
2011/05/07(土) 17:58:15.42postされたユーザ情報がdbに存在しなかった場合、クライアントに何を送り返すのがベストなのでしょうか?
0174デフォルトの名無しさん
2011/05/07(土) 18:11:27.38でいいじゃね?
そういうセキュリティの話を2chで振るのは微妙な気がするけどね。
0175デフォルトの名無しさん
2011/05/07(土) 18:13:41.800176デフォルトの名無しさん
2011/05/07(土) 18:57:45.92public class ClassImpl : IInterface {}
var c = new ClassImple();
c.value = "hellow";
valueに何故値を代入できない?
0177デフォルトの名無しさん
2011/05/07(土) 19:15:03.08そもそもコンパイルできないっしょ
0178デフォルトの名無しさん
2011/05/07(土) 20:09:59.70試せる環境にいたらとっくに試してるは
0179デフォルトの名無しさん
2011/05/07(土) 20:13:59.25どうやって2chに書き込んでるんだw
0180デフォルトの名無しさん
2011/05/07(土) 20:33:04.710181173
2011/05/07(土) 20:39:28.75>>178は俺じゃないから怒るなって
>>175
>ここで聞く前にYahooとかGoogleあたりで試してみればいいのに
Webサービス <----- XML -------> Flashっていう感じのを作りたいの
googleやyahooがとかっていうのも大切だと思うんだけど、俺は業務で使いたいと考えている
だから、業務アプリとして作るならばって観点で教えてください
0182デフォルトの名無しさん
2011/05/07(土) 20:39:57.59余計なサイトには接続できないようになってる
0183デフォルトの名無しさん
2011/05/07(土) 20:44:40.22どっか抜けてるなその会社
0185デフォルトの名無しさん
2011/05/07(土) 22:10:11.50俺はjavaだなー 楽だもん
0186デフォルトの名無しさん
2011/05/07(土) 22:14:01.73Javaのジェネリクスとか泥沼
0187デフォルトの名無しさん
2011/05/07(土) 22:15:46.440188デフォルトの名無しさん
2011/05/07(土) 22:16:39.59what(何を書きたいか)ベースだと C# の方が簡単だからなぁ。
0189デフォルトの名無しさん
2011/05/07(土) 22:17:02.060190デフォルトの名無しさん
2011/05/07(土) 22:19:26.700191デフォルトの名無しさん
2011/05/07(土) 22:27:23.38あとIDEが有料なだけあって無茶苦茶使いやすい
0192デフォルトの名無しさん
2011/05/07(土) 22:28:45.740193デフォルトの名無しさん
2011/05/07(土) 22:36:05.280194デフォルトの名無しさん
2011/05/07(土) 22:47:00.42でも、C#は外部のライブラリが少ない気がするし
0195デフォルトの名無しさん
2011/05/07(土) 23:01:24.12その点、C#はヘジたん萌えということで。
0196デフォルトの名無しさん
2011/05/07(土) 23:15:22.900197デフォルトの名無しさん
2011/05/07(土) 23:18:37.53あんなクラス関係が複雑になる手法よく使えるな。
0198デフォルトの名無しさん
2011/05/07(土) 23:22:51.38兄弟の悪口はやめようや
0199デフォルトの名無しさん
2011/05/07(土) 23:31:40.490200デフォルトの名無しさん
2011/05/07(土) 23:38:11.060201デフォルトの名無しさん
2011/05/07(土) 23:40:02.660202デフォルトの名無しさん
2011/05/07(土) 23:44:14.98だな、C#のイベントとデリゲート見たとき目から鱗落ちたよ
0203デフォルトの名無しさん
2011/05/07(土) 23:45:08.99int≠Integer=Int32なのか?
0204デフォルトの名無しさん
2011/05/07(土) 23:51:10.290205デフォルトの名無しさん
2011/05/07(土) 23:56:10.100206デフォルトの名無しさん
2011/05/08(日) 00:16:15.500207デフォルトの名無しさん
2011/05/08(日) 00:21:23.390208デフォルトの名無しさん
2011/05/08(日) 00:31:42.210209デフォルトの名無しさん
2011/05/08(日) 01:00:07.130210デフォルトの名無しさん
2011/05/08(日) 01:37:20.990211デフォルトの名無しさん
2011/05/08(日) 01:40:46.28論理シフトが使いたいような場面?
無きゃ無いでなんとかなるな
0212デフォルトの名無しさん
2011/05/08(日) 01:44:32.92c#の文法はだんだんc++化している気がして
0213デフォルトの名無しさん
2011/05/08(日) 02:08:22.84しかし逆にJavaはそれが無さすぎる
0214デフォルトの名無しさん
2011/05/08(日) 02:32:41.20アレを言語仕様に入れて本当に良かったのかな?
ラムダ式は素人お断り感があり、ダイナミックはバクの温床になりそうな予感
0215デフォルトの名無しさん
2011/05/08(日) 03:17:28.30文法もはっきり言うと糞
0216デフォルトの名無しさん
2011/05/08(日) 03:36:40.29俺もなると思うよ
0217デフォルトの名無しさん
2011/05/08(日) 04:03:41.30\があったら\\に置換したい。(なら@使えって言われそうだが)
ラムダ式で書くとどんな感じになるの?
0218デフォルトの名無しさん
2011/05/08(日) 04:05:29.920219デフォルトの名無しさん
2011/05/08(日) 04:07:10.580220デフォルトの名無しさん
2011/05/08(日) 04:08:43.28{
foreach(var c in source)
if(cond(c)) { yield return c; }
yield return c;
}
で、利用側は
var doubled = source.DoubleWhen(c => c == '\\');
とか。
0221デフォルトの名無しさん
2011/05/08(日) 04:10:23.80あれって中はどうなってるんでしょうか、ループ的なものが回ってるんでしょうか
0222デフォルトの名無しさん
2011/05/08(日) 04:15:25.59dynamicを使うとInteliSenceが効かなくなる(開発効率が大きく落ちる)ため、自然に乱用が抑制される。
事実、.NET4のOSSのソースを読めばdynamicが殆ど使われていないのが理解できるだろう。
dynamicの利用に適した分野(DLR言語との相互運用、一部のリフレクションの簡素化)では従来より効率的に開発できる。
0223デフォルトの名無しさん
2011/05/08(日) 04:17:40.13誰が普通のなんでもないコードでdynamic使うんだよw
0224デフォルトの名無しさん
2011/05/08(日) 04:47:29.590225デフォルトの名無しさん
2011/05/08(日) 04:52:18.43OSのイベント待ってるんじゃないかな。
OS機能でI/O待ちポートってのがある。
>>224
本物の○がいww
0226デフォルトの名無しさん
2011/05/08(日) 05:02:14.59OptionStrict Offの動作に似てるから
せっかくOptionStrict Onが普及したのにDynamic使うにはOffにしなきゃならんってアホか
0227デフォルトの名無しさん
2011/05/08(日) 05:58:41.130228デフォルトの名無しさん
2011/05/08(日) 06:03:13.55OptionStrict Offの動作に似てるから
せっかくOptionStrict Onが普及したのにDynamic使うにはOffにしなきゃならんってアホか
0229デフォルトの名無しさん
2011/05/08(日) 06:24:47.420230デフォルトの名無しさん
2011/05/08(日) 06:43:52.780231デフォルトの名無しさん
2011/05/08(日) 07:51:58.14スレタイ
0232デフォルトの名無しさん
2011/05/08(日) 09:30:45.690233デフォルトの名無しさん
2011/05/08(日) 09:31:31.14OptionStrict Offの動作に似てるから
せっかくOptionStrict Onが普及したのにDynamic使うにはOffにしなきゃならんってアホか
0234デフォルトの名無しさん
2011/05/08(日) 09:44:50.180235デフォルトの名無しさん
2011/05/08(日) 11:10:23.66WebProg板向けっぽいけど素直にLoginFailedだけ返せばいいんじゃない?
下手にUserNotFoundとか返してしまうと総当たりでリクエストされて
登録済みユーザ名を割り出されてしまったりするかもしれないし。
サービスのクライアント側で「ログインに失敗しました。未登録の場合は新規登録してください。」ってやってもらえばいいと思う。
0236デフォルトの名無しさん
2011/05/08(日) 11:32:15.88するけど、それはその方が安全だからというより政治的理由。
現実には熟練者にとってはStrict Offの弊害はまずない。(初心者にはある)
0237デフォルトの名無しさん
2011/05/08(日) 11:35:57.07習得が容易なことがメリットの言語にそんな熟練者が要るのか
0238デフォルトの名無しさん
2011/05/08(日) 11:39:21.00まるでインラインでJavaScriptを書いてるみたいにHTMLを操れる
0239デフォルトの名無しさん
2011/05/08(日) 11:46:24.350240デフォルトの名無しさん
2011/05/08(日) 11:50:13.32Option Sttict Offにすんの?
そうなら欠陥すぎるだろ
0241デフォルトの名無しさん
2011/05/08(日) 11:50:19.870242デフォルトの名無しさん
2011/05/08(日) 12:03:58.550243デフォルトの名無しさん
2011/05/08(日) 14:15:17.39・音量調整
・任意の位置から再生
・現在の再生位置取得
これらをやりたい場合、何を使用するのが適当でしょうか?
0244デフォルトの名無しさん
2011/05/08(日) 14:31:50.35MCI
WPF
Silverlight
DirectX Audio
0245デフォルトの名無しさん
2011/05/08(日) 14:32:04.230246デフォルトの名無しさん
2011/05/08(日) 14:45:42.040247デフォルトの名無しさん
2011/05/08(日) 14:49:43.420248デフォルトの名無しさん
2011/05/08(日) 14:58:43.400249デフォルトの名無しさん
2011/05/08(日) 15:04:39.860250デフォルトの名無しさん
2011/05/08(日) 15:09:06.78ゲーム開発には使うな だそうだ
位置付けが変わったんだな
0251デフォルトの名無しさん
2011/05/08(日) 16:26:56.980252デフォルトの名無しさん
2011/05/08(日) 16:31:44.73つLINQ
0253デフォルトの名無しさん
2011/05/08(日) 19:07:19.20コードを書く際、通常であれば 「 I 」みたいなマークでコードに文字を挿入できると思うのですが、
いつのまにか 「 長方形 」のような形のマークに変化していました。
ちょうど、ターミナル(Console)でよくみるようなやつです。
この状態で書きこむと、もともとあったコードに挿入できず、
どんどん上書きされていってしまうので、かなり不便です。
環境設定などを見てみたり、ググったりしてみたのですが、戻し方が分からないため
質問いたしました。よろしくお願いします。
0254デフォルトの名無しさん
2011/05/08(日) 19:08:24.74古今東西のエディタの基本機能だが
0255デフォルトの名無しさん
2011/05/08(日) 19:10:52.680256デフォルトの名無しさん
2011/05/08(日) 19:12:04.040257デフォルトの名無しさん
2011/05/08(日) 19:16:04.97ありがとうございます。解決しましたw
>>254, 255
あまりにも初歩的な質問をして申し訳ありませんでした。
お恥ずかしい限りですw
0258デフォルトの名無しさん
2011/05/08(日) 19:42:44.85asp.net <------> クライアント(flash)
クライアントではsession変数の中身を見ることができるのでしょうか?
ログインしていないユーザを弾くために、session変数に値を入れたいんです
後は将来的に他のデータを入れたり etc etc
0259デフォルトの名無しさん
2011/05/08(日) 19:52:52.63え、釣りじゃなかったのか。道は厳しそうだががんばって
0260デフォルトの名無しさん
2011/05/08(日) 19:59:40.85出来ない
セッション変数つーのはあくまでサーバー側のサービスに保持されてる値
セッションにユーザー情報入れるのは常とう手段だが、認証弾くのはあくまでサーバー
「他のデータ」もWebサービスのレスポンス内に入れるべき
0261258
2011/05/08(日) 20:04:56.19わかりました
session変数はとても楽なので、それを使ってflashと連携できたら良かったのですが
ありがとうございました
0262デフォルトの名無しさん
2011/05/08(日) 23:21:59.900263デフォルトの名無しさん
2011/05/09(月) 02:45:58.510264デフォルトの名無しさん
2011/05/09(月) 07:00:14.06ちょw
それやば……
0265デフォルトの名無しさん
2011/05/09(月) 22:05:10.59cucursol.positionでポインタ座標を変更したときにMousemoveイベントが発生してしまいます。
ユーザーがマウスを動かした時は発生し、カーソル座標をプログラムから変更した場合は発生しないというイベントを作るにはどのようにすればよろしいでしょうか?
0266デフォルトの名無しさん
2011/05/09(月) 22:17:02.792.プログラムから変更する直前にイベントハンドラ削除して
変更後に再設定する
3.ほかの人がもっとスマートな方法を思いつくのを待つ
のどれか。3がお勧め
0267デフォルトの名無しさん
2011/05/09(月) 22:24:32.94>>160の発想は素晴らしいと思うよw
0268デフォルトの名無しさん
2011/05/09(月) 22:31:32.72真面目な話。
0269265
2011/05/09(月) 22:46:42.50全ての方法を試させていただきましたが厳しいかんじですね・・・
あるいは私の考え方自体間違っているのかもしれません。
作っているのはカスタムコントロールでAdobe製品のような 「コントロール上で左右にドラッグすると数値が変わる」 というものです。
MouseMove内で前回のマウス位置と比較して数値をアップダウン、その後マウスポインタの位置を戻す という動作にしているのですがこの位置を戻す動作でもMouseMoveが発生し
ポインタが荒ぶってしまいます。
何かいい方法はあるのでしょうか
0270デフォルトの名無しさん
2011/05/09(月) 22:49:17.83そんなコントロールみたことない。
0271デフォルトの名無しさん
2011/05/09(月) 22:49:49.581 左ボタン押す
2 マウス移動
3 左ボタン離す
だろ?
コードを書くイベントを間違ってると思うぞ
0272デフォルトの名無しさん
2011/05/09(月) 22:51:11.33やりたいことの意味はわからなくもない
作業する場所は元のところなのにジェスチャーぽい動作で
ポイントを移動したらまた戻す動作が必要だからねえ
でもMoveで処理しなくてもいいと思うけどw
0273デフォルトの名無しさん
2011/05/09(月) 22:54:33.49そんな有難迷惑な機能実装されたら、ユーザーはジェスチャーするごとに
マウスを持ち上げて位置を修正しなきゃならなくなる。
ちょっと考えが浅いと思うよ。
0274デフォルトの名無しさん
2011/05/09(月) 23:00:44.15特定のコントロール依存ぽいしいいんでないの?
システム全体でそんな挙動されると困るけどw
0275デフォルトの名無しさん
2011/05/09(月) 23:04:55.750276デフォルトの名無しさん
2011/05/09(月) 23:08:39.61マウスポインタをいじる必要はない。
0277265
2011/05/09(月) 23:26:22.11確かに私自身も使いにくいと思っています。ですのでONOFFできるようにしてあります。それと勉強が目的・・・ということでお願いします。
どのイベントで、ということですがドラッグの中で一番長い動作はやはりポインタの移動ですし移動で数値が変わりますので常に移動を補足する必要がある・・・ということでMove内で処理
しております。クリック判定もMove内で行っております。
とりあえずの結論としましてはドラッグ中はマウスポインタを非表示にし、マウスが離されたときに座標を変更するということにしました。
ありがとうございました
0278デフォルトの名無しさん
2011/05/10(火) 06:27:24.64MouseDown → 位置判定、該当位置ならフラグ1立てる
MouseMove → フラグ1立ってるなら値変更、スライダー移動。フラグ2が立ってるなら何もしない
MoseUp → フラグ1おろす。フラグ2立てる。マウスの座標変更。フラグ2おろす。
でいけるじゃん
0279デフォルトの名無しさん
2011/05/10(火) 09:33:46.840280デフォルトの名無しさん
2011/05/10(火) 11:25:19.60で質問です。
現在DataTableに取得してきたSqlServerのデータにフィルタをかけたいと思っていますが
うまく実現できません。
Table定義
Col1 Date(SqlServerの型)
Col2 Time(0)(SqlServerの型)
Col3 String(SqlServerの型)
Col1は取得時にWHERE句で必要外のデータをはじきとばしているので必要ありませんが一応記述しています、
問題はCol2のTime(0)です。
.netではTimeSpanになると思いますが、DataTable.Select("Col2 = ???")
上記の???の部分に何を入れればよいのかが判りません。
判らないのでひとまず暗黙変換でも行けるかな?と思い
Col2='09:00:00'のようにしても
System.TimeSpan および System.String で '=' 操作を実行できません。
と怒られてしまいます。
2.0で作っている人も使う可能性があるので可能であればSelectを使用する方法と
Linqを使う方法をお教えいただければと思います。
最悪DBへ時刻毎に取得しに行けばいいのでしょうが15分ごとの1日分の問い合わせになる為、回数を減らす為に子のようにしたいと思っています。
よろしくお願いいたします。
0281デフォルトの名無しさん
2011/05/10(火) 12:03:23.07秒単位まで完全に一致してるかどうかならStringにCONVERTすればできないでもないけど
まあ普通にループ回してDataRowごとにチェックしていけばいいんじゃね
SELECTするときにdatetimeに変換してしまう方が楽かもしれんね
0282デフォルトの名無しさん
2011/05/10(火) 13:10:16.00情報ありがとうございます。
素直にDB設計を見直した方がいいかもしれませんね
ちょっとTime使うのは早かったか・・・・
ありがとうございました。
0283デフォルトの名無しさん
2011/05/10(火) 13:30:43.370284デフォルトの名無しさん
2011/05/10(火) 18:25:26.80俺も
convert(col2,'System.String')='09:00:00'
で行けると思ったんだが、どうもうまく動かないようだ
convert後の文字列が素直に09:00:00のような形式ではないみたい
ということで
>SELECTするときにdatetimeに変換してしまう方が楽かもしれんね
この意見に賛同
ちなみに2.0でSQLServerのTime型とかサポートしてないんじゃね?
0285デフォルトの名無しさん
2011/05/10(火) 20:54:59.55そういうのはReactive Extensionsを使うとすっきり書けるんだけどね。
0286デフォルトの名無しさん
2011/05/11(水) 00:56:46.00つーのはbatファイルから実行できないの?
たとえばnotepad.bat
っていうのにnotepadとだけ書いてて、
それをダブルクリックしたらメモ張がでてくるよね
でもProcess.Start("d:\notepad.bat");
ってやっても、黒いコマンドプロンプトが一瞬出てきて、メモ張は出てこないで終わり。
直接Process.Start("notepad")ってやればいいとかじゃなく、
今はどうしても理由あってbatファイルから実行したいんだけど
普通にnotepad.batをダブルクリックしたのと同じように動作させるにはどうしたらいい?
0287デフォルトの名無しさん
2011/05/11(水) 01:13:07.10普通にこれで十分 なのでどっかでバカやってるんだろう
実は例外出てたけど握りつぶしてたとか
0288デフォルトの名無しさん
2011/05/11(水) 01:16:08.62でいけたぞ。
0289デフォルトの名無しさん
2011/05/11(水) 01:16:36.95"d:\\notepad.bat"または@"d:\notepad.bat"
>>285
Rx使いこなす初心者とかこわい
0290デフォルトの名無しさん
2011/05/11(水) 02:14:15.350291デフォルトの名無しさん
2011/05/11(水) 03:11:27.60・継承する
・そのクラスをフィールドに持つクラスを作る
といった方法があるようだけど、下の方法は継承するのと比べてどういう利点があるの?
0292デフォルトの名無しさん
2011/05/11(水) 03:19:37.25コードを書くのが楽しくなる
0293デフォルトの名無しさん
2011/05/11(水) 03:23:35.890294デフォルトの名無しさん
2011/05/11(水) 08:45:00.71でググれば俺より優秀な誰かが解説してくれてると思う
0295デフォルトの名無しさん
2011/05/11(水) 10:26:06.76(1) Queue<T>を生のまま使う
(2) Queue<T>を、操作するときにはlockするようにして使う
(3) ConcurrentQueue<T>を使う
のどれが相応しいですか?
以外と(1)でどうにかなったりしますか?
場合によるっていう場合は、「こんなケースならこれ使う」ってので結構です。
0296デフォルトの名無しさん
2011/05/11(水) 10:28:04.160297デフォルトの名無しさん
2011/05/11(水) 10:47:58.210298デフォルトの名無しさん
2011/05/11(水) 11:46:51.662.0〜3.5なら2
じゃないかな?
0299デフォルトの名無しさん
2011/05/11(水) 12:46:24.37.NET 4なので最初(3)で考えていたのですが、しばらくして
「ConcurrentQueueを使うのはもしかして大袈裟なのではないか?」
という妙な感覚にとらわれ、不安になっていたところでした。
ありがとうございます。(3)で行こうと思います。
0300デフォルトの名無しさん
2011/05/11(水) 17:51:37.560301デフォルトの名無しさん
2011/05/11(水) 17:56:55.950302デフォルトの名無しさん
2011/05/11(水) 18:01:17.730303デフォルトの名無しさん
2011/05/11(水) 19:14:24.33C#とか最近の言語使ってるとよくこの心境になるよね
0304デフォルトの名無しさん
2011/05/11(水) 19:18:12.400305デフォルトの名無しさん
2011/05/11(水) 19:24:07.090306デフォルトの名無しさん
2011/05/11(水) 19:25:18.540307デフォルトの名無しさん
2011/05/11(水) 19:26:23.630308291
2011/05/11(水) 20:22:46.550309デフォルトの名無しさん
2011/05/11(水) 23:21:41.81ちなみに、「Microsoft Windows [Version ***]」と「Copyright (c) 2009 Microsoft ***」の2行と、実行したコマンドは受け取れてます
受け取る方法は無いでしょうか?
0310デフォルトの名無しさん
2011/05/11(水) 23:29:02.89ttp://www.atmarkit.co.jp/fdotnet/mthread/index/index.html
他に、これも読んどけってのあったら教えて
0311デフォルトの名無しさん
2011/05/11(水) 23:33:35.76怒られてしまいました。
(マイナスならできるのに)
なにかいい手立てはありますか?
ts = DateTime.Now - ATime + BTime
0312デフォルトの名無しさん
2011/05/11(水) 23:35:01.33に加算する機能なかったっけ?
0313デフォルトの名無しさん
2011/05/11(水) 23:36:36.35時刻+時間は時刻
で、.NETで時間を表す型といえば?
0314デフォルトの名無しさん
2011/05/11(水) 23:37:39.720315デフォルトの名無しさん
2011/05/11(水) 23:41:19.120316311
2011/05/12(木) 00:08:28.45http://msdn.microsoft.com/ja-jp/library/system.datetime.op_addition.aspx#Y200
これかな。。。。
情報が少ない・・・。
ありがとう。ちょっと頑張ってみます。
0317デフォルトの名無しさん
2011/05/12(木) 00:16:13.14古い、かな。
今はTaskなど新しいものが色々入っていて、基本的には新しいのを使うべきなので。
http://msdn.microsoft.com/ja-jp/library/dd460693.aspx
http://www.albahari.com/threading/
などを見るといいのではないかな。
0318デフォルトの名無しさん
2011/05/12(木) 00:18:15.550319デフォルトの名無しさん
2011/05/12(木) 00:19:10.490320デフォルトの名無しさん
2011/05/12(木) 00:33:54.840321デフォルトの名無しさん
2011/05/12(木) 00:38:47.320322デフォルトの名無しさん
2011/05/12(木) 00:39:21.870323デフォルトの名無しさん
2011/05/12(木) 00:42:02.110324デフォルトの名無しさん
2011/05/12(木) 00:45:03.410325デフォルトの名無しさん
2011/05/12(木) 01:01:01.84パラメータや戻り値が利用可能なデリゲートを使ったBeginInvokeなマルチスレッドと比較して
System.Threading.Tasks.Task<TResult> の型を使用して Result プロパティから値を返す方法のデメリット
ってなにかありますか?。
0326デフォルトの名無しさん
2011/05/12(木) 02:29:23.930327デフォルトの名無しさん
2011/05/12(木) 03:04:29.72デメリットないよ。
しいて言うなら、40バイトくらいだったかな、余計にメモリ食う。
.NET 4以降は全部Task使えばいいと思う。
0328デフォルトの名無しさん
2011/05/12(木) 03:13:11.34InvalidOperationException
0329デフォルトの名無しさん
2011/05/12(木) 08:05:55.83爆発する
0330デフォルトの名無しさん
2011/05/12(木) 08:26:15.900331デフォルトの名無しさん
2011/05/12(木) 13:42:38.550332デフォルトの名無しさん
2011/05/12(木) 14:18:51.310333デフォルトの名無しさん
2011/05/12(木) 14:23:41.410334デフォルトの名無しさん
2011/05/12(木) 20:49:51.790335デフォルトの名無しさん
2011/05/12(木) 21:03:51.700336デフォルトの名無しさん
2011/05/12(木) 21:10:14.220337デフォルトの名無しさん
2011/05/12(木) 21:33:18.54使い方はこうですか
if (this.myDream.All(dream => dream.IsDead)) {
this.die();
}
0338デフォルトの名無しさん
2011/05/13(金) 13:24:55.54ここの記事のままシリアライズで保存するとデータが丸見えなので多少いじって暗号っぽくしたいと思います
目的地をファイルではなくてstringの変数にできますか?
それとも一度保存して再度ひらいて取り込むのが簡単かな
0339デフォルトの名無しさん
2011/05/13(金) 13:42:01.940340デフォルトの名無しさん
2011/05/13(金) 13:54:36.00テキストをchar++で一文字ずらしたりした方が簡単かなって思ったんだ
0341デフォルトの名無しさん
2011/05/13(金) 13:59:01.86その上で暗号化してファイル出力
読み込むときはその逆でいいんじゃね?
まあ.netだとあっさりばれそうだけどw
0342デフォルトの名無しさん
2011/05/13(金) 14:02:09.660343デフォルトの名無しさん
2011/05/13(金) 14:07:55.42xs.Deserialize(new DeflateStream(s, CompressionMode.Decompress));
こうか。
0344338
2011/05/13(金) 14:14:28.020345デフォルトの名無しさん
2011/05/14(土) 00:41:25.12Sortしろ、ってことなんですかね?
DataGridViewってよくわからん。
0346デフォルトの名無しさん
2011/05/14(土) 00:55:41.080347デフォルトの名無しさん
2011/05/14(土) 07:20:15.21DLLファイルで海外の人が作ったものなので日本語に対応していないとは思うのですが、
何かいい方法はありますか?
http://sourceforge.jp/projects/sfnet_idsharp/
.NET系なのでここで質問させてもらったのですが、
このスレッドで聞いたほうがいいよ、って言うのもあったらお願いします。
0348デフォルトの名無しさん
2011/05/14(土) 07:42:54.00自分で読み込み時にエンコーディング指定できるように直せ
0349デフォルトの名無しさん
2011/05/14(土) 07:47:14.91違う。仕様に忠実に作ってるだけ。
0350デフォルトの名無しさん
2011/05/14(土) 08:36:22.06仕様ではISO8859-1で入っていることになってるんだけど、
日本ではShift-JISで入れたりしてるんだよね
それをISO8859-1で読むから文字化けする
IdSharpの使い方調べてないけど、TextEncodingが0だったら
そのタグの生データをShift-JISとして扱えばいいんじゃない?
0351デフォルトの名無しさん
2011/05/14(土) 08:50:16.71http://www.google.co.jp/search?q=taglib-sharp&ie=utf-8&oe=utf-8&aq=t&hl=ja&client=firefox-a&rlz=1R1GGLL_ja___JP405
Monoに取り込まれているから安定している。何も指定しなくても色々なコーデックに対応しています
WindowsAPI Code Pack
http://archive.msdn.microsoft.com/WindowsAPICodePack
MSご謹製のライブラリ、上ほどは対応コーデックは少ないけど、逆に音楽動画以外にも対応
0352デフォルトの名無しさん
2011/05/14(土) 09:13:51.40ダウンロードした中にソースがなかったもんで…。利用側のソースはあったのですが…
0354デフォルトの名無しさん
2011/05/14(土) 20:23:14.82言語のバージョンがいまいち何を指してるかわかりませんが。
0355デフォルトの名無しさん
2011/05/14(土) 20:42:52.000356デフォルトの名無しさん
2011/05/14(土) 21:29:51.93ありがとうございます
0357デフォルトの名無しさん
2011/05/14(土) 21:32:04.46バージョンごとに追加された機能についてはここがまとまってるな
0358デフォルトの名無しさん
2011/05/14(土) 23:02:54.37ttp://msdn.microsoft.com/ja-jp/magazine/gg598924.aspx
0359デフォルトの名無しさん
2011/05/15(日) 00:22:15.26WHERE句が常に使われてしまいます。
名前が入力されている場合だけ条件に名前を加えて、
性別が選択されている場合だけ性別を条件に加える
と言うようなことをしたいのですが、どのように設定すればよいでしょうか?
TableAdapter.Adapter.SelectCommandをプログラムで変更しようとしたのですが、
一度TableAdapter.FillやGetDataを実行しないとSelectCommandがnullのようでした
また、OleDbCommandを自分で生成してTableAdapter.Adapter.SelectCommandに設定しても、適用されませんでした
今は、一度GetDataを実行してSelectCommandを生成し、そのSelectCommandをプログラムで変更する
と言う回りくどいやり方をしています
うまいやり方があれば教えてくださいm(__)m
0360デフォルトの名無しさん
2011/05/15(日) 07:35:09.94NAME = 'name' OR NAME = ''
で事足りるな
0361デフォルトの名無しさん
2011/05/15(日) 10:49:13.06ProgressChangedは進行状況を通知するたびに
TaskSchedulerを使用して別Taskを作成して、そのなかで通知って形になるのでしょうか?
0362デフォルトの名無しさん
2011/05/15(日) 11:17:29.430363デフォルトの名無しさん
2011/05/15(日) 12:30:20.96<category>
<item property='Setting1' value='true'>
<item property='Setting2' value='false'>
<item property='Setting3' value='false'>
<item property='Setting4' value='true'>
<item property='Setting5' value='false'>
</category>
これを読み込んで checkedListBox に適用してるんだけど、
読み込んだ checkedListBox 上でチェック状態を操作したときに XML 側にもリアルタイムに反映させる良い方法無いですか?
0364デフォルトの名無しさん
2011/05/15(日) 12:58:06.08普通にCheckedChangedで
XMLってメモリ上のDOMだよな? ファイルを都度書き換えるとか言わないよな?
0365デフォルトの名無しさん
2011/05/15(日) 17:25:05.46TableAdapterは基本的にコードでクエリを変更するようなものじゃない
あらかじめクエリを作って追加しとけ
>>360
データベースにはNULLって概念があってな
正しくNULLをとりあつかうDBだとそれじゃまずいんだが
0366デフォルトの名無しさん
2011/05/15(日) 19:09:02.24性別は数値ですが、ちょっと良く分からなかったです
その条件だと意図しないレコードも抽出されてしまう気がしますが、理解不足かもしれません
>>365
あらかじめクエリを作っておく場合、名前と性別だけの簡単な検索フォームでも4種類のクエリを作らないといけないのでしょうか
このような検索フォームを作る時、みなさんどんなやり方で作ってますか?
デザイナが作成する型付きデータセットはあまり使われないのでしょうか
0367デフォルトの名無しさん
2011/05/15(日) 19:11:27.08名前が登録されていないレコードを抽出するのではなく、名前の条件は指定せずに検索します
名前入力あり: select * from member where name = PARAMETER
名前入力なし: select * from member
0368デフォルトの名無しさん
2011/05/15(日) 19:19:36.88and (@sex is null or SEX = @sex)
常套手段
0369デフォルトの名無しさん
2011/05/15(日) 19:33:07.92一つのクエリでやるなら>>368でOKなんだが
それをやりたくないって話じゃなかったのか
俺なら動的SQL作るようなのは直接OleDbDataAdapterかOleDbCommandで実行する
型付きデータセットは使うかもしれんがTableAdapterは使わん
0370デフォルトの名無しさん
2011/05/15(日) 21:15:08.950371デフォルトの名無しさん
2011/05/15(日) 22:35:50.86Control + Backspace が押されたときに、
テキストボックスを全消去するメソッドを作成しました。
それ自体はうまく動いているのですが、
「Control + backspace」という組み合わせを押した際に、
テキストボックス上に変な文字が一文字追加されます。
webブラウザに貼りつけてみたところ、文字化けしていました。
連続して Control + backspace を押しても、
一つしか表示されないため、おそらく全消去後に追加された文字だと思います。
どのようにして、これの表示をなくすことができますでしょうか。
0372デフォルトの名無しさん
2011/05/15(日) 22:45:01.99KeyDownでSuppressKeyPress使えば文字入力をキャンセルできるよ
0373デフォルトの名無しさん
2011/05/15(日) 22:46:45.56あとはTextChangedイベントとかハンドルしてデバッグすれば?
0374デフォルトの名無しさん
2011/05/15(日) 22:54:55.14ああ、すいません。KeyDown です。
なるほど。
とりあえず、それらを試してみます。非常に助かりました。
ありがとうございます。
0375デフォルトの名無しさん
2011/05/15(日) 23:26:07.32ありがとうございます
ようやく理解しました
0376デフォルトの名無しさん
2011/05/15(日) 23:27:43.01たしか理論値で e = 2.71828.... あたりがベストなんだとか。
0377デフォルトの名無しさん
2011/05/15(日) 23:41:13.08時期バージョン(今はまだCTP)には IProgress<T> インターフェイスが入る。
↓みたいなの作って、イベント登録した上でTaskに渡しておく。
interface IProgress<T> { void Report(T value); }
class Progress<T> : IProgress<T>
{
public EventHandler<T> ProgressChanged;
protected virtual OnReport(T value){}
void IProgress<T>.Report(T value){}
}
0378デフォルトの名無しさん
2011/05/15(日) 23:50:13.70あと、dllで利用している関数で、ファイルの先頭ポインタを受け取るものがあります。
仮に、
void cFunction(void* pointer);
とします。
これを、C#で
extern static void cFunction(IntPtr p);
として定義した場合、
C#のpに、ファイルのポインタを与えるにはどのようにすればよいでしょうか?
0379デフォルトの名無しさん
2011/05/16(月) 00:00:41.77Cでどうやって使うのか教えてくれ
0380デフォルトの名無しさん
2011/05/16(月) 00:01:08.01MemoryMappedViewStream.PositionPointer使うのが一番楽かね .NET 4以降だけど
0381デフォルトの名無しさん
2011/05/16(月) 00:04:59.41えーっと、Cのマニュアルには
void *p = file_load(" this is path ");
someFunction(...., p);
と書いてありますね。
関係ないとこは省略したりしましたが。
0382デフォルトの名無しさん
2011/05/16(月) 00:07:31.010383デフォルトの名無しさん
2011/05/16(月) 00:08:21.69file_loadはどっから出てきた?
0384デフォルトの名無しさん
2011/05/16(月) 00:10:54.85その場合は、
そのfile_load関数をラップするC/C++の関数を作成し、それをdllなどとする。
それをC#で利用する。
という手順となりますか?
申し訳ないです。初歩的な質問で。
0385デフォルトの名無しさん
2011/05/16(月) 00:12:25.12file_loadのドキュメントを見ない限りはわからん
なんか変なライブラリ使ってるんだろ? それを教えなさい
0386デフォルトの名無しさん
2011/05/16(月) 00:16:02.70ああ、たしかに。こんな関数見たことないですね。
。。。
下に定義ありました。申し訳ないw
void * file_load(const char * file, int * psize) {
FILE *fp; char *data;
struct _stat st;
*psize = 0;
if( _stat(file, &st)!=0) return NULL;
if((data=(char *)malloc(st.st_size))==NULL){ fprintf(stderr,"can not alloc memory(file_load)¥n"); return NULL;
}
if((fp=fopen(file,"rb"))==NULL) { free(data);
perror(file); return NULL;
} if(fread(data, 1, st.st_size, fp)<(unsigned)st.st_size) {
fprintf(stderr,"can not read data (file_load)¥n"); free(data); fclose(fp); return NULL;
} fclose(fp); *psize = st.st_size; return data;
}
ベタ張りで申し訳ないです。
読み込んだ「データ」を返してますね。
0387デフォルトの名無しさん
2011/05/16(月) 00:20:39.93AquesTalk2というライブラリを使っています。
0388デフォルトの名無しさん
2011/05/16(月) 00:22:01.30そういうことならたぶんこれでいける
byte[] data = File.ReadAllBytes("this is path");
fixed (byte* p = &data) { cFunction((IntPtr)p); }
ただしcFunctionから戻った後も渡したポインタが使用される可能性がある場合は
GCHandleを割り当てる必要があるのでこれじゃダメ
0389デフォルトの名無しさん
2011/05/16(月) 00:23:42.74C#で file read -> byte[] に格納
Intptr に先頭アドレスをいれる。(キャストだけでおk?)
それを、目的の関数にいれてやる
という流れでいけそうだなと、素人ながらに思いましたw
0390デフォルトの名無しさん
2011/05/16(月) 00:26:44.48なるほど。参考になります。
再利用は「それほど大きいファイル」じゃないので、必要ないかと思いますが、
せっかくですので、勉強がてら GCHandle というやつを追加してみます。
また分からなければ、明日の夜に来ます。
ありがとうございました。
0391388
2011/05/16(月) 00:31:35.38AquesTalkのマニュアルを見てみたが、非同期再生を行う関数を使う場合はたぶん>>388ではダメ。
ファイルの大きさとかいう問題じゃなくて、GCによって移動されてポインタが無効になるのでぶっ壊れる。
勝手に移動されないようにするにはGCHandle.AllocでGCHandleType.PinnedなGCハンドルを割り当てる。
0392デフォルトの名無しさん
2011/05/16(月) 00:38:12.92了解です。
「ファイルの大きさが小さい」というのは、毎回ファイルを読み込んでも、
特に問題ないという意味ですw
うーん、Cについて勉強しなおしたほうがよさそうですねw
本当に助かりました。明日、仕事があるのでこのへんで失礼します。
0393デフォルトの名無しさん
2011/05/16(月) 08:30:05.45//このブロック内でのみpは有効
非同期再生((IntPtr)p);
}
GCはメモリ上のオブジェクトを勝手に移動させることがある。
fixedブロックを抜けた時点で再生は続いているためpは再生が終わるまで
dataを指し続けなければいけないが、それは保障されないので、
GCによってdataの移動が行われた時点でまだ再生が続いていたら死亡。
0394デフォルトの名無しさん
2011/05/16(月) 09:20:01.870395デフォルトの名無しさん
2011/05/16(月) 22:16:53.61「コマンドラインやデバッガからWindows サービスを開始できません。
最初にinstallutil.exeを実行して Windowsサービスを新ストールし、
ServerExplorer、Windows Services Administarative ツール、
またはNETSTARTコマンドを使用してください。」
というWindowsサービス開始エラーが出ます。
Debugの時には起きなかったし、VisualStudio2008のWindowsサービステンプレートに
何も書き加えない状態ではReleaseでも正常にインストール出来るみたいなんですが、
インストーラの設定などに不備があると考えられるのでしょうか?
0396デフォルトの名無しさん
2011/05/16(月) 22:45:11.76まだ、win32api + C の世界なんじゃないかなと想像してみる。
0397デフォルトの名無しさん
2011/05/16(月) 23:10:19.27結局、unsafe は使いたくなかったので、
クラスフィールドとして、
private static byte[] b = null;
private static IntPtr ptr;
を用意し、
メソッド内にて、
public static byte[] method(){
if(b == null){
b = File.ReadAllBytes("path to file");
ptr = Marshal.AllocHGlobal(b.Length);
Marshal.Copy(b, 0, ptr, b.Length);
}
...
int size = 0;
IntPtr ptr2 = SomeMethod(..., ref size, ptr);
return getByteArray(ptr2, size);
}
のような形で使っています。
これなら開放されないと思っています。。。(たぶん。)
0398デフォルトの名無しさん
2011/05/16(月) 23:55:02.02列の幅を変えるのに列の端をマウスでドラッグできますが、ドラッグがDataGridViewの端で止まってしまいます。
ListViewみたいにListViewの大きさを超えても、ぐいーっと伸ばして列幅を変更するやり方はありませんか。
0399デフォルトの名無しさん
2011/05/17(火) 00:08:00.85あれはダミーの列を一番右に入れてやるんじゃなかったかな。
DataGridViewだって同じやり方が有効では?いや知らんけど
0400デフォルトの名無しさん
2011/05/17(火) 00:27:39.98[DefaultValue("Text")]
[Browsable(true)]
public override string Text
{
set
{
_text = value;
Invalidate();
}
get { return _text; }
}
上記のように書いているのですが、コントロールを追加したときのTextがコントロール名になってしまいます。
初期値をDefaultValueで指定した値にするにはどうしたらいいでしょうか?
0401デフォルトの名無しさん
2011/05/17(火) 00:33:38.27DefaultValueAttribute は、属性の値でメンバーを自動的に初期化させることはありません。 コード内で初期値を設定する必要があります。
0402デフォルトの名無しさん
2011/05/17(火) 00:35:57.48実際の動作には全く関係ない
0403デフォルトの名無しさん
2011/05/17(火) 00:42:31.40返事が遅くなりました。
IDSharpの元ソースを見つけて修正することができました。
ご指摘どおり仕様でShift-JISはISO8859-1で読むことになっていたため
(Unicodeは判別して別の処理に振り分ける仕様になってました。)
生データでShift-JISかどうかの判定式を持って振り分けることにしました。
順調に表示されています。ありがとうございました。
0404デフォルトの名無しさん
2011/05/17(火) 00:44:08.03TabControlのDrawModeプロパティをTabDrawMode.OwnerDrawFixedにして、
描画を実装すれば実現できるのでしょうか?
似たようなUIでサンプルコードなどがあれば教えてもらえると助かります。
0405デフォルトの名無しさん
2011/05/17(火) 00:45:48.86確か、
(1) コンストラクタか何かでプロパティをデフォ値で初期化
(2) デザインモード時のみ、プロパティのセッタが最初に呼び出された時、
valueが"ControlName*"だったら無視する。
ぐらいしか手が無かったような。
何かもっといい方法あったっけな
0406デフォルトの名無しさん
2011/05/17(火) 02:40:57.240407デフォルトの名無しさん
2011/05/17(火) 06:36:52.97KeyPressイベントは日本語入力中は発生しないようで、
KeyDownイベントでe.KeyCode、e.KeyData、e.KeyValueを調べてみましたが、
入力された文字列を取得することはできないようでした
0408デフォルトの名無しさん
2011/05/17(火) 06:39:23.73日本語入力中はtextbox上でやってるように見えるけど
あれはIMEの制御下
textboxだとIME関連のメソッドとかなかったっけ?
0409デフォルトの名無しさん
2011/05/17(火) 07:19:17.21ありがとうございます
大変そうな予感がするのでやらないことにします
0410デフォルトの名無しさん
2011/05/17(火) 08:39:33.97フォームのデザイナからコンボボックスのDataSourceなどのプロパティを設定したい場合、
ユーザコントロールにそれ用のプロパティを設定しないといけないのでしょうか?
0411デフォルトの名無しさん
2011/05/17(火) 09:17:35.93・コンボボックスのデータソースプロパティが見えない
・スマートタグを出したい
上ならプロパティ付け加えて見えるようにするしかないすよ
0412デフォルトの名無しさん
2011/05/17(火) 09:36:55.11ありがとうございます、上です(スマートタグって何でしょう)
プロパティ自分で追加したらフォームのデザイナから設定できるようになりました
また、ユーザコントロールのSizeを設定したらコンボボックスのSizeも同じ値にしたいので、
Sizeプロパティを次のように書いたらVisualStudioが落ちちゃいました
名前が色々被ってるので怪しいとは思ったんですが、Sizeプロパティを変更したい場合はどのように記述すればよいでしょうか
public System.Drawing.Size Size
{
get
{
return this.Size;
}
set
{
this.Size = value;
this.comboBox1.Size = value;
}
}
0413デフォルトの名無しさん
2011/05/17(火) 10:16:14.780414デフォルトの名無しさん
2011/05/17(火) 10:19:52.06Dockが使えない状況なんです。
0415412
2011/05/17(火) 10:30:03.51>>414は>>412ではないですが、Dockだとダメなんです
目的はFixedSingleの枠線のあるComboBoxで(他にもありますが)、
UserControlのBorderStyleをFixedSingleにして、
ComboBoxのLocationを-1, -1、SizeをUserControlと同じにすると見た目がそれっぽくなります
DockをFillにしてしまうとLocationがずれてしまうので、ちゃんとSizeを設定できるやり方はないかなと
UserControlのResizeやSizeChangedイベントで設定できますが、出来ればSizeプロパティのoverrideの仕方が分かればありがたいです
0416412 ◆Sf4YYPJJPE
2011/05/17(火) 10:38:04.20Dockだと望んだ動作をしない上、VisualStudioがエラーを出します。
0417デフォルトの名無しさん
2011/05/17(火) 11:07:25.500418デフォルトの名無しさん
2011/05/17(火) 12:13:58.800419デフォルトの名無しさん
2011/05/17(火) 12:55:16.400420デフォルトの名無しさん
2011/05/17(火) 12:58:59.03幅だけは変えられたが
0421412
2011/05/17(火) 13:31:27.07>>419 それでも出来ますが、今はSizeのsetをどうやったら変更できるか知りたいです
>>420 幅さえ変えられれば無問題です
0422デフォルトの名無しさん
2011/05/17(火) 14:14:36.09それならSizeじゃなくてWidth変更だな
0423412
2011/05/18(水) 00:23:11.83みなさんありがとうございました。
0424デフォルトの名無しさん
2011/05/18(水) 00:28:55.27とかローカル変数に対して不偏であることを設定することはできないのですか?
0425デフォルトの名無しさん
2011/05/18(水) 00:41:03.560426デフォルトの名無しさん
2011/05/18(水) 01:01:20.38どんな構文ですか?
0427デフォルトの名無しさん
2011/05/18(水) 01:08:09.26const int a = hoge.aho();
0428デフォルトの名無しさん
2011/05/18(水) 01:10:46.01readonlyはだめ?
0429デフォルトの名無しさん
2011/05/18(水) 01:11:46.66>>424
参照型持ってる言語で、ローカル変数の不変性保証って難しいのよ。
let x = new Class();
x = anotherInstance; // これを不可にするのは簡単
x.Property = 1; // これを不可にしたければ、Classの方を不変に作らないと無理。
0430デフォルトの名無しさん
2011/05/18(水) 01:13:00.04そう、const付けれるのはコンパイル時に解決できる数値と文字列に限られる。
readonlyはローカル変数には付けれない。
0431424
2011/05/18(水) 01:19:14.650432424
2011/05/18(水) 01:22:50.010433デフォルトの名無しさん
2011/05/18(水) 01:47:25.900434デフォルトの名無しさん
2011/05/18(水) 01:50:40.290435デフォルトの名無しさん
2011/05/18(水) 02:06:35.31どーせ自分しか使わないからどんなでもいいんだけど。
他人の書いたコード読んで命名センスを磨くのは大事だと思った。寝る。
0436デフォルトの名無しさん
2011/05/18(水) 10:35:49.51つ
クラス名・変数名に迷ったら書き込むスレ。Part19
http://hibari.2ch.net/test/read.cgi/tech/1293201229/
0437デフォルトの名無しさん
2011/05/18(水) 13:51:01.01DataGridViewTextBoxCellを継承してテキストとアイコンを描画できるセルを作りたいと考えています.
現地点ではDataGridViewTextBoxCellのPaintをオーバライドして,テキストとアイコンを表示できるようにしました.
ところでDataGridViewはヘッダの境界をダブルクリックすると自動的に最適なカラム幅に変更する機能があります.
今の自分のプログラムでへッダの境界をダブルクリックすると,テキストのみ表示した場合の最適なカラム幅に調整されます.
最適なカラム幅を自分で設定したいのですが,どのメソッドをオーバライドすればよいのでしょうか?
0438デフォルトの名無しさん
2011/05/18(水) 14:17:51.44データソースに型付きデータセットのテーブルを設定しているのですが、
デフォルトの状態ではセルに入力をして次のセルに移動しようとすると自動で入力チェックが実行され、
エラーだとセル移動できず、入力を訂正しないとフォームを閉じることすら出来ないようでした。
DataGridView.DataErrorイベントをハンドルして、DataGridViewDataErrorEventArgsのCancelをfalseにすると、
フォーカスは移動できるけど入力内容は元に戻る、と言う感じで、また一から入力し直す必要があり煩雑です。
自動でチェックを行わせないようにして、登録ボタンクリック時に一括でチェックをする
もしくは
自動でチェックし、エラーならセル移動はできないが、フォームは閉じれる
という方法がお分かりであれば教えて頂きたいと思います。
よろしくお願いします。
0440デフォルトの名無しさん
2011/05/18(水) 16:21:46.96DataErrorイベントハンドラを追加して、そのメソッドに何も書かなかった場合は、
やはりセル移動できず、フォームを閉じることもできない状態でした
DataSet.EnforceConstraintsをfalseにするとか、DataTable.Row.BeginEdit()を呼び出すと入力チェックを抑制できる
という記事を見つけて試してみましたが、やはりダメでした
0442デフォルトの名無しさん
2011/05/18(水) 22:24:15.98読み取り専用で,書き込めないです.
0443デフォルトの名無しさん
2011/05/18(水) 22:44:00.010444デフォルトの名無しさん
2011/05/19(木) 08:25:54.01プロパティです.
オーバライドもできません.
0445デフォルトの名無しさん
2011/05/19(木) 09:35:00.95class DataGridViewUnkoCell : DataGridViewTextBoxCell
{
protected override Size GetPreferredSize( Graphics graphics, DataGridViewCellStyle cellStyle, int rowIndex, Size constraintSize )
{
return base.GetPreferredSize( graphics, cellStyle, rowIndex, constraintSize );
}
}
0446デフォルトの名無しさん
2011/05/19(木) 09:36:59.340447デフォルトの名無しさん
2011/05/19(木) 09:55:28.50DataGridViewTextBoxColumnの方なら,PrefferedSizeの設定ができました.
解決しました.ありがとうございました.
0448デフォルトの名無しさん
2011/05/19(木) 11:37:33.73Obj obj = new Obj();
aryObj.Add(obj);
ArraylistにObj型の変数を追加した後、
aryObj.Clear();
をしたらobjの中のデータもクリアされますか?
0449デフォルトの名無しさん
2011/05/19(木) 11:41:23.940450デフォルトの名無しさん
2011/05/19(木) 12:02:27.880451デフォルトの名無しさん
2011/05/19(木) 12:08:53.75他の変数やコレクションにも保持されてたら、たとえaryObjをClearしても、そこからアクセスできる。
どこからも参照されていないオブジェクトはいずれガーベジコレクションによって消去される。
そのオブジェクトの中身は関係ない。外側の問題。
0453デフォルトの名無しさん
2011/05/19(木) 16:25:13.75DataGridViewでレコード追加
this.テーブル名TableAdapter.Update(this.dataSet1.テーブル名);
でデータベース更新
プログラム終了
プログラム再実行
DataGridViewにレコードは残っている(期待した動作)
プログラム終了
ここで「データベースエクスプローラで最新の状態に更新とかで接続する」
プログラム再実行
DataGridViewにレコードが1つも表示されない(なんで?)
データベースのレコードが消えてしまう
データベースエクスプローラでテーブルの構造はいじってないのに
接続しただけでデータベースが1から作り直されてしまうのでしょうか?
0454デフォルトの名無しさん
2011/05/19(木) 21:21:00.250455デフォルトの名無しさん
2011/05/19(木) 21:33:29.350456デフォルトの名無しさん
2011/05/19(木) 21:46:26.11無事に書き換えることが出来ました
ありがとうございました
0457デフォルトの名無しさん
2011/05/19(木) 22:07:28.250458デフォルトの名無しさん
2011/05/19(木) 22:18:17.45さんのアドバイス通りに、以下のコードを書き加えました
private void MainForm_Load(object sender, EventArgs e)
{
form1.Form1Instance = this;
}
private static Form1 _form1Instance;
public static Form1 form1Instance
{
set { _form1Instance = value; }
}
public string TextBox1Text
{
set { TextBox1.Text = value; }
}
後は、別のクラスから
フォームのネームスペース.form1.Form1Instance.TextBox1Text = "コメント表示";
とすれば書き込みできました
まだ始めたばかりの僕でも >>455 さんの的確なアドバイスで簡単に実現できました
ありがとうございました
0459デフォルトの名無しさん
2011/05/19(木) 22:35:32.340460デフォルトの名無しさん
2011/05/19(木) 22:38:24.080461デフォルトの名無しさん
2011/05/19(木) 22:41:52.400462デフォルトの名無しさん
2011/05/19(木) 22:49:30.800463デフォルトの名無しさん
2011/05/20(金) 00:40:42.770464デフォルトの名無しさん
2011/05/20(金) 00:49:23.110465デフォルトの名無しさん
2011/05/20(金) 00:57:59.76メモリリークする最低のパターン
0466デフォルトの名無しさん
2011/05/20(金) 00:59:28.870467デフォルトの名無しさん
2011/05/20(金) 01:08:44.93何が言いたいのか全然わからない
0468デフォルトの名無しさん
2011/05/20(金) 01:12:46.300469デフォルトの名無しさん
2011/05/20(金) 01:19:20.92ほね」。
だって。本当に馬鹿だろお前。
0470デフォルトの名無しさん
2011/05/20(金) 02:15:56.92ほね」。
0471デフォルトの名無しさん
2011/05/20(金) 03:56:43.510472デフォルトの名無しさん
2011/05/20(金) 15:25:50.38StackTraceに出力されたソースファイルのパスが開発環境のパスだったのですが、
このパスをディレクトリ名は出力せずファイル名だけにするとか、ソリューションファイルからの相対ファイルに変える
といったことが可能でしたら、やり方を教えて頂けないでしょうか
0473デフォルトの名無しさん
2011/05/20(金) 16:00:15.600474デフォルトの名無しさん
2011/05/20(金) 16:23:50.44StackTraceを出力すると、下記のような文言が出ます。
(はしょってます)
場所 MenuForm.btnTorikomi_Click(Object sender, EventArgs e)
場所 C:\Documents and Settings\ユーザ\My Documents\Visual Studio 2010\Projects\Test\MenuForm.cs:行 368
このディレクトリが出力されないようにする方法はないかという質問でした。
0475デフォルトの名無しさん
2011/05/20(金) 16:28:19.44取り込みって書いてあるからローディングしてるんだろうけど、そこの取り込みパスがおかしいんじゃないの?
0476デフォルトの名無しさん
2011/05/20(金) 16:32:19.620477デフォルトの名無しさん
2011/05/20(金) 16:49:32.16とかそういうことじゃなくて?
0478デフォルトの名無しさん
2011/05/20(金) 16:51:17.80StackTraceに下記が出力されないようにしたいのです。
C:\Documents and Settings\ユーザ\My Documents\Visual Studio 2010\Projects\Test\
つまり、納品物のログファイルに、開発環境のパス(特にこの場合はユーザ名)が出力されないようにしたい、ということです。
0479デフォルトの名無しさん
2011/05/20(金) 16:54:25.72・エラーが出そうなところをtry catchする
0480デフォルトの名無しさん
2011/05/20(金) 16:57:16.99他の回答者は低能の役立たず
0481デフォルトの名無しさん
2011/05/20(金) 17:00:33.38ありがとうございます、試してみます。
>>479
catchした例外のStackTraceをログファイルに出力していますので。
0482デフォルトの名無しさん
2011/05/20(金) 17:04:20.73ファイル名や行はでてほしいのじゃろ
0483デフォルトの名無しさん
2011/05/20(金) 17:16:16.98となるとソリューションのディレクトリを変更してからリビルドでしょうか。
0484デフォルトの名無しさん
2011/05/20(金) 19:17:06.97人によってお金の稼ぎ方が違うので,
Humanをnewするときにその人のgetMoneyを指定したいのですが
関数を引数に取るコンストラクタはどう書けばいいでしょうか。
引数として渡したい関数は
getMoney1
getMoney2
getMoney3
・・・
のように数パターンの関数を別に用意してあります。
0485デフォルトの名無しさん
2011/05/20(金) 19:20:30.31抽象メソッドで書き換えとか?
http://ufcpp.net/study/csharp/oo_abstract.html
0486デフォルトの名無しさん
2011/05/20(金) 19:27:51.640487デフォルトの名無しさん
2011/05/20(金) 19:45:12.59デリゲートで頑張ってみるとか。。。
0488484
2011/05/20(金) 19:50:17.48やっとデリゲートの使い方を理解できました。
ありがとうございました。
0489デフォルトの名無しさん
2011/05/20(金) 21:08:43.59{
protected override int getMoney()
{
return 0;
}
}
0490デフォルトの名無しさん
2011/05/20(金) 21:16:15.900491デフォルトの名無しさん
2011/05/20(金) 21:21:38.160492デフォルトの名無しさん
2011/05/20(金) 21:25:12.930493デフォルトの名無しさん
2011/05/20(金) 21:29:43.230494デフォルトの名無しさん
2011/05/20(金) 21:33:27.160495デフォルトの名無しさん
2011/05/21(土) 00:08:09.50プログラムからインク節約の設定とかしたい
0496デフォルトの名無しさん
2011/05/21(土) 01:00:51.79普通はレジストリじゃね。機種毎にバラバラだと思うが
0497デフォルトの名無しさん
2011/05/21(土) 12:29:01.620498デフォルトの名無しさん
2011/05/21(土) 22:40:25.21OpenCVSharpを使用してみたのですが30fps程度までしか対応していないらしく、それ以上の動画を扱うことが出来ませんでした。
やりたいことは、AVIからBitmapを抽出するのと、Bitmapを連結させてAVI動画を作成することです。
AVI形式を自力でBitmapに変換すれば良いのでしょうが、AVI形式は扱い辛いので、何か良いライブラリがありましたらよろしくお願いします。
http://msdn.microsoft.com/ja-jp/library/Cc352264
0499デフォルトの名無しさん
2011/05/21(土) 22:56:50.79そんなの追従できる表示デバイスがこの世に存在するのかw
0500デフォルトの名無しさん
2011/05/21(土) 23:49:35.07主な用途はおそらくスロー再生用
DirectShow使ってみるとか
0501デフォルトの名無しさん
2011/05/22(日) 00:26:03.34動画を扱うっていう言い回しが何をやりたいかわからないが、
フレームの抽出なら、400fpsだろうが30fpsだろうが関係ない気がする。
0502デフォルトの名無しさん
2011/05/22(日) 01:40:18.670503デフォルトの名無しさん
2011/05/22(日) 02:26:03.85using ( obj )
{
hoge.fuga = obj;
}
こんなかんじ。hogeのfugaプロパティは後に使われる。
Dispose()が呼び出されちゃったオブジェクトを外部で使おうとしてもうまくいかなんじゃって思ってたけど、
動かしてみたらうまく動いてるみたい…。
0504デフォルトの名無しさん
2011/05/22(日) 02:52:53.47このケースでusing使うのはやめとく。
0505498
2011/05/22(日) 03:49:03.39>>499
追従するわけでは無いですね。
一度バッファに取り込んで、それから保存してますし。
XPだと3G積んでて画素落としても数秒でいっぱいになりますがw
>>500
サポート終わったけど、ManagedDirectShowですかねー。
今ならSlimDXとかのほうが良いのかな?
ちょっといじってみます。
>>501
はい、1フレームずつ取りたいんです。
OpenCVの場合、フレームレートが30なら30(正確には29.97)等出るのですが、
180fpsや300fpsになるとなぜか0.8333とかになってしまい、おかしくなってしまいました。
>>502
動画を作成するSDKはついているのですが、それを加工するSDKが無くって・・・。
0506デフォルトの名無しさん
2011/05/22(日) 04:54:11.13http://ideone.com/eij8g
Disposeされていてメモリが回収されてないオブジェクトが生き残るだけ。
0507デフォルトの名無しさん
2011/05/22(日) 05:44:43.090508デフォルトの名無しさん
2011/05/22(日) 10:46:01.470509デフォルトの名無しさん
2011/05/22(日) 14:25:27.830510デフォルトの名無しさん
2011/05/23(月) 08:38:26.58コードが見やすくなるから?
どのデータに対しても同じようにアクセスできるから?
実行速度が速くなるのなら実装してみたくはあるけど
0511デフォルトの名無しさん
2011/05/23(月) 08:42:10.48> どのデータに対しても同じようにアクセスできるから?
この2つあれば十分どころか、むちゃくちゃでかい利点だと思うけど。
0512デフォルトの名無しさん
2011/05/23(月) 08:52:11.810513デフォルトの名無しさん
2011/05/23(月) 10:27:03.72どうもありがと
0514デフォルトの名無しさん
2011/05/23(月) 10:31:07.550515デフォルトの名無しさん
2011/05/23(月) 10:38:04.930516デフォルトの名無しさん
2011/05/23(月) 10:38:19.210517デフォルトの名無しさん
2011/05/23(月) 11:45:50.560518デフォルトの名無しさん
2011/05/23(月) 12:01:01.770519デフォルトの名無しさん
2011/05/23(月) 12:02:43.75あくまで、たった1個の式だけのためとかでメソッド書いて、
別の場所に飛ばないと中身が見れない状況よりははるかにマシという、
相対的な見易さだと思う。
0520デフォルトの名無しさん
2011/05/23(月) 12:05:54.58ラムダは構成要素であってLINQそのものではない
0521デフォルトの名無しさん
2011/05/23(月) 14:30:11.90わからんっていうかなんか不思議。
動的に式を作るのって従来のC#では無理だったの?
0522デフォルトの名無しさん
2011/05/23(月) 15:16:31.360523デフォルトの名無しさん
2011/05/23(月) 15:29:14.25usingとか便利だろ
その程度の存在
0524デフォルトの名無しさん
2011/05/23(月) 16:26:38.59var strList = new List<string>("a","a","b","c");
var work = strList.Distinct();
Array.ForEach( work.ToArray(), Console.WriteLine );
strListの中をa,b,cにして重複するaを一つ消すにはどう書けばいいんですか?
0525デフォルトの名無しさん
2011/05/23(月) 16:56:53.690526デフォルトの名無しさん
2011/05/23(月) 18:18:57.86var strList = new List<string>("a","a","b","c");
var work = strList.Distinct();
strList.Clear();
Array.ForEach( work.ToArray(), ( str ) => strList.Add( str ) );
0527デフォルトの名無しさん
2011/05/23(月) 18:37:43.01var strList = new List<string>("a","a","b","c");
var work = strList.Distinct().ToArray();
strList.Clear();
Array.ForEach( work, ( str ) => strList.Add( str ) );
0528デフォルトの名無しさん
2011/05/23(月) 18:40:49.88自動で改行されて表示されるのですが
改行なしで表示させるにはどうすればいいのでしょうか?
0529デフォルトの名無しさん
2011/05/23(月) 18:46:07.280530デフォルトの名無しさん
2011/05/23(月) 18:46:50.39お前MSDNくらい読めよアホンダラ
strList = strList.Distinct().ToList();
0531デフォルトの名無しさん
2011/05/23(月) 18:55:07.33すげーーーー
ありがとう
0532。 ◆oDupeixhZv52
2011/05/23(月) 19:13:12.950533デフォルトの名無しさん
2011/05/23(月) 19:24:07.31もしかして>>526>>527のvar strList = new List<string>("a","a","b","c");のことか?
エラーになるけど気にしないことにした
0534デフォルトの名無しさん
2011/05/23(月) 21:21:51.18誤解を恐れずに言うならメソッドの引数にソースコードをそのまま渡したい時に使うんだよ。
で例えばLINQ to SQLがそのソースコードをSQLにコンパイルする。
普通のデリゲートのラムダだとILにコンパイルされてしまうからソースコードの情報が失われてしまう。
でも本当に文字列でソースコードを渡すと、解析が大変だしC#に依存してしまう。
だから抽象的な式木の形で渡すわけ。
0535デフォルトの名無しさん
2011/05/23(月) 21:55:49.75で、 526でクリアしちゃだめな理由は分からないままなのでした。
0536デフォルトの名無しさん
2011/05/23(月) 22:02:40.28LINQはIEnumerable<T>が戻る場合は実行されてないずら
boolとかT型が戻る場合はその時点で実行されるずら
0537デフォルトの名無しさん
2011/05/23(月) 22:35:00.380538デフォルトの名無しさん
2011/05/23(月) 22:41:14.88整数で割り切れるなら%を使えばいいのですが、2.5や3.25など、小数になっても割り切れる(有限小数かどうか)かどうかを調べるにはどうすればよいのでしょうか?
0539デフォルトの名無しさん
2011/05/23(月) 23:24:26.09そのプログラムは停止しないかもしれない
0540デフォルトの名無しさん
2011/05/23(月) 23:36:06.58while(x%2==0) x/=2;
while(x%5==0) x/=5;
return x==1;
引数が整数ならこれで
0541デフォルトの名無しさん
2011/05/23(月) 23:42:08.39例えば2で割って循環する数なんてあるのか?
0542デフォルトの名無しさん
2011/05/23(月) 23:49:37.220543デフォルトの名無しさん
2011/05/23(月) 23:55:32.274を1.729で割って割り切れるかどうか…
って意味かなタブンネ
0544デフォルトの名無しさん
2011/05/24(火) 00:13:48.690545デフォルトの名無しさん
2011/05/24(火) 00:53:38.11遅延実行だからじゃないよね。
例えば
var strList = new List<string>("a","a","b","c");
var work = strList.Distinct();
Array.ForEach( work.ToArray(), ( str ) => Console.WriteLine("hoge") );←この1行を追加
strList.Clear();
Array.ForEach( work.ToArray(), ( str ) => strList.Add( str ) );
とやって、clear前にLinqが実行されるようにしてももやっぱり結果はゼロ件
0546デフォルトの名無しさん
2011/05/24(火) 01:10:19.320547デフォルトの名無しさん
2011/05/24(火) 01:13:33.14>Array.ForEach( work.ToArray(), ( str ) => Console.WriteLine("hoge") );←この1行を追加
の意味は理解できてる?
0548デフォルトの名無しさん
2011/05/24(火) 01:33:01.08バカすぎて笑える
0549デフォルトの名無しさん
2011/05/24(火) 01:38:29.98>Array.ForEach(work.ToArray(), (str) => MessageBox.Show(str));←この1行を追加
にすれば、君でもClear前にworkに3件格納されたのが理解できるかな?
0550デフォルトの名無しさん
2011/05/24(火) 01:39:45.620551デフォルトの名無しさん
2011/05/24(火) 01:52:02.873行目のwork.ToArray()の時、まだstrListには { "a","a","b","c" } が入っているので
work.ToArrayは 「リスト { "a","a","b","c" } から重複しない値を取り出して配列化する」 という動作になる
故に配列 [ a,b,c ] を返す
4行目のstrList.Clear();を実行するとstrListが空になる
5行目のwork.ToArray()の時、strListは空なので
work.ToArrayは 「空のリストから重複しない値を取り出して配列化する」 という動作になる
故に空の配列を返す
って感じ
遅延実行だからじゃないよねっていうか、まさに遅延実行の罠
0552デフォルトの名無しさん
2011/05/24(火) 09:55:43.37参照渡しだからその前が参照渡しだと参照渡しになってるってだけの話しな気がする
0553デフォルトの名無しさん
2011/05/24(火) 09:58:07.340554デフォルトの名無しさん
2011/05/24(火) 10:01:58.03IEnumerable<int> GetData(int n) {
int[] x = new int[n];
for(int i = 0; i<n; ++i) x[i] = i;
return x;
}
と
IEnumerable<int> GetData(int n) {
for(int i = 0; i<n; ++i) yield return i;
}
の違いは分かる?
0555デフォルトの名無しさん
2011/05/24(火) 12:10:04.18値渡しと参照渡し覚えたばっかりなんだな
わかるよ
0556デフォルトの名無しさん
2011/05/24(火) 12:17:07.61http://ufcpp.net/study/csharp/sp_foreach.html
0557デフォルトの名無しさん
2011/05/24(火) 14:50:26.65{
Random rnd = new Random( Environment.TickCount );
rint a = nd.next(100);
}
ずっとやってるとなんかどことなく規則的なんですがもっとばらばらした感じにするにはどうすればいいですか?
0558デフォルトの名無しさん
2011/05/24(火) 14:55:25.36もっといい分布が欲しければ別のジェネレータを使え
関係ないけどnextを使うなら毎回Environment.TickCountで初期化するのは無駄
Random rnd = new Random( Environment.TickCount );
while(true)
{
rint a = nd.next(100);
}
0559デフォルトの名無しさん
2011/05/24(火) 14:55:44.68for (i = 0;i < x;i++)
{
textBox[i] = new TextBox();
textBox[i].Name = "tabPage" + i.ToString();
textBox[i].Size = new Size(400, 800);
〜以下略〜
}
みたいな感じで作ってるんですが、配列のサイズが不確定で後々配列のサイズを変えたいのでArrayListを使おうとしたんですが
上記の場合、どのように書けばいいんですか?
0560デフォルトの名無しさん
2011/05/24(火) 15:01:14.50List<TextBox>使え
0561デフォルトの名無しさん
2011/05/24(火) 15:03:27.10http://takel.jp/mt/MersenneTwister.cs
0563デフォルトの名無しさん
2011/05/24(火) 15:09:42.880564デフォルトの名無しさん
2011/05/24(火) 15:23:39.750565。 ◆oDupeixhZv52
2011/05/24(火) 15:48:25.27ループの中に入れたら、思ってたより酷いことになったw
0566。 ◆oDupeixhZv52
2011/05/24(火) 16:00:22.44規則的というより、同じ値ばっかりになる。
0567559
2011/05/24(火) 16:55:01.65List<TextBox> textBox = new List<TextBox>();
textBox[0] = new TextBox();
textBox[0].Name = "textBox0";
textBox[0].Text = "";
textBox[0].Size = new Size(50, 50);
textBox[0].Location = new Point(50, 50);
textBox[0].Multiline = true;
this.Controls.Add(textBox[0]);
これだと実行時にArgumentOutOfRangeException例外を吐いてしまいます……
どこが悪いのか教えてもらえないでしょうか?
0568デフォルトの名無しさん
2011/05/24(火) 17:02:29.61TextBox hoge = new TextBox();
hoge .Name = "textBox0";
hoge .Text = "";
hoge .Size = new Size(50, 50);
hoge .Location = new Point(50, 50);
hoge .Multiline = true;
textBox.Add(hoge);
this.Controls.Add(textBox[0]);
0569デフォルトの名無しさん
2011/05/24(火) 17:22:05.570570デフォルトの名無しさん
2011/05/24(火) 18:49:46.13textBox.Add(new TextBox());
textBox[0].Name = "textBox0";
textBox[0].Text = "";
textBox[0].Size = new Size(50, 50);
textBox[0].Location = new Point(50, 50);
textBox[0].Multiline = true;
this.Controls.Add(textBox[0]);
0571デフォルトの名無しさん
2011/05/24(火) 18:55:28.65質問した人はとりあえずのコードを晒してるけど
複数入れるとこを考えるとそれはよろしくないんじゃね?
0572デフォルトの名無しさん
2011/05/24(火) 19:43:20.56List<TextBox> textBox = new List<TextBox>();
textBox.Add(new TextBox());
textBox[textBox.Count-1].Name = "textBox0";
textBox[textBox.Count-1].Text = "";
textBox[textBox.Count-1].Size = new Size(50, 50);
textBox[textBox.Count-1].Location = new Point(50, 50);
textBox[textBox.Count-1].Multiline = true;
this.Controls.Add(textBox[textBox.Count-1]);
0573デフォルトの名無しさん
2011/05/24(火) 22:33:42.34int x = 10;
var textBox = Enumerable.Range(0, x)
.Select( i => new TextBox()
{
Name = string.Format("tabPage{0}", i),
Size = new Size(50,50),
Text = "",
Location = new Point(50*i,50),
Multiline = true
});
foreach ( var tb in textBox )
{
this.Controls.Add(tb);
}
0574デフォルトの名無しさん
2011/05/24(火) 22:40:32.230575デフォルトの名無しさん
2011/05/24(火) 22:44:00.91{
var tb = new TextBox()
{
Name = string.Format("tabPage{0}", i),
Size = new Size(50,50),
Text = "",
Location = new Point(50*i,50),
Multiline = true
});
this.Controls.Add(tb);
}
LINQはクエリ用なんだぜ?
0576デフォルトの名無しさん
2011/05/24(火) 22:49:42.05とはいえ、後からAddするだけのforeach回さないといけないんなら最初から全部foreachでいいだろ。
0577デフォルトの名無しさん
2011/05/24(火) 22:50:04.720578デフォルトの名無しさん
2011/05/25(水) 01:25:20.68var textBox = Enumerable.Range(0, x)
.Select(i =>
{
Controls.Add(new TextBox()
{
Name = string.Format("tabPage{0}", i),
Size = new Size(50,50),
Text = "",
Location = new Point(50*i,50),
Multiline = true
});
return Controls.Last();
});
あれだな、何のひねりも無く
List<TextBox> textBox = new List<TextBox>();
for (int i = 0; i < x; i++)
{
textBox.Add(new TextBox { Name = string.Format("tabPage{0}", i),… });
Controls.Add(textBox.Last());
}
が一番書きやすくて読みやすい気がする
0579デフォルトの名無しさん
2011/05/25(水) 14:54:24.83これが気に食わない
0580デフォルトの名無しさん
2011/05/25(水) 14:55:45.51しっくりこないんです!!
って言うんだ
List<TextBox> textBoxs
0581デフォルトの名無しさん
2011/05/25(水) 15:00:10.17ハハッ
0582580
2011/05/25(水) 15:02:13.590584デフォルトの名無しさん
2011/05/25(水) 15:07:23.360585580 ◆6BEJPFFHAc
2011/05/25(水) 15:14:21.92大体、日本人なのに英語に固執しても生産性下がるだけ
0586ほんものの580 ◇6BEJPFFHAc
2011/05/25(水) 15:18:07.32うむ
名前が気に入らなければsをはずせばいいしな
言いたいことが伝わればいい
0587デフォルトの名無しさん
2011/05/25(水) 15:41:42.15回避するのはどう書けば良いでしょうか?
classA[] unko=new classA[2];
unko[0]=new classA();
unko[1]=new classA();
unko[0].ColorName="black";
unko[1]=unko[0];
unko[1].ColorName="brown";
textbox.text=unko[0].ColorName;
0588デフォルトの名無しさん
2011/05/25(水) 15:44:07.27になんの意味があるんだよ
0589デフォルトの名無しさん
2011/05/25(水) 15:48:14.680590デフォルトの名無しさん
2011/05/25(水) 15:48:22.66ColorName以外を全部コピーしたいからです。
このコードだと元々全部同じですが。
0591デフォルトの名無しさん
2011/05/25(水) 15:51:18.15=はコピーじゃなくて代入なんだ
0592デフォルトの名無しさん
2011/05/25(水) 15:57:42.64コピーしたいプロパティを一つ一つ地道にコピーするしかない。
0593デフォルトの名無しさん
2011/05/25(水) 15:58:33.18unko[1].CopyFrom( unko[0] );
みたいなかんじにするか、classやめてstructにするか
後者はお勧めしないが
0594デフォルトの名無しさん
2011/05/25(水) 16:03:23.52ディープコピーしたいのなら相応に書かないと駄目だ罠
0595デフォルトの名無しさん
2011/05/25(水) 16:06:27.71参照型だと
unko[1]=unko[0];
しても君が思ってるようなコピーはされないぞ
Cloneができないと意味がない
0596デフォルトの名無しさん
2011/05/25(水) 16:08:01.920597デフォルトの名無しさん
2011/05/25(水) 16:20:08.870598デフォルトの名無しさん
2011/05/25(水) 16:23:56.890599デフォルトの名無しさん
2011/05/25(水) 16:28:31.24まったくないとは思わないけど、みんなそんなにコピーとかする機会多いのん?
0600デフォルトの名無しさん
2011/05/25(水) 16:28:42.57クラスのコンストラクタで初期化しておいて違うところだけ外から書き換えるとかさ
0601デフォルトの名無しさん
2011/05/25(水) 16:34:56.84色くらいenumで定義しろよとか思うのは俺だけなのか?wブヒwwサーセンwww
0603デフォルトの名無しさん
2011/05/26(木) 04:22:31.75http://japan.internet.com/busnews/20110517/3.html
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
Mono終了
0604デフォルトの名無しさん
2011/05/26(木) 08:13:23.68>そして同プロジェクトの活動は、新たに Xamarin として生まれ変わった。Mono とは『.NET Framework』互換のオープンソース実装だ。
0605デフォルトの名無しさん
2011/05/26(木) 08:48:39.71レコードが無い状態だと、DataGridViewには新規の1行だけ表示されている状態になります。
その行に何かを入力すると、自動で次の行が追加されます。
ここまではいいのですが、
その追加された行の任意のセルをクリックすると、DataGridView.CurrentCell.RowIndexは1(2行目)になります。
何も入力せず、DataGridViewのセルではない別のTextBoxなどに移動すると、CurrentCell.RowIndexは0(1行目)に戻ってしまいます。
見た目は2行目のセルが選択されている(青くなっている)のに、RowIndexは1行目になってしまうのです。
現在選択されているセルの行が2行目であることを取得する方法はないでしょうか。
0606デフォルトの名無しさん
2011/05/26(木) 12:04:19.88選択されているセルの取得にはSelectedCellsを使う。
0607デフォルトの名無しさん
2011/05/26(木) 12:05:07.490608デフォルトの名無しさん
2011/05/26(木) 12:20:36.180609デフォルトの名無しさん
2011/05/27(金) 10:12:56.86ありがとうございます、SelectedCellsで取れました
0610デフォルトの名無しさん
2011/05/27(金) 11:18:11.49nVIDIAに統一することが出来れば、CUDAにしておくのが無難ですか?
0611デフォルトの名無しさん
2011/05/27(金) 12:18:04.20byte[] b = byte[]{ (byte)(a >> 24), (byte)(a >> 16), (byte)(a >> 8), (byte)a }
uintをbyte配列にする場合はこれでいいんですか?
0612デフォルトの名無しさん
2011/05/27(金) 12:27:11.09BitConverter.GetBytes()
0613デフォルトの名無しさん
2011/05/27(金) 12:29:58.04thx
0614デフォルトの名無しさん
2011/05/27(金) 12:48:07.41フォームデザイナが真っ白になったり、下記のようなエラーが出て表示できなくなることが多々あります。
デザイナー ローダーはルート コンポーネントを指定しませんでしたが、その理由を提示しませんでした。
リビルドしたり、フォームを開き直したりするとちゃんと表示されるんですが、何が原因でしょうか?
また良くあることなんでしょうか
0615デフォルトの名無しさん
2011/05/27(金) 14:15:30.06相対的にズレないようにするには、やっぱり自分でイベント作ってやらないとダメ?
相対的な位置を保持してくれるものってあるの?
0616デフォルトの名無しさん
2011/05/27(金) 14:31:32.310617デフォルトの名無しさん
2011/05/27(金) 14:37:23.580618デフォルトの名無しさん
2011/05/27(金) 14:42:13.54何もせずそのまま二回目のビルドをすると成功するんだが、
これはそーゆー仕様なのか?
インストーラは毎回問題無く動いてるから、とりあえず放置してる。
0619デフォルトの名無しさん
2011/05/27(金) 20:00:47.21そんな仕様の訳がない。
0620デフォルトの名無しさん
2011/05/27(金) 20:14:29.770621デフォルトの名無しさん
2011/05/27(金) 21:57:47.35実際はもうちょっと複雑なのですが、おおまかには以下のことをやっているだけです。
SoundPlayer player = new SoundPlayer("./hello.wav");
player.Play();
これをやると、
"System.UriFormatException"の初回例外が System.dll で発生しました。
というエラーが発生します。
エラーの発生タイミングから、おそらく1行目に問題があります。
非常に簡単なコードなので当惑しております。
なにか心当たりありませんでしょうか?
0622デフォルトの名無しさん
2011/05/27(金) 22:02:32.150623デフォルトの名無しさん
2011/05/27(金) 22:05:10.43音声は再生されるので、一応パスはあっていると思われます。
動作には全く問題ないです。
@"./hello.wav"
"hello.wav"
パス形式を変えた上記のものも、エラーが発生するようでした。
0624デフォルトの名無しさん
2011/05/27(金) 22:08:05.44.designer.csを変な風に弄るとそのエラーが出たような気がする
たとえば同じイベントに2回イベントハンドラを設定した場合とか
0625デフォルトの名無しさん
2011/05/27(金) 22:17:17.74内部でcatchされている例外を持ち出してきて何がしたいんだか
まあ、最初から正しいURIを渡せば出なくなるんじゃねーの?
0626デフォルトの名無しさん
2011/05/27(金) 22:30:55.90申し訳ないです。内部でcatchされている例外でも気持ち悪くて。。。
内部で対処されているエラーなら無視すべきですね。
結論なのですが、パスを「相対URL -> 絶対URL」 へと変換してあげたら
エラーが発生しなくなりました。
0627デフォルトの名無しさん
2011/05/27(金) 22:54:25.370628デフォルトの名無しさん
2011/05/27(金) 23:16:53.85普通に考えたら、そうなりますよね。
相対パスなんてメジャーな方法でエラー吐くとは思えない。。。
0629デフォルトの名無しさん
2011/05/27(金) 23:53:40.720630627
2011/05/28(土) 00:25:57.20>'System.UriFormatException' の初回例外が System.dll で発生しました。
>'System.IO.FileNotFoundException' の初回例外が mscorlib.dll で発生しました。
0631デフォルトの名無しさん
2011/05/28(土) 00:26:16.36ADO.NETというのを使ってみたのですがSQL文を実行するまではいいのですが、
値を取り出すのが煩雑すぎてどうにかならないものかと。
0632デフォルトの名無しさん
2011/05/28(土) 00:38:18.490633デフォルトの名無しさん
2011/05/28(土) 00:43:03.540634デフォルトの名無しさん
2011/05/28(土) 00:46:59.93SqlConnectionなんかを使ってしこしこやるのが疲れたってことか?
TableAdapterなんか使うとマシになるかも知れないし、逆にストレスが溜まるかもしれない
0635デフォルトの名無しさん
2011/05/28(土) 02:00:21.710636デフォルトの名無しさん
2011/05/28(土) 06:11:40.400637デフォルトの名無しさん
2011/05/28(土) 07:41:48.560638デフォルトの名無しさん
2011/05/28(土) 08:34:41.80SqlConnectionやSqlCommandまではいいのですが、SqlDataReaderが面倒すぎて
どうにかならないものかと思った次第です。
テーブル定義と同じようなフィールドを持つクラス作って、そこへ値を入れたいの
ですが、SqlDataReaderだと記述量が多くてビックリ。
で、「このクラスに値入れて返して」的なメソッドないかなーと思った次第です。
0639デフォルトの名無しさん
2011/05/28(土) 09:05:47.28使ったことないけど
0640デフォルトの名無しさん
2011/05/28(土) 09:38:21.47LINQ to Entities/LINQ to SQLにObjectContext/DataContextってクラスがあって、それぞれにTranslateってメソッドがある
まあこれを使える状況ならDbDataReaderじゃなくてLINQでアクセスした方がいいとは思うけどね
0641デフォルトの名無しさん
2011/05/28(土) 11:22:55.110642デフォルトの名無しさん
2011/05/28(土) 11:34:25.360643デフォルトの名無しさん
2011/05/28(土) 11:59:12.21もう準備段階でお腹いっぱいになりそうなのは見たことあるが。
>>640
LINQ to SQLってSELECT方向のサンプルしか見かけないが、
INSERT/UPDATE/DELETEやトランザクションとか使えるの?
0644デフォルトの名無しさん
2011/05/28(土) 12:20:46.62C#全く関係ないだろ
どっちにしてもCで書いてDllImportしかないんだから
0645デフォルトの名無しさん
2011/05/28(土) 12:36:52.99クエリ式で書くわけじゃなくて、
普通にオブジェクトのプロパティとか書き換え後、
DataContextのSubmitChangeでデータベースに反映。
トランザクションはusing(var tran = new TransactionScope())でくくる。
0646デフォルトの名無しさん
2011/05/28(土) 12:51:36.88http://code.google.com/p/dapper-dot-net/
こういうのかな。
0647デフォルトの名無しさん
2011/05/28(土) 12:51:55.140648デフォルトの名無しさん
2011/05/28(土) 12:53:06.790649デフォルトの名無しさん
2011/05/28(土) 12:53:34.920650デフォルトの名無しさん
2011/05/28(土) 12:54:12.770651デフォルトの名無しさん
2011/05/28(土) 12:56:19.71いつも試行錯誤して組んでた気がする
0652デフォルトの名無しさん
2011/05/28(土) 12:58:19.84新しいことを覚えられないPGが傷ついたりコンプレックスもったりするから
解禁しないほうが社内の和がたもてるよ。
0653デフォルトの名無しさん
2011/05/28(土) 13:10:19.15俺が思うにLINQとラムダを一気に解放したら大混乱になるよね
とくにJavaしか知らない新人は鬱になる気がする
いきなり辞められても困るしどうしたものか
0654デフォルトの名無しさん
2011/05/28(土) 13:14:10.07ヨソで通用しないから転職されにくくていいよ
0655デフォルトの名無しさん
2011/05/28(土) 13:20:27.66大変だな。
やっぱJavaは1.4でC#は2.0にするのが安心だな。
0656デフォルトの名無しさん
2011/05/28(土) 13:22:57.48ついていけない老人ならともかくさ。
新人のために古臭いままでいく、とかいうのは、それを言い訳にしてるだけじゃねーの?
一生C#2.0でいるつもりならともかく、新しいテクノロジはLINQ(やラムダ式)前提なものが多い。
傷が浅いうちに何とかしたほうがいいかと。
0657デフォルトの名無しさん
2011/05/28(土) 13:29:01.18ブログで嬉々としてコード載せてるような人間
0658デフォルトの名無しさん
2011/05/28(土) 13:29:47.50単にコーディングルールを決められる立場のベテランが新しいのを受け付けない
だけかと思ってたよ。
0659デフォルトの名無しさん
2011/05/28(土) 13:34:38.63Lamdaも別に難しいとこなんてないだろ?
0660デフォルトの名無しさん
2011/05/28(土) 13:37:01.20無駄にこねくり回した設計とやらのほうが滑稽だけどね
0661デフォルトの名無しさん
2011/05/28(土) 13:48:29.76ろくにコードを書けないのに設計はできるみたいな口ぶりのやつとかも滑稽。
0662デフォルトの名無しさん
2011/05/28(土) 14:37:22.140663デフォルトの名無しさん
2011/05/28(土) 14:42:47.19まあ、確かに、若い人ばかりのチームならいいけど、
老害だらけの中で LINQ 解禁した場合、新人は大混乱するかもねぇ。
ウェブで調べて来た知識をことごとく老害に否定されたりで。
0664デフォルトの名無しさん
2011/05/28(土) 14:58:03.210665デフォルトの名無しさん
2011/05/28(土) 15:20:28.430666デフォルトの名無しさん
2011/05/28(土) 15:23:40.39お互いに
0667デフォルトの名無しさん
2011/05/28(土) 15:36:41.95ってのはまさに老害的で最悪だけど。
0668デフォルトの名無しさん
2011/05/28(土) 15:42:52.900669デフォルトの名無しさん
2011/05/28(土) 15:44:17.85大事なのは貴方がその立場になったとき、同じ事をしないことだよ
0670デフォルトの名無しさん
2011/05/28(土) 15:52:17.04EnumerableRowCollectionExtensions.Where(rows, delegate(DataRow row){ return CONST.Equals(row[COLUMN]);})とか書きまくってた
0671デフォルトの名無しさん
2011/05/28(土) 15:53:31.77MS提供の奴は野暮ったいのとSQLServer以外との親和性が低すぎてヤダ
0672デフォルトの名無しさん
2011/05/28(土) 16:05:16.350673デフォルトの名無しさん
2011/05/28(土) 16:13:35.610674デフォルトの名無しさん
2011/05/28(土) 16:15:43.220675デフォルトの名無しさん
2011/05/28(土) 16:17:04.010676デフォルトの名無しさん
2011/05/28(土) 16:19:05.47うちは匿名メソッドも禁止だぜ?
0677デフォルトの名無しさん
2011/05/28(土) 16:20:29.91ok
wikiでも作るわ
0678デフォルトの名無しさん
2011/05/28(土) 16:23:10.08WMIラッパ作って懲りたんだが、LINQは。
0679デフォルトの名無しさん
2011/05/28(土) 16:27:58.630680デフォルトの名無しさん
2011/05/28(土) 16:28:16.55しない
0681デフォルトの名無しさん
2011/05/28(土) 16:32:52.16VisualStudioの仕様に意見できる立場になってから言えっての
0682デフォルトの名無しさん
2011/05/28(土) 16:42:47.990683デフォルトの名無しさん
2011/05/28(土) 16:44:46.53じゃあ「長くてもよければ他に書き方がある」ようなのは全部禁止で
0684デフォルトの名無しさん
2011/05/28(土) 16:46:08.660685デフォルトの名無しさん
2011/05/28(土) 16:46:42.17まあ書く量が減れば減るほどバグの作りこみも減らせるけどね
そういう意味ではWPFやSLのバインドは定型コードを書けば
仕組みが勝手にやってくれるのでいいなあ
0686デフォルトの名無しさん
2011/05/28(土) 16:48:48.710687デフォルトの名無しさん
2011/05/28(土) 16:57:22.310688デフォルトの名無しさん
2011/05/28(土) 17:52:21.28どういうのがあるか列挙してくれると凄く嬉しい
0689デフォルトの名無しさん
2011/05/28(土) 17:54:09.55ログ系のアプリなんだけど、データ置くフォルダをどこにするものなのでしょう?
0690デフォルトの名無しさん
2011/05/28(土) 17:57:04.620691デフォルトの名無しさん
2011/05/28(土) 17:57:33.48http://code.google.com/p/dapper-dot-net/
ここの真ん中にPerformance Testとして色々列挙してある
0692デフォルトの名無しさん
2011/05/28(土) 18:17:14.69ありがと、ちょいと調べてみたけど。
AppData、ProgramDataとあって、XP側もAll UsersのApplication Dataとユーザ/Local SettingsのApplication Dataと。。。
使い分けがわからん><
EnvironmentクラスGetFolderPathでユーザー毎ならApplicationData
すべてのユーザーで共通のデータならCommonApplicationData
をつかっておけばWin7でも問題ないのでしょうか?
0693デフォルトの名無しさん
2011/05/28(土) 18:53:33.51ユーザ共通データはインストール時にCommonApplicationDataに
フォルダ作った上でそこのACL操作しないと
0694デフォルトの名無しさん
2011/05/28(土) 19:22:37.28情報ありがとうです。
ユーザー個別の出力データと設定、共通の出力データと設定が起きたいのですが、ややこしそうですね><
ACLってのわからないのでググってきます。
0695デフォルトの名無しさん
2011/05/28(土) 19:34:30.760696デフォルトの名無しさん
2011/05/28(土) 19:36:11.47どんどん濃度が上がるぜ
0697デフォルトの名無しさん
2011/05/28(土) 19:46:38.00カス…かなぁ?
「こいつに任せとけば、単体までおk」
みたいなのは、結構いるけどな。
中国人も含めて。
0698デフォルトの名無しさん
2011/05/28(土) 19:47:08.34どのようにすればよいでしょうか?
MouseClickイベントを拾ってキャンセルする形になるんでしょうか?
SelectedIndexChangedで拾って確認メッセージを出してNOなら、
強制的に以前のインデックスを代入とかで実装するのでしょうか?
0699デフォルトの名無しさん
2011/05/28(土) 19:48:47.920700デフォルトの名無しさん
2011/05/28(土) 19:53:19.93"*.bmp *.gif *.png *.jpg *.jpeg"とかやったんですけどやっぱりダメでした。
ググっても見つかりません。
よろしくお願いします。
0701デフォルトの名無しさん
2011/05/28(土) 19:53:22.71優秀なPGをわざわざ管理に回しちゃう、PGのままだと稼げないとかいうようなとこはダメだと思う。
0702デフォルトの名無しさん
2011/05/28(土) 19:53:24.380703デフォルトの名無しさん
2011/05/28(土) 19:55:01.490704デフォルトの名無しさん
2011/05/28(土) 19:56:03.21質問スレッドに移りますので>>698はスルーでお願いします。
0705デフォルトの名無しさん
2011/05/28(土) 20:06:33.92無理
GetFiles()/EnumerateFiles()で全部取ってからPath.GetExtensionで自分で判断する
0706デフォルトの名無しさん
2011/05/28(土) 20:08:35.44ありがとうございました、了解です。
0707デフォルトの名無しさん
2011/05/28(土) 20:15:26.440708デフォルトの名無しさん
2011/05/28(土) 20:16:23.670709デフォルトの名無しさん
2011/05/28(土) 20:24:56.44WM_KEYDOWNとかで頑張ってみる ただし相手アプリによる
0710デフォルトの名無しさん
2011/05/28(土) 20:34:04.24Win32APIでハンドルを調べて送る
0711デフォルトの名無しさん
2011/05/28(土) 22:32:14.74プログラムなんて小学生でも書けるのにな
こういうこと言うと必ず「でも金稼いでるから」とか言い出す始末
0712デフォルトの名無しさん
2011/05/28(土) 22:39:23.980713デフォルトの名無しさん
2011/05/28(土) 22:41:36.30言っちゃ悪いけどお里が知れる見解だねw
少なくとも英語圏にはそんなオッサンは山ほどいる事実をどう考えるんだろうこういう奴。
っていうか、この人口減少時代にそんな60年代的な出世幻想を持ってる自分が
いちばんオッサン臭いことがわかんないかね
0714デフォルトの名無しさん
2011/05/28(土) 22:47:24.71現実と理想のギャップに悩んでるだけだよお
0715デフォルトの名無しさん
2011/05/28(土) 22:47:45.900716デフォルトの名無しさん
2011/05/28(土) 22:49:48.810717デフォルトの名無しさん
2011/05/28(土) 22:50:58.940718デフォルトの名無しさん
2011/05/28(土) 23:04:52.510719デフォルトの名無しさん
2011/05/28(土) 23:11:02.210720デフォルトの名無しさん
2011/05/28(土) 23:20:32.62おまえら油断も隙もないなw
07211/2
2011/05/28(土) 23:45:18.07書きこもうとしたら、長すぎと言われたので2つに分けます。
C言語で、mallocでメモリを確保してchar*として返す関数を作成し、
それをDLLにしました。
C#で、その関数を呼ぶようにしました。
関数のcallは成功し、StringBuilderとして値が取れることは
確認できたのですが、Cでmallocして確保したメモリの解放を
どうすればよいのかわかりません。
0722721 (2/2)
2011/05/28(土) 23:49:40.87解放してくれるのでしょうか。
それとも、DLL側にメモリ解放する関数を用意する必要が
あるのでしょうか。
もしくは、C#上で解放する方法があるのでしょうか。
すみませんが、ご存知の方教えていただきたいです。
0723デフォルトの名無しさん
2011/05/28(土) 23:55:47.90君、天才だね!
0724デフォルトの名無しさん
2011/05/28(土) 23:57:33.24英語圏はすごいんだね!
0725デフォルトの名無しさん
2011/05/28(土) 23:57:48.77感動したよ!
0726デフォルトの名無しさん
2011/05/29(日) 00:10:40.31手動で解放する必要がある。.NETが解放できるのは.NETが確保した領域だけだし。
StringBuilderやっちゃうと解放するポインタが失われるからやっちゃ駄目。
IntPtrで受けてMarshal.PtrToStringAnsiとかでStringに変換。
解放はC側に解放用関数を用意するのがベストだね。
0727デフォルトの名無しさん
2011/05/29(日) 00:13:19.180728デフォルトの名無しさん
2011/05/29(日) 00:16:24.86>言っちゃ悪いけどお里が知れる見解だねw
コレの翻訳を、英語で書いてみしてください。
0729デフォルトの名無しさん
2011/05/29(日) 00:19:37.990730デフォルトの名無しさん
2011/05/29(日) 00:26:20.55挑戦してみた。
i think you feel bad so.LOL to your mind.
最近LOLっていわないかな。
0731デフォルトの名無しさん
2011/05/29(日) 00:28:03.800732デフォルトの名無しさん
2011/05/29(日) 00:31:26.92・・・
0733デフォルトの名無しさん
2011/05/29(日) 00:37:22.61間違いなく後々自分が辛いことになるよ。
人口減ってくし、日本はこれからどんどん下り坂なのに
歳食うだけでポストも給料も上がるなんてねずみ講がいつまでも維持できるわけねえだろ。
真面目な話。
しかし搾取されてるだの老害だの、こういうねずみ講システムの被害者ぶってる奴に限って
こんな腐ったシステムに自分も乗っかる(乗っかれる)つもりでいるのは頭悪いのか?
0734デフォルトの名無しさん
2011/05/29(日) 00:41:10.390735デフォルトの名無しさん
2011/05/29(日) 00:43:17.190736デフォルトの名無しさん
2011/05/29(日) 00:44:27.210737デフォルトの名無しさん
2011/05/29(日) 00:45:23.260738デフォルトの名無しさん
2011/05/29(日) 01:04:36.730739デフォルトの名無しさん
2011/05/29(日) 01:26:22.830740デフォルトの名無しさん
2011/05/29(日) 03:23:57.890741デフォルトの名無しさん
2011/05/29(日) 03:49:01.000742デフォルトの名無しさん
2011/05/29(日) 07:33:31.430743デフォルトの名無しさん
2011/05/29(日) 07:51:28.53BEのデータ変更で値段が表示されなくなっちゃった。
http://offgao.no-ip.org/program/iconshop.html
オフガオ ◆e/Q/OffGaoさんの掲示板も震災以降閉鎖のまま・・・。
誰かソース修正して><
0744デフォルトの名無しさん
2011/05/29(日) 07:57:00.630745デフォルトの名無しさん
2011/05/29(日) 08:05:14.12ワラタ
0746デフォルトの名無しさん
2011/05/29(日) 08:19:29.200747デフォルトの名無しさん
2011/05/29(日) 08:47:18.160748デフォルトの名無しさん
2011/05/29(日) 10:21:21.73このファイルはC++でコンパイルして、このファイルはC#でコンパイルと一つのプロジェクト内でコード状態の時から連携できないんでしょうか?
0749デフォルトの名無しさん
2011/05/29(日) 10:35:13.24出来ません
0750デフォルトの名無しさん
2011/05/29(日) 10:37:35.030751デフォルトの名無しさん
2011/05/29(日) 11:24:58.230752デフォルトの名無しさん
2011/05/29(日) 12:22:21.250753デフォルトの名無しさん
2011/05/29(日) 12:26:55.44C++/CLIを使えば良いじゃん
0754デフォルトの名無しさん
2011/05/29(日) 12:33:48.88コード状態からの連携はそれでも無理だよ
利点と言ったらアンマネージドコードからマネージドコード呼べるくらい?
逆はc#でも出来るから、c#より複雑な割に使い所が少ないよ
0755デフォルトの名無しさん
2011/05/29(日) 12:38:06.730756デフォルトの名無しさん
2011/05/29(日) 12:48:29.28…まあ言うほどのメリットでもないか
0757デフォルトの名無しさん
2011/05/29(日) 12:52:49.010758デフォルトの名無しさん
2011/05/29(日) 13:26:43.530759デフォルトの名無しさん
2011/05/29(日) 13:28:05.540760デフォルトの名無しさん
2011/05/29(日) 13:30:38.100761デフォルトの名無しさん
2011/05/29(日) 13:37:23.700762デフォルトの名無しさん
2011/05/29(日) 13:40:03.97XNAはDirectX9ですし
残念ながら、あなたには無理です
0763デフォルトの名無しさん
2011/05/29(日) 14:25:45.04byte[] msg;
fixed(byte* p = &msg[0])
string str = new string((sbyte*)(p + 0x1b));
こんな感じの内容なのですがunsafeを使わずに実現するにはmsgを1つずつ調べて長さを求めた後変換するしかないのでしょうか?
0764デフォルトの名無しさん
2011/05/29(日) 14:58:02.860765デフォルトの名無しさん
2011/05/29(日) 15:00:29.19後ろが'\0'で埋まってるなら>>764
0766デフォルトの名無しさん
2011/05/29(日) 15:16:28.170767デフォルトの名無しさん
2011/05/29(日) 15:23:00.910768デフォルトの名無しさん
2011/05/29(日) 16:53:20.830769デフォルトの名無しさん
2011/05/29(日) 16:55:25.490770デフォルトの名無しさん
2011/05/29(日) 17:33:07.010771デフォルトの名無しさん
2011/05/29(日) 17:34:23.72WS_EX_TOPMOSTのコンスタントが持ってる値の話?
http://yokohama.cool.ne.jp/chokuto/urawaza/prm/extended_window_style.html
0772デフォルトの名無しさん
2011/05/29(日) 17:37:06.71そこまで行くとクレクレ君の奴隷だな
0773デフォルトの名無しさん
2011/05/29(日) 17:45:07.03C++のプロジェクトを追加しておいて値を知りたい文字にカーソルを合わせるとポップアップで値がわかるんですが
C#だけで調べる方法はないんですか?
0774デフォルトの名無しさん
2011/05/29(日) 17:46:15.130775デフォルトの名無しさん
2011/05/29(日) 17:47:12.05WS_EX_TOPMOSTなどはC#では本来使わないからねえ
なので調べる必要がある
0776デフォルトの名無しさん
2011/05/29(日) 17:47:51.92フラグが立っているかどうやって調べればいいんですか
だ
0777デフォルトの名無しさん
2011/05/29(日) 17:50:46.18あきらめてC++CLRからDLLで連携することにしました
ありがとうございました。
0778デフォルトの名無しさん
2011/05/29(日) 17:52:21.46なるほどせこせこ切り出すより全部文字列として取得してから詰めたほうが分かりやすいですね
後ろが\0で埋まってるわけではないので今回はIndexOfでやることにします、ありがとうございました
0779デフォルトの名無しさん
2011/05/29(日) 17:52:36.16ヘッダーファイルってなんですか
かも
0780デフォルトの名無しさん
2011/05/29(日) 17:53:11.25そういうことじゃないけどねw
なるべくならVC#で楽するっていうのも手だし
0781デフォルトの名無しさん
2011/05/29(日) 17:56:01.58ファイルの一覧をすべて取得できませんが、どのようにすれば
一覧をすべて取得できますか?
0782デフォルトの名無しさん
2011/05/29(日) 17:58:11.53C#ではどういう記述なのか疑問
0783デフォルトの名無しさん
2011/05/29(日) 18:01:14.06http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html
0784デフォルトの名無しさん
2011/05/29(日) 18:12:11.66Explorer側が対応してないから無理
0785デフォルトの名無しさん
2011/05/29(日) 18:20:24.55すいません、書き方が悪かったですね…
起動時の引数以外の方法で構いませんので、一覧を取得する方法
を教えていただけますか?
0786デフォルトの名無しさん
2011/05/29(日) 18:26:52.55質問の趣旨がいまいちw
自前の拡張子でレジストリいじれるなら
MultiSelectModelで調べたらいいと思う
0787デフォルトの名無しさん
2011/05/29(日) 18:39:53.43すいませんorz
ありがとうございます。調べてみます。
0788デフォルトの名無しさん
2011/05/29(日) 19:19:49.04PC2台がLANで繋がっているという前提で、
片方のPCから、もう片方のPCに何らかのメッセージを送って
それをハンドルさせたいのですが
何か良い方法ありませんか?
ちなみにOSはWindowsXPです。
0789デフォルトの名無しさん
2011/05/29(日) 19:23:19.380790721
2011/05/29(日) 22:48:39.61レスありがとうございます。
自分で解放しなければならないのですね。
引数を増やす、ということはできないのですが、
関数を増やすことはできそうなので、
解放する関数を追加することにします。
ありがとうございました。
0791デフォルトの名無しさん
2011/05/30(月) 00:16:20.01せっかくC#勉強してるから、このままASPにしようかと思うんだけど、
シェアはやっぱりHTML5とCSS、JAVAScriptですか?
0792デフォルトの名無しさん
2011/05/30(月) 00:23:32.85それらは全然比較対象じゃあないよ。
0793デフォルトの名無しさん
2011/05/30(月) 00:41:28.69ASP.NETはサーバー上でHTML作って返す技術で、
最近はちゃんとHTML5にも対応してるし、
一部のコントロール(できあいのUI部品)は生成結果のHTMLがJavaScriptを使ってる。
0794デフォルトの名無しさん
2011/05/30(月) 00:55:49.390795デフォルトの名無しさん
2011/05/30(月) 01:07:39.67ASPにするかHTML5にするかという考え方はおかしい。
「HTML5よりJavaScriptですか?」みたいな質問。
さらにASP.NETはサーバーサイドの技術だからユーザーにとっては知ったこっちゃ無いし
シェアを気にする必要は無い
0796デフォルトの名無しさん
2011/05/30(月) 01:11:41.03JSP(Java)やPerlやPHPと同類だといったほうが早い
0797デフォルトの名無しさん
2011/05/30(月) 01:15:41.42大丈夫か?
0798デフォルトの名無しさん
2011/05/30(月) 01:17:48.32TabPage上をクリックしなくてもタブの横の何も作られていない空白部分を押しても反応してしまいます
どうにかしてTabPageのボタン上でしか右クリックできるようにできないでしょうか?
0799デフォルトの名無しさん
2011/05/30(月) 01:33:04.38質問する前に対象クラスのメンバ一覧ぐらい目を通すべきだ
ところで忍法帳って何?w意味がわからん
0800デフォルトの名無しさん
2011/05/30(月) 01:37:39.622ch 忍法帳
とかでぐぐればまとめwikiでてくるんじゃないかな?
0801デフォルトの名無しさん
2011/05/30(月) 01:41:36.650802798
2011/05/30(月) 02:08:32.56ありがとうございます。座標指定ができるみたいなのでそれを使ってみようと思います
TextBoxコントロールにしろ、TabPageにしろ、自分でコントロールを作って座標指定するときには
普通はちょっとずつ移動していくんですか?いい方法教えてください
0803デフォルトの名無しさん
2011/05/30(月) 06:54:42.44ちょっとよく分からないです
フォント等によってスケーリングされる機能はある
あとはコンテナとクライアント座標の関係を調べてみては
0804802
2011/05/30(月) 16:21:37.32例えば
TextBox tb = new TextBox();
〜〜〜〜省略〜〜〜〜
tb.Location = new Point(128, 128);
自分でコントロール作って、座標指定するときにちょっとずれちゃったりずれたりして
ちょっとずつ座標ずらしながらやっていくんですが・・・他の人はどんな方法でやっているのかなと思って聞いてみました
あと>>799のレスを見てMSDNライブラリを参考にしてやってみたんですが
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem m1 = new ToolStripMenuItem();
ToolStripMenuItem m2 = new ToolStripMenuItem();
menu.Size = new Size(100, 100);
menu.Text = "";
menu.Show(10, 10);
m1.Name = "m1";
m1.Text = "メニュー1";
m2.Name = "m2";
m2.Text = "メニュー2";
this.ContextMenuStrip = menu;
menu.Items.Add(m1);
menu.Items.Add(m2);
Form1にContextMenuStripに設定してやっているんですが、どこを右クリックをしても表示されしまいます……
0805デフォルトの名無しさん
2011/05/30(月) 16:51:16.530806デフォルトの名無しさん
2011/05/30(月) 21:16:10.00例外も出ずどうしていいかわかりません
0807デフォルトの名無しさん
2011/05/30(月) 21:19:49.970808デフォルトの名無しさん
2011/05/30(月) 21:36:17.91IDE上で動かしている時の話をしてるなら、そのまま[F5]で継続でOK。
0809デフォルトの名無しさん
2011/05/30(月) 22:13:54.75意図的に読み込んだ別xmlファイル
<?xml version="1.0"?>
-<FileExtendedInformationClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<fileExList/>
</FileExtendedInformationClass>
コード
public SaveClass sc = new SaveClass();
System.IO.FileStream fs;
sc = new SaveClass();
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer( typeof( SaveClass ) );
fs = new System.IO.FileStream( ofd.FileName, System.IO.FileMode.Open );
try
{
sc = (SaveClass)serializer.Deserialize( fs ); //ここでXMLドキュメント(2,2)エラーで止まる
}
catch( InvalidCastException exc )
{
System.Diagnostics.Debug.Print( exc.Message );
MessageBox.Show( "サポート外" );
fs.Close();
DataCB.SelectedIndex = 0;
return;
throw;
}
0810デフォルトの名無しさん
2011/05/30(月) 22:15:17.56public class SaveClass
{
public string Info = "識別 0";
public List<string> Data = new List<string>();
}
0811デフォルトの名無しさん
2011/05/30(月) 22:17:46.10>>807の指摘が伝わってないなw
長いコード貼るのなら>>2のコード晒しサイトつかったらという
アドバイスなんだから
0812デフォルトの名無しさん
2011/05/30(月) 22:22:49.34たぶんInvalidOperationExceptionで拾えると思う
忍法帖リセットされたのに1KBもよく貼れたもんだ
0813デフォルトの名無しさん
2011/05/30(月) 22:52:28.56chatchはエラーを全部拾うものかと思ってました
ありがとうございました
0814デフォルトの名無しさん
2011/05/30(月) 23:07:08.360815デフォルトの名無しさん
2011/05/30(月) 23:24:21.79楽観的同時実行制御が基本じゃなかったっけ?
0816デフォルトの名無しさん
2011/05/31(火) 01:28:09.62ペンタブレットデバイスでのカーソル位置とマウスのカーソル位置を共有させないで
ペンタブレットの方は完全にソフト側から制御してメッセージを全て特定アプリケーションにだけ送られるようにするにはどうすればいいですか?
0817デフォルトの名無しさん
2011/05/31(火) 09:20:21.830818デフォルトの名無しさん
2011/05/31(火) 09:36:55.680819デフォルトの名無しさん
2011/05/31(火) 13:07:40.62using (TransactionScope transaction = new TransactionScope())
{
//なんでこれでトランザクションがかかるのですか?
}
0820819
2011/05/31(火) 14:02:21.020821デフォルトの名無しさん
2011/05/31(火) 14:25:34.070822デフォルトの名無しさん
2011/05/31(火) 15:24:42.930823デフォルトの名無しさん
2011/05/31(火) 15:27:23.76の事を言っているのならお払い箱
http://msdn.microsoft.com/ja-jp/library/5y536ey6.aspx
の事を言っているのならIList<T>を実装するとき、
またはインスタンスをIList<T>の機能に限定して利用するとき
0824デフォルトの名無しさん
2011/05/31(火) 15:29:28.190825デフォルトの名無しさん
2011/05/31(火) 15:35:37.33アセンブリ間の依存度減るから、
プロパティの型とかでリスト機能使いたかったら IList<T> で公開する。
0826デフォルトの名無しさん
2011/05/31(火) 15:38:21.080827デフォルトの名無しさん
2011/05/31(火) 15:43:58.200828デフォルトの名無しさん
2011/05/31(火) 16:06:17.29その矩形の任意の領域をコピーして別のgraphicsに貼りつけて
描画したいんですが、そういうことできますか?
0829デフォルトの名無しさん
2011/05/31(火) 16:10:13.70Bitmapを作成してFromImageでGraphicsを作成してそこに保存するのが手軽
0830デフォルトの名無しさん
2011/05/31(火) 16:17:05.54いやいや、意図以外の情報消すのがインターフェイスの利用なのにw
ただ、でも、過剰にインターフェイスにし過ぎて、必要な意図まで消しちゃう場合もあるにはあるのよね。
メソッドの宣言に表れない情報ってのもあるんで。
0831デフォルトの名無しさん
2011/05/31(火) 16:21:51.02裏で勝手にtransactionとその内側のSqlConnectionが連携してるとか、
なんかキモいよね。
いまいちその辺りの内部挙動でいい説明っての、見たことないのよねぇ…
0832デフォルトの名無しさん
2011/05/31(火) 16:59:34.43ほんとに動いてるのかよって疑いたくなるね
0833デフォルトの名無しさん
2011/05/31(火) 17:09:01.37TransactionScope t = new TransactionScope();
t.Dispose();
つーか、TransactionScopeをnewした瞬間がbegin tran?
わけわからんね。
0834デフォルトの名無しさん
2011/05/31(火) 17:09:24.000835デフォルトの名無しさん
2011/05/31(火) 17:40:12.12からWindow型に変換する方法ありますか?
どう考えても
(Window)FindWindow( null, "Window1" )
できそうなんですがなぜかできません
0836デフォルトの名無しさん
2011/05/31(火) 17:49:08.870837デフォルトの名無しさん
2011/05/31(火) 17:53:46.030838デフォルトの名無しさん
2011/05/31(火) 17:56:09.39お前を生け贄に捧げても無理
0839デフォルトの名無しさん
2011/05/31(火) 18:09:00.890840デフォルトの名無しさん
2011/05/31(火) 18:23:52.590841デフォルトの名無しさん
2011/05/31(火) 19:34:25.67一応同じプロセスなら
var w = (Window)HwndSourcve.FromHwnd(handle).RootVisual;
0842デフォルトの名無しさん
2011/05/31(火) 23:35:38.740843デフォルトの名無しさん
2011/06/01(水) 06:29:00.95間違っています。
以上。
↓次どうぞ
0844デフォルトの名無しさん
2011/06/01(水) 09:14:49.04http://www.asp.net/entity-framework/tutorials
0845デフォルトの名無しさん
2011/06/01(水) 09:14:50.38するとして
トランザクションはどのタイミングでかかりますか?
0846デフォルトの名無しさん
2011/06/01(水) 09:15:46.850847デフォルトの名無しさん
2011/06/01(水) 11:13:01.24大きくなった時にフォームからはみ出てしまうと、はみ出した部分が表示されなくなってしまいます。
はみ出した分も表示されるようにするにはどうしたらよいでしょうか。
イメージとしては、フォームの最下部にDateTimePickerを配置すると、カレンダーはフォームの外にはみ出して表示されますが、これが理想です。
0848デフォルトの名無しさん
2011/06/01(水) 11:48:12.87Control.SetTopLevel
ただし親が設定されてると例外出た
0849デフォルトの名無しさん
2011/06/01(水) 15:21:57.42TransactionScopeがらみはそこのどこのページ?
あと、Get StartedじゃなくてDeep Dive的なのは無いの?
0850デフォルトの名無しさん
2011/06/02(木) 04:05:18.58教えてほしいんですが。
C,C++なら
typedef union
{
int a;
short b;
double d;
}Union;
としたらUnionのサイズはsizeof(double)で
Union u = 1;としたら、aに1が入ると思うんですが。
C#で
[StructLayout(LayoutKind::Explicit)]
ref struct Union
{
[FieldOffset(?)]int a;
[FieldOffset(?)]short b;
[FieldOffset(?)]double d;
};
と宣言したとして、?の部分には何の数値を入れればよいのでしょうか。
ヘルプを見ると「フィールドの物理的な位置を示します。」
と書かれているのですが、物理的な位置という意味がわかりません。
どなたか教えてください。
0851デフォルトの名無しさん
2011/06/02(木) 04:12:00.040852デフォルトの名無しさん
2011/06/02(木) 04:17:51.36メモリ上のレイアウトで、そのメンバーをどこに置きたいかを指定する。
Cのunion的に使いたかったら全部同じ数字入れる。
その例だと、?のところは全部0でOK。
0853デフォルトの名無しさん
2011/06/02(木) 08:18:49.26C#でゲームを作る本を探している最中なのですが、一つ教えてください。
XNAという言葉がよく出てくるのですが、C#とXNAってどういう関係になるのでしょうか?
XNAで作ったゲームはXBoxでしか実行できないのでしょうか?
私はXBoxは持ってないので、PCのWindows上でできるゲームを作りたいです。
お勧めの参考書とかあれば教えてください。
0854デフォルトの名無しさん
2011/06/02(木) 08:49:26.960855デフォルトの名無しさん
2011/06/02(木) 09:33:47.550856デフォルトの名無しさん
2011/06/02(木) 09:34:02.89VisualStudioのような統合環境のゲームに特化した物がXNAってことですか?
で、その中で使われる言語はC#って感じですか?
0857デフォルトの名無しさん
2011/06/02(木) 09:39:00.410858デフォルトの名無しさん
2011/06/02(木) 09:43:14.35難しく考える必要はないよ
VC# expressをインストールして、XNA game studio インストールすれば
XNAプロジェクト作れるようになるので
XNAとは
http://game.watch.impress.co.jp/docs/20061219/3dxna.htm
XNAのインストール方法など
http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld04/directxworld04_01.html
XNA Game Studio入手先
http://msdn.microsoft.com/ja-jp/xna/aa937791
XNAでゲーム製作の際に参考にするといいサイト
http://sorceryforce.com/xna/index.html
0859デフォルトの名無しさん
2011/06/02(木) 09:47:01.72特に概念的な解説がね。もっと具体的に説明するとか、表現が違うだろ、って感じることばかりで。
皆さんにもありません?同じ内容の本なのに、分かりやすいのと、分かりにくいのあるでしょ?
だから、ここで別の表現をしてくれる人が居ないかな?と期待してるのですよ。
ググって理解できたなら聞かないってば。
0860デフォルトの名無しさん
2011/06/02(木) 09:48:13.89英語の情報とC++&DirectXのサンプルコードを読む気がなければ厳しい
それでも他の言語使うのに比べれば情報はすごく多いけど
WinFormsみたいなぬるま湯環境とくらべるとかなり落差がある
0861デフォルトの名無しさん
2011/06/02(木) 09:49:11.48開発慣れててもあんまり使いたくない
まあ探せばあるよ
あと慣れてくれば英語圏のフォーラム探した方がいい場合が多い
XNAって国内だとあんまり使われてる印象がないんだよな
0862デフォルトの名無しさん
2011/06/02(木) 09:54:00.99分からないなら他のサイトを探すなり本を買うなりすれば?
0863デフォルトの名無しさん
2011/06/02(木) 09:54:54.67大量に入手できる環境はないと思う
英語できないならC++/DirectXの書籍を買ったほうがたぶん楽
0864デフォルトの名無しさん
2011/06/02(木) 10:02:01.95何冊か、ゲーム製作本のレビューよみましたが似たようなこと書いてました。
結局、ネイティブなAPIをC#で扱ってるだけ、みたいなこと。
XNAはそういうのを、ユーザーに意識させないインターフェースってことですか?
0865デフォルトの名無しさん
2011/06/02(木) 10:04:49.26別のライブラリに移植してる最中
XBOXで出すんじゃなければXNAはメリット少ない
0866デフォルトの名無しさん
2011/06/02(木) 10:05:21.18windows上の話だと単なるDirectXラッパーのようなものでしょ
あとゲームループの基本ループはXNA側で処理されてて
所定のタイミングで呼ばれる関数部分に自分でコード書いていくっていう発想
0867デフォルトの名無しさん
2011/06/02(木) 10:10:59.86XNAじゃないほうがいいのでしょうか?
0868デフォルトの名無しさん
2011/06/02(木) 10:14:05.53さあ・・・
どういうゲームを作るかにもよるしなあ
2DゲームならC++&DXライブラリという手もあるし
でもwindows PhoneだとSilverLightで開発することになるんだけど
ゲーム作る場合はXNAも使えるしねえ
WP7がどこまで伸びるかだけどw
ちなみにどういうゲーム作る予定なの?
0869デフォルトの名無しさん
2011/06/02(木) 10:15:07.86開発者がやりやすい方法でやればよいのです
0870デフォルトの名無しさん
2011/06/02(木) 10:15:39.84OpenGLだろうとDirectXだろうとXNAだろうと基本は似たようなもんだから無駄にはならん
いまどき3Dレンダリングの知識は3D使わなくてもどのみち必須
XNAはC#と.NETが使えることに意味があるんであって、
XNAを使う部分はC++からDirectX叩くのとほとんど変わらん
0871デフォルトの名無しさん
2011/06/02(木) 10:17:19.38まあそうだねw
結局どこでゲームを展開したいかによって、最悪は新しく言語を習得しないといけないんだし
でもゲームの基本的な流れはどのプラットフォームでもそれほど変わらないしなあ
0872デフォルトの名無しさん
2011/06/02(木) 10:18:12.35まー画像処理やるなら、ゲームも何も無いんだけどな
C#でDirectXやりたいけどXNAは使いたくないなら、SlimDXでも使っとけ
0873デフォルトの名無しさん
2011/06/02(木) 10:23:24.750874デフォルトの名無しさん
2011/06/02(木) 10:24:34.05頂点バッファとシェーダだけという漢なAPIだけど
0875デフォルトの名無しさん
2011/06/02(木) 10:26:35.79フレームワークに頭使いたくない素人でもなんとかなる
GUIもあるしな
GUIを一通りフルスクラッチしようとすると面倒すぎる、ボスケテ
0876デフォルトの名無しさん
2011/06/02(木) 10:28:20.49今>>865さんの話が気になってて、
XNAで作ったプログラムはXBoxじゃないと使えないのですか?
なぜ>>865さんは他のライブラリに移植させようとしてるのでしょうか?
XNAで作ったプログラムを動かすには、なにか専用のランタイムか何かがひつようってことでしょうか?
0877デフォルトの名無しさん
2011/06/02(木) 10:30:16.42XNAのランタイムが必要になる
0878デフォルトの名無しさん
2011/06/02(木) 10:32:39.190879デフォルトの名無しさん
2011/06/02(木) 10:33:17.89ならSilverlight5でいいじゃん
空域問題なしで普通にGUIの中でXNAの描画が使えるよ
今までなかった理想的な形
0880デフォルトの名無しさん
2011/06/02(木) 10:33:47.35まもって騎士
http://www.ancient.co.jp/~game/mamotte_knight/
0881デフォルトの名無しさん
2011/06/02(木) 10:34:59.15ちと調べてみるかね
0882デフォルトの名無しさん
2011/06/02(木) 10:35:01.05関連といえば
WPF上でXNAを・・・
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part9
http://hibari.2ch.net/test/read.cgi/tech/1301122694/527
0883デフォルトの名無しさん
2011/06/02(木) 11:11:08.40TabPageを削除するときにTabControlのTabPagesプロパティのRemoveメソッド使って削除するとTabIndexがずれて、正常に動かなくなるんです……
どなたかいい解決方法知らないですか?
0884デフォルトの名無しさん
2011/06/02(木) 11:13:46.13http://dobon.net/vb/dotnet/control/tabpagehide.html
0885デフォルトの名無しさん
2011/06/02(木) 11:40:25.760886デフォルトの名無しさん
2011/06/02(木) 11:53:23.62OSのAPIは全て.NETで置き換えられるようになる」って断言してた記事を見たなー
0887デフォルトの名無しさん
2011/06/02(木) 12:16:16.11βが出た当初よりは3Dエンジンの開発が進んできてだいぶ良くなったけどね。
0888デフォルトの名無しさん
2011/06/02(木) 13:18:23.04見に行ったらもうなくなってた
誰かもってない?
0889デフォルトの名無しさん
2011/06/02(木) 13:20:13.49気がつかなかった
0890デフォルトの名無しさん
2011/06/02(木) 13:21:17.54もってたな
0891デフォルトの名無しさん
2011/06/02(木) 13:46:34.14これでいいのかね?
http://www.dotup.org/uploda/www.dotup.org1677488.png
0893デフォルトの名無しさん
2011/06/02(木) 14:01:39.640895デフォルトの名無しさん
2011/06/02(木) 19:10:31.9314ダウンロードw
0896デフォルトの名無しさん
2011/06/02(木) 19:32:22.650897デフォルトの名無しさん
2011/06/02(木) 19:38:11.150898デフォルトの名無しさん
2011/06/02(木) 19:41:55.780899デフォルトの名無しさん
2011/06/02(木) 19:42:16.130900デフォルトの名無しさん
2011/06/02(木) 20:02:10.120901デフォルトの名無しさん
2011/06/02(木) 20:13:13.090902デフォルトの名無しさん
2011/06/02(木) 20:23:39.40デバッグ時のEXEにはデバッグ情報が内蔵されていてassartなどの危険回避コードが含まれていることがある。
それらはリリース時に削除されて制限を開放されるので、デバッグ機構に依存したコードはそこでとまる可能性がある。
0903デフォルトの名無しさん
2011/06/02(木) 20:26:30.35何が起こってるんですか?って。
第三次大戦だ、とでも言ってほしいのかなw
0904デフォルトの名無しさん
2011/06/02(木) 20:41:00.92リリースビルドしたEXEファイルをそのまま配布して実行jした時は異常がでないんです
なので、セットアッププロジェクトに原因があるとしか思えないんです
0905デフォルトの名無しさん
2011/06/02(木) 20:44:16.570906デフォルトの名無しさん
2011/06/02(木) 20:53:08.27初めてなもので原因が無限に頭の中で広がってしまいすいません
0907デフォルトの名無しさん
2011/06/02(木) 20:57:35.55デスクトップに残るならXPモードの問題。アプリケーションに残るのなら再描画タイミングの問題。
としかいえないな〜。
0908デフォルトの名無しさん
2011/06/02(木) 20:58:15.500909デフォルトの名無しさん
2011/06/03(金) 20:22:22.37Managed DirectXというのでしょうか?
0910デフォルトの名無しさん
2011/06/03(金) 20:24:44.890911デフォルトの名無しさん
2011/06/03(金) 21:04:14.54まあMIDI自体がもう…
0912デフォルトの名無しさん
2011/06/03(金) 21:38:25.91これをウィンドウの大きさに合わせてサイズを調節する為には何のプロパティで設定したらよいのでしょうか?
0913デフォルトの名無しさん
2011/06/03(金) 21:40:35.94そんなアバウトな理解でコード書けるの?
0914デフォルトの名無しさん
2011/06/03(金) 21:41:20.84Dockプロパティ
0915デフォルトの名無しさん
2011/06/03(金) 21:50:37.33おおお!!!Anchorで上右下左設定したらウィンドウのサイズに合いました
ありがとうございます
0916デフォルトの名無しさん
2011/06/03(金) 21:54:54.64単にフルにできればいいなら
Dock を Fillにすればいいだけなんだけどね
0917デフォルトの名無しさん
2011/06/03(金) 22:47:31.84axWindowsMediaPlayer1のURLプロパティにファイルへのパスを設定しました
DockプロパティにはFillにしてフルにしました
これで起動すると勝手に動画が流れます
つづき
0918デフォルトの名無しさん
2011/06/03(金) 22:51:37.52映像の周りの黒い部分はウィンドウのサイズには合いますが。。。
ウィンドウのサイズに映像部分のサイズをあわせる事って出来ませんか?
0919デフォルトの名無しさん
2011/06/03(金) 22:57:43.80それはオーバーレイが追従してない感じだね
0920デフォルトの名無しさん
2011/06/03(金) 22:59:57.460921デフォルトの名無しさん
2011/06/03(金) 23:06:03.50それが有効になってるからウインドウをサイズを変えても動画の表示サイズが追従しないだろうね
http://blogs.dion.ne.jp/anis7742/archives/6826175.html
まあオーバーレイをOFFにすれば追従するだろうけど負荷があがるかもしれない
0922デフォルトの名無しさん
2011/06/03(金) 23:08:14.350923デフォルトの名無しさん
2011/06/03(金) 23:16:02.41具体的には、「マイ コンピュータ」右クック>「プロパティ」>「詳細設置」>「設定」
の「パフォーマンスを優先する」という設定をC#のアプリケーションから
行いたいのですが、どうしたらよいでしょうか。
0924デフォルトの名無しさん
2011/06/03(金) 23:19:23.25stretchToFitをtrueにして解決しました
完全にウィンドウに合わせるのは無理ですね、出来ても映像がおかしくなるからやらないほうがいいのでしょうか?????
オーバーレイの無効がいまいち探せませんでしたがURL先はたいへん参考になりました
ありがとうございます
0925デフォルトの名無しさん
2011/06/03(金) 23:51:48.45GUIGraphicsContextの所在がよくわからんのでC#から使えるのすらわからんw
0926デフォルトの名無しさん
2011/06/03(金) 23:52:13.09string[] files = System.IO.Directory.GetFiles(
@"C:\test", "*");
//ListBox1に結果を表示する
listBox1.Items.AddRange(files);
をするとlistboxにファイル一覧が表示されますが
これをファイル名だけ表示させる方法ってございませんか?
0927デフォルトの名無しさん
2011/06/03(金) 23:58:36.60http://blog.goo.ne.jp/hi_tag/e/8ad210f89706cadf867dc40a9f23d74a
0928デフォルトの名無しさん
2011/06/04(土) 00:53:25.45System.Diagnostics.Debug.Print();
が機能しませんこれはあきらめるしかないんですか?
0929デフォルトの名無しさん
2011/06/04(土) 00:57:36.74それで質問するほうがどうかしてる
0930デフォルトの名無しさん
2011/06/04(土) 09:44:26.19ありがとうございます
この方法ではある1つのファイルに対してのファイル名を取得する事はできるようです
string[] files = System.IO.Directory.GetFiles(@"C:\test", "*");のように
あるフォルダ以下のファイル名だけ取得するにはどうしたらいいでしょうか?
0931デフォルトの名無しさん
2011/06/04(土) 09:52:39.03ttp://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%AD%A1%BC%A5%EF%A1%BC%A5%C9%CF%A2%C1%DB%B8%ECAPI
「webAPI C#」で色々探してみたら「web参照」をすれば良いらしいことがわかったのですが、
いざ参照させてみようとすると
・URL
0932デフォルトの名無しさん
2011/06/04(土) 09:54:32.87(続きから)
いざ参照させてみようとすると、
・URLのドキュメントは既知のドキュメントの種類として認識されませんでした。
・'DISCOドキュメントからのレポート'(URL中略)で探索ドキュメントが見つかりませんでした。
・ドキュメント形式を認識できません。
…などと色々エラーメッセージが出てきてしまいます。
解決方法を教えていただけないでしょうか、宜しくお願いします。
0933デフォルトの名無しさん
2011/06/04(土) 10:06:23.41処理結果が返ってくるというだけのもの。web参照とかいらない。
URLへの引数の埋め込み方はAPIによるし言語関係ないから知らん。
URLができたらHttpWebRequestを使って結果を取得するだけ。
0934デフォルトの名無しさん
2011/06/04(土) 10:10:40.97そもそも「web参照を使う」という方法が間違っていたということなのですね…恥ずかしい…
素早いお答えをありがとうございます、意味のある恥をかけて良かったです
0935デフォルトの名無しさん
2011/06/04(土) 10:29:55.34引数はURLじゃなくてリクエストのbodyにXMLとして書き込まないとダメ
XML-RPC.NETというライブラリがあるみたいだから試してみたら
0936デフォルトの名無しさん
2011/06/04(土) 10:47:09.31はい、自分も先ほどURLのAPIを読み返して「XML-RPCってなんだろう?」
と思い色々探して先ほどXML-RPC.NETに至ったところです
他者のサンプルなどを参考に進めていきたいと思います。
本当にご丁寧にありがとうございます!
0937デフォルトの名無しさん
2011/06/04(土) 11:24:15.77MessageBox.Show(listBox1.SelectedItem);って書いたら
エラー 1 'System.Windows.Forms.MessageBox.Show(string)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
エラー 2 引数 1: 'object' から 'string' に変換できません
が出ます
どうやったらメッセージボックスを表示できますか?
0938デフォルトの名無しさん
2011/06/04(土) 11:26:40.85どうやってキャストするんですかと書き込んだらお前のパソコン壊す
0939デフォルトの名無しさん
2011/06/04(土) 11:41:53.44VC#の右下のプロパティでMouseClickイベントとKeyDownイベントにexecJikkouって名前をつけたら勝手にForm1.csにコードが付きました
ビルドして実行するとそれぞれのイベント処理を実行しますが、メソッド名がexecJikkou同じなのになぜちゃんとそれぞれのexecJikkou内に書いた処理が実行できるのでしょうか?
0940デフォルトの名無しさん
2011/06/04(土) 11:44:49.400941デフォルトの名無しさん
2011/06/04(土) 11:46:13.62Form1.Designer.csの方にイベントハンドラを設定するコードが追加されてる
確認してみろ
0942デフォルトの名無しさん
2011/06/04(土) 11:54:31.70this.listBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.execJikkou);
this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.execJikkou);
ってなってました。メソッド名ってかぶらないようにつけておいたほうが良いですか?
0943デフォルトの名無しさん
2011/06/04(土) 12:34:11.850944デフォルトの名無しさん
2011/06/04(土) 12:36:02.79どうやってキャストするんですか?
0945デフォルトの名無しさん
2011/06/04(土) 12:42:44.12まじすか
同じ処理はしてないのですが名前はかぶってるのにちゃんと別々の処理をしてるのです
0946デフォルトの名無しさん
2011/06/04(土) 12:54:06.72じゃあそれでいいじゃん
あなたの思惑通りに正しく動いているなら、それ以上何か問題があるの?
0947デフォルトの名無しさん
2011/06/04(土) 12:56:02.51C#とかJavaの世界は、どういう通信方式でどういうデータ形式で…ってのをきっちり決めるから
Visual StudioとかでWeb参照するだけでAPI利用できる。
LLな世界だと、その手の規約なく、オレオレ仕様なAPIが多いから、
自前でURLにアクセスするコード書かないと行けなかったりする。
そういう文化。
0948デフォルトの名無しさん
2011/06/04(土) 12:56:16.44>>939
0949デフォルトの名無しさん
2011/06/04(土) 12:56:25.520950デフォルトの名無しさん
2011/06/04(土) 12:58:49.30それで別の処理される?
スペルミスしてるとかなく?
元のコード完全にコピペ?
あと、execJikkouって、犬ドッグとか猿モンキー的な造語?
0951デフォルトの名無しさん
2011/06/04(土) 13:00:39.15VBやってるとそんなんばっか
0952デフォルトの名無しさん
2011/06/04(土) 13:01:36.640953デフォルトの名無しさん
2011/06/04(土) 13:04:12.27VBの仕事してるとそんな奴ばっか
0954デフォルトの名無しさん
2011/06/04(土) 13:06:50.18面倒だからコード貼れ
>>2のhttp://ideone.com/使えよ
使わなかったらへし折るから
0955デフォルトの名無しさん
2011/06/04(土) 13:28:10.06ヒント:引数が違う
0956デフォルトの名無しさん
2011/06/04(土) 14:55:01.02これをキーボードを離したときにまだ実行してない溜まってる処理をキャンセルする方法ってございませんか?
0957デフォルトの名無しさん
2011/06/04(土) 15:19:11.67メソッドのオーバーロード でぐぐれカス
でもイベントハンドラにそんなキチガイみたいな名前つけないほうがいいよ
VisualStudioならイベントの欄をダブルクリックすればデフォルトの名前つくから
そのなかでexecJikkouでもexecShokeiでも好きな名前のメソッドを呼んだらいいよ
0958デフォルトの名無しさん
2011/06/04(土) 15:22:50.08MouseDown,MouseUpでフラグの上げ下げして
処理してるメソッド内でそのフラグみれば?
メッセージキューにWM_LBUTTONDOWNとか溜まってたらどうなるか知らんけど
0959デフォルトの名無しさん
2011/06/04(土) 15:44:38.06引数が違うだろうからそこから推論されてるんじゃね?
0960デフォルトの名無しさん
2011/06/04(土) 15:57:59.20C#ってきもすぎ
0961デフォルトの名無しさん
2011/06/04(土) 16:02:49.63それは多重定義が理解できない君がアホなだけだよ。
0962デフォルトの名無しさん
2011/06/04(土) 16:04:04.86C++やJavaをやったことがないのか?
0963デフォルトの名無しさん
2011/06/04(土) 16:08:35.67splitContainer1.panel2をウィンドウいっぱいに広げるのは何のプロパティを設定したら出来ますでしょうか?
0964デフォルトの名無しさん
2011/06/04(土) 16:24:59.50panel1collapsedは?
0965デフォルトの名無しさん
2011/06/04(土) 16:38:14.59出来ました!ありがとうございます
0966デフォルトの名無しさん
2011/06/04(土) 16:56:16.97動的型付けでオーバーロードが仕様上意味をなさない言語に特有の患者です
お察し下さい
0967デフォルトの名無しさん
2011/06/04(土) 17:03:50.83悪いがPHPが出来ます
0968デフォルトの名無しさん
2011/06/04(土) 17:05:42.24別に悪くないよ
そんなに自分を卑下しないで
0969デフォルトの名無しさん
2011/06/04(土) 17:28:32.36いい子にしてなさい
0970デフォルトの名無しさん
2011/06/04(土) 17:42:54.370971デフォルトの名無しさん
2011/06/04(土) 17:51:51.55死ね
0972デフォルトの名無しさん
2011/06/04(土) 18:00:28.13音声しか再生できないのですが・・・
0973デフォルトの名無しさん
2011/06/04(土) 18:04:16.07ママのおっぱい吸ってたほうがいいような想像力のないガキばかり
0974デフォルトの名無しさん
2011/06/04(土) 18:08:47.06ほね」。
0975デフォルトの名無しさん
2011/06/04(土) 18:17:13.61起動時にファイルからForm1のサイズと位置を読み出して、位置とサイズを復元するには何を使えばいいですか?
0976デフォルトの名無しさん
2011/06/04(土) 18:19:44.77http://dobon.net/vb/dotnet/programing/mysettings.html
0977デフォルトの名無しさん
2011/06/04(土) 18:20:22.84×なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
○なお、テンプレ2行目が読めないクズ回答者は邪魔なので後述のC#相談室に移動して下さい。
◎なお、テンプレ2行目が読めないクズ回答者は誰も必要としていないので後述のC#相談室に移動して下さい。
0978デフォルトの名無しさん
2011/06/04(土) 18:27:17.84このまま立てなくてもいいんじゃねえか?
0979デフォルトの名無しさん
2011/06/04(土) 18:30:07.17レベルの低すぎるアホな質問者を罵倒禁止という解釈は不可能だな。
まあ、どんなテンプレだろうと合意した覚えもない縛りに従うつもりは一切ないけどねw
0980デフォルトの名無しさん
2011/06/04(土) 18:38:03.490981デフォルトの名無しさん
2011/06/04(土) 18:39:53.230982デフォルトの名無しさん
2011/06/04(土) 18:46:52.81つっこみになってるのか理解に苦しむが
少なくともレベルが低い相手に無駄なレスをしてるお前のほうがいらない子
0983デフォルトの名無しさん
2011/06/04(土) 18:49:14.630984デフォルトの名無しさん
2011/06/04(土) 18:58:47.81AnyCPUからx86にビルドを変更したらデバッグプリントが出力に出力されなくなりましたどうしてですか?
win7、64bitOS、VisualStudioVer2011Proです
あと、XNAのクラスライブラリをAnyCPUでビルドできません、C#、XNADLL共にx86だとビルド出来るんですがどうなってるんですか?
0985デフォルトの名無しさん
2011/06/04(土) 19:13:41.80この間の人か
32bitオンリーってことじゃないの?>XNA
ついこの間こんな話があった
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part9
http://hibari.2ch.net/test/read.cgi/tech/1301122694/528-532
0986デフォルトの名無しさん
2011/06/04(土) 19:21:51.73なので、XNAはDLLだとAnyCPUでもx64から呼べるということなのDLLにしても呼べないんです
XNAはDLLだと絶対呼べるらしいですがもう疲れたので、x86にしたのですがデバッグ情報が出てこないんです
0987デフォルトの名無しさん
2011/06/04(土) 19:42:36.080988デフォルトの名無しさん
2011/06/04(土) 19:44:57.820989デフォルトの名無しさん
2011/06/04(土) 19:47:40.63そこだけC++/CLIかネイティブのC++で書いてDLLにしたほうが手っ取り早い
0990デフォルトの名無しさん
2011/06/04(土) 19:52:34.84この場合は何のライブラリを利用するのが得策ですか?
0991デフォルトの名無しさん
2011/06/04(土) 19:57:14.50音鳴らしたいだけならDirectXなんか面倒なだけ
WindowsAPIだけでいい
0992デフォルトの名無しさん
2011/06/04(土) 19:58:55.770993デフォルトの名無しさん
2011/06/04(土) 20:01:18.96MIDI鳴らせるのはDirectMusicだけどすでに廃止されてるから使っちゃダメ
WindowsAPI一択
0994デフォルトの名無しさん
2011/06/04(土) 20:08:18.610995デフォルトの名無しさん
2011/06/04(土) 20:11:24.68どうやってMIDIで独特の音を鳴らすのか
0996デフォルトの名無しさん
2011/06/04(土) 20:17:01.50DirectMusicのソフトウェア音源でMIDI鳴らすという事です
0997デフォルトの名無しさん
2011/06/04(土) 20:24:33.91.NETから使えるメジャーなラッパーも無い。
0998デフォルトの名無しさん
2011/06/04(土) 20:25:47.810999デフォルトの名無しさん
2011/06/04(土) 20:27:11.751000デフォルトの名無しさん
2011/06/04(土) 20:30:06.14http://hibari.2ch.net/test/read.cgi/tech/1307186987/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。