09/10/02 18:10:51
>>451
レスありがとうございます!
ただ、引数に何を入れるのかが分かりません。
(IntPtr hwndParent, WNDENUMPROC lpEnumFunc, int lParam);
とか
(IntPtr hwndParent, IntPtr lpEnumFunc, int lParam);
など試してみたのですがダメでした。
453:デフォルトの名無しさん
09/10/02 18:28:33
>>451
APIの知識がないんだな
C#云々の問題じゃないし
454:デフォルトの名無しさん
09/10/02 18:36:20
>>452
ちゅーかどっからそんなソースをもってきたんだろう。
引数はIntPtr hWnd, int lParamの2つだけ。
引数名をhwndParentとしているが、ココには親のウィンドウハンドルが渡されるのではなく
列挙された子ウィンドウのウィンドウハンドルが渡される。
455:デフォルトの名無しさん
09/10/02 18:37:44
EnumChildWindowsの引数なんて言ってないんだが…
456:デフォルトの名無しさん
09/10/02 19:23:55
>>454
子ウィンドウを列挙するソースが見つからないので
試行錯誤しているところです。
引数名は何も気にせずコピーしてました。
>>455
なんだか的外れな事をしてしまったみたいですみません。
どこをどう直せば良かったのでしょうか。
457:デフォルトの名無しさん
09/10/02 19:25:58
C#のソースに拘らなくていいだろw
458:デフォルトの名無しさん
09/10/02 19:39:51
>>457
こだわってるんじゃなく、違う言語がまったく読めないのでC#に出来ないのです。
459:デフォルトの名無しさん
09/10/02 19:53:13
>>429
ぶー、88BASIC です。
460:デフォルトの名無しさん
09/10/02 19:56:41
>>442
非常識自慢?w
ネストされたクラスはカウントしないとして、
例外クラスとenum以外は基本ファイルあた1クラスでしょ。
あとは、まあ小さなクラスなら派生クラスも同じファイルに書いちゃうことはあるが。
461:デフォルトの名無しさん
09/10/02 20:06:12
いじわるしないで教えてやれよw
462:デフォルトの名無しさん
09/10/02 20:24:42
何かプログラムしようと思うんだけど何も思いつかない
463:デフォルトの名無しさん
09/10/02 20:42:39
教えてあげないよ
_,∩_ _,∩_ _,∩_
(_____)ゝ、 (_____) y (_____)
/ :: :: :: ヽ 〉 /-‐:: ::‐-ヽ / / :: :: :: ヽ
_./ (・ )ll(・ ) ∨ _/ 0) i! 0) ∨ _/ ( ・)i!(・ ) ゙、_
// :: :: ∈ゝ :: ::ヽ // :: ‐-‐ :: ヽ // :: ー一 :: ヽ\
. ゝ/:: :: :: :: :: ::ヽ ゝ/ :: :: :: :: :: ヽ ゝ/ :: :: :: :: :: ヽく
 ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄
| | | | | |
⊂! !つ シ! !つ ⊂! !つ
ジャン♪
464:デフォルトの名無しさん
09/10/02 20:46:36
>>458
だから、APIが読めなければC#にもできないだろw
基本は同じなんだからさ
こんにちはの意味がわかれば、HELLOをどのタイミングで言えばいいかわかるだろ?
それと一緒だ
465:デフォルトの名無しさん
09/10/02 21:07:18
下手な例えだなw
466:デフォルトの名無しさん
09/10/02 21:13:24
>>433
>「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう
DESCryptoServiceProvider.CreateDecryptor メソッド
指定したキー (Key) および初期化ベクタ (IV) を使用して、対称 DES (Data Encryption Standard) 復号化オブジェクトを作成します。
セキュリティ関係用語じゃなくてMicrosoft用語ですだ。
467:デフォルトの名無しさん
09/10/02 21:27:52
>>440
だから、原理的にはって言ってるじゃないか。
どう実装されてるか分からないから、適当に復号化するように実装されてないとは
言い切れない。
ドキュメント斜め読みしても見つからない。
一個かそこら試したとしても不安が残る。
時間は待ってくれない。
だからどっちに転んでも、まあ動くだろうって対応をした。って話。
ところで関係無いんだが、これ実はExcelVBAで利用したと言ったら信じる?
468:450
09/10/02 23:48:40
解決したっぽいです。
レスくれた方ありがとうございました。
private delegate int EnumerateChildWindowsCallback(IntPtr hWnd, int lParam);
[DllImport("user32.dll")]
private static extern bool EnumChildWindows(IntPtr hwndParent, EnumerateChildWindowsCallback lpEnumFunc, int lParam);
public int EnumerateChildWindows(IntPtr hWnd, int lParam)
{
return 1;
}
public void main(IntPtr hWnd)
{
EnumChildWindows(hWnd, new EnumerateChildWindowsCallback(EnumerateChildWindows), 0);
}
469:デフォルトの名無しさん
09/10/03 00:51:50
>>467
別に対応がおかしいとは言ってないよ。
実際復号されることもエラーになることもあるから。
>でないとTripleDESが不可能のはずだから。
これがおかしいと言ってるだけ。
470:デフォルトの名無しさん
09/10/03 01:43:39
タラオ「トリプルですぅ~」
471:デフォルトの名無しさん
09/10/03 03:51:23
>>460
安心したw
今書いているクラスは入れ子になっているものを数えたら30個にもなっててほんの少し焦った。
まぁ、チョロっと必要な定数叩き込むときは1ファイルに2つぐらい書いちゃうけど大丈夫だね。
472:デフォルトの名無しさん
09/10/03 07:07:02
>>469
TripleDESは、
暗号文 = 鍵3でDES暗号化(鍵2でDES復号化(鍵1でDES暗号化(平文)))
という仕様だから、DESはある鍵で暗号化したものを別の鍵で復号化できないと
実現不可能のはずだと考えたんだが、間違ってるのか?
473:デフォルトの名無しさん
09/10/03 08:21:22
しつけえ
474:デフォルトの名無しさん
09/10/03 08:29:56
いちおう書いておこう。
暗号アルゴリズム単体と、
~Providerとかを使っての処理は
「違う」って言ってる。
DESとか3DESとかの暗号アルゴリズム単体では
ブロックサイズのデータとキーを与えたらブロックサイズの結果を出す単なる関数。
だからキーが違おうが何だろうが処理できる。
でも~Providerとかを使っての処理は、暗号化のモードとかIVとかパディングを含めた処理
特にパディングがあるから、違うキーで処理したら処理自体に躓いてエラーになる場合が多い。
475:デフォルトの名無しさん
09/10/03 08:49:58
>>460
わざわざ「Javaかよw」って書いてるんだから
例外クラス・enum・数行しかないクラスであっても、例外なくファイルに分けなければいけない ってのを皮肉ってるんだと思った。
476:デフォルトの名無しさん
09/10/03 11:59:12
>>475
俺が無知なだけ・・・。
C#やってるけど今まで本なんて一回も読んだことないし、基礎知識なさすぎ。
最初なんてIfしらなかったせいでgotoで何もかもやってたこともあったしw
すっきりしました
ありがとb
477:デフォルトの名無しさん
09/10/03 12:02:44
本とか言う前に、マニュアル読めよ・・・。
478:デフォルトの名無しさん
09/10/03 12:14:29
いや、ホントの基礎はやっぱり何か入門本でやった方がいいよ。
まあチュートリアルとか、あとトレーニングとかオンラインで無料でできるやつもあるから
そんなのでもいいけど。
いきなりマニュアルはきついだろう。
479:デフォルトの名無しさん
09/10/03 12:21:42
まあそこらの家電製品や普通のアプリと違って
「第一章:Hello worldを表示しよう!」
なんてのはマニュアルにないからなw
480:デフォルトの名無しさん
09/10/03 12:54:14
URLリンク(msdn.microsoft.com)
> C# プログラマーズ リファレンス
> Hello World のチュートリアル
>
> このチュートリアルでは、C# 言語による Hello World プログラムのいくつかの記述方法について説明します。
481:デフォルトの名無しさん
09/10/03 13:10:52
オイ俺のコピペ脳、まで読んだ。
482:デフォルトの名無しさん
09/10/03 16:10:02
foreachを逆の順番で回すことはできませんか?
ま、forを使えばいいんだけど・・・
483:デフォルトの名無しさん
09/10/03 16:16:07
出来るわけがない
484:デフォルトの名無しさん
09/10/03 16:16:28
.Reverse()
485:デフォルトの名無しさん
09/10/03 16:35:14
Reverseにしました
486:デフォルトの名無しさん
09/10/03 16:40:27
Reverseは一度内部で最後まで列挙されて、そのバッファから吐き出されてるに過ぎないってことに注意。
但しIListを実装しているものは直接コピーするので、列挙のコストはかからない。
487:デフォルトの名無しさん
09/10/03 16:41:12
ネットワークドライブへの再接続をする方法を教えてください
環境
PC A OS vista x64 sp2
PC B OS xp sp3
AはBのフォルダをネットワークドライブ(Zドライブ)に接続している
ネットワークドライブ(Zドライブ)は起動時に自動的に再接続される。
続く~
488:デフォルトの名無しさん
09/10/03 16:42:50
ケース1
Aのみ起動している状況で、
string[] drives = Directory.GetLogicalDrives();
をやると、drivesの中にZドライブが含まれない。
ケース2
Aを起動してからBを起動しても
drivesの中にZが入ってこない。
ケース3
Bを先に起動してからAを起動すると、
drivesの中にZが入ってくる。
ケース1 2のどちらでも、エクスプローラーではZドライブアイコンに×が重なって表示されます。
×になっているZドライブをダブルクリックすると、正常にドライブにアクセスでき、
その後は
string[] drives = Directory.GetLogicalDrives();
でdrivesの中にZドライブが入ってくる。
このエクスプローラーをダブルクリックするという作業を、なんとか代替できないでしょうか。
やったこと
DriveInfo di = new DriveInfo("Z");
string[] drives = Directory.GetLogicalDrives();
失敗
string[] test = System.IO.Directory.GetFileSystemEntries("z:\\");
string[] drives = Directory.GetLogicalDrives();
例外で強制終了
存在しないドライブの一覧を取得しようとしたのが問題っぽい。
どなたかお願いします。
489:デフォルトの名無しさん
09/10/03 16:46:31
標準ライブラリじゃ無理のはず
Win32APIのWNetAddConnection2で再接続
490:デフォルトの名無しさん
09/10/03 16:49:55
>>489
情報ありがとうございます。
win32apiは使ったことないですが何とかやってみます。
491:450
09/10/03 18:47:55
Form1からForm2を表示したとき、
位置をForm1のLocationプロパティを参照して決めたいのですが、
参照の仕方を教えてください。
492:デフォルトの名無しさん
09/10/03 18:50:30
考え方が間違ってる
Form1がForm2を表示する際に
var form2 = new Form2();
form2.Location = (this.Locationを基準に決めた位置);
form2.Show();
のようにする
493:デフォルトの名無しさん
09/10/03 19:15:30
>>492
おおお!
ありがとうございます!
まったく思いつかなかったです。
494:デフォルトの名無しさん
09/10/03 19:19:43
this.BackColor = System.Drawing.Color.Blue;
直接16進で指定は出来ないのでしょうか?
495:デフォルトの名無しさん
09/10/03 19:20:13
Thread thread = new Thread(ThreadTask);
thread.Start();
でスレッドを起動するとき、引数はどう渡せばいいんでしょう?
496:デフォルトの名無しさん
09/10/03 19:24:51
>>495
URLリンク(msdn.microsoft.com)
497:デフォルトの名無しさん
09/10/03 19:25:22
Color.FromArgb
Colorのリファレンスくらい見たらどうかと思う
498:デフォルトの名無しさん
09/10/03 19:26:45
>>493
いやいやw
普通は(少なくともOOP的には)、別のFormの位置を参照して自分の表示位置を決定して表示する機能を
Form2自身が実装するようにすべき。
その方が分かりやすいでしょ?
ケースバイケースだけど、フツーは>>492みたいのは悪い例。
499:デフォルトの名無しさん
09/10/03 19:36:49
余計な依存ができるだろ
もっとちゃんとした枠組みを作ってそういうことを実現するならいいけど
安易に他のフォームを参照しちゃうようなやり方は良くない
500:デフォルトの名無しさん
09/10/03 19:41:03
>>497
ども、まだヘルプ入れてないんです。始めて二日目。
ありがとう、できました。
501:デフォルトの名無しさん
09/10/03 19:49:21
は? >>500
502:デフォルトの名無しさん
09/10/03 19:59:21
IntelliSenseからそれっぽい名前探し当てるとかできないのかなー。
503:デフォルトの名無しさん
09/10/03 20:01:58
>>499
Locationは"Form1"で実装されてるメンバじゃない。
意味分かる?
依存なんかできないよ。
例えば、
void ShowAtLeft(Form referredForm)
のようにするだけ。
504:デフォルトの名無しさん
09/10/03 20:01:58
Thread thread = new Thread(ThreadTask);
thread.Start(引数);
としたところ、
'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
引数 '1': 'メソッド グループ' から 'System.Threading.ParameterizedThreadStart' に変換できません。
ってことなんですけど…。
505:デフォルトの名無しさん
09/10/03 20:08:38
ThreadTaskの方が引数受け取る気無いとか言わないだろうな
506:デフォルトの名無しさん
09/10/03 20:12:22
private void ThreadTask(string 引数){}
としてます。
507:デフォルトの名無しさん
09/10/03 20:16:39
ParameterizedThreadStartの引数の型に合わせんとダメ
508:デフォルトの名無しさん
09/10/03 20:29:12
private void ThreadTask(object 引数){}
ってことですか?
それだと、
引数 '1': 'object' から 'string' に変換できません。
なんですが、objectからstringに変換すればオーケーなんですか。
どうやるんだろ。
509:デフォルトの名無しさん
09/10/03 21:06:32
いらいら
510:デフォルトの名無しさん
09/10/03 21:10:08
お前には無理だからあきらめろ。
511:デフォルトの名無しさん
09/10/03 21:19:00
VC# 2008ならこれでいいよ。
new Thread(() => ThreadTask(実引数));
512:デフォルトの名無しさん
09/10/04 00:20:08
できました。感謝です。
513:デフォルトの名無しさん
09/10/04 00:22:56
どういたしまして
514:デフォルトの名無しさん
09/10/04 00:24:48
こちらこそ
515:デフォルトの名無しさん
09/10/04 01:32:50
スレッドでファイルをカウントして、
現在の状況をtextboxに表示しようとしています。
int i;
foreach(string file in files)
{
textBox.text = file + i;
i++;
}
これで「InvalidOperationExceptionはハンドルされませんでした。
有効ではないスレッド間の操作:
コントロールが作成されたスレッド以外のスレッドからコントロール
'textBox' がアクセスされました。」とエラー。
textBoxのプロパティをGUIでModifiers Publicにしても
おなじエラーなんですけど、
コントロールを作成したスレッドをPublicにするのは、
GUIの設定だけじゃだめなんですか?
516:デフォルトの名無しさん
09/10/04 01:33:52
Invoke 使え。
517:デフォルトの名無しさん
09/10/04 09:27:56
過去に同様の質問を見たことがありますが…
レンタルサーバーからインストールできるよう自作アプリケーションをアップしましたが、
.NET Framework の インストールに30分程度の時間が要してしまいます。
(1)
インストールするコンポーネント:
・Windowsインストーラー3.1
・.NET Framework Client Profile
の2つにしています。
(2)
クライアント専用Frameworkサブセットにチェックを入れています。
.Net Frameworkが入っていないXPなどのPCからインストールをしようとすると、
30分程度の時間を要してしまいます。
早くするためのテクニックはないでしょうか。
CDなどのメディアで配布したほうが良いのでしょうか。
教えてください。よろしくお願いします。
518:デフォルトの名無しさん
09/10/04 10:24:50
PictureBoxの画像をマウスドラッグで移動させてるのですがおかしな現象に悩んでます
シングルスレッドで移動させているときはマウスのピクセル移動量と画像の移動量が一致します
しかし、マルチスレッドで移動させるとマウスのスピードに指数比例してすごい勢いで画像が流れます
親スレッドでMouseMoveイベントごとに現在位置のグローバル変数を移動
スレッド呼び出し
グローバル変数に従って画面を書き換え
こんな流れになっていてスレッド呼び出しされた側ではグローバル変数を参照しているだけで
位置情報を書き換える処理はしていないです
スレッドが呼ばれている間の位置移動とか特に意識していません
まあ絶対どっかでミスしてんですが、思い当たる原因のヒントでもいただけたらと・・・
519:デフォルトの名無しさん
09/10/04 10:26:02
Client Profile 使ってなくて想像で悪いけど、
.NET Framework 3.5 Client Profile の数々の仕様って修正されてる?
その中の
・XP sp2以上でないと、結局3.5sp1をフルインストールされる
・他のバージョンの.Netがあると、結局3.5sp1をフルインストールされる
のどっちかという話はないか?
他にも
・インストールしたXPは、これをアンインストールしないとVistaにアップグレードできない
・インストールしたPCには、古いバージョンの.Netをインストールできない
・インストールされていない Oracle データ プロバイダが使用可能であると表示される
とかリリースノートで豪快に仕様扱いなんだなぁ。すげーぜ、さすがはアメリカンw
520:デフォルトの名無しさん
09/10/04 10:26:34
デバッグしろよ
521:デフォルトの名無しさん
09/10/04 11:12:27
クライアントプロファイルは正直使いもんにならん。
522:デフォルトの名無しさん
09/10/04 11:16:24
>>518
スレッドの呼び出し?だけ消したら正常になるの?
一体そのスレッドで何やってんだ?
あとスレッドの呼び出し?って何時やってんの?
まさかマウスが動く度じゃないよね?
スレッド側の処理は一瞬で終わるもの?それともしばらく動き続けるもの?
523:デフォルトの名無しさん
09/10/04 11:26:24
BindingSource bs = new BindingSource();
private void button1_Click(object sender, EventArgs e)
{
List<testclass> testlist = new List<testclass>();
testlist.Add(new testclass { A = "A1", B = "B1" });
testlist.Add(new testclass { A = "A2", B = "B2" });
bs.DataSource = testlist;
dataGridView1.DataSource = bs;
bindingSource1.DataSource = testlist; ←ここに違うList<>をセットするだけでDataGridViewの中身を切り替えたい
//dataGridView2.DataSource = bindingSource1; ←ここはデザイン時にセットしてある
}
class testclass
{
public string A { get; set; }
public string B { get; set; }
}
上記のdataGridView1は期待通り表示されるのですが
dataGridView2は何も表示されません。
dataGridView2のようにデザイン時にDataGridViewのDataSourceにBindingSourceを
指定した場合はBindingSourceのDataSourceをセット(切り替える)した後に
何かしなければならないんでしょうか?
524:デフォルトの名無しさん
09/10/04 11:40:13
>>523に追加
以下のdataGridView1と同じ動作をdataGridView2にさせたいのですが・・
BindingSource bs = new BindingSource();
List<testclass> testlist = new List<testclass>();
List<testclass> testlist2 = new List<testclass>();
private void button1_Click(object sender, EventArgs e)
{
bs.DataSource = testlist;
dataGridView1.DataSource = bs;
bindingSource1.DataSource = testlist;
//dataGridView2.DataSource = bindingSource1;
}
private void button2_Click(object sender, EventArgs e)
{
bs.DataSource = testlist2;
dataGridView1.DataSource = bs;
bindingSource1.DataSource = testlist2;
}
private void Form1_Load(object sender, EventArgs e)
{
testlist.Add(new testclass { A = "A1", B = "B1" });
testlist.Add(new testclass { A = "A2", B = "B2" });
testlist2.Add(new testclass { A = "a1", B = "d1" });
testlist2.Add(new testclass { A = "a2", B = "d2" });
}
以下略
525:デフォルトの名無しさん
09/10/04 12:12:45
>>519
ありがとうございます。
.NET3.5sp1を入れてはいますが、結局使用はしていません。
.NET3.5のみを配布したら早くなるでしょうか…。
526:デフォルトの名無しさん
09/10/04 12:14:50
>>522
今は暫定的にマウスが動くたびになってます
最終的には移動量が一定量を超えたとき呼び出すつもりです
そのスレッドでは移動量をグローバル変数から取得してそれに応じた小さなファイルを読み込んでメインスレッドのInvcke呼び出し
メインスレッドのハンドラでダブルバッファに書き込んで、移動分だけ画像をシフトしてます
527:デフォルトの名無しさん
09/10/04 12:18:29
自分のアプリでクラスライブラリ(.dll)作って一緒に配布すると
そのライブラリを別のアプリケーションで勝手に使っちゃえると思うんだけど
それを防ぐ方法はないのかな?
528:デフォルトの名無しさん
09/10/04 12:20:36
>>527
ない。
529:デフォルトの名無しさん
09/10/04 12:21:41
>>527
ロード元のアセンブリをチェックすればいいだけだろう
530:デフォルトの名無しさん
09/10/04 13:01:15
>>529
そうか、そうですよね。
調べます。
531:デフォルトの名無しさん
09/10/04 14:17:34
>>529
の方法を簡単に説明してくれ
532:デフォルトの名無しさん
09/10/04 14:19:44
アプリ中のオブジェクトを(型指定して)列挙するにはどうしたいいんでしょうか?
533:デフォルトの名無しさん
09/10/04 14:35:27
>>532
なんでそんなことしたいんだ?
534:デフォルトの名無しさん
09/10/04 17:55:02
>>532
さては他人の作ったソフトウェアのメソッド叩きたいとか考えてるな!
やめとけw
535:デフォルトの名無しさん
09/10/04 18:12:38
恐ろしいことを平気でやってのけてこそ初心者!
536:デフォルトの名無しさん
09/10/04 19:05:37
設定ファイルを読み込むのはメインのFormのコンストラクタ内でするのか、
Loadイベントのハンドラで行うのかどちらがいいのでしょう。
537:デフォルトの名無しさん
09/10/04 19:06:28
C++でCLRのアンマネージインターフェイスを叩く必要があった気がする
538:デフォルトの名無しさん
09/10/04 19:10:33
>>536
内容による。
539:デフォルトの名無しさん
09/10/04 19:10:46
>>532
リフレクションでやってみれば?
540:デフォルトの名無しさん
09/10/04 19:11:38
バグを見つけて臍をかむのがオチなんだよなぁ。
マニュアルの System.Reflection 名前空間見るとか、「リフレクション C#」ググるとか。
単に見たいだけなら一番簡単なのは、VSで参照してオブジェクトブラウザで覗く。
541:デフォルトの名無しさん
09/10/04 19:19:48
>>538
ウィンドウのレイアウトから、オプションダイアログで設定するようなものまであります。
542:デフォルトの名無しさん
09/10/04 19:24:04
リフレクションではオブジェクトそのものは見られないよ
MSがソース公開してるCLRプロファイラやWPFプロファイラは部分的にC++使ってた
543:デフォルトの名無しさん
09/10/04 19:27:32
>>541
Formに関する設定ならばLoadだろうね。
逆にコンストラクタできちんと動く?
544:デフォルトの名無しさん
09/10/04 19:47:32
>>525氏の話だけど、
みんなは配布用アプリを作る時は、インストールに時間がかからないようにどのような工夫をしているの?
545:デフォルトの名無しさん
09/10/04 19:48:16
>>543
現状は問題なくできるのですが、、何か陥りやすい問題とかあるんでしょうか。
コンストラクタのInitializeComponentの後にファイルを読み込んでいます。
546:デフォルトの名無しさん
09/10/04 19:55:03
>>544
最初の一回だけだから気にしてない。
547:デフォルトの名無しさん
09/10/04 20:14:58
>>545
俺も聞きたいねえ。
コンストラクタでやったらまずい処理って思いつかない。
まあFormに限らず、クラスのコンストラクタでイベントを生成するような処理を書いて
嵌ったことは過去に何度かある。
コンストラクタ呼び出し中に発火されたイベントは、事実上誰も拾えないからね。
548:デフォルトの名無しさん
09/10/04 20:53:17
>>546
.net3.5を使用しているアプリを配布しようとしたら、
プレインストールされていないPCは、30分とかかかかるのかい?
549:デフォルトの名無しさん
09/10/04 20:55:13
>>548
回線速度とスペック次第じゃね?
550:デフォルトの名無しさん
09/10/04 20:55:27
かかかか
551:デフォルトの名無しさん
09/10/04 21:01:28
>配布
んなものは、システム要件。
インストールさせようなんてのはお節介。
と思ってる。
552:デフォルトの名無しさん
09/10/04 22:08:41
>>545
なら問題ないんじゃない?
C#やりたてのころに痛い目にあったことが1回だけあったけど、何かはど忘れしちゃった。
明日まで覚えていたら会社のSVN覗いてみるわ。
553:デフォルトの名無しさん
09/10/04 22:26:39
コンストラクタはインスタンスの初期化
LoadはFormの読込み
Shownは表示後
ちゃんと役割があるんだからそれぞれに書いた方がいいと思う
554:デフォルトの名無しさん
09/10/04 22:33:17
LoadはVBの名残みたいなもん
555:デフォルトの名無しさん
09/10/04 22:38:56
そんなことはない
FormがShowされるときにすべき処理はLoadに書くべき
コンストラクタはあくまでインスタンスの初期化処理だけのほうがいい
556:デフォルトの名無しさん
09/10/04 22:51:23
>>553-555
正直、どれもよくわからん俺様ロジックにしか聞こえない。
そんなことはない、というなら聞くが、じゃあ結局>>536の質問には何と答えるんの?
っていうか、そういう意味論にこだわるなら、設定値を読み込んで適用するような処理は
InitializecComponentsの後が一番適切に思えるが。
557:デフォルトの名無しさん
09/10/04 23:00:30
> 正直、どれもよくわからん俺様ロジックにしか聞こえない。
イベントドリブン全否定?
俺様ロジックの俺様というのはC#開発者のこと言ってるんだよな?
558:デフォルトの名無しさん
09/10/04 23:17:49
>>557
日本語読める?
だからね、一般論として、コードは意味的に適切なタイミングで
実行されるように書くべき、というのはその通りだけども、
じゃあ設定を読み込んで反映するのに適切なタイミングっていつだっての。
そんなもの、答えなんかないだろう。
「設定を読み込んで反映すべきタイミング」の意味を与えられたイベントなんて存在しないのだから。
イベントの意味なんかにこだわりすぎると、結局そんな処理なんかどこにも書くべきでない、
って結論にならざるをえない。
559:デフォルトの名無しさん
09/10/04 23:37:07
>>558
あなたの言ってることの方がよっぽど俺様ロジックに聞こえるけど
コンストラクタはインスタンスが生成される瞬間に実行され、
インスタンスの初期化のための引数を渡す機能を持っている
コンストラクタが一つなら、その設定やらに渡す引数も一緒に渡してやれば良いけど
そんなやり方推奨する人どのくらいいるだろうね
560:デフォルトの名無しさん
09/10/04 23:42:15
public Form1() : this(null)とか使おうよ
561:デフォルトの名無しさん
09/10/05 00:08:53
>>560
ごめん。どっかいっててくれるかい?
562:デフォルトの名無しさん
09/10/05 00:30:17
563:デフォルトの名無しさん
09/10/05 00:30:38
Formを継承して「設定を読み込んで反映すべきタイミングのイベント」を追加する
564:デフォルトの名無しさん
09/10/05 00:35:18
そう言うようなことは普通にやるけど、「どのタイミングが最適か」って答えは出ないんだよね。
565:デフォルトの名無しさん
09/10/05 01:03:08
>>559
結局どうすべきだと言いたいの?
というかね、コンストラクタが多重定義したい場合で、
かつどのコンストラクタにも共通する処理がある場合は、
どのコンストラクタからも特定の一つの別のコンストラクタを呼ぶようにするか、
共通部分をメソッドに括り出して呼ぶようにするでしょ。
それを忘れたらどうするのかって?
それはただの「バグ」であって、そんなケースを槍玉に挙げてなんの意味があるのよ。
566:デフォルトの名無しさん
09/10/05 01:04:10
横からその問題だけに絞って考えると、感覚的にはファイル
アクセスなら Load かなぁ。
設定ファイルなら…んー、コンストラクタでもぎりぎりアリか。
567:デフォルトの名無しさん
09/10/05 02:42:08
俺ならそもそもFormのインスタンス生成前に読んじゃうかなあ
多重起動チェック→設定読む→Application.Runみたいな流れ
設定にもよるけど
568:デフォルトの名無しさん
09/10/05 10:09:37
まあ、ハンドル云々というのでなければコンストラクタでいいと思う。
569:デフォルトの名無しさん
09/10/05 14:23:18
「List<string> s 」に入ってる文字をlistboxに表示したいです。
listBox1.Items.Add(s);
とすると(コレクション)と表示されてしまいます。
570:デフォルトの名無しさん
09/10/05 14:30:21
・AddRangeする
・DataSourceに設定する
571:デフォルトの名無しさん
09/10/05 15:16:32
下記で出来ました。
string[] ss = new string[s.Count];
for (i = 0; i < s.Count; i++)
{
ss[i] = files[i];
}
listBox1.Items.AddRange(ss);
一度で出来ないのですね。
ありがとうございました。
572:デフォルトの名無しさん
09/10/05 15:23:57
AddRange使って一発でやりたいならToArray使えばいいじゃない
573:デフォルトの名無しさん
09/10/05 15:26:07
あとDataSourceなら
listBox1.DataSource = s;
だけだし。
574:デフォルトの名無しさん
09/10/05 20:13:19
自分の実力が足りないだけなのに言語のせいにされたらたまらんわ。
575:デフォルトの名無しさん
09/10/05 20:35:38
おまえらどんだけ被害妄想wwww
576:デフォルトの名無しさん
09/10/05 20:57:24
ディスプレイから女の子を救い出すプログラムをC#で移植してます。
C#では無理なんでしょうか。VBではうまくいったんですけど・・・
577:デフォルトの名無しさん
09/10/05 21:02:52
どこが動かないのか詳しく。質問が大雑把過ぎて問題がわからない。
578:デフォルトの名無しさん
09/10/05 21:10:59
美少女ゲームの彼女をリア
579:デフォルトの名無しさん
09/10/05 21:22:21
では将軍様、そのディスプレイから女の子を追い出してください
580:デフォルトの名無しさん
09/10/05 21:26:51
全財産はたいてもいいから俺によこせ
581:デフォルトの名無しさん
09/10/05 21:32:41
WinXP Pro SP3, VS2008 sp1, .net 3.5 sp1での質問です。
言語はC#を利用しており、COMコンポーネントの開発を行っています。
下記のような簡単なクラスを作成し、RegSvr32.exeを実行したところ、下記のようなエラーが発生しました。
このようなエラーが発生した場合の対処法と原因について教えていただけないでしょうか?
よろしくお願いいたします。
------作成したクラス-------
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Test
{
[ClassInterface(ClassInterfaceType.None)]
[ProgId("Test.Test")]
[Guid("00BB6C80-C01D-4D64-A66B-F5D847480B09")]
public class Test
{
public string Test(string s, int m, int n)
{
return "abc";
}
}
}
---------------------------
------[[エラー]]-----------
.\Test.dll は読み込まれましたが、DllRegisterServer エントリ ポイントが見つかりませんでした。
このファイルが登録されていない可能性があります。
582:デフォルトの名無しさん
09/10/05 21:36:30
.NETのアセンブリの場合regsvr32じゃなくてregasm使う
583:デフォルトの名無しさん
09/10/05 22:04:48
Tlbexp.exe
584:デフォルトの名無しさん
09/10/06 17:03:58
プロセスの一覧で、引数を知るにはどうしたらよいですか?
Notepadを複数起動していて、a.txtとb.txtを開いているときに、a.txtのほうのNotepadのプロセスを取得して終了したいです。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcessesByName("Notepad");
で引数なしなら取得できます。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
で、プロセスの一覧はできます。
デバッグでどちらを見ても、ファイル名が見当たらないのです。
探し方が悪いのかもしれません。
ご指摘お願いします。
585:デフォルトの名無しさん
09/10/06 17:12:54
WMI使ってWin32_ProcessのCommandLineプロパティ取得するのが手っ取り早い
けどファイルを開くで開いた場合を気にしなくて良いの?
586:デフォルトの名無しさん
09/10/06 17:19:14
WebRequest/WebResponse って最初に呼び出すときに結構時間がかかります?
数秒~数十秒くらい
587:デフォルトの名無しさん
09/10/06 17:20:22
Win32_ProcessのCommandLineプロパティで、
"C:\WINDOWS\system32\NOTEPAD.EXE" C:\a.txt
"C:\WINDOWS\system32\NOTEPAD.EXE" C:\b.txt
は取得できました。
これを終了するのって、どうするんですか?
それぞれのプロセスの個別の取得方法がわからないです。
NOTEPADのプロセスは取得できるけど、それだとaとbを区別できないし。
ファイルを開くで開く場合は、とりあえずいまは関係なしです。
588:デフォルトの名無しさん
09/10/06 17:24:57
>>587
強制終了させるなら、目的の引数を持ってるWin32_ProcessのTerminateメソッドでいい
内容変更時に保存ダイアログが欲しいなら、Win32_ProcessのProcessIdを使ってProcess.GetProcessByIdしてCloseMainWindow
589:デフォルトの名無しさん
09/10/06 19:35:56
>>588
なんとなくできたっぽいです。
ありがとうございました。
590:デフォルトの名無しさん
09/10/06 22:42:55
>>586
URLリンク(kakikukekou.blog83.fc2.com)
591:デフォルトの名無しさん
09/10/06 22:47:32
>>586
WPADやなんやでネットワークの応答速度によって時間が掛かる可能性はあるね
592:デフォルトの名無しさん
09/10/06 23:37:29
>>586
数十秒もかからないけど 5秒ぐらいはかかってるかな
593:デフォルトの名無しさん
09/10/07 08:58:18
非同期処理ってマルチスレッドってことなんでしょうか?
594:デフォルトの名無しさん
09/10/07 09:07:37
基本的にはそう
スレッドじゃなくてプロセスだったりするかも知れないが
メッセージ使った擬似非同期とかな
595:デフォルトの名無しさん
09/10/07 09:42:23
ありがとうございます
596:デフォルトの名無しさん
09/10/07 12:11:48
文字列中の
\x28 などのエスケープ文字(?)を ( などに変換するのは
それぞれのエスケープ文字について一つ一つ string.replace などで置き換えるしかないのでしょうか?
597:デフォルトの名無しさん
09/10/07 12:34:47
ソース上の文字列リテラルを置換したいのか、実行時に変換したいのか
まあString.Replaceってとこみると実行時の変換なんだろうけど
エスケープの方法なんて言語次第だから特にライブラリには存在してない
Regex.ReplaceでMatchEvaluator使うのが楽だろうねー
598:デフォルトの名無しさん
09/10/07 13:10:36
string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Local Settings\Temporary Internet Files\", "*.jpg");
で空なのはどうしたら取得できますか?
599:デフォルトの名無しさん
09/10/07 15:06:24
>>598
実際そこにファイルがないから
600:デフォルトの名無しさん
09/10/07 15:11:55
どこにあるんですか?
調べたら、
その下に、Content.IE5フォルダがあるらしいので、SearchOption.AllDirectories
としても見つけられませんでした。
601:デフォルトの名無しさん
09/10/07 15:42:13
エスパーさんお願いします
602:デフォルトの名無しさん
09/10/07 15:44:11
そこには無いんだよ
603:デフォルトの名無しさん
09/10/07 16:04:13
隠しフォルダの中にある隠しフォルダを探したいってことでしょ
Content.IE5の中には、さらにランダムな名前の隠しフォルダがたくさんあって、
ネットから取得したファイルの本体はそのランダムなフォルダの中に分散して格納してある。
何がどこにあるかはindex.datだったかに書いてある。
604:デフォルトの名無しさん
09/10/07 16:09:26
delphi
s string;
SetLength(s, 64);
c#
string s;
サイズを指定するにはどうするんでしょうか?
605:デフォルトの名無しさん
09/10/07 16:12:06
サイズを指定する必要はないんじゃね?
606:デフォルトの名無しさん
09/10/07 16:13:58
Stringは変更できないのでそういうことはできません。
そもそも変更不可なので長さを伸ばすのは意味がありません。StringBuilderなどを使います。
長さを縮めるというか部分を切り出した新しい文字列を作るのはString.SubstringやString.Removeで可能です。
607:デフォルトの名無しさん
09/10/07 16:16:19
base64とかで必要なんです。
608:デフォルトの名無しさん
09/10/07 16:20:22
StringBuilder使えばいいじゃない
609:デフォルトの名無しさん
09/10/07 16:21:06
つーかencodeing気にしなくちゃならんし、byte[]じゃだめなのか
610:デフォルトの名無しさん
09/10/07 16:21:44
何が必要なのよ?
611:604
09/10/07 16:23:20
㌧。やりたいことはStringBuilderで出来そうです。
ありがとうございました。
612:デフォルトの名無しさん
09/10/07 16:24:09
base64は.NETの標準機能でサポートされてるけど
613:デフォルトの名無しさん
09/10/07 16:53:28
URLリンク(www.atmarkit.co.jp)
ここのソース貼り付けて実行したらWPFだとちゃんと動くけどSilverlightだと動かない
んですけどなぜなんです?
614:デフォルトの名無しさん
09/10/07 16:55:19
試用なんだぜ
615:デフォルトの名無しさん
09/10/07 18:10:55
>>603
Content.IE5フォルダの下に30JAKIJ7みたいなフォルダがあることはわかってます。
隠しフォルダのなかのファイルを再帰的に列挙するにはどうしたらよいですか?
616:デフォルトの名無しさん
09/10/07 18:37:01
3番目にSearchOption.AllDirectoriesつけたら?
617:デフォルトの名無しさん
09/10/07 18:52:44
>>616
SearchOption.AllDirectoriesは600でもう試しました。
618:デフォルトの名無しさん
09/10/07 19:00:03
あのさー
こっちは実際に動かして出ることを確認してレスしてんだよ
エクスプローラで見るとそこにちゃんとあるのか?
環境は?
IEのオプションでもそこに設定してあるか?
619:デフォルトの名無しさん
09/10/07 19:01:47
実体が無いんだろ
620:デフォルトの名無しさん
09/10/07 19:28:10
>>618
失礼しました。
あらためてもういちどトライしたらできました。
すみません。ありがとうございました。
621:デフォルトの名無しさん
09/10/07 22:57:34
しーね
622:デフォルトの名無しさん
09/10/08 00:33:44
試してなかったのか試したつもりで見すってたのか
どっちにしろきちんと試さんと自分が困るだけだよ。
623:デフォルトの名無しさん
09/10/08 01:29:24
>>618
ちゃんとこのスレにもまともな回答者がいたんですね。
尊敬します。これからも初心者を見捨てずお願いします。
624:デフォルトの名無しさん
09/10/08 05:31:46
いままでまともな解答者がいないと思ってたのに質問してたのか
変なの
625:デフォルトの名無しさん
09/10/08 07:44:34
リストボックスにアイテム追加して水平スクロールが出たとき、
水平方向の一番後ろを表示する方法を教えてください
626:デフォルトの名無しさん
09/10/08 09:56:06
>>625
スクロールバーが出たときに一番後ろを表示すればいい
627:デフォルトの名無しさん
09/10/08 09:56:54
>>625
ヒント:マウスホイール
628:デフォルトの名無しさん
09/10/08 12:11:20
リストボックスに水平スクロールバーって出せたっけ?
629:デフォルトの名無しさん
09/10/08 15:00:48
普通に出せる
630:デフォルトの名無しさん
09/10/08 15:11:33
ActiveX 経由で Windows Media Plyaer を使おうと思います。
_player = new AxWindowsMediaPlayer;
_player.uiMode = "none";
とすると2行目でエラーが発生します。
まだ、ActiveX コントロールが生成されてないからと思います。
いまは、タイマーで __player.Created を監視して、
true になるのを待つという方法で回避していますが、
ActiveX コントロールが生成されたというイベントはないでしょうか?
631:デフォルトの名無しさん
09/10/08 15:25:58
FormのLoadイベントでならだいじょぶ
632:デフォルトの名無しさん
09/10/08 19:06:07
質問よろしいでしょうか?
Windowsでコピー&ペーストのペースト先の情報(ファイル名やファイルのパス)を得るにはどうすればよいでしょうか?
よろしくお願いします.
633:デフォルトの名無しさん
09/10/08 19:27:01
C# ファイル ドロップ
でググる
634:デフォルトの名無しさん
09/10/08 19:30:35
ペーストされたアプリの側の自由だろ
わかるわけがない
635:デフォルトの名無しさん
09/10/08 19:37:09
すみません.言葉足りずでした
Windows上のアプリケーションを監視するソフトを考えているのですが,
例えば文字列をコピーしたものをパワーポイントに貼り付けた場合,
貼り付け先のパワーポイントのファイル名やファイルのパスを得たいという質問の内容です.
636:デフォルトの名無しさん
09/10/08 19:57:33
もし、張り付け先がファイルとか扱わないソフトだったら?
637:デフォルトの名無しさん
09/10/08 20:20:10
ペーストされたデータの扱いや、どのファイルを開いているかなどは完全にアプリケーションの責任
一般には対象のアプリのプログラムを意味論で解析でもしないかぎり不可能
638:630
09/10/08 20:26:33
>>631
レスありがとうございます。
Loadイベントなら大丈夫とは知りませんでした。
しかし、今回は、フォームデザイナで配置して使用している訳ではなく、
コード内でオブジェクトを作っているため、生成済み通知してくれる
イベントがあればいいなと思い質問しました。
639:デフォルトの名無しさん
09/10/08 20:33:56
タイトルバーにファイルパスやファイル名を表示するタイプのソフトなら
そっから取得できるか?すべてのソフトでどうなってるのか調べなきゃだが
640:デフォルトの名無しさん
09/10/08 20:47:45
開いてるファイルとは全く無関係なところへのペーストだったら?
どう頑張っても使いものにならないから諦めろ
641:デフォルトの名無しさん
09/10/09 06:18:21
asp.netにて リピーターを使ってDataTableをDataSorceにDataBindしています。
DataColumnとしてcolTitle, colValue があるとします。
asp側のコードで
<%# Eval("colTitle") %> <img src="./img/hoge.jpg"> <%# Eval("colValue") $#>
として colTitleとcolValueの間に画像を表示しています。
colValueは文字列で、文字列が空もしくはnullのとき、
hoge.jpgを表示させないようにしたいのですが、
どうしたらいいのかさっぱりわかりません。
<% if ([条件]) { %> <% } %> とするとデータバインド後に一回しか
実行されませんし、
DataBoundイベントを使った場合、どう記述したらいいのか思いつきません。
どなたか教えていただけませんか?
642:641
09/10/09 06:20:08
<%# Eval("colValue") $#> 訂正→<%# Eval("colValue") #>
なんで$マーク。
643:デフォルトの名無しさん
09/10/09 06:20:49
職業的にもCでは使えない状況ですし。
644:デフォルトの名無しさん
09/10/09 10:44:22
お前の職業なんか知らぬ!
645:641
09/10/09 15:38:44
自己解決。
646:デフォルトの名無しさん
09/10/09 18:16:03
>>625
だれかお願いします。
言葉が足りませんでした。
マウス操作やキーボード操作無しで表示する方法です。
647:デフォルトの名無しさん
09/10/09 18:37:59
TopIndex
648:デフォルトの名無しさん
09/10/09 22:48:47
私はとうとう会社を辞めることにしました。
コボラーだった私が今春に社内SEに採用され、
急に未経験のC#をやれと言われてがむしゃらに勉強しましたが、
結局誰も協力はしてくれず1人で中途半端なシステムを作ってしまいました。
土日祝日もC#に明け暮れる毎日。
会社のために休みを完全に削ってがんばってきました。
ここでも何度か質問をし、回答をいただきました。
最終的には最悪な評価に終わりそうです。
私は会社を辞めます。
このスレの皆さんに代わってもらいたいです。
皆さんありがとうございました。
会社は離れてもC#は大切にします。
649:デフォルトの名無しさん
09/10/09 23:03:54
せっかくスポーツニュース見て浮かれてる所に
切ない文章を書くな
650:デフォルトの名無しさん
09/10/09 23:10:49
皆さんが質問に答えてくださったおかげで、
ユーザビリティーの高いシステムになりました。
本当は、使いやすいシステムなんです。
けど、納期が厳しすぎました。バグが出てしまったんです。
悔しいですが、誰もテストしてくれなかったし時間がありませんでした。
今となっては言い訳ですが…。
無理のあるスケジュールに振り回された自分を戒めつつ、
退職してしばらくC#の未消化技術を習得し、
明日につなげたいと思います。
651:デフォルトの名無しさん
09/10/09 23:43:35
うちで働かないか
652:デフォルトの名無しさん
09/10/10 00:03:03
C#そして.NETはおもしろい言語とフレームワークだから会社と関係なく楽しめるよ
C#とは関係ないが納期についておもしろいスライドがあった
URLリンク(www-06.ibm.com)
653:デフォルトの名無しさん
09/10/10 00:03:09
俺はC#どころかCですらHello worldレベルのプログラムしか作ったことなかったのに
納期ギリギリで人が足りないからってC#のプロジェクトに引きずり込まれて、
その日の帰りに慌てて本屋で入門書を買ってVS2008Expressをインスコして徹夜で勉強して…
654:デフォルトの名無しさん
09/10/10 00:05:28
マ板でやれ
655:デフォルトの名無しさん
09/10/10 11:55:39
マ板って何?
656:デフォルトの名無しさん
09/10/10 12:01:37
>>652
読んだけど意味が高度すぎてよく分からなかった。
要するに、
「ウチは、スケジュールに遅れずにいい品質の開発をしまっせ!」
ということ?
657:デフォルトの名無しさん
09/10/10 14:10:10
>>651
C#の経験者だけど、今、転職は難しいんだろうなぁ。
なんとなく肩身が狭くなってきたので会社を去りたいんだが。
658:デフォルトの名無しさん
09/10/10 14:47:14
会社やめて同人エロゲ作って1年で家買えたわ
やめてよかった
659:デフォルトの名無しさん
09/10/10 15:01:53
スレチ乙
660:デフォルトの名無しさん
09/10/10 18:07:58
俺は転職に失敗したからアルバイトのコーダーになっちまったよまったく
661:デフォルトの名無しさん
09/10/10 18:28:45
>>653
インスコってなんだい?
662:デフォルトの名無しさん
09/10/10 18:34:34
インストだろ インストール
文脈も読めないの?
663:デフォルトの名無しさん
09/10/10 20:01:55
FTPサーバーのファイルをサーバー上で移動できますか?
wc.DownloadFile(fileName, locelfileName);
wc.UploadFile(newfileName, locelfileName);
ではできます。
この場合、通信の途中でエラーがあると、ファイルが破損するので、サーバーだけで操作したいと考えてます。
アドバイスお願いします。
664:デフォルトの名無しさん
09/10/10 20:07:40
できます
665:デフォルトの名無しさん
09/10/10 20:15:14
>>663
どっかからftpクライアントのライブラリをもってくるのがいいと思う。
666:デフォルトの名無しさん
09/10/10 21:26:18
あと、通信中に切れてもいいように、転送先の一時ファイルに転送して、転送
終了後にリネームするのが定石。ダウンロードも当然同じく。
667:デフォルトの名無しさん
09/10/10 23:17:25
>>666
何いってんだおまえは
668:デフォルトの名無しさん
09/10/11 00:13:20
サーバー間でコピーさせたいんでしょ
FtpWebRequest みたいなんではできないと思う
Socketで片方Passiveにしてそのポートでもう片方ひらいてStoreとRetieveする
669:デフォルトの名無しさん
09/10/11 00:28:37
FTPじゃできんだろ
670:デフォルトの名無しさん
09/10/11 00:37:12
同一サーバー上なら、ディレクトリ間の移動はリネームするだけのはずなんだが。
サーバー間の移動ならFTPよりrsyncがお勧め。
671:デフォルトの名無しさん
09/10/11 00:40:26
プロトコル自体にリネームがないと思うが
まあ、davでも使えと
672:デフォルトの名無しさん
09/10/11 00:47:07
davならぁ~
673:デフォルトの名無しさん
09/10/11 00:50:23
クソ
不意をつかれた
674:デフォルトの名無しさん
09/10/11 00:56:24
ほい、あるよ。
URLリンク(ja.wikipedia.org)
675:デフォルトの名無しさん
09/10/11 00:58:18
671みたいな古臭い脳みその人は順次退場して欲しいもんだ
676:デフォルトの名無しさん
09/10/11 00:59:20
563 名前:仕様書無しさん[sage] 投稿日:2009/09/23(水) 20:15:18
2chで調べ物をしたい時は「教えてください」って書いても
なかなか教えてもらえない。
そういう時は、知ったかぶり風に間違ったことを自信満々に書く。
そうすると、ものすごい勢いでツッコミを入れてもらえる。
677:デフォルトの名無しさん
09/10/11 01:01:31
コピペ君って馬鹿だな、まで読んだ
678:デフォルトの名無しさん
09/10/11 01:08:46
>>667
・・・仕事としてやったこと無いんだな坊ちゃん。
679:デフォルトの名無しさん
09/10/11 04:07:18
>>187
選択状態、位置の管理を君がしてないから
これ以上の説明が必要ならソース出せ
680:デフォルトの名無しさん
09/10/11 10:25:54
たぶんもう見てない
681:デフォルトの名無しさん
09/10/11 12:26:47
C#で人工知能作れますか?
682:デフォルトの名無しさん
09/10/11 12:31:28
天然無能にC#は使えません
683:デフォルトの名無しさん
09/10/11 15:19:24
最強に初心者でちょっとプログラミングってものに興味持ち出したんですが
何から始めたらいいかよくわからなくて
このスレにいけとかここのサイトから見て始めろとかあれば教えてもらえるとありがたいです。
684:デフォルトの名無しさん
09/10/11 15:24:10
前提がわからんと何とも、、、本当に何もなし?
とりあえずここ見て、どこからわからんか考えてみ
URLリンク(www.atmarkit.co.jp)
685:デフォルトの名無しさん
09/10/11 15:27:51
>>684
恥ずかしながら無いに等しいと思います。
VB?というやつですか?それなら少しだけしたことはあるのですがそれもとても簡単なやつだったと思います。
URLありがとです。
とりあえず読んでみます!
686:デフォルトの名無しさん
09/10/11 15:27:59
>>683
C#は基本的にはビジネスユースのプロが使う言語だからな。
裾野も広ければ奥行きもある。
本格的にやりたいなら入門書を買うことをお勧めする。
まあ、だからといってアマチュアが触れないのかといえばそうでもないが。
まず、ここは外せないな。
URLリンク(ufcpp.net)
本当にゼロから始めるならここでもいいが、
URLリンク(homepage2.nifty.com)
こっちは技術的なうそがいっぱい書かれてることで有名なところだから、
(にもかかわらず分かりやすいということで書籍化までされているのが厄介)
うそをうそと見抜けるようになるまで勉強したまえ。
687:デフォルトの名無しさん
09/10/11 15:40:12
>>686
PCをゲーム機としてだけで置いておくのはかわいそうだと思ってやってみようかと
とりあえずブックマークさしてもらいました!
いきなり質問と言うか躓いてしまったのですが
Visual Studio .NETというソフトは有料なんでしょうか?
もし代わりとなるようなソフトがあればありがたいとは思うのですが・・・
688:デフォルトの名無しさん
09/10/11 15:42:46
express edition なら無料で使える
689:デフォルトの名無しさん
09/10/11 15:48:02
Visual Studio .NETってのは2002の頃ので有料版だけど、
2005以降は無料のExpressEditionがあってMSのサイトからDLできる。
最新は2008SP1ね
690:685
09/10/11 15:50:01
>>688>>689
ありがとうございます!
Visual C# 2008 Express Edition with Service Pack 1というのでおkですかね?
691:デフォルトの名無しさん
09/10/11 15:59:31
それでおk
692:685
09/10/11 16:07:47
インスコしてみたのですがどうしても2008SQLサーバー?ですかね
それだけインスコできませんでしたとの表示が出て終了してしまうのですが・・・w
なにかインスコに関して制約とかこのOSだと駄目とかそういうものは
693:デフォルトの名無しさん
09/10/11 16:08:28
最近組んだファイルの管理を行うロジックでDirectory.filenameとか言うのを叩いてファイルの列挙してるんだけど、
配列じゃなくコレクション型を使いたいということで後先考えずIListを使ってしまって
今になってよかったのかと思ってる。
クラスとかじゃなく、インターフェイスとなっているものを直に変数として宣言するのは気持ち悪いんだけど、この場合何か別の方法ってないのかな?
string tempFN = Directry.filename(***);
List<string> FN = List<string>();
FN.Addrange=tempFN;
とかなんか回りくどいのがあまり好きじゃないし、俺の低脳さも好きじゃない。
知恵と知識をおくれ
694:デフォルトの名無しさん
09/10/11 16:11:09
>>693
原則として、フォルダ中のファイル一覧のような外部の事情で
いつ変更が加わってもおかしくないような
リソースに対してはキャッシュそのものを行わず、
必要なときにそのたびに取得するようにする。
695:デフォルトの名無しさん
09/10/11 16:11:35
始めてプログラムするならC#とC++どっちがお勧めですか?
696:デフォルトの名無しさん
09/10/11 16:15:20
断然C#
初めてでいきなりC++に挑戦すると挫折する可能性が高い
697:デフォルトの名無しさん
09/10/11 16:16:44
というか、ことWindowsでプログラミングするときに
C++をわざわざ選択する意味がほとんどないな。現在では。
698:デフォルトの名無しさん
09/10/11 16:20:10
>>694
ぅーん・・・、検索とか比較をする必要がある場合だったんでコレクション型に落として処理したかったんだけど、
こういったstring[]系のものを一発でList<string>に変換できる技があればなと思ってる。
配列から検索とか比較するのってなにか複雑に見えてしまう。
それにあの構文が見た目不安定に思えて仕方ないw
699:デフォルトの名無しさん
09/10/11 16:22:34
配列は IEnumerable だから List のコンストラクタに入れられるだろ
700:デフォルトの名無しさん
09/10/11 16:29:56
暗黙的に変換できないから一々Addrangeしないといけないからやだなぁって。
そういうことじゃない?
701:デフォルトの名無しさん
09/10/11 16:33:55
ごめん・・・
.ToList();でけた
702:デフォルトの名無しさん
09/10/11 16:34:22
LINQ使えるんだったらそもそもリストにする必要ないだろ
703:デフォルトの名無しさん
09/10/11 16:34:40
つ DarkBASIC
704:デフォルトの名無しさん
09/10/11 16:34:41
.NET 3.5 で C# 3.0 だったのかよ
705:デフォルトの名無しさん
09/10/11 16:37:03
List<T>.FindなんかそのうちObsolete来るかもね
Silverlightではすでに削除されてる
706:デフォルトの名無しさん
09/10/11 16:39:24
>>705
なぜ?
707:デフォルトの名無しさん
09/10/11 16:40:09
LINQ (to Objects)があれば不要だから
708:デフォルトの名無しさん
09/10/11 16:42:44
聞いたことはあるけど使ったことが無い。
というよりあまり魅力とは思わないんだけど、使い始めたらやめられない位つかうことになる?
709:デフォルトの名無しさん
09/10/11 16:43:26
>>707
そんな理由で非推奨にしたらどれだけのメソッドが非推奨になるんだい
710:デフォルトの名無しさん
09/10/11 16:45:17
>>692
とりあえずSQLサーバーとかいらんだろ
711:デフォルトの名無しさん
09/10/11 16:47:38
とりあえずVisual Stadioはサーバー系とモバイル系、オフィス系を省いて、C++をフルインストール、後はデフォルト。
C++はフルにしないとツールや、コンパイルのときAnyCPUの選択ができなくなる。
712:デフォルトの名無しさん
09/10/11 16:48:58
あとはDXperience
713:デフォルトの名無しさん
09/10/11 16:52:27
>>708
よくWebの記事なので紹介されてるクエリ式( from x in items where … ) はあまり使わないだろうけど
メソッド形式( items.Where(x => x.Value < 10).ToList() みたいに書く方)は使いまくることになる
MSDNでSystem.Linq.Enumerableクラスを見てみるといいよ
714:デフォルトの名無しさん
09/10/11 16:59:55
何かちょっと魅力と思えてきた。
これ使いこなせれば、今書いてるコードとかキュッと出来そうw
人に渡すと説明いりそうだけどw
715:デフォルトの名無しさん
09/10/11 17:54:54
LINQは麻薬
716:デフォルトの名無しさん
09/10/11 18:06:07
アルゴリズムを分かった前提でLINQを使ってほしいね
組み合わせ問題をLINQで無理やり書いて
速度が出ないコードを量産されたらたまらん
717:デフォルトの名無しさん
09/10/11 18:06:31
何でもLINQで書きたくなる病を発症する人は多いな。
718:デフォルトの名無しさん
09/10/11 18:09:16
今必死に抑えてるよ…
719:デフォルトの名無しさん
09/10/11 18:18:46
LINQ to flickrとかね
720:デフォルトの名無しさん
09/10/11 18:20:42
っは・・・し、静まれ・・・俺のLINQよ・・・怒りを静めろ!!
721:デフォルトの名無しさん
09/10/11 18:25:34
やめろぉおおおおお
なんでもかんでもIEnumerableインターフェースを実装しようとするんじゃねエエエエエエエエエ
722:デフォルトの名無しさん
09/10/11 18:26:09
あるあるw
723:デフォルトの名無しさん
09/10/11 20:02:06
ほうらこんなものも列挙できるんだよ・・・
みてごらん・・・
724:デフォルトの名無しさん
09/10/11 20:09:06
本当に麻薬だなw
725:デフォルトの名無しさん
09/10/11 20:20:53
javaの1.4で仕事してるけど、ループを書くたびに、linqならああ書けるのにって
妄想してしまう。
726:デフォルトの名無しさん
09/10/11 20:21:49
今時Java 1.4なんて苦行そのものだな。お疲れさん。
727:デフォルトの名無しさん
09/10/11 20:41:21
>>693
var files= Directory.GetFiles(@"c:\work", "*.*", SearchOption.AllDirectories)
.Select(f => new FileInfo(f));
// .Select(x => new FileInfo(x)).ToArray()で配列;
foreach (var file in files)
Console.WriteLine(file.ToString());
728:デフォルトの名無しさん
09/10/12 00:52:04
>>727
わざわざありがとうございます!
何か作っているうちにいろいろやって見たんだけど、これ中毒化する・・・。
ハンドルとか捕ってく時に無駄に使いまわしそうw
.Selectがいっぱい尻尾に着くとかとても自己満z
729:デフォルトの名無しさん
09/10/12 12:49:57
DrawStringで矩形の中に改行しながら最大に近いサイズで文字を表示する方法を教えてください。
730:デフォルトの名無しさん
09/10/12 12:56:04
DrawString(string, Font, Brush, RectangleF)
731:デフォルトの名無しさん
09/10/12 12:57:24
MeasureText
MeasureString
732:デフォルトの名無しさん
09/10/12 13:49:08
フォントサイズを変更しながらMeasureStringで収まってるかどうかループ回すってことですか?
それしかないのか・・・
733:デフォルトの名無しさん
09/10/12 13:56:46
えーっと、比例とか分数って小3ぐらいで習うよな…
仮にそれで誤差が出るとしても、バイナリーサーチと同じアルゴリズムが使えると思うが
734:デフォルトの名無しさん
09/10/12 14:36:28
そっか!
735:デフォルトの名無しさん
09/10/12 18:55:51
音楽プレイヤーについて質問があります。
WindowsMediaPlayerを使って音楽を再生しようとしています。
再生はできたので、次の段階で、評価の値を取得して、気に入った曲だけ再生しようとしています。
URLリンク(d.hatena.ne.jp)
を参考に、メタデータを取得しようとしています。
ここで疑問点が出てきました。
評価の項目が見当たらないのです。
曲の評価は5なのですが、値が5のデータもありません。
評価を取得するにはどうしたらよいでしょう。
736:デフォルトの名無しさん
09/10/12 19:10:51
列挙したら何が取れるの?
737:デフォルトの名無しさん
09/10/12 19:11:52
ちっとはMSDN見ろ?
URLリンク(msdn.microsoft.com)
属性の名前についてはこっち見ろと書いてある
URLリンク(msdn.microsoft.com)
オーディオ関連に使用する属性に限定したリストがこれ
URLリンク(msdn.microsoft.com)
で評価は大体ratingの訳語だからratingをページ内検索
後は片っ端から詳細ページを確認
738:デフォルトの名無しさん
09/10/12 21:45:47
>>737
thanks
739:デフォルトの名無しさん
09/10/12 23:39:13
ちと悩んでて質問させてくれ
C#のフォームに複数のswf組み込んでそのswfに同時キー処理を渡したいんだ
どうすればいい?
swfを貼り付けるとこまではサイト見ながらなんとか出来たが
swfの同時処理がわからん・・・。1日調べたけどお手上げだった俺に誰か救いの手をくれ
740:デフォルトの名無しさん
09/10/13 00:01:28
同時ってのがあれだけど、スレッドとかか?
でもブラウザにswfにキーイベントとか渡せるかどうかわかんない
741:デフォルトの名無しさん
09/10/13 00:17:03
いや、普通のフラッシュゲームとかと考えてもらっていい
イメージ的には1つのフォームに2つ以上のフラッシュゲームをおいて
キー操作で全く同じ動きする感じ。
742:デフォルトの名無しさん
09/10/13 00:23:35
そもそも、そのswfが同時入力という概念があるのかすら決まってないんじゃないの?
743:デフォルトの名無しさん
09/10/13 00:33:21
フォームに組み込むからフォーム側でコントロールすれば複数のオブジェクト(今の場合はswf)に
キーイベントを送ることは出来るとは思うんだが・・・。
リストとかテキストボックス複数に同時に同じキーイベント送ることが出来たからswfでも出来ると思ったけど
swfは無理なのかのう(´・ω・`)
744:デフォルトの名無しさん
09/10/13 00:35:05
複数に同時、ってのは無理。
745:デフォルトの名無しさん
09/10/13 00:40:16
無理なのか・・・(;´Д`)
他に方法は無いだろうか?もうC#じゃなくてもいいや
746:デフォルトの名無しさん
09/10/13 00:42:21
じゃ、スレ違いだからどこかに消えてなくなれよ。
747:デフォルトの名無しさん
09/10/13 00:51:30
どんな言語だろうと同時は無理だろう
748:デフォルトの名無しさん
09/10/13 01:13:43
キーの制御だからC系でいけると思ったけど
C#で無理ならしゃーないな(´・ω・`)
ありがとう
749:デフォルトの名無しさん
09/10/13 02:15:36
お前らの同時は質問者の同時と別だろうなw
750:デフォルトの名無しさん
09/10/13 02:48:15
キー制御とか書いてあるから人間が操作する前提のフラッシュゲームを
自動で動かしたいとかそんなことなんだろう。
ならばリフレッシュレートより短い時間差があっても問題になることは少ないはず。
この程度の考察ができないようでは、とてもまともなプログラマーとは言えない。
許容誤差とか、仕様に不明な点があれば確認すべきだし。
751:デフォルトの名無しさん
09/10/13 03:06:08
仕様ってなんだよw
仕事じゃあるまいし、なんでそんなに懇切丁寧にやらにゃならんのだ。
頭おかしいんじゃないの?
752:デフォルトの名無しさん
09/10/13 03:29:46
遊びで手を抜くやつは仕事でも手を抜くんだよなあ
人間、そんなに器用に習慣を変えることなんてできないんだから
ちょっとしたことでも態度に出たのを見られてるから注意した方がいいよ
753:デフォルトの名無しさん
09/10/13 03:37:12
仕事で手を抜くのは基本
仕事振られずに給料もらうのがベストソリューション
754:デフォルトの名無しさん
09/10/13 06:44:18
>>752
おまえ働いたことないだろw
755:デフォルトの名無しさん
09/10/13 08:06:09
いかに品質を落とさずに手を抜くかだよな~
あらゆるツールはそのためにある
756:739
09/10/13 08:22:01
>>750が言う通り少々の時間誤差あるくらいなら全然構わない
ちと説明不足だったすまない
757:デフォルトの名無しさん
09/10/13 08:40:35
飛行機のネジには遊びがあるんだぜ
全てのネジを完璧に締めちゃうと飛び立った後で空中分解するんだぜ
仕事も同じ
俺は後輩にこう教えて来た
758:デフォルトの名無しさん
09/10/13 09:42:00
今は接着剤だがなw
759:デフォルトの名無しさん
09/10/13 09:49:24
それがツールというものか。
なんかつながった
760:デフォルトの名無しさん
09/10/13 10:01:43
効率化を提言すると手を抜いてると言い出すのは日本の会社の宿命だよ
今まで自分が築いたものを否定されるに等しいと思ってるからね
帰属意識を持てという割に共同体だという概念がない
761:デフォルトの名無しさん
09/10/13 10:14:11
んなこたない
762:デフォルトの名無しさん
09/10/13 10:58:17
ツールツール言ってる奴はツールに問題があった時の
工数増加まで見積ってるんだろうな?
763:デフォルトの名無しさん
09/10/13 10:58:54
当たり前
764:デフォルトの名無しさん
09/10/13 11:06:17
というかツールってなんだよ、アドインとかか?ライブラリか?
765:デフォルトの名無しさん
09/10/13 11:35:45
ツール・ド・フランス
766:デフォルトの名無しさん
09/10/13 12:16:49
パスツール
767:739
09/10/13 12:25:48
739だがいつの間にかかやの外にいてワロタ
で、結局>>739は実現可能なのだろうか?
ちょっと前にも書いたけど少しの誤差は無問題
似たような処理ならどんな方法でも基本おkだ
よろしくたのむ
768:デフォルトの名無しさん
09/10/13 12:56:09
>>767
並列処理させればいいだけだろ
おまえにはポジトロニックブレインがついてないのか?
769:デフォルトの名無しさん
09/10/13 13:57:41
カタブツとよく言われております
770:739
09/10/13 14:05:00
ポジなんとかはよくわからんがその並行処理のやり方がわからないんだ
swfにキーを並行処理で渡すってのが俺の中で超難解
771:デフォルトの名無しさん
09/10/13 14:42:57
多少の時間差があってもいいんなら、順番に処理すればいいだけ
人間の目には同時に見えるる
772:739
09/10/13 15:16:59
何度も申し訳ない説明不足だった
swfを組み込むのが初めてでキーコントロールの渡し方もわからんトーシロなんだ
その辺も含めて教えてくれると助かる
ソースコードとか
773:デフォルトの名無しさん
09/10/13 15:27:25
今はどうやって表示してるの?
ActiveXかなんか?
774:デフォルトの名無しさん
09/10/13 15:41:42
>>739
ここで回答を待つよりも賢明な方法がある
ぐぐれ
775:739
09/10/13 15:57:14
SHOCKWAVEなんたらって出るからたぶんActiveX
ぐぐりながら今もいろいろ試してるけど全然ダメなんだ…
なんせC#自体ほとんど触ったことないから(´・ω・`)
776:デフォルトの名無しさん
09/10/13 16:13:10
CopyFromScreenで取得した2枚の画像を
高速で比較して、異なる部分を抜き出す方法ってある?
777:デフォルトの名無しさん
09/10/13 16:19:54
知ってるなら教えてあげればいいのに。
778:デフォルトの名無しさん
09/10/13 16:23:32
異なる部分とは?
単純に差分でなくて、林檎と蜜柑の違いとか?
779:デフォルトの名無しさん
09/10/13 16:24:15
上で偉そうにしてた奴は、騒ぐだけ騒いで教えずに居なくなったな
780:デフォルトの名無しさん
09/10/13 16:26:42
>>776
バイナリで比較すればいい
781:デフォルトの名無しさん
09/10/13 16:30:32
>>775
C#というよりプログラミング自体初心者に近いんじゃないのか?
横着しないでまず文法を理解しなさい
782:デフォルトの名無しさん
09/10/13 16:37:18
>>775
単純な差分。
CombineRgnのRGN_DIFFみないな。
>>780
1ピクセルづつ比較したら遅くね?
783:デフォルトの名無しさん
09/10/13 16:46:35
>>782
基本的にCPUで処理する場合は1ピクセルずつ処理するしかないぞ。
せいぜいSSEなどのパックド命令を使うことだけどこれはC++でやるべきこと。
Graphics/Bitmapで差による描画がないようなら自前でやるしかないな。
Marshal.Copyを使えばそれほど難しいことではないだろう。
784:デフォルトの名無しさん
09/10/13 16:49:33
>>783
Marshal.Copyの後、
forループで比較?
やっぱりこれしかない?
1280x1024 のbitmapの場合、0x500000の配列になるんだよね・・・
785:デフォルトの名無しさん
09/10/13 16:56:43
ポインタ使えばええやろ
786:デフォルトの名無しさん
09/10/13 17:00:41
9000枚くらい画像処理してるけど結構速いよ
787:デフォルトの名無しさん
09/10/13 17:05:18
>>784
今更1Mピクセルくらいなによ、って感じ。
>>785
C#はアンマネージドなバッファに対するアクセス法が3種類ほどあるが、
ポインタとしてアクセスするのはunsafeキーワードでも足りず、
プログラムのビルドオプションを変更する必要がある。
そうするとほかのモジュールとのリンクも影響を受けかねないし、
よほどボトルネックになってない限りはお勧めできない。
>>786
同意。
788:デフォルトの名無しさん
09/10/13 17:10:30
>>786
>>787
そうか、そんなものか。
とりあえずやってみるよ。
サンキュ。
789:786
09/10/13 17:13:29
類似画像比較の処理を書いていて、
最初はサンプリング部だけC++のモジュールに投げようと思ってたんだけど
試したら3%も早くならなかったので止めてC#で書いた
790:デフォルトの名無しさん
09/10/13 17:17:16
あんま、参考にならないと思うけど、
一応、俺も類似画像検索ツール作ったことがある。
50x50サイズの画像を10000件検索したときは約5秒かかった。
791:デフォルトの名無しさん
09/10/13 17:19:13
イメージほど遅くはなくなったんだけどな
イメージ先行してるよなw
792:デフォルトの名無しさん
09/10/13 17:25:49
画期的なアルゴリズムを編み出したいんだろうけど
画像なんてのは規則性がないからな
異なる部分を抜き出すだけなら
1ピクセルごとに比較するのが単純で速い
類似画像検索となると、それなりの手法がいるがな
793:デフォルトの名無しさん
09/10/13 18:08:42
>類似画像検索
たとえば、どんな風にやるの?
794:デフォルトの名無しさん
09/10/13 18:26:07
大雑把な説明だと、各画像の特徴ベクトルを算出して比較
特徴ベクトルの中身や算出方法の具体的なアルゴリズムは説明しきれないから、
興味があるなら画像処理スレ行くとか、適当に論文を当たるとかしてくれ
795:デフォルトの名無しさん
09/10/13 18:30:36
まあ、でも普通は2枚の画像の差分を目で評価できれば十分なので。
以前とあるマイナーな画像形式のコンバーターを作ったんだが、
可逆なはずの色域変換の逆変換でデータが化けてしまったときにお世話になった。
あ、そうだ。便乗質問するんだが、.NETの標準で対応してない画像形式のローダーを.NET向きに作るときって、
なにとして読めるように作ったらいいんだ?
汎用ローダーならIO.Streamでいいんだが……。
796:デフォルトの名無しさん
09/10/13 18:37:23
WinForm向けならSystem.Drawing.Image(実体はBitmapだろうけど)
WPFも視野に入れるなら……DIB的なもの
797:デフォルトの名無しさん
09/10/13 18:38:56
>>775
同時処理以前にキーの送信もできてなかったのか。
そっちを先に聞くべきだったね。
フラッシュ側でどうやってキー入力とってるかにもよるんじゃないのかな。
試しにSendInput使ったら送れたけど、これだと送る前にフォーカスセットしなくちゃならないけど
それでもいいかな?ちなみにキーボードフォーカスはPC上で1つしか持てないから
このやりかただと同時は不可能
798:デフォルトの名無しさん
09/10/13 19:25:21
>>795
WIC(Windows Imaging Component)
799:デフォルトの名無しさん
09/10/13 20:14:39
フォーカスの切り替えも一瞬だから
切り替えとキーイベントなりキーコード送信を順番にやればいいだけだよ
800:デフォルトの名無しさん
09/10/13 21:19:46
C#に向いてるエディタってありますか?
801:デフォルトの名無しさん
09/10/13 21:20:28
VisualC#2008以外ありえない
802:デフォルトの名無しさん
09/10/13 21:58:18
誰もがお前らの思いどうりには行動しません。
協調とは性格や考え方の違うもの同士が譲り合って調和をはかること
すなわち同調ではない。
自分と他人は違う人間なんだから、
十人十色、いろんな考え、趣味、価値観があって当然。
よく私たちは「誤解された」といって憤慨することがありますが、
そのような人は自分の考えをはっきりと発言しているのでしょうか。
自分の意見を明確に発言もしないで、誤解されたと憤慨するのは、
自分で一言も発言しないで「俺の考えていることを当てて見ろ」
と言っているのと同じことではありませんか。
お互いに自分の意見をもっとはっきり言うべきだと思います。
自己主張をするときに最も注意すべき点は、感情的にならないことです。
感情的になったら、勝ち負けを争っていることになります。
主張するときは冷静で、しかも論理的に話すことが求められます。
自分の常識が相手にも通じる時代は終わったのです。
自分と相手の常識は違うのです。よく言えば価値観が多様化してしまったのです。
803:デフォルトの名無しさん
09/10/13 22:05:18
コピペ君って馬鹿だな、まで読んだ。
804:デフォルトの名無しさん
09/10/13 22:06:05
まず.NET Frameworkのクラスライブラリはインテリセンス環境で使うことが前提だから
やたら綴りが多くてとてもじゃないけどふつうのテキストエディタでは書いてられない。
805:デフォルトの名無しさん
09/10/13 22:10:47
MonoDevelop
806:デフォルトの名無しさん
09/10/13 22:20:46
それは秀丸+csc+NUnit+NAnt+NDocでグループウェア作った俺への挑戦だな。
っていうか、確かにシンどいです御免なさい勘弁してください。
ついでにサーバは秀丸+javac+JUnit+Antですた。御免なさい勘弁してください。
807:デフォルトの名無しさん
09/10/13 22:28:42
C#のためにVisualC#が作られたというより,
VisualC#のために作られた言語だし
808:デフォルトの名無しさん
09/10/13 22:30:13
ん?VisualC#の為じゃなく.NETの為に作られたのがC#だろ?
809:デフォルトの名無しさん
09/10/13 22:32:49
実際VSとセットで設計されてるんだよ
810:デフォルトの名無しさん
09/10/13 22:42:44
VisualJがクソミソにされたからブチぎれて大金かけてパクった言語ですが?
811:デフォルトの名無しさん
09/10/13 22:46:19
はやくJava7出せよw
812:デフォルトの名無しさん
09/10/13 22:51:04
Visual Jはこけてくれた良かった。
お陰でC#という最高の言語の一つが出来たのだから。
813:デフォルトの名無しさん
09/10/13 22:54:51
Java7大したもの実装されなそうなのに何であんな時間かかってるんだろうな
正直言って見限り気味
814:739
09/10/13 23:08:53
>>797
ありがとう参考になった。sendinputは使ってなかったわ
とりあえず今日も一日頑張ったけど無理だった。方法としては
・フォームをKeyPreview = trueに設定する⇒特殊アプリ(swfとか)には無効
・KeyDown += delegate(object o, KeyEventArgs e)の後に普通に
ActiveControl = swf1;
ActiveControl = swf2;と処理⇒片方しかキー処理しない
・上記のswf2をスレッド処理⇒片方しかキー処理しない
そもそもキーの渡し方がわからんかったからこんな変な処理になった
もうお手上げ\(^o^)/
815:デフォルトの名無しさん
09/10/13 23:44:21
質問させてください。Excelに差込印刷をしてみたいので
C#が良いと後輩に教えてもらいました。
部下に指示するにしても、自分でまずやったほうがい良いと思い書き込みしてます。
どうやればいいでしょうか?
816:デフォルトの名無しさん
09/10/13 23:53:16
>>815
騙されてるよ。
C#はCOMと相性が悪い。
普通にVBAでいい。
817:デフォルトの名無しさん
09/10/13 23:56:32
>>815
お前は部下持ちなのに、自分の頭で考える能力も経験もないのか?
818:デフォルトの名無しさん
09/10/13 23:57:49
>>816
なるほど。VBAを購入してマスターすればいいのですね。
大変参考になりました。60点です。
819:デフォルトの名無しさん
09/10/14 00:01:49
>>818
おまえは0点だよw
820:デフォルトの名無しさん
09/10/14 00:08:14
>>798
ふぅ~む……。
Vistaでは標準で入ってるけどXPでは.NET Framework 3.5に同梱かぁ。
COMベースであるところが気に入らないが、HD Photoも対応してるようだし
サードパーティーが拡張できるようにすること前提になってるようだし、興味深いな。
WIC、使ったことある人があれば感想とか聞いてみたいね。
試して見る価値はあるような気がする。ありがとう。
ただ自分の使いたい用途とは必ずしも一致しない。
System.IO.Stream系で1行あたりのバイト数で区切られた
長方形状のメモリに直接読み書きできるようなクラスがあれば
それの形で実装できればなと思ってる。
821:デフォルトの名無しさん
09/10/14 00:08:50
>>818
VBAを購入するのか
大変だなw
822:デフォルトの名無しさん
09/10/14 03:10:31
あまりに初歩的で申し訳ないのですが
たとえばApplication.cs から Option.cs を開くために
Application.cs[Design] で Option 項目を作成し
クリックされた時のイベントに何を書けば
Option のウィンドウを開くことができるのでしょうか?
823:デフォルトの名無しさん
09/10/14 04:29:07
アプリケーションの作成手順が知りたいんだけど
例えば、URLを右クリックして保存する時に出てくるウィンドウを設計する場合
まず、フォームにコンポーネントを追加していって
作業に必要なデータセットをつくって
次はイベント処理を作っていくのが一般的?
824:デフォルトの名無しさん
09/10/14 06:31:22
そんなんでデータセットなんて使わんだろ。
825:デフォルトの名無しさん
09/10/14 08:41:16
>>822
Application.csからOption.csを開くって何?
C#ではソースコード同士を開いたりという概念は無いよ。
(コンパイルしたら実行時には関係なくなるから)
それから、その2つはFormを定義してるのかな?
それなら、そんなクラス名をつけるのはあまり一般的ではないよ。
Formクラスを継承するんだらMainFormとかそういう名前をつけるといい。
ちょっと基本的なレベルで突っ込みどころが多すぎるので、
まずは教科書どおりに書いてその意味を考えてもらえないだろうか。
826:815
09/10/14 10:03:19
今日、部下に相談したら「私がやりますから」って不機嫌そうな顔をしてたので
彼は左遷だと社長に直訴しました。私をだれだと思ってるんだまったく。
827:デフォルトの名無しさん
09/10/14 10:07:28
>>826
お前論外。カエレ
828:デフォルトの名無しさん
09/10/14 10:08:21
まさかとは思いますが、この部下とは、あなたの想像上の存在にすぎないのではないでしょうか。
829:デフォルトの名無しさん
09/10/14 10:20:46
たぶん自分が上司という設定も想像上
830:デフォルトの名無しさん
09/10/14 11:35:19
みんな何と戦ってるんだ……
831:デフォルトの名無しさん
09/10/14 12:13:59
>>826
おまえみたいな仕事の出来ないSEが多くてかなわん
832:デフォルトの名無しさん
09/10/14 12:48:05
そうだ、その席俺によこせ
833:デフォルトの名無しさん
09/10/14 14:26:51
>>825
レスありがとうございます。
共にFormクラスを継承していますので名前を変更しました。
まず、MainFormを作って次にOptionFormを作った場合
実行するとMainFormのみ表示されます。
実行時にOptionFormを表示するにはどのようにすれば良いのでしょうか?
834:デフォルトの名無しさん
09/10/14 14:30:57
OptionFormをいつ表示させたいの?
MainFormの代わりならnew MainForm() してるとこを探してみそ。
任意の時点なら、new OptionForm()して.ShowDialog()とか
835:デフォルトの名無しさん
09/10/14 14:31:42
ソースコード全部漁るとMainメソッドでApplication.Runを実行している所がある
そこで引数として渡すFormを変更する
836:デフォルトの名無しさん
09/10/14 15:26:29
>>834
できました。ありがとうございます。
837:デフォルトの名無しさん
09/10/14 20:32:33
abstract class Foo}
838:デフォルトの名無しさん
09/10/14 20:47:28
コンパイルエラーになりますた
839:デフォルトの名無しさん
09/10/14 20:52:25
public abstract class Foo{}
public class Bar:Foo{}
public class Baz:Foo{}
public class BarContainer{
public List<Bar> Children;
}
public class BazContainer{
public List<Baz> Children;
}
というクラスがあって、BarContainer と BazContainer の両方を扱えるように、
interface IParent<T> where T:Foo
{
List<Foo> Children;
}
public class BarContainer:IParent<Bar>{
public List<Bar> Children;
}
というのを定義したんですが、
var x=(IParent<Foo>)(new BarContainer());
とはできないんですね。
なんかいい方法ない?
840:デフォルトの名無しさん
09/10/14 20:55:03
public abstract class FooContainer {
841:デフォルトの名無しさん
09/10/14 21:01:02
>>839
URLリンク(msdn.microsoft.com)
その問題についてはこの記事が詳しい
MSDNの中でも指折りの良質な記事だと思う
842:デフォルトの名無しさん
09/10/14 21:21:22
単純に
public abstract class Foo { }
public class Bar : Foo { }
public class Baz : Foo { }
interface IParent<T> where T : Foo {
List<T> Children { get; set; }
}
public class MyContainer<T> : IParent<T> where T : Foo {
List<T> lis;
public List<T> Children {
get { return lis; }
set { lis = value; }
}
}
class Program {
static void Main(string[] args) {
var x = (IParent<Foo>)(new MyContainer<Bar>());
var y = (IParent<Foo>)(new MyContainer<Baz>());
}
}
という話ではないのか?と思ったんだが、違うのか。
843:デフォルトの名無しさん
09/10/14 21:25:35
一見正しそうに見えるけどコンパイル通らないよそれ
理由は>>843を嫁
844:デフォルトの名無しさん
09/10/14 21:27:37
こんにちは
質問があります。
今座席表を簡単なものを作っています。
ラベルで席の場所を作り、その中に名前を入れておくのですが
このときの名前はForm2にメンバー表をテキストボックスで作っておき
それに対応したラベルをForm1で参照して表示にしようと思っています。
そして、Form2のテキストボックスの名前を変えて保存ボタンを
押せば簡単に席替えしたときに変えられる
と言うな物を作りたいのですが。
①Form1からForm2のテキストボックスが参照できない
②exeで起動したときテキストボックスの中身を入力で替えたとき
保存は出来るのか?
以上を教えてください。なお、あまりよくない作りになりそうでしたら
そこも助言いただけるとうれしいです
845:839
09/10/14 21:32:23
みなさまレスありがとう。
>>840
ごめん、サンプルでは簡略化のために省きましたが、
Bar/BazContainer には基底クラスがあるので、その手は使えないっす。
>>841
ビンゴなレスありがとう。お礼にフェラチオしてやりたいくらいだ。
でも、記事内容がちょっと俺には高度っぽい。
理解できるだろうか。
>>842
>System.InvalidCastException はハンドルされませんでした。
>Message="型 'ConsoleApplication1.MyContainer`1[ConsoleApplication1.Bar]' のオブジェクトを型 'ConsoleApplication1.IParent`1[ConsoleApplication1.Foo]' にキャストできません。"
846:デフォルトの名無しさん
09/10/14 21:33:25
>>844
フォーム等の特定の入出力に依存しない座席表クラスを作って,
そのインスタンスを両方のフォームから参照する。
保存や読み込みもそのインスタンスだけ。
847:デフォルトの名無しさん
09/10/14 21:38:38
>>839
よく見てないけど、
C#4.0でサポートされるジェネリックの共変・反変性と関係するのかな?
ちと調べてみる。
848:デフォルトの名無しさん
09/10/14 21:40:23
関係は大いにあるけどC#4.0では解決しない
List<T>は書き込みと読み取りの両方の操作をサポートしているので共変も反変も使えない
849:842
09/10/14 21:48:14
なるほど、だから >841 なのか。納得しました。
850:デフォルトの名無しさん
09/10/14 21:53:51
>>846
なるほどテキストボックスとかで貼り付けたのを使うのでなく
あくまでもプログラムで参照させるやり方ですね?
初心者で申し訳ないですが
座席表クラスには座席番号と氏名を入れて
それを対応したラベルなりに表示させるようにして
変更時は
Form2に保存ボタンを作り名前が入ってるテキストボックスに入力させて
ボタン押してプログラムに上書きをさせていく感じでしょうか?
一応座席が76個ほどあります・・・・
初心者ですいません。
851:デフォルトの名無しさん
09/10/14 22:30:41
>>850
初心者スレで初心者ですみませんとか何度も言われると煽られているのかと思ってしまう。
それはさておき、>>846の言うことがよく理解できないなら
テキストボックスを参照させたいならテキストボックスのアクセシビリティを
デフォルトの private から internal とかに上げる方法もある。
852:デフォルトの名無しさん
09/10/14 22:41:45
こないだわからないことがあったんで質問します
<asp:FormView ID="formView1" runat="server">
<ItemTemplate>
・・・・
<asp:Panel ID = panel1 runat="server">
・・・・
コードの概要は上記のような形で.cs側でpanle1のvisibleを制御したいんだけどやりかたがわかりませんでした。
調べたら恐らくできるんだろうことはわかったんですが・・・
試したことは
Panel pnl = (Panel)formview1.findcontrol("panel1");
これでpnlがnullになってしまいます
Panel pnl = (Panel)formview1.row.findcontrol("panel1");
rowに何もはいってません
なんか推測でも理由分かる人いたらおねがいします
853:デフォルトの名無しさん
09/10/14 22:42:55
>>850
一個一個入力という意味?それでも問題ないけど。
一例として入力フォームはダイアログボックスとして席の位置に76個のテキストボックスを配置。
モーダル表示した時に846の座席表クラスの76個のString(配列とかリストとか)からそれぞれ貼り付け。
変更後にOKボタンで逆に座席表クラスに取り込む。Cancelなら内容は破棄。
なんてのはどう?
モーダルにしない場合、他の画面で更新かかったときに動的に書き換えたりと初心者の範疇を越えてしまう。
854:850
09/10/14 23:04:07
>>851
ごめんなさいそういうつもりは一切ありません。
言わんとしてることは分かるのですが、どうも説明したり
口で言うのが苦手なのでうまくまとめられてないです。
internal明日会社で調べてみます!ありがとうございます。
>>853
ダイアログ使ったことないんでちょっと調べてみて
参考にしたいと思います!
しない場合は難易度アップなんですね・・・
明日会社で検討してみます!
ありがとうございます。
またクルかと思いますが申し訳ないですがそのときはよろしくお願いします。
855:デフォルトの名無しさん
09/10/14 23:19:30
C#, C♯, C#相談室 Part54 で質問したんですが
スレが終了してしまったのでこちらで再質問させていただきます。
-------------------------------------------------
ArrayList.Add でリストの最後ではなく
リストの最初に追加するにはどうすれば良いですか?
-------------------------------------------------
995 名前:デフォルトの名無しさん[sage] 投稿日:2009/10/14(水) 20:20:40
関係ないけど今更ArrayListなんか使うな
1000 名前:デフォルトの名無しさん[sage] 投稿日:2009/10/14(水) 20:47:19
List<T>
というレスをもらいましたが、Listでも
リストの最初に要素を追加する方法はわかりませんでした。
回答いただけたら大変助かります。
856:デフォルトの名無しさん
09/10/14 23:25:16
C#, C♯, C#相談室 Part55
スレリンク(tech板)
立てといた
857:デフォルトの名無しさん
09/10/14 23:26:05
>>855
994でレスもらってるじゃねーか
>>856
乙
858:デフォルトの名無しさん
09/10/14 23:26:40
>>855
list.Insert(0, x);
859:デフォルトの名無しさん
09/10/14 23:27:02
994 名前: デフォルトの名無しさん [sage] 投稿日: 2009/10/14(水) 17:28:58
Insert
↑なんでこれみてないの?これ答えたの俺じゃないけど、答えそのままじゃん。
List<T> でも同じ名前と同じやり方だよ。
860:デフォルトの名無しさん
09/10/14 23:28:01
45→55ってどういうこと?
861:デフォルトの名無しさん
09/10/14 23:28:40
バージョンアップ
862:デフォルトの名無しさん
09/10/14 23:32:26
一瞬立て間違えたかと思ってビビった
863:デフォルトの名無しさん
09/10/14 23:38:18
>>859
アンカーも付いてないのになんでもくそもないわ。
答える側の能力が低いだけだ。
864:デフォルトの名無しさん
09/10/14 23:44:04
質問の直後のレスで、その言い方はないわ
ほかに混同するレスもないのに
865:デフォルトの名無しさん
09/10/15 00:02:10
c:\data\a\good01.jpg
c:\data\a\bad02.jpg
c:\data\a\other03.txt
c:\data\b\good04.jpg
c:\data\b\bad05.jpg
c:\data\b\music06.mp3
c:\data\c\good07.jpg
c:\data\c\bad08.jpg
のような構造から、goodのjpgだけ抜き出したいと考えました。
string[] photofiles;
string[] allphotofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories);
string photolist;
foreach(string allphotofile in allphotofiles) {
if (allphotofile.Contains("good)){
photolist = photolist + allphotofile + "\n";
}
}
photofiles = photolist.Split('\n');
でできているのですが、ひどく無駄な処理をしている気がしてます。
こういうときに、LINQを使うとスマートになるんですか?
866:デフォルトの名無しさん
09/10/15 00:07:43
何が「ひどく」とまでいうほど無駄と感じるわけ?
別にLINQ使ったからって大して変わるわけでもないけど。
867:デフォルトの名無しさん
09/10/15 00:13:15
配列に入れたものを文字列にして、
もう一度配列にしているのが無駄な気がしてます。
直接配列に入らないのかな~と。
あと、LINQはこのあいだ盛り上がっていたのと、
まだ使ったことがないので、なんとなくあこがれて。
868:デフォルトの名無しさん
09/10/15 00:15:52
yield returnだろうとLINQだろうと配列コピーだろうとなんだろうと
目的の機能を達成すれば全ておk
好きな方法を使え
869:デフォルトの名無しさん
09/10/15 00:17:04
>>857>>858
あ、ほんとだ。
すいません、2回ぐらい見たはずなのに
自分へのレスだと気づけませんでした…。
870:デフォルトの名無しさん
09/10/15 00:17:55
Directory.GetFiles(@"c:\data", "good*.jpg", SearchOption.AllDirectories);
こうはできないんだっけ
871:デフォルトの名無しさん
09/10/15 00:27:43
>>864
まあそうなんだけどさ、それは分かってる側の理屈だよね。
もちろん答える側の自由なんだけど、せっかく答えたのに
相手に伝わらなければもったいないよ。
質問内容で明らかにかなりの初心者だってわかるんだし、
その僅かな気配りが出来るか出来ないかで能力に雲泥の差が出るよね。
872:デフォルトの名無しさん
09/10/15 00:27:52
var files= Directory.GetFiles(@"c:\work", "*good*.jpg", SearchOption.AllDirectories)
.Select(f => new FileInfo(f));
でできるよ。
873:デフォルトの名無しさん
09/10/15 00:36:25
わかってる、というより質問しといて新しいレスが増えたのに、
自分宛じゃないからって無視する精神の方がおかしいわ
874:デフォルトの名無しさん
09/10/15 00:37:17
コードは、な
875:874
09/10/15 00:39:37
ごば
876:デフォルトの名無しさん
09/10/15 00:47:05
>>873
うん、だからさ、その程度の事はアンカーを付ければ
簡単に避けれるのは理解できるかな?
決して気づかなかった無能な初心者を庇っている訳ではないんです。
877:デフォルトの名無しさん
09/10/15 00:54:40
>>876
まあ、日本人は説明能力が欠如してる人間が多すぎるからね。
質問側にも回答側にも、本人とエスパー以外に読解不可能な文章を平気で書いて
それで人に伝わるつもりになってる奴が多すぎる。
明らかに教育の問題だな。
まあ、君がもし回答者は質問者に親切に<すべき>と思ってるなら、
そういうクレーマーチックな押し付けがましい考えもどうかと思うけど。
878:デフォルトの名無しさん
09/10/15 01:12:38
質問です。
病院、診療所の検索システムを作成しています。
病院の検索ボックスに、例えば「ちゅうおう」と入力すると、
文字列変換前に、右手のパネルに「ちゅうおう」のフリガナを含む全病院、診療所が表示され、
そこで、Enterキーで確定させる前に、
Tabキーまたは右カーソルキーの押下で右手のパネルにフォーカスを移したいと思っています。
Enterキーで確定後に右手にフォーカス遷移させることはできたのですが、
確定させる前の、入力文字列に点線の下線がある状態で、
Tabキーまたは右カーソルを検出し、フォーカスを移動させたいんです。
それは可能でしょうか?
もしできるなら、どのようなコーディングになるのでしょうか。
教えてください。よろしくお願いします。
879:デフォルトの名無しさん
09/10/15 01:39:01
2ちゃんでの答えに説明力不足もくそもない。
直後に書いた答えに説明力不足もくそもない。
一言使うメソッド教えるのに説明力不足もくそもない。
読解不可能な答えでも何でもない。
880:デフォルトの名無しさん
09/10/15 01:45:05
>>872
System.IO.FileInfoって、配列じゃなくない?
>>870
できそうなのですが、条件を間違えてました…。
c:\data\a\good\photo01.jpg
c:\data\a\bad\photo02.jpg
c:\data\a\other\text03.txt
c:\data\b\good\photo04.jpg
c:\data\b\bad\photo05.jpg
c:\data\b\music\music06.mp3
c:\data\c\good\photo07.jpg
c:\data\c\bad\photo08.jpg
でした。
Directory.GetFiles(@"c:\data", @"\good\*.jpg", SearchOption.AllDirectories);
とかやったけどだめっぽい。
881:デフォルトの名無しさん
09/10/15 01:49:10
>>879
後輩に嫌われそうなタイプだなw
882:デフォルトの名無しさん
09/10/15 01:51:35
自アプリ以外から起動したinternet explorerの特定のタブのHtmlDocumentを取得するのって自前でCOMの処理書かないと無理なの?
簡単にアクセス出来るクラスとか無いの?
COM使った実装は実現出来ているんだけどもっと簡単な方法が無いかなって思っての質問だけど
883:デフォルトの名無しさん
09/10/15 01:54:48
少なくとも標準ライブラリにはない
Shell32とか使えば多少は楽になるかも知れんがまあ大差なかろ
884:デフォルトの名無しさん
09/10/15 01:56:14
>>881
ここは2ちゃん
885:デフォルトの名無しさん
09/10/15 02:00:53
>>883
サンクス
なんかこの当たりもっと対応して欲しいよね
C#は先進の技術で作られているのにM$純正のアプリですらレガシーな技術を使わないとアクセス出来ないとか意味不明すぎる
IEに至っては構造が歪すぎて本来COMで提供されているべき機能がWindowMessageを使わないとアクセス出来ない機能まであるし
886:デフォルトの名無しさん
09/10/15 02:03:40
>>880
パスに含まれる、ならそりゃ第二引数は使えない これはファイル名のフィルタだから
Whereなりif文なり自分で分けるしかないな
Selectは型の変換 IEnumerable<TInput>をIEnumerable<TOutput>にする
GetFilesならstring[] : IEnumerable<string> で、
SelectでそれぞれのstringがそれぞれFileInfoに置き換えられてIEnumerable<FileInfo>を返す
まあFileInfoがいらないならこのSelect文は不要だな
取り敢えず\nでくっつけて後でSplitはあり得ない
List<string>にAddしていくようにすれば良いんじゃね