1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:41:44 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part44 pc12.2ch.net/test/read.cgi/tech/1251439041/
2 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:44:04 ] -----関連スレ C#, C♯, C#相談室 Part54 pc12.2ch.net/test/read.cgi/tech/1250911923/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/ ----参考サイト www.google.co.jp/ msdn.microsoft.com/ja-jp/library/default.aspx homepage3.nifty.com/midori_no_bike/CS/ www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html dobon.net/vb/dotnet/ jeanne.wankuma.com/tips/ www.labasp.net/CsharpNote/
3 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:47:31 ] 乙
4 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:49:03 ] >>前スレ終わり際 フレームワーク内部でcatchされてる例外は深く考えても脳が疲れるだけよ どうしても気になるならソース追っかけていけばいいけどCompactFrameworkのソースは公開されてたっけ
5 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 18:53:29 ] >>5 ならおっぱい晒します
6 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:11:39 ] >>4 了解です そうですよね。何かサーバーからエラーが来てるのかと思いましたが、パケットを調べられる 技量もないのでしばらくこのままで行ってみます ありがとうございました ところで、これで取得したメモリストリームからBitmapのインスタンスを生成する部分で たびたび一般的なGDI+エラーというのが出ます マルチスレッドでコールバック関数が呼ばれる前にメモリストリームが切断されるとダメという記述があちこちに みつかり、シリアライズしてからBitmapを生成した方がいいとありますが、 データ長を調べてbyte[]に入れればいいんでしょうか? それからBitmapを作ればいい? こういう時の定石なのでしょうか?ご存じの方よろしくお願いします
7 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:21:34 ] >>6 メモリストリームが切断? 取り敢えずStreamからMemoryStreamに一旦書き込んで、その後はそのMemoryStreamを使う
8 名前:デフォルトの名無しさん [2009/09/22(火) 00:36:07 ] C#で、変換前(入力中)の文字列を取得することはできますか? Google検索ボックスのように、 かな文字を入力中に、その文字列でデータセットの検索結果をリアルタイムに表示させたいんです。 よろしくお願いします。
9 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:39:26 ] >>8 Imm系の API 使えばできるでしょ。
10 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:41:59 ] >>7 あれ・・・それ今やってることと同じでした ストリームからByte配列に書き込み それをメモリストリームに書き込んで BmpSource = new Bitmap(memorystream); こうしてるんですが、なぜかストリームのところでなく この行でGDIのエラーが出るんです エラーはWebRequest要求の最中にさらに要求を重ねた 場合に起こります ただし、WebRsponseのストリーム読み出しではなく GDIで起こります もしかしたら呼び出し順が狂ってメモリストリームにデーはあるものの BitMapとしてはデータが壊れてるのかも知れないですね・・・ ちなみにFrameworkは2.0 SP2 です とりあえずエラーが出たところでダンプしてみます
11 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:46:00 ] www.stackasterisk.jp/tech/dotNet/csharp08_02.jsp#2_1 上のページを参考に、TcpListener、TcpClientを使って簡単なチャットプログラムを作っています。 TcpListener、TcpClientにローカルIPアドレスとポート番号9999を指定して 1つのパソコン内でメッセージのやり取りはできたのですが、 外部のパソコンとやり取りをするにはIPアドレスとポート番号は具体的にどのように指定すればいいのでしょうか? WANのIPアドレスでも動作するか試すため、 サーバー側はIPAddress.Anyを使って、ポートは9999 クライアント側は「確認くん」で調べた自分のWANのIPアドレス、ポートは9999を指定して実行すると、 サーバー側は「接続待機中」 クライアント側は「対象のコンピュータによって拒否されたため、接続できませんでした。***.***.***.***:9999」と表示されます。 上と同じように指定して知り合いのパソコンとやり取りをしようとしたのですが、やはりうまくいきませんでした。 説明下手な上に初歩的な質問ですみません。ちなみにファイアウォールは切ってます 回答お願い致します
12 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 00:56:45 ] >>10 単にスレッドセーフになってないだけじゃ…
13 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:04:45 ] >>10 です メモリーストリームに複数要求したデータが全部繋がって入ってる感じです 詳しく見てませんが、データの大きさがかなり大きいので間違いないと思います 一回呼び出し 正常表示 71203 5回呼び出し、DGIエラー 75299 同じ画像です メイン処理クラスからリクエストを送るイベントのたびにスレッドクラスを生成して そのスレッドクラスの中で非同期にWebRequest処理して そのクラスの中のコールバックメソッドの中でBitMap処理してます 最後にメイン処理クラスにデリゲートで処理を戻して描画してます 別のインスタンス(のつもり?)のスレッドクラスの中のstaticなメモリストリームに どんどんデータが入って来てしまうようです・・・ スレッドクラスそのものはstatic宣言してないです
14 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:05:26 ] >>12 そのようです
15 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:05:52 ] まず、LAN でできるようになってから WAN で試そうな。
16 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:09:07 ] staticなMemoryStreamなら当然だろw レスポンスごとにMemoryStream用意しろ
17 名前:11 mailto:sage [2009/09/22(火) 01:20:14 ] >>15 LANではうまく(?)いきます 家にある2台のパソコンでチャットはできました
18 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:20:56 ] >>16 レスポンスをコピーするためにバイト配列を使うのですが、 バイト配列が一杯になったらメモリストリームにコピーする コールバックメソッドを呼び出して コールバックメソッド側で再びレスポンス読み込みメソッドを呼ぶ ということになってるので、staticなMemoryStreamになってます それで、リクエスト処理を行うクラスをメイン処理クラスからイベントごとに インスタンス生成しているんですが・・・これがいけないのですかね? >この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。 >インスタンス メンバの場合は、スレッド セーフであるとは限りません。 とあるのですが、リクエスト処理を行うクラスはインスタンスにしていいかと とりあえずリクエストクラス内でHttpWebRequestをpublic staticで宣言してみます
19 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:21:53 ] 駄目だコリア
20 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:23:05 ] そういう相互コールみたいなマネするとデットロックしやすいから構造上避けた方がいいわ…
21 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:27:13 ] >>17 確認君で、ってことは、ルーター環境? それなら、NAT で ポート転送設定しないと。
22 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:28:27 ] わかってないなら、マルチスレッドなんて使わなきゃいいのに。
23 名前:デフォルトの名無しさん [2009/09/22(火) 01:29:46 ] >>9 shinshu.fm/MHz/95.83/a02138/0000025041.html のリンクにimmを利用したテキストボックスの定義が記述されているのですが、 どう使えば変換前の文字列を取得できるのかが分かりません。 教えていただけないでしょうか(T_T)。
24 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:30:05 ] >>19 その通りです public static で宣言したけど駄目でした orz >>20 そうですね ヘッダーを調べてデータサイズの大きさのByte配列を用意してみます タブブラウズは同時にリクエストしてますが、あれはどういう仕組みなんでしょうかねえ・・・ 悔しいなぁ やはり一気に読み込むんでしょうか?
25 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:31:30 ] >>22 わかろうと努力してるので・・・どうか生暖かく見守ってください ><。。
26 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:31:37 ] >>23 これ見てわからないなら、あきらめなよ。
27 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:31:48 ] 普通にリクエストするスレッドを複数立ててるだけだろ
28 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:35:36 ] >>27 メイン処理クラスで private Thread myThread; private void ThreadFunction() { GoogleRequest myThreadClassObject = new GoogleRequest(this); myThreadClassObject.GetMap(GSParam); } は、やっているんですが・・・すみませんそのこときちんと書いてありませんでした
29 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 01:37:13 ] しまった コピペする場所間違えました public void GetMap() { myThread = new Thread(new ThreadStart(ThreadFunction)); myThread.Start(); }
30 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 04:29:05 ] GoogleRequestがstaticのMemoryStream持ってんだろ 駄目に決まってんじゃん というかstaticの意味分かってるのか
31 名前:デフォルトの名無しさん [2009/09/22(火) 08:46:22 ] >>23 ですが、 このテキストボックスを用いてどこから変換前の文字列を取るのか分からないんです。
32 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 09:32:33 ] >>30 あーもしかして、スレッドをスタートするときのGoogleRequestインスタンスの中のstaticって共有されるのが常識でしたか クラスをStaticにしたらシングルトンになると思い込んでたもので・・・ static=静的 でしたっけ?プログラムが終了するまで存続が補償されてるメモリってことですよね?
33 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 09:49:18 ] 起動時に実体を1つだけ生成し、 スコープを抜けても値が保持される
34 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:00:49 ] 静的クラス と シングルトン は全くの別物。 シングルトンをやりたいなら静的クラス メンバを使ってこんな感じで書けばいい。 public class Singleton { private static readonly Singleton instance = new Singleton(); private Singleton() {} public static Singleton GetInstance() { return instance; } }
35 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:14:43 ] >>33 するとクラスのインスタンスの中のstatic変数はインスタンス同士で共有されるってことですか >>34 シングルトンと静的クラスは違いますね おおざっぱな言い方してすみませんでした > 静的メンバ 静的なメソッド、フィールド、プロパティ、またはイベントは、クラスのインスタンスが作成されていないときでも クラスで呼び出すことができます。クラスのインスタンスが作成されている場合は、これらを使用して 静的メンバにアクセスすることはできません。静的フィールドと静的イベントのコピーは 1 つのみ存在し、 静的メソッドと静的プロパティは、静的フィールドと静的イベントにしかアクセスできません。 静的メンバは、多くの場合、オブジェクトの状態に応じて変化しないデータや計算を表すために使用されます。 やっと自分の勘違いがわかりました。 ありがとうございました。
36 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:15:44 ] >>34 これって別のマシンからコールしてもシングルトンですか?
37 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:20:19 ] 何を言ってるのかね?
38 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:26:41 ] クラスメンバのメモリストリームのstaticをはずしたらうまくいきました 最初のエラーはクラスメンバのメソッドのの中にstaticでメモリストリームが宣言してありました これはサンプルのコピーが原因でした その宣言をstaticのままクラスメンバに移したのが間違いでした クラスメンバであればクラス内ではグローバル変数のように使えるのでメソッド間でのやりとりに問題は ないはずなのに安易にstaticを使ってしまいました 見当違いな質問を繰り返してご迷惑おかけしましたが、やっとわかりました みなさんありがとうございました
39 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:28:10 ] なんか非同期リクエスト使ってるぽいが、フローが複雑になるしお勧めしないよ。 単に起動したスレッドで普通に同期的に処理することをすすめる。 そうすれば、素直に作ってれば変にstaticで共有してしまったりなんてことは起こらない。 リクエスト自体を非同期でやろうとすると難易度が跳ね上がるし、 実質あまり変わらないから意味もない。 普通は同期リクエストで十分。
40 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 10:41:58 ] >>39 確かにリスクは大きいですねえ マルチスレッドで動くダウンローダーのような効率化に挑戦したかったものでつい・・・ アドバイスありがとうございました
41 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:03:36 ] なんて言うのかな、要は最大限の効率を求めないなら、 普通にスレッド作ったりスレッドプールで処理するだけで十分てこと。 ああ、ただ、非同期リクエストだとキャンセルが可能だったかな。
42 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:30:09 ] >>41 はい、ふつうならマルチスレッドで同期リクエスト動かせばいいって話ですね!
43 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:42:45 ] System.IO.Path.GetFileName(path); とおなじようにURLををファイル名のみゲットしたいです。 かんたんな方法はありますか? いま考えつくのは、Split('/')で、forでLength-1を取得とかかな〜、と思っているんですが。
44 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:47:08 ] Path.GetFileNameで十分だと思うが
45 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 11:50:04 ] クエリ文字列のことを考えるとUriインスタンス作ってLocalPathに対してPath.GetFileNameだな
46 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 12:46:18 ] パス情報はどうするべきか
47 名前:デフォルトの名無しさん [2009/09/22(火) 13:38:35 ] メモ帳やエクセルなどで検索するとFocusが検索フォームに在るにもかかわらず テキストボックスやエクセルシートの検索ワードが選択されて強調表示されますよね? アレってどうやるんでしょう? SelectedだとFocusがないので強調表示されませんでした。
48 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 13:45:20 ] C#の文法的なことではなくて、フォームデザイナの使い方などを簡単にまとめたサイトはありますか?
49 名前:デフォルトの名無しさん [2009/09/22(火) 14:41:26 ] C# というよりは UNRAR32.dllの質問なのかもしれないが、助けて [DllImport ("unrar32.dll", CharSet=CharSet.Auto)] public extern static ushort UnrarGetVersion(); [DllImport ("unrar32.dll", CharSet=CharSet.Auto)] public extern static int Unrar(IntPtr hWnd, string szCmdLine, string szOutput, uint dwSize); public static void Main() { System.Console.WriteLine( Decompressor.UnrarGetVersion() ); /* UNRAR32.dllのバージョン 12が返る */ System.Console.WriteLine( UnrarQueryFunctionList(1)); /* Unrar APIが使えるか。True */ System.Console.WriteLine(Decompressor.Unrar(IntPtr.Zero, "-x " + @"C:\test.rar", "", 0)); /* ERROR_COMMAND_NAME (0x801C) が返ってくる */ } コマンドがおかしいって怒られちゃうの。なんで?
50 名前:49 [2009/09/22(火) 14:43:17 ] 何をしたいか書き忘れてますた。 C:\test.rar をただ単に解凍したいだけっす。
51 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 14:59:07 ] 第2・3引数ばLPCSTRなのにCharSet.Autoじゃダメだろ
52 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 15:01:43 ] コマンドがおかしいんだろ。
53 名前:49 [2009/09/22(火) 15:06:08 ] >>51 とっぱらったら出来た。 理由は自分で調べるお。ありがと!
54 名前:49 [2009/09/22(火) 15:10:50 ] CharSet.Autoにすると、NT系ではunicodeのバイト列としてdllに渡しちゃうってことでおk?
55 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 15:27:15 ] そう
56 名前:49 [2009/09/22(火) 15:33:47 ] >>55 ありがとう!
57 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 16:23:11 ] CharSetオプション書かないとAnsiなのに AutoだとUnicodeにされるのは1度戸惑ったことあるな
58 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 17:34:07 ] そんなので戸惑う? MSDNに書いてあるまんまで解釈の余地とかないと思うんだけど・・・
59 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 17:57:34 ] そんな事いったらこのスレいらなくなるだろ。 初心に戻ろうぜ。
60 名前:デフォルトの名無しさん [2009/09/22(火) 19:23:56 ] 親フォームに、publicイベントを記述しました。 その親フォームから呼ばれる別のフォームで、そのイベントを実行するにはどうすればよいでしょうか。 教えてください−−−!!!!!
61 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 19:30:24 ] その「別のフォーム」とやらにデリゲート渡しとけばいいじゃん
62 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 19:32:45 ] 一体何をどうやったら>>60 なことになるんだ?
63 名前:デフォルトの名無しさん [2009/09/22(火) 19:34:37 ] おやからよばれるフォームに親のインスタンス渡してやれば?
64 名前:デフォルトの名無しさん [2009/09/22(火) 19:52:32 ] ありがとうございます。 具体的には、親に private void Click(object sender, EventArgs e) { MessageBox.Show("またクリックしたの?"); } を記述しました。 親のボタンを押した先のフォームのボタンコントロールのクリック時に このイベントを実行させようと思いましたが、 プロパティウィンドウのイベント欄のclickに、 「Click」が表示されません。 どうすればよいのでしょうか。
65 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 19:56:49 ] 答え読んでから書き込め
66 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 20:03:03 ] なんでもかんでも親Formに書こうとすんなよ
67 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 20:06:27 ] >>64 >具体的には、親に (略) >を記述しました。 それを呼び出す先のフォームに書けばいい。 動くのを確認したらスコープとかアクセス修飾子でググってよ。
68 名前:デフォルトの名無しさん [2009/09/22(火) 20:57:31 ] すみません。 >>61 さんや >>63 さんがおっしゃっていることは具体的にどこに何を記述する必要があるのでしょうか。 privateからpublicにし、 子フォームに親のインスタンスを生成しましたが、 プロパティウィンドウの中にやはりそのイベントハンドラが表示されません。 Desiner.csに直接デリゲートを書き込みしようとしましたが、 thisをnullに置き換えることができませんといったエラーになってしまいます。
69 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:01:37 ] イライラ
70 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:09:11 ] どうしても書くとしたらこうかな public partial class Parent : Form { public Parent() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { new Child(this.Click).ShowDialog(); } private void Click(object sender, EventArgs e) { MessageBox.Show("またクリックしたの?"); } } public partial class Child : Form { private EventHandler eventHandler; public Child(EventHandler eventHandler) { InitializeComponent(); this.eventHandler = eventHandler; } private void button1_Click(object sender, EventArgs e) { this.eventHandler(this, EventArgs.Empty); } }
71 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:11:45 ] private void Click(object sender, EventArgs e) { MessageBox.Show("またクリックしたの?"); } だからなんで上をChildに書くって発想ができないの? マウスが机から落ちてしまうとか言ってる年寄りにパソコン教えてる気分だわ。
72 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:13:29 ] OTITSUKEYO…
73 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:13:52 ] >>70 new Child(this.Click).ShowDialog(); は Form child = new Child(); child.Click += this.Click; child.ShowDialog(); の方がいいな。
74 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:14:38 ] すまん、ボタンのイベントだったな。>>73 は気にしないでくれ。
75 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:15:20 ] >>71 そうカリカリすんなよ。 お前みたいな短気はこのスレに向いてないぜ?
76 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:15:53 ] 明日で連休終わりと考えると気が立ってくるのさ。
77 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:16:56 ] 明日休出の俺に謝れ
78 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:21:59 ] カリカリしてる人はスレタイ読んで落ち着いてくれ
79 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:24:50 ] 初心者相手にオレTUEEEしたい人が、なかなかうまく自分の力を見せつけられずイラだっているのです
80 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 21:28:42 ] カリカリ
81 名前:デフォルトの名無しさん [2009/09/22(火) 22:53:26 ] >>71 親にたくさん、日付チェックのイベントや数値変換のイベントを書いているんです。 同じロジックを、また子の上に書きたくないんです。
82 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:54:41 ] 親に書かずに、共通クラスに書けばいいだろ・・・
83 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:56:52 ] とりあえずイベントとメソッドの区別はつけようぜ どうせ全ての処理はイベントハンドラの中に書かないといけないと思ってるんでしょ
84 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 22:57:30 ] >>81 どっかにソースうpしろ。 ソースがあった方がみんなアドバイスし易い。
85 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:01:41 ] たぶん地獄絵図なソースだと思うけど
86 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:05:43 ] 言語がよくわかってないままなんとなくVC#触ってる人って たいていフォームを複数作ろうとしたら行き詰まるよね
87 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:06:10 ] VC?
88 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:07:42 ] MainFrame frm = (MainFrame)this.Parent.Parent.Parent.Parent.Parent; frm.anotherControl.Handler();
89 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:08:25 ] イラッ
90 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:11:40 ] ご先祖様にも程があるな
91 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:36:54 ] IF文を知らなかった俺はgotoだけでなんとかしたことがあるけど、 今となってはあんな化け物コード自分でも読めない。
92 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:42:56 ] 言語仕様すべて頭に入れてからコード書くってわけにもいかないもんね
93 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:44:19 ] どうやってgotoで条件分岐するんだろう
94 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:50:39 ] 多分Fortranで算術GOTOじゃね?
95 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:50:53 ] ON ERROR GOTO
96 名前:デフォルトの名無しさん mailto:sage [2009/09/22(火) 23:57:10 ] 全部デリゲート配列にすれば条件分岐無くせるな
97 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:20:21 ] >>96 State state = new State(); EventDelegate[] events = new EventDelegate[5901234]; ・・・ void LoopMain() { Loop: events[state.Next](); goto Loop; } ・・・ void Event3203289() { int hoge = state.hoge; // state.Hoge が <2000、==2000、>2000 で分岐 state.Next = 3203291 + System.Math.Sign(state.Hoge-2000); } void Event3203290() { ・・・ ですね。邪悪で素敵w
98 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 00:40:50 ] うげぇ…w
99 名前:デフォルトの名無しさん [2009/09/23(水) 01:07:44 ] まじキチ…ユダヤが人工地震を起こすぞ 【緊急情報カクサンよろしく】 ついに来ました。 大きい動きです。250nT超えてきました。ほぼ間違いありません。もう一度言います。 友人、知人、親類縁者、あらゆるつながりを駆使して巨大地震がくることを教えて下さい。 四川地震より大きいのが来る可能性があります。 g ★olde★ntam★atama.b★lo★g84.fc2.c★om/ ★★★★★危険度MAX★★★★★ ★★★★★★★★★★★★★★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★ ★★★★★★★★★★★★★★★★ ★★★★★危険度MAX★★★★★ 警告!連休中の21、22、23日が危ない!かも2 live24.2ch.net/test/read.cgi/eq/1 ★253494015/ 【大気イオン】e-PISCO Part11【また延長】 live24.2ch.net/test/read.cgi/eq/1 ★252991726/ 本当に地震が来たら、犯人は特権階級全員だということ2
100 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 01:20:13 ] Cの関数ポインタの配列みたいにデリゲート配列使ってみたけど オーバーヘッドが大きいようで条件分岐版よりも遅かった事がある
101 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 10:40:45 ] >>99 ボキュはマジキチでしゅ、まで読んだ。
102 名前:デフォルトの名無しさん [2009/09/23(水) 14:24:10 ] >>47 をおねがいします。 メモ帳などがFocusを持たずに選択状態を描画している仕組みが どうしてもわかりません><
103 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 14:35:44 ] >>102 リファレンスでHに関係するモノを調べるといいと思うよ。
104 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 14:37:02 ] エッチ///
105 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 14:41:31 ] >>102 HideSelectionをFalseじゃないの?
106 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 15:52:02 ] >>103 >>105 うほっ!ありがとう!
107 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 16:34:29 ] マルチかよ
108 名前:デフォルトの名無しさん [2009/09/23(水) 18:46:01 ] はじめまして。けん一と申します。 文字列を選択しているときに、濃青色に反転しますが、 この色を変えることは可能でしょうか?
109 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:49:54 ] デザイナのプロパティウィンドウを見ろよけんいち
110 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 18:50:38 ] 無理。
111 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:13:21 ] ,.――――-、 ヽ / ̄ ̄ ̄`ヽ、 | | (・)。(・)| | |@_,.--、_,> ヽヽ___ノ あきらめるでござる
112 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:46:21 ] ケンイチ殿wwwwwwwwwww
113 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 20:50:19 ] ケンイチ氏な
114 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:33:24 ] C#で、DonutRAPTのタブバーのような機能ってあるのでしょうか? ttp://up3.viploader.net/ippan/src/vlippan011148.jpg
115 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:36:41 ] フラットスタイルのタブ?
116 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:49:08 ] >>114 少なくともGUI部品としてのlook&feelはToolStripButtonで同じことができるんじゃない? っていうか、なんか10年前のGUIだなそれ
117 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:50:12 ] ToolStrip使うことになるかな それただのReBarに配置されたボタンだし
118 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 22:51:45 ] ツールストリップにボタン置いてくだけじゃね?
119 名前:デフォルトの名無しさん mailto:sage [2009/09/23(水) 23:09:56 ] tabControlでのフラットボタンの、選択した時と同じ見た目にする手段か、タブバーそのものの機能があればと思っていたのですが、 やはりtoolStripにボタンを配置させて、タブと同じような制御をさせる方法しかないようですね。 ご回答ありがとうございました。
120 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 00:45:55 ] クラスを作る側なんですが、メソッドの引数がXXXだった場合は○○○例外を投げる みたいな一覧というかガイドラインはどこかにないでしょうか? .NET Frameworkに定義済みの例外がたくさんあって、どれが適切か毎回悩んでしまいます。
121 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 01:14:48 ] >>120 ttp://msdn.microsoft.com/ja-jp/library/ms229007.aspx
122 名前:デフォルトの名無しさん [2009/09/24(木) 01:25:57 ] >>109 けん一です。 皆さんお返事ありがとうございます。 選択色のプロパティウインドウにありますか??
123 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 01:26:55 ] >>121 ありがとうございます。そこを参考にして設計してみます。
124 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 02:40:16 ] >>120 Argument派生、InvalidOp、NotSupported、NotImpl以外は殆ど使わない気がする
125 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 08:50:37 ] 確かに つかほとんどArgument
126 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:03:49 ] オブジェクトをディープコピーしたいとき GetCloneメソッドを定義してごりごり書くのと シリアライズしてコピーを作るのと方法がありますが オブジェクトには10個のプロパティと ジェネリックリストが3つ入ってます どっちがいいでしょうか?
127 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:11:52 ] 好きなほう使えば?
128 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:13:39 ] すみません。質問です。 System.Net.WebClient.DownloadData()を実行するときに ノートンやウイルスバスターなどのセキュリティソフトの FWの影響を受けることはありますか? うける場合どういう対処を取るのが定石ですか?
129 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:15:26 ] FWで止められたらそのソフトの通信を許可してやれば良い
130 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:37:10 ] 影響受けなきゃただの役立たずじゃねーか
131 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 14:52:11 ] ウィルスソフト作らないでください
132 名前:デフォルトの名無しさん [2009/09/24(木) 14:54:06 ] >>130 ワロタw
133 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 18:53:52 ] 質問です。 asp.netで 複数のページ(.aspx)が定義してあります。 これらを直接呼ばずにHome.aspxという窓口を準備しておいて、 ActionというQueryStringで判断し、 Response.RedirectかServer.Transferで 対象のページに飛ばそうと思っています。 Home.aspx内でRequerst.QueryStringのコレクションをそのまま遷移先のページへ渡したいのですが どうすればいいのかわかりません。 遷移先のURLに直接記述するしかないのでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 19:45:36 ] お勧めの文献教えてたもれ
135 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 20:09:53 ] 今見てるんだけど文法からはじめるVisualC#入門って分かりやすい かなり初心者向けだけどね
136 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 21:08:20 ] >>133 セッションにでも突っ込んで渡せば?
137 名前:デフォルトの名無しさん [2009/09/24(木) 21:52:22 ] 商品販売管理システムを作っている。 顧客、商品の項目にフリガナを自動入力させられたら利便性が高くなるだろうと頑張った。 いろいろ調べて、自動でフリガナが入るようになった。 しかし(-_-;)。 タブやシフトタブで項目をいったり来たりしていたら、 顧客に自動で入ったフリガナがなぜか商品のフリガナ欄に表示されたではないか。 これはたまに起こる現象であり、同じ操作をしても出ない場合がある。 APIを活用しているらしいが、なぜだか分かる? 教えてちょ (-_-;)。
138 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 21:53:45 ] どんなコード書いてるかもわからずに考えろと? バカじゃねーの?
139 名前:デフォルトの名無しさん [2009/09/24(木) 22:03:23 ] 知らないなら黙っててください。
140 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:07:06 ] コードが悪いんだろハゲ
141 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:18:33 ] >>135 これかな? www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000032217041&Action_id=121&Sza_id=B0 明日本屋回ってみる。 他文献引き続きぷりーず
142 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:39:07 ] >>137 なぜ起こるのか?簡単すぐる
143 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:51:48 ] >>139 APIスレから出てくんな
144 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:52:50 ] >>134 C# の本ではないけど。 自分は C++ MFC から C++/CLI に移った時に使った本。近い感じならいけるかも。 C++/CLI がわかれば C# もほとんどなんとかなる。 ※移行の際に参照した本はこれ一冊 実践C++/CLI 極めるための基礎と実用テクニック
145 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:24:20 ] >>144 それはちょっと敷居が高そうです><
146 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:26:11 ] C#から他のアプリを起動させているんですが、タスクバーには表示させたくないので ProcessWindowStyle.HiddenでProcess.Startしてみたところ タスクバーに表示されなくなったのはいいのですが Process.CloseMainWindow()が使えなかったり期待外の動作でNGでした。 NaiNai(ttp://www.vector.co.jp/soft/winnt/util/se317779.html)のように 他のアプリをタスクバーに表示させないようにするにはどうやるんでしょうか?
147 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:56:05 ] >>146 普通に起動して、ITaskbar インターフェイスを利用して消す。
148 名前:デフォルトの名無しさん [2009/09/25(金) 00:02:59 ] >>142 なぜなの?教えてください。
149 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:04:22 ] バグがあるから。
150 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:04:39 ] >>147 ありがとうございます。 ITaskbarList がそれですかね? 調べてみます。
151 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 00:13:48 ] >>150 それそれ。間違えてた。すまん。
152 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 01:19:14 ] 教えてください。 本当に困っています。 どうすればよいでしょうか?
153 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 01:20:20 ] 死ね
154 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 01:25:15 ] 解決しました ありがとうございます
155 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 03:05:49 ] テキストボックスの枠の色はどうやって取得すればいいですか? アプリケーション定義のコントロールで使いたいんですが、できれば決めうちでしたくないので。
156 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 10:39:48 ] 入力された文字列が正しいかヴァリデーションしたいのですけれど、 Parseとかでチェックして良いのでしょうか?CF3.5です。 try { int tmp = Int32.Parse(string_num); } catch { } こう書いて、tmpがどこからも参照されない場合、 リリースビルドで最適化によって上記ロジック自体が消えたりします?
157 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 10:47:02 ] それ消すのは過剰な最適化だな つかcatchして何もしない、tmpも使わない、ならValidationにならない気がするが しかしTryParseがないとは面倒だのう
158 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 10:50:24 ] すみません。catchの中ではエラーメッセージを生成します。 起動時に全ての入力を一括チェックする方法だと、 tmpは特に使わない感じになると思うのですが。 例えば、App.configの中身を精査するみたいな。 まぁ、ConfigurationManagerも無いので作るのですが‥‥
159 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:21:55 ] Int32.Parse(string_num); だけで良いんじゃないか
160 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:24:32 ] asyncCallってなんて読むの? えーしんくこーる?
161 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:37:53 ] >>159 たしかに試してみたらその通りでした。 パース文を2か所に書きたくなかったので、 int tmp = 設定クラスのプロパティ にしていたんですけれど、この場合はプロパティだけだと エラーになるので‥‥ プロパティが呼ばれるたびにParseせずに内部で保持しろ という気もするのですが、 どうせ数回しか参照されない値の場合、 内部で保持するほどのものでもないかなと‥‥
162 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:39:42 ] >>160 Ajax をアジャックスと読むならアシンク、エイジャックスと読むならエイジャックスと読めばいいと思うよ。 好みの問題。
163 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 11:40:44 ] > エイジャックスと読むならエイジャックスと読めば エイジャックスと読むならエイシンクと読めば、の間違い。
164 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 13:09:02 ] >>160 英語発音ならエイシンクですな。
165 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 13:14:10 ] エイシンクロナス? アシンクロナス?
166 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 14:22:09 ] だから、英語圏人ならエイシンクロナス。 日本人ならアシンクと言う人は沢山いる。
167 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:49:56 ] >英語圏人ならエイシンクロナス。 ダウト
168 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:51:36 ] まあこれ以上はこっちでやってくれ nullをヌルと言う人って何なの? pc12.2ch.net/test/read.cgi/tech/1203474071/
169 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 16:56:12 ] this.TopMost = true; の逆で、いつも背面に表示したいのはどうやるの?
170 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:28:10 ] >>165 どっちでもいい
171 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:29:50 ] >>169 他のをTopMost
172 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:30:11 ] どなたか155わからないでしょうか。
173 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:46:02 ] >>171 IEやエクスプローラもあるから、それはちょっと無理です…。
174 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:48:32 ] >>173 可能です
175 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 17:56:39 ] >>174 え!? 自分で作ったプログラム以外をTopMostにできるんですか?
176 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 18:06:34 ] たった今いいことあった! マックのドライブスルーから帰ってくると、家の車の下にネコ発見! あれ、うちのネコじゃないなあ・・・でもどっかでみたことあるな・・・ と思い、車の下を覗き込みと逃げずにこっちをみている まさかと思い、1年くらい前に野良猫に追いかけられ行方不明になった猫の名前を呼んでみた すると・・・「にゃ〜ん」と甘えた声が! すっごく弱虫で甘えん坊なそいつが1年も生きていたなんて・・・ 名前を呼んだら、ビクビクしながらこっちに寄ってきて、身体を撫でたらビクっとしてまた車の下に隠れようとしたけれど 何度も何度も名前を呼んで声かけたらにゃ〜んにゃ〜んと寄ってきて頭を撫でさせてくれた ものすごいガリガリに痩せてたけど、抱き上げると前と変わらず、頭をすりつけて甘えてくる もう絶対死んだと思ったけど、本当によかった!
177 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 18:42:45 ] どこの誤爆だ。w でもよかったと言っておこう。
178 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 19:12:10 ] コピペ
179 名前:デフォルトの名無しさん [2009/09/25(金) 19:31:53 ] 質問です。 今、webブラウザ(?) を作ろうとしています。 テキストボックスにURLを入れてボタンをおしてページに飛ぶのは出来たのですが、 今みているページのURLをテキストボックスに入れることが出来ません。 IEみたいに、ページのURLを表示する事は出来ませんか?
180 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 19:35:02 ] WebBrowser.Document.Url
181 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 20:07:12 ] >>169 デスクトップの子供にする >>171 SystemColors のメンバにいない?
182 名前:デフォルトの名無しさん mailto:sage [2009/09/25(金) 23:54:27 ] >>175 WndProc をオーバーライドして Zオーダが変わりそうになったら Zオーダを最背面にしちゃえばよかったはず
183 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:00:25 ] >>181 > デスクトップの子供にする これ詳しく頼む
184 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:07:20 ] 認知偽装というやつか
185 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:12:15 ] ドライブスルーに使った車と、下にネコのいた車とは別なのだろうか 同じ車だとしたら、車庫入れの際にネコが轢かれなくて良かった
186 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 00:52:38 ] >>181 (0x7f, 0x9d, 0xb9)とSystemColorsのメンバとすべて比較してみましたが、いずれも違いました。
187 名前:デフォルトの名無しさん [2009/09/26(土) 01:19:44 ] ある場所に自動で入れたフリガナが、 全く別の項目のフリガナに入っちゃうってどういうことよ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
188 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 01:35:45 ] うるせーよ馬鹿
189 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 01:35:52 ] だあらぁぁぁ、どっかでそのコントロールに入れてるんだよ君が!!!!!!!
190 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 03:36:29 ] TextBox継承してTextプロパティ上書きしたコントロールにでも置き替えてブレークポイント貼ってみろ
191 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 07:20:05 ] >>183 SetParent(GetDesktopWindow()); だったかな。
192 名前:デフォルトの名無しさん [2009/09/26(土) 09:15:02 ] >>190 なんでそんなことするの? 継承とフリガナに関連性があるの (*_*)?
193 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 09:31:27 ] >>192 死ねよハゲ
194 名前:デフォルトの名無しさん [2009/09/26(土) 10:04:01 ] >>193 うんこ野郎
195 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:14:02 ] デバッグ放棄するならプログラム向いてない もう辞めた方がいい
196 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:34:50 ] ポインタや、参照といったことから、可能性を追求できるぐらいの知能は必要。 >>192 イベントを取得して、どっから送られてきたかとか、確かめることができる。 それをやれって言ってくれてる親切な人だぞ。
197 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:41:13 ] バカには何を言っても無駄。
198 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:43:20 ] このゴミ虫殺せよ
199 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:47:20 ] >>186 そりゃ残念。あとは、実際に描画して取得するくらいかね。
200 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 10:56:07 ] >>196 あほかww
201 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 13:16:44 ] とんでもない無能っぷりだな もうほっとけよ
202 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 14:23:32 ] >>196 が心配なのでTextChanged
203 名前:デフォルトの名無しさん [2009/09/26(土) 15:46:06 ] ACCESSのmdbをC#で読み書きするプログラムを作ったんですよ。 で、ACCESSが入ってない環境で動かせるかどうか確かめたら、 OleDbPermissionのアクセス許可に失敗したようなエラーが出ました。 mdbってACCESSはいってなくなてもC#で操作できるんだよね?? アクセス許可に失敗ってどういうこと? ACCESSが入ってる環境だと問題なく動くんですが… 誰かアドバイスください。
204 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 15:53:22 ] MDAC が必要。
205 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:01:51 ] >>203 ACCESSつかってcdbを読み書きするプログラムだったら ACCESS入ってないと無理なのでは? 初心者なので間違ってたらすいません。
206 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:07:12 ] >>205 そんな事ないんじゃね? DVD管理ソフトがC#で書かれているのがあったけど ACCESS入って無くても読み書きできたぞ もちろんACCESSから読む事もできる
207 名前:デフォルトの名無しさん [2009/09/26(土) 16:14:23 ] >204 MDAC自体は入ってるようなんですが…
208 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 16:21:29 ] おまえそれネットワーク共有とかから実行してないだろうな。
209 名前:横から mailto:sage [2009/09/26(土) 16:45:36 ] >>208 俺も詳しくないんで確認だけど、それはイントラネットのネットワーク共有ドライブ (例えばK:)にある実行アプリを実行しているのではないか、という意味だよね。 mdbファイルはどこにあってもアプリに部分信頼以上の権限があればいい、 という認識でOK? (MDACのバージョンによっては完全信頼)
210 名前:デフォルトの名無しさん [2009/09/26(土) 16:55:27 ] ネットワーク共有っていうか、 環境自体はシンクライアント端末なんだけど、 それは関係あるの?
211 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 19:14:47 ] そういうときは、完全信頼を与えるとか、マイコンピュータから実行してみるとか、 その辺を試すのがスジ。
212 名前:デフォルトの名無しさん [2009/09/26(土) 20:01:30 ] 完全信頼を与えるって、どこでどうすればできますか
213 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 20:03:38 ] caspol だろ?
214 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 21:07:07 ] もう悪いこと言わないから .NET Frameworkを3.5SP1にしてしまえ
215 名前:デフォルトの名無しさん [2009/09/26(土) 22:20:44 ] >>198 ハゲ野郎
216 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 22:34:33 ] しかし、3.5SP1て ・イントラネットでもマイコンピュータゾーン ・厳密名付きアセンブリでもデフォルト検証なし いい感じに端折ってきてるよなw
217 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:13:17 ] C#で配列のスライシングと同様のことをするにはどうやるんですか?
218 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:22:55 ] >>217 Array.Copy メソッド (Array, Int32, Array, Int32, Int32) のことかな?
219 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:36:26 ] >>217 LINQ
220 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 21:45:20 ] >>218 できました ありがとうございました
221 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:14:38 ] スライシングというなら new[] { 0, 1, 2, 3, 4 }.Skip(1).Take(3).ToArray() の方がそれっぽいな
222 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 22:19:42 ] 気持ち悪いな
223 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 23:28:03 ] var source = new[] { 1, 2, 3, 4, 5 }; // Linq var copyL = source.Skip(1).Take(3).ToArray(); // Array.Copy int[] copyAC = new int[3]; Array.Copy(source, 1, copyAC, 0, copyAC.Length); 実際に使ってみると、Array.Copyのほうがゴチャついてると思う。
224 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:16:03 ] VisualC#2008で質問です。 タスクバーのなかに検索枠を作りたいです。 以前はBandObjectでできたらしいのですが、バージョンが古くて動きません。 ToolStripというのがそれらしいんじゃないかと考えました。 Formのなかに配置してみたところ、感じとしてはそれっぽいんだけど、コンパイルしたところ、単にFormにToolStripが配置されているだけで、タスクバーにもっていっても登録できません。 (1)ToolStripでタスクバーのなかに検索枠を作ることはできますか? (2)できないとしたら、なにをどうすればよいでしょう? ご教示よろしくお願いします。
225 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:23:38 ] まっとうなやりかたなら、BandObject 以外の方法はないだろ。
226 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 00:31:36 ] アセンブリの生成に失敗しました -- 参照されたアセンブリ 'Interop.SHDocVw' は厳密な名前を持っていません。 をどう解決すればいいですか?
227 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:01:09 ] タイプライブラリインポータか何かで付けられなかったっけ
228 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:13:24 ] 初歩的なことですみません //応答データを受信するためのStreamを取得 System.IO.Stream st = webres.GetResponseStream(); //データを読み込む int readSize = st.Read(bufferData, 0, bufferData.Length); while (readSize > 0) { //データが読み込めた時 //読み込んだデータをMemoryStreamに保存する requestData.Write(bufferData, 0, bufferData.Length); readSize = st.Read(bufferData, 0, readSize); } Bitmap BmpSource = new Bitmap(requestData); 最後の行で「使用されたパラメータが有効ではありません」とエラーがでます 一昨日こんな感じでうまくいってたコードがHDDクラッシュで涙目です 時間をかけてやりたいのですが、ショックが大きすぎて考えもまとまりません こんな簡単なことですみません ><。
229 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:16:30 ] ストリームの現在位置が一番後ろだからじゃね
230 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:16:32 ] ありがちなネタとしては ストリームのポインタ巻き戻してないんじゃね
231 名前:230 mailto:sage [2009/09/28(月) 01:16:57 ] ぬあ 被った… 2秒差じゃしょうがないよね
232 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:17:53 ] あ、自己解決しました 人に見てもらう気持ちでながめるだけでちがいますね ひとりだとこんな簡単なことで ><。
233 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 01:19:05 ] せっかくお答え頂いたので訂正箇所を requestData.Write(bufferData, 0, bufferData.Length); readSize = st.Read(bufferData, 0, readSize); 第三パラメータがあべこべでした ありがとう!
234 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 02:36:40 ] バグってるぜ。
235 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 09:00:03 ] 何がバグってるかというと、 1行目もreadSize分だけ書き込むようにしなきゃダメってこと。
236 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:03:35 ] >>235 ですです ありがとうございました
237 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:09:08 ] ああごめんそこを直したって話だったか。
238 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:10:34 ] 初めて学ぶプログラミング言語としてC#は適当ですか? それともVisualBasic.NETのほうがよいでしょうか?
239 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:12:26 ] どっちでも大して変わらない。
240 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:13:10 ] VBは変な癖がつくからやめとけ C#は入門者向けの本が少ないから微妙 .NETでなくていいならJavaにしとけ
241 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:22:25 ] VB.NET は言語的に無理やり感のある部分があるから .NET にするなら C# の方がよいと思う。 個人的には Python をすすめたいけど 3.0 が出てそんなに経ってないから 2.x 系の情報と混在して初心者には混乱しやすいかも。
242 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 11:28:31 ] 俺は、ほぼ最初にC#覚えた あんま問題は無かったな その前にCとjavaを軽く触ったからかも知れんが
243 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:04:04 ] >>240 >C#は入門者向けの本が少ない これは微妙な気がする 後は同意
244 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:08:20 ] IronPython使ってみたけど C#の方がいいよ
245 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:16:03 ] 俺もC#→IronPython→C#と出戻り
246 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:25:03 ] IronPythonはC#から乗り換えるようなもんじゃないだろ C#の補助だ
247 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 13:43:06 ] 補助つってもどういうときに使うの? 俺はファイルのバックアップとかの作業の自動化のためにCPythonで小さいスクリプト組んでるけど
248 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 15:41:18 ] VBから来たおれは最初;をつけるのがめんどくさかったけど、今はこれのありがたさがわかる
249 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 15:55:46 ] 逆にマクロとかで;付けて怒られる
250 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:08:55 ] >>248 VBは末尾の_に発狂する。
251 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:16:24 ] 末尾の_ってなに?
252 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:17:02 ] VB10で_は省略できるようになるよ まあVS2010ではC#4.0でCOMサポートの強化やdynamicによって 今までVBの方がやりやすかったことが完全に無くなるわけだけど
253 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:23:23 ] >>251 VBは(っていうかC系統以外の言語の大半はそうだけど)改行コード = 行の終わりになってる。 だから、(文字列的に)改行しても(文法的な)行を継続したい場合は、‘_’で改行コードを エスケープする必要がある。
254 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:34:34 ] >>253 > VBは(っていうかC系統以外の言語の大半はそうだけど)改行コード = 行の終わりになってる。 そんなことねーだろ。
255 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:39:20 ] まあ少なくとも歴史的にはそうなんだけど、 そのあたりは水掛け論にしかならんから議論しても無駄だね。
256 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:40:58 ] 水掛け論って。 メジャーな言語をいくつか思い浮かべればわかる話。
257 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:44:44 ] ALGOLの影響下にある言語はフリーフォーマットだろうし、lisp系ももちろん一行一文じゃないし、 関数型だってそうだし、一行一文って、COBOLとかFORTRANとその影響下のBASICくらいじゃね?
258 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:47:22 ] アセンブラやdosのbatだってそうだよ。 だから水掛け論にしかならんて。
259 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:58:46 ] ・一行一文 アセンブラ、バッチファイルやシェルスクリプト、COBOL,FORTRAN,BASIC ・フリーフォーマット 近代的な言語のほとんど ↑みたいな感じかね 「C系統以外ほとんどは」って、水掛け論になるレベルじゃないわな。 屁理屈でねばって「ほら水掛け論だ」って、自分にも一分くらいは理があるような 口ぶりはできるかもしれんけど。
260 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:02:44 ] お前らスレタイ
261 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:53:27 ] List<class>の値をDataGridViewに表示させてるんですけど classのプロパティの値をコードから変更したら すぐにDataGridViewにも変更された値を表示させたいんですが、 今のところ dataGridView1.Refresh(); で表示させてるんですが 一般的にはどうやるんですか? もっとスマートなやり方があると思うんですが List<Test> testList = new List<Test>(); class Test { public string s1 { get; set; } public string s2 { get; set; } } private void Form1_Load(object sender, EventArgs e) { testList.Add(new Test { s1 = "a", s2 = "b" }); testList.Add(new Test { s1 = "c", s2 = "d" }); testList.Add(new Test { s1 = "e", s2 = "f" }); dataGridView1.DataSource = testList; } private void button1_Click(object sender, EventArgs e) { testList[0].s1 = textBox1.Text; dataGridView1.Refresh(); }
262 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 22:03:18 ] INotifyPropertyChanged BindingList or ObservableCollection
263 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 22:19:30 ] >>262 おぉそんなものがあったのか! ありがとうございます。調べてみます
264 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 23:47:18 ] >>252 例外フィルタがないぜ!!
265 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:04:31 ] >>262 261じゃないがthx public partial class Form1 : Form { class Test : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged(string info) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(info)); } private string s1_; public string s1 { get { return this.s1_; } set { if (value != this.s1_) { this.s1_ = value; NotifyPropertyChanged("s1"); } } } public string s2 { get; set; } }
266 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:05:13 ] List<Test> testList_ = new List<Test>(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { testList_[0].s1 = "ababa"; } private void Form1_Load(object sender, EventArgs e) { testList_.Add(new Test { s1 = "a", s2 = "b" }); testList_.Add(new Test { s1 = "c", s2 = "d" }); var customersBindingSource = new BindingSource(); customersBindingSource.DataSource = testList_; dataGridView1.DataSource = customersBindingSource; } }
267 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:25:20 ] windows movile ソフトウェアを作ってみてためしにcabファイルにしてみたんですが、 インストールに失敗します。 作成環境はVS2005です。 cabで失敗するunicodeは修正しました。 実機にcabを入れてタップすると「インストールに失敗しました」とだけ出ます。 こういう場合どうやって原因を確かめたらいんでしょうか?
268 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 00:43:47 ] すぺるみす
269 名前:267 mailto:sage [2009/09/29(火) 13:57:50 ] 解決しました ほんとにスペルミスでした ミスしたのはcabプロジェクト名 本家プロジェクトに上書きしてしまいました orz
270 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 14:06:38 ] >>268 はエスパーなのか、本当に良くあるミスなのか
271 名前:267 mailto:sage [2009/09/29(火) 14:13:12 ] 本家プログラムと同じcabファイル名にしようと思うと起こりうることかも知れません でも相当うっかりしてないとやらないと思います orz
272 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 15:09:51 ] movileのことかと思ったわ
273 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 17:30:16 ] invokeなんとか、とか、なんとかinvoke とか たんなる invoke とかいろいろあるんですけど 全部delegateってことですか?
274 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 18:22:08 ] invoke自体はただの英単語 何を指すかはメソッド次第
275 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:27:13 ] 各コントロール、フォームなどのフォントサイズを一括して変更する方法はないでしょうか?
276 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:42:53 ] >>275 君は質問の仕方から勉強する必要がありそう
277 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:53:44 ] >>275 方法1.フォントサイズを変更するコントロールすべてを一括選択した後にプロパティウィンドウでフォントサイズを変更する。 方法2.フォントなどはアンビエントプロパティなので、特に設定されていない場合(デフォルトの値)は親のコントロール(フォーム)の設定が反映されるようになっているので 親コントロール(フォーム)のフォントサイズを変更すれば子コントロールにも反映される
278 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 20:59:59 ] >>277 「フォントサイズ」なんて概念はそもそも存在しない。 その回答はない。
279 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:02:16 ] ↑君のレスは無用
280 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:13:18 ] >>279 馬鹿はすぐこれだ。 ならフォントサイズってどういう意味だよ。
281 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:15:21 ] >>280 フォントのサイズ
282 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:20:44 ] >>280 msdn.microsoft.com/ja-jp/library/164w6x6z.aspx これ以外になにが?
283 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:33:16 ] 他人をバカ呼ばわり → 逃亡
284 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:34:13 ] (・∀・)クスクス
285 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:41:53 ] >>282 お馬鹿だな。 それで、その「フォントサイズ」を>>277 の方法でコントロールに適用できるのかよ。
286 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:45:29 ] 「それじゃできない」とかいらないよ。 「こうやったらできる」って言えばいいだけ。 俺としては、方法2 で十分だと思う。
287 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:48:48 ] >>286 それは「フォント」を設定しているのであって 「フォントサイズ」(そんな概念は存在しないが)を設定しているのではないだろう。 端的に言えば、コントロールごとに書体が違う場合はどうするのか。
288 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:51:49 ] >>287 とりあえずお前はスレタイ読んで風呂でも入って落ち着けよ、な? あと、初心者スレに向いてないよ
289 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:54:26 ] >>288 俺の方から煽った覚えは無いけどね。 初心者だろうがなんだろうが、正しくないことは正しくないといってるだけだ。 このように、馬鹿ってのは決まって偉そうに人に講釈をする規範を 自分には適用しないダブスタ野郎だ。
290 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:54:32 ] >>273 一般的にはメンバやデリゲートを呼び出すことをinvokeという 純粋に言語としてのC#に話を限ると,メソッドやデリゲートを表す式の後(引数)を付けた式のことをinvocation expressionと呼ぶ
291 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 21:55:33 ] フォントサイズの概念から議論しようか
292 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:10:37 ] >>289 さっさと失せろゴミ
293 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:11:31 ] >>289 認知症か なるほど
294 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:15:02 ] eventの存在意義がわからない delegateで十分な気が
295 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:18:35 ] イベントはデリゲートのためのプロパティみたいなもの。 Javaなどではよくイベントの代わりにObserverパターンというのが使われるんだけど, それに出てくるaddListenerやremoveListenerを一つにまとめたのがイベント。 その点ではgetValue/setValueを一つにまとめたプロパティと似てる。 Observerについてはググれ
296 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:19:00 ] eventって、複数登録できるんだよな?
297 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:20:17 ] イベントは複数登録できる デリゲートは1個だけ
298 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:22:53 ] マルチキャストといって,デリゲートも呼び出し対象を複数登録できる 本来,イベントがあればaddとremoveの実装次第でどうとでもなるからマルチキャストはいらないんだが 設計当時はイベント以外のデリゲートの使用が想定されてなかったと思われる
299 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:45:35 ] >>298 さすがに最後の行はない。そういうデタラメを言っては行かん。 例えばRegex.Replaceを見よ。
300 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:53:20 ] 最後の行は言いすぎだけど今みたいにデリゲートをガンガン使うような状況は絶対に想定されてなかった 最適化しづらいだろうし戻り値の扱いとか無理があるし邪魔なだけ
301 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 22:56:28 ] delagteもなんで DelegateクラスとMulticastDelegateがあるんだよう はじめからDelegateクラスをマルチキャスト可能にしとけよ
302 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:09:52 ] private List<EventHandler> _ClickA; public event ClickA { add { _ClickA.Add(value); } remove { _ClickA.Remove(value); } } private EventHandler _ClickB; public event ClickB { add { _ClickB = Delegate.Combine(_ClickB, value); } remove { 略 ClickAのようにするのがイベントの概念としては本来の形。 でも通常,addやremoveを省略して普通にイベントを宣言するとコンパイラはClickBのようなコードを生成する。 つまり「どうせデリゲートなんてほとんどイベントにしか使わないでしょ?」ってことでコンテナをくっつけてる。
303 名前:267 mailto:sage [2009/09/29(火) 23:23:16 ] えーとデータから作成した画像がピクチャボックスに貼ってあって それが(10,10)動いたときもとの画像をずらして 上10ピクセルと左10ピクセルだけ描画したいんですが for文を2重にして for(x=0;x<=10;x++) { for(y=0;y<=10;y++) { } } ってやると当然10×10ピクセルしか描画しません 上記のように描画したいとき また移動量(x,y)が逆に動いてマイナスのときにも対応できる 簡単なアルゴリズムはありませんでしょうか? ちなみにCGのように描画が必要なのでマスクは使えません ヒントかリンクだけでもけっこうです よろしくお願いします
304 名前:275 mailto:sage [2009/09/29(火) 23:24:07 ] 片付いたので見にきたら少し賑やかになってるw 概念はわかるけどemSizeのemはなに?
305 名前:デフォルトの名無しさん [2009/09/29(火) 23:25:25 ] どうでもいいが0〜10の、11回処理してないかい?それ
306 名前:267 mailto:sage [2009/09/29(火) 23:26:49 ] あうw
307 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:29:32 ] 何がしたいのかサッパリ
308 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:40:12 ] x < 10 または y < 10 の領域を描画したいんだろ
309 名前:267 mailto:sage [2009/09/29(火) 23:45:12 ] >>308 あ!そうか!そういうことです! なんかヒントになりました! ありがとうございました!
310 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:46:00 ] あらかじめ敵のXY座標を設定しておいて それらをプログラム全体から利用したいんだけど どこでどのように定義するのが適切なんでしょうか? 名前空間の内側、classの外側で定義すれば全体から利用できると思ったんだけど 下のを書き込むとフィールドやメソッドは定義できないとエラーがでます Point TekiPos = new Point(10, 5);
311 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:47:57 ] Teki.Posとは絶対に書きたくないの?
312 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:48:02 ] >>310 public staticにしてクラス内にもて。 困ったときはpublic staticだ。
313 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:56:09 ] まあゲームなんか難しく考えずpublic static(いわゆるグローバル変数)でもいいよ ゲームは気を使って設計してもどうせ大なり小なり大域コンテキストクラスが出てくる
314 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:56:09 ] >>311 あ、なるほど、Tekiクラスをプログラム全体で利用できるようにして そのメンバPosに対してどこかでデータいれるってことかな >>312 インスタンスを複数必要ないというか、あるとややこしくなるので staticのほうがわかりやすそうですね 即レスありがとうございます
315 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 23:59:48 ] >>314 ゲームって作ったこと無いんだけど Enemyクラスかなんか作っといて、必要になったらnew Enemy()で 初期化してやった方がスマートなんじゃないの?
316 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:04:29 ] 敵が一体だからグローバル変数にするならまだいいけど, 敵が複数いて,ほかのクラスから特定の敵の座標を取得するためにいったんグローバル変数に入れたりするのは最悪のパターン
317 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:23:04 ] どんなゲームだろうねえ
318 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:25:45 ] 敵がいて初心者が作るものったらSTG以外に無いだろ
319 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 00:40:24 ] >>313 ありがとうございます。 最初からメモリや動作速度とか考えても仕方が無いですね できるだけ自分にわかりやすく書こうと思います >>315 敵と味方では振る舞いが違うからそういう風にしたほうがいいかもですね >>316 そういう感じで設計仕様と思ってたんですが、なぜだめなんでしょうか? 将棋でいうところの盤をstaticで定義してどこからで参照できるようにして 部隊の動き(どの座標に前進後退するかなど)もstaticで定義しようと思っていたんですが >>317 >>318 シューティングは線形代数や三角関数などの数学的知識がいるので無学のわたしには無理です ターン制の戦略ゲーム的なものを作ろうと思ってます
320 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:02:15 ] class Matrix{} //フィールド全体とマス目を定義 class Enemy{} //敵のキャラクターを定義 この二つを作っておいてMatrixにEnemyのインスタンスを突っ込むとか 位置はEnemy、移動先はMatrixで定義しておいたほうが安全だと思う グローバル変数をたくさん作ったり使い回し足りするのはトラブルの元
321 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:09:03 ] 逆だな 位置はMatrix、移動先はEnemy
322 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:10:55 ] グローバル変数が使いたい時はstaticって何で入門書に書くんだろ 最初が肝心なんだぞ 書くなよ
323 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:14:50 ] なるほど、グローバル変数を大量に作ってしまうのはそもそも設計に問題ありって感じですか クラスの中にも自作クラスを入れられて、さらにそのクラスにも自作クラスを・・・ これがオブジェクト指向? この感覚に慣れないとだめですね >>321 マス目にenemyを放り込む感じですよね そのほうがわかりやすそうですね ありがとうございます
324 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:25:04 ] 動きゃいいんだよ 未完成で放置するのが一番良くない
325 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:32:11 ] そんなことはないよ 静的変数使い回しなんてしてたら論理的なミスしたときに わけわかめになりやすい 最初からオブジェクト指向のお作法を意識するのは上達の近道だよと 遠回りした俺が言ってみる久々のてすつ
326 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 01:35:24 ] 多言語から移った人間を意識してるんだろうけど要らない説明ではある気がする
327 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 02:44:03 ] DataTable内に「name」という列を設けてその中に色々な名前を定義しています。 SEQ NAME 連番 名前 1 たろう 2 タロウ 3 TAROU DataTable.Select("NAME LIKE '%たろう%'"); として検索した時に本来は 1 たろう のDataRowのみ抽出したいのですが 2 タロウ まで抽出されてしまいます。厳密に検索をするにはどうすればよいでしょうか? ※また、大文字・小文字も区別して検索するにはどうすれば良いでしょうか?
328 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 06:09:00 ] >>327 CaseSensitiveプロパティをtrueにしてからSelectしる
329 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 07:50:56 ] >>302 どういう理屈だよ
330 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 08:54:11 ] >>328 サンクス
331 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 10:50:45 ] CSとKS,WSは別じゃないの? プロパティ一覧見た限りだと、ロケールをインバリアントにすれば良さそう
332 名前:デフォルトの名無しさん [2009/09/30(水) 12:43:45 ] vs2008でWindowsフォームアプリケーションを作成しました。 インストーラーを発行して、配布しようとしましたが、.netフレームワーク3.5のダウンロードに30分近く要します。 コンポーネントはクライアントプロファイルのみにしています。 皆さんはどのような手段でインストール方法を取られていますか?
333 名前:デフォルトの名無しさん [2009/09/30(水) 15:57:29 ] ttp://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=ja の.NET Framework 3.5 Service Pack 1 (フルパッケージ) をDLしてインストーラに組み込んじゃいかんの?(いかんか) #再頒布可能パッケージ があればいいんだけどね・・・・ #Microsoft .NET Framework 3.0 再頒布可能パッケージ まではあるのか・・・
334 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 16:05:09 ] クライアント専用Frameworkサブセットってとこチェックしても30分もかかるもんなの? やったことないけど
335 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 16:25:46 ] Client Profile v3.5がインストールされる条件が変で、 バージョンを問わずフルセットの.NET Frameworkがインストールされていないこと。 条件が合わない場合は差分をダウンロードしてフルセットでのインストールとなる。 プレインストールのXPやVista以降の場合、基本的に.NETが導入済みなので、 よほど特殊な環境でなければClient Profileは導入されない。
336 名前:デフォルトの名無しさん [2009/09/30(水) 20:44:06 ] >>335 XPにも標準で.netがついているの? 何かのネットで見たら、付いていないと書いていたんだ。 記事はまちがいだったのかな。
337 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:48:56 ] 「プリインストールの」だろ 相当前に使ってたノートPCにもデフォで1.1が入ってたぜ
338 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:50:09 ] XP はないよ。 2003 が 1.1、Vista が 3.0 だね。
339 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 20:51:48 ] でも、今時.net入ってない環境ってどうよ
340 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:04:00 ] .netが出だした当初って誰も入れたがらなかったけど .NETを使ったフリーソフトも出だして当たり前になってきたね
341 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:04:56 ] 2.0は入ってるものと考えていいと思うけど3.5はまだきつい
342 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:07:40 ] まぁでも、2.0 が入ってれば、勝手に 3.5 が Windows Update で入るんだけどな。
343 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:07:59 ] 1.0が入ってないとダメっつーインストーラーは勘弁して欲しいw
344 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:32:02 ] 1.x が必要なアプリは使いたくない
345 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:44:28 ] 2.0とか3.5の入ってる環境なら1.x必須なのも動くんじゃないの?
346 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:47:32 ] たいていは 2.0 で動くと思うけど、サポート対象にはしたくない。
347 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 21:48:34 ] 最近コンポーネントエラーって起きたことないな
348 名前:デフォルトの名無しさん [2009/09/30(水) 22:18:05 ] 長くなるけど質問お願い 暗号化を作っていて、ボタンのイベントに処理を書くのではなくて クラスに処理入れて、それをボタン押したときに呼び出すようにするには どうしたらいいのでしょうか お力おかしください public partial class Form1 : Form { //バイト配列で変数を宣言 public byte[] DesKey; public byte[] DesIV;e, public byte[] cryptData; public Form1() { InitializeComponent(); RC2CryptoServiceProvider TDES = new RC2CryptoServiceProvider(); //TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider(); DesKey = TDES.Key; DesIV = TDES.IV; } //暗号化ボタンを押したときの処理 private void button1_Click(object sender, System.EventArgs e) { // source 配列から cryptData 配列へ変換 // 文字列を byte 配列に変換します byte[] source = Encoding.Unicode.GetBytes(genbun.Text);
349 名前:デフォルトの名無しさん [2009/09/30(水) 22:18:58 ] 上に続きですよろしくおねがいします // Triple DES のサービス プロバイダを生成します TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider(); // 入出力用のストリームを生成します MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(DesKey, DesIV), CryptoStreamMode.Write); // ストリームに暗号化するデータを書き込みます cs.Write(source, 0, source.Length); cs.Close(); // 暗号化されたデータを byte 配列で取得します cryptData = ms.ToArray(); ms.Close(); // byte 配列を文字列に変換して表示します angougo.Text = Encoding.Unicode.GetString(cryptData); }
350 名前:デフォルトの名無しさん [2009/09/30(水) 22:19:53 ] >>334 クライアント専用サブセットってどこで設定するの?
351 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:22:59 ] 暗号化とかまったく関係ないな。
352 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:23:59 ] >>350 プロジェクトのプロパティ
353 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:26:42 ] >>348 どう、ってインスタンスメソッドにするならボタンクリックでクラスを初期化して メソッド呼び出せばいいのでは? staticメンバ一個作っておいてそこにインスタンスぶち込んでstaticぽく呼んでもいいけど
354 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:26:49 ] >>349 public partial … → public class Encryption public Form1() → public Encryption() private void button1_Click(… → public byte[] Encrypt(string sourceText) byte[] source = … → byte[] source = Encoding.Unicode.GetBytes(sourceText); angougo.Text = Encoding.Unicode.GetString(cryptData); → return Encoding.Unicode.GetString(cryptData);
355 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:27:35 ] >>354 訂正 private void button1_Click(… → public string Encrypt(string sourceText)
356 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 22:34:18 ] >>348 Class Angouka { publick void Start(){....}; } Class From { Button_Click() { Angouka ang=new Angouka(); ang.Start(); } }
357 名前:デフォルトの名無しさん [2009/09/30(水) 22:58:49 ] 初心者で考え方がいまいちで申し訳ないです。 クラスを作り その中に今まで入れていたボタン処理を入れて そのクラスをボタンイベントに生成して 呼び出せばおkと言う感じ?
358 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:03:13 ] うん。
359 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:22:12 ] ボタンが押された時の処理を別のクラスに書くんじゃない その目的の処理を行うクラスを作って,そのクラスをイベントハンドラから利用するんだ 機械的に移すだけだとあんまり意味がない
360 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:33:12 ] クラスわけは責務をわけるのと同等
361 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:33:57 ] こういう違いって理解できない人にはなかなか理解してもらえなかったりするな…
362 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:35:53 ] どうでもいいけどいやよくないけど 暗号化結果のバイト列をUnicodeEncodingで文字列にするのは無茶だぜ。 まあ諸悪の根源はv1.1の頃のMSのサンプルだったりするんだが。
363 名前:デフォルトの名無しさん [2009/09/30(水) 23:38:17 ] 一応そのほかにも使う可能性というか応用で使うので ひとつのクラスに処理をいておきたいと思っています。 ACIIでやろうと思ってたんですがどうもうまくできなかったので今 それです。これは直したいなと思っております
364 名前:デフォルトの名無しさん [2009/09/30(水) 23:41:34 ] >>352 よく見たらありました。 ボケてきたのかな…。ありがとう。
365 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:48:48 ] 会社とか組織をイメージしてみるといいかも。 実際に仕事やる部署と、注文受ける部署、商品配達する部署・・・・・。 食堂で言うなら厨房と接客・電話番、出前とか。 それぞれは、自分の仕事だけして、あとはどっかに受け渡すだけで 良いようになってる。 下手な部署分けすると役所みたいにたらい回しになって困るが。 バイト列の文字列化ならBase64じゃない?昔から用意されてるし。
366 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:52:02 ] とか思ってみたらBase64変換クラスがぱっと見で見つからん。あれ? Javaだったのかな?
367 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:55:31 ] System.Convert.ToBase64String(byte[])
368 名前:デフォルトの名無しさん mailto:sage [2009/09/30(水) 23:57:33 ] Convert.ToBase64
369 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:11:50 ] キーボードのキーを押してプログラミングするわけだが キー自体がプログラミングを理解しているわけじゃないよね あくまで、文字を入力させる命令を出すためのスイッチに過ぎない 役割分担をさせていくわけだけど、その分クラスはどんどん増える だがそれでいい
370 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:15:42 ] オブジェクト指向の話になると現実世界の事象を例えにだすのをよく見るけど、 その例えってそんなにわかりやすいもんなのかな。 むしろそこからどうやってコードに落とすのかと悩むことしきりなんじゃないか。
371 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:21:32 ] もちろんそうだけど、オブジェクト指向の入り口で躓いているんだから仕方が無い
372 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 00:44:44 ] まず、構造化プログラミング・設計を学ぶところから・・・。
373 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 01:17:57 ] >>370 わかってる人が例えるからそうなるんだよな。 わからない人向けの説明には向かないと思う。
374 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 01:31:02 ] かと言ってわかってない人は向いてる向いてない以前に例えられないから。
375 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 01:39:15 ] そこをいくとオブジェクト指向のこころは最高だと思う。
376 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 02:37:13 ] 憂鬱な
377 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 03:09:44 ] 貝になりたい
378 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 03:13:33 ] 引きこもりは家をでないのでスペックがさっぱりわからない やり取りできる手段は、スカイプやネトゲしかない でも、こっちの情報をいくら伝えてもスペックを晒そうとはしない オブジェクト指向ってそんな奴
379 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 07:21:42 ] 良くも悪くも勘違いされる不幸な子ってイメージだけどな。 きちんと理解してあげれば戦力になるが、間違った認識や過度の期待を持たれるとプレッシャーに負ける人みたいな?
380 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 08:32:43 ] お前らスレタイ
381 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 12:58:49 ] 使ってればわかる 結局はノウハウを一般化しただけのもの
382 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 14:54:21 ] 自作ソフトのソースを公開しようと思うんですが プロジェクトファイルなどにPCユーザー名など 固有の情報みたいなのが入っていて見られてしまうんでしょうか? ソースを公開する上での注意点などありましたら教えてください
383 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 15:03:39 ] ユーザ名を短くて無意味な英文字にしておく .csだけ公開する
384 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 16:36:09 ] >>383 いや、さすがに.slnと.csprojくらいは付けようよ。 逆に.csproj.userとか.suoは除外。
385 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 16:38:41 ] VC#?
386 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 17:06:33 ] binフォルダは削除 slnとcsprojは付いてないと読む気が失せる
387 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 17:10:33 ] プロジェクト一つならslnはいらないんじゃ…
388 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 17:22:34 ] slnないと保存できないからめどい
389 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 17:38:30 ] >>388 プロジェクトのみでも一度保存すればソリューション作成されるよ
390 名前:デフォルトの名無しさん [2009/10/01(木) 18:59:34 ] C#初めてはや1.5ヶ月 いまだにクラス呼び出しとかが曖昧 配列わからん。 プログラム自体初心者ですがこれはかなり遅いほうですよね? 最近は分岐がわかりだしてきたところです
391 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 19:06:18 ] 俺も、1.7ヶ月ぐらいだけど オブジェクト思考はよくわからんけど 配列とか、クラス呼び出しぐらいなら一応・・・ まぁ、以前Cとjavaをおさわり程度にやった事有るけど
392 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 19:16:07 ] C#はじめて7年 クラス呼び出しなんて初めて聞いた
393 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 19:22:12 ] 小学生初めてはや5年 職員室呼び出し喰らったのは今年が初めてだ
394 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 19:57:11 ] お前らスレタイ
395 名前:デフォルトの名無しさん [2009/10/01(木) 20:07:10 ] あぁ、悪い クラス定義してメソッド呼び出しとか これでいい?これも違うのかなw
396 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:11:11 ] DESCryptoServiceProviderの複合化はパスワードが違う場合、絶対にエラーを吐きますか? それとも適当に復号したデータを返す時がありますか?
397 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:36:51 ] >>390 1日にやる量にもよるし、いろいろだろ。 他人にかまわず自分のペースで楽しみなよ。
398 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:58:44 ] なんだかんだで仕事でつかうと習得が早い
399 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:59:28 ] 俺なんか2年目でやっとデリゲートを唱えることが出来た
400 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 21:28:48 ] 仕事で必要で学んでいるんですが やはり全然覚えが悪いのでまじで仕事自体を辞めるべきなのか本当に迷ってる ものすごく申し訳ない気持ちと焦りでぐだぐだ・・・
401 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 21:34:36 ] >>396 原理的には適当に復号化。でないとTripleDESが不可能のはずだから。 テストコードとかで確認もしなかったけど、適当に復号化するだろうと決め込んで、 めんどくさくなって平文にヘッダとトレイラを入れといて復号時にパスワードチェック とした。 パスワードじゃなくてIVとKeyだろ、なんて無粋なツッコミはナシね。
402 名前:デフォルトの名無しさん [2009/10/01(木) 21:41:18 ] >>400 できなければ辞めるか仕事をかえてくれと言ったほうがいい ムリなひとはどうやってもムリ
403 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:03:47 ] >>400 記憶力はあるに越したことはないけど、プログラマとしてそんなに重要な ファクターじゃないと思うよ。 重要なのは理解力と要領だよ。 どのみち、今時のライブラリが全部頭に入っている奴なんていないわけで、 誰でも多かれ少なかれMSDNやwebの情報を見ながらコーディングしてるんだから。
404 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:13:33 ] 俺なんていまだに@ITの「C# 3.0らしいコードの書き方」とか見て頭混乱してる
405 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:16:50 ] よくさ、そういう解説サイトで学校クラス学生なんて例を出すけどわけわからんよな 誰が学生名簿なんて作るんだよとww そこそこの規模のソフトを例にプログラミングしながら学ぶようなのがあればいいんだけど
406 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:25:38 ] 参考書は本当に難しいと思う C#だけでもリファレンス、デザインパターン、入門と3冊持ってるけど それでも補完できない部分が独学だと必ず出てくる クラスとかオブジェクトの理解が進まないうちに実践に入るような参考書掴むと 後から本当に苦労する
407 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:26:44 ] 犬クラス ポチ、パトラッシユ、しろオブジェクト
408 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:27:09 ] >>404 あれは書いてあるコードが理解できれば十分 記事の内容を真に受けてはいけない
409 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:34:42 ] K俣か
410 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:38:44 ] >>400 やめるなら俺を代わりに雇うよう取り計らってくれ
411 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:40:02 ] むしろ川俣節は、このアジテーションは過大なのかそれぐ らい言い切ってしまってもいいのかのこう微妙な感じが 個々に判断できるようになると上級者。 …味があって好きなんだけどなぁ川俣節
412 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:49:50 ] ttp://www.r-nakai.com/archives/56 ここ見ながらVC#2008Expressで使えるように設定したんだけど、 ぜんぜんステップインしてくれない。もちろんソースコードはDL済みなんだけど。 Expressで使えてる人いる?
413 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:53:47 ] >404 >408 おれもあの記事かなりわかりにくかった…(´・ω・`)
414 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:58:58 ] >>411 あれは文体が古い(30年前のパソコン雑誌っぽいw)だけで、アジってほどでもないよ。 まあ今時のプログラマの書く技術解説の文章っぽくないのは確か。 たぶん物書きに憧れがあるっていうか、自己表現しないと気がすまない性格なんだろうw この人の『Win32API散歩道』って本を持ってるけど、あれ見るといかにもそんな感じ。
415 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 22:59:19 ] ちらっと見てみたけど、能書きが多いな。
416 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:00:59 ] >>414 散歩道のきたあきらって、川俣の別名?
417 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:04:56 ] >>414 らしいよ。 きたみあきこは別人
418 名前:デフォルトの名無しさん [2009/10/01(木) 23:16:25 ] >>356 できなかったですそれ
419 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:23:41 ] >>418 >>356 を参考にして、どんなコード書いたの?
420 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:34:30 ] 質問です 初心者です namespace WindowsFormsApplication1 {★ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } } } とあってclassを★のところに記述するとなぜかフォーム表示が 出来なくなるのですが同対処すべきなのでしょうか
421 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:40:27 ] そんなところに書かない 1クラス1ファイルを基本にする
422 名前:デフォルトの名無しさん [2009/10/01(木) 23:42:38 ] >>421 1ファイルとはどういうことでしょうか 大変申し訳ないです。 今はクラスとメソッドを外出しにしておいてボタン処理を押したときに その処理を参照しようとしています
423 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:42:57 ] >>420 ひ、ひねくれもの!
424 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:43:06 ] そんなこと聞いてねーよw おせっかいさんめ
425 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:46:47 ] >>422 なんだ暗号化君かw msdn.microsoft.com/ja-jp/library/x9afc042.aspx ここ読みなさいよ
426 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:49:04 ] >>425 はい、私です。 今日作ってよし出来たと思ったら 内部でクラス作らないで外部で作ってと言われて あたふたしています。
427 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:49:34 ] >>420 > このページが表示されている理由 > クラス MainForm はデザインできますが、ファイルの最初のクラスではありません。 >Visual Studio では、デザイナはファイルの最初のクラスを使用する必要があります。 >クラスがファイルの最初のクラスになるようにクラス コードを移動して、デザイナを再度読み込んでください。 やってみたけど、理由も対処方法も表示されるじゃん。
428 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:53:55 ] 外部に作ると言うのは FORMの外部に作ってそこから呼び出すってわけじゃないんですね・・・ From1の下に作ったら表示されました。 勉強たらなすぎてしにたい
429 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 23:57:55 ] >>428 86BASICから引越しされてきたのですか?
430 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:08:17 ] >>428 いや、そのクラスを使うときに必ずForm1がセットになってしまったら使い辛くは ないかい?例えば別のアプリで使い回しするとき。 だから、別々の .cs ファイルで管理することを皆は薦めている。 まあ、とりあえず動くなら今は別に気にすんな。 どうせ色々使い回しでコピーしたあげく、嫌になって分かってくるもんだから。
431 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:08:55 ] エラー見てもちんぷんかんぷんなことが多い まじで今年やってだめなら辞表考えるわほんとに。
432 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:27:57 ] >>430 ああああああ なるほど、使いまわし出来るようにとか言ってたましたそういえば・・・ と言うことはcsを処理の分を作るのが外部と言うことなんですね。 理解度足りないですね まじでありがとうございます。
433 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 00:54:30 ] >>396 >>401 どうでもいいが、「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう >>432 ファイルとクラスは1:1が基本ではあるが、分かり易くなるならM:Nでも問題ない
434 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:06:36 ] 最初に手をつけるのがコレって厳しいのん?
435 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:13:54 ] かもね
436 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:21:21 ] やっぱりか…… サンクス
437 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:22:35 ] いやそういう問題じゃないと思うが。
438 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:24:16 ] >>431 向いてない奴がやると体壊すか鬱になるよ そういう奴沢山見てきたし おれは小学校の頃からプログラミングやってて 何時間やっても苦痛じゃないからな まあ、仕事だとしんどいこともあるけど 息抜きのために自作ソフトを作るぐらいだからw そういう人間じゃないとだめなんかもな
439 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:27:38 ] >>432 右のウィンドウにプロジェクト名が書いてあるでしょ? それを右クリックして、追加>クラス を選択すると幸せになるよ ややこしくなってきたら、同じようにしてフォルダを作るんだ
440 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:36:08 ] >>433 >どうでもいいが、「復号化」ではないので 突っ込むべきはそこではない。 >原理的には適当に復号化。でないとTripleDESが不可能のはずだから。 これがおかしい。 暗号アルゴリズム単体の処理での動作と パディング等も含めたスキーム全体の処理での動作を 混同している。
441 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 01:40:40 ] もういいから外注しろ
442 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 07:08:56 ] 1ファイル1クラスは冗談だろ? Javaかよw 冗談だよね?
443 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 07:32:14 ] だいたいの機能でファイル分けるけど さすがに1クラス1ファイルは無いな(1つの機能が1つのクラスで済むならありうるけど)
444 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 07:32:45 ] 1つのファイルにWindowsFormが2つ以上同居できないとか、 ファイル内の最初のクラスにするといった制限は IDE(Visual Studio)の制限で、別に言語の制限じゃない。
445 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 07:41:42 ] enumやdelegateも型だから、 分けなきゃいかんのならこれも分けるの?てのもあるね。 javaの場合はpublicなenumはファイル分けなきゃいかんかった。 めちゃ不便。
446 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 11:41:54 ] 関連性が極めて強い型、殆ど従属してると言って言いような型とか、 列挙やらデリゲートやらは流石にファイル分けたりはしないな。 ただ、大体基本的には1クラス1ファイルになると思うけどね。
447 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 14:28:27 ] パブリックなクラスが内部だけで使うプライベートなクラスとかなら 1ファイルに書いたりはする 規模にはよるけど
448 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 14:57:49 ] ジェネリッククラスも作る時は一緒のファイルに書いてるかな
449 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 15:28:30 ] まあ、その辺は好みだよな
450 名前:デフォルトの名無しさん [2009/10/02(金) 17:26:45 ] 子ウィンドウハンドルの取得が出来ません。 EnumWindowsはなんとか出来たので、それを元にやっているのですが EnumChildWindowsの使い方が理解できてません。 private delegate int EnumerateChildWindowsCallback(IntPtr hwndParent, int lParam); [DllImport("user32.dll")] private static extern bool EnumChildWindows(IntPtr hwndParent, EnumerateChildWindowsCallback lpEnumFunc, int lParam); public int EnumerateChildWindows(IntPtr hwndParent, IntPtr lpEnumFunc, IntPtr lParam) { return 1; } public void main(IntPtr hWnd) { EnumChildWindows(hWnd, new EnumerateChildWindowsCallback(EnumerateChildWindows), 0); } これで「デリゲート 'LTLimit.WindowHandle.EnumerateChildWindowsCallback' に一致する 'EnumerateChildWindows' のオーバーロードはありません。」と出ます
451 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 17:34:18 ] EnumerateChildWindowsCallbackとEnumerateChildWindowsの引数が合ってないじゃん
452 名前:デフォルトの名無しさん [2009/10/02(金) 18:10:51 ] >>451 レスありがとうございます! ただ、引数に何を入れるのかが分かりません。 (IntPtr hwndParent, WNDENUMPROC lpEnumFunc, int lParam); とか (IntPtr hwndParent, IntPtr lpEnumFunc, int lParam); など試してみたのですがダメでした。
453 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 18:28:33 ] >>451 APIの知識がないんだな C#云々の問題じゃないし
454 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 18:36:20 ] >>452 ちゅーかどっからそんなソースをもってきたんだろう。 引数はIntPtr hWnd, int lParamの2つだけ。 引数名をhwndParentとしているが、ココには親のウィンドウハンドルが渡されるのではなく 列挙された子ウィンドウのウィンドウハンドルが渡される。
455 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 18:37:44 ] EnumChildWindowsの引数なんて言ってないんだが…
456 名前:デフォルトの名無しさん [2009/10/02(金) 19:23:55 ] >>454 子ウィンドウを列挙するソースが見つからないので 試行錯誤しているところです。 引数名は何も気にせずコピーしてました。 >>455 なんだか的外れな事をしてしまったみたいですみません。 どこをどう直せば良かったのでしょうか。
457 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:25:58 ] C#のソースに拘らなくていいだろw
458 名前:デフォルトの名無しさん [2009/10/02(金) 19:39:51 ] >>457 こだわってるんじゃなく、違う言語がまったく読めないのでC#に出来ないのです。
459 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:53:13 ] >>429 ぶー、88BASIC です。
460 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 19:56:41 ] >>442 非常識自慢?w ネストされたクラスはカウントしないとして、 例外クラスとenum以外は基本ファイルあた1クラスでしょ。 あとは、まあ小さなクラスなら派生クラスも同じファイルに書いちゃうことはあるが。
461 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 20:06:12 ] いじわるしないで教えてやれよw
462 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 20:24:42 ] 何かプログラムしようと思うんだけど何も思いつかない
463 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 20:42:39 ] 教えてあげないよ _,∩_ _,∩_ _,∩_ (_____)ゝ、 (_____) y (_____) / :: :: :: ヽ 〉 /-‐:: ::‐-ヽ / / :: :: :: ヽ _./ (・ )ll(・ ) ∨ _/ 0) i! 0) ∨ _/ ( ・)i!(・ ) ゙、_ // :: :: ∈ゝ :: ::ヽ // :: ‐-‐ :: ヽ // :: ー一 :: ヽ\ . ゝ/:: :: :: :: :: ::ヽ ゝ/ :: :: :: :: :: ヽ ゝ/ :: :: :: :: :: ヽく  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄ | | | | | | ⊂! !つ シ! !つ ⊂! !つ ジャン♪
464 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 20:46:36 ] >>458 だから、APIが読めなければC#にもできないだろw 基本は同じなんだからさ こんにちはの意味がわかれば、HELLOをどのタイミングで言えばいいかわかるだろ? それと一緒だ
465 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 21:07:18 ] 下手な例えだなw
466 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 21:13:24 ] >>433 >「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう DESCryptoServiceProvider.CreateDecryptor メソッド 指定したキー (Key) および初期化ベクタ (IV) を使用して、対称 DES (Data Encryption Standard) 復号化オブジェクトを作成します。 セキュリティ関係用語じゃなくてMicrosoft用語ですだ。
467 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 21:27:52 ] >>440 だから、原理的にはって言ってるじゃないか。 どう実装されてるか分からないから、適当に復号化するように実装されてないとは 言い切れない。 ドキュメント斜め読みしても見つからない。 一個かそこら試したとしても不安が残る。 時間は待ってくれない。 だからどっちに転んでも、まあ動くだろうって対応をした。って話。 ところで関係無いんだが、これ実はExcelVBAで利用したと言ったら信じる?
468 名前:450 [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 00:51:50 ] >>467 別に対応がおかしいとは言ってないよ。 実際復号されることもエラーになることもあるから。 >でないとTripleDESが不可能のはずだから。 これがおかしいと言ってるだけ。
470 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 01:43:39 ] タラオ「トリプルですぅ〜」
471 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 03:51:23 ] >>460 安心したw 今書いているクラスは入れ子になっているものを数えたら30個にもなっててほんの少し焦った。 まぁ、チョロっと必要な定数叩き込むときは1ファイルに2つぐらい書いちゃうけど大丈夫だね。
472 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 07:07:02 ] >>469 TripleDESは、 暗号文 = 鍵3でDES暗号化(鍵2でDES復号化(鍵1でDES暗号化(平文))) という仕様だから、DESはある鍵で暗号化したものを別の鍵で復号化できないと 実現不可能のはずだと考えたんだが、間違ってるのか?
473 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 08:21:22 ] しつけえ
474 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 08:29:56 ] いちおう書いておこう。 暗号アルゴリズム単体と、 〜Providerとかを使っての処理は 「違う」って言ってる。 DESとか3DESとかの暗号アルゴリズム単体では ブロックサイズのデータとキーを与えたらブロックサイズの結果を出す単なる関数。 だからキーが違おうが何だろうが処理できる。 でも〜Providerとかを使っての処理は、暗号化のモードとかIVとかパディングを含めた処理 特にパディングがあるから、違うキーで処理したら処理自体に躓いてエラーになる場合が多い。
475 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 08:49:58 ] >>460 わざわざ「Javaかよw」って書いてるんだから 例外クラス・enum・数行しかないクラスであっても、例外なくファイルに分けなければいけない ってのを皮肉ってるんだと思った。
476 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 11:59:12 ] >>475 俺が無知なだけ・・・。 C#やってるけど今まで本なんて一回も読んだことないし、基礎知識なさすぎ。 最初なんてIfしらなかったせいでgotoで何もかもやってたこともあったしw すっきりしました ありがとb
477 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:02:44 ] 本とか言う前に、マニュアル読めよ・・・。
478 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:14:29 ] いや、ホントの基礎はやっぱり何か入門本でやった方がいいよ。 まあチュートリアルとか、あとトレーニングとかオンラインで無料でできるやつもあるから そんなのでもいいけど。 いきなりマニュアルはきついだろう。
479 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:21:42 ] まあそこらの家電製品や普通のアプリと違って 「第一章:Hello worldを表示しよう!」 なんてのはマニュアルにないからなw
480 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 12:54:14 ] msdn.microsoft.com/ja-jp/library/aa288463%28VS.71%29.aspx > C# プログラマーズ リファレンス > Hello World のチュートリアル > > このチュートリアルでは、C# 言語による Hello World プログラムのいくつかの記述方法について説明します。
481 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 13:10:52 ] オイ俺のコピペ脳、まで読んだ。
482 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:10:02 ] foreachを逆の順番で回すことはできませんか? ま、forを使えばいいんだけど・・・
483 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:16:07 ] 出来るわけがない
484 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:16:28 ] .Reverse()
485 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:35:14 ] Reverseにしました
486 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:40:27 ] Reverseは一度内部で最後まで列挙されて、そのバッファから吐き出されてるに過ぎないってことに注意。 但しIListを実装しているものは直接コピーするので、列挙のコストはかからない。
487 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:41:12 ] ネットワークドライブへの再接続をする方法を教えてください 環境 PC A OS vista x64 sp2 PC B OS xp sp3 AはBのフォルダをネットワークドライブ(Zドライブ)に接続している ネットワークドライブ(Zドライブ)は起動時に自動的に再接続される。 続く〜
488 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:46:31 ] 標準ライブラリじゃ無理のはず Win32APIのWNetAddConnection2で再接続
490 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 16:49:55 ] >>489 情報ありがとうございます。 win32apiは使ったことないですが何とかやってみます。
491 名前:450 [2009/10/03(土) 18:47:55 ] Form1からForm2を表示したとき、 位置をForm1のLocationプロパティを参照して決めたいのですが、 参照の仕方を教えてください。
492 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 18:50:30 ] 考え方が間違ってる Form1がForm2を表示する際に var form2 = new Form2(); form2.Location = (this.Locationを基準に決めた位置); form2.Show(); のようにする
493 名前:デフォルトの名無しさん [2009/10/03(土) 19:15:30 ] >>492 おおお! ありがとうございます! まったく思いつかなかったです。
494 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:19:43 ] this.BackColor = System.Drawing.Color.Blue; 直接16進で指定は出来ないのでしょうか?
495 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:20:13 ] Thread thread = new Thread(ThreadTask); thread.Start(); でスレッドを起動するとき、引数はどう渡せばいいんでしょう?
496 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:24:51 ] >>495 msdn.microsoft.com/ja-jp/library/6x4c42hc.aspx
497 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:25:22 ] Color.FromArgb Colorのリファレンスくらい見たらどうかと思う
498 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:26:45 ] >>493 いやいやw 普通は(少なくともOOP的には)、別のFormの位置を参照して自分の表示位置を決定して表示する機能を Form2自身が実装するようにすべき。 その方が分かりやすいでしょ? ケースバイケースだけど、フツーは>>492 みたいのは悪い例。
499 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:36:49 ] 余計な依存ができるだろ もっとちゃんとした枠組みを作ってそういうことを実現するならいいけど 安易に他のフォームを参照しちゃうようなやり方は良くない
500 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:41:03 ] >>497 ども、まだヘルプ入れてないんです。始めて二日目。 ありがとう、できました。
501 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:49:21 ] は? >>500
502 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 19:59:21 ] IntelliSenseからそれっぽい名前探し当てるとかできないのかなー。
503 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:01:58 ] >>499 Locationは"Form1"で実装されてるメンバじゃない。 意味分かる? 依存なんかできないよ。 例えば、 void ShowAtLeft(Form referredForm) のようにするだけ。
504 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:01:58 ] Thread thread = new Thread(ThreadTask); thread.Start(引数); としたところ、 'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 引数 '1': 'メソッド グループ' から 'System.Threading.ParameterizedThreadStart' に変換できません。 ってことなんですけど…。
505 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:08:38 ] ThreadTaskの方が引数受け取る気無いとか言わないだろうな
506 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:12:22 ] private void ThreadTask(string 引数){} としてます。
507 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:16:39 ] ParameterizedThreadStartの引数の型に合わせんとダメ
508 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 20:29:12 ] private void ThreadTask(object 引数){} ってことですか? それだと、 引数 '1': 'object' から 'string' に変換できません。 なんですが、objectからstringに変換すればオーケーなんですか。 どうやるんだろ。
509 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:06:32 ] いらいら
510 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:10:08 ] お前には無理だからあきらめろ。
511 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:19:00 ] VC# 2008ならこれでいいよ。 new Thread(() => ThreadTask(実引数));
512 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:20:08 ] できました。感謝です。
513 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:22:56 ] どういたしまして
514 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 00:24:48 ] こちらこそ
515 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 01:33:52 ] Invoke 使え。
517 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 10:24:50 ] PictureBoxの画像をマウスドラッグで移動させてるのですがおかしな現象に悩んでます シングルスレッドで移動させているときはマウスのピクセル移動量と画像の移動量が一致します しかし、マルチスレッドで移動させるとマウスのスピードに指数比例してすごい勢いで画像が流れます 親スレッドでMouseMoveイベントごとに現在位置のグローバル変数を移動 スレッド呼び出し グローバル変数に従って画面を書き換え こんな流れになっていてスレッド呼び出しされた側ではグローバル変数を参照しているだけで 位置情報を書き換える処理はしていないです スレッドが呼ばれている間の位置移動とか特に意識していません まあ絶対どっかでミスしてんですが、思い当たる原因のヒントでもいただけたらと・・・
519 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 10:26:34 ] デバッグしろよ
521 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 11:12:27 ] クライアントプロファイルは正直使いもんにならん。
522 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 11:16:24 ] >>518 スレッドの呼び出し?だけ消したら正常になるの? 一体そのスレッドで何やってんだ? あとスレッドの呼び出し?って何時やってんの? まさかマウスが動く度じゃないよね? スレッド側の処理は一瞬で終わるもの?それともしばらく動き続けるもの?
523 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん [2009/10/04(日) 12:12:45 ] >>519 ありがとうございます。 .NET3.5sp1を入れてはいますが、結局使用はしていません。 .NET3.5のみを配布したら早くなるでしょうか…。
526 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 12:14:50 ] >>522 今は暫定的にマウスが動くたびになってます 最終的には移動量が一定量を超えたとき呼び出すつもりです そのスレッドでは移動量をグローバル変数から取得してそれに応じた小さなファイルを読み込んでメインスレッドのInvcke呼び出し メインスレッドのハンドラでダブルバッファに書き込んで、移動分だけ画像をシフトしてます
527 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 12:18:29 ] 自分のアプリでクラスライブラリ(.dll)作って一緒に配布すると そのライブラリを別のアプリケーションで勝手に使っちゃえると思うんだけど それを防ぐ方法はないのかな?
528 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 12:20:36 ] >>527 ない。
529 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 12:21:41 ] >>527 ロード元のアセンブリをチェックすればいいだけだろう
530 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 13:01:15 ] >>529 そうか、そうですよね。 調べます。
531 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:17:34 ] >>529 の方法を簡単に説明してくれ
532 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:19:44 ] アプリ中のオブジェクトを(型指定して)列挙するにはどうしたいいんでしょうか?
533 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 14:35:27 ] >>532 なんでそんなことしたいんだ?
534 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 17:55:02 ] >>532 さては他人の作ったソフトウェアのメソッド叩きたいとか考えてるな! やめとけw
535 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 18:12:38 ] 恐ろしいことを平気でやってのけてこそ初心者!
536 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:05:37 ] 設定ファイルを読み込むのはメインのFormのコンストラクタ内でするのか、 Loadイベントのハンドラで行うのかどちらがいいのでしょう。
537 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:06:28 ] C++でCLRのアンマネージインターフェイスを叩く必要があった気がする
538 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:10:33 ] >>536 内容による。
539 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:10:46 ] >>532 リフレクションでやってみれば?
540 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:11:38 ] バグを見つけて臍をかむのがオチなんだよなぁ。 マニュアルの System.Reflection 名前空間見るとか、「リフレクション C#」ググるとか。 単に見たいだけなら一番簡単なのは、VSで参照してオブジェクトブラウザで覗く。
541 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:19:48 ] >>538 ウィンドウのレイアウトから、オプションダイアログで設定するようなものまであります。
542 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:24:04 ] リフレクションではオブジェクトそのものは見られないよ MSがソース公開してるCLRプロファイラやWPFプロファイラは部分的にC++使ってた
543 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:27:32 ] >>541 Formに関する設定ならばLoadだろうね。 逆にコンストラクタできちんと動く?
544 名前:デフォルトの名無しさん [2009/10/04(日) 19:47:32 ] >>525 氏の話だけど、 みんなは配布用アプリを作る時は、インストールに時間がかからないようにどのような工夫をしているの?
545 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:48:16 ] >>543 現状は問題なくできるのですが、、何か陥りやすい問題とかあるんでしょうか。 コンストラクタのInitializeComponentの後にファイルを読み込んでいます。
546 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 19:55:03 ] >>544 最初の一回だけだから気にしてない。
547 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 20:14:58 ] >>545 俺も聞きたいねえ。 コンストラクタでやったらまずい処理って思いつかない。 まあFormに限らず、クラスのコンストラクタでイベントを生成するような処理を書いて 嵌ったことは過去に何度かある。 コンストラクタ呼び出し中に発火されたイベントは、事実上誰も拾えないからね。
548 名前:デフォルトの名無しさん [2009/10/04(日) 20:53:17 ] >>546 .net3.5を使用しているアプリを配布しようとしたら、 プレインストールされていないPCは、30分とかかかかるのかい?
549 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 20:55:13 ] >>548 回線速度とスペック次第じゃね?
550 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 20:55:27 ] かかかか
551 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 21:01:28 ] >配布 んなものは、システム要件。 インストールさせようなんてのはお節介。 と思ってる。
552 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:08:41 ] >>545 なら問題ないんじゃない? C#やりたてのころに痛い目にあったことが1回だけあったけど、何かはど忘れしちゃった。 明日まで覚えていたら会社のSVN覗いてみるわ。
553 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:26:39 ] コンストラクタはインスタンスの初期化 LoadはFormの読込み Shownは表示後 ちゃんと役割があるんだからそれぞれに書いた方がいいと思う
554 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:33:17 ] LoadはVBの名残みたいなもん
555 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:38:56 ] そんなことはない FormがShowされるときにすべき処理はLoadに書くべき コンストラクタはあくまでインスタンスの初期化処理だけのほうがいい
556 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 22:51:23 ] >>553-555 正直、どれもよくわからん俺様ロジックにしか聞こえない。 そんなことはない、というなら聞くが、じゃあ結局>>536 の質問には何と答えるんの? っていうか、そういう意味論にこだわるなら、設定値を読み込んで適用するような処理は InitializecComponentsの後が一番適切に思えるが。
557 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:00:30 ] > 正直、どれもよくわからん俺様ロジックにしか聞こえない。 イベントドリブン全否定? 俺様ロジックの俺様というのはC#開発者のこと言ってるんだよな?
558 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:17:49 ] >>557 日本語読める? だからね、一般論として、コードは意味的に適切なタイミングで 実行されるように書くべき、というのはその通りだけども、 じゃあ設定を読み込んで反映するのに適切なタイミングっていつだっての。 そんなもの、答えなんかないだろう。 「設定を読み込んで反映すべきタイミング」の意味を与えられたイベントなんて存在しないのだから。 イベントの意味なんかにこだわりすぎると、結局そんな処理なんかどこにも書くべきでない、 って結論にならざるをえない。
559 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:37:07 ] >>558 あなたの言ってることの方がよっぽど俺様ロジックに聞こえるけど コンストラクタはインスタンスが生成される瞬間に実行され、 インスタンスの初期化のための引数を渡す機能を持っている コンストラクタが一つなら、その設定やらに渡す引数も一緒に渡してやれば良いけど そんなやり方推奨する人どのくらいいるだろうね
560 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:42:15 ] public Form1() : this(null)とか使おうよ
561 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:08:53 ] >>560 ごめん。どっかいっててくれるかい?
562 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:30:17 ]
563 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:30:38 ] Formを継承して「設定を読み込んで反映すべきタイミングのイベント」を追加する
564 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 00:35:18 ] そう言うようなことは普通にやるけど、「どのタイミングが最適か」って答えは出ないんだよね。
565 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:03:08 ] >>559 結局どうすべきだと言いたいの? というかね、コンストラクタが多重定義したい場合で、 かつどのコンストラクタにも共通する処理がある場合は、 どのコンストラクタからも特定の一つの別のコンストラクタを呼ぶようにするか、 共通部分をメソッドに括り出して呼ぶようにするでしょ。 それを忘れたらどうするのかって? それはただの「バグ」であって、そんなケースを槍玉に挙げてなんの意味があるのよ。
566 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 01:04:10 ] 横からその問題だけに絞って考えると、感覚的にはファイル アクセスなら Load かなぁ。 設定ファイルなら…んー、コンストラクタでもぎりぎりアリか。
567 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 02:42:08 ] 俺ならそもそもFormのインスタンス生成前に読んじゃうかなあ 多重起動チェック→設定読む→Application.Runみたいな流れ 設定にもよるけど
568 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 10:09:37 ] まあ、ハンドル云々というのでなければコンストラクタでいいと思う。
569 名前:デフォルトの名無しさん [2009/10/05(月) 14:23:18 ] 「List<string> s 」に入ってる文字をlistboxに表示したいです。 listBox1.Items.Add(s); とすると(コレクション)と表示されてしまいます。
570 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 14:30:21 ] ・AddRangeする ・DataSourceに設定する
571 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 15:23:57 ] AddRange使って一発でやりたいならToArray使えばいいじゃない
573 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 15:26:07 ] あとDataSourceなら listBox1.DataSource = s; だけだし。
574 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 20:13:19 ] 自分の実力が足りないだけなのに言語のせいにされたらたまらんわ。
575 名前:デフォルトの名無しさん [2009/10/05(月) 20:35:38 ] おまえらどんだけ被害妄想wwww
576 名前:デフォルトの名無しさん [2009/10/05(月) 20:57:24 ] ディスプレイから女の子を救い出すプログラムをC#で移植してます。 C#では無理なんでしょうか。VBではうまくいったんですけど・・・
577 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:02:52 ] どこが動かないのか詳しく。質問が大雑把過ぎて問題がわからない。
578 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:10:59 ] 美少女ゲームの彼女をリア
579 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:22:21 ] では将軍様、そのディスプレイから女の子を追い出してください
580 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:26:51 ] 全財産はたいてもいいから俺によこせ
581 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 21:36:30 ] .NETのアセンブリの場合regsvr32じゃなくてregasm使う
583 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 22:04:48 ] Tlbexp.exe
584 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 17:12:54 ] WMI使ってWin32_ProcessのCommandLineプロパティ取得するのが手っ取り早い けどファイルを開くで開いた場合を気にしなくて良いの?
586 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 17:19:14 ] WebRequest/WebResponse って最初に呼び出すときに結構時間がかかります? 数秒〜数十秒くらい
587 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 17:24:57 ] >>587 強制終了させるなら、目的の引数を持ってるWin32_ProcessのTerminateメソッドでいい 内容変更時に保存ダイアログが欲しいなら、Win32_ProcessのProcessIdを使ってProcess.GetProcessByIdしてCloseMainWindow
589 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 19:35:56 ] >>588 なんとなくできたっぽいです。 ありがとうございました。
590 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 22:42:55 ] >>586 kakikukekou.blog83.fc2.com/blog-entry-517.html
591 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 22:47:32 ] >>586 WPADやなんやでネットワークの応答速度によって時間が掛かる可能性はあるね
592 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 23:37:29 ] >>586 数十秒もかからないけど 5秒ぐらいはかかってるかな
593 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 08:58:18 ] 非同期処理ってマルチスレッドってことなんでしょうか?
594 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 09:07:37 ] 基本的にはそう スレッドじゃなくてプロセスだったりするかも知れないが メッセージ使った擬似非同期とかな
595 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 09:42:23 ] ありがとうございます
596 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 12:11:48 ] 文字列中の \x28 などのエスケープ文字(?)を ( などに変換するのは それぞれのエスケープ文字について一つ一つ string.replace などで置き換えるしかないのでしょうか?
597 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 12:34:47 ] ソース上の文字列リテラルを置換したいのか、実行時に変換したいのか まあString.Replaceってとこみると実行時の変換なんだろうけど エスケープの方法なんて言語次第だから特にライブラリには存在してない Regex.ReplaceでMatchEvaluator使うのが楽だろうねー
598 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 13:10:36 ] string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Local Settings\Temporary Internet Files\", "*.jpg"); で空なのはどうしたら取得できますか?
599 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:06:24 ] >>598 実際そこにファイルがないから
600 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:11:55 ] どこにあるんですか? 調べたら、 その下に、Content.IE5フォルダがあるらしいので、SearchOption.AllDirectories としても見つけられませんでした。
601 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:42:13 ] エスパーさんお願いします
602 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 15:44:11 ] そこには無いんだよ
603 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:04:13 ] 隠しフォルダの中にある隠しフォルダを探したいってことでしょ Content.IE5の中には、さらにランダムな名前の隠しフォルダがたくさんあって、 ネットから取得したファイルの本体はそのランダムなフォルダの中に分散して格納してある。 何がどこにあるかはindex.datだったかに書いてある。
604 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:09:26 ] delphi s string; SetLength(s, 64); c# string s; サイズを指定するにはどうするんでしょうか?
605 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:12:06 ] サイズを指定する必要はないんじゃね?
606 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:13:58 ] Stringは変更できないのでそういうことはできません。 そもそも変更不可なので長さを伸ばすのは意味がありません。StringBuilderなどを使います。 長さを縮めるというか部分を切り出した新しい文字列を作るのはString.SubstringやString.Removeで可能です。
607 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:16:19 ] base64とかで必要なんです。
608 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:20:22 ] StringBuilder使えばいいじゃない
609 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:21:06 ] つーかencodeing気にしなくちゃならんし、byte[]じゃだめなのか
610 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:21:44 ] 何が必要なのよ?
611 名前:604 mailto:sage [2009/10/07(水) 16:23:20 ] d。やりたいことはStringBuilderで出来そうです。 ありがとうございました。
612 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:24:09 ] base64は.NETの標準機能でサポートされてるけど
613 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:53:28 ] www.atmarkit.co.jp/fdotnet/vblab/uiframework_02/uiframework_02_01.html ここのソース貼り付けて実行したらWPFだとちゃんと動くけどSilverlightだと動かない んですけどなぜなんです?
614 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 16:55:19 ] 試用なんだぜ
615 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:10:55 ] >>603 Content.IE5フォルダの下に30JAKIJ7みたいなフォルダがあることはわかってます。 隠しフォルダのなかのファイルを再帰的に列挙するにはどうしたらよいですか?
616 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:37:01 ] 3番目にSearchOption.AllDirectoriesつけたら?
617 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 18:52:44 ] >>616 SearchOption.AllDirectoriesは600でもう試しました。
618 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:00:03 ] あのさー こっちは実際に動かして出ることを確認してレスしてんだよ エクスプローラで見るとそこにちゃんとあるのか? 環境は? IEのオプションでもそこに設定してあるか?
619 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:01:47 ] 実体が無いんだろ
620 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 19:28:10 ] >>618 失礼しました。 あらためてもういちどトライしたらできました。 すみません。ありがとうございました。
621 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 22:57:34 ] しーね
622 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 00:33:44 ] 試してなかったのか試したつもりで見すってたのか どっちにしろきちんと試さんと自分が困るだけだよ。
623 名前:デフォルトの名無しさん [2009/10/08(木) 01:29:24 ] >>618 ちゃんとこのスレにもまともな回答者がいたんですね。 尊敬します。これからも初心者を見捨てずお願いします。
624 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 05:31:46 ] いままでまともな解答者がいないと思ってたのに質問してたのか 変なの
625 名前:デフォルトの名無しさん [2009/10/08(木) 07:44:34 ] リストボックスにアイテム追加して水平スクロールが出たとき、 水平方向の一番後ろを表示する方法を教えてください
626 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 09:56:06 ] >>625 スクロールバーが出たときに一番後ろを表示すればいい
627 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 09:56:54 ] >>625 ヒント:マウスホイール
628 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 12:11:20 ] リストボックスに水平スクロールバーって出せたっけ?
629 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 15:00:48 ] 普通に出せる
630 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 15:11:33 ] ActiveX 経由で Windows Media Plyaer を使おうと思います。 _player = new AxWindowsMediaPlayer; _player.uiMode = "none"; とすると2行目でエラーが発生します。 まだ、ActiveX コントロールが生成されてないからと思います。 いまは、タイマーで __player.Created を監視して、 true になるのを待つという方法で回避していますが、 ActiveX コントロールが生成されたというイベントはないでしょうか?
631 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 15:25:58 ] FormのLoadイベントでならだいじょぶ
632 名前:デフォルトの名無しさん [2009/10/08(木) 19:06:07 ] 質問よろしいでしょうか? Windowsでコピー&ペーストのペースト先の情報(ファイル名やファイルのパス)を得るにはどうすればよいでしょうか? よろしくお願いします.
633 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:27:01 ] C# ファイル ドロップ でググる
634 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:30:35 ] ペーストされたアプリの側の自由だろ わかるわけがない
635 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:37:09 ] すみません.言葉足りずでした Windows上のアプリケーションを監視するソフトを考えているのですが, 例えば文字列をコピーしたものをパワーポイントに貼り付けた場合, 貼り付け先のパワーポイントのファイル名やファイルのパスを得たいという質問の内容です.
636 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 19:57:33 ] もし、張り付け先がファイルとか扱わないソフトだったら?
637 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 20:20:10 ] ペーストされたデータの扱いや、どのファイルを開いているかなどは完全にアプリケーションの責任 一般には対象のアプリのプログラムを意味論で解析でもしないかぎり不可能
638 名前:630 mailto:sage [2009/10/08(木) 20:26:33 ] >>631 レスありがとうございます。 Loadイベントなら大丈夫とは知りませんでした。 しかし、今回は、フォームデザイナで配置して使用している訳ではなく、 コード内でオブジェクトを作っているため、生成済み通知してくれる イベントがあればいいなと思い質問しました。
639 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 20:33:56 ] タイトルバーにファイルパスやファイル名を表示するタイプのソフトなら そっから取得できるか?すべてのソフトでどうなってるのか調べなきゃだが
640 名前:デフォルトの名無しさん mailto:sage [2009/10/08(木) 20:47:45 ] 開いてるファイルとは全く無関係なところへのペーストだったら? どう頑張っても使いものにならないから諦めろ
641 名前:デフォルトの名無しさん [2009/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 [2009/10/09(金) 06:20:08 ] <%# Eval("colValue") $#> 訂正→<%# Eval("colValue") #> なんで$マーク。
643 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 06:20:49 ] 職業的にもCでは使えない状況ですし。
644 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 10:44:22 ] お前の職業なんか知らぬ!
645 名前:641 mailto:sage [2009/10/09(金) 15:38:44 ] 自己解決。
646 名前:デフォルトの名無しさん [2009/10/09(金) 18:16:03 ] >>625 だれかお願いします。 言葉が足りませんでした。 マウス操作やキーボード操作無しで表示する方法です。
647 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:37:59 ] TopIndex
648 名前:デフォルトの名無しさん [2009/10/09(金) 22:48:47 ] 私はとうとう会社を辞めることにしました。 コボラーだった私が今春に社内SEに採用され、 急に未経験のC#をやれと言われてがむしゃらに勉強しましたが、 結局誰も協力はしてくれず1人で中途半端なシステムを作ってしまいました。 土日祝日もC#に明け暮れる毎日。 会社のために休みを完全に削ってがんばってきました。 ここでも何度か質問をし、回答をいただきました。 最終的には最悪な評価に終わりそうです。 私は会社を辞めます。 このスレの皆さんに代わってもらいたいです。 皆さんありがとうございました。 会社は離れてもC#は大切にします。
649 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:03:54 ] せっかくスポーツニュース見て浮かれてる所に 切ない文章を書くな
650 名前:デフォルトの名無しさん [2009/10/09(金) 23:10:49 ] 皆さんが質問に答えてくださったおかげで、 ユーザビリティーの高いシステムになりました。 本当は、使いやすいシステムなんです。 けど、納期が厳しすぎました。バグが出てしまったんです。 悔しいですが、誰もテストしてくれなかったし時間がありませんでした。 今となっては言い訳ですが…。 無理のあるスケジュールに振り回された自分を戒めつつ、 退職してしばらくC#の未消化技術を習得し、 明日につなげたいと思います。
651 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:43:35 ] うちで働かないか
652 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:03:03 ] C#そして.NETはおもしろい言語とフレームワークだから会社と関係なく楽しめるよ C#とは関係ないが納期についておもしろいスライドがあった www-06.ibm.com/software/jp/rational/events/rsc2009/pdf/k2_j.pdf
653 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:03:09 ] 俺はC#どころかCですらHello worldレベルのプログラムしか作ったことなかったのに 納期ギリギリで人が足りないからってC#のプロジェクトに引きずり込まれて、 その日の帰りに慌てて本屋で入門書を買ってVS2008Expressをインスコして徹夜で勉強して…
654 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 00:05:28 ] マ板でやれ
655 名前:デフォルトの名無しさん [2009/10/10(土) 11:55:39 ] マ板って何?
656 名前:デフォルトの名無しさん [2009/10/10(土) 12:01:37 ] >>652 読んだけど意味が高度すぎてよく分からなかった。 要するに、 「ウチは、スケジュールに遅れずにいい品質の開発をしまっせ!」 ということ?
657 名前:デフォルトの名無しさん [2009/10/10(土) 14:10:10 ] >>651 C#の経験者だけど、今、転職は難しいんだろうなぁ。 なんとなく肩身が狭くなってきたので会社を去りたいんだが。
658 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 14:47:14 ] 会社やめて同人エロゲ作って1年で家買えたわ やめてよかった
659 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 15:01:53 ] スレチ乙
660 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:07:58 ] 俺は転職に失敗したからアルバイトのコーダーになっちまったよまったく
661 名前:デフォルトの名無しさん [2009/10/10(土) 18:28:45 ] >>653 インスコってなんだい?
662 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:34:34 ] インストだろ インストール 文脈も読めないの?
663 名前:デフォルトの名無しさん [2009/10/10(土) 20:01:55 ] FTPサーバーのファイルをサーバー上で移動できますか? wc.DownloadFile(fileName, locelfileName); wc.UploadFile(newfileName, locelfileName); ではできます。 この場合、通信の途中でエラーがあると、ファイルが破損するので、サーバーだけで操作したいと考えてます。 アドバイスお願いします。
664 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:07:40 ] できます
665 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:15:14 ] >>663 どっかからftpクライアントのライブラリをもってくるのがいいと思う。
666 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:26:18 ] あと、通信中に切れてもいいように、転送先の一時ファイルに転送して、転送 終了後にリネームするのが定石。ダウンロードも当然同じく。
667 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 23:17:25 ] >>666 何いってんだおまえは
668 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:13:20 ] サーバー間でコピーさせたいんでしょ FtpWebRequest みたいなんではできないと思う Socketで片方Passiveにしてそのポートでもう片方ひらいてStoreとRetieveする
669 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:28:37 ] FTPじゃできんだろ
670 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:37:12 ] 同一サーバー上なら、ディレクトリ間の移動はリネームするだけのはずなんだが。 サーバー間の移動ならFTPよりrsyncがお勧め。
671 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:40:26 ] プロトコル自体にリネームがないと思うが まあ、davでも使えと
672 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:47:07 ] davならぁ〜
673 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:50:23 ] クソ 不意をつかれた
674 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:56:24 ] ほい、あるよ。 ja.wikipedia.org/wiki/FTP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E4%B8%80%E8%A6%A7
675 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:58:18 ] 671みたいな古臭い脳みその人は順次退場して欲しいもんだ
676 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:59:20 ] 563 名前:仕様書無しさん[sage] 投稿日:2009/09/23(水) 20:15:18 2chで調べ物をしたい時は「教えてください」って書いても なかなか教えてもらえない。 そういう時は、知ったかぶり風に間違ったことを自信満々に書く。 そうすると、ものすごい勢いでツッコミを入れてもらえる。
677 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 01:01:31 ] コピペ君って馬鹿だな、まで読んだ
678 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 01:08:46 ] >>667 ・・・仕事としてやったこと無いんだな坊ちゃん。
679 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 04:07:18 ] >>187 選択状態、位置の管理を君がしてないから これ以上の説明が必要ならソース出せ
680 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 10:25:54 ] たぶんもう見てない
681 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 12:26:47 ] C#で人工知能作れますか?
682 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 12:31:28 ] 天然無能にC#は使えません
683 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:19:24 ] 最強に初心者でちょっとプログラミングってものに興味持ち出したんですが 何から始めたらいいかよくわからなくて このスレにいけとかここのサイトから見て始めろとかあれば教えてもらえるとありがたいです。
684 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:24:10 ] 前提がわからんと何とも、、、本当に何もなし? とりあえずここ見て、どこからわからんか考えてみ ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
685 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:27:51 ] >>684 恥ずかしながら無いに等しいと思います。 VB?というやつですか?それなら少しだけしたことはあるのですがそれもとても簡単なやつだったと思います。 URLありがとです。 とりあえず読んでみます!
686 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:27:59 ] >>683 C#は基本的にはビジネスユースのプロが使う言語だからな。 裾野も広ければ奥行きもある。 本格的にやりたいなら入門書を買うことをお勧めする。 まあ、だからといってアマチュアが触れないのかといえばそうでもないが。 まず、ここは外せないな。 ufcpp.net/study/csharp/index.html 本当にゼロから始めるならここでもいいが、 homepage2.nifty.com/c_lang/ こっちは技術的なうそがいっぱい書かれてることで有名なところだから、 (にもかかわらず分かりやすいということで書籍化までされているのが厄介) うそをうそと見抜けるようになるまで勉強したまえ。
687 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:40:12 ] >>686 PCをゲーム機としてだけで置いておくのはかわいそうだと思ってやってみようかと とりあえずブックマークさしてもらいました! いきなり質問と言うか躓いてしまったのですが Visual Studio .NETというソフトは有料なんでしょうか? もし代わりとなるようなソフトがあればありがたいとは思うのですが・・・
688 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:42:46 ] express edition なら無料で使える
689 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:48:02 ] Visual Studio .NETってのは2002の頃ので有料版だけど、 2005以降は無料のExpressEditionがあってMSのサイトからDLできる。 最新は2008SP1ね
690 名前:685 mailto:sage [2009/10/11(日) 15:50:01 ] >>688 >>689 ありがとうございます! Visual C# 2008 Express Edition with Service Pack 1というのでおkですかね?
691 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 15:59:31 ] それでおk
692 名前:685 mailto:sage [2009/10/11(日) 16:07:47 ] インスコしてみたのですがどうしても2008SQLサーバー?ですかね それだけインスコできませんでしたとの表示が出て終了してしまうのですが・・・w なにかインスコに関して制約とかこのOSだと駄目とかそういうものは
693 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:08:28 ] 最近組んだファイルの管理を行うロジックでDirectory.filenameとか言うのを叩いてファイルの列挙してるんだけど、 配列じゃなくコレクション型を使いたいということで後先考えずIListを使ってしまって 今になってよかったのかと思ってる。 クラスとかじゃなく、インターフェイスとなっているものを直に変数として宣言するのは気持ち悪いんだけど、この場合何か別の方法ってないのかな? string tempFN = Directry.filename(***); List<string> FN = List<string>(); FN.Addrange=tempFN; とかなんか回りくどいのがあまり好きじゃないし、俺の低脳さも好きじゃない。 知恵と知識をおくれ
694 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:11:09 ] >>693 原則として、フォルダ中のファイル一覧のような外部の事情で いつ変更が加わってもおかしくないような リソースに対してはキャッシュそのものを行わず、 必要なときにそのたびに取得するようにする。
695 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:11:35 ] 始めてプログラムするならC#とC++どっちがお勧めですか?
696 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:15:20 ] 断然C# 初めてでいきなりC++に挑戦すると挫折する可能性が高い
697 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:16:44 ] というか、ことWindowsでプログラミングするときに C++をわざわざ選択する意味がほとんどないな。現在では。
698 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:20:10 ] >>694 ぅーん・・・、検索とか比較をする必要がある場合だったんでコレクション型に落として処理したかったんだけど、 こういったstring[]系のものを一発でList<string>に変換できる技があればなと思ってる。 配列から検索とか比較するのってなにか複雑に見えてしまう。 それにあの構文が見た目不安定に思えて仕方ないw
699 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:22:34 ] 配列は IEnumerable だから List のコンストラクタに入れられるだろ
700 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:29:56 ] 暗黙的に変換できないから一々Addrangeしないといけないからやだなぁって。 そういうことじゃない?
701 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:33:55 ] ごめん・・・ .ToList();でけた
702 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:34:22 ] LINQ使えるんだったらそもそもリストにする必要ないだろ
703 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:34:40 ] つ DarkBASIC
704 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:34:41 ] .NET 3.5 で C# 3.0 だったのかよ
705 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:37:03 ] List<T>.FindなんかそのうちObsolete来るかもね Silverlightではすでに削除されてる
706 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:39:24 ] >>705 なぜ?
707 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:40:09 ] LINQ (to Objects)があれば不要だから
708 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:42:44 ] 聞いたことはあるけど使ったことが無い。 というよりあまり魅力とは思わないんだけど、使い始めたらやめられない位つかうことになる?
709 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:43:26 ] >>707 そんな理由で非推奨にしたらどれだけのメソッドが非推奨になるんだい
710 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:45:17 ] >>692 とりあえずSQLサーバーとかいらんだろ
711 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:47:38 ] とりあえずVisual Stadioはサーバー系とモバイル系、オフィス系を省いて、C++をフルインストール、後はデフォルト。 C++はフルにしないとツールや、コンパイルのときAnyCPUの選択ができなくなる。
712 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:48:58 ] あとはDXperience
713 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:52:27 ] >>708 よくWebの記事なので紹介されてるクエリ式( from x in items where … ) はあまり使わないだろうけど メソッド形式( items.Where(x => x.Value < 10).ToList() みたいに書く方)は使いまくることになる MSDNでSystem.Linq.Enumerableクラスを見てみるといいよ
714 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:59:55 ] 何かちょっと魅力と思えてきた。 これ使いこなせれば、今書いてるコードとかキュッと出来そうw 人に渡すと説明いりそうだけどw
715 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:54:54 ] LINQは麻薬
716 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:06:07 ] アルゴリズムを分かった前提でLINQを使ってほしいね 組み合わせ問題をLINQで無理やり書いて 速度が出ないコードを量産されたらたまらん
717 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:06:31 ] 何でもLINQで書きたくなる病を発症する人は多いな。
718 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:09:16 ] 今必死に抑えてるよ…
719 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:18:46 ] LINQ to flickrとかね
720 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:20:42 ] っは・・・し、静まれ・・・俺のLINQよ・・・怒りを静めろ!!
721 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:25:34 ] やめろぉおおおおお なんでもかんでもIEnumerableインターフェースを実装しようとするんじゃねエエエエエエエエエ
722 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 18:26:09 ] あるあるw
723 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:02:06 ] ほうらこんなものも列挙できるんだよ・・・ みてごらん・・・
724 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:09:06 ] 本当に麻薬だなw
725 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:20:53 ] javaの1.4で仕事してるけど、ループを書くたびに、linqならああ書けるのにって 妄想してしまう。
726 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 20:21:49 ] 今時Java 1.4なんて苦行そのものだな。お疲れさん。
727 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 00:52:04 ] >>727 わざわざありがとうございます! 何か作っているうちにいろいろやって見たんだけど、これ中毒化する・・・。 ハンドルとか捕ってく時に無駄に使いまわしそうw .Selectがいっぱい尻尾に着くとかとても自己満z
729 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 12:49:57 ] DrawStringで矩形の中に改行しながら最大に近いサイズで文字を表示する方法を教えてください。
730 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 12:56:04 ] DrawString(string, Font, Brush, RectangleF)
731 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 12:57:24 ] MeasureText MeasureString
732 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 13:49:08 ] フォントサイズを変更しながらMeasureStringで収まってるかどうかループ回すってことですか? それしかないのか・・・
733 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 13:56:46 ] えーっと、比例とか分数って小3ぐらいで習うよな… 仮にそれで誤差が出るとしても、バイナリーサーチと同じアルゴリズムが使えると思うが
734 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 14:36:28 ] そっか!
735 名前:デフォルトの名無しさん [2009/10/12(月) 18:55:51 ] 音楽プレイヤーについて質問があります。 WindowsMediaPlayerを使って音楽を再生しようとしています。 再生はできたので、次の段階で、評価の値を取得して、気に入った曲だけ再生しようとしています。 d.hatena.ne.jp/aont/20080419/1208600078 を参考に、メタデータを取得しようとしています。 ここで疑問点が出てきました。 評価の項目が見当たらないのです。 曲の評価は5なのですが、値が5のデータもありません。 評価を取得するにはどうしたらよいでしょう。
736 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:10:51 ] 列挙したら何が取れるの?
737 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 19:11:52 ] ちっとはMSDN見ろ? ttp://msdn.microsoft.com/en-us/library/dd564793.aspx 属性の名前についてはこっち見ろと書いてある ttp://msdn.microsoft.com/en-us/library/dd562375.aspx オーディオ関連に使用する属性に限定したリストがこれ ttp://msdn.microsoft.com/en-us/library/dd562379.aspx で評価は大体ratingの訳語だからratingをページ内検索 後は片っ端から詳細ページを確認
738 名前:デフォルトの名無しさん [2009/10/12(月) 21:45:47 ] >>737 thanks
739 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 23:39:13 ] ちと悩んでて質問させてくれ C#のフォームに複数のswf組み込んでそのswfに同時キー処理を渡したいんだ どうすればいい? swfを貼り付けるとこまではサイト見ながらなんとか出来たが swfの同時処理がわからん・・・。1日調べたけどお手上げだった俺に誰か救いの手をくれ
740 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:01:28 ] 同時ってのがあれだけど、スレッドとかか? でもブラウザにswfにキーイベントとか渡せるかどうかわかんない
741 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:17:03 ] いや、普通のフラッシュゲームとかと考えてもらっていい イメージ的には1つのフォームに2つ以上のフラッシュゲームをおいて キー操作で全く同じ動きする感じ。
742 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:23:35 ] そもそも、そのswfが同時入力という概念があるのかすら決まってないんじゃないの?
743 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:33:21 ] フォームに組み込むからフォーム側でコントロールすれば複数のオブジェクト(今の場合はswf)に キーイベントを送ることは出来るとは思うんだが・・・。 リストとかテキストボックス複数に同時に同じキーイベント送ることが出来たからswfでも出来ると思ったけど swfは無理なのかのう(´・ω・`)
744 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:35:05 ] 複数に同時、ってのは無理。
745 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:40:16 ] 無理なのか・・・(;´Д`) 他に方法は無いだろうか?もうC#じゃなくてもいいや
746 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:42:21 ] じゃ、スレ違いだからどこかに消えてなくなれよ。
747 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 00:51:30 ] どんな言語だろうと同時は無理だろう
748 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 01:13:43 ] キーの制御だからC系でいけると思ったけど C#で無理ならしゃーないな(´・ω・`) ありがとう
749 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:15:36 ] お前らの同時は質問者の同時と別だろうなw
750 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 02:48:15 ] キー制御とか書いてあるから人間が操作する前提のフラッシュゲームを 自動で動かしたいとかそんなことなんだろう。 ならばリフレッシュレートより短い時間差があっても問題になることは少ないはず。 この程度の考察ができないようでは、とてもまともなプログラマーとは言えない。 許容誤差とか、仕様に不明な点があれば確認すべきだし。
751 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:06:08 ] 仕様ってなんだよw 仕事じゃあるまいし、なんでそんなに懇切丁寧にやらにゃならんのだ。 頭おかしいんじゃないの?
752 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:29:46 ] 遊びで手を抜くやつは仕事でも手を抜くんだよなあ 人間、そんなに器用に習慣を変えることなんてできないんだから ちょっとしたことでも態度に出たのを見られてるから注意した方がいいよ
753 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 03:37:12 ] 仕事で手を抜くのは基本 仕事振られずに給料もらうのがベストソリューション
754 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 06:44:18 ] >>752 おまえ働いたことないだろw
755 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 08:06:09 ] いかに品質を落とさずに手を抜くかだよな〜 あらゆるツールはそのためにある
756 名前:739 mailto:sage [2009/10/13(火) 08:22:01 ] >>750 が言う通り少々の時間誤差あるくらいなら全然構わない ちと説明不足だったすまない
757 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 08:40:35 ] 飛行機のネジには遊びがあるんだぜ 全てのネジを完璧に締めちゃうと飛び立った後で空中分解するんだぜ 仕事も同じ 俺は後輩にこう教えて来た
758 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 09:42:00 ] 今は接着剤だがなw
759 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 09:49:24 ] それがツールというものか。 なんかつながった
760 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 10:01:43 ] 効率化を提言すると手を抜いてると言い出すのは日本の会社の宿命だよ 今まで自分が築いたものを否定されるに等しいと思ってるからね 帰属意識を持てという割に共同体だという概念がない
761 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 10:14:11 ] んなこたない
762 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 10:58:17 ] ツールツール言ってる奴はツールに問題があった時の 工数増加まで見積ってるんだろうな?
763 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 10:58:54 ] 当たり前
764 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 11:06:17 ] というかツールってなんだよ、アドインとかか?ライブラリか?
765 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 11:35:45 ] ツール・ド・フランス
766 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 12:16:49 ] パスツール
767 名前:739 mailto:sage [2009/10/13(火) 12:25:48 ] 739だがいつの間にかかやの外にいてワロタ で、結局>>739 は実現可能なのだろうか? ちょっと前にも書いたけど少しの誤差は無問題 似たような処理ならどんな方法でも基本おkだ よろしくたのむ
768 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 12:56:09 ] >>767 並列処理させればいいだけだろ おまえにはポジトロニックブレインがついてないのか?
769 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 13:57:41 ] カタブツとよく言われております
770 名前:739 mailto:sage [2009/10/13(火) 14:05:00 ] ポジなんとかはよくわからんがその並行処理のやり方がわからないんだ swfにキーを並行処理で渡すってのが俺の中で超難解
771 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 14:42:57 ] 多少の時間差があってもいいんなら、順番に処理すればいいだけ 人間の目には同時に見えるる
772 名前:739 mailto:sage [2009/10/13(火) 15:16:59 ] 何度も申し訳ない説明不足だった swfを組み込むのが初めてでキーコントロールの渡し方もわからんトーシロなんだ その辺も含めて教えてくれると助かる ソースコードとか
773 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:27:25 ] 今はどうやって表示してるの? ActiveXかなんか?
774 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 15:41:42 ] >>739 ここで回答を待つよりも賢明な方法がある ぐぐれ
775 名前:739 mailto:sage [2009/10/13(火) 15:57:14 ] SHOCKWAVEなんたらって出るからたぶんActiveX ぐぐりながら今もいろいろ試してるけど全然ダメなんだ… なんせC#自体ほとんど触ったことないから(´・ω・`)
776 名前:デフォルトの名無しさん [2009/10/13(火) 16:13:10 ] CopyFromScreenで取得した2枚の画像を 高速で比較して、異なる部分を抜き出す方法ってある?
777 名前:デフォルトの名無しさん [2009/10/13(火) 16:19:54 ] 知ってるなら教えてあげればいいのに。
778 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:23:32 ] 異なる部分とは? 単純に差分でなくて、林檎と蜜柑の違いとか?
779 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:24:15 ] 上で偉そうにしてた奴は、騒ぐだけ騒いで教えずに居なくなったな
780 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:26:42 ] >>776 バイナリで比較すればいい
781 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:30:32 ] >>775 C#というよりプログラミング自体初心者に近いんじゃないのか? 横着しないでまず文法を理解しなさい
782 名前:デフォルトの名無しさん [2009/10/13(火) 16:37:18 ] >>775 単純な差分。 CombineRgnのRGN_DIFFみないな。 >>780 1ピクセルづつ比較したら遅くね?
783 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:46:35 ] >>782 基本的にCPUで処理する場合は1ピクセルずつ処理するしかないぞ。 せいぜいSSEなどのパックド命令を使うことだけどこれはC++でやるべきこと。 Graphics/Bitmapで差による描画がないようなら自前でやるしかないな。 Marshal.Copyを使えばそれほど難しいことではないだろう。
784 名前:デフォルトの名無しさん [2009/10/13(火) 16:49:33 ] >>783 Marshal.Copyの後、 forループで比較? やっぱりこれしかない? 1280x1024 のbitmapの場合、0x500000の配列になるんだよね・・・
785 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 16:56:43 ] ポインタ使えばええやろ
786 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:00:41 ] 9000枚くらい画像処理してるけど結構速いよ
787 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:05:18 ] >>784 今更1Mピクセルくらいなによ、って感じ。 >>785 C#はアンマネージドなバッファに対するアクセス法が3種類ほどあるが、 ポインタとしてアクセスするのはunsafeキーワードでも足りず、 プログラムのビルドオプションを変更する必要がある。 そうするとほかのモジュールとのリンクも影響を受けかねないし、 よほどボトルネックになってない限りはお勧めできない。 >>786 同意。
788 名前:デフォルトの名無しさん [2009/10/13(火) 17:10:30 ] >>786 >>787 そうか、そんなものか。 とりあえずやってみるよ。 サンキュ。
789 名前:786 mailto:sage [2009/10/13(火) 17:13:29 ] 類似画像比較の処理を書いていて、 最初はサンプリング部だけC++のモジュールに投げようと思ってたんだけど 試したら3%も早くならなかったので止めてC#で書いた
790 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:17:16 ] あんま、参考にならないと思うけど、 一応、俺も類似画像検索ツール作ったことがある。 50x50サイズの画像を10000件検索したときは約5秒かかった。
791 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:19:13 ] イメージほど遅くはなくなったんだけどな イメージ先行してるよなw
792 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 17:25:49 ] 画期的なアルゴリズムを編み出したいんだろうけど 画像なんてのは規則性がないからな 異なる部分を抜き出すだけなら 1ピクセルごとに比較するのが単純で速い 類似画像検索となると、それなりの手法がいるがな
793 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:08:42 ] >類似画像検索 たとえば、どんな風にやるの?
794 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:26:07 ] 大雑把な説明だと、各画像の特徴ベクトルを算出して比較 特徴ベクトルの中身や算出方法の具体的なアルゴリズムは説明しきれないから、 興味があるなら画像処理スレ行くとか、適当に論文を当たるとかしてくれ
795 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:30:36 ] まあ、でも普通は2枚の画像の差分を目で評価できれば十分なので。 以前とあるマイナーな画像形式のコンバーターを作ったんだが、 可逆なはずの色域変換の逆変換でデータが化けてしまったときにお世話になった。 あ、そうだ。便乗質問するんだが、.NETの標準で対応してない画像形式のローダーを.NET向きに作るときって、 なにとして読めるように作ったらいいんだ? 汎用ローダーならIO.Streamでいいんだが……。
796 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:37:23 ] WinForm向けならSystem.Drawing.Image(実体はBitmapだろうけど) WPFも視野に入れるなら……DIB的なもの
797 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 18:38:56 ] >>775 同時処理以前にキーの送信もできてなかったのか。 そっちを先に聞くべきだったね。 フラッシュ側でどうやってキー入力とってるかにもよるんじゃないのかな。 試しにSendInput使ったら送れたけど、これだと送る前にフォーカスセットしなくちゃならないけど それでもいいかな?ちなみにキーボードフォーカスはPC上で1つしか持てないから このやりかただと同時は不可能
798 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 19:25:21 ] >>795 WIC(Windows Imaging Component)
799 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 20:14:39 ] フォーカスの切り替えも一瞬だから 切り替えとキーイベントなりキーコード送信を順番にやればいいだけだよ
800 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:19:46 ] C#に向いてるエディタってありますか?
801 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:20:28 ] VisualC#2008以外ありえない
802 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 21:58:18 ] 誰もがお前らの思いどうりには行動しません。 協調とは性格や考え方の違うもの同士が譲り合って調和をはかること すなわち同調ではない。 自分と他人は違う人間なんだから、 十人十色、いろんな考え、趣味、価値観があって当然。 よく私たちは「誤解された」といって憤慨することがありますが、 そのような人は自分の考えをはっきりと発言しているのでしょうか。 自分の意見を明確に発言もしないで、誤解されたと憤慨するのは、 自分で一言も発言しないで「俺の考えていることを当てて見ろ」 と言っているのと同じことではありませんか。 お互いに自分の意見をもっとはっきり言うべきだと思います。 自己主張をするときに最も注意すべき点は、感情的にならないことです。 感情的になったら、勝ち負けを争っていることになります。 主張するときは冷静で、しかも論理的に話すことが求められます。 自分の常識が相手にも通じる時代は終わったのです。 自分と相手の常識は違うのです。よく言えば価値観が多様化してしまったのです。
803 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:05:18 ] コピペ君って馬鹿だな、まで読んだ。
804 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:06:05 ] まず.NET Frameworkのクラスライブラリはインテリセンス環境で使うことが前提だから やたら綴りが多くてとてもじゃないけどふつうのテキストエディタでは書いてられない。
805 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:10:47 ] MonoDevelop
806 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:20:46 ] それは秀丸+csc+NUnit+NAnt+NDocでグループウェア作った俺への挑戦だな。 っていうか、確かにシンどいです御免なさい勘弁してください。 ついでにサーバは秀丸+javac+JUnit+Antですた。御免なさい勘弁してください。
807 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:28:42 ] C#のためにVisualC#が作られたというより, VisualC#のために作られた言語だし
808 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:30:13 ] ん?VisualC#の為じゃなく.NETの為に作られたのがC#だろ?
809 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:32:49 ] 実際VSとセットで設計されてるんだよ
810 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:42:44 ] VisualJがクソミソにされたからブチぎれて大金かけてパクった言語ですが?
811 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:46:19 ] はやくJava7出せよw
812 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:51:04 ] Visual Jはこけてくれた良かった。 お陰でC#という最高の言語の一つが出来たのだから。
813 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 22:54:51 ] Java7大したもの実装されなそうなのに何であんな時間かかってるんだろうな 正直言って見限り気味
814 名前:739 mailto:sage [2009/10/13(火) 23:08:53 ] >>797 ありがとう参考になった。sendinputは使ってなかったわ とりあえず今日も一日頑張ったけど無理だった。方法としては ・フォームをKeyPreview = trueに設定する⇒特殊アプリ(swfとか)には無効 ・KeyDown += delegate(object o, KeyEventArgs e)の後に普通に ActiveControl = swf1; ActiveControl = swf2;と処理⇒片方しかキー処理しない ・上記のswf2をスレッド処理⇒片方しかキー処理しない そもそもキーの渡し方がわからんかったからこんな変な処理になった もうお手上げ\(^o^)/
815 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 23:44:21 ] 質問させてください。Excelに差込印刷をしてみたいので C#が良いと後輩に教えてもらいました。 部下に指示するにしても、自分でまずやったほうがい良いと思い書き込みしてます。 どうやればいいでしょうか?
816 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 23:53:16 ] >>815 騙されてるよ。 C#はCOMと相性が悪い。 普通にVBAでいい。
817 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 23:56:32 ] >>815 お前は部下持ちなのに、自分の頭で考える能力も経験もないのか?
818 名前:デフォルトの名無しさん mailto:sage [2009/10/13(火) 23:57:49 ] >>816 なるほど。VBAを購入してマスターすればいいのですね。 大変参考になりました。60点です。
819 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 00:01:49 ] >>818 おまえは0点だよw
820 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 00:08:14 ] >>798 ふぅ〜む……。 Vistaでは標準で入ってるけどXPでは.NET Framework 3.5に同梱かぁ。 COMベースであるところが気に入らないが、HD Photoも対応してるようだし サードパーティーが拡張できるようにすること前提になってるようだし、興味深いな。 WIC、使ったことある人があれば感想とか聞いてみたいね。 試して見る価値はあるような気がする。ありがとう。 ただ自分の使いたい用途とは必ずしも一致しない。 System.IO.Stream系で1行あたりのバイト数で区切られた 長方形状のメモリに直接読み書きできるようなクラスがあれば それの形で実装できればなと思ってる。
821 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 00:08:50 ] >>818 VBAを購入するのか 大変だなw
822 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 03:10:31 ] あまりに初歩的で申し訳ないのですが たとえばApplication.cs から Option.cs を開くために Application.cs[Design] で Option 項目を作成し クリックされた時のイベントに何を書けば Option のウィンドウを開くことができるのでしょうか?
823 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 04:29:07 ] アプリケーションの作成手順が知りたいんだけど 例えば、URLを右クリックして保存する時に出てくるウィンドウを設計する場合 まず、フォームにコンポーネントを追加していって 作業に必要なデータセットをつくって 次はイベント処理を作っていくのが一般的?
824 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 06:31:22 ] そんなんでデータセットなんて使わんだろ。
825 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 08:41:16 ] >>822 Application.csからOption.csを開くって何? C#ではソースコード同士を開いたりという概念は無いよ。 (コンパイルしたら実行時には関係なくなるから) それから、その2つはFormを定義してるのかな? それなら、そんなクラス名をつけるのはあまり一般的ではないよ。 Formクラスを継承するんだらMainFormとかそういう名前をつけるといい。 ちょっと基本的なレベルで突っ込みどころが多すぎるので、 まずは教科書どおりに書いてその意味を考えてもらえないだろうか。
826 名前:815 mailto:sage [2009/10/14(水) 10:03:19 ] 今日、部下に相談したら「私がやりますから」って不機嫌そうな顔をしてたので 彼は左遷だと社長に直訴しました。私をだれだと思ってるんだまったく。
827 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:07:28 ] >>826 お前論外。カエレ
828 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:08:21 ] まさかとは思いますが、この部下とは、あなたの想像上の存在にすぎないのではないでしょうか。
829 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 10:20:46 ] たぶん自分が上司という設定も想像上
830 名前:デフォルトの名無しさん [2009/10/14(水) 11:35:19 ] みんな何と戦ってるんだ……
831 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:13:59 ] >>826 おまえみたいな仕事の出来ないSEが多くてかなわん
832 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 12:48:05 ] そうだ、その席俺によこせ
833 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:26:51 ] >>825 レスありがとうございます。 共にFormクラスを継承していますので名前を変更しました。 まず、MainFormを作って次にOptionFormを作った場合 実行するとMainFormのみ表示されます。 実行時にOptionFormを表示するにはどのようにすれば良いのでしょうか?
834 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:30:57 ] OptionFormをいつ表示させたいの? MainFormの代わりならnew MainForm() してるとこを探してみそ。 任意の時点なら、new OptionForm()して.ShowDialog()とか
835 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 14:31:42 ] ソースコード全部漁るとMainメソッドでApplication.Runを実行している所がある そこで引数として渡すFormを変更する
836 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 15:26:29 ] >>834 できました。ありがとうございます。
837 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 20:32:33 ] abstract class Foo}
838 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 20:47:28 ] コンパイルエラーになりますた
839 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 20:55:03 ] public abstract class FooContainer {
841 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:01:02 ] >>839 msdn.microsoft.com/ja-jp/library/ms228359.aspx その問題についてはこの記事が詳しい MSDNの中でも指折りの良質な記事だと思う
842 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:25:35 ] 一見正しそうに見えるけどコンパイル通らないよそれ 理由は>>843 を嫁
844 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:27:37 ] こんにちは 質問があります。 今座席表を簡単なものを作っています。 ラベルで席の場所を作り、その中に名前を入れておくのですが このときの名前はForm2にメンバー表をテキストボックスで作っておき それに対応したラベルをForm1で参照して表示にしようと思っています。 そして、Form2のテキストボックスの名前を変えて保存ボタンを 押せば簡単に席替えしたときに変えられる と言うな物を作りたいのですが。 @Form1からForm2のテキストボックスが参照できない Aexeで起動したときテキストボックスの中身を入力で替えたとき 保存は出来るのか? 以上を教えてください。なお、あまりよくない作りになりそうでしたら そこも助言いただけるとうれしいです
845 名前:839 mailto:sage [2009/10/14(水) 21:32:23 ] みなさまレスありがとう。 >>840 ごめん、サンプルでは簡略化のために省きましたが、 Bar/BazContainer には基底クラスがあるので、その手は使えないっす。 >>841 ビンゴなレスありがとう。お礼にフェラチオしてやりたいくらいだ。 でも、記事内容がちょっと俺には高度っぽい。 理解できるだろうか。 >>842 >System.InvalidCastException はハンドルされませんでした。 >Message="型 'ConsoleApplication1.MyContainer`1[ConsoleApplication1.Bar]' のオブジェクトを型 'ConsoleApplication1.IParent`1[ConsoleApplication1.Foo]' にキャストできません。"
846 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:33:25 ] >>844 フォーム等の特定の入出力に依存しない座席表クラスを作って, そのインスタンスを両方のフォームから参照する。 保存や読み込みもそのインスタンスだけ。
847 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:38:38 ] >>839 よく見てないけど、 C#4.0でサポートされるジェネリックの共変・反変性と関係するのかな? ちと調べてみる。
848 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:40:23 ] 関係は大いにあるけどC#4.0では解決しない List<T>は書き込みと読み取りの両方の操作をサポートしているので共変も反変も使えない
849 名前:842 mailto:sage [2009/10/14(水) 21:48:14 ] なるほど、だから >841 なのか。納得しました。
850 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:53:51 ] >>846 なるほどテキストボックスとかで貼り付けたのを使うのでなく あくまでもプログラムで参照させるやり方ですね? 初心者で申し訳ないですが 座席表クラスには座席番号と氏名を入れて それを対応したラベルなりに表示させるようにして 変更時は Form2に保存ボタンを作り名前が入ってるテキストボックスに入力させて ボタン押してプログラムに上書きをさせていく感じでしょうか? 一応座席が76個ほどあります・・・・ 初心者ですいません。
851 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 22:30:41 ] >>850 初心者スレで初心者ですみませんとか何度も言われると煽られているのかと思ってしまう。 それはさておき、>>846 の言うことがよく理解できないなら テキストボックスを参照させたいならテキストボックスのアクセシビリティを デフォルトの private から internal とかに上げる方法もある。
852 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 22:42:55 ] >>850 一個一個入力という意味?それでも問題ないけど。 一例として入力フォームはダイアログボックスとして席の位置に76個のテキストボックスを配置。 モーダル表示した時に846の座席表クラスの76個のString(配列とかリストとか)からそれぞれ貼り付け。 変更後にOKボタンで逆に座席表クラスに取り込む。Cancelなら内容は破棄。 なんてのはどう? モーダルにしない場合、他の画面で更新かかったときに動的に書き換えたりと初心者の範疇を越えてしまう。
854 名前:850 mailto:sage [2009/10/14(水) 23:04:07 ] >>851 ごめんなさいそういうつもりは一切ありません。 言わんとしてることは分かるのですが、どうも説明したり 口で言うのが苦手なのでうまくまとめられてないです。 internal明日会社で調べてみます!ありがとうございます。 >>853 ダイアログ使ったことないんでちょっと調べてみて 参考にしたいと思います! しない場合は難易度アップなんですね・・・ 明日会社で検討してみます! ありがとうございます。 またクルかと思いますが申し訳ないですがそのときはよろしくお願いします。
855 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:25:16 ] C#, C♯, C#相談室 Part55 pc12.2ch.net/test/read.cgi/tech/1255530225/ 立てといた
857 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:26:05 ] >>855 994でレスもらってるじゃねーか >>856 乙
858 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:26:40 ] >>855 list.Insert(0, x);
859 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:27:02 ] 994 名前: デフォルトの名無しさん [sage] 投稿日: 2009/10/14(水) 17:28:58 Insert ↑なんでこれみてないの?これ答えたの俺じゃないけど、答えそのままじゃん。 List<T> でも同じ名前と同じやり方だよ。
860 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:28:01 ] 45→55ってどういうこと?
861 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:28:40 ] バージョンアップ
862 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:32:26 ] 一瞬立て間違えたかと思ってビビった
863 名前:デフォルトの名無しさん [2009/10/14(水) 23:38:18 ] >>859 アンカーも付いてないのになんでもくそもないわ。 答える側の能力が低いだけだ。
864 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:44:04 ] 質問の直後のレスで、その言い方はないわ ほかに混同するレスもないのに
865 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:07:43 ] 何が「ひどく」とまでいうほど無駄と感じるわけ? 別にLINQ使ったからって大して変わるわけでもないけど。
867 名前:デフォルトの名無しさん [2009/10/15(木) 00:13:15 ] 配列に入れたものを文字列にして、 もう一度配列にしているのが無駄な気がしてます。 直接配列に入らないのかな〜と。 あと、LINQはこのあいだ盛り上がっていたのと、 まだ使ったことがないので、なんとなくあこがれて。
868 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:15:52 ] yield returnだろうとLINQだろうと配列コピーだろうとなんだろうと 目的の機能を達成すれば全ておk 好きな方法を使え
869 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:17:04 ] >>857 >>858 あ、ほんとだ。 すいません、2回ぐらい見たはずなのに 自分へのレスだと気づけませんでした…。
870 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:17:55 ] Directory.GetFiles(@"c:\data", "good*.jpg", SearchOption.AllDirectories); こうはできないんだっけ
871 名前:デフォルトの名無しさん [2009/10/15(木) 00:27:43 ] >>864 まあそうなんだけどさ、それは分かってる側の理屈だよね。 もちろん答える側の自由なんだけど、せっかく答えたのに 相手に伝わらなければもったいないよ。 質問内容で明らかにかなりの初心者だってわかるんだし、 その僅かな気配りが出来るか出来ないかで能力に雲泥の差が出るよね。
872 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:27:52 ] var files= Directory.GetFiles(@"c:\work", "*good*.jpg", SearchOption.AllDirectories) .Select(f => new FileInfo(f)); でできるよ。
873 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:36:25 ] わかってる、というより質問しといて新しいレスが増えたのに、 自分宛じゃないからって無視する精神の方がおかしいわ
874 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:37:17 ] コードは、な
875 名前:874 mailto:sage [2009/10/15(木) 00:39:37 ] ごば
876 名前:デフォルトの名無しさん [2009/10/15(木) 00:47:05 ] >>873 うん、だからさ、その程度の事はアンカーを付ければ 簡単に避けれるのは理解できるかな? 決して気づかなかった無能な初心者を庇っている訳ではないんです。
877 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:54:40 ] >>876 まあ、日本人は説明能力が欠如してる人間が多すぎるからね。 質問側にも回答側にも、本人とエスパー以外に読解不可能な文章を平気で書いて それで人に伝わるつもりになってる奴が多すぎる。 明らかに教育の問題だな。 まあ、君がもし回答者は質問者に親切に<すべき>と思ってるなら、 そういうクレーマーチックな押し付けがましい考えもどうかと思うけど。
878 名前:デフォルトの名無しさん [2009/10/15(木) 01:12:38 ] 質問です。 病院、診療所の検索システムを作成しています。 病院の検索ボックスに、例えば「ちゅうおう」と入力すると、 文字列変換前に、右手のパネルに「ちゅうおう」のフリガナを含む全病院、診療所が表示され、 そこで、Enterキーで確定させる前に、 Tabキーまたは右カーソルキーの押下で右手のパネルにフォーカスを移したいと思っています。 Enterキーで確定後に右手にフォーカス遷移させることはできたのですが、 確定させる前の、入力文字列に点線の下線がある状態で、 Tabキーまたは右カーソルを検出し、フォーカスを移動させたいんです。 それは可能でしょうか? もしできるなら、どのようなコーディングになるのでしょうか。 教えてください。よろしくお願いします。
879 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:39:01 ] 2ちゃんでの答えに説明力不足もくそもない。 直後に書いた答えに説明力不足もくそもない。 一言使うメソッド教えるのに説明力不足もくそもない。 読解不可能な答えでも何でもない。
880 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん [2009/10/15(木) 01:49:10 ] >>879 後輩に嫌われそうなタイプだなw
882 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:51:35 ] 自アプリ以外から起動したinternet explorerの特定のタブのHtmlDocumentを取得するのって自前でCOMの処理書かないと無理なの? 簡単にアクセス出来るクラスとか無いの? COM使った実装は実現出来ているんだけどもっと簡単な方法が無いかなって思っての質問だけど
883 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:54:48 ] 少なくとも標準ライブラリにはない Shell32とか使えば多少は楽になるかも知れんがまあ大差なかろ
884 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:56:14 ] >>881 ここは2ちゃん
885 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 02:00:53 ] >>883 サンクス なんかこの当たりもっと対応して欲しいよね C#は先進の技術で作られているのにM$純正のアプリですらレガシーな技術を使わないとアクセス出来ないとか意味不明すぎる IEに至っては構造が歪すぎて本来COMで提供されているべき機能がWindowMessageを使わないとアクセス出来ない機能まであるし
886 名前:デフォルトの名無しさん mailto:sage [2009/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していくようにすれば良いんじゃね
887 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 02:05:38 ] >>885 他のプロセスの内容をのぞき見るとか、マネージドという方向性とは正反対じゃねーか
888 名前:デフォルトの名無しさん [2009/10/15(木) 02:08:14 ] >>884 それも含めて言ってる
889 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 02:11:45 ] >>887 いやいやw自分のアセンブリから他のアセンブリのパブリックメソッドを呼び出すのは実にマネージド的じゃんw IEがアセンブリでちゃんとそう言うメソッドを公開していれば ブラックボックスになっている他プロセスをわざわざ覗き見る必要なんてないじゃんかよ?w
890 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 02:21:11 ] >>880 ・GetDirectories()→GetFiles()の2段階にする ・条件緩めてGetFiles()→自前でフィルタ のどちらかだろうな とりあえず前者をLINQで書いてみた (SelectMany便利だねぇ) Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories) .SelectMany(d => Directory.GetFiles(d, "*.jpg"))
891 名前:デフォルトの名無しさん [2009/10/15(木) 03:17:44 ] >>886 \nでくっつけて後でSplitはあり得ない 自分でもそう思います。はい。レベルアップしたいです。 List<string>を試してみます。 List<string>って、ListBoxと扱いはいっしょ? >>890 これがLINQですか…。 string[] photofiles = Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories) .SelectMany(d => Directory.GetFiles(d, "*.jpg")) だと、 型 'System.Collections.Generic.IEnumerable<string>' を 'string[]' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください) なんですけど、この変換が、886さんのいう型変換ですか?
892 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 04:07:29 ] ToArray()でクエリを評価して結果の配列を受け取ればおk 列挙子(IEnumerable<string>)が返されるってのはLINQの重要なポイントなんで、今は分からなくとも頭の隅に置いとくといい。 string[] photofiles = Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories) .SelectMany(d => Directory.GetFiles(d, "*.jpg")).ToArray();
893 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 06:05:10 ] >>891 個人的な意見だが 今のレベルではLINQ理解しようとしてもただただ混乱が増えるだけに見える。 勉強目的ならば、Listを使って>>865 を改善できるように頑張った方がいい LINQにこだわりたいのならば、誰かに作ってもらった動くものを 今はコピペするだけにとどめておいた方がいい と思う。 あと変数名の付け方もちょっと気になる
894 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 06:26:23 ] >>880 ToArray() もうちった勉強しろ
895 名前:デフォルトの名無しさん [2009/10/15(木) 06:42:22 ] >>878 ですが、どなたかご存知ではないでしょうか? これができれば使いやすくなるのですが…。
896 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 07:07:22 ] 右パネルに移動したとして検索フォームには何も入力されないまま? というかそれ使いやすいか?
897 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 07:16:59 ] 昔はImmほにゃらら関数とWM_IME_COMPOSITIONで可能だった 今はどうだかしらんが
898 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 08:15:47 ] >>878 そんなIMEの実装に依存するような動作はやめたほうがいいと思う。 MS-IMEは変換中のキー入力の起動を任意にカスタマイズできるし、 ほかのIMEが入ってる環境ならなおさらだ。
899 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 09:19:57 ] >>876 ?
900 名前:デフォルトの名無しさん [2009/10/15(木) 11:21:29 ] >>878 表示される文字とは別にKeyDownイベントで キー入力だけチェックするのはどうよ 「ちゅうおう」って打ってる後ろで [chuuou]って取得しつつ検索結果を常に別窓に表示する
901 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 12:00:03 ] >>878 個人的には>>898 ,896と同感 あと >右手のパネルに「ちゅうおう」のフリガナを含む全病院、診療所が表示され、 って、それは読み仮名検索を実装していて病院名検索とは別のもの、ってこと? >>900 それは、後々整合性保つのがめんどくなっていくと思うなあ
902 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 12:05:53 ] 今議論してる話は、Youtubeの検索欄が実現できてるな。 (どうやってブラウザで確定前の入力が取れるのかが激しく謎だが) 便利かなと思わないでもないが、確定前に候補が出てくるので 今入力中の検索ワードを確定したらいいのかせんでいいのか迷ってしまう感じ。
903 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 12:20:26 ] というか、googleのインクリメンタルサーチだと思ったが いやまあ根本的に同じものなんだけどさ まあアレはブラウザのサイズによってはすごくキモイ挙動になるけど・・・ クリックでも、確定してから矢印キー操作でもお好きな方でどうぞ。 ブラウザ上だったら、タイマー使って簡単に実現できるよ DOMからvalueの中身を見るだけで未確定でも取ってこれる。
904 名前:デフォルトの名無しさん [2009/10/15(木) 12:48:44 ] 少し逸れた質問かもしれないが、変換ツールがIMEかそれ以外かを判定しる方法ってありますか?
905 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 12:53:00 ] >>904 ユーザーに『パン作った少年』と変換・入力させて、 『パンツ食った少年』が入力されればMS-IME :)
906 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 13:07:25 ] >>905 すでに修正変換していた場合、むりだろw
907 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 13:12:44 ] Messagebox.Show("パンツは食えません!","エラー");
908 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 13:20:01 ] ImmGetDescriptionとかImmGetIMEFileNameとかで判断する
909 名前:デフォルトの名無しさん [2009/10/15(木) 17:46:39 ] >>892 できました。動きました。大感謝。 >>893 おっしゃるとおり。LINQはとりあえず892さんの作っていただいたのを眺めながら勉強したいと思います。 そう、そのまえに自分ではListをやってみないと。 Listで865を直してみます。 >>894 わかった! ありがと。勉強するぜっ!
910 名前:850 mailto:sage [2009/10/15(木) 19:00:53 ] お世話になってます。 なんとか参照して表示までこぎつけましたが内部はかなりへんてこなきがします どうなのでしょうか public class zasseki { public string zs1() { string a = "名前"; return a; } と言うのを73個作り newを使いクラス生成 そして、form1に public void Form1_Load(object sender, System.EventArgs e) { label1.Text = zsk.zs1(); とずらーっと入れました。 なんか他にも出来そうですが一応表示は出来てるので このまま進めてもいいんでしょうか
911 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:03:04 ] > と言うのを73個作り /' ! ━━┓┃┃ -‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━━━━━ ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃ ' Y ー==j 〈,,二,゙ ! ) 。 ┛ ゝ. {、 - ,. ヾ "^ } } ゚ 。 ) ,. ‘-,,' ≦ 三 ゞ, ∧ヾ ゝ'゚ ≦ 三 ゚。 ゚ '=-/ ヽ゚ 。≧ 三 ==- / |ヽ \-ァ, ≧=- 。 ! \ イレ,、 >三 。゚ ・ ゚ | >≦`Vヾ ヾ ≧ 〉 ,く 。゚ /。・イハ 、、 `ミ 。 ゚ 。 ・
912 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:03:45 ] 話を聞くだけで頭が痛くなるコードだな…
913 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:06:44 ] もういっそエクセルでやってくれ・・・
914 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:12:14 ] もうそれ紙に書いた方が良いよw
915 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:15:36 ] >>910 もうどこから指摘して良いのやら全然ダメなやり方です C#の本を1冊買って読みながら作った方がいいと思うよ 基礎をおろそかにしては次のステップへは進めない
916 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:20:19 ] まずクラス名のザッセキが気になる
917 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:28:27 ] うん、まずは配列覚えようか
918 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:31:55 ] 取り合えず 配列 でググろうか
919 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:32:49 ] 俺は本なんてよまないからいまだにオブジェクト指向とか意味わかってないけど経験でなんとかやってこれた。 あたって砕けて覚えていくのが楽しいものですといいたが、苦労したくなかったら本読め
920 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:44:28 ] さすがに本読んでなくても 70も同じコード書いてたらなんかおかしいって思うだろ普通
921 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:51:18 ] プログラム書くときって普通合理化しようと思うものじゃないの? 初心者とか以前に最低限、初心者用の本を読むとかアルゴリズムの入門編くらいは知っておけよ
922 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:52:46 ] テキストボックスに、数字以外のものを入力させたくないのですが どのような方法があるでしょうか? 右クリック、コピペでの貼り付けは考えなくて結構です。
923 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:11:09 ] >>922 Validatingとか
924 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:18:59 ] かれこれ2ヶ月やってこれです。 死んだほうがいいですかね。
925 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:21:03 ] あ、↑910です まじめに会社を辞めようかとも思ってます。ありがとうございます
926 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:26:36 ] >>924 二つ質問があるんだけど 本は読んでいますか?読んでいれば何という本を読んでいますか?
927 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:29:50 ] >>926 読んでいる最中で 猫でもわかるのC#を読んでいます。 やってるときは普通にこれじゃ意味ないなとか思ってたんですが どうしたらいいか分からず上のようになっています。 ちゃんと読んで、サンプルも作ったり改造したりしてるのですが 全然だめですね。ほんとに死にたくなると同時に無能さを感じました。
928 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:31:00 ] >>924 うそ、だろ・・・ 俺も8月頃C#始めたけど(勉強のためにこのスレ見てる) さすがに配列くらいわかるわ・・・
929 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:34:11 ] 初心者本が初心者にやさしいとは限らないからねえ 910の場合、本読んでるなら本の影響だろ
930 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:39:45 ] どんな初心者本でも配列くらい載ってると思うけど…
931 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:45:55 ] プログラムにバグがあるとき以外 発生しない状態になったときは InvalidOperationException 投げておけばいい? それとも、ApplicationException?
932 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 20:54:17 ] >>931 その状態ってのが具体的にどういう場合なのか 引数がおかしければInvalidArgumentだし メンバが変な値になってればInvalidOperationだし なんかアプリ固有の例外を投げるべきかも知れないし どんな例外もピンと来ない場合はなんとなくInvalidOperation投げることもあるけど ApplicationExceptionは元々アプリ固有の例外を定義するための基底クラスとして用意されてた ただし全部Exceptionから派生するようにガイドラインが変更されたので死にクラス
933 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:02:54 ] 「使い方が間違ってる。コードを修正しろ。」という意味で例外を投げる場合は InvalidArgumentExceptionやInvalidOperationExceptionのようないい加減な例外を投げておくべき。 わざわざ固有の型を作るとキャッチしてくれという意味に取られかねない。
934 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:08:02 ] >>922 KeyPress() イベントで e.KeyChar と e.Handled を使ってふんだらら。 ごめん。詳しくは覚えてない。
935 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:08:34 ] zassekiにほれたのでやってみた。 呼び出し側のForm public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.ZassekiEvent += Sekigae; frm.Show(); } private void Sekigae(object sender, EventArgs e) { var txtBox = sender as TextBox; if (txtBox != null) { this.Controls.OfType<TextBox>() .Where(t => t.Name == txtBox.Name) .Single().Text = txtBox.Text; } } }
936 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:09:55 ] 席の情報をもつForm 駄作だがうけとってくれw public partial class Form2 : Form { public delegate void ZassekiEventHandler(object sender, EventArgs e); public event ZassekiEventHandler ZassekiEvent; public Form2() { InitializeComponent(); foreach (var txt in this.Controls.OfType<TextBox>()) { txt.TextChanged += new EventHandler(zasseki_TextChanged); } } void zasseki_TextChanged(object sender, EventArgs e) { ZassekiEvent(sender, e); } }
937 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 21:12:07 ] Form1とForm2のTextBoxは同じ名前という前提で頼む。 Form1.TextBox1とForm2.TextBox1がつがいになる。 保存を考えたら外部のリソースにたいしてバインドするほうがいいだろうな。
938 名前:デフォルトの名無しさん [2009/10/15(木) 22:16:34 ] リソースとバインドの意味がわかりません
939 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:19:36 ] >>846 みたいな設計にするってことだろ いわゆるデータバインディングなどを使うかどうかは別にして
940 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:19:48 ] 辞書ひけカス
941 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:24:49 ] C#初心者って言ってんのにデリゲート唱えるコードとかwwwドSw
942 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:31:27 ] LINQ避けてわざわざforeachで回されると長くなってうざい どうせイベントとか使ってる時点で理解できないだろうから短く貼ってくれた方がいい
943 名前:デフォルトの名無しさん [2009/10/15(木) 22:34:54 ] この程度で長いって……
944 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:37:24 ] ここでLINQを使うならいったいどのように書くんだ? そっちの方が横に長くなると思うけど
945 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:44:45 ] 奥に長くしてくれ
946 名前:942 mailto:sage [2009/10/15(木) 22:45:52 ] いや>>941 が.Where(t => t.Name == txtBox.Name)に文句付けてるのかと勘違いした たぶんイベント使ってるのが難しいと言いたいんだろうな
947 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 22:56:42 ] 初心者がやるならテキストファイルから入出力でしょうね。 配列、入出力あたりは早めに覚えておきたい。
948 名前:942 mailto:sage [2009/10/15(木) 23:01:34 ] フォーム間のやり取りにわざわざテキストファイルを介するの? そこまでして無理に今やることはないと思うぞ さっさとオブジェクト指向の勉強とか済ませてしまった方が早い
949 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:52:32 ] それよりいまの問題は配列をしらない事だろうw
950 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:53:55 ] これを題材に、一歩ずつ学べるようにリファクタリング&機能追加するような教材を作ったら・・・ 別に売れないかなw
951 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:56:38 ] >>942 保存はどうするの?
952 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:56:46 ] あれか、一回70個コピペさせて 面倒でしょ?そんな時に配列!ってか
953 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:58:58 ] 配列!そういうのもあるのか!
954 名前:942 mailto:sage [2009/10/16(金) 00:00:24 ] Excelでいいじゃん
955 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:01:56 ] ×そういうのもある ○最低限の知識
956 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:07:03 ] これは面倒すぎるありえないっていう感覚は大事だと思う
957 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:12:35 ] ttp://uchukamen.com/Programming1/ToRecycleBin/index.htm を参考にして、ファイルをゴミ箱に入れようとしています。 ダイアログを出さないようにフラグを sh.fFlags = Shell.FOFlags.FOF_NOCONFIRMATION ; に変えたら、ゴミ箱に入らずに消えてしまいました。 ダイアログを出さないようにゴミ箱に入れるには、FOF_ALLOWUNDOも同時に指定する必要があると思うんですが、 +でつなげても0x0050にしてもエラーが出てしまいます。 同時指定のやり方を教えてもらえませんか。
958 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:17:32 ] >>955 孤独のグルメ
959 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:24:02 ] で、その配列とやらをどう活かすですか
960 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:36:42 ] >>957 組み合わせ可能な列挙体を組み合わせるのはビットごとの論理和演算子である | を使う
961 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:52:36 ] >>960 あっさりと想定通りの動きをしました。 ありがとうございました。
962 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:02:35 ] >>935-936 設計と命名以外でダメ出してみる (×:MUST be fixed、△:SHOULD be fixed) ×Form2.ZassekiEventイベントのソースがForm2のインスタンスじゃない → ソースはそのイベントを定義している型かその派生にする ×Form2でZassekiEventがnullのときにNullReferenceException → nullチェックを入れるかnullにならないようにする △ZassekiEventHandlerのシグネチャがEventHandlerと同じ → 単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある △Form1.Sekigaeメソッド内のWhere(...).Single()は無駄 → Single、Firstなどには条件を指定できるオーバーロードがある
963 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:05:54 ] ウザ
964 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:29:35 ] 次スレの予感・・・
965 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 02:05:32 ] >>924 おれはプログラミングはじめて1ヶ月でAPIを駆使して winnyのリストボックスの内容を取得して ハッシュを収集したり無視したり自動でキャッシュ削除するソフトを作ったよ 向いている向いてないがあるんだろうな
966 名前:965 mailto:sage [2009/10/16(金) 02:11:57 ] プロパティ、フィールド、クラス、値型とか意味知ってるか? おれはまず文法を一通り読んだ それでわからなかったら、初心者サイトで調べ、それでもわからなければ 別の初心者サイトを見る。 わからないことをわからないままで横着して進めようと焦る気持ちはわかるが 他と違って、プログラミングはコツコツ覚えていくしかない 体で覚えていこうなんてするなよ
967 名前:デフォルトの名無しさん [2009/10/16(金) 03:02:00 ] >>965 みんなお前みたいに暇じゃないんだよw 一ヶ月根詰めればそれぐらい出来るわ
968 名前:965 mailto:sage [2009/10/16(金) 03:16:12 ] おっさんのおまえらには無理だろうなww
969 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 07:09:02 ] 細かく調べる前に勘で書いて体で覚えたけど 最初に作りたい物が決まってるならこの方が早い そのあと詰まった所で随時調べる
970 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 07:35:24 ] >>962 指摘thx >>→ ソースはそのイベントを定義している型かその派生にする プロパティでget/setできればOK? >>→ nullチェックを入れるかnullにならないようにする このケースでnullになるかな?けれどもnullチェックはしたほうがいいね。 >>単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある よくわからん。 >> Single、Firstなどには条件を指定できるオーバーロードがある Whereいらなかったね。ひとつ賢くなった。
971 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 08:39:02 ] また夜中なのに異常に伸びたなと思ったら予想通り
972 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:28:50 ] ポインタを使ったアルゴリズム、チェインとか木とかあるけど 同じような動作をするものでunsafeしないでC#で行うことはできますか? 厳密なメモリアドレスへの操作というわけじゃなくて あるカプセルの参照と値を持つカプセルを関連付けていければいいだけなんだけど
973 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:35:20 ] 何言ってるかわかんね LinkedListでも何でも好きなの使えよ
974 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:36:27 ] >あるカプセルの参照と値を持つカプセルを関連付け Dictionary<TKey,TValue>で両方に参照同じ渡せば。
975 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:42:57 ] フォルダを作ってそこにクラスファイルを入れると そのクラスを利用する場合 フォルダ名.クラス名 としなければなりませんよね? でも、パっと見でフォルダ名なのかクラス名なのかがわかりにくいと思いませんか? わざわざフォルダ名を書かなければいけないのっておかしい気がするのですが
976 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:44:19 ] namespace変更すればいいだろ… VSに文句言う前に言語仕様から理解しような
977 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:47:07 ] MyClass.System.TxtReader があり、TxtReaderをSystemフォルダにいれた場合 System.TxtReader と書くと、Systemはフォルダ名なのかクラス名なのかわかりにくくないですか?
978 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:48:21 ] >>976 じゃあ、フォルダの数だけnamespaceを作れと? namespaceを大量生産するってそれこそありえないと思うんだけど
979 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:48:32 ] 名前空間でググレカス
980 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:49:57 ] TxtReader.csのnamespaceをMyClassにすりゃいいでしょう。 馬鹿としか言えない。
981 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:50:23 ] >>978 誰もユニークにしろとは言ってないぞw
982 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:51:30 ] ググレといのはこのスレの本分ではないと思うのですが?
983 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:52:48 ] new System.IO.DirectoryInfo(@"c:\"); これの"IO"はフォルダ名なのかクラス名なのか分かりにくいだろうか。
984 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:55:03 ] フォルダ名と呼ぶのをやめて欲しい そんな用語はない VSがフォルダと同じ名前の名前空間を自動生成しているだけ
985 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:55:15 ] >>978 お前が何を悩んでいてどうしたいのかさっぱり分からない。 C#はjavaと違って好きに名前空間を指定出来るぞ。 俺はフォルダ名と一緒が一番いいと思うが。
986 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:56:10 ] 次ぎたててくる
987 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:57:08 ] >>984 そういうことかわかった^^
988 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:59:02 ] pc12.2ch.net/test/read.cgi/tech/1255658236/
989 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 11:13:07 ] >>975 そんな規則はない。 コーディング規約的にnamespaceとディレクトリ配置が一致していることが望ましいだけ。 間違った思い込みをする前に、MSDNで一次情報に当たる習慣をつけよう。
990 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:58:02 ] .NETの命名ガイドラインに従うと,確かにA.B.C.Dだけ見て 名前空間とクラスとプロパティを見分けることはできないんだけど 実際それで困ることある? だいたい分かるじゃん java.lang.System.outとかキモい
991 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:07:04 ] おそらく、開発環境ソフトが見分けをサポートすべきという思想なんだろうな カーソルでポイントすればヒントが表示されるみたいな
992 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:11:42 ] つーか、大文字小文字を打ち間違えたときも、 大文字と小文字を入れ替えたら名前が見つかってエラーがでなくときは、自動で修正してほしいもんだ
993 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:39:45 ] 俺も昔、スペルチェック機能みたいなのが欲しいと思ってた。MS-Wordでできるんだから Visual Studioでもできるだろう、と。 でも今はインテリセンスあるからいらない。みんな最初から候補に出てくる。
994 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 15:44:02 ] >>992 VBは実際にそれやってくれる C#は大文字と小文字を区別するのでわざとその機能は付けてないんだと思う 仮に現在大文字と小文字だけが違う複数の名前が無かったとしても, そういう機能があるとつい無頓着になってミスが発生しやすいからね
995 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:03:59 ] 大文字小文字が違うだけの変数名を作ることはまずなのにに なぜ区別するようにしたんだろうな publicの場合は先頭だけ大文字、privateは小文字って決め付ければいいのに
996 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:05:58 ] メインターゲットがC++やJavaからの移行者だから当たり前 それとVBとの差別化
997 名前:デフォルトの名無しさん [2009/10/16(金) 16:39:12 ] List<>の勉強中です。 List<string> photolists = new List<string>(); string[] photofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories); foreach(string photofile in photofiles) { if (photofile.Contains("good")){ photolists.Add(photofile); } } すこし書いてみました。動作のテストもしました。 List<>とstring[]とふたつ使っているところが、まだいまいちな気がします。 もっとスマートになりますよね? foreachを使わず直接配列を追加することは可能ですか?
998 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:50:35 ] フィルタリングが入る時点で「直接配列を追加」は不可能だろ 次のステップはContains("good")をメソッドに取り出した上でArray.FindAll、辺りかな この場合はList<T>の出番が無くなるけど
999 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:52:02 ] LINQを使うしかない var goodphotos = photofiles.Select(photofile => photofile.Contains("good")); photolists.AddRange(goodphotos);
1000 名前:999 mailto:sage [2009/10/16(金) 16:52:43 ] ごめんSelectじゃなくてWhereだった
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。