09/02/07 23:46:57
うんこ
3:デフォルトの名無しさん
09/02/07 23:47:17
C#, C♯, C#相談室 Part51
スレリンク(tech板)
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
スレリンク(tech板)
初心者のためのプログラミング言語ガイド Part13
スレリンク(tech板)
4:デフォルトの名無しさん
09/02/07 23:48:05
参考サイト。まずはここで検索してから。
URLリンク(www.google.co.jp)
URLリンク(msdn.microsoft.com)
URLリンク(homepage3.nifty.com)
URLリンク(www.atmarkit.co.jp)
URLリンク(dobon.net)
URLリンク(jeanne.wankuma.com)
URLリンク(www.labasp.net)
5:デフォルトの名無しさん
09/02/08 00:50:53
質問があります。
Formにボタンを作り、それを押すと「終了しますか?」というロゴが出て
「はい」を選択するとプログラを終了、「いいえ」を選択すると
そのまま続行させるプログラムを書きたいのですが、
if文をどのように書けばこのように処理できるのでしょうか?
6:デフォルトの名無しさん
09/02/08 00:57:21
void button1_click(object sender, EventArgs e)
{
if(MessageBox.Show("終了しますか",??.OkCancel) == DialogResult.OK)
this.Close();
}
こんなんだったと思うけど
7:デフォルトの名無しさん
09/02/08 01:04:43
DialogResult result = MessageBox.Show("終了しますか?", "確認", MessageBoxButtons.YesNo);
メッセージボックスで押されたボタンによってresultの値が変わるので、
Yesのときはフォームを閉じ、それ以外のときは何もしなければいい。
if (result == DialogResult.Yes)
{
Close();
}
でおk。
8:デフォルトの名無しさん
09/02/08 01:07:12
メッセージボックスの返り値ならifよりswitchを勧める
9:7
09/02/08 01:08:16
それから、条件式の中にMessageBox.Show()を突っ込むのはやめたほうが無難。
一概には言えないけどね……
10:デフォルトの名無しさん
09/02/08 01:10:59
なんでswitchのがいいの?
11:デフォルトの名無しさん
09/02/08 01:42:34
それから、条件式の中にMessageBox.Show()を突っ込むのはやめたほうが無難。
これも知りたい
12:デフォルトの名無しさん
09/02/08 01:52:36
Formsのイベントハンドラの中でMessageBox.Showを使うのが良くないというのなら分かる。
中でメッセージループを回す結果、イベントの処理中にもかかわらず
他のイベントが発生する可能性があるためという話だけど。
13:デフォルトの名無しさん
09/02/08 01:59:03
じゃあどうすんの?
14:デフォルトの名無しさん
09/02/08 02:04:19
確かにw
15:デフォルトの名無しさん
09/02/08 02:10:28
タイマーイベントで使うと再入があるから問題が起きるが、
Form上のコントロールからのイベントならFormからフォーカス奪うから問題なし。
switch使えはエスパーするとYesNoCancelなどの3値型の場合かなぁ。
2値型ならifでいいと思うけど。
16:デフォルトの名無しさん
09/02/08 02:31:13
結局、何の根拠もないってことか
自分の流儀ってならわかるけど、それを人に勧めるのはどうなのよ
17:デフォルトの名無しさん
09/02/08 02:35:16
formのイベントでmessagebox中にタイマーイベントが発生した場合は?
18:デフォルトの名無しさん
09/02/08 02:37:49
やってみな
発生しないから
19:デフォルトの名無しさん
09/02/08 02:38:05
>>17
タイマーイベントが呼ばれる。
本当に再入注意ってだけ。そのタイマーイベントの中でメッセージボックスを呼ぶとかしたらw
20:デフォルトの名無しさん
09/02/08 02:38:14
発生してそれで何か困ることがあるの?
起きて困るのは同じ種類のイベントが再入した場合だと思うのだけれど。
21:デフォルトの名無しさん
09/02/08 02:40:52
>>18
発生しないんだ
>>19
呼ばれるんだ
>>20
>発生してそれで何か困ることがあるの?
このように今困ってる
22:デフォルトの名無しさん
09/02/08 02:48:42
Windows.Form+Windows.Forms.Timerだと発生する。
VB6の頃は発生しなかったような記憶があるけど。
23:デフォルトの名無しさん
09/02/08 02:52:17
private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show(”Take it easy !”);
}
ブラクラみたいな状態になる・・・
24:デフォルトの名無しさん
09/02/08 02:53:01
閉じる確認のmessageboxを表示するようなメソッドを作ることはよくある手法でしょ
そのメソッドがユーザの動作で呼ばれることもあれば、
タイムアウトで呼ばれる事もあるでしょ
どうなんの?
25:デフォルトの名無しさん
09/02/08 02:55:55
その場合は慎重に再入を避けるロジックを追加すればいいでない。
どちらかが終了確認に関する処理を始めたらもう一方はすぐに処理を終えるようにする。
26:デフォルトの名無しさん
09/02/08 03:02:48
じゃあ結局、どんな場合でも回避する余地が必要なんじゃん
staticなクラスを作って、それで表示させてあげればいいだけだが
で、条件式の中にMesssageBoxをいれてはいけない理由と、
結果をswitchで判断すべき理由は?
27:デフォルトの名無しさん
09/02/08 03:06:10
>>5
いちおう、本人がそこまで求めてなかろうが何だろうがこれも。
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のキャンセル機能はバグがあるんだっけ?
28:デフォルトの名無しさん
09/02/08 03:10:34
>>27
Xでもちゃんとイベントは発生してる。
FormClosingEventArgsに終了の理由(原因)を示す情報が入ってたと思うけど。
>>12はもう寝てるんじゃね?
29:デフォルトの名無しさん
09/02/08 03:11:36
しかしclose時の確認ダイアログなんて何十年前からある命題なのに
その最適解が存在しないなんて何もは進歩してないんだな
30:デフォルトの名無しさん
09/02/08 03:12:04
>>5の書き方だとDialog使わなくても良さそうな感じだけどな
ボタン押す → OKとCancelボタン付きForm表示 → それぞれのイベントハンドラ実行
って感じで
31:デフォルトの名無しさん
09/02/08 03:12:16
>>28
>>12じゃなかった、>>7-8だ。俺も寝よ。
32:デフォルトの名無しさん
09/02/08 03:14:00
CloseReason使うとわけわかめになるから極力使わない
33:5
09/02/08 04:45:06
回答をくださった方々、本当にありがとうございました。
無事に追加できました。
>>27
ご丁寧にありがとうございます。
FormにFormClosingイベントを追加するにはどうすれば良いのでしょうか?
34:デフォルトの名無しさん
09/02/08 04:48:14
Visual StudioのGUIエディターで
formを選択してプロパティウインドウのカミナリマークを押して探す
35:5
09/02/08 05:08:29
>>34
ありがとうございます。
こういうメニューがあったんですね。
いつもはコンソールでプログラムを書いている為、分かりませんでした。
36:デフォルトの名無しさん
09/02/08 05:31:48
ツール使ってないなら
form.Closing += (sender,e) =>{
//処理を書く
};
こんなんでいい
37:デフォルトの名無しさん
09/02/08 10:59:23
流れとは関係ないけど、
閉じるボタンでいちいち尋ねてくるなって感じる。
閉じるから押したんだよみたいな。
本当に閉じられたら困るときは別だけど
38:デフォルトの名無しさん
09/02/08 11:29:53
>>977
ガッ
39:デフォルトの名無しさん
09/02/08 12:16:25
if (MessageBox.Show("終了しますか?","",MessageBoxButtons.YesNo) == DialogResult.YesNo)
{
if (MessageBox.Show("本当に終了しますか?","",MessageBoxButtons.YesNo) == DialogResult.YesNo)
{
if (MessageBox.Show("本当に終了しますよ?","",MessageBoxButtons.YesNo) == DialogResult.YesNo)
{
MessageBos.Show("じゃぁ終了します");
return;
}
}
}
40:デフォルトの名無しさん
09/02/08 14:24:54
それいいな
VSデバッグ時にアプリをバツボタンで終了させる間違って裏のVSまで押す時ある
デバッグを終了しますか?ってメッセージでるからはいって押すとVSが閉じるのが最初めちゃくちゃムカついた
VSもそれぐらいしつこいUIにしてほしい
41:デフォルトの名無しさん
09/02/08 14:30:43
慣れたら連打するだけなんだから意味ないだろ。
それよりも「デバッグを終了しますか?」でいいえを押す事に慣れろ。
42:デフォルトの名無しさん
09/02/08 14:34:38
>>39
コンパイルエラー
DialogResult.YesNo は存在しません。
MessageBos は存在しません。
43:デフォルトの名無しさん
09/02/08 14:42:29
自作クラスですから
44:デフォルトの名無しさん
09/02/08 16:39:39
class MessageBos:MessageBox
45:デフォルトの名無しさん
09/02/08 17:54:58
保存しました って表示しといて保存してない方がシュールだ
46:デフォルトの名無しさん
09/02/08 18:03:52
>>41
3回とも「しますか?」と「しませんか?」がランダムに入れ替わるようにして、
かつ[スタート]メニューに[今間違えて終わらせたプロセスを元に戻す]コマンドを
つけ、「元に戻しますか?」くらいやっとけば大丈夫だろ。
47:デフォルトの名無しさん
09/02/08 18:04:43
[今間違えて終わらせたプロセスを元に戻す]はおもしろいな
48:デフォルトの名無しさん
09/02/08 18:12:19
>>39
最後のメッセージは「運がよかったな。今日はMPが足りないみたいだ。」で。
[帰れよ]ボタンもいるな。
49:デフォルトの名無しさん
09/02/08 18:38:27
再利用を考えるよりハードコーディングの方が動作は速いんですよね?
50:デフォルトの名無しさん
09/02/08 18:40:39
概ね
51:デフォルトの名無しさん
09/02/08 19:21:46
他のクラスのbool型変数が変わった瞬間に、
とあるForm1をClose()するにはどうしたらいいでしょうか?
52:デフォルトの名無しさん
09/02/08 19:26:30
>>51
bool flag=true;
bool Flag{
get{return flag;}
set{~}
}
じゃだめ?
53:デフォルトの名無しさん
09/02/08 19:29:58
boolのプロパティを作成して変更時にClose()を呼ぶ
54:デフォルトの名無しさん
09/02/08 19:30:44
リロードしてなかった
すまそ
55:デフォルトの名無しさん
09/02/08 19:30:49
ナイスアドバイス!
bool flag=true;
bool Flag{ ←これから先もbool型変数があるクラスに書くの?
get{return flag;}
set{~}
}
56:デフォルトの名無しさん
09/02/08 19:35:27
>>55
うん
でset{~}
にやりたい処理書けばいい
最初にflag=trueにしたりして
あとpublic付けるの忘れたFlagの方
いらないなら良いけど
57:デフォルトの名無しさん
09/02/08 19:36:34
あ、すまん
set{
flag=value;
if(value==true){
//やりたい処理
}
}
58:デフォルトの名無しさん
09/02/08 19:37:20
>>53
プロパティというのはクラス[デザイン]のプロパティ?
59:デフォルトの名無しさん
09/02/08 19:52:31
>>51
他のクラスが何なのかによるけど、
少なくともForm1の状態変化に関する処理は、なるべくそのForm1に記述したほうがいいと思う。
なんで、他のクラスのboolがtrueになったらイベント発生させて、Form1の特定のメソッドを実行させる。
んで、そのメソッド内でCloseする。
60:デフォルトの名無しさん
09/02/08 19:59:47
なぜだ・・・。getしてくれない。
デバックで見ても作成したメソッドに飛ばない
61:デフォルトの名無しさん
09/02/08 20:58:06
>>59
×なんで
○なので
なぜ~に見えるから最後まで読まないとわからないからね
62:デフォルトの名無しさん
09/02/08 21:52:58
Form1から呼び出した2枚目のFormをアクティブにしない
(常にForm1をアクティブにする)方法を教えてください。
63:デフォルトの名無しさん
09/02/08 21:57:03
URLリンク(msdn.microsoft.com)
64:デフォルトの名無しさん
09/02/08 21:59:53
全スレでも同じレスがあったと思うんだが
Form.ShowWithoutActivation
クリックされてもアクティブにならないなら
ContextMenuStrip あたり改造
65:デフォルトの名無しさん
09/02/08 22:01:01
>>63
どうやって使えば良いのかわからないんです。
66:デフォルトの名無しさん
09/02/08 22:01:08
呼び出した後も絶対に2枚目をActiveにしたくないの?
それとも呼び出し時にForm1をActiveにしたいだけで、その後は2枚目がActiveになってもいいの?
後者なら2枚目が表示された段階で、呼び出し元がForm1なら、
Form1.Activate();すればいいだけじゃない?
67:デフォルトの名無しさん
09/02/08 22:03:49
>>65
Form2 で override して true 返すだけだよ
68:デフォルトの名無しさん
09/02/08 22:04:20
これ?
めんどくせーな
URLリンク(www.atmarkit.co.jp)
69:デフォルトの名無しさん
09/02/08 22:08:23
>>63-67
ありがとうございました。
70:デフォルトの名無しさん
09/02/08 22:08:54
>>68
ありがとうございました。
71:デフォルトの名無しさん
09/02/08 22:09:23
>>68
実際にはインテリセンスが効くからあっという間にオーバーライドできる。
ov[space]showw[space] くらいタイプすればプロパティの形ができるから、
あとは戻り値をtrueに書き換えればおk。
72:デフォルトの名無しさん
09/02/08 22:21:36
こういうのって、何で最初から設定できないんだろうな
TableAdapterのタイムアウト時間が設定できないとか、ほんと糞仕様だわ
73:デフォルトの名無しさん
09/02/08 22:27:05
開発者も全部が全部必要な機能に気がまわんないだけ。
MS はまだフィードバック入れたら修正されるだけマシ。
74:デフォルトの名無しさん
09/02/08 22:29:23
TableAdapter は別にしてこれ(ShowWithoutActivation)は実装上、互換性上
自然だと思う。細かい話をするとめんどくさいんでしないけど。
75:デフォルトの名無しさん
09/02/08 22:32:46
人間だから仕方ない、放置より修正されるほうがマシ的な論議は飽き飽き。
最初から糞仕様には糞仕様と言い続けることが圧力になって反映されやすくなる。
76:デフォルトの名無しさん
09/02/08 23:02:19
2chで騒いでも何にもならん。時間の無駄。
然るべき場所からフィードバックとして送らんと意味がない。
77:デフォルトの名無しさん
09/02/08 23:11:16
Expression Blend 2 欲しいよ。だれか、買って。SilverlightとC#でばりばりしたい。
78:デフォルトの名無しさん
09/02/08 23:19:08
Web2とBlend2を2万円で買う方法を教えてください。
79:デフォルトの名無しさん
09/02/08 23:22:10
評価版を仮想OSに入れてOS時間をストップさせるのはどうでしょうか
80:デフォルトの名無しさん
09/02/08 23:33:19
amazonの新品を中古リストから買うとアカデミックが手続きなしでいきなり送られくるのは常識
81:デフォルトの名無しさん
09/02/08 23:34:49
なら、尚更、人間だから仕方ない、フィードバック反映されるからマシ的な書き込みのほうが無意味だろ
何言ってるんだ?
82:デフォルトの名無しさん
09/02/08 23:37:24
int型より小さいサイズの演算はint型に揃えられると書いてあるんですが、
uintの値を演算で使うとintにそろえられるんでしょうか?それともlongですか?
83:デフォルトの名無しさん
09/02/08 23:39:24
>>81
それ書いたの俺じゃねぇし
どっちも無意味で程度の差などない。何言ってるんだ?
まぁ、俺もお前もスレチだな。
84:デフォルトの名無しさん
09/02/08 23:40:16
blendはvistaとC#を戦略的に広めるためのものだからわざわざ買う必要ない
学生には配ってるし、知り合いいないのか?
使ってくれるだけでもうれしいはず。それで作ったアプリが宣伝になるからね。
俺はお金をもらわなきゃblendなんか使わない
85:デフォルトの名無しさん
09/02/08 23:43:42
WPFとSilverlightの動作の重さには絶望した
86:デフォルトの名無しさん
09/02/08 23:43:57
>>83
別にお前に対して言ってるわけじゃないんだが?
一方的にお前だけがスレチだな
87:デフォルトの名無しさん
09/02/08 23:48:09
>>86
何言ってるんだ?
88:デフォルトの名無しさん
09/02/08 23:48:24
Formアプリケーションを新規プロジェクトで作ったのですが、
このあと何ができるのか知るにはどうすればいいんですか?
置ける部品はリストにあるので置けばいいのはわかるんですが
その中の細かい動作のプログラムの部品の一覧はどうやってわかるんでしょうか?
89:デフォルトの名無しさん
09/02/08 23:49:52
WPF,そんなに遅いのか?
DirectX使ってるってんで期待してたんだが
90:デフォルトの名無しさん
09/02/08 23:53:00
今日K'sでOffice.macのアカデミックパケ見たら
「身分証の提示は一切必要ありません」って書いてあってワラタ
91:デフォルトの名無しさん
09/02/08 23:58:08
配列を作るには
int []a = new int[10];
絶対こう書くしかないんですか?
int a[10];
こういう風にかけませんか?
92:デフォルトの名無しさん
09/02/08 23:59:04
>>89
まあ、高機能な分、少々重い。
でも、たぶん、WPF に限らず .NET 全般の、初回起動時の遅さが一番でかくて、
後はそんなに気になるレベルじゃないと思う。
ただ、DirectX 使ってるからってゲームに使えると思っちゃダメ。
93:デフォルトの名無しさん
09/02/08 23:59:25
マシンが遅いからいけないとか本末転倒なこと言い出すからやめろよ
94:デフォルトの名無しさん
09/02/09 00:00:04
>>91
基本的に書けない。
unsafe な struct 内限定で、
fixed int a[10]; とは書けるけども、
これは基本的にネイティブとの相互運用専用。
95:デフォルトの名無しさん
09/02/09 00:01:31
>>94
ありがとうございました。
変数の宣言はすべてnewをつけないといけないの大変じゃないですか?
96:デフォルトの名無しさん
09/02/09 00:01:44
>>91
var a = new int[10]
が限界かな
97:デフォルトの名無しさん
09/02/09 00:03:04
Formをダブルクリックして自動で作られたFormLoadを丸ごと削除したら
コンパイルできなくなりました。
一度自動で出来たメソッドをきれいになかったことにするには、後どこをいじればいいんでしょうか?
98:デフォルトの名無しさん
09/02/09 00:07:59
>>87
お前に対してレスした記憶がないんだが?
何で突っかかってくるんだ?
99:デフォルトの名無しさん
09/02/09 00:13:27
梅
100:デフォルトの名無しさん
09/02/09 00:13:56
>>95
変数は実体持たないただの入れ物。
new 付けてる方が本体。
101:デフォルトの名無しさん
09/02/09 00:14:58
プロパティウィンドウのイベントマークをクリック
ドロップダウンのハンドラを削除
102:デフォルトの名無しさん
09/02/09 00:15:06
>>95
仕様だから大変とは思わん
103:デフォルトの名無しさん
09/02/09 00:15:25
入れ物を作ったあと、その変数に値を代入すれば
newがいらないってことですか?
104:デフォルトの名無しさん
09/02/09 00:15:30
>>97
デザイン画面で、Form1 の [プロパティ ウィンドウ]->[イベント タブ]->[Load] に、Form1_Load があるから、それを消すとおk
もしくは、Form1.Designer.csを直接編集して↓の一行を削除。
> this.Load += new System.EventHandler(this.Form1_Load);
105:デフォルトの名無しさん
09/02/09 00:20:38
>>101
thx。しかし項目になにもないんですけど、
手動で削除するのはもう無理ですか?
新しくプロジェクトを作ってイベントから削除したらコードからも消えてました。
間違ってコードから消した場合、すでに大量に中身を書いていたらもうお手上げなんでしょうか?
106:デフォルトの名無しさん
09/02/09 00:21:20
>>104
それですどうもです!
107:デフォルトの名無しさん
09/02/09 00:24:36
ここはコード エディタで変更しないでください。と書いてありました。
今後気をつけますthx
108:デフォルトの名無しさん
09/02/09 00:28:10
コードとデザイナを切り替えるたびに5秒前後PCが固まるんですが、
これは許容範囲ですか?みなさんどのぐらいかかりますか?
PenD3.2*2 Mem3.3BG です。
109:デフォルトの名無しさん
09/02/09 00:30:49
>>108
とりあえずスタートページOFF
ついでに、スタートアップのコンテンツをダウンロードする間隔もOFF
110:デフォルトの名無しさん
09/02/09 00:39:05
こりゃVSをゲストOSで使うのは無理っぽいですね
111:デフォルトの名無しさん
09/02/09 00:40:24
>>103
そりゃ、だって、
var a1 = new int [10];
var a2 = a1;
は合法なわけで。
112:デフォルトの名無しさん
09/02/09 00:48:17
構造体にメソッドが入れられると書いてあるんですが、
もしかしてCの構造体とは別物と考えたほうがいいんでしょうか?
113:デフォルトの名無しさん
09/02/09 00:49:54
>>112
DateTimeの定義をたどってみてみるといいよ
構造体なんだけど、クラスのようでもあり、メソッドらしきものもある
114:デフォルトの名無しさん
09/02/09 00:55:21
>>88をお願いします。
ストップウォッチを作りたいんですが、時間が来たら音で知らせる物にしたいんです。
音を出すの部分はどうやってコードにするんですか?
キリがないと思うので一覧のある場所を教えてほしいです。
115:デフォルトの名無しさん
09/02/09 00:57:04
>>114
URLリンク(www.codepanic.net)
116:デフォルトの名無しさん
09/02/09 01:02:12
おーありがとうです。
組み合わせて頑張ってみます!
117:デフォルトの名無しさん
09/02/09 01:05:32
>>95
そんなあなたにはVisual Basicをおすすめします。Dim a(9) As Integer
118:デフォルトの名無しさん
09/02/09 01:11:17
>>117
どう考えても、DelphiかC++/CLIのほうがいいだろ
C#はDelphiのぱくりだし、ぱくりというか設計者が同じか。
今となってはマイナーなC#よりC++/CLIのほうが将来的に役立つ。
119:デフォルトの名無しさん
09/02/09 01:12:46
どう考えても、F#のほうがいいだろ
C#はDelphiのぱくりだし、ぱくりというか設計者が同じか。
今となってはマイナーなC#よりF#のほうが将来的に役立つ。
120:デフォルトの名無しさん
09/02/09 01:14:29
(´・∀・`)… どう考えても、JScript.NETのほうが
121:デフォルトの名無しさん
09/02/09 01:17:34
C#はなんでこんなにマイナー言語なんだろうなぁ
122:デフォルトの名無しさん
09/02/09 01:17:58
WPFとかがC++/CLI絶対対応しないからしょうがなくc#やってんじゃないの?
で結局WPFが糞だったみたいなw
123:デフォルトの名無しさん
09/02/09 01:20:17
普通にVBかC++でよかったよな
C#は中途半端
騙された
124:デフォルトの名無しさん
09/02/09 01:20:19
Delphiは良い言語だと思うが、会社がころころ変わって行く末が不安だ
125:デフォルトの名無しさん
09/02/09 01:20:52
最初は低レベルな所をやって基本を固めるべき。
MSILしかありえんだろw
126:デフォルトの名無しさん
09/02/09 01:22:27
ニーモニックをマスターすれば、オブジェクト指向はマスター出来たも当然ですか?
127:デフォルトの名無しさん
09/02/09 01:23:36
>>124
Delphi Prismは機会があれば使ってみたいけど、その機会が(ry
128:デフォルトの名無しさん
09/02/09 01:27:39
言語選定に関しては顧客の意見が優先されることもあるからな
普段、Windowsの仕様をボロクソに言うクセに、開発言語はMS製にしろという矛盾
129:デフォルトの名無しさん
09/02/09 01:33:03
つかC#はdelphiそのもの
130:デフォルトの名無しさん
09/02/09 01:38:21
frameworkもvclそのものだよな
131:デフォルトの名無しさん
09/02/09 01:43:56
>>125
人はそうやって挫折しますw
132:デフォルトの名無しさん
09/02/09 01:52:11
Objectってvoidのようなものですか?
133:デフォルトの名無しさん
09/02/09 01:52:36
いいえ
134:デフォルトの名無しさん
09/02/09 01:53:02
ということにしたいのですね。
135:デフォルトの名無しさん
09/02/09 01:55:38
C++のスレでC++は重いからアセンブラが必要とかいってるんだけどwww
C#って勝ち組じゃね?
136:デフォルトの名無しさん
09/02/09 01:57:02
だってObjectに一度する必要なくないですか?
どういうときに使うんですか?
137:デフォルトの名無しさん
09/02/09 01:58:17
んで、C++とC#はどっちが思いっていってた?
138:デフォルトの名無しさん
09/02/09 01:59:55
ある意味勝ち組
139:デフォルトの名無しさん
09/02/09 02:00:05
>>136
一度ってどういうことよ
条件があとからどんどん変わっていったら誰も正確な意見なんていえないぜ
140:デフォルトの名無しさん
09/02/09 02:01:52
一度というか型がわからないからObjectにするんですよね
で後でstringにするみたいな
Objectはどう必要なんですか?
141:デフォルトの名無しさん
09/02/09 02:05:07
じゃあvoidとの違いを教えてください
142:デフォルトの名無しさん
09/02/09 02:05:45
もしかして、void*のようなものと言いたかったんじゃないの?
143:デフォルトの名無しさん
09/02/09 02:10:52
>>140
型がわからないんじゃなくて、どんな型でも入れられるようにobject
クラスの状態などが変化した場合、それに応じてコントロールを変化させたいような場合、
そのクラスにコントロールのポインタを格納できれば便利でしょ
144:デフォルトの名無しさん
09/02/09 02:19:35
C#でもあるっちゃあるな
unsafe
{
void* p = stackalloc byte[100];
}
145:デフォルトの名無しさん
09/02/09 17:57:40
VS2010からC++が0xになるみたいですが、C#にはなにか追加されないんですか?
146:デフォルトの名無しさん
09/02/09 18:04:48
>>145
C# 4.0でググレ。
147:デフォルトの名無しさん
09/02/09 18:05:04
A 変数a =(A)b
ってなんぞ。わけわかめです New使うのと、左辺の変数に右辺の値を入れるくらいしかわからんのです。
148:デフォルトの名無しさん
09/02/09 18:06:44
こんなところでアホ晒しとらんと勉強しなはれ
149:デフォルトの名無しさん
09/02/09 18:18:30
どこ勉強すればいいかわからないです。
何で検索すればでてきます?カッコでキーワード?囲う意味がわからない
150:デフォルトの名無しさん
09/02/09 18:38:34
>>147 cast
151:デフォルトの名無しさん
09/02/09 18:48:55
クラスを継承した時に基本クラスのコンストラクタに引数がある場合はどうすればいいですか?
152:デフォルトの名無しさん
09/02/09 18:50:40
>>149
URLリンク(msdn.microsoft.com)(VS.80).aspx
153:デフォルトの名無しさん
09/02/09 18:51:24
あと、静的コンストラクタがよくわからないんですが、
一つのクラスにインスタンスコンストラクタと静的コンストラクタがある場合
インスタンスを作ったら両方よびだされるってことですか?
154:デフォルトの名無しさん
09/02/09 18:53:46
>>153
質問する前にできる事は一度自分で試してみたほうが勉強になると思います。
155:デフォルトの名無しさん
09/02/09 18:56:52
すいません。一通り入門書を読まないとコンパイルまで行かないような気がして。すいません
156:デフォルトの名無しさん
09/02/09 19:10:02
using System;
namespace 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();
}
}
}
157:デフォルトの名無しさん
09/02/09 19:37:14
ありがとうございます!
t1の後ろにも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();
}
}
158:デフォルトの名無しさん
09/02/09 19:41:27
>しかし、これがうまくコンパイルできませんお願いします
たぶんこういう発言している間はあなたはプログラミングに向いていないと思います。
159:デフォルトの名無しさん
09/02/09 19:58:08
アイちゃんが終わっちゃう
160:デフォルトの名無しさん
09/02/09 19:58:45
うはまじごめん誤爆
161:デフォルトの名無しさん
09/02/09 20:16:55
>>150 ありがとう。アイちゃんには難しすぎた;;()内の型にデータを変換できるって適当に覚えちゃっていいのかな
162:デフォルトの名無しさん
09/02/09 20:57:21
C#ってなんで流行ってるの?
ソースコード見られちゃうのに。
それと、C#で書いたコードは、
PHPみたいに、WEB上だけで動かせられるの?
つまり、ソースコードを見られないで運用する、って意味だけど。
それがC#.NETなの?
163:デフォルトの名無しさん
09/02/09 21:00:05
なにを言っているのかね君は
164:デフォルトの名無しさん
09/02/09 21:01:12
おいらはVS2005でC#使うからー
C#以外でも動作するの?まあ、デザインはJavaとHTML使ってるけど
165:デフォルトの名無しさん
09/02/09 21:13:40
デザインはJava(笑)
166:デフォルトの名無しさん
09/02/09 21:27:51
>デザインはJava
これは流行る
167:デフォルトの名無しさん
09/02/09 21:30:07
javafx script だったりして(笑
168:デフォルトの名無しさん
09/02/09 21:38:33
デジャバ
169:デフォルトの名無しさん
09/02/09 22:06:57
baseの使い方わかる方はいませんか?
157です。
170:デフォルトの名無しさん
09/02/09 22:11:12
>>169
どこでどんなエラーになるかまで書かないと
自前でコンパイルまでしてくれる人はあんまりいないよ。
おそらくコンパイルエラーのメッセージがそのまま答えなのだろうけど。
171:デフォルトの名無しさん
09/02/09 22:32:51
>>157
> test2 t3 = new test2("test");
これがどのコンストラクタを呼んでるのか考えてみろ
172:デフォルトの名無しさん
09/02/09 22:44:21
PHPだってみられちゃわないか?
173:デフォルトの名無しさん
09/02/09 22:44:27
class test2 : Test {
test2( string str ) : base(str) { }
}
174:デフォルトの名無しさん
09/02/10 00:59:01
引数がどうしても渡せません
string a = new string("test");
test2 t3 = new test2(a);
どこがだめですか?
175:デフォルトの名無しさん
09/02/10 01:00:26
大事なことなので2回言います
>どこでどんなエラーになるかまで書かないと
176:デフォルトの名無しさん
09/02/10 01:35:31
str2は現在のコンテキスト内に存在しませんです。
class 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();
}
}
177:デフォルトの名無しさん
09/02/10 01:46:00
public TEST(string str2) : base(str2) { }
178:デフォルトの名無しさん
09/02/10 01:48:27
おーできました!ありがとう!
179:デフォルトの名無しさん
09/02/10 04:21:09
デリゲートがよくわからないんですが、
イベントハンドラをまとめたクラスを作ってイベントに対応させるように使えばいいんでしょうか?
それとも個々にイベントハンドラをクラスに混ぜて使っていくものなんでしょうか?
180:デフォルトの名無しさん
09/02/10 05:17:59
WPFとFormアプリって何が違うんですか?
181:デフォルトの名無しさん
09/02/10 05:26:57
何が違うか・・というか、完全に別物。
182:デフォルトの名無しさん
09/02/10 06:14:21
GUIエディターがFormなみになったらWPF使おうと思ってるけど
いつなるの?
183:デフォルトの名無しさん
09/02/10 06:50:56
Form並ってどの辺を指して言ってるの?
SP1で改善されたが、それでも不満ならBlend使うかVS2010待つかしかないだろうね。
184:デフォルトの名無しさん
09/02/10 07:12:56
Visual StudioのGUIデザイナからFormBorderStyle.FixedSingle;を追加するにはどうすれば良いのでしょうか?
185:デフォルトの名無しさん
09/02/10 07:18:12
フォームを選択して、プロパティ ウィンドウのFormBorderStyleをFixedSingleに設定するだけ
186:デフォルトの名無しさん
09/02/10 07:51:17
>>185
ありがとうございます。
187:デフォルトの名無しさん
09/02/10 08:28:28
>>162
欠点差し引いても言語仕様がいいから。
ソース見られちゃうってのでいうと、JavaScript とか Flash だってそうだし。
PHP みたいなのの .NET 版は ASP.NET。
ASP.NET と比べたら PHP はかわいそうな子。
188:デフォルトの名無しさん
09/02/10 08:42:00
そんなこたーねーよ。
アメリカ軍とベトコンくらいの違いだろ
189:デフォルトの名無しさん
09/02/10 08:49:17
逆に言えば.NETソフトをぱくって.NETソフト作ってもソースが丸見えだから
パクッたかどうかもバレバレ
パクられて困ってるなら訴えればいい
190:デフォルトの名無しさん
09/02/10 08:57:05
難読化 訴訟コスト
巷のフリーソフトウェアは難読化とかしてるのかね
商用でもWebベースでなければ難読化必須な気がするが
191:デフォルトの名無しさん
09/02/10 09:14:49
知られたらやばいぐらいのアルゴリズムなら特許取るんじゃね?
それ以外で難読化が必要なケースが思い浮かばないんだけど
つか.Net以外でも実行ファイルをリリースする時点でアルゴリズムも見ようと思えば見れるし
192:デフォルトの名無しさん
09/02/10 09:17:47
PHPよくわかんないけど、PHPもイベント駆動型で書けるの?
193:デフォルトの名無しさん
09/02/10 09:19:53
有料のツールなら安価なやつでもデコンパイルできなくなったよ
194:デフォルトの名無しさん
09/02/10 09:31:57
デコンパイルできないってどういうこと?
難読可って名前を分かりにくくするぐらいしかやってなくて
リフレクションでぶっ壊れるイメージしかないけど
195:デフォルトの名無しさん
09/02/10 09:34:46
文字列を暗号化でもしたんだろうか
196:デフォルトの名無しさん
09/02/10 10:06:08
CLI 的には C# とかではどうやっても無理な識別子やコードは
確かに使えるけども
197:デフォルトの名無しさん
09/02/10 10:51:06
自分が書いたコードを見られるのはちょっと恥ずかしいというのはある
198:デフォルトの名無しさん
09/02/10 11:48:26
listboxのClearSelected( )についての質問です。
コンパイルを終えて、実行するとエラーが起きてしまいます。
listboxの項目を何も選択していないのにClearSelected( )をするのはダメなのでしょうか?
199:デフォルトの名無しさん
09/02/10 11:53:52
質問です。
プロパティの中で、自身の名前(プロパティ名)を取得することってできますか?
調べましたがわからなかったため、方法があれば教えてください。よろしくお願いします。
200:デフォルトの名無しさん
09/02/10 12:21:47
>>198
そんなことはないよ。
InitializeComponent()より前で呼んでるんじゃない?
201:デフォルトの名無しさん
09/02/10 12:54:19
outとかref修飾子ってどういう時に使うんですか?
202:デフォルトの名無しさん
09/02/10 12:58:45
>>201
MSDNに書いてあるから嫁よ
URLリンク(msdn.microsoft.com)(VS.80).aspx
203:デフォルトの名無しさん
09/02/10 14:01:10
Labelやメニューバーなど、Fontを変更させない場所にメイリオ等を使った場合
FontがインストールされていないXPや2000ではどのFontで表示されるのでしょうか?
204:デフォルトの名無しさん
09/02/10 14:07:57
YAHOO!「みんなの政治工作」
URLリンク(seiji.yahoo.co.jp)
大江康弘? 誰? 高橋千秋?? 知らない。どちら様ですか?
そんな民主党のマイナー議員の皆様が激しく高得点。
そもそもどこの選挙区で何の実績を挙げてるのかすらよく知らん。誰かちゃんと全部知ってる?
そんな人が70人通りかかって69人も支持。嘘だろー。
それに何か10,259件も誰かのコメントに支持したり反対したりしている。
何この超絶ヒマそうな民主党支持者。わけわかんない。一時間ほど経過したところ、
評価数がさらに増えて10,289件になっている。見て回った中では最高得点のクリッカーだ。
懸命にクリックしているのだとすると腱鞘炎まっしぐらだし、
スクリプトだとするとBOT使いは死ねという話である。おとなげない。
ヤフーが捏造した政党支持率 自民3% 民主76% 共産6% 社民3% 新党日本4% 国民新党2% 公明1%
URLリンク(quizzes.yahoo.co.jp)
アンケート操作疑惑
URLリンク(wiki.livedoor.jp)
205:デフォルトの名無しさん
09/02/10 14:16:59
これだとnodeがnullになるのですがこれはD&Dの時にtreeviewにフォーカスがない
からなのでしょうか?。またどうやったらD&Dしたノードを調べる事ができますか?。
private void treeView_sites_DragDrop(object sender, DragEventArgs e)
{
TreeNode node = treeView_sites.GetNodeAt(e.X, e.Y);
}
206:デフォルトの名無しさん
09/02/10 14:22:37
クライアント(TreeView)のXYに変換しないとだめじゃないかな?
PointToClient とかで。
207:デフォルトの名無しさん
09/02/10 14:25:10
TreeView.ItemDragでも使った方が面倒な事考えなくていいから楽だと思うよ
208:デフォルトの名無しさん
09/02/10 14:28:22
Form1が他のFormが最前列にあって視覚的に見れないときは、
TopMost = trueにすればよいですが、
TopMostみたいにずっと最前列じゃなくて、後ろのFormをクッリクした時みたいに、
FormにあるBottomを押したときに最前列にする方法はありませんか?
209:デフォルトの名無しさん
09/02/10 14:32:36
APIのSetWindowPos呼ぶとか
210:デフォルトの名無しさん
09/02/10 14:35:12
>>206-207
ありがとうございます。
PointToClientで解決しました。
ノードの移動も追加するつもりでいますのでItemDragでも色々と試してみます。
211:デフォルトの名無しさん
09/02/10 15:04:14
listboxがありまして、listbox_SelectedIndexChangedの動作のなかで
listbox.SelectedItem.ToString( )を使っています。
listboxの項目を選択した状態で、他の場所からlistbox.ClearSelected( )を行いました。
すると実行時に、listbox.SelectedItemが未定義になってしまいます。
別にlistboxの項目をクリックした分けでもないのに、選択解除をしたせいで、
listbox_SelectedIndexChangedの動作に入ってしまってエラーを起こしてしまいます。
お力添えお願いします。
212:デフォルトの名無しさん
09/02/10 15:12:09
>>211
MSDN嫁
URLリンク(msdn.microsoft.com)(VS.80).aspx
213:デフォルトの名無しさん
09/02/10 15:18:54
C++のソースをC#に書き直しているんですが,
STLのmapのように入れ子にできて一意の値が代入できるコンテナってC#にありますか?
214:デフォルトの名無しさん
09/02/10 15:22:21
あります。
215:デフォルトの名無しさん
09/02/10 15:22:57
>>214
どれですか
216:デフォルトの名無しさん
09/02/10 15:32:05
Dictionaryのことか?
217:デフォルトの名無しさん
09/02/10 15:39:03
>>216
ありがとうございます
使ってみます
218:デフォルトの名無しさん
09/02/10 15:49:30
>>212
ありがとうございます。
選択されていなかったらnullを返す。
未定義ってことは他に原因があるのでしょうか?
219:デフォルトの名無しさん
09/02/10 15:54:17
Windowsフォームのクラス(ClassA : System.Windows.Forms.Form)では
thisの型はForm型?それともClassA型?
220:デフォルトの名無しさん
09/02/10 17:40:23
Form型クラスの中にForm型をnewで生成することはできますか?
221:デフォルトの名無しさん
09/02/10 17:44:53
うん
222:デフォルトの名無しさん
09/02/10 17:56:08
>>219
つ this.GetType()
223:デフォルトの名無しさん
09/02/10 18:04:39
俺も難読化に興味ある。
現状ではDLLを暗号化しておいて、実行時にネイティブコードを呼び出して
デコード→読み込みみたいな感じにしてる。
Reflectorだけでは解析不可だけど、ちょっと詳しい人なら簡単に突破される。
将来的には
ネイティブの実行ファイル起動→スプラッシュロゴ表示(.Netの遅い起動対策)
→裏でマネージコードをデコード&exeの起動
みたいな事ができないかと考えてる。
224:デフォルトの名無しさん
09/02/10 18:16:12
ぼくのHelloWorldも難読化したほうがいいですか
225:デフォルトの名無しさん
09/02/10 19:48:02
Managed D3Dスレに誰もいないのでこちらで質問させていただきます
C#でD3D上にUI作るにはどういった方法がありますか?
226:デフォルトの名無しさん
09/02/10 20:14:05
D3Dか、俺もやってみたいな
227:デフォルトの名無しさん
09/02/10 20:29:56
俺がやってる方法は通常のアプリと同じ様にコントロールをつけて、
OnPaintイベントでD3D描画。これだけで3D表示とコントロールは共存できる。
ツールとかならこれでいーんだろーけど、ゲーム等、リアルタイムで
アニメーションさせる場合とかは一考が必要。
ただD3Dのパフォーマンスをギリギリまで求めると
コントロールのレスポンスが悪くなる。作るものに応じて何通りか試すといいかと。
228:デフォルトの名無しさん
09/02/10 20:40:54
完全に自前でフレームワーク作るのが普通
各コントロールは自作のMyControlクラスを継承して,
それぞれOnRenderをオーバーライドして描画するとかWinFormsっぽくするとそんなに難しくない
229:デフォルトの名無しさん
09/02/10 20:40:56
>>218
ListBox.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();
}
}
230:デフォルトの名無しさん
09/02/10 22:41:34
配列の要素数や、ArrayListの要素数など、
0以上の数値にしかなり得ないような数値の返り値がintなのはなぜでしょうか?
uintであるべきではない理由があったら教えて下さい。
231:デフォルトの名無しさん
09/02/10 22:44:39
統一した方が便利だから
intに最適化されてるから
符号なし数値型はCLS非準拠だから
232:デフォルトの名無しさん
09/02/10 22:48:41
むしろ「わざわざ」uintにする理由がないからだと思うんですが。。
「わざわざ」uintなんぞにしちまったらintと演算するごとに(以下略
233:デフォルトの名無しさん
09/02/10 22:51:19
常識的に考えて、MaxValue個以上の要素を持つArrayListなんて使わないから実用上の問題もないしねぇ
234:デフォルトの名無しさん
09/02/10 22:54:34
クラスライブラリでは基本的に符号なし整数型を公開したらダメ
サポートしてない言語がありうるから
CLSは言語間の相互運用性を確保するための仕様
235:デフォルトの名無しさん
09/02/10 22:56:05
なに#define DEBUGって
コンパイルするとき選べるDebug Releaseの選択とはまた違うのか
236:デフォルトの名無しさん
09/02/10 22:57:03
素早いレスありがとうございます
CLS非準拠というのは理解できました。
intの最適化されているというのは、これだけの情報では検索範囲が広すぎて
どういう意味なのかがわかりませんでした。
よろしければ、何がどのように、何に対して最適化されているのか、補足いただけないでしょうか。
また統一したほうが便利というのは、
このような要素数を格納するような変数はこれまでintを使用していたので、
仮に-1などの要素数が代入されエラーが発生する可能性を許容しても、
変数としてintを利用することの便利性のほうが勝るということでいいでしょうか?
>>232
uintを宣言した段階で正数しか入らないということが、
クラス設計上わかりやすいのではと思いました。
例えば配列のindexをプロパティで入力してもらうとき、intだと負数の入る余地があり、
実際に数値を判断して例外なりを出す必要があるのではと思ったということです。
237:デフォルトの名無しさん
09/02/10 23:05:29
randは速度重視で正確なんでしょうか?
それとも偏って使い物になりませんか?
238:デフォルトの名無しさん
09/02/10 23:07:22
>>235
いわゆるプリプロセッサシンボルというやつ。用途はググれ
プロジェクト構成でDebugを選ぶと自動的にDEBUGは定義されるから#define DEBUGは書く必要ない
プロジェクト構成で設定している意味がなくなるからむしろ書いてはいけない
>>237
なにか問題が出たらそれから考えればいいだろ
239:225
09/02/10 23:09:26
自前でコントロール作成ですか・・・
にほんご入力とかも、必要があれば自分で実装しないといけないのかしら
240:デフォルトの名無しさん
09/02/10 23:11:12
>>238
なるほどthx
241:デフォルトの名無しさん
09/02/10 23:12:12
>>194
なぜかはよくわからん。
エラーメッセージがアバウトすぎるので。
アンチILDASMオプションのようなものがある難読化ツールはいくつかあるよ
高価な奴だと、難読化したままデバッグ可能なものも
242:デフォルトの名無しさん
09/02/10 23:17:31
int型の動的配列をもっとも速く処理できるクラスは何ですか?
243:デフォルトの名無しさん
09/02/10 23:30:24
>>242
クラスではないし、拡張は出来ないが
>>144 が最速
244:デフォルトの名無しさん
09/02/10 23:39:16
>>237
普通に使う分には十分なばらつきだけど
暗号化に使えるぐらいのやつが欲しいなら
System.Security.Cryptography.RNGCryptoServiceProvider
245:デフォルトの名無しさん
09/02/10 23:44:02
>>243
拡張?サイズ変更できないってことですか?
工夫が必要なんでしょうか?素人が速くするのは無理くさいです。
246:デフォルトの名無しさん
09/02/10 23:46:17
List<int>で困ってから考えたら
結構速いよ
247:デフォルトの名無しさん
09/02/10 23:46:26
素人は普通にやってろ
248:デフォルトの名無しさん
09/02/10 23:48:51
>>245
たかが配列でそんなにパフォーマンスおちないと思うよ
別のところが原因じゃね?
249:デフォルトの名無しさん
09/02/10 23:49:19
どなたか>>236おねがいします。
250:デフォルトの名無しさん
09/02/10 23:51:03
>>249
前半
int型で処理するのが一番早い
後半
>>234嫁
251:デフォルトの名無しさん
09/02/10 23:52:39
>>242
何をどう「速く処理」したいのかによる。
コレクションクラスってのは、それぞれ一長一短があるから、
わざわざあんなにたくさん用意してあるんだよ。
252:デフォルトの名無しさん
09/02/11 00:01:00
C#は速いと聞いたので今あるソフトをC#でどのぐらい速度速くできるかにチャレンジしてます
動的配列に入れたい数はとりあえず28M個とかです。
C++ではvectorでやってるんですが、入れるだけでもものすごく遅いです。この量かint64MAX値まで格納できて速いのがいいです。
253:デフォルトの名無しさん
09/02/11 00:03:45
>>250
ありがとうございます。
>int型で処理するのが一番早い
これはどこから得られたデータですか?
もしご存じでしたらお教えくださらないでしょうか。
なるほど、ということは、>>234に関して、これを前提で考えると、ulongやuint等は
基本的に速度も遅いし、特に使用するメリットが無いし、
今までの使われてきた経緯からなるべき使用すべきではないという理解でいいでしょうか?
何度も質問して申し訳ないですが、よろしくお願いいたします。
254:デフォルトの名無しさん
09/02/11 00:04:14
vectorの代わりはList<T>でどうぞ
255:デフォルトの名無しさん
09/02/11 00:05:46
>>254
thx変わりになるものなのか
>>246
すまんねListと聞いただけで拒否反応してしまったすまん。
256:デフォルトの名無しさん
09/02/11 00:25:51
>>253
IL 上は signed も unsigned もマーク程度で実質あまり変わらん。
むしろ native int や unsigned int32 が多いから早いとはいえないというか
言語が変換命令入れる必要があったりするわけだけどそれが重いか
といわれると別に。
というか int しかない言語も存在したり CLS にない理由がいくつかある
わけだが一言で言うとだな、ゼロ以上「だけ」の特殊な状況での型分け
なんていらん。コレクションのインデクサにしたって Length 以下も駄目
だろ。
257:デフォルトの名無しさん
09/02/11 00:25:59
測ったわけじゃないけど,uintでも扱いは全く同じだから演算そのものの速度は変わらないと思うよ
どうせフレームワークのメンバで公開されてるのはほとんどintなんだから
uint使ったらオーバーフローとか気にしないといけないからかえってわかりづらい
利便性という意味での最適化
258:デフォルトの名無しさん
09/02/11 00:42:42
>>256
なるほど、所詮入れる箱としての変数なので、正数だからという区別がある必要はないということですね。
だったらなぜuintなぞがあるのか聞きたい気もしますが、これはMSにしかわいらないことですしね。
>コレクションのインデクサにしたって Length 以下も駄目だろ。
0以下、Length以上が駄目ですね。ただ、0以下が駄目なことは変数の型から理解できるのではと思ったということです。
ありがとうございました。
>>257
なるほど、過去の遺産や他の言語の整合性との観点や、
過去からの流れがあって、正数だけに限定するとかえって混乱が発生し、
逆に利便性が低下するので問題が発生するということですね。
もしuintなどが過去からあって利用されていたら配列の要素数にuintが変えるような
言語が普通だったのかななどと想像すると、どちらがいいのか考えさせられますが、
お話を聞いて納得できました。
ありがとうございました。
259:デフォルトの名無しさん
09/02/11 01:49:43
>>258
冷やかすわけじゃないけどちょっと大げさに考えすぎなんだと思うよw
「なぜ」なんていったって別にそんな深い理由があってuintを避けてる、
とかじゃ全然ないと思うよ。
単にあえて符号無しの型を使う理由がないから、っていうだけのことでしょ。
8bitや16bitの時代なら符号なしの型にも存在意義があったと思うけど、(例えば50,000までの
インデックスを表す変数のために32bit使うのは馬鹿らしいから)32bit以上になっちゃったら
存在意義は薄い、そんだけのことだと思うよ。
260:デフォルトの名無しさん
09/02/11 01:58:25
その理屈でいうとuintでもいいし、もっと言えばlong、decimalでもいいじゃん
261:デフォルトの名無しさん
09/02/11 02:05:31
boolもいらないよな。0か1でいいから。
262:デフォルトの名無しさん
09/02/11 02:13:12
利便性の制約のためだと思ってた
263:デフォルトの名無しさん
09/02/11 02:19:55
Javaにはunsignedがない。.NETにはJ#がある。ってのが簡単な理由じゃあるまいか。
Z80の相対ジャンプにはキャリーフラグでの条件ジャンプはあったが、オーバーフロー
(パリティ)フラグによるものはなかった、とか
一般にキャリーを見るよりもオーバーフローを見る方が1ビットだけコストが高い、とか
ヲタッキーな遠因を語ってもいいけどね。
264:デフォルトの名無しさん
09/02/11 02:22:37
>>191
プログラムに特許ってあるの?
265:デフォルトの名無しさん
09/02/11 02:24:53
>>263
あと、VBも忘れちゃいかん。
言語・ライブラリではきちんと使い分けているC++でも、
intだけで全部済ましているプログラム見てorzとか良くあるから、
全部intにしているのはかえっていいと段々思うようになった。
266:デフォルトの名無しさん
09/02/11 02:30:10
>>264
残念ながら、計算方法(アルゴリズム)に特許が認められてしまっている。
ソフトウェア特許と呼ばれるやつ。
有名だったGIFでは、圧縮アルゴリズムLZWに特許がかかっており、
特許料を取るとまくし立てられたので、自前実装も軒並み消えた。
個人・フリー相手にそこまでやかましいのは最近見なくなったけど。
267:デフォルトの名無しさん
09/02/11 02:41:56
特許は足手まといでしかない
268:デフォルトの名無しさん
09/02/11 02:47:51
特許そのものは足手まといとは言わないけど、
計算に関しては、回路配置利用権とかみたいに別方式を作ったほうが良かったと思う。
269:デフォルトの名無しさん
09/02/11 02:52:07
URLリンク(okwave.jp)
特許には関わりたく無いと思った
270:デフォルトの名無しさん
09/02/11 02:57:44
現代において、コンピュータに関しての基本的すぎる事柄の特許ってのは、
基本的に大企業が互いに牽制しあうためのものだから、
特許権が行使されず誰にも害悪のないことがほとんど。
たまに、一太郎アイコンの松下みたいに勘違いしたのが出てくるけど。
271:デフォルトの名無しさん
09/02/11 03:11:25
マイクロソフトに数千億円の支払い命令が下りたmp3の機能のやつは、1ソフトにつき使用料0.3円だべ?
逆にそのぐらい払わないと経済がまわらなくね?と思った
電化製品だって作るのに部品買わなきゃいけないのにソフトは人件費だけってんだから全く足引っ張ってないと思う
272:デフォルトの名無しさん
09/02/11 03:21:52
MP3くらいだったら特許でもそうでなくても作ったところでお金が回る仕組みがあるべきだと思う
(と同時に、LAMEやx264のようなフリーソフトが見逃されている現状は嬉しい)が、
バルーンヘルプのようなものまで特許になるのは勘弁してくれ。
273:デフォルトの名無しさん
09/02/11 03:22:02
ウザいのはソフト公開すると必ず著作権法違反だとか基地外みたいな奴らが大量にメールが送ってくることなんだよな
アイコンがアウトだとか、その機能は許可をとっているのでしょうかとか、ただちに販売を停止しないのなら法的手段に訴えますとか。
エロサイトのポップアップ支払命令とかわらん、全然関係ない完全な第3者なのが超ウケル
274:デフォルトの名無しさん
09/02/11 10:47:22
>>266
GIF の騒ぎは、別の優れた形式を普及させるためだった、とも言われてるね。
275:デフォルトの名無しさん
09/02/11 11:25:21
PNGだってGIFのアルゴリズム使えれば
もっと圧縮率高められたんだろ
276:デフォルトの名無しさん
09/02/11 11:36:27
>>273
wwwww
GPL教とオープンソース教も嫌いだな~
277:デフォルトの名無しさん
09/02/11 12:50:26
>>260
消極的理由はあるんだよ。
だから、「あえて」特定の型を選択する積極的理由がないなら
一番汎用性が高い型をデフォルト的に選択するのは当然のことじゃないか。
>>261
そんなわけないだろ。
言ってる意味がわからない。
278:デフォルトの名無しさん
09/02/11 13:06:59
賛同するかどうかはともかく言ってる意味くらいわかるだろ
279:デフォルトの名無しさん
09/02/11 13:17:10
積極的な理由以外を理由と認めないのは悪い癖だな
280:デフォルトの名無しさん
09/02/11 13:47:47
>>273
マジで?俺が公開しているソフトは今のところその被害ない。
大量にって、ホントにアウトな著作権法違反したんじゃなくて?
281:デフォルトの名無しさん
09/02/11 14:02:26
「販売」って言ってるから業者さんなんでしょ。
ある程度大手ならさもありなんだと思うよ。
どの業界でもクレーマーって実際多いから。
ゴネ得狙いの奴もいれば、「環境浄化運動」やってる更年期のオバチャン的な
頭がオカシイ奴もいる。
282:デフォルトの名無しさん
09/02/11 14:59:29
>>220の質問ですけど、
Form型フォーム1に、Form型フォーム2を引っ付けることは可能でしょうか?
できれば場所移動は連動可能で、フォーム2の上にある上のバーを消したいです。
283:デフォルトの名無しさん
09/02/11 15:01:59
そういうのは普通フォームでは実装しない。
284:デフォルトの名無しさん
09/02/11 16:08:23
>>283
仕方なくフォームを使ったとして、
Dockなどで連携できないでしょうか?
285:デフォルトの名無しさん
09/02/11 16:10:23
Dock ってのがドッキングウィンドウを指してないなら・・・
イレギュラーなことをするには、それなりのコストが必要ってことだな。
286:デフォルトの名無しさん
09/02/11 16:11:21
MagicDockみたいなのを想定してる?
287:デフォルトの名無しさん
09/02/11 16:16:23
VisualStudioみたいなドッキングウィンドウを実現したいと思っているなら、
それは一筋縄ではいかない。
DockPanel Suiteか何か使わないと。
URLリンク(sourceforge.net)
288:デフォルトの名無しさん
09/02/11 16:17:21
>>286
MagicDockというのが調べても分からなかったのですが、
たぶん名前からしてそんな感じだと思います。
289:デフォルトの名無しさん
09/02/11 16:21:52
>>281
あー、納得。某ゲーム会社大手で指四本のキャラが身体障害者団体から
クレームくるからと差し替えになってたな。
>>282
ボーダースタイルとかTopLevelとか単語超うろ覚えで申し訳ないんだけど、
その辺いじればFormをコントロールのように扱えたと思う。
あと、リージョンとかいじれば2ドット四方のFormとか作れる。
290:デフォルトの名無しさん
09/02/11 16:24:46
>>287
ありがとう。でも英語苦手です。
291:デフォルトの名無しさん
09/02/11 16:25:47
>>288
いずれにせよ、質問は自分の思ってることが読み手に正確に伝わるように書いてくれ。
自覚がなさそうだが、君の書く文章は読み手の視点で文章推敲できない奴の典型。
292:デフォルトの名無しさん
09/02/11 16:30:14
>>290
せめてダウンロードはしてみたのか?
293:デフォルトの名無しさん
09/02/11 16:41:08
>>291
今後気をつけます。
>>292
ダウンロードしましたが、使い方が難しそうです。
294:デフォルトの名無しさん
09/02/11 17:39:11
絶対反省してないw
295:デフォルトの名無しさん
09/02/11 18:11:19
教えてください。
C#(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..."; //ここからアニメーションが開始されます。
}
---
よろしくお願いいたします。
296:デフォルトの名無しさん
09/02/11 18:19:45
別スレッドで処理するか、DoEventsでも呼ぶかして
メッセージを処理できるようにしないと描画されるわけがないよ。
297:デフォルトの名無しさん
09/02/11 20:43:45
windowsフォームの位置をLocationなどで設定することは可能ですが、
windowsフォームの位置を取得するにはどのようにしたら良いでしょうか?
298:デフォルトの名無しさん
09/02/11 20:46:52
設定の逆をやればいいんじゃね?
299:デフォルトの名無しさん
09/02/11 20:51:37
位置設定を
Form1.Location = new Point(100, 100); とすると
設定は・・・
300:デフォルトの名無しさん
09/02/11 20:52:37
>295
public 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( "ワーカー終了" );
}
}
301:デフォルトの名無しさん
09/02/11 20:52:47
イベントって難しいですよね?
何をどこに書いたらいいのか分からん。
302:デフォルトの名無しさん
09/02/11 20:58:22
そうですね。勉強しましょう。
303:デフォルトの名無しさん
09/02/11 20:58:23
むずかしくないよ
304:デフォルトの名無しさん
09/02/11 21:22:20
BeginInvokeしたらEndInvokeしろよ
305:デフォルトの名無しさん
09/02/11 21:44:44
でもデリゲートやイベントってC#の上位の機能の中では一番難しいところだと思う
306:デフォルトの名無しさん
09/02/11 21:49:41
いま「ポインタは難しい」とか真顔で言われたときと同じくらい当惑しています。
307:デフォルトの名無しさん
09/02/11 21:52:24
C++ の関数ポインタは今でも当惑するけどね。特にメンバ関数のそれ!
308:デフォルトの名無しさん
09/02/11 22:00:39
あれはとっととbindしてfunctionに放り込むに限る。
これで、マルチキャストにならない以外C#のデリゲートと同じ感覚にできる。
309:デフォルトの名無しさん
09/02/11 22:05:30
デリゲートは型,イベントはメンバ(プロパティみたいなもの)
意味わからないだろうけど,ただこれだけのことなんだよ
まあ慣れてきたらそのうちわかる
310:デフォルトの名無しさん
09/02/11 22:23:35
Formアプリでフォームが真中に来るようにするにはどうすればいいんですか?
WPFはまん中にくるのでそういう風にしたいです
311:デフォルトの名無しさん
09/02/11 22:24:30
>>310
フォームのプロパティにあるだろ
312:デフォルトの名無しさん
09/02/11 22:44:11
>>309
でも実行される関数のポインタが格納されてるだけって考えるほうが簡単だし
313:デフォルトの名無しさん
09/02/11 22:45:53
あっそ
314:デフォルトの名無しさん
09/02/11 22:46:55
だから実行される関数のポインタを格納する「型」なんだよ
315:デフォルトの名無しさん
09/02/11 22:46:56
お前の感想なんかどうだっていいんだよ
316:デフォルトの名無しさん
09/02/11 23:02:23
まとめて相談スレへお引き取りください
317:デフォルトの名無しさん
09/02/11 23:03:38
C#と直接関係の無い話なのですが・・・
Vista VS2005C#でWebアプリWebサービスを作っていたのですが、
自分のマシンのIIS上にそれらを配置した場合、キャプチャする事は出来無いのでしょうか・・・?IPが同じだとダメなのでしょうか・・・?
MicrosoftのNetworkMonitorを使ってみたのですが、拾えていません。
一応別のマシンのIISに入れた場合は見ることが出来たのですが・・・
デバッグする為に同一マシン内で動作させられたら楽なのになと思いまして。
スレ違いだったらすみません、無視して下さい。
318:デフォルトの名無しさん
09/02/11 23:06:30
どっかで見たな。ループバックしろ、ってのが回答だったような。
319:デフォルトの名無しさん
09/02/11 23:06:49
俺は答えられんけど、無視されたらスレ違いかどうかわからなくね?w
320:デフォルトの名無しさん
09/02/11 23:21:34
>>311
違くて、デザイナの中央に配置して作業しやすくしたいだけです
321:デフォルトの名無しさん
09/02/11 23:22:11
>>318
なるほど。
loopbackを使う方法が使えないので、
同一IPのキャプチャはおそらく無理という事ですよね。
ありがとうございました。
>>319
他のスレに書こうか迷ったんですが、とりあえずレスをいただけそうなここにしましたw
もらえなければ何時間か試して諦めようと思ってたんでw
スレ汚しすいませんでした、ありがとうございました。
322:デフォルトの名無しさん
09/02/11 23:24:12
あとはプロキシかますくらいかね。
323:デフォルトの名無しさん
09/02/11 23:26:12
windowsフォームをShow( )して開いている間、
常時メソッドを実行し(呼び出し)続けることは可能ですか?
324:デフォルトの名無しさん
09/02/11 23:26:44
ローカルにあるIISに接続するのに、IPでアクセスするのと、
localhostでアクセスするのと挙動が違うんだぜ
325:デフォルトの名無しさん
09/02/11 23:27:48
>>323
タイマ
Application.Idleイベント
326:デフォルトの名無しさん
09/02/11 23:28:19
>>323
何がやりたいのかわからないけど、無理。
327:デフォルトの名無しさん
09/02/11 23:37:57
NumericUpDownコントロールのボタン部分の横幅を大きくするにはどうしたらいいんですか?
328:デフォルトの名無しさん
09/02/11 23:40:23
できないので、自分でそれっぽいコントロールを作ってください。
329:デフォルトの名無しさん
09/02/11 23:45:17
無理です。
サンプルください
330:デフォルトの名無しさん
09/02/11 23:48:13
Labelコントロールの文字の周りの余白がでか過ぎるんですが
もっと文字にフィットした枠にはなりませんか?
ラベルどうしを近づけたいんですが、隠れるんです
331:デフォルトの名無しさん
09/02/12 00:13:36
AutoSizeがfalseになってないか?
332:デフォルトの名無しさん
09/02/12 00:15:37
なってないです
333:デフォルトの名無しさん
09/02/12 00:18:10
フォントを設定したとき他のパソコンにそのフォントが入っていないと表示されないんでしょうか?
自分のパソコンでしか使わないのですが、気になったので教えてください
334:デフォルトの名無しさん
09/02/12 00:19:21
表示されない。代わりに代用のフォントが選ばれるけど、たいてい汚い。
335:デフォルトの名無しさん
09/02/12 00:33:09
>>320
オプション-環境-全般-ウィンドウ レイアウト-マルチ ドキュメントで
それで駄目ならデザイナを自作しましょう。
336:デフォルトの名無しさん
09/02/12 00:33:19
>>330
背景色は透過にした?
まあ君がやりたいことと違うかもしれんが。
337:デフォルトの名無しさん
09/02/12 00:58:26
>>335
タブ付きドキュメントは外せないのであきらめますthx
338:デフォルトの名無しさん
09/02/12 01:00:00
google geocoding api使って下のようなミニプログラムを書いているのですが、
下のtextの中にどうしても文字化けした文字列しか出てこず、詰まってます。
どこが悪いかわかる方教えてください。
using System.Net;
using System.Text.RegularExpressions;
func hoge()
{
string str = string.Format("URLリンク(maps.google.com)", "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;
}
339:デフォルトの名無しさん
09/02/12 01:17:31
>>333
PrivateFontCollectionクラスを使えば再配布可能なFontファイルを同梱して
未インストールでもそのアプリケーションだけで使える
340:デフォルトの名無しさん
09/02/12 01:20:52
エンコードし直さなくてもいいんだっけ?
341:デフォルトの名無しさん
09/02/12 01:21:47
text/xml; charset=Shift_JIS
返してるから
StreamReader sr = new StreamReader( res.GetResponseStream( ), Encoding.GetEncoding( "Shift_JIS" ) );
にしたら読めたよ
342:デフォルトの名無しさん
09/02/12 01:32:53
>>336
Backcolorでなしがないです
343:デフォルトの名無しさん
09/02/12 01:48:55
これどうしてだめなんですか?
private System.Windows.Forms.Label Hour;
long tick=DateTime.Now.Ticks;
DateTime d = new DateTime(tick);
Hour.Text = d.Hour.ToString;
344:デフォルトの名無しさん
09/02/12 01:50:52
インスタンス
345:デフォルトの名無しさん
09/02/12 01:51:52
Hour.Text = d.Hour.ToString;
↓
Hour.Text = d.Hour.ToString();
346:デフォルトの名無しさん
09/02/12 01:52:17
括弧かな。エラーの場所やメッセージもあげといて
Hour.Text = d.Hour.ToString();
347:デフォルトの名無しさん
09/02/12 01:52:30
できました!ありがとう!
348:デフォルトの名無しさん
09/02/12 02:23:10
地上波デジタルのコピーガードを除去するプログラムを作成したいのですが
参考になるサイトとかありますか?
349:デフォルトの名無しさん
09/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);
}
}
350:デフォルトの名無しさん
09/02/12 02:30:37
原則的にGUIを生成したスレッド以外GUIはいじれない
その上で構造を考え直してみよう
351:デフォルトの名無しさん
09/02/12 02:30:53
>>348
URLリンク(www.marumo.ne.jp)
ARIB STD-B25 仕様確認テストプログラム
そこに書いてあるように、0.2.2が最新。
C#じゃないとか贅沢は言わないように。
352:デフォルトの名無しさん
09/02/12 04:46:42
もうだめです。教えてください
bool 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();
}
353:デフォルトの名無しさん
09/02/12 04:55:35
>>352
URLリンク(www.atmarkit.co.jp)
354:デフォルトの名無しさん
09/02/12 05:10:09
thx
なんでこんなに難しいんですか?
すごい基本的な機能だと思うんですが、いきなり挫折しそうなんですが・・・
355:デフォルトの名無しさん
09/02/12 05:20:41
基本的な機能使えないのにスレッド作成してるんですか・・・
356:デフォルトの名無しさん
09/02/12 05:21:13
System.Windows.Forms.Timerを使う or
別スレッドからGUIにアクセスするときはControl.Invokeする癖をつける
357:デフォルトの名無しさん
09/02/12 05:30:50
タイマー!ありがとう
358:デフォルトの名無しさん
09/02/12 07:40:43
NumericUpDownコントロールから値を取り出すにはどうすればいいんですか?
359:338
09/02/12 07:54:04
>>341
ありがとう。読めました。
Googleがshift_jis返すとは思ってませんでした。
韓国で試したらまだハングル部分が文字化けするけど。
360:デフォルトの名無しさん
09/02/12 08:51:59
>>358
確か、Valueプロパティとかあったはず
>>359
普通にブラウザから叩いたら、UTF-8でくれたよ?
361:デフォルトの名無しさん
09/02/12 09:31:56
Accept-Encoding
362:デフォルトの名無しさん
09/02/12 10:34:25
簡単にSleepする方法はありますか?
363:デフォルトの名無しさん
09/02/12 10:36:11
ちょっとおたずねしますが
テキストエリアとその中に書いた文章を「送信ボタン」を押すことで
サーバーに送信するサイトがあるとします。
そのサーバーに対して
C#で作ったアプリのテキストボックスに文章を書いて
C#で作った送信ボタンを押して
WEBサイト上と同じ結果を得れる方法を探しているのですが
それについて詳しいサイトとか
ご存じの方いませんか。
364:デフォルトの名無しさん
09/02/12 11:04:39
効果音を付ける時、音のファイルをプログラムに埋め込むにはどうすればいいんでしょうか
なるべく実行ファイルはシンプルにしたいんです
365:デフォルトの名無しさん
09/02/12 11:10:20
りそーす
366:デフォルトの名無しさん
09/02/12 11:28:00
>>364
URLリンク(www13.plala.or.jp)
367:デフォルトの名無しさん
09/02/12 11:45:16
thx!
368:デフォルトの名無しさん
09/02/12 13:02:17
>>363
C# Postで検索するとぽろぽろでてくるよ
369:デフォルトの名無しさん
09/02/12 14:26:53
>>368
ありがとう~!
370:デフォルトの名無しさん
09/02/12 14:51:07
>>362
つドリエル
371:デフォルトの名無しさん
09/02/12 15:42:09
固定メッセージをソース内で宣言して、グローバルで使い回したいのですが
何かいい方法はないでしょうか?
#define TEST_MESSAGE "テスト"
みたいな書き方をしたかったのですが、上手くいきません
どこからでも参照できるグローバルのような方法はないんでしょうか?
372:デフォルトの名無しさん
09/02/12 15:44:22
>>371
リソース
373:デフォルトの名無しさん
09/02/12 15:44:58
363が「さっぱりわからないから教えてくれ」ってなりそうな予感
374:デフォルトの名無しさん
09/02/12 16:00:42
プロセッサ数を取得するにはAPI使わないと無理?
375:デフォルトの名無しさん
09/02/12 16:06:22
System.Environmentにあった気がする。調べてみて
376:374
09/02/12 16:09:12
>>375
ありがとう
Environment.ProcessorCount
でできました。
377:デフォルトの名無しさん
09/02/12 16:16:00
VisualStudio2008、.Net Framework3.5を使ってます。
FormにDataGridViewを表示しています。
セルの中に改行があるときに改行されて表示させるために、WrapModeをDataGridViewTriState.Trueにしました。
すると、改行が含まれているセルは改行位置で改行されるようになったんですが、
改行が含まれていないセルや、表示しきれない行まで、折り返し改行されるようになりました。
改行コードでのみ改行して表示させることは不可能なのでしょうか?
378:デフォルトの名無しさん
09/02/12 16:23:36
falseにすればいいんじゃ?
379:377
09/02/12 16:30:48
>>378
WrapModeにDataGridViewTriState.Falseを設定すると、
折り返されなくなりますが、改行コード(\r\n)での改行もされなくなってしまうんです。
380:デフォルトの名無しさん
09/02/12 17:15:51
>>372
ありがとうございます。できました
381:デフォルトの名無しさん
09/02/12 17:36:54
>>379
「何の」WrapModeをDataGridViewTriState.Trueにしたんだよ
382:デフォルトの名無しさん
09/02/12 19:25:26
配置する文字列内の改行コードの有無をみて、改行コードがあった場合は WrapModeを trueにして、 なければfalse とか。
wrapmodeに関わらず改行すればいいのに、変な仕様だね。
383:デフォルトの名無しさん
09/02/12 20:22:21
質問です。
VS2005で作成した自作クラスのドキュメントを作りたいのですが、
クラスのメソッドやプロパティや、可能ならコメントを抽出して
一覧表示してくれるような機能、アドイン等はありますか?
よろしくお願いします。
384:デフォルトの名無しさん
09/02/12 20:29:21
>>383
NDOC
385:デフォルトの名無しさん
09/02/12 21:11:08
あるいは、sandcastle + それ使うツール
sandcastle 単体はカスタマイザビリティはすごいから
慣れればいいんだけどまぁ取っ掛かりはあれなので
386:デフォルトの名無しさん
09/02/12 21:59:13
WindowsのGUIのまともなアプリを作るのに
向いてるのって、
(1)VB2007
(2)VB.NET
(3)VC
(4)VC++
(5)C#
この5つ?
JAVAもいいかと思ったんだけど、Windowsアプリを
作るには向いてないの?V2Cみたいのでも
いいと思ったんだけど。
387:359
09/02/12 22:00:26
>>360
ブラウザで叩くとUTF8って出るからEncoding.UTF8って指定したんだが、
それだと文字化けしてしまいます。で、341の言うように
Encoding.GetEncoding( "Shift_JIS" )とすると読めるんだが、他国の住所は
文字化けしてしまう。UTF8のままでとってくる方法はない?
388:デフォルトの名無しさん
09/02/12 22:01:42
>>387
>>361 は調べた?
389:デフォルトの名無しさん
09/02/12 22:05:11
>>386
WPF
390:デフォルトの名無しさん
09/02/12 22:06:46
WPFは重い・・・
391:デフォルトの名無しさん
09/02/12 22:08:29
WPFって結局C# or VBじゃね。
ところでVB 2007だとウィルスバスター2007なんだが。
392:デフォルトの名無しさん
09/02/12 22:11:45
>>386
Delphi
393:387
09/02/12 23:03:05
>>388
POSTやPUTでAccept-Charsetとかを指定する例はぐぐれたのだが、GETで指定する方法がわからない。
どうすればいい?
394:デフォルトの名無しさん
09/02/12 23:06:55
>>393
msdnよめカス
395:デフォルトの名無しさん
09/02/12 23:17:41
文字列の前にある@ってなんですか?
396:デフォルトの名無しさん
09/02/12 23:25:52
>>394
msdnのどこ読んだらいい
397:デフォルトの名無しさん
09/02/12 23:27:25
>>395
\がそのままか、エスケープ文字になるか。
398:デフォルトの名無しさん
09/02/12 23:28:27
>>396
HttpWebRequest
399:デフォルトの名無しさん
09/02/12 23:55:24
読んでいろいろ試してみたがよくわからんかった。
req.Accept="utf-8" とか?
今日はあきらめてもう寝ます。
400:デフォルトの名無しさん
09/02/13 00:02:06
あたまわるすぎる
401:デフォルトの名無しさん
09/02/13 00:13:52
試しにググったら一発でサンプルコード出てきたけど
自分で解決しようって気概は感じられないなw
402:デフォルトの名無しさん
09/02/13 00:14:44
まあ、そんなのがあったらここで聞く前にググっている罠。
403:デフォルトの名無しさん
09/02/13 00:42:51
>>399
HttpWebRequest.Headers プロパティ
WebHeaderCollection クラス
404:デフォルトの名無しさん
09/02/13 01:15:48
HttpWebRequest.UserAgent = "Mozilla/5.0";
でいけたよ
405:デフォルトの名無しさん
09/02/13 01:47:56
グループボックス内の座標を押したクリックイベントはどうやって作ればいいですか?
406:デフォルトの名無しさん
09/02/13 01:56:34
>>405
1.デザイナでグループボックスを選択
2.プロパティウィンドウのイベントタブをクリック
3.イベント一覧からMouseDownをダブルクリック
407:デフォルトの名無しさん
09/02/13 02:02:30
グループボックスにマウスダウンがないんです!
408:デフォルトの名無しさん
09/02/13 02:09:41
たぶんBrowsableがfalseになってるから表示されない
groupBox1.MouseClick += (sender, e) => { Console.WriteLine(e.Location); };
こんな感じでいけるよん
409:デフォルトの名無しさん
09/02/13 02:18:15
senderっていうのはcontrolが格納されていて、eはクリックイベントがわかるような物が入ってるんですか?
クリックイベントに既に飛んでるのにその引数にイベントが渡されててもメソッドの中で使う機会なくないですか?
410:デフォルトの名無しさん
09/02/13 02:22:34
ToString時に書式を変更するにはどうすればいいんでしょうか
int a = 1;
string str = a.Tostring();
でstrの中身が常に2桁にしたいんです、この場合"01"にしたいんです
411:デフォルトの名無しさん
09/02/13 02:33:23
>>410
string str = a.ToString("D2");
412:デフォルトの名無しさん
09/02/13 02:34:25
>>409
日本語でおk
413:デフォルトの名無しさん
09/02/13 02:39:20
ありがとう!
414:デフォルトの名無しさん
09/02/13 02:50:42
>>407
ああ、ごめん
private void groupBox1_MouseDown(object sender, MouseEventArgs e)
{
処理
}
適当に↑のようなイベントハンドラ作ってFormのLoadイベントかどっかに
groupBox1.MouseDown += new EventHandler (groupBox1_MousDown(sender,e);
って書いとけば追加される
415:デフォルトの名無しさん
09/02/13 03:00:57
>>414
なるほどありがとうございました
416:デフォルトの名無しさん
09/02/13 05:52:15
Device()の行でメソッドは戻り値の型を持たなければなりませんとエラーが出るんですがどうすればいいですか?
public class DirectSound : Form
{
Device dsDevice = null;
SecondaryBuffer secBuff = null;
dsDevice = new Device();
}
417:デフォルトの名無しさん
09/02/13 05:56:27
すいません、関数に入れるのを忘れました。
418:デフォルトの名無しさん
09/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();
}
}
419:デフォルトの名無しさん
09/02/13 07:39:28
アプリケーションのアイコンは替えられたんですが
フォームの左上にあるアイコンはどうやってかえればいいんですか?
リソースの追加はしました。
420:デフォルトの名無しさん
09/02/13 08:34:56
>>404
ありがとうございます。いけました。
UserAgentをブラウザと同じにすればいいんですね。
勉強になります。
ちなみにurlに与える引数を output=xml から output=kml でも回避できました。
kmlならshift_jis許さないみたいです。
421:デフォルトの名無しさん
09/02/13 12:01:41
>>418
↑ BufferDescription.Flagsでググると
↓ thisはちゃんとControlになってる?
>>419
フォームのプロパティグリッドにIconって無い?
422:デフォルトの名無しさん
09/02/13 15:07:42
C#Expressで勉強中です。
現在時刻を返す関数って
名前空間 Microsoft.VisualBasic モジュール DateAndTime の Now()
しか見当たらないのですが・・・
なんかMicrosoft.VisualBasicをusingするのが嫌なんですけど
他にありますか?
423:デフォルトの名無しさん
09/02/13 15:09:07
System.DateTime.Now
424:デフォルトの名無しさん
09/02/13 15:11:04
>>422
まずググレ
話はそれからだ
425:デフォルトの名無しさん
09/02/13 15:19:01
みなさんありがとうございます。
HELPでSystem.DateTime.NowがHitしないのは何故なんですかね??
DelphiのHelpも酷い酷いといわれていたが、それ以下かも。
次からはググってから質問します。
426:デフォルトの名無しさん
09/02/13 15:19:54
検索にはGoogleを使うといいよ
427:デフォルトの名無しさん
09/02/13 15:23:57
最近のはf1押しても見当違いのメンバのが出てくるの多いな
428:デフォルトの名無しさん
09/02/13 15:56:58
>>409
例えば、複数のコントロールのクリックイベントを1つのハンドラで処理できる。
そういうとき、どいつがクリックされたのか区別するという使い方ができる。
429:デフォルトの名無しさん
09/02/13 17:47:48
>>428
答えになってない
430:デフォルトの名無しさん
09/02/13 17:50:34
つーか、質問がおかしいし。
> senderっていうのはcontrolが格納されていて、eはクリックイベントがわかるような物が入ってるんですか?
前者はその通り。後者はイベントの引数。
> クリックイベントに既に飛んでるのにその引数にイベントが渡されててもメソッドの中で使う機会なくないですか?
イベントが渡されるわけではないので、その質問は成り立たない。
431:デフォルトの名無しさん
09/02/13 17:54:04
C#をやり始めてログの出力処理を作成しました
処理自体はできたのですが、ログに出力メソッドやイベントを埋め込みたいと思っています
System.Reflection.MethodBase.GetCurrentMethod().Nameを使えば取得できるようなのですが
ログの出力メソッド内で、呼び出し元のメソッドを取得する方法なんてあるでしょうか?
呼び出し元の方で引数に入れて出力・・・というのはできたのですが
ログ出力関数内に、呼び出し元メソッドの取得処理を入れておけば便利だと思いまして
宜しくお願いします
432:デフォルトの名無しさん
09/02/13 17:55:48
スタックトレース
433:デフォルトの名無しさん
09/02/13 17:58:13
_______ __
// ̄~`i ゝ `l |
/ / ,______ ,_____ ________ | | ____ TM
| | ___ // ̄ヽヽ // ̄ヽヽ (( ̄)) | | // ̄_>>
\ヽ、 |l | | | | | | | | ``( (. .| | | | ~~
`、二===-' ` ===' ' ` ===' ' // ̄ヽヽ |__ゝ ヽ二=''
ヽヽ___// 日本
_____ _____ ______ _______
| ウェブ | | イメージ | | グループ | | ディレクトリ |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.___________________
|help site:msdn.microsoft.com/ja-jp/library │・検索オプション
└─────────┘・表示設定
| Google検索 | I'm Feeling Lucky | ・言語ツール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
○ウェブ全体から検索 ◎日本語のページを検索
これが最強の検索方法な
434:デフォルトの名無しさん
09/02/13 17:59:56
今の Google には IFL ボタンなんてありませんが?
435:デフォルトの名無しさん
09/02/13 18:01:10
eには使う機械があるものが入ってる
senderはあまり使う機会がない
436:デフォルトの名無しさん
09/02/13 18:04:14
GoogleのTopページなんて見る機会まずないから知らんかったw
437:デフォルトの名無しさん
09/02/13 18:14:37
>>409
OnClickのeは確かに意味がないよ。
一方たとえばKeyDownイベントなら、eがなければどのキーが押されたか分からない。
あとは、EventArgsに意味があるイベントと意味のないイベントのときに、
EventArgsのありなしで区別したほうがいいかどうかを、
public delegate void EventHandler<TEventArgs>(
Object sender,
TEventArgs e
)
where TEventArgs : EventArgs
というジェネリックなdelegateの存在を踏まえつつ考えればいいのではないか。
438:デフォルトの名無しさん
09/02/13 18:33:03
>>436
ツールバーにインクリメントサーチが付いてないブラウザなんていっぱいあるからいつもトップから検索してるよ
439:デフォルトの名無しさん
09/02/13 20:37:19
internalキーワードを実感するために紹介されている記事をみてデバッグすると
エラーが表示されるらしいのですが何故か自分ではエラーが再現出来ません
普通にプログラムが立ち上がってしまいます
> URLリンク(www.atmarkit.co.jp)
> このソースをビルドすると、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
}
}
-------------------------------------------------
エラーが出る方が普通なんですか?
440:デフォルトの名無しさん
09/02/13 20:44:20
>>439
DLLにしてる?
441:デフォルトの名無しさん
09/02/13 20:45:15
UdpClientのラッパ作ってみたんですが、添削おねぎします
URLリンク(www3.uploda.org)
442:デフォルトの名無しさん
09/02/13 20:51:22
勝手に文字列にされたらこまるとか
このクラスの利用者がエラー処理できないとか
バインドするインターフェイスが選べないとか
443:デフォルトの名無しさん
09/02/13 20:55:14
自作の通信ソフトのサーバとクライアントにに組み込む目的で作りました
Receive用スレッドの終了方法がこれでよいかどうかわかりません
444:439
09/02/13 21:54:52
>>440
DLLにしたらエラーでました。
csファイルだとエラーが出なくてDLLにするとエラーが出るのか
勉強になりました。ありがとう
445:デフォルトの名無しさん
09/02/13 22:27:31
c#でグローバルIPアドレスを取得したいのですがわからないです。
どなたか方法わかる方いませんか?
446:デフォルトの名無しさん
09/02/13 22:38:25
わざわざ「グローバル」なんて言ってるから意味違うのかもしれないけど、
自分のIPアドレスを取得したいと素直に解釈するなら
URLリンク(msdn.microsoft.com)
447:デフォルトの名無しさん
09/02/13 22:53:13
モジュール起動中は電源オプションを変更する方法を探してるんだけど
↓以外に良い方法知ってる人いませんかね?
URLリンク(msdn.microsoft.com)
448:デフォルトの名無しさん
09/02/13 23:01:53
>>445
URLリンク(www.dyndns.org)
こういうのを見に行くとか。
449:デフォルトの名無しさん
09/02/13 23:49:14
>>447
2000/98以降
SetThreadExecutionState( state )
450:デフォルトの名無しさん
09/02/14 00:59:55
>>445
UPnPが有効ならSOAPで取りに行く方法もある
451:450
09/02/14 01:01:02
ちなみにNATの場合ね
452:デフォルトの名無しさん
09/02/14 02:43:48
>>449
ありがと
453:デフォルトの名無しさん
09/02/14 14:33:09
ファイル移動について質問です。
File.Move(from, to);
するときに、同名のファイルが空ったら上書きしたいです。
File.Copyなら、
File.Copy(from, to, true);
で上書きできますけど、Moveには、trueがないみたい。
こういう場合には、どうするんですか?
コピーして削除? 削除してからコピー?
なにかスマートな解決方法があったら教えてください。
454:デフォルトの名無しさん
09/02/14 15:15:15
2.0以降ならReplaceでいいんじゃないの?
1.xの場合はdestinationのファイルのディレクトリでファイル作成が禁止されている
場合に備えて、
(1) 一旦destと同じディレクトリにdestと別名tempでsrcをmove
(2) destを削除
(3) tempをdestにリネーム