ふらっとC#,C♯,C#(初心者用) Part64
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/10/12(火) 22:38:49「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part63
http://hibari.2ch.net/test/read.cgi/tech/1285048678/
■関連スレ
C#, C♯, C#相談室 Part62
http://hibari.2ch.net/test/read.cgi/tech/1284775031/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0002デフォルトの名無しさん
2010/10/12(火) 22:39:02ロクに回答もしない癖に態度だけデカイエセ回答者の出入り禁止
他人の人格を攻撃する荒らしの出入り禁止
0003デフォルトの名無しさん
2010/10/12(火) 23:00:160004デフォルトの名無しさん
2010/10/12(火) 23:08:39http://ideone.com/YCIlz
こんな感じでいいんじゃないか?
0005デフォルトの名無しさん
2010/10/13(水) 13:53:230006デフォルトの名無しさん
2010/10/13(水) 14:04:07前スレ見てないけどButton押しても反応ないよ?
0007デフォルトの名無しさん
2010/10/13(水) 14:25:46textboxに入力された文字列で始まる項目のみを表示するプログラムだってのはわかってるのか?
俺の環境(vs2010 .net3.5)じゃしっかり動いてるぞ
0009デフォルトの名無しさん
2010/10/13(水) 14:46:22http://ideone.com/VsVaY
0010デフォルトの名無しさん
2010/10/13(水) 15:00:05なんでDictionaryを使ったのか説明して欲しい
てかDictionaryとListは別物なんだからlistsって変数名はまずいだろ
0011デフォルトの名無しさん
2010/10/13(水) 15:02:230012デフォルトの名無しさん
2010/10/13(水) 15:08:300013デフォルトの名無しさん
2010/10/13(水) 15:13:35dt.Rows.Add("babc");
dt.Rows.Add("cabc");
dt.Rows.Add("zaabc");
すいませんAddRangeみたいに一気に入れられる方法教えてください
0014デフォルトの名無しさん
2010/10/13(水) 15:14:360015デフォルトの名無しさん
2010/10/13(水) 15:15:140016デフォルトの名無しさん
2010/10/13(水) 15:21:48元のデータはどういう形で存在するんだ?
コードに直打ちしてるの?テキストファイルから読み出すの?それともSQL?
はたまた別のクラスで生成されたListやDictonaryなの?
0017デフォルトの名無しさん
2010/10/13(水) 15:24:09http://msdn.microsoft.com/ja-jp/library/ms173118.aspx
0018デフォルトの名無しさん
2010/10/13(水) 15:24:40string[] myarray = new string[]{"no1","no2","no5","no158"}
ListとDictonaryというのは使ってません
listBox1がフォームにあります
0019デフォルトの名無しさん
2010/10/13(水) 15:25:38listBox1.Items.Clear();
listBox1.Items.AddRange(配列.Where(x => x.StartsWith(textBox1.Text)).ToArray());
求められてるのとは違うような気がするけど・・・
0020デフォルトの名無しさん
2010/10/13(水) 15:27:13dt.Rows.Add("aabc");
dt.Rows.Add("babc");
dt.Rows.Add("cabc");
dt.Rows.Add("zaabc");
の部分をItems.AddRangeみたいにできませんかね?
0021デフォルトの名無しさん
2010/10/13(水) 15:35:52foreach (string s in myarray) dt.Rows.Add(s);
これでいいだろ
>>19
DataTableにこだわらないならそれもいいね
0022デフォルトの名無しさん
2010/10/13(水) 17:53:04ばかそれはないだろ
0023デフォルトの名無しさん
2010/10/13(水) 17:59:02まさか煽るだけかい?
0024デフォルトの名無しさん
2010/10/13(水) 18:20:12詳しく説明してくれないか?
0025デフォルトの名無しさん
2010/10/13(水) 18:50:54上記のような括弧のないメソッドを記述したのを見つけたけど、
括弧付きの場合とどう違うのん?
0026デフォルトの名無しさん
2010/10/13(水) 18:55:19C言語で言うところの関数ポインタ
デリゲートでぐぐればいいと思うよ
0027デフォルトの名無しさん
2010/10/13(水) 19:05:06Action action = new Action(ins.method);の省略形
0028デフォルトの名無しさん
2010/10/13(水) 19:08:300029デフォルトの名無しさん
2010/10/13(水) 19:10:51なんか段々Cのころへ戻ってるじゃん・・・
IDEがタイプ補助してくれるだしさ・・
0030デフォルトの名無しさん
2010/10/13(水) 19:12:290031デフォルトの名無しさん
2010/10/13(水) 19:13:45ラムダ式に new Func<int, int>(x => x)とか書きたい?
0032デフォルトの名無しさん
2010/10/13(水) 19:16:580033デフォルトの名無しさん
2010/10/13(水) 19:21:24匿名メソッドやラムダ式はメソッドと同格なので、省略を許さないなら>>31みたいに書かないとおかしい
0034デフォルトの名無しさん
2010/10/13(水) 19:40:08>>4先生ありがとうございます
0035デフォルトの名無しさん
2010/10/13(水) 21:51:040036デフォルトの名無しさん
2010/10/13(水) 21:52:200037デフォルトの名無しさん
2010/10/13(水) 22:02:55コードビハインドになりません。
別のファイルにコードを書き込むのチェックがEnable=falseになってます。
ジェネリックハンドラってコードビハインドできなのでしょうか。
0038デフォルトの名無しさん
2010/10/13(水) 22:09:530039デフォルトの名無しさん
2010/10/14(木) 00:19:05無ければ作ればいいじゃない。エンジニアなんだから。
public static void AddRange(this DataTable self, params string[] arg)
{
foreach (var s in arg)
{
dt,Rows.Add(s);
}
}
こうすれば
dt.AddRange(array);
みたいにできない?
こんなんに拡張メソッド作るのがいいのかという噺はるけど・・・
0040デフォルトの名無しさん
2010/10/14(木) 00:49:58- 取るに足らない拡張メソッドを定義することを避けます
-(特に、ソースコードを所有しているのではない型に対して)。
IEnumerable<T>みたいにインターフェースを拡張するのはいいけど、それ以外って誤解を生むだけだと思う。
0041デフォルトの名無しさん
2010/10/14(木) 01:16:05ちょこっと自分で使うだけの private なものの規約はまたずいぶんと違うからなぁ。
public な物の規約厳しい MS でも、private は好きにやれ的スタンスだったはず。
0042デフォルトの名無しさん
2010/10/14(木) 01:43:450043デフォルトの名無しさん
2010/10/14(木) 01:48:00AddRangeがあるのにAddがないのはおかしいからな
0044デフォルトの名無しさん
2010/10/14(木) 06:35:440045デフォルトの名無しさん
2010/10/14(木) 07:33:02そうだね〜。DataRowCollection拡張すべきだと思う。
携帯からだったから、Rowsプロパティが何型か忘れてて書けなかった。
補足ありがとう。
0046デフォルトの名無しさん
2010/10/14(木) 10:22:060047デフォルトの名無しさん
2010/10/14(木) 11:03:55DataColumn.DataTypeは一応どんな型でも指定できるけど、
DataTableを正しく動作させるなら基本 .NET Framework データ型に限定するべき
(基本 .NET Framework データ型ってのはstringとかbyteとかintとか)
0048デフォルトの名無しさん
2010/10/14(木) 11:42:11戻り値の型に文字列も数値も入れられるからobject型で作ったほうが楽
0049デフォルトの名無しさん
2010/10/14(木) 11:48:570050デフォルトの名無しさん
2010/10/14(木) 11:55:58もう引数も返り値もぜんぶobjectにしとけよ
0051デフォルトの名無しさん
2010/10/14(木) 12:08:320052デフォルトの名無しさん
2010/10/14(木) 12:13:01objectのせいにするな
0053デフォルトの名無しさん
2010/10/14(木) 12:15:240054デフォルトの名無しさん
2010/10/14(木) 12:17:440055デフォルトの名無しさん
2010/10/14(木) 12:21:460056デフォルトの名無しさん
2010/10/14(木) 12:24:25デメリットを挙げるとキリがないが、一番初心者が実感してくれそうなのは
「インテリセンスが機能しない」かな
0057デフォルトの名無しさん
2010/10/14(木) 12:38:190058デフォルトの名無しさん
2010/10/14(木) 12:57:08一生キャストしてろ。
0059デフォルトの名無しさん
2010/10/14(木) 13:15:14説明できないのか
0060デフォルトの名無しさん
2010/10/14(木) 13:22:240061デフォルトの名無しさん
2010/10/14(木) 13:24:07相手が説明しないで逃げたからおれの勝ちみたい
0062デフォルトの名無しさん
2010/10/14(木) 13:54:170063デフォルトの名無しさん
2010/10/14(木) 14:10:530064デフォルトの名無しさん
2010/10/14(木) 14:18:330065デフォルトの名無しさん
2010/10/14(木) 14:21:140066デフォルトの名無しさん
2010/10/14(木) 14:21:290067デフォルトの名無しさん
2010/10/14(木) 14:21:550068デフォルトの名無しさん
2010/10/14(木) 15:06:42先に罵倒してきたクズに言われたくない
0069デフォルトの名無しさん
2010/10/14(木) 15:31:14何様だよ
0070デフォルトの名無しさん
2010/10/14(木) 15:32:31人格障害者黙ってろ
0071デフォルトの名無しさん
2010/10/14(木) 15:38:47クズども
0072デフォルトの名無しさん
2010/10/14(木) 17:05:440073デフォルトの名無しさん
2010/10/14(木) 17:17:280074デフォルトの名無しさん
2010/10/14(木) 17:40:500075デフォルトの名無しさん
2010/10/14(木) 18:32:300076デフォルトの名無しさん
2010/10/14(木) 18:45:140077デフォルトの名無しさん
2010/10/14(木) 18:52:41関数の返り値をobjectにすることは必ずしも悪いことじゃないよ
たとえばobjectを引数に取る関数に渡すことを目的としてる場合とか
外部データを特定の型に変換して返す場合(デシリアライズなど)とかね
でもそれは楽をするためじゃなくて、型が定まらないから仕方なくやること
>>48を読むと楽をするために作者しか使えない意味不明な関数を作ってますっていう印象しか受けない
もし"勝ちたい"のであれば実際に作った関数をここに晒して、objectを返すことの有用性を証明すればいいよ
0078デフォルトの名無しさん
2010/10/14(木) 19:07:570079デフォルトの名無しさん
2010/10/14(木) 19:13:06周りの迷惑も考えてくれ
まあ自分だけで使うんなら構わないがな
0080デフォルトの名無しさん
2010/10/14(木) 19:18:09そう言えば昔、そう言うコーディング規約みたことあるな。
C言語だったので、型はちゃんと定義していたけど。
0081デフォルトの名無しさん
2010/10/14(木) 19:21:480082デフォルトの名無しさん
2010/10/14(木) 19:25:470083デフォルトの名無しさん
2010/10/14(木) 19:26:080084デフォルトの名無しさん
2010/10/14(木) 19:38:34ちょっとこわい
0085デフォルトの名無しさん
2010/10/14(木) 19:39:430086デフォルトの名無しさん
2010/10/14(木) 19:50:300087デフォルトの名無しさん
2010/10/14(木) 19:54:420088デフォルトの名無しさん
2010/10/14(木) 20:28:550089デフォルトの名無しさん
2010/10/14(木) 20:32:17動的言語っていってもDLR言語に限らずブラウザのJavaScriptとの相互運用にも使えるから非常に有用
0090デフォルトの名無しさん
2010/10/15(金) 00:10:43そのかわりインテリセンスも効かなくなったけど。
0091デフォルトの名無しさん
2010/10/15(金) 00:14:400092デフォルトの名無しさん
2010/10/15(金) 00:17:590093デフォルトの名無しさん
2010/10/15(金) 00:50:060094デフォルトの名無しさん
2010/10/15(金) 04:50:30しょうなないんだろうが。。。なんとかしてほしいの。
0095デフォルトの名無しさん
2010/10/15(金) 09:08:51ぜんぜん使えるが
0096デフォルトの名無しさん
2010/10/15(金) 09:28:07糞クリップアートとか色々w
0097デフォルトの名無しさん
2010/10/15(金) 15:26:50そのグループ名をクリックしてそのグループを折りたたみたいと思います。
折りたたむ機能が無ければ、せめてクリックしたイベントがあればいいと思うのですが、
グループをクリックしたときのイベントはありますか?
0098デフォルトの名無しさん
2010/10/15(金) 16:28:20そもそもC#はJavaの代換として使えるのでしょうか?
よろしくお願いします。
0099デフォルトの名無しさん
2010/10/15(金) 16:39:34.netフレームワークとしてはどっちもどっちだけど(Tomcatに対抗してASPに組み込めるとか?)
0100デフォルトの名無しさん
2010/10/15(金) 16:48:09移行が容易ってことだったら関係ないかな。。。どうもありがとう。
0101デフォルトの名無しさん
2010/10/15(金) 16:58:390102デフォルトの名無しさん
2010/10/15(金) 17:45:05出来ることに、そんなに差はないと思うよ。
Monoとか使えばLinuxでも動くし。
MSのサポートは受けれないとおもうけど
0103デフォルトの名無しさん
2010/10/15(金) 18:27:44C#良さそうなのでC#にします。
詳しい解説ありがとうございました。
0104デフォルトの名無しさん
2010/10/15(金) 19:08:30でもコードがfinalだらけになるのが致命的に好きじゃない
0105デフォルトの名無しさん
2010/10/15(金) 20:01:16C# のメリット:
マイクロソフト、進化速い、サーバーもクライアントもライブラリそろってる、一貫性(オレオレライブラリ乱立してない)がある
C# のデメリット:
マイクロソフト、Mono だと GUI 回りはやっぱり弱い
Java の代替になら、完璧にこなす。
0106デフォルトの名無しさん
2010/10/15(金) 20:03:500107デフォルトの名無しさん
2010/10/15(金) 20:08:070108デフォルトの名無しさん
2010/10/15(金) 20:08:380109デフォルトの名無しさん
2010/10/15(金) 20:09:47あまりに囲いすぎ…
0110デフォルトの名無しさん
2010/10/15(金) 21:54:11フォントサイズと行数によってTextBoxの高さを設定したいのですが、どのように算出出来るのかが解りません。
今ここで、MS UI Gothic 9pt で1行のみだと19pxとなりました。
9pt / 72 * 96 = 12px + 2*2(Fixed 3D境界線の幅)=16px と、3pxの行方が解らなくなりました。
これが一行おきに出来るマージなのか、全体におけるマージなのか理論的に判別出来ず状態で、知恵を貸して頂けたら幸いです。
0111デフォルトの名無しさん
2010/10/15(金) 21:56:190112デフォルトの名無しさん
2010/10/15(金) 22:14:33問題設定が間違ってるな。
0113デフォルトの名無しさん
2010/10/15(金) 22:16:06private void textBox1_TextChanged(object sender, EventArgs e) {
if (string.IsNullOrEmpty(textBox1.Text)) {
textBox1.Height = textBox1.PreferredHeight;
} else {
int margin = textBox1.PreferredHeight - textBox1.Font.Height;
int height = textBox1.Font.Height * textBox1.Lines.Length;
textBox1.Height = height + margin;
}
}
0114デフォルトの名無しさん
2010/10/15(金) 22:23:410115110
2010/10/15(金) 22:55:28例えばTextBoxの最小行数を設定保存ファイルから読み込んで
その行数から、Load時にminimumsizeを設定する…と言った具合です。
その時に境界線、スクロールバーの高さを差し引いて設定行数に合わせてTextBoxのサイズ変更・・・というのが最終的にやりたいことです。
0116デフォルトの名無しさん
2010/10/15(金) 23:00:28冷静に考えてみ?
意味ないでしょ。
0117デフォルトの名無しさん
2010/10/15(金) 23:07:04>>113のコードを少し直せばできないか?
0118デフォルトの名無しさん
2010/10/15(金) 23:07:46試しにフォントサイズ変更してみて。
もし、3pxのずれが大きくなるなら、仕様かな。どっかに書いてあった。
0119デフォルトの名無しさん
2010/10/15(金) 23:24:550120110
2010/10/15(金) 23:26:419pt→12pt(16px)にしたら高さ23pxだったので、差分値が3pxと同じでした・・・仕様ではないっぽいです(?)
>>117,113-114
コードとにらみ合ってます。
GetFontHeightもHeightも9ptで12pxと出ただけで、差分3pxの行方は解らずのままでした。
0121デフォルトの名無しさん
2010/10/15(金) 23:26:460122デフォルトの名無しさん
2010/10/15(金) 23:28:18いや、もう少し大きくしてみて。20ptぐらい。
0123110
2010/10/15(金) 23:33:3321pt(28px)でHeight=35pxでした。
境界線が2*2=4pxなので、35-32=3px で、やはり同様の結果でした
(整数計算の便宜上、20ではなく21にさせて頂きました)
0124デフォルトの名無しさん
2010/10/15(金) 23:34:36int fontHeight = base.FontHeight;
if (this.borderStyle != BorderStyle.None)
{
fontHeight += (SystemInformation.BorderSize.Height * 4) + 3;
}
return fontHeight;
と、定数で3たしてるし
あんまり気にしなくていいんじゃない?
0125デフォルトの名無しさん
2010/10/15(金) 23:43:460126デフォルトの名無しさん
2010/10/15(金) 23:57:51意味あんのかよそのUI。
0127デフォルトの名無しさん
2010/10/16(土) 00:00:24調べてみると3pxが定数で加算されるような情報は幾つか見当たりますね
定数として加算する方向でやってみようかと思います。。
0128デフォルトの名無しさん
2010/10/16(土) 00:10:04基づいて計算された単一行テキストボックスに最適な高さのことだよ。
0129デフォルトの名無しさん
2010/10/16(土) 00:21:01現代的なUIはどうなってるんだ?
0130デフォルトの名無しさん
2010/10/16(土) 00:43:060131122
2010/10/16(土) 01:05:54ものすごくごめんなさい。何か勘違いしてた。
以前Textboxの横に行番号をつける時があって、その時は +2 とか +3 で調整してた。。。
0132デフォルトの名無しさん
2010/10/16(土) 01:20:100133デフォルトの名無しさん
2010/10/16(土) 01:27:220134デフォルトの名無しさん
2010/10/16(土) 01:33:540135デフォルトの名無しさん
2010/10/16(土) 01:44:04private void Form1_Load(object sender, EventArgs e) {
int line = 5;
textBox1.Text = new string('\n', line-1);
System.Drawing.Size s = textBox1.GetPreferredSize(Size.Empty);
textBox1.MinimumSize = new Size(0, s.Height);
}
0136デフォルトの名無しさん
2010/10/16(土) 02:48:53この流れに何かワロタw
0137質問どす
2010/10/16(土) 11:20:200138デフォルトの名無しさん
2010/10/16(土) 12:07:540140デフォルトの名無しさん
2010/10/16(土) 12:49:000141デフォルトの名無しさん
2010/10/17(日) 11:53:41hitomojiが漢字なのかを簡単に判別するclassなどはありますでしょうか?
hitomojiの内容は固定ではありません
0142デフォルトの名無しさん
2010/10/17(日) 12:03:29漢字ってカテゴリーまでとれたかどうか忘れたけども(ひょっとしたら可読文字でひとくくりかも)。
0143デフォルトの名無しさん
2010/10/17(日) 12:13:13SJIS(CP932)とUnicodeの対応表を入手してソースコードに持っといて
漢字以外を除外してやればいいんじゃない。
0144デフォルトの名無しさん
2010/10/17(日) 12:22:230145デフォルトの名無しさん
2010/10/17(日) 12:23:35踊り字は漢字か否か?とか
0146デフォルトの名無しさん
2010/10/17(日) 12:31:040147デフォルトの名無しさん
2010/10/17(日) 12:36:01http://www.forest.impress.co.jp/docs/news/20091104_326335.html
0148デフォルトの名無しさん
2010/10/17(日) 12:38:00http://ufcpp.net/study/csharp/ap_reverse.html#string_03
0149デフォルトの名無しさん
2010/10/17(日) 15:57:370150デフォルトの名無しさん
2010/10/17(日) 16:27:050151デフォルトの名無しさん
2010/10/17(日) 17:53:28どうすればよいのでしょう?
0152デフォルトの名無しさん
2010/10/17(日) 18:01:100153デフォルトの名無しさん
2010/10/17(日) 18:11:30ProgressChangedイベントにアタッチされたメソッドがメインスレッドに同期した状態で実行されるから、そのメソッドにlabelを更新する処理が書ける。
ああ、WorkerReportsProgressプロパティをtrueに設定するのを忘れるなよ。
0154デフォルトの名無しさん
2010/10/17(日) 18:13:520155デフォルトの名無しさん
2010/10/17(日) 18:14:35backgroundworkerなんて使わずにtimerで充分だけどな
0156デフォルトの名無しさん
2010/10/17(日) 18:27:11編集をいちいちコーディングするのでは生産性が低いので、
InputManやActiveReportsのように入力支援や帳票開発
コンポーネントのように、データの項目編集に使える
良いコンポーネントって無いですか?
0157デフォルトの名無しさん
2010/10/17(日) 18:35:410158デフォルトの名無しさん
2010/10/17(日) 18:41:18っていう話じゃないのか・・・
0159デフォルトの名無しさん
2010/10/17(日) 18:45:32どうしても作りたいなら InputMan 買えば?
それか、DataGrid, DataForm。
0160デフォルトの名無しさん
2010/10/17(日) 18:53:17え、そこ!?
真面目に答えたおれ超KYじゃないか
0161デフォルトの名無しさん
2010/10/17(日) 19:32:54InputManでテキストデータ編集できるんですか?
Accessクエリでも良いのですが、結構複雑なことを
やりたいんです。
ズバリ自動化やWaha!TransformerのようなEAIツールのような
感覚でデータ編集ジョブを作ってそれをC#で呼び出すような
ことが出来ると良いのですが・・
今は、Accessでクエリ作って、SQLビューでSQL文をコピって
SQLサーバーやOracleに貼り付けして使用なんて事もしているんですが
ある程度複雑なことをやろうとすると手詰まりになることもあるので・・・
0162デフォルトの名無しさん
2010/10/17(日) 19:48:460163デフォルトの名無しさん
2010/10/17(日) 21:16:270164デフォルトの名無しさん
2010/10/17(日) 21:29:230165デフォルトの名無しさん
2010/10/17(日) 21:31:45もうちょっとやりたいことをまとめてから質問した方が良いよ
情報小出しにされると解答するのめんどくさくなるから
0166デフォルトの名無しさん
2010/10/17(日) 23:30:150168デフォルトの名無しさん
2010/10/17(日) 23:34:06こういう奴の思考回路って意味不明な質問文書く奴と同じなんだろうな。
基本、自分を客観視できないというか、他人から自分の言動がどう見えるか
多分想像する能力が欠如しまくってるとしか思えない。
0169デフォルトの名無しさん
2010/10/17(日) 23:36:53あわてんぼさん
0170デフォルトの名無しさん
2010/10/17(日) 23:38:43早まったなw
0171デフォルトの名無しさん
2010/10/17(日) 23:38:480172デフォルトの名無しさん
2010/10/17(日) 23:41:18こういう奴の思考回路って意味不明な質問文書く奴と同じなんだろうな。
基本、自分を客観視できないというか、他人から自分の言動がどう見えるか
多分想像する能力が欠如しまくってるとしか思えない。
0173デフォルトの名無しさん
2010/10/17(日) 23:42:20悪かったからそう苛めないでよw
0174デフォルトの名無しさん
2010/10/17(日) 23:43:330175デフォルトの名無しさん
2010/10/17(日) 23:44:390176デフォルトの名無しさん
2010/10/18(月) 00:00:150177デフォルトの名無しさん
2010/10/18(月) 01:28:51なんと寛大なお心!
0178デフォルトの名無しさん
2010/10/18(月) 01:48:480179デフォルトの名無しさん
2010/10/18(月) 01:57:480180デフォルトの名無しさん
2010/10/18(月) 02:06:070181デフォルトの名無しさん
2010/10/18(月) 02:10:13C# が使えるかどうかは別として。
0182デフォルトの名無しさん
2010/10/18(月) 02:12:21(注: 本当にやっている人います)
0183デフォルトの名無しさん
2010/10/18(月) 02:27:44岡崎図書館の館長に土下座して許可取らないと愛知県警に逮捕されるぞw
0184デフォルトの名無しさん
2010/10/18(月) 02:36:56検索、貸出管理、予約機能があれば十分ですかね
完成したらここに貼りつけてもいいですか?
>>181,182
なんかハードル高くね?間違いなく身長の3倍はある。
0185デフォルトの名無しさん
2010/10/18(月) 03:32:58Dictionaryとかで
0186デフォルトの名無しさん
2010/10/18(月) 03:36:29DictionaryにしたらLinqの練習にならないんじゃない?
0187デフォルトの名無しさん
2010/10/18(月) 03:58:290188デフォルトの名無しさん
2010/10/18(月) 10:43:46IEで投げるとutf8で返って来るけどC#WebClientで投げると文字化けします。
原因は何でしょうか?
0189デフォルトの名無しさん
2010/10/18(月) 10:49:57めっちゃ基本的過ぎて誰にも聞けないので教えてください。
C#でビルドして出てきたEXEを、他のパソで起動するには、
そのパソにNET Frameworkとかいうのが入ってないと駄目なんですよね?
しかもバージョンが合ってないと駄目なんですよね?
で今のWindows7とかには最初からNET Frameworkは入ってるのですか?XPには入ってませんよね。
0190デフォルトの名無しさん
2010/10/18(月) 11:23:03入ってないとダメ
バージョンは上位互換があるからとりあえず最新版が入ってればおk
7とVistaは最初から入ってる、XPは入ってない
0191デフォルトの名無しさん
2010/10/18(月) 11:26:11System.Net.WebClient wc = new System.Net.WebClient();
wc.Encoding = Encoding.UTF8;
string x = wc.DownloadString(new Uri("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello&langpair=en%7Cja "));
0192デフォルトの名無しさん
2010/10/18(月) 11:45:53どうもありがとうございました!スッキリしました!
0193デフォルトの名無しさん
2010/10/18(月) 11:56:24ありがとうございます
0194デフォルトの名無しさん
2010/10/18(月) 13:04:56いえいえ
0195デフォルトの名無しさん
2010/10/18(月) 13:22:18お前は答えてないだろw
と毎回突っ込みたくなる
0196デフォルトの名無しさん
2010/10/18(月) 15:29:530197デフォルトの名無しさん
2010/10/18(月) 15:32:32早速作ってみた
http://ideone.com/gUrO6
やたら長くなってしまって申し訳ないんだけど、
もし暇な人いたらレビューしていただけませんか?
0198デフォルトの名無しさん
2010/10/18(月) 17:39:41Linqの勉強にしてはLinq以外を作りすぎな気もするが・・・
0199デフォルトの名無しさん
2010/10/18(月) 17:46:11↓
そうだ!自分でネタふりしてその回答提示でやればもっと凄いと思われるお!
0200デフォルトの名無しさん
2010/10/18(月) 18:06:57そうだね、そういうつもりじゃなかったんだけど、
見返してみたらそのまんまでなんか嫌になってきた
0201デフォルトの名無しさん
2010/10/18(月) 18:33:26Linqは横断的な技術で、コレクションやデータベース、
スレッドが縦糸とするとLinqは横糸的な位置づけ。
お題を決めたらLinq以外が膨らむのはしょうがないと思うよ。
0202デフォルトの名無しさん
2010/10/18(月) 18:35:26ここは怖いインターネットですね^^;
0203デフォルトの名無しさん
2010/10/18(月) 18:38:20こいつ性格悪すぎワロタw
0204デフォルトの名無しさん
2010/10/18(月) 21:46:090205デフォルトの名無しさん
2010/10/20(水) 10:30:13常に最初からのダウンロードになってしまいます。m_FileStream.Lengthがファイルの長さだと思うので
特に間違ってはいないように思うのですが何処がおかしいのでしょうか?。
m_FileStream = new FileStream(m_path, FileMode.OpenOrCreate, FileAccess.Write);
HttpWebRequest request = (HttpWebRequest)ar.AsyncState;
request.AddRange(m_FileStream.Length);
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar);
if (response.StatusCode != HttpStatusCode.PartialContent)
{
m_FileStream.Seek(0, SeekOrigin.Begin);
}
else
{
m_FileStream.Seek(0, SeekOrigin.End);
}
0206デフォルトの名無しさん
2010/10/20(水) 10:34:15request.AddRange(m_FileStream.Length);
だと先頭からm_pathのファイルサイズまでってことじゃない?
0207デフォルトの名無しさん
2010/10/20(水) 22:10:49どうやらバイト同士ではxor演算ができないようなので一度int型に入れてから演算し、もう一度バイト配列に入れようと思うのですが・・・
byte[] code;//値が代入されている
byte[] code2;
int ii;
for (i = 0; i < code.Length; i ++)
{
ii = code[i];
ii = ii ^ 0x30;
code2[i] = BitConverter.GetBytes(ii);
}
しかしこれだと「byte[]をbyteに暗黙的に変換できません」と怒られてしまいます
byte配列の1つはbyte型と同じ扱いはできないのでしょうか?
だとしたらどうすればいいですか?
0208デフォルトの名無しさん
2010/10/20(水) 22:15:240209デフォルトの名無しさん
2010/10/20(水) 22:17:11その例ならiiを普通にbyteにキャストすればいいだけ。
GetBytesなんかループの中で使うな。恐ろしく非効率。
0210デフォルトの名無しさん
2010/10/20(水) 22:28:23ありがとうございます。解決しました。
やっぱ似てるとはいえDelphiとは違いが多いですね;;
0211デフォルトの名無しさん
2010/10/20(水) 22:38:03いくらDelphiと似てるといっても全く関係ない部分でしょ
でも>>207はDelphiと違うからわからないとかいうことではなくてそれ以前の問題な気がするが
0212デフォルトの名無しさん
2010/10/20(水) 23:06:41念のために書いておくけどこれで十分だからね
0213デフォルトの名無しさん
2010/10/21(木) 10:41:06Delphiでも普通にキャストするだろw
0214デフォルトの名無しさん
2010/10/21(木) 11:00:44short a, b, c;
a = (short) (b + c);
0215デフォルトの名無しさん
2010/10/21(木) 11:59:47C#に限らず、ごく一般的な動作
0216デフォルトの名無しさん
2010/10/21(木) 14:02:03Cの場合short同士の演算結果はあくまでshortで精度の拡張は行われないから
こういうキャストはいらない。
0217デフォルトの名無しさん
2010/10/21(木) 14:21:02どちらの考え方があってるかは規格書見ないとわからんけど
おそらく計算前に拡張しているでいいと思う。
C#との違いはキャストの要不要の部分だろう。
0218デフォルトの名無しさん
2010/10/21(木) 14:38:28Cでもchar+charでオーバーフローしたりはしない
0219デフォルトの名無しさん
2010/10/21(木) 14:43:15キャストが要らないのはintを小さい型の変数に代入するのがエラーではないから。
0220デフォルトの名無しさん
2010/10/21(木) 14:46:11某雑誌の「一気にわかるC#」という付録を見てサンプルを作ってみたのですが、
記事によると、フォームが開くとき、それをハンドラとして最初にロードされるプログラムを書く、
とあるのですが、記事の通り書いたのですが動いてくれません。
自分なりに調べたところ、フォームのデザイナが自動生成するコード(FormMain.Designer.cs)の中に
必要な一文が抜けてることを発見しました。
「this.Load += new System.EventHandler(this.FormMain_Load);」
なのですが、この一文をデザイナ(というかIDE?)で自動生成させるための操作はどうすればいいのでしょうか?
記事にはそのへんのところが詳しく書いてないのです。
手動で書き足すしかないのでしょうか?
他にも数箇所、抜けてる行があるのですが良く分かりません。orz
0221デフォルトの名無しさん
2010/10/21(木) 14:50:270222デフォルトの名無しさん
2010/10/21(木) 15:15:38ありがとうございました。
0223デフォルトの名無しさん
2010/10/21(木) 15:24:35複数のフォームから参照できる変数はどこに書けば良いのですか?
0224デフォルトの名無しさん
2010/10/21(木) 15:27:570225デフォルトの名無しさん
2010/10/21(木) 15:45:44C++やVBでいうところのグローバル変数は.NETには無いので
一番最初にその変数を使うクラス内でメンバ変数として保持しておいて、
別のフォームにはコンストラクタを追加して渡したり:
MyForm form2 = new MyForm("Additional Info");
プロパティ経由で渡したりする:
MyForm form3 = new MyForm();
form3.MyProp = "Additional Info";
0226デフォルトの名無しさん
2010/10/21(木) 15:54:50internal static class Globals {
internal string どこからでも参照可能 = "Additional Info";
}
のようにすればどこからでも Globals.どこからでも参照可能 でアクセスできる
褒められたものではないけど初心者なら>>225のような方法よりもわかりやすいし
変に背伸びするより見通しのよいコードになると思う。
0227デフォルトの名無しさん
2010/10/21(木) 16:14:550228デフォルトの名無しさん
2010/10/21(木) 20:21:46ここら辺どうしてます?
0229デフォルトの名無しさん
2010/10/21(木) 20:28:00難読化から除外する
0230デフォルトの名無しさん
2010/10/21(木) 20:45:14あっ、部分的に除外ってできるのか。さんきゅー。
[ObfuscationAttribute(Exclude = true, ApplyToMembers = true)]
0231デフォルトの名無しさん
2010/10/21(木) 21:06:07参考書読んでも書いてないんですが・・・
0232デフォルトの名無しさん
2010/10/21(木) 21:07:080233デフォルトの名無しさん
2010/10/21(木) 21:09:07文字を作り出すのなら new String(char, count) も。
参考書より、この手のものはコンストラクタかメソッドか静的メソッドのどれかにあるわけだから
入力補完を眺めるのがいいと思うよ。
0234デフォルトの名無しさん
2010/10/21(木) 21:22:02理想の動きができました
ありがとうございます
0235デフォルトの名無しさん
2010/10/21(木) 21:27:09>>231の目的ではPadRightとPadLeftが正解だろ
そのまんま「文字列が指定した文字数に達していなかったら足りない分だけ指定した文字で埋める」メソッドだ
0236デフォルトの名無しさん
2010/10/22(金) 07:34:120237デフォルトの名無しさん
2010/10/22(金) 07:48:04イベントにたいする処理や非同期呼び出しをLINQ使って簡単に処理出来るようになるよ。
0238デフォルトの名無しさん
2010/10/22(金) 08:15:49フォームアプリのHowToが知りたくて、「"C#" フォームアプリケーション」でググったのですが、
「Hello World!」入門サイトか、逆にやたら難しい研究サイトみたいなのしか出てこないですね?
中間くらいの難易度で実用的なアプリのサンプルと、
そのコードの解説をしてるようなサイトか参考書を教えて欲しいです。お願いします。
0239デフォルトの名無しさん
2010/10/22(金) 08:22:40@ITの.NET Tipsとかはどう?
0240デフォルトの名無しさん
2010/10/22(金) 08:23:572ch 専用ブラウザの作り方
http://cs2ch.blog123.fc2.com/blog-entry-1.html
0241デフォルトの名無しさん
2010/10/22(金) 11:36:48こんな大きなサイトがあったのですね!参考になります。ありがとうございました。
0242デフォルトの名無しさん
2010/10/22(金) 12:25:23入門と@ITの中間くらい。わかりやすい。実用ではない
ttp://ufcpp.net/study/csharp/index.html
0243デフォルトの名無しさん
2010/10/22(金) 14:12:220244デフォルトの名無しさん
2010/10/22(金) 16:16:000245デフォルトの名無しさん
2010/10/22(金) 16:58:350246デフォルトの名無しさん
2010/10/22(金) 17:05:160247デフォルトの名無しさん
2010/10/22(金) 17:06:220248デフォルトの名無しさん
2010/10/22(金) 23:34:570249デフォルトの名無しさん
2010/10/23(土) 00:05:24Form2 frm2 =new Form2();
frm2.Show();
だとボタンを押す事に別のForm2が開いてしまいます。
一つだけ開けるようにするにはどうしたらいいですか。
0250デフォルトの名無しさん
2010/10/23(土) 00:08:00private void button1_Click(object sender, EventArgs e) {
if (frm2 == null) {
frm2 = new Form2();
frm2.FormClosed += (s, e1) => frm2 = null;
frm2.Show();
}
}
0251デフォルトの名無しさん
2010/10/23(土) 00:08:580252デフォルトの名無しさん
2010/10/23(土) 00:10:26これをForm1のどこからでも参照できる位置に置いて
frm2 =new Form2();
この部分をLoadイベントもしくはShowイベントなどで一度だけ呼ばれるようにする
0253デフォルトの名無しさん
2010/10/23(土) 00:34:02有り難うございます。
0254デフォルトの名無しさん
2010/10/23(土) 00:35:04シングルトンパターンの応用でいいでしょ。
Form2のコントスラクタをprivateにして(この場合静的クラスは不可)、
こんなメソッドを作ればOK.
private static Form2 _instance;
public static void ShowInstance()
{
if (_instance == null)
{
_instance = new Form2();
_instance.FormClosed += _instance_Closed;
}
_instance.Show();
}
0255デフォルトの名無しさん
2010/10/23(土) 00:38:460256デフォルトの名無しさん
2010/10/23(土) 00:40:03それでもいいけどボタンを再度おせるような状況も考えないといけないからなあ
0257デフォルトの名無しさん
2010/10/23(土) 00:43:41ボタンを再度押せるような状況考えてやっても
大きなお世話だろうけど、普通はシングルトンだろうな
0258デフォルトの名無しさん
2010/10/23(土) 00:45:580259デフォルトの名無しさん
2010/10/23(土) 00:48:08質問者の条件が漠然としてるし
その漠然とした要件を一応は満たした回答でてるんだし
0260デフォルトの名無しさん
2010/10/23(土) 00:48:08Form2の仕様の都合上二つ以上作れない場合に使うもの
0261デフォルトの名無しさん
2010/10/23(土) 01:49:46行いたいことは、TimeSpan型の値が25分ぴったりになったときにMessageBoxを表示させたいと思っております。
TimeSpan型の値はライブラリから返される値なので、関数を呼ぶと取得ができます。
0262デフォルトの名無しさん
2010/10/23(土) 01:58:360263デフォルトの名無しさん
2010/10/23(土) 02:17:41ここを参考にバイナリへの読み書きを勉強してるのですが、
配列を扱う方法が分かりません。
例えば以下のようなクラスの配列Meiboの中身をバイナリへ順に書き込み、
読み出す時には同じようにMeiboに格納していくには、上記URLの例を
どういう風に変えればいいですか?
//クラス
[Serializable()]
public class Member
{
public string Name;
public int age;
}
//クラスの配列
static public Member[] Meibo = new Member[100];
0264デフォルトの名無しさん
2010/10/23(土) 02:27:55もう少し詳しく書いてくれないかね
もしそのTimespanが実時間と連動しているならSystem.Timers.Timer使えばいい。
そうじゃなくてゲームの中の時間とか、シーク可能な動画の経過時間とかならこんな感じ。
double m = ts.TotalMinutes - 25;
if (0 <= m && m < 1) { // 25分から25分59秒99
// do task
}
定期的にTimespanをチェックする方法を知りたいなら、フォームのデザインビューでTimerを追加してそこのイベントに書けばいい
0265デフォルトの名無しさん
2010/10/23(土) 02:36:27Meibo = (Member[])LoadFromBinaryFile("meibo.bin");
SaveToBinaryFile(Meibo, "meibo.bin");
変えなくてもこれでいいんじゃないか
要素がシリアル化可能ならその配列もバイナリ化できる
0266デフォルトの名無しさん
2010/10/23(土) 03:16:38できました有り難うございます。
0267デフォルトの名無しさん
2010/10/23(土) 08:30:190268デフォルトの名無しさん
2010/10/23(土) 10:50:50まさか幾ら何でもそんな落ちはないだろw
0269デフォルトの名無しさん
2010/10/23(土) 11:18:29DateTimeを使えば簡単にできそうな印象はあるのですがどうもスッキリいけません。
0270デフォルトの名無しさん
2010/10/23(土) 11:30:590271デフォルトの名無しさん
2010/10/23(土) 11:32:250272デフォルトの名無しさん
2010/10/23(土) 11:36:560273デフォルトの名無しさん
2010/10/23(土) 11:42:340274269
2010/10/23(土) 12:29:13お礼 つ焼きそば
0275デフォルトの名無しさん
2010/10/23(土) 12:33:43そこに手をついて尻をこっちに向けろ
0276デフォルトの名無しさん
2010/10/23(土) 13:18:380277デフォルトの名無しさん
2010/10/23(土) 13:21:54;:;:;. ,/ `⌒γ
;:;:; ( /⌒⌒"" \\ ど
;:;: ( / ⌒ ⌒:::::::::ヽ i 明 う
;:;:. ヽi (・ )` ´( ・):::::::::::! る だ
:;:;:;. | (_人__):::::::::::::::| く
;:;:;: \ 'ー´:::::::::::::/ヽ な
;:;:. ノ.:!:.:.:.:`ゞ-<7.:〉.:.:.:i.:.:} ろ っ
从 __ _,,,/.:.:/:.:.:.:.:.:| }-{/i.:/.:.:.:.:|.:/ う た
从从百円}と_」.:/!.:.:.:.:.:.:.!  ̄ リ.:.:.:.:.:り ?
 ̄ ̄  ̄ |.:.:.:.:.:./_ :__ヽ.:.:.:.:\
\/.:.::..:.:.:.:.:.:..:\:.::./
/.:.:.:.:.:.:.「^Y.:.:.:.:.:.:|´
{.:.:.:.:.:.:.:.| ,!.:.:.:.:.:.:|
\.:.:.:.:.:.V.:.:.:.:.:.:.:|
\.:.:.::|.:.:.:.:.:.:.:!
> 'ゝ─‐イ、
0278デフォルトの名無しさん
2010/10/23(土) 13:50:40こんなのもあるんだな
0279デフォルトの名無しさん
2010/10/23(土) 20:36:440280デフォルトの名無しさん
2010/10/23(土) 22:32:30C#
0281デフォルトの名無しさん
2010/10/23(土) 22:33:230282デフォルトの名無しさん
2010/10/23(土) 22:45:260283デフォルトの名無しさん
2010/10/23(土) 22:51:120284デフォルトの名無しさん
2010/10/23(土) 23:35:46いい勉強になった
0285デフォルトの名無しさん
2010/10/23(土) 23:37:55と入力するとstringを返すCUIプログラムがあるとします。
これをVC#のフォームアプリでボタンを押すと実行されてDOS窓みたいなのを表示させず
返値だけ取得したいのですがどうすればいいですか?
0286デフォルトの名無しさん
2010/10/23(土) 23:41:32終わってからファイルを読み込み、ってのが一番楽。
0287デフォルトの名無しさん
2010/10/23(土) 23:43:31ttp://dobon.net/vb/dotnet/process/standardoutput.html
0288280
2010/10/24(日) 00:06:51「何か展示品が欲しいからC#で簡単なゲームを5日で作ってこい」
という課題を無理に出されました
唯一勉強してるCの方も本を見通しただけでまともなプログラムなんて組めません
正直そこらへんの人とプログラミングに対する知識は差が無いです
何か簡単にプログラムを組めるゲームのお勧め等を教えてもらえないでしょうか(モグラたたきなど
何から取り組めばいいのかわかりません
課題を出した方も無理難題を言って叱りたいだけにしか見えなくて八方ふさがりです
0289デフォルトの名無しさん
2010/10/24(日) 00:17:57そこ見たんですけど、
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
の行の変え方が良くわかんないんです。
0290デフォルトの名無しさん
2010/10/24(日) 00:26:29Arguments = "--sikosiko"; // 引数
0291デフォルトの名無しさん
2010/10/24(日) 00:40:51じゃんけんでもいいんじゃないの?
グーチョキパーの絵書いて人に選ばせて、COMは自分の手を乱数で選んで、
勝ち負け判定で終わり
余裕があれば、ご褒美とか付ける
0292デフォルトの名無しさん
2010/10/24(日) 00:54:09脱衣とかw
別の意味で展示できなくて、ちょうど良い当て付けになるなw
0293288
2010/10/24(日) 00:58:09じゃんけん、○罰ゲーム、文字を読むゲーム(クイズ等)をあげたら
調子のんなカスとまで言われたので・・・でも知らない言語、短い期間でモグラ叩きとかまでは作れる気がしません;
じゃんけん以上モグラたたき以下のゲームで自分が作れる、となるともう選択肢がなくて参ってます;
0294デフォルトの名無しさん
2010/10/24(日) 00:59:40テトリスとかマインスイーパぐらいなら満足してくれそうだな
0295デフォルトの名無しさん
2010/10/24(日) 01:02:300296293
2010/10/24(日) 01:12:33そういうものなら満足してくれると思います
マインスイーパはデフォでPCについてるので流石に却下されますが・・・
1からC#を勉強してたら時間が無いので、勉強の仕方にも困ってます
>>295
ちょっとしたゲームはVBで作ったことがあるので最初はいける、と思ってたのですが
C#じゃないとダメみたいです、C#を使うことが重要だらしいので
0297デフォルトの名無しさん
2010/10/24(日) 01:17:285日後にそいつ殴れば? 面白いゲーム考えましたとか言いながらさ
0298デフォルトの名無しさん
2010/10/24(日) 01:18:380299デフォルトの名無しさん
2010/10/24(日) 01:19:33http://ufcpp.net/study/csharp/getstarted.html
0300デフォルトの名無しさん
2010/10/24(日) 01:21:42http://cs2ch.blog123.fc2.com/blog-category-3.html
0301デフォルトの名無しさん
2010/10/24(日) 01:30:17すみません、引数の中にunko.txtなどのファイルのパスがあった場合はどう書くんですか?
どのプログラムで試しても引数にファイルパスが入ってると値が返ってこないんです。
0302296
2010/10/24(日) 01:42:28自分の相方が課題を出されたとき時全く文句を言わないで今になって「できねぇ・・・」って言ってるのが正直つらいです
反論してるときに「とりあえずやってない内から文句言うなよ・・・」みたいな感じの白い目を向けていたのになんなのもう
近頃騒がれてるブラックって常にこんな感じでやりとりしてるのかな、と思ったり・・・
>>299
今そこを参照しているのですが、ゲームを作るにあたって一個一個消化してたら
時間が無くなってしまうのでどうすればいいか途方にくれています
>>300
有難うございます
全部見て参考にしたほうがいいのかな、これ・・・
0303デフォルトの名無しさん
2010/10/24(日) 01:48:57自分で作ったと言い張らなければいいんじゃないの?
嘘を言っても後で苦労するだろうしw
参考にしたと言っておけば・・
まあ作った経験がないのなら動くソースをいじって勉強するのが最短だよ
0304デフォルトの名無しさん
2010/10/24(日) 01:58:21>>303
有難うございます
怒られそうですが出来ないよりかはマシなので試してみます
ソースまで載せてるサイトが検索してもなかなか見つからないのですが、
どこか展示されているサイトなど知っていたら教えてくださると幸いです
0306デフォルトの名無しさん
2010/10/24(日) 02:00:21動画はC#じゃないよ
C(C++?)で作ってるし
それをC#で作るとこうなるってだけだから動画は後で参考にすればいいんじゃね?
1時間も見てると長い
ソース公開されてるでしょ
0307299
2010/10/24(日) 02:12:55その動画貼ってあるサイトで公開されてるソースはこれね
http://sourceforge.jp/projects/cs2h/svn/view/Tetris.tar.gz?root=cs2h&view=tar
0308304
2010/10/24(日) 02:19:42有難うございます
参照したいときに見てみます
>>306
ソースダウンロードしました、一応これは著作権フリーなのかな・・・?
実行できないのですが、何か実行する前にする操作などありますでしょうか
0309デフォルトの名無しさん
2010/10/24(日) 02:24:590310308
2010/10/24(日) 02:42:32有難うございます、無事実行できました
既にあるフリーのソースコードをいじって勉強していく形でいく方針にするとします
以降は自分で出来る範囲まで頑張ってみます
普通なら罵倒される駄目質問に長時間にわたって親身になって答えてくれる皆様には感謝し尽くせません
怖いくらい優しくしてもらって本当に感謝してます、有難うございました
0311デフォルトの名無しさん
2010/10/24(日) 04:22:13これをクラス内部で変える方法はあるのでしょうか。
public int X { get; }
public void foo() {
this.??? = 123; // Xを変えたいが記述が分からない
}
---------------------------
自動を使わない方法のみ??
private int _x;
public int X {
get {
return this._x;
}
}
public void foo() {
this._x = 123;
}
0312デフォルトの名無しさん
2010/10/24(日) 04:30:11クラス内部からそのまま_xを触れるでしょ
あくまで外部からどうするかだし
0313デフォルトの名無しさん
2010/10/24(日) 04:32:32自動使わない方法のみか、
public int X { get; private set; }
にするか。
0315デフォルトの名無しさん
2010/10/24(日) 08:58:100316デフォルトの名無しさん
2010/10/24(日) 12:22:19は、4.0ではコンパイル通るようになったのか?
0317デフォルトの名無しさん
2010/10/24(日) 12:25:41というか、仮に通ったとしてどういう動作が期待されるわけ?それは
0318デフォルトの名無しさん
2010/10/24(日) 12:57:29値をセットできないじゃん。何がしたいの?
0319317
2010/10/24(日) 12:58:12提案者じゃないのでわかりません
0320316
2010/10/24(日) 13:57:400321デフォルトの名無しさん
2010/10/24(日) 14:51:540322デフォルトの名無しさん
2010/10/24(日) 15:17:57そういう質問じゃん。
0323デフォルトの名無しさん
2010/10/24(日) 15:24:23public int A {get; private set;}
public int B {get; private set;}
public BaseClass(int a, int b);
}
class DrvClass : BaseClass{
public DrvClass(string c){
int a, b;
// cからaとbを計算
base(a, b);
}
}
例のように派生クラスの引数から値を計算して
既定クラスのコンストラクタを呼び出したいんですが
なにかいい方法はないでしょうか。
0324デフォルトの名無しさん
2010/10/24(日) 15:34:57class Hoge {
public int a, b;
}
public DrvClass(string c) : this(Parse(c)) {
}
private DrvClass(Hoge x) : base(x.a, x.b) {
}
private static Hoge Parse(string x) {
}
}
こんなのとか?
0325デフォルトの名無しさん
2010/10/24(日) 15:45:16なるほど、ありがとうございます
0326デフォルトの名無しさん
2010/10/24(日) 16:27:09へー。そんな書き方出来るのか。
0327デフォルトの名無しさん
2010/10/24(日) 18:08:500328デフォルトの名無しさん
2010/10/24(日) 18:12:230329デフォルトの名無しさん
2010/10/24(日) 18:17:21>>327
「返ってくる時がある」って何?
LINQ の Average は決定論的な動作しかしないはずだけども。
他に何か変な処理してるんじゃないの?
0330デフォルトの名無しさん
2010/10/24(日) 18:17:44ってのは0の場合とそうじゃない場合があるってことか?
普通に考えたら163232以外ありえないが
0331327
2010/10/24(日) 18:26:00int abc = (int) (1192/rate);
rateが予想に反して0になるから下の割り算でエラーになったのですが問題はrateがどうして
0になるのかがわからないのです。int[]の中身を見ると0,326464が入っていました。
int[]が非同期から持ってきている変数なのでタイミング的にデバッグの数字が一致しない
時があるのでしょうか?
0332デフォルトの名無しさん
2010/10/24(日) 18:34:440除算エラー発生
0と326464が配列に追加される
こんな流れだろ
0333デフォルトの名無しさん
2010/10/24(日) 18:36:050334デフォルトの名無しさん
2010/10/24(日) 18:37:36どう考えても怪しいのは非同期の方。
0335デフォルトの名無しさん
2010/10/24(日) 20:19:07キャストより . が優先順位上なので、それは意味なす
0336デフォルトの名無しさん
2010/10/24(日) 21:33:12文字列を自動入力するようなプログラムを
作りたいと思っているのですが、
何について調べればよろしいでしょうか?
0337デフォルトの名無しさん
2010/10/24(日) 22:18:01自動入力についての詳しい仕様を書いてくれないと回答しようがありません。
0338デフォルトの名無しさん
2010/10/24(日) 22:24:280339デフォルトの名無しさん
2010/10/24(日) 22:27:50スレ違い
0341デフォルトの名無しさん
2010/10/25(月) 13:55:40なるかどうか、実行前に先に知るにはどうにすればよいでしょうか。
0343デフォルトの名無しさん
2010/10/25(月) 19:09:040344デフォルトの名無しさん
2010/10/25(月) 19:18:07/* デストラクタ */ ~classname(){}
0345デフォルトの名無しさん
2010/10/25(月) 19:43:090346デフォルトの名無しさん
2010/10/25(月) 20:38:440347デフォルトの名無しさん
2010/10/25(月) 20:54:09デストラクタも~ { }で
0348デフォルトの名無しさん
2010/10/25(月) 21:12:450349デフォルトの名無しさん
2010/10/25(月) 21:20:36MFCはデフォルトでできるんだけど。
0350デフォルトの名無しさん
2010/10/25(月) 21:36:44そんな大掛かりなUIが必要なソフトならそれくらい自分で作るだろ
0351デフォルトの名無しさん
2010/10/25(月) 21:42:280352349
2010/10/25(月) 21:44:47初心者でもタブ付きMDIくらい作りたいだろ(´・ω・`)
MVCには、ついてるじゃん。
>>351
探してみますわ。ありがとう。
0353デフォルトの名無しさん
2010/10/25(月) 21:47:390354デフォルトの名無しさん
2010/10/25(月) 21:55:440355デフォルトの名無しさん
2010/10/25(月) 22:18:25ライセンスは要確認だけど
0356デフォルトの名無しさん
2010/10/25(月) 22:33:450357デフォルトの名無しさん
2010/10/25(月) 22:36:450358デフォルトの名無しさん
2010/10/25(月) 22:37:25VisualStudiogが動作する環境なら使わないメリットは
ほとんど無いと思いますが?
0359デフォルトの名無しさん
2010/10/26(火) 00:08:110360デフォルトの名無しさん
2010/10/26(火) 00:19:10ReadAllTextを使うとします
1MBのファイルを100つ開くのと100MBのファイルを1つ開くのではどちらがパフォーマンス、危険性などに問題がありますか?
0361デフォルトの名無しさん
2010/10/26(火) 00:23:30アクセスとは何ですか?ファイルを何に使いますか?どういうパフォーマンスが求められているのですか?
何の危険性を心配しているのですか?
具体的に書きましょう。
0362デフォルトの名無しさん
2010/10/26(火) 00:30:31アクセス・・・メモ帳で開く、保存するなどの行為とします
ファイルはテキストファイルで、読み込んでstring配列に格納するとします
パフォーマンスというか、どちらの処理の方が早いか、ですね
危険性は、ファイルを他のアプリケーションが編集、保存等をしている最中のため、読み込みに失敗したり例外を吐いたりということです
わかりづらくてすいません;;
0363デフォルトの名無しさん
2010/10/26(火) 00:38:07いや真面目に結局何が知りたいのかサッパリ若布
0364デフォルトの名無しさん
2010/10/26(火) 02:25:031Mのファイルを100個開いていって途中でどうやら使いにくいってなったら
その場で流動的に回避する方法しかないんでは(100Mの一つのファイルに落とし込むとか?)
0365デフォルトの名無しさん
2010/10/26(火) 03:06:25作ろうとしているのかで答えが変わってくるから
抽象的な喩え話をされても答えにくいんだよな
まあ俺なら、それぞれのファイルが独立していて単体で読み書きできる場合以外は分割しないだろうな
0366デフォルトの名無しさん
2010/10/26(火) 11:01:30え?どうゆこと?
C#だけではMIDIアプリは作れないって事?
おれMIDIとかWAVとかの音楽系のアプリめざして勉強始めたばかりなんだけど・・・
誰かおしえてorz
0367デフォルトの名無しさん
2010/10/26(火) 11:02:360368デフォルトの名無しさん
2010/10/26(火) 11:05:35エクセルとかもそういう構造だし
MIDIとは違うけど
0369デフォルトの名無しさん
2010/10/26(火) 11:06:360370デフォルトの名無しさん
2010/10/26(火) 11:18:35C#でMIDIやWAVを扱えるアプリのサンプルを紹介してる本やサイト探してます。
分かりやすい日本語サイトとかないですかね?
Win32API使ったC++の10年以上前の本なら見つけたんだけど、
0371デフォルトの名無しさん
2010/10/26(火) 11:19:45過去ログ調べてみ
0372デフォルトの名無しさん
2010/10/26(火) 11:36:13たぶん見たことあると思う。ロクなレス付かなかったんじゃなかった?
WAVの同期/非同期再生くらいならありこち見かけるけど、ちょっと専門的なのって無いですね。
0373デフォルトの名無しさん
2010/10/26(火) 12:18:13C#を使い始めて日が浅く調べてもヒットしなかったので教えてください。
タスクトレイ常駐型のプログラムを作成したいのですが、設定ウィンドウをHideやShowで
一時的に見えなくするのではなく、タスクトレイのアイコンからメニュー起動で設定ウィンドウ
を生成したい場合どのような方法がありますででしょうか?
よろしくおねがいいたします。
0374デフォルトの名無しさん
2010/10/26(火) 12:20:40隠しウインドウ作ってそいつとメニューを結びつけて
別ウインドウを作るとか
0375デフォルトの名無しさん
2010/10/26(火) 12:39:18分かりやすいかどうかは貴方のスキル次第だけど
ちょっと専門的なのがいいならこれのソースでも読んでみれば?
http://naudio.codeplex.com/
0376デフォルトの名無しさん
2010/10/26(火) 12:57:00ttp://www.amazon.co.jp/dp/4877832181/
0377デフォルトの名無しさん
2010/10/26(火) 13:17:52この辺はwavファイルの勉強すればバイナリ読みすればできるやん
http://www.cutt.co.jp/book/978-4-87783-218-6.html
0378デフォルトの名無しさん
2010/10/26(火) 13:24:07別のフォームを作って、そのフォームはタスクトレイ用でそこから設定ウィンドウを
開ける・・・ということでしょうか?
常駐型なので出来るだけメモリへのロードを抑えたいのですがその別のフォーム
を作る以外にはないでしょうか?作業の内容としてはフォルダ内のファイルを監視
して新規、変更等があれば処理を行うというものです。
仕様するコンポーネントはNotifyIconとFileSystemWatcherを使用する予定です。
0379デフォルトの名無しさん
2010/10/26(火) 13:26:100380デフォルトの名無しさん
2010/10/26(火) 13:33:17初心者のレベルを超えてるからって結論じゃなかったっけ?
で、オープンソース読めってのは妥当な回答だったような。
結局 winapi や directx系使って鳴らす形になるので
C#とかC++とかの言語は関係ないし。
ファイルフォーマットを熟知して解析し、
それで得たデータの意味を熟知し、足し引きして好きな形に扱って出力するだけの話なんだよね。
同期・非同期は準備コードレベルという。
出力先は普通にoutデバイスだったり、
スペクトルアナライザや音ゲーみたいなのだと画面にも出したり。
Yahoo!知恵袋で自分で頑張って作ってどうしても判らない所を質問してる人が居たけど、
そんな姿勢じゃないと難しいと思うよ。
0381デフォルトの名無しさん
2010/10/26(火) 13:33:22そうですか><一応業務用に常駐させておくので少しでもメモリ節約しようと
思いまして@w@あと、個人的にどうすればいいのか知りたかったのとw
0382デフォルトの名無しさん
2010/10/26(火) 13:37:35まあこんなところで説明しきれるほど小さい内容じゃないしなw
>>381
作ってみればいいじゃん
最低限のフォーム表示するアプリ程度ならいくらメモリ消費してるか
調べるのが面倒なくらいの消費量だよw
0383デフォルトの名無しさん
2010/10/26(火) 13:53:59適当なサンプル作ったので参考までに
(インデントは全角スペースにしてあるので注意)
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1()); // ←フォームはApplicationContextあたりで管理してやれば無駄なメモリは食わない
//メニュー
ContextMenuStrip cmStrip1 = new ContextMenuStrip();
//好きなメニューにする
// こいつを使えばFormに関係なくタスクトレイを扱える
NotifyIcon ni = new NotifyIcon();
ni.Icon = new Icon("../../NET12.ico"); // パスは好きにしてね(ね)
niIcon.ContextMenuStrip = cmStrip1; // メニューはこのプロパティでできるみたい
ni.DoubleClick += new EventHandler(ni_DoubleClick); // イベント追加
ni.Visible = true; // これしないと見えない
Application.Run();
}
// タスクトレイのアイコンをダブルクリックしたらメッセージダイアログが出ます
static void ni_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show("ok");
}
こんな感じでできるっしょ。
0384373
2010/10/26(火) 13:58:26ビルドして起動してみるとタスクマネージャー上で8,124k使用されており、C++ですべて作り込んだ
同じソフトが2,480kとかなり差がでました。もしかしてC#で作ること自体重くなってしまうのでしょうか?
開発環境がC++(ボーランド)とC#なのですが、そのあたりにも関係あるのでしょうか?
ちなみに、少し容量が増えたくらいで〜って思うかもしれませんが、探究心から知りたいのでよろしくおねがいします。
ちなみにC++で作成されたソフトのコードに冗長なところもあり、ロジックの作りなどが古いので
新規作成する経緯があります。(#defineによる文字列置き換えや、グローバル変数を多用しているなど)
0385デフォルトの名無しさん
2010/10/26(火) 14:03:49ふむふむ!ありがとうございます。さっそくコードを精査してみて
テストしてみます♪
0386デフォルトの名無しさん
2010/10/26(火) 14:05:05ttp://okwave.jp/qa/q2113581.html
0387デフォルトの名無しさん
2010/10/26(火) 14:08:42http://ideone.com/knsuP
こうすれば隠しフォームを使わずにできるよ
ただ1回でもフォームを生成すると閉じてもメモリは減らない。
メモリ節約というなら設定フォームを別の実行ファイルにして呼び出すって形にしないとだめかもね
0388デフォルトの名無しさん
2010/10/26(火) 14:10:550389デフォルトの名無しさん
2010/10/26(火) 14:13:420390370
2010/10/26(火) 14:29:54おあ!C#での解説本あったのか!でも高い!orz
こういうの電子化して欲しいな。
>>380
そうなんですよね。結局、ソース読めるようになれって話で。
でも以外にC#で書かれてるの少ないんだよね。どうしてもC++中心な感じ。
で>>375はダウンロードすればC#のソースが見れるのですかね?
英語サイトは全く読む気力が起きないもんで・・・
0391デフォルトの名無しさん
2010/10/26(火) 14:37:41うん。
0392デフォルトの名無しさん
2010/10/26(火) 14:38:16右にあるDownloadってでっかいボタン押すだけだろ
この程度もわからないならソース読んでも意味無いかもな
0393デフォルトの名無しさん
2010/10/26(火) 14:47:100394デフォルトの名無しさん
2010/10/26(火) 15:50:39ちゃんと動いているよ
以下必要な要件
・C#の基本が分かっていること
・C++で同様のプログラム作成のスキルがあること
・マーシャリングについてある程度知識があること
ワカランことがあったら解説するけど
丸投げ、クレクレ坊はお断り
0395デフォルトの名無しさん
2010/10/26(火) 16:07:08Windowsで音を鳴らすにはどうしたらいいかとか、
waveファイルの解析方法などはC#全く関係ないだろ。>>375はたまたまC#で書いてあるだけだ。
そこらへんの知識は自分で入手した上で、このWinAPIの関数を
C#で使うにはどうしたらいいかとか、C++のサンプルではこのようになっているが
どうC#に持っていけばいいかとかいうのはこのスレで聞けばいい。
0396デフォルトの名無しさん
2010/10/26(火) 16:19:16英語の仕様書に行き当たることが多いと思うけどな。
もちろん仕様書にはC#どころかどの言語のソースコードも載ってないのが普通。
0397デフォルトの名無しさん
2010/10/26(火) 17:12:58プログラムを作る過程で調べた人がいないかと思いまして。
0398デフォルトの名無しさん
2010/10/26(火) 17:24:41Windows APIバイブルの3巻だっけな。
押入れにまだあるなw
0399370
2010/10/26(火) 18:26:15そうなんですよ。お手軽さからC#から入ったんだけど、オーディオMIDI関係って
未だにC++やAPIの比重が高くて困ってるんですよ。
でも>>376みたいな本や>>375みたいなサンプルがあるとかなり助かります。
サンプルがあれば、多少分からなくても、見よう見まねで先に進めますから。
ただ>>375はちょっとパーツが多すぎて、まだ僕には難しすぎますねorz
まあ気長に進めていきますよ。趣味だから。
興味はMIDIのほうにあるんですけどね。MIDI関係の情報って少ないですよね。
0400370
2010/10/26(火) 18:29:22もっと具体的な質問が出来るようになったら、そのときはよろしくお願いしますよ。
今はまだ、サンプルの真似や組み合わせすることしか出来ません。
0402デフォルトの名無しさん
2010/10/26(火) 18:38:140404デフォルトの名無しさん
2010/10/26(火) 22:22:57お前が一番めんどくせーよ
0405デフォルトの名無しさん
2010/10/26(火) 23:21:130406デフォルトの名無しさん
2010/10/26(火) 23:56:130407デフォルトの名無しさん
2010/10/27(水) 00:08:56引きこもってるやつがスクリプト化されたBBSとかチャットのせいで、
自分の国が滅んでたの気づかなかったってやつ
0408デフォルトの名無しさん
2010/10/27(水) 00:15:09PKディックとかにそんなのありそう。
まあデカルトの「我思う故に我あり」だって考えようによってはその手の話だ。
0409デフォルトの名無しさん
2010/10/27(水) 00:41:37直近で2年位前か
0410デフォルトの名無しさん
2010/10/27(水) 03:39:160411デフォルトの名無しさん
2010/10/27(水) 06:35:49うちの妹の話でもしようか
0412デフォルトの名無しさん
2010/10/27(水) 10:43:44publicに設定したいのですがどうしいたら良いのでしょうか?。
0413デフォルトの名無しさん
2010/10/27(水) 15:36:14フォームの自動生成機能がコントロールをどのアクセシビリティレベルで宣言するかを指定するための項目
だから手動でtextbox1を追加するときはpublic TextBox textbox1;
って書けばModifiersをpublicに設定したのと同等になる
0414デフォルトの名無しさん
2010/10/27(水) 15:57:170415デフォルトの名無しさん
2010/10/27(水) 22:57:050416デフォルトの名無しさん
2010/10/28(木) 00:09:360417デフォルトの名無しさん
2010/10/28(木) 00:57:23後で描画することを考えるとList<>使うよりも前者のほうが向いてるんでしょうか?
0418デフォルトの名無しさん
2010/10/28(木) 01:26:02ライフゲーム”とか”で使うなら範囲外アクセスを回避したいとかグリッドを結合させたいとか色々要求が別にあるだろうから、それならそれで別に作る
0419デフォルトの名無しさん
2010/10/28(木) 04:56:11盤面の大きさ変える必要があるときはnewし直せばいいだけなわけだし。
0420デフォルトの名無しさん
2010/10/28(木) 10:15:14FileSystemWatcherってファイルの監視をTimerで見てるの?それともイベント?
0421デフォルトの名無しさん
2010/10/28(木) 11:32:29ReadDirectoryChangesW使ってる
0422デフォルトの名無しさん
2010/10/28(木) 14:24:24ありがとうございます。タイマー使うよりは処理は重くなくてよさげっぽいですね。
めっちゃ更新されるとバッファオーバーになるようですが・・・
0423デフォルトの名無しさん
2010/10/28(木) 16:30:040424デフォルトの名無しさん
2010/10/28(木) 17:46:17ここでいいんですかね?
0425デフォルトの名無しさん
2010/10/28(木) 18:16:540426デフォルトの名無しさん
2010/10/28(木) 18:38:490427デフォルトの名無しさん
2010/10/28(木) 19:42:110428デフォルトの名無しさん
2010/10/28(木) 20:34:350429デフォルトの名無しさん
2010/10/28(木) 20:44:15MSに質問というか報告した方が良さそう。
0430デフォルトの名無しさん
2010/10/28(木) 21:05:30「ありがとう」を「がとりうあ」
にする、みたいな
0431デフォルトの名無しさん
2010/10/28(木) 21:15:59というのを複数回繰り返す
0432デフォルトの名無しさん
2010/10/28(木) 21:17:58どうもありがとう
0433デフォルトの名無しさん
2010/10/28(木) 21:23:14その方法だと一様に分布しないんじゃないのか
0434デフォルトの名無しさん
2010/10/28(木) 21:32:13「ありがとう」から
範囲が 0〜4 の乱数、で 2 が出たとして「が」を取り出す
「ありとう」から
範囲が 0〜3 の乱数、で 2 が出たとして「と」を取り出す
「ありう」から
範囲が 0〜2 の乱数、で 1 が出たとして「り」を取り出す
「あう」から
範囲が 0〜1 の乱数、で 1 が出たとして「う」を取り出す
「あ」から
「あ」を取り出す
で「がとりうあ」
0435デフォルトの名無しさん
2010/10/28(木) 21:38:17Random r = new Random();
StringBuilder sb = new StringBuilder(str);
for (int i = 0; i < sb.Length; i++) {
int j = r.Next(i, sb.Length);
char t = sb[i];
sb[i] = sb[j];
sb[j] = t;
}
return sb.ToString();
}
0436デフォルトの名無しさん
2010/10/28(木) 21:44:01こんなのとか?
まあもっと上手い方法が何かありそうな感じもするが....
string ShuffleLeter(string text)
{
var sl = new SortedList<int, char>();
var rnd = new Random();
foreach (char c in text)
{
sl.Add(rnd.Next(), c);
}
return new string(sl.Values.ToArray());
}
0437デフォルトの名無しさん
2010/10/28(木) 21:47:510438デフォルトの名無しさん
2010/10/28(木) 21:49:100439デフォルトの名無しさん
2010/10/28(木) 21:51:310440デフォルトの名無しさん
2010/10/28(木) 21:57:020441デフォルトの名無しさん
2010/10/28(木) 22:07:08new string((from c in str let p = new {r = r.Next(), c} orderby p.r select p.c).ToArray());
0442デフォルトの名無しさん
2010/10/28(木) 22:14:45return new string((from c in str orderby r.Next() select c).ToArray());
0443デフォルトの名無しさん
2010/10/28(木) 22:16:43new Socket().SendFile(path);では上手く行きません。
データを送りつけるだけではだめなのでしょうか?。
0444デフォルトの名無しさん
2010/10/28(木) 22:17:14それletいらなくない?
return string.Join("", str.OrderBy(_ => r.Next()));
0445デフォルトの名無しさん
2010/10/28(木) 22:23:15タイトルや本文をID・パスと一緒にttp://sns.dataholdings.jp/に送信しているみたい。
そのアドレスから「sns.」を除いてttp://dataholdings.jp/でアクセスしたら
つ○やキングを作ってる会社のHP(ttp://www.esukei.jp/)に飛ばされた。
これって対丈夫なの?
SNS -> FrmProstMsg -> meuSendMsg_Clickに書いてある
MixiCommon.MIXI_MessageSendメソッドのstring requestUriString
ってのをMSに聞こうと思ったけど、どこに送っていいか分からなかった。
Windows Marketplaceで公開されてるし大丈夫だとは思うんだけど。
0446デフォルトの名無しさん
2010/10/28(木) 22:29:560447デフォルトの名無しさん
2010/10/28(木) 22:35:39残念ながらエラーだ
return new string(str.OrderBy(_=>r.Next()).ToArray());
>>445
プライバシーの問題の話をしているなら
ダウンロードページのReport Abuseってところから苦情出せばいいんじゃない?
ところでさっきまではちゃんとダウンロードページ表示されてたのに
今はエラーってでるな
0448デフォルトの名無しさん
2010/10/29(金) 00:04:44.NET4でString.Join<T>(String, IEnumerable<T>)とか追加されてる
0449デフォルトの名無しさん
2010/10/29(金) 07:55:22まじか、それは失礼
0450デフォルトの名無しさん
2010/10/29(金) 11:07:51C#は名前空間がたくさんありすぎて・・・Cはまだやってないですk
0451デフォルトの名無しさん
2010/10/29(金) 11:13:30C#が楽だろ
名前空間覚えるの大変ってCだって結局はライブラリとかAPIとか覚えるんだから一緒だよ
0452デフォルトの名無しさん
2010/10/29(金) 11:15:510453デフォルトの名無しさん
2010/10/29(金) 11:23:10例えばの話、実用じゃなくて学校の課題的な意味で、
言語でできる最低ラインのこと覚えるだけってなら C 言語は超楽。
機能がないんだもん。
で、目的ベースで、世に出せるようなアプリ作りたいってのなら、
たいていは C# の方が楽。
「C# が使える」って言われる分野だと絶対 C# の方がいい。
0454デフォルトの名無しさん
2010/10/29(金) 11:27:32どこのサイトを調べてもメインフォームを非表示にさせて必要な時だけShowするってやり方なのですが、
制御用のクラスAと処理用のクラスB、設定用のフォームをそれぞれ作りMain()で制御用のクラスを生成し
常時使用したいです。終了は任意のタイミングで制御用のクラスを終了させてアプリを閉じるにはどのような
方法がありますか?ちなみに、設定用のフォームは初回起動時に設定するだけがほとんどで後はレジストリ
値から読み込むのでフォーム非表示の方法はさせたくありません。
ちなみに自分が考える方法としてはsleepで任意の時間停止させてFor文でまわす・・・・という方法しか思いつきません
でしたorz フォームを非表示にするのであればタスクからコンテキストメニューでClose()すれば済むから楽ですけど・・・
0455デフォルトの名無しさん
2010/10/29(金) 11:32:580456デフォルトの名無しさん
2010/10/29(金) 11:33:59処理側が while(IsAlive) みたいなループしてるんなら、
終了させたいスレッドで IsAlive 書き換えておしまい。
0457デフォルトの名無しさん
2010/10/29(金) 11:38:04処理側は普段は何もしていません。特定のイベント(ファイルの作成、削除、リネーム)が
行われた時のみ制御クラスから呼び出して処理を行います。
なので処理側はループ処理は行いません。
・・・でもよく考えたらSleepとかにしちゃうとタスクバーからのメニュー表示とかに
影響が出そうですが・・・
PS.サービスにしろっていうのは無しでorz使っちゃだめらしいので@w@
0458デフォルトの名無しさん
2010/10/29(金) 11:39:090459デフォルトの名無しさん
2010/10/29(金) 11:43:540460デフォルトの名無しさん
2010/10/29(金) 11:45:02今回はクライアント側で動作するソフトなのであまり意識しないのですが、今後はサーバー
にも常駐ソフトを開発する機会が増えるらしいので少しでも資源の節約を考えないと・・・と
思いましてorz
0461454
2010/10/29(金) 11:46:57それとサーバー常駐ならC/C++でしょーが!!って言われるかもですが、
現在までC++で作っていたのですが、社の方針ですべてC#にすることなので
ご理解のほどよろしくおねがいします;w;
0462デフォルトの名無しさん
2010/10/29(金) 11:48:33どう考えても新機能使える方が楽。
減ってる機能はない。
0463デフォルトの名無しさん
2010/10/29(金) 11:50:54それ、なんかただ単に非同期処理したいだけ?
BackgroundWorker じゃダメなの?
0464454
2010/10/29(金) 11:58:32BackgroundWorkerを使用とのことでしたが、処理内容自体は軽く、頻度もそこまである
わけではないのであまり考えていませんでした。
463さんの言われるのは処理ではなく、制御用にご使用されては?ということでしょうか?
0465デフォルトの名無しさん
2010/10/29(金) 12:00:23そんなもん、普通に BeginInvoke とか使った非同期処理すりゃいいんじゃないの?
0467デフォルトの名無しさん
2010/10/29(金) 12:31:32ファイルの監視するクラス、又はメソッドをデリゲートに入れて実行させておいて、
呼び出し元ではタスクのコンテキストメニューなどから終了すると。アプリケーションを
停止するという考え方であっていますでしょうか?
0468デフォルトの名無しさん
2010/10/29(金) 13:30:45ちゃんとサンプルへのリンクあるじゃないか。
これやってみてわからないとこを聞きなさい。
http://blog-yama.a-quest.com/?eid=267269
0469デフォルトの名無しさん
2010/10/29(金) 13:32:42そちらのサンプルの場合は同期で発生するやりかたですでに訪問済みです
ぼくの探しているサンプルは非同期のほうなんです
0470デフォルトの名無しさん
2010/10/29(金) 13:33:270471デフォルトの名無しさん
2010/10/29(金) 13:50:02ホイ
http://monmokoblog.blogspot.com/2008/01/c.html
0472デフォルトの名無しさん
2010/10/29(金) 14:45:21前にも書いたんだけど
http://ideone.com/D0Wak
こういう方法じゃダメなの?
0473デフォルトの名無しさん
2010/10/29(金) 21:41:320474デフォルトの名無しさん
2010/10/29(金) 21:55:390475デフォルトの名無しさん
2010/10/29(金) 22:04:55コード量が多すぎて僕には難しいです(汗
非同期でこんにちはを発音する程度の本当にシンプルなサンプルがいいのですがそういうサンプルってないですよね?
0476デフォルトの名無しさん
2010/10/29(金) 22:22:24コマンドライン引数に与えられた文字列を発音するコンソールアプリケーション作って
Process.Startで呼べば非同期になる
0477デフォルトの名無しさん
2010/10/29(金) 23:38:07終了はalt+f4や右上の×ボタンを押して終了させたりも含みます
0478デフォルトの名無しさん
2010/10/29(金) 23:42:270479デフォルトの名無しさん
2010/10/29(金) 23:50:36これは?
0480デフォルトの名無しさん
2010/10/30(土) 00:01:210481デフォルトの名無しさん
2010/10/30(土) 00:10:45ちょっと触ってみたからサンプルとしてあげる。
フォームにボタン1つ貼り付けただけのもの。
http://ideone.com/ZQYsG
0482デフォルトの名無しさん
2010/10/30(土) 01:32:580483デフォルトの名無しさん
2010/10/30(土) 01:59:270484デフォルトの名無しさん
2010/10/30(土) 08:50:500485デフォルトの名無しさん
2010/10/30(土) 08:58:080486デフォルトの名無しさん
2010/10/30(土) 09:34:010487デフォルトの名無しさん
2010/10/30(土) 10:31:270488デフォルトの名無しさん
2010/10/30(土) 10:36:100489デフォルトの名無しさん
2010/10/30(土) 14:00:430490デフォルトの名無しさん
2010/10/30(土) 15:19:22なにかのプロパティを設定したら、親に通知が行くようになるとかありませんか。
具体的には、マウスカーソルをツールウィンドウからメインウィンドウに移動させた際に、フォーカスをメインウィンドウに移したいと思っており、
メインウィンドウでMouseEnterイベントを捕まえたいのですが、メインウィンドウの子コントロールに捕まってしまうので、
何とか簡潔な手段で解決したいです。
0491デフォルトの名無しさん
2010/10/30(土) 15:26:55位置関係とやりたいことが今一つよくわからん
とりあえず、子のMouseLeaveから親のMouseEnterを呼ぶ
0492デフォルトの名無しさん
2010/10/30(土) 16:09:11このリストビューからマウスで項目を選び、メインウィンドウの方にマウスカーソルを戻すと、メインウィンドウで作業していた場所に戻るというか…
メインウィンドウのキャプションをクリックすれば、大体そんな感じにはできるんですけど、
マウスカーソルの移動が頻繁になったり大きくなったりして、それは避けたい…とか思ってまして…
>>491の方法も試してみましたが、ツールウィンドウのMouseLeaveはDock=FillにしたListViewにつかまるし、
ListViewのMouseLeaveは、リストビューのヘッダに移動しただけで発生するので、うまくコントロールできませんでした。
いろいろ考えたんですが、1秒間に数回くらいマウスの位置をポーリングして、判断すればいいのかな、と思えてきました。
0493デフォルトの名無しさん
2010/10/30(土) 16:24:12コントロールを再帰的に辿って(コンテナのControlsの中を再帰的にスキャンするってこと)
フォーム上の全部のコントロールのMouseEnter(MouseLeaveじゃない)を受信するように
すれば出来るでしょ。
でも、タイマ使ってポーリングするのが泥臭いけど一番簡単だね。
俺はこの手の処理のが必用な時はそうしちゃう。
0494デフォルトの名無しさん
2010/10/30(土) 17:44:49WPFなら親へ親へと伝播されるで
0495デフォルトの名無しさん
2010/10/30(土) 19:03:02Process.Start("notepad.exe","test1.txt");
とファイルを開かせた後、今度はtest2.txtを開きたいのですが、新しくnotepadを開くのではなく
さっき開いたnotepadでファイルを開きたいのですが方法はありますか?
0496デフォルトの名無しさん
2010/10/30(土) 19:08:240497デフォルトの名無しさん
2010/10/30(土) 19:09:390498デフォルトの名無しさん
2010/10/30(土) 19:20:16音声を認識するのってCじゃないとやはり無理ですかね?
0499デフォルトの名無しさん
2010/10/30(土) 19:25:38http://msdn.microsoft.com/ja-jp/library/system.speech.recognition.aspx
0500デフォルトの名無しさん
2010/10/30(土) 19:27:28毎回ダイヤルアップ接続するのが面倒くさくて・・・
0501デフォルトの名無しさん
2010/10/30(土) 19:28:45ありがとうございます
0502デフォルトの名無しさん
2010/10/30(土) 19:30:52Silverlightのドキュメントならchmあるよ
0503デフォルトの名無しさん
2010/10/30(土) 19:35:58オンラインマニュアルのクラスライブラリがオフラインで見れればいいんです。。。
一つ一つhtmlファイルにダウンロードしかなさそうですよねそうしてみます。。。
0504デフォルトの名無しさん
2010/10/30(土) 19:38:400505デフォルトの名無しさん
2010/10/30(土) 19:39:15ダイヤルアップなら無理だろうけどw
0506349
2010/10/30(土) 19:56:100507デフォルトの名無しさん
2010/10/30(土) 20:03:260508デフォルトの名無しさん
2010/10/30(土) 20:14:55ヘルプメニューからオフラインに設定してやってダウンロードする形に変わった
0509デフォルトの名無しさん
2010/10/30(土) 20:16:550510デフォルトの名無しさん
2010/10/30(土) 20:25:450511デフォルトの名無しさん
2010/10/30(土) 20:30:24ローカル版はやっぱり残ると思うよ。
0512デフォルトの名無しさん
2010/10/30(土) 20:34:58Dictionaryで自分で実装したのと比べたらlock込みでもString.Internの方が遅いんだが
0513デフォルトの名無しさん
2010/10/30(土) 20:41:510514デフォルトの名無しさん
2010/10/30(土) 22:58:120515デフォルトの名無しさん
2010/10/30(土) 23:07:410516デフォルトの名無しさん
2010/10/30(土) 23:21:390517デフォルトの名無しさん
2010/10/30(土) 23:54:32どういう仕組みで作るのかどなたかおしえてください
0518デフォルトの名無しさん
2010/10/31(日) 00:00:21ロボ > カナガワケン ハ 903 マンニン デス
ロボ > オオサカフ ハ 880 マンニン デス
0519デフォルトの名無しさん
2010/10/31(日) 00:11:18http://pc.2ch.net/tech/kako/982/982118979.html
0520デフォルトの名無しさん
2010/10/31(日) 01:16:490521517
2010/10/31(日) 12:39:19作りながらコードしてここの先輩方にご指摘頂くのかいいですか?
教えて君じゃなくてコードは自分で調べます!
0522デフォルトの名無しさん
2010/10/31(日) 12:55:52�A 人工無能について調べ、オンラインでなくローカルで会話できるまで作る
�B �@と�Aを組み合わせる
それぞれのキーワードについて自分で調べて、
サンプルがCやC++やJava用だったなら自力でアレンジ、移植する
誰も作るななんて言わないから、作ってみたいならどんどん作ればいいんだよ
物理的なロボット作りたいならハードウェアも勉強してね
0523517
2010/10/31(日) 12:57:292番を作ります!
俺中1なんで学校終わったら毎日調べて書きます!
0524デフォルトの名無しさん
2010/10/31(日) 13:01:49そういうのはブログにでも書いた方がいいと思うよ
0525デフォルトの名無しさん
2010/10/31(日) 16:28:450526デフォルトの名無しさん
2010/10/31(日) 17:17:050527デフォルトの名無しさん
2010/10/31(日) 17:20:51あとトリガーは時代遅れ。Visual State Manager使う。
0528デフォルトの名無しさん
2010/10/31(日) 17:45:24今度はVisual State Managerの勉強してくる
0529デフォルトの名無しさん
2010/10/31(日) 18:46:30サンプルメソッド使用して実行したら、例外が発生し実行できませんでした。
エラーメッセージに「'System.IO.FileStream' はシリアル化可能として設定されていません。」と、ありました。
どうすればシリアル化することができるのでしょうか?
0530デフォルトの名無しさん
2010/10/31(日) 18:50:340531デフォルトの名無しさん
2010/10/31(日) 19:13:39シリアル化できるものとできないものとあるんですねえ〜
0532デフォルトの名無しさん
2010/10/31(日) 19:15:020533デフォルトの名無しさん
2010/10/31(日) 19:19:38まさか別々に読み出せるとかトンデモ発想してるわけじゃないだろうが
0534デフォルトの名無しさん
2010/10/31(日) 19:27:080535デフォルトの名無しさん
2010/10/31(日) 19:29:220536デフォルトの名無しさん
2010/10/31(日) 19:29:290537デフォルトの名無しさん
2010/10/31(日) 19:34:310538デフォルトの名無しさん
2010/10/31(日) 20:29:480539デフォルトの名無しさん
2010/10/31(日) 20:31:180540デフォルトの名無しさん
2010/10/31(日) 20:36:130541デフォルトの名無しさん
2010/10/31(日) 20:42:150542デフォルトの名無しさん
2010/10/31(日) 20:42:19俺も勉強する ><
0543デフォルトの名無しさん
2010/10/31(日) 21:15:160544デフォルトの名無しさん
2010/10/31(日) 21:32:24次がでる時期が気になるならわかるけど。
0545デフォルトの名無しさん
2010/10/31(日) 21:37:400546デフォルトの名無しさん
2010/10/31(日) 21:38:370547デフォルトの名無しさん
2010/10/31(日) 21:50:16虫の息っていうかもとから実験用みたいなもんでしょ
コンセプトがLinqで消化されたんで役割は見事に果たせたんではないかと。
0548デフォルトの名無しさん
2010/10/31(日) 22:00:06C#で作成したプログラムが吐き出したデータを見てるんですが、
時間の値が解読不可能で困ってます;;
634089637900000000
↓
2010/5/10/ 1:03
・・になるみたいなんですが。
シリアル値で変換出来ず。。。
どなたか分かる方いらっしゃいますか?
0549デフォルトの名無しさん
2010/10/31(日) 22:05:27基準となる日時があるんじゃないの?
2chのdatのファイルネームも確かUNIXタイムだし
0550デフォルトの名無しさん
2010/10/31(日) 22:08:130551デフォルトの名無しさん
2010/10/31(日) 22:08:330552デフォルトの名無しさん
2010/10/31(日) 22:09:250553デフォルトの名無しさん
2010/10/31(日) 22:13:32http://msdn.microsoft.com/ja-jp/library/system.datetime%28VS.80%29.aspx
0554デフォルトの名無しさん
2010/10/31(日) 22:16:350555デフォルトの名無しさん
2010/10/31(日) 22:19:220556デフォルトの名無しさん
2010/10/31(日) 22:28:23納得できました!!ありがとうございます。
ちなみにこの値をプログラムを使用せずに
元の日時へ変換する計算方法なんてあるんでしょうか?
0557デフォルトの名無しさん
2010/10/31(日) 22:29:520558デフォルトの名無しさん
2010/10/31(日) 22:38:360559デフォルトの名無しさん
2010/10/31(日) 22:39:200560デフォルトの名無しさん
2010/10/31(日) 22:44:12・基準時間を変える
・桁を増やす
VC++の最近のやつはこの辺の警告でまくりだっけ?
0561デフォルトの名無しさん
2010/10/31(日) 22:55:11プログラムを使用せずに?紙と鉛筆?暗算?
気合と根性で足し算すればできるよ。
>0001 年 1 月 1 日午前 00:00:00 以降の経過時間 (100 ナノ秒単位) を表します。
0562デフォルトの名無しさん
2010/10/31(日) 22:56:47手動計算はちょっと厳しいと思う。
0563デフォルトの名無しさん
2010/10/31(日) 22:58:540564デフォルトの名無しさん
2010/10/31(日) 23:34:13GUIの部分をイベントでつないでるのは分かったんだけど、
ロジックの部分も全部イベントでつながってるっぽいんだけど、
なんかグラフィカルにつながり一覧できるようなビュー(ツール)ってありますか?
こんな感じの。(これはイベントとプロパティなんかが線で表現されてる(選択して編集もできる)んだけど)
http://www.javaworld.com/javaworld/jw-01-2000/images/jw-01-beans3.gif
0565デフォルトの名無しさん
2010/10/31(日) 23:36:19ひとまずITmediaの入門記事よんでからでなおしてね。
0566デフォルトの名無しさん
2010/10/31(日) 23:40:42でも調べて理論ははんなりわかったので、妥協しますorz
ありがとうございました。
0567デフォルトの名無しさん
2010/10/31(日) 23:42:170568デフォルトの名無しさん
2010/10/31(日) 23:46:23作り慣れてれば感覚的に構造が理解できるけど。
最初は手で繋がりを書いた方が速いと思う。
0569デフォルトの名無しさん
2010/10/31(日) 23:50:20実際にアプリを動かしながらだったらそういう可視化は可能だろうな
案外簡単に作れるかも
0570デフォルトの名無しさん
2010/11/01(月) 00:24:49それが内部のメソッドやクラスと関連させる方法が思いつかないけど。
ソースに手を加えるのか?
それが出るほどに手を加えるのなら、その時点で理解していると思われ。
0571564
2010/11/01(月) 00:31:32>>567
>.NETのGUIやイベントやその間の関連はあんまり宣言的じゃないのでそういうのは無理。
>>569
>静的解析は無理だろうけど、
編集するのはムリだろうな。とは思っていたのですが、表示もムリですか。
マイクロソフト純正(高いのから安いのまで)でもそういう表示の機能は無くて、
サードパーティー製のツールでもそういう表示(多少解析に処理時間がかかっても)は出来ないと。
>実際にアプリを動かしながらだったらそういう可視化は可能だろうな
たしかにイベントハンドラの登録とかコードの中から呼んでますもんね。
どこで呼んでもいいとなればコード全体解析しなければ分からないと。。。
GUIのフォームや関連する部分からイベント飛んでるぐらいだったら分かるんですが、
GUIと全く関係ない直接呼んだら良さそうな内部の処理なのに何段階もイベントで飛ばしてる
ってC#はそもそもそういうもんなんですかね。
コードを検索かけてみてもなんかすごく分かりにくい気がするんですが。
やっぱり、つながりを紙かなんかにコツコツ書いてくしかないんですかね。
0572デフォルトの名無しさん
2010/11/01(月) 00:44:31それは「C#がそういうもん」じゃなくて、
そういう書きかたされたってだけのような。
どの言語でもスパゲティにする人はいるわけで。
0573デフォルトの名無しさん
2010/11/01(月) 00:46:19Java知ってるのかしらないけどイベントなんて
インターフェイス経由のメソッド呼び出しと同じ
0574デフォルトの名無しさん
2010/11/01(月) 00:47:51去年、全ての資産はwpfに移行してるからってのもあるけど
それでも不思議
0575デフォルトの名無しさん
2010/11/01(月) 00:53:35その時は連携にイベントを使うだろうね。
イベントがあるからスパゲッティーというのは暴言だと思われ。
0576デフォルトの名無しさん
2010/11/01(月) 01:02:33WinFomsが最も得意とする類
スパゲッティになるかどうかは別問題
0577デフォルトの名無しさん
2010/11/01(月) 01:05:190578デフォルトの名無しさん
2010/11/01(月) 01:12:440579デフォルトの名無しさん
2010/11/01(月) 01:16:53今時WinFormで開発なんてありえねーってこと?
いまいち何いってるのかわからん
0580デフォルトの名無しさん
2010/11/01(月) 01:17:26コツコツっていうか、普通のプログラマが書いたコードならイベントハンドラは
それと分かるような名前になってるはずだし、ちょっと気が利く人ならイベントハンドラだけ
regionで括ってあったりするし、そうでなくても自分でそうすればいいんだし。
何より、イベントがどこから参照されているかはIDEで検索可能だし。
そんなに気に病むほどのことでもないよ。
0581デフォルトの名無しさん
2010/11/01(月) 16:44:00this.WindowState = System.Windows.WindowState.〜;
で制御しているんですが、これだと通常右上のボタンを押した時の
ウィンドウが縮んだり伸びたりするアニメーションが発生しません。(動作環境はVistaです)
動作に統一感を持たせたいので、出来ればこのアニメーションを
発生させたいのですが、何か方法はないでしょうか。
0582デフォルトの名無しさん
2010/11/01(月) 17:58:03Vistaのアニメーションをoffにするんだ
0583デフォルトの名無しさん
2010/11/01(月) 19:02:240584デフォルトの名無しさん
2010/11/02(火) 05:23:40通常ではデスクトップなどをクリックしてアクティブウィンドウじゃなくなるとハイライトが一時的に消えます。
0585デフォルトの名無しさん
2010/11/02(火) 05:27:290586デフォルトの名無しさん
2010/11/02(火) 10:34:30別フォルダに出力するのですが、TextFieldParser を使うべきかStreamReaderで一行ずつ
拾っていくか迷っています。
CSVが項目100以上で行数が60万件なのでやはりStreamReaderのほうがよいのでしょうか?
基本的にメモリに出来るだけ読み込まないことを前提に考えております。
このほかによい方法などありますでしょうか?
0587デフォルトの名無しさん
2010/11/02(火) 10:37:160588デフォルトの名無しさん
2010/11/02(火) 10:40:16その点ではTextFieldParserでいいんでないかな
でもMS Accessに任せちゃう方がいいと思うけどね
CSVをデータベースっぽく使えるはずだし
0589デフォルトの名無しさん
2010/11/02(火) 10:49:03CSVの構文についてはなんとかするつもりです@w@
ただ、今回の場合サーバーで実行するので処理速度はそこそこで
基本はメモリを食わない設計にしたいと考えております。
後、蛇足ですが.netは2までですorz
0590デフォルトの名無しさん
2010/11/02(火) 10:53:56データ作ればいいんじゃないの?
それこそc#で簡単なファイル出力プログラム書いてしまえば・・・
0591デフォルトの名無しさん
2010/11/02(火) 11:01:15ソーティングにO(logN)の実行速度とか要求されたら
オフラインアルゴリズムしかないので、メモリがO(N)とかになっちゃう
無難にADO.NETでCSV読ます方法がいいんじゃない?
0592デフォルトの名無しさん
2010/11/02(火) 11:01:58行と勘違いしていた^p^;
0593デフォルトの名無しさん
2010/11/02(火) 11:14:35今回は列の入れ替えのみ考えるので@w@
とりあえず、データを作ってみます@w@もしTextFieldParserが
CSVのデータをすべてメモリ内に読み込むようでしたらStreamReaderで
作成しようかと思います。もしTextFieldParserのことを知っておられる方が
おりましたらご教授お願いいたいます。
0594デフォルトの名無しさん
2010/11/02(火) 11:17:22基本的にTextFieldParserでいいんだろうけど、
妙に融通が効かないこともあるから、不都合があれば自前でやる。
それからAccessというかODBCのテキストドライバはそろそろ非推奨なんじゃね。
アップデートもされてないし。
0595デフォルトの名無しさん
2010/11/02(火) 11:20:52System.Text.Encoding.GetEncoding("Shift_JIS"));
上記の構文を作成したときに該当CSVファイルをメモリに
読み込ます・・・というわけではないのでしょうか?
単に、ファイルのハンドルを取得するだけならいいのですが
0596デフォルトの名無しさん
2010/11/02(火) 11:30:540597デフォルトの名無しさん
2010/11/02(火) 11:43:35ありがとうございました^-^
0598デフォルトの名無しさん
2010/11/02(火) 13:42:46オプションのチェック状況の保存
複数ファイルのパス+再生位置などのデータの保存
それぞれどういう風にファイルに書き出すのが最適ですか?
0599デフォルトの名無しさん
2010/11/02(火) 13:50:57GUIとデータをきちんと分けて考えていればそんなことで悩む必要は無いはず
0600デフォルトの名無しさん
2010/11/02(火) 13:59:380601デフォルトの名無しさん
2010/11/02(火) 14:09:400602デフォルトの名無しさん
2010/11/02(火) 14:12:04クラス作っておけばそれにあわせて読み書きしてくれるぜ
0603デフォルトの名無しさん
2010/11/02(火) 14:24:27文字色が変わるようにするにはどうしたらいいですか?
下の文章の//以降が緑色になるみたいな感じにしたいのですが。
hogehoge
//この行は緑色
hogehoge//ここから緑色
0604デフォルトの名無しさん
2010/11/02(火) 14:27:51リストの中のリストは書き出せないとかがあるんですよね?
XMLに書き出す場合>>598だとどういう形式のクラスを作ればいいんでしょうか?
classA{
name
path
position
}
↑適当ですいません
みたいな感じのクラスをList<>とかにするのがいいのかな?
0605デフォルトの名無しさん
2010/11/02(火) 15:17:50public class ClassA
{
public string Name { get; set; }
public TimeSpan Position { get; set; }
public List<string> Paths { get; set; }
public Options Options { get; set; }
}
クラス内のListもちゃんと展開されるよ
0606デフォルトの名無しさん
2010/11/02(火) 15:23:58かわりにintでも使ってくれ
0607デフォルトの名無しさん
2010/11/02(火) 15:26:30「各入力行から、行のあとのブランクやタグを除き、かつ空白行はすべて削除するようなプログラムをかけ」
という問の答えがわかりません;;
putchar、getcharを使うんだと言う事はなんとなくわかるんですが・・・
どなたか優しい方このプログラムの作り方おしえてください
0609デフォルトの名無しさん
2010/11/02(火) 15:32:46スレ違いです
こっちへどうぞ
http://hibari.2ch.net/test/read.cgi/tech/1287876803/l50
0610デフォルトの名無しさん
2010/11/02(火) 15:33:29どこがすごいの?ばかにしてるの?
0611デフォルトの名無しさん
2010/11/02(火) 15:34:16シリアライズだって試せばわかるだろうに
0612598
2010/11/02(火) 15:39:22{
public string FullPath { get; set; }
public int Position { get; set; }
}
public class ClassB
{
public List<ClassA> Movies { get; set; }
public Options Options { get; set; }
}
ファイルごとに再生位置を設定したいので
理想はこんな感じなんですが、ちゃんと展開できますか?
0613デフォルトの名無しさん
2010/11/02(火) 15:43:120614598
2010/11/02(火) 15:46:50オプションのチェック状況を保存
ファイルのパス+再生位置のリストを保存
これをやりたいだけなんですが
スパっと解答できる人いないの?
0615デフォルトの名無しさん
2010/11/02(火) 15:51:59とりあえずこれで実際にどういうXMLが出力されるか試せるから自分でやってみればいいよ
それでもわからなければまた質問に来い
string result;
List<ClassB> classBListInstance = new List<ClassB>();
// classBListInstanceに値を代入
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(List<ClassB>));
using (System.IO.StringWriter sw = new System.IO.StringWriter()) {
ser.Serialize(sw, classBListInstance);
result = sw.ToString();
}
0616デフォルトの名無しさん
2010/11/02(火) 15:55:21たしかXmlSerializerとISerializableは無関係のはず
0618デフォルトの名無しさん
2010/11/02(火) 18:58:54親から子をShowMessageで呼び出しているのに
子のOwnerがnullになる。
子から親を取得するのはどうすりゃいい?
親からOwnerを書き換えてやっても駄目だった。
0619618
2010/11/02(火) 19:00:09ShowDialogです。
0620デフォルトの名無しさん
2010/11/02(火) 19:01:53子を作るときに親のインスタンスを渡しておくとか・・・
0621620
2010/11/02(火) 19:03:22ちょっと今IDE入れてないマシンからなんで記憶をたどってるだけですまん
とりあえずコントロールにせよparentという単語が入ってるやつ調べれば親だよ
0622618
2010/11/02(火) 19:04:58子がForm2 親Form1として
Form2 form2 = new Form2();//親から
Form2.Owner = this;
Form2.ShowDialog;
こうしてもnullになる。
実行時にthisはForm2になっているみたい。
0624デフォルトの名無しさん
2010/11/02(火) 19:17:12独自にインスタンスを持つようにしてそれ経由でw
0625デフォルトの名無しさん
2010/11/02(火) 19:32:23form2.ShowDialog(this); // thisはform1
0627デフォルトの名無しさん
2010/11/02(火) 19:46:04とりあえず、EXELっぽいのを作りたいんだけど
0628デフォルトの名無しさん
2010/11/02(火) 19:52:35WPFとC#を比較してどうするんだか。
何もわかってないならExcelとか大層な目標は掲げず、
もっと地に足の着いたとこからどうぞ。
0629デフォルトの名無しさん
2010/11/02(火) 20:00:22Form f = new Form();
f.Shown += (o, s) => MessageBox.Show(f.Owner.ToString());
//f.ShowDialog();
f.ShowDialog(this);
ShowDialog()の引数に呼び出し元を渡さないとOwnerがnullになる。
ShowDialog()では例外が出て、ShowDialog(this)では例外無く実行できる。
>>625が正解でした
0630デフォルトの名無しさん
2010/11/02(火) 20:02:30C++
0631デフォルトの名無しさん
2010/11/02(火) 20:15:36>>630
答えたくないなら答えなくていいんだけど
ネタぽくされると答える気のあった人にもスルーされちゃんで
暇つぶししたいなら他でやってね
0632デフォルトの名無しさん
2010/11/02(火) 20:32:22もしかしてWindowsフォームアプリケーションとWPFを比べてる?
0633デフォルトの名無しさん
2010/11/02(火) 20:33:38これは回答する気をなくさせるな。
0634デフォルトの名無しさん
2010/11/02(火) 20:35:16単純な物ならFormsだけど、少しでも複雑になろう物なら一気にWPFが優位になるよな。
あとは軽くなってくれれば文句無いんだが
0635デフォルトの名無しさん
2010/11/02(火) 20:50:20どのように複雑?
0636デフォルトの名無しさん
2010/11/02(火) 20:51:132択なのにその他を選ぶなんて試験だと0点だよ
>>633
元々する気がない奴ほどそういうことをいう
0637デフォルトの名無しさん
2010/11/02(火) 20:54:000638デフォルトの名無しさん
2010/11/02(火) 20:56:39なんで煽ってんの
会社か学校で嫌なことでもあった?
0639デフォルトの名無しさん
2010/11/02(火) 20:59:00ちょっと調べてから来たほうがいいのでは
0640デフォルトの名無しさん
2010/11/02(火) 21:00:100641デフォルトの名無しさん
2010/11/02(火) 21:00:16よく分かったなw
質問で返して悪いけど、C#じゃなくてWPFからはじめるとしたら、
C#の代わりは何使うんだ?
0642デフォルトの名無しさん
2010/11/02(火) 21:02:190643デフォルトの名無しさん
2010/11/02(火) 21:02:550644デフォルトの名無しさん
2010/11/02(火) 21:04:110645デフォルトの名無しさん
2010/11/02(火) 21:04:410646デフォルトの名無しさん
2010/11/02(火) 21:06:37http://smallbasic.com/
0647デフォルトの名無しさん
2010/11/02(火) 21:08:02簡単なファイラーを作ろうと思うのですが
これから始めるとしたらWPFとWinFormsのどちらが良いですか?
0648デフォルトの名無しさん
2010/11/02(火) 21:08:590649デフォルトの名無しさん
2010/11/02(火) 21:10:10どっちでもいいよ
0650デフォルトの名無しさん
2010/11/02(火) 21:11:430点
0651デフォルトの名無しさん
2010/11/02(火) 21:12:240652デフォルトの名無しさん
2010/11/02(火) 21:12:420653デフォルトの名無しさん
2010/11/02(火) 21:17:40System.Threading.TimerかSystem.Timers.Timer
後者は前者のラッパーなので精度は全く同じ
0654デフォルトの名無しさん
2010/11/02(火) 21:24:04データバインド、テンプレート・・・もうこんなややこしいことするなら
winformsでいいやってなるんだけど
どうしてみなさんはWPFやろうと思ったのか
そこら辺の動機を教えてほしい
0655デフォルトの名無しさん
2010/11/02(火) 21:26:190656デフォルトの名無しさん
2010/11/02(火) 21:27:160657デフォルトの名無しさん
2010/11/02(火) 21:27:47ある程度規模が大きくなるとデータバインド出来ればなぁとか思うようになるから
0658デフォルトの名無しさん
2010/11/02(火) 21:27:51ファイラーを作る時もWinformsより楽なの?
0659デフォルトの名無しさん
2010/11/02(火) 21:27:520660デフォルトの名無しさん
2010/11/02(火) 21:30:37いくつか作ったけど、WinFormですら
データバインドがよくわからなくて使ってないんだよ
これって、データソースを弄れば勝手にGUIも変更されるってことなんでしょ?
例えばデータグリッドにaddでデータ追加するのと
データバインド使うのと何がどう違うのかよくわからない
データバインドでぐぐっても、確かに楽だっと思えるような例もないし
0661デフォルトの名無しさん
2010/11/02(火) 21:56:43馬鹿かおめぇ
0663デフォルトの名無しさん
2010/11/02(火) 22:08:58WinformsではUIとデータを結びつけるプログラムは全部自分で書かなきゃいけないけど、WPFなら不要
追加だけじゃなくて、データに対する更新や変更、データごとの表示の切り替えなんかも自動
0664デフォルトの名無しさん
2010/11/02(火) 22:14:16フレームワークの機能ベースで見るから概念多くて詰まるのよ。
GUI アプリケーションに求められてる要件ベースで考えたらあれくらいないとやってらんない。
0665デフォルトの名無しさん
2010/11/02(火) 22:15:12MVVMなんかM-VM間の結び付けコード書きまくり
0666デフォルトの名無しさん
2010/11/02(火) 22:45:52それちょっと違うんじゃないですか?
結びつけるコードはWPFでも必要だし、
それが一番ややこしくて詰まるんだけど
winformsならADDだけ書けばいいのに、データバインドのためにnotifyなんちゃらとか
いろいろ書かないといけないし、まあ、一回書いてしまえばもう書かなくていいのと
毎回Addや.Text=をしないといけない差と考えれば楽っぽい気もするけど・・・
あと残念ながらxpなんですよね、スペックはcpuE8400で数年前のモデル
0667デフォルトの名無しさん
2010/11/02(火) 22:48:240668デフォルトの名無しさん
2010/11/02(火) 22:52:03個人で使うのにそんなグラフィカルにする気もないし
winformsでやります、てかもうやってて半分ぐらい完成してるw
0669デフォルトの名無しさん
2010/11/02(火) 23:02:040670デフォルトの名無しさん
2010/11/02(火) 23:12:50小規模でも?
例えば画像を仕分けするような単純なお仕事をするソフトでも?
0671デフォルトの名無しさん
2010/11/02(火) 23:17:45手軽にWinFormsと同じように使うこともできるよ
0672デフォルトの名無しさん
2010/11/02(火) 23:17:540673デフォルトの名無しさん
2010/11/02(火) 23:29:40画像じゃないファイルをボタンを押して仕分ける場合でも
WPFのほうが早くて簡単?
ちがうでしょ?
0674デフォルトの名無しさん
2010/11/02(火) 23:33:270675デフォルトの名無しさん
2010/11/02(火) 23:33:310676デフォルトの名無しさん
2010/11/02(火) 23:35:35コレクションに突っ込んでテンプレートをちょっと書いたら画像の一覧表示ができるようになって
コンバータ作ってスライダーをポトペタしてバインディングするだけで、一覧表示した画像の拡大縮小も実装できちゃう。
WPFの方が早くて簡単。
>>673
WPFでもWinFormsでも作業量変わらんだろ…。どこが違うのさ?
0677デフォルトの名無しさん
2010/11/02(火) 23:35:41そうじゃければWinForm
それだけ
0678デフォルトの名無しさん
2010/11/02(火) 23:36:520679デフォルトの名無しさん
2010/11/02(火) 23:42:06どうしていいかさっぱりわからない
ドボンネットみたいなのでWPF対応しているようなサイトないのかな
0680デフォルトの名無しさん
2010/11/02(火) 23:43:27その程度ならあるじゃん
0681デフォルトの名無しさん
2010/11/02(火) 23:45:06えーと、デザイナの出来とかw
0682デフォルトの名無しさん
2010/11/02(火) 23:45:57WPF使った事ないだろ。
凝ったUIやらなくてもバインディングとテンプレートは素晴らしく強力。
WPFの真価はここにある。
0683デフォルトの名無しさん
2010/11/02(火) 23:48:000684デフォルトの名無しさん
2010/11/02(火) 23:48:46あるよ
でもwinformのころとは明らかに書き方とか変わってるので
覚えてなれるまでが大変
0685デフォルトの名無しさん
2010/11/02(火) 23:50:56どうしても、Formつかうことあると、負けた!!って思う><
0686デフォルトの名無しさん
2010/11/02(火) 23:54:55<ListView ItemsSource="{Binding}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
って書いといてthis.DataContext=Directory.GetFiles(path).Select(s=>new FileInfo(s));
こんな感じかな?
0687デフォルトの名無しさん
2010/11/03(水) 00:03:59それそれ、そのラムダ式?
おれラムダ式も知らない初心者だよ?
そこで詰まるんだよ
0688デフォルトの名無しさん
2010/11/03(水) 00:06:050689デフォルトの名無しさん
2010/11/03(水) 00:06:32タスクトレイアプリはWPF NotifyIcon使って作ってる。
http://www.hardcodet.net/projects/wpf-notifyicon
0690デフォルトの名無しさん
2010/11/03(水) 00:07:22あれ
0691デフォルトの名無しさん
2010/11/03(水) 00:10:48書いてあることをやることはできるけど
ちょっと違うことやりたいと思ったらまったくわからない
あ、これ基礎の基礎が書かれているわけじゃないんだって気づいて挫折するんだよ
例えば>>686の場合
ファイルパスだけじゃなくて、更新日時やファイルサイズも読み込むとしたら?
listviewじゃなくてdatagridviewだった場合は?ってなると
一体どのようにバインディングすればいいかさっぱり
0692デフォルトの名無しさん
2010/11/03(水) 00:13:25それともXAMLになくてC#で書くの?
とか、ドボンでごり押ししてアプリ作ってきた俺には
TIPSサイトが少ないことが致命的
MSのあの説明じゃ難しすぎてわけわかめー
0693デフォルトの名無しさん
2010/11/03(水) 00:16:13第2回の最後まで読めばわかるよ。
WPF/Silverlight UIフレームワーク入門
ttp://www.atmarkit.co.jp/fdotnet/vblab/uiframework_index/index.html
あと、ここ
ttp://ufcpp.net/study/dotnet/wpf_abst.html
入門でMSDN読んで理解できたら凄いと思うわ
0694デフォルトの名無しさん
2010/11/03(水) 00:17:40まあ理解に時間かかるかもしれないけど
それほど難しい物ではないような気がするけどな・・・
0695デフォルトの名無しさん
2010/11/03(水) 00:30:46更新日時・ファイルサイズのプロパティを公開する適当なクラス作ってバインディング。
TIPS一通り読んでもできないなら、WPFやWinFormsの前にC#でのプログラミングに関する知識が決定的に足りてない。
>>690
0696デフォルトの名無しさん
2010/11/03(水) 00:35:450697デフォルトの名無しさん
2010/11/03(水) 00:38:53消える方がおかしい
0698デフォルトの名無しさん
2010/11/03(水) 00:40:08最近のもそこの両方とも見ましたけど、さっき言ったように書かれていること以外の
コントロールを使ったりなんかするとどこにバインディングすればいいかがわからないんです
INotifyPropertyChangedとかも、え?これってデリゲート理解してないと無理なんじゃないの?って詰まる
ITのコンバータによるデータ変換のところも
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
これでできますとかいわれても、一体この引数はどこから来たの?なぜこれだといけるの?
そしてこのソースは一体どこに記述するの?
そんなのわかってて当たり前だよって人が書いたものなのでそういう説明が抜けててわからない
他の数多くあるTIPSサイトも同じようにこうすればできるとは書いているが
なぜそれだとできるのか、なぜそれでできるとわかったのかなどが書かれてない
それさえわかれば、応用できるのにって思う
>入門でMSDN読んで理解できたら凄いと思うわ
やっぱりそうですか、こんなのでみんな理解できているのかと思って自暴自棄になった。
0699デフォルトの名無しさん
2010/11/03(水) 00:46:50それぼくからすると説明になってませんから・・・
クラス作ってバインディング
いやいや、そのバインディングの仕方がわからないんです
stringやintのバインディングは出来ても
ファイル情報の自作データクラスを一体どうしたら、データグリッドの
各セルに配置できるかさっぱりわからない
winformsだとどぼん見ていれば小規模なユーティリティなら作れますが
何の知識が足りないんだろ
0700デフォルトの名無しさん
2010/11/03(水) 00:49:49これもそうだけど、datacontextにfileinfoのインスタンスを渡しているのかな?
なぜ、ListView ItemsSourceにfileinfoのインスタンスを渡せるとわかたのかがわからない
それをするとなぜlistviewに表示されるかもわからない
0701デフォルトの名無しさん
2010/11/03(水) 00:53:15みたいな例えがありますが、
WPFも、一見内部構造知らなくても操作できますよって感じに見せておいて
内部構造知らないとできないだろってパターンなんだよね
0702デフォルトの名無しさん
2010/11/03(水) 00:53:150703デフォルトの名無しさん
2010/11/03(水) 01:13:15WPF関係なくデリゲートとラムダ使えないとC#プログラマーとしてかなり損すると思うよ
Linqの勉強でもしたら?
Convertの引数の意味が分からんのならインターフェイスも復習したほうがいい
0704デフォルトの名無しさん
2010/11/03(水) 01:30:32使えないというか使う必要がなかったという感じです
そういう知識が最低限ないとWPFは無理ってことですね
>>702
読みましたが、理解はしていないと思います。
あまりにも難しすぎる。
0705デフォルトの名無しさん
2010/11/03(水) 01:36:31使う必要はWinFormsであろうともあるというか、
少し頑張って覚えようとするだけでどれだけ楽になるか。
WinFormsがどうだのWPFがどうだのというよりも、学習する気があまりにもなさすぎる。
0706デフォルトの名無しさん
2010/11/03(水) 01:37:08Webの情報もの方は圧倒的に不足してる
Winformsで満足だと思うなら無理にWPFに移行する必要はないよ
別に馬鹿にしてるわけじゃないけど、今回の話は
四則演算しかできない小学生が微分積分ってなにがすごいの役に立つの?
って聞いてる状況ににてると思う
0707デフォルトの名無しさん
2010/11/03(水) 01:42:39DataContextに何が入るのかなんてSelectにマウスオーバーすれば一発で分かるだろ…。
ブレークポイントで止めて、実際に何が入っているのか確認もしていない。
INotifyPropertyChangedだってWinFormsの頃から使われてた。
IDEを使えずC#を知らないのに理解できるわけないじゃないか。
最初から全て理解するなんて誰にもできない。誰だって自分が理解できる範囲から少しずつ知識を広げていくもんだ。
サンプルからコピペするだけの状況から抜け出すには、自分で努力するしかない。
・WindowのDataContextにIEnumerable<FileInfo>が入れられる。
・{Binding}は親のDataContextに入ってる物を参照する。
ListViewのItemsSourceは列挙可能なインスタンス(Array,List<T>,IEnumerable<T> ...)を受け取る。
→<ListView ItemsSource="{Binding}">でItemsSourceにWindow.DataContextのIEnumerable<FileInfo>が入る。
・ListView.ItemTemplateはItemsSourceに入っているIEnumerable<FileInfo>から要素(FileInfo)を一つずつ取り出し、自分のDataContextに格納する。
・<TextBlock Text="{Binding Name}" />でDataContextに入っている要素(FileInfo)からプロパティ(Name)の値を取得し、TextBlockに表示する。
厳密に言うと違うとこもあるけど、イメージとしてはこんな感じ。
0708デフォルトの名無しさん
2010/11/03(水) 01:42:590709デフォルトの名無しさん
2010/11/03(水) 02:00:55他の言語でその考えを応用できたりする?
0710デフォルトの名無しさん
2010/11/03(水) 02:04:21Linq to Objectsの高階関数でのリスト処理はいまどきの言語なら基本中の基本。
0711デフォルトの名無しさん
2010/11/03(水) 02:06:48ラムダぐらいはちょっと覚えてみます
>>706
やっぱりWPFは微積レベルだったんですね
道理でわからないと思った
>>707
そりゃあ、経験豊だからわかるんでしょうがぼくにはまだ無理です
ラムダがわからないので、selectといわれてもよくわかりません
>イメージとしてはこんな感じ
大体そういうことなんだろうなというのはわかりますがが、そういう説明がよくあるTIPSで、ぼくがわからないのは
>要素(FileInfo)を一つずつ取り出し・・・
ItemsSourceがどういうデータを受け取けとれるのかどうやってわかったのかがわからない
fileinfoなんてかなり特殊なデータ構造ですよね?これがそのまま入るなんて想像もできない
一体どこまでのものが入るの?自作のデータクラスもそのまま入るの?入らないの?
なぜ入らないのか?なぜfileinfoだと入るのか?DirectoryInfoではどうなのか?DataGrid.Columnsの場合は?
List<List<T>>の場合は?,Directory<Directory<T>>の場合は?一体どんなものまで取り出せるの?
制限みたいなのはどこを見ればわかるの?
単純にプロパティさえあればなんでもありなの?
だとしたら、プロパティさえあれば何でもいいってどこを見てわかったの?
こういう疑問が湧いてきて、ちょっと違うことしようとすると何をどうしていいかわからない
0712デフォルトの名無しさん
2010/11/03(水) 02:21:31それこそItemsSourceには列挙可能なインスタンス(Array,List<T>,IEnumerable<T> ...)ならTにかかわらず"何でも"入る。
で、どうやってそのTを表示するのかっていうのは、もともとTに表示方法が定義してあればその通り表示するし、
今回のようにDataTemplateで定義されてればそれに従う。もしそういうのが一切なければToStringの結果が表示される。
<TextBlock Text="{Binding Name}" />
の部分はTの型のNameっていうプロパティを表示してって意味で、LastAccessTimeとかLengthとかにもできる
0713712
2010/11/03(水) 02:24:07この本読めばWPFのイロハは理解できると思う。
0714デフォルトの名無しさん
2010/11/03(水) 02:30:20>ItemsSourceがどういうデータを受け取けとれるのかどうやってわかったのかがわからない
ItemsSourceを使う全てのサンプルやTipsでIEnumerable インターフェイスを実装したクラスを指定している。
MSDNにも「IEnumerable インターフェイスを実装するすべてのコレクションを列挙できます。」と書いてある。
http://msdn.microsoft.com/ja-jp/library/ms743643%28VS.80%29.aspx#collections
ぐぐれ
>fileinfoなんてかなり特殊なデータ構造ですよね?自作のデータクラスもそのまま入るの?
よくある普通のクラス。自作のクラスもそのまま入る。
IEnumerable<DirectoryInfo>, DataGrid.Columns, List<List<T>>, Directory<Directory<T>>全部入る。
>単純にプロパティさえあればなんでもありなの?どこを見てわかったの?
なんでもあり。プロパティがなくてもあり(ToStringの結果が表示される)。
そもそも"なんでもあり"ではないと書いてる所なんてない。
何でも突っ込んでテンプレートで好きなように表示するのがWPF流。
全部手動でやるWinFormsは単純だが面倒。だからWPFに慣れた人はWinFormsに戻りたくないと言う。
0715デフォルトの名無しさん
2010/11/03(水) 02:37:31なんで手で動かしてみようとしないの?
DirectoryInfoでだろうなのかという疑問が浮かんだなら
まずはFileInfoでやってみて、そして次にDirectoryInfoで試せばいいじゃない。
100回、ネットで記事見て本を読んで質問をしてを繰り返すよりも
1回、自分の手で動かして、VisualStudioのデバッガで値を見て、
というのを行ったほうがずっと身に付くと思うんだけど。
理屈は後だっていいじゃない。
手で動かして結果を見てから、理屈を見たほうが納得行くと思うよ?
0716デフォルトの名無しさん
2010/11/03(水) 02:47:27<ListBox.ItemSource>
<Binding Path = ".">
<Binding.Converter>
〜
っていうサンプルがあったんだけどPath = "."ってどういう意味?
0717デフォルトの名無しさん
2010/11/03(水) 02:49:070718デフォルトの名無しさん
2010/11/03(水) 02:55:03http://pro.art55.jp/?eid=871963
0719デフォルトの名無しさん
2010/11/03(水) 02:57:30ありがと
0720デフォルトの名無しさん
2010/11/03(水) 03:13:05なんとなくWPFのきっかけがつかめた気がします
それにしても、まさか全部の質問に答てくれる人がいるとは正直驚きました
深く感謝いたします
>>715
やっぱり力技で覚えていく方がいいんですかね
0721デフォルトの名無しさん
2010/11/03(水) 03:34:05プロジェクト作ってデザイナで、とりあえずメニューだ!と設置して動かしたら
Windowのサイズ変えても左上に居座ってて、Stretchが怪しい!とStretchしたら
ド真ん中に表示されて・・・ 1日目それで終了。
ああMarginか、とか、StackPanelとかあるのかー、とちょっとだけ調べたのが2日目。
そういう積み重ねでしょーが。
全部理解してから何かを始める人なんて居ないよ。
0722デフォルトの名無しさん
2010/11/03(水) 04:41:13しかも>>686のようにたった一行のコードを書くだけで・・・
確かに慣れたら楽かもしれない
0723デフォルトの名無しさん
2010/11/03(水) 05:12:190724デフォルトの名無しさん
2010/11/03(水) 05:23:550725デフォルトの名無しさん
2010/11/03(水) 05:26:33昔のC#は匿名メソッドはあったがラムダ式がなかったらしいな
みんなめんどくさいものやってたんだな
0726724
2010/11/03(水) 06:15:40http://stackoverflow.com/questions/248545/wpf-trigger-for-isselected-in-a-datatemplate-for-listbox-items
0727デフォルトの名無しさん
2010/11/03(水) 06:17:52ttp://blogs.wankuma.com/kazuki/archive/2009/01/12/166166.aspx
0728724
2010/11/03(水) 06:36:52すまん言葉が足りなかった。
画像を変更したいのはListBoxの項目自体の画像です。
ディレクトリを表す項目にフォルダみたいなアイコンをつけて、
選択したらフォルダが開いてるアイコンに変えるみたいなことをしたかった。
DataTemplateの親のプロパティにトリガを設定する方法がわからなかったんだけど、
調べてたら
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="True">
ってやればいいことがわかりました。
0729722
2010/11/03(水) 07:08:27・あれから1時間かけてfileinfoのLastWriteTimeの
日/月/年
と逆になっているのを普通にするための方法を調べ解決
それから一時間かけて
・fileinfo.lengthに3桁づつコンマをつける方法を調べ解決
・そのファイルサイズを右揃えにする方法を調べ中
なぜかカラムヘッダのプロパティウィンドウのテキストの項目に
右揃えできそうなアイコンがあるのにクリックしても無反応
バイトで表示じゃなくてMBで表示するために/1024で割りたいが
どこですればいいかわからない
fileinfoを直接扱うんじゃなくて、一旦自前のクラスに入れるほうがいいのかな・・・
・ヘッダをクリックしてソートすると、スクロールバーが勝手に動く(セルの値に合わせているのか?)のを止める方法を調べ中
どうしてこんないらない機能をつけるかなー
0730デフォルトの名無しさん
2010/11/03(水) 07:17:31質問じゃないならブログかツイッターに書けば?
0731デフォルトの名無しさん
2010/11/03(水) 08:17:53XBAP自体そんなに普及しているようには思えないんだけどそんなにWPFって使われているのだろうか?
0732デフォルトの名無しさん
2010/11/03(水) 08:28:49そんなことないしxbapはもう終息
0733デフォルトの名無しさん
2010/11/03(水) 09:52:16ReactiveExtensionいいよ。結構便利
0734デフォルトの名無しさん
2010/11/03(水) 11:27:24この調子で1万人ぐらい開発者増えないかな
>>729
・割り算用のIValueConverterを自作する
IValueConverterは割り算だけでStringFormatで単位を付けてもいいけど、文字列で返した方が潰しがきくと思う
・ElementStyleでHorizontalAlignmentを変更
〜Style系のプロパティで困ったらSnoopってツールを使うといいかも
<DataGridTextColumn Binding="{Binding Length,Converter={StaticResource ファイルサイズコンバーター}}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="HorizontalAlignment" Value="Right" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
0735デフォルトの名無しさん
2010/11/03(水) 11:27:53D言語のopDotやGo言語の埋込みのように
.演算子の右側で指定された名前を、
クラス内で明示的に定義されていなければ
クラス内の特定のメンバ構造体に転送するような方法はあるのでしょうか。
0736デフォルトの名無しさん
2010/11/03(水) 11:32:13実装するコントロールってあるんでしょうか?
ちなみにVS2008を使用しています。
0737デフォルトの名無しさん
2010/11/03(水) 11:33:100738デフォルトの名無しさん
2010/11/03(水) 11:33:13DynamicObject 使って動的にやるか、
コード生成系の手段でプロキシクラス生成するか。
Go の埋め込みみたいなの、今から C# に追加するとものすごい混乱しそうだし、今後追加されることもないと思う。
あれは、structural subtyping 持ってないと大して有用でもないし、
C# みたいな nominational subtyping(明示的にインターフェイス継承しないと多態動作できないもの)には不向き。
0739デフォルトの名無しさん
2010/11/03(水) 12:01:32ありがとうございました。
確かにインターフェース継承してないとあんまり継承の意味ないですね。
0740デフォルトの名無しさん
2010/11/03(水) 15:54:29どこかにtextboxと同じメニューのひな形とかありませんか?
0741722
2010/11/03(水) 16:38:05いけました
StaticResourceとして使う方法(インスタンス化?)がわからなくて手間取りました
コンバーターを使うと
102,000k
120k
200,000k
こんな風にソートされるかと思ってたけど
コンバートする前のlong型データでちゃんと計算されるんですね
0742722
2010/11/04(木) 00:36:13DataGridのカラムをクリックしてソートしたときや、セルを選択したときに
水平スクロールバーが勝手に動くのだけど動かないようにする方法ないでしょうか?
0743デフォルトの名無しさん
2010/11/04(木) 01:07:080744デフォルトの名無しさん
2010/11/04(木) 01:18:37WPFスレ過疎ってるから来てくれよ (´・ω・`)
0745デフォルトの名無しさん
2010/11/04(木) 01:20:360746722
2010/11/04(木) 01:45:050747デフォルトの名無しさん
2010/11/04(木) 02:07:42SilverlightとWPFに行ってるんじゃない?
その分こっちが静かになって昨日の話しもやりやすかった。
0748デフォルトの名無しさん
2010/11/04(木) 05:50:05また一つMSにお布施だな。
0749デフォルトの名無しさん
2010/11/04(木) 10:32:31サーバ側です
クライアントサーバシステムでチャレンジ&レスポンス方式でパスワード認証したいのですが
どうも文字列の比較がうまくできません
ハッシュ値をhttp://phpspot.net/php/pg%82l%82c%82T%83n%83b%83V%83%85%8Cv%8EZ%83c%81%5B%83%8B.html
で計算してクライアント側から返してもresult部分でreceivedanswer、myanswerともに見た目はまったく同じでも
if文の条件の比較では違っているとでてしまいます。
改行コードあたりの見えない文字があるのかと思って改行コードだけはあたってみたのですが
両方とも改行コード自体関係ないみたいですし・・・どこがおかしいのでしょうか
0750デフォルトの名無しさん
2010/11/04(木) 10:55:12なんかわかるかもよ
0751デフォルトの名無しさん
2010/11/04(木) 11:08:48グラフィックツールが欲しくなるようなことができるということ。
外観がWinFormsと同じでよければBlendなくてもVSのデザイナで十分作れるよ。
WinFormsでWPFと同じことやろうとしたら自前描画地獄でそれこそXAML手書きなんかより
はるかに面倒。
0752デフォルトの名無しさん
2010/11/04(木) 11:42:31どのような方法があるのでしょうか?ひとつづつ抜き出す以外の方法を探しております。
(Ex)
string a="1,2,5,2,6";
var b = a.split(',');
*var bをInt型に変更したいです
思いついているのは↓
var row = new System.Collections.ArrayList();
foreach(string i in a)
{
row.Add(int.Parse(i));
}
位しか思いつきません・・・.netでなにか用意されていないのでしょうか?よろしくおねがいします。
0753デフォルトの名無しさん
2010/11/04(木) 12:05:050754デフォルトの名無しさん
2010/11/04(木) 12:04:480755デフォルトの名無しさん
2010/11/04(木) 12:07:400756デフォルトの名無しさん
2010/11/04(木) 12:10:38あと、元ので何か困るのかいな。
0757デフォルトの名無しさん
2010/11/04(木) 12:13:05懐かしいな
0758デフォルトの名無しさん
2010/11/04(木) 12:13:20Array.ConvertAll(b,
new Converter<string, int>(s=>return int.Parse(s));
IDEで検証してないから動作保証外。
0759デフォルトの名無しさん
2010/11/04(木) 12:16:46省略が嫌なんだったらConvertAll<string, int>も書くべき
もしくはArray.ConvertAll<string, int>(b, int.Parse);でもいいはず
0760デフォルトの名無しさん
2010/11/04(木) 12:16:50var b = a.Split(',').Select(x => int.Parse(x));
int[]で欲しいなら最後にToArray()
回すだけならIEnumerable<int>のまま
0761デフォルトの名無しさん
2010/11/04(木) 12:17:440762752
2010/11/04(木) 12:20:47もしかしてラムダ式にはバルスとかいう全てDeleteしてしまうメソッドも実装しているのかな・・orz
あぁ、目がぁ、目が見えない・・・・
0763デフォルトの名無しさん
2010/11/04(木) 12:24:26ラムダ式っつーかLINQわかんないならとりあえずこうやって書いとけ
string a = "1,2,5,2,6";
var row = new List<int>();
foreach (var item in a.Split(',')) {
row.Add(int.Parse(item));
}
ArrayListよりも型を指定できるジェネリックな配列(List<T>)を使った方がいろいろ便利
0764デフォルトの名無しさん
2010/11/04(木) 12:24:47基本的に>>752でいいけど今時ArrayListは使わん
0765デフォルトの名無しさん
2010/11/04(木) 12:35:07var list = new List<int>();
arraylist.Add(1); arraylist.Add(2);
list.Add(1); list.Add(2);
var a = (int)arraylist[0] + (int)arraylist[1];
var b = list[0] + list[1];
さあ、これをみてジェネリックの素晴らしさを体感するのです
0766デフォルトの名無しさん
2010/11/04(木) 12:50:080767デフォルトの名無しさん
2010/11/04(木) 14:48:08CopyFromScreenより軽い方法ってあります?
1600x900くらいのサイズを連続でキャプチャしてると
10fpsでも間に合わなかったりするんですけど
0768デフォルトの名無しさん
2010/11/04(木) 14:51:45俺もFlashゲームをやる際の補助ツールとして
画面の部分キャプチャをしやすいツール書いたけど
C#だと重すぎて部分的にC++で書いたもんな
0769767
2010/11/04(木) 15:00:30返信ありがとうございます。
やっぱりC#.NETだけで大画面を高速にキャプチャは無理ですか・・・。
C/C++とかDirectX覚える機会があったらまた頑張ってみます。
0770デフォルトの名無しさん
2010/11/04(木) 15:22:18多分キャプチャしたビットマップをファイルに出力するのに時間くってるんじゃね?
0771767
2010/11/04(木) 15:58:19�@画面キャプチャ
�AキャプチャしたビットマップをListに出力
�B別スレッド1でMemoryStreamのリストにJPEGに変換保存(Encoderクラスは使用してません)、元のビットマップは破棄
�C別スレッド2で1秒間隔でMemoryStreamのリストを見に行って、JPEGがあったら保存
(�B�Cをしないとメモリが足りなくなってしまうので)
っていうのをやってたんで、�A�B�Cを切ってキャプチャしてみたところ
キャプチャしてない状態で100fps弱
キャプチャしている状態で20fps弱まで出ました
単純計算でキャプチャに40ms、出力に50ms秒強かかってる事になりますね・・・。
画面の一部が変化し次第キャプチャっていう事をやっているんで
その変化を監視するのに10msほどかかってます
C#始めたばかりなので軽い処理にするためには、っていうノウハウが無いので
実際このアルゴリズムが一番速いのかどうかも分かってない状態です・・・
0772デフォルトの名無しさん
2010/11/04(木) 17:12:400773デフォルトの名無しさん
2010/11/04(木) 17:42:30画面が変化したことだけを検出したいなら、
byte[] prev; //前回キャプチャした画像
byte[] next; //今回キャプチャした画像
int sum = 0;
for (int i = 0; i < prev.Length; i++)
{
sum += Math.Abs(prev[i] - next[i]);
}
//sum > 0なら変化した
とかやれば速くなるんでない?
後は、監視する領域を極力小さくするか
0774773
2010/11/04(木) 17:50:34byte[]じゃなくてint[]とかlong[]にコピーして差分取った方が速いかも。
あるいは、unsafeを使うか、あきらめてC/C++を使うか。
0775デフォルトの名無しさん
2010/11/04(木) 17:52:14描画系のAPIをフックした方が早いんじゃないの?
0776デフォルトの名無しさん
2010/11/04(木) 18:12:36それだけCPUの速度が上がったって事でしょ
PCI-Eになったし
大昔あったHDDのPIO転送みたいな考え方
本当はマルチタスクOSでは禁じ手なんだけどね
0777デフォルトの名無しさん
2010/11/04(木) 20:41:07PIOて
0778デフォルトの名無しさん
2010/11/04(木) 20:42:54private int GetHashCode(byte[] bytes) {
int r = 0;
for (int y = 0; y < _capSize.Height; y += 4) {
for (int x = (y % 2) * 2; x < _capSize.Width; x += 4) {
int i = (y * _capSize.Width + x) * 3;
r ^= bytes[i] * i + (bytes[i + 1] * x + bytes[i + 2] * y * 256) * 256;
}
}
return r;
}
高速化が目的なら細かい変化はある程度無視するのもありかもね
0779デフォルトの名無しさん
2010/11/04(木) 22:52:31バスマスタとDMAはマルチタスクOSでは禁じ手とはならないだろ
0780デフォルトの名無しさん
2010/11/05(金) 04:30:38その配置数の数だけ_Click等を用意するのは無駄かと思うのですが、
プログラムからパネルをコピーして利用することなどはできませんか?
0781デフォルトの名無しさん
2010/11/05(金) 04:45:59それをいくつか作るのはどうでしょうか。
同じようなボタンが多いならイベントハンドラは同じ物を指定して
senderのNameとかで振り分けなんてのも。
0782デフォルトの名無しさん
2010/11/05(金) 04:51:37つまり複数のコントロールを1個にまとめたパーツを何個か配置したいんだけど、
コピーして貼り付けるとそれぞれにイベントやらなんやらを割り当てなくちゃいけなくて面倒だから
なんかうまい方法教えろってことでおk?
もしそうならユーザーコントロールってのを使いなされ。
0783デフォルトの名無しさん
2010/11/05(金) 04:54:25その手があったか
0784767
2010/11/05(金) 05:05:16>>778
返事が遅くなってしまいました。サンプルコードありがとうございます。
やっぱりみなさん凄いですね・・・。この短時間でビットマップの差異を導き出すアルゴリズム組めるなんて
監視にかかる時間をもっと縮められれば、もう少し高いfpsでキャプチャし続けられるかもしれないので
そっちのアルゴリズム責めてみます。
ありがとうございます。
0785デフォルトの名無しさん
2010/11/05(金) 05:30:13ためしにちょっとつくってみたんだがなかなか速度上がらんかったわ
まあそれでも少しは効果があったものをあげとくと
別スレッド2をタイマー動作じゃなくて、AutoResetEvent使ってリストに追加したらすぐに処理できるようにする
キャプチャー用の画像やデータを保持するbyte[]なんかは予め用意しておいて作業中に大規模なメモリの割当が発生しないようにする
こんなところ
0786767
2010/11/05(金) 06:34:23貴重な情報ありがとうございます!
たまーに一気にメモリが食われる時があったのはいちいち頻繁に呼び出す関数内にローカルで
byte[]とかを定義してたからかもしれません。見落としていました。
ありがとうございます!
0787デフォルトの名無しさん
2010/11/05(金) 07:27:24やろうとしてることなのにw
そんなのをMPUでやるなんて無謀だろw
0788デフォルトの名無しさん
2010/11/05(金) 14:48:280789デフォルトの名無しさん
2010/11/05(金) 16:53:36たかが画面のキャプチャのために激しく環境依存するのか
0790デフォルトの名無しさん
2010/11/05(金) 17:30:06この論理は破綻している
0791デフォルトの名無しさん
2010/11/05(金) 21:23:23やはりCOMとしてADOXなどを使わなければ難しいのでしょうか?
0792デフォルトの名無しさん
2010/11/05(金) 21:29:220793デフォルトの名無しさん
2010/11/05(金) 22:29:49すみません ユーザコントロールなど調べてみたのですが
どのように行えばいいのかがわかりませんでした。
解説のページなどはないでしょうか?
0794デフォルトの名無しさん
2010/11/05(金) 22:32:59ここおすすめ
http://cs2ch.blog123.fc2.com/blog-entry-1.html
どの辺のページか忘れたけどやってる
ただしユーザーコントロールではやってないけど
0795デフォルトの名無しさん
2010/11/05(金) 22:46:580796デフォルトの名無しさん
2010/11/06(土) 00:25:58byte配列にデータは入っているようなのですが、GetStringすると文字化けしたっぽい文字が2文字ほど
なぜなのでしょうか?
WebClient webClient = new WebClient();
byte[] a=webClient.DownloadData("http://g.e-hentai.org/g/286017/330e7c37ff/");
textBox1.Text = System.Text.Encoding.UTF8.GetString(a);
まぁサイトも晒すとこうなってるんですが。。。
googleとかはちゃんとソースが取れます
0797デフォルトの名無しさん
2010/11/06(土) 00:28:060798デフォルトの名無しさん
2010/11/06(土) 00:32:010799デフォルトの名無しさん
2010/11/06(土) 00:33:08すいません書き忘れました
IEの表示で見てみるとUnicode(UTF-8)でした
UnicodeでGetStringも試しましたが駄目でした
0800デフォルトの名無しさん
2010/11/06(土) 00:38:40というか、DownloadDataだっけ?
stringとかなかったか?
余談だけどwcはレスポンスコード吐かないから今ひとつ使いにくい…
0801デフォルトの名無しさん
2010/11/06(土) 00:42:470802デフォルトの名無しさん
2010/11/06(土) 01:00:42string s = webBrowser1.DocumentText;
0803デフォルトの名無しさん
2010/11/06(土) 01:36:10ぇー
0804デフォルトの名無しさん
2010/11/06(土) 03:13:38これが最近デリゲートを勉強し出した人には非常にわかりにくい
昔のデリゲートを知っている人なら簡単になったなってことだけど
今からの人は昔のデリゲートのやり方も覚えて今のやり方も覚えなきゃ
わからないような説明がされている
よく、CやC++ではこうだったがという説明もあるがこれも
初心者にとったら混乱するだけ
0805デフォルトの名無しさん
2010/11/06(土) 03:20:03昔はダイヤル式だったけど、今はボタン式になっているんだよ
便利でしょ?
といわれても、電話がそもそも何をするものなのかわからない人にとっては
まったく説明になってない
他の場所にいる人と通話するには、電話局に信号を送るために
ボタンを押すだけでいいよ
と説明してくれた方がわかりやすい
0806デフォルトの名無しさん
2010/11/06(土) 03:23:07他の場所にいる人と通話するには、電話局に信号を送るために
ボタンを押すだけでいいよ
と説明してもちゃんと伝わる
昔話を例えに出して説明するのはやめてほしい
0807デフォルトの名無しさん
2010/11/06(土) 03:24:170808デフォルトの名無しさん
2010/11/06(土) 03:25:260809デフォルトの名無しさん
2010/11/06(土) 03:29:440810デフォルトの名無しさん
2010/11/06(土) 03:36:270811デフォルトの名無しさん
2010/11/06(土) 03:38:480812デフォルトの名無しさん
2010/11/06(土) 03:57:05お前の例えが的外れで分かりにくい。混乱するだけ。
0813デフォルトの名無しさん
2010/11/06(土) 04:01:590814デフォルトの名無しさん
2010/11/06(土) 04:03:400815デフォルトの名無しさん
2010/11/06(土) 04:23:06俺みたいな奴にムキになるなんてお前もその程度なんだな
0816デフォルトの名無しさん
2010/11/06(土) 04:35:340817デフォルトの名無しさん
2010/11/06(土) 04:40:53whereの条件であるObjectがnullだったら含めたくなく、
null意外だったらObjectをキャストしてメンバーの値で比較したいのですがやり方がわかりません・・・。
whereで先にobject != nullとしても、後の条件のキャストも評価されてNullReferenceExceptionが投げられてしまいます。
0818デフォルトの名無しさん
2010/11/06(土) 04:44:110819デフォルトの名無しさん
2010/11/06(土) 05:07:44>>815
0820デフォルトの名無しさん
2010/11/06(土) 05:12:05>デリゲートがわかりにくいのは昔はこうだったがと説明されているところ
たぶん関数ポインタのことだろうな。
関数ポインタがわかる人にとってはそういう説明でデリゲートが何か一発で理解できるからしかたない。
その喩え話で言うと、携帯電話を初めて見る人に、これは電話ですって説明してる感じ。
そもそも関数ポインタってそんなに分かりにくい概念じゃないし、
デリゲートの説明だって関数ポインタがでてくるのは最初の概要だけで
そのあとは知らなくても理解出来るように書いてあるだろ。
0821デフォルトの名無しさん
2010/11/06(土) 05:37:310822デフォルトの名無しさん
2010/11/06(土) 05:56:522.0から代入するときnewが要らなくなったり、匿名メソッドが追加されたり、
3.0からラムダ式が追加されたことに対して?
確かにそれは紛らわしいけど、C#のソースコードを読むためには全部理解する必要があるしなぁ
0823デフォルトの名無しさん
2010/11/06(土) 06:01:31>whereで先にobject != nullとしても、後の条件のキャストも評価されてNullReferenceExceptionが投げられてしまいます。
そんなことってありえるの?
0824デフォルトの名無しさん
2010/11/06(土) 07:06:01ごめんなさい。
null判定の書き方を間違ってました。
先の条件が成立しなければ後のキャストは評価されませんでした。
0825デフォルトの名無しさん
2010/11/06(土) 07:09:18全部理解って、2.0以前のデリゲートの表記から全部覚えていかないと
いきなりラムダ式のデリゲート表記は理解できないってこと?
C++でソフト作るにはアセンブラ理解してないと無理みたいな感じ?
0826デフォルトの名無しさん
2010/11/06(土) 07:55:10デリゲートの表記は今も昔も1つしかない
delegate int Del(int x);
デリゲートとして扱えるものは
名前付きメソッドと匿名メソッドとラムダ式
int method (int x){ return x + 1; }
Del d1 = method;
Del d2 = delegate(int x) { return x + 1; };
Del d3 = x => x + 1;
2.0からは
Del d = new Del(someMethod);
じゃなくて
Del d = someMethod;
ってかけるようになった
まとめるとこれだけ
ラムダ式があれば匿名メソッドは必要ないかもしれないが
どの書き方もいまだに有効で、サンプルコードを読む際には覚えておく必要がある
0827デフォルトの名無しさん
2010/11/06(土) 07:59:240828デフォルトの名無しさん
2010/11/06(土) 08:00:060829デフォルトの名無しさん
2010/11/06(土) 08:00:16前の時も思ったけどなんもわかってないくせに適当なこと言うのやめろよ
自分じゃまともなこと書いてるつもりかもしれないけど的外れ過ぎてまじ笑えない
0830デフォルトの名無しさん
2010/11/06(土) 08:37:52このラベルの値(label.Text)を配列に代入したいと考えています。
配列に代入するにはどのようなコードを書けばいいでしょうか?
0831デフォルトの名無しさん
2010/11/06(土) 08:39:14System.Net.WebClient wc = new System.Net.WebClient();
wc.Encoding = Encoding.UTF8;
0832デフォルトの名無しさん
2010/11/06(土) 08:39:260833デフォルトの名無しさん
2010/11/06(土) 08:41:07はい。デザイナーで作成しております。
0834デフォルトの名無しさん
2010/11/06(土) 08:43:57まあこの辺を参考に
http://dobon.net/vb/dotnet/control/buttonarray.html
0835デフォルトの名無しさん
2010/11/06(土) 08:49:07texts[0] = label1.text;
texts[1] = label2.text;
texts[2] = label3.text;
...
こういう事じゃないの?
0836デフォルトの名無しさん
2010/11/06(土) 08:51:290837デフォルトの名無しさん
2010/11/06(土) 08:53:11マッチ判別で配列に放り込めばできるだろうけど、そういう書き方自体がどうなのかと思う。
0838デフォルトの名無しさん
2010/11/06(土) 08:57:43そこだけコードで書いちゃえyp!
0839デフォルトの名無しさん
2010/11/06(土) 09:08:03http://ideone.com/w7Hu0
0840デフォルトの名無しさん
2010/11/06(土) 09:14:340841デフォルトの名無しさん
2010/11/06(土) 09:31:46{
public string test;
}
public hoge[] foo;
foo = new hoge[7];
for ( int i = 0; i <= 10; i++ )
{
foo[i] = new hoge();
}
このような構造体を作成し、xmlにシリアライズして保存すると
<hoge>
<test>var</test>
</hoge>
<hoge>
<test>baz</test>
</hoge>
この用に保存されています。
これをデシリアライズして読み込みを行おうとすると
{"XML ドキュメント (2,2) でエラーが発生しました。"}
というエラーが起きてしまいます。
これは、同じ名前のプロパティが複数あるのが原因になるのでしょうか?
また、その場合はどのようにすればよいでしょうか?
0842デフォルトの名無しさん
2010/11/06(土) 09:34:21そんな部分的じゃなく全ソース公開できない?
0843デフォルトの名無しさん
2010/11/06(土) 09:50:07どのテクノロジを使ってシリアライズしたかぐらいは書いてくれ
0844デフォルトの名無しさん
2010/11/06(土) 09:53:58XMLを原因と考えず他の部分も調べてみます。
全ソースはそこそこおおきいので、もうすこし調べて動かなければ張らせていただきます。
>>843
using System.Xml.Serialization;
を利用しています。
0845デフォルトの名無しさん
2010/11/06(土) 09:57:45ソースはideoneに張ってね。
0846デフォルトの名無しさん
2010/11/06(土) 10:15:56御手数をおかけいたしました
0847デフォルトの名無しさん
2010/11/06(土) 10:40:57たしかにスマートですね
0848デフォルトの名無しさん
2010/11/06(土) 11:15:24でもそれだとパネルとかに配置されたラベルは拾えないよな
0849デフォルトの名無しさん
2010/11/06(土) 11:18:38まあどうせならFormの起動の段階で動的にボタンを作って
管理した方がいいだろうね
なんせ自分は何があるか知ってるんだし
0850デフォルトの名無しさん
2010/11/06(土) 11:21:43動的にラベルを作って
0851デフォルトの名無しさん
2010/11/06(土) 12:25:33普通のパネルのようにぴたっとくっつける方法ってありますか?
0852デフォルトの名無しさん
2010/11/06(土) 12:27:15そんなことしたらレイアウトの修正が激しく面倒なことになりそうだが
0853デフォルトの名無しさん
2010/11/06(土) 12:28:13画像くれ
0854デフォルトの名無しさん
2010/11/06(土) 12:29:25そうか?
labelだからある程度規則的に並べるだろうし
規則性がないのなら座標用のデータを配列にでもいれて
動的にlabalを作るときにそれを代入すればいいだけちゃうの?
0855デフォルトの名無しさん
2010/11/06(土) 12:36:09どっかでこの関数を呼べばぴったりくっつくよ
private void PittariLayout(FlowLayoutPanel panel) {
foreach (Control item in panel.Controls) {
item.Margin = new Padding(0);
}
}
0856デフォルトの名無しさん
2010/11/06(土) 12:43:230857デフォルトの名無しさん
2010/11/06(土) 12:59:34labelは他のコントロールの説明のために配置されることが多いよね
そうしたときに対象のコントロールとラベルを別々に管理しなきゃいけないのはめんどいと思うよ。
例えばテキストボックスの左側にラベルが置いてあって、このラベルの文字列を変える場合、
テキストボックスの座標はどうやって計算する?
0858デフォルトの名無しさん
2010/11/06(土) 13:07:210859デフォルトの名無しさん
2010/11/06(土) 13:08:41その辺は自分で考えろよw
そんなマルチに面倒みきれねーよw
0860デフォルトの名無しさん
2010/11/06(土) 13:13:09あ、別に俺は質問者じゃないよ
ただデザイナ使わずに配置するの推奨みたいな書き方してたから絡んでみただけです
0861デフォルトの名無しさん
2010/11/06(土) 13:14:14デザイナーで楽したいか
ラベルの列挙も楽したいか
じゃないの?
0862デフォルトの名無しさん
2010/11/06(土) 13:18:58WPFならDataTemplateだろ
コレクションを置くコード必要なし
0863デフォルトの名無しさん
2010/11/06(土) 13:34:47ありがとうございます。解決しました。
0864デフォルトの名無しさん
2010/11/06(土) 13:41:070865デフォルトの名無しさん
2010/11/06(土) 13:57:46水平方向のAnchorを設定しなきゃOK
0866デフォルトの名無しさん
2010/11/06(土) 13:59:59label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
label1.AutoSize = false;
これで中央に配置されるよ
0867デフォルトの名無しさん
2010/11/06(土) 14:14:47デザイナーで楽して、
プログラムで列挙する。
これが一番
列挙用の関数なんてすぐ作れるし
0868デフォルトの名無しさん
2010/11/06(土) 14:55:35MMRESULTに対応するC#の型は何になるのでしょうか?
私の見てるページがよく使われる型しか載ってないようなのでわかりませんでした。
あと、この型変換?専門用語でなんていうんですか?
用語知らないとMSDNで探せなかったので。
0870デフォルトの名無しさん
2010/11/06(土) 15:05:34でググってけば型がなんだろうが大元が見つかるよ
マーシャリング
0871デフォルトの名無しさん
2010/11/06(土) 15:22:21ネットみててクリックすると自動的に新しいウィンドウが開いてそれに表示される見たいのって
デフォルトでそうなる?
0872デフォルトの名無しさん
2010/11/06(土) 15:50:34http://www.pinvoke.net/default.aspx/winmm/MMRESULT.html
0873デフォルトの名無しさん
2010/11/06(土) 16:01:46ありがとうございます。やっぱり基礎から全部覚えなきゃいけないのか。
ラムダ式のデリゲートいくらみても理解できないわけだ
コードが短くなると
呼び出し側と呼び出される側という考え方って必要なの?って思えてくる
結局メソッドを変数みたいに扱うだけってことらしいが
じゃあ、直接呼び出さないのはなぜ?って考えた場合
親子関係にある子クラスから親クラスのメソッドを実行させるために必要だったんですね
でも、まんま親クラスを子クラスにプロパティで渡せばいいだけに思えるけど
その方が 親クラス.method()という感じになってどのクラスのどのメソッドを呼び出しているかわかりやすいし
でも、これだと長くなるからってことでデリゲートなんでしょ?
0874デフォルトの名無しさん
2010/11/06(土) 16:05:38子クラスの呼び出し方も変えなくてはいけないから
やっぱりデリゲートを中継したほうが、クラス間の依存関係が弱まって
変更しやすくなるからいいのか・・・
0875デフォルトの名無しさん
2010/11/06(土) 16:08:170876868
2010/11/06(土) 16:16:31ありがとうございます・・・・が、そのキーワードでぐぐって出てきたページや、
紹介のページみましたが・・・理解できませんでしたorz
[DllImport("winmm.dll")]
private extern static・・・
てパターンじゃないんですね?また出直します。
0877デフォルトの名無しさん
2010/11/06(土) 16:18:49小出しにしないで全部書け
0878デフォルトの名無しさん
2010/11/06(土) 16:22:12ちゃんと見ろ。public static enum MMRESULT : uintってあるだろ。
0879868
2010/11/06(土) 16:30:37MMRESULT midiInGetDevCaps(
UINT uDeviceID,
LPMIDIINCAPS lpMidiInCaps,
UINT cbMidiInCaps
);
というAPIの関数をC#で使いたいのですが、2つ解らないところがあって、
1つは最初の質問の型宣言。
もうひとつは、lpMidiInCapsを格納する構造体をどうすればいいのか?
ただの変数でいいのか?ってところで躓いてます。
>>878
それが何を言ってるのか解らない。
0880デフォルトの名無しさん
2010/11/06(土) 16:33:49ここに書いてある
検索能力でも鍛えた方が捗るぞ、いろいろと
0881デフォルトの名無しさん
2010/11/06(土) 16:36:37ライブラリで用意しといてくれればいいのに
0882デフォルトの名無しさん
2010/11/06(土) 16:40:01されてないのは言語的に相性が悪いかニッチな奴
0883デフォルトの名無しさん
2010/11/06(土) 17:13:31フリーのMIDI関係のクラスって、何処かにあるんでしょうか?
0884デフォルトの名無しさん
2010/11/06(土) 17:28:14http://akabeko.sakura.ne.jp/blog/2010/01/c-%E3%81%A7%E9%9F%B3%E6%A5%BD%E5%86%8D%E7%94%9F-3/
使うのはちょっと面倒だけどFreeにしてはかなり高機能なライブラリ
0885デフォルトの名無しさん
2010/11/06(土) 17:50:11おお、あるんだなぁ!ありがとうございます。
0886デフォルトの名無しさん
2010/11/06(土) 19:35:31下にする方法ってある?
0887デフォルトの名無しさん
2010/11/06(土) 19:36:250888デフォルトの名無しさん
2010/11/06(土) 19:41:440889デフォルトの名無しさん
2010/11/06(土) 20:29:03何その質問w
0890デフォルトの名無しさん
2010/11/06(土) 22:23:11http://image.rakuten.co.jp/m-mutter/cabinet/dwa2/08462-99.jpg
0891デフォルトの名無しさん
2010/11/06(土) 22:28:48毛を刈り上げたくなるね
0892デフォルトの名無しさん
2010/11/06(土) 22:30:49そういう機能を持つIExtenderProvider実装コンポーネントにするのがおすすめ。
0893デフォルトの名無しさん
2010/11/07(日) 00:36:07ふじゅううううううううううううううううううううううう
0894デフォルトの名無しさん
2010/11/07(日) 08:39:29「エクスプローラと同じ挙動のフォルダツリー作って」とか簡単に言われると泣きたくなる。
そういうときのためC++/CLIがあるんだろうけどさ。
0895868
2010/11/07(日) 10:14:32御礼が遅くなりました。ありがとうございます。
引数で構造体を渡すDllは、構造体の宣言も必要だから複雑なんですね・・・
一晩色々勉強しましたがわかりませんでした。orz
もっと勉強してきます。
ところでPINVOKEのアドインソフトはVS2010EEでも使えるのでしょうか?
トップページの記述では2005までしか対応してないようですが。
理論が解らなくてもツールでプログラムさえ組めたらいいかなとも思うので・・・(^^;;
0896デフォルトの名無しさん
2010/11/07(日) 10:20:19複雑とか言うなアホ。
めんどくせえってだけだろ。
0897デフォルトの名無しさん
2010/11/07(日) 10:43:440898デフォルトの名無しさん
2010/11/07(日) 13:41:29コードジェネレータとか使いたいのに使えない
0899デフォルトの名無しさん
2010/11/07(日) 14:26:150900デフォルトの名無しさん
2010/11/07(日) 14:30:470901デフォルトの名無しさん
2010/11/07(日) 14:40:29でもultimateにしよう
0902デフォルトの名無しさん
2010/11/07(日) 14:48:19これって略されているんですよね?
これは略さないとどういう感じになるんですか?
文法というか構文というのかそれがわからないです
0903デフォルトの名無しさん
2010/11/07(日) 15:29:200904デフォルトの名無しさん
2010/11/07(日) 15:32:490905デフォルトの名無しさん
2010/11/07(日) 15:35:56double d;
if(Double.TryParse("数値か判定する文字列",out d)){
// メッセージ
}
0906デフォルトの名無しさん
2010/11/07(日) 16:37:150907デフォルトの名無しさん
2010/11/07(日) 16:43:22それは匿名型の話だね
そういう記述をするとまずコンパイラが自動的に次のようなクラスを生成する
internal sealed class _AnonymouseType0<Tファイル, Tパス> {
private readonly Tファイル ファイル_field;
private readonly Tパス パス_field;
public _AnonymouseType0(Tファイル ファイル, Tパス パス){
this.ファイル_field = ファイル;
this.パス_field = パス;
}
public Tファイル ファイル{ get{ return this.ファイル_field; } }
public Tパス パス{ get{ return this.パス_field; } }
}
そしてnew { ファイル = "aaa", パス = "bbb" } は
new _AnonymouseType0<string, string>("aaa", "bbb");
に置換される
つまり匿名型は変更不可能なクラスの定義とコンストラクタの呼び出しを代行してくれるってわけ
>>905
ifの条件に否定付け忘れてる
0908デフォルトの名無しさん
2010/11/07(日) 18:09:510909デフォルトの名無しさん
2010/11/07(日) 19:30:15なるほど、ありがとうございます
0910デフォルトの名無しさん
2010/11/07(日) 21:30:41どこがウィルスっぽいとかわかる?
static void Main(string[] args)
{
string str;
bool flg = false;
do
{
flg = false;
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName=="dv")
{
SetThreadExecutionState(ExecutionState.SystemRequired |ExecutionState.DisplayRequired | ExecutionState.Continuous);
flg = true;
Console.WriteLine(p.ProcessName);
break;
}
}
if (flg == false)
{
SetThreadExecutionState(ExecutionState.Continuous);
Console.WriteLine("dv not found");
}
str = Console.ReadLine();
} while (str != "q");
}
[DllImport("kernel32.dll")]
extern static ExecutionState SetThreadExecutionState(ExecutionState esFlags);
0911デフォルトの名無しさん
2010/11/07(日) 21:31:39{
Null = 0,
SystemRequired = 1,
DisplayRequired = 2,
Continuous = 0x80000000,
}
0912デフォルトの名無しさん
2010/11/07(日) 22:05:18ウィルス対策ソフトは端的にバイナリのパターンを見てるだけで、
何をやってるかなんて意味的な解析はしてないと思うから、
ソースの一部なんか貼っても無意味では?
0913デフォルトの名無しさん
2010/11/07(日) 22:09:17今じゃ搭載してないウィルス対策ソフト探すほうが至難だけど
0914デフォルトの名無しさん
2010/11/07(日) 22:18:260915デフォルトの名無しさん
2010/11/07(日) 22:26:500916デフォルトの名無しさん
2010/11/07(日) 22:38:58ちなみに、
>[DllImport("kernel32.dll")]
>extern static bool Beep(uint dwFreq, uint dwDuration);
とか
>[DllImport("user32.dll")]
>extern static int MessageBeep(uint uType);
を追加してやったら(呼び出しは無し)、ビルドも実行も問題なく出来た
0917デフォルトの名無しさん
2010/11/07(日) 23:06:36comboBoxをItemの表示・選択専用にして、入力できないようにするプロパティってどれですか?
0918デフォルトの名無しさん
2010/11/07(日) 23:12:45コントロールをダブルクリックするとプリセットされたイベントハンドラが自動生成されますが、
プリセット以外のイベントをハンドラにしたいときは、手書き修正しかないのでしょうか?
0919デフォルトの名無しさん
2010/11/07(日) 23:13:240920デフォルトの名無しさん
2010/11/07(日) 23:13:550921デフォルトの名無しさん
2010/11/08(月) 00:02:20ありがとうございました!
0922デフォルトの名無しさん
2010/11/08(月) 00:19:34月曜日が来た・・・。
0923デフォルトの名無しさん
2010/11/08(月) 01:05:11どうもです。
こっちのアンチウイルスもAntiVirなんですが…誤爆かな?
ところでBeepを追加したらいいというのはどういう考えで出てきたものなのか
非常に興味があるんですが。
0924デフォルトの名無しさん
2010/11/08(月) 02:15:09今日からまた学校か……
0925デフォルトの名無しさん
2010/11/08(月) 02:18:31ちげーよw
kernel32.dll使うと大抵のセキュリティソフトは反応する
0926デフォルトの名無しさん
2010/11/08(月) 02:25:13喜んでいいのかどうなのか
0927デフォルトの名無しさん
2010/11/08(月) 02:35:580928デフォルトの名無しさん
2010/11/08(月) 09:43:50したいのですがどうすればいいですか?
0929デフォルトの名無しさん
2010/11/08(月) 09:53:190930デフォルトの名無しさん
2010/11/08(月) 09:54:420931デフォルトの名無しさん
2010/11/08(月) 09:59:27キーボードの入力で右上のと右下のって区別できるんだっけ?
0932928
2010/11/08(月) 10:28:32Font fnt = new Font("System",11,FontStyle.Regular);
textBox1.Font = fnt;
にしてもなぜか"\"になってしまいます。
0933デフォルトの名無しさん
2010/11/08(月) 10:33:580934デフォルトの名無しさん
2010/11/08(月) 10:36:00あ、有り難うございます。お騒がせしました。
0935デフォルトの名無しさん
2010/11/08(月) 10:36:59書式指定でc指定したらこっちが使われるようになってるはず
0936デフォルトの名無しさん
2010/11/08(月) 12:54:56現在、フォーム上のボタンを押すと処理が実行されるのですが、その際にテキストボックスや
その他のフォーム上に入力がされているか確認を取った後に実行するように入力チェックを
行っております。
(Ex)
if(string.IsNullOrEmpty(this.TextBox.Text))
{
MessageBox.Show("フォームに入力がされていません");
this.Button.Enabled = true;
}
などのようにしています。メッセージの違いは3パターンほどでそれ以外の処理(ボタンのEnabledをtrueにする)
は共通しております。それをまとめるには別のメソッドにするか、例外として投げて処理するかを考えております。
もし、実行ボタン押下時の入力チェックをする場合ほかにどのような処理方法があるのでしょうか?
よろしくお願い致します。
0937デフォルトの名無しさん
2010/11/08(月) 13:06:58GUIにアプリケーションの知識を入れ込まないようにするなら、
チェックする機能とチェック後にGUIの状態を変える機能に分けちゃう。
たとえば、
・GUIから入力の正誤をチェックするためのイベント
・GUIの状態を初期化(または必要な部分だけ変える)ためのメソッド
GUIは高度な描画機械って割り切っちゃって、その機械を扱う別の機械を作る
0938デフォルトの名無しさん
2010/11/08(月) 14:03:50GUIの方からモデルにアクセスしてモデルの状態を変更したり
モデルの状態が変更された時のイベントを受け取ったりするんだよ
0939デフォルトの名無しさん
2010/11/08(月) 15:46:24モデル側からするとデータを手元に常に置けるのは安心だしわかり易いし
GUIが何をするかなんて関係ないって考えで作ると後々楽なんだよね
とりあえず、コンソールアプリを作ることがおすすめ
0940デフォルトの名無しさん
2010/11/08(月) 16:17:51まずお前の実力を示すことかけよ
0941デフォルトの名無しさん
2010/11/08(月) 16:42:07これは笑った
まずお前の実力を示すことかけよ
0942デフォルトの名無しさん
2010/11/08(月) 16:43:59コンソールアプリ作ってきたら示してやるよ
0943デフォルトの名無しさん
2010/11/08(月) 16:58:00>>939に言ってやれよ
0944デフォルトの名無しさん
2010/11/08(月) 19:55:23動けばいいんでないの?
MVCでもPACでも
> GUIの方からモデルにアクセスしてモデルの状態を変更
これが GUIから入力の正誤をチェックするためのイベント
> モデルの状態が変更された時のイベントを受け取ったりする
GUIにデータの扱い方を入れ始めるとぐちゃぐちゃになるから嫌だな
時々やっちゃうけど。
データバインドの様な広く一般的に使われる(標準ライブラリに入っている)方法なら許されるけど、
オレオレ仕様のデータバインド()は許されない。
まあ動けばいいんだから、動くように書けばいいんだよね。
0945デフォルトの名無しさん
2010/11/08(月) 20:07:09>例外として投げて処理するか
これってMSDNかなんかでやるなって書いてあった気がする
0946デフォルトの名無しさん
2010/11/09(火) 10:46:29SerialPortコンポーネントを用いてArduinoボードからのデータを
DataReceivedイベントを用いて受信しています。
データの受信は問題なく行われているのですが、
データ受信に大きく遅延が発生してしまいます。
Arduinoボードの可変抵抗の値をC#側に送っているのですが、
可変抵抗をひねってから、C#側に受信されるまで、数秒掛ってしまいます。
おそらくデータ受信が追い付いていないのが原因かと思いますが、
どのような対策を行えばよろしいでしょうか?
何かアドバイスなどありましたら、ご教授していただけると幸いです。
よろしくお願いいたします。
0947デフォルトの名無しさん
2010/11/09(火) 11:05:31確かに数秒ってのは異常だと思うんだけど
1バイトでイベント発生するようにしてもやっぱ1文字目の受信まで数秒かかったりする?
0948デフォルトの名無しさん
2010/11/09(火) 12:09:22var test = new List<int>();
string strJoin =string.Join(",",test.To.String().ToArray());
ではうまくいかないので・・・;w;
0949デフォルトの名無しさん
2010/11/09(火) 12:13:42ループ作ってListの項目を先頭から見ていってstring[]へセットしていく
0950デフォルトの名無しさん
2010/11/09(火) 12:13:53test.Select(i=>i.ToString()).ToArray();
てことかな
0951デフォルトの名無しさん
2010/11/09(火) 12:21:02自分もその方法を思いついたのですが、ほかになにか用意されていないかと思いまして・・・
ConvertAllなるものを使えばよさげですが、、いまいち使い方が・・・orz
>>950
それで試してみましたが、Selectっていうのがありませんでしたorz
0952デフォルトの名無しさん
2010/11/09(火) 12:22:17string strJoin =string.Join(",",test);
0953デフォルトの名無しさん
2010/11/09(火) 12:24:320954デフォルトの名無しさん
2010/11/09(火) 12:26:36Join<T>(String, IEnumerable<T>)が使えるのは.NET4からだった
0955デフォルトの名無しさん
2010/11/09(火) 12:27:33Enumerable拡張メソッド使おうぜ
0956デフォルトの名無しさん
2010/11/09(火) 12:30:43>>949さんの考えを踏襲すると・・・
var test1 = new List<int>;
var test = new List<string>();
foreach(var i in test1)
{
test.Add(i.ToString());
}
Pro.sortIndex_string = string.Join(",",test.ToArray());
になるのかなぁ・・?
0957デフォルトの名無しさん
2010/11/09(火) 12:31:15>それで試してみましたが、Selectっていうのがありませんでしたorz
SelectやToArray()を使う場合は
using System.Linq;
が必要。それでコンパイルが通るはずだけど。
0958デフォルトの名無しさん
2010/11/09(火) 12:31:40えw
ループ使うにしてもそれはないわw
0959デフォルトの名無しさん
2010/11/09(火) 12:34:36>>956さん
もしループしようならどの様にしますか?
後学のためにサンプルお願いいたします><
>>957
さっそく、してみます><また報告します
0960デフォルトの名無しさん
2010/11/09(火) 12:34:380961デフォルトの名無しさん
2010/11/09(火) 12:36:330962デフォルトの名無しさん
2010/11/09(火) 12:37:53よくバージョン確認したほうがいいんじゃね
0963デフォルトの名無しさん
2010/11/09(火) 12:38:09使い方がMSDNみてもよくわからないので・・・orz
もし参考になるサイトなどありましたらよろしくおねがいいたします。
0964デフォルトの名無しさん
2010/11/09(火) 12:39:06使えるので使っているのですが・・・
0965デフォルトの名無しさん
2010/11/09(火) 12:39:450966デフォルトの名無しさん
2010/11/09(火) 12:39:41String.Join(",", test.ConvertAll<string>(delegate(int _) { return _.ToString(); }).ToArray());
かな
0967デフォルトの名無しさん
2010/11/09(火) 12:41:57C#3.0を使えるなら
String.Join(",", test.ConvertAll(_ => _.ToString()).ToArray());
0968デフォルトの名無しさん
2010/11/09(火) 12:47:26通りました♪ありがとうございます。
>>966はむずかしそうなので、今度検証してみます;w;
0969デフォルトの名無しさん
2010/11/09(火) 12:48:310970デフォルトの名無しさん
2010/11/09(火) 12:50:01横からだけど、_ってどういう役目があるんだっけ?
C# アンダースコアでググッても引っかからない
0971デフォルトの名無しさん
2010/11/09(火) 12:59:39他の言語でラムダ式の引数に使われるので、その習慣を持ち込んだだけ。
0972デフォルトの名無しさん
2010/11/09(火) 13:00:570973デフォルトの名無しさん
2010/11/09(火) 13:03:15f.filter(i => i < 5)
f.filter(_ < 5)
0974デフォルトの名無しさん
2010/11/09(火) 13:04:490975デフォルトの名無しさん
2010/11/09(火) 13:06:400976デフォルトの名無しさん
2010/11/09(火) 13:08:16scalaは_に意味を持たせているわけね。
記号を使った記法はググりにくいから困るw
0977デフォルトの名無しさん
2010/11/09(火) 13:10:05>>973の最終行なんてある程度学んでないとわからないだろw
0978デフォルトの名無しさん
2010/11/09(火) 14:36:37低レベルになるほどわかりやすいんだったら制御文はbrfalse(flag, label)だけでいいことになる
0979デフォルトの名無しさん
2010/11/09(火) 14:48:54scalaからの流れだったんだ
LINQは.NET3.5からだけどラムダ式とか型推論はC#3.0からだから使えるんだ
0980デフォルトの名無しさん
2010/11/09(火) 15:42:460981デフォルトの名無しさん
2010/11/09(火) 16:18:21そうすりゃ、
>>973 を、
f.<5
まで省略できる可能性がある。
0982デフォルトの名無しさん
2010/11/09(火) 17:27:56女子高生の略語みたい
ナウいとか思っちゃってるの?
0983デフォルトの名無しさん
2010/11/09(火) 17:39:11思ってないよ。
0984デフォルトの名無しさん
2010/11/09(火) 17:51:53λ計算が考案されたのは1930年代、現実のプログラミング言語(Lisp)の形で
導入されたのは1950年代
無名関数やらクロージャやらは、要するに大昔からあるもので、
今だってPerlだのJavaScriptだのRubyだのPythonだの、そこらの言語で
当たり前に使えるごくごくありふれた代物だよ
今更ナウいも糞もないだろう
0985デフォルトの名無しさん
2010/11/09(火) 18:29:24今更ラムダ思考に切り替えられるわけないだろ
0986946
2010/11/09(火) 18:51:13TeraTermなどのソフトで通信した場合は、リアルタイムに値が変化しています。
C#のSerialPortを用いるとデータが送られてくるまで時間がかかってしまいます。
デフォルト設定でSerialPortコンポーネントを使っています。
初回のデータ取得は問題ないのですが、
見た感じ、データがどんどん溜まって遅延が発生しているようにも見えます。
0987デフォルトの名無しさん
2010/11/09(火) 19:03:34まさに老害
0988デフォルトの名無しさん
2010/11/09(火) 19:18:560989デフォルトの名無しさん
2010/11/09(火) 19:20:20SerialPortは何度も使ってるけど、人間が目視で分かるほどの遅延はありえない。
君のコードの側の問題だろうね。
それと、どんなデータを受信してるのか知らないけど、
普通はDataReceivedイベントなんか使わない。
ちょっと考えれば分かると思うけど、そんなの使ったらシステムが受信データを
バッファリングしてくれてる意味が台無しじゃん。
0990デフォルトの名無しさん
2010/11/09(火) 19:22:08あれか、わざわざ厳密な型名と一緒に宣言しないと型がわからない人なんだよ
0991デフォルトの名無しさん
2010/11/09(火) 19:36:170992デフォルトの名無しさん
2010/11/09(火) 19:39:46誰か頼む
0993デフォルトの名無しさん
2010/11/09(火) 20:22:330994デフォルトの名無しさん
2010/11/09(火) 20:28:160995デフォルトの名無しさん
2010/11/09(火) 20:33:560996デフォルトの名無しさん
2010/11/09(火) 20:52:350997デフォルトの名無しさん
2010/11/09(火) 21:21:27F#では_は使わないに近い感じだし、
.NET系では_は「使わない場合」とすべきだと思うねえ
Scalaだと暗黙な引数になるけどさ
0998デフォルトの名無しさん
2010/11/09(火) 21:27:40あと演算子が必ず先頭に来るから、たいていはカリー化で対応できる。
0999デフォルトの名無しさん
2010/11/09(火) 21:58:11ふらっとC#,C♯,C#(初心者用) Part65
http://hibari.2ch.net/test/read.cgi/tech/1289307450/
1000デフォルトの名無しさん
2010/11/09(火) 21:58:5710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。