ふらっとC#,C♯,C#(初心者用) Part45
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/10/16(金) 10:57:16「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part45
http://pc12.2ch.net/test/read.cgi/tech/1253522504/
0002デフォルトの名無しさん
2009/10/16(金) 10:58:07C#, 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/
0003デフォルトの名無しさん
2009/10/16(金) 10:58:40正しくはPart46
次ぎ立てるときに直します
0004デフォルトの名無しさん
2009/10/16(金) 11:58:11どんまい
0005デフォルトの名無しさん
2009/10/16(金) 13:26:30(注) 当スレはPart46、次スレはPart47です。
これで大丈夫だろ
0006デフォルトの名無しさん
2009/10/16(金) 14:18:37腕に自信のあるプログラマは、以下のコンピュータ大富豪大会に参加しましょう。
ひろゆき杯コンピュータ大富豪大会
http://uecda.nishino-lab.jp/2009/
○What's UECda?
大貧民(または大富豪)は、我が国で最もポピュラーなトランプ・ゲームのひとつでしょう。
このゲームは、1960年頃に日本で生まれたと言われており、海外では、ほとんどプレイされていないようです。
本大会は、その日本固有の人気トランプ・ゲームである大貧民を、人が直接プレイするのではなく、
プレイするコンピュータ・プログラムを作成して持ち寄り、対戦させる大会です。
主催
電気通信大学
0007デフォルトの名無しさん
2009/10/16(金) 15:18:49CかJavaが基本って書いてあるぜw
0008デフォルトの名無しさん
2009/10/16(金) 17:11:590009デフォルトの名無しさん
2009/10/16(金) 18:23:36速度面が・・・と言われてもそこまで遅くはないだろうし
0010デフォルトの名無しさん
2009/10/16(金) 18:44:19どうせJava使ったとしてもCっぽいコード書くだろうし
0011デフォルトの名無しさん
2009/10/16(金) 19:03:14フォームのラジオボタンで指定したメンバでソートしたいのですが、
Sortメソッドでやろうとすると、メンバ変数の数だけIComparerクラスを作る以外にうまい方法はありますか?
0012デフォルトの名無しさん
2009/10/16(金) 19:08:52あと,構造体は特殊な場合に使うもので普通そういうのにはクラスを使う。
0013デフォルトの名無しさん
2009/10/16(金) 19:51:00対人でできるようにするにはパケット監視してやらないとだめだしなー
それよりテラリウム復活させてほしいわ
0014デフォルトの名無しさん
2009/10/16(金) 19:54:13すいません、よくわかりません
class Sample {
int data1, data2;
double data3;
}
みたいなクラスで、
Sample[] S = new Sample[10];
と宣言してあるのですが、
ラジオボタンの情報をどうやって渡せばいいのでしょうか?
0015デフォルトの名無しさん
2009/10/16(金) 19:54:440016デフォルトの名無しさん
2009/10/16(金) 19:57:13int data1, data2;
double data3;
public bool RajioBotanChecked;
}
S.RajioBotanChecked=ラジオボタン.Checked;
0017デフォルトの名無しさん
2009/10/16(金) 20:12:06Array.Sort(S, (x, y) => x.data1.CompareTo(y.data1));
これだけのこと
0018デフォルトの名無しさん
2009/10/16(金) 20:21:13LINQサンキューです。
>>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ってなんだ…。
0019デフォルトの名無しさん
2009/10/16(金) 20:24:56あるメソッドが実行されると自動で呼び出されて指定の処理をする
0020デフォルトの名無しさん
2009/10/16(金) 20:26:30なんでいきなり匿名メソッドとかに手を出すんだよ
0021デフォルトの名無しさん
2009/10/16(金) 20:38:32わざわざFindAllのフィルタのためのメソッドを外に定義したりしたら分散して余計にわかりづらくなる
0022デフォルトの名無しさん
2009/10/16(金) 20:44:530023デフォルトの名無しさん
2009/10/16(金) 21:01:58ものには順番ってあるだろ……
0024デフォルトの名無しさん
2009/10/16(金) 21:19:15まじでmsdnをみろw
前回の配列にするLINQのToArray()をToList()にするだけだろ・・・。
0025デフォルトの名無しさん
2009/10/16(金) 21:26:23LINQが嫌いなら↓でもできるけど意味わかるか?
Array.FindAll(photofiles, (s => s.Contains("good")));
この1文を無名delegateを使って書いてみ?
0026デフォルトの名無しさん
2009/10/16(金) 22:02:36例えば配列をforeachした場合、要素のはじめから取り出す保証はあるのでしょうか?
0027デフォルトの名無しさん
2009/10/16(金) 22:09:41それはコレクションのオブジェクトの仕様による。
配列やListであれば先頭から。
0028デフォルトの名無しさん
2009/10/16(金) 22:56:06ってもう手に入らないの?
0029デフォルトの名無しさん
2009/10/16(金) 23:41:54どのような仕様だとどのような順番になるんでしょうか?
0030デフォルトの名無しさん
2009/10/16(金) 23:52:380031デフォルトの名無しさん
2009/10/16(金) 23:57:14順番が気になるなら、使いたいコレクションの説明を読めば良い。
0032デフォルトの名無しさん
2009/10/16(金) 23:58:44ありがとうございました。
0033デフォルトの名無しさん
2009/10/17(土) 00:45:30実際にSystem.Data.SQLiteでテーブル作っちゃったほうが早いような気がするんだが。
ファイルDBにしたら勝手に保存もされるし。
0034デフォルトの名無しさん
2009/10/17(土) 01:01:17まてまてみなさん。初心者なのですよ。
LINQが好きも嫌いもない。あえていうと、
・List<>は覚えたい。
・delegateは生まれて初めて触ったところ。
・msdnはときどき見てるけど読みにくいのでほとんど理解できない(今回は見てない)。すまん。
・Array.FindAllも生まれて初めて触った。ITProのソースをそっくり流用してみた。(匿名メソッドって、どれが匿名メソッドなのかもわかってない)。
・LINQはすごいと評判なので覚えたいが、まだ早いといわれた。まあそうかなと思ってる。
ってところだよ。
>>25
ってわけで、無名delegateなんてはじめて聞くよ〜。すまん。
0035デフォルトの名無しさん
2009/10/17(土) 05:16:17その前に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?
0036デフォルトの名無しさん
2009/10/17(土) 05:41:00var 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"))
となる。
0037デフォルトの名無しさん
2009/10/17(土) 10:18:080038デフォルトの名無しさん
2009/10/17(土) 10:28:08使用中のOS以外のKnowledgeBase見るとメッセージでる。
スレッドを作ってバックグラウンドで動作させているとき、
フォームを閉じちゃうとバックグラウンド処理も終了するということですが、
たとえば、PCの電源を強制的に切るようなかんじで
スレッドを終了するということですか?
0039デフォルトの名無しさん
2009/10/17(土) 10:41:35まあ強制終了するかどうかはIsBackground次第だけど
0040デフォルトの名無しさん
2009/10/17(土) 10:46:42仕様だから仕方ないけど
0041デフォルトの名無しさん
2009/10/17(土) 11:01:15mobile cab 配置プロジェクトの依存関係がまったく表示されなくなって
ビルドすると HRESULT=80004005 エラー が出ます
同じ目的で新しい配置プロジェクトを作っても問題は変わりません
ターゲットプロジェクトはビルドできるし、正常に起動します
どうしたらいいでしょうか?
0042デフォルトの名無しさん
2009/10/17(土) 11:01:47確かに例外とか投げてくれるとうれしいけど、
フォアグラウンドでやればええやん、って話にしかならないのかな。
004341
2009/10/17(土) 11:14:05移動前にコンパイルエラーを出していたプロジェクトが勝手にソリューションから外れてました
それを追加して配置プロジェクトの構成で該当プロジェクトを含むようにプロパティを変更したら治りました
お騒がせしました
0044デフォルトの名無しさん
2009/10/17(土) 12:54:19そのプロジェクトフォルダ全部をアップお願いします。
0045デフォルトの名無しさん
2009/10/17(土) 12:54:530046デフォルトの名無しさん
2009/10/17(土) 13:00:45いくら払えるの?
0047デフォルトの名無しさん
2009/10/17(土) 13:43:130048デフォルトの名無しさん
2009/10/17(土) 14:45:11たったこんだけの式なんだがどんだけリッチなフォームなら納得してもらえるのやらw
萌えキャラが脱ぎながらアドバイスとかしてくれれば完璧かな
0049デフォルトの名無しさん
2009/10/17(土) 14:51:17どんな角度からも見えるようにな
0050デフォルトの名無しさん
2009/10/17(土) 14:52:310051デフォルトの名無しさん
2009/10/17(土) 14:56:590052デフォルトの名無しさん
2009/10/17(土) 15:08:100053デフォルトの名無しさん
2009/10/17(土) 15:09:130054デフォルトの名無しさん
2009/10/17(土) 16:17:230055デフォルトの名無しさん
2009/10/17(土) 16:24:58C# html
でググれ。
0056デフォルトの名無しさん
2009/10/17(土) 18:23:14データセット内のテーブルに格納し、
そのテーブルに対してSQLを発行し、
必要な条件のデータのみ(約2千件)を別のテーブルに保持したいと思っています。
このようなことを実現することは可能でしょうか?
どうすれば実現ができますでしょうか?
それは可能でしょうか?
0057デフォルトの名無しさん
2009/10/17(土) 18:27:542万件のデータを一度にコントロールにぶち込むなんて、アホのすることじゃね?
0058デフォルトの名無しさん
2009/10/17(土) 18:31:15「別のテーブル」がSQLサーバの別のテーブルならば、T-SQL使ってサーバ側
だけで実施させるのが吉。
ローカルファイルとしてのテーブルなら、DataSetに取り込んであとは自由にどう
にでも。
0059デフォルトの名無しさん
2009/10/17(土) 18:52:44「別のテーブル」とは、同じデータセット内に予め作成するテーブルを想定しています。
2万件のデータは、月別商品別の売上データです。
C#アプリケーションで、期間を指定して、売上情報を表示させたいのですが、
期間を変更するたびにWebサーバー上のSQLサーバーのデータを取得するようにしたところ、
検索ボタンを押して結果が表示されるまでに10秒ほどかかってしまうんです。
なので、アプリケーション起動時に全データをデータセット内に保持して、
検索のつどSQLサーバーにアクセスせず、スピードを高めたいと思っています。
2万件のデータは項目数自体は20項目ほどで少ないので、スプラッシュウィンドウを数秒表示させることにより、
起動時の読込時間をカバーしたいと思っています。
0060デフォルトの名無しさん
2009/10/17(土) 18:54:25テーブルに置いちゃうのもいいけどそういった社内情報とかは常に最新のものを使った方がいいんじゃないかな?
と俺だけが思うことで流される必要はない!がんばれ!
0061デフォルトの名無しさん
2009/10/17(土) 19:04:23やっぱり分かってないな。
(アホ呼ばわりもう一回しようと思ったけど初心者スレだったことを思い出した)
RDBがあるときは、検索処理はRDBにやらせるんだよ。
0062デフォルトの名無しさん
2009/10/17(土) 19:14:150063デフォルトの名無しさん
2009/10/17(土) 19:18:32普通に設計すれば。
0064デフォルトの名無しさん
2009/10/17(土) 19:19:57自分もそう言うので悩んでるところなんだ。
結論から言えば出来るでしょ。
単純に SqlDataAdpter (だっけ?)クラスを使用してデータを DataTable に受ければ
ローカルにデータを保存することが出来るし、表示するデータを絞るとかなら DataView クラスを
使えると思うし。
でも先にその 10 秒の内訳と用件/制限の確認をした方がいいと思うよ。
仮にデータの抽出に時間が掛かってるだけなら、本職の RDB よりも速くできるかわかんないし。
それなら、テーブル設計を見直した方がいいかもしれない。
自分が試した範囲だと、データの転送や表示には数万件レベルでも思ってたよりは時間掛かってなかった。
更新が頻繁に掛かるテーブルなら、(すでに言われてるけど)ローカルの古いデータを元に
処理をしたんじゃ問題が生じることもあるかも知れないし。
0065デフォルトの名無しさん
2009/10/17(土) 19:22:03あれはうまく調整しないとパフォーマンスが出ない。
0066デフォルトの名無しさん
2009/10/17(土) 19:29:53この前9列7万件近いデータを datatable に取り込んだことあるけど
なんかほんと一瞬って感じで終わってびっくらこいたことある。
キャッシュか何か効いてたのかな?
経験が全然ないからよくわかんないけど。
あるいは何かかんちがいしてたのかもしれん。
でもまぁ、月別商品別の情報ってことは
過去の販売データのまとめだろうし、
一度にとってもいいんじゃないのかな。
0067デフォルトの名無しさん
2009/10/17(土) 19:44:38それで10秒かかるならSQLを見直す。
3層サーバとすると、次にWebサービスから呼び出してかかる時間を計測、次にアプリから呼んだ時にかかる時間、最後にアプリから呼んだ後にgridviewかなんかにバインドするまでの時間を計測してどこがボトルネックかを調べなさい。
0068デフォルトの名無しさん
2009/10/17(土) 19:48:54おれ中学生だけど社会人でこの程度もわからない人でも仕事もらえるんだな?
最近パソコン始めたおれでもできる
0069デフォルトの名無しさん
2009/10/17(土) 19:51:060070デフォルトの名無しさん
2009/10/17(土) 19:53:10仕事は会社が受けるからな。
だから優秀な人間にお鉢が回り、優秀な人間からこの業界から去っていく。
0071デフォルトの名無しさん
2009/10/17(土) 20:00:18いい加減、そういうネトウヨチックな被害妄想の恥ずかしさに
気づくようになった方がいいんじゃない?
ま無理には勧めないが。
0072デフォルトの名無しさん
2009/10/17(土) 20:01:450073デフォルトの名無しさん
2009/10/17(土) 20:05:560074デフォルトの名無しさん
2009/10/17(土) 20:11:37一部のできる人間ができない人間を食わせているのは事実だろ?
あおりでもなんでもなくね。
0075デフォルトの名無しさん
2009/10/17(土) 20:20:39そりゃそうだが、そんなの「パレートの法則」なんて言われるぐらい当たり前で
どこの組織にも見られる現象でしょ。
>>70がそうだと断言はしないが、なーんか自分が(前の)会社で上手くいかなかったことを
単に「合理化」(防衛機制って奴ね)しようとしてるようにも見えちゃうよね。
そうでなくても、>>70のような文章には、なんか「2chで俺は世の中の真実に目覚めた(マスゴミ?w特亜?w)」
ぐらいの勢いで思ってるウブなネトウヨのような青い臭いを感じて、読んでるこっちが
気恥ずかしくなるものがあるよ。
0076デフォルトの名無しさん
2009/10/17(土) 20:22:560077デフォルトの名無しさん
2009/10/17(土) 20:24:120078デフォルトの名無しさん
2009/10/17(土) 20:25:260079デフォルトの名無しさん
2009/10/17(土) 20:26:550080デフォルトの名無しさん
2009/10/17(土) 20:29:040081デフォルトの名無しさん
2009/10/17(土) 20:32:350082デフォルトの名無しさん
2009/10/17(土) 20:32:560083デフォルトの名無しさん
2009/10/17(土) 20:37:240084デフォルトの名無しさん
2009/10/17(土) 20:43:340085デフォルトの名無しさん
2009/10/17(土) 21:06:460086デフォルトの名無しさん
2009/10/17(土) 21:29:000087デフォルトの名無しさん
2009/10/17(土) 21:33:21かゆとってるだろw
0088デフォルトの名無しさん
2009/10/17(土) 21:38:590089デフォルトの名無しさん
2009/10/17(土) 21:40:280090デフォルトの名無しさん
2009/10/17(土) 22:50:470091デフォルトの名無しさん
2009/10/18(日) 00:13:20価格を表示させたいと思っているんだけど、
ノードの表示名のパラメーターにエスケープ文字は使用できないのでしょうか?
0092デフォルトの名無しさん
2009/10/18(日) 00:21:12普通に>とかの文字ならそんなことせずに表示できると思うけど
0093デフォルトの名無しさん
2009/10/18(日) 00:47:49XMLのデータは使用していません。
Atree.Nodes.Add(01, "商品A" + "\t"+ "単価1,000円");
としたときに、\tが効かなく無視されているようなんです
(>_<)。
0094デフォルトの名無しさん
2009/10/18(日) 00:53:300095デフォルトの名無しさん
2009/10/18(日) 00:57:12それだと \t という文字がそのまま表示されない?
0096デフォルトの名無しさん
2009/10/18(日) 01:36:030097デフォルトの名無しさん
2009/10/18(日) 01:41:530099デフォルトの名無しさん
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);
}
0100デフォルトの名無しさん
2009/10/18(日) 07:14:14やはり中学生程度には無理かw
010199
2009/10/18(日) 07:15:51private 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));
}
インデントに全角スペースを使っているので置き換えて試して。
自分で言うのも変だが、全然初心者向きじゃないコードでごめん。
そもそもツリー作っていないし。
0102デフォルトの名無しさん
2009/10/18(日) 07:40:16それだと、\tって表示されるだけだろ?
本当のやり方を書いてみなよ。
010499
2009/10/18(日) 07:55:25念のため言うけれど、見下しているわけではないから。
やっぱり最初は、Hello World!なわけで。
オーナードロー、下手にこりだすと止まらなくなるし…。
0105デフォルトの名無しさん
2009/10/18(日) 07:57:25質問に答えた上で言えよw
オレ?もっとバカだから無理。全角スペースで我慢して下さい。
0106デフォルトの名無しさん
2009/10/18(日) 08:03:07これはTabではないよね。
こんなんでよければ半角スペースをうちこめばいい。
0107デフォルトの名無しさん
2009/10/18(日) 08:34:05プロポーショナルフォントで半角スペースを打ち込んで調節するのか?w
0108中学生
2009/10/18(日) 09:43:06ほらよ。感謝しろよ
"商品A" + \t+ "単価1,000円
それからな、ツリーはそういうことをするためのものじゃないから
おまえの設計が間違ってる
それでお前が思ったようなことができたとしても
そんな独自仕様扱いにくくて誰も使わないぞ
0109中学生
2009/10/18(日) 09:45:44どうせ、エクセルかなんかのタブ区切り文字列を
そのままつっこみたいんだろ?w
お前こそちゃんと答えろハゲ
妥協案なんていらないんだよチンカス
0113デフォルトの名無しさん
2009/10/18(日) 11:34:54なのにIDEのブラウザだとまともに見れないのはなぜ?
0114デフォルトの名無しさん
2009/10/18(日) 11:41:11不正解。
間違いをここまで偉そうに語れるのはすごいわ。
0115デフォルトの名無しさん
2009/10/18(日) 12:12:170117デフォルトの名無しさん
2009/10/18(日) 13:01:09オマエガナー
0118デフォルトの名無しさん
2009/10/18(日) 13:02:570119中学生
2009/10/18(日) 13:05:13交信を終了する
0120デフォルトの名無しさん
2009/10/18(日) 13:06:57〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ こいつ最高にアホ
彡、 |∪| /
/ __ ヽノ /
(___) /
0121中学生
2009/10/18(日) 13:15:04年とると馬鹿になるのかねぇ。
0123デフォルトの名無しさん
2009/10/18(日) 13:21:25ってなわけで、今日も全力で釣り針に食らいつく
0124中学生
2009/10/18(日) 13:27:40おっさんは記憶力がないから困るわ
0125小学生
2009/10/18(日) 13:28:320127中学生 ◆gTss8OfLRY
2009/10/18(日) 13:38:160128デフォルトの名無しさん
2009/10/18(日) 13:38:55タブで無理やりそろえようなんてそもそも無駄だと思うんだが。
素直にListViewやDataSetあたりを使うか、
ListBoxをオーナードローするなりすればいいのに。
0129デフォルトの名無しさん
2009/10/18(日) 13:44:01TreeViewにTabを処理する機能がそもそもないから、
オーナードローでもしなきゃ無理って話だろ。
WPFならスマートにそういった機能拡張はできるよ。
0131デフォルトの名無しさん
2009/10/18(日) 13:56:010132デフォルトの名無しさん
2009/10/18(日) 14:16:59メソッドとか重複する時に使うんだなって頭でいるけどそれでいいの?
継承も使ったことないから、もちろんinterfaceも宣言したことない。
そのせいか親クラスはいつも子だくさん。
ほんと孕ませてばっかです。
0133デフォルトの名無しさん
2009/10/18(日) 14:24:060134デフォルトの名無しさん
2009/10/18(日) 14:25:200135デフォルトの名無しさん
2009/10/18(日) 14:26:35class *** {
class *** {
class *** {
class *** {
}
∞
}
}
}
}
0136デフォルトの名無しさん
2009/10/18(日) 14:27:370137デフォルトの名無しさん
2009/10/18(日) 14:29:31それに継承って、デバッグするとき継承先を辿る必要があったりするから難読化するんじゃないかなと思ってみたり。
0138デフォルトの名無しさん
2009/10/18(日) 14:30:480139デフォルトの名無しさん
2009/10/18(日) 14:33:36microsoft.windwos.vista.netとか見た目でどこ読んでるか想像が付くし、書く時も大体の勘でかけたりするからいいkなぁって。
だめかな?w
わかんないや
0140デフォルトの名無しさん
2009/10/18(日) 14:35:180141デフォルトの名無しさん
2009/10/18(日) 14:35:40ダメ
ガイドライン違反
0142デフォルトの名無しさん
2009/10/18(日) 14:43:27やっぱりか、
いま無理やりDebug.print関係のメソッド群をそれぞれの箇所に継承できるようにしてる。
今までpublic static classでやってたのが継承するべきものなんかと気づいた。
ただインタフェースの必要性がいまだにポカーン
0143デフォルトの名無しさん
2009/10/18(日) 14:46:45適切に名前空間分けて、必要に応じて修飾名付けて書けばいいじゃん
ドMなら全部 完全修飾名で書いてもいいと思うけど、人には見せないようになw
0144デフォルトの名無しさん
2009/10/18(日) 14:50:05よくコードに性格が出てるとか言われる。
ついでにバカ呼ばわりされる
0145デフォルトの名無しさん
2009/10/18(日) 14:50:22クラスの継承は複数のクラスで実装の共通化を図りたいとき。
ポリモーフィズムは異なるものを同じものとして扱いたいとき。
サブ実装をメンバに持たせる包含は、継承によるクラス間の依存関係の複雑化を避けたいとき。
インターフェイスは複数のクラスの実装に共通部分が無い場合。
にそれぞれ使う。
これらの中身をいちいち説明してたら紙面が足りないし、このスレの範囲を超えるので
自分で勉強してくれとしか言いようが無いな。
0146デフォルトの名無しさん
2009/10/18(日) 14:53:23わざわざありがとう!
今未確認飛行のところで一生懸命読破しようとしてる。
まだ自分ではいろいろな欠点をしってるけど、またの機会いぃぃぃー!
0147デフォルトの名無しさん
2009/10/18(日) 15:18:15>public static classでやってたのが継承
それ継承の間違った使い方の典型的なアンチパターンだよ
0148デフォルトの名無しさん
2009/10/18(日) 15:51:580149デフォルトの名無しさん
2009/10/18(日) 15:54:170150デフォルトの名無しさん
2009/10/18(日) 17:48:470151デフォルトの名無しさん
2009/10/18(日) 17:56:570152デフォルトの名無しさん
2009/10/18(日) 18:04:47クラス自体に大きな性質を与えたいときとか
テンプレートを提供するときとか
基底クラスへの強い依存や基底クラスから強い影響を受けても構わない、
あるいはそれが望ましいとき。
インターフェイスは逆に実装はいらないときとか
強い関係を持ちたくないときとか
クラス自体の性質とそれがサポートする機能に関連が薄いときとか
汎用性、疎結合ならインターフェイス。
0153デフォルトの名無しさん
2009/10/18(日) 18:11:36ライブラリを使う側なら、あんまり気にしなくてOK。
0155デフォルトの名無しさん
2009/10/18(日) 18:30:09外部関数を実行中にC#側の別スレッドで構造体のメンバ値を
変更しても外部関数でそのメンバ値を見ても変更が反映されません。
何故ですか。
ちなみにC#のマネージメソッドに対して同様の
ことをするとメソッド内で構造体メンバ値の変更が反映されます。
0156デフォルトの名無しさん
2009/10/18(日) 18:31:32Directory.GetFiles
で手に入れたファイルの順番と、
エクスプローラでファイルを一覧した順番が違う気がするんです。
違ってたとして、一致させるにはどうすればいいのでしょう?
0158デフォルトの名無しさん
2009/10/18(日) 19:02:36そのデータがフォームに表示されるように datagridview にバインドする場合、
dataset へのデータの追加は、begininvoke を使って
メインスレッド(UIスレッド?)で追加した方がいいのかな?
0159デフォルトの名無しさん
2009/10/18(日) 19:12:02「この型は、マルチスレッド読み取り操作に対して安全です。すべての書き込み操作の同期をとる必要があります。」
ロックしたら問題無いと思っていたけど、駄目?
0160デフォルトの名無しさん
2009/10/18(日) 19:12:43フォームのコントロールはフォームのスレッドでしかアクセスできないから。invokeが必要。
0161デフォルトの名無しさん
2009/10/18(日) 19:15:55ダメ。
DataSetの変更はバインディングによってコントロールに通知されるけど、
特に同期化しない普通のイベントによる通知なので
DataSetを変更したスレッドと同じスレッドでイベント発生・コントロール書き換えが行われてしまう。
0162デフォルトの名無しさん
2009/10/18(日) 19:23:43> 特に同期化しない普通のイベントによる通知なので
> DataSetを変更したスレッドと同じスレッドでイベント発生・コントロール書き換えが行われてしまう。
あー、そうか。
やばそうですね。
0163デフォルトの名無しさん
2009/10/18(日) 19:36:19そのままマネージヒープのアドレスを渡すとGCで死ぬから,
マーシャラが自動的にアンマネージヒープにコピーを作ってるからだったかな
そういう使い方をするデータははじめから自分でアンマネージヒープに確保しておくのが普通だと思う
0164デフォルトの名無しさん
2009/10/18(日) 19:56:020165デフォルトの名無しさん
2009/10/18(日) 20:05:150166デフォルトの名無しさん
2009/10/18(日) 20:08:070167デフォルトの名無しさん
2009/10/18(日) 21:52:28コンパイルしたらリリースフォルダにも同じファイルがある。
TempPEなんてフォルダまである。
hoge.pdb
hoge.Form1.resources
hoge.Properties.Resources.resources
hoge.csproj.GenerateResource.Cache
hoge.csproj.FileListAbsolute.txt
今までこんなの出来なかったのに何故?
0168167
2009/10/18(日) 21:53:27これは無しです。
0169デフォルトの名無しさん
2009/10/18(日) 22:05:180170デフォルトの名無しさん
2009/10/18(日) 22:13:15その通りでした
まさかそんな落とし穴があったとは・・・
穴があったら入りたいですw
0171小学生
2009/10/18(日) 22:17:370173小学生
2009/10/18(日) 22:51:01人類初の人工知能を開発してやる
まずはイカの神経細胞を研究してだな
0174デフォルトの名無しさん
2009/10/18(日) 23:08:41/⌒ ⌒\ ホジホジ
/( ●) (●)\
/::::::⌒(__人__)⌒::::: \ < へーがんばってね
| mj |ー'´ |
\ 〈__ノ /
ノ ノ
0175デフォルトの名無しさん
2009/10/18(日) 23:12:140176デフォルトの名無しさん
2009/10/18(日) 23:16:240177155
2009/10/18(日) 23:37:29やはりGCによる管理が原因でしたか。
結局アンマネージにコピーしてるならせっかくの参照渡しがあまり意味ないですね。
せっかくのc#なのにアンマネージコードを使うのもなんなので、
他の方法にします。ありがとうございました。
0178デフォルトの名無しさん
2009/10/19(月) 00:44:09俺はそういう参照私の使い方をしたことがないんだ
0179デフォルトの名無しさん
2009/10/19(月) 01:49:10C#からC/C++のDLLの外部関数を呼び出すのはかなり下準備が必要なので、
ゼロから書き上げるより実績のある他のコードをコピペしていじったほうがいいよ。
WinAPIなら色々と見つかる。
0180デフォルトの名無しさん
2009/10/19(月) 01:50:060181デフォルトの名無しさん
2009/10/19(月) 02:21:39それができないならC++/CLIでラッパーを作る。
0182デフォルトの名無しさん
2009/10/19(月) 09:08:05xmlファイルとして生成するときはXmlTextWriterからなのかXDocumentから吐きだすのか・・・
どうしたらいいんだぜ?
0183デフォルトの名無しさん
2009/10/19(月) 09:14:27イカの飼育を世界で初めて成功させた日本人がいるね
0184デフォルトの名無しさん
2009/10/19(月) 09:33:32別に何使っても良いけどな つか「すぎ」って言うほど多くはないと思うけど
まず一旦DOMを作るかどうかでXmlDocument/XDocumentかXmlWriterかに分かれる
DOMを作るかどうかは仕様次第
あとXmlDocumentとXDocumentは大体同じもんだから.NET 3.5以降を使って良いならXDocument
それからXmlTextWriterは属性ついてないけどObsolete扱いなので使うならXmlWriterね
0185デフォルトの名無しさん
2009/10/19(月) 10:13:03すごい勉強になるわ、
無意識のうちにXDoc使ってるから、まぁこのまま続けても問題はないかな。
0186小学生
2009/10/19(月) 10:27:53いらないものどんどん削除していけよ・・・
0187デフォルトの名無しさん
2009/10/19(月) 10:29:23ごちゃごちゃしてる
0188デフォルトの名無しさん
2009/10/19(月) 10:48:20削除されないのが標準ライブラリの宿命。
それでも、標準で使えるライブラリが使えなさ過ぎるC/C++よりは遥かにマシ。
Javaと比べたら……どうなのよ?
0190小学生
2009/10/19(月) 11:02:17って考え方する奴は時代についていけてない証拠
満足しちゃったら終わりなのよw
0191デフォルトの名無しさん
2009/10/19(月) 11:13:570192デフォルトの名無しさん
2009/10/19(月) 11:16:460193小学生
2009/10/19(月) 11:21:18今はすごく便利だなー
懐古おっさんは解雇されろw
0194デフォルトの名無しさん
2009/10/19(月) 11:24:500195デフォルトの名無しさん
2009/10/19(月) 12:10:23最後に「w」付けてるせいで悲壮感が倍増している。なんとハイレベルな親父ギャグか…。
0196デフォルトの名無しさん
2009/10/19(月) 13:59:42そのクラスがプラグインを実装することになって
メニュー項目にプラグイン選択・設定メニューも追加したくなったとします
メニューを管理するのはParentのFormなので、Formクラスでライブラリに
作り直せば簡単なんですが可搬性に問題が出そうです
そこでコントロールクラスのコンストラクタにFormクラスのメニューの参照を渡して
そこにメニューを追加する仕様にしようかと考えてます
コントロールのコンストラクタにメニューの参照を渡すのってあんまり見たこと
ないんですが、おかしくないでしょうか?
0197小学生
2009/10/19(月) 14:18:53>作り直せば簡単なんですが可搬性に問題が出そうです
なんで?
普通にメニュー作ればいいやん?
0198デフォルトの名無しさん
2009/10/19(月) 14:48:23フォームのメニューはアプリごとに全然異なる部分だからなぁ。だから普通は毎回作り直す。
そこを標準化して、逆にアプリ側の仕様が縛られるのはちょっと勘弁。
プラグインを管理する機能があって、それをメニューに反映したいというなら後付で入れられる形を考えるか。
純粋なプラグイン管理サブシステムを構築した上で、
そいつに追加したい先のフォームのメニューの親メニューの参照を渡してあげる感じがいいんじゃないかな。
0199デフォルトの名無しさん
2009/10/19(月) 15:10:53なるほど、とりあえずはプラグインが利用するのはコントロールクラスのプロパティやイベントだけだと思うので
後付で追加したい先のフォームのメニューの参照を渡すようにして、
メニューの追加をプラグインにそれぞれやらせるようにしたいと思います
0200デフォルトの名無しさん
2009/10/19(月) 17:01:460201デフォルトの名無しさん
2009/10/19(月) 17:06:45プラグインが既存のメニュー削除できちゃったりしないの?
0202小学生
2009/10/19(月) 17:18:160203デフォルトの名無しさん
2009/10/19(月) 17:38:00できませんよ、プラグイン用の枝のMenuItemの参照渡してるだけだしaddを公開してるだけだから
0204デフォルトの名無しさん
2009/10/19(月) 17:49:43そっぽ向く、無視することを「鹿十(しかとお)」と言うようになった
ヤクザの言葉なのであまり使わない方がいい
0205デフォルトの名無しさん
2009/10/19(月) 17:51:25しかも参照渡す前のメイン処理のメインメニューは同じやりかたで化けてないのに
0207デフォルトの名無しさん
2009/10/19(月) 18:15:25デバッグ環境の方に原因があった
0208デフォルトの名無しさん
2009/10/19(月) 18:16:39マジでキチガイなんだろうな
0209胎児
2009/10/19(月) 18:16:400210デフォルトの名無しさん
2009/10/19(月) 18:26:570211デフォルトの名無しさん
2009/10/19(月) 19:16:260212デフォルトの名無しさん
2009/10/19(月) 19:34:04ここの暗号化なんですけど意図的に復号キーを変えると勝手に
パスワードの判定をしてくれるんですが、仕組みを教えて。
0213デフォルトの名無しさん
2009/10/19(月) 19:38:05それはそれとして、そのサンプル間違ってる部分があるから注意な
暗号化した後のバイト配列をEncodingで文字列化しちゃってるところ
0214デフォルトの名無しさん
2009/10/19(月) 19:50:30for (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 はバンドルされませんでした。ってエラーが出ます。
0215デフォルトの名無しさん
2009/10/19(月) 20:52:52必ず例外が投げられるってもんでもないよ
0216214
2009/10/19(月) 21:50:16try catchで切り抜けます。
0217デフォルトの名無しさん
2009/10/20(火) 04:23:28http://koreawatcher.at.infoseek.co.jp/janexeno.htm
・正式版として最初のリリース。
・Jane終了時の挙動のみ091015試作品から変更された。
───────────────────────
予告どおり、正式版をリリースしました。×ボタンのツールチップ
ヒントに関して、真魚のソースを参考にして修正を試みました。
JaneNidaの開発は事実上終了です。2chの仕様変更などで
対応するかもしれません。
0218デフォルトの名無しさん
2009/10/20(火) 08:54:27カエレ
0219デフォルトの名無しさん
2009/10/20(火) 09:02:41プッ
0220デフォルトの名無しさん
2009/10/20(火) 09:14:33なんぞこれ
0221デフォルトの名無しさん
2009/10/20(火) 09:42:200222デフォルトの名無しさん
2009/10/20(火) 10:00:100223デフォルトの名無しさん
2009/10/20(火) 10:03:330224デフォルトの名無しさん
2009/10/20(火) 10:05:460225デフォルトの名無しさん
2009/10/20(火) 10:06:570226デフォルトの名無しさん
2009/10/20(火) 10:07:56それってC#で作られてるんだよね
製作者のプログラミングスキルってどんなもん?
0227デフォルトの名無しさん
2009/10/20(火) 10:11:47女子大生になに期待してるの?
専スレで作者と一緒に機能拡張を考えたりデバッグしたりするのが楽しいんじゃないか
0228デフォルトの名無しさん
2009/10/20(火) 10:31:09え?あの作者って女なの?
0229デフォルトの名無しさん
2009/10/20(火) 10:33:520230デフォルトの名無しさん
2009/10/20(火) 10:54:17Parallel から Twintail に変更されますた。
0231幼稚園児
2009/10/20(火) 11:45:360232デフォルトの名無しさん
2009/10/20(火) 12:55:140233タブブラウザ製作者
2009/10/20(火) 13:04:20実際にどうすればいいんでしょうか?
0234デフォルトの名無しさん
2009/10/20(火) 14:17:530235デフォルトの名無しさん
2009/10/20(火) 14:18:57でも Standard はなくなるようだからホビープログラマにはきついかもしれんね。
0236デフォルトの名無しさん
2009/10/20(火) 14:32:43これからがっぽり稼ぐ作戦だろうなw
0237デフォルトの名無しさん
2009/10/20(火) 14:37:280238デフォルトの名無しさん
2009/10/20(火) 14:57:380239デフォルトの名無しさん
2009/10/20(火) 15:04:33単純すぎて答えが返ってこないです^^;
いやマジでなぞです
ググってるんですが
lblNo1.Visible = false;
lblNo(Index).Visible = false;< とかやってみたんですけどね
0240デフォルトの名無しさん
2009/10/20(火) 15:11:500241デフォルトの名無しさん
2009/10/20(火) 15:18:500242デフォルトの名無しさん
2009/10/20(火) 15:23:18その上で、配列ですか?・・・
思いつかない
でもかんがえてみる・・・
アリ
TextBoxにも言えるんですけどね
0243デフォルトの名無しさん
2009/10/20(火) 15:24:22{
string labelName = "lblNo" + i.ToString();
this.controls[labelname].Visible = true;
}
0244デフォルトの名無しさん
2009/10/20(火) 15:27:51tablepanel 野中でさらに指定せなあかん。
ところで、toolStripContainer って一度フォームに貼っちゃうと
削除できないのかな?
さっきどうやって削除していいかわからなかったからフォームごといったん消しちゃったんだけど
なんか勘違いしてるのかな?
0245デフォルトの名無しさん
2009/10/20(火) 15:32:100246デフォルトの名無しさん
2009/10/20(火) 15:34:41オブジェクトの一覧選ぶコンボで該当選ぶとデザイナで選択されるから DEL 押して削除とか?
0247デフォルトの名無しさん
2009/10/20(火) 15:39:48あぁ、うん。ごめん、それでいけた。
ヒントさんくす。
さっきもそれで懸想として消せなかったんだけど
選択がコントロール全体じゃなくて
コントロール内のコントロール選択した状態で削除しようとしてたからだ。
自分の不注意…。
前もこれで悩んだような記憶が…
0248デフォルトの名無しさん
2009/10/20(火) 15:39:51for (int i = 1; i < 6; i++)
{
string labelName = "lblNo" + i.ToString();
this.Controls[labelName].Visible = false;
}
微修正しましたありがとです
0249デフォルトの名無しさん
2009/10/20(火) 15:41:100250デフォルトの名無しさん
2009/10/20(火) 16:26:31普通にデザイナで選択出来るし
コンテキストメニュー → [選択] → [toolStripContainer1]
他にはドキュメントアウトラインでもいける
0251デフォルトの名無しさん
2009/10/20(火) 16:51:11アプリによっては左側面にあったりするものもあるんですが
それはどうやったらできますか?
0252デフォルトの名無しさん
2009/10/20(火) 17:22:12ポーカゲームとか作るとき
カードをクラス化するとすると
5つのインスタンス作るんですか?
マジ5個のインスタンスに初期値つっこむのめんどいのですが・・・
0253デフォルトの名無しさん
2009/10/20(火) 17:57:010254デフォルトの名無しさん
2009/10/20(火) 17:58:54てか、そんなんに義務など無いんだから
嫌なら手続き的に書けば?
よっぽどめんどいと思うけど
0255デフォルトの名無しさん
2009/10/20(火) 18:02:38http://msdn.microsoft.com/ja-jp/library/system.windows.forms.tabcontrol.alignment%28VS.80%29.aspx
0256デフォルトの名無しさん
2009/10/20(火) 18:02:39CEREAL
0257デフォルトの名無しさん
2009/10/20(火) 18:11:115つのインスタンスが必要なら5つ初期化する必要があるのは当たり前。
普通は面倒なことなどない。それが面倒だということは、おかしな事をしてる
設計に関するヒントを挙げると、カードはクラス化する必要ない。
flags付きの列挙型でスート4種、ランク1〜13、ジョーカーを作成。(空状態もあるといいかも)
あと、スート、ランクのマスクとか、エイリアス(Ace=One)とかを用意すればいいか。
0258デフォルトの名無しさん
2009/10/20(火) 18:35:400259デフォルトの名無しさん
2009/10/20(火) 18:40:41CPU AMD-450MHz
メモリ 184MB
ツインテールの作者ってマジでこんなスペックで開発してんの?
かなりもっさりじゃね?
0260デフォルトの名無しさん
2009/10/20(火) 18:42:470261デフォルトの名無しさん
2009/10/20(火) 18:42:550262デフォルトの名無しさん
2009/10/20(火) 18:51:29私のC#にはFlagsAttributeなどない!
てゆうかすでに高度すぎてついていけない・・
でもありがとう
0263デフォルトの名無しさん
2009/10/20(火) 18:58:42MyCard 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();
略
ださいでしょ
なんとかならんのか
0264デフォルトの名無しさん
2009/10/20(火) 19:05:11クラス化した方が汎用性あると思うけどなぁ。
0265デフォルトの名無しさん
2009/10/20(火) 19:07:36普通はランダムで生成しちゃいかんもんだと思うが
0266デフォルトの名無しさん
2009/10/20(火) 19:10:230267263
2009/10/20(火) 19:19:48出来ないと5行書くんですよ
for (int i = 1; i < 6; i++)
{
string labelName = "lblNo" + i.ToString();
this.Controls[labelName].Visible = false;
}
想像だけど7並べのPGつくると大変なことになりそう
0268デフォルトの名無しさん
2009/10/20(火) 19:22:52ボタンが無いときはちゃんと判定されるのに・・・どういうことなの?
0269デフォルトの名無しさん
2009/10/20(火) 19:40:04表示の時はそれでいいが
内部もそれだと、アルゴリズム生成するときに処理がもたつく
0270デフォルトの名無しさん
2009/10/20(火) 20:02:550271デフォルトの名無しさん
2009/10/20(火) 20:17:35キャリアの違いを吸収してくれるものがあるとありがたいです。
もちろん有料でもよいです。
無ければソケットで実装しようと思います。
0272デフォルトの名無しさん
2009/10/20(火) 20:49:27KeyPreview
0273デフォルトの名無しさん
2009/10/20(火) 20:58:24ありがとうございます!
0274デフォルトの名無しさん
2009/10/20(火) 21:12:100275デフォルトの名無しさん
2009/10/20(火) 21:18:50publicクラスのpublic/protectedメンバについてはアセンブリ外から呼ばれる可能性があるので一般には無理
0276デフォルトの名無しさん
2009/10/20(火) 21:26:41もうなんか激しく WPF の ItemsControl でも使ってろって
感じがする。
0277263
2009/10/20(火) 21:29:070278デフォルトの名無しさん
2009/10/20(火) 21:42:29ゲームならコントロール使わず全部自分で描くでしょ
0279263
2009/10/20(火) 21:52:45そんな腕はない!
0280デフォルトの名無しさん
2009/10/20(火) 22:10:25ブラックジャックだっけかな
0281デフォルトの名無しさん
2009/10/20(火) 22:11:26うまく設計したらかなり共通化できそう
0282デフォルトの名無しさん
2009/10/20(火) 22:12:28使えば楽にできるよって意味で薦めたのに。
Card の見え方(Item)のテンプレート書いて ItemsSource に
MyCard とやらのコレクションぶち込むだけなのに。
0283263
2009/10/20(火) 22:16:52Randomって一瞬で処理されるから
Randomでカード作ってもみな同じカードになるような・・・
さらに作りこみます
0284デフォルトの名無しさん
2009/10/20(火) 22:24:29もうちょっと人のレスの内容をゆっくり読み込みなさいw
>>265-266とか
0285デフォルトの名無しさん
2009/10/20(火) 22:47:43ttp://msdn.microsoft.com/ja-jp/vcsharp/aa336742.aspx
Windows スタート キット > カード ゲーム スタート キット
0286デフォルトの名無しさん
2009/10/20(火) 22:51:00http://pc12.2ch.net/test/read.cgi/software/1247052653/
ここ荒らしてるのおまえらだろw
0287デフォルトの名無しさん
2009/10/20(火) 22:54:510288263
2009/10/20(火) 23:07:59>>普通はランダムで生成しちゃいかんもんだと思うが
それは、取りあえずランダムで値をとってから数字とマーク(ハートとかのマーク)を
比較して同じじゃなきゃOK同じならもう一回やればいいと言う意味かと思っていたけど
いまランダムで同じ値が出てる現象の事を予知してたのかなと
>>生成してからランダムに並べ替えて使うんだよ普通は
意味がちょっと分かりませぬ
当方の理解力のなさによるものですが
生成してからランダムに・・・・??
どういうことでしょうか
教えてくださいませんか?すいません
0289デフォルトの名無しさん
2009/10/20(火) 23:08:360290デフォルトの名無しさん
2009/10/20(火) 23:08:37君に一番向いているのは、カードをユーザーコントロールとして
実装することなんじゃないかと思う。
それならお望みどおり描画はラベル等のに丸投げできるし、
ユーザーコントロールに"MyCard"を引数にとって表示に反映するメソッドを書けば、
「ださい」問題も解消できるでしょ。
0291デフォルトの名無しさん
2009/10/20(火) 23:21:07あのさ、ランダムにやったら同じカード出て当たり前だろ
面倒だけど、ちゃんとカードの定義を作ってだな
それをランダムに配れよ
てか、おまえはまず、オセロ作れ
2色なら文句ないだろ
多分それさえもできなさそうだけど
0292デフォルトの名無しさん
2009/10/20(火) 23:26:36とかググれ
0293デフォルトの名無しさん
2009/10/20(火) 23:32:51入れ替えるところを乱数で2箇所決め、そこのカードを入れ替える
これを好きなだけ、十分混ざるまで繰り返す
もしくは頭から順番に、乱数で決めたどこかと入れ替えるを全カード行う
0294デフォルトの名無しさん
2009/10/20(火) 23:32:54おおー、これだ
シンプルなゲームならWinFormsでポトペタ出来るんだな、ってちょっと感心した覚えがある
0295253
2009/10/20(火) 23:37:44すいません、もうっちょっとだけ詳しく教えてください
ぐぐってもよくわからなかった
やりたいのはIEのお気に入りをタイトルとURLで保存したいのです
それとノードの構造と同じような保存用データも必要と思うんだけど
そっちはどのように作ればいいんでしょうか?
IEPageNodeクラスにLISTを作ってそこにIEPageNodeのインスタンスを追加していくというのを
考えているんだけど、もっとよい方法ありますか?
0296デフォルトの名無しさん
2009/10/20(火) 23:52:46と 291 とか 293 は言えばいいのに。と思った。
0297263
2009/10/20(火) 23:54:44皆さんありがとう
0298デフォルトの名無しさん
2009/10/20(火) 23:54:45シャッフル式の方が教科書的だけど
0299デフォルトの名無しさん
2009/10/21(水) 00:17:31ソートでのシャッフル。
0300デフォルトの名無しさん
2009/10/21(水) 00:40:54public static IEnumerable<TSource> Shuffle<TSource>(this IEnumerable<TSource> source) {
var r = new Random();
return source.OrderBy(x => r.NextDouble());
}
0301デフォルトの名無しさん
2009/10/21(水) 00:45:27Orderbyに与えるデリゲートは一要素につき一回しか実行されないのは保証されるの?
0302デフォルトの名無しさん
2009/10/21(水) 03:52:47http://www.microsoft.com/Japan/msdn/archive/student/challenge/default.aspx
自分が作りたいものに近いのを参考にしてやるといいかも
いろんな解説サイト見てても、実際どう使うかがわからないから
頭に入ってこない。やっぱり作りながら覚えるのがいいね
0303デフォルトの名無しさん
2009/10/21(水) 08:13:28同じ文字列なのに順番が入れ替わるのは何で?そう言う物なの?
0304デフォルトの名無しさん
2009/10/21(水) 08:27:15コンテナに複数の同じ文字列を入れているのか、違う文字列をそれぞれ入れてsort後に順番が変わってるのか、
話が全然変わってくるじゃないか。
お前、このスレの住民がお前の実装を分かってるエスパーだとでも思っているのか?
0305デフォルトの名無しさん
2009/10/21(水) 08:28:25安定なソートを自作するか, LINQのOrderByを使いましょう
0306デフォルトの名無しさん
2009/10/21(水) 08:31:19サブキーでシリアルナンバーとかを使うとかがよくある回避方法だな。
0307デフォルトの名無しさん
2009/10/21(水) 08:31:20逆に聞きたい。
こんな大雑把な指定しかしてないのに、なんでそんな細かいことが保証されると考えるんだ?
実際に試してみたほうが早いんじゃね。
0308デフォルトの名無しさん
2009/10/21(水) 08:33:02ありがとーやっぱそうか
0309デフォルトの名無しさん
2009/10/21(水) 08:33:50試すより仕様書あたる方をすすめろよ脳筋
0310デフォルトの名無しさん
2009/10/21(水) 11:34:02それはランダムの使い方自体を間違ってる。
0311デフォルトの名無しさん
2009/10/21(水) 11:34:510312デフォルトの名無しさん
2009/10/21(水) 12:02:040313デフォルトの名無しさん
2009/10/21(水) 13:08:22気軽にソース配布できないんだが
0314デフォルトの名無しさん
2009/10/21(水) 13:18:020315デフォルトの名無しさん
2009/10/21(水) 13:18:460316デフォルトの名無しさん
2009/10/21(水) 13:18:58この間違いってなぜかやたら見かける
0317デフォルトの名無しさん
2009/10/21(水) 13:55:28その方がよりばらけた数値が出るような気がするからとかいってたw
サイコロ振るわけじゃないんだから・・・
0318デフォルトの名無しさん
2009/10/21(水) 14:19:18C#で始めるプログラミング---目次 - 1週間で学ぶIT基礎の基礎:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060127/228041/?ST=develop
0319デフォルトの名無しさん
2009/10/21(水) 15:24:102008があるからiso削除してしまった
0320デフォルトの名無しさん
2009/10/21(水) 15:35:240322デフォルトの名無しさん
2009/10/21(水) 17:42:57ttp://msdn.microsoft.com/en-us/library/bb394939.aspx#standardqueryops_topic8
こんな資料しか見つからなかった。開発時点での資料なのは確かだが、現在の位置付けは分からん
ただ、実装自体はこの資料の通りになっているようだ
0323デフォルトの名無しさん
2009/10/21(水) 18:37:410324デフォルトの名無しさん
2009/10/21(水) 18:39:200325デフォルトの名無しさん
2009/10/21(水) 18:43:320326デフォルトの名無しさん
2009/10/21(水) 18:52:290327デフォルトの名無しさん
2009/10/21(水) 19:03:460328デフォルトの名無しさん
2009/10/21(水) 19:23:19感動したけど、今のゲームって個人で作れるレベルじゃないしな
今の人ってプログラミングしてて感動したりするのかな?
0329デフォルトの名無しさん
2009/10/21(水) 19:43:350330デフォルトの名無しさん
2009/10/21(水) 20:00:400331デフォルトの名無しさん
2009/10/21(水) 20:08:550332デフォルトの名無しさん
2009/10/21(水) 20:27:00今更斬新なものってなかなかないような
せいぜい、最新OS対応させるぐらいだろうけど
あの頃はプログラミング楽しかったなー
>>330
後学のためにソース公開してよ。無理なら実行ファイルだけでもいいから
0333デフォルトの名無しさん
2009/10/21(水) 20:27:20{
public partial class Form1 : Form
{
static public Bitmap[] Picmap = new Bitmap[128]; ←ここ
public Form1()
{
InitializeComponent();
}
なんたらかんたら
}
}
この場合どこで Dispose(); するの?
0334デフォルトの名無しさん
2009/10/21(水) 20:32:39判断できないなら放置するしかないが
0335デフォルトの名無しさん
2009/10/21(水) 20:53:360336デフォルトの名無しさん
2009/10/21(水) 20:56:17放置することにします。
0337デフォルトの名無しさん
2009/10/21(水) 20:56:330338デフォルトの名無しさん
2009/10/21(水) 20:57:360339デフォルトの名無しさん
2009/10/21(水) 20:58:410340デフォルトの名無しさん
2009/10/21(水) 21:02:23本の分厚さも2センチいないで持ちやすい!
でも、.Net 2.0とか古そうだしできれば3.5のを読みたい。
何か2センチ以内で.Net3.0~を対象としていて大体のことを網羅している本ってない?
0341デフォルトの名無しさん
2009/10/21(水) 21:07:21というわけで、古いとか心配しなくても大丈夫。まずはその本で基礎を固めるのがいいと思うよ。
0342デフォルトの名無しさん
2009/10/21(水) 21:13:45C,C++,C#,VB,Javaは大方勘でかける!
だがいまだにオブジェクト指向のこと聞かれても答えられない!
意味もわからない!
うふう、うふふふふふふっ
0343デフォルトの名無しさん
2009/10/21(水) 21:29:48次にいつ使うか分からないけど、生成コストが高いので残しときたい。でも、メモリ使用量が多いので開放したい。
こんな時の妥協案に、"弱い参照(System.WeakReference)で保持してGCの対象にする"なんて方法もある。
多用する類の物ではないけど、使いどころによっては効果的。
0344デフォルトの名無しさん
2009/10/21(水) 21:35:05生成したのは配列だけで、Bitmapは生成されてないとか言う落ちだったりして
0345デフォルトの名無しさん
2009/10/21(水) 21:38:390346デフォルトの名無しさん
2009/10/21(水) 21:39:22static Dictionary<WeakReference, Bitmap>みたいにキャッシュのキーとして使ったりすることが多い
0347デフォルトの名無しさん
2009/10/21(水) 21:41:070348デフォルトの名無しさん
2009/10/21(水) 21:45:16早くリソースを回収したいからDisposeを使うだけ
0349デフォルトの名無しさん
2009/10/21(水) 21:51:180350デフォルトの名無しさん
2009/10/21(水) 21:52:22{
}
0352デフォルトの名無しさん
2009/10/21(水) 23:12:01public myclass[] mc = new myclass[10];
これってクラスの配列みたいなんですけどC#でこれが普通なんですか
入門書には出てない書き方なんで・・・・
0353デフォルトの名無しさん
2009/10/21(水) 23:13:22http://www.nicovideo.jp/watch/sm8517855
ほれ、テトリス
0354デフォルトの名無しさん
2009/10/21(水) 23:18:11new myclass[10]のところ?
これは 「myclassのインスタンスを格納する要素数10の空の配列を作る」 という意味
最も基本的な配列の作り方なのでほんとにその本に出てないなら今すぐ焼き捨てるべき
0355デフォルトの名無しさん
2009/10/21(水) 23:18:19入門書にはどう書いてあったの?
0356デフォルトの名無しさん
2009/10/21(水) 23:42:18>>355
ネットみていたら
//myclassクラス宣言
public myclass[] mc = new myclass[10];
って書いてあったんですけど んこれって配列じゃね?
int []a = new int[100];
あった配列だな・・・
class宣言は
myclass mc = new myclass();
丸括弧だよ!!
じゃあなんだ これは、public myclass[] mc = new myclass[10];意味は何となくわかるけど
みたことないぞ
ググって例がみてもあまりないなあ
よし聞いてみよーとという展開です
0357デフォルトの名無しさん
2009/10/21(水) 23:46:360358デフォルトの名無しさん
2009/10/21(水) 23:48:38string[] → stringのインスタンスの配列
myclass[] → ○の△の□
わかるでしょ?これだけのこと
0359デフォルトの名無しさん
2009/10/21(水) 23:50:04過去にタイムスリップして作ったのか?
すごいじゃないな
0360デフォルトの名無しさん
2009/10/21(水) 23:56:46>>358
おっしゃる通りです
mc[1]〜mc[10]のインスタンスができたー
でもやってみないと半信半疑ですね
両名さんありがとうです
0361デフォルトの名無しさん
2009/10/22(木) 00:00:47音切ってたから
イキナリフリーズかと思ってみてた
休みの日見るからとっておいてくださいねって
あんた一時間って天才か
0362デフォルトの名無しさん
2009/10/22(木) 00:10:43lbl.Text = mc[1].myno.ToString();
と思ったら落ちた
明日に続く
0363デフォルトの名無しさん
2009/10/22(木) 00:10:580364デフォルトの名無しさん
2009/10/22(木) 00:23:480365デフォルトの名無しさん
2009/10/22(木) 00:25:02普通はそれはないよw
年齢をいい訳にしてる人は、本当は若いときから単に無能だっただけ。
0366デフォルトの名無しさん
2009/10/22(木) 00:25:07経験もある程度重要な分野だし。
脳の老化は始まってるだろうけど
その歳から影響を受けるのって数学者とか特殊な人たちでしょ
0367363
2009/10/22(木) 00:28:1130なんですが、プログラミングを趣味でやろうと思ってて
今から覚えられるか不安だったけどがんばってみます
0368デフォルトの名無しさん
2009/10/22(木) 00:31:22まあプログラムに定年はないし、やる気と能力さえあればおじいちゃんでも小学生でも出来るからな
0369デフォルトの名無しさん
2009/10/22(木) 00:33:30http://pc11.2ch.net/prog/
0370330
2009/10/22(木) 00:45:25実はその動画に触発されて作ったw
といっても実際に書いたコードはIronPythonで、
C#ですでに構築している自作のゲームエンジン上で動かしている。
(IronPythonでゲームが実装できるような仕組みにしている)
ソースコードは公開できない。スマン。
0371デフォルトの名無しさん
2009/10/22(木) 00:51:54俺、IDEないとバグ出まくる気がする
0372363
2009/10/22(木) 00:58:58MS-DOSのころにQuick CやHigh Cコンパイラとか当時やってた
0373デフォルトの名無しさん
2009/10/22(木) 01:11:331回目より2回目、2回目より3回目、
確実に無駄が減ってくる。
0374デフォルトの名無しさん
2009/10/22(木) 01:31:02またオブジェクト指向はなんたるかを覚え直し
0375デフォルトの名無しさん
2009/10/22(木) 01:35:410376デフォルトの名無しさん
2009/10/22(木) 01:40:31要するに元から知識0
0377デフォルトの名無しさん
2009/10/22(木) 01:40:540378デフォルトの名無しさん
2009/10/22(木) 06:22:310379デフォルトの名無しさん
2009/10/22(木) 07:51:27とりあえず組んでみるだけだとわかった気になっておわること多い。
0380デフォルトの名無しさん
2009/10/22(木) 09:28:33苦労して作ってたから、オブジェクト指向という概念と
それをサポートする言語を知ったとき感動したっていうか
最初からこっちでやればよかったって思ったよ。
0381デフォルトの名無しさん
2009/10/22(木) 09:32:110382デフォルトの名無しさん
2009/10/22(木) 09:55:26これって自分自身のフォームもキャプチャされるけど、
自分自身はキャプチャされない方法ってあるの?
0383デフォルトの名無しさん
2009/10/22(木) 10:01:290384デフォルトの名無しさん
2009/10/22(木) 11:31:340385デフォルトの名無しさん
2009/10/22(木) 11:58:20DateTime birthday;として誕生日を格納して、現在の日付との差分をTimeSpan ts;に代入するところまではできました。
ただtsは時間の差を最大で日付単位でしか得られないので困っています。
単純に ts.Days / 365とするとうるう年などの関係で年齢がずれることがあります。
なにかうまくやる方法はないでしょうか
0386デフォルトの名無しさん
2009/10/22(木) 12:03:25君はググったことがあるかい?
0387デフォルトの名無しさん
2009/10/22(木) 12:43:370388デフォルトの名無しさん
2009/10/22(木) 12:49:110389デフォルトの名無しさん
2009/10/22(木) 12:51:38宿題ご苦労さん
でも自分で調べてみるくらいしような
いつも誰かが教えてくれるわけじゃないぞ
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
ここの一番上でも見てろカス
0390デフォルトの名無しさん
2009/10/22(木) 12:52:31http://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
0391デフォルトの名無しさん
2009/10/22(木) 13:03:52あるファイルがロックされているかどうかを調べる方法が分かりません
ロックされていなければ同名で上書きさせたいのですが
上書き失敗したら無視のループ、書き込めたらbreakで対処しています
上書きを実行する前にロックされているかどうかを調べたいのですが
良い方法はありませんでしょうか?
環境は windows xp、visualstudio10b、言語は.NET c#です
0392デフォルトの名無しさん
2009/10/22(木) 13:09:570393デフォルトの名無しさん
2009/10/22(木) 13:14:59>>388
やっぱそういう方法でチマチマするしかないんですね、どうもです。
VBのDateDiffみたいに汎用の方法があるのかと思ったんですが・・・
0394デフォルトの名無しさん
2009/10/22(木) 13:17:40時刻サイトからまんまパクる
0395デフォルトの名無しさん
2009/10/22(木) 13:27:030396デフォルトの名無しさん
2009/10/22(木) 13:29:560397391
2009/10/22(木) 13:31:51レス有り難うございます、、ただ、try-catchだと、ロックされてない時に上書きが実行されてしまいます
説明不足でした、最低1度ロックされ、そのロックが解除された事を確認した上で
上書き実行したいので、ロックされているかどうかを監視したいのです
監視ループでFile.Openを試みるのも考えたのですが、もっとスマートに
ファイルの状態を返す様な物は無いのかと思い、質問した次第です
0398デフォルトの名無しさん
2009/10/22(木) 13:35:20>上書き実行したいので
確認したときアンロックだったとしても
実行するまでにロックされたらどうすんだろ
0399デフォルトの名無しさん
2009/10/22(木) 13:35:42追記オープンでいいのでは?
0400391
2009/10/22(木) 13:50:43ロックされているかどうかだけを確認して
ロックされていれば、過去にロックされたというフラグを立てます
フラグが立っている状態なら、ロックされてるか確認はせず、上書き実行を試みます
その時に再ロックされていても書き込めないだけで
上書きが成功すればフラグを下ろし、またロックされたかどうかをチェック開始する感じです
この一連の流れで「ロックされているかどうか」をチェックする方法が分からないんですorz
0401デフォルトの名無しさん
2009/10/22(木) 13:52:560402デフォルトの名無しさん
2009/10/22(木) 14:01:09どのプロジェクトでそのクラスを作ったかわからなくなり、また新しく作ったりするんですが
そうならないように汎用的なクラスをまとめておきたいんですけどどうすればいいでしょうか?
0403391
2009/10/22(木) 14:02:21Boolean 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はどうかなぁと思って、もっと単純に出来ない物かと
ファイルの状態を知る方法は無いんでしょうか?
0404デフォルトの名無しさん
2009/10/22(木) 14:04:480405デフォルトの名無しさん
2009/10/22(木) 14:06:49だからなんだよカスw
0406デフォルトの名無しさん
2009/10/22(木) 14:11:200407406
2009/10/22(木) 14:13:13をしたいんです
0408391
2009/10/22(木) 14:14:170409デフォルトの名無しさん
2009/10/22(木) 14:17:13・ロック確認
・別プロセスがロック
・別プロセスがアンロック
・ロック確認
こういった時にロックかかったか検出できなくない
0410デフォルトの名無しさん
2009/10/22(木) 14:17:34なんかもっと良い解決法がありそうな気がするそれ
0411391
2009/10/22(木) 14:28:48定期的に別プロセスで再生されるmp3ファイルが有るのですが
このままでは同じ曲を延々とループしてしまいます。
そこでタイマー1のイベントで10秒毎に、別のmp3を同名で上書きさせています
ただ、常に上書きではどんどん曲が変わってしまうので
タイマー2により最低3分しないとタイマー1が作動しないようにし
3分経ったら、タイマー2を停止させて、タイマー1を作動、10秒毎に上書きに挑戦し
書き込み成功したらタイマー1を停止し、タイマー2を作動させています
その仕組みを「上書きされて3分以上経ち、かつ最低1回再生されたら、別の曲を上書き」
にしたいんです、再生している間はファイルがロックされますので
ロックされたかどうかを検知すればいいかなと
0412391
2009/10/22(木) 14:34:5410秒毎にファイルがロックされているかどうかを検知し
一度ロックがかかったら、それ以降は上書きを試み続け
ロックが解放され次第上書きして、成功したら3分待つ
とすれば3分後でも、一度も再生されていない場合は上書きされないので
やはり、ロックされているかどうかのチェックは必要だと思うんですが
0413デフォルトの名無しさん
2009/10/22(木) 14:44:060414391
2009/10/22(木) 14:50:20そうですね
ただプレイヤーによっては再生中にバッファを作ったりして、ロックしない物もあるので
その場合は3分以上経っていれば直ちに上書きしたいので再生中かどうかと言うより
上書きできる状態かどうか、を検出したいんです
0415デフォルトの名無しさん
2009/10/22(木) 14:51:440416デフォルトの名無しさん
2009/10/22(木) 14:53:48プレイヤーによってループ再生中ずっとロックしっぱなしものもある?
0417デフォルトの名無しさん
2009/10/22(木) 14:54:21これのことか・・・
ttp://msdn.microsoft.com/ja-jp/magazine/cc163450.aspx
0418デフォルトの名無しさん
2009/10/22(木) 14:57:160419デフォルトの名無しさん
2009/10/22(木) 15:00:02違うんじゃないか?
0420391
2009/10/22(木) 15:02:38他の人が作ったプレイヤーを改造するほど技術がありません^^;
>416
ロックしっぱなしは有りますが、その場合同じ曲が何度も再生されるのは仕方ないと思ってます
「定期的に再生される」と書きましたが「再生されない時間」も有るため
そのタイミングで曲の変更を行っています
>417
そんなに難しい事じゃないです^^;;;
ロックしているプロセスが何であれ構いません、秀丸で排他制御させてmp3を開いてても同じです
単純にファイルがロックされているかどうかを知りたいだけなんですが・・・
0421デフォルトの名無しさん
2009/10/22(木) 15:04:470422デフォルトの名無しさん
2009/10/22(木) 15:08:450423デフォルトの名無しさん
2009/10/22(木) 15:15:000424391
2009/10/22(木) 15:33:49ファイルのロック状態を取得する方法があればと思って聞いたんですが
やっぱり、>403で書いた様な方法しか無いと言うことですね
みなさん有り難うございました><
0425デフォルトの名無しさん
2009/10/22(木) 15:42:57その手続きが面倒でも、クラスにしてしまえば利用する分には楽じゃん?
0426デフォルトの名無しさん
2009/10/22(木) 20:52:26クラスライブラリを作る
そこまでするほどでもないようなくだらないものは共有しないでコピーした方がいい
0427デフォルトの名無しさん
2009/10/22(木) 21:04:030428デフォルトの名無しさん
2009/10/22(木) 21:24:190429402
2009/10/22(木) 21:25:18忘れ去られてるかと思いました。ありがとうございます。
そのやり方だとやっぱりどこに何があるか忘れてしまうし
DLLにするほどでもないし
ファイルをどこかのフォルダにまとめてコピーして使うという感じがいいのかな?
みなさんはどうしてるのか気になります
0430デフォルトの名無しさん
2009/10/22(木) 21:28:18>そのやり方だとやっぱりどこに何があるか忘れてしまうし
もうどういうやり方にしてもダメだろそれ・・・
0431デフォルトの名無しさん
2009/10/22(木) 21:29:070432デフォルトの名無しさん
2009/10/22(木) 21:35:010433デフォルトの名無しさん
2009/10/22(木) 21:53:13ファイルをフォルダに纏めといて・・・ってやり方してる人もいた。
0434デフォルトの名無しさん
2009/10/23(金) 02:42:31この前なんてウィンドウのアイコンをとってリストでイメージ返すだけのDLLなんてのも作ってた。
プログラム的にはよろしくないってのも承知の上で
0435デフォルトの名無しさん
2009/10/23(金) 08:44:120436デフォルトの名無しさん
2009/10/23(金) 09:14:06管理はVSS使ってる
ひとまずDLLにするのは本当にデバッグが終わってもう修正の必要がない時だけにしてる
(配布しなければいけない時もあるのでバグ覚悟で配布するときもあるけど)
DLLにしちゃうと使いまわしてバグが出た時にめんどくさいんだよ・・・
0437デフォルトの名無しさん
2009/10/23(金) 10:10:20やはり基本どおり、ある程度再利用可能な形に使いやすくまとめた形でエクスポートすべきだと思う。
(エクスポートという用語自体が古臭い用語だというのはさておいてだ)
0438デフォルトの名無しさん
2009/10/23(金) 11:23:29EnsureVisibleしか無いの?
0439デフォルトの名無しさん
2009/10/23(金) 11:56:260440デフォルトの名無しさん
2009/10/23(金) 12:36:04InvokeMember("click");などして更新した際の読み込み完了は、
どう取得すればよいでしょうか?
Whileで完了待ち以外でお願い致します。
0441デフォルトの名無しさん
2009/10/23(金) 12:45:49ありがとー やっぱこの当たりしか無いのか・・・結構不便だな・・・
システム全体のマウススクロール量が3行だけど自アプリ内だけスクロール量を1行にしたくてアレコレ調べていたんだけど
VC++MFCならCListCtrl::Scroll()で簡単にできるんだけど.NETのListViewだと簡単な方法が見つからない・・・
結局WM_MOUSEWHEELをハンドリング→スクロール位置を特定するために→TopItem取得→
→ListViewの各行の高さを取得してリストの表示可能行数を計算→EnsureVisibleで無理矢理スクロール
もしくはMFCのListCtrlをCOMコンポーネントにして貼り付けるやり方しかないのかな・・・面倒臭すぎるわ・・・
0442デフォルトの名無しさん
2009/10/23(金) 12:52:05これだけなら別に大した計算もEnsureVisibleも必要なくTopItemだけで十分だと思うけど
0443デフォルトの名無しさん
2009/10/23(金) 12:54:19どうやってやるの?
自分も最初はそう思っていたけどイザやってみると簡単にはできなかったよ
0444デフォルトの名無しさん
2009/10/23(金) 12:57:02あ、ごめん簡単に出来るわ
TopItemって取得だけじゃなくて設定も出来るのかすまん
0445デフォルトの名無しさん
2009/10/23(金) 13:03:08MouseWheelイベントの引数MouseEventArgsはHandledMouseEventArgsにキャストできて、
このHandledをtrueに設定すればデフォルトの動作を無効化できる
0446デフォルトの名無しさん
2009/10/23(金) 13:07:15ありがとう へーこんなんもあるんだね
ずっとVC++やっていて最近C#始めたからこの当たりの勝手がよく分からなかったんで勉強になったわー
0447デフォルトの名無しさん
2009/10/23(金) 17:26:23ファイルの起動を監視して起動したファイルのデータ(名前やパスなど)を取得する方法がわかりません
よろしくお願い致します
0448デフォルトの名無しさん
2009/10/23(金) 18:07:490449デフォルトの名無しさん
2009/10/23(金) 19:26:25忘れたけど
0450デフォルトの名無しさん
2009/10/23(金) 20:32:26リンクしている使い回しロジックではバグらないとでもいうのか・・・
分離しとけばアセンブリをコピーすれば済むのに、リンクしなきゃならんだろが。
0451デフォルトの名無しさん
2009/10/23(金) 20:50:53どこにどのソースあるか忘れるから資産が増えないんだけど
0452デフォルトの名無しさん
2009/10/23(金) 20:52:55バイナリで書き込むにはどうするんだっけ?って毎回ヘルプみて
JISで読み書きするにはどうするだっけ?とか
てか、一行でファイル書き込みできるようにしてくれよな
0453デフォルトの名無しさん
2009/10/23(金) 20:53:070454デフォルトの名無しさん
2009/10/23(金) 20:55:29これで充分
0455デフォルトの名無しさん
2009/10/23(金) 20:56:250456デフォルトの名無しさん
2009/10/23(金) 21:12:44System.IO.Fileに結構その手のメソッドが用意されてるけどな
0457デフォルトの名無しさん
2009/10/23(金) 21:16:10このサイトがあれば何もいらない
0458デフォルトの名無しさん
2009/10/23(金) 21:33:45何度もStreamWriterを呼び出してインスタンス作らせるって無駄があるから
List<string>を引数として書き込めるメソッドを作るわけよ
そういう入出力クラスを毎回書くのが面倒
0459デフォルトの名無しさん
2009/10/23(金) 21:37:38この人は今さら何を言ってるの?
0460デフォルトの名無しさん
2009/10/23(金) 22:59:26>>456 じゃないけどだからそれなら File.WriteAllLines が
あるだろ
それか、string が各々行じゃないなら String.Concat ->
WriteAllText か
一行だろこれ。
0461デフォルトの名無しさん
2009/10/23(金) 23:02:43それ2008からあるの?
知らなかったわw
0462デフォルトの名無しさん
2009/10/23(金) 23:06:500463デフォルトの名無しさん
2009/10/23(金) 23:12:580464デフォルトの名無しさん
2009/10/23(金) 23:14:37やっぱ参考書は旬のモノを買わないとだめだなw
0465デフォルトの名無しさん
2009/10/23(金) 23:16:500466デフォルトの名無しさん
2009/10/23(金) 23:19:07それ Generics すらないんじゃないか?
はっきりいってその古さだとたぶんゴミ知識だぞ現状。
ごくごく基本的なことは別として。
0467デフォルトの名無しさん
2009/10/23(金) 23:35:29たまたまここで知ったから使ってたけど
C#300の技って奴だけど、その知識が焼きついててそればかり使ってたな
というか、ライブラリ多すぎだよ
0468デフォルトの名無しさん
2009/10/23(金) 23:39:290469デフォルトの名無しさん
2009/10/23(金) 23:41:26別にライブラリやイディオムを全部覚える必要は無いんだよ。
必要に応じて使い方が分かればそれで済むこと。
――まあ、だからJavaやC#はネットでググってサンプルコードを
コピペするだけの作業、なんて揶揄されたりするんだがな。
オレは別にそれが悪いとは思わない。それで最短の時間で開発が進められるなら。
0470デフォルトの名無しさん
2009/10/23(金) 23:48:08サイトもFile.WriteAllLines使ってなくて、2003の頃のサンプルだし
まあそりゃ10年近く経ったら言語も進化するよね
というか、新しいクラスってどうやって見つけてるの?
0471デフォルトの名無しさん
2009/10/24(土) 00:11:11使えるようにする裏技とか無いの?
0472デフォルトの名無しさん
2009/10/24(土) 00:12:520473デフォルトの名無しさん
2009/10/24(土) 00:15:02もちろんWPFデザイナなどが使えるわけではないけど
0474デフォルトの名無しさん
2009/10/24(土) 00:15:540475デフォルトの名無しさん
2009/10/24(土) 00:19:30今もダウンロードできるかどうかは知らないけど。
0476デフォルトの名無しさん
2009/10/24(土) 00:21:040477デフォルトの名無しさん
2009/10/24(土) 00:21:55あんなゴミ使うくらいなら2008Expressを使った方が遥かにいい
0478デフォルトの名無しさん
2009/10/24(土) 00:34:060479デフォルトの名無しさん
2009/10/24(土) 00:38:13待ち遠しいお
0480デフォルトの名無しさん
2009/10/24(土) 00:38:270481デフォルトの名無しさん
2009/10/24(土) 00:42:550482デフォルトの名無しさん
2009/10/24(土) 00:54:14フリーソフト作家として問題なくやってけるだろうか
0483デフォルトの名無しさん
2009/10/24(土) 01:02:25知っているのは
開発環境用のプラグイン、MFC、ATLが使用不可。64bit版非対応、モバイル開発不可くらい。あと何か致命的に困ることって何かある?
0484デフォルトの名無しさん
2009/10/24(土) 01:03:000485デフォルトの名無しさん
2009/10/24(土) 01:14:05- アイコンライブラリが付属しない。
でもメニューやツールバーの標準アイテムにアイコンが入ってるのは謎。
あれライセンス的にどうなってるのか
0486デフォルトの名無しさん
2009/10/24(土) 01:22:070487デフォルトの名無しさん
2009/10/24(土) 01:35:130488デフォルトの名無しさん
2009/10/24(土) 01:38:59SP3 はあるのか?
0489デフォルトの名無しさん
2009/10/24(土) 02:03:150490デフォルトの名無しさん
2009/10/24(土) 02:08:020491デフォルトの名無しさん
2009/10/24(土) 05:21:49ここはC#のスレだからMFC/ATL関係ないし64bit版も問題ない
0492デフォルトの名無しさん
2009/10/24(土) 07:11:08HPを紹介してくれた
親切な人です
DB関係でいいHPありませんか
0493デフォルトの名無しさん
2009/10/24(土) 08:33:33個人でやる場合はSVNとか使うから別にいいけど。
0494デフォルトの名無しさん
2009/10/24(土) 08:57:260495デフォルトの名無しさん
2009/10/24(土) 09:21:23じゃあMSは何を使ってソース管理してるんだ?
0496デフォルトの名無しさん
2009/10/24(土) 09:24:050497デフォルトの名無しさん
2009/10/24(土) 09:34:020498デフォルトの名無しさん
2009/10/24(土) 09:35:15せっかく.NETで作ったのにxmlファイルが読めないらしいです…
0499デフォルトの名無しさん
2009/10/24(土) 09:35:17[質問] では、Visual SourceSafe などは使っていないのか?
Visual SourceSafe は使わない。あれはビギナー (初心者) 向けのソフトだ。
http://d.hatena.ne.jp/softether/20060202#p2
0500デフォルトの名無しさん
2009/10/24(土) 10:26:41意味不明
0501デフォルトの名無しさん
2009/10/24(土) 12:23:31XmlSerializerでオブジェクトをxmlファイルに保存したものが
Windows7だと読み込めないみたいなんですよねえ
0502デフォルトの名無しさん
2009/10/24(土) 12:27:54らしいとか、みたいとか、なんだ。
そんないいかげんな言葉じゃなくて実際に試してくれ。
実際に試せば原因だって分かるだろ。
例えばmsxmlは複数のバージョンがあるから、.NETが古いバージョンのものを参照していれば読めなくなることだってあるだろうさ。
0503デフォルトの名無しさん
2009/10/24(土) 12:36:41おまえのそのOS、5元の奴じゃね?
普通にシリアライズしたもの読み書き出来るんですけど
64bitでも
0504デフォルトの名無しさん
2009/10/24(土) 12:41:270505デフォルトの名無しさん
2009/10/24(土) 12:43:300506デフォルトの名無しさん
2009/10/24(土) 12:53:280507デフォルトの名無しさん
2009/10/24(土) 12:56:040508デフォルトの名無しさん
2009/10/24(土) 13:00:31バージョンアップ案件で金が取れる!
0509デフォルトの名無しさん
2009/10/24(土) 13:14:210510デフォルトの名無しさん
2009/10/24(土) 13:19:280511デフォルトの名無しさん
2009/10/24(土) 13:22:300512デフォルトの名無しさん
2009/10/24(土) 13:32:220513デフォルトの名無しさん
2009/10/24(土) 13:37:22スクリプトフリー表示さいこうじゃまいか
0514デフォルトの名無しさん
2009/10/24(土) 13:53:090515デフォルトの名無しさん
2009/10/24(土) 16:06:47プラグインなどはどうやってエミュレータ内に発行すればいいんでしょうか?
エミュレータの中のディレクトリやファイルって本体のイメージファイルの中にあるみたいで
テストのたびに共有フォルダからエミュレータ内のファイルエクスプローラーでコピーすればできるんですが・・・
VSの機能ではやれないでしょうか?
0516デフォルトの名無しさん
2009/10/24(土) 16:38:48何がしたいんだよw
0517デフォルトの名無しさん
2009/10/24(土) 17:00:467環境が無いからユーザーの意見を聞いただけ。
試してくれって言ったって環境が無いんだからしょうがないじゃん。
環境が無い事を責めないで…。
.NETは一応2.0でビルドしてるんだけど、XmlSerializerメソッド使ってるんだけど古いからだめとかあるのかな。
ていうかせっかく.NETなのにそんなんじゃだめじゃんねー。
0518デフォルトの名無しさん
2009/10/24(土) 17:10:29まあ別に>>502が責めてるようにも客観的には思えないけどね。
ちなみに、Windows7はMSが評価用のを提供してるから、
君にその気さえあれば試すことはできる。
VMwareとかVirtualPC使えばPCやHDDを新調する必要もないしね。
(もっともPen4マシンとかだと正直重くて辛いけど)
0519デフォルトの名無しさん
2009/10/24(土) 17:16:40.NET1.1の扱いはVistaと同じではないかと。
インストールは問題なくできる。
64bit版は提供されてない。64bitOSでは32bitモードでのみ動作。
ただし、VS2003は未サポートなのでVSでの開発は別の環境が必要。
0520デフォルトの名無しさん
2009/10/24(土) 19:57:370521デフォルトの名無しさん
2009/10/24(土) 20:08:260522デフォルトの名無しさん
2009/10/24(土) 20:08:56そりゃあ、
if (b1) {
.....
} else if (b2) {
.....
} else if (b3) {
.....
}
っていう書き方は
if (b1) {
.....
} else {
if (b2) {
.....
} else {
if (b3) {
.....
}
}
}
の{}ブロックを省略してるだけだから、いくらでも。
0523デフォルトの名無しさん
2009/10/24(土) 20:11:070524デフォルトの名無しさん
2009/10/24(土) 20:32:37fatal error CS1647: ''
の付近でコンパイルするには、式が長すぎるか、または複雑すぎます。
0525デフォルトの名無しさん
2009/10/24(土) 20:35:070526デフォルトの名無しさん
2009/10/24(土) 20:37:230527デフォルトの名無しさん
2009/10/24(土) 20:40:200528デフォルトの名無しさん
2009/10/24(土) 20:46:53実装されている機能は
自分でメソッドやフィールドを作成
自分でファイル入出力
自分を継承した子供を生み繁殖
これで人としての機能はほとんど与えたはずなんだが
「こんにちは」と言っても反応してくれない
ずっとセックスと繁殖ばかり繰り返してる
困ったものだ
0529デフォルトの名無しさん
2009/10/24(土) 20:54:05興味あるからソース公開しろ。
0530デフォルトの名無しさん
2009/10/24(土) 21:00:58あるノードがすでに展開されているかどうかを調べ、まだ展開されていなければ展開して選択し、既に展開されていたら選択だけをするようにできたらと思っていますが、どうすれば既に展開されているかを調べることができるでしょうか?
0531デフォルトの名無しさん
2009/10/24(土) 21:03:36見てないなら見てみろ
0532デフォルトの名無しさん
2009/10/24(土) 22:03:10すみません。プロパティを見ました。ありがとうございます。
選択されていてかつ、画面に表示されているかどうかを把握することはできますでしょうか。
もし、展開はされていますがノード数が多くて画面の外に隠れている場合(スクロールバーを異動させてはじめて見える場合)、
TreeViewの先頭に持っていきたいと思っていますが、それは可能でしょうか?
0533デフォルトの名無しさん
2009/10/24(土) 22:06:01ですが、失礼な文章になってしまっていました。すみません。
ご回答、よろしくお願い申し上げます。
0534デフォルトの名無しさん
2009/10/24(土) 22:07:43TreeViewとTreeNodeのプロパティを見ろ
0535デフォルトの名無しさん
2009/10/24(土) 22:08:28ノードは開始位置のx、yの座標を持っているんじゃなかったかな。
ただし隠れていたらその座標がどうなっているか分からない…。
また、あるノードをTreeViewの先頭に持っていく方法はあるのかな。
一度全部畳んでエクスパンドするしかない…?
0536デフォルトの名無しさん
2009/10/24(土) 22:09:420537デフォルトの名無しさん
2009/10/24(土) 22:10:580538デフォルトの名無しさん
2009/10/24(土) 22:21:130539デフォルトの名無しさん
2009/10/24(土) 22:26:500540デフォルトの名無しさん
2009/10/24(土) 22:58:560541デフォルトの名無しさん
2009/10/24(土) 23:23:580542デフォルトの名無しさん
2009/10/24(土) 23:24:50オーバーライド
0543デフォルトの名無しさん
2009/10/24(土) 23:28:44静的コンストラクタ
0544デフォルトの名無しさん
2009/10/24(土) 23:31:00探し求めていたのはまさにこれでした!ありがとう!
0545デフォルトの名無しさん
2009/10/24(土) 23:31:09静的クラスの意味を考えてみろ。オーバーラードじゃだめだろ。JK
初期化を行う静的メソッドを用意して呼んであげたらどう?
思いっきりC言語っぽくなるが、それもまたアリの方向で。
0546デフォルトの名無しさん
2009/10/24(土) 23:33:360547デフォルトの名無しさん
2009/10/24(土) 23:34:090548デフォルトの名無しさん
2009/10/24(土) 23:35:03テキストボックスのテキストチェンジドイベントを使用したのだけど、
例えば「アキヤマ」と検索ボックスに入力してEnter確定したとき、
「アキヤマ」でテキストチェンジドイベントが起きるだけではなく、
「アキヤ」
「アキ」
「ア」
の4回テキストテェンジドイベントが発生しているようなんだ。
この事態を回避するには、どんな手段がありますか?
0549デフォルトの名無しさん
2009/10/24(土) 23:39:03Enterを押した時だけイベント起せばいいんじゃないのか?
0550デフォルトの名無しさん
2009/10/24(土) 23:41:310551デフォルトの名無しさん
2009/10/24(土) 23:55:000552デフォルトの名無しさん
2009/10/24(土) 23:58:070553デフォルトの名無しさん
2009/10/25(日) 00:08:380554デフォルトの名無しさん
2009/10/25(日) 00:15:03回避するんじゃなく補完機能を付ける方に変えれば?
0555デフォルトの名無しさん
2009/10/25(日) 00:48:06自分で決められたbitを指定しないとエラーとなってしまう。
ここで、ある量のbitを吐くメソッドを適当に作ってキーを生成しているんだけど、もっと効率のいい方法ないかな?
本当は効率とかどうでもよくって、ある共通キーを作成するためのライブラリが.Netにあればなと思ってるんだけど、
そんなおしいものってある?
0556デフォルトの名無しさん
2009/10/25(日) 01:06:510557デフォルトの名無しさん
2009/10/25(日) 01:08:45マスターシークレットの生成は暗号の強度を決定する極めて重要な事項ですよ
>>555の鍵は速攻で破られるので絶対に駄目です
堅牢な乱数が欲しいならハードウェアの乱数器を導入すべき
安全性が低下しても良くてお手軽にやりたいならSystem.Security.Cryptography.RNGCryptoServiceProvider.GetBytes()を使う
0558デフォルトの名無しさん
2009/10/25(日) 01:17:32やりたいことはネットワークを使う認証ではなく、単にデータのやり取りを行うとき、「このデータはここから発行したんだよー」
という文字データを暗号化して偽装されないためにするためです。
あのでアプリケーション内や、リアルタイムで認証などではなく、ある決められた文字で暗号複合したいなぁと考えています。
とりあえずちゃんと調べてきます。
ごめんなさい・・・
0559デフォルトの名無しさん
2009/10/25(日) 01:24:44IME変換を確定する時のEnterって検出できるの?
0560デフォルトの名無しさん
2009/10/25(日) 01:32:12しょーがねーなまったく
private void comboBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar == '\r')
{
}
}
0561デフォルトの名無しさん
2009/10/25(日) 03:06:48検索したところ、まずbyteに変換してShift-jisに戻すと書いてあったのですが文字化けしてしまいます
0562デフォルトの名無しさん
2009/10/25(日) 03:17:04Encoding(952)
0563デフォルトの名無しさん
2009/10/25(日) 03:53:260564デフォルトの名無しさん
2009/10/25(日) 04:00:50というか、初期値が入っている。
オブジェクト型ならnullもしくはデフォルトコンストラクタの結果だし、
整数値なら0だし、bool型ならfalseだ。
それ以外の値を臨むなら変更してやる必要がある。
0565563
2009/10/25(日) 04:16:53なるほど
うまく言えないんですが
オブジェクト型の場合、nullのままだとそのオブジェクトのプロパティなどは使えないんでしょうか?
つまり戻り値が常にnullだったりするのかな?
0566デフォルトの名無しさん
2009/10/25(日) 05:02:250567デフォルトの名無しさん
2009/10/25(日) 05:56:39それも試したのですが、変な漢字(中国語?)が混ざってしまい正常なファイル名を出力できません
もしかして一回文字化けした文字は直らないのでしょうか?
0568デフォルトの名無しさん
2009/10/25(日) 07:37:05System.NullReferenceException
0569デフォルトの名無しさん
2009/10/25(日) 07:44:59どこに原因があるか掴みづらいので
URLがどこから来たのかも含めて流れ図にしてくんない
0570デフォルトの名無しさん
2009/10/25(日) 09:05:500571デフォルトの名無しさん
2009/10/25(日) 09:07:540572デフォルトの名無しさん
2009/10/25(日) 09:36:48配列使うのが最善ですかね?
0573デフォルトの名無しさん
2009/10/25(日) 09:37:330574デフォルトの名無しさん
2009/10/25(日) 09:59:5220mとか30mとかになってしまいます
WMPのような再生するソフトでも、実際に見てみると7m程度しか使ってないのに
同じようなソフトでもこんなに変わるものなのですか?
0575デフォルトの名無しさん
2009/10/25(日) 10:10:270576デフォルトの名無しさん
2009/10/25(日) 10:20:06ですから、その理由が知りたいのです。
どんな技術が使われているのでしょう?
0577デフォルトの名無しさん
2009/10/25(日) 10:25:060578デフォルトの名無しさん
2009/10/25(日) 10:30:19というノードがすでに追加されているとします。
今、ノードが全て折り畳まれている状態で、
上記のパスを直接指定してノードをエクスパンドする方法はありますでしょうか?
今は、ノード名を1つ1つ検索した上で展開しているのですが、
パスがすでに分かっている場合は、ダイレクトに展開できたらと思っています。
よろしくお願いします。
0579デフォルトの名無しさん
2009/10/25(日) 10:34:370580デフォルトの名無しさん
2009/10/25(日) 10:41:100581デフォルトの名無しさん
2009/10/25(日) 10:43:090582デフォルトの名無しさん
2009/10/25(日) 10:45:02なるほど…ありがとうございます。
同じパスが併存する可能性もありますものね。
0583デフォルトの名無しさん
2009/10/25(日) 10:52:43プロジェクト同士が相互に参照するような設定はできないと思うんですが
その場合は参照が必要なプロジェクトに小分けして相互参照を回避するのが常道でしょうか?
0584デフォルトの名無しさん
2009/10/25(日) 10:56:53WindowsMediaPlayer COMコンポーネントを介して動画を再生したら、本物のWMPで同じ動画を再生するよりメモリ使用量は少なかったよ。
たぶん無駄なデータを保持しているとかそんな落ちでしょ
0585デフォルトの名無しさん
2009/10/25(日) 11:00:350586デフォルトの名無しさん
2009/10/25(日) 11:01:03起動ごとにそのファイルを取得、
,ごとにリストボックスに表示させることは出来ますか
0587デフォルトの名無しさん
2009/10/25(日) 11:02:21「ネットワーク繋がってないです」みたいなオチが無ければ
0588デフォルトの名無しさん
2009/10/25(日) 11:04:04932だろ、このあわてんぼうw
0589デフォルトの名無しさん
2009/10/25(日) 11:04:54それをどうやって,で分けて持つかが分からないです
参考になるサイトとか無いですか?
0590デフォルトの名無しさん
2009/10/25(日) 11:05:15いや相互に参照出来るけど
0591デフォルトの名無しさん
2009/10/25(日) 11:07:13ええw
参照設定で追加できませんってエラーが出るのはどういう場合でしょうか?
お願いします!お願いします!
0592デフォルトの名無しさん
2009/10/25(日) 11:08:08Stringクラスのstaticメソッドを探してみろ
0593デフォルトの名無しさん
2009/10/25(日) 11:10:20Googleに「C# 文字列 分割」って入力するといっぱい出てくるよ
目の前の箱は万能な箱
0594デフォルトの名無しさん
2009/10/25(日) 11:10:520595デフォルトの名無しさん
2009/10/25(日) 11:13:10いやどうやっても上手くいくんだが
むしろそのエラーの出し方が分からんw
0596デフォルトの名無しさん
2009/10/25(日) 11:15:03A店
Bさん
Cさん
…
Zさん
というノードが作成されているとして、
Zさんのノードを検索した時、ZさんのノードがTreeViewの下端に表示されてしまいます。
これは、Aさん〜Yさんの兄弟ノードが25行あるために、下端までおいやられているからだと思いますが、
Zさんのノードを一番に上に表示させるには、
プロパティに座標などを指定する必要があるのでしょうか。
または別の方法があるのでしょうか。
A〜Zさんには子ノードはありません。
よろしくお願いします(>_<)。
0597デフォルトの名無しさん
2009/10/25(日) 11:19:12循環参照はできないので、ツリー構造を取るのが基本。
0598デフォルトの名無しさん
2009/10/25(日) 11:22:27>>583 じゃないけど、出来ないよ?
プロジェクト間の循環参照のことでしょ。
こういうメッセージが出る。
「'A'への参照を追加できませんでした。このプロジェクトを参照として追加すると循環する参照関係を生じます。」
というわけで、>>583 は自分の言うとおり、中身の整理をした方がいい。
0599デフォルトの名無しさん
2009/10/25(日) 11:23:02そりゃ出来ないわ
0600デフォルトの名無しさん
2009/10/25(日) 11:31:54兄弟ノード間の順番を変えたいの?
0601デフォルトの名無しさん
2009/10/25(日) 11:33:27これ関係無いの?
0602583
2009/10/25(日) 11:37:45すぐとりかかります
0603デフォルトの名無しさん
2009/10/25(日) 11:47:14長いテキストはテキストファイルに保存してリソースにしたほうがいいと思う
0604デフォルトの名無しさん
2009/10/25(日) 11:49:310605デフォルトの名無しさん
2009/10/25(日) 12:01:33お返事ありがとうございます。
順番は変えずに、Zさんのノードを先頭位置に表示させたいんです。
(検索でヒットしたノードを常にTreeviewコントロールの先頭行に表示させたいと思っています。)
どうすればいいでしょうか…。
0606デフォルトの名無しさん
2009/10/25(日) 12:07:540607デフォルトの名無しさん
2009/10/25(日) 12:26:29ありがとうございます。
その下にB店、C店が続きます。
EnsureVisibleで表示する以外に、もっと細かく表示位置を指定できたらと思っています。
0608デフォルトの名無しさん
2009/10/25(日) 12:37:27まあ、例えば店の名前の前に整数値でIDを振ってみるとか。
でも、ツリービューは最善のUIじゃないかもしれないよ。
リストボックス+ボタン×3、せいぜい検索用のコンボボックスをつける程度の
UIのほうが一般的じゃないかな。
0609デフォルトの名無しさん
2009/10/25(日) 12:37:470610デフォルトの名無しさん
2009/10/25(日) 12:55:240611デフォルトの名無しさん
2009/10/25(日) 12:59:160612デフォルトの名無しさん
2009/10/25(日) 13:07:18冷たいこと言わないで。
0613583
2009/10/25(日) 13:30:55プロジェクトをいじってるうちに
定義済みの型 'System.Object' は定義、またはインポートされていません
こんなエラーが出るようになってしまいました
参照設定もusingもsystemを入れてありますし、エラーにコードの場所が示されません
これはどうしたらいいでしょうか?
0614デフォルトの名無しさん
2009/10/25(日) 13:36:38プロジェクトのプロパティのビルドの詳細設定に、「mscorlib.dll を参照しない」
とうのがあるだろう、チェック入ってたらはずせ。
0615デフォルトの名無しさん
2009/10/25(日) 13:36:480616デフォルトの名無しさん
2009/10/25(日) 14:00:15private string[] aaa()
{
return
}
0617デフォルトの名無しさん
2009/10/25(日) 14:02:230619デフォルトの名無しさん
2009/10/25(日) 14:33:521.LinQとは何か?一行で答えよ
2.WPFとは何か?1行で答えよ
0620デフォルトの名無しさん
2009/10/25(日) 14:35:160621デフォルトの名無しさん
2009/10/25(日) 14:35:48死ねハゲ
0622デフォルトの名無しさん
2009/10/25(日) 14:56:160623デフォルトの名無しさん
2009/10/25(日) 15:15:163.5になってから下記エラーでて設定ファイルを読み込むことも書き込むことも出来なくなってた。
hoge.configを別の名前にするとちゃんと読み書きできる。
なじぇ?
[System.Configuration.ConfigurationErrorsException] = {"構成システムを初期化できませんでした。"}
InnerException = {"構成ファイル hoge.config には、ルート <configuration> タグが含まれません。
(D:\\Visual Studio\\Projects\\hoge\\bin\\Debug\\hoge.config line 2)"}
0624デフォルトの名無しさん
2009/10/25(日) 15:40:31はじめから使い方が間違っている。
0625デフォルトの名無しさん
2009/10/25(日) 17:42:18すいません、hoge.configであってhoge.exe.configとは書いてないのですが
0626デフォルトの名無しさん
2009/10/25(日) 17:45:100627デフォルトの名無しさん
2009/10/25(日) 17:55:320628デフォルトの名無しさん
2009/10/25(日) 17:58:35インストール後に設定を切り替えるようなことをするのは、
ユーザー構成ファイルを使えばいい。
0629デフォルトの名無しさん
2009/10/25(日) 17:59:20そのつもりがなくても、VSがhoge.exe.configと同じ扱いをしてるから
そういうエラーが出てるってことなんじゃないの。
0630デフォルトの名無しさん
2009/10/25(日) 19:04:06ありがとうございました。
0631デフォルトの名無しさん
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バイト文字しか扱いたくありません。
こんな場合だと、皆さんはどうコーディングするのでしょう?
0632デフォルトの名無しさん
2009/10/25(日) 20:14:530633デフォルトの名無しさん
2009/10/25(日) 20:24:34サーバって書いてあるからURLかと思ったら、ただのファイル名なのか。
配列Aをただのstring配列じゃなくて、クラスなり構造体の配列にするとか
サーバ名が一意な設計ならDictionary使ってもいいし
0634デフォルトの名無しさん
2009/10/25(日) 20:26:340635デフォルトの名無しさん
2009/10/25(日) 20:34:17サーバ名とサーバのファイル名との関連はどう付けてるの?
プログラム側で決めてしまって良いなら、サーバ名とファイル名(パス)の
対応表をプログラム内か、設定ファイルにでも作っといてそれと照合するようにするけど。
ファイルならこんな感じ?
0,aサーバ,aServer.txt
1,bサーバ,bServer.txt
可能なら、「サーバ一覧を格納したファイル」の書式の変更をお願いして
上のような情報もそのファイルに持たせちゃうかな。
0636デフォルトの名無しさん
2009/10/25(日) 20:40:38そのように関連付けしたかったのですが、
配列変換の方法が,で区切って取得するという方法なので、
「サーバ一覧を格納したファイル」から関連付けするのが出来ません。
やはり、この取得方法を変えないと駄目ですかね。。
0637デフォルトの名無しさん
2009/10/25(日) 20:45:31A\tB,C\tD,E\tF
0638デフォルトの名無しさん
2009/10/25(日) 21:03:42最近のプログラマは
0639デフォルトの名無しさん
2009/10/25(日) 21:06:060640デフォルトの名無しさん
2009/10/25(日) 21:12:450641デフォルトの名無しさん
2009/10/25(日) 21:16:320642デフォルトの名無しさん
2009/10/25(日) 21:19:270643小学生
2009/10/25(日) 21:19:450644デフォルトの名無しさん
2009/10/25(日) 21:30:330645デフォルトの名無しさん
2009/10/25(日) 21:30:40たとえば1から10までの整数から(重複ありで)3つ取り出して四則演算を2回だけ使って合計が10になるものをすべてだそうとします。
このとき、論理的に出そうとするならば、演算は(+,+)、(+,-)、(+,*)…などと考えて、数字も(+,+)の場合の数字は(1,1,1)から順次調べていく方法しかないんですかね?
それともこれとは別の直感的なひらめきで計算量をぐんと減らす手段とかも思いつけるものですか?
0646デフォルトの名無しさん
2009/10/25(日) 21:31:070647デフォルトの名無しさん
2009/10/25(日) 21:37:251〜10で、四則演算二回だとすると、終わりの一回はかなり限定的になるだろ?
たとえば、+ の場合。x + {1...10} = 10 でいえば、10種類な訳。
そう考えると、一回目の演算で {0...9} になるのを探せばいいってことになる。
そう考えると、だいぶ楽じゃね?
0648デフォルトの名無しさん
2009/10/25(日) 21:44:09詳しく
0649デフォルトの名無しさん
2009/10/25(日) 21:44:14どこにエラーがあるのかさっぱりわからないorz
シリアル化っていくら読んでもよく理解できないんですが、
保存なんかするつもりもないし、そんなコード書いた覚えもないのに・・
もしかしてVSが勝手に何かをやってるんですか?・・・
0650デフォルトの名無しさん
2009/10/25(日) 21:44:22なるほど、そうすれば確かに入らない場合を除いて計算するのでだいぶ計算量は減りますね。
というと、端的に言えばアルゴリズムの改善というのは必要ない部分を削っていって組むプログラミングのことと考えていいのですか?
0651デフォルトの名無しさん
2009/10/25(日) 21:46:20結果とある整数と演算子1個で整数10が得られるようなある整数が範囲内に存在するか、とやればループが3→2に減る
整数存在判定めどいけど
0652デフォルトの名無しさん
2009/10/25(日) 21:48:22基本は詰め詰めだろう
0653デフォルトの名無しさん
2009/10/25(日) 21:54:390654デフォルトの名無しさん
2009/10/25(日) 21:56:31でもそれだと、たとえば10÷3は整数でないですが10÷3×3が10になるっていうことがありえてしまいます
0655デフォルトの名無しさん
2009/10/25(日) 21:59:590656デフォルトの名無しさん
2009/10/25(日) 21:59:59例外処理として書いておけばいい
0657デフォルトの名無しさん
2009/10/25(日) 22:04:16例外処理をしたら帰って処理が複雑な気がするぞw
/3*3とか/3*6とかたくさんあるだろjk
0658デフォルトの名無しさん
2009/10/25(日) 22:04:520659デフォルトの名無しさん
2009/10/25(日) 22:05:47何を言いたいのかイマイチ分からん
10/3*3が9になって欲しいのか10になって欲しいのかそれとも9.9999...か
たとえば(10/3)*3が10になって欲しいのなら、
分数型を定義すればいいだけでは。
C#一切関係ないなあ・・・
0660デフォルトの名無しさん
2009/10/25(日) 22:06:22納得いった部分やそうでない部分もありましたがこれからもいろいろ考えていきたいと思います
ありがとうございました
遅寝は体に悪いので寝ますおやすみなさい
0661デフォルトの名無しさん
2009/10/25(日) 22:08:260662デフォルトの名無しさん
2009/10/25(日) 22:14:48すいません、要はアルゴリズムの最適化を行う手順みたいなものがあるのかなということだったんです。
すべてに通用するようなことで…。
一般的な総当りを考えてそこからひつようのなさそうな部分を削っていくことがアルゴリズムの最適化になるのかそこが疑問だったのです。
今日のレスではそのような考え方に近いものをみなさんおっしゃるのでそういうことなのかなと考えたのです。
でも、なにかまったく違った角度から捕らえる何か(ひらめきのようなもの)がアルゴリズムの最適化になるのかわからないのです。
>>654は>>651さんのアルゴリズムの考え方でちょっとそれはまずいのではと思ったので端的に思いついたことを書きました。
0663デフォルトの名無しさん
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
こういうのも重複とカウントするのか。
0664デフォルトの名無しさん
2009/10/25(日) 22:16:28組み込みだと、その組み合わせをテーブルとしてあらかじめ持っておくのが正解。
0665デフォルトの名無しさん
2009/10/25(日) 22:16:34どっちがいいとかってことじゃないだろ。
0666デフォルトの名無しさん
2009/10/25(日) 22:20:05最終的には数学とか論理学のお勉強しなさいってことになると思うよ。
一般化されたアルゴリズム最適化の手順なんてのは流石に無いんじゃないかしら。
バブルソートをクイックソートに昇華するのと
巡回セールスマン問題の効率化方法に共通点は今一見いだせない。
0667デフォルトの名無しさん
2009/10/25(日) 22:21:07レベル高すぎなんだぜ
0668デフォルトの名無しさん
2009/10/25(日) 22:25:56そもそも問題文に重複の除外なんて書いてないのでは
0669デフォルトの名無しさん
2009/10/25(日) 22:27:520670デフォルトの名無しさん
2009/10/25(日) 22:33:150671デフォルトの名無しさん
2009/10/25(日) 22:34:39いや、思いっきり論理的じゃん?
0672デフォルトの名無しさん
2009/10/25(日) 22:34:52俺には最初のアルゴリズムの話がわかったようでわかってないあやふやな質問に見えたんだがわかるやつにはわかって話が進んでるんだもんな
0673デフォルトの名無しさん
2009/10/25(日) 22:36:52キーワードをググってその先斜め読みしてわかったような事書き込めばOK
レベル高そうに見えるよ
0674デフォルトの名無しさん
2009/10/25(日) 22:43:43それならROMってる方がいいだろw
つかBM法程度のことくらいはプログラマとして知ってて当然だと思う。
滅多に使うことはないがな。
0675デフォルトの名無しさん
2009/10/25(日) 22:44:120676デフォルトの名無しさん
2009/10/25(日) 22:45:270677デフォルトの名無しさん
2009/10/25(日) 22:50:10ぶっちゃけBM法とか知らなくても全然問題ないと思うよ。
普通にプログラマする場合は用意されたライブラリの使い所さえ把握してりゃ問題ない。
0678デフォルトの名無しさん
2009/10/25(日) 22:51:13どのマス目がクリックされているか知るにはどうすればいいでしょうか?
0679デフォルトの名無しさん
2009/10/25(日) 22:52:250680デフォルトの名無しさん
2009/10/25(日) 22:53:480681デフォルトの名無しさん
2009/10/25(日) 22:54:230682デフォルトの名無しさん
2009/10/25(日) 22:55:01ダメコモンセンスの範疇じゃないかね。
0683デフォルトの名無しさん
2009/10/25(日) 22:55:310684デフォルトの名無しさん
2009/10/25(日) 22:56:38そりゃそうなんだが、裏でどんな処理してるか気にならないか?
実際に自分で書くことはまずはないだろうけど。
0685デフォルトの名無しさん
2009/10/25(日) 22:56:500686デフォルトの名無しさん
2009/10/25(日) 22:57:53知ってるし、ドル箱環状線作れば終了なゲームだってことも覚えてる
0687デフォルトの名無しさん
2009/10/25(日) 22:58:170688デフォルトの名無しさん
2009/10/25(日) 22:58:380689デフォルトの名無しさん
2009/10/25(日) 22:59:190690デフォルトの名無しさん
2009/10/25(日) 23:01:14じゃあ目の前のPCの動作を量子力学レベルで説明できます?
ブラックボックスでいいじゃん、って考え方は好きじゃないんだよね?
0691デフォルトの名無しさん
2009/10/25(日) 23:03:13この世に全能と無能しかいないとでも言うのかよ…
0692デフォルトの名無しさん
2009/10/25(日) 23:03:280693デフォルトの名無しさん
2009/10/25(日) 23:04:30馬鹿そーだけどな
0694デフォルトの名無しさん
2009/10/25(日) 23:04:52つまり>>690は無能のほうか
0695デフォルトの名無しさん
2009/10/25(日) 23:07:240696デフォルトの名無しさん
2009/10/25(日) 23:08:26複素数って習ったかね
学生ならまだの可能性があるけど
0697678
2009/10/25(日) 23:11:06多分専用のライブラリもないと思うし・・
他で聞いてみます
0698デフォルトの名無しさん
2009/10/25(日) 23:11:32何か問題があったときに最適な方法を探して比較検討出来るぐらいの脳味噌は欲しいな。
0699デフォルトの名無しさん
2009/10/25(日) 23:12:020700デフォルトの名無しさん
2009/10/25(日) 23:13:32最悪
0701デフォルトの名無しさん
2009/10/25(日) 23:13:40P=NPだったらどうするんだよ!!
まだ証明されてねーぞ
0702デフォルトの名無しさん
2009/10/25(日) 23:14:361.以下の定理を証明せよ。(制限時間5分)
3 以上の自然数 n について、xn + yn = zn となる 0 でない自然数 (x, y, z) の組み合わせがない
0703デフォルトの名無しさん
2009/10/25(日) 23:16:030704デフォルトの名無しさん
2009/10/25(日) 23:16:463*3+8*3=11*3
0705デフォルトの名無しさん
2009/10/25(日) 23:16:470706デフォルトの名無しさん
2009/10/25(日) 23:17:310707678
2009/10/25(日) 23:18:17習ったはずだけど・・もう忘れてしまった
ちょっと調べてみますね
>>699
XNAにはプリミティブを2Dに座標変換する関数があるっぽいことをヘルプに書いてたけど
難しくてよくわかりませんでした
一応スプライト表示、移動ができるようになったのでさっそくマップを作ろうと思ったんだけど
0708デフォルトの名無しさん
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)
0709デフォルトの名無しさん
2009/10/25(日) 23:22:110710デフォルトの名無しさん
2009/10/25(日) 23:22:150711デフォルトの名無しさん
2009/10/25(日) 23:43:08その発行されたexeを別の階層に持って行くと、JustInTimeデバッガの画面で
例外のSystem.IO.FileNotFoundExceptionが発生するんですが、
この原因はどうやって突き止めればいいんでしょう。。
0712デフォルトの名無しさん
2009/10/25(日) 23:46:30エラー出そうな所には、
try-catchで例外発生すればメッセージがでるようにはしてありました。
自作プログラムでJITデバッガが開いたのは初めてなんですが、
これはプログラムが起動する時点で致命的エラー出たって事ですかね?
メインフォームが表示される前にこのJIT画面が出ました。
0713デフォルトの名無しさん
2009/10/25(日) 23:47:370714デフォルトの名無しさん
2009/10/25(日) 23:52:470715デフォルトの名無しさん
2009/10/25(日) 23:56:06これ、起動に必要なdllが見つからない場合のtryとcatchはどこに書けばいいのでしょう・・・?
0716デフォルトの名無しさん
2009/10/25(日) 23:58:26XNAやDirect3D使うなら高校レベルの線形代数くらいは身についてないと無理
0717678
2009/10/26(月) 00:17:20一から勉強し直します
ありがとう
0718デフォルトの名無しさん
2009/10/26(月) 01:36:370719デフォルトの名無しさん
2009/10/26(月) 01:58:070720デフォルトの名無しさん
2009/10/26(月) 06:14:320721デフォルトの名無しさん
2009/10/26(月) 06:16:48ってことはクラス名や関数名は分かってるんだろ
取り出す必要性ないじゃん
0722デフォルトの名無しさん
2009/10/26(月) 06:18:250723デフォルトの名無しさん
2009/10/26(月) 06:24:23対象ソースをデバッグ可能な環境にあるならデバッグコードでも差し込めばいいじゃん
trycatchで例外にメソッド名を足して再スローするとか
まあ、わざわざ茨の中に突っ込む理由がよく分からんが
君がやりたいなあと思ってることはSystem.Reflection名前空間内のクラス使えばできるよ
これ以上詮索はしない
0724デフォルトの名無しさん
2009/10/26(月) 06:54:18C++ で言うところの __FUNCTION__ 見ないな物です。
Reflection見ているのですが、なれない物で見つからない…
0725デフォルトの名無しさん
2009/10/26(月) 06:55:140726デフォルトの名無しさん
2009/10/26(月) 07:00:140727678
2009/10/26(月) 08:17:41しかも、Matrixクラスがあるから超便利
なんとか実装できました
ありがとう
0728デフォルトの名無しさん
2009/10/26(月) 09:07:42WebBrowserコントロールにHTMLを流し込むにはどうしたらいいでしょうか?
一旦ファイルに落としてNavigateすればいいと思うのですが
WebBrowser1.Html = "<html></html>"
みたいな感じでできないものでしょうか?
0729デフォルトの名無しさん
2009/10/26(月) 09:22:500730デフォルトの名無しさん
2009/10/26(月) 10:10:06さんくす!できました。
WebBrowser1.DocumentText = "<html><head></head><body>あいうえお<br>かきくけこ</body></html>"
0731デフォルトの名無しさん
2009/10/26(月) 13:54:120732555
2009/10/26(月) 16:04:21「RijndaelManaged key = null;」をやめて、ある文字から256bitのbyte配列を返すクラスを自分でこしらえて使っているんだけど。
こういうのは.Netにはないでしょうか?
絶対あると思うのですが見つけられません。
keysizeとか指定しても全然違う数しか出ないし・・・
0733デフォルトの名無しさん
2009/10/26(月) 17:03:05ただし普通はソルトが必要。
まあ限られた用途なら固定値って手もあるが。
0734デフォルトの名無しさん
2009/10/26(月) 20:55:28IV+Keyのバイト長との最小公倍数で繰り返しXORかけたバイト列を分割
してIVとKeyに食わせるとか、よく分からないけどやってみてた。
無駄な努力?
0735デフォルトの名無しさん
2009/10/26(月) 21:04:390736デフォルトの名無しさん
2009/10/26(月) 21:13:310737デフォルトの名無しさん
2009/10/26(月) 21:26:41メルセンヌツイスタならそれでよさそう。
0738デフォルトの名無しさん
2009/10/26(月) 21:28:17それでもいいならやるがいいさ
0739デフォルトの名無しさん
2009/10/26(月) 21:47:030740デフォルトの名無しさん
2009/10/26(月) 22:13:020741デフォルトの名無しさん
2009/10/26(月) 22:14:030742デフォルトの名無しさん
2009/10/26(月) 22:19:59じゃあWin7 64bitでは開発が出来ないの?
0743デフォルトの名無しさん
2009/10/26(月) 22:25:01プロジェクトのオプションでx64とかあるのはネイティブコードとの相互運用を行う場合のため
0744デフォルトの名無しさん
2009/10/26(月) 22:38:580745デフォルトの名無しさん
2009/10/26(月) 22:44:400746デフォルトの名無しさん
2009/10/26(月) 22:49:590747デフォルトの名無しさん
2009/10/26(月) 23:02:05実行が64bitのランタイムなら64bitのアンマネージドDLLが使える
というかそれしか使えないし32bitのランタイムなら32bitのDLLしか使えない
0748デフォルトの名無しさん
2009/10/26(月) 23:11:360749デフォルトの名無しさん
2009/10/26(月) 23:20:04その場合注意する点はP/InvokeのときにIntPtrを適切に使うことくらいでしょ
0750デフォルトの名無しさん
2009/10/26(月) 23:27:540751デフォルトの名無しさん
2009/10/26(月) 23:48:490752デフォルトの名無しさん
2009/10/26(月) 23:49:100753デフォルトの名無しさん
2009/10/26(月) 23:54:5432ビットから64ビットへの移行でも、int 型が64ビット幅になり、long 型は32ビットのままのIP64モデルが使われるという見方もあったが、
そのようなデータモデルは使われていない
(wikipediaより
適当に言ってるだけかと思ったわ。
0754デフォルトの名無しさん
2009/10/27(火) 00:01:130755デフォルトの名無しさん
2009/10/27(火) 00:02:100756デフォルトの名無しさん
2009/10/27(火) 00:17:31"Int32"なのに8バイト幅だったら羊頭狗肉過ぎる
0757デフォルトの名無しさん
2009/10/27(火) 00:27:54共通アーカイバとかmp3infpとか。
0758デフォルトの名無しさん
2009/10/27(火) 00:36:550759デフォルトの名無しさん
2009/10/27(火) 01:16:12次期Windowsでは32・64・128bitの3バージョン出すらしいし
数字リテラルの末尾にULを付けるだけのウハウハな仕事が舞い込んでくると良いぜ
0760デフォルトの名無しさん
2009/10/27(火) 03:01:23{
return n*2;
}
これと同じ動作をするクラスを作りたいのですが
どうすればいいですか?
0761デフォルトの名無しさん
2009/10/27(火) 03:40:46{
public static int Baisu(int n)
{
}
0762デフォルトの名無しさん
2009/10/27(火) 03:41:37{
public static int Baisu(int n)
{
return n * 2;
}
}
0763デフォルトの名無しさん
2009/10/27(火) 03:47:57これメソッドですよね?
たとえば、クラスを配列のように扱えるインデクサみたいな感じで
配列を上記メソッドのように扱えるものがいいんですが
int Answer=Hoge.Baisu(2);
じゃなくて
int Answer=Baisu(2);
と使いたいのです
0764デフォルトの名無しさん
2009/10/27(火) 03:49:51○クラスを上記メソッドのように扱えるものがいいんですが
0765デフォルトの名無しさん
2009/10/27(火) 04:32:18というかHoge.Baisuだと何がダメなのか分からない。
0766デフォルトの名無しさん
2009/10/27(火) 04:43:55static class Hoge {
public static int Baisu(this int n) { return n * 2; }
}
int x = 2.Baisu();
0767デフォルトの名無しさん
2009/10/27(火) 04:56:16只、はじめからVBのModuleを使ったほうが早い。
using Microsoft.VisualBasic.CompilerServices;
[StandardModule]
public static class Hoge {
public static int Baisu(int n) { return n * 2; }
}
0768デフォルトの名無しさん
2009/10/27(火) 05:10:03[SerializableAttribute]
[ComVisibleAttribute(true)]
public class Baisu : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>
{
・・・
}
int Answer = new Baisu(2); が答えに一番近い気がする
0769デフォルトの名無しさん
2009/10/27(火) 05:12:380770763
2009/10/27(火) 05:18:10でも設計見直したら必要なくなった
0771デフォルトの名無しさん
2009/10/27(火) 06:05:57突拍子もないことを言い出す奴はまず設計がおかしいとな
0772デフォルトの名無しさん
2009/10/27(火) 06:33:26ttp://homepage2.nifty.com/takeuchiyosinori/page056.html
0773デフォルトの名無しさん
2009/10/27(火) 08:05:210774デフォルトの名無しさん
2009/10/27(火) 09:23:410775デフォルトの名無しさん
2009/10/27(火) 10:03:530776デフォルトの名無しさん
2009/10/27(火) 12:53:58C#アプリのほうで改行しながら表示させるにはどうしたらよいのでしょうか・・
CREATE TABLE 〜
(
test CHAR(12) PRIMARY KEY,
〜〜
)
見たいな感じでずらーっと下に表示させていきたいのです
0777デフォルトの名無しさん
2009/10/27(火) 12:55:15どこができてないんだ?
取り込むところから出来てないのか
それとも取り込んだデータが加工できないとか・・・
0778デフォルトの名無しさん
2009/10/27(火) 13:40:41C# Excel でググるとサンプル付きでたくさんでてくるぞ。
それ見た方がここでコード片ちらつかせられるよりわかりやすい。
0779デフォルトの名無しさん
2009/10/27(火) 17:19:30Numberの値を取得するにはどうすればいいのでしょうか?
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();
0780583
2009/10/27(火) 17:21:26<data>
data1
</data>
<nodeA>
<data>
data2
</data>
</nodeA>
<data>
data3
</data>
<nodeB>
<data>
data4
</data>
</nodeB>
<data>
data5
</data>
</root>
こんな感じのデータで、<root>直下の<data>にだけアクセスしたいんですが、<data>がどの位置に出現するかわかりません。
一番簡潔な方法を教えて下さい。
お願いします。
0781デフォルトの名無しさん
2009/10/27(火) 17:22:10それでButton1をクリックするとForm1の背景色を変更したいので
private void button1_Click(object sender, EventArgs e)
{
Form1.BackColor = Color.Yellow;
}
としても動きません
Form1.BackColor というのが駄目っぽいのですけど
どう書けばいいのでしょう
0782デフォルトの名無しさん
2009/10/27(火) 17:28:09動かないってどう動かないの?
Form1って大文字で始まってるけど、それForm1のメソッドなら
this または省略でいいよ。そのハンドラはボタンをダブルクリックして自動でできたやつ?
0783デフォルトの名無しさん
2009/10/27(火) 17:45:42一旦データ格納用のクラスAを作って
1データごとにAのインスタンスを作って格納
それをリストに入れて
それをデータソースにToArrayとかで入れてやれば?
0784デフォルトの名無しさん
2009/10/27(火) 17:50:35遅れてすいません。
取り込んだときに表示を加工させたいです。
,が付いたときに改行させるように出来たりするのでしょうか
0785デフォルトの名無しさん
2009/10/27(火) 17:55:24こんな感じ?
string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
txtData.Text = aaa;
0786デフォルトの名無しさん
2009/10/27(火) 18:02:38>そのハンドラはボタンをダブルクリックして自動でできたやつ?
そうです
Formをクリックして背景色をかえる
private void Form1_Click(object sender, EventArgs e)
{
this.BackColor = System.Drawing.Color.DarkBlue;
}
というサンプルはMSDNにあるんですけど
ボタンをクリックしてFormの背景色をかえるサンプルが
WEB上にみあたらないのです
0787デフォルトの名無しさん
2009/10/27(火) 18:04:18ダメっぽいというか
どんなエラーが出てるのか(コンパイルエラー?)
出ていないならその処理は通っているのか
0788デフォルトの名無しさん
2009/10/27(火) 18:06:34XDocumentでggrks
0789デフォルトの名無しさん
2009/10/27(火) 18:11:27Form1_Clickもbutton1_Clickも、Form1のメソッドなんだから
その中のthis.BackColorはForm1の背景色だよ。
0790デフォルトの名無しさん
2009/10/27(火) 19:04:40{
string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
textBox1.Text = aaa;
}
で、どんな表示になるかと思ってやってみたのですが
何も表示されませんでした・・・
aaaに123,456入れてそれをリプレイスでなんか()のことをして
表示って感じと思ったのですが間違ってましたか?
初心者で完璧にごめんなさい
0791デフォルトの名無しさん
2009/10/27(火) 19:16:47そのMain()が何処からも呼び出されてないんじゃないの?
0792デフォルトの名無しさん
2009/10/27(火) 19:17:320793デフォルトの名無しさん
2009/10/27(火) 19:18:430794785
2009/10/27(火) 19:20:31ボタン配置してそのクリックのイベントかなんかにでも・・・・
string aaa = "123,456";
aaa = aaa.Replace(",", ",\r\n");
messageBox.Show(aaa);
こっちのが良かったっけ?
ひとまず表示される結果は
123,
456
て表示されるよ
0795デフォルトの名無しさん
2009/10/27(火) 19:31:47おぉ・・・出来ました。
ここから自分で使う用途に合うようにやってみたいと思います
大変ありがとうございました。
0796デフォルトの名無しさん
2009/10/27(火) 20:22:44検索すると16進数値の0xらしいのですが・・・
エラー回避で0xを削除?する方法はありますでしょうか?
XmlDocumentl.Load(string);
0797デフォルトの名無しさん
2009/10/27(火) 20:26:07見当たりませんって言われても困るぜ
0798デフォルトの名無しさん
2009/10/27(火) 20:28:070xってのはこの数字が16進数だよっていう記号みたいなもの
16進数での19が無効な文字ってことだ
0799796
2009/10/27(火) 20:30:40自分の間抜けさに目が覚める思いがしました!
0800デフォルトの名無しさん
2009/10/27(火) 21:13:09>Form1_Clickもbutton1_Clickも、Form1のメソッドなんだから
あぁそうなのか
うん
動きました
有難うございました
0801デフォルトの名無しさん
2009/10/27(火) 21:37:01いろんなひとのクラスをぱくってるんだけど
こんなので本当に理解したことになるのかな?
0802デフォルトの名無しさん
2009/10/27(火) 21:47:27こんな質問が出てくる程度の理解度なら。理解したことにはならないんじゃね。
0803デフォルトの名無しさん
2009/10/27(火) 21:49:45起動しているっぽいけどウィンドウが表示されない
ms-help://MS.VSCC.v90/MS.VSIPCC.v90/MS.XNAGS31.1041/XNA/GoingBeyond_GameIn60Minutes.htm
0804デフォルトの名無しさん
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の試合をするわけです。
賞金のかけられた本気で挑む大会出場者たち。これ実は実際に行われたことのあるものです。
さあ、みなさんどんなプログラムが優勝したでしょう?アルゴリズムを考えてください。
0805デフォルトの名無しさん
2009/10/27(火) 22:43:010806デフォルトの名無しさん
2009/10/27(火) 22:44:41ぼくはすべて裏切りだと思いました。明日回答が教えてもらえるのでまた報告します。
一応プログラミングだと思って。この間アルゴリズムの質問してた方なんかもこれは結構いい問題のような気がします。
明日またレスします。おやすみなさい
0807デフォルトの名無しさん
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
0808デフォルトの名無しさん
2009/10/27(火) 22:49:33string 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を使う。
0809デフォルトの名無しさん
2009/10/27(火) 22:53:21相手が裏切るまでは強調する単純なアルゴリズムが結局一番強そう。
0810デフォルトの名無しさん
2009/10/27(火) 23:11:390811デフォルトの名無しさん
2009/10/27(火) 23:18:17最初の数回の手で相手のアルゴリズムを予想
そこからはそのアルゴリズムに対して最適の手を出しつつアルゴリズムを訂正していく
相手がランダムに出さない限りこれが一番じゃね?
0812デフォルトの名無しさん
2009/10/27(火) 23:22:38最強の手を考えれば最強だ、って言ってるのと同じじゃないか
0813デフォルトの名無しさん
2009/10/27(火) 23:24:50そんなこと言ってないんだが・・・
0814デフォルトの名無しさん
2009/10/27(火) 23:26:440815デフォルトの名無しさん
2009/10/27(火) 23:26:57例えば相手のアルゴリズムが同じだった場合を考え出すと際限が無くなるし
0816デフォルトの名無しさん
2009/10/27(火) 23:28:33じゃ、どこがか説明してくれ
俺馬鹿だからトートロジーでググっだけど俺の考えとは全く違うことのようだったんだけど
0817デフォルトの名無しさん
2009/10/27(火) 23:35:32「相手に合わせて<最善の>戦略を採る」という方法論は、
「相手の戦略を考慮しない」という方法を特殊ケースとして含む。
つまりそれは単に「最善の戦略を採る」と言っているのと同じことだ。
であるから「相手に合わせて<最善の>戦略を採るのが一番」というのは、
最善の戦略を採るのが一番だ、というトートロジーに過ぎない。
・・・って言っても理解できないよねたぶん。
0818デフォルトの名無しさん
2009/10/27(火) 23:39:580819デフォルトの名無しさん
2009/10/27(火) 23:40:59>「相手の戦略を考慮しない」という方法を特殊ケースとして含む。
相手が「相手の戦略を考慮しない」ときの話か?
それは常に同じ手を出すorランダム
このとき常に同じ手を出すって方法は容易に予測して最適の手を出せる
ランダムの時は最初に無理って言った
0820デフォルトの名無しさん
2009/10/27(火) 23:43:43相手が少しでも考えた手を出す限り完璧とはいかないがある程度次の手が予測可能
0821デフォルトの名無しさん
2009/10/27(火) 23:47:59って言ってるところなんだよだから。
そんなの終了条件がない再起呼び出しと一緒だって分からないかね。
0822デフォルトの名無しさん
2009/10/27(火) 23:48:54あとは数学者に任せてぼろが出ないうちにやめとけ
まあ最近は文系経済学者が偉そうに論じたりしてるけど・・・
0823デフォルトの名無しさん
2009/10/27(火) 23:55:42相手のアルゴリズムを 予想 して
それに対する最善の戦略をとるってこと
もちろん相手のアルゴリズムがこちらの予想した物以外だったり相手がわざと騙す手をとった場合このアルゴリズムは意味をなさないが
あと
もし、本当にこのような大会があった場合の一番良いのでは?って言う方法を言ってて(要するに相手も人間の書いたプログラムとして)
数学的なジレンマの最適解を言ってる訳じゃない
0824デフォルトの名無しさん
2009/10/27(火) 23:59:58ここC#スレだった
スレ違い長々とすみませんでした
0825デフォルトの名無しさん
2009/10/28(水) 00:01:59だから最善の戦略って何?
最善の戦略はなんですか、って問いに「それは最善の戦略を採ることです」
って答えて何か意味があるの?
相手のアルゴリズムを予想する、って前置きしたことで何か言ったつもりに
なっているのかも知れないが、「相手のアルゴリズムを予想する」には
「相手のアルゴリズムを無視する」を特殊ケースとして含むから、それだけでは
何も言っていないのと同じであることは既に説明したはずだけど。
0826デフォルトの名無しさん
2009/10/28(水) 00:06:17スレタイ読めない馬鹿がまだ騒いでやがる
0827デフォルトの名無しさん
2009/10/28(水) 00:07:050828デフォルトの名無しさん
2009/10/28(水) 00:09:11なんもわかってないのはあなたの方だね
0829デフォルトの名無しさん
2009/10/28(水) 00:10:190830デフォルトの名無しさん
2009/10/28(水) 00:10:59なんで俺のふりするんだよ
スレチだから謝ったのに
0831デフォルトの名無しさん
2009/10/28(水) 00:16:070832デフォルトの名無しさん
2009/10/28(水) 00:24:030833デフォルトの名無しさん
2009/10/28(水) 00:29:480834デフォルトの名無しさん
2009/10/28(水) 00:35:160835デフォルトの名無しさん
2009/10/28(水) 01:47:220836デフォルトの名無しさん
2009/10/28(水) 02:53:12新しいプロジェクト名にしてからやりたいのですが
どうすればいいですか?
0837デフォルトの名無しさん
2009/10/28(水) 03:34:17Propertiesから諸々の名前を好きなように変更
ソリューションファイルを手動で開いてパスも全部書き換える
0838デフォルトの名無しさん
2009/10/28(水) 08:27:390839デフォルトの名無しさん
2009/10/28(水) 09:59:44XNAじゃないか。
試したけど普通に動いたよ。
新規作成した何もしないXNAアプリは実行できる?
0840デフォルトの名無しさん
2009/10/28(水) 11:04:280841注目
2009/10/28(水) 11:08:11中学生が 自主制作ハメ撮りAV 売り捌いてたらしい ★12
http://yutori7.2ch.net/test/read.cgi/news4vip/1256682280/
まとめwiki
http://www31.atwiki.jp/shotakon_pachinkas/
371734619140624
0842デフォルトの名無しさん
2009/10/28(水) 11:41:44これ思い出した。
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
0843デフォルトの名無しさん
2009/10/28(水) 13:14:30いろんな状況とかパターンがあると思うがそのあたりは任せる
ぱっと思い付いたのでいいから書いてくれ
頼む
0844デフォルトの名無しさん
2009/10/28(水) 13:16:00その配列の最後の要素がそうじゃね?
0845デフォルトの名無しさん
2009/10/28(水) 13:29:170846デフォルトの名無しさん
2009/10/28(水) 16:05:460847デフォルトの名無しさん
2009/10/28(水) 16:14:39C#だとtextBox1.Lines[textBox1.Lines.Length - 1]になるか
0848デフォルトの名無しさん
2009/10/28(水) 16:58:19> 新規作成した何もしないXNAアプリは実行できる?
はい、動きます
GamePadState lastState = GamePad.GetState(PlayerIndex.One);
ステップイン実行したところ、Game1のフィールド変数のこの部分で固まるので
GamePadState lastState;
これに変更したら、うまく動作しました
動作環境は2008C#EE XNA3.1
パッドがPS2のコントローラーなのでこれが原因なのかな?
ほかのプログラムでは一応コントローラーは認識して動いているんですけど
0849デフォルトの名無しさん
2009/10/28(水) 17:08:14XNAはXbox360のコントローラしか使えないよ
他のコントローラーを360のコントローラーに見せかけるドライバとかもあるけど。
ただ、他のPADが刺さってる状態で GamePad.GetState() がどうなるかはわからない。
環境あるとこで試してみようかな。
0850デフォルトの名無しさん
2009/10/28(水) 17:11:45ジェネリックなコレクションの最終要素は
textBox1.Lines.Last(); でアクセスした方がいいのかな?
それとも非ジェネとジェネで別のアクセス表現が混在しないように統一した方がいいものなんだろうか?
System.Collections.Generic.IEnumerable → Hoge.Last();
System.Collections.IEnumerable → Hoge[Hoge.Length - 1];
これ公式のガイドラインとか無いのかな?
0851デフォルトの名無しさん
2009/10/28(水) 17:40:30>>850
ありがとう
超参考になった愛してる
0852デフォルトの名無しさん
2009/10/28(水) 17:56:11Enumerable.OfTypeまたはEnumerable.CastでIEnumerable<T>にできる。
そうすれば、OrderByするなり、ToListまたはToArrayしてそれぞれのSortを呼ぶといったことが可能になる。
ちなみに、>>850の場合でもOfTypeまたはCastを使う手が考えられる。
0853デフォルトの名無しさん
2009/10/28(水) 18:08:29Oh excellent !!!
0855デフォルトの名無しさん
2009/10/28(水) 20:38:26でもこれってよく考えるとタイプセーフじゃなくない?これでいいんだろうか?
0856デフォルトの名無しさん
2009/10/28(水) 20:45:15普通にforeach使ったとしてもforeach(Hoge item in 非ジェネリックコレクション)はタイプセーフじゃないよ
0857デフォルトの名無しさん
2009/10/28(水) 22:01:470858デフォルトの名無しさん
2009/10/28(水) 22:16:34何かデメリットや欠陥的なものを探してる。
俺を現実に引き戻してほしい。
0859デフォルトの名無しさん
2009/10/28(水) 22:24:220860デフォルトの名無しさん
2009/10/28(水) 22:31:52yieldの仕組み上当然のことでむしろそれを狙ってやってるわけで欠陥でも何でもない
0861デフォルトの名無しさん
2009/10/28(水) 22:38:15ToArrayなりToListなり使わないとキャッシュできないって言ってんだよハゲ
0862デフォルトの名無しさん
2009/10/28(水) 22:39:25( ゚д゚ )
0863デフォルトの名無しさん
2009/10/28(水) 22:40:19結局,結果を配列なりリストなりに入れるだろ?
LINQはそのループの部分を抽象化してるだけだ
0864デフォルトの名無しさん
2009/10/28(水) 23:08:270865デフォルトの名無しさん
2009/10/28(水) 23:10:09ハゲw
0866555
2009/10/28(水) 23:16:35ある文字を媒体に128,256bitなど指定したビット配列を返すクラスなどはないでしょうか?
RijndaelManagedには乱数などを作成はあるのですが、共通キーとすることが前提なので
ZIPのように「sage」見たいな文字を複合キーとする暗号化はどのように行うのでしょうか?
よろしくお願いいたします。
0867デフォルトの名無しさん
2009/10/28(水) 23:24:50SHA系とかでハッシュ作ればいい。
0868デフォルトの名無しさん
2009/10/28(水) 23:44:59O(n)
0869デフォルトの名無しさん
2009/10/29(木) 00:05:03それなら大人しく公開鍵暗号で鍵交換すればいいのに
0870デフォルトの名無しさん
2009/10/29(木) 00:05:590871デフォルトの名無しさん
2009/10/29(木) 00:09:12誰とも鍵交換しないんだから
0872555,558
2009/10/29(木) 00:14:25もう少し公開、共通の違いを調べてきます。
0873デフォルトの名無しさん
2009/10/29(木) 00:15:340874デフォルトの名無しさん
2009/10/29(木) 00:17:390875デフォルトの名無しさん
2009/10/29(木) 10:52:040876デフォルトの名無しさん
2009/10/29(木) 10:54:430877デフォルトの名無しさん
2009/10/29(木) 21:19:38ひとまず検索用のフォームを作ったのですが、その先が何をすればよいのかさっぱりわかりません。
ご教授願います。
0878デフォルトの名無しさん
2009/10/29(木) 21:32:030879デフォルトの名無しさん
2009/10/29(木) 22:56:140880デフォルトの名無しさん
2009/10/29(木) 23:05:32そして、デザインの詳細設定...
Windows7 なら。
0881デフォルトの名無しさん
2009/10/30(金) 11:59:490882デフォルトの名無しさん
2009/10/30(金) 12:03:070884デフォルトの名無しさん
2009/10/30(金) 17:40:410885デフォルトの名無しさん
2009/10/30(金) 20:56:13だから俺ならXPath一択。
0886デフォルトの名無しさん
2009/10/30(金) 21:09:250887デフォルトの名無しさん
2009/10/30(金) 21:57:26直下の話をしてんだよ
流れが読めない奴が口を挟むなクズ
大人しくミニスペック書いてろ
0888デフォルトの名無しさん
2009/10/30(金) 21:58:550889デフォルトの名無しさん
2009/10/30(金) 22:00:14たまたまRoot要素が<root></root>なだけで。
0890デフォルトの名無しさん
2009/10/30(金) 22:03:08XDocument.DescendantsAndSelf ("data").Where(elm=>elm.Parent.Name=="root");
0891デフォルトの名無しさん
2009/10/30(金) 22:07:17XPathDocument 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(笑)かな。
0892デフォルトの名無しさん
2009/10/30(金) 22:11:23どうにも”無理やり作りました”って感じがあるよな…
0893デフォルトの名無しさん
2009/10/30(金) 22:12:54この煽り屋みたいな奴はどこから沸いて来るんだ?
0894デフォルトの名無しさん
2009/10/30(金) 22:14:550895デフォルトの名無しさん
2009/10/30(金) 22:15:24初心者もバンバンLINQ使え
0896デフォルトの名無しさん
2009/10/30(金) 22:16:320897デフォルトの名無しさん
2009/10/30(金) 22:20:300898デフォルトの名無しさん
2009/10/30(金) 22:24:550899デフォルトの名無しさん
2009/10/30(金) 22:29:39目玉の新機能だったのにそんな応用の利かない物である訳なかろう
0900デフォルトの名無しさん
2009/10/30(金) 22:31:28男のコダワリだからね。
0901デフォルトの名無しさん
2009/10/30(金) 22:37:07この話終了ね
0902デフォルトの名無しさん
2009/10/30(金) 22:47:010903デフォルトの名無しさん
2009/10/30(金) 22:49:280904デフォルトの名無しさん
2009/10/30(金) 23:42:56コダワリじゃねーよww
正規表現書くのと自力でマッチングするのと同じくらい全く違うモノ。
使いどころ考えろっての。
0905デフォルトの名無しさん
2009/10/31(土) 00:10:56処理速度も悪くないし、for書くより可読性も格段に上がるし。なんかすげー怖い
0906デフォルトの名無しさん
2009/10/31(土) 02:11:21ほら、力をぬいて。
0907デフォルトの名無しさん
2009/10/31(土) 02:23:460908デフォルトの名無しさん
2009/10/31(土) 05:09:33匿名メソッドをInvoke()する書き方しか無いんですかね?
もっとスマートに書く方法か別のアプローチとかないですか?
0909デフォルトの名無しさん
2009/10/31(土) 09:50:48Linqが強力なのはわかるが、
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]");
と、敗北宣言だと思うんだコレ。
0910デフォルトの名無しさん
2009/10/31(土) 09:56:460911デフォルトの名無しさん
2009/10/31(土) 10:23:06WMPコンポーネントを使うと、mp3コーデックが無いと再生出来ません。
mp3のコーデックが無くても再生できるようにする方法はありませんか?
0912デフォルトの名無しさん
2009/10/31(土) 10:27:260913デフォルトの名無しさん
2009/10/31(土) 10:36:10どうやれば該当コーデックが入ってるか取得出来ますか?
WMPのステータスを見ても、 バッファ→準備完了で、
そのようなメッセージが出ないので困っています。
また、コーデックについて詳しくないのですが、
mp3のコーデックをリソースとして持っておき、
ダイアログ表示時にコーデックのディレクトリに投げるということで大丈夫でしょうか?
0914デフォルトの名無しさん
2009/10/31(土) 12:08:400915583
2009/10/31(土) 12:15:50わたしは将来のバージョン対応を考えてXpathにしましたが・・・
さて
<data>
<Style>hogehoge</Style>
</data>
と
<Style id="style1">hogehoge</Style>
<data>
<styleUrl>#style1</styleUrl>
</data>
0916583
2009/10/31(土) 12:16:32両方の書き方が許されてるXMLを処理するのにXpath一発でやれますか?
0917デフォルトの名無しさん
2009/10/31(土) 13:31:44コーデックが入っていないことを心配しているってことは
作った物をフリーソフトとして公開でもしようとしているのか?
0918913
2009/10/31(土) 13:41:40その通りです。
友人のPCで試したところ、コーデックが見つからないようで、
再生出来なくて、私自身コーデックの導入方法など分からないもので、
試行錯誤してますが、やっぱり再生出来ません。
もし再生出来なかった場合のコーデックインストーラなどあれば良いなと思うのですが、
そんな便利なものありませんかね?
0919デフォルトの名無しさん
2009/10/31(土) 13:46:080920デフォルトの名無しさん
2009/10/31(土) 13:47:25コーデックに詳しくない云々以前に一般常識が欠如していますね
コーデックをリソースに持ってPCにインストールする?
そのコーデックの法的な権利は誰に帰属していますか?
0921デフォルトの名無しさん
2009/10/31(土) 13:51:01いきなり犯罪者前提かよwきめえ
俺のフリーソフトは他人のDLLをパッケージに含めてるし
他人のソース丸ごと取り込んでビルドもしてますがなにか?
0922デフォルトの名無しさん
2009/10/31(土) 13:57:51つか誰もお前のゴミソフト使わねえって
0923913
2009/10/31(土) 14:21:34ありがとうございます。試してみます。
>>920
というか、フリーソフトとして公開するつもりはありません。
身内間の通信プログラムというか、あくまで私的利用の範囲です。
>>918でその通りと言ったのは、どの環境でも使えることを前提としているので、
フリーソフトとして公開する・・・と言った方が早いかと思ったからです。
あと、>>922さんが誰に言ってるか知りませんが、>>921は私では無いので一応。
勿論一般公開する場合はリソースに含むとマナー違反だとかも分かってますし、
取りあえず一般公開する気は無いので、暫定的にリソースを使おうかと思ってるだけです。
0924デフォルトの名無しさん
2009/10/31(土) 14:58:29921は俺だがな、リソースに含むと「マナー違反」ってなんだよw
じゃあ、俺のソフトはマナー違反か?
920の言うとおり、おまえ本当に分かってないんだな
Windowsを私的利用と称して同梱したら「マナー違反」か考えてみな
0925デフォルトの名無しさん
2009/10/31(土) 15:13:57こりゃまた面白い質問者が現れたものだ。
0926913
2009/10/31(土) 16:12:22私的利用だからマナー違反だとか、そんな事は言ってません。
>>923でも言った通り、私的利用する分にはリソースに入れても良いと考えてます。
そして、マナー違反というのは私はそう思っているだけなのかも知れませんね、
とりあえず私は一般配布時、リソースはそういう意味合いから使っていません。
WindowsOSを同梱して公開するとそれはそれでライセンス違反かと思いますが。
>>925
自信があって発言してるのではありませんよ。
ですからあくまで私的利用の範囲です。一般配布を前提としていないので、
一意見と質問の為に書き込んだだけです。
また、>>919を利用して解決しました。ありがとうございます。
この流れですと荒れそうですので、今後この名前で書き込むのは終わりたいと思います。
0927デフォルトの名無しさん
2009/10/31(土) 18:10:000928デフォルトの名無しさん
2009/10/31(土) 18:12:04ああそう
で、>>891を見て何か申し開きはあるの?
無いならすっこんでろカス
0929カス
2009/10/31(土) 19:13:31申し開き?
XPathの方が完全に簡潔じゃねーかタコ。
どんなパターンに仕様変更しても "/root/data" の一箇所くらいにしか影響が出ない。
それが簡潔でなくて何だ?
0930カス
2009/10/31(土) 19:31:31簡潔さ(保守性) : XPath >> LINQ
汎用性 : LINQ >> XPath
速度 : XMLの規模と検索パターン次第?
だとは思っている。
そして俺は保守性を最重要視しているだけだよ。
0931デフォルトの名無しさん
2009/10/31(土) 19:39:430932デフォルトの名無しさん
2009/10/31(土) 19:53:560933デフォルトの名無しさん
2009/10/31(土) 20:43:25(^-^)/~
0935デフォルトの名無しさん
2009/11/01(日) 00:30:02最近のゆとりはどこまで馬鹿なんだ?
>身内間の通信プログラムというか、あくまで私的利用の範囲です。
身内に渡した時点で、私的利用の範囲を超えています。
>勿論一般公開する場合はリソースに含むとマナー違反だとかも分かってますし、
マナー違反ではなく「法律違反」です。犯罪ですよ。
プログラムを勉強する前に一般常識勉強してくださいね。
0936デフォルトの名無しさん
2009/11/01(日) 00:32:07おまえらってwinnyやアニメを暇にうpしたりしてんだろ
0937デフォルトの名無しさん
2009/11/01(日) 00:34:26OSSの概念とかも何にも知らないで勝手にライブラリ取り込んだりソースコピペしたりリソース持ったり
犯罪を犯しまくっているんだろうな
0938デフォルトの名無しさん
2009/11/01(日) 00:39:21インストーラを自身のアプリケーションに同梱してよいと許可しているものもあるし、
>>921のようなソースコードの再利用だって、BSDライセンスやGPLのように条件を満たせば許されるものもある。
一律に駄目と言っているのではなく、そこのところの条件をきちんと調べて、
自分のやろうとしていることが問題ないか自分でよく確かめることが必要というだけのこと。
0939デフォルトの名無しさん
2009/11/01(日) 00:40:58横からすまんが、不特定多数ではない知り合い数人は
私的利用の範囲内という判例があるよ
0940デフォルトの名無しさん
2009/11/01(日) 00:43:57特にWindowsユーザはGPLとか慣れ親しんでいないから、モラル意識や法に関する知識が極端に低い。
プログラマとして最低限の知識です。まずifの構文を覚える前にこっちの勉強をしてください。
0941デフォルトの名無しさん
2009/11/01(日) 00:45:18プログラマ=アプリを配布する人、ってわけじゃないから、
必要なときに学べばいいだけだろ。
0942デフォルトの名無しさん
2009/11/01(日) 00:46:11どこの何という判例でしょうか?それを判断するのはあなたではなく司法です。
国民が判断出来るように法律が存在します、基本は法律に則って下さい。
0943デフォルトの名無しさん
2009/11/01(日) 00:48:13「配布するなら必要な知識」ってこと自体をゆりは知らないんですよ、そこが大問題です。
0944デフォルトの名無しさん
2009/11/01(日) 00:52:48馬鹿なお前さんが思ってるほと人は一般に馬鹿でも無責任でもないんだけど。
まあこういうのはネトウヨ君と一緒で、本人に自覚がないから言っても無駄なんだけど。
0945デフォルトの名無しさん
2009/11/01(日) 00:53:570946デフォルトの名無しさん
2009/11/01(日) 00:59:150947デフォルトの名無しさん
2009/11/01(日) 01:06:003行のレスに「馬鹿」って4回も使って、スレタイ読まずに煽ってるお前も相当アレだと思うのだが…
本人に自覚がないから言っても無駄なんだけど。
まぁ、そんな事はどうでもよくて、ライセンスはちゃんと守るべきだな。
0948デフォルトの名無しさん
2009/11/01(日) 03:20:36xpath = "/root/data/Style|/root/Style[contains(string(/root/data/styleUrl)+\"#\",@id+\"#\")]";
0949デフォルトの名無しさん
2009/11/01(日) 03:21:360950デフォルトの名無しさん
2009/11/01(日) 03:30:310951デフォルトの名無しさん
2009/11/01(日) 04:32:21ぜーはーぜーはー
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
0952デフォルトの名無しさん
2009/11/01(日) 04:42:33string 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
0953デフォルトの名無しさん
2009/11/01(日) 05:23:020954デフォルトの名無しさん
2009/11/01(日) 07:17:02俺のだからな
0955デフォルトの名無しさん
2009/11/01(日) 08:38:03その時、子フォームの配置を、
Top:親フォームの現在のTop値
Left:親フォームの現在のLeft値+50
にしたいと思います。
親フォームのTop値やLeft値を子フォームのLoad時に子フォームに渡すにはどうすればよいですか?
本やHPを見ても、
「子フォームから親フォームに値を渡す」
方法は書いていますが、
「親フォームから子フォームに値を渡す」方法はどこにも書いていませんでした。
よろしくお願いいたします。
0956デフォルトの名無しさん
2009/11/01(日) 09:12:260957デフォルトの名無しさん
2009/11/01(日) 09:29:11ありがとうございます。
子が親を参照している状態で
親が子を参照しようとすると、無限ループになるようです。
MDIというやり方を使用するしかないのでしょうか?
0958デフォルトの名無しさん
2009/11/01(日) 09:34:15親のLoadイベントとMoveイベントで子供の位置設定して終わりだろう
何か自分で問題を複雑にしているとしか思えないのだが
0959デフォルトの名無しさん
2009/11/01(日) 09:37:12いやモーダルダイアログだからその理屈はおかしい
でも、子ダイアログをnewしてからShowDialogするまでに位置を設定しておけば済む話の気がする
0960959
2009/11/01(日) 09:39:290961959
2009/11/01(日) 09:51:08ダイアログ表示時にLocationプロパティが効きません><って場合は
Formクラスのプロパティを隅々までご覧下さい
特にStで始まる奴を
0962デフォルトの名無しさん
2009/11/01(日) 11:23:33WebClientを使ってローカルにDLしてきて、
それを読み込んでDLしたファイルを消す・・・という方法の他に手軽なのはありますでしょうか?
凄く無駄な手順踏んでそうな気がして・・・
0963デフォルトの名無しさん
2009/11/01(日) 11:33:27http://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html
openread使えば、直接読めるみたいだけど。
0964デフォルトの名無しさん
2009/11/01(日) 11:35:05確か普通に配列としてダウンロードするメソッドもなかったっけか?
それがあったらダウンロードしてEncodingで文字列にするだけ。
0966デフォルトの名無しさん
2009/11/01(日) 12:25:370967デフォルトの名無しさん
2009/11/01(日) 12:36:250968デフォルトの名無しさん
2009/11/01(日) 12:47:37サーバアカウントやパスをそのまま記載するのはセキュリティ面から危ないと思います。
そこで、皆さんはどうやって記述しているんでしょう?
0969デフォルトの名無しさん
2009/11/01(日) 12:49:280970デフォルトの名無しさん
2009/11/01(日) 12:52:260971デフォルトの名無しさん
2009/11/01(日) 12:56:44起動時間などをサーバへ書き込みたいので、ユーザ入力では駄目なんです。
一ヶ所しか使わないので、専用の関数作るのも・・・と思ってたんですが、
やはり暗号化しか無いですよね、ありがとうございました。
0972デフォルトの名無しさん
2009/11/01(日) 12:57:470973デフォルトの名無しさん
2009/11/01(日) 12:58:06http://dobon.net/vb/dotnet/string/encryptstring.html
0974デフォルトの名無しさん
2009/11/01(日) 12:59:140975デフォルトの名無しさん
2009/11/01(日) 13:07:30他に何か方法があるのでしょうか?
>>973
ソースありがとうございます、頑張ってみます。
0976デフォルトの名無しさん
2009/11/01(日) 13:11:25・完全にネットワークから独立している状態で逆アセンブラ等を利用してパスワード盗まれる
・通信経路上で盗まれる
0977デフォルトの名無しさん
2009/11/01(日) 13:49:46逆アセンブラなどを使ってパスワード盗まれるのを防止したかったんです。
>>973の方法を利用させて頂きましたので、こちらの問題も解決しました。
皆さんありがとうございました。
0978デフォルトの名無しさん
2009/11/01(日) 14:01:390979デフォルトの名無しさん
2009/11/01(日) 14:26:22>>973の方法で君が望んでることをしようっていうのは
「金庫に鍵はかけたが、鍵は金庫の上に放置されている」
という状態なのだよ
例を挙げると、WinnyやShareって奴が(RC4で)同じ方法を取ってるわけだが
あっという間に暗号は解読されたな
0980デフォルトの名無しさん
2009/11/01(日) 14:33:09ダミーでサーバ用意してもいいし。
0981デフォルトの名無しさん
2009/11/01(日) 14:34:520982デフォルトの名無しさん
2009/11/01(日) 14:36:350984デフォルトの名無しさん
2009/11/01(日) 14:58:130985デフォルトの名無しさん
2009/11/01(日) 15:17:560986デフォルトの名無しさん
2009/11/01(日) 16:36:470987デフォルトの名無しさん
2009/11/01(日) 17:32:20http://pc12.2ch.net/test/read.cgi/swf/1238080584/
0989583
2009/11/01(日) 18:21:48何度もありがとうございました
0990986
2009/11/01(日) 18:22:16次で直すって言ったし
自分で立てた方がいいよね
0991デフォルトの名無しさん
2009/11/01(日) 18:24:25http://pc12.2ch.net/test/read.cgi/tech/1257067411/
0993デフォルトの名無しさん
2009/11/01(日) 19:37:54>>948-952
orz
0994デフォルトの名無しさん
2009/11/02(月) 13:51:13Leaveを使って、タブを違うテキストボックスに
移動した際に、入力された文字数の上限を
チェックしたいのですが、
textBox1.MaxLength = 32;
たとえばこれを挿入する際には
どこに挿入すればよいかわかりません。
他にも大文字小文字のチェックも同時に行うのですが、
それらの文章の直後につなげてしまってよいのでしょうか>
0995デフォルトの名無しさん
2009/11/02(月) 13:56:230996デフォルトの名無しさん
2009/11/02(月) 15:45:12ひとまず・・・もう少し話を整理してみような?な?
0997994
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";}
こんな感じで書いたんだけど、エラーがどうしても出る・・・
ごめん、初心者スレと見て書いたんだけど、
さすがに問題外すぎるかな。いつも書き込んだりしないから
今手震えてます。スレちだったら消えるよ(´・ω・`)
0998デフォルトの名無しさん
2009/11/02(月) 17:51:43お・・・乙
ひとまずMaxLengthは50より大きくしといて
�@条件文で数値でなければまずエラー
�Aそのうえで50文字を超えていたらエラー
にすればいいんじゃないか?
�@=IsNumeriで調べてみれば?
�A=TextBox.Text.Length
でとりあえずどうだろう?
アラートはMessageBox.Show あたりか?
まぁ・・さびしいと思うが頑張れ
つうか、日本のサイトググればいいんじゃねぇかと・・・
0999デフォルトの名無しさん
2009/11/02(月) 17:52:51ここを読めばすべてわかる
http://dobon.net/vb/dotnet/index.html
1000997
2009/11/02(月) 18:11:25詳細後ほど調べてみます。
998、999、ありがとう!
もうちょっと教えてくれたこと
自分で調べて頑張ってみる!
みんな優しいね。゚(゚´Д`゚)゚。
てわけで1000!!!
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。