C#, C♯, C#相談室 Part60
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2010/06/27(日) 03:17:20前スレ
C#, C♯, C#相談室 Part59
http://pc12.2ch.net/test/read.cgi/tech/1274019232/
Visual C# 2010 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>1-5くらい
0002デフォルトの名無しさん
2010/06/27(日) 03:35:51テキストボックスの入力に対して、例えば、半角英数字だけしか入力できないようにするとか、
そう言う事ってできないのでしょうか?
一応IMEモードプロパティを設定すれば、最初のモードを設定できるのは知ってますが、
ユーザーにより勝手に変えられないようにするとかってできないのでしょうか?
知ってる方いらしましたらお願いします。
それと、テキストボックスって高さは変えられないのでしょうか?
これもお願いします。
0003デフォルトの名無しさん
2010/06/27(日) 06:57:57他の人に聞いてください
0004デフォルトの名無しさん
2010/06/27(日) 08:10:28keypressイベントで英数半角以外ははじけばいい
0005デフォルトの名無しさん
2010/06/27(日) 09:47:50TextBoxに数字しか入力できないようにする: .NET Tips: C#, VB.NET, Visual Studio
ttp://dobon.net/vb/dotnet/control/numerictextbox.html
0006デフォルトの名無しさん
2010/06/27(日) 11:14:38使ってる奴どうしてんの?
0007デフォルトの名無しさん
2010/06/27(日) 11:17:550008デフォルトの名無しさん
2010/06/27(日) 13:04:53普通に{ 〜 }とコメントで十分だと思うんだが、どうかな?
0009デフォルトの名無しさん
2010/06/27(日) 13:12:420010デフォルトの名無しさん
2010/06/27(日) 13:55:360011デフォルトの名無しさん
2010/06/27(日) 16:23:24自分が気に入らなけりゃ理屈も無しに「ためのもの」とか勝手に決めつけ。
ソースを出せ。ソースを。
0012デフォルトの名無しさん
2010/06/27(日) 16:27:02>>8の方法だとソースの検索かけるにしてもちょっと使いにくいかなあ
こまめにたたみたい場合はregionはかなりいいよ
0013デフォルトの名無しさん
2010/06/27(日) 17:42:04その時点で少なくとも>>9はありえない。(だから既に#regionの意義は無くなったのだ、
というのなら一応筋は通るけど)
まあこういうのは「プリンの味」みたいなものだから自分で試してない奴を
言葉で納得させるのは難しいものはある。
俺はいろいろregionの使い方を試してみたほうだと思うけど、
その上でメソッド内のregionだけは絶対にありえないと思うわw
まあそもそもそんな誘惑に駆られるようなメソッドが存在すること自体が間違いなんだけど。
0014デフォルトの名無しさん
2010/06/27(日) 17:47:370015デフォルトの名無しさん
2010/06/27(日) 18:01:44ところで、もうしませんと言いつつ、未練たらしく改造していたんで投稿。
Wmiユーティリティ。(ちょっとメンバ名とか変えちゃった)
http://ideone.com/UxSsW
DiskDrive と LogicalDisk の関連を列挙。(そのPNPDeviceIDを一覧)
http://ideone.com/dXpzv
NetworkAdapterと NetworkAdapterConfiguration の関連を列挙。(そのIPAddressを一覧)
http://ideone.com/srCTX
0016デフォルトの名無しさん
2010/06/27(日) 18:24:36regionはいろいろ試した結果、regionを畳んで選択して削除が一番便利だった。
バグってるいらないコードが一気に消せて便利だよ。
regionってうじゃうじゃ出てくるとバグってるソースを書き直していらないソースを削ってると
endregionと対応してないってエラーになるから修正するときに邪魔で仕方がない。
バグってるようなソースに限って恐ろしい勢いでregionがネストしてるんだよなぁ。
0017デフォルトの名無しさん
2010/06/27(日) 21:38:34regionのネストに捕まると腹が立つよなw
0018デフォルトの名無しさん
2010/06/27(日) 22:12:58書いてる奴等もわからねーだろと思うんだけど.netでハンガリアン全開なんでなんともかんとも
0019デフォルトの名無しさん
2010/06/27(日) 22:54:04http://local.joelonsoftware.com/mediawiki/index.php/%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AF%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E8%A6%8B%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B
これを読んで、『正しく使うならば』超便利と知ったよ。
0020デフォルトの名無しさん
2010/06/27(日) 23:13:18揚げ足取りみたいですまんが、アプリケーションハンガリアンを否定する人にはあまり出会ったことがない。
いなくはないけど。
0021デフォルトの名無しさん
2010/06/28(月) 00:02:160022デフォルトの名無しさん
2010/06/28(月) 00:13:48間違っているのに正しく見えるとかいう状況になるから頼りたくないという人は
いた。
一理ある気もするし、まあ強制したりされたりしなけりゃいいんじゃないかな。
0023デフォルトの名無しさん
2010/06/28(月) 03:25:330024デフォルトの名無しさん
2010/06/28(月) 03:44:250025デフォルトの名無しさん
2010/06/28(月) 06:24:060026デフォルトの名無しさん
2010/06/28(月) 08:18:15int に i、double に x とかと同じノリなら、付けるけども。
あんまり深い意味ないから p。
まあ、ポインターって、「x のポインター」以上の意味を持たない変数になること多いし、
「深い意味なく p」にならざる負えないこと多い気もする。
0027デフォルトの名無しさん
2010/06/28(月) 09:12:270028デフォルトの名無しさん
2010/06/28(月) 11:07:14class A がありまして、
AはSetStat(string s) というメソッドを持って居るとして
このAのインスタンスを複数作るメソッドを別に持ちたいのですが、
どうしたらいいのか迷っています。
ちなみにAのインスタンスはins_a[] としてグローバルに宣言されている形にしたいです。
まとめると
class A
{
string str;
SetStat(string s)
{
str = s;
}
}
class B
{
A[] ins_a;
private A[] MakeSomeA(string s)
}
0029デフォルトの名無しさん
2010/06/28(月) 11:10:02{
string str;
public A(string s)
{
SetStat(s);
}
SetStat(string s)
{
str = s;
}
}
class B
{
A[] ins_a;
private A[] MakeSomeA(string s)
{
for(int i =0;i<100;i++)
{
ins_a[i] = new A(s);
}
return ins_a;
}
}
みたいな^^;わかりにくくてすみません。およろしくお願いします。
あと連投すみませんでした、ミスです><;
0030デフォルトの名無しさん
2010/06/28(月) 11:23:120031デフォルトの名無しさん
2010/06/28(月) 11:39:27namespace ConsoleApplication1
{
class Program {
static void Main(string[] args) {
B b = new B(10);
A[] a = b.MakeSomeA("TEST");
foreach(A it in a)
Console.WriteLine(it.str);
}
}
class A {
public string str;
public A(string s) {
str = s;
}
}
class B {
public A[] ins_a;
public int num;
public B(int x) {
num = x;
ins_a = new A[num];
}
public A[] MakeSomeA(string s) {
for (int i = 0; i < num; i++)
ins_a[i] = new A(s);
return ins_a;
}
}
}
0032デフォルトの名無しさん
2010/06/28(月) 11:50:41同一人物でしょうか?
>>31さんおかげ様で解決しました!
なるほどコンストラクタでインスタンスの必要個数を設定するんですね!
わかりやすい例をありがとうございました〜
0033デフォルトの名無しさん
2010/06/28(月) 14:00:36単品のpじゃなくて接頭語としてのpでしょ
int Hoge;にたいしてのint* pHoge;
>>24
変数の型がすぐわかる位置で宣言されてようがIDEの機能でポップアップしてすぐにわかるようになってようが
pがあることによって読み易くなるならそれに越したことないんじゃないか?
int型変数にintHogeと書くことと別次元だと思うが
0034デフォルトの名無しさん
2010/06/28(月) 14:57:49うん。そうだよ。
0035デフォルトの名無しさん
2010/06/28(月) 15:02:24予断が入るだけで決して読みやすくはないと個人的には思っている。
趣味の問題だな。
0036デフォルトの名無しさん
2010/06/28(月) 15:53:44ヘルプとかに「コントロールは所有するスレッドでのみ実行出来る」とあるけど、
これってバックグランドで予めコントロール生成して置けないってこと?
0037デフォルトの名無しさん
2010/06/28(月) 16:05:01バックグラウンドであらかじめとか考える必要はない、普通は
ちなみにこの場合new自体はコントロールの生成とは言わない
0038デフォルトの名無しさん
2010/06/28(月) 16:11:370039デフォルトの名無しさん
2010/06/28(月) 16:11:520040デフォルトの名無しさん
2010/06/28(月) 16:17:01最後の行が良く解らんのだけども
newするのはどのスレッドでも良くて、ルートFormに所有させる時だけはUIスレッドでなきゃダメとか、そう言う意味?
0041デフォルトの名無しさん
2010/06/28(月) 16:27:58ハンドルが作られたときのスレッドがそのコントロールが属するスレッド。
newやだけでもControls.Addやだけではハンドルは作られない。
でもハンドルがいつ作られるのかなんて制御は極めて困難(あるいは不可能)なので初めからUIスレッドで扱え。
0042デフォルトの名無しさん
2010/06/28(月) 16:41:02つまりハンドルが何時作られるかは誰も知らない知られちゃいけないと
逆に言うと、ハンドルを持たないListViewItemみたいなのは別スレッドで作っておk
そう言う話?
0043デフォルトの名無しさん
2010/06/28(月) 17:06:140044デフォルトの名無しさん
2010/06/28(月) 19:49:32確かにそれは正しい。実際、Controlのメンバであっても、ウィンドウハンドルの絡まないもの
(Tagとか)は別スレッドからアクセスしても問題ない。
でもその区別は難しいし面倒なので、UI関係は全部メインスレッドでやる、と決めといた方がいい。
0045デフォルトの名無しさん
2010/06/28(月) 22:21:51ttp://pc12.2ch.net/test/read.cgi/tech/1274019232/456
ttp://techbank.jp/Community/blogs/mymio/archive/2010/06/18/27234.aspx
ここまで完全に他人のせいにしてるのを見るといっそ清々しいぜw
0046デフォルトの名無しさん
2010/06/28(月) 22:34:36ポインター型の変数が、「xx のポインター」以上の意味を持たない場合が多いなら、
ponterOfXx、略して pxx というのはあながち悪い命名じゃないかもしれない。
システムハンガリアン的に、型名プレフィックスなんじゃなくて、
ちゃんと意味考えようとしたけど意味ねーや的意味での p。
0047デフォルトの名無しさん
2010/06/28(月) 22:53:55ポインタ…pXX
マネージオブジェクトのハンドル…gcXX
0048デフォルトの名無しさん
2010/06/28(月) 23:04:16要は、都合のいいコメント以外は削除するから投稿すんな!ってことだよな。
でも「著名人ならOK」とかわざわざ書いてあるところはさすがw。
0049デフォルトの名無しさん
2010/06/28(月) 23:17:17あの記事を放置するのは公開レイプだろ
0050デフォルトの名無しさん
2010/06/28(月) 23:50:07って結局何が言いたいのやら。
0051デフォルトの名無しさん
2010/06/28(月) 23:57:38それはともかくそろそろ板違いだ
0052デフォルトの名無しさん
2010/06/29(火) 00:08:590053デフォルトの名無しさん
2010/06/29(火) 00:13:23static public nor StaticFuctory() { return new nor(); }
}
class gen<T> where T : new() {
static public T StaticFuctory() { return new T(); }
}
class gen2<T, U, V> where T : new() where U : gen<T> where V : nor {
public gen2() {
nor n = V.StaticFactory();
var t = U.StaticFuctory();
}
}
とすると、E ならびに U の StaticFuctory() 呼び出しは
「'xx' は '型パラメーター' ですが、指定されたコンテキストでは有効ではありません」
となってしまいます。
ファクトリオブジェクトにしてしまえば解決するとは思いますが、型パラメータで指定
したクラスのstaticメソッドは呼び出せないという理解で正しいでしょうか?
0054デフォルトの名無しさん
2010/06/29(火) 00:20:410055デフォルトの名無しさん
2010/06/29(火) 00:41:52class nor_ih : nor {
static new public nor StaticFuctory() { return new nor_ih(); }
}
class gen_ih : gen<nor> {
static new public nor StaticFuctory() { return new nor_ih(); }
}
とか上書きして、
var n = nor.StaticFuctory();
var n_ih = nor_ih.StaticFuctory();
var g = gen<nor>.StaticFuctory();
var g_ih = gen_ih.StaticFuctory();
と呼び出したかった・・・
でも継承クラスを指定しても基底クラスのstaticメソッドが呼ばれますよね。
class nor {
static public nor StaticFuctory0() { return new nor(); }
static public nor StaticFuctory() { return new nor(); }
}
として StaticFuctory0 は上書きしないで、
var n_ih0 = nor_ih.StaticFuctory0();
とすると動きますから。
なんでダメなんだろう?素朴な疑問。
0056デフォルトの名無しさん
2010/06/29(火) 00:44:530057デフォルトの名無しさん
2010/06/29(火) 01:20:09C++のtemplateはあれ、マクロみたいなもん(コンパイル時に全部展開される)だからできるだけ。
それやると、実行ファイルサイズが肥大化するのよね。
C#のジェネリクスは、実行時にメソッド呼び出し解決するから、static なものは無理。
0058デフォルトの名無しさん
2010/06/29(火) 01:43:404.0 ですよ。
0059デフォルトの名無しさん
2010/06/29(火) 01:53:250060デフォルトの名無しさん
2010/06/29(火) 06:13:10これは・・・ ここまでのキチガイは久しぶりに見た。
0061デフォルトの名無しさん
2010/06/29(火) 08:40:584.0 の dynamic、別に何でもかんでも動的になったわけじゃないよ。
0062デフォルトの名無しさん
2010/06/29(火) 14:27:03MVP認定するとこに連絡してみたらどうなるんだろね
0063デフォルトの名無しさん
2010/06/29(火) 15:50:12DynamicMetaObjectを実装すれば
((dynamic)new TypeWrapper(typeof(T))).StaticFactory()
のようなことは可能
実行時のコード生成のルールを定義しないといけないから面倒だけど
静的呼び出しとそれほど変わらない速度が出る
DynamicObjectを継承すれば簡単だけど
このケースでは毎回リフレクションを使うことになるから遅い
0064デフォルトの名無しさん
2010/06/29(火) 17:31:15ニコニコ動画のように取得した時間に対して、
動画を再生するにはどのようにすればよいでしょうか?m(__)m
0065デフォルトの名無しさん
2010/06/29(火) 17:35:24状況がまったく伝わってきません
0066デフォルトの名無しさん
2010/06/29(火) 17:39:25要は動画をシークしたいって話じゃないのか…?
0067デフォルトの名無しさん
2010/06/29(火) 17:41:120068デフォルトの名無しさん
2010/06/29(火) 17:58:01MediaPlayer使うなら
axWindowsMediaPlayer1.Ctlcontrols.currentPosition
0069デフォルトの名無しさん
2010/06/29(火) 17:59:45ダウンロードすればいいんだろうけどシークバーの単位は時間だからなあ
頭から順次再生だとそれほど問題にはならないだろうけど
シークバーを動かして途中から再生の場合は指定した時間が
動画データのどの辺から始まるのかという情報を持ってないと厳しいかもね
あれってどうやってるんだろう
0070デフォルトの名無しさん
2010/06/29(火) 18:09:390071デフォルトの名無しさん
2010/06/29(火) 18:10:05言葉足らずですみません。
ありがとうございます!!
0072デフォルトの名無しさん
2010/06/29(火) 18:57:20サーバ「近くにキーフレームないから0から再生するしかないわ。」
シークバー「80/100の位置で再生したいです。よろしくお願いします。」
サーバ「0から(略」
こうですか。わかりません。
0074デフォルトの名無しさん
2010/06/29(火) 19:24:230075デフォルトの名無しさん
2010/06/29(火) 19:26:16そうなの?
こういうアプリは書いたことないのでわからん
0076デフォルトの名無しさん
2010/06/29(火) 19:30:41Microsoft.DirectX.AudioVideoPlaybackで字幕編集ソフトを作ってみたけど
そういう目的ならこれが一番楽かも
もちろんスクロールとかも自由自在
コーデックも勝手に読み込んでくれるし
単位はフレームで管理してるけど1秒あたり何フレームか計算すれば時間も分かる
計算式はソース見ないと忘れたので書かないから自分で調べてw
0077デフォルトの名無しさん
2010/06/29(火) 19:41:47http://www.microsoft.com/japan/communities/mvp/selfregistration.mspx
の最後に連絡先があるな。
0078デフォルトの名無しさん
2010/06/29(火) 19:51:26そして質問なのですが、現在HTTPのやりとりをするソフトをつくろうと思い、とりあえず普通のHPサーバからデータを受信しようと下記のコードを書きました。
しかしうまく動いてくれません。お力添えをお願いいたします。
System.Net.Sockets.TcpClient tcp = new System.Net.Sockets.TcpClient("192.168.24.86",80);
textBox1.Text = tcp.Connected.ToString() + "\n\n";
Byte[] data = ASCIIEncoding.ASCII.GetBytes("GET / HTTP/1.0");
System.Net.Sockets.NetworkStream nsr = tcp.GetStream();
nsr.Write(data, 0, data.Length);
data = new byte[512];
int datas = nsr.Read(data, 0, data.Length);
textBox1.Text += ASCIIEncoding.ASCII.GetString(data,0,datas);
をフォームロード時のイベントに書いているのですがnsr.Readの行で処理が止まってしまい先へ進みません。
接続はちゃんと出来ているようです。
サーバ192.168.24.84はブラウザからもアクセスできる普通のHPサーバです。
どこかおかしなところがございましたらよろしくお願い致します。
0079デフォルトの名無しさん
2010/06/29(火) 19:58:140080デフォルトの名無しさん
2010/06/29(火) 19:59:32サーバはリクエストの続きを待ってんじゃね?
0081デフォルトの名無しさん
2010/06/29(火) 20:06:41今って立候補できるようになったんだねぇ
0082デフォルトの名無しさん
2010/06/29(火) 20:12:14俺様コードはやめた方がいいよ
008378
2010/06/29(火) 20:14:04>>79
趣味ですので単に興味ですw
>>79,80
なるほど、リクエストは改行で閉じなければならないんですね。とても勉強になりました。
もう少しネットワーク勉強しないとダメですね。
しかし未だReadで止まってしまいます。接続するサーバもgoogleに変えてみたりしたのですがだめでした。
引き続きなにかあればよろしくお願い致します。
0084デフォルトの名無しさん
2010/06/29(火) 20:14:040085デフォルトの名無しさん
2010/06/29(火) 20:15:51なんでWeb鯖のログを見ないんだ?あとパケットモニタ。
んで、なんでそんな怪しい道具を外部公開サーバに対して使っちゃうの?
0086デフォルトの名無しさん
2010/06/29(火) 20:18:26使いこなされているやつは方言や最初の規格に合わないやつにも対応出来る。
0087デフォルトの名無しさん
2010/06/29(火) 20:26:45HTTPサーバはクライアントが切断するまで切断しないのが仕様だから
ちゃんとContent-Lengthヘッダを読んで正確に指定されたバイト数を受信したら
切断しないといけません
0088デフォルトの名無しさん
2010/06/29(火) 20:29:310089デフォルトの名無しさん
2010/06/29(火) 20:30:51細かい制御が出来ないから
0090デフォルトの名無しさん
2010/06/29(火) 20:31:12それかサーバにConnection: Closeヘッダを渡して閉じさせるかしかないです
デフォルトでConnection: KeepAliveなわけです
本気でまともに動くクライアントを作るにはそこまで考えないといけません
0091デフォルトの名無しさん
2010/06/29(火) 20:31:14趣味で興味もかまわんが他所様のhttpdで実験するなよな
そういうのは言語、技術、規格などなどを熟知した人間が手を出すもんだ
0092デフォルトの名無しさん
2010/06/29(火) 20:32:36009378
2010/06/29(火) 20:32:55エンコードをASCIIではなくUTF8にすることによって解決いたしました。
ありがとうございました。
HttpWebRequestというのも初めて知ったんですが普段使うにはこちらのほうが便利ですね。そうすることにします。
0094デフォルトの名無しさん
2010/06/29(火) 20:35:24こんなんあった。DataArrived とかチェックしないといけないんかね。
0095デフォルトの名無しさん
2010/06/29(火) 22:38:22あくまでサンプルとして
http://ideone.com/phG7O
0096デフォルトの名無しさん
2010/06/29(火) 23:09:500097デフォルトの名無しさん
2010/06/30(水) 01:07:09よくわからないんだが、結局何がしたいコードなの?
0098デフォルトの名無しさん
2010/06/30(水) 01:27:30手段のために目的があるんだ。
0099デフォルトの名無しさん
2010/06/30(水) 02:30:27フォームが最小化するプログラムを書こうとしています。
Form.Deactivateイベントを使うと簡単に行えるのですが、
propertyGridのドラッグダウンメニュー等
フォームから出来たコントロールでフォーカスを失った場合でさえ最小化してしまいます。
何か良いアイディアがありましたらご教授ください。よろしくおねがいします。
0100デフォルトの名無しさん
2010/06/30(水) 02:59:450101デフォルトの名無しさん
2010/06/30(水) 03:13:41条件としては、メインのフォームから作成される、
どのフォームにでもフォーカスがある限り最小化したくないと言う条件です。
デスクトップをクリックする、他のアプリケーションを開く等、
このプログラムに関係の無い場所にフォーカスが移った場合のみ最小化して欲しいのです。
0102デフォルトの名無しさん
2010/06/30(水) 03:34:37ただ、Form.Deactivateがイベントとして発動した時点で、
Activeなフォームが無いのでnullが返されてしまいます。
0103デフォルトの名無しさん
2010/06/30(水) 11:09:020104デフォルトの名無しさん
2010/06/30(水) 21:46:48ありがとうございます。
DynamicMetaObject って MethodInfo の Invoke() の発展形というか、ものすごく
なんでもアリな技術っぽいですね。
動的にメタ情報を扱うから、リフレクションと同じで当然ですが、nor から StaticFactory
の定義をコメントアウトしてもコンパイルは通っちゃうという。
System.Dynamic を使う場合、単体テストの重要性が極めて大きくなってきますね。
0105デフォルトの名無しさん
2010/06/30(水) 22:16:36DynamicMetaObjectっていうのはdynamicなオブジェクトに対する「操作」を実行時に解釈して
具体的なILを生成するルールを定義する型。いわば小さいコンパイラみたいなもん。
0106デフォルトの名無しさん
2010/06/30(水) 23:04:51競走馬X頭分のタイムの平均を求めたいのですが、どうすればいいのでしょうか?
わからないのは、時間の足し算と割り算です。
x頭ではわかりにくいので、仮に3頭がこのタイムで走ったという設定にしておきます。
馬A 1:33:6(1分33秒6)
馬B 1:35:2
馬C 1:36:9
なおタイムのミリ秒のところは1ケタです。つまり1分33秒6の次に大きいのは1分33秒7になります。
一応1万頭のような大量の頭数にも対応できるようにお願いします。
0107デフォルトの名無しさん
2010/06/30(水) 23:07:10お前さんがやるには時間を0.1秒単位に変換して平均出すのがいいんじゃね
0108デフォルトの名無しさん
2010/06/30(水) 23:11:39を足して、割って後で戻す
0109デフォルトの名無しさん
2010/06/30(水) 23:19:570110デフォルトの名無しさん
2010/06/30(水) 23:36:56最後に平均を求めるのに割り算が必要になりますが・・・
0111デフォルトの名無しさん
2010/06/30(水) 23:39:590112デフォルトの名無しさん
2010/07/01(木) 00:17:24たとえば
1 1分33秒6は1336とみなす
2 計算する(どんどん足して、最後に割る)
3 出た数字が1655なら、1分65秒5とみなし、さらに2分5秒5に修正
0113デフォルトの名無しさん
2010/07/01(木) 00:19:390114デフォルトの名無しさん
2010/07/01(木) 00:22:110115デフォルトの名無しさん
2010/07/01(木) 00:26:28これは競馬での表記の話ね
0116デフォルトの名無しさん
2010/07/01(木) 00:27:38マジで小学校からやり直せ。
0117デフォルトの名無しさん
2010/07/01(木) 00:35:470118デフォルトの名無しさん
2010/07/01(木) 00:39:18つまりこういうことだね
(1分+30秒+30秒)/3=(1000+300+300)/3=1600/3=53.3秒
あってるかな? とけいをみてかんがえてみようね
0119デフォルトの名無しさん
2010/07/01(木) 00:56:380120デフォルトの名無しさん
2010/07/01(木) 01:02:06108の*10はそういう意味でしょ
0121デフォルトの名無しさん
2010/07/01(木) 01:02:121分が60秒ってことを知らないレベルじゃどうしようもない。
0122デフォルトの名無しさん
2010/07/01(木) 01:05:240123デフォルトの名無しさん
2010/07/01(木) 01:09:14DateTime じゃなくて TimeSpan だろ
そしてこいつの Parse を見てみれ
ttp://msdn.microsoft.com/ja-jp/library/se73z7b9(v=VS.80).aspx
これがまぁ普通の書き方。
んで競馬はちょっと知らないのでぐぐって見た
ttp://www.jra.go.jp/datafile/seiseki/g1/takara/result/takara2010.html
…やっぱり秒/ミリ秒区切りの記号間違ってねぇ? >>106
まぁ TimeSpan 使っても Ticks 足して割るのは一緒なので
横道だが
0124デフォルトの名無しさん
2010/07/01(木) 01:16:28: じゃなくて . だろってことか。
0125デフォルトの名無しさん
2010/07/01(木) 02:01:01デシ秒 or 秒の小数部
0127デフォルトの名無しさん
2010/07/01(木) 07:02:39うざい書き込みはいらないから
0128デフォルトの名無しさん
2010/07/01(木) 07:56:410129デフォルトの名無しさん
2010/07/01(木) 10:26:19TextBoxクラスに入力した文字を7色に変える
メソッドRainbow()を作りたいなーと思った時に
TextBoxクラスを継承したMyTextBoxクラスを作って
そこにRainbow()を作ろう思ったのですが
それをフォーム上のTextBoxに適用するにはどうすればいいんですかね?
というかそもそもこういう考え方で問題ないんでしょうか?
ちなみにC#2008なんですけど、教えてもらえないですかー?
0130デフォルトの名無しさん
2010/07/01(木) 10:40:49加えて教えていただきたい事がありまして
private void A( str hoge, int hage){
AA(str);
BB(int);
CC(str,int);
DD();
}
っていう処理があったとして
ここでは省略しますが、この中身がSelectで分けられて微妙に処理が変わると言った場合
メソッドAと同じ引数を持つ
private void B(str hoge,int hage){
AA(str);
BB(int);
CC(str,int);
DD();
}
を作って
次レスに続く
0131デフォルトの名無しさん
2010/07/01(木) 10:43:47switch int{
case 1:
hoge = "xxx";
B(hoge,hage)
case2:
hage = 5
B(hoge,hage);
}
とか言う記述にする事について皆さんどう思われますでしょうか。
ご意見お願いします。
0132デフォルトの名無しさん
2010/07/01(木) 11:07:080133デフォルトの名無しさん
2010/07/01(木) 11:17:23そんなの好きにすればいいじゃん
0134デフォルトの名無しさん
2010/07/01(木) 11:19:18MyTextBoxをフォームに貼ればいいだろ
0135デフォルトの名無しさん
2010/07/01(木) 11:22:45A:93.6
B:95.2
C:96.9
(A + B + C) / 3 = 285.7 / 3
=95.2
=1分35秒2
0136>>129
2010/07/01(木) 11:34:42好きにしたらいいんですよね(^ω^;
ああいう書き方は設計上好ましくなかったりするのかなーと。
それと>>129のしつもんなんですけど
>>134さんの言うようにフォームに貼りたいんですけど
その方法がわからなくて・・・。
試しにTextBoxを継承した奴をコードに書き加えたら
継承したフォームがツールボックスに出てくるのかなーとかも思ったんですけど
そうでもなさそうですし・・・。
教えていただけないですか><;
0137デフォルトの名無しさん
2010/07/01(木) 12:52:10すっきりした
0138デフォルトの名無しさん
2010/07/01(木) 13:04:05googleでユーザコントロールとかカスタムコントロールとかで検索すれば・・・
0139デフォルトの名無しさん
2010/07/01(木) 13:07:290140デフォルトの名無しさん
2010/07/01(木) 13:21:25ありがとうございます。
さっそくやってみます。
0141デフォルトの名無しさん
2010/07/01(木) 13:38:23うむ
0142140
2010/07/01(木) 13:59:230143140
2010/07/01(木) 14:03:270144デフォルトの名無しさん
2010/07/01(木) 14:06:27なんでそこを自演する必要がw
0146デフォルトの名無しさん
2010/07/01(木) 18:48:09120も112も自分です。>>108のやり方を参考にさせてもらいます。どうもありがとう。
あと途中レベルが低すぎて申しわけない
0147デフォルトの名無しさん
2010/07/01(木) 20:23:30状況によってパラメータを変更したいってこと?
もともとのAを読んでいる部分にそのswitchを置けばいいと思うけど、
その処理自体が多くでてくるのかな。
なんか変なにおいがするのでもっと引いた視点で見直してみるといいかも。
0148デフォルトの名無しさん
2010/07/02(金) 10:09:080149デフォルトの名無しさん
2010/07/02(金) 14:45:42http://www.youtube.com/watch?v=fzza-ZbEY70
あほすぎw
0150デフォルトの名無しさん
2010/07/02(金) 17:34:45動作には.NET Framework 2.0以降が必要。
ttp://www.forest.impress.co.jp/docs/serial/okiniiri/20100630_377657.html
上記ソフトはこの人の作品か?
http://pc12.2ch.net/test/read.cgi/tech/1274019232/284
0151デフォルトの名無しさん
2010/07/02(金) 18:52:32デザイナでボタンを一個ずつ配置して
それぞれにイベントハンドラしかけてそう
0152デフォルトの名無しさん
2010/07/02(金) 19:11:50フリーウェアか……作ろうとしたこともあったがアイデアがないな
0153デフォルトの名無しさん
2010/07/02(金) 19:37:55だーけーど仕事で複数人で作業してる時、
不変クラス作れつったのに要求を満たしてなかったり
コンストラクタに10個以上も引数を連ねる奴は解雇されればいいと思うの
0154デフォルトの名無しさん
2010/07/02(金) 19:41:41普通、書店とかである在庫検索なんかはひらがなの並びは左から右だけど・・・。
0155デフォルトの名無しさん
2010/07/02(金) 20:25:39ん?そうかな。あ行で始まり右から左に並んでると思ったけどなー
0156デフォルトの名無しさん
2010/07/02(金) 20:44:190157デフォルトの名無しさん
2010/07/02(金) 21:18:13見てみたいなそのソース
自分の仕事では勘弁願いたいがw
0158デフォルトの名無しさん
2010/07/02(金) 22:29:35趣味ならそれでOK。
仕事なら限られた時艱の中で最高の答えを探すべき。
0159デフォルトの名無しさん
2010/07/02(金) 22:42:33その時代の直面している艱難。当面する難題。
難しい言葉知ってるな
0160デフォルトの名無しさん
2010/07/02(金) 23:44:38みたいな例も無くもない。
0161デフォルトの名無しさん
2010/07/02(金) 23:58:040162デフォルトの名無しさん
2010/07/03(土) 00:11:040163デフォルトの名無しさん
2010/07/03(土) 01:30:11おいおいおいまたこのページのコメントも全部消えたぞ。
まあ他人のコメントに対しての本人の回答コメントが消えたんだが。
こいつはいったい他人とのコミュニケーションをなんだと思ってんだよ…
0164デフォルトの名無しさん
2010/07/03(土) 01:38:01またその辺におそらく何様だとかどういう態度だとかそういう突っ込みコメントされて逃げたのかな。
コメント非承認で書き込まれたのが表示されない分、逆に殺到した可能性もあるかもな。
0165デフォルトの名無しさん
2010/07/03(土) 09:55:29さすがにちょっとイラっときた…
0166デフォルトの名無しさん
2010/07/03(土) 10:01:07「当Blogのコメント投稿について」のルールで不明なところの確認の質問だったんだぜ。
もうこの人はまともにコミュニケーションをとるつもりなどないとあきらめたわ。
スレ違いすまん、ちょっと書きたくなった。
0167デフォルトの名無しさん
2010/07/03(土) 12:02:400168デフォルトの名無しさん
2010/07/03(土) 13:21:10君たち、その批判的視線を少しは自分にも向けたらどうなの。
端的にいってそうとう「気色の悪い」人間だと思うぞ君らはw
いつも不思議なんだが、こういう奴らってよくそういう薄気味悪い自分に耐えられるよな。
0169デフォルトの名無しさん
2010/07/03(土) 13:31:010170デフォルトの名無しさん
2010/07/03(土) 14:20:27PasswordBoxがバインド出来ないから凄くめんどくさい…
0171デフォルトの名無しさん
2010/07/03(土) 15:20:350172デフォルトの名無しさん
2010/07/03(土) 15:26:27ならこれどーすんの?
バインド出来なければMVVMにならないじゃん…
0173デフォルトの名無しさん
2010/07/03(土) 16:00:400174デフォルトの名無しさん
2010/07/03(土) 17:40:06DLLインジェクションを使えばいけそうなのはわかったんだが…
0175デフォルトの名無しさん
2010/07/03(土) 17:43:270176デフォルトの名無しさん
2010/07/03(土) 18:08:15なんだこの厨房丸出しの質問は
C#で作られたDLLってネイティブコードで動いているプロセスにそのまま注入できるのか?それなら普通のセオリー通りにやればいいんじゃね。
0177デフォルトの名無しさん
2010/07/03(土) 19:07:20時間がないなら2chみてんじゃねーw
>>176
具体的な手順頼む。
ネットで調べたらDLLインジェクション自体はサンプルが落ちててできそうなんだ
だが、exeのプロセス隠蔽とDLLインジェクションが自分の中でうまく繋がらなくて
0178デフォルトの名無しさん
2010/07/03(土) 19:27:10DLLインジェクションというのは、他のプロセスにDLLをインジェクション(注入)して、そのDLLを実行させるというだけの技術。
実行されているDLLはWindows標準のタスクマネージャーには表れないから、DLLを注入して他のプロセスに実行させることで、結果的にプロセスを隠蔽しているようになるというだけの話。
0179デフォルトの名無しさん
2010/07/03(土) 19:28:13バインドはMVVMには必須じゃない。普通にイベントハンドラで書け。
MVVMのキモはViewModelがViewに依存しないことであって
それさえ守られてればViewのコードビハインド書いても問題はない。
0180デフォルトの名無しさん
2010/07/03(土) 19:30:56レスサンクス
explorer.exeにAというDLLを注入した場合、A.dllで何か処理を書かないといけないと思うんだが
普通のexeみたいに何か処理をするdllを作成するのってできるの?
0181デフォルトの名無しさん
2010/07/03(土) 19:35:00依存しないからこそViewModelの差し替えでViewの挙動を容易に変える事ができるんだよね?
イベントハンドラでデータを操作する内容をViewに書いたらMVVMの形式が崩れてしまうし
ViewのハンドラからViewModelに橋渡しするとなるとDataContextの差し替えだけではすまなくなり容易性が失われる(Viewの内容を知っていないといけない)
イベントハンドラ書いたらMVVMじゃ無くなりまするですよ…
0182デフォルトの名無しさん
2010/07/03(土) 19:36:32> 普通のexeみたいに何か処理をするdllを作成するのってできるの?
でなきゃDLLが存在する意味がないだろ。
0183デフォルトの名無しさん
2010/07/03(土) 19:38:48C#でクラスライブラリを作ったりするとdllで出力されるのはわかるんだが
dll単体で処理を行うのは無理じゃ?
0184デフォルトの名無しさん
2010/07/03(土) 19:42:320185デフォルトの名無しさん
2010/07/03(土) 19:43:140186デフォルトの名無しさん
2010/07/03(土) 19:45:39いやそもそもViewModelの差し替えなんか不可能。
ViewModelはViewの抽象化だから、
ViewModelを差し替えるのは例えればクラスの基底クラスを差し替えるようなもの。
差し替えられるのはViewの方。Viewのテストが面倒だからViewModelで抽象化して
ViewModelを単体テストできるようにしましょうっていうアイデア。
0187デフォルトの名無しさん
2010/07/03(土) 19:55:02うそーん!
共通のWindowで共通のコントロール
ただしデータが微妙に違ってそれによる制約や検証が微妙に違うものが複数ある
そしてModelは同一又はプロパティ数が同一
こう言う事って結構あるよね?
んで
View(共通のコントロール)
ViewModel(検証とCommandによる操作、及びレガシーModelの包括)
で分けてViewModelを差し替える事で使い回ししてるよ
でもここで出てきたのがView配置のPasswordBoxちゃん
こいつがDependencyObjectじゃないとBindさせねぇ〜とか言っちゃう
んで、これをどうViewModeで吸収?してModelに渡すのかがググってもさっぱりわかんない
お手上げちゃーんなのです
0188デフォルトの名無しさん
2010/07/03(土) 19:56:41回答出来ないなら黙ってていいよ
0189デフォルトの名無しさん
2010/07/03(土) 19:58:490190デフォルトの名無しさん
2010/07/03(土) 20:03:59仕込みたいんだが、どうすればいい?
プロセス隠蔽ができないとタスクマネージャ開いてばれるかもしれんし。
0191デフォルトの名無しさん
2010/07/03(土) 20:08:04そんな方法はない。
仮にあったとして、そんなセキュリティーホールが放置されてると思うか?
0192デフォルトの名無しさん
2010/07/03(土) 20:09:30仕込むの自体は手動でやるからいいんだが、
プロセスの隠蔽は普通にできるだろ?
0193デフォルトの名無しさん
2010/07/03(土) 20:11:03タスクマネージャのタスク一覧を直接弄って消すのは10年前のウィルスですらやってる事
今はサービス、他社のタスク一覧まで消す奴もある
0194デフォルトの名無しさん
2010/07/03(土) 20:11:450195デフォルトの名無しさん
2010/07/03(土) 20:17:16おまい、天才だな・・
サンクス
0196デフォルトの名無しさん
2010/07/03(土) 20:18:25そいつの心臓が弱くていきなり出たメッセージに驚いてポックリ逝ったら責任とれるのか?あ?
0197デフォルトの名無しさん
2010/07/03(土) 20:18:51本人に直接言え。
0198デフォルトの名無しさん
2010/07/03(土) 20:19:09スキルのねぇカスはひっこんでろ
0199デフォルトの名無しさん
2010/07/03(土) 20:20:330201デフォルトの名無しさん
2010/07/03(土) 20:23:20確かにタスクスケジューラなんてまず使わないけどな。
俺に言えるのは、100%確実な方法はないってことだな。
パソコンの操作を全部記録するようなソフトを入れてないとも限らないし。
0202デフォルトの名無しさん
2010/07/03(土) 20:25:29普通、タスクスケジューラなんて使わないよな?
ちょっと不安になってきたw
操作を記録するソフト入ってたら無理だなw
0203デフォルトの名無しさん
2010/07/03(土) 20:28:44スタートアップに置いといてもばれないんじゃね?
0204デフォルトの名無しさん
2010/07/03(土) 20:31:04誕生日に起動した時だけダイアログを出して他のタイミングは即座に終了して消えるようにする。
0205デフォルトの名無しさん
2010/07/03(土) 20:33:250206デフォルトの名無しさん
2010/07/03(土) 20:34:350207デフォルトの名無しさん
2010/07/03(土) 20:35:44事実は事実
0208デフォルトの名無しさん
2010/07/03(土) 20:43:33誕生日はお前以外の相手と一日中デートしててPCを起動しない可能性は?
カーチャンとかだったらごめん
0209デフォルトの名無しさん
2010/07/03(土) 20:51:35そりゃMVVMじゃなくて君が開発した別のパターンだ。
MVVMに関するMSの記事のどこを見てもそんなことは書いてない。
もちろんWPFはそのパターンを公式にはサポートしてない。頑張るのは君だ。
0210デフォルトの名無しさん
2010/07/03(土) 21:00:56えー
だってMVVMのパターンの概要を見るとViewとViewModelの分離の事は書かれてるよね
この疎結合の副作用を利用して差し替えをしてるだけであって完全マイルールってわけじゃないよー
それにイベントハンドラを書くのは結合度の観点からも勧められないと著名人達は口を揃えて言ってるよん
誰かAdorner何かを使ってTextBoxをマスク処理してるコードを格好良くみせてくれないかなーとか期待してたんだけど無理かなぁ
0211デフォルトの名無しさん
2010/07/03(土) 23:16:45仲介してもらうとかできない?
0212デフォルトの名無しさん
2010/07/03(土) 23:20:00ググるとそのやり方をやってる風なコメントがあるよねー
んー、やっぱりその方法がいいのかな
と言う前に、やってみるか!
0213デフォルトの名無しさん
2010/07/03(土) 23:45:58うむ。そうするのじゃ
0214デフォルトの名無しさん
2010/07/04(日) 00:08:00UserControl作ったって同じことでしょ
0215デフォルトの名無しさん
2010/07/04(日) 00:09:260216デフォルトの名無しさん
2010/07/04(日) 00:10:070217デフォルトの名無しさん
2010/07/04(日) 00:13:290218デフォルトの名無しさん
2010/07/04(日) 00:54:11実際のバインディングの動作には全く関係ないけどね
公式サンプルのPrismはViewがViewModelをインターフェイス経由で露に参照してる
差し替えたりしてはいないけど、バインドするVMのメンバは基本的にインターフェイスに宣言されてる
0219デフォルトの名無しさん
2010/07/04(日) 01:04:25RegisterTypeでIDataService何かのサービスをレジストしたりするのはよくやるが
0220デフォルトの名無しさん
2010/07/04(日) 01:44:52認識してて、そうなるとインタフェース必須だと思ってるんだけど違うの?
0221デフォルトの名無しさん
2010/07/04(日) 02:07:06RoutedUICommand一つとってもViewModel側にstaticで定義しないと駄目なんだぞ?
0222デフォルトの名無しさん
2010/07/04(日) 02:08:56って意味で。
そういう感じで作ればXAML共通で、VMの実処理だけ差し替えられるよな?と。
0223デフォルトの名無しさん
2010/07/04(日) 02:10:110224デフォルトの名無しさん
2010/07/04(日) 02:22:57いくつかパターンがあるんで、それをアダプタ化して差し替え可能にしてるって
ことじゃね?>>187 は。
0225デフォルトの名無しさん
2010/07/04(日) 02:25:420226デフォルトの名無しさん
2010/07/04(日) 02:48:34そこでBクラスがAクラスで実体が作られたという事を知ることはできないでしょうか?
Bクラスのコンストラクタで作られたクラスを取得したいです。
引数にでもして入力すればいいとも思うのですが自動でとれたら便利だと思いました。お願いいたします。
0227デフォルトの名無しさん
2010/07/04(日) 02:49:200228デフォルトの名無しさん
2010/07/04(日) 02:54:04これ使ってObserverを使う
0229デフォルトの名無しさん
2010/07/04(日) 07:17:080230デフォルトの名無しさん
2010/07/04(日) 11:07:45A側にもB側にも特別なコードを追加せずにnewを検知しようと思ったら
ILのリライトしかないと思うけどそんなことやってくれるの?
0231デフォルトの名無しさん
2010/07/04(日) 12:07:23Rx 進めてる時点で、>>229 はそういうイベントコード書けって事だと思うけど。
ぶっちゃけ、それなら、class B に static な NewInstance イベントでも足して、
B のコンストラクターでイベント起こせせばいい気はする。
特別なコード足したくないならそれは無理。
0232デフォルトの名無しさん
2010/07/04(日) 12:46:38ただRx強力かつ難解なんで上級者でも中々手がない代物
複数人の開発じゃ手が出しにくい
0233デフォルトの名無しさん
2010/07/04(日) 12:47:31○ただRxは強力かつ難解なんで上級者でも中々手が出せない代物
0234デフォルトの名無しさん
2010/07/04(日) 12:58:47LINQ使ってDSLっぽくイベントハンドラを作ろうというやつだよね
そんなに難しいの?
0235デフォルトの名無しさん
2010/07/04(日) 13:10:36Rx が難しいっていうよりは、C# のイベント機能が簡単すぎる気もする。
あとは、やっぱドキュメント少ない。
0236デフォルトの名無しさん
2010/07/04(日) 13:22:00using System.Diagnostics;
namespace OnCreate {
class B {
static event Action<Object, EventArgs> Created;
public B() {
OnCreated(new EventArgs());
}
void OnCreated(EventArgs arg) {
if (Created!=null) {
Created(this, arg);
}
}
static void Main(string[] args) {
Created += CreateEventHandler;
B b = new B();
}
static void CreateEventHandler(Object obj, EventArgs arg) {
Console.Out.WriteLine(new StackTrace().ToString());
}
}
}
とか言ってみるテスト。スレッドセーフじゃないよなぁこれは。
0237デフォルトの名無しさん
2010/07/04(日) 13:24:37やっぱり非同期系は難しい
Rxよりはいるけど.Net4の並列系も使いこなしてる人がすくないよね
0238デフォルトの名無しさん
2010/07/04(日) 13:26:15C#じゃないけど、それとなく当てはめてみて
おまいらはどのレベルなの?
0239デフォルトの名無しさん
2010/07/04(日) 13:29:53レベル1とかのプログラミングの基礎知らなくても、
専門知識だけ持った人が専門知識を生かせるような簡単プログラミングの時代来ないとダメだ。
0240デフォルトの名無しさん
2010/07/04(日) 13:30:44同期スタイルなら { キーが押されるまで待機(); A(); キーが押されるまで待機(); B(); }と書けるところを
キーイベントを使った"非同期"スタイルだと状態を保持する変数を持たないといけなくて面倒だよねという話
0241デフォルトの名無しさん
2010/07/04(日) 13:32:31それで行けば専門家レベルだな
基準がぬるいよ
0242デフォルトの名無しさん
2010/07/04(日) 13:36:00その状態を保持しながら通知するから便利なんだろ?
簡単に言えばステートフルな非同期処理
だから強力なのさ
0243デフォルトの名無しさん
2010/07/04(日) 13:38:52これの初級レベルでここや初心者用で質問したら
ググれと言われて相手にされないだろwww
と思ったけど大学4年以上いっても初級レベルの奴がゴロゴロいるよな…
0244デフォルトの名無しさん
2010/07/04(日) 13:49:26void OnCreated(EventArgs arg) {
var created = Created;
if (created!=null) {
created(this, arg);
}
}
これでスレッドセーフ?
関係ないけどイベントハンドラ用のデリゲートを作りたくなかったらEventHandler<TEventArgs>
それと引数なしのEventArgsはEventArgs.Emptyを使う
0245デフォルトの名無しさん
2010/07/04(日) 13:51:38そのテクニックどっかでみたな?
どこだっけ?
0246デフォルトの名無しさん
2010/07/04(日) 13:59:09>スレッドセーフじゃないよなぁこれは。
0247デフォルトの名無しさん
2010/07/04(日) 14:07:55ロックはなしで
0248245
2010/07/04(日) 14:19:44MSDNだ、そうそうw
ttp://msdn.microsoft.com/ja-jp/library/ms173168%28VS.80%29.aspx
で、横からだけどスレッドセーフ
public event EventHandler<EventArgs> Created = (_, __) => {}
こいつはPropertyChangedなんかで使われるテクニックだわな
(Week何とかつかえとかPrism使えとか言われてるけどw)
まー、このケースで言えばこれでOKだろ
さぁ、俺を褒め称えよ!w
0249デフォルトの名無しさん
2010/07/04(日) 14:26:000251デフォルトの名無しさん
2010/07/04(日) 16:10:24揶揄してるんだと誤解してた。スレッドセーフにしてくれてたのね。
0252デフォルトの名無しさん
2010/07/04(日) 16:19:27慣れてるから
0253デフォルトの名無しさん
2010/07/04(日) 16:29:03これってなんでスレッドセーフになるの?
解説を聞きたい!
0254デフォルトの名無しさん
2010/07/04(日) 16:29:43public event EventHandler<EventArgs> Created = (_, __) => {}
これもなぜこれだけでスレッドセーフになるのかわからにぃ
0255デフォルトの名無しさん
2010/07/04(日) 16:32:20null比較がスレッドセーフではないからローカル変数に一時待避でスレッドセーフ
>>254
null比較しなくていいように前もって空イベント挿入でスレッドセーフ
また、△ってしてもいいんだぜ!
0256デフォルトの名無しさん
2010/07/04(日) 16:36:57if (Created!=null) {
/* この間に別のスレッドがイベントを-=してCreateをnullにする可能性がある */
Created(this, arg);
0257デフォルトの名無しさん
2010/07/04(日) 16:43:180258fushianasan
2010/07/04(日) 16:46:58ホントにわかんないだけ。
0259デフォルトの名無しさん
2010/07/04(日) 16:50:31var created = Created;
Created-=********** --この時点でcreated -= *********
したのと同じことにはならないの?
参照型でしょイベントって。
0260デフォルトの名無しさん
2010/07/04(日) 16:58:33a += b;は
TDelegate c = (TDelegate)Delegate.Combine(a, b)
a = c;
の略で、このとき
Object.ReferenceEquals(a, c)もObject.ReferenceEquals(b, c)もfalse
0261デフォルトの名無しさん
2010/07/04(日) 16:59:26var objA = new object();
var objB = objA;
この時どうなると思ってんだ?
ちゃんとポインタ(厳密には違うけど)はコピーされてるんだぞ
0262デフォルトの名無しさん
2010/07/04(日) 16:59:42イベントの実装はこうなってる
private EventHandler _Created;
public event EventHandler Created {
[MethodImpl(MethodImplOptions.Synchronized)] add { _Created = (EventHandler)Delegate.Combine(_Created, value); }
[MethodImpl(MethodImplOptions.Synchronized)] remove { _Created = (EventHandler)Delegate.Remove(_Created, value); }
}
[MethodImpl(MethodImplOptions.Synchronized)]のおかげでaddアクセサとremoveアクセサの呼び出しもスレッドセーフ。
0263253,254,259(261は別人)
2010/07/04(日) 17:27:30解説ありがとう。
参照型だけど毎回インスタンスが生成されるクラスなんですね。
理解しました。
0264デフォルトの名無しさん
2010/07/04(日) 17:39:380265デフォルトの名無しさん
2010/07/04(日) 18:47:37> null比較がスレッドセーフではないから
そういう話じゃないような
0266デフォルトの名無しさん
2010/07/04(日) 19:01:53うん、間違えたw
0267デフォルトの名無しさん
2010/07/04(日) 22:59:500268デフォルトの名無しさん
2010/07/05(月) 01:22:170269デフォルトの名無しさん
2010/07/05(月) 01:44:53実はECMAの仕様ではスレッドセーフではなかったり。
0270デフォルトの名無しさん
2010/07/05(月) 03:05:160271デフォルトの名無しさん
2010/07/05(月) 03:07:36このオブジェクトは最初から排他仕様だからよろしくみたいなことは出来ないのか?
0272デフォルトの名無しさん
2010/07/05(月) 10:20:280273デフォルトの名無しさん
2010/07/05(月) 13:46:460274デフォルトの名無しさん
2010/07/05(月) 14:22:32だよな 間違ってないよな
さすがだな
0275デフォルトの名無しさん
2010/07/05(月) 17:20:35obj = nullは常にスレッドセーフだよ?
あと
obj = 0とobj = falseもさ
大丈夫?あぁネタかw
0276デフォルトの名無しさん
2010/07/05(月) 17:24:400277デフォルトの名無しさん
2010/07/05(月) 18:27:470278デフォルトの名無しさん
2010/07/05(月) 18:57:15obj = ""が抜けてるよ♪
0279デフォルトの名無しさん
2010/07/05(月) 22:54:43>>244がスレッドセーフであることの前提条件ではあるだろ
0280デフォルトの名無しさん
2010/07/06(火) 00:39:110281デフォルトの名無しさん
2010/07/06(火) 00:45:480282デフォルトの名無しさん
2010/07/06(火) 00:49:24マジで知ってるなら教えて下さいm(_ _)m
0283デフォルトの名無しさん
2010/07/06(火) 01:45:26COMコンポーネントあたりでぐぐってみるといいよ
サムネイル表示するのをWindows7に移植しようとC#で作ってみたが
その時にそんな感じのことをした気がする
結局動かなくてテストに毎回再起動するのがまんどいので放置してるが
0284デフォルトの名無しさん
2010/07/06(火) 02:58:32いや、そんなことないが。落ち着け。
0285デフォルトの名無しさん
2010/07/06(火) 03:03:12>>265のツッコミをした程度のへっぽこです。
知らなかったらlockステートメント使ってたと思う。
0286デフォルトの名無しさん
2010/07/06(火) 03:30:320287デフォルトの名無しさん
2010/07/06(火) 03:39:330288デフォルトの名無しさん
2010/07/06(火) 03:43:350289デフォルトの名無しさん
2010/07/06(火) 03:46:100290デフォルトの名無しさん
2010/07/06(火) 10:41:530291デフォルトの名無しさん
2010/07/06(火) 12:48:590292デフォルトの名無しさん
2010/07/06(火) 13:06:04ttp://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_22/extremecs_22_02.html
Observerの変形と言えなくもない気がするが、状態オブジェクトが焼け太りしそうな悪寒。
実際んとこ、コレどんな場面で有効だと思う?
0293デフォルトの名無しさん
2010/07/06(火) 13:31:43ステートが絶対に変化しないならいいんじゃないの
素直にやったら全部グローバル変数と変わらないから、テストのことを考えると
IProductsStateとかインターフェイスで小分けすることになるだろうけど
インターフェイス使っちゃうと後で変更がきかないよね
0294デフォルトの名無しさん
2010/07/06(火) 14:09:25>「ステート集約プログラミング」とは、あなたが“カオスの縁で踊る”ステップのバリエーションを増やすものであって、
>他のステップがなくてもよいと主張するものではない
これだけでなんかオタ臭さをすげぇ感じるわ。
0295デフォルトの名無しさん
2010/07/06(火) 14:45:390296デフォルトの名無しさん
2010/07/06(火) 14:57:12に尽きるな
筆者もそれはわかっててわざと誤魔化した書き方をしてるように見える
結局グローバル変数と一緒だわね
0297デフォルトの名無しさん
2010/07/06(火) 15:07:06実戦で役立つなら考案者が厨二でも邪気眼でも構わんが、これは正直微妙な感じ
他の人も指摘してる通り、ちょっとヲサレなグローバル変数以外の何者でもない罠
とは言え、相互作用する状態が大量発生するような手合いだと、Observerパターンでも苦しいのは事実
なんかうまい方法はないもんか
0298デフォルトの名無しさん
2010/07/06(火) 15:28:570299デフォルトの名無しさん
2010/07/06(火) 16:35:04http://msdn.microsoft.com/ja-jp/library/ms173266.aspx
DllMainではマネージコードを実行してはいけないという制限があるので
「C#では不可能」というのが答えだな
C++/CLIでそこだけネイティブコードのみで実装する必要がある
0300デフォルトの名無しさん
2010/07/06(火) 17:19:05一つ前の記事の日本語でテスト名は書けというのは共感出来た。
ビジネスロジックのテスト名はそっちの方がわかりやすいしね。
0301デフォルトの名無しさん
2010/07/06(火) 17:36:410302292
2010/07/06(火) 17:58:00アレは文中でもある通り、DBの簡易代替に過ぎないんだろうな。
>>300
まあテスト名くらいは許容できるが、変数名を日本語で書くのは俺はあかん。
インテリセンス使えねえじゃん。
0303デフォルトの名無しさん
2010/07/06(火) 18:51:180304デフォルトの名無しさん
2010/07/06(火) 19:13:210305デフォルトの名無しさん
2010/07/06(火) 19:43:28使えたように思ったけど気のせいか
0306デフォルトの名無しさん
2010/07/06(火) 19:58:500307デフォルトの名無しさん
2010/07/06(火) 20:01:19ピリオド打った後カーソルキー上下とかスクロールつまみ動かすとか
まあインテリセンスのメリット低下は確かだが
0308デフォルトの名無しさん
2010/07/06(火) 20:10:160309デフォルトの名無しさん
2010/07/06(火) 20:35:39もう中身以前にい近づきたくない感じ
0310デフォルトの名無しさん
2010/07/06(火) 20:41:00そこでイニシャル付き変数ですよ。k金額とかn日数とか。
というか、日本語の変数名を簡単に検索できるアドインを作ったら結構受けるかもな。
0311デフォルトの名無しさん
2010/07/06(火) 21:20:130312デフォルトの名無しさん
2010/07/06(火) 21:23:280313デフォルトの名無しさん
2010/07/06(火) 21:36:210314デフォルトの名無しさん
2010/07/06(火) 21:41:060315デフォルトの名無しさん
2010/07/06(火) 21:53:36やってることがいろいろと可笑しすぎる。
0316デフォルトの名無しさん
2010/07/06(火) 22:15:34Command Binding出来ないDragDrop系とか?
0317デフォルトの名無しさん
2010/07/06(火) 22:23:00Click系のコマンドでViewの操作のみならViewModelに書かずViewの中で完結する。
DragDropの事後処理等でModelに依存するコードがあるならその部分だけViewModelに書く。
無いならViewで完結。
間違ってもView内のハンドラでModelを触らない事。
0318デフォルトの名無しさん
2010/07/06(火) 22:23:18Jane Style 3.4 を使って2chに書込みをすると
C:\\Document And Setting\【スズキ タロウ】
という部分の文字列までパケット送信してるらしいのですが、
誰か逆アセンブルして解析した方はいますか?
※前々から2ch専用ブラウザは怪しいと言われていたのですが・・・
場合によっては警視庁ハイテク化にアプリとソースを引き渡します。
0319デフォルトの名無しさん
2010/07/06(火) 22:24:22マジレス感謝m(_ _)m
キーロガー作ってプロセスを隠蔽しようと思ったらやっぱC#じゃ無理か・・・
がんばってC++勉強します。。
0320デフォルトの名無しさん
2010/07/06(火) 22:25:11MVPレベルキタコレ!
凄くわかりやすかったです
サンクス
0321デフォルトの名無しさん
2010/07/06(火) 22:30:010322デフォルトの名無しさん
2010/07/06(火) 22:41:03かと思えば何もしてない人が選ばれたり…
あれの選別基準がいまいちわからん
0323デフォルトの名無しさん
2010/07/06(火) 22:43:58Most Valuable Professionalとは名ばかり。
0324デフォルトの名無しさん
2010/07/06(火) 22:45:15そう言う事か…
0325デフォルトの名無しさん
2010/07/06(火) 22:47:58他にはとくに活動してなかったし。
0326デフォルトの名無しさん
2010/07/06(火) 23:47:43きっちりやれば、たいていの場合XAMLしか残らない。
C# 側は、テンプレ通りの InitializeComponent() のみに。
全く持ってその通りで、一部の Command Binding できないものとかのために
しょうがなく View の分離コードに何か書く。
0327デフォルトの名無しさん
2010/07/06(火) 23:52:33(「MS に対する貢献」って言い方されるけども、結局それは好意的な記事の露出。)
コミュニティ運営と、編集の校正入るウェブ記事は評価高いっぽい。
ああ、あと、MS Connect へのフィードバック数とか、
フォーラムでの書き込みすうとか。
最終的に評価は米本社側でやるんで、
検索でどれくらいの位置、PV いくら、執筆本数いくら、会員数いくら
とか、客観的な数字がある方が受けるみたい。
0328デフォルトの名無しさん
2010/07/06(火) 23:56:09の質問誰か答えてちょ
0329デフォルトの名無しさん
2010/07/06(火) 23:57:140330デフォルトの名無しさん
2010/07/07(水) 00:14:17自分でパケットキャプチャしろ
0331デフォルトの名無しさん
2010/07/07(水) 00:18:09応援してるよ頑張ってね
0332デフォルトの名無しさん
2010/07/07(水) 00:25:08あ
0333デフォルトの名無しさん
2010/07/07(水) 00:27:290334デフォルトの名無しさん
2010/07/07(水) 00:46:39逆アセしなくてもwiresharkのようなソフトで通信をモニターすればいいんじゃね?
まあ個人名称をそのままユーザーにしてる人もいるだろうから気持ち悪いよね
Styleは使ってないのでアレだがその情報はどこへ送ってるの?
0335デフォルトの名無しさん
2010/07/07(水) 00:48:410336デフォルトの名無しさん
2010/07/07(水) 00:52:30各板の鯖
Reflectorでソース解析済み。
>>335
2chにはプロ固定がいるのをお忘れなく
0337デフォルトの名無しさん
2010/07/07(水) 00:52:50っていうか、「送信してるらしい」ってどこの誰にだよ。
2chのサーバー?w
仮にそうだとして、どこぞのPCのユーザー名なんか収集して何の役に立つんだ?
それはソフトの作者にとって、犯してるリスクに見合うものなのか?
なわけないだろw
被害妄想狂の想像とちがって、お前さんの個人情報(にすらならんがユーザ名なんか)
になんか1円の価値もないよ。
こんなの小6レベルの推理力でわかる話だと思うが。
0338デフォルトの名無しさん
2010/07/07(水) 00:56:18> Reflectorでソース解析済み。
結論が出てるならそれでいいじゃん。
0339デフォルトの名無しさん
2010/07/07(水) 01:07:252ch プロ固定 でググレ
そしたらなぜ不味いかが分かるはず。
0340デフォルトの名無しさん
2010/07/07(水) 01:07:590341デフォルトの名無しさん
2010/07/07(水) 01:16:59んーなんかデジャブ。
前に見たのはオカルト板だったはず。
だからその手の都市伝説はあっちの板でやれ。
0342デフォルトの名無しさん
2010/07/07(水) 01:30:14Delphi
0343デフォルトの名無しさん
2010/07/07(水) 01:30:53スクロールバーで値を変更したときに、
フォーム内のすべてのコントロールの表示位置を変更する様な
プログラムを組むのでしょうか?
それとも、根本的になんか、勘違いしているでしょうか?
0344デフォルトの名無しさん
2010/07/07(水) 01:34:49これはマジでオカルト板の出番かもしれん
0345デフォルトの名無しさん
2010/07/07(水) 01:47:19Panelとかの上に全てのコントロールを乗っけてPanelだけ動かす
まあ普通はAutoScroll使う
0346デフォルトの名無しさん
2010/07/07(水) 01:49:15ReflectorはDelphi対応みたいね
Delphiって中間コード持つような言語だっけ?
0347デフォルトの名無しさん
2010/07/07(水) 01:50:33気になるならスパイウェアのような挙動をするとしかるところへ報告しておけばいいんじゃね?
ローカルのアカウントに個人名使ってればIPとひも付きでデータが集まるしなあ
その程度だとそれほど価値はないがそういう兆候があるってことは
そのうち何かやりかねないので注意を促すと言う意味では動いた方がいいかもしれない
ソフトの監視という意味でね
利用者多いし
0348デフォルトの名無しさん
2010/07/07(水) 01:51:570349デフォルトの名無しさん
2010/07/07(水) 01:52:380350デフォルトの名無しさん
2010/07/07(水) 02:01:16(2003年に出たDelphi 8から.NET対応の製品がリリースされてる。)
ネイティブコンパイルされるDelphiは.NETと無関係なのでReflectorでは見れない。
Jane Styleは後者。
0351デフォルトの名無しさん
2010/07/07(水) 02:15:400352デフォルトの名無しさん
2010/07/07(水) 02:18:10ありがとうございました。
オートスクロールってプロパティ、
2002年のバージョンのc#には無かったですよね?
確か、そんな気がしましたが。
最近乗り換えたもので。
0353デフォルトの名無しさん
2010/07/07(水) 02:49:29Pointは二つ(X,Y)のみなので、これの4カ所バージョンを探しています。
0354デフォルトの名無しさん
2010/07/07(水) 02:52:330355デフォルトの名無しさん
2010/07/07(水) 02:55:100356デフォルトの名無しさん
2010/07/07(水) 02:56:060357デフォルトの名無しさん
2010/07/07(水) 03:00:53>.NET Framework クラス ライブラリ
>Rectangle 構造体
>四角形の位置とサイズを表す 4 つの整数を格納します。より高度な領域関数を使用する場合は Region オブジェクトを使用します。
>名前空間: System.Drawing
>アセンブリ: System.Drawing (system.drawing.dll 内)
>構文
>[SerializableAttribute]
>[ComVisibleAttribute(true)]
>public struct Rectangle
http://msdn.microsoft.com/ja-jp/library/system.drawing.rectangle%28v=VS.80%29.aspx
0358デフォルトの名無しさん
2010/07/07(水) 03:02:08そですた…。
WPFやってるとごっちゃになるから勘違いしてしまったorz
サンクス。
0359デフォルトの名無しさん
2010/07/07(水) 06:59:42バージョン情報
.NET Framework
サポート対象 : 4、3.5、3.0、2.0、1.1、1.0
>>358
WPFにだってRect構造体があるし(こっちは各要素がdouble型だが)
0360デフォルトの名無しさん
2010/07/07(水) 07:30:45みつけた。サンクス。
0361デフォルトの名無しさん
2010/07/07(水) 09:08:13struct kou{
int ZAHYO data[4];
double data[3].x=(data[0].x+data[1].x+data[2].x)/3;
double data[3].y=(data[0].y+data[1].y+data[2].y)/3;
};
void main(void)
{
int data[4],i;
for(i=0;i<4;i++);
data[i]=(data[i].x,data[i].y);
printf("重心=(%f,%f)"data[3].x,data[3].y);
return 0;
}
これエラーが12個でるんだがそのエラーを消したい。手伝ってくれ
ちなみに問題は構造体を使って平面上の3点の座標を入力して三角形の重心を求める問題だ
0362デフォルトの名無しさん
2010/07/07(水) 09:09:520363デフォルトの名無しさん
2010/07/07(水) 09:35:33スレタイ読めないバカがいるとは思えん
0364デフォルトの名無しさん
2010/07/07(水) 10:45:070365デフォルトの名無しさん
2010/07/07(水) 11:13:510366デフォルトの名無しさん
2010/07/07(水) 14:16:15しーしゃーぷ
しーなんばー
そうだんしつ
ぱーとろくじゅう
0367デフォルトの名無しさん
2010/07/07(水) 14:31:550368デフォルトの名無しさん
2010/07/07(水) 14:32:080369デフォルトの名無しさん
2010/07/07(水) 15:32:30検索しても出てこないんですが
class AがあったらB=A[0];みたいなアクセスがしたいんです
0370デフォルトの名無しさん
2010/07/07(水) 15:36:26foreach inに対応する方法がわかりませぬ
0371デフォルトの名無しさん
2010/07/07(水) 15:36:42プロパティ関連をしらべろ。
0372デフォルトの名無しさん
2010/07/07(水) 15:39:140373デフォルトの名無しさん
2010/07/07(水) 15:41:29IEnumerable<T>インターフェースを実装すれば対応する
0374デフォルトの名無しさん
2010/07/07(水) 15:46:480375デフォルトの名無しさん
2010/07/07(水) 15:50:590376デフォルトの名無しさん
2010/07/07(水) 15:54:070377デフォルトの名無しさん
2010/07/07(水) 17:02:36C#を使って秀丸エディタのマクロから呼び出すDLLを作ってます。
内容は秀丸マクロからDLLを呼び出して1234(数値)を返す動作です。
test.cs(以下の4行の内容)をコンパイルしてtest.dllを作成しました。
class Test{
static int Main(){return testNum();}
public static int testNum() {return 1234;}
}
これを秀丸マクロで以下のようにして呼び出してmessageで1234と表示させたいのですが「dllfunc関数で指定された呼び出し先が見つかりません」エラーが出ました。なお、秀丸マクロからDLLの読み込みは出来てました。
$dll = "test.dll";loaddll $dll;#a = dllfunc("Test");freedll;message str(#a); // 秀丸マクロ
test.csをどのように書き直すと良いでしょうか?どなたかご教示お願い致します。
0378デフォルトの名無しさん
2010/07/07(水) 17:03:470379デフォルトの名無しさん
2010/07/07(水) 17:06:590380デフォルトの名無しさん
2010/07/07(水) 17:22:130381デフォルトの名無しさん
2010/07/07(水) 19:33:10呼べないわけないだろ
0382デフォルトの名無しさん
2010/07/07(水) 20:05:010383デフォルトの名無しさん
2010/07/07(水) 20:05:05不可能じゃないんだけど、一筋縄じゃいかない。
秀丸のマクロから呼ぶのが目的ならCOMのサーバを作るのが手っ取り早いでしょ。
0384デフォルトの名無しさん
2010/07/07(水) 20:46:25実行。終わったらアプリケーションドメインは解放してやらんとDLLがアンロードされないので注意。
とかメンドイわ!やっぱ言うとおりCOMでやるのが一番だな。
0385デフォルトの名無しさん
2010/07/07(水) 23:47:090386デフォルトの名無しさん
2010/07/08(木) 00:31:560387デフォルトの名無しさん
2010/07/08(木) 01:44:34まさか実際に定数を返すだけなんてこともあるまい。
0388デフォルトの名無しさん
2010/07/08(木) 04:05:23散々動かないと悩んでbyte[1024]にしたら直ったんですが4096の配列というのは大きすぎるもんなんでしょうか?
0389デフォルトの名無しさん
2010/07/08(木) 05:58:34そのプログラムが実行中に、自分のリソースファイルの
テキストファイルを開いて書きこんで保存すると言う事が、
できるのでしょうか?
その他、画像リソースファイルなども。
0390デフォルトの名無しさん
2010/07/08(木) 06:06:480391デフォルトの名無しさん
2010/07/08(木) 06:16:170392デフォルトの名無しさん
2010/07/08(木) 14:01:16何が悪いのかわからないのですが・・・
//確実に数値化する
private int SetNum(string str)
{
try
{
int num = int.Parse(str);
return num;
}
catch (System.FormatException)
{
return 0;
}
}
お願いします。
0393デフォルトの名無しさん
2010/07/08(木) 14:03:58int num = int.Parse(str);
の部分でブレイクします。。。
0394デフォルトの名無しさん
2010/07/08(木) 14:05:000395デフォルトの名無しさん
2010/07/08(木) 14:06:270396デフォルトの名無しさん
2010/07/08(木) 14:07:080397デフォルトの名無しさん
2010/07/08(木) 14:07:27なるほど迅速で正確なご回答ありがとうございました。
0398デフォルトの名無しさん
2010/07/08(木) 14:09:13strに "" が入ってきた時ですね。
2008expでは動いてたんですけど
2010proに代えてから初回例外が発生するようになって
どうやらここがおかしいっぽいという感じですハイ。
0399デフォルトの名無しさん
2010/07/08(木) 14:09:16private int SetNum(string str)
{
int res;
if(int.TryParse(str,out res) == false)
return 0;
else
return res;
}
こんなのとかかな?
そもそも例外発生するのは文字列が悪いと思うが、どんな文字列を渡してるんだ?
0400デフォルトの名無しさん
2010/07/08(木) 14:09:300401デフォルトの名無しさん
2010/07/08(木) 14:10:580402デフォルトの名無しさん
2010/07/08(木) 14:11:150403デフォルトの名無しさん
2010/07/08(木) 14:13:29シーッ
Getとか別の名前にする方がいいとかいっちゃダメッ
0404デフォルトの名無しさん
2010/07/08(木) 14:21:30あ、なるほど。
そうですね。
とりあえず
//確実に数値化する
private int SetNum(string str)
{
int num = 0;
int.TryParse(str,out num);
return num;
}
として問題は回避できたっぽいです。
でもまだイミディエイトウィンドウに
'System.FormatException' の初回例外が mscorlib.dll で発生しました。
っていう文言が正確に数えてないんで分からないですが
100行以上くらい出てるんですがこれなんなんでしょ・・・。
2008expで開発してた時は出なかったんですが。。。
しかもエラーではない様子でプログラムはまともに動いてるように見えるし
この例外がどこで発生しているのかもわからないんです・・・(;ω;)
0405デフォルトの名無しさん
2010/07/08(木) 14:26:564.0かしら?
0406デフォルトの名無しさん
2010/07/08(木) 14:27:34その通りです
0407デフォルトの名無しさん
2010/07/08(木) 14:36:200408デフォルトの名無しさん
2010/07/08(木) 14:44:09イミディエイトウィンドウにもろに表示されてるワケじゃない気がするんですよね。
イミディエイトウィンドウは上から順にメッセージが表示されると思うんですが
プログラムの立ち上げが終わった時点でイミディエイトウィンドウには何も表示されていない
部分までカーソルが下がってきてるんですよ。
それで、そのカーソルを上に持っていくと前述の通り大量の
'System.FormatException' の初回例外が mscorlib.dll で発生しました。
が表示されているという・・・。
状況としては
http://questionbox.jp.msn.com/qa3794467.html
この質問者の人に似ているかなあと。
加えて、すごく初歩的な質問でもうしわけないのですが
C#で開発者が設定できる1番最初のブレイクポイントってどこになるんでしょうか。
Program.csのMain()の
Application.EnableVisualStyles();
であってますかね?
というのもここでブレイクをかけて見ても既に上述の例外が発生していますもんで
http://gyazo.com/a0b4779e46074481ef531677d615af66.png(こんな感じです)
例外の発生している部分を突き止める事ができないな・・・っていう感じなんです。。。
0409デフォルトの名無しさん
2010/07/08(木) 14:47:25イミディエイトなら自分で出してるだけの気がする。
それはさておき、別にでないんだけどなぁ…
それって出力ウィンドウの右クリックで例外メッセージを表示しないようにしてただけとかそういう問題じゃなくて?
とりあえずソース
private void button1_Click(object sender, EventArgs e)
{
try
{
string text = "";
int res;
if (!int.TryParse(text, out res)) res = -1;
System.Diagnostics.Debug.WriteLine(res);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
0410デフォルトの名無しさん
2010/07/08(木) 14:52:06VSを再起動したら表示されなくなりました・・・。
僕がみていたのは皆さんにアドバイスされる前のコードで生成された
メッセージの履歴だったんでしょうか・・・^ω^;
0411デフォルトの名無しさん
2010/07/08(木) 14:53:54おそらく1番最初の int.Parse try{}catch{}で分けるという方法が
コンパイラの気に障っていた?ようですね・・・。
TryParseを使う事で例外の表示もなくなったようです。
どうも長々とスレ汚し、すみませんでした(^ω^;
ありがとうございましたー!
0412デフォルトの名無しさん
2010/07/08(木) 14:55:030413デフォルトの名無しさん
2010/07/08(木) 14:56:21スマンお(^ω^;;
0414デフォルトの名無しさん
2010/07/08(木) 15:01:35そうではなく、テスト動作させてるときに空文字渡したとか言ってたから
キャッチはしているけど例外が発生したから表示されてたんじゃないか?
例外はコンパイルレベルで発生する代物ではないと思うんだ
0415デフォルトの名無しさん
2010/07/08(木) 15:11:14なるほどご明察です。
0416デフォルトの名無しさん
2010/07/08(木) 15:22:47http://namidame.2ch.net/test/read.cgi/poverty/1278496905/
0417デフォルトの名無しさん
2010/07/08(木) 16:30:03とか言って騒いでた馬鹿か。
0418デフォルトの名無しさん
2010/07/08(木) 16:33:53delphiかとおもてた
0419デフォルトの名無しさん
2010/07/08(木) 16:43:450420デフォルトの名無しさん
2010/07/08(木) 16:47:06( ^ω^)ゆるすおっ
0421デフォルトの名無しさん
2010/07/08(木) 16:55:14.netじゃねーよ……
0422たった
2010/07/08(木) 17:21:18Reflectorはdelphiに
対応してるみてーだなwwwww
ということはdelphiも
中間コード系の
言語なのかよ!?
あ!?
0423デフォルトの名無しさん
2010/07/08(木) 17:39:558から
0424デフォルトの名無しさん
2010/07/08(木) 17:41:13もともとPascal系は中間コード使ってる
0425デフォルトの名無しさん
2010/07/08(木) 17:43:38無知
0426デフォルトの名無しさん
2010/07/08(木) 17:56:11無知な馬鹿
0427デフォルトの名無しさん
2010/07/08(木) 18:17:39前に使った時のフォルダのパスを覚えてて、
新しく開いたときに、前開いたときのフォルダを最初に見せてくれますが、
この情報は一体どこに覚えているのでしょうか?
普通にアプリケーション設定と同じ位置に覚えているのでしょうか?
0428デフォルトの名無しさん
2010/07/08(木) 18:19:390429デフォルトの名無しさん
2010/07/08(木) 18:37:21例えばここにアプリケーション設定の記憶位置が書かれていますが、
そこと同じ様な場所なのだと考えても良いのでしょうか。
0430デフォルトの名無しさん
2010/07/08(木) 18:38:220431デフォルトの名無しさん
2010/07/08(木) 18:38:460432デフォルトの名無しさん
2010/07/08(木) 19:05:02はい、PCの中に記憶されてますよ。
0433デフォルトの名無しさん
2010/07/08(木) 19:09:540434デフォルトの名無しさん
2010/07/08(木) 19:18:14なるほど!
ありがとうございました!
0435デフォルトの名無しさん
2010/07/08(木) 20:09:18つまり、レジストリって事?
カレントなのかレジストリなのか、それとも、ユーザー設定なのか?
どこやねん。
お前らも本当は知らないんだろ。
別に知らないなら答えなくていいのに。
>>434
お前誰やねん。
0436デフォルトの名無しさん
2010/07/08(木) 20:11:42説明されているサイトなどに、誘導していただけませんでしょうか。
>>434-435
真面目に質問しています。茶化さないでください。
0437デフォルトの名無しさん
2010/07/08(木) 20:15:070438デフォルトの名無しさん
2010/07/08(木) 20:16:46(-3-)<Boo ナリスマシやめれ
0439デフォルトの名無しさん
2010/07/08(木) 20:19:30i \ ̄_ ̄_\ \
l )┼┼+( | あ゛あ゛っ!!
/ヽ__ i\ i ンダコラッ!!
ヽ_  ̄__/
 ̄''''‐'' ̄
0440デフォルトの名無しさん
2010/07/08(木) 21:12:580441デフォルトの名無しさん
2010/07/08(木) 21:15:07過去に出力された分はずっと残ったままになる。
イミディエイトに出力をリダイレクトする設定をしてなければデバッグ出力に出力される。
こっちはデバッグ開始するたびにクリアされる。
例外発生時にデバッガで停止するのは、まあわかってると思うけどデバッガの例外の設定。
0442デフォルトの名無しさん
2010/07/08(木) 21:16:02夢だったんだろうか、それとも夢遊病だろうか
夜中ちょっと目が覚めた時にパソコンがついてておかしいなとは思ったんだけど
超怖い
0443デフォルトの名無しさん
2010/07/08(木) 21:20:21ごめん。悪気はなかったんだ…
0444デフォルトの名無しさん
2010/07/08(木) 21:27:42つまり、レジストリなのですね。
解りました。
0445デフォルトの名無しさん
2010/07/08(木) 21:42:370446デフォルトの名無しさん
2010/07/08(木) 21:54:41自分の作ったプログラムを配布した場合、
ユーザーのパソコンの記憶領域を勝手にいじっちゃうわけでしょ?
いつの間にか勝手にレジストリをいじって記憶領域を減らすってのは
あまり良い気分じゃないよね。
まあ、実際殆ど問題無いけどさ。
レジストリを散々いじった挙句、そのソフトをもういらないからって削除した場合とか、
無駄な記憶だけが残るだけの結果になったりするじゃない。
なんか、そう言うのって気分悪いのさ。
0447デフォルトの名無しさん
2010/07/08(木) 21:58:310448デフォルトの名無しさん
2010/07/08(木) 22:01:520449デフォルトの名無しさん
2010/07/08(木) 22:02:19ついて無いのじゃ。
確かにインストーラーがあるなら、
OSにアンインストールしてもらえば良いのだけど。
0450デフォルトの名無しさん
2010/07/08(木) 22:04:27真夜中にWindowsのCEIPがなんかどっかに通信しようとしてコケてた(そのときLAN
ケーブル外してたんでエラーになってた)。
そのサービス殺してからは朝になってもバッテリが上がってることはなくなった。
何か関係してるのか?
0451デフォルトの名無しさん
2010/07/08(木) 22:08:570452デフォルトの名無しさん
2010/07/08(木) 22:18:03"コモン"コントロールを一体なんだと思ってるんだおまいわ・・・
0453デフォルトの名無しさん
2010/07/08(木) 22:22:23その程度のことを気にしてたら何もできない。
っていうか気にするだけ無駄。
0454デフォルトの名無しさん
2010/07/08(木) 22:23:23それは永久に残るものじゃないから
おまえ馬鹿だろ?
0455デフォルトの名無しさん
2010/07/08(木) 22:27:21ディスクの中にはいったいどの程度の無駄があるか知ってるか?
0456デフォルトの名無しさん
2010/07/08(木) 22:33:18どうでもいい細かいこと気にするの典型
0457デフォルトの名無しさん
2010/07/08(木) 22:34:14O/Rマッパって何使ってる?
少し古めだけど一覧
http://d.hatena.ne.jp/aoki1210/20080416/p1
のリンクをざっと辿ってみた限りでは、S2Dao.NET + DBFluteがよさげ(特に定義ファイル書かなくていいのが楽そう)だと思ったんだけどね。
↑以外ではADO.NET Entity Framework が少し話題になってるみたいだけど、「これO/Rマッパぢゃねーし」とかゆー声もあるし・・・。
ってことで何かお勧めがあればプリーズ
0458デフォルトの名無しさん
2010/07/08(木) 22:39:180459デフォルトの名無しさん
2010/07/09(金) 00:23:210460デフォルトの名無しさん
2010/07/09(金) 01:05:39いや、残るだろ。
意図的に削除したりしない限りは。
>>459
あんた、男らしいよ。
0461デフォルトの名無しさん
2010/07/09(金) 01:16:180462デフォルトの名無しさん
2010/07/09(金) 01:26:23numericUpDown_ValueChanged
イベントを発生させないようにするとかできるのでしょうか?
0463デフォルトの名無しさん
2010/07/09(金) 01:30:43フラグ用意してイベント内でスルー
とかにしとかないと後で見たとき
「イベントが発生しない!」とか
悩むかもよ
0464デフォルトの名無しさん
2010/07/09(金) 01:49:48解りました。
自前で実装します。
0465デフォルトの名無しさん
2010/07/09(金) 02:27:02CPUがシングルか、マルチかで発生の仕方が変わったりするのでしょうか?
例えば、シングルだと、あるイベントが終わるまで他のイベントには移行しないが、
マルチだと、あるイベントが処理中に、もうひとつのイベントの処理が始まってしまうとか。
デバッガで追ってみると、値を変えた時に、バリューチェンジドイベントに
飛ぶときと飛ばない時があるのです。
0466デフォルトの名無しさん
2010/07/09(金) 02:30:450467デフォルトの名無しさん
2010/07/09(金) 05:06:370468デフォルトの名無しさん
2010/07/09(金) 09:16:520469デフォルトの名無しさん
2010/07/09(金) 12:20:30なりすましとか
0470デフォルトの名無しさん
2010/07/09(金) 15:02:05Control.OnPaintとControl.OnBackgroundPaintの処理を無効にすることは
できないでしょうか?
0471デフォルトの名無しさん
2010/07/09(金) 15:39:06なりすまし乙
0472デフォルトの名無しさん
2010/07/09(金) 15:39:21何が不都合なのか分からんと答えようもないな
0473デフォルトの名無しさん
2010/07/09(金) 15:42:400474デフォルトの名無しさん
2010/07/09(金) 15:56:590475デフォルトの名無しさん
2010/07/09(金) 16:08:22り
がとう
0476デフォルトの名無しさん
2010/07/09(金) 19:40:35一つのファイルを複数ビューで表示させて、一つのビューで編集したら他のビュー全てに反映させたいんだけども
この場合、どんなパターン使えばいいかな
0477デフォルトの名無しさん
2010/07/09(金) 19:43:27とりあえず、変更の反映にはINotifyPropertyChanged。
0478デフォルトの名無しさん
2010/07/09(金) 20:01:490479デフォルトの名無しさん
2010/07/09(金) 22:01:50,´ |く `、
; __,,=ミ" ̄ ̄ ̄``ヾj;
.i _,-" `' - 、 ::::::::::::;;i
.i ,/ .,/; 三 ヾ ;;;\, ::::::;;i
.| / ソ; '`、; \、:::;;|
.| ,/ ,=、 ,=、 ヽ、:;;|
.トナ i 0 i ,; ;i 0 i .`ゝ:;;|
.|1 .ゝイ ,i、 ;ゝイ :::;;|
.i` - ____トi圭____ y"i
'; :::::;;'
` 、 :::::::_ ,´
` -- ,,____,, -- "
/´`゛''''''ヾ、,;;- ‐'''' ""´``ヽ、
,i′, ..:::; 、. .::゙:、
.,!、::i ..::::::; ....:::::::::i ::::`:、
,i ::| 。 .....:::::;;;;! ....:::::。::::;;;;! :::::::i
. ,! ;::::;、ー‐'''"´::`゛'''ー-‐'''":::、 ::::::|
. / ,,,;;:::| | :::. ;;;:::::::::::::::;/`:、 , ;;::::l
,l′;:::::;! ;!-、_;-;__r-;_;-;、:::::::::;;i !;;;' :゛i
. l′;;:::::;! i!爻爻;Ov爻爻i!ー‐''::i |` .:::|
| ;::::/ l!※《 WWE》※i!:::::::::::| !、 :::;!
. |___;::/ iヾ、゚・。⇔。・゚;;ノ;---‐'i. i__.::;!
i′`i′ ト、゛''ー-‐'''"::::::::::::;;;;;;! ,!. ̄|
. i´ ̄`i. i′`:、:::::::::;;:::;;-‐''"::`i ,;'"``'i
. !、、;r; !. l′ `ヽ;::::;;'" .::::::::| l;ァ .;!
`゛''"′. | ::`Y′ .:::::::::::i ゛''''"´
. | .:::::::i :::::::::::::|
0480デフォルトの名無しさん
2010/07/09(金) 22:04:430481デフォルトの名無しさん
2010/07/09(金) 22:29:13Google Adsense違反報告スレ Part10
http://pc12.2ch.net/test/read.cgi/affiliate/1267346244/
JaneStyleがスパイウェアみたいな動作するらしい件
http://namidame.2ch.net/test/read.cgi/poverty/1278496905/
【スパイウェア?】JaneStyleで書き込みしようとしたら、○○に情報が送信されていた件
http://tsushima.2ch.net/test/read.cgi/news/1278681871/
0482デフォルトの名無しさん
2010/07/09(金) 22:38:070483デフォルトの名無しさん
2010/07/09(金) 22:42:18INotifyPropertyChangedってWPFご用達じゃ?と思ってMSDN見たら2.0からだったw
サンクス
0484デフォルトの名無しさん
2010/07/09(金) 22:57:43<hogehoge>
<pekepeke>
</pekepeke>
</hogehoge>
<hogehoge>
<pekepeke>
</pekepeke>
</hogehoge>
となっているとして、pekepekeの項目を上から順番に取得していくにはどうすればいいですか?
ttp://www.kisoplus.com/file/xml.html
を見てマネしたのですが、うまくいかなかったのです。
0485デフォルトの名無しさん
2010/07/09(金) 23:05:24XMLのサイズがよほど大きくない限りはXDocumentにロードしてLINQ to XMLとかで検索だな
0486デフォルトの名無しさん
2010/07/09(金) 23:06:280487デフォルトの名無しさん
2010/07/09(金) 23:23:19そのままだとroot要素がないぞ。
<root>
<hogehoge>
<pekepeke>
</pekepeke>
</hogehoge>
<hogehoge>
<pekepeke>
</pekepeke>
</hogehoge>
</root>
の間違いじゃないのか?
0488デフォルトの名無しさん
2010/07/09(金) 23:27:36慣れてても非常に面倒なのでLINQ to XMLかDOMを使いましょう
0489デフォルトの名無しさん
2010/07/09(金) 23:29:400490デフォルトの名無しさん
2010/07/09(金) 23:35:37LINQ to Objects向けに新しく作られた使いやすさ重視のシンプルなDOMライブラリ
もちろんLINQ使えば便利だけどLINQ使わなくても非常に扱いやすい
0491デフォルトの名無しさん
2010/07/10(土) 00:44:35クエリ式のことでもあるし、
Where とかSelect とかの関数名規約でもあるし、
IEnumerable 返すように設計されたデータ読み書きライブラリのことでもあるし。
0492デフォルトの名無しさん
2010/07/10(土) 00:48:45Google Adsense違反報告スレ Part10
http://pc12.2ch.net/test/read.cgi/affiliate/1267346244/
JaneStyleがスパイウェアみたいな動作するらしい件
http://namidame.2ch.net/test/read.cgi/poverty/1278496905/
【スパイウェア?】JaneStyleで書き込みしようとしたら、○○に情報が送信されていた件
http://tsushima.2ch.net/test/read.cgi/news/1278681871/
■Google Adsense 違反通報URL
https://www.google.com/adsense/support/bin/request.py?contact=violation_report
※個人情報漏洩による被害者をこれ以上出さない為に、
このコピペを見つけた方は一人5箇所以上にコピペをお願いします。
0493484
2010/07/10(土) 00:54:27と出るのです。
0494デフォルトの名無しさん
2010/07/10(土) 00:56:400495デフォルトの名無しさん
2010/07/10(土) 01:03:01>>487
0496デフォルトの名無しさん
2010/07/10(土) 01:16:21htmlファイルにhtmlタグがないのと同じ失敗だよ
0497デフォルトの名無しさん
2010/07/10(土) 01:33:22同じく2.0のListViewのLargeIconモードでデータバインド出来る?
ImageList側のやり方が分からない・・・
0498デフォルトの名無しさん
2010/07/10(土) 01:41:114.01 Strictでもhtmlタグは省略できるような…?
>>497
System.Windows.Forms.ListViewはデータバインディングをまともには使えないはず
0499デフォルトの名無しさん
2010/07/10(土) 02:06:14あーやっぱ無理かー
ListViewでなくてもアイコン敷き詰めてスクロール&クリック出来るコンテナあればいいんだけど
2.0だと無いかねえ
0500名無しさん@そうだ選挙に行こう
2010/07/10(土) 09:03:18無駄なんじゃない?
>(クレームをつけられたネタであったため、記事の内容を少し改変し、UPし直します。
>前の記事も間違ってないと思っていますが、他の方々への配慮だと思い、改変版をUPします。)
ttp://techbank.jp/Community/blogs/mymio/archive/2010/07/04/27368.aspx
ああ、もう突撃とかすんなよ。
また消されたりしたらつまらんだけだ。
0501名無しさん@そうだ選挙に行こう
2010/07/10(土) 09:11:33指摘の方がおかしいことにしつつ、大人の態度でw配慮して
実は見れなくしてしまうという高度な逃げ技
0502名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:05:320503名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:14:15struct Array2 { public int Item1; public int Item2; }と配列を比べて
前者の方がnewが速いから前者を使いましょうと言っている
MSに報告するべきだな
それはともかく、BitArrayはわかるけどBitVectorって何のためにあるんだろう
インデクサがビットの位置じゃなくてマスクになってるけど
ビットマスクがわかるんだったらBitVectorなんか使わずにビット演算使うだろ普通
0504名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:15:170505名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:21:11俺が炎上させているのではない。
炎上するようなことを書くあいつが悪いのだ、
ってな具合の超「前向キング」な思考をするのがネットストーカー諸氏だからw
0506名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:42:220507名無しさん@そうだ選挙に行こう
2010/07/10(土) 16:49:32なに?
0508名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:01:000509名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:01:40時間の
無駄
0510名無しさん@そうだ選挙に行こう
2010/07/10(土) 17:05:51V
P
0511名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:10:04設けようと思う。
このクラス内に記述する関数は、すべて、
string型の引数をもち、string型の値を返す。
C#の言語仕様上で、そういう規約を強制させるような
仕組みは設けられるだろうか?
0512名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:14:450513名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:24:45属性やらリフレクションやらで実行時に検査、かなぁ。
0514名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:30:10リフレクションでアセンブリ読み込んで規約違反がないかチェックするツールでも作ったらいいんじゃね。
ビルド後イベントで自動実行するようにしとけば完璧。
0515名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:37:280516名無しさん@そうだ選挙に行こう
2010/07/10(土) 23:12:500517名無しさん@そうだ選挙に行こう
2010/07/11(日) 01:58:54HTMLDoc = objeBrowser.Document
を使用して自動ログインするツールを作っていたのですが、
ID・PASSの入力フォームをJavaScrioptでページロード時に
生成されているページの場合には自動でログインさせる事が出来ません。
どうすれば良いのでしょうか?
0518名無しさん@そうだ選挙に行こう
2010/07/11(日) 08:17:400519名無しさん@そうだ選挙に行こう
2010/07/11(日) 08:27:200520名無しさん@そうだ選挙に行こう
2010/07/11(日) 15:20:06Paintイベントで同じ範囲をFillRect(赤)→FillRect(白)とした場合、一瞬赤色が見えるのは何故なのでしょうか。
Paintイベントで引数に渡ってくるGraphicsオブジェクトは2次バッファの物では無いの?
0521名無しさん@そうだ選挙に行こう
2010/07/11(日) 16:30:51そして中途半端に守ってるのと守ってないのがでてくるせいで
StrHogehoge と Hogehoge と HogehogeString が混在する現場になるんだよな。
0522名無しさん@そうだ選挙に行こう
2010/07/11(日) 17:49:14TryGetValueはなんか思考を中断される
0523名無しさん@そうだ選挙に行こう
2010/07/11(日) 18:00:18拡張メソッドで作れないか?
0524名無しさん@そうだ選挙に行こう
2010/07/11(日) 18:44:13レベルの低い質問者は初心者スレに行け!
マジウザイ
0525名無しさん@そうだ選挙に行こう
2010/07/11(日) 18:52:44非ジェネリックのIDictionaryだとインデクサが例外投げずにnull返すけど、
それもなんだかなぁって感じだしな
>>523
その程度の汎用的でメジャーな機能くらいフレームワークで用意しろってことじゃないのか
似たようなものだと、ParseOrDefaultとかも用意して欲しいかな
0526名無しさん@そうだ選挙に行こう
2010/07/11(日) 19:20:280527名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:17:140528名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:28:490529名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:35:110530名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:38:530531名無しさん@そうだ選挙に行こう
2010/07/11(日) 20:41:46こんな話もあるけどな。
0532名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:26:24フォームの DoubleBuffered を true にして、
Paintイベントに以下を書いたら赤は見えなかったよ
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
g.FillRectangle(Brushes.Red, e.ClipRectangle);
g.FillRectangle(Brushes.White, e.ClipRectangle);
}
0533名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:35:43IList系だとparams 配列 みたいなのが定番だけどIDictionaryはそのまま参照型のまま渡すの?
0534名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:38:44IListとparamsがどう関係あるのか知らないけどparams引数はかなりレア
IDictionaryはあまり使わない
0535名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:49:14そなの?
前、MSの中の人にきいたらIList系は配列型で渡して、params可能ならつける方がいいと言われたよ。
.Netのクラスライブラリもそのポリシーで設計されてるみたい。
今はその人と連絡とれないからIDictionaryはどうなのかと思ったんだけど…。
0536名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:50:24日付のカルチャ情報は国が違うだけでなく、日付表示を和暦にしたとかだけで影響を受ける場合があるので常に明示的に指定したほうがいいよ。
数値も小数点がカンマという国が結構あるので気をつけたほうがいいし。
0537名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:54:050538名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:55:26int a;
public myClass(int num){
a = num;
}
}
class myClass2{
[System.Xml.Serialization.XmlArrayItem(typeof(myClass))]
ArrayList array;
public myClass2(){
array = new ArrayList();
array.add(new myClass(0));
array.add(new myClass(1));
array.add(new myClass2));
}
public void saveXML(){
//XMLファイルに保存する
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeofmyClass2);
System.IO.FileStream fs = new System.IO.FileStream(@"c:\abc.xml", System.IO.FileMode.Create);
//エラーが発生する
serializer.Serialize(fs, this);
//閉じる
fs.Close();
}
}
といった感じにプログラムを書いたのですが
これを逆シリアル化するさいにクラス内にpublic void loadXML()という関数を作って
arrayの中にデータを入れたいのですがどうやってやればいいんでしょうか・・・。
myClass2としてロードすればできるんですがそうするとクラス内に作れないしで・・・。
0539名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:56:17IList は、メソッドの中で Add とか呼ばれちゃう可能性あるからなぁ。
それを意図しない場合は IEnumerable の方がいいかと。
>>535
今思えば、params は配列型じゃなくて IEnumerable<T> にしてた方がよかったと思うけどね。
まあ、1.0 の頃と今では IEnumerable の地位が大分変ってるんでしょうがないけど。
0540名無しさん@そうだ選挙に行こう
2010/07/11(日) 21:56:17クラス作成して配列で渡すのが慣わし。
例としてEventArgs等がある。
0541名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:00:44なるへそ。
オライリーなんかの本だとそうしてるね。
>>540
ふむふむ、イミュータブルなクラスでやり取りする事になるのか。
0542名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:02:380543名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:05:370544名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:06:15staticにする
0545名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:12:530546名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:14:49例えばXElementのコンストラクタはparamだけどそれはコードに階層構造をベタ書きするため。
元からあるリストを渡すためのメソッドならparams付ける意味ないでしょ。
0547名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:23:00付けたところで困る事はないしさ。
0548名無しさん@そうだ選挙に行こう
2010/07/11(日) 22:39:510549名無しさん@そうだ選挙に行こう
2010/07/11(日) 23:01:59{0}や{1}を表示させない場合は「以上」「以下」も一緒に表示させなくしたい。
色々試してたら↓のコードが上手く行ったんだけど、
この方法ってアリ? たまたま上手く行ってるだけ?
public static void Main()
{
Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, null));
Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, null));
Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", 100, 200));
Console.WriteLine(string.Format("{0}{0:以上}{1}{1:以下}", null, 200));
}
>100以上
>100以上200以下
>200以下
0550名無しさん@そうだ選挙に行こう
2010/07/11(日) 23:10:04Silverlightプラグインはほとんどネイティブコードだ
.NETをスクリプティングに使ってるだけで下層のメディア処理はネイティブコードに丸投げ
>>549
そういう仕様じゃなかったっけ
0551名無しさん@そうだ選挙に行こう
2010/07/11(日) 23:18:060552名無しさん@そうだ選挙に行こう
2010/07/11(日) 23:21:51その上で動くマネージコードはマルチプラットフォームだよという意味
0553デフォルトの名無しさん
2010/07/11(日) 23:40:26ありがとう。見つけられた。
http://msdn.microsoft.com/ja-jp/library/0c899ak8.aspx
>その他
>上記以外のすべての文字
>文字が結果の文字列にそのままコピーされます。
色々鑑みて「 "{0:#,#'以上'}{1:#,#'以下'}" 」でイケそう。ありがとう!
0554デフォルトの名無しさん
2010/07/12(月) 00:43:01成功したら0を返すのか1を返すのかで迷っています。
if文の条件判定でその関数を使う場合1を返したほうがいいですし、
なんかC言語のmain関数なんかは、正常終了の場合、0を返します。
どっちがいいのでしょうか?bool型を使うと簡単なのはわかりますが、int型を戻り値とする場合は
どちらのほうが的確でしょうか?
0555デフォルトの名無しさん
2010/07/12(月) 00:49:420556デフォルトの名無しさん
2010/07/12(月) 00:50:59その関数で正常終了と判定した後にどうなるかで変わるんじゃないかな。
知らんけど。
0557デフォルトの名無しさん
2010/07/12(月) 00:52:540558デフォルトの名無しさん
2010/07/12(月) 00:54:370559デフォルトの名無しさん
2010/07/12(月) 00:56:420560デフォルトの名無しさん
2010/07/12(月) 01:02:320561デフォルトの名無しさん
2010/07/12(月) 01:06:420562デフォルトの名無しさん
2010/07/12(月) 01:17:580563デフォルトの名無しさん
2010/07/12(月) 01:33:330564554
2010/07/12(月) 01:37:57C言語の文字列操作関係の関数は成功すると0を返すみたいなので、それにならいます(><;)
いろいろと私のせいで議論してくれたみたいで、ありがとうございました(><;)
0565デフォルトの名無しさん
2010/07/12(月) 01:42:360566デフォルトの名無しさん
2010/07/12(月) 01:50:250567デフォルトの名無しさん
2010/07/12(月) 01:51:51C# で書くんなら絶対 bool にしろ。
C 言語とかとの相互運用目的なんだったら、非 0 が true。
main 関数とかの戻り値はあれ、エラーコードなのよ。
HasError == false だから 0。
0568554
2010/07/12(月) 02:10:52そうなんですね。非0がtrueの方がいいんですね。じゃあ、書き直します。
基本はbool でプログラムしてるんですが、ちょっとしゃれでC言語風に書いてみたいなあと思いまして・・
みなさん、スレ汚しすみません。初心者スレで聞けばよかったです。
0569デフォルトの名無しさん
2010/07/12(月) 06:51:13C言語は論理式で非0をtrueと扱う言語だから。
C#とかみたいにboolが用意されてる言語ならboolを使うべき。
0570デフォルトの名無しさん
2010/07/12(月) 07:12:22おはようございます(><;)
0571デフォルトの名無しさん
2010/07/12(月) 07:25:280572デフォルトの名無しさん
2010/07/12(月) 07:28:100573デフォルトの名無しさん
2010/07/12(月) 07:33:15if(func()) return; /* エラー検出して強制終了とかの場合こうしねえか? */
0574デフォルトの名無しさん
2010/07/12(月) 08:45:46そこにフォーカスをあてた状態でリターンキーを押すのですが、
ボタンをおせません。マウスでクリックしたときのような
アニメーションも発生しません。
ボタンを押せるようにするにはどうすればいいでしょうか?
0575デフォルトの名無しさん
2010/07/12(月) 09:30:340576デフォルトの名無しさん
2010/07/12(月) 11:30:25switch文を改行したりする機能)って有効にしたまま使ってる?
0577デフォルトの名無しさん
2010/07/12(月) 16:48:58コードのフォーマットにこだわって手修正したりする奴は迷惑なだけ
0578デフォルトの名無しさん
2010/07/12(月) 18:38:160579デフォルトの名無しさん
2010/07/12(月) 18:48:220580デフォルトの名無しさん
2010/07/12(月) 19:48:06一般にはうんこだとされてる手法だと思うけど....
そんな程度の人が偉そうに命令口調で講釈垂れてるんだから嫌になるな
0581デフォルトの名無しさん
2010/07/12(月) 19:50:15思わない
0582デフォルトの名無しさん
2010/07/12(月) 19:53:100583デフォルトの名無しさん
2010/07/12(月) 19:54:380584デフォルトの名無しさん
2010/07/12(月) 19:56:00>>580の命名規則にしたがってないからうんこメソッドだな
0585デフォルトの名無しさん
2010/07/12(月) 20:07:190586デフォルトの名無しさん
2010/07/12(月) 21:27:170587デフォルトの名無しさん
2010/07/12(月) 22:00:20using System.Xml.Linq;
と宣言を追加しただけの状態でコンパイルしてみたのですが、
型または名前空間名 'Linq' は名前空間 'System.Xml' に存在しません。アセンブリ参照が不足しています。
というエラーがでるのですが、どうすれば解決できるのですか?
0588デフォルトの名無しさん
2010/07/12(月) 22:04:43ターゲットフレームワークは.NET3.5か.NET4に設定する必要がある
0589デフォルトの名無しさん
2010/07/12(月) 22:07:140590デフォルトの名無しさん
2010/07/12(月) 22:13:00ありがとうございます。
対象のフレームワークは、.NerFramework3.5でした。
System.Linq.Xml.Linq.dllの参照設定とはどのようにやるのですか?
0591デフォルトの名無しさん
2010/07/12(月) 22:15:290592デフォルトの名無しさん
2010/07/12(月) 22:21:04.NETタブのSystem.Linq.Xml.dllを選んでOK
LINQ to XMLってちょっと癖があって結構難しいよ?
ちゃんとわかってる人のための便利なオモチャって感じ
0593デフォルトの名無しさん
2010/07/12(月) 22:33:160594デフォルトの名無しさん
2010/07/12(月) 22:40:03おお!できました!
ありがとうございました!
0595デフォルトの名無しさん
2010/07/12(月) 22:44:49お役に立ててなによりです
0596デフォルトの名無しさん
2010/07/12(月) 22:51:400597デフォルトの名無しさん
2010/07/13(火) 20:39:00こんな使いにくい制限をわざわざ設けてる理由って何なんだろう。
ファイルを上書き保存する時なんかに、作業ディレクトリに一旦一時ファイルを
作ってから元のファイルを置き換える用途を当然想定してるんだと思ってたが、
こんな制限があったらこういう使い方できないよね。
0598デフォルトの名無しさん
2010/07/13(火) 20:47:070599デフォルトの名無しさん
2010/07/13(火) 20:54:390600デフォルトの名無しさん
2010/07/13(火) 20:59:40物理的にファイル動かさなくて済むからでしょ。
0601デフォルトの名無しさん
2010/07/13(火) 21:05:49それは事実としては正しいけど、
それって>>597みたいな制限を正当化する理由になるかね?
0602598
2010/07/13(火) 21:16:23当然ファイルの実体は全部同じボリューム上にある必要があるだろ
0603デフォルトの名無しさん
2010/07/13(火) 21:18:39言ってる意味分かってる?
だから、そういうシステムの都合があるにせよ、
そのシステムの都合をFile.Replaceに「押し付ける」理由をお聞きしてるわけですが。
0604デフォルトの名無しさん
2010/07/13(火) 21:29:48MSに聞けとしか。
想像だけどアトミックな操作に使ってくれ(そしてそれは物理ボリュームが別だと無理)ってことなんじゃないの?
同じディレクトリ内の作業でバックアップファイル作るために使うとかさ。
それ以外は Move とか Copy とか使えってことなんじゃないのかね。
0605598
2010/07/13(火) 21:31:06ファイルシステムに依存した機能だからこそアトミック性が保証できるんだろっつうか
逆にファイルシステムの都合に依らないファイル操作なんてありえんのかって話だが
0606デフォルトの名無しさん
2010/07/13(火) 21:35:25タスクトレイだけですませたいんだけど。
フォームがないとデザイン画面でnotifyiconとか作れないし。
0607デフォルトの名無しさん
2010/07/13(火) 21:42:000608デフォルトの名無しさん
2010/07/13(火) 21:44:36Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか?
タスクトレイだけですまたいんです。
フォームがないとVisualStudioのデザイン画面を使い
NotifyIconコントロールなどを貼り付けたりすることができません。
よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
0609デフォルトの名無しさん
2010/07/13(火) 21:48:530610デフォルトの名無しさん
2010/07/13(火) 21:51:48フォームがないとVisualStudioのデザイン画面を使いNotifyIconコントロールなどを貼り付けたりすることができません。よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。
0611598
2010/07/13(火) 21:53:030612デフォルトの名無しさん
2010/07/13(火) 21:53:40ただの愚痴だけど、>>597みたいな処理を安全に書くのって意外と手間だからさ。
安全っていうのは、例えば仮に何らかの理由でオリジナルのファイルを
作業ディレクトリに作った一時フォルダで置き換えられないとしても、
最低限オリジナルのファイルが失われないことを保証しようと思うと結構面倒。
こういうのこそライブラリで用意されるべきだと思うんだけどな。
0613デフォルトの名無しさん
2010/07/13(火) 21:54:420614デフォルトの名無しさん
2010/07/13(火) 21:57:20その間にソース書いたほうがよっぽど生産的
0615デフォルトの名無しさん
2010/07/13(火) 21:59:14notifyIcon.Visible = true;
しといて
Application.Run();
呼ぶだけ。
これでメッセージループが動く。
終わるときは、
Application.Exit();
を呼ぶ。
0616608
2010/07/13(火) 22:03:32どうも、ありがとうございます。それだけでできるんですか?
とても助かりました。今からやってみます!
他の人もどうもありがとうございました!
0617デフォルトの名無しさん
2010/07/13(火) 22:29:35あと、C#のソースをJAVAに移植するとしたら、どんな事に気をつければよいですか?
0618デフォルトの名無しさん
2010/07/13(火) 22:35:52本なんていらん
どうしてもというなら@ITの本があるからそれ買え
0619デフォルトの名無しさん
2010/07/13(火) 22:42:28最小構成サンプル
using System;
using System.Windows.Forms;
namespace nicon {
public class nicon {
System.Windows.Forms.NotifyIcon icon
= new System.Windows.Forms.NotifyIcon();
System.ComponentModel.ComponentResourceManager res
= new System.ComponentModel.ComponentResourceManager(typeof(nicon));
nicon() {
icon.Icon = (System.Drawing.Icon)res.GetObject("nicon");
icon.ContextMenu = new ContextMenu( new MenuItem[] {
new MenuItem("Exit", delegate { Application.Exit(); } )
});
}
[STAThread]
public static void Main(string[] args) {
nicon inst = new nicon();
inst.icon.Visible = true;
Application.Run();
inst.icon.Dispose();
}
}
}
0620デフォルトの名無しさん
2010/07/13(火) 23:42:52例外をスローもせずに完全に固まらないか?
0621デフォルトの名無しさん
2010/07/13(火) 23:48:010622デフォルトの名無しさん
2010/07/13(火) 23:56:270623デフォルトの名無しさん
2010/07/13(火) 23:56:44いやなる
Windows7 64bit C:\ルートに存在しないファイル名でStreamReaderやってみそ
0624デフォルトの名無しさん
2010/07/13(火) 23:58:000625608
2010/07/14(水) 00:00:19ぬぁー!どうもありがとうございます。すごい参考になりました!
もう、あとは私の個人的な機能を付加するだけですね(;^_^
個人的な機能もたいしたことがないので、ちょっと追加するだけでよさそうです。
こんなものをパッと書けるなんてすごいですね。
ネットを今、あさってる最中でした。ありがとうございました。ComponentResourceManagerとかすごい参考になります。
0626デフォルトの名無しさん
2010/07/14(水) 00:03:04いやだよ。
0627621
2010/07/14(水) 00:09:35Windows7 Ultimate x64 + Visual Studio 2010 Professional
.NET2.0/4.0, x86/x64/AnyCPU, Debug/Release の12通りの組み合わせで試してみたけど、
どの組み合わせでもFileNotFoundExceptionが発生するな。とりあえずソース晒せ。
ちなみに俺はこう書いた。
using (var sr = new StreamReader(@"C:\a.txt"))
{
}
0628デフォルトの名無しさん
2010/07/14(水) 00:29:37{
String data = sr.ReadToEnd();
}
MessageBox.Show("aaa");
複雑なんでFormLoadにこれを書いて試したがやっぱりメッセージが出てこない
0629デフォルトの名無しさん
2010/07/14(水) 00:31:21Windows7はクリーンインストール後、特にフォルダの権限とかいじってない状態です
0630デフォルトの名無しさん
2010/07/14(水) 00:35:46あのさあ・・・初心者スレに行ってくれないかな?
0631デフォルトの名無しさん
2010/07/14(水) 00:43:34そりゃc:\a.txtが存在してないならMessageBox.Showが呼び出されることは決して無いだろうが
0632621
2010/07/14(水) 00:47:07確かにVS2008でデバッグ実行すると、例外が捕捉されないな。
出力ウィンドウを見る限り例外自体は発生しているし、デバッグなしで実行(Ctrl+F5)すれば
ちゃんと例外ハンドラが働くから、VS2008のデバッガの問題っぽい。
メッセージボックスが表示されないこと自体は>>631の言うとおり正常な動作。
とりあえず StreamReader は避けて File.ReadAllLines とか File.ReadAllText を使ったら?
0633デフォルトの名無しさん
2010/07/14(水) 00:59:40ああほんとだ、デバッグモードのしとけば何か原因が拾えるという思い込みが逆に命取りだった
普通に実行したら例外が出てるね
なんじゃこりゃ
0634デフォルトの名無しさん
2010/07/14(水) 01:05:410635デフォルトの名無しさん
2010/07/14(水) 01:53:49例外出ても止まったり止まらなかったりするのは割とよくある
0636デフォルトの名無しさん
2010/07/14(水) 09:38:11DHTを実装して普通に車輪の再発明しても意味がないので
全文検索システムに改造してみた
といっても負荷の予想がつかないので小さいメモを放流して
内容から検索するみたいなそんなものを
理論上数百万件のデータが保持出来る
検索はたぶん1つにつき10分程度かもしれない
ただの実験ソフトなんだけど、実用的に動いたら応用範囲はかなりあると思うのだけど
誰かテストしませんか?
0637デフォルトの名無しさん
2010/07/14(水) 09:39:57面白そう
0638デフォルトの名無しさん
2010/07/14(水) 09:44:580639デフォルトの名無しさん
2010/07/14(水) 11:15:26アップロードとかいろいろしないといけないのでしばらくお待ちください
>>638
遅いかな?まあGoogleみたいなのに比べると遅いけど
ネットじゅうに分散したメモから10分で余すところ無く拾い集めてくるってことだよ
といっても予想だけど、シミュレーションではうまく動いてるけど
実際のネット環境では動くかどうか
0640デフォルトの名無しさん
2010/07/14(水) 11:34:490641デフォルトの名無しさん
2010/07/14(水) 11:38:37そのまま使ってるのかー。
自分も一応そのまま使ってるけど、2010になってから
かなり補正するようになって使いにくくなった気がする。
;か}が入力されたときに調整してるから}を先に書くと
うまく補正されない。癖の問題ではあるけど。
ところで「基本設定」と「上級者設定」ってのがあるけど、
基本設定の場合、手動で追加しないとタブオーダーと
インデント操作はできないの?
0642デフォルトの名無しさん
2010/07/14(水) 11:41:140643デフォルトの名無しさん
2010/07/14(水) 11:42:12に見えた。
0645デフォルトの名無しさん
2010/07/14(水) 11:45:360646デフォルトの名無しさん
2010/07/14(水) 11:49:560647デフォルトの名無しさん
2010/07/14(水) 12:38:29ある程度構文正しければ確かに補正されたと思う。
構文関係は慣れることにします。
>>646
/*〜*/の中に貼り付けすると勝手にインデントする
(これを直すのにインデント操作ボタンが欲しかったけど基本設定では表示されてなかった)
/*で改行すると次の行に*が入る
この辺が特に難儀に感じた。
0648デフォルトの名無しさん
2010/07/14(水) 12:45:340649デフォルトの名無しさん
2010/07/14(水) 14:04:14フォーム内のボタンを押した事と同じイベントを発生させたいのですが
これはどうやって実現できますか?
また、テキストボックスが10個あるとして
そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが
これを一カ所にまとめる事はできますか?
VB の handle1,handle2 みたいな書き方がしたいのですが
ご教示お願いいたします。
0650デフォルトの名無しさん
2010/07/14(水) 14:11:19> すみません、すべてのテキストボックスでエンターが押された時に
> フォーム内のボタンを押した事と同じイベントを発生させたいのですが
同じイベントを発生させるんじゃなくて、それぞれのイベントで同じメソッドを呼び出す方向で
> また、テキストボックスが10個あるとして
> そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが
> これを一カ所にまとめる事はできますか?
> VB の handle1,handle2 みたいな書き方がしたいのですが
デザイナでイベントハンドラを既存のに設定する
0651デフォルトの名無しさん
2010/07/14(水) 14:12:16ありがとうございます。
さっそく調べてみます。
0652デフォルトの名無しさん
2010/07/14(水) 14:17:14>デザイナでイベントハンドラを既存のに設定する
できました!ありがとうございます!
0653デフォルトの名無しさん
2010/07/14(水) 14:54:09項目の選択状態を未選択、または先頭の項目を選択状態にするには、
どうすれば良いでしょうか?
SelectedItemsプロパテイでできるかと思いましたが、
仮想モードではエラーとなりました。
0654デフォルトの名無しさん
2010/07/14(水) 15:02:490655デフォルトの名無しさん
2010/07/14(水) 15:12:14C#のコードの記法が
if(state)
{
}
とかに自動的になるのが気に入らないんですが
デフォルトを
if(state){
}
にする方法はありますか?
0657デフォルトの名無しさん
2010/07/14(水) 15:24:11C#の相談というよりVSの使い方だが
[ツール]→[オプション] の中にテキストエディタの設定をするところがある
0658デフォルトの名無しさん
2010/07/14(水) 15:24:27オプションのテキストエディタ - C# - 書式設定の中を好きにいじれ
あと初心者用スレもあるから内容に応じて選択しろ
0659デフォルトの名無しさん
2010/07/14(水) 15:45:00\ l ,ッィrj,rf'"'"'" lミ::::::: く れ モ ま
Y ,! ミ::::::: ヽ な 以 な
`ヽ、 | くミ:::::::: ノ い 外 い
|、__ ャー--_ニゞ `i::::,rく か は
``''ー- ゝ、'l  ゙̄´彑,ヾ }::;! ,ヘ.) ! 帰
゙ソ """"´` 〉 L_ っ
/ i , /| て r
≡=- 〈´ ,,.._ i 't-'゙ | ,へ ,r┘
,、 yx=''" `ー{゙ _, -、 ; l レ' ヽr、⌒ヽ'
゙、`--─゙ /! `、
_,,、- ゙、 ー'' / ; `、
-''"_,,、-''" ゙、 /;;' ,' / 、\
-''" / `ー─''ぐ;;;;' ,' ノ
// / ヾ_、=ニ゙
0660デフォルトの名無しさん
2010/07/14(水) 15:46:09>>657 >>658さん ありがとうございました!解決しました!
0661デフォルトの名無しさん
2010/07/14(水) 15:53:53しねよ
0662デフォルトの名無しさん
2010/07/14(水) 18:01:14お前が市ね、ばか
0663デフォルトの名無しさん
2010/07/14(水) 18:03:580664デフォルトの名無しさん
2010/07/14(水) 18:14:27じゃあ俺が市ぬよ。
0665デフォルトの名無しさん
2010/07/14(水) 20:02:43System.IO.Directory.GetDirectories("C:\\");
って、結果違うのね。。。
フォルダの時はちゃんと\付けて返してくれるのに、
なぜドライブの時は\を付けてくけないのだ。。。
0666デフォルトの名無しさん
2010/07/14(水) 20:13:00GetFiles や GetDirectories を使うと落ちるのはどうにかならないものか。
SystemVolumeInformationにアクセスしようとして権限違反で落ちるようなんだけど。
0667デフォルトの名無しさん
2010/07/14(水) 20:35:01TopDirectoryOnlyで例外ハンドルしながら自分で再帰処理するしかないんじゃ
0668デフォルトの名無しさん
2010/07/14(水) 21:02:22・JapaneseCalendar.Eraから西暦の開始日付を取得したい
・JapaneseCalendar.Eraを"平成"等の文字に変換したい
完全にJapaneseCalendar依存にしたいのでEraをswitch分岐したり
定数で開始日付を固定したくはないのですが出来ますか?
0669デフォルトの名無しさん
2010/07/14(水) 21:24:02後者はたぶん無理。
0670デフォルトの名無しさん
2010/07/14(水) 21:35:43Parseで変換できるんだから"平成"等の取得くらいは期待してました・・。
ありがとう。
0671デフォルトの名無しさん
2010/07/14(水) 21:41:210672デフォルトの名無しさん
2010/07/14(水) 22:06:490673636
2010/07/14(水) 22:43:550674デフォルトの名無しさん
2010/07/14(水) 22:48:370675デフォルトの名無しさん
2010/07/14(水) 23:07:440676デフォルトの名無しさん
2010/07/14(水) 23:20:06int era = 0;
var culture = new System.Globalization.CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new System.Globalization.JapaneseCalendar();
var eraName = culture.DateTimeFormat.GetEraName(era);
で取得できるみたい
0677デフォルトの名無しさん
2010/07/14(水) 23:21:05面白そうだけどPerl版で普通のhttpリクエストしか実装してないから
GAE専用のアクセスクラスを実装しないといけないので時間が掛かる
0678デフォルトの名無しさん
2010/07/14(水) 23:34:43そうなのか、サンクス
0680デフォルトの名無しさん
2010/07/15(木) 01:57:00windowsフォームアプリケーションでinvokeを使う場合
this.Invoke(〜〜〜
で使えますがフォームを持たないクラスでこうしたい場合はどのようにすればよいのでしょうか?
分かる方、お願いいたします
0681デフォルトの名無しさん
2010/07/15(木) 01:57:580682デフォルトの名無しさん
2010/07/15(木) 02:07:380683デフォルトの名無しさん
2010/07/15(木) 02:16:44コントロールへの参照がないならControl.Invokeする必要ないし
コントロールへの参照があるならそれ使ってInvokeするだけだし
0684デフォルトの名無しさん
2010/07/15(木) 02:20:06意味もわからない馬鹿は出直せ
0685デフォルトの名無しさん
2010/07/15(木) 02:24:14Invoke9
0686デフォルトの名無しさん
2010/07/15(木) 02:56:44そっちこそそういうのいいですからw偽物です
では別クラスのスレッドからフォームを操りたい場合はどうすればいいんでしょうか
0687デフォルトの名無しさん
2010/07/15(木) 03:29:10フォームを操るんだからフォームの参照持ってるだろ?
0688デフォルトの名無しさん
2010/07/15(木) 03:42:59別クラスでは新しいスレッドが作られていてそのスレッド内でイベントを発生させてフォーム側でそのイベントを処理するのですが
フォーム側のソースでイベントの引数を受け取ろうとしたら"有効でないスレッド間の操作"となってしまいます。
現在はフォーム側で
private void get_chat(string chat)
{
this.Invoke((MethodInvoker)delegate()
{
textBox1.Text += chat;
textBox1.Text += "\r\n";
});
}
として無事chatを受け取れているのですがライブラリとして作っているのでフォーム側でこのようにするのは避けたいわけです。
まだ始めたばかりで説明下手ですみません・・・
0689デフォルトの名無しさん
2010/07/15(木) 03:46:54何がわかんねぇんだ?
0690デフォルトの名無しさん
2010/07/15(木) 03:48:590691デフォルトの名無しさん
2010/07/15(木) 04:05:11http://cs2ch.blogspot.com/2010/03/blog-post_29.html
0692デフォルトの名無しさん
2010/07/15(木) 04:07:22private void OnGetChat(Object o, EventArgs e){
textBox1.text += e.chat;
}
で
ClatClass
{
private RecvThread (){
socket.recv(*****)
if(OnGetChat != null){
ここでinvokeしてOnGetChatを呼び出したい
}
という意味では?}
0693デフォルトの名無しさん
2010/07/15(木) 04:09:34クラスからフォームのメソッド呼び出すとかどんな設計だよ
0694デフォルトの名無しさん
2010/07/15(木) 04:16:43イベント処理が別スレッドのまま渡されてすべてユーザーがフォームでInvokeしないといけない
なんて仕様の方が気持ち悪い、意味分からない、利点が思いつかない
自分も外部クラスでラップしたイベントがいちいちユーザーが使う時にInvokeしないと使えないなんて
無様すぎるから疑問に思ってたけど、これといった解決策が分からないままでいた
0695デフォルトの名無しさん
2010/07/15(木) 04:19:190696デフォルトの名無しさん
2010/07/15(木) 04:23:01ジャバは知らないがMFCとかC++SDKとかイベントループは各フォームが1個づつ持ってて
外部から投げようがメインスレッドで確実に処理される
単に別スレッドのまま呼び出すのはただのコールバックだし
それだったらわざわざEventHandlerなんて意味深なものを用意する意味が分からないんだが
0697デフォルトの名無しさん
2010/07/15(木) 04:31:230698デフォルトの名無しさん
2010/07/15(木) 04:32:450699デフォルトの名無しさん
2010/07/15(木) 04:35:28C#は何でgotoを使ったらいけないみたいな風潮なの?気持ち悪っ!
とか何とか言い出しそうだなw
0700デフォルトの名無しさん
2010/07/15(木) 04:42:42だって、仕様(しょう)がない。。。
0701デフォルトの名無しさん
2010/07/15(木) 04:53:18MFCは旧来のオブジェクト指向言語のイベントは
メインスレッド <- 外部スレッドがポストだったんだけど
JavaをベースにしたC#は
メインスレッド->外部スレッドに関数ポインタ(デリゲート)を渡して呼び出してもらう
にしたからクラスで完結したイベント処理が「不可能」なんだな
やりたくでも出来ないんだw
かっこ悪いのは分かってるけど出来ないんだw
もし無理やりやるとしたら
外部クラスでデリゲートをキューしておいて
メインスレッドのフォームからそれを一括呼び出しする関数を呼び出すみたいな
そういうことしか方法がないのかもしれない
>>698や>>699はそこまで考える頭が無いのは分かってるが
0702デフォルトの名無しさん
2010/07/15(木) 04:55:15イベントキューみたいなのを包めて設計して欲しかったな
0703デフォルトの名無しさん
2010/07/15(木) 05:20:550704デフォルトの名無しさん
2010/07/15(木) 05:27:30自分で用意すればいいじゃん
0705デフォルトの名無しさん
2010/07/15(木) 05:27:39rem dirの出力をクリップボードに取り込む
dir | clip
rem クリップボードの内容を表示
clip
こういうコンソールアプリを実装したい場合、
上下の処理の分岐ってどう書けばいいんですか?
0706デフォルトの名無しさん
2010/07/15(木) 05:38:060707デフォルトの名無しさん
2010/07/15(木) 06:19:00ISynchronizeInvokeでググれ
0708デフォルトの名無しさん
2010/07/15(木) 06:28:20rem dirの出力をクリップボードに取り込む
dir | clip
rem クリップボードの内容を表示
clip
こういうコンソールアプリを実装したい場合、
上下の処理の分岐ってどう書けばいいんですか?
0709デフォルトの名無しさん
2010/07/15(木) 06:40:24(ハローワールド程度)
これを、自分のパソコンのウェブサイトにコピーしたのですが
動きません<C:\inetpub\wwwroot>
VSでのデバッグ時には動いています。
http://localhost/とやると、デフォルトのHTMLが表示されます。
http://localhost/WpfBrowserApplication1.xbap と入れると
アプリケーションのダウンロードエラーとなってしまいます
WpfBrowserApplication1.*は全部Default.htmlのあるルートに
コピーしてあります。
0710デフォルトの名無しさん
2010/07/15(木) 06:54:15ぐぐれ
デザイナーのプロパティの項目を上からみていけ
0711デフォルトの名無しさん
2010/07/15(木) 07:27:54PeekConsoleInput関数でいける感じはするけど保証はないな、ドキュメント的に
0712636
2010/07/15(木) 08:36:47とりあえずアップロードしてみたテスト
0713デフォルトの名無しさん
2010/07/15(木) 09:07:26凄く時間のかかる全文検索だけ?
どういう目的で使うの?
0714デフォルトの名無しさん
2010/07/15(木) 09:12:15将来的にはこれはまったく別のP2Pシステムの一部になる予定だけど
本当に機能するか実験してる所です。
何か面白い使い方があれば適当にやって下さい。
多少の修正は対応します。
0715デフォルトの名無しさん
2010/07/15(木) 09:16:070716デフォルトの名無しさん
2010/07/15(木) 09:16:150717デフォルトの名無しさん
2010/07/15(木) 09:17:16しかも検索出来るのはその文章のタイトルか内容のヒントを知ってる人だけだから
秘密の情報をやり取りするのとかに使えるかもしれない
0718デフォルトの名無しさん
2010/07/15(木) 09:24:15んでヒント知ってる者同士ならその間柄でやり取りしたほうがセキュアじゃね?
暗号化つっても通信経路だけで常にオープンなわけだし
0719デフォルトの名無しさん
2010/07/15(木) 09:54:420720デフォルトの名無しさん
2010/07/15(木) 09:55:36デリゲートをキューに入れて、メインスレッドで一括呼び出しって、
それこそ Control.Invoke とか Dispatcher.Invoke がやってる事じゃん。
0721デフォルトの名無しさん
2010/07/15(木) 10:19:110722デフォルトの名無しさん
2010/07/15(木) 10:57:14このスレ30歳以下しかいないんだな
0723デフォルトの名無しさん
2010/07/15(木) 11:00:01原因が分からないけどこれのパケットだけ何故かFWに全部はじかれてる
なんでだろう
0724デフォルトの名無しさん
2010/07/15(木) 11:14:18今日初めてこのスレに来たから反応する暇も無いが
わかりにくいわw
0725デフォルトの名無しさん
2010/07/15(木) 11:23:26たぶんOKです
0726デフォルトの名無しさん
2010/07/15(木) 11:42:16さっきルータのポートだけ開けてパソコンのFWで開け忘れてた
今は両方開けたつもりだけどまだ参加できないって言われる
「切断 0/0 受信 0.00bps / 送信0.00 bps 受信 49bytes / 送信 343bytes」って出てる
0727デフォルトの名無しさん
2010/07/15(木) 11:48:47オアシス的な場所。
0728デフォルトの名無しさん
2010/07/15(木) 11:55:41dataフォルダをまるごと削除してもう一度再起動してもらえますか?
申し訳ない、こればっかりはデバッグ出来ない問題なんで
0730デフォルトの名無しさん
2010/07/15(木) 12:21:10>>>>698や>>699はそこまで考える頭が無いのは分かってるが
自分が良く分かって無いのにこういうこと言っちゃう人って…
0731デフォルトの名無しさん
2010/07/15(木) 12:26:48Begin〜( delegate()
{
ThreadPool.Push( delegate() //Invokeのデッドロック回避
{
Invoke( (MethodInvoker)delegate()
{
//メインスレッドで処理
}
}
} ) ) );
0732デフォルトの名無しさん
2010/07/15(木) 12:34:02UIスレッドでイベントを発生させるのが推奨されてる
もちろんフレームワーク側でのサポートが必要(WinFormsやWPFではサポートされてる)
0733デフォルトの名無しさん
2010/07/15(木) 16:06:45ArrayList 同士の結合をするには、どうすれば良いのでしょうか?
0734デフォルトの名無しさん
2010/07/15(木) 16:10:18それはそれとしてArrayListなんか廃棄してList<T>なりに移行すること
0736デフォルトの名無しさん
2010/07/15(木) 18:01:08おお、dataフォルダ消したら接続できた
ありがとう
0737デフォルトの名無しさん
2010/07/15(木) 18:09:41System.Security.Cryptography.CryptographicException はハンドルされませんでした。
Message="データが正しくありません。\r\n"
Source="mscorlib"
StackTrace:
場所 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
場所 System.Security.Cryptography.Utils._DecryptKey(SafeKeyHandle hPubKey, Byte[] key, Int32 dwFlags)
場所 System.Security.Cryptography.RSACryptoServiceProvider.Decrypt(Byte[] rgb, Boolean fOAEP)
場所 c.a(Byte[] A_0, Byte[] A_1)
場所 c6.a()
場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
場所 System.Threading.ThreadHelper.ThreadStart()
InnerException:
0738デフォルトの名無しさん
2010/07/15(木) 19:27:07お行儀の悪いソフトだな…
0739デフォルトの名無しさん
2010/07/15(木) 20:11:28入力した文字列に含まれる単語をstring[]などで取得したいのですが
いい方法はないですか?
//例 今日は学校に行った ⇒ { "今日","学校","行った"} ("は","に")が入ってもかまわないです
変換キーを押したときに,IMEで再変換時にでる下線部ごとにstring[]を作ってくれるとありがたいのですが,
ググってもIME周辺の処理がいまいち分かりません
回答求む
0740デフォルトの名無しさん
2010/07/15(木) 20:15:210741デフォルトの名無しさん
2010/07/15(木) 20:16:17サンクス
0742デフォルトの名無しさん
2010/07/15(木) 20:18:38うん
0743デフォルトの名無しさん
2010/07/15(木) 20:41:08描画する線が明らかに全くない場合は自前でDrawLineを呼び出さないように弾いちゃった方が早い?
それとも自前でコードを書かなくてもDrawLine内で同コストで弾いてくれる?
0744デフォルトの名無しさん
2010/07/15(木) 20:46:440745デフォルトの名無しさん
2010/07/15(木) 21:24:58そんなとき自前で判定してたらメリット半減だよね。
0746デフォルトの名無しさん
2010/07/15(木) 21:50:17ぜひ実測して結果を公表して。
0747デフォルトの名無しさん
2010/07/15(木) 22:13:250748デフォルトの名無しさん
2010/07/15(木) 22:15:530749デフォルトの名無しさん
2010/07/15(木) 22:19:42なんだそれは
>>738暗号関係の部分はしてる
こっちでは何も出ない
環境の問題?
0750デフォルトの名無しさん
2010/07/15(木) 22:23:24こんなのは昔のN88BASICのline命令から普通にできた話
仮想スクリーンだとか言葉は違うけど
指定したエリア(カメラの範囲や表示可能領域)から外れた場合は
処理しないってのはまあ大体実装されてる機能だよ
0751デフォルトの名無しさん
2010/07/15(木) 22:23:360752デフォルトの名無しさん
2010/07/15(木) 22:27:21修正します
0753デフォルトの名無しさん
2010/07/15(木) 22:33:550754デフォルトの名無しさん
2010/07/15(木) 22:52:07MS系BASICにそんなのなかった気がしたが....
まあ、>>750が勝手に熱くなってるけど>>743が聞いてるのはべつにそんなことじゃ
ないはずなんだがなw
0755デフォルトの名無しさん
2010/07/15(木) 22:54:41修正版アップしました
0756デフォルトの名無しさん
2010/07/15(木) 23:03:590757デフォルトの名無しさん
2010/07/15(木) 23:09:45できたよ
当時は若かったので仮想スクリーンが何を意味するかわからなかったけど
現在のGPUでは当たり前にやってるような機能が当時からあったんだなあ
と近年3D関連やってみて思った
0758デフォルトの名無しさん
2010/07/15(木) 23:18:480759デフォルトの名無しさん
2010/07/15(木) 23:19:58単に座標が実表示領域を超えててもエラーにならないってだけだろ?
0760デフォルトの名無しさん
2010/07/15(木) 23:32:10直線のクリッピングなんて中学の数学の知識で出来るけどね。
んな大げさな話でもない。
0761デフォルトの名無しさん
2010/07/15(木) 23:38:090762デフォルトの名無しさん
2010/07/16(金) 09:10:13おそらく1ドットずつウィンドウ内かどうか判定して描画している。
0763デフォルトの名無しさん
2010/07/16(金) 09:26:150764デフォルトの名無しさん
2010/07/16(金) 09:26:56ちゃんと計算されてる。角度とか。
0765デフォルトの名無しさん
2010/07/16(金) 09:36:020766デフォルトの名無しさん
2010/07/16(金) 09:37:040767デフォルトの名無しさん
2010/07/16(金) 09:54:48と言うと、ウィンドウの重ね合わせの描画処理ってどうやってると思います?
まさか下のウィンドウから順番に描画していき、最後に画面に表示ってのはないと思うけど。
0768デフォルトの名無しさん
2010/07/16(金) 10:01:510769デフォルトの名無しさん
2010/07/16(金) 10:12:18正式にどうやっているか知らないので。
0770デフォルトの名無しさん
2010/07/16(金) 10:14:110771デフォルトの名無しさん
2010/07/16(金) 12:07:37ツールボックスのコントロールが有効にならないため、使用できません。
自作していない他のコントロールは全て有効になっており、
試しにデザイナーを使わずに動的にコードでコントロールを生成したところ、
正常に動作しました。
これはどう言ったことが考えられますでしょうか?
0772771
2010/07/16(金) 12:18:19自作コントロールを作成したプロジェクト内のフォームにそのコントロールを貼り付け、
それをデザイナーでコピーして、
別のプロジェクトのフォームに貼り付けることはできました。
0773デフォルトの名無しさん
2010/07/16(金) 12:41:410774771
2010/07/16(金) 13:21:240775デフォルトの名無しさん
2010/07/16(金) 13:38:20おれ自分専用のユーザーコントロール用プロジェクトを別に作ってるよ。
XAMLでちゃんとネームスペース指定してやれば問題なくつかえています。
0776デフォルトの名無しさん
2010/07/16(金) 13:38:270777771
2010/07/16(金) 13:58:38原因は、2つのプロジェクトのアセンブリ名が同じで、
かつ出力の種類が「Windowsアプリケーション」だったため、
リビルドすると、片方のプロジェクトにEXEが上書きされていたためです。
お恥ずかしい限りです。
皆様のご意見、試行錯誤の参考になりました。ありがとうございます。
0778デフォルトの名無しさん
2010/07/16(金) 17:07:50どうすればいい?
0779デフォルトの名無しさん
2010/07/16(金) 17:58:23今のWindowsではそれぞれのウィンドウが自分自身をバッファに描いたら
それをハードウェアの機能使って重ねてるだけでしょ
0780デフォルトの名無しさん
2010/07/16(金) 18:17:31ウィンドウの数が増えた場合、遅くなるってこと?
0781デフォルトの名無しさん
2010/07/16(金) 18:24:12半透明+枠のぼかし+影効果付きで画像を数十枚描画するくらい屁でもない
0782デフォルトの名無しさん
2010/07/16(金) 18:31:10おそくならねえよw
この辺の2Dアクセラレーターはかなり前から積んでるだろうw
最近は2Dアクセラレーターの代わりに3D処理部分を使ってるみたいだが
0783デフォルトの名無しさん
2010/07/16(金) 18:46:52重くならない理由になってないけど。
結論から言うと、
10枚のウィンドウががぴったり重ってる時に一番下のウィンドウに線を描いた場合、
ハードだろうがソフトだろうが、
10枚全部描画しなおすなんてことはしない。
1000枚ウィンドウが重なっていても、スピードは落ちない。
0784デフォルトの名無しさん
2010/07/16(金) 18:50:15だからその辺は奥行きを見て見えてる部分に関しては
クリッピングなどでエリア内だけ描画するようにしてるだよ
この辺の処理効率はある意味当たり前に実装されてる
0785デフォルトの名無しさん
2010/07/16(金) 19:33:03奥のウィンドウだけが更新されようが関係ない
最後の重ね合わせの段階では単なる画像描画だからハードの力でリアルタイムに行える
0786デフォルトの名無しさん
2010/07/16(金) 19:42:38大まかな方針としては、Application.EnterThreadModalでダイアログのウィンドウハンドルを
検索して適当な子ウィンドウに適当なメッセージを送ればいいんだろう。
ただこのやり方は恐らくXPスタイルのダイアログに対してしか使えないけどね。
0787デフォルトの名無しさん
2010/07/16(金) 20:37:090788デフォルトの名無しさん
2010/07/16(金) 21:30:24だよね。ダブルバッファの理屈でいくと見えてようが見えてまいが描画してるよな。
重ねあわせは一々計算の必要のない単純なメモリコピーだからちょっとぐらい増えようと速度かわらんし。
0789デフォルトの名無しさん
2010/07/16(金) 21:43:570790デフォルトの名無しさん
2010/07/16(金) 23:25:07ダブルバッファには違いがないが、
下から全てのウィンドウをバッファに描いていき、最後にコピーとかはしないよ。
今から15年以上前のPCでも実現できていたことを考えてみて。
例えばCPUが80286、12MHz、メモリが1MBで、同じことができるだろうか?
0791デフォルトの名無しさん
2010/07/16(金) 23:31:170792デフォルトの名無しさん
2010/07/16(金) 23:40:310793デフォルトの名無しさん
2010/07/17(土) 00:46:31もしかして円マークが原因でしょうか?
for (int i = 0; i < 200; i++) {
Console.WriteLine(@"C:\欲があるのは良くない");
}
0794デフォルトの名無しさん
2010/07/17(土) 01:14:08XP SP3+VC#EE2010
0795デフォルトの名無しさん
2010/07/17(土) 01:37:37>>793なんか、絶対にこのコードで本当に「問題」が再現するか確認してないだろw
0796デフォルトの名無しさん
2010/07/17(土) 03:18:11コンソールアプリだとしなかった。
原因はわからなかった。
XP SP3 Visual C# 2010 Express
0797デフォルトの名無しさん
2010/07/17(土) 03:25:09特定の文字は問題がおきるんだがその辺の関係かね?
@をつけると"そのまま"扱われるらしいが内部的に
どういう文字コード体系で扱われるのかまでは
気にしたことがなかったな
0798デフォルトの名無しさん
2010/07/17(土) 03:26:29以後表示できなくなってしまいます。
大きさ変更後も強制的にスクロールバーを表示し続けるにはどうすればいいんでしょうか
0799デフォルトの名無しさん
2010/07/17(土) 03:28:45for (int i = 0; i < 200; i++) {
Console.WriteLine(@"C:\\欲があるのは良くない");
}
0800794
2010/07/17(土) 03:38:01バク出るコードの最小のコードをうぷしてよ。検証のしようがない。
0801デフォルトの名無しさん
2010/07/17(土) 03:38:21欲って字がダメ文字に入ってるな・・・
http://sites.google.com/site/fudist/Home/grep/sjis-damemoji-jp/table
というかワザとわからないフリをして書き込んでないか?
0802デフォルトの名無しさん
2010/07/17(土) 03:47:53@とると>>793のコードはビルドできないんだよな
どんな開発環境でやってそうなるんだ
もっと詳しい情報だせよ
それともあれか?また後だしでこんなこともわからないのかよ
と書き込む痛い子か?
0803デフォルトの名無しさん
2010/07/17(土) 04:34:35トップ画面に表示するリストを近隣ノードから集めたものにした
これで人数が少ない時は誰かが書いたら即座に表示されると思う
人が多くなってきたら検索語に関連したメモが出てくるようになると思う
0804デフォルトの名無しさん
2010/07/17(土) 08:29:190805デフォルトの名無しさん
2010/07/17(土) 08:48:030806793
2010/07/17(土) 09:08:40最小のコードがあれなんです。もちろん検証済みです。
ちなみに、
Console.SetOut()で、ファイル出力した場合は文字化けしません。
デバッグ時にコンソールに出力した場合のみ出ます。
>>796
文字化けしましたか。ありがとうございます。
>>797
特定の文字の場合は常に文字化けすると思いますが、
「たまに」文字化けしてしまうのです。
>>799
「\\」がそのまま「\\」になってしまいますが、文字化けはしませんでした。
円マークを抜くと、文字化けしなくなります。
>>802
環境は、
Vista64bit SP2 C# 2008 Express
Microsoft Visual Studio 2008 Version 9.0.30729.1 SP
Microsoft .NET Framework Version 3.5 SP1
です。
0807デフォルトの名無しさん
2010/07/17(土) 09:12:06全部コピーじゃなくて単純な矩形領域のコピー可否判断をしている。
線引くときに1ドットづつなんて判断なんかしねーよ。良く考えろ。
80286でそんなすっとろい処理考えてたら首になるわ。
0808793
2010/07/17(土) 09:14:55200行のうちのどこかで文字化けします。
0809デフォルトの名無しさん
2010/07/17(土) 10:22:04Zバッファ
0810デフォルトの名無しさん
2010/07/17(土) 10:32:34アドバイスはできないけど、その文字化けしてる画面の画像、
どこかにアップロードしてみて
どんなのか見てみたい
0811デフォルトの名無しさん
2010/07/17(土) 10:53:57線引いたりするのはCPUだからアルゴリズム的に工夫しないとしんどい
DWMによる各ウィンドウのバッファの最終合成はすべてGPUで行われるから
すべてのピクセルに対してエフェクトをかけつつ毎フレーム全コピーとか余裕
0812デフォルトの名無しさん
2010/07/17(土) 10:55:41N88BASICというかPC9801のころはLSIがVRAMに対して引いてたので
今のGPUのように勝手にエリア内判定してくれてたのかな・・
もう忘れちゃったわw
0813793
2010/07/17(土) 10:57:48少し抜粋しましたが、以下のように、たまに出ます。200回のうち1、2回。
C:\欲があるのは良くない
C:\欲があるのは良くな・「
C:\欲があるのは良くない
C:\欲があるのは・ヌくない
C:\欲があるのは良くない
そろそろ、あきらめます。>>796 さんも文字化けしてるのが気になりますが。
0814デフォルトの名無しさん
2010/07/17(土) 11:16:10@"AAAああああああああああ"でも同様
先頭の半角文字の個数が奇数の時に発生するみたい
0815デフォルトの名無しさん
2010/07/17(土) 11:18:05コンソールのほうで?
まあwindowsも内部はucsで2バイト管理だけどファイルはS-jisとか
いびつな状態だからなあ
どこかで変換して・・・とかあるのかもしれん
0816デフォルトの名無しさん
2010/07/17(土) 11:23:42( ^ゎ^)
0817デフォルトの名無しさん
2010/07/17(土) 11:26:19それ、ファイルにリダイレクトしても化けてるの?
0818813
2010/07/17(土) 11:34:22おかしくなるのはVSの出力ペイン上だけかな
0819デフォルトの名無しさん
2010/07/17(土) 11:40:46>>818 = >>814だった
0820デフォルトの名無しさん
2010/07/17(土) 11:43:21あ、そこのことだったのね、確認したらうちでも化けたよ
何なんだろうね
0821デフォルトの名無しさん
2010/07/17(土) 11:54:42PC-9801のGDCには線を引く機能はあったけど
N88-BASICではその機能は使わずにCPUで引いてた
0822デフォルトの名無しさん
2010/07/17(土) 14:07:41TextboxはOSが勝手に再描画してくれるけど、Lineとかは自分で再描画する必要がある。
この違いを考えてみてくれ。
0823デフォルトの名無しさん
2010/07/17(土) 14:19:00もしコモンコントロールとしてLineコントロールがあれば当然自動で再描画されるだろうな
文字列だってTextOut関数とか使って描画したら自分で再描画しないといけない
0824デフォルトの名無しさん
2010/07/17(土) 14:41:16あれば勝手にマージされて表示されるはず。
0825デフォルトの名無しさん
2010/07/17(土) 14:48:070826デフォルトの名無しさん
2010/07/17(土) 15:09:45テキストボックスとかはオブジェクトとして持ってるからOS側で再描画可能だが、
Lineなどで描いた情報はバッファにないので、消える。
0827デフォルトの名無しさん
2010/07/17(土) 15:19:560828デフォルトの名無しさん
2010/07/17(土) 15:32:03OSはそれを描画している。
つまり、ウィンドウのサイズが1024*768だろうが、2048*1536だろうが、
そのウィンドウの再描画に必要なバッファサイズは変わらないと言うこと。
ちょっと語弊あり。
0829デフォルトの名無しさん
2010/07/17(土) 15:35:04少なくともコントロール(コモンコントロール含む)の機能をOS側だと見做すプログラマは
まずいないと思うけど.....
しかし、なんでこんな低レベルかつどうでもいい話になってんの?
0830デフォルトの名無しさん
2010/07/17(土) 16:43:06初心者スレで氏ね
0831デフォルトの名無しさん
2010/07/17(土) 16:44:400832デフォルトの名無しさん
2010/07/17(土) 16:45:320833デフォルトの名無しさん
2010/07/17(土) 17:11:580834デフォルトの名無しさん
2010/07/17(土) 17:12:36氏#ね。
0835デフォルトの名無しさん
2010/07/17(土) 18:28:36平気でできる幼稚クンは何か嫌だね。
0836デフォルトの名無しさん
2010/07/17(土) 18:34:13変なところでカタカナ使うよな
なんで?
0837デフォルトの名無しさん
2010/07/17(土) 18:34:57マレジスするとカナカタの変な使い方が80年代から90年代初頭にかけて流行った
0838デフォルトの名無しさん
2010/07/17(土) 18:39:02老害ははやくしねよ。
0839デフォルトの名無しさん
2010/07/17(土) 18:42:48適当なこと言うなよ。
どっちもない。
戦前は片仮名の仮名遣いで教育を受けた世代がいたのは事実だが、
そんな世代はもう80以上だし、別に流行ったわけでもない
0840デフォルトの名無しさん
2010/07/17(土) 18:45:23http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.onmousemove.aspx
のFunButtonの様にカスタマイズしたTabPageクラスを使用したいです・・・。
ちなみにTabControl内に自作TabPageと既存TabPageとを混在させたいんですが、こちらも可能でしょうか?
0841デフォルトの名無しさん
2010/07/17(土) 18:47:55http://cs2ch.blog123.fc2.com/blog-entry-8.html
0842デフォルトの名無しさん
2010/07/17(土) 18:49:15ありがとうございます`;ω;´
0843デフォルトの名無しさん
2010/07/17(土) 19:21:32手順は、プロジェクトのコンテクストメニューから[追加]->[クラス...]の後コードを書いてビルドでツールボックスに追加されるんですよね?
0844デフォルトの名無しさん
2010/07/17(土) 19:28:500845デフォルトの名無しさん
2010/07/17(土) 19:30:080846デフォルトの名無しさん
2010/07/17(土) 19:40:49通報しました
0847デフォルトの名無しさん
2010/07/17(土) 19:42:58書いただけではまだ成立していない。
0848デフォルトの名無しさん
2010/07/17(土) 19:46:000849デフォルトの名無しさん
2010/07/17(土) 20:07:22そんなものが犯罪になるわけがないだろ。
0850デフォルトの名無しさん
2010/07/17(土) 20:15:53とりあえずC#を難読化するフリーのツールを教えてくれ。NanDoku以外で。
0851デフォルトの名無しさん
2010/07/17(土) 20:19:540852デフォルトの名無しさん
2010/07/17(土) 20:24:14ところで.Netが吐くバイナリってバイナリエディタでコードを改変されたとして、
そのアセンブリが正常か異常かはローダーが判断してくれたりするのかな?
0853デフォルトの名無しさん
2010/07/17(土) 20:29:270854デフォルトの名無しさん
2010/07/17(土) 20:30:290855デフォルトの名無しさん
2010/07/17(土) 20:34:300856デフォルトの名無しさん
2010/07/17(土) 20:58:14URL を指定して HTML を取得する
一番短く書けるコードでどんなのでしょうか?
0857デフォルトの名無しさん
2010/07/17(土) 20:59:080858デフォルトの名無しさん
2010/07/17(土) 22:27:490859デフォルトの名無しさん
2010/07/17(土) 22:30:28System.Diagnostics.Process.Start("http://hoge.jp/");
0860デフォルトの名無しさん
2010/07/17(土) 22:39:290861デフォルトの名無しさん
2010/07/17(土) 22:45:29頭使えw
0862デフォルトの名無しさん
2010/07/17(土) 22:50:59まあ、このぐらいかねえ。
string html;
using (var wc = new System.Net.WebClient())
{
wc.Encoding = System.Text.Encoding.UTF8; // 必要に応じて
try
{
html = wc.DownloadString("http://www.hoge.jp");
}
catch (System.Net.WebException)
{
html = "";
}
}
0863デフォルトの名無しさん
2010/07/17(土) 23:08:52CAD風のグラフィックってOnPaint内に記述するのが普通?
それともPictureBoxなどのコントロールのイベントハンドラ
内でRefreshしまくりが普通?
ダブルバッファリングを使うことを前提として
0864デフォルトの名無しさん
2010/07/17(土) 23:18:25CADみたいなの作るんだったらどうせ描画処理とか内部の処理とかものすごく複雑になるんだから
そんないつでも変更できるようなところどうでもいい
0865デフォルトの名無しさん
2010/07/17(土) 23:28:55>>863
揚げ足とって悪いけど、その2つって対立しないよ。
Refreshするってことは、自動的にOnPaintで描画することを意味する。
OnPaintが発生しないコントロール以外では、普通はあえてCreateGraphics を使う
必要はないと思う。
0866デフォルトの名無しさん
2010/07/17(土) 23:30:33OnPaint使う方がMFCに似てる気がしますが。
0867デフォルトの名無しさん
2010/07/17(土) 23:34:49C++わかるんだったら、イベントは関数ポインタの配列みたいなもので
On○○は(オーバーライドされない限り)○○イベントに登録された関数ポインタを呼んでると考えとけばいい
0868デフォルトの名無しさん
2010/07/18(日) 00:57:580869デフォルトの名無しさん
2010/07/18(日) 02:23:580870デフォルトの名無しさん
2010/07/18(日) 02:25:100871デフォルトの名無しさん
2010/07/18(日) 02:42:45CやっててもやってなくてもC#簡単。
0872デフォルトの名無しさん
2010/07/18(日) 02:52:53musk
GUI系のイメージあるから
難しいのかと。。。
おすすめの書籍とかサイトある?
0873デフォルトの名無しさん
2010/07/18(日) 02:59:34お題がほしいなら2chの専ブラでもやってみれば?
作り方を解説したブログとかあったはずだし
オープンソースでソース公開してるツインテールだっけ?
もあるし
C#は勉強するのは楽よ
0874デフォルトの名無しさん
2010/07/18(日) 03:03:27あじゃーす
C終わったらやってみま
0875デフォルトの名無しさん
2010/07/18(日) 03:09:110876デフォルトの名無しさん
2010/07/18(日) 03:10:43それに道具で積み上げた他人の作った部品を理解するには
時間はたくさんいるし
0877デフォルトの名無しさん
2010/07/18(日) 03:11:090878デフォルトの名無しさん
2010/07/18(日) 03:13:27構想のプログラムつくれたら、変わるつもり
0879デフォルトの名無しさん
2010/07/18(日) 03:29:210880デフォルトの名無しさん
2010/07/18(日) 03:34:22エラーが出てしまいます。
このエラーを回避する方法を教えてください。
エラー内容はパラメータ'address'を空の文字列にすることは出来ません
コードの一部は以下のようになってます。
public static bool SendMail(string strFrom,string strTo, string strCc,string strBcc,string strSub,string strBody )
{
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.From = new System.Net.Mail.MailAddress(strFrom);
mailMessage.To.Add(new System.Net.Mail.MailAddress(strTo));
mailMessage.CC.Add(new System.Net.Mail.MailAddress(strCc));
mailMessage.Bcc.Add(new System.Net.Mail.MailAddress(strBcc));
mailMessage.Subject = strSub;
mailMessage.Body = strBody;
System.Net.Mail.SmtpClient smtpClient = new System.Net.Mail.SmtpClient();
smtpClient.Send(mailMessage);
CCやBCCが空のときは設定されないようにすればいいと思うのですが、
方法が分からないので教えてください。
0881デフォルトの名無しさん
2010/07/18(日) 03:38:520882880
2010/07/18(日) 03:56:04textboxが空でも変数はnullじゃなかったようで、
if(strTo != null)
{
処理
}
では、無理でした。
ただ、strXXX.lengthで0のとき処理をしないようにしたら出来ました!
0883デフォルトの名無しさん
2010/07/18(日) 04:03:210884880
2010/07/18(日) 04:06:26元々!=nullでやってて、それで上手くいかなくて質問させていただきました。
空白で比較するというのを見てlengthを思いつきました。
ありがとうございました。
0885デフォルトの名無しさん
2010/07/18(日) 06:33:210886デフォルトの名無しさん
2010/07/18(日) 09:44:02s == null || s.Length == 0
と書けば十分だし書くべきって昔言ってた。
理由は忘れた。
0887デフォルトの名無しさん
2010/07/18(日) 09:46:14class MyString : String{ public bool IsNullOrEmpty(){ return s == null || s.Length == 0; } }
って書くわ。
0888デフォルトの名無しさん
2010/07/18(日) 09:53:170889デフォルトの名無しさん
2010/07/18(日) 09:55:30ぐぐったら、昔の.NET2.0でバグがあったらしいね。
それでじゃない?
もう修正されてるらしいが。
http://blogs.wankuma.com/ogiogi/archive/2006/12/12/50253.aspx
0890デフォルトの名無しさん
2010/07/18(日) 10:18:14実質的にあんま意味ないよそれ。
0891デフォルトの名無しさん
2010/07/18(日) 10:33:25コントロールのグローバル座標とマウスのグローバル座標で位置を出すしかないの?
0892デフォルトの名無しさん
2010/07/18(日) 10:46:36マウス限定のダブルクリックならMouseDoubleClickを使う
0893デフォルトの名無しさん
2010/07/18(日) 12:54:13だれ?菊池さんって。
スマイリーのこと?
0894デフォルトの名無しさん
2010/07/18(日) 13:04:360895デフォルトの名無しさん
2010/07/18(日) 13:08:14いまだにこんなこと言ってる人がいるのかw
化石だな
0896デフォルトの名無しさん
2010/07/18(日) 13:12:11理由は嫌いだかららしい
無視しろ
0897デフォルトの名無しさん
2010/07/18(日) 13:16:49エーネッヤカ・ダーヴァナ・パンニャッター
0898デフォルトの名無しさん
2010/07/18(日) 14:57:13utf-8のファイルも文字化けせずに読み込めてしまいます。
これは指定方法がまずいのでしょうか?
private void button1_Click(object sender, EventArgs e)
{
System.IO.StreamReader reader = new System.IO.StreamReader(@"C:\test.cs", System.Text.Encoding.GetEncoding("shift_jis"));
while (reader.EndOfStream == false)
{
String line = reader.ReadLine();
Console.WriteLine(line);
}
reader.Close();
}
0899デフォルトの名無しさん
2010/07/18(日) 15:17:190900デフォルトの名無しさん
2010/07/18(日) 15:17:38自動認識できなかった場合、指定したエンコードとなる。
0902デフォルトの名無しさん
2010/07/18(日) 16:18:010903デフォルトの名無しさん
2010/07/18(日) 16:19:480904デフォルトの名無しさん
2010/07/18(日) 16:20:530905デフォルトの名無しさん
2010/07/18(日) 20:48:370906デフォルトの名無しさん
2010/07/19(月) 12:12:300907デフォルトの名無しさん
2010/07/19(月) 12:14:200908デフォルトの名無しさん
2010/07/19(月) 12:40:42無効化された奴。どこだが知ってたら教えてくれ
0909デフォルトの名無しさん
2010/07/19(月) 13:09:290910デフォルトの名無しさん
2010/07/19(月) 13:38:310911デフォルトの名無しさん
2010/07/19(月) 18:48:040912デフォルトの名無しさん
2010/07/19(月) 18:58:230913デフォルトの名無しさん
2010/07/19(月) 19:50:55ggrks
0914デフォルトの名無しさん
2010/07/19(月) 20:00:10実装依存というわけでもなくて、言語仕様で明記されているので絶対に常に同じ
何の意味があるのかは俺も知らん
0915デフォルトの名無しさん
2010/07/19(月) 20:04:290916デフォルトの名無しさん
2010/07/19(月) 20:42:02stringはusing Systemしてなくても使える。
Stringはusing SystemしてないとSystem.Stringの形じゃないと使えない。
0917デフォルトの名無しさん
2010/07/19(月) 22:53:450918デフォルトの名無しさん
2010/07/19(月) 23:08:40単なる癖だけど。
0919デフォルトの名無しさん
2010/07/19(月) 23:19:070920デフォルトの名無しさん
2010/07/19(月) 23:32:43実態:実際のありさま。実情。(大辞林)
0921デフォルトの名無しさん
2010/07/20(火) 00:10:51using int = System.Int32;
に相当するから、Int32の方が実態
0922デフォルトの名無しさん
2010/07/20(火) 01:01:11int:本物
0923デフォルトの名無しさん
2010/07/20(火) 01:13:27int とか strignはC#言語の型なんだよ!
Microsoft.NetFrameworkでの言語ではInt32とかStringが定義されているんだよ!
たとえば、他のベンダーがC#使おうとすると、IntHogeとかStringHogeとか適当な名前付けて
型をつくるってこともありうるって事だよ!
0924デフォルトの名無しさん
2010/07/20(火) 01:16:49一応突っ込んどくけど、なんでわざわざ辞書まで引いて誤用するんだw
意味がわかんないよ。
この場合正しくは「実体」でしょ。
0925デフォルトの名無しさん
2010/07/20(火) 01:26:090926デフォルトの名無しさん
2010/07/20(火) 01:26:30でも命名規則でローカル変数はキャメル型。
0927デフォルトの名無しさん
2010/07/20(火) 01:30:48http://msdn.microsoft.com/en-us/library/aa664465
嫁
0928デフォルトの名無しさん
2010/07/20(火) 01:35:27ttp://msdn.microsoft.com/ja-jp/library/bb985010.aspx
ttp://msdn.microsoft.com/ja-jp/library/dd297765.aspx
0929デフォルトの名無しさん
2010/07/20(火) 03:30:53ちゃんと処理のフローが来ているかどうかを確かめるためにOnPaintの中にMessageBox.Show("test");とするとちゃんとダイアログが出てくるし、
何故かダイアログを仕掛けると症状が消える。
どうなってんのwindows7
0930デフォルトの名無しさん
2010/07/20(火) 03:42:100931デフォルトの名無しさん
2010/07/20(火) 03:45:070932デフォルトの名無しさん
2010/07/20(火) 04:17:07文字を枠から5ptほど離して表示したいんですが、設定方法はありますか?
0933デフォルトの名無しさん
2010/07/20(火) 10:21:070934デフォルトの名無しさん
2010/07/20(火) 10:35:050935デフォルトの名無しさん
2010/07/20(火) 10:42:36picturebox の上に5pt空けてtextboxを置く
0936デフォルトの名無しさん
2010/07/20(火) 12:38:49枠と文字の間がちょっと離れてるんですが……
この距離ってどっかで変更できるんですか?
0937デフォルトの名無しさん
2010/07/20(火) 20:09:090938デフォルトの名無しさん
2010/07/20(火) 22:10:51public static extern int SendMessage(IntPtr hWnd, UInt32 Msg, Int32 wParam, Int32 lParam);
const UInt32 EM_SETMARGINS = 0xD3;
const Int32 EC_LEFTMARGIN = 1;
const Int32 EC_RIGHTMARGIN = 2;
public Form1() {
InitializeComponent();
SendMessage(textBox1.Handle, EM_SETMARGINS, EC_LEFTMARGIN, 8);
}
で動いた。
0939デフォルトの名無しさん
2010/07/20(火) 22:13:140940デフォルトの名無しさん
2010/07/20(火) 22:36:070941デフォルトの名無しさん
2010/07/20(火) 22:37:43Silverlightのライブラリでは削除された
0942デフォルトの名無しさん
2010/07/20(火) 22:50:010943デフォルトの名無しさん
2010/07/20(火) 22:53:23それも List<object> で充分なわけなんだけれども。
0944デフォルトの名無しさん
2010/07/20(火) 23:04:170945デフォルトの名無しさん
2010/07/20(火) 23:23:380946デフォルトの名無しさん
2010/07/21(水) 00:41:350947デフォルトの名無しさん
2010/07/21(水) 01:23:36どういうこと?
0948デフォルトの名無しさん
2010/07/21(水) 02:52:23少し考えれば分かると思うよ
0949デフォルトの名無しさん
2010/07/21(水) 10:11:53ごちゃまぜリストから特定型を抽出するくらいしか思いつかない
それもジェネリックのOfTypeとかあるからなぁ・・・
2.0までしか使えない環境ならってことかな
0950デフォルトの名無しさん
2010/07/21(水) 10:20:290951デフォルトの名無しさん
2010/07/21(水) 12:35:34ジェネリックはCLSに入っちゃったから
そういう言語が存在すること自体が間違ってることになる
0952デフォルトの名無しさん
2010/07/21(水) 12:41:150953デフォルトの名無しさん
2010/07/21(水) 17:57:080954デフォルトの名無しさん
2010/07/21(水) 18:02:160955デフォルトの名無しさん
2010/07/21(水) 18:08:58http://d.hatena.ne.jp/Horiuchi_H/20060411/1144724047
って今も解決方法は無いのでしょうか?
(あるいはapp.configのファイル名を指定する方法とか・・・)
まぁ、どうしてもダメなら「インストールディレクトリ+ファイル名決め打ちでXMLとして読み込んでしまう」という方法で逃げれるとは思いますが、
やはり、可能ならAppSettingsReaderを使いたいんですよね。
0956デフォルトの名無しさん
2010/07/21(水) 21:55:48なんで、んなことわかるの?プロ固定?
0957デフォルトの名無しさん
2010/07/21(水) 21:59:400958デフォルトの名無しさん
2010/07/21(水) 22:48:35Debug.Assert でも同じようにジャンプする方法ないでしょうか?
0959デフォルトの名無しさん
2010/07/21(水) 22:52:030960デフォルトの名無しさん
2010/07/21(水) 22:55:37.go.jpが混ざってることについてスルーするとか
0961デフォルトの名無しさん
2010/07/21(水) 22:56:47何か直すのに良い方法ない?
0962デフォルトの名無しさん
2010/07/21(水) 23:03:350963デフォルトの名無しさん
2010/07/21(水) 23:09:50配布用ソースとかに分けてtry入れるわけにもいかないし
あと配布時には例外をどっかに記録したい時にDebug.Writeなんかを使えばいいんだろうけど
どこの関数で問題が起こってるかトレースする時にも細かいメッセージを出して確認したいけど
これもDebug.Writeするとものすごい量のログが出てくるし
どうするのがいいんだろうね?
1.デバッグ時には例外で止まる
2.配布時には例外をログの取るようになる
3.デバッグ時には細かいトレースメッセージを表示させる
4.ソースの修正を必要としないでリリースビルドするだけでこれが切り替わる
以上の条件を備えた方法ってあるのかね?
0964デフォルトの名無しさん
2010/07/21(水) 23:14:20条件付コンパイル
0965デフォルトの名無しさん
2010/07/21(水) 23:16:47もう1つ条件を
プラグマでtryする度に2重記述なんて気持ち悪いソースは作りたくないw
0966デフォルトの名無しさん
2010/07/21(水) 23:19:26try
{
throw new Exception();
}
catch (Exception ex)
{
Hoge(ex);
// Logging
}
[Conditional("DEBUG")]
private void WhenDebugging(Exception ex)
{
// Getting trace message
throw ex;
}
0967デフォルトの名無しさん
2010/07/21(水) 23:20:540968デフォルトの名無しさん
2010/07/21(水) 23:22:23なるほどそれはいいかもしれない
0969デフォルトの名無しさん
2010/07/22(木) 00:26:35ttp://info.2ch.net/guide/faq.html#A4
0970デフォルトの名無しさん
2010/07/22(木) 00:36:56つまりバグに起因するもの)で止まらないプログラムって、考え方間違ってると思う。
0971デフォルトの名無しさん
2010/07/22(木) 01:09:431、2、4の意味がよくわからないんだけど、
デバッグ時は例外が起きたらそこで止まるから何もしなくても1は解決で、
その時にエラーの詳細も見れるから3も解決で、
切り替える必要もないから4も解決じゃね?
0972デフォルトの名無しさん
2010/07/22(木) 01:38:03とりあえずデバッグ→例外→スローされるときのチェックを入れるで十分だろ。
>>966
リリースビルドで挙動が変わるソースってのは極力避けた方がいい。
デバッグ時のみばかすかログを吐くくらいにしておけ。
0973デフォルトの名無しさん
2010/07/22(木) 10:48:28TraceSource使う
欲しい種類のメッセージだけ設定ファイルでフィルタできる
0974デフォルトの名無しさん
2010/07/22(木) 11:32:540975デフォルトの名無しさん
2010/07/22(木) 11:39:52C++かなんかで書かれたコンバータのソースコードを拾ってきて
BinaryReaderでも使ってC#に移植する
0976デフォルトの名無しさん
2010/07/22(木) 18:37:12RowCountに5000と設定した段階で重いのですが、
仕方がないのでしょうか?
グリッドサイズを 10 * 10 程度に小さくして、
スクロールされたら、Valueプロパテイを毎回全部書き直すような、
独自の仮想モードを実装して試してみましたが、
これはこれで再描画が重かったです。
DataGridViewのスクロールによる再描画は速いので、
Valueプロパテイ以外を使って値を設定できれば速そうなのですが。
0977976
2010/07/22(木) 20:45:560978デフォルトの名無しさん
2010/07/22(木) 22:40:12throw と Debug.Assert の区別がつかない人は黙ってようね^^
0979デフォルトの名無しさん
2010/07/22(木) 23:04:09どういう方法を取ればいいんでしょうか?
0980デフォルトの名無しさん
2010/07/22(木) 23:11:420981デフォルトの名無しさん
2010/07/23(金) 11:19:12自分のウィンドウじゃなくて、ターゲットが別のプログラムなのかいね?
0982デフォルトの名無しさん
2010/07/23(金) 11:23:210983デフォルトの名無しさん
2010/07/23(金) 11:25:360984デフォルトの名無しさん
2010/07/23(金) 13:11:03http://journal.mycom.co.jp/articles/2010/03/19/nlog/index.html
以外に、日本語の情報源ってあるかな? 特に
・DBへの出力
・イベントログへの出力
あたりがあると、とてもありがたい。
現在、google翻訳に頼りきりながら原文を調べてるところだけど、やはり(ノウハウという面も含めて)日本語の情報が欲しいなぁ・・・。
0985デフォルトの名無しさん
2010/07/23(金) 14:53:08その情報なら、1ヶ月後に >>984 のHPに載ってたよ。
レス数が950を超えています。1000を超えると書き込みができなくなります。