ふらっとC#,C♯,C#(初心者用) Part53
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/01/10(日) 12:19:35「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part52
http://pc12.2ch.net/test/read.cgi/tech/1261801623/
関連スレ
C#, C♯, C#相談室 Part55(実質56)
http://pc12.2ch.net/test/read.cgi/tech/1260111240/
WPF(XAML, XBAP, .Net3.5)GUIプログラミング Part5
http://pc12.2ch.net/test/read.cgi/tech/1261879110/
0002デフォルトの名無しさん
2010/01/10(日) 12:19:54http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2010/01/10(日) 12:20:100004デフォルトの名無しさん
2010/01/10(日) 12:43:560005デフォルトの名無しさん
2010/01/10(日) 12:55:45その後回答者同士が共食いを始めるのですが
どうしたらいいのでしょうか
0006デフォルトの名無しさん
2010/01/10(日) 12:57:07回答が付いたのだから、それでいいじゃないですか
その後で戦争が起きたとしても気を揉む事はありません
0007デフォルトの名無しさん
2010/01/10(日) 13:03:37質問、捕捉を含めて4レス
回答、重複を含めて3レス
そのあとのいざこざ、だいたい100〜200レス
ってところか。
スレッドを1000まで使い切っても、まともな質問は数個しかない計算だな
0008デフォルトの名無しさん
2010/01/10(日) 13:11:270009デフォルトの名無しさん
2010/01/10(日) 13:14:500010デフォルトの名無しさん
2010/01/10(日) 13:15:37取得する方法はないのでしょうか?
0011デフォルトの名無しさん
2010/01/10(日) 13:22:53ない
0012デフォルトの名無しさん
2010/01/10(日) 13:26:38あるかも
0013デフォルトの名無しさん
2010/01/10(日) 13:31:43ありますん
0014デフォルトの名無しさん
2010/01/10(日) 13:34:59ある!
0015デフォルトの名無しさん
2010/01/10(日) 13:43:51API使え
0016デフォルトの名無しさん
2010/01/10(日) 15:49:02あるアルヨ
0017デフォルトの名無しさん
2010/01/10(日) 16:00:140018デフォルトの名無しさん
2010/01/10(日) 17:15:000019デフォルトの名無しさん
2010/01/10(日) 17:30:240020デフォルトの名無しさん
2010/01/10(日) 17:31:100021デフォルトの名無しさん
2010/01/10(日) 17:31:470022デフォルトの名無しさん
2010/01/10(日) 17:55:540023デフォルトの名無しさん
2010/01/10(日) 18:04:360024デフォルトの名無しさん
2010/01/10(日) 18:06:290025デフォルトの名無しさん
2010/01/10(日) 18:52:010026デフォルトの名無しさん
2010/01/10(日) 18:55:270027デフォルトの名無しさん
2010/01/10(日) 18:56:390028デフォルトの名無しさん
2010/01/10(日) 18:58:500029デフォルトの名無しさん
2010/01/10(日) 19:08:550030デフォルトの名無しさん
2010/01/10(日) 19:10:020031デフォルトの名無しさん
2010/01/10(日) 19:22:35拡張メソッドでEnumerable.LongCountがあるけど列挙して数えるだけだから絶対にInt32.MaxValueは超えない
0032デフォルトの名無しさん
2010/01/10(日) 20:12:280033デフォルトの名無しさん
2010/01/10(日) 20:15:270034デフォルトの名無しさん
2010/01/10(日) 20:17:29もうそういうのいいから
暇ならテレビでも見てなさい
0035デフォルトの名無しさん
2010/01/10(日) 20:21:58これだから低能はw
0036デフォルトの名無しさん
2010/01/10(日) 20:22:35間違ったことを書き込んだからって、顔真っ赤にしなくてもいいのに。
0037デフォルトの名無しさん
2010/01/10(日) 20:37:06たしかに>>24でウソつきました
なんでばれちゃったんですか?
0038デフォルトの名無しさん
2010/01/10(日) 21:08:210039デフォルトの名無しさん
2010/01/10(日) 22:09:100040デフォルトの名無しさん
2010/01/10(日) 22:27:110041デフォルトの名無しさん
2010/01/10(日) 22:27:320042デフォルトの名無しさん
2010/01/10(日) 22:29:130043デフォルトの名無しさん
2010/01/10(日) 22:45:320044デフォルトの名無しさん
2010/01/10(日) 22:52:320045デフォルトの名無しさん
2010/01/10(日) 22:57:460046デフォルトの名無しさん
2010/01/10(日) 23:52:51kuso = "クソスレ";
printf("このスレは{0}",kuso");
}
0047デフォルトの名無しさん
2010/01/10(日) 23:55:180048デフォルトの名無しさん
2010/01/11(月) 01:25:56そこに処理を一つ割り込ませたいのですがどこで挿入の処理がされているのでしょうか?
0049デフォルトの名無しさん
2010/01/11(月) 01:35:03Bitmap bmp = new Bitmap(_width, _height);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(new Point(_left, _top), new Point(0, 0), bmp.Size);
_width _height は切り取りたいサイズ
_left _top 画面上の切り取り開始位置
あとはBitmap のGetPixelで指定すればOK?
というのがありました。これで、カーソルの位置の場合は、
g.CopyFromScreen(Cursor.Position.X, Cursor.Position.Y, 0, 0, bmp.Size);
となると思います。
これで、WPFの場合にはどうしたらよいんでしょう?
というのは、Cursor.PositionはFormなので、変更しないとだめなのです。
0050デフォルトの名無しさん
2010/01/11(月) 01:36:170051デフォルトの名無しさん
2010/01/11(月) 01:43:55vbやformsのクラスを呼びたいときには参照を追加する
0052デフォルトの名無しさん
2010/01/11(月) 01:55:48Mouse.GetPostion(・・・);
>>50
ああ、そういうことではなくって
データのチェックをかけてから表示させたいのですが
表示ようにデータの追加を行ってる間にした方がいいだろうと思って
テーブルアダプタなんかを見てみたんですがどこでやってるのかわからずに・・・。
0053デフォルトの名無しさん
2010/01/11(月) 02:01:11XP版VS2005のC#で、スレッドを使用して、USB機器(読み取り機)にアクセスするプログラムを作成しています。
フォームからスレッドを呼び出し、スレッド上でループして、機器にアクセスできたらポートを開けて内容を読み取るということをしています。
機器が差された際にアクセスするのはできました。
ですが、機器を引っこ抜かれると、スレッドが飛んでしまうようなのです。
抜いた後、Debugモードで確認すると、ループ内のブレイクポイントには引っかかりません。
引っこ抜いたときに、exceptやfinallyも通っていないようです。
何度抜き差ししても読み取りに行けるプログラムを作ろうと思っているのですが、
スレッドが終わったことを、フォーム側で知ることはできるのでしょうか?
どうかお教え願います。
0054デフォルトの名無しさん
2010/01/11(月) 02:13:01ttp://www.technoveins.jp/dev/qrmemop/index.htm
ここのQRコードの読み込みって参考にならない?
0055デフォルトの名無しさん
2010/01/11(月) 02:34:22ありがとうございます、読ませていただきました。
残念ながら、機器へのアクセスは、専用のDLLを介してやらなければならず、
通常のシリアルポートコンポーネントは使用できません。
(ポートへのアクセスも専用DLLのメソッドを使用しています)
0056デフォルトの名無しさん
2010/01/11(月) 02:36:38BackgroundWorkerなら死んだ事が
OnRunWorkerCompletedイベントでわかるかなとか思った
0057デフォルトの名無しさん
2010/01/11(月) 02:56:50ありがとうございます。
BackgroundWorkerは試していませんでしたので、やってみようと思います。
0058デフォルトの名無しさん
2010/01/11(月) 05:09:41確かにスレッドが死んでることは確認した?
0059デフォルトの名無しさん
2010/01/11(月) 09:51:27そのDLLを使って機器の接続状態を監視するしかないような気がする
0060デフォルトの名無しさん
2010/01/11(月) 10:02:200061デフォルトの名無しさん
2010/01/11(月) 11:25:48COMなのか、そのくらいは書こうよ。
それより例外を捕捉できないというのはどういう状態なんだろう?
気になるな。
0062デフォルトの名無しさん
2010/01/11(月) 11:35:54ついでにお前の行動も監視できたら便利だなw
0063デフォルトの名無しさん
2010/01/11(月) 11:39:040064デフォルトの名無しさん
2010/01/11(月) 11:41:13できれば別のAppDomain作ってDLLはその中でロードして動かすようにしたほうが安全かも
0065デフォルトの名無しさん
2010/01/11(月) 11:54:58まあ大体はアホな人があほな要求するからなんだけど
0066デフォルトの名無しさん
2010/01/11(月) 12:00:430067デフォルトの名無しさん
2010/01/11(月) 12:06:240068デフォルトの名無しさん
2010/01/11(月) 13:05:41取得したりするにはどうすればいいんでしょうか?
実行ファイルに埋め込まれてる物もあればシステムリソースで
持ってる物もあるようですし
0069デフォルトの名無しさん
2010/01/11(月) 13:21:46ショートカットファイルのなら、
http://msdn.microsoft.com/en-us/library/bb773990(VS.85).aspx
とかかな。
0070デフォルトの名無しさん
2010/01/11(月) 13:27:380071デフォルトの名無しさん
2010/01/11(月) 13:33:360072デフォルトの名無しさん
2010/01/11(月) 13:36:12File.AppendAllText("log.txt", log内容);
と書いてあります。
AとBが同時に書こうとすると、ロックされていて書けないのですが、その場合、しばらく待って書くのには、どうしたらよいですか?
try{
File.AppendAllText("log.txt", log内容);
}
catch{
Thread.Sleep(2000);
File.AppendAllText("log.txt", log内容);
}
とか?
0073デフォルトの名無しさん
2010/01/11(月) 13:37:200074デフォルトの名無しさん
2010/01/11(月) 13:38:380075デフォルトの名無しさん
2010/01/11(月) 13:38:52自己解決しました笑
0076デフォルトの名無しさん
2010/01/11(月) 13:45:570077デフォルトの名無しさん
2010/01/11(月) 13:46:33Traceクラスでも自動で排他制御してくれるけど
0078デフォルトの名無しさん
2010/01/11(月) 13:48:010079デフォルトの名無しさん
2010/01/11(月) 13:49:340080デフォルトの名無しさん
2010/01/11(月) 13:50:370081デフォルトの名無しさん
2010/01/11(月) 14:03:140082デフォルトの名無しさん
2010/01/11(月) 14:05:090083デフォルトの名無しさん
2010/01/11(月) 14:05:220084デフォルトの名無しさん
2010/01/11(月) 14:06:54FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
0085デフォルトの名無しさん
2010/01/11(月) 14:09:420086デフォルトの名無しさん
2010/01/11(月) 14:24:040087デフォルトの名無しさん
2010/01/11(月) 15:12:090088デフォルトの名無しさん
2010/01/11(月) 15:14:160089デフォルトの名無しさん
2010/01/11(月) 15:27:51普段脳味噌使ってない人なんだろ、たぶん。
0090デフォルトの名無しさん
2010/01/11(月) 15:35:120091デフォルトの名無しさん
2010/01/11(月) 16:00:23メンバを書き換えられなくなる原理がよくわからない
こんなことしなきゃいいんだろうけど、理屈がわからなくてなんか気持ち悪い
参照型/値型、参照渡し/値渡しが動的配列でどうなってるか理解できないからだと思うけど
public struct Sample1 { public string name; }
static void Main(string[] args){
List<Sample1> SampList1 = new List<Sample1>();
Sample1 Samp1 = new Sample1();
SampList1.Add(Samp1);
SampList1[0].name = "ゆきお"; }←ここでエラー 変数ではないためList<Sample1>.this[int]の戻り値を変更できません。
──────────────────────────────
public class Sample1 { public string name; }
static void Main(string[] args){
List<Sample1> SampList1 = new List<Sample1>();
Sample1 Samp1 = new Sample1();
SampList1.Add(Samp1);
SampList1[0].name = "ゆきお"; }← class+コレクションならコンパイル通る
──────────────────────────────
public struct Sample1 { public string name; }
static void Main(string[] args){
sample1[] SampList1 = new Sample1[1];
Sample1 Samp1 = new Sample1();
SampList1[0] = Samp1;
SampList1[0].name = "ゆきお"; }← struct + 静的配列ならコンパイル通る
あと、動的配列の中身を別の動的配列にコピーしたい場合、
動的配列2 = 動的配列1; でコピーした場合と、
Addメソッド使って、で要素を一つずつコピーした場合とで、
後でRemoveAtなんかでコピー先の要素を削除した時に
前者はコピー元の要素も削除され、後者はコピー元は影響無しの原理もよくわかってない
今ぐぐって調べてるけど、あまりに基本的過ぎる話のせいか初心者向けの解説無くて
0092デフォルトの名無しさん
2010/01/11(月) 16:04:260093デフォルトの名無しさん
2010/01/11(月) 16:12:500094デフォルトの名無しさん
2010/01/11(月) 16:18:31値型と参照型、配列の添え字によるアクセスとインデクサによるアクセスの違い
値型の配列にList<T>のインデクサ使ってアクセスすると
list[0] の段階で実体がコピーされてしまうので、想定されている内部の構造体にアクセスできないのでエラーになる
参照型の場合は実体がコピーされないので問題ない
0095デフォルトの名無しさん
2010/01/11(月) 16:21:470096デフォルトの名無しさん
2010/01/11(月) 16:24:00プロパティだとエラーにならないから、
hoge.Size.X = 100; // Size structのSizeプロパティ
で変化しない、なんでってことになる。
0097デフォルトの名無しさん
2010/01/11(月) 16:30:420098デフォルトの名無しさん
2010/01/11(月) 16:31:17これ地味に嫌
0099デフォルトの名無しさん
2010/01/11(月) 16:36:480100デフォルトの名無しさん
2010/01/11(月) 16:40:470101デフォルトの名無しさん
2010/01/11(月) 16:53:23クラスの外とやり取りする場合は使わない方がいいかもね〜
0102デフォルトの名無しさん
2010/01/11(月) 16:54:23というか無条件にクラスでおk
構造体を使うのはメモリの仕組みをよく理解した上でパフォーマンスを出したいときだけ
0103デフォルトの名無しさん
2010/01/11(月) 16:56:55Listとか配列の機能についてこう思ってるのかな
int[] x=new int[10];
int age=100;
x[0]=age;
x[0]=500;
ってやったらageが500になっちゃうとか思ってるのかな?
0104デフォルトの名無しさん
2010/01/11(月) 17:05:55このあたりは、C++なら -> と . で区別されるんだけどね。
0105デフォルトの名無しさん
2010/01/11(月) 17:06:07それ間違ってる。
それがエラーにならないのはXがフィールドじゃなくてプロパティだから。インデクサかプロパティかは関係ない。
Xがフィールドならその代入に意味がないことはコンパイラにとって明らかだけど,
プロパティは実装を変えられるから必ずしも意味がないとは限らない。
0106デフォルトの名無しさん
2010/01/11(月) 17:19:500107デフォルトの名無しさん
2010/01/11(月) 17:19:52フィールドを一括で書き換えるようなのを構造体にする
0108デフォルトの名無しさん
2010/01/11(月) 17:20:23君の脳も間違ってる。
0109デフォルトの名無しさん
2010/01/11(月) 20:05:06Bの上に
○男 ○女
という2つのラジオボタンC、Dを配置します。(C、DはともにTabStop = true)
そして、次の手順を行ったとき、
�@ AのEnableをfalseにする。
�A CのCheckedをfalseにする。
�B DのCheckedをfalseにする。
�C AのEnableをtrueにする。
ラジオボタンC、Dにタブが遷移しなくなります。
どうしてもC、Dのどちらもチェックがない状態で、AのEnableをtrueに戻したいのです。
どうすれば解決できるでしょうか。
よろしくお願いします。
0110デフォルトの名無しさん
2010/01/11(月) 20:10:520111デフォルトの名無しさん
2010/01/11(月) 20:20:23そんなことおっしゃらずに…(>_<)。
全てのラジオボタンのCheckedを外した状態で、
そのコンテナのEnabledをtrueにしたときに、Tabが当たらないようです。
思いがけない個所でつまずいてしまいました。
解決方法を教えてください(>_<)。
0112デフォルトの名無しさん
2010/01/11(月) 20:24:59変な使い方して変な結果になってもしょうがないだろ。
0113デフォルトの名無しさん
2010/01/11(月) 20:25:35「常に1つだけが選択されている」状態から外れるのは良くない
この場合は未選択、未設定などの選択肢を用意するのが正道
0114デフォルトの名無しさん
2010/01/11(月) 20:37:30一応リストボックスで簡単に代用できるはずだけど、
「仕様書にラジオボタンでって書いてあるから」とかいうケースなんだろうなぁ
俺にはわからんな
0115デフォルトの名無しさん
2010/01/11(月) 20:45:17テストがめんどいからそのサンプルプロジェクトをうpしてくれたら
考えてみるよ
0116デフォルトの名無しさん
2010/01/11(月) 20:46:390117デフォルトの名無しさん
2010/01/11(月) 20:48:140118デフォルトの名無しさん
2010/01/11(月) 20:51:00コンテナのEnabledをtrueにしたあと、 falseになってる radioButtonのTabStopを Trueに戻すだけやん。
0119デフォルトの名無しさん
2010/01/11(月) 20:53:230120デフォルトの名無しさん
2010/01/11(月) 20:57:470121デフォルトの名無しさん
2010/01/11(月) 21:01:070122デフォルトの名無しさん
2010/01/11(月) 21:02:370123デフォルトの名無しさん
2010/01/11(月) 21:08:11なるほどね
0124デフォルトの名無しさん
2010/01/11(月) 21:09:43あなたのバカがうつってしまいました(>_<)。
0125デフォルトの名無しさん
2010/01/11(月) 21:09:47あるのかないのかどっちだ
0126デフォルトの名無しさん
2010/01/11(月) 21:39:520127デフォルトの名無しさん
2010/01/11(月) 21:46:400128デフォルトの名無しさん
2010/01/11(月) 21:50:27んあ?(-_-メ)
0129デフォルトの名無しさん
2010/01/11(月) 21:54:230130デフォルトの名無しさん
2010/01/11(月) 23:23:24textBoxで受けて、URLを取得したいと思いました。
private void textBox_DragDrop(object sender, DragEventArgs e){
string[] dragArray = (string[])e.Data.GetData(DataFormats.FileDrop, false);
//以下処理。
}
としています。
これで、ショートカットなどのファイルは受けて処理できるのですが、
IEから直接だと、ポインタが禁止状態になってドラッグできません。
一度デスクトップなどにショートカットを作ればいいのですが、
二度手間でなんかスマートでありません。
なにが足りないんでしょう?
0131デフォルトの名無しさん
2010/01/11(月) 23:29:43ふざけてるのかな
0132デフォルトの名無しさん
2010/01/11(月) 23:43:29AddRsv2
0133デフォルトの名無しさん
2010/01/11(月) 23:45:17ごめんなさい。
ttp://svl.qp.land.to/rsvdata/rsvdata_sample12.cpp
にサンプルがあるコードなんですが、
このサンプルにあるようにAddRsv2をC#から呼びたいと思っているのですが、
どうすればいいでしょうか?
COMインターフェース等に関しては全くの無知ですがご教示いただければ幸いです。
よろしくお願いします。
0134デフォルトの名無しさん
2010/01/11(月) 23:54:21IDropTargetを実装すればいい
0135デフォルトの名無しさん
2010/01/12(火) 00:03:24詳しい説明をお願いします。
0136デフォルトの名無しさん
2010/01/12(火) 00:04:590137デフォルトの名無しさん
2010/01/12(火) 00:14:47Form2でForm2のみを閉じるときはClose();
Form2でForm2とForm1を閉じるときはApplication.Exit();
ですが、WPFの場合には、どうしたらよいですか?
WPFには、Application.Exit();がないみたいです。
かといって、Close();だと、Window1が残ってしまうのです。
よろしくアドバイスをお願いします。
0138デフォルトの名無しさん
2010/01/12(火) 00:24:53なんか俺が知らない問題でもあるのかと思って試してみたけど、
普通にUnicodeTextでURL受け取れたけど・・・。
むしろ一体何を悩んでいるの?
0139デフォルトの名無しさん
2010/01/12(火) 00:26:25Application.Current.Shutdown() が使えそうなかんじ。
0140デフォルトの名無しさん
2010/01/12(火) 00:27:16こんなコード書いてたわ
if (this.Owner.IsVisible) this.Owner.Close();
0141デフォルトの名無しさん
2010/01/12(火) 00:48:34>>139
Application.Current.Shutdown();
で解決しました。
ありがとうございました。
>>140
Window1がVisibleでないことがあるので、
if (!this.Owner.IsVisible) this.Owner.Close():
this.Owner.Close():
の両方を試しました。
どちらもエラーが出てだめでした。
でもこれも必要になることもあるかと思うので、感謝します。
ありがとうございました。
みなさんほんとうにありがとうございます。
0142デフォルトの名無しさん
2010/01/12(火) 10:54:58比較回数が60万回ぐらいあるので高速でないとだめなのですが、
現状はかなり低速です。
作りこみ方なのですが、まずReadProcessMemoryを行って、byte配列でメモリ情報を取得した後、
検索文字列をstring配列で分解し、Convert.ToInt32で文字列を10進数に直した後、
メモリ情報とこの10進数変換した値とを比較して、一つずつデータを比較しています。
高速化の方法が何かあれば教えてください。
0143デフォルトの名無しさん
2010/01/12(火) 10:57:580144デフォルトの名無しさん
2010/01/12(火) 10:59:50負荷のかかりそうなところだけVC++で書くとか
0145デフォルトの名無しさん
2010/01/12(火) 10:59:550146デフォルトの名無しさん
2010/01/12(火) 11:02:180147デフォルトの名無しさん
2010/01/12(火) 11:02:210148デフォルトの名無しさん
2010/01/12(火) 12:00:060149デフォルトの名無しさん
2010/01/12(火) 12:30:03パブリックメンバ(プロパティ)を内部変数で保持する時に、この内部変数にアンダーバーを先頭につけて内部変数名にする
といった感じかと思われる。
string _text;
public string Text
{
get{return _text;}
set{_text = value;}
}
0150デフォルトの名無しさん
2010/01/12(火) 12:32:53人によって
・フィールドはcamelCaseに、プロパティはPascalCaseにする
・フィールドのプレフィックスに"_"を付ける
・フィールドのプレフィックスに"m_"を付ける
とかいろんな作法があるらしいよ
0151148
2010/01/12(火) 12:38:240152デフォルトの名無しさん
2010/01/12(火) 12:38:57ttp://www2.starcat.ne.jp/~fussy/algo/algo7-4.htm
0153デフォルトの名無しさん
2010/01/12(火) 12:52:03人にもよるし仕事でやるなら命名ルールとかあるから
個人で書いてるなら自分の好みでいいんじゃない?
0154デフォルトの名無しさん
2010/01/12(火) 14:18:36付けてる人曰く、フィールドに直接アクセスせず
必ずプロパティ経由でアクセスしていることを明示的にする為だそうな。
変数名の後ろにアンダースコア付ける人もまれにいるし
嗜好の問題だと思う。
0155デフォルトの名無しさん
2010/01/12(火) 14:52:51public $type$ $property$ {
get { return _$property$; }
set {
if(value == _$property$) return;
_$property$ = value;
$end$
}
}
private $type$ _$property$;
あと、使っているアドインのリファクタリングで自動実装のプロパティに
バッキングフィールドを作成するとプレフィックスに"_"が付いたような
0156デフォルトの名無しさん
2010/01/12(火) 14:53:350157デフォルトの名無しさん
2010/01/12(火) 15:06:52_regionSize はC++(C++/CLI)で不都合があると思われている。
(正確にはメンバーなので _xxxでも問題ないらしい)
m_regionSizeは ハンガリアン記法が一時期過剰に嫌われていたあおりで排除された。
regionSize_ はなんか気持ち悪い
などなど、結局好きにしろってことだな。
MSDNのネーミング規約をみてもprivateメンバのネーミングについては特に記述は無い。
0158デフォルトの名無しさん
2010/01/12(火) 15:24:51C:\Program Files\mp3\LAME\lame.exeに。コマンドラインのオプションを
lame.exe -t -q 0 -b 80 --resample 44100にしたいと思っています。そこで1行目を
#define LAME_EXE "C:\\Program Files\\mp3\\LAME\\lame.exe"
に。8行目を
strcat(cmd, " -t -q 0 -b 80 --resample 44100");
に替えてみたのですが、「音声の変換に失敗しました」とエラーが出て失敗してしまいます
C++はサッパリちゃんなので、どなたか御教示いただけませんでしょうか。宜しくお願いします
ttp://anonymousriver.hp.infoseek.co.jp/lame_wrapper/lame_wrapper.c
0159デフォルトの名無しさん
2010/01/12(火) 15:26:220160デフォルトの名無しさん
2010/01/12(火) 15:27:17メソッド内で使うときは必ずthis.をつけてます
0161デフォルトの名無しさん
2010/01/12(火) 15:29:42http://msdn.microsoft.com/ja-jp/library/ms229002.aspx
0162デフォルトの名無しさん
2010/01/12(火) 15:30:23【初心者歓迎】C/C++室 Ver.70【環境依存OK】
ttp://pc12.2ch.net/test/read.cgi/tech/1258873470/
0163デフォルトの名無しさん
2010/01/12(火) 15:30:390164デフォルトの名無しさん
2010/01/12(火) 17:17:05メモリ関連かと思いましたが、OutOfMemoryException が投げられていないようで、catch() できていません。
VSで追おうにもフォームを強制終了させなければVSごと応答しなくなってしまいます。
filesizeには正しい値が入っていることを確認済みです。
原因として何が考えられるのでしょうか?
try{
Data = new byte[ filesize ];
}catch( Exception e ){
System.Windows.Forms.MessageBox.Show( e.Message );
}
0165デフォルトの名無しさん
2010/01/12(火) 17:23:170167デフォルトの名無しさん
2010/01/12(火) 17:31:33問題は他の部分だろうね
0169デフォルトの名無しさん
2010/01/12(火) 17:59:20http://pc12.2ch.net/test/read.cgi/tech/1262777752/
このスレ参照のこと
0170デフォルトの名無しさん
2010/01/12(火) 18:01:100171デフォルトの名無しさん
2010/01/12(火) 18:02:420172164
2010/01/12(火) 18:19:12ありがとうございます。
今から読んでみます。
>>170
System.Diagnostics.Debug.WriteLine() を1行毎に置いてみるだけでは不足でしょうか?
ブレークポイントは使用してもしなくても同じ動作でした。
>>171
msdnのページにはメモリが不足している場合は
OutOfMemoryException が投げられると書かれているように思えたのですが・・・。
念のため catch( OutOfMemoryException e ) にしても同じでした。
0173デフォルトの名無しさん
2010/01/12(火) 18:20:480174デフォルトの名無しさん
2010/01/12(火) 18:25:16最終的にはそうするほうが質問するより早いよね。
まあデバッグのやりかたがよくわかってないみたいだからしょうがないけど。
0175デフォルトの名無しさん
2010/01/12(火) 18:25:49コードのどの部分にどれくらい信用性があるか見切れないとずっと初心者だよ
0176デフォルトの名無しさん
2010/01/12(火) 18:28:20そりゃステップ実行しなきゃ
new しているメソッドを呼ぶ所で無限ループしている可能性が一番高いんだし
0177164
2010/01/12(火) 18:40:43メモリ破壊を疑ってみます。
アドバイスありがとうございました。
>>173,174,176
蛇足ですが、ステップ実行でのデバッグは既にやっています。
0178デフォルトの名無しさん
2010/01/12(火) 19:30:45コード断片だけじゃわからんよ
0179デフォルトの名無しさん
2010/01/12(火) 19:42:40コードまるまるうpでもしないかぎり
0180デフォルトの名無しさん
2010/01/12(火) 19:45:47本人もどこが問題なのかまるでわかってないからそうなるんだろうね。
0182デフォルトの名無しさん
2010/01/12(火) 19:50:44メモリ破壊なんてしないよね?
俺はC#よくしらないけど。
0183デフォルトの名無しさん
2010/01/12(火) 19:50:490184デフォルトの名無しさん
2010/01/12(火) 19:56:41でも男でもたしかに時々いるんだよねそういう奴。
潜在的なカマなんじゃなかろうか
0185デフォルトの名無しさん
2010/01/12(火) 20:00:21俺ならそのソースをそのまま使いたいからVC++でOCXでラップして
C#のフォームに貼り付けて使う。
0186デフォルトの名無しさん
2010/01/12(火) 20:04:05カス
0187デフォルトの名無しさん
2010/01/12(火) 20:10:10無反応状態ならへんなループ書けば簡単に起こるよ。イベントを相互で呼び出したり。
0188デフォルトの名無しさん
2010/01/12(火) 20:11:34なるほど
0189デフォルトの名無しさん
2010/01/12(火) 20:46:03ほへかせもゆらあてみいももやせれあかなそてまうえしちみきるねんすれぬはわええろみひよのみゆけふてわをすはゆんかりなていたんまむいなのきやむあへてうやけのもせ
よこひえるへゆさてこれれもつこわしくためををけたきふをせきうしうつへとひはらうかまんそらまてしわやはくちねるろせつふねれたおねえめこさふやほもふなしひこくへ
ひちのみせみえくせちんなりむわをそむさゆゆとぬけたきりにたぬちせりねしそそふゆろききまみめはわをししさむしりはけめたせえきにけわんすわけわもめすぬほへふもそ
ささすぬつくちんにえはむもしひえきゆくそゆけんらきいなみとはねはひむとぬくうせをにちまもおわみむんてしそつまほおけよつはをまはてしのゆのれりなたへこえたやけ
よむらほとむくいいけやかてうむみもふのふりてふれへちててろさむはねえなりうふくみいきほんうほすさるりやたろあぬゆぬまなとるれてんゆなやそりゆるるさめやましら
くえねはぬゆわをねけけせにもまみつよのそもるこすへちそろわふなうらろえぬらりともかましまはほゆをよいせはてをりやらまぬゆまめうてれここんさんやりといゆけほよ
ゆわちゆさきえみやもるくたぬしれしあますてつたりゆなはもれらさもにしにせそうんたこなんかるねくやよつわらやなけねたわかまそえとろたこひまるほきあけせとろやち
まふたくえふさとむほにこけれせいきねみんろたしあさへうはんよわくみまみいおえやをこきふましさゆをひさとつせのややいいなさもまするろほみわつるくへはろいれふて
ろよんにぬつたえああわにせこれんめねくにえへつえまつきんむてわりふしまほにねやとしひめすせはおぬふほをさまおひゆさのてめしはこりたやきらそわけりこのみやはせ
ゆとあそはにられらきよよぬぬくれふなふく
0190デフォルトの名無しさん
2010/01/12(火) 20:47:27417270647911119398265877604356756653123239986604218419768938626949738275501606
250320279301219198504796337841703744565641089982079039822177715017280875762921
057416400473083550075370509783174000446911225548032194128521645465162060951565
465539130164284060857508075643775901923995506341285317135921431113613959430498
401092565883457642005006729253822255363882264271281485272488386576889292587462
034663116263550263907540695891208175920042901182186966988109777962571572279088
098824838689381074918874626395429671349459675554401020594390741055133327652177
916107370918077618827263534853795819183817031310666404692558655752953871909739
922308545867381013839042726659736597888333618343364296802843665358183095852232
524792904298334494082199910777728527604800325044053124189211216769583009939665
382415272620598635193623786056286678336830450451457798866769513975698838956157
500859844509114898746975909367002410509598251731996664710909939208235501175358
533359286168541726824048105222941777016070857553763714208138350176891267309534
126422704270860505796207867552357491802427279788547040757837112344669692603954
613568171977230441868555998330410833172587146793247145430301387348954641737295
442451669467358278339882174689974936849305680534733392815526848883783849336795
502986777750956369827069343593144744177219535459187655066510571129154921408484
240871393287000887611974516472461568354937796545942896362781471627759900733947
887663189980838964697636103389678358036579247197495243642929621467962130722651
890212762790675915951219992004860515531718599196876803531499929279908178725031
149996634085896860472469559106037201700690844166080101523052967409237991968529
522987224293105273761742101630321548376319086339334250810372161485643630138856
956965948525898718857542924106686361050970380091893179616277234488708165914328
0191デフォルトの名無しさん
2010/01/12(火) 21:22:010192デフォルトの名無しさん
2010/01/12(火) 21:25:410193デフォルトの名無しさん
2010/01/12(火) 21:31:02逆に,P/Invokeでポインタ(またはIntPtr)として宣言するべきところにint使っちゃうと動作しなくなる
0194デフォルトの名無しさん
2010/01/12(火) 21:55:06VC2008EEで.hと.cppをプロジェクトに入れただけでコンパイルできたよ。
0195デフォルトの名無しさん
2010/01/12(火) 22:27:46カーソルアイコンが禁止状態のままの場合、
DragEnterやDragOverでe.Effectを設定してないのが原因だろう
DataFormats.FileDropを含まないデータが来てるんじゃないか
DragEnterのe.Data.GetFormatsでどんな形式のデータが来てるか確認すれ
0196デフォルトの名無しさん
2010/01/12(火) 22:35:12tlbimpにRsvData.dll突っ込めばなんとかなりそう?
0197133
2010/01/12(火) 23:00:09IEpgRsv rsv = (IEpgRsv)(new EpgRsvClass());
なんてことができちゃいました。
サンプルコードとは違う感じですが、とりあえず動作も確認できたので
よしということにしちゃいます。
色々ありがとうございました。
0198デフォルトの名無しさん
2010/01/12(火) 23:08:15ついでに言うとnew IEpgRsv()だけでもいいはず
0199デフォルトの名無しさん
2010/01/12(火) 23:08:27つまんね
0200デフォルトの名無しさん
2010/01/12(火) 23:13:340201133
2010/01/12(火) 23:29:12やってみました。
IEpgRsv rsv = new IEpgRsv();
抽象クラスまたはインターフェイス 'RsvDataLib.IEpgRsv' のインスタンスを作成できません。
0202デフォルトの名無しさん
2010/01/12(火) 23:31:23trueを1に、falseを0と同値にしたいんだけど。
0203デフォルトの名無しさん
2010/01/12(火) 23:35:170204デフォルトの名無しさん
2010/01/12(火) 23:35:39ありゃ、CoClassもってなかったのね ごめん
>>202
うんキャストは無理
Convert.ToInt32でも使えば
0205デフォルトの名無しさん
2010/01/12(火) 23:39:03CLRの内部表現もそうなってる
0206デフォルトの名無しさん
2010/01/12(火) 23:43:510207デフォルトの名無しさん
2010/01/12(火) 23:53:050208デフォルトの名無しさん
2010/01/12(火) 23:55:480209デフォルトの名無しさん
2010/01/13(水) 00:07:24vector<T>と基本的に同じ?
0210デフォルトの名無しさん
2010/01/13(水) 00:15:210211デフォルトの名無しさん
2010/01/13(水) 06:55:590212デフォルトの名無しさん
2010/01/13(水) 07:08:580213デフォルトの名無しさん
2010/01/13(水) 10:10:130214デフォルトの名無しさん
2010/01/13(水) 11:35:570215デフォルトの名無しさん
2010/01/13(水) 11:43:320216デフォルトの名無しさん
2010/01/13(水) 11:51:210217デフォルトの名無しさん
2010/01/13(水) 11:52:42でもDictionaryならあるから別に困らない。
0218デフォルトの名無しさん
2010/01/13(水) 14:11:000219デフォルトの名無しさん
2010/01/13(水) 14:11:590220デフォルトの名無しさん
2010/01/13(水) 14:41:54ブラウザによくあるCTRL+ホイールでページサイズを切り替えるには
どうすればいいのでしょうか?
0221デフォルトの名無しさん
2010/01/13(水) 16:04:09Microsoft.ShDocVw.dllを参照追加。
フォームのコンストラクタに以下のコードを追加。
int r = 100;
const int OLECMDID_OPTICAL_ZOOM = 63;
this.MouseWheel += new MouseEventHandler((s, e) =>
{
if (this.webBrowser1.Document == null) return;
r += e.Delta / 120 * 25;
object or = r;
object z = Type.Missing;
((IWebBrowser2)this.webBrowser1.ActiveXInstance).ExecWB((OLECMDID)OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref or, ref z);
});
CTLキー押しながらではないが、ホイールを押しながらで拡大縮小する。
0222デフォルトの名無しさん
2010/01/13(水) 16:23:36HTMLDocumentEvents2_Event.onmousewheel辺りになるかね
0224デフォルトの名無しさん
2010/01/13(水) 18:40:31C言語だったらたとえばスクリーンの任意の座標に文字を表示するのは
最初からそういうメソッドがあるDLLなりヘッダファイルなりがあれば
write("Hello",30,50);
一行でできるのに
C#だったら
String s="Hello";
Label l =new Label();
l.Text=s;
l.Positon=new Position(30,50);
l.Show();
こんな五行もかかないといけない
生産性を犠牲にしてわかりやすくしてるのかね?
0225デフォルトの名無しさん
2010/01/13(水) 18:50:220226デフォルトの名無しさん
2010/01/13(水) 18:52:480227デフォルトの名無しさん
2010/01/13(水) 18:56:43C言語だとTalk(Taro);
だったのが
C#だと
Taro.Talk();になってるだけじゃねーか!
()の中に書くか.の前に書くかの違いってそんなに重要なのかねぇ
0228デフォルトの名無しさん
2010/01/13(水) 19:01:51C#からでもDLLでも呼べるだろ。
C言語で作ったDLLであってもね。
0229デフォルトの名無しさん
2010/01/13(水) 19:06:54int x;
}
なクラスがあったとして
Mainの中で
A a=new A();
ってやったら
aはヒープにあるの?
xはint型だからスタックにあるの?
どっち?
0230デフォルトの名無しさん
2010/01/13(水) 19:09:430231デフォルトの名無しさん
2010/01/13(水) 19:10:35String s="Hello";
Label l =new Label();
l.Text=s;
l.Positon=new Position(30,50);
l.Show();
これをC#でも一つのメソッドにまとめてクラスなりDLLから
呼び出せるってのを理解していないと思われ。プログラムの
基本すら怪しい。
0232デフォルトの名無しさん
2010/01/13(水) 19:11:40xは値型なので実体はヒープに確保されず、直接Aの実体の中に用意される
で、Aの実体への参照がローカル変数aで、これはスタックに確保される
0233デフォルトの名無しさん
2010/01/13(水) 19:15:00えっと、、、
ネタだよね?
0234232
2010/01/13(水) 19:16:460235デフォルトの名無しさん
2010/01/13(水) 19:44:08ポリモーフィズムを理解すればなぜそう書くかわかる
0236デフォルトの名無しさん
2010/01/13(水) 19:52:580237デフォルトの名無しさん
2010/01/13(水) 20:09:410238デフォルトの名無しさん
2010/01/13(水) 20:17:080239デフォルトの名無しさん
2010/01/13(水) 20:20:16イベントハンドラーの追加の方法が分からない。
IDEのプロパティタブからイベントハンドラーを追加できるようにしたい。
こんなところか、どれだろうね〜
0240デフォルトの名無しさん
2010/01/13(水) 20:22:070241デフォルトの名無しさん
2010/01/13(水) 20:37:41呼び出し側なら、他の既存コントロールと同じやり方でいいだろ。
0242デフォルトの名無しさん
2010/01/13(水) 20:54:320243デフォルトの名無しさん
2010/01/13(水) 22:11:35動物の表紙?
0244デフォルトの名無しさん
2010/01/13(水) 22:22:350245デフォルトの名無しさん
2010/01/13(水) 22:29:12プログラミング経験の有無
プログラミング自体に興味があるのか,それとも作りたいモノがあって手段として覚えるのか
0246デフォルトの名無しさん
2010/01/13(水) 22:51:34プログラミング経験があってWebで読むのが苦じゃないなら
@ITのC#入門とかわりと良いと思う。無料だし。
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
0247デフォルトの名無しさん
2010/01/13(水) 22:52:050248デフォルトの名無しさん
2010/01/13(水) 22:53:050249デフォルトの名無しさん
2010/01/13(水) 22:59:120250デフォルトの名無しさん
2010/01/13(水) 23:13:24そういえば、プログラミング言語に死語という概念はあるのかな…
(スレ違いすまん)
0251デフォルトの名無しさん
2010/01/13(水) 23:20:160252デフォルトの名無しさん
2010/01/13(水) 23:27:130253デフォルトの名無しさん
2010/01/13(水) 23:58:50近くの本屋に置かないかな
0254デフォルトの名無しさん
2010/01/14(木) 00:30:36たださすがに今更感がただよう感じも。1.0時代の話だし。
0255デフォルトの名無しさん
2010/01/14(木) 00:37:100256デフォルトの名無しさん
2010/01/14(木) 00:49:320257デフォルトの名無しさん
2010/01/14(木) 01:08:45MSIL レベルでいうと、専用命令持ってる。
JIT レベルでいうと、参照型は全部コード共有。
要するに、GenericType<object> と同じコードになる。
キャストが不要な分効率がいい。
値型の場合はそれぞれ専用コードが作られるらしい。
0258デフォルトの名無しさん
2010/01/14(木) 06:59:11大見出し1
小見出し1-1
小見出し1-2
大見出し2
小見出し2-1
小見出し2-2
・・・・
小見出し2-9
大見出し、小見出しともに最大項目数は可変です
できれば小見出しに関連した文字列などを管理できるともっとうれしいです
0259デフォルトの名無しさん
2010/01/14(木) 07:24:57XML+DOM
0260デフォルトの名無しさん
2010/01/14(木) 07:55:050261デフォルトの名無しさん
2010/01/14(木) 09:41:20DOMやXMLは汎用的だけど本当にそれだけのデータ保持するんだとしたら巨大すぎる。
0262デフォルトの名無しさん
2010/01/14(木) 09:58:55datatable
0263258
2010/01/14(木) 10:35:30内部的な管理だけならArrayListでやったほうがいいのでしょうか?
0264デフォルトの名無しさん
2010/01/14(木) 10:45:03どう使うかによるけどメソッド含めて自作でも大した手間にはならないと思う。
ただ、XMLだと構造拡張したりテキストに落しこんだり検索したりってのに
標準化された多彩な方法が使えるってメリットは大きいよね。
まあどのみち一番外側は自作のクラスでラップするんだろうし
どっちもためしてみるってのがいいんじゃない?
0265デフォルトの名無しさん
2010/01/14(木) 10:46:320266デフォルトの名無しさん
2010/01/14(木) 10:47:21いいんじゃね?
ArrayListは配列要素はobject型なんで、
それよListなどの型指定できるヤツのほうがプログラミングしやすい(インテリセンスでるから)
0267デフォルトの名無しさん
2010/01/14(木) 10:53:150268デフォルトの名無しさん
2010/01/14(木) 11:29:09あれはあくまで互換性のためだけに残ってる。
0269デフォルトの名無しさん
2010/01/14(木) 11:31:230270デフォルトの名無しさん
2010/01/14(木) 11:36:38内部で積極的に使用する必要って無い気がするんだけど
0271デフォルトの名無しさん
2010/01/14(木) 11:39:170272デフォルトの名無しさん
2010/01/14(木) 12:19:410273デフォルトの名無しさん
2010/01/14(木) 15:01:400274デフォルトの名無しさん
2010/01/14(木) 15:06:110275デフォルトの名無しさん
2010/01/14(木) 15:24:570276デフォルトの名無しさん
2010/01/14(木) 15:40:080277デフォルトの名無しさん
2010/01/14(木) 21:51:10Visual C++に比べればはるかにマシだけど。
インテリセンスをVB.netみたいに細かく調整できないのかな?
0278デフォルトの名無しさん
2010/01/14(木) 21:51:570279デフォルトの名無しさん
2010/01/14(木) 21:56:190280デフォルトの名無しさん
2010/01/14(木) 21:56:34???
なんか勘違いしてるんじゃないの
0281デフォルトの名無しさん
2010/01/14(木) 21:57:39有料のバージョンにすれば、エクリプスのようにリファクタリングの機能が増えますか?
0282デフォルトの名無しさん
2010/01/14(木) 22:07:280283デフォルトの名無しさん
2010/01/14(木) 22:10:32名前の変更とかメソッドシグネチャの変更とかインターフェイスの抽出とかは余裕でできる。
0284デフォルトの名無しさん
2010/01/14(木) 22:12:460285デフォルトの名無しさん
2010/01/14(木) 22:15:020286デフォルトの名無しさん
2010/01/14(木) 22:17:140287デフォルトの名無しさん
2010/01/14(木) 22:17:34リファクタリングできる
モバイル開発ができる
Office 開発ができる
統合された単体テストができる
などなど
0288デフォルトの名無しさん
2010/01/14(木) 22:24:50やっちまったときに戻せるからね
Blend 2の付録として手に入れたけど、合計15000円程度と安かったし
0289デフォルトの名無しさん
2010/01/14(木) 22:29:39C#はそれなり。VBは名前の変更くらい。
0290デフォルトの名無しさん
2010/01/14(木) 22:30:37どもです。
0291デフォルトの名無しさん
2010/01/14(木) 22:43:230292デフォルトの名無しさん
2010/01/14(木) 22:47:59そうなんだよな。
EEだとIDEからバージョン管理出来ないから結構さぼりがちになっちゃう。
0293デフォルトの名無しさん
2010/01/14(木) 23:19:52Formのマウスクリックイベントとかで特殊ボタンの検出ってできるの?
どうやればできる?
0294デフォルトの名無しさん
2010/01/14(木) 23:28:52MouseEventArgsだと5ボタンまでだもんなぁ。
.NETじゃ無理なんじゃない?
0295デフォルトの名無しさん
2010/01/14(木) 23:39:04どうせマウスのユーリティーでホットキーや特定のプログラムをショートカットで起動するのに割り当てたりするから、
純粋なマウス入力として使う事自体があまりないよ。
マウスホイールを回した時と、ホイールクリックに反応できれば十分。
0296デフォルトの名無しさん
2010/01/14(木) 23:45:16可能性があるとしたらDirectInput?
0297デフォルトの名無しさん
2010/01/14(木) 23:51:40そうなら余分なキーは、キーイベントで拾えるんじゃないのか。
0298デフォルトの名無しさん
2010/01/14(木) 23:54:37これをソートしたいのですが、どうすれば良いでしょうか?
ttp://dobon.net/vb/dotnet/control/lvitemsort.html
の下のほうにある部分を参考にしたのですが
case ComparerMode.Integer:
result = int.Parse(itemx.SubItems[_column].Text) -
int.Parse(itemy.SubItems[_column].Text);
break;
でエラーが出ます。
0299デフォルトの名無しさん
2010/01/14(木) 23:57:53取り敢えずなんでdoubleが入ってるのにintでParseしてるんだ?
0300デフォルトの名無しさん
2010/01/15(金) 00:01:170301デフォルトの名無しさん
2010/01/15(金) 00:02:49ソートしたいんだったらArray.Sort使ったら?
0302デフォルトの名無しさん
2010/01/15(金) 00:03:49とかあるけど
ディスプレイのフォーム以外の場所でもクリックしたら〜とかってUse32.dll使用なしでできる?
0303デフォルトの名無しさん
2010/01/15(金) 00:04:39入力文字列の形式が正しくありません
ってエラーでで当然なんですが、とりあえず
Doubleで比較したい場合はどういう記述をすればよいでしょうか?
0304デフォルトの名無しさん
2010/01/15(金) 00:06:270305デフォルトの名無しさん
2010/01/15(金) 00:06:29ListViewのソートなんだから迂遠だろそれ
>>302
無関係なところのクリックとなるとマネージじゃ無理だな
WH_MOUSE_LLとかRawInputとかDirectInput使う必要がある
0306デフォルトの名無しさん
2010/01/15(金) 00:08:46例えば1_1.csv 1_2.csv … n_n.csv内のデータを読み込み、それぞれ配列に収めたいとき、
配列名をarray1_1 array1_2 …といったふうに付けていきたい。という要望です
0307デフォルトの名無しさん
2010/01/15(金) 00:11:29double d = double.Parse("100.1");
0308デフォルトの名無しさん
2010/01/15(金) 00:11:58その動的につけた変数名の変数、
いったいどうやって使うおつもり?w
0309デフォルトの名無しさん
2010/01/15(金) 00:14:34配列に配列を入れていけばいいんだよ
0310デフォルトの名無しさん
2010/01/15(金) 00:15:470311デフォルトの名無しさん
2010/01/15(金) 00:16:20そうか!…
>>309
なるほど、そうします。
0312デフォルトの名無しさん
2010/01/15(金) 00:17:46そんなことする必要全く無いじゃないか。
ファイル名と付属データをペアリングしたstructを用意して、DirectoryかListに放りこめば十分。
0313デフォルトの名無しさん
2010/01/15(金) 00:18:07ttp://dobon.net/vb/dotnet/control/lvitemsort.html
を見てもらったらわかると思うんですが
resultがint型なんで最終的にどうすればよいか
わからないんです・・・。
0314デフォルトの名無しさん
2010/01/15(金) 00:19:55なんでやねん
if double.parse(x) > double.parse(y) {
result 1;
} else if () {
resule -1;
}
とかしていけばええやん
0315デフォルトの名無しさん
2010/01/15(金) 00:23:02>ListViewのListViewItemSorterプロパティに、並べ方を定義したIComparerインターフェイスを実装したクラスのインスタンスを設定します。
なお、IComparerによる並び替えについては、「コレクション(または配列)内の要素を方法を指定して並び替える(または検索する)」でも説明しています。
って書いてるじゃねーか。
0316デフォルトの名無しさん
2010/01/15(金) 00:29:41初心者なんだからお前らが想像も付かない所で躓いてるもんなんだよ
マウスを動かすと机から落ちてしまいます
みたいな
0317デフォルトの名無しさん
2010/01/15(金) 00:36:100318デフォルトの名無しさん
2010/01/15(金) 01:15:410319デフォルトの名無しさん
2010/01/15(金) 01:17:15そういう考え方はハズレだったのだろうな
0320デフォルトの名無しさん
2010/01/15(金) 02:11:03DLLはアプリケーションのプラグインで、プラグインは本体から登録された各dllに対し、
グローバル関数が呼ばれるような仕様になっているのですが、
(例えばplugin.dllのInit()を呼び出す、といったような形になっている)
C#はグローバル関数をサポートしていないため、どのように受ければよいのかが分かりません。
C#のみでこのような呼び出しに対応する方法はあるでしょうか。それともラッパーをC++等の他の言語で書いて、
経由するしかないでしょうか。
0321デフォルトの名無しさん
2010/01/15(金) 02:16:59C++/CLIでも使った方が楽じゃねえかと思う
0322デフォルトの名無しさん
2010/01/15(金) 02:17:51リフレクションで呼び出すか、プラグインinterfaceのDLLを準備する。
0323デフォルトの名無しさん
2010/01/15(金) 02:19:41なら>>322はなしで。
0324デフォルトの名無しさん
2010/01/15(金) 02:24:00注意しておくとグローバル関数にするだけじゃ駄目な
エクスポートしないと
0325デフォルトの名無しさん
2010/01/15(金) 02:27:46ありがとうございます。C#の勉強も兼ねているので、ちょっと泥臭いことも含めて色々試して見ます。
>>322-333
リフレクション云々が分からずぐぐってみてましたが、DLL側で属性の定義をしておくと
C#のDLLを呼び出す場合にアセンブリ情報を使って条件分岐等出来るということなのでしょうか。
また別で調べてみます。どうもありがとうございました。
0326デフォルトの名無しさん
2010/01/15(金) 02:32:490327デフォルトの名無しさん
2010/01/15(金) 03:04:54プログラム全体としてうまく管理する方法はないでしょうか?
クリックイベントはコンテナ単位で共通にした上で
ボタンなどを動的に作る際の名前(Name)に
記号+識別番号A+識別番号Bを文字列化しています。
ただこの方式だとクリックイベントを処理する際にNameから
元の番号を切り出して・・とあまりスマートではないので
よろしくお願いします。
0328デフォルトの名無しさん
2010/01/15(金) 03:08:12うまく管理したいって何を
ボタンごとに情報を持たせたいとかそれだけならButton.Tagに何か入れとけ
0329デフォルトの名無しさん
2010/01/15(金) 03:19:08名前から特定の文字列を抜き出して識別する現状の方法以上にいい方法があるか
…ってこと?
0330デフォルトの名無しさん
2010/01/15(金) 03:19:17ちょっとひねればプラグインのサポートはそんなに難しくないよ。
まず、プラグインの雛形となるinterfaceやenumを定義した基本となる情報を入れたDLL(A)を作成する。
それを元にプラグインのDLL(B)を作成する。
アプリ本体は(A)に参照設定を持っておいて、(B)をリフレクションで読み込む。
(B)のコードはinterface越しに扱えばいい。
0331デフォルトの名無しさん
2010/01/15(金) 03:25:43オブジェクト指向的にはあってるんじゃないの
「コード書くのがめんどくせぇ」っていうなら今の方法がいちばんだからそのままにしとけ
0332デフォルトの名無しさん
2010/01/15(金) 03:27:190333デフォルトの名無しさん
2010/01/15(金) 03:29:23>Button.Tagに何か入れとけ
>>329
はい
>>331
つまりボタンなりを継承したクラス作ってそこに・・・ということですか
0334デフォルトの名無しさん
2010/01/15(金) 03:30:19>>328
>Button.Tagに何か入れとけ
確かにこれもいいですね
0335デフォルトの名無しさん
2010/01/15(金) 04:20:50↑で紹介されているPetshop3.0についてなんですが
記事ではコードを読むことを勧めていたので
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=E2930625-3C7A-49DC-8655-A8205813D6DB&displaylang=en
記事中の↑のページから、サイト内をいろいろ探してみたのですが
ソースコードの所在がわかりません。
どこを見落としているのか、自分ではとうとう発見できずにいます。
どなたかわかる方いらっしゃいましたらご教授願えないでしょうか。よろしくお願いします。
0336デフォルトの名無しさん
2010/01/15(金) 04:48:49それインストールすりゃはいってる
0337デフォルトの名無しさん
2010/01/15(金) 07:15:58ILをいじるという方法はあるけどな。
0338デフォルトの名無しさん
2010/01/15(金) 07:29:59きっちり張り付くわけじゃないんですね
たぶんlistboxのアイテムの高さの関係で制御してるんでしょうけど・・
0339デフォルトの名無しさん
2010/01/15(金) 10:02:47ildasmで逆コンパイルしてILを直接編集しろとか
MS公式のドキュメントに普通に書いてあって目を疑った
0340デフォルトの名無しさん
2010/01/15(金) 11:48:36クリックのたびに開いたり閉じたりしたいのですが現在どちら
かという情報を取得する方法はありますか?
0341340
2010/01/15(金) 11:50:55同じくtreeViewのFullRowSelect = trueの際に幅全体をクリック判定が
おきるようにする方法はありますか?
0342デフォルトの名無しさん
2010/01/15(金) 12:42:12ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.treenode_members.aspx
0343デフォルトの名無しさん
2010/01/15(金) 15:20:44treeViewの.SelectedNode.CollapseとSelectedNode.Expandで
クリックのたびに開いたり閉じたりしたいのですが現在どちら
かという情報を取得する方法はありますか?
0344デフォルトの名無しさん
2010/01/15(金) 15:22:58ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.treenode_members.aspx
メンバ一覧くらい見ろよ
見る気ないならスレから出てけ
0345340
2010/01/15(金) 15:27:09>>342
ありがとうございます。
>>344
それは私じゃないです
プログラム板ってIDないから困るw
>>343
Toggleっていう切り替え用があるのを知らなかったので
そういうプロパティなどがあると思っての質問なのでその辺の質問は忘れてください。
0346デフォルトの名無しさん
2010/01/15(金) 15:29:440347デフォルトの名無しさん
2010/01/15(金) 15:42:320348デフォルトの名無しさん
2010/01/15(金) 16:16:05ここはお前のスレじゃないっつーの
0349デフォルトの名無しさん
2010/01/15(金) 16:41:200350デフォルトの名無しさん
2010/01/15(金) 16:45:390351デフォルトの名無しさん
2010/01/15(金) 16:48:51ないでしょうか?
0352●
2010/01/15(金) 16:58:42俺が立てたスレだから俺のスレということで一つ。
もう解決してるし、>>345は344が偽者だって言ってるし、目くじら立てる必要性ないじゃない。
0353デフォルトの名無しさん
2010/01/15(金) 17:02:04C#人口が増えたのかな?
0354デフォルトの名無しさん
2010/01/15(金) 17:03:430355デフォルトの名無しさん
2010/01/15(金) 17:07:02C# (11838 プロジェクト)
C++ (37428 プロジェクト)
Java (46958 プロジェクト)
C#,追いついてきました
0356デフォルトの名無しさん
2010/01/15(金) 17:10:17どうやったのかできれば教えて
0357デフォルトの名無しさん
2010/01/15(金) 17:11:270358デフォルトの名無しさん
2010/01/15(金) 17:20:04ここを見ました。
http://fine.ap.teacup.com/hepo/28.html
0359デフォルトの名無しさん
2010/01/15(金) 17:22:30Visual C#てに入れたら
Ruby(笑)とかPHP(笑)とかあまりにもゴミすぎて洋梨だわ。
0360デフォルトの名無しさん
2010/01/15(金) 17:45:00ありがとうございます。
そういえばコードを書いてるとどうしてもformにあれこれ増えてしまいますが
どう対処してますか?
クラス分けとか頑張ってますがformに貼り付けたイベントハンドラとかごっそり増えるし
0361デフォルトの名無しさん
2010/01/15(金) 17:46:26>どう対処してますか?
>クラス分けとか頑張ってますがformに貼り付けたイベントハンドラとかごっそり増えるし
あ、この部分はスレのみなさんにという意味です
0362デフォルトの名無しさん
2010/01/15(金) 18:04:07中にコードだらだらと書いてないならおkでしょ
0363デフォルトの名無しさん
2010/01/15(金) 18:13:160364デフォルトの名無しさん
2010/01/15(金) 18:15:500365デフォルトの名無しさん
2010/01/15(金) 19:08:13後はコントロールの数を出来るだけ減らす(無関係な機能の共用は避けるが)ことか
0366デフォルトの名無しさん
2010/01/15(金) 19:08:540367デフォルトの名無しさん
2010/01/15(金) 19:21:39C#はそういうバイブルみたいな、これだけは絶対もっとけみたいな本ないの?
0368デフォルトの名無しさん
2010/01/15(金) 19:24:33というかいらないでしょ
不便だな〜と思ったらAPIたたけばいいんだし
それこそVB6のころのAPI使うイメージとさほどかわらないし
ネットで十分、この辺のスレもあるし
0369デフォルトの名無しさん
2010/01/15(金) 19:24:45昔と違って言語仕様なんかは普通にネットで読めるからな。
もっと普遍的な設計方法とかそっちの方の必読本の方が多いんじゃない?
0370デフォルトの名無しさん
2010/01/15(金) 19:25:410371デフォルトの名無しさん
2010/01/15(金) 19:31:390372デフォルトの名無しさん
2010/01/15(金) 19:37:490373デフォルトの名無しさん
2010/01/15(金) 19:40:580374デフォルトの名無しさん
2010/01/15(金) 20:04:07(.NET Framework3.5 SP1の環境で作成)を作成しています。
Click Once によるWeb上からダウンロードしてもらう予定です。
必須コンポーネントは、
・Windowsインストーラー3.1
・.NET Framework Client Profile
・Visual Basic PowerPack 1.2
の3点です。
事前に、客先で上記コンポーネントをMicrosoft社からダウンロードしてもらうことができたらと思っています。
Microsoft社の頁を見たところ、下記のサイトがありました。
�@ Microsoft .NET Framework 3.5
http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&displaylang=ja
�AMicrosoft .NET Framework 3.5 Service Pack 1
http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja
�@、�Aのサイトを見たのですが、
(1).NET3.5SP1については�@または�Aの両方のサイトからダウンロードする必要があるのか。
また、�@をインストールする際に、�@の中にある日本語パックもインストールする必要し、さらに�Aをインストールする必要があるのか。
それとも、�@、�Aでは不十分で、他に適したサイトがあるのか。
(2).NET3.5SP1のみ先に入れてもらうだけだと、
Windoesインストーラーと、Visual Basic Power Pack1.2をサイトからダウンロードする必要があるが、
この2点をダウンロードする時間はどれくらいか。
で悩んでいます。
どう対処すればよろしいでしょうか。Microsoft社の各サイトの意味合いが理解できていません。よろしくお願いいたします。
0375デフォルトの名無しさん
2010/01/15(金) 20:10:590376デフォルトの名無しさん
2010/01/15(金) 20:18:540377デフォルトの名無しさん
2010/01/15(金) 20:33:58ネットワークインストールの場合、どっち使っても最新になってしまったような記憶が。
0378デフォルトの名無しさん
2010/01/15(金) 20:51:02VirtualPCに素のWindowsを入れて試せばよろし。
MSのサイトからのダウンロード時間なんて回線によっても
時間帯によっても全然変わってくるんだから議論する意味なんて殆どない。
わざわざ人に質問するより自分で実験した方が早いような内容だな。
0379デフォルトの名無しさん
2010/01/15(金) 21:00:07うるさい!
0380デフォルトの名無しさん
2010/01/15(金) 21:09:170381デフォルトの名無しさん
2010/01/15(金) 21:11:480382デフォルトの名無しさん
2010/01/15(金) 21:20:450383デフォルトの名無しさん
2010/01/15(金) 21:22:270384デフォルトの名無しさん
2010/01/15(金) 21:25:590385デフォルトの名無しさん
2010/01/15(金) 21:28:58なんという2割8割の法則
0386デフォルトの名無しさん
2010/01/15(金) 22:07:32http://www.microsoft.com/downloads/details.aspx?FamilyID=c109e400-784c-4904-a719-0c457df65ee9&DisplayLang=ja
0387デフォルトの名無しさん
2010/01/15(金) 23:46:13事前に英語版をインストールしなきゃいけないかもよ。
0388デフォルトの名無しさん
2010/01/16(土) 00:26:470389デフォルトの名無しさん
2010/01/16(土) 00:36:510390デフォルトの名無しさん
2010/01/16(土) 00:49:53遅ればせながらありがとうございました。
そういうものだったとは素で知りませんでした…。
0391デフォルトの名無しさん
2010/01/16(土) 00:53:54システムエラー(Catch時)の情報をどのように表示させてますか?
エラーコードを振って、メッセージボックスに表示させたりしてる?
0392デフォルトの名無しさん
2010/01/16(土) 01:06:04詳細ボタンを押すとエラーコードと補助情報が出るようにしてる
回復方法っていってもアプリ再起動してくださいとかそんなんぐらいになっちゃうけど・・・
0393デフォルトの名無しさん
2010/01/16(土) 02:45:46http://msdn.microsoft.com/ja-jp/library/aa511267.aspx
0394デフォルトの名無しさん
2010/01/16(土) 06:49:26全然慣れないんだけど
0395デフォルトの名無しさん
2010/01/16(土) 08:10:530396デフォルトの名無しさん
2010/01/16(土) 08:22:57var n = new { name = "abc"};
上のvarと下のvarは違うvar
0397デフォルトの名無しさん
2010/01/16(土) 08:35:340398デフォルトの名無しさん
2010/01/16(土) 09:05:50System.Environment.SpecialFolder
とくるのに
System.IO.Directory
とかさ・・・
0399デフォルトの名無しさん
2010/01/16(土) 09:24:38var の役割は同じだろ。
0400デフォルトの名無しさん
2010/01/16(土) 09:33:54Windowsの世界では フォルダ ⊃ ディレクトリ なので
0401デフォルトの名無しさん
2010/01/16(土) 09:44:04なるほど
Cになれちゃってるとふとあれfreeや後始末は・・・とか
エラーチェック・・・とか
ゲシュタルト崩壊っていうんでしたっけ?
あまりにも楽できるので時々変な感覚になる
0402デフォルトの名無しさん
2010/01/16(土) 11:38:49下位で発生したエラーを一々上位に上げなくても勝手にあがってくのはほんと楽でいいよね
0403デフォルトの名無しさん
2010/01/16(土) 12:53:250404デフォルトの名無しさん
2010/01/16(土) 12:57:420405デフォルトの名無しさん
2010/01/16(土) 13:00:47さすがに、今は駄目なソースのバイブルですよ
0406デフォルトの名無しさん
2010/01/16(土) 13:01:07俺もいろいろ忘却したいです
と与太話は置いといて
ArrayListに自作classを登録してるんですがキャストを省略できるような
方法ってありますか?
0407デフォルトの名無しさん
2010/01/16(土) 13:04:57List<MyClass>を使う
0408デフォルトの名無しさん
2010/01/16(土) 13:09:17> 方法ってありますか?
2.0以降ならList<>使え。
1.1以前ならCollectionBase継承して自分でカスタムコレクション作れ。
0409デフォルトの名無しさん
2010/01/16(土) 13:10:53作ってあげなさい
( ・ω・)y─┛〜〜
0410デフォルトの名無しさん
2010/01/16(土) 13:11:310411デフォルトの名無しさん
2010/01/16(土) 13:12:510412デフォルトの名無しさん
2010/01/16(土) 13:14:23たぶん2.0以降だと思います。
(VC#2008EEを最近入れて.netのバージョンまで意識してなかった
LIST<>ですか
ArrayListと比べて速度はどうなんでしょ
0413デフォルトの名無しさん
2010/01/16(土) 13:42:590414デフォルトの名無しさん
2010/01/16(土) 13:46:20気になるなら1000個ぐらい何か読み書きするサンプルでも作って時間測ってみるといい。
0415デフォルトの名無しさん
2010/01/16(土) 14:02:23もし多少遅くてもキャストを書かなくていいのが精神的にいいです
0416デフォルトの名無しさん
2010/01/16(土) 14:11:51なんか誤解してる予感....
0417デフォルトの名無しさん
2010/01/16(土) 14:12:22プログラムなんか作ってんのか?10000程度リストに
ぶち込んでも速度なんて体感じゃ変わらんだろ。
0418デフォルトの名無しさん
2010/01/16(土) 14:13:19VBだけじゃなくC#にも対応してくれないかなぁ
0419デフォルトの名無しさん
2010/01/16(土) 14:19:510420デフォルトの名無しさん
2010/01/16(土) 14:29:20ことがあるのですが、よろしくお願いします!
コンポーネントやユーザーコントロールなどを作成するプロジェクトで、
それを複数作成してアプリケーションで使う場合、各コンポーネントや
ユーザーコントロールが共通に使っている下位の要素として、
Windows.Forms とか そのほか自分で作成した共通用のクラスとかがある
場合、作成しようとしている複数のコンポーネントやコントロールは
できるだけ一つのプロジェクトにまとめてしまう方が出来上がった全体
でのメモリー使用量は節約されるでしょうか?
現在は各コンポーネントやコントロールがばらばらのプロジェクトで
別々に作成されていましたが、各プロジェクトは共通に使っている下位
のクラスが結構ありました。アドバイスをお願いします。
0421デフォルトの名無しさん
2010/01/16(土) 14:31:080422デフォルトの名無しさん
2010/01/16(土) 14:31:15そもそもその質問では開発環境の使用メモリを言ってるのか、
開発したプログラムの使用メモリを言ってるのかの区別がつかないんだが?
0423デフォルトの名無しさん
2010/01/16(土) 14:32:47依存関係を複雑にしすぎるとかえって扱いにくくなるので
しょうもないユーティリティはプロジェクト別にその場で書いたほうがいいよ
0424デフォルトの名無しさん
2010/01/16(土) 14:42:00指定された実行可能タスクの場所 "c:\WINDOWS\Microsoft.NET\Framework\v3.5\Csc.exe" が無効です。 (MSB6004)
というエラーが出ます。実際このフォルダに、「csc.exe」は見つかりませんでした。
.NetFramework2.0 のフォルダには、あります。
一体なぜ、入っていないのでしょうか。どのうような対応をすればよいのでしょうか。
これ以前にも、V2.0のフォルダにも入っていなかったことがあり、インストーラで修復を行ったところ、
csc.exeが現れたことがありました。今回も、v3.5に対して、修復を行いましたが、変化なく、存在しないままです。
0425デフォルトの名無しさん
2010/01/16(土) 14:42:440426デフォルトの名無しさん
2010/01/16(土) 14:48:59日本語....
0427デフォルトの名無しさん
2010/01/16(土) 14:50:41なんで素直にIDE使わないの?
0428デフォルトの名無しさん
2010/01/16(土) 14:55:070429デフォルトの名無しさん
2010/01/16(土) 14:58:57Client Profile入れてるとか
0430デフォルトの名無しさん
2010/01/16(土) 15:29:27たしかに
0431デフォルトの名無しさん
2010/01/16(土) 15:30:590432デフォルトの名無しさん
2010/01/16(土) 15:32:520433デフォルトの名無しさん
2010/01/16(土) 15:38:500434デフォルトの名無しさん
2010/01/16(土) 15:45:290435デフォルトの名無しさん
2010/01/16(土) 15:47:290436デフォルトの名無しさん
2010/01/16(土) 15:51:500437デフォルトの名無しさん
2010/01/16(土) 16:21:240438デフォルトの名無しさん
2010/01/16(土) 16:27:14標準外の開発環境を自分の意志で選んだなら、いちいち人に質問しないで全部自分で解決しろと。
0439デフォルトの名無しさん
2010/01/16(土) 16:35:19emacsはIDEじゃねーよ一緒にすんなタコ
使ったことないなら聞いたような口聞くなボケ
0440デフォルトの名無しさん
2010/01/16(土) 16:39:31そういうところがキモオタ。
0441デフォルトの名無しさん
2010/01/16(土) 16:46:350442デフォルトの名無しさん
2010/01/16(土) 16:55:14% cat > hoge.c
0443デフォルトの名無しさん
2010/01/16(土) 17:09:06C:\Program Files\Microsoft Visual Studio 9.0\VC#\Specifications\1041\CSharp Language Specification.doc
割とマジで
0444デフォルトの名無しさん
2010/01/16(土) 17:39:00C:\Program Files\Microsoft Visual Studio 9.0\VC#\
ここまであったが
VC#フォルダにCSharpProjectsとSnippetsとVCSPackages
しかなかった!
0445デフォルトの名無しさん
2010/01/16(土) 17:53:00VS2008 Pro SP1適用済み
0446デフォルトの名無しさん
2010/01/16(土) 18:03:438.0の方にはC#2.0のが日本語であった。
3.0のはこっち
http://download.microsoft.com/download/B/6/C/B6C2DA74-08F9-4B18-BB10-CF6DB1A5CFE2/csharp_30_specification.doc
0447デフォルトの名無しさん
2010/01/16(土) 18:17:22もういきなりコマンドラインでコンパイルしてアセンブリ説明が始まる。
さすがは公式!(褒め言葉)
0448デフォルトの名無しさん
2010/01/16(土) 18:20:570449デフォルトの名無しさん
2010/01/16(土) 18:55:32メモリ使用量はそりゃ細かく言えば全部一つの方が少なくて済む(事が多い)が
気にするやつがあほなレベル(巨大なアプリならまた話は別だが)。
0450デフォルトの名無しさん
2010/01/16(土) 18:57:380451デフォルトの名無しさん
2010/01/16(土) 19:00:050452デフォルトの名無しさん
2010/01/16(土) 19:05:12vt100(もしくは互換品)使えないときはスクリーンエディットできないし、
/usrがマウントできないときのために、最低限edは使えるようになって
おくのが、管理者としては必須。
0453デフォルトの名無しさん
2010/01/16(土) 19:07:35もいっか
0454デフォルトの名無しさん
2010/01/16(土) 19:26:45おじいちゃん、お口臭い( ・ω・)y─┛〜〜
0455デフォルトの名無しさん
2010/01/16(土) 19:46:130456デフォルトの名無しさん
2010/01/16(土) 19:55:30してたな。理由は最小限の影響でDLL入れ替えるためだと。
0457デフォルトの名無しさん
2010/01/16(土) 20:03:540458デフォルトの名無しさん
2010/01/16(土) 20:11:320459デフォルトの名無しさん
2010/01/16(土) 20:23:27使ってるところは見たことが無いけど
0460デフォルトの名無しさん
2010/01/16(土) 20:37:02リンクし直さないといけなかったような
0461デフォルトの名無しさん
2010/01/16(土) 20:45:03表示されるコンテキストメニューを変えたいのですが、
Win+Dで見えなくなったフォームの状態を取得することって出来るのでしょうか?
this.Visibleはtrue、this.WindowStateはWindowState.Normalで、
this.Locationを見ても普通に非表示前と同じ位置なんです。
0462デフォルトの名無しさん
2010/01/16(土) 21:28:160463デフォルトの名無しさん
2010/01/16(土) 21:49:210464デフォルトの名無しさん
2010/01/17(日) 00:47:35以下のコードが上手くいかない
どうしてでしょうか
class Test
{
public static void Main()
{
string str = "入ってない";
change(str);
Console.WriteLine(str);
}
static void change(string str)
{
str = "入った";
}
}
0465デフォルトの名無しさん
2010/01/17(日) 01:04:390466デフォルトの名無しさん
2010/01/17(日) 01:05:52change(str);
の時点では "入ってない"の参照先が渡されてるけど
str = "入った"とした時点で
change()内のstrの参照先が変更されて新たに作られた"入った"を参照するようにされるから
参照元の引数にしたstrの方には影響が無い
0467デフォルトの名無しさん
2010/01/17(日) 01:09:59参照情報を値渡ししてるんだからそういう挙動で当たり前。
0468デフォルトの名無しさん
2010/01/17(日) 01:10:40string だからとか関係なく、すべての参照型で同じ挙動になるよ。
0469デフォルトの名無しさん
2010/01/17(日) 01:11:43参照型に入ってる参照がコピーされてる
string str = "入ってない";
のstrと
change(string str)
のstrは同じ参照が入った参照型だが、同じ参照型ではない
参照型ゲシュタルト崩壊
0470デフォルトの名無しさん
2010/01/17(日) 01:13:26どうなってます?
0471デフォルトの名無しさん
2010/01/17(日) 01:14:270472デフォルトの名無しさん
2010/01/17(日) 01:18:100473デフォルトの名無しさん
2010/01/17(日) 01:22:08ちなみに参照型を参照渡ししたいなら以下のようにする
class Test
{
public static void Main()
{
string str = "入ってない";
change(ref str);
Console.WriteLine(str);
}
static void change(ref string str)
{
str = "入った";
}
}
0474デフォルトの名無しさん
2010/01/17(日) 01:24:48Listとか引数で渡しても元Listの要素の削除や追加とかできるぜ
0475デフォルトの名無しさん
2010/01/17(日) 01:27:22変わるな。
strのかわりにstructなのをいれようがclassをいれようが・・・
0476デフォルトの名無しさん
2010/01/17(日) 01:28:05↑
つまりこれがstringの新しいインスタンス生成になってるってことだよな
0477デフォルトの名無しさん
2010/01/17(日) 01:32:41Person p1=new Person();
Person p2=p1;
p2.name = "ビルゲイツ"
だとp1.nameも変わるけど
p2=new Person();
p2.name = "ビルゲイツ";
だったらかわらんしょ。
.nameとか入ってるから違う話になるけど。
0478デフォルトの名無しさん
2010/01/17(日) 01:33:260479デフォルトの名無しさん
2010/01/17(日) 01:35:170480デフォルトの名無しさん
2010/01/17(日) 01:38:58そんなの参照を渡してんだから当たり前だろ。
>str = "入った";
って、実際は
>str = new String("入った")
なんだよ。
だから>>464のコードをListで書き直すなら
>list = new List();
になる。
これで元リストの要素に追加削除できると思う?
思うんなら思ってても別にいいけど外で喋るなよ。
恥ずかしいから。
0481デフォルトの名無しさん
2010/01/17(日) 01:41:05もうちょっと落ち着いて、自分が書いたことを見直して。
0482デフォルトの名無しさん
2010/01/17(日) 01:42:06インスタンス生成ができるってことでいいのかな?
0483デフォルトの名無しさん
2010/01/17(日) 01:43:30変数は「箱」ですっていうイメージが強すぎるのかね。
int x=10;
xという名前の箱に10が入ってる!?みたいな?
0484464
2010/01/17(日) 01:44:32strの参照先を変えてるだけだよな、そりゃそうだ
ありがとう
0485デフォルトの名無しさん
2010/01/17(日) 01:47:45ちょっと違うな
string s = "あいうえお";
string t = "あいうえお";
this.Text = Object.ReferenceEquals(s, t).ToString();
通常の参照型だとふつうに考えたら
"あいうえお"はメモリのどっかに確保され
また別の場所に"あいうえお"が確保され(二つの場所に"あいうえお")
があるように見える。
しかしこれはひとつの領域を参照してるのでtrueになる。
0486デフォルトの名無しさん
2010/01/17(日) 01:49:48stringは参照型なのに比較の時は参照比較じゃなくて値比較になると思った
0487デフォルトの名無しさん
2010/01/17(日) 01:52:17>string は参照型ですが、等値演算子 (== および !=) は、string オブジェクトの参照ではなく、
>値を比較するように定義されます。値を比較することで、文字列が等しいかを直感的にテストできます。
ttp://msdn.microsoft.com/ja-jp/library/362314fe(VS.80).aspx
0488デフォルトの名無しさん
2010/01/17(日) 01:53:10string s="あいうえお";
string t="あいうえ";
string u="あいうえ"+"お";
これは参照もsとuはおなじ
だがu=t+"お"とやるとuは"あいうえお"という文字列だが参照は異なる
こんな風にややこしいから注意
string u="あいうえ"+"お";
string u=t+"お";//t="あいうえ"
この二つ違うので注意
0489デフォルトの名無しさん
2010/01/17(日) 01:54:540490デフォルトの名無しさん
2010/01/17(日) 01:57:00参照型は通常同じ文字列を比較しても参照するアドレスが違うので
falseになるのが使い勝手悪いからという理由でC#は値比較で設計されたはず
0492デフォルトの名無しさん
2010/01/17(日) 01:59:13string x = new string( new char [] {'a', 'b', 'c'} );
文字リテラルの代入はILレベルで専用命令がある。
考え方としては代入時にstringが生成されるというより、
あらかじめ生成済みのオブジェクトがはじめからそこにあると考えたほうが正しいと思う。
ldstr "abc"
0493デフォルトの名無しさん
2010/01/17(日) 02:02:53最近FC#始めたばかりなのでこうゆう話題は勉強になる。
よく悩むのは参照関係だしね。
0494デフォルトの名無しさん
2010/01/17(日) 08:17:35というシステムに関する情報を持ってるクラスがありますが
自作プログラムの共通情報を持たせたい場合はどのように記述すればいいのでしょうか?
0495デフォルトの名無しさん
2010/01/17(日) 08:50:280496デフォルトの名無しさん
2010/01/17(日) 09:03:50IDほしい・・・
0497デフォルトの名無しさん
2010/01/17(日) 09:37:440498デフォルトの名無しさん
2010/01/17(日) 09:46:36Singletonは?
0499デフォルトの名無しさん
2010/01/17(日) 10:02:120500デフォルトの名無しさん
2010/01/17(日) 10:08:040501デフォルトの名無しさん
2010/01/17(日) 10:11:060502デフォルトの名無しさん
2010/01/17(日) 10:42:220503デフォルトの名無しさん
2010/01/17(日) 11:20:02マイクロソフトのページは単なるデータ集で入門向けじゃないね。
0504デフォルトの名無しさん
2010/01/17(日) 11:29:28net Frame Work SDKっていうのとテキストエディタだけあればとりあえず始められるの?
0505デフォルトの名無しさん
2010/01/17(日) 11:31:530506デフォルトの名無しさん
2010/01/17(日) 11:32:33ClickOnceから、
.NET CLIENT PROFILE
をインストールしてもらい、併せてVisual Basic Power Pack 1.2
もインストールしてもらおうとしたら、
Visual Basic Power Pack 1.2は.NET2.0がなきゃだめです。
と言われてしまいました。
ClientProfileは、.NET2.0も含んでいるわけではないのですか?
うまくいかなくて困っています。助けてください。
0507デフォルトの名無しさん
2010/01/17(日) 11:36:07うん。ま、でも、無難にExpress使っとけ。
0508デフォルトの名無しさん
2010/01/17(日) 11:36:49(フルセットでは)含んでません。
0509デフォルトの名無しさん
2010/01/17(日) 11:47:35CilentProfileのコンパクト版インストール要件を満たさない場合は、
フルセットがインストールされることになり、
その3.5SP1フルセットにはVisual Basic Power Packsがないため、
結局、Visual Basic Power Packs を別途インストールする必要があるってことですか?
0510デフォルトの名無しさん
2010/01/17(日) 11:53:09入門っていわれてもなあ・・・
プログラム経験ある?
最新のVC#2008について書かれたサイトすくないからなあ
0511デフォルトの名無しさん
2010/01/17(日) 12:03:02http://msdn.microsoft.com/ja-jp/library/360kwx3z.aspx
↓VC#2008EEの使い方ビデオ(英語)
http://go.microsoft.com/fwlink/?LinkId=99324
0512デフォルトの名無しさん
2010/01/17(日) 12:05:27そのとおりだね。
0513デフォルトの名無しさん
2010/01/17(日) 12:14:490514デフォルトの名無しさん
2010/01/17(日) 13:47:51MessageBox.Show("こんにちはこんにちは");
}
oh!
0515デフォルトの名無しさん
2010/01/17(日) 13:49:13・VB PowerPacks1.2 が必要
・インストールするアプリケーションは.net3.5sp1で作成
のとき、どうすれば最も効率よく、web上からインストールしてもらえるでしょう…。
0516デフォルトの名無しさん
2010/01/17(日) 13:52:55つーか、仕事に関するサポートなんてここでするものじゃないです。
金払ってマイクロソフトに聞け
0517デフォルトの名無しさん
2010/01/17(日) 13:56:38携帯動画変換君のようなプログラムを作っています
子プロセスのウインドウを表示したくないので、子プロセスのウインドウを非表示にし
標準出力と標準エラーをProcess.BeginOutputReadLine他を使って横取りして起動しています。
起動したい子プロセスに、さらに子プロセスを起動するものがあり
この孫プロセスに対しても同様の処理をさせたいのですが可能なのでしょうか?
Processクラスには孫プロセスの起動を監視できそうなものがありませんし
親子関係を調べられそうなものもありません。
ちなみに問題の子プロセスは具体的にはTSConverterで
ソースがあるので無理ならば子プロセスの起動部分を書き直そうと思っています
0518デフォルトの名無しさん
2010/01/17(日) 13:59:28子プロセスで動かしてるのは自分で書いたプログラムなら
子プロセスから子プロセスを起動した時にイベント起こして親プロセスにわたせばいいんじゃねーの?
可能なのでしょうか?っていうなら試してみればいいじゃない
0519デフォルトの名無しさん
2010/01/17(日) 14:07:130520デフォルトの名無しさん
2010/01/17(日) 14:09:17コンソール系のアプリなら標準でそうなってると思うが、
Windowアプリは知らないな。
0521デフォルトの名無しさん
2010/01/17(日) 14:11:520522デフォルトの名無しさん
2010/01/17(日) 14:15:410523デフォルトの名無しさん
2010/01/17(日) 14:45:470524デフォルトの名無しさん
2010/01/17(日) 14:50:410525デフォルトの名無しさん
2010/01/17(日) 14:53:420526デフォルトの名無しさん
2010/01/17(日) 15:00:540527デフォルトの名無しさん
2010/01/17(日) 15:02:580528デフォルトの名無しさん
2010/01/17(日) 15:09:53終了させるにはどうすれば良いでしょか?
※現在は、IEのプロセスを無理Killする事によりIEを無理やり終了させていますが、
Explorerが何か変な挙動をし始めるので
ブラウザの「 × 」ボタンをクリックした時と同じく正常に終了させたいと思います。
SHDocVw.InternetExplorer
かなりショボイ質問かもしれませんが宜しくお願いします。
0529デフォルトの名無しさん
2010/01/17(日) 15:12:550530デフォルトの名無しさん
2010/01/17(日) 16:07:300531デフォルトの名無しさん
2010/01/17(日) 16:12:270532デフォルトの名無しさん
2010/01/17(日) 16:57:41static void Main(){
int x; //ここにある空白
for(x=0;;x++){
Func(); //ここにもっと空白がある←これなに?
}
}
0533デフォルトの名無しさん
2010/01/17(日) 16:58:58インデント?
0534デフォルトの名無しさん
2010/01/17(日) 17:03:360535デフォルトの名無しさん
2010/01/17(日) 17:09:360536デフォルトの名無しさん
2010/01/17(日) 17:22:050537デフォルトの名無しさん
2010/01/17(日) 17:41:510538デフォルトの名無しさん
2010/01/17(日) 17:42:240539デフォルトの名無しさん
2010/01/17(日) 17:55:130540デフォルトの名無しさん
2010/01/17(日) 19:27:370541デフォルトの名無しさん
2010/01/17(日) 19:40:05サンクス!!
0542デフォルトの名無しさん
2010/01/17(日) 19:56:52よろしこ
0543デフォルトの名無しさん
2010/01/17(日) 20:13:510544デフォルトの名無しさん
2010/01/17(日) 20:21:140545デフォルトの名無しさん
2010/01/17(日) 21:06:420546デフォルトの名無しさん
2010/01/17(日) 21:07:44461へのレスですか?
環境はWinXPでC#3.5です。
仮想とかそのたぐいのモノは入れていません。
0547デフォルトの名無しさん
2010/01/17(日) 21:14:29どこかで見かけたけどユーザーエージェント関連はレジストリいじらないと駄目みたい
0548デフォルトの名無しさん
2010/01/17(日) 21:16:01この辺かな?
0549デフォルトの名無しさん
2010/01/17(日) 21:24:56のmatchArrayに対して↓のようにジェネリックメソッドを使う時
Array.ForEach(matchArray,
delegate(Match matchStr)
{
......
});
この場合に出る、型引数を明示的に指定しろというエラーに対して
どのように書き換えたらよいのでしょうか?よろしくお願いします。
0550デフォルトの名無しさん
2010/01/17(日) 21:33:10インテリセンスに頼り切ってて自分で作ったクラスの構造を忘れる
0551デフォルトの名無しさん
2010/01/17(日) 21:35:080552デフォルトの名無しさん
2010/01/17(日) 21:36:490553デフォルトの名無しさん
2010/01/17(日) 21:37:18型引数を明示的に指定したらいいんじゃね?
0554デフォルトの名無しさん
2010/01/17(日) 22:11:08そもそもArray.ForEachの第一引数はT[]だから、配列じゃないMatchCollectionは渡せないけど
0555デフォルトの名無しさん
2010/01/17(日) 22:11:16引数の型があってないから型引数を指定しても無駄
0556549
2010/01/17(日) 22:31:120557デフォルトの名無しさん
2010/01/18(月) 02:31:18指摘するのだけは得意なのだよ
0558デフォルトの名無しさん
2010/01/18(月) 02:35:060559デフォルトの名無しさん
2010/01/18(月) 03:01:330560デフォルトの名無しさん
2010/01/18(月) 03:02:570561デフォルトの名無しさん
2010/01/18(月) 03:06:010562デフォルトの名無しさん
2010/01/18(月) 03:07:52何が6秒?
0563デフォルトの名無しさん
2010/01/18(月) 03:08:210564デフォルトの名無しさん
2010/01/18(月) 03:21:340565デフォルトの名無しさん
2010/01/18(月) 07:04:55Windowsフォームアプリケーションを作成しました。
知人にはClick Onceよりダウンロードしてもらいました。
インストールサイト上からまとめてインストールしてもらったコンポーネントは、
・Windowsインストーラー3.1
・.NET Framework 3.5 SP1
・Visual Basic Power Packs 1.2
の3点です。
友人のPCはWindowsXPのSP2で、.NET Frameworkは入っていませんでした。
そして、インストールをしてもらったのですが、
アンインストールができないんです。
コントロールパネルで削除のボタンを押しても、1秒ほどウェイトがかかりますが何も起きません。
このような場合、原因として何が考えられるでしょうか。
また、削除する方法としてどのような手段がありますでしょうか。
よろしくお願いいたします。
0566デフォルトの名無しさん
2010/01/18(月) 07:15:540567デフォルトの名無しさん
2010/01/18(月) 07:28:590568デフォルトの名無しさん
2010/01/18(月) 08:09:13>>374
いい加減にしろいw
0569デフォルトの名無しさん
2010/01/18(月) 08:22:18良かれと思ったのにたまたま変なことになって、
しかも友達はそれほど知識がないので対処できない->壊した不良品持ってきた
扱いになって大変だったことがあったなあ(遠い目
ソフトなんかは適当なダミーサイト作って遠まわしに
xxというツールがあるよ〜
と責任をネット経由でうやむやにすればよかったのにね
WebBrowserで開いたページの中身はDocumentで見ればいいんだろうけど
中の細かい要素はどうやれば調べられるんだろ
0570デフォルトの名無しさん
2010/01/18(月) 09:18:56HtmlElementでいろいろと
0571デフォルトの名無しさん
2010/01/18(月) 10:51:44おもしろい
0572デフォルトの名無しさん
2010/01/18(月) 12:58:16だとしたら、それを入れるためには、
あらためて、.NETFramework3.5 をインストールする必要があるのでしょうか。
教えてください。
0573デフォルトの名無しさん
2010/01/18(月) 13:12:48それはただ.netのプログラムを動かすためのものだから入っていない。
初心者はVisual C# expressをインストールすれば他は何も必要ない。
0574デフォルトの名無しさん
2010/01/18(月) 13:40:03別ウインドウにしたりできる物がありますがあれを実現するのは面倒なんでしょうか?
0575デフォルトの名無しさん
2010/01/18(月) 13:47:43いま、ある処理のなかで例外が発生したら、それをキャッチして、且つ
それがどこで起きたかもしりたいので、こんな風に書いてます。
try{
処理1
}
catch(Exception ex){
MessageBox.Show(this, "例外1:" + ex.ToString(), "エラー");
return;
}
try{
処理2
}
catch(Exception ex){
処理1の片付け(Closeとか。。)
MessageBox.Show(this, "例外2:" + ex.ToString(), "エラー");
return;
}
この処理を全体を関数にして、別の処理から呼び出すように改造するとします。
すると、呼び出し側でも
try{ foo();} catch(Exception ex) { MessageBox.Show(this,"例外3:"...}って書くのが、ポリシー的に正しいかな?って思ってます。
でもそうするとメッセージボックスが一杯出てウザイじゃないですか?
そこでド単純に、例外を補足する度に、「どこそこのコードでこんな例外を補足したよ」って情報をくっつけながら
再送していって、一番上でメッセージボックスを出したいとか思うわけですよ。
そこで疑問なのですが、
・そもそもこういう例外の雪だるま式の再送ってトレンドとしてどうなの?
・やるとしたら実際どうやって情報をくっつけて再送するの??(サンプルコードくれくれで申し訳ないのですが・・・)
です。よろしくお願いします。m(_ _)m
0576デフォルトの名無しさん
2010/01/18(月) 13:58:37何もせんでも記録されてるから全部のメソッドでキャッチなんてしなくていいよ。
雪だるま式のを使う場合は・・・
内部で発生する例外の粒度が細かすぎる場合によく使われる。
たとえば、複数のWebサイトにアクセスして何か処理する大きめのクラスがあったとして、
HTTPエラー503発生なんて例外をそのまんま上に揚げられても意味不明だから
もうちょっと意味のわかりやすい自作の例外でラップしたりする。
例) ログイン失敗例外 - 理由として内部にHTTPエラーの例外を持っておくとか。
ちなみにラップの仕方は Exception クラスのコンストラクタに例外を引数に取るのがあるから
それ使って new すりゃいい。
Javaだと一般的だけどC#だと今一なやりかたらしいけどね。
0577デフォルトの名無しさん
2010/01/18(月) 14:00:23簡単に実現したいなら、メソッドの最後に
throw new Exception(エラーメッセージの結合文)
みたいなのやればいいんじゃ?
0578デフォルトの名無しさん
2010/01/18(月) 14:00:37通常は受け取った例外は再送しない。
アプリの通常の動作で発送しうるエラーなら通常のエラーとしての対処を行う。
致命的な不具合ならそのままアプリを終了させる。
基本的には例外処理中にMessageBox.Showのようなハードコーディングなコードは書かない。開発中ならいいけど。
0579デフォルトの名無しさん
2010/01/18(月) 14:03:50調べてみたところDataGridViewが近いようなのですが
もしもっと良いものがあれば教えて下さい。
0580デフォルトの名無しさん
2010/01/18(月) 14:05:29あとメッセージボックスがいっぱい出るの意味がわからん。
そういうソース書いてるからじゃん。
あと、情報くっつけるもなにも例外オブジェクトをToString()すれば
どこのクラスの何行目で何が起きたか全部表示されるけど?
0581デフォルトの名無しさん
2010/01/18(月) 14:11:502次元にテキストを並べたいだけなら調べた通り、DataGridView。
ちなみに、マス目の一つ一つをセルっていうのだから
セルに近しいのはテキストボックスであり
シートに近いUIは?ってきくべきかなぁ。
0582575
2010/01/18(月) 14:16:56なるほど、ディフォルトで雪だるまになってくれている訳ですね。。
でも、なんかの用途では必要そうになるかもしれないので、
再送の方法を教えていただいたみなさんに感謝します。
ありがとうございました。
0583デフォルトの名無しさん
2010/01/18(月) 14:19:43ありがとうございます。
確かにおっしゃるとおり、探していたのはシートにあたるものですね。次から気をつけます。
0584デフォルトの名無しさん
2010/01/18(月) 14:22:14DataGridViewはどうか知らんが、昔やってたのは同じようなグリッドコントロールのセルの座標に
あわせてテキストボックス乗っけてそっちにフォーカス移して入力させて終わったらグリッドコントロールに反映とか
やってたなVC#2005EEあたりの話だけど
0585デフォルトの名無しさん
2010/01/18(月) 14:25:490586デフォルトの名無しさん
2010/01/18(月) 14:46:340587デフォルトの名無しさん
2010/01/18(月) 14:52:40そうだっけ
.netって難読化してないとほんとにリバースエンジニアリングできるんだなorz
昔作ったツールの実行ファイルしかなかったが復元できちゃったよ
.net2.0のころってDataGridViewってなかったんだっけ?
ListView+TextBoxでエクセルもどきやってたわ
0588デフォルトの名無しさん
2010/01/18(月) 14:56:330589デフォルトの名無しさん
2010/01/18(月) 15:21:37手っ取り早く、int 型の値を共有して、0ならスレッドループを抜けるようにしたいので,次のようにやってみました。
int end_flag = 1;
mThread = new Thread(new StartThread(new MyThreadClass(ref end_flag)));
mThread.Start();
end_flag = 0;
mThread.Join();
class MyThreadClass
{
int endFlag;
public MyThreadClass(ref int end_flag_ref)
{
endFlag;= end_flag_ref; //ここでこのクラスに、渡されたend_flagのアドレスを保持しているつもり
}
public void Run()
{
whileendFlag;!= 0){処理} //メインスレッドがend_flagを0にしたら抜けさせてるつもり
}
}
ってやってみたんですけど、end_flagを0に落としても、MyThreadClassのRunのwhileでのendFlagは1のままでした。
ずばり、
・MyThreadClass.endFlagにend_flagのアドレスを見させるにはどうすればいいの?
ref int endFlag;と宣言してみたのですが、文法上許されないようだし。。
よろしくおねがいします
0590デフォルトの名無しさん
2010/01/18(月) 15:25:540591デフォルトの名無しさん
2010/01/18(月) 15:26:48public void Stop()
{
//スレッドとめるメンバ関数
}
mThread.Stop();
とか?
0592デフォルトの名無しさん
2010/01/18(月) 15:27:530593デフォルトの名無しさん
2010/01/18(月) 15:29:33なるほど、それが.NETの思想なのですね。それに従います。
スレッドに関しては。
でもそもそもintの参照を保持する事ってできないのでしょうか?
>>592
するとintの参照を保持する事はできないって事ですか?
0594デフォルトの名無しさん
2010/01/18(月) 15:35:49MyThreadClassの初期化の仕方が間違えてる。
Stopかけたい段階でMyThreadClassのend_flagを書き換えないと。
intは値型なのでrefで渡そうが、endFlag;= end_flag_ref;の行では値をコピーしてるだけ。
って、この代入演算子なんかおかしくね?
>>592
いや、インスタンスのメンバとしてint型の変数を持ってるなら、
それは暗黙的にvolatile変数としてマルチスレッド間で使えるはずだよ。
0595デフォルトの名無しさん
2010/01/18(月) 15:37:02クラスのvolatileなメンバにしてインスタンスを渡してそれみたらどうよ
0596デフォルトの名無しさん
2010/01/18(月) 15:45:05いろいろ変なソースで済みません。代入演算子に;が入ってしまいました(;_;)
>>595
volatileってC++の奴と同じ動作ですか?
すると単純にアドレスは渡っているけどレジスタに入っているからみれてないとかそう言う意味合いでvolatileをつけるべきという事ですか?
0597デフォルトの名無しさん
2010/01/18(月) 15:49:01http://msdn.microsoft.com/ja-jp/library/x13ttww7%28VS.80%29.aspx
volatile キーワードは、同時に実行中の複数のスレッドによってフィールド
が変更される可能性があることを示します。 volatile と宣言されているフィ
ールドは、シングル スレッドによるアクセスを前提とする、コンパイラの最
適化の対象にはなりません。このため、フィールドには常に最新の値が
含まれます。
0598デフォルトの名無しさん
2010/01/18(月) 15:53:12パスが設定されてないだけでcsc.exeはあるはずだけど?
この辺確認してみて
c:\WINDOWS\Microsoft.NET\Framework\v3.5
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
0599デフォルトの名無しさん
2010/01/18(月) 15:55:57はず?あいまいだな( ・ω・)y─┛〜〜
0600デフォルトの名無しさん
2010/01/18(月) 15:59:080601デフォルトの名無しさん
2010/01/18(月) 16:00:42後から消してなきゃあるってことだ
0602デフォルトの名無しさん
2010/01/18(月) 16:03:37v2.0***\csc.exeは実行環境化でも必須なのは間違いない。
3.5配下のcsc.exeはちっと自身がなかった。
0603デフォルトの名無しさん
2010/01/18(月) 16:07:31>endFlag = end_flag_ref
end_flag_refが参照経由で書き換わっても、endFlagへの代入は一回きり。
0604589
2010/01/18(月) 16:08:38Mainスレッド側のクラスの(いままで書いてなかったけどForm1です。)実体の側にvolatileをつけてみたけど、
今度はコンパイルエラーになりますた。(refキーワードをつけて渡そうとするとコンパイルエラーになるようですね。)
結局、intのような組み込み型は値型であり、どうやってもアドレスを渡すことはできないよ!ってことでしょうか?
(関数で渡したときは、渡された関数の中で書き込むことはできるけど、
参照として変数に保持できないので、後から本体のほうに値を書き込むような事はできないんですかねぇ。
へんなの。)
ちなみにint をやめてMyRefIntというクラスを作ってこれで置き換えてやってみたらできました。(あたりまえか。。)
まぁ・・クラスを作ればできるんだからいいかな。。
>>603
そうみたいですね。
大変勉強になりました。ありがとうございます。
今後の設計のインプットとしてキモに命じておきます。
0605デフォルトの名無しさん
2010/01/18(月) 16:19:09>MyThreadClassの初期化の仕方が間違えてる。
>Stopかけたい段階でMyThreadClassのend_flagを書き換えないと。
これやったかい?
当然参照越しに書き換えるんじゃなくて直接メンバを書き換えるようなメソッドを用意して、親スレッドから呼び出すんだよ。
0606デフォルトの名無しさん
2010/01/18(月) 16:19:480607デフォルトの名無しさん
2010/01/18(月) 16:21:38public MyThreadClass(ref int end_flag_ref)
{
endFlag;= end_flag_ref; //ここでこのクラスに、渡されたend_flagのアドレスを保持しているつもり
}
参照渡ししてるけどコンストラクタの中は値をコピーしてるんじゃないの?
だからForm1で値を変更しようがかわらないと
0608デフォルトの名無しさん
2010/01/18(月) 16:21:40int hoge = 0;
TypedReference tref = __makeref(hoge);
__refvalue(tref, int) = 5;
Console.WriteLine(hoge);
0609デフォルトの名無しさん
2010/01/18(月) 16:22:43まあ、スレッドはめんどくさいところなんで
0610デフォルトの名無しさん
2010/01/18(月) 16:25:070611デフォルトの名無しさん
2010/01/18(月) 16:27:54それができないのなら参照型にしちゃえばいいだけだろ
class State
{
public int endFlag; //本当はpublicじゃない方がいいかも
}
って作って
class MyThreadClass
{
int endFlag;
ではなく
class MyThreadClass
{
State st;
とか
0612デフォルトの名無しさん
2010/01/18(月) 16:30:16コスト的に参照型使ったって問題ないでしょこれ
0613デフォルトの名無しさん
2010/01/18(月) 16:32:35要するにできないってことじゃん?
言語の能力としてできない。
0614デフォルトの名無しさん
2010/01/18(月) 16:38:54int型の変数を持たせてそれを書き換えれば何も問題ないわけだけど?
0615デフォルトの名無しさん
2010/01/18(月) 16:39:400616デフォルトの名無しさん
2010/01/18(月) 16:39:56キャンセルの機構もちゃんとあるぞ。
0617デフォルトの名無しさん
2010/01/18(月) 16:40:590618デフォルトの名無しさん
2010/01/18(月) 16:41:020619デフォルトの名無しさん
2010/01/18(月) 16:42:58「int型(を含む組み込み型)の参照を保持する事はできない」
ってことだけが知りたい。
0620デフォルトの名無しさん
2010/01/18(月) 16:43:14キャッシュまでは行ってることもあるんかな?
アクセス遅くてもメインメモリ上?
0621デフォルトの名無しさん
2010/01/18(月) 16:45:23というか参照型で渡そうがスレッドとして使うクラスの中では値型で宣言してる
以上は値のコピーが行われただけだと思うよ
0622デフォルトの名無しさん
2010/01/18(月) 16:46:09unsafeとfixedなんか使っちゃだめだよ
0623デフォルトの名無しさん
2010/01/18(月) 16:52:04そりゃわかるんですけど、それもなんかへんだよな。。
普通に考えたら型があわないってコンパイルエラーになるべきのような。
0624デフォルトの名無しさん
2010/01/18(月) 16:54:35そもそもint*のような物あったっけ?
参照渡しはできても値型の参照保持機能というか
0625デフォルトの名無しさん
2010/01/18(月) 16:56:46それを聞きたかったんですけど、結論としては無いようですね。
(裏技はあるようです。)
0626デフォルトの名無しさん
2010/01/18(月) 16:58:34なんで?
C++だって
class Hoge {
int x;
public :
void set(int& i) { this->x = i; }
};
ってできるっしょ
もちろんxはただの値で、呼び出し元でsetに渡したのを後で変更しようがxは変更されない
0627デフォルトの名無しさん
2010/01/18(月) 17:00:480628デフォルトの名無しさん
2010/01/18(月) 17:09:29なるほど。確かにそうだね。
0629デフォルトの名無しさん
2010/01/18(月) 17:16:420630デフォルトの名無しさん
2010/01/18(月) 17:35:340631デフォルトの名無しさん
2010/01/18(月) 19:42:13オーバーライドの意味なくなるじゃん。
反オブジェクトしこー?
0632デフォルトの名無しさん
2010/01/18(月) 19:43:45JAヴぁから移動してきた俺は今思えばそう感じる
0633デフォルトの名無しさん
2010/01/18(月) 19:47:090634デフォルトの名無しさん
2010/01/18(月) 19:49:020635デフォルトの名無しさん
2010/01/18(月) 19:49:47誰か面白い使い方を考えてくれるかも
0636デフォルトの名無しさん
2010/01/18(月) 19:58:510637デフォルトの名無しさん
2010/01/18(月) 20:15:43手軽に試せるところだと、ExpandoObjectと組み合わせると面白いよ
0638デフォルトの名無しさん
2010/01/18(月) 20:49:45static void Main() {
dynamic o = new ExpandoObject();
foreach (DictionaryEntry ev in Environment.GetEnvironmentVariables())
((IDictionary<string, object>) o).Add((string) ev.Key, ev.Value);
((IDictionary<string, object>) o).Add("Hello", (Action) (() => Console.WriteLine("Hello world !")) );
Test(o);
}
static void Test(dynamic o) {
Console.WriteLine(o.Path);
Console.WriteLine(o.PROCESSOR_IDENTIFIER);
Console.WriteLine(o.NUMBER_OF_PROCESSORS);
o.Hello();
}
0639デフォルトの名無しさん
2010/01/18(月) 20:59:02うーん実にキモい
0640デフォルトの名無しさん
2010/01/18(月) 21:18:31public int Hoge { get; set; }
が
public int Hoge;
より良い点ってなんかある?
0641デフォルトの名無しさん
2010/01/18(月) 21:22:060642デフォルトの名無しさん
2010/01/18(月) 21:22:410643デフォルトの名無しさん
2010/01/18(月) 21:22:55unsafeなら。
一応はね。
0644デフォルトの名無しさん
2010/01/18(月) 21:23:14RubyやPythonのコードはけっこうあるのですが、
C#のコードってありませんか?
0645デフォルトの名無しさん
2010/01/18(月) 21:24:370646デフォルトの名無しさん
2010/01/18(月) 21:25:07よろしこ
0647デフォルトの名無しさん
2010/01/18(月) 21:25:24オブジェクト指向は変数は絶対にpublicにしちゃだめ
いついかなる場合でもゲッター、セッターを使うことが正しいと考えている人と一緒に
プログラムを作ることになった場合に役に立つ。
0648デフォルトの名無しさん
2010/01/18(月) 21:26:47フィールドだとインターフェイスに使えないのは分かる
0649640
2010/01/18(月) 21:30:10>>647 なるほど、納得w
>>648 ゲッターセッターにデバッグ用のコード埋めとけばアクセスを監視できるからと理解している。
0650デフォルトの名無しさん
2010/01/18(月) 21:30:16そのコードを利用する側にもリコンパイルが必要になる
最初から最後までプロパティなら利用する側にはリコンパイルは必要ない
0651デフォルトの名無しさん
2010/01/18(月) 21:33:54今までは単に A { get { return a; } } としていたのを A { get { hoge.GetA(); } に変えるだけで済む
クラス外からの見た目は変わらない}
0652デフォルトの名無しさん
2010/01/18(月) 21:34:48public int Hoge;
これを
private int hoge;
public int {get{return hoge;} set{hoge = value;}}
に書き換えるだけじゃないの?
この変更でもリコンパイルいるの?
0653デフォルトの名無しさん
2010/01/18(月) 21:35:05同じソースなのにコンパイル結果が違うってよくわからん。
0654デフォルトの名無しさん
2010/01/18(月) 21:36:04どうせ普通のフィールド使おうとしたらギャーギャーいわれるんだし。
0655デフォルトの名無しさん
2010/01/18(月) 21:37:30フィールドとプロパティは内部的には全く別の種類のもので全く互換性はない
C#ではたまたま字面上同じように見えるだけ
0656デフォルトの名無しさん
2010/01/18(月) 21:38:18呼び出す方は見た目一緒でもやってること変るからしかたない。
int Hoge; を
int Hoge { get; set; } にするってことは
xxxx.Hoge = 1; の代入文を
xxxx.setHoge(1); のメソッド呼び出しに置きかえるわけだから
コンパイル結果が変わる。
0657デフォルトの名無しさん
2010/01/18(月) 21:39:10必要だよ。>>656ってことだ。
0658デフォルトの名無しさん
2010/01/18(月) 21:39:17そういうことか
0659デフォルトの名無しさん
2010/01/18(月) 21:40:270660デフォルトの名無しさん
2010/01/18(月) 21:42:190661デフォルトの名無しさん
2010/01/18(月) 21:42:54a.b.c = 1; でbが値型のフィールドなら,プロパティに変えるとコンパイルエラー
バインディングとかでリフレクションが絡んできたときも問題が出る
0662デフォルトの名無しさん
2010/01/18(月) 21:42:55ないんですか…。
じゃ、作るとして、文章を単語に分けたあと(ここまではできてる)、それを配列にいれるんですか?
Rubyだとこう書くらしいんだけど、これをC#だとどう書けばいいんですかね〜?
# マルコフ連鎖で要約
t1 = data[0]['head']
t2 = data[0]['middle']
new_text = t1 + t2
while true
_a = Array.new
data.each do |hash|
_a.push hash if hash['head'] == t1 && hash['middle'] == t2
end
break if _a.size == 0
num = rand(_a.size) # 乱数で次の文節を決定する
new_text = new_text + _a[num]['end']
break if _a[num]['end'] == "EOS"
t1 = _a[num]['middle']
t2 = _a[num]['end']
end
http://d.hatena.ne.jp/zariganitosh/20090628/1246186477
0663デフォルトの名無しさん
2010/01/18(月) 21:43:23と
ライブラリ1.dll
があったとする。
ライブラリ1でHogeっていうただのint型の変数があって
プログラム1で
Hoge=3;(Hogeは単なる変数)
とかいうコードがあったとする。
これで、あとでライブラリ1.dllのHogeをプロパティになおす必要が生じると
単にDLLを再配布するだけじゃなくプログラム1のほうもコンパイルしなおす必要がある
ちょっとめんどくさくね?
そんだけ。
0664デフォルトの名無しさん
2010/01/18(月) 21:43:51逆アセンブルすりゃわかるんだろうけど面倒。
0665デフォルトの名無しさん
2010/01/18(月) 21:44:42インライン展開されたりしないの?
0666デフォルトの名無しさん
2010/01/18(月) 21:46:39NGenやJITコンパイルの段階でインライン展開されることはある
0667デフォルトの名無しさん
2010/01/18(月) 21:47:450668デフォルトの名無しさん
2010/01/18(月) 21:48:42ここは翻訳コンニャクじゃないよ。
宿題スレの方が向いてると思う。
あと、コード探すんだったらGoogleソースコード検索とか便利よ。
"markov chain lang:c#"で検索するとそれっぽいのが結構引っかかった。
↓な。
http://www.google.com/codesearch?hl=ja&lr=&q=markov+chain+lang:c%23&sbtn=%E6%A4%9C%E7%B4%A2
0669デフォルトの名無しさん
2010/01/18(月) 21:49:52なるほど、じゃあ使う側がメソッド呼び出しであることは保証されてるわけね。
普通に考えればそれもそうか。そうならないんだったらプロパティの意味ないもんね。
0670デフォルトの名無しさん
2010/01/18(月) 21:50:49publicフィールドは構造体なら許されてもいい気がするんだけど
まあ一貫性がないから駄目なんだろうね
0671デフォルトの名無しさん
2010/01/18(月) 21:55:24他のプロパティの位置と揃えるべき?
0672デフォルトの名無しさん
2010/01/18(月) 21:55:590673672
2010/01/18(月) 21:56:43StyleCopの間違い
0674デフォルトの名無しさん
2010/01/18(月) 21:56:44func( int x ){
}
とするか
func(int x)
{
}
とするかの違いくらいどうでもいい
0675デフォルトの名無しさん
2010/01/18(月) 21:58:43どう考えてもゲッター実装する必要ないとこではpublicにしてたり。
俺は怒られるのが嫌だから思考停止して必ずプロパティにするけど
そこでなぜフィールド公開しちゃダメなの?って聞かれても答えられないこと多いな
0676デフォルトの名無しさん
2010/01/18(月) 22:01:02その場限りの安いコード書いてるうちは全部ひーるどでおkなんだけど
0677デフォルトの名無しさん
2010/01/18(月) 22:02:10MS でもパブリックフィールドは Xna Framework あたりで使ってはいる
最適化がへちょいから。
まぁけど普通はそんなもの使う構造体はバインディング対象になりやすい
のでプロパティにしといたほうがいいと思うよ。一貫性ってより
0678672
2010/01/18(月) 22:04:38それは>>661のようにa.b.c = 1ってやりたいからだよ
bがプロパティだと余計なコピーが入る
最適化の余地はないので仕方ない
0679デフォルトの名無しさん
2010/01/18(月) 22:08:180680デフォルトの名無しさん
2010/01/18(月) 22:08:37何も考えずにプロパティにしておけば問題ないと思うがね
違反する理由が無ければガイドラインに従っておけばいい
0681デフォルトの名無しさん
2010/01/18(月) 22:09:40http://msdn.microsoft.com/ja-jp/library/ms229057.aspx
0682デフォルトの名無しさん
2010/01/18(月) 22:12:19それは「クラスライブラリ開発者向けの」ガイドラインだからちょっと話が別だ
クラスライブラリではクラスのインターフェイスを絶対に変えられないからな
0683デフォルトの名無しさん
2010/01/18(月) 22:13:190684デフォルトの名無しさん
2010/01/18(月) 22:23:43たとえばstringのフィールドがあったとして、使う時には前後の空白をカットして使いたい。
trimして代入して…ってコードを全部に書く手間を考えると、プロパティにしとけば天国だ。
コンパイルしなおすから関係ない? まあそうだね。
0685デフォルトの名無しさん
2010/01/18(月) 22:26:51ループの中で使われたりすると死ねる
クラスを使う側はプロパティの実装は軽いことを期待する
ガイドライン参照
0686デフォルトの名無しさん
2010/01/18(月) 22:28:080687デフォルトの名無しさん
2010/01/18(月) 22:31:22それが唯一の欠点かもな。
現場じゃ糞プログラマばっかだし。
0688デフォルトの名無しさん
2010/01/18(月) 22:33:50何のためにフィールドのように見せてるのかわからん
MSのガイドラインでは「クラスの利用者はお客様」が基本です
0689デフォルトの名無しさん
2010/01/18(月) 22:37:02「処理済みのデータは再処理するだけ無駄!」はそりゃ理屈だけど
それをチェックするのとバグ要因を考えると意味があるとは思えないなぁ
0690デフォルトの名無しさん
2010/01/18(月) 22:38:090691デフォルトの名無しさん
2010/01/18(月) 22:39:01ゲッターセッターだけのプロパティなんて意味ないのが多いと思ってたけど
むしろその方が良かったのね
0692デフォルトの名無しさん
2010/01/18(月) 22:40:170693デフォルトの名無しさん
2010/01/18(月) 22:42:15処理済みのデータは再処理するだけ無駄なんだから
量は同じでないんじゃないの?
0694デフォルトの名無しさん
2010/01/18(月) 22:42:35値設定はクラス内のメソッド処理がほとんどだ。
これだけでも、プロパティの価値は高い。
0695デフォルトの名無しさん
2010/01/18(月) 22:44:07このように自動プロパティを記述しても
abstract または extern に指定されていないため、本体を宣言する必要があります。
と表示されてしまい、コンパイルが通りません。サンプルでは問題なく通るはずなのですが…
abstract または externに指定せず利用する方法はないのでしょうか?
0696デフォルトの名無しさん
2010/01/18(月) 22:44:540697デフォルトの名無しさん
2010/01/18(月) 22:47:41このように自動プロパティを記述しても
abstract または extern に指定されていないため、本体を宣言する必要があります。
と表示されてしまい、コンパイルが通りません。サンプルでは問題なく通るはずなのですが…
abstract または externに指定せず利用する方法はないのでしょうか?
0698デフォルトの名無しさん
2010/01/18(月) 22:48:21C#のバージョンは?
0699デフォルトの名無しさん
2010/01/18(月) 22:48:25なるほど、そういうことですか…ありがとうございます。
2005(製品版)を使わざるを得ない状況なので、自分で設定することにします。
0700デフォルトの名無しさん
2010/01/18(月) 22:48:430701デフォルトの名無しさん
2010/01/18(月) 22:49:44VS2005に付属のものです。
多重投稿失礼しました。
0702デフォルトの名無しさん
2010/01/18(月) 22:51:21イミフ
0703デフォルトの名無しさん
2010/01/18(月) 22:52:32信じられんがなw
0704デフォルトの名無しさん
2010/01/18(月) 22:52:53またはこの列を非表示にするということはできないのでしょうか?
0705デフォルトの名無しさん
2010/01/18(月) 22:55:24ゲットでDBからselect、セットでDBにupdateとかバカならやる
0706デフォルトの名無しさん
2010/01/18(月) 23:27:29むしろさぁ
>ゲッターセッターにデバッグ用のコード埋めとけばアクセスを監視できるからと理解している。
こう言うのってもう、コンパイラの機能にしたほうがよくね?
そもそも変数を誰が使っているか?とか、そういうのって開発ツールの機能でいいんじゃ。。
0707デフォルトの名無しさん
2010/01/18(月) 23:39:02スレ汚し失礼しました。
0708デフォルトの名無しさん
2010/01/19(火) 00:01:59メソッドをなんでもかんでもプロパティにしたがる奴は実在する。
初心者のころはなおさら。
0709デフォルトの名無しさん
2010/01/19(火) 00:12:56obj.Active = 1 (なんとSet Onlyのプロパティ)
だった。
あれ見て以来、CrystalReportは避けることにしてたな。
0710デフォルトの名無しさん
2010/01/19(火) 00:48:59MSCommとか見てみ
0711デフォルトの名無しさん
2010/01/19(火) 00:59:29WPFとかそんな感じだよ。
0712デフォルトの名無しさん
2010/01/19(火) 01:09:21どこら辺が?
0713デフォルトの名無しさん
2010/01/19(火) 01:15:25http://msdn.microsoft.com/ja-jp/library/ms229054(VS.80).aspx
>特に、初期化時以外にもネットワークやファイル システムにアクセスする操作は、
>多くの場合、プロパティではなく、メソッドにする必要があります。
0714デフォルトの名無しさん
2010/01/19(火) 01:16:44教えないよ。
0715デフォルトの名無しさん
2010/01/19(火) 01:20:02そこから、してはいけないことは読み取れるけど、したくなる理由にはならんな
0716デフォルトの名無しさん
2010/01/19(火) 01:29:180717デフォルトの名無しさん
2010/01/19(火) 02:06:41どこの国のWPFだよ。つかいまのライブラリで列挙体使ってないのなんてあるのか?
0718デフォルトの名無しさん
2010/01/19(火) 02:12:25そこの日本語がイマイチよくわからなかったんだけど
配列返す時はメソッドでクローンコピー作ってプロパティで返しなさいって言ってるのですか?
0719デフォルトの名無しさん
2010/01/19(火) 03:23:36DTO、DAOクラスを作って、DAOクラスの中ではセレクト結果をDataTableもしくはDataReader的な
ものに保持しているとします。
この結果をDTOにコピーするロジックはどこに記述するのでしょうか??
↓自分で考えたのは…
1.DTO、DAOを実際に使用しているメインクラス
DAOがDataTableを返してきて、それをDTOにメインクラスが自分でコピーして使う
2.DAOクラスの中
DAOにクエリとDTOを渡すと、DTOに結果をコピーして返してくれる
自分なりに一番良いと思ったのは2.で、ただし条件として、DAOがどんな形のDTOにも
データコピーできるように(ジェネリックか何かで)しておかないと、
DTOのクラスが追加(例えば新しいテーブルが追加されるなど)される度に
DAOの中の処理も新しいDTO用のロジックを追加しないと駄目なので、
せっかくDAOパターンにしてアクセス部分を切り離してるのに、DTOとの
結合が強くなってしまうのではないかという点です。
基礎的な部分かと思いますが、よろしくお願いします。
0720デフォルトの名無しさん
2010/01/19(火) 06:49:22その中で、ソフトの使用期限をレンタルサーバー(ewinds)内のSQLサーバーで定数で持ち、期限を過ぎたら自動で利用できないようにしたいと思っています。
ただ、現在日付としてDatetime.Todayを使用すると、ユーザーがPCの日付を過去日にしてしまえば、すり抜けられてしまいます。
どのようにして、偽装できない現在日付を取得することができるのでしょうか。
DBへのアクセスは、接続文字列を介して直接C#内でSQL文を発行しています。
よろしくお願いします。
0721デフォルトの名無しさん
2010/01/19(火) 07:03:020722デフォルトの名無しさん
2010/01/19(火) 07:16:42NTPサーバーからHTTPで取得するのが簡単
0723デフォルトの名無しさん
2010/01/19(火) 07:34:01いろいろ考えたほうがいいんじゃないの
0724デフォルトの名無しさん
2010/01/19(火) 09:45:260725デフォルトの名無しさん
2010/01/19(火) 10:28:150726デフォルトの名無しさん
2010/01/19(火) 10:36:350727デフォルトの名無しさん
2010/01/19(火) 10:49:180728デフォルトの名無しさん
2010/01/19(火) 10:53:38そうですか。分からないんですか(´・ω・`)
>>727
設定ファイルとか保存したいんですが(´・ω・`)
0729デフォルトの名無しさん
2010/01/19(火) 11:10:43http://www.atmarkit.co.jp/fdotnet/dotnettips/016exepath/exepath.html
0730デフォルトの名無しさん
2010/01/19(火) 11:45:040731デフォルトの名無しさん
2010/01/19(火) 11:59:48UACで警告出るうえに、実際に書きこまれる場所はユーザーごとに別になっちゃうよ
0732デフォルトの名無しさん
2010/01/19(火) 12:23:140733デフォルトの名無しさん
2010/01/19(火) 12:27:09http://dobon.net/vb/dotnet/programing/storeappsettings.html
0734デフォルトの名無しさん
2010/01/19(火) 12:31:390735デフォルトの名無しさん
2010/01/19(火) 13:42:520736デフォルトの名無しさん
2010/01/19(火) 13:44:240737デフォルトの名無しさん
2010/01/19(火) 14:01:17HashSetに対応する奴は無いの?
0738デフォルトの名無しさん
2010/01/19(火) 14:02:470739デフォルトの名無しさん
2010/01/19(火) 14:05:361+1の答えを教えて下さい!
C#オタには難しい質問をしてしまいごめんなさい(>_<)
0740デフォルトの名無しさん
2010/01/19(火) 14:08:57最近の話でいいんだが
WPFとかSilverLightとかXAML系て結構業務アプリに使われてる?
そろそろ事務系だけでもWPFとかに移行してみたいんだが・・・・
0741デフォルトの名無しさん
2010/01/19(火) 14:10:270742デフォルトの名無しさん
2010/01/19(火) 14:14:20キモい
0743デフォルトの名無しさん
2010/01/19(火) 14:17:21かっこいい
0744デフォルトの名無しさん
2010/01/19(火) 14:18:160745デフォルトの名無しさん
2010/01/19(火) 14:29:16自演乙
0746デフォルトの名無しさん
2010/01/19(火) 14:31:42みたいな
女性誌っぽいコピー
0747デフォルトの名無しさん
2010/01/19(火) 14:34:450748デフォルトの名無しさん
2010/01/19(火) 14:44:51WPFは今のところゲームで使う予定はないな。Formsで十分。
ウィンドウの内側を自由に使えれば、ウィンドウの外側についてはあまり奇をてらう必要がないから。
WPFの描画機能とDirect3Dの組み合わせの可能性は研究しておいた方がいいとは思ってる。
WPFは現状それ自体が重いので、わざわざ利用する利点が感じられない。
0749デフォルトの名無しさん
2010/01/19(火) 14:55:04たとえばTabcontrolにTabPageとListViewを継承したクラスを追加とか
0750デフォルトの名無しさん
2010/01/19(火) 14:59:100751デフォルトの名無しさん
2010/01/19(火) 15:02:510752デフォルトの名無しさん
2010/01/19(火) 15:03:09いくつかのプロパティを持たせたデータ保持用のクラスのプロパティを変更すると
予め登録したイベントハンドラが呼び出され、プロパティごとに結びつけたToolStripMenuItemのEnabledやCheckedを変更するような仕組みです。
それぞれの変更を結びつけるコードを記述するしかないんでしょうか?
0753デフォルトの名無しさん
2010/01/19(火) 15:06:590754デフォルトの名無しさん
2010/01/19(火) 15:10:12デザインパターンの
ブリッジ、アダプタ、ストラテジ、テンプレートメソッド
あたりを読めば、おのずと実装方法見えてくると思う。
0755デフォルトの名無しさん
2010/01/19(火) 15:13:020757デフォルトの名無しさん
2010/01/19(火) 15:24:13具体的にはどんな感じの設計になるでしょうか。
>>755
どちらかというと問題はそちら側ではなく、データクラスがイベントハンドラを呼び出す際に
プロパティ同士を区別してデータのセットとして保持しておく方法がC#にはないような気がするんです。
(C++におけるメンバ変数のポインタがない)
0758デフォルトの名無しさん
2010/01/19(火) 15:24:58TabControl(TabPageのコレクションを持つ)にTabPage追加して、
TabPage(Controlのコンテナを持つ)にListView追加してるだけじゃね
0759デフォルトの名無しさん
2010/01/19(火) 15:28:40今やっているのがTabPageを継承したクラスのコンストラクタの中で
ListViewをnewして設定を行った後TabPageに追加してます。
0760デフォルトの名無しさん
2010/01/19(火) 15:31:36それで何か問題があるのか(´Д`;)
0761デフォルトの名無しさん
2010/01/19(火) 15:33:46追加するだけだとこれでもいいのですが
ListViewのイベントハンドラ関連の処理を
ベースになってFormで行いたい場合が
イマイチよくわからないので・・・・
できれば自前クラスでいきなりTabPage+ListView
として動いてくれればいいなあと思いまして
0762デフォルトの名無しさん
2010/01/19(火) 15:40:26正直TabPage継承する構造って好かないけど。
0763デフォルトの名無しさん
2010/01/19(火) 15:43:520764デフォルトの名無しさん
2010/01/19(火) 15:45:260765デフォルトの名無しさん
2010/01/19(火) 15:49:05なるほど
>正直TabPage継承する構造って好かないけど。
問題になりますかね・・・勉強中なのでどういうのがいいのかさっぱりなんです
TabControlを継承するクラス内部で・・・というパターンも考えたのですが
どういうのが一番いいのか・・・
0766デフォルトの名無しさん
2010/01/19(火) 16:22:15やめて。txtとかpdfとか文書関係のだけ入れときたいのに
勝手に設定用フォルダ作られると迷惑だ。
VSは入れたら即刻保存場所変える
0767デフォルトの名無しさん
2010/01/19(火) 16:30:530768デフォルトの名無しさん
2010/01/19(火) 16:34:50そこに保存するようになってるよね
0769デフォルトの名無しさん
2010/01/19(火) 16:37:29マイドキュメントはシステムの復元による復元対象外
0770デフォルトの名無しさん
2010/01/19(火) 16:37:41こういうのもあるんですね
ちょっといろいろいじっててコメント遅くなりました
0771デフォルトの名無しさん
2010/01/19(火) 16:41:420772デフォルトの名無しさん
2010/01/19(火) 16:46:48マルチユーザ環境にあたって不都合だったりいろいろ
0773デフォルトの名無しさん
2010/01/19(火) 16:50:53UACはそれでもなんかうざいよね
0774デフォルトの名無しさん
2010/01/19(火) 16:52:21いや全然?
0775デフォルトの名無しさん
2010/01/19(火) 17:01:38ユーザーデータを入れるんだから当然でないの?
設定はAppData内に入れてほしい。
0776デフォルトの名無しさん
2010/01/19(火) 17:06:22サーバー側のローカルネットワークの
LinuxのApacheで公開されているPHPが実行されて
結果をクライアントに返すみたいなことってできますか?
iisがプロキシになるみたいな。
0777デフォルトの名無しさん
2010/01/19(火) 17:09:33実際出来るかどうかわからんが、ASP.NETでページを作成し、
内部ではWebClientなどでPHPのURLを叩いて結果を取得し、
それをResponseに書き出すとか?
0778デフォルトの名無しさん
2010/01/19(火) 21:13:32基本無理。
0779デフォルトの名無しさん
2010/01/19(火) 21:35:570780デフォルトの名無しさん
2010/01/19(火) 21:37:010781デフォルトの名無しさん
2010/01/19(火) 21:41:170782デフォルトの名無しさん
2010/01/19(火) 21:57:01スキャットの部分はフフーもホホーも両方ある
0783デフォルトの名無しさん
2010/01/19(火) 21:59:55お前らみたいなのがルパンザサーンだと思い込んでるクチだな
0784デフォルトの名無しさん
2010/01/19(火) 22:11:040785デフォルトの名無しさん
2010/01/20(水) 03:32:43ルパンルパーンだから
0786デフォルトの名無しさん
2010/01/20(水) 04:15:410787デフォルトの名無しさん
2010/01/20(水) 04:26:42/|
\_WW/ |WWWWWW/
≫ ≪
≫ 何が可笑しい!! ≪
≫ ≪
/MMMMMMMMM、\
0788デフォルトの名無しさん
2010/01/20(水) 12:40:370789デフォルトの名無しさん
2010/01/20(水) 12:49:49http://yas-hummingbird.blogspot.com/2008/12/c.html
0790デフォルトの名無しさん
2010/01/20(水) 14:51:51↓
formEx->formExA
↓
formExB
formExのコンストラクタに対して何か渡したいときどうすればいいのでしょうか?
0791デフォルトの名無しさん
2010/01/20(水) 14:53:090792デフォルトの名無しさん
2010/01/20(水) 14:59:07{
}
これの解決ですね・・・
0793デフォルトの名無しさん
2010/01/20(水) 15:00:43例えば、独自のプロトコルをしゃべろうと思っていて、
受信したストリームのデータを解析して、ペイロードを取り出し、
ペイロードをバイト配列に保持する作業を担当するスレッドがある。
そのスレッドがため込んだデータを、取り出したい。
すると呼び出し側は自分でバイト配列を用意して、ここにコピーしてね?っていうメソッドを呼び出す
てシナリオを考えてますたとえば↓こんなメソッドがあるので、それを呼ぶ。
GiveMeTheRecvData(int giveMeThisSize, byte[] copyHere)
で、実際コピーするのはどうやんの?
どたんじゅんに言えばC++のmemmove
0794デフォルトの名無しさん
2010/01/20(水) 15:03:490795デフォルトの名無しさん
2010/01/20(水) 15:04:540796デフォルトの名無しさん
2010/01/20(水) 15:05:14Buffer.BlockCopy
0797デフォルトの名無しさん
2010/01/20(水) 15:08:41みなさん、ありがとうございます。
助かりました。
0798デフォルトの名無しさん
2010/01/20(水) 15:19:17俺的にはちょっと感動もん
0799デフォルトの名無しさん
2010/01/20(水) 15:37:130800デフォルトの名無しさん
2010/01/20(水) 15:46:44Modelの初期化部に以下のようなコードがありました。
this.container.RegisterType<IDiggService, DiggService>(new ContainerControlledLifetimeManager());
これはどういう意味なのでしょうか?
0801デフォルトの名無しさん
2010/01/20(水) 15:50:34結構面白いな。
>>799
URLを指定すると
選択したブラウザのスクリーンショットが表示されるというものだった。
0802デフォルトの名無しさん
2010/01/20(水) 15:53:50ただの表示テストだよ
http://www.dotup.org/uploda/www.dotup.org577761.png
0803デフォルトの名無しさん
2010/01/20(水) 15:57:150804デフォルトの名無しさん
2010/01/20(水) 15:59:110805デフォルトの名無しさん
2010/01/20(水) 20:53:26DIコンテナってやつでしょ
MVVMなんかに手を出すんだったらそれくらい自分でわからないレベルでは厳しいよ
0806デフォルトの名無しさん
2010/01/20(水) 21:34:33DIコンテナはわかるがそれぞれのクラスの振る舞いがよくわからん。
調べてもわからん。
日本人でうまく説明してる人もいないしお手上げじゃ!
0807デフォルトの名無しさん
2010/01/20(水) 21:36:030808デフォルトの名無しさん
2010/01/20(水) 21:41:52今から駅前留学してくる!
0809デフォルトの名無しさん
2010/01/20(水) 22:17:080810デフォルトの名無しさん
2010/01/20(水) 22:23:530811デフォルトの名無しさん
2010/01/20(水) 22:51:250812デフォルトの名無しさん
2010/01/20(水) 23:01:230813デフォルトの名無しさん
2010/01/20(水) 23:01:43片っぱしからバインドしまくる
0814デフォルトの名無しさん
2010/01/20(水) 23:39:53でもわからない専門用語が一緒にキター!
MVCって何ですか?
0815デフォルトの名無しさん
2010/01/20(水) 23:48:26MVC知らないのも終わってるけど
分からない単語が出てきて脊椎反射で聞き返すのはもっと終わってる
せめてググって1日くらい調べてからこいよ
0816デフォルトの名無しさん
2010/01/21(木) 00:08:20気持ちはわかるが、スルーするしかない。
0817デフォルトの名無しさん
2010/01/21(木) 00:15:43でもViewとModelだけで互いに依存しないように作るのは非常に難しいというか無理。
だから間にControllerを挟んで仲介させる。
さらに,WPFの持つ強力なバインディング機能を利用してControllerとViewの間を徹底的に切り離したのが
Model-View-ViewModel。
0818817
2010/01/21(木) 00:19:27ControllerのViewへの依存を取り除いた
0819デフォルトの名無しさん
2010/01/21(木) 00:30:30ControllerはModelを意識するけど逆はない。
なのでView(Controller)の実装はController(Model)に依存するってな感じでおk?
0820デフォルトの名無しさん
2010/01/21(木) 00:40:58丁寧に纏めてあるとこ読んだ方がいいよ。
1レス程度でわかったつもりになっちゃうのはあかんて。
0821デフォルトの名無しさん
2010/01/21(木) 00:41:270822デフォルトの名無しさん
2010/01/21(木) 00:53:53よくわかりました
0823デフォルトの名無しさん
2010/01/21(木) 01:14:23【二次元】日本のクリスマスに絶望する動画【2009】
ttp://www.nicovideo.jp/watch/sm9447250
0824デフォルトの名無しさん
2010/01/21(木) 01:47:360825デフォルトの名無しさん
2010/01/21(木) 02:09:48完成するまでそれ全部教えてやるのか? 824は2ちゃんに命かけてるんだな。えらい。
0826デフォルトの名無しさん
2010/01/21(木) 02:11:190827デフォルトの名無しさん
2010/01/21(木) 02:11:53場違いなんだよお前さんが。
0828デフォルトの名無しさん
2010/01/21(木) 03:11:540829デフォルトの名無しさん
2010/01/21(木) 03:12:290830デフォルトの名無しさん
2010/01/21(木) 03:12:390831デフォルトの名無しさん
2010/01/21(木) 03:13:060832デフォルトの名無しさん
2010/01/21(木) 08:33:080833デフォルトの名無しさん
2010/01/21(木) 08:48:040834デフォルトの名無しさん
2010/01/21(木) 09:15:160835デフォルトの名無しさん
2010/01/21(木) 15:21:390836デフォルトの名無しさん
2010/01/21(木) 15:25:050837デフォルトの名無しさん
2010/01/21(木) 15:36:090838デフォルトの名無しさん
2010/01/21(木) 15:41:190839デフォルトの名無しさん
2010/01/21(木) 15:43:100840デフォルトの名無しさん
2010/01/21(木) 16:49:06同情して教えてくれる人を誘うパターンねw
オレもよくやるわ。だいたい失敗するけど。
0841デフォルトの名無しさん
2010/01/21(木) 16:54:190842デフォルトの名無しさん
2010/01/21(木) 16:54:470843デフォルトの名無しさん
2010/01/21(木) 16:55:11知ったか風に書いて書き込みを煽るのが一番効果的
0844デフォルトの名無しさん
2010/01/21(木) 17:01:08むしろ皆の心を掴んじゃった時は目も当てれない。
0845デフォルトの名無しさん
2010/01/21(木) 17:47:40ViewModelって、
public xxx AAA{ get{ return .....; } }
みたいなのだけが大量にあるクラスっていう認識でいいの?
0846デフォルトの名無しさん
2010/01/21(木) 17:52:11感じるんだ
0847デフォルトの名無しさん
2010/01/21(木) 17:54:19class xxx
{
public xxx()
public yyy()
}
xxx::xxx()
{
}
xxx::yyy()
{
}
みたいな。
関数定義と実装が一緒だと見づらい。
0848デフォルトの名無しさん
2010/01/21(木) 17:54:58Javaサーブレットの登場の時はMVCモデルってのはよく聞いたな
表示とちょっとした入力は受け付ける、でもメインの処理は鯖側にやらせる
0849デフォルトの名無しさん
2010/01/21(木) 18:01:29partial
0850デフォルトの名無しさん
2010/01/21(木) 18:03:40どうすればいいでしょうか?
0851デフォルトの名無しさん
2010/01/21(木) 18:06:480852デフォルトの名無しさん
2010/01/21(木) 18:12:05(*^^*)ありがとん♪
0853デフォルトの名無しさん
2010/01/21(木) 18:41:360854デフォルトの名無しさん
2010/01/21(木) 18:42:440855デフォルトの名無しさん
2010/01/21(木) 18:47:140856デフォルトの名無しさん
2010/01/21(木) 18:56:45MVCとMVVMについて詳しく知りたいならどっか適当なサイト見た方がいいよ。
↓なんか英語だけど図見るだけである程度把握出来る。
http://nirajrules.wordpress.com/2009/07/18/mvc-vs-mvp-vs-mvvm/
0857デフォルトの名無しさん
2010/01/21(木) 19:20:28大きなお世話です
0858デフォルトの名無しさん
2010/01/21(木) 19:23:180859デフォルトの名無しさん
2010/01/21(木) 19:50:14自分が立ち上がる際に自分を含めて何個いるか確認してるんですが
Idをみると問題ないのですがHandleでみると自分が起動した時と
その後で起動した別のやつでは数字がかわることがあります。
Formが起動しきるまではHandle固定されない物なんでしょうか?
0860デフォルトの名無しさん
2010/01/21(木) 20:16:20http://uproda.2ch-library.com/207077QAd/lib207077.png
0861デフォルトの名無しさん
2010/01/21(木) 20:41:30とりえあず、MSDNでProcess.Handleのところ全部読め
0862デフォルトの名無しさん
2010/01/21(木) 21:13:44コンソールアプリでなくWindowsアプリを選択しLoadではなくShownで確認してみ
0863デフォルトの名無しさん
2010/01/21(木) 21:18:430864デフォルトの名無しさん
2010/01/21(木) 21:24:340865デフォルトの名無しさん
2010/01/21(木) 21:26:200866デフォルトの名無しさん
2010/01/21(木) 21:46:47ほとんどの奴は聞きっ放しなんだから
0867デフォルトの名無しさん
2010/01/21(木) 21:50:380868デフォルトの名無しさん
2010/01/21(木) 22:14:280869デフォルトの名無しさん
2010/01/21(木) 23:46:57できれば逆引き的な感じがいいです。
「C#逆引きハンドブック」っていうのを買ったのですが、基本的なことがあまり載ってなくて困っています。
Delphiを多少かじっていたのでいけるかと思っていましたが無謀でした
よろしくお願いします
0870デフォルトの名無しさん
2010/01/21(木) 23:51:540871デフォルトの名無しさん
2010/01/21(木) 23:59:24ttp://www.google.co.jp/
0872デフォルトの名無しさん
2010/01/22(金) 00:03:013. クラス
3.1 クラスを作成する
3.2. クラスを継承する
3.3. インターフェイスを実装する
普通に章立てした教科書じゃんw
0873デフォルトの名無しさん
2010/01/22(金) 00:12:380874デフォルトの名無しさん
2010/01/22(金) 00:20:410875デフォルトの名無しさん
2010/01/22(金) 00:23:070876デフォルトの名無しさん
2010/01/22(金) 00:56:470877デフォルトの名無しさん
2010/01/22(金) 01:48:320878デフォルトの名無しさん
2010/01/22(金) 02:10:390879デフォルトの名無しさん
2010/01/22(金) 02:16:240880デフォルトの名無しさん
2010/01/22(金) 02:16:570881デフォルトの名無しさん
2010/01/22(金) 02:18:48受信してコールバックされる度にまた次のコールバック仕掛けなきゃいけないとか
0882デフォルトの名無しさん
2010/01/22(金) 02:26:270883デフォルトの名無しさん
2010/01/22(金) 02:36:34それでなにか問題あるのか?
0884デフォルトの名無しさん
2010/01/22(金) 02:57:390885デフォルトの名無しさん
2010/01/22(金) 03:02:32いやぁ、なんの問題もありません。動けば問題なしです。
0886デフォルトの名無しさん
2010/01/22(金) 03:04:26喧嘩売ってるのか?
0887デフォルトの名無しさん
2010/01/22(金) 03:13:35C#のソケットもいろいろライブラリがあるようですね。
今は、どれを使うのがトレンドなんですか?
0888デフォルトの名無しさん
2010/01/22(金) 03:55:500889デフォルトの名無しさん
2010/01/22(金) 03:56:580890デフォルトの名無しさん
2010/01/22(金) 04:05:370891デフォルトの名無しさん
2010/01/22(金) 04:07:14ですよね。と軽く聞き流しときゃいいんだよ。
バカやボケ老人は適応しようという気すらないんだから。
0892デフォルトの名無しさん
2010/01/22(金) 04:28:45ですよね。
0893デフォルトの名無しさん
2010/01/22(金) 04:51:010894デフォルトの名無しさん
2010/01/22(金) 06:10:30ですよね。
0895デフォルトの名無しさん
2010/01/22(金) 06:31:190896デフォルトの名無しさん
2010/01/22(金) 06:32:00ですよね。
0897デフォルトの名無しさん
2010/01/22(金) 08:10:040898デフォルトの名無しさん
2010/01/22(金) 08:22:260899デフォルトの名無しさん
2010/01/22(金) 09:21:280900デフォルトの名無しさん
2010/01/22(金) 09:29:120901デフォルトの名無しさん
2010/01/22(金) 09:30:470902デフォルトの名無しさん
2010/01/22(金) 09:49:110903デフォルトの名無しさん
2010/01/22(金) 10:03:27一番簡単な方法はなんでしょうか?
string line = "123\0.555"
0904デフォルトの名無しさん
2010/01/22(金) 10:07:150905デフォルトの名無しさん
2010/01/22(金) 10:11:250906デフォルトの名無しさん
2010/01/22(金) 10:19:560907デフォルトの名無しさん
2010/01/22(金) 10:45:08クラスRecFileにFullNameというstringのプロパティであるとき、
recFilesに含まれている全てのオブジェクトのFullNameの文字列配列を作りたい場合
.NET3.5で一番簡潔に変換するには↓で合っていますか?
recFiles.ConvertAll<string>(item => item.FullName).ToArray()
0908デフォルトの名無しさん
2010/01/22(金) 10:51:240909デフォルトの名無しさん
2010/01/22(金) 13:41:220910デフォルトの名無しさん
2010/01/22(金) 13:46:500911デフォルトの名無しさん
2010/01/22(金) 14:52:35ありがとうございます。こうですね
0912デフォルトの名無しさん
2010/01/22(金) 15:01:520913デフォルトの名無しさん
2010/01/22(金) 15:07:350914デフォルトの名無しさん
2010/01/22(金) 15:16:250915デフォルトの名無しさん
2010/01/22(金) 15:51:38ばーか(´・ω・`)
0916デフォルトの名無しさん
2010/01/22(金) 15:55:28うん
0917デフォルトの名無しさん
2010/01/22(金) 16:34:210918デフォルトの名無しさん
2010/01/22(金) 17:19:140919デフォルトの名無しさん
2010/01/22(金) 17:47:29俺童貞だけど。
0920デフォルトの名無しさん
2010/01/22(金) 18:03:330921デフォルトの名無しさん
2010/01/22(金) 18:38:27C#って小学校でも教えるようになったのか?
0922デフォルトの名無しさん
2010/01/22(金) 18:38:55最終的にList<List<List<Data>>>なListができてウゲェってなったけど、
コレクションの多重ネストってあり?
0923デフォルトの名無しさん
2010/01/22(金) 18:45:13それが気にいらないならDATAが何か知らんけど
テキストデータにできるならXMLにやらせるとかで
もいいんじゃね?
0924デフォルトの名無しさん
2010/01/22(金) 18:53:03CSVファイルって書くつもりがファイルにしてしまった。
Dataはstringやintのプロパティが入ったシンプルなクラスで、
種類ごとにリストに分けて、そのリストをさらにリストでまとめてってな感じで、
比較などを順番に行う。
とりあえず動くからこのままでもいいかな。
コレクションの多重ネストはまずい方法なのかなーと少し不安になったので聞いてみた。
0925デフォルトの名無しさん
2010/01/22(金) 18:53:33JavaScriptの値をForm要素にコピーしてSubmitのイベントをブラウザコントロールでフックして
Document要素から読み出す・・・
これで正しいでしょうか?
0926デフォルトの名無しさん
2010/01/22(金) 19:00:59var hoge; ←こういうやつ?
0927デフォルトの名無しさん
2010/01/22(金) 19:04:04スレタイを大きな声を出してよんでみよう!
0928デフォルトの名無しさん
2010/01/22(金) 19:07:150929デフォルトの名無しさん
2010/01/22(金) 19:08:04Listを内包するクラスでラップするってのも読みやすくする上ではありかなとは思う。
種類ごとのリスト、みたいに何のリストかは決ってるわけだし。
0930デフォルトの名無しさん
2010/01/22(金) 19:08:17おまえは>>925を読んでみようなw
0931デフォルトの名無しさん
2010/01/22(金) 19:12:21どういう風にマップされるんだろね。
たしかSerializerはJSONに対応してたからデシリアライズしろってことなのかね。
0932デフォルトの名無しさん
2010/01/22(金) 19:16:05それは、ただの変数宣言。
0933デフォルトの名無しさん
2010/01/22(金) 19:17:520934デフォルトの名無しさん
2010/01/22(金) 19:21:16なるほど。やってみる
0935デフォルトの名無しさん
2010/01/22(金) 20:06:25恥ずかしいでしょ?
0936デフォルトの名無しさん
2010/01/22(金) 22:35:29FxCopでは違反
http://msdn.microsoft.com/ja-jp/library/ms182144.aspx
0937デフォルトの名無しさん
2010/01/22(金) 23:01:09メインメソッドの中に
Application.Run(new Form());
とやるだけでWindowsのGUIアプリケーションができてしまった。
未完成である「Formクラス」に、ボタンクリックイベントとかちょっとした改良を加えるだけで
すばらしいプログラムができあがる。
チカラ
これがOOPの「力」か・・・
0938デフォルトの名無しさん
2010/01/22(金) 23:01:47>理解しやすく使いやすい構文でジェネリック型を指定することで、
>習得に必要な時間が短縮され、新しいライブラリの採用率が向上します。
ってことは自分で使うぶんにはいいような気がする
採用って…
0939デフォルトの名無しさん
2010/01/22(金) 23:02:090940デフォルトの名無しさん
2010/01/22(金) 23:03:320941デフォルトの名無しさん
2010/01/22(金) 23:25:410942デフォルトの名無しさん
2010/01/22(金) 23:34:14で.す.よ.ね.。
0943デフォルトの名無しさん
2010/01/23(土) 00:29:341047619.014
という数字の小数を切り上げても1047619のままになるはずですが、
切り捨てたい桁の数字が0の場合にCellingをしたら、1047620になります。
このように端数処理したい桁が0の場合を含め、切り上げ処理はどのようにするのが良いのでしょうか
0944デフォルトの名無しさん
2010/01/23(土) 00:32:430945デフォルトの名無しさん
2010/01/23(土) 00:33:36>という数字の小数を切り上げても1047619のままになるはず
おいギャグで言ってるのか?
”切り上げ”で辞書引けよ
0946デフォルトの名無しさん
2010/01/23(土) 00:34:50切り上げたいのか切り捨てたいのかどっちだよ
0947デフォルトの名無しさん
2010/01/23(土) 00:36:52浮動小数点じゃダメだとは言わないけどちゃんとした知識がないと結構難しい
0948デフォルトの名無しさん
2010/01/23(土) 00:45:12小数点1位を切上げ
じゃないかな
0949デフォルトの名無しさん
2010/01/23(土) 00:48:181047619.014の、小数第一位を切り上げたいんです。
言葉不足で申し訳ありませんでした。
単純にcellingすると、1047620になってしまいます。
どうすればよいでしょうか。
0950デフォルトの名無しさん
2010/01/23(土) 00:50:300951デフォルトの名無しさん
2010/01/23(土) 00:50:49単に小数点第一位を切り上げなら>>943が数学的に正しい動作
http://www.suriken.com/knowledge/glossary/round-up.html
>切り上げ
>概数にする方法の1つで、必要な位より下の数がすべて0でないかぎり、求める位の数を1大きくすることを切り上げという。
>例:切り上げによって小数第1位までの概数を求める。
>25.38→25.4
>301.049→301.1
0952デフォルトの名無しさん
2010/01/23(土) 00:55:200953デフォルトの名無しさん
2010/01/23(土) 01:16:55ですよね。
0954デフォルトの名無しさん
2010/01/23(土) 02:17:42Hogeっていうクラスがあります。
HogeクラスはSageというメソッドは持っていないはずですが、
int[] i = hoge.Sage();
というように、持ってないはずのメソッドを呼んでいます。
で、このメソッドの定義をみてみると、
public static partial class Utility
{
public static unsafe int[] Sage(this Hoge hoge)
{
〜略
}
}
というように静的クラスでなにやら定義されています。
引数にthisがあったりして、はじめて見た謎の書き方です。
こんな感じで、継承なしで元のクラスを拡張してるってことなんでしょうか?
調べたいのですが、こういう方法に名前とかついてますでしょうか?
0955デフォルトの名無しさん
2010/01/23(土) 02:34:030956デフォルトの名無しさん
2010/01/23(土) 02:52:530957デフォルトの名無しさん
2010/01/23(土) 03:03:430958デフォルトの名無しさん
2010/01/23(土) 03:08:130959デフォルトの名無しさん
2010/01/23(土) 04:27:34>>944>>952
負の数を考慮するなら切り上げ/切り捨て/四捨五入は、
特に断りが無ければ、絶対値に対して行われる
因みに、Ceiling/Floorは天井関数/床関数なので注意
0960デフォルトの名無しさん
2010/01/23(土) 09:36:53.NET Framework3.5 SP1 がインストールできない事象について
PCに.NET Framework 3.5 SP1などを、ClickOnceからインストールしようとしたときにエラーが出ました。
<インストールしようとしたコンポーネント>
・Windowsインストーラー3.1
・.NET Framework 3.5 SP1
・Windowsフォームアプリケーション(C#)
<パソコンの概要>
・OS:Windows XP SP3
・既にあった.NET Framework 1.1
<エラー内容>
「Windowsインストーラーサービスにアクセスできませんでした。これは、Windowsをセーフモードで実行している場合、またはWindowsインストーラーが正しくインストールされていない場合に発生することがあります。サポートの担当者に問い合わせてください。」
Windowsインストーラーに問題があるのか、.NET側に問題があるのか分かりません。
解決策を教えていただけないでしょうか。
よろしくお願いいたします。
0961デフォルトの名無しさん
2010/01/23(土) 09:47:320962デフォルトの名無しさん
2010/01/23(土) 15:19:13どのようにすればいいでしょう・・・
0963デフォルトの名無しさん
2010/01/23(土) 15:32:510964デフォルトの名無しさん
2010/01/23(土) 15:42:34ttp://www.dotup.org/uploda/www.dotup.org586117.jpg
こんな感じの表記なのでGetPixelで実現できるようなものなのかと・・・
0965デフォルトの名無しさん
2010/01/23(土) 15:44:43比較してもいいし。
ただ、汎用的に、ってことだと、画像認識技術が必要だろうね。
0966デフォルトの名無しさん
2010/01/23(土) 15:48:05比較ってのは1pxずつずらしていくしかないんですかね・・・
0967デフォルトの名無しさん
2010/01/23(土) 15:54:56普通に考えて個人の手に負える仕事じゃない
0968デフォルトの名無しさん
2010/01/23(土) 15:59:36文字ならこんな大袈裟なことしなくてもいいと思うけど
/// <summary>
/// 違うBitmapが同じかどうか瞬時に判断できるようにBitmapのMD5ハッシュを計算する
/// 16進32桁(128ビット=16バイト)の文字列を返す
/// </summary>
/// <param name="bmp"></param>
/// <returns></returns>
public static string GetMD5Hash(this Bitmap bmp) {
BitmapData bitmapData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite, bmp.PixelFormat);
int bytes = bitmapData.Stride * bmp.Height;
byte[] bmpData = new byte[bytes];
Marshal.Copy(bitmapData.Scan0, bmpData, 0, bytes);
bmp.UnlockBits(bitmapData);
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] md5Data = md5Hasher.ComputeHash(bmpData);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < md5Data.Length; i++) {
sb.Append(md5Data[i].ToString("x2"));
}
return sb.ToString();
}
0969デフォルトの名無しさん
2010/01/23(土) 16:00:490970デフォルトの名無しさん
2010/01/23(土) 16:01:46OCR処理しようってんじゃなくて、
あらかじめ表示されるであろうパターンを用意しておいて比べるだけだよ
どんなフォントで表示されるのか決まっていないんであれば無理だけど
0971デフォルトの名無しさん
2010/01/23(土) 16:03:17同じ大きさで数字単位に切り取り、
景色統一してそのメソッドに放り込んでみます!
0972デフォルトの名無しさん
2010/01/23(土) 16:13:13輝度がある一定値を越えるかどうかでON/OFFを判断するって手もある
それを全ての文字パターンに対して同じかどうかピクセル毎に比較して、
違うピクセルの数が一番少ないのがそこの文字と解釈するとか
0973デフォルトの名無しさん
2010/01/23(土) 16:14:320974デフォルトの名無しさん
2010/01/23(土) 16:21:21Captcha 解析 か何かでググれ
0975デフォルトの名無しさん
2010/01/23(土) 16:22:30/// <summary>
/// Bitmap内で指定された色だけ抜き出す。
/// 指定された色の場所とそれ以外の色の場所で2色だけに書き換える
/// </summary>
/// <param name="bmp"></param>
/// <param name="extractColor">判定する色</param>
/// <param name="hitColor">extractColorだった場合に設定する色</param>
/// <param name="blankColor">extractColorでなかった場合に設定する色</param>
public static void ExtractColor(this Bitmap bmp, int extractColor, int hitColor, int blankColor) {
BitmapData bitmapData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
int intcnt = bitmapData.Stride / 4 * bmp.Height;
int[] colorData = new int[intcnt];
Marshal.Copy(bitmapData.Scan0, colorData, 0, intcnt);
for (int i = 0; i < intcnt; i++) {
if (colorData[i] == extractColor)
colorData[i] = hitColor;
else
colorData[i] = blankColor;
}
Marshal.Copy(colorData, 0, bitmapData.Scan0, intcnt);
bmp.UnlockBits(bitmapData);
}
0976デフォルトの名無しさん
2010/01/23(土) 16:54:54プロテクト甘いならねこまんま等でアドレス調べて
メモリを直接読んじゃうのが一番簡単だと思う
0977デフォルトの名無しさん
2010/01/23(土) 16:57:25だねえ
キャプチャ負荷だなんだかんだで画像解析してたら大変なことになる
0978デフォルトの名無しさん
2010/01/23(土) 17:26:55画面読み取りも似たようなもんではあるけど。
0979デフォルトの名無しさん
2010/01/23(土) 17:27:420980デフォルトの名無しさん
2010/01/23(土) 17:32:22パケットキャプチャでごにょごにょって手もあるな
0981デフォルトの名無しさん
2010/01/23(土) 17:37:26出来ないと思ってるだけでは?
そのネトゲの名前は何?
0982デフォルトの名無しさん
2010/01/23(土) 17:45:36http://pc12.2ch.net/test/read.cgi/tech/1264236247/
0983デフォルトの名無しさん
2010/01/23(土) 18:14:37パケット系も出来そうですが、とりあえずbmpの画像処理のほうやってます;
0984デフォルトの名無しさん
2010/01/23(土) 18:36:11どんな方法を使ってもメモリ閲覧を絶対に不可能にするなんてことは不可能。
0985デフォルトの名無しさん
2010/01/23(土) 18:46:41Windowsではどうなってるのかはしらんけど。
0986デフォルトの名無しさん
2010/01/23(土) 19:15:000987デフォルトの名無しさん
2010/01/23(土) 19:17:370988デフォルトの名無しさん
2010/01/23(土) 19:22:11もう買わん!プンスカ
0989デフォルトの名無しさん
2010/01/23(土) 19:35:48お前は選ばれなかっただけだ
0990デフォルトの名無しさん
2010/01/23(土) 19:36:30オライリーの本は日本語バージョンは糞本
amazonとかで洋書買え
0991デフォルトの名無しさん
2010/01/23(土) 19:36:510992デフォルトの名無しさん
2010/01/23(土) 19:43:38★が多くてもゴミな本もあるし
★が少なくても良い本もある。
ちゃんと用語の解説してるにもかかわらず、適当に読んでいる人が
「説明もなしにいきなり知らない用語がでてきた!意味不明でわかりにくい本だ!★2つ!」
なんつーレヴューも珍しくない。
0993デフォルトの名無しさん
2010/01/23(土) 21:10:140994デフォルトの名無しさん
2010/01/23(土) 21:20:27というか、>>992の言ってることが読めてないんじゃないの?w
確かに多いよ。読み手側の問題を本(著者)の著者のせいにしてるだけの批評。
正反対になんでも誉めればいいと思ってるとしか思えない奴の書いたレビューも多い。
版が違うだけで評価が全然違うとか多すぎて笑える。
とにかく、アマゾンのレビューは明らかな糞本をふるい落とすぐらいの効用しかないね。
0995デフォルトの名無しさん
2010/01/23(土) 21:26:310996デフォルトの名無しさん
2010/01/23(土) 21:28:39ふらっとC#,C♯,C#(初心者用) Part54
ttp://pc12.2ch.net/test/read.cgi/tech/1264236247/
0997デフォルトの名無しさん
2010/01/23(土) 21:35:590998デフォルトの名無しさん
2010/01/23(土) 21:46:250999デフォルトの名無しさん
2010/01/23(土) 21:47:031000デフォルトの名無しさん
2010/01/23(土) 21:48:3010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。