1 名前:デフォルトの名無しさん mailto:sage [2009/09/21(月) 17:41:44 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part44 pc12.2ch.net/test/read.cgi/tech/1251439041/
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を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。