12/03/08 01:39:17.85
>>184
ObjectとTypeを保存するクラスを作って、それを配列にするってのじゃ駄目なのか?
それなら、元に戻すときに型を知っていれば明示的キャストをせずに取り出せるぞ?
211:デフォルトの名無しさん
12/03/08 01:51:26.13
>>210
あ、ごめん、自己レス
そんなクラス作らなくてもやりたいことが一発で出来るわ
でもお前の態度が気に入らないから教えてあげない
212:デフォルトの名無しさん
12/03/08 01:59:24.67
要するに
var hoge = new object[10];
var foo = 10;
var bar = "abc";
hoge[0] = foo;
hoge[1] = bar;
int n = hoge[0];
string s = hoge[1];
これが出来ればいいんだろ?出来るから頑張ってみそ
213:209
12/03/08 02:04:44.71
デリゲート
って言葉に辿り着きました。 とりあえず質問は取り下げてみます。
214:デフォルトの名無しさん
12/03/08 02:05:43.90
dynamicならなんでも入るしダウンキャストもいらないけど
215:デフォルトの名無しさん
12/03/08 02:05:48.45
つうかobjectの配列なんて.net1.1時代じゃ有るまいし・・・
216:デフォルトの名無しさん
12/03/08 02:15:24.59
>>213
ついでにラムダ式も一緒に検索すると正しいゴールへ辿り着くよ
デリゲートだけだと古い手法のゴールへ辿り着くおそれがある
217:デフォルトの名無しさん
12/03/08 02:18:21.31
>>213
継続渡しってやつだな
C#5.0では言語に組み込まれてデリゲートとか意識しなくてよくなるよ
218:デフォルトの名無しさん
12/03/08 02:29:16.92
C#はバージョンアップするたびに
古い手法が陳腐化するほど進化してくれて嬉しい限りですな
この調子でさっさとUIと例外をどうにかして欲しいわ、WPFですらロジックとデザインは分離しましょうって言っているのに
正常ルートと例外ルートを同一コード上に記述するとか狂気の沙汰にも程があります
219:デフォルトの名無しさん
12/03/08 02:37:42.23
俺は予言するよ
プログラミング言語は将来、正常処理と例外処理を分離するようになる
さらに未来の話しをすると、言語仕様にテスト工程の仕組みも吸収される、間違いなく
今のプログラミング言語ってのは結局、「物を作るだけ」でしょ?
でも現実の世の中では、コーディングのコスト1に対してテストのコストが10以上存在する
なのにコーディングは依然として「物を作るだけ」
いつの日か必ず「コーディング=デザイン+正常ロジック+例外ロジック+テスト」を構築するためのものに進化するよ、20年後くらいにはね
220:デフォルトの名無しさん
12/03/08 03:36:12.67
チラシの裏にでも買いてろ
221:デフォルトの名無しさん
12/03/08 05:15:49.15
>>191
TcpClientのコンストラクタでローカルエンドポイントは指定できる
222:デフォルトの名無しさん
12/03/08 06:13:53.64
class Bucket
{
pulbic DataType DataType{get;set;}
public int Int{get;set;}
public float Single{get;set;}
public Jisakukurasu Jisakukurasu{get;set;}
}
enum DataType
{
Int,
Single,
JisakuKurasu,
}
223:デフォルトの名無しさん
12/03/08 07:50:47.68
100年後
こういう機能がほしい
はい、組み上がりましたご主人さま
ここはこうして
はい、修正しましたご主人さま
224:デフォルトの名無しさん
12/03/08 08:29:34.39
>>222
ださい
225:デフォルトの名無しさん
12/03/08 08:31:04.44
自分で好きなようにやれ
二度とくるなw
226:デフォルトの名無しさん
12/03/08 10:44:13.07
TestDriven.Netがインストールできません
というかインストールが完了してもVisualStudioで右クリックしても「Run Test」が出てきません
どうなってるの?
227:デフォルトの名無しさん
12/03/08 10:54:25.03
機能が実現できないとかできるけど重すぎるってんなら悩むけど
書き方や見た目が気に入らないとかは心底どうでもいい 規則あるなら従えばいいだけだし
228:デフォルトの名無しさん
12/03/08 12:04:27.19
>>226
expressじゃ使えないんだろ
229:デフォルトの名無しさん
12/03/08 12:48:43.34
>>226
あきらめてこっち使え
URLリンク(monobook.org)
230:226
12/03/08 13:06:36.39
>>228
まじかよ、初めて聞いたぞ。俺の2時間を返せ
HPのどこにもExpressEditionが非対応とは書かれていないような?
実際動かないんだけど!!
>>229
あきらめた。スゲーわかりやすい。サンキュー
231:デフォルトの名無しさん
12/03/08 14:09:18.95
ToolStripMenuItemを継承してクラスを作り
そのオブジェクトをシリアライズで保存しようとしたのですが
ToolStripMenuItemがシリアライズできないというエラーが表示されてしまいます
保存する方法はありますか?
232:デフォルトの名無しさん
12/03/08 14:11:43.81
>>230
Expressはもともとプラグイン使えないよ
VSでは常識になってる
233:デフォルトの名無しさん
12/03/08 15:08:34.87
そのToolStripMenuItem継承クラスを作るメソッドと
それに渡すデータクラスを作って
そのデータクラスをシリアライズしたら?
234:デフォルトの名無しさん
12/03/08 15:13:48.74
仮想マシン上でvs評価版を入れる
あいてるHDD上に専用環境を作って評価版を入れる
235:デフォルトの名無しさん
12/03/08 15:36:18.80
ふーん
236:226
12/03/08 16:48:17.34
VisualStudio EEからF5でnunitを起動するのがうまくいかない
nunit.exe $(TargetPath)で起動してるんだが
MyProjectプロジェクトとTestProjectプロジェクトの2つがあった場合
$(TargetPath)が必ずテストのTestProjectの方でなく本体のMyProjectになってしまう
でnunitにテストコードがないって怒られる。
これどうやったらTestProjectの方のビルド物の名前を取得できますか?
237:デフォルトの名無しさん
12/03/08 17:10:12.13
>>233
ToolStripMenuItemを継承しないクラスBを作って保存
保存したものを復旧する際には
a.text = b.textとメンバーに値を入れていくことにしました
233さんの言うことも同じ事ですよね?
ありがとうございました
238:デフォルトの名無しさん
12/03/08 18:51:03.12
int a, b, c, d;
int ee = Math.Floor(a / b) - Math.Floor(c / d);
エラー CS0121: 次のメソッドまたはプロパティ間で呼び出しが不適切です: 'System.Math.Floor(decimal)' と 'System.Math.Floor(double)'
どうやって書けばいいん?
239:デフォルトの名無しさん
12/03/08 18:55:43.11
そもそも整数同士の除算だと結果も整数なのでFloorする意味がないんだが
240:デフォルトの名無しさん
12/03/08 18:58:47.47
double a, b, c, d;
int ee = (int)(Math.Floor(a / b) - Math.Floor(c / d));
Math.Floorがdoubleかdecimalしか指定できないところにintを指定したから
241:デフォルトの名無しさん
12/03/08 19:00:00.85
あの、¦の半角ってどうやって打つんですか?
KANAキーロック状態でシフト+ろ だと、ろになるんですが
しょうもないことですみません。
242:デフォルトの名無しさん
12/03/08 19:01:33.55
結果を受け取る配列を渡す時にoutキーワードってつけてる?
なくても全然OKだけど結果を受け取るのがはっきりするから付けてたけど
つけるなと言われて困ってる
243:デフォルトの名無しさん
12/03/08 19:02:03.19
え。そしたら
int a, b, c, d;
int ee = (a / b) - (c / d);
で 欲しい結果が得られるってこと?
逆に
double ff = (a / b) - (c / d);
でも ff==ee になっちゃうってこと? (いや、これは試してみればわかりますね・・
244:デフォルトの名無しさん
12/03/08 19:05:44.14
引数で配列渡して結果をもらう場合
outをつけないと可変長にできないだろ
逆にその必要が無ければ無駄には違いない
245:デフォルトの名無しさん
12/03/08 19:14:50.00
>>236
できた
URLリンク(monobook.org)
246:デフォルトの名無しさん
12/03/08 19:17:29.79
>>241
たてぼう で変換でもしたらどうだ
>>242
[Out]属性は何となく付ける outにはしない
247:デフォルトの名無しさん
12/03/08 19:20:17.05
>>246
それが、全角しか出ず
文字 '¦' は予期されていません。
となります。
IMEじゃ半角は出せないんでしょうか
248:デフォルトの名無しさん
12/03/08 19:22:31.75
その話し続けたければIMEのスレ行ってよ
249:デフォルトの名無しさん
12/03/08 19:24:15.40
IMEのほういってきます、失礼しました。
250:デフォルトの名無しさん
12/03/08 19:28:44.05
|c2a6か
sjisにねーな。なんて読むんだろう。
251:デフォルトの名無しさん
12/03/08 19:51:46.46
>>242
それ、用途違う。
配列の参照自体を書き換えないんだったら、out つけたら余計混乱招く。
参照型の中身を破壊的に変更する場合のマーキングが欲しいってのはすごく思うけども。
252:デフォルトの名無しさん
12/03/08 19:58:33.70
>>243
int a = 2, b = 3;だと
a / b==0
(double)a / (double)b==0.66666666666666663
double a = 2, b = 3;だと
a / b==0.66666666666666663
(int)a / (int)b==0
よく分からなかったら1行に割り算1つだけ、キャストだけ、Floorだけにしてブレイクポイント使って中身確かめろ
253:デフォルトの名無しさん
12/03/08 20:44:41.09
¦ってVS2008 SP1に対応してないんですかね?
かんたんC#って参考書ではVS2008 SP1が使われてて、それのサンプルコードで¦が使われてるのですが
実行結果とコード貼ったほうがいいですかね
254:デフォルトの名無しさん
12/03/08 20:46:05.44
>>253
はらんでいい
| の誤植だろ
255:デフォルトの名無しさん
12/03/08 20:47:04.20
!とかいわないよな
256:デフォルトの名無しさん
12/03/08 20:47:15.86
>>254
解決しました、1時間以上詰んでたので助かります。
257:デフォルトの名無しさん
12/03/08 20:48:54.21
>>253
もしかして
Visual C#でカンタンはじめて学ぶプログラミング
かな?
何ページ目?
258:デフォルトの名無しさん
12/03/08 20:51:20.93
こっちか
URLリンク(www.amazon.co.jp)
これだから本嫌いなんだよな
誤植あってもただちに反映されないし
259:デフォルトの名無しさん
12/03/08 20:53:51.24
印刷でかすれただけじゃね?
260:デフォルトの名無しさん
12/03/08 20:57:04.43
印刷業界の依存文字だと思ってた
261:デフォルトの名無しさん
12/03/08 21:03:29.76
>>258
それです、112ページ目のサンプルコードがどう見ても¦です。
262:デフォルトの名無しさん
12/03/08 21:06:07.05
誤植でも何でもないよそんなの。
ただの字形の違い。誰でも当然常識として知ってなきゃおかしい範囲。
こういう人ってバックスラッシュとかでも大騒ぎするのかなw
263:デフォルトの名無しさん
12/03/08 21:13:26.83
せやな
264:デフォルトの名無しさん
12/03/08 21:22:52.30
バックスラッシュは割りとどうでもいいが
記載されたコードがスラッシュドゼロになってない本は買えない
買いたくない
265:デフォルトの名無しさん
12/03/08 22:35:12.07
>>263
せやせや
266:デフォルトの名無しさん
12/03/09 00:59:23.22
PrintOut( from : 開始ページ, to: 終了ページ )
のような既存の API を
[<開始ページ>]-[<終了ページ>]
のような文字列の指定を解釈して呼び出す処理をスマートに書くにはどう書けばいいでしょうか。
問題は、片方の値が省略されていた場合で、 int に null は入れられないので、
-1 を使って、
if ( (startpage == -1) && (endpage != -1) ) {
PrintOut( to: endpage );
else if ((startpage != -1) && (endpage == -1) ) {
PrintOut( from: startpage );
else if ((startpage != -1) && (endpage != -1) ) {
PrintOut( from: startpage,to:endpage );
else {
PrintOut();
}
みたいなダサいコーディングしか思いつきません。
267:デフォルトの名無しさん
12/03/09 01:01:55.05
FormアプリでDispatcherで赤波線がでます
名前空間何を入れるんですか?
確か数年前にやった時はこんな感じで別スレッドからフォームアイテムにアクセス出来たような記憶があるんですが
教えてください!
Thread work = new Thread( () =>
{
this.Dispatcher.Invoke( new Action( () =>
{
textBox1.Text += "roop" + System.Environment.NewLine;
} ) );
}
} );
work.Start();
268:デフォルトの名無しさん
12/03/09 01:14:37.67
>>266
int?型(nullableとかでググる)と、-1とかいう謎の番号を使うよりはすこしましになるかも。根本的な解決策は知らない。
269:デフォルトの名無しさん
12/03/09 01:19:01.33
彼女を作るボタンを押しても
できませんでした
なぜですか?
270:デフォルトの名無しさん
12/03/09 01:20:27.72
>>267
それWPF
BeginInvokeでググる
271:デフォルトの名無しさん
12/03/09 01:21:04.96
彼女を作るボタンを押しても
できませんでした
なぜですか?
272:209,213
12/03/09 02:49:10.12
>>209,213 です。
VisualStudio2005 C# を使用してます
URLリンク(ideone.com) (できるだけ最小限にしたコード)
やりたいこと:
クラスから別スレッドで処理した結果を受け取りコントロールに表示
フォームから クラスaの関数bを呼ぶ
クラスaの関数bで スレッドcを行う
スレッドcの終了時に フォームの関数dを呼ぶ
フォームの関数dで button1.text="e"; としたい。(スレッドcの結果を表示)
困っていること:
別スレッドからコントロールを操作するとエラーが出る
63行目のように 関数d を呼ぶ際に 元の基本スレッドで処理させるような方法はないでしょうか?
273:デフォルトの名無しさん
12/03/09 02:56:18.79
>>272
URLリンク(msdn.microsoft.com)(v=vs.80).aspx
274:デフォルトの名無しさん
12/03/09 05:23:43.51
別スレッドからのコントロール操作って、実行時に結果が保証されないだけで
普通はエラーは吐かなかったと思ったのに...
とりあえずCheckForIllegalCrossThreadCallsをfalseにしたら別スレッドの呼び出しはチェックされないらしいぞ
ラムダ式とかLINQとか、大きな機能追加に目が行ってたけど、こんな細かい修正もされてたのね
275:デフォルトの名無しさん
12/03/09 06:32:40.67
昔からデバッグビルドではデフォルトでControl.CheckForIllegalCrossThreadCalls = true;です
276:デフォルトの名無しさん
12/03/09 07:58:08.73
少なくとも9年以上前からそういう設定のはず
277:デフォルトの名無しさん
12/03/09 08:47:13.78
いや7年かな
2.0からのはずだし
278:デフォルトの名無しさん
12/03/09 08:52:44.42
¦はそういうことか。もともと1だのlだとの見分けにくいからだっけ?
ちなみに 00A6のあとにF5で出るけどな。
279:デフォルトの名無しさん
12/03/09 09:09:01.67
コナミコマンドのように00A6を素早く入力したあとF5キーを押しても変換されません!
280:デフォルトの名無しさん
12/03/09 10:31:01.49
webページ上のテキストボックスに文字列をセットしたりボタンのクリックを行う
例えば、yahooのログインページを取得してIDとpassを入力してログインボタンを押す
このような処理を行うとき
webBrowserコントロールを使用して、テキストボックスやボタンのHtmlElementCollectionを得て処理を行うというのは解ったのですが
レイアウト上webページを表示するスペースが取れないのでできれば表示したくないので困っています
フォームのサイズを小さくしてvisibleプロパティをfalseに設定すれば、と考えたのですがちょっと力業なように感じています
他にもっと簡単な方法が有ったりするのでしょうか?
281:デフォルトの名無しさん
12/03/09 10:52:52.64
レイアウトで配置しないでクラス上で直接作る
Form1.Controls.Addはしない
282:デフォルトの名無しさん
12/03/09 13:21:43.75
>>281
フォームから以外にもコントロールを使用することが出来るんですね
ありがとうございました
283:デフォルトの名無しさん
12/03/09 14:57:03.93
Datagridviewの一番下の列が表示された時の処理がしたいんだけどどうすればいいんですか
Scrollイベントを受け取っても、ScrollEventArgs.NewValueの最大値がわからんとどうしようも
284:デフォルトの名無しさん
12/03/09 16:19:08.46
FirstDisplayedScrollingRowIndex DisplayedRowCount RowCount
285:デフォルトの名無しさん
12/03/09 16:53:58.97
こうやって簡単に答えてみせているけど
このやり取りのなかで、3つの大きなポイントが存在するんだよね
1:DataGridViewのヘルプを全て読めば答えに辿り着いていた
2:調べ方を教えるべきだったか、答えを教えるべきだったか
3:DataGridViewのヘルプに答えが記載されているが、そこへ辿り着くまでにかかかるコストは適正なのか
んで、一旦話しを脱線させて、ニコニコ動画とシリーズ物のゲームの話しをしたい
ニコ動誕生前にもMADとかを作って公開する文化ってのは存在していたわけだけど
ニコ動誕生前と後では、コンテンツ作りの技術の進化スピードは比べものにならない
で、ゲームの話し
ゲーセンの音ゲーとか新作が出るたびに、ゲームの難易度がどんどん高くなっていく
初代(ナンバリング1)で最高難易度だったステージが、最新作(例えばナンバリング10)ではそうは感じなくなる
1が稼働していた時代にそれをクリア出来るものは英雄のように扱われていたが
10が稼働する今では初級者が簡単にクリアするようになっている
1が稼働して頃と10が稼働している今では、人類自体が進化したわけではない、初級者のスタートラインは一緒
なのに何故このような現象が生まれるのか
そして、話しを戻して
286:デフォルトの名無しさん
12/03/09 17:05:05.88
死ね
287:デフォルトの名無しさん
12/03/09 17:26:40.67
bool型の変数「e」を宣言してください。
初期値として、定数のtrueとfalseを使用した、論理AND演算子を
ショートサーキット評価で演算した結果で代入してください。
上記の問いに対して
答え
bool e = (true && false);
自分の答え
bool e = (false != true) && (true = true);
一応これでも正解になるのでしょうか?
288:デフォルトの名無しさん
12/03/09 17:28:32.20
コンパイルも通らないんじゃ正解にはならんだろうな
289:デフォルトの名無しさん
12/03/09 17:36:56.46
問題文作った奴国語力低いな
290:デフォルトの名無しさん
12/03/09 17:40:01.07
ショートサーキットのくだりがその答えと繋がらなくてさっぱり
291:デフォルトの名無しさん
12/03/09 18:02:49.56
そうですか、ありがとうございました。
292:デフォルトの名無しさん
12/03/09 21:51:32.46
・なぜbool型なのに変数名がeなのか
・trueとfalseは定数ではないと思うがどうか
・
293:デフォルトの名無しさん
12/03/09 21:54:38.14
あ、trueとfalseは定数っちゃ定数なのか
294:デフォルトの名無しさん
12/03/09 22:11:06.68
変数eってExceptionとかEventArgsとかもろに被りそうだな
295:デフォルトの名無しさん
12/03/09 23:18:51.72
新規プロジェクト→TabControl1配置、Dock=Fill、Tab3枚作成で
private void Form1_Load(object sender, EventArgs e){
TreeView tv1 = new TreeView();
TreeView tv2 = new TreeView();
TreeView tv3 = new TreeView();
tv1.Dock = DockStyle.Fill;
tv2.Dock = DockStyle.Fill;
tv3.Dock = DockStyle.Fill;
this.tabPage1.Controls.Add(tv1);
this.tabPage2.Controls.Add(tv2);
this.tabPage3.Controls.Add(tv3);
}
としてもタブ内のTreeViewの枠線がそれぞれ統一されていない理由わかる?
TreeViewのTopもLeftもMarginも関係ないみたいだし
296:デフォルトの名無しさん
12/03/09 23:27:41.28
Tab3のPaddingが0になってる
297:デフォルトの名無しさん
12/03/09 23:43:47.10
コレクションエディターで追加するとデフォルトのタブとまったく同じものが追加という訳じゃなかったんですね
デザイン上でタブ切り替えつつ(tabControlの)プロパティ見て同じ値だと勘違いしてました ありがとうございます
298:デフォルトの名無しさん
12/03/09 23:47:39.36
つーかデザイナーが追加するコントロールの細かい設定は
別ファイルに全部書いてあるだろ
別ファイルにかかれてないのは各コントロールのデフォルト値
かかれてるのがデザイナが追加した物だよ
299:デフォルトの名無しさん
12/03/10 00:14:05.05
今回はまじめに2chがなくなるこおも考えておかないといけないみたいだけど
ここの代わりになりそうなところって他にある?
300:デフォルトの名無しさん
12/03/10 00:35:03.02
したらば
301:デフォルトの名無しさん
12/03/10 00:45:38.94
Formでキーボード入力を完全に制御するために
ProcessCmdKeyをオーバーライドしてるんですが,
KeyDownのイベントは取れるけどKeyUpのイベントが捕獲できません。
ProcessCmdKeyでKeyUpのイベントを取るのは不可能なのでしょうか。
302:デフォルトの名無しさん
12/03/10 06:32:24.26
不可能
303:デフォルトの名無しさん
12/03/10 08:07:30.44
なにこの糞スレ
素人が答えるスレ?
304:デフォルトの名無しさん
12/03/10 09:18:06.93
不特定多数の人が作った「敵の動き」に番号をつけて
番号を指定すると、その動きになる。 みたいなことやりたいです。
本体リリース後、敵の動きだけ追加できる。 そんなイメージです。
「敵の動き」は指定した形式の(パラメータをもつ)クラス? 的なものにするとして、
番号指定でそのクラスを呼ぶ というところをどんな風にしたらいいのかヒントください。
クラス名が決定してないので switchでクラスを呼べないですし・・。
305:デフォルトの名無しさん
12/03/10 09:19:03.57
ここでいいのか分かりませんが
Windowsのイベントアプリケーションやセキュリティみたいなくくりを
1つ作る方法があったら教えて下さい
アプリケーションログにeventcreateすると「ゴミ」だらけになってしまいます
306:デフォルトの名無しさん
12/03/10 09:19:40.46
○Windowsのイベントログにアプリケーションやセキュリティみたいなくくりを
307:デフォルトの名無しさん
12/03/10 09:21:27.35
Linuxならlogファイル1つ増やせば終わりなのに
どうしてこうなんだろう
ご協力お願いします
308:デフォルトの名無しさん
12/03/10 09:24:44.48
日本語で大丈夫ですよ
309:デフォルトの名無しさん
12/03/10 09:32:14.79
>>304
実装方法もいろいろあるしなあ
それにその敵クラスを利用するゲームエンジン側の実装でもいろいろ違うし
あと昔ながらのシューティングゲームレベルのオブジェクト数なのか
弾幕まで視野に入れるかで取る方法も変えたほうがいいだろうし
310:デフォルトの名無しさん
12/03/10 10:55:50.96
昔某ゲーム機用にCで書いたゲームエンジンの
一部を再現してみたけど完璧な汎用性を持たせるのはお勧めしないなあ
URLリンク(ideone.com)
どうせパターンはそれほどないだろうからこういう行動パターンが欲しいと
なった場合は処理ロジックを実装してニューリビジョンとして配布するしか
ないような
311:デフォルトの名無しさん
12/03/10 12:15:44.27
URLリンク(dobon.net)
こういうのを作ってとりあえず名前を登録してもらって、
リフレクションでオブジェクト取得ってできるのかな??
プラグインシステムは一回作ってみたいんだけど、手付かずだなぁ・・・。
312:デフォルトの名無しさん
12/03/10 12:17:20.86
.NET3.5以降ならMEF一択
リフレクションとか自分で意識しなくても超簡単にやれる
313:312
12/03/10 12:17:56.24
訂正
.NET4か
314:デフォルトの名無しさん
12/03/10 12:20:22.91
>>311を>>309あたりで使えるかもね~
行動パターンを保持してる部分をプラグイン化して・・・
でも結局のところプラグインのビルドがいるんじゃないの?
自由度上げると処理効率上げるの大変になるよ
315:デフォルトの名無しさん
12/03/10 12:25:25.07
プラグイン使えなかったら、外部スクリプトにキックする以外ある?Luaとかさ。
316:デフォルトの名無しさん
12/03/10 12:27:19.31
柔軟性と処理効率は相反するから自分で悩んでくれ
こんなところで対応できるほど簡単じゃないしやってられん
317:デフォルトの名無しさん
12/03/10 13:50:04.00
>>304 です
回答くれたみなさんありがとう。
こういうのをプラグインっていうんですね。言葉がわからず検索できないような状態でした。
>>311 がサンプルもあり役立ちそうな気がします。
また聞くかもしれませんがその時はよろしくお願いします。
318:デフォルトの名無しさん
12/03/10 17:05:51.00
フォームにボタンを二つ置きます
ボタンを押すと10秒後にメッセージボックスが出ます
0秒経過: まずボタン1を押します
5秒経過: 後にボタン2を押します
10秒経過: ボタン1のメッセージボックスがでます
15秒経過: ボタン2のメッセージボックスがでます
こういうふうにしたいんですけどうまくいきません
319:デフォルトの名無しさん
12/03/10 17:07:53.69
どういう風にうまくいかないの?
320:デフォルトの名無しさん
12/03/10 17:10:05.41
ちょっといまどこにコードを書こうか迷ってて途中で送信してしまいました
いま検索してますのでコード挙げるまでいましばらくおまちください
321:デフォルトの名無しさん
12/03/10 17:11:31.23
>>2のサイト使えよ
322:デフォルトの名無しさん
12/03/10 17:20:18.87
>>318
ストップウオッチを複数使って経過をidleイベントで比較するのが楽な気がする。
323:デフォルトの名無しさん
12/03/10 18:17:46.79
ボタンが任意個あるとかだったら面倒くさいな
324:デフォルトの名無しさん
12/03/10 18:27:14.40
それ以前にメッセージボックスを告知に使うっていうのがなあ・・・
325:デフォルトの名無しさん
12/03/10 18:44:35.18
>>323
そこはクラス化するとかで省力化してもらいたいところだね。
326:デフォルトの名無しさん
12/03/10 21:18:22.71
あーメッセージボックスだしてモーダルになって困った、という質問なのか……
327:デフォルトの名無しさん
12/03/10 21:50:40.71
毎度すみません、
C#で、"ABCD"という文字列を
0xAB、0xCDというバイト列に変換したいのですがどうやればよいのでしょうか。
328:デフォルトの名無しさん
12/03/10 22:10:07.84
BitConverter.GetBytes(Convert.ToInt16("ABCD", 16))
329:デフォルトの名無しさん
12/03/10 22:17:43.75
Javaも勉強してるけど苦痛
よくあんなの使ってコード書けるよな
C#最高だわ
330:デフォルトの名無しさん
12/03/10 23:10:37.13
C#最大のリスクは
素晴らしすぎて他の言語を触る気が失せること
331:デフォルトの名無しさん
12/03/10 23:30:20.13
javaとC#ってなにが違うの?
332:デフォルトの名無しさん
12/03/10 23:34:58.42
一人で言語の仕様を決めているか、複数人で決めているか、の違い
10年前に全人類はこんな幻想を抱いていた「一人で考えるより、みんなで考えた方が上手くいく」
実際はみんなで考えると辻褄が合わないし、何も決断されない、ってことを全人類が学んだ
ここ10年の尊い犠牲と恩恵
333:デフォルトの名無しさん
12/03/10 23:35:40.93
船頭多すぎなところ
334:デフォルトの名無しさん
12/03/10 23:35:59.46
おっと
335:デフォルトの名無しさん
12/03/10 23:43:56.16
>>332
言いたいことは分からんでもないけど実際はC#の仕様だって1人で全部決めてるわけじゃ
恐らくないだろうからちょっと違う。
正確に言うと意思決定が民主主義的な対等な人の集まりで行われるか、軍隊みたいな
ヒエラルキーの元で行われるかの違いだね。
336:デフォルトの名無しさん
12/03/10 23:58:24.16
最後の3年(2007~)はASFとケンカしたのが良くなかったけどね
ASFのHarmonyに互換性テストのライセンス提供するのを拒んだせいで
「やっぱりオラクルが好き放題するのか、な~んだ」って完全なケチが付いた
JCF脱退騒ぎになり、オラクルが懐柔でライセンス提供したけどASFに拒否される始末
その後なりふり構わなくなり、HarmonyベースのDalvikVMに特許訴訟起こしたのは記憶に新しい
こっちはJavaMEの収入が無くなりそうだからって理由もあるが
337:デフォルトの名無しさん
12/03/11 00:06:28.97
C#の勉強してるとJavaを忘れる
Javaの勉強を再開するとC#を忘れる
このループで3年目
338:デフォルトの名無しさん
12/03/11 00:07:48.30
菊正宗か
339:デフォルトの名無しさん
12/03/11 00:29:22.69
perlやcobolやc++が入ってこないだけ幸せ。
340:デフォルトの名無しさん
12/03/11 00:45:17.39
少し本格的なことをしようとすると結局API使うのが難点のど飴
341:デフォルトの名無しさん
12/03/11 00:51:35.55
泥臭いことはC++先輩にお任せ♪
得意分野の分業でWin-Win♪
342:デフォルトの名無しさん
12/03/11 01:17:40.66
>>340
"C#"の問題ではないけどね、という揚げ足取り
343:デフォルトの名無しさん
12/03/11 01:20:53.52
C#だけで同じ機能ができないことが問題か不便か
344:デフォルトの名無しさん
12/03/11 02:12:11.74
責任をライブラリに求めるか言語に求めるかは微妙なところ
でも後者なら、Compatibleな言語なんて上位互換でなければ存在しないに等しい
345:デフォルトの名無しさん
12/03/11 02:22:43.23
>>336
JCFってなんだ?と思ってググったが、いろんなJCFがあってさっぱわからんw
346:デフォルトの名無しさん
12/03/11 02:28:20.68
たぶんJCPの間違いと思われる
Java Community Process
347:デフォルトの名無しさん
12/03/11 02:33:16.30
SendInputとか一向に使えるようにならないし何なのかねえ
348:デフォルトの名無しさん
12/03/11 02:40:39.70
トロイとかスパイウェアが使うような機能は使うなということだ。
349:デフォルトの名無しさん
12/03/11 02:43:40.24
ウィルスのために制限しているならもっと優先されるべき部分があるだろw
350:デフォルトの名無しさん
12/03/11 02:49:32.60
>>336の経緯
Javaの仕様は現オラクルが所有する特許を含んでるよ。
でもTCKをパスできれば特許を使っていいよ。OpenJDKにはTCKを提供してあげるね。
だけどOpenJDKのソース(GPLv2)を第三者が改変した場合はTCKあげないよ。特許も許諾しないよ。
当然だけどOpenJDKのソースを使わずに自分で実装しても、仕様上の特許は回避できないから潔く死んでね(Harmonyがされたこと)
351:デフォルトの名無しさん
12/03/11 03:00:28.87
昨日ソフトウェア板で、タイムリーにGPLと特許の話を見た
ffmpegの話で、あるソフトウェアがオープンソースでも、それを自由に利用できるわけじゃないと
だからGPLv3には特許供与条項が追加されたんだなと理解できた
352:デフォルトの名無しさん
12/03/11 03:32:34.89
ListViewのOwnerDrawやっているんですが、Subitem[0]のDisplayIndexを0以外に設定していて
最初のカラムを2列目以降にしています
この時、OnDrawSubitemのDrawListViewSubItemEventArgsのBoundsがどうやらバグっているようで
ColumnIndexが0だとDisplayIndexが0以外でも、Bounds.Leftに0が入っているようです
だからそのまま書くと描画位置がずれちまう
本来なら2カラム以降のサブアイテムだから、描画開始位置のBounds.Leftは0の筈がない
このバグの回避方法知っている人居たら教えて貰えませんか?
353:デフォルトの名無しさん
12/03/11 03:34:04.72
>>349
システム系API使えばVista以降は奥深くまでセキュリティがガチガチだということに気づく。
PostMessageでさえブロックされる。管理者権限は平民以下になってんだよ、今のWindowsは。
天皇に自由がないのと同じ状態。
354:デフォルトの名無しさん
12/03/11 09:01:03.54
こんなソフトありませんかスレか
355:デフォルトの名無しさん
12/03/11 09:23:18.70
>>353
管理者権限のプロセスがユーザー権限からのSendMessage/PostMessageで
意のままに操られるからだろw
遅れながらもVistaでやっと実装されたって感じだよ
PFWとかが出す「~のプロセスが~しようとしています、許可しますか?」みたいな
ダイアログをその対象プロセス自身が勝手にOK押せるというw
356:デフォルトの名無しさん
12/03/11 09:59:03.81
これからC#を一から始めようと思うんだけど
良い入門書とか教えてください
357:デフォルトの名無しさん
12/03/11 10:03:00.82
>>356
特にありません
死ぬまで時間があるなら入門書は複数読めばいい
他人のコードを読むことも重要なのでそこそこ長めのコードに
解説がついた本も読んだ方がいい
一番ダメなのは言語解説の本だけ読んで終わること
358:デフォルトの名無しさん
12/03/11 10:09:17.91
>>357
わかった。ありがとう。
とりあえず、いろいろ読んでいこうと思う。
359:デフォルトの名無しさん
12/03/11 10:41:27.52
>>356
とりあえず、独習C#で良いんじゃね?
ハーバート・シルト先生が書いた本だから、悪い本ではない
上でも言ってるとおり、沢山読んで、沢山書くことが重要
プログラミング言語って言っても言語だから、言葉と同じで見たり書いたりしないと上達はしない
専門的なことを人に説明するには専門的な知識が必要なのも普通の言葉と同じ
難しく考えなさんな
難しいのは言語を覚えることじゃない。結局、専門知識の方だ
360:デフォルトの名無しさん
12/03/11 11:04:47.12
作った処理にタイマー埋め込んでパフォーマンスを徐々にアップさせていく処理に改良していく作業が面白い
361:デフォルトの名無しさん
12/03/11 11:22:40.06
気持ちはよくわかるが大抵は全くの無駄どころかコードが汚くなるだけでむしろ有害
本当に遅くて困ったときに原因箇所を特定してから最適化する
362:デフォルトの名無しさん
12/03/11 11:26:26.18
処理が遅くなった主原因を探っていくと、原因がwpfだったり・・・
363:デフォルトの名無しさん
12/03/11 11:54:29.29
巷の高速化チューニングでは「ハードウェアアクセラレーションを無効にする」が大はやり
364:デフォルトの名無しさん
12/03/11 12:53:51.31
プログラムの本質はリファクタリングらしいからいいんじゃない?
365:デフォルトの名無しさん
12/03/11 13:17:18.94
リファクタリングはいいが自称リファクタリングはやめてくれよ
366:デフォルトの名無しさん
12/03/11 13:27:48.61
もう自称の意味がわかんねw
367:デフォルトの名無しさん
12/03/11 13:37:39.67
自己流って言いたかったのかな?
理系だから仕方が無い
368:デフォルトの名無しさん
12/03/11 13:38:55.14
コードを書き換える作業こそが美学
改良か改悪かなんてどうでもいい
369:デフォルトの名無しさん
12/03/11 13:45:05.48
書いた本人だけがリファクタリングだと思ってるってとこかね
370:デフォルトの名無しさん
12/03/11 13:50:24.12
確認するたびにコード変わってる奴いたなあ
371:デフォルトの名無しさん
12/03/11 13:53:32.86
コードは綺麗な物より動くことが正義だからな
バグさえなければ40年物のコボルのコードだって立派な物だぜ
372:デフォルトの名無しさん
12/03/11 13:54:57.22
コード書き換える=リファクタリング と思ってる奴はいるね
俺のコードを「リファクタリング」してくれるのはありがたいんだが
ただのコード書き換えはやめてほしい
373:デフォルトの名無しさん
12/03/11 13:58:34.59
使い捨てのコードリファクタリングしてもしょうがないしねえ
374:デフォルトの名無しさん
12/03/11 21:37:47.95
処理が終わっても アプリ閉じるまで
ReleaseMutex しないアプリがあるんだけど
そのアプリのプロセスから ReleaseMutexさせる方法ないですか?
375:デフォルトの名無しさん
12/03/11 21:41:42.89
Mutexが名前付きでMutexの名前が分かっているのなら
DLLインジェクションなどで進入してWin32APIで直接捨ててしまえばいいと思いますよ
逆に、上記の意味が分からないのなら無理です
3年精進してからおいで下さい
376:デフォルトの名無しさん
12/03/11 21:45:06.67
嘘こくなw
ミューテックス所有してるスレッドが特定できないだろw
ReleaseMutexは現在ミューテックスを所有してるスレッドから呼ばないとならん
そんなもの後からは特定できん
377:デフォルトの名無しさん
12/03/11 21:50:32.62
はずかしい書き込みした後ってスレのログ消してしばらくほとぼりがさめるまで待つよね
378:デフォルトの名無しさん
12/03/11 21:52:55.87
間違ってることに気づいて煽るフリで訂正書き込みを入れるパターンもあると聞く
379:デフォルトの名無しさん
12/03/11 21:54:14.53
System.Threading.Mutex.ReleaseMutex();
Kernel32.dll の ReleaseMutex
いずれも失敗します。
ProcessExplorerからはReleaseできるので何か方法はあるのでしょうけど・・。
380:デフォルトの名無しさん
12/03/11 21:58:04.46
>>379
ミューテックス持ったスレッドから呼び出してるの?
381:デフォルトの名無しさん
12/03/11 22:05:32.70
APIの使いかたがよくわかりません
やっぱりAPIを使うようなことをするならCの知識が無いと厳しいでしょうか?
382:デフォルトの名無しさん
12/03/11 22:07:35.88
>>380
いえ。
保持してるスレッドの特定の仕方と、リリース時にスレッドの指定の仕方がわかれば教えてください。
383:デフォルトの名無しさん
12/03/11 22:07:57.10
>>381
win32apiの名前とC#ってキーワードをセットでぐぐればメジャーなAPIはおおよそコードがでてくる
384:デフォルトの名無しさん
12/03/11 22:08:06.76
ProcessExplorerはReleaseMutexをインポートしてないような
リソースにReleaseMutexって文字が見当たらないから
GetProcAddressでアドレスを取得して使ってるわけでもなさそう
何か方法はあるんだろうけどあまり一般的ではなさそうだ
385:デフォルトの名無しさん
12/03/11 22:19:52.68
ありそうなところ
URLリンク(msdn.microsoft.com)
386:デフォルトの名無しさん
12/03/11 22:21:09.77
その2
URLリンク(msdn.microsoft.com)
387:379
12/03/11 23:03:25.06
一通り見てみたけど
ミューテックスとスレッドを関連付ける方法っぽいのは
見当たらないですね。
388:385
12/03/11 23:06:42.23
そりゃ俺も一通り無さそうなこと確認してから貼ったし
389:デフォルトの名無しさん
12/03/11 23:09:09.18
わかりません
390:デフォルトの名無しさん
12/03/11 23:15:31.14
クズw
391:デフォルトの名無しさん
12/03/11 23:37:11.34
そうか?
392:デフォルトの名無しさん
12/03/12 02:44:51.95
でかいファイルのコピーを別スレッドでやってもメインに影響出捲りなんだが
やり方が悪いのかな?Win32ApiのFileOperationをTaskクラスで実行しただけなんだが
393:デフォルトの名無しさん
12/03/12 04:01:34.06
>>392
ディスクアクセスは遅いからそこに律速されてるんではないの?
394:デフォルトの名無しさん
12/03/12 04:07:20.20
動かしてるOSもかかねえ
アクセス先がHDDなのかもかかねえ
しかもアクセス先がシステムドライブなのか他なのかも書いてねえ
そんなの相手にあれこれ考えるのがあほらしいw
vistaは知らんけどwin7はシステムドライブにアクセスがあるとお節介するとかあるのに
395:デフォルトの名無しさん
12/03/12 09:56:17.61
なぜそうなるのか検証するのが楽しいのに
シングルコアとかじゃないよな、、いまどき
396:デフォルトの名無しさん
12/03/12 10:04:28.08
メインもディスクにアクセスしてるとかw
397:デフォルトの名無しさん
12/03/12 10:18:53.34
まだまだシングルコアユーザーは多いよ
むしろシングルコアの人が多い
by家電業
398:デフォルトの名無しさん
12/03/12 10:45:16.35
進捗をGUIスレッドに報告しまくってるとか
399:デフォルトの名無しさん
12/03/12 11:33:08.23
マンデープログラマーです何か質問ありますか?
400:デフォルトの名無しさん
12/03/12 11:47:05.65
マンデープログラマーってなんですか?
401:デフォルトの名無しさん
12/03/12 11:48:39.53
>>400
あなたは英語ができないのですね。
パソコンを捨てましょう
402:デフォルトの名無しさん
12/03/12 11:50:05.39
おれはハッピーマンデープログラマー
403:デフォルトの名無しさん
12/03/12 12:05:43.04
Javaの@depricateに該当するのって、[Obsolete("あいうえお", false)]でおk?
404:デフォルトの名無しさん
12/03/12 12:23:20.38
ok
405:デフォルトの名無しさん
12/03/12 12:38:09.68
やっぱり英語ができないとプログラムはできませんか?
406:デフォルトの名無しさん
12/03/12 13:00:57.40
そんなことはない
俺がプログラム始めたの小5だぞ
407:デフォルトの名無しさん
12/03/12 13:03:08.49
わざわざ誇らしげにもやしアピールしなくていいから
408:デフォルトの名無しさん
12/03/12 13:06:05.49
プログラマに必要なのは、英語がという質問に対して、小5だからみたいな回答が
理論的に正しいかが分かる能力。
409:デフォルトの名無しさん
12/03/12 13:07:15.99
じゃあゆとり向けに
小5で英語なんてまったく読み書きでき無かったけどプログラム出来たよ
410:デフォルトの名無しさん
12/03/12 13:10:07.08
日本のプログラマは、ゆとりの中学生よりも頭の悪い高卒の大人が大半だから、
英語なんて出来なくても余裕
411:デフォルトの名無しさん
12/03/12 13:17:01.65
っていうか今の大卒ってバカだろw
412:392
12/03/12 13:17:41.49
細かい情報書かなくて済みませんでした
動画再生機能があるファイル管理ソフトで、再生中にファイル操作すると動画が止まります
但し、複数ファイルをコピーすると、コピーとコピーの合間で動画が多少動く
この時は一つのAPIコマンド実行中だからスレッドが中断される訳じゃないんだけどね
あと、同じプログラムを2つ実行して、片方で再生片方でコピーするとスムーズに再生されるから
I/O絡みって訳でもないようだ
あ、動画が止まると言っても音声だけはそのまま再生されて、コピー終了と共に画面だけ早送り状態になって直ぐに追いつきます
413:デフォルトの名無しさん
12/03/12 13:23:10.74
英語ができないとプログラミングができるのか出来ないのか分からない時点で無理だからあきらめろ
414:デフォルトの名無しさん
12/03/12 13:26:36.19
英語はただの記号としてみるとして概念を理解できるかが一番重要
ただし変数名やメソッドはランダムな文字列になるし名称から意味を憶測しにくいからコメント一杯必要
よっぽど馬鹿じゃなきゃよく使う文字列ぐらい使ってるうちに覚えると思うが
415:デフォルトの名無しさん
12/03/12 13:29:00.41
自動プロパティで初期値を設定するのってどうやるの?
416:デフォルトの名無しさん
12/03/12 13:29:55.86
見苦しいから英語の話題は終了ね
417:デフォルトの名無しさん
12/03/12 13:30:31.76
単に英語資料の読み書きの話でしょうに。
変数なんぞ、日本語でもローマ字でもどーでもいいわ
418:デフォルトの名無しさん
12/03/12 13:37:00.19
>>405
さわりもしないで始まる前からビビってるやつには無理だ
ずっとそんな人生送ってきたんだろうな
引きこもりか?
419:デフォルトの名無しさん
12/03/12 13:38:02.68
>>415
クラスのコンストラクタででも自分で代入すればいいやん
420:デフォルトの名無しさん
12/03/12 13:44:55.54
初心者用板というより知能が人間初心者な奴だな
421:デフォルトの名無しさん
12/03/12 13:49:09.00
実際日本のプログラマなんてそんなもんだろ
IT業界自体が知能順で仕事を割り振ってるような状況だし
プログラマはオペレーターの次にひどい
422:デフォルトの名無しさん
12/03/12 13:55:22.64
一つのファイルにいくつまでメソッドを定義していいのか目安ってありますか?
やっぱりたくさんいれるのはパフォーマンス落ちるものですか?
423:デフォルトの名無しさん
12/03/12 13:56:49.08
その機能が必要で、そのクラスが持つ必要があるならいくらでも書けばいい
多すぎるな、と感じた場合は設計を見直すといいかもね
424:デフォルトの名無しさん
12/03/12 14:00:08.66
>>421
仕組み上奴隷化することで上流階層が偉ぶるために囲い込みしてるだけでしょ
役人のやり方みててもそうじゃん
一件平等に公募してるようで必ず但し書きにxx経験者ってなってて
実質囲い込みになってるしw
425:デフォルトの名無しさん
12/03/12 14:26:13.67
コンプレックスを晒すスレ
426:デフォルトの名無しさん
12/03/12 16:26:02.41
ゲームプレイ中にタイムを計測したいのですが
F2を押すと計測開始するようにしたいのですが
ゲームをアクティブにしているとF2を押しても反応してくれません
非アクティブな状態でもキーイベントを発生させる技術を教えてください
427:デフォルトの名無しさん
12/03/12 16:26:44.40
ゲームはブラウザ上のFlashゲームかRPGツクールのです
428:デフォルトの名無しさん
12/03/12 16:30:35.96
>>427
そりゃFlashもゲームもアクティブな状態だとキー入力はそっちが握ってて
外のアプリはキー入力を拾えるわけないじゃん
それなりのアプリ書かないと
429:デフォルトの名無しさん
12/03/12 16:39:30.12
しかしなぜわざわざC#のスレを探して聞いたんだ
430:デフォルトの名無しさん
12/03/12 16:40:51.73
ボウヤだからさ
431:デフォルトの名無しさん
12/03/12 16:41:19.00
あれっすよ、C#でタイムを計測するのを作ってたんすよ
やっぱりアセンブリレベルで書かないとだめですよね
432:デフォルトの名無しさん
12/03/12 16:42:35.80
VC#2010無料版で作っています。
やっぱり人様にソースコードを配布するためには、右下でプロパティやイベントを追加するのではなく
ソースコードに自分で書くべきでしょうか?
433:デフォルトの名無しさん
12/03/12 16:42:50.23
言われんでもそういう前提だよw
C#で書いてなくてここに来たのならお帰りくださいだし
434:デフォルトの名無しさん
12/03/12 16:46:01.30
>>432
プロジェクトごと配布するのならデザイナーがいじる部分も
ついてくるので気にする必要はない
Form1.csだけとか>>2のようなサイトなどに貼って公開するのなら
どういうコントロールをFormに貼り付けたか説明しないといけない
まあコードでどういうコントロール貼ってイベントを追加したかわかるけど
そういう手間隙が面倒ならLoadイベントなどで自力でコントロールを
追加するコードを書いておけばいい
435:デフォルトの名無しさん
12/03/12 16:48:29.79
わかりました。
後で位置から作る直すときにコピペするときに楽なのでイベントだけ追加するようにします。
436:デフォルトの名無しさん
12/03/12 17:13:32.06
疲れたー
437:デフォルトの名無しさん
12/03/12 17:23:08.27
Stopwatch sw = new Stopwatch();
public Form1()
{
InitializeComponent();
}
こんな感じで書いてるんですけどLoadイベントの中でやったほうがいいですか?
一応これでも動くんですが本来の正しい作法が気になります
438:デフォルトの名無しさん
12/03/12 17:29:27.36
>>437
自分も同じようにクラス先頭あたりでやってる。
コンストラクタで、start()を一応やっておいて、カウントを継続しながらリセットしたい時はrestart()している。
MONOではrestart使えないらしいけど・・・。
439:デフォルトの名無しさん
12/03/12 17:54:16.19
そういえばコンストラクタとして登録されるので問題ないですよね
ありがとうございます
440:デフォルトの名無しさん
12/03/12 18:00:29.08
sw.Reset()とするとタイマーが止まってしまいます・
sw.Start()を重複で実行した場合、これって重複で開始させられるんでしょうか?
C#がかしこく判断して実行しないようになってますか?
sw.Start()を実行するときはsw.IsRunningをやったほうがいいものでしょうか?
441:デフォルトの名無しさん
12/03/12 18:03:41.43
あ、マンデープログラマーさんに聞きたいことありました。
プロパティはどのようなとき使えばいいんでしょうか?
いつも変数ですませてしまいます。
442:デフォルトの名無しさん
12/03/12 18:09:40.37
コード晒せよw
443:デフォルトの名無しさん
12/03/12 18:14:07.14
タイトルバーのところを非表示にしたいのでFormBorderStyleをnoneに設定しました
このとき、フォーム外側にボーダーを引きたいんですがどうやるのでしょうか?
cssのborder-styleでURLリンク(www.htmq.com)な感じにしたいのです
444:デフォルトの名無しさん
12/03/12 18:21:17.37
要求:タイトルバー非表示
解決:FormBorderStyle.None
って流れとしておかしくない?
要求は上下左右のボーダーをOSのテーマと無関係に任意のラインで描画したいってことなの?
445:デフォルトの名無しさん
12/03/12 18:27:38.38
>>426
グローバルキーフック ってググってみ。
CやC++じゃないとできない。ってサイトもあるけど
C#でも グローバル限定でフック可能 とかそんなサイトにソースあったよ。
446:デフォルトの名無しさん
12/03/12 18:41:19.68
>>441
一般的には変数をそのまま外部に出すのはよくないとされてる。
不正な値をフィルタリングできないのが大きな理由。
あとはデータの設定・取得なのか、
メソッドを呼んでいるのか意味を明確にする作用もある。
まあ積極的に使っていけばいいとおもうよ
447:デフォルトの名無しさん
12/03/12 19:14:46.74
なるほど。サンクス。ちょっと使ってみるわ
448:デフォルトの名無しさん
12/03/12 19:40:36.29
>>444
タイトルバーを非表示にしてフォームの部分だけが使いたいんです
んで、この状態だとフォームの枠線がなくなっちゃうのでちょっとそれは困るので
任意のラインを描画したい、代弁頂いたそれです
1pxの黒い線とか任意の色と太さで引きたいです
449:デフォルトの名無しさん
12/03/12 19:49:40.77
MSのILmergeで、自作exeとDLLをくっつけようとしたんだけど、うまくいかない・・・。
対象DLLは、BABAさんのBASP21.DLLとBSMTP.DLL。
自作exe+BASP21.DLL+BSMTP.DLLやると、「Could not load Assembly・・・」と言われる。
450:デフォルトの名無しさん
12/03/12 19:52:35.80
>>448
FormBorderStyle.Noneは本質的にはボーダーを表示しないことで、
タイトルバーを表示しないのは副次的な効果でしかないよ
タイトルバーを表示したくないだけならControlBox=falseにしてTextを空にすればいい
451:デフォルトの名無しさん
12/03/12 19:58:14.74
FormにPanelでもDock-Fillで置いてBorderStyle:FixedSingleとか
OnPaintをoverrideして自分で好きなようにお絵かきするとかだろ
452:デフォルトの名無しさん
12/03/12 20:03:56.59
FormBorderStyle.Noneするとタスクバーのアイコンクリックしても最小化できなくなるんだよな
URLリンク(dobon.net)
453:デフォルトの名無しさん
12/03/12 20:20:09.33
>>449
そもそもこれC++で書かれてるネイティブのCOMコンポーネントじゃないの?
ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly.
URLリンク(www.microsoft.com)
454:デフォルトの名無しさん
12/03/12 20:23:12.83
コレジャナイ
ソレ
BASP21の方が、ね
455:デフォルトの名無しさん
12/03/12 22:30:09.28
int[] a ={ 1, 2, 5, 7, 8, 9 };
これを例えば奇数だけ抽出して
int[] b
に入れたいです。
関数への引数なのでListでなく配列でないとダメなのですが
配列の一部(条件に合うもの)を別の可変の配列に入れるには
どうしたらいいですか?
456:デフォルトの名無しさん
12/03/12 22:32:29.38
int[] b = (from x in a where x % 2 == 1 select x).ToArray();
または
int[] b = a.Where(x => x % 2 == 1).ToArray();
457:デフォルトの名無しさん
12/03/12 22:32:42.80
b = a.While((n % 2)==1).ToArray();
458:デフォルトの名無しさん
12/03/12 22:36:36.16
既存のメソッドなら仕方ないけど今から複数の値を引数に取るメソッドを書く場合は
配列じゃなくてIEnumerable<T>使ったほうがいいよ(Tはこの場合int)
それならいちいちToArrayいらないから効率もいい
459:455
12/03/12 22:41:09.94
みなさんありがとうございます。
460:デフォルトの名無しさん
12/03/12 22:51:44.42
testにURLの一番上のディレクトリを代入するようにしたいんだが
string test = Regex.Replace("hamusokuhou.blogspot.com/2012/03/", "(?<directryname>.*?/).*/$", "${directryname}",
RegexOptions.IgnoreCase | RegexOptions.Singleline);
これだとできるのに
string test = Regex.Replace("hamusoku.com/archives/6818883.html", "(?<directryname>.*?/).*/$", "${directryname}",
RegexOptions.IgnoreCase | RegexOptions.Singleline);
これだと
hamusoku.com/archives/6818883.html
になるのはなんで?
461:デフォルトの名無しさん
12/03/12 22:55:25.35
下はマッチしてないから置き換え自体行われてないんじゃね
ケツにスラッシュがないとマッチしないだろ
462:デフォルトの名無しさん
12/03/12 23:38:33.69
>>450
ありまとうぞざいます
希望の方に地なりました
>>451
この方法なら色を変えたり好きな形の線が引けそうなんで良さそうに思います
トライしてみたんですが難しくて挫折しました
463:デフォルトの名無しさん
12/03/13 00:22:17.16
質問失礼します。
Win + Rを押下した際に"ファイル名を指定して実行"が起動しますが
グローバルキーボードフックを用いてWin + Rのメッセージをフックし
自分のアプリケーションが表示される処理を実装したいと思っています。
そこで問題にぶち当たってしまいました。
下記のような実装をしているのですがどうもうまくいきません。
↓イメージ↓
キーダウン ハンドラ関数{
if( Rが押された ){
if( Winキーが押されている ){
メッセージフック;
アプリケーション表示;
}
}
}
このような実装を行った場合
アプリケーションは表示されるところまでは
うまくいきましたが、
Win + Rを押下後、Rキーを押したまま
Winキーを離すとスタートメニューが表示されてしまいます。
このスタートメニューを表示されないようにしたいです。
どなたか教えていただけると嬉しいです。。
464:デフォルトの名無しさん
12/03/13 00:52:02.53
条件分岐追加してメッセージを破棄
465:デフォルトの名無しさん
12/03/13 00:53:09.94
UWSCで解決
466:463
12/03/13 01:13:53.52
463の内容だけでは分かりにくい思いますので
キーボードフック部分の処理だけ抜粋したものを作りました。
URLリンク(www1.axfc.net)
よろしくお願いしますm(_ _ )m
467:デフォルトの名無しさん
12/03/13 01:15:26.43
Winキーをもう一回たたればOK。
468:463
12/03/13 01:17:29.94
>>464
すみません、どのような条件でメッセージを破棄すればよいのか分からないです。
具体的に教えていただけると助かります。
>>465
C#で作りたいです。すみません。
469:デフォルトの名無しさん
12/03/13 01:20:50.70
c#でグローバルフックは無理。
470:デフォルトの名無しさん
12/03/13 01:26:36.04
↓ローレベルフックは可能だよっていう何度繰り返されたか分からないレス
471:デフォルトの名無しさん
12/03/13 01:33:00.60
ローレベルフックは可能だよ
URLリンク(azumaya.s101.xrea.com)
472:デフォルトの名無しさん
12/03/13 01:49:45.86
スタートメニューってWinキーの押上で表示されるのに
フックで握りつぶしているのが押下のメッセージだけやん
そら表示されるわ
473:デフォルトの名無しさん
12/03/13 02:01:56.60
じゃあなんで
Winキー押下→Rキー押下(キャンセルしてる)→Rキー押上(キャンセルしていない、たぶん質問者はしていると勘違い)→Winキー押上
でスタートメニューが表示されないかと言うと
スタートメニューが表示される条件を厳密に言うと
「1:Winキー押下→2:いかなるキーイベントも発生してはいけない→3:Winキー押上→スタートメニュー表示」
だから、実際は2:でRキー押上が発生しているのでスタートメニューが表示されていないだけ
質問者は握りつぶした気でいるだろうが、そもそもが勘違いね
474:デフォルトの名無しさん
12/03/13 02:09:07.62
Winキーが爆発した
475:デフォルトの名無しさん
12/03/13 02:14:30.38
0%以外の攻撃は基本的に当たるからな。
476:デフォルトの名無しさん
12/03/13 02:20:44.21
だが待って欲しい
内部的には小数で扱い、整数で表示しているだけかも知れない
よって、0.0001%を0%と表示している
つまり、0%表示で攻撃が当たっても、それはバグではなく仕様
477:デフォルトの名無しさん
12/03/13 02:34:32.29
ブーメランフックは可能ですか?
478:デフォルトの名無しさん
12/03/13 02:49:52.65
ローレベルフックも不可。
479:デフォルトの名無しさん
12/03/13 05:30:56.37
こんにちは、2つ質問があります。
当方VS2010にてEmacsキーバインド設定を利用しています。
同様の環境の方で以下を解決できる方いましたらご教授ください。
1.
通常、デリゲートにハンドラ追加記述時 → this.Click += ここまで入力すると記述ハンドラ候補が表示され、
TABで挿入可能になります。
しかしEmacs設定利用時だと、TABを押しても挿入されず、その行の先頭タブが削除されるような動作を行ってしまいます。
キーバインドでTAB設定されているものを洗ってもそれらしいバインドがみつからないのですが、どうすれば解決できますか?
2.
同様にEmacs設定利用時において、 this. と入力した際に、補完候補メニューが表示されますが、
ここでの上下操作を↑↓キーではなくCtrl+P, Ctrl+Nに割り当てたいのですが、キーバインドのコマンドがわかりません。
どれを設定すればいいでしょうか?
よろしくお願いします。
480:デフォルトの名無しさん
12/03/13 06:37:30.66
誘導
Visual Studio 2010 Part18
スレリンク(tech板)
481:デフォルトの名無しさん
12/03/13 10:00:14.58
>>466
昨日ぐらいに質問したものですが、勉強にありますありがとう
482:デフォルトの名無しさん
12/03/13 10:05:22.47
win+Rをフックするって最低な馬鹿なやり方はヤメロと
言うやつが一人もいないのはいかがなものか
483:デフォルトの名無しさん
12/03/13 10:09:21.78
あの教えてもらった
URLリンク(azumaya.s101.xrea.com)
と
僕が見つけてきた
URLリンク(www.k4.dion.ne.jp)
の違いってなんですか?
484:デフォルトの名無しさん
12/03/13 10:49:18.62
>>471
あの、これみてもどこにどう書いていいのかわかりまsねn
485:デフォルトの名無しさん
12/03/13 10:55:27.52
>>482
世の中にはいろいろなソフトがあるからな
嫌がらせツールとかならフックしてもおかしくないし
全画面表示ゲームで間違ってWinキー押してアビャビャビャって事態もよくある
486:デフォルトの名無しさん
12/03/13 11:25:03.84
>>484
そのまま1つのファイルにコピペして、
void Capture_KeyDown(object sender, GlobalKeybordCapture.KeybordCaptureEventArgs e){}
という関数でも作って
GlobalKeybordCapture.KeyDown += new EventHandler<GlobalKeybordCapture.KeybordCaptureEventArgs>(Capture_KeyDown);
とかやればいい
487:デフォルトの名無しさん
12/03/13 11:31:59.10
>>486
いまからやってみます
488:デフォルトの名無しさん
12/03/13 11:33:32.97
キーフックは別スレでも立ててやってくれ・・・
そうすれば独立してログも残るし
なんどループしてるんだ
489:デフォルトの名無しさん
12/03/13 11:38:17.73
同一人物がトロイを作ってると思われ
490:デフォルトの名無しさん
12/03/13 11:40:59.81
>>486
URLリンク(www.k4.dion.ne.jp)みたいにdisposeはやらなくていいのでしょうか?
491:デフォルトの名無しさん
12/03/13 11:43:17.92
だからスレ立ててやれって
492:デフォルトの名無しさん
12/03/13 11:44:33.24
別にスレ違いでもないからここでいいよ
493:デフォルトの名無しさん
12/03/13 11:44:54.55
ウィルスくらいC++でつくろうよ
どこまでゆとってんだよw
494:デフォルトの名無しさん
12/03/13 11:45:36.66
>>488
話し合いもしないで勝手にスレを立てるとか決めるな
495:デフォルトの名無しさん
12/03/13 11:45:50.56
>>492
このスレでもループしてるから分離しろっていってる
ここだと他の話題で過去ログ化してどうせ見ないまま又ループするし
496:デフォルトの名無しさん
12/03/13 11:52:41.45
>>490
Disposeがなぜ必要なのか、static class とはどんなものか
あと始末は何が必要で、そのコードではどうやってるか、
くらいは自分で調べてみようぜ。
497:デフォルトの名無しさん
12/03/13 11:54:50.83
>>495
じゃ、よろしく
498:デフォルトの名無しさん
12/03/13 12:03:58.59
わざわざキーボードフックの為にスレ立てんでよい
何度も出てくるようなネタならなお更スレ別けせずテンプレにQ&Aにしてまとめておくほうが良い
499:デフォルトの名無しさん
12/03/13 12:08:43.30
今回のはまだいい
毎回できるできないでループされるのが不愉快だ
500:デフォルトの名無しさん
12/03/13 12:10:29.41
お前が不愉快になるとか知らないよw
お前のためのスレじゃねえしw
501:デフォルトの名無しさん
12/03/13 12:12:49.07
ID欲しいお・・・
502:デフォルトの名無しさん
12/03/13 12:15:04.20
オレも不快だよ
503:デフォルトの名無しさん
12/03/13 12:16:07.15
初心者用スレだしループすんなってのは無理筋
504:デフォルトの名無しさん
12/03/13 12:17:29.25
不快なのは、出来ないと書いてるのだけだね
505:デフォルトの名無しさん
12/03/13 12:20:57.62
>>496
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
GlobalKeybordCapture.KeyDown += new EventHandler<GlobalKeybordCapture.KeybordCaptureEventArgs>(GlobalKeybordCapture_KeyDown);
}
void GlobalKeybordCapture_KeyDown(object sender, GlobalKeybordCapture.KeybordCaptureEventArgs e)
{
switch (e.KeyCode)
{
case (int)Keys.A:
MessageBox.Show("Test");
break;
default:
break;
}
}
}
}
506:デフォルトの名無しさん
12/03/13 12:22:06.25
>>496
読んでみてstaticの意味とdisposeしなくていいことをわかりました
そしてこういう風に書いてAを押したらメッセージボックスが出るようにしたいんですが出てきません
507:デフォルトの名無しさん
12/03/13 12:23:18.79
>>505
>>2使えよ
508:デフォルトの名無しさん
12/03/13 12:23:49.77
デバッグでは無理だぞ、Ctrl+F5でやってみ
509:デフォルトの名無しさん
12/03/13 12:56:07.65
初心者はフックしたがる
510:デフォルトの名無しさん
12/03/13 12:57:25.84
出来ましたありがとうございます
次から.>2のをつかいます
511:デフォルトの名無しさん
12/03/13 12:57:45.93
鼻フックでもしとけ
512:デフォルトの名無しさん
12/03/13 12:57:57.25
ローカルフックではなく必ずグローバルフックというところが悪用くさい
513:デフォルトの名無しさん
12/03/13 13:16:46.37
何で質問に対する解答が出ているのに、そちらへは感謝しないで
既に自分が作ったものと同等の別の表現に置き換えただけの物を提供されて、そっちへ感謝しているんだコイツ
514:デフォルトの名無しさん
12/03/13 13:21:47.49
とりあえずこのスレに来る奴は
C#初心者かたるまえに、人間初心者卒業してから来いよw
515:デフォルトの名無しさん
12/03/13 13:23:06.76
>>513
コイツってだれ
516:デフォルトの名無しさん
12/03/13 13:23:29.06
まぁ人間中級者がC#の勉強を始めて初歩的な問題にブチ当たっても
自己解決出来るから、必然的にこのスレはこうなる運命かw
517:デフォルトの名無しさん
12/03/13 13:25:04.96
>>515
文盲じゃなきゃ誰か分かるでしょ?
昔、小学生の頃に国語のテストやらなかった?下線1の「それ」とは何のことですか?みたいな
518:デフォルトの名無しさん
12/03/13 13:26:00.29
分かりやすくレス番まとめて
519:デフォルトの名無しさん
12/03/13 13:26:15.81
IDがないから言わなかったが
ここまですべて俺の自演
520:デフォルトの名無しさん
12/03/13 13:27:07.72
この話題は止めましょう(提案)
次の質問者、入ってどうぞ
521:デフォルトの名無しさん
12/03/13 13:31:26.73
a200
a3
a100
↓
a3
a100
a200
という風にソートするのは何てメソッドを使えば出来ますか?
522:デフォルトの名無しさん
12/03/13 13:31:33.04
だから分離しろと
分離先でスレをどうしようがかまわん
523:デフォルトの名無しさん
12/03/13 13:32:30.76
>>520
>>412だが、どうにか出来ない物ですかね?
524:デフォルトの名無しさん
12/03/13 13:32:38.33
>>521
意味がわかりません
アルファベットが入ってるのに一部は数値とみなしてソートするの?
525:デフォルトの名無しさん
12/03/13 13:33:51.55
>>523
それも分離してくれ
プログラムの問題じゃなさそうだし
526:デフォルトの名無しさん
12/03/13 13:35:00.54
>>524
普通にやるsortだと数字の部分を考慮されないので
a100
a200
a3
ってなっちゃうんです
PHPでいうnatsortみたいなのがやりたいんですがC#でこういうソートできませんか?
527:デフォルトの名無しさん
12/03/13 13:35:04.57
>>521
Sort()でOK。IComparableは自分で実装してね。
528:デフォルトの名無しさん
12/03/13 13:35:29.51
追記
URLリンク(php.net)
529:デフォルトの名無しさん
12/03/13 13:35:40.00
比較関数書けばいい。数字を数値にするんだろ?
530:デフォルトの名無しさん
12/03/13 13:36:50.12
>>527
ということは標準ではこういうメソッドはなくて自力で書かないとダメって事ですか
うあ
531:デフォルトの名無しさん
12/03/13 13:37:46.65
>>530
自分で書かないといけないって
仕様さえ決めればすぐだろ
アホしかいないのか
532:デフォルトの名無しさん
12/03/13 13:37:54.18
>>529
ちょっと難しいのですがたぶんそれです
なんかC#ならこういうのに対応したメソッドがあるものだと思いました
やっぱり自力でやんないとだめなんですね
533:デフォルトの名無しさん
12/03/13 13:39:07.43
2,3行書くだけだろ。
phpみたいにあれもこれもそれも関数追加するより
必要なものを自分で書いた方が自由度高いだろ。
534:デフォルトの名無しさん
12/03/13 13:40:27.33
C# 自然順 ソートでググってるんですがコード書いてる人が見つかりません
どう書くのはヒントをいただけないでしょうか?
535:デフォルトの名無しさん
12/03/13 13:41:38.04
XP以降、シェルがStrCmpLogicalW関数を公開しててExplorerとかがソートに使ってる
536:デフォルトの名無しさん
12/03/13 13:42:46.46
難しいんじゃなくてプログラミングに向いてないだけじゃないの?
自分でやりたいこと(仕様)は決まってるのにプログラムに落とし込む際に
詳細な仕様に分解できないんだし
537:デフォルトの名無しさん
12/03/13 13:51:18.86
StrCmpLogicalW() を比較関数にすればいい。
class Program
{
[DllImport("Shlwapi.dll", CharSet = CharSet.Unicode)]
private static extern int StrCmpLogicalW(string psz1, string psz2);
static void Main(string[] args)
{
var l = new List<string>();
l.Add("a100");
l.Add("a3");
l.Add("a200");
l.Sort(StrCmpLogicalW);
foreach (var s in l)
Console.WriteLine(s);
}
}
538:デフォルトの名無しさん
12/03/13 13:51:37.89
組織の規律なだけですよ
嫌なら辞めればいいだけです
逃亡()しても銃殺刑にしたりしませんよ
何勘違いしてるの?
539:デフォルトの名無しさん
12/03/13 13:51:59.07
ああああwww
ごばくw
540:デフォルトの名無しさん
12/03/13 13:53:33.22
逃亡メソッドかと
541:デフォルトの名無しさん
12/03/13 14:16:15.68
>>537
すげーw質問者じゃないけど、そのAPI初めて知ったので勉強になったw
お礼に勝手にスタイリッシュに書き直し
var list = new List<string> { "a200", "a3", "a100", };
list.Sort(StrCmpLogicalW);
list.ForEach(Console.WriteLine);
542:デフォルトの名無しさん
12/03/13 14:19:30.26
>>525
多分別プロセスに分けたら解決するが、プロセス間通信でファイル操作ができるプログラム作るのも何だから
出来ればスレッド分けるだけで何とかしたいんだが無理なのかな?
543:デフォルトの名無しさん
12/03/13 14:21:55.75
>>542
知らん
C#だけじゃなくOSとか環境も影響しそうだしそんなのに付き合ってられん
544:デフォルトの名無しさん
12/03/13 14:24:20.43
>>535
Win98の頃にWin32APIの分厚い本を読破したけど
それ以降にこんな便利なものが追加されているんだな
最新版を読んでみようという良い機会になったw
545:デフォルトの名無しさん
12/03/13 14:30:26.90
WindowsってVista以降のUIを除けばよくできているよな。
546:デフォルトの名無しさん
12/03/13 14:43:20.84
>>537のような先生ばかりならいいんだけどな
ほとんど質問者と同等の連中がまっとうな答えも出せずに煽るばかり
547:デフォルトの名無しさん
12/03/13 14:45:08.70
>>546
>>521のレベルの質問で回答者を叩かれるのは納得いかないわw
たまたまエスパーがいただけだろ
548:デフォルトの名無しさん
12/03/13 14:48:37.09
回答できていないのだから回答者とは言わない
549:デフォルトの名無しさん
12/03/13 14:50:58.75
文字と数字でわけて文字比較して同じだったら数字を数値化して
比較するだけじゃない、質問者は自然順という言葉しか出せないから
プログラム以前の話。
550:デフォルトの名無しさん
12/03/13 14:51:18.24
>>548
煽ってるんじゃなくて何がしたいかわからないから
ヒアリングしてるんだよ
>>521がたとえば先頭はアルファベット1文字だけでその後は数字を文字列化した程度なら
自分で実装しようがそれほどでもない
もうちょっと文字数が増えてもそれほどでもないかもしれない
でもそういうのすら書かれてない
だからヒアリングするの
551:デフォルトの名無しさん
12/03/13 14:59:21.32
他人が回答書いたらケチ付ける人こそ生産性がゼロの問題児だと思います
事実上の嵐行為なので他の人もスルーしたらいいのに
552:537
12/03/13 14:59:38.03
確かにヒアリングは大事だよな。
俺も回答はしたが、>>521の要望どおりっていう保証は何もないしな。
ただこういう場合、質問者自身も仕様を突き詰めて考えているわけじゃないから、
とりあえず答えを提示してみたほうが効率良くヒアリングできることもある。
553:デフォルトの名無しさん
12/03/13 15:05:07.42
自分のやりたいことがきちんと説明できるだけの知識があったらその時点ですでに解決してると思うぞ
こういうスレはエスパーじゃないと無理
554:デフォルトの名無しさん
12/03/13 15:05:53.91
>>553
エスパーじゃないのでヒアリングしたら回答してない煽ってるといわれるとどうしようもないw
555:デフォルトの名無しさん
12/03/13 15:10:33.23
何千万の仕事がもらえるアホ顧客へのヒアリングじゃないからw
少々言葉が汚いのは諦めろ
無料の代償だからw
556:デフォルトの名無しさん
12/03/13 15:22:30.98
質問者側だって少ない知識で必死に説明しようとしてるんだよ
それを回りくどくヒアリングとか言われても余計混乱するだけ
この程度の質問を予測できない奴が顧客のニーズに応えられるとはとうてい思えない
557:デフォルトの名無しさん
12/03/13 15:26:43.06
~糞スレ終了のお知らせ~
558:デフォルトの名無しさん
12/03/13 15:28:36.33
2chも仕事です
559:デフォルトの名無しさん
12/03/13 15:29:14.80
>>547は日本語が読めないらしい
ここにやりたい事を書いてあるみたいだけど
560:デフォルトの名無しさん
12/03/13 15:30:13.49
俺はもっとつらい顧客の対応してんだから、
お前もこれぐらい我慢しろって顧客が言うんですよ。
561:デフォルトの名無しさん
12/03/13 15:30:20.06
2chなめんなよ
562:デフォルトの名無しさん
12/03/13 15:33:32.73
ソートはみんなで答えるくせにフックの質問は答えてくれない。
563:デフォルトの名無しさん
12/03/13 15:33:47.93
プロがこんなスレにいるわけねーだろ
ここの卒業間近のやつが応えてんだよ
564:デフォルトの名無しさん
12/03/13 15:35:08.95
初心者が質問して初心者がググって答えるスレなんだからしょうがないだろ!
分からないものは知ってる振りをして煽っておかないと俺のプライドがもたねぇ!
565:デフォルトの名無しさん
12/03/13 15:38:03.55
IDつけてくんないと自演やめられねぇ
566:デフォルトの名無しさん
12/03/13 15:38:58.63
>>562
飽きたんだよ。 前も答えたけど、何の返答もよこさねーし。
まあ、検索すればあるからってより、使えないからっていう返答の方がお好みだったんだろうけどな。
567:デフォルトの名無しさん
12/03/13 15:39:18.39
>>565
入れ食いだお
568:デフォルトの名無しさん
12/03/13 15:40:31.79
ずっとこのスレに生息してるけどフックの件の回答は「グローバルフック」とかこの程度の回答しか見た事がない
569:デフォルトの名無しさん
12/03/13 15:40:41.16
おまえとおれと二人しかいないし寂しいな。
570:デフォルトの名無しさん
12/03/13 15:42:07.14
荒れる三大スレ
PHP,JavaScript,C#
571:デフォルトの名無しさん
12/03/13 15:42:24.40
>>568
それで十分じゃないか
そとも俺のために完璧に動くソースを作れってこと?
572:デフォルトの名無しさん
12/03/13 15:42:59.69
>>568
だって分からないんだもんっ
573:デフォルトの名無しさん
12/03/13 15:43:52.13
こんなもん荒れたうちに入らねーよ
574:デフォルトの名無しさん
12/03/13 15:44:53.94
まああれに比べたらなw
575:デフォルトの名無しさん
12/03/13 15:44:58.40
>>572
そういうあおりしても出てこないよ
逆にますます無視されるだけ
576:デフォルトの名無しさん
12/03/13 15:50:35.21
すべった?
577:デフォルトの名無しさん
12/03/13 15:51:16.87
的外れなエスパーは半月ろむってろ
578:デフォルトの名無しさん
12/03/13 15:51:17.56
URLリンク(lmgtfy.com)グローバルフック
579:デフォルトの名無しさん
12/03/13 15:51:45.69
このスレだと質問がネタ振りに化してる感じ
580:デフォルトの名無しさん
12/03/13 15:52:35.27
>>579
スレを活性化するためにわざとネタにしてるのかもw
581:デフォルトの名無しさん
12/03/13 15:54:40.80
ネタ振り~してる間に~
582:デフォルトの名無しさん
12/03/13 15:55:27.17
フックぐぐってきた
俺には必要なさそうだ
583:デフォルトの名無しさん
12/03/13 16:02:35.79
このスレ役に立ったためしがない
ぐーぐる先生のほうが優秀だし
まぬけな質問者をオチってにやにやするのが楽しくて離れらないけど
584:デフォルトの名無しさん
12/03/13 16:04:40.42
死ね
俺以外みんな死ね
585:デフォルトの名無しさん
12/03/13 16:07:26.35
俺とお前しかいないのになにいってんだ
586:デフォルトの名無しさん
12/03/13 17:05:30.06
キーボードを押すという動作は出来ますか?
sendMessageはアクティブのウィンドウに文字を送信しますのでこれはだめです
キーボードを手で押したようなことをしたいのですがそれは無理ですか?
587:デフォルトの名無しさん
12/03/13 17:10:34.04
猫を飼えば可能
588:デフォルトの名無しさん
12/03/13 17:11:38.57
>sendMessageはアクティブのウィンドウに文字を送信します
は?
589:デフォルトの名無しさん
12/03/13 17:12:23.94
SendInput の話?
590:デフォルトの名無しさん
12/03/13 17:17:17.21
SendInputとグローバルフックの話題禁止
591:デフォルトの名無しさん
12/03/13 17:18:08.03
はい出ました仕切り厨
592:デフォルトの名無しさん
12/03/13 17:21:37.05
どうみても>>586はネタ
593:デフォルトの名無しさん
12/03/13 17:22:50.64
>>586
URLリンク(cs2ch.blog123.fc2.com)
594:デフォルトの名無しさん
12/03/13 17:27:51.43
例えば キーボードを押してないのに
キーボードのキーが物理的に下がる ってことはできない。
ピアノの鍵盤が下がる自動演奏みたいな。
で、何がしたいの?
595:デフォルトの名無しさん
12/03/13 17:51:33.70
>>594 AHKやuwscのようなキーボーボを押すマクロを作りたいと思います
>>593 参考になります これでやってみます
596:デフォルトの名無しさん
12/03/13 17:59:22.56
物理的にキーが下がる・・・重力あやつるしかねえな
597:デフォルトの名無しさん
12/03/13 18:02:05.71
ピアノとかで自動演奏するのがあるけどあれはそれなりの仕組みがいるよなw
そんな高級キーボードを買うやついねーだろw
598:デフォルトの名無しさん
12/03/13 18:38:36.37
メソッドが複数の戻り値を返せないC#では
複数の戻り値が欲しい場合は、複数のデータを1つの固まりにパックしてから返さないといけないのですが
パックの方法を調べたところ
1:独自クラスにパックして返す、2:匿名型でパックしてdynamic型で返す、3:Tupleにパックして返す、の3種類のようです
1は毎回有名のクラスを作る必要があるので論外
2は戻り値を利用するときに、インテリセンスでプロパティが表示されないので、コーディングの生産性が低いため論外
3は戻り値を利用するときに、プロパティ名がItem1と固定されているので、戻り値の意味が分からなく論外
どうすればいいですか?C#6.0で対応されるのを待つしかありませんか?
599:デフォルトの名無しさん
12/03/13 18:45:28.31
4諦める
といいたいところだけどコンソールアプリの引数のように文字列の配列を返すようにして
復元するためにキーワード化するとか
あとは同じく文字列だけどDictionaryで管理してそのインスタンスを渡す
でも復元しないといけないだろうから復元クラスを作る必要があるねw
600:デフォルトの名無しさん
12/03/13 18:45:42.22
釣り針~
601:デフォルトの名無しさん
12/03/13 18:48:32.26
最近の質問はのび太がドラえもんにいい道具ない?ってねだるくらいのレベルだな
602:デフォルトの名無しさん
12/03/13 18:56:59.65
答えが分かってる質問というのか、ただの愚痴に近い。
603:デフォルトの名無しさん
12/03/13 18:59:15.05
>>599
やっぱ低コストな方法では無理ですな
理想としては2で匿名型をdynamic型に代入したときは
コンパイル時に確定している情報はIDE上では静的に扱ってくれると嬉しいですな
例えば、 dynamic hoge = "a"; ってやればhogeはstringで確定なんだから
604:デフォルトの名無しさん
12/03/13 19:13:03.71
>>603
dynamicに対する理解不足ですね
605:デフォルトの名無しさん
12/03/13 19:13:24.72
>>598
2点、やり直し!
606:デフォルトの名無しさん
12/03/13 19:16:18.64
>>604
いや、全くその通り理解不足なんだけど
理論上おかしくてもIDE上では便宜上そこまでやってくれるツールだと素敵なんだけどねって妄想してみた
もしくはTupleのプロパティを命名する仕組みが出来ても素敵だけど、今の言語仕様では当然無理
607:デフォルトの名無しさん
12/03/13 19:17:38.53
そもそもメソッドの引数には名前があるのに、メソッドの戻り値に名前がないのが不自然
608:デフォルトの名無しさん
12/03/13 19:18:56.49
便宜上、メソッド名が戻り値の名前になっているだけ
GetName#なら戻り値が名前なんだなって分かるのは、メソッドが戻り値を命名しているかr
609:デフォルトの名無しさん
12/03/13 19:20:13.98
その都度クラス作ったほうがいいと思うけど
大した手間じゃないし
610:デフォルトの名無しさん
12/03/13 19:28:45.52
Debug.Fail
ってプログラムを完成させてexe形式で実行されるときにどういう扱いされるの?
611:デフォルトの名無しさん
12/03/13 19:45:33.11
ConditionalAttributeの説明を読む
612:デフォルトの名無しさん
12/03/13 20:06:42.02
フォームのtopmostとメニューのチェックの状態をくっつけたいのだが(バインド?)
どうすればおk?
ApplicationSettingsは使いたくない
613:デフォルトの名無しさん
12/03/13 20:09:21.77
WinFormsならチェックが変更されたイベント拾ってしこしこ書くしかないよ
バイントみたいな便利な機能は極一部のコントロールでしか使えない
614:デフォルトの名無しさん
12/03/13 20:20:02.66
今から作るならMetro対応にして練習したほうがいいな
615:デフォルトの名無しさん
12/03/13 20:38:47.68
いやメトロなんて絶対に普及しないからw
616:デフォルトの名無しさん
12/03/13 20:39:40.94
ないよね
当のWPFすらナイナイwって言ってるしね
617:デフォルトの名無しさん
12/03/13 20:42:29.95
IS12T使ってるけど、メトロUI結構好きだよ。
もうちょっと練り込む必要があるかなとは思うけど。
618:デフォルトの名無しさん
12/03/13 21:23:34.41
String log = "a = " + a + ", b = " + b + ",c = "以下省略
みたいな書き方が目に悪いです
String log = "a = ${a}, b = ${b}, 以下略みたいに書けないでしょうか?
619:デフォルトの名無しさん
12/03/13 21:25:00.20
メがトロ
620:デフォルトの名無しさん
12/03/13 21:26:02.31
今のところ以下略みたいには書けないですね
String.Formatで勘弁して下さい
621:618
12/03/13 21:31:08.67
勘弁してあげません。もっといい書き方はないでしょうか
ちなみに"a=${a}"という書き方はRubyならできます
622:デフォルトの名無しさん
12/03/13 21:34:30.60
ないよ
嫌なら死ね
623:デフォルトの名無しさん
12/03/13 21:35:46.28
すぐそうやって無いとか死ねっていう
無いけどさ
624:デフォルトの名無しさん
12/03/13 21:37:02.43
勘弁しないといわれても我々にはお出しできるものが無いのです…
我々が仕様を策定しているわけではありませんので…
625:デフォルトの名無しさん
12/03/13 21:43:35.44
つIronRuby
626:618
12/03/13 21:48:54.05
ありがとうございます。
クソ欠陥言語が
627:デフォルトの名無しさん
12/03/13 21:51:32.34
強く同意します
我々も呆れています
628:デフォルトの名無しさん
12/03/13 21:53:44.04
>>622
こういう事を平気で書くとリアルで墓穴を掘るよ
629:デフォルトの名無しさん
12/03/13 21:57:04.55
強く同意します
我々も呆れています
630:デフォルトの名無しさん
12/03/13 21:58:29.08
うぜーよ面白いと思ってんのか
631:デフォルトの名無しさん
12/03/13 23:48:24.83
あなたの忍耐に感謝します
632:デフォルトの名無しさん
12/03/14 00:02:15.34
Win8のUIってMetroとWPFの二本柱でいくんですか?
633:デフォルトの名無しさん
12/03/14 00:14:16.35
沢山の選択肢の中にMetroが加わった。
ARMのタブレット向けなんかはMetroでしか開発できないけどね。
634:デフォルトの名無しさん
12/03/14 00:19:27.73
デスクトップではWPFですら普及してないのにましてMetroがWindows Formを代替できるわけないじゃん。
スマホ/タブレットは、もうやる前から負けは見えてるw
開発ツールの完成度でWPの逆転を予想してる人もいるみたいだけど、
こういう考えがナンセンスなのを実証する事例って過去にいっぱいあったような....
635:デフォルトの名無しさん
12/03/14 00:40:32.43
特集:Windows 8開発に向けて準備しよう
Metroスタイル・アプリの開発者が知るべき3つのこと
URLリンク(www.atmarkit.co.jp)
636:463
12/03/14 00:51:34.38
>>467
その線が有力な感じがします。
試してみます!
>>472
KeyUpメッセージの破棄も試してはいましたが、中々うまくいきません。
1.WinキーがUpとなった時にRが押されているという表現ができませんでした。
(GetAsyncKeyState 関数を使用したがうまくいかず)
2.GetAsyncKeyStateの代わりにフラグを用いてWin + Rが押された後の一番最初のWinキーアップメッセージを破棄という方法も試しましたがこれも駄目でした。
(Winキーアップ待ちという状態になってしまうため、例えばEキーを押すと、内部的にWin + Eとなりマイコンピュータが起動してしまう)
3.2の解決方法として、最初のWinキーダウンメッセージを破棄すれば良いと考えましたが、
そもそもWin + Rを押下した場合、キーダウンイベントは
(1)Winキーダウン (2)Rキーダウンといった順番でイベントが発生するため、
都合の良いときだけWinキーダウンメッセージを破棄するという表現方法が分かりませんでした。
長文すみません。
>>473
分かりやすい説明ありがとうございます。
スタートメニューが表示されてしまう原因がよく分かりました。
これを参考に、解決方法を考えてみたのですが
やはり467さんの方法が一番かと思いました。
>>489
そんな下らない物は作らないです。
グローバルフックの話題は荒れる原因のようなので
もう少し試行錯誤してみたいと思います。ありがとうございました。
637:デフォルトの名無しさん
12/03/14 01:08:08.64
一晩寝ると詰まっていても大抵解決できるよな
十数時間コーディングしっぱなしだと勝手に手が動く簡単なのしかできなくなる
638:デフォルトの名無しさん
12/03/14 01:21:06.49
普通じゃないことを無理に実装してもほかのところでそれが原因でコケて結局無意味だったことに気づく
639:デフォルトの名無しさん
12/03/14 01:27:56.60
OSの中で生かされてるのにOSに逆らった行動するプログラムは糞
640:デフォルトの名無しさん
12/03/14 01:31:14.45
>>634
WPで広告屋が作ったOSが駆逐されて、デスクトップと同じ感じになると予想
641:デフォルトの名無しさん
12/03/14 01:36:37.16
>>612-613
this.DataBindings.Add(new Binding("TopMost", this.checkBox1, "Checked"));
ではいかんの?
642:デフォルトの名無しさん
12/03/14 06:24:01.79
過疎りすぎだろ
初心者もいい加減学習するわな
こんなところで聞いてもまともな回答なんて返ってこないから無駄だってことを
643:デフォルトの名無しさん
12/03/14 06:52:25.08
ファイルやフォルダを掴んでるプロセスを特定する方法ってありますか?
644:デフォルトの名無しさん
12/03/14 09:20:40.56
Unlockerがドライバレベルで実行していることから考えれば分かるはず
645:デフォルトの名無しさん
12/03/14 09:31:55.47
またおまえか。
646:デフォルトの名無しさん
12/03/14 09:36:54.74
次にお前はこう言う、C#でAPIフックする仕方教えてください
647:デフォルトの名無しさん
12/03/14 09:57:52.38
また性格悪い奴きてんの?
648:デフォルトの名無しさん
12/03/14 10:10:18.13
質問してる人をからかって、ネタにしようとしている一部の奴がいるんだよな
649:デフォルトの名無しさん
12/03/14 10:11:09.89
自作自演
650:デフォルトの名無しさん
12/03/14 10:11:45.86
>>643
Vista以降ならこの辺参考にすればいけんじゃね
URLリンク(d.hatena.ne.jp)
651:デフォルトの名無しさん
12/03/14 10:16:50.73
>>643
handle.exe
652:デフォルトの名無しさん
12/03/14 12:46:23.74
handle.exeをdllみたいに使えないかな?
コマンドプロンプト出さずに結果取得したい。
653:デフォルトの名無しさん
12/03/14 13:01:27.20
コマンドプロンプトのウインドウ最小化 とかじゃなくてね。
654:デフォルトの名無しさん
12/03/14 13:04:29.51
ProcessStartInfoのメンバ一覧眺めれ
655:デフォルトの名無しさん
12/03/14 13:10:54.72
uint[]をint[]にキャストすると”変換できません”と言われます
var int[] intArray = (int[])uintArray;
これをキャストするにはどうすればいいでしょうか?
656:デフォルトの名無しさん
12/03/14 13:21:03.64
まずハローワークへ行きます。
657:デフォルトの名無しさん
12/03/14 13:27:57.63
ハローワークいけたらプログラマーもどきなんてやってねーよ
658:デフォルトの名無しさん
12/03/14 13:38:11.32
URLリンク(www.atmarkit.co.jp)
659:327
12/03/14 13:49:20.03
>>328
ありがとうございました。
婆さんが日曜に亡くなって、葬式しててお礼が遅くなりました・・・
660:デフォルトの名無しさん
12/03/14 13:54:00.20
そんな報告は要らん
661:noiro
12/03/14 13:56:02.59 BE:2079510555-2BP(0)
誰かいますか?
10分前2chに登録したんですけど全くやり方わからなくって・・・
ERROR:Beポイントってなんですか?
662:デフォルトの名無しさん
12/03/14 13:56:38.81
>>652
cmd /k /c
663:デフォルトの名無しさん
12/03/14 13:58:38.72
標準入出力リダイレクト
664:デフォルトの名無しさん
12/03/14 19:48:02.07
コンソールプログラミングで1000万以下の素数をコンソールに表示するのに5秒ぐらいで出来るのに(と言っても最後の方しか見れない)
フォームプログラミングで100万以下の素数をテキストボックスに表示させようとすると固まってしまうんですけど、なんとか出来ないでしょうか?
10万以下だと表示出来てるのでプログラミングにエラーがあるわけではないです。
665:デフォルトの名無しさん
12/03/14 19:57:40.72
>>664
テキストボックスを使わなければいい
666:デフォルトの名無しさん
12/03/14 19:57:59.66
表示の仕方はどうなってんだ
667:664
12/03/14 20:05:10.75
>>665
ですよねw
コマンドプロンプトだと前の方が切れて観れなくなってしまうのが嫌でテキストボックス使ったんですけど
クリップボードに保存させて表示しない方針でやってみます。
>666
表示の仕方というと何を言ったら良いんでしょうか・・・
2 3 5 7 11 13
と言う風にして折り返しで垂直スクロールバー付きのテキストボックスに表示させました。
668:デフォルトの名無しさん
12/03/14 20:11:51.67
毎回TextBox.Textに+=で継ぎ足してねえか
669:664
12/03/14 20:13:27.17
いえ継ぎ足しじゃなくてstring型の変数に全部入れてからその変数をテキストボックスに表示させるようにしています。
670:デフォルトの名無しさん
12/03/14 20:14:12.98
折り返しにしておくと垂直スクロールバーのサイズを決めるために文字列幅の計算をするから
これも何かありそう
671:デフォルトの名無しさん
12/03/14 20:14:27.07
そのstringに全部入れるところで+=で継ぎ足ししてねえか
StringBuilder使うんだぞ
672:デフォルトの名無しさん
12/03/14 20:22:21.86
どちらにしてもTextBoxに表示させようとしているのが間違っている
673:デフォルトの名無しさん
12/03/14 21:01:12.97
trackBarのイベントで
trackBar1_Scroll と
trackBar1_ValueChanged はどう違いますか?
674:デフォルトの名無しさん
12/03/14 21:05:47.72
スクロール ボックスの移動またはコードによる操作によって、トラック バーの Value プロパティが変更されると発生します。
マウス操作またはキー操作でスクロール ボックスが移動すると発生します。
ぎゃ嗚呼ああああああああああああああああああああああ
675:デフォルトの名無しさん
12/03/14 21:06:13.95
なんでそこまでキーワードが出揃ってるのに検索しないの?
TrackBar.ValueChanged イベント
URLリンク(msdn.microsoft.com)
>スクロール ボックスの移動またはコードによる操作によって、トラック バーの Value プロパティが変更されると発生します。
TrackBar.Scroll イベント
URLリンク(msdn.microsoft.com)
>マウス操作またはキー操作でスクロール ボックスが移動すると発生します。
676:664
12/03/14 21:18:33.39
>>671
仰る通りstringに入れるとこで継ぎ足してました。
StringBuilderとやらを知らなかったので調べて使ってみたら、無事に100万以下の素数を表示できました。
回答して下さった方々ありがとうございます。
677:デフォルトの名無しさん
12/03/14 21:21:10.73
>>655
こういう方法しかないんじゃないの?
uint[]をint[]に変換するってことは配列その物の型と
その中身の型も全部変換しないと
URLリンク(ideone.com)
678:デフォルトの名無しさん
12/03/14 21:23:07.85
当然ながらuintをintにするとある数値以上を保持してる場合は
どうなるか保証はしないよ
679:デフォルトの名無しさん
12/03/14 21:42:28.63
なんで 0.29000000000000004 になってしまうのか教えてください。
int a = 1;
double b = 0.71;
double c = (double)a - b;
//デバグで見ると c が になっている
//ちなみに
Debug.WriteLine("c = "+c);
//で表示させると 0.29
VisualStudio2005ですが 2008や 2010(?)でも 同様の現象になるのかも知りたいです。
680:デフォルトの名無しさん
12/03/14 21:44:31.58
浮動小数点数ってのはそんなもの
681:デフォルトの名無しさん
12/03/14 21:44:36.63
訂正。 なんで 0.29000000000000004 になってしまうのか教えてください。
int a = 1;
double b = 0.71;
double c = (double)a - b;
//デバグで見ると c が 0.29000000000000004 になっている
//ちなみに
Debug.WriteLine("c = "+c);
//で表示させると 0.29
VisualStudio2005ですが 2008や 2010(?)でも 同様の現象になるのかも知りたいです。
682:デフォルトの名無しさん
12/03/14 21:44:59.72
そういうもの
嫌ならdecimal使え
683:デフォルトの名無しさん
12/03/14 21:46:28.18
>>681
たぶんIEEEで決めた浮動小数点にしたがって計算するのは
ほぼ同じような計算誤差になると思うので気にしない方がいい
684:デフォルトの名無しさん
12/03/14 21:48:55.82
ちなみになんで0.29になるかというと
Double.ToStringは暗黙にGの数値書式指定を使用するが
DoubleにGを使って精度指定を省略すると下15桁までになる
…4はもっと小さいから切り捨てられる
685:681
12/03/14 21:49:52.45
マジっすか・・・・ orz
686:デフォルトの名無しさん
12/03/14 21:51:15.00
浮動小数点はちゃんと理解して使わないとおかしな結果になるから勉強したほうがいいよ
たまたまDebugでうまくいくとかいい加減なことやってるとそのうち痛い目を見ることになる
勉強した上でいろいろ考えるの面倒ならdecimalが楽だけど
687:デフォルトの名無しさん
12/03/14 21:51:40.53
>>685
0.290050000
こんなのが勝手に丸められると大変なことだけどねw
688:デフォルトの名無しさん
12/03/14 22:02:44.64
きっと他にもif (b == 0.0)とかやっちゃってるんだろうな
689:デフォルトの名無しさん
12/03/14 22:04:30.39
これだとc==0.29はfalseになっちゃうのか
690:デフォルトの名無しさん
12/03/14 22:14:11.67
浮動小数点の等値比較使うと汎用的なコードにしづらくなるよな
結局用途ごとに必要な精度でイプシロン決めてしまうから
691:デフォルトの名無しさん
12/03/14 22:16:24.25
地震が来たのでしばらくこのスレを開きません
逃げる準備をしておきます。
692:デフォルトの名無しさん
12/03/14 22:27:56.08
値を配列に加えていく場合、
文字列だと、string mes += "A"; の様な形でどんどん加えていけますが、
バイト配列で同様のことをできないでしょうか。
データ受信した値を配列に入れていきたいのですが、
何文字受信するかわからないので、配列の要素数をあらかじめ決められないのです。
693:デフォルトの名無しさん
12/03/14 22:31:32.39
List<byte>
あと一応、
>文字列だと、string mes += "A"; の様な形でどんどん加えていけますが
この認識は改めないと>>664みたいなことにはまりますよ
どんどん加えているのじゃなくて、どんどんコピーして新しく作ってるんです
694:デフォルトの名無しさん
12/03/14 22:31:37.78
>>692
メモリーストリームがオススメ!IOに入ってるよ。
695:デフォルトの名無しさん
12/03/14 22:33:51.07
>>692
パフォーマンスと使い勝手を考えなければQueue<byte>とかでもいいけど、
普通は目的にあったリングバッファを自分で実装すると思うよ。
696:デフォルトの名無しさん
12/03/14 23:32:59.13
キーイベントで
case Keys.A
Keys.Aの部分を変数で書くにはどうかくのでしょうか?