ふらっとC#,C♯,C#(初心者用) Part42
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/06/24(水) 18:47:07「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part41
http://pc12.2ch.net/test/read.cgi/tech/1244259018/
0002デフォルトの名無しさん
2009/06/24(水) 18:47:58C#, C♯, C#相談室 Part53
http://pc12.2ch.net/test/read.cgi/tech/1245150671/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
----参考サイト
http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2009/06/24(水) 18:51:320004デフォルトの名無しさん
2009/06/24(水) 18:58:560005デフォルトの名無しさん
2009/06/24(水) 19:17:14拡張も難しくなるし。継承で組みあがってはじめてオブジェクト指向になるんじゃないんですか?
継承の作りどころがわからないとプログラミングがはじまってもいないと思うのですが、この壁を超えるにはどうすればいいんでしょうか
0006デフォルトの名無しさん
2009/06/24(水) 19:20:540007デフォルトの名無しさん
2009/06/24(水) 19:26:03正しい使い方に矯正されるよ
0008デフォルトの名無しさん
2009/06/24(水) 19:26:20最近のオブジェクト指向は継承より委譲と包含がトレンド。
そのうち風向きがまた変わるかもしれないけどね。
0009デフォルトの名無しさん
2009/06/24(水) 19:29:31継承だけならオブジェクト指向以前の構造化プログラミングで十分。
0010デフォルトの名無しさん
2009/06/24(水) 19:31:120011デフォルトの名無しさん
2009/06/24(水) 19:32:34forの処理時間を差し引くとifが1億回で35msという結果になった。
使用したマシンはPen4/3GHzなんで、計算すると1回あたりほぼ1クロック。
データシート通りの結果になった。
0012デフォルトの名無しさん
2009/06/24(水) 19:47:130013デフォルトの名無しさん
2009/06/24(水) 19:50:010014デフォルトの名無しさん
2009/06/24(水) 20:57:26プログラムから調べる方法を教えてください。
検索しても「システムのプロパティを開いて」といった、人間の目で
確認する方法しかヒットしません。
今作っているアプリが.Net3.5を使っているのですが、.Netの入っていない
マシンで実行すると無反応になってしまい困っています。
0015デフォルトの名無しさん
2009/06/24(水) 21:01:21「.Netをインストールしてください」みたいなダイアログを出したいのです。
0016デフォルトの名無しさん
2009/06/24(水) 21:03:38インストーラーが自動でやってくれるよ
0017デフォルトの名無しさん
2009/06/24(水) 21:05:34関数を呼び出すと必ず実行時エラーになる
VC#2008で作ったCOMDLLはOfficeで使えないのかな?
ググっても解決法が見つからないっす
0018デフォルトの名無しさん
2009/06/24(水) 21:08:37インストーラーは使ってないです。
導入はexe単体をコピーするだけなんです。
>>17
使用者があんまり詳しくないので、できれば関連ファイルは
増やしたくないのですが。
ほかに方法がなければ、いずれかを検討してみます。
001914
2009/06/24(水) 21:12:26.Netがなくてもとりあえずプログラムはスタートはしているようです。
002014
2009/06/24(水) 21:14:25アプリケーションの追加と削除の中の一覧を調べる
みたいな方法は避けた方がいいでしょうか?
0021デフォルトの名無しさん
2009/06/24(水) 21:15:51ランタイムなかったらそれも自動でインストールしてくれるし
0022デフォルトの名無しさん
2009/06/24(水) 21:18:04実行時エラーってその内容はどうなのよ
0025デフォルトの名無しさん
2009/06/24(水) 21:34:240026デフォルトの名無しさん
2009/06/24(水) 21:45:13ttp://msdn.microsoft.com/ja-jp/library/aa140056(office.10).aspx
002717
2009/06/24(水) 21:53:06参照できたり出来なかったりするみたいですね
0028デフォルトの名無しさん
2009/06/24(水) 22:18:15レジストリ見れば.NETがインストールされてるか分かる。どこ見ればいいかはググれ
0029デフォルトの名無しさん
2009/06/24(水) 22:44:560030デフォルトの名無しさん
2009/06/24(水) 22:57:54listBoxの項目から、ランダムにひとつを抜き出すには、どのようにしたらよいですか?
0031デフォルトの名無しさん
2009/06/24(水) 23:00:390032デフォルトの名無しさん
2009/06/24(水) 23:04:31つまり
0033デフォルトの名無しさん
2009/06/24(水) 23:15:480034デフォルトの名無しさん
2009/06/24(水) 23:18:57最後の値を取りたいんなら-1しないとダメだぞ
0035デフォルトの名無しさん
2009/06/24(水) 23:25:26listBox.SetSelected(1, true);
string s = listBox.Text;
MessageBox.Show(s);
最後の項目ということで、
listBox.SetSelected(ListBox.Items.Count, true);
としたら、
静的でないフィールド、メソッド、またはプロパティ 'System.Windows.Forms.ListBox.Items.get' で、オブジェクト参照が必要です
となってます。
0036デフォルトの名無しさん
2009/06/24(水) 23:32:07のarray.Lengthは3だよな
このときarray[x]のxの取り得る範囲は?
0037デフォルトの名無しさん
2009/06/24(水) 23:38:20Randomオブジェクトでヘルプを検索
0038デフォルトの名無しさん
2009/06/24(水) 23:39:58です。
x 012です。
0039デフォルトの名無しさん
2009/06/24(水) 23:48:27textbox1.Text = "test\r\n"
と書き込んだ後に、表示しているテキストに
追加して文字列を入力したいのですが
消えてしまって、前の状態が保持できません。
0040デフォルトの名無しさん
2009/06/24(水) 23:54:52arrayをlistBox.Itemsに、LengthをCountに置き換えれば後は分かるな?
>>39
AppendText
0041デフォルトの名無しさん
2009/06/24(水) 23:58:23ありがとうございました。
できました^^
004214
2009/06/25(木) 00:09:41ありがとうございます。
こちらでも、プログラムの追加と削除について調べているうちに、
レジストリから.Netの情報が直接取れそうだとわかったところでした。
0043デフォルトの名無しさん
2009/06/25(木) 00:14:47listBoxできました。
0044デフォルトの名無しさん
2009/06/25(木) 06:05:56if(File.Exists(file_name))
{
FileInfo fi = new FileInfo(file_name);
if (fi.Extension == ".txt")
return true;
else
return false;
}
0045デフォルトの名無しさん
2009/06/25(木) 06:30:560046デフォルトの名無しさん
2009/06/25(木) 06:40:12お手本をお願いします
0047デフォルトの名無しさん
2009/06/25(木) 06:46:20return str=="aaa" ? true : false;
みたいなの
0048デフォルトの名無しさん
2009/06/25(木) 06:51:02実例お願いします
0049デフォルトの名無しさん
2009/06/25(木) 07:02:43return str=="aaa" ? true : false;
0050デフォルトの名無しさん
2009/06/25(木) 07:06:270051デフォルトの名無しさん
2009/06/25(木) 07:07:45これだとファイルが存在しない場合エラーでますよ
0052デフォルトの名無しさん
2009/06/25(木) 07:10:25これを簡略化して書いてほしんです
誰もできませんか?
0053デフォルトの名無しさん
2009/06/25(木) 07:14:410054デフォルトの名無しさん
2009/06/25(木) 07:17:20ではお願いします
0055デフォルトの名無しさん
2009/06/25(木) 07:18:070056デフォルトの名無しさん
2009/06/25(木) 07:19:54そこは省略したんだけど、存在しない場合はreturnせずに続行でいいのか?
0057デフォルトの名無しさん
2009/06/25(木) 07:20:05テンプレ読んでください
同意できないならレスしないでください
邪魔なだけですから
0058デフォルトの名無しさん
2009/06/25(木) 07:22:41テキストファイルが存在するかどうかのチェックをするメソッド内の文なんです
最終的にboolを返すようにしてほしんですが
0059デフォルトの名無しさん
2009/06/25(木) 07:23:380060デフォルトの名無しさん
2009/06/25(木) 07:28:52考えてここまで短くしました
先輩方ならもっと短く出来るのかなと思いましたが
どうやら無理っぽいですかね?
>>1「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
あと、これなんで、嫌なら来ないでください
私みたいな初心者煽ってても時間が勿体無いだけですよ
0061デフォルトの名無しさん
2009/06/25(木) 07:34:34いいえ可能です
0062デフォルトの名無しさん
2009/06/25(木) 07:37:44return File.Exists(file_name) && file_name.EndsWith(".txt");
でいいな。
0063デフォルトの名無しさん
2009/06/25(木) 07:41:01煽られるのが嫌なら、MSDN フォーラムでも行けよw
0064デフォルトの名無しさん
2009/06/25(木) 07:41:31すごいです。一行でできるなんて驚きです
この場合は三項演算子いらないんですね?
やっぱりできる人は口先だけじゃないですね
三項演算子とか言ってた人は結局無能の荒しと証明できたということですね
ありがとうございました。
0065デフォルトの名無しさん
2009/06/25(木) 07:43:310066デフォルトの名無しさん
2009/06/25(木) 07:43:342chだから許されるのと、貴方に良識がないのとは別問題ですよwww
バカはどこ言ってもバカ
できるひとはどこ言ってもできるんですよねー
こういう常識的なこともわからないで子供じみたことしか言えないなんて
無能のバカはどうしようもないですねw
0067デフォルトの名無しさん
2009/06/25(木) 07:45:062chだから許されるのと、貴方に良識がないのとは別問題ですよwww
バカはどこ言ってもバカ
できるひとはどこ言ってもできるんですよねー
こういう常識的なこともわからないで子供じみたことしか言えないなんて
無能のバカはどうしようもないですねw
0068デフォルトの名無しさん
2009/06/25(木) 07:46:45わたしの勝ちですねw
バカを論破するなんて容易いわw
0069デフォルトの名無しさん
2009/06/25(木) 07:46:52おまえらってほんと優しいのなw
0070デフォルトの名無しさん
2009/06/25(木) 07:47:250071デフォルトの名無しさん
2009/06/25(木) 07:48:21そろそろ出勤しろ
0072デフォルトの名無しさん
2009/06/25(木) 07:48:30しかもわかりやすく・・・・本当に実力のあるひとは違いますね
0073デフォルトの名無しさん
2009/06/25(木) 07:49:53一番良いのは何も作らないこと
By CodeComplete
0074デフォルトの名無しさん
2009/06/25(木) 07:50:30無能自慢はしなくていいですよ
0075デフォルトの名無しさん
2009/06/25(木) 07:54:37これってほんと真理ですよねー
自分は探すのが下手なんだなー
0076デフォルトの名無しさん
2009/06/25(木) 07:55:400077デフォルトの名無しさん
2009/06/25(木) 09:14:28次スレの>>1には
回答者を煽るような質問者は相手をしないようにしてください。
って追加しておくべきなんじゃね?
0078デフォルトの名無しさん
2009/06/25(木) 09:25:040079デフォルトの名無しさん
2009/06/25(木) 09:28:05バカは答えないように!
って加えたほうが適切だろ。
>>47とか>>49って
boolを返却するって事自体が理解できてないノリじゃん?
0080デフォルトの名無しさん
2009/06/25(木) 09:32:220081デフォルトの名無しさん
2009/06/25(木) 09:40:370082デフォルトの名無しさん
2009/06/25(木) 09:43:100083デフォルトの名無しさん
2009/06/25(木) 09:47:490084デフォルトの名無しさん
2009/06/25(木) 09:48:230085デフォルトの名無しさん
2009/06/25(木) 09:48:270086デフォルトの名無しさん
2009/06/25(木) 09:52:53おっと、そういうコードを提示した>>44を忘れちゃいかん。
0087デフォルトの名無しさん
2009/06/25(木) 10:02:22自分の書いたコードをちゃんと提示してるのだから立派なものだよ。
0088デフォルトの名無しさん
2009/06/25(木) 10:19:570089デフォルトの名無しさん
2009/06/25(木) 10:24:190090デフォルトの名無しさん
2009/06/25(木) 10:39:120091デフォルトの名無しさん
2009/06/25(木) 10:42:100092デフォルトの名無しさん
2009/06/25(木) 10:47:10正規表現のエンジンってC#用とかJava用とかで別物なの?
0093デフォルトの名無しさん
2009/06/25(木) 10:48:540094デフォルトの名無しさん
2009/06/25(木) 10:51:180095デフォルトの名無しさん
2009/06/25(木) 10:52:34C#やJavaはposix系だったかな。
他にもunix系、GNU系とかいろいろある。
0096デフォルトの名無しさん
2009/06/25(木) 10:56:23これじゃないの
0097デフォルトの名無しさん
2009/06/25(木) 11:11:46フォーム上のボタンが押されるとファイルが読み込まれるというプログラムの場合
Formクラス上でファイルの有無をチェックすべきか
FileStreamなどを使ってファイル入出力するstaticなクラスで有無をチェックすべきか
どこでチェックするのが最適ですか?
0098デフォルトの名無しさん
2009/06/25(木) 11:13:57\取ったら出来ました
つ○飴ちゃん
0099デフォルトの名無しさん
2009/06/25(木) 15:39:10上記のコードは例外を発生しますが、
Xmlに使えない文字をエスケープするにはどうしたらよいでしょうか?
0100デフォルトの名無しさん
2009/06/25(木) 15:51:250101デフォルトの名無しさん
2009/06/25(木) 16:18:380102デフォルトの名無しさん
2009/06/25(木) 16:33:27{
static public List<string[]> GetList()
{
List<string[]> data=new List<string[]>();
return data;
}
}
hogeAクラスでhogeBクラスより受け取ったdataの中身がからっぽなんですがなぜでしょうか?
0103デフォルトの名無しさん
2009/06/25(木) 16:35:08からっぽって?
要素数0のリスト返してるだけじゃん?
0104103
2009/06/25(木) 16:39:320105デフォルトの名無しさん
2009/06/25(木) 17:35:54XMLに使えない文字と言っても要素名に使えない文字と普通のテキストノードに使えない文字は別だしな。
標準には禁止文字をエスケープする手法は特に定義されてないはず。
XmlSerializerは_xXXXX_形式でエスケープしてるけど。
ざっと見た感じ.NETの標準ライブラリではXMLの無効文字コレクションや判別メソッドは公開されてないなぁ。
0106デフォルトの名無しさん
2009/06/25(木) 19:04:28MaximizeBox = false;
だと、押せなくなった色の薄いボタンが見えてるので、
これを完全に消したいのです。
0107デフォルトの名無しさん
2009/06/25(木) 19:07:47フォームのスタイルを変更する
0108デフォルトの名無しさん
2009/06/25(木) 22:06:55早く帰宅して回答してよ
0109デフォルトの名無しさん
2009/06/25(木) 23:24:09それにドットごとに不透明度を変える方法を教えてください
argbでアルファ付きのBitmapは作れましたが、
BackgroundImageに入れてもアルファが効きません
Opacityだと全ドットの不透明度が同じになります
0110デフォルトの名無しさん
2009/06/25(木) 23:38:02Forms.Timerクラスの質問です。
Form上のボタンをクリックしたら1秒毎にメッセージ表示はできましたが、
タイマーイベントハンドラ関数からのFormクラスのメンバ関数の呼び方がわかりません。
”静的メンバ関数の呼び出し方がちがう”とのコンパイルエラーがでてしまいます。
どのように呼べばいいのでしょうか?
0111デフォルトの名無しさん
2009/06/25(木) 23:39:360112デフォルトの名無しさん
2009/06/25(木) 23:51:27無理
Regionでどうにかすれ
0113デフォルトの名無しさん
2009/06/25(木) 23:59:49Win32API呼んでも無理ですか?
Yahoo Widgetとかだとアルファ付きpng表示させるだけであっさり実現できるので
何らかの方法はあると思うのですが(Win32APIとか?)
そもそもRegion使っても不定形フォームができるだけで
フォームのドットごとの不透明度とはなんら関係ないと思いますよ
0114デフォルトの名無しさん
2009/06/26(金) 00:12:49あれは両方完璧に使える人が嫌々使う言語だ
0115デフォルトの名無しさん
2009/06/26(金) 01:13:37昔VC++でそういうウィンドウを作ったことあるな。
たしかWin32APIのUpdateLayeredWindow()てのを使った。
C#でやってる人もいるんじゃね?
とりあえずC#とUpdateLayeredWindowで検索してみるといいよ。
いい方法見つかったら教えてね(はぁと
0116デフォルトの名無しさん
2009/06/26(金) 07:36:33データをどういう形式するのが一般的なのでしょうか?
List<string[]>のようなデータ形式をforeachなので一つ一つ
x,yでセルを指定してデータを入れているのですが
どうも非効率的というか、処理も遅いような気がします
よろしくお願いします
0117デフォルトの名無しさん
2009/06/26(金) 08:46:310118デフォルトの名無しさん
2009/06/26(金) 09:33:03って、DGVで出来たかな
0119デフォルトの名無しさん
2009/06/26(金) 12:32:06WinFormsとUpdateLayeredWindowは相性が悪い。
上手くやる方法があるんだったら、俺も教えてほしいぐらいだ。
WPFなら簡単にできるので、
WPFに移行する事をお勧めするよ。
0120デフォルトの名無しさん
2009/06/26(金) 12:48:20ヘッダ選択されているときも値が0なんだよな
-1とかにしてくれればいいのに面倒だな
0121デフォルトの名無しさん
2009/06/26(金) 13:12:52WindowsFormで質問です。
DataGridViewを作成し、カラムが何もない状態で動的に行列を追加しようとしています。
DataGridViewColumのオブジェクトインスタンスを生成し列追加を行った後
DataGridViewRowを同じDataGridViewに追加しようとすると
DataGridView コントロールの列のうち少なくとも 1 つにセル テンプレートが指定されていません。
というエラーが実行時に発生します。
この現象を回避するにはカラムにあるセルテンプレートに何か入れてやればいいと思うのですが、
どのように設定してやればいいのか分からない状態です。
回避策やヒントになるサイトなどありましたらお教え願えませんか?
0122デフォルトの名無しさん
2009/06/26(金) 14:47:300123デフォルトの名無しさん
2009/06/26(金) 14:50:06どんなコード書いたの?行列の追加はたったこれだけだよ。
いちいち型とか指定しなくても、枠だけはすぐに作れるはず。
dataGridView1.Columns.Add("name1", "title1"); //列の追加
dataGridView1.Columns.Add("name2", "title2"); //列の追加
dataGridView1.Columns.Add("name3", "title3"); //列の追加
dataGridView1.Rows.Add(3); //行の追加
0124デフォルトの名無しさん
2009/06/26(金) 14:59:13それで言語別に自分でリソースファイル足したのですが、自分で足したファイル(全言語分がメインアセンブリ内に……)とデザイナが自動で作ってくれる言語別のDLLファイル(こちらはサテライト)が別々になってて気持ち悪いのでこれらをまとめる方法が知りたいです
0125デフォルトの名無しさん
2009/06/26(金) 15:15:38こんなコードです
変数定義はループの外で定義してあります
for(int i=0; i< data.Lenght;i++)
{
col = new DataGridViewColumn();
col.HeaderText = data[i].Name;
col.Tag = data[i].Key;
dgv.Columns.Add(col);
}
for(int i=0; i< datas.Lenght;i++)
{
row = new DataGridViewRow();
row.HeaderText = data2[i].Name;
row.Tag = data2[i].Key;
dgv.Rows.Add(row);
0126デフォルトの名無しさん
2009/06/26(金) 15:25:16foreach (Data d in data)
{
dvg.Columns[idx].Name = d.Name;
dvg.Columns[idx].Tag=d.Key
idx++;
}
0127デフォルトの名無しさん
2009/06/26(金) 15:27:47なるほど
グリッドに追加させたカラムに関しては勝手にテンプレートが適用されるという解釈ですか?
0128デフォルトの名無しさん
2009/06/26(金) 15:44:030129デフォルトの名無しさん
2009/06/26(金) 17:17:28>>121 で、警告されたエラー そのまま でしょ。
>DataGridView コントロールの列のうち少なくとも 1 つにセル テンプレートが指定されていません。
col のCellTemplateプロパティが設定されていないから。
DataGridViewTextBoxCell とか使いたいセル形式を指定してやれば、いいんじゃない?
MSDN見れば、そっくりのコードが例にでてると思うけど…
つか、普通こんなやり方するよりDataTable作って、DataSourceにぶち込んでやるのが
一番、手っ取り早いし、一般的なやり方ではないの?
0130デフォルトの名無しさん
2009/06/26(金) 18:04:350131デフォルトの名無しさん
2009/06/26(金) 20:09:52Debug/Releaseが選択できなくなるんですが、その条件がよくわかりません。
どういう場合に選択できなくなるんでしょう?
0132デフォルトの名無しさん
2009/06/26(金) 21:37:31デバッグ中とか。裏でアプリが動きっぱなしになってないか?
0133131
2009/06/26(金) 23:50:02Visual Studioを一旦終了して開き直しても変わりません。
オプションを開いて「ビルド構成の詳細を表示」をチェックするとDebugが選べるようになるんですが、
こんな深いところにある設定を無意識にうっかり変えてしまう可能性は低いと思います。
もしかしてキーボードショートカットや、ツールバーのアイコンから設定が変更できたりするんでしょうか。
とくにカスタマイズはしていません。
0134デフォルトの名無しさん
2009/06/26(金) 23:51:450135デフォルトの名無しさん
2009/06/27(土) 06:21:54クラス名にマウスポインタあわせると簡単なTIPSが表示されるけど
あれを日本語にできないんでしょうか?
前は日本語表示されてたはずだけど、3.5日本語Languageインストールされているのに
英語のまま
0136デフォルトの名無しさん
2009/06/27(土) 06:22:470137135
2009/06/27(土) 06:40:48スニペット c# 2008 日本語化
で検索してもみつからない
0138デフォルトの名無しさん
2009/06/27(土) 06:48:230140デフォルトの名無しさん
2009/06/27(土) 09:59:320141デフォルトの名無しさん
2009/06/27(土) 11:58:340142デフォルトの名無しさん
2009/06/27(土) 12:02:06コンストラクタを公開してないとか
0143デフォルトの名無しさん
2009/06/27(土) 12:05:060144デフォルトの名無しさん
2009/06/27(土) 12:13:200145デフォルトの名無しさん
2009/06/27(土) 12:21:480146デフォルトの名無しさん
2009/06/27(土) 12:24:470147デフォルトの名無しさん
2009/06/27(土) 12:26:540148デフォルトの名無しさん
2009/06/27(土) 12:27:43うまく説明できないけれど・・・
VisualStudioでnewとスペースの後に何か文字を入力すると候補が出てくるけど
適当に選んで ( を入力しても引数とかの表示のポップアップ出てこなくて
MSDNでその型名検索してもどこがnewできる型と違うのか良く分からないので
そういうのをC#使って調べるにはどうしたらいいのかな、的なことです
0149デフォルトの名無しさん
2009/06/27(土) 12:28:130150デフォルトの名無しさん
2009/06/27(土) 12:31:430151デフォルトの名無しさん
2009/06/27(土) 12:33:090152デフォルトの名無しさん
2009/06/27(土) 12:34:01class CannotCreat { CannotCreat(){} }
こういうことだ。
0153デフォルトの名無しさん
2009/06/27(土) 12:35:050154デフォルトの名無しさん
2009/06/27(土) 12:37:08MSDN メンバ一覧を見る。
例えばSystem.Net.HttpWebRequestクラスならコンストラクタに鍵のアイコンがついてる。
つまりコンストラクタがpublicじゃないからnewを呼び出せない。
System.Drawing.Imageクラスならそもそもコンストラクタが一覧に載っていない。
それから、クラスの解説の構文にabstract classかstatic classとあればそもそもそれのインスタンスは作れない。
0155デフォルトの名無しさん
2009/06/27(土) 12:39:49探してるんだけど見つからない。
0156デフォルトの名無しさん
2009/06/27(土) 12:40:380157デフォルトの名無しさん
2009/06/27(土) 12:46:430158デフォルトの名無しさん
2009/06/27(土) 12:48:070159デフォルトの名無しさん
2009/06/27(土) 12:51:380160デフォルトの名無しさん
2009/06/27(土) 12:52:540161デフォルトの名無しさん
2009/06/27(土) 12:53:27このページの一番下の明示的インターフェイスの実装っていうのアイコンが鍵マークだからnewを使えないってこと?
明示的〜のところが空欄な時も無理、と
ttp://msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest_members(VS.80).aspx
GetType( 型名 ) っていうのだとIsAbstractっていうのはあったけどIsStaticっていうのはないからこれでは無理なのかな
0162デフォルトの名無しさん
2009/06/27(土) 12:55:16ありがとうございます。
0163デフォルトの名無しさん
2009/06/27(土) 13:00:150164デフォルトの名無しさん
2009/06/27(土) 13:00:52一番したのは鍵じゃなくない?
インターフェースのマークだと思うけど。
もちろんインターフェースはnew出来ないけど。
>>154が言っているのは一番上の鍵の付いたコンストラクタだと思うんだけど。
0165デフォルトの名無しさん
2009/06/27(土) 13:02:59あ、なるほどorz
プロテクトコンストラクタっていうのの下が隙間相手たから他のところ探してました
0166デフォルトの名無しさん
2009/06/27(土) 13:06:39ja-jpにしてみた
昔はコンストラクタをインストラクターとよく言い間違えてたな
0167デフォルトの名無しさん
2009/06/27(土) 13:07:430168デフォルトの名無しさん
2009/06/27(土) 13:09:430169デフォルトの名無しさん
2009/06/27(土) 13:23:27うん多分良く分かってない・・・
なんとなくnewが使えるのはクラスだけっぽい気がしてきたけど
GetTypeメソッド使ってnewがその型に使えるかどうか調べたい時は
IsClassとIsPublicがtrueで、IsAbstractとIsInterfaceとIsEnumがfalseの奴を選んであげればいい、のかな・・・?
0170デフォルトの名無しさん
2009/06/27(土) 13:33:530171デフォルトの名無しさん
2009/06/27(土) 13:42:09実行時というか、論理的?に調べるというか
MSDNでそう書いてあるから、じゃなくて、ちゃんとプログラムとして実行してみて
この型はこうなってるからnewが使える、使えない、みたいな感じのことができるようになっておきたいなと・・・
いまだとちゃんとnewが使える理由理解してないから
0172デフォルトの名無しさん
2009/06/27(土) 13:55:03視点で見た方がいいかもよ。
0173デフォルトの名無しさん
2009/06/27(土) 13:56:27newするスコープからアクセス可能なコンストラクタが存在する
かつ、抽象クラスでも列挙型でもない
0174デフォルトの名無しさん
2009/06/27(土) 14:00:26列挙型はnewできる
というか値型の場合はコンストラクタの有無にかかわらずnew可能
0175デフォルトの名無しさん
2009/06/27(土) 14:26:360176デフォルトの名無しさん
2009/06/27(土) 14:32:20もういいよ。C#の文法を勉強したくないということだけはよく分かった。
0177デフォルトの名無しさん
2009/06/27(土) 14:48:13まず、newは
・ 値型のデフォルト値の作成(例:new int(),new BindingFlags())
・ コンストラクタの呼び出し(例:new StringBuilder())
の2つの用途で使える事を押さえておく必要がある。
前者は引数なしのnewで値型なら必ず使えるし、参照型では絶対に使えない。
後者は、値型なら引数1個以上、参照型なら引数0個以上のnewで、
コンストラクタが定義されていれば使えるし、定義されていなければ使えない。
ただし、使えるといってもどこからでも使えるわけではなく、
例えばアクセス修飾子がprotected(鍵マーク)ならnewする型の内部と、その派生クラスの内部でしか使えない。
このあたりはメソッドやプロパティと同じ仕組みなので、newだけ特別という事は無い。
これで理解できないなら、C#を基礎から学び直せ。
0178デフォルトの名無しさん
2009/06/27(土) 14:51:40newできない、という事になるが、
例外として、COM関連のインターフェイスはnewできるものもある。
(例:Microsoft.Office.Interop.Excel.Application)
たぶんCoClass属性のおかげだと思うが、
俺もよくわかって無いので自分で調べてくれ。
0179デフォルトの名無しさん
2009/06/27(土) 14:54:27Reflecterで調べてもいいけど。
※ただしそれが絶対というわけではない。
まあ普通はMSDNとかドキュメントで仕様を見なきゃいけないんだけどね。
まあ確認したいってことなら。
0180デフォルトの名無しさん
2009/06/27(土) 14:55:42※単に文法的な話なだけだが。
0181デフォルトの名無しさん
2009/06/27(土) 15:09:30あ、列挙型にnewを使う時は引数を指定できない=1番目の定数の作成に固定されてるから
VisualStudioで型名の後に(を入力しても何もポップアップされなかったのか!そんなの当たり前だから表示するはずないだろ的な。
つまりVisualStudio自体はちゃんとnewの後に来てもおかしくない型名だけ表示してくれてたんだ
やっとちょっとすっきりした、ありがとう
>>176
ごめん
0182デフォルトの名無しさん
2009/06/27(土) 15:26:10ん?列挙型でも(の後にポップアップが出てくるぞ?
例えば、 enum A{} なら
new A(
と入力した直後に
A.A()
とポップアップする。(引数0個のnewが使えますよ的な意味で)
0183デフォルトの名無しさん
2009/06/27(土) 15:35:50あれ、Intとかだとそうなるけど、列挙型だと俺のとこではならない・・・
例えば上で出てる
System.Reflection.BindingFlags a = new System.Reflection.BindingFlags
まで書いて(入力しても無反応
VisualStudio2008のSP1当ててるから最新のはずなんだけども
0184デフォルトの名無しさん
2009/06/27(土) 15:42:18VC#のインテリセンスはお利口だから使える候補だけ出てくれるよ。
出てくれない時はほとんどの場合自分のミス。
ほとんどっていうか今までにインテリセンス様が間違った事がないけど、たまーにあるらしいっていうのも聞いたことある程度。
0185デフォルトの名無しさん
2009/06/27(土) 15:55:150186デフォルトの名無しさん
2009/06/27(土) 16:21:46VS2008だと、拡張メソッドがらみでジェネリック引数制約が複雑に混ざるとダメだね
VS2010なら大丈夫なんだけど
0187デフォルトの名無しさん
2009/06/27(土) 16:32:340188デフォルトの名無しさん
2009/06/27(土) 18:50:31AAA
BBB
CCC
というデータが入ってる時、キーボードの「A」を押すと自動的に「AAA」が選択されるという
ショートカット(?)機能を止めたいのですが、どのプロパティを書き換えればいいのでしょう?
0189デフォルトの名無しさん
2009/06/27(土) 19:01:53ああ、それね。以前オレも同じ問題に突き当たって結局解決できなかったから、
コンボボックスのプルダウンが表示されていない状態のときは履歴を削除するかたちで対応した。
正しいやり方を知ってる人があれば教えてほしい。
0190デフォルトの名無しさん
2009/06/27(土) 19:12:060191デフォルトの名無しさん
2009/06/27(土) 19:52:02親フォームのKeyPreviewをtrueにして、親のKeyDownイベントで現在の値を保存、
コンボボックスのSelectionChangeCommittedで保存しといた値を再設定してやるんだったかな。
なんかそんな方法で擬似的にキーボードショートカットが使えないように
見せかけた覚えがある。
ちゃんと動くようになるまで、かなり試行錯誤した覚えが。
0192デフォルトの名無しさん
2009/06/27(土) 19:55:30KeyPressだとたぶん手遅れになる。やるとしたらKeyDownじゃないかな。
0193デフォルトの名無しさん
2009/06/27(土) 20:25:23全角文字でも頭出しできるんだぜ?
0194デフォルトの名無しさん
2009/06/27(土) 20:43:28うーむ。もうちょっと確かな情報だとありがたい
>>192,193
違うんだな。KeyPressのイベントのあとで補完作業が行われるんだ。だから困る。
0195デフォルトの名無しさん
2009/06/28(日) 01:50:16「(アクセス装飾子) override」が一般的なのかな?
俺はoverrideの方を最初に持ってくる方が好きなのだが、
エディタが自動的に上記の順番に変えちゃうことがあるし、
解説サイトとかでも同じようにやってるので、何か意味があるのだろうか
0196デフォルトの名無しさん
2009/06/28(日) 01:59:47まあ、順序にそれほど深い意味はないと思うけど、
「他の人とそろってる」ってのは大事。
そういう意味では、エディタの言うこと聞いとくのが一番。
「自分はこっちの方が好き」とかいう理由で順番変えない方がいい。
解説サイトも Visual Studio のデフォルトに合わせてるだけだと思う。
0197デフォルトの名無しさん
2009/06/28(日) 02:24:27なるほど
エディタに変更されるたびに自分流に書き換えるのは非効率的だし、
統一という意味でも、エディタの方に合わせておいた方がよさそうだ
アクセス装飾子を先に書くようにするよ
サンクス
0198デフォルトの名無しさん
2009/06/28(日) 10:11:30そいつを無視するんだったかな・・・。
デフォルトでは大文字小文字を無視するんで、LB_FIND の代わりに
LB_FINDEXACT でごにょごにょした記憶があるな・・・。
0199デフォルトの名無しさん
2009/06/29(月) 00:35:36pictureBoxを配置し、イメージを表示したとき、
そのイメージのパスを取り出すには、
なんとしたらよいでしょう?
MessageBox(pictureBox.ImageLocation);
がNullなのです。
0200デフォルトの名無しさん
2009/06/29(月) 00:48:03>Load メソッドを呼び出すと、ImageLocation プロパティが上書きされ、メソッド呼び出しで指定された URL が ImageLocation に設定されます。
0201デフォルトの名無しさん
2009/06/29(月) 00:49:17公開されるとのことです。
【社会】人工衛星を使ってかき集めた、世界の「標高データ」を無料公開
http://tsushima.2ch.net/test/read.cgi/newsplus/1246160564/
そこで早速この標高データを使ってプログラムを組んでみようと思っています。
データは"GeoTIFF"というTIFF画像ファイルの拡張版フォーマットで提供されるようです。
標高データに加え、そのマップの経度・緯度情報といった付加的なヘッダが付け足されたのが
"GeoTIFF"らしいです。
※GeoTIFFに関して詳しくは→http://trac.osgeo.org/geotiff/
C#でこのGeoTIFFを読み込みたいのですが、なにか便利なメソッドやライブラリはありますか?
GeoTIFFに対応していなくてもTIFFファイルやTIFFファイルのヘッダを読み込めるメソッドが
あれば是非活用したいです。
0202デフォルトの名無しさん
2009/06/29(月) 00:51:15そもそも.NET クラスライブラリがTIFFを読めるわけだが?
ただ抽象化されていて、各画像フォーマットごとの詳細なメタデータが取れたかどうかは定かではない。
0203デフォルトの名無しさん
2009/06/29(月) 00:53:340204デフォルトの名無しさん
2009/06/29(月) 02:07:34thanks
0205デフォルトの名無しさん
2009/06/29(月) 11:06:50203までが
0206デフォルトの名無しさん
2009/06/29(月) 15:04:41パネルにDirectXで編集画面を描画しています。
パネル上に描画されているオブジェクトを選択している状態で Del キーを押すと
そのオブジェクトを削除 とやりたいのですが、
そうするとエディットボックス上の文字を削除するときの DEL と区別ができません。
パネルにフォーカスを設定できればすぐに解決できるのですが...
どうすればうまく解決できるでしょうか?
0207デフォルトの名無しさん
2009/06/29(月) 15:25:570208206
2009/06/29(月) 22:58:04編集用のパネルMouseDownしたときに this.ActiveControl = null にしてエディット系のフォーカスを外し、
フォームの KeyPreview を true にして、フォームのKeyDown イベントで、
アクティブコントロールが null かつ Del キーがおされたときに
オブジェクトを削除するようにしました。
0209デフォルトの名無しさん
2009/06/29(月) 23:03:09C#からExcelを起動した時のみ、有効にしていたExcelアドインが使えなくなっていま
す。
Test1.xlaというアドインを事前に有効にしておき、手動でExcelを起動すると、
Test1.xlaの中にあるマクロは関数の一覧画面に表示されていて問題なく使えるので
すが、
C#からExcelを起動するとアドイン自体は有効であると表示されているにも関わら
ず、
関数の一覧画面に表示されず使えなくなってしまいます。
セキュリティは低に設定しても同じでした。
Excelのオブジェクト生成は以下のように普通のことをやっているつもりです。
Excel.Application app = null;
Excel._Workbook wb;
Excel._Worksheet st;
try {
app = new Excel.ApplicationClass();
wb = (Excel._Workbook)(app.Workbooks.Add(Missing.Value));
st = (Excel._Worksheet)wb.ActiveSheet;
以降の処理で線引いたり値を張り付けたりです。
Excel起動時にアドインをチェックして、app.Workbooks.Open(アドイン名,…)を実行
すれば関数の一覧画面に出てくるのですが、
原因が分からないので、この対処で問題ないのか不安です。
どなたか原因と正しい対処をご存じないでしょうか?
0210デフォルトの名無しさん
2009/06/30(火) 00:11:09>>207で答えてるのに事故解決化よ
0211デフォルトの名無しさん
2009/06/30(火) 00:40:310212デフォルトの名無しさん
2009/06/30(火) 00:43:40全てのオブジェクトが開放されてるのにどうやってイベントよこすんだ?
0213デフォルトの名無しさん
2009/06/30(火) 00:58:300214デフォルトの名無しさん
2009/06/30(火) 01:15:24>>207って答えてるうちに入るんだw
0215デフォルトの名無しさん
2009/06/30(火) 04:08:44デストラクタ
0216デフォルトの名無しさん
2009/06/30(火) 10:04:27これでわからなければさらに聞けばいいだけ
0217デフォルトの名無しさん
2009/06/30(火) 10:05:200218201
2009/06/30(火) 14:01:39> ついでに「詳しくは」って出したサイトに libgeotiff って書いてあるのが見えないのか?
ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff125.zip
↑のファイルの中身を見てみたのですが、見あたるのは *.c ファイルと *.h ヘッダファイルだけでした。
GCC用のプログラムのようにも見えるのですがこれらをC#で使うことは可能でしょうか?
0219デフォルトの名無しさん
2009/06/30(火) 14:12:57ヒソヒソ、アホは無視したほうがいいですよ
0220デフォルトの名無しさん
2009/06/30(火) 14:22:54libgeotiff をDLLとしてビルドして、それをC#から使えばよいのでは?
0221201
2009/06/30(火) 14:36:40という技は聞いたことはあるのですが実際に試したことはまだ一度もありません。
初心者向けのプログラムの本にもDLLとしてビルドしてそれを他のプロジェクト中で使うという
方法を説明したものは見あたらないのですが、そういった技を解説してくれているサイトというのは
無いでしょうか?できるようになったら応用がきく気がします。
0222デフォルトの名無しさん
2009/06/30(火) 15:37:14(プロジェクトを作るときのウィザードで、ダイナミックリンクライブラリ)を選択しておく。
↓
もしくは、適当に空っぽのプロジェクトをつくって必要なファイルを追加し、
VC++メニューからプロジェクト→プロパティ→構成プロパティ→構成の種類でDLLを選択する。
↓
マクロ
#define DLL_EXPORT(type) extern "C" __declspec(dllexport) type __cdecl
をどこかに追加し、公開したい関数をとにかく
DLL_EXPORT(関数の戻り値の型) 関数名(引数リスト)
という形にする。(h も c/cpp も両方)
たとえば元の関数が
int hoge(const char *s) と宣言されていれば
DLL_EXPORT(int) hoge(const char *s) としておく。これで関数が公開される。
↓
ビルドする。
↓
DLLできる。
↓
dependency walker というフリーソフトに突っ込んで、
意図した名前の関数が公開されているか見る。
まずはここまでだな。
0223デフォルトの名無しさん
2009/06/30(火) 16:51:44そのフォームからクラスのメゾッドにアクセスしようとすると
「静的でないフィールド、メソッド、またはプロパティ 'Test()' で、オブジェクト参照が必要です」
とエラーがでてメゾッドを実行できないのですが、何が間違っているのでしょうか?
0224デフォルトの名無しさん
2009/06/30(火) 16:52:54クラス名.Test()じゃなくて
0225223
2009/06/30(火) 17:04:42クラス名.Test()しておりました・・・そのせいですね。。
しかし、あるソフトのプラグインを作りたくてやっていたのですが
インスタンス名がわかりません・・・
0226デフォルトの名無しさん
2009/06/30(火) 17:08:440227223
2009/06/30(火) 17:11:38もう一度よく調べてきます。
0229デフォルトの名無しさん
2009/06/30(火) 23:02:43要するにPrintジョブをまとめたいだけなんですけど。
0230デフォルトの名無しさん
2009/07/01(水) 01:13:270231デフォルトの名無しさん
2009/07/01(水) 01:40:010232デフォルトの名無しさん
2009/07/01(水) 01:45:360233デフォルトの名無しさん
2009/07/01(水) 02:39:450234デフォルトの名無しさん
2009/07/01(水) 02:49:00では無く、「+」の隣にある文字列がクリックされた時にもNodeを展開するには
どうすればよいでしょうか?
0235デフォルトの名無しさん
2009/07/01(水) 04:04:16ありがとうございます。勉強してみます。
0236デフォルトの名無しさん
2009/07/01(水) 04:06:400237デフォルトの名無しさん
2009/07/01(水) 06:32:00NodeMouseClickでTreeNode.Expand
0238デフォルトの名無しさん
2009/07/01(水) 09:49:460240デフォルトの名無しさん
2009/07/01(水) 10:42:15http://pc12.2ch.net/test/read.cgi/tech/1244882261/
0241デフォルトの名無しさん
2009/07/01(水) 11:07:090242デフォルトの名無しさん
2009/07/01(水) 11:08:13ありがとうございました。
0243デフォルトの名無しさん
2009/07/01(水) 11:09:43エンディアンの違いじゃね?
0244デフォルトの名無しさん
2009/07/01(水) 11:37:02LargeImageListのImageSizeを弄ると大きさが変わるみたいだが指定した数値になるわけじゃないので厳しい。
LVS_OWNERDRAWFIXEDはReportViewじゃないと使えないので駄目。
0245デフォルトの名無しさん
2009/07/01(水) 11:39:31C#でおk
0246234
2009/07/01(水) 11:42:36NodeMouseClickイベントの中で次のコードを書いたところ
「+」の隣にある文字がクリックされた場合には、正常に
展開・縮小をする事が出来る様になったのですが、
逆に「+」がクリックされた時には、正常に展開・縮小をする事が
出来なくなってしまいました。
※不正な挙動を細かく言いますと、縮小中のノードの「+」部分を
マウスでした状態(左ボタンを押しっぱなし)では展開され、
マウスを放すと縮小されてしまいます。
⇒次に続きます。
0247デフォルトの名無しさん
2009/07/01(水) 11:43:20元のデータは同一なの?
x86もやってみた?
0248234
2009/07/01(水) 11:43:32{
Point pntMouseClick = new Point();
pntMouseClick.X = e.X;
pntMouseClick.Y = e.Y;
tvTop.SelectedNode = tvTop.GetNodeAt(pntMouseClick);
//ノードが展開されていない場合には展開する。
if (!(tvTop.SelectedNode.IsExpanded))
{
//選択されたノードを展開する。
tvTop.SelectedNode.Expand();
}
else
{
//選択されたノードを折り畳む。
tvTop.SelectedNode.Collapse();
}
}
どうすれば「+」がクリックされた時にも「隣にある文字列」
がクリックされた場合にも意図した動きをする様になるでしょうか?
0249デフォルトの名無しさん
2009/07/01(水) 11:52:490250デフォルトの名無しさん
2009/07/01(水) 18:14:530251デフォルトの名無しさん
2009/07/01(水) 18:53:19ウィンドウスタイルを設定するときにIntPtrがオーバーフローを起こすようで、
元に戻したらウィンドウのシステムアイコンが左右逆になっちゃって笑えるぜw
あとひと踏ん張り……。
0252デフォルトの名無しさん
2009/07/01(水) 19:57:28なんでその処理でウィンドウスタイルなんかいじってる
んだ?
0253sage
2009/07/01(水) 20:49:14実行してくれません。express editionのソリューションエクスプローラで自分のプログラムは追加
出来た様に見えるのですが。D&Dしてリビルドしました。何か他にやる事がありますか?
自分のプログラムの部分は今はhello worldにしてあるので間違っては無さそうですが。
0254デフォルトの名無しさん
2009/07/01(水) 20:56:01それか、そのフリーウェアの作者に聞いたら?
0255デフォルトの名無しさん
2009/07/01(水) 20:56:200256デフォルトの名無しさん
2009/07/01(水) 20:58:500257デフォルトの名無しさん
2009/07/01(水) 21:00:030258デフォルトの名無しさん
2009/07/01(水) 21:07:290259デフォルトの名無しさん
2009/07/01(水) 21:10:550260デフォルトの名無しさん
2009/07/01(水) 21:15:54ArrayListでforeachするのってどっちがいいの?
0261デフォルトの名無しさん
2009/07/01(水) 21:16:330262デフォルトの名無しさん
2009/07/01(水) 21:19:020263デフォルトの名無しさん
2009/07/01(水) 21:19:18from ArrayListy, doing ForEach, and ArrayList?
0264デフォルトの名無しさん
2009/07/01(水) 21:20:240265デフォルトの名無しさん
2009/07/01(水) 22:32:380266デフォルトの名無しさん
2009/07/01(水) 22:49:40フレームが残っているとフルスクリーン時に全画面に描画ができないから。
C++から移植したのでウィンドウスタイルを直接APIで書き換えていた。
.NET上でもいじれるんじゃないかと気づいたので、明日書き換えてみよう。
0268デフォルトの名無しさん
2009/07/02(木) 06:08:31でソフトを作っていますが、テーブルを増やすことに
なりました。新たにテーブルを増やすともう一度データベース
を構築しなくてはならないので、他のテーブルとのリレーション
はないことから、別のデータベースファイルを作成し
別個にデータベースを構築しようと思っています。
ひとつのソフトでいくつものデータベースファイルを
読み込むような構成としても大丈夫なものでしょうか。
0269デフォルトの名無しさん
2009/07/02(木) 07:13:05「テーブルを増やすとデータベースを構築しなくてはならない」ってのは、意味不明。
そんなん、クエリーひとつ流すだけだし。まさか、リードオンリーで使ってる
わけでもあるまい?
0270252
2009/07/02(木) 10:51:49なんとなくやっぱりな感じだけど…
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/199fullscreen/fullscreen.html
もとが C++ らしいし WM_SYSCOMMAND 周りの話はいいよな
ちなみにスタイルいじりは SetWindowLongPtr じゃなく、
CreateParams をオーバーライド、UpdateStyles でやるのが正道。
0271デフォルトの名無しさん
2009/07/02(木) 11:44:31ネットだとそれせずにソース上で全部記述して処理する方法をよく見るんですけど、
この2つの方法って利点弱点ってあるんでしょうか?
こっちの方法はやめとけってのあったら教えて下さい。
データソースの追加って奴の方が楽なように感じられないでもないような気も。
DBMSはSQL ServerとAccess両方使う予定です。
0272デフォルトの名無しさん
2009/07/02(木) 11:47:12動作が重いってイメージ
オレは初心者だから、上級者から見ればたぶん違う
0273デフォルトの名無しさん
2009/07/02(木) 11:47:570274デフォルトの名無しさん
2009/07/02(木) 11:52:35なるほど……。参考になる。ありがとう。
URLの記事は知らなかったけど、ウィンドウスタイルを書き換えるのをやめてFormBorderStyleを変更するようにした。
コードが簡単になったし、変な動きも止まった。
でもフルスクリーン時にマウスクリックをすると挙動がおかしくなる。
テクスチャの描画(Direct3D)をするとフルスクリーン/ウィンドウの切り替えができない、
など色々とおかしいところがあるのでまだ調整中。
0275デフォルトの名無しさん
2009/07/02(木) 12:41:21Direct3D?そっちかよ
その場合は D3DPRESENT_PARAMETERS 変えて Reset だろ
User32 まわりの機構を使わないで
0276デフォルトの名無しさん
2009/07/02(木) 12:51:25デバイスの再設定/モニターの解像度の変更はそのとおりだけど、
描画対象のウィンドウのフレームを変更してあげないといけない。
理由は上に書いたとおり。
これまでの変更で大体動くようになってきたけど、
フルスクリーン表示にするモニターに別のアプリのウィンドウがあるときに、
画面をクリックするとフォーカスを失っちゃうんだよなぁ。
どうもほかのウィンドウのほうが上側に来ているような気がする。
(DirectXでフルスクリーン描画するとほかのウィンドウの描画内容無視して描いてしまう)
0277デフォルトの名無しさん
2009/07/02(木) 12:52:310278デフォルトの名無しさん
2009/07/02(木) 14:23:13Webブラウザで、URLを開くには、
webBrowser.Navigate(URL);
では読み込みずみのhtmlファイルを開くには?
string htmlfile = "<html><body>〜〜〜</body></html>"
みたいなのを表示するにはどうしたらよいですか?
0279デフォルトの名無しさん
2009/07/02(木) 14:29:130280デフォルトの名無しさん
2009/07/02(木) 14:30:09動作が重いとなると痛いですね。
今ある本が平成14年のVisual C#.NETによる実践データベースプログラミングってかなり古い本なんで新しいの買って勉強してみます。
0281デフォルトの名無しさん
2009/07/02(木) 15:22:18やっと話が見えてきた
WM_SYSCOMMAND SC_MAXIMIZE いじってると思うけど
そのあと元処理につないで、つまり base.WndProc して
最大化させればいい気がする
0282デフォルトの名無しさん
2009/07/02(木) 15:26:18public Image Load(string filePass)
{
Stream fs = new FileStream(filePass, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
BitmapDecoder bf = BitmapDecoder.Create(fs, BitmapCreateOptions.None, BitmapCacheOption.Default);
Image image = new Image();
BitmapSource bsource = bf.Frames[0];
image.Source = bsource;
image.Width = bsource.PixelWidth;
image.Height = bsource.PixelHeight;
Console.WriteLine("{0}", bf.CodecInfo.FileExtensions);
//fs.Close();
return image;
}
このソースだと読み込んだファイルはオープンされたままで、
例えば名前の変更とかができません。fs.Close()をつけるといいのですが
それだと画像が表示されなくなってしまいます。
よそ様の作られたアプリだと開いたファイルに対して問題なく操作できるので、
そういった挙動にしたいのですが、どうすればいいでしょうか。
0283デフォルトの名無しさん
2009/07/02(木) 15:32:180284デフォルトの名無しさん
2009/07/02(木) 15:39:09System.Windows.Controls.Imageの話だろ。
0285デフォルトの名無しさん
2009/07/02(木) 15:43:45デーコーダの作成後に bitmapStream を閉じる場合は、OnLoad キャッシュ オプションを使用します。既定の OnDemand キャッシュ オプションは、ガベージ コレクタでビットマップが必要とされ、クリーンアップが処理されるまで、ストリームへのアクセスを維持します。
0286デフォルトの名無しさん
2009/07/02(木) 15:54:32おお、BitmapCacheOption.DefaultをBitmapCacheOption.OnLoadにすることで望みの動作になりました。
ありがとうございます。素で見逃してた恥ずかしい
でもDefaultとOnLoadの違いってなんでしょう?どちらもイメージ全体をメモリ上に置くみたいなので
Defaultでもいいように思えますが。
0287デフォルトの名無しさん
2009/07/02(木) 16:02:08ドキュメントが悪い。
enum BitmapCacheOption {
Default = 0,
OnDemand = 0,
OnLoad = 1,
None = 2,
};
0288デフォルトの名無しさん
2009/07/02(木) 16:04:51namespace System.Windows.Media.Imaging {
public enum BitmapCacheOption {
OnDemand,
OnLoad,
None,
Default = OnDemand,
}
}
0289デフォルトの名無しさん
2009/07/02(木) 16:13:43そうだったのか…
0290デフォルトの名無しさん
2009/07/02(木) 16:22:060291デフォルトの名無しさん
2009/07/02(木) 16:44:57できました。ありがとう。
0292デフォルトの名無しさん
2009/07/02(木) 16:55:26データソースの追加だと型付データセットができる。
これで、テーブル名をプロパティのようにアクセスできる。
作成にとても楽だけどわけわからんコードがたくさん生成
されるのでコード単位での操作は難しい。
0293デフォルトの名無しさん
2009/07/02(木) 17:23:28マウスクリックイベントをイベントフラグとして登録するとかですか?
0294デフォルトの名無しさん
2009/07/02(木) 17:38:10参考にさせてもらいます。
ありがとう。
0295デフォルトの名無しさん
2009/07/02(木) 20:56:43dataGridView1[1, 1].Style.BackColor = Color.Red;
などで塗りつぶしたセルを元の状態に戻すにはどうしたらよいでしょうか?
dataGridView1.DefaultCellStyle.BackColor = Color.Empty;
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Empty;
を試しましたが無理でした
dataGridView1[1, 1].Style.BackColor = Color.Empty;
とすればできるのですが表のすべてのセルを一気にデフォルト色に変えたい場合のよい方法が
あれば教えてください
0296デフォルトの名無しさん
2009/07/02(木) 21:03:21素直に一つずつ設定しる
変更したセルをListとかに保存しといてそれだけ元に戻す、とかの実装はどうか
0297デフォルトの名無しさん
2009/07/03(金) 01:23:20C# or VB.net で開発したアプリはRefactorとかいうツールを使うと
簡単にコードが見られてしまいますが、
このツールを使用し逆アセンブルをしたとしてもコードの中に入れている
コメントは相手には見られないと考えても良いでしょうか?
0298デフォルトの名無しさん
2009/07/03(金) 01:24:42自分でやってみな
0299デフォルトの名無しさん
2009/07/03(金) 01:27:50自分でやてtみて逆アセンブルは出来ましたが、
コメントは見えませんでした。
という事でコードは簡単に相手に見えてしまうが、
コメントは逆アセンブルをする悪い人にも見えない
という考えが正しいかご教授下さい。
0300デフォルトの名無しさん
2009/07/03(金) 01:40:38ソースコードも自分が書いたそのものではなく
できる限り復元してみただけのもの
0301デフォルトの名無しさん
2009/07/03(金) 02:08:52ありがとうございます。
安心しました。
因みにですが、もう一つだけ質問させて下さい。
Visual Studioのアイテムボックスの右上にある「小さく注射器のアイコン」は
.Net Frameworkに用意されていますか?
自動で伸縮する奴です。
常に表示されているとウザイので、このアイコンがもし.Netに用意されているのであれば
必要な時のみ呼び出す事が出来て非常に便利だと思うのですが。
0302デフォルトの名無しさん
2009/07/03(金) 02:20:48標準には無いかな、SP1のMFCにはあるが。
0303デフォルトの名無しさん
2009/07/03(金) 02:27:26.Netじゃ用意されてないんですね。
実現するにはどうすればよいでしょうか?
0304デフォルトの名無しさん
2009/07/03(金) 03:49:390305デフォルトの名無しさん
2009/07/03(金) 10:07:16用意されているのならそれを使いたいのです。
0306デフォルトの名無しさん
2009/07/03(金) 10:38:550307デフォルトの名無しさん
2009/07/03(金) 10:41:36MFCも.NET Frameworkも基本的にはライブラリなので、
ライブラリではないアイコンなんかのリソースはあまり重視されないし、記事も多くない。
インストールフォルダやDVDの中を探してあるならそれを使えばいいし、無いなら自分で探せばいい。
自分で考える前に人に聞くな。
0308デフォルトの名無しさん
2009/07/03(金) 11:06:37機能が欲しいってことじゃないのかな?
どっちにしても「自分で書けよ」って話になるけど。
0309デフォルトの名無しさん
2009/07/03(金) 11:08:31ズバリその通りです。
>>306 >>307
>>308さんのおっしゃった事そのものです。
いずれにしても、.Netではその押しピン機能は用意されていないのですね。
残念ですが自分で1から作成します。
0310デフォルトの名無しさん
2009/07/03(金) 11:14:270311デフォルトの名無しさん
2009/07/03(金) 11:16:02サードパーティーのコンポーネント使ったほうがいいよ
0312デフォルトの名無しさん
2009/07/03(金) 11:23:04金が掛かる。
>>310
ぐぐってみます。
0313デフォルトの名無しさん
2009/07/03(金) 11:26:56押しピン機能? いったい何のことだ。
さっきから要領の得ない会話をしているように思うんだが、オレの理解力が無いだけなのか。
押しピンで表現されるツールチップアイコンの機能といったら、通常は「ウィンドウを常に手前に表示」だと思うんだが?
それともドッキング可能なペインのこと言ってるのか?
0314デフォルトの名無しさん
2009/07/03(金) 11:46:26ウィンドウが自動的に隠れるのを一時的に止めることができる。
0315デフォルトの名無しさん
2009/07/03(金) 12:08:32VS2005の場合ならmsdnに書いてあったんですが、2008ではメニュー構成が変わったのか
探し方が悪いのか、見つけることができません。
ttp://msdn.microsoft.com/ja-jp/library/a3cwf295(VS.80).aspx
ヘルプに「逆アセンブリウィンドウ」という項目はあるのですが、クリックしても
「インデックス エントリのトピックがありません」というエラーが出ます。
0316デフォルトの名無しさん
2009/07/03(金) 12:13:020317デフォルトの名無しさん
2009/07/03(金) 12:28:33右上にその他のバージョンについてはってあるだろ、まあこのページは中身同じだけど。
> デバッガは動作中であるか、中断モードである必要があります。
はおk?
0318デフォルトの名無しさん
2009/07/03(金) 13:13:37ちゃんと[デバッグ中]にはなっているんですが、
メニューに[逆アセンブリ]が出てきません…
何か手順が違うんでしょうか…
ttp://windyakin.if.land.to/src/up38_1372.png
0319デフォルトの名無しさん
2009/07/03(金) 13:15:36あ、使っているのはstandardエディションです。
0320デフォルトの名無しさん
2009/07/03(金) 13:20:350321デフォルトの名無しさん
2009/07/03(金) 13:24:27最初Expressを使っていたんですが、そのあとStandardを買って上書きで入れました。
タイトルバーがExpressのままなのは謎なんですが、
もしかして、原因はここらへんにあるんでしょうか。
0322デフォルトの名無しさん
2009/07/03(金) 13:30:27一旦全部アンインストールしてインストールし直せ
0323デフォルトの名無しさん
2009/07/03(金) 13:30:560324デフォルトの名無しさん
2009/07/03(金) 13:39:53すなおにExpressをアンインストールしる。
0325デフォルトの名無しさん
2009/07/03(金) 13:43:59最近になってExpressからでもアップグレードできるようになったと
MSのページに書いてあったので入れてみたんですが、
一度消さないとダメなんですか。やってみます。
0326デフォルトの名無しさん
2009/07/03(金) 13:58:23アプリケーションの上書きインストールとは関係ない
0327デフォルトの名無しさん
2009/07/03(金) 14:13:48ExpressからアップグレードできるのはProfessional版だけじゃなかった?
0328デフォルトの名無しさん
2009/07/03(金) 14:15:340329デフォルトの名無しさん
2009/07/03(金) 14:37:23併用可能だから上書きとか無理
EEはスタートメニュー直下にあるけどStandardはMicrosoft VisualStudio 200Xの下にできるだろ?
0330デフォルトの名無しさん
2009/07/03(金) 14:40:39別の場所にアイコンあるの気がつかずにEE起動してるだけだろう
ってもうアンインストールしちゃったかな
0331デフォルトの名無しさん
2009/07/03(金) 16:27:51パネル上にエディタ等があるとして、そのエディタを移動させようとして
カット&ペーストすると、エディタのイベント情報がすべてなくなりますよね。
イベントをすべて保持したまま親コントロールだけをかえたい場合はどうすればよいですか?
コントロールをコピペしてもイベントがリセットされない方法はありませんか?
0332デフォルトの名無しさん
2009/07/03(金) 16:28:520333デフォルトの名無しさん
2009/07/03(金) 16:35:16親変えるだけならドラッグでよくね?
0334デフォルトの名無しさん
2009/07/03(金) 16:39:330335デフォルトの名無しさん
2009/07/03(金) 17:11:22ドキュメントアウトラインのツリーでドラッグして動かす。
やってみたら目からウロコ。
0336デフォルトの名無しさん
2009/07/03(金) 20:04:51MFCいらなきゃEEじゃないの?
0337デフォルトの名無しさん
2009/07/03(金) 20:14:10えっ?
0338デフォルトの名無しさん
2009/07/03(金) 23:40:12WindowsMobileのFormってサイズ指定しても反映しないのですか?
TCPListenerとかでFTP部分は書けたのだけど、情報少なくて四苦八苦してます
CompactFrameworkの話はスレ違いかな?
0339デフォルトの名無しさん
2009/07/03(金) 23:48:46>>338の質問も、言語がC#だろうがVBだろうがIronPythonだろうが、一字一句
違いませんよね?でもそれはCompact Frameworkだからではありません。
0340デフォルトの名無しさん
2009/07/04(土) 06:34:57>WindowsMobileのFormってサイズ指定しても反映しないのですか?
現状はしない。ある意味ウィンドウシステムじゃないから。
FormのSizeはCompactFrameworkではサポートしていない。(ヘルプのバージョン情報参照)
0341デフォルトの名無しさん
2009/07/04(土) 11:14:42ありがとう。ヘルプを頼りにしてみます
0342デフォルトの名無しさん
2009/07/04(土) 13:39:27最近MFCは何やっても動作がカクカクで嫌になってきたんですが
C#Formで作っても動作はかわらないですか?
0343デフォルトの名無しさん
2009/07/04(土) 13:40:08com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(222,'あああ')", conn);
は出来るのに
int aaa = 222;
string bbb = "あああ";
com = new System.Data.OleDb.OleDbCommand("insert into table111(code,name) values(aaa,bbb)", conn);
だと出来ません。valuesの後()の中は変数ではいけないのですか?
0344デフォルトの名無しさん
2009/07/04(土) 13:44:570345デフォルトの名無しさん
2009/07/04(土) 13:53:20変数の名前だけ渡したってしょうがないだろ。
そのままやるならstring.formatをかける。
ただしそれではSQLインジェクションを本質的に防げないから、>344になる。
0346デフォルトの名無しさん
2009/07/04(土) 13:55:00ありがとうございます。
パラメタライズドクエリ、SQLインジェクション調べてみます。
0347デフォルトの名無しさん
2009/07/04(土) 17:38:12和書でも洋書でもいいです。金額も問いません。
0348デフォルトの名無しさん
2009/07/04(土) 17:42:570349デフォルトの名無しさん
2009/07/04(土) 17:45:080350デフォルトの名無しさん
2009/07/04(土) 17:51:170351デフォルトの名無しさん
2009/07/04(土) 17:54:53MSDNのクラス自体の説明文では何がなにやら分からないことが結構ある。
0352デフォルトの名無しさん
2009/07/04(土) 17:58:15http://msdn.microsoft.com/ja-jp/library/ath1fht8.aspx
書く方もおっついてないんだろうなあ。
0353デフォルトの名無しさん
2009/07/04(土) 18:56:15紀伊国屋書店のHPに
http://bookweb.kinokuniya.co.jp/htmy/0470472057.html
がありました。
この本はいかがでしょうか…。
業務プログラム構築に支障のない程度のクラスの説明があれば買いたいですが、
立ち読みができないのがつらいです。
英文を読むのは苦じゃないのでアメリカに行きたいくらいですが、
割が合わないかもしれず、お金もありません。
0354デフォルトの名無しさん
2009/07/04(土) 20:29:18>文字列の検索 (一般)
>文字列の検索 (正規表現)
>文字列の置換 (一般)
>文字列の置換 (正規表現)
とありますが、一般と正規表現の違いはなんですか?
正規表現でやったほうが効率がいいってことですか?
0355デフォルトの名無しさん
2009/07/04(土) 20:42:54一般は特定文字列
0356デフォルトの名無しさん
2009/07/04(土) 21:42:32入門書を選ぶならいいが、実務で使うとなると、もはや紙の本なんか役に立たん
msdnを読め
0357デフォルトの名無しさん
2009/07/04(土) 23:08:530358デフォルトの名無しさん
2009/07/04(土) 23:18:080359デフォルトの名無しさん
2009/07/05(日) 00:31:36ビルド構成の詳細を表示
だったかな
0360デフォルトの名無しさん
2009/07/05(日) 02:52:26AnyCPUはEEじゃなくても新規作成ししたプロジェクトならそうじゃないかな。
AntCPUの下の構成マネージャーから自分で追加する。
0361デフォルトの名無しさん
2009/07/05(日) 02:55:27変更できないね、すまん。
0362デフォルトの名無しさん
2009/07/05(日) 03:09:290363デフォルトの名無しさん
2009/07/05(日) 03:29:36あるロガーが掃き出すテキストファイルに「1AH」(CTRL+Z)が含まれて
いるのですが、1AH以降を取り除くにはどうすればいいでしょうか?
コマンドプロンプトでテキストファイルをバイナリモードでコピーするという
方法で除去できましたが、C#に用意されている機能で除去できないかと
考えています。
よろしくお願いします。
0364デフォルトの名無しさん
2009/07/05(日) 07:56:35stringなんだからLengthやIndexOf使えば調べられるが
>>363
IndexOfとSubstring
\xとか\u
0365デフォルトの名無しさん
2009/07/05(日) 08:46:20VB6.0も使用するにはどのような環境にすればよいでしょうか。
0366デフォルトの名無しさん
2009/07/05(日) 08:50:180367デフォルトの名無しさん
2009/07/05(日) 09:02:51ありがとうございます。
ということは、VB6.0を別途購入し、
VS2008アンインストール
⇒ VB6.0インストール
⇒ VS2008インストール
の流れでいいでしょうか。
0368デフォルトの名無しさん
2009/07/05(日) 09:04:07"object sender, EventArgs e"
とはどういう意味ですか?
0369デフォルトの名無しさん
2009/07/05(日) 09:07:10うん
今時VB6なんか売られてるかどうかしらんけど
0370デフォルトの名無しさん
2009/07/05(日) 09:16:25メソッドの引数
はともかくとして
イベントが起こったときに呼び出されるメソッド(イベントハンドラ)に推奨されてる引数の形式
第一引数はobject型 イベントを起こしたオブジェクトが入る ボタンクリックならButtonオブジェクト
第二引数はEventArgsかその派生型 イベント特有の情報が入る MouseDownなら押下されたマウスのボタンや位置の情報
EventArgsは特有の情報がないときに使われる
0371デフォルトの名無しさん
2009/07/05(日) 09:16:34ありがとうございます。
そのとき、VB2008とVB6.0が併存できるようにすることは可能でしょうか。
何度も質問ですみません。
0372デフォルトの名無しさん
2009/07/05(日) 09:25:03まあ全部できるけど
0373デフォルトの名無しさん
2009/07/05(日) 10:10:56VC#と、
VB2008と、
VB6.0で開発を行う可能性があるので、
同じPCに入れておきたいんです。
0374デフォルトの名無しさん
2009/07/05(日) 11:06:17ありがとうございますっ!
0375デフォルトの名無しさん
2009/07/05(日) 11:08:51"e"はどういう意味なんだろ。
今まで意識したことなかった。
0376デフォルトの名無しさん
2009/07/05(日) 11:22:29eventArgsでいいじゃねえか
0377デフォルトの名無しさん
2009/07/05(日) 11:24:440378デフォルトの名無しさん
2009/07/05(日) 11:30:04がパラメータのガイドラインだが
イベント引数はパラメータ名いらないのよね 型で判断するもんだから
0379デフォルトの名無しさん
2009/07/05(日) 11:35:00意味がさっぱり分りません。
使用するときはあるのでしょうか(-_-;)。
0380デフォルトの名無しさん
2009/07/05(日) 11:36:37すみません、イベントハンドラの引数が2つあるということですかね?
0381デフォルトの名無しさん
2009/07/05(日) 11:49:14誤解していたわ。良く分かった。
0382デフォルトの名無しさん
2009/07/05(日) 11:54:51なにを378に聞いてるのかよくわからんが
イベントハンドラの引数は普通2つ、senderとe
イベント引数は一般にeの方だけ指す、と思う
0383デフォルトの名無しさん
2009/07/05(日) 11:58:44intとstringは型、aとbは変数名。これはわかるよな?
同じように「object sender, EventArgs e」ってのはobject型の変数sender、EventArgs型の変数eってこと。
なんで「e」なんてわかりにくい名前に決めたのかは不明だが、何か歴史があるんだろうなあ。
0384デフォルトの名無しさん
2009/07/05(日) 12:05:02それを話してたんじゃないの?
0385デフォルトの名無しさん
2009/07/05(日) 12:36:050386デフォルトの名無しさん
2009/07/05(日) 12:42:35なるほど!分かりやすい説明感謝です。
"eventArgs e"とは別の引数が使われるケースもあるのかなぁ。
見たことない(+_+)。
0387デフォルトの名無しさん
2009/07/05(日) 12:47:43ヘルプからして e だもんなぁ。
>>379
イベントハンドルデリゲートで特化した場合に使う。
例えば MouseEventArgs では、
マウスのどのボタンが押されたか
マウス ボタンが押されて離された回数
マウス ホイールの回転回数を表す符合付きの数値
マウス イベント生成時のマウスの位置
などが入っている。
つまり、むっちゃ重要で使いまくり。
EventArgs は単に基本クラス。
0388デフォルトの名無しさん
2009/07/05(日) 12:59:07catch(Exception e)って書いて
「既に定義されています」って言われるとイラッと来る。
0389デフォルトの名無しさん
2009/07/05(日) 13:02:12もうそういうふうに指が動くようになってる
0390デフォルトの名無しさん
2009/07/05(日) 13:02:150391デフォルトの名無しさん
2009/07/05(日) 13:02:51いろんなHPを読んでもイメージがさっぱり掴めません。
0392デフォルトの名無しさん
2009/07/05(日) 13:04:55ってどういう命令なのですか?
0393デフォルトの名無しさん
2009/07/05(日) 13:05:530394デフォルトの名無しさん
2009/07/05(日) 13:12:19ってどう読むの?「イベントオーギュス」?
0395デフォルトの名無しさん
2009/07/05(日) 13:13:29「catch(Exception ex) 」のときで、処理はどう変わるの?
0396デフォルトの名無しさん
2009/07/05(日) 13:17:230397デフォルトの名無しさん
2009/07/05(日) 13:18:050398デフォルトの名無しさん
2009/07/05(日) 13:26:43無理に発音するならアーギュスだけどみんな好き勝手に読んでる
JISでは読み方は規定してなかったよね?
0399デフォルトの名無しさん
2009/07/05(日) 13:26:49それは言い過ぎ…
0400デフォルトの名無しさん
2009/07/05(日) 13:27:52なんで例外は変数はeやexと分かりにくい名前をつけるの?
xxExceptionでいいじゃないかとかいった質問がきそうだな。
0401デフォルトの名無しさん
2009/07/05(日) 13:28:35生成しなくても使えるのが静的
生成してできたものがインスタンス
0402デフォルトの名無しさん
2009/07/05(日) 13:29:56非常に狭い部分でしか使わない変数に名前を考えるのが面倒くさい
でいいじゃん
0403デフォルトの名無しさん
2009/07/05(日) 13:32:40静的クラスはプログラムの実行開始時に自動的にインスタンスが一つ作られる。
だからいつでもすぐに使うことができる。早くて便利。ソースも少しだけすっきりする。
だけど開放することはできないからあんまり巨大な静的クラスは作らない方がいい。
0404デフォルトの名無しさん
2009/07/05(日) 13:36:43難しく言えばメソッドに暗黙のthisを渡すかどうかの違い。
0405デフォルトの名無しさん
2009/07/05(日) 13:38:49(object obj, EventArgs evags)
とか、好き勝手に書き換えてもいいんだぜ?ローカルな変数名なんだから。
0406ちら裏
2009/07/05(日) 13:42:37イメージは自分で作るものだからなぁ。
俺のイメージだと、
クラスってのはクラスローダが自動的に作った「設計図オブジェクト」のシングルトン
インスタンスで、そのメソッドとメンバ変数が静的になるのは、「自動的」に作られた
「シングルトン」だからなだけ。
このイメージの利点は、クラスとインスタンスを同じ仕掛けとして認識できること。
そういう糖衣構文だと思ってる。あくまで個人的に。
0407デフォルトの名無しさん
2009/07/05(日) 13:47:39Smalltalkのクラスはメタクラスのインスタンスである、とかの話に似てるな
正直よくわかってないけどw
0408デフォルトの名無しさん
2009/07/05(日) 14:13:33staticメソッドというのは、実態はただの関数だ。それがクラス定義のスコープの中にあるだけ。
インスタンスを作らないと原則呼び出せない通常のメソッドとは全然違う。
>>406
クラスがオブジェクトの設計図というのは間違ってないが、シングルトン関係ない。
クラスを判子と例えるなら、インスタンスは判子を押したここの契約書だ。
0409デフォルトの名無しさん
2009/07/05(日) 14:28:31いや、静的にということは、この場合ではクラスメンバにアクセスするときに同じ
インスタンスにアクセスすることを要請している、これはシングルトンが保証して
いるわけだからメチャ関係ある。
インスタンス化しないで使える(==自動的)、メンバが静的(==シングルトン)。
0410デフォルトの名無しさん
2009/07/05(日) 14:46:08Hoge hoge = Hoge.getSingleton();
のインスタンスメンバは、クラスメンバであるかのように使える事と同じイメージ。
0411デフォルトの名無しさん
2009/07/05(日) 14:51:480412デフォルトの名無しさん
2009/07/05(日) 14:53:42class Hoge {
public static int id;
public static void func() {...}
}
を Hoge.id とか Hoge.func() とするように
class Hoge {
public int id;
public void func() {...}
public static Hoge getSingleton() {...}
}
で、先の hoge だと hoge.id とか hoge.func() と書けるという意味ね。
0413デフォルトの名無しさん
2009/07/05(日) 14:53:52が段々混乱しているかもしれないな…。
本よりも高度な説明が繰り広げられているから…。
0414デフォルトの名無しさん
2009/07/05(日) 14:55:22使い方だけ説明しておけばいいだろ
そのうち分かるようになる
0415デフォルトの名無しさん
2009/07/05(日) 14:58:12>シングルトンって何?
http://ja.wikipedia.org/wiki/Singleton_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3
設計だと頻出単語というか常識レベル。
0416デフォルトの名無しさん
2009/07/05(日) 15:05:54クラスもオブジェクトと考える言語の系統と、C++のようにそう考えない系統があって
C#やJavaはその中間的な感じなんだよね。
静的クラスをシングルトンと考えるのは前者。
C#はクラスローダレベルで見ると前者っぽいけど基本的な考え方は後者に近い。
0417デフォルトの名無しさん
2009/07/05(日) 15:13:50C#のほうがより厳密なんだっけ?
C++はどちらでも使いようが可能なんだよな
切り替えて使うときどうしても混乱してしまう。
0418デフォルトの名無しさん
2009/07/05(日) 15:33:38の説明でいいんじゃねぇの
0419デフォルトの名無しさん
2009/07/05(日) 15:41:34型は初めからそこにあるものってことで、
静的メソッドは型とともにはじめからそこにある。
リフレクションやらstaticイニシャライザのことはしばらく置いておこう。
0420デフォルトの名無しさん
2009/07/05(日) 15:42:42クラスメソッドとインスタンスメソッドの違いだからなぁ。
0421デフォルトの名無しさん
2009/07/05(日) 15:46:030422デフォルトの名無しさん
2009/07/05(日) 15:49:370423デフォルトの名無しさん
2009/07/05(日) 16:04:21俺はタコヤキの型に付いてるタコとタコヤキに入っているタコだし
0424デフォルトの名無しさん
2009/07/05(日) 16:29:290425デフォルトの名無しさん
2009/07/05(日) 16:33:30ファーストクラスオブジェクトならばそう言えないことも無いかもしれないが、
(特にSquirrelのクラスオブジェクトはまさに雛形的な動作をするようにできている。
メンバ変数の初期値を決められるだとかインスタンス初期化は
クラスオブジェクトのテーブルからのベタコピーだとか)
しかし、JavaやC#は専用の名前空間があって基本的に上書きはできない。
またインスタンス化やシングルトンの概念と関係なくWin32Apiのラッパとして仕方なく
staticメソッドとして定義していかないといけないことが頻繁にあるので、
(C#はグローバルな関数が書けない)
そういう考え方は頷けないものがある。
0426デフォルトの名無しさん
2009/07/05(日) 16:33:320427デフォルトの名無しさん
2009/07/05(日) 16:35:30なんてパラドキシカルな手段が講じられるようになるんだよね。
初めてその概念に触れたときは理解するまで時間がかかったw
0428デフォルトの名無しさん
2009/07/05(日) 16:39:30情報系の勉強してれば必ず出てくる
どうやって実装するかは処理系によって変わるけど
0429デフォルトの名無しさん
2009/07/05(日) 17:41:35なんか面白そうなんで、いっちょ実例を教えてくだされ
0430デフォルトの名無しさん
2009/07/05(日) 18:44:08で、、、、静的メソッドって結局なんなんだろう。
0431デフォルトの名無しさん
2009/07/05(日) 18:46:230432デフォルトの名無しさん
2009/07/05(日) 19:11:280433デフォルトの名無しさん
2009/07/05(日) 19:12:52わたしはCobolerからC#への転身なので全く何も分からないよ(-_-;)。
0434デフォルトの名無しさん
2009/07/05(日) 19:20:000435デフォルトの名無しさん
2009/07/05(日) 19:28:32リストからgetfilesを取得して、deletefilesを取り除いて、重複をのぞいてリスト化するには、どうしたらよいでしょう?
次のようにしてみたのですが、
string[] deletefiles = {".cs","(2)","zip","cab"};
string[] getfiles = {"txt","jpg"};
string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Recent", "*.lnk");
string text = "";
foreach(string file in files) {
foreach(string deletefile in deletefiles) {
foreach(string getfile in getfiles) {
if (file.ToLower().Contains(getfile.ToLower()) && !text.Contains(file)) {if (!file.ToLower().Contains(deletefile.ToLower())) text = text + file + "\r\n";
}}}}
○のみを抽出したい。
2009/07/04 19:41 597 01.txt.lnk ○
2009/07/02 11:48 573 124642979292o.jpg.lnk ○
2009/07/04 22:22 482 1553ea4.jpg.lnk ○
2009/07/01 00:55 567 2009_0701twitter.txt (2).lnk
2009/07/01 00:49 567 2009_0701twitter.txt.lnk ○
2009/07/04 17:32 750 Program.cs.lnk
2009/07/02 17:33 579 SimpleBrowser.lnk
なのに、出力結果には、
Program.cs.lnk
が含まれたりします。
アドバイスお願いします。
0436デフォルトの名無しさん
2009/07/05(日) 19:39:20C++ならできたはずだが・・・
0437デフォルトの名無しさん
2009/07/05(日) 19:48:39いや、それはない。
まあ引数にthisを渡すなら出来なくはないけどね。
0438デフォルトの名無しさん
2009/07/05(日) 20:00:11ステップ実行してみたら?
0439デフォルトの名無しさん
2009/07/05(日) 20:03:58読ませる気無いだろこのコード
処理を二回に分けて考えたほうがいい
List<string>でも用意しておいて
まずfilesの中からgetfilesを持っているのをList<string>に格納する
その後そのListからdeletefilesが含まれているのをtextに追加していく
そういう処理のチェーンを簡単に書けるのがLinq
0440デフォルトの名無しさん
2009/07/05(日) 20:04:04インスタンスメンバにアクセスできたら、静的メソッドじゃないじゃん。
静的メンバってのは、そのクラスの全インスタンスで共有されるんでしょ。
0441デフォルトの名無しさん
2009/07/05(日) 20:06:210442デフォルトの名無しさん
2009/07/05(日) 20:10:47それじゃ静的メソッド内で一時的に変数に値を保存しておきたいときとかどうするの(´・ω・`)?
0443デフォルトの名無しさん
2009/07/05(日) 20:12:38静的メソッドでそういうのするのは極めて不穏だが
静的フィールドに格納すればいい
0444デフォルトの名無しさん
2009/07/05(日) 20:23:51状態を保存したいなら
引数で渡すようにするか、静的メソッドやめてインスタンス変数に格納しろよ。
0445デフォルトの名無しさん
2009/07/05(日) 20:29:310446デフォルトの名無しさん
2009/07/05(日) 22:08:32でたらめ言ってんじゃねー
0447デフォルトの名無しさん
2009/07/05(日) 22:10:07状態を持たないという意味で用いられる用語は「静的」ではなく「純粋」。
0448デフォルトの名無しさん
2009/07/05(日) 22:19:050449デフォルトの名無しさん
2009/07/05(日) 22:19:16C#2008の仕様ではインスタンス化のタイミングは定義されてないけど、
現実には実行開始時でいいんでないの?
そういうツッコミじゃなくて?
0450デフォルトの名無しさん
2009/07/05(日) 22:22:23C#で帳票作成するとき皆さんどうしてますか
グレープシティーのActiveReportsですか
それともクリスタルレポートですか
それともSQLSERVERについてるレポーティングサービスですか
それともジャイブレポートですか
それともExcelとかPDFにはいてます?
無料ならPDFなんですかねえ?
どうなんでしょう
お勧めありますか
0451デフォルトの名無しさん
2009/07/05(日) 22:25:260452デフォルトの名無しさん
2009/07/05(日) 22:31:57初めてそのクラスを使おうとしたときに静的メンバが初期化されることが多い
言語仕様上は、「使う前には初期化されていることが保証されている」だけ
0453デフォルトの名無しさん
2009/07/05(日) 22:32:15そもそもインスタンスなんて作られない。
それとも別のものをインスタンスと言ってるのか?
Typeとか?
0454デフォルトの名無しさん
2009/07/05(日) 22:37:16ReportingServiceはお勧めしない。
素直にActiveReports使った方が良い。
0455デフォルトの名無しさん
2009/07/05(日) 22:52:00ttp://msdn.microsoft.com/ja-jp/library/79b3xss3.aspx
0456デフォルトの名無しさん
2009/07/05(日) 23:21:11itext調べてみます く^^
0457デフォルトの名無しさん
2009/07/06(月) 04:11:130458デフォルトの名無しさん
2009/07/06(月) 15:09:02// OKワードのどれかを含む要素を配列strsから取り出すメソッド
string[] selectOK(string[] strs, string[] OKwords)
{
return Array.FindAll(strs, delegate(string s) {
return Array.Exists(OKwords, delegate(string word) {
return s.IndexOf(word, 0) >= 0; }); });
}
// NGワードのどれかを含む要素を配列strsから取り除くメソッド
string[] deleteNG(string[] strs, string[] NGwords)
{
return Array.FindAll(strs, delegate(string s) {
return Array.TrueForAll(NGwords, delegate(string word) {
return s.IndexOf(word, 0) < 0; }); });
}
↓
string[] deletefiles = {〜};
string[] getfiles = {〜};
string[] files = Directory.GetFiles(〜);
files = selectOK(files, getfiles);
files = deleteNG(files, deletefiles);
0459デフォルトの名無しさん
2009/07/06(月) 20:32:510460デフォルトの名無しさん
2009/07/06(月) 20:34:170461デフォルトの名無しさん
2009/07/06(月) 20:51:360462デフォルトの名無しさん
2009/07/06(月) 20:59:270463デフォルトの名無しさん
2009/07/06(月) 21:01:440464デフォルトの名無しさん
2009/07/06(月) 21:05:250465デフォルトの名無しさん
2009/07/06(月) 21:25:075〜10%のロスを遅いとは言わない。
0466デフォルトの名無しさん
2009/07/06(月) 21:28:550467デフォルトの名無しさん
2009/07/06(月) 21:31:24500万ファイルくらいかな?
0468デフォルトの名無しさん
2009/07/06(月) 21:55:25うん、致命的だから使わなければいいと思うよ
俺は10%の高速化より、コーディング時間1/3の方を取るけど
0469デフォルトの名無しさん
2009/07/06(月) 21:58:250470デフォルトの名無しさん
2009/07/06(月) 22:02:29皆どうしてんだろ
0471デフォルトの名無しさん
2009/07/06(月) 22:17:24本職はマ板にでも消えてくれ。
0472デフォルトの名無しさん
2009/07/06(月) 22:21:560473デフォルトの名無しさん
2009/07/06(月) 22:31:520474デフォルトの名無しさん
2009/07/06(月) 22:33:280475デフォルトの名無しさん
2009/07/06(月) 22:33:530476デフォルトの名無しさん
2009/07/06(月) 22:39:500477デフォルトの名無しさん
2009/07/06(月) 23:53:56具体的には何が問題になってます?
0478デフォルトの名無しさん
2009/07/07(火) 00:03:12そこでカウンター値をチェックしてからループの入口にもう一度ジャンプして
1回目の処理を開始するというコードになってて吹いた。
てっきり、もっと効率のいいコードを吐いてるもんだと思ってたのに。
0479デフォルトの名無しさん
2009/07/07(火) 00:22:34ILの出力であればそんなもんでは、CPUごとのカスタマイズはJITの仕事だし
0480デフォルトの名無しさん
2009/07/07(火) 00:29:45完成前にあれこれ考えるな時間の無駄だー。
ってスティーブ・マコネルが言っていたよ。
不必要な高速化にかまける馬鹿が多いってさ。
だったらその時間使ってテストしろボケ。
0481デフォルトの名無しさん
2009/07/07(火) 00:30:21JIT通すと最適化されるんかな。
0482デフォルトの名無しさん
2009/07/07(火) 00:32:440483デフォルトの名無しさん
2009/07/07(火) 01:07:51のようなことはできないの?
0484デフォルトの名無しさん
2009/07/07(火) 01:09:410485デフォルトの名無しさん
2009/07/07(火) 01:19:240486デフォルトの名無しさん
2009/07/07(火) 01:33:300487デフォルトの名無しさん
2009/07/07(火) 01:37:57なら記述可能だな ただのネタだが
0488デフォルトの名無しさん
2009/07/07(火) 12:18:01そういうスパゲッティコードを書きたいならC、C++使え。
0489デフォルトの名無しさん
2009/07/07(火) 12:44:21>>488を見て再びわからなくなった
0490デフォルトの名無しさん
2009/07/07(火) 14:32:44ttp://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
ここからC#をダウンロードしました。
これは特定のバージョンのコンパイラなのでしょうか?
それともどこかで設定できるのでしょうか?
またバージョン間の互換性はどうなっていますか?
1.0用のソースは2.0と3.0で、2.0用のソースは3.0でも問題無くコンパイルできるのでしょうか?
自分でも調べてみましたがコンパイラのバージョンなどがヒットしてしまいよくわかりませんでした。
よろしくお願いします。
0491デフォルトの名無しさん
2009/07/07(火) 14:49:41C#は今のところ後方互換性はほぼ完全に取れてる
マルチバージョン対応なC#コンパイラは今のところ存在しないけど、
後方互換によって新しいコンパイラは古いバージョンのソースコードをコンパイルできる
.NETの標準ライブラリもソースレベルではまず問題ない Obsoleteになったのもあるけど廃止になったのは記憶にない
.NETは1.x系と2.0/3.0/3.5系(と今ベータ中の4.0)がある 3.0/3.5は2.0の追加ライブラリ的存在
VC#2008は開発ターゲットに.NET 2.0/3.0/3.5を選択できる
C#3.0は.NET3.5と同時公開だが、C#3.0コンパイラで.NET2.0の開発もできる(というかVC#2008がそうやってる)
ただラムダ式みたいな言語の機能はそのまま使えるが
System.Linq名前空間下のクラスとかは.NET3.5で追加されたライブラリなので.NET2.0開発時には使えない
0492デフォルトの名無しさん
2009/07/07(火) 16:29:57とてもよく理解できました。
0493デフォルトの名無しさん
2009/07/08(水) 17:10:130494デフォルトの名無しさん
2009/07/08(水) 17:12:130495デフォルトの名無しさん
2009/07/08(水) 22:07:00めんどくさい。だな。
0496デフォルトの名無しさん
2009/07/09(木) 02:10:39[Description("アアア")]
public int MyProp{ ... }
や、
[Category("イイイイ")]
public int MyProp {...}
などの属性をつけたいときはどうすればよいのでしょう?
0497デフォルトの名無しさん
2009/07/09(木) 05:31:270498デフォルトの名無しさん
2009/07/09(木) 07:13:45「キャプションを表示するかどうか」
という内容がありますが、
どういう意味でしょうか?
ラジオボタンを配置してもラベルは表示されますし、
「キャプション」が何を指すかが分かりません(+_+)。
よろしくお願いします。
0499デフォルトの名無しさん
2009/07/09(木) 08:44:12グループで括ると左上に名前が出るだろ
0500デフォルトの名無しさん
2009/07/09(木) 08:47:07まだやってんのか
いい加減そんな不毛なこと止めてグリッド使ったらどうだ
0501デフォルトの名無しさん
2009/07/09(木) 12:30:14どうもありがとう!!
>>500
グリッドだとだめなんですよ.グリッドでプロパティグリッドを代用しようとすると、
列方向にプロパティ一覧(列によって型が異なる)、行方向に、オブジェクト一覧みたいなかんじになりますよね。
編集するオブジェクトはつねに1つでいいんです。
そうすると、常に1行で、編集可能なプロパティの数だけ列が存在する事になってしまいますよね(ヘッダ除く)。
オブジェクト1個に対して20のプロパティが存在するなら、
1行20列(ヘッダ除く)のとても使いにくいデータグリッドになります。
この場合、20行1列にしたい(ヘッダ除く)
グリッドの、行と列の機能を入れ替えられれば良いんですが、
0502デフォルトの名無しさん
2009/07/09(木) 12:31:04まずはじめに、何と、何と、何を
ダウンロードすればいいですか?
0503デフォルトの名無しさん
2009/07/09(木) 12:33:590504デフォルトの名無しさん
2009/07/09(木) 12:35:310505デフォルトの名無しさん
2009/07/09(木) 12:39:12最新のバージョンの.NETを使って作られたアプリケーションを動かすことすらできない
0506デフォルトの名無しさん
2009/07/09(木) 12:41:540507デフォルトの名無しさん
2009/07/09(木) 12:44:080508デフォルトの名無しさん
2009/07/09(木) 12:44:220509デフォルトの名無しさん
2009/07/09(木) 12:46:07XPを買うか、VS2005を買うか、テキストエディタとSDKで頑張るか
0510デフォルトの名無しさん
2009/07/09(木) 12:46:182000の場合は、何をダウンロードすればいい?
0511デフォルトの名無しさん
2009/07/09(木) 12:57:59http://www.microsoft.com/japan/msdn/vstudio/express/maninstall/
0512デフォルトの名無しさん
2009/07/09(木) 13:18:322008の一番グレードの低いやつは無料でゲットできなかったっけ?
0513デフォルトの名無しさん
2009/07/09(木) 13:20:460514デフォルトの名無しさん
2009/07/09(木) 13:23:480515デフォルトの名無しさん
2009/07/09(木) 13:30:43SourceObjectからTypeDescriptor.GetProperties()でプロパティ記述子リストを取得。
名前を第一列に、値を第二列にバインドすればいいんじゃ?
WPFでなら軽く作ったことがあるがそこまで難しくないし、というか知識ゼロからTypeBuilderの方がよっぽどきつい。
0516501
2009/07/09(木) 14:31:11第1列はすべて読み取り専用文字列にして、
第2列は、行によってチェックボックスだったり、コンボボックスだったり、
テキストエディタだったり、というふうにできるということですか?
だとすれば次につくるエディタはぜひそれでつくりたい。。。。
P.S
とりあえず、動的なクラス+プロパティ生成によるプロパティグリッドの利用は、
これでほぼ思い通りにできるようになりました。どうもありがとう
0517デフォルトの名無しさん
2009/07/09(木) 15:01:07VisualStudio 2008 Express Editionなんて無いよ
0518デフォルトの名無しさん
2009/07/09(木) 15:12:23MSも各製品の総称として使ってるよ
0519デフォルトの名無しさん
2009/07/09(木) 15:25:160520デフォルトの名無しさん
2009/07/09(木) 15:41:140521デフォルトの名無しさん
2009/07/09(木) 18:25:41正確な製品名は
○ Visual Studio 2008 Express Editions
× VisualStudio 2008 Express Edition
らしいから
www.microsoft.com/japan/msdn/vstudio/express/
0522デフォルトの名無しさん
2009/07/09(木) 18:25:58Visual Studio 2005 Professional Edition
.Net Framework 3.0を使いたいので
ttp://msdn.microsoft.com/ja-jp/library/cc825663.aspx
を参考に
Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit
と
Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - 日本語
をインストールしたのですが、
vs2005で.NET 3.0でビルドする方法がわかりません。
教えてください。
0523デフォルトの名無しさん
2009/07/09(木) 18:29:160524デフォルトの名無しさん
2009/07/09(木) 18:33:54.NET 3.0で開発するためにVS 2008が発売されてるんだ。経緯を考えてくれ。
Hackすればできないことはないという記事を見かけたことはあるが非常にお勧めしがたい。
0525デフォルトの名無しさん
2009/07/09(木) 18:59:12PeekMessageでメッセージを受信したらTranslateMessageとDispatchMessageを
セットで呼んでおくのがお約束、みたいな解説を見たんだけど、
自前で処理するだけのユーザー定義メッセージにはどちらも必要ないよね?
まだ理解が浅いおかげて、今ひとつ確信が持てないんだけど。
0526デフォルトの名無しさん
2009/07/09(木) 19:31:29普通はWndProcをoverrideするだけで十分。
0527デフォルトの名無しさん
2009/07/09(木) 19:55:33あ、なるほど。言われてみればそうですね。
0528デフォルトの名無しさん
2009/07/10(金) 00:38:59.NET 3.0は単なる追加ライブラリだから
参照の追加で必要なアセンブリ参照するだけ。
WPFのデザイナが使いたいとかならそのページにあるように
もう提供されてないから無理。
0529デフォルトの名無しさん
2009/07/10(金) 08:35:34レスありがとうございます。
>.NET 3.0は単なる追加ライブラリだから
>参照の追加で必要なアセンブリ参照するだけ。
そういうことだったんですね。
勘違いしてました。ありがとうございました。
0530デフォルトの名無しさん
2009/07/11(土) 15:24:200531デフォルトの名無しさん
2009/07/11(土) 15:28:340532デフォルトの名無しさん
2009/07/11(土) 15:43:12?????
0533デフォルトの名無しさん
2009/07/11(土) 15:46:590534デフォルトの名無しさん
2009/07/11(土) 15:48:350535デフォルトの名無しさん
2009/07/11(土) 15:51:060536デフォルトの名無しさん
2009/07/11(土) 15:54:21でmscorlib
0537デフォルトの名無しさん
2009/07/11(土) 17:07:360538デフォルトの名無しさん
2009/07/11(土) 17:46:59スプリットコンテナーですが、
上下の分割はできないのでしょうか。
ご存知の方、よろしくお願いします。
0539デフォルトの名無しさん
2009/07/11(土) 17:49:430540デフォルトの名無しさん
2009/07/11(土) 18:02:12mscorlibのCORは、CLRの初期の名称だったComponent Object Runtimeの略。
もちろん、次世代COMとして名前も中身もCOMの影響を受けていて、その思想は現CLRに受け継がれている、
というようなこと、何の本で読んだか思い出せないけど。
0541デフォルトの名無しさん
2009/07/11(土) 18:38:39全てにスプリッターを入れたけど、
1つしか動いてくれません(+_+)。
何かコツはありますか?
0542デフォルトの名無しさん
2009/07/11(土) 18:40:00ありがとうございますっっっ!!!!!!!!!!!!!!!!!
0543デフォルトの名無しさん
2009/07/11(土) 19:38:05いきなり5分割じゃなくて上中下の3分割から練習する
0544デフォルトの名無しさん
2009/07/11(土) 23:30:08ありがとうございます。
0545デフォルトの名無しさん
2009/07/11(土) 23:39:40ノードを選択したとき、初期設定では青色に反転しますが、
反転しているときに、文字が縦に中央揃えになっていません。
この縦位置を中央に指定する方法があれば教えていただけないでしょうか。
0546デフォルトの名無しさん
2009/07/12(日) 01:12:590547デフォルトの名無しさん
2009/07/12(日) 01:43:45何の意味ですか…?
教えてください。
0548デフォルトの名無しさん
2009/07/12(日) 03:03:530549デフォルトの名無しさん
2009/07/12(日) 13:00:08画面の左右にタブを出して自動的に隠すことってできますか?
0550デフォルトの名無しさん
2009/07/12(日) 13:26:290551デフォルトの名無しさん
2009/07/12(日) 13:52:28C#のクラス?
0552デフォルトの名無しさん
2009/07/12(日) 13:57:590553デフォルトの名無しさん
2009/07/12(日) 14:21:55ググったけどなかった。
0554デフォルトの名無しさん
2009/07/12(日) 14:35:360555デフォルトの名無しさん
2009/07/12(日) 14:35:39うそつき
0556デフォルトの名無しさん
2009/07/12(日) 14:40:050557デフォルトの名無しさん
2009/07/12(日) 14:43:17うそつき
0558デフォルトの名無しさん
2009/07/12(日) 14:45:32yahooで見ていました。
0559デフォルトの名無しさん
2009/07/12(日) 14:46:270560デフォルトの名無しさん
2009/07/12(日) 14:49:26DBから固定項目を単票形式で見栄え良く表示させるには、
何が一番適しているでしょうか。
datagridviewでしょうか。
0561デフォルトの名無しさん
2009/07/12(日) 14:53:520562デフォルトの名無しさん
2009/07/12(日) 14:55:13SQLそのものが表示コントロールになるの?
0563デフォルトの名無しさん
2009/07/12(日) 14:55:280564デフォルトの名無しさん
2009/07/12(日) 14:58:380565デフォルトの名無しさん
2009/07/12(日) 15:00:470566デフォルトの名無しさん
2009/07/13(月) 20:35:02タイトル名を表示するエリアがあったのですが
DataGridView にそれらしきプロパティが見つかりません。
DataGridView では CaptionText に相当する機能は切捨てられたのでしょうか?
よろしくお願いします。
0567デフォルトの名無しさん
2009/07/14(火) 18:09:07DataGridViewは単一テーブル表示になったから不要になった
0568デフォルトの名無しさん
2009/07/14(火) 19:39:56そういう経緯があったんですか
ありがとうございます
0569デフォルトの名無しさん
2009/07/15(水) 09:34:20作っているところなのですが、
アプリケーションがアクティブなときは問題ないものの、(毎秒60回呼び出される)
アクティブでなくなったときは20フレーム程度まで落ちてしまいます。
これを回避する方法はありませんでしょうか?
0570デフォルトの名無しさん
2009/07/15(水) 09:46:21呼び出す方法を変える
0571デフォルトの名無しさん
2009/07/15(水) 09:54:37呼び出す方法を変えるとしたら、どのような方法が挙げられますか?
0572デフォルトの名無しさん
2009/07/15(水) 10:26:24タイマーを使うとか、きっちり画面に同期させたいならDirectXを使うとか
0573デフォルトの名無しさん
2009/07/15(水) 10:57:12タイマーでは50ms程度の精度しか出ないので60フレーム(16ms)レベルの処理では使えません。
ずばりDirectXを使用しているプログラムです。
リフレッシュレートが60Hzを超えているディスプレイでも秒間60フレームを維持できるようにしようと考えています。
DirectXのフレーム同期では、結果としてリフレッシュレートに同期することになると思うのですがいかがでしょうか。
0574デフォルトの名無しさん
2009/07/15(水) 12:19:33APIで用意されているタイマーには種類がいくつかあって、約55ms間隔のもあるけど
もう少し速い約16ms間隔というのもある。
で、DirectX使ってるのに同期すると困るの?
0575デフォルトの名無しさん
2009/07/15(水) 12:49:46だからそこ弄るか素直にそういうことやってるの使うと吉
0576デフォルトの名無しさん
2009/07/15(水) 13:14:11描画のタイミングさえあっていれば、更新処理自体は別に等時間間隔で呼び出す必要はないんだから
0577デフォルトの名無しさん
2009/07/15(水) 13:44:12アクティブでないときに50msのウェイトをかける処理が残っていただけでした。
>>574
興味深いですね。そのような精度のタイマー(System.Timer)があるんですね。
System.Threading.Timerとは使い方が微妙に違うようです。
今回は結果として必要なくなったのですが、また必要になったときに詳しく調べてみることにします。
どうもありがとうございます。
0578デフォルトの名無しさん
2009/07/15(水) 13:54:13ほかのウィンドウメッセージと同期的に動かさないといけないので、(フルスクリーンモード切替とか)
他のスレッドを立ててまわすのはまずいんです。
まあ、やってできないことはないんですけどね。
0579デフォルトの名無しさん
2009/07/15(水) 19:07:57PresentationFrameworkを追加し、namespace WindowsFormsApplication1内に
using System.Windows.Controls;
と記述しても
「'System.Windows.Forms.WebBrowser' に 'NavigateToString' の定義が含まれておらず、
型 'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりません
でした。using ディレクティブまたはアセンブリ参照が不足しています。」
とエラー表示されて使用出来ません
同じ名前空間とアセンブリのWebBrowser.Navigate メソッドは問題なく使えるのですが
設定の仕方が間違っているのでしょうか?
0580デフォルトの名無しさん
2009/07/15(水) 19:27:11でWinForm上で表示するならSystem.Windows.Forms.Integration.ElementHostが必要
0581デフォルトの名無しさん
2009/07/15(水) 19:45:350582デフォルトの名無しさん
2009/07/15(水) 20:30:56自前でループ書き、メッセージ処理はApplication.DoEventsで処理させるというのはどう?
0583デフォルトの名無しさん
2009/07/15(水) 20:48:33System.Windows.Forms.Integration.ElementHostが必要ということでまだそれを理解するには時間がかかりそうです
勉強してみます ありがとうございました
>>581
.WebBrowser1.DocumentText = "test";
と書いて表示する事が出来ました
ヘルプから調べられるWebBrowserメンバでtextとかstringで検索しても出てこなかったので
あることすら知りませんでした ありがとうございました
0584デフォルトの名無しさん
2009/07/15(水) 22:17:21Form1.cs
Form2.cs
Form3.cs
:
:
とあってそれらフォームのタイトル、Textを取得することはできますか?
リフレクションでクラス名は取得できたんですが。
そのクラス名からActivator.CreateInstance()してTextも取れるんですが、
どうにも遅いです。
簡単に速い方法があったら教えてください。
0585デフォルトの名無しさん
2009/07/15(水) 22:21:55そんなものが必要になること自体間違っています
まずは考え方を矯正しましょう
0586デフォルトの名無しさん
2009/07/15(水) 22:51:130587デフォルトの名無しさん
2009/07/16(木) 00:09:530588デフォルトの名無しさん
2009/07/16(木) 00:14:51if(hoge!=null){...}
nullチェックってどっちがいいんでしょうか?好みでいいんですね?
0589デフォルトの名無しさん
2009/07/16(木) 00:24:43nullかどうかの問題じゃなくて、
if-else は短い方から書けっていう格言があったりする。
0590デフォルトの名無しさん
2009/07/16(木) 00:28:35constにする必要があるんですがどうすれば良いでしょうか?
0591デフォルトの名無しさん
2009/07/16(木) 00:29:50ありがとうございます。
そんな格言があるんですね。いつも長い方から書いていた。この場合は前者を使用すべきですね。
0592デフォルトの名無しさん
2009/07/16(木) 01:01:03ちょっとそのAPIのDllImportしてるところ書いてみろ
0593デフォルトの名無しさん
2009/07/16(木) 01:19:10DllImportしてるなんて微塵も書いてないが…
0594デフォルトの名無しさん
2009/07/16(木) 01:26:370595デフォルトの名無しさん
2009/07/16(木) 01:39:010596デフォルトの名無しさん
2009/07/16(木) 02:13:15関数ポインタにMarshal.GetDelegateForFunctionPtr使ってデリゲート取得してAPI呼んでるとか?
0597デフォルトの名無しさん
2009/07/16(木) 02:27:35で、してるの?してないの?
0598デフォルトの名無しさん
2009/07/16(木) 02:43:360599デフォルトの名無しさん
2009/07/16(木) 03:35:540600デフォルトの名無しさん
2009/07/16(木) 05:39:310601デフォルトの名無しさん
2009/07/16(木) 08:00:39a πとか?
0602デフォルトの名無しさん
2009/07/16(木) 08:39:34俺にきくな
0603デフォルトの名無しさん
2009/07/16(木) 11:09:05何で一々噛みついてんの?
0604デフォルトの名無しさん
2009/07/16(木) 18:04:110605デフォルトの名無しさん
2009/07/16(木) 18:12:030606デフォルトの名無しさん
2009/07/16(木) 18:43:420607デフォルトの名無しさん
2009/07/16(木) 18:45:370608デフォルトの名無しさん
2009/07/16(木) 19:30:34そんでもTextBox.Textがほにゃららの件は意味分からんけど
0609デフォルトの名無しさん
2009/07/16(木) 19:35:39stringを渡したいけどどうすればいいかと
聞いてるだけとか
んで書き込んだ直後に解決してほったらかし
0610デフォルトの名無しさん
2009/07/16(木) 19:36:510611デフォルトの名無しさん
2009/07/16(木) 19:47:330612デフォルトの名無しさん
2009/07/16(木) 22:54:460613デフォルトの名無しさん
2009/07/16(木) 22:55:580614デフォルトの名無しさん
2009/07/16(木) 23:02:00MONOというものがあるので使ってみたら?
0615デフォルトの名無しさん
2009/07/16(木) 23:21:310616デフォルトの名無しさん
2009/07/17(金) 00:15:330617デフォルトの名無しさん
2009/07/17(金) 00:17:440618デフォルトの名無しさん
2009/07/17(金) 00:52:15とても俺には向いてない。
0619デフォルトの名無しさん
2009/07/17(金) 01:39:12>>603
どのあたりが噛まれてるんだ?
一方的におまいがプッツンしてるようにしかみえん
0620デフォルトの名無しさん
2009/07/17(金) 02:01:20>どのあたりが噛まれてるんだ?
>一方的におまいがプッツンしてるようにしかみえん
↑こういうのが 噛みつく って言うんじゃね?
おまいもプッツンしてるようにしかみえん
0621デフォルトの名無しさん
2009/07/17(金) 02:49:050622デフォルトの名無しさん
2009/07/17(金) 05:41:04プッツンしてるの?
0623デフォルトの名無しさん
2009/07/17(金) 06:35:320624デフォルトの名無しさん
2009/07/17(金) 06:51:440625デフォルトの名無しさん
2009/07/17(金) 06:56:100626デフォルトの名無しさん
2009/07/17(金) 08:49:520627デフォルトの名無しさん
2009/07/17(金) 09:03:57言葉の選び方が古臭いのは何でだろう。書いてる人の年齢が気になるw
0628デフォルトの名無しさん
2009/07/17(金) 09:35:04単発のフリもしてそうだな
0629デフォルトの名無しさん
2009/07/17(金) 11:30:48Validatingでやるのがいいようだけど問題もいろいろあるみたいで悲しい。
いまいちValidatingが発生する条件が分からん。
TextBox1にいてフィールド移動するとなぜかTextBox5のValidatingが発生したりする・・・
その時はTextBox5でエラー値入れてESCキャンセルでTextBox5のValidatingをスキップするようにしてTextBox1にフォーカス移動してる。
スキップはここ参考にした。http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29042&forum=7
で、TextBox1からフィールド移動するとなぜかTextBox5のValidatingが発生・・・
VS2003だけど古いから変なのかな?
マシン古いからVS2003でも遅いぜよ(Delphi2007はさくさく動いてるけど)
0630デフォルトの名無しさん
2009/07/17(金) 12:40:20リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの
関連付けがおかしくなるよ。
そういう変なことはやってないと言い切れるなら、あとは…
別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで
イベントの発生する順序が変わるってのがある。
ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.validated.aspx
0631デフォルトの名無しさん
2009/07/17(金) 15:13:10doc.LoadXml("file.xhtml");
こんな感じで、DOCTYPE宣言のあるxhtmlを読み込んでみたんですが、
たかだか4kくらいのファイルでも1分はかかってしまいます。
こういう仕様なのでしょうか。
0632デフォルトの名無しさん
2009/07/17(金) 15:33:240633デフォルトの名無しさん
2009/07/17(金) 16:33:00> リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの
それは触ってない、っていうかC#始めたばっかりで
リソースファイルが何なのか分からなかったり。
> 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで
> イベントの発生する順序が変わるってのがある。
その情報は見つけて問題ないようにはしたんだよねー
なんとなくこれと同じ感じなのかなって気が。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22041&forum=7
仕様なのか・・・ ウヒー
0634デフォルトの名無しさん
2009/07/17(金) 18:50:08仕様じゃしょうがないよね。
イベントの発生順序はコントロールできないから、
グローバル変数に状態を覚えておいて
自前で制御ってのはよく使う手。
0635デフォルトの名無しさん
2009/07/17(金) 18:57:43使ってないですー
0636デフォルトの名無しさん
2009/07/17(金) 19:07:54DOCTYPE宣言でttp://のDTD読み込んでないの?
0637デフォルトの名無しさん
2009/07/17(金) 23:08:32static extern Int32 recv(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);
こんな風にしてDLLを直接呼び出すんだけどwsock32.dllの方も同時に使いたい場合はどう書けばいいの?
例えばwinsock32の方はrecv1でws2_32の方はrecv2で呼び出せるようにしたい
直接呼び出すことに意味のあるプログラムなんで、他に便利なクラスがあるだろとか
片方だけ使えとかそういうのは無しの方向でお願いします
0638デフォルトの名無しさん
2009/07/17(金) 23:20:27static extern Int32 recv1(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);
[DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)]
static extern Int32 recv2(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);
0639デフォルトの名無しさん
2009/07/17(金) 23:22:03[DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")]
static extern Int32 recv1(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);
[DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")]
static extern Int32 recv2(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);
0640637
2009/07/17(金) 23:22:370641デフォルトの名無しさん
2009/07/17(金) 23:23:20その通りでした。どもども
0642デフォルトの名無しさん
2009/07/17(金) 23:28:010643デフォルトの名無しさん
2009/07/18(土) 00:31:37...ではなく…になるのは日本固有の領土ですか?
0644デフォルトの名無しさん
2009/07/18(土) 00:40:12フォントの問題では?
欧文フォントだと「…」のグリフが、 ... のように下のほうに点が配置されているのはよくあるよ。
実際、MS Sans Serif、TahomaやSegoe UIとかの歴代の欧米のUIフォントも軒並みそうなっている。
0645デフォルトの名無しさん
2009/07/18(土) 00:50:210646デフォルトの名無しさん
2009/07/18(土) 01:32:11まぎらわしいからやめてほしいんだが
0647デフォルトの名無しさん
2009/07/18(土) 02:35:20簡単にいってよー
プロばかりじゃないんだよー
0648デフォルトの名無しさん
2009/07/18(土) 02:56:53JITに任せておけば勝手に上手い事やってくれる。 これだけ頭に入れときゃおk
0649デフォルトの名無しさん
2009/07/18(土) 08:09:13同じ約物であっても言語によって組み方が変わるのはよくあること。
0650デフォルトの名無しさん
2009/07/18(土) 19:25:570651デフォルトの名無しさん
2009/07/18(土) 19:34:24「割り当てる」ってなにをすること?
0652デフォルトの名無しさん
2009/07/18(土) 20:16:550653デフォルトの名無しさん
2009/07/19(日) 20:46:16c:\temp\01.dat
c:\temp\02.dat
c:\temp\03.dat
c:\temp\04.dat
c:\temp\05.dat
List<string> hogeB の中身
01.dat
03.dat
05.dat
hogeAのうち、hogeBに含まれない
c:\temp\02.dat
c:\temp\05.dat
を残し、これをあらためてhogeAとしたいです。
これを実現するにはどのようにプログラムを組めばよろしいでしょうか?
0654デフォルトの名無しさん
2009/07/19(日) 20:49:532. 各要素が hogeB に含まれているか判断する
3. 含まれていなければ、 hogeC に追加
4. これを繰り返す
5. hogeC を hogeA に設定
0655デフォルトの名無しさん
2009/07/19(日) 20:50:280656デフォルトの名無しさん
2009/07/19(日) 20:57:53http://ufcpp.net/study/csharp/sp3_stdqueryo.html#set
0657デフォルトの名無しさん
2009/07/19(日) 20:59:010658デフォルトの名無しさん
2009/07/19(日) 21:01:20突き詰めればその通り。
List<T>.ExistsとかEnumerable.Exceptで見た目上のループは減らせるけどな。
0659デフォルトの名無しさん
2009/07/19(日) 21:03:31お任せしちゃうのではなく、一度は自分で実装してみることをお勧めするよ。
0660デフォルトの名無しさん
2009/07/19(日) 21:24:420661デフォルトの名無しさん
2009/07/19(日) 22:47:220662653
2009/07/19(日) 23:08:25for (int i = 0; i < hogeB.Count; i++){
hogeA.removeAll(
delegate(string s)
);
}
0663653
2009/07/19(日) 23:10:26removeAllメソッドを使って除去しようと試みました。
for (int i = 0; i < hogeB.Count; i++){
hogeA.removeAll(
delegate(string s)
{
s == @"c:\temp\" + hogeB[i];
}
);
}
ただこれだとコンパイル時にエラーが発生してしまいました。
どこか書き方に間違いでもあるでしょうか?
0664デフォルトの名無しさん
2009/07/19(日) 23:16:010665653
2009/07/19(日) 23:20:54匿名メソッド' から 'System.Predicate<string>' に変換できません。
割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。
表示されているエラーはこの3つでした
0666デフォルトの名無しさん
2009/07/19(日) 23:22:06returnをしてないし
0667653
2009/07/19(日) 23:38:18そういうことでしたか( ̄□ ̄;)!!
for (int i = 0; i < hogeB.Count; i++){
hogeA.removeAll(
delegate(string s)
{
if ( s == @"c:\temp\" + hogeB[i] )
return true;
else
return false;
}
);
}
で、ひとまずはビルドは通ったようです。
これで様子を見てみます。
ありがとうございました。
ちなみにこれよりもっとスマートな記述方法はあると思いますか?
ベースは C#2.0 + .Net Framework2.0 ということで。
0668デフォルトの名無しさん
2009/07/19(日) 23:39:510669デフォルトの名無しさん
2009/07/19(日) 23:40:280670デフォルトの名無しさん
2009/07/19(日) 23:41:36removeAll( (s)=>(s == @"c:\temp\" + hogeB[i]) );
0672デフォルトの名無しさん
2009/07/19(日) 23:49:55おまえが勝手に複雑に書いてるだけだろ……
0673デフォルトの名無しさん
2009/07/19(日) 23:50:590674デフォルトの名無しさん
2009/07/20(月) 01:37:432005 でも LINQ 使えるようにできるだろ
0675デフォルトの名無しさん
2009/07/20(月) 01:39:090676デフォルトの名無しさん
2009/07/20(月) 01:43:142008で.NET 2.0対象のときでもラムダ式を含むC# 3.0の構文が使えるということとごっちゃにしていない?
0677デフォルトの名無しさん
2009/07/20(月) 02:12:31Expressでいいからとっとと2008にすべき
0679デフォルトの名無しさん
2009/07/20(月) 02:18:560680デフォルトの名無しさん
2009/07/20(月) 02:27:11地頭か?何だ?簡単に頼むよ
0681デフォルトの名無しさん
2009/07/20(月) 02:47:26λ...... ザッザッザッ… λ...... λ......λ...... λ...... λ......
λ...... λ......λ...... λ...... λ......
樹 λ...... λ...... λ......λ...... λ...... λ......
海 λ...... λ......λ...... λ...... λ......
← λ...... λ......λ...... λ...... λ......
λ......λ...... λ...... λ......
λ...... λ...... λ...... λ...... λ...... λ......トボトボ
ザッザッザッザ…
0682デフォルトの名無しさん
2009/07/20(月) 02:49:36どうして?
>>681
ちょっwwwww
0683デフォルトの名無しさん
2009/07/20(月) 09:25:26ラムダ式なんて無理に使う必要ねーよ。
0684デフォルトの名無しさん
2009/07/20(月) 10:15:07簡潔さ以外にメリットある?
そして簡潔さによる保守性低減のトレードオフって収支は本当にプラス?
0685デフォルトの名無しさん
2009/07/20(月) 10:21:062chスレのラムダ支持層レベルだとトレードオフにはならないね。
無駄に使いたがる印象しかない。
0686デフォルトの名無しさん
2009/07/20(月) 11:39:29遠く離れたところに1行関数を作って呼ぶよりも、ラムダにしたほうが簡潔で保守性は良くなるね。
それ以上に凝るのは趣味の世界だね〜。
0687デフォルトの名無しさん
2009/07/20(月) 11:40:53その場に処理書かないとかえって見づらい場合ない?
1・2行だけDispatcher.Invokeしたいときとか、
変換テーブル作りたいときとか。
要するに↓みたいな。
Dispatcher.BeginInvoke(() => { OutputText.Text = hoge; });
var table = new Dictionary<string, Func<int, int>> {
{ "TypeA", x => x * x },
{ "TypeB", x => Math.Abs(x) },
...
0688デフォルトの名無しさん
2009/07/20(月) 11:43:01あと、ローカル変数をキャプチャしたい場合、
ラムダ(というか匿名デリゲート)がなかったら
わざわざinnerクラス1個書かなきゃいけなくなるしねぇ。
0689デフォルトの名無しさん
2009/07/20(月) 11:48:18デリゲート使えば遠くに関数作る必要はない。
0690デフォルトの名無しさん
2009/07/20(月) 12:07:54まあ最初からラムダが使えれば匿名メソッドはあんまいらんけど。
濫用するような話とはまた別ね。
0691デフォルトの名無しさん
2009/07/20(月) 12:18:38あれもでも、C# 開発者曰く
「ラムダを先に導入してたらdelegate構文なんて用意しなかった」
って言ってるしなぁ。
0692デフォルトの名無しさん
2009/07/20(月) 12:29:58匿名メソッドの唯一のメリットはパラメータを省略できることだけど、
それだけのために表記のゆらぎを許す価値があるかどうか
0693デフォルトの名無しさん
2009/07/20(月) 12:37:410694デフォルトの名無しさん
2009/07/20(月) 12:44:380695デフォルトの名無しさん
2009/07/20(月) 12:47:320696デフォルトの名無しさん
2009/07/20(月) 12:56:09わかりにくいとかいうのは無意味だな
0697デフォルトの名無しさん
2009/07/20(月) 13:12:06引数の型を省略できることの分かりづらさってのはどうなの。
0698デフォルトの名無しさん
2009/07/20(月) 13:12:590699デフォルトの名無しさん
2009/07/20(月) 13:31:530700デフォルトの名無しさん
2009/07/20(月) 14:07:200701デフォルトの名無しさん
2009/07/20(月) 14:29:340702デフォルトの名無しさん
2009/07/20(月) 14:50:590703デフォルトの名無しさん
2009/07/20(月) 15:00:41462 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 20:59:27
LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?
469 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 21:58:25
テストまで1/3にしないでください。
702 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/20(月) 14:50:59
ラムダ厨はテスト端折るので一緒に仕事したくない。
余程な職場環境におかれておられる様で
無様で惨めだな
0704デフォルトの名無しさん
2009/07/20(月) 15:07:01ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。
それともあれか?報われないのを褒めて欲しいのか?
そういうのはマ板でやってくれよ。
0705デフォルトの名無しさん
2009/07/20(月) 15:08:26今はまだ2.0のほうが意思合わせ楽そうだけど
0706デフォルトの名無しさん
2009/07/20(月) 15:13:06どこの初心者スレも似たようなもんだけどな
javaスレとか
明らかに底辺ドカタのストレス発散場になってる
そんなことをしていてもお前の暮らしは向上しないのにな
0707デフォルトの名無しさん
2009/07/20(月) 15:19:570708デフォルトの名無しさん
2009/07/20(月) 15:22:040709デフォルトの名無しさん
2009/07/20(月) 15:28:410710デフォルトの名無しさん
2009/07/20(月) 15:41:380711デフォルトの名無しさん
2009/07/20(月) 15:43:42情報が載ってる本かサイトを教えてもらえると嬉しいです。
例えば、Mac風デザインのような感じです。
0712デフォルトの名無しさん
2009/07/20(月) 15:49:45GUI ツールキットを使うことになるんだろうけど、あんまりないなぁ。
Qt は使えるんだっけ。
0713デフォルトの名無しさん
2009/07/20(月) 15:51:32デザインは自由自在
0714デフォルトの名無しさん
2009/07/20(月) 16:02:310715デフォルトの名無しさん
2009/07/20(月) 16:05:140716デフォルトの名無しさん
2009/07/20(月) 16:13:32その内側では何でもできそうな感じで、かなり素晴らしいのですが。
0717デフォルトの名無しさん
2009/07/20(月) 16:13:430718デフォルトの名無しさん
2009/07/20(月) 16:16:47なるほど。WPFをMSサイトで勉強してきます。
参考になりました。ありがとう。
0719デフォルトの名無しさん
2009/07/20(月) 17:10:08しかし、今までスクリプター(Perl, JavaScript, Ruby)で、
GUIアプリケーションの制作経験は皆無であるため、
Visulal Studio でGUIアプリケーションを作る方法がよく理解できません。
何となくならいじれるのですが、体系的に勉強するにはどうするのがオススメでしょうか?
0720デフォルトの名無しさん
2009/07/20(月) 17:14:19畳の上の水泳より、下手でもとにかく水の中で泳ぐほうが学習効率高いんじゃない?
GUIは特にそうだと思うけど。
(必要なら)体系的学習は後追いでもできるし。
0721デフォルトの名無しさん
2009/07/20(月) 17:22:27入門書は全てcsc.exeを使ってコンソールで作業していたので、
まずは、チュートリアル的なサンプルアプリケーションを何個か作りたいんですよね。
広く浅くでいいので、VSおよびGUIアプリ制作を把握したいのですが、
MS公式の解説書は何だかMSDNチュートリアル同様で、入門の入門という感じだし、
他の入門書は、VSについてほとんど書かれていないしで困っています。
訳分からなくてもとりあえず慣れるがベストなのかなぁ? やはり。
0722デフォルトの名無しさん
2009/07/20(月) 17:31:14方向性は決めなくていいから
0723デフォルトの名無しさん
2009/07/20(月) 17:36:17具体的な実装は、システム要件に応じて考えるし。
0724デフォルトの名無しさん
2009/07/20(月) 18:04:40C#でcsc.exeを使わせる入門書って、なんて悪書?
0725デフォルトの名無しさん
2009/07/20(月) 18:11:30C#できると言ってcsc.exe使えないなんて話もあるまい
0726デフォルトの名無しさん
2009/07/20(月) 18:23:13独習C#です……。プログラミングC#は、最初からは敷居高いかなと思って。
0727デフォルトの名無しさん
2009/07/20(月) 20:06:490728デフォルトの名無しさん
2009/07/20(月) 21:31:56あーあ、かっちゃったかw
0729デフォルトの名無しさん
2009/07/20(月) 21:33:180730デフォルトの名無しさん
2009/07/20(月) 23:47:040731デフォルトの名無しさん
2009/07/20(月) 23:53:31GUIオンリーだった俺はRonRやってるがスクリプトわけわかめw
0732デフォルトの名無しさん
2009/07/21(火) 01:34:190733デフォルトの名無しさん
2009/07/21(火) 02:06:530734デフォルトの名無しさん
2009/07/21(火) 02:30:500735デフォルトの名無しさん
2009/07/21(火) 02:47:470736デフォルトの名無しさん
2009/07/21(火) 03:10:41wwwwwwwwwwwwwww
0737デフォルトの名無しさん
2009/07/21(火) 03:38:19デレゲートなんて意味がわからんわ
0738デフォルトの名無しさん
2009/07/21(火) 03:54:37なんでいちいち全部の関数のdelegateを定義して呼ばないといけないんだ
0739デフォルトの名無しさん
2009/07/21(火) 04:28:36じゃあdeleで
0740デフォルトの名無しさん
2009/07/21(火) 05:28:150741デフォルトの名無しさん
2009/07/21(火) 08:26:300742デフォルトの名無しさん
2009/07/21(火) 08:35:08FuncとかActionがあるけど
0743デフォルトの名無しさん
2009/07/21(火) 09:49:41キーワードの省略は最悪。
Unix 系のライブラリとか、ときどき見れたもんじゃないのがある。
C# は省略形のキーワード1つもないでしょ。
>>738
型安全性のため。
0744デフォルトの名無しさん
2009/07/21(火) 14:15:48そうなると別にどういう構文でもタイプセーフなら良いことになるでしょ
実際にそうなってるしね
0745デフォルトの名無しさん
2009/07/21(火) 15:28:29下記のようなことって、C#だとどう書くんですか?
ひとつひとつFile.ReadしてFile.Writeしないとだめですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
0746デフォルトの名無しさん
2009/07/21(火) 15:45:26ソースコード丸見え・・・
0747デフォルトの名無しさん
2009/07/21(火) 15:47:34File.ReadAllText()で読んでFile.AppendAllText()で追加してけば楽なんじゃない
使ったことないけどw
0748デフォルトの名無しさん
2009/07/21(火) 15:48:12難読化くらいはしてるかもね
でも初心者には関係ないよ
お前のコードなんてわざわざ見る気にもならないからね
0749デフォルトの名無しさん
2009/07/21(火) 15:53:53やっぱりそれしかないんだ…。
配列に配列を追加するにはどうしたらよいですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
string[] keywords = File.ReadAllLines("file01.txt");
keywords = keywords + File.ReadAllLines("file02.txt");
keywords = keywords + File.ReadAllLines("file03.txt");
keywords = keywords + File.ReadAllLines("file04.txt");
とかで追加できるんですか?
0750デフォルトの名無しさん
2009/07/21(火) 15:55:06「ゲームは作れますか?」と「中身の暗号化できますか?」は。
少なくともそんなことを聞かなきゃ分からない内は全く関係のない話だ。
0751デフォルトの名無しさん
2009/07/21(火) 15:56:33配列ってさあ
string[] strArray = new string[]{ "aaaaa" , "bbbbb" , "ccccc" }
こう書けるのは分かる?
0752デフォルトの名無しさん
2009/07/21(火) 16:00:45いくら初心者用スレとはいえ、ぐぐろうぜw
配列の書き方とかならとこにでも書いてあるよ
0753デフォルトの名無しさん
2009/07/21(火) 16:06:25string[] fileNameArray = new string[] { "a.txt", "b.txt", "c.txt" };
System.IO.File.WriteAllText(newFileName, String.Concat(fileNameArray.Select((str) => System.IO.File.ReadAllText(str))));
こんなのとか。
某λ嫌いの奴はレスすんなよ。
お前の意見は聞いてないから。
0754デフォルトの名無しさん
2009/07/21(火) 16:10:190755デフォルトの名無しさん
2009/07/21(火) 16:13:120756デフォルトの名無しさん
2009/07/21(火) 16:21:21wwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0757デフォルトの名無しさん
2009/07/21(火) 16:29:560758デフォルトの名無しさん
2009/07/21(火) 16:44:11http://schiphol.2ch.net/test/read.cgi/gameurawaza/1247667748/303
0759デフォルトの名無しさん
2009/07/21(火) 16:47:46いいから仕事してろよ。
0760デフォルトの名無しさん
2009/07/21(火) 17:03:28Basic言語で記述されたソフトウェアの処理効率を上げるため
[ ]レベルで書き直すことにしました。
[ ]内に当てはまる言葉を入れよ。
0761デフォルトの名無しさん
2009/07/21(火) 17:06:21それは簡単そうです。
しかしながら、
エラー 'System.Array' に 'Select' の定義が含まれておらず、型 'System.Array' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
とエラーです。
0762デフォルトの名無しさん
2009/07/21(火) 17:06:43馬鹿には理解できないだろうけどw
0763デフォルトの名無しさん
2009/07/21(火) 17:08:290764デフォルトの名無しさん
2009/07/21(火) 17:09:20俺はそんな手には引っかからん。
俺の答えは「アセンブラ」だ
0765デフォルトの名無しさん
2009/07/21(火) 17:10:060766デフォルトの名無しさん
2009/07/21(火) 17:10:33不正解
答えは>>758
0767デフォルトの名無しさん
2009/07/21(火) 17:10:46しかも書いた本人も単体テストの項目を列挙できない。まじ死ねよって感じ。
0768デフォルトの名無しさん
2009/07/21(火) 17:11:150769768
2009/07/21(火) 17:11:420770デフォルトの名無しさん
2009/07/21(火) 17:13:07CPUコアのエミュレーション部分をチマチマ最適化するのではなく、設計からやり直せばいいのに。
と俺は解釈した
0771デフォルトの名無しさん
2009/07/21(火) 17:22:12互換性を完全に捨てて0から設計し直せばもっともっといいものができる。
と言いたいのでは?
0772デフォルトの名無しさん
2009/07/21(火) 17:40:020773デフォルトの名無しさん
2009/07/21(火) 17:42:580774デフォルトの名無しさん
2009/07/21(火) 17:43:43Console.WriteLine("あひゃひゃ");
というコマンドを使うわけだけど、これだとこの命令文を繰り返し使って表示させると文字列は
画面下から上へ流れていくように表示されてしまう。
そうではなく、画面の最下部に常に表示され、上へスクロールされないようにするにはどうしたら
いいんだろうか?
0775デフォルトの名無しさん
2009/07/21(火) 17:52:40なんで上から目線なんですか?
0776デフォルトの名無しさん
2009/07/21(火) 18:05:16あるのか知らないけどな!
0777デフォルトの名無しさん
2009/07/21(火) 18:05:380778デフォルトの名無しさん
2009/07/21(火) 18:15:53えっ?
0779デフォルトの名無しさん
2009/07/21(火) 18:21:33\rを書いてみたらどう?
0780デフォルトの名無しさん
2009/07/21(火) 18:29:34Console.SetCursorPosition()さえあれば不可能はない
0781デフォルトの名無しさん
2009/07/21(火) 18:38:08次メッセージ出すときにバックスペースで消して再度出力ってやったことはある。
0782デフォルトの名無しさん
2009/07/21(火) 19:20:480783デフォルトの名無しさん
2009/07/21(火) 19:29:260784デフォルトの名無しさん
2009/07/21(火) 19:36:290785デフォルトの名無しさん
2009/07/21(火) 19:58:30mono
0786デフォルトの名無しさん
2009/07/21(火) 20:08:08「誰かをピクッとさせる発言」っていう釣りらしいからほっとけ
って釣られた後で言っても仕方ないか
0787デフォルトの名無しさん
2009/07/21(火) 20:22:000788デフォルトの名無しさん
2009/07/21(火) 23:30:060789デフォルトの名無しさん
2009/07/21(火) 23:51:030790デフォルトの名無しさん
2009/07/22(水) 00:19:010791デフォルトの名無しさん
2009/07/22(水) 00:39:00テンプレ貼ってる最中に発言するな
0792デフォルトの名無しさん
2009/07/22(水) 01:04:28それって楽しいのか真面目な話。
0793デフォルトの名無しさん
2009/07/22(水) 01:15:520794デフォルトの名無しさん
2009/07/22(水) 08:34:59クラスのメソッド内(ただし、呼び出すメソッドの数は多く、かつ深い)
でそれらの値を変更したいと思っています。
できればメンバ変数のポインタにアドレスを格納しておきたかったのですが、
C#ではポインタを使おうとすると制約が多すぎてうまくいきません。
かといって参照にするとメンバ変数に一旦保存しておくということができないので、
値の方だけ保存しておいてメソッド呼び出しの最後で参照に代入するか、
下記のやり方2のように参照をそのまま使っていくか悩んでいます。
int n; // メンバ変数
// やり方1
void Proc1(ref int ref_n){
n=ref_n;
n=Calc(n);
ref_n=n;
}
// やり方2
void Proc2(ref int ref_n){
Change(ref ref_n);
}
変数・オブジェクトを取る引数が1個や2個ならいいんですが、5つぐらいあるので、
やり方1だと引数が増えるたびにコピー作業が増えてしまいます。
本当ならば構造体(もしくはクラス)にでもしたいのですが、これらの引数達に関連性がないため、
呼び出し元では構造体などにまとめるわけにはいきません。そのため、処理後に
変数それぞれに構造体のメンバ変数を代入していく、面倒なコピー作業が必要になります。
どういう手段を取るのが最善なのか、アドバイスをいただけないでしょうか?よろしくお願いします。
0795デフォルトの名無しさん
2009/07/22(水) 08:39:37やり方2だと、たくさんメソッドを深く呼び出すわけなので、引数の多さで大変になります。
(また、今後さらに引数を追加する可能性もある)
0796デフォルトの名無しさん
2009/07/22(水) 09:19:24てか、Proc1 自体を int Proc1(int) にするのはダメなの?
0797デフォルトの名無しさん
2009/07/22(水) 09:53:17例では引数1つでしたが、引数は実際にはもっとたくさんあって、
さらに今後必要に応じて追加される可能性があります。
そうなると最初の「メンバ変数=参照」と最後の「参照=メンバ変数」が多くなって
煩雑になるかも知れない、ということを懸念しています。
どうにかして……ポインタに近い実装ができれば理想なのですが。
0798デフォルトの名無しさん
2009/07/22(水) 10:13:34なんだかすごく設計が間違っているような気がするのは気のせいか?
0799デフォルトの名無しさん
2009/07/22(水) 10:25:43プロパティやイベントを使えばなんとでもなりそうな気がするんだが。
0800デフォルトの名無しさん
2009/07/22(水) 11:19:27refに頼れるってことはどうせパブリックフィールドだらけなんだろ?
0801デフォルトの名無しさん
2009/07/22(水) 15:41:25public static string CmsAntiForgeryToken<TModel>(
this HtmlHelper<TModel> htmlHelper, Func<TModel, AntiForgeryToken> getToken
) where TModel : class
{
AntiForgeryToken token = getToken(htmlHelper.ViewData.Model);
以下略
0802デフォルトの名無しさん
2009/07/22(水) 15:43:550803デフォルトの名無しさん
2009/07/22(水) 15:47:420804801
2009/07/22(水) 15:51:240805デフォルトの名無しさん
2009/07/22(水) 15:53:300806794
2009/07/22(水) 21:12:17確かに、設計が間違ってるかも知れませんね…。
パブリックフィールドは極力排除するように心がけているんですが。
どういう設計にすべきか助言をいただけませんか?
0807デフォルトの名無しさん
2009/07/22(水) 21:21:490808デフォルトの名無しさん
2009/07/22(水) 21:37:33わかりました。
ただ、公開用のソフトを作っているため、元が長いのをカットする点と、
あまり詳しくは書けないという点はご容赦ください。
骨組みを書いてみたいと思いますので、しばらくお待ちください。
0809デフォルトの名無しさん
2009/07/22(水) 21:39:500810794
2009/07/22(水) 21:55:34http://www1.axfc.net/uploader/Sc/so/19879
(パスはcsharp)
0811デフォルトの名無しさん
2009/07/22(水) 21:57:510812デフォルトの名無しさん
2009/07/22(水) 22:00:020813デフォルトの名無しさん
2009/07/22(水) 22:00:40ttp://www.thinkit.co.jp/article/40/3/
0814デフォルトの名無しさん
2009/07/22(水) 22:02:52間違ってる間違ってないじゃなくて,脳の構造から叩き直さないといけないレベル
0815デフォルトの名無しさん
2009/07/22(水) 22:04:010816デフォルトの名無しさん
2009/07/22(水) 22:04:09クラス図については、これから学んでおきたいと思います。
コードを挙げてしまいましたが、その中で気づいた点があればお願いします。
0817デフォルトの名無しさん
2009/07/22(水) 22:09:11何をする関数なのかきちんと考えればもっと細かく分けられるでしょ?
0818デフォルトの名無しさん
2009/07/22(水) 22:15:06オブジェクト指向を1から勉強し直した方がいいようですね。
気づくいい機会になりました。
>>817
そうなんですかorz 私としてはうまくまとめたつもりだったんですが、
逆に悪い方向へ行ってしまっていたようですね…。
0819デフォルトの名無しさん
2009/07/22(水) 22:16:410820デフォルトの名無しさん
2009/07/22(水) 22:22:48頼んだ
0821デフォルトの名無しさん
2009/07/22(水) 22:24:04どうせグローバル変数(staticフィールドなら実質的には同じだよ)使うなら
scoreの値を直接変更すればいいじゃん
0822デフォルトの名無しさん
2009/07/22(水) 22:24:520823794
2009/07/22(水) 22:30:16グローバル変数と実質同じなんですか…。
呼び出し元にあるscoreをpublic staticにして「呼び出し元クラス.score=○○」としろ、ということですか?
いずれにしても設計が根本的に間違っていたようなので、
オブジェクト指向に沿った設計に作り変えたいと思っています。
0824デフォルトの名無しさん
2009/07/22(水) 22:35:240825デフォルトの名無しさん
2009/07/22(水) 22:37:56早くしろよ
0826デフォルトの名無しさん
2009/07/22(水) 22:38:20ゲームの点数を保持するクラスのインスタンスをただ一つだけ作ってそれを持ち回ることに
なるだろうけど,それだってグローバル変数と大して変わらない
形式じゃなくて,実質的な意味を考えようよ
先の問題だって,MainProcを呼び出すためには必ず呼び出し元に点数を保持する変数が
必要になるわけだから,切り離した意味がない
0827デフォルトの名無しさん
2009/07/22(水) 22:40:21全く違う。
0828デフォルトの名無しさん
2009/07/22(水) 22:41:33当たり判定はキャラクターだけで完結できるような気がした
0829デフォルトの名無しさん
2009/07/22(水) 22:51:40ほほう、シングルトンと共通変数の違いのご高説を聞かせてもらおうか?
0830デフォルトの名無しさん
2009/07/22(水) 22:54:510831デフォルトの名無しさん
2009/07/22(水) 22:57:300832デフォルトの名無しさん
2009/07/22(水) 23:05:53{
public event EventHandler<ScoreChangeEventArgs> ScoreChange;
public event EventHandler<LetharlHitEventArgs> LethalHit;
public event EventHandler<SpEnergyChangeEventArgs> SpEnergyChange;
private List<MyObject> objList = new List<MyObject>();
public AddObj(MyObject obj){
objList.Add(obj);
}
public DellObj(MyObject obj){
objList.Remove(obj);
}
public MainProc(){
foreach(MyObject obj in objList)
{
当たり判定_キャラクター(obj);
当たり判定_飛び道具(obj);
当たり判定_アイテム(obj);
}
}
}
シングルトンとかグローバル変数とかは置いといて
こんな感じにイベント駆動的にするのはどうか
0833デフォルトの名無しさん
2009/07/22(水) 23:10:15じゃあProgramクラスのプロパティでScoreを持っても同じことだよね
0834デフォルトの名無しさん
2009/07/22(水) 23:26:08ただプロパティだとそのプロパティを読みに行く適切なタイミングを知ってなきゃいけない
それだけ依存?が増えるという考え方はどうだろう
0835デフォルトの名無しさん
2009/07/23(木) 00:03:49objを主役にすると見通しが良くなる気がする
0836デフォルトの名無しさん
2009/07/23(木) 00:08:58OOP的には普通は逆だと思うよw
Player.HitTest(obj)だろう。
いずれにせよ実際のゲームプログラミングではどっちの方法も取らないと思うけど。
0837デフォルトの名無しさん
2009/07/23(木) 00:17:45その中でobj.HitTest(player)を呼ぶんだよ
objはキャラ、飛び道具、アイテムとか、MyObjectからそれぞれ派生させたクラスにしておく
そしてポリモーフィズムで処理を場合分けする
0838デフォルトの名無しさん
2009/07/23(木) 00:22:15オブジェクトの領域を表すインターフェイス(IRectangle とかIRegionとかみたいなかんじ)
さえ実装されてれば、そこから引っ張れる情報と自キャラの同じインターフェイスとで
できちゃうじゃん。
0839デフォルトの名無しさん
2009/07/23(木) 00:31:120840デフォルトの名無しさん
2009/07/23(木) 00:36:50自キャラにバイタリティの概念があって、かつ敵キャラに「ダメージ力」みたいな
概念があることを想定しているのかな?
それにしたってポリモーフィズムなんていらんと思うけど。
当たり判定に必要な情報をまとめたインターフェイス(IHitTesteeとか?変かな)
さえ実装されてれば必要十分でしょ。
0841デフォルトの名無しさん
2009/07/23(木) 00:45:52そういう場合なら確かに敵キャラ側に判定を投げる必要があるのかも。
まあゲーム作ったことないからわかんないや。
0842デフォルトの名無しさん
2009/07/23(木) 00:53:09演算子みたいなもんだ
0843デフォルトの名無しさん
2009/07/23(木) 01:18:564.0ならdynamicでトリプルでもカドラプルでも多重ディスパッチ!
0844デフォルトの名無しさん
2009/07/23(木) 03:09:140845デフォルトの名無しさん
2009/07/23(木) 07:10:44ex.
void Method(Form form)
{
form.Text = "aho";
}
これを別のクラスから使う
0846デフォルトの名無しさん
2009/07/23(木) 07:43:160847デフォルトの名無しさん
2009/07/23(木) 07:45:320848デフォルトの名無しさん
2009/07/23(木) 07:46:520849デフォルトの名無しさん
2009/07/23(木) 07:55:140850デフォルトの名無しさん
2009/07/23(木) 08:00:020851デフォルトの名無しさん
2009/07/23(木) 09:04:15フレームベースのゲームみたいだから更新が反映されるタイミングは決まってる
値が変更された瞬間などというのはあんまり意味がない
0852デフォルトの名無しさん
2009/07/23(木) 09:06:14この辺り見れ
http://ufcpp.net/study/csharp/oo_reference.html#difference
0853デフォルトの名無しさん
2009/07/23(木) 10:36:34何で駄目にするのか理解できない
0854デフォルトの名無しさん
2009/07/23(木) 10:43:50Delegateクラスはデリゲート型じゃなくてクラス型だから暗黙的には変換できない
デリゲート型っていうのはdelegateキーワードを使用して定義された型のこと
Delegate型だとラムダ式の引数の型や戻り値の型を何にすればいいかコンパイラが分からないだろ
0855デフォルトの名無しさん
2009/07/23(木) 11:12:420856デフォルトの名無しさん
2009/07/23(木) 11:26:390857デフォルトの名無しさん
2009/07/23(木) 11:54:31これだとラムダ式の型が何になるのかわからない。
(Delegateクラスは抽象クラスなのでDelegateクラスのインスタンスを直接作ることはできない)
それに,型に関してコンパイラに対するヒントが一切ないので,xの型や,ラムダ式の戻り値の型を推論できない。
Delegate hoge = (Func<int, string>)(x => x.ToString());
これならxの型もラムダ式の戻り値の型もラムダ式自体の型も決まるのでOK。
0858デフォルトの名無しさん
2009/07/23(木) 11:56:410859デフォルトの名無しさん
2009/07/23(木) 13:06:560860デフォルトの名無しさん
2009/07/23(木) 13:38:42DynamicInvokeメソッドは両方にある。
Invokeメソッドは引数や戻値が一定でないため、
インターフェイスや抽象クラスにできない。
0861デフォルトの名無しさん
2009/07/23(木) 16:03:37これはどうなるんだろうな
dynamicの仕組みから考えるとできてもおかしくないけど
0862デフォルトの名無しさん
2009/07/23(木) 16:25:47さすがに、ジェネリックデリゲートみたいなのはサポートされない。
0863794
2009/07/23(木) 17:00:07相談に乗っていただいた皆さん、ありがとうございました。
0864デフォルトの名無しさん
2009/07/23(木) 17:45:460865デフォルトの名無しさん
2009/07/23(木) 17:52:42そう言うなよ
C#が万が一無くなった時にどうするつもりだよw
0866デフォルトの名無しさん
2009/07/23(木) 17:57:27商業ではもう当の昔に捨てたよ。
せいぜい.NETのプログラムが動かない環境をチェックしてエラー表示をさせるツールくらいかな。
0867デフォルトの名無しさん
2009/07/23(木) 18:34:52今はあらゆるところにコンピューターが使われてるし
特殊用途だと開発環境やライブラリが限られてるから
業界によってはC++どころかCやアセンブラも現役バリバリ
0868デフォルトの名無しさん
2009/07/23(木) 18:36:110869デフォルトの名無しさん
2009/07/23(木) 18:36:570870デフォルトの名無しさん
2009/07/23(木) 18:39:180871デフォルトの名無しさん
2009/07/23(木) 18:49:20MS的にクロスプラットフォームは可能だけどやる気なしってだけだよな
0872デフォルトの名無しさん
2009/07/23(木) 19:03:08macなら一応100%互換
0873デフォルトの名無しさん
2009/07/23(木) 19:24:420874デフォルトの名無しさん
2009/07/23(木) 19:28:420875デフォルトの名無しさん
2009/07/23(木) 19:49:240876デフォルトの名無しさん
2009/07/23(木) 20:14:450877デフォルトの名無しさん
2009/07/23(木) 20:51:100878デフォルトの名無しさん
2009/07/23(木) 21:03:38WindowsMobileに未来はないだけに。
0879デフォルトの名無しさん
2009/07/23(木) 21:51:57Flashもダメなんだから、まあ当然のような気がする。
0880デフォルトの名無しさん
2009/07/23(木) 23:32:50http://www.itmedia.co.jp/anchordesk/articles/0810/14/news079.html
この記事によると、両者とも前向きに検討中との事。
0881デフォルトの名無しさん
2009/07/23(木) 23:44:53こんな記事もある。内容は、Mono プロジェクトによって C# アプリの
動作環境が増えてきました、というもの。
0882デフォルトの名無しさん
2009/07/23(木) 23:46:360883デフォルトの名無しさん
2009/07/23(木) 23:51:010884デフォルトの名無しさん
2009/07/23(木) 23:55:58いくら普及しても第二のJavaになったら意味無い
0885デフォルトの名無しさん
2009/07/24(金) 00:13:510886デフォルトの名無しさん
2009/07/24(金) 00:27:07>このため、マルチメディア関連のコーデックなどでもMoonlightはマイクロソフトの協力を得られている。
へえ
0887デフォルトの名無しさん
2009/07/24(金) 02:06:47カスタムしたものをフォームに張りつけると右肩の三角が消えてしまうんです。
何か気分オーバーライドが足りないんでしょうか?
プロパティいじればいいことなんですけど、拡張したつもりが機能減ったってのが何か気分悪いんです。
0888デフォルトの名無しさん
2009/07/24(金) 02:16:19http://msdn.microsoft.com/ja-jp/library/ms171829%28VS.80%29.aspx
0889デフォルトの名無しさん
2009/07/24(金) 02:40:15ありがとう!
スマートタグをヒントに明日また色々と試してみます
0890デフォルトの名無しさん
2009/07/24(金) 11:37:19もうほとんど完成まじかで気づいた
これバイナリ配布でもソース丸見えかよwwww
0891デフォルトの名無しさん
2009/07/24(金) 11:46:510892デフォルトの名無しさん
2009/07/24(金) 11:47:010893デフォルトの名無しさん
2009/07/24(金) 11:49:090894デフォルトの名無しさん
2009/07/24(金) 11:52:370895デフォルトの名無しさん
2009/07/24(金) 11:55:28おれのコードは難解だからな。orz
0896デフォルトの名無しさん
2009/07/24(金) 11:56:08( )
| |
ヽ('A`)ノ トキハナツ!
( )
ノω|
__[警]
( ) ('A`)
( )Vノ )
| | | |
0897デフォルトの名無しさん
2009/07/24(金) 20:33:33どうやってソース見るのか教えてくれ
0898デフォルトの名無しさん
2009/07/24(金) 20:49:560899デフォルトの名無しさん
2009/07/24(金) 20:50:58Reflector
0900デフォルトの名無しさん
2009/07/24(金) 21:06:070901デフォルトの名無しさん
2009/07/24(金) 22:03:42Dotfuscator でも使えば?
カジュアルハック対策なら、Visual Studo 付属のフリー版で十分だろ。
難読化時の名前短縮によって、若干のバイナリ圧縮効果も期待できる。
0902デフォルトの名無しさん
2009/07/24(金) 22:27:400903デフォルトの名無しさん
2009/07/24(金) 22:30:39つーか自意識過剰。
失礼だけどあんたのコードなんかまず誰も見ないって。
見たって8割のダメグラマの書くコードなんて「天然難読化」掛かってて読めないし。
0904デフォルトの名無しさん
2009/07/24(金) 22:43:020905デフォルトの名無しさん
2009/07/24(金) 22:57:54こういうこと言う奴に限って真っ先に中身をチェックするんだよなwww
0906デフォルトの名無しさん
2009/07/24(金) 23:05:320907デフォルトの名無しさん
2009/07/25(土) 00:13:28猥褻物陳列罪で起訴です起訴
0908デフォルトの名無しさん
2009/07/25(土) 00:55:020909デフォルトの名無しさん
2009/07/25(土) 00:55:08試したけど普通にできたぞ
0910デフォルトの名無しさん
2009/07/25(土) 01:01:400911デフォルトの名無しさん
2009/07/25(土) 01:29:23エッ。MSDNの丸コピで?
0912デフォルトの名無しさん
2009/07/25(土) 01:30:46ちょっと待ってろ。
0913デフォルトの名無しさん
2009/07/25(土) 01:48:13ちょっと眺めてみろ
http://www1.axfc.net/uploader/Sc/so/20706
0914デフォルトの名無しさん
2009/07/25(土) 16:00:36>>906>>911ではないが勉強になった。
0915デフォルトの名無しさん
2009/07/25(土) 16:04:52<a href="http://www.teacup.com/fbbs/">ここ</a>をクリック!
0916デフォルトの名無しさん
2009/07/25(土) 16:35:31例えばアクセスするサイトのURLを埋め込んでても見られちゃうじゃん。
それにお前のソースなんて見ないなんていうけど、
同じレベルの人がこれなら解読すれば出来そうだって思って見られて
せっかく調べて作ったツールを簡単にパクられてしまう。
例えばあるサイトのjavascriptを探って探ってやっとたどり着いた関数を呼び出すブログラムがあったとして
ソースを見た第三者は何の苦労もなくその関数を発見できてしまう。
0917デフォルトの名無しさん
2009/07/25(土) 16:39:42Fiddler もどうぞ
0918デフォルトの名無しさん
2009/07/25(土) 16:40:15白雉?
0919デフォルトの名無しさん
2009/07/25(土) 16:46:03版権のあるソースやオプソのソースを黙って流用してたのがばれてしまって困るとか、
パスワードを入れるとエロ画像が見れる類のシェアウェアの作家とか。
0920デフォルトの名無しさん
2009/07/25(土) 16:46:46917みたいなパケットアナライザ使ってもいいし
API呼んでるならIAT読むだけでも中で何してるかくらい想像付くわ
リバースエンジニアリングに気を使う暇があったら
もう少し頭ひねった方がいいと思うな
0921デフォルトの名無しさん
2009/07/25(土) 16:48:460922デフォルトの名無しさん
2009/07/25(土) 16:50:56頭が追いついて無いのに分不相応なこと心配してるから答えが出ないんだよ。
0923デフォルトの名無しさん
2009/07/25(土) 16:52:22なんかキナ臭いです
だいたいこの行為も人のページのjavascript漁ってるならリバースエンジニアリングじゃないんですかw
0924デフォルトの名無しさん
2009/07/25(土) 16:55:010925デフォルトの名無しさん
2009/07/25(土) 16:59:520926924
2009/07/25(土) 17:00:270927デフォルトの名無しさん
2009/07/25(土) 17:03:480928デフォルトの名無しさん
2009/07/25(土) 17:09:34何回同じ話してんだよ
1スレに1回以上出てんぞ
累計で4〜50回も同じ話してる事になるじゃねえか
0929デフォルトの名無しさん
2009/07/25(土) 17:13:28新手のかまってちゃん?
0930デフォルトの名無しさん
2009/07/25(土) 17:16:46知的障害の子供とか痴呆老人って繰言を言うよね。
2チャンネラのうち、明らかに知能が低いと思われる連中のレスにも、
まさに「馬鹿の一つ覚え」のように同じフレーズを飽きずに繰り返し投稿する
現象が見られる。
たぶん「繰り返し」ってのは脳の古い部分にとって快な刺激なんだろう。
音楽だって短いパートを繰り返すのが作曲作詞の基本だし。
0931デフォルトの名無しさん
2009/07/25(土) 17:27:250932デフォルトの名無しさん
2009/07/25(土) 17:41:20騒いだら無くなるような類の物じゃないだろ
0933デフォルトの名無しさん
2009/07/25(土) 18:03:08既出とか言い出したら何も質問できなくなる
0934デフォルトの名無しさん
2009/07/25(土) 18:56:070935デフォルトの名無しさん
2009/07/25(土) 19:01:37投稿っていうのは、まさに>>934みたいなののことね。
こういうのって本人面白いとか思ってるのかな本当。
俺には不思議でたまらない。
0936デフォルトの名無しさん
2009/07/25(土) 19:06:190937デフォルトの名無しさん
2009/07/25(土) 19:18:01一、回答者がテンプレを作らないから
0938デフォルトの名無しさん
2009/07/25(土) 19:25:45>>937 言い出しっぺの法則
0939デフォルトの名無しさん
2009/07/25(土) 19:29:23・クラス内で完結できる処理は完結する
・似たような処理は同じクラスにまとめる
デザインパターンなんか見てると積極的にクラス分けしてるけど
クラス増やしすぎてわけわかめなのもよく見かける
一見、そうかな?って思うけど矛盾してると思うんだよね
クラス設計においてこうしとけとかってないの?
0940デフォルトの名無しさん
2009/07/25(土) 20:04:49話が抽象的過ぎて反論するにもフォローするにもとっかかりがないな。
せっかくデザインパターンとか言ってるんだから、具体的に特定のパターンを
例に挙げて腑に落ちない点を言ってみたら?
0941デフォルトの名無しさん
2009/07/25(土) 20:18:36どこまでいっても感覚的にしか語れないよなw
まぁ、ここで一番適切な回答は「スレタイを三回音読してみろ」だがな。
0942デフォルトの名無しさん
2009/07/25(土) 20:21:54ちなみにデザインパターンは前者
0943デフォルトの名無しさん
2009/07/25(土) 20:49:03Formのなかで画像をドラッグ&ドロップで移動したいと考えています。
ドラッグ&ドロップで調べると、listBoxへのドラッグ&ドロップはかなり見つかるのですが、
Form内でのものは見つけられませんでした。
ドラッグ&ドロップだと、
DragEnter
DragDrop
のイベントをつくる方法もあるみたいなのですが、
具体的にどうすればよいのかいまいちわかりませんでした。
ちなみに、いまはMouseDownとMouseUpで、
PictureBoxの位置を移動しています。
これで動くには動くのですが、なめらかにという感じにはなりません。
ご助言いただけないでしょうか。
0944デフォルトの名無しさん
2009/07/25(土) 20:50:37int mouse_Y;
int move_start = 0; // 1 = move中
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left) // マウスの左ボタンかチェックする
{
move_start = 1;
mouse_X = e.X;
mouse_Y = e.Y;
Point Z = new Point(0, 0);
string Text =
"--- pictureBox1 の位置 ---" + "\r\n" +
"Left = " + pictureBox1.Left + "\r\n" +
"Top = " + pictureBox1.Top + "\r\n" +
"PointToScreen(Z).X = " + pictureBox1.PointToScreen(Z).X + "\r\n" +
"PointToScreen(Z).Y = " + pictureBox1.PointToScreen(Z).Y + "\r\n" +
"PointToClient(Z).X = " + pictureBox1.PointToClient(Z).X + "\r\n" +
"PointToClient(Z).Y = " + pictureBox1.PointToClient(Z).Y + "\r\n";
}
}
private void pictureBox1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
pictureBox1.Left = mouse_X;
pictureBox1.Top = mouse_Y;
}
0945デフォルトの名無しさん
2009/07/25(土) 20:52:490946デフォルトの名無しさん
2009/07/25(土) 20:53:400947デフォルトの名無しさん
2009/07/25(土) 20:57:01確かに手を動かす(実際にコードを書いてみる)のは大事だと思うけど、
君の場合はその前段階の学習が足りないんじゃないのかな。
なんか言ってることがトンチンカンな気がする。
ちなみにドラッグ&ドロップじゃなくて、ただのドラッグじゃないのそれ?
0948デフォルトの名無しさん
2009/07/25(土) 20:57:37特に設定しなくても普通に作れば滑らかに動くよ
0949デフォルトの名無しさん
2009/07/25(土) 21:51:46仕様ですと言ったらそれまでかもしれませんが、なんで使えないのかわからない。
0950デフォルトの名無しさん
2009/07/25(土) 21:56:48引数なしコンストラクタが定義できないだけで
0951デフォルトの名無しさん
2009/07/25(土) 21:58:440952デフォルトの名無しさん
2009/07/25(土) 22:00:58なぜ、引数なしのコンストラクタが定義できないのか。
が正しい。
0953デフォルトの名無しさん
2009/07/25(土) 22:05:20既定のコンストラクタが定義できると,メンバの構造体オブジェクトも全て明示的にnewで初期化しないといけなくなる
0954デフォルトの名無しさん
2009/07/25(土) 22:06:560955デフォルトの名無しさん
2009/07/25(土) 22:13:10ECMAの仕様で
TestStruct a;
と書いた時点でaのフィールドは0とnullにならなければいけないと決まっている。
int b;
が0になってなきゃいけないのと同じ。
この時にデフォルトコンストラクタが呼ばれるわけだが
どうせ0かnullにならないといけないので勝手に定義されている。
それだけ。
0956デフォルトの名無しさん
2009/07/25(土) 22:14:55これな。
正確にはCLIの仕様だけど。
もう・・・なんつうか・・・
「仕様ですと言ったらそれまでかもしれませんが」
仕様なんですよ。
0957デフォルトの名無しさん
2009/07/25(土) 22:31:08って事を聞いてるんじゃないの?
A: 「なぜそんな仕様になってるの?」
B: 「仕様です」
これって会話として成立してないような
0958デフォルトの名無しさん
2009/07/25(土) 22:33:36なんでそんなガキみたいな質問する気になるんだか。
0959デフォルトの名無しさん
2009/07/25(土) 22:34:21default(TestStruct) != new TestStruct();となるのが自然なわけだけど
CLIの仕様で,構造体の配列を作ると自動的に全ての要素の既定の
コンストラクタが呼ばれたりするんで(C++の影響?)C#と合わないんだよね
0960デフォルトの名無しさん
2009/07/25(土) 22:34:220961デフォルトの名無しさん
2009/07/25(土) 22:35:390962デフォルトの名無しさん
2009/07/25(土) 22:36:47The added performance of avoiding class constructors warrants this change.
0963デフォルトの名無しさん
2009/07/25(土) 22:37:46CS0568の解説をよく読め。
そもそもC#ではstructのメンバ変数にインスタンス フィールド初期化子を指定できない。(CS0573)
スタック上の扱いも変わるわけで、C++と違い、C#ではclassとstructがかなり違うものであることが読み取れる。
0964デフォルトの名無しさん
2009/07/25(土) 22:44:49「値型はユーザー定義のデフォルトコンストラクタが呼ばれない可能性がある」が正しい。
CLIの仕様としては値型のデフォルトコンストラクタも存在するが、それが呼ばれるのは
システム定義のデフォルトコンストラクタ(0とnullに初期化する奴)が呼ばれない場合に限られる。
で、どうせ呼ばれないし、定義するだけ不毛なので定義できないようになってる。
理由はパフォーマンス目的。
0965デフォルトの名無しさん
2009/07/25(土) 22:46:310966デフォルトの名無しさん
2009/07/25(土) 22:55:240967デフォルトの名無しさん
2009/07/25(土) 23:01:200968デフォルトの名無しさん
2009/07/25(土) 23:26:09普通につくるってどうやるんでしょう?
0969デフォルトの名無しさん
2009/07/25(土) 23:28:15TestStruct a;
TestStruct b = new TestStruct(1, 1);
TestStruct c = new TestStruct();
aの場合は、コンストラクタが呼ばれずに、初期化もされない。
bの場合は、コンストラクタに引数つけて、引数で初期化される。
cの場合は、デフォルト(引数なし)コンストラクタが呼ばれて、0またはnullで初期化される。
仕様に対して疑問に思っているのは、cの場合でクラスと違って構造体で引数なしコンストラクタの定義を認めない理由が知りたい。
引数なしコンストラクタ内でbの場合のような1,1で初期化を認めるとどんな問題が発生するのか。
>>963
---
エラー メッセージ
構造体に明示的なパラメータのないコンストラクタを含めることはできません。
---
これの理由が知りたい。
>>958>>962
理由があってこのような仕様にしているはずなので、仕様を読んでみます。
8.9.5項であってる?
>>953
>>メンバの構造体オブジェクトも全て明示的にnewで初期化しないといけなくなる
もう少し具体的に説明してもらえませんか。
>>964
小さい配列を多くとる場合に参照型より高速でしょうね。
構造体を利用する目的の一つはパフォーマンスだと思います。
0970デフォルトの名無しさん
2009/07/25(土) 23:33:070971デフォルトの名無しさん
2009/07/26(日) 00:20:54混乱しないようにってのが主な理由らしいけどね。
(C#では「パフォーマンス上の理由で」参照型のフィールドになっている値型の
デフォルトコンストラクタを呼び出さず0で初期化してしまうので、その呼び出しの中で
フィールドを任意の値に設定できるように見えてしまう値型のデフォルトコンストラクタを定義できないようにした)
正直スタックに確保する場合と一貫性無い気がして俺もすっきりしないんだけどね、このルール。
あくまでC#のルールであってC++/CLIとか微妙に話しが変わってくるがなんとも。
0972デフォルトの名無しさん
2009/07/26(日) 01:34:04>これの理由が知りたい。
人の話を聞けよ。
--------
コンパイラ エラー CS0568
エラー メッセージ
構造体に明示的なパラメータのないコンストラクタを含めることはできません。
各構造体には、オブジェクトをゼロに初期化する既定のコンストラクタが既にあります。したがって、構造体に対して作成するコンストラクタでは 1 つ以上のパラメータを受け取る必要があります。
--------
理由もちゃんと書いてあるじゃねえか。
0973デフォルトの名無しさん
2009/07/26(日) 01:37:06効率か?効率なのか?
0974デフォルトの名無しさん
2009/07/26(日) 01:38:410975デフォルトの名無しさん
2009/07/26(日) 02:04:460976デフォルトの名無しさん
2009/07/26(日) 06:06:43感涙した。
頑張って解読・修得試みるわ。ありがとう。素直に尊敬する。
0977デフォルトの名無しさん
2009/07/26(日) 06:14:11そういうのってどこでてにいれられるんですかね?
言語体系とか逆引きはあるんですが
C#でつくるアプリみたいな書籍もないですし・・・・
0978デフォルトの名無しさん
2009/07/26(日) 06:20:52SharpDevelopのソースコードを入手して読め。
0979デフォルトの名無しさん
2009/07/26(日) 10:46:49IronPythonとか読んだら.NETオタになれる
0980デフォルトの名無しさん
2009/07/26(日) 10:57:25なぜか先に移動すると、その場回転ができなくなってしまいます
どうしたらいいのでしょうか
0981デフォルトの名無しさん
2009/07/26(日) 10:58:42誤爆した人に頼むのは気が引けるけど次スレ立てて
0982デフォルトの名無しさん
2009/07/26(日) 11:03:23ふらっとC#,C♯,C#(初心者用) Part43
http://pc12.2ch.net/test/read.cgi/tech/1248573707/
0983デフォルトの名無しさん
2009/07/26(日) 11:03:440984デフォルトの名無しさん
2009/07/26(日) 11:11:46C# サンプル とかでググったらちょっとはでてくるけども。
Codeplex の日本語化して欲しいなぁ。
0985デフォルトの名無しさん
2009/07/26(日) 14:53:350986デフォルトの名無しさん
2009/07/26(日) 14:54:33ゼロページが割り当てられるのは知らなかった。パフォーマンス上の理由ってそういう事なのか。
・・って書いてたらタッチの差で>>985に貼られてた。
0987964
2009/07/26(日) 14:59:160988デフォルトの名無しさん
2009/07/26(日) 15:02:290989デフォルトの名無しさん
2009/07/26(日) 15:11:140990デフォルトの名無しさん
2009/07/26(日) 15:12:430991デフォルトの名無しさん
2009/07/26(日) 15:17:390992デフォルトの名無しさん
2009/07/26(日) 15:20:210993デフォルトの名無しさん
2009/07/26(日) 15:29:110994デフォルトの名無しさん
2009/07/26(日) 15:31:510995デフォルトの名無しさん
2009/07/26(日) 15:32:340996デフォルトの名無しさん
2009/07/26(日) 15:33:000997デフォルトの名無しさん
2009/07/26(日) 15:33:270998デフォルトの名無しさん
2009/07/26(日) 15:33:410999デフォルトの名無しさん
2009/07/26(日) 15:33:521000デフォルトの名無しさん
2009/07/26(日) 15:33:5810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。