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にリネーム
455:447
09/02/14 16:29:18
APIってあんまり使う機会無いんだけどAPIクラス作って置いた方が便利だよね?
456:デフォルトの名無しさん
09/02/14 16:39:35
そういえばVistaでWin32APIに置き換わる新しいAPIを作るって話はどうなったんだろう?
たしかWInFXが.NET Framewo3.0になって・・・その後は?
457:デフォルトの名無しさん
09/02/14 17:04:02
>>456
7の次に期待しようではないか。
458:デフォルトの名無しさん
09/02/14 17:27:11
>>454
なるほど。サンクス。
459:デフォルトの名無しさん
09/02/14 17:30:36
そういうことをやると、空き容量は十分あるはずなのに、ファイルが移動できない!
とかクレームしてくる奴が・・・
460:デフォルトの名無しさん
09/02/14 17:58:28
URLリンク(blog.hobbystock.jp)
お美しい・・・
461:デフォルトの名無しさん
09/02/14 18:02:52
>>457
Win7でも実装されずなのか・・・
462:デフォルトの名無しさん
09/02/14 18:18:18
>>460
完全にスレチだが・・ドロッセルお嬢様ついに発売されるのか。
おしゃれユニットとか付属するのか気になる。
463:デフォルトの名無しさん
09/02/14 20:28:53
現在スパイウェアを作成してるんですが
感染者のファイルを盗み取りたいと思っていftpにアップロードを考えました
しかし、ftp接続をするとWindowsXPのファイアーウォールが作動します
これを迂回する方法を考えるのも面倒なので
指定したアップローダに投稿しようとしたところ
こちらはファイアーウォールが作動しませんでした
こんなテキトーなセキュリティーでよいのでしょうか?
exeを踏ませたらもうこちらの思い通りに操作できると考えてよろしいですか?
464:デフォルトの名無しさん
09/02/14 20:44:17
Windowsファイアウォールはこっちから出ていく分に関しては素通し。
FTPでもパッシブ接続なら発動しないと思う。
だから、今でもサードパーティでファイアウォールアプリを作る需要があるわけ。
465:デフォルトの名無しさん
09/02/14 20:53:50
XPのファイアウォールってアウトバウンドにルールを設定できないのが致命的なんだよ。
その辺がおまけのファイアウォールの出来だよ。
だからファイアウォールのアプリを別に入れないといけないわけだよ。
Vistaになってようやくアウトバウンドのルールを設定できるようになったので
OSのファイアウォールだけでもちゃんと設定すれば結構使えるようになったと思う。
466:デフォルトの名無しさん
09/02/14 21:57:46
>>457,461
そうなの?
467:デフォルトの名無しさん
09/02/14 22:17:32
>ftp接続をするとWindowsXPのファイアーウォールが作動します
こんなあほなこと言ってる奴のスパイウエアにひっかる奴って
468:デフォルトの名無しさん
09/02/14 22:21:10
日本語もまともに書けない奴は煽る資格ないな
469:デフォルトの名無しさん
09/02/14 22:41:00
あほの作ったスパイウエアだけにタスクバーに出るんじゃないの
470:デフォルトの名無しさん
09/02/14 23:16:59
初心者乙
471:デフォルトの名無しさん
09/02/15 00:36:04
ftpのしくみも知らない上級者怒ってんね
472:デフォルトの名無しさん
09/02/15 00:37:57
日本語でOK
473:デフォルトの名無しさん
09/02/15 00:47:03
本当のあほはどっちなのやら…
474:デフォルトの名無しさん
09/02/15 13:18:54
イベントログの情報を取得したいと思っています。
System.Diagnostics.EventLog[] eventLogs
= System.Diagnostics.EventLog.GetEventLogs();
でアプリケーション、システムといった各ログは取得できることは
分かったんですがそれぞれのログに登録されているイベントソースの
一覧の取得方法がわかりません。
System.Diagnostics.EventLog.SourceExists(string)
なメソッドがあるんでソース一覧も取得可能だとは思うんですが。
知っているかたがあれば教えてください。
475:デフォルトの名無しさん
09/02/15 14:17:18
MSはSDKにWin32ヘッダのC#用クラスを付けとけばいいのに
476:デフォルトの名無しさん
09/02/15 14:20:20
イラネ
477:デフォルトの名無しさん
09/02/15 14:23:04
それをやったら.NETの意味がなくなるからな
何でWin32ネイティブにしないの?という話になる
478:デフォルトの名無しさん
09/02/15 14:25:41
C#で作れるところに意味があるんじゃねーの?
もうC++とかやるきねーよ
479:デフォルトの名無しさん
09/02/15 14:26:33
そうそう特殊なことやらなきゃ、API なんて使わんし。
480:デフォルトの名無しさん
09/02/15 14:34:14
別にDllImportの宣言自体はそんなに面倒なものでもないしな
PInvokeは,その周辺の考慮事項が恐ろしく面倒
C++/CLIにしたからといって改善されるものでもない
481:デフォルトの名無しさん
09/02/15 14:34:36
compactにはあまりにもないものが多すぎて
APIに頼らざるを得ないケースが頻発
デフォルトで付けといてもらった方が便利だね
482:デフォルトの名無しさん
09/02/15 14:37:01
しかしめんどくさいのは定義が一意に定まるわけでもないことか
使いやすいようにいじれるのがいいからコードのデータベース化みたい
なのがいいんだよな
483:デフォルトの名無しさん
09/02/15 14:42:23
>>481
そう思う奴が多数なら、そこにビジネスチャンスが生まれるはず・・・なんだけどな
484:デフォルトの名無しさん
09/02/15 14:46:10
移植性が悪いからcompactではわざわざ削ってるんだろ
それをMS自らもっと移植性の悪い方法で提供してどうする
485:デフォルトの名無しさん
09/02/15 14:50:52
>>480
DllImport自体はともかく、定数の定義がむちゃくちゃ多いやつとか
超しんどいのは確か。
最近IMM関連いじっててそう思った。
486:デフォルトの名無しさん
09/02/15 14:52:46
ヘッダからDllImport 宣言に変換してくれるツールがあるじゃん・・・
487:デフォルトの名無しさん
09/02/15 14:53:57
あるフォームのDataGridViewの1行(1レコード)に入力されている値を、自作のクラスに渡そうとしています。
自作クラスはSystem.Windows.Formsを使わないので、出来ればDataGridViewRow型ではなく
別の型で渡したいと思っています。
今は渡し元フォームの方で、DataGridViewRowから1セルずつ値を取り出して、arrayにstringで入れて、
そのarrayをクラスに渡しています。
一応これで値を渡せてはいるんですが、DataGridViewRowから、
なんらかの「データの集合体」の変数を取り出す簡易な方法が他にあれば、教えてください。
488:デフォルトの名無しさん
09/02/15 14:56:23
考え方が逆だ
「データの集合体」をDataGridViewにバインドするんだ
489:デフォルトの名無しさん
09/02/15 15:09:09
>>488
ありがとう、DataRow型で取り出して渡せました。
490:デフォルトの名無しさん
09/02/15 16:26:09
これを↓
URLリンク(www.woodensoldier.info)
URLリンク(www.red-gate.com)
このReflector使ってきちんと起動するまでにいきたいんですが、
エクスポートして.cs吐かせてそのままデバッグしても警告やエラーが出ます。直せる人いませんか?
491:デフォルトの名無しさん
09/02/15 16:28:36
>>490
エラーが出るケースもあるけどそれすら直せないなら向いてない
492:デフォルトの名無しさん
09/02/15 16:31:14
こんなもん自分で作った方が早いような…
493:デフォルトの名無しさん
09/02/15 16:31:22
詳しい話は
C#, C♯, C#相談室 Part51
スレリンク(tech板:216番)
以降を見てね
494:デフォルトの名無しさん
09/02/15 16:35:35
>>491
向いてないのは分かってるんで、直せないですかとお願いしてるんです。
>>492
作ってくれるならお願いします
495:デフォルトの名無しさん
09/02/15 16:37:57
直せます。で?
496:デフォルトの名無しさん
09/02/15 16:38:31
自分でやる気ないんなら板違いだから、有償で誰かに頼みな
497:デフォルトの名無しさん
09/02/15 16:39:39
>>495
直してうpお願いします
498:デフォルトの名無しさん
09/02/15 16:42:02
>>497
嫌です。
499:デフォルトの名無しさん
09/02/15 16:42:54
そもそも、そのアプリが逆アセOKか、ソースの公開OKか、とか
そういうこともわからんし。
著作権法違反とかで捕まりたくないし。
500:デフォルトの名無しさん
09/02/15 16:43:33
どんな複雑な物かと思ったら…
501:デフォルトの名無しさん
09/02/15 16:44:19
では直してくれそうなスレありますか?
502:デフォルトの名無しさん
09/02/15 16:45:02
シラネ
503:デフォルトの名無しさん
09/02/15 16:48:26
作者に連絡とってソース売ってもらうのが正攻法じゃねーかな
逆コンパイルじゃねーけど
504:デフォルトの名無しさん
09/02/15 16:49:25
>>503
そだね。
505:デフォルトの名無しさん
09/02/15 16:50:10
ということで、この話は終了で。オツカレサマー
506:デフォルトの名無しさん
09/02/15 17:02:27
作者だけど直してやれば
507:デフォルトの名無しさん
09/02/15 17:05:10
>>506
お前が作者なら、お前がソース公開すればすむこと。
508:デフォルトの名無しさん
09/02/15 17:11:28
>>479
長時間作業させるアプリケーションなんて特殊じゃないだろ
509:デフォルトの名無しさん
09/02/15 17:14:20
>>508
なんの話?
510:デフォルトの名無しさん
09/02/15 17:24:36
上でも出てたみたいだけどOSのスリープ殺すのにはAPI必要でしょ
それ以外だって特殊なアプリケーションじゃなくてもAPI必要な場面はあるでしょ
.netにないのがそもそもおかしいというのは別の話で
511:デフォルトの名無しさん
09/02/15 17:27:35
ファイル一覧のソートについて質問があります。
ファイルの一覧を、アクセスタイムの新しいものから順番にソートして配列に入れたいです。
アクセスタイムを得るには、
File.GetLastAccessTime(file);
で、ファイル名を得るには、
string[] files = Directory.GetFiles(@"C:\temp", "*.txt");
です。
目的のファイルの一覧を、アクセスタイムの新しいものから順番にソートして配列に入れるには、どうしたらよいでしょう?
うまくふたつをつなげられないで困っています。
ご指導お願いします。
512:デフォルトの名無しさん
09/02/15 17:29:42
配列に入れてからソートすれば良いのでは無いでしょうか?
513:デフォルトの名無しさん
09/02/15 17:33:26
OS のスリープ殺す、なんてのは特殊だと思うけどな。
514:デフォルトの名無しさん
09/02/15 17:45:22
>>511
LINQ使えば簡単。
Directory.GetFiles(@"C:\temp", "*.txt").OrderBy(file => File.GetLastAccessTime(file)).ToArray();
515:490
09/02/15 18:08:11
ボクのはまだですかwktk
516:デフォルトの名無しさん
09/02/15 18:11:09
>>515
その話題は >>505 で終了しました。またのお越しをお待ちしております。
517:デフォルトの名無しさん
09/02/15 18:11:54
今日中がいいので、それは無理・・・
だれかおねがいします><
518:デフォルトの名無しさん
09/02/15 18:13:16
>>514
それだと、古い順に並んでしまうだろう。
OrderByの代わりにOrderByDescendingを使わないと。
519:デフォルトの名無しさん
09/02/15 18:17:38
>>514
おお、ありがとうございます。
なにか方法がありそうと思っていましたが、スマートです。
早速試してみました。
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順になっているようです。
なにか方法が違ってますか?
520:デフォルトの名無しさん
09/02/15 18:36:52
失礼。ごめんなさい。できました。
>>518
おっしゃるとおり、OrderByDescendingでできました。
大感謝です。
521:デフォルトの名無しさん
09/02/15 19:02:02
OrderByとOrderByDescendingの違いは正順、逆順だけなんだけど、アルファベット順になる理由はなんだったの?
522:デフォルトの名無しさん
09/02/15 19:25:19
今ぼくの進めてくれてらっしゃる方いますか
523:デフォルトの名無しさん
09/02/15 19:26:25
>>522
>>474 ですか?
524:デフォルトの名無しさん
09/02/15 19:29:05
>>474 は、イベントソースの一覧を取得する方法はなさげなので、
SourceExists() でやってるように、レジストリから取ってくるしかないのでは?
525:デフォルトの名無しさん
09/02/15 19:56:22
>>523
>>490です
526:デフォルトの名無しさん
09/02/15 19:59:01
>>525
それは終了らしいので、途中まで調べましたが止めておきます。
527:デフォルトの名無しさん
09/02/15 20:04:50
>>526
ではここに再開を宣言します。
どうぞよろしくお願いします
528:デフォルトの名無しさん
09/02/15 20:06:13
iイ彡 _=三三三f ヽ
!イ 彡彡´_ -_=={ 二三三ニニニニヽ
fイ 彡彡ィ 彡イ/ ィ_‐- 、  ̄ ̄ ヽ し ま
f彡イ彡彡ィ/ f _ ̄ ヾユ fヱ‐ォ て る
f/ミヽ======<|-'いシ lr=〈fラ/ !フ い で
イイレ、´彡f ヽ 二 _rソ 弋_ { .リ な 成
fノ /) 彡! ィ ノ ̄l .い 長
トヾ__ら 'イf u /_ヽ,,テtt,仏 ! :
|l|ヽ ー '/ rfイf〃イ川トリ / .:
r!lト、{'ー‐ ヽ ´ ヾミ、 / :
/ \ゞ ヽ ヽ ヽ /
./ \ \ ヽ /
/〈 \ ノ
-‐ ´ ヽ ヽ \\ \ 人
529:デフォルトの名無しさん
09/02/15 20:08:04
ほんとに今日だけはお願いしますOTZ
530:デフォルトの名無しさん
09/02/15 20:10:19
なんのためにそれが必要なのか、わかりやすく説明してみれ。
531:デフォルトの名無しさん
09/02/15 20:34:21
>>490のは、何に躓いたのかさっぱり分からないけど、普通にできたよ。
もちろん差し上げてもいいんだけど、
| このソフトはフリーソフトウェアです。
| 配布、転載は原則自由です。
| ただし、中身の一部もしくは全部を改変して配布、掲載をする事は禁止します。
って書いてあるので、作者の許諾を明示的に取ってきてください。
つーか、なぜ作者にくれと言わないのか?
532:デフォルトの名無しさん
09/02/15 20:38:52
>>506で作者が登場している!ちょうど良いぞ!w
533:デフォルトの名無しさん
09/02/15 20:46:39
最近仕事でC#を使うことになりました。
Webの開発です。
皆さんに聞きたいのですが、匿名メソッドというのは
どういうケースで使いますか?
URLリンク(www.atmarkit.co.jp)
↑@ITで匿名メソッドについて載っていますが、どういうものかは理解できました。
しかしこれってWebアプリの開発とかでどういうケースで使うのかなと。。
使用ケースが分かっていません。
あまり使うことが無いものなのでしょうか?
534:デフォルトの名無しさん
09/02/15 20:50:36
また、2ちゃんねるで宿題頼んでる奴がいるのかw
535:デフォルトの名無しさん
09/02/15 20:51:42
イベントハンドラーに適当なテスト用のメソッド入れたいときとか、
LINQ でとか。
536:デフォルトの名無しさん
09/02/15 21:07:21
最近仕事でC#使うことになったが、匿名メソッドやラムダ式は使いたい気持ちをぐっとこらえてる
ほかの人が見たときに読みづらいだろうからな
537:デフォルトの名無しさん
09/02/15 21:33:52
>>531
エラー出ましたよね?直したとこ教えてくだされば><
それだけでいいんです
538:デフォルトの名無しさん
09/02/15 21:35:31
どこでどういうエラーが出たか書けよ
539:デフォルトの名無しさん
09/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!!")};
540:デフォルトの名無しさん
09/02/15 21:42:10
自己解決しますた。
簡単じゃねーかよ、こんぐらいさっさと説明しやがれバカども
541:デフォルトの名無しさん
09/02/15 21:44:44
警告 1 デザイナは 247 行のコードを処理できません。
base.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つっす
542:デフォルトの名無しさん
09/02/15 21:56:22
で、>>530 への回答は?
543:デフォルトの名無しさん
09/02/15 21:56:58
簡単だ。エラー3をよく読め。そして考えろ。
544:デフォルトの名無しさん
09/02/15 21:58:06
お前ら頭悪いよな
545:デフォルトの名無しさん
09/02/15 22:03:40
>>543
不足してるらしいです、でも意味わかりません
546:デフォルトの名無しさん
09/02/15 22:04:51
カワイソス(´・ω・)
547:デフォルトの名無しさん
09/02/15 22:07:57
頭が不足してるのか、かわいそうに
548:デフォルトの名無しさん
09/02/15 22:09:59
>>545
意味がわからなかったらググったりして調べればいいじゃないか
549:デフォルトの名無しさん
09/02/15 22:11:50
それがめんどくせーから聞いてるんだろうが! バカジャネーノ
550:デフォルトの名無しさん
09/02/15 22:18:13
dllがないってことかな
551:デフォルトの名無しさん
09/02/15 22:18:48
面白いからもっとやれwww
552:デフォルトの名無しさん
09/02/15 22:26:11
できました! ありがとうございました。
これで明日の課題提出に間に合います!
553:デフォルトの名無しさん
09/02/15 22:33:36
ソース盗用がバレて遡及的に単位取り消し/停学ですね、わかります
554:デフォルトの名無しさん
09/02/15 22:35:58
自分のおべんきょ用です
555:デフォルトの名無しさん
09/02/15 22:54:12
C#って初心者向けの言語ですか?
556:デフォルトの名無しさん
09/02/15 22:55:41
>>555
向け、かはわからないけど、初心者でも十分理解できると思います。
557:デフォルトの名無しさん
09/02/15 23:00:27
向けかといわれると確かにまぁ違うよな
向いているかといわれると大丈夫なんじゃないぐらいではある
558:デフォルトの名無しさん
09/02/15 23:01:13
実際に初心者が使えるかどうかはともかく,言語のスタンスとしては初心者向けではないな
どっちかというと既に他のが使える人が便利に使える言語というコンセプト
559:デフォルトの名無しさん
09/02/15 23:06:56
C#のstringには、MFCのCString::Right(n)のように、
末尾からのn文字を抽出するメソッドはないのでしょうか。
ない場合、全体の文字数を取得して、全文字数とnを使って、Substringするという回りくどいやり方しかないのでしょうか。
560:デフォルトの名無しさん
09/02/15 23:11:16
ない
回りくどいって言ってもstr.Substring(str.Length - n)とするだけのことだろ
561:デフォルトの名無しさん
09/02/15 23:11:40
ない
どうしても嫌なら拡張メソッド作ったら
562:559
09/02/15 23:15:36
ありがとう。
回りくどいとけなすつもりはなかった。
今は反省している
563:デフォルトの名無しさん
09/02/15 23:30:44
どうしても欲しければMicrosoft.VisualBasic.Strings.Right……。
564:デフォルトの名無しさん
09/02/15 23:33:59
C#のstringはLengthを取得するのにコストがかかるわけじゃないのでSubstringでの切り出しでいいんだよ。
565:デフォルトの名無しさん
09/02/16 01:21:10
Substringは範囲外の切り出しでエラーになる。
これを使いにくいと思ったことはあるな。
"abcde".Substring(3, 10) で "de"
"abcde".Substring(8, 2) で "" が欲しいケースは多いよ。
566:デフォルトの名無しさん
09/02/16 01:33:31
まぁはじめは実際なんでないんだろうなぁとは思った。
たぶん忘れたかなんか事情があったんだろうなと思って
おくことにした
Substring は境界絡んでくるとうざいんだよなー
567:デフォルトの名無しさん
09/02/16 01:38:13
>>565
2つ目の引数は文字数なのに結果の文字列に含まれる文字数がそれ以下だとおかしいだろ。
568:デフォルトの名無しさん
09/02/16 01:49:36
拡張メソッドが便利だな
public 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);
}
569:デフォルトの名無しさん
09/02/16 15:38:09
イベントの質問です。
windowsフォームなどのボタンなどを付けて、ダブルクリックした場合、
イベントを自動生成して、 Windows フォーム デザイナで生成されたコードの中に
イベントを登録したり、処理(ハンドラ?)のプログラムを書く場所を作ってくれますが、
イベントの引数やインスタンスの定義はどこでしてくれてるのですか?
570:デフォルトの名無しさん
09/02/16 15:43:12
***.Designer.cs
***はフォーム名
571:デフォルトの名無しさん
09/02/16 19:07:05
@IT .Net Tipsの
リストビューに画像をサムネイルで表示するサンプルを使おうとしています。
URL (URLリンク(www.atmarkit.co.jp))
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に直接だと表示されるしエラーもでないんですが、
これは何が原因なんでしょうか?
572:デフォルトの名無しさん
09/02/16 20:26:07
イベントハンドラの for の最後の
> thumbnail.Dispose();
これかな。消してみな。
573:571
09/02/16 20:49:54
>>572
ずばりでした! 動きました!
ありがとう。
ちょっとソース詳しく読んで、なぜだか考えてみます。
574:あ
09/02/16 21:00:20
あ
575:デフォルトの名無しさん
09/02/16 21:05:46
>>573
これ読みながらやるような初心者にはわからん可能性が高い気がするけど
ヒントだけ。
ようするにTabPage2 に移動したことによってこのイベントが呼ばれる段階で
ハンドルが作られていない(可能性がある)のが問題。
その状況だと初期化が遅延されちゃうみたいだな。んで、表示されたときに
初期化が始まって、そのときに追加された Bitmap を参照しようとするけど
すでに破棄済みだからアウトになる、と。
576:デフォルトの名無しさん
09/02/16 21:41:34
もっと単純に言えば、使い終わっていないものをDisposeしちゃダメってことだ。
577:デフォルトの名無しさん
09/02/17 07:52:38
もっと単純に言えばDisposeは使うなってことだ
578:デフォルトの名無しさん
09/02/17 07:53:43
それ、違うから。
579:デフォルトの名無しさん
09/02/17 08:07:41
おいおい
580:デフォルトの名無しさん
09/02/17 13:31:01
HTTPのHEADメソッドを送信するにはどうすればいいでしょうか?
WebClientにもWebRequestクラスにもそれらしいメソッドはありませんでした。
もしかしてSocketクラス使わないとだめでつか?
581:デフォルトの名無しさん
09/02/17 13:39:14
HttpWebRequest.Methodプロパティ?
582:デフォルトの名無しさん
09/02/17 14:06:14
複数のフォルダに写真を整理していて、そのなかにある特定の日付(たとえば3月)の写真だけを抜き出したいと思っています。
string[] 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
583:デフォルトの名無しさん
09/02/17 14:38:22
>>581
これでいけました。ありがとうございました
String url = "URLリンク(pc11.2ch.net)";
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);
584:デフォルトの名無しさん
09/02/17 15:05:13
>>582
パス名の文字列を正規表現で分解して年と月を別々に取り出す
あとは大小比較で絞込み
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);
}
585:デフォルトの名無しさん
09/02/17 15:25:58
ファイル名の禁則文字を制御したいと思っています
やりたいことは「\/:*?"<>|」の文字があったら「""」で置き換えることです
Strings.Replaceでひとつひとつチェックすることぐらいしか思いつかないのですが
もう少しスマートな処理方法があれば教えて下さい
586:デフォルトの名無しさん
09/02/17 15:34:22
C# 2.0でDouble型のデータを文字列に変換するときの質問です。
通常
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.##...#を最大桁数分用意すればいいのかもしれませんが・・・・
何か綺麗な方法というのはないのでしょうか?
587:デフォルトの名無しさん
09/02/17 15:38:41
decimalにキャストするとか。
588:デフォルトの名無しさん
09/02/17 15:40:41
>>585
String.Replaceでなく、Regex.Replaceを使えば一度に変換できる
589:デフォルトの名無しさん
09/02/17 15:42:28
>>586
string.Format
590:デフォルトの名無しさん
09/02/17 15:43:33
>>588
調べてみます。ありがとうございましたー
591:586
09/02/17 15:58:27
レスサンクスです。
>>587
最悪その方法もありかなと考えているのですが・・・
>>589
型式指定子などヘルプ参考に使って試してみたんですが・・・
うまいこと行きませんでした…orz
型式指定子の横に数値をつければうまくはいくのですが、その横の数値に当たる部分が動的なため決められないのです。
(といっても結局Doubleの上限下限までではありますが・・・)
592:デフォルトの名無しさん
09/02/17 16:31:12
string型の変数で絶対パスを指定してプログラムで背景を変えたいのですが、どのように記述すればよいでしょうか?
参考ページが見つからず困っています。
593:デフォルトの名無しさん
09/02/17 16:32:39
>>592
背景って何だ?
594:デフォルトの名無しさん
09/02/17 16:40:23
BackGroundImageの事とかじゃね?
Formの背景とか??
595:デフォルトの名無しさん
09/02/17 16:41:03
datTable.Columns.Add("dat1", GetType(Int32));
のGetType(Int32)の箇所でコンパイルエラー('int' は '型' ですが、
'変数' のように使用されています)が出てしまいます。
構文が間違ってるでしょうか?
すみませんが、ご教授ください。
596:デフォルトの名無しさん
09/02/17 16:41:09
>>593
BackgroundImageのことです。
普段はフォームのほうでフォルダを指定して画像を指定していたのですが、
月ごとに画像を自動で変えるためプログラム内で処理しようかと思いまして。
597:デフォルトの名無しさん
09/02/17 16:43:47
>>596
BackgroundImage = new Bitmap(xxx);
598:デフォルトの名無しさん
09/02/17 16:48:15
string[] data= new string[12];
for (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] );
こんなイメージなの・・・か?
599:デフォルトの名無しさん
09/02/17 16:49:38
全部ロードする必要なくないw
600:デフォルトの名無しさん
09/02/17 16:50:43
>>595
その場合、""でくくるかtypeof使うんじゃないの?
601:デフォルトの名無しさん
09/02/17 16:53:50
>>599
い・・・いらないねw orz
602:592
09/02/17 16:58:25
>>597さんのソースで無事表示できました。
皆さんありがとうございます。
603:デフォルトの名無しさん
09/02/17 17:01:07
>>600
レスどうも。
たしかに、Type.GetType("System.Int32")と書くとうまく行くんですが、
URLリンク(www.atmarkit.co.jp)
このページで、GetType演算子(URLリンク(msdn.microsoft.com)(VS.80).aspx)
を使う方がよいとあったのもので。書式はあってると思うんですが。
604:デフォルトの名無しさん
09/02/17 17:06:08
>>603
お前は何を言っているんだ・・・
605:デフォルトの名無しさん
09/02/17 17:07:58
それはVBの話で、C#での対応する演算子はtypofです。
Type.GetType(ほにゃらら)ってメソッドの書式でしょ?
あるいは、Int32.GetType()でも可、かな?
606:デフォルトの名無しさん
09/02/17 17:10:19
>C#での対応する演算子はtypofです。
typoだな
607:デフォルトの名無しさん
09/02/17 17:10:38
('A`)ワロス
608:デフォルトの名無しさん
09/02/17 17:12:03
>>604
すみませんw
Type.GetTypeメソッドとGetType演算子は別物ですよね。
んで、前者を使って文字列で型を指定するとうまく行くのですが、
後者をGetType(Int32)のように書いてもうまく行かなかった。という状況です。
ちなみに、>>600さんのご指摘通り、typeof(int)でうまくいきました。
ありがとうございました。
609:デフォルトの名無しさん
09/02/17 17:14:03
>>605
('A`)
VBでしたね。すいません。ありがとう。
610:605
09/02/17 17:22:58
まさにtypoだな。って何で俺が落ちをつけにゃならん。
611:デフォルトの名無しさん
09/02/17 17:25:02
>>584
早速ありがとうございます。
c:/photo/20080317eventname/photo.jpg
c:/photo/20080310eventname/photo.jpg
c:/photo/20080304eventname/photo.jpg
c:/photo/20080303eventname/photo.jpg
の行を抜き出したいのです。
そのためには、どう絞り込めばよいでしょう?
612:デフォルトの名無しさん
09/02/17 17:27:18
めんどくせえ
Regex.Match(path,"200803[0-9]{2}").Success
がTrueになるやつ
613:デフォルトの名無しさん
09/02/17 17:32:32
フォームの背景でなくて、デスクトップの背景だったら?
614:デフォルトの名無しさん
09/02/17 17:35:25
>>613
Win32APIのSystemParametersInfo使うだけじゃない?
615:580
09/02/17 18:15:57
using System;
using System.Net;
class Test
{
public static void Main()
{
for (int i=0;i<10;i++) {
String url = "URLリンク(pc11.2ch.net)";
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のサーバーの設定の問題でしょうか?
616:デフォルトの名無しさん
09/02/17 18:35:41
XmlSerializer.Deserialize で、<Version>1.003</Version> をデシリアライズして
あるクラスの Verion クラスのプロパティに入れたいと思っているのですが、
0.0 というバージョンが格納されてしまいます。
Version クラスはデシリアライズできないのでしょうか?
617:デフォルトの名無しさん
09/02/17 18:39:01
>>615
サーバ関係ないみたいよ。
うちでも同じようになったし、自宅鯖に向けてもおなじ。
3回目のリクエスト自体来ていない。
618:617
09/02/17 18:44:19
たぶん同時接続数の制限が別のとこにあるんだと思うよ。
ちゃんと終了処理すればいいんじゃないかな。
ためしに毎回Abortしたら止まらなくなった
619:デフォルトの名無しさん
09/02/17 18:46:58
>>615
HttpWebRequest..::.GetResponse メソッドの説明
Close メソッドを呼び出して、ストリームを閉じて接続を解放する必要があります。
この操作を行わないと、アプリケーションで接続が不足することがあります。
620:デフォルトの名無しさん
09/02/17 19:08:55
>>617
>>619
どうもありがとうございます。
リクエストのAbort()、レスポンスのClose()
どちらかを使えば、上手く動作するようになりました。
あと、デフォルトで2になっていた同時接続数の制限は
System.Net.ServicePointManager.DefaultConnectionLimitの
値を変えることで取り除くことができました