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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

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

関連スレ
ふらっとC#,C♯,C#(初心者用) Part91
http://toro.2ch.net/test/read.cgi/tech/1335089085/
C#, C♯, C#相談室 Part71
http://toro.2ch.net/test/read.cgi/tech/1332575004/
2デフォルトの名無しさん:2012/04/29(日) 21:50:57.63
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
http://pastebin.com/
コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます
3デフォルトの名無しさん:2012/04/29(日) 21:54:50.91
IDが欲しい人
スレが荒れすぎて質問できない人のための姉妹スレ

ふらっとC#,C♯,C#(初心者用) Part92
http://anago.2ch.net/test/read.cgi/software/1335443552/
4デフォルトの名無しさん:2012/04/29(日) 21:58:11.10
このスレッドは
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」を紹介するスレッドです。

現行スレッドは
ふらっとC#,C♯,C#(初心者用) Part92
http://anago.2ch.net/test/read.cgi/software/1335443552/
です。

上記スレッドで質問したほうが、なりすまし・煽り等から質問者を分別できるので
有効な回答が得られることが期待されます。
5デフォルトの名無しさん:2012/04/29(日) 21:58:47.43
質問に対して、あなたが望む回答を得られないことがあります。
意図しない回答を得られない場合でも常識を持った言動で対応してください。

あなたの質問に対して、100%的確な回答ができるエスパーは、居ません。
6デフォルトの名無しさん:2012/04/29(日) 22:26:17.70
private Action<object,byte[]> m_action;
m_action("test",dummy_bytes);

m_action先にtestは届くのですがdummy_bytesの方がnull
になってしまいます。ブレイクポイントで見ていると
m_action("test",dummy_bytes);の時点だとdummy_bytes
は存在しています。
どうしてでしょうか?
7デフォルトの名無しさん:2012/04/29(日) 22:30:06.97
dummy_bytesをnew byte[]{ 0, 1, 2 }とかにしても届かないの?
8デフォルトの名無しさん:2012/04/29(日) 22:32:42.68
では質問します

インターフェイスの継承の仕方がわかりましたが
継承されたクラスを利用する側(PresentationModel)に対して
必ずインターフェイスを通して利用するように強制する方法はないでしょうか?
つまり、キャストさせない方法です
9デフォルトの名無しさん:2012/04/29(日) 22:33:19.28
>>7
さきほどそれをためしてみたら届きました。
もしかしてWebClient.DownloadDataAsyncを別classで実行すると
データのダウンロードが終わる前にDownloadDataAsyncが呼ばれて
しまいます?
10デフォルトの名無しさん:2012/04/29(日) 22:44:48.81
>>9
DownloadDataASyncだとダウンロードが完了するまで待たずに次にいっちゃうからdummy_bytesに入ってないっていうことなんじゃないかね
Asyncを外したDownloadDataだとどうなの
11デフォルトの名無しさん:2012/04/29(日) 22:49:54.38
>>8
継承じゃなくて実装な。
端的に言えば、キャストを制約する術自体は無い。

明示実装とそうでないメソッド両方用意して、そうでないメソッドの方をNotSupportedExceptionしちゃうとかかな。やるとすれば。
12デフォルトの名無しさん:2012/04/29(日) 22:53:19.75
C#は実装も継承と読んだりする。
>>8
内部クラスにしたり、internalクラスにしたりしてクラスを外部から見えなくすれば
キャストはできないだろう、多分
13デフォルトの名無しさん:2012/04/29(日) 22:57:35.90
14デフォルトの名無しさん:2012/04/29(日) 22:58:47.36
>C#は実装も継承と読んだりする。
そうなのか。C#からVB.NET系列に一時移ったもんで・・・

ほんでもってはずかしわー。ちゃんと実現する方法あったやん・・・private classなー。
15デフォルトの名無しさん:2012/04/29(日) 23:02:55.30
>>10
間違えました。
X データのダウンロードが終わる前にDownloadDataAsyncが呼ばれて
○ データのダウンロードが終わる前にDownloadDataCompletedEventHandlerが呼ばれて

同一クラス内だとうまく動いたのですが残念です。

DownloadDataにするとDownloadDataCompletedEventHandlerすら呼ばれないようです。
16デフォルトの名無しさん:2012/04/29(日) 23:05:19.15
>>15
さすがにダウンロードする前にCompletedEventHandlerが呼ばれることはないと思うよ
別クラスとか関係なく
17デフォルトの名無しさん:2012/04/29(日) 23:11:40.31
>>16
たぶんmonoを使っているせいかも?
コンソールにログを出しながら追いかけてみるとDownloadDataCompletedEventHandler
が2回呼び出され2回目がnullになってしまうようです。
ずっとWindowsでVSを使っていたのですが何となくLinuxしようとしたのが間違いだった
かもw
18デフォルトの名無しさん:2012/04/29(日) 23:14:51.63
>>17
他に原因が思い当たらないなら、monoのソースを読んじゃうのも手。
https://github.com/mono/mono/tree/master/mcs/class

バグなら、報告しておいた方が吉だが、まあそこまで求めるのはちと違うだろうな。
19デフォルトの名無しさん:2012/04/29(日) 23:16:34.39
Monoのことはよく知らないけどそんな基本ライブラリにバグがあるとは思えないなあ
20デフォルトの名無しさん:2012/04/29(日) 23:25:36.15
実際にバグかどうか、というよりも、何を契機に発生させてるのかは
内部コード追っちゃうのが早い・・・と俺は個人的に体感している。

まあ、多分ちょっとしたミスだとは思うから、面倒ならまず自分のプログラムの挙動を疑うべきだろうが。
216:2012/04/30(月) 00:26:32.44
解決しました。
エラー表示されないで動作がおかしくなる点と、
DownloadDataCompletedがダウンロード完了時に
一度だけ呼ばれると思い込んでいたのが間違い
だったようです。

お騒がせしました。
22デフォルトの名無しさん:2012/04/30(月) 00:36:07.57
WindowsFormの使い方で纏まってるサイトおしえてください
GWの時間使って勉強してみようかなと思います
23デフォルトの名無しさん:2012/04/30(月) 00:41:30.99
また随分と漠然とした質問だが・・・
今までのプログラミング歴はいかほどか教えてもらってもいいだろうか。
とりあえず、いずれ通る(既に通った?)道のMSDNは貼っておくよ。

http://msdn.microsoft.com/ja-jp/library/system.windows.forms(v=vs.80).aspx
24デフォルトの名無しさん:2012/04/30(月) 00:42:06.91
今更、winformの使い方を覚えてなにになる?
次VSで切り捨てられてるのにw

25デフォルトの名無しさん:2012/04/30(月) 00:42:33.87
>>24
そう思うなら、そういうサイト教えてあげたらいんじゃない?
26デフォルトの名無しさん:2012/04/30(月) 00:45:51.54
あとは入門チュートリアル的なのを一つ。
http://msdn.microsoft.com/ja-jp/library/ms173080(v=vs.80).aspx
27デフォルトの名無しさん:2012/04/30(月) 00:46:59.54
@ITの記事でも見ておくのが良いんじゃない?
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html#i123

あとは、マルチスレッドとか非同期が絡むならここらへん
http://blogs.msdn.com/b/nakama/archive/2009/04/07/part-3-ui.aspx
28デフォルトの名無しさん:2012/04/30(月) 00:48:59.35
昔ながらの猫プロも貼っておくか。
http://www.kumei.ne.jp/c_lang/index_form.html
29デフォルトの名無しさん:2012/04/30(月) 00:50:01.37
ListViewにTreeView機能を追加したい

ウォッチウィンドウみたいな奴

どやって作るの?
30デフォルトの名無しさん:2012/04/30(月) 00:52:37.35
あそこまで行くと自作コントロールなんじゃないのかな。
あるいはTreeViewを継承してカスタムコントロール作って、ある程度似たところまで持っていくか。
31デフォルトの名無しさん:2012/04/30(月) 00:55:09.69
あれを作れる奴はそうそういないと思うぞ
32デフォルトの名無しさん:2012/04/30(月) 00:55:30.54
PropertyGridである程度のことはできるんじゃない?
33デフォルトの名無しさん:2012/04/30(月) 00:55:43.20
TreeListViewとかで検索すると色々
34デフォルトの名無しさん:2012/04/30(月) 01:05:15.46
カスタムするなら、DataGridViewの方がやりやすそうだな
35デフォルトの名無しさん:2012/04/30(月) 01:22:35.87
これから勉強するならWPFでしょうか?
36デフォルトの名無しさん:2012/04/30(月) 01:32:43.99
C/C++で間違いない

C#なんていつ見限られてもおかしくない
C/C++にかわる言語は、少なくとも我々が生きている間にはでてこないよ
37デフォルトの名無しさん:2012/04/30(月) 01:38:02.27
仕事で使うわけじゃないので
速度より楽な方がいい

WPFかWinFormかどちらがいいですか?
38デフォルトの名無しさん:2012/04/30(月) 01:40:24.17
>>36
いい加減にしろよ?
おまえが使わなければ良いだけの話だ。
39デフォルトの名無しさん:2012/04/30(月) 05:10:15.73
韓国人男性 8割が包茎
http://www.news-postseven.com/archives/20120429_105613.html



韓国人男性器の長さ 長さ報告サイトで9.66cmで世界最下位

つい気になってしまうのが他人のイチモツ。先ごろ株式会社TENGAは
日本人男性のペニスの平均サイズが「長さ13.56センチ」、「亀頭の直径3.53センチ」「竿部分の直径3.19センチ」
という衝撃の数値を発表した。

日本男子のサイズが、世界的に見てどの水準にあるのかも気になるところだ。
スペインのアンドロメディカル社が各国の性機能学会などに問い合わせて集計し発表したデータによると
日本人の勃起時の全長は13センチ。TENGAデータより若干短いものの、納得の数字ではある。
 
同社はペニス増大器具「アンドロペニス」をはじめ、勃起不全治療用のポンプや勃起の強さを測ることのできる
ヘルスメーターなどを販売する欧州最大級の医療機メーカーだ。広報部スタッフはいう。

続きはソースで
http://www.news-postseven.com/archives/20120420_102890.html
40デフォルトの名無しさん:2012/04/30(月) 07:08:41.34
foreach (string hage in Directory.GetHages(hoge))
{
if (hage.Hair == null)
{
hageList.Add(hage);
break;
}
}

これを並列処理にするとどのようなコードになりますか?
41デフォルトの名無しさん:2012/04/30(月) 07:13:19.25
string である hage に Hair なんてプロパティはねえよ、って突っ込めばいいんかな。
42デフォルトの名無しさん:2012/04/30(月) 07:16:15.94
そっとしておいてやれよ・・・面白いと思ってやってるんだから・・・
43デフォルトの名無しさん:2012/04/30(月) 09:46:10.89
 2009.08.28

   |l  \::      | |             |、:..  | [], _ .|: [ニ]:::::
   |l'-,、イ\:   | |    ∧,,,∧ .   |::..   ヘ ̄ ̄,/:::(__)::
   |l  ´ヽ,ノ:   | |   (´^ω^`)    ,l、:::     ̄ ̄::::::::::::::::
   |l    | :|    | |,r'",´ ̄ ̄ ̄ ̄ ̄`ヽ、l:::::
   |l.,\\| :|    | ,'        :::::...  ..::ll::::   いよいよ明日は選挙 民主党に入れるんだ♪
   |l    | :|    | |         :::::::... . .:::|l::::   民主党が勝てば景気回復して株も高値安定
   |l__,,| :|    | |         ::::....  ..:::|l::::    就職口も沢山できて
   |l ̄`~~| :|    | |             |l::::    最低賃金も上がって派遣は正社員になれる
   |l    | :|    | |             |l::::   増税はしないで色々な手当がついて
   |l    | :|    | |   ''"´         |l::::    年金や貯金の心配もなくて結婚もできるんだ♪
   |l \\[]:|    | |              |l::::    テレビがそう言ってるから間違いない!
   |l   ィ'´~ヽ  | |           ``'   |l::::    早く明日にならないかなー!


 2011.05.30

   |l  \::      | |     /⌒ヽ   .  |、:..  | [], _ .|: [ニ]:::::
   |l'-,、イ\:   | |    l_ 0..0    |::..   ヘ ̄ ̄,/:::(__)::
   |l  ´ヽ,ノ:   | |     }{ l冊     ,l、:::     ̄ ̄::::::::::::::::
   |l    | :|    | |,r'",´ ̄ ̄ ̄ ̄ ̄`ヽ、l:::::
   |l.,\\| :|    | ,'        :::::...  ..::ll::::   
   |l    | :|    | |         :::::::... . .:::|l::::   
   |l__,,| :|    | |         ::::....  ..:::|l::::   
   |l ̄`~~| :|    | |             |l::::
44デフォルトの名無しさん:2012/04/30(月) 10:33:10.36
アドイン作るの楽しいな
45デフォルトの名無しさん:2012/04/30(月) 11:11:27.06
ファイルのパスから親フォルダのパスを返してくれる関数はありますか?
ちなみにパスは絶対パスです
46デフォルトの名無しさん:2012/04/30(月) 11:13:07.45
System.IO.Pathクラスに色々
47デフォルトの名無しさん:2012/04/30(月) 11:16:21.73
ラストの\\までを抽出するだけ
48デフォルトの名無しさん:2012/04/30(月) 11:22:34.85
>>45
Trim
49デフォルトの名無しさん:2012/04/30(月) 11:26:04.40
最近、企画会社A社が日本進出を打診して落ち込んだ。所属アイドルグループの日本での活動を控え、
日本企画会社が提示した契約金が昨年水準に大きく至らなかった。既に昨年から日本でラブコールを受けていたが
国内でさらに実績を積んだ後に進出するという計画に支障をきたした。

K-POPが日本市場で萎縮する兆しを見せている。日本はアジアの最大規模の音楽市場だ。

日本エンターテインメント業界でK-POPを見つめる目が昨年に比べ熱気が冷めているという兆候が次から次へ感知されている。
今年の初めに日本で開かれた大規模公演のチケット販売率も大きく落ちた。

問題はこのような雰囲気がK-POPに否定的な影響を及ぼす恐れがあるというところにある。
既に今年開かれたいくつかのK-POP公演では赤字を記録したと伝えられた。先月に日本でアルバムを発売したいくつかの歌手の場合、
期待値にはるかに至らない成果を上げて関係者たちを落胆させた。

(中略)

ついこの前まではK-POPという看板だけ掲げれば韓国で存在感がない歌手でも日本では注目をあびた。
もう日本進出に対する方法の変化が必要だという声が出てきている。

歌手らの実力とスター性を整えるのはもちろん、企画会社と放送会社全てが日本国内のK-POP市場をさらに拡張できる方法を模索し、
徹底したビジネスマインドで接近をしなければならないという指摘だ。


K-POP日本で何が?…放送会社主導公演「憂慮が現実に」(韓国語)
http://starin.edaily.co.kr/news/NewsRead.edy?newsid=01092246599498088&DCD=A10202&SCD=EA21
50デフォルトの名無しさん:2012/04/30(月) 11:40:21.09
>>48
(゚д゚)ハァ?
51デフォルトの名無しさん:2012/04/30(月) 11:49:21.71
最近もっぱら、C#ばっか書いてたら、C++のコード書けなくなってきた・・・
特に、ガンガン テンプレート使ってるようなもの。

これで、MSがC#切り捨てたらどう責任とってもらおうかな
52デフォルトの名無しさん:2012/04/30(月) 12:03:03.99
>>51
今のところ、MSが.NETとC#切り捨てることは、無いと思うけどな。
数十年先は、知らんが…
53デフォルトの名無しさん:2012/04/30(月) 12:04:19.03
 在日韓国人は多く見積もっても約100万人しか居ない(帰化も含め)
対して日本人は1億以上

 その差を埋める為に、在日韓国人が
考えたのがイメージ戦略

 要するに、自分たちの影響力を、実態以上に大きく見せる戦法
それをするのに、一番良い方法は?

 ・マスコミを牛耳る ⇒ 広告代理店支配
 ・教育を牛耳る ⇒ 日教組
 ・大企業を牛耳る ⇒ 各労組
 ・大政党を牛耳る ⇒ 民主党 社民党 公明党
54デフォルトの名無しさん:2012/04/30(月) 12:08:11.88
winformを切り捨てたら.netは開発者から切り捨てられる
55デフォルトの名無しさん:2012/04/30(月) 12:11:30.01
WinForm使っているのなんてC#ユーザーだけだから問題ない
56デフォルトの名無しさん:2012/04/30(月) 12:12:28.79
WindFormって.netのネームスペースだけの話じゃないよ?
57デフォルトの名無しさん:2012/04/30(月) 12:15:08.02
.net使っているのなんてc#ユーザだけだから問題ない
58デフォルトの名無しさん:2012/04/30(月) 12:22:25.92
.NETがC#だけと思い込んでる無能様の登場かw
59デフォルトの名無しさん:2012/04/30(月) 12:25:05.52
>>57
おおよそ正しいな
60デフォルトの名無しさん:2012/04/30(月) 12:26:36.28
>>51
MSはC#じゃなくてC++を切ったんでしょ。
61デフォルトの名無しさん:2012/04/30(月) 12:28:37.81
自演で修正ですか
62デフォルトの名無しさん:2012/04/30(月) 12:31:30.91
J#のことも忘れんな
63デフォルトの名無しさん:2012/04/30(月) 12:34:07.96
>>62
あれは、黒歴史だw
64デフォルトの名無しさん:2012/04/30(月) 12:37:19.74
C++最強のMSコンパイラが他に抜かれたなどという事実はない。
65デフォルトの名無しさん:2012/04/30(月) 12:40:11.94
CLじゃなくてICCですよ。最強は。
66デフォルトの名無しさん:2012/04/30(月) 12:50:37.62
ちょっと質問していいですか?
Process.Startでバッチファイルを実行したんですが、そのバッチファイルのなかでxcopyコマンドが実行できません。
誰か解決できる人いますか?
67デフォルトの名無しさん:2012/04/30(月) 12:53:47.21
>>66
どうなるの?
出来ませんてのはエラーなのか起動できないのかスルーするのか固まるのか
68デフォルトの名無しさん:2012/04/30(月) 12:54:46.71
>>54
winformはVS11ではなくなってるけど
69デフォルトの名無しさん:2012/04/30(月) 12:56:19.40
>>66
カレントディレクトリ大丈夫?
70デフォルトの名無しさん:2012/04/30(月) 12:56:19.81
.net終了のお知らせ
71デフォルトの名無しさん:2012/04/30(月) 12:58:37.15
やっぱりxamlよりwinformがいいのんか?
72デフォルトの名無しさん:2012/04/30(月) 13:00:02.85
まるでWinFormがなかったら.NETの価値がないみたいな言い方じゃないか
73デフォルトの名無しさん:2012/04/30(月) 13:01:14.39
winformなんてもっさり感満点だからなw
結局、まったく世に出ることなく、終了w
74デフォルトの名無しさん:2012/04/30(月) 13:02:32.59
WinFormなくしたら誰もバージョンアップしないだろw
75デフォルトの名無しさん:2012/04/30(月) 13:03:55.05
だったら、VS11beta入れてみろよ
76デフォルトの名無しさん:2012/04/30(月) 13:04:59.25
Vista以降の糞UI導入で未だにXP使い続けるユーザーが大勢いる。
WinFormのシンプルで且長年使われてるUIは本当に神UIなんだよ。
77デフォルトの名無しさん:2012/04/30(月) 13:05:15.14
未だに、VC++6 MFCを使ってる・・・
78デフォルトの名無しさん:2012/04/30(月) 13:06:40.59
>>76
速ければな

あれでネイティブ吐ければ、マジ神だろうな
79デフォルトの名無しさん:2012/04/30(月) 13:06:54.07
>>77
軽くていいよな。
80デフォルトの名無しさん:2012/04/30(月) 13:07:30.87
馬鹿だろこいつ
81デフォルトの名無しさん:2012/04/30(月) 13:08:01.64
>>77
そんなユーザーがこのスレ覗く理由は?
82デフォルトの名無しさん:2012/04/30(月) 13:20:03.46
ここはこういう流れでいいのだ
83デフォルトの名無しさん:2012/04/30(月) 13:23:00.64
全部自演だけどな
嵐に否定的なのまで含めてな
84デフォルトの名無しさん:2012/04/30(月) 13:37:03.08
>>67
スルーです。
85デフォルトの名無しさん:2012/04/30(月) 13:37:24.13
>>69
フルパスで書いてもダメでした。
86デフォルトの名無しさん:2012/04/30(月) 13:39:03.90
コード皿せ
87デフォルトの名無しさん:2012/04/30(月) 13:41:53.77
コード見せろ、暇だから修正してやんぜ
88デフォルトの名無しさん:2012/04/30(月) 13:43:33.02
バッチファイルのほうでecho onにすりゃメッセージ見れんじゃないの
89デフォルトの名無しさん:2012/04/30(月) 13:48:56.28
>>86
ProcessStartInfo makeinfo = new ProcessStartInfo();
makeinfo.FileName = Program.profiles + "\\" + SelectedProfiles[i] + "\\make.cmd";
//Program.profiles=実行ファイルのあるフォルダ\Profiles
//SelectedProfiles[i]=ICS用モトヤフォントというディレクトリ
makeinfo.CreateNoWindow = true;
makeinfo.ErrorDialog = true;
makeinfo.RedirectStandardError = true;
makeinfo.RedirectStandardOutput = true;
makeinfo.UseShellExecute = false;
makeinfo.WorkingDirectory = Program.path; //Program.path=実行ファイルのあるフォルダ
Process make = Process.Start(makeinfo);

make.cmd
XCOPY /E /H /Y .\profiles\ICS用モトヤフォント\system .\work\system
90デフォルトの名無しさん:2012/04/30(月) 13:49:30.71
>>88
何もいってくれません。
91デフォルトの名無しさん:2012/04/30(月) 13:49:31.92
WinFormsに関しては俺も動く
抗議デモだよ
92デフォルトの名無しさん:2012/04/30(月) 13:58:13.64
もうベータで公開してるのに、今さら講義しても遅いだろw
93デフォルトの名無しさん:2012/04/30(月) 13:59:25.36
みんなカキコがとまってるってことは考えてくれているのかな?
94デフォルトの名無しさん:2012/04/30(月) 14:10:50.96
>>89
エスパーすると、UAC切ってみる。
95デフォルトの名無しさん:2012/04/30(月) 14:13:08.90
>>94
完全に切れています。
96デフォルトの名無しさん:2012/04/30(月) 14:13:31.03
WINFORMってMFC以上に短い寿命だったなw
97デフォルトの名無しさん:2012/04/30(月) 14:14:18.85
shellexecuteをtrueにしてみ
98デフォルトの名無しさん:2012/04/30(月) 14:15:40.03
M$がWPFとやらをゴリ押してるだけのことだ。
99デフォルトの名無しさん:2012/04/30(月) 14:15:58.40
WPFなんて未だに未熟児のままだぜ。
100デフォルトの名無しさん:2012/04/30(月) 14:18:08.21
>>97
その後StreamReaderで読み込んでいるので無理です。
101デフォルトの名無しさん:2012/04/30(月) 14:19:51.51
>>100
んじゃ起動するのはバッチファイルじゃなくてcmd.exeにしてバッチ渡せ。
102デフォルトの名無しさん:2012/04/30(月) 14:20:36.75
>>101
それでもできませんでした。
103デフォルトの名無しさん:2012/04/30(月) 14:21:05.45
後出し多すぎるぞ。
104デフォルトの名無しさん:2012/04/30(月) 14:23:10.46
どうせ

ファイル名ですか、またはディレクトリ名ですか

が、出て止まってるとかいうオチだろ
105デフォルトの名無しさん:2012/04/30(月) 14:24:23.67
まさかとは思うが念のため確認しておくけど、
そのバッチファイル自体は手起動できちんと動くんだよね
106デフォルトの名無しさん:2012/04/30(月) 14:24:25.83
Java使いの俺がエスパーの真似事してみよう
最後に Process.WaitForExit(); すればいんじゃね?
107デフォルトの名無しさん:2012/04/30(月) 14:25:17.78
で、xcopyができません、はミスリードなんだろ?
108デフォルトの名無しさん:2012/04/30(月) 14:25:20.09
>>103
すいません。他にやったことは特にないと思います。
109デフォルトの名無しさん:2012/04/30(月) 14:25:27.05
初心者は、自分が「これだけ言えば伝わるだろう」と思った情報の
3倍、4倍の情報をあらかじめ出さないと正しく伝わらないと思って欲しい。
110デフォルトの名無しさん:2012/04/30(月) 14:26:40.37
質問からしてバッチファイルは単体での動作は確認済みだろう。
c#のスレだし。
111デフォルトの名無しさん:2012/04/30(月) 14:26:58.17
回答する側も初心者と思えるのは俺だけか?
112デフォルトの名無しさん:2012/04/30(月) 14:27:23.48
>>104
違います。

>>105
しっかり動きました。

>>106
StreamReaderのところで
while(make.HasExited == false)
{
ストリームリーダー
}
としているので、先には進みません。
113デフォルトの名無しさん:2012/04/30(月) 14:27:45.00
やる気が出ないだけさ
114デフォルトの名無しさん:2012/04/30(月) 14:27:55.91
>>109
といってもなに言えばいいか…
115デフォルトの名無しさん:2012/04/30(月) 14:29:24.93
StreamReader切って
makeinfo.RedirectStandardError = false;
makeinfo.RedirectStandardOutput = false;
makeinfo.UseShellExecute = true;
にしたら動きました。原因究明中です。
116デフォルトの名無しさん:2012/04/30(月) 14:30:49.04
バッチファイルを
echo hoge > c:\temp\test.txt
にしたら、動くの?
117デフォルトの名無しさん:2012/04/30(月) 14:30:58.72
なんだ。入力待ちしてるだけじゃないか。
118デフォルトの名無しさん:2012/04/30(月) 14:31:12.87
>>114
考えろといわれてるんだ
119デフォルトの名無しさん:2012/04/30(月) 14:31:57.58
>>111
じゃあとは上級者のお前に任せる
120デフォルトの名無しさん:2012/04/30(月) 14:33:07.54
>>111
おれのスキルでは力不足だ。後は頼む。
121デフォルトの名無しさん:2012/04/30(月) 14:33:47.80
>>114.
>>112 みたいな情報があとから出てくるのが大変なの。
今のところ「コンパイルできる」ソースコードは一度も出してもらえてないから、
それ以外のところでどんな不味い処理をやってるのか、想像するしかない。

んで、その「ストリームリーダー」と書かれた場所には、どんな処理が書かれているのかな。
122デフォルトの名無しさん:2012/04/30(月) 14:33:55.66
>>111
後は頼んだぞ・・・
123デフォルトの名無しさん:2012/04/30(月) 14:34:26.68
>>116
ちょっと言ってる意味がわかりません。

>>117
違います。

>>118
はい…
124デフォルトの名無しさん:2012/04/30(月) 14:35:46.28
やっぱり、回答側も初心者だったかw
125デフォルトの名無しさん:2012/04/30(月) 14:35:47.95
まずShellexecute使わずバッチファイル動かそうとしたら動く訳ない。

そしてcmd.exe起動しろって言われて「できませんでした」としか返せないってどうよ。せめて何が駄目だったのか書け。
126デフォルトの名無しさん:2012/04/30(月) 14:37:10.87
>>123
makeinfo.FileName に指定するバッチの中身を
>>116 の2行目にして、実行しろ

そのレベルすら検査してないとかありえんわ
127デフォルトの名無しさん:2012/04/30(月) 14:37:42.40
>>124
おい、回答しろ
128デフォルトの名無しさん:2012/04/30(月) 14:39:25.09
>>121
コンパイルできるっていったら多すぎます。
とりあえずストリームリーダーのソース書きます。
StreamReader reader;

while (make.HasExited == false)
{
while (!reader.EndOfStream)
{
Console.AppendText(reader.ReadLine() + "\r\n");
}
}
reader.Close();
129デフォルトの名無しさん:2012/04/30(月) 14:40:10.76
>>125
バッチファイル動きますよ。
他のexeファイルは読めてます。
130デフォルトの名無しさん:2012/04/30(月) 14:40:29.42
>>125
何も変化ありませんでした。
131デフォルトの名無しさん:2012/04/30(月) 14:41:20.37
>>128
バカそうじゃない

お前のバグが再現する「最小限のコード」を完全に皿せ

ながいなら、再現する状態を保ちながら削れ
それが質問者の義務だ
132デフォルトの名無しさん:2012/04/30(月) 14:41:22.28
>>126
普通に動きますよ。他の処理ができることは確認しています。
133デフォルトの名無しさん:2012/04/30(月) 14:42:01.48
>>131
それが一番最初のコードだと思うんですが…
134デフォルトの名無しさん:2012/04/30(月) 14:42:11.33
>>132
じゃスレチじゃねーの?
バッチがダメなんだろ
135デフォルトの名無しさん:2012/04/30(月) 14:42:48.81
もう>>2のやつに全部貼って付けて晒してくれれば良いのに。
136デフォルトの名無しさん:2012/04/30(月) 14:42:50.51
>>134
コマンドプロントで動作確認しました。
137デフォルトの名無しさん:2012/04/30(月) 14:42:59.33
>>133
おいおい>>132なんだから、最初のコードじゃ意味ないことに気づけよw
138デフォルトの名無しさん:2012/04/30(月) 14:43:56.24
>>136
だから、それ意味ないよ
皿せ
139デフォルトの名無しさん:2012/04/30(月) 14:44:31.50
>>131
そこまで期待するのはこれには無理なきがする。
いっそ全部圧縮してうpして見せてくれよ。って言った方が早いような。
140デフォルトの名無しさん:2012/04/30(月) 14:45:02.67
>>135
githubにバックアップとしてあげているので、そこに今のコード上げますか?
141デフォルトの名無しさん:2012/04/30(月) 14:46:12.87
そうしてくれ
142デフォルトの名無しさん:2012/04/30(月) 14:46:48.64
>>140
あげろよ

だれが最速で修正するか、勝負しようぜ
143デフォルトの名無しさん:2012/04/30(月) 14:47:09.92
>>129
バッチファイルはexeじゃないんだよ。
144デフォルトの名無しさん:2012/04/30(月) 14:47:53.51
>>138
バッチファイルですか?
バッチファイルなら、最初に書いたmake.cmdの内容です。
145デフォルトの名無しさん:2012/04/30(月) 14:48:14.87
こちらで再現しないとデバッグは難しい。
.netのバグかもしれないしな。
146デフォルトの名無しさん:2012/04/30(月) 14:48:30.71
>>143
バッチファイルの中でexeが読めたということです。
147デフォルトの名無しさん:2012/04/30(月) 14:48:45.81
AppendTextってことは、TextBoxに吐いてる?
148デフォルトの名無しさん:2012/04/30(月) 14:50:01.33
エスパーすると、Releaseモードで動く。
149デフォルトの名無しさん:2012/04/30(月) 14:50:04.53
>>144
どこだよw
スレ番位示よ。こっちに探させるなよめんどくせーよ
150デフォルトの名無しさん:2012/04/30(月) 14:51:36.38
要はバッチファイル走らせて入出力乗っ取りたいだけだろ。そして.batとか.cmdを.exeと同じように扱えると思い込んでハマってるだけだろ。
151デフォルトの名無しさん:2012/04/30(月) 14:52:26.39
>>145

大抵の不具合は再現しないぞ

っていうか、再現性のあるのようなものは猫で修正可能
152デフォルトの名無しさん:2012/04/30(月) 14:52:56.16
んなこたーない
153デフォルトの名無しさん:2012/04/30(月) 14:52:56.96
154デフォルトの名無しさん:2012/04/30(月) 14:53:25.86
>>147
はい。

>>148
Releaseでもできませんでした。
155デフォルトの名無しさん:2012/04/30(月) 14:55:04.42
おまえらw

結論すぐ出るだろ?
バッチが下手くそなだけだ
スレチだから解散ー
156デフォルトの名無しさん:2012/04/30(月) 14:55:31.70
>>149
>>89です。

>>150
バッチファイルで処理させて、その処理結果をプログラムに戻すようにしています。
157デフォルトの名無しさん:2012/04/30(月) 14:56:00.08
>>155
バッチはしっかり動きます。
158デフォルトの名無しさん:2012/04/30(月) 14:57:51.36
>>154
>>136
>>>134
>コマンドプロントで動作確認しました。

こういう謎の省略せずに、どういう確認の仕方したか
具体的に完全に皿せば一発で答え貰えてたよ
159デフォルトの名無しさん:2012/04/30(月) 14:58:25.76
>>154
はい。じゃねえよ。そういうのを情報の小出しだ、って言ってるの。
「できませんでした」「ダメでした」じゃなくて、何が起きているのか示せよ。
「フォーム上のTextBoxに動作結果が出力されません。」
「プロセスが開始したまま、沈黙しています。」
とかさ。あなたにとっての「ダメでした」は唯一無二でも、俺たちにとっては様々な可能性を検討する必要が発生するの。
回答が遅れるのも道理だろ。

TextBoxへのAppendは、Form.Invokeされたメソッド内で実行されてるか?
160デフォルトの名無しさん:2012/04/30(月) 14:58:50.43
>>157
だから、それがお前の頭のバグなんだよ
失敗させることができるの
で、そーいう動き方してるの
まースレチだからbatすれいけ
161デフォルトの名無しさん:2012/04/30(月) 15:00:12.16
質問する身なんだからいちいち食い下がるのやめた方がいいぞ。

あまりにもテンプレ通りの初心者的な行動するから釣りじゃないかと思えて来た。
162デフォルトの名無しさん:2012/04/30(月) 15:05:00.62
>>158
コマンドプロントで
cd "C:\Users\ユーザー\Documents\Visual Studio 2010\Projects\Android_Custom_ROM_Modifier\bin\Debug"
"C:\Users\ユーザー\Documents\Visual Studio 2010\Projects\Android_Custom_ROM_Modifier\Android_Custom_ROM_Moidfier\bin\Debug\Profiles\ICS用モトヤフォント\make.cmd"
しました。
163デフォルトの名無しさん:2012/04/30(月) 15:06:25.47
>>159
フォーム上のTextBoxにXCOPYのどうさっ結果が返ってこず、ファイルもコピーされていません。
From.Invokeされてます。
164デフォルトの名無しさん:2012/04/30(月) 15:07:19.48
>>156
「戻すようにしてます」じゃなくて「戻すようにしたいです」でしょうが。戻せてないんだから。

なんでそんなに自信たっぷりなの。思った通りに動かせてないからここで質問してるんでしょが。
165デフォルトの名無しさん:2012/04/30(月) 15:08:06.02
>>161
はい…
166デフォルトの名無しさん:2012/04/30(月) 15:08:42.11
ところで、率直な疑問なんだが、
XCOPYとかバッチファイルでやらずにC#でファイルのコピーするコード書いてしまえば
良いんじゃないの?わざわざバッチファイルにしてる理由は?
167デフォルトの名無しさん:2012/04/30(月) 15:08:44.03
全部晒せ、って言っても動かないもんしか寄こさないしな・・・
プロファイルが見つかりません、だとよ。
例外も2,3発生。
168デフォルトの名無しさん:2012/04/30(月) 15:08:56.35
>>164
処理結果は戻ってきています。
でもXCOPYのは無視されたように何も帰ってきませんし、コピーもできていません。
169デフォルトの名無しさん:2012/04/30(月) 15:09:59.90
>>166
他の人がバッチファイルを使って動作を変えられるようにするためです。
170デフォルトの名無しさん:2012/04/30(月) 15:12:20.13
>>168
http://pastebin.com/R3i99XJ8

D:\DEV\TEST\DATA\XCOPYBATCH
+---profiles
| \---ICS用モトヤフォント
| | make.cmd
| |
| \---system
| test.txt
|
\---work
| \---system
| test.txt

上のミニマムな状態(コマンドラインプログラム)にしたら動いたし、処理結果も出力されたぞ。
ハナからこのレスくらいの情報は晒せ。
171デフォルトの名無しさん:2012/04/30(月) 15:12:27.80
>>167
プロファイルは
githubの直下にある"Profiles"というフォルダなので、バイナリと同じフォルダに移してください。
あと、"tools"というフォルダも移してください。
まだファイルがなかった場合など予想するように作っていないので、ファイルがかけていたりするとエラーはきます。
172デフォルトの名無しさん:2012/04/30(月) 15:12:39.56
>>162
回答の時間だ

cd "C:\Users\ユーザー

.\Documents\Visual Studio 2010\Projects\Android_Custom_ROM_Modifier\bin\Debug\Profiles\ICS用モトヤフォント\make.cmd

ってやってみ
あるいは、バッチの中身を次の一行にしてみ
chdir
173デフォルトの名無しさん:2012/04/30(月) 15:13:29.47
>>170
書き忘れていました。すいません。
>>171のとおりにしてください。
174172:2012/04/30(月) 15:14:45.77
つまりバッチのバグ
c#スレに質問する前に、C#の問題であることを確認しないからグダる
>>172でわからんかったら諦めろ
どのみちスレチだ
175デフォルトの名無しさん:2012/04/30(月) 15:14:50.50
>>172
cdコマンドで
カレントディレクトリがプログラムのあるフォルダにうつっているのは確認済みです。
176デフォルトの名無しさん:2012/04/30(月) 15:16:11.30
カレントディレクトリは
makeinfo.WorkingDirectory = Program.path;
で移しています。
177デフォルトの名無しさん:2012/04/30(月) 15:17:14.17
はずかしい172がいるスレはここですか
178デフォルトの名無しさん:2012/04/30(月) 15:17:18.77
まだやっとんのかいな〜
179デフォルトの名無しさん:2012/04/30(月) 15:17:59.62
>>170
確かにコマンドラインプログラムにしてしまえば既に標準入出力があるから多少難易度が下がるな。
180デフォルトの名無しさん:2012/04/30(月) 15:19:01.80
なあ、なんかさ。
ソースコードダウンロードしたら、「tools」フォルダの中に「xcopy.exe」なるプログラムがあるんだがこれはなんだ?
181デフォルトの名無しさん:2012/04/30(月) 15:20:43.18
>>180
試しに移してみたものです。もちろん意味ありませんでしたが。
182デフォルトの名無しさん:2012/04/30(月) 15:21:47.87
>>170
何が変わったかよくわかりません。
183デフォルトの名無しさん:2012/04/30(月) 15:22:40.12
XCOPY /I /E /H /Y .\profiles\ICS用モトヤフォント\system .\work\system
にしてもうごかんか。
184デフォルトの名無しさん:2012/04/30(月) 15:23:01.16
どうしてもバッチのバグにしたい奴がいるけど、バッチのバグ「だけ」ではないな。

ただしxcopyは場合によって「上書きしますか?」とか「フォルダですかファイルですか?」と聞いて来てこういう場合処理がそこで止まってハマることが結構あるのでxpで動作する保証がなくてもいいならrobocopyとかの方がいい。
185デフォルトの名無しさん:2012/04/30(月) 15:23:10.46
>>182
何も変えてない。つまり、晒された部分には何の問題もないってこと。
186デフォルトの名無しさん:2012/04/30(月) 15:24:03.42
元ROMが見つかりません、だとさ。元ROMとやらは何なんだね。
チェック処理外しても良いけど、なるたけ同じ動作させて再現したいんだが。
187デフォルトの名無しさん:2012/04/30(月) 15:26:39.27
>>183
やってみます。

>>184
まだ作っている途中なので。
>>185
そうですか。何がいけないんでしょうか。

>>186
http://download.cyanogenmod.com/get/artifacts/783/artifact/archive/update-cm-9-20120429-NIGHTLY-galaxys2-signed.zip
これです。
188デフォルトの名無しさん:2012/04/30(月) 15:27:11.84
>>185
何がいけないんでしょうね。
189デフォルトの名無しさん:2012/04/30(月) 15:27:37.27
元ROMはここ一年位ROMってたけど
この春からレスするようになった人達のことです
190デフォルトの名無しさん:2012/04/30(月) 15:27:47.79
workフォルダ削除とかやってるが、これでまともに動くのか?
191デフォルトの名無しさん:2012/04/30(月) 15:29:07.40
バッチが起動出来てる時点でもはやC#関係ないだろー
192デフォルトの名無しさん:2012/04/30(月) 15:29:29.93
>>190
一時ファイルが入ったフォルダなので、元からあるなら消してください。
193デフォルトの名無しさん:2012/04/30(月) 15:29:46.69
しかし汚えソースだな。この程度やりようによっちゃバッチでも出来るんじゃねえの。
194デフォルトの名無しさん:2012/04/30(月) 15:30:17.64
>>191
バッチが動くのでプログラムに問題があるはずなのですが…
195デフォルトの名無しさん:2012/04/30(月) 15:31:04.33
>>193
殴り書きです。バッチでもできます。というかもとがバッチファイルのプログラムです。
196デフォルトの名無しさん:2012/04/30(月) 15:31:14.07
C#スレなのに誰もC#で書かないのな
197デフォルトの名無しさん:2012/04/30(月) 15:31:46.61
>>183
効果ありませんでした。
198デフォルトの名無しさん:2012/04/30(月) 15:31:59.49
解凍中はUI沈黙すんのなw
横やりでわりーけど、こんなもんCUIで作れよ。
199デフォルトの名無しさん:2012/04/30(月) 15:32:14.54
質問者も回答者も実はC#で書くのあんまり好きじゃないんだよ
200デフォルトの名無しさん:2012/04/30(月) 15:32:16.95
201デフォルトの名無しさん:2012/04/30(月) 15:32:43.72
>>198
まだマルチスレッドにしていないので。製作途中です。
202デフォルトの名無しさん:2012/04/30(月) 15:33:26.19
>>195
じゃそのバッチで満足しとき。
殴り書きにしたって、こんなソース書いてる様じゃ、
人様に晒す様なプログラム書くレベルに達していない。
ナギ様によろしくな。
203デフォルトの名無しさん:2012/04/30(月) 15:34:23.07
>>202
お勉強レベルです。
204デフォルトの名無しさん:2012/04/30(月) 15:35:44.25
ナギさまって誰よ?
205デフォルトの名無しさん:2012/04/30(月) 15:36:16.03
あープロファイル一個一個ダウンロードするのだりい。
まとめてZipであげてくれりゃ一発なのに。
206デフォルトの名無しさん:2012/04/30(月) 15:37:42.47
>>205
https://github.com/173210/Android-Custom-ROM-Modifier
ここの上のほうにある「ZIP」ってボタンを押してください。
207デフォルトの名無しさん:2012/04/30(月) 15:37:48.33
>>194
だからその発想が間違ってる
バッチのxcopyの前に書いたコマンドは動作するんだろ?
なら、後はバッチの問題だよ
208デフォルトの名無しさん:2012/04/30(月) 15:38:28.26
ngenについて教えて

Formにボタンとラベルだけを配して
private void button1_Click(object sender, EventArgs e)
{
Stopwatch sw = new Stopwatch();
label1.Text = "";
sw.Start();
float f,f1 = 1.0f, f2 = 2.0f;

for (int i = 0; i < 1000000000; i++)
f = f1 * f2;

label1.Text = string.Format("{0} ms",sw.ElapsedMilliseconds);
}
とだけ書いてReleaseでビルド

ngen install WindowsFormsApplication.exe

としたら、ngen前の方が速いんですが、なぜですか?
209デフォルトの名無しさん:2012/04/30(月) 15:38:40.77
>>203

あなた、自分が思っている以上に質問者としての最低限の能力を持ってないから、
次回から質問するときは、全部動かせる状態にして、ソースコード付けてZIPでうpしてから質問に来てね。
普通の質問者にはこんなこと頼まないけど、あなたのコミュニケーションレベルは低すぎる。
210デフォルトの名無しさん:2012/04/30(月) 15:38:55.15
>>207
コマンドプロントでバッチを実行したら正常動作するので。
211デフォルトの名無しさん:2012/04/30(月) 15:39:26.77
>>206
githubのZIPダウンロードで日本語フォルダのファイルがまともに展開されると思ってるのか
212デフォルトの名無しさん:2012/04/30(月) 15:40:23.89
>>209
わかりました。ZIPは>>206でお願いします。
213デフォルトの名無しさん:2012/04/30(月) 15:41:22.82
>>211
UTF-8だからだと思います。
それと日本語のフォルダはProfilesのサブフォルダだけです。
214デフォルトの名無しさん:2012/04/30(月) 15:42:07.11
>>213
そのProfilesのサブフォルダがなくてもこのプログラムは動くのか?
215デフォルトの名無しさん:2012/04/30(月) 15:43:02.24
>>213
UTF-8だからだと思います。じゃねえよ。んなこた知ってるんだよ。どうでもいいよ。
Profilesとやらの中身をそろえるのが面倒くせえから寄こせ、って言ってるんだよ。
216デフォルトの名無しさん:2012/04/30(月) 15:43:31.81
>>208
起動が早くなるだろ?そーいうもんだ
217デフォルトの名無しさん:2012/04/30(月) 15:44:54.25
>>210
RPGのNPCかよw
レス読み直してこいよ
218デフォルトの名無しさん:2012/04/30(月) 15:45:41.39
コミュニケーション能力の破綻した初心者を相手するのがここまで大変だとは・・・
対応してる面々には頭が下がります。
219デフォルトの名無しさん:2012/04/30(月) 15:45:47.66
>>216
起動した後の処理が遅くなる理由は?
220デフォルトの名無しさん:2012/04/30(月) 15:48:00.62
「文字化けするからZIPでくれ」
「文字化けするのはProfilesフォルダの中だけだと思います」
「そんなこと聞いてるんじゃねえ。いいから寄こせ」

RPGのNPCでもこんな唐変木はいねえよ。
勇者様も盗賊にジョブチェンジしたくなるだろ。
221デフォルトの名無しさん:2012/04/30(月) 15:48:57.28
これもしかして、人工無能のテストなんじゃね?
質問者のレスがサル以下。
222デフォルトの名無しさん:2012/04/30(月) 15:49:04.48
>>219
一回の起動じゃなく、
統計的に遅くなること確認したん?
もしおしなべて遅くなるなる、つまり誤差じゃないなら
JITよりしょぼいコンパイラ使ってんのかもね。しらんけど。
223デフォルトの名無しさん:2012/04/30(月) 15:51:51.73
>>222
起動が遅いという話ではないですよ
224デフォルトの名無しさん:2012/04/30(月) 15:52:44.92
行き詰まったら↓
・綺麗なコードで書き直してみる。
 大抵、ごちゃくごちゃしたコードのまま読むと、すんなり状況が掴めない。
・フォームではなく、コンソールアプリケーションで作り直し、最小限にコードを書く。
・コーヒーでも飲んで落ち着く

その上で問題点を洗い直すべし。
225デフォルトの名無しさん:2012/04/30(月) 15:55:28.47
makeinfo.FileName = "cmd.exe";
makeinfo.Arguments = "/k \"" + Program.profiles + "\\" + SelectedProfiles[i] + "\" \\make.cmd";

ZIPがこねーから何となくソース見てたけど、これ何?
最初に言ってたソースと違うんだけども。こんなん動き得ない。
226デフォルトの名無しさん:2012/04/30(月) 15:57:45.94
/*
makeinfo.FileName = "cmd.exe";
makeinfo.Arguments = "/k \"" + Program.profiles + "\\" + SelectedProfiles[i] + "\" \\make.cmd";
/*/
makeinfo.FileName = Path.Combine(Program.profiles, SelectedProfiles[i], "make.cmd");
//*/

これでいけるんじゃねえの。
227デフォルトの名無しさん:2012/04/30(月) 15:58:36.29
>>214
名前書き換えられませんか?あとプロファイルはICS用モトヤフォントだけで十分です。
228デフォルトの名無しさん:2012/04/30(月) 15:59:36.60
>>225
cmd.exeはフルパスで指定しないとなあ。

やっぱその程度でやったけど動きませんとか言ってたのか。
229デフォルトの名無しさん:2012/04/30(月) 15:59:54.65
>>215
UTF-8読めないんですか?
230デフォルトの名無しさん:2012/04/30(月) 16:01:05.77
>>225
cmdでやれといわれたので書き換えたものです。
最初に言ったソースに書き換えてください。
231デフォルトの名無しさん:2012/04/30(月) 16:01:15.56
>>223
んーなのわかってる
統計的に優位な差が出る形で、実行速度が遅くなるか尋ねてるの
232デフォルトの名無しさん:2012/04/30(月) 16:01:21.40
>>227
もういいよ。わかったから。
>>228
そこじゃねえwwww makeInfo.Argumentsを脳内で展開してみ。"\" \\make.cmd"って変だろ。

まさかと思って、make.cmdみたら分かった。
>echo ファイルを確認しています…
>IF NOT EXIST .\work\system\build.prop EXIT 1
動くわけねえだろ。
make.cmdの中身も質問者の言っている内容と違うじゃないか。
無理ゲーにもほどがある。
233デフォルトの名無しさん:2012/04/30(月) 16:02:23.21
>>228
cmdは動きました。でもそのコードだとバッチファイルは実行できません。
最初に言ったコードに書き換えてください。
234デフォルトの名無しさん:2012/04/30(月) 16:04:03.15
>>227
その手間を俺たちに強いるの?いいから黙ってうpしろよ。
オウム返しならいらねえんだよ。
235デフォルトの名無しさん:2012/04/30(月) 16:04:10.20
> でもそのコードだとバッチファイルは実行できません。
> でもそのコードだとバッチファイルは実行できません。
> でもそのコードだとバッチファイルは実行できません。

はい解散
236デフォルトの名無しさん:2012/04/30(月) 16:04:58.93
> でもそのコードだとバッチファイルは実行できません。

なんだ、原因分かってるんじゃねえか。
帰れ帰れ
237デフォルトの名無しさん:2012/04/30(月) 16:05:31.97
ばかばっかだな、本当w
238デフォルトの名無しさん:2012/04/30(月) 16:05:39.90
なんだ?
「動かないことがわかった」ということで解決?
239デフォルトの名無しさん:2012/04/30(月) 16:05:46.48
>>232
そこも確かに変だと思ったが、フルパスで指定しないとPATHなんか考慮されないからプロセスそのものが作られない方が先だろと思った訳よ。
240デフォルトの名無しさん:2012/04/30(月) 16:07:01.35
>>232
>そこじゃねえwwww makeInfo.Argumentsを脳内で展開してみ。"\" \\make.cmd"って変だろ。
最初に言っていたコードに書き換えてください。

>まさかと思って、make.cmdみたら分かった。
>>echo ファイルを確認しています…
>>IF NOT EXIST .\work\system\build.prop EXIT 1
現在はしっかりチェックするために
XCOPY /E /H /Y .\profiles\ICS用モトヤフォント\system .\work\system
この一行のみのバッチファイルでテストしています。
241デフォルトの名無しさん:2012/04/30(月) 16:08:30.49
>>238
はい解決ですw
242デフォルトの名無しさん:2012/04/30(月) 16:09:11.19
>>234
http://www.dotup.org/uploda/www.dotup.org2921510.zip.html
うpしました。たぶんSJISです。
243デフォルトの名無しさん:2012/04/30(月) 16:10:06.16
>>240
112: zip.ExtractAll(Program.work);
これ、本題とは関係ないけど、間違いなく変。
244デフォルトの名無しさん:2012/04/30(月) 16:11:14.44
>>235-236,238,241
間違えて動かないソースコードをあげてしまいました。
makeinfo.FileName = Program.profiles + "\\" + SelectedProfiles[i] + "\\make.cmd";
この一行に書き換えてください。
245デフォルトの名無しさん:2012/04/30(月) 16:12:22.66
>>243
変ですか?
DotNetZipというライブラリを使っています。
Librariesフォルダにあります。
246デフォルトの名無しさん:2012/04/30(月) 16:13:44.08
>>245
これをやると、どこに解凍されるか考えて、後続のバッチのIF〜と見比べて見ろよ。
247デフォルトの名無しさん:2012/04/30(月) 16:15:08.56
史上最低レベルのお脳の質問者だな。キレないだけが取り柄。
248デフォルトの名無しさん:2012/04/30(月) 16:17:13.88
回答側に回ってるつもりのおまえらも負けてないぞw

249デフォルトの名無しさん:2012/04/30(月) 16:17:30.78
>>247
ソース晒したのは評価していいと思う
250デフォルトの名無しさん:2012/04/30(月) 16:17:46.30
>>246
何か問題ありますか?
Program.workは.\workのことです。
IFは.\work\system\build.propがしっかり展開されたか確認するコードです。
251デフォルトの名無しさん:2012/04/30(月) 16:19:49.22
>>250
do
{
 while (!reader.EndOfStream)
 {
  Console.AppendText(reader.ReadLine() + "\r\n");
 }
} while (make.HasExited == false);

解決。
252デフォルトの名無しさん:2012/04/30(月) 16:19:54.46
>>249
やれといわれるまで上げていませんでした。
253デフォルトの名無しさん:2012/04/30(月) 16:20:08.24
ム板で最強の勢いだなw
C#も意外と捨てたもんじゃないな
254デフォルトの名無しさん:2012/04/30(月) 16:20:18.32
>>250
ステップ実行で動かしてみたら?それこそ。
255デフォルトの名無しさん:2012/04/30(月) 16:20:43.96
>>253
問題の対象は、バッチファイルだがなw
256デフォルトの名無しさん:2012/04/30(月) 16:21:34.88
>>251
何も変わらないと思いますが。
Console.AppendText(reader.ReadLine() + "\r\n");
はしっかり実行できてます。
257デフォルトの名無しさん:2012/04/30(月) 16:23:01.51
>>254
何の問題もありませんよ。そのあとに実行しているsed.exeとかtr.exeは動いてますし。
258デフォルトの名無しさん:2012/04/30(月) 16:25:20.15
>>257
見てげんなり
やっぱりバッチの問題でした
259デフォルトの名無しさん:2012/04/30(月) 16:47:09.05
そうですね。自己解決しました。ありがとうございました。さようなら。
260デフォルトの名無しさん:2012/04/30(月) 16:48:24.27
なんかな。オチもこのザマか。手伝うんじゃなかった。
261デフォルトの名無しさん:2012/04/30(月) 16:52:04.08
始めからバッチの問題だって答え出てたじゃん
262デフォルトの名無しさん:2012/04/30(月) 16:54:48.42
初心者にも色々あるけど、ここまで程度の低いのは初めてだ。
263デフォルトの名無しさん:2012/04/30(月) 16:55:08.62
>>259
それは私じゃありません
264デフォルトの名無しさん:2012/04/30(月) 16:56:25.58
さっきの人は違います。
別のエラーが出て今困ってます。
Process make = Process.Start(makeinfo);
で「アクセスが拒否されました。」と出てきます。
265デフォルトの名無しさん:2012/04/30(月) 16:56:55.05
そもそも、バッチのエラー出力を拾わないでどうするんだろうな。
バッチ内でエラーが発生しても分かりやしない。
266デフォルトの名無しさん:2012/04/30(月) 16:58:12.17
>>264
何を変えたんだよ
そんな報告されてもまわりが困るわ
267デフォルトの名無しさん:2012/04/30(月) 16:58:39.70
と出てきます、とは、そう出力されるのか、
例外が発生するのか、(この場合はあり得ないが)コンパイルエラーなのか、書け。
出てきます、じゃ何も伝わらん。
268デフォルトの名無しさん:2012/04/30(月) 17:00:13.21
いるよなあ、こういう奴。
「いつどこでだれが何をどうやって」が言えない奴。
269デフォルトの名無しさん:2012/04/30(月) 17:00:25.72
>>264
だーかーらーバッチの問題だってずーーーっと言ってるでしょーに
バッチファイルのmake.cmdの問題だよ

自分の環境をろぬに理解せずぐちゃぐちゃにして
その結果自ら落とし穴に落ちてるだけ
270デフォルトの名無しさん:2012/04/30(月) 17:00:30.16
>>267
例外です。
「Win32Exceptionはハンドルされませんでした。」ネイティブエラーコード5
271デフォルトの名無しさん:2012/04/30(月) 17:00:40.71









888888888888888888888888888888

                    8888888888
    wwwwwwwwwww
8888888888888888

wwwwwww
272デフォルトの名無しさん:2012/04/30(月) 17:02:23.50
>>269
ではどういう落とし穴に?
273デフォルトの名無しさん:2012/04/30(月) 17:02:36.08
xcopy リターンコード:
 5 =ディスク書き込みエラーが発生した

よかったじゃん。xcopy動いてるじゃん。おめでとう。あとは頑張ってね。
274デフォルトの名無しさん:2012/04/30(月) 17:03:10.66
>>270

めんどくさいから、指示に従ってくれないか?

まず、 窓+Rってタイプしてエンター押してくれ
275デフォルトの名無しさん:2012/04/30(月) 17:04:19.15
「自己解決しました」で解決策の提示もなくいなくなった奴に、
答えてやる義理はない。散々付き合わされて、「あ、もう解決したんで良いです」と砂をかけるような真似をしておいて、
次も付き合えるようなお人好しは、そういない。
276デフォルトの名無しさん:2012/04/30(月) 17:05:27.87
>>264の問題自己解決しました。
makeinfo.FileNameの値が間違ってセットされてました。
277デフォルトの名無しさん:2012/04/30(月) 17:07:27.89
>>170で解決してるじゃねえか
278デフォルトの名無しさん:2012/04/30(月) 17:07:47.20
> 間違ってセットされてました

いつ、どこで、どう間違ったか、には一切触れないのが>>276クオリティ
279デフォルトの名無しさん:2012/04/30(月) 17:08:01.83
確認しましたが、やはりxcopy以外のsed,trはしっかり動作していました。
280デフォルトの名無しさん:2012/04/30(月) 17:08:37.12
281デフォルトの名無しさん:2012/04/30(月) 17:09:11.51
>>278
"\\make.cmd"が" \\make.cmd"になっていたせいでファイルが読み込めていませんでした。
282デフォルトの名無しさん:2012/04/30(月) 17:10:07.95
>>280
それよりもコマンドプロントでバッチファイル動かしたほうがいいと思いますが。
283デフォルトの名無しさん:2012/04/30(月) 17:10:27.48
>>281
やっぱりそれだけかよ・・・
>>225, 226読めよ。自己解決?よく聞こえないんだが。
284デフォルトの名無しさん:2012/04/30(月) 17:10:49.90
>>282
黙って従えばすぐ解決する
285デフォルトの名無しさん:2012/04/30(月) 17:10:59.15
「何もわかりません><」って言ってるくせに、
指示には従わない。いいから黙ってやれよ
286デフォルトの名無しさん:2012/04/30(月) 17:13:19.15
>>283
>>225とは違います。あれはcmd.exeを実行ファイルに指定していますが今はバッチファイルを直接指定しています。
>>225のはたぶんmake.cmdのパスを直接指定したときに間違えたのかと。
287デフォルトの名無しさん:2012/04/30(月) 17:13:50.92
>>284
わかりました。何を実行するんですか?
288デフォルトの名無しさん:2012/04/30(月) 17:14:09.18
そろそろ収拾をつけたほうが良いと思う

makeinfo.RedirectStandardInput = true;

sedスクリプトでエラーが出てるのは知らん
289デフォルトの名無しさん:2012/04/30(月) 17:15:03.13
>>288
sedスクリプトはエラーをはいていません。
makeinfo.RedirectStandardInput = true;
書き換えてみます。
290デフォルトの名無しさん:2012/04/30(月) 17:15:19.94
>>286
お前ホント頭来るな。
>>225, 226をよく読めよ。お前のミスに気づいてるだろうが。
291デフォルトの名無しさん:2012/04/30(月) 17:16:52.33
>>287
notepad
エンター

メモ帳が立ち上がったのを確認してくれ
292デフォルトの名無しさん:2012/04/30(月) 17:17:02.96
人様のレスを勝手に関係ないと思い込んで、きちんと読むこともしない。何も分かってないのに。
勝手にソースを書き換えて、動かないと騒ぐ。何も分かってないのに。

これで回答してもらえるんだから、ホントここは優しいスレだわ。
293デフォルトの名無しさん:2012/04/30(月) 17:18:28.96
>>291
メモ帳、立ち上がりました。
294デフォルトの名無しさん:2012/04/30(月) 17:19:04.20
>>290
確かにこのときもミスってました。
295デフォルトの名無しさん:2012/04/30(月) 17:19:55.47
何も分かってないから、バッチで十分動く代物を、
訳の分からんGUIにしようとするんだろ。
クズはどこまでいってもクズだからそっとしておくが吉。
296デフォルトの名無しさん:2012/04/30(月) 17:20:05.89
>>288
何も変わりませんでした。
297デフォルトの名無しさん:2012/04/30(月) 17:21:34.16
で、あなたはソースコードを1文直す度にここで質問されるつもりですか?
端的に申し上げて、あなたはこのプログラムを作成するに能いません。
もっと初歩的な勉強と、日本語によるコミュニケーションを勉強してから、
再チャレンジしてくださいね。
298デフォルトの名無しさん:2012/04/30(月) 17:21:51.35
>>293
次の行(>>89 の内容と完全に同一)を、どこからもコピペせずに正確にタイプしてくれ

XCOPY /E /H /Y .\profiles\ICS用モトヤフォント\system .\work\system
299デフォルトの名無しさん:2012/04/30(月) 17:22:58.31
ここで「それならもうやりました」とか言いそうだな、この質問者は。
300デフォルトの名無しさん:2012/04/30(月) 17:24:19.48
>>298
cdしなくていいんですか?
301デフォルトの名無しさん:2012/04/30(月) 17:24:29.27
しなくていいからやれ
302デフォルトの名無しさん:2012/04/30(月) 17:25:39.87
>>301
「0個のファイルをコピーしました。」
303デフォルトの名無しさん:2012/04/30(月) 17:25:42.84
>>300
さっきら起動したメモ帳に、正確にタイプしてくれ。cdはいらない。、
304デフォルトの名無しさん:2012/04/30(月) 17:27:12.88
>>303
コピーしました。
305デフォルトの名無しさん:2012/04/30(月) 17:27:37.43
>>302
なんでいつのまにかコマンドラインでやってるんだ。
なんのためにメモ帳を立ち上げたんだ。
306デフォルトの名無しさん:2012/04/30(月) 17:28:19.09
>>304
>>298 よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。よく読め。
307デフォルトの名無しさん:2012/04/30(月) 17:28:52.45
>>296
じゃあ、他にも問題があるんだろう。俺のところでは動いたし
とりあえず、xcopyは標準入力もリダイレクトしないと動作しない仕様だから
308デフォルトの名無しさん:2012/04/30(月) 17:29:19.17
コピペせずにですか?分かりました。
309デフォルトの名無しさん:2012/04/30(月) 17:29:44.93
>>307
ちょ、ちょっとまってくれ。横やりだが、そうなのか?
だとすると>>170ってなんで動いたの?
310デフォルトの名無しさん:2012/04/30(月) 17:31:24.67
ちなみに標準出力はリダイレクトしています。
311デフォルトの名無しさん:2012/04/30(月) 17:33:46.91
しっかりXCOPY /E /H /Y .\profiles\ICS用モトヤフォント\system .\work\system書き写しました。
312デフォルトの名無しさん:2012/04/30(月) 17:34:59.64
>>311
メモ帳のステータスバーに「一行、59列」となっているのが確認できたら、
メモ帳のメニューから、「ファイル → 名前をつけて保存」を選らんで
make.cmd
の名前でデスクトップに保存してくれ

万が一ステータスバーの表示が違うなら、メモ帳の起動からタイプまで、再度やり直してくれ
313デフォルトの名無しさん:2012/04/30(月) 17:36:02.92
>>312
あ、すまん。Endきー押してからステータスバー確認
314デフォルトの名無しさん:2012/04/30(月) 17:36:06.86
保存しました。
315デフォルトの名無しさん:2012/04/30(月) 17:37:05.79
>>313
末尾に移動してから確認したので大丈夫です。
316デフォルトの名無しさん:2012/04/30(月) 17:38:43.72
リモートデスクトップでも繋いだ方が早そうなやりとりだな
317デフォルトの名無しさん:2012/04/30(月) 17:39:30.63
>>309
多分、コンソールアプリだから標準入力はコンソールに接続されている
コードそのままでWindowsアプリに変更すると動かなくなると思う

兎に角、標準入力がどこかに接続されていないことには動かないと
318デフォルトの名無しさん:2012/04/30(月) 17:42:22.68
>>317
了解しました。標準入力できるように書き換えます。
319デフォルトの名無しさん:2012/04/30(月) 17:43:12.19
>>314
デスクトップに保存したmake.cmdを、元々の

>>89
> makeinfo.FileName = Program.profiles + "\\" + SelectedProfiles[i] + "\\make.cmd";

のパスにあるファイルに上書きしてくれ。
ただし、元々あったファイルは後から検証するために名前を変えて残しておいた方がいいだろう。
320デフォルトの名無しさん:2012/04/30(月) 17:43:32.31
>>317
へー。しらなんだ!勉強になるねえ。
321デフォルトの名無しさん:2012/04/30(月) 17:45:06.01
>>319
移動しました。
322デフォルトの名無しさん:2012/04/30(月) 17:47:50.09
>>319
以上で動く・・・可能性が半々。
騙されたと思って、C#プログラムを実行してくれ。

chdirだけ書いたbatがC#から起動できていたなら動く・・・はずだ。
323デフォルトの名無しさん:2012/04/30(月) 17:47:57.03
>>317
シェルを出さないと動作しないことを確認しました。あたりなようです。
324デフォルトの名無しさん:2012/04/30(月) 17:48:17.82
>>322
やはり動きませんね。
325デフォルトの名無しさん:2012/04/30(月) 17:48:56.01
>>324
それでダメか・・・

よし、窓を開けて、天に向けてこう誓ってくれ。
「神よ、私は罪深き者です。
 今後一切、プログラミングを自力でやろうなどとは思いません。
 神より授かった、この身一つで生きて参ります。」
326デフォルトの名無しさん:2012/04/30(月) 17:49:51.95
>>325
窓がありません
327デフォルトの名無しさん:2012/04/30(月) 17:49:53.48
>>323
おい、報告と違うぞ
C#からbat起動の確認したはずだが
328デフォルトの名無しさん:2012/04/30(月) 17:51:35.11
>>325
>>317があったっているようでした。皆さんどうもありがとうございました。
329デフォルトの名無しさん:2012/04/30(月) 17:51:57.57
>>327
xcopyがです。
330デフォルトの名無しさん:2012/04/30(月) 17:52:56.55
>>327
つまり、シェルですよね?
331デフォルトの名無しさん:2012/04/30(月) 17:54:50.05
>>327
すみません、間違えていました。C#が別のものでした。
やはり動きませんね。
332デフォルトの名無しさん:2012/04/30(月) 17:56:06.79
>>328>>329>>330は違う人です。
333デフォルトの名無しさん:2012/04/30(月) 17:56:13.20
シェルとはCUIの画面のことだと思って言ったのですが、間違ってますか?
Linuxではshファイルのことをシェルスクリプトといっていましたが、Windowsでもそういうのですか?
334デフォルトの名無しさん:2012/04/30(月) 17:58:08.81
違う人とかどうとか言う前にトリップでも付けて書き込めよ?
335 ◆d8nUHyTyTc :2012/04/30(月) 17:59:29.47
>>334
わかりました。どうすればいいでしょうか。
336デフォルトの名無しさん:2012/04/30(月) 18:00:26.14
>>334
トリップとはなんでしょうか
337デフォルトの名無しさん:2012/04/30(月) 18:00:56.73
>>335
偽者さん、さようなら

私も解決したのでここを去ります。皆さん本当にありがとうございました。
338デフォルトの名無しさん:2012/04/30(月) 18:10:21.36
>>335
次の1.〜6.を試してそれぞれの結果を教えてくれ。

1.make.cmdを
>>162の方法でコマンドラインから実行する


2.make.batの中身を次の3行に変更してC#から実行する

@chdir
@dir .\profiles\ICS用モトヤフォント\system .\work\system
@timeout /T 8


3.
2.のまま1.の方法で実行する



4.5.6.
上記を1.2.3.を、パス名から日本語部分「用モトヤフォント」を削ったフォルダ構成、C#、バッチ、を全て書き換えた上で実行する


339デフォルトの名無しさん:2012/04/30(月) 18:13:42.21
>>338
私はもう解決しました。
340デフォルトの名無しさん:2012/04/30(月) 18:17:07.77
じわじわくる。
341デフォルトの名無しさん:2012/04/30(月) 18:21:29.36
全部読むの面倒なので
どういう問題が起きて質問して、何が原因だったかを誰か教えて。
342デフォルトの名無しさん:2012/04/30(月) 18:22:12.19
>>339
>>317なら、事前のやりとりに嘘があることになる

事前のやりとりで正直に報告してたなら、>>317は解ではない。他の要因が解決したから解決したはず。
343 ◆d8nUHyTyTc :2012/04/30(月) 18:28:19.31
>>338
PCを再起動していました。
エラーは自己解決しましたが、コピーはできていませんでした。
プログラムの全部まとめたものです。「作成」を押すだけでうごきます。
http://ll.la/:KhE

>>339
嘘をつかないでくださいね。
344デフォルトの名無しさん:2012/04/30(月) 18:31:51.81
>>342
ほかのプログラムは標準入力がいらないので動いていたわけです。
345デフォルトの名無しさん:2012/04/30(月) 18:33:23.24
GWは2ch満喫ですか?
346デフォルトの名無しさん:2012/04/30(月) 18:34:07.43
>>345
GWは仕事。ITドカタなめんな
347デフォルトの名無しさん:2012/04/30(月) 18:35:59.43
>>343
PrintScreenキーを知っていますか?
http://i.imgur.com/1MIyq.png
348デフォルトの名無しさん:2012/04/30(月) 18:36:09.22
明日明後日は仕事だけど
昨日今日は三浦半島一周してきましたよ
3日からは房総半島一周に行きます
7と8は有給です
349デフォルトの名無しさん:2012/04/30(月) 18:36:15.61
>>344
それなら、コマンドラインから起動しても、途中で止まらなければおかしい
350デフォルトの名無しさん:2012/04/30(月) 18:37:01.99
>>345
明日あさって学校、しかも特待だから宿題どっさり出るからな。
なめんな。
351デフォルトの名無しさん:2012/04/30(月) 18:37:31.43
>>349
なぜとまらなければおかしいんですか?
352デフォルトの名無しさん:2012/04/30(月) 18:38:11.86
さすが、GW 害虫が蠢き出したな
353デフォルトの名無しさん:2012/04/30(月) 18:38:47.02
>>351
標準入力待ちになるからだろ
他に何があるんだ
354デフォルトの名無しさん:2012/04/30(月) 18:40:12.87
つまり、どういうこと
355デフォルトの名無しさん:2012/04/30(月) 18:41:15.25
ちなみに脳障害ですけど何の話をしているんです?
356デフォルトの名無しさん:2012/04/30(月) 18:44:05.42
>>353
xcopyは入力すべきことがなくても標準入力がどこかに接続されていなければ実行できないんです。
357デフォルトの名無しさん:2012/04/30(月) 18:44:57.37
358 ◆d8nUHyTyTc :2012/04/30(月) 18:45:36.18
>>347
知っていますが、なんでしょうか。
http://i.imgur.com/7Dl9H.png
359デフォルトの名無しさん:2012/04/30(月) 18:47:46.10
>>358
画像編集もお得意なようですね。どうしましょうか?
360デフォルトの名無しさん:2012/04/30(月) 18:48:40.38
そうだ!あなたはgithubのアカウントを持っているはずだからgithubにプッシュできるはずですよね?
361 ◆d8nUHyTyTc :2012/04/30(月) 18:49:05.88
作ろうとしているのは、画像編集プログラムではありません。
362デフォルトの名無しさん:2012/04/30(月) 18:49:53.51
363 ◆d8nUHyTyTc :2012/04/30(月) 18:49:55.06
>>360
やっと気づいたかw

可能なら、アップしたプログラムも動かして見て欲しかったなあ。
結構面白いことやったつもりだったのに、ダウンロードしてもらえなかったよ。
364デフォルトの名無しさん:2012/04/30(月) 18:50:10.58
スカイラインの伝統はR34で終了しました。
現在販売されているスカイラインはネームバリューを利用して
車に無知な情弱を騙している単なるV6エンジンのオヤジ車です。
365デフォルトの名無しさん:2012/04/30(月) 18:50:48.55
>>363
だからReadme.md書き換えるか何とかしてみろってんだよ!
366デフォルトの名無しさん:2012/04/30(月) 18:50:50.94
以上、#てにをは がお送りしました。
弟がスレに迷惑をおかけしていたようで、申し訳ありませんでした。
367デフォルトの名無しさん:2012/04/30(月) 18:52:43.06
国も仁川空港、釜山市、K-POOP、F1はすべて大赤字。
過剰な自爆投資で破産街道まっしぐら。
まあせいぜい外国人のために奴隷労働しれくれよ〜www
368デフォルトの名無しさん:2012/04/30(月) 18:57:28.38
もしシステムファイル以外のファイルをすべて削除するようなソフトを作って
ここで晒したら逮捕されるの?
369デフォルトの名無しさん:2012/04/30(月) 18:58:11.43
さらし方によるんじゃねえの。
370デフォルトの名無しさん:2012/04/30(月) 18:59:16.17
作成罪の要件って何だっけ
371デフォルトの名無しさん:2012/04/30(月) 19:01:29.74
372デフォルトの名無しさん:2012/04/30(月) 19:03:34.50
おまえらなにをやってんの?

違うほうにいってねーか?
373デフォルトの名無しさん:2012/04/30(月) 19:05:36.41
http://togetter.com/li/84253
このやりとりは興味深い。
374デフォルトの名無しさん:2012/04/30(月) 19:13:55.89
ウィルスって増殖するからウィルスでしょ?
自己複製しないで単体で機能して、システムファイル以外削除するソルトは
罪になるのかな?
readmeにちゃんと、責任を負いません、みたいなことも書いて
375デフォルトの名無しさん:2012/04/30(月) 19:14:57.64
なに、結局釣りだったのか。
376デフォルトの名無しさん:2012/04/30(月) 19:15:20.11
>>374
これはユーティリティだよ。うん。
377デフォルトの名無しさん:2012/04/30(月) 19:17:14.24
セキュリティソフトってシステムファイルにアクセスしたり、ネットにアクセスする場合は反応するけど
システムファイル以外を削除するソフトに関しては全く反応しないよね?
それに実行するときは、注意ダイアログが出ておkしているんだし
378デフォルトの名無しさん:2012/04/30(月) 19:19:09.70
>>374
コンピュータウイルスの定義自体は自己増殖性を絶対的必要要件としないことがあるよ。
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A6%E3%82%A4%E3%83%AB%E3%82%B9#.E3.82.A6.E3.82.A4.E3.83.AB.E3.82.B9.E3.81.A8.E3.81.AF

原義的には自己増殖もまた要件なんだろうけど。
379デフォルトの名無しさん:2012/04/30(月) 19:23:59.45
ダブルバッファを有効にしていて
オフスクリーン用のGraphicsを取得したい
どうすればいいですか?
380デフォルトの名無しさん:2012/04/30(月) 19:31:02.44
プログラマはどんな2ちゃんブラウザ使ってるの?
381デフォルトの名無しさん:2012/04/30(月) 19:31:55.36
>>379
バッファ用のimageからGraphics.FromImageで生成とか?

よくわからんけど
382デフォルトの名無しさん:2012/04/30(月) 19:34:37.18
>>380
> プログラマはどんな2ちゃんブラウザ使ってるの?

rep2だよ
383デフォルトの名無しさん:2012/04/30(月) 19:37:58.74
>>380
俺はV2Cだが・・・設定がゴチャゴチャしてて使いにくい、
どこに何の機能があるか分かりづらい、etc, etc...
不慣れなOfficeのリボンの方が快適に感じるくらいだから移行を検討中かな
384デフォルトの名無しさん:2012/04/30(月) 19:48:57.97
V2Cよさそうだなぁ
自分のレスにマークできるのがいい
385デフォルトの名無しさん:2012/04/30(月) 19:49:35.47
次VSでformがなくなるって本当なの?
386デフォルトの名無しさん:2012/04/30(月) 19:52:25.56
ブラウザ変更した場合、ログをどうするかだけど
ログの移植ツールがなかったら、自前で作ったりするの?
387デフォルトの名無しさん:2012/04/30(月) 19:54:23.72
わざわざ移植したいようなログが無いので問題ない
388デフォルトの名無しさん:2012/04/30(月) 20:44:17.52
反原発運動の正体 日本の脱原発は韓国の大きな利益
http://uni.2ch.net/test/read.cgi/mayor/1332600343/22


■反原発運動の正体
http://news020.blog13.fc2.com/blog-entry-1435.html
■田母神俊雄 山本太郎に反論 放射能解説 22分35秒辺りから
http://www.youtube.com/watch?v=WuZ2-2gXIts
■日本の脱原発は韓国の大きな利益
http://deliciousicecoffee.blog28.fc2.com/blog-entry-4306.html
■脱(反)原発になぜ左翼が多いのか【中野剛志】・脱原発で得をするのは?・「放射能は怖い」のウソ
http://ameblo.jp/nippon-no-hokori/entry-11134763006.html
■中野剛志氏「電力自由化は無能無策の極地」書起こし
http://000hime.blog74.fc2.com/blog-entry-430.html
389デフォルトの名無しさん:2012/04/30(月) 20:49:16.68
webアプリにC#は向いてるんですかね
390デフォルトの名無しさん:2012/04/30(月) 20:54:14.57
脱原発にC#は向いているんですかね
391デフォルトの名無しさん:2012/04/30(月) 21:02:12.97
剥き剥き
392デフォルトの名無しさん:2012/04/30(月) 21:18:20.42
次期windows8にVS2010がインスコ出来ないてホントですか?
393デフォルトの名無しさん:2012/04/30(月) 21:44:38.69
ざまみろ
394デフォルトの名無しさん:2012/04/30(月) 21:49:14.29
サイクル的にwindows8は外れだから問題ない
395デフォルトの名無しさん:2012/04/30(月) 21:51:50.94
交互最強
396デフォルトの名無しさん:2012/04/30(月) 21:54:32.53
偶数は2軍チームが作るんだっけ?
397デフォルトの名無しさん:2012/04/30(月) 22:00:16.39
ヘルプミー。
ttp://ideone.com/mGBXm

MEFいいよMEFって前このスレだったかで見たので、実験してるのですがうまくいきません。
Items = Container.GetExportedValues<T>();
を実行すると、
基になるエクスポートされた値の型 'MefHello.Hello (ContractName="MefPlugin.IHello")' を 'MefPlugin.IHello' 型にキャストできません。
という例外がとびます。

この型変換は何を指しているのでしょうか。
どなたかご回答お願いします。エスパー歓迎!!!
398デフォルトの名無しさん:2012/04/30(月) 22:03:58.42
class Hoge<T>
これの<T>ってなに?

たまに
class Hoge<T>:Where<T>
こういうのも見かけるけど意味がわからない
399デフォルトの名無しさん:2012/04/30(月) 22:07:24.20
>>398
ジェネリックスだよ。
Tをユーザープログラマが任意に決められるように設計するんだ。C++と違って実行時決定だったと思う。
Whereはしらない・・・。
400デフォルトの名無しさん:2012/04/30(月) 22:08:16.23
ちょw
401デフォルトの名無しさん:2012/04/30(月) 22:08:53.02
凶変ハンペンあたりじゃないかな?
402デフォルトの名無しさん:2012/04/30(月) 22:09:45.48
List<int>みたいに
中に型を入れたい時に使う
403デフォルトの名無しさん:2012/04/30(月) 22:12:16.92
Hoge<T_T>
404398:2012/04/30(月) 22:13:13.77
よくわかなんだけど、Hoge<T>とするとコレクションになるってことじゃないんだよね?
クラスに入れるってどういうこと?
class Hoge<string>にしておくと
Hoge hoge="文字列しか入らなくなる?";
405デフォルトの名無しさん:2012/04/30(月) 22:13:22.90
whereは、ジェネリックの制約。
つまり、Tに適応できる型の一定のルール。

例えば、これは、T型は、Controlクラスを継承したものに限定される。インターフェースでもok。
Controlクラス自身でもok。これの便利なところは、T型に対してControlクラスのメンバーにアクセスできる。
class Hoge<T> where T : Control{
}

また、このようにしておけば、Tは、クラスのみに限定される。
class Hoge<T> where T : class {
}
これは、structな型に限定される。
class Hoge<T> where T : struct{
}

こうしておけば、内部でT型のクラスからインスタンスをnewできる。
ただし引数なしのコンストラクタに限られる。
class Hoge<T> where T : class , new() {
}
406デフォルトの名無しさん:2012/04/30(月) 22:13:39.57
ここに詳しくかいてあるぽい。
ttp://ufcpp.net/study/csharp/sp2_generics.html
407デフォルトの名無しさん:2012/04/30(月) 22:15:03.27
>>404
それは、Hogeクラスの実装によるのでコレクションかどうかは、また別の話。

408デフォルトの名無しさん:2012/04/30(月) 22:15:27.23
398のWhereはそっちよwhereじゃないよね
409デフォルトの名無しさん:2012/04/30(月) 22:15:59.50
>>404
ならないかな。
そういう要望だったら、引数と初期化子を厳密に適応すれば叶うと思う。
410デフォルトの名無しさん:2012/04/30(月) 22:18:26.82
Tは型タイプ
そして>>403を見ればわかるとおり涙を表現してる
その証拠にタイプパラメータの命名はTから始まるようになってる
411デフォルトの名無しさん:2012/04/30(月) 22:20:26.90
ジェネリックの型制約にオペランドが実装されてるかどうかを持たせたいところだ・・・
412398:2012/04/30(月) 22:21:53.61
>>406
ちょっと読んでみる、ありがと
413デフォルトの名無しさん:2012/04/30(月) 22:24:00.28
>>411
オペレータのこと?なら同意

>>404
たとえば、
public class EqualityComparer<T>
where T : IComparable{
 public bool Compare(T v1, T v2){
  return v1 != null && v1.CompareTo(v2) == 0;
 }
}
というようなクラスを宣言すると、

var stringComparer = new EqualityComparer<string>();
って宣言すれば、
stringComparer.Compare(ex1, ex2);
のように呼び出したとき、あたかも
public bool Compare(string v1, string v2){
/* 以下略 */
というメソッドが定義されているかのように、ex1とex2に対して型チェックが行われる。
故に、ex1とex2がそれぞれstring(に暗黙的に変換可能な)型でないと、コンパイルエラーになる。
414デフォルトの名無しさん:2012/04/30(月) 22:25:09.12
オペランドっていうか

void Method<T>(T t1, T t2, Func<T,T,T> add)
{
 var result = add(t1, t2);
 ...
}

足し算がしたいなら足し算のラムダを一緒に渡せばいい
415397:2012/04/30(月) 22:25:12.60
うーん。わから〜ん。
Interfaceにnew制約付けれないみたいだし。どうしようかなぁ・・・。
416デフォルトの名無しさん:2012/04/30(月) 22:32:32.76
>>413
まあ、いったん、dynamicな変数に入れてやれば、演算も比較もできるので
staticコンストラクタで実行時にT型を検査して演算と比較が可能な型かどうかのチェックを入れて、
実行時例外吐く感じで対処したけど、どうにも釈然としないが今のところ仕方ないか。
417398:2012/04/30(月) 22:32:46.85
>>413
なんとなくわかった気が
T型で引数設定した場合、そのすべてのメソッドを利用する側が型指定できるってことか
何に使えるのかよくわからないがおもしろいね

Action<T>みたいにメソッドを渡して動作を変えるんじゃなくて
変数で内部動作を変える感じ?かな
418デフォルトの名無しさん:2012/04/30(月) 22:39:32.27
>>417
そのAction<T>もジェネリックスでしょ?
419デフォルトの名無しさん:2012/04/30(月) 22:39:35.82
>>414
それ使うところ想像したけど、呼び出し元でadd使えばいいじゃん。
int v1, v2, v3;
v3 = Method(v1, v2, (t1, t2) => t1 + t2);

ってやるくらいなら、素直に
v3 = v1 + v2;
って書くでしょwそれとも何か他にメリットがあるのんか?

>>415
Interfaceのnew制約がなんのことかは分かりかねるが、
Hoge<T> where T : new()
って制約は可能だよ
420デフォルトの名無しさん:2012/04/30(月) 22:40:30.78
>>418
ジェネリクスのクラス(インタフェース)と、ジェネリクスのデリゲートは違うもののように見えるんだろう。
421397:2012/04/30(月) 22:42:56.99
>>419
レスありがと。本題はそっちじゃないんだ。
とにかく、MefでDLLからクラスを取得したいんだ。
そのためにInterfaceを設定してそのインターフェースを使いまわしてるのに、変換できないと怒られる・・・。
プラグインシステムを作りたいんだよね。
422デフォルトの名無しさん:2012/04/30(月) 22:46:11.01
>>417
何に使えるか、っていうと、たとえばList<T>なんかその恩恵を最大限受けてるんじゃないか?

ArrayListなら、

ArrayList arrayList;
int item;
/* 中略 */
item = (int)arrayList[0];

みたいになるけど、
List<T>なら、

List<int> genericsList;
int item;
/* 中略 */
item = arrayList[0];

のように、キャストが不要になる。
ジェネリクスがないArrayListでは、「何でも格納可能な」という「object」型でリストを保持することしか出来なかったけど、
ジェネリクスであるList<T>なら、Tに型アーギュメントを与えることで、リストが保有するオブジェクトの型を、
一定にすることができるわけだ。
423デフォルトの名無しさん:2012/04/30(月) 22:46:48.66
だから凶変とはんぺん
424デフォルトの名無しさん:2012/04/30(月) 22:47:29.44
>>421
interfaceを「使い回している」ってニュアンスに違和感を覚えた。
同じ名前のインターフェースを、本体側とプラグイン側で二重定義してるだけなんじゃない?
425424:2012/04/30(月) 22:51:12.03
>>421

Main.csproj
 public class PluginManager {
  [ImportMany(typeof(IPlugin))]
  private List<IPlugin> plugins;
  /* catalogだの何だのは中略 */
 }

PluginInterface.csproj
 public interface IPlugin {
  /* 中略 */
 }

PluginAlpha.csproj
 [Export(typeof(IPlugin)]
 public class PluginAlpha : IPlugin {
  /* 中略 */
 }

で、PluginAlphaとMain.csproj、両方の参照設定にPluginInterfaceを追加する。
これでいけない?
426398:2012/04/30(月) 22:55:12.03
>>422
なるほど、キャストしなくていいのは楽ですね

でも、そのクラスの内部は結構複雑になるんじゃないですか?
int,string,DateTimeなどに対応するようなComparerクラスを作ろうとした場合
if文が多くなると思うんだけど
それとも実装部分は多態性で解決させるのかな?
内部で、引数の型に対応したComparerクラスにやらせるみたいな感じ?
427デフォルトの名無しさん:2012/04/30(月) 22:56:58.30
そんな文法的な使い方だけ覚えても何の役にも立たないよ

428デフォルトの名無しさん:2012/04/30(月) 22:58:17.64
>>426
ゆえに、そういうメソッドを作る場合は、where T : IComparable
って縛る。
そうすりゃ、Tは常にIComparableを実装していること、という制約が付くため、
さっきの

 public bool Compare(T v1, T v2){
  return v1 != null && v1.CompareTo(v2) == 0;
 }

みたいに、本来正体不明のT型であるv1オブジェクトに対して、CompareToメソッドが使えたりするわけ。
429デフォルトの名無しさん:2012/04/30(月) 23:01:23.89
>>424-425
レス有難う。ちょっと実験してみます。
430デフォルトの名無しさん:2012/04/30(月) 23:02:36.40
>>419
別になんでもいいんだけど
たとえば任意の型の平均が作りたい時

T Average<T>(IEnumerable e, Func<T,T,T> add, Func<T,int,T> div)
{
 T total = e.First(); int count = 1;
 foreach(var item in e.Skip(1)){ total = add(total, item); ++count; }
 return div(total, count);
}

あまりいい例じゃないな・・・
まあ計算したい時に使える
431398:2012/04/30(月) 23:03:21.43
>>428
あーなるほどーw
432デフォルトの名無しさん:2012/04/30(月) 23:09:52.47
>>427
最初はそれだけでもいいじゃんか。
文法だけ覚えて「何だかよく分からないけど便利らしい」で終わるか、
きちんと使いこなすかはその後次第だろ。

「よく分かんないけどインタフェースなんていらなくね」
とか言ってるどこかの池沼とは違うんだから。
インタフェース論議には「分かって」言ってる人と「よく分かんないけど」言ってる人がいて、困りもんだが。
433デフォルトの名無しさん:2012/04/30(月) 23:10:43.30
>>430
数値計算系なら、Expression使って組み立てた方が、
見通しよくないか?
434デフォルトの名無しさん:2012/04/30(月) 23:12:21.87
>>430
なる。平均だと確かに伝わりにくいけど、
足し算とかけ算を色々使ってする複雑な計算のジェネリックメソッド、っていうニュアンスなら、
確かにありかもなー。
435デフォルトの名無しさん:2012/04/30(月) 23:13:58.99
>>433
Expressionは遅いでしょ
普通にDelegate.CreateDelegateで作ったほうが早いはず
436デフォルトの名無しさん:2012/04/30(月) 23:15:33.87
>>435
そゆこっちゃなくて、たとえば、Average<T>の引数にDelegate渡さなくても、
内部でExpressionで組み立てた方が、外から見たメソッドの使い勝手はよくね?って話。
ま、だったらdynamic使えって話になるだろーけど。
437デフォルトの名無しさん:2012/04/30(月) 23:18:28.87
>>436
Expressionで組み立てるのはわかりにくいわ実行速度遅いわで一理なしだと思うけど
まあ基本演算は事前に準備しておいて使うのもアリだろうなあ
438デフォルトの名無しさん:2012/04/30(月) 23:27:50.65
>>437
分かりにくいかな・・・
式木って考え方は、とてもシンプルで分かりやすいものだと思うんだけど

まあ見た目があんまりスッキリしないのと、実行時に組み立ててコンパイルするのに時間かかるのは事実だから、
事前準備しておくにしたって忌避されたいのは事実かもなあ。
439デフォルトの名無しさん:2012/04/30(月) 23:30:44.52
>>438
いやコンパイルじゃなくて実行すると遅いんだよExpressionで作ったデリゲートはなぜか
俺のやり方が間違ってるのかもしれないけど
組み立てるコード見ても何のことやらわかりにくいと思うし

CreateDelegateならわかりやすくて実行速度も早いからオススメ
440デフォルトの名無しさん:2012/04/30(月) 23:34:47.31
>>432
昔よくあったのが、C/C++の言語的なことばっかりやって
いざアプリ書こうとする、ウィザードが吐くコードの前に圧倒されて
どこに何を書けばいいのかさっぱり・・・

言語的なことは、ある程度覚えたら
ライブラリの使い方なり、使用するOSのシステムコールの使い方を
覚えたほうがよっぽど実用的
441デフォルトの名無しさん:2012/04/30(月) 23:40:11.82
>>440
だからその「ある程度」を今覚えてるんだろ。
442デフォルトの名無しさん:2012/04/30(月) 23:41:27.27
>>424-425
できた!!!まじ、できた!!!
肝は共通のインターフェースをソースで持たないことか・・・。
インターフェースの同一性の問題は感じてたけど、手軽さがちょっと減りましたなぁ。まぁいい!
しかし、初めてVC# 3並列で作業したよ。ソリューション理解しないとなー。
さて、念願かなったので次を進めたいと思います。

>>424-425 はほんっと有り難う!!!

余談だけど、何でこれを作ってたかというと、3Dダンジョンゲームの穴掘り機能拡張用だったんだ。アッー!
迷路のコアとXNAの表示周りはすでにできてるから、後はこれだけだったんだ。
夢ひろがりんぐ!!ありがとう!!
443デフォルトの名無しさん:2012/04/30(月) 23:45:11.59
>>442
それ販売するの?
444デフォルトの名無しさん:2012/04/30(月) 23:48:01.06
>>442
ゲームかよ・・・
445デフォルトの名無しさん:2012/04/30(月) 23:50:11.20
プラグイン機構ってC#ないんだぁ
446デフォルトの名無しさん:2012/04/30(月) 23:52:36.08
447デフォルトの名無しさん:2012/04/30(月) 23:54:32.02
???
448デフォルトの名無しさん:2012/04/30(月) 23:57:16.33
>>442
Type、の仕様を眺めてみることを進めるよ。

名前空間と型名だけでTypeが決まるワケじゃなくて、
ModuleもまたType決定要素の一つなんだよ。
Module+名前空間+型名+αで決まる。
プラグインモジュールと、
本体モジュールの両方で同じ名前空間・同じ型名のクラス(インタフェース)を定義しても、
同じクラス(インタフェース)であるとは言えない。

MEFだけじゃなくて、リフレクションするときなんかも間違えている人がいるから、
そのへんは注意かなあ。
449デフォルトの名無しさん:2012/04/30(月) 23:57:44.77
Moduleじゃねえ。Assemblyか。
450デフォルトの名無しさん:2012/05/01(火) 00:01:47.87
MEFって何て読むの?
めふ?
451デフォルトの名無しさん:2012/05/01(火) 00:04:39.05
おめこ
452デフォルトの名無しさん:2012/05/01(火) 00:10:59.12
そっちのExpressionじゃぁねぇよw
453デフォルトの名無しさん:2012/05/01(火) 00:11:15.89
ああすまん出来ないんだな基本型の足し算とかのリフレクション呼び出しは
だからやりたきゃExpressionでも使うしかないのか
454デフォルトの名無しさん:2012/05/01(火) 00:13:06.07
今、WPFの普及率ってどれぐらいなの?
WinFormとWPFどっちが多い?
455デフォルトの名無しさん:2012/05/01(火) 00:14:27.46
>>443
売りたいとは思うが売ってくれるつてが無い。自分には器量もない・・・。Orz
まー、まだ製作中だからクオリティもまだまだだし。欲しかったらソース上げるけど。
ゲー作版でバザールしようとかとも思ってたし。

>>444
Yes!! PG始めた動機もそうだからね。

>>445
実はよく知らないんだ。C#初心者だから。

>>448
仕様書は読めない人間なのそういう情報はありがたい。
自分の範囲でぐぐって、出てこないことにはマッタク無頓着なんだ。Orz
どうにかしたいと思いつつ・・・。
456デフォルトの名無しさん:2012/05/01(火) 00:17:31.44
>>445
MEFとかMAFじゃなくて?
457デフォルトの名無しさん:2012/05/01(火) 00:20:35.26
>>457
無頓着でもいんじゃないの。興味持ったときに調べる力を付ければ。
全てのことに興味を抱けって方が無理だし、関係ないことばっかやってると散漫になる。

それに今回の件は、確かに意識しないとなかなか気づかんことだから、しょうがないと思う。
検索しようにも、日本語で該当する情報が少ないしな。MEFなんかは。
458デフォルトの名無しさん:2012/05/01(火) 00:21:59.48
>>455
C#初心者のソースなんて誰が欲しがるかよw
459デフォルトの名無しさん:2012/05/01(火) 00:23:23.68
>>454
どっちも見たことない

誰もが知ってるような有名なアプリは
大抵C++で書かれてるし。
460デフォルトの名無しさん:2012/05/01(火) 00:23:26.41
めふんまふん
461デフォルトの名無しさん:2012/05/01(火) 00:25:03.93
>>456
なるほ
これがそうなのか
462デフォルトの名無しさん:2012/05/01(火) 00:29:07.63
俺はそろそろ寝るぜ!

>>457
あんた良い人だな。色々有り難う。

>>458
へっへっへ。
バグは潰したけど、3Dは初心者なんだぜ。
これまでどれだけ挫折してきたか!Orz



と、言うわけでおやすみなさ〜い!ノシ
463デフォルトの名無しさん:2012/05/01(火) 00:30:34.68
>>454
客観的なデータが欲しいなら、検索してみ。
検索しても出てこないんなら、ここで聞くだけ無駄。
464デフォルトの名無しさん:2012/05/01(火) 00:30:54.24
>>462
できるの早いな、まだ数ヶ月だろ?

俺はUnityにすることにした
あれはすごい
465デフォルトの名無しさん:2012/05/01(火) 00:31:42.06
海外版の@ITみたいなサイトってあるの?
外人は一体どこで情報収集しているのか気になる
466デフォルトの名無しさん:2012/05/01(火) 00:33:33.78
外人ならMSDN(英語版)をネイティブレベルで読めるだろうし・・・
他にも英語ソースの情報は、腐る程あるんじゃ?
467デフォルトの名無しさん:2012/05/01(火) 00:33:54.08
@ITで収拾できる情報なんて高が知れてるだろ・・・
C#だってキーワードだけで検索すりゃあ大抵が英語のページじゃないか。
そういうページたちを検索して収集してるんだろうよ
468デフォルトの名無しさん:2012/05/01(火) 00:38:09.97
@ITみたいなぐちゃぐちゃなサイトは海外では作られませんセンス的に
469デフォルトの名無しさん:2012/05/01(火) 00:40:26.47
MSDNの油断できないところは
英語サイト自体が間違っててもそれが何年も直されないこと
470デフォルトの名無しさん:2012/05/01(火) 00:41:00.51
グチャグチャかどうかは置いておくとしても、
作りっぱなしの放置状態で、アレで「IT」を名乗ってるんだから、

日本のITの実態をよく表した素晴らしい状態だと思います。
471デフォルトの名無しさん:2012/05/01(火) 00:41:22.50
外人は2chをソースにしてるって聞いたよ
ソースは2ch
472デフォルトの名無しさん:2012/05/01(火) 00:42:37.26
適当にY@IT
473デフォルトの名無しさん:2012/05/01(火) 00:43:48.88
IBindingListViewのFilterって、
DataTableくらいしか実装例をしらんのだけど、
他にList<T>みたいなジェネリックリストに対して
実装してる例というか、実装するのに役立つ情報ってないかな。

BindingList系のインターフェースで、あれだけ唯一難易度高すぎるし、
情報が少なすぎて困っている。
474デフォルトの名無しさん:2012/05/01(火) 00:47:37.16
>>473
データバインドとかそこらへんは、あまり情報無くて苦労したなー。
というか未だにほとんどわからん。
それと複雑過ぎる。
475デフォルトの名無しさん:2012/05/01(火) 01:04:36.89
>>464
2Dのアフィン変換書いて色々と拡大縮小回転してると目覚めるよ。
自分はベクタのシューティング試作して色々覚えた。
そう、以下の数行が自分を変えたのだ!!これ結構マジな話。
ttp://ideone.com/jxyWV

あと。
C#自体は2年くらいかな。XNAは3ヶ月くらいかな。
C++歴はもっと長いし、あと、DXの挫折歴は長いよ!!!Orz
んで、C#の生産性はすごいよ。マジで。

っと。ねるんだった。おやすみなさ〜い。
476デフォルトの名無しさん:2012/05/01(火) 01:10:07.55
477デフォルトの名無しさん:2012/05/01(火) 01:11:18.53
2年は初心者とはいわないな
478デフォルトの名無しさん:2012/05/01(火) 01:12:47.42
ExpressionBlendの文字をみると
ネタかと思ってしまう
479デフォルトの名無しさん:2012/05/01(火) 01:26:29.98
textBox1.Name = "これはラベルです";
textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
textBox1.ReadOnly = true;
もうこれからはラベルに存在意義は無いw
480デフォルトの名無しさん:2012/05/01(火) 01:39:31.84
こんな感じで外人に質問したら教えてくれるかな?
Where did u gettin What about Tutorial of ur source code on the WEB site
481デフォルトの名無しさん:2012/05/01(火) 01:41:05.27
想像を絶するめちゃくちゃさ
何語?
482デフォルトの名無しさん:2012/05/01(火) 01:41:12.59
何人に聞くつもりだ?w
483デフォルトの名無しさん:2012/05/01(火) 01:44:25.47
中学生とかだろ。とりあえずそれで聞いてみれば?
通じなかったら相手が何か言ってくれるよ。
484デフォルトの名無しさん:2012/05/01(火) 01:44:58.28
if u want tell me. let me know.
485デフォルトの名無しさん:2012/05/01(火) 01:50:06.38
プログラム書くのも苦労しそうな英語力だなw
486デフォルトの名無しさん:2012/05/01(火) 01:51:28.14
添削まだですか?
487デフォルトの名無しさん:2012/05/01(火) 01:55:22.51
How did u grow up great Programer.tell me What u been reference the sweet Tutorial site.

これでどうかな?
488デフォルトの名無しさん:2012/05/01(火) 02:16:22.29
我想故我在
489デフォルトの名無しさん:2012/05/01(火) 02:22:05.00
プログラミング言語に国境無し!
490デフォルトの名無しさん:2012/05/01(火) 09:16:18.59
ものすごく失礼な聴き方になってるのに、気取ってuとかやめれ

491デフォルトの名無しさん:2012/05/01(火) 11:38:17.85
英語出来ないくせに、ブロークンイングリッシュ使おうとする阿呆がいると聞いて
492デフォルトの名無しさん:2012/05/01(火) 11:55:08.74
>>487
今は偉大じゃないんですね、わかります
493デフォルトの名無しさん:2012/05/01(火) 12:05:10.16
>>492
馬鹿が面白いことを言おうとか思わない方が身のためだと思うw
494デフォルトの名無しさん:2012/05/01(火) 13:27:42.18
String型と同じように利用できる独自の型は作れないですか?

CustomString cs="";

メソッドの引数がstringなんだけど、URLだったり、名前だったり様々なので
間違った文字列が入力されないようにしたいんですが
495デフォルトの名無しさん:2012/05/01(火) 13:31:36.65
イミフ
496デフォルトの名無しさん:2012/05/01(火) 13:36:04.62
>>494
間違った文字列が入力されたら例外じゃ遅くなるし、実装としては代入してエラーならfalseが返るメソッドってのが実用的だよね
そうすると普通のクラスで実装した方が現実的だと思うよ
497デフォルトの名無しさん:2012/05/01(火) 13:40:38.35
戻り値があるんですが、nullでもいいですか?
498デフォルトの名無しさん:2012/05/01(火) 13:41:17.05
ええよぉ〜
499デフォルトの名無しさん:2012/05/01(火) 13:42:14.67
>>494
独自に作れますよ。
500デフォルトの名無しさん:2012/05/01(火) 13:48:45.89
>>464
Validating/Validatedでおk、ってなりそうだな。
CUIなら別だけど。

>>497
これで正確な答えを出せる奴がいるのんかw
501デフォルトの名無しさん:2012/05/01(火) 13:50:53.30
>>494
enum StringValidationType {
 // 割愛
}
interface IValidationString {
 bool IsValid { get; }
 StringValidationType { get; set; }
 string Value { get; set; }
}
このインターフェースを実装するイメージでおk
502デフォルトの名無しさん:2012/05/01(火) 20:10:12.40
ObservableCollection<T>の存在を今日はじめて知ったよ
今まで自分でこつこつイベント実装してたのが馬鹿らしい

C#初心者の皆さんは標準ライブラリをどこまで網羅しているんですか
503デフォルトの名無しさん:2012/05/01(火) 20:12:28.61
そんなもの網羅するより検索が上手くなった方が100倍いい
504デフォルトの名無しさん:2012/05/01(火) 20:14:28.42
この何かとググレなんていうけど、実際に仕事でやってる奴からすれば
お客様のもとでデバッグさせて頂いているときなんて、かんたんにインターネッツに接続できないんだぞ
505デフォルトの名無しさん:2012/05/01(火) 20:15:05.25
IT土方の話はしていない
お前らは土に埋まって死んでろ
506デフォルトの名無しさん:2012/05/01(火) 20:17:22.25
>お客様のもとでデバッグさせて頂いているときなんて、かんたんにインターネッツに接続できないんだぞ

だからなんだとしか言いようがない。
だから何なんだ。
507デフォルトの名無しさん:2012/05/01(火) 20:18:46.41
だから検索ばっかりやってても、書けるようにはならないってこと

みなまで言わなきゃわからんか・・・
508デフォルトの名無しさん:2012/05/01(火) 20:19:08.34
かんたんにインターネッツに接続できないけど2chで質問はできるということを言いたいのでは?
509デフォルトの名無しさん:2012/05/01(火) 20:21:48.88
そうやっていつまでも自分で答えを見つけられるようにはならんのですねえ
他人を利用して書けるようになる
実に素晴らしいですね
510デフォルトの名無しさん:2012/05/01(火) 20:23:28.71
みながインターネットにアクセスできない職場で働いてるわけではないでよ。
そんな極一部を考慮する必要性はない。
511デフォルトの名無しさん:2012/05/01(火) 20:24:31.36
少なくともこんなスレで質問するよりはマシ
512デフォルトの名無しさん:2012/05/01(火) 20:27:44.71
嫌なら転職しろよ。
いつお前にそんな仕事しろと頼んだ。
自分が選んだ境遇を関係ない人間に対しての言い訳に使うな。
513デフォルトの名無しさん:2012/05/01(火) 20:28:23.31
昔デルファイスレに質問するだけで作り上げたツールをフリーソフトで公開して大人気になったことがあるw
514デフォルトの名無しさん:2012/05/01(火) 20:31:01.55
ちょっと高度になるとどーせお前ら答えられないもんな
聞くだけ無駄過ぎる
515デフォルトの名無しさん:2012/05/01(火) 20:33:27.75
昨日の釣りは見事だった
516デフォルトの名無しさん:2012/05/01(火) 20:39:01.62
Bitmapオブジェクトに展開せずに画像を読み込む方法はありませんか?
画像を大量(1万枚/日)に処理したいのですが、Bitmapを使うとGCがすごい勢いで動いてしまいます
517デフォルトの名無しさん:2012/05/01(火) 20:39:13.64
>>510
お客様のもとでっていってんじゃん

部外者に接続させてくれるような会社はまずないよ > 学生さんw
518デフォルトの名無しさん:2012/05/01(火) 20:42:33.96
語彙の乏しい奴ほど学生認定したがる。これ豆な。
519デフォルトの名無しさん:2012/05/01(火) 20:44:23.52
まぁ、検索して他人の書いたコードを紹介するぐらいしかできない奴なんて学生以下だがなw
520デフォルトの名無しさん:2012/05/01(火) 20:44:25.66
>>516
無い
嘘じゃないぞ
本当にそれ以外の方法は無い
libjpegとかgiflibとかlibpngで読み込むしかない

学生笑ってられるなら幸せだな
521デフォルトの名無しさん:2012/05/01(火) 20:48:54.72
まあ土方なんて学生未満だよね
学生はまだ新卒カードが切れるからね
522デフォルトの名無しさん:2012/05/01(火) 20:51:34.10
>>520
どれも検索したらC言語みたいで難しそうですね。
とりあえずやってみます。
523デフォルトの名無しさん:2012/05/01(火) 20:56:04.36
インターレースpng以外はそんなに難しくない…はず

最近同じ質問多いような気がする
524デフォルトの名無しさん:2012/05/01(火) 21:02:58.57
画像処理は初心者向けプログラムとしては定番。
525デフォルトの名無しさん:2012/05/01(火) 21:14:06.63
1万枚/日って言うほど大量じゃない気がするが、どうか。
526デフォルトの名無しさん:2012/05/01(火) 21:23:44.91
どうでもいいわ
527デフォルトの名無しさん:2012/05/01(火) 21:34:49.13
一枚一秒で三時間ちょいか。余程画像がでかいのか?
528デフォルトの名無しさん:2012/05/01(火) 21:49:38.32
GCがガンガン動くって言うくらいだから10スレッドくらい起動してやってんじゃないか。
529デフォルトの名無しさん:2012/05/01(火) 22:03:49.58
みてみて〜。アフィン変換で男のロマンやってみたなの〜!!
ttp://ideone.com/NAAKO

eventって書いてある奴はデザイナからイベント登録してね。☆ミ
あー、満足!!!

そんじゃーね!!
530デフォルトの名無しさん:2012/05/01(火) 22:04:53.26
でっていう。
531デフォルトの名無しさん:2012/05/01(火) 22:08:44.24
     /ニYニヽ
    /( ゚ )( ゚ )ヽ
   /::::⌒`´⌒::::\   
  | ,-)___(-、|
  | l   |-┬-|  l |
   \   `ー'´   /
532デフォルトの名無しさん:2012/05/01(火) 22:19:37.74
ほ〜らクソスレだよ〜
533デフォルトの名無しさん:2012/05/01(火) 22:30:10.36
>>517
え?
534デフォルトの名無しさん:2012/05/01(火) 22:30:49.02
触るな
535デフォルトの名無しさん:2012/05/01(火) 23:32:38.89
超スクープ



 群馬県警によると、自動車運転過失致死傷容疑で逮捕された河野化山(こうの・かざん)容疑者(43)は
元中国籍で93年12月に来日、94年に日本国籍を取得したと供述している。通常の日常会話はできるが、
難しい日本語は理解できないといい、取り調べは中国語通訳を通じて行っている。中国残留孤児の家族という情報もある。

 住民基本台帳上の自宅は千葉市中央区の住宅街にある。3階建ての1、2階は中国料理店。だが県警に
よると、現在の居住実態は不明。近所の女性は「あいさつをしてくれておとなしい人だった」と話す。

 この女性らによると、以前は妻が料理店を切り盛りしていた。だが現在は店を賃貸しているとみられるという。

 同店と取引がある千葉県内の男性によると、河野容疑者は自身の職業を「バスを所有し旅行会社も経営
しているオーナー」と説明していた。この男性は事故後初めて「バスの運転手」との報道に接し、驚いたという。

http://mainichi.jp/select/news/20120502k0000m040075000c.html
536デフォルトの名無しさん:2012/05/01(火) 23:38:55.09
まとめ

【ツアー会社】
大阪府豊中市の旅行代理店「ハーヴェストホールディングス」は創価企業。
乗務員の1日の運転時間が基準を超えていたなど行政指導を過去に受けているブラック企業。
http://long.2chan.tv/jlab-long/s/long1335787424046.jpg
(創価三色旗)

【バス会社】
千葉県印西市のバス会社「陸援隊」は過去2度も白バス営業で摘発されたことがある。
この会社は中国人ツアー向けで繁盛してた。震災で中国人ツアー客の仕事が8割減り、急遽夜行バスに進出。

【運転手】
バスの運転手も日本語が不自由な元中国人(1994年に日本国籍を取得)。
本業は中華料理屋経営(あるいは内装業?)。
537デフォルトの名無しさん:2012/05/01(火) 23:45:48.47
名前が変だと思ったら帰化人か
まあでも多分反日だから乗客殺したったとか無いだろ
538デフォルトの名無しさん:2012/05/01(火) 23:47:25.91
>>537
スレ違いのコピペは無視してくれ
539デフォルトの名無しさん:2012/05/02(水) 03:28:45.17
ファイル名で"c:\test\test.txt"みたいな時に
前後の"も文字列に含めたいときはどう表現すればいいのですか?
540デフォルトの名無しさん:2012/05/02(水) 04:44:11.74
var res = string.Format( @""{0}"", "c:\ggrks\\sine.txt" );
541デフォルトの名無しさん:2012/05/02(水) 04:44:30.83
@"c:\test\test.txt"
542デフォルトの名無しさん:2012/05/02(水) 06:29:49.86
@"""c:\test\test.txt""";

@を使わないなら

"\"c:\\test\\test.txt\"";

>>540
>>541
カスはすっこんでろ
543デフォルトの名無しさん:2012/05/02(水) 06:33:08.85
C#なんでもできるけど、特化と比べると物足りない
非常に中途半端
544デフォルトの名無しさん:2012/05/02(水) 08:55:28.45
用途が決まってるならそれに特化した物の方が便利でないとおかしいだろ。
545デフォルトの名無しさん:2012/05/02(水) 08:56:50.09
なんだ?
RPGツクールとC#を比べて、C#だとRPG作りにくいと言ってるようなものか?
546デフォルトの名無しさん:2012/05/02(水) 09:28:00.31
「東海」署名殺到でホワイトハウスのHPダウン 米が韓国からのアクセス禁止に
http://news.nicovideo.jp/watch/nw252021


4月下旬、韓国のネットユーザーが、米国のホワイトハウスHPに日本海から「東海」に表記を変更するよう求めて大量アクセスをし、
サーバーをダウンさせた問題で、米国側が一時韓国のアクセスを遮断していたことが分かった。

騒動は、在米韓国人が組織する「バージニア韓国人会」が3月22日、ホワイトハウスHPに日本海から東海への表記変更を求める
請願書を寄せたことがきっかけとなった。在米韓国人らは、国内外の韓国人にこの請願書に署名するよう呼びかけ、
4月4日までに2万5000人以上の署名が集まった。

しかし、4月13日にミシガン州の「ナリヒラ」と称する人物が、韓国の主張に反論する請願書を掲載。
そのため韓国では署名活動に火が付き、韓国の各メディアも記事を通じて署名を誘導するなどしたことから、
ホワイトハウスHPには前代未聞のアクセスが殺到することになった。

産経新聞の報道によると、サーバーは4月20日にダウン。
ホワイトハウスが書き込みの発信元のIPアドレスを調べたところ、大半が韓国だったことから一時韓国からのアクセスを禁止したという。
547デフォルトの名無しさん:2012/05/02(水) 09:28:33.86
そういうことだが何か?
今C#やっているやついるのか?
サンプルもフリーソフトも少ないし
みんなどこいったのよ
548デフォルトの名無しさん:2012/05/02(水) 09:42:29.17
できましたーと思って間に文字列の変数挟んだら
" + filename + "ってなってしまいました
549デフォルトの名無しさん:2012/05/02(水) 09:54:37.59
WinAPIのRegCreateKeyExを使いたいのですが、エラー6(ハンドルが無効)が帰ってきます。
コードですが以下のように定義しています。どうすれば正常に動作できるのでしょうか・・・?
RegOpenKeyExとRegQueryValueExとRegCloseKeyはうまく動いたのですが・・・


[DllImport("advapi32.dll", EntryPoint = "RegCreateKeyExW")]
public static extern uint RegCreateKeyEx
(IntPtr hKey, string lpSubKey, int Reserved,
string lpClass, uint dwOptions, uint samDesired,
ref IntPtr lpSecurityAttributes,
out IntPtr phkResult, ref int lpdwDisposition);


IntPtr hKey = IntPtr.Zero;
int disposition = 0;
IntPtr sec = IntPtr.Zero;
RegCreateKeyEx( new IntPtr(unchecked((int)0x80000002)), _registrySubName, 0, null, 0x00000000, 0x0100 | 0xF003F, ref sec, out hKey, ref disposition)
550デフォルトの名無しさん:2012/05/02(水) 09:58:06.72
format c:
551デフォルトの名無しさん:2012/05/02(水) 10:00:18.07
2005年当時はケータイも貧弱でPC使用者はあくまでの一部勢力でしかなく
ネットの影響力などテレビの数分の1だった
しかし昨今のスマホ普及はネット住民を過去最大のペースで激増させている

基本的にスマホはPCでありネット環境なので、
スマホ普及はそのまんまネット人口を増やし既存メディアを削いでいく
ガラケーもPCといえなくもないがインタフェースが貧弱すぎた

新聞発行部数は4000万部、
テレビHUTが60%で7000-8000万程度、
ニコニコ動画の会員は現在2600万人だが、
数年後にはスマホ台数がテレビ視聴人口を超えて国内最大メディアに躍り出る

既存メディアがネットに食いつくされる時代はもうすぐそこに来ている
552デフォルトの名無しさん:2012/05/02(水) 10:06:31.68
C#スレで何を言ってるんだw
553デフォルトの名無しさん:2012/05/02(水) 12:00:01.72
50代くらいの人が最近気づいて書いた文章っぽい
554デフォルトの名無しさん:2012/05/02(水) 12:22:31.88
ニコニコ会員数ってどうやって計測したんだろうな
今まで入会した人すべてだとしたら、実際いるのは10万人程度だろう
555デフォルトの名無しさん:2012/05/02(水) 12:29:01.03
さすがに株主総会で人数言ってるだろ
そっからじゃねえの
556デフォルトの名無しさん:2012/05/02(水) 12:31:55.93
人数とか言ってるけど、正確には、アカウント登録数だしなw
557デフォルトの名無しさん:2012/05/02(水) 12:34:04.14
ニコ生番組数が同時刻に5000ぐらいある
それを見ている奴はせいぜい平均5人程度
ニコ生以外のネタ動画も見ているのはそいつらだろうしな
規制が厳しくなってからはほとんどみなくなったな
たまにゲーム実況見るぐらいだ
558デフォルトの名無しさん:2012/05/02(水) 12:42:57.88
OpenFileDialogを使用して取得したファイル名をTextBoxに表示させて
そのTextBoxはデータバインディングで
txtBox1.DataBindings.Add(new Binding("Text", data , "FileName"));
としているんだけど、このままだとデータが連動せずに
data.FileNameはnullになってしまうんだけど、なんでだろう?
txtBox1.Textにはちゃんとデータは入っている

で、一度TextBoxをクリックするとちゃんとデータが連動して
data.FileNameにもデータが入るんだけど、TextBoxをクリック
せずにちゃんとデータを連動させるにはどうしたらいい?
559デフォルトの名無しさん:2012/05/02(水) 12:48:55.12
>>558
PropatyChanged()はプロパティに追加してる?
560デフォルトの名無しさん:2012/05/02(水) 12:55:14.67
いい加減な回答すんなよ

PropatyChangedってなんだよ
まじうぜー
561デフォルトの名無しさん:2012/05/02(水) 12:58:28.27
>>559
PropatyChangedがわかりません
検索してみると、ほとんどひっかからないのですが

フォーカスを一度TextBoxに移すとちゃんとデータバインディングされるのは
一体どういう理屈なのかよくわからない
Textに値を代入しただけではデータバインディングされない?
562デフォルトの名無しさん:2012/05/02(水) 13:02:24.45
>>561
フォーカスがない間はnull
563デフォルトの名無しさん:2012/05/02(水) 13:03:39.39
DataBindings.AddにDataSourceUpdateMode.OnPropertyChangedを追加
TextBoxは既定でOnValidationになってる
564デフォルトの名無しさん:2012/05/02(水) 13:08:27.30
以上のことが書いてあるサイトを探してください。
565デフォルトの名無しさん:2012/05/02(水) 13:09:27.64
データバインディングの仕組みは、INotifyPropertyChangedというインターフェースが
実装されていること。
実装に必要なメンバーは、基本的にこれだけ。
public event PropertyChangedEventHandler PropertyChanged;
一般的なコントロールは、デフォルトで実装されてるので敢えて実装する必要は、ない↑
内部クラスからPropertyChangedを発火させることでプロパティの変更を通知することができる。
if( PropertyChanged != null )
PropertyChanged( this , new PropertyChangedEventArgs( propertyName ) );

コントロールをデータバインディングするときは、だいたいこんな感じ
textbox1.DataBindings.Add( "Text" , dataSource , "TextSource", true , DataSourceUpdateMode.OnPropertyChanged );
dataSourceは、データソースとなるオブジェクト。
これは、textbox1.TextをdataSource.TextSourceにバインドさせる。更新のタイミングは、プロパティが変更されたとき。
566デフォルトの名無しさん:2012/05/02(水) 13:11:27.65
>>563-565
OnPropertyChangedを設定することで出来ました

ありがとうございました
567デフォルトの名無しさん:2012/05/02(水) 14:12:28.24
>>549
UACじゃねーのとエスパー
568デフォルトの名無しさん:2012/05/02(水) 18:16:20.18
dataGridView1 に配列データを格納させるプログラムで苦戦してます。
以下のコードで問題ないと思ったのですが、なぜか最終行しかデータが入力されません。
最初のforループ内の行追加は問題なく行われてます。なにか忘れているんでしょうか。  
識者の方、どうかご助力願います。
****以下コード****
var Arr = Rng; //配列データ
int RCount = Rng.Rows.Count; //データ数
string v; //格納用文字列データ
for (int r = 1; r <= RCount; r++)
{
this.dataGridView1.Rows.Add(); //行追加
for (int c = 1; c <= 12; c++)
{
v =Arr[r, c].value == null ? null : Arr[r, c].value.ToString();
//データ入力
this.dataGridView1.Rows[r].Cells[c-1].Value = v;
}
};
569デフォルトの名無しさん:2012/05/02(水) 18:41:32.47
TVタレントから政治家への転身 外国人には実に奇妙との声

TVタレントから政治家への転身 外国人には実に奇妙との声- NEWSポストセブン(2012年5月2日16時01分)
現在の日本の改革者の象徴ともいえる橋下徹・大阪市長だが、この「橋下人気」を海外の識者はどう分析するのか。
30年以上にわたり日本政治、日本と国際社会の関係を取材し続けてきたオランダ人ジャーナリストの
カレル・ヴァン・ウォルフレン氏(アムステルダム大学名誉教授)が読み解く。

 * * *

既存の政治に対して有権者の不満が高まった時、人々は特定の政治家もしくは政治グループに対し、そのはけ口を求めがちだ。
そこで台頭するのが「ポピュリズム」である。現在、橋下徹という政治家が、
大阪のみならず日本全国で期待を集めているのも、まさにポピュリズムの典型だ。

私はポピュリズムを全面否定はしない。有権者が政治に不満を抱くのは、将来に不安が大きいからだ。
ポピュリズムに乗って登場する政治家にも、その不安と真摯に向き合い、解決策を見つけようと努力する者がいる。
だが、日本では哲学や理念が感じられない「偽りのポピュリズム(False Populism)」が広がりやすい。

外国人の目に映る日本政治は、実に奇妙なものだ。テレビを通じて有名になった“タレント”たちが、
いとも簡単に政治家へと転身していく。こんなことは欧米ではまずない。一方で、政治家自身もテレビを利用し、
自らの知名度を高めようとする。テレビは「偽りのポピュリズム」を増幅し、人々を間違った方向へと導く元凶である。

http://www.news-postseven.com/archives/20120502_105588.html
570デフォルトの名無しさん:2012/05/02(水) 18:46:21.95
>>568
試して欲しかったら貼り付けるだけで動くコード貼れよ
わざわざデータ用意すると思うのか

当てずっぽうで回答されて大幅に遠回りになるだけだぞ
571デフォルトの名無しさん:2012/05/02(水) 18:51:55.75
>>570
読めねーなら黙っとけよw
572デフォルトの名無しさん:2012/05/02(水) 18:53:33.29
つか添え字を1から使ってるからだろ
動かすまでもない
573デフォルトの名無しさん:2012/05/02(水) 18:55:29.32
添え字ってwwwwwwwwwwwwwwwwwwwwwwwwwww


574デフォルトの名無しさん:2012/05/02(水) 18:56:45.97
この草はまさかてんじとか読んでるのか?
http://www.google.co.jp/search?hl=ja&q=%E6%B7%BB%E3%81%88%E5%AD%97
575デフォルトの名無しさん:2012/05/02(水) 18:59:49.71
AllowUserToAddRowsをfalseにすればどういうことか分かると思うよ
576568:2012/05/02(水) 19:11:46.88
すみません。長くなりますが改めて、以下コードです。
指定したエクセルファイルからデータを配列として取得しています。
Form1にはdataGridView1のみが存在し、これにはテキスト型のカラムを12設定しています。

using Excel = Microsoft.Office.Interop.Excel; //Excel をインポート
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();


//対象ファイルの指定
string FName = "D:\\test\\test.xls";
string ShName = "testdata";

Excel._Application oXls; //Excel オブジェクト
Excel.Workbook oWBook; //Workbook オブジェクト
Excel.Worksheet oSheet; //Worksheet オブジェクト
577568:2012/05/02(水) 19:12:06.07
oXls = new Excel.Application();
//oXls.Visible = true; //Excel ウインドウ表示

//Workbookオブジェクトの取得 (Excelファイルオープン)
oWBook = (Excel.Workbook)(oXls.Workbooks.Open(
FName, // オープンするExcelファイル名
Type.Missing, // (省略可能)UpdateLinks (0 / 1 / 2 / 3)
Type.Missing, // (省略可能)ReadOnly (True / False )
Type.Missing, // (省略可能)Format
// 1:タブ / 2:カンマ (,) / 3:スペース / 4:セミコロン (;)
// 5:なし / 6:引数 Delimiterで指定された文字
Type.Missing, // (省略可能)Password
Type.Missing, // (省略可能)WriteResPassword
Type.Missing, // (省略可能)IgnoreReadOnlyRecommended
Type.Missing, // (省略可能)Origin
Type.Missing, // (省略可能)Delimiter
Type.Missing, // (省略可能)Editable
Type.Missing, // (省略可能)Notify
Type.Missing, // (省略可能)Converter
Type.Missing, // (省略可能)AddToMru
Type.Missing, // (省略可能)Local
Type.Missing // (省略可能)CorruptLoad
));

//指定したシート名のインデックス取得メソッドにより、
//インデックスを指定してシート取得
oSheet = (Excel.Worksheet)oWBook.Sheets[getSheetIndex(ShName,oWBook.Sheets)];
578568:2012/05/02(水) 19:12:39.28
//予定データシートのデータ領域を配列取得
Excel.Range sRng = (Excel.Range)oSheet.get_Range("L2");
Excel.Range eRng = (Excel.Range)oSheet.get_Range("A1").get_End(Excel.XlDirection.xlDown);
Excel.Range Rng = oSheet.get_Range(sRng, eRng);
var Arr = Rng;

//dataGridView に配列格納
int RCount = Rng.Rows.Count;

string strA =
Arr[RCount, 2].value == null ?
null:
Arr[RCount, 2].value.ToString();

dataGridView1.Rows.Clear();

string v;
for (int r = 1; r <= RCount; r++)
{
this.dataGridView1.Rows.Add();
this.dataGridView1.Rows[r].Cells[12 - 1].Value = "Test";
for (int c = 1; c <= 12; c++)
{
v = Arr[r, c].value == null ? null : Arr[r, c].value.ToString();
//this.dataGridView1.Rows[r].Cells[c-1].Value = v;
}
};
579568:2012/05/02(水) 19:13:43.17
//Excel 終了
oWBook.Close(Type.Missing, Type.Missing, Type.Missing);
oXls.Quit();

//セルの自動調整
this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

}

//指定したワークシート名のインデックスを返すメソッド
private int getSheetIndex(string ShName, Excel.Sheets shs)
{
int i = 0;
foreach (Excel.Worksheet sh in shs)
{
if (ShName == sh.Name) return i + 1;
i += 1;
}
return 0;
}
}
}
580デフォルトの名無しさん:2012/05/02(水) 19:14:17.27
>>568
>>572

ここで質問する奴らは、回答レスだけ見えない病気か何かなの?
581デフォルトの名無しさん:2012/05/02(水) 19:18:47.38
リロードしろよ
582568:2012/05/02(水) 19:22:09.09
>>572
もう少し詳しく教えてもらえますか?
ヘッダーを含んだ配列データの性質上、1から始めた方がよいと思ったのですが、
よろしくないのでしょうか?

>>575
AllowUserToAddRowsにしたら、インデックスが範囲を超えています、というエラーが出ました
すみません。msdnを探ってみたのですが、どういうことなのかまだちょっと内容がよく呑み込めてません。
ちなみにデータのバインディングはしていません。

>>581
すみません。うっかりしてました。
583デフォルトの名無しさん:2012/05/02(水) 19:24:44.93
元の配列とデータグリッドは区別して考えろ
データグリッドはお前の配列がヘッダを含んでるかどうかなんて知ったこっちやない
584デフォルトの名無しさん:2012/05/02(水) 19:27:12.15
DataGridViewのRow番号は0から始まるんですよ
そう難しい話ではない
585デフォルトの名無しさん:2012/05/02(水) 19:27:42.93
for (int r = 0; r < RCount; r++)
 {
  this.dataGridView1.Rows.Add();
  for (int c = 0; c < 12; c++)
  {
   v = Arr[r+1, c+1].value == null ? null : Arr[r+1, c+1].value.ToString();
   this.dataGridView1.Rows[r].Cells[c].Value = v;
  }
};
これで満足か。
586デフォルトの名無しさん:2012/05/02(水) 19:29:53.61
てきとーな、回答だなw
587デフォルトの名無しさん:2012/05/02(水) 19:35:28.05
>>586
じゃあ適当じゃない回答をたのむわ
588 忍法帖【Lv=2,xxxP】 :2012/05/02(水) 19:42:22.17
589デフォルトの名無しさん:2012/05/02(水) 19:48:27.16
適当=ふさわしい
590デフォルトの名無しさん:2012/05/02(水) 20:12:26.82
591568:2012/05/02(水) 20:25:05.16

>>583
>>584
>>585
ありがとうございました。頂いたアドバイスをもとにコードを直したら、うまく表示できました。
すごく助かりました。
DataGridView はこれからも使いそうなコントロールなので、もっと勉強します。

>>590
まさに私にとって役立ちそうな情報ありがとうございます。
調べてみます。
592デフォルトの名無しさん:2012/05/02(水) 20:49:36.47
いいよお礼なんて
わからない事があったらまた質問しに来なさい
593デフォルトの名無しさん:2012/05/02(水) 21:27:12.21
韓国 「イギリスは日本の味方だということが分かった」

世界が「日本海」単独表記を維持 国際水路機関、韓国側の反応は?―「韓国海にしてほしい」

韓国はこれまで加盟国に「東海」呼称の正当性を訴えるなど、積極的な活動を展開。韓国国民もインターネットを通じて
さまざまな活動を繰り広げ、最近では米政府のHPに請願書を送ったりもしていた。
日本海」の単独呼称が維持されることについて、韓国のインターネット上はどのような反応を示しているのだろうか。

「なぜ英国は韓国の見方をしないんだ」

「もう面倒だから日本海以外の名前にしよう」

「韓国海とか大韓民国海が良いと思う」

getnews.jp/archives/198939
594デフォルトの名無しさん:2012/05/02(水) 21:29:29.97
韓国の紙幣に韓国海が登場
http://imgnews.naver.com/image/032/2012/05/02/l_2012050201000282300018161_0_20120502165204.jpg


                            ,,fヽy
                       rヽ__)`~ i'"   ・           ゚
     *              /    ,,ノ          *
               .    <'"    ,ィ'~
                   ` >∧__∧ヽ   ウェー、ハッハッハ !!!
           ・        <ヽ`∀´>ヽ   世界中が ウリナラ から
                     ~ヽ,   ヽ,    孤立してるニダ !!!!    *
         .       ・     <     }          。
    *                  )     〉    ゚
                      〈   _,,,/
             ゚         ´‐'"~   .            ・

          。                                  *

              _,..-‐''''""~´ ̄ ̄ ̄ ̄~"'''‐-,.、
 .         ,.-‐''" ──‐‐''",.、.:.:.:.:.:.:.:\、.:.:.:.:.:.:.:~"'‐-、
        ,.‐''"''''""~´::::::::::::::::::::::\\:::::::::::::::"'''''\"''--、.:.:.゙''‐.、
      ,.‐'":::::::::::::::::::::::::::::::::::::::::::::::::゙''‐、''l:::::__,....-‐'''"    ''.:.:.:::゙'ヽ、
    ,.‐'"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~"‐--‐‐,        ''.:.:.:.  \
  /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/"          .:.:.:.  ヽ、
 ,."::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/                .ヽ



595デフォルトの名無しさん:2012/05/02(水) 22:09:48.61
最近のコピペの中では一番ワラタ
596デフォルトの名無しさん:2012/05/02(水) 22:21:04.81
へー、日本は普段使うのは1万までなのに韓国は10万なんてあるんだw
597デフォルトの名無しさん:2012/05/03(木) 01:21:03.36
貨幣価値が・・ほら・・・
598デフォルトの名無しさん:2012/05/03(木) 01:33:41.70
MEFで、プラグインをバージョン対応したい場合、どういう構造にすればいいだろうか。

普通に展開すると、アセンブリのバージョンが違うインタフェースは読み込めないけど、
読み込みだけはできるようにして、バージョンが古いからこのプラグインはDisable、みたいな一覧を表示したい。
プラグイン毎にWebサイトへのリンクを吐かせて、一覧にそのリンクを表示しておく、みたいな対応が出来たらうれしいんだけど、
実装方法が全く思いつかない。

PluginCore.dll
 + interface IPlugin // プラグインの共通インタフェース。バージョンにより変化する可能性がある。

PluginMeta.dll
 + interface IPluginMetadata // プラグインのメタ情報(開発されたPluginCode.dllのバージョン、作者、プラグイン名、WebサイトURLなど

みたいな感じにして、GetExports()でメタ情報だけ受け取ろうと思ったけど、
どっちみちIPluginのTypeが、アセンブリのバージョン違いで一致しないから、
GetExportsに乗ってくれなくて表示できないかTypeLoadException起こすんだよね・・・
599デフォルトの名無しさん:2012/05/03(木) 01:40:33.80
あんまりいい方法じゃないけど、
インターフェースのバージョン全部をホストが一応持ってる。っていうのしか思いつかない。

じゃないと読み込めなくね?
600デフォルトの名無しさん:2012/05/03(木) 01:56:45.88
>>599
やっぱそうなるか・・・
ある意味邪道にして正攻法だよな。

それ以外の方法が思いつく人がいれば、出して欲しいだけども・・・
601デフォルトの名無しさん:2012/05/03(木) 03:39:30.05
iniファイルでdll管理
602デフォルトの名無しさん:2012/05/03(木) 06:59:28.72
アセンブリバージョンは固定でファイルバージョンだけ上げる
603デフォルトの名無しさん:2012/05/03(木) 07:18:14.17
void IEnamerable<string> Hoge()
{
var str="";
bool result=pakeratta(str);
if(result)
yield return str;
}

これ普通「値を返さない」とエラーが出そうなもんだけどそうじゃないんですね
これやって何か問題あったりしますか?
604デフォルトの名無しさん:2012/05/03(木) 07:25:01.25
うわあ
if(result)
yield return str;
else
//ここの値の設定が完全に無視されてるorz
605デフォルトの名無しさん:2012/05/03(木) 07:31:53.97
よくわかりませんが、result == falseになってるのでは?
ちなみにyield使ったIEnamerable<T>は、値を返す必要はない。
空のIEnamerableが返されるだけ。
606デフォルトの名無しさん:2012/05/03(木) 08:19:57.92
falseの時も処理して欲しかったんです
ツリー構造を記録したtextを読み込ませたいんだけど
イテレーターを使った再起表現が難しすぎる
IEnumerable<Folder> folders;
IEnumerable<SubFolder> SubFolders;
folders.SubFolders;//こういう構造

textはこういう内容
folder名
..subfolder名
folder名
..subfolder名
..subfolder名

void Main()
{
folders=Hoge(text);
}

IEnamerable<string> Hoge(string text)
{
//StringReaderで一行づつ読んでやろうとしたけど、
どう考えても再起表現に使えないとわかり悩んでます
}
607デフォルトの名無しさん:2012/05/03(木) 08:29:37.00
何悩んでるのかさっぱり
608デフォルトの名無しさん:2012/05/03(木) 08:34:56.03
>>606
再帰を使いたいのならIEnamerable<string>じゃなくて、普通にList<string>でも返せばいいだろ
foreachなりLinqから使うとしても、使い勝手は大して変わらない
609デフォルトの名無しさん:2012/05/03(木) 08:35:20.22
これがソースです
http://pastebin.com/bAcEEck7
610デフォルトの名無しさん:2012/05/03(木) 08:36:47.21
>>608
内容が変更されない場合は書き込めないようにIEnumerableを使ったほうがいいとのことなので
それに習った次第です
611デフォルトの名無しさん:2012/05/03(木) 08:36:56.28
まず列挙のイデオムを列挙以外に使うなよ邪道な…
612デフォルトの名無しさん:2012/05/03(木) 08:39:17.25
string返すだけじゃフォルダなのかサブフォルダなのか分からんと思うけど大丈夫なのか?
613デフォルトの名無しさん:2012/05/03(木) 08:39:55.58
内容が変更されない場合に使うべきなのはReadOnlyCollectionだろ…
誰だそれ教えた奴
C#の#を頭に突き刺して死ぬべき
614デフォルトの名無しさん:2012/05/03(木) 08:40:37.91
615デフォルトの名無しさん:2012/05/03(木) 08:43:24.90
>データ列に対して、前から順に1要素ずつ読む操作だけしかしないことが多いです。
> そういう場合、List<T> クラスや配列ではなく、IEnumerable<T> インターフェイスを使うようにしましょう。

どこにもそんなこと書いてないように見える
616606:2012/05/03(木) 08:43:56.54
>>612
すいませんあれは間違いでした
正しくはこれ>>609

>>611
どういう意味ですか?
617デフォルトの名無しさん:2012/05/03(木) 08:47:34.03
yield returnを使った場合実際のコードは見た目通りになってないからな
見た目で判断してはいかん
618606:2012/05/03(木) 08:48:08.59
>>615
どう違うんでしょうか?読み取り専用というふうなニュアンスに思えるんですが
619デフォルトの名無しさん:2012/05/03(木) 08:48:27.07
string返すんじゃなくて、一旦、構造体にでも入れて
フォルダかファイルかサブフォルダかわかるようにしとけば良いんじゃ?
620デフォルトの名無しさん:2012/05/03(木) 08:53:19.76
>>614
List<T>でもIEnumerable<T>でもどちらでも良い場合は、IEnumerable<T>を使えってだけで
List<T>を返した方が良い場合も当然ある
もし再帰が必要ならList<T>返せば良い
621デフォルトの名無しさん:2012/05/03(木) 08:55:57.63
読み取るだけなら、IEnumerable<T>で良い。
追加・削除が必要ならIList<T>を返す。
622デフォルトの名無しさん:2012/05/03(木) 08:58:20.53
あとインデクサ使いたい場合、何度も読み取る場合もイテレータじゃ駄目
正確にはyield returnで生成したイテレータじゃ駄目
Resetをサポートしないから
623デフォルトの名無しさん:2012/05/03(木) 09:04:00.80
いやそんな抽象論はどうでもいいんだよ
今回の場合はyield return使う必要あんのかって話で

別に
return (IEnumerable<Folder>)folders;
としてもいいだろ
624デフォルトの名無しさん:2012/05/03(木) 09:04:09.03
データソースがファイルから読み取ったデータだとすると、
yieldなり使って、IEnumerable<T>で返しておいて、
必要なら.ToList()とか.ToArray()すれば良い。
625デフォルトの名無しさん:2012/05/03(木) 09:08:16.54
//ここが実行されないのでサブフォルダーがnullのまま

ってあるけどさ
yield returnは値が返された時点で処理をいったん中断するから
foreachなんかでFoldersを処理するとき、そのFolderのSubFoldersがまだ処理されてないだけじゃないの
626606:2012/05/03(木) 09:08:30.34
>>621
>>609は最初に一回データを初期化するときに処理するだけで
その後このクラスを利用する場合は
public IEnumerable<SubFolder> GetSubFolders(string folderName)
こういう感じで読み取れるようにしたいんです

>>619
Folderクラスで返しています

>>624
ちょっと気になるんですが、イテレーターを使うと
Foldersを利用するたびにファイルからtextを読み込んだりはしませんよね?
(逆にファイルが更新されたら反映されるから便利?)

あと、質問の内容はイテレーターを使うかどうかじゃなくて
else以降が実行されないためにフォルダ構造を作れないことです
フォルダ構造を作って返すにはどうすればいいでしょうか?
627デフォルトの名無しさん:2012/05/03(木) 09:13:27.29
>>626
おたくが尋ねたいのがイテレータを使うかどうかじゃないにしても
イテレータを使ってることでおたくが尋ねたい問題が発生してるんだから仕方ない
628606:2012/05/03(木) 09:15:18.87
>>625
テキストの一行目がフォルダの場合、一旦返却されるから
mainメソッドでforeachで書きだしたとき、subfoldersがnullのままってことですね

>>627
イテレータだと無理ということなんでしょうか?
629デフォルトの名無しさん:2012/05/03(木) 09:16:16.06
だから普通にList<Folder>を返すように書けと
別に戻り値の型は変更しなくていいから
630デフォルトの名無しさん:2012/05/03(木) 09:18:24.81
>>628
書き方による
SubFoldersが処理する前にyield returnを呼ぶ構造になっているのが問題なわけだから
SubFoldersを処理してからyield returnを呼べばいい話だ
631606:2012/05/03(木) 09:19:44.35
>>629
1行目と2行目が逆のことを言っているようなんですが
632606:2012/05/03(木) 09:21:37.31
>>630
そう思ったのですが、そのやり方がわからないので悩んでいるんです
sr.ReadLine()をすると次の行を読み込んでしまうので
次がフォルダ文字列の場合、その時点で繰り返し失敗します
633デフォルトの名無しさん:2012/05/03(木) 09:22:24.20
解決策まとめ

1・Folderに所属するSubFoldersを読み取ってからFolderをyield returnする
2・yield returnを使用せず、List<Folder>に構成をすべて格納してからreturnする

>>631
List<T>はIEnumerable<T>を実装してるから逆でもなんでもないよ
634デフォルトの名無しさん:2012/05/03(木) 09:24:52.47
>>632
フォルダの行を読み込んだときに、1個前に処理したフォルダを返せばいいだけだ
最初と最後は特別扱いする

このくらいは10秒で思いつけ
635デフォルトの名無しさん:2012/05/03(木) 09:26:12.09
どうでも良い時に思いついて肝心な時に思いつかないのは、デフォだ。
636デフォルトの名無しさん:2012/05/03(木) 09:33:00.08
噛み砕いた方がいいレベルのような気がするので解説する

フォルダをf、サブフォルダをsで示す
フォルダのリストが

ffssfs

と並んでいたとして、直前に処理していたフォルダをpとし、pの初期値はnullとする

1つ目のfを処理する。この時はpがnullなのでyield returnしない。1つ目のfを処理したらpに格納する
2つ目のfを処理する。この時はpが1つ目のfなのでyield returnする。2つ目のfを処理したらpに格納する
3つ目のsを処理する。pの子供に格納する。
4つ目のsを処理する。pの子供に格納する。
5つ目のfを処理する。この時はpが2つ目のfなのでyield returnする。5つ目のfを処理したらpに格納する
6つ目のsを処理する。pの子供に格納する。

ここでループを抜ける
pに5つ目のfが残っているのでyield returnする
637606:2012/05/03(木) 09:38:45.04
>>633
1はやり方がわかりません
2の場合,反復子は値を返すことは出来ません。yield returnで返して下さいとなります

>>636
>3つ目のsを処理する。pの子供に格納する。
サブフォルダもIEnumerableなのでできないです
638デフォルトの名無しさん:2012/05/03(木) 09:43:21.09
IEnumerable<Folder> GetFolders(string text)

var subFolders = new List<SubFolder>();

}

提示されたコードではサブフォルダはListになっているように見えますが
幻覚か何かですかね
639デフォルトの名無しさん:2012/05/03(木) 09:45:23.27
よく分かってもいないのに調子こいてイテレータ何か使うからこうなるんだという良い例

くだらんポリシーに縛られず初めからListか何かで書き直してれば既に話は終わってコーヒーブレイクしてたよな
640デフォルトの名無しさん:2012/05/03(木) 09:48:19.65
面倒くさくなったからそろそろ止めとくわ
楽な方法が他にあるのに、なんでわざわざポリシーで苦行を選んだ奴のフォローしてんだって話だよね
641606:2012/05/03(木) 09:51:36.23
>>638
あれは試行錯誤中のもので一度に代入する場合のものです

class Folder
{
public string Name;
public Folder() { }
public Folder(string name)
{
this.Name = name;
}
public IEnumerable<SubFolder> SubFolders;
}

>>606
IEnumerable<Folder> folders;
void Main()
{
folders=Hoge(text);
}
最終的にはこのようにしたいです

>>639
イテレータの学習のためにあえて使っていますし
読み取りだけのコレクションの場合はこの方がいいとのことなので
642デフォルトの名無しさん:2012/05/03(木) 09:52:02.23
VB使い「yield?ふざけんな!VB.NETには、yieldなんて無いんだぞ。」
643636:2012/05/03(木) 09:53:44.43
じゃあ死ぬまで試行錯誤しててくれ。
俺もさすがにパスだわw
644デフォルトの名無しさん:2012/05/03(木) 09:57:42.78
>>641
イテレーターの動作をちゃんと勉強すれば、この課題では使っちゃ行けないことが理解出来ると思うよ
イテレーターはコレクションを作るんじゃなくて呼び出されたタイミングで一回分のデータを作ってyieldで一端動作を停止する
で、もう一度呼び出されると次のyieldまで実行って動作を繰り返す
だからフォルダをyieldで返したタイミングではサブフォルダは絶対作られません
645デフォルトの名無しさん:2012/05/03(木) 09:58:25.52
yieldにしろ、イテレータにしろ、何処で使うべきかを
考慮せずにただ学習のためってなら何れ転ける。
646デフォルトの名無しさん:2012/05/03(木) 09:59:31.35
終わりがないのが終わり
それが黄金週間
647606:2012/05/03(木) 10:04:51.64
>>644
再帰処理と最初に言ったのはまさにそこで
イテレータからサブフォルダを作成するようのイテレータを呼び出せば
コレクションを作るということにはならないと思ったからです
ただ難しすぎて出来なかったので、知恵を借りようかと思ったわけです

>>645
どういう場面でないを使うかが最初からわかればいいんですが
今は学習中です
よろしければ、イテレータではできない理由を教えて下さい
648デフォルトの名無しさん:2012/05/03(木) 10:11:15.33
>>647
だから636さんの書いた通りに作ればイテレーターでも作れるよ
でも、それが理解出来ずに作れないのなら無理せずにList<T>使ってくれ
649デフォルトの名無しさん:2012/05/03(木) 10:12:54.98
ここまで誰もできないと言ってないんだけど
適切でないと言ってる人はちらほらいるけどね

基本的に迷うような使い方は適切でないんだよ
あなたみたいにね
650606:2012/05/03(木) 10:14:24.98
>>648
サブフォルダもIEnumerableなので、1回のループごとに
1つの要素を追加していくのは無理じゃないのかなと思ったのですが
できるようですので教えていただけないでしょうか?
651デフォルトの名無しさん:2012/05/03(木) 10:15:49.87
これは人によって笑いで腹が痛くなるか不快で頭痛がしてくるか分かれるな
652606:2012/05/03(木) 10:16:37.86
>>649
そうでしょうか?
別にListを作るほうが無駄であると、さっきのサイトでも書いてありましたので
読み取り専用で無駄にメモリを消費させないためにイテレータで書くのは適切かと思ったのですが
そこはどうなんでしょうか?
653デフォルトの名無しさん:2012/05/03(木) 10:23:30.02
余談だけど、
var sr = new StringReader(text);
こうしてStream作ったは、良いけど、Disposeしてないな。

まあ、文字列がデータソースだし特に問題ないだろうけど、ファイル・ネットワークから読み取る場合、
必ず閉じる必要がある。これを簡単にするための構文が
using( var sr = new StringReader(text) ){
//
}
こんなふうにusingブロックで囲むと抜けたときに必ずDisposeメソッドが呼ばれる。(極々一部例外あり)
654デフォルトの名無しさん:2012/05/03(木) 10:24:50.15
>>652
無駄になるメモリって何キロバイトだ?具体的にいってみろ
プログラム起動しただけで何キロバイトメモリを消費している?確認してみろ
655デフォルトの名無しさん:2012/05/03(木) 10:26:10.62
程度を考えずに無駄無駄言うのならあんたの学習がよほど無駄です。
656デフォルトの名無しさん:2012/05/03(木) 10:29:02.73
IEnumerable<Folder> GetFolders(string text)メソッド読んでみたけど、
3行目と4行目で必要の無いnewしてるほうが無駄だな。
そこは、ローカル変数の宣言だけを行うべきで必要な時にnewしたほうが良い。
ちなみにAsEnumerable使ってる理由は?
657デフォルトの名無しさん:2012/05/03(木) 10:29:32.14
それとyieldで作成したイテレータはResetして再利用できないので、
毎回インスタンスを作成することになる。
何回も呼び出した上で効率を考えるなら、1度読み取ってリストにしておく方が良いに決まっている。
658デフォルトの名無しさん:2012/05/03(木) 10:31:09.32
何分無駄にしているのやら…。
659デフォルトの名無しさん:2012/05/03(木) 10:31:32.37
目的と手段が逆転してるよねw
660デフォルトの名無しさん:2012/05/03(木) 10:39:59.02
>>659
逆転してるよねw
661606:2012/05/03(木) 10:48:57.68
>>653
ありがとうございます。忘れていました。

>>654
解りやすく問題点を指摘してもらえるように書き換えただけで
実際は画像ファイルや動画ファイルからの読み取りにも使う汎用的なクラスです
例ではファイルパスしか取得していないですが、これで実ファイルの読み取りもしようと思っています

>>656
あのコードの前にif文外からyield returnを使用してコンパイルエラーが出たので
試行錯誤段階ということもあり、ああいった形になりました
>ちなみにAsEnumerable使ってる理由は?
FolderクラスのSubfoldersはIEnumerableだからです

>>657
イテレータで再起をしてもですか?
662デフォルトの名無しさん:2012/05/03(木) 11:06:37.88
いえいえ
663デフォルトの名無しさん:2012/05/03(木) 11:16:16.44
>>661
だからイテレーターは仕組みから言って再帰は不可能だって
後、再起じゃなくて再帰だからな
664デフォルトの名無しさん:2012/05/03(木) 11:24:15.25
あ?
665デフォルトの名無しさん:2012/05/03(木) 11:24:16.53
誰だイテレータで再帰は不可とか抜かしてるのは
666606:2012/05/03(木) 11:37:12.63
回答が得られないようなので取り下げます
667デフォルトの名無しさん:2012/05/03(木) 11:42:14.55
うむ
668636:2012/05/03(木) 11:49:43.62
まだやっていたのか
669デフォルトの名無しさん:2012/05/03(木) 11:54:38.18
>>618
C#うんぬんより
お前はまず日本語を勉強しなおせ
670デフォルトの名無しさん:2012/05/03(木) 11:57:12.22
あとイテレータは再帰じゃなくて継続だから
671606:2012/05/03(木) 11:59:51.46
いらつくやつらだな
一部の暇人は相手して欲しいがために
遠まわしに言ったり、かき乱すようなレスばかりして
ソース晒せというくせに、ソース晒しても答えもしない
がっかりだわ
672デフォルトの名無しさん:2012/05/03(木) 12:01:04.63
勝手にがっかりしてろw
673606:2012/05/03(木) 12:01:17.20
答える気がないなら最初に言えよ
お前らの暇つぶしの相手してらんねーんだよ
おとなしくしてりゃいい気になりやがって
気色悪い変態野郎ども
氏ね
674デフォルトの名無しさん:2012/05/03(木) 12:01:50.10
勝手に状況限定して首絞めてる奴が何を言うw
そのまま窒息してろよバァカ
675606:2012/05/03(木) 12:02:11.37
お前どうせ友達もいないんだろ?
一日中2ちゃん巡回して相手してくれる人探しているんだろ?
気色悪いゴミ人間
生きている価値ねーよ
676デフォルトの名無しさん:2012/05/03(木) 12:02:21.86
さあ、隣のスレに移動して煽ろうかねw
677606:2012/05/03(木) 12:02:53.29
>>674
答えられないのはお前がバカなだけ
自分が答えられないレベルだからって何が無理だよバカ
678デフォルトの名無しさん:2012/05/03(木) 12:04:05.12
君子危うきに近寄らずと言うでよ
賢い人間は土壷にはまりそうな選択を初めからせんのだ
679デフォルトの名無しさん:2012/05/03(木) 12:05:05.41
さあ火がついた。
680606:2012/05/03(木) 12:05:49.28
答える気がないならこのスレから出ていけよ
ここはなんでも答えるスレなんだよ
答える気がないのにレスするな迷惑
気持ち悪いんだよ、初心者の邪魔ばっかりして
お前能なしで会社でもいじめられているんだろ?
もしかしたら、仕事もしてないんじゃないか?
681デフォルトの名無しさん:2012/05/03(木) 12:07:22.16
だいたい当人が一番コンプレックス抱えてるものが真っ先に出てくるよね
こういうのって
682デフォルトの名無しさん:2012/05/03(木) 12:07:39.55
>>673
自分で解決する気ないなら最初に言えよ
スレが汚れるだろ
683デフォルトの名無しさん:2012/05/03(木) 12:08:36.55
>>665
自分自身をどうやって呼ぶんだよw
684デフォルトの名無しさん:2012/05/03(木) 12:08:58.34
List<T>使えば良いと言ったら後出しで試行錯誤中に書いたもので本来は消したいとか来るんですもん
資料は質問前にそろえとけって仕事で教わらなかったか?
685デフォルトの名無しさん:2012/05/03(木) 12:09:26.88
>>680
みんな答えてるだろ正解かどうかな知らんがw
まーでもお前以外は困ってない問題ないんだよ
686606:2012/05/03(木) 12:09:35.30

>>682
質問してるんだから、答えを委ねているんだろ
当たり前のこと言わすな
ていうか、うれしそうにレスしているなお前ら
やっぱり図星なんだな気色悪い死ね
687デフォルトの名無しさん:2012/05/03(木) 12:10:07.66
>>683
え?
688606:2012/05/03(木) 12:10:39.11
>>684
>>606が大前提
メクラかお前は?
試行錯誤中をそのまま鵜呑みにしているお前がバカ
689606:2012/05/03(木) 12:11:32.48
>>665
お前ほんと無能だから黙ってろ
お前は答えられるようなレベルじゃない
690デフォルトの名無しさん:2012/05/03(木) 12:11:44.10
606でそんな前提条件まで読み取れってとんでもねえ質問者様だなw
691デフォルトの名無しさん:2012/05/03(木) 12:11:48.87
>>686
天は自ら助く者を助ける
資格のないお前は助からない
答えに繋がるヒントは充分でてるのにね
692デフォルトの名無しさん:2012/05/03(木) 12:12:36.94
606は間違いだって自分で言ってるのにこんなもの前提にされても困るでしかし

616 名前:606[sage] 投稿日:2012/05/03(木) 08:43:56.54
>>612
すいませんあれは間違いでした
正しくはこれ>>609
693606:2012/05/03(木) 12:13:02.62
>>690
型もわからないのかアホ
とにかくあとは暇なやつ同士でやりあってろ
気色悪いドブ人間どもは死ね
694606:2012/05/03(木) 12:13:57.81
>>692
文脈もわからないのかバカ
気持ち悪い、お前らほかにやることないのか?
死ねよまじで
695デフォルトの名無しさん:2012/05/03(木) 12:14:04.83
最後くらい釣り宣言しとけよ
少しは気が晴れるぞ
696デフォルトの名無しさん:2012/05/03(木) 12:14:38.83
おいwwwどこの誰だよww
責任もって>>606をFinalizeしとけよw
697606:2012/05/03(木) 12:14:53.72
おれもこれだけバカにされたからには
これからここで質問する奴片っ端から邪魔してやるわ
どうせおまえらは暇つぶしできればいいだけだし
文句ないよな?
698デフォルトの名無しさん:2012/05/03(木) 12:14:59.91
完全に暴走しているな
699606:2012/05/03(木) 12:15:25.08
なーんてね!
キレ芸でした(^-^)/

みなさん教えてくださいよー
700デフォルトの名無しさん:2012/05/03(木) 12:15:42.62
文句なんてないない
気にせず回答するし
701デフォルトの名無しさん:2012/05/03(木) 12:17:21.78
あなたが最適な解と思った物が最適な解です。
ただし他人の同意を得られるとは、限りません・・・。
702デフォルトの名無しさん:2012/05/03(木) 12:18:35.60
さあ昼飯にするか。
703606:2012/05/03(木) 12:19:13.52
一日中こういうことしている奴らって生きている価値ないよ
704606:2012/05/03(木) 12:22:06.19
ほらどんどん書き込めよ暇人ども
俺が相手してやらないと書き込めないのか?糞が
705デフォルトの名無しさん:2012/05/03(木) 12:22:18.31
生きてる価値ない人間にまで頭を足れる人生ってのもオツなものですね
706606:2012/05/03(木) 12:22:55.85
実はIDのあるソフトウェア板のスレのステマ
707デフォルトの名無しさん:2012/05/03(木) 12:24:28.50
>>697
頑張ってくれたまへ
708デフォルトの名無しさん:2012/05/03(木) 12:29:59.69
うん
709デフォルトの名無しさん:2012/05/03(木) 12:30:36.90
左様ですか
710デフォルトの名無しさん:2012/05/03(木) 12:59:50.72
上様です
711606:2012/05/03(木) 13:02:57.51
この時間は基地外しかいないな
712606:2012/05/03(木) 13:04:27.11
readonlyはフィールドにしか使えないんだよバカ
713デフォルトの名無しさん:2012/05/03(木) 13:44:13.46
PanelにVScrollBarとHScrollBarを配置して
Dockでそれぞれ右と下に一杯に表示しているのですが
右下の角(スクロールバーが交差する場所)が空白にならずに
VScrollBarがその場所まで表示されてしまいます

どうしたら通常の両スクロールバーが表示されているときのように
角を空白にできますか?
714デフォルトの名無しさん:2012/05/03(木) 13:47:21.86
一杯に表示しなけれないい
715デフォルトの名無しさん:2012/05/03(木) 13:47:39.41
一杯に表示しなければいい
716デフォルトの名無しさん:2012/05/03(木) 13:48:15.26
コントロールの配置順序
717デフォルトの名無しさん:2012/05/03(木) 13:49:51.76
荒れてるなあ
ソフトウェア板しか見てなかったよ
どれどれ俺が606に答えてやるとするか
718デフォルトの名無しさん:2012/05/03(木) 13:55:13.76
おいおい
>>606の質問なんかより広告の TreeGridの方が興味あるんだけど

あれ、C#にはないよな
作れるのか?
719デフォルトの名無しさん:2012/05/03(木) 13:56:43.18
そうだな>>606の質問なんかよりTreeGridについて語った方が有益だな
720デフォルトの名無しさん:2012/05/03(木) 13:56:48.95
>>713
というか、FormもPanelもScrollableControlなんだから
可能なら(たぶん特別な事情がなければ可能だと思うけど)その機能を
利用した方が簡単だと思うんだけど
721デフォルトの名無しさん:2012/05/03(木) 14:00:34.08
>>714-715
Dockで貼り付けないとなると、自前で全部サイズを計算するってことですか?

>>716
順番をどう変えても角が空白になりません

>>720
AutoScrollで出来たら楽なんですけどPanelに表示されてる
コントロールの大きさに関係無く移動範囲を設定したいので
自前でないと無理でした
722デフォルトの名無しさん:2012/05/03(木) 14:01:53.96
DockしないでAnchorで設定したらいけたよ
723デフォルトの名無しさん:2012/05/03(木) 14:04:36.79
Dockの機能は指定した辺を埋めることだから、Dock以外のアプローチしかないよね
Anchorは駄目なん?
724デフォルトの名無しさん:2012/05/03(木) 14:05:05.70
あああ書く前にリロードするんだった
725デフォルトの名無しさん:2012/05/03(木) 14:05:37.87
>>721
だからさ、例えばそのPanelのAutoScroollをtrueにして、
中に自分より大きいPanelを入れるとか、方法はいろいろあるよ。
726デフォルトの名無しさん:2012/05/03(木) 14:09:58.02
>>722-723
え、Anchorでできました?
自分もずっと試してたんですけど、ちゃんと端一杯まで
表示してくれないんですけど上下左右のどこを設定したらいいですか?

>>725
なるほど、そういう方法は全然考え付きませんでした
727デフォルトの名無しさん:2012/05/03(木) 14:12:33.77
>>726
Anchorで上下左右すべてに適応しておけばいい。
728606:2012/05/03(木) 14:15:53.06
>>717
あなただけが頼りです
よろしくお願いします
729デフォルトの名無しさん:2012/05/03(木) 14:16:38.34
>>727
それだとスクロールバーがとんでもなく太くなってしまいます
730デフォルトの名無しさん:2012/05/03(木) 14:16:50.87
な〜んてな
731デフォルトの名無しさん:2012/05/03(木) 15:04:56.07
>>728
とりあえずやってみたけど
http://pastebin.com/ETueT1eL

難しすぎるだろこの問題・・・
732デフォルトの名無しさん:2012/05/03(木) 15:08:46.61
>>729
右下の空白にしたい部分に小さなpanel配置して下と右のアンカー打って
その後VScrollBarを配置して左以外アンカー、HScrollBarを上以外アンカーでどうだ?
733デフォルトの名無しさん:2012/05/03(木) 15:20:17.29
>>732
多分その方法で出来ると思いますが
色々と試した結果普通に設定でどうにかできる問題じゃないようですね
検索しても実現しているコードが全く見つからないし
このスレの過去スレでも同じ質問がありましたが、解決していないようでした

これは>>732さんのように角に何か配置するか>>725さんのように
AutiScrollを工夫して使うしかないようです
それかリサイズの度に自前でスクロールバーを計算して再配置かですね
734デフォルトの名無しさん:2012/05/03(木) 15:35:02.83
>>733
細かい話だけど、そもそもスクロールバーの幅や高さは連動してるコントロールの
クラアント領域の幅や高さのメタファなんだから、別に>>725の方法でなくてもいいけど
クライアント領域にスクロールバーが含まれるようなデザインはちょっと不自然だと思う。

結局何が言いたいかっていうと、ScrollableControlの機能を使わずに自前で実装するなら、
スクロールバーはパネルの外に置く方が自然だと思う。
735デフォルトの名無しさん:2012/05/03(木) 17:12:29.74
>>713
あー分かるわ。
俺もそれずっと悩んでてDockで寄せたまま仕方なく使ってるわ。
やっぱり解決方法無しか。
>>725の方法があるんだな。でも使わないパネルをぶち込むって
なんとなく気分が悪いな。
736デフォルトの名無しさん:2012/05/03(木) 17:30:02.05
AutoScrollにしてみると角にフォームのサイズが変更されるのが
表示されてるからやっぱり何かのPanel貼り付けてる臭い

実装見たわけじゃないから知らんけどな
737デフォルトの名無しさん:2012/05/03(木) 20:20:54.59
Microsoft Visual C# 2010 Expressを使用しているのですが、
ブレイクポイントの一覧表示をすることは出来ないのでしょうか。
VC++等では、一覧からブレイクポイントの有効/無効の設定ができたりしたので、
同じような機能があると思うのですが、どうやって表示させるのかよくわかりません。
ご存知のかたがいらっしゃるようでしたら教えていただけませんでしょうか。
738606:2012/05/03(木) 20:21:42.38
>>731
さすが、口先だけのやつらとは違いますね
でも、イテレータだけだとかなり無理っぽいですね
利用するときも注意が必要だし
せっかく作ってくれたけど別の方法考えます
739デフォルトの名無しさん:2012/05/03(木) 20:23:27.61
急に強気w
740デフォルトの名無しさん:2012/05/03(木) 20:24:31.93
なるほど、これが質問者様という奴かw
741606:2012/05/03(木) 20:25:14.10
一日かけても出来ませんでした><
742606:2012/05/03(木) 20:26:28.51
いぢわるしないで教えてくださいよー
みなさんみたいな天才なら余裕ですよね?
743606:2012/05/03(木) 20:28:06.77
さっさと教えろやごらーーー!
744606:2012/05/03(木) 20:30:42.28
無能が考えるネタはつまらない
なりすまししている奴全員しね
745デフォルトの名無しさん:2012/05/03(木) 20:32:26.67
ぷっ
746606:2012/05/03(木) 20:33:03.34
けっかく質問してやってるのに
答え教えてくれねえお前ら全員しね
747606:2012/05/03(木) 20:33:38.06
ごきぶりしね障害者しね
748デフォルトの名無しさん:2012/05/03(木) 20:34:53.65
C#歴半年未満だけど
30分くらいでかけた(´・_・`)
749606:2012/05/03(木) 20:35:05.93
イテレータで再帰できないって言ってたバカはどこいった?
死ねカス
750606:2012/05/03(木) 20:35:39.79
おまえらクズばっかだ!
さっさと死ねええ
751606:2012/05/03(木) 20:35:42.81
>>748
ボタン配置ができたんだな
おめ
752デフォルトの名無しさん:2012/05/03(木) 20:36:57.22
>>748
さすが違いますね
教えてください
753デフォルトの名無しさん:2012/05/03(木) 20:40:11.48
一生試行錯誤してて構わないのに〜w
754606:2012/05/03(木) 20:40:42.20
>>748
本当に出来たかわからないので
ここに書き込んでください
本当に出来てるか判断してあげますよ
755デフォルトの名無しさん:2012/05/03(木) 20:42:22.99
このスレはこの流れでいいのだ
756606:2012/05/03(木) 20:42:45.96
さっさとおしえろやあああ!グズが
757デフォルトの名無しさん:2012/05/03(木) 20:43:07.85
賑やかしいね
758デフォルトの名無しさん:2012/05/03(木) 20:43:16.45
私は真に驚くべき証明を見つけたが、この余白はそれを書くには狭すぎる。

759デフォルトの名無しさん:2012/05/03(木) 20:43:28.23
簡単だったw
760デフォルトの名無しさん:2012/05/03(木) 20:43:31.74
取り下げたんだしいいじゃん
相談室で聞けば
761606:2012/05/03(木) 20:48:20.32
相談室は俺をしかとすんだよおおお
どいつもこいつも俺をバカにしやがって!
許さねえぞ死ねカス
おまえら本当はできないんだろ?
無能ばっかだな
762606:2012/05/03(木) 20:50:34.50
>>761
おい、障害者
お前そんなことして楽しいと思っているのか?
友達もいないんだろ?
毎日毎日荒らしやがって
どうせおまえ生活保護で暮らしているだけなんだろ?
プログラミングなんてお前みたいな低学歴には無理だから
さっさとしね
763606:2012/05/03(木) 20:51:36.05
>>761じゃなく>>758
764606:2012/05/03(木) 20:59:34.74
まだ誰も出来ねーのかよ?
このスレ本当カスばっかだな
765606:2012/05/03(木) 21:00:24.46
>>764
お前一人だけだね
その遊びしているの
一生そうやって惨めな人生歩んでろ
766デフォルトの名無しさん:2012/05/03(木) 21:02:33.76
よく荒れるスレだなw
C#は遅いといっちゃ〜荒れ
質問が来ても     荒れ

どうなっちゃってるですかね
767606:2012/05/03(木) 21:02:46.70
>>765
クソが!俺のフリすんな
おまえは障害者だ
768デフォルトの名無しさん:2012/05/03(木) 21:05:00.90
いつものことだよ
769デフォルトの名無しさん:2012/05/03(木) 21:05:56.54
いつもの流れで安心した
770デフォルトの名無しさん:2012/05/03(木) 21:10:52.16
>>746
結核で死ね
771デフォルトの名無しさん:2012/05/03(木) 21:13:16.07
人にシネは無いだろう。アウトー!!
772デフォルトの名無しさん:2012/05/03(木) 21:17:07.78
どうしてほしいのよ・・・
773デフォルトの名無しさん:2012/05/03(木) 21:48:47.87
>>606
んー、まじめに答えると、小学生からやり直したほうがいいと思う
774デフォルトの名無しさん:2012/05/03(木) 21:49:23.66
頭の中で軽くシミュレーションしたけど>>731がまともに動くとは思えん
遅延評価まわりが滅茶苦茶に見える

Folders(sr).ElementAtOrDefault(2)

しただけで死なないか?
775デフォルトの名無しさん:2012/05/03(木) 21:51:18.43
頭の中で軽くシミュレーションしたけど〜

っているかw

776デフォルトの名無しさん:2012/05/03(木) 21:52:19.87
もうさ、ファイルフォーマットをxmlに変えてやれば、
いちいち変な解析構文書かなくても既存のXmlDocumentクラスでもつかって
読み込めばいいんじゃねーの?少なくとも仕様変更に耐えれない糞なフォーマットより良いと思うんだが…
777デフォルトの名無しさん:2012/05/03(木) 21:54:56.43
仕様が変更になったらその分だけ、NETアップを要求しますから
ご心配なく
778デフォルトの名無しさん:2012/05/03(木) 21:55:52.21
>>776

661 名前:606[sage] 投稿日:2012/05/03(木) 10:48:57.68
>>654
解りやすく問題点を指摘してもらえるように書き換えただけで
実際は画像ファイルや動画ファイルからの読み取りにも使う汎用的なクラスです
例ではファイルパスしか取得していないですが、これで実ファイルの読み取りもしようと思っています
779デフォルトの名無しさん:2012/05/03(木) 21:58:52.10
当初の問題は大して大きくないのに制限が増えて問題クラスが増大していくww

できの悪いプロジェクトに配属されたときこんな感じよね
問題は隠されている、と
780デフォルトの名無しさん:2012/05/03(木) 22:02:32.29
>>776
俺が作ったフォーマットじゃないから変えられません
781デフォルトの名無しさん:2012/05/03(木) 22:12:44.48
xmlとか言うと速度厨が泡吹いて痙攣するぞ
782デフォルトの名無しさん:2012/05/03(木) 22:16:45.58
例外の処理方法について まず、大原則を覚えてください。
よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。
もう一度繰り返します。
よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。
もう一度(ry、すみませんしつこいですね^^。でもこれ、めちゃめちゃ重要なのです。

C# や VB を学習すると、割と早い段階で try-catch 構文による例外処理方法を学習すると思います。
が、実際のアプリケーションコードでは、特殊な事情(後で説明します)がない限りは、
try-catch を記述してはいけないのです。
では try-catch を書かずにどうやって例外の後処理をすればよいのか....というと、
通常、集約例外ハンドラと呼ばれる機能を利用します。

質問です。使うべきですか?
783デフォルトの名無しさん:2012/05/03(木) 22:19:20.90
>>782
適切な場所に適切に使うなら問題ない
M$のライブラリは殆ど使ってる
784デフォルトの名無しさん:2012/05/03(木) 22:23:35.60
>>782
ネットワークとかハードが絡む異常系では使うべき。
普通の処理だと、エラーを握りつぶすくらいにしか使えない。そして握りつぶすのは不味い方法だしな。
俺は例外でアプリが落ちてくれる方がデバッグ楽だからtryは書かないな。
785デフォルトの名無しさん:2012/05/03(木) 22:23:46.88
個人でC#使うことってある?
大抵のツールはぐぐればあるし
小回り利くものがほしいならスクリプト言語でやったほうが手軽だし
C#使ってなにか作ろうと思えるものが思いつかない
786デフォルトの名無しさん:2012/05/03(木) 22:25:10.56
>>785
GUIが絡む実験はC#でやってる。
787デフォルトの名無しさん:2012/05/03(木) 22:25:17.20
>>784
確かにどこに問題があったかわからないですよね
大抵のことはtryなくてもできると思う
788デフォルトの名無しさん:2012/05/03(木) 22:26:30.06
WinForm切り捨てちゃったからBorland死んじゃったね
789デフォルトの名無しさん:2012/05/03(木) 22:29:58.80
>>788
WinFormは再設計してほしい。floatのdouble化とかハード支援強化とか。
俺は、依存関係プロパティの意味がわからんからWPFは使えないんだぜ。
790デフォルトの名無しさん:2012/05/03(木) 22:30:41.33
>>782
例外処理は、コストが掛かると言われるが、コストが掛かるのは、
実際に例外が発生した場合に限られる。そのため、事前に例外を回避できる場合、
例えば、引数のnull判定などを組み込んでおいて、例外の発生は、極力避ければいい。
もしくは、早いうちに例外を帰してしまえば、無駄な処理をせずに済む。
しかし、このような判定が事前にできないケース(ネットワーク・ファイル等)は、例外処理を入れるべき。

>>784
ただ、配布するときは、ぶっちゃけ握り潰して止まらないようにすることもある。
その場合でもログを吐かせたりは、する。
791デフォルトの名無しさん:2012/05/03(木) 22:33:43.51
>>782
少なくとも現実的には、そんなに特殊な事情なんて無くてもtry...catchは
使わざるを得ないと思うけど。

あと、集約例外ハンドラって普通は後処理の必要がない(後処理でリカバーできない)
例外以外使わないと思うんですが...
792デフォルトの名無しさん:2012/05/03(木) 22:47:09.00
793デフォルトの名無しさん:2012/05/03(木) 23:15:30.46
>>785
C#もスクリプトみたいなものですけど。
794デフォルトの名無しさん:2012/05/03(木) 23:18:31.48
全然ちがう
手軽さがないだろ
795デフォルトの名無しさん:2012/05/03(木) 23:26:35.00
>>794
超お手軽なポトペタですよw
796デフォルトの名無しさん:2012/05/03(木) 23:28:17.72
>>795
テキストエディタで書いてコマンド実行
みたいに出来ない時点十分に手間だよ
797デフォルトの名無しさん:2012/05/03(木) 23:29:47.89
たぶん、CSharpCodeProviderのことを言っているのでは、なかろうか?
おぞましく手間だと思うがな…
798デフォルトの名無しさん:2012/05/03(木) 23:31:15.31
ここはC#のスレなので・・・。
C#自体の有り様については問うておりません。
799デフォルトの名無しさん:2012/05/03(木) 23:34:15.22
C(怒)
800デフォルトの名無しさん:2012/05/03(木) 23:37:28.68
>>793
C#はコンパイルしないと動かないじゃん
つまり最初からやり直しになる

スクリプト言語だと、Webのエロ動画を落とそうとごにょごにょするとき
エラーで失敗しても、間違った箇所を書きなおして中断したところから何度もリトライできる
これが明らかに違う
801デフォルトの名無しさん:2012/05/03(木) 23:42:01.12
他の言語ってプロセスでもyieldできるのか・・・。

自分普通にデバッグするときはブレークポイントで引っかかるまで通常起動するけど。
Main関数と言う名のユニットテストで!!
802デフォルトの名無しさん:2012/05/04(金) 00:00:23.32
Webのボタンクリックするコード書いてー
あ、押すボタン間違った、書きなおしてボタン押してー
テキストボックスに書き込むコード書いてー
あ、書き込めない、訂正してテキストボックスに書き込んでー
検索ボタンを押すコードを書いてー
あ、押すボタン間違った、書きなおして検索ボタン押してー

ってできる。
803デフォルトの名無しさん:2012/05/04(金) 00:02:17.54
>>802のようなことをやったあと、GUIにしたかったらC#に書き起こすんだけどねw
804デフォルトの名無しさん:2012/05/04(金) 00:09:55.16
>>801の一行目ってどういう意味?
805デフォルトの名無しさん:2012/05/04(金) 00:15:13.47
>>802
それ最初から起動繰り返してるだけじゃね?

>>804
ひ☆に☆く。
806デフォルトの名無しさん:2012/05/04(金) 00:29:30.75
>>805
最初から繰り返してたら、テキストボックスに同じ文字が2回入るでしょ
でもそうはならない、途中から始められる
807デフォルトの名無しさん:2012/05/04(金) 00:36:57.30
どうでもいい
808デフォルトの名無しさん:2012/05/04(金) 00:38:16.56
C#には出来ないからどうでもいいな
809デフォルトの名無しさん:2012/05/04(金) 05:10:58.57
●      交わした約束 忘れないよ
┠〜〜〜┐ 目を閉じ確かめる
┃  ●  ∫  押し寄せた闇 振り払って進むよ
┠〜〜〜┘   いつになったら なくした未来を
┃          私ここでまた見ることできるの?
┃           溢れ出した不安の影を何度でも裂いて
┃             この世界歩んでこう  とめどなく刻まれた 時は今始まり告げ
┃               変わらない思いをのせ  閉ざされた扉開けよう
┃                 目覚めた心は走り出した未来を描くため
┃                  難しい道で立ち止まっても 空はきれいな青さでいつも待っててくれる
┃                    だから怖くない もう何があっても 挫けない
810デフォルトの名無しさん:2012/05/04(金) 05:35:38.71
>>774
フォルダ→サブフォルダと全部順番に列挙しないと死ぬよ
せめてサブフォルダをToArray出来ればそんな意味不明の制約はなくなるんだけど
811デフォルトの名無しさん:2012/05/04(金) 05:42:08.60
ただの木構造を全部再帰で列挙するだけならyieldで簡単にできるんだけど
フォルダとサブフォルダに分けるとこんな意味不明なことになると初めて知ったわ
812デフォルトの名無しさん:2012/05/04(金) 06:24:11.44
数人の方が、フォルダとサブフォルダを分けないほういいといっていますが
わけないということはどういうことですか?
フォルダクラスだけにして階層構造をフルパスで保持するんですか?
そうすると同じ親フォルダ名をサブフォルダが保持することになって無駄じゃないでしょうか?
813デフォルトの名無しさん:2012/05/04(金) 06:27:10.43
それとシリアライズするときも分けていたほうが階層構造が反映されて楽だと思うんですけど
814デフォルトの名無しさん:2012/05/04(金) 06:49:11.78
別にフルパス持たなくても親子関係が辿れればフルパスも作れるし
列挙するだけなら親方向に辿れる必要もないよ
815デフォルトの名無しさん:2012/05/04(金) 06:51:44.87
シリアライズに何を使うのかしらないけどフォルダとサブフォルダに分かれていることが使い勝手に影響するとは思えないな

まあ木構造を扱うには再帰のテクが必要だからそこはハードルになるかもわからんけど
816デフォルトの名無しさん:2012/05/04(金) 06:51:48.34
>>790
>コストが掛かるのは、実際に例外が発生した場合に限られる。

さらっと嘘書くなよ。
817デフォルトの名無しさん:2012/05/04(金) 06:51:49.80
folder1
sub1
818デフォルトの名無しさん:2012/05/04(金) 06:54:05.23
A
├B
└C
  └D

この木構造を作るのにノードに当たるクラスは一種類でいいし
ノード自身が親の名前を持つ必要もない。親へのリンクを持ってるだけでいい
ルートノードであるかどうかは、親が設定されているかどうかを見ればいい
819デフォルトの名無しさん:2012/05/04(金) 06:55:26.25
folder1
 folder2
 folder3
folder4
 folder5
 folder6
となっていた場合
folder1\folder2
folder1\folder3
folder4\folder5
folder4\folder6
の4行が列挙された方が使い勝手が圧倒的に良いだろうに
作るのも簡単だよな
820デフォルトの名無しさん:2012/05/04(金) 07:00:45.46
それは木からSelectManyすればいいんじゃないか
使い勝手がいいかどうかはそれを使ってする処理にもよるだろう
821デフォルトの名無しさん:2012/05/04(金) 07:25:45.91
>>818
つまり、フォルダークラスにParentやChildプロパティを用意して参照を渡しておくんですね
そういえばC言語の授業で習ったことある

>>819
は?
822デフォルトの名無しさん:2012/05/04(金) 07:31:13.43
別クラスじゃなくて、TreeNodeのような構造でもいけますね
また書き直してみます
ありがとうございます
823デフォルトの名無しさん:2012/05/04(金) 07:47:29.47
>>816
本当だにょ
824デフォルトの名無しさん:2012/05/04(金) 08:38:34.37
http://nimg.nate.com/orgImg/sg/2012/05/02/20120502022316_0.jpg

[世界日報] “世界初、世界最高”と軍が誇っていたK11複合型小銃(写真)が全量回収される。

防衛事業庁は、「昨年10月に陸軍37師団で発生したK11小銃の爆発事故の原因調査の結果、射撃
統制装置と撃発装置、弾薬起爆装置のプログラムの複合的な問題として表れ、現在、軍に配備している
K11小銃246挺全量をリコールする」と2日明らかにした。
K11は、2008年に185億ウォン(約13.1億円)を投入し、国内技術で開発した複合型小銃で、弾薬が
一定の距離を飛んだ後、爆発するようになっており、壁の後ろに隠れた敵も攻撃することができる武器である。

しかし、昨年10月14日のK11小銃野戦運用評価時、20mm弾薬が銃内部で爆発して兵士1人が負傷する
事故が発生した後、安全性論議が提起された。
国防部は、事故原因究明のために特別監査団を構成し、昨年10月21日から今年の2月25日までに監査を
行っていた。
防衛事業庁関係者は、「監査の結果、爆発事故は、20mm知能型空中炸裂弾を発砲する時、撃発信号が
信管に伝達される過程で電磁波干渉により、弾薬が事前に炸裂したことが起こったことが明らかになった」と説明
した。

これにより、防衛事業庁は、K11小銃を全量リコール後、生産業者が撃発装置の設計変更、射撃統制装置・
弾薬起爆装置のプログラム修正、電磁波干渉による誤動作の要因除去などをするように指示した。
防衛事業庁は、6月までに問題を補完した後、性能実証試験と技術検討委員会確認を経て、今後の戦力化を
再開するかを判断する計画。


世界日報: 2012-05-02 19:24
http://news.nate.com/view/20120502n31698?mid=n0204
825デフォルトの名無しさん:2012/05/04(金) 08:54:43.47
>>821
そんな馬鹿な、と思うかも知れないが、実際
>>819みたいな形式で保存されてる方が、圧倒的に処理はし易いよ。
サブフォルダの概念含め。
テキストの中身含め、きちんと見直した方が良い。
826デフォルトの名無しさん:2012/05/04(金) 09:01:42.17
>>825
ではバインディングはどうするんですか?
取り出し用の別のクラスを作らないといけないでしょ?
827デフォルトの名無しさん:2012/05/04(金) 09:22:24.24
フランス 「日本料理は世界最高レベルの料理だ。美しく、おいしく、ヘルシーであることが分かった!」
http://engawa.2ch.net/test/read.cgi/poverty/1336086250/


日本食は美しさ、おいしさ、ヘルシーの3要素を持つ―フランス

「Le petit monde de Charles, Michele」では、日本の料理について紹介している。
食器とのバランスを考えた盛り付けなど、伝統的な日本料理の盛り付けの美しさは、
日本に関心の高いフランス人の間ではよく知られているとした。

  さらに、健康に良いのも魅力だと筆者は語る。日本の料理はだしを使って調理したものが多く、
野菜はゆでてあるか調味料などであえたものが多い。また、肉類は焼いてあることが多く、量も控えめ。
デザート類もほとんどなく、チーズも出されないと脂肪分が少ない食生活と説明、
日本料理には、一般的に日本人がスリムである理由がすべて集約されていると表現している。

日本料理は、フランス人の筆者にとって食材が思いがけない形で調理されていることがあり、
驚くこともあるとし、焼き鳥や天ぷらなど、おいしい料理が多いと記している。
筆者は、視覚と味覚の両方を満足させることができ、それでいて健康的な日本食と評価している。
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0503&f=national_0503_043.shtml
828デフォルトの名無しさん:2012/05/04(金) 10:09:10.43
 ツイッターで10万人超のフォロワーを抱えていたNHKの番組の公式アカウントが3月末に
急に閉鎖された。つぶやいていたのは人気アナウンサーの堀潤さんだ。

 堀さんは3月までNHK総合「Bizスポ」(現・Bizプラス)を担当。番組情報や
ニュースの内容をつぶやいていた。東日本大震災の後は、積極的に震度情報や被災者への
支援情報などをきめ細かくツイートしていた。

 人気の理由は率直な物言いだ。原発問題にも触れ、「どうしてこんなに大切な情報が
原発事故から半年になって発表されるのか。僕らメディアの責任も本当に重たい」
「国や組織に期待してはだめだ……(中略)……僕らでこの国を変えよう」などとつぶやいた。

 閉鎖を惜しむ声が相次ぐ中、本人は4月、都内であったメディア関連のシンポジウムで思いを語った。
「色々な顛末(てんまつ)があった。局内で色々ありました」「ハレーションが大きかった」。
ツイートの後、「『君はアジテーションしているのか』『国家を転覆するつもりなのか』と
言われた」として、局内で問題になったこともほのめかした。

以下
http://www.asahi.com/culture/news_culture/TKY201205020143.html
829デフォルトの名無しさん:2012/05/04(金) 10:28:27.24
ネトウヨ王に、俺はなる!まで読んだ。
830デフォルトの名無しさん:2012/05/04(金) 10:34:07.96
831デフォルトの名無しさん:2012/05/04(金) 11:06:36.16
>>823
嘘付くなと言ってるだろう。
832デフォルトの名無しさん:2012/05/04(金) 11:11:17.60
例外が発生してもコストなんてかからないよな
833デフォルトの名無しさん:2012/05/04(金) 11:41:04.54
>>831
嘘付くなと言ってるだろう。
834デフォルトの名無しさん:2012/05/04(金) 11:48:51.84
定期的に涌くよな。例外は遅くないという奴。
例外がどういう実装か知らないのは、機械語を経験してないからか?
835デフォルトの名無しさん:2012/05/04(金) 12:03:52.00
ネットワークやファイルにおいては取得失敗は当然考えられることであり例外じゃないから
列挙値を返すべきというのはまさに同感だね
836デフォルトの名無しさん:2012/05/04(金) 12:24:06.49
処理が続行不可能なときに例外を使うんだよ。
メモリ確保失敗とかファイル作成失敗とかね。
837デフォルトの名無しさん:2012/05/04(金) 12:25:26.60
機械語てw
838デフォルトの名無しさん:2012/05/04(金) 12:25:52.46
ILでいいよ。
839デフォルトの名無しさん:2012/05/04(金) 12:27:04.13
機械語コンプレックスがある奴がいるのか。
840デフォルトの名無しさん:2012/05/04(金) 12:30:53.07
通常のエラーなんか例外にしたらキャッチにミスったり何がどこに飛んでくるかわけわかんなくなったりするから
列挙値を返したほうが安全で分かりやすい
それ以外でも思わぬところで失敗するんだからそういうのだけ例外にしとけばデバッグも楽になる
841デフォルトの名無しさん:2012/05/04(金) 12:34:42.95
はいはい機械語機械語
842デフォルトの名無しさん:2012/05/04(金) 12:38:58.56
ググったら例外は遅いという結果ばかりなのが気に食わないらしい。
843デフォルトの名無しさん:2012/05/04(金) 12:41:36.84
だから極力例外は、使用せずにエラー値。bool値などで対応する。
ユーザーからの不正な入力なんかは、事前にチェック可能なわけだし、そういうのは、例外を使わない。
一方でDB接続エラー、ファイル作成、ネットワーク接続等は、例外として処理する。

ちなみに機械語とか言ってるオッサンは、アセンブラでも弄ってろよw
844デフォルトの名無しさん:2012/05/04(金) 12:42:58.05
>>816
>コストが掛かるのは、実際に例外が発生した場合に限られる。

try-catch自体はコストかからないよって意味だろ低能
845デフォルトの名無しさん:2012/05/04(金) 12:45:11.23
>>835
一応突っ込んどくけど、まさかライブラリもその考え方で作るべきって言ってるんじゃないよね?
アプリはその考え方でもいいと思うけど。
846デフォルトの名無しさん:2012/05/04(金) 12:47:49.12
>>844
throw new Exception() が呼ばれてcatchブロックに移動したときにコストが掛かるんであって、
単純にtryブロックに入るだけでは、コストは、気にするほど掛からない。

それに既存のフレームワークやライブラリだと、IO系は、接続エラーや書き込みエラーなどは、
例外を発生させるわけだし、嫌でもtry/catchで囲む必要がある。
アプリごと落ちたりしても良いなら別としてだ。

847デフォルトの名無しさん:2012/05/04(金) 12:54:34.65
>>843
仕様上想定されたエラーに例外を使うのはいついかなる時であろうと間違いだと思うわ
848デフォルトの名無しさん:2012/05/04(金) 12:54:44.94
>>844
そう、だから(理屈はともかく)少なくとも現実的にはtry...catchを使わない、
なんて選択肢はないわけだよね。

あと、例外機構のそもそもの主目的はプログラムを強制終了させることだ、
ってことが分かってないと>>843みたいにちょっと勘違いが入ると思う。

極力エラーコードを返せ、ってそのエラーコードの処理を呼び出し側がちゃんと
やってくれることをいつでも期待できるわけじゃないでしょ。

そういうことだから例外機構ってものが発明されたのに。
849デフォルトの名無しさん:2012/05/04(金) 12:56:52.14
>>848はアンカミス
>>844じゃなくて>>846
850デフォルトの名無しさん:2012/05/04(金) 13:00:36.27
> あと、例外機構のそもそもの主目的はプログラムを強制終了させることだ、

え?
851デフォルトの名無しさん:2012/05/04(金) 13:01:13.55
>>844
加算の単純ループ。例外は発生させてない。
機械語もできないど素人が混じってるようで。

tryスコープなし:3757
tryスコープあり:26290
852デフォルトの名無しさん:2012/05/04(金) 13:01:40.14
>>847
throwには大域ジャンプって機能もある(昔のsetjump,longjump)
深い階層でエラーが起きて、エラー処理まで一気に戻るという目的の場合もある
853デフォルトの名無しさん:2012/05/04(金) 13:01:56.47
>>850
え?、と思うなら反論をどうぞ。
854デフォルトの名無しさん:2012/05/04(金) 13:03:43.71
hoge() の中で piyo()を呼んで、その中で fuga() メソッドを呼び出してて
fugaの中で例外が発生したときに、hoge -> piyo -> fuga っていう呼出履歴を取得したいんだけど、

void fuga() {
 try {
  // 処理
 } catch {
  throw
 }
}

みたいにそれぞれのメソッドの処理を に try...catchで囲って throw する方法以外になんかいい方法ある?
855デフォルトの名無しさん:2012/05/04(金) 13:04:25.49
try-catchでコストが掛からないとか言ってる奴はEffectiveJava読め
try-catch外のブロックだからできる最適化というものがあるんだよ

C#perはそんなことも分からんのか?
856デフォルトの名無しさん:2012/05/04(金) 13:05:56.22
>>852
大域ジャンプ使っちゃいけないとされた昔のGotoそのもの
アカンアカン
857デフォルトの名無しさん:2012/05/04(金) 13:06:48.09
>>854
デバッガで呼び出し履歴を見ればいいじゃん
858デフォルトの名無しさん:2012/05/04(金) 13:06:48.71
機械語とかいってるオッサンは、標準のフレームワークを使ったことがないのかよww
使わないという選択肢は、.NET使う以上、無い。特にIO系のクラス使う場合、
フレームワークが例外発生してくるし、どうやってtry/catch使わずに対応すれば良いんだ?

859デフォルトの名無しさん:2012/05/04(金) 13:06:54.58
>>853
他の言語系も少しは勉強したら?
860デフォルトの名無しさん:2012/05/04(金) 13:07:26.62
そういうことじゃないか
例外のスタックトレースを見れば分かるんじゃねえの
861デフォルトの名無しさん:2012/05/04(金) 13:08:27.02
LL言語のイテレータは大抵終端を例外で示すよね
862デフォルトの名無しさん:2012/05/04(金) 13:09:22.16
世界一使われているjpegライブラリとpngライブラリは大域ジャンプ多用しています
エラー処理ももちろんlongjmp
863デフォルトの名無しさん:2012/05/04(金) 13:09:30.28
>>858
フレームワークって語の意味わかってる?
864デフォルトの名無しさん:2012/05/04(金) 13:11:28.46
>>858
テストコード書けばtryは例外が発生しなくても遅くなることは分かる。
だがその原因は機械語レベルの話。機械語なしで説明できない。

フレームワークとか恥ずかしすぎるぞ、おまえ。
865デフォルトの名無しさん:2012/05/04(金) 13:12:27.84
>>856
例外はそれで良いんだよ。何しろ例外だw
866デフォルトの名無しさん:2012/05/04(金) 13:12:51.31
コストを語るときには頻度を考慮することが大事ですよ
867デフォルトの名無しさん:2012/05/04(金) 13:13:00.38
>>859
池乃めだかかよ
868デフォルトの名無しさん:2012/05/04(金) 13:14:10.72
まあ、他値返せれば話はまた違うんだろうけど
869デフォルトの名無しさん:2012/05/04(金) 13:15:32.36
世界で何番目に使われてるか分からない言語の分際で
プログラミング論などゴチャゴチャ抜かさない欲しいものですじょ
870デフォルトの名無しさん:2012/05/04(金) 13:15:43.81
>>866
昔、ループの末端で使われると分かってるのに、
文字列から数値に変換するときに例外出す馬鹿なライブラリがあってな。
データファイルの読み込みにアホみたいな遅くて使い物にならなかったんだ。
871デフォルトの名無しさん:2012/05/04(金) 13:17:37.86
>文字列から数値に変換するときに例外出す馬鹿なライブラリ

いまだに数値文字列の解析にはNumberFormatExceptionを捕まえなければいけない某言語が馬鹿にされたような気がしました!
いやあの仕様は馬鹿だけどね
872デフォルトの名無しさん:2012/05/04(金) 13:18:43.85
>>864
なんか二人とも話が噛み合ってない気がするけど、少なくとも例外機構に
機械語は直接関係ないと思うけど....

勘違いしてるかも知れないけど、今話してる例外はCPUネイティブな例外を
使ってるわけじゃないですよ?w
873デフォルトの名無しさん:2012/05/04(金) 13:18:50.39
>>867
ファイルI/Oとか通信の例外で一々強制終了するソフトって余り見たことありませんよw
874デフォルトの名無しさん:2012/05/04(金) 13:20:23.76
>>872
例外発生してないのになぜtryスコープに入って出るだけで遅くなるんですか?w
875デフォルトの名無しさん:2012/05/04(金) 13:20:46.54
お前の存在が例外
876デフォルトの名無しさん:2012/05/04(金) 13:20:59.45
JITの掛ける最適化に違いがでるからです
877デフォルトの名無しさん:2012/05/04(金) 13:22:46.44
つかね、遅いから使う使わないじゃなくて
ボトルネックになってるから使う使わないって考えるんだよ
初心者に理解しろとは言わないが…
アムダールの法則くらいは分かるでしょう?
878デフォルトの名無しさん:2012/05/04(金) 13:22:51.60
>>873
言っちゃ悪いが馬鹿かよ。

だから例えばIO処理でエラーが発生した時、その呼び出し側がそのエラーを
想定して適切な処理を行ってないのなら、プログラムはそこで停止してくれた方が安全でしょ。

安全側に倒すのは工学の基本ですよ。
879デフォルトの名無しさん:2012/05/04(金) 13:25:22.34
>>875
catchしてやれよw
880デフォルトの名無しさん:2012/05/04(金) 13:25:37.00
>>874
ちょっと何言ってるのか分からないんですが
881デフォルトの名無しさん:2012/05/04(金) 13:26:08.92
>>878
安全じゃねーよ
882デフォルトの名無しさん:2012/05/04(金) 13:26:40.79
>>874
なんでだろーねー?
883デフォルトの名無しさん:2012/05/04(金) 13:26:54.78
>>880
素人だからだと思います。
884デフォルトの名無しさん:2012/05/04(金) 13:27:31.61
>>881
うん素人はだいたいそう言う。
885デフォルトの名無しさん:2012/05/04(金) 13:27:34.94
例えばtryブロック中では命令語の順序を入れ替えて局所化するようなことができません
886デフォルトの名無しさん:2012/05/04(金) 13:27:42.42
>>874は素人のさらの斜め下
887デフォルトの名無しさん:2012/05/04(金) 13:29:05.78
まじで >>874 の質問が答えられない素人ばかりなの?
888デフォルトの名無しさん:2012/05/04(金) 13:29:10.96
>>886
何を言ってるのか分からないよねw
>>872はそんな話全然振ってないのに
889デフォルトの名無しさん:2012/05/04(金) 13:29:17.10
>>878
I/O処理で例外を発生させるのは.netフレームワークだから、適切な処理って必ず例外が絡んでくるんだがw
まあエラーの頻度を少なくするための工夫はプログラミングするべきだが全部はカバーできないだろ
890デフォルトの名無しさん:2012/05/04(金) 13:32:04.15
>>889
だから俺は例外を使うな論に反対してる立場なんですが....
891デフォルトの名無しさん:2012/05/04(金) 13:33:54.65

パターン1
Stopwatch sw = new Stopwatch();
sw.Start();
int t = 0;
for( int i = 0 ; 100000> i ; i++ )
  try {t++;} catch {}
sw.Stop();
Console.WriteLine( sw.ElapsedTicks ); // 700

パターン2
Stopwatch sw = new Stopwatch();
sw.Start();
int t = 0;
for( int i = 0 ; 100000 > i ; i++ )
 t++;
sw.Stop();
Console.WriteLine( sw.ElapsedTicks ); // 614

機械語だとか言ってる速度厨は、ともかく、そんなに差は、無い気は、しますがw
ループの中でtry/catchしてるのは、検証のためで実際は、こんな書き方は、しないけど。
892デフォルトの名無しさん:2012/05/04(金) 13:34:19.68
できないのはtryでも無理なケースです
893855、877:2012/05/04(金) 13:34:44.84
俺も遅いから使うな論は単なる馬鹿の一つ覚えで相手にする価値がないと思ってます
894デフォルトの名無しさん:2012/05/04(金) 13:36:07.12
また、速度厨か・・・
895デフォルトの名無しさん:2012/05/04(金) 13:38:07.59
生まれつきのスピード狂ならIA-32/64でも書いてればいいじゃない
896デフォルトの名無しさん:2012/05/04(金) 13:39:19.75
機械語レベルなんかで速度云々言うぐらいなら、そもそもC#(.NET)使うのが間違ってる。
897デフォルトの名無しさん:2012/05/04(金) 13:40:15.23
>>891
おれのマシンだと、
700592
100704

どんな設定で計ったんだ?圧倒的にtryが遅い。
898デフォルトの名無しさん:2012/05/04(金) 13:41:01.74
お前こそどんな設定で何を測ったんだよたわけ
899デフォルトの名無しさん:2012/05/04(金) 13:41:47.86
>>893
昔、文字列から数値変換で例外使っていて遅すぎて、
例外なし版を追加したライブラリがあってだな。

そういうライブラリは相手にしないほうがいいぞ。
900デフォルトの名無しさん:2012/05/04(金) 13:42:34.23
いまだに数値文字列の解析にはNumberFormatExceptionを捕まえなければいけない某言語が馬鹿にされたような気がしたああああああ
901デフォルトの名無しさん:2012/05/04(金) 13:42:42.45
try-catchは遅くならない→素人未満
例外遅いから使うな→無能の典型
例外を使うな論→バカの一つ覚え
902デフォルトの名無しさん:2012/05/04(金) 13:42:45.16
割りと例外が頻発する糞仕様のソフトだけが問題だろうに
903デフォルトの名無しさん:2012/05/04(金) 13:43:52.91
>>900
お前は落ち着け
904デフォルトの名無しさん:2012/05/04(金) 13:44:18.81
>>900
c#の話を必死にJavaにしたがる馬鹿乙。
905デフォルトの名無しさん:2012/05/04(金) 13:47:12.92
さてこの辺でお開きかな
906デフォルトの名無しさん:2012/05/04(金) 13:48:29.57
>>901
語弊があるかも知れんが、tryブロックに入る以上、全く遅くならないということはなく、
わずかに遅くなる。なんでもかんでも例外で対処すれば、良いってことではなくて、
適切な箇所で使えば良いのではと思うんだが。C#使う以上、まったくtry-catch使わないで良いわけではないし。
それ以上気にするならC#使う選択がそもそものマチガイだ。
907デフォルトの名無しさん:2012/05/04(金) 13:49:16.39
>>891
何度やってもパターン1が遅いんだが・・・
908デフォルトの名無しさん:2012/05/04(金) 13:49:34.60
言語様にユーザーが合わせてやるんだよ
言語様に文句を言っても聞き入れてくれません
909デフォルトの名無しさん:2012/05/04(金) 13:51:11.67
横柄やなー
910デフォルトの名無しさん:2012/05/04(金) 13:52:41.35
>>891
デバッグモードでやったら、似たような速度になったわ。

おまえ馬鹿だろw
911デフォルトの名無しさん:2012/05/04(金) 13:55:41.87
>>910
リリースもデバッグモードですから問題ありませんw
912デフォルトの名無しさん:2012/05/04(金) 13:56:37.18
ここからはデバッグ/リリース論に移行しまぁす
913デフォルトの名無しさん:2012/05/04(金) 13:59:01.63
リリースはデバッグモードでした方が色々捗る
パフォーマンス?知らんがな
914デフォルトの名無しさん:2012/05/04(金) 13:59:30.74
>>891
なんでリリースだとパターン2が圧倒的に速くなるんですか?
上のほうレスで遅くならないって言ってますた。
915デフォルトの名無しさん:2012/05/04(金) 14:02:35.40
VCの例でいくと-ODは-O0なのさ
通常は-O2
916デフォルトの名無しさん:2012/05/04(金) 14:02:52.88
>>914
言ってました
じゃねーよ。自分の手を動かせすらしないカスは黙ってggrks
917デフォルトの名無しさん:2012/05/04(金) 14:03:52.74
(ノ∀`)アチャー
918デフォルトの名無しさん:2012/05/04(金) 14:05:40.01
手を動かしたらtryは例外発生しなくても遅かったです。
919デフォルトの名無しさん:2012/05/04(金) 14:07:52.41
tryを外したら速くなりました。遅い原因はtryでした。
920デフォルトの名無しさん:2012/05/04(金) 14:11:10.35
try-catchブロックとそうでないものと比べれば、前者が遅くなるのは、
当然のことだ。そんなものは、動かさなくても予測できる。
921デフォルトの名無しさん:2012/05/04(金) 14:12:19.06
そーっすね
922デフォルトの名無しさん:2012/05/04(金) 14:12:55.50
ILや機械語できないと予測は無理だろう。
923デフォルトの名無しさん:2012/05/04(金) 14:14:08.62
予測できないなら予測できる人の言うこと黙って聞いてりゃいいんだよ口ごたえせずに
924デフォルトの名無しさん:2012/05/04(金) 14:15:38.56
遅くならないと誤った予測した人がここには大勢いてだな。
しかも素人なのに自分の過ちを受け入れられないほどプライドが高くてだな。
925デフォルトの名無しさん:2012/05/04(金) 14:16:19.70
例外発生時に比べれば遅くならない
926デフォルトの名無しさん:2012/05/04(金) 14:16:37.26
C#っていうか.net使ってて遅いなんていっててもな〜
だったら、ネイティブ吐けるC/C++にいけよ

所詮は中間コードを随時翻訳しているインタプリタみたいものだぞ C#は
927デフォルトの名無しさん:2012/05/04(金) 14:17:11.32
プライドが高いんじゃなくて
思い込みが強いだけです
928デフォルトの名無しさん:2012/05/04(金) 14:17:51.55
ngenが何しているか知っているならインタプリタっていう語は出てこない気がするけどな
929デフォルトの名無しさん:2012/05/04(金) 14:18:04.03
インタプリタとしては微妙だ
930デフォルトの名無しさん:2012/05/04(金) 14:18:24.18
根拠出して喋る癖が付いてねエンだろ
931デフォルトの名無しさん:2012/05/04(金) 14:19:37.69
言葉遊びしドル
932デフォルトの名無しさん:2012/05/04(金) 14:21:21.72
もはやJITとは言えない。
933デフォルトの名無しさん:2012/05/04(金) 14:22:03.85
無能は暇そうでいいな
934デフォルトの名無しさん:2012/05/04(金) 14:22:13.58
>>925
負け惜しみを!!
935デフォルトの名無しさん:2012/05/04(金) 14:23:18.25
tryの速度低下が気になるようならC#を選択した事自体間違いだわな
936デフォルトの名無しさん:2012/05/04(金) 14:23:30.26
それは間違いない
937デフォルトの名無しさん:2012/05/04(金) 14:24:55.59
C++でnativeで吐こうがtryは糞遅いわけだが・・・
938デフォルトの名無しさん:2012/05/04(金) 14:25:02.90
>>928
ngenが全中間コードを一気にネイティブに変換してるとでも?w
939デフォルトの名無しさん:2012/05/04(金) 14:26:14.52
馬鹿は含みを持たせて喋らなくていいよ
940デフォルトの名無しさん:2012/05/04(金) 14:26:51.19
まったくもって、その通り。というか、それに尽きる。
いくら足掻いたところでtry自体の改善は、C#には、できないわけだし、
使い方で改善は、できるけど、言語仕様そのものに手を加えることは、できない。
941デフォルトの名無しさん:2012/05/04(金) 14:27:19.37
↑自己紹介乙
942デフォルトの名無しさん:2012/05/04(金) 14:27:56.19
943デフォルトの名無しさん:2012/05/04(金) 14:28:08.21
はさまったか
944デフォルトの名無しさん:2012/05/04(金) 14:28:38.98
c++だろうがc#だろうがtryは遅い。これはガチ。
945デフォルトの名無しさん:2012/05/04(金) 14:29:17.32
そもそも仕組み上、遅くなるのは言語に依存しないはずだ
946デフォルトの名無しさん:2012/05/04(金) 14:29:32.37
これからはもうtryしないことにするわ
疲れちまったんだよ……
947デフォルトの名無しさん:2012/05/04(金) 14:31:48.83
なんだか疲れたんだ…パトラッシュ
948デフォルトの名無しさん:2012/05/04(金) 14:35:29.90
今までの流れ

例外は遅くない ←馬鹿にされる。
tryがあっても例外が発生しないなら遅くならない ←また馬鹿にされる
tryは遅いからC++使え ←また馬鹿にされる。今ココ
949デフォルトの名無しさん:2012/05/04(金) 14:38:06.36
速度厨が吠えてるだけだろ
950デフォルトの名無しさん:2012/05/04(金) 14:39:27.16
速度がどうでもいいならJavaでも使ってな。
951デフォルトの名無しさん:2012/05/04(金) 14:40:10.39
trycatchの問題は大域ジャンプが制御不能になることだから速度低下とか言ってるのは的外れ
952デフォルトの名無しさん:2012/05/04(金) 14:41:06.39
>>950
釣れますか?
953デフォルトの名無しさん:2012/05/04(金) 14:41:23.33
速度がどうでもよくない人がC#って・・・
954デフォルトの名無しさん:2012/05/04(金) 14:41:42.57
>>952
釣れましたw
955デフォルトの名無しさん:2012/05/04(金) 14:43:00.06
質の高いライブラリとインテリセンス、デバッガ
言語仕様もハイセンスで使いやすいからC#なんであって
速度とかどうでもいいです
956デフォルトの名無しさん:2012/05/04(金) 14:43:03.25
>>951
制御不能って
どうやったらそんなことになるんだよw
957デフォルトの名無しさん:2012/05/04(金) 14:43:07.32
今日もC#スレは平常進行!
958デフォルトの名無しさん:2012/05/04(金) 14:43:44.07
>>955
w
959デフォルトの名無しさん:2012/05/04(金) 14:43:49.49
>>951
実際、MSは例外の速度問題でライブラリを改善したので、その指摘こそ的外れ。
960デフォルトの名無しさん:2012/05/04(金) 14:43:58.63
例外は本質的に大域ジャンプだから制御可能なシロモノではないのです
961デフォルトの名無しさん:2012/05/04(金) 14:44:18.85
782 名前:デフォルトの名無しさん[] 投稿日:2012/05/03(木) 22:16:45.58
例外の処理方法について まず、大原則を覚えてください。
よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。
もう一度繰り返します。
よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。
もう一度(ry、すみませんしつこいですね^^。でもこれ、めちゃめちゃ重要なのです。

C# や VB を学習すると、割と早い段階で try-catch 構文による例外処理方法を学習すると思います。
が、実際のアプリケーションコードでは、特殊な事情(後で説明します)がない限りは、
try-catch を記述してはいけないのです。
では try-catch を書かずにどうやって例外の後処理をすればよいのか....というと、
通常、集約例外ハンドラと呼ばれる機能を利用します。

質問です。使うべきですか?


制御がどうこうなどハナから論点ではない
962デフォルトの名無しさん:2012/05/04(金) 14:45:05.68
>>960
え?
963デフォルトの名無しさん:2012/05/04(金) 14:45:39.85
世界一使われているjpegライブラリとpngライブラリは大域ジャンプを多用しています
エラー処理ももちろんlongjmp
964デフォルトの名無しさん:2012/05/04(金) 14:46:59.33
>>961
http://blogs.msdn.com/b/nakama/archive/2008/12/29/net-part-1.aspx

コピペのもとになっているこれをよめば
制御の問題だって書いてあるじゃん
965デフォルトの名無しさん:2012/05/04(金) 14:48:02.10
>>963
c言語は例外をサポートしてません。
966デフォルトの名無しさん:2012/05/04(金) 14:48:03.21
>>963
キモーイ
967デフォルトの名無しさん:2012/05/04(金) 14:49:21.87
>>965
大域ジャンプだけど立派に制御されているようですよ?
使う人間の技量が腐ってるのではないでしょうか?
968デフォルトの名無しさん:2012/05/04(金) 14:49:55.35
>>967
いいえ違います。腐ってるのは脳です。
969デフォルトの名無しさん:2012/05/04(金) 14:51:02.36
なるほど、それじゃ改善は見込めませんね。お可哀想に。
970デフォルトの名無しさん:2012/05/04(金) 14:52:04.27
大域ジャンプしたら全部ひとつの関数に書いてgoto使いまくってんのと変わんねーし
単純な画像処理だからできることって感じだよね
971デフォルトの名無しさん:2012/05/04(金) 14:52:58.82
なにを作るかにもよっても違うんじゃねーの?
972デフォルトの名無しさん:2012/05/04(金) 14:54:04.37
ああ、問題を単純に分解できないから制御しきれないってことですね。
こいつは重症だ。
973デフォルトの名無しさん:2012/05/04(金) 14:54:34.11
974デフォルトの名無しさん:2012/05/04(金) 14:58:50.52
>>967
gotoだろうが多重継承だろうが制御できないというのは、PGの髪のことだよ。
使えばハゲる。
975デフォルトの名無しさん:2012/05/04(金) 14:58:56.52
例外は大域ジャンプだから制御出来ない!君は
勉強し直してきてくれ
976デフォルトの名無しさん:2012/05/04(金) 14:59:32.90
いやもうプログラミングから離れてろよ
邪魔すぎ
977737:2012/05/04(金) 15:00:39.37
>>737
C#のExpressでは非対応の機能となっていることがわかりました。
調べがたりませんでした。すみませんでした。
ttp://msdn.microsoft.com/ja-jp/library/dd293687.aspx
978デフォルトの名無しさん:2012/05/04(金) 15:01:28.26
次スレはソフトウェア板でいいのけ?
それとも立てた方がいいの?
979デフォルトの名無しさん:2012/05/04(金) 15:02:16.39
立てる必要もないだろw
980デフォルトの名無しさん:2012/05/04(金) 15:03:06.69
大域ジャンプってなんだよ。farジャンプのことか?
いつまで8086の亡霊引きずってんだよ。
981デフォルトの名無しさん:2012/05/04(金) 15:04:21.43
頭が20年前なんだよ
982デフォルトの名無しさん:2012/05/04(金) 15:05:32.25
setjmp longjmpみたいなやつだろ
Cの封印された機能の
983デフォルトの名無しさん:2012/05/04(金) 15:06:39.74
VCのsetjmpとlongjmpはマネージコードにもジャンプできて地味にすごいのよ
984デフォルトの名無しさん:2012/05/04(金) 15:08:55.43
VS11からは削除されるけどね>ネイティブからマネージへのジャンプ
985デフォルトの名無しさん:2012/05/04(金) 15:11:59.92
tryの機能を関数化しただけか。C言語のほうが先だけど。
986854:2012/05/04(金) 15:30:12.21
>>854
すいません、質問の仕方が適当すぎでした。書き直します。

ttp://pastebin.com/CzAxx3f2

配布したアプリでの話です。
例外が発生したとき一番上の階層で try..catch して Hoge -> Piyo -> Fuga という呼出履歴を取得したいんです。

各メソッドに try..catch { throw; } と書けば取得できるのですが、
すべてのメソッドに try..catch { throw; } を書くのはなんかスマートじゃない気がするんです。
なにか他にいい方法はありますか?

VSでやるなら、Releaseモードでデバッグ無しで実行したときに呼出履歴を取得出来ればいいのですが。
987デフォルトの名無しさん:2012/05/04(金) 15:31:27.34
それ以上にスマートな方法はありません。
988デフォルトの名無しさん:2012/05/04(金) 15:37:57.76
別にReleaseモードだって例外のStackTrace見りゃ書いてあるでしょう
989デフォルトの名無しさん:2012/05/04(金) 16:02:35.45
その例外捕まえるのを楽したいって話だよな
でも、地道にやるしかないんですわ
990デフォルトの名無しさん:2012/05/04(金) 16:07:45.85
うめ
991デフォルトの名無しさん:2012/05/04(金) 16:14:59.62
うめ
992デフォルトの名無しさん:2012/05/04(金) 16:21:44.47
各メソッドにtrycatch書かなくたってそのまま登ってきた階層分ぜんぶスタックトレースに書いてあるでしょう
993デフォルトの名無しさん:2012/05/04(金) 16:23:55.10
うめしゅ
994デフォルトの名無しさん:2012/05/04(金) 17:13:28.09
ふらっとVisual C#,C♯,C#(初心者用) Part93
http://toro.2ch.net/test/read.cgi/tech/1336119105/
995デフォルトの名無しさん:2012/05/04(金) 17:16:23.06
さっさと埋めろや
996デフォルトの名無しさん:2012/05/04(金) 17:17:14.34
>>995が土葬をご所望だ
997デフォルトの名無しさん:2012/05/04(金) 17:17:21.52
>>994
otu
998デフォルトの名無しさん:2012/05/04(金) 17:18:28.01
あびらへんやぁーーーーーーーーーーー!!!
999デフォルトの名無しさん:2012/05/04(金) 17:18:50.83
うえm
1000デフォルトの名無しさん:2012/05/04(金) 17:19:14.12
C#はVB6より遅いw
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。