ふらっとC#,C♯,C#(初心者用) Part40
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/04/13(月) 14:08:37「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part39
http://pc12.2ch.net/test/read.cgi/tech/1237051173/
0002デフォルトの名無しさん
2009/04/13(月) 14:08:480003デフォルトの名無しさん
2009/04/13(月) 14:08:52C#, C♯, C#相談室 Part51
http://pc11.2ch.net/test/read.cgi/tech/1233757615/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
http://pc11.2ch.net/test/read.cgi/tech/1231506876/
初心者のためのプログラミング言語ガイド Part14
http://pc11.2ch.net/test/read.cgi/tech/1235692421/
----参考サイト
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/
0004デフォルトの名無しさん
2009/04/13(月) 14:09:11クソカスがっ
0005デフォルトの名無しさん
2009/04/13(月) 14:10:49では質問を変えます。
ファイルパスから正しい大文字小文字を区別したファイルパスを取得する方法を教えてください。
Path.GetFileName()はパスを分解して返してくるだけで実際のファイル名を返しません。
0006デフォルトの名無しさん
2009/04/13(月) 14:13:59質問に答える前に実行環境聞かれてただろ?
windowsなら
> 正しい大文字小文字を区別したファイルパス
そんなファイルパスは無いでFA
00075
2009/04/13(月) 14:16:56ところで自己解決しましたので載せておきます。
http://dobon.net/vb/dotnet/file/filesystemwatcherbug.html
http://dobon.net/vb/dotnet/file/getshortpath.html
00081
2009/04/13(月) 14:19:2900095
2009/04/13(月) 14:21:020010デフォルトの名無しさん
2009/04/13(月) 14:24:02ファイル名の大文字小文字を正しく取得したい
でいいんじゃないのか?
ちなみにWindows上では大文字小文字が違おうと同じファイル名として扱われる
だからTEST.txtをtest.txtとして取得しても、問題なくファイルは開ける。
ということで大文字小文字が違おうと"実際のファイルパス"は"返ってきてる"
ファイラーなどを作っていて、大文字小文字を正しく表示したい場合は、"実際のファイルパス"ではなく
"大文字小文字が正しいファイルパス"と言わないと伝わらない
あと、この問題は.NET Framework2.0で修正されてるようだが
おまいは未だに1.1を使ってるのか?
0012デフォルトの名無しさん
2009/04/13(月) 14:27:120013デフォルトの名無しさん
2009/04/13(月) 14:28:220014デフォルトの名無しさん
2009/04/13(月) 14:33:50あれ?おまえ貧乳じゃね?
0015デフォルトの名無しさん
2009/04/13(月) 14:34:250016デフォルトの名無しさん
2009/04/13(月) 14:39:120017デフォルトの名無しさん
2009/04/13(月) 14:41:400018デフォルトの名無しさん
2009/04/13(月) 14:56:360019デフォルトの名無しさん
2009/04/13(月) 15:00:450020デフォルトの名無しさん
2009/04/13(月) 15:06:260021デフォルトの名無しさん
2009/04/13(月) 15:08:06テイコウハムイミダ
0022デフォルトの名無しさん
2009/04/13(月) 15:13:56エクスプローラー上では2つとも見える。
が、どちらをメモ帳等開いてもdate1.txtの中身が表示され、DATE1.txtにはアクセスできない。
dirコマンドでもエクスプローラー同様、2つとも見える。
しかし、typeコマンド、cygwinのcatコマンドではどちらもdate1.txtしかアクセスできない。
総合すると、見えはするが片方しかアクセスできないということだな。
実用にはならんだろう。
0023デフォルトの名無しさん
2009/04/13(月) 15:19:46スレ違いな上に何を試してるのかも結論も意味不明
0024デフォルトの名無しさん
2009/04/13(月) 15:22:1420のレスに対して端的に実験をしてみただけなんだが。
まさかそんな突っ込みがはいるとは思わなかったよ。
0025デフォルトの名無しさん
2009/04/13(月) 15:33:120026デフォルトの名無しさん
2009/04/13(月) 15:39:37お前は何が言いたいんだ?
0027デフォルトの名無しさん
2009/04/13(月) 15:47:550028デフォルトの名無しさん
2009/04/13(月) 15:57:00OrenoFileSystemとか作れってことかい?
まず仕様から決めないとな
0029デフォルトの名無しさん
2009/04/13(月) 15:57:290030デフォルトの名無しさん
2009/04/13(月) 16:01:040031デフォルトの名無しさん
2009/04/13(月) 16:26:400032デフォルトの名無しさん
2009/04/13(月) 19:28:01蛇足の蛇足になるが、WindowsにはPOSIXサブシステムとかあるから、
その気になれば、Windows機単独でも試せるぞ。
0033デフォルトの名無しさん
2009/04/13(月) 19:33:360034デフォルトの名無しさん
2009/04/13(月) 20:11:42ディスク上に存在するとおりの名前を取得したいのではないかと推測。
003522
2009/04/13(月) 20:25:52いずれかを選べるわけだが、プログラムのカレントに置くことは不可能なんだっけ?
(まあVistaでProgram Filesにインストールされちまったらどの道不可能なわけだが)
マイドキュメント内に設定ファイルを保存する仕様で、
データ保存用にYAMLとかSQLiteとか考えてみるかなぁ……。
0036デフォルトの名無しさん
2009/04/13(月) 20:33:55「&&」が含まれる文字列をTextプロパティに設定した場合
表示上は「&」が1つだけになってしまいましたが
実際にTextプロパティから文字列を取得すると「&&」になっています。
表示も「&&」とするにはどのようにしたら良いのでしょうか。お願いします。
0037デフォルトの名無しさん
2009/04/13(月) 20:47:40そもそも、&F と書いたらFキーに反応するメニューになるわけだが?
そこから類推して考えよう。
0038デフォルトの名無しさん
2009/04/13(月) 21:04:11Path.GetFullPath()を試したか?
003936
2009/04/13(月) 21:43:20ありがとうございます。
ToolStripMenuItemにはUseMnemonicプロパティに相当するものがないようなので
自分で文字列そのものの&を増やしてやるしかないですかね
0040デフォルトの名無しさん
2009/04/14(火) 08:45:38ユーザーに配るときどうするの?
難読化するだけ?
0041デフォルトの名無しさん
2009/04/14(火) 08:55:270042デフォルトの名無しさん
2009/04/14(火) 08:57:35あとdllにしてもノートブックで開くと見えてしまいますよね。
0043デフォルトの名無しさん
2009/04/14(火) 08:58:13ネイティブ化レベルで嫌ならそれはC#の問題じゃないだろ
暗号化ツールでも使えよ
0044デフォルトの名無しさん
2009/04/14(火) 09:02:520045デフォルトの名無しさん
2009/04/14(火) 09:17:31サービスを提供するようにすれば?
0046デフォルトの名無しさん
2009/04/14(火) 09:19:180047デフォルトの名無しさん
2009/04/14(火) 09:26:470048デフォルトの名無しさん
2009/04/14(火) 11:22:13難読化した?って聞かれる orz
0049デフォルトの名無しさん
2009/04/14(火) 11:31:020050デフォルトの名無しさん
2009/04/14(火) 11:31:01引き抜きたい
0051デフォルトの名無しさん
2009/04/14(火) 11:33:54抱かれたい Yes Falling'Love
0052デフォルトの名無しさん
2009/04/14(火) 12:50:30そこで、今までのC++(MFC)の資産を多少流用したいのですが、連携って可能なんでしょうか?
一応、ネイティブコードは、マネージコードでラップしてやって呼び出せるのは試しました。
例えば、CDialogとかでUIやリソースを伴うものを、C#のフォーム内に貼り付けるみたいな事は実現出来ますでしょうか?
よろしくおねがいします。
0053デフォルトの名無しさん
2009/04/14(火) 13:26:35詳細は自分でぐぐって調べればいいと思うが、
FormsとMFCは根本的に違う仕組みなので、残念ながらソースコードそのものの流用はほとんど利かないと思う。
せいぜい、ダイアログやウィンドウをコンポーネントのレベルで流用するくらいだろうか。
それもCOM越しかC++/CLIでラップする必要があるだろう。
0054デフォルトの名無しさん
2009/04/14(火) 14:03:02有難うございます。
ビデオ編集ソフトを作れとのお達しなのですが、どうもDirectShowは
公式にC#から呼び出すクラスなどは用意されていないみたいで、
(DirectShow.netは権利的に使えないので)DirectShowをC++/CLIでラップするか、
それとも、DirectShowが必要な部分だけ(例えば表示とか)をC++で書いて、
そのコンポーネントを丸ごと持ってきちゃえばいいかなと思いました。
C++はMFCメインで今まで作ってきたのですが、例えばMFCで作成したクラスを
DLL等々にして、C++/CLIでラップしてやれば、実現できそうですかね?
有難うございました〜。
0055デフォルトの名無しさん
2009/04/14(火) 15:21:15protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawImage(_bmp, x1, y1, srcRect, units);
}
Invalidate();
としてまとめて書いた_bmpを更新して表示してるんですが
一文字ずつ書いた跡を表示したいので
このフォーム eにあたる部分に直接書き込む方法ないでしょうか?
0056デフォルトの名無しさん
2009/04/14(火) 15:32:23ノートパッドというものを使うと
中味を見られてしまうと
教えてgooに書いてある
0057デフォルトの名無しさん
2009/04/14(火) 15:38:44混ぜて考えるなよ
0058デフォルトの名無しさん
2009/04/14(火) 16:05:46意味がわからん
005955
2009/04/14(火) 16:18:14他の場所でやるとバグってしまいます
書きたい場所からOnPaintを呼び出して
そこでDrawStringするように試してみます
0060デフォルトの名無しさん
2009/04/14(火) 16:19:380061デフォルトの名無しさん
2009/04/14(火) 16:20:28早速自作ソフトを食わせてみたが、リソースもソースコードも丸見えだなw
しかも、コメントがない程度でほとんどもとのコードと遜色がない。
機械語に変換されるネイティブと違って.NETはILまでしか落ちないからなぁ。
難読化? 別にいいや。
0062デフォルトの名無しさん
2009/04/14(火) 16:23:020063デフォルトの名無しさん
2009/04/14(火) 16:29:41まあ第3版買えってことなんだろうな
0064デフォルトの名無しさん
2009/04/14(火) 16:37:560065デフォルトの名無しさん
2009/04/14(火) 16:59:37自意識過剰なんじゃね?
0066デフォルトの名無しさん
2009/04/14(火) 17:04:120067デフォルトの名無しさん
2009/04/14(火) 17:15:350068デフォルトの名無しさん
2009/04/14(火) 17:17:150069デフォルトの名無しさん
2009/04/14(火) 17:28:01言えてるな。コアの部分にそれらの言語を選択してるアプリなんて
わざわざ逆アセしたところで得るものなんて何もない
0070デフォルトの名無しさん
2009/04/14(火) 17:28:08お前のソースコード覗いて100円の特になるか?
100銭の得にもならんだろ
っていってやれよ初めから
初心者ほど言い出しがちなネタなんだから
まず初心者脱出しろ
0071デフォルトの名無しさん
2009/04/14(火) 17:44:09>>67
それだけじゃなくむしろC#で書かれたプログラムをVB.NETで逆アセしたり、また逆もできる。
0072デフォルトの名無しさん
2009/04/14(火) 17:48:050073デフォルトの名無しさん
2009/04/14(火) 17:49:29そんなスレで案件とか、字も読めない文盲か?脳障害か?
どっちにしろ病院の方が先だな。
0074デフォルトの名無しさん
2009/04/14(火) 17:51:57言ってることは分からんでもないがw
0075デフォルトの名無しさん
2009/04/14(火) 17:58:49でもねー案件がどうとか言い出すなら、
予算出してもらってMSの難読化ツール買うなり、
ネイティブコード要因雇って移植するなりすりゃいいんじゃねえかと。
ボランティア回答スレで何求めてるの?
業務サポートですか?
0076デフォルトの名無しさん
2009/04/14(火) 18:00:37もうちょっと整理してやりたいことと今やってることを書いてみたら。
OnPaintとそれ以外で描く場合の動作はわかってしまえば簡単なんだが
見た感じだけで動作を予測するのは難しい。
オフスクリーンバッファを用いれば解決しそうな気がしないでもない。
0077デフォルトの名無しさん
2009/04/14(火) 18:01:02逆にそれを特許申請して金取って使わせたらどうよ
0078デフォルトの名無しさん
2009/04/14(火) 18:01:570079デフォルトの名無しさん
2009/04/14(火) 18:02:42責任持てないから然るべき所に依頼して下さいって叩き返されてるけど
0080デフォルトの名無しさん
2009/04/14(火) 18:09:42ソースコードの話題は終了な。
0081デフォルトの名無しさん
2009/04/14(火) 18:13:52もしかしてVB6をVB.NETにしてそれをC#にしたりもできるの?
0082デフォルトの名無しさん
2009/04/14(火) 18:20:210083デフォルトの名無しさん
2009/04/14(火) 18:23:40VB6→VB.NET はVSの移行ツールで一応出来るけど・・とりあえず使ってみれ
0084デフォルトの名無しさん
2009/04/14(火) 19:15:00やりたいことは意味不明だが、
質問への答えとして、CreateGraphicsが使えるのではという気がする。
008555
2009/04/14(火) 19:35:55OnPaint(PaintEventArgs e)
のeをよそでも使えるように、と書こうと思ったら
>>84
g = this.CreateGraphics();
これでできました。
ありがとうございます。
0086デフォルトの名無しさん
2009/04/14(火) 22:09:150087デフォルトの名無しさん
2009/04/14(火) 22:09:590088デフォルトの名無しさん
2009/04/14(火) 22:22:38バイナリ少し書き換えられたら終了じゃないか。
0089デフォルトの名無しさん
2009/04/14(火) 22:40:30もんだよな確かに。
0090デフォルトの名無しさん
2009/04/14(火) 23:22:460091デフォルトの名無しさん
2009/04/14(火) 23:25:080092デフォルトの名無しさん
2009/04/14(火) 23:29:31運用がテーマであってWebDevelopmentとは何の関係もないスレだとは思うがね
0093デフォルトの名無しさん
2009/04/14(火) 23:31:35<b c=100 />
</a>
といったxmlファイルがあったとして、属性cをStringではなく直接
intで取る方法ってないでしょうか。
0094デフォルトの名無しさん
2009/04/14(火) 23:36:05てぇんきゅー
ちょっと見てくるー
0095デフォルトの名無しさん
2009/04/14(火) 23:36:28もしやるとしたらDTDなんかを使って
http://support.microsoft.com/kb/307379/ja
0096デフォルトの名無しさん
2009/04/14(火) 23:37:18まず何で取ってこようとしてるのか書こうよ…
で,xml的にはattributeは必ず"で囲む必要があったんじゃなかったっけ?
0097デフォルトの名無しさん
2009/04/14(火) 23:44:46ちょうちょう初心者の俺にはタスク指向のヘルプがないと無理ということだけ分かった
畑違いすぎワロタ
DTDもいいけどxsdでinteger突っ込むのもいいかもね
外部ファイルが必要になるし,現行のプログラムじゃ導入までが面倒だとおもうが
0098デフォルトの名無しさん
2009/04/15(水) 00:24:18.NET向けにはいいライブラリがないんだよね……。
0099デフォルトの名無しさん
2009/04/15(水) 01:12:57エディタがフルサポート状態なので VS 使いとしては楽と
いうか。
Codeplex にあるんだっけ > YAML
0100デフォルトの名無しさん
2009/04/15(水) 01:19:370101デフォルトの名無しさん
2009/04/15(水) 02:17:51yaml-netの方は改造なしでそのままでは話にならないレベル。
yatools.netの方はDOMインターフェイスがなくてSAX的な読み方しかできないので、
YAMLを使う利点が半減してしまう。
まあ、静的型付言語にYAMLは向いてないのかもしれないが……。
後、せっかくなので。
.NETアプリケーション向けに簡単なstringやintegerを格納できるxmlの書式データってどこかにないだろうか?
0102デフォルトの名無しさん
2009/04/15(水) 02:23:020103デフォルトの名無しさん
2009/04/15(水) 02:46:43クラス作ってxsd.exeって話?
0104デフォルトの名無しさん
2009/04/15(水) 02:59:14XmlSerializer
0105デフォルトの名無しさん
2009/04/15(水) 03:45:51public string MessageText { get { return textBox1.Text; }
ってあったのですが、
Form1でこれやると怒られるんですが・・・
0106デフォルトの名無しさん
2009/04/15(水) 03:47:370107デフォルトの名無しさん
2009/04/15(水) 03:48:290108デフォルトの名無しさん
2009/04/15(水) 03:59:240109デフォルトの名無しさん
2009/04/15(水) 04:02:190110デフォルトの名無しさん
2009/04/15(水) 04:03:000111デフォルトの名無しさん
2009/04/15(水) 04:04:240112デフォルトの名無しさん
2009/04/15(水) 04:04:30>クラスとインスタンスの違いが理解できていないよーな
って言われてるねえ
0113デフォルトの名無しさん
2009/04/15(水) 04:05:430114デフォルトの名無しさん
2009/04/15(水) 04:06:120115デフォルトの名無しさん
2009/04/15(水) 04:06:540116デフォルトの名無しさん
2009/04/15(水) 04:10:570117デフォルトの名無しさん
2009/04/15(水) 07:37:44C#って実用性ある?
皆仕事以外で何に使ってるの?
0118101
2009/04/15(水) 07:43:19>>104
さっそく試してみた。エロいな、これは!
整数、実数、文字列、文字列のコレクション、全てOK。
アプリ依存のデータを入れる程度だったら、これで十分すぎるな。
0119デフォルトの名無しさん
2009/04/15(水) 07:48:48WindowsでちょっとしたGUIアプリを書くのにこれほどお手軽な開発環境は無い。
VB.NETとどっちを使うかはお好みで。
0120デフォルトの名無しさん
2009/04/15(水) 09:18:42文字列処理でも、ファイル処理でも、数値計算でも何でもできるよ。
昔はほんのちょっとした計算とか、ファイル操作とか何でもC#でやってた。
たまに使うためだけにsedとかgrepとかsh覚えても、すぐ忘れちゃうし、
全部インテリセンスに頼れるC#(てかVisual Studio)は便利。
最近はPowerShellがあるからワンライナーなものはこっちでやっちゃうけど、
10行超えたらもうC#。
0121デフォルトの名無しさん
2009/04/15(水) 11:38:10xsdなんか書ける気がしない
0122デフォルトの名無しさん
2009/04/15(水) 19:47:45SummaryをDLL使った側で読むにはどうしたらいいの?
0123デフォルトの名無しさん
2009/04/15(水) 19:51:32できてないんならプロジェクトのプロパティ確認して。
で、インテリセンスは同じところにおいときゃ勝手に読む。
ドキュメントっぽくしたいなら Sandcastle とかで
0124デフォルトの名無しさん
2009/04/16(木) 00:25:21{
MessageBox.Show("メッセージ");
}
これでXを押してもメッセージボックスがでないんですが、ほかに何か必要でしょうか?
環境のせいでしょうか。
0125デフォルトの名無しさん
2009/04/16(木) 00:29:22Form1.designer.csのInitializeComponentの中をのぞいてイベントに対して何やってるか見てみ
つかイベントはデザイナのプロパティグリッドの雷マークからやるようにした方が良い
0126デフォルトの名無しさん
2009/04/16(木) 00:29:30どっかでForm1.Closing+=みたいにイベントハンドラさんにちゃんと教えてあげてる?
書いてあるだけで探して関連付けてくれる負んぶに抱っこは幼稚園までだよ!
みたいなことか
0127デフォルトの名無しさん
2009/04/16(木) 00:52:28雷マークから追加でできました。
ありがとうございます。
0128デフォルトの名無しさん
2009/04/16(木) 01:09:280129デフォルトの名無しさん
2009/04/16(木) 01:18:57よくわからんので調べてみた
http://social.msdn.microsoft.com/Forums/ja-JP/wcf/thread/80e5a892-419e-46e5-ae38-fcbdaa537c64
とか
http://www.google.co.jp/search?complete=1&hl=ja&q=wcf%E3%80%80management+communication+traffic&lr=&aq=f&oq=
で
0130デフォルトの名無しさん
2009/04/16(木) 14:27:11選択中のノードの消し方はなんとかわかったんだけど、
単純に全部消す方法を教えてください。
0131デフォルトの名無しさん
2009/04/16(木) 14:30:27知らんけど
0133デフォルトの名無しさん
2009/04/16(木) 15:10:230134デフォルトの名無しさん
2009/04/16(木) 18:02:30解決してないですね
パフォーマンスモニタは精度が低いし・・・
自分でBindingを継承するなりしてみます。
0135デフォルトの名無しさん
2009/04/17(金) 00:16:22何も変わらないんですけど、特別な手順が必要ですか?
0136デフォルトの名無しさん
2009/04/17(金) 00:22:230137デフォルトの名無しさん
2009/04/17(金) 00:49:000138デフォルトの名無しさん
2009/04/17(金) 00:57:380139デフォルトの名無しさん
2009/04/17(金) 07:54:090140デフォルトの名無しさん
2009/04/17(金) 09:08:070141デフォルトの名無しさん
2009/04/17(金) 09:54:410142デフォルトの名無しさん
2009/04/17(金) 10:04:21ngen.exeでググリ給え
0143デフォルトの名無しさん
2009/04/17(金) 10:07:22ngen使えばソースみられない、でOK?
0144デフォルトの名無しさん
2009/04/17(金) 10:19:200145デフォルトの名無しさん
2009/04/17(金) 10:23:490146デフォルトの名無しさん
2009/04/17(金) 12:51:02{
bool foo = false;
public bool Hoge { get { return foo; } set { foo = value; } }
}
void ThreadProc(A objA)
{
while (!objA.Hoge) { 〜 }
}
他のスレッドがHogeをtrueにするまでループするようになっているのですが
この場合A.fooにvolatileは必要でしょうか?
プロパティを通してアクセスするので必要ないような気がするのですが
確信がもてません。
0147デフォルトの名無しさん
2009/04/17(金) 13:07:27親フォームの上下左右にぴったりくっつき,
遠くなったら子フォームのみ自由に動く.
くっついてるとき親フォームをドラッグしたら子フォームも付いてくる.
といったような親フォームに吸着する子フォームを作りたいんだけど
親子ウインドウの相対座標やサイズから地道にIF/THENルール作るしかないですか?
0148デフォルトの名無しさん
2009/04/17(金) 13:51:300149デフォルトの名無しさん
2009/04/17(金) 13:52:290150デフォルトの名無しさん
2009/04/17(金) 13:57:28JIT最適化によって直接参照する形になりうるんじゃなかったっけ
>>147
基本クラスライブラリにはそういう機能は存在してないな
0151148
2009/04/17(金) 14:00:41ttp://textup.no.land.to/w/1239944224/
textBox1に秒数、2に繰り返し回数を入れ、
label1に経過秒数(一回ごとにリセット)、
label2に何回目かを表示しようとしています。
label1・2共に数字が表示されません。
たまに変な数字が出たりします。
何がいけないのかわかりますか?
0152デフォルトの名無しさん
2009/04/17(金) 14:03:320153デフォルトの名無しさん
2009/04/17(金) 14:08:350155デフォルトの名無しさん
2009/04/17(金) 16:37:04上記URLを参考に、マルチスレッドを実装したのですが
サンプルで言うWriteStringメソッドやCallbackMethodメソッドが
staticじゃなきゃいけないと言うことは無いと思っていいでしょうか。
少なくともCallbackMethodのstaticは外しても一見問題無さそう
なのですが、何か理由があってそうなっているのであれば教えて下さい。
0156デフォルトの名無しさん
2009/04/17(金) 17:17:26それのVBのサンプルが怪しいな、VBのMainは普通Moduleを使うものだが。
0158デフォルトの名無しさん
2009/04/17(金) 22:26:25NiVEというC#製のモーショングラフィックスソフトがあるのですが、
FAQの「プレビューが遅い。エフェクトとかかけてないのに30fpsのプロジェクトで22fpsまでしか出ない」
の項目に「WinFormsが重いのでプレビューの高速化は厳しいです。」
とあり、実際試してみると40FPSまでしか出ません。
やっぱりWinFormsの描画って遅いんでしょうか?
http://nicoae.if.land.to/index.php
0159デフォルトの名無しさん
2009/04/17(金) 22:28:510160デフォルトの名無しさん
2009/04/17(金) 22:32:470161デフォルトの名無しさん
2009/04/17(金) 22:34:23まさか普通にGDI+で描画してるわけじゃないだろ
0162デフォルトの名無しさん
2009/04/17(金) 23:52:43ちなみに、文字列配列では無理ですよね?
0163デフォルトの名無しさん
2009/04/18(土) 00:01:020164デフォルトの名無しさん
2009/04/18(土) 00:01:04なぜ試さない?
0165デフォルトの名無しさん
2009/04/18(土) 00:03:15何を見てそんな認識に至ったのか分からん
0166162
2009/04/18(土) 00:04:34てっきりできないと思い込んでたんですけど
118を見て、コレクションが可能ということだったので
もしかして自分のやり方が間違っていただけかと思って…
0167デフォルトの名無しさん
2009/04/18(土) 02:22:04ちなみに俺は姉属性
0168162
2009/04/18(土) 02:29:50以前は文字列配列じゃなくて、ArrayListでやってダメだった記憶と
勘違いしていたのかもしれません。お手数かけました。
0169デフォルトの名無しさん
2009/04/18(土) 15:56:10の配列の範囲を超えないかチェックするにはどうすればいいの?
うまく説明できないけど
IndexOutOfRangeExceptionが投げられないように
事前にifでチェックしておきたい
0170デフォルトの名無しさん
2009/04/18(土) 16:06:52これだろ?
Array.RankとArray.GetLengthを参照
0171デフォルトの名無しさん
2009/04/18(土) 16:34:42いままでやったことなかったな 調べてみるか
0172デフォルトの名無しさん
2009/04/18(土) 16:36:19ありがとうございます!
0173デフォルトの名無しさん
2009/04/18(土) 17:10:29こんな感じ。
int[,] rect = new[,] { { 1, 2, 3 }, { 4, 5, 6 } };
foreach (var x in rect) Console.WriteLine(x);
int[][] jugged = new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } };
foreach (var x in from array in jugged from elem in array select elem)
Console.WriteLine(x);
0174デフォルトの名無しさん
2009/04/18(土) 17:24:26jugged は SelectMany で一発だよ
0175デフォルトの名無しさん
2009/04/18(土) 17:32:00この場合は >>173 でいいと思ってる。
0176デフォルトの名無しさん
2009/04/18(土) 17:49:31今まで二重にforeachしていた。
0177デフォルトの名無しさん
2009/04/18(土) 18:33:06それなら Aggregate とか
0178デフォルトの名無しさん
2009/04/18(土) 18:52:50まあ、素直にそう書くのがいいと思うよw
>>177
それも考えたけど、そこまでしてクエリ式を避ける意味もないかなぁと。
Aggregate じゃなくて Sum とか書ければそれを使ったけども。
0179デフォルトの名無しさん
2009/04/18(土) 19:07:030180デフォルトの名無しさん
2009/04/18(土) 19:23:18うん、普通は、
var q =
from array in jugged
from elem in array
select elem;
foreach (var x in q) ....
って書くと思う。
0181デフォルトの名無しさん
2009/04/18(土) 20:56:47俺もクエリ式大好きなんだけど、foreach 文に含ませたりとかそういう
部分式的な扱いとかメソッド一発の場合はメソッド形式が好みかな
みたいな。避けているわけではない。
0182デフォルトの名無しさん
2009/04/18(土) 20:59:240183デフォルトの名無しさん
2009/04/18(土) 21:35:350184デフォルトの名無しさん
2009/04/18(土) 21:36:490185デフォルトの名無しさん
2009/04/18(土) 21:40:17メソッドチェインが3つ超えたあたりからクエリ式に切り替えてる。
>>183
C# は最初から純粋OOP言語でもないしね。
>>184
英文法的な気持ち悪さよりも、
インテリセンス利くことを優先したからしょうがない。
0186デフォルトの名無しさん
2009/04/18(土) 22:00:19オブジェクト指向の書き方がクエリの書き方にマッチしないといってるのに、
C#は純粋なOOP言語じゃないなんてのは論点のすり替えですよ
0187デフォルトの名無しさん
2009/04/18(土) 22:59:080188デフォルトの名無しさん
2009/04/18(土) 23:11:140189デフォルトの名無しさん
2009/04/18(土) 23:14:450190デフォルトの名無しさん
2009/04/18(土) 23:16:26ベースにOOを使ってOO的じゃないことを実現してる感じ
0191デフォルトの名無しさん
2009/04/18(土) 23:22:20あわねーって話ならわかるけど OOPL がどうこうとかそういうことなのか?
0192デフォルトの名無しさん
2009/04/18(土) 23:24:47>>190
圧倒的に論旨から外れてる
誰もそんなことを論じていない
0193デフォルトの名無しさん
2009/04/18(土) 23:38:360194デフォルトの名無しさん
2009/04/18(土) 23:43:40という意見に、C#は純粋なOOPではないとか、いやC#でもOOPかけるだろとか、
超的外れな意見ばかり出し合ってなれ合って騒いでる
0195デフォルトの名無しさん
2009/04/19(日) 01:49:200196デフォルトの名無しさん
2009/04/19(日) 06:56:11実は井口と野口、山口、この三つしかない
まめちしきな
0197デフォルトの名無しさん
2009/04/19(日) 08:14:00http://wwwww.2ch.net/test/read.cgi/news4vip/1172987773/
0198デフォルトの名無しさん
2009/04/19(日) 10:44:59オブジェクト指向の書き方=UMLですねわかりますえん
0199デフォルトの名無しさん
2009/04/19(日) 12:38:21要はリストビューみたいな挙動にしたいのですが、、、
0200デフォルトの名無しさん
2009/04/19(日) 19:12:265000円札の樋口姓は絶滅したのか?
0201デフォルトの名無しさん
2009/04/19(日) 19:22:220202デフォルトの名無しさん
2009/04/19(日) 23:47:08GETの応答をイベントっぽく受けたい(タイマー待ちしたくない)んですが、
いろいろ試してもうまくいかず。何を使えば良いのか迷っております。助言ください。
初期化関数のSnmpCreateSession()に「callback」関数の登録があり、
応答受信、またはTimeoutを契機にこれが呼ばれることは確認できました。
で、受信解読処理を起こすのにMonitor使おうとしたら「プロセスが違うぜダンナァ」。
Mutexなのか?と思うも、期待通りに動かず…。
ええ、「自分が何をわかっていないのか」が判らない状態であります。
どこか「ここ読んで再チャレンジしてみろ」みたいな指標、ありましたら教えてください。
0203デフォルトの名無しさん
2009/04/19(日) 23:49:28http://www.google.co.jp/search?hl=ja&q=SNMP+C%23&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&oq=
0204デフォルトの名無しさん
2009/04/20(月) 01:21:58それから、Textboxで上書きカーソル(Iビームでない方)は使えないんだろうか?
0205デフォルトの名無しさん
2009/04/20(月) 02:08:41スピンコントロールって名前やめたっぽいよ。
NumericUpDown。
0206デフォルトの名無しさん
2009/04/20(月) 08:27:01VisualC#にて、新規ファイル作成時にWindowsApplication1を別名に変えると
デバック時に依存関係が読み込めないというエラーがでます。
これは何が悪いのでしょうか?デフォルトの名前しか使えないのでしょうか?
0207デフォルトの名無しさん
2009/04/20(月) 10:02:26リビルドしてもだめかい?
0208デフォルトの名無しさん
2009/04/20(月) 19:15:30すみません。プロジェクト名に('A`)が入っていたことが原因のようです。
無くしたら解決しました。
0209デフォルトの名無しさん
2009/04/20(月) 19:31:340210デフォルトの名無しさん
2009/04/20(月) 19:35:28.csのソースを.csprojが入ってるディレクトリ以外に入れて参照できるようにはできないのだろうか。
これは仕様でどうにもならない?
0211デフォルトの名無しさん
2009/04/20(月) 19:41:10できるよ
0212210
2009/04/20(月) 19:44:03ソースだけプロジェクトと別ディレクトリで管理したいから
その方法をぜひ教えてください。どこかのURLとかでもおkです。
0213デフォルトの名無しさん
2009/04/20(月) 19:50:03http://msdn.microsoft.com/ja-jp/library/9f4t9t92.aspx
0214デフォルトの名無しさん
2009/04/20(月) 19:51:06意味が分からん
0216210
2009/04/20(月) 20:32:23オリジナルが変更されないという罠。
リンクとして追加で出来ました。
0217デフォルトの名無しさん
2009/04/21(火) 04:14:41Windowsだとあんまり一般的じゃないのかな。
0218デフォルトの名無しさん
2009/04/21(火) 10:21:34ループ内でファイルコピーを繰り返し行うと、GDIオブジェクトが増え続け、
300回ほどループが回ったところでGDIオブジェクト数が10000になり、ソフトが落ちてしまいます。
XPだと全く問題なく、VistaでもSystem.IO.File.Copyを使えば大丈夫です。
何か注意すべき点などあるのでしょうか?
0219デフォルトの名無しさん
2009/04/21(火) 10:38:02Microsoft.VisualBasic.FileIO.FileSystem.CopyFileで試したけど
少なくともごく簡単なのだと再現しないね@Vista business SP1/.NET 3.5 SP1
0220218
2009/04/21(火) 10:57:35試していただきありがとうございます。
ググっても類似事例がないので、自分が書いたコードが悪いんだろうなとは思っていましたが…
ちなみに、公開しているソフトで、ユーザーからの問い合わせもかなりあるので、環境依存というわけではなさそうです。
再現できるミニマムコードが書けたらまた質問しに来ます。
0221デフォルトの名無しさん
2009/04/21(火) 13:10:58があったとしても、特定環境でしか起こらなければ環境依存だろうよ
ちゃんと集計とか分析とかしたのか?
まあ単に自分の環境が特殊ではないと主張したかったんだろうけど
0222デフォルトの名無しさん
2009/04/21(火) 13:16:06DBのテーブルで誕生日がint型なんだが
これをC#でDateTimeにコンバートしたいんですけど
どうしたらいいですか?
どうも 36524 が 2000-01-01 になるらしい。
0223デフォルトの名無しさん
2009/04/21(火) 13:18:150224デフォルトの名無しさん
2009/04/21(火) 13:20:430225デフォルトの名無しさん
2009/04/21(火) 13:26:371900年2月29日が存在するバグがあるか無いか確認して
まあどちらにしても1900年3月1日からは一致するけど
0226デフォルトの名無しさん
2009/04/21(火) 14:10:560227デフォルトの名無しさん
2009/04/21(火) 15:15:30アセンブリを再ビルドするたびに参照設定をやり直さないとビルドに失敗します。
何かいい方法はないでしょうか。
0228デフォルトの名無しさん
2009/04/21(火) 15:30:04ビルドと配置も同時にやってくれるんでない
0229デフォルトの名無しさん
2009/04/21(火) 15:35:0420090421とか?
0230デフォルトの名無しさん
2009/04/21(火) 15:37:10通常、特定の日付からの経過日数で換算する。
UnixとWindowsそれぞれでやりかたがある。詳しくはぐぐれ。
0231デフォルトの名無しさん
2009/04/21(火) 15:42:420232デフォルトの名無しさん
2009/04/21(火) 15:51:20int表現ならそのほうが便利だろう、引き算だけで経過日数がわかるとか
0233デフォルトの名無しさん
2009/04/21(火) 15:54:10C#で新規設計の時、intでやる奴はいねぇだろ。
0234227
2009/04/21(火) 19:28:15結局自力で解決しました。
csprojファイルをテキストエディタで開いて、
参照設定のItemGroupにおいて
<Reference Include="Azuki.dll" />
といった形に書き換えました。
これでVSのオブジェクトビューアでも直接dll内のアセンブリ情報を見に行くし(当然属性情報も見える)、
アセンブリを再ビルドしてもエラーが出なくなりました。
0235デフォルトの名無しさん
2009/04/21(火) 23:23:43Excel使いから言えば、時間単位の換算がやりやすい。
日→時は24倍すればいいとか。
0236デフォルトの名無しさん
2009/04/21(火) 23:26:57ExcelだとVBAでDateDiffとか使えないの?
0237デフォルトの名無しさん
2009/04/22(水) 00:01:570238デフォルトの名無しさん
2009/04/22(水) 00:08:540239デフォルトの名無しさん
2009/04/22(水) 19:35:27メモリストリームかファイルストリームにする方法がわかりません。
meta = new Metafile(mfms, hmeta);
も
meta = new Metafile("metafile.wmf", hmeta,EmfType.EmfPlusDual);
もGDI+で汎用エラーと出てしまいます。
メタファイルの取得は下記のサイトを参考にしました。
ttp://dobon.net/vb/dotnet/graphics/getclipboardmetafile.html
0240デフォルトの名無しさん
2009/04/22(水) 21:02:32そのページの一番最後のGetEnhMetafileOnClipboardをそのまま使ってもだめなのか?
0241デフォルトの名無しさん
2009/04/22(水) 21:28:00それとは別にMetafile(Stream, IntPtr)で新しいMetafile作って、
Graphics.FromImageでMetafileからGraphics作って、
Graphics.DrawImageで読み取ったImageを描画
…てな流れになるかのう マネージドでやろうとすると
0242239
2009/04/22(水) 22:48:16それでメタファイル形式のデータは取得出来るのですが、
他のデータと合体させてバイナリファイルとして保存したいので、
メモリストリームかファイルストリームにしたいです。
クリップボードのデータをファイルに保存して、
必要な時に読み込み、クリップボードに貼り付けるのが目的です。
>>241
すみません。
いろいろ調べたり試したりしてみてますが、Graphics.DrawImageから
ストリームにする方法がわかりません。
0243デフォルトの名無しさん
2009/04/22(水) 23:59:23ちなみにIntPtrの方はGetDC(IntPtr.Zero)でも適当に作ったBitmapからGraphics.GetHdcでも
0244デフォルトの名無しさん
2009/04/23(木) 00:12:03241のやり方は、ここの「メタファイル形式で保存する」が参考になると思う。
http://dobon.net/vb/dotnet/graphics/saveimage.html
0245デフォルトの名無しさん
2009/04/23(木) 03:25:38それとSortedListの実装はBinaryTreeですか?
0246デフォルトの名無しさん
2009/04/23(木) 09:48:45List<T>.BinarySerach()
0247デフォルトの名無しさん
2009/04/23(木) 09:50:000248デフォルトの名無しさん
2009/04/23(木) 10:15:48ぐぐれ
0249デフォルトの名無しさん
2009/04/23(木) 11:30:30DataSet.ReadSchemaを用いて作ってみましたが、似た形式で出力できるものの、並び順がおかしくなってしまいます。
やはりちゃんとShemaとして読み込んで、それを解析する必要なあるようですが、やり方がわかりません。
ご教授ください。
0250デフォルトの名無しさん
2009/04/23(木) 12:25:07文字列A "qwertyuiop" に
文字列B "cdefghij" のどれか
が1つでも含まれていたら真になるというのを
できるだけ高速にやりたいのです。
考えたのは
�@
s="qwertyuiop";
f = s.IndexOf("c") + 1 + s.IndexOf("d") + 1 + …
�A
配列に文字列Bのテーブルで真偽表を作り
文字列Aを一文字ずつ取り出しAscii値にしてテーブル参照して加算
ですがまだ重そうです。
何か関数等で高速にできる方法ありませんか?
0251デフォルトの名無しさん
2009/04/23(木) 12:41:020252デフォルトの名無しさん
2009/04/23(木) 12:52:05今気づきましたが
s.ToCharArray(); を使えばcharの配列に変換できて
�Aのテーブルとの掛け合わせが簡単にできそうですね。
0253デフォルトの名無しさん
2009/04/23(木) 13:09:41長ければ一方をソートして二分探索
0254239
2009/04/23(木) 13:11:49>>243-244
ttp://dobon.net/vb/dotnet/graphics/getclipboardmetafile.html
を元に下記を作ってみましたが、
DrawImage後もstreamには入っていないようです。
(stream.lengthが0)
使い方が間違っているのでしょうか
ttp://www10.uploader.jp/user/cetinutre/images/cetinutre_uljp00008.txt
0255デフォルトの名無しさん
2009/04/23(木) 13:16:090256デフォルトの名無しさん
2009/04/23(木) 14:53:32部分文字列を取りたいのではなくてマッチするかどうかだけ調べればいいんだな?
実用的には正規表現の文字集合を使う。 match(/[cdefghij]/, "qwertyuiop")
自前でやるならデーブルでヒット走査。
bool[0x100] の走査ウィンドウを作り、全ての要素を倒しておいてから
"cdefghij" を立てる。それから文字列を入力して一文字ずつ走査すればよい。
入力値が無数にあると期待され、テスト前に準備期間が許されるならば、
入力値側を前操作する方法もありえる。
0257デフォルトの名無しさん
2009/04/23(木) 14:55:46WindowsMetaFileとして取り込むにはAPIを直で呼び出す他なさそうだと書いてあるんだが。
.NETの範囲での解法を自力で発見してそれを報告するなら分かるが、
まだ探している段階ならまずは記事に書いてあることを試すべきだろ。
0258239
2009/04/23(木) 15:07:38最初に質問する段階でMetaFileを取り込むところまでは出来てます。
やりたいのは>>242です。
いろいろ調べたり試したりしてはいるのですが、
何もしていないように見えたのならすみませんでした。
>>255
Bitmap bmp = new Bitmap(1, 1);
Graphics bmpg = Graphics.FromImage(bmp);
IntPtr hdc = bmpg.GetHdc();
としてもダメでした。
0259239
2009/04/23(木) 16:14:16最後に emfg.Dispose(); が抜けていたのでダメだったみたいです。
レスくれた方々本当にありがとうございました。
0260デフォルトの名無しさん
2009/04/23(木) 16:21:50正規表現ですか。
基本、文字処理はこれでやればいいわけですね。
ありがとうございます。
0261218
2009/04/23(木) 17:26:23暇な方は試していただけると助かります。
↓GDIオブジェクトが増え続けるケースのメインメソッド
private void FileAdd(string[] stFileList)
{
int i = 0;
foreach (string stFileName in stFileList)
{
FileInfo fi = new FileInfo(stFileName);
i++;
Microsoft.VisualBasic.FileIO.FileSystem.CopyFile(fi.FullName, Path.Combine(Application.StartupPath, "test" + i.ToString("000") + fi.Extension), UIOption.AllDialogs, UICancelOption.ThrowException);
listView1.Items.Add("test" + i.ToString("000") + fi.Extension);
}
}
プロジェクト一式のZIPファイル
ttp://www.dotup.org/uploda/www.dotup.org30324.zip.html
フォームにファイルをD&Dすると、実行ファイルと同じ場所にD&Dしたファイルを番号を振りながらコピーします。
タスクマネージャを見ながら、100個くらいのファイルをD&DすればGDIオブジェクトの上昇がわかりやすいと思います。
再現した環境
WindowsVista x64 (6.0.6001SP1)
.NET Frameworkは最新版です。
(2.0向けなので、System.Environment.Versionで取れる値は、2.0.50727.3074)
0262デフォルトの名無しさん
2009/04/23(木) 17:55:58無効にしなくてもPowerDVDとかは出来るみたいなんだけど。
0263デフォルトの名無しさん
2009/04/23(木) 18:34:51UIOption.AllDialogs のときにそうなるみたいだね。
UIOption.OnlyErrorDialogs だと普通に終わる。
0264デフォルトの名無しさん
2009/04/23(木) 21:14:20今ぐぐってみました。
そしたらこのスレに飛ばされました
0265218
2009/04/23(木) 21:26:56ということは、ダイアログ出してコピー中にユーザーキャンセルできるようにするには、色々自前で組まないと、Vistaでは不具合がでるってことですね。
面倒なのでFile.Copyとうまく使い分けて何とか切り抜けます。
ありがとうございました。
これはVistaの仕様なのか不具合なのか…
0266デフォルトの名無しさん
2009/04/23(木) 22:08:01SHFileOperationはVistaからIFileOperationに置き換えられるようになるから、
ttp://msdn.microsoft.com/ja-jp/magazine/cc163304.aspx
ttp://msdn.microsoft.com/ja-jp/magazine/cc164236.aspx
この辺参考にしてVistaのときはそっち使うようにする、とかどうだろう
これがリークするかどうかは知らないけど
0267デフォルトの名無しさん
2009/04/23(木) 23:18:19↑
これの@ってなんの意味ですか?
0268デフォルトの名無しさん
2009/04/23(木) 23:18:42どうもWebBrowserでWebページを表示していてそこでのスクリプトか何か
の動作がうまく行っていないようなので、そのWebページの動作を調べたい
ときには、そのVS上でそのWebページのソースファイル(htmlファイル)
をいっしょにデバッグするようなことは可能ですか?
Webページは現在はたまたまそこで見ているGoogleのイニシャルページ
で、そこで「検索」ボタンを押したときの動作を見たいのでした。
0269デフォルトの名無しさん
2009/04/23(木) 23:20:37ヘルプのキーワード検索で「@ リテラル文字列」
0270268
2009/04/23(木) 23:21:16思ったのですが、現在のWindowsアプリケーションで開いたときにだけ
不具合を起こしているようなので、統合的に調べたいのでした。
よろしくお願いします。
0271デフォルトの名無しさん
2009/04/24(金) 00:30:43いや、文字通りぐぐったら実装されたライブラリが入手できるんだが?
0272デフォルトの名無しさん
2009/04/24(金) 03:22:58.Netの標準ライブラリには存在しないんですか?
0273デフォルトの名無しさん
2009/04/24(金) 03:49:43ないよ。
BSDライセンスで公開されている実装があるんだから、それ使ってみれば
いいじゃん。
0274デフォルトの名無しさん
2009/04/24(金) 03:57:350275デフォルトの名無しさん
2009/04/24(金) 12:57:200276デフォルトの名無しさん
2009/04/24(金) 16:23:29もしくはAPIは無いでしょうか。
0277デフォルトの名無しさん
2009/04/24(金) 16:26:040278デフォルトの名無しさん
2009/04/24(金) 16:47:05SetActiveWindow(IntPtr.Zero) で、目的の動作を達成することが出来ました。
有り難う御座いました。
0279デフォルトの名無しさん
2009/04/25(土) 14:36:39ISBNから書籍データ類を取得した後、その画像データをローカルに保存する方法で困っています。
画像のURLを取得した後にいちいち
WebClient wc = new WebClient();
Stream stream = wc.OpenRead(url);
Bitmap bitmap = new Bitmap(stream);
stream.Close();
としたあとで
bitmap.save()
とすると保存は出来るのですが、ものすごく時間がかかってしまいます。
画像のURLはWebサービスの参照で自動的に作成された物を使用して所得しています
他に良い方法は無い物でしょうか、教えてください
0280デフォルトの名無しさん
2009/04/25(土) 14:47:38さしあたりパケットスニファのWiresharkとC#のTcpClientでぐぐってみて
0281デフォルトの名無しさん
2009/04/25(土) 14:49:430282デフォルトの名無しさん
2009/04/25(土) 14:50:580283デフォルトの名無しさん
2009/04/25(土) 14:56:560284デフォルトの名無しさん
2009/04/25(土) 16:12:380285デフォルトの名無しさん
2009/04/25(土) 17:17:18if (....) {
......
}
と書くのと
if (....)
{
.....
}
と書くのでは、どちらが一般的なのでしょうか。
0286デフォルトの名無しさん
2009/04/25(土) 17:19:430287デフォルトの名無しさん
2009/04/25(土) 17:21:38http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/CodingStyle.html
0288デフォルトの名無しさん
2009/04/25(土) 17:24:10釣りだろうけど、異教の作法なんか張るなバカ。
0289デフォルトの名無しさん
2009/04/25(土) 17:27:31というか、クエリ投げてもらえる画像ファイルをそのまま保存すればいいと思うんだが?
0290デフォルトの名無しさん
2009/04/25(土) 17:28:12個人的には一貫してさえすればどっちでもいいと思う
0291デフォルトの名無しさん
2009/04/25(土) 17:29:03標準書式が無数にあるC/C++とは違い、C#はVisual Studioによる開発がデファクトスタンダードなんだから、
VSの補完により生成される書式が標準だと考えるのが自然だろう。
0292デフォルトの名無しさん
2009/04/25(土) 17:40:25}
を支持する人はメソッドも
public void Procedure() {
}
派?
0293デフォルトの名無しさん
2009/04/25(土) 17:40:39VSは賢いので開発者の好きにカスタムできます
0294デフォルトの名無しさん
2009/04/25(土) 17:41:240295デフォルトの名無しさん
2009/04/25(土) 17:41:28趣味等で自分の好きに書ける環境なら、好きな方を使えばok
上式で書くなら、メソッド書く時のみ中括弧を字下げ。制御文は同じ行に開始括弧を書く。
コーディング規約と違って、自分のやり方に固執したり
他のやり方に批判的だったりすると気持ち悪がられる分野だから注意。
0296デフォルトの名無しさん
2009/04/25(土) 17:44:28}
だと始まりがよくわからなくて困らない?
0297デフォルトの名無しさん
2009/04/25(土) 17:44:410298デフォルトの名無しさん
2009/04/25(土) 17:45:26そんな事はないけど、C#なら当然それは使わない!!
0299デフォルトの名無しさん
2009/04/25(土) 17:45:590300デフォルトの名無しさん
2009/04/25(土) 17:48:20Java歴が長くてJava信奉の厚い人は
わざとK&Rで書く人多いよね
0301デフォルトの名無しさん
2009/04/25(土) 17:49:20掲示板に書くときは狭いからそうすることも多いけど、コードはK&Rでは書かないな
0302デフォルトの名無しさん
2009/04/25(土) 17:52:090303デフォルトの名無しさん
2009/04/25(土) 17:55:12「福沢諭吉に感銘受けたので旧仮名遣いで日本語書きます」って言ってるようなもんだろ。
0304285
2009/04/25(土) 17:55:40自分の読んでるオブジェクト指向の入門本がJavaを扱って書かれているので
その書き方をしていたみたいです。
どっちでも良いということなので安心しました。
0305デフォルトの名無しさん
2009/04/25(土) 17:56:00会社では大体VSのデフォルトそのままだから下げ
0306デフォルトの名無しさん
2009/04/25(土) 18:01:23.NET Frameworkは3.5(x86)
プログラムに問題が有るのかなぁ?
0307デフォルトの名無しさん
2009/04/25(土) 18:01:400308デフォルトの名無しさん
2009/04/25(土) 18:02:370309デフォルトの名無しさん
2009/04/25(土) 18:09:22思わず英語で喋っちゃった帰国子女っぽくて鼻につく
0310デフォルトの名無しさん
2009/04/25(土) 18:10:570311デフォルトの名無しさん
2009/04/25(土) 18:13:26見事に的を射た表現だな
ただ漏れには非K&Rで書かれてるコードのインデントの意図が
さっぱり理解できない
>>310
待ってくれ。K&Rは return 0 だ
0312デフォルトの名無しさん
2009/04/25(土) 18:14:210313デフォルトの名無しさん
2009/04/25(土) 18:23:38漏れ生まれてないYO
でもお年寄りは国の宝っていうから従っとく
0314デフォルトの名無しさん
2009/04/25(土) 18:28:430315デフォルトの名無しさん
2009/04/25(土) 18:46:02連休中に勉強しよう。
http://www.tech-arts.co.jp/technologies/books/
連休明けの仕事が楽しみなるよ!!
0316デフォルトの名無しさん
2009/04/25(土) 18:59:07いやいや、Visual Studio のデフォルト設定に従えって。
0317デフォルトの名無しさん
2009/04/25(土) 19:00:290318デフォルトの名無しさん
2009/04/25(土) 21:54:45if
begin
end;
だから、
if
{
}
じゃなきゃだめだお
0319デフォルトの名無しさん
2009/04/25(土) 21:58:23if then
endif
だお
0320デフォルトの名無しさん
2009/04/25(土) 22:41:44//コメント1
if()
{
}
//コメント2
else
{
}
こんな感じで書くとインデントも揃ってて見やすいけど閉じ括弧とelseが離れちゃってて気持ち悪い。
if()
{
//コメント1
}
else
{
//コメント2
}
こっちの方がいいのかな?でも条件式にコメントしたいときとか、コメントが連続で2行になることとかあって書きづらい。
C#の標準的にはどうなの?
0321デフォルトの名無しさん
2009/04/25(土) 22:48:02俺は上派
下だとインデントされるから、条件式のコメントじゃないみたいだから
でも気持ち悪いから
//条件式コメント1
//条件式コメント2
if()
//中身のコメント
else
//中身のコメント
よほどの事がなければ、こんな感じで書いてる
0322デフォルトの名無しさん
2009/04/25(土) 22:49:21コメントの記述位置そのものについては通常言語仕様で語られる範疇ではない。
AdaやPythonだと決められてるかもしれないが……。
0323デフォルトの名無しさん
2009/04/25(土) 22:58:080324デフォルトの名無しさん
2009/04/25(土) 23:10:31} else { // comment
}
0325デフォルトの名無しさん
2009/04/25(土) 23:47:130326デフォルトの名無しさん
2009/04/26(日) 00:06:17どうせVSのインデント設定で一括変更とかある程度できるっしょ。
そもそもいろんな言語の国内外のソースよんでりゃ、
インデントがどうのなんて瑣末な問題だと思いますよ?
0327デフォルトの名無しさん
2009/04/26(日) 00:10:460328デフォルトの名無しさん
2009/04/26(日) 11:50:13hoge.ToString()にするのと
(string)(hoge)にするのとで
どのような違いが生じるのでしょうか?
0329デフォルトの名無しさん
2009/04/26(日) 11:54:360330デフォルトの名無しさん
2009/04/26(日) 16:39:430331デフォルトの名無しさん
2009/04/26(日) 17:32:38implicitやexplicitな変換が定義されていればstringでなくてもいけるだろ。
まあstringに対してそれをやるやつはなかなかいないとは思うが。
0332デフォルトの名無しさん
2009/04/26(日) 19:22:270333デフォルトの名無しさん
2009/04/26(日) 19:25:580334デフォルトの名無しさん
2009/04/26(日) 19:33:070335デフォルトの名無しさん
2009/04/26(日) 19:34:06次の収穫は期待できないなw
0336デフォルトの名無しさん
2009/04/26(日) 19:38:52int←→doubleとかvoid*←→int*のような暗黙的・明示的な型変換はC#にもあるぞ。
その上で、さらに任意の型間でキャスト演算子を使えるようにimplicit/explicit operatorを定義できるのがC#。
0337デフォルトの名無しさん
2009/04/27(月) 00:31:54なんかすごい
0338デフォルトの名無しさん
2009/04/27(月) 01:45:42「メニューから項目を表示してください」
って TabControl に表示させたいんですが、良い方法を教えてください。
0339デフォルトの名無しさん
2009/04/27(月) 01:58:280340デフォルトの名無しさん
2009/04/27(月) 02:00:17OnPaintをオーバライドしてGraphicsで描画
0341デフォルトの名無しさん
2009/04/27(月) 02:25:000342デフォルトの名無しさん
2009/04/27(月) 13:28:58DataTableオブジェクトをバインドしてみたのですが
View.DataSource = Table;
こうするとスクロールバーの機能がおかしくなります。
スクロールバーがあるであろう矩形領域は再描画がされなくなり、
マウスでクリックしても表示項目が変更されません。
どなたかご教示お願いします。
0343デフォルトの名無しさん
2009/04/27(月) 16:05:27C#のフォームに自作のActiveXを貼りました。
このActiveXを操作したいのですが、ActiveX側の自作関数が見えません。
関数は、ディスパッチインターフェースに追加しました。
どうやったら、見えますでしょうか?
そもそも、好きに関数を作れば呼び出せるというものではないのでしょうか?
0344デフォルトの名無しさん
2009/04/27(月) 16:21:23ちょっと違う名前空間が前についていることがあるのでよく探してみよう。
0345デフォルトの名無しさん
2009/04/27(月) 18:15:27何がすごいの?
ものすごいの?
0346デフォルトの名無しさん
2009/04/28(火) 00:48:29propertes.Default.setting1.変数名
this.変数名みたいに、短くできないですかね。
0347デフォルトの名無しさん
2009/04/28(火) 04:22:25Class.PropertyNameで取得できるんでね?
0348デフォルトの名無しさん
2009/04/28(火) 14:08:40有難うございます。
ActiveXTestという名前でActiveXは作りました。
Axが頭について、AxActiveXTestという参照?がC#のプロジェクトには
見えているのですが、望む追加関数は、_DActiveXTestという
インターフェース? にあるのかどうなのか、結局見えません。
これはActiveX(C++)側の関数の作り方が悪いのでしょうか?
手作業で、idlファイルを書き換える必要ありますか?
0349デフォルトの名無しさん
2009/04/28(火) 15:50:200350デフォルトの名無しさん
2009/05/01(金) 17:01:16delegate void hoge();
class sampleClass {
public event hoge hogeEvent;
public void callEvent() {
this.hogeEvent();
}
//↓イベントが追加される度に呼び出される
private void addEventCom() {
:
}
}
class mainClass {
public static void main(string arg[]) {
sampleClass o = new sample();
//↓このタイミングで任意の処理を行いたい(addEventComを呼び出したい)
o.hogeEvent += delegate() {
:
}
:
o.callEvent();
}
}
最初、「演算子のオーバーライド(+演算子)でいけるのでは?」と思ったのですが、根本的に間違っていることに気付き...
何かよい方法はないでしょうか?
0351デフォルトの名無しさん
2009/05/01(金) 17:06:16を見れ
0352350
2009/05/02(土) 03:08:00add / remove
ありがとうございました。m(_ _)m
〜追記〜
add / remove を定義する際、マルチスレッドを考慮してlockをかけた
方がいいとおもうのですが、自インスタンス(this)でlockをかけるのは
過度だと思い、lock専用のインスタンスを定義してそのインスタンスに
対してlockをかけるようにしたのですが、一般的でしょうか?
0353デフォルトの名無しさん
2009/05/02(土) 03:22:45http://dobon.net/vb/dotnet/vb2cs/event.html
貼り付けたけど違うんだねわかった
0354デフォルトの名無しさん
2009/05/02(土) 04:47:02一般的<lock用のインスタンス作るの
0355デフォルトの名無しさん
2009/05/02(土) 13:01:18娘が全寮制の高校に通っているのですが
学校でやっているCを自宅に帰ってきてからも
やりたいというのですが。
ウルトラCとかいうのを学校では使っている
そうなのですが調べてもダウンロード販売ばかりで
パッケージ販売が無いようなんです。
しかもダウンロード販売も、実際には販売終了ばかりで。
当方、プログラミングは20年前にN88basicとMASMで終わっている
爺いなんで、どれを購入して娘に与えればいいか
アドバイスお願いします。
0356デフォルトの名無しさん
2009/05/02(土) 13:05:080357デフォルトの名無しさん
2009/05/02(土) 13:09:310358デフォルトの名無しさん
2009/05/02(土) 13:22:550359デフォルトの名無しさん
2009/05/02(土) 14:35:48神に挑戦すること?
0360デフォルトの名無しさん
2009/05/02(土) 16:28:56Visual Studio 2008 Express Edition(無料)
0361デフォルトの名無しさん
2009/05/02(土) 16:34:590362デフォルトの名無しさん
2009/05/02(土) 16:38:23ggrks
0363デフォルトの名無しさん
2009/05/02(土) 21:05:41Niftyでダウンロード購入可能っぽいが
http://store.nifty.com/goods/goods.aspx?goods=00803LBTE001
0364デフォルトの名無しさん
2009/05/02(土) 21:18:45この程度の教官に教わるしかないとか気の毒すぎる
0365デフォルトの名無しさん
2009/05/02(土) 21:20:00ttp://www.runexy.co.jp/news/release/news_080602b
0366デフォルトの名無しさん
2009/05/02(土) 21:21:140367デフォルトの名無しさん
2009/05/02(土) 22:25:190368デフォルトの名無しさん
2009/05/03(日) 01:53:270369デフォルトの名無しさん
2009/05/03(日) 02:05:520370デフォルトの名無しさん
2009/05/03(日) 02:21:590371デフォルトの名無しさん
2009/05/03(日) 02:29:46まず目的を答えたら教えてやりますよ
0372デフォルトの名無しさん
2009/05/03(日) 02:35:190373デフォルトの名無しさん
2009/05/03(日) 02:38:310374デフォルトの名無しさん
2009/05/03(日) 02:41:18MethodImplAttributeでMethodImplOptions.NoInliningを指定するのがそれっぽいことくらい
ぐーぐる先生はすぐ教えてくれたろうに。
0375デフォルトの名無しさん
2009/05/03(日) 02:43:060376デフォルトの名無しさん
2009/05/03(日) 02:55:28NoInlining はインライン最適化は確かに抑制するけど目的が
コールスタック保持とかならこれは一部で意味がないとかあるし
0377デフォルトの名無しさん
2009/05/03(日) 06:27:420378デフォルトの名無しさん
2009/05/03(日) 11:37:43それを入力して認証するようなのがありますが
あれを実現するライブラリってありますか?
あとWebAPIなんかでも公開されてるんすかねえ?
0379デフォルトの名無しさん
2009/05/03(日) 11:50:05WordPress用のは使ったことがあるから誰かモジュール化してるかもね
0380デフォルトの名無しさん
2009/05/03(日) 12:35:56このsの値が変更されるのを防ぐにはどうすればいいですか
0381デフォルトの名無しさん
2009/05/03(日) 12:44:540382デフォルトの名無しさん
2009/05/03(日) 13:15:510383デフォルトの名無しさん
2009/05/03(日) 15:43:44http://search.yahoo.co.jp/search?p=URL%E6%83%85%E5%A0%B1++C%23&ei=UTF-8&fr=top_ga1_sa&fl=0&x=wrt&meta=vc%3D
でeiの項目を取得したり、pの項目を取得できたりみたいな
0384デフォルトの名無しさん
2009/05/03(日) 15:46:020385デフォルトの名無しさん
2009/05/03(日) 15:49:290386デフォルトの名無しさん
2009/05/03(日) 15:59:100387デフォルトの名無しさん
2009/05/03(日) 16:46:13public Dictionary<string, string> GetQueryData(string uri)
{
Dictionary<string, string> dictionary = new Dictionary<string,string>();
string queryString = uri.Split('?').Length == 2 ? uri.Split('?')[1] : "";
foreach (string query in queryString.Split('&'))
if (query.Split('=').Length == 2)
dictionary.Add(query.Split('=')[0], HttpUtility.UrlDecode(query.Split('=')[1]));
return dictionary;
}
0388デフォルトの名無しさん
2009/05/03(日) 17:47:270389デフォルトの名無しさん
2009/05/03(日) 18:28:05今更ではあるが、
つ HttpUtility.ParseQueryString
HttpUtilityまで見ているのに、何故気付かないのかと
あと、>>387だと http://...?hoge=1&hoge=2 とか駄目だな
0390デフォルトの名無しさん
2009/05/03(日) 19:06:33>ParseQueryString
ぬぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ
>あと、>>387だと http?://...?hoge=1&hoge=2 とか駄目だな
なして?
0391デフォルトの名無しさん
2009/05/03(日) 19:11:540392デフォルトの名無しさん
2009/05/03(日) 19:14:52でもそれ受け取った側はどうなるんだべなってのは
サーバサイドの問題か
0393デフォルトの名無しさん
2009/05/03(日) 19:34:010394デフォルトの名無しさん
2009/05/03(日) 19:39:58そうなんだけど、結局、どっちかを無視するしかないんじゃない?
GETで同じのが複数渡された場合、別々の動作をさせることは不可能なんだから
0395デフォルトの名無しさん
2009/05/03(日) 20:16:50たとえばこんなの
<input type="checkbox" name="item" value="1" />
<input type="checkbox" name="item" value="2" />
だからこういうフォームを吐くなら値は配列で持たなきゃいけないし
吐かないならどれかひとつで足りる。残りは捨てても構わない
0396デフォルトの名無しさん
2009/05/03(日) 21:59:25エッ(゚Д゚≡゚Д゚)マジ?
0397デフォルトの名無しさん
2009/05/03(日) 22:25:34?hoge[]=0&hoge[]=1 で配列送れるし
?hoge[foo]=bar で連想配列も送れた筈。
?hoge=0&hoge=1 みたいな時の挙動は知らん
0398デフォルトの名無しさん
2009/05/03(日) 23:06:54x = x++;
の後に x の値見ると C++ は 1 なのに C# は 0 なんだな…
0399デフォルトの名無しさん
2009/05/03(日) 23:07:29.NET1.xの仕様だと配列を再宣言してコピーする操作が必要だから
大きめに配列を宣言しないといけないってググッたら出てきたけど
それって本当だったんですか?
.NET2.xからは可変長な配列が作れるような仕様に
なったって認識で良いですよね?
0400デフォルトの名無しさん
2009/05/03(日) 23:16:24エスパーするに、ListとかArrayListってのが可変長だよ。
つか
>>ファイルなどの不定長データを配列に格納する場合
って何?まさかbyte配列に格納しようとか言うつもりか?
0401デフォルトの名無しさん
2009/05/03(日) 23:19:29入門書一冊読んでこいよ
C#以前にプログラミング言語習得したことないだろ
まー理解できるか知らんけど説明すると
ValueTypeを格納するコレクションが提供されていなかっただけ
パフォーマンスを気にしなければArrayListに格納できた
2.0からはList<byte>が利用できる
0402デフォルトの名無しさん
2009/05/03(日) 23:22:48別に可変長配列を使う必要なんかなかった
単にそのライターがしょぼいんだよ
0403デフォルトの名無しさん
2009/05/03(日) 23:24:120404デフォルトの名無しさん
2009/05/03(日) 23:25:480405デフォルトの名無しさん
2009/05/03(日) 23:29:20インデクサなら上書きで済むけど、Add だとキーが被った時点で例外吐くでしょ
1つしか利用できないとかいう以前に、その1つすら取れないじゃないか
まあ、HttpUtility.ParseQueryString がカンマ区切りなのは、
全部配列にすると面倒だが、フレームワークの実装としては
2個目以降を捨てるわけにもいかないという状況での妥協点だな
0406デフォルトの名無しさん
2009/05/03(日) 23:37:00C/C++/C# すべてその結果は未定義じゃなかったか?
気のせいだったらすまんが。
0407デフォルトの名無しさん
2009/05/03(日) 23:37:32C++ は未定義じゃねーの? 少なくとも、C では未定義。
0408デフォルトの名無しさん
2009/05/03(日) 23:45:210409デフォルトの名無しさん
2009/05/03(日) 23:46:420410デフォルトの名無しさん
2009/05/04(月) 00:17:38演算子の優先順位を考えると C# の動きで正しそうでござるが。
0411デフォルトの名無しさん
2009/05/04(月) 00:17:50y = x++; は、
temp = x;
operator ++(x);
y = temp;
と展開されるのが本則。(2行目はコンパイル通らんと思うが)
yをxに置き換えると、xにも(y同様)最終的に0が代入されるよね。
0412デフォルトの名無しさん
2009/05/04(月) 00:34:51ttp://msdn.microsoft.com/ja-jp/library/ms173145(VS.80).aspx
>ただし、次のコード例の出力は未定義です。
>C#
>int num2 = 5;
>num2 = num2++; //not recommended
>System.Console.WriteLine(num2);
↑の記述でそう思ってたんだけど今見たら
ttp://msdn.microsoft.com/ja-jp/library/ms173145.aspx
>未定義の出力について誤りのある説明を削除
ウヴォアァ。パネェ、MSDN マジパネェ
0413411
2009/05/04(月) 00:43:31int x = 0;
int temp = x;
x = operator ++(x);
x = temp;
ですな。3行目はoperator抜かないとコンパイル通らない。
(意味的には抜いてOK。後置++が特殊)
>>412
ははは。先入観でしょうね。
0414デフォルトの名無しさん
2009/05/05(火) 06:20:30C#の勉強をし始めたのですが
Console.WriteLine(
"{0:#.##}"
,1.1
)
とかですと問題なく表示されるのですが
Console.WriteLine(
"{0:#.##}"
,0
)
にすると表示がなくなってしまいます
0.1にすると0のところが消えてしまい.1だけの表示となるのですが
これを0を含む数を表示させたいときは{}の中はどのように書けばいいのか教えていただけないでしょうか
0415デフォルトの名無しさん
2009/05/05(火) 06:37:46書式の説明はMSDNにあるが何箇所かに分かれていてちょっと探しにくい。
{0:#,0.00}なら普通は {0:N2}と書くかな。
0416デフォルトの名無しさん
2009/05/05(火) 06:47:46頭の0が省略されずにちゃんと表示されました
ほんの少し違うだけで結果が全然違うようになるんですね、、
0417デフォルトの名無しさん
2009/05/05(火) 10:09:310418デフォルトの名無しさん
2009/05/05(火) 22:43:520419デフォルトの名無しさん
2009/05/05(火) 22:50:17try clauseじゃなくて?
とりあえずどんな状況でその言葉が使われてたのか知りたい
0420デフォルトの名無しさん
2009/05/05(火) 22:52:290421デフォルトの名無しさん
2009/05/05(火) 23:05:13文字列変換をするところでエラーで無いようにトライフェーズしておいてって言われました
>>420
トライパース調べてみたらそんな気が・・・
しかしどうやって使うんすか?
引数に文字列と型を渡したら変換してくれる?
0422デフォルトの名無しさん
2009/05/05(火) 23:08:10if(Int32.TryParse("10",out i)){
// 成功
}else{
// 失敗
}
こんなん
0423デフォルトの名無しさん
2009/05/05(火) 23:10:24thx
なるほど変換に成功したらiに変換後の値が入ってくれるのね
まじthx!
0424デフォルトの名無しさん
2009/05/05(火) 23:31:11クオート付けて "トライフェーズ" でGoogleで検索してみるとわかるが、
そんな用語は恐ろしくレアだぞ。
何かを聞き間違えてるから、まずはそれを確認するべき。
0425デフォルトの名無しさん
2009/05/06(水) 11:33:27m.Nameが御目当ての値になったらdataGridView1.AutoSizeColumnsModeに突っ込みたいんだけど
dataGridView1.AutoSizeColumnsMode = m.Name て書いたら型が違うと怒られました。
m.Nameをどう型変換細工してやれば怒られずに済みますか。
0426デフォルトの名無しさん
2009/05/06(水) 11:37:58Enum.Parseで文字列から列挙体に変換できるが
0427デフォルトの名無しさん
2009/05/07(木) 04:34:1610秒かかる
0428デフォルトの名無しさん
2009/05/07(木) 09:34:090429デフォルトの名無しさん
2009/05/08(金) 22:59:430430デフォルトの名無しさん
2009/05/09(土) 09:50:240431デフォルトの名無しさん
2009/05/09(土) 11:09:03ttp://www.tsware.jp/tips/tips_232.htm
0433デフォルトの名無しさん
2009/05/09(土) 15:08:43http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
あとフォームデザインなんかのVSの使い方解説してるお勧めサイトあったら教えてください。
書籍買えばいいんだろうけどせっかくでかいモニタでデュアル構成にしたから
C#&.NET入門はとりあえずオンライン一本でやってみようかなと。
0434デフォルトの名無しさん
2009/05/09(土) 15:22:320435デフォルトの名無しさん
2009/05/09(土) 16:13:36(ってこんなに前のにレスするのも悪いが、指摘しといたほうがいいので)
それはSambaの設定が悪い。smb.confにcase sensitive=yesって設定すれば
Windowsからどちらのファイルにもアクセスできる。
Windows自体は大文字小文字を区別するんだよ。ファイルシステムも区別
するようになってれば、正しい取り扱いが出来る。
NTFSが区別しないだけ。
043622
2009/05/09(土) 16:50:21早速試してみた。
Explorerからメモ長で開く、copyコマンドによるコピー、typeコマンドによるファイルリダイレクトで
読み込み、書き込みにおいてファイル名の大文字小文字が区別しうることを確認できた。
しかし、常用しているEmEditor(複数のファイルを1プロセスで開くタイプのエディタ)では
大文字小文字違いのファイルを同時に扱うことができなかった。
Windowsが標準で使えるFAT12、FAT16、FAT32、NTFSでは
いずれも大文字小文字違いのファイルは作成できず、
その挙動が前提となっているアプリも(少なからず)あるわけで、
残念ながらその指摘は現実的なものではないと思う。
0437デフォルトの名無しさん
2009/05/09(土) 19:51:260438デフォルトの名無しさん
2009/05/09(土) 20:04:50そういうソフトウェアが結構あるのは承知してる。
>>22みたいな一見もっともらしい検証が、Windowsはファイル名の大文字小文字を
区別しないという誤解をますます蔓延させて、いつまで経ってもそういう仕様の
不具合がなくならない一因になってると言っても過言ではない。。
それを指摘したかっただけであって、現在現実的かどうかはどうでもいい。
0439デフォルトの名無しさん
2009/05/09(土) 21:00:00サードパーティーではそこまで気を配れてるのは少ないだろうな。
0440デフォルトの名無しさん
2009/05/09(土) 21:07:16そもそもSambaはSMB/CIFSプロトコルを理解するWindowsの互換環境に過ぎないわけだが。
クライアント側がファイルを読み書きするとき、クライアントはファイル名をそのままファイルサーバー側に投げているだけで、
ファイル名のチェックを行うのはファイルサーバー側だ。
従って、Windowsはファイル名の大文字小文字を区別する、という主張は成り立たない。
0441デフォルトの名無しさん
2009/05/09(土) 21:10:370442デフォルトの名無しさん
2009/05/10(日) 01:11:28System.Windows.Media.Imaging内のBitmapSourceは抽象クラスとあり、
インスタンスの生成ができないようにしているのはわかるのですが、
メンバのCreateメソッドでBitmapSourceオブジェクトを作れるようになってます。
わざわざこのような方法をとるのはどのような理由があるんでしょうか?
ふつうにインスタンスの生成可能なクラスでもいいような気がしますが
抽象メンバも見当たらないですし…見逃してるかもしれないけど
0443デフォルトの名無しさん
2009/05/10(日) 01:22:35Hint: Factoryパターン
BitmapSource.CreateはBitmapSourceの子クラスを返す。
0444デフォルトの名無しさん
2009/05/10(日) 01:25:460445デフォルトの名無しさん
2009/05/10(日) 01:36:23なるほど、調べてきますどうもありがとう
0446デフォルトの名無しさん
2009/05/10(日) 18:39:37objectwiter.write(objectname);
こんな感じで。
たしかJavaにはあったのですが。
0447デフォルトの名無しさん
2009/05/10(日) 18:44:03どっちも癖があるけどな
0448デフォルトの名無しさん
2009/05/10(日) 19:15:00ためしてみます!
0449デフォルトの名無しさん
2009/05/10(日) 19:47:43もっと緩いシリアライザってないのかね。
0450デフォルトの名無しさん
2009/05/10(日) 22:03:31ファイルを保存するという感覚すらないし、
設定をコントロールの表示に直接関連付けすれば読み書きするコードがだいぶ省けるよ。
0451デフォルトの名無しさん
2009/05/10(日) 22:36:58ってどんなライセンス?
英語はわかんね。
ttp://www.noppi.jp/diary/?date=20080227
ここみると商用不可って書いてあったりするんだが、
どんなもん?
0452デフォルトの名無しさん
2009/05/10(日) 22:41:030453デフォルトの名無しさん
2009/05/10(日) 22:41:28わからないライセンスなら使わないという選択肢しかない
0454デフォルトの名無しさん
2009/05/10(日) 22:47:39ライセンス内容と全然違う事書いてて笑った。
何度も強調されてる部分をどうして取り違えるんだろうな
0455デフォルトの名無しさん
2009/05/10(日) 22:49:00http://www.domo2.net/search/search.cgi?word=%83%89%83C%83Z%83%93%83X&tnum=50&sort=res+desc
0456デフォルトの名無しさん
2009/05/10(日) 23:03:30読んだ。
何が知りたいの?
COPLのソフトウェアを組み込んだ商用ソフトウェアを作ることは可能だよ。
ただ、全体としては、ちょっとオープンソースとかフリーソフトウェアの
ライセンスと呼ぶには変な制限が多いライセンスかも。
0457デフォルトの名無しさん
2009/05/10(日) 23:04:37>>455
Code ProjectはMS系の環境のものが多いから、UNIX板ではないかも。
0458デフォルトの名無しさん
2009/05/10(日) 23:12:060459デフォルトの名無しさん
2009/05/10(日) 23:36:06http://code.msdn.microsoft.com/WindowsAPICodePack
・Support for Direct3D 11.0 and DXGI 1.0/1.1 APIs.
Direct3D 11.0 をサポート・・?なん・・だと・・・
0460デフォルトの名無しさん
2009/05/11(月) 01:54:430461デフォルトの名無しさん
2009/05/11(月) 02:23:21やつ。今の Direct3D は DXGI と Direct3D と D3DX から構成される
具体的には、DXGI はテクスチャ、サーフェス周り(フォーマットとか
そんなの)とかアダプタの管理とかそんなの。
>>459
見た感じ SlimDX の焼き直しにしか見えないというかんーむ。
フルマネージにしないの?
0462デフォルトの名無しさん
2009/05/11(月) 10:57:130463デフォルトの名無しさん
2009/05/11(月) 11:33:050464デフォルトの名無しさん
2009/05/11(月) 11:50:13それとROWSPANじゃなくて、COLSPANでしたorz
一応わからない所のソースを載せておきます。
TableRow r = new TableRow();
TableCell c = new TableCell();
c.BackColor = System.Drawing.Color.Aqua;
c.Controls.Add(new LiteralControl("TEST"));
c.Width = 100;
c.colspan = 2; ←できない・・・
r.Cells.Add(c);
0465デフォルトの名無しさん
2009/05/11(月) 11:51:030466デフォルトの名無しさん
2009/05/11(月) 11:59:29もしそうならこっちのがいいかも
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
http://pc12.2ch.net/test/read.cgi/tech/1231506876/
0467デフォルトの名無しさん
2009/05/11(月) 12:04:16まあ環境書けばここでもいいけど、書かないとわからんぞ・・・
ASP.NETのスレもある
【質問】ASP.NETスレ Part5【議論】
http://pc11.2ch.net/test/read.cgi/php/1232671611/
0468デフォルトの名無しさん
2009/05/11(月) 12:08:29c.ColumnSpanが出てきたけどこれじゃないの?
0469デフォルトの名無しさん
2009/05/11(月) 12:44:42以下のどれを使うのが良いですか?
また、どれが一番早いですか?
if (str == "")
if (str == string.Empty)
if (str.Equals(""))
if (str.Equals(string.Empty))
if (str.Length == 0)
0470デフォルトの名無しさん
2009/05/11(月) 12:57:30== で空文字列どっちかと比較が見やすくていいんじゃないか
0471デフォルトの名無しさん
2009/05/11(月) 14:08:24if (str == "")
if (str == string.Empty)
が見やすくていいということですね。
見た感じわかりやすいので上のでいきたいと思います。
0472デフォルトの名無しさん
2009/05/11(月) 14:11:450473デフォルトの名無しさん
2009/05/11(月) 14:19:12そのコードの前後関係によって空文字であるかより、
長さゼロであることが主目的であればLength見るし。
0474デフォルトの名無しさん
2009/05/11(月) 15:35:170475デフォルトの名無しさん
2009/05/11(月) 15:37:56Javaだとコンパイラの最適化でリテラルプールに同じ文字列が放り込まれて
しまう事があるので==は使えないんだよなあ
0476デフォルトの名無しさん
2009/05/11(月) 15:41:54nullは別用途かも知れん
0477デフォルトの名無しさん
2009/05/11(月) 15:54:25逆じゃね?同じ文字が別のリテラルテーブルに放り込まれることがあるだと思うが。
0478デフォルトの名無しさん
2009/05/11(月) 16:02:07両方だろ問題になるのは
0479デフォルトの名無しさん
2009/05/11(月) 16:10:47ちょっとビビった。
0480デフォルトの名無しさん
2009/05/11(月) 16:20:190481デフォルトの名無しさん
2009/05/11(月) 16:24:30解決しました!!
0482デフォルトの名無しさん
2009/05/11(月) 16:25:42ここ最近で上げてるのは、、>>462かな
0483デフォルトの名無しさん
2009/05/11(月) 16:42:44>>468さん
ありがとうございました!!!
0484デフォルトの名無しさん
2009/05/11(月) 21:49:08気持ちはわかるがやりすぎだと思った。
0485デフォルトの名無しさん
2009/05/11(月) 23:07:21すんません、クラスを返すとはどういうことでしょうか?
0486デフォルトの名無しさん
2009/05/11(月) 23:21:300487デフォルトの名無しさん
2009/05/12(火) 11:03:050488デフォルトの名無しさん
2009/05/12(火) 11:04:060489デフォルトの名無しさん
2009/05/12(火) 11:46:560490デフォルトの名無しさん
2009/05/12(火) 18:36:38C#に移行しようと思っています。
OCXの参照設定が分からなくて、アドバイスをいただきたいと思っています。
開発環境はWindowsXPでVS2008です。
分からないのは、参照設定にVBで使われていたocxを選択して、
画面には参照設定の部分に出てくるのですが、
オブジェクトがうまく作られない状態なのです。
COMをC#で使う場合何か特別な記述が必要ですか??
よろしくお願いいたします。
0491デフォルトの名無しさん
2009/05/12(火) 19:14:44あと、可能ならどんなocxかわかると理解が早いかもしれない
0492デフォルトの名無しさん
2009/05/12(火) 19:35:02ActiveX コントロールなら、参照設定ではなく、ツールボックスに追加する。
で、フォームに貼り付けると。
0493デフォルトの名無しさん
2009/05/13(水) 15:59:01変数名の頭にmyをつける理由はなんですか?
0494デフォルトの名無しさん
2009/05/13(水) 16:09:540495デフォルトの名無しさん
2009/05/13(水) 17:26:13学習に最適なStarterKitか何かをご紹介いただけないでしょうか・・・。
0496デフォルトの名無しさん
2009/05/13(水) 17:28:350497デフォルトの名無しさん
2009/05/13(水) 17:48:31マジレスすると、作りたい物を調べながら作れ
自然と覚える
0498デフォルトの名無しさん
2009/05/13(水) 17:49:48どう難儀してるか書いてごらん。
書けないんなら、そっちが問題。
0499デフォルトの名無しさん
2009/05/13(水) 21:44:28だって、マイコンピュータなんだもんw
しゃーないべw
0500デフォルトの名無しさん
2009/05/13(水) 22:23:010501デフォルトの名無しさん
2009/05/13(水) 22:31:230502デフォルトの名無しさん
2009/05/13(水) 22:36:29Book book = new Book();
にしてしまうと大小文字を区別しないVBで困ってしまう。
Dim myBook As New Book
だからmyBookつうわけ。
0503デフォルトの名無しさん
2009/05/14(木) 13:44:42showdialog(this) で子を表示した後に子からthis.Owner を確認してもnullになっています
どうすれば親を設定できるのでしょうか?
0504デフォルトの名無しさん
2009/05/14(木) 14:05:33子フォームでオーナーを確認するのが早すぎたようです
Loadで確認したらきちんと入っていました
お目汚し失礼しました
0505デフォルトの名無しさん
2009/05/14(木) 14:48:56慣れろって話?
0506デフォルトの名無しさん
2009/05/14(木) 15:53:550507デフォルトの名無しさん
2009/05/14(木) 19:19:260508デフォルトの名無しさん
2009/05/14(木) 21:49:56イベント内でwhileなどを使って処理を繰り返してる時に
Form内のラベルのテキストに現在値を更新するようにしても
表示が更新されないままwhileが終了し
進歩が確認できないのですが?
なぜなんでしょうか?
どうやったら更新されるのでしょうか?
0509デフォルトの名無しさん
2009/05/14(木) 21:57:30描画も同じスレッドでやるから、whileで回ってる間は描画できないんだ
明示的にRefreshするのが手っ取り早いけどメッセージループが回る落とし穴
BackgroundWorkerを使うのが吉
0510デフォルトの名無しさん
2009/05/14(木) 22:02:000511デフォルトの名無しさん
2009/05/14(木) 22:03:44while が終わるまで描画されないから。
Refresh() と Application.DoEvents() を入れれば更新される。
お勧めはしないけど。
0512デフォルトの名無しさん
2009/05/14(木) 22:04:19ありがとうございます。
ちょっと調べます。
0513デフォルトの名無しさん
2009/05/15(金) 11:06:01設計から実装までの全体像がわからずに困っています。
いろいろなサイトを見ていても、設計について言及しているものはあっても
そこからどう実装していくかに触れているものはなく。
一方各種Tipsを紹介していてもシステム全体の中でどう使うかは例示されません。
社内には参考になるアプリも教えてもらえる環境もありません。
.NET PET SHOP がMS推奨のKitだとどこかで紹介されていましたが、
ストアドも使われていないし果たしてこれが推奨アーキテクチャなのかと・・・。
案件によってベストな解決は異なるというのはもっともですが、
何か初心者の指針になるようなアプリケーションがないかと質問させていただきました。
初心者な意見で申し訳ありませんが、ご教示いただければ幸いです。
0514デフォルトの名無しさん
2009/05/15(金) 11:30:050515デフォルトの名無しさん
2009/05/15(金) 12:53:08どう困ってるか分かりません。 結局何が分からないか分からないレベルなのでは。
ストアドなんて単語が突然出てくるのも分からない。
0516デフォルトの名無しさん
2009/05/15(金) 13:40:26的外れならごめん
> 設計から実装までの全体像がわからずに困っています。
UMLとかOOとかに拘りすぎてて、何からどう手を付けて良いか分からない典型じゃないか?
C#の勉強をしてるようだが、自分の分からない部分が
言語仕様的な部分なのか、オブジェクト指向的な部分なのか、
(ストアドという言葉が出てるので)DB接続的な部分なのか、
まず分からない部分を明確にしたらどうだ?
Startkitに拘ってるようだが
「これがC#プログラムのスタンダードな構築方法だ!」って感じのプログラムでも探してるのか?
0517デフォルトの名無しさん
2009/05/15(金) 13:48:28小汚くても適当に動くものをでっち上げるしかない。
ある程度組み方を理解できてから設計周りの本読んでいくと
汚い設計のデメリットと綺麗な設計のメリットを身にしみて理解できるんじゃね。
とりあえずはオプソのプロジェクトをDoxygen通して眺めてみるとか。
0518デフォルトの名無しさん
2009/05/15(金) 14:35:46本屋のコンピューター書籍のところのでも連れて行って、
本人の納得のいく入門書でも探したらどうだ……?
ここで一問一答するより早かろう。
0519513
2009/05/15(金) 15:40:45>>516
>UMLとかOOとかに拘りすぎてて、何からどう手を付けて良いか分からない典型じゃないか?
そうかもしれません。
MS推奨のアーキテクチャはAAfNで、SQL文はストアドとしてDB側にまとめて・・・。
でもクラス分割をどうするのか、そこからどう実装するのか、
でも推奨Kitではストアド使わずにハードコーディングしてたり・・・。
浅薄な知識ばかりで混乱しているのかもしれません。
自分の今までの学習方法は、正解あるいは指針となる具体的な事例があって、
それと概念を結びつけることで理解を深め応用していく、というアプローチなのですが、
自社のプロジェクトにそういうものはなく、それでKitのようなものがあればと思った次第です。
>>517
助言とヒントをいただきありがとうございます。
おっしゃる通り、考えることよりも動く方が前進できるのかもしれません。
もうちょい頑張ってみます。
0520デフォルトの名無しさん
2009/05/15(金) 15:50:44成長した自分を実感する事が出来るよ
0521デフォルトの名無しさん
2009/05/15(金) 19:03:430522デフォルトの名無しさん
2009/05/15(金) 23:55:25できるでしょうか?ググッてみたのですがわかりませんでした。
どのようなクラスを調べればよいでしょうか、よろしくお願いします。
0523デフォルトの名無しさん
2009/05/16(土) 00:00:06ttp://dobon.net/vb/dotnet/file/driveinfo.html
0524デフォルトの名無しさん
2009/05/16(土) 00:03:20こういういい奴をツンデレと呼ぶ
0525デフォルトの名無しさん
2009/05/16(土) 00:08:58あちゃー、DOBONさんところにあったんですね、すみませんでした。
一般サイトとヘルプ見たのですがヒットできませんでした。
探し方悪かったです。早急に助けて戴き、ありがとうございました!
またよろしくです!
0526デフォルトの名無しさん
2009/05/16(土) 00:40:56探し方が
ヘ
た
です!
0527デフォルトの名無しさん
2009/05/16(土) 12:08:040528デフォルトの名無しさん
2009/05/16(土) 15:42:41パクリランチャ作りたいのですが、挫折しました。
0529デフォルトの名無しさん
2009/05/16(土) 17:28:51まあ探せばあるのかもしれないが、演出は本質じゃないだろう。
そのパクリランチャとやらを作ってから考えればいいことなんじゃないか?
0530デフォルトの名無しさん
2009/05/16(土) 18:07:53aという基本フォームから、a1,a2,a3と3つの継承フォームを作り、独立したdllを作成・
利用する場合、基本フォームaも独立したdllにしたほうがよい?
そうせずに、基本フォームのソースファイルを「リンクとして追加」で共有して、3つの
dllを作って、本プログラムから基本フォームaを呼び出そうとしたら、aが複数のdllに
存在すると怒られてしまった。
0531デフォルトの名無しさん
2009/05/16(土) 18:31:260532デフォルトの名無しさん
2009/05/16(土) 20:48:450533デフォルトの名無しさん
2009/05/17(日) 00:36:12C#でどのように書けば良いか教えていただけないでしょうか?
0534デフォルトの名無しさん
2009/05/17(日) 00:40:02DirectorySearcher とかで検索すれ
0535デフォルトの名無しさん
2009/05/17(日) 15:46:420536デフォルトの名無しさん
2009/05/17(日) 15:51:410537デフォルトの名無しさん
2009/05/17(日) 16:14:50AJAXならjqueryかprototype.js使えば困ること無いんですが。
0538デフォルトの名無しさん
2009/05/17(日) 16:23:220539デフォルトの名無しさん
2009/05/17(日) 18:51:10テキストボックスのDockをFillにしつつ下部のスクロールバーをステータスバーの上に表示するにはどうすれば?
今の設定では下部のスクロールバーがステータスバーに隠れてしまうのですが・・
0540デフォルトの名無しさん
2009/05/17(日) 18:53:36ステータスバーを前に出せばOK。
0541デフォルトの名無しさん
2009/05/17(日) 18:54:000543デフォルトの名無しさん
2009/05/17(日) 20:55:24それだとTextboxの下が隠れてしまわないか?
TextboxをFillにするのではなく
ステータスバーぎりぎりのサイズに設定した上で上下左右にアンカーをつけるか、
toolStripContainerに管理させてTextboxはContentPanelの中に入れるのが筋だと思うんだが。
0544デフォルトの名無しさん
2009/05/17(日) 21:04:45隠れないよ
DockがBottomになってるから
0545デフォルトの名無しさん
2009/05/17(日) 21:28:55試してみた。ほんとだ。.NET Formsはよくできてるなぁ。
0546デフォルトの名無しさん
2009/05/17(日) 21:38:16試しもしないでケチつけやがって
0547デフォルトの名無しさん
2009/05/17(日) 21:43:250548デフォルトの名無しさん
2009/05/17(日) 21:46:420549デフォルトの名無しさん
2009/05/17(日) 21:46:540550デフォルトの名無しさん
2009/05/17(日) 21:49:160551デフォルトの名無しさん
2009/05/17(日) 21:50:52管理者が殺伐を推奨してる掲示板で何言ってんだか、って感じ。
0552デフォルトの名無しさん
2009/05/17(日) 21:59:270553デフォルトの名無しさん
2009/05/17(日) 22:48:59http://msdn.microsoft.com/ja-jp/library/system.xml.linq.xelement(VS.95).aspx
0554デフォルトの名無しさん
2009/05/17(日) 22:52:560555デフォルトの名無しさん
2009/05/17(日) 22:54:040556デフォルトの名無しさん
2009/05/17(日) 22:56:400557デフォルトの名無しさん
2009/05/17(日) 23:02:36まえはop_Explicitだったのにいつの間にかop_消えてたのな
0558デフォルトの名無しさん
2009/05/17(日) 23:03:46「あれっ?」と思ったのですが、本当だ、よく見たらありましたorz
0559デフォルトの名無しさん
2009/05/17(日) 23:05:16そうそう、前はop_だったのが見当たらないので、
まさかすぐ下に独立した項目があるとは思いもよりませんでした
0560デフォルトの名無しさん
2009/05/18(月) 02:18:27まったくやり方がわかりません。
0561デフォルトの名無しさん
2009/05/18(月) 02:20:170562デフォルトの名無しさん
2009/05/18(月) 02:20:170563デフォルトの名無しさん
2009/05/18(月) 02:22:210564デフォルトの名無しさん
2009/05/18(月) 02:46:360565デフォルトの名無しさん
2009/05/19(火) 21:59:47C#で作ったDLLもやっぱり同様なのでしょうか?
0566デフォルトの名無しさん
2009/05/19(火) 22:01:30けど初心者スレレベルの人には全く関係の無い話です
誰も好き好んでクソコードなんか見ませんから
0567デフォルトの名無しさん
2009/05/19(火) 22:26:39ありがとうございます。
逆に、参考に人のを見られるわけですよね。
0568デフォルトの名無しさん
2009/05/19(火) 22:27:470569デフォルトの名無しさん
2009/05/19(火) 22:29:530570デフォルトの名無しさん
2009/05/19(火) 22:54:080571デフォルトの名無しさん
2009/05/19(火) 23:59:470572デフォルトの名無しさん
2009/05/20(水) 11:18:07Filterで指定した一番左の拡張子が選択されるのは何故ですか?
0573デフォルトの名無しさん
2009/05/20(水) 11:47:490574デフォルトの名無しさん
2009/05/21(木) 11:54:26テンプレの参考サイトについてですが、
・ページのタイトルも書いてください
・googleは検索エンジンであって参考サイトではありません。
解らないことがあったらgoogleで調べよと一言入れておけば良いのでは?
0575デフォルトの名無しさん
2009/05/21(木) 11:59:43任せましたよ。
0576デフォルトの名無しさん
2009/05/21(木) 12:05:54解りました。
次スレから俺好みのスレに調教させてもらいます。
0577デフォルトの名無しさん
2009/05/21(木) 14:15:03そんなら、相談室とふらっとスレがうまいこと棲み分けできるように
調教ついでにおねがいします。
0578デフォルトの名無しさん
2009/05/21(木) 14:38:590579デフォルトの名無しさん
2009/05/21(木) 18:01:59なんでこんな曖昧なことが起きるんだ
コンピュータって何なんだ
0580デフォルトの名無しさん
2009/05/21(木) 18:12:400581デフォルトの名無しさん
2009/05/21(木) 18:50:39代替シェルみたいな
0582デフォルトの名無しさん
2009/05/22(金) 18:17:14スクロール毎にクライアント領域全てを再描画させたいのですが、
AutoScrollの場合、内部でScrollWindowEx?が呼ばれているらしく、
どうしてもOnPaint前にその描画(前回描画したものがずれたもの)が入るようです。
そこでAutoScrollをfalseにし、VerticalScrollを使うようにしてみましたが、
今度はマウスでスクロールした後に、VerticalScroll.Valueが0に戻るようです。
どなた様か解決策をご教示頂けませんでしょうか。
0583デフォルトの名無しさん
2009/05/22(金) 20:42:150584582
2009/05/22(金) 21:25:59AllPaintingInWmPaintはチラツキ対策の為、trueにしてあります。
0585デフォルトの名無しさん
2009/05/22(金) 23:44:09右クリック押下でコンテキストメニューを表示したいのですが、
listViewコントロールにコンテキストメニューを設定すると、
当然どの状態でも表示されてしまうので、抑制する方法を教えてください。
0586デフォルトの名無しさん
2009/05/22(金) 23:50:510587デフォルトの名無しさん
2009/05/23(土) 08:59:34インスタンスを作成しなくとも関数を使用することが
でき、結構便利に使うことができますが、これは、
邪道なのでしょうか。クラス内の関数はクラスの
インスタンスを作成して使うべきなのでしょうか。
使い分けなんかはありますか?
0588デフォルトの名無しさん
2009/05/23(土) 09:34:05いくつも書けばわかってくる
0589デフォルトの名無しさん
2009/05/23(土) 10:10:55責務で分ける。インスタンスが不要 or インスタンスを指定できないような責務なら使う。
ユーティリティクラスと言われる関数の集合を扱うクラスでは有用。例えばMathが良い例。
他にも手順を用いてインスタンスを生成するための関数でも使う。Singletonとか、String.Fromatとか。
しかし、責務としてインスタンスが必要な場合にstatic変数 + static関数にするのはアウト。
書くのがちょっと楽になる程度で、実質static変数の弊害(グローバル変数の弊害)しかない。
0590デフォルトの名無しさん
2009/05/23(土) 10:41:48http://msdn.microsoft.com/ja-jp/library/ms245046.aspx
ちなみにこれは、>>589の言っていることとは矛盾してない。
(「責務」って表現する文化にはなじみがないし、static変数じゃなくて、
クラス変数と言うかスタティックフィールドって言うかどっちかにしてよ、
ってのはともかく)
0591デフォルトの名無しさん
2009/05/23(土) 10:58:33そう?static〜は確かにそうだけど
責務って言葉はけっこう使われると思うな。
0592デフォルトの名無しさん
2009/05/23(土) 11:14:18送られたメッセージに自律的に応答する能力(respond + ability)が
resposibilityだよ。
http://www.merriam-webster.com/dictionary/responsible
1aが最もシンプルな定義になるんだろうけど、OOP用語としては2aが近いかな。
いずれにせよ「応答する能力」が一義的かつ重要なんであって、「責務」って
のはニュアンスとしてだいぶかけ離れている。まあ、responsibleは
プログラミングの世界だけでなく、一般的に常に誤訳されてるような気はするが。
0593デフォルトの名無しさん
2009/05/23(土) 11:27:590594デフォルトの名無しさん
2009/05/23(土) 11:36:34http://dictionary.goo.ne.jp/leaf/jn/205972/m0u/responsibility/
0595デフォルトの名無しさん
2009/05/23(土) 11:38:40> パフォーマンス重視のコードでは、これにより大きくパフォーマンスを向上できます
うーん、これどうなんだろう。どっちかというと、疎結合になるメリット、つまり
「インスタンスに影響を与えない/影響を受けない関数と明示できる」が一番じゃないの?
0596デフォルトの名無しさん
2009/05/23(土) 11:44:25状態を持つものは通常のインスタンス化する
0597デフォルトの名無しさん
2009/05/23(土) 11:52:29Merriam Websterに対してgoo辞書の2単語で対抗しようとするのって
無謀だとは思わないか?
0598デフォルトの名無しさん
2009/05/23(土) 11:56:350599デフォルトの名無しさん
2009/05/23(土) 12:28:410600デフォルトの名無しさん
2009/05/23(土) 12:46:090601デフォルトの名無しさん
2009/05/23(土) 13:24:040602デフォルトの名無しさん
2009/05/23(土) 15:37:20アプリケーションの設定を保存したいのですが、ユーザースコープのようにアプリケーションスコープの値を変更する方法はないでしょうか。
やりたいことは実行ファイルと同一フォルダ上にアプリケーションの設定情報を保存およびその読み出しをしたいだけなのですが、
わざわざ自作しなければならないのでしょうか?
0603デフォルトの名無しさん
2009/05/23(土) 16:22:08>アプリケーションの設定を保存したいのです
>ユーザースコープのようにアプリケーションスコープの値を変更する方法はないでしょうか。
>実行ファイルと同一フォルダ上にアプリケーションの設定情報を保存およびその読み出しをしたい
どれだよおい
0604デフォルトの名無しさん
2009/05/23(土) 16:34:46インターフェイス以外のほとんどコードが書き直しで、
そこを変更してしまうとIDEが対応しない。
で、やるのをあきらめた。
0605602
2009/05/23(土) 22:25:42exe.configをDOMとして読み込んで、上書きという単純すぎる方法。
1、あらかじめフォームデザイナでApplicationSettings>PropertyBindingでアプリケーションスコープの設定をバインド。
2、FormClosedイベントハンドラ辺りに、たとえば以下のコードのように記述。
string assemblyName = this.GetType().Assembly.GetName().Name;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(assemblyName + ".exe.config");
XmlNode node = xmlDoc["configuration"]["applicationSettings"]; //exe.configのxmlを見て決め打ち。
foreach (XmlNode item in node)
{
if (item.FirstChild.Attributes[0].Value == "StatusBarVisible") //ここに、設定の名前を。
{
item.FirstChild.FirstChild.FirstChild.Value = statusStrip1.Visible.ToString(); //入れたい値を代入。
}
}
xmlDoc.Save(assemblyName + ".exe.config"); //保存を忘れずに。
これでexe.configをiniのように使えるっぽいです。
0606デフォルトの名無しさん
2009/05/23(土) 22:40:05あとProgram Filesにインストールしたら書き込めないぞ
0607デフォルトの名無しさん
2009/05/23(土) 22:50:360608デフォルトの名無しさん
2009/05/23(土) 22:57:55びっくりするくらい簡単で使いやすいから
0609デフォルトの名無しさん
2009/05/23(土) 23:03:170610デフォルトの名無しさん
2009/05/23(土) 23:23:16XmlDocumentに比べれば確かに便利
0611デフォルトの名無しさん
2009/05/24(日) 00:21:18VC# express edition を入れたのはいいのですが、教科書のコンソールアプリをコンパイルすることが出来ないでいます。
csc hello.cs
でコンパイルできるようにするには、なにをどうすればいいのでしょうか。
IDE環境でビルドすることはできます。でも短いプログラムごとにプロジェクトをわけるのはどうも大げさすぎて。
0612デフォルトの名無しさん
2009/05/24(日) 00:27:430613デフォルトの名無しさん
2009/05/24(日) 00:28:21プロジェクト右クリック→プロパティ→〜アプリケーションとかなってるやつを
コンソールアプリケーションに変更
0614デフォルトの名無しさん
2009/05/24(日) 00:34:54v3.5はv2.0.50727とかも
0616デフォルトの名無しさん
2009/05/24(日) 01:05:560617デフォルトの名無しさん
2009/05/24(日) 01:15:370618デフォルトの名無しさん
2009/05/24(日) 01:17:13>>ショートカット
自分の環境だと再現できないからよくわかりませんがそうなんですか?
>>Program Files
・・・Vistaだと起きるのか・・・まぁ、不対応って事で。
0619デフォルトの名無しさん
2009/05/24(日) 01:29:08あとショートカットは作業フォルダ=起動時のカレントディレクトリを簡単に変更できる
0620デフォルトの名無しさん
2009/05/24(日) 01:37:02インストーラつきのまともなアプリを作って配布するなら
データの保存場所はMSのガイドラインに沿うべきってだけ。
0621デフォルトの名無しさん
2009/05/24(日) 02:10:27残念ながらVC++以外のエクスプレスにはない。
0623デフォルトの名無しさん
2009/05/24(日) 12:05:13ぐぐって色々把握できました。サンクス
ショートカットはApplication.ExecutePathに置き換えて絶対パスにしました。
書き込みに関してはインストール不要系の習作なので放置。
しかしこんな書き込み関連の仕様だったことを初めて知りましたよ。
もしそこら辺のゲームがuser.config書き込みだったりすると、隠しフォルダだしバックアップもソフト側でお膳立てしないといけないと実質だめそうですね
0624582
2009/05/24(日) 17:34:16前者の問題ですが、SetScrollState(ScrollStateFullDrag, false);とする事により対処出来ました。
ですが、スクロール中に無理矢理再描画するとぶれる現象が再発。
後者の問題はttp://rararahp.cool.ne.jp/cgi-bin/lng/dotnet/dotnetlng.cgi?print+200607/06070002.txt
ここに書いてある現象と全く同一なわけですが、一応解決・・・?
WM_VSCROLLでSB_ENDSCROLL(8)が飛んできたときに、VerticalScroll.Valueが0になるようなので、
base.WndProcに処理を渡さないようにすると「一応」直りました。
こちらは無理矢理再描画してもぶれる現象は発生しませんでした。
これで当初から望んでいた動作にする事が出来たようです。
この方法ですと他の部分に弊害が起きる気もしますがw
以上、指摘や助言等ございましたらレス頂ければ幸いです。
0625582
2009/05/24(日) 17:48:48両者のコードとも、スクロール中にも再描画させる為に
OnScrollにてVerticalScroll.ValueへNewValueを代入し、Invalidate()を実行してます。
OnPaintでは、背景は常に同位置、前景はVerticalScroll.Valueにより移動する等の描画をしてます。
0626デフォルトの名無しさん
2009/05/25(月) 01:34:120627デフォルトの名無しさん
2009/05/25(月) 01:37:40作法的な問題なら知らん
0628デフォルトの名無しさん
2009/05/25(月) 02:11:480629デフォルトの名無しさん
2009/05/25(月) 02:32:410630デフォルトの名無しさん
2009/05/25(月) 02:42:22コード量とコーディングの厳密さとのトレードオフ。
using(var s = new くどくど())... みたいに、宣言してすぐ初期化する場面では冗長な部分を削れたり。
C#は、コード上でも参照ごとに厳密に型付けされてることがコードの追いやすさを支えてる。
宣言と初期化がある程度離れるなら、VSの入力補完もあるんだし、書けば良いのにとも思う。
個人的にはCtrl+Spaceが癖になってるから、タイプ量も速さもそんなに変わらんし。
あとはターゲットが.NET2.0にする時とか、コードを不特定多数に配布する場合とかは避けたりする。VS2005で触るかもってことで。
0631デフォルトの名無しさん
2009/05/25(月) 03:01:22型名が長くなるとか数個の別々の型の変数をまとめて宣言するとかだと
varの方がかえって見やすくなるってことない?(右辺見れば型は明らかって場合ね)
0632デフォルトの名無しさん
2009/05/25(月) 03:07:40何か感銘を受けるようなコードを見る機会があるまでは旧スタイルで保留。
0633デフォルトの名無しさん
2009/05/25(月) 03:31:030634デフォルトの名無しさん
2009/05/25(月) 03:34:53マジだw。やったこと無かったから知らんかったw。さすがC#。
複数宣言の時は参照名の頭が揃って見やすいか。納得。
今のC#のチームは2.0ターゲットだから、3.0の新機能は使ってない。コードも2.0スタイルで書いてる。
家で新機能調査はやるけど、ホビーでも今のところ慣れてる旧スタイルだな。
0635デフォルトの名無しさん
2009/05/25(月) 09:21:43> 今のC#のチームは2.0ターゲットだから、3.0の新機能は使ってない。コードも2.0スタイルで書いてる。
こんな恥ずかしいチームは解散で。
0636デフォルトの名無しさん
2009/05/25(月) 10:29:41使える機能は限られはするがvarは便利だな。
使いすぎには注意だけど、
ローカル変数の宣言以外に使えないから
使いまくってもそれほど可読性は落ちてないな。
0637デフォルトの名無しさん
2009/05/25(月) 11:52:08どうしてですか?
0638デフォルトの名無しさん
2009/05/25(月) 11:59:350639デフォルトの名無しさん
2009/05/25(月) 12:21:250640デフォルトの名無しさん
2009/05/25(月) 14:13:29今ゲームを作っているのですが
物を表すobjっというクラスのインスタンスを複数作りたいんです
インスタンス変数の配列みたいなのを宣言してfor文で一気にインスタンスを作りたいのですが
無理なんでしょうか?
0641デフォルトの名無しさん
2009/05/25(月) 14:20:58現状、他のスレッドを止めて作業しています。
特定スレッド以外から呼び出された場合は、ステップ時の停止をしないようにする方法があれば誰か教えてください。
>>640
意味がよくわからないけどこういう事かな?
obj [] objArray = new obj[100];
for(int i = 0 ; i < objArray.GetLength(0) ;++i) { objArray[i] = new obj() ; }
0642デフォルトの名無しさん
2009/05/25(月) 14:30:18ブレークポイントを右クリックして、フィルタ設定すればできるんじゃないかな?
やったことないから知らんけど
0644デフォルトの名無しさん
2009/05/25(月) 14:36:24どうも、いけてるっぽいですね。
ステップ実行にも適用されているぽいです、今のところ。
0645デフォルトの名無しさん
2009/05/25(月) 21:44:20USBのマウスを2個ないし3個刺して、それぞれのマウスの移動量って個別に取得するとかできます?
1個のマウスじゃないのは、複数のX軸Y軸の動きを見て「マウスの捻り動作」も取得したいからでして、
DirectInput見ても、Mouseイベント見てもマウス自体の識別ができないようで・・。
何か知識や方法ご存知の方いらっしゃったらご教授ください
0646デフォルトの名無しさん
2009/05/25(月) 21:47:520647デフォルトの名無しさん
2009/05/25(月) 21:49:17WM_INPUTである程度どうにかなったっけ
前調べたときはなーんか限界があった気がする
0648デフォルトの名無しさん
2009/05/25(月) 22:15:02C#は関係ないような気がするんだが。
0649デフォルトの名無しさん
2009/05/25(月) 22:17:15てかここじゃなくて、Win32SDK?あたりのスレに行くと有識人と出会えるかも?
0650デフォルトの名無しさん
2009/05/25(月) 22:19:59ありがとうございます。マウスポインタ関係無しで(モニタ上のポインタと関係無く)座標を取りたいので難しそうです。
何よりマウスポインタを複数表示or作成する方法がいまいち・・
>>647
MSDNをみた感じ、詳細なマウスの位置を取ろうと思ったらWM_INPUTが一番いいみたいですね
WINAPIから?しか使えない感じですが調べてみます。
>>648
そうなんですか。
当方C#かVBくらいしか分からないのと、今回使用する言語がC#だったためここで質問しました。
スレ違いでしたら申し訳ありませんでした。
0651デフォルトの名無しさん
2009/05/25(月) 22:32:56ttp://msdn.microsoft.com/ja-jp/library/cc351907.aspx
↑こいつかいねと。
ほかには HID API あたり使うとか。
0652デフォルトの名無しさん
2009/05/25(月) 22:38:26> Microsoft. Windows. XP 上では、Microsoft DirectInput. は、
> システム マウスおよびシステムキーボードとして参照される、
> 1 つのマウス デバイスと 1 つのキーボードデバイスのみを列挙する。
> これらのデバイスは、システム上のすべてのマウスの出力と、
> キーボードの出力の組み合わせをそれぞれ表す。
> Windows XP での複数のマウスまたはキーボードからの読み取り方法については、
> WM_INPUT のドキュメントを参照すること。
0653デフォルトの名無しさん
2009/05/25(月) 22:39:550654デフォルトの名無しさん
2009/05/25(月) 23:30:410655デフォルトの名無しさん
2009/05/25(月) 23:37:190656デフォルトの名無しさん
2009/05/25(月) 23:45:030657デフォルトの名無しさん
2009/05/25(月) 23:49:570658デフォルトの名無しさん
2009/05/26(火) 00:04:100659デフォルトの名無しさん
2009/05/26(火) 00:10:050660デフォルトの名無しさん
2009/05/26(火) 00:12:55電子透かしとかそういった事かと思ったけど、そういう話なの?
0661デフォルトの名無しさん
2009/05/26(火) 00:48:42社内のWEBアプリで使いたいのです。
0662デフォルトの名無しさん
2009/05/26(火) 00:53:37欲しいぶんだけ印鑑の画像を用意して表示させればいいんじゃないの?
0663デフォルトの名無しさん
2009/05/26(火) 12:59:05アホなことしなさんな。
下手すりゃVista以降じゃまともに動かなくなるぞ。
0664デフォルトの名無しさん
2009/05/26(火) 13:03:470665デフォルトの名無しさん
2009/05/26(火) 13:05:210666デフォルトの名無しさん
2009/05/26(火) 14:01:200667デフォルトの名無しさん
2009/05/26(火) 14:06:250668デフォルトの名無しさん
2009/05/26(火) 14:09:160669デフォルトの名無しさん
2009/05/26(火) 14:10:280670デフォルトの名無しさん
2009/05/26(火) 18:46:19あいしてる
0671デフォルトの名無しさん
2009/05/26(火) 18:51:570672デフォルトの名無しさん
2009/05/27(水) 01:17:09ディレクトリへのフルパス(例:"C:\Foo\Bar")から
末端のディレクトリの文字列("Bar")を取得するメソッドってないの?
Bar がファイルだったらPath.GetFileName()でとれるんだけど。
0673デフォルトの名無しさん
2009/05/27(水) 01:18:100674デフォルトの名無しさん
2009/05/27(水) 09:22:11IsolatedStorageExceptionが発生してしまします。
このときのエラーメッセージが
「呼び出し側のアプリケーション ID を確定できません。」
なので、AppDoman.CurrentDomain.ApplicationIdentityがnullなのがいけないのだと思うのですが、
ApplicationIdentityをnull以外にする方法がわかりません。
どうしたら、ApplicationIdentityをnull以外にできるのでしょうか?
0675デフォルトの名無しさん
2009/05/27(水) 13:01:56というかむしろデバッグ中はプロジェクト全体を覆ってしまいたい気がする。
0676デフォルトの名無しさん
2009/05/27(水) 13:26:22桁あふれぎりぎりで演算しなきゃいけないときに使う
コンパイラスィッチで指定できたはず
0677デフォルトの名無しさん
2009/05/27(水) 13:34:02でないとコンパイラスイッチが使えない
0678デフォルトの名無しさん
2009/05/27(水) 15:40:23ツールにメニューが出てきません。(´・ω・`)
このアドインてExpressEditionじゃ使えないんですかね?
0679デフォルトの名無しさん
2009/05/27(水) 15:44:10ttp://japan.internet.com/developer/20061025/26.html
0680デフォルトの名無しさん
2009/05/27(水) 15:44:16未だにこんな人がいたか
EFではアドイン自体つかえません
0681デフォルトの名無しさん
2009/05/27(水) 15:46:480682デフォルトの名無しさん
2009/05/27(水) 16:01:38ExpressじゃStyleCop使えないんですね。
FxCopは完全に勘違いしてました。(´・ω・`)
どうもありがとうございました。orz
0683デフォルトの名無しさん
2009/05/27(水) 17:10:210684デフォルトの名無しさん
2009/05/27(水) 17:23:400685デフォルトの名無しさん
2009/05/27(水) 18:47:260686デフォルトの名無しさん
2009/05/27(水) 18:50:320687デフォルトの名無しさん
2009/05/27(水) 18:50:45メニューとステータスバーのレンダラが違うのって何かおかしいか?
0688デフォルトの名無しさん
2009/05/27(水) 19:53:32とりあえずStyleCopのインストールパス探してみたんですが...
『C:\program files\MSBuild\Microsoft\StyleCop\v4.3』には設定用のexeしか無いんですが、スタンドアロンで使うってどうしたら良いんですか?
0689デフォルトの名無しさん
2009/05/27(水) 20:32:230690デフォルトの名無しさん
2009/05/27(水) 20:39:440691デフォルトの名無しさん
2009/05/27(水) 20:40:120692デフォルトの名無しさん
2009/05/27(水) 20:44:57メニュー、ツールバー、ステータスバーの実装、
ファイルの入出力、ちょっとした状態の管理(新規、変更なし、変更あり)あたりが学べる。
0693デフォルトの名無しさん
2009/05/27(水) 20:46:24いろんなアプリで使いまわせるようになる。
0694デフォルトの名無しさん
2009/05/27(水) 21:13:44上でもあったようにメモ帳からやってみるよ
0695デフォルトの名無しさん
2009/05/27(水) 21:30:18msbuild用だから単体では使えない
プロジェクトファイルを手で書き換えればビルド時に自動的に診断してくれるようになる
stylecop msbuild でググれ
0696デフォルトの名無しさん
2009/05/27(水) 21:42:27どうせ不満が出てくるから
0697デフォルトの名無しさん
2009/05/27(水) 21:49:14関数は一緒でも引数の型違いで動かんのとか結構あるし
setupapi.dllとか半日悩んだわ
0698デフォルトの名無しさん
2009/05/27(水) 21:54:28GetWindowLongPtrとかな
0699デフォルトの名無しさん
2009/05/27(水) 22:02:19そういうのはMSでやってくれよ。
いちいち宣言すんのだるいわ。
そういうプロジェクトどっかにまとまってないのかね。
0700デフォルトの名無しさん
2009/05/27(水) 22:03:55DirectXを扱ったりすると、途端にプラットフォームターゲットがAny CPUのままじゃ動かなくなったりする。
この件は原因が判明するまで苦労したものだった。
0701デフォルトの名無しさん
2009/05/27(水) 22:06:350702デフォルトの名無しさん
2009/05/27(水) 22:10:330703デフォルトの名無しさん
2009/05/27(水) 23:57:30P/Invokeを使うってこと?
他に方法があったりするの?
0704デフォルトの名無しさん
2009/05/27(水) 23:59:28COMのライブラリならCOM Interop
0705デフォルトの名無しさん
2009/05/28(木) 00:03:180706デフォルトの名無しさん
2009/05/28(木) 00:06:49>>703は独立した質問です。紛らわしくてスマソ
>>704
モヤモヤが解けました
0707デフォルトの名無しさん
2009/05/28(木) 01:10:160708デフォルトの名無しさん
2009/05/28(木) 01:16:0910分で終わる
0709デフォルトの名無しさん
2009/05/28(木) 01:19:21Windows Vistaでの挙動を教えてください
0710デフォルトの名無しさん
2009/05/28(木) 01:22:53即レスありがとうございます
1ヶ月くらいかかりそうです(汗
0711デフォルトの名無しさん
2009/05/28(木) 07:50:46ここから、本文とタイトルだけを抽出したいのですが、
System.Net.MailのMailMessageクラスのようなものに、この生メールデータをバインディングして
各種メソッドを使いデータを取り出すようなことは出来ないのでしょうか?
少なくとも、MailMessageクラスにはそのような生データを読み込むメソッドはありませんでした。
方法がありましたら、よろしくお願いします。
0712デフォルトの名無しさん
2009/05/28(木) 08:20:120713デフォルトの名無しさん
2009/05/28(木) 08:27:200714デフォルトの名無しさん
2009/05/28(木) 14:04:51FlatStyle = FlatStyle.Flat、FlatAppearance.BorderSize = 0として
枠線の無い画像ボタンを作ったのですが
Enableをfalseにした時に、枠線が出て来ます
この枠線を消すには、何を指定すれば良いのでしょうか?
0715デフォルトの名無しさん
2009/05/28(木) 14:42:280716714
2009/05/28(木) 14:57:09何だったのか分からないまま再現不能に…('A`)
自分用のツールなので再現した時また考える事にします
ありがとうございました
0717デフォルトの名無しさん
2009/05/28(木) 15:58:040718デフォルトの名無しさん
2009/05/28(木) 16:11:14>Delegate (Object, String) 指定したインスタンス メソッドを指定のクラス インスタンスに対して呼び出すデリゲートを初期化します。
>Delegate (Type, String) 指定したクラスから指定の静的メソッドを呼び出すデリゲートを初期化します。
分かりやすく教えて頂けませんか?
0719デフォルトの名無しさん
2009/05/28(木) 16:20:52public delegate int TestDelegate(string str);
public int TestDelegateMethod(string str){return Int32.Parse(str);}
List<TestDelegate> list = new List<TestDelegate>();
for(int i=0;i<10;i++)
list.Add(new TestDelegate(this.TestDelegateMethod));
0720デフォルトの名無しさん
2009/05/28(木) 17:29:53list.Add(new TestDelegate(null));
nullにできないかと思ったのですが、未指定というのは無理ですか?
0721デフォルトの名無しさん
2009/05/28(木) 17:31:28Nullable
0722デフォルトの名無しさん
2009/05/28(木) 17:36:13って言うかそんなんして何がしたいんだ
0723デフォルトの名無しさん
2009/05/28(木) 17:37:40ありがとうございます。試してみます。
お早い解答に正直驚いてます。;
0724デフォルトの名無しさん
2009/05/28(木) 17:39:33任意のメソッドを格納するデリゲートを複数作りたかったので…。
0725724
2009/05/28(木) 17:46:17テキストファイルに書かれたメソッド
*.txt
{Test(...),Test2(...)} //格納
{Test2(),Test()} //2つめ格納
{Test3(...)} //3つめ。。。
を実行するためにデリゲートがいくつも必要だと思った次第です。
0726デフォルトの名無しさん
2009/05/28(木) 17:49:470727724
2009/05/28(木) 17:52:33どうも。組みなおしてみます。
0728デフォルトの名無しさん
2009/05/28(木) 19:48:39って思ったけどまあ本人が納得してるならそれでいいか
0729デフォルトの名無しさん
2009/05/28(木) 20:09:26型引数64個のクラスとかもうね
0730デフォルトの名無しさん
2009/05/28(木) 20:14:140731デフォルトの名無しさん
2009/05/28(木) 20:24:34誰が上手い事言えとwww
0732デフォルトの名無しさん
2009/05/28(木) 21:28:11すまねぇ ついでてしまったんだHAHAHA
0733デフォルトの名無しさん
2009/05/28(木) 21:38:200734デフォルトの名無しさん
2009/05/29(金) 00:06:22なぜですか?あまり人気がないのでしょうか?
0735デフォルトの名無しさん
2009/05/29(金) 00:08:58何が知りたかったのだ?
0736デフォルトの名無しさん
2009/05/29(金) 00:09:490737デフォルトの名無しさん
2009/05/29(金) 00:12:26ちなみに、オブジェクト指向の何が知りたいんだ?
0738デフォルトの名無しさん
2009/05/29(金) 00:21:18C# で情報少ないとか言ったら、他の言語なんて何もないぞ。
0739デフォルトの名無しさん
2009/05/29(金) 00:28:440740デフォルトの名無しさん
2009/05/29(金) 00:36:520741デフォルトの名無しさん
2009/05/29(金) 00:50:04簡単って言われたけどなんか習得すべき事柄が多いぞ
0742デフォルトの名無しさん
2009/05/29(金) 00:53:300743デフォルトの名無しさん
2009/05/29(金) 01:04:54C++を選択していれば今頃挫折していた。
0744デフォルトの名無しさん
2009/05/29(金) 01:05:21知らなくても困りはしないが、知っておくと得をする程度。
でも、落とし穴がこっそり各所に用意してあるのが怖いけどなw。
「匿名デリゲートは書くのが楽」とだけ理解していてキャプチャでハマったり、
LINQで遅延判定でハマったり。
0745デフォルトの名無しさん
2009/05/29(金) 01:28:49どんどん増えてるねぇ。
でも、あれと同じことを他の言語でやること考えたら、はるかに簡単にできちゃうからなぁ。
0746デフォルトの名無しさん
2009/05/29(金) 01:31:03あー、キャプチャは知らずに乱用してると落とし穴に落ちそうだね
0747デフォルトの名無しさん
2009/05/29(金) 04:25:290748デフォルトの名無しさん
2009/05/29(金) 04:28:000749デフォルトの名無しさん
2009/05/29(金) 04:30:110750デフォルトの名無しさん
2009/05/29(金) 04:46:340751デフォルトの名無しさん
2009/05/29(金) 05:13:40画面のキャプチャやロボットチェックのCAPCHAのことじゃないんだよね?
0752デフォルトの名無しさん
2009/05/29(金) 05:47:140753デフォルトの名無しさん
2009/05/29(金) 05:55:58病気になりそう
0754デフォルトの名無しさん
2009/05/29(金) 05:59:100755デフォルトの名無しさん
2009/05/29(金) 07:44:03for(int i=0;i<10;++i) { hogehoge.PropertyChanged += (s,p) => Debug.WriteLine(i); }と、
for(int i=0;i<10;++i) { int j = i; hogehoge.PropertyChanged += (s,p) => Debug.WriteLine(j); }を
違う結果にする、わくわく系不思議機能。
0756デフォルトの名無しさん
2009/05/29(金) 07:52:390757デフォルトの名無しさん
2009/05/29(金) 09:50:130758デフォルトの名無しさん
2009/05/29(金) 10:31:330759デフォルトの名無しさん
2009/05/29(金) 10:33:32何か例となるソフトでも挙げてみてください
0760デフォルトの名無しさん
2009/05/29(金) 10:35:19ソフトとか良く分からないです
0761デフォルトの名無しさん
2009/05/29(金) 10:38:28手本としてるものはあるわけでしょ
0762デフォルトの名無しさん
2009/05/29(金) 10:40:400763デフォルトの名無しさん
2009/05/29(金) 10:43:40「こういう機能をつけたいなあ」というのがあったらまた来い
0764デフォルトの名無しさん
2009/05/29(金) 10:46:46ありがとうでした
0765≠755
2009/05/29(金) 11:33:51文法上はなってくれないと大問題だけれど、直観的にはそうなって欲しくないな
ほとんどのケースで後者と同じ挙動をしてほしいと思うし。
それと変数が散乱しすぎる。
0766751
2009/05/29(金) 11:39:19delegateやラムダ式につかませる自由変数の扱いは注意しないといけないだろうね。
0767≠755
2009/05/29(金) 11:42:56ラムダ式の内部ではなく、外部で決定しようとするから訳らからん事になってるのかな、文法の吟味が足らない予感がするな。
とくに構造体が相手の場合、普通はコピーが原則なのに此処だけは参照になってしまう。
0768≠756
2009/05/29(金) 12:29:16>ほとんどのケースで後者と同じ挙動をしてほしいと思う
ねーよw
>>766
イベントの登録じゃなくて
>delegateやラムダ式につかませる自由変数
外部変数を捕まえる(取り込む)からキャプチャ
0769デフォルトの名無しさん
2009/05/29(金) 12:32:42ややこしい
0770デフォルトの名無しさん
2009/05/29(金) 12:41:14なるほど。そういう文脈があるとは知らなかったなぁ。
ググってみた限りではC#とC++0xの記事で見られる用語みたいだ。
普通は自由変数といったり、外部変数の束縛と言ったりするんだが。まあ束縛自体がキャプチャの訳語なのかな。
0771デフォルトの名無しさん
2009/05/29(金) 12:42:52>ねーよw
逆に問いたいが、ループ変数が最後の状態の値になった状態が必要なデリゲートなんて意味あるのか?
0772デフォルトの名無しさん
2009/05/29(金) 12:58:13http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_05/csharp20_05_02.html
0773デフォルトの名無しさん
2009/05/29(金) 13:40:43クロージャは関数型言語の概念なので、
値を拘束しない手続き型言語のクロージャはどれも特殊。
手続き型言語の世界ではforやforeachでの解釈は少数派ということはない。
身売り騒動でどっかに行ってしまったが、java7のクロージャも同じ解釈だった。
rubyでも同様に (0..9).each do |i| と for i in 0..9 do で動作が異なる。
C#なら前者はList.ForEachといったところ。
0774デフォルトの名無しさん
2009/05/29(金) 13:41:040775デフォルトの名無しさん
2009/05/29(金) 13:45:40不要と思うなら使わなくてもいいよ 他の人のを読めさえすれば
0776デフォルトの名無しさん
2009/05/29(金) 14:17:23LINQを使い始めれば必要不可欠である事がわかるよ
ラムダ式無しでデータ操作などする気が無くなる
この種のアプローチで、毎回クラス作ってvirtual関数導出してなんてやってたら、手のつけられないクラスの山が出来上がるから。
0777デフォルトの名無しさん
2009/05/29(金) 14:20:33C#の話題の中でのクロージャなんだから、普通にC#的クロージャの話題として受け止めればいい
わざわざ関数型言語の話題なんか持ち出す必要もないかと。
0778デフォルトの名無しさん
2009/05/29(金) 14:21:440779デフォルトの名無しさん
2009/05/29(金) 14:43:13ある日気づいてみたら、そんなクラスがネームスペースの9割を占めていて大事なクラスがちっとも見つかりません、IDEの名前候補機能が役立たずになるし、たまに微妙に高機能になったクラスがあったりして、現物を見るまで正体不明だとか。
そんなライブラリ嫌でしょう?俺は嫌だね
0780デフォルトの名無しさん
2009/05/29(金) 14:55:08あとデリゲートがあるんだからキャプチャの必要がないならクラス作る必要はない。
それからどうせプライベートなクラスならインナークラスにする。
0781デフォルトの名無しさん
2009/05/29(金) 15:08:38すでにそうなりがちな.Net Frameworkを見てさえそう思うなら、そういう事なんでしょう
必要だから作られた、ただそれだけの物。
必要ないなら誰もこんな機能追加しようなんて思い立ちませんよ。
0782デフォルトの名無しさん
2009/05/29(金) 15:23:54おいらも一回だけC#の仕事があったけどそれはこっちのデータを色々いじってそっちに移すってものだったから
LINQもラムダ式もよく使ったというかコードの中心だったしそれをメソッドやクラスに展開したいとは思わない
でも自分が使うだけのちょっとした小物なら別に必要はないと思う
まあおいら自身はラムダ式とか積極的に使うけどさ
0783デフォルトの名無しさん
2009/05/29(金) 15:27:21「必要になったら使え」の一言で終わるだろ
分かったら死ね
0784デフォルトの名無しさん
2009/05/29(金) 15:32:50プログラミング思想信条的な物まで持ち出して話引っ張らないでくれるかね。
○すぞ。
0785デフォルトの名無しさん
2009/05/29(金) 15:34:350786デフォルトの名無しさん
2009/05/29(金) 15:35:350787688
2009/05/29(金) 17:12:16とりあえずググッてみます。
ありがとうございます。
0788デフォルトの名無しさん
2009/05/29(金) 19:30:56いや、教えてください
0789デフォルトの名無しさん
2009/05/29(金) 19:42:30それにGUIが付いたらコントロールとも呼ぶ
0790デフォルトの名無しさん
2009/05/29(金) 19:43:05System.Windows.Forms.Controlとその派生クラスがコントロール
System.ComponentModel.IComponent実装してるのがコンポーネント
0791デフォルトの名無しさん
2009/05/29(金) 21:27:180792デフォルトの名無しさん
2009/05/29(金) 21:51:590793デフォルトの名無しさん
2009/05/29(金) 22:37:48『俺の知らない事は知らなくても問題ない物と』信じて疑わない、たまに居るねw
0794デフォルトの名無しさん
2009/05/29(金) 23:03:42まさにオレのことだな
0795デフォルトの名無しさん
2009/05/29(金) 23:09:290796デフォルトの名無しさん
2009/05/29(金) 23:11:12それでいいのかぁっ
0797デフォルトの名無しさん
2009/05/30(土) 00:21:24WPFやSilverlightやGTK#も忘れないで
0798デフォルトの名無しさん
2009/05/30(土) 00:26:06デフォではスプレッドシートすらないとか、
補完機能が使い物にならないとか、ひどい有様。
0799デフォルトの名無しさん
2009/05/30(土) 00:28:470800デフォルトの名無しさん
2009/05/30(土) 00:43:080801デフォルトの名無しさん
2009/05/30(土) 00:49:570802デフォルトの名無しさん
2009/05/30(土) 00:57:040803デフォルトの名無しさん
2009/05/30(土) 01:01:28応援してください
0804デフォルトの名無しさん
2009/05/30(土) 01:07:16応援してやろう
0805デフォルトの名無しさん
2009/05/30(土) 02:01:11System.Drawing.BitmapのRawFormatを使う以外にありますか?
WPFアプリを作ってるのでWPFライブラリ内を探してるのですが。
0806805
2009/05/30(土) 02:06:45画像形式を判定というより、指定したファイルが画像ファイルであるかを調べたい
のが一番の目標です。
この場合はバイトコードとして読んで自分で判定するコードを書くことになるのかな。
0807デフォルトの名無しさん
2009/05/30(土) 02:08:58「画像ファイル」の範囲にもよるけどな MAGファイルはどうするのか? とか
0808デフォルトの名無しさん
2009/05/30(土) 10:12:31実際にBitmapクラスに開かせて、オープンできれば画像だということにするとか。
0809デフォルトの名無しさん
2009/05/30(土) 10:22:360810デフォルトの名無しさん
2009/05/30(土) 19:31:230811デフォルトの名無しさん
2009/05/30(土) 19:35:390812デフォルトの名無しさん
2009/05/30(土) 22:59:07・クライアント側:
private void Connect(){
TcpClient tcpConnection = new TcpClient(ipEndPoint);
Debug.WriteLine("Connected");
}
・サーバー側:
private void Listen(){
TcpListener tcpListener = new TcpListener(IPAddress.Any, Port);
tcpListener.Start(100);
while (isAlive){
tcpListener.BeginAcceptTcpClient(new AsyncCallback(ListenAcceptCallback), tcpListener);
autoResetEventTCPListen.WaitOne(WaitTime);
}
}
private void ListenAcceptCallback(IAsyncResult ar){
TcpListener tcpListener = (TcpListener)ar.AsyncState;
TcpClient tcpConnection = tcpListener.EndAcceptTcpClient(ar);
Debug.WriteLine("Accepted");
autoResetEventTCPListen.Set();
}
・デバッグメッセージ:クライアント:
Connected
Connected
・デバッグメッセージ:サーバー:
Accepted
(本来Acceptedが表示されるはずだが、表示されない)
よろしくお願いします
0813デフォルトの名無しさん
2009/05/30(土) 23:56:55そもそもAcceptするか?
TcpClientのコンストラクタに渡すIPEndPointはクライアントのローカルのエンドポイントであって
接続先のエンドポイントじゃないはずだが。
NICが複数ある場合にどれを使うか明示するためのもんだったかと。
接続はConnectでやらんと。
0814デフォルトの名無しさん
2009/05/31(日) 00:09:31す、すみません。
TcpClient tcpConnection = new TcpClient();
tcpConnection.Connect(ipEndPoint);
と直してみましたが、やはりAcceptしてくれません。。。
# コードを色々直して試していて、余計なことをしてしまったみたいです…orz
0815デフォルトの名無しさん
2009/05/31(日) 00:22:28どうやらTCP/IPの基本が分かってないようだから、
ここで一問一答を繰り返すよりか、
ソースコード付きのチュートリアルでも探してそのとおりにやってみたら?
0816デフォルトの名無しさん
2009/05/31(日) 00:48:50foreach (Control ctl in this.panel1.Controls)
{
this.panel1.Controls.Remove(ctl);
this.panel2.Controls.Add(ctl);
}
というコードを書いて実行してみたんですが、
これで移動できるコントロールと移動できないコントロールが。
移動できるコントロールと移動できないコントロールの違いって何なのでしょうか?
・コモンコントロールで試した結果
>移動できないコントロール
ListBox
CheckBoxList
TextBox
MaskedTextBox
DateTimePicker
PictureBox
RadioButton
TreeView
>移動できるコントロール
Label
ListView
CheckBox
LinkLabel
ComboBox
MonthCalendar
ProgressBar
RichTextBox
WebBrowser
0817デフォルトの名無しさん
2009/05/31(日) 00:54:110818デフォルトの名無しさん
2009/05/31(日) 01:08:32それ以前にforeachで列挙中にその列挙してるコレクションからRemoveしちゃダメだろ
0819デフォルトの名無しさん
2009/05/31(日) 01:11:380820デフォルトの名無しさん
2009/05/31(日) 01:13:440821デフォルトの名無しさん
2009/05/31(日) 01:16:100823デフォルトの名無しさん
2009/05/31(日) 02:04:02ちょっと感動した
0824デフォルトの名無しさん
2009/05/31(日) 17:38:06System.Windows.Forms.dllを参照設定から追加しようとしてもSystem.Windows.Forms.dllがありません。
VS2008のExpressを使っています。
0825デフォルトの名無しさん
2009/05/31(日) 17:39:02間違えて投稿してしまいました
System.Windows.Forms.dllはどこにあるのでしょうか?
0826デフォルトの名無しさん
2009/05/31(日) 17:42:370827デフォルトの名無しさん
2009/05/31(日) 17:48:420828デフォルトの名無しさん
2009/05/31(日) 17:52:11ないわけない。ソートしてみた?
0829デフォルトの名無しさん
2009/05/31(日) 18:47:01ありがとうございます。>>827のパスで指定したら動いたんですけど
参照設定にはないままです…
0830デフォルトの名無しさん
2009/05/31(日) 19:03:100831デフォルトの名無しさん
2009/05/31(日) 19:57:390832824
2009/06/01(月) 18:51:20今日よく見ていたらありました
みなさんありがとうございました
0833デフォルトの名無しさん
2009/06/01(月) 21:12:070834デフォルトの名無しさん
2009/06/02(火) 09:35:00IEのメニューバーにお気に入りという項目がある(Firefoxでも良いですが)
この項目に所属しているアイテムの上で右クリックするとコンテキストメニューが開き、そのまま削除などの編集ができるようになっている
これと同じことを実現したいのですがうまくいきません
private void toolStripMenuItem1_MouseDown(object sender, MouseEventArgs e) {
if (e.Button == MouseButtons.Right) {
contextMenuStrip1.Show(menuStrip1, e.Location);
}
}
第一パラメータにtoolStripMenuItem1が入らないです
0835デフォルトの名無しさん
2009/06/02(火) 15:06:00メールを片っ端から読み込んで正規表現使ってfromやsubjectを取得するのは
出来たのですが、添付ファイルの文字列の取得がうまくいきません
今はメール送信する段階でbase64にエンコードする頭悪いソースになっています
filename="090615UID_Pj439Oke.jpg"
D035O8lcf9TdfhybQQzQPnftZMjstXCmzqovU0tU7Tk7yS1+7PvV3Gn9ydIZnJM5jHOLju71
6bG6G9VQD5pZHk7R3ntW+vxybzuTptE846Z+dvVVsi6nHiRJ6Rwd0HHHiiMpzxoOdp4aBtH3
〜省略〜
H3NKjLFyp9PUjCqXFA8oMm5EkS60jUbW9ZzdRKAMuaGsB7M71v4ldyozKPLI4ld2tYYZklzz
gVPqQefJS6nsoyTO/gl1HY4jqTs8VCccH2bseK8q6YEG5AAgAckCTjvQBSUAQlLYEk81IGp4
--------------0509000000000000500040704--
file名のサイズ長は固定なので、"filename"をRegexのpatternにして色々と
試してはいるのですが……正規表現はここ最近やり始めたのですが、何か良い
勉強方法とかあったらあわせて教えて欲しいです
0837デフォルトの名無しさん
2009/06/02(火) 19:55:41> pop3サーバにアクセスしてメール受信するdll
...(中略)...
> 今はメール送信する段階でbase64にエンコードする
んんん?
0838デフォルトの名無しさん
2009/06/02(火) 19:57:36CodeProjectにMIMEパーサがあるようだが、試してみた?
http://www.codeproject.com/KB/cs/mime_project.aspx
0839デフォルトの名無しさん
2009/06/02(火) 19:58:22ちなみに、送信するだけならSystem.Net.Mimeを使えばいい。
ごめんなさい、わかりづらいですよね。メール送信受信を使ったバッチっぽいのを
仕事を楽にしたいがために作ってまして……職業は営業なんですけど
>>838
おお、ちょっと見てみますね!ありがとう
>>839
妙な汎用機?がメールを送ってくるので、どうしてもメール受信しないといけないのであります
0841デフォルトの名無しさん
2009/06/02(火) 20:02:57Match m = Regex.Match(input, "filename=\"[^\"]+\"\\s(?<base64>[a-z+/=]+)", RegexOptions.IgnoreCase);
>勉強方法とかあったらあわせて教えて欲しいです
amazon行って、正規表現で検索かけて売り上げの多い順にソートして気に入った本を買う
0842デフォルトの名無しさん
2009/06/02(火) 20:07:52数字抜けてね?
"filename=\"[^\"]+\"\\s(?<base64>[0-9a-z+/=]+)"
0843デフォルトの名無しさん
2009/06/02(火) 20:08:470844デフォルトの名無しさん
2009/06/02(火) 20:18:02持ってるけどさすがに内容が古いよ
60%くらいは役に立たない情報だし、先読み肯定先読み否定等の新しい機能は解説がちょっとしかない
0845デフォルトの名無しさん
2009/06/02(火) 20:32:140846デフォルトの名無しさん
2009/06/02(火) 20:58:01まじでか!?買って来る情報サンクス
0847デフォルトの名無しさん
2009/06/02(火) 21:02:22腕は疲れるが追記されたとこだけ立ち読みでもすれば
0848デフォルトの名無しさん
2009/06/02(火) 21:06:130849デフォルトの名無しさん
2009/06/02(火) 21:34:24本職で無いなら仕方ない状況かもしれないけど、
プログラムが作れるのは何も.NETだけじゃないよ。
(最良の環境の1つであることは間違いないが)
メールの解析、送受信を行いたいなら、
Ruby、Perl、PHPあたりを使ったほうがずっと作りやすい。
GUIは別に用意してあげないといけないけど。
0850デフォルトの名無しさん
2009/06/02(火) 22:28:22このコードでもコンテキストメニューは表示されるけど
メニューアイテム自体は閉じちゃうね。。。
"お気に入り"は表示された状態で、コンテキストメニューが表示されるもんな。
どうやればいいのかな?ご存知の方、お願いします。
0851デフォルトの名無しさん
2009/06/03(水) 11:12:06教えてください。
(ex. 08/1/1, 08/1/2, 08/1/3 の平均は08/1/2みたいな感じ)
0852デフォルトの名無しさん
2009/06/03(水) 11:25:120853デフォルトの名無しさん
2009/06/03(水) 11:35:250854デフォルトの名無しさん
2009/06/03(水) 13:58:55public DateTime Average(this IEnumerable<DateTime> source) {
return new DateTime(source.Average(x => x.Ticks));
}
0855デフォルトの名無しさん
2009/06/03(水) 14:05:150856デフォルトの名無しさん
2009/06/03(水) 20:52:16記憶があいまいだが ToolStripDropDown あたりに確か
AutoClose とかいうプロパティなかったか?
0857デフォルトの名無しさん
2009/06/03(水) 21:34:130858デフォルトの名無しさん
2009/06/03(水) 21:40:120859デフォルトの名無しさん
2009/06/03(水) 21:41:560860デフォルトの名無しさん
2009/06/03(水) 21:48:110861835=850
2009/06/03(水) 21:57:03おぉっ!
ToolStripMenuItemだけに目が行ってToolStripDropDownなんて
発想がなかったのがドツボの元だったんだね。
AutoClose を任意のイベント実装箇所で設定することで、それっぽくなりますね。 ありがとう!
0862デフォルトの名無しさん
2009/06/04(木) 01:38:02a = b == c;
aはtrueですか?
0863デフォルトの名無しさん
2009/06/04(木) 01:42:110864デフォルトの名無しさん
2009/06/04(木) 01:45:54お前も何コンパイルエラーしてるんだ
0865デフォルトの名無しさん
2009/06/04(木) 01:55:48何故不確定事項を試して動けばOKだと考える危ないやつが多いんだろう・・・
規格書読めよ
0866デフォルトの名無しさん
2009/06/04(木) 02:00:04bool a, b = false, c = false;
a = b == c;
0867デフォルトの名無しさん
2009/06/04(木) 02:13:540868デフォルトの名無しさん
2009/06/04(木) 02:14:34不確定事項とは何だ。
0869デフォルトの名無しさん
2009/06/04(木) 02:37:49やはりVB.NET >>>>>>>> C#だな。
0870デフォルトの名無しさん
2009/06/04(木) 02:44:45VB.NET >>>>>>>> C#。
0871デフォルトの名無しさん
2009/06/04(木) 02:47:35不確定な事項だろうがjk
0872デフォルトの名無しさん
2009/06/04(木) 03:31:540873デフォルトの名無しさん
2009/06/04(木) 03:50:14{
public int Num;
public class B
{
Num = 1;
}
}
これどうやったらBからAの変数にアクセスできるようになるんですか?
0874デフォルトの名無しさん
2009/06/04(木) 03:55:37仕組みとか例が詳しい上級者向けの本てありますか?
0875デフォルトの名無しさん
2009/06/04(木) 04:00:050876デフォルトの名無しさん
2009/06/04(木) 04:02:230877デフォルトの名無しさん
2009/06/04(木) 04:03:110878デフォルトの名無しさん
2009/06/04(木) 04:22:00class A
{
int Num = 1;
public A()
{
B b = new A.B(this);
}
public class B
{
public B(Program p) { p.Num=this.num; }
public int num = 0;
}
}
実行してみりゃ分かる
public class A
{
public static int Num;
public class B
{
public B(){
Num = 1;
}
}
}
これでも可
理由はstaticの位置をよく見てちょっと考えろ
0879デフォルトの名無しさん
2009/06/04(木) 04:35:33って省略可ってことなんですか?
class A{
private num;
public static int Num{ get return num; set num = value;}
classB{
Num++;
}
}
この場合だとどうすればいいですか?
0880デフォルトの名無しさん
2009/06/04(木) 04:37:47public static int Num{ get return num; set num = value;}
これがおかしいだろ。
staticなメンバからinstance変数にアクセスできるわけがない。まだ実体が無いんだから。
0881デフォルトの名無しさん
2009/06/04(木) 04:44:50Bから中身変えたいんですけど
最初this.num++;
でAのメンバ変数にアクセスできるとか思ったんですけど
staticってグローバルになるだけですか?
0882デフォルトの名無しさん
2009/06/04(木) 04:55:07これ全部読んで覚えろ
ttp://msdn.microsoft.com/ja-jp/library/6tcf2h8w(VS.80).aspx
0883デフォルトの名無しさん
2009/06/04(木) 05:46:44だから何が不確定な事項なんだ。
頭悪いのか。
0884デフォルトの名無しさん
2009/06/04(木) 05:55:170885デフォルトの名無しさん
2009/06/04(木) 06:09:55試せば十分だ。こんなものにまで規格書まで読む必要無いだろ。
0886デフォルトの名無しさん
2009/06/04(木) 06:14:280887デフォルトの名無しさん
2009/06/04(木) 06:38:540888デフォルトの名無しさん
2009/06/04(木) 06:42:43紛れがなくなるというのも所詮前環境からの思い込みでしかない
0889デフォルトの名無しさん
2009/06/04(木) 07:15:110890デフォルトの名無しさん
2009/06/04(木) 11:01:20Visual Studio 2008 C# を利用してソフト開発を進めています。
1つのソリューションで3つのプロジェクトを管理しているのですが、
プロジェクト間のソースの共有ってできないでしょうか?
変更してはnamespaceを変更してコピーというやり方でやっているのですが、
さすがに辛い作業なので、共用したいです。
分かる方お願いします。
0891デフォルトの名無しさん
2009/06/04(木) 11:06:19このクラスでExtは共通でBaseの部分だけを変えた複数のクラスを作りたい場合
どういう構造にすればいいんですか?
0892デフォルトの名無しさん
2009/06/04(木) 11:09:38共通ファイル使うね。
csprojファイルをコピーして手で書き換えてプロジェクト追加で入れてやれば
できそうだけど、自動でやるほうほうあるかも。
0893デフォルトの名無しさん
2009/06/04(木) 11:10:14共通基盤だからBaseなんだよ
君の言葉通りにするなら↓
public class Ext : Base
public class Ext : Base2
public class Ext : Base3
public class Ext : Base4
public class Ext : Base5
public class Ext : Base6
0894デフォルトの名無しさん
2009/06/04(木) 11:13:07[追加]-[既存の項目]-[リンクとして追加]
0895デフォルトの名無しさん
2009/06/04(木) 11:13:110896デフォルトの名無しさん
2009/06/04(木) 11:13:54○ Baseは共通でExtの部分だけを変えた
こういう質問なんじゃないの。
でもこれだと質問する意味がないか。
そのまんまだもんな。
0897デフォルトの名無しさん
2009/06/04(木) 11:21:340898デフォルトの名無しさん
2009/06/04(木) 11:22:480899デフォルトの名無しさん
2009/06/04(木) 11:35:02Base2 : Ext
とExtを作って全てのベースに潜り込ませればいい話なんですが、もう出来上がってて、
Ext:BaseのBaseのベースはすでに複数で複雑になってるので
Extの独自のコードをすべてのBaseに効率よく潜り込ませたいんです。
たとえばゲームでいうと
Teleport : Ring
Teleport : Brecelet
とかでCostum : Teleport
とできない場合に
TeleportCostum : 入れ替えたいベース
としたいんです。
0900デフォルトの名無しさん
2009/06/04(木) 11:40:27たぶん >894 の方法で問題ないと思うが、通常はファイルはたくさんあるはずなので
csprojファイルをテキストエディタで開いてファイルパスを参照している部分をコピペしたほうが早いだろう。
0901デフォルトの名無しさん
2009/06/04(木) 11:42:490902デフォルトの名無しさん
2009/06/04(木) 11:51:280903デフォルトの名無しさん
2009/06/04(木) 11:59:33たとえに偏りがあるなぁ…
Baseにほぼ全ての実装が含まれてしまっていて,
継承側ではBaseを適宜のメソッド等を適宜呼び出してるって感じ?(むしろBase=Utility?)
正直何が"効率よく"なのか分からないけど,とりあえずクラスの継承関係を見直したほうがいいんじゃないかな!
0904デフォルトの名無しさん
2009/06/04(木) 12:04:55悪いパターンだな
継承は多態性が必要な時だけ使う
単に機能を使い回したいだけなら継承はいらん
0905デフォルトの名無しさん
2009/06/04(木) 12:32:08.NetFrameworkとSilverlightの両方に対応したライブラリを作る時はソースを共有しているな
リンクとして追加も面倒なので、同じ場所にプロジェクトファイルを置いてるけど
0906890(891とは別人です)
2009/06/04(木) 12:32:57>>900
返答ありがとうございます。
お陰様で解決できました!
[リンクとして追加]が無かったので試行錯誤していたのですが、
新規のライブラリプロジェクト(CommonTest)を作成し、そこにソースを追加。
参照先のプロジェクトの参照でCommonTestを追加。
あとはusing CommonTest;として、共有できるようになりました。
ありがとうございました。
0907デフォルトの名無しさん
2009/06/04(木) 12:38:20その手の質問をする奴はアセンブリが増えるのを異常に嫌うやつが多い
0908デフォルトの名無しさん
2009/06/04(木) 12:38:59隠されてるというMSのトラップに引っかかった奴。
0909デフォルトの名無しさん
2009/06/04(木) 12:41:540911デフォルトの名無しさん
2009/06/04(木) 13:00:36複数のプロジェクトでファイルを共有するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/596vssharelinkfile/vssharelinkfile.html
0912890
2009/06/04(木) 13:08:33自分の環境にもありました。。。
0913デフォルトの名無しさん
2009/06/04(木) 15:40:52WCFでRSAとAESのハイブリッド暗号通信をやりたいのですが、
TransportBindingElementを派生してカスタムバインディングを作る方法であっているでしょうか?
もう少し簡単な方法もある気がして・・・
0914デフォルトの名無しさん
2009/06/04(木) 15:54:28visual C# 2008 expressでプログラミングしているのですが、
クラスを作成したとき自動的に「using System.Linq;」という一文が入ってきて、
しかもその部分でコンパイルエラーになってしまいます。
何か設定が悪いのかexpressでは使えないライブラリなのか、
とにかく原因が分かりません。
どなたか教えていただけませんか?
0915デフォルトの名無しさん
2009/06/04(木) 15:58:55struct oya{
int a;
struct {
char a;
char b[10];
} ko;
};
int main(void){
oya oyaoya;
oyaoya.ko.b[0] = 1;
}
これをC#で書くとするとどうしたらいいんでしょうか?
0916デフォルトの名無しさん
2009/06/04(木) 16:12:400917デフォルトの名無しさん
2009/06/04(木) 16:17:13初心者にそんなことを言うな
0918デフォルトの名無しさん
2009/06/04(木) 16:23:590919デフォルトの名無しさん
2009/06/04(木) 16:27:49すいません、一応読んだのですが、Cで言う所のstructとは似て非なる物なのか
ネストした場合のアクセス方法はどうすればよいのかなど、良く分からず混乱しています。
0920デフォルトの名無しさん
2009/06/04(木) 16:30:00とりあえず、その質問に書いてある範囲ではまったく同じ。
プログラムの書き方は、ネットにいくらでもあるチュートリアルサイトを読め。
0921デフォルトの名無しさん
2009/06/04(木) 16:32:21似てない非なるもの
0922デフォルトの名無しさん
2009/06/04(木) 16:35:00どこかおかしいかも。
using System.Linq;は対象のフレームワークが.NET 3.5の時に追加される。
で、対象のフレームワークが.NET 3.0以下のときはコンパイルエラーになる。
プロジェクトのプロパティのアプリケーションの対象のフレームワークのとこどうなってる?
0923デフォルトの名無しさん
2009/06/04(木) 16:55:32> その質問に書いてある範囲ではまったく同じ。
少なくともstruct内で配列の初期化はできん。
0924デフォルトの名無しさん
2009/06/04(木) 17:00:43時間の無駄だったみたいです。自分で調べます
0925デフォルトの名無しさん
2009/06/04(木) 17:02:540926デフォルトの名無しさん
2009/06/04(木) 17:06:44匿名の構造体を定義できない
メンバを外部から操作できない
C/C++のcharとC#のcharは別物
intはまあいいか
そんぐらい?
0927デフォルトの名無しさん
2009/06/04(木) 17:20:27そのまま宣言すると配列がリニアなメモリイメージじゃなくてインスタンスになってしまう。
無名のclass/structが(宣言用には)使えない。
リニアなメモリイメージにどうしてもマップしたい場合はタグつけてstringにすると。
勉強になったよ。どうもありがとう。
0928デフォルトの名無しさん
2009/06/04(木) 17:21:120929デフォルトの名無しさん
2009/06/04(木) 17:25:430930デフォルトの名無しさん
2009/06/04(木) 17:31:49分からないだろうから、別にC#の構造体をなんとか工夫して使う必要も
ないと思うんだよね。
>>915
(全てにpublicをつけて、フィールドを公開しているので、いい例ではないが、
質問の要件が分からないので)
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Oya oyaoya = new Oya();
oyaoya.ko.b[0] = (char)1;
}
}
class Oya
{
public int a = 0;
public class Ko
{
public char a = (char)0;
public char[] b = new char[10];
}
public Ko ko = new Ko();
}
}
0931デフォルトの名無しさん
2009/06/04(木) 17:38:26C#の枠内ならそんな感じだろうね。
Windows APIなどC側のコードと協調するためには
タグ[MarshalAs]を使ってガチャガチャやることになりそうだ。
0932930
2009/06/04(木) 17:46:46構造体の意義から考えて、構造体の中に配列を静的に配置するのは、
もっと簡単にできるようにするべきではなかったのか。
0934デフォルトの名無しさん
2009/06/04(木) 18:51:010935デフォルトの名無しさん
2009/06/04(木) 18:56:00おいらもWCFはノータッチ
まあ>913は質問内容的に初心者スレで聞くことじゃないとは思うがどうせ回答者はほぼ同じだろうしな
0936デフォルトの名無しさん
2009/06/04(木) 20:11:56using System;
using System.Runtime.InteropServices;
[StructLayout(LayoutKind.Sequential)]
class Oya{
public int a;
public Ko ko;
[StructLayout(LayoutKind.Sequential)]
public struct Ko{
public char a;
[MarshalAs(UnmanagedType.LPTStr, SizeConst = 10)]
public string b;
}
}
0937デフォルトの名無しさん
2009/06/04(木) 20:21:430938デフォルトの名無しさん
2009/06/04(木) 21:23:31まあ3.5ならLinqの行は出るわな。
参照設定のSystem.Coreのプロパティでバージョンいくつになってる?
3.5じゃないなら、、.NET framework3.5かC#ごとインストールしなおしでどうか
0939デフォルトの名無しさん
2009/06/04(木) 22:39:24SSLとかじゃだめなん?
おれもWCFではやったことない。
Remotingではやったことある。
おそらくWCFでも似たような感じになるのではないかと思うが、
それなりにちゃんと作ると結構大変だと思うよ。
0940デフォルトの名無しさん
2009/06/04(木) 23:35:01そして調べずにまた質問すると
0941デフォルトの名無しさん
2009/06/05(金) 11:51:32どちらを押してもキーコードが同じだったので途方に暮れてます。
0942デフォルトの名無しさん
2009/06/05(金) 13:31:030944デフォルトの名無しさん
2009/06/05(金) 14:47:11わからねえよ。
もとい
どう解決したかサマリーに残していただけませんか。
今後、同じようなことを考えた人に有用ですので。
0945941
2009/06/05(金) 16:15:12教えていただいたGetAsyncKeyStateでぐぐりました。
今までVK_SHIFTしか知らなかったのですが
VK_LSHIFT、VK_RSHIFTで左右が区別できることがわかりました。
0946デフォルトの名無しさん
2009/06/05(金) 16:18:190947デフォルトの名無しさん
2009/06/05(金) 16:23:180948デフォルトの名無しさん
2009/06/05(金) 18:23:34ありがと。
1つ勉強になった。
0949デフォルトの名無しさん
2009/06/05(金) 21:31:47大変っぽいわ
それでもやるけど
0950デフォルトの名無しさん
2009/06/05(金) 22:50:08目障りな書き込みして、他人に迷惑掛けるな。
0951デフォルトの名無しさん
2009/06/05(金) 22:51:440952デフォルトの名無しさん
2009/06/05(金) 22:53:51何故なら、今、俺は輝いているからだ!
0953デフォルトの名無しさん
2009/06/05(金) 23:11:280954デフォルトの名無しさん
2009/06/06(土) 02:56:170955デフォルトの名無しさん
2009/06/06(土) 03:07:070956デフォルトの名無しさん
2009/06/06(土) 03:14:11必要なら別に多くてもいい。
結果的に大抵は少なくなるけど。
0957デフォルトの名無しさん
2009/06/06(土) 03:20:220958デフォルトの名無しさん
2009/06/06(土) 03:38:24いくらなんでも、それは多すぎw
0959デフォルトの名無しさん
2009/06/06(土) 04:25:39>俺の価値
>俺は今輝いている
>ハゲ言うな包茎
孤立野郎、お前みたいな邪魔な書き込みする奴は来るな。
0960デフォルトの名無しさん
2009/06/06(土) 04:41:27目障りで腐った書き込みして、他人に迷惑を掛けてることは許されん。
いかにもリンチ対象にされそうな奴だな。
0961デフォルトの名無しさん
2009/06/06(土) 07:17:33フォームの大きさが変われば必ずForm1_Paintが呼ばれるものだと思っていましたが、
マウスでフォームの枠をドラッグしてサイズを変更した時、
幅や高さを広げたときはイベントが発生するのですが、
小さくした時にイベントが発生してくれませんでした。
フォームのサイズが変わったときに必ず呼ばれるイベントはどれでしょうか?
環境はVista Business SP2、C# 2008 Express、.Net 3.5です。
0962961
2009/06/06(土) 07:36:38フォーム内のコントロールの位置を初期化するのに使いたいので、
SizeChangedやResizeはアプリの起動時には呼ばれないため使えません。
0963デフォルトの名無しさん
2009/06/06(土) 07:48:520964961
2009/06/06(土) 07:59:05昔の環境だとOnPaintだけで済んだのに…
0965デフォルトの名無しさん
2009/06/06(土) 08:01:340966961
2009/06/06(土) 08:42:04イベントドリブン本来の使い方から外れてるようで好きになれないんですよ。
ほかにいい方法がなさそうなので、
初期化のための関数を作って、LoadとResizeからそれぞれ呼ぶことにしようと思います。
ありがとうございました。
0967デフォルトの名無しさん
2009/06/06(土) 08:46:440968デフォルトの名無しさん
2009/06/06(土) 09:00:590969デフォルトの名無しさん
2009/06/06(土) 09:14:400970デフォルトの名無しさん
2009/06/06(土) 09:17:100971デフォルトの名無しさん
2009/06/06(土) 09:19:090972デフォルトの名無しさん
2009/06/06(土) 09:39:100973デフォルトの名無しさん
2009/06/06(土) 10:28:56386のときにアセンブラを捨てたようにCore2でC++を捨てた。
0974デフォルトの名無しさん
2009/06/06(土) 11:13:13コードのスマートさって大事なんだと思った
0975デフォルトの名無しさん
2009/06/06(土) 11:39:14よく出来てるよなーと感心するところが多い。
アプリケーション設定ファイルの自動生成機構なんて
初めて出来上がるのを見たときは感激したものだ。
XMLシリアライザも、ほとんど何も考えずに使うことが出来る。
C++じゃあ絶対こうはいかないよ。
0976デフォルトの名無しさん
2009/06/06(土) 11:47:56パフォーマンス、開発効率すべての点で非効率だ
0977デフォルトの名無しさん
2009/06/06(土) 11:51:00Intel Compilerみたいに普通のコードを書いたら
勝手に自動並列化されて複数のスレッドで動いたりするのかな?
あるいはOpenMPみたいな仕組みとか。
0978デフォルトの名無しさん
2009/06/06(土) 11:53:290979デフォルトの名無しさん
2009/06/06(土) 11:54:07これが無いおかげで変態的なライブラリと変態的な使用方法でしかプログラムできなくなる。
0980デフォルトの名無しさん
2009/06/06(土) 11:56:10Javaだと使えなかったからね〜
0981デフォルトの名無しさん
2009/06/06(土) 12:04:05正直使う理由が無いんだが。相当奇妙な事しない限り
C++くらい読みにくくなって気持ち悪い
0982デフォルトの名無しさん
2009/06/06(土) 12:05:140983デフォルトの名無しさん
2009/06/06(土) 12:07:17これを高速化に使ってもたいした効果は得られないし。
0984デフォルトの名無しさん
2009/06/06(土) 12:15:29チューニングしなくても十分なほどにはC++は高速ではない、チューニングしなければC#と代わり映えしないが
C#ではチューンできるので結局C#が高速になる、現実的には。
マルチプロセッサで複雑になったロジックではC++の高速性は前提が崩れてしまう。
0985デフォルトの名無しさん
2009/06/06(土) 12:29:200986デフォルトの名無しさん
2009/06/06(土) 12:30:41そうでない人はCPUパワーでカバーした方が早い
0987デフォルトの名無しさん
2009/06/06(土) 12:31:49http://pc12.2ch.net/test/read.cgi/tech/1244259018/
0988デフォルトの名無しさん
2009/06/06(土) 15:39:35このサイト有名だと思うんだけどイマイチ使いかたというか必要事項の検索の仕方がわからん
だれか教えて
0989デフォルトの名無しさん
2009/06/06(土) 15:50:05つか別に site する必要もないな Google に引っかかったときに調べりゃいい
0990デフォルトの名無しさん
2009/06/06(土) 15:50:160991デフォルトの名無しさん
2009/06/06(土) 15:58:37てか44行列の処理できるよね?
0992デフォルトの名無しさん
2009/06/06(土) 16:01:330993デフォルトの名無しさん
2009/06/06(土) 16:05:310994デフォルトの名無しさん
2009/06/06(土) 16:05:59つかMatrix3Dとかいうの使えないのかな?アセンブリとかよくわからん
0995デフォルトの名無しさん
2009/06/06(土) 16:24:07C# 入門で検索すれば@ITの入門連載記事が引っかかるはず。
0996デフォルトの名無しさん
2009/06/06(土) 16:52:110997デフォルトの名無しさん
2009/06/06(土) 16:59:03言い換えると、C++もVB.NETも使えた上で、C#を高く評価する輩はいないと仮定する。
0998デフォルトの名無しさん
2009/06/06(土) 17:02:37で,言いたいことは?
0999デフォルトの名無しさん
2009/06/06(土) 17:04:231000デフォルトの名無しさん
2009/06/06(土) 17:04:2810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。