C♯相談室 Part26
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん♯
NGNG(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
過去スレは>>2-5あたり。
関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
0002名無しさん♯
NGNGPart25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
Part23 http://pc8.2ch.net/test/read.cgi/tech/1112968209/
Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
0003名無しさん♯
NGNGPart12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0004デフォルトの名無しさん
2005/09/19(月) 02:23:45{
case 4:
break;
}
0005デフォルトの名無しさん
2005/09/19(月) 03:03:4013ってこれのことかい?
ttp://makimo.to/2ch/pc2_tech/1071/1071663456.html
0006デフォルトの名無しさん
2005/09/19(月) 03:40:53フォームを最小化し再度表示させると
Paintイベントが発生しないのですが
(ボタン等では発生します)
TextBoxやListViewではなぜ発生しないのでしょうか?
0007デフォルトの名無しさん
2005/09/19(月) 04:53:420008デフォルトの名無しさん
2005/09/19(月) 07:56:590009デフォルトの名無しさん
2005/09/19(月) 11:29:54コントロール上でのマウスの動きを察知する方法ありませんか?
マウスが上に来たらBringToFront()で前面に持ってきたいのです。
MouseMoveイベントがなかったのでAxWebBrowserを継承したクラスをつくり、
WndProcをオーバーライドしてWM_MOUSEMOVEを捕まえようとしたのですが…・・・。
何も表示されていない真っ白な状態ではちゃんとWM_MOUSEMOVEが飛んでくるのですが、
何かを表示(例えばGoogleのページなど)を表示させると飛んでこなくなってしまいます。
PreProcessMessageもダメなようで……。
0010デフォルトの名無しさん
2005/09/19(月) 11:37:010011デフォルトの名無しさん
2005/09/19(月) 13:00:210012デフォルトの名無しさん
2005/09/19(月) 13:01:140013デフォルトの名無しさん
2005/09/19(月) 13:05:41受け渡し両方か、受け取るだけか。
呼出元で初期化が必要か、不要か。
0014デフォルトの名無しさん
2005/09/19(月) 13:06:23そのメソッドの終了を待たずにstringを返すことは可能でしょうか・・・?
可能ならどうすればできるのでしょうか?
0015デフォルトの名無しさん
2005/09/19(月) 13:12:5100169
2005/09/19(月) 13:13:00AxWebBrowserを継承したクラスのDocumentCompleteイベントハンドラで
次のように書いたのですがイベント飛んで来ませんでした。
(DocumentCompleteイベントはちゃんと来てます)
// このイベントハンドラには飛んでくる
private void MyWebBrowser_DocumentComplete(object sender, DWebBrowserEvents2_DocumentCompleteEvent e)
{
mshtml.IHTMLDocument2 doc = this.Document as IHTMLDocument2;
mshtml.IHTMLElement2 body = doc.body as mshtml.IHTMLElement2;
body.attachEvent("onmouseover", new HTMLElementEvents2_onmouseoverEventHandler(WebBrowser_OnMouseOver));
}
// マウスが動いたらこのイベントハンドラに飛んできてくることを期待してた
private void WebBrowser_OnMouseOver( mshtml.IHTMLEventObj e )
{
// ここで目的の処理をしたい
}
やりかた違うのかな……
0017デフォルトの名無しさん
2005/09/19(月) 13:13:270018デフォルトの名無しさん
2005/09/19(月) 13:52:310019デフォルトの名無しさん
2005/09/19(月) 14:02:20まだ正式版は出ていない。
……C#1.1は存在しないはずだが。
0020デフォルトの名無しさん
2005/09/19(月) 14:19:18.NET Framework 1.1 に合わせて、C# もちょっとだけ変更されたはず。
Visual Studio 2003 が出たとき。
俺が覚えてるのは、 /** でドキュメンテーションコメントを書けるようになったっての。
その他はほとんど変わってなかったと思う。
ただ、C# の仕様書のページを見に行ってみたら、そこに存在するのは
1.0 の仕様書と、1.2 と書かれた仕様書だけだった。
正式には C# 1.2 なのかな。
ネット上では "C# 1.1" の方が多数ヒットするんだけど。
>>18
ちなみに、.NET 2.0, C# 2.0 は Visual Studio 2005 に合わせてな。
正式版でるのって来月くらいだっけ?
0021デフォルトの名無しさん
2005/09/19(月) 14:47:280022デフォルトの名無しさん
2005/09/19(月) 15:26:50非同期デリゲート
0023デフォルトの名無しさん
2005/09/19(月) 17:03:14こんなことしてみたんですが、メッセージが届いてないみたいなんです。
どこかおかしいでしょうか?
someclass{
somemethod(){
string path =@"C:\test.txt";
hWnd = 対象アプリのwindow handle;
const int WM_DROPFILES = 0x0233;
_DROPFILES DropFiles = new _DROPFILES();
DropFiles.pFiles = Marshal.SizeOf(DropFiles);
DropFiles.fNC = false;
DropFiles.fWide = true;
DropFiles.FileName = path.ToCharArray();
PostMessage( hWnd, WM_DROPFILES, ref DropFiles, 0 );
}
}
public struct _DROPFILES
{
public int pFiles;
public Point pt;
public bool fNC;
public bool fWide;
public char[] FileName;
}
0024デフォルトの名無しさん
2005/09/19(月) 17:28:15ControlPaint.DrawReversibleLineを描きたいのですが、
以下のようなコードをかきました。
Draw(); //imgに書き込みをれをpictureboxに設定。
Thread.Sleep(1000);
ControlPaint.DrawReversibleLine(pictureBox1.PointToScreen〜);
ところが実際にはDraw()の結果が反映される前に反転線が描画されてしまいます。
確実にDraw()の描画が反映されてから反転線を描くにはどうしたらいいですか?
00259
2005/09/19(月) 18:29:080027デフォルトの名無しさん
2005/09/19(月) 19:18:05ttp://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N022.html
参考になると思うよ。
0028デフォルトの名無しさん
2005/09/19(月) 19:37:49一旦Refreshするとか
//画面に直接描画するのな、DrawReversibleLineって
0029デフォルトの名無しさん
2005/09/19(月) 20:07:40XmlTextReaderでいいんでしょうか?
0030デフォルトの名無しさん
2005/09/19(月) 20:17:46mshtml使ってHTMLDocumentクラスを使うのが早いかも知れない。
そうそう、WebBrowserを使わずにHTMLDocumentを使うがようやく分かった。
一旦HTMLDocumentをnewして、それをIHTMLDocument2にキャストしてからwriteしてやればOKなようだ。
HTMLDocument.writeは一体何をimplementsしてるんだろうか。
ファイルパス指定すればエンコーディングを自動解析して開いてくれるようなのは無いものかな。
0031デフォルトの名無しさん
2005/09/19(月) 20:17:51003229
2005/09/19(月) 20:24:18003329
2005/09/19(月) 20:43:47ttp://jomora.bne.jp/wiki/pukiwiki.php?C%A1%F4%2Fmshtml
0034デフォルトの名無しさん
2005/09/19(月) 20:49:05……しかしよくでてくるなコレ
0035デフォルトの名無しさん
2005/09/19(月) 20:57:36IPersistFile.Load -> スルー。Loadを実行しても永遠にreadyStateはloadingのまま。
IHTMLDocument4.createDocumentFromUrl -> 例外(AccessViolationException)発生。
さあどうしてくれようか。
0036デフォルトの名無しさん
2005/09/19(月) 21:27:43WebBrowserオブジェクトを貼り付けたフォームでキーの押している状態を表示しようとしてキーイベントを拾おうとしたことがあったんだけど、
どうやってもWndProcにメッセージが流れてこないものがあるみたいでその辺のメソッドをoverrideしても無理みたいだった。
IMessageFilterを実装したクラスを用意してメッセージフィルタをセットしておけばメッセージを受け取れたと思うよ。
00379
2005/09/19(月) 22:00:40ありがとう、ちょっくら挑戦してみる
00389
2005/09/19(月) 22:44:22PreFilterMessageメソッド内で受け取ることができました。
どうもありがとう。
0039デフォルトの名無しさん
2005/09/19(月) 23:04:20内容はクライアント側のTextBoxに書かれた文字データを送信し、サーバ側の
TextBoxに表示する。といったものを作っています。
お聞きしたいことは一回サーバクライアント間でコネクションを確立させた後に、
クライアント側のアプリケーションを終了させるとサーバ側がコネクションエラーをキャッチします。
すると、次にクライアントのアプリケーションを立ち上げてもコネクションを確立する事が出来なくなります。
クライアントとのコネクションが切れた時にサーバ側にどういった対処が必要なのでしょう?
解決法をご存知の方がいましたら教えてください。よろしくお願いします。
0040デフォルトの名無しさん
2005/09/19(月) 23:28:010042デフォルトの名無しさん
2005/09/20(火) 00:32:33SocketOptionName.ReuseAddressが設定されてないと
以前に使用されたアドレスがしばらく使用できないと聞いたことがあるようなないような。
WinSockの話を読みかえることが必要になるが、ここで聞くより↓で聞いたほうがいいんじゃないか。
ネットワークプログラミング相談室 Port14
http://pc8.2ch.net/test/read.cgi/tech/1118469143/
0043デフォルトの名無しさん
2005/09/20(火) 00:45:49それはサーバー再立ち上げ時の話じゃ?
0044デフォルトの名無しさん
2005/09/20(火) 00:51:30タスクバーでタイトルバーが点滅して自己主張しますよね。
あれを自分のアプリで実装したいのですが、
FormかWinAPIにその機能がもともとついてたりしますか?
0045デフォルトの名無しさん
2005/09/20(火) 00:57:430046デフォルトの名無しさん
2005/09/20(火) 02:39:02ttp://www.sugi-family.net/papancs/cs_tips.asp?cate=3&tips=3012
0047デフォルトの名無しさん
2005/09/20(火) 04:59:08Win32api呼んでるじゃないの
0048デフォルトの名無しさん
2005/09/20(火) 17:02:13自動的に Textのプロパティが TextBox1と自動的にNameの名前になりますが、
TextBoxを追加した時点で、
Textのプロパティを空の文字列にすることは可能ですか?
0049デフォルトの名無しさん
2005/09/20(火) 20:34:11Win32 API の SetForegroundWindow の挙動だね。
以下のページを見るに System.Windows.Forms.Form.Activate でいけるんじゃない?
http://www.microsoft.com/japan/msdn/net/general/win32map.asp
0050デフォルトの名無しさん
2005/09/20(火) 20:34:55毎回 get set 書くの面倒なんだが。
005144
2005/09/20(火) 20:39:26レスありがとうございました。
Win32APIのFlashWindowExをDllImportで呼んで使うことにします。
0052デフォルトの名無しさん
2005/09/20(火) 22:01:45VS 2005 にそんな機能あった気が。
0053デフォルトの名無しさん
2005/09/20(火) 22:03:38いくつも出てるよ。
漏れは自分で作った。
0054デフォルトの名無しさん
2005/09/20(火) 22:04:34切り替わるようになった。
タイプ中に突然フォーカスを奪われて、はずみでOKボタン
押しちゃった、というトラブルの防止策です。
これを一時的に無効にするAPIとか技とかは、探せば出てきます。
AllowSetForegroundWindowだったっけ?
0055デフォルトの名無しさん
2005/09/20(火) 22:24:00そんなに単純じゃないだろ。
ttp://techtips.belution.com/ja/vc/0012/
0056デフォルトの名無しさん
2005/09/20(火) 22:31:59できるんですか?
それ以外はデリゲートの非同期メソッドを使うのでしょうか?
0057デフォルトの名無しさん
2005/09/20(火) 22:36:520058デフォルトの名無しさん
2005/09/20(火) 23:57:57途中で処理が終わりますよね?
0059デフォルトの名無しさん
2005/09/21(水) 00:01:030060デフォルトの名無しさん
2005/09/21(水) 00:01:24thread.IsBackground = false;
0061デフォルトの名無しさん
2005/09/21(水) 00:04:040062デフォルトの名無しさん
2005/09/21(水) 00:33:10素のVS2005にあったっけ
0063デフォルトの名無しさん
2005/09/21(水) 01:07:59リファクタ -> フィールドのカプセル化
複数のメンバをまとめて処理できないからちょっと不便だけどね。
0064デフォルトの名無しさん
2005/09/21(水) 01:08:15Enum値の日本語表記がどーしてもできん。
あとbool型のtrue/falseもはい/いいえにしたい。
TypeConverterを継承して何かやるっぽいけど、
実際どういう風に書きゃいいのか・・・ご教示きぼん
0065デフォルトの名無しさん
2005/09/21(水) 01:33:09http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdndotnet/htm/usingpropgrid.asp
0066デフォルトの名無しさん
2005/09/21(水) 03:03:34IHTMLDocument4インターフェイスのcreateDocumentFromUrlを使っていて、
起動時に読み込んだあと元のHTMLが更新されても
新しいHTMLを読み込んでくれないのですが、キャッシュを無視するとかオプションはないのでしょうか?
COMスレが落ちてしまっているようなので、こちらで質問させていただきました。
よろしくお願いします。
0067デフォルトの名無しさん
2005/09/21(水) 08:49:000069デフォルトの名無しさん
2005/09/21(水) 14:41:55C#でのリークの調査と言うのはどのように行うのでしょうか?
C++なら1回動かすとXXバイト増えてるから・・・って出来たのですが
GCが走らないとメモリ開放しないようなのでC++の時のように
判断が出来ないでいます。
0070デフォルトの名無しさん
2005/09/21(水) 14:49:41プロファイラ
0071デフォルトの名無しさん
2005/09/21(水) 14:52:210072デフォルトの名無しさん
2005/09/21(水) 15:02:45プロファイラというと?
0073デフォルトの名無しさん
2005/09/21(水) 15:33:49循環参照
0074デフォルトの名無しさん
2005/09/21(水) 15:34:55・予期せぬ所で参照が残っている
・GC管理外のメモリを確保した(例・System.Runtime.InteropServices.Marshal.AllocHGLobal)
0075デフォルトの名無しさん
2005/09/21(水) 18:28:45循環参照でも解放されるよ。
0076デフォルトの名無しさん
2005/09/21(水) 19:46:44というか循環参照を解決しようとしてあんな複雑なGCになってやがるんだが。
他にも理由があるけどな
0077デフォルトの名無しさん
2005/09/21(水) 20:53:060078デフォルトの名無しさん
2005/09/21(水) 22:00:52測定したいタイミングでGC.Collet()を2,3回呼ぶようにすればいんじゃない?
0079デフォルトの名無しさん
2005/09/22(木) 01:06:24俺も知りたい。C#のリークの調査は
Private Bytes と # Bytes in all Heaps を見て判断するって
どこかで読んだんだけど
リークしないだろうアプリを連続で動作させてると
Private Bytes と # Bytes in all Heaps が増えるんだよね
# Bytes in all Heapsはたまに減るけど何となく増えてる感じするし
わけわからん(T_T)
0080デフォルトの名無しさん
2005/09/22(木) 01:16:04どのようなときにおきるのでしょうか?
バインディングすると起きる気もしますが
WindowsFormsです
0081あめ
2005/09/22(木) 04:03:220082デフォルトの名無しさん
2005/09/22(木) 09:00:20http://www.google.co.jp/search?hl=ja&q=%E6%99%82%E5%88%BB%E3%80%80%E5%A4%89%E6%9B%B4%E3%80%80C%23&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=
0083あめ
2005/09/22(木) 11:05:05感謝します。
0084デフォルトの名無しさん
2005/09/23(金) 00:08:16//ジャグ配列の場合
hoge[0] = array;
↑のような感じでコピーしたいのですが
0085デフォルトの名無しさん
2005/09/23(金) 00:18:15〜〜
return ( ((p1.X-p2.X)^2) + ((p1.Y-p2.Y)^2) )
ってコードでp1,p2の距離の二乗を求めているのですが、
なぜか負の値が帰ってきます… どこがおかしいのでしょうか?
0086デフォルトの名無しさん
2005/09/23(金) 00:20:09……ちなみに、その例だと、array[1] = 123; ってやったときに hoge[0][1] も 123 になるぜ。
0087デフォルトの名無しさん
2005/09/23(金) 00:20:47C 系の言語で 「^」 は累乗記号ではないから注意。
0089デフォルトの名無しさん
2005/09/23(金) 00:24:00Math.pow(x, y);
0090デフォルトの名無しさん
2005/09/23(金) 00:39:430091デフォルトの名無しさん
2005/09/23(金) 00:48:03お勧めというか、ジャグ配列の方が要素の参照が速いって書いてた気が。
C 言語的に書き直すと、
a[x, y] → *(a + x * WIDTH + y) → 掛け算1回+足し算2回+アドレス参照1回
a[x][y] → *(*(a + x) + y) → 足し算2回+アドレス参照2回
まあ、キャッシュの効き方次第な気もするけど。
0092デフォルトの名無しさん
2005/09/23(金) 13:11:25'Microsoft.Ink.Stroke.Stroke()' はアクセスできない保護レベルになっています。
というエラーで継承したクラスを作成出来ません。
元来のStrokeクラスの動作に影響を与えないプロパティを追加したいだけなのですが、
なにかいい方法ないでしょうか?
0093デフォルトの名無しさん
2005/09/23(金) 13:22:16publicなコンストラクタがないって事は、自分で作ることがないオブジェクトのようだけど?
自分で作ることがないなら派生クラスを書いても使えないよ?
009492
2005/09/23(金) 13:26:10追加したいプロパティはStrokeごとに持たせたほうが
全体の記述がわかりやすくなるので、追加したいのですが
やっぱりStrokeに持たせるのは無理ですかね。
メインクラスに
int[] hogeとかつくって hoge[Stroke.ID]とかでとるようにするのが
現実的ですか…
0095デフォルトの名無しさん
2005/09/23(金) 14:02:010096デフォルトの名無しさん
2005/09/24(土) 00:33:03|aaa|bbb|ccc|
日 xxxx xxx xxx
yyy yyy yyy
yyy yyy yyy
田 xxxx xxx xxx
0097デフォルトの名無しさん
2005/09/24(土) 00:43:480098デフォルトの名無しさん
2005/09/24(土) 00:47:45TreeListViewってのを拾ってきて使いましょう。
0099デフォルトの名無しさん
2005/09/24(土) 02:26:17それに合わせてマイクロソフト開発環境のアップデートとかは行われてきたものなのでしょうか。
0100デフォルトの名無しさん
2005/09/24(土) 02:49:492005があるだろ。
0101デフォルトの名無しさん
2005/09/24(土) 09:16:340102デフォルトの名無しさん
2005/09/24(土) 10:09:120103デフォルトの名無しさん
2005/09/24(土) 11:07:24すぐって。
2003から2年半くらい経ってるけど。
あと、金出すのが嫌なら Eclipse+C# plug in とか #develop とかもあるし。
0104デフォルトの名無しさん
2005/09/24(土) 11:27:580105デフォルトの名無しさん
2005/09/24(土) 11:48:14MSDNに入っておけ。
0106デフォルトの名無しさん
2005/09/24(土) 12:00:15正確には、会社の上司とか、大学の管理者たぶらかして入ってもらえでは。
0107デフォルトの名無しさん
2005/09/25(日) 20:14:00その間にもう一度イベントハンドラが呼ばれなければAを実行
待っている間にイベントハンドラがよばれたら先ほどのAを破棄して今回のをAとする
ってのを実現するためにイベントハンドラが呼ばれるたびに
スレッドを作って Sleep させてるんだけどなんか効率悪そう
もっといい方法無い?
0108デフォルトの名無しさん
2005/09/25(日) 20:15:210109デフォルトの名無しさん
2005/09/25(日) 20:52:420110デフォルトの名無しさん
2005/09/26(月) 11:24:10MessageとStackTraceでメソット名までは分かるのですが
例外の発生した行番号まで分かる方法はないのですか?
try
{
何か処理1
何か処理2←ここで例外が発生!
何か処理3
何か処理4
}catch(Exception ex)
{
ここで例外の起きた行番号が知りたい
}
0111デフォルトの名無しさん
2005/09/26(月) 11:57:03行番号で処理を分けようとか考えてないだろうな?
0112デフォルトの名無しさん
2005/09/26(月) 12:07:41Debugでもメソット名までしか出てないんだけど・・・
なんかビルドの時にパラメータとかあるのでしょうか?
※行番号で処理を分けたりはしません
0113デフォルトの名無しさん
2005/09/26(月) 12:39:480114デフォルトの名無しさん
2005/09/26(月) 12:45:02超が付く素人なんですが、会社でプログラマーの卵としてC#を学んでいます。
1ヶ月も過ぎた所なんですが、人の書いたソースは少し読める程度には
なって来ましたが、いざ自分で作ろうとすると全く書けません。
例えば、コンソール画面にカレンダーを表示するだけのプログラムも何のメソッドを
使って良いのか分からずにそこで何も出来ずに止まってしまいます。
皆さんは覚え始めの時はそのような場合、どのように対処されていたのでしょうか?
技術的な話でなく申し訳ありません。
上司と馬が合わず、聞いても見当違いの答えばかりなので質問させていただきました。
私は、C#が初のプログラムを覚える言語でこれまでに全くプログラムに携わった
ことはないです。
0115デフォルトの名無しさん
2005/09/26(月) 12:47:33リファレンスマニュアル全部よめ
0116デフォルトの名無しさん
2005/09/26(月) 12:49:31> 例えば、コンソール画面にカレンダーを表示するだけのプログラムも何のメソッドを
> 使って良いのか分からずにそこで何も出来ずに止まってしまいます。
なんか凄く矛盾してね?
まともにライブラリも知らずにソース読めるか?
0117デフォルトの名無しさん
2005/09/26(月) 12:51:09リファレンスを読んで 「これを使うとあれが作れるのでは」 を考えるよう訓練するのも良いかも
それやってくうちに、探したい機能からリファレンスを逆引きできるようになる
0118デフォルトの名無しさん
2005/09/26(月) 12:53:25実行環境に.pdbファイルおいたら出た
ありがとう!!
0119114
2005/09/26(月) 13:21:21読んでいるんですが自分の中でこれを使ったら何が出来るんだ?って所で思考が
止まってしまってます。
>>116
すいません、舌足らずでした。
「リファレンスを読みながらだと人の書いたソースを読むことが出来るようになった」
です。
>>117
そういう風にリファレンスを見たことが無かったので今日はそれをして
みたいと思います。
通常、1ヶ月あればどの程度の事が出来るようになってるものなんでしょうか?
人と比べても意味の無い事だと言うのは分かるんですが他に
新入社員もおらず、早く戦力に…と言う視線に耐えながら勉強している為、
平均的な上達具合と言うのも気にしてしまいます。
0120デフォルトの名無しさん
2005/09/26(月) 15:47:060121デフォルトの名無しさん
2005/09/26(月) 15:51:530122デフォルトの名無しさん
2005/09/26(月) 15:52:480123デフォルトの名無しさん
2005/09/26(月) 16:28:110124デフォルトの名無しさん
2005/09/26(月) 16:45:070125デフォルトの名無しさん
2005/09/26(月) 19:00:42バイナリファイルを書き出す。読み込む。
・・・データのやり取りを覚えるだ。
次に、パソコンをぶっ壊すだ。
0126デフォルトの名無しさん
2005/09/26(月) 19:02:450127デフォルトの名無しさん
2005/09/26(月) 20:20:22そりゃープログラム以前に情報の収集方法がわかってないんだろ。
つ[google]
0128デフォルトの名無しさん
2005/09/26(月) 23:45:28ある列で重複データを省くような処理をしたいのですが、
どうすればいいのかわかりません・・・。
0129デフォルトの名無しさん
2005/09/27(火) 01:11:56面倒なことにOffice2000 2002 2003とサポートしないといけないのですが
2000をサポートするとなるとC#はムリと考えてもよろしいのでしょうか?
IDTExensibility2があれば2002と2003では普通に呼び出し等をできるのは
解りましたが2000はムリなのでしょうか?
0130デフォルトの名無しさん
2005/09/27(火) 04:23:55>>1ヶ月も過ぎた所なんですが、人の書いたソースは少し読める程度には
>>なって来ましたが、いざ自分で作ろうとすると全く書けません。
当然。漫画読めてもネーム切れないのと一緒。
インプットとアウトプットは脳内の使う場所が違うから一からやらないと無理。
推測だが、>>114さんに足りない知識は
1.包括的なコンピューターの仕組み
2.C#の言語仕様
3..NETライブラリの知識
1については業務に直接役に立たないものの参考書の理解を助ける効果がある。
時間があるときにこういう本を読んでおくといい。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4822281655/
2は基本。わからなくても通して読んでおくといい。
俺が持ってるのはこの本。本屋で自分に合った本を探すといい。
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798101117(←これはちょっと古いので注意)
3は2をある程度理解してから。
MSDNを読めばいいが、読みにくいわかりにくいならリファレンスマニュアルを買ってくるといい。
0131デフォルトの名無しさん
2005/09/27(火) 04:25:11最初から読んでいって理解したと思ったら、参考書を見ないでプログラムを書く。
例えばfor文の使い方を読んだら、実際に書いてみる。
わからなくなったら初心者スレで聞く。
これを参考書の最後までやったらC#はだいたい書けるようになる。
あとはMSDNを流し読みして面白そうなクラスを見つけてそれを使うコードを書いてみる。
この仕事を続けるならMSDNとはずっとつきあうことになるからな。
今のうちに使い方を覚えておくといい。
オブジェクト指向は別に本買って勉強しないとたぶん無理。余裕あるとき並行して勉強すれ。
1ヶ月の上達具合は人それぞれ。いい師匠がいれば当然速いけど、
いなくて独学なら大して上達しない。
上の勉強法を受験勉強並みにみっちりやれば覚えは早いと思うけどな。
がんばれ。
↓ここがちょっと初心者向け
以降はここで聞いてみれ。
http://pc8.2ch.net/test/read.cgi/tech/1122001458/
0132デフォルトの名無しさん
2005/09/27(火) 08:28:42以下のコードで選択項目の取得は出来たのですが
listView1.SelectedItems[0].Text
1度項目を選択した後に他の項目を選択すると
エラー
System.ArgumentOutOfRangeException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : 指定された引数は、有効な値の範囲内にありません。
と表示されます。
どうしたらこのエラーを回避出来るでしょうか?
MSDNやネットでの検索をしたのですが解決法が見つかりません。
分かる方いましたら是非教えていただけないでしょうか。お願いします
0133デフォルトの名無しさん
2005/09/27(火) 08:56:21if (listView1.SelectedItems.Count <= 0) return;
item = listView1.SelectedItems[0].Text;
0134デフォルトの名無しさん
2005/09/27(火) 08:56:590135デフォルトの名無しさん
2005/09/27(火) 09:19:14出来ました。ありがとうございます。
神杉wwwwwwwwwwwwwwwwwww
0136114
2005/09/27(火) 09:26:17それもあると思います。
必死でググっても見当違いな事も多々…
これは経験がモノを言うんでしょうねorz
>>130
ご丁寧にありがとうございます。
仰る通り、根本的な所から知識を確実な物にしていく事が一番の近道ですね。
提示してくれた本を読んでそこから自分に合った物を探します。
>>131
>>130を書いてくれた方ですよね?
勉強法までありがとうございます。
この1ヶ月で上司にいびられ続け精神的にも参ってきて仕事に向いていないと
思い辞めそうになってましたが、まだ頑張ってみます!
レスを下さった皆さま、本当にありがとうございます。
これ以上はスレ違いになるのでカキコは自粛いたします。
紹介して頂いたスレの方に移り頑張ってみます。
最後にこんな反吐が出そうな初心者にお付き合い頂き本当にありがとうございました。
0137デフォルトの名無しさん
2005/09/27(火) 09:59:08あんまり無理すんなよ。一度壊されると回復に年単位でかかるからな。
経済的に余裕あるなら転職も視野に入れておいた方がいいかも。
0138デフォルトの名無しさん
2005/09/27(火) 15:55:43ListViewで
マウスポインタのある部分の
SubItemsのテキストを取得したいのですが
どんなコーディングになるのでしょうか??
追加
http://dobon.net/vb/dotnet/control/lvitemtooltip.html
ここを見て、 改造してるんですが
うまくいきません。
0139デフォルトの名無しさん
2005/09/27(火) 16:03:361.Cursorクラスからマウスの位置を取得。
2.ListViewのクライアント座標に変換。
3.ListView.GetItemAt()でマウスの下にあるListViewItem(行)を取得
4.ColumnHeader.WidthでListViewSubItemの長さを取得していってマウスの座標の位置と比較して列を取得
5.完成
0140デフォルトの名無しさん
2005/09/27(火) 16:09:23ColumnHeader.Widthだとサブアイテム間のスペースが考慮されないからちょっとずれるぜ
SendMessageでLVM_GETSUBITEMRECTの方が確実ではある
0141138
2005/09/27(火) 16:11:07回答ありがとうございます。
その方法では作成しました
ただ、ビューをスクロールされた場合
うまく取れなくなってしまいます。。(;;
0142138
2005/09/27(火) 16:16:52レスありがとうございます。
WinAPI使っちゃうと
いろいろまずいんですよ。
すいません。
0143デフォルトの名無しさん
2005/09/27(火) 16:32:03//この場合直接DllImportするのとSecurityPermission的にはどうなんだろう……?
0144138
2005/09/27(火) 17:01:54その DllImport がまずいんです。
決まりですんで(^^;
0145デフォルトの名無しさん
2005/09/27(火) 17:05:560146デフォルトの名無しさん
2005/09/27(火) 17:06:420147138
2005/09/27(火) 18:55:06勘違いしてました。
ありがとうございます。
作成しました。
後は、ビューをスクロールしたときに
ズレをどうにかするだけです。
ビューが何ドットスクロールしてるかが
わかればいいんですが、、、。
誰かご存知ですか??
0148デフォルトの名無しさん
2005/09/27(火) 19:45:400149デフォルトの名無しさん
2005/09/27(火) 22:20:30ID:00150デフォルトの名無しさん
2005/09/27(火) 22:25:33ID:00151デフォルトの名無しさん
2005/09/27(火) 22:57:04たとえば、EventHandlerのクラスから 関数のタイプがvoid(object,EventArgs)であると
プログラム中から知りたいのですがやり方がよくわかりません。
EventInfoを見てもそれらしいものはないので詰まっています。
Type type = typeof(EventHandler);からvoid(object,EventArgs)などの情報は取れるものなのでしょうか?
0152デフォルトの名無しさん
2005/09/27(火) 23:04:27Type delegateType = eventInfo.EventHandlerType;
MethodInfo method = delegateType.GetMethod("Invoke");
Console.WriteLine(method.ReturnType);
以下略
0153デフォルトの名無しさん
2005/09/27(火) 23:06:32で、MethodInfo の ReturnType プロパティとか見ればいいのでは。
0154デフォルトの名無しさん
2005/09/27(火) 23:06:39というのが目的です。
UnknownClass cls = new UnknownClass();
Type type = cls.GetType();
foreach(EventInfo ei in type.GetEvents()){
ei.AddEventHandler(cls, /**/);
//ここでコンソールにコールバックのParameterと戻り値を書くようなDelegateを登録したい。
}
って、説明を書こうとしたら、レスが・・ ありがとうございました。
0155デフォルトの名無しさん
2005/09/28(水) 00:42:48WebClientを使ってアクセスすることはできたものの,
指定のバイト数のみ読み取るような方法はないのでしょうか?
Cでは以下の関数が使えますが,,,
BOOL InternetReadFile(
HINTERNET hFile,
LPVOID lpBuffer,
DWORD dwNumberOfBytesToRead,
LPDWORD lpdwNumberOfBytesRead
);
0156デフォルトの名無しさん
2005/09/28(水) 00:46:500157デフォルトの名無しさん
2005/09/28(水) 00:52:200158デフォルトの名無しさん
2005/09/28(水) 00:55:36WebClientクラスってStreamで読み取ることできないっけ?
駄目ならHttpWebRequest/HttpWebResponseで。
Stream取得できれば指定バイト数で読むことなんて簡単だよ
0159デフォルトの名無しさん
2005/09/28(水) 00:58:20Streamを使ってみます!!
今まではDownloadDataで全てデータを取得していました,,,
ありがとうございます
0160デフォルトの名無しさん
2005/09/28(水) 00:59:460161デフォルトの名無しさん
2005/09/28(水) 01:02:24普段HttpWebRequestしかつかわんからまるで覚えてないんだよな
0162デフォルトの名無しさん
2005/09/28(水) 01:17:36例えば,ブログをたくさん読むとき,実際に目を通すのは最近1,2日分です
ちなみにサイズ指定できました!!
これで読み込み時間が1/10程度になりそうです
//URL設定
string url = "http://www.yahoo.co.jp/";
//取得
WebClient myWebClient = new WebClient();
byte[] myDataBuffer = new byte[1024];
Streamstr = myWebClient.OpenRead(url);
str.Read(myDataBuffer,0,1023);
//表示
string download = Encoding.Default.GetString(myDataBuffer);
Console.WriteLine(download);
ただ文字化けします,,,
もし理由が分かれば教えていただけないでしょうか?
Encodingは一通り試してみました
0163デフォルトの名無しさん
2005/09/28(水) 01:19:53Encoding.Default を Encoding.GetEncoding("Shift_JIS") とかにしてみ
0164デフォルトの名無しさん
2005/09/28(水) 01:21:210165デフォルトの名無しさん
2005/09/28(水) 01:21:580166デフォルトの名無しさん
2005/09/28(水) 01:25:47Encoding.GetEncoding("EUC-JP")
でできました!
ありがとうございます<m(__)m>
一通りマニュアルは読んだのですが,このメソッドは試していませんでした
というか,意味が分かりませんでした!
0167デフォルトの名無しさん
2005/09/28(水) 02:04:120168デフォルトの名無しさん
2005/09/28(水) 09:58:26メインフォームのメソッドを使う方法を教えてください
引数で延々とメインフォームのインスタンスを
引き渡すのは違うような気がします
独学なので、くだらない事で引っかかってますね。。。
よろしくお願いします
0169デフォルトの名無しさん
2005/09/28(水) 10:05:300170デフォルトの名無しさん
2005/09/28(水) 10:23:20メインウィンドウの表示状態を変えたいのです
listView1.Visible = false
みたいなことをやりたいだけですけど
なにか考え方間違ってますか?
0171デフォルトの名無しさん
2005/09/28(水) 10:24:150172デフォルトの名無しさん
2005/09/28(水) 10:46:10そりゃできる人からみたら
糞かもしれないけど
それなら、どうすればいいか
って事を少しでも述べてくれないと
何もできないです
0173デフォルトの名無しさん
2005/09/28(水) 10:54:29Form1 の管轄外にある Form2 の中にある listView1 が、Form2 の許可なしに Form1 から自由にアクセスできるとはどういうことか。
普通なら Form2.ListViewVisible プロパティとかを作って、それ越しに設定する
0174デフォルトの名無しさん
2005/09/28(水) 11:47:04どういう構成になってるかも分からないのだからどうすればいいかも述べられない
だから171も"臭い"と表現したんだろう
まあ、イベントでやってみるとか
0175デフォルトの名無しさん
2005/09/28(水) 12:26:45渡すにはどうすればいいのでしょうか?
0176デフォルトの名無しさん
2005/09/28(水) 12:36:23……定数として配列ってのも微妙な表現だな
0177デフォルトの名無しさん
2005/09/28(水) 12:45:04うーん・・・・(カンガエチュウ カンガエチュウ)
こういう操作の時プロパティを使うんですね
Form1 に相当する部分(フォームではないけれど)が複数あるんですが
Form2 に蹴りを入れるには、Form2 のインスタンスを
引数で渡していくということでしょうか?
>>174
言い過ぎました、すんません
どこまで情報出せばいいのかわかんなかったもので
欲しかったのは「プロパティ」や「イベント」などの
キーになりそうな単語、という感じですわ
ありがとうです
0178デフォルトの名無しさん
2005/09/28(水) 14:51:15他のクラスのメソッドを、他のクラスのインスタンスを渡さずに使うとしたら、
あとはそのクラスのメソッドのデリゲートを渡すとか。
あんまり意味はないが。
あと他の方法はどんな設計になってるかに依ってできるかどうか。
0179デフォルトの名無しさん
2005/09/28(水) 22:41:07うーん、いまいちピンとこないなぁ
フォームを保持するクラスを
Singleton使って作るというはありですかね
禁じ手でなければ、そうしてしまおうかと考え中
0180デフォルトの名無しさん
2005/09/28(水) 22:46:38それやるならApplicationContextの派生クラスのMainFormプロパティを使ったらいいんじゃね。
0181デフォルトの名無しさん
2005/09/28(水) 22:50:010182デフォルトの名無しさん
2005/09/28(水) 23:32:06そろそろレベルアップ(笑)して直接Excelを扱いたいと考えております。
ところが検索しても「Excelの起動方法」などしか発見できておりません。
初心者にもわかりやすいサイトってないですかね?
とりあえずしたいことは「セルの値の参照」と「セルに入力」ぐらいです。
0183デフォルトの名無しさん
2005/09/29(木) 00:07:16Excel オブジェクト モデルを使用した Excel の自動化
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dv_wrcore/html/wroriautomatingexcelusingexcelobjectmodel.asp
0184デフォルトの名無しさん
2005/09/29(木) 01:13:33constの扱いについて教えてください
これはコンパイルできます↓
void My2chMsg(string msg)
Console.WriteLine(msg);
}
これは"CS1031: 型が必要です"とのエラーがでます
void My2chMsg(const string msg)
Console.WriteLine(msg);
}
どういう意味なのでしょうか?
普通は後者の方がいいプログラムだと思います
0185デフォルトの名無しさん
2005/09/29(木) 01:14:44ずばり C#にそんな文法は存在しません
0186デフォルトの名無しさん
2005/09/29(木) 01:19:48WebServiceの起動にかなりの時間をとられるのですが
0187デフォルトの名無しさん
2005/09/29(木) 01:27:33C#では引数のconst指定ができないということですか
ありがとうございます!
しかしconst指定は大切だと思いますが,,,
0188182
2005/09/29(木) 01:31:57そのサイトも参考にしたのですが、
どうもMSのサイトだと威厳的(苦笑)というか一行ごとの命令文とかがよく理解出来ないんですよね。
しかもセルの入力方法とかは載っていないような(見落としかな?)
C#って比較的新しい言語なだけに解説ページも結構少ないんですよね〜。
ExcelVBAは多少習ったので簡単にセル参照出来る解説サイトとかないですかね?
0189デフォルトの名無しさん
2005/09/29(木) 01:52:19worksheet.get_Range("A1", Type.Missing).Value2 = "hoge";
0190デフォルトの名無しさん
2005/09/29(木) 04:37:47>しかしconst指定は大切だと思いますが,,,
stringは変更不可なオブジェクトだからこれでいいのだ。
unsafeで配列を使うときはどうするんじゃという話ならc/c++を引き続き使うことを薦める。
0191デフォルトの名無しさん
2005/09/29(木) 08:18:39C#にはconst関数もconst変数もthrowsもないのであきらめなさい。そういうものなのです。
0192デフォルトの名無しさん
2005/09/29(木) 08:19:43> 欲しかったのは「プロパティ」や「イベント」などの
> キーになりそうな単語、という感じですわ
そんな瑣末なことはどうでもいい。
「合理的な設計」「オブジェクト指向」というのがキーワードだ。
0193デフォルトの名無しさん
2005/09/29(木) 10:22:11っ[チラシの裏]
0194デフォルトの名無しさん
2005/09/29(木) 13:29:30A a2 = a1;
としても実体は増えないですよね?
A a2 = a1.Clone();
のようなことをしたいのですが、Clone()に相当するメソッドがない場合どうすればいいのでしょうか?
0195デフォルトの名無しさん
2005/09/29(木) 13:30:390196194
2005/09/29(木) 13:36:29ちょいとインスタンスまるごと保存しなくてすむような方法考えます…
レスありがとうございました。
0197デフォルトの名無しさん
2005/09/29(木) 14:36:21つ [IClonable]
0198デフォルトの名無しさん
2005/09/29(木) 14:44:26だからそれを実装してないクラスの場合どうするかだろ?w
可能ならBinaryFormatterでシリアライズ&デシリアライズとか、
リフレクションでMemberwiseCloneを呼ぶとか言う手もあるが……。
0199デフォルトの名無しさん
2005/09/29(木) 16:21:200200デフォルトの名無しさん
2005/09/29(木) 18:11:320201デフォルトの名無しさん
2005/09/29(木) 18:13:29何で今更こんな記事が……?
発売直前って訳でもないのに。
0202デフォルトの名無しさん
2005/09/29(木) 19:30:170203デフォルトの名無しさん
2005/09/29(木) 21:36:21そのバッチ処理は、最低でも20分はかかります。
そのバッチを動かしながら、リターンでintを返すことは可能ですか?
0204デフォルトの名無しさん
2005/09/29(木) 21:38:160205デフォルトの名無しさん
2005/09/29(木) 21:39:060206デフォルトの名無しさん
2005/09/29(木) 21:42:42つスレッド
0207デフォルトの名無しさん
2005/09/30(金) 11:12:46スレッドIDを取得する方法はありますか?
0208デフォルトの名無しさん
2005/09/30(金) 11:24:410209デフォルトの名無しさん
2005/09/30(金) 11:40:59Win32べったりの機能はSystem.Diagnosticsにまとめられている。
System.Diagnostics.ProcessThread#Id が Win32のスレッドIDそのままのはず。
0210デフォルトの名無しさん
2005/09/30(金) 11:43:03Win32APIで使うIDではないので
(デバッグ時に出力したい)
そういう意味では単なる識別子です。
0211デフォルトの名無しさん
2005/09/30(金) 11:43:44209さんありがとう。
0212デフォルトの名無しさん
2005/09/30(金) 11:44:380213デフォルトの名無しさん
2005/09/30(金) 12:01:21System.Diagnostics.ProcessThreadの使い方が
さっぱりわからんです。。。
自分でインスタンスを作らなきゃいけないんですか?
0214デフォルトの名無しさん
2005/09/30(金) 13:23:24ごめん、System.Diagnostics.ProcessThread は使えないね。
System.Diagnostics.Process#Threads から持ってくるのだがカレントスレッドを得る方法が無い。
System.Threading.Thread をスレッドプールで動かすと、同じWin32スレッドが再利用されたり、
いったん実行を休止させると別のスレッドが振られたりするんで、無いのかもしれない。
System.Threading.Thread#Name になにか識別子をセットしておくのが一番無難かもね。
0215213
2005/09/30(金) 13:27:38ガビーソ ありがとうございました・・・
Thread.CurrentThread.GetHashCode()でも
それなりの効果はありですよね・・・?
0216デフォルトの名無しさん
2005/09/30(金) 18:38:490217デフォルトの名無しさん
2005/09/30(金) 18:52:16Threadでは一意。
まあ一意と言っても結局ユーザの目にはどれがそのスレッドなのか認識できないから微妙だけど……。
0218デフォルトの名無しさん
2005/09/30(金) 19:06:10具体的にはフォームを非アクティブのまま起動したいんですが
0219デフォルトの名無しさん
2005/09/30(金) 19:08:030220218
2005/09/30(金) 19:31:51Applicationクラスを覗いてたらIdleイベントがあったんで、
イベントハンドラで非アクティブ化処理→Idleイベント削除
なんてやってみて上手くいったんですが
こんなやりかたでいいんでしょうか?
フォーム起動直後の処理の常套手段というのはあるんでしょうか……
0221デフォルトの名無しさん
2005/09/30(金) 19:35:070222218
2005/09/30(金) 19:46:530223デフォルトの名無しさん
2005/09/30(金) 20:10:25非表示じゃなくて非アクティブか。
0224デフォルトの名無しさん
2005/10/01(土) 00:51:49AppDomain.GetCurrentThreadId()
なんで、ProcessクラスとかProcessThreadクラスとかからは取れないんだろうね。
0225デフォルトの名無しさん
2005/10/01(土) 10:16:56できれば3次元の。
0226デフォルトの名無しさん
2005/10/01(土) 10:26:340227デフォルトの名無しさん
2005/10/01(土) 10:37:100228デフォルトの名無しさん
2005/10/01(土) 14:25:19MakeGenericType を使用して実行時にタイプパラメータを
設定できることはわかったのですが
返り値がGenericな場合どううければいいのかわかりません。
たとえば
private List<T> GetList<T>(Control c)
があったとしてTをバインドして作成できても
返り値の型の指定をどうすればいいのか
Type test = typeof(GetList<>);
バインドの記述
??? ret = バインド後のメソッド実行
???の部分ってどうすればいいのでしょうか
0229デフォルトの名無しさん
2005/10/01(土) 14:54:17まあobjectで取得すればいいんじゃね
何をしたいのか読みとれないけど
0230228
2005/10/01(土) 15:20:34わかりづらいですね
したいことは返ってきたObjectを適切な型にキャストしたいってとこですかね
0231デフォルトの名無しさん
2005/10/01(土) 15:29:31静的に型が分からないならキャストしようもないし
MethodBaseのTypeより設定って意味わからんし……MekeGenericMethod?
0232デフォルトの名無しさん
2005/10/01(土) 15:40:300233デフォルトの名無しさん
2005/10/01(土) 15:41:370234228
2005/10/01(土) 15:46:04静的にはわかりませんがランタイム自身はわかっているはずです。
たとえば
public class testList<T>
というクラスがあった場合
obejct aaa = 適当なインスタンス;
Type runtimeType = aaa .GetType();
Type runtimebind = typeof(testList<>);
runtimebind.MakeGenericType(new Type[] { runtimeType});
??? = Activator.CreateInstance(runtimebind,aaa);
でtestList<適当なインスタンスの型>が返ってきます。
そのときの???の型はtestList<適当なインスタンスの型>のわけですが
ここをどう記述すればいいのわからないのです。
帰ってきたtestList<適当なインスタンスの型>の適当なメソッドを
実行するにはtestList<適当なインスタンスの型>の型が必要になるので
(Reflectionを使ってしまえばできますが・・・)
0235228
2005/10/01(土) 15:51:04obejct aaa = 適当なインスタンス;
Type runtimeType = aaa .GetType();
Type runtimebind = typeof(testList<>);
Type binded = runtimebind.MakeGenericType(new Type[] { runtimeType});
??? = Activator.CreateInstance(binded ,aaa);
です
0236デフォルトの名無しさん
2005/10/01(土) 15:57:47静的に決定できないのなら静的に書きようもない。
そして静的に決定できないところに使うのがリフレクションだろ。
> (Reflectionを使ってしまえばできますが・・・)
すでにこの時点でリフレクションに浸かりまくってるじゃないか。
0237デフォルトの名無しさん
2005/10/01(土) 16:03:21記述できるのなら、それ相応の書式があるかと。
obejct aaa = 適当なインスタンス;
object bbb = 適当なインスタンスその2;
Type runtimebind = typeof(testList<>);
Type binded;
if (適当な条件式)
binded = runtimebind.MakeGenericType(new Type[] { aaa.GetType() });
else
binded = runtimebind.MakeGenericType(new Type[] { bbb.GetType() });
??? = Activator.CreateInstance(binded ,aaa);
これは確実に書けない筈。書けるとしたら testList 型。
どうでも良いけど Generic で限定しなくても、testList のメソッドは実行できるような気がする。
0238228
2005/10/01(土) 16:03:26まではリフレクションを使わないと無理ですが
これ以降testList<T>のメソッド実行等では
(実行するメソッドがGenericでない場合)
型が決定されているので
リフレクションが必要でないと考えているんですが
0239デフォルトの名無しさん
2005/10/01(土) 16:04:050240デフォルトの名無しさん
2005/10/01(土) 16:08:05当然List<string>.RemoveAtとList<int>.RemoveAtも別のメソッドだ。たまたま名前が同じだけの。
Genericパラメータが分からないのならそれは型が(静的には)分かっていないと言うことだ。
0241228
2005/10/01(土) 16:09:43であってtestList<>とかにキャストできるかと思ったら
コンパイルエラーになるので
何かしらの書き方があるのかと思って質問しました
適当なInterface(Genericなしの)を作成して
そいつにキャストするしかないんですかね?
0242228
2005/10/01(土) 16:14:05てことは
List<T>とList<int>
List<T>とList<string>にはまったく関連がないってことですかね
FindLastIndex(Predicate<T>)
とかはさすがに無理だと思うけど
Clearとかは同じなのかと思ってました。
イメージとしてはList<T>を継承したList<int>が
あるのかと思っていたorz
0243デフォルトの名無しさん
2005/10/01(土) 16:14:16List list = new List<int>;
ってエラーになるの?
0244デフォルトの名無しさん
2005/10/01(土) 16:16:33List<int> list = new List<int>();
じゃなきゃエラー
0245デフォルトの名無しさん
2005/10/01(土) 16:19:53java で確かめてみたんだけど
ArrayList list = new ArrayList<String>();
は通った。ここ、C# と Java の相違点?
0246デフォルトの名無しさん
2005/10/01(土) 16:25:37ArrayList list = new ArrayList<String>();
list = new ArrayList<Integer>(); //Integerでよかったっけ?
は通るの? 通るのなら相違点だけど。
0247デフォルトの名無しさん
2005/10/01(土) 16:30:34ArrayList list = new ArrayList<Integer>();
list.add("sample");
list.add(123);
System.out.println(list.get(0));
System.out.println(list.get(123));
これすら許容。しかも出力されるのは 「sample」 「123」。自分でもびっくり。
0248デフォルトの名無しさん
2005/10/01(土) 16:32:030249デフォルトの名無しさん
2005/10/01(土) 16:35:000250デフォルトの名無しさん
2005/10/01(土) 16:36:55自動的に付加されるだけじゃなかったっけ
0251デフォルトの名無しさん
2005/10/01(土) 16:59:21object受け入れのいままでのコレクションでいいじゃん
0252デフォルトの名無しさん
2005/10/01(土) 17:31:31そりゃVMいじってないもの。
0253デフォルトの名無しさん
2005/10/01(土) 17:49:53ふざけるな(笑)
0254デフォルトの名無しさん
2005/10/01(土) 17:58:220255デフォルトの名無しさん
2005/10/01(土) 18:01:33と宣言しても
list.add("sample");
が通るだなんてことはないよね
0256デフォルトの名無しさん
2005/10/01(土) 18:02:25さすがにそれが通ったらGenericsの意味がないわけで
0257デフォルトの名無しさん
2005/10/01(土) 18:22:03ArrayList<Integer> list = new ArrayList<Integer>();
((ArrayList)list).add("sample");
なら通る。
ちなみに java の保身のために言っておくけど、ちゃんと警告は出てるからな。
『注: Test.java の操作は、未チェックまたは安全ではありません。』 って。
0259デフォルトの名無しさん
2005/10/01(土) 18:41:490260デフォルトの名無しさん
2005/10/01(土) 18:51:010261デフォルトの名無しさん
2005/10/01(土) 18:56:000262デフォルトの名無しさん
2005/10/01(土) 19:42:08デリゲートって何のためにあるの?
0263デフォルトの名無しさん
2005/10/01(土) 19:48:110264デフォルトの名無しさん
2005/10/01(土) 19:51:460265デフォルトの名無しさん
2005/10/01(土) 19:52:11ttp://www.google.com/search?num=50&hl=ja&lr=lang_ja&oe=utf8&q=%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88
一から説明しようとすると微妙にやっかいだよね
0266デフォルトの名無しさん
2005/10/01(土) 19:56:420267デフォルトの名無しさん
2005/10/01(土) 20:00:03そのままですやん
使う機会ってあるのかな・・・
>>265
見てキマッシュ
0268デフォルトの名無しさん
2005/10/01(土) 20:13:13+GCでアドレス変わったらどうすんだよ
0269デフォルトの名無しさん
2005/10/01(土) 20:15:44どうせイベントで意識せずに使ってるから。
0270デフォルトの名無しさん
2005/10/02(日) 01:18:460271デフォルトの名無しさん
2005/10/02(日) 01:22:570272デフォルトの名無しさん
2005/10/02(日) 01:37:48MSDNによれば引数をとらないときは(object sender, EventArgs args)で
引数をとるときはEventArgsを継承するのが望ましいらしいけどさ、
たかがイベントの引数のために新しいクラスを作ると無駄に時間ばっかりかかるんだよね。
しかも○○EventArgsになるからIDEでソートされるととっちらかって探しにくいしさ。
公式でよくつかう型のEventArgsくらい用意してくれればいいのにな。
ArrayListEventArgsとか。
しょうがないからEventArgs無視して
delegate EHArrayList(object sender, ArrayList al) ←EHはEventHandlerの略
とか自分で用意して使ってる。
他にこういう風にしてる人いる?
0273デフォルトの名無しさん
2005/10/02(日) 01:48:17そもそもそんなことやってたら無駄にクラス増えるだろ。
0274デフォルトの名無しさん
2005/10/02(日) 01:50:27普通にEventArgsの派生クラス書いてるなぁ。
ちょっとしたテストで使う分にはvoid delegate Ev(object obj);とかやるけど。
そんな私は律儀にOnHogehogeも作るしComponents.Eventsも使う人。
0275デフォルトの名無しさん
2005/10/02(日) 02:01:09第1引数が object sender ではなく、変更された ArrayList を渡すようになってる奴だけど
0276デフォルトの名無しさん
2005/10/02(日) 02:05:220277デフォルトの名無しさん
2005/10/02(日) 02:09:430278デフォルトの名無しさん
2005/10/02(日) 02:13:37それは↓ここに行けば?
クラス名・変数名に迷ったら書き込むスレ。Part5
http://pc8.2ch.net/test/read.cgi/tech/1109330204/
0279デフォルトの名無しさん
2005/10/02(日) 02:29:09そのスレは知ってる。ちなみに命名規則の話はスレ違いになる。
そうではなくControl.Invokeとかでひとつのdelegateを使いまわしたりする上に、
特有の引数をとったりするので毎度、名前には頭を悩ませる、という話。
たまにイベントの名前とかぶったりもするし。
0280デフォルトの名無しさん
2005/10/02(日) 06:30:56EventHandlerとか打ってると指痛くなってくるよ。
delegate void EHevent_name(object sender, EAargs_name);
event EHevent_name event_name;
0281デフォルトの名無しさん
2005/10/02(日) 09:50:220282デフォルトの名無しさん
2005/10/02(日) 10:07:240283デフォルトの名無しさん
2005/10/02(日) 11:12:34わかればいいのですか?
プロキシとかいるんですか?
0284デフォルトの名無しさん
2005/10/02(日) 11:34:450285デフォルトの名無しさん
2005/10/02(日) 11:45:30難しいですかね?
0286デフォルトの名無しさん
2005/10/02(日) 12:20:330287デフォルトの名無しさん
2005/10/02(日) 19:16:28アドレスとメソッドだけでは不可能ですか?
WSDLが提供されないんで・・・。
0288デフォルトの名無しさん
2005/10/02(日) 20:28:35適当なWSDLを食わしてプロクシクラスを作らせてから
それを真似して作ればいいんじゃね
0289デフォルトの名無しさん
2005/10/02(日) 22:48:01monoでは使えないの?
java.awtみたいなLinuxでもWindowsでも同じってわけにはいかないのかな?
MicrosoftはLinux用のSDKなんて絶対つくらないのかね。
0290デフォルトの名無しさん
2005/10/02(日) 22:50:590291デフォルトの名無しさん
2005/10/02(日) 22:55:18ASP.NETが動けばいいじゃん? みたいな。
0292デフォルトの名無しさん
2005/10/02(日) 23:25:370293デフォルトの名無しさん
2005/10/02(日) 23:30:590294デフォルトの名無しさん
2005/10/02(日) 23:34:250295デフォルトの名無しさん
2005/10/03(月) 00:32:26無理なのでしょうか?
中のコンポーネントのサイズを大きくしても、いつの間にか高さがshort.MaxValueくらいになってるのですが・・
0296デフォルトの名無しさん
2005/10/03(月) 18:58:58いまだに接頭詞使うアフォがいるんですね。
氏ね。
0297デフォルトの名無しさん
2005/10/03(月) 20:49:49作ろうとしています。Yahoo 側で Web Service があればそれを
利用したかったのですがどうもないみたいなので、自分で取得するしか
ないかと考えています。
で、HTTP で通信して HTML を取得し、それをパースすればいいと
思っているのですが、ユーザーID、パスワードを用いて
Yahoo オークションにログインしないといけないのですが、
こういった事を実装するには Yahoo 側のログインでどのように Form が
POST されているかを調べ、それと同じ事をこつこつコードで
実装していくしか方法はないでしょうか?
何かアドバイスがあればお願いします。
0298デフォルトの名無しさん
2005/10/03(月) 21:03:37地道に通信内容を真似るかIEを外から操作するか
0299デフォルトの名無しさん
2005/10/03(月) 21:23:41http://download.bbgames.jp/4gamer/movie/up0192.zip
0300デフォルトの名無しさん
2005/10/03(月) 21:42:50まあお前には無理だろうけどさ
0301デフォルトの名無しさん
2005/10/04(火) 16:53:260302デフォルトの名無しさん
2005/10/04(火) 17:02:250303デフォルトの名無しさん
2005/10/04(火) 17:30:36それ以外のところが多少遅くても全然問題にならんわな
0304カラス 731
2005/10/04(火) 17:31:500305デフォルトの名無しさん
2005/10/04(火) 17:37:220306デフォルトの名無しさん
2005/10/04(火) 20:25:48なんか起動は遅いけど、動きだしたら速いイメージがある
0307デフォルトの名無しさん
2005/10/04(火) 21:16:390308デフォルトの名無しさん
2005/10/04(火) 21:39:05普及率もJavaに完全に負けてるしwww
0309デフォルトの名無しさん
2005/10/04(火) 21:57:330310デフォルトの名無しさん
2005/10/04(火) 22:02:04DataAdapterのデータのプレビューを見ると正しくデータが表示されています。
ところが、fillでデータを取得して画面表示すると
必ず最初の1件に2件目のデータが表示され、データが重複します。
たとえば、元のテーブルに1,2,3,4・・10と入っていると
2,2,3,4・・10と取得してしまいます。
SelectCommandを書き換えて降順で取得すると、
9,9,8,7,6・・1と取得してしまいます。
この場合、どのあたりに問題があるのでしょうか。
私の技術や頭に問題以外で考えられるのはどのあたりでしょうか。
0311デフォルトの名無しさん
2005/10/04(火) 22:05:05それでもJavaよりは遥かにましだが、早くVistaの時代にいってほしいものですな。
0312デフォルトの名無しさん
2005/10/04(火) 22:46:47そういやWindows Forms2.0のソースコードを公開するって言う話はどうなったの?
0313デフォルトの名無しさん
2005/10/04(火) 22:55:180314デフォルトの名無しさん
2005/10/04(火) 22:57:22どうすれば良いでしょうか?
0315デフォルトの名無しさん
2005/10/04(火) 22:59:14ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconExposingNETFrameworkComponentsToCOM.asp
C++側は普通にCOMオブジェクトとして扱う。
0316デフォルトの名無しさん
2005/10/04(火) 23:48:41c#でcgiを作るってできるんでしょうか?
0317デフォルトの名無しさん
2005/10/04(火) 23:50:27できるできる。環境変数と標準入出力を扱えるなら何でもいい。
0318デフォルトの名無しさん
2005/10/04(火) 23:50:45素直にASP.NETで運用するのが吉。
0319デフォルトの名無しさん
2005/10/04(火) 23:57:53基本的な通信の知識を勉強しなければならないのでしょうか?
0320デフォルトの名無しさん
2005/10/05(水) 00:00:01標準入出力が分かればコンソールアプリを作るとの大差ない。
0321デフォルトの名無しさん
2005/10/05(水) 00:20:090322デフォルトの名無しさん
2005/10/05(水) 01:14:35COMアドインを追加してみたいのです。C#です
でもどうしたらいいのかわりません。たじけてくだあいあい
あとエクセル伯父さんは2000から対応できる?
0323デフォルトの名無しさん
2005/10/05(水) 01:27:070324デフォルトの名無しさん
2005/10/05(水) 08:06:220325デフォルトの名無しさん
2005/10/05(水) 08:35:12System.Windows.Forms.Button
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsbuttonclasstopic.asp
「ファイルのプロパティ」ダイアログを開く
ttp://hp.vector.co.jp/authors/VA024411/vbtips02.html#02
0326デフォルトの名無しさん
2005/10/05(水) 21:27:39こっちで誰か知ってる人がいたら情報ください
VisualStudioの問題なのかもしれませんが・・・
Windowsアプリケーションを作成して、一個ボタンを置いただけのフォームを作成したあと
コンパイルしようとしたところ
リソースを準備しています...
C:ソースファイルの場所\プロジェクト名.resx: リソース ファイルへの書き込み中にエラーが発生しました。 指定されたパスが見つかりません。
といったエラーが出てコンパイルすることができません
今まで普通につかえてたのですが、急にこのエラーが出るようになりました・・・
フォームのデザイナを表示した際に作られるresxファイルを削除するとコンパイルできるのですが
またデザイナを開くとresxが生成されて、コンパイル時にエラーになるんですよね
今のところコンパイルのたびにresxファイル削除してなんとか回避してる状況です。。
誰か情報持っていたらください
0327デフォルトの名無しさん
2005/10/05(水) 21:50:510328325
2005/10/05(水) 22:06:10使ってる環境はベータじゃないんですが・・・
関係あるのかな、とりあえず明日試してみます
0329デフォルトの名無しさん
2005/10/05(水) 22:12:42関係ないと思われ
0330デフォルトの名無しさん
2005/10/05(水) 22:14:40C#言語でこれを調べる方法はありますか?
0331デフォルトの名無しさん
2005/10/05(水) 22:15:000332デフォルトの名無しさん
2005/10/05(水) 22:16:30これを調べる手段ってなんだ? どうなったら調べたことになるんだ?
ユニコードコンソーシアムのサイトでも見に行けば?
0333325
2005/10/05(水) 22:20:09とりあえず今はコーディング→resxファイル削除→コンパイル
で動いてるので、キリのいいところでVS再インストールしてみます
なんか微妙に条件があるっぽくて
Windowsアプリプロジェクトを作った後
自動で作られているForm1を消して、新しいフォームを作るとそうなるみたいです
名前変更は試しませんでした
0334デフォルトの名無しさん
2005/10/05(水) 22:20:31なるほどNULL文字ですか。
ありがとうございます。
0335デフォルトの名無しさん
2005/10/06(木) 15:23:26//datagrid1にはデザイナでdataset1.table1をデータソースとして指定
dataset1 = GetNewDataSet1Data();←だけでは画面の表示は何も変わらず
dagagrid1.DataSource = dataset1.table1;←だと画面の表示設定が全部初期化される
データセットの中身を最新にしても表示の設定とかはそのままにしてたいんだけどどうやればいいのかな
0336デフォルトの名無しさん
2005/10/06(木) 15:24:04プログラムが仕込まれてるわけでもあるまいし
0337デフォルトの名無しさん
2005/10/06(木) 17:03:18で結果が「09時01分11秒」になるところを
「 9時 1分11秒」としたいのですが、どうしたらできるのでしょうか?
0でなくスペースで
0338デフォルトの名無しさん
2005/10/06(木) 18:54:38System.Windows.Forms.Controlを継承したクラスの
OnCreateControlのオーバーライド内で判定
If( this.DesignMode ){
//何か
}
DesignModeがどんな状態でもtrueになりません。
0339338
2005/10/06(木) 19:10:38UserControl継承でOnLoad内でもFalse。
実行時の最初だけ走らせたい処理は
どこに書けばいいんでしょうか。
0340デフォルトの名無しさん
2005/10/06(木) 21:01:51書式指定文字列だけじゃ不可能だから、頑張ってString.PadLeftをつかうなりして自前で実装だ。
0341デフォルトの名無しさん
2005/10/06(木) 22:52:26DesignModeプロパティは処理のタイミングによって判定に使えない場面が多くて微妙。
LicenseManager.UsageModeがLicenseUsageMode.Designtimeかどうかでチェックする方法もあるけど、それもうまくいかない場所がある感じ。
とりあえず両方チェックしてそれでも無理ならあきらめ。
0342デフォルトの名無しさん
2005/10/06(木) 23:01:520343デフォルトの名無しさん
2005/10/06(木) 23:32:080344デフォルトの名無しさん
2005/10/06(木) 23:38:220345デフォルトの名無しさん
2005/10/06(木) 23:49:120346デフォルトの名無しさん
2005/10/07(金) 00:04:240347デフォルトの名無しさん
2005/10/07(金) 00:59:310348338
2005/10/07(金) 07:30:30ありがとうございます。
こんな情報もありました↓
ttp://homepage1.nifty.com/rucio/main/dotnet/Samples/Sample073DesignMode.htm
0349デフォルトの名無しさん
2005/10/07(金) 10:06:05複数のコントロールのイベントに同じ関数を割り当てたときに
イベントの発生元をつきとめるに使う。
>>336
そういえばむかーしバグ騒ぎってあったなあ・・・
0350デフォルトの名無しさん
2005/10/07(金) 10:20:13自前実装ですか...
ありがとうございます。
やってみます。
0351デフォルトの名無しさん
2005/10/07(金) 10:27:19・実際あった
・仕込まれている
0352デフォルトの名無しさん
2005/10/07(金) 11:06:390353デフォルトの名無しさん
2005/10/07(金) 15:19:561.対衝撃&暗号化機能付きHDを用いる案
容量:40〜80GB
暗号化:AES(256ビット) 商用品なので信頼性は高い
費用:おおよそ1〜2万円
2.自作ソフトで暗号化してMOに保管
容量:640MB
暗号化:AES(256ビット) 自作なので信頼性は微妙 更に暗号化鍵の内容も微妙(パスワードコードをそのまま使用)
費用:おおよそ2千円
どっちが良いですかね?
0354デフォルトの名無しさん
2005/10/07(金) 15:35:18マルチスレッドを使用しているオブジェクトはスレッドが実行中でも破棄されるのでしょうか?
そのときはスレッドも終了してくれるのでしょうか?
0355デフォルトの名無しさん
2005/10/07(金) 15:58:34意味がわからん。
ルート参照からたどれなくなったオブジェクトがGC発動時に
開放されるだけでマルチスレッドがどうとか関係ないだろ
0356デフォルトの名無しさん
2005/10/07(金) 16:02:52そうなんですか・・・
スレッドが実行中なのにオブジェクトを開放されたりすると
メモリリークが発生する気がしたので
有難うございました
0357デフォルトの名無しさん
2005/10/07(金) 16:47:060358デフォルトの名無しさん
2005/10/07(金) 17:39:150359デフォルトの名無しさん
2005/10/07(金) 17:42:20もっと意味がわからん。
0360デフォルトの名無しさん
2005/10/07(金) 17:45:56うっさい禿
0361デフォルトの名無しさん
2005/10/07(金) 18:02:26>C#では明示にDeleteしなくてもガベージコレクションで破棄してくれると聞きましたが
明示的に Delete したほうが安全。ガベージコレクションは何時動くか分からない。
>マルチスレッドを使用しているオブジェクトはスレッドが実行中でも破棄されるのでしょうか?
そのオブジェクトが到達不可能、つまり2度と使えないと判断されたら破棄される対象になる。
ただしアンマネージオブジェクトと弱参照オブジェクトを除く。
>そのときはスレッドも終了してくれるのでしょうか?
スレッドは特に関係ない。
0362デフォルトの名無しさん
2005/10/07(金) 18:08:570363デフォルトの名無しさん
2005/10/07(金) 18:10:320364デフォルトの名無しさん
2005/10/07(金) 18:20:250365361
2005/10/07(金) 18:29:180366デフォルトの名無しさん
2005/10/07(金) 20:17:00知らない言葉だらけですが
レス有り難うございました
0367デフォルトの名無しさん
2005/10/07(金) 22:12:240368デフォルトの名無しさん
2005/10/07(金) 22:21:110369デフォルトの名無しさん
2005/10/07(金) 22:32:230370デフォルトの名無しさん
2005/10/07(金) 23:34:290371デフォルトの名無しさん
2005/10/07(金) 23:39:270372デフォルトの名無しさん
2005/10/08(土) 05:16:590373デフォルトの名無しさん
2005/10/08(土) 06:08:24VC#は開発環境
0374デフォルトの名無しさん
2005/10/08(土) 21:57:08↑
みたいな時刻形式を〜2005/10/08(土) 06:08:24〜のようにわかりやすい形式にもどすには
どのクラスを使えばいいんでしょうか?
0375デフォルトの名無しさん
2005/10/08(土) 22:16:00まず、その時刻形式はなにかという話だが。
DateTimeのTicksから得た値ならならそのままDateTimeコンストラクタに渡せばよろしい。
Cのtime関数のような値なら基準になった日付にその数字を加えてずらす必要がある。
0376デフォルトの名無しさん
2005/10/09(日) 00:26:050377デフォルトの名無しさん
2005/10/09(日) 00:35:22スクロールしても同じ位置に表示させたいってことか?
0378デフォルトの名無しさん
2005/10/09(日) 11:48:20中身のControlのMoveイベントでLocationを固定しようとしても、スクロールバーの矢印を押すと微妙に動いてしまったり
できればMoveさせたくないので、Moveイベントでやるのには抵抗があり、質問した次第です。
0379デフォルトの名無しさん
2005/10/09(日) 12:44:22ちょっと邪道だが、そのコントロールを子にするんじゃなくて、兄弟にして
ZOrderを前にする。
例えばスクロールさせたくないやつがTextBoxだとすると
ScrollableControl ── TextBox
こうじゃなくて
Panel ┬─ ScrollableControl
.. .└─ TextBox
こうする(親のPanelは当然ながら適当に)。
0380379
2005/10/09(日) 12:45:180381デフォルトの名無しさん
2005/10/09(日) 14:24:04アクセスを許可することって可能?
属性を使うんだろうか。
0382デフォルトの名無しさん
2005/10/09(日) 14:29:39C++のfriendに全く相当する機能はない。
インターフェイスやデリゲートの利用を考えたほうがいい。
0383デフォルトの名無しさん
2005/10/09(日) 14:42:080384381
2005/10/09(日) 15:17:50自クラス内部での操作時に値チェックし忘れるのを防ぎたいんだ。
0385デフォルトの名無しさん
2005/10/09(日) 15:23:590386デフォルトの名無しさん
2005/10/09(日) 15:34:46呼び出されるメソッドでStackTraceでもチェックすればいいんじゃね。
0387381
2005/10/09(日) 19:31:22プロパティを用意してもうっかりフィールドにアクセスしてしまう、
というケースに対応したかった。
そういう事態ぐらいは注意して防ぐべきなのか。
0388デフォルトの名無しさん
2005/10/09(日) 20:50:01SystemInformation.MenuFontで取得できるようですが
その他のフォント、例えばアイコンテキストのフォントとかは
取得できないんでしょうか?
0389デフォルトの名無しさん
2005/10/09(日) 21:06:48Win32APIのSystemParametersInfo関数かな。
0390デフォルトの名無しさん
2005/10/09(日) 21:10:40ごっつぁんです
0391デフォルトの名無しさん
2005/10/10(月) 14:00:13そのフィールドの名前を「ce2ac2932221c6c6de2ca8fa68909462」の様なくぁwせdrftgyふじこ
0392デフォルトの名無しさん
2005/10/10(月) 15:20:15それも考えた。
サフィックスで「〜_ThisFieldShouldBeAccessedByProperty」とつけるとか。
0393デフォルトの名無しさん
2005/10/10(月) 18:03:40どうしてComboBoxはフォーカスを失うと
SelectedTextがクリアされてしまう糞仕様なんですか?
具体的にはButtonで選択中のテキストを操作したいんですが……
0394デフォルトの名無しさん
2005/10/10(月) 18:18:04Textプロパティで取得できるからじゃね?
0395394
2005/10/10(月) 18:23:340396デフォルトの名無しさん
2005/10/10(月) 23:01:30ってどういうものですか?
0397デフォルトの名無しさん
2005/10/10(月) 23:22:51デバッガ上で動かしてみろ。
0398デフォルトの名無しさん
2005/10/11(火) 01:16:00N88のLINEと互換性があるよ
0399デフォルトの名無しさん
2005/10/11(火) 03:12:26あと無効リージョンってWin32API使わんと取れない?
0400デフォルトの名無しさん
2005/10/11(火) 17:16:17今はダブルバッファーを使って、無効矩形のみ描画・転送を行っています。
このほかに高速化のテクなどないでしょうか?
0401デフォルトの名無しさん
2005/10/11(火) 18:22:160402デフォルトの名無しさん
2005/10/12(水) 00:06:43C++で書き直す。
0403デフォルトの名無しさん
2005/10/12(水) 00:11:15画面描画回りはC++かどうかっつうよりも、GDIつかうかGDI+使うかの違いでないの?
それとも、C++でGDI+、C#でGDI、C++でGDI、C#でGDI+で結構違うの?
0404デフォルトの名無しさん
2005/10/12(水) 00:12:100405デフォルトの名無しさん
2005/10/12(水) 00:22:010406デフォルトの名無しさん
2005/10/12(水) 00:58:280407デフォルトの名無しさん
2005/10/12(水) 14:30:51追加したレコードの順番どおりに格納されるのでしょうか?
それとも順番は保障されていないのでしょうか?
0408デフォルトの名無しさん
2005/10/12(水) 14:33:140409デフォルトの名無しさん
2005/10/12(水) 15:28:27有難うございます
やっぱりそうですか・・・
ところで,列の順番は保障されていないのでしょうか?
0410デフォルトの名無しさん
2005/10/12(水) 15:40:51列の順序は大事だからな
0411デフォルトの名無しさん
2005/10/12(水) 15:45:09なるほど,とても参考になりました
ありがとうございます
0412デフォルトの名無しさん
2005/10/12(水) 19:55:53どうすればいいでしょうか?
できれば、アヤヤかほちゃ希望です。
0413デフォルトの名無しさん
2005/10/12(水) 20:21:43System.Korea名前空間かSytem.China名前空間で
Prostitute.Pay( currency Yen );
して下さい。
0414デフォルトの名無しさん
2005/10/12(水) 23:31:29So please restart your system.
0415デフォルトの名無しさん
2005/10/12(水) 23:36:32Please enter any F5 key
0416デフォルトの名無しさん
2005/10/13(木) 08:46:50カラム幅変更を捕まえたいと思った
http://msdn2.microsoft.com/en-us/library/ffh8ss7h(en-US,VS.80).aspx
勘弁してよマッタクモウ
何か逃げ道はないかな〜
0417デフォルトの名無しさん
2005/10/13(木) 08:56:210418デフォルトの名無しさん
2005/10/13(木) 09:15:06フィードバックセンターに文句言いまくれ
0419デフォルトの名無しさん
2005/10/13(木) 09:19:210420デフォルトの名無しさん
2005/10/13(木) 13:29:32これに、+100とかしたいので
いっかいintの10進数にでもなおしたいんだけど、オーバーフローしちゃう。
こういう場合どうやって計算すればいい?
0421デフォルトの名無しさん
2005/10/13(木) 15:10:4872ビットを精度落とさずに計算したかったら多倍長計算しないと駄目。
↓多倍長整数に関して。
http://www.gdncom.jp/student/bbs/ShowPost.aspx?PostID=1968
0422デフォルトの名無しさん
2005/10/13(木) 16:51:55Convert.ToDecimal/ToStringが使えないからちょいと変換は面倒だけど。
0423デフォルトの名無しさん
2005/10/13(木) 22:17:47プロジェクトをまたいでページ遷移できないのですか?
0424デフォルトの名無しさん
2005/10/13(木) 22:18:460425デフォルトの名無しさん
2005/10/13(木) 22:25:170426デフォルトの名無しさん
2005/10/13(木) 22:47:08ttp://support.microsoft.com/default.aspx?scid=kb;ja;JP307467
0427デフォルトの名無しさん
2005/10/14(金) 00:32:43作成中のプログラムのデバッグを開始すると、
出力の「デバッグ」、「〜.exe : 〜が読み込まれました。」と出力されるところに、
gcd-wg96とかfih--lq3とかyhavtihgといった全く覚えのない
毎回違うランダムな名称の参照が読み込まれたと出力されるのですが
これはどういうことでしょうか?
0428デフォルトの名無しさん
2005/10/14(金) 01:31:22そのメンバのコード上にカーソルがあるとき
キーレスポンスが悪くなるのはなぜだろう。
"add" "ADD" "Add_"なら大丈夫なんだが。
0429デフォルトの名無しさん
2005/10/14(金) 07:25:060430デフォルトの名無しさん
2005/10/14(金) 09:05:08なんでAddなんだろうなあ。MSDNを引いても釈然としない。
0431デフォルトの名無しさん
2005/10/14(金) 09:28:520432デフォルトの名無しさん
2005/10/14(金) 12:21:38Addメソッドはコーディング時だけ名前を変えるしかないか。
ありがとう。
0433デフォルトの名無しさん
2005/10/14(金) 13:39:330434デフォルトの名無しさん
2005/10/14(金) 17:09:15をとる方法って何かありますか?
0435デフォルトの名無しさん
2005/10/14(金) 18:52:29ひどくはないが動作が緩慢になってイヤ。
タスクマネージャでも他のメソッドの倍以上のCPU使用率になる。
単にPCのスペック不足かもしれない。(1.2GHz + 512MB)
0436デフォルトの名無しさん
2005/10/14(金) 19:09:05SendMessageでLB_GETCARETINDEXを送信。
0437デフォルトの名無しさん
2005/10/14(金) 19:54:36「外見せされてないFocucedIndexの値」ってなに?
int i = listBox1.SelectedIndex;
みたいな簡単な事じゃないのかな・・・
0438デフォルトの名無しさん
2005/10/14(金) 20:18:33サンクス。ちょっと調べてみます。
>>437
ListBoxがprivateで持ってるプロパティって言えばいいですかね。
たとえば項目で1個目,3個目,5個目ってクリックして選択してったときに最後5個目に
フォーカスがあたると思いますが、その5(インデックスは4)ってのをとりたいんです。
SelectedIndexだと一番若いインデックス(この場合0)しか取れないので。
で、ウォッチで見るとFocucedIndexって項目にその値が入ってるんです。
0439437
2005/10/14(金) 20:31:32だったら>>437でいいと思うけど・・・
複数選択したときだったら
int count = listBox1.SelectedItems.Count;
int i = listBox1.SelectedIndices[count - 1];
0440デフォルトの名無しさん
2005/10/14(金) 20:33:38ちっちっち、2番を選んでCtrl押しながら5番を選んでついでに3番も選んだときにどうなる?
0441デフォルトの名無しさん
2005/10/14(金) 20:36:41いけました。ありがとうございました。
>>439
ちょっと言葉が足りなくて申し訳ありませんが、
フォーカスがある行が選択されてるとはかぎらないんですよね。
0442437
2005/10/14(金) 20:44:53ゴミカキコでしたね・・・レスするんじゃなかった・・・
0443デフォルトの名無しさん
2005/10/14(金) 20:58:07( ◔_ゝ◔)気にするな。おれはいつもゴミカキコだ。
0444デフォルトの名無しさん
2005/10/14(金) 21:52:250445デフォルトの名無しさん
2005/10/14(金) 22:47:09CPUを食いすぎているように思うんですが、これが普通なのでしょうか?
これより早い描画を求めるならばDirectX使う必要があるんでしょうか?
0446デフォルトの名無しさん
2005/10/14(金) 22:51:14そりゃGDIやGDI+よりはDirectXのほうがいいに決まってる。
0447デフォルトの名無しさん
2005/10/14(金) 22:53:540448デフォルトの名無しさん
2005/10/14(金) 23:31:27即レス感謝です。
DirectXは詳しく知らないんですが、やりようによってはビジネスアプリっぽい画面でも使えるんですか?
たとえばVisioみたいなもののメイン画面を描画の高速化を狙ってDirectXつかって書くというのも可能なんでしょうか?
0449デフォルトの名無しさん
2005/10/14(金) 23:47:22ビジネスアプリでそこまで高速に画面全体のリフレッシュが要求される状況になるのか?
無駄な画面全体の描画をしているんでない?
0450445
2005/10/15(土) 00:13:24ちょっとビジネスアプリとも違うんですが・・・
リアルタイムデータをいろいろなビューで高速表示する必要があるものを作ってます。
ほかにもCPUパワーを食うので減らせるところは減らそうと考えてます。
0451デフォルトの名無しさん
2005/10/15(土) 00:17:290452デフォルトの名無しさん
2005/10/15(土) 01:14:45ユーザがWebページ(aspx)でボタンを押すと、デスクトップキャプチャ画面をサーバに自動的に
アップロードするといった処理を実現したいのですが、そもそもそのようなことはASP.NETで
可能なのでしょうか。
もし可能ならばポインタだけでも結構ですので教えていただけるとありがたいです。
0453デフォルトの名無しさん
2005/10/15(土) 01:47:33キン○マウイルス?そんなのできたら個人情報だだもれだ。
0454デフォルトの名無しさん
2005/10/15(土) 01:53:03そんなことどうでもいいんだよ。
ポインタだけ教えてやれよ
0455デフォルトの名無しさん
2005/10/15(土) 02:13:140456デフォルトの名無しさん
2005/10/15(土) 02:17:23ASP.NETでもそれ以外でも(穴付く以外に)不可能。
クライアントのプログラムとして許可されないと。
0457452
2005/10/15(土) 05:37:24そうですか、、、そうですよね。
クライアントのプログラムを起動するようなサンプルってどこかにありますでしょうか。
社内用のツールとしてデータベースに接続する簡単なWebインターフェイスをASP.NETで書いたんですが(バグトラッカーみたいなもの)、
一緒に画像も貼り付けられたら便利だと思ったもので。そんなわけでウィルスを作りたいわけではありませんです。>>453
0458デフォルトの名無しさん
2005/10/15(土) 08:35:11ページ遷移とか考えなくていいから楽チンだぜ
0459452
2005/10/15(土) 08:58:05データベースに情報をサブミットするタイミングで画像もアップロードしたいので、流れとしては
(1) ユーザが画面をキャプチャするボタンを押す。
(2) クライアントプログラムが起動して画面をキャプチャし、決まったテンポラリフォルダに画像ファイルを保存。
(3) ユーザがサブミットボタンを押したタイミングでテンポラリフォルダにある画像ファイルをアップロードする。
てな感じで考えています。(2)のためにクライアントプログラムを起動したいのですが、どうすればよいでしょうか。
0460デフォルトの名無しさん
2005/10/15(土) 09:06:25作っています。1つの子フレームをポストバックすると、2つの子フレームを
画面遷移させたいのです。
どうすればいいでしょうか?
0461デフォルトの名無しさん
2005/10/15(土) 09:41:52どなたか教えてください。
0462デフォルトの名無しさん
2005/10/15(土) 09:51:15PointToScreen
0463デフォルトの名無しさん
2005/10/15(土) 12:11:00あのな、とりあえずWebだけだとどういじくってもミリ。あればセキュリティホール
クライアントアプリが起動できたとしてそれがCドライブフォーマットするとかだったらどうするのよ。
基本的にローカルには触れないと思え
だからそれを使うマシンで設定する必要がある
ブラウザで簡単に実現するんならActiveX使ったりとか
個人的にはその作業全部一つのクライアントアプリにしてしまって配置は適当に考える
ドメイン使うでも何でも
0464デフォルトの名無しさん
2005/10/15(土) 14:36:31が、最初に↓のようなことを聞かれます。
「インストールするコンピュータをwebプロジェクトのホストにするかどうか」(winコンポーネントのアップデートをするかどうか)
「webプロジェクトのホスト」というのがよく分からず、これをどう答えていいのか分かりません。
「ホストにする」にした方がいいのでしょうか?
0465デフォルトの名無しさん
2005/10/15(土) 14:54:020466464
2005/10/15(土) 14:57:47早速レスありがとうございます。
・・・で、追加で申し訳ないのですが、asp.net とはなんでしょうか?
ぐぐってみても、よく分からないページが一件表示されるだけで、わかりませんでした(T T)
作りたいのは、シューティングゲームと、簡易タイマー(キッチンタイマーみたいなの)です。
0467デフォルトの名無しさん
2005/10/15(土) 14:58:220468デフォルトの名無しさん
2005/10/15(土) 15:06:46ありとん!!
0469デフォルトの名無しさん
2005/10/15(土) 15:32:16できれば、作成したものと結婚を夢見ています。
どうすれば作れますか?
0470デフォルトの名無しさん
2005/10/15(土) 15:52:39Suggestions:
- Make sure all words are spelled correctly.
- Try different keywords.
- Try more general keywords.
0471デフォルトの名無しさん
2005/10/15(土) 18:01:06または、実際に使っててソースが公開されてるソフトとかあれば教えてください。
0472デフォルトの名無しさん
2005/10/15(土) 18:02:360473デフォルトの名無しさん
2005/10/15(土) 18:08:19確かそれってライセンスがGPLなんじゃないの?
0474デフォルトの名無しさん
2005/10/15(土) 18:09:23っていうか SharpZipLib だな。
0475デフォルトの名無しさん
2005/10/15(土) 18:21:12ありがとうございます。
今は、何故かUnzip32.dllを使ってたのでこれですっきりC#で書けそうです。
#まだ、どんなことができるのか手探り状態なのですごく助かりました。
0476デフォルトの名無しさん
2005/10/15(土) 19:12:320477デフォルトの名無しさん
2005/10/15(土) 19:22:28.NETには、少なくとも.NET Frameworkのクラスライブラリには存在しないな。
何をもって標準的というのかは知らないが、Googleにでも聞いてみたらどうだ。
0478デフォルトの名無しさん
2005/10/15(土) 19:41:510479デフォルトの名無しさん
2005/10/15(土) 19:43:440480デフォルトの名無しさん
2005/10/15(土) 21:20:160481デフォルトの名無しさん
2005/10/15(土) 21:23:48http://sharptoolbox.com/Search.aspx?Query=ToolName%3drss
0482デフォルトの名無しさん
2005/10/15(土) 21:30:270483デフォルトの名無しさん
2005/10/15(土) 21:34:56それより次期RSSサポートがCOMなのが最悪。
0484デフォルトの名無しさん
2005/10/15(土) 22:52:19label4.Text=myage.text;
というのを実行すると、
C:\Documents and Settings\ptch\My Documents\Visual Studio Projects\intro\Form1.cs(137): 'System.Windows.Forms.Control.text' はアクセスできない保護レベルになっています。
とエラーが出ます。
何が駄目なのかさっぱり分かりません(´・ω・`)
どうしたらいいのでしょうか?
0485デフォルトの名無しさん
2005/10/15(土) 22:54:04VisualStudio使ってないの?
0486デフォルトの名無しさん
2005/10/15(土) 22:56:58インテリセンスがでるだろ? myageの後のピリオド打ったときに
0487484
2005/10/15(土) 23:05:06でも、うああ、えと、どういうことでしょう。
visual stadioというのはわかりませんが、486さんのいうように多分そうだと思います。
インテリセンスとは?
ピリオド打った後に確かになんかリストみたいなのが自動で表示されました。
そこからどうしたらよかったのでしょうか?
0488デフォルトの名無しさん
2005/10/15(土) 23:05:59大文字なんですか!
やってみます!
0489デフォルトの名無しさん
2005/10/15(土) 23:07:18とりあえず、ありでした・・・・
0490デフォルトの名無しさん
2005/10/15(土) 23:10:49なんか妙なことを言ってる気がする。
0491デフォルトの名無しさん
2005/10/16(日) 00:28:320492デフォルトの名無しさん
2005/10/16(日) 00:32:430493デフォルトの名無しさん
2005/10/16(日) 00:44:180494デフォルトの名無しさん
2005/10/16(日) 01:44:41のsummaryってどういう使い方をするんですか?
0495デフォルトの名無しさん
2005/10/16(日) 01:52:120496デフォルトの名無しさん
2005/10/16(日) 06:58:47ttp://lamoo.s53.xrea.com/develop/gdiplus/gdiplus_blt.html
GDI+が遅いから激しい描画は無理。
DirectXはMDXの配布に難がある。
0497デフォルトの名無しさん
2005/10/16(日) 18:07:50numericUpDownからフォーカスを外したいんですが
やり方が見つかりません。誰か教えてください。
0498デフォルトの名無しさん
2005/10/16(日) 19:28:000499デフォルトの名無しさん
2005/10/16(日) 19:31:10htmlDocument = webbrowser.Document.OpenNew(true);みたいにして
HtmlDocumentを取得して、htmlDocument.write(html);のようにhtmlを投げてブラウザに表示させたいんですけど
何故かブラウザの末尾にundefinedと出てしまいます。
投げてるhtmlは2chのdatを適当に整形した奴なんですけど(正式なhtmlじゃなくて、2chブラウザから右栗>ソースを表示みたいなもの)やっぱりそれが原因ですかね?
0500デフォルトの名無しさん
2005/10/16(日) 19:38:210501デフォルトの名無しさん
2005/10/16(日) 19:41:16とりあえずHTMLは表示できてるよ。
0502デフォルトの名無しさん
2005/10/16(日) 19:48:08formをクリック→何かにfocus()
0503デフォルトの名無しさん
2005/10/16(日) 20:03:04ありがとうございます。おかげさまで出来たんですが、縦長のフォームなので
新しくフォーカスを置いたところにスクロールしてしまいます。
何にfocus()すれば適切なのでしょうか。。
0504デフォルトの名無しさん
2005/10/16(日) 20:09:090505デフォルトの名無しさん
2005/10/16(日) 21:34:32λ,,,なんかnull投げてた…
ちょっといじってたらformが真っ白…同期勉強してきます
0506デフォルトの名無しさん
2005/10/16(日) 22:30:36ってやると、
Form1.cs(102): 型 'System.DateTime' を型 'System.TimeSpan' に暗黙的に変換できません。
とエラーがでます。
本の通りにやってるんですが、なぜでしょう。
今度はちゃんと大文字小文字を区別して書いてるのに(´・ω・`)
0507デフォルトの名無しさん
2005/10/16(日) 22:33:10現在時刻を TimeSpan にすること自体が謎だし
0508デフォルトの名無しさん
2005/10/16(日) 22:34:35本の通り?本当に本にそんなこと書いてあるの?
なんていう本の何ページですか?
もし本に、そう書いてあったら、その本は最悪だ。
仮に上級者向けなら、その程度のミスはすぐ解決できる人しか読まないはずだからいいんだが、
初心者向けの本だったら?C#、あるいはプログラミングが嫌いになっちゃう人を作る書籍ということになる。
0509デフォルトの名無しさん
2005/10/16(日) 22:34:36そうですか。。。
すいません、もう一度見てみます(´・ω・`)
0510デフォルトの名無しさん
2005/10/16(日) 22:35:11ごめん、こっちがミスってると思う。
もっかい読んでみます。
0511デフォルトの名無しさん
2005/10/17(月) 11:44:01AssemblyVersion で指定するバージョン番号は、
アセンブリに厳密名を付けない場合、どのような番号になっても
何も影響はありませんか?例えば、
Menu.exe が subA.dll, subB.dll を参照している場合、
subA.dll をリビルドしてバージョン番号があがっても、
Menu.exe はリビルドする事なく、subA.dll を上書きコピーすれば
動作すると思いますが、AssemblyVersionは何の為に使用するの
でしょうか?
逆に、ここで Menu.exe がビルドされた時の subA.dll のバージョン番号
と完全一致させたい場合は、厳密名が必須になる、という事に
なりますか?
よろしくお願いします。
0512デフォルトの名無しさん
2005/10/17(月) 11:59:24サイド倍サイドでAフォルダとBフォルダにC.DLLをそれぞれ置くとして
これでバージョン違いが複数存在できますが、それぞれのソースは
どうやって管理すればいいんでしょう?
C.csproj以下もEXEごとに複数存在させるんでしょうか。
VBとActiveX DLLのときは、A.vbpとB.vbpから同じC.vbpを参照
してたんですが。。
0513デフォルトの名無しさん
2005/10/17(月) 15:41:51xmlDoc.SelectSingleNode("/ItemLookupResponse/Items/Item/Title").InnerText
では取得できませんでした。
SelectSingleNode で階層構造を辿っていくだけだと思っているのですが
何かお気付きの点がありましたら教えてください。
<?xml version="1.0" encoding="UTF-8" ?>
- <ItemLookupResponse xmlns="http://webservices...">
- <Items>
- <Item>
<ASIN>12345678</ASIN>
<DetailPageURL>http://www.....</DetailPageURL>
- <ItemAttributes>
<Author>2ch</Author>
<Author>2ch</Author>
<Creator Role="著">2ch</Creator>
<ProductGroup>Book</ProductGroup>
<Title>2ch</Title>
</ItemAttributes>
</Item>
</Items>
</ItemLookupResponse>
0514デフォルトの名無しさん
2005/10/17(月) 16:35:52名前空間指定したら?
0515デフォルトの名無しさん
2005/10/17(月) 18:31:01パスにItemAttributesが抜けとる
0516513
2005/10/17(月) 19:20:59>>515 うわ、コピーミスしました。
実際には、
xmlDoc.SelectSingleNode("/ItemLookupResponse/Items/Item/ItemAttributes/Title").InnerText
としているのですが、取れませんでした。
(Null がかえってくる)
0517デフォルトの名無しさん
2005/10/17(月) 19:41:43XMLの基本的なこと調べた?
ItemLookupResponse以下の名前空間は「http://webservices...」
とかだよね(xmlns=XML Namespace)。省略されているから分からんけど
SelectSingleNodeに名前空間を指定するオーバーロードがあるでしょ
0518デフォルトの名無しさん
2005/10/17(月) 19:56:08それはもうバージョン違いじゃなくてforkってんじゃないか?
マイナーバージョン以上が異なるのなら別プロジェクトにした方が良いだろうね。
>>511
取りあえず参考
ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
0519デフォルトの名無しさん
2005/10/17(月) 22:06:24とりあえずxmlDoc.ChildNodes[1].ChildNodes[0].ChildNodes[0].ChildNodes[2].ChildNodes[4].InnerTextでw
0520デフォルトの名無しさん
2005/10/17(月) 22:11:010521デフォルトの名無しさん
2005/10/17(月) 22:58:24課題研究の授業で、一人でC言語の勉強をしなくてはならないのですが、
入門者向けのC言語の本を買いたいのですが、みなさんのお勧めの本とかあったら教えてください。
お願いします。
C言語は、プログラミングの授業でポインタのあたりまでやっている段階です。
0522デフォルトの名無しさん
2005/10/17(月) 23:03:330523デフォルトの名無しさん
2005/10/17(月) 23:03:460524デフォルトの名無しさん
2005/10/17(月) 23:04:13できるとしたら、どうすればよいでしょうか?
0525デフォルトの名無しさん
2005/10/17(月) 23:05:550526デフォルトの名無しさん
2005/10/17(月) 23:06:45やはりそうですか。ありがとうございます。
0527デフォルトの名無しさん
2005/10/17(月) 23:46:40すみませんでしたm(_ _)m
0528デフォルトの名無しさん
2005/10/18(火) 11:57:22asp:TextBoxのタグでWidth属性を変えても実行結果に変化がないのですがどうしてでしょうか。
またC#のコード内のLoad_Page()でWidth属性に値を代入してもだめです。
どなたか原因がお分かりになりますでしょうか。
0529デフォルトの名無しさん
2005/10/18(火) 12:01:240530528
2005/10/18(火) 13:25:27TextBoxにはLockedというプロパティはないように見受けられますがいかがでしょうか。
その後調べてみたところ、問題が起きていたのはFirefoxだったのですが、
インターネットエクスプローラーではサイズの変更がきちんと反映されて表示されるようです。
0531デフォルトの名無しさん
2005/10/18(火) 15:30:35DataGridでテーブルを表示させていますが、各行を選択した時にハイライトする方法はあるのでしょうか。
0532デフォルトの名無しさん
2005/10/18(火) 15:46:24例えば
int[,] test = new int[2,3];
としてコレの1行目を一次元配列を処理する
関数に渡すときにはどうすればよいのでしょうか?
Cなら
void hoge(int a[])
{
}
とういう関数には
hoge(test[0]);
としますがC#ではどうなるのでしょうか?
0533デフォルトの名無しさん
2005/10/18(火) 15:52:450534デフォルトの名無しさん
2005/10/18(火) 15:54:06有難うございます
0535デフォルトの名無しさん
2005/10/18(火) 20:01:56さい。
今までC++をメインに使っていたのですが、その際に多重継承を多用
していました。
たとえばあるクラスはSerializableでありCommandHandlerでありView
であるというような際に多重継承を使って実装しています。これらのク
ラスは機能がまったく異なり、それらの機能を使いたいクラスが必要な
ものを継承するようにしていました。
もちろん機能を使うだけであれば以上などで実装するのですが、フレー
ムワークのようなコードを多く書いているため内部で多態として動作す
るように継承を用いています。
ここでC#でも同じようなコードを書こうとしていたのですが、実装継承
ができないためコード記述が面倒になっています。
インターフェースを記述してそれを継承するものがみな機能の実装クラ
スを呼び出すコードを書かなければいけません。
皆さんはどのようにコードを書かれているのでしょうか?参考にさせ
てもらえれば幸いです。
0536デフォルトの名無しさん
2005/10/18(火) 20:15:460537デフォルトの名無しさん
2005/10/18(火) 21:54:20ページによってはとれないページがあります。
セッションIDはとれるのですが、セッションの中身(countが0)が空になるんです。
セッションをオフにはしてません。
どういった原因が考えられますか?
0538535
2005/10/18(火) 22:04:23それは機能を使いたいだけの場合ですよね?isAにしたいときはどうするんですか?
0539デフォルトの名無しさん
2005/10/19(水) 00:35:32それは本当にis-aなのか?よく考えてみろ。
0540535
2005/10/19(水) 01:09:560541デフォルトの名無しさん
2005/10/19(水) 01:17:52とりあえず "あるクラス" の宣言を C++ ので良いから言ってくれ。名前とか継承してるクラスとか知りたい。
0542535
2005/10/19(水) 02:46:10class RealTimeDataView:class View,class DataHandler,class Serializable
{
}
こんな感じです。
Viewクラスは描画やマウスイベントの受け取りなどいわゆるビュー機能を実装しています。
DataHandlerはリアルタイムデータを受け取り処理するクラスです。データをどう処理するかにおいてこのクラスを継承して特殊クラスを作っています。
Serializableはオブジェクトをシリアライズするための基本クラスです。これを継承したクラスがシリアライズ可能となります。
0543デフォルトの名無しさん
2005/10/19(水) 06:03:56ATLがそんなつくりですね。多重継承を前提にした設計なので、それをサポートしない言語では
包含して委譲するしかないと思います。
0544デフォルトの名無しさん
2005/10/19(水) 08:48:250545535
2005/10/19(水) 10:56:54>>543
包含して以上の場合だと他のクラスとの関連はどうなるんでしょうか?
これらのクラスが動くには外部にあるマネージャークラスなどとの強調動作が必須になっています。
ViewクラスはWindow関係のフレームワークの中で動いてますし、DataHandlerもリアルタイムデータを処理する仕組みの中での一ハンドラーを実装するクラスの基本クラスでありManagerにとってはほかのクラスとの違いはありません。
Serializableも同様です。いずれも外部にとっては”Is-A"で処理しているものです。
外部から操作するにはデリゲートをハンドラとして登録して動かすことなども考えましたがいまいちスマートでありません。
>>544
どの変からそのように感じられたのでしょうか?
いまいちインターフェースの感覚つかんでないので、というよりインターフェースの存在意義がわからないので・・・
じぶんにとってインターフェースはダイヤモンド継承を避けたいために導入された稚拙な設計ミスのように思えています。
ダイヤモンド継承を禁止されたクラスの多重継が可能あればすべて事足りると思ってるのですが何かおかしいでしょうか?
0546デフォルトの名無しさん
2005/10/19(水) 11:04:11勉強になりますた
ところでなぜ多重継承が忌み嫌われる理由って分かります?
0547デフォルトの名無しさん
2005/10/19(水) 12:08:19とりあえずOOPについて勉強されてはどうですか?
0548デフォルトの名無しさん
2005/10/19(水) 12:23:07逆、インターフェースで十分なのに、インターフェース使うべき所を多重継承使って解決してたのの方が稚拙。
>>546
まあ、ダイアモンド継承がその際たるものだけど、
それがなくても多重継承は実装が面倒だし、コードの実行効率も落ちる。
0549デフォルトの名無しさん
2005/10/19(水) 12:29:390550デフォルトの名無しさん
2005/10/19(水) 12:38:49そんな人にC++/CLIをすすめようかと思ったら、ref class で宣言すると多重継承はできなくなるようです。
とまあ多重継承は長所短所あって、C++は多重継承をできることを選んで、JavaやC#などは選ばなかった
言語の設計思想の違い、それだけのことですな。
0551デフォルトの名無しさん
2005/10/19(水) 13:10:43ダイヤモンド継承のからみのメソッドシグネチャのあいまいさだと思っていましたが、ほかにもあるんでしょうか?
0552535
2005/10/19(水) 13:17:45何が問題なんでしょう?
>>548
インターフェースだとプロトコルと実装が分離できるけれど、逆に分離しなければいけないところが使うときにめんどくさいのですが。
それの解消法何か言い方法内科と探してる最中です。
>>549
詳しく
>>550
おっしゃるとおりです。C++つかいですた。
その言語設計思想の違いの上でどうコーディングしたらいいか質問してるんですが。
0553デフォルトの名無しさん
2005/10/19(水) 13:23:46例えば、
class A { int a; };
class B { int b; };
class C : A, B { int c };
とした場合、
C c;
A* a = &c; // これは a に c のアドレスを渡すだけだけど、
B* b = &c; // これは b に c のアドレス + int の幅になる
とかが嫌。
0554デフォルトの名無しさん
2005/10/19(水) 15:05:46私はフラグで各ループをbreakしてるんですが何か言い方法ってありますでしょうか?
0555デフォルトの名無しさん
2005/10/19(水) 15:08:24>その言語設計思想の違いの上でどうコーディングしたらいいか質問してるんですが
そういう意味だったら、これが言語の違いと認識して、C++ の考えを持ち込むのは諦めてほしい。
残念だけど。
>>554
goto
0556デフォルトの名無しさん
2005/10/19(水) 15:09:48goto
0558デフォルトの名無しさん
2005/10/19(水) 15:35:32ん〜。だから諦めて >>536 なんだよなぁ。
あるいは、多重継承の親となるクラスを改変できるのなら、実装と定義を分けるのも手かも。
定義を interface A, interface B、実装を A や B を継承した class CA, class CB に分割しておいて、
多重継承は A と B を継承したクラスから、包含した CA, CB に委譲。
0559535
2005/10/19(水) 15:46:30包含と委譲の場合はたくらすとの強調動作(Managerクラスなどとのやり取り)はどうされてるんですか?
実装と定義のぶんりになるんですかね。やはり。コード核のがめんどくさい&バグ生みそうなんですが・・・
0560デフォルトの名無しさん
2005/10/19(水) 15:51:070562デフォルトの名無しさん
2005/10/19(水) 15:58:160563デフォルトの名無しさん
2005/10/19(水) 16:08:38子だけを扱うようにマネージャクラスを改造すれば良いんじゃないのか?
0564535
2005/10/19(水) 16:17:36分離するべきものだったとした場合はどうなるんでしょう?
>>563
親と子をはなにをさすんでしょう?マネージャー的なクラスがコントロールする対象となるクラスのことでしょうか?
自分はそれをインターフェースなどを定義して複数クラスで継承するなどしてIsAとしてあつかいたいんですが。
個だけを扱うとはどのような意味でしょう?
0565デフォルトの名無しさん
2005/10/19(水) 16:24:00>マネージャー的なクラスがコントロールする対象となるクラスのことでしょうか?
はい。
>インターフェースなどを定義して複数クラスで継承するなどしてIsA
すれば良いじゃん。できる筈。
0566デフォルトの名無しさん
2005/10/19(水) 16:26:09class A を扱う class AManager を作るんじゃなくて、class ManagerA と、それによって扱われる interface IManaged を作るの。
0567デフォルトの名無しさん
2005/10/19(水) 16:28:00>ここでC#でも同じようなコードを書こうとしていたのですが、実装継承
>ができないためコード記述が面倒になっています。
>インターフェースを記述してそれを継承するものがみな機能の実装クラ
>スを呼び出すコードを書かなければいけません。
>皆さんはどのようにコードを書かれているのでしょうか?参考にさせ
>てもらえれば幸いです。
最初の質問なんですが・・・
0568デフォルトの名無しさん
2005/10/19(水) 16:30:40>538 :535 :2005/10/18(火) 22:04:23
>>536
>それは機能を使いたいだけの場合ですよね?isAにしたいときはどうするんですか?
is-a にしたいんだよね? 俺継承以外で is-a にする方法を、C++ でも C# でも知らない。
C++ だと小細工すれば出来るかもしれないけど。
0569デフォルトの名無しさん
2005/10/19(水) 16:55:10>>545
>というよりインターフェースの存在意義がわからないので・・・
C# では “これが一番重要” って決めた継承を一本だけ残して、後は interface, attribute などの準継承でまかなう。
それによって実質的なコード量が増えたとしても気にしない。
public void Foo() { 委譲先オブジェクト.Foo(); }
みたいなメソッドが山ほどあっても。
0570デフォルトの名無しさん
2005/10/19(水) 17:14:41そもそも設計がおかしい。
0571569
2005/10/19(水) 17:20:21でも数個程度なら (俺は) こうする。
0572デフォルトの名無しさん
2005/10/19(水) 18:32:01>コード核のがめんどくさい&バグ生みそうなんですが・・・
駄々をこねてるとしか思えないな。ここを拒否したら話が進まんだろう。
>>542 をもとにC#風に書くとこんな感じか?
class DataHandler : IDataHandler
class Serializable : ISerializable
class RealTimeDataView : View, IDataHandler, ISerializable
DataHandlerとSerializable を包含
Managerクラスというのも具体的に例を挙げてくれたらもう少し答えようもあるかもしれない。
0573デフォルトの名無しさん
2005/10/19(水) 18:59:17どうしてもC#で書かなきゃいけないならC#の流儀に従え
0574デフォルトの名無しさん
2005/10/19(水) 19:05:45C# 風に書くと、
class RealTimeDataView : View, ISerializable
{
}
0575デフォルトの名無しさん
2005/10/19(水) 19:06:150576デフォルトの名無しさん
2005/10/19(水) 19:06:52class RealTimeDataView : View, ISerializable
{
IDataHandler DataHandler{ get{ ... } };
}
0577デフォルトの名無しさん
2005/10/19(水) 19:07:23[Serializable]
class RealTimeDataView: View {} // では不味いのか?
0578デフォルトの名無しさん
2005/10/19(水) 19:58:310579デフォルトの名無しさん
2005/10/19(水) 19:59:48同じコードをあちこちにこぴぺしなければいけないのは美しくないし十分バグの元だと思うが?
>>573
おまいもC#の流儀教えてくれって言ってるんだから素直に教えてやれや。あ、知らんのか?すまんそ。
0580デフォルトの名無しさん
2005/10/19(水) 20:08:05>同じコードをあちこちにこぴぺしなければいけないのは
どこから出てきた話だ?
0581デフォルトの名無しさん
2005/10/19(水) 20:42:13>同じコードをあちこちにこぴぺしなければいけないのは美しくないし十分バグの元だと思うが?
コレがこいつの能力をよく現しているようだ
0582579
2005/10/19(水) 21:23:16損ぐらい気づけちんかす。
0583デフォルトの名無しさん
2005/10/19(水) 21:30:030584デフォルトの名無しさん
2005/10/19(水) 21:32:01多言語の話で悪いんだが、java.util.Vector と java.util.Stack の継承関係は最悪だと思ってる。
差分プログラミングを否定するわけじゃないんだが、時と場合によると思うよ。
0585デフォルトの名無しさん
2005/10/19(水) 22:24:300586デフォルトの名無しさん
2005/10/19(水) 22:25:24うざいだけ。
0587デフォルトの名無しさん
2005/10/19(水) 22:30:270588デフォルトの名無しさん
2005/10/19(水) 22:32:130589デフォルトの名無しさん
2005/10/19(水) 22:33:540590デフォルトの名無しさん
2005/10/19(水) 23:25:250591デフォルトの名無しさん
2005/10/20(木) 01:39:340592デフォルトの名無しさん
2005/10/20(木) 07:21:030593デフォルトの名無しさん
2005/10/20(木) 07:32:540594デフォルトの名無しさん
2005/10/20(木) 10:11:45ASP.NETで、DataGridの各行にボタンを配置することはできますが、これを画像ボタンにすることは可能ですか。
普通のボタンかリンクボタンしか選択できないのでしょうか?
0595デフォルトの名無しさん
2005/10/20(木) 12:04:58テンプレート列を使えばできる。
0596デフォルトの名無しさん
2005/10/20(木) 13:42:49それは非常に美しいじゃないか
実体が委譲先にあるというのが一目で判る
0597デフォルトの名無しさん
2005/10/20(木) 13:58:15派生クラスが20個あったら20個に同じように委譲コードを書かないといかんのでしょ?
うんこ。
0598デフォルトの名無しさん
2005/10/20(木) 14:01:05ttp://weblogs.asp.net/rmclaws/archive/2003/11/29/40297.aspx
0599デフォルトの名無しさん
2005/10/20(木) 14:56:17画面制御のパターンを20も作るのか?そっちのがウンコ
画面は業務ごとにパターン化してその幾つかの中から選んだベースの画面を継承して業務画面を作るんじゃないのか?
画面ごとに操作方法の違うアプリってなんかUIが糞なんじゃね?
0600デフォルトの名無しさん
2005/10/20(木) 19:28:240601デフォルトの名無しさん
2005/10/20(木) 20:02:10DataSourceであるDataSetの子テーブルのフィールドを割り当てたいんですが
BoundColumnのDataFieldはどう指定すればいいのでしょうか?
0602デフォルトの名無しさん
2005/10/20(木) 22:14:39あほか。何で画面制御の話に限定してんだよ。
ここで話してるのは派生オブジェクト一般のことですが?
なんで少数のでしか派生させないことを前提にしてるんですか?人の話もきいてないし。
お舞システム向いてないよ。
0603デフォルトの名無しさん
2005/10/20(木) 22:15:200604デフォルトの名無しさん
2005/10/20(木) 22:30:240605デフォルトの名無しさん
2005/10/20(木) 22:31:370606デフォルトの名無しさん
2005/10/20(木) 22:38:39多重継承の代わりにどんなテクニック使ってるんですか?って質問にしか見えないアホな俺がいる
0607デフォルトの名無しさん
2005/10/20(木) 22:42:200608デフォルトの名無しさん
2005/10/20(木) 22:46:120609デフォルトの名無しさん
2005/10/20(木) 23:08:270610デフォルトの名無しさん
2005/10/20(木) 23:12:180611デフォルトの名無しさん
2005/10/20(木) 23:58:190612デフォルトの名無しさん
2005/10/21(金) 02:33:080613デフォルトの名無しさん
2005/10/21(金) 02:39:32別に委譲前提じゃないでしょ。まぁ委譲よく使ってるが。
0614デフォルトの名無しさん
2005/10/21(金) 09:14:460615デフォルトの名無しさん
2005/10/21(金) 11:02:450616デフォルトの名無しさん
2005/10/21(金) 11:17:140617デフォルトの名無しさん
2005/10/21(金) 11:36:00ごめん、俺馬鹿だわ、言ってる意味全然わかんない。
>>614で言いたかったのは、
例えば、>>535の例だとViewを継承したクラスに(ViewAとする)にSerializable(ISerializable)と
CommandHandler(ICommandHandler)を委譲を使って実装してViewAから20個のクラスを継承すればいいじゃない?
ってことだったんだけど、変かな?
0618デフォルトの名無しさん
2005/10/21(金) 11:42:26C#やJavaは普通そうするものだと思うが
0619デフォルトの名無しさん
2005/10/21(金) 11:56:20ですよね。だとすると>>535は何が不満なのか、と>>615の言ってることがよくわからんのです。
0620デフォルトの名無しさん
2005/10/21(金) 15:33:51たとえば、「今日は2chに2時間滞在した。」という15文字の文章を基にして、
15文字または30文字の無意味な半角英字(大小)数字記号を生成するにはどうすれば良いですか?
0621デフォルトの名無しさん
2005/10/21(金) 15:35:25ある文字列(A)を基にして意味不明な文字列(B)を作成するにはどうしたら良いですか?
たとえば、「今日は2chに2時間滞在した。」という15文字の文章(A)を基にして、
15文字または30文字の無意味な半角英字(大小)数字記号(B)を生成するにはどうすれば良いですか?
Bをパスワードとして利用したいので。
0622デフォルトの名無しさん
2005/10/21(金) 15:39:360623デフォルトの名無しさん
2005/10/21(金) 17:22:58>>535の言いたいことはViewだけが特別なクラスでなくSerializableやCommandHandlerも同等のクラスとして扱いたいということだと思われ。
SerializableやCommandHandlerも>>614でいうような委譲コードを書くべき派生クラスが20個もあるかもしれない。
その際になんでViewだけ特別にクラスとして、SerializableやCommandHandlerは制限のあるインターフェースにしなきゃいけないのか。
んでC#ではそうするしかないなら、なんかいいコードの書き方教えれお舞ら。ということでは?
0624デフォルトの名無しさん
2005/10/21(金) 17:25:37なんてAPIをC#から叩きたい時ってどうしたらいいですか?
HANDLE IntPtr
WORD ushortってのはわかったのですがポインタの扱いがわかりません。
0625デフォルトの名無しさん
2005/10/21(金) 17:35:41//unsignedは大抵無視する私。
0626デフォルトの名無しさん
2005/10/21(金) 17:41:39プログラム的な概念が表に出すぎてモデル化が甘いんじゃないの?
Viewでもあり、Serializableでもあり、CommandHandlerであるそれは何なの
この場合(画面とかそういうのだと思うが)CommandViewFrame(名前は適当)とか言う継承元を作れば良い話
Serializableだけで実体化することって現実的に考えるとおかしいよね?
それって何かシリアライズしたい何かがあるからシリアライズの機能をつけるんだよね
あと、CommandHandlerって機能だけを実体化するのもおかしいよね?
0627デフォルトの名無しさん
2005/10/21(金) 17:58:100628デフォルトの名無しさん
2005/10/21(金) 18:00:32ならグローバルフックするとかDirectInputつかうとか
単純にフォームでキー入力を処理したいってんならKeyPreview
0629デフォルトの名無しさん
2005/10/21(金) 18:07:27その通りです、説明不足で申し訳ありません。
KeyPreviewを使ってなんとかしようとしていたのですができず困っていました。
上2つを試してみます。
0630619
2005/10/21(金) 18:48:28なるほど、よくわからないけどわかった。さんくす。
>>626
> プログラム的な概念が表に出すぎてモデル化が甘いんじゃないの?
たぶんそんなところだと俺も思う。
0631デフォルトの名無しさん
2005/10/21(金) 19:06:21Formのリサイズ時に各Linklabelを位置を先頭から再計算して再描画したら動作がとても遅くて困ってます。
リサイズ時にスムーズに大量のLinklabelを表示するにはどうしたらいいですか?
0632デフォルトの名無しさん
2005/10/21(金) 19:07:370633デフォルトの名無しさん
2005/10/21(金) 19:33:36this.treeView1.Focus();
で、一番親にフォーカスが当るのですが、その子供たちにフォーカスを当てる事が出来ません。
もしよろしければ教えていただけないでしょうか。
0634デフォルトの名無しさん
2005/10/21(金) 19:35:290635デフォルトの名無しさん
2005/10/21(金) 19:45:45SuspendLayoutを使ってみたけど遅いまま
SuspendLayoutの使い方間違ってるのかな?
private void Form1_Resize(object sender, System.EventArgs e)
{
panel1.SuspendLayout();
for(int i = 0 ; i < panel1.Controls.Count;i++)
{
if(re_left > panel1の横幅)
{
re_left = 10;
re_top += panel1.Controls[i].Height;
}
panel1.Controls[i].Top = re_top; //縦座標
panel1.Controls[i].Left = re_left; //横座標
re_left += panel1.Controls[i].Width; //次のラベルの横座標
}
panel1.ResumeLayout();
}
0636デフォルトの名無しさん
2005/10/21(金) 21:09:26> 複数のインデント レベルを使用して書式指定されたテキストは、生成されたコードで使用すると便利です。
> そのため、このクラスは CodeDOM コード ジェネレータの実装で使用されます。
そんな下らん理由で変な名前空間に入れるなヴォケ
0637デフォルトの名無しさん
2005/10/21(金) 21:20:06IO におけってのか
0638デフォルトの名無しさん
2005/10/21(金) 21:29:52Regexに並ぶVIP待遇。
0639デフォルトの名無しさん
2005/10/21(金) 21:40:040640デフォルトの名無しさん
2005/10/21(金) 21:43:39汎用性がなさすぎる
0641デフォルトの名無しさん
2005/10/21(金) 21:46:310642デフォルトの名無しさん
2005/10/21(金) 21:52:540643デフォルトの名無しさん
2005/10/21(金) 22:10:50Console.Write((char)0xFF); を実行すると、私の環境では 'y' (0x79) が出力されます。
調べたところ、char へキャストした直後には、値は 0xFF でしたので、
Write が発音記号付きの 'y' (0xFF) を表示しようとして代替文字の 0x79 を出力したのではないか、と私は推測しました。
そこで2つほど質問なのですが、
1: この推測は正しいのかどうか。
2: 回避する方法として、Encoding.Ascii.GetChars(new byte[] { 0xFF }) を Write するならば 0xFF が出力できるが、
一文字だけを出力するのには大げさすぎるので、もっと簡単な実現方法は無いかどうか。
をよろしくお願いいたします。
0644643
2005/10/21(金) 22:20:49……どうにかして、0xFF そのものを表示できないですか?
0645デフォルトの名無しさん
2005/10/21(金) 22:21:470646デフォルトの名無しさん
2005/10/21(金) 22:24:49ありがとうございます。
ところで、MD5って何ですか?
0647643
2005/10/21(金) 22:28:41Console.Out に指定できるのは TextWriter だから、BinaryWriter も使えないし。
0648デフォルトの名無しさん
2005/10/21(金) 22:29:21System.Security.Cryptography.MD5
0649デフォルトの名無しさん
2005/10/21(金) 22:31:12FileStreamに吐いたらどうだ。
そのファイルをFirefoxで開いてみたらウムラウトつきで表示されたし。
IEだと化けたけど。
この分野に詳しい人マダー?
0650デフォルトの名無しさん
2005/10/21(金) 22:36:46UTF-8 では 0xC3BF
0652デフォルトの名無しさん
2005/10/21(金) 22:45:180653デフォルトの名無しさん
2005/10/21(金) 23:16:57コマンドプロンプトのタイトルバーを右クリックして、プロパティを開いてみるといい。
「オプション」タブの下に、「現在のコードページ」っていうのがあるはず。
もしかしたら、これはコマンドプロンプトだけではなく、標準入出力全般に言えることかもしれない。
0654643
2005/10/21(金) 23:26:36根本的な解決にはなってないのが残念ですが、とりあえずこれで行くことにします。
ありがとうございました m(_ _)m
0655デフォルトの名無しさん
2005/10/21(金) 23:29:27それぞれAPIのSetConsoleOutputCP/GetConsoleOutputCPを呼んでるだけ。
UTF8のコードページを割り当てたらyウムラウトが表示されるようになった。
0656デフォルトの名無しさん
2005/10/21(金) 23:39:20private void 当たり判定()
とか出来るんだ。
半角/全角キー押すのがだるいけどつかってみようと思った。
以上 ちら裏
0657デフォルトの名無しさん
2005/10/22(土) 00:18:46IME 切り替え、思った以上にだるいよ。
enum のメンバに使うくらいならいいかも。
型名. と打った時点でインテリセンス効くし。
0658デフォルトの名無しさん
2005/10/22(土) 06:00:130659デフォルトの名無しさん
2005/10/22(土) 15:23:570660デフォルトの名無しさん
2005/10/23(日) 16:44:24オフィスとかVSのツールバーみたいな感じのものを欲しいのですが
標準にはないし一から作るのもbmpまで用意することを考えるとしんどいので
なにかフリーで使えるいいやつないですかね?
0661デフォルトの名無しさん
2005/10/23(日) 16:54:05VBPowerPackのUtilityToolBarでも使えば?
0662デフォルトの名無しさん
2005/10/23(日) 16:54:540663660
2005/10/23(日) 16:59:10てか >>662すげぇっすね。
遅すぎるって感もありますがやっぱりVSに標準では言ってるべきものだと思うし。
ようするに2005を使えと。
それがいやなら>>661ってことですかね。
2005でもtheSpokeプライスで出てくれれば買えるのですが…
expressBeta落とそうかな。
0664660
2005/10/23(日) 20:36:59toolstrip標準項目の追加ってすごいですね。
undo/redoがないとか細かいことは気になるけど見栄えがこれまでと違うし
どこにでもドッキングするしひゃほいです。
0665デフォルトの名無しさん
2005/10/23(日) 20:40:160666デフォルトの名無しさん
2005/10/23(日) 21:04:5111月中旬→12月中旬にかけて製品発表会で、たぶんその後発売でしょ?
0667デフォルトの名無しさん
2005/10/23(日) 21:17:500668デフォルトの名無しさん
2005/10/23(日) 22:22:410669デフォルトの名無しさん
2005/10/23(日) 22:25:180670デフォルトの名無しさん
2005/10/23(日) 23:03:310671デフォルトの名無しさん
2005/10/23(日) 23:29:230672デフォルトの名無しさん
2005/10/23(日) 23:33:230673デフォルトの名無しさん
2005/10/23(日) 23:42:57ぜんぜん用途違うじゃない。
internalは外部クラスに特定クラスを見せないため。それもアセンブリを別にしないとまったく意味がない。
friendは特定クラスにのみアクセスを許す。
0674デフォルトの名無しさん
2005/10/23(日) 23:44:13だから、完全に同じ用途のものがないから代用しろと言われているのでは。
0675デフォルトの名無しさん
2005/10/24(月) 09:22:20いやinternalで代用ってお前ぜんぜん違うだろ。できるわけねーだろこのチンカスってことじゃないの?
0676デフォルトの名無しさん
2005/10/24(月) 09:27:470677デフォルトの名無しさん
2005/10/24(月) 16:22:06クラスは全部俺に使わせろ
0678デフォルトの名無しさん
2005/10/24(月) 18:43:29スレ違い。
最高にド低脳な発言してください in ム板(VIII)
ttp://pc8.2ch.net/test/read.cgi/tech/1128354256/
0679デフォルトの名無しさん
2005/10/24(月) 20:54:46そこらじゅうに internal を使うかも
0680デフォルトの名無しさん
2005/10/24(月) 23:29:52内部クラスにしたら?
0681デフォルトの名無しさん
2005/10/25(火) 06:47:19Environment.StackTraceだと文字列で返ってきちゃうからMethodInfoの配列返してくれるようなの
0682デフォルトの名無しさん
2005/10/25(火) 07:32:20下のようにあるクラスを2つのページの親クラスにしたいんですが、
親クラス(parent.aspx.cs)
<---子クラス1(child1.aspx.cs) ... child1.aspxで使用
<---子クラス2(child2.aspx.cs) ... child2.aspxで使用
child1.aspx.cs, child2.aspx.csで親クラスのコードを取り込むにはどうすればよいのでしょうか。
using MyClass.parent;
とか宣言してもだめでした。
0683682
2005/10/25(火) 07:33:58DataGridにボタンを表示させているんですが、これに列ごとに固有のツールチップを出したいです。
方法をご存知の方いらっしゃいますでしょうか。
0684デフォルトの名無しさん
2005/10/25(火) 07:35:26現在のメソッドの名前を知りたいのにMethodInfoの*配列*が必要ってのが意味不明。
「現在実行中のメソッド」ならこれ
Console.WriteLine(new System.Diagnostics.StackFrame().GetMethod().Name);
「スタックトレース」ならこれ
StackTrace stackTrace = new StackTrace();
for (int i = 0; i < stackTrace.FrameCount; i++) {
StackFrame stackFrame = stackTrace.GetFrame(i);
MethodBase methodBase = stackFrame.GetMethod();
Console.WriteLine(methodBase.Name);
}
0685デフォルトの名無しさん
2005/10/25(火) 11:13:06描画したいのですが、g.DrawIcon(SystemIcons.Information, 0, 0)と
やると大きいアイコンしか描けません。小さいのはどうやったら
出せますか?
0686デフォルトの名無しさん
2005/10/25(火) 13:35:39Rectangle渡す方じゃダメ?
0687デフォルトの名無しさん
2005/10/25(火) 16:23:46アイコンが安置エイリアスなもので、16×16のイメージが
出てるのか、32×32が縮小されてるのかよくわかんないのですが
とりあえず出ました。
0688デフォルトの名無しさん
2005/10/25(火) 17:20:02MethodBaseっていうのか。ありがとう。これで大分省力化できる。
0689デフォルトの名無しさん
2005/10/25(火) 21:07:16Application_IdleでGC.Collect()する。
よくね?
0690デフォルトの名無しさん
2005/10/25(火) 21:17:090691デフォルトの名無しさん
2005/10/25(火) 21:17:54アサヂエ
0692デフォルトの名無しさん
2005/10/25(火) 21:24:02てか数スレ前に出たなそのネタ
0693デフォルトの名無しさん
2005/10/26(水) 14:20:55ユーザーコントロールを使用しているのですがビルドの際に
「参照されたアセンブリ 'filename' は厳密な名前を持っていません。」
とエラーになります。
厳密名を持つアセンブリで、厳密名を持たないアセンブリを参照して
使用する方法があれば教えてください。
0694デフォルトの名無しさん
2005/10/26(水) 23:07:49リフレクション。
0695デフォルトの名無しさん
2005/10/27(木) 04:31:58一回無署名のでコンパイルしてからildasm。
んで、リンクを署名済みのにIL書き換えてilasmでもう一回コンパイルすれば
いけるかもしれない。ilasmはチェックが弱いっていうかほとんどしないので
…まぁ署名する意味がなくなるので普通だと出来ないようになっているんだろうな
0696デフォルトの名無しさん
2005/10/27(木) 11:21:22例えば↓こんな感じ
----
Type t = int.GetType();
object obj = (object) 100;
int i = 何らかの方法(t, obj);
----
i = (t) obj; はダメだった.
t が int 以外(string とか)だったら例外発生で構わないのだけど……
0697デフォルトの名無しさん
2005/10/27(木) 11:28:130698デフォルトの名無しさん
2005/10/27(木) 11:31:49{
public K cast<K>()
{
return (K)(object)this;
}
}
class DerivedA : Base { }
class DerivedB : Base { }
void TestMethod(){
Base b=new DerivedA();
DerivedA da=b.cast<DerivedA>();
Base tmp = (Base)da;
DerivedB db = b.cast<DerivedB>();
}
質問です。
このコードでreturn (K)(object)this;
の部分を return (K)this; とするとBaseを型'K'に変換できないと言われるんですがなぜでしょう?
TestMethod内のコードを削除しても同様です。
パラメータつきで呼び出しコードを書いたときにその型に応じてエラーをはくのならわかるのですが、なぜ頭から跳ねられるんでしょうか?
0699697
2005/10/27(木) 11:37:43{
public abstract void M();
}
か
0700デフォルトの名無しさん
2005/10/27(木) 13:12:12VBのCTypeみたいなやつですね。それ俺も欲しい。
0701デフォルトの名無しさん
2005/10/27(木) 13:17:22静的に決定できない型にキャストする意味はどこにもないと思うのだが。
静的に決定できるなら(int)objでいいし。
0702デフォルトの名無しさん
2005/10/27(木) 14:12:59class A {}
class B {}
public void Main() {
A a = new A();
B ba = (B)(object)a; // InvalidCastException
B bb = (B)a; // cs0030
}
要するにこういう事だけど?
継承元への変換:暗黙のキャスト
継承先への変換:明示的キャスト
継承関係にない:変換演算子のオーバーロードを定義する必要がある
KがBaseか何かで制約されていない限り、Kは継承関係にない型と解釈するのが自然だろう。
0703698
2005/10/27(木) 14:30:51それをパラメタライズドメソッドにしたときにコンパイラはどこで判断してるのかということです。
最初はパラメタライズメソッド呼び出しのコードを書いたときに展開され、KにBaseの派生クラスなどを指定した場合にはコンパイルとおり、無関係なものを指定した場合はエラーになると思っていたのですが、メソッドの呼び出しに関係なくエラーをはかれています。
何を基準にエラーをはいているのか、なぜobjectにキャストした場合にはエラーをはかないのかがわからないんです。
0704デフォルトの名無しさん
2005/10/27(木) 15:03:46C++のtemplateとは違って、.NETのGenericsは実行時解決。
コンパイル時に整合性は見るけど実際に展開はしない。
だからKは飽くまでK。
objectにキャストしたらOKなのは、object型は全てのクラスの継承元で暗黙にキャストできるから。
コンパイラはobject型から任意の型へのキャストを撥ねようがない。
(K)thisでは、objectを通らず直接キャストになるから、
KまたはBaseがexplicit/implicit operator K(Base b)を定義してなきゃならない。
でもKに対して定義しようはない。ので無理。
C++のtemplateならコンパイル時に解決するから、Kに実際に置かれた型が型変換演算子を定義しているかどうかは判断できるんだが。
0705デフォルトの名無しさん
2005/10/27(木) 18:54:52言われてるとおりなんですけどコンパイル時に整合性を見るのに情報がない(呼び出しもしていない場合)Kについてなぜ判断してるんでしょう?
実行時に解決する動きならばコンパイラでは不明なままとおして、実行時に例外はくのが推測できる動作だと思うんですが。
呼び出しがない->型解決の情報がない->そのまま通して実行時に例外
呼び出しがある->型解決の情報がある->コンパイル時にはねられる
んーかいてて両方で動作違い出るのおかしい気がしてきたけれど・・・ジェネリクスの細かい仕様知らないので・・・逝ってきます。
0706デフォルトの名無しさん
2005/10/27(木) 20:25:50利用される側はそれで完結しているもの。誰がどう利用するかは考慮しない。
> 実行時に解決する動きならばコンパイラでは不明なままとおして、実行時に例外はくのが推測できる動作だと思うんですが。
できる限りエラーはコンパイル時にというのがGenericsの役割の一つなのに、そんなことしたら利点が減るじゃないか。
常に最悪の事態を想定しないと。
> 呼び出しがない->型解決の情報がない->そのまま通して実行時に例外
> 呼び出しがある->型解決の情報がある->コンパイル時にはねられる
Baseが別アセンブリに入ってたらどうする?
コンパイルしたらBase.dllの方でエラーが出るなんて意味不明なことになってしまう。
0707デフォルトの名無しさん
2005/10/28(金) 00:12:20Page_Loadが先に走るみたいなんですが、これって僕だけですか?
Page_LoadでImageButtonがクリックされたかどうかを知る方法って
ないのでしょうか?
Request.Formにも何も入ってないのですが・・・。
0708デフォルトの名無しさん
2005/10/28(金) 00:20:01IsPostBackを調べろ
0709デフォルトの名無しさん
2005/10/28(金) 04:33:40ウオッチに出てくるobjectの値が壊れているようです。
exe名はFolderView.exeなのですがインスタンスの値のところに 'olderView.exe'と出てそこまでステップすると例外をはいて落ちています。
リビルド、ファイルの削除も聞きません。VS2005使ってます。これはベータのバグなんでしょうか・・・
0710デフォルトの名無しさん
2005/10/28(金) 05:21:050711デフォルトの名無しさん
2005/10/28(金) 08:22:330712デフォルトの名無しさん
2005/10/28(金) 09:11:13Page_LoadでImageButtonがクリックされたのをしることは無理なんですか?
0713709
2005/10/28(金) 10:35:59すっ飛ぶはずのないところで例外が出る。
ウォッチですっ飛んだところのフィールドなどを見てみる。
フィールドの'base'クラスの値などが"olderview.exe"となっている。そのフィールドの値を詳しく見るとexeの中身もしくはexe飲めたデータををバイナリで見たような値に変わっている。
その行を削除しても別のところで同様の現象が出る。
>>711
今度はlderview.exeでエラーが出ます。たぶん。最初はリブなどを使っていてそのファイルの追加情報がないとか出ていたのでexeに一体化したらこのような名前になった。
0714デフォルトの名無しさん
2005/10/28(金) 12:54:34.Net Framework 1.1で
Socket.SendTo メソッド (Byte[], Int32, 0, 自分自身の端末のEndPoint)
を実行したところ
・管理者権限では成功
・ユーザ権限では成功しない
という事象が出ています。
例外としてはSocketException, ErrorCodeは10013
ということで、ユーザ権限ではICMPプロトコルが
許可されないためのようですが
対処としてはどのようにすればよいでしょうか
0715デフォルトの名無しさん
2005/10/28(金) 12:58:24実行したいユーザーを管理者グループもしくはパワーユーザーグループ、またはそれに順ずるローカルグループに設定する
そもそもそういう操作をさせたくないからユーザー権限に設定してるんじゃないのか?
0716デフォルトの名無しさん
2005/10/28(金) 21:58:04http://www.ailight.jp/blog/kazuk/archive/2005/05/11/6890.aspx
入れるのが悪いというスタンスじゃダメですか?
0717デフォルトの名無しさん
2005/10/28(金) 22:29:070718デフォルトの名無しさん
2005/10/28(金) 22:50:02java風だと
DateTime t = null;
Integer i = null;
みたいに。なにか方法はありませんか?
0719デフォルトの名無しさん
2005/10/28(金) 23:21:15そうでないのなら適当に有り得ない数値でもつかっとく。DateTime.MinValueとか。
0720デフォルトの名無しさん
2005/10/28(金) 23:45:21SqlIntとかつかうしかないのか。
0721デフォルトの名無しさん
2005/10/29(土) 00:05:06動作速度が向上するんだから我慢汁
0722デフォルトの名無しさん
2005/10/29(土) 00:16:32その定義が
<xsd:element name="intValue" type="int" minOccurs="0">
だからnullが使いたかったんだけどね。
SqlInt32 intValue { get }
とかにするしかなさそうですね。
0723デフォルトの名無しさん
2005/10/29(土) 00:44:47maxOccurs の初期値は 1 だから Nullable<int> でもいい気もするけれども
maxOccurs > 2 のことも考えると int[] の方が適切なんじゃ?
0724デフォルトの名無しさん
2005/10/29(土) 01:19:49この要素は1つか0しかないのでint[]ではないのですが
int[]なら可読性は下がるけどnullを表現できますね。
1.0なのでスマートな解決法は無さそうですが参考になりました。
どうもありがとう。
0725デフォルトの名無しさん
2005/10/29(土) 02:23:33実行時にタスクバーなどの位置を変更しても更新されないのは既出ですか?
0726デフォルトの名無しさん
2005/10/29(土) 03:44:21Primary以外はWin32APIということになるかな。
0727デフォルトの名無しさん
2005/10/29(土) 16:29:54ControlのハッシュでつくったControlもBeginInvokeよびだすControlも例外起こるControlが同一なのを確認。
ベータ2だから?(´・ω・`)
0728デフォルトの名無しさん
2005/10/29(土) 16:36:170729デフォルトの名無しさん
2005/10/29(土) 16:44:49メインスレッドと違うってどうやって判断したんだ?
0730デフォルトの名無しさん
2005/10/29(土) 16:45:19EndInvoke呼ばなきゃならないし
0731デフォルトの名無しさん
2005/10/29(土) 16:45:26正式バージョンのSDKはもう手に入るぞ
MSDN会員ならVS2005もダウンロードできるし
0732デフォルトの名無しさん
2005/10/29(土) 17:15:40返値がいらないならEndInvokeは必須ではないよ
0733デフォルトの名無しさん
2005/10/29(土) 17:33:270734デフォルトの名無しさん
2005/10/29(土) 17:38:100735デフォルトの名無しさん
2005/10/29(土) 17:39:040737デフォルトの名無しさん
2005/10/29(土) 18:06:02どうすればいいのでしょうか?
0738デフォルトの名無しさん
2005/10/29(土) 18:25:30EndInvoke呼ばないとメモリリークするとどっかで見たんですが
0739デフォルトの名無しさん
2005/10/29(土) 18:26:22私もそれを信じてたのだが・・・
0740デフォルトの名無しさん
2005/10/29(土) 18:29:070741デフォルトの名無しさん
2005/10/29(土) 18:29:39BeginInvokeメソッドは、本来のメソッドの引数以外に2つの引数を取る。
1つはAsyncCallbackデリゲートで、メソッドの実行が終了したときに
呼び出されるメソッド(コールバック・メソッド)を渡すことができる。
もう1つは状態オブジェクトで、ここでは呼び出しに使ったデリゲートを渡している。
Callbackメソッドでは、渡されたオブジェクトからShowMessageデリゲートを復元し、
BeginInvokeメソッドの対になっているEndInvokeメソッドを呼び出している。
BeginInvokeとEndInvokeは必ず対で呼び出さなければならない。
EndInvokeメソッドを呼び出し忘れると、メモリ・リークを引き起こす可能性がある。
From @IT
0742デフォルトの名無しさん
2005/10/29(土) 18:30:440743デフォルトの名無しさん
2005/10/29(土) 18:42:39http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpovrasynchronousprogrammingoverview.asp?frame=true
0744デフォルトの名無しさん
2005/10/29(土) 19:14:00非同期呼び出ししてるんだから別スレッドになるの当たり前だと思うんだけど?
何がしたいのかさっぱりわからん。
0745デフォルトの名無しさん
2005/10/29(土) 20:55:40MSDNよんでからほざけ。知ったかは恥かくぞ。
0746デフォルトの名無しさん
2005/10/29(土) 21:25:53コールバックからEndInvokeを呼ぶっていう手法が使えないから結局、使えないでFAなの?
0747デフォルトの名無しさん
2005/10/29(土) 21:47:48EndInvokeを更に別スレッドで実行すれば良いんだから
ややこしいけど
0748デフォルトの名無しさん
2005/10/30(日) 03:38:11そのとおりかもだ。
詳しくはここを読むと幸せになるかもだ。
つhttp://support.microsoft.com/default.aspx?scid=kb;JA;884942
0749デフォルトの名無しさん
2005/10/30(日) 03:42:04プラグイン
0750デフォルトの名無しさん
2005/10/30(日) 05:01:25dllのアンロードに困るのが難点だな。
AppDomainを分けるのも大変だし。
0751デフォルトの名無しさん
2005/10/30(日) 05:21:48アプリケーションの終了まで持ったままにしておくな。
0752デフォルトの名無しさん
2005/10/30(日) 11:07:16投げっぱなしができるメソッドが欲しいですね。
0753デフォルトの名無しさん
2005/10/30(日) 12:24:08Invokeでは駄目なん?
0754デフォルトの名無しさん
2005/10/30(日) 13:45:060755デフォルトの名無しさん
2005/10/30(日) 14:44:04runat=serverを付ければ同じでは無いのでしょうか?
0756デフォルトの名無しさん
2005/10/30(日) 15:13:51俺はこれでやってる。
ttp://www.gihyo.co.jp/books/support.php/4-7741-1650-5
0757デフォルトの名無しさん
2005/10/30(日) 18:31:54たとえば
class Element{
public virtual Draw()
}
class ElemA:Element{
public override void Draw();
}
class ElemB:Element{
public override void Draw();
}
とあったときDrawの呼び出し方法を登録して他のインスタンスに対しそれを実行したいと考えています。
デリゲートだと呼び出しとインスタンス結びついてしまいますよね。
リフレクションになるんでしょうか?
0758デフォルトの名無しさん
2005/10/30(日) 18:44:460759デフォルトの名無しさん
2005/10/30(日) 18:50:56↓頼む
0760デフォルトの名無しさん
2005/10/30(日) 18:54:08まぁそれができると複雑化するし「じゃあabstractなメソッドはどうするの?」なわけだが。
0761デフォルトの名無しさん
2005/10/30(日) 19:03:35class Element{
public virtual Draw()
public virtual int Size();
}
class ElemA:Element{
public override void Draw();
public override int Size();
}
class ElemB:Element{
public override void Draw();
public override int Size();
}
void Hoge(List<Element> elementList){
DrawDelegate drawDeleg=new DrawDelegate(Draw);
DizeDelegate sizeDeleg=new DrawDelegate(Size);
foreach(Element elem in elementList){
deleg.Invoke(elem); <===elem.Draw()(ElemA.DrawもしくはElemB.Draw)の呼び出し
int size=sizeDeleg(elem); <===elem.Size()(ElemA.SizeもしくはElemB.Size)の呼び出し
}
}
0762デフォルトの名無しさん
2005/10/30(日) 19:03:43答え: virtual 消せ
0763762
2005/10/30(日) 19:06:08やっぱり分からん。何がしたいのか言葉で説明しろ。
デリゲート越しに呼び出したいのは Element.Draw() と ElemA.Draw() のどっちなんだ。
0764761
2005/10/30(日) 19:18:23つまりelemがElemAのインスタンスならElemA.Drawが呼び出される。
やりたいことはインスタンスメソッドのデリゲートを登録してそのインスタンスを別のものにして実行できないかということなんです。
Elementがたのインスタンスに対してDrawを呼び出すということだけをオブジェクトにして、インスタンスとパラメータは実行時に渡したい。
インスタンスメソッドのデリゲートだとそのデリゲートとインスタンスが結びついてしまっていて後から変更できないと思うので何かいい方法は内科と探してます。
0765デフォルトの名無しさん
2005/10/30(日) 19:22:370766761
2005/10/30(日) 19:24:24なにがわかんないの?
0767デフォルトの名無しさん
2005/10/30(日) 19:30:180768デフォルトの名無しさん
2005/10/30(日) 19:32:51俺は>>758だが>>758-761からして3人は理解していないことがわかろうに
0769デフォルトの名無しさん
2005/10/30(日) 19:34:18実現するならリフレクションだな
なんでそんなことしたいのかさっぱり分からないけど
0770デフォルトの名無しさん
2005/10/30(日) 19:38:302回もいわなくてもいいじゃない
2回もいわなくてもいいじゃない
0771デフォルトの名無しさん
2005/10/30(日) 19:41:050772デフォルトの名無しさん
2005/10/30(日) 19:43:55>elem.Draw()と書いたのと同じ動作をしてほしいんです。
>つまりelemがElemAのインスタンスならElemA.Drawが呼び出される。
普通にやれば良い。何も問題は無い。
=====
using System;
class Element { public virtual void Draw() { Console.WriteLine("Element::Draw"); } }
class ElemA: Element { public override void Draw() { Console.WriteLine("ElemA::Draw"); } }
class ElemB: Element { public override void Draw() { Console.WriteLine("ElemB::Draw"); } }
delegate void DrawDelegate();
class Test {
[STAThread]
public static void Main(string[] args) {
DrawDelegate d1 = new DrawDelegate(new Element().Draw);
DrawDelegate d2 = new DrawDelegate(new ElemA().Draw);
DrawDelegate d3 = new DrawDelegate(new ElemB().Draw);
d1(); // Element::Draw が表示される
d2(); // ElemA::Draw が表示される
d3(); // ElemB::Draw が表示される
}
}
0773在日外国人参政権反対
2005/10/30(日) 19:49:04さっきの例ではDrawの呼び出しとか明記したけれど、つぎのようにすればhogeクラスでは実行する内容についての知識が要らなくなります。
publc class ElementExecutor{
public abstract void Execute(Element elem);
}
public class ElemDelegateExecutor<Delegate>:ElementExecutor{
Delegate _deleg;
public override void Execute(Element elem){
_deleg.Invoke(elem);
}
}
void Hoge(Executor execCommand){
foreach(Element elem in elementList){
execCommand(elem);
}
}
ポイントはdelegateの指す内容がElementもしくはその派生クラスのインスタンスメソッドだということです。
>>772
実行するインスタンスはアトから注入したいんです。
0774デフォルトの名無しさん
2005/10/30(日) 19:57:38名前欄見てポカーン
>ポイントはdelegateの指す内容がElementもしくはその派生クラスのインスタンスメソッドだということです。
はい。この事実は変わりません。何か不満でも?
>実行するインスタンスはアトから注入したいんです。
なら delegate では無理ですね。
0775デフォルトの名無しさん
2005/10/30(日) 20:08:59これらしいな。
http://freett.com/iu/memo/Chapter-010104.html
質問するついでにプロパガンダをアピールする態度が気に入らん。
0777デフォルトの名無しさん
2005/10/30(日) 20:25:31ここで訊くといい。
http://pc5.2ch.net/test/read.cgi/tech/1069530956/l50
とっくに過去ログ倉庫に行ってるがな。
0778デフォルトの名無しさん
2005/10/30(日) 20:25:56delegate では実現できません。delegate は使わないで下さい。
0779デフォルトの名無しさん
2005/10/30(日) 20:57:10DataGridViewのヘッダは自動でプロパティ名になるのですが
そこを別名にする枠組みはBindingSourceにありませんか?
DataGridViewのColumnをLoad時にマッピングし直す方法を使っているのですが
より簡単な方法があれば教えてください。
0780デフォルトの名無しさん
2005/10/30(日) 21:16:480781デフォルトの名無しさん
2005/10/30(日) 21:48:32少しはまともな答え返せないのか。このちんかす。
0782デフォルトの名無しさん
2005/10/30(日) 21:50:130783デフォルトの名無しさん
2005/10/30(日) 22:20:19半信半疑ながらの質問です。
.NET frameworkをインストールしないで動く実行ファイルって作れるんでしょうか?
MFCランタイムを静的リンクするようなイメージなのですが、.netでそれが可能かどうか教えてください。
俺的には一回で済むんだから入れろよって感じなんですが・・・
0784デフォルトの名無しさん
2005/10/30(日) 22:23:43無理。
.NET Frameworkが動く環境というのは、
その下の層の環境も整っていることを意味する。
0785デフォルトの名無しさん
2005/10/30(日) 22:43:470786デフォルトの名無しさん
2005/10/30(日) 23:15:42非同期Delegeteで一時的に多くのThreadPoolタスクを使ってしまっていて、デッドロックの危険があるので
システムのThreadPoolとは分離しておきたいのですが
0787デフォルトの名無しさん
2005/10/30(日) 23:22:420788デフォルトの名無しさん
2005/10/30(日) 23:28:14プロセッサ数×25までしか同時実行できないだよね
0789デフォルトの名無しさん
2005/10/30(日) 23:30:03デリゲート使えばええやん
0790デフォルトの名無しさん
2005/10/30(日) 23:36:51いや、非同期デリゲートはThreadPoolを使うがThreadはThreadPoolを使わない
>>788
それはThreadPoolの制限
Threadにはその制限はない
まあ(私の環境では)2000足らずの同時実行でOutOfMemoryExceptionが出るが
0791デフォルトの名無しさん
2005/10/30(日) 23:54:18回答どうも
ライブラリであったら便利だなと思いまして。メンテ大変だし
ScheduledThreadPoolExecutorみたいなのがあればなぁと。
0792デフォルトの名無しさん
2005/10/30(日) 23:57:04メインメニューを全て非表示にしたいんですが方法はありますでしょうか。お願いいたします。
0793デフォルトの名無しさん
2005/10/31(月) 00:12:340794デフォルトの名無しさん
2005/10/31(月) 00:25:460795デフォルトの名無しさん
2005/10/31(月) 00:35:29(;´Д`)< スンマセン、直ぐにCollectします
-=≡ / ヽ \_______
. /| | GC |. |
-=≡ /. \ヽ/\\_
/ ヽ⌒)==ヽ_)= ∧_∧
-= / /⌒\.\ || || (´・ω・`) >>794
/ / > ) || || ( つ旦O
/ / / /_||_ || と_)_) _.
し' (_つ ̄(_)) ̄ (.)) ̄ (_)) ̄(.))
0796デフォルトの名無しさん
2005/10/31(月) 02:27:06ありがとうございます。たが、単に表示非表示を切り替えたいんです(動的に)。
0797デフォルトの名無しさん
2005/10/31(月) 02:32:29初期化処理が全て終わった後に呼び出されるフック関数とかってあるんでしょうか。
0798デフォルトの名無しさん
2005/10/31(月) 02:43:320799デフォルトの名無しさん
2005/10/31(月) 06:34:210800デフォルトの名無しさん
2005/10/31(月) 07:09:110801デフォルトの名無しさん
2005/10/31(月) 09:20:49いま VS2005β + C# で XML を構文チェックして読み込むプログラムを書いてるんですが,
hoge.xsd ファイルを作成して XmlReader にスキーマをセットしてバリデーションできるところまで書きました.
で,今はこれを settings.Schemas.Add( null, "c:\\hoge.xsd" ); みたいにファイル名で書いてますが,
この hoge.xsd をパスに依存しないようプログラム内部に持たせたいんですが,そのやり方がわかりません.
VisualStudio のソリューションのファイル一覧に追加して,
これを Stream で読み出せたりできたら最高なんですが,こういうことって可能でしょうか?
0802デフォルトの名無しさん
2005/10/31(月) 10:09:510803デフォルトの名無しさん
2005/10/31(月) 11:41:17ありがとうございますー.
調べてみました.いけそうな感じです.
しかしいろんなサイトを見ていて,xsd を扱うどこのサンプルも皆ファイルから読んでるんだけど,
ファイル名をコード内に書くことに皆は抵抗ないのだろーか……
0804デフォルトの名無しさん
2005/10/31(月) 12:05:43サンプルだからでしょ
0805デフォルトの名無しさん
2005/10/31(月) 16:02:10今までDataTableってRDBのように使ってたんだけど
よく考えたら行の順番て保障されてるような希ガス
0806デフォルトの名無しさん
2005/10/31(月) 16:05:23DataTableに一行ずつDataRowを追加すればな
0807デフォルトの名無しさん
2005/10/31(月) 17:59:440808デフォルトの名無しさん
2005/10/31(月) 23:09:48APIまわりをあたれ
そのついででIMEまわりもでてくる
0809デフォルトの名無しさん
2005/10/31(月) 23:38:28マニフェストリソースとして埋め込むのがいいかも?
http://dobon.net/vb/dotnet/programing/bitmapresource.html
0810デフォルトの名無しさん
2005/11/01(火) 01:57:030811デフォルトの名無しさん
2005/11/01(火) 01:59:27PINVOKE.NET
0812デフォルトの名無しさん
2005/11/01(火) 02:43:100813デフォルトの名無しさん
2005/11/01(火) 10:54:33完全一致で検索する場合にはどうしたらよいでしょうか
0814デフォルトの名無しさん
2005/11/01(火) 11:00:460815デフォルトの名無しさん
2005/11/01(火) 11:27:210816デフォルトの名無しさん
2005/11/01(火) 11:29:30サイズ変更確定直後(サイズ変更枠上でMouseUpしたとき)にだけ処理を行いたいのですが、
どんな方法があるでしょうか?
(サイズ変更枠上ではFormのMouseUpイベントは発生してくれませんでした。)
0817デフォルトの名無しさん
2005/11/01(火) 11:38:180818デフォルトの名無しさん
2005/11/01(火) 11:53:46厨な質問なんですが、
vb2005でコンソールアプリでフォームを表示させる実験をしていた時に気づいたのですが、
System.Windows.Forms名前空間は参照の設定をしないと使えないのに、
System.Threading名前空間は参照の設定をしなくても使えました。
あとvc++2005でも同様の実験をしたのですが、C++なので#include "stdafx.h"と書いたのち、
同様のコードをやったら、こっちではSystem::Drawingの参照設定が必要だといわれました。
この違いってどこから来るのですか?
0819デフォルトの名無しさん
2005/11/01(火) 12:16:44名前空間とアセンブリは別物
0820デフォルトの名無しさん
2005/11/01(火) 23:02:440821デフォルトの名無しさん
2005/11/01(火) 23:06:52そもそもMainの最初とかFormのコンストラクタじゃ駄目なわけ?
0822デフォルトの名無しさん
2005/11/01(火) 23:40:02とるってのは削除って意味で良いの?
とかって厳密にはどの範囲?
0823デフォルトの名無しさん
2005/11/01(火) 23:40:06String.Replace()とか。
0824デフォルトの名無しさん
2005/11/01(火) 23:54:55します。それって駄目なんですか?
VS.NETで開いたらうまく動かないんですが。
0825デフォルトの名無しさん
2005/11/02(水) 00:02:25スレ違い
0826デフォルトの名無しさん
2005/11/02(水) 00:10:490827デフォルトの名無しさん
2005/11/02(水) 00:22:270828デフォルトの名無しさん
2005/11/02(水) 01:02:30yield中に再帰処理を書くのがうまくいきません。5行くらいで簡単に作るのは無理なのかな
0829デフォルトの名無しさん
2005/11/02(水) 01:47:44現在のコード出せ
0830デフォルトの名無しさん
2005/11/02(水) 07:17:32foreach(Node node in val.SubNodes){
yield return node;
return GetEnumeratorHelper(node);
}
}
こう書けたら楽なのに。と
0831デフォルトの名無しさん
2005/11/02(水) 07:38:49foreach (Node node in val.SubNodes) {
yield return node;
foreach (Node subnode in GetAllSubNodes(node.SubNodes))
yield return subnode;
}
}
0832デフォルトの名無しさん
2005/11/02(水) 07:39:36IEnumerable<Node> GetAllSubNodes(Node val) {
foreach (Node node in val.SubNodes) {
yield return node;
foreach (Node subnode in GetAllSubNodes(node))
yield return subnode;
}
}
0833デフォルトの名無しさん
2005/11/02(水) 11:34:330834デフォルトの名無しさん
2005/11/02(水) 12:04:34再帰
0835デフォルトの名無しさん
2005/11/02(水) 14:30:16なにこのクソ言語?
存在意義あんの?
0836デフォルトの名無しさん
2005/11/02(水) 14:30:45class Program {
static void Main(string[] args) {
Node root = new Node("root", new Node[]{
new Node("1"),
new Node("2", new Node[]{
new Node("2.a"),
new Node("2.b", new Node[]{new Node("2.b.1"), new Node("2.b.2")}),
new Node("2.c")}),
new Node("3")});
foreach(Node n in root.GetAllSubNodes()) Console.WriteLine(n.Name);
}
}
class Node {
public string Name;
public IEnumerable<Node> SubNodes;
public Node(string name) : this(name, new Node[]{}){}
public Node(string name, IEnumerable<Node> subNodes) {
this.Name = name;
this.SubNodes = subNodes;
}
public IEnumerable<Node> GetAllSubNodes() {
foreach (Node node in this.SubNodes) {
yield return node;
foreach(Node subnode in node.GetAllSubNodes()) yield return subnode;
}
}
}
0837デフォルトの名無しさん
2005/11/02(水) 14:33:570838デフォルトの名無しさん
2005/11/02(水) 16:27:410839デフォルトの名無しさん
2005/11/02(水) 21:11:54グラボ買い換えろよw
0841デフォルトの名無しさん
2005/11/03(木) 00:27:20http://piza2.2ch.net/tech/kako/992/992241842.html
0842デフォルトの名無しさん
2005/11/03(木) 10:20:440843659
2005/11/03(木) 15:34:36APIの SetStretchBlt( WHITEONBLACK ) と同等の.NET関数はありますか?
0844デフォルトの名無しさん
2005/11/03(木) 15:36:04このスレのレベルを超えていますので
@ITの掲示板へドウゾ
0845デフォルトの名無しさん
2005/11/03(木) 17:21:290846デフォルトの名無しさん
2005/11/03(木) 17:23:170847デフォルトの名無しさん
2005/11/03(木) 17:49:47ありがとうございます。
0848デフォルトの名無しさん
2005/11/03(木) 17:51:15そんなのあったんだ
0849デフォルトの名無しさん
2005/11/03(木) 18:29:59取得するのはどうしたらよいですか
0850デフォルトの名無しさん
2005/11/03(木) 18:34:38あるいはSplitを試してみる
0851デフォルトの名無しさん
2005/11/03(木) 19:12:11char[] にしてからソートかな
0852デフォルトの名無しさん
2005/11/03(木) 20:22:230853デフォルトの名無しさん
2005/11/03(木) 20:24:080854デフォルトの名無しさん
2005/11/03(木) 22:11:34Socket.Selectの使い方が今一わからないのですが
0855デフォルトの名無しさん
2005/11/03(木) 22:37:010856デフォルトの名無しさん
2005/11/03(木) 22:49:03最近Select知って、何だろう。と
0857816
2005/11/04(金) 03:34:01ヒントありがとうございました
うまくいきました!
蛇足ですが、なぜかWM_NCLBUTTONUPは私の環境(XPsp2)ではうまくメッセージされませんでした。
非クライアント領域でのマウス左BUTTONUPは、なぜかWM_NCLBUTTONDBLCLKの時(非クライアント領域でのマウス左ダブルクリック時)と同時にしかメッセージされませんでした(シングルクリックではメッセージされない)。
結局のところ、WM_EXITSIZEMOVEのメッセージを捕まえることで目的は遂げられました。(非クライアント領域でのマウス左BUTTONUPはWM_EXITSIZEMOVEメッセージと等価っぽい)
私の環境だけなんでしょうか??
0858デフォルトの名無しさん
2005/11/04(金) 08:03:02ありがとう!
0859デフォルトの名無しさん
2005/11/04(金) 19:24:43↑(その時点ではクリップボードに入っていない)
0860デフォルトの名無しさん
2005/11/04(金) 19:33:510861デフォルトの名無しさん
2005/11/04(金) 19:56:26ttp://groups.yahoo.co.jp/group/dotnet-csharp/message/1498
の方法だけですか?
0862デフォルトの名無しさん
2005/11/04(金) 20:19:000863861@聞き方が悪かった
2005/11/04(金) 20:40:40この方法しか思いつかないんですが、
配列の要素を、構造体で決められた数だけ、
確保する方法はあれの他にありませんか?
0864デフォルトの名無しさん
2005/11/04(金) 20:49:43値を持たない構造体なぞアンマネージドとの相互運用以外では必要ないしな。
>>861の手法もマーシャリングするときにのみ意味を持つものだ。
0866デフォルトの名無しさん
2005/11/04(金) 20:53:59C# の 『 struct Foo { int[] bar; } 』 は C で書くと 『 struct Foo { int *bar[]; } 』 じゃなかったっけ?
良くわからんが。
0867デフォルトの名無しさん
2005/11/04(金) 21:04:52Selectは基本中の基本
そのあとTheradとか考える。
ネットワークプログラミング相談室 Port15
http://pc8.2ch.net/test/read.cgi/tech/1128088448/
0868デフォルトの名無しさん
2005/11/04(金) 22:22:03C# の 「struct Foo { int[] bar;} 」 は
C で書くと 「struct Foo { int* bar;} 」 が近いかなぁ。
C# 2.0 なら、unsafe 限定で、
unsafe struct Foo
{
fixed int bar[SIZE];
}
が可能。
0869デフォルトの名無しさん
2005/11/04(金) 22:36:300870デフォルトの名無しさん
2005/11/04(金) 22:44:390871デフォルトの名無しさん
2005/11/04(金) 22:45:370872デフォルトの名無しさん
2005/11/04(金) 23:30:03直前にSelectした文字列とか言う感じで
0873デフォルトの名無しさん
2005/11/04(金) 23:50:35C#からはそれを使う
0874デフォルトの名無しさん
2005/11/04(金) 23:50:36それを考えなくても無理
0875デフォルトの名無しさん
2005/11/05(土) 04:28:00ttp://support.microsoft.com/default.aspx?scid=kb;ja;318804
グローバルフック関連リンク
ttp://www.kab-studio.biz/Programing/Codian/DLL_Hook_SClass/06.html
ttp://www.doumo.jp/aon-java/jsp/postgretips/tips.jsp?tips=79
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/abouthooks.asp
貢献したところで質問です。
参照設定で追加したDLLは静的にバインドされますよね。
もしコード中でそのDLLの要素を全く使わなかった場合はDLLはロードされるんでしょうか?
NUnit.framework.dllを参照設定で追加しているのですが、
ソフトを配布したときに「NUnit.framework.dllが見つかりません」エラーが出ると困ります。
テストのコードは#if DEBUG #endif で囲いReleaseバージョンでは実行ファイルに含まれないようになっています。
NUnitをアンインストールして試してみたところ問題なさそうではあるんですが、心配なので教えてください。
0876875
2005/11/05(土) 04:31:16つまり参照設定だけのDllが起動時に読み込まれるかどうかの質問です。
0877デフォルトの名無しさん
2005/11/05(土) 08:40:47それまではあろうが無かろうが問題はないが。
参照残したままってのはイヤな感じだ。
0878デフォルトの名無しさん
2005/11/05(土) 14:01:07マイクロソフトのCLR Profilerだとメソッドの呼び出し回数しか分かりませんでした。
0879デフォルトの名無しさん
2005/11/05(土) 14:36:07> 参照残したままってのはイヤな感じだ。
同感です。
とはいえこれはReleaseコンパイル時に参照をはずし忘れないようにするしかないみたいですね。
レスありがとうございました。
0880デフォルトの名無しさん
2005/11/06(日) 13:53:350881デフォルトの名無しさん
2005/11/06(日) 14:52:31手作業でロックするとどこかでロックし忘れなどの間違いを起こすと思い自動化させたいと考えています。
考えたのはそのメンバーに対するアクセスをロックするクラスをとして行う方法と属性を使って行う方法です。
しかしC#でC++のスマートポインター実装に使うようなスコープでのリソース管理は実装できないと思います。
また[synchronized]属性はメソッドに対しては使えるようですが、メンバーにはつかえないようです。
何かいい知恵あれば教えてください。お願いします。
0882デフォルトの名無しさん
2005/11/06(日) 16:41:36volatile
でも実際のところ「何が分割不可能な操作なのか」っていうのは設計に
依存するので(だからSQLでもトランザクションあるんだよ)、どっちにしろ
自動化は無理。
0883881
2005/11/06(日) 17:00:08手段さえあればどのようにロックするかはポリシーでカバーできるようにすればいいので何とでもなります。
やりたいことは次のような感じです。
class Nanika{
P p;
N n;
}
でP,Nはクラスとします。
ここでNanikaクラスのインスタンスが100個あるとしてそれぞれのpに対するアクセスnに対するアクセスをおのおのスレッドセーフにしたいんです。
あるインスタンスのpへのアクセスとnへのアクセスは同時に起きてもかまいません。
あるインスタンスのnと別のインスタンスのnに対するアクセスも同時でかまいません。
あるインスタンスのnに対する複数のスレッドからのアクセスは同期を取る必要があります。
C++ならばp,nに対するアクセスをインターセプトすることで自動的にロックすることが可能ですよね。
同じようなことができないかと。
0884デフォルトの名無しさん
2005/11/06(日) 17:57:11言ってるようにスコープ管理だと無理。かわりに
class Critical : IDisposable {
}
で
using(Critical p = ...) {
}
のようにusing(Dispose)強制ぐらいしかないかなぁ。pには
もちろん直アクセスできないようにして。
0885881
2005/11/06(日) 18:21:35やはりそげな感じですかね・・・
->のオーバーロードみたいな感じで使える演算子もなさそうだしこてこてにかくしかないかな。
そのへんC++ がうらやましぃ・・・
0886デフォルトの名無しさん
2005/11/06(日) 19:58:551.ping(アドレススキャン)
2.traceroute(経路調査)
3.ポートスキャン(稼動ポートを割り出す)
4.ドメインネーム調査(IPからドメイン、ドメインからIPを割り出す)
5.文章からパスワード(大文字、小文字、数字、一部記号)生成
0887デフォルトの名無しさん
2005/11/06(日) 20:01:350888デフォルトの名無しさん
2005/11/06(日) 21:09:160889デフォルトの名無しさん
2005/11/06(日) 22:49:37それはフィールドをpublicにするのか?
いろんなところからアクセスされるのが問題なんじゃないのか?
Nanikaのインスタンスが1つのスレッドにしか所属しない状況なら
privateなフィールドがスレッドセーフになるかは意識する必要はなくなるんじゃないか?
そうするとNanikaのインスタンスは複数スレッドから操作されるわけ?
まぁ、そんな感じなら、何も考えず全部の変数の宣言にvolatileつけとけ。
0890デフォルトの名無しさん
2005/11/06(日) 22:51:19>C#プログラムで以下の機能を実装したのですが、どのようにすれば良いでしょうか?
「機能を実装 し た のですが」
俺たちはソースうp希望しておけばいいんだよきっと
0891デフォルトの名無しさん
2005/11/06(日) 23:15:11そのインターフェイスのフィールドに突っ込むと
ボクシングは発生しますか?
0892デフォルトの名無しさん
2005/11/06(日) 23:17:070893252
2005/11/06(日) 23:44:50変数は値型だけでなく参照型も含まれるのでvolatileは使えないんです。
複数のスレッドからのアクセスです。
フィールドはパブリックにするわけではないですが、それに対する操作をするメソッドはパブリックなものもあります。
いずれにしても外部からあるオブジェクトを使うときにスレッドについてなるべく気にしないでいい方法を探しています。
0894252
2005/11/06(日) 23:45:200895デフォルトの名無しさん
2005/11/06(日) 23:46:32それを操作するメソッドの中を lock すれば良いのでは?
0896881
2005/11/07(月) 00:13:48必ずしもメソッドの中に入れてるものだけではないし
あまり大きくないクラスでカプセル化を厳密にしないようなクラスだとしてください。
また同じようなクラスはいくつもあるのでそれぞれに同じようにlockするメソッドを書くのもなんか美しくないので。
さっきの例でNが複数のフィールドやメンバを持ってたとして、
Hoge hoge=new Hoge();
hoge.n.field1.Field1method();
みたいにかけるといいんです・・・
0897デフォルトの名無しさん
2005/11/07(月) 00:17:16field を property に書き直して、lock とか
0898デフォルトの名無しさん
2005/11/07(月) 00:23:18>volatile として修飾されるフィールドは、次の種類に制限されます。
>参照型
>ポインタ型 (unsafe コンテキスト内)
>sbyte、byte、short、ushort、int、uint、char、float、bool の各型
>列挙型と byte、sbyte、short、ushort、int、または uint の列挙基本型
スレッドの同期が必要な部分が大量にふくれあがったその設計がアウトなんだよ。
全部捨てて書き直せ。
そうしないといつまでたっても再現性の悪いスレッドの同期が抜けたことによるバグがうじゃうじゃ出てくるよ。
0899デフォルトの名無しさん
2005/11/07(月) 00:30:16DWORD DCBlength; /* sizeof(DCB) */
DWORD BaudRate; /* Baudrate at which running */
DWORD fBinary: 1; /* Binary Mode (skip EOF check) */
この: 1はC# でどう書けばいいの?
0900899
2005/11/07(月) 00:33:210901デフォルトの名無しさん
2005/11/07(月) 00:46:44それ、構造体サイズが全然違うんだが……。
0902881
2005/11/07(月) 00:52:25>>898 参照型いけるんですね。というかvolatileよくわかってないです。見直してきます。
たとえば次のような場合どうします?
株価などのように高頻度に値が更新されてそれに対する処理、その値を基にしたほかの株価データをを必要とする計算や表示などを行う必要がある。
値が更新されるー>対象となるデータノードを検索ー>それに対し値などに応じた必要な処理という流れ。
対象となるデータのノード数は10万単位。ただしすべてメモリ処理するものとする。
複数のノードにまたがる更新処理はない。
ノードの削除処理はない。
こんな場合どんなロックの粒度にしてどんなデータ構造にします?
自分の場合だとデータノードをインスタンスとしてそれをコレクションクラスにぶっこんであるとして、
コレクションクラスをロックー>データノード検索ー>コレクションクラスのロック解除ー>ノードの必要な箇所にロック->
ノード内の関連データをその部分にロックかけながらアトミックにupdate->
該当箇所のロックをはずしobserverに通知->各observerがおのおの独自の処理を行う。その際におのおの必要なロックをかける。
こんなんなんですが、確かに複雑になるのでなにかいいほうほうあれば参考にしたいです・・・
0903デフォルトの名無しさん
2005/11/07(月) 01:30:59どうしたらいいのか・・・・
0904デフォルトの名無しさん
2005/11/07(月) 01:36:13いっそのことDBでも使えよ
>>903
何言ってんだよ
0905デフォルトの名無しさん
2005/11/07(月) 01:43:50ども
0906デフォルトの名無しさん
2005/11/07(月) 05:59:39画面からボタンを押下されると、画像ファイルを4つダウンロードさせたい。
ダウンロード先は、ユーザーが任意に選択させたい。
ダウンロード先を選ぶポップアップが、4回出ても構わない。
普通、1回だよねぇ。
0907デフォルトの名無しさん
2005/11/07(月) 07:01:570908デフォルトの名無しさん
2005/11/07(月) 07:38:420909デフォルトの名無しさん
2005/11/07(月) 08:14:170910デフォルトの名無しさん
2005/11/07(月) 08:18:260911デフォルトの名無しさん
2005/11/07(月) 08:38:43>908 画像ファイルを作成するのは、別システムになるので無理ぽです。
>909 JAVAで画像ファイルのダウンロード作ったことあるんですけど、複数ファイルをダウンロードを作ったこともありません。
今回C#で開発されているシステムの機能追加として話が出てきており、C#なら簡単にできないものかと思いました。
>910 サンプル探していますが、なかなかないですね。探し方が悪いんでしょうかね。
皆さん、ありがとうございます。すいません。
0912デフォルトの名無しさん
2005/11/07(月) 08:53:020913デフォルトの名無しさん
2005/11/07(月) 09:14:40javaでやったように、c#に置き換えたらいいよ。
基本的にそこはかわらん。
0914デフォルトの名無しさん
2005/11/07(月) 18:06:58文字列で「True」か「False」を設定しているんだが、
「Castできません」といわれる。
なんでーーー???
Enabled='<%# DataBinder.Eval(Container.DataItem, "dl_enabled") %>'
0915デフォルトの名無しさん
2005/11/07(月) 19:09:26プラグインとして実行時に読み込んで貼り付けて使いたい場合、
どのようにすればこの機能を実現できますか?
ググってみたけど参考例がなかったので悩んでおります
0916デフォルトの名無しさん
2005/11/07(月) 19:19:51メインはAssembly.LoadFrom辺りを使ってプラグインをロード、GetTypeでプラグインクラスを取得。
あとはActivator.CreateInstanceとかでインスタンス作って基底クラスにキャストして適当に。
0917915
2005/11/07(月) 19:22:03すばやい回答ありがとうございます
さっそく試してみます
0918デフォルトの名無しさん
2005/11/07(月) 22:51:45C#を始めようと思っています。
しかし、本を読んで一から勉強しているのですが、分からないことばかりで大変です。
C#を誰かに教えて欲しいのですが、そういう教室みたいなのないでしょうか?
0919デフォルトの名無しさん
2005/11/07(月) 22:53:030920デフォルトの名無しさん
2005/11/07(月) 23:03:35本を読んでわからないなら誰かに教えてもらってもわからない可能性が高いと思われる。
ばくち同然のことに大金をかけたいというなら止めないが……。
0921915
2005/11/08(火) 00:06:12ユーザコントロールのプラグイン機能完成ー!
>>916氏には大感謝であります!
0922デフォルトの名無しさん
2005/11/08(火) 00:31:35ワーカースレッドを作る。
メインスレッドはワーカースレッドへのリクエストのデータを追加するだけ。
ワーカースレッドは溜まってるリクエストを取り出して処理し、結果をコレクションとかに溜める。
メインスレッドはワーカースレッドの処理結果があったらそれを取り出し表示。
リクエストを溜めるコレクションと結果を溜めるコレクションにアクセスする部分だけlockで排他制御を入れる。
あとはAutoResetEventあたりでスレッド間でデータを入れた通知をする。
すべてメモリ内の計算なら1スレッドでひたすら処理するのが同期処理がいらないし効率いいと思うけど。
0923デフォルトの名無しさん
2005/11/08(火) 01:05:42ブラウザにFireFoxかOperaを使わせてMIMEMultipartなHTMLを返せば希望の動作になる。
0924デフォルトの名無しさん
2005/11/08(火) 03:21:07webReq.Method = "GET";
WebResponse webRes = webReq.GetResponse();
Stream stream = webRes.GetResponseStream();
StreamReader sr =
new System.IO.StreamReader(stream, Encoding.GetEncoding("x-euc-jp"));
string str = sr.ReadToEnd();
Regex regex =
new System.Text.RegularExpressions.Regex(
@"^(.*)Ya(?<target>.+)oo.*",
RegexOptions.Compiled
);
Match m = regex.Match(str);
if (m.Success)
MessageBox.Show(m.Groups["target"].Value);
else
MessageBox.Show("無かったよ");
すみません質問です、任意のサイトから(この場合Yahoo!)から
任意の文字列(同:h)を正規表現を用い抽出したいのですが、Matchしないと言われます
例えばTextBoxからの入力等は期待通りに動いてくれるのですが…
どうか御指導お願い致します
0925デフォルトの名無しさん
2005/11/08(火) 06:06:27マッチしないのは . が改行にマッチしないから
@"Ya(?<target>.+)oo" じゃ駄目なん?
0926デフォルトの名無しさん
2005/11/08(火) 07:09:47メソッドが呼ばれるたびに正規表現がコンパイルされてリソース食いそうなんだけど
0927デフォルトの名無しさん
2005/11/08(火) 07:17:23流石にそこまで馬鹿ではなかろ。
> パフォーマンスを向上させるために、regex エンジンはすべての正規表現をメモリ上にキャッシュします。
> これにより、正規表現を使用するたびに解析し直して高水準のバイト コードを生成する必要がなくなります。
0928881
2005/11/08(火) 08:43:54それだと元のデータ部に対してはアクセスできるスレッドはワーカースレッドだけになりますよね。
データを読み取りたい側は必要なオブザーバーを作ってそれに必要な参照処理させて別データを取りその別データに対してのみ参照側はアクセスすると。
このデータ部がデータベースのようなものだとするとデータベースを参照側は直接見れないってことになりますよね。
スレッドロックのことだけを考慮すればそれもありかもしれないですが、なんかしっくり来ません・・・
0929デフォルトの名無しさん
2005/11/08(火) 15:02:17Closeメソッドの中でFinishメソッドを呼んでいるので例外が発生して閉じることが出来ません。
これってバグかな?
0930デフォルトの名無しさん
2005/11/08(火) 17:45:17有難う御座います、出来ました
0931デフォルトの名無しさん
2005/11/08(火) 19:52:48(台形にしてちょっと回転したりとか)
ワールド変換とか調べてみたけど単純な回転とかスケーリングとかしかわからんかった・・
0932デフォルトの名無しさん
2005/11/08(火) 20:34:21System.Drawing.Drawing2D.Matrix でいろいろ出来た気がする。
でも、Matrix のプロパティとか使って設定できるのは、
平行移動、回転、縦横定数倍のみ。
原理的には任意のアフィン変換ができるんだけど、
台形にしてとかは、行列の知識がないときついかも。
0933デフォルトの名無しさん
2005/11/08(火) 21:09:22FileStreamのバグだね。
Closeする前に内部に持つキャッシュを書き込もうとするので容量不足で例外が起きてCloseできず例外が出る。
DisposeもCloseを呼ぶので同じ。
そのまま閉じずに放置してもGCが動くとDisposeが呼ばれて例外でアプリが落ちる。
容量不足が発生するようなメディアに直接書き込まないとか代わりにAPIにするかしか回避できない。
まだ試してないが、2.0では直ってて欲しいな。
0934デフォルトの名無しさん
2005/11/09(水) 02:44:03http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5
0935デフォルトの名無しさん
2005/11/09(水) 03:22:53英語版だけどな
0936デフォルトの名無しさん
2005/11/09(水) 07:50:510937デフォルトの名無しさん
2005/11/09(水) 10:00:54レスありがと〜
テンプディレクトリに書き込んで容量チェックしてから
コピーすることにしました。
0938デフォルトの名無しさん
2005/11/09(水) 11:53:26それは1週間ぐらい前からしてただろ
0939デフォルトの名無しさん
2005/11/09(水) 14:03:54あれって無料っぽいけど使用できる期間とか限られてるの?
0940デフォルトの名無しさん
2005/11/09(水) 14:09:52無制限
後日発売されるものと同じ内容
0941940
2005/11/09(水) 14:13:15製品版がでたらすみやかに導入しろという条件が規約にある
0942デフォルトの名無しさん
2005/11/09(水) 14:23:40格納場所はWebService#Applicationでいいよね?
lock(Application){
if(Application["key"]==null])
Application["key"]=new String("")
}
か?
0943デフォルトの名無しさん
2005/11/09(水) 14:40:49何日以降は使えない、みたいな機能制限があった気がしなくもない。
>>942
ずっと使いたいんならGlobal.asaxでも作ってApplication_Startのときにやったら?
0944デフォルトの名無しさん
2005/11/09(水) 15:03:18そんなもんがありましたか。ありがとう。
0945デフォルトの名無しさん
2005/11/09(水) 15:35:07ttp://itpro.nikkeibp.co.jp/article/NEWS/20051108/224154/
急ぎじゃないならもう少し待ってみるのもいいかもよ
0946デフォルトの名無しさん
2005/11/09(水) 16:17:57一年後にはIDEが起動しなくなる?
それともダウンロードを中止するだけ?
0947デフォルトの名無しさん
2005/11/09(水) 17:04:02ライセンスの取得が出来ないんじゃない?
0948デフォルトの名無しさん
2005/11/09(水) 18:54:0520秒まで待機するようになっているのですが、この時間を短く設定する方法はありますか?
設定できれば有難いのですが、やはり、「他で時間を計りながら、時間が経てば
スレッドの外からクローズさせる」 という方法になるんでしょうか。
0949デフォルトの名無しさん
2005/11/09(水) 19:18:42何のサーバにどうやって接続しようとしているのか説明が無いと誰も答えられないだろうな
0950デフォルトの名無しさん
2005/11/09(水) 19:27:39複数選択にしたとき、選択された全ての項目のSelectedValueを
配列かなんかで取得できないでしょうか?
いまはSelectedItemsを1個1個キャストしてます。。。
0951デフォルトの名無しさん
2005/11/09(水) 19:54:49じゃあ質問の仕方を変えましょう。
pingを作るとき任意の時間でタイムアウトさせるにはどうすればできますか。
0952デフォルトの名無しさん
2005/11/09(水) 20:20:17まあ、外部スレッドというかSystem.Timers.Timerで監視というのがいいんじゃないか。
Socketの派生クラスを作って実装を隠蔽すれば使い回しもできる。
>>950
ないな。
メソッドにしてしまえば書くのは一カ所で済むだろ。
0953デフォルトの名無しさん
2005/11/09(水) 20:34:33どうやって ping を打ってるのか分からなきゃ、答えようが無いな。
0954デフォルトの名無しさん
2005/11/09(水) 21:05:04トンクス
ならDLは止めといた方が無難だね
0955デフォルトの名無しさん
2005/11/09(水) 21:14:15やはり任意の時間で接続をタイムアウトさせるとなると、他で時間を計るしかないんですね。
ありがとうございました。
>>953
私は、“どうやって” かは限定してないんです。
「これなら接続のタイムアウトが任意に設定できる」というなら、
それでやるつもりですから。
0956デフォルトの名無しさん
2005/11/09(水) 21:15:34publicで変数にアクセスしているような感じだし
0957デフォルトの名無しさん
2005/11/09(水) 21:25:03訳わからん。
プロパティってまさに状態のカプセル化だと思うのだが。
0958デフォルトの名無しさん
2005/11/09(水) 21:32:03{
get
{
}
set
{
}
}
なんとなく違和感があるんだ・・・
0959デフォルトの名無しさん
2005/11/09(水) 21:37:34表示するプログラムみたいなのをメモ帳で書いてみたんだが、いざ保存すると
sample.cs と書いているのに
sample.cs.txt と直されてしまいます..
ご存知の方、解決法を教えていただきたい。
0960デフォルトの名無しさん
2005/11/09(水) 21:38:49メモ帳を使わない。
0961デフォルトの名無しさん
2005/11/09(水) 21:39:420962デフォルトの名無しさん
2005/11/09(水) 21:40:130963デフォルトの名無しさん
2005/11/09(水) 21:40:33が、他のフリーのエディタ使うのを薦める。
0964デフォルトの名無しさん
2005/11/09(水) 21:42:390965デフォルトの名無しさん
2005/11/09(水) 21:43:120966デフォルトの名無しさん
2005/11/09(水) 21:43:55保存するときにファイルの種類で
「すべてのファイル」を選択する
0967デフォルトの名無しさん
2005/11/09(水) 21:44:52プロパティはメソッドの別名でしかないから、
ぶっちゃけメソッドへのアクセスと記述上以外の違いは無いし。
0969デフォルトの名無しさん
2005/11/09(水) 22:00:27クラスのインスタンスを作成したとき、メモリの消費は異なりますか?
メンバのインスタンスを作成するまでは差はないと考えていいのですか?
0970デフォルトの名無しさん
2005/11/09(水) 22:01:510971デフォルトの名無しさん
2005/11/09(水) 22:04:280972デフォルトの名無しさん
2005/11/09(水) 22:11:350973デフォルトの名無しさん
2005/11/09(水) 22:36:14っていうかインスタンスを大量に作成すること自体が愚かな行為
なんでしょうか?(作成自体のオーバーヘッドが大きいとか?)
出直してきます。レスありがとうございました。
0974名無しさん♯
2005/11/09(水) 22:57:50http://pc8.2ch.net/test/read.cgi/tech/1131544541/l50
0975デフォルトの名無しさん
2005/11/09(水) 23:03:39string[] myArray = new string[0];
添え字0って、何か役に立つんでしょうか?
0976デフォルトの名無しさん
2005/11/09(水) 23:06:02添え字0は、
string[] myArray = null;
と
string[] myArray = new string[1] { "hoge" }
のどっちと近いと思う?
0977デフォルトの名無しさん
2005/11/09(水) 23:12:450978デフォルトの名無しさん
2005/11/09(水) 23:14:02じゃあ氏ね
0979デフォルトの名無しさん
2005/11/09(水) 23:14:07何か役立つって言われてもどう答えていいのやら…
サイズ0の配列の意味って感じかな?
配列がnull参照に比べるといろいろ楽だよ
0980デフォルトの名無しさん
2005/11/09(水) 23:31:420981デフォルトの名無しさん
2005/11/09(水) 23:38:010982デフォルトの名無しさん
2005/11/09(水) 23:43:07とかできるのが楽。
nullが返る可能性があるとなると一旦ローカル変数に代入してnullチェックってことになるし。
0983デフォルトの名無しさん
2005/11/10(木) 00:01:260984デフォルトの名無しさん
2005/11/10(木) 01:20:20> 相談:38歳主婦
> 相談:38歳主婦
> 相談:38歳主婦
0985デフォルトの名無しさん
2005/11/10(木) 02:00:31pingは宇宙仮面のサイトにサンプルコードがあったけど、
tracerouteは無かったのでどうしたら良いのか悩んでいるですが・・・
0986デフォルトの名無しさん
2005/11/10(木) 02:17:340987デフォルトの名無しさん
2005/11/10(木) 08:52:32public class Hoge : IHoge {}
public class Foo<T> {
public Foo(T value) {
this.value = value;
}
private T value;
public static implicit operator Foo<T>(T t) {
return new Foo<T>(t);
}
}
public static void Main() {
Hoge hoge = new Hoge();
Foo<Hoge> a = hoge;
Foo<IHoge> b = hoge;
Foo<IHoge> c = (IHoge)ihoge; // コンパイルエラー
}
最後のがかなり納得できない。
インターフェイスとのキャスト演算オーバーロードが定義できないのが原因なんだけど。
0988デフォルトの名無しさん
2005/11/10(木) 09:01:59ihoge なんて変数は存在しないぞ
0989デフォルトの名無しさん
2005/11/10(木) 09:27:20Foo<IHoge> c = (IHoge)hoge; // やっぱりエラー
COMオブジェクトのReleaseComObjectをIDisposableでやって貰おうと思ったんだけど、
インターフェイスを暗黙にキャストできないとなると面倒で……。
0990デフォルトの名無しさん
2005/11/10(木) 11:16:15try {
action(comObj);
}
finally {
Marshal.ReleaseComObject(comObj);
}
}
private void MenuItem1_Click(object sender, EventArgs e) {
Using((IHTMLDocument2)webBrowser1.Document.DomDocument, delegate(IHTMLDocument2 doc2) {
Using(doc2.all, delegate(IHTMLElementCollection elements) {
foreach (IHTMLElement element in elements) {
Using(element, delegate(IHTMLElement elem) {
Console.WriteLine(elem.tagName);
});
}
});
});
}
こういう方向でいくことにしようか。
0991デフォルトの名無しさん
2005/11/10(木) 22:26:20どなたか教えてください。明日までに提出しなければいけないのです。。。
WindowsFormでつくります。
問)textBoxを一つとbutton一つをフォームに配置する。
textBoxの文字が「学校」のときはtrueを返し、それ以外はfalseを返すような
bool型のメソッドを作る。
buttonをクリックした時に以上のメソッドを適用するようなコードを実装せよ。
なお、buttonをクリックした際に、trueの場合は以下のメッセージを表示させる。
MessageBox.Show("あなたは学校と入力しました。")
なにがなんだかさっぱりです。教えてください。
0992デフォルトの名無しさん
2005/11/10(木) 22:37:440993デフォルトの名無しさん
2005/11/10(木) 22:44:340994デフォルトの名無しさん
2005/11/10(木) 22:51:18ここは宿題スレじゃないよ
using System.Windows.Forms;
public class MainClass {
public class MainForm : Form {
TextBox textBox; Button button;
public MainForm() {
const int width = 150;
this.SuspendLayout();
textBox = new TextBox();
textBox.Location = new System.Drawing.Point(0, 0);
textBox.Size = new System.Drawing.Size(width, textBox.PreferredHeight);
button = new Button();
button.Location = new System.Drawing.Point(0, textBox.Bottom);
button.Size = textBox.Size;
button.Click += new System.EventHandler(button_Click);
this.Controls.AddRange(new Control[]{textBox, button});
this.ClientSize = new System.Drawing.Size(width, button.Bottom);
this.ResumeLayout();
}
private bool is_gakko() {
return textBox.Text == "学校";
}
private void button_Click(object sender, System.EventArgs e) {
if (is_gakko())
System.Windows.Forms.MessageBox.Show("あなたは学校と入力しました。");
}
}
public static void Main() {
Application.Run(new MainForm());
}
}
0995991
2005/11/10(木) 23:12:25ごめんなさい。。。分かってはいるのですが単位とらないとやばいんです…。
>>93
選択でCかVBかC#を選べます。
>>94
ありがとうございます!できました。
0996デフォルトの名無しさん
2005/11/11(金) 03:42:24お前それで「できた」っていうなよ。コピペしただけだろ?
0997デフォルトの名無しさん
2005/11/11(金) 09:49:140998デフォルトの名無しさん
2005/11/11(金) 11:04:510999デフォルトの名無しさん
2005/11/11(金) 13:20:061000デフォルトの名無しさん
2005/11/11(金) 13:20:5410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。