2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

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

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

前スレ
ふらっとC#,C♯,C#(初心者用) Part45
http://pc12.2ch.net/test/read.cgi/tech/1253522504/

2 :デフォルトの名無しさん:2009/10/16(金) 10:58:07
-----関連スレ

C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1255530225/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/

----参考サイト

http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/

3 :デフォルトの名無しさん:2009/10/16(金) 10:58:40
あ、タイトル間違えた
正しくはPart46
次ぎ立てるときに直します

4 :デフォルトの名無しさん:2009/10/16(金) 11:58:11
>>3
どんまい

5 :デフォルトの名無しさん:2009/10/16(金) 13:26:30
>>980
(注) 当スレはPart46、次スレはPart47です。

これで大丈夫だろ

6 :デフォルトの名無しさん:2009/10/16(金) 14:18:37
◆宣伝、広告◆
腕に自信のあるプログラマは、以下のコンピュータ大富豪大会に参加しましょう。

ひろゆき杯コンピュータ大富豪大会
http://uecda.nishino-lab.jp/2009/


○What's UECda?

大貧民(または大富豪)は、我が国で最もポピュラーなトランプ・ゲームのひとつでしょう。
このゲームは、1960年頃に日本で生まれたと言われており、海外では、ほとんどプレイされていないようです。
本大会は、その日本固有の人気トランプ・ゲームである大貧民を、人が直接プレイするのではなく、
プレイするコンピュータ・プログラムを作成して持ち寄り、対戦させる大会です。

主催

電気通信大学

7 :デフォルトの名無しさん:2009/10/16(金) 15:18:49
>>6
CかJavaが基本って書いてあるぜw

8 :デフォルトの名無しさん:2009/10/16(金) 17:11:59
C#はC系統だから大丈夫じゃない?

9 :デフォルトの名無しさん:2009/10/16(金) 18:23:36
別にロジックだけの勝負だから実現できれば何でもいいとは思うんだけどなぁ
速度面が・・・と言われてもそこまで遅くはないだろうし

10 :デフォルトの名無しさん:2009/10/16(金) 18:44:19
別にC#にこだわる必要もないけどな
どうせJava使ったとしてもCっぽいコード書くだろうし

11 :デフォルトの名無しさん:2009/10/16(金) 19:03:14
構造体にintとdoubleのメンバ変数があって、
フォームのラジオボタンで指定したメンバでソートしたいのですが、
Sortメソッドでやろうとすると、メンバ変数の数だけIComparerクラスを作る以外にうまい方法はありますか?


12 :デフォルトの名無しさん:2009/10/16(金) 19:08:52
リフレクション使ってプロパティに文字列でアクセスしてIComparable.Compareで比較。
あと,構造体は特殊な場合に使うもので普通そういうのにはクラスを使う。

13 :デフォルトの名無しさん:2009/10/16(金) 19:51:00
大富豪は作る気がしないな実用性がないし
対人でできるようにするにはパケット監視してやらないとだめだしなー

それよりテラリウム復活させてほしいわ

14 :デフォルトの名無しさん:2009/10/16(金) 19:54:13
>>12
すいません、よくわかりません
class Sample {
int data1, data2;
double data3;
}
みたいなクラスで、
Sample[] S = new Sample[10];
と宣言してあるのですが、

ラジオボタンの情報をどうやって渡せばいいのでしょうか?

15 :デフォルトの名無しさん:2009/10/16(金) 19:54:44
シムアースが好きだった

16 :デフォルトの名無しさん:2009/10/16(金) 19:57:13
class Sample {
int data1, data2;
double data3;
public bool RajioBotanChecked;
}

S.RajioBotanChecked=ラジオボタン.Checked;

17 :デフォルトの名無しさん:2009/10/16(金) 20:12:06
IComparer作らなくても
Array.Sort(S, (x, y) => x.data1.CompareTo(y.data1));
これだけのこと

18 :デフォルトの名無しさん:2009/10/16(金) 20:21:13
>>999
LINQサンキューです。
>>998
そうですか。
そうすると、List<>を使って読み込んでフィルタリングする、という処理はこれでオーケー?
Contains("good")
をメソッドに取り出す、というのは、メソッド化する、ってことですか?
List<string> photolists = new List<string>();
string[] photofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories);
foreach(string photofile in photofiles) {
selectGood(photofile);
}

private void selectGood(string photofile){
if (photofile.Contains("good")){
photolists.Add(photofile);
}
}
とかって話?
Array.FindAllだから違うか。違うよな〜、きっと。

string[] photofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories);
string[] photolists = Array.FindAll(photofiles, delegate(string photofile){return photofile, Contains("good")});
とかですか?
丸写しですが、delegateってなんだ…。


19 :デフォルトの名無しさん:2009/10/16(金) 20:24:56
デリゲートはイベントハンドラみたいなもの

あるメソッドが実行されると自動で呼び出されて指定の処理をする

20 :デフォルトの名無しさん:2009/10/16(金) 20:26:30
ていうかMSDNでArray.FindAllのサンプルコードぐらい読めよ
なんでいきなり匿名メソッドとかに手を出すんだよ

21 :デフォルトの名無しさん:2009/10/16(金) 20:38:32
まあLINQ使わないんだったら普通にforeachでフィルタリングした方がいいよ
わざわざFindAllのフィルタのためのメソッドを外に定義したりしたら分散して余計にわかりづらくなる

22 :デフォルトの名無しさん:2009/10/16(金) 20:44:53
lambda使えばいい


23 :デフォルトの名無しさん:2009/10/16(金) 21:01:58
>>21
ものには順番ってあるだろ……

24 :デフォルトの名無しさん:2009/10/16(金) 21:19:15
>>18
まじでmsdnをみろw
前回の配列にするLINQのToArray()をToList()にするだけだろ・・・。

25 :デフォルトの名無しさん:2009/10/16(金) 21:26:23
>>18
LINQが嫌いなら↓でもできるけど意味わかるか?
Array.FindAll(photofiles, (s => s.Contains("good")));
この1文を無名delegateを使って書いてみ?

26 :デフォルトの名無しさん:2009/10/16(金) 22:02:36
foreachが取り出す順番っていうのは法則があるのでしょうか?
例えば配列をforeachした場合、要素のはじめから取り出す保証はあるのでしょうか?

27 :デフォルトの名無しさん:2009/10/16(金) 22:09:41
>>26
それはコレクションのオブジェクトの仕様による。

配列やListであれば先頭から。


28 :デフォルトの名無しさん:2009/10/16(金) 22:56:06
Java Language Conversion Assistant 3.0
ってもう手に入らないの?

29 :デフォルトの名無しさん:2009/10/16(金) 23:41:54
>>27
どのような仕様だとどのような順番になるんでしょうか?

30 :デフォルトの名無しさん:2009/10/16(金) 23:52:38
イテレータの実装がコレクションを先頭から返していれば、だろう

31 :デフォルトの名無しさん:2009/10/16(金) 23:57:14
>>29
順番が気になるなら、使いたいコレクションの説明を読めば良い。

32 :デフォルトの名無しさん:2009/10/16(金) 23:58:44
>>30-31
ありがとうございました。

33 :デフォルトの名無しさん:2009/10/17(土) 00:45:30
というか、そこまでRDB的な処理を求めるなら、
実際にSystem.Data.SQLiteでテーブル作っちゃったほうが早いような気がするんだが。
ファイルDBにしたら勝手に保存もされるし。

34 :デフォルトの名無しさん:2009/10/17(土) 01:01:17
>>19-24
まてまてみなさん。初心者なのですよ。
LINQが好きも嫌いもない。あえていうと、
・List<>は覚えたい。
・delegateは生まれて初めて触ったところ。
・msdnはときどき見てるけど読みにくいのでほとんど理解できない(今回は見てない)。すまん。
・Array.FindAllも生まれて初めて触った。ITProのソースをそっくり流用してみた。(匿名メソッドって、どれが匿名メソッドなのかもわかってない)。
・LINQはすごいと評判なので覚えたいが、まだ早いといわれた。まあそうかなと思ってる。
ってところだよ。
>>25
ってわけで、無名delegateなんてはじめて聞くよ〜。すまん。


35 :デフォルトの名無しさん:2009/10/17(土) 05:16:17
しかし、FindAllを使いたいならばPredicateを理解しなくちゃだめだぞ。
その前にFindAllはジェネリックメソッドといってだな、次のような定義になる。
public static T[] FindAll<T> (
T[] array,
Predicate<T> match
)
型パラメータTは配列要素で、
string[] photofilesに対して、FindAllを使うなら
T[]はstring[]、Tはstringになる。

つまり、
Array.FindAll(string[],Predicate<string>)となる。

さらにPredicateはジェネリックデリゲートと呼ばれ、
public delegate bool Predicate<T> (
T obj
)
のように定義される。
ようは型パラメータTに対する比較式の結果をboolで返す機構だ。
ここでTはstringなので
Array.FindAll(string[],(stringを引数にもつ比較式))となる。

ここまではOK?

36 :デフォルトの名無しさん:2009/10/17(土) 05:41:00
そしておまえさんが匿名メソッドを使ってあらわそうとした正解は、
var photolists = Array.FindAll(photofiles,delegate(string s)
{
return s.Contains("good");
});

になる。
FindAllの第二引数(delegate〜)が匿名メソッド。
名前からわかるように匿名のメソッドだ。
通常は他に宣言しなくちゃならないメソッドをこの文の中で宣言、実行をしている。
これをラムダ式を使い表現すると
var photolists = Array.FindAll(photofiles, s =>
{
return s.Contains("good");
});
となる。delegate(string s)の表記がs=>に置き換えられる。
なぜこんなことができるかはhttp://msdn.microsoft.com/ja-jp/library/bb531253.aspxを見なさい。
さらに省略すると
(s => s.Contains("good"))
となる。


37 :デフォルトの名無しさん:2009/10/17(土) 10:18:08
MSDNも衣替えか

38 :デフォルトの名無しさん:2009/10/17(土) 10:28:08
KnowledgeBaseも更新されてるね。
使用中のOS以外のKnowledgeBase見るとメッセージでる。


スレッドを作ってバックグラウンドで動作させているとき、
フォームを閉じちゃうとバックグラウンド処理も終了するということですが、
たとえば、PCの電源を強制的に切るようなかんじで
スレッドを終了するということですか?

39 :デフォルトの名無しさん:2009/10/17(土) 10:41:35
うん
まあ強制終了するかどうかはIsBackground次第だけど

40 :デフォルトの名無しさん:2009/10/17(土) 10:46:42
それ、ThreadAbortExceptionくらい投げてくれればいいのにな
仕様だから仕方ないけど

41 :デフォルトの名無しさん:2009/10/17(土) 11:01:15
Windows mobile プロジェクトを5つ含むソリューションをフォルダごと移動したら
mobile cab 配置プロジェクトの依存関係がまったく表示されなくなって
ビルドすると HRESULT=80004005 エラー が出ます
同じ目的で新しい配置プロジェクトを作っても問題は変わりません
ターゲットプロジェクトはビルドできるし、正常に起動します

どうしたらいいでしょうか?


42 :デフォルトの名無しさん:2009/10/17(土) 11:01:47
やはりそうですか。
確かに例外とか投げてくれるとうれしいけど、
フォアグラウンドでやればええやん、って話にしかならないのかな。

43 :41:2009/10/17(土) 11:14:05
自己解決
移動前にコンパイルエラーを出していたプロジェクトが勝手にソリューションから外れてました
それを追加して配置プロジェクトの構成で該当プロジェクトを含むようにプロパティを変更したら治りました

お騒がせしました

44 :デフォルトの名無しさん:2009/10/17(土) 12:54:19
こんにちは。どなたかC♯でBMI計算プログラムをvisual studio 2008 もしくは2005 で作成してアップしてくださいませんか・・・?
そのプロジェクトフォルダ全部をアップお願いします。

45 :デフォルトの名無しさん:2009/10/17(土) 12:54:53
そういうスレじゃないから死になさい

46 :デフォルトの名無しさん:2009/10/17(土) 13:00:45
>>44
いくら払えるの?

47 :デフォルトの名無しさん:2009/10/17(土) 13:43:13
宿題スレ行け

48 :デフォルトの名無しさん:2009/10/17(土) 14:45:11
BMI=体重/(身長^2)
たったこんだけの式なんだがどんだけリッチなフォームなら納得してもらえるのやらw
萌えキャラが脱ぎながらアドバイスとかしてくれれば完璧かな

49 :デフォルトの名無しさん:2009/10/17(土) 14:51:17
そのキャラをマウスで回転させたりできるようにしてくれ。
どんな角度からも見えるようにな

50 :デフォルトの名無しさん:2009/10/17(土) 14:52:31
どうせ大学の課題かなんかだろうけど、こんなにクズが大学生なんて日本はどうなってるの?

51 :デフォルトの名無しさん:2009/10/17(土) 14:56:59
こうなってる

52 :デフォルトの名無しさん:2009/10/17(土) 15:08:10
ヤフーの知恵なんとかも宿題処理場化してるかんじがある。

53 :デフォルトの名無しさん:2009/10/17(土) 15:09:13
あそこはゆとりがゆとりを助けてる慣れ合い場だろ

54 :デフォルトの名無しさん:2009/10/17(土) 16:17:23
HTML文字列からWebBrowserを使わずに、構文解析してDOMオブジェクトを取得することってできますか

55 :デフォルトの名無しさん:2009/10/17(土) 16:24:58
>>54
C# html
でググれ。

56 :デフォルトの名無しさん:2009/10/17(土) 18:23:14
Webサーバー上のSQLサーバーにあるデータを全件(約2万件)、
データセット内のテーブルに格納し、
そのテーブルに対してSQLを発行し、
必要な条件のデータのみ(約2千件)を別のテーブルに保持したいと思っています。
このようなことを実現することは可能でしょうか?
どうすれば実現ができますでしょうか?

それは可能でしょうか?

57 :デフォルトの名無しさん:2009/10/17(土) 18:27:54
>>56
2万件のデータを一度にコントロールにぶち込むなんて、アホのすることじゃね?

58 :デフォルトの名無しさん:2009/10/17(土) 18:31:15
>>56
「別のテーブル」がSQLサーバの別のテーブルならば、T-SQL使ってサーバ側
だけで実施させるのが吉。
ローカルファイルとしてのテーブルなら、DataSetに取り込んであとは自由にどう
にでも。

59 :デフォルトの名無しさん:2009/10/17(土) 18:52:44
ありがとうございます。
「別のテーブル」とは、同じデータセット内に予め作成するテーブルを想定しています。
2万件のデータは、月別商品別の売上データです。
C#アプリケーションで、期間を指定して、売上情報を表示させたいのですが、
期間を変更するたびにWebサーバー上のSQLサーバーのデータを取得するようにしたところ、
検索ボタンを押して結果が表示されるまでに10秒ほどかかってしまうんです。
なので、アプリケーション起動時に全データをデータセット内に保持して、
検索のつどSQLサーバーにアクセスせず、スピードを高めたいと思っています。
2万件のデータは項目数自体は20項目ほどで少ないので、スプラッシュウィンドウを数秒表示させることにより、
起動時の読込時間をカバーしたいと思っています。

60 :デフォルトの名無しさん:2009/10/17(土) 18:54:25
それはしかたないことじゃないかな・・・
テーブルに置いちゃうのもいいけどそういった社内情報とかは常に最新のものを使った方がいいんじゃないかな?

と俺だけが思うことで流される必要はない!がんばれ!

61 :デフォルトの名無しさん:2009/10/17(土) 19:04:23
>>59
やっぱり分かってないな。
(アホ呼ばわりもう一回しようと思ったけど初心者スレだったことを思い出した)

RDBがあるときは、検索処理はRDBにやらせるんだよ。

62 :デフォルトの名無しさん:2009/10/17(土) 19:14:15
10秒かかるって、クエリーがよっぽどくさってるか、インデックス設計がおかしいだろ。

63 :デフォルトの名無しさん:2009/10/17(土) 19:18:32
2万件なら一瞬で取れる量だよね。
普通に設計すれば。

64 :デフォルトの名無しさん:2009/10/17(土) 19:19:57
>>59
自分もそう言うので悩んでるところなんだ。

結論から言えば出来るでしょ。
単純に SqlDataAdpter (だっけ?)クラスを使用してデータを DataTable に受ければ
ローカルにデータを保存することが出来るし、表示するデータを絞るとかなら DataView クラスを
使えると思うし。

でも先にその 10 秒の内訳と用件/制限の確認をした方がいいと思うよ。
仮にデータの抽出に時間が掛かってるだけなら、本職の RDB よりも速くできるかわかんないし。
それなら、テーブル設計を見直した方がいいかもしれない。
自分が試した範囲だと、データの転送や表示には数万件レベルでも思ってたよりは時間掛かってなかった。

更新が頻繁に掛かるテーブルなら、(すでに言われてるけど)ローカルの古いデータを元に
処理をしたんじゃ問題が生じることもあるかも知れないし。

65 :デフォルトの名無しさん:2009/10/17(土) 19:22:03
WebサーバーといってるからWebServiceを使ってるんじゃね?
あれはうまく調整しないとパフォーマンスが出ない。

66 :デフォルトの名無しさん:2009/10/17(土) 19:29:53
うん、そうかもしれんね。
この前9列7万件近いデータを datatable に取り込んだことあるけど
なんかほんと一瞬って感じで終わってびっくらこいたことある。
キャッシュか何か効いてたのかな?
経験が全然ないからよくわかんないけど。
あるいは何かかんちがいしてたのかもしれん。

でもまぁ、月別商品別の情報ってことは
過去の販売データのまとめだろうし、
一度にとってもいいんじゃないのかな。

67 :デフォルトの名無しさん:2009/10/17(土) 19:44:38
ManagementStudioで同SQLでかかる時間をまず計測してみ。
それで10秒かかるならSQLを見直す。
3層サーバとすると、次にWebサービスから呼び出してかかる時間を計測、次にアプリから呼んだ時にかかる時間、最後にアプリから呼んだ後にgridviewかなんかにバインドするまでの時間を計測してどこがボトルネックかを調べなさい。


68 :デフォルトの名無しさん:2009/10/17(土) 19:48:54
>>59
おれ中学生だけど社会人でこの程度もわからない人でも仕事もらえるんだな?
最近パソコン始めたおれでもできる

69 :デフォルトの名無しさん:2009/10/17(土) 19:51:06
インデクスはってないんじゃねぇの

70 :デフォルトの名無しさん:2009/10/17(土) 19:53:10
>>59
仕事は会社が受けるからな。
だから優秀な人間にお鉢が回り、優秀な人間からこの業界から去っていく。

71 :デフォルトの名無しさん:2009/10/17(土) 20:00:18
>>70
いい加減、そういうネトウヨチックな被害妄想の恥ずかしさに
気づくようになった方がいいんじゃない?
ま無理には勧めないが。

72 :デフォルトの名無しさん:2009/10/17(土) 20:01:45
2chで自己紹介しちゃうゆとりが痛すぎて直視できない

73 :デフォルトの名無しさん:2009/10/17(土) 20:05:56
俺も中学生だけどこのスレの中でいちばんゆうしゅうだと思うぜ。

74 :デフォルトの名無しさん:2009/10/17(土) 20:11:37
>>71
一部のできる人間ができない人間を食わせているのは事実だろ?
あおりでもなんでもなくね。

75 :デフォルトの名無しさん:2009/10/17(土) 20:20:39
>>74
そりゃそうだが、そんなの「パレートの法則」なんて言われるぐらい当たり前で
どこの組織にも見られる現象でしょ。

>>70がそうだと断言はしないが、なーんか自分が(前の)会社で上手くいかなかったことを
単に「合理化」(防衛機制って奴ね)しようとしてるようにも見えちゃうよね。

そうでなくても、>>70のような文章には、なんか「2chで俺は世の中の真実に目覚めた(マスゴミ?w特亜?w)」
ぐらいの勢いで思ってるウブなネトウヨのような青い臭いを感じて、読んでるこっちが
気恥ずかしくなるものがあるよ。


76 :デフォルトの名無しさん:2009/10/17(土) 20:22:56





















77 :デフォルトの名無しさん:2009/10/17(土) 20:24:12
日本語で

78 :デフォルトの名無しさん:2009/10/17(土) 20:25:26
いやー、良い勝負だとおもうな>>70>>75もw

79 :デフォルトの名無しさん:2009/10/17(土) 20:26:55
両方とも十把一絡げにしようとしてる時点で青い

80 :デフォルトの名無しさん:2009/10/17(土) 20:29:04
顔真っ赤な75の反論↓


81 :デフォルトの名無しさん:2009/10/17(土) 20:32:35
類は友を呼ぶ & 同族嫌悪 って事だな。

82 :デフォルトの名無しさん:2009/10/17(土) 20:32:56
え?おれ?

83 :デフォルトの名無しさん:2009/10/17(土) 20:37:24
何の話?

84 :デフォルトの名無しさん:2009/10/17(土) 20:43:34
俺だよ俺

85 :デフォルトの名無しさん:2009/10/17(土) 21:06:46
ふらっとで煽り合いとかゆとってるなぁ

86 :デフォルトの名無しさん:2009/10/17(土) 21:29:00
ゆとってるって始めて聞いた

87 :デフォルトの名無しさん:2009/10/17(土) 21:33:21
ゆとってるってなんだよ
かゆとってるだろw

88 :デフォルトの名無しさん:2009/10/17(土) 21:38:59
(´・∀・`)

89 :デフォルトの名無しさん:2009/10/17(土) 21:40:28
煽りあいじゃなく1人がファビョってるようにみえる。

90 :デフォルトの名無しさん:2009/10/17(土) 22:50:47
で、>>68 にお手本を見せて貰いたいものだと思う自分がいる。

91 :デフォルトの名無しさん:2009/10/18(日) 00:13:20
TreeViewのノードに、商品名を表示させて、さらにタブ(エスケープ文字?)を入れて、
価格を表示させたいと思っているんだけど、
ノードの表示名のパラメーターにエスケープ文字は使用できないのでしょうか?

92 :デフォルトの名無しさん:2009/10/18(日) 00:21:12
TreeViewにはXMLのデータ突っ込んでるってことかな?
普通に>とかの文字ならそんなことせずに表示できると思うけど

93 :デフォルトの名無しさん:2009/10/18(日) 00:47:49
>>92さんありがとうございます。
XMLのデータは使用していません。

Atree.Nodes.Add(01, "商品A" + "\t"+ "単価1,000円");

としたときに、\tが効かなく無視されているようなんです
(>_<)。

94 :デフォルトの名無しさん:2009/10/18(日) 00:53:30
\\t

95 :デフォルトの名無しさん:2009/10/18(日) 00:57:12
>>94
それだと \t という文字がそのまま表示されない?

96 :デフォルトの名無しさん:2009/10/18(日) 01:36:03
無理。

97 :デフォルトの名無しさん:2009/10/18(日) 01:41:53
できませんでしょうか…。

98 :中学生:2009/10/18(日) 02:56:15
>>97
"商品A" + @"\t"+ "単価1,000円"

ちょっと調べればわかることなんだけどバカなの?おじさんw

99 :デフォルトの名無しさん:2009/10/18(日) 06:54:46
デザインのプロパティで、ノードの描画方法を「システム自動」から、
「文字列だけプログラマが描画する」に変更する。

TreeView.DrowMode プロパティを TreeViewDrowMode.OwnerDrawText にする。


// デザイナでButtonのClickイベントに
private void button1_Click(object sender, EventArgs e)
{
  TreeNode node1 = new TreeNode("abcde");
  TreeNode node2 = new TreeNode("XYZ");

  // TagはObject型の物を入れておける。使用時にキャストとかする。
  node1.Tag = 123;
  node2.Tag = 98765;

  treeView1.Nodes.Add(node1);
  treeView1.Nodes.Add(node2);
}

100 :デフォルトの名無しさん:2009/10/18(日) 07:14:14
>>98
やはり中学生程度には無理かw

101 :99:2009/10/18(日) 07:15:51
// デザイナでTreeViewのDrawNodeイベントへ
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
  // 大きな意味はない。e.Graphics.DrawXXX(...)
  // たぶん省略したいだけ
  Graphics g = e.Graphics;

  // ノードの描画で使われるフォントの指定。
  // 今回は、Font(string システムにあるフォント名, float フォントサイズ)
  Font f = new Font("MS UI Gothic", 10f);

  // 文字列描画(string ノードのテキスト ,Font 描画フォント, Brush 今回は青or赤を指定 ,Point 描画の開始位置);
  g.DrawString(e.Node.Text, f, Brushes.Blue, new Point(e.Node.Bounds.X, e.Node.Bounds.Y));
  g.DrawString(e.Node.Tag.ToString(), f, Brushes.Red, new Point(e.Node.Bounds.X + 50, e.Node.Bounds.Y));
  
}

インデントに全角スペースを使っているので置き換えて試して。
自分で言うのも変だが、全然初心者向きじゃないコードでごめん。
そもそもツリー作っていないし。

102 :デフォルトの名無しさん:2009/10/18(日) 07:40:16
>>98
それだと、\tって表示されるだけだろ?
本当のやり方を書いてみなよ。

103 :本当の中学生:2009/10/18(日) 07:46:00
>>98
ちょっと調べてから書き込めよ。
馬鹿を晒すな。

104 :99:2009/10/18(日) 07:55:25
tp://nekokan.bex.jp/monpuchi/38DAB7FD5615087DA45D326E0C5B60750C3400FF.jpg

念のため言うけれど、見下しているわけではないから。
やっぱり最初は、Hello World!なわけで。

オーナードロー、下手にこりだすと止まらなくなるし…。

105 :デフォルトの名無しさん:2009/10/18(日) 07:57:25
バカがバカを煽って何やってんだか。
質問に答えた上で言えよw
オレ?もっとバカだから無理。全角スペースで我慢して下さい。

106 :デフォルトの名無しさん:2009/10/18(日) 08:03:07
>>104
これはTabではないよね。
こんなんでよければ半角スペースをうちこめばいい。

107 :デフォルトの名無しさん:2009/10/18(日) 08:34:05
>>106
プロポーショナルフォントで半角スペースを打ち込んで調節するのか?w

108 :中学生:2009/10/18(日) 09:43:06
>>93
ほらよ。感謝しろよ
"商品A" + \t+ "単価1,000円

それからな、ツリーはそういうことをするためのものじゃないから
おまえの設計が間違ってる
それでお前が思ったようなことができたとしても
そんな独自仕様扱いにくくて誰も使わないぞ

109 :中学生:2009/10/18(日) 09:45:44
>>105
どうせ、エクセルかなんかのタブ区切り文字列を
そのままつっこみたいんだろ?w
お前こそちゃんと答えろハゲ
妥協案なんていらないんだよチンカス

110 :中学生:2009/10/18(日) 09:50:18
>>108-109
人の名前語ってんじゃねーよゴミが
ちゃんとコンパイルしてからコード書けカス

111 :中学生:2009/10/18(日) 09:54:45
>>93
"商品A" + \\t+ "単価1,000円"

これでできないとは言わせないぞ。おっさん。

112 :中学生:2009/10/18(日) 10:10:52
>>93
"商品A" + "\\t" + "単価1,000円"

これが正解。



113 :デフォルトの名無しさん:2009/10/18(日) 11:34:54
MSDNのサイトが新しくなってFirefoxでも崩れなくなってるね
なのにIDEのブラウザだとまともに見れないのはなぜ?

114 :デフォルトの名無しさん:2009/10/18(日) 11:41:11
>>108-112
不正解。
間違いをここまで偉そうに語れるのはすごいわ。

115 :デフォルトの名無しさん:2009/10/18(日) 12:12:17
正解を語らずにここまで偉そうなのもすごいと思うよ

116 :中学生:2009/10/18(日) 12:52:04
>>114
試しもしないで何言ってんのこのおっさんは。

117 :デフォルトの名無しさん:2009/10/18(日) 13:01:09
>>116
オマエガナー

118 :デフォルトの名無しさん:2009/10/18(日) 13:02:57
できませんが正解だろ。

119 :中学生:2009/10/18(日) 13:05:13
言いたいことはそれだけか?
交信を終了する

120 :デフォルトの名無しさん:2009/10/18(日) 13:06:57
            ∩_ 
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /

121 :中学生:2009/10/18(日) 13:15:04
おっさんになんかなりたくないなー。
年とると馬鹿になるのかねぇ。

122 :中学生:2009/10/18(日) 13:18:24
>>121
人のふんどしで踊るなハゲ
目立ちたかったら自分で考えろチンカス

123 :デフォルトの名無しさん:2009/10/18(日) 13:21:25
踊る阿呆に見る阿呆。同じ阿呆なら踊らにゃ損々
ってなわけで、今日も全力で釣り針に食らいつく

124 :中学生:2009/10/18(日) 13:27:40
\tも知らずにプロ面してんのかよー。
おっさんは記憶力がないから困るわ

125 :小学生:2009/10/18(日) 13:28:32
そんなにそのコテ気に入ったならくれてやるよ

126 :中学生:2009/10/18(日) 13:29:50
踊らにゃ損々♪
>>124
馬鹿は黙って踊ってろ♪

127 :中学生 ◆gTss8OfLRY :2009/10/18(日) 13:38:16
誰が誰だか分からんw

128 :デフォルトの名無しさん:2009/10/18(日) 13:38:55
というか、TreeViewノードの深度によってテキストの開始x座標が変わるのに、
タブで無理やりそろえようなんてそもそも無駄だと思うんだが。
素直にListViewやDataSetあたりを使うか、
ListBoxをオーナードローするなりすればいいのに。

129 :デフォルトの名無しさん:2009/10/18(日) 13:44:01
わかっててエスケープ文字のリテラル表記の話にしてふざけてるのだろうけど、
TreeViewにTabを処理する機能がそもそもないから、
オーナードローでもしなきゃ無理って話だろ。

WPFならスマートにそういった機能拡張はできるよ。


130 :小学生:2009/10/18(日) 13:45:46
>>93
どんなフォーム作ってるんだ?
ちょっとjpgで見せてくれよwwおっさんww

131 :デフォルトの名無しさん:2009/10/18(日) 13:56:01
くだらないあおりとかはせいぜい10レス目以降は自重してくれよ。

132 :デフォルトの名無しさん:2009/10/18(日) 14:16:59
いままでC#とかVBやってきたんだけど継承ってほとんどやったことなくて、いつ使うべきかいまだに変わんない。
メソッドとか重複する時に使うんだなって頭でいるけどそれでいいの?
継承も使ったことないから、もちろんinterfaceも宣言したことない。

そのせいか親クラスはいつも子だくさん。
ほんと孕ませてばっかです。

133 :デフォルトの名無しさん:2009/10/18(日) 14:24:06
継承をほとんどやった事がないのに、親クラスが子だくさん…?

134 :デフォルトの名無しさん:2009/10/18(日) 14:25:20
包含かね?

135 :デフォルトの名無しさん:2009/10/18(日) 14:26:35
public class *** {
 class *** {
  class *** {
   class *** {
    class *** {
    }
     ∞
   }
  }
 }
}

136 :デフォルトの名無しさん:2009/10/18(日) 14:27:37
入れ子ね。

137 :デフォルトの名無しさん:2009/10/18(日) 14:29:31
自分ではもっとItestとかインタフェースってものを書いてみたいんだけど、機会がないから・・・
それに継承って、デバッグするとき継承先を辿る必要があったりするから難読化するんじゃないかなと思ってみたり。

138 :デフォルトの名無しさん:2009/10/18(日) 14:30:48
入れ子のほうがわかんない。使って便利なときってあるの?

139 :デフォルトの名無しさん:2009/10/18(日) 14:33:36
newするときとか見た目でわかると自分では思ってる。
microsoft.windwos.vista.netとか見た目でどこ読んでるか想像が付くし、書く時も大体の勘でかけたりするからいいkなぁって。

だめかな?w
わかんないや

140 :デフォルトの名無しさん:2009/10/18(日) 14:35:18
ここまですべて俺の自演

141 :デフォルトの名無しさん:2009/10/18(日) 14:35:40
>>139
ダメ
ガイドライン違反

142 :デフォルトの名無しさん:2009/10/18(日) 14:43:27
>>141
やっぱりか、
いま無理やりDebug.print関係のメソッド群をそれぞれの箇所に継承できるようにしてる。

今までpublic static classでやってたのが継承するべきものなんかと気づいた。
ただインタフェースの必要性がいまだにポカーン

143 :デフォルトの名無しさん:2009/10/18(日) 14:46:45
>>139
適切に名前空間分けて、必要に応じて修飾名付けて書けばいいじゃん
ドMなら全部 完全修飾名で書いてもいいと思うけど、人には見せないようになw

144 :デフォルトの名無しさん:2009/10/18(日) 14:50:05
信じられんと思うけど、暇さえあれば全部にそれしてた。
よくコードに性格が出てるとか言われる。
ついでにバカ呼ばわりされる

145 :デフォルトの名無しさん:2009/10/18(日) 14:50:22
>>142
クラスの継承は複数のクラスで実装の共通化を図りたいとき。
ポリモーフィズムは異なるものを同じものとして扱いたいとき。
サブ実装をメンバに持たせる包含は、継承によるクラス間の依存関係の複雑化を避けたいとき。
インターフェイスは複数のクラスの実装に共通部分が無い場合。

にそれぞれ使う。
これらの中身をいちいち説明してたら紙面が足りないし、このスレの範囲を超えるので
自分で勉強してくれとしか言いようが無いな。

146 :デフォルトの名無しさん:2009/10/18(日) 14:53:23
>>145
わざわざありがとう!
今未確認飛行のところで一生懸命読破しようとしてる。
まだ自分ではいろいろな欠点をしってるけど、またの機会いぃぃぃー!

147 :デフォルトの名無しさん:2009/10/18(日) 15:18:15
>>142
>public static classでやってたのが継承
それ継承の間違った使い方の典型的なアンチパターンだよ

148 :デフォルトの名無しさん:2009/10/18(日) 15:51:58
ま、ヘルパーとして基底クラスにアクセサをつけるなんてことはよくあるけどね。


149 :デフォルトの名無しさん:2009/10/18(日) 15:54:17
ただしあくまでヘルパーにすぎないところが重要。


150 :デフォルトの名無しさん:2009/10/18(日) 17:48:47
なんで?

151 :デフォルトの名無しさん:2009/10/18(日) 17:56:57
>>142みたいに間違った方向に行かないために。


152 :デフォルトの名無しさん:2009/10/18(日) 18:04:47
継承は、基本の実装を活用させたいときとか
クラス自体に大きな性質を与えたいときとか
テンプレートを提供するときとか

基底クラスへの強い依存や基底クラスから強い影響を受けても構わない、
あるいはそれが望ましいとき。

インターフェイスは逆に実装はいらないときとか
強い関係を持ちたくないときとか
クラス自体の性質とそれがサポートする機能に関連が薄いときとか

汎用性、疎結合ならインターフェイス。


153 :デフォルトの名無しさん:2009/10/18(日) 18:11:36
ライブラリを作る側になったらいろいろ必要。
ライブラリを使う側なら、あんまり気にしなくてOK。

154 :小学生:2009/10/18(日) 18:27:34
>>144
おっさんの知能ではもはやオブジェクト指向は理解できないのか?w

155 :デフォルトの名無しさん:2009/10/18(日) 18:30:09
C#からDllの外部関数にrefで構造体を参照渡ししてます。
外部関数を実行中にC#側の別スレッドで構造体のメンバ値を
変更しても外部関数でそのメンバ値を見ても変更が反映されません。
何故ですか。
ちなみにC#のマネージメソッドに対して同様の
ことをするとメソッド内で構造体メンバ値の変更が反映されます。

156 :デフォルトの名無しさん:2009/10/18(日) 18:31:32
WindowsXPなんですけど、
Directory.GetFiles
で手に入れたファイルの順番と、
エクスプローラでファイルを一覧した順番が違う気がするんです。
違ってたとして、一致させるにはどうすればいいのでしょう?


157 :小学生:2009/10/18(日) 18:36:50
>>155
値渡しだから

>>156
どっちかを合わせろよカスw

158 :デフォルトの名無しさん:2009/10/18(日) 19:02:36
新規にスレッドを作ってそっちで取得したデータを Dataset に入れて、
そのデータがフォームに表示されるように datagridview にバインドする場合、
dataset へのデータの追加は、begininvoke を使って
メインスレッド(UIスレッド?)で追加した方がいいのかな?

159 :デフォルトの名無しさん:2009/10/18(日) 19:12:02
>>158
「この型は、マルチスレッド読み取り操作に対して安全です。すべての書き込み操作の同期をとる必要があります。」
ロックしたら問題無いと思っていたけど、駄目?

160 :デフォルトの名無しさん:2009/10/18(日) 19:12:43
>>158
フォームのコントロールはフォームのスレッドでしかアクセスできないから。invokeが必要。


161 :デフォルトの名無しさん:2009/10/18(日) 19:15:55
>>159
ダメ。
DataSetの変更はバインディングによってコントロールに通知されるけど、
特に同期化しない普通のイベントによる通知なので
DataSetを変更したスレッドと同じスレッドでイベント発生・コントロール書き換えが行われてしまう。

162 :デフォルトの名無しさん:2009/10/18(日) 19:23:43
>>161
> 特に同期化しない普通のイベントによる通知なので
> DataSetを変更したスレッドと同じスレッドでイベント発生・コントロール書き換えが行われてしまう。
あー、そうか。
やばそうですね。

163 :デフォルトの名無しさん:2009/10/18(日) 19:36:19
>>155

そのままマネージヒープのアドレスを渡すとGCで死ぬから,
マーシャラが自動的にアンマネージヒープにコピーを作ってるからだったかな
そういう使い方をするデータははじめから自分でアンマネージヒープに確保しておくのが普通だと思う

164 :デフォルトの名無しさん:2009/10/18(日) 19:56:02
その場合MarshalAsでStructだか使えばできたと思うけど

165 :デフォルトの名無しさん:2009/10/18(日) 20:05:15
アンマネージコードからマネージヒープを直接触らせるにはGCHandleを割り当てて固定するしかないはず

166 :デフォルトの名無しさん:2009/10/18(日) 20:08:07
MSDNの「コピーと固定」って記事にマーシャリング時のヒープが図解されてるよ

167 :デフォルトの名無しさん:2009/10/18(日) 21:52:28
なんかデバッグフォルダに見慣れないファイルが5っほどある。
コンパイルしたらリリースフォルダにも同じファイルがある。
TempPEなんてフォルダまである。

hoge.pdb
hoge.Form1.resources
hoge.Properties.Resources.resources
hoge.csproj.GenerateResource.Cache
hoge.csproj.FileListAbsolute.txt

今までこんなの出来なかったのに何故?

168 :167:2009/10/18(日) 21:53:27
あ、pdbファイルまで書いてしまった。
これは無しです。

169 :デフォルトの名無しさん:2009/10/18(日) 22:05:18
\obj\のほう見てないか?

170 :デフォルトの名無しさん:2009/10/18(日) 22:13:15
>>169
その通りでした
まさかそんな落とし穴があったとは・・・
穴があったら入りたいですw

171 :小学生:2009/10/18(日) 22:17:37
おっさん、バイナリすらわからないのか?

172 :中学生:2009/10/18(日) 22:48:26
>>171
お前もわかってないんだから黙ってろガキ
おっさんと同レベル

173 :小学生:2009/10/18(日) 22:51:01
おれは将来天才プログラマーになる
人類初の人工知能を開発してやる
まずはイカの神経細胞を研究してだな

174 :デフォルトの名無しさん:2009/10/18(日) 23:08:41
       ____
     /⌒  ⌒\ ホジホジ
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \  < へーがんばってね
  |    mj |ー'´      |
  \  〈__ノ       /
    ノ  ノ

175 :デフォルトの名無しさん:2009/10/18(日) 23:12:14
タコがイカの研究とな?

176 :デフォルトの名無しさん:2009/10/18(日) 23:16:24
晩飯のイカ天がめっちゃ旨かった。

177 :155:2009/10/18(日) 23:37:29
>>163
やはりGCによる管理が原因でしたか。
結局アンマネージにコピーしてるならせっかくの参照渡しがあまり意味ないですね。
せっかくのc#なのにアンマネージコードを使うのもなんなので、
他の方法にします。ありがとうございました。

178 :デフォルトの名無しさん:2009/10/19(月) 00:44:09
>>155のような使い方って結構多いのかな?
俺はそういう参照私の使い方をしたことがないんだ

179 :デフォルトの名無しさん:2009/10/19(月) 01:49:10
>>155,178
C#からC/C++のDLLの外部関数を呼び出すのはかなり下準備が必要なので、
ゼロから書き上げるより実績のある他のコードをコピペしていじったほうがいいよ。
WinAPIなら色々と見つかる。

180 :デフォルトの名無しさん:2009/10/19(月) 01:50:06
じゃあどういう参照渡しの使い方をしたんだ?

181 :デフォルトの名無しさん:2009/10/19(月) 02:21:39
非同期の処理が絡むようならコールバック関数を使う。
それができないならC++/CLIでラッパーを作る。

182 :デフォルトの名無しさん:2009/10/19(月) 09:08:05
.Netはxml関連のライブラリ増えすぎて一体どれを使うべきなのかわからない。
xmlファイルとして生成するときはXmlTextWriterからなのかXDocumentから吐きだすのか・・・

どうしたらいいんだぜ?

183 :デフォルトの名無しさん:2009/10/19(月) 09:14:27
イカの神経細胞を研究するために
イカの飼育を世界で初めて成功させた日本人がいるね

184 :デフォルトの名無しさん:2009/10/19(月) 09:33:32
>>182
別に何使っても良いけどな つか「すぎ」って言うほど多くはないと思うけど
まず一旦DOMを作るかどうかでXmlDocument/XDocumentかXmlWriterかに分かれる
DOMを作るかどうかは仕様次第
あとXmlDocumentとXDocumentは大体同じもんだから.NET 3.5以降を使って良いならXDocument
それからXmlTextWriterは属性ついてないけどObsolete扱いなので使うならXmlWriterね

185 :デフォルトの名無しさん:2009/10/19(月) 10:13:03
>>184
すごい勉強になるわ、
無意識のうちにXDoc使ってるから、まぁこのまま続けても問題はないかな。


186 :小学生:2009/10/19(月) 10:27:53
どう考えてもライブラリ多すぎるよな
いらないものどんどん削除していけよ・・・

187 :デフォルトの名無しさん:2009/10/19(月) 10:29:23
Assemblyあたりの「依存のため〜」は全部削除してほしいw
ごちゃごちゃしてる

188 :デフォルトの名無しさん:2009/10/19(月) 10:48:20
一旦追加されたらよほどアレゲな評価が定着しない限りは
削除されないのが標準ライブラリの宿命。

それでも、標準で使えるライブラリが使えなさ過ぎるC/C++よりは遥かにマシ。
Javaと比べたら……どうなのよ?

189 :小学生:2009/10/19(月) 10:58:52
>>188
そういうものの考え方って退化っていうらしいよ。おっさんw

190 :小学生:2009/10/19(月) 11:02:17
vistaはうんこだけど、win95よりはマシだな
って考え方する奴は時代についていけてない証拠
満足しちゃったら終わりなのよw

191 :デフォルトの名無しさん:2009/10/19(月) 11:13:57
よそでやれ

192 :デフォルトの名無しさん:2009/10/19(月) 11:16:46
よそでやりました

193 :小学生:2009/10/19(月) 11:21:18
昔はスイッチをカチカチとオンオフしながプログラミングしてたけど
今はすごく便利だなー

懐古おっさんは解雇されろw

194 :デフォルトの名無しさん:2009/10/19(月) 11:24:50
へんな粘着君が居ついてしまったな。

195 :デフォルトの名無しさん:2009/10/19(月) 12:10:23
>"懐古"おっさんは"解雇"されろw
最後に「w」付けてるせいで悲壮感が倍増している。なんとハイレベルな親父ギャグか…。

196 :デフォルトの名無しさん:2009/10/19(月) 13:59:42
コントロールクラスを継承したクラスライブラリを作ってるんですが
そのクラスがプラグインを実装することになって
メニュー項目にプラグイン選択・設定メニューも追加したくなったとします

メニューを管理するのはParentのFormなので、Formクラスでライブラリに
作り直せば簡単なんですが可搬性に問題が出そうです

そこでコントロールクラスのコンストラクタにFormクラスのメニューの参照を渡して
そこにメニューを追加する仕様にしようかと考えてます

コントロールのコンストラクタにメニューの参照を渡すのってあんまり見たこと
ないんですが、おかしくないでしょうか?

197 :小学生:2009/10/19(月) 14:18:53
>メニューを管理するのはParentのFormなので、Formクラスでライブラリに
>作り直せば簡単なんですが可搬性に問題が出そうです
なんで?

普通にメニュー作ればいいやん?

198 :デフォルトの名無しさん:2009/10/19(月) 14:48:23
>>196
フォームのメニューはアプリごとに全然異なる部分だからなぁ。だから普通は毎回作り直す。
そこを標準化して、逆にアプリ側の仕様が縛られるのはちょっと勘弁。
プラグインを管理する機能があって、それをメニューに反映したいというなら後付で入れられる形を考えるか。

純粋なプラグイン管理サブシステムを構築した上で、
そいつに追加したい先のフォームのメニューの親メニューの参照を渡してあげる感じがいいんじゃないかな。

199 :デフォルトの名無しさん:2009/10/19(月) 15:10:53
>>198
なるほど、とりあえずはプラグインが利用するのはコントロールクラスのプロパティやイベントだけだと思うので
後付で追加したい先のフォームのメニューの参照を渡すようにして、
メニューの追加をプラグインにそれぞれやらせるようにしたいと思います

200 :デフォルトの名無しさん:2009/10/19(月) 17:01:46
うまくいったけどメニューが文字化けする・・・

201 :デフォルトの名無しさん:2009/10/19(月) 17:06:45
それってさぁ
プラグインが既存のメニュー削除できちゃったりしないの?

202 :小学生:2009/10/19(月) 17:18:16
俺をしかとするなよおっさん共

203 :デフォルトの名無しさん:2009/10/19(月) 17:38:00
>>201
できませんよ、プラグイン用の枝のMenuItemの参照渡してるだけだしaddを公開してるだけだから

204 :デフォルトの名無しさん:2009/10/19(月) 17:49:43
花札で10点札の鹿が後ろを向いていることから
そっぽ向く、無視することを「鹿十(しかとお)」と言うようになった
ヤクザの言葉なのであまり使わない方がいい

205 :デフォルトの名無しさん:2009/10/19(月) 17:51:25
なぜ文字化けするのかな・・・
しかも参照渡す前のメイン処理のメインメニューは同じやりかたで化けてないのに

206 :幼稚園児:2009/10/19(月) 18:14:31
>>205
おじちゃんもうあきらめたらぁ?

207 :デフォルトの名無しさん:2009/10/19(月) 18:15:25
文字化け解消

デバッグ環境の方に原因があった

208 :デフォルトの名無しさん:2009/10/19(月) 18:16:39
中学生でもこんなアホな煽り方しない
マジでキチガイなんだろうな

209 :胎児:2009/10/19(月) 18:16:40


210 :デフォルトの名無しさん:2009/10/19(月) 18:26:57
c#やって見たけど挫折した馬鹿だろきっと

211 :デフォルトの名無しさん:2009/10/19(月) 19:16:26
>>204 紅葉は10月だから

212 :デフォルトの名無しさん:2009/10/19(月) 19:34:04
http://msdn.microsoft.com/ja-jp/events/dd282847.aspx
ここの暗号化なんですけど意図的に復号キーを変えると勝手に
パスワードの判定をしてくれるんですが、仕組みを教えて。

213 :デフォルトの名無しさん:2009/10/19(月) 19:38:05
パスワードの判定って何?

それはそれとして、そのサンプル間違ってる部分があるから注意な
暗号化した後のバイト配列をEncodingで文字列化しちゃってるところ

214 :デフォルトの名無しさん:2009/10/19(月) 19:50:30
暗号化するときに
for (int i = 0; i < Key.Length; i++) Key[i] = (byte)i;
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(Key, IV), CryptoStreamMode.Write);

復号する時は
for (int i = 0; i < Key.Length; i++) Key[i] = (byte)(i+5);
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(Key, IV), CryptoStreamMode.Write);

CryptographicException はバンドルされませんでした。ってエラーが出ます。


215 :デフォルトの名無しさん:2009/10/19(月) 20:52:52
その鍵で計算中にそれ以上復号を続けられないような変な状態になったんだろう
必ず例外が投げられるってもんでもないよ

216 :214:2009/10/19(月) 21:50:16
ども、内部でエラーが出るだけなんですね。
try catchで切り抜けます。

217 :デフォルトの名無しさん:2009/10/20(火) 04:23:28
Xeno091017 正式版
http://koreawatcher.at.infoseek.co.jp/janexeno.htm
・正式版として最初のリリース。
・Jane終了時の挙動のみ091015試作品から変更された。
───────────────────────
予告どおり、正式版をリリースしました。×ボタンのツールチップ
ヒントに関して、真魚のソースを参考にして修正を試みました。
JaneNidaの開発は事実上終了です。2chの仕様変更などで
対応するかもしれません。

218 :デフォルトの名無しさん:2009/10/20(火) 08:54:27
>>217
カエレ

219 :デフォルトの名無しさん:2009/10/20(火) 09:02:41
>>217
プッ

220 :デフォルトの名無しさん:2009/10/20(火) 09:14:33
>>217
なんぞこれ

221 :デフォルトの名無しさん:2009/10/20(火) 09:42:20
いまならWPFでやった方が食いついたかもしれないのに、なぜこんなことをしたんだ。

222 :デフォルトの名無しさん:2009/10/20(火) 10:00:10
プログラマご用達の2chブラウザ教えて

223 :デフォルトの名無しさん:2009/10/20(火) 10:03:33
twintail2

224 :デフォルトの名無しさん:2009/10/20(火) 10:05:46
プログラム書く人は2chを見るより、開発チームのブログを見てニヤニヤしてる方が楽しいことを知っています。

225 :デフォルトの名無しさん:2009/10/20(火) 10:06:57
xyzzyの2ch-mode

226 :デフォルトの名無しさん:2009/10/20(火) 10:07:56
>>223
それってC#で作られてるんだよね
製作者のプログラミングスキルってどんなもん?

227 :デフォルトの名無しさん:2009/10/20(火) 10:11:47
>>226
女子大生になに期待してるの?
専スレで作者と一緒に機能拡張を考えたりデバッグしたりするのが楽しいんじゃないか

228 :デフォルトの名無しさん:2009/10/20(火) 10:31:09
>>227
え?あの作者って女なの?

229 :デフォルトの名無しさん:2009/10/20(火) 10:33:52
おれもツインテールにしよっと

230 :デフォルトの名無しさん:2009/10/20(火) 10:54:17
.NET Frameworkの目玉機能の一つであるマルチコア最適化された並列処理技術の名称が
Parallel から Twintail に変更されますた。

231 :幼稚園児:2009/10/20(火) 11:45:36
よーし、オラもツインテール改造して専ブラ作ってみるかな

232 :デフォルトの名無しさん:2009/10/20(火) 12:55:14
俺もツインテールに乗り換え決定

233 :タブブラウザ製作者:2009/10/20(火) 13:04:20
ツリービューのノードをドラッグして他のノードの上にドロップして親子の関係にしたいんだけど
実際にどうすればいいんでしょうか?

234 :デフォルトの名無しさん:2009/10/20(火) 14:17:53
え!? VisualStudio2010って有料なの?

235 :デフォルトの名無しさん:2009/10/20(火) 14:18:57
Express はでるよ。
でも Standard はなくなるようだからホビープログラマにはきついかもしれんね。

236 :デフォルトの名無しさん:2009/10/20(火) 14:32:43
そろそろM$も動き出したなww
これからがっぽり稼ぐ作戦だろうなw

237 :デフォルトの名無しさん:2009/10/20(火) 14:37:28
またアンチMS様か

238 :デフォルトの名無しさん:2009/10/20(火) 14:57:38
おれはトロンで生き残る

239 :デフォルトの名無しさん:2009/10/20(火) 15:04:33
下記をループで1〜5Visible = falseにするのはどうすればいいでしょう
単純すぎて答えが返ってこないです^^;
いやマジでなぞです
ググってるんですが

lblNo1.Visible = false;


lblNo(Index).Visible = false;< とかやってみたんですけどね

240 :デフォルトの名無しさん:2009/10/20(火) 15:11:50
事前に配列に入れとけば

241 :デフォルトの名無しさん:2009/10/20(火) 15:18:50
twintailのソース見てみたけど・・・/(^o^)\

242 :デフォルトの名無しさん:2009/10/20(火) 15:23:18
ラベルですから
その上で、配列ですか?・・・
思いつかない
でもかんがえてみる・・・
アリ

TextBoxにも言えるんですけどね

243 :デフォルトの名無しさん:2009/10/20(火) 15:24:22
for (int i = i; i < 5; i++)
{
 string labelName = "lblNo" + i.ToString();
 this.controls[labelname].Visible = true;
}

244 :デフォルトの名無しさん:2009/10/20(火) 15:27:51
table パネルとかのコントロールに入っている場合は
tablepanel 野中でさらに指定せなあかん。


ところで、toolStripContainer って一度フォームに貼っちゃうと
削除できないのかな?
さっきどうやって削除していいかわからなかったからフォームごといったん消しちゃったんだけど
なんか勘違いしてるのかな?

245 :デフォルトの名無しさん:2009/10/20(火) 15:32:10
野中

246 :デフォルトの名無しさん:2009/10/20(火) 15:34:41
>>244

オブジェクトの一覧選ぶコンボで該当選ぶとデザイナで選択されるから DEL 押して削除とか?

247 :デフォルトの名無しさん:2009/10/20(火) 15:39:48
>>246
あぁ、うん。ごめん、それでいけた。
ヒントさんくす。

さっきもそれで懸想として消せなかったんだけど
選択がコントロール全体じゃなくて
コントロール内のコントロール選択した状態で削除しようとしてたからだ。
自分の不注意…。
前もこれで悩んだような記憶が…

248 :デフォルトの名無しさん:2009/10/20(火) 15:39:51
>>243with244thk

for (int i = 1; i < 6; i++)
{
string labelName = "lblNo" + i.ToString();
this.Controls[labelName].Visible = false;
}

微修正しましたありがとです

249 :デフォルトの名無しさん:2009/10/20(火) 15:41:10
ちっ、修正しやがったのか

250 :デフォルトの名無しさん:2009/10/20(火) 16:26:31
>>247
普通にデザイナで選択出来るし
コンテキストメニュー → [選択] → [toolStripContainer1]

他にはドキュメントアウトラインでもいける


251 :デフォルトの名無しさん:2009/10/20(火) 16:51:11
タブコントロールのページ名の部分が通常上になってますけど
アプリによっては左側面にあったりするものもあるんですが
それはどうやったらできますか?

252 :デフォルトの名無しさん:2009/10/20(火) 17:22:12
調子に乗って質問です

ポーカゲームとか作るとき
カードをクラス化するとすると
5つのインスタンス作るんですか?

マジ5個のインスタンスに初期値つっこむのめんどいのですが・・・

253 :デフォルトの名無しさん:2009/10/20(火) 17:57:01
TreeViewの状態を保存したいんだけどいい方法ないですか?

254 :デフォルトの名無しさん:2009/10/20(火) 17:58:54
コンストラクタで初期化したら?

てか、そんなんに義務など無いんだから
嫌なら手続き的に書けば?
よっぽどめんどいと思うけど

255 :デフォルトの名無しさん:2009/10/20(火) 18:02:38
>>251
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tabcontrol.alignment%28VS.80%29.aspx

256 :デフォルトの名無しさん:2009/10/20(火) 18:02:39
>>253
CEREAL

257 :デフォルトの名無しさん:2009/10/20(火) 18:11:11
>>252
5つのインスタンスが必要なら5つ初期化する必要があるのは当たり前。
普通は面倒なことなどない。それが面倒だということは、おかしな事をしてる

設計に関するヒントを挙げると、カードはクラス化する必要ない。
flags付きの列挙型でスート4種、ランク1〜13、ジョーカーを作成。(空状態もあるといいかも)
あと、スート、ランクのマスクとか、エイリアス(Ace=One)とかを用意すればいいか。

258 :デフォルトの名無しさん:2009/10/20(火) 18:35:40
MSDN変わったね。ライトウェイト表示が軽快でいい感じ

259 :デフォルトの名無しさん:2009/10/20(火) 18:40:41
OS Windows2000 SP4
CPU AMD-450MHz
メモリ 184MB
ツインテールの作者ってマジでこんなスペックで開発してんの?
かなりもっさりじゃね?

260 :デフォルトの名無しさん:2009/10/20(火) 18:42:47
ツインテ作者女子高生説ってまじかよ!へこむわ

261 :デフォルトの名無しさん:2009/10/20(火) 18:42:55
3万あればモニタ+OS+P4の環境が揃えられるのに、どんだけ貧乏なの?

262 :デフォルトの名無しさん:2009/10/20(火) 18:51:29
スート=カードのマーク・・・

私のC#にはFlagsAttributeなどない!
てゆうかすでに高度すぎてついていけない・・
でもありがとう


263 :デフォルトの名無しさん:2009/10/20(火) 18:58:42
こんなんです
MyCard Card1 = new MyCard(rnd.Next(1, 13), rnd.Next(1, 4));
MyCard Card2 = new MyCard(rnd.Next(1, 13), rnd.Next(1, 4));
MyCard Card3 = new MyCard(rnd.Next(1, 13), rnd.Next(1, 4));

lblNo1.Text = Card1.myno.ToString();
lblNo2.Text = Card2.myno.ToString();
lblNo3.Text = Card3.myno.ToString();



lblMark1.Text = Card1.mymark.ToString();

lblMark2.Text = Card2.mymark.ToString();

lblMark3.Text = Card3.mymark.ToString();

ださいでしょ
なんとかならんのか

264 :デフォルトの名無しさん:2009/10/20(火) 19:05:11
カードはフリップとかさせたり縦置き横置きしたりすること考えると
クラス化した方が汎用性あると思うけどなぁ。

265 :デフォルトの名無しさん:2009/10/20(火) 19:07:36
そもそもトランプカードは52枚+ジョーカーで総枚数は固定というのが大きなポイントなのだから
普通はランダムで生成しちゃいかんもんだと思うが

266 :デフォルトの名無しさん:2009/10/20(火) 19:10:23
生成してからランダムに並べ替えて使うんだよ普通は

267 :263:2009/10/20(火) 19:19:48
クラスもこんな感じに2行ぐらいで出来ないかなと
出来ないと5行書くんですよ


for (int i = 1; i < 6; i++)
{
string labelName = "lblNo" + i.ToString();
this.Controls[labelName].Visible = false;
}

想像だけど7並べのPGつくると大変なことになりそう


268 :デフォルトの名無しさん:2009/10/20(火) 19:22:52
KeyDownの判定をForm上で行おうとしてるんだけど、Formにボタンとか貼り付けると判定がされなくなってしまう
ボタンが無いときはちゃんと判定されるのに・・・どういうことなの?

269 :デフォルトの名無しさん:2009/10/20(火) 19:40:04
>>264
表示の時はそれでいいが
内部もそれだと、アルゴリズム生成するときに処理がもたつく

270 :デフォルトの名無しさん:2009/10/20(火) 20:02:55
CardPileとかのクラス作ればいいんじゃないの?


271 :デフォルトの名無しさん:2009/10/20(火) 20:17:35
C#からケータイのデコメを送信できるライブラリってないでしょうか?
キャリアの違いを吸収してくれるものがあるとありがたいです。
もちろん有料でもよいです。
無ければソケットで実装しようと思います。

272 :デフォルトの名無しさん:2009/10/20(火) 20:49:27
>>268
KeyPreview

273 :デフォルトの名無しさん:2009/10/20(火) 20:58:24
>>272
ありがとうございます!

274 :デフォルトの名無しさん:2009/10/20(火) 21:12:10
実行されることのないゴミメソッドを見つける方法はありますか?

275 :デフォルトの名無しさん:2009/10/20(火) 21:18:50
FxCopでinternalまではチェック可
publicクラスのpublic/protectedメンバについてはアセンブリ外から呼ばれる可能性があるので一般には無理

276 :デフォルトの名無しさん:2009/10/20(火) 21:26:41
>>263
もうなんか激しく WPF の ItemsControl でも使ってろって
感じがする。

277 :263:2009/10/20(火) 21:29:07
だが断る

278 :デフォルトの名無しさん:2009/10/20(火) 21:42:29
カードをコントロールとして扱うこと自体ダサい
ゲームならコントロール使わず全部自分で描くでしょ

279 :263:2009/10/20(火) 21:52:45
初心者板ですし・・・
そんな腕はない!


280 :デフォルトの名無しさん:2009/10/20(火) 22:10:25
なんかのサンプルでもカードにピクチャコントロール使ってた気がする
ブラックジャックだっけかな

281 :デフォルトの名無しさん:2009/10/20(火) 22:11:26
WPFなんかでカードゲームフレームワーク作ったら面白そうだな
うまく設計したらかなり共通化できそう

282 :デフォルトの名無しさん:2009/10/20(火) 22:12:28
>>277
使えば楽にできるよって意味で薦めたのに。

Card の見え方(Item)のテンプレート書いて ItemsSource に
MyCard とやらのコレクションぶち込むだけなのに。


283 :263:2009/10/20(火) 22:16:52
WPF覚える余裕がない済まぬ
Randomって一瞬で処理されるから
Randomでカード作ってもみな同じカードになるような・・・
さらに作りこみます


284 :デフォルトの名無しさん:2009/10/20(火) 22:24:29
>>283
もうちょっと人のレスの内容をゆっくり読み込みなさいw
>>265-266とか

285 :デフォルトの名無しさん:2009/10/20(火) 22:47:43
今更なんだが、

ttp://msdn.microsoft.com/ja-jp/vcsharp/aa336742.aspx
Windows スタート キット > カード ゲーム スタート キット

286 :デフォルトの名無しさん:2009/10/20(火) 22:51:00
2ちゃんねる用ブラウザ「twintail」Part25
http://pc12.2ch.net/test/read.cgi/software/1247052653/

ここ荒らしてるのおまえらだろw

287 :デフォルトの名無しさん:2009/10/20(火) 22:54:51
そんなところ行かない

288 :263:2009/10/20(火) 23:07:59
>>そもそもトランプカードは52枚+ジョーカーで総枚数は固定というのが大きなポイントなのだから
>>普通はランダムで生成しちゃいかんもんだと思うが

それは、取りあえずランダムで値をとってから数字とマーク(ハートとかのマーク)を
比較して同じじゃなきゃOK同じならもう一回やればいいと言う意味かと思っていたけど
いまランダムで同じ値が出てる現象の事を予知してたのかなと

>>生成してからランダムに並べ替えて使うんだよ普通は

意味がちょっと分かりませぬ
当方の理解力のなさによるものですが
生成してからランダムに・・・・??
どういうことでしょうか
教えてくださいませんか?すいません

289 :デフォルトの名無しさん:2009/10/20(火) 23:08:36
頭悪すぎワロタっw

290 :デフォルトの名無しさん:2009/10/20(火) 23:08:37
>>263
君に一番向いているのは、カードをユーザーコントロールとして
実装することなんじゃないかと思う。

それならお望みどおり描画はラベル等のに丸投げできるし、
ユーザーコントロールに"MyCard"を引数にとって表示に反映するメソッドを書けば、
「ださい」問題も解消できるでしょ。

291 :デフォルトの名無しさん:2009/10/20(火) 23:21:07
>>288
あのさ、ランダムにやったら同じカード出て当たり前だろ
面倒だけど、ちゃんとカードの定義を作ってだな
それをランダムに配れよ

てか、おまえはまず、オセロ作れ
2色なら文句ないだろ
多分それさえもできなさそうだけど

292 :デフォルトの名無しさん:2009/10/20(火) 23:26:36
重複のない乱数を作るには

とかググれ

293 :デフォルトの名無しさん:2009/10/20(火) 23:32:51
まず綺麗にならべる、これが初期状態
入れ替えるところを乱数で2箇所決め、そこのカードを入れ替える
これを好きなだけ、十分混ざるまで繰り返す
もしくは頭から順番に、乱数で決めたどこかと入れ替えるを全カード行う

294 :デフォルトの名無しさん:2009/10/20(火) 23:32:54
>>285
おおー、これだ
シンプルなゲームならWinFormsでポトペタ出来るんだな、ってちょっと感心した覚えがある

295 :253:2009/10/20(火) 23:37:44
>>256
すいません、もうっちょっとだけ詳しく教えてください
ぐぐってもよくわからなかった

やりたいのはIEのお気に入りをタイトルとURLで保存したいのです
それとノードの構造と同じような保存用データも必要と思うんだけど
そっちはどのように作ればいいんでしょうか?

IEPageNodeクラスにLISTを作ってそこにIEPageNodeのインスタンスを追加していくというのを
考えているんだけど、もっとよい方法ありますか?

296 :デフォルトの名無しさん:2009/10/20(火) 23:52:46
一言。カードをシャッフルするプログラムを作ってみ。

と 291 とか 293 は言えばいいのに。と思った。

297 :263:2009/10/20(火) 23:54:44
らじゃ
皆さんありがとう

298 :デフォルトの名無しさん:2009/10/20(火) 23:54:45
簡単なのは重複のない乱数を与えてソートだな
シャッフル式の方が教科書的だけど

299 :デフォルトの名無しさん:2009/10/21(水) 00:17:31
重複ありでも充分に値の幅が広けりゃ実用的だよね。
ソートでのシャッフル。

300 :デフォルトの名無しさん:2009/10/21(水) 00:40:54
LINQ使えば簡単だな

public static IEnumerable<TSource> Shuffle<TSource>(this IEnumerable<TSource> source) {
  var r = new Random();
  return source.OrderBy(x => r.NextDouble());
}

301 :デフォルトの名無しさん:2009/10/21(水) 00:45:27
>>300
Orderbyに与えるデリゲートは一要素につき一回しか実行されないのは保証されるの?

302 :デフォルトの名無しさん:2009/10/21(水) 03:52:47
プログラミング チャレンジ スクエア
http://www.microsoft.com/Japan/msdn/archive/student/challenge/default.aspx

自分が作りたいものに近いのを参考にしてやるといいかも
いろんな解説サイト見てても、実際どう使うかがわからないから
頭に入ってこない。やっぱり作りながら覚えるのがいいね

303 :デフォルトの名無しさん:2009/10/21(水) 08:13:28
IComparableを実装して文字列でSort()すると
同じ文字列なのに順番が入れ替わるのは何で?そう言う物なの?

304 :デフォルトの名無しさん:2009/10/21(水) 08:27:15
>>303
コンテナに複数の同じ文字列を入れているのか、違う文字列をそれぞれ入れてsort後に順番が変わってるのか、
話が全然変わってくるじゃないか。
お前、このスレの住民がお前の実装を分かってるエスパーだとでも思っているのか?

305 :デフォルトの名無しさん:2009/10/21(水) 08:28:25
ArrayやListのソートはクイックソートだからアルゴリズム上の仕様です
安定なソートを自作するか, LINQのOrderByを使いましょう

306 :デフォルトの名無しさん:2009/10/21(水) 08:31:19
安定じゃないソートアルゴリズムで同じキーの順番かわるのが嫌な場合は
サブキーでシリアルナンバーとかを使うとかがよくある回避方法だな。

307 :デフォルトの名無しさん:2009/10/21(水) 08:31:20
>>301
逆に聞きたい。
こんな大雑把な指定しかしてないのに、なんでそんな細かいことが保証されると考えるんだ?
実際に試してみたほうが早いんじゃね。

308 :デフォルトの名無しさん:2009/10/21(水) 08:33:02
>>305>>306
ありがとーやっぱそうか

309 :デフォルトの名無しさん:2009/10/21(水) 08:33:50
>>307
試すより仕様書あたる方をすすめろよ脳筋



310 :デフォルトの名無しさん:2009/10/21(水) 11:34:02
>>283
それはランダムの使い方自体を間違ってる。


311 :デフォルトの名無しさん:2009/10/21(水) 11:34:51
しかし2.0では安定ソートが使えないのは悲しい。


312 :デフォルトの名無しさん:2009/10/21(水) 12:02:04
Randomを毎回newするのはどうかしてるな

313 :デフォルトの名無しさん:2009/10/21(水) 13:08:22
なんで、.suoにPCユーザー名の情報書き込んでるの?
気軽にソース配布できないんだが

314 :デフォルトの名無しさん:2009/10/21(水) 13:18:02
suo配る必要はないとは言わないがまあそんなには困らんだろ

315 :デフォルトの名無しさん:2009/10/21(水) 13:18:46
配布用のユーザー作れば解決

316 :デフォルトの名無しさん:2009/10/21(水) 13:18:58
>>312
この間違いってなぜかやたら見かける

317 :デフォルトの名無しさん:2009/10/21(水) 13:55:28
C言語のころだけど、rand()を毎回100回ループで回してから使ってる奴見たことあるぞ。
その方がよりばらけた数値が出るような気がするからとかいってたw
サイコロ振るわけじゃないんだから・・・

318 :デフォルトの名無しさん:2009/10/21(水) 14:19:18
カードゲームの解説サイトあった

C#で始めるプログラミング---目次 - 1週間で学ぶIT基礎の基礎:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060127/228041/?ST=develop

319 :デフォルトの名無しさん:2009/10/21(水) 15:24:10
C#2005EEってもうDLできないの?
2008があるからiso削除してしまった

320 :デフォルトの名無しさん:2009/10/21(水) 15:35:24
どっかにあるけどゲ製の人ならXNAのバージョンをだなw

321 :319:2009/10/21(水) 15:39:37
>>320
あれwバレた?w
ありがとう解決しました

322 :デフォルトの名無しさん:2009/10/21(水) 17:42:57
>>301
ttp://msdn.microsoft.com/en-us/library/bb394939.aspx#standardqueryops_topic8
こんな資料しか見つからなかった。開発時点での資料なのは確かだが、現在の位置付けは分からん
ただ、実装自体はこの資料の通りになっているようだ

323 :デフォルトの名無しさん:2009/10/21(水) 18:37:41
ポインタ使わなければ出来ないプログラムって何かあります?

324 :デフォルトの名無しさん:2009/10/21(水) 18:39:20
別に無いな

325 :デフォルトの名無しさん:2009/10/21(水) 18:43:32
パフォーマンスを気にしなければ、特にない

326 :デフォルトの名無しさん:2009/10/21(水) 18:52:29
ポインタって何?

327 :デフォルトの名無しさん:2009/10/21(水) 19:03:46
マウスポインタ

328 :デフォルトの名無しさん:2009/10/21(水) 19:23:19
ファミコン全盛時代はドラクエ1みたいなもの作れただけで
感動したけど、今のゲームって個人で作れるレベルじゃないしな
今の人ってプログラミングしてて感動したりするのかな?

329 :デフォルトの名無しさん:2009/10/21(水) 19:43:35
そりゃすると思うけど。


330 :デフォルトの名無しさん:2009/10/21(水) 20:00:40
オレは今日、半日でテトリスが作れて感動した!

331 :デフォルトの名無しさん:2009/10/21(水) 20:08:55
別にアプリケーションはゲームだけじゃないしな

332 :デフォルトの名無しさん:2009/10/21(水) 20:27:00
ゲームじゃないソフトってほとんどvectorであるしな
今更斬新なものってなかなかないような
せいぜい、最新OS対応させるぐらいだろうけど

あの頃はプログラミング楽しかったなー

>>330
後学のためにソース公開してよ。無理なら実行ファイルだけでもいいから

333 :デフォルトの名無しさん:2009/10/21(水) 20:27:20
namespace TestP
{
 public partial class Form1 : Form
 {
  static public Bitmap[] Picmap = new Bitmap[128]; ←ここ
  public Form1()
  {
   InitializeComponent();
  }
  なんたらかんたら
 }
}
この場合どこで Dispose(); するの?

334 :デフォルトの名無しさん:2009/10/21(水) 20:32:39
いらなくなったとき
判断できないなら放置するしかないが

335 :デフォルトの名無しさん:2009/10/21(水) 20:53:36
これってusingつかえんかったかな?

336 :デフォルトの名無しさん:2009/10/21(水) 20:56:17
>>d
放置することにします。


337 :デフォルトの名無しさん:2009/10/21(水) 20:56:33
つかえねえよw

338 :デフォルトの名無しさん:2009/10/21(水) 20:57:36
レス番わすれた>>334

339 :デフォルトの名無しさん:2009/10/21(水) 20:58:41
ショボンとなった

340 :デフォルトの名無しさん:2009/10/21(水) 21:02:23
最近初めてプログラムの本を買って読んでるんだけど、C#エッセンシャルズ2版がなんかしっくりくる。
本の分厚さも2センチいないで持ちやすい!
でも、.Net 2.0とか古そうだしできれば3.5のを読みたい。

何か2センチ以内で.Net3.0~を対象としていて大体のことを網羅している本ってない?

341 :デフォルトの名無しさん:2009/10/21(水) 21:07:21
.NET 3.0/3.5は2.0への機能追加なので、2.0の知識がそのまま使える。
というわけで、古いとか心配しなくても大丈夫。まずはその本で基礎を固めるのがいいと思うよ。

342 :デフォルトの名無しさん:2009/10/21(水) 21:13:45
プログラム経験は4年!
C,C++,C#,VB,Javaは大方勘でかける!
だがいまだにオブジェクト指向のこと聞かれても答えられない!
意味もわからない!

うふう、うふふふふふふっ

343 :デフォルトの名無しさん:2009/10/21(水) 21:29:48
>>333
次にいつ使うか分からないけど、生成コストが高いので残しときたい。でも、メモリ使用量が多いので開放したい。
こんな時の妥協案に、"弱い参照(System.WeakReference)で保持してGCの対象にする"なんて方法もある。

多用する類の物ではないけど、使いどころによっては効果的。

344 :デフォルトの名無しさん:2009/10/21(水) 21:35:05
>static public Bitmap[] Picmap = new Bitmap[128]; ←ここ
生成したのは配列だけで、Bitmapは生成されてないとか言う落ちだったりして


345 :デフォルトの名無しさん:2009/10/21(水) 21:38:39
ありそうなのが怖い

346 :デフォルトの名無しさん:2009/10/21(水) 21:39:22
WeakReferenceは結構すぐ解放されちゃうからそういう意図のキャッシュには使いづらいよ
static Dictionary<WeakReference, Bitmap>みたいにキャッシュのキーとして使ったりすることが多い

347 :デフォルトの名無しさん:2009/10/21(水) 21:41:07
あれ?IDisposableだからってGCに任せちゃ駄目なんじゃなかった?

348 :デフォルトの名無しさん:2009/10/21(水) 21:45:16
リークという意味では別にGC任せでも構わん
早くリソースを回収したいからDisposeを使うだけ

349 :デフォルトの名無しさん:2009/10/21(水) 21:51:18
ファイナライザくらい実装してるだろ。

350 :デフォルトの名無しさん:2009/10/21(水) 21:52:22
using(static public Bitmap[] Picmap = new Bitmap[128])
{
}

351 :335:2009/10/21(水) 21:58:55
>>350
は俺じゃないよ、しらねーよ

352 :デフォルトの名無しさん:2009/10/21(水) 23:12:01
//myclassクラス宣言
public myclass[] mc = new myclass[10];

これってクラスの配列みたいなんですけどC#でこれが普通なんですか
入門書には出てない書き方なんで・・・・

353 :デフォルトの名無しさん:2009/10/21(水) 23:13:22
>>332
http://www.nicovideo.jp/watch/sm8517855
ほれ、テトリス

354 :デフォルトの名無しさん:2009/10/21(水) 23:18:11
>>352
new myclass[10]のところ?
これは 「myclassのインスタンスを格納する要素数10の空の配列を作る」 という意味
最も基本的な配列の作り方なのでほんとにその本に出てないなら今すぐ焼き捨てるべき

355 :デフォルトの名無しさん:2009/10/21(水) 23:18:19
>>352
入門書にはどう書いてあったの?

356 :デフォルトの名無しさん:2009/10/21(水) 23:42:18
>>354
>>355
ネットみていたら
//myclassクラス宣言
public myclass[] mc = new myclass[10];
って書いてあったんですけど んこれって配列じゃね?
int []a = new int[100];
あった配列だな・・・
class宣言は
myclass mc = new myclass();
丸括弧だよ!!
じゃあなんだ これは、public myclass[] mc = new myclass[10];意味は何となくわかるけど
みたことないぞ
ググって例がみてもあまりないなあ
よし聞いてみよーとという展開です

357 :デフォルトの名無しさん:2009/10/21(水) 23:46:36
配列のインスタンス化とクラスのインスタンス化を区別しろよ

358 :デフォルトの名無しさん:2009/10/21(水) 23:48:38
int[] → intのインスタンスの配列
string[] → stringのインスタンスの配列
myclass[] → ○の△の□
わかるでしょ?これだけのこと

359 :デフォルトの名無しさん:2009/10/21(水) 23:50:04
>>353
過去にタイムスリップして作ったのか?
すごいじゃないな

360 :デフォルトの名無しさん:2009/10/21(水) 23:56:46
>>357
>>358
おっしゃる通りです
mc[1]〜mc[10]のインスタンスができたー
でもやってみないと半信半疑ですね
両名さんありがとうです

361 :デフォルトの名無しさん:2009/10/22(木) 00:00:47
>>353
音切ってたから
イキナリフリーズかと思ってみてた
休みの日見るからとっておいてくださいねって
あんた一時間って天才か

362 :デフォルトの名無しさん:2009/10/22(木) 00:10:43
オブジェクト参照がオブジェクト インスタンスに設定されていません。
lbl.Text = mc[1].myno.ToString();
と思ったら落ちた
明日に続く

363 :デフォルトの名無しさん:2009/10/22(木) 00:10:58
30歳ぐらいになったらプログラミング作業速度って落ちるのかな?

364 :デフォルトの名無しさん:2009/10/22(木) 00:23:48
落ちない。むしろ上昇する。

365 :デフォルトの名無しさん:2009/10/22(木) 00:25:02
>>363
普通はそれはないよw
年齢をいい訳にしてる人は、本当は若いときから単に無能だっただけ。

366 :デフォルトの名無しさん:2009/10/22(木) 00:25:07
そんなに頭使わないから平気じゃない?
経験もある程度重要な分野だし。
脳の老化は始まってるだろうけど
その歳から影響を受けるのって数学者とか特殊な人たちでしょ

367 :363:2009/10/22(木) 00:28:11
安心しました
30なんですが、プログラミングを趣味でやろうと思ってて
今から覚えられるか不安だったけどがんばってみます

368 :デフォルトの名無しさん:2009/10/22(木) 00:31:22
30から趣味で始めるなんて随分と奇特な人もいるもんだな
まあプログラムに定年はないし、やる気と能力さえあればおじいちゃんでも小学生でも出来るからな

369 :デフォルトの名無しさん:2009/10/22(木) 00:33:30
マ板へ誘導
http://pc11.2ch.net/prog/


370 :330:2009/10/22(木) 00:45:25
>>353
実はその動画に触発されて作ったw

といっても実際に書いたコードはIronPythonで、
C#ですでに構築している自作のゲームエンジン上で動かしている。
(IronPythonでゲームが実装できるような仕組みにしている)

ソースコードは公開できない。スマン。

371 :デフォルトの名無しさん:2009/10/22(木) 00:51:54
この1時間の人はすごいよな
俺、IDEないとバグ出まくる気がする

372 :363:2009/10/22(木) 00:58:58
win3.1のころはって言ってるからまだ20代かな

MS-DOSのころにQuick CやHigh Cコンパイラとか当時やってた

373 :デフォルトの名無しさん:2009/10/22(木) 01:11:33
結局、同じものをいろんな処理系で何度も構築するのが一番勉強になるからなぁ。
1回目より2回目、2回目より3回目、
確実に無駄が減ってくる。

374 :デフォルトの名無しさん:2009/10/22(木) 01:31:02
でも1年もやってないとその知識が0に戻ってしまうんだけど・・・
またオブジェクト指向はなんたるかを覚え直し

375 :デフォルトの名無しさん:2009/10/22(木) 01:35:41
それはないわ

376 :デフォルトの名無しさん:2009/10/22(木) 01:40:31
そりゃわかったつもりになってるだけだからだ
要するに元から知識0


377 :デフォルトの名無しさん:2009/10/22(木) 01:40:54
分かったような分からないようなって言ってるいる奴は間違いなく分かってない

378 :デフォルトの名無しさん:2009/10/22(木) 06:22:31
「身につく」とか「理解する」ものであって、覚えるものではないし。

379 :デフォルトの名無しさん:2009/10/22(木) 07:51:27
結構腰を据えて勉強しないとわからんのもあるよね。
とりあえず組んでみるだけだとわかった気になっておわること多い。

380 :デフォルトの名無しさん:2009/10/22(木) 09:28:33
オブジェクト指向を全く知らない頃にCでオブジェクト指向のプログラムを
苦労して作ってたから、オブジェクト指向という概念と
それをサポートする言語を知ったとき感動したっていうか
最初からこっちでやればよかったって思ったよ。

381 :デフォルトの名無しさん:2009/10/22(木) 09:32:11
言語は新しいものに限るって見知らぬ老人が言ってた

382 :デフォルトの名無しさん:2009/10/22(木) 09:55:26
CopyFromScreenで、デスクトップの画面をキャプチャーできるじゃん。
これって自分自身のフォームもキャプチャされるけど、
自分自身はキャプチャされない方法ってあるの?


383 :デフォルトの名無しさん:2009/10/22(木) 10:01:29
自分自身を非表示にすれば良いんじゃね

384 :デフォルトの名無しさん:2009/10/22(木) 11:31:34
表示されてる場合、その裏側に何が書かれてるのかは誰も知らないからな

385 :デフォルトの名無しさん:2009/10/22(木) 11:58:20
誕生日を入力すると、その人の現在の年齢を表示するプログラムを作っています。
DateTime birthday;として誕生日を格納して、現在の日付との差分をTimeSpan ts;に代入するところまではできました。
ただtsは時間の差を最大で日付単位でしか得られないので困っています。

単純に ts.Days / 365とするとうるう年などの関係で年齢がずれることがあります。

なにかうまくやる方法はないでしょうか

386 :デフォルトの名無しさん:2009/10/22(木) 12:03:25
>>385
君はググったことがあるかい?

387 :デフォルトの名無しさん:2009/10/22(木) 12:43:37
ないから聞いているんです

388 :デフォルトの名無しさん:2009/10/22(木) 12:49:11
まず年を計算して月日が前か後かで判断すればいいだけじゃね?

389 :デフォルトの名無しさん:2009/10/22(木) 12:51:38
>>387
宿題ご苦労さん
でも自分で調べてみるくらいしような
いつも誰かが教えてくれるわけじゃないぞ

http://s.luna.tv/search.aspx?client=lunascape&s=0&gl=jp&hl=ja&q=C%23 %E5%B9%B4%E9%BD%A2%E3%80%80%E8%A8%88%E7%AE%97

ここの一番上でも見てろカス

390 :デフォルトの名無しさん:2009/10/22(木) 12:52:31
ミスったw
http://www.google.co.jp/search?hl=ja&lr=lang_ja&um=1&q=C%23%20%E5%B9%B4%E9%BD%A2%E3%80%80%E8%A8%88%E7%AE%97&ie=UTF-8&sa=N&tab=iw

391 :デフォルトの名無しさん:2009/10/22(木) 13:03:52
初歩的な質問ですいません

あるファイルがロックされているかどうかを調べる方法が分かりません
ロックされていなければ同名で上書きさせたいのですが
上書き失敗したら無視のループ、書き込めたらbreakで対処しています
上書きを実行する前にロックされているかどうかを調べたいのですが
良い方法はありませんでしょうか?

環境は windows xp、visualstudio10b、言語は.NET c#です

392 :デフォルトの名無しさん:2009/10/22(木) 13:09:57
事前チェックじゃなくてtry-catchでやる

393 :デフォルトの名無しさん:2009/10/22(木) 13:14:59
387は誰か知りませんが、バカのふりして煽って楽しいかな

>>388
やっぱそういう方法でチマチマするしかないんですね、どうもです。
VBのDateDiffみたいに汎用の方法があるのかと思ったんですが・・・


394 :デフォルトの名無しさん:2009/10/22(木) 13:17:40
>>393
時刻サイトからまんまパクる

395 :デフォルトの名無しさん:2009/10/22(木) 13:27:03
DateDiffって年齢計算に使えたっけ

396 :デフォルトの名無しさん:2009/10/22(木) 13:29:56
VBのDateDiffを使いたいのならC#からでも使えるけど、そういうことじゃないんだろうな

397 :391:2009/10/22(木) 13:31:51
>392
レス有り難うございます、、ただ、try-catchだと、ロックされてない時に上書きが実行されてしまいます
説明不足でした、最低1度ロックされ、そのロックが解除された事を確認した上で
上書き実行したいので、ロックされているかどうかを監視したいのです
監視ループでFile.Openを試みるのも考えたのですが、もっとスマートに
ファイルの状態を返す様な物は無いのかと思い、質問した次第です




398 :デフォルトの名無しさん:2009/10/22(木) 13:35:20
>最低1度ロックされ、そのロックが解除された事を確認した上で
>上書き実行したいので

確認したときアンロックだったとしても
実行するまでにロックされたらどうすんだろ

399 :デフォルトの名無しさん:2009/10/22(木) 13:35:42
>>397
追記オープンでいいのでは?

400 :391:2009/10/22(木) 13:50:43
アンロックされているかどうかは確認しません

ロックされているかどうかだけを確認して
ロックされていれば、過去にロックされたというフラグを立てます
フラグが立っている状態なら、ロックされてるか確認はせず、上書き実行を試みます
その時に再ロックされていても書き込めないだけで
上書きが成功すればフラグを下ろし、またロックされたかどうかをチェック開始する感じです

この一連の流れで「ロックされているかどうか」をチェックする方法が分からないんですorz

401 :デフォルトの名無しさん:2009/10/22(木) 13:52:56
ふ〜ん

402 :デフォルトの名無しさん:2009/10/22(木) 14:01:09
汎用的なクラスを作って、別のプロジェクトを作った時に利用しようと思っても
どのプロジェクトでそのクラスを作ったかわからなくなり、また新しく作ったりするんですが
そうならないように汎用的なクラスをまとめておきたいんですけどどうすればいいでしょうか?

403 :391:2009/10/22(木) 14:02:21
現状こんな感じなんですが・・・

Boolean bgmfilelock = false;

private void Timer_Tick(object sender, EventArgs e) {
 // ファイルが開けるか確認する
 try {
  File.Open("aaa.txt", FileMode.Open, FileAccess.Read);
 // 開けなかったらフラグを立てる
 } catch( System.IO.IOException ){
  bgmfilelock = true;
 }

 // 過去に一度でもファイルが開けなくなったら(ロックされた事があれば)
 if( bgmfilelock ){
  // ファイルの上書きを試みる
  try {
   File.Copy("aaa.txt", "bbb.txt", true);
   bgmfilelock = false;
  } catch( System.IO.IOException ) {
  }
 }
}

一度ロックがかからないと上書きされない、という動作は達成してるんですが
チェックの為だけにOpenはどうかなぁと思って、もっと単純に出来ない物かと
ファイルの状態を知る方法は無いんでしょうか?

404 :デフォルトの名無しさん:2009/10/22(木) 14:04:48
ファイルロックにも色々あるけどな

405 :デフォルトの名無しさん:2009/10/22(木) 14:06:49
>>404
だからなんだよカスw

406 :デフォルトの名無しさん:2009/10/22(木) 14:11:20
何がしたいんだかわかんね

407 :406:2009/10/22(木) 14:13:13
「一度ロックがかからないと上書きされないという動作」
をしたいんです

408 :391:2009/10/22(木) 14:14:17
↑の391です、すいません

409 :デフォルトの名無しさん:2009/10/22(木) 14:17:13
その場合

・ロック確認
・別プロセスがロック
・別プロセスがアンロック
・ロック確認

こういった時にロックかかったか検出できなくない

410 :デフォルトの名無しさん:2009/10/22(木) 14:17:34
というよりもっと上位のレベルの「何がしたいのか」を説明したほうがいいような・・・
なんかもっと良い解決法がありそうな気がするそれ

411 :391:2009/10/22(木) 14:28:48
はい、では具体的に書きます

定期的に別プロセスで再生されるmp3ファイルが有るのですが
このままでは同じ曲を延々とループしてしまいます。

そこでタイマー1のイベントで10秒毎に、別のmp3を同名で上書きさせています
ただ、常に上書きではどんどん曲が変わってしまうので
タイマー2により最低3分しないとタイマー1が作動しないようにし
3分経ったら、タイマー2を停止させて、タイマー1を作動、10秒毎に上書きに挑戦し
書き込み成功したらタイマー1を停止し、タイマー2を作動させています

その仕組みを「上書きされて3分以上経ち、かつ最低1回再生されたら、別の曲を上書き」
にしたいんです、再生している間はファイルがロックされますので
ロックされたかどうかを検知すればいいかなと


412 :391:2009/10/22(木) 14:34:54
そのmp3は、10秒以上絶対に再生されるので
10秒毎にファイルがロックされているかどうかを検知し
一度ロックがかかったら、それ以降は上書きを試み続け
ロックが解放され次第上書きして、成功したら3分待つ

とすれば3分後でも、一度も再生されていない場合は上書きされないので
やはり、ロックされているかどうかのチェックは必要だと思うんですが

413 :デフォルトの名無しさん:2009/10/22(木) 14:44:06
他アプリで再生中かどうかを検出したいって事?

414 :391:2009/10/22(木) 14:50:20
>413
そうですね
ただプレイヤーによっては再生中にバッファを作ったりして、ロックしない物もあるので
その場合は3分以上経っていれば直ちに上書きしたいので再生中かどうかと言うより
上書きできる状態かどうか、を検出したいんです


415 :デフォルトの名無しさん:2009/10/22(木) 14:51:44
再生してるソフトを改造すれば

416 :デフォルトの名無しさん:2009/10/22(木) 14:53:48
プレイヤーによってロックしない物もあるということは、、、
プレイヤーによってループ再生中ずっとロックしっぱなしものもある?

417 :デフォルトの名無しさん:2009/10/22(木) 14:54:21
なるほど
これのことか・・・

ttp://msdn.microsoft.com/ja-jp/magazine/cc163450.aspx

418 :デフォルトの名無しさん:2009/10/22(木) 14:57:16
ある

419 :デフォルトの名無しさん:2009/10/22(木) 15:00:02
>>417
違うんじゃないか?

420 :391:2009/10/22(木) 15:02:38
>415
他の人が作ったプレイヤーを改造するほど技術がありません^^;

>416
ロックしっぱなしは有りますが、その場合同じ曲が何度も再生されるのは仕方ないと思ってます
「定期的に再生される」と書きましたが「再生されない時間」も有るため
そのタイミングで曲の変更を行っています

>417
そんなに難しい事じゃないです^^;;;
ロックしているプロセスが何であれ構いません、秀丸で排他制御させてmp3を開いてても同じです
単純にファイルがロックされているかどうかを知りたいだけなんですが・・・

421 :デフォルトの名無しさん:2009/10/22(木) 15:04:47
だからその確認には実際に開いてみるのが一番手っ取り早いっていってるじゃんか

422 :デフォルトの名無しさん:2009/10/22(木) 15:08:45
そのプレイヤーはそのMP3ファイルが無いとどうなる?


423 :デフォルトの名無しさん:2009/10/22(木) 15:15:00
System.IO.FileMode.Appendで開く

424 :391:2009/10/22(木) 15:33:49
私の知らない File.Status() みたいな物がもしかしたらあって
ファイルのロック状態を取得する方法があればと思って聞いたんですが
やっぱり、>403で書いた様な方法しか無いと言うことですね

みなさん有り難うございました><


425 :デフォルトの名無しさん:2009/10/22(木) 15:42:57
>>424
その手続きが面倒でも、クラスにしてしまえば利用する分には楽じゃん?

426 :デフォルトの名無しさん:2009/10/22(木) 20:52:26
>>402
クラスライブラリを作る
そこまでするほどでもないようなくだらないものは共有しないでコピーした方がいい

427 :デフォルトの名無しさん:2009/10/22(木) 21:04:03
ここの住人には心病んでるやつもいたんだな

428 :デフォルトの名無しさん:2009/10/22(木) 21:24:19
自己紹介乙

429 :402:2009/10/22(木) 21:25:18
>>426
忘れ去られてるかと思いました。ありがとうございます。
そのやり方だとやっぱりどこに何があるか忘れてしまうし
DLLにするほどでもないし
ファイルをどこかのフォルダにまとめてコピーして使うという感じがいいのかな?
みなさんはどうしてるのか気になります

430 :デフォルトの名無しさん:2009/10/22(木) 21:28:18
>>429
>そのやり方だとやっぱりどこに何があるか忘れてしまうし
もうどういうやり方にしてもダメだろそれ・・・

431 :デフォルトの名無しさん:2009/10/22(木) 21:29:07
もう全部コードスニペットにしちゃえよ

432 :デフォルトの名無しさん:2009/10/22(木) 21:35:01
プログラミング以前に日常生活に支障が出てそうだな

433 :デフォルトの名無しさん:2009/10/22(木) 21:53:13
コード管理でググると色々なやり方があるみたいね。
ファイルをフォルダに纏めといて・・・ってやり方してる人もいた。


434 :デフォルトの名無しさん:2009/10/23(金) 02:42:31
俺は逐一DLL化してしまうかなぁ、、、
この前なんてウィンドウのアイコンをとってリストでイメージ返すだけのDLLなんてのも作ってた。

プログラム的にはよろしくないってのも承知の上で

435 :デフォルトの名無しさん:2009/10/23(金) 08:44:12
オナニーは良くない

436 :デフォルトの名無しさん:2009/10/23(金) 09:14:06
俺は結構プロジェクトを使いまわすかな

管理はVSS使ってる

ひとまずDLLにするのは本当にデバッグが終わってもう修正の必要がない時だけにしてる
(配布しなければいけない時もあるのでバグ覚悟で配布するときもあるけど)

DLLにしちゃうと使いまわしてバグが出た時にめんどくさいんだよ・・・

437 :デフォルトの名無しさん:2009/10/23(金) 10:10:20
DLLを野放図に作成するのは賛成できないなぁ。
やはり基本どおり、ある程度再利用可能な形に使いやすくまとめた形でエクスポートすべきだと思う。
(エクスポートという用語自体が古臭い用語だというのはさておいてだ)

438 :デフォルトの名無しさん:2009/10/23(金) 11:23:29
ListViewコントロールでスクロールバーをスクロールさせるメソッドかプロパティって
EnsureVisibleしか無いの?

439 :デフォルトの名無しさん:2009/10/23(金) 11:56:26
TopItemもあるよ

440 :デフォルトの名無しさん:2009/10/23(金) 12:36:04
webBrowser1のDocumentCompletedの中で
InvokeMember("click");などして更新した際の読み込み完了は、
どう取得すればよいでしょうか?

Whileで完了待ち以外でお願い致します。

441 :デフォルトの名無しさん:2009/10/23(金) 12:45:49
>>439
ありがとー やっぱこの当たりしか無いのか・・・結構不便だな・・・
システム全体のマウススクロール量が3行だけど自アプリ内だけスクロール量を1行にしたくてアレコレ調べていたんだけど
VC++MFCならCListCtrl::Scroll()で簡単にできるんだけど.NETのListViewだと簡単な方法が見つからない・・・
結局WM_MOUSEWHEELをハンドリング→スクロール位置を特定するために→TopItem取得→
→ListViewの各行の高さを取得してリストの表示可能行数を計算→EnsureVisibleで無理矢理スクロール
もしくはMFCのListCtrlをCOMコンポーネントにして貼り付けるやり方しかないのかな・・・面倒臭すぎるわ・・・

442 :デフォルトの名無しさん:2009/10/23(金) 12:52:05
> 自アプリ内だけスクロール量を1行にしたくて
これだけなら別に大した計算もEnsureVisibleも必要なくTopItemだけで十分だと思うけど

443 :デフォルトの名無しさん:2009/10/23(金) 12:54:19
>>442
どうやってやるの?
自分も最初はそう思っていたけどイザやってみると簡単にはできなかったよ

444 :デフォルトの名無しさん:2009/10/23(金) 12:57:02
>>442
あ、ごめん簡単に出来るわ
TopItemって取得だけじゃなくて設定も出来るのかすまん

445 :デフォルトの名無しさん:2009/10/23(金) 13:03:08
ちなみにWndProcのオーバーライドも不要
MouseWheelイベントの引数MouseEventArgsはHandledMouseEventArgsにキャストできて、
このHandledをtrueに設定すればデフォルトの動作を無効化できる

446 :デフォルトの名無しさん:2009/10/23(金) 13:07:15
>>445
ありがとう へーこんなんもあるんだね
ずっとVC++やっていて最近C#始めたからこの当たりの勝手がよく分からなかったんで勉強になったわー

447 :デフォルトの名無しさん:2009/10/23(金) 17:26:23
質問よろしいでしょうか?
ファイルの起動を監視して起動したファイルのデータ(名前やパスなど)を取得する方法がわかりません
よろしくお願い致します

448 :デフォルトの名無しさん:2009/10/23(金) 18:07:49
Processクラスあたりのじゃだめなのかな?

449 :デフォルトの名無しさん:2009/10/23(金) 19:26:25
監視する専用のクラスがあったな
忘れたけど

450 :デフォルトの名無しさん:2009/10/23(金) 20:32:26
>>436
リンクしている使い回しロジックではバグらないとでもいうのか・・・
分離しとけばアセンブリをコピーすれば済むのに、リンクしなきゃならんだろが。

451 :デフォルトの名無しさん:2009/10/23(金) 20:50:53
じゃあ結局ソースコードはどう管理すればいいの?
どこにどのソースあるか忘れるから資産が増えないんだけど

452 :デフォルトの名無しさん:2009/10/23(金) 20:52:55
たとえば、IO関連なんて毎回書いてて面倒
バイナリで書き込むにはどうするんだっけ?って毎回ヘルプみて
JISで読み書きするにはどうするだっけ?とか

てか、一行でファイル書き込みできるようにしてくれよな

453 :デフォルトの名無しさん:2009/10/23(金) 20:53:07
資産が四散

454 :デフォルトの名無しさん:2009/10/23(金) 20:55:29
フォルダにコード片つっこんどいて grep する
これで充分

455 :デフォルトの名無しさん:2009/10/23(金) 20:56:25
そういうものの成れの果てがphpじゃないか

456 :デフォルトの名無しさん:2009/10/23(金) 21:12:44
>>452
System.IO.Fileに結構その手のメソッドが用意されてるけどな

457 :デフォルトの名無しさん:2009/10/23(金) 21:16:10
http://dobon.net/vb/dotnet/index.html
このサイトがあれば何もいらない

458 :デフォルトの名無しさん:2009/10/23(金) 21:33:45
StreamWriterでもさ、List<string>とかの場合
何度もStreamWriterを呼び出してインスタンス作らせるって無駄があるから
List<string>を引数として書き込めるメソッドを作るわけよ
そういう入出力クラスを毎回書くのが面倒

459 :デフォルトの名無しさん:2009/10/23(金) 21:37:38
>>457
この人は今さら何を言ってるの?

460 :デフォルトの名無しさん:2009/10/23(金) 22:59:26
>>458
>>456 じゃないけどだからそれなら File.WriteAllLines が
あるだろ
それか、string が各々行じゃないなら String.Concat ->
WriteAllText か

一行だろこれ。

461 :デフォルトの名無しさん:2009/10/23(金) 23:02:43
>>460
それ2008からあるの?
知らなかったわw

462 :デフォルトの名無しさん:2009/10/23(金) 23:06:50
2005(.NET 2.0)からあるわい

463 :デフォルトの名無しさん:2009/10/23(金) 23:12:58
2008C# で作った dll を 2003C# で作ったプログラムから使えるって本当ですか?

464 :デフォルトの名無しさん:2009/10/23(金) 23:14:37
2001のころの参考書見ながらだからずっと古いやり方してたわww
やっぱ参考書は旬のモノを買わないとだめだなw

465 :デフォルトの名無しさん:2009/10/23(金) 23:16:50
たまにヘルプでも眺めるのもいいもんだよ

466 :デフォルトの名無しさん:2009/10/23(金) 23:19:07
>>464
それ Generics すらないんじゃないか?
はっきりいってその古さだとたぶんゴミ知識だぞ現状。
ごくごく基本的なことは別として。

467 :デフォルトの名無しさん:2009/10/23(金) 23:35:29
Genericsもないよw
たまたまここで知ったから使ってたけど

C#300の技って奴だけど、その知識が焼きついててそればかり使ってたな
というか、ライブラリ多すぎだよ

468 :デフォルトの名無しさん:2009/10/23(金) 23:39:29
無知をライブラリの多さにせいにしたかw

469 :デフォルトの名無しさん:2009/10/23(金) 23:41:26
>>467
別にライブラリやイディオムを全部覚える必要は無いんだよ。
必要に応じて使い方が分かればそれで済むこと。

――まあ、だからJavaやC#はネットでググってサンプルコードを
コピペするだけの作業、なんて揶揄されたりするんだがな。

オレは別にそれが悪いとは思わない。それで最短の時間で開発が進められるなら。

470 :デフォルトの名無しさん:2009/10/23(金) 23:48:08
いや、確かに情弱だけどさ
サイトもFile.WriteAllLines使ってなくて、2003の頃のサンプルだし
まあそりゃ10年近く経ったら言語も進化するよね

というか、新しいクラスってどうやって見つけてるの?

471 :デフォルトの名無しさん:2009/10/24(土) 00:11:11
Visual Studio 2005で.NET3.0って使えないの?
使えるようにする裏技とか無いの?

472 :デフォルトの名無しさん:2009/10/24(土) 00:12:52
ない

473 :デフォルトの名無しさん:2009/10/24(土) 00:15:02
3.0のdll参照したら使えるよ
もちろんWPFデザイナなどが使えるわけではないけど

474 :デフォルトの名無しさん:2009/10/24(土) 00:15:54
マジで?やってみる

475 :デフォルトの名無しさん:2009/10/24(土) 00:19:30
WPF用のプラグインが出てなかった?
今もダウンロードできるかどうかは知らないけど。

476 :デフォルトの名無しさん:2009/10/24(土) 00:21:04
ない

477 :デフォルトの名無しさん:2009/10/24(土) 00:21:55
あれは未完成で使い物にならん
あんなゴミ使うくらいなら2008Expressを使った方が遥かにいい

478 :デフォルトの名無しさん:2009/10/24(土) 00:34:06
でももうちょっとでVS2010が出るから今2008を買う気にはなれない

479 :デフォルトの名無しさん:2009/10/24(土) 00:38:13
MSDNだから只で手に入るお
待ち遠しいお

480 :デフォルトの名無しさん:2009/10/24(土) 00:38:27
買わなけりゃいい

481 :デフォルトの名無しさん:2009/10/24(土) 00:42:55
EEだしな

482 :デフォルトの名無しさん:2009/10/24(土) 00:54:14
EEでどこまでがんばれるかな。
フリーソフト作家として問題なくやってけるだろうか

483 :デフォルトの名無しさん:2009/10/24(土) 01:02:25
EEってどんな制限があるの?
知っているのは
開発環境用のプラグイン、MFC、ATLが使用不可。64bit版非対応、モバイル開発不可くらい。あと何か致命的に困ることって何かある?

484 :デフォルトの名無しさん:2009/10/24(土) 01:03:00
うん

485 :デフォルトの名無しさん:2009/10/24(土) 01:14:05
- セットアッププロジェクトが作れない。
- アイコンライブラリが付属しない。

でもメニューやツールバーの標準アイテムにアイコンが入ってるのは謎。
あれライセンス的にどうなってるのか

486 :デフォルトの名無しさん:2009/10/24(土) 01:22:07
知り合いの学生に頼み込んでDreamSpark入ってもらえば

487 :デフォルトの名無しさん:2009/10/24(土) 01:35:13
UMLもないね

488 :デフォルトの名無しさん:2009/10/24(土) 01:38:59
2008 って .NET 4.0 使えるようになると思う?
SP3 はあるのか?

489 :デフォルトの名無しさん:2009/10/24(土) 02:03:15
今のところ情報は出てないっぽいんで、ないと思っていた方が後でガッカリしなくて済むぞ

490 :デフォルトの名無しさん:2009/10/24(土) 02:08:02
MSとしても特にメリットは無さそうだし

491 :デフォルトの名無しさん:2009/10/24(土) 05:21:49
>>483
ここはC#のスレだからMFC/ATL関係ないし64bit版も問題ない

492 :デフォルトの名無しさん:2009/10/24(土) 07:11:08
>>459
HPを紹介してくれた
親切な人です
DB関係でいいHPありませんか

493 :デフォルトの名無しさん:2009/10/24(土) 08:33:33
EEってVSSも使えないよね、たしか。
個人でやる場合はSVNとか使うから別にいいけど。

494 :デフォルトの名無しさん:2009/10/24(土) 08:57:26
いまどき、VSS使ってるとこなんてろくなとこじゃない。 MSでさえ使ってないわけだし。

495 :デフォルトの名無しさん:2009/10/24(土) 09:21:23
>>494
じゃあMSは何を使ってソース管理してるんだ?

496 :デフォルトの名無しさん:2009/10/24(土) 09:24:05
VSS

497 :デフォルトの名無しさん:2009/10/24(土) 09:34:02
なんだ>>494は正しいじゃないか

498 :デフォルトの名無しさん:2009/10/24(土) 09:35:15
Windows7ってxml読めないんですか?
せっかく.NETで作ったのにxmlファイルが読めないらしいです…

499 :デフォルトの名無しさん:2009/10/24(土) 09:35:17
Microsoft Dave Probert 氏の Windows Kernel に関する講演会

[質問] では、Visual SourceSafe などは使っていないのか?

Visual SourceSafe は使わない。あれはビギナー (初心者) 向けのソフトだ。

http://d.hatena.ne.jp/softether/20060202#p2


500 :デフォルトの名無しさん:2009/10/24(土) 10:26:41
>>498
意味不明

501 :デフォルトの名無しさん:2009/10/24(土) 12:23:31
>>500
XmlSerializerでオブジェクトをxmlファイルに保存したものが
Windows7だと読み込めないみたいなんですよねえ


502 :デフォルトの名無しさん:2009/10/24(土) 12:27:54
>>501
らしいとか、みたいとか、なんだ。
そんないいかげんな言葉じゃなくて実際に試してくれ。
実際に試せば原因だって分かるだろ。
例えばmsxmlは複数のバージョンがあるから、.NETが古いバージョンのものを参照していれば読めなくなることだってあるだろうさ。

503 :デフォルトの名無しさん:2009/10/24(土) 12:36:41
>>501
おまえのそのOS、5元の奴じゃね?
普通にシリアライズしたもの読み書き出来るんですけど
64bitでも

504 :デフォルトの名無しさん:2009/10/24(土) 12:41:27
スレ違い。Windows 7 スレいけば?

505 :デフォルトの名無しさん:2009/10/24(土) 12:43:30
え?スレ違いかな?

506 :デフォルトの名無しさん:2009/10/24(土) 12:53:28
全然スレ違いじゃない。

507 :デフォルトの名無しさん:2009/10/24(土) 12:56:04
やり方が悪いんだろ。コードも示さずに文句言うなハゲ

508 :デフォルトの名無しさん:2009/10/24(土) 13:00:31
やった
バージョンアップ案件で金が取れる!

509 :デフォルトの名無しさん:2009/10/24(土) 13:14:21
Win7だと.NET1.0と1.1は完全に動かなくなるんだよね?

510 :デフォルトの名無しさん:2009/10/24(土) 13:19:28
マジ?

511 :デフォルトの名無しさん:2009/10/24(土) 13:22:30
黒歴史だから消えてくれた方がありがたい

512 :デフォルトの名無しさん:2009/10/24(土) 13:32:22
Win7のXPモードでも.やっぱNET1.1はサポートされないの?

513 :デフォルトの名無しさん:2009/10/24(土) 13:37:22
MSDNっていつから変わったんだ?
スクリプトフリー表示さいこうじゃまいか

514 :デフォルトの名無しさん:2009/10/24(土) 13:53:09
以前の軽量版と同じじゃね?

515 :デフォルトの名無しさん:2009/10/24(土) 16:06:47
Windows Mobile エミュレータ使ってるんですが、コンパイルした実行ファイルは自動的に発行されますが
プラグインなどはどうやってエミュレータ内に発行すればいいんでしょうか?
エミュレータの中のディレクトリやファイルって本体のイメージファイルの中にあるみたいで
テストのたびに共有フォルダからエミュレータ内のファイルエクスプローラーでコピーすればできるんですが・・・
VSの機能ではやれないでしょうか?

516 :デフォルトの名無しさん:2009/10/24(土) 16:38:48
C#は2001のころの知識って
何がしたいんだよw

517 :デフォルトの名無しさん:2009/10/24(土) 17:00:46
>>502
7環境が無いからユーザーの意見を聞いただけ。
試してくれって言ったって環境が無いんだからしょうがないじゃん。
環境が無い事を責めないで…。
.NETは一応2.0でビルドしてるんだけど、XmlSerializerメソッド使ってるんだけど古いからだめとかあるのかな。
ていうかせっかく.NETなのにそんなんじゃだめじゃんねー。

518 :デフォルトの名無しさん:2009/10/24(土) 17:10:29
>>517
まあ別に>>502が責めてるようにも客観的には思えないけどね。

ちなみに、Windows7はMSが評価用のを提供してるから、
君にその気さえあれば試すことはできる。

VMwareとかVirtualPC使えばPCやHDDを新調する必要もないしね。
(もっともPen4マシンとかだと正直重くて辛いけど)

519 :デフォルトの名無しさん:2009/10/24(土) 17:16:40
>>509
.NET1.1の扱いはVistaと同じではないかと。
インストールは問題なくできる。
64bit版は提供されてない。64bitOSでは32bitモードでのみ動作。
ただし、VS2003は未サポートなのでVSでの開発は別の環境が必要。

520 :デフォルトの名無しさん:2009/10/24(土) 19:57:37
C#でif,else if での3つ以上の入れ子は可能ですか?

521 :デフォルトの名無しさん:2009/10/24(土) 20:08:26
やってみて駄目だったらまたおいで

522 :デフォルトの名無しさん:2009/10/24(土) 20:08:56
>>520
そりゃあ、
if (b1) {
.....
} else if (b2) {
.....
} else if (b3) {
.....
}
っていう書き方は
if (b1) {
.....
} else {
if (b2) {
.....
} else {
if (b3) {
.....
}
}
}
の{}ブロックを省略してるだけだから、いくらでも。

523 :デフォルトの名無しさん:2009/10/24(土) 20:11:07
エラーでてもパソコンが壊れるわけじゃないんだから、とりあえずやってみればいいと思う

524 :デフォルトの名無しさん:2009/10/24(土) 20:32:37
10万回の入れ子は大丈夫でした。100万回でこんなの出ました。
fatal error CS1647: ''
        の付近でコンパイルするには、式が長すぎるか、または複雑すぎます。

525 :デフォルトの名無しさん:2009/10/24(土) 20:35:07
でっていう

526 :デフォルトの名無しさん:2009/10/24(土) 20:37:23
コンパイラの制限なのかCLRの制限なのかどっちなんだろう

527 :デフォルトの名無しさん:2009/10/24(土) 20:40:20
どっちでもいい。

528 :デフォルトの名無しさん:2009/10/24(土) 20:46:53
以前人工知能を開発しようとしたものだが
実装されている機能は
自分でメソッドやフィールドを作成
自分でファイル入出力
自分を継承した子供を生み繁殖

これで人としての機能はほとんど与えたはずなんだが
「こんにちは」と言っても反応してくれない
ずっとセックスと繁殖ばかり繰り返してる
困ったものだ

529 :デフォルトの名無しさん:2009/10/24(土) 20:54:05
>>528
興味あるからソース公開しろ。

530 :デフォルトの名無しさん:2009/10/24(土) 21:00:58
TreeViewコントロールを使用しています。
あるノードがすでに展開されているかどうかを調べ、まだ展開されていなければ展開して選択し、既に展開されていたら選択だけをするようにできたらと思っていますが、どうすれば既に展開されているかを調べることができるでしょうか?

531 :デフォルトの名無しさん:2009/10/24(土) 21:03:36
TreeNodeのプロパティくらい見てるか?
見てないなら見てみろ

532 :デフォルトの名無しさん:2009/10/24(土) 22:03:10
>>531
すみません。プロパティを見ました。ありがとうございます。
選択されていてかつ、画面に表示されているかどうかを把握することはできますでしょうか。
もし、展開はされていますがノード数が多くて画面の外に隠れている場合(スクロールバーを異動させてはじめて見える場合)、
TreeViewの先頭に持っていきたいと思っていますが、それは可能でしょうか?

533 :デフォルトの名無しさん:2009/10/24(土) 22:06:01
>>532
ですが、失礼な文章になってしまっていました。すみません。
ご回答、よろしくお願い申し上げます。

534 :デフォルトの名無しさん:2009/10/24(土) 22:07:43
可能
TreeViewとTreeNodeのプロパティを見ろ

535 :デフォルトの名無しさん:2009/10/24(土) 22:08:28
>>532
ノードは開始位置のx、yの座標を持っているんじゃなかったかな。
ただし隠れていたらその座標がどうなっているか分からない…。
また、あるノードをTreeViewの先頭に持っていく方法はあるのかな。
一度全部畳んでエクスパンドするしかない…?

536 :デフォルトの名無しさん:2009/10/24(土) 22:09:42
画面に見えているか隠れているか分かるもんなの?

537 :デフォルトの名無しさん:2009/10/24(土) 22:10:58
どっちも用意されてる

538 :デフォルトの名無しさん:2009/10/24(土) 22:21:13
EnsureVisibleがあるけど、指定のノードを先頭行に確実に持っていくことはできたっけ?

539 :デフォルトの名無しさん:2009/10/24(土) 22:26:50
確実には無理だけどな、一番下のノードはどうやっても先頭には持って行けない

540 :デフォルトの名無しさん:2009/10/24(土) 22:58:56
例えば5行目に見えているノードを1行目に持っていくこともできたらいいのになぁ。

541 :デフォルトの名無しさん:2009/10/24(土) 23:23:58
静的クラスの自動実装プロパティを初期化する方法って存在しないの?

542 :デフォルトの名無しさん:2009/10/24(土) 23:24:50
>>541
オーバーライド

543 :デフォルトの名無しさん:2009/10/24(土) 23:28:44
>>541
静的コンストラクタ

544 :デフォルトの名無しさん:2009/10/24(土) 23:31:00
>>543
探し求めていたのはまさにこれでした!ありがとう!

545 :デフォルトの名無しさん:2009/10/24(土) 23:31:09
>>542
静的クラスの意味を考えてみろ。オーバーラードじゃだめだろ。JK

初期化を行う静的メソッドを用意して呼んであげたらどう?
思いっきりC言語っぽくなるが、それもまたアリの方向で。

546 :デフォルトの名無しさん:2009/10/24(土) 23:33:36
ぼくはオーバーワーク^^

547 :デフォルトの名無しさん:2009/10/24(土) 23:34:09
ツマンネ

548 :デフォルトの名無しさん:2009/10/24(土) 23:35:03
検索機能を付けたいと思い、
テキストボックスのテキストチェンジドイベントを使用したのだけど、
例えば「アキヤマ」と検索ボックスに入力してEnter確定したとき、
「アキヤマ」でテキストチェンジドイベントが起きるだけではなく、
「アキヤ」
「アキ」
「ア」
の4回テキストテェンジドイベントが発生しているようなんだ。
この事態を回避するには、どんな手段がありますか?

549 :デフォルトの名無しさん:2009/10/24(土) 23:39:03
>>548
Enterを押した時だけイベント起せばいいんじゃないのか?

550 :デフォルトの名無しさん:2009/10/24(土) 23:41:31
入力の度に判定してるなら、確定したときだけ判定するようにすればいい

551 :デフォルトの名無しさん:2009/10/24(土) 23:55:00
なんかプログラマに向かない人の発想臭いよなあ・・・

552 :デフォルトの名無しさん:2009/10/24(土) 23:58:07
MSDNくらい読めよw

553 :デフォルトの名無しさん:2009/10/25(日) 00:08:38
いっそ incremental search にしちゃえ。

554 :デフォルトの名無しさん:2009/10/25(日) 00:15:03
俺もそう思った。
回避するんじゃなく補完機能を付ける方に変えれば?

555 :デフォルトの名無しさん:2009/10/25(日) 00:48:06
いまXMLの暗号化を触っているんだけど、ここで使われているキーは「RijndaelManaged key = null;」とされていて、
自分で決められたbitを指定しないとエラーとなってしまう。
ここで、ある量のbitを吐くメソッドを適当に作ってキーを生成しているんだけど、もっと効率のいい方法ないかな?
本当は効率とかどうでもよくって、ある共通キーを作成するためのライブラリが.Netにあればなと思ってるんだけど、
そんなおしいものってある?

556 :デフォルトの名無しさん:2009/10/25(日) 01:06:51
RijndaelManaged.GenerateKey()

557 :デフォルトの名無しさん:2009/10/25(日) 01:08:45
共通鍵暗号技術の基礎を理解していないと思われる
マスターシークレットの生成は暗号の強度を決定する極めて重要な事項ですよ
>>555の鍵は速攻で破られるので絶対に駄目です
堅牢な乱数が欲しいならハードウェアの乱数器を導入すべき
安全性が低下しても良くてお手軽にやりたいならSystem.Security.Cryptography.RNGCryptoServiceProvider.GetBytes()を使う

558 :デフォルトの名無しさん:2009/10/25(日) 01:17:32
共通キーというのは、ネットワーク外のデータ交換でファイルの認証に使うものだと思っているんですが、まずそこが間違っているのでしょうか?
やりたいことはネットワークを使う認証ではなく、単にデータのやり取りを行うとき、「このデータはここから発行したんだよー」
という文字データを暗号化して偽装されないためにするためです。
あのでアプリケーション内や、リアルタイムで認証などではなく、ある決められた文字で暗号複合したいなぁと考えています。

とりあえずちゃんと調べてきます。
ごめんなさい・・・

559 :デフォルトの名無しさん:2009/10/25(日) 01:24:44
>>550
IME変換を確定する時のEnterって検出できるの?

560 :デフォルトの名無しさん:2009/10/25(日) 01:32:12
>>559
しょーがねーなまったく

private void comboBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == '\r')
{

}
}

561 :デフォルトの名無しさん:2009/10/25(日) 03:06:48
URLを日本語にする為にUTF-8からShift-jisに変換したいのですが良い方法はありますか?
検索したところ、まずbyteに変換してShift-jisに戻すと書いてあったのですが文字化けしてしまいます

562 :デフォルトの名無しさん:2009/10/25(日) 03:17:04
>>561
Encoding(952)

563 :デフォルトの名無しさん:2009/10/25(日) 03:53:26
staticクラスのフィールド変数も初期化しないと使えないのでしょうか?

564 :デフォルトの名無しさん:2009/10/25(日) 04:00:50
>>563
というか、初期値が入っている。

オブジェクト型ならnullもしくはデフォルトコンストラクタの結果だし、
整数値なら0だし、bool型ならfalseだ。

それ以外の値を臨むなら変更してやる必要がある。

565 :563:2009/10/25(日) 04:16:53
>>564
なるほど
うまく言えないんですが
オブジェクト型の場合、nullのままだとそのオブジェクトのプロパティなどは使えないんでしょうか?
つまり戻り値が常にnullだったりするのかな?

566 :デフォルトの名無しさん:2009/10/25(日) 05:02:25
あ?

567 :デフォルトの名無しさん:2009/10/25(日) 05:56:39
>>562
それも試したのですが、変な漢字(中国語?)が混ざってしまい正常なファイル名を出力できません
もしかして一回文字化けした文字は直らないのでしょうか?

568 :デフォルトの名無しさん:2009/10/25(日) 07:37:05
>>565
System.NullReferenceException

569 :デフォルトの名無しさん:2009/10/25(日) 07:44:59
>>567
どこに原因があるか掴みづらいので
URLがどこから来たのかも含めて流れ図にしてくんない

570 :デフォルトの名無しさん:2009/10/25(日) 09:05:50
テキストファイルを一行ずつ配列に入れるにはどうすればいいんですか?

571 :デフォルトの名無しさん:2009/10/25(日) 09:07:54
File.ReadAllLines

572 :デフォルトの名無しさん:2009/10/25(日) 09:36:48
テキストファイルを一行づつコンボボックスに値として取り込むなら
配列使うのが最善ですかね?


573 :デフォルトの名無しさん:2009/10/25(日) 09:37:33
最善かは知らんが通常はそれで良いんじゃない

574 :デフォルトの名無しさん:2009/10/25(日) 09:59:52
どうしても自作ソフトを組むとタスクマネージャで見たメモリ使用量が
20mとか30mとかになってしまいます
WMPのような再生するソフトでも、実際に見てみると7m程度しか使ってないのに
同じようなソフトでもこんなに変わるものなのですか?

575 :デフォルトの名無しさん:2009/10/25(日) 10:10:27
同じって、、、.NET同士で比べたら?

576 :デフォルトの名無しさん:2009/10/25(日) 10:20:06
.NET同士だとそう変わらないのは知ってます
ですから、その理由が知りたいのです。
どんな技術が使われているのでしょう?

577 :デフォルトの名無しさん:2009/10/25(日) 10:25:06
.Net Fxのライブラリ群をメモリにマップするから使用量が多く見えてるだけだろ

578 :デフォルトの名無しさん:2009/10/25(日) 10:30:19
Treeviewで、「東京本社\\神奈川営業所\\山田花子\\車種A」
というノードがすでに追加されているとします。
今、ノードが全て折り畳まれている状態で、
上記のパスを直接指定してノードをエクスパンドする方法はありますでしょうか?
今は、ノード名を1つ1つ検索した上で展開しているのですが、
パスがすでに分かっている場合は、ダイレクトに展開できたらと思っています。
よろしくお願いします。

579 :デフォルトの名無しさん:2009/10/25(日) 10:34:37
TreeViewにおけるパスは一般的に一意性があるモンじゃないからなー そういうのは用意しづらい

580 :デフォルトの名無しさん:2009/10/25(日) 10:41:10
この「同じようなソフト」の意味がわからん。

581 :デフォルトの名無しさん:2009/10/25(日) 10:43:09
ワーキングセットだけ見ててもしょうがないぞ。

582 :デフォルトの名無しさん:2009/10/25(日) 10:45:02
>>579
なるほど…ありがとうございます。
同じパスが併存する可能性もありますものね。

583 :デフォルトの名無しさん:2009/10/25(日) 10:52:43
ソリューションに複数プロジェクトを登録して
プロジェクト同士が相互に参照するような設定はできないと思うんですが
その場合は参照が必要なプロジェクトに小分けして相互参照を回避するのが常道でしょうか?

584 :デフォルトの名無しさん:2009/10/25(日) 10:56:53
うちの環境で試したけど
WindowsMediaPlayer COMコンポーネントを介して動画を再生したら、本物のWMPで同じ動画を再生するよりメモリ使用量は少なかったよ。
たぶん無駄なデータを保持しているとかそんな落ちでしょ

585 :デフォルトの名無しさん:2009/10/25(日) 11:00:35
XP以前とVista以降でタスクマネージャの既定の表示項目が違うというのもポイント

586 :デフォルトの名無しさん:2009/10/25(日) 11:01:03
ファイルをサーバ上に用意して、
起動ごとにそのファイルを取得、
,ごとにリストボックスに表示させることは出来ますか


587 :デフォルトの名無しさん:2009/10/25(日) 11:02:21
簡単ですね
「ネットワーク繋がってないです」みたいなオチが無ければ

588 :デフォルトの名無しさん:2009/10/25(日) 11:04:04
>>562
932だろ、このあわてんぼうw

589 :デフォルトの名無しさん:2009/10/25(日) 11:04:54
取得までは出来るんですが、
それをどうやって,で分けて持つかが分からないです
参考になるサイトとか無いですか?

590 :デフォルトの名無しさん:2009/10/25(日) 11:05:15
>>583
いや相互に参照出来るけど

591 :デフォルトの名無しさん:2009/10/25(日) 11:07:13
>>590
ええw

参照設定で追加できませんってエラーが出るのはどういう場合でしょうか?
お願いします!お願いします!

592 :デフォルトの名無しさん:2009/10/25(日) 11:08:08
>>589
Stringクラスのstaticメソッドを探してみろ

593 :デフォルトの名無しさん:2009/10/25(日) 11:10:20
>>589
Googleに「C# 文字列 分割」って入力するといっぱい出てくるよ
目の前の箱は万能な箱

594 :デフォルトの名無しさん:2009/10/25(日) 11:10:52
お前を消す方法ってググっても出てきません

595 :デフォルトの名無しさん:2009/10/25(日) 11:13:10
>>591
いやどうやっても上手くいくんだが
むしろそのエラーの出し方が分からんw

596 :デフォルトの名無しさん:2009/10/25(日) 11:15:03
昨日からの質問で恐縮ですが…
A店
 Bさん
 Cさん
 …
 Zさん
というノードが作成されているとして、
Zさんのノードを検索した時、ZさんのノードがTreeViewの下端に表示されてしまいます。
これは、Aさん〜Yさんの兄弟ノードが25行あるために、下端までおいやられているからだと思いますが、
Zさんのノードを一番に上に表示させるには、
プロパティに座標などを指定する必要があるのでしょうか。
または別の方法があるのでしょうか。
A〜Zさんには子ノードはありません。
よろしくお願いします(>_<)。

597 :デフォルトの名無しさん:2009/10/25(日) 11:19:12
>>583
循環参照はできないので、ツリー構造を取るのが基本。

598 :デフォルトの名無しさん:2009/10/25(日) 11:22:27
>>595
>>583 じゃないけど、出来ないよ?
プロジェクト間の循環参照のことでしょ。
こういうメッセージが出る。
「'A'への参照を追加できませんでした。このプロジェクトを参照として追加すると循環する参照関係を生じます。」

というわけで、>>583 は自分の言うとおり、中身の整理をした方がいい。

599 :デフォルトの名無しさん:2009/10/25(日) 11:23:02
ああプロジェクトの依存関係の参照のことを言っていたのか
そりゃ出来ないわ

600 :デフォルトの名無しさん:2009/10/25(日) 11:31:54
>>596
兄弟ノード間の順番を変えたいの?

601 :デフォルトの名無しさん:2009/10/25(日) 11:33:27
100kくらいのテキストをStringで宣言してるんですが
これ関係無いの?

602 :583:2009/10/25(日) 11:37:45
ありがとうございました

すぐとりかかります

603 :デフォルトの名無しさん:2009/10/25(日) 11:47:14
>>601
長いテキストはテキストファイルに保存してリソースにしたほうがいいと思う

604 :デフォルトの名無しさん:2009/10/25(日) 11:49:31
('A')ア"ア"ア"-

605 :デフォルトの名無しさん:2009/10/25(日) 12:01:33
>>600
お返事ありがとうございます。
順番は変えずに、Zさんのノードを先頭位置に表示させたいんです。
(検索でヒットしたノードを常にTreeviewコントロールの先頭行に表示させたいと思っています。)
どうすればいいでしょうか…。

606 :デフォルトの名無しさん:2009/10/25(日) 12:07:54
つってもA店の下に他の店が無かったらZはどうやっても最下段にしか表示できんが

607 :デフォルトの名無しさん:2009/10/25(日) 12:26:29
>>606
ありがとうございます。
その下にB店、C店が続きます。
EnsureVisibleで表示する以外に、もっと細かく表示位置を指定できたらと思っています。

608 :デフォルトの名無しさん:2009/10/25(日) 12:37:27
>>607
まあ、例えば店の名前の前に整数値でIDを振ってみるとか。
でも、ツリービューは最善のUIじゃないかもしれないよ。

リストボックス+ボタン×3、せいぜい検索用のコンボボックスをつける程度の
UIのほうが一般的じゃないかな。

609 :デフォルトの名無しさん:2009/10/25(日) 12:37:47
だからプロパティ確認しろっていわれてんだろ

610 :デフォルトの名無しさん:2009/10/25(日) 12:55:24
確認したけど、先頭にあるかどうかを示すプロパティはないみたいなんです。


611 :デフォルトの名無しさん:2009/10/25(日) 12:59:16
あきらめろよ。

612 :デフォルトの名無しさん:2009/10/25(日) 13:07:18
>>611
冷たいこと言わないで。

613 :583:2009/10/25(日) 13:30:55
すみません
プロジェクトをいじってるうちに
定義済みの型 'System.Object' は定義、またはインポートされていません
こんなエラーが出るようになってしまいました
参照設定もusingもsystemを入れてありますし、エラーにコードの場所が示されません
これはどうしたらいいでしょうか?

614 :デフォルトの名無しさん:2009/10/25(日) 13:36:38
>>613
プロジェクトのプロパティのビルドの詳細設定に、「mscorlib.dll を参照しない」
とうのがあるだろう、チェック入ってたらはずせ。

615 :デフォルトの名無しさん:2009/10/25(日) 13:36:48
作り直せよ

616 :デフォルトの名無しさん:2009/10/25(日) 14:00:15
配列を返す場合は
private string[] aaa()
{
return
}

617 :デフォルトの名無しさん:2009/10/25(日) 14:02:23
切れてるぞオオオオおお

618 :583:2009/10/25(日) 14:17:12
>>614
サンクス!!参照設定いじってるうちにmscorlibへの参照が消えてました! 助かりました

619 :デフォルトの名無しさん:2009/10/25(日) 14:33:52
問題

1.LinQとは何か?一行で答えよ

2.WPFとは何か?1行で答えよ

620 :デフォルトの名無しさん:2009/10/25(日) 14:35:16
ググレカス

621 :デフォルトの名無しさん:2009/10/25(日) 14:35:48
>>619
死ねハゲ

622 :デフォルトの名無しさん:2009/10/25(日) 14:56:16
宿題スレにでもいけばいいのに

623 :デフォルトの名無しさん:2009/10/25(日) 15:15:16
今までhoge.exeと同一ディレクトリにXMLで書いたhoge.configを置いていたけど
3.5になってから下記エラーでて設定ファイルを読み込むことも書き込むことも出来なくなってた。
hoge.configを別の名前にするとちゃんと読み書きできる。
なじぇ?

[System.Configuration.ConfigurationErrorsException] = {"構成システムを初期化できませんでした。"}

InnerException = {"構成ファイル hoge.config には、ルート <configuration> タグが含まれません。
(D:\\Visual Studio\\Projects\\hoge\\bin\\Debug\\hoge.config line 2)"}

624 :デフォルトの名無しさん:2009/10/25(日) 15:40:31
exe.configはもともとプログラムから書き換える類のものではないから。
はじめから使い方が間違っている。

625 :デフォルトの名無しさん:2009/10/25(日) 17:42:18
>>624
すいません、hoge.configであってhoge.exe.configとは書いてないのですが

626 :デフォルトの名無しさん:2009/10/25(日) 17:45:10
めでたしめでたし

627 :デフォルトの名無しさん:2009/10/25(日) 17:55:32
解決してないがな

628 :デフォルトの名無しさん:2009/10/25(日) 17:58:35
>>625
インストール後に設定を切り替えるようなことをするのは、
ユーザー構成ファイルを使えばいい。

629 :デフォルトの名無しさん:2009/10/25(日) 17:59:20
>>625
そのつもりがなくても、VSがhoge.exe.configと同じ扱いをしてるから
そういうエラーが出てるってことなんじゃないの。

630 :デフォルトの名無しさん:2009/10/25(日) 19:04:06
>>629
ありがとうございました。

631 :デフォルトの名無しさん:2009/10/25(日) 20:11:08
ネット上から、,で区切られているサーバ一覧を格納したファイル
(aサーバ,bサーバ,cサーバ,....)から、
配列Aを作り、コンボボックスに一覧として追加する。
コンボボックスから、aサーバが選ばれたら、
ネット上からaServer.txtを取得して表示・・・という事がしたいのですが、
どうやってAサーバが選ばれたら、aServerを取得するという処理を行うかで悩んでます

SelectedIndexで0Server.txt、1Server.txtを取得すればいいのかと思われますが、
そうするとサーバ側の管理が面倒になってきます。
また、コンボボックスのサーバ名は2バイト文字も使うため、
サーバ側でaサーバ.txt、cサーバ.txtのようにすればいいのだと思いますが、
サーバ側は1バイト文字しか扱いたくありません。

こんな場合だと、皆さんはどうコーディングするのでしょう?

632 :デフォルトの名無しさん:2009/10/25(日) 20:14:53
いやサーバをServerに置換するだけじゃないのか

633 :デフォルトの名無しさん:2009/10/25(日) 20:24:34
>>631
サーバって書いてあるからURLかと思ったら、ただのファイル名なのか。

配列Aをただのstring配列じゃなくて、クラスなり構造体の配列にするとか
サーバ名が一意な設計ならDictionary使ってもいいし

634 :デフォルトの名無しさん:2009/10/25(日) 20:26:34
String.Replace

635 :デフォルトの名無しさん:2009/10/25(日) 20:34:17
>>631
サーバ名とサーバのファイル名との関連はどう付けてるの?

プログラム側で決めてしまって良いなら、サーバ名とファイル名(パス)の
対応表をプログラム内か、設定ファイルにでも作っといてそれと照合するようにするけど。
ファイルならこんな感じ?
0,aサーバ,aServer.txt
1,bサーバ,bServer.txt

可能なら、「サーバ一覧を格納したファイル」の書式の変更をお願いして
上のような情報もそのファイルに持たせちゃうかな。

636 :デフォルトの名無しさん:2009/10/25(日) 20:40:38
>>635
そのように関連付けしたかったのですが、
配列変換の方法が,で区切って取得するという方法なので、
「サーバ一覧を格納したファイル」から関連付けするのが出来ません。
やはり、この取得方法を変えないと駄目ですかね。。

637 :デフォルトの名無しさん:2009/10/25(日) 20:45:31
二重に区切ればいいようなだけの気もするがな

A\tB,C\tD,E\tF

638 :デフォルトの名無しさん:2009/10/25(日) 21:03:42
どんだけセンスないんだ
最近のプログラマは

639 :デフォルトの名無しさん:2009/10/25(日) 21:06:06
仕様にないコード書くなやって言われるうちに頭が固くなったのだ

640 :デフォルトの名無しさん:2009/10/25(日) 21:12:45
この程度の低級処理ならセンスより技術だと思う

641 :デフォルトの名無しさん:2009/10/25(日) 21:16:32
細かい実装なんて他に影響が出なければどうでもいい

642 :デフォルトの名無しさん:2009/10/25(日) 21:19:27
初心者スレだし、こういう質問があってもいいと思うけどな。

643 :小学生:2009/10/25(日) 21:19:45
ここだけみて最近のプログラマ全体をわかった気になってんじゃねーよ

644 :デフォルトの名無しさん:2009/10/25(日) 21:30:33
メモリリークって何ですか?

645 :デフォルトの名無しさん:2009/10/25(日) 21:30:40
アルゴリズムを考え出すのってやっぱり論理ですか?
たとえば1から10までの整数から(重複ありで)3つ取り出して四則演算を2回だけ使って合計が10になるものをすべてだそうとします。
このとき、論理的に出そうとするならば、演算は(+,+)、(+,-)、(+,*)…などと考えて、数字も(+,+)の場合の数字は(1,1,1)から順次調べていく方法しかないんですかね?
それともこれとは別の直感的なひらめきで計算量をぐんと減らす手段とかも思いつけるものですか?

646 :デフォルトの名無しさん:2009/10/25(日) 21:31:07
なんだと、このおかちめんこ

647 :デフォルトの名無しさん:2009/10/25(日) 21:37:25
総当たりでやるのは、全然論理的じゃないと思うんだが。

1〜10で、四則演算二回だとすると、終わりの一回はかなり限定的になるだろ?
たとえば、+ の場合。x + {1...10} = 10 でいえば、10種類な訳。
そう考えると、一回目の演算で {0...9} になるのを探せばいいってことになる。

そう考えると、だいぶ楽じゃね?

648 :デフォルトの名無しさん:2009/10/25(日) 21:44:09
>>647
詳しく

649 :デフォルトの名無しさん:2009/10/25(日) 21:44:14
シリアル化ができないエラーが出るんですが
どこにエラーがあるのかさっぱりわからないorz
シリアル化っていくら読んでもよく理解できないんですが、
保存なんかするつもりもないし、そんなコード書いた覚えもないのに・・
もしかしてVSが勝手に何かをやってるんですか?・・・

650 :デフォルトの名無しさん:2009/10/25(日) 21:44:22
>>647
なるほど、そうすれば確かに入らない場合を除いて計算するのでだいぶ計算量は減りますね。
というと、端的に言えばアルゴリズムの改善というのは必要ない部分を削っていって組むプログラミングのことと考えていいのですか?

651 :デフォルトの名無しさん:2009/10/25(日) 21:46:20
整数2個と演算子1個で、結果の整数1個が得られる
結果とある整数と演算子1個で整数10が得られるようなある整数が範囲内に存在するか、とやればループが3→2に減る

整数存在判定めどいけど

652 :デフォルトの名無しさん:2009/10/25(日) 21:48:22
たまに妙な所からブレークスルー入るけど
基本は詰め詰めだろう

653 :デフォルトの名無しさん:2009/10/25(日) 21:54:39
アルゴリズムなんて寝て起きたらひらめく物だと思ってる俺

654 :デフォルトの名無しさん:2009/10/25(日) 21:56:31
>>651
でもそれだと、たとえば10÷3は整数でないですが10÷3×3が10になるっていうことがありえてしまいます


655 :デフォルトの名無しさん:2009/10/25(日) 21:59:59
O(n^2)のことばかり考える

656 :デフォルトの名無しさん:2009/10/25(日) 21:59:59
>>654
例外処理として書いておけばいい

657 :デフォルトの名無しさん:2009/10/25(日) 22:04:16
>>656
例外処理をしたら帰って処理が複雑な気がするぞw
/3*3とか/3*6とかたくさんあるだろjk

658 :デフォルトの名無しさん:2009/10/25(日) 22:04:52
女子高生がどうしたって?

659 :デフォルトの名無しさん:2009/10/25(日) 22:05:47
>>654
何を言いたいのかイマイチ分からん
10/3*3が9になって欲しいのか10になって欲しいのかそれとも9.9999...か

たとえば(10/3)*3が10になって欲しいのなら、
分数型を定義すればいいだけでは。


C#一切関係ないなあ・・・

660 :デフォルトの名無しさん:2009/10/25(日) 22:06:22
そうですか、みなさんいろいろ意見出していただいて参考になりました
納得いった部分やそうでない部分もありましたがこれからもいろいろ考えていきたいと思います
ありがとうございました
遅寝は体に悪いので寝ますおやすみなさい

661 :デフォルトの名無しさん:2009/10/25(日) 22:08:26
小学生?

662 :デフォルトの名無しさん:2009/10/25(日) 22:14:48
>>659
すいません、要はアルゴリズムの最適化を行う手順みたいなものがあるのかなということだったんです。
すべてに通用するようなことで…。
一般的な総当りを考えてそこからひつようのなさそうな部分を削っていくことがアルゴリズムの最適化になるのかそこが疑問だったのです。
今日のレスではそのような考え方に近いものをみなさんおっしゃるのでそういうことなのかなと考えたのです。

でも、なにかまったく違った角度から捕らえる何か(ひらめきのようなもの)がアルゴリズムの最適化になるのかわからないのです。

>>654>>651さんのアルゴリズムの考え方でちょっとそれはまずいのではと思ったので端的に思いついたことを書きました。



663 :デフォルトの名無しさん:2009/10/25(日) 22:16:01
そもそも何を求めるのかよくわかんないなあ

(A op1 B) op2 C = 1

これを満たす全ての{A, B, C, op1, op1}の組み合わせ(?)を求めるとしても、
まあ(A op B)の部分で除算以外は交換法則が成立することは考慮して重複は除外するのは
当然としても、


(9 + 9) - 8
(9 - 8) + 9

こういうのも重複とカウントするのか。

664 :デフォルトの名無しさん:2009/10/25(日) 22:16:28
>>645
組み込みだと、その組み合わせをテーブルとしてあらかじめ持っておくのが正解。

665 :デフォルトの名無しさん:2009/10/25(日) 22:16:34
演繹、帰納は、モノを考えるときの基本的なやり方だし。
どっちがいいとかってことじゃないだろ。

666 :デフォルトの名無しさん:2009/10/25(日) 22:20:05
理論計算機科学みたいな学問もあるからな。
最終的には数学とか論理学のお勉強しなさいってことになると思うよ。

一般化されたアルゴリズム最適化の手順なんてのは流石に無いんじゃないかしら。
バブルソートをクイックソートに昇華するのと
巡回セールスマン問題の効率化方法に共通点は今一見いだせない。

667 :デフォルトの名無しさん:2009/10/25(日) 22:21:07
もはや俺にはイミフなんだぜ
レベル高すぎなんだぜ

668 :デフォルトの名無しさん:2009/10/25(日) 22:25:56
>>663
そもそも問題文に重複の除外なんて書いてないのでは

669 :デフォルトの名無しさん:2009/10/25(日) 22:27:52
BM法とかって果たして論理から出てくるものかな・・・?

670 :デフォルトの名無しさん:2009/10/25(日) 22:33:15
BM法は出てこないこともない気がする

671 :デフォルトの名無しさん:2009/10/25(日) 22:34:39
>>669
いや、思いっきり論理的じゃん?



672 :デフォルトの名無しさん:2009/10/25(日) 22:34:52
このスレは突然次元の高い話題が出てきたりして話が始まるから困る
俺には最初のアルゴリズムの話がわかったようでわかってないあやふやな質問に見えたんだがわかるやつにはわかって話が進んでるんだもんな

673 :デフォルトの名無しさん:2009/10/25(日) 22:36:52
>>672
キーワードをググってその先斜め読みしてわかったような事書き込めばOK
レベル高そうに見えるよ

674 :デフォルトの名無しさん:2009/10/25(日) 22:43:43
>>673
それならROMってる方がいいだろw
つかBM法程度のことくらいはプログラマとして知ってて当然だと思う。
滅多に使うことはないがな。

675 :デフォルトの名無しさん:2009/10/25(日) 22:44:12
これからセックスなので落ちますね

676 :デフォルトの名無しさん:2009/10/25(日) 22:45:27
楽しんできて下さいね^^

677 :デフォルトの名無しさん:2009/10/25(日) 22:50:10
>>674
ぶっちゃけBM法とか知らなくても全然問題ないと思うよ。
普通にプログラマする場合は用意されたライブラリの使い所さえ把握してりゃ問題ない。


678 :デフォルトの名無しさん:2009/10/25(日) 22:51:13
A列車で行こう4のような斜めのマス目の場合
どのマス目がクリックされているか知るにはどうすればいいでしょうか?

679 :デフォルトの名無しさん:2009/10/25(日) 22:52:25
画像もなしに「ような」って言われて把握できるほど一般的なゲームだろうかそれは

680 :デフォルトの名無しさん:2009/10/25(日) 22:53:48
A列車は十分一般的だろw

681 :デフォルトの名無しさん:2009/10/25(日) 22:54:23
ググッたら単なる斜め45度の俯瞰視点だった

682 :デフォルトの名無しさん:2009/10/25(日) 22:55:01
俺は知らんな。
ダメコモンセンスの範疇じゃないかね。

683 :デフォルトの名無しさん:2009/10/25(日) 22:55:31
いや、オタクの一般的と世間の一般的を一緒にされてもな…

684 :デフォルトの名無しさん:2009/10/25(日) 22:56:38
>>677
そりゃそうなんだが、裏でどんな処理してるか気にならないか?
実際に自分で書くことはまずはないだろうけど。

685 :デフォルトの名無しさん:2009/10/25(日) 22:56:50
名前は分かるけどゲーム画面まで知ってる人間は少ないと思うなw

686 :デフォルトの名無しさん:2009/10/25(日) 22:57:53
ごめん。
知ってるし、ドル箱環状線作れば終了なゲームだってことも覚えてる

687 :デフォルトの名無しさん:2009/10/25(日) 22:58:17
ブラックボックス上等って考え方は好かん

688 :デフォルトの名無しさん:2009/10/25(日) 22:58:38
そうですかオタ自慢乙です

689 :デフォルトの名無しさん:2009/10/25(日) 22:59:19
罵り合いはいいから質問に答えてやれよw

690 :デフォルトの名無しさん:2009/10/25(日) 23:01:14
>>687
じゃあ目の前のPCの動作を量子力学レベルで説明できます?
ブラックボックスでいいじゃん、って考え方は好きじゃないんだよね?

691 :デフォルトの名無しさん:2009/10/25(日) 23:03:13
極論すぎる
この世に全能と無能しかいないとでも言うのかよ…

692 :デフォルトの名無しさん:2009/10/25(日) 23:03:28
できたところで無駄

693 :デフォルトの名無しさん:2009/10/25(日) 23:04:30
いかにもデジタルな考え方がプログラマらしくていいだろ
馬鹿そーだけどな

694 :デフォルトの名無しさん:2009/10/25(日) 23:04:52
なるほど
つまり>>690は無能のほうか

695 :デフォルトの名無しさん:2009/10/25(日) 23:07:24
バグがないと証明できると考えてるレベルのお花畑。

696 :デフォルトの名無しさん:2009/10/25(日) 23:08:26
>>678
複素数って習ったかね
学生ならまだの可能性があるけど

697 :678:2009/10/25(日) 23:11:06
書き込んでから言語の問題ではないと気づきました
多分専用のライブラリもないと思うし・・
他で聞いてみます

698 :デフォルトの名無しさん:2009/10/25(日) 23:11:32
一々実装の詳細調べてたらきりがないけど
何か問題があったときに最適な方法を探して比較検討出来るぐらいの脳味噌は欲しいな。


699 :デフォルトの名無しさん:2009/10/25(日) 23:12:02
DirectX(XNA)に回転用のメソッド無かったかw

700 :デフォルトの名無しさん:2009/10/25(日) 23:13:32
690の考え方を逆方面に突き詰めると「動けばいい」に行き着くよな
最悪

701 :デフォルトの名無しさん:2009/10/25(日) 23:13:40
>>695
P=NPだったらどうするんだよ!!
まだ証明されてねーぞ

702 :デフォルトの名無しさん:2009/10/25(日) 23:14:36
問題

1.以下の定理を証明せよ。(制限時間5分)

3 以上の自然数 n について、xn + yn = zn となる 0 でない自然数 (x, y, z) の組み合わせがない

703 :デフォルトの名無しさん:2009/10/25(日) 23:16:03
累乗記号抜けてないかね?

704 :デフォルトの名無しさん:2009/10/25(日) 23:16:46
n=3

3*3+8*3=11*3

705 :デフォルトの名無しさん:2009/10/25(日) 23:16:47
フェルマーの最終定理のつもりなのだろうけど、初期条件が抜けすぎて証明できないよ

706 :デフォルトの名無しさん:2009/10/25(日) 23:17:31
両辺nで割れちゃうしw

707 :678:2009/10/25(日) 23:18:17
>>696
習ったはずだけど・・もう忘れてしまった
ちょっと調べてみますね

>>699
XNAにはプリミティブを2Dに座標変換する関数があるっぽいことをヘルプに書いてたけど
難しくてよくわかりませんでした

一応スプライト表示、移動ができるようになったのでさっそくマップを作ろうと思ったんだけど

708 :デフォルトの名無しさん:2009/10/25(日) 23:19:51
女=悪 の証明

女は時間と金がかかる(girls require time and money)ので
Girl = Time × Money ・・・(1)

時は金なり(Time is Money)という諺によると
Time = Money ・・・(2)

(2)を(1)に代入すると
Girl = Money × Money

ここで、金は諸悪の根源(money is the root of all evil)だから
Money = √(Evil)

したがって
Girl = √(Evil) × √(Evil) = Evil

女=悪 (Q.E.D)

709 :デフォルトの名無しさん:2009/10/25(日) 23:22:11
「証明」て書き込まれたからってそんなSPAMみたいに条件反射的にコピペ貼らんでもいいよ。

710 :デフォルトの名無しさん:2009/10/25(日) 23:22:15
まあ言語の問題じゃないってのは正しい

711 :デフォルトの名無しさん:2009/10/25(日) 23:43:08
VC#上でビルドしたり、直接の発行先で実行した分には問題無いのに、
その発行されたexeを別の階層に持って行くと、JustInTimeデバッガの画面で
例外のSystem.IO.FileNotFoundExceptionが発生するんですが、
この原因はどうやって突き止めればいいんでしょう。。


712 :デフォルトの名無しさん:2009/10/25(日) 23:46:30
711追記
エラー出そうな所には、
try-catchで例外発生すればメッセージがでるようにはしてありました。
自作プログラムでJITデバッガが開いたのは初めてなんですが、
これはプログラムが起動する時点で致命的エラー出たって事ですかね?
メインフォームが表示される前にこのJIT画面が出ました。

713 :デフォルトの名無しさん:2009/10/25(日) 23:47:37
まずはスタックトレースを確認。

714 :デフォルトの名無しさん:2009/10/25(日) 23:52:47
exe以外の必要なファイルを移動させてませんでしたというオチだろう。

715 :デフォルトの名無しさん:2009/10/25(日) 23:56:06
あ、一度確認したのに・・・今全部のDLLを移動し直したら起動しました^^;
これ、起動に必要なdllが見つからない場合のtryとcatchはどこに書けばいいのでしょう・・・?

716 :デフォルトの名無しさん:2009/10/25(日) 23:58:26
>>707
XNAやDirect3D使うなら高校レベルの線形代数くらいは身についてないと無理

717 :678:2009/10/26(月) 00:17:20
数学苦手なプログラマ・・・だめじゃんw
一から勉強し直します
ありがとう

718 :デフォルトの名無しさん:2009/10/26(月) 01:36:37
ゲームって普通のプログラムより高度な数学知識が必要とされる気がする。


719 :デフォルトの名無しさん:2009/10/26(月) 01:58:07
まぁ、それがゲームだし

720 :デフォルトの名無しさん:2009/10/26(月) 06:14:32
C#実行中に、文字列でクラス名や関数名取り出す方法有りませんか?

721 :デフォルトの名無しさん:2009/10/26(月) 06:16:48
文字列を用いてクラス名や関数名取り出す

ってことはクラス名や関数名は分かってるんだろ
取り出す必要性ないじゃん

722 :デフォルトの名無しさん:2009/10/26(月) 06:18:25
いや、実行中にデバッグダンプをしたいんだけど、その為にです

723 :デフォルトの名無しさん:2009/10/26(月) 06:24:23
ますます必要なくね
対象ソースをデバッグ可能な環境にあるならデバッグコードでも差し込めばいいじゃん
trycatchで例外にメソッド名を足して再スローするとか

まあ、わざわざ茨の中に突っ込む理由がよく分からんが
君がやりたいなあと思ってることはSystem.Reflection名前空間内のクラス使えばできるよ
これ以上詮索はしない

724 :デフォルトの名無しさん:2009/10/26(月) 06:54:18
関数が、どの様に実行しているかのトレースダンプをログに出力したいことはありませんか?
C++ で言うところの __FUNCTION__ 見ないな物です。
Reflection見ているのですが、なれない物で見つからない…

725 :デフォルトの名無しさん:2009/10/26(月) 06:55:14
見ないな物

726 :デフォルトの名無しさん:2009/10/26(月) 07:00:14
リアルに重箱の隅をつつくようなやつっているんだな

727 :678:2009/10/26(月) 08:17:41
ふー行列でできるんですね
しかも、Matrixクラスがあるから超便利
なんとか実装できました
ありがとう

728 :デフォルトの名無しさん:2009/10/26(月) 09:07:42
WebBrowserコントロールでHTMLのプレビューをしたいと思うのですが
WebBrowserコントロールにHTMLを流し込むにはどうしたらいいでしょうか?
一旦ファイルに落としてNavigateすればいいと思うのですが
WebBrowser1.Html = "<html></html>"
みたいな感じでできないものでしょうか?

729 :デフォルトの名無しさん:2009/10/26(月) 09:22:50
DocumentStream

730 :デフォルトの名無しさん:2009/10/26(月) 10:10:06
>>729
さんくす!できました。
WebBrowser1.DocumentText = "<html><head></head><body>あいうえお<br>かきくけこ</body></html>"


731 :デフォルトの名無しさん:2009/10/26(月) 13:54:12
他人のプログラム調べたいんだろ

732 :555:2009/10/26(月) 16:04:21
結果できているんだけど、どうも不安。
「RijndaelManaged key = null;」をやめて、ある文字から256bitのbyte配列を返すクラスを自分でこしらえて使っているんだけど。
こういうのは.Netにはないでしょうか?
絶対あると思うのですが見つけられません。
keysizeとか指定しても全然違う数しか出ないし・・・

733 :デフォルトの名無しさん:2009/10/26(月) 17:03:05
Rfc2898DeriveBytes
ただし普通はソルトが必要。
まあ限られた用途なら固定値って手もあるが。


734 :デフォルトの名無しさん:2009/10/26(月) 20:55:28
自分は、手入力のパスワードをSHA512でハッシュ化して、そのバイト長と、
IV+Keyのバイト長との最小公倍数で繰り返しXORかけたバイト列を分割
してIVとKeyに食わせるとか、よく分からないけどやってみてた。
無駄な努力?

735 :デフォルトの名無しさん:2009/10/26(月) 21:04:39
無駄な努力だね

736 :デフォルトの名無しさん:2009/10/26(月) 21:13:31
暗号なんて適当な乱数使ってxorで良いんだよ。

737 :デフォルトの名無しさん:2009/10/26(月) 21:26:41
>>736
メルセンヌツイスタならそれでよさそう。

738 :デフォルトの名無しさん:2009/10/26(月) 21:28:17
メルセンヌツイスタは次項予測可能だぞw
それでもいいならやるがいいさ

739 :デフォルトの名無しさん:2009/10/26(月) 21:47:03
RSAでいいじゃん

740 :デフォルトの名無しさん:2009/10/26(月) 22:13:02
List.Findで一致するものがなかった場合は例外が投げられていましたっけ?

741 :デフォルトの名無しさん:2009/10/26(月) 22:14:03
ここで聞くよりMSDN見たほうがはえーぞ

742 :デフォルトの名無しさん:2009/10/26(月) 22:19:59
ExpressEditionって64bit用にコンパイルできないんですよね?
じゃあWin7 64bitでは開発が出来ないの?

743 :デフォルトの名無しさん:2009/10/26(月) 22:25:01
もともとC#で普通に作ったら64bitでも問題なく動く
プロジェクトのオプションでx64とかあるのはネイティブコードとの相互運用を行う場合のため

744 :デフォルトの名無しさん:2009/10/26(月) 22:38:58
EEだとアンマネージドDLLは32bitのしか使えないのか

745 :デフォルトの名無しさん:2009/10/26(月) 22:44:40
んなことないだろ。

746 :デフォルトの名無しさん:2009/10/26(月) 22:49:59
VSの「プラットフォーム」の設定はC#には全く関係ない

747 :デフォルトの名無しさん:2009/10/26(月) 23:02:05
AnyCPUで作っておけばいい
実行が64bitのランタイムなら64bitのアンマネージドDLLが使える
というかそれしか使えないし32bitのランタイムなら32bitのDLLしか使えない


748 :デフォルトの名無しさん:2009/10/26(月) 23:11:36
そんなレベルだといろいろはまりそうだから、32ビット固定とかにしといたほうが無難。

749 :デフォルトの名無しさん:2009/10/26(月) 23:20:04
どうせネイティブコードの相互運用っていったって大抵はWindowsのP/Invoke使ってるくらいだろ
その場合注意する点はP/InvokeのときにIntPtrを適切に使うことくらいでしょ

750 :デフォルトの名無しさん:2009/10/26(月) 23:27:54
うん。

751 :デフォルトの名無しさん:2009/10/26(月) 23:48:49
Intの範囲変わらなかったっけ

752 :デフォルトの名無しさん:2009/10/26(月) 23:49:10
変わらない。

753 :デフォルトの名無しさん:2009/10/26(月) 23:54:54
16ビットから32ビットへの移行では、多くのシステムで、int 型が16ビット幅から32ビット幅になった類推から、
32ビットから64ビットへの移行でも、int 型が64ビット幅になり、long 型は32ビットのままのIP64モデルが使われるという見方もあったが、
そのようなデータモデルは使われていない
(wikipediaより

適当に言ってるだけかと思ったわ。


754 :デフォルトの名無しさん:2009/10/27(火) 00:01:13
.NETFrameworkでグローバルフックはできるようになるの?

755 :デフォルトの名無しさん:2009/10/27(火) 00:02:10
出来ますん

756 :デフォルトの名無しさん:2009/10/27(火) 00:17:31
intはCTSのInt32のエイリアスなんでしょ?

"Int32"なのに8バイト幅だったら羊頭狗肉過ぎる

757 :デフォルトの名無しさん:2009/10/27(火) 00:27:54
サードパーティー製のDLLで64bit版がないものを使う場合とかだな>プラットフォーム指定
共通アーカイバとかmp3infpとか。

758 :デフォルトの名無しさん:2009/10/27(火) 00:36:55
MDXとかXNA

759 :デフォルトの名無しさん:2009/10/27(火) 01:16:12
もうそろろそ128bitCPUも出てくるしね
次期Windowsでは32・64・128bitの3バージョン出すらしいし
数字リテラルの末尾にULを付けるだけのウハウハな仕事が舞い込んでくると良いぜ

760 :デフォルトの名無しさん:2009/10/27(火) 03:01:23
public static int Baisu(int n);
{
   return n*2;
}
これと同じ動作をするクラスを作りたいのですが
どうすればいいですか?

761 :デフォルトの名無しさん:2009/10/27(火) 03:40:46
public static class Hoge
{
 public static int Baisu(int n)
{

}

762 :デフォルトの名無しさん:2009/10/27(火) 03:41:37
public static class Hoge
{
 public static int Baisu(int n)
 {
  return n * 2;
 }
}

763 :デフォルトの名無しさん:2009/10/27(火) 03:47:57
>>762
これメソッドですよね?
たとえば、クラスを配列のように扱えるインデクサみたいな感じで
配列を上記メソッドのように扱えるものがいいんですが

int Answer=Hoge.Baisu(2);
じゃなくて
int Answer=Baisu(2);
と使いたいのです

764 :デフォルトの名無しさん:2009/10/27(火) 03:49:51
×配列を上記メソッドのように扱えるものがいいんですが
○クラスを上記メソッドのように扱えるものがいいんですが

765 :デフォルトの名無しさん:2009/10/27(火) 04:32:18
そんなものは存在しません

というかHoge.Baisuだと何がダメなのか分からない。

766 :デフォルトの名無しさん:2009/10/27(火) 04:43:55
書き方は少々異なるがこういうのは?

static class Hoge {
 public static int Baisu(this int n) { return n * 2; }
}

int x = 2.Baisu();


767 :デフォルトの名無しさん:2009/10/27(火) 04:56:16
C#からだと駄目だが、VBからならHoge抜きで使える。
只、はじめからVBのModuleを使ったほうが早い。

using Microsoft.VisualBasic.CompilerServices; 
[StandardModule] 
public static class Hoge { 
 public static int Baisu(int n) { return n * 2; } 
}


768 :デフォルトの名無しさん:2009/10/27(火) 05:10:03
>>763では「式の値がInt32構造体に暗黙的にキャスト出来るクラス」が欲しいって意味に読み取れるから
[SerializableAttribute]
[ComVisibleAttribute(true)]
public class Baisu : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>
{
 ・・・
}
int Answer = new Baisu(2); が答えに一番近い気がする

769 :デフォルトの名無しさん:2009/10/27(火) 05:12:38
少なくともそれを実現して何をしたいのかは計りかねる

770 :763:2009/10/27(火) 05:18:10
ここの人のレベルすげーw
でも設計見直したら必要なくなった

771 :デフォルトの名無しさん:2009/10/27(火) 06:05:57
そんなもんだとも想定できてます
突拍子もないことを言い出す奴はまず設計がおかしいとな

772 :デフォルトの名無しさん:2009/10/27(火) 06:33:26
64bit指定するとSSE命令を使うようになるとか書いてある
ttp://homepage2.nifty.com/takeuchiyosinori/page056.html

773 :デフォルトの名無しさん:2009/10/27(火) 08:05:21
チラシの裏をソースにされても・・・

774 :デフォルトの名無しさん:2009/10/27(火) 09:23:41
PCに複数のマウスを繋いで各マウス毎に処理をわけたいんだがどうすればいい

775 :デフォルトの名無しさん:2009/10/27(火) 10:03:53
ドライバが対応してるの?

776 :デフォルトの名無しさん:2009/10/27(火) 12:53:58
DB定義書(excel)を読み込んで
C#アプリのほうで改行しながら表示させるにはどうしたらよいのでしょうか・・

CREATE TABLE 〜
(
test CHAR(12) PRIMARY KEY,
〜〜
)
見たいな感じでずらーっと下に表示させていきたいのです

777 :デフォルトの名無しさん:2009/10/27(火) 12:55:15
>>776
どこができてないんだ?
取り込むところから出来てないのか
それとも取り込んだデータが加工できないとか・・・

778 :デフォルトの名無しさん:2009/10/27(火) 13:40:41
Excelのデータの読み込み方がわかんない!ってことだろどうせ。
C# Excel でググるとサンプル付きでたくさんでてくるぞ。
それ見た方がここでコード片ちらつかせられるよりわかりやすい。

779 :デフォルトの名無しさん:2009/10/27(火) 17:19:30
XMLファイルにNameとAge以外にNumberがあったとして
Numberの値を取得するにはどうすればいいのでしょうか?

XmlDataDocument mydoc = new XmlDataDocument();
BindingSource mysource = new BindingSource();

mydoc.DataSet.ReadXml(@"ファイル名");
mysource.DataSource = mydoc.DataSet;
mysource.DataMember = "Person";
comboBox1.DataSource = mysource;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Age";

textBox1.Text = comboBox1.SelectedValue.ToString();


780 :583:2009/10/27(火) 17:21:26
<root>
    <data>
     data1
    </data>
    <nodeA>
        <data>
         data2
        </data>
    </nodeA>
    <data>
     data3
    </data>
    <nodeB>
        <data>
         data4
        </data>
    </nodeB>
    <data>
     data5
    </data>
</root>

こんな感じのデータで、<root>直下の<data>にだけアクセスしたいんですが、<data>がどの位置に出現するかわかりません。
一番簡潔な方法を教えて下さい。

お願いします。

781 :デフォルトの名無しさん:2009/10/27(火) 17:22:10
Form1にButton1を追加しました
それでButton1をクリックするとForm1の背景色を変更したいので

private void button1_Click(object sender, EventArgs e)
{
Form1.BackColor = Color.Yellow;
}

としても動きません
Form1.BackColor というのが駄目っぽいのですけど
どう書けばいいのでしょう

782 :デフォルトの名無しさん:2009/10/27(火) 17:28:09
>>781
動かないってどう動かないの?
Form1って大文字で始まってるけど、それForm1のメソッドなら
this または省略でいいよ。そのハンドラはボタンをダブルクリックして自動でできたやつ?

783 :デフォルトの名無しさん:2009/10/27(火) 17:45:42
>>779

一旦データ格納用のクラスAを作って
1データごとにAのインスタンスを作って格納
それをリストに入れて
それをデータソースにToArrayとかで入れてやれば?



784 :デフォルトの名無しさん:2009/10/27(火) 17:50:35
>>777

遅れてすいません。
取り込んだときに表示を加工させたいです。
,が付いたときに改行させるように出来たりするのでしょうか

785 :デフォルトの名無しさん:2009/10/27(火) 17:55:24
>>784
こんな感じ?

string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
txtData.Text = aaa;

786 :デフォルトの名無しさん:2009/10/27(火) 18:02:38
>>782
>そのハンドラはボタンをダブルクリックして自動でできたやつ?

そうです
Formをクリックして背景色をかえる

private void Form1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.DarkBlue;
}

というサンプルはMSDNにあるんですけど
ボタンをクリックしてFormの背景色をかえるサンプルが
WEB上にみあたらないのです

787 :デフォルトの名無しさん:2009/10/27(火) 18:04:18
>>786
ダメっぽいというか
どんなエラーが出てるのか(コンパイルエラー?)

出ていないならその処理は通っているのか


788 :デフォルトの名無しさん:2009/10/27(火) 18:06:34
>>780
XDocumentでggrks

789 :デフォルトの名無しさん:2009/10/27(火) 18:11:27
>>786
Form1_Clickもbutton1_Clickも、Form1のメソッドなんだから
その中のthis.BackColorはForm1の背景色だよ。

790 :デフォルトの名無しさん:2009/10/27(火) 19:04:40
public void Main()
{
string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
textBox1.Text = aaa;
}
で、どんな表示になるかと思ってやってみたのですが
何も表示されませんでした・・・
aaaに123,456入れてそれをリプレイスでなんか()のことをして
表示って感じと思ったのですが間違ってましたか?

初心者で完璧にごめんなさい

791 :デフォルトの名無しさん:2009/10/27(火) 19:16:47
>>790
そのMain()が何処からも呼び出されてないんじゃないの?

792 :デフォルトの名無しさん:2009/10/27(火) 19:17:32
そのMainとやらは[STAThread]なんだろか

793 :デフォルトの名無しさん:2009/10/27(火) 19:18:43
ああすまんstaticじゃないから違うな

794 :785:2009/10/27(火) 19:20:31
IDEが今ないから手書きなんでその辺は適当にあてはめてほしかったんだが・・・

ボタン配置してそのクリックのイベントかなんかにでも・・・・

string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
messageBox.Show(aaa);

こっちのが良かったっけ?

ひとまず表示される結果は


123,
456

て表示されるよ

795 :デフォルトの名無しさん:2009/10/27(火) 19:31:47
>>794
おぉ・・・出来ました。

ここから自分で使う用途に合うようにやってみたいと思います

大変ありがとうございました。

796 :デフォルトの名無しさん:2009/10/27(火) 20:22:44
「' ' (16 進数値 0x19) は無効な文字です。 」と言われたのですがそんな文字が見当たりません!
検索すると16進数値の0xらしいのですが・・・
エラー回避で0xを削除?する方法はありますでしょうか?

XmlDocumentl.Load(string);


797 :デフォルトの名無しさん:2009/10/27(火) 20:26:07
俺らはそのxml見てないから
見当たりませんって言われても困るぜ

798 :デフォルトの名無しさん:2009/10/27(火) 20:28:07
>>796
0xってのはこの数字が16進数だよっていう記号みたいなもの
16進数での19が無効な文字ってことだ

799 :796:2009/10/27(火) 20:30:40
あー・・・
自分の間抜けさに目が覚める思いがしました!


800 :デフォルトの名無しさん:2009/10/27(火) 21:13:09
>>789
>Form1_Clickもbutton1_Clickも、Form1のメソッドなんだから

あぁそうなのか
うん
動きました
有難うございました

801 :デフォルトの名無しさん:2009/10/27(火) 21:37:01
ソースの記述を簡略化するために汎用的なクラスを作成中なんだけど
いろんなひとのクラスをぱくってるんだけど
こんなので本当に理解したことになるのかな?

802 :デフォルトの名無しさん:2009/10/27(火) 21:47:27
>こんなので本当に理解したことになるのかな?
こんな質問が出てくる程度の理解度なら。理解したことにはならないんじゃね。

803 :デフォルトの名無しさん:2009/10/27(火) 21:49:45
このサンプル動きますか?
起動しているっぽいけどウィンドウが表示されない
ms-help://MS.VSCC.v90/MS.VSIPCC.v90/MS.XNAGS31.1041/XNA/GoingBeyond_GameIn60Minutes.htm

804 :デフォルトの名無しさん:2009/10/27(火) 22:37:02
みなさん数学など好きそうですので、これ問題出されたので一緒に考えてくれませんか?ちなみに明日回答もわかります。
問.みなさん"囚人のジレンマ"という話はご存知かと思います。
コンビを組んでいたスパイが2人とも別々の取調室で尋問をうけ、罪を問われる場面でどのように振舞うのがいいかという問題です。
具体的には以下のようになります。
1、自分も相棒も黙秘となれば証拠不十分なので不法侵入した罪だけでそれぞれ半年ずつの罪
2、自分だけ黙秘して、相棒が自白すれば相棒は司法取引で釈放に、自分は10年の罪
3、相棒だけ黙秘して、自分が自白すれば自分は司法取引で釈放に、相棒は10年の罪(2の逆パターン)
4、両方自白すればそれぞれ5年の罪

┌──────┬──────┬──────┐
│自分\相棒  │.  黙 秘  ..│   自 白  .│
├──────┼──────┼──────┤
│  黙 秘   .│(0.5年,0.5年) │ (10年,釈放)│
├──────┼──────┼──────┤
│  自 白   .│ (釈放,10年) .│ (5年,5年)  │
└──────┴──────┴──────┘
(自分の懲役、相手の懲役)

これを踏まえて、自分は相棒に協調するか、裏切るか、ということでこれに点数をつけてゲームをしてみました。
┌──────┬──────┬──────┐
│自分\相棒  │  協 調    │  裏切り   │
├──────┼──────┼──────┤
│  協 調   .│ (3点,3点)  │ (0点,5点)  │
├──────┼──────┼──────┤
│  裏切り   .│ (5点,0点)  │ (1点,1点)  │
└──────┴──────┴──────┘
(自分の点、相棒の点)

このような点数のつけ方で100人のプログラマが、どのように協調、裏切りを判断するかというところでプログラムを書いて対戦会が行われました。
100人が総当りで、1人に対しては200回勝負するというルールです。つまり99×200の試合をするわけです。
賞金のかけられた本気で挑む大会出場者たち。これ実は実際に行われたことのあるものです。
さあ、みなさんどんなプログラムが優勝したでしょう?アルゴリズムを考えてください。

805 :デフォルトの名無しさん:2009/10/27(火) 22:43:01
宿題スレいけよハゲ

806 :デフォルトの名無しさん:2009/10/27(火) 22:44:41
あ、ちなみにすべての試合が終わった後、合計した点数が一番高かったプログラムが優勝だそうです
ぼくはすべて裏切りだと思いました。明日回答が教えてもらえるのでまた報告します。
一応プログラミングだと思って。この間アルゴリズムの質問してた方なんかもこれは結構いい問題のような気がします。
明日またレスします。おやすみなさい


807 :デフォルトの名無しさん:2009/10/27(火) 22:47:49
しなくていいよ。

しっぺ返しが強い、って記録もあるし。
http://ja.wikipedia.org/wiki/%E5%9B%9A%E4%BA%BA%E3%81%AE%E3%82%B8%E3%83%AC%E3%83%B3%E3%83%9E

808 :デフォルトの名無しさん:2009/10/27(火) 22:49:33
>>780
string xmlstr = "<root>・・・(省略)・・・</root>";
XPathDocument doc = new XPathDocument(new StringReader(xmlstr));
XPathNavigator nav = doc.CreateNavigator();
XPathExpression exp = nav.Compile("/root/data");
XPathNodeIterator nodes = nav.Select(exp);
while (nodes.MoveNext()) {
Console.WriteLine(nodes.Current.ToString());
}
こうかな?まあ、XPathを使う。

809 :デフォルトの名無しさん:2009/10/27(火) 22:53:21
>>804
相手が裏切るまでは強調する単純なアルゴリズムが結局一番強そう。

810 :デフォルトの名無しさん:2009/10/27(火) 23:11:39
単にランダムに出すだけとか

811 :デフォルトの名無しさん:2009/10/27(火) 23:18:17
取り合えず思いつく限りのアルゴリズムを考える
最初の数回の手で相手のアルゴリズムを予想
そこからはそのアルゴリズムに対して最適の手を出しつつアルゴリズムを訂正していく

相手がランダムに出さない限りこれが一番じゃね?

812 :デフォルトの名無しさん:2009/10/27(火) 23:22:38
そういうのは「トートロジー」って言うんだよw
最強の手を考えれば最強だ、って言ってるのと同じじゃないか

813 :デフォルトの名無しさん:2009/10/27(火) 23:24:50
>>812
そんなこと言ってないんだが・・・

814 :デフォルトの名無しさん:2009/10/27(火) 23:26:44
言ってることに気付いてないだけなんだよ悪いけど。

815 :デフォルトの名無しさん:2009/10/27(火) 23:26:57
まあ、一番とは言えないな
例えば相手のアルゴリズムが同じだった場合を考え出すと際限が無くなるし

816 :デフォルトの名無しさん:2009/10/27(火) 23:28:33
>>814
じゃ、どこがか説明してくれ
俺馬鹿だからトートロジーでググっだけど俺の考えとは全く違うことのようだったんだけど

817 :デフォルトの名無しさん:2009/10/27(火) 23:35:32
>>816
「相手に合わせて<最善の>戦略を採る」という方法論は、
「相手の戦略を考慮しない」という方法を特殊ケースとして含む。

つまりそれは単に「最善の戦略を採る」と言っているのと同じことだ。

であるから「相手に合わせて<最善の>戦略を採るのが一番」というのは、
最善の戦略を採るのが一番だ、というトートロジーに過ぎない。

・・・って言っても理解できないよねたぶん。

818 :デフォルトの名無しさん:2009/10/27(火) 23:39:58
コピペに釣られてC#に関係のない話してんじゃねーよ

819 :デフォルトの名無しさん:2009/10/27(火) 23:40:59
>>817
>「相手の戦略を考慮しない」という方法を特殊ケースとして含む。

相手が「相手の戦略を考慮しない」ときの話か?
それは常に同じ手を出すorランダム
このとき常に同じ手を出すって方法は容易に予測して最適の手を出せる
ランダムの時は最初に無理って言った

820 :デフォルトの名無しさん:2009/10/27(火) 23:43:43
また、自身が「相手の戦略を考慮しない」特殊ケースはランダム以外では無いと思うが?
相手が少しでも考えた手を出す限り完璧とはいかないがある程度次の手が予測可能

821 :デフォルトの名無しさん:2009/10/27(火) 23:47:59
なーんかズレてるけど、君の意見がトンマなのは「最善の戦略を採るのが一番だ」
って言ってるところなんだよだから。

そんなの終了条件がない再起呼び出しと一緒だって分からないかね。

822 :デフォルトの名無しさん:2009/10/27(火) 23:48:54
IT土方が手を出せるような問題じゃないぞ
あとは数学者に任せてぼろが出ないうちにやめとけ
まあ最近は文系経済学者が偉そうに論じたりしてるけど・・・

823 :デフォルトの名無しさん:2009/10/27(火) 23:55:42
>>821
相手のアルゴリズムを 予想 して
それに対する最善の戦略をとるってこと
もちろん相手のアルゴリズムがこちらの予想した物以外だったり相手がわざと騙す手をとった場合このアルゴリズムは意味をなさないが
あと
もし、本当にこのような大会があった場合の一番良いのでは?って言う方法を言ってて(要するに相手も人間の書いたプログラムとして)
数学的なジレンマの最適解を言ってる訳じゃない

824 :デフォルトの名無しさん:2009/10/27(火) 23:59:58
あ、つい熱くなってしまった
ここC#スレだった
スレ違い長々とすみませんでした

825 :デフォルトの名無しさん:2009/10/28(水) 00:01:59
>>823
だから最善の戦略って何?

最善の戦略はなんですか、って問いに「それは最善の戦略を採ることです」
って答えて何か意味があるの?

相手のアルゴリズムを予想する、って前置きしたことで何か言ったつもりに
なっているのかも知れないが、「相手のアルゴリズムを予想する」には
「相手のアルゴリズムを無視する」を特殊ケースとして含むから、それだけでは
何も言っていないのと同じであることは既に説明したはずだけど。

826 :デフォルトの名無しさん:2009/10/28(水) 00:06:17
>>825
スレタイ読めない馬鹿がまだ騒いでやがる

827 :デフォルトの名無しさん:2009/10/28(水) 00:07:05
ランダムと同じ程度には強いんじゃね?

828 :デフォルトの名無しさん:2009/10/28(水) 00:09:11
あ、こいつ俺以上に馬鹿なのか
なんもわかってないのはあなたの方だね

829 :デフォルトの名無しさん:2009/10/28(水) 00:10:19
いや、俺のほうがわかってないよ

830 :デフォルトの名無しさん:2009/10/28(水) 00:10:59
>>828
なんで俺のふりするんだよ
スレチだから謝ったのに

831 :デフォルトの名無しさん:2009/10/28(水) 00:16:07
まあ、アホは>>823なんだけどね


832 :デフォルトの名無しさん:2009/10/28(水) 00:24:03
いや、俺の方がアホだ

833 :デフォルトの名無しさん:2009/10/28(水) 00:29:48
うん

834 :デフォルトの名無しさん:2009/10/28(水) 00:35:16
みんな知ってるよ

835 :デフォルトの名無しさん:2009/10/28(水) 01:47:22
いちゃいちゃ

836 :デフォルトの名無しさん:2009/10/28(水) 02:53:12
プロジェクトのソースを変更するので
新しいプロジェクト名にしてからやりたいのですが
どうすればいいですか?

837 :デフォルトの名無しさん:2009/10/28(水) 03:34:17
ソリューションエクスプローラから名前を変更したいファイルを選んでプロパティウィンドウでファイル名を変更
Propertiesから諸々の名前を好きなように変更
ソリューションファイルを手動で開いてパスも全部書き換える

838 :デフォルトの名無しさん:2009/10/28(水) 08:27:39
プロジェクトを別に新規作成してソースコードを全部突っ込んだ方が早い気がする

839 :デフォルトの名無しさん:2009/10/28(水) 09:59:44
>>803
XNAじゃないか。
試したけど普通に動いたよ。
新規作成した何もしないXNAアプリは実行できる?

840 :デフォルトの名無しさん:2009/10/28(水) 11:04:28
IEnumeratorの結果をソートできますか?

841 :注目:2009/10/28(水) 11:08:11
991302490234374



中学生が 自主制作ハメ撮りAV 売り捌いてたらしい ★12
http://yutori7.2ch.net/test/read.cgi/news4vip/1256682280/


まとめwiki
http://www31.atwiki.jp/shotakon_pachinkas/




371734619140624

842 :デフォルトの名無しさん:2009/10/28(水) 11:41:44
>>804
これ思い出した。
http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%81%AE%E8%B3%AD%E3%81%91

843 :デフォルトの名無しさん:2009/10/28(水) 13:14:30
テキストボックスの最後の行の値を取りたいのだがどうすれば取れる?
いろんな状況とかパターンがあると思うがそのあたりは任せる
ぱっと思い付いたのでいいから書いてくれ
頼む

844 :デフォルトの名無しさん:2009/10/28(水) 13:16:00
内容を改行コードでスプリットして配列へ
その配列の最後の要素がそうじゃね?

845 :デフォルトの名無しさん:2009/10/28(水) 13:29:17
TextBox1.Lines(TextBox1.Lines.Length - 1)

846 :デフォルトの名無しさん:2009/10/28(水) 16:05:46
VB?

847 :デフォルトの名無しさん:2009/10/28(水) 16:14:39
ほんとだ
C#だとtextBox1.Lines[textBox1.Lines.Length - 1]になるか

848 :デフォルトの名無しさん:2009/10/28(水) 16:58:19
>>839
> 新規作成した何もしないXNAアプリは実行できる?
はい、動きます

GamePadState lastState = GamePad.GetState(PlayerIndex.One);
ステップイン実行したところ、Game1のフィールド変数のこの部分で固まるので
GamePadState lastState;
これに変更したら、うまく動作しました

動作環境は2008C#EE XNA3.1
パッドがPS2のコントローラーなのでこれが原因なのかな?
ほかのプログラムでは一応コントローラーは認識して動いているんですけど

849 :デフォルトの名無しさん:2009/10/28(水) 17:08:14
>>848
XNAはXbox360のコントローラしか使えないよ
他のコントローラーを360のコントローラーに見せかけるドライバとかもあるけど。
ただ、他のPADが刺さってる状態で GamePad.GetState() がどうなるかはわからない。
環境あるとこで試してみようかな。

850 :デフォルトの名無しさん:2009/10/28(水) 17:11:45
>>847
ジェネリックなコレクションの最終要素は
textBox1.Lines.Last(); でアクセスした方がいいのかな?
それとも非ジェネとジェネで別のアクセス表現が混在しないように統一した方がいいものなんだろうか?
System.Collections.Generic.IEnumerable → Hoge.Last();
System.Collections.IEnumerable → Hoge[Hoge.Length - 1];
これ公式のガイドラインとか無いのかな?

851 :デフォルトの名無しさん:2009/10/28(水) 17:40:30
>>847
>>850
ありがとう
超参考になった愛してる


852 :デフォルトの名無しさん:2009/10/28(水) 17:56:11
>>840
Enumerable.OfTypeまたはEnumerable.CastでIEnumerable<T>にできる。
そうすれば、OrderByするなり、ToListまたはToArrayしてそれぞれのSortを呼ぶといったことが可能になる。

ちなみに、>>850の場合でもOfTypeまたはCastを使う手が考えられる。

853 :デフォルトの名無しさん:2009/10/28(水) 18:08:29
>>852
Oh excellent !!!

854 :779:2009/10/28(水) 18:26:13
>>783
ありがとうございます
調べながらやってみましたが、始めて2週間程度の自分にはまだ無理だったようです

855 :デフォルトの名無しさん:2009/10/28(水) 20:38:26
>>852
でもこれってよく考えるとタイプセーフじゃなくない?これでいいんだろうか?

856 :デフォルトの名無しさん:2009/10/28(水) 20:45:15
そんなもんIEnumerable(非ジェネリック)使う時点で仕方ないだろ
普通にforeach使ったとしてもforeach(Hoge item in 非ジェネリックコレクション)はタイプセーフじゃないよ

857 :デフォルトの名無しさん:2009/10/28(水) 22:01:47
hmm...

858 :デフォルトの名無しさん:2009/10/28(水) 22:16:34
最近LINQの魔力に取りつかれてて、殆どをLINQに頼るようになったんだけど、
何かデメリットや欠陥的なものを探してる。

俺を現実に引き戻してほしい。

859 :デフォルトの名無しさん:2009/10/28(水) 22:24:22
キャッシュされない→参照のたびにいちいち再計算される

860 :デフォルトの名無しさん:2009/10/28(水) 22:31:52
キャッシュしたかったらToArrayなりToListなり使えばいい
yieldの仕組み上当然のことでむしろそれを狙ってやってるわけで欠陥でも何でもない

861 :デフォルトの名無しさん:2009/10/28(水) 22:38:15
言い方が悪くてスマンね

ToArrayなりToListなり使わないとキャッシュできないって言ってんだよハゲ

862 :デフォルトの名無しさん:2009/10/28(水) 22:39:25
( ゚д゚)

( ゚д゚ )

863 :デフォルトの名無しさん:2009/10/28(水) 22:40:19
そんなの普通にループで回しても一緒じゃんw
結局,結果を配列なりリストなりに入れるだろ?
LINQはそのループの部分を抽象化してるだけだ

864 :デフォルトの名無しさん:2009/10/28(水) 23:08:27
こっち見んな

865 :デフォルトの名無しさん:2009/10/28(水) 23:10:09
>>862
ハゲw

866 :555:2009/10/28(水) 23:16:35
やっぱり自分の作ったクラスはどんくさくて使い物にならないことが判明しました・・・
ある文字を媒体に128,256bitなど指定したビット配列を返すクラスなどはないでしょうか?
RijndaelManagedには乱数などを作成はあるのですが、共通キーとすることが前提なので
ZIPのように「sage」見たいな文字を複合キーとする暗号化はどのように行うのでしょうか?
よろしくお願いいたします。

867 :デフォルトの名無しさん:2009/10/28(水) 23:24:50
>>866
SHA系とかでハッシュ作ればいい。

868 :デフォルトの名無しさん:2009/10/28(水) 23:44:59
>>866
O(n)

869 :デフォルトの名無しさん:2009/10/29(木) 00:05:03
鍵を手渡しするわけでもないのに無理矢理に共通鍵暗号を使う意味が分からない
それなら大人しく公開鍵暗号で鍵交換すればいいのに

870 :デフォルトの名無しさん:2009/10/29(木) 00:05:59
P2Pで手に入れたエッチな動画を親に見られたくないんじゃないか?

871 :デフォルトの名無しさん:2009/10/29(木) 00:09:12
自分しかいないなら共通鍵で問題ないだろ
誰とも鍵交換しないんだから

872 :555,558:2009/10/29(木) 00:14:25
データの認証のときは共通鍵より公開鍵の方がよいのかまったく無知で判断できませんでした・・・。

もう少し公開、共通の違いを調べてきます。

873 :デフォルトの名無しさん:2009/10/29(木) 00:15:34
そもそもこの人が何をやりたいのかハッキリしていないからアドバイスできね

874 :デフォルトの名無しさん:2009/10/29(木) 00:17:39
それはひみつのあっこちゃん

875 :デフォルトの名無しさん:2009/10/29(木) 10:52:04
簡単に公開鍵とか言ってる奴はホントに分かって言ってるのか?


876 :デフォルトの名無しさん:2009/10/29(木) 10:54:43
あと>>733


877 :デフォルトの名無しさん:2009/10/29(木) 21:19:38
例のごとく、練習としてメモ帳を作成しているのですが、検索機能で行き詰りました。

ひとまず検索用のフォームを作ったのですが、その先が何をすればよいのかさっぱりわかりません。
ご教授願います。

878 :デフォルトの名無しさん:2009/10/29(木) 21:32:03
String.IndexOfとTextBox.Select

879 :デフォルトの名無しさん:2009/10/29(木) 22:56:14
OpenFileDialogなどのコモンダイアログのタイトルバーの色や背景色を変更したいのですが、どうすればよいですか?

880 :デフォルトの名無しさん:2009/10/29(木) 23:05:32
コントロール パネル\デスクトップのカスタマイズ\個人設定\ウィンドウの色とデザイン
そして、デザインの詳細設定...
Windows7 なら。

881 :デフォルトの名無しさん:2009/10/30(金) 11:59:49
ListViewの描画のちらつき何とかならないのかなって思っていたけど自己解決しました

882 :デフォルトの名無しさん:2009/10/30(金) 12:03:07
じゃぁ書くなよww

883 :583:2009/10/30(金) 14:00:06
>>808
ありがとう!

XPathがやっぱり便利なんですね
怖じ気づいてたんですが正面からやる気になりました

884 :デフォルトの名無しさん:2009/10/30(金) 17:40:41
俺だったらXDocument.Root.Elements("data")って書くな

885 :デフォルトの名無しさん:2009/10/30(金) 20:56:13
直下にしか役たたんし、パターンによって別のやり方なんかしてたらバグの元。
だから俺ならXPath一択。

886 :デフォルトの名無しさん:2009/10/30(金) 21:09:25
俺は常時XDocumentだな。LINQ信者なもんで

887 :デフォルトの名無しさん:2009/10/30(金) 21:57:26
>直下にしか役たたんし

直下の話をしてんだよ
流れが読めない奴が口を挟むなクズ
大人しくミニスペック書いてろ

888 :デフォルトの名無しさん:2009/10/30(金) 21:58:55
MoveNextとかもう見たくねーな。

889 :デフォルトの名無しさん:2009/10/30(金) 22:00:14
直下の話ではねーだろ。
たまたまRoot要素が<root></root>なだけで。

890 :デフォルトの名無しさん:2009/10/30(金) 22:03:08
じゃあこんなんで
XDocument.DescendantsAndSelf ("data").Where(elm=>elm.Parent.Name=="root");

891 :デフォルトの名無しさん:2009/10/30(金) 22:07:17
string xmlstr = "<root>・・・(省略)・・・</root>";
XPathDocument doc = new XPathDocument(new StringReader(xmlstr));
XPathNavigator nav = doc.CreateNavigator();
XPathExpression exp = nav.Compile("/root/data");
XPathNodeIterator nodes = nav.Select(exp);
while (nodes.MoveNext()) {
Console.WriteLine(nodes.Current.ToString());
}



XDocument xdoc = XDocument.Parse("<root>・・・(省略)・・・</root>");
foreach(XElement element in XDocument.DescendantsAndSelf ("data").Where(elm=>elm.Parent.Name=="root")){

Console.WriteLine(element.ToString());
}

ま、環境にもよるだろうが、どっちが簡潔だろうね。
俺ならXPath(笑)かな。

892 :デフォルトの名無しさん:2009/10/30(金) 22:11:23
XPath関係のクラスってよー
どうにも”無理やり作りました”って感じがあるよな…

893 :デフォルトの名無しさん:2009/10/30(金) 22:12:54
>>891>>887
この煽り屋みたいな奴はどこから沸いて来るんだ?

894 :デフォルトの名無しさん:2009/10/30(金) 22:14:55
XPath(笑)

895 :デフォルトの名無しさん:2009/10/30(金) 22:15:24
LINQはもうC#の一部なんだし意味もなくLINQ拒絶する奴はほっとけよ
初心者もバンバンLINQ使え

896 :デフォルトの名無しさん:2009/10/30(金) 22:16:32
XPath一択(苦笑)

897 :デフォルトの名無しさん:2009/10/30(金) 22:20:30
何か湧いてるな

898 :デフォルトの名無しさん:2009/10/30(金) 22:24:55
よくあること。

899 :デフォルトの名無しさん:2009/10/30(金) 22:29:39
でも直下にしか役たたんとか言っちゃう>>885は頭悪そうだな
目玉の新機能だったのにそんな応用の利かない物である訳なかろう

900 :デフォルトの名無しさん:2009/10/30(金) 22:31:28
まあ、それでも俺はXPathを使うよ。
男のコダワリだからね。

901 :デフォルトの名無しさん:2009/10/30(金) 22:37:07
どーぞどーぞ
この話終了ね

902 :デフォルトの名無しさん:2009/10/30(金) 22:47:01
キャッシュされない云々言ってたのもこいつじゃないの

903 :デフォルトの名無しさん:2009/10/30(金) 22:49:28
どうでもいいよ

904 :デフォルトの名無しさん:2009/10/30(金) 23:42:56
>男のコダワリ
コダワリじゃねーよww
正規表現書くのと自力でマッチングするのと同じくらい全く違うモノ。
使いどころ考えろっての。

905 :デフォルトの名無しさん:2009/10/31(土) 00:10:56
正直、正規表現とLINQがあればかなりのことが出来すぎて怖い。
処理速度も悪くないし、for書くより可読性も格段に上がるし。なんかすげー怖い

906 :デフォルトの名無しさん:2009/10/31(土) 02:11:21
怖がらなくていいのよ?
ほら、力をぬいて。

907 :デフォルトの名無しさん:2009/10/31(土) 02:23:46
何か話しが上手すぎて実に怪しい

908 :デフォルトの名無しさん:2009/10/31(土) 05:09:33
別のスレッドで生成したコントロールにアクセスしたいときは
匿名メソッドをInvoke()する書き方しか無いんですかね?
もっとスマートに書く方法か別のアプローチとかないですか?

909 :デフォルトの名無しさん:2009/10/31(土) 09:50:48
正規表現==XPath、自力でマッチング==Linqという意味で書いたんだがな。
Linqが強力なのはわかるが、
http://msdn.microsoft.com/ja-jp/library/bb675184.aspx とか、

XElement customer2 =
(from el in co.Descendants("Customer")
where (string)el.Attribute("CustomerID") ==
(string)(co
.Element("Root")
.Element("Orders")
.Elements("Order")
.Skip(11).First()
.Element("CustomerID"))
select el)
.First();

に対して XPath なら

XElement customer3 = co.XPathSelectElement(
".//Customer[@CustomerID=/Root/Orders/Order[12]/CustomerID]");

と、敗北宣言だと思うんだコレ。

910 :デフォルトの名無しさん:2009/10/31(土) 09:56:46
JSONのひとりがち

911 :デフォルトの名無しさん:2009/10/31(土) 10:23:06
mp3ファイル再生のコードを書いてますが、
WMPコンポーネントを使うと、mp3コーデックが無いと再生出来ません。
mp3のコーデックが無くても再生できるようにする方法はありませんか?

912 :デフォルトの名無しさん:2009/10/31(土) 10:27:26
コーデックのインストールをユーザに促すダイアログを出す

913 :デフォルトの名無しさん:2009/10/31(土) 10:36:10
>>912
どうやれば該当コーデックが入ってるか取得出来ますか?
WMPのステータスを見ても、 バッファ→準備完了で、
そのようなメッセージが出ないので困っています。

また、コーデックについて詳しくないのですが、
mp3のコーデックをリソースとして持っておき、
ダイアログ表示時にコーデックのディレクトリに投げるということで大丈夫でしょうか?


914 :デフォルトの名無しさん:2009/10/31(土) 12:08:40
VS2008で定義に移動(F12)した後、元の場所に戻るショートカットキーはありますか?

915 :583:2009/10/31(土) 12:15:50
なんか盛り上がってますね
わたしは将来のバージョン対応を考えてXpathにしましたが・・・

さて
<data>
  <Style>hogehoge</Style>
</data>



<Style id="style1">hogehoge</Style>
<data>
  <styleUrl>#style1</styleUrl>
</data>


916 :583:2009/10/31(土) 12:16:32
あう、書き込んでしまいました

両方の書き方が許されてるXMLを処理するのにXpath一発でやれますか?

917 :デフォルトの名無しさん:2009/10/31(土) 13:31:44
>>913
コーデックが入っていないことを心配しているってことは
作った物をフリーソフトとして公開でもしようとしているのか?

918 :913:2009/10/31(土) 13:41:40
>>917
その通りです。
友人のPCで試したところ、コーデックが見つからないようで、
再生出来なくて、私自身コーデックの導入方法など分からないもので、
試行錯誤してますが、やっぱり再生出来ません。
もし再生出来なかった場合のコーデックインストーラなどあれば良いなと思うのですが、
そんな便利なものありませんかね?

919 :デフォルトの名無しさん:2009/10/31(土) 13:46:08
k-lite codec packでも入れれ

920 :デフォルトの名無しさん:2009/10/31(土) 13:47:25
>>918
コーデックに詳しくない云々以前に一般常識が欠如していますね
コーデックをリソースに持ってPCにインストールする?
そのコーデックの法的な権利は誰に帰属していますか?

921 :デフォルトの名無しさん:2009/10/31(土) 13:51:01
>>920
いきなり犯罪者前提かよwきめえ
俺のフリーソフトは他人のDLLをパッケージに含めてるし
他人のソース丸ごと取り込んでビルドもしてますがなにか?

922 :デフォルトの名無しさん:2009/10/31(土) 13:57:51
聞いてねえし
つか誰もお前のゴミソフト使わねえって


923 :913:2009/10/31(土) 14:21:34
>>919
ありがとうございます。試してみます。
>>920
というか、フリーソフトとして公開するつもりはありません。
身内間の通信プログラムというか、あくまで私的利用の範囲です。
>>918でその通りと言ったのは、どの環境でも使えることを前提としているので、
フリーソフトとして公開する・・・と言った方が早いかと思ったからです。
あと、>>922さんが誰に言ってるか知りませんが、>>921は私では無いので一応。
勿論一般公開する場合はリソースに含むとマナー違反だとかも分かってますし、
取りあえず一般公開する気は無いので、暫定的にリソースを使おうかと思ってるだけです。

924 :デフォルトの名無しさん:2009/10/31(土) 14:58:29
>>923
921は俺だがな、リソースに含むと「マナー違反」ってなんだよw
じゃあ、俺のソフトはマナー違反か?
920の言うとおり、おまえ本当に分かってないんだな
Windowsを私的利用と称して同梱したら「マナー違反」か考えてみな

925 :デフォルトの名無しさん:2009/10/31(土) 15:13:57
わかってるとかその程度の知識でどこからそんな自信が。
こりゃまた面白い質問者が現れたものだ。


926 :913:2009/10/31(土) 16:12:22
>>924
私的利用だからマナー違反だとか、そんな事は言ってません。
>>923でも言った通り、私的利用する分にはリソースに入れても良いと考えてます。
そして、マナー違反というのは私はそう思っているだけなのかも知れませんね、
とりあえず私は一般配布時、リソースはそういう意味合いから使っていません。
WindowsOSを同梱して公開するとそれはそれでライセンス違反かと思いますが。
>>925
自信があって発言してるのではありませんよ。
ですからあくまで私的利用の範囲です。一般配布を前提としていないので、
一意見と質問の為に書き込んだだけです。

また、>>919を利用して解決しました。ありがとうございます。
この流れですと荒れそうですので、今後この名前で書き込むのは終わりたいと思います。

927 :デフォルトの名無しさん:2009/10/31(土) 18:10:00
またくだらない議論してますね

928 :デフォルトの名無しさん:2009/10/31(土) 18:12:04
>>909
ああそう
で、>>891を見て何か申し開きはあるの?
無いならすっこんでろカス

929 :カス:2009/10/31(土) 19:13:31
>>928
申し開き?
XPathの方が完全に簡潔じゃねーかタコ。
どんなパターンに仕様変更しても "/root/data" の一箇所くらいにしか影響が出ない。
それが簡潔でなくて何だ?

930 :カス:2009/10/31(土) 19:31:31
あと一言で消えるわ。
簡潔さ(保守性) : XPath >> LINQ
汎用性 : LINQ >> XPath
速度 : XMLの規模と検索パターン次第?
だとは思っている。
そして俺は保守性を最重要視しているだけだよ。

931 :デフォルトの名無しさん:2009/10/31(土) 19:39:43
論理的に順序立てて説明しないと伝わらんないって

932 :デフォルトの名無しさん:2009/10/31(土) 19:53:56
一言に18分かけるとは、余程怒り心頭なんだな…。

933 :デフォルトの名無しさん:2009/10/31(土) 20:43:25
>>930
(^-^)/~

934 :583:2009/10/31(土) 22:49:17
よろしければ
>>915
もお願いします
Xpathで

935 :デフォルトの名無しさん:2009/11/01(日) 00:30:02
>>923
最近のゆとりはどこまで馬鹿なんだ?
>身内間の通信プログラムというか、あくまで私的利用の範囲です。
身内に渡した時点で、私的利用の範囲を超えています。
>勿論一般公開する場合はリソースに含むとマナー違反だとかも分かってますし、
マナー違反ではなく「法律違反」です。犯罪ですよ。
プログラムを勉強する前に一般常識勉強してくださいね。

936 :デフォルトの名無しさん:2009/11/01(日) 00:32:07
そう細かいこというなよ
おまえらってwinnyやアニメを暇にうpしたりしてんだろ

937 :デフォルトの名無しさん:2009/11/01(日) 00:34:26
ゆとりプログラマはLGPL・MIT・CC・Redistributable Package
OSSの概念とかも何にも知らないで勝手にライブラリ取り込んだりソースコピペしたりリソース持ったり
犯罪を犯しまくっているんだろうな

938 :デフォルトの名無しさん:2009/11/01(日) 00:39:21
中には.NET Framework再頒布可能パッケージのように、
インストーラを自身のアプリケーションに同梱してよいと許可しているものもあるし、
>>921のようなソースコードの再利用だって、BSDライセンスやGPLのように条件を満たせば許されるものもある。

一律に駄目と言っているのではなく、そこのところの条件をきちんと調べて、
自分のやろうとしていることが問題ないか自分でよく確かめることが必要というだけのこと。

939 :デフォルトの名無しさん:2009/11/01(日) 00:40:58
>>935
横からすまんが、不特定多数ではない知り合い数人は
私的利用の範囲内という判例があるよ

940 :デフォルトの名無しさん:2009/11/01(日) 00:43:57
C# Express Edition登場以降、カジュアルコーダが急増してこんな人達が急増してきたと思う。
特にWindowsユーザはGPLとか慣れ親しんでいないから、モラル意識や法に関する知識が極端に低い。
プログラマとして最低限の知識です。まずifの構文を覚える前にこっちの勉強をしてください。

941 :デフォルトの名無しさん:2009/11/01(日) 00:45:18
配布しないなら不要な知識。

プログラマ=アプリを配布する人、ってわけじゃないから、
必要なときに学べばいいだけだろ。

942 :デフォルトの名無しさん:2009/11/01(日) 00:46:11
>>939
どこの何という判例でしょうか?それを判断するのはあなたではなく司法です。
国民が判断出来るように法律が存在します、基本は法律に則って下さい。

943 :デフォルトの名無しさん:2009/11/01(日) 00:48:13
>>941
「配布するなら必要な知識」ってこと自体をゆりは知らないんですよ、そこが大問題です。

944 :デフォルトの名無しさん:2009/11/01(日) 00:52:48
「ゆとり」って言葉を使う奴には「頭が悪い故に他人が馬鹿に見える馬鹿」の臭いがするね。
馬鹿なお前さんが思ってるほと人は一般に馬鹿でも無責任でもないんだけど。

まあこういうのはネトウヨ君と一緒で、本人に自覚がないから言っても無駄なんだけど。

945 :デフォルトの名無しさん:2009/11/01(日) 00:53:57
ゆりちゃん・・・

946 :デフォルトの名無しさん:2009/11/01(日) 00:59:15
ゆり分かんないよ!>o<;

947 :デフォルトの名無しさん:2009/11/01(日) 01:06:00
>>944
3行のレスに「馬鹿」って4回も使って、スレタイ読まずに煽ってるお前も相当アレだと思うのだが…
本人に自覚がないから言っても無駄なんだけど。

まぁ、そんな事はどうでもよくて、ライセンスはちゃんと守るべきだな。

948 :デフォルトの名無しさん:2009/11/01(日) 03:20:36
>>934
xpath = "/root/data/Style|/root/Style[contains(string(/root/data/styleUrl)+\"#\",@id+\"#\")]";

949 :デフォルトの名無しさん:2009/11/01(日) 03:21:36
ああ、ルートとして<root></root>で囲んだけど、いいよな?

950 :デフォルトの名無しさん:2009/11/01(日) 03:30:31
あ、バグってるかコレ。できるのかな?

951 :デフォルトの名無しさん:2009/11/01(日) 04:32:21
xpath = "/root/data/Style|/root/Style[contains(concat(string(/root/data/styleUrl/text()/../..),'#'),concat('#',@id,'#'))]";
ぜーはーぜーはー

string xmlstr = "<root>"
+ "<data><Style>hogehoge</Style></data>"
+ "<Style id='style1'>hogehoge1</Style>"
+ "<data>"
+ "<styleUrl>#style2</styleUrl>"
+ "<styleUrl>#style1</styleUrl>"
+ "</data>"
+ "<Style id='style2'>hogehoge2</Style>"
+ "<Style id='style3'>hogehoge3</Style>"
+ "<Style id='style'>hogehoge0</Style>"
+ "</root>";

hogehoge
hogehoge1
hogehoge2

952 :デフォルトの名無しさん:2009/11/01(日) 04:42:33
駄目かっっっ;;
string xmlstr = "<root>"
+ "<data><Style>hogehoge</Style></data>"
+ "<Style id='style1'>hogehoge1</Style>"
+ "<data>"
+ "<styleUrl>#style2</styleUrl>"
+ "<styleUrl>#style1</styleUrl>"
+ "#style"
+ "</data>"
+ "<Style id='style2'>hogehoge2</Style>"
+ "<Style id='style3'>hogehoge3</Style>"
+ "<Style id='style'>hogehoge0</Style>"
+ "</root>";

結果
hogehoge
hogehoge1
hogehoge2
hogehoge0

953 :デフォルトの名無しさん:2009/11/01(日) 05:23:02
ここはお前の日記帳じゃないんだぞ

954 :デフォルトの名無しさん:2009/11/01(日) 07:17:02
そうだよ
俺のだからな

955 :デフォルトの名無しさん:2009/11/01(日) 08:38:03
親フォームから子フォームをモーダル表示させています。
その時、子フォームの配置を、
Top:親フォームの現在のTop値
Left:親フォームの現在のLeft値+50

にしたいと思います。
親フォームのTop値やLeft値を子フォームのLoad時に子フォームに渡すにはどうすればよいですか?
本やHPを見ても、
「子フォームから親フォームに値を渡す」
方法は書いていますが、
「親フォームから子フォームに値を渡す」方法はどこにも書いていませんでした。

よろしくお願いいたします。

956 :デフォルトの名無しさん:2009/11/01(日) 09:12:26
親が設定してやりゃ良いんじゃ

957 :デフォルトの名無しさん:2009/11/01(日) 09:29:11
>>956
ありがとうございます。

子が親を参照している状態で
親が子を参照しようとすると、無限ループになるようです。

MDIというやり方を使用するしかないのでしょうか?

958 :デフォルトの名無しさん:2009/11/01(日) 09:34:15
子が親を参照する必要性ないじゃん
親のLoadイベントとMoveイベントで子供の位置設定して終わりだろう

何か自分で問題を複雑にしているとしか思えないのだが

959 :デフォルトの名無しさん:2009/11/01(日) 09:37:12
>>958
いやモーダルダイアログだからその理屈はおかしい
でも、子ダイアログをnewしてからShowDialogするまでに位置を設定しておけば済む話の気がする

960 :959:2009/11/01(日) 09:39:29
あと子ダイアログの移動イベントのキャンセルもね

961 :959:2009/11/01(日) 09:51:08
もう一点だけ
ダイアログ表示時にLocationプロパティが効きません><って場合は
Formクラスのプロパティを隅々までご覧下さい

特にStで始まる奴を

962 :デフォルトの名無しさん:2009/11/01(日) 11:23:33
ネット上に置いてあるテキストファイルを変数に読み込みたい場合は、
WebClientを使ってローカルにDLしてきて、
それを読み込んでDLしたファイルを消す・・・という方法の他に手軽なのはありますでしょうか?
凄く無駄な手順踏んでそうな気がして・・・


963 :デフォルトの名無しさん:2009/11/01(日) 11:33:27
>>962
http://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html

openread使えば、直接読めるみたいだけど。

964 :デフォルトの名無しさん:2009/11/01(日) 11:35:05
やり方はいくらでもある。
確か普通に配列としてダウンロードするメソッドもなかったっけか?
それがあったらダウンロードしてEncodingで文字列にするだけ。


965 :962:2009/11/01(日) 11:46:19
>>963-964
あ、WebClientにはそんなメソッドもあるんですね
ありがとうございました!


966 :デフォルトの名無しさん:2009/11/01(日) 12:25:37
そもそもWebClient.DownloadStringの立場が…

967 :デフォルトの名無しさん:2009/11/01(日) 12:36:25
WebClient.DownloadStringはエンコーディングの問題でやや使いにくいス

968 :デフォルトの名無しさん:2009/11/01(日) 12:47:37
FTPでサーバファイルを読み書きしたいんですが、
サーバアカウントやパスをそのまま記載するのはセキュリティ面から危ないと思います。
そこで、皆さんはどうやって記述しているんでしょう?

969 :デフォルトの名無しさん:2009/11/01(日) 12:49:28
暗号化

970 :デフォルトの名無しさん:2009/11/01(日) 12:52:26
ユーザーに入力してもらう。

971 :デフォルトの名無しさん:2009/11/01(日) 12:56:44
>>969,970
起動時間などをサーバへ書き込みたいので、ユーザ入力では駄目なんです。
一ヶ所しか使わないので、専用の関数作るのも・・・と思ってたんですが、
やはり暗号化しか無いですよね、ありがとうございました。


972 :デフォルトの名無しさん:2009/11/01(日) 12:57:47
そういう目的でFTP使うのが既にどうかと

973 :デフォルトの名無しさん:2009/11/01(日) 12:58:06
暗号化
http://dobon.net/vb/dotnet/string/encryptstring.html

974 :デフォルトの名無しさん:2009/11/01(日) 12:59:14
Webサービスでやればいいのに

975 :デフォルトの名無しさん:2009/11/01(日) 13:07:30
>>972
他に何か方法があるのでしょうか?
>>973
ソースありがとうございます、頑張ってみます。

976 :デフォルトの名無しさん:2009/11/01(日) 13:11:25
どの時点で盗まれるのが嫌なのかってのがあるじゃん

・完全にネットワークから独立している状態で逆アセンブラ等を利用してパスワード盗まれる
・通信経路上で盗まれる

977 :デフォルトの名無しさん:2009/11/01(日) 13:49:46
>>976
逆アセンブラなどを使ってパスワード盗まれるのを防止したかったんです。
>>973の方法を利用させて頂きましたので、こちらの問題も解決しました。
皆さんありがとうございました。

978 :デフォルトの名無しさん:2009/11/01(日) 14:01:39
パスワードを保存する方法なら、どう暗号化しても逆アセンブラとかする相手に対抗できないだろ。

979 :デフォルトの名無しさん:2009/11/01(日) 14:26:22
>>977
>>973の方法で君が望んでることをしようっていうのは
「金庫に鍵はかけたが、鍵は金庫の上に放置されている」
という状態なのだよ

例を挙げると、WinnyやShareって奴が(RC4で)同じ方法を取ってるわけだが
あっという間に暗号は解読されたな

980 :デフォルトの名無しさん:2009/11/01(日) 14:33:09
そりゃまあ生のftp相手じゃ通信みるだけで生データ流れるしなあ。
ダミーでサーバ用意してもいいし。

981 :デフォルトの名無しさん:2009/11/01(日) 14:34:52
パケットアナライザで3秒でちゅわ

982 :デフォルトの名無しさん:2009/11/01(日) 14:36:35
WireShark起動するだけで10秒くらいかかるダス

983 :977:2009/11/01(日) 14:51:08
>>979
確かに・・・そうですね
書いていて気づきました
しかしそうなると、どうしても解読しようと思えば出来ますね^^;

984 :デフォルトの名無しさん:2009/11/01(日) 14:58:13
っノーガード戦法

985 :デフォルトの名無しさん:2009/11/01(日) 15:17:56
無防備君最強だろ

986 :デフォルトの名無しさん:2009/11/01(日) 16:36:47
次スレの時期かなあ

987 :デフォルトの名無しさん:2009/11/01(日) 17:32:20
ふらっとC#,C♯,C#(初心者用) Part46
http://pc12.2ch.net/test/read.cgi/swf/1238080584/

988 :583:2009/11/01(日) 18:19:30
>>948
うおおおお 神様ありがとう!

989 :583:2009/11/01(日) 18:21:48
あ、レス番間違えました orz
何度もありがとうございました

990 :986:2009/11/01(日) 18:22:16
立てたの俺だし
次で直すって言ったし
自分で立てた方がいいよね

991 :デフォルトの名無しさん:2009/11/01(日) 18:24:25
ふらっとC#,C♯,C#(初心者用) Part47
http://pc12.2ch.net/test/read.cgi/tech/1257067411/

992 :583:2009/11/01(日) 18:25:24
>>991
乙ですた

993 :デフォルトの名無しさん:2009/11/01(日) 19:37:54
>>988
>>948-952
orz

994 :デフォルトの名無しさん:2009/11/02(月) 13:51:13
はじめて質問します。
Leaveを使って、タブを違うテキストボックスに
移動した際に、入力された文字数の上限を
チェックしたいのですが、
textBox1.MaxLength = 32;
たとえばこれを挿入する際には
どこに挿入すればよいかわかりません。

他にも大文字小文字のチェックも同時に行うのですが、
それらの文章の直後につなげてしまってよいのでしょうか>

995 :デフォルトの名無しさん:2009/11/02(月) 13:56:23
これはすごい

996 :デフォルトの名無しさん:2009/11/02(月) 15:45:12
>>994
ひとまず・・・もう少し話を整理してみような?な?

997 :994:2009/11/02(月) 17:47:44
ごめんなさい・・・
この板くるの初めてで、ごく最近プログラミングはじめたんです。
しかも今海外で、もうテキストとか英語でわけわかんなくて( ゚д゚ )
香ばしい奴で本当にゴメン
しかも課題で死にかけてて。

環境はVS2008、OSはVISTA。
簡単な計算機みたいなのつくらなくてはいけないのだけど、
ユーザ入力の変数の上限を50ケタにしなくてはいけなくて、
MethodのLeave?という機能を使って
タブ移動後に桁数のチェックをいれたいんだ。

ググったらMaxLength = 50 
ってのをどっかに挿入すればいいらしいのだが
この場所がよくわからなくて。
それで桁数を超過した場合にアラートを出したいのだけど。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
ここからちょっと自分で調べてたんだが、
プロパティのMaxLengthに上限桁数を入れると
テキストボックスの字数の制限がかかるのは分かった。
でもこうじゃないんだ。
字数超過の場合だけアラートも出すには
ステイトメントにメッセージボックスと、その出現条件を
打ちこむ方法しかないと思うんだけど、
どうすればいいかなって。
if (name.Length > 50)
{ return "Maximum Length is 50 characters";}
こんな感じで書いたんだけど、エラーがどうしても出る・・・

ごめん、初心者スレと見て書いたんだけど、
さすがに問題外すぎるかな。いつも書き込んだりしないから
今手震えてます。スレちだったら消えるよ(´・ω・`)

998 :デフォルトの名無しさん:2009/11/02(月) 17:51:43
>>997
お・・・乙

ひとまずMaxLengthは50より大きくしといて

@条件文で数値でなければまずエラー
Aそのうえで50文字を超えていたらエラー
にすればいいんじゃないか?

@=IsNumeriで調べてみれば?
A=TextBox.Text.Length
でとりあえずどうだろう?

アラートはMessageBox.Show あたりか?

まぁ・・さびしいと思うが頑張れ
つうか、日本のサイトググればいいんじゃねぇかと・・・

999 :デフォルトの名無しさん:2009/11/02(月) 17:52:51
>>997
ここを読めばすべてわかる
http://dobon.net/vb/dotnet/index.html


1000 :997:2009/11/02(月) 18:11:25
ちょっと時間せっぱつまってるから
詳細後ほど調べてみます。
998、999、ありがとう!
もうちょっと教えてくれたこと
自分で調べて頑張ってみる!
みんな優しいね。゚(゚´Д`゚)゚。

てわけで1000!!!

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

213 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)