ふらっとC#,C♯,C#(初心者用) Part37
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/02/07(土) 23:40:54「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part36
http://pc11.2ch.net/test/read.cgi/tech/1232455653/l50
0002デフォルトの名無しさん
2009/02/07(土) 23:46:570003デフォルトの名無しさん
2009/02/07(土) 23:47:17http://pc11.2ch.net/test/read.cgi/tech/1233757615/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
http://pc11.2ch.net/test/read.cgi/tech/1211453941/
初心者のためのプログラミング言語ガイド Part13
http://pc11.2ch.net/test/read.cgi/tech/1232286278/
0004デフォルトの名無しさん
2009/02/07(土) 23:48:05http://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/
0005デフォルトの名無しさん
2009/02/08(日) 00:50:53Formにボタンを作り、それを押すと「終了しますか?」というロゴが出て
「はい」を選択するとプログラを終了、「いいえ」を選択すると
そのまま続行させるプログラムを書きたいのですが、
if文をどのように書けばこのように処理できるのでしょうか?
0006デフォルトの名無しさん
2009/02/08(日) 00:57:21{
if(MessageBox.Show("終了しますか",??.OkCancel) == DialogResult.OK)
this.Close();
}
こんなんだったと思うけど
0007デフォルトの名無しさん
2009/02/08(日) 01:04:43メッセージボックスで押されたボタンによってresultの値が変わるので、
Yesのときはフォームを閉じ、それ以外のときは何もしなければいい。
if (result == DialogResult.Yes)
{
Close();
}
でおk。
0008デフォルトの名無しさん
2009/02/08(日) 01:07:1200097
2009/02/08(日) 01:08:16一概には言えないけどね……
0010デフォルトの名無しさん
2009/02/08(日) 01:10:590011デフォルトの名無しさん
2009/02/08(日) 01:42:34これも知りたい
0012デフォルトの名無しさん
2009/02/08(日) 01:52:36中でメッセージループを回す結果、イベントの処理中にもかかわらず
他のイベントが発生する可能性があるためという話だけど。
0013デフォルトの名無しさん
2009/02/08(日) 01:59:030014デフォルトの名無しさん
2009/02/08(日) 02:04:190015デフォルトの名無しさん
2009/02/08(日) 02:10:28Form上のコントロールからのイベントならFormからフォーカス奪うから問題なし。
switch使えはエスパーするとYesNoCancelなどの3値型の場合かなぁ。
2値型ならifでいいと思うけど。
0016デフォルトの名無しさん
2009/02/08(日) 02:31:13自分の流儀ってならわかるけど、それを人に勧めるのはどうなのよ
0017デフォルトの名無しさん
2009/02/08(日) 02:35:160018デフォルトの名無しさん
2009/02/08(日) 02:37:49発生しないから
0019デフォルトの名無しさん
2009/02/08(日) 02:38:05タイマーイベントが呼ばれる。
本当に再入注意ってだけ。そのタイマーイベントの中でメッセージボックスを呼ぶとかしたらw
0020デフォルトの名無しさん
2009/02/08(日) 02:38:14起きて困るのは同じ種類のイベントが再入した場合だと思うのだけれど。
0021デフォルトの名無しさん
2009/02/08(日) 02:40:52発生しないんだ
>>19
呼ばれるんだ
>>20
>発生してそれで何か困ることがあるの?
このように今困ってる
0022デフォルトの名無しさん
2009/02/08(日) 02:48:42VB6の頃は発生しなかったような記憶があるけど。
0023デフォルトの名無しさん
2009/02/08(日) 02:52:17{
MessageBox.Show(”Take it easy !”);
}
ブラクラみたいな状態になる・・・
0024デフォルトの名無しさん
2009/02/08(日) 02:53:01そのメソッドがユーザの動作で呼ばれることもあれば、
タイムアウトで呼ばれる事もあるでしょ
どうなんの?
0025デフォルトの名無しさん
2009/02/08(日) 02:55:55どちらかが終了確認に関する処理を始めたらもう一方はすぐに処理を終えるようにする。
0026デフォルトの名無しさん
2009/02/08(日) 03:02:48staticなクラスを作って、それで表示させてあげればいいだけだが
で、条件式の中にMesssageBoxをいれてはいけない理由と、
結果をswitchで判断すべき理由は?
0027デフォルトの名無しさん
2009/02/08(日) 03:06:10いちおう、本人がそこまで求めてなかろうが何だろうがこれも。
void button1_Click(...)
{
this.Close();
}
void Form_FormClosing(...FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show(this, "終了しますか?", this.Text, MessageBoxButtons.YesNo);
if (result != DialogResult.Yes)
{
e.Cancel = true;
}
}
>>5
そのうち「フォームの[X]ボタンで閉じたら聞いてこなかったぞ?」という
問題に出くわすかもしれませんが、そのとき、Form.ControlBox = false に
する前にこれを思い出してください。
// でも確かFormClosingのキャンセル機能はバグがあるんだっけ?
0028デフォルトの名無しさん
2009/02/08(日) 03:10:34Xでもちゃんとイベントは発生してる。
FormClosingEventArgsに終了の理由(原因)を示す情報が入ってたと思うけど。
>>12はもう寝てるんじゃね?
0029デフォルトの名無しさん
2009/02/08(日) 03:11:36その最適解が存在しないなんて何もは進歩してないんだな
0030デフォルトの名無しさん
2009/02/08(日) 03:12:04ボタン押す → OKとCancelボタン付きForm表示 → それぞれのイベントハンドラ実行
って感じで
0031デフォルトの名無しさん
2009/02/08(日) 03:12:16>>12じゃなかった、>>7-8だ。俺も寝よ。
0032デフォルトの名無しさん
2009/02/08(日) 03:14:0000335
2009/02/08(日) 04:45:06無事に追加できました。
>>27
ご丁寧にありがとうございます。
FormにFormClosingイベントを追加するにはどうすれば良いのでしょうか?
0034デフォルトの名無しさん
2009/02/08(日) 04:48:14formを選択してプロパティウインドウのカミナリマークを押して探す
00355
2009/02/08(日) 05:08:29ありがとうございます。
こういうメニューがあったんですね。
いつもはコンソールでプログラムを書いている為、分かりませんでした。
0036デフォルトの名無しさん
2009/02/08(日) 05:31:48form.Closing += (sender,e) =>{
//処理を書く
};
こんなんでいい
0037デフォルトの名無しさん
2009/02/08(日) 10:59:23閉じるボタンでいちいち尋ねてくるなって感じる。
閉じるから押したんだよみたいな。
本当に閉じられたら困るときは別だけど
0038デフォルトの名無しさん
2009/02/08(日) 11:29:53ガッ
0039デフォルトの名無しさん
2009/02/08(日) 12:16:25{
if (MessageBox.Show("本当に終了しますか?","",MessageBoxButtons.YesNo) == DialogResult.YesNo)
{
if (MessageBox.Show("本当に終了しますよ?","",MessageBoxButtons.YesNo) == DialogResult.YesNo)
{
MessageBos.Show("じゃぁ終了します");
return;
}
}
}
0040デフォルトの名無しさん
2009/02/08(日) 14:24:54VSデバッグ時にアプリをバツボタンで終了させる間違って裏のVSまで押す時ある
デバッグを終了しますか?ってメッセージでるからはいって押すとVSが閉じるのが最初めちゃくちゃムカついた
VSもそれぐらいしつこいUIにしてほしい
0041デフォルトの名無しさん
2009/02/08(日) 14:30:43それよりも「デバッグを終了しますか?」でいいえを押す事に慣れろ。
0042デフォルトの名無しさん
2009/02/08(日) 14:34:38コンパイルエラー
DialogResult.YesNo は存在しません。
MessageBos は存在しません。
0043デフォルトの名無しさん
2009/02/08(日) 14:42:290044デフォルトの名無しさん
2009/02/08(日) 16:39:390045デフォルトの名無しさん
2009/02/08(日) 17:54:580046デフォルトの名無しさん
2009/02/08(日) 18:03:523回とも「しますか?」と「しませんか?」がランダムに入れ替わるようにして、
かつ[スタート]メニューに[今間違えて終わらせたプロセスを元に戻す]コマンドを
つけ、「元に戻しますか?」くらいやっとけば大丈夫だろ。
0047デフォルトの名無しさん
2009/02/08(日) 18:04:430048デフォルトの名無しさん
2009/02/08(日) 18:12:19最後のメッセージは「運がよかったな。今日はMPが足りないみたいだ。」で。
[帰れよ]ボタンもいるな。
0049デフォルトの名無しさん
2009/02/08(日) 18:38:270050デフォルトの名無しさん
2009/02/08(日) 18:40:390051デフォルトの名無しさん
2009/02/08(日) 19:21:46とあるForm1をClose()するにはどうしたらいいでしょうか?
0052デフォルトの名無しさん
2009/02/08(日) 19:26:30bool flag=true;
bool Flag{
get{return flag;}
set{〜}
}
じゃだめ?
0053デフォルトの名無しさん
2009/02/08(日) 19:29:580054デフォルトの名無しさん
2009/02/08(日) 19:30:44すまそ
0055デフォルトの名無しさん
2009/02/08(日) 19:30:49bool flag=true;
bool Flag{ ←これから先もbool型変数があるクラスに書くの?
get{return flag;}
set{〜}
}
0056デフォルトの名無しさん
2009/02/08(日) 19:35:27うん
でset{〜}
にやりたい処理書けばいい
最初にflag=trueにしたりして
あとpublic付けるの忘れたFlagの方
いらないなら良いけど
0057デフォルトの名無しさん
2009/02/08(日) 19:36:34set{
flag=value;
if(value==true){
//やりたい処理
}
}
0058デフォルトの名無しさん
2009/02/08(日) 19:37:20プロパティというのはクラス[デザイン]のプロパティ?
0059デフォルトの名無しさん
2009/02/08(日) 19:52:31他のクラスが何なのかによるけど、
少なくともForm1の状態変化に関する処理は、なるべくそのForm1に記述したほうがいいと思う。
なんで、他のクラスのboolがtrueになったらイベント発生させて、Form1の特定のメソッドを実行させる。
んで、そのメソッド内でCloseする。
0060デフォルトの名無しさん
2009/02/08(日) 19:59:47デバックで見ても作成したメソッドに飛ばない
0061デフォルトの名無しさん
2009/02/08(日) 20:58:06×なんで
○なので
なぜ〜に見えるから最後まで読まないとわからないからね
0062デフォルトの名無しさん
2009/02/08(日) 21:52:58(常にForm1をアクティブにする)方法を教えてください。
0063デフォルトの名無しさん
2009/02/08(日) 21:57:030064デフォルトの名無しさん
2009/02/08(日) 21:59:53Form.ShowWithoutActivation
クリックされてもアクティブにならないなら
ContextMenuStrip あたり改造
0065デフォルトの名無しさん
2009/02/08(日) 22:01:01どうやって使えば良いのかわからないんです。
0066デフォルトの名無しさん
2009/02/08(日) 22:01:08それとも呼び出し時にForm1をActiveにしたいだけで、その後は2枚目がActiveになってもいいの?
後者なら2枚目が表示された段階で、呼び出し元がForm1なら、
Form1.Activate();すればいいだけじゃない?
0067デフォルトの名無しさん
2009/02/08(日) 22:03:49Form2 で override して true 返すだけだよ
0068デフォルトの名無しさん
2009/02/08(日) 22:04:20めんどくせーな
http://www.atmarkit.co.jp/fdotnet/dotnettips/494shownonactive/shownonactive.html
0069デフォルトの名無しさん
2009/02/08(日) 22:08:23ありがとうございました。
0070デフォルトの名無しさん
2009/02/08(日) 22:08:54ありがとうございました。
0071デフォルトの名無しさん
2009/02/08(日) 22:09:23実際にはインテリセンスが効くからあっという間にオーバーライドできる。
ov[space]showw[space] くらいタイプすればプロパティの形ができるから、
あとは戻り値をtrueに書き換えればおk。
0072デフォルトの名無しさん
2009/02/08(日) 22:21:36TableAdapterのタイムアウト時間が設定できないとか、ほんと糞仕様だわ
0073デフォルトの名無しさん
2009/02/08(日) 22:27:05MS はまだフィードバック入れたら修正されるだけマシ。
0074デフォルトの名無しさん
2009/02/08(日) 22:29:23自然だと思う。細かい話をするとめんどくさいんでしないけど。
0075デフォルトの名無しさん
2009/02/08(日) 22:32:46最初から糞仕様には糞仕様と言い続けることが圧力になって反映されやすくなる。
0076デフォルトの名無しさん
2009/02/08(日) 23:02:19然るべき場所からフィードバックとして送らんと意味がない。
0077デフォルトの名無しさん
2009/02/08(日) 23:11:160078デフォルトの名無しさん
2009/02/08(日) 23:19:080079デフォルトの名無しさん
2009/02/08(日) 23:22:100080デフォルトの名無しさん
2009/02/08(日) 23:33:190081デフォルトの名無しさん
2009/02/08(日) 23:34:49何言ってるんだ?
0082デフォルトの名無しさん
2009/02/08(日) 23:37:24uintの値を演算で使うとintにそろえられるんでしょうか?それともlongですか?
0083デフォルトの名無しさん
2009/02/08(日) 23:39:24それ書いたの俺じゃねぇし
どっちも無意味で程度の差などない。何言ってるんだ?
まぁ、俺もお前もスレチだな。
0084デフォルトの名無しさん
2009/02/08(日) 23:40:16学生には配ってるし、知り合いいないのか?
使ってくれるだけでもうれしいはず。それで作ったアプリが宣伝になるからね。
俺はお金をもらわなきゃblendなんか使わない
0085デフォルトの名無しさん
2009/02/08(日) 23:43:420086デフォルトの名無しさん
2009/02/08(日) 23:43:57別にお前に対して言ってるわけじゃないんだが?
一方的にお前だけがスレチだな
0087デフォルトの名無しさん
2009/02/08(日) 23:48:09何言ってるんだ?
0088デフォルトの名無しさん
2009/02/08(日) 23:48:24このあと何ができるのか知るにはどうすればいいんですか?
置ける部品はリストにあるので置けばいいのはわかるんですが
その中の細かい動作のプログラムの部品の一覧はどうやってわかるんでしょうか?
0089デフォルトの名無しさん
2009/02/08(日) 23:49:52DirectX使ってるってんで期待してたんだが
0090デフォルトの名無しさん
2009/02/08(日) 23:53:00「身分証の提示は一切必要ありません」って書いてあってワラタ
0091デフォルトの名無しさん
2009/02/08(日) 23:58:08int []a = new int[10];
絶対こう書くしかないんですか?
int a[10];
こういう風にかけませんか?
0092デフォルトの名無しさん
2009/02/08(日) 23:59:04まあ、高機能な分、少々重い。
でも、たぶん、WPF に限らず .NET 全般の、初回起動時の遅さが一番でかくて、
後はそんなに気になるレベルじゃないと思う。
ただ、DirectX 使ってるからってゲームに使えると思っちゃダメ。
0093デフォルトの名無しさん
2009/02/08(日) 23:59:250094デフォルトの名無しさん
2009/02/09(月) 00:00:04基本的に書けない。
unsafe な struct 内限定で、
fixed int a[10]; とは書けるけども、
これは基本的にネイティブとの相互運用専用。
0095デフォルトの名無しさん
2009/02/09(月) 00:01:31ありがとうございました。
変数の宣言はすべてnewをつけないといけないの大変じゃないですか?
0096デフォルトの名無しさん
2009/02/09(月) 00:01:44var a = new int[10]
が限界かな
0097デフォルトの名無しさん
2009/02/09(月) 00:03:04コンパイルできなくなりました。
一度自動で出来たメソッドをきれいになかったことにするには、後どこをいじればいいんでしょうか?
0098デフォルトの名無しさん
2009/02/09(月) 00:07:59お前に対してレスした記憶がないんだが?
何で突っかかってくるんだ?
0099デフォルトの名無しさん
2009/02/09(月) 00:13:270100デフォルトの名無しさん
2009/02/09(月) 00:13:56変数は実体持たないただの入れ物。
new 付けてる方が本体。
0101デフォルトの名無しさん
2009/02/09(月) 00:14:58ドロップダウンのハンドラを削除
0102デフォルトの名無しさん
2009/02/09(月) 00:15:06仕様だから大変とは思わん
0103デフォルトの名無しさん
2009/02/09(月) 00:15:25newがいらないってことですか?
0104デフォルトの名無しさん
2009/02/09(月) 00:15:30デザイン画面で、Form1 の [プロパティ ウィンドウ]->[イベント タブ]->[Load] に、Form1_Load があるから、それを消すとおk
もしくは、Form1.Designer.csを直接編集して↓の一行を削除。
> this.Load += new System.EventHandler(this.Form1_Load);
0105デフォルトの名無しさん
2009/02/09(月) 00:20:38thx。しかし項目になにもないんですけど、
手動で削除するのはもう無理ですか?
新しくプロジェクトを作ってイベントから削除したらコードからも消えてました。
間違ってコードから消した場合、すでに大量に中身を書いていたらもうお手上げなんでしょうか?
0106デフォルトの名無しさん
2009/02/09(月) 00:21:20それですどうもです!
0107デフォルトの名無しさん
2009/02/09(月) 00:24:36今後気をつけますthx
0108デフォルトの名無しさん
2009/02/09(月) 00:28:10これは許容範囲ですか?みなさんどのぐらいかかりますか?
PenD3.2*2 Mem3.3BG です。
0109デフォルトの名無しさん
2009/02/09(月) 00:30:49とりあえずスタートページOFF
ついでに、スタートアップのコンテンツをダウンロードする間隔もOFF
0110デフォルトの名無しさん
2009/02/09(月) 00:39:050111デフォルトの名無しさん
2009/02/09(月) 00:40:24そりゃ、だって、
var a1 = new int [10];
var a2 = a1;
は合法なわけで。
0112デフォルトの名無しさん
2009/02/09(月) 00:48:17もしかしてCの構造体とは別物と考えたほうがいいんでしょうか?
0113デフォルトの名無しさん
2009/02/09(月) 00:49:54DateTimeの定義をたどってみてみるといいよ
構造体なんだけど、クラスのようでもあり、メソッドらしきものもある
0114デフォルトの名無しさん
2009/02/09(月) 00:55:21ストップウォッチを作りたいんですが、時間が来たら音で知らせる物にしたいんです。
音を出すの部分はどうやってコードにするんですか?
キリがないと思うので一覧のある場所を教えてほしいです。
0115デフォルトの名無しさん
2009/02/09(月) 00:57:04ttp://www.codepanic.net/cs.html
0116デフォルトの名無しさん
2009/02/09(月) 01:02:12組み合わせて頑張ってみます!
0117デフォルトの名無しさん
2009/02/09(月) 01:05:32そんなあなたにはVisual Basicをおすすめします。Dim a(9) As Integer
0118デフォルトの名無しさん
2009/02/09(月) 01:11:17どう考えても、DelphiかC++/CLIのほうがいいだろ
C#はDelphiのぱくりだし、ぱくりというか設計者が同じか。
今となってはマイナーなC#よりC++/CLIのほうが将来的に役立つ。
0119デフォルトの名無しさん
2009/02/09(月) 01:12:46C#はDelphiのぱくりだし、ぱくりというか設計者が同じか。
今となってはマイナーなC#よりF#のほうが将来的に役立つ。
0120デフォルトの名無しさん
2009/02/09(月) 01:14:290121デフォルトの名無しさん
2009/02/09(月) 01:17:340122デフォルトの名無しさん
2009/02/09(月) 01:17:58で結局WPFが糞だったみたいなw
0123デフォルトの名無しさん
2009/02/09(月) 01:20:17C#は中途半端
騙された
0124デフォルトの名無しさん
2009/02/09(月) 01:20:190125デフォルトの名無しさん
2009/02/09(月) 01:20:52MSILしかありえんだろw
0126デフォルトの名無しさん
2009/02/09(月) 01:22:270127デフォルトの名無しさん
2009/02/09(月) 01:23:36Delphi Prismは機会があれば使ってみたいけど、その機会が(ry
0128デフォルトの名無しさん
2009/02/09(月) 01:27:39普段、Windowsの仕様をボロクソに言うクセに、開発言語はMS製にしろという矛盾
0129デフォルトの名無しさん
2009/02/09(月) 01:33:030130デフォルトの名無しさん
2009/02/09(月) 01:38:210131デフォルトの名無しさん
2009/02/09(月) 01:43:56人はそうやって挫折しますw
0132デフォルトの名無しさん
2009/02/09(月) 01:52:110133デフォルトの名無しさん
2009/02/09(月) 01:52:360134デフォルトの名無しさん
2009/02/09(月) 01:53:020135デフォルトの名無しさん
2009/02/09(月) 01:55:38C#って勝ち組じゃね?
0136デフォルトの名無しさん
2009/02/09(月) 01:57:02どういうときに使うんですか?
0137デフォルトの名無しさん
2009/02/09(月) 01:58:170138デフォルトの名無しさん
2009/02/09(月) 01:59:550139デフォルトの名無しさん
2009/02/09(月) 02:00:05一度ってどういうことよ
条件があとからどんどん変わっていったら誰も正確な意見なんていえないぜ
0140デフォルトの名無しさん
2009/02/09(月) 02:01:52で後でstringにするみたいな
Objectはどう必要なんですか?
0141デフォルトの名無しさん
2009/02/09(月) 02:05:070142デフォルトの名無しさん
2009/02/09(月) 02:05:450143デフォルトの名無しさん
2009/02/09(月) 02:10:52型がわからないんじゃなくて、どんな型でも入れられるようにobject
クラスの状態などが変化した場合、それに応じてコントロールを変化させたいような場合、
そのクラスにコントロールのポインタを格納できれば便利でしょ
0144デフォルトの名無しさん
2009/02/09(月) 02:19:35unsafe
{
void* p = stackalloc byte[100];
}
0145デフォルトの名無しさん
2009/02/09(月) 17:57:400146デフォルトの名無しさん
2009/02/09(月) 18:04:48C# 4.0でググレ。
0147デフォルトの名無しさん
2009/02/09(月) 18:05:04ってなんぞ。わけわかめです New使うのと、左辺の変数に右辺の値を入れるくらいしかわからんのです。
0148デフォルトの名無しさん
2009/02/09(月) 18:06:440149デフォルトの名無しさん
2009/02/09(月) 18:18:30何で検索すればでてきます?カッコでキーワード?囲う意味がわからない
0150デフォルトの名無しさん
2009/02/09(月) 18:38:340151デフォルトの名無しさん
2009/02/09(月) 18:48:550152デフォルトの名無しさん
2009/02/09(月) 18:50:40ttp://msdn.microsoft.com/ja-jp/library/ms173105(VS.80).aspx
0153デフォルトの名無しさん
2009/02/09(月) 18:51:24一つのクラスにインスタンスコンストラクタと静的コンストラクタがある場合
インスタンスを作ったら両方よびだされるってことですか?
0154デフォルトの名無しさん
2009/02/09(月) 18:53:46質問する前にできる事は一度自分で試してみたほうが勉強になると思います。
0155デフォルトの名無しさん
2009/02/09(月) 18:56:520156デフォルトの名無しさん
2009/02/09(月) 19:10:02namespace HogeHoge
{
class Test
{
static int i;
static Test()
{
i = 100;
Console.WriteLine(@"staticコンストラクタ i={0}", i);
}
public Test()
{
Console.WriteLine(@"コンストラクタ1 i={0}", ++i);
}
public Test(string str)
{
Console.WriteLine(@"コンストラクタ2 i={0}", ++i);
}
}
class Program
{
static void Main(string[] args)
{
Test t1 = new Test();
Test t2 = new Test(@"test");
Console.ReadLine();
}
}
}
0157デフォルトの名無しさん
2009/02/09(月) 19:37:14t1の後ろにもConsole.ReadLine();を入れて静動両方のコンストラクタが呼ばれているのが確認できました。
しかし、これがうまくコンパイルできませんお願いします
class Test
{
static int i;
static Test() {
i = 100;
Console.WriteLine(@"staticコンストラクタ i={0}", i);
}
public Test() {
Console.WriteLine(@"コンストラクタ1 i={0}", ++i);
}
public Test(string str) {
Console.WriteLine(@"コンストラクタ2 i={0}", ++i);
}
}
class test2 : Test {
test2()
: base(str) { }
}
class Program {
static void Main(string[] args) {
Test t1 = new Test();
Console.ReadLine();
Test t2 = new Test("test");
Console.ReadLine();
test2 t3 = new test2("test");
Console.ReadLine();
}
}
0158デフォルトの名無しさん
2009/02/09(月) 19:41:27たぶんこういう発言している間はあなたはプログラミングに向いていないと思います。
0159デフォルトの名無しさん
2009/02/09(月) 19:58:080160デフォルトの名無しさん
2009/02/09(月) 19:58:450161デフォルトの名無しさん
2009/02/09(月) 20:16:550162デフォルトの名無しさん
2009/02/09(月) 20:57:21ソースコード見られちゃうのに。
それと、C#で書いたコードは、
PHPみたいに、WEB上だけで動かせられるの?
つまり、ソースコードを見られないで運用する、って意味だけど。
それがC#.NETなの?
0163デフォルトの名無しさん
2009/02/09(月) 21:00:050164デフォルトの名無しさん
2009/02/09(月) 21:01:12C#以外でも動作するの?まあ、デザインはJavaとHTML使ってるけど
0165デフォルトの名無しさん
2009/02/09(月) 21:13:400166デフォルトの名無しさん
2009/02/09(月) 21:27:51これは流行る
0167デフォルトの名無しさん
2009/02/09(月) 21:30:070168デフォルトの名無しさん
2009/02/09(月) 21:38:330169デフォルトの名無しさん
2009/02/09(月) 22:06:57157です。
0170デフォルトの名無しさん
2009/02/09(月) 22:11:12どこでどんなエラーになるかまで書かないと
自前でコンパイルまでしてくれる人はあんまりいないよ。
おそらくコンパイルエラーのメッセージがそのまま答えなのだろうけど。
0171デフォルトの名無しさん
2009/02/09(月) 22:32:51> test2 t3 = new test2("test");
これがどのコンストラクタを呼んでるのか考えてみろ
0172デフォルトの名無しさん
2009/02/09(月) 22:44:210173デフォルトの名無しさん
2009/02/09(月) 22:44:27test2( string str ) : base(str) { }
}
0174デフォルトの名無しさん
2009/02/10(火) 00:59:01string a = new string("test");
test2 t3 = new test2(a);
どこがだめですか?
0175デフォルトの名無しさん
2009/02/10(火) 01:00:26>どこでどんなエラーになるかまで書かないと
0176デフォルトの名無しさん
2009/02/10(火) 01:35:31class BASE
{
public BASE(string str)
{
Console.WriteLine(str);
}
}
class TEST : BASE
{
public TEST(string str)
: base(str2)
{
}
}
class Program
{
static void Main(string[] args)
{
string str = "abc";
TEST t3 = new TEST(str);
Console.ReadLine();
}
}
0177デフォルトの名無しさん
2009/02/10(火) 01:46:000178デフォルトの名無しさん
2009/02/10(火) 01:48:270179デフォルトの名無しさん
2009/02/10(火) 04:21:09イベントハンドラをまとめたクラスを作ってイベントに対応させるように使えばいいんでしょうか?
それとも個々にイベントハンドラをクラスに混ぜて使っていくものなんでしょうか?
0180デフォルトの名無しさん
2009/02/10(火) 05:17:590181デフォルトの名無しさん
2009/02/10(火) 05:26:570182デフォルトの名無しさん
2009/02/10(火) 06:14:21いつなるの?
0183デフォルトの名無しさん
2009/02/10(火) 06:50:56SP1で改善されたが、それでも不満ならBlend使うかVS2010待つかしかないだろうね。
0184デフォルトの名無しさん
2009/02/10(火) 07:12:560185デフォルトの名無しさん
2009/02/10(火) 07:18:120186デフォルトの名無しさん
2009/02/10(火) 07:51:17ありがとうございます。
0187デフォルトの名無しさん
2009/02/10(火) 08:28:28欠点差し引いても言語仕様がいいから。
ソース見られちゃうってのでいうと、JavaScript とか Flash だってそうだし。
PHP みたいなのの .NET 版は ASP.NET。
ASP.NET と比べたら PHP はかわいそうな子。
0188デフォルトの名無しさん
2009/02/10(火) 08:42:00アメリカ軍とベトコンくらいの違いだろ
0189デフォルトの名無しさん
2009/02/10(火) 08:49:17パクッたかどうかもバレバレ
パクられて困ってるなら訴えればいい
0190デフォルトの名無しさん
2009/02/10(火) 08:57:05巷のフリーソフトウェアは難読化とかしてるのかね
商用でもWebベースでなければ難読化必須な気がするが
0191デフォルトの名無しさん
2009/02/10(火) 09:14:49それ以外で難読化が必要なケースが思い浮かばないんだけど
つか.Net以外でも実行ファイルをリリースする時点でアルゴリズムも見ようと思えば見れるし
0192デフォルトの名無しさん
2009/02/10(火) 09:17:470193デフォルトの名無しさん
2009/02/10(火) 09:19:530194デフォルトの名無しさん
2009/02/10(火) 09:31:57難読可って名前を分かりにくくするぐらいしかやってなくて
リフレクションでぶっ壊れるイメージしかないけど
0195デフォルトの名無しさん
2009/02/10(火) 09:34:460196デフォルトの名無しさん
2009/02/10(火) 10:06:08確かに使えるけども
0197デフォルトの名無しさん
2009/02/10(火) 10:51:060198デフォルトの名無しさん
2009/02/10(火) 11:48:26コンパイルを終えて、実行するとエラーが起きてしまいます。
listboxの項目を何も選択していないのにClearSelected( )をするのはダメなのでしょうか?
0199デフォルトの名無しさん
2009/02/10(火) 11:53:52プロパティの中で、自身の名前(プロパティ名)を取得することってできますか?
調べましたがわからなかったため、方法があれば教えてください。よろしくお願いします。
0200デフォルトの名無しさん
2009/02/10(火) 12:21:47そんなことはないよ。
InitializeComponent()より前で呼んでるんじゃない?
0201デフォルトの名無しさん
2009/02/10(火) 12:54:190202デフォルトの名無しさん
2009/02/10(火) 12:58:45MSDNに書いてあるから嫁よ
ttp://msdn.microsoft.com/ja-jp/library/t3c3bfhx(VS.80).aspx
0203デフォルトの名無しさん
2009/02/10(火) 14:01:10FontがインストールされていないXPや2000ではどのFontで表示されるのでしょうか?
0204デフォルトの名無しさん
2009/02/10(火) 14:07:57http://seiji.yahoo.co.jp/
大江康弘? 誰? 高橋千秋?? 知らない。どちら様ですか?
そんな民主党のマイナー議員の皆様が激しく高得点。
そもそもどこの選挙区で何の実績を挙げてるのかすらよく知らん。誰かちゃんと全部知ってる?
そんな人が70人通りかかって69人も支持。嘘だろー。
それに何か10,259件も誰かのコメントに支持したり反対したりしている。
何この超絶ヒマそうな民主党支持者。わけわかんない。一時間ほど経過したところ、
評価数がさらに増えて10,289件になっている。見て回った中では最高得点のクリッカーだ。
懸命にクリックしているのだとすると腱鞘炎まっしぐらだし、
スクリプトだとするとBOT使いは死ねという話である。おとなげない。
ヤフーが捏造した政党支持率 自民3% 民主76% 共産6% 社民3% 新党日本4% 国民新党2% 公明1%
http://quizzes.yahoo.co.jp/quizresults.php?poll_id=7186&wv=1
アンケート操作疑惑
http://wiki.livedoor.jp/ahoo_question/d/FrontPage
0205デフォルトの名無しさん
2009/02/10(火) 14:16:59からなのでしょうか?。またどうやったらD&Dしたノードを調べる事ができますか?。
private void treeView_sites_DragDrop(object sender, DragEventArgs e)
{
TreeNode node = treeView_sites.GetNodeAt(e.X, e.Y);
}
0206デフォルトの名無しさん
2009/02/10(火) 14:22:37PointToClient とかで。
0207デフォルトの名無しさん
2009/02/10(火) 14:25:100208デフォルトの名無しさん
2009/02/10(火) 14:28:22TopMost = trueにすればよいですが、
TopMostみたいにずっと最前列じゃなくて、後ろのFormをクッリクした時みたいに、
FormにあるBottomを押したときに最前列にする方法はありませんか?
0209デフォルトの名無しさん
2009/02/10(火) 14:32:360210デフォルトの名無しさん
2009/02/10(火) 14:35:12ありがとうございます。
PointToClientで解決しました。
ノードの移動も追加するつもりでいますのでItemDragでも色々と試してみます。
0211デフォルトの名無しさん
2009/02/10(火) 15:04:14listbox.SelectedItem.ToString( )を使っています。
listboxの項目を選択した状態で、他の場所からlistbox.ClearSelected( )を行いました。
すると実行時に、listbox.SelectedItemが未定義になってしまいます。
別にlistboxの項目をクリックした分けでもないのに、選択解除をしたせいで、
listbox_SelectedIndexChangedの動作に入ってしまってエラーを起こしてしまいます。
お力添えお願いします。
0212デフォルトの名無しさん
2009/02/10(火) 15:12:09MSDN嫁
ttp://msdn.microsoft.com/ja-jp/library/system.windows.controls.primitives.selector.selecteditem(VS.80).aspx
0213デフォルトの名無しさん
2009/02/10(火) 15:18:54STLのmapのように入れ子にできて一意の値が代入できるコンテナってC#にありますか?
0214デフォルトの名無しさん
2009/02/10(火) 15:22:210215デフォルトの名無しさん
2009/02/10(火) 15:22:57どれですか
0216デフォルトの名無しさん
2009/02/10(火) 15:32:050217デフォルトの名無しさん
2009/02/10(火) 15:39:03ありがとうございます
使ってみます
0218デフォルトの名無しさん
2009/02/10(火) 15:49:30ありがとうございます。
選択されていなかったらnullを返す。
未定義ってことは他に原因があるのでしょうか?
0219デフォルトの名無しさん
2009/02/10(火) 15:54:17thisの型はForm型?それともClassA型?
0220デフォルトの名無しさん
2009/02/10(火) 17:40:230221デフォルトの名無しさん
2009/02/10(火) 17:44:530222デフォルトの名無しさん
2009/02/10(火) 17:56:08つ this.GetType()
0223デフォルトの名無しさん
2009/02/10(火) 18:04:39現状ではDLLを暗号化しておいて、実行時にネイティブコードを呼び出して
デコード→読み込みみたいな感じにしてる。
Reflectorだけでは解析不可だけど、ちょっと詳しい人なら簡単に突破される。
将来的には
ネイティブの実行ファイル起動→スプラッシュロゴ表示(.Netの遅い起動対策)
→裏でマネージコードをデコード&exeの起動
みたいな事ができないかと考えてる。
0224デフォルトの名無しさん
2009/02/10(火) 18:16:120225デフォルトの名無しさん
2009/02/10(火) 19:48:02C#でD3D上にUI作るにはどういった方法がありますか?
0226デフォルトの名無しさん
2009/02/10(火) 20:14:050227デフォルトの名無しさん
2009/02/10(火) 20:29:56OnPaintイベントでD3D描画。これだけで3D表示とコントロールは共存できる。
ツールとかならこれでいーんだろーけど、ゲーム等、リアルタイムで
アニメーションさせる場合とかは一考が必要。
ただD3Dのパフォーマンスをギリギリまで求めると
コントロールのレスポンスが悪くなる。作るものに応じて何通りか試すといいかと。
0228デフォルトの名無しさん
2009/02/10(火) 20:40:54各コントロールは自作のMyControlクラスを継承して,
それぞれOnRenderをオーバーライドして描画するとかWinFormsっぽくするとそんなに難しくない
0229デフォルトの名無しさん
2009/02/10(火) 20:40:56ListBox.ClearSelected()を見たほうがいいかもね。
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ListBox ctl = (ListBox)sender;
if (ctl.SelectedIndex == -1)
{
label1.Text = "Cleared!";
}
else
{
label1.Text = ctl.SelectedItem.ToString();
}
}
0230デフォルトの名無しさん
2009/02/10(火) 22:41:340以上の数値にしかなり得ないような数値の返り値がintなのはなぜでしょうか?
uintであるべきではない理由があったら教えて下さい。
0231デフォルトの名無しさん
2009/02/10(火) 22:44:39intに最適化されてるから
符号なし数値型はCLS非準拠だから
0232デフォルトの名無しさん
2009/02/10(火) 22:48:41「わざわざ」uintなんぞにしちまったらintと演算するごとに(以下略
0233デフォルトの名無しさん
2009/02/10(火) 22:51:190234デフォルトの名無しさん
2009/02/10(火) 22:54:34サポートしてない言語がありうるから
CLSは言語間の相互運用性を確保するための仕様
0235デフォルトの名無しさん
2009/02/10(火) 22:56:05コンパイルするとき選べるDebug Releaseの選択とはまた違うのか
0236デフォルトの名無しさん
2009/02/10(火) 22:57:03CLS非準拠というのは理解できました。
intの最適化されているというのは、これだけの情報では検索範囲が広すぎて
どういう意味なのかがわかりませんでした。
よろしければ、何がどのように、何に対して最適化されているのか、補足いただけないでしょうか。
また統一したほうが便利というのは、
このような要素数を格納するような変数はこれまでintを使用していたので、
仮に-1などの要素数が代入されエラーが発生する可能性を許容しても、
変数としてintを利用することの便利性のほうが勝るということでいいでしょうか?
>>232
uintを宣言した段階で正数しか入らないということが、
クラス設計上わかりやすいのではと思いました。
例えば配列のindexをプロパティで入力してもらうとき、intだと負数の入る余地があり、
実際に数値を判断して例外なりを出す必要があるのではと思ったということです。
0237デフォルトの名無しさん
2009/02/10(火) 23:05:29それとも偏って使い物になりませんか?
0238デフォルトの名無しさん
2009/02/10(火) 23:07:22いわゆるプリプロセッサシンボルというやつ。用途はググれ
プロジェクト構成でDebugを選ぶと自動的にDEBUGは定義されるから#define DEBUGは書く必要ない
プロジェクト構成で設定している意味がなくなるからむしろ書いてはいけない
>>237
なにか問題が出たらそれから考えればいいだろ
0239225
2009/02/10(火) 23:09:26にほんご入力とかも、必要があれば自分で実装しないといけないのかしら
0240デフォルトの名無しさん
2009/02/10(火) 23:11:12なるほどthx
0241デフォルトの名無しさん
2009/02/10(火) 23:12:12なぜかはよくわからん。
エラーメッセージがアバウトすぎるので。
アンチILDASMオプションのようなものがある難読化ツールはいくつかあるよ
高価な奴だと、難読化したままデバッグ可能なものも
0242デフォルトの名無しさん
2009/02/10(火) 23:17:310243デフォルトの名無しさん
2009/02/10(火) 23:30:24クラスではないし、拡張は出来ないが
>>144 が最速
0244デフォルトの名無しさん
2009/02/10(火) 23:39:16普通に使う分には十分なばらつきだけど
暗号化に使えるぐらいのやつが欲しいなら
System.Security.Cryptography.RNGCryptoServiceProvider
0245デフォルトの名無しさん
2009/02/10(火) 23:44:02拡張?サイズ変更できないってことですか?
工夫が必要なんでしょうか?素人が速くするのは無理くさいです。
0246デフォルトの名無しさん
2009/02/10(火) 23:46:17結構速いよ
0247デフォルトの名無しさん
2009/02/10(火) 23:46:260248デフォルトの名無しさん
2009/02/10(火) 23:48:51たかが配列でそんなにパフォーマンスおちないと思うよ
別のところが原因じゃね?
0249デフォルトの名無しさん
2009/02/10(火) 23:49:190250デフォルトの名無しさん
2009/02/10(火) 23:51:03前半
int型で処理するのが一番早い
後半
>>234嫁
0251デフォルトの名無しさん
2009/02/10(火) 23:52:39何をどう「速く処理」したいのかによる。
コレクションクラスってのは、それぞれ一長一短があるから、
わざわざあんなにたくさん用意してあるんだよ。
0252デフォルトの名無しさん
2009/02/11(水) 00:01:00動的配列に入れたい数はとりあえず28M個とかです。
C++ではvectorでやってるんですが、入れるだけでもものすごく遅いです。この量かint64MAX値まで格納できて速いのがいいです。
0253デフォルトの名無しさん
2009/02/11(水) 00:03:45ありがとうございます。
>int型で処理するのが一番早い
これはどこから得られたデータですか?
もしご存じでしたらお教えくださらないでしょうか。
なるほど、ということは、>>234に関して、これを前提で考えると、ulongやuint等は
基本的に速度も遅いし、特に使用するメリットが無いし、
今までの使われてきた経緯からなるべき使用すべきではないという理解でいいでしょうか?
何度も質問して申し訳ないですが、よろしくお願いいたします。
0254デフォルトの名無しさん
2009/02/11(水) 00:04:140255デフォルトの名無しさん
2009/02/11(水) 00:05:46thx変わりになるものなのか
>>246
すまんねListと聞いただけで拒否反応してしまったすまん。
0256デフォルトの名無しさん
2009/02/11(水) 00:25:51IL 上は signed も unsigned もマーク程度で実質あまり変わらん。
むしろ native int や unsigned int32 が多いから早いとはいえないというか
言語が変換命令入れる必要があったりするわけだけどそれが重いか
といわれると別に。
というか int しかない言語も存在したり CLS にない理由がいくつかある
わけだが一言で言うとだな、ゼロ以上「だけ」の特殊な状況での型分け
なんていらん。コレクションのインデクサにしたって Length 以下も駄目
だろ。
0257デフォルトの名無しさん
2009/02/11(水) 00:25:59どうせフレームワークのメンバで公開されてるのはほとんどintなんだから
uint使ったらオーバーフローとか気にしないといけないからかえってわかりづらい
利便性という意味での最適化
0258デフォルトの名無しさん
2009/02/11(水) 00:42:42なるほど、所詮入れる箱としての変数なので、正数だからという区別がある必要はないということですね。
だったらなぜuintなぞがあるのか聞きたい気もしますが、これはMSにしかわいらないことですしね。
>コレクションのインデクサにしたって Length 以下も駄目だろ。
0以下、Length以上が駄目ですね。ただ、0以下が駄目なことは変数の型から理解できるのではと思ったということです。
ありがとうございました。
>>257
なるほど、過去の遺産や他の言語の整合性との観点や、
過去からの流れがあって、正数だけに限定するとかえって混乱が発生し、
逆に利便性が低下するので問題が発生するということですね。
もしuintなどが過去からあって利用されていたら配列の要素数にuintが変えるような
言語が普通だったのかななどと想像すると、どちらがいいのか考えさせられますが、
お話を聞いて納得できました。
ありがとうございました。
0259デフォルトの名無しさん
2009/02/11(水) 01:49:43冷やかすわけじゃないけどちょっと大げさに考えすぎなんだと思うよw
「なぜ」なんていったって別にそんな深い理由があってuintを避けてる、
とかじゃ全然ないと思うよ。
単にあえて符号無しの型を使う理由がないから、っていうだけのことでしょ。
8bitや16bitの時代なら符号なしの型にも存在意義があったと思うけど、(例えば50,000までの
インデックスを表す変数のために32bit使うのは馬鹿らしいから)32bit以上になっちゃったら
存在意義は薄い、そんだけのことだと思うよ。
0260デフォルトの名無しさん
2009/02/11(水) 01:58:250261デフォルトの名無しさん
2009/02/11(水) 02:05:310262デフォルトの名無しさん
2009/02/11(水) 02:13:120263デフォルトの名無しさん
2009/02/11(水) 02:19:55Z80の相対ジャンプにはキャリーフラグでの条件ジャンプはあったが、オーバーフロー
(パリティ)フラグによるものはなかった、とか
一般にキャリーを見るよりもオーバーフローを見る方が1ビットだけコストが高い、とか
ヲタッキーな遠因を語ってもいいけどね。
0264デフォルトの名無しさん
2009/02/11(水) 02:22:37プログラムに特許ってあるの?
0265デフォルトの名無しさん
2009/02/11(水) 02:24:53あと、VBも忘れちゃいかん。
言語・ライブラリではきちんと使い分けているC++でも、
intだけで全部済ましているプログラム見てorzとか良くあるから、
全部intにしているのはかえっていいと段々思うようになった。
0266デフォルトの名無しさん
2009/02/11(水) 02:30:10残念ながら、計算方法(アルゴリズム)に特許が認められてしまっている。
ソフトウェア特許と呼ばれるやつ。
有名だったGIFでは、圧縮アルゴリズムLZWに特許がかかっており、
特許料を取るとまくし立てられたので、自前実装も軒並み消えた。
個人・フリー相手にそこまでやかましいのは最近見なくなったけど。
0267デフォルトの名無しさん
2009/02/11(水) 02:41:560268デフォルトの名無しさん
2009/02/11(水) 02:47:51計算に関しては、回路配置利用権とかみたいに別方式を作ったほうが良かったと思う。
0269デフォルトの名無しさん
2009/02/11(水) 02:52:07特許には関わりたく無いと思った
0270デフォルトの名無しさん
2009/02/11(水) 02:57:44基本的に大企業が互いに牽制しあうためのものだから、
特許権が行使されず誰にも害悪のないことがほとんど。
たまに、一太郎アイコンの松下みたいに勘違いしたのが出てくるけど。
0271デフォルトの名無しさん
2009/02/11(水) 03:11:25逆にそのぐらい払わないと経済がまわらなくね?と思った
電化製品だって作るのに部品買わなきゃいけないのにソフトは人件費だけってんだから全く足引っ張ってないと思う
0272デフォルトの名無しさん
2009/02/11(水) 03:21:52(と同時に、LAMEやx264のようなフリーソフトが見逃されている現状は嬉しい)が、
バルーンヘルプのようなものまで特許になるのは勘弁してくれ。
0273デフォルトの名無しさん
2009/02/11(水) 03:22:02アイコンがアウトだとか、その機能は許可をとっているのでしょうかとか、ただちに販売を停止しないのなら法的手段に訴えますとか。
エロサイトのポップアップ支払命令とかわらん、全然関係ない完全な第3者なのが超ウケル
0274デフォルトの名無しさん
2009/02/11(水) 10:47:22GIF の騒ぎは、別の優れた形式を普及させるためだった、とも言われてるね。
0275デフォルトの名無しさん
2009/02/11(水) 11:25:21もっと圧縮率高められたんだろ
0276デフォルトの名無しさん
2009/02/11(水) 11:36:27wwwww
GPL教とオープンソース教も嫌いだな〜
0277デフォルトの名無しさん
2009/02/11(水) 12:50:26消極的理由はあるんだよ。
だから、「あえて」特定の型を選択する積極的理由がないなら
一番汎用性が高い型をデフォルト的に選択するのは当然のことじゃないか。
>>261
そんなわけないだろ。
言ってる意味がわからない。
0278デフォルトの名無しさん
2009/02/11(水) 13:06:590279デフォルトの名無しさん
2009/02/11(水) 13:17:100280デフォルトの名無しさん
2009/02/11(水) 13:47:47マジで?俺が公開しているソフトは今のところその被害ない。
大量にって、ホントにアウトな著作権法違反したんじゃなくて?
0281デフォルトの名無しさん
2009/02/11(水) 14:02:26ある程度大手ならさもありなんだと思うよ。
どの業界でもクレーマーって実際多いから。
ゴネ得狙いの奴もいれば、「環境浄化運動」やってる更年期のオバチャン的な
頭がオカシイ奴もいる。
0282デフォルトの名無しさん
2009/02/11(水) 14:59:29Form型フォーム1に、Form型フォーム2を引っ付けることは可能でしょうか?
できれば場所移動は連動可能で、フォーム2の上にある上のバーを消したいです。
0283デフォルトの名無しさん
2009/02/11(水) 15:01:590284デフォルトの名無しさん
2009/02/11(水) 16:08:23仕方なくフォームを使ったとして、
Dockなどで連携できないでしょうか?
0285デフォルトの名無しさん
2009/02/11(水) 16:10:23イレギュラーなことをするには、それなりのコストが必要ってことだな。
0286デフォルトの名無しさん
2009/02/11(水) 16:11:210287デフォルトの名無しさん
2009/02/11(水) 16:16:23それは一筋縄ではいかない。
DockPanel Suiteか何か使わないと。
http://sourceforge.net/projects/dockpanelsuite/
0288デフォルトの名無しさん
2009/02/11(水) 16:17:21MagicDockというのが調べても分からなかったのですが、
たぶん名前からしてそんな感じだと思います。
0289デフォルトの名無しさん
2009/02/11(水) 16:21:52あー、納得。某ゲーム会社大手で指四本のキャラが身体障害者団体から
クレームくるからと差し替えになってたな。
>>282
ボーダースタイルとかTopLevelとか単語超うろ覚えで申し訳ないんだけど、
その辺いじればFormをコントロールのように扱えたと思う。
あと、リージョンとかいじれば2ドット四方のFormとか作れる。
0290デフォルトの名無しさん
2009/02/11(水) 16:24:46ありがとう。でも英語苦手です。
0291デフォルトの名無しさん
2009/02/11(水) 16:25:47いずれにせよ、質問は自分の思ってることが読み手に正確に伝わるように書いてくれ。
自覚がなさそうだが、君の書く文章は読み手の視点で文章推敲できない奴の典型。
0292デフォルトの名無しさん
2009/02/11(水) 16:30:14せめてダウンロードはしてみたのか?
0293デフォルトの名無しさん
2009/02/11(水) 16:41:08今後気をつけます。
>>292
ダウンロードしましたが、使い方が難しそうです。
0294デフォルトの名無しさん
2009/02/11(水) 17:39:110295デフォルトの名無しさん
2009/02/11(水) 18:11:19C#(2005Express)で簡単なWindowsアプリケーションを作っています。
Formが1つと、Message用のLabelが1つ、
NowLoadingをイメージしたアニメーションGIFを表示するPictureBoxが1つあります。
解決したいのは、Form_Loadイベント内で色々処理を行っている間に、
アニメーションGIFが止まってしまっている問題です。
色々処理を行っているのを示すために、アニメーションGIFを表示しているのに、
すべての処理が終わってからアニメーションが開始されてしまいます。
以下ソースです。
* PictureBoxのImageは、プロパティで指定しています。
* Sleep処理は、色々な処理の代替です。
---
private void Form1_Load(object sender, EventArgs e)
{
this.Refresh();
// Wait 5000 ms
System.Threading.Thread.Sleep(5000);
label1.Text = "5000ms...";
this.Refresh();
// Wait 8000 ms
System.Threading.Thread.Sleep(8000);
label1.Text = "8000ms..."; //ここからアニメーションが開始されます。
}
---
よろしくお願いいたします。
0296デフォルトの名無しさん
2009/02/11(水) 18:19:45メッセージを処理できるようにしないと描画されるわけがないよ。
0297デフォルトの名無しさん
2009/02/11(水) 20:43:45windowsフォームの位置を取得するにはどのようにしたら良いでしょうか?
0298デフォルトの名無しさん
2009/02/11(水) 20:46:520299デフォルトの名無しさん
2009/02/11(水) 20:51:37Form1.Location = new Point(100, 100); とすると
設定は・・・
0300デフォルトの名無しさん
2009/02/11(水) 20:52:37public partial class Form1 : Form
{
delegate void ThreadMethodDelegate( );
ThreadMethodDelegate thrd;
public Form1( )
{
InitializeComponent( );
}
private void Form1_Load( object sender, EventArgs e )
{
thrd = new ThreadMethodDelegate( ThreadMethod );
thrd.BeginInvoke( new AsyncCallback( CallbackMethod ), null );
}
public static void ThreadMethod( )
{
System.Threading.Thread.Sleep( 5000 );
}
private static void CallbackMethod( IAsyncResult ar )
{
MessageBox.Show( "ワーカー終了" );
}
}
0301デフォルトの名無しさん
2009/02/11(水) 20:52:47何をどこに書いたらいいのか分からん。
0302デフォルトの名無しさん
2009/02/11(水) 20:58:220303デフォルトの名無しさん
2009/02/11(水) 20:58:230304デフォルトの名無しさん
2009/02/11(水) 21:22:200305デフォルトの名無しさん
2009/02/11(水) 21:44:440306デフォルトの名無しさん
2009/02/11(水) 21:49:410307デフォルトの名無しさん
2009/02/11(水) 21:52:240308デフォルトの名無しさん
2009/02/11(水) 22:00:39これで、マルチキャストにならない以外C#のデリゲートと同じ感覚にできる。
0309デフォルトの名無しさん
2009/02/11(水) 22:05:30意味わからないだろうけど,ただこれだけのことなんだよ
まあ慣れてきたらそのうちわかる
0310デフォルトの名無しさん
2009/02/11(水) 22:23:35WPFはまん中にくるのでそういう風にしたいです
0311デフォルトの名無しさん
2009/02/11(水) 22:24:30フォームのプロパティにあるだろ
0312デフォルトの名無しさん
2009/02/11(水) 22:44:11でも実行される関数のポインタが格納されてるだけって考えるほうが簡単だし
0313デフォルトの名無しさん
2009/02/11(水) 22:45:530314デフォルトの名無しさん
2009/02/11(水) 22:46:550315デフォルトの名無しさん
2009/02/11(水) 22:46:560316デフォルトの名無しさん
2009/02/11(水) 23:02:230317デフォルトの名無しさん
2009/02/11(水) 23:03:38Vista VS2005C#でWebアプリWebサービスを作っていたのですが、
自分のマシンのIIS上にそれらを配置した場合、キャプチャする事は出来無いのでしょうか・・・?IPが同じだとダメなのでしょうか・・・?
MicrosoftのNetworkMonitorを使ってみたのですが、拾えていません。
一応別のマシンのIISに入れた場合は見ることが出来たのですが・・・
デバッグする為に同一マシン内で動作させられたら楽なのになと思いまして。
スレ違いだったらすみません、無視して下さい。
0318デフォルトの名無しさん
2009/02/11(水) 23:06:300319デフォルトの名無しさん
2009/02/11(水) 23:06:490320デフォルトの名無しさん
2009/02/11(水) 23:21:34違くて、デザイナの中央に配置して作業しやすくしたいだけです
0321デフォルトの名無しさん
2009/02/11(水) 23:22:11なるほど。
loopbackを使う方法が使えないので、
同一IPのキャプチャはおそらく無理という事ですよね。
ありがとうございました。
>>319
他のスレに書こうか迷ったんですが、とりあえずレスをいただけそうなここにしましたw
もらえなければ何時間か試して諦めようと思ってたんでw
スレ汚しすいませんでした、ありがとうございました。
0322デフォルトの名無しさん
2009/02/11(水) 23:24:120323デフォルトの名無しさん
2009/02/11(水) 23:26:12常時メソッドを実行し(呼び出し)続けることは可能ですか?
0324デフォルトの名無しさん
2009/02/11(水) 23:26:44localhostでアクセスするのと挙動が違うんだぜ
0325デフォルトの名無しさん
2009/02/11(水) 23:27:48タイマ
Application.Idleイベント
0326デフォルトの名無しさん
2009/02/11(水) 23:28:19何がやりたいのかわからないけど、無理。
0327デフォルトの名無しさん
2009/02/11(水) 23:37:570328デフォルトの名無しさん
2009/02/11(水) 23:40:230329デフォルトの名無しさん
2009/02/11(水) 23:45:17サンプルください
0330デフォルトの名無しさん
2009/02/11(水) 23:48:13もっと文字にフィットした枠にはなりませんか?
ラベルどうしを近づけたいんですが、隠れるんです
0331デフォルトの名無しさん
2009/02/12(木) 00:13:360332デフォルトの名無しさん
2009/02/12(木) 00:15:370333デフォルトの名無しさん
2009/02/12(木) 00:18:10自分のパソコンでしか使わないのですが、気になったので教えてください
0334デフォルトの名無しさん
2009/02/12(木) 00:19:210335デフォルトの名無しさん
2009/02/12(木) 00:33:09オプション-環境-全般-ウィンドウ レイアウト-マルチ ドキュメントで
それで駄目ならデザイナを自作しましょう。
0336デフォルトの名無しさん
2009/02/12(木) 00:33:19背景色は透過にした?
まあ君がやりたいことと違うかもしれんが。
0337デフォルトの名無しさん
2009/02/12(木) 00:58:26タブ付きドキュメントは外せないのであきらめますthx
0338デフォルトの名無しさん
2009/02/12(木) 01:00:00下のtextの中にどうしても文字化けした文字列しか出てこず、詰まってます。
どこが悪いかわかる方教えてください。
using System.Net;
using System.Text.RegularExpressions;
func hoge()
{
string str = string.Format("http://maps.google.com/maps/geo?q={0}&output=xml&hl=ja&key=", "tokyo%20tower");
string strAddress = "";
WebRequest req = HttpWebRequest.Create(str);
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream(),Encoding.UTF8,false);
try
{
string text = sr.ReadToEnd();
Match adres= Regex.Match(text, "<address>.*</address>"); // 住所が入っている。。。が文字化け。
if (!adres.Success) return "";
strAddress = adres.Value.Substring(9, adres.Length - 19);
}
finally
{
sr.Close();
}
return strAddress;
}
0339デフォルトの名無しさん
2009/02/12(木) 01:17:31PrivateFontCollectionクラスを使えば再配布可能なFontファイルを同梱して
未インストールでもそのアプリケーションだけで使える
0340デフォルトの名無しさん
2009/02/12(木) 01:20:520341デフォルトの名無しさん
2009/02/12(木) 01:21:47返してるから
StreamReader sr = new StreamReader( res.GetResponseStream( ), Encoding.GetEncoding( "Shift_JIS" ) );
にしたら読めたよ
0342デフォルトの名無しさん
2009/02/12(木) 01:32:53Backcolorでなしがないです
0343デフォルトの名無しさん
2009/02/12(木) 01:48:55private System.Windows.Forms.Label Hour;
long tick=DateTime.Now.Ticks;
DateTime d = new DateTime(tick);
Hour.Text = d.Hour.ToString;
0344デフォルトの名無しさん
2009/02/12(木) 01:50:520345デフォルトの名無しさん
2009/02/12(木) 01:51:52↓
Hour.Text = d.Hour.ToString();
0346デフォルトの名無しさん
2009/02/12(木) 01:52:17Hour.Text = d.Hour.ToString();
0347デフォルトの名無しさん
2009/02/12(木) 01:52:300348デフォルトの名無しさん
2009/02/12(木) 02:23:10参考になるサイトとかありますか?
0349デフォルトの名無しさん
2009/02/12(木) 02:27:53どう書けばいいでしょうか
private void Set_Click(object sender, EventArgs e)
{
flagThread = !flagThread;
}
bool flagThread = true;
private void Form1_Load(object sender, EventArgs e)
{
Thread thread_TimeUpdata = new Thread(new ThreadStart(TimeUpdata));
thread_TimeUpdata.Start();
}
private void TimeUpdata()
{
while (flagThread)
{
long tick = DateTime.Now.Ticks;
DateTime d = new DateTime(tick);
Hour.Text = d.Hour.ToString();
Minute.Text = d.Minute.ToString();
Second.Text = d.Second.ToString();
Thread.Sleep(300);
}
}
0350デフォルトの名無しさん
2009/02/12(木) 02:30:37その上で構造を考え直してみよう
0351デフォルトの名無しさん
2009/02/12(木) 02:30:53http://www.marumo.ne.jp/db2007_b.htm#25
ARIB STD-B25 仕様確認テストプログラム
そこに書いてあるように、0.2.2が最新。
C#じゃないとか贅沢は言わないように。
0352デフォルトの名無しさん
2009/02/12(木) 04:46:42bool flag = true;
private void Set_Click(object sender, EventArgs e)
{
if (flag)
{
flag = false;
}
else
{
flag = true;
Thread thr_Time = new Thread(new ThreadStart(delegate()
{ this.Invoke((MethodInvoker)delegate()
{ TimeUpdata(); });
}
}
thr_Time.Start();
}
}
private void TimeUpdata()
{
long tick = DateTime.Now.Ticks;
DateTime d = new DateTime(tick);
Hour.Text = d.Hour.ToString();
Minute.Text = d.Minute.ToString();
Second.Text = d.Second.ToString();
}
0353デフォルトの名無しさん
2009/02/12(木) 04:55:35http://www.atmarkit.co.jp/fdotnet/dotnettips/312ctrlinvoke/ctrlinvoke.html
0354デフォルトの名無しさん
2009/02/12(木) 05:10:09なんでこんなに難しいんですか?
すごい基本的な機能だと思うんですが、いきなり挫折しそうなんですが・・・
0355デフォルトの名無しさん
2009/02/12(木) 05:20:410356デフォルトの名無しさん
2009/02/12(木) 05:21:13別スレッドからGUIにアクセスするときはControl.Invokeする癖をつける
0357デフォルトの名無しさん
2009/02/12(木) 05:30:500358デフォルトの名無しさん
2009/02/12(木) 07:40:430359338
2009/02/12(木) 07:54:04ありがとう。読めました。
Googleがshift_jis返すとは思ってませんでした。
韓国で試したらまだハングル部分が文字化けするけど。
0360デフォルトの名無しさん
2009/02/12(木) 08:51:59確か、Valueプロパティとかあったはず
>>359
普通にブラウザから叩いたら、UTF-8でくれたよ?
0361デフォルトの名無しさん
2009/02/12(木) 09:31:560362デフォルトの名無しさん
2009/02/12(木) 10:34:250363デフォルトの名無しさん
2009/02/12(木) 10:36:11テキストエリアとその中に書いた文章を「送信ボタン」を押すことで
サーバーに送信するサイトがあるとします。
そのサーバーに対して
C#で作ったアプリのテキストボックスに文章を書いて
C#で作った送信ボタンを押して
WEBサイト上と同じ結果を得れる方法を探しているのですが
それについて詳しいサイトとか
ご存じの方いませんか。
0364デフォルトの名無しさん
2009/02/12(木) 11:04:39なるべく実行ファイルはシンプルにしたいんです
0365デフォルトの名無しさん
2009/02/12(木) 11:10:200366デフォルトの名無しさん
2009/02/12(木) 11:28:00http://www13.plala.or.jp/kymats/study/MULTIMEDIA/PlaySound_file_rsc.html
0367デフォルトの名無しさん
2009/02/12(木) 11:45:160368デフォルトの名無しさん
2009/02/12(木) 13:02:17C# Postで検索するとぽろぽろでてくるよ
0369デフォルトの名無しさん
2009/02/12(木) 14:26:53ありがとう〜!
0370デフォルトの名無しさん
2009/02/12(木) 14:51:07つドリエル
0371デフォルトの名無しさん
2009/02/12(木) 15:42:09何かいい方法はないでしょうか?
#define TEST_MESSAGE "テスト"
みたいな書き方をしたかったのですが、上手くいきません
どこからでも参照できるグローバルのような方法はないんでしょうか?
0372デフォルトの名無しさん
2009/02/12(木) 15:44:22リソース
0373デフォルトの名無しさん
2009/02/12(木) 15:44:580374デフォルトの名無しさん
2009/02/12(木) 16:00:420375デフォルトの名無しさん
2009/02/12(木) 16:06:220377デフォルトの名無しさん
2009/02/12(木) 16:16:00FormにDataGridViewを表示しています。
セルの中に改行があるときに改行されて表示させるために、WrapModeをDataGridViewTriState.Trueにしました。
すると、改行が含まれているセルは改行位置で改行されるようになったんですが、
改行が含まれていないセルや、表示しきれない行まで、折り返し改行されるようになりました。
改行コードでのみ改行して表示させることは不可能なのでしょうか?
0378デフォルトの名無しさん
2009/02/12(木) 16:23:360379377
2009/02/12(木) 16:30:48WrapModeにDataGridViewTriState.Falseを設定すると、
折り返されなくなりますが、改行コード(\r\n)での改行もされなくなってしまうんです。
0380デフォルトの名無しさん
2009/02/12(木) 17:15:51ありがとうございます。できました
0381デフォルトの名無しさん
2009/02/12(木) 17:36:54「何の」WrapModeをDataGridViewTriState.Trueにしたんだよ
0382デフォルトの名無しさん
2009/02/12(木) 19:25:26wrapmodeに関わらず改行すればいいのに、変な仕様だね。
0383デフォルトの名無しさん
2009/02/12(木) 20:22:21VS2005で作成した自作クラスのドキュメントを作りたいのですが、
クラスのメソッドやプロパティや、可能ならコメントを抽出して
一覧表示してくれるような機能、アドイン等はありますか?
よろしくお願いします。
0384デフォルトの名無しさん
2009/02/12(木) 20:29:21NDOC
0385デフォルトの名無しさん
2009/02/12(木) 21:11:08sandcastle 単体はカスタマイザビリティはすごいから
慣れればいいんだけどまぁ取っ掛かりはあれなので
0386デフォルトの名無しさん
2009/02/12(木) 21:59:13向いてるのって、
(1)VB2007
(2)VB.NET
(3)VC
(4)VC++
(5)C#
この5つ?
JAVAもいいかと思ったんだけど、Windowsアプリを
作るには向いてないの?V2Cみたいのでも
いいと思ったんだけど。
0387359
2009/02/12(木) 22:00:26ブラウザで叩くとUTF8って出るからEncoding.UTF8って指定したんだが、
それだと文字化けしてしまいます。で、341の言うように
Encoding.GetEncoding( "Shift_JIS" )とすると読めるんだが、他国の住所は
文字化けしてしまう。UTF8のままでとってくる方法はない?
0388デフォルトの名無しさん
2009/02/12(木) 22:01:42>>361 は調べた?
0389デフォルトの名無しさん
2009/02/12(木) 22:05:11WPF
0390デフォルトの名無しさん
2009/02/12(木) 22:06:460391デフォルトの名無しさん
2009/02/12(木) 22:08:29ところでVB 2007だとウィルスバスター2007なんだが。
0392デフォルトの名無しさん
2009/02/12(木) 22:11:45Delphi
0393387
2009/02/12(木) 23:03:05POSTやPUTでAccept-Charsetとかを指定する例はぐぐれたのだが、GETで指定する方法がわからない。
どうすればいい?
0394デフォルトの名無しさん
2009/02/12(木) 23:06:55msdnよめカス
0395デフォルトの名無しさん
2009/02/12(木) 23:17:410396デフォルトの名無しさん
2009/02/12(木) 23:25:52msdnのどこ読んだらいい
0397デフォルトの名無しさん
2009/02/12(木) 23:27:25\がそのままか、エスケープ文字になるか。
0398デフォルトの名無しさん
2009/02/12(木) 23:28:27HttpWebRequest
0399デフォルトの名無しさん
2009/02/12(木) 23:55:24req.Accept="utf-8" とか?
今日はあきらめてもう寝ます。
0400デフォルトの名無しさん
2009/02/13(金) 00:02:060401デフォルトの名無しさん
2009/02/13(金) 00:13:52自分で解決しようって気概は感じられないなw
0402デフォルトの名無しさん
2009/02/13(金) 00:14:440403デフォルトの名無しさん
2009/02/13(金) 00:42:51HttpWebRequest.Headers プロパティ
WebHeaderCollection クラス
0404デフォルトの名無しさん
2009/02/13(金) 01:15:48でいけたよ
0405デフォルトの名無しさん
2009/02/13(金) 01:47:560406デフォルトの名無しさん
2009/02/13(金) 01:56:341.デザイナでグループボックスを選択
2.プロパティウィンドウのイベントタブをクリック
3.イベント一覧からMouseDownをダブルクリック
0407デフォルトの名無しさん
2009/02/13(金) 02:02:300408デフォルトの名無しさん
2009/02/13(金) 02:09:41groupBox1.MouseClick += (sender, e) => { Console.WriteLine(e.Location); };
こんな感じでいけるよん
0409デフォルトの名無しさん
2009/02/13(金) 02:18:15クリックイベントに既に飛んでるのにその引数にイベントが渡されててもメソッドの中で使う機会なくないですか?
0410デフォルトの名無しさん
2009/02/13(金) 02:22:34int a = 1;
string str = a.Tostring();
でstrの中身が常に2桁にしたいんです、この場合"01"にしたいんです
0411デフォルトの名無しさん
2009/02/13(金) 02:33:23string str = a.ToString("D2");
0412デフォルトの名無しさん
2009/02/13(金) 02:34:25日本語でおk
0413デフォルトの名無しさん
2009/02/13(金) 02:39:200414デフォルトの名無しさん
2009/02/13(金) 02:50:42ああ、ごめん
private void groupBox1_MouseDown(object sender, MouseEventArgs e)
{
処理
}
適当に↑のようなイベントハンドラ作ってFormのLoadイベントかどっかに
groupBox1.MouseDown += new EventHandler (groupBox1_MousDown(sender,e);
って書いとけば追加される
0415デフォルトの名無しさん
2009/02/13(金) 03:00:57なるほどありがとうございました
0416デフォルトの名無しさん
2009/02/13(金) 05:52:15public class DirectSound : Form
{
Device dsDevice = null;
SecondaryBuffer secBuff = null;
dsDevice = new Device();
}
0417デフォルトの名無しさん
2009/02/13(金) 05:56:270418デフォルトの名無しさん
2009/02/13(金) 06:28:44上コメントは静的でないフィールドメソッドでオブジェクト参照が必要ですとでてしまします。
下コメントは最も適しているオーバーロードメソッドには無効な引数が含まれています。と出ます。
これはなにがいけないんですか?
public class DirectSound {
Device dsDevice = null;
SecondaryBuffer secBuff = null;
BufferDescription desc = new BufferDescription();
public void PlaySound(string strPath) {
dsDevice = new Device();
//desc.Flags = BufferCaps.ControlPan | BufferCaps.ControlVolume | BufferCaps.ControlFrequency;
//dsDevice.SetCooperativeLevel(this, CooperativeLevel.Normal);
secBuff = new SecondaryBuffer(strPath, desc, dsDevice);
secBuff.Play(0, 0);
}
public void StopSound() {
secBuff.Stop();
}
}
0419デフォルトの名無しさん
2009/02/13(金) 07:39:28フォームの左上にあるアイコンはどうやってかえればいいんですか?
リソースの追加はしました。
0420デフォルトの名無しさん
2009/02/13(金) 08:34:56ありがとうございます。いけました。
UserAgentをブラウザと同じにすればいいんですね。
勉強になります。
ちなみにurlに与える引数を output=xml から output=kml でも回避できました。
kmlならshift_jis許さないみたいです。
0421デフォルトの名無しさん
2009/02/13(金) 12:01:41↑ BufferDescription.Flagsでググると
↓ thisはちゃんとControlになってる?
>>419
フォームのプロパティグリッドにIconって無い?
0422デフォルトの名無しさん
2009/02/13(金) 15:07:42現在時刻を返す関数って
名前空間 Microsoft.VisualBasic モジュール DateAndTime の Now()
しか見当たらないのですが・・・
なんかMicrosoft.VisualBasicをusingするのが嫌なんですけど
他にありますか?
0423デフォルトの名無しさん
2009/02/13(金) 15:09:070424デフォルトの名無しさん
2009/02/13(金) 15:11:04まずググレ
話はそれからだ
0425デフォルトの名無しさん
2009/02/13(金) 15:19:01HELPでSystem.DateTime.NowがHitしないのは何故なんですかね??
DelphiのHelpも酷い酷いといわれていたが、それ以下かも。
次からはググってから質問します。
0426デフォルトの名無しさん
2009/02/13(金) 15:19:540427デフォルトの名無しさん
2009/02/13(金) 15:23:570428デフォルトの名無しさん
2009/02/13(金) 15:56:58例えば、複数のコントロールのクリックイベントを1つのハンドラで処理できる。
そういうとき、どいつがクリックされたのか区別するという使い方ができる。
0429デフォルトの名無しさん
2009/02/13(金) 17:47:48答えになってない
0430デフォルトの名無しさん
2009/02/13(金) 17:50:34> senderっていうのはcontrolが格納されていて、eはクリックイベントがわかるような物が入ってるんですか?
前者はその通り。後者はイベントの引数。
> クリックイベントに既に飛んでるのにその引数にイベントが渡されててもメソッドの中で使う機会なくないですか?
イベントが渡されるわけではないので、その質問は成り立たない。
0431デフォルトの名無しさん
2009/02/13(金) 17:54:04処理自体はできたのですが、ログに出力メソッドやイベントを埋め込みたいと思っています
System.Reflection.MethodBase.GetCurrentMethod().Nameを使えば取得できるようなのですが
ログの出力メソッド内で、呼び出し元のメソッドを取得する方法なんてあるでしょうか?
呼び出し元の方で引数に入れて出力・・・というのはできたのですが
ログ出力関数内に、呼び出し元メソッドの取得処理を入れておけば便利だと思いまして
宜しくお願いします
0432デフォルトの名無しさん
2009/02/13(金) 17:55:480433デフォルトの名無しさん
2009/02/13(金) 17:58:13// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.___________________
|help site:msdn.microsoft.com/ja-jp/library │・検索オプション
└──────────────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
これが最強の検索方法な
0434デフォルトの名無しさん
2009/02/13(金) 17:59:560435デフォルトの名無しさん
2009/02/13(金) 18:01:10senderはあまり使う機会がない
0436デフォルトの名無しさん
2009/02/13(金) 18:04:140437デフォルトの名無しさん
2009/02/13(金) 18:14:37OnClickのeは確かに意味がないよ。
一方たとえばKeyDownイベントなら、eがなければどのキーが押されたか分からない。
あとは、EventArgsに意味があるイベントと意味のないイベントのときに、
EventArgsのありなしで区別したほうがいいかどうかを、
public delegate void EventHandler<TEventArgs>(
Object sender,
TEventArgs e
)
where TEventArgs : EventArgs
というジェネリックなdelegateの存在を踏まえつつ考えればいいのではないか。
0438デフォルトの名無しさん
2009/02/13(金) 18:33:03ツールバーにインクリメントサーチが付いてないブラウザなんていっぱいあるからいつもトップから検索してるよ
0439デフォルトの名無しさん
2009/02/13(金) 20:37:19エラーが表示されるらしいのですが何故か自分ではエラーが再現出来ません
普通にプログラムが立ち上がってしまいます
> ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_003/cs2_003_03.html
> このソースをビルドすると、11行目で「'Sample003DLL.Class2.sample1()' はアクセスできない
> 保護レベルになっています。」というエラーになる。
他にもvisual studio 2008 ドキュメントのC# リファレンスにあるinternal キーワードの説明にある使用例も
エラーにならないんですがどういうことなのかよく分かりません
> この例には、Assembly1.cs および Assembly2.cs という 2 つのファイルがあります。1 つ目のファイルには、
> 内部基本クラス BaseClass があります。2 つ目のファイルでは、BaseClass のインスタンス化が試行されますが
> エラーになります。
-----------------------------------------------
// Assembly1.cs
// Compile with: /target:library
internal class BaseClass
{
public static int intM = 0;
}
-----------------------------------------------
// Assembly1_a.cs
// Compile with: /reference:Assembly1.dll
class TestAccess
{
static void Main()
{
BaseClass myBase = new BaseClass(); // CS0122
}
}
-------------------------------------------------
エラーが出る方が普通なんですか?
0440デフォルトの名無しさん
2009/02/13(金) 20:44:20DLLにしてる?
0441デフォルトの名無しさん
2009/02/13(金) 20:45:15ttp://www3.uploda.org/uporg2014382.cs.html
0442デフォルトの名無しさん
2009/02/13(金) 20:51:22このクラスの利用者がエラー処理できないとか
バインドするインターフェイスが選べないとか
0443デフォルトの名無しさん
2009/02/13(金) 20:55:14Receive用スレッドの終了方法がこれでよいかどうかわかりません
0445デフォルトの名無しさん
2009/02/13(金) 22:27:31どなたか方法わかる方いませんか?
0446デフォルトの名無しさん
2009/02/13(金) 22:38:25自分のIPアドレスを取得したいと素直に解釈するなら
http://msdn.microsoft.com/ja-jp/library/system.net.networkinformation.ipaddressinformation.address.aspx
0447デフォルトの名無しさん
2009/02/13(金) 22:53:13↓以外に良い方法知ってる人いませんかね?
http://msdn.microsoft.com/ja-jp/library/cc440889.aspx
0448デフォルトの名無しさん
2009/02/13(金) 23:01:53http://www.dyndns.org/cgi-bin/check_ip.cgi
こういうのを見に行くとか。
0449デフォルトの名無しさん
2009/02/13(金) 23:49:142000/98以降
SetThreadExecutionState( state )
0450デフォルトの名無しさん
2009/02/14(土) 00:59:55UPnPが有効ならSOAPで取りに行く方法もある
0451450
2009/02/14(土) 01:01:020452デフォルトの名無しさん
2009/02/14(土) 02:43:48ありがと
0453デフォルトの名無しさん
2009/02/14(土) 14:33:09File.Move(from, to);
するときに、同名のファイルが空ったら上書きしたいです。
File.Copyなら、
File.Copy(from, to, true);
で上書きできますけど、Moveには、trueがないみたい。
こういう場合には、どうするんですか?
コピーして削除? 削除してからコピー?
なにかスマートな解決方法があったら教えてください。
0454デフォルトの名無しさん
2009/02/14(土) 15:15:151.xの場合はdestinationのファイルのディレクトリでファイル作成が禁止されている
場合に備えて、
(1) 一旦destと同じディレクトリにdestと別名tempでsrcをmove
(2) destを削除
(3) tempをdestにリネーム
0455447
2009/02/14(土) 16:29:180456デフォルトの名無しさん
2009/02/14(土) 16:39:35たしかWInFXが.NET Framewo3.0になって・・・その後は?
0457デフォルトの名無しさん
2009/02/14(土) 17:04:027の次に期待しようではないか。
0458デフォルトの名無しさん
2009/02/14(土) 17:27:11なるほど。サンクス。
0459デフォルトの名無しさん
2009/02/14(土) 17:30:36とかクレームしてくる奴が・・・
0460デフォルトの名無しさん
2009/02/14(土) 17:58:28お美しい・・・
0461デフォルトの名無しさん
2009/02/14(土) 18:02:52Win7でも実装されずなのか・・・
0462デフォルトの名無しさん
2009/02/14(土) 18:18:18完全にスレチだが・・ドロッセルお嬢様ついに発売されるのか。
おしゃれユニットとか付属するのか気になる。
0463デフォルトの名無しさん
2009/02/14(土) 20:28:53感染者のファイルを盗み取りたいと思っていftpにアップロードを考えました
しかし、ftp接続をするとWindowsXPのファイアーウォールが作動します
これを迂回する方法を考えるのも面倒なので
指定したアップローダに投稿しようとしたところ
こちらはファイアーウォールが作動しませんでした
こんなテキトーなセキュリティーでよいのでしょうか?
exeを踏ませたらもうこちらの思い通りに操作できると考えてよろしいですか?
0464デフォルトの名無しさん
2009/02/14(土) 20:44:17FTPでもパッシブ接続なら発動しないと思う。
だから、今でもサードパーティでファイアウォールアプリを作る需要があるわけ。
0465デフォルトの名無しさん
2009/02/14(土) 20:53:50その辺がおまけのファイアウォールの出来だよ。
だからファイアウォールのアプリを別に入れないといけないわけだよ。
Vistaになってようやくアウトバウンドのルールを設定できるようになったので
OSのファイアウォールだけでもちゃんと設定すれば結構使えるようになったと思う。
0466デフォルトの名無しさん
2009/02/14(土) 21:57:46そうなの?
0467デフォルトの名無しさん
2009/02/14(土) 22:17:32こんなあほなこと言ってる奴のスパイウエアにひっかる奴って
0468デフォルトの名無しさん
2009/02/14(土) 22:21:100469デフォルトの名無しさん
2009/02/14(土) 22:41:000470デフォルトの名無しさん
2009/02/14(土) 23:16:590471デフォルトの名無しさん
2009/02/15(日) 00:36:040472デフォルトの名無しさん
2009/02/15(日) 00:37:570473デフォルトの名無しさん
2009/02/15(日) 00:47:030474デフォルトの名無しさん
2009/02/15(日) 13:18:54System.Diagnostics.EventLog[] eventLogs
= System.Diagnostics.EventLog.GetEventLogs();
でアプリケーション、システムといった各ログは取得できることは
分かったんですがそれぞれのログに登録されているイベントソースの
一覧の取得方法がわかりません。
System.Diagnostics.EventLog.SourceExists(string)
なメソッドがあるんでソース一覧も取得可能だとは思うんですが。
知っているかたがあれば教えてください。
0475デフォルトの名無しさん
2009/02/15(日) 14:17:180476デフォルトの名無しさん
2009/02/15(日) 14:20:200477デフォルトの名無しさん
2009/02/15(日) 14:23:04何でWin32ネイティブにしないの?という話になる
0478デフォルトの名無しさん
2009/02/15(日) 14:25:41もうC++とかやるきねーよ
0479デフォルトの名無しさん
2009/02/15(日) 14:26:330480デフォルトの名無しさん
2009/02/15(日) 14:34:14PInvokeは,その周辺の考慮事項が恐ろしく面倒
C++/CLIにしたからといって改善されるものでもない
0481デフォルトの名無しさん
2009/02/15(日) 14:34:36APIに頼らざるを得ないケースが頻発
デフォルトで付けといてもらった方が便利だね
0482デフォルトの名無しさん
2009/02/15(日) 14:37:01使いやすいようにいじれるのがいいからコードのデータベース化みたい
なのがいいんだよな
0483デフォルトの名無しさん
2009/02/15(日) 14:42:23そう思う奴が多数なら、そこにビジネスチャンスが生まれるはず・・・なんだけどな
0484デフォルトの名無しさん
2009/02/15(日) 14:46:10それをMS自らもっと移植性の悪い方法で提供してどうする
0485デフォルトの名無しさん
2009/02/15(日) 14:50:52DllImport自体はともかく、定数の定義がむちゃくちゃ多いやつとか
超しんどいのは確か。
最近IMM関連いじっててそう思った。
0486デフォルトの名無しさん
2009/02/15(日) 14:52:460487デフォルトの名無しさん
2009/02/15(日) 14:53:57自作クラスはSystem.Windows.Formsを使わないので、出来ればDataGridViewRow型ではなく
別の型で渡したいと思っています。
今は渡し元フォームの方で、DataGridViewRowから1セルずつ値を取り出して、arrayにstringで入れて、
そのarrayをクラスに渡しています。
一応これで値を渡せてはいるんですが、DataGridViewRowから、
なんらかの「データの集合体」の変数を取り出す簡易な方法が他にあれば、教えてください。
0488デフォルトの名無しさん
2009/02/15(日) 14:56:23「データの集合体」をDataGridViewにバインドするんだ
0489デフォルトの名無しさん
2009/02/15(日) 15:09:09ありがとう、DataRow型で取り出して渡せました。
0490デフォルトの名無しさん
2009/02/15(日) 16:26:09http://www.woodensoldier.info/soft/AlarmTimer.htm
http://www.red-gate.com/products/reflector/
このReflector使ってきちんと起動するまでにいきたいんですが、
エクスポートして.cs吐かせてそのままデバッグしても警告やエラーが出ます。直せる人いませんか?
0491デフォルトの名無しさん
2009/02/15(日) 16:28:36エラーが出るケースもあるけどそれすら直せないなら向いてない
0492デフォルトの名無しさん
2009/02/15(日) 16:31:140493デフォルトの名無しさん
2009/02/15(日) 16:31:22C#, C♯, C#相談室 Part51
http://pc11.2ch.net/test/read.cgi/tech/1233757615/216
以降を見てね
0494デフォルトの名無しさん
2009/02/15(日) 16:35:35向いてないのは分かってるんで、直せないですかとお願いしてるんです。
>>492
作ってくれるならお願いします
0495デフォルトの名無しさん
2009/02/15(日) 16:37:570496デフォルトの名無しさん
2009/02/15(日) 16:38:310497デフォルトの名無しさん
2009/02/15(日) 16:39:39直してうpお願いします
0498デフォルトの名無しさん
2009/02/15(日) 16:42:02嫌です。
0499デフォルトの名無しさん
2009/02/15(日) 16:42:54そういうこともわからんし。
著作権法違反とかで捕まりたくないし。
0500デフォルトの名無しさん
2009/02/15(日) 16:43:330501デフォルトの名無しさん
2009/02/15(日) 16:44:190502デフォルトの名無しさん
2009/02/15(日) 16:45:020503デフォルトの名無しさん
2009/02/15(日) 16:48:26逆コンパイルじゃねーけど
0504デフォルトの名無しさん
2009/02/15(日) 16:49:25そだね。
0505デフォルトの名無しさん
2009/02/15(日) 16:50:100506デフォルトの名無しさん
2009/02/15(日) 17:02:270507デフォルトの名無しさん
2009/02/15(日) 17:05:10お前が作者なら、お前がソース公開すればすむこと。
0508デフォルトの名無しさん
2009/02/15(日) 17:11:28長時間作業させるアプリケーションなんて特殊じゃないだろ
0509デフォルトの名無しさん
2009/02/15(日) 17:14:20なんの話?
0510デフォルトの名無しさん
2009/02/15(日) 17:24:36それ以外だって特殊なアプリケーションじゃなくてもAPI必要な場面はあるでしょ
.netにないのがそもそもおかしいというのは別の話で
0511デフォルトの名無しさん
2009/02/15(日) 17:27:35ファイルの一覧を、アクセスタイムの新しいものから順番にソートして配列に入れたいです。
アクセスタイムを得るには、
File.GetLastAccessTime(file);
で、ファイル名を得るには、
string[] files = Directory.GetFiles(@"C:\temp", "*.txt");
です。
目的のファイルの一覧を、アクセスタイムの新しいものから順番にソートして配列に入れるには、どうしたらよいでしょう?
うまくふたつをつなげられないで困っています。
ご指導お願いします。
0512デフォルトの名無しさん
2009/02/15(日) 17:29:420513デフォルトの名無しさん
2009/02/15(日) 17:33:260514デフォルトの名無しさん
2009/02/15(日) 17:45:22LINQ使えば簡単。
Directory.GetFiles(@"C:\temp", "*.txt").OrderBy(file => File.GetLastAccessTime(file)).ToArray();
0515490
2009/02/15(日) 18:08:110516デフォルトの名無しさん
2009/02/15(日) 18:11:09その話題は >>505 で終了しました。またのお越しをお待ちしております。
0517デフォルトの名無しさん
2009/02/15(日) 18:11:54だれかおねがいします><
0518デフォルトの名無しさん
2009/02/15(日) 18:13:16それだと、古い順に並んでしまうだろう。
OrderByの代わりにOrderByDescendingを使わないと。
0519デフォルトの名無しさん
2009/02/15(日) 18:17:38おお、ありがとうございます。
なにか方法がありそうと思っていましたが、スマートです。
早速試してみました。
string[] files = Directory.GetFiles(@"C:\temp", "*.txt").OrderBy(file => File.GetLastAccessTime(file)).ToArray();
foreach (string file in files)
{list = list + file + "\r\n";}
MessageBox.Show(list);
なんかこれだと、まだabc順になっているようです。
なにか方法が違ってますか?
0520デフォルトの名無しさん
2009/02/15(日) 18:36:52>>518
おっしゃるとおり、OrderByDescendingでできました。
大感謝です。
0521デフォルトの名無しさん
2009/02/15(日) 19:02:020522デフォルトの名無しさん
2009/02/15(日) 19:25:190523デフォルトの名無しさん
2009/02/15(日) 19:26:25>>474 ですか?
0524デフォルトの名無しさん
2009/02/15(日) 19:29:05SourceExists() でやってるように、レジストリから取ってくるしかないのでは?
0525デフォルトの名無しさん
2009/02/15(日) 19:56:22>>490です
0526デフォルトの名無しさん
2009/02/15(日) 19:59:01それは終了らしいので、途中まで調べましたが止めておきます。
0527デフォルトの名無しさん
2009/02/15(日) 20:04:50ではここに再開を宣言します。
どうぞよろしくお願いします
0528デフォルトの名無しさん
2009/02/15(日) 20:06:13!イ 彡彡´_ -_=={ 二三三ニニニニヽ
fイ 彡彡ィ 彡イ/ ィ_‐- 、  ̄ ̄ ヽ し ま
f彡イ彡彡ィ/ f _ ̄ ヾユ fヱ‐ォ て る
f/ミヽ======<|-'いシ lr=〈fラ/ !フ い で
イイレ、´彡f ヽ 二 _rソ 弋_ { .リ な 成
fノ /) 彡! ィ ノ ̄l .い 長
トヾ__ら 'イf u /_ヽ,,テtt,仏 ! :
|l|ヽ ー '/ rfイf〃イ川トリ / .:
r!lト、{'ー‐ ヽ ´ ヾミ、 / :
/ \ゞ ヽ ヽ ヽ /
./ \ \ ヽ /
/〈 \ ノ
-‐ ´ ヽ ヽ \\ \ 人
0529デフォルトの名無しさん
2009/02/15(日) 20:08:040530デフォルトの名無しさん
2009/02/15(日) 20:10:190531デフォルトの名無しさん
2009/02/15(日) 20:34:21もちろん差し上げてもいいんだけど、
| このソフトはフリーソフトウェアです。
| 配布、転載は原則自由です。
| ただし、中身の一部もしくは全部を改変して配布、掲載をする事は禁止します。
って書いてあるので、作者の許諾を明示的に取ってきてください。
つーか、なぜ作者にくれと言わないのか?
0532デフォルトの名無しさん
2009/02/15(日) 20:38:520533デフォルトの名無しさん
2009/02/15(日) 20:46:39Webの開発です。
皆さんに聞きたいのですが、匿名メソッドというのは
どういうケースで使いますか?
http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_05/csharp20_05_02.html
↑@ITで匿名メソッドについて載っていますが、どういうものかは理解できました。
しかしこれってWebアプリの開発とかでどういうケースで使うのかなと。。
使用ケースが分かっていません。
あまり使うことが無いものなのでしょうか?
0534デフォルトの名無しさん
2009/02/15(日) 20:50:360535デフォルトの名無しさん
2009/02/15(日) 20:51:42LINQ でとか。
0536デフォルトの名無しさん
2009/02/15(日) 21:07:21ほかの人が見たときに読みづらいだろうからな
0537デフォルトの名無しさん
2009/02/15(日) 21:33:52エラー出ましたよね?直したとこ教えてくだされば><
それだけでいいんです
0538デフォルトの名無しさん
2009/02/15(日) 21:35:310539デフォルトの名無しさん
2009/02/15(日) 21:41:33定義する必要がなくなるズボラ推奨機能という考え方はすべきでない。具体的には、LINQと、
処理の流れの文脈的にそこに直書きされるべきコールバックとか。
LINQが一番重要。
例:
int a[]=new int[]{3,7,2,4,8,1,9};
int b=a.First(i=>i<3);
みたいな。これは匿名メソッドをラムダ式で書いているけれど、
int b=a.First(delegate(int i){return i<3});
も可。でも、LINQなら上の書き方に慣れるべき。iに対して型推論が効くからね。
後者は例えば、UIと別スレッドのメソッド中でUIスレッドで実行されるべき処理をInvokeに
渡す場合とか。あと、WaitHandle使って非同期でコールバックが呼ばれる処理を同期処理に
する場合にコーディング上も同期処理の如く書く事ができて見易い。こういった場合、
その記事に書いてある、ローカル変数に匿名メソッド内からアクセスできるというのは超重要な
ポイントになる。
最後に、UIのイベントハンドラをコードで追加する時、超短いコードの場合は
ズボラに匿名メソッドを使ったりするけれど、これは悪い例であまりやるべきではない。
例:this.Button1.CLICK+=delegate{MessageBox.Show("Clicked!!")};
0540デフォルトの名無しさん
2009/02/15(日) 21:42:10簡単じゃねーかよ、こんぐらいさっさと説明しやがれバカども
0541デフォルトの名無しさん
2009/02/15(日) 21:44:44base.FormBorderStyle = FormBorderStyle.FixedDialog;
メソッド 'InitializeComponent' 以内のコードは、デザイナによって作成されたので手動では変更できません。
変更を削除して、デザイナを再度開いてください。 C:\Documents and Settings\●●●●●\My Documents\Reflector\Disassembler\AlarmTimer\AlarmTimer\FormMain.cs 248 0
警告 2 デザイナは 113 行のコードを処理できません。
base.FormBorderStyle = FormBorderStyle.FixedDialog;
メソッド 'InitializeComponent' 以内のコードは、デザイナによって作成されたので手動では変更できません。変更を削除して、デザイナを再度開いてください。
C:\Documents and Settings\●●●●●\My Documents\Reflector\Disassembler\AlarmTimer\AlarmTimer\FormOption.cs 114 0
エラー 3 型または名前空間名 'WsLib' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
C:\Documents and Settings\●●●●●\My Documents\Reflector\Disassembler\AlarmTimer\AlarmTimer\FormMain.cs 10 11 AlarmTimer
警告 4 この参照を解決できませんでした。アセンブリ "WsLib" が見つかりませんでした。アセンブリが間違いなくディスクに存在することを確認してください。
コードにこの参照が必要な場合、コンパイル エラーが発生する可能性があります。 AlarmTimer
警告 5 参照コンポーネント 'WsLib' が見つかりませんでした。
この5つっす
0542デフォルトの名無しさん
2009/02/15(日) 21:56:220543デフォルトの名無しさん
2009/02/15(日) 21:56:580544デフォルトの名無しさん
2009/02/15(日) 21:58:060545デフォルトの名無しさん
2009/02/15(日) 22:03:40不足してるらしいです、でも意味わかりません
0546デフォルトの名無しさん
2009/02/15(日) 22:04:510547デフォルトの名無しさん
2009/02/15(日) 22:07:570548デフォルトの名無しさん
2009/02/15(日) 22:09:59意味がわからなかったらググったりして調べればいいじゃないか
0549デフォルトの名無しさん
2009/02/15(日) 22:11:500550デフォルトの名無しさん
2009/02/15(日) 22:18:130551デフォルトの名無しさん
2009/02/15(日) 22:18:480552デフォルトの名無しさん
2009/02/15(日) 22:26:11これで明日の課題提出に間に合います!
0553デフォルトの名無しさん
2009/02/15(日) 22:33:360554デフォルトの名無しさん
2009/02/15(日) 22:35:580555デフォルトの名無しさん
2009/02/15(日) 22:54:120556デフォルトの名無しさん
2009/02/15(日) 22:55:41向け、かはわからないけど、初心者でも十分理解できると思います。
0557デフォルトの名無しさん
2009/02/15(日) 23:00:27向いているかといわれると大丈夫なんじゃないぐらいではある
0558デフォルトの名無しさん
2009/02/15(日) 23:01:13どっちかというと既に他のが使える人が便利に使える言語というコンセプト
0559デフォルトの名無しさん
2009/02/15(日) 23:06:56末尾からのn文字を抽出するメソッドはないのでしょうか。
ない場合、全体の文字数を取得して、全文字数とnを使って、Substringするという回りくどいやり方しかないのでしょうか。
0560デフォルトの名無しさん
2009/02/15(日) 23:11:16回りくどいって言ってもstr.Substring(str.Length - n)とするだけのことだろ
0561デフォルトの名無しさん
2009/02/15(日) 23:11:40どうしても嫌なら拡張メソッド作ったら
0562559
2009/02/15(日) 23:15:36回りくどいとけなすつもりはなかった。
今は反省している
0563デフォルトの名無しさん
2009/02/15(日) 23:30:440564デフォルトの名無しさん
2009/02/15(日) 23:33:590565デフォルトの名無しさん
2009/02/16(月) 01:21:10これを使いにくいと思ったことはあるな。
"abcde".Substring(3, 10) で "de"
"abcde".Substring(8, 2) で "" が欲しいケースは多いよ。
0566デフォルトの名無しさん
2009/02/16(月) 01:33:31たぶん忘れたかなんか事情があったんだろうなと思って
おくことにした
Substring は境界絡んでくるとうざいんだよなー
0567デフォルトの名無しさん
2009/02/16(月) 01:38:132つ目の引数は文字数なのに結果の文字列に含まれる文字数がそれ以下だとおかしいだろ。
0568デフォルトの名無しさん
2009/02/16(月) 01:49:36public static string Subst(this string str, int start, int length) {
if (str == null) return null;
if (start < 0) { length -= start; start = 0; }
if (start >= str.Length) return "";
if (str.Length < length + start) length = str.Length - start;
return str.Substring(start, length);
}
public static string Subst(this string str, int start) {
if (str == null) return null;
if (start < 0) start = 0;
if (start >= str.Length) return "";
return str.Substring(start);
}
0569デフォルトの名無しさん
2009/02/16(月) 15:38:09windowsフォームなどのボタンなどを付けて、ダブルクリックした場合、
イベントを自動生成して、 Windows フォーム デザイナで生成されたコードの中に
イベントを登録したり、処理(ハンドラ?)のプログラムを書く場所を作ってくれますが、
イベントの引数やインスタンスの定義はどこでしてくれてるのですか?
0570デフォルトの名無しさん
2009/02/16(月) 15:43:12***はフォーム名
0571デフォルトの名無しさん
2009/02/16(月) 19:07:05リストビューに画像をサムネイルで表示するサンプルを使おうとしています。
URL (ttp://www.atmarkit.co.jp/fdotnet/dotnettips/336listviewimage/listviewimage.html)
Formに直接リストビューを貼り付ければ、希望通りの動きをしました。
が、FormにTabControlを張り付けて、TabPageの2ページ目以降にリストビューを貼ると、
タブをクリックしてTabPageを表示しようとするとエラーが発生してフォームが終了し、
Program.csのApplication.Run(new Form1());でブレークしてしまいます。
エラーの内容は、
System.ArgumentException: 使用されたパラメータが有効ではありません。
場所 System.Drawing.Image.get_Width()
場所 System.Drawing.Image.get_Size()
場所 System.Windows.Forms.ImageList.CreateBitmap(Original original, Boolean& ownsBitmap)
場所 System.Windows.Forms.ImageList.CreateHandle()
(以下略)
です。
タブページの1ページ目や、Formに直接だと表示されるしエラーもでないんですが、
これは何が原因なんでしょうか?
0572デフォルトの名無しさん
2009/02/16(月) 20:26:07> thumbnail.Dispose();
これかな。消してみな。
0573571
2009/02/16(月) 20:49:54ずばりでした! 動きました!
ありがとう。
ちょっとソース詳しく読んで、なぜだか考えてみます。
0574あ
2009/02/16(月) 21:00:200575デフォルトの名無しさん
2009/02/16(月) 21:05:46これ読みながらやるような初心者にはわからん可能性が高い気がするけど
ヒントだけ。
ようするにTabPage2 に移動したことによってこのイベントが呼ばれる段階で
ハンドルが作られていない(可能性がある)のが問題。
その状況だと初期化が遅延されちゃうみたいだな。んで、表示されたときに
初期化が始まって、そのときに追加された Bitmap を参照しようとするけど
すでに破棄済みだからアウトになる、と。
0576デフォルトの名無しさん
2009/02/16(月) 21:41:340577デフォルトの名無しさん
2009/02/17(火) 07:52:380578デフォルトの名無しさん
2009/02/17(火) 07:53:430579デフォルトの名無しさん
2009/02/17(火) 08:07:410580デフォルトの名無しさん
2009/02/17(火) 13:31:01WebClientにもWebRequestクラスにもそれらしいメソッドはありませんでした。
もしかしてSocketクラス使わないとだめでつか?
0581デフォルトの名無しさん
2009/02/17(火) 13:39:140582デフォルトの名無しさん
2009/02/17(火) 14:06:14string[] files = Directory.Getfiles("c:/photo", "*.jpg", SearchOption.AllDirectories);
string list = "";
foreach(string file in files) {list = list + file + "\r\n";}
MessageBox.Show(list);
とやって、いま、次のようなリストを入手しました。
このうち3月のみを取り出すのはどうしたらよいでしょう。
いちばん簡単なのは、*の部分に書くことかと思い、
string[] files = Directory.Getfiles("c:/photo", "200803*.jpg", SearchOption.AllDirectories);
としてみましたが、フォルダ名とファイル名にわかれていて結果は空になってしまいます。
あと、3月以前(01、02)とする方法もあわせて教えてください。
c:/photo/20080407eventname/photo.jpg
c:/photo/20080401eventname/photo.jpg
c:/photo/20080317eventname/photo.jpg
c:/photo/20080310eventname/photo.jpg
c:/photo/20080304eventname/photo.jpg
c:/photo/20080303eventname/photo.jpg
c:/photo/20080224eventname/photo.jpg
c:/photo/20080203eventname/photo.jpg
c:/photo/20080127eventname/photo.jpg
0583デフォルトの名無しさん
2009/02/17(火) 14:38:22これでいけました。ありがとうございました
String url = "http://pc11.2ch.net/tech/dat/1234017654.dat";
WebRequest webreq = HttpWebRequest.Create(url);
webreq.Method = "HEAD";
HttpWebResponse webres = (HttpWebResponse)webreq.GetResponse();
WebHeaderCollection webheadcol = webres.Headers;
String ltime = webheadcol.Get("Last-Modified");
Console.WriteLine(ltime);
0584デフォルトの名無しさん
2009/02/17(火) 15:05:13パス名の文字列を正規表現で分解して年と月を別々に取り出す
あとは大小比較で絞込み
Regex r;
r = new Regex(@"(\d{4})(\d{2})\d{2}eventname", RegexOptions.IgnoreCase);
Match m;
m = r.Match(@"c:/photo/20080407eventname/photo.jpg");
if (m.Success) {
String year = m.Groups[1].Value;
String month = m.Groups[2].Value;
Console.WriteLine("{0}年{1}月", year, month);
}
0585デフォルトの名無しさん
2009/02/17(火) 15:25:58やりたいことは「\/:*?"<>|」の文字があったら「""」で置き換えることです
Strings.Replaceでひとつひとつチェックすることぐらいしか思いつかないのですが
もう少しスマートな処理方法があれば教えて下さい
0586デフォルトの名無しさん
2009/02/17(火) 15:34:22通常
double a = 1.1;
a.ToString();
//結果="1.1"
のようになるのですが
以下の場合の解決を行いたいです。
double b = 0.000097;
b.ToString();
//結果="9.7E-05" 期待したい結果は "0.000097"
この結果を通常の10進数の表記を行いたいのですが
ToStringメソッドの引数に
"0.0000000"や "0.#############"
などを渡せば期待しているとおりの文字列を受け取ることができます。
しかし、小数点以下の部分が何桁になるかわからない場合、この表記であれば文字数を超えた部分が無効になると思います。
(例えば b.ToString("0.000")は"0.000"になる)
0.##...#を最大桁数分用意すればいいのかもしれませんが・・・・
何か綺麗な方法というのはないのでしょうか?
0587デフォルトの名無しさん
2009/02/17(火) 15:38:410588デフォルトの名無しさん
2009/02/17(火) 15:40:41String.Replaceでなく、Regex.Replaceを使えば一度に変換できる
0589デフォルトの名無しさん
2009/02/17(火) 15:42:28string.Format
0590デフォルトの名無しさん
2009/02/17(火) 15:43:33調べてみます。ありがとうございましたー
0591586
2009/02/17(火) 15:58:27>>587
最悪その方法もありかなと考えているのですが・・・
>>589
型式指定子などヘルプ参考に使って試してみたんですが・・・
うまいこと行きませんでした…orz
型式指定子の横に数値をつければうまくはいくのですが、その横の数値に当たる部分が動的なため決められないのです。
(といっても結局Doubleの上限下限までではありますが・・・)
0592デフォルトの名無しさん
2009/02/17(火) 16:31:12参考ページが見つからず困っています。
0593デフォルトの名無しさん
2009/02/17(火) 16:32:39背景って何だ?
0594デフォルトの名無しさん
2009/02/17(火) 16:40:23Formの背景とか??
0595デフォルトの名無しさん
2009/02/17(火) 16:41:03のGetType(Int32)の箇所でコンパイルエラー('int' は '型' ですが、
'変数' のように使用されています)が出てしまいます。
構文が間違ってるでしょうか?
すみませんが、ご教授ください。
0596デフォルトの名無しさん
2009/02/17(火) 16:41:09BackgroundImageのことです。
普段はフォームのほうでフォルダを指定して画像を指定していたのですが、
月ごとに画像を自動で変えるためプログラム内で処理しようかと思いまして。
0597デフォルトの名無しさん
2009/02/17(火) 16:43:47BackgroundImage = new Bitmap(xxx);
0598デフォルトの名無しさん
2009/02/17(火) 16:48:15for (int i=0;i<12;i++)
{
string[i] = string.format("C:\Image\{0}.jpg", i.ToString() );
}
LOADトカの処理で
int index = DateTime.Now.Month - 1;
Hoge.BackgroundImage = Image.FromFile( data[index] );
こんなイメージなの・・・か?
0599デフォルトの名無しさん
2009/02/17(火) 16:49:380600デフォルトの名無しさん
2009/02/17(火) 16:50:43その場合、""でくくるかtypeof使うんじゃないの?
0601デフォルトの名無しさん
2009/02/17(火) 16:53:50い・・・いらないねw orz
0603デフォルトの名無しさん
2009/02/17(火) 17:01:07レスどうも。
たしかに、Type.GetType("System.Int32")と書くとうまく行くんですが、
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=39332&forum=7&5
このページで、GetType演算子(ttp://msdn.microsoft.com/ja-jp/library/tay4kywk(VS.80).aspx)
を使う方がよいとあったのもので。書式はあってると思うんですが。
0604デフォルトの名無しさん
2009/02/17(火) 17:06:08お前は何を言っているんだ・・・
0605デフォルトの名無しさん
2009/02/17(火) 17:07:58Type.GetType(ほにゃらら)ってメソッドの書式でしょ?
あるいは、Int32.GetType()でも可、かな?
0606デフォルトの名無しさん
2009/02/17(火) 17:10:19typoだな
0607デフォルトの名無しさん
2009/02/17(火) 17:10:380608デフォルトの名無しさん
2009/02/17(火) 17:12:03すみませんw
Type.GetTypeメソッドとGetType演算子は別物ですよね。
んで、前者を使って文字列で型を指定するとうまく行くのですが、
後者をGetType(Int32)のように書いてもうまく行かなかった。という状況です。
ちなみに、>>600さんのご指摘通り、typeof(int)でうまくいきました。
ありがとうございました。
0609デフォルトの名無しさん
2009/02/17(火) 17:14:03('A`)
VBでしたね。すいません。ありがとう。
0610605
2009/02/17(火) 17:22:580611デフォルトの名無しさん
2009/02/17(火) 17:25:02早速ありがとうございます。
c:/photo/20080317eventname/photo.jpg
c:/photo/20080310eventname/photo.jpg
c:/photo/20080304eventname/photo.jpg
c:/photo/20080303eventname/photo.jpg
の行を抜き出したいのです。
そのためには、どう絞り込めばよいでしょう?
0612デフォルトの名無しさん
2009/02/17(火) 17:27:18Regex.Match(path,"200803[0-9]{2}").Success
がTrueになるやつ
0613デフォルトの名無しさん
2009/02/17(火) 17:32:320614デフォルトの名無しさん
2009/02/17(火) 17:35:25Win32APIのSystemParametersInfo使うだけじゃない?
0615580
2009/02/17(火) 18:15:57using System.Net;
class Test
{
public static void Main()
{
for (int i=0;i<10;i++) {
String url = "http://pc11.2ch.net/tech/dat/1234017654.dat";
WebRequest webreq = HttpWebRequest.Create(url);
webreq.Method = "HEAD";
HttpWebResponse webres = (HttpWebResponse)webreq.GetResponse();
WebHeaderCollection webheadcol = webres.Headers;
String ltime = webheadcol.Get("Last-Modified");
Console.WriteLine(ltime);
}
}
}
これで二周回ったところでGetResponse()メソッドが返ってこなくなるんですが、何がいけないのでしょうか?
2chのサーバーの設定の問題でしょうか?
0616デフォルトの名無しさん
2009/02/17(火) 18:35:41あるクラスの Verion クラスのプロパティに入れたいと思っているのですが、
0.0 というバージョンが格納されてしまいます。
Version クラスはデシリアライズできないのでしょうか?
0617デフォルトの名無しさん
2009/02/17(火) 18:39:01サーバ関係ないみたいよ。
うちでも同じようになったし、自宅鯖に向けてもおなじ。
3回目のリクエスト自体来ていない。
0618617
2009/02/17(火) 18:44:19ちゃんと終了処理すればいいんじゃないかな。
ためしに毎回Abortしたら止まらなくなった
0619デフォルトの名無しさん
2009/02/17(火) 18:46:58HttpWebRequest..::.GetResponse メソッドの説明
Close メソッドを呼び出して、ストリームを閉じて接続を解放する必要があります。
この操作を行わないと、アプリケーションで接続が不足することがあります。
0620デフォルトの名無しさん
2009/02/17(火) 19:08:55>>619
どうもありがとうございます。
リクエストのAbort()、レスポンスのClose()
どちらかを使えば、上手く動作するようになりました。
あと、デフォルトで2になっていた同時接続数の制限は
System.Net.ServicePointManager.DefaultConnectionLimitの
値を変えることで取り除くことができました
0621デフォルトの名無しさん
2009/02/17(火) 19:11:410622デフォルトの名無しさん
2009/02/17(火) 19:57:12その事実を無能なる韓国人どもに思い知らせ、我が日本領土である竹島を取り返すべくただいまより攻撃にでる
愚かなる韓国人に対し、再び裁きの鉄槌を振るう時が来た!
/⌒ヽ
( ^ω^)/ ̄/ ̄/
( 二二つ / と)
| / / /
|  ̄| ̄ ̄
攻撃:(p)http://dokdo.andu.hanafos.com/sign/
サイトで右側を選択すれば竹島は日本の領土!
作戦指令本部:(p)http://takeshima.2ch.net/test/read.cgi/news4vip/1234862529/
0623デフォルトの名無しさん
2009/02/17(火) 20:45:53Microsoft.Samples.DirectX.UtilityToolkitとか
Microsoft.Samples.ServiceHosting.AspProvidersとか
Microsoft.Samples.Workflowとか
0624デフォルトの名無しさん
2009/02/17(火) 20:49:46ありがとうございます。できました。
0625デフォルトの名無しさん
2009/02/18(水) 01:51:16using (WebClient wc = new WebClient())
using (Stream st = wc.OpenRead("適当な画像のURL"))
img = Image.FromStream(st);
img.Save(@"z:\test.jpg");
Image img;
using (Stream st = new FileStream(@"適当な画像のパス", FileMode.Open))
img = Image.FromStream(st);
img.Save(@"z:\test.jpg");
という2つのコードで、前者は正常に実行できるのに対し、後者は
System.Runtime.InteropServices.ExternalException(Message="GDI+ で汎用エラーが発生しました。")
という例外が発生します。
なぜ前者の場合は正常に実行出来るのでしょうか?
0626デフォルトの名無しさん
2009/02/18(水) 02:35:43いろいろややこしいことがあるみたい
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15772&forum=7&6
以下で回避が可能
Image img;
using (Stream st = new FileStream(@"inputFile.jpg", FileMode.Open)) {
img = new Bitmap(Image.FromStream(st));
}
img.Save(@"outputFile.jpg");
0627デフォルトの名無しさん
2009/02/18(水) 03:01:42レスありがとうございます。
対応策は検索して把握してはいたのですが、
先の2つのコードの根本的な違いが気になったのです。
0628デフォルトの名無しさん
2009/02/18(水) 04:35:45このあたりかな
http://support.microsoft.com/kb/814675/en-us
ファイル以外のストリームには言及がないのでなんともいえないけど
少なくともファイルは特別に意識していて、ファイルから生成した
ストリームについてはそれを破棄するとイメージにアクセスできなくなるのが
仕様みたい
0629デフォルトの名無しさん
2009/02/18(水) 04:45:29using (WebClient client = new WebClient())
using (Stream stream = client.OpenRead(uri))
using (Image image = Image.FromStream(stream))
{
image.Save(path);
}
の方が良くないか?
0630デフォルトの名無しさん
2009/02/18(水) 05:35:25かなりヤケクソ気味の対処法。
class ForwordOnlyFileStream : FileStream {
public ForwordOnlyFileStream(string filename, FileMode filemode)
: base(filename, filemode) { }
public override bool CanSeek { get { return false; } }
}
Image img;
using (Stream st = new ForwordOnlyFileStream(@"適当な画像のパス", FileMode.Open))
img = Image.FromStream(st);
img.Save(@"z:\test.jpg");
0631デフォルトの名無しさん
2009/02/18(水) 09:27:28素直に一旦MemoryStreamにコピーしろよって話だな
0632デフォルトの名無しさん
2009/02/18(水) 13:07:07継承元のpublic設定されたメソッドやプロパティを、
継承先のクラスで隠蔽して、利用させたくないんですが、
new privateしても表示されてしまうのですが、これを隠す方法はないですか?
0633デフォルトの名無しさん
2009/02/18(水) 13:12:120634デフォルトの名無しさん
2009/02/18(水) 13:27:060635デフォルトの名無しさん
2009/02/18(水) 13:27:21継承元でprotectedにして、継承先でpublicにするとかするしかないのか・・
ありがとう
0636デフォルトの名無しさん
2009/02/18(水) 13:36:07工エエェェ(´д`)ェェエエ工工
確かに無理矢理流用しているから、おかしくなってるきがする。
設計を見直してみるお
ありがとう
0637デフォルトの名無しさん
2009/02/18(水) 13:40:360638デフォルトの名無しさん
2009/02/18(水) 13:42:37インターフェイス使うかベースクラス継承してオーバーライドで使うか迷ってる俺がいる
0639デフォルトの名無しさん
2009/02/18(水) 13:45:36一番素直で融通が利く
0640デフォルトの名無しさん
2009/02/18(水) 13:55:05なる。
凝りすぎもダメなのか
0641デフォルトの名無しさん
2009/02/18(水) 14:07:11ありがとう。
インターフェースでMethod()を定義して
public class MyBsdeClass : IInterface
public void Method()
などでMethodの処理を書いた基底クラスを作って、
これをさらに継承するということですね。ちょっと試してみます。
ただ、異なる型にまたがって継承させて利用するメソッドではないので、
やはり設計を見直してみようと思います。
0642デフォルトの名無しさん
2009/02/18(水) 14:17:41基底クラスでもMethodを明示的実装しないといけない
0643デフォルトの名無しさん
2009/02/18(水) 14:28:42ありがとう
こんな感じでインターフェースを継承した基底クラスのメソッドに処理を書くってこと?
interface IInterface //■インターフェース
void Method();
public class MyBaseClass : IInterface //■基本的な処理を記述した基底クラス
public void Method()
{
//処理を実装
}
public class MyClass : MyBaseClass //■継承先
0644デフォルトの名無しさん
2009/02/18(水) 14:34:26public class MyBaseClass : IInterface { void IInterface.Method() { ... } }
public class MyClass : MyBaseClass, IInterface { void IInterface.Method() { ... } }
これで基底クラスの実装は呼べなくなる
0645デフォルトの名無しさん
2009/02/18(水) 14:51:09あんたすごいな
643じゃないけど少し知識増えたわ
おれもまだまだだな、、、
0646デフォルトの名無しさん
2009/02/18(水) 15:07:08is-aの関係が壊れているならそこを修復するのが先な気がする。
implements ... の関係とis a ... の関係は全く別物なんだから、どこかで怪我しそう。
0647デフォルトの名無しさん
2009/02/18(水) 15:13:58ありがとう。
試してみました。
確かにMyBassClassのMethod();でなく、MyClassのMethod()のほうが実行されますが、
Method();そのものが見えなくなるわけじゃないので、
自分の目的とはちょっと違う感じです。
実験した感じだと、動作としてはインターフェースにしなくともnew public void Method()すれば、
単純な基底クラスのメソッドの実装は呼ばれないと思うのですが、何か他の利点があるということですか?
0648デフォルトの名無しさん
2009/02/18(水) 15:23:05>>644だとMyClassのインスタンスをMyBaseClass, IInterfaceどちらにキャストしても
MyBaseClassのMehodの実装は呼べないよ
もちろん((IInterface)(MyBaseClass)).Methodでも同じ
0649デフォルトの名無しさん
2009/02/18(水) 15:27:470650デフォルトの名無しさん
2009/02/18(水) 15:27:51ああ、なるほどそういうことか!!
確かにそういうのが必要なときには便利ですね!
私も設計を見直して、基底クラスをいじったら、いい感じになってきました。
ありがとー
0651デフォルトの名無しさん
2009/02/18(水) 15:35:370652デフォルトの名無しさん
2009/02/18(水) 15:40:15Form1.cs以外のxxx.csとかから操作したいんだけど
どうすればいいんでしょうか?
0653デフォルトの名無しさん
2009/02/18(水) 15:44:24何の目的でそのチェックボックスがあるのか考えるんだ
その"目的"に対して,Form1にプロパティやメソッドを定義するべき
基本的にコントロールは外に出さない
0654デフォルトの名無しさん
2009/02/18(水) 16:15:52for(){
if(A) A();
if(B) B();
if(C) C();
if(D) D();
}
ABCが30くらいに増えて遅くなってので、最初にチェック判別して必要な機能だけループ内で使用できるよう、
if(A)
if(B)
if(C)
if(D)
for(){
B();
D();
}
の形にしたいのですがどうすればいいの?
0655デフォルトの名無しさん
2009/02/18(水) 16:24:26それは単純に処理が多くなって遅くなってるのでは?
if文処理がどのくらいの比重を占めてるのかは分からんが。
処理を委譲してチェック外したらヌルオブジェクトに切り替えるとか
0656デフォルトの名無しさん
2009/02/18(水) 16:28:27bool a = Aの式; bool b = Bの式; //c,d同様
for() { if (a) A(); if (b) B(); //c,d同様
が速いと思う
forの中を綺麗にしたいなら
var list = new List<Action>();
if (A) list.Add(メソッドAの名前); if (B) list.Add(メソッドBの名前);
for() { foreach (var action in list) action(); }
とか考えられなくはないけど
0657デフォルトの名無しさん
2009/02/18(水) 16:53:05∠_)
∧_∧. /
( ・∀・) /
⊂ つ
人 Y ∧_∧∩ ・・・
し (_) ( ´∀`)/
/←>>655
0658デフォルトの名無しさん
2009/02/18(水) 16:59:04リンクありがとうございます。
取りあえず仕様でどうしようも無いという事ですか。
でもなんでこんな仕様なんだろ。
>>630
なるほど、CanSeekをfalseに固定するだけでも解決出来るんですね。
もしかしてWebClientが大丈夫なのはそれがあるのかな。
0659デフォルトの名無しさん
2009/02/18(水) 17:14:20631で言われてる通りシークできないストリームなら内部でMemoryStreamに一旦コピーする
0660デフォルトの名無しさん
2009/02/18(水) 17:59:44そうなんです
それでいいんだけど、設計見直したらすっきりして、逆に実装が難しいと思ってた機能を
うまく盛り込むことができますた おまいらありがとう
0661デフォルトの名無しさん
2009/02/18(水) 20:34:41調べているのですが、Perlでは認証が通ったのでクッキーを見てみると"httponly"という
のがありました。これが原因だとするとVisual C#ではお手上げなんでしょうか?
0662デフォルトの名無しさん
2009/02/18(水) 20:37:330663デフォルトの名無しさん
2009/02/18(水) 20:42:43ワロタ
0664デフォルトの名無しさん
2009/02/18(水) 20:46:49問題なし
0665デフォルトの名無しさん
2009/02/19(木) 11:38:07マルチスレッドでの変数のロック処理について教えてください。
メインスレッドと別のスレッドで処理を行って、
別スレッドで受けたデータをメインスレッドで画面に表示せています。
その時、Listオブジェクト変数を使用してデータを処理しようとしているのですが
このような感じのいいのかが不安なので質問させていただきました。
現在やっている処理は
1.メインスレッドでList変数初期化
2.別スレッドを開始
3.別スレッドでデータをList変数にデータを入れる。(ひたすらスレッドタイマ内でADDし続ける)
5.メインスレッドで一定時間ごとにのデータを画面に表示させる。
6.メインスレッドでListのデータをクリアし、一定時間が経過するのを待つ。(5に戻る)
上記の処理だけを考えた場合、このときList変数をLockしようとしているのですが、ロックするタイミングは
3のデータを入れる時
6のデータをクリアするとき
でよいのでしょうか?
それとも
5のデータを表示させる時(5〜6の間)もロックをする必要があるのでしょうか?
よろしくお願いいたします。
0666デフォルトの名無しさん
2009/02/19(木) 12:01:490667デフォルトの名無しさん
2009/02/19(木) 13:21:46ありがとうございます。
ということはとにかく 別スレッドで操作される可能性のある変数を使う場合必ずロックする感じですか…
ありがとうございました。
0668デフォルトの名無しさん
2009/02/19(木) 20:54:04Application.DoEvents();
をはさんで処理してるんですけど、
たまにこの命令で応答なしになってずっとかえってこなくなります。
回避方法や代替方法などありませんでしょうか?
0669デフォルトの名無しさん
2009/02/19(木) 20:54:590670668
2009/02/19(木) 20:55:010671669
2009/02/19(木) 20:56:060672デフォルトの名無しさん
2009/02/19(木) 20:57:05ありがとうございます。
それでやってみます。
0673デフォルトの名無しさん
2009/02/19(木) 22:10:30インストールしようとしたら、
「この製品はWindows2000にはインストールできません。
どうしてもインストールしたかったら、XP以上にアップグレードしてください」
ってメッセージが出てきたんだが、どうすればいい?
0674デフォルトの名無しさん
2009/02/19(木) 22:12:080675デフォルトの名無しさん
2009/02/19(木) 22:13:021. XP入れる。
2. .NET Framework 2.0 SP2でお茶を濁す。
0676デフォルトの名無しさん
2009/02/19(木) 22:15:36C#3.0やLinqを使いたいだけなら、MONOという手もなくはない
0677デフォルトの名無しさん
2009/02/19(木) 22:18:050678デフォルトの名無しさん
2009/02/19(木) 22:19:070679デフォルトの名無しさん
2009/02/19(木) 22:34:13「.NETを入れてください」
というメッセージが出てきて、それをいれようとしたら
2000ではダメだ、といわれた。
small basicは2.0 SP2でも動くのかなぁ?
0680デフォルトの名無しさん
2009/02/19(木) 22:37:36Small BasicはWPF使いまくってるから古い.NETやMONOでは絶対動きません
0681デフォルトの名無しさん
2009/02/19(木) 22:43:12そしたらXP購入コースかなぁ
0682デフォルトの名無しさん
2009/02/19(木) 22:53:08Vista動かないならWPFなんかどうせまともに動かん
Small Basicにはそんな価値は全く無いけど
C#使うならXP以降でないと話にならない
0683デフォルトの名無しさん
2009/02/20(金) 00:48:53「そうだな。だがうちの製品の顧客はNT4と2000もいるから、.NETとやらは平気なのか?」
「そんなやつらは旧バージョンを引き続き保守してお使いいただきましょうよ」
「じゃあお前2本分働け」
がーん。
0684デフォルトの名無しさん
2009/02/20(金) 01:14:55メーラーを作っています。
設定を簡単にするために、Outlook Expressのsmtpサーバー、Port、ID、Passwordの4項目を引き継ぎたいです。
どこに格納されていて、どう読めばいいか、教えてください。
0685デフォルトの名無しさん
2009/02/20(金) 01:21:020686デフォルトの名無しさん
2009/02/20(金) 01:26:510687デフォルトの名無しさん
2009/02/20(金) 01:29:50そんなのが取得できたら勝手にメール読み放題ウイルスとか作れちゃうじゃん
0688デフォルトの名無しさん
2009/02/20(金) 01:36:05他のマシンの設定情報読んだり書き換えたりするわけじゃないんだから
0689デフォルトの名無しさん
2009/02/20(金) 01:39:34とか実行しちゃったらやばいんじゃん?
0690デフォルトの名無しさん
2009/02/20(金) 02:10:450691デフォルトの名無しさん
2009/02/20(金) 02:37:41とりあえず、文字列処理で
System.Reflection.Assembly.GetExecutingAssembly().CodeBase.Substring(8).Replace('/','\\').Replace("WMPEmitMiku.DLL","");
ってやってるんですが、何ともダーティーで。
0692デフォルトの名無しさん
2009/02/20(金) 03:14:08string dirpath = new FileInfo(path).DirectoryName;
Console.WriteLine(path);
Console.WriteLine(dirpath);
0693デフォルトの名無しさん
2009/02/20(金) 06:21:11http://codezine.jp/article/detail/147?p=1
smtp とかその辺は、レジストリにありそう。
0694691
2009/02/20(金) 09:08:44LocationプロパティはMSDNにマニフェストがどうちゃらと書いてあって良く分からなかったのですが
UNCパスが取れるのですね。助かりました。ありがとうございます。
0695デフォルトの名無しさん
2009/02/20(金) 11:04:15上記メソッドを使う時にタイムアウトの時間を指定とかできないんでしょうか?
接続に失敗したとき AsyncCallback で指定した部分に来るのが遅すぎるのでちょっと困っているのですが・・・
補足:
System.Net.Sockets.SocketException:
接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。
または接続済みのホストが応答しなかったため、確立された接続は失敗しました。
この情報を早く取得してタイムアウトエラーを出したいのです。
0696デフォルトの名無しさん
2009/02/20(金) 12:29:53リンク先をたどってHideSeek(シェアウェア)を試して、パスワードを含むOutlookExpressの設定データを読めることはわかりました。読めるだけでテキスト書き出しはできないです。
フリーでは、Protected Storage PassViewというのがあるらしい。そのひとつのmailpv.exeを使ったら、簡単にテキスト書き出しもできるので、これを使ってProcess(mailpv.exe)とかもありかもなと思いました。
気軽に「こんなソフトありませんか?」ならこれで終了です。
おっしゃるとおり、Protected Storageに入っているようです。
これは既存のプログラムやC++なのですが、C#の方法は?
C++だと、
PStoreCreateInstance = (TPStoreCreateInstance)
GetProcAddress(hDll,"PStoreCreateInstance");
と書くところを、C#で書ければいいのかなと思うのですが、で、どう書きゃいいんでしょう?
まずは、Windows\System32\Pstorec.dllを参照に追加して。
としようとしたら、「C:\Windows\System32\Pstorec.dllへの参照を追加できませんでした。ファイルがアクセス可能で、有効なアセンブリまたはCOMコンポーネントであることを確認してください」とかいわれてます。
0697デフォルトの名無しさん
2009/02/20(金) 12:35:360698デフォルトの名無しさん
2009/02/20(金) 12:49:16こういうサイトがあってPstorec.dllもリストされているんだけど、そのAPIは検索しても出てこないね。
まだ完全網羅はされていないのかな。
0699デフォルトの名無しさん
2009/02/20(金) 13:52:01作成したSQLServerへの接続文字列を追加し、グローバル的に使いたいのですが・・
もしくは他にいい方法があるようでしたら教えて下さい
0700デフォルトの名無しさん
2009/02/20(金) 15:30:47public String 接続文字列1 = null;
public String 接続文字列2 = null;
…
public String 接続文字列100 = null;
}
0701デフォルトの名無しさん
2009/02/20(金) 15:32:02public static String 接続文字列1 = null;
おれとしたことが
0702デフォルトの名無しさん
2009/02/20(金) 16:01:44クラスですか
ちょっとそっちでやってみます
ありがとうございました
0703デフォルトの名無しさん
2009/02/20(金) 16:24:360704デフォルトの名無しさん
2009/02/20(金) 16:26:02プログラムを書き換える
0705デフォルトの名無しさん
2009/02/20(金) 16:28:13リソースは知らんけど、設定なら簡単に編集できるんだけどなぁ。2008でね。
追加、削除はしらない。
0706デフォルトの名無しさん
2009/02/20(金) 16:42:16接続文字列程度なら暗号化して適当な設定ファイルにでも書き込むってのは?
ウチは大体XMLでやってるけど
0707デフォルトの名無しさん
2009/02/20(金) 16:43:010708デフォルトの名無しさん
2009/02/20(金) 16:45:12普通にループで見て回るとかじゃなくって?
0709デフォルトの名無しさん
2009/02/20(金) 17:16:4216進の"0x01 0x02 0x03 0x04"をまとめて検索できないかと思って・・・
0710デフォルトの名無しさん
2009/02/20(金) 19:43:150711デフォルトの名無しさん
2009/02/20(金) 19:51:37あるので、使わない方法を調べてるんですけど、以下のようなコードだと実行すらされて
いない感じなんですけど、原因わかりますでしょうか?
private IEnumerable<int> SiteCheck(WebBrowser webBrowser, string url)
{
webBrowser.Navigate(url);
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
yield return 100;
// Application.DoEvents();
// ThreadSleep(100);
// これとおなじ
}
}
0712デフォルトの名無しさん
2009/02/20(金) 20:00:06タイマイベントでforeach (var dummy in SiteCheck(browser, url)) ;
とかしたら動くかもしれないけどかなり変態的な手法なのでお勧めできない。
0713712
2009/02/20(金) 20:04:00タイマイベントでforeachはおかしいな
IEnumerator<int> state;
void Start() { state = SiteCheck(browser, url); timer.Start(); timer.Interval = 100; timer.Tick += timer_Tick; }
void timer_Tick() { state.MoveNext(); }
あえてやるならこんな感じかな
0714デフォルトの名無しさん
2009/02/20(金) 20:18:210715デフォルトの名無しさん
2009/02/20(金) 21:16:26「データ型はサポートされていません」とのエラーがでて上手くいきません。
oledbではCLOB型の取得を行えないのでしょうか。
----環境----
DB:Olacle10g
.NET:3.5
----ソース----
OleDbCommand command = new OleDbCommand("select clobColmun from clobtable", connection, transaction);
OleDbDataReader dr = command.ExecuteReader();
if(dr.Read())
・・・
0716デフォルトの名無しさん
2009/02/20(金) 21:19:580717デフォルトの名無しさん
2009/02/20(金) 21:22:49oledbでclobが扱えないんじゃなくて、
select使ってstringでとろうとするのが無理
0718デフォルトの名無しさん
2009/02/20(金) 21:24:23現状システム全体がOLE DBで動いているため、
この部分のみODP.NETを使うというのは厳しい状況です・・・
0719デフォルトの名無しさん
2009/02/20(金) 21:33:16if文以降でOleDbDataReader#GetBytes()でバイト配列を取得→stringへ変換という処理を想定していたのですが、
例外は以下の行で発生しているため、原因が特定できずに困っています。
OleDbDataReader dr = command.ExecuteReader();
>select使ってstringでとろうとするのが無理
という事は
OleDbCommand command = new OleDbCommand("select clobColmun from clobtable", connection, transaction);
の行自体に問題があるのでしょうか。
先ほどからググり続けているのですが、ピンとくるヒントが中々見つかりません・・・
0720デフォルトの名無しさん
2009/02/20(金) 22:16:000721デフォルトの名無しさん
2009/02/20(金) 22:44:44検索すると似たような質問があるね。BLOBの質問だけど
http://202.218.219.160/bbs/phpBB/viewtopic.php?topic=22005&forum=7&start=0
結局
>BLOB 型だと PL/SQLパッケージを使用する以外に方法が無かったかも知れません。
とかいってて、うまく解決できてないみたい
0722デフォルトの名無しさん
2009/02/21(土) 03:15:09一部できそうな内容も見つかりましたが、現状の問題の解決には至りませんでした
ありがとうございました
0723デフォルトの名無しさん
2009/02/21(土) 03:34:45基本的にできないよ
0724デフォルトの名無しさん
2009/02/21(土) 06:07:34例えば、火狐のBuildIDとかです
WinAPIなら取得出来るんですけど・・・
0725デフォルトの名無しさん
2009/02/21(土) 11:23:00ならAPI使えばいんジャマイか
0726デフォルトの名無しさん
2009/02/21(土) 12:21:39a.ToString;
を
(new int()).ToString;
とかくことはできますか?
0727デフォルトの名無しさん
2009/02/21(土) 12:25:310728デフォルトの名無しさん
2009/02/21(土) 12:25:460729デフォルトの名無しさん
2009/02/21(土) 12:26:240730デフォルトの名無しさん
2009/02/21(土) 12:29:43デリゲートがなければ行方不明になる書き方のようなきがするんですが
0731デフォルトの名無しさん
2009/02/21(土) 12:31:24Dispose() メソッドが呼び出されるように書く為とはどういうことですか?
0732デフォルトの名無しさん
2009/02/21(土) 12:37:24アクセスできない
実際行方不明になる
>>731
using (Bitmap bmp = new Bitmap(width, height)) { bmpに対する処理 }
と書くとスコープを抜けたときに自動的にbmpがDisposeされる
たまたま同じusingキーワードを使ってるだけで全くの別物
0733デフォルトの名無しさん
2009/02/21(土) 12:38:01ttp://msdn.microsoft.com/ja-jp/library/yh598w02(VS.80).aspx
using(obj)
{
ウントカカントカ
}
って書くとスコープを抜けるときにDisposeを呼ぶ。
ダック…ではなかったような気がする。
0734デフォルトの名無しさん
2009/02/21(土) 12:44:59それってDisposeを呼べば済むことじゃないんですか?
わざわざ紛らわしい名前を付けてまで自動的に呼ばれるようにする理由はなんですか?
0735デフォルトの名無しさん
2009/02/21(土) 12:46:16thx読んできます
0736デフォルトの名無しさん
2009/02/21(土) 12:46:58スコープを分離するため
0737デフォルトの名無しさん
2009/02/21(土) 12:48:12Disposeを呼ぶときはかならずこういう風に書く必要がある
try { objを使う } finally { obj.Dispose(); }
こうしないと例外が発生したときにDisposeが呼ばれない
毎回こんなの書くのは面倒だから
0738デフォルトの名無しさん
2009/02/21(土) 12:49:010739デフォルトの名無しさん
2009/02/21(土) 12:51:25なるほど、deleteをデストラクタに書くようなものですね。
理解できましたありがとうございました。
0740デフォルトの名無しさん
2009/02/21(土) 13:16:540741デフォルトの名無しさん
2009/02/21(土) 13:25:040742デフォルトの名無しさん
2009/02/21(土) 13:45:00API使おうと思ってググってみると頭おかしいんじゃないかって人のページに当たるので躊躇ってました
昨日からC#触り始めましたがC++先にやったからなのか痒いところに手が届かないことがしばしばありますね
C#はもうちょっと時間が経ったあとにやってみます
ありがとうございました
0743デフォルトの名無しさん
2009/02/21(土) 14:38:53れる。
0744デフォルトの名無しさん
2009/02/21(土) 16:18:42駄目という大前提が
0745デフォルトの名無しさん
2009/02/21(土) 16:20:220746デフォルトの名無しさん
2009/02/21(土) 16:24:55このthisはどういう意味なんですか?
bool型変数thisの動的配列ってことですか?
動的でいいんでしょうか?
0747デフォルトの名無しさん
2009/02/21(土) 16:26:30indexer
0748デフォルトの名無しさん
2009/02/21(土) 16:26:49get;set;ってあるとこからプロパティだと推測しろ
0749デフォルトの名無しさん
2009/02/21(土) 16:27:57StackOverflowExceptionがそうなのだけど、
CLR2.0からはcatchも出来なくなったからもうどうでもいい。
0750デフォルトの名無しさん
2009/02/21(土) 16:31:290751デフォルトの名無しさん
2009/02/21(土) 16:45:46使い方が違うからねえ。
0752デフォルトの名無しさん
2009/02/21(土) 17:11:22フォルダを転送するにはどんな命令を使えばいいですか?
0753デフォルトの名無しさん
2009/02/21(土) 17:13:430754デフォルトの名無しさん
2009/02/21(土) 17:20:49インデクサわかりました
クラス = {1,2}
としてあればインデクサで指定してある方法で代入とかできるんですね
でもフィールドが2つあったらどっちに代入されるんですか?
0755デフォルトの名無しさん
2009/02/21(土) 17:26:08var list = new List<int> { 1, 2 }; は
var list = new List<ind>(); list.Add(1); list.Add(2);と同じ
0756デフォルトの名無しさん
2009/02/21(土) 17:27:040757デフォルトの名無しさん
2009/02/21(土) 17:33:05一番上のフィールドに自動的に入るとかかと思いました。ありがとうございました
0758デフォルトの名無しさん
2009/02/21(土) 17:43:42ひょっとして、プロパティに関して自動プロパティしか知らない?
堅気のプロパティを知ってから自動プロパティを使った方が良いよ。
public int A{get; set;}
みたいなのしか書いた事ないなら、
private int a;
public int A{get{return a;} set{a=Value;}}
をまず知っておくべき。
0759デフォルトの名無しさん
2009/02/21(土) 18:02:08WebClient wc = new WebClient();
wc.UploadFolder(?);
としようにもUploadFolder自体がWebClientの定義に含まれていないとエラーが出たんですが、どういうことですか?
0760デフォルトの名無しさん
2009/02/21(土) 18:05:17FTPならMKDコマンドか、WebClientで使えるのかな
0761デフォルトの名無しさん
2009/02/21(土) 21:08:28ジェネリックコンテナのListやDictionaryで、
C++のstlにあるfront()やback(),
リバースイタレータの機能ってどうやって使うのでしょうか。
0762デフォルトの名無しさん
2009/02/21(土) 21:13:52リンクリストはLinkedList<T>
逆順に列挙するにはforeach (var item in ((IEnumerable)list).Reverse())のようにする(LINQ)
0763デフォルトの名無しさん
2009/02/21(土) 21:23:22C#で二分木に相当するコンテナってのはあるんでしょうか。
0764デフォルトの名無しさん
2009/02/21(土) 21:24:51実行されて順番は未定義、foreachの中身は可換な操作のみ可、であるはずなのに、
何故かEnumerable.Reverse()がある不思議。実用上は仕方がない事とは言え。
俺としては、本当に順番は未定義にして、foreachの中身が可換な操作の場合のみ結果が
定義されるとした上で、並列実行なんかをサポートしてくれた方が嬉しいんだが・・・
まあ、内部的にIEnumeratorのMoveNext()使っている限りはどうしようもない望みなわけだが。
0765デフォルトの名無しさん
2009/02/21(土) 21:37:500766デフォルトの名無しさん
2009/02/21(土) 21:46:12おお、ありがとうございます。
でも、先頭要素や末尾要素の取得が出来ません。
MSDNみてるとExtensionのメソッドというので取得できるみたいですが・・・
http://msdn.microsoft.com/ja-jp/library/ms132262.aspx
このExtensionのメソッドってどうやれば使えるのでしょうか。
インテリセンスでは出てこないので、何かしなきゃいけないみたいで・・・。
0767764
2009/02/21(土) 21:48:25配列にコピーする鬼実装になっていたような気がする。LinkedListが泣いている・・・
0768デフォルトの名無しさん
2009/02/21(土) 21:48:56Reverseなどはusing System.Linq;をファイルの先頭に追加すると使えるようになる
0769デフォルトの名無しさん
2009/02/21(土) 21:51:26(;´Д`)もしかして、stl使ったほうがよさげ?
0770764
2009/02/21(土) 21:59:10「拡張メソッド」の訳をさぼったっぽい。
System.Linq.Enumerableクラスの一連のメソッドは第一引数が
this IEnumerable foo
ってなっていて、実際にはIEnumerableを実装しているクラスノインスタンスメソッドのように
使える。C++のSTLで言う「アルゴリズム」みたいなもの。IEnumerableを実装していればみんな
同じ事ができる。ただし、内部的にIEnumeratorを使った列挙にまで落とし込まれるので、
>>767
に書いたみたいに順序付けられて先頭と末尾を持つコンテナの特性は活かされない。
>>768
SortedListはインデックスがある分、要素の追加がO(n)かかる。
実は、本当の意味での二分木ってないんだよね。
SortedDictionary:内部構造は二分木なのにバイナリサーチがない(あれば先頭、末尾を
取得するメソッドがなくても最悪O(logN)で先頭、末尾に辿り着ける)
List, SortedList:バイナリサーチあり。ただしインデックスを持っているので追加、削除
にO(N)かかる。
orz
俺は、スキップリストを自分で実装して二分木の代わりに使っている。確率的アルゴリズムで
もって局所的な操作を行っても平衡二分木状である事が保障され続けるナイスなデータ構造。
0771デフォルトの名無しさん
2009/02/21(土) 22:15:06WintellectがいろいろSTL風のコレクションを作っているらしい。
ttp://d.hatena.ne.jp/shintaro/20080128
0772デフォルトの名無しさん
2009/02/21(土) 22:17:51System.Linq.Enumerable.First拡張メソッドを使っても二分木構造が活かされないって意味ね。
キーが既に含まれているかどうかのバイナリサーチは(拡張メソッドじゃなくて)クラスのメソッド
として実装されている。でも、それじゃ役に立たない場面が多い。
0773763=766=769
2009/02/21(土) 22:27:41拡張メソッドも、STLもC#2.0では使えないようなので、
今ある機能で間に合わせることにしました。
先頭要素の取得は↓のような感じで。
SortedDictionary<Key, Value>.Enumerator e = contaner.GetEnumerator();
e.MoveNext();
return e.Value;
でも、なんかもやもやする・・・
0774デフォルトの名無しさん
2009/02/21(土) 22:32:56拡張メソッドとして提供するFirstメソッドは高速(少なくともO(log N)、最初のノードを
内部で保持していればO(1))である可能性があるね。その代わりLastは内部で全部列挙
しやがるんだろうなあorz
0775デフォルトの名無しさん
2009/02/21(土) 22:35:03大丈夫、拡張メソッドFirstの内部実装はそれだ。で、Lastの内部実装は>>774だ。
でも、そんなにSTLやアルゴリズムが好きなら、LINQ to Object(さんざん出ている
System.Linq.Enumerableクラスが提供する拡張メソッドのことね)は確実に
気に入ると思うよ。まだまだ足りない物は確かに多いんだけど。
0776デフォルトの名無しさん
2009/02/21(土) 22:52:57VS2008からみたいなので諦めます。
でもListの末尾要素を順序探査して拾うってのは、
ちょっとひどいような(;'A`)
将来的には改善されるとは思うので、
LinqがあるVS買ったら書き換えるようにします。
0777デフォルトの名無しさん
2009/02/21(土) 23:09:02ねえ、それで、「順序に関する」最初の要素ってちゃんと取得できてる?
気になってリフレクタでSortedDictionaryの実装を見てみたんだけど、
内部でTreeSet<T>っていうinternalクラスを使っているのね(赤黒平衡木っぽい)。
で、GetEnumeratorするとこのTreeSetのGetEnumeratorに丸投げされて、
ResetしてMoveNextしてCurrentを参照するとルートノードが返される実装になって
いるっぽいんだが。
このTreeSet<T>をpublicにしてくれれば>>773のもやもやも解消するだろうになあ。
これはモノホンの平衡二分木になっている。それで、
InOrderTreeWalk(TreeWalkAction<T> action)
ってメソッドがあって、どうやら、条件式によって[a,∞)の形の区間を指定してその区間
に含まれる最初のノードを探索してくれるみたい。ただし、結局逆順の探索は実装されて
ない。orz.
>>776
Express Editionは無料ですよ。確か2005と共存もできるし。とりあえず入れて見たら?
業務での開発?
0778777
2009/02/21(土) 23:11:090779デフォルトの名無しさん
2009/02/21(土) 23:18:51趣味の開発なのですが、Expressエディションだと
クラスデザイナが使えないようなので手をだしてません。
リファクタ機能とクラスデザイナの使い心地試すのを
第一優先でC#に手をだしてるものでして・・・。
0780デフォルトの名無しさん
2009/02/21(土) 23:42:460781デフォルトの名無しさん
2009/02/21(土) 23:49:430782デフォルトの名無しさん
2009/02/22(日) 01:18:03リファクタ(R) → 名前の変更, メソッドの抽出
しかないな。
インテリセンスはちゃんと効くけど
0783デフォルトの名無しさん
2009/02/22(日) 01:27:48自分で(拡張メソッドを)オーバーロードすればいいのに
まあ、これくらい標準で用意してくれという意見なら賛成するが
public static ListEx {
public static T First<T>(this IList<T> list) { return list[0]; }
public static T Last<T>(this IList<T> list) { return list[list.Count - 1]; }
public static IEnumerable<T> Reverse<T>(this IList<T> list) {
for(int i = list.Count - 1; i >= 0; i--) yield return list[i];
}
}
0784デフォルトの名無しさん
2009/02/22(日) 01:32:56http://msdn.microsoft.com/ja-jp/library/system.linq.enumerable_members(VS.95).aspx
0785デフォルトの名無しさん
2009/02/22(日) 01:43:57それだけあれば十分じゃね?
つか、それしか使ったことない気がする
0786デフォルトの名無しさん
2009/02/22(日) 01:51:09そうじゃなくて、IEnumerable<T>を想定した(汎用的で効率の悪い)実装ではなく、
IList<T>、etc. 専用に効率の良い(かもしれない)実装**も**用意してくれという話
てか、最初の単語くらいは見てくれよw
0787デフォルトの名無しさん
2009/02/22(日) 06:25:47もちろんそれで良いんだけど、まさに、「標準で用意してくれ」って意見なんだよね。
それと、SortedDictionaryだと>>773みたいに列挙の必要はないのにEnumerator
をとることになって格好悪い。
具体的には、IEnumealeは順序を保証しない列挙に特化(Reverse, First, Lastなし, その代わり
foreachの並列実行サポート)して、IOrderedEnumerableみたいなインタフェースを追加する。
こいつには順序に従った区間(-∞,a]と等価なbool値デリゲートおよび探索開始ノードを取るLast,
順序に従った区間[a,+∞)に等価なbool値デリゲートおよび探索開始ノードを取るFirst, 及び順序に
従って前方、後方に移動できるIOrderedEnumeratorを与えるGetOrderedEnumeratorメソッドが
あって、順序があって先頭・末尾があるコレクションはこいつで表現される。そんでもって標準で
拡張メソッドで``アルゴリズム''を提供する。これが一番みんなが幸せになれるんじゃないかな。
LINQに慣れると、標準での汎用的なインタフェースへの拡張メソッドの提供という事の便利さが
身に染みる。
>>771も気になるけれど、IEnumerable<T>, IList<T>, ICollection<T>インタフェースへの
拡張メソッドによる実装なので、ツリー状の構造を活かしたバイナリサーtはなくって、IList<T>
のインデックスベースのバイナイサーチしかないみたい。それはそもそもList, SortedListにはある
以上魅力に乏しいよなあ。
0788デフォルトの名無しさん
2009/02/22(日) 06:48:47forward, BackメソッドをIOrderedEnumerableに含めれば良いのか。ますますSTLっぽくなってきた。
インタフェースの設計って難しいなあ。だから標準で(略)
0789デフォルトの名無しさん
2009/02/22(日) 11:15:26余計な心配はいらないよ
ソース読めばわかる
0790デフォルトの名無しさん
2009/02/22(日) 11:25:410791787
2009/02/22(日) 12:52:08と叫んでみる。順序と特別な探索の方法を持つデータ構造を活かす汎用的な
(C++の``アルゴリズム''的な)方法がないんだよ。
IList, IList<T>だったらそりゃ特別扱いもされているし、>>783のコードでも、
>>771のライブラリでも良い。
ただ、>>773のFirst()のコードは>>778によって、ルートからの探索でO(logN)で先頭ノードに
辿り着くので二分木の構造は結局活かされるみたいね。これはLINQの実装そのものだからLINQ
でも同じ。
0792デフォルトの名無しさん
2009/02/22(日) 13:32:49さらに、csvのある項目から文字列を複数個生成し、それをArrayListに入れています。
そのArrayListをさらにFormのメンバ変数のArrayListに入れています。
「DataGridViewの1行のデータ」を使用するときは、表示されている情報のほかに、
上記のArrayListの文字列も使いたいのです。
今は選択された行のindexから、メンバ変数のArrayListからその行のArrayListを取り出して使っています。
これで動いているのでいいんですが、
たとえばDataGridViewの1行に直接不可視のカラムでArrayListを追加できれば、メンバ変数で別途管理しなくてもすむと思うんですが、
DataTableのColumnのAdd()で指定するDataTypeにはArrayListがありません。
こんなように、DataGridViewには非表示で、1レコードに紐付けて管理したいListやCollection等があった場合、
みなさんどう管理しますか?
0793デフォルトの名無しさん
2009/02/22(日) 16:19:200794デフォルトの名無しさん
2009/02/22(日) 16:54:16そういうことじゃないのかね。
ほとんどDataGridView使ったことないもんで勘違いだったらすまんが。。
0795デフォルトの名無しさん
2009/02/22(日) 19:00:45MS-DOSで.csファイルをコンパイルしようとしたけど出来ませんでした。
Pathが通っていないからだと思い、csc.exeを探したのですが見当たりませんでした。
0796デフォルトの名無しさん
2009/02/22(日) 19:03:37PATH は \WINDOWS\Microsoft.NET\Framework\v2.0.50727
0797デフォルトの名無しさん
2009/02/22(日) 19:06:420798デフォルトの名無しさん
2009/02/22(日) 19:08:50%frameworkdir%\%frameworkversion%にある
そんな環境変数見当たらなければ、%windir%\Microsoft.NET\Framework\v2.0.50727
0799デフォルトの名無しさん
2009/02/22(日) 20:26:57ndocとかいうのがぐぐるとひっかかったのですが、 2008では使えないみたいで。
0800デフォルトの名無しさん
2009/02/22(日) 20:32:560801デフォルトの名無しさん
2009/02/22(日) 20:32:59他アプリケーションのコントロールのハンドルを取得して、
そいつにPostMessageなんぞ使って、
要するにそのアプリをコントロールしたいんだわ
ところが、
SunAwtFrame
ってウインドウクラスのコントロール達の
ハンドルが取得できないどころか探せすらできない。
Spy++で見ても親ウインドウしか見つからない・・・。
これってJavaのクラス?
なんか良い方法はないでしょうか?
0802デフォルトの名無しさん
2009/02/22(日) 20:34:40素のままで使うのは大変なのでsandcastle help file builderをフロントエンドとして使うのが良い。
0803デフォルトの名無しさん
2009/02/22(日) 20:37:03それならウインドウの中身を一枚の絵として描いてるだけなんだからどうしようもない
0804デフォルトの名無しさん
2009/02/22(日) 20:39:30だけど、IE のウィンドウについては IHtmlDocument インターフェイスが用意されてる。
Java(Awt) に同じようなものがあるかは知らん。
0805デフォルトの名無しさん
2009/02/22(日) 21:23:46というか今いれてという話なら 2008 じゃないかって気がするから
v3.5 の下だと思う > csc.exe
0806797
2009/02/22(日) 21:25:330807デフォルトの名無しさん
2009/02/22(日) 21:25:460808デフォルトの名無しさん
2009/02/22(日) 21:30:55たしかVC++以外のエクスプレスには無かったはず。
0809デフォルトの名無しさん
2009/02/22(日) 21:34:33おまえらありがと
ちょっくら違う手を考えてみる
0810デフォルトの名無しさん
2009/02/22(日) 22:14:59質問者じゃないけど、これ知らなかった
今インストールして試してみたが、便利だな
利用させてもらうよ
0811デフォルトの名無しさん
2009/02/22(日) 22:25:01コンソール版も同梱されているので、VisualStudioの外部ツールに
タイトル:Sandcastle Help File Builder
コマンド:C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderConsole.exe
引数:$(ProjectDir)$(TargetName).shfb
"出力ウィンドウを使用"にチェック
"起動時に引数を入力"にチェック
って感じで登録しておくと便利。
0812デフォルトの名無しさん
2009/02/22(日) 22:27:430814デフォルトの名無しさん
2009/02/22(日) 22:59:13PresentationStyleはvs2005にするとMSDNと似たフォーマットになるよ。
0815デフォルトの名無しさん
2009/02/23(月) 00:22:45親 ClassA→ClassB→ClassC 子
とクラスを継承していて、ClassCはインスタンスも生成でき、ClassCからの継承も可させたいけど、
ClassBやAから継承したクラスを作らせたくないようにしたり、直接、ClassBやAのインスタンスを
生成させたくない場合はどうすればいいですか?
クラスライブラリとして公開したいので、ClassCは自由に利用してもらいたいのですが、
ClassBとClassAは非公開にしておきたいのですが、どうすればいいでしょうか。
0816デフォルトの名無しさん
2009/02/23(月) 00:27:140817デフォルトの名無しさん
2009/02/23(月) 00:29:31アクセシビリティに一貫性がありません。基本クラス 'ClassA' のアクセシビリティはクラス 'ClassB' よりも低く設定されています。
ってエラーで弾かれるのです(´;ω;`)ブワッ
0818デフォルトの名無しさん
2009/02/23(月) 00:32:03コンストラクタをinternalにする
.NET Frameworkのクラスでは多用されてるやり方
0819デフォルトの名無しさん
2009/02/23(月) 00:51:58ただ、それだとインスタンスが生成できないというだけで、
継承はできるので、継承元クラスのProtectedのメソッドが見えてしまったり、
インテリセンス(?)にIDE上ででてきてしまったりしますよね。
なるべく余計な情報を出したくないんですが、無理なら仕方ないのかな。
0820デフォルトの名無しさん
2009/02/23(月) 01:05:20そもそも、それならClassAもClassBも必要ないはずだと思うんだけど。
全部ClassCに書けばいいじゃん。
派生できないベースクラスなど何の意味があるの?
ClassCという型の存在を隠したまま、そのインスタンスをClassAとして使わせたい、
ってのならよくわかるし方法もあると思うんだけど。
0821デフォルトの名無しさん
2009/02/23(月) 01:10:17クラスライブラリごとに開発チームが違うような場合
最も表面的なところしか見せたくない場合もあると思うんだが
0822デフォルトの名無しさん
2009/02/23(月) 01:19:29と言ってるんですが。
0823デフォルトの名無しさん
2009/02/23(月) 01:30:170824デフォルトの名無しさん
2009/02/23(月) 01:36:23派生クラスだけ公開したいという場合もあるんじゃないか?
0825デフォルトの名無しさん
2009/02/23(月) 04:08:32C:\Program Filesの中にcsc.exeが見当たらなくて焦った。
C:\WINDOWSの中にあったのね。
0826デフォルトの名無しさん
2009/02/23(月) 07:51:090827デフォルトの名無しさん
2009/02/23(月) 07:52:340828デフォルトの名無しさん
2009/02/23(月) 07:53:08そういう場合、お作法としては、移譲、
要するに、ちょっと面倒だけどメンバーとして持って、
ClassA a;
void Foo() { a.Foo(); }
とする方がいいということになってる。
0829デフォルトの名無しさん
2009/02/23(月) 07:55:26PowerShell が .NET に依存してて、
.NET が GUI 機能に依存してるから外すに外せないらしいね。
.NET Framework の GUI 外したバージョンも作って欲しいんだけどなぁ。
0830デフォルトの名無しさん
2009/02/23(月) 08:12:220831デフォルトの名無しさん
2009/02/23(月) 08:17:410832デフォルトの名無しさん
2009/02/23(月) 08:22:540833デフォルトの名無しさん
2009/02/23(月) 09:47:12.NET Framework Version 3.5 の新機能
http://msdn.microsoft.com/ja-jp/library/bb332048.aspx
にある
> Socket 名前空間に対する機能強化の一環として、一連のクラスが新たに追加されました。
とは具体的にどのクラスを差すのでしょうか?
0834デフォルトの名無しさん
2009/02/23(月) 13:37:43参考になるサイトなどお教えください
0835デフォルトの名無しさん
2009/02/23(月) 17:30:24まずはリモコンの素材について学んで来い
そしたら教えてやる
0836デフォルトの名無しさん
2009/02/23(月) 22:38:58一度XAMLなしで簡単なプログラムを書いてみるといいよ。
やってる途中でバカバカしくなるから。
0837デフォルトの名無しさん
2009/02/23(月) 22:39:45すまん、誤爆
0838デフォルトの名無しさん
2009/02/23(月) 22:49:42理解した
向こうにレスする必要なし
0839デフォルトの名無しさん
2009/02/23(月) 23:31:13Managed Library for Nintendo's Wiimote でぐぐれ。
0840デフォルトの名無しさん
2009/02/23(月) 23:38:38バインドしたDatatableのデータを更新すると、
グリッドの方にも反映されますよね?
その時のセルを取得したいのですが、
CellValueChangedイベントで拾えませんでした。
何か方法よいありますでしょうか?
0841デフォルトの名無しさん
2009/02/23(月) 23:44:39ジョークだと思ったら本当にあるのなw
0842デフォルトの名無しさん
2009/02/23(月) 23:59:13rowdataboundイベントでe.rows.cellsとかで取得できないの?
0843デフォルトの名無しさん
2009/02/24(火) 00:09:52日本だとMS製品と水と油な感じの派閥でも、
海外では.NETに前向きな雰囲気。
Wiimote以外にも、iPhoneで.NET(Mono)使うとか普通にやられてる。
0844デフォルトの名無しさん
2009/02/24(火) 00:11:24DataGridViewには該当するイベントはないですね。
似たイベントを探しましたが、見あたりませんでしたorz
0845デフォルトの名無しさん
2009/02/24(火) 00:14:15CurrentCell
この辺
0846デフォルトの名無しさん
2009/02/24(火) 00:19:20確認してみます。
0847デフォルトの名無しさん
2009/02/24(火) 00:22:15このページにのってる
http://www.kosaka-lab.com/tips/
質問する前にググれよ
0848デフォルトの名無しさん
2009/02/24(火) 11:22:06ありがとう。いろいろ試しましたが、結局わかりませんでしたorz
やりたいことは、Datatable(ないしBindingSource)の値が
変更された際にDGViewの該当セル色を変更したいだけのですが、
何かスマートな方法なないかなと。
DGViewから該当行を検索しなおすしかないでしょうか?
0849デフォルトの名無しさん
2009/02/24(火) 11:45:00ソートとかフィルタされてるならBindingSource.IndexOfも
0850デフォルトの名無しさん
2009/02/24(火) 11:53:15そのクラスのメソッドを実行するのが普通だと思うんだけど
staticなメソッドを利用してもいいのかな?
クラスのインスタンスをメンバに持ったほうがいいのなら、
なぜそっちのほうがいいの?
0851デフォルトの名無しさん
2009/02/24(火) 11:59:46ListChangedはイベント、IndexOfはメソッドですよね?
どちらを使っても、更新セルが表示中のグリッドのどこに存在するか
取得できるということ?
あと、IndexOfを使うタイミングがわからないです。
質問ばかりですいません。
0852デフォルトの名無しさん
2009/02/24(火) 12:02:49staticでいいなら別にそれでも構わんがインスタンス固有の状態をもてないじゃないか
>>851
ListChangedイベントで色の変更とかする
ただしBindingSource.Sortとか使ってると
ListChangedで報告される元リストのインデックスとDataGridViewで表示されてるインデックスが食い違うので
元リストのインデックスからDataGridViewで表示に使用するインデックスを探すのに使う
0853デフォルトの名無しさん
2009/02/24(火) 12:11:17ありがとう、なるほど。
そういう場合はインスタンスに状態を保持しておいて、
そのクラスに処理を書いたり、基底クラスに記述するべきなんじゃないのかな。
そのクラスが保持するインスタンスに保持しているからいいのかもしれないけど。
基本はインスタンス固有の情報を引数に渡して、何かしらの値を返り値として得る
ような動作だと思っていたよ。
0854デフォルトの名無しさん
2009/02/24(火) 13:51:20if (Regex.Match(line,"(WBC|ワールド・ベースボール・クラシック) && (イチロー|松坂)").Success)
と書いてみたのですが、いまいちうまくヒットしないです。アドバイスお願いします。
0855デフォルトの名無しさん
2009/02/24(火) 14:25:13CommandBuilderでの更新は出来ないのでしょうか?
0856デフォルトの名無しさん
2009/02/24(火) 16:35:35Form内のボタンを押したら、位置取得モードに移行し、クリックでFormの内側と外側のポインタの位置を取得しようと思っています。
位置取得モードというのは、便宜的な名称で、その状態のときには、外部のウィンドウとかをクリックしても操作できない状態になっているようにしたいということです。
private void button1_Click(object sender, EventArgs e)
{
Thread.Sleep(2000);
MessageBox.Show("ポインタのX座標:" + Cursor.Position.X.ToString() + "ポインタのY座標:" + Cursor.Position.Y.ToString());
}
これで、ボタンを押したら、2秒後のポインタの位置を取得するところまではできました。
Form内の場合は、
private void Form1_Click(object sender, EventArgs e)
{
MessageBox.Show("ポインタのX座標:" + Cursor.Position.X.ToString() + "ポインタのY座標:" + Cursor.Position.Y.ToString());
}
でよいのですが、これだとFormの外の座標はとれません。
こういう場合って、どんなイベントハンドラorメソッドを作ればいいんですか?
0857デフォルトの名無しさん
2009/02/24(火) 16:49:18Control.Capture試してみ
>>854
正規表現スレで聞きな
0858デフォルトの名無しさん
2009/02/24(火) 17:18:04private void Control_MouseDown(System.Object sender, System.Windows.Forms.MouseEventArgs e)
{
Control control = (Control)sender;
if (control.Capture)
{
textBox1.Text = control.Name + " has captured the mouse";
}
}
としてみましたが、とくにクリックをとれているようでもなく。
あとなにが必要でしょう?
0859デフォルトの名無しさん
2009/02/24(火) 18:58:270860デフォルトの名無しさん
2009/02/24(火) 23:33:04[MethodImpl(MethodImplOptions.Synchronized)]
add { myevent = (MyEvent)Delegate.Combine(myevent, value); }
[MethodImpl(MethodImplOptions.Synchronized)]
remove { myevent = (MyEvent)Delegate.Remove(myevent, value); }
のようになってスレッドセーフになるようですが
イベントを呼び出すために
var f = this.myevent;
if (f != null)
f(〜);
としますが、この読み出しは安全なのでしょうか?
例えば、別スレッドがaddをして、Combineの戻り値をmyeventに書き込んでいる最中に
myeventを読み出し不正な参照を得たりしないのでしょうか?
(参照が何バイトか知りませんが、4バイト中2バイト目まで書き込まれた状態で読み出すとか)
0861デフォルトの名無しさん
2009/02/24(火) 23:46:230862デフォルトの名無しさん
2009/02/24(火) 23:48:19やさしく解説してくれてるところを紹介してください
0863デフォルトの名無しさん
2009/02/25(水) 00:03:36んー。ちょっと確認した。
まず、C# コンパイラは特に volatile プリフィクス命令を使用
していない。
そして、delegate 自体はリードオンリーなオブジェクトだから、
結論として ldfld/ldsfld がアトミックかどうかにかかっている。
参照アクセスはある意味ネイティブポインタだから大体は
大丈夫な気がするが…これが仕様に明記されていないと
駄目なわけだ。
なのでこれより先は、ちょっと ECMA-335 当たらないと
いけない。ちょっと待って
0864デフォルトの名無しさん
2009/02/25(水) 00:24:06正規表現といっても、gawkなら条件は&&だから。
&&でないとかいわれても途方にくれているので、C#の書き方を簡潔に頼む。
0865863
2009/02/25(水) 00:33:35Partition I - 12.6.6 Atomic reads and writes
に、
「正しく整列されている native int size までで同じサイズの read/write は
atomic を保証」かつ「オブジェクト参照はそのサイズで扱え」みたいな
ことが書いてある。
ただ意訳やし抜けてるしざっとしか読んでないので抜け道あるかも
知れないから一応直接誰か他の人&お前も確認してください。↓
ttp://www.ecma-international.org/publications/standards/Ecma-335.htm
あとはまぁ、MS の実装がバグってたりしたらとかもあるけど…正直そこまで
は氏らね。条件漏れてたら駄目とかの
0867デフォルトの名無しさん
2009/02/25(水) 05:11:01>gawk
だから何?さようなら。
0868デフォルトの名無しさん
2009/02/25(水) 05:19:22なんか勘違いしてる気もするのだが
0869デフォルトの名無しさん
2009/02/25(水) 06:03:22ただし、正規表現ではないがw
正規表現の話に戻すと、少なくともPOSIX準拠、GNU拡張、
Perl互換には && という演算子はない
0870デフォルトの名無しさん
2009/02/25(水) 09:07:30空のデリゲートをコンストラクタで登録しておけば
nullチェックさえ不要
0871デフォルトの名無しさん
2009/02/25(水) 09:14:100872デフォルトの名無しさん
2009/02/25(水) 09:19:38俺もバカなので詳しく解説してください
0873デフォルトの名無しさん
2009/02/25(水) 09:51:330874デフォルトの名無しさん
2009/02/25(水) 10:43:56TextBoxに日本語を入力して確定していない状態(文字に下線が付いている状態)で
ボタンをクリックすると入力が消えてしまいます。
ボタンクリックハンドラ内でTextBoxにフォーカスを設定しましたが消えてしまいます。
ボタンを押してもキャンセルされない方法はありますでしょうか?
0875デフォルトの名無しさん
2009/02/25(水) 11:00:46というか、仕様だからで逃げ切れると思うんだが・・・
0876デフォルトの名無しさん
2009/02/25(水) 11:23:040877デフォルトの名無しさん
2009/02/25(水) 11:55:34他のパソコンで実行したら消えませんでした。
私のパソコンの設定がおかしいかもしれません。
すみません、ありがとうございました。
0878デフォルトの名無しさん
2009/02/25(水) 21:28:37C#でClient&Server方式のアプリを作ろうと思います。
ClientはFormアプリです。
Clientは物理ファイルをサーバにアップロードし、
合わせてDBに登録するデータをサーバに送信します。
ServerはClientから送られてきたデータを
TransactionをかけてDBに書き込み、
ファイルの保存を終えたらコミットします。
ファイルサイズは数10MBになります。
通信手段としてはWebServiceを用いるしかないと思うのですが、
クライアント側のネットワークの環境によっては
WebServiceを実行できない可能性があります。
WebService以外でサーバサイドでプログラムを実行する手段
(物理ファイルの移動とデータ登録にトランザクションをかける)
はありますでしょうか?
0879デフォルトの名無しさん
2009/02/25(水) 21:34:16>WebServiceを実行できない可能性があります。
例えばなんで?
0880878
2009/02/25(水) 21:46:27質問の論点は
>>WebService以外でサーバサイドでプログラムを実行する手段
>>(物理ファイルの移動とデータ登録にトランザクションをかける)
であって
WebServiceを実行できない原因追求ではありません。
ついでに議論の幅を広げるとして質問に答えます。
VisualStudioのWeb参照の追加で自動的に作成された
スタブとWebServiceクラスを利用した場合、
サーバサイドがHTTP1.1 クライアントのネットワークがプロキシ + HTTP1.0
なぜかこの環境だとWebServiceが中断されてしまうようです。
ServerにはSoapを受信した形跡が残っていますが途中で切れています。
Soapを直書きして直接HttpRequestからWebServiceを叩く方法を取れば
いけるのですが、直書きになるためデバグが大変に思えます。
というわけでWebサービス以外で実現可能な方法が無いかと模索しています。
0881デフォルトの名無しさん
2009/02/25(水) 21:53:39>WebServiceを実行できない原因追求ではありません。
クライアント側のネットワークの環境によってWebServiceを実行できない可能性があるんだから、
どんなネットワークの都合なのかわからないと返答内容が無意味なものになるかもしれないじゃないか
そこを明らかにせず質問するほうが悪い
さらに開き直って質問の論点が違うなんて言うようじゃ誰も質問に答えねーよ
0882デフォルトの名無しさん
2009/02/25(水) 22:07:37問題点の所在を明確にすると、より合理的な解決法が見つかる場合もある。
ていうか、初心者板だと、問題点の設定が最重要なステップになる事が普通。
まあ、試験問題でも、試験のためだけの問題設定ってのはしょっちゅうあるがw
〜の処理のために書いた以下のコードは正しく動作しない、直せ
⇒むしろ全部書き直したいんですが・・・、みたいな。
0883878
2009/02/25(水) 22:10:13???
開き直って 質問の論点が違う なんて書いた覚えはありませんよ。
そう感じられたのならとても残念です。
>そこを明らかにせず質問するほうが悪い。
このスレッドは
(ry もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
私の質問内容はこのスレのポリシーからは外れてないと思いますが・・・。
つまり私自身原因がわかってないのです。
なので質問しました。駄目なのかなぁ・・・。
0884デフォルトの名無しさん
2009/02/25(水) 22:17:30>質問の論点は
>>>WebService以外でサーバサイドでプログラムを実行する手段
>>>(物理ファイルの移動とデータ登録にトランザクションをかける)
>であって
>WebServiceを実行できない原因追求ではありません。
が悪いんだと思うよ。
0885878
2009/02/25(水) 22:24:54あんまり長い文章書くと
どこを縦読み? とか言われるんでトラウマなんですよ・・・
今回知りたいなと思ったことは
WebServiceが使える使えない環境云々ではなく
それ以外で実現可能な方法があるか
あるならどういう技術か ということでしたので。
Webサービスが使えないことを伏せた場合、
「Webサービスを使おう」って返ってきちゃうことを予想して、
あえてWebサービスを使えないという事実だけの設定で
質問したのです。不愉快を感じたのであれば御免なさい。
0886デフォルトの名無しさん
2009/02/25(水) 22:27:49例えば、iisにaspxのっけて、ファイルをhttpでpostしてaspxでDBに入れればいいとか、
フォルダ共有かけといてファイルをコピーして、それを検知したらDBに入れるクライアントが動作するとか、
メールで送信して・・・以下同文、
FTPでアップロードして・・・以下同文
とか原始的な代替手段を提示したところで、
>クライアント側のネットワークの環境によっては
が実はクライアント側が切断されている場合があってネット経由では無意味
という意味だったら、すべての解凍が無意味になるだろ?
だから、どんな事情で利用できないのかを知ることが
現実的な解決法を指摘する重要なファクターになるんだよ
0887878
2009/02/25(水) 22:34:55なるほど、勉強になります。
(解決法を指摘する重要な・・ということに関してです)
>クライアント側のネットワークの環境によっては
>WebServiceを実行できない可能性があります。
例えばなんで?
この意味を ネットワークの環境が知りたい
と捉えることができず、
Webサービスが実行できない事実のみに主眼が置かれていると
感じてしまったのは 私の人間性の欠如です。
申し訳ございません。
0888デフォルトの名無しさん
2009/02/25(水) 22:46:59>(WBC|ワールド・ベースボール・クラシック) && (イチロー|松坂)
検索エンジンのキーワード入力じゃあるまいし、これでは一致するわけが
ないと思うが…。というか、正規表現の使い方ほんとにわかってるの?
単に含んでいるか含んでいないかということを知りたいだけなら、
String.Containsを使った方が楽。速度は遅いが。
0889デフォルトの名無しさん
2009/02/25(水) 22:53:02サーバからPullはできないだろうから、クライアントからPushするとしたら、
Soap以外だと、直接ファイルをやりとりするか、
WebServerを利用する以外になんかあんのかな?
0890デフォルトの名無しさん
2009/02/25(水) 22:59:12なんか要求としてはシンプルそうだし、HTTP より通るのなんて
あまりない気がするからまず別のHTTP な代替として
WebHttpBinding でも使ってみれば?
0891デフォルトの名無しさん
2009/02/25(水) 23:45:12じゃあ後何を気にするんだ?
addもremoveも同期実行されるのに。
0892デフォルトの名無しさん
2009/02/26(木) 00:25:45var f = this.myevent;
↑ここだよここ
それ以降のコードはどうでもいい=null チェックがとかどうでもいい
というか答え出てるやり取り見てすらわからんのかお前は
0893デフォルトの名無しさん
2009/02/26(木) 05:13:550894デフォルトの名無しさん
2009/02/26(木) 07:37:530895デフォルトの名無しさん
2009/02/26(木) 08:50:44本人?
そもそもその意味の無いif文や代入を意地になって残す必要は無いってことだろ
0896デフォルトの名無しさん
2009/02/26(木) 08:57:37むしろオフトピ的なレスがほしい人はスラド
0897デフォルトの名無しさん
2009/02/26(木) 09:08:200898オフトピ
2009/02/26(木) 10:03:25一カ所(Onなんちゃら)でしかでてこないのでヌルオブジェクトの利点とか
まるで出ないくせにちょっと頭捻りました感がこう。
一応言っとくとある程度使ってみて駄目だと思った上で言ってる
0899デフォルトの名無しさん
2009/02/26(木) 10:16:40public event EventHandler MyEvent {
add { myEvent.Add(value); } remove { myEvent.Remove(value); }
}
protected virtual void OnMyEvent(EventArgs e) {
foreach (var handler in myEvent) handler(this, e);
}//スレッドセーフは無視
これと同じと考えたらそんなに気持ち悪くなくね?
まあ自分も使わないけど
0900デフォルトの名無しさん
2009/02/26(木) 10:41:46VS2008,Vistaの環境なのですが
using Sysytem.Drawing;
このusing文に下線が付いてコンパイルが通りません。
何か間違っているのかとググってみても、普通にある文のようなのですが。
0901900
2009/02/26(木) 10:43:26Systemです、ここで間違えてどうする俺・・・
0902デフォルトの名無しさん
2009/02/26(木) 10:50:00どのアセンブリに含まれてるかはヘルプのクラスの解説に載ってる
0903デフォルトの名無しさん
2009/02/26(木) 10:57:07追加でコンパイル通るようになりました、ありがとうございます。
0904デフォルトの名無しさん
2009/02/26(木) 13:47:0901.zip
02.txt
03.jpg
04.png
とあるとき、zip以外のすべてを配列にいれるにはどうしたらよいでしょう。追加しようとして、
string[] files = Directory.GetFiles("*.txt");
files = Directory.GetFiles("*.jpg");
としたら、jpgだけしか配列に入ってませんでした。
string[] files = Directory.GetFiles(!("*.zip"));
もちがうし。
よろしくお願いします。
0905デフォルトの名無しさん
2009/02/26(木) 13:55:45.Where(file => !string.Equals(Path.GetExtension(file), ".zip", StringComparison.OrdinalIgnoreCase))
.ToArray();
0906デフォルトの名無しさん
2009/02/26(木) 16:49:280907デフォルトの名無しさん
2009/02/26(木) 19:03:11Settingsにキーと値を定義すると勝手にapp.config作ってくれるのはいいんですが、
configにコメント入れたいときってどうすればいいんですか?
手でコメント入れても、Settingsを編集すると、上書きされて消えちゃうので困ってます。
0908デフォルトの名無しさん
2009/02/26(木) 19:22:07applicationSettingsの外側のは勝手に書き換わらなかったような。
0909デフォルトの名無しさん
2009/02/26(木) 19:34:45そこは確かに消えないみたいですね。
ですが、コメントを入れたいのは、定義した各キーの部分なんです・・・。
キーごとに、そのキーが何を意味するキーなのかっていうコメントを入れたいという
需要ってあまり無いんですかね?
Settingsのデザイナ画面からコメントまで記述できるようになっててくれたら良かったんですが。
0910デフォルトの名無しさん
2009/02/26(木) 20:44:10イライラしたというよりあきれたんだよ。それも >>870 じゃ
なく >>891 と >>893 に。解ってないようにしかみえないから。
それと質問者じゃないっていうか回答したほうです
確かにふらっと寄りじゃねー話題かなぁとは答えながら思った
からフォローしとこうと思って >>892 になってそしてあきらめた
0911デフォルトの名無しさん
2009/02/27(金) 05:38:030912デフォルトの名無しさん
2009/02/27(金) 08:06:453レス目ぐらいなんだけどなぁ。
まぁ、もともとの話題もだけど、本人?とか勘違いされたままだと
さすがにあれというか心苦しかったので。
>>909
デザイナで設定の行を選択したときに、プロパティグリッドのほうに
Description ってのがあるだろ、それ編集するとドキュメントコメントで
summary になるけどそれじゃなく?
0913デフォルトの名無しさん
2009/02/27(金) 11:04:56System.Threading.Thread.Sleep(1);
とか入れるだけでは何も反映されません。
他になにか手続きが要るのでしょうか。
0914デフォルトの名無しさん
2009/02/27(金) 11:07:400915デフォルトの名無しさん
2009/02/27(金) 11:26:17Settings.Designer.csファイルの各プロパティにsummaryコメントが入ってくれるんですね。
気づいてませんでした。ありがとうございます。
これはこれでありがたいです。
ですが、app.configには反映されないんですね・・・惜しい・・・。
全部のプログラムが完成してからapp.configにコメントを追加することにします。
ありがとうございました。
0916デフォルトの名無しさん
2009/02/27(金) 11:33:50重い処理は別スレッドでやる必要がある
手軽なのとしてBackgroundWorkerを使ってみたら?
0917デフォルトの名無しさん
2009/02/27(金) 11:48:45リフレッシュしたら?
0918デフォルトの名無しさん
2009/02/27(金) 12:50:37リフレッシュはなんかエラーにされてしまいました
>>916
トライして見ます。難しそう・・・
0919デフォルトの名無しさん
2009/02/27(金) 13:24:34label1.Refresh;
とした時のエラーは以下です。
割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。
0920デフォルトの名無しさん
2009/02/27(金) 13:28:08VB出身者?
0921デフォルトの名無しさん
2009/02/27(金) 13:29:110922デフォルトの名無しさん
2009/02/27(金) 13:31:440923デフォルトの名無しさん
2009/02/27(金) 13:49:300924デフォルトの名無しさん
2009/02/27(金) 14:00:08解決いたしました・・・orz
0925デフォルトの名無しさん
2009/02/27(金) 15:19:230926デフォルトの名無しさん
2009/02/27(金) 15:21:190927デフォルトの名無しさん
2009/02/27(金) 15:25:34インテリセンス=MSDNより役に立つヘルプ
こんな感じ?
0928デフォルトの名無しさん
2009/02/27(金) 16:14:37そんな感じじゃね?
うちの場合、巣にペットは同じようなコードを社内で書くときに
ある程度画一化された書き方になるようにするために独自のスニペット作ってやってる程度かな・・・
0929デフォルトの名無しさん
2009/02/27(金) 19:33:25いま開いているファイルをボタンを押したら削除したいと思います。
string imgFile = @"C:\tmp.jpg";
private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.Image = Bitmap.FromFile(imgFile);
}
private void button1_Click(object sender, EventArgs e)
{
System.IO.File.Delete(imgFile);
}
とすると、当然、いまファイルを開いているので削除できません。
private void button1_Click(object sender, EventArgs e)
{
Close();
System.IO.File.Delete(imgFile);
}
とファイルを閉じてから削除しようとすると、アプリケーションじたいが終了してしまいます。
このように開いているファイルを削除するときには、どのようにしたらよいでしょう?
ご指導お願いします。
0930デフォルトの名無しさん
2009/02/27(金) 19:46:29ファイルの削除の仕方ではなく、ファイルの閉じ方を間違っているのが問題。調べてみて。
0931デフォルトの名無しさん
2009/02/27(金) 19:54:080932デフォルトの名無しさん
2009/02/27(金) 19:54:41ありがとうございます。
おっしゃるように、ファイルの閉じ方を間違えているようです。
でも、this.Close()でも例外が出てだめなんですが…。
0933デフォルトの名無しさん
2009/02/27(金) 20:06:49this.Close()した結果を報告するんじゃなくて
ファイルの正しい閉じ方を先ずほうこ(ry
0934デフォルトの名無しさん
2009/02/27(金) 20:09:240935デフォルトの名無しさん
2009/02/27(金) 20:15:03クローズは
pictureBox1.Image.Dispose();
でいけるかな
もしくは、最初からロックされないように読み込み処理に小細工を加えるとか
using (Image img = new Bitmap(imgFile)) {
pictureBox1.Image = new Bitmap(img);
}
0936デフォルトの名無しさん
2009/02/27(金) 20:21:01ばっちりでした。ありがとうございました。
ロックしない読み込み、ロックの解除。どちらもでき、削除できました。
ところで、削除ではなく、ゴミ箱に移動するのはどうするんでしょう。
System.IO.File.Move(imgFile, "C:/RECYCLER/" + imgFile);
としたら、「指定されたはすのフォーマットはサポートされていません」。といわれてます。
0937デフォルトの名無しさん
2009/02/27(金) 20:26:49SHFileOperationで検索
0938デフォルトの名無しさん
2009/02/27(金) 20:28:15IEnumerableって、
public interface IEnumerable
{
IEnumerator GetEnumerator();
}
public interface IEnumerable<T> : IEnumerable
{
IEnumerator<T> GetEnumerator();
}
てな感じに宣言されてるけど、同じコードを自分で書くとジェネリクスじゃない方の
メソッドが非表示になるって警告が出ちゃうのは何でだろう。
0939デフォルトの名無しさん
2009/02/27(金) 20:28:46http://www.atmarkit.co.jp/fdotnet/dotnettips/693recyclebin/recyclebin.html
の後半を参照。
0940939
2009/02/27(金) 20:29:450941デフォルトの名無しさん
2009/02/27(金) 20:31:49こんな方法あるんだ
936じゃないけど勉強になる
0942デフォルトの名無しさん
2009/02/27(金) 20:36:21警告のメッセージに対処法も書いてるだろ?
0943デフォルトの名無しさん
2009/02/27(金) 20:37:18片岡鶴太郎の昔のギャグ
0944デフォルトの名無しさん
2009/02/27(金) 20:44:09これは悪い例かもしれないが、ダイアログボックスをわざわざ作るのが面倒な場合に、
http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.interaction.inputbox.aspx
なんと昔懐かしいVB6のInputBoxの.NETバージョンが使えたりする。
0945デフォルトの名無しさん
2009/02/27(金) 20:52:10Microsoft.CSharp名前空間に定義されてるものと規模が違いすぎて笑ってしまった
これだけあればたしかに便利なものも埋もれてるかも
0946デフォルトの名無しさん
2009/02/27(金) 20:53:12できちゃった。やった!
ありがとうございましたっ。
0947デフォルトの名無しさん
2009/02/27(金) 21:05:42Strings.StrConv()で全角半角の相互変換とか、地味に便利だよな。
0948デフォルトの名無しさん
2009/02/27(金) 21:07:080949デフォルトの名無しさん
2009/02/27(金) 22:23:21フレームワークの方のは何も書いてないのに警告でないのは何で?
0950デフォルトの名無しさん
2009/02/27(金) 22:28:31なんでStringクラスに半角全角変換入ってないんだろ?
0951デフォルトの名無しさん
2009/02/27(金) 22:30:33コンパイルするときには警告出てるけど無視してるのかもしれないだろw
それはともかく,new付ければ警告は出なくなる。
newはC#のコンパイラの警告を抑制するためだけにあるものなので
コンパイル後はnewを付けたかどうかの情報は残ってない。
>>950
unicodeにそんな概念はないから
0952デフォルトの名無しさん
2009/02/27(金) 22:49:55なるほど、ありがとう。
0953デフォルトの名無しさん
2009/02/27(金) 23:24:330954デフォルトの名無しさん
2009/02/27(金) 23:24:38主キーがint型でautoIncで自動採番のDBテーブルに対して
型付データセットのTableAdapterでクエリの追加から
クエリビルダ起動してINSERT文作成すると、
INSERT文の後ろにSELECT文が作られて
WHERE (hogeID = SCOPE_IDENTITY()
って書かれてるんだけど、
クエリビルダ完了してTableAdapterに追加されたInsert文のCommandプロパティ
見てみるとSelect文が消えてるのはなぜでしょう?
そもそもクエリビルダでは自動採番されたIDを取得することはできない?
0955デフォルトの名無しさん
2009/02/28(土) 00:05:09みたいなところにチェックをいれてるから。
0956デフォルトの名無しさん
2009/02/28(土) 00:25:42名前空間が別じゃない
System.Collections
System.Collections.Generic
0957デフォルトの名無しさん
2009/02/28(土) 00:28:01基底クラスのメソッドと同じシグネチャを持つメソッドを定義すると警告は出る
0958デフォルトの名無しさん
2009/02/28(土) 00:54:16非ジェネリックのGetEnumratorを実装する場合は明示的実装になるのかな?
やってみりゃわかるか。
0959デフォルトの名無しさん
2009/02/28(土) 01:04:15public IEnumerator<T> GetEnumerator() { ,,, }
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator(); // こうかな。なんか落ち着かない・・
}
0960デフォルトの名無しさん
2009/02/28(土) 10:38:40現在のセルと隣のセルへ値を代入する場合はどうしたらよいのでしょうか?
get { return dataGridView1.CurrentCell.Value; }
set { dataGridView1.CurrentCell.Value = value; }
これだと、現在アクティブなセルへの代入は出来るのですが、隣のセルへの代入が出来ません。
0961デフォルトの名無しさん
2009/02/28(土) 10:44:14どうすれば取得できるんでしょう。
0962デフォルトの名無しさん
2009/02/28(土) 10:48:43取得して引き算すれば良いんじゃ?
0963デフォルトの名無しさん
2009/02/28(土) 10:59:14プロパティじゃなくてメソッドにして複数の引数与えればいいじゃん?
0964960
2009/02/28(土) 11:28:41set { dataGridView1[i, ii].Value = value; }
結局動的に選択セルを受渡しでOKでした。。
0965デフォルトの名無しさん
2009/02/28(土) 11:31:24勝手規約を定めちゃったの?
それは良くない解決方だよ。>>963の言う通りにした方が良いよ。
0966デフォルトの名無しさん
2009/02/28(土) 11:34:22意味がない
0967960
2009/02/28(土) 11:52:34複数の引数をあたえるって言うと、どんな感じにするんですしょう?
0968965
2009/02/28(土) 11:58:42プロパティを止めて、メソッドにするって事。メソッドの定義の仕方は分かるよね?
他の方法として、>>966が書いているdataGridView1をパブリック公開するって方法がある。
これはdataGridView1の色々なプロパティを弄られるのがOKな場合限定の解決法。
もう一つの方法は、インデクサを使う。これは、dataGridView1[].Valueの取得、設定が
そのフォームの外部に公開する最も主要な機能である場合にだけ用いる限定的な方法。
というわけで、一つ目がお勧め。
0969デフォルトの名無しさん
2009/02/28(土) 12:59:160970デフォルトの名無しさん
2009/02/28(土) 13:00:430971デフォルトの名無しさん
2009/02/28(土) 13:03:10public string DataGridViewCel
{
get { return dataGridView1[0, i].Value.ToString(); }
set { dataGridView1[0, i].Value = value; }
}
iには現在のセルのRowが入ります。
現在はこんな感じにして、別FormからDataGridViewCellに値を代入してるのですが。。
もしよろしければ、具体的なコードを教えて頂きたい。。
0972デフォルトの名無しさん
2009/02/28(土) 13:13:370973デフォルトの名無しさん
2009/02/28(土) 13:24:49君が書いているのはプロパティ。
メソッドの書き方を勉強して。
0974デフォルトの名無しさん
2009/02/28(土) 14:26:41public void SetDataGridView(int columnindex, int rowindex, string value){
dataGridView1[columnindex,rowindex].Value = value;
}
public String GetDataGridView(int columnindex, int rowindex){
return dataGridView1[columnindex,rowindex].Value.ToString();
}
0975デフォルトの名無しさん
2009/02/28(土) 17:12:06set{Console.WriteLine(value);}
}
0976デフォルトの名無しさん
2009/02/28(土) 17:34:140977デフォルトの名無しさん
2009/02/28(土) 17:35:590978デフォルトの名無しさん
2009/02/28(土) 18:25:56get{
byte[] b=new byte[value];
stream.Read(b);
return b;
}
}
0979デフォルトの名無しさん
2009/02/28(土) 20:15:03というのも何だか凄いね、どういう学習順序なんだろう。
0980デフォルトの名無しさん
2009/02/28(土) 23:24:50最初にコピペしたサンプルコードに依存するのでは?
0981デフォルトの名無しさん
2009/02/28(土) 23:38:470982デフォルトの名無しさん
2009/03/01(日) 00:03:240983デフォルトの名無しさん
2009/03/01(日) 00:29:22それは しょうゆ です
0984デフォルトの名無しさん
2009/03/01(日) 00:49:530985デフォルトの名無しさん
2009/03/01(日) 01:02:220986デフォルトの名無しさん
2009/03/01(日) 04:46:59C++ならstatic変数にしちゃえば実現できますがC#では使えません。
クラスを再利用したりする上でお行儀が悪い事はわかりますが、
こういう場合はフィールドとして持つしかないんでしょうか?
特定のメソッドだけが参照できるようなスコープにしたいです。
じゃないとクラスの属性としては相応しくないフィールドが増えたり、
無駄に変数名を考えなくちゃいけなかったり、
別のクラスを作って実現しようにもあまりにも生産性が低いと思います。
0987デフォルトの名無しさん
2009/03/01(日) 04:49:53ない。
0988デフォルトの名無しさん
2009/03/01(日) 04:54:15クラスから独立した関数というのは存在しないから、フィールドに持てって事だな。
VBには関数内に宣言できるStatic変数があるのだけどC++と動作が違うのでバグの元なんだな。
0989デフォルトの名無しさん
2009/03/01(日) 05:25:42例えばゲームなんかだとそれぞれに独立したカウンタなんかを持たせたい時に必要です。
それすらも別クラスにわけろというなら著しく生産性が落ちまくります。
>>988
デリゲートとか拡張メソッドとかあるんだから、
追加機能として特定のメソッドだけに参照できるフィールドのような機能が追加されてもよさそうですが、
ダメな理由ってあるんですかね。
机上の理論だけのオブジェクト指向ってもう古いと思います。
0990デフォルトの名無しさん
2009/03/01(日) 05:34:520991デフォルトの名無しさん
2009/03/01(日) 08:10:05yield return;をうまく使うとか。
0992デフォルトの名無しさん
2009/03/01(日) 08:16:59そんなユーティリティクラスを作ればいいのかな?
実例があれば代価案が出せるかも
0993デフォルトの名無しさん
2009/03/01(日) 08:21:40「たまにある」程度のことなのに著しく生産性が〜ってのもよくわからん。
0994デフォルトの名無しさん
2009/03/01(日) 08:23:01>机上の理論だけのオブジェクト指向ってもう古いと思います。
つ F# これからは関数型っすよ
0995デフォルトの名無しさん
2009/03/01(日) 08:29:13これからもビジネスルールですよ
0996デフォルトの名無しさん
2009/03/01(日) 08:37:43それの笑うポイントはどこ?
0997デフォルトの名無しさん
2009/03/01(日) 08:46:03http://pc11.2ch.net/test/read.cgi/tech/1235864730/
0998デフォルトの名無しさん
2009/03/01(日) 08:47:170999デフォルトの名無しさん
2009/03/01(日) 08:58:00フィールドに宣言すればいいこと。
メソッド内にスタティック変数を自在に作られたりしたら後で面倒なことになる
関数スタティック変数をリセットしたいときはどうするの?インスタンスが複数のときはどうするの?
1000997
2009/03/01(日) 09:09:2210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。