[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/25 05:23 / Filesize : 221 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part84



1 名前:デフォルトの名無しさん mailto:sage [2012/01/17(火) 03:09:38.91 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part83
toro.2ch.net/test/read.cgi/tech/1325511769/

■関連スレ
C#, C♯, C#相談室 Part69
toro.2ch.net/test/read.cgi/tech/1323354868/
ミスターサタンのC#相談室 
hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part38)
toro.2ch.net/test/read.cgi/tech/1325083428/
くだすれC++/CLI(初心者用)part2
hibari.2ch.net/test/read.cgi/tech/1268613679/

369 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:14:14.74 ]
treeViewで隠し属性を表示させない方法はないでしょうか?

370 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:17:21.05 ]
隠し属性ってなんだよハゲ

371 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:18:57.19 ]
>>369
もしかすると「TreeViewでフォルダーツリー作っているんだが、hidden属性のフォルダー無視する方法ない?」って質問かな?

372 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:19:20.05 ]
はげてないよ

373 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:20:52.45 ]
ふっさふさだよ

374 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:22:15.42 ]
>>371
ですです

375 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:26:43.72 ]
>>374
hidden属性のフォルダーかチェックしてhiddennなら追加しない

376 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:31:25.40 ]
>>368
varで書くのはいいけどぱっと見で重要なオブジェクトかどうかわかりづらい
基本構造について理解が妨げられるような感じ

オブジェクト平等主義なんだろうけど定数の様な物や
stringはvarじゃないほうがいいような気がするなあ

377 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:36:07.31 ]
本題でもねえところに一々突っ込んでくんなよ



378 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:38:22.10 ]
触るな

379 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:43:12.62 ]
そうするよ

380 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 13:43:59.85 ]
language:がC++ (gcc-4.3.4)だとかどうでもいい

381 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:08:32.06 ]
>>365
C# で書いたDLLをCOMに見せかける機能はあるので、
C++ で一段階ラッパー書けば使えるとは思う。
結構大変(情報全然出てこない)と思うけど。

382 名前:デフォルトの名無しさん [2012/01/23(月) 14:15:35.43 ]
ツールボックスの中にあるフォルダダイアログって表示したままフォームの一部に貼り付けておくことって出来ないですか?

383 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:26:55.82 ]
LoadLibraryで.netのdllを呼んでくれるラッパーおれも欲しいで

384 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:59:02.80 ]
>>381
まじすか
これ需要あるますので有料でもいいのでほしいですよ

385 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:19:37.41 ]
ラッパーほしいとか有料でも欲しいと言ってる人は誤解している

386 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:20:15.01 ]
なぜよ?

387 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:26:58.33 ]
C++/CLIで作ればいいだけじゃないか



388 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:34:35.57 ]
ネイティブDllでは
CLIいれられないよ

389 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:36:27.02 ]
DllImportじゃダメなん?

390 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:39:31.33 ]
そのimportする対象のDLLが作れないってことだよ

391 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:52:32.08 ]
本当クソだなC#

392 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 15:56:26.14 ]
C++/CLIって何のためにあるんだw

393 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:16:22.16 ]
C++/CLIはいらない子、害悪

394 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:35:18.56 ]
listviewにヘッダーが一つだけあります
ヘッダーの列の幅を100%に自動調節したいので
ttp://dobon.net/vb/dotnet/control/lvautocolumnwidth.htmlをみながら
listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
と書いてみたのですがサイズが変わりません
どうかご教示お願いします

395 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:44:15.06 ]
>>394
変わるけどな?
先頭大文字なのが気になるけど、、、ちゃんと呼んでる?

396 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:44:49.22 ]
大文字なのはリンク先だった、失礼

397 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 16:50:07.58 ]
縦スクロールバーの処理入れると割と面倒だったな



398 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:06:49.15 ]
>>395
あれ?おかしいな?何でだろう
ヘッダーにwidth = -2にってやると100%で表示されるんですが
これだと画面の大きさや項目を変更したときには反映されないので困りました
ちなみに.Net4.0なんですけど項目は全部半角英数でaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaを10行挿入しました
ヘッダーめいはabcdeって入れてます

399 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:08:12.32 ]
>>389
やりたいことはその逆だからダメだろ。

>>392
ネイティブなものを .NET から使うためだよ。
今はその逆の話で、それは C++/CLI でやることじゃない。

400 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:09:47.19 ]
>>384
msdn.microsoft.com/ja-jp/library/8bwh56xe.aspx
こんなの。

別に無料版の VC#/VC++ でもできるんじゃないかな。
自分でやったことないからこれ以上はわかんない。

401 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:10:11.52 ]
まあ普通のDLL作ってそれがExeをキックすればいいな。

402 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:11:14.51 ]
>>400
ありがとう
もしよろしければこのリンク見てアフィリエイトふみまくるので誰か作ってください

403 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:15:19.68 ]
>誰か作ってください

まだ意味が解ってないみたいだな…

404 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:23:39.62 ]
c#で作った独自プログラムをCOM化してやって
それを使った中間ネイティブDLL作るんだよ

間に何かあって勝手にネイティブ変換してくれるもんじゃない
自分で作るもんだぞ

405 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:33:07.33 ]
つまり自分で作ったdllの中でそういう作業をしないといけないって事すか

406 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:34:44.84 ]
秀丸マクロでDLLを呼び出したらHello Worldを返すだけの処理なんですがサンプルお願いできませんか?

407 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:39:58.05 ]
秀丸マクロのつくり方のページをまじめに読んでいたら
そういうお願いは無駄だと感じるはずだけどなあ



408 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:52:33.58 ]
何かあったら金をちらつかせたり
他人に頼みごとをして解決する人は嫌いです

409 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 17:57:59.95 ]
ksなスレですねここは

410 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:35:17.92 ]
C++/CLIは.NETの上でC++を使いたい人用なんじゃないの。
ただのC++より安全だとは思うけどC++使うならネイティブの
ほうがいい。

411 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:40:02.57 ]
ごちゃごちゃ抜かさずCかC++覚えろ

412 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 18:59:36.52 ]
>>410
一番の用途はネイティブコードを .NET から参照する用よ。
.NET 使いたいだけなら素直に C# に移る方がよっぽど楽。

413 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:01:07.24 ]
つうかよ秀丸でC#のDLLを呼べるようにするのが一番いいよな

414 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:05:28.61 ]
もういいよ
まだ4000YENの話を続けなきゃいけないのか?

415 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:08:42.01 ]
MS製品ですら未だVB Scriptだからねぇ。
昔からあるものを、今のものに対応させるって大変。

416 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:14:06.86 ]
4000YENとか、金額の問題じゃないだよ

417 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:18:31.63 ]
どうしても金払いたいなら
日当三万払ってプロに頼めよ



418 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:26:45.99 ]
string[] a = {"a","b","c","d","e"};
という配列があって
インデックスAを指定して、指定した位置Bに移動する方法を伝授してください
例えばインデックス3を1の位置に移すなら
{"a","d","b","c","e"};
という結果にしたいのです

419 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:35:56.58 ]
string n = a[2];
a[3] = a[1];
a[1] = n;

これを書きたくないと言うならC#向いてないから今すぐ止めてくれ

420 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:38:18.56 ]
よく見ると処理内容が違ってるだろw

list<string>使えと言う回答はダメですかw

421 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:39:35.77 ]
>>419
止めるべきはお前だったな

ListならInsertで済むのにな
Listはメモリガーとか言う人かね

422 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:47:46.75 ]
後はまあ地道に、後ろにずらして行くしかないね
string b=a[3]
for (int i=2;i>=1;i++) {
a[i+1]=a[i];
}
a[1]=b;

423 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:52:04.57 ]
string[] a = {"a","b","c","d","e"};

a = new string[]{"a","d","b","c","e"};

424 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:56:00.16 ]
天才が出たぞ

425 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 19:56:46.40 ]
一時退避変数にインデックスの場所の値を入れておく
そこから後ろをArray.Copyで1個ずつ前にコピー
移動先を含めてArray.Copyで1個ずつ後ろにコピー
移動先に一時退避変数を代入

これでいいのか?

426 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:08:49.31 ]
余りにも身も蓋もないからちょっと改良

string[] a = {"a","b","c","d","e"};
a = new string[]{a[0],a[3],a[1],a[2],a[4]};

427 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:29:27.09 ]
リングバッファーではないよね。



428 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 20:58:54.10 ]
64バイトの中々ダブらない文字列を作るにはどうやれば良いですか?

429 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:04:30.13 ]
GUIDのテキスト表記からハイフン抜いて2つつなげる
っていうか64バイトもいらんだろ

430 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:05:09.40 ]
00000000
00000001
00000002
という感じで使える文字の範囲で順番に作ればダブらないよ

431 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:06:24.15 ]
GUID使うなら4つ必要じゃん

432 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:07:12.53 ]
guidって128ビットだった気がするんですが....

433 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:09:25.20 ]
33〜126の乱数をcharに変換して64個並べる

434 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:10:21.84 ]
>>423
wwwwwwwww

435 名前:429 mailto:sage [2012/01/23(月) 21:10:36.50 ]
2進数のテキスト表記で32文字x2ってこと

436 名前:429 mailto:sage [2012/01/23(月) 21:11:20.84 ]
すまん16進数の間違い

437 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:12:52.14 ]
>>431
Guid自体は128bitだけど文字だと32文字→とりあえず32バイト→2つ必要
ってことなんじゃね?



438 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:13:06.89 ]
>>419
何だそのしょぼコードは!
おまけに結果が変だろ!
dがないだろ!
{"a","c","c","b","e"};

439 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:26:35.48 ]
guidを調べて見ます。どうもありがと

440 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:35:35.57 ]
いやいやいや
どういう仕様なのか分からないからあれだが

441 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:37:32.99 ]
普通にGUIDをそのまま使えよ
64バイトもいらん

442 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:50:29.96 ]
64バイト使って256ビット分の情報量ってすごくもったいない感じだね

443 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:52:59.68 ]
んなこと言い出したらテキスト中の数値は全部バイナリにしないといけなくなるぞ

444 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 21:56:51.39 ]
テキスト中の数値はテキストとして価値があるだろ
今回UUIDを文字列にする価値があるのかは知らんが

445 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:01:29.10 ]
listViewのチェックを変更させないようにしたいのでchangedイベントで前の状態に戻すように書いたのですが
スタックオーバーフローになってしまいますがよい書き方や設定があったら教えてください。

446 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:15:20.97 ]
Checkedイベントでチェック状態変更したらループするだろ

チェック状態変更する前にフラグ立てて、2回目以降のCheckedイベントを回避しろ

447 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:21:17.99 ]
できた^−^ありがとん



448 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:21:55.11 ]
できません
>>447
この人は偽者です。

449 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:34:23.15 ]
あるかないか分からないファイルを沢山削除したいのですが、
fileExistsで確認してから削除するのととりあえずdeleteでエラーを受け取るのではどっちが良い(早い)ですか?

450 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:36:00.02 ]
そうですか、できないですか
困りましたね…

451 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:37:09.94 ]
そんなもんファイルが無い確率によるわ

452 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:38:48.73 ]
5000個のうち5-10%無いかもです

453 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:39:51.87 ]
じゃあExists使っとけ

454 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:40:50.26 ]
そうする

455 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:43:49.77 ]
例外が嫌ならP/InvokeでDeleteFile打ちまくれば?
良し悪しで言えば最悪だろうけど

456 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:48:40.28 ]
全てを消し去ってくれる

457 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 22:58:37.34 ]
僅かな速さの違いを気にするような案件とは思えないな



458 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:02:47.98 ]
クライアントが神経質って要件があるやも試練

459 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:04:49.19 ]
お前らまた騙されてるな

ファイル無くてもDeleteでエラー出ないぞ…

460 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:06:55.72 ]
PInvokeとInvokeとどっちがボケなの?

461 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:07:23.26 ]
普通、例外のコスト<Existsのコストなんじゃないの

462 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:07:29.28 ]
何というか最近ハメ質問ばかりだな

川俣でもいるんだろうか…

463 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:09:34.76 ]
ほら一応MSDNから

File.Delete メソッド
指定したファイルを削除します。指定したファイルが存在しない場合、例外はスローされません。

464 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:10:16.17 ]
listViewのチェックの状態を別スレッドで知りたいのですがどうやって書けば良いですか?
チェックを付けたり外したりするdelegateはできましたが戻り値を受け取る方法がわかりません。

465 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:18:09.80 ]
つまり
>>449はそのままDeleteで削除する

466 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:37:18.30 ]
>>464
Control.Invokeの戻り値に「デリゲートの戻り値」が戻ってくると書いてあるだろう
msdn.microsoft.com/ja-jp/library/zyzhdc6b%28v=vs.80%29.aspx

デリゲートの中でListViewのアイテムにアクセスして、returnでCheckedを返せばいい

467 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:40:01.54 ]
Webページを取得してるんですけど
例えばこんなURLで
hoge.com/hoge?id=1

id=1〜nまでのデータを取得したいんですけどどうすればいいですか?



468 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:41:53.30 ]
最近の初心者は文字列操作より先にWebClientが使えるようになるのか?

469 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:42:03.23 ]
URLのケツの数字をどうにかして書き替えるプログラムをまず書きます

WebClientでもなんでも使ってURLのリソースをGetします

Perfect!

470 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:42:40.41 ]
頭より手が動いてるんだろう
あとティンコ

471 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:47:41.96 ]
その方法教えろって言ってんだろくずが

472 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:49:05.44 ]
string filename = @"C:\sample.txt";
こんな感じの固定したい変数がたくさんあるんですが、
コード中の各メソッドにちりばめられてます
後で変更するときにきついのですが
これはどのように管理したらよいでしょうか?

473 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:49:57.94 ]
>>469
>>数字をどうにかして
どうすればいいんですか?

474 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:50:48.06 ]
よく分からないがフィールドに置いたらいかんのか?
メソッドの中にしか変数を置けないと思っているのなら入門を読み直した方がいい

475 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:52:01.70 ]
>>473
とりあえず=の後ろを切り取って、数字を付け直せばいいんじゃないのかな
そのくらいは調べてできるよな

476 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:55:08.01 ]
>>475
はい。 仮に今idが1〜10まであって
突然11までとかになったら自分で修正するしかないのですか?

477 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 23:55:18.02 ]
>>474
classの真下に
private string filename = @"〜";
って各方法以外にありませんか?
Cでいう構造体みたいなのができればいいんですが



478 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:01:23.76 ]
固定したいのか変更したいのかハッキリしなさい

479 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:06:41.79 ]
>>466
できたありがと。
でもデリゲート意味わからなすぎ

480 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:08:50.79 ]
>>478
あとでコード修正しやすいように1ブロックにまとめて管理したいんです

481 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:19:32.14 ]
internal static class XXX
{
internal static readonly string filename1= @"〜";
internal static readonly string filename2 = @"〜";
internal static readonly string filename3 = @"〜";
internal static readonly string filename4 = @"〜";
}

って感じでまとめれば

482 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:20:01.76 ]
フィールドだけ集めたクラスを作ったら同じように使えないかい

483 名前:476 mailto:sage [2012/01/24(火) 00:39:59.24 ]
返事待ってます!
分かる方お願いします!

484 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:41:12.81 ]
そこはenumじゃないのか

485 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:41:37.39 ]
>>483
アホらしいから何も言わなかったんだけどな
プログラムが「突然11になった」ことを認識できるように書けば自動化することもできるだろう

お前がAIを造ればいいんだよ

486 名前:476 mailto:sage [2012/01/24(火) 00:42:33.16 ]
>>485
どうすれば?

487 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:43:10.62 ]
そうだな、さしあたり人工知能関係の本でも読めばいいんじゃないか



488 名前:476 mailto:sage [2012/01/24(火) 00:45:38.15 ]
不可能ということですか?

489 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:48:07.60 ]
自動化するのに「必要なもの」があるなら
その「必要なもの」を入手する部分を自動化する
その「「必要なもの」を入手する部分を自動化するために必要なもの」があるならそれも自動化する
これを必要なものがなくなるまで繰り返してようやくあなたは仕事から解放される

490 名前:476 mailto:sage [2012/01/24(火) 00:50:56.01 ]
うーん。
+1を付け足しといたらいいんですかね

491 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:50:57.94 ]
その11って数字をどこからか探してこれるなら不可能じゃないさ。
どこから取ってくればいいかって?そんなことは知らん。

492 名前:476 mailto:sage [2012/01/24(火) 00:52:21.14 ]
うーん。意味ないっすね
難しいですね><

493 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 00:58:53.72 ]
winFormから別のスレッドを実行して
MessageBox.Show(this,"ほげ");
でモーダルなメッセージボックスを出したいのですがこれだとエラーになりますが
正しい書き方を教えて頂きたいです。

494 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 01:02:50.29 ]
>>493
>>466

495 名前:476 mailto:sage [2012/01/24(火) 01:43:02.69 ]
なんとかして出来そうな気がするんですけどね

496 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 03:35:34.40 ]
for 使えばできますよ。

497 名前:476 mailto:sage [2012/01/24(火) 06:49:56.59 ]
Forじゃできないと思うのですが、どういうことでしょうか?

1から10までってわけじゃないのですが




498 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:02:54.31 ]
C#にて下のページの上から5番目のようなフォントで文字を
描画したいのですがどのようにすればよいでしょうか?
www5f.biglobe.ne.jp/~ayum/gazouhenkan/jtrim/066.html

499 名前:476 mailto:sage [2012/01/24(火) 07:08:31.00 ]
相手が更新しなければ、うれしいんですけど。
うーん。突然idが20までになったら、、10以降のデータを取得てぎないんですよね。難しい。


500 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:08:45.82 ]
>>497
こういうことじゃないのけ?
ttp://ideone.com/9K7Rn

コレでいいなら基本だと思うんだけど。

501 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:20:09.48 ]
よく読んだらこういうことか。

リアルでやって捕まる前に「やめとけ」と一応言っておくよ。

ttp://ideone.com/YJuVK

502 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:25:11.44 ]
>>499
Accumulated PAIN revarse to you!! 

503 名前:476 mailto:sage [2012/01/24(火) 07:28:52.65 ]
え・・犯罪なのですか・・・
しりませんでした
ありがとうございます

504 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:31:34.10 ]
>>503
コレで鯖が止まったらどういう言い訳するんだよ。営利妨害じゃないか?

505 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:44:00.79 ]
岡崎図書館事件か
逮捕されて有罪になったんだっけ?
落ちる原因がなんであれ、侵入した事実があれば逮捕で臭いメシ食えるよ、やったね!

506 名前:476 mailto:sage [2012/01/24(火) 07:47:33.54 ]
リンクタグをパーサしたら出来そうな気がするんですけど

507 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:51:21.09 ]
じゃあそうすればいいじゃん



508 名前:476 mailto:sage [2012/01/24(火) 07:51:45.65 ]
専ブラ使っても2chが落ちないのはなんでだろう。。

509 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 07:59:34.21 ]
>>508
2chの鯖結構高性能なんだぜ。あとは専ブラ作者とユーザに良識があるからだな。
情報取りに行った鯖がMMXPentiumで運営してて、落ちたらどうするんよ。

相手が貧弱でした!って言って通るのかよ。

510 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 08:13:45.83 ]
専ブラは、dat だけ取ってきてHTML化はローカルでやるから、むしろ軽いのよね、普通にウェブブラウザーで見るよりも。
スレ一覧とかも、総当たりで取ってるんじゃなくてインデックス読んでるし。

511 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 09:03:16.39 ]
念のため通報しました

512 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:05:59.37 ]
意味不明なんだけど
ここまでの流れ詳しく…

513 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:12:50.89 ]
初心者向けに何かフォームプログラムのお題をください

514 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:22:07.10 ]
>>513
どのくらい初心者かわからんが、全くの初心者なら関数電卓とか
ちょっとかじったことあるならペイントとか静止画⇔動画変換とか

515 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:41:27.44 ]
アナログ時計もいいかもね

516 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:15:30.78 ]
関数電卓をぐぐって見たんですが
1+(2*3)+(4/5*(6/3))みたいに括弧が出てくるとどのようにパーサして計算していいのか分からず
JavaScriptみたいにevalってないんですね
これは初心者にはキツイです
静止画と動画はおもしろそうですね
アナログ時計なら出来そうです

517 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:21:18.92 ]
>>516
ツリーを作る



518 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:21:49.03 ]
二分木ね

519 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:22:52.76 ]
>>516
C# eval とか検索すればいいのに。

520 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:25:32.86 ]
アセンブリや型を生成せずにC#のコードを実行する方法は無い
オーバーヘッドがものすごいしメモリリークする

521 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:29:48.18 ]
別プロセスにすればリークは問題にならないな
AppDomainは動的コンパイルのリーク回避に使えなかったっけ?

522 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:32:29.12 ]
何でC#には数式のパーサライブラリがないんだろ

523 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 12:35:07.26 ]
カッコや演算子の優先順位くらいなら再帰下降パーサ手書きで案外簡単にできるよ
でも少なくとも初心者向けではないし頑張って勉強して作ったとしてもあんまり役に立たん経験

524 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 13:48:41.96 ]
Visual C# 2010 Expressなんですが、対象のフレームワークを「.NET Framework 4」に固定する方法はありますか?
毎回プロパティから変更するのは面倒&保存しなければならないので

525 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 13:50:44.34 ]
お金払えばできるよ

526 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 13:57:46.95 ]
なんてこった

527 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 14:22:40.88 ]
横だが、Expressはデフォが4.0だと思ってたw



528 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:18:22.87 ]
普通に前回使用したフレームワークになってないか? >Express

529 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:21:40.11 ]
そもそも4.0しか選べないし

530 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:24:49.05 ]
俺のは開いたら4.0Clientになってる

>>529
え?・・・え?

531 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 17:25:22.14 ]
>>529
嘘乙!

532 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:08:57.57 ]
「パーサする」じゃなくて「パースする」って言って欲しいなあ

533 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 18:26:57.27 ]
IMEの状態を知りたいのですが、自分にフォーカスがない状態や
何にもフォーカスがない状態でも知る方法を教えて頂きたいです

534 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:09:48.06 ]
数式をちょろっと計算したいだけならXPathNavigator.Evaluateあたりを流用すれば出来るんじゃね?

535 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:28:35.85 ]
すいませんDOSでdirの結果を取得したいのですが
なんてライブラリをusingして使うのでしょうか?

536 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:30:24.22 ]
System.Diagnostics.Process

537 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:33:31.75 ]
そしてStdoutをリダイレクトして受け取る



538 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:47:20.53 ]
sakurasite.homeip.net/imgboard/img-box/img20120124204241.png
新規プロジェクトのwindowsアプリケーションを作りテキストエリア(textBox1)を作って
string[] files = Directory.GetFiles("c:\\");
で取得したファイル一覧のテキストを表示してみようかな。と思っているのですが
static void fileListUpTest()内で"textBox1"にアクセスする方法がわかりません。
textBox1.Text="hogehoge";でテキストボックスの内容を書き換えるにはどうしたらよいのでしょうか

539 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:52:57.08 ]
そこでコード書くの?


540 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:53:10.40 ]
>>536
>>537
あいりがとうございます

541 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:53:32.12 ]
まずそんなとこにそんな処理を書くな

542 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:53:37.19 ]
まず
・fileListUpTestはフォームが閉じてメッセージループが終了してからしか呼ばれない
こう書いても理解できないと思うけど。

上の画像のフォームの何もないところダブルクリックすると
Form1_Loadというメソッドが作られるからそこにfileListUpTestの中を切り取って張り付けろ

543 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:56:08.44 ]
・STAThreadをMainから剥がすな
・素直にForm1内に書け
・一応そこからでもtextBox1にアクセスできなくはないが、実用性は無い

544 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:57:54.88 ]
Form1を右クリック→コードの表示

545 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 20:58:08.47 ]
素直も何もForm1の下に書くのを知らないんだと思うが

546 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:03:50.25 ]
文法は結構いくらでもあるんだが、まとまったFormsとかの入門になると川俣の駄文くらいしかないんだよな

547 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:13:20.40 ]
失礼しました。この通りに記述したら希望通りの処理が出来ました。
sakurasite.homeip.net/imgboard/img-box/img20120124210336.png

・・しかし、関数を書く場所がやはりわかりません。
20行目にfileListUpTest();と書いて処理を関数化する際
static void fileListUpTest(){textBox1.Text="okok";}(簡略化しました)
は何行目に入れればよいのでしょうか
sakurasite.homeip.net/imgboard/img-box/img20120124211203.png



548 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:14:40.99 ]
とりあえず21と22の間でいいよ

549 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:18:24.03 ]
staticの意味を正確に答えられるようになるまでstaticを書くな

550 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:21:10.60 ]
>>547
今書こうとしてるのがFormを継承したForm1クラスなので
その中に入れないとw

551 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 21:26:37.29 ]
>>548-550
ありがとうございます。21と22の間に
public void fileListUpTest() { textBox1.Text = "okok"; }
で動きました。


552 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:54:54.78 ]
前に同じコードを別の場所に複数書いたらダメと教えてもらいましたが
使う箇所は20箇所くらいあるものですが3行くらいのコードでもまとめないとダメですか?

553 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:56:05.94 ]
>>552
どういう処理かわからんけどクラスが別なら場合によっては分けるしかないんじゃないの?


554 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 22:56:53.75 ]
あくまでも決定を下すのはあなたの正義

555 名前:デフォルトの名無しさん [2012/01/24(火) 22:59:39.02 ]
>>552
関数の呼び出し自体は複数なってもいいぞ
ロジックを複数書くのはおかしいけど

556 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:00:21.55 ]
Cバカみたいに1行マクロみたいなことはしなくていい

557 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:06:29.73 ]
>>552
内容によるね

これは○○を〜する処理って明確にわかってるなら
メソッドに書き出したほうがいい

例えそれが一行だとしても明確な名前を付けてメソッドにしたら
確実にプログラムの理解度が上がるし後で変更しやすくなる



558 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:09:24.94 ]
こういう話は入門書では扱わないから
初心者は戸惑うよね

559 名前:デフォルトの名無しさん [2012/01/24(火) 23:15:35.49 ]
>>558
Cのころだとどこかのソースに関数置いておいて使うところでヘッダー取り込んで
使うっていうのが普通だったけどオブジェクト指向となるとその辺をどう吸収するかって
初心者は悩みそう

まあ悩んだら機能を持たせるクラスを作ってそこへほうりこんで必要になったら
newして使えばいいんだけどね

System.IO関連のクラスのような感じで

560 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:16:32.03 ]
こういう視点から見ると今の入門書はすべて落第点

プログラム入門と歌いながら他言語から移ってきた人用にしか見えない入門書ばかり

561 名前:デフォルトの名無しさん [2012/01/24(火) 23:19:33.78 ]
そこらへんは人のコード見て覚えた方が速いんだけどね
下手に考えながらやっても時間かかるだけ
最初は考えるより学ぶのが重要

562 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:22:20.77 ]
>>560
一応そういう本も擁護しとくと、「プログラミング入門」と「C#入門」はまた話が別。

まあそうは言っても、あえてそこを曖昧にしてたり、前書きにはっきりプログラミング初心者を
読者対象と書いてあるのに中身は全然そうなってない詐欺的な本とか実際あるね

563 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:22:53.32 ]
気になるならTargetedPatchingOptOutAttributeでも貼れば?

564 名前:デフォルトの名無しさん [2012/01/24(火) 23:23:26.70 ]
オブジェクト指向と一言で済ますけど
オブジェクト指向じゃない言語をやって
初めて理解できるものだと思う

565 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:23:40.78 ]
ピクチャーボックスが20個あってクリックしたらそれをボタン名にするというものなのですがどうでしょうか
if (e.Button == MouseButtons.Left)
{
button1.Text = "1";
}
の4行か下の呼び出しの1行か
void setButton1Text(MouseEventArgs e,int num)

566 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:24:45.80 ]
部分的なコードはるな

567 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:25:59.26 ]
でもC#はまだましな方だな。
Androidの本は本当に酷いのが多い。っていうか、まともな本ってあるのかな。



568 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:26:07.00 ]
よく分からんがループ内でクロージャ使ったイベントハンドラ作れば対処できそう

569 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:28:03.85 ]
大量のコード貼る場合は>>2のサイト使ってね

570 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:28:59.16 ]
>>565
その様子だと、個々のPictureBoxごとにイベントハンドラを用意してそうだなw
まずそれを1つにまとめることを考えた方がいい。

571 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:31:24.05 ]
>>565
setButton1Text
この名づけ方はただやってることをそのまま名前にしただけだよね

もっと意味のある言葉で書き換えられないの?

俺はそのソース見てないけど
何のためにあるボタンに
なんでテキスト変更してんのかわからない

選択した画像に何か処理するためのボタンじゃないかと思うけど

572 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:31:50.75 ]
PictureBoxを継承すればいいじゃまいか

573 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:31:56.48 ]
>>565
そういう機能があるカスタムコントロールを作ればいいじゃん
もしくは、ピクチャボックス作成時に、イベントハンドラを登録するとか
var pb=new PictureBox();
pb.Click=new EventHnder(rename())

574 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:41:53.93 ]
>>565
書き捨て
つまりもう二度と変更しないならそのままでいい

ただしこれは今のレベルでの話

575 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:44:18.56 ]
偉そうに言ってる奴らが一番ズレてるなw

576 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:47:29.61 ]
いくつか方法があるみたいですね
>個々のPictureBoxごとにイベントハンドラを用意してそうだなw
が気になります。object sender, MouseEventArgs eを丸投げして一まとめはわかりますが、
イベントプロシージャが20個要らない書き方があるということですか?

名前の付け方はいつもこんな感じでやってることを書くようにしてますが処理の内容を書くべき?
でもそうすると処理をするメソッド名が困るような気が・・

577 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:50:29.00 ]
>>576
>イベントプロシージャが20個要らない書き方があるということですか?
あるよ

どういう目的の物を作ってて現状どういうコードなのかとかわかれば
アドバイスもしやすいんだが・・・



578 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:51:23.04 ]
>>576
うん、今の段階で君が最初に調べて覚えるべきことは、
コードでコントロールのイベントをメソッドに紐付けする方法。

あとのことはそれから考えればいいよ。

579 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 23:55:30.52 ]
ピクチャーボックスが20個あってクリックするとbutton1.Textが「nの画像を縮小する」になって
それを押すと縮小して保存するというものなんですが・・
>>578調べてみます

580 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:09:13.33 ]
webプログラムからC#にきたんですけど
フォームアプリケーション製作にMVCで作成できますか?
フレームワークをググってもasp.netばっかり引っかかってしまうので

581 名前:デフォルトの名無しさん [2012/01/25(水) 00:11:29.74 ]
MVCぽいことをやる場合はWPFかな?
winformは・・・


582 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:26:23.87 ]
できた^^
pastebin.com/nbCye2hv
↑でいいですか? (ピクチャーボックス20個一まとめの件)

583 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:26:40.44 ]
javaといえばMVC
c#も言語的には大して変わらない

WPFは地獄w

584 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:29:15.66 ]
>>582
なんでインデックスが1からはじまってるんだろう・・・。
なぜfor文を使わないんだろう・・・。

585 名前:デフォルトの名無しさん [2012/01/25(水) 00:30:07.25 ]
>>582
静的に設置してあるpictureBoxのインスタンスを配列に入れるのは譲ったとしても
その後のClickイベント割り当てはせめてループにしろw

586 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 00:37:51.69 ]
あ、ほんとだ^^これはforでいいですね
インデックス番号はコントロール名と統一してみました。
でも大体正解みたいでよかったです。こんなまとめ方は想像もしてなかったのですごく良いことを知った気分です♪

587 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 01:26:45.39 ]
using されているのに
button.MouseDown += new MouseDown(button_Click)
としないのはなんで。自分で完全修飾名書いたのか。
俺は冗長なのが嫌いだから new MouseDown もかかないで、暗黙の型変換に任せるが。
まあ、これは人によると思うけど。

+= のあとに tab 2 回押せばコードスニペットっていう機能で勝手に
メソッドが追加される。
あと、こういったコードを書くときは短形編集機能を知っておくといい。
alt 押しながらマウスなりキーボードなり (Shift + 矢印) で選択すると短形編集ができる。



588 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 01:34:07.96 ]
あと、テスト・サンプルコードかもしれないけど一応突っ込んでおく。初心者スレなので。
Load イベント内でイベントを登録するのはよろしくない。
Form1 ってことは MainForm だろうから問題はおそらくでないが、
一般に Form.Load イベントは 1 回しか呼ばれるとは限らないから。

今後の拡張も考慮して、コンストラクタ内で追加するようにしたほうがいい。
public Form1() {
. InitializeComponent(); // コントロールの初期化部分。この後に記述する。
. RegisterEvent(); // イベント登録するメソッドとしてまとめるほうが多分いい。
}
private void RegisterEvent() {
. p[1] = pictureBox1;
. ...

589 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:27:40.37 ]
VC# 2010 Expressを使ってます。

メインフォームとサブフォームで「Listviewをcsvファイルに保存する」という
同じメソッドを使うのですが、やはりクラスファイルなどを別に作って呼び出した方が
良いのでしょうか?(と言ってもその方法がわからないのでこれから勉強するのですが)

それともこれくらいならわざわざ別ファイルを作るのはかえって効率悪いのでしょうか?

590 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:35:51.65 ]
どう考えてもフォームクラスからは分離するべき。
ファイルは同じでもいいがせめてクラスは別にしなさい。

591 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:41:57.21 ]
>>589
別のファイルに分けた方がよい
当然クラスも別物が必要になる

ただ小規模で単機能の共通関数をいくつか使うだけなら、あえて専用のクラスにしなくても、
MyCommon みたいな共通関数格納用のクラスをあらかじめ作っておき、
そこに関数だけを追加していく手もある

592 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:43:10.12 ]
static class ListViewHelper {
public static void SaveAsCSV(ListView listview, string fileName);
}
みたいなの作るとか。拡張メソッドにしてもいい。
データを持つクラスがあるならそこにメソッド書いたほうが見通しがいいかもしれない。

593 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:47:02.90 ]
すいません、589じゃないけど便乗です。
589が言ってるみたいに複数のフォームから呼び出す場合は別クラスでいいとして、
1箇所こっきりしか使わない場合でも別クラスにすべきでしょうか?
正直、クラスの作り方とか概念は理解できても、どういう場合にクラスを分けるかって
ところで毎回迷います。入門書みたいに、従業員クラスがあってどうのこうのみたいな話だと、
ついフォームクラス複数+データ保持クラス1個みたいなとこで満足してしまい結局はフォーム
クラスが肥大化しがちで、これでいいのか迷ってます。
すいませんなんか抽象的な話で。


594 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:49:23.54 ]
public PictureBox[] p = new PictureBox[21];

p[1] = pictureBox1;
  :
p[20] = pictureBox20;

VB脳…

595 名前:589 mailto:sage [2012/01/25(水) 02:49:39.45 ]
皆さんありがとうございます。

>>590
やっぱり分離すべきですよね。

>>591
なるほど、そういう方法もあるのですね。
関数の分だけクラスファイルを作るのはどうなんだろうと思っていたので
良い勉強になりました。

>>592
なるほど。詳しく説明していただいてありがとうございます。
とりあえず「格調メソッド」をggってきますw

596 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 02:50:00.39 ]
魔法の言葉
#region

597 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 03:10:21.20 ]
>>593
良くないよ。
フォームには、「このボタンが押されたらこの処理を呼ぶ」みたいなルーティングと、
「データが更新されたらしいので描画しなおす」って処理以外書かない方が無難。
処理の実体は分離。



598 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 03:17:41.66 ]
別に複数のフォームから使うから別クラスにするわけではなくて、
関係したものをクラスとして扱う。
関係ないものがそのクラスにあるのは気持ち悪いと思うべき。

だから、クラス名とそのメソッドの処理内容がかけ離れていないかを基準とする。
例えば、ListView を CSV 化するメソッドはリストビュー関連または、
そのデータ関連のクラスに書かれるべきだ。Form ではなく。
(プロジェクトが小さいのならば余り考えなくてもいいと思うが)

特に、見た目と処理部分を分けることをビューとモデルの分離といい、
MVC, MVVM とかいったパターンがあるくらい重要な概念。
だから最終目標は、UI (見た目)クラスには UI 関係のみが書かれていて、
イベントで処理メソッドを呼ぶだけ、とすること。
まあ、数年勉強してから勉強するのがいい。難しいと思う。

まずは、関連性からクラスを分け、private なりを駆使して
他のクラスから使いやすいようにする。
次に見た目の部分も、UserControl でパーツ分けをするといい。
この時、TextBox.Text とかは直接公開するのではなくプロパティを使う。
UserControl を作るころには必然とデータとビューが分離してくる。はず。

あとは region 使ってまとめる。

599 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 03:22:13.07 ]
クラスとしてまとまっていると気持ちいい、そうでしょ?

600 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 09:23:34.28 ]
他人に使ってもらうことを意識するといい

601 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 10:13:22.82 ]
MS以外の他の人の作ったライブラリ使ったことがあると
結構勉強になると思う

これは何でこんな場所だ とか この名前はちょっと
とか その逆もまたしかり

602 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 11:09:45.61 ]
配列をランダムに入れ替える関数の作り方を教えてくれ

a[0]=3、a[1]=1,a[2]=5で
randomarray(a)
ってやったら
a[0]=5、a[1]=1、a[2]=3
みたいに配列の内容がぐちゃぐちゃになる関数です

603 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 11:11:32.71 ]
配列のシャッフルでぐぐれ

604 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 11:42:47.03 ]
いったん全部Listに突っ込んで乱数で一個ずつ取り出してListから削除して配列に前から順に入れるのがわかりやすい
ちょっと工夫すればインプレースでもできるけど考え方は全く同じ

605 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 11:52:09.06 ]
>>604
というか配列なんて使わないでList<T>そのまま使ったほうがリアルなシャッフルに近くなるけどね
乱数ででた数字の場所を抜き取って後ろにつけるとかやっていけば

606 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:00:11.93 ]
それやるならリスト使わずにそのまま配列でやればよくね

607 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:11:55.00 ]
>>606
使った奴消さないと何回も同じ奴選んじゃうでしょ



608 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 12:43:28.54 ]
そんな小難しく考えなくておk
ideone.com/lvlG7

609 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 14:18:44.97 ]
for(i = 0;i < n;i++)
{
j = 乱数(0〜n-1)
array[i]とarray[j]を交換
}

610 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:39:56.18 ]
>>608
OrderByは同値の時に順序が残るから
同値の場合に元の配列の前にある方が前に来るので
完全なランダムになってないと思う

611 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:46:28.43 ]
for(int i = array.Length - 1; i >= 0; --i)
{
var r = rand.Next(i + 1);
array[i] = array[r];
}
これでいいはず
これが正解でしょ

612 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:50:46.77 ]
違うわ
for(int i = array.Length - 1; i >= 1; --i)
{
var r = rand.Next(i + 1);
var temp = array[i];
array[i] = array[r];
array[r] = temp;
}

こうかな

613 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 15:55:15.25 ]
適切なのはあっても正解なんざねぇよwww


614 名前:デフォルトの名無しさん [2012/01/25(水) 15:57:58.16 ]
そうだな
プログラムにあるのは参考例であって正解はないよ

結果的に目的の動作をすれば極端な話どんなコード書いてもいいし
動けばいいんだよ

ただそれだと困るので参考例は必要だけどw

615 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 16:49:02.93 ]
実数の限界があるから何をどうやったって偏りは残るわい
選択して抜いていく方式の場合はすべての要素を等確率で選ばなければいけないが
丸めのせいで無理

616 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 17:52:21.20 ]
俺だったらiはカウントアップするな

ソートの逆のような感じ

617 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:42:31.66 ]
丸めどうこう以前に、擬似乱数は均等に分布しないだろ。



618 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:44:45.54 ]
とりあえず今日は何もコード書いてません
何か地震雲が発生したらしいじゃないですか
何で先輩方はやる気あるんですか

619 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 18:49:43.11 ]
2ちゃんねるの専ブラを作りたいのですが細かい機能は省くとして
初心者がやると手間取ったり難しそうな処理はどんなのが考えられるでしょうか

620 名前:デフォルトの名無しさん [2012/01/25(水) 18:51:59.69 ]
>>619
今は作り方を解説してるところもあるので別になんにもないよw
cs2ch.blog123.fc2.com/blog-entry-1.html

面倒なのは今時差分取得を推奨する2ch特有のアクセス方法くらいかな?

621 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:09:35.51 ]
乱立してるからいまさら公開しても誰も使ってくれないだろうな
逆に使われだすと今度はキチガイユーザーの粘着に耐えられるかがポイント

622 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:17:02.77 ]
今から参入してもお金にならないので僕はこんなのやりたいと思いませんね
あるもの使えばいいじゃない

623 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:18:47.37 ]
ファイルを読み込んで1行ずつ配列にすることはできませんか?
PHPのfile関数と同じことがやりたいのです

624 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:33:11.34 ]
よく分からんが、File.ReadAllLines

625 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:37:17.25 ]
>>624
ありがとうございます

626 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:38:01.10 ]
richTextBox1.SelectionColorでColor.Blackみたいに指定するのではなくて
rgb 0,0,0と数字で指定する方法をご教示お願いします

627 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 19:52:36.44 ]
つ Colorのメンバ一覧



628 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:56:14.01 ]
Color.FromArgb メソッド

629 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:59:31.77 ]
>>627-628
補完だしたらBlackとかRedのところにそういうもの混じってたんですね
どうもありがとうございます

630 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:43:13.46 ]
Form1_Loadの中からフォームにキーダウンイベントを入れたいのですが
エラー 1 デリゲート 'System.EventHandler' に一致する 'form_KeyDown' のオーバーロードはありません
っていうエラーが出てしまいます
どうやってイベントを登録したらよいでしょうか?

this.KeyPreview = true;
this.KeyDown += new EventHandler(formEvent_KeyDown);
private void formEvent_KeyDown(object sender, KeyEventArgs e) { }

631 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:45:08.26 ]
自己解決
KeyEventHandlerって打ったらできました

632 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:46:02.82 ]
>>620
ブログって記事見難いんだよなー
そこもブラウザの記事見たくてもまとまってないからみれないし

633 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:46:08.62 ]
Form1_Loadから
private void formEvent_KeyDown(object sender, KeyEventArgs e) { }
を出す

それから入門書を読む

634 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:47:35.50 ]
>>632
そもそもc#の質問じゃないでしょ

635 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:55:45.12 ]
最近のVSならthis.KeyDown+=って打ってからTab連打すると勝手にハンドラー作ってくれなかったっけ?
アドインの機能かもしれないけど

636 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:58:22.52 ]
WinFormのwebBrowserはIEをアップデートすると一緒に新しいものになりますか?

637 名前:デフォルトの名無しさん [2012/01/25(水) 21:58:36.32 ]
>>632
monazilla.org/index.php?c=6-20



638 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:04:47.12 ]
教えてください。
クラスのプロパティにインデクサを利用したい場合、どのように実装するのが一般的でしょうか。

・やりたいこと
 xml 形式の設定ファイルを用意し、このファイルを管理するクラスを作成する。
 必要な要素にはプロパティを用意してファイルを意識させないように参照/設定を行う。
 参照する要素にはノードの属性値を利用したい項目があり、この属性値をインデクサで指定したい。

・対策案
  a. プロパティの型として専用のクラスを用意し、[] 演算子のオーバーロードを実装する。
   ‥‥ただ、基本的にはデータ型は string でやりたいのだけど、この代理クラスを用意すると
   プロパティへの参照をクラス経由で行うことになり煩雑? operator= があればなぁ。。。

  b. ファイルの内容をあらかじめ Dictionary なりに読み込んでおき、この Dictionary を直接外部公開してしまう。
   あるいは代理クラスを用意してそのインデクサを Dictionary のキーとして参照する。
   ‥‥必要ない項目をあらかじめ読むのもなぁ。。。

強引に書けばいくらでもやり方はありそうなんですが、なんだか美しくないような気がします。
美しいかどうかは別にいいとしても、一般的にわかりにくくなってしまっては面白くないので、どうしたものかと。

639 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:12:00.77 ]
普通にメソッドにする
C++脳みたいな妙なこと考えないで素直にするのが一番一般的にわかりやすい。

640 名前:デフォルトの名無しさん [2012/01/25(水) 22:18:47.26 ]
みんな>>637の資料みてC#なりの書き方してるのに否定する>>632ってw

641 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:18:59.72 ]
VC#の右下のプロパティから設定してもフォームデザイナに反映されないのに
コードからプロパティを設定すると反映されるプロパティってありますよねreadonlyプロパティとか。
やっぱりプロパティって右下で設定しないものでしょうか?

642 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:35:42.02 ]
>>624
ttp://air-snowly.cocolog-nifty.com/rakkyo/2008/02/c2_223f.html
のようなことがやりたいのですが.Net4.0だと簡単にできませんか?

643 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:36:40.98 ]
>>642は誤爆です

644 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:46:30.86 ]
>>638
いまいち要領を得ないんだが、operator implicitで良くない?
XLinq系のように

645 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:51:11.19 ]
属性値をインデクサで指定しないが正解っぽい

646 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:52:26.93 ]
#000000と0xFF000000って同じ?

647 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:56:18.75 ]
禅問答か



648 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:02:09.17 ]
プログラムを終了するときにApplication.Exit();だと確実に終了できないって電車の中で盗み聞きしました
どのようにして終わらすのでしょうか?

649 名前:デフォルトの名無しさん [2012/01/25(水) 23:07:50.24 ]
>>646
どういう状況においてだよ
色コード?

650 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:34:17.32 ]
c++/bliのwinフォームだとマネージ型classってexternできなかったんですが、
C#のwinフォームではマネージ型classをexternして別ファイルで参照。
みたいな事って出来るんですか?

後、できない場合、他の方法で上の条件を満足する動きをするように組むにはどうしたら良いですか?

最後に、今日からC#改めてやり始めようと思ってるんだけど、C++みたいなノリでは書けないですよね

651 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:39:30.50 ]
意味がわかってないかもしれない。すまん。
DLL にして(クラスライブラリを作成して) static なインスタンスとして
どっかに保持しておけばいいと思う。

そもそもマネージ型しか C# にはない。

652 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:39:54.04 ]
>>650
c++を使えて
c#やったら幸せになれる

653 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:46:00.43 ]
c#のバージョンと.netのバージョンって対応関係あるんですか?
c#4.0には、.net4必須みたいな。

654 名前:650 mailto:sage [2012/01/25(水) 23:48:16.20 ]
>>649
すいません、説明が足りませんでしたね。
外部からリソースを読み込んで、
その内容をclassに突っ込んで
他の.csから上のclassのメンバを参照しながら云々くんぬん処理してくって質問です。

655 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:48:41.41 ]
いまんところC#のバージョン=.NETのバージョン
少なくとも整数バージョンはね

656 名前:650 mailto:sage [2012/01/25(水) 23:50:14.49 ]
>>652
連レス申し訳ない。

なるほど。
二刀だとかなり良いみたいですね!
一度挫折しましたがもう一度頑張ってみます

657 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:50:55.93 ]
>>654
何だか20世紀の臭いがするな



658 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:53:21.13 ]
webBrowserでサイトを表示してファイル名の入力欄の隣にある参照というボタンを押したいのですが
DOMのエレメントの中には含まれないようなのでClickイベントを発生させられないみたいです
マウスポインタを操作する以外でほかに方法があったら教えてください。

659 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:55:09.69 ]
>>656
おれは >>652 じゃないけど、
C++ レベルで言語を知っていると C# を使う際にも効率的なコードが書けるよ、
という意味であって、C++ を頑張れという意味ではないと思うんだ。
もしくは、高速化のために部分的に C++ を使えるからいいという意味か。

マネージ型云々言うってことは、.NET 触っているのだろうけど、
それならば素直に C# 使うほうがいい。

660 名前:638 mailto:sage [2012/01/25(水) 23:56:21.77 ]
>>639,644,645
ありがとうございます。
operator implicit は知らなかったのですが、試してみます。

インデクサを使わずにメソッドを使うというのも選択肢ではあるのですが、
既存部分がプロパティを使ってるのと、自分の 趣 味 で。
前言と矛盾してますね。すみません。

661 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:01:49.86 ]
>>658
それC#の質問じゃないと思うけど、FileUploadはJavaScriptからロクに弄れないから無理だと思うよ

662 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:04:37.27 ]
>>658
セキュリティ的に無理じゃね

663 名前:650 mailto:sage [2012/01/26(木) 00:06:50.01 ]
>>659
回答ありがとうございます。
それはわかっていたつもりです。
C→C++とやってきてC#やってみようかな
と昔思った時にC#の本を借りてきたんですけどすぐ挫折してしまって
で、今またC#が必要っぽい状況になったので改めて学び直そうと思ったという事です。

664 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:08:11.23 ]
C++ ではなくて C# に挫折したのか。勘違いだったわ。ごめん。

665 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:13:12.60 ]
すいません、comoさんのところのサンプルコードなのですが、
var thumb = sender as Thumb;
if (thumb == null) return;
      var parent = thumb.Parent;
if (parent == null) return;

double x = Canvas.GetLeft(parent);
if (double.IsNaN(x)) x = 0;
double y = Canvas.GetTop(parent);
if (double.IsNaN(y)) y = 0;

Canvas.SetLeft(parent, x + e.HorizontalChange);
Canvas.SetTop(parent, y + e.VerticalChange);
というコードを実行するとParentに対して
'System.Windows.DependencyObject' から 'System.Windows.UIElement' に変換できません
というエラーが帰ってきます。親要素を取得したいのですが、どうすればいいのでしょうか?

666 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:16:32.48 ]
思っていたとおりだ。
Parent は DependencyObject という型だから、UIElement 型に変換しないといけない。
実際に、親要素はなんなのかな。

まあ、
if (parent == null) return; のあとに
parent = parent as UIElement; とでもしておけ。

667 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:17:22.66 ]
実際のUIツリーはVisualTreeHelperで調べるんだよ



668 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:18:30.59 ]
ごめんミスった。
var uiElement = parent as UIElement;
として、以降 parent -> uiElement

669 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:19:11.28 ]
それじゃだめだろ

var parent = thumb.Parent as UIElement;

としないと

670 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:21:10.77 ]
>>669 では return される。
>>668 なら throw される。

671 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:21:11.08 ]
(UIElement)で例外出す方が後の工程にやさしいと主張しておきたい

672 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:23:32.68 ]
>>670
returnされるならそれはそれで正しい動作だろ
あとでCanvas.GetLeft(parent);やってんだから

673 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:24:54.17 ]
おお、みなさん有難う御座います!とりあえずヒントもとにcomoさんのサンプルが再現できるよう頑張ってみます!
>>669さんのやり方でコンパイルは通りましたが後の処理がうまくいかないです…>>666さん、>>669さんのやり方試して見ます!本当に有難う御座います!

674 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:28:31.55 ]
Thumbだからドラッグアンドドロップでもやってんだろ

675 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:40:18.14 ]
だめですちょっと上手く動きません…みなさん本当にすいません。お力添えいただいたのですが完成させることできませんでした…
本当に本当にありがとうございました!

676 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:43:48.22 ]
Parent の中身がわからないと対応できないと思う
ステップ実行とか、ブレークポイントを覚えるといい
後は、というより前提として文法を覚えたほうがいい

677 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:44:14.88 ]
サンプルコードで勉強したいんだろうけど
そのサンプルコードすら動かせない

この世界ではそんなことが日常茶飯事だよ
でもめげないでね



678 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:47:33.90 ]
>>661-662
そうですか・・別の方法を考えて見ます。
ありがとうございました

679 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:48:42.10 ]
そうですね…知識、足りないですね。ExplessionBlendばっかりにかまけてて…
もっと勉強してきます!ありがとうございます!

680 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:48:48.59 ]
var parent = thumb.Parent;
Console.WriteLine(parent.GetType());

かなんかやると出力ウインドウに本当の型名が出てくるから
それをコピペしてググるといいよ

Console.WriteLineって書いてある行でF9を押して行を赤くしてから実行するとそこで止まるから
そうなったらparentにマウスカーソルを合わせても情報が見れる

681 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:51:05.48 ]
>>680
ありがとうございます!別の課題に当たってからもう一度やってみようと思います。その時参考にさせて頂きます!

682 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 00:53:20.45 ]
d.hatena.ne.jp/CoMo/20110316/1300288737
元ネタこれだろ?

double x = Canvas.GetLeft(parent);
ここが間違ってんだよ。親の位置取得してどうするのさ

683 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:01:16.11 ]
C#ユーザーの為のAndroidプログラムの本とかってないのかな

684 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:03:35.34 ]
queue はオワコン

685 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:05:17.37 ]
ないでしょ。
あなたが本の著者なら、そんな読み手をわざわざ限定するような本を書くでしょうか?
それもAndroidバブルの時に

686 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 01:08:12.97 ]
MONO for AndroidってGUIはXMLでしか編集できなくて端末内ライブラリがアプリ無しで50MBぐらいあるのな

687 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 02:46:33.85 ]
INotifyPropertyChangedの実装を簡単にする方法はありますか。
今は下のように書いてます。プロパティごとに毎回こんなの書きたくないです。
public string Hoge { get { return _hoge; } set { if (_hoge != value) { _hoge = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("Hoge"); } }

↓みたいなマクロを使えたら嬉しいんですが。
#define MAKE_PROPERTY(NAME, TYPE) \
private TYPE _##NAME; \
public TYPE NAME { get { return _##NAME; } set { if (_##NAME != value) { _##NAME = value; if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(#NAME); } }

MAKE_PROPERTY(Hoge, string)



688 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 06:47:36.70 ]
コードスニペットでも登録すれば

689 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 09:05:40.77 ]
>>682
ありがとうございます。そのページのコードは問題なくどうさするんですけど、問題は次のオブジェクトを並べる部分で…
自分で

690 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 10:37:33.40 ]
.Net4.0がインストールされてるかどうか調べる方法はありませんか?

691 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 10:39:55.40 ]
.net4でコンパイルしたのに3.5でも動くのはなぜ?

692 名前:690 mailto:sage [2012/01/26(木) 10:53:51.96 ]
>>691
それって.Net4.0の新機能を使ってないからじゃないですか

693 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 10:56:09.46 ]
>>692
そうか。新機能を使ってなければ3.5でいいのか。
ありがとん。

694 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:40:01.75 ]
初心者で文法は終わったくらいなんですが、上達するには何をしたらいいですかね?
XNAでゲーム作りたくて、C#からプログラミング初めました
文法はわかってるつもりですが、でかいものを作ることができません
少ないコードのサンプルがいいんですが、何かいいホムペとかないですか?

695 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:41:51.83 ]
自分が欲しいツールを作っていくのが一番
文法わかっているなら、少ないコードのサンプルなんて不要だろ
DOBONで十分

696 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:51:37.18 ]
他人のソースを読むことは大変勉強になる

海外ではオープンソースのコードがいっぱい落ちてるからそれでも読んだらいい
codeprojectなどがいいかもしれない

697 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:54:06.64 ]
理想的なコードだけじゃなく、酷いコード読むのも勉強になるしなw



698 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:56:28.96 ]
まずは小さいものを大きくしていくのをやってからでいいのでは?
読んでばかりじゃ自分のものにならない。

699 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:57:45.71 ]
みなさまありがとうございます。>>695です
なんというかプログラマ的思考法に慣れてないようでかなり苦手意識感じてるんで少ないコードのって話になっちゃいました
幸いxnaのサンプルがあるんでそれが近道のようなので読んでみます ありがとうございます

700 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 11:58:31.46 ]
ちょこっとした物も作れないようなスキル者がいきなりXNAでゲームなんか作れるわけないじゃん
作れるとしたら単なるコピペで動かせるようになるだけ

701 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 15:10:06.07 ]
public MainWindow()
{
InitializeComponent();

_mediaelement = new MediaElement();
_mediaelement.Source = new Uri(@"D:\test\test.mp4");//テスト用の動画を指定。長さは30分
_mediaelement.ScrubbingEnabled = true;//シーク中の動画が描画されるように設定
_mediaelement.LoadedBehavior = MediaState.Manual;//再生・一時停止・停止が行えるように設定
_mediaelement.Position = new TimeSpan(0, 10, 0);//動画を10分までシーク
_mediaelement.Pause();//動画が描画されるように一時停止。

MediaArea.Children.Add(_mediaelement);
}

この後、ボタンをクリックして _mediaelement.Play();を呼び出すようにしたのですが、なぜか10分から再生されず、動画の最初から再生されてしまいます。
どこがいけないのでしょうか。

702 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 15:31:39.92 ]
Positionは再生後にしかいじれない

それより…

703 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 19:21:14.80 ]
>>694
プログラミングコンテストの問題で練習するというのはどうだろう。
wmecast.net/user/jonosuke


704 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:29:44.55 ]
コンストラクタに渡すパラメータのチェックって呼び出し元ですべきですか?それともコンストラクタ内でやるべきですか?

705 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:39:05.19 ]
DbC的には呼び出し元

706 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:45:14.29 ]
外部に公開しないのならパラメータのチェックをする必要性すらない

707 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:48:11.00 ]
失敗したらバグと見做すチェックは呼び出し先でやる
それをあらかじめ回避するのは呼び出し元の責任



708 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:48:19.01 ]
DbCは契約が守られなければAssertするんだから内部でチェックしてないってのとは全く違う

709 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:53:02.58 ]
visual studio2010を使っています。
設定ファイルを開くとかそういった細かい関数、クラスを
include "library.cs";とか簡単に外部ライブラリ化するにはどうしたらよいのでしょうか

やりたい事はこのサイトで書いてある事でいいのですが
smdn.jp/programming/netfx/classlibrary/0_howtocreate/
このサイトはVSのバージョンが古く、2010と画面が違う箇所があって躓いてしまいました。

710 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:55:31.64 ]
新規プロジェクトでクラスライブラリを作成して
ライブラリを使うプロジェクトでは既存のプロジェクト追加して使うのが簡単

711 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:55:32.30 ]
呼び出される側がチェックするのは事後条件と不変条件
パラメータのチェックは呼び出し側の仕事

712 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:56:21.64 ]
保証されていることを確認すんのは誰だよマヌケ

713 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 21:58:35.31 ]
コンストラクタ内でパラメータエラー見つけたら
例外を投げないといけない

714 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:00:33.20 ]
呼び出し側はパラメータの細かい条件なんて知らないでしょ
同じ人が書いてるならいいんだろうけど

715 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:00:45.54 ]
リリースコードに入らないだけでDebug.Assert(String.IsNullOrEmpty(name));が並んでいる

716 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:02:06.87 ]
staticのCreateメソッドでも作っとけよ

717 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:06:53.39 ]
総武ソフトウェア推進所ってなんやねん



718 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:07:46.86 ]
VC#2012って出ますか?
2008から2010って3年で出てるのでもしかして出ますか?
今から2010を入れて勉強するのはやめるべきでしょうか?

719 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:11:34.31 ]
2012が出たって基本は何も変わらないと思うけど
2008以降そんなに変わってないよねC#

720 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:12:22.03 ]
VS2012って何?VS11とは違うもの?

721 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:12:26.04 ]
2012は出るよ
次のバージョンのC#は非同期サポートがはいるのでものすごく変わる

722 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:15:26.00 ]
「別スレッドからフォームにアクセスできません><」

これは変わらない

723 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:22:39.84 ]
別スレッドで処理が一区切りついたらUIスレッドに戻って更新して別スレッド処理を再開して…
のよくある流れが自然に書けるようになるからBeginInvokeを使う機会は減るんじゃないの
ちゃんと理解してないと使えないのは変わらないだろうけど

724 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:22:47.73 ]
XPだと使わしてくれないんだよな、次verからは

725 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 22:58:54.19 ]
すみません。質問いいですか?

コンボボックスにテーブルをバインドしてDisplayメンバとValueメンバを割り当てています。

そのValueメンバとある文字列が一致したDisplayメンバを得たいのですが

どうしたら効率がいいでしょうか?


お願いします。

726 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:02:50.30 ]
その程度の処理に効率もクソもないだろ

727 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:06:04.65 ]
うん
コンボボックスに一度に表示できる程度の常識的な数なら線形検索でも全く問題ない



728 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:11:44.83 ]
一応DataRowCollection.FindとかDataView.Findは気持ち効率的ではある
DataTable.Selectはダメだぞ
LINQ to DataTableは知らん

729 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:12:50.62 ]
ありがとうございました。

foreachでやる方法でいいですかね?

730 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 23:58:55.09 ]
n=>n=とある文字列

731 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 01:05:26.81 ]
Windows 用アプリケーションとASP.netってのがありますけど
ここはWindows用アプリケーションのことを質問するスレですか?

732 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 02:28:37.54 ]
ピクチャーボックスへ画像ファイルをD&Dでファイル名を取得する部分なのですが、
訳があってドロップではなくボタンでもドロップと同じ経路で画像を表示したいのですが、
下のコードの?の部分の書き方を教えて頂きたいです。

pastebin.com/mFqtV9aC

733 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 06:18:09.23 ]
>>731
いいえ、C#のことを質問するスレです

>>732
var dataObj = new DataObject( DataFormats.StringFormat, filename );
var e = new DragEventArgs( dataObj, 0, 0, 0, DragDropEffects.All, DragDropEffects.Copy );

かな
だけどこんな糞な呼び出し方しないで、
画像を文字列で設定するメソッドを書いて
それをpictureBox1_DragDropとbutton1_Clickの両方で呼ぶ方がいいよ

734 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 06:23:03.71 ]
ああ違うわ
DataFormats.FileDrop形式でデータオブジェクトにデータをセットしないといけないんだけど
それはグローバルメモリ確保したりCOMの知識がいるからこのスレ的にはほぼ無理

735 名前:650 mailto:sage [2012/01/27(金) 08:28:14.01 ]
ちょっとC#の入門ページみれば
ref修飾子がありました。
やりたい事にうってつけの動作でした。
ありがとうございます。

736 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 09:23:09.32 ]
refはすごく便利だからなぁ
よくわからんかったらとりあえずrefでいいし
でも、ちゃんとoutも理解しておくんだぞ

737 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 13:07:29.75 ]
c++の人はすんなりoutわかるだろ



738 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 13:18:26.28 ]
>よくわからんかったらとりあえずrefでいいし
おま・・・なんて恐ろしい事を・・・

739 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 13:50:08.38 ]
正直refの使い道は少ないし
多用するべきではない

740 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:08:07.70 ]
>>738
あ、dllの挙動がわからんかったら、とりあえずrefで渡して値が変わったか確認しろって意味ね
言葉足らずですまん

741 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 14:14:05.59 ]
dllの挙動ってDllImportのことか?

742 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:34:12.71 ]
>>733の方法でできました。
どうもありがとうございます

743 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:40:21.99 ]
Graphics.DrawImageについて教えてください。
マルチスレッドで、各スレッドの中でDrawImageを多用します。するとどうしても
CPU使用率が25%前後(クアッドコアなので1スレッドぶん)しか稼働しません。
いろいろ調べると、下記のサイトで全く同様の症状の人がいらっしゃったのですが、
どうも最終的には解決していないようです。ここにあるnew Bitmap(filename)で
ファイルをひらくのはやっています。

www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=42683&forum=7

また調べるとBitBltを使う方法もあるようですが、機能的にどうしてもGraphics
クラス、またはそれと同等の回転縮小平行移動が自由にできる機能が欲しいです。
高速化に良い方法ありませんか?

744 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:43:53.18 ]
DirectXかWPFを使う

745 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:51:30.81 ]
>>743
解決しているように見えるけど?

746 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 21:57:18.79 ]
ソフトウェア描画は遅いもの。どう頑張ってもGPUアクセラレーションには全然敵わないから
速度を求めるなら無駄な努力するよりWPF使ったほうがいいよ。
本当に画像の回転縮小平行移動だけでいいなら直Direct3Dも難しくないけど。

747 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:17:50.18 ]
なんか不思議な挙動だな
ideone.com/0fs5O

SetPixelを連打するだけなら余裕で100%行くんだけどな



748 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:20:28.66 ]
ownerって前もいたな
またお前か
注意力散漫だぞ

749 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:22:39.76 ]
すぐそうやってWPFを薦めるが、本当に速いと思っているのか?
WPFはGPU描画って鵜呑みにしてんじゃないの

750 名前:743 mailto:sage [2012/01/27(金) 22:30:03.87 ]
みなさんアドバイスありがとうございます。
GPUアクセラレーションより遅いのは仕方ないとして、1スレッドぶんしか動かない
ことが問題だと思っています。まさに>>747が指摘再現してくれているとおりです。

で、オススメしてくれたWPFはちょっと描画全体書き直しになりそうなので敬遠して
DirectXを調べてみようかと思います。今まで使ったことないのでまた苦労しそうだけど。
ちなみにDrawImageは画面描画のためではなくて画像処理だけに使うので、本当に回転
縮小平行移動しか使いません。>>746の難しくないという言葉をはげみに頑張ってみます。


751 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:43:21.97 ]
そもそもDirectXも仮想化レイヤ(GDIよりドライバに近いというだけ)だから、
DirectXを使用している=ハードウェア支援が受けられるではない。

752 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 22:55:45.76 ]
画像の線形変換付き描画だけならWPFは速いよ
ビットマップキャッシュをオンにすれば直接Direct3Dと遜色ない速度が出る

753 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 23:56:28.08 ]
>>747
Bitmapをファイルパス指定のコンストラクタで作るとロックがかかるから1スレッドしか動かんって>>743に書いてあるでしょうが

754 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:15:35.30 ]
ASPで、新しいタブで同じASPを表示したら同じセッションになってしまいます。
別のセッションにしたい場合はどうすればいいですか?
Abandonしたら元のタブのセッションも消えてしまいました。

755 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:20:42.22 ]
そういう仕様のブラウザをデプロイしてあげる

756 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 00:41:35.18 ]
>>754
同一マシンなら当然だろ…
タブ変えたら別セッションにしてたら通信できないだろ

757 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:15:24.64 ]
あるdllを参照に入れてから
そのdll用のusing System.○○をコードに書いてます
もしdllがない場合はエラーで例外とか強制終了になりますと思いますが
プログラム起動時にdllの存在を確認してなければエラーダイアログを出して終了させるという処理はForm_Loadに入れればいいのでしょうか?



758 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:36:56.36 ]
>>753
SetPixelは100%行くっていってんじゃん
人の話はちゃんと把握しろよ?

759 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:38:49.90 ]
>>757
プロジェクトの参照に追加しているのなら
プログラムのMainに入る前にロードの処理をやるから
確認する暇は与えられない

760 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:42:34.98 ]
いっそのことローカルコピーをtrueにしちゃえば

サイズはでかくなるけど

761 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:45:27.41 ]
だいたい>>743に書いてあれば正しいって頭おかしいんじゃねえか?
実測が最も正しいに決まってんだろ
そもそも>>743にすら

>Bitmapをファイルパス指定のコンストラクタで作るとロックがかかるから1スレッドしか動かん

などと書いていない

>using (FileStream fs = File.OpenRead("イメージファイル"))

>ここでファイル開いてますよね?
>そして、using句を抜けるまで、開きっぱなしってことですよね。
>この行をなくしたら、非同期になりません?

>Bitmap bitmap = new Bitmap("mypicture.jpg")

>とかならOKかと思いますが。

全然逆じゃねえか
ロックされたくなければnew Bitmap(fileName)使えといってんだよこいつは
自分が参照した文書すらまともに確認せずに人様にケチつけるとはどういう了見だ?
死ね
二度と俺に話しかけるな

762 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 11:59:13.29 ]
そんなことくらいでキレ過ぎw
初心者スレなんだから、回答者にもしたり顔の初心者くらい混じってるよ。
話に口を挟んだ挙句、それが間違ってるとなれば、腹が立つことは否定しないけど。

763 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:04:16.72 ]
>>181
>自分で提示したURLすらよく確認していない
>本当に死んだほうがいい

>>761
>自分が参照した文書すらまともに確認せずに
>死ね

引用するなら内容を確認しろ→死ねの流れが一緒だな
同一人物か?

764 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:22:29.01 ]
ildasmしても不審な部分は見当たらないんだよなあ。
www.dotup.org/uploda/www.dotup.org2568376.png

Gdipの方に何かあるとしか思えない。
だけどGdipはこのスレで扱うことじゃないよね。

765 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:41:12.18 ]
裏取ったわけじゃないから違ってても怒らないで欲しいが、以下にGDI+の話が。
social.msdn.microsoft.com/forums/en-US/winforms/thread/25cceaa4-f058-482a-8381-03698f73651a/
d.hatena.ne.jp/NyaRuRu/20061201/p1 (コメント欄)

中で何かやってるのは間違いなんだろうよ。
スレッドセーフでない=同期を使用していない、ではないからな。

766 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:53:32.70 ]
>>761

なんで最後まで読まないの?

>投稿日時: 2007-12-19 16:07
>あぶぽんさん、何度でも失礼してください(^^;
>ありがとうございます。

>FileStreamのCloseについて分かったことがあります。

>どうやら、Image.FromStream (Stream, Boolean, Boolean) メソッドの第三引数で動作が異なるようです。

>MSDNでは
> validateImageData
>  イメージ データを検証する場合は true。それ以外の場合は false。
>となっており、これを false にすると、FileStreamをクローズできません。
>true にするとクローズできます。
>new Bitmap()やFromFile()で作成した場合もクローズできます。

>true にすると new Bitmap() や FromFile と同等のパフォーマンスになるので、
>Imageオブジェクト内のデータの持ち方に違いがあるのだと思います。

>もう少し調査してみます。

767 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:58:21.16 ]
話しかけんなって言ってんだろゴミムシが



768 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 12:59:26.34 ]
お前ら土曜からら荒れててワロタ

それ以前に疑問があるんだけど
GDI+はSetpixelのような単機能とDrawImageのような複合機能を
同率に扱うと思うのか?

769 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:00:52.92 ]
しかも

>new Bitmap()やFromFile()で作成した場合もクローズでき
>true にすると new Bitmap() や FromFile と同等のパフォーマンスになる

読んでねえのはお前だろが下痢便野郎
「new Bitmap()と同等になった」と書いてあるだろが

770 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:08:25.10 ]
>>766
あぶぽんとやらが指摘しているのが、

>Bitmapをnewした方がファイルストリームをすぐ閉じるから速いのでは?

という点で、
それに対して質問者が、

>ファイルストリームを使用する場合はImage.FromStreamの第三引数をtrueにすると
>new Bitmapと同等のパフォーマンスが出るようになると確認できました

と報告しているんだと読み取れるが
一体これのどこからBitmapをファイル名でnewするとロックが掛かると読み取れたんだ?

771 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:12:34.73 ]
>>768
お前も論点把握してないのに口挟んでくるなよゴミムシ2号
100%行く処理もあるのにDrawImageだとシングルスレッドの制限が掛かるのはなぜかって話をしてんだよ
単機能がどうこう言う話じゃねえんだよ

772 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:19:41.71 ]
内部事情が分からない以上、仕方ないで済ますしかないんじゃないの。
構造体にin、outが使えないのはなぜですか?→内部事情です。
と同じで。
答えは出ないと思うよ。

773 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:22:52.99 ]
>>771
複合機能の処理部が一個しかないとは考えないのかね?

774 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:25:59.74 ]
下品な人を論破した

775 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:30:16.20 ]
>>773
どこかにそう書いてあるなら提示してみろよ
考えないのかね?
推測で全て知った風に語ってんじゃねえぞ

776 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:35:13.49 ]
>>772
別に答えを出したいとは思ってねえよ
人様に生意気なケチ付ける以上はそれ以上を提示してもらおうとしているだけさ

別にスルーされればそれでよかった
new Bitmapでロックとか抜かす勘違い野郎と
憶測で複合機能と単機能がどうたらと抜かす野郎と
このゴミ2名が現れなければ何も言わなかった
俺はな

777 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:43:09.84 ]
下品な人が負け惜しみ



778 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 13:52:06.02 ]
>>759
>>760
まじすか困りましたね
dllを更新できるようにdllとexeは分けたいのですが
dllがない場合の確認方法か
Form_Loadからusingの設定とdllを読み込む方法ってできないですよね?

779 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:00:25.41 ]
>>778
プラグイン形式のアプリケーションと同じ方法を取ればいいんだよ
.NET4ならMEF、それ以前ならインターフェースを定義しておいて、Assembly.Loadから使う
dobon.net/vb/dotnet/programing/plugin.html

780 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:06:17.14 ]
MEFは4だと.NET Frameworkに含まれているが
3.5以前でもcodeplexから落としてくれば使えることは補足しておく

781 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:17:25.34 ]
>>779
難しいそうですね
4なのでMEFでやるのが簡単にみえるのでやってみます

782 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 14:18:45.80 ]
MEFは、実際に動かしてみるとそうでもないが、解説が…。
msdn.microsoft.com/ja-jp/library/dd460648.aspx

783 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 15:40:24.26 ]
モーダルなダイアログが出たときはそこでコードの実行が止まりますが、
出た直後から違うスレッドを実行し始めたいのですが、
訳があって下のようにShowDialogの直前に書くことが出来ないでのすが
ダイアログが出るか監視していて出たら動き始めるイベントを作っておくことは出来るでしょうか?

System.Threading.Thread t = new System.Threading.Thread(hogeProces);
OpenFileDialog d = new OpenFileDialog();
t.Start();
d.ShowDialog(this);

784 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 15:47:05.87 ]
できないことはないが、そのイベントを発行する奴も別のスレッドでウィンドウが出るのを監視していることになる
本末転倒だろう

>ShowDialogの直前に書くことが出来ない訳を解消した方がいい

それと、本当にプリミティブなThreadが必要か?
ThreadPoolやTaskで代用できないか?

785 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 16:03:02.38 ]
>>783
Applicationクラスにおあつらえむきの静的イベントがあるよ

786 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 19:23:36.77 ]
描画処理に関して質問です。
BitmapクラスにはLockbits、UnlockBitsというものがあって、
ポインタを取得してその中身を高速で書き換えられるみたいですが・・・
それをフォームにGraphics.DrawImageメソッドで描画しようとするとDrawImageが遅いせいで
あまり何度も画面に書き換えが出来ません。。。

フォーム自体もポインタを取得して高速に書き換えることは可能でしょうか。

787 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 19:27:49.91 ]
そういう使い方はするなよ



788 名前:デフォルトの名無しさん [2012/01/28(土) 19:30:01.96 ]
何を作ろうとしてるんだろ

789 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 19:40:21.82 ]
PaintのeからhDC取れたろ
GDIで全部済ませればGDI+よりは格段に速いよ

790 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 20:27:17.68 ]
>>779
いや、DLLチェック出来ないか?
メソッドがスタックに積まれるタイミングでのロードだと思ってるんだけど

791 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:19:39.45 ]
>>787
すいません・・・
>>788
ゲームみたいに画面を1秒間に何回も書き換えるやり方を模索中でした
>>789
ありがとうございます。C#のをそのまま使うのよりよさそうですね、GDIのほうを調べてみます。

792 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 21:38:48.67 ]
もうDirect3DやWPFでピクセルシェーダ使えよ

793 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:43:56.56 ]
int i = 25;という型が決まった変数があります
この変数を100で割ってfloat型の0.25が欲しいのですが
int i = 25;
float f = i / 100;
これだと0になってしまいます
どのようにしたらよいでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:47:59.48 ]
float f = (float)i / 100.0;

795 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:49:54.83 ]
float f = i / 100.0f;
float f = (float)i / 100.0f;

どっちかでいけるかな?

IDEは
100 をint
100.0 をdouble
100.0f をfloatとみなす

ちなみに100の上にマウスカーソルを乗せるとIDEがどんな型としてみてるか
ポップアップされるはず

796 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:52:08.71 ]
個人的には途中の計算は全部doubleでやって最終的にもし必要ならfloatにしたい

797 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 22:52:12.14 ]
floatに型キャストしたら出来ました
ありがとうございます
msdn.microsoft.com/ja-jp/library/b1e65aza(v=vs.80).aspxみてたんですが
floatって整数1桁以上は使えないと思っててintをfloatに型キャストしたら桁が削れるのかなと勝手に思ってました



798 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:14:25.42 ]
short型を扱うとき、
x = x - 1;
みたいにできる方法はないですか?

799 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:21:12.22 ]
急募:エスパーさん

800 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:21:44.00 ]
float f = (float)(i / 100.0);

short x;
x = (short)(x - 1);

801 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:22:11.50 ]
これは…難しいw

802 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:24:55.57 ]
整数型はint
浮動小数点はdouble

でコード書いて必要になったらキャスト

803 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:26:57.43 ]
doubleとfloat使ったこと無いわー
decimalで十分だわー

804 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:32:28.05 ]
俺はdoubleは結構馴染みあるなー

805 名前:デフォルトの名無しさん mailto:sage [2012/01/28(土) 23:46:54.62 ]
floatは結構普通に精度の悪さが表面化するから極力使いたくないな

806 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:01:07.06 ]
まあ、GPU か SSE 命令使わないと float 使う意味ない。

807 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:14:06.74 ]
そうでなくてもメモリバウンドならfloatの方が有利なんじゃないか



808 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:23:36.63 ]
ああ、float[] なら使う意味あるか。

(float)i / 100.0f みたいなのは意味ない。
特に、C# だと SSE 命令になったりするわけじゃなし。

809 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:31:27.59 ]
この流れももう10回ぐらい読んだ気がする

810 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:40:53.71 ]
>>798
x--

811 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 00:56:48.15 ]
過疎

812 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 01:52:12.26 ]
もうC#なんて使う人いないだろうな

object-cだ!

813 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 02:35:52.20 ]
Cメジャー7thとか名称変えてきたりして?

814 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 10:22:28.63 ]
>>812
新しい言語ですか?

815 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:20:12.25 ]
フォームにtextBox1とlistBox1があります
Form_LoadにlistBox1.focus()って書きました
実行するとtextBox1にフォーカスがあります
listBox1にフォーカスを移す方法を教えてください

816 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:20:57.31 ]
訂正
focus()はFocus()の間違え

817 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:30:15.39 ]
FocusじゃなくてSelect



818 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:39:32.87 ]
ActiveControl

819 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:40:49.78 ]
メモ
Focus は、主にカスタム コントロールの作成者が使用するための下位メソッドです。 代わりに、アプリケーション プログラマは、子コントロールには Select メソッドまたは ActiveControl プロパティ、フォームには Activate メソッドを使用する必要があります。

820 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 11:40:51.51 ]
フォームデザイナでTabIndexをListBoxの方を若くするか
Form_Loadで
this.ActiveControl = this.listBox1;

821 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 12:37:52.16 ]
C#は時代遅れ
今やってる奴はくるくるぱーm9(^Д^)

822 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 12:55:10.35 ]
Selectでやったらフォーカスできました
ActiveControlも覚えてみたいと思います

823 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 12:56:36.40 ]
pictureBox1.ImageLocationで今表示されている画像を切り替える場合
そのままpictureBox1.ImageLocationの値を変更するだけでいいですか?
メモリに表示されてきた画像のゴミ?みたいのが残ったりしますか?
一度pictureBox1を削除して再度設置して表示したほうがいいのでしょうか?

824 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:18:15.39 ]
>>791
そういう用途ならメモリイメージに上書きしていって最終内容を
描画したほうが早いんじゃないの?

825 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:26:48.34 ]
>>823
それでいいよ
ゴミが残るかどうかは保証できないけどな
リファレンスに書いてないことを前提にしてはいけないのよ

826 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:48:57.71 ]
TcpClient を使ってソケット通信をやってます。
これって送信してから受信側にデータが届くまでのタイムラグが大きいでしょうか?

次のような条件で試しています。
・ひとつのプロセス内に、送信側、受信側のスレッドを作る
・受信側は、stream.DataAvailable と Available でデータの着信を確認してから stream.Read で受信
 この受信確認は 30m秒くらいの間隔で実行している
・送受信は 127.0.0.1 でやっている
・他にもいくつか通信とは無関係のスレッドが走っている
・ログ出力を仕組んで、stream.Write による送信と受信の間隔を調べると 10 〜 20 秒くらい
 (結構な頻度で)開いている
・ログを見る限り、ある時点でそこまで送信されたデータをまとめて stream に読み込んでるっぽい動作をしている
 (データAを送信1秒後に送信したデータBもAを受信したタイミングで stream に乗っていた)

スレッドを使用してる関係で同期用の排他制御も組み入れてるので最初はそのせいかとも思ったのですが、
送信側はもとより、受信側の着信確認も意図した間隔で繰り返していて、受信が確認される直前までは
なにもデータが届いていないことを確認しています。

少しくらいのラグはともかく、普通に使っていてここまで間が開くとは思えません。
プログラムに問題があるとしたらどんな理由が考えられるでしょう?

いま書いてて思ったのだけど、stream.DataAvailable や Available にフラグが立っていなくても stream.Read では
データを読めるなんてことはないよなぁ。。。 だとしたら、ReadTimeout を仕込んで素直に受信待ちした方がいいのか。

827 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 13:55:21.70 ]
データのサイズはパケットの大きさと比べてどのくらい?



828 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:00:31.42 ]
パケット覗いてみれば送信側と受信側どっちに問題がありそうかは切り分けられるだろ

829 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:01:43.05 ]
ラーメンタイマーをこれから作ります

830 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:02:57.29 ]
どうぞ

831 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:04:08.81 ]
いま、なんどきですか?

832 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:04:53.48 ]
Thread.Sleep(180000);
Console.Beep();

833 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:08:41.87 ]
今は昼八つくらいですね

834 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:16:36.87 ]
出力のフォーマットで
Console.WriteLine("a:{0} b:{1} c:{2} d:{3}",a,b,c,d);

Console.WriteLine("x:{-1},a:{0} b:{1} c:{2} d:{3}",x,a,b,c,d);

みたいなに手軽になんとかしたいんですが...

835 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:17:41.72 ]
Console.WriteLine("x:{5},a:{0} b:{1} c:{2} d:{3}",a,b,c,d,x);
ではどう?


836 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:18:12.98 ]
おっと、4だったw

837 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:20:27.44 ]
>>835
うひょーーーーー
ありがとうございます



838 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 14:47:29.84 ]
>>826
TCPの理解が足りていない(C#の話ではないのでスレチ)だけじゃないのか
1回のWrite≠1パケットとか、バッファリングとか基本的なことを理解していないように見える

とりあえず、TCPの基礎を理解してから出直すと良い

839 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:09:38.51 ]
新規に作成したスレッドにメッセージループって持たせられますか?

840 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:18:56.60 ]
>>839
その質問の仕方じゃYes/Noしかかえってこないぞ。

841 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:33:56.06 ]
パラレルタスクを起動させると表示メニューのタスクの表示でタスクの名前が表示されます。嘘です。

842 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:41:37.77 ]
>>838
1回のWrite≠1パケットって、それがNagle のアルゴリズムのことならせいぜい200msまでの遅延しか発生しないし、
それ以外のバッファの話ならC#の問題なので、初心者スレには適した話題じゃないの
他人に聞くならもうちょっと情報が欲しいとは思うけど

843 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:49:16.12 ]
聞いてる分には、C#じゃなくても発生するような初歩の問題に見えるから
通信関係のとこで聞いた方が確実だとは思うけどなあ。

844 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 15:54:53.95 ]
StopWatchクラスのsw.Elapsed.toString()ってやると
00:00:00.ミリ秒みたいにして取得できました
これで3分経ったかどうかを判定させたいのですが、ifの判定式をsw.ElapsedMillisecondsを使わないで
sw.Elapsedと比較させて書く方法を伝授してください
if (){
// 3分経ったときの処理
}

845 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:03:37.07 ]
> ifの判定式をsw.ElapsedMillisecondsを使わないで
なんで?

846 名前:826 mailto:sage [2012/01/29(日) 16:09:11.96 ]
>>827,828
ネットワーク側の設定は不明ですが、送受信するデータはメッセージあたりで 20 〜 60000 バイトくらい、
TcpClient.SendBuffer は規定値のはずなので 8192 バイトだと思います。
TcpClient.NoDelay は true にしても変化が見られませんでした。

>>838 で言われてるように、バッファリングの影響などはもちろんあるはずだと思うのですが、
C# で TcpClient を使う場合にそれを乗り越える方法がないとは思えず、
遅延もローカルホストでやるにしてはかなり大きかったので質問してみました。

パケットを直接監視するってのは思慮から完全に抜けていたので、確認してみます。

847 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:09:31.77 ]
if (sw.Elapsed.Milliseconds > 1000*60*3){
// 3分経ったときの処理
}



848 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:10:28.06 ]
>>846
そういう「パケット見る」じゃねえよ
パケットアナライザでNICに届いてるタイミングを見ろって言ってんの

849 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:13:03.52 ]
文字列で"3:00"って指定できればなあと思ってます
やっぱりこういうときはsw.Elapsed.Millisecondsで比べるのが主流なのでしょうか?

850 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:13:43.20 ]
初めからそう言えよ
言われたとおりにElapsedMillisecondsは使わなかったのに

851 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:19:42.47 ]
TimeSpan.ParseExactで"3:00"をTimeSpan形式に直して比較
msdn.microsoft.com/ja-jp/library/ee372287.aspx

852 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:19:45.71 ]
許してください、すみません;;

853 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:21:52.18 ]
>>851
ありがとうございます
リンク先見に行くと結構難しいのですね

854 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:27:26.17 ]
>>853
難しくはない、というかこんなの使えないとstring.Formatも使えないということになるぞ
書式を全部覚えきる必要はないけど、書式リファレンスを見ながら普通に書ける程度にはならなきゃダメだ

855 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:29:09.98 ]
C#ってLinuxとMacでも動くようになりませんか?
monoをマイクロソフトも一緒になって開発してくれてたらいいんですが

856 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:30:27.64 ]
MacはともかくそのMonoがLinuxでうごいとるやんけ

857 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:31:07.26 ]
時間の書式なんてmm:ssで終わりじゃねえのか
TimeSpanは違うんだっけ?



858 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:31:15.56 ]
Javaでいいんじゃね?

859 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:36:09.85 ]
VC#で作ったものをそのままMacとLinuxでも動かしたいのですよ
Javaは・・・その・・・フォームを作って部品を配置するのがVC#より少なくて戸惑ってます
イベントハンドラの追加方法もよくわからないし・・・Javaは難しいなう

860 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:36:23.59 ]
new TimeSpan(6, 14, 8, 17, 685):

mm --> "08"

new TimeSpan(6, 8, 5, 17, 685):

d\.hh\:mm\:ss --> 6.08:05:17

m\:ssかな

861 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:36:34.05 ]

なうは打ち間違えです
×なう
○です

862 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:39:01.79 ]
ラベルを画面のサイズに合わせて横いっぱいに文字を大きくしたいのですが何か良い方法教えてください

863 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:39:11.87 ]
WinFormsはある程度Monoもサポートしていると思うが、何が足らんのだ?

864 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:39:40.34 ]
ってそういうことじゃないのか
バイナリ互換にしろってこと?そりゃ無理

865 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:46:55.01 ]
VC#で書いたソースコードをそのままLinuxとMacでもコンパイルできるようにしてほしいということです

866 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:48:49.86 ]
すみません質問です

System.Diagnostics.Process.Startメソッドを使って、複数のファイルを同時に1つのアプリケーションで開きたいのですがどのように記述すれば良いのでしょうか。

867 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:49:43.08 ]
無駄だろうね



868 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:50:48.73 ]
>>866
もう少し具体的に書けよ
ブラウザじゃないかと踏んだけど

869 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:52:33.27 ]
Monoにもwineみたいなのが出ても悪くないとは思うけど…。
誰かにメリットを提示できるかとなるとどうかな。

"monoをマイクロソフトも一緒になって開発"する理由は一つもないしw

870 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:55:03.51 ]
Microsoftが技術協力はしてるらしいけどね、一応は。

871 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:55:41.73 ]
>>868
失礼しました

例えば「@"C:\aaa.mp3"」「@"C:\bbb.mp3"」「@"C:\ccc.mp3"」を同時にWMPなりのメディアプレイヤーに受け渡して、この3つのファイルがプレイリストに入った状態で起動させたいのです

872 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:58:43.86 ]
それがProcess.Startで可能かどうかはプレーヤーの仕様に依存するな
コマンドライン引数に指定して開けないのならProcess.Start以外の方法を取ることになるだろう
プレーヤーによるから可能かどうかすら判断つきかねるが

873 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 16:59:53.12 ]
.Netが公式にクロスプラットフォームで動くように対応しないからいけないのだ
そしたら俺はJava勉強しなくてすむ

874 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:01:10.67 ]
IIS売るためだから我慢なさい

875 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:07:59.56 ]
>>872
ぐ・・・Process.Start以外の方法ですか・・・そんなものもあるんですね
エクスプローラなら複数選択→エンターキーを押してやれば勝手にそういう挙動になるので単純なものかと思ってたのですが難しいみたいですね
ありがとうございました

876 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:12:18.28 ]
最近そんな感じの質問があった気がした。

toro.2ch.net/test/read.cgi/tech/1325511769/373-376

うん。
簡単ではないと思う。

877 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:20:45.27 ]
>>876
あっ、わかりづらくてごめんなさい。この質問とは逆の状況なんです
自作のアプリケーション上でProcess.Startメソッドを使って、とあるディレクトリに存在する複数ファイルを同時に起動させたいのです



878 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:22:45.70 ]
ごめんなさい>>877は表現が間違ってました
起動させるというのはまた別のアプリケーションに受け渡すという意味です

879 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:23:50.80 ]
>>877
C:\aaa.mp3
C:\bbb.mp3
C:\ccc.mp3

って内容のテキストファイルを.m3uの拡張子で保存して、そのファイルをProcess.Startで実行すれば多分行けると思う
意味はwinampのプレイリストファイルを作って拡張子と関係づけられたプログラムを起動って手順です
m3uに何が関連づけられているかで起動プログラムは変わりますが

コレじゃ違うかな?

880 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:25:58.07 ]
>>875
Process.Startでプレーヤー起動させて、引数にmp3ファイルを渡せばいいんじゃない?

881 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:31:41.78 ]
>>877
いや逆とかじゃなくてね

>エクスプローラなら複数選択→エンターキーを押してやれば勝手にそういう挙動になる

というのが876を利用して実装されているわけで、
あなたのプログラムから同じようにエミュレートしてやれば同じように動作するべ。
って話。

882 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:32:16.18 ]
エミュレートするのはエクスプローラ側の動作な。
呼ぶ側な。

883 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:34:25.66 ]
今ラーメンタイマー完成しました
結構時間かかりますね

884 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:34:54.00 ]
>>879
確かにその方法なら実行できそうですが、一連の動作をアプリケーション内だけで完結させたいので・・・
あっ、でもその動作もプログラミングしてしまえば可能ですよね!!ちょっと遠回りですがそのアプローチは想像つきませんでした。参考にします。ありがとうございます!

>>880
その方法なら引数にmp3ファイルを複数指定できるんですか!?やってみます。ありがとうございます。

885 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:36:54.42 ]
>>881-882
おおお・・・すみません理解に時間がかかりそうですが参考にします。ありがとうございます。

886 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:38:06.62 ]
ラーメンにお湯入れて見張ってた方が良かったんじゃないですか?

887 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:44:23.18 ]
>>886
すいません、力を貸してください
今試しにトイレに行って戻ってくるまで3分で返ってこれるかやってみようと思って、
プログラムを起動したんですがtimerで定期的にlabelの時間を書き換えてるのに右上のタイトルバーの_■×ボタンあるじゃないですか
そこをクリックしてボタン押しっぱなしにすると処理が止まってしまいます
これは何が原因なんでしょうか?



888 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:44:29.70 ]
>>826
それはwindows7上だったらwindows7の問題だよ

889 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:47:20.69 ]
>>887

おれも5秒でラーメンタイマー作ったYO
>>832

890 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:49:09.19 ]
>>880
Process.Start(@"C:\player.exe", @"C:\aaa.mp3 C:\bbb.mp3 C:\ccc.mp3")
で動きました!!お騒がせしてすみませんでした。皆様本当にありがとうございました。

891 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 17:52:36.52 ]
>>855
自分も昔はJavaのマルチプラットフォームにあこがれたが、結局自分もユーザーもWinばっかりじゃないかと・・・
どうしてもって言うなら、C++でマルチプラットフォームなライブラリ使っとけ
Javaはポインタや参照使えない分、パフォーマンス的にどうしてもC#より不利な場面が出てくる

C言語 vs C#言語 vs C#言語ノーマル vs PHP
blog.livedoor.jp/campanella_77/archives/17983896.html

C# 最高速説
blog.livedoor.jp/campanella_77/archives/17986824.html



892 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 18:15:57.56 ]
Windowsフォトビューワーみたいに素早く拡大縮小、画像のスクロールができるプログラムを作りたいんですがどうすればいいですか?

893 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 18:18:06.92 ]
>>892
独学でググって頑張る || 本買って勉強

894 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 18:23:12.24 ]
ググっても本が欲しい時はあるので短絡評価はやめていただきたい(キリ

895 名前:826 mailto:sage [2012/01/29(日) 20:28:12.88 ]
>>848
それは承知していたつもりです。
ので、あのあと準備をして WireShark で見てみましたが、ログで確認した状態と大差ないようです。
つまりバッファにある程度蓄えてしまって実際には送信していないということなのだと思います。

>>888
だとすれば症状の説明が付くのかも知れません。
よろしければソースを教えていただけないでしょうか。自分でも探してみたのですが、これと思う記事を見つけられませんでした。
これだとするとスレチですが。すみません。

896 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:37:51.17 ]
バッファリングかあ…

897 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:45:38.16 ]
WPFアプリケーションを作っています
C#のコードで追加するThumbコントロールに画像を設定するにはどうしたら良いでしょうか



898 名前:897 mailto:sage [2012/01/29(日) 20:46:39.09 ]
リソースの画像ではなく、ディレクトリに存在する画像でお願いします

899 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 20:54:36.75 ]
ControlTempleteを作って中にImageを置けば良いのでは?

900 名前:897 mailto:sage [2012/01/29(日) 21:02:47.04 ]
<Thumb>
  <Thumb.Template>
    <ControlTemplate>
      <Image Source="C:\Pic\001.jpg"></Image>
    </ControlTemplate>
  </Thumb.Template>
</Thumb>

xaml側ではこんな感じで実装できたんですけれど、これのC#側での書き方がわからなくて・・・
初心者で申し訳ないのですが教えて頂けたら幸いです

901 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:20:16.68 ]
WPFスレってあるみたいだけど
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part12
toro.2ch.net/test/read.cgi/tech/1324366825/

902 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:20:58.15 ]
データバインディングとデータテンプレートでやるのではだめなの?

903 名前:897 mailto:sage [2012/01/29(日) 21:33:35.83 ]
>>901
該当スレありましたか、失礼しました

>>902
勉強不足で申し訳ないです。ググってみます

904 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:36:38.61 ]
var b = new BitmapImage();
b.BeginInit();
b.UriSource = new Uri(@"てきとうながぞう.jpg");
b.EndInit();

var f = new FrameworkElementFactory(typeof(Image));
f.SetValue(Image.SourceProperty, b);

var t = new ControlTemplate();
t.VisualTree = f;

th.Template = t;

スーパー天才の俺が教えてやるけどこうですよ

905 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:41:59.54 ]
さすが天才

906 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:49:46.06 ]
やはり天才……

907 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 21:50:05.28 ]
ゴクリ…



908 名前:897 mailto:sage [2012/01/29(日) 21:51:18.43 ]
>>904
あ、ありがとうございます!実装できました!
まさかスーパー天才な方が現れて下さるとは思ってもみませんでした!本当にありがとうございます!

909 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:01:01.15 ]
>>904
そんな面倒になるのか
やっぱバインディングでやったほうがいいな・・・


910 名前:897 mailto:sage [2012/01/29(日) 22:05:44.90 ]
度々すみません・・・・>>904で実装するThumbのWidthを設定するにはどうしたら良いでしょうか・・・

911 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:08:37.25 ]
Thumbだって普通にWidthプロパティあるんじゃないのか?

912 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:09:55.04 ]
あの10年前ってVB全盛期じゃないですか
でも今は消えつつあるじゃないですか
C#は消えたりしますか?

913 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:14:11.95 ]
>今は消えつつある

どこがだよ
ブウウウウウビィイイイイイイイイイイ6666666666666666666って唸ってるぞ
まだ

914 名前:897 mailto:sage [2012/01/29(日) 22:14:50.06 ]
あ、ごめんなさい勘違いしてました
ありがとうございました

915 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:17:51.97 ]
こんだけ普及しちゃったらもう消えるのは難しい
最新技術に取り残されても、古臭い糞言語うぜえとか言われながら保守運用で残り続けるよ

916 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:29:14.45 ]
>>912
その10年前のVBの問題を解消したのが今のC#だよ。
C#が消えるときは、次のC#的なものが出た時だ。

917 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:30:41.25 ]
でもこの後どこまでバージョン上がるかな
10.0はたぶん行かないよな



918 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:36:27.20 ]
Roslyn 来たら、言語内DSL + IDE 補助な方向で伸びそうだからなぁ。
汎用言語としての C# の進化はその辺りでいったん遅くなると思う。

919 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:39:47.84 ]
むしろ、Win8以降、ARM版ではMFC使えないから、商品価値が下がるだろうし、VSの高額な金額に見合う目玉商品は今後何になるのか?の方が疑問
winRTは有料版のみ開発可。とかかね・・・
もしくは、appleのAppStoreみたいにストアからしか入れられなくして、開発者からも年会費取る方向にシフトするとか
VSがフル機能でも格安で手に入るんなら、その方向でも良いかな


920 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:44:12.41 ]
今の時点ですでに、
言語がどうとか、個人レベルのものは全部無料になってるからねぇ。
個人のコーディング → 開発チーム → 関係各社全員のコラボ で金取ってる。

MS 全体で見ても、年々、OS のパッケージ販売から、
Azure とか Office 365 みたいな月額支払の方にシフトしてて、
開発ツールがらみも、TFS on Azure とかにシフトすると思う。

921 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:45:53.31 ]
>>915
C#というか、.NET Frameworkが旧VBほど浸透したとはちょっと思えんけどね。
なぜかフリー作者にも敬遠されてるし。

922 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:48:37.33 ]
standerd復活させて、またblendとセットで2万以内で売ってくれよ

923 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:49:12.71 ]
>>921
それは、旧VBと現.NETの差じゃなくて、
Win95時代のMSの躍進と、XPから移行してもらえなくて悩む今のMSの勢いの差だな。

伸びてる時期は、大部分のユーザーが新人だからしがらみがないけど、
安定期に入っちゃうと、一番の敵は過去の自分になっちゃう。

924 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:52:17.12 ]
ソースが復元できちゃうのがなー


925 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:55:06.98 ]
>>921
VB6以前で作ってた人は、VB6で作り続けてるか、.net版のVBに移行してると思うよ
敬遠してるのは、DelphiとかVC++で開発してた人たち
exeファイル一つで配布したい人は旧VBも敬遠してた


926 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:55:57.29 ]
それは余程の初心者以外気にしてないような気がするぜ
あれだけフリーのリポジトリサイトが生まれたことを考えたらね

927 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:56:53.38 ]
アメリカン、モカ、キリマンジャロ、オリジナルブレンド



928 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 22:58:52.74 ]
いつの間にかCodePlexでMercurial使えるようになっていて吃驚

929 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:02:26.83 ]
むしろ.net framework 4を入れないと動かないようにしたら
変なユーザーに絡まれなくなっていい。

930 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:16:25.99 ]
>>904
MSDN のどのページを読んだらこれに行き着けるんでしょうか?

931 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:17:46.75 ]
スーパー天才の俺はググってDataTempleteでそういうことしてる野良記事を発見して
試しに書いたら動いたから得意げに教えただけです

932 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:20:47.31 ]
>>931
やっぱり、スーパー天才な方は違いますねっ!

…WPF を、どうしてもコーディングで書かなくてはならないとき、
やり方が全然わからなくていつも困ります…

933 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:22:58.38 ]
WPFって結局流行るんだろうか

934 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:26:14.53 ]
まあ、WinRTもSilverlightも、ほんとやってることはWPFなんで大丈夫でしょ。
名前変わると別物だと思う人が多くて困るけど。

あと、他のGUIフレームワークも、最近データバインディングとMVVM的な仕組みを持ち始めてるし、その先駆者ではあるし。

935 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:31:31.95 ]
>>926
昔はVBとVC++の差が広すぎたからね・・・
難易度も、出来ることも(だからこそ、Delphiの入り込む余地があった)

今のVBやC#は難易度も出来ることも旧VBとVC++を埋める中間に位置する
(から、VBは難しくなったと言われる)



936 名前:デフォルトの名無しさん mailto:sage [2012/01/29(日) 23:36:41.64 ]
VB と C++ の間に溝があることが一番の問題だったと思う。
両方の範囲をカバーしようとしたのが C#
(結局、C++ というか、ネイティブは今でも必要だけど)。

中間じゃなくて、範囲が広い。

937 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:15:19.88 ]
でVBとJAVAがいらなくなったと。



938 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:23:06.76 ]
VBAもVBScriptも現役だけどね

939 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:33:53.15 ]
>>937
Win限定なら、マジいらない

>>938
消えろとまでは言わないが、マジでそれらのC#版を出してほしい


940 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:36:15.43 ]
どっちもあるだろ

941 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 00:50:35.33 ]
>>940
マジか
時代がいつの間にか俺に追いついてたんだな


942 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 01:40:48.66 ]
今だと、Office 向けのプラグインを .NET で作るの推奨してるよね。
Visual Studio に標準で Office 開発テンプレート入ってるし。

でも、Office とかの中で C# スクリプトを使いたいって要求は多いけども。
それも Roslyn 待ち。

943 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 09:12:50.33 ]
自作アプリにC#風スクリプト機能をつけたりするのが簡単になるのかな

944 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 09:29:31.59 ]
>>942
どんな風なプラグインが人気なのか判りますか?

945 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:03:22.24 ]
PowerShellの構文は、もっとC#ライクになってくれてもよかった

946 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 10:42:45.52 ]
JScript.Netは違うの?

947 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 11:25:35.55 ]
違うの?とだけ言われても。何と?



948 名前:デフォルトの名無しさん [2012/01/30(月) 15:58:20.11 ]
テラバイトをバイトに変換したいのですが、変数を保存できる型がわかりません。
教えてください。

949 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 16:05:07.47 ]
Int64

950 名前:デフォルトの名無しさん [2012/01/30(月) 16:21:40.85 ]
Int64 WarningSize = 1024 * 1024 * 1024 * 1024;

ビルドすると以下のエラーがでます。
エラー CS0220: この操作はチェック モードでコンパイルしたときにオーバーフローします。

951 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 16:25:13.96 ]
残ってるのは、UInt64かDecimalくらいじゃね?

952 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 16:48:58.13 ]
先頭の1024にL付けるかlongにキャストしないとダメだろう

953 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 16:49:15.88 ]
BigIntegerはどうだ?

954 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 16:49:58.56 ]
整数リテラルは、int==Int32の範囲内に収まる場合はintになる
int同士の積はint

なので、途中でInt64==longを挟めば良い
long (C# プログラミングリファレンス)
とかを読んでみれば

955 名前:デフォルトの名無しさん [2012/01/30(月) 16:59:12.68 ]
ありがとうございます。
キャストしたらエラーがでなくなります。
(long)1024 * (long)1024 * (long)1024 * (long)1024;

956 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 17:30:17.00 ]
>>955
(long)1024じゃなくて1024Lって書けるよ

957 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 17:32:42.75 ]
whileでテキストファイルから値を取り出す関数intputを複数回回しているのですが、
ハンドルされていない例外: System.IO.IOException: 別のプロセスで使用されているため、プロセスはファイル 'C:\Users\**(ファイル名)**.txt' にアクセスできません。
となりプログラムが強制終了します。
わからないのが2回や3回のinputで止まるときもあれば、10回以上のinputをしても止まらない時があります。
StreamReaderを使用しています↓。原因はなんなのでしょうか?


StreamReader sr = new StreamReader("C:\\Users\\**(ファイル名)**.txt", Encoding.GetEncoding("Shift_JIS"));
string text = sr.ReadToEnd();
sr.Close();




958 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:07:26.27 ]
C#でアクションゲームが作りたいのですが
SDL.NETがいいかな〜と思いましたがライブラリは何を使うのが定番でしょうか?

959 名前:デフォルトの名無しさん [2012/01/30(月) 18:13:10.35 ]
>>957
そのアクセスしようとしてるテキストファイルを他に触るプログラムはないの?
あと

StreamReader sr = new StreamReader("C:\\Users\\**(ファイル名)**.txt", Encoding.GetEncoding("Shift_JIS"));
string text = sr.ReadToEnd();
sr.Close();

このコードとwhileの関係は?

960 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:14:09.67 ]
>>958
ゲーム作るならXNAとかでやった方がいいんじゃないかな?
winformとXNAでちょっとした動きのある物作ったことあるけど
実行効率はXNAには勝てないと思う

961 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:33:55.86 ]
>>960
XNAは避けて通れないのですね
インストールしてみます

962 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 18:41:36.01 ]
まあSDLの方もどっちもやっておくといいかもね

963 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 20:26:03.88 ]
SDLって基本ソフトウェア描画だからクソ遅いよ

964 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 20:58:25.99 ]
>>959
そのコードを関数input内に置いて、Main関数からwhileでinputを複数回呼び出しています。
アクセスしようとしているテキストファイルは実行時、他に誰もアクセスしていない状態です。
input内でexeファイルを実行して、アクセスしようとしているテキストファイルに一度書き出していますが、
そのexeファイルに問題は無いはずです。(私が作ったものではないのですが、不具合などの報告はありません。)

それと言い忘れていたのですが、
>わからないのが2回や3回のinputで止まるときもあれば、10回以上のinputをしても止まらない時があります。
についてなのですが、同じデータを用いても止まるタイミングがバラバラということです。

965 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:01:18.77 ]
今C#でDirectX扱おうと思ったらXNAなの?それともSlimDx?

966 名前:デフォルトの名無しさん [2012/01/30(月) 21:08:14.76 ]
>>964
おおざっぱな流れがわかるコードだせよw
そういわれてるんだよ

>>965
SlimDxはしらんけどXNAの場合はゲームループの基本はできあがってるんだよ

初期化、ループ中の入力、判定、移動などの所定のタイミングで呼ばれるのでそこにコードを書くだけで
結構楽だよ

967 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:16:02.71 ]
>>964
exeがまだ動いてるのに読みにいってるとかじゃないの
ためしにexe呼び出してるところコメントアウトして試してみたら



968 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:21:52.22 ]
XNAってXNAのランタイムが入ってるPCでしか動かないんですよね
このランタイムのみってのはどこにおいてあるのしょうか?
探してもフレームワークのダウンロードしか見つかりません

969 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:24:07.58 ]
>>83
SlimDXのサンプルコードにはXNAを参考にしたものもある。
最終的にどれ使うかはあとで決めたらいいと思うが、XNAは一通り触っておくといい

970 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:25:47.24 ]
SlimDXはまさにDirectX


971 名前:デフォルトの名無しさん [2012/01/30(月) 21:26:33.77 ]
>>968
利用者向けは「再配布」をつけるとでてくるよ
www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=53867a2a-e249-4560-8011-98eb3e799ef2

972 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:27:56.13 ]
WinFormのPictureBoxにXNAで描画できる?

973 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 21:35:06.13 ]
できる
AppHubにサンプルがある

974 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:16:43.13 ]
>>971
すみません
これはxna frameworkでググると
Microsoft XNA Framework Redistributable 3.1がトップに出てくるのですが
www.microsoft.com/download/en/details.aspx?id=20914のが4.0なので新しくてこっちをダウンロードしました
OSのアップデートをして再起動してないのでまだインストールはしてません
これらは開発用フレームワークじゃないのでしょうか?
ユーザーさんにはこれらをインストールさせればいいってことですか?

975 名前:デフォルトの名無しさん [2012/01/30(月) 22:20:42.41 ]
ランタイム欲しいっていうから配布用を見せたのにw
開発用が欲しいならこっち

Microsoft XNA Game Studio4.0
www.microsoft.com/download/en/details.aspx?id=237147

Microsoft XNA Game Studio 4.0 Language Pack (日本語)
www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=b3929d3b-3fe1-49dd-9cb1-c701b88d049d

976 名前:デフォルトの名無しさん [2012/01/30(月) 22:22:36.88 ]
XNA自体が日本では微妙な存在ぽいので情報が更新されてないかもしれないけど
sorceryforce.com/xna/tips.html

977 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:38:46.83 ]
XNAやるなら日本の情報はないものと思って英語上等でいかないとムリ



978 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:39:58.85 ]
XNA?プ 笑

979 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 22:58:32.21 ]
変な質問かもしれませんがよろしくお願いします。

設定を管理するクラスを作って、それをXmlSerializerでXMLに書き出しているんですが、
設定の数だけ
   public string name { get; set; }
みたいなのを羅列しなきゃならないですよね?

980 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:01:15.64 ]
具体的に何をどうしたいのか聞けよ
方法があるなら答えてやる

981 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:03:52.89 ]
static void Main(string[] atgs)
{
コード
}

static void Main()
{
コード
}

どっちも同じ動きするんだけど、Main()の中にstrgin[] argsを記述意味を教えてください。

982 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:04:24.35 ]
>>975
勘違いしてました
ランタイムの画開発用だと思ってました

983 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:05:24.61 ]
>>981
コマンドライン引数

984 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:06:17.37 ]
>>981
引数を取れるかどうかなだけだよ

コンソールアプリを実行する際にexeの後ろのコマンドオプションつけるケースとかあるでしょ

985 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:07:40.55 ]
>>980
具体的に言うと次スレを立てて欲しい

986 名前:979 mailto:sage [2012/01/30(月) 23:10:59.83 ]
>>980
具体的と言われても難しいですね・・・

まず全ての設定の一つのXMLファイルにまとめるため、シングルトンクラスを作って、
それをXmlSerializerで書き込みたいです。
例えばリストビューのカラム幅、入力されたテキスト、チェックボタン、ウィンドウの位置
などです。
それらをすべて設定クラスで管理したいのですが、
プロパティの数、クラスに格納する手順、XMLを読み込んでから設定を反映、
などと考えると量が多いため、
なにかもっと簡単にできる方法はないのかな、と思った次第です。

987 名前:デフォルトの名無しさん mailto:sage [2012/01/30(月) 23:17:57.10 ]
>>983,984なるほど。
さんくす。



988 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:20:51.80 ]
charとstringの違いが分からんちん。

"A"と'A'は何が違うの???

989 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:25:18.44 ]
ttp://search.yahoo.co.jp/search?p=char%E3%81%A8string%E3%81%AE%E9%81%95%E3%81%84

990 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:36:57.94 ]
>>988
文字と文字列の違い
文字列は文字の集まりで長さがある

991 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:38:22.29 ]
>>986
www.atmarkit.co.jp/fdotnet/dotnettips/562appsettings2/appsettings2.html

992 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 00:44:36.63 ]
ふらっとC#,C♯,C#(初心者用) Part85
toro.2ch.net/test/read.cgi/tech/1327938237/

993 名前:979 mailto:sage [2012/01/31(火) 00:47:28.81 ]
>>991
あーやっぱりこれしかないですよね。
わかりました、ありがとうございます。

994 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 08:13:57.40 ]
>>992
素晴らしい。一乙

995 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:18:35.64 ]


996 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:24:17.41 ]
埋めないと落ちるぞ〜

997 名前:デフォルトの名無しさん [2012/01/31(火) 09:27:34.44 ]
うめさん



998 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:34:51.13 ]
うめてんてー

999 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:35:12.32 ]
うめ

1000 名前:デフォルトの名無しさん mailto:sage [2012/01/31(火) 09:35:29.73 ]
次スレ

ふらっとC#,C♯,C#(初心者用) Part85
toro.2ch.net/test/read.cgi/tech/1327938237/

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<221KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef