1 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:30:18 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part40 pc12.2ch.net/test/read.cgi/tech/1239599317/
799 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:44:45 ] webbrowserのリンクをクリックしたらデフォルトのブラウザで開かせたいのですが red-treasure.com/report/?p=100 上のサイトにあるようなややこしいことしないとできませんか?
800 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:48:55 ] この程度でややこしいってどんだけw
801 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:49:03 ] 何がどうややこしいのやら
802 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 17:59:14 ] >>799 「デフォルトのブラウザーが何か」ってのはOS上のユーザー設定を参照しないといけないことだからなぁ。 そこのサイトのコードだけでできるってのは、十分シンプルだと思う。
803 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:36:32 ] BeforeNavigate とかではダメなんか?
804 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:43:30 ] すでに自分を起動していたら、古いほうのウィンドウを閉じて新しいウィンドウで処理する、というのはどう書くものですか? Processで自分の名前を取得して終了メッセージを送ったら、(当然のように)自分も終了してしまいました…。 あたりまえか。 多重起動を禁止するのではなく、行いたいです。 アドバイスお願いします。
805 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 20:50:40 ] 基本的な考え方は多重起動禁止と同じだけどね Mutex の代わりに EventWaitHandle 使う 新しいプロセスはイベント通知するだけでその後は普通に進める 前のプロセスはイベントを受け取ったら終了処理
806 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:13:06 ] 俺はMutex取得できた奴がサーバとしてSetPropでWHDLをプロパティ設定。 取得できなかった奴はクライアントとしてGetPropで見つけたWHDLに WM_COPYDATAで起動パラメータの情報を送信して終了。 サーバはWM_COPYDATAで受け取った情報で処理。 って作ってた。1.1だったからなぁ。
807 名前:806 mailto:sage [2009/06/21(日) 21:17:10 ] あ、古いほうを終了か。間違えた。すまん。
808 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:17:33 ] 古い方を閉じるならもう少し複雑になる。 同時に何個も起動したときにおかしなことにならないようにしないといけないから。
809 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:25:25 ] WHDL ってなんだよ・・・ せめて hwnd とかだろ
810 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:27:17 ] 正直、古い方を閉じる理由ってなんなんだろ?
811 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:29:23 ] ごめん、変数名をなんでかそう書いてたんで、そのまま追いかけて読んで 書いちゃったw >>WHDL ・・・マジ、なんでWHDLとか書いてたんだ?自分。
812 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:42:07 ] 古い方を閉じるなんてめちゃくちゃなUXだな
813 名前:デフォルトの名無しさん [2009/06/21(日) 22:02:33 ] .NET や Java などでクラス複製のインターフェースの ICloneable がありますが ICloneable に対するコピーの実装って 慣例的に シャロウコピー と ディープコピー のどっちなんでしょうか? それとも特に決まってないのでしょうか? よろしくお願いします
814 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:12:56 ] 特に決まってないな。 どっちかっていうとシャロウコピーな感じもある。
815 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:16:13 ] てゆーかICloneableってまともに機能している場面って見たことねーんだが
816 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:22:20 ] >>813 Javaは知らんが.NETでは特に決まってない。 Cloneは同じ内容だけど別物として振る舞うようなクローンを返せば、なんでもいい。 別にメンバが同じ値であったりそのコピーである必要はない。
817 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:44:16 ] >>805 EventWaitHandleで、 dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=23906&rev=1&no=0&KLOG=2 のページを見つけて、そっくりおなじように実装してみたのですが、古い方は閉じるんだけど、新しいウィンドウも開かない状況です。 う〜む。なにがいけないんでしょう? >>810 ビューアーのアプリケーションで、表示を自動/手動でリフレッシュしたいのです。外部から手動でリフレッシュするのには、新しいウィンドウを開くのがいちばん楽かと。 >>812 そ…そうかな…。 こういう場合って、どんなふうに実装します? ところでUXってなに? User eXperience?
818 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:48:23 ] >>817 そのウィンドウに更新ボタンを付けるのが一番素直な実装だと思うんだが?
819 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:06:00 ] >>814-816 レスどうもです。 ICloneable について触れてるサイトを何度か見かけたのですが、 どれも MemberwiseClone をそのまま返却する実装をしてたので、 ちょいと気になってました。 ありがとうございました
820 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:32:00 ] 自分も更新ボタンがいいと思う。更新(R)、最新の情報に更新(R)・・・と一般的。 二つ目のアプリ実行っていったら、普通はMDIにドキュメント追加とかタブ追加 だから選択ミス。 いつも使ってる(だろう)アプリ見たら分かりそうだけどなぁ。 秀丸、サクラエディタ、VS、IE、Firefox、WinMerge・・・
821 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:53:49 ] >>818 、820 なるほど。更新ボタンですか…。 更新ボタンをつけたとして、外部のアプリケーションから手動で押す場合には、どういうメッセージを送ればよいんでしょう? 具体的にはコマンドラインから指示したいのです。 サーバー的なシステムで、アプリケーションの動いているマシンには、キーボードもポインティングデバイスもない(操作しにくい)ためです。 コマンドラインから開いているアプリケーションにメッセージを送ることってできるんですか? これまでは、コマンドラインからおなじアプリケーションを実行してそれにメッセージを送信させようとしてはまってました。 「コマンドラインから」という条件は必須です。 メッセージを送るためのアプリケーションをもうひとつ作るのも考えたのですが、それならおなじアプリケーションで多重起動を監視するほうがよいかな、と考えて現在に至っています。
822 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:59:12 ] >>821 質問する時は条件を後出しするなよ…
823 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:00:12 ] >>821 まて、それでどうやって二番目のプロセスを起動しようとしている・・・? どうやって コ マ ン ド ラ イ ン か ら 打 ち 込 む 気 だ。 ネット越しならポート開けて待ってて、誰かアクセスしてきたら更新しろ。
824 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:01:45 ] >>821 コントロールされる側も自作アプリなんだから、 外部(ネットやシリアルポートなど)から操作できるように作っとけばいいじゃん。 適当にポート開けとくとかして。
825 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:04:50 ] ボタン押すだけならハンドル取得してクリックイベントを送るだけ
826 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:08:15 ] 相手がWindowsマシンなのにマウスも何もついてなくて、 端末がコマンドラインオンリーてのもずいぶん時代錯誤なシステムだな 両方ともWindowsにしてリモートデスクトップでも使えば一発で解決する問題のような そもそもどうやってログインしてるんだ? 電源が落ちたらどうするんだ
827 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 01:51:47 ] >>826 っ MONO
828 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 02:09:48 ] >>822 すみません。 >>823 、824 ポート開けるなんてのは初心者なもので、まだ書けません…。 もうすこし勉強します。 >>825 時代錯誤かどうかはさておき、現実にそういうシステムなので。 ちなみに、次のようにして解決しました。 コマンドラインから起動するときに、 taskkill /im Program.exe Program.exe としました。 EventWaitHandleの使い方を覚えられなかったのは残念…。
829 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 05:46:05 ] プログラムいくつか作っていくと、流用できるクラスが増えて 次のソフト作るの楽になるんだろうなと思ってやってきたけど 結局毎回一から全部作るんだよね ファイル入出力関連何度作ったことか やっぱ最初はこんなもの?
830 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 05:50:56 ] 汎用性を持たせられてないからだな
831 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 06:09:35 ] 汎用性ってすごく難しいよね 細かい機能使えるようにすると、元々あるクラス使えってことになるし 簡単に使えるクラスにすると、他のプログラムだと機能がたりなかったり そもそも何をしているクラスなのかわからなかったりで
832 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:07:47 ] 16進数 1FF は 10進数 511なわけですが プログラムのバイナリデータではFF01という風に逆順に並んでいるんですが こういうのを10進数511と変換するうまいやり方はないでしょうか?
833 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:10:02 ] char[]に変換して、foreachでstringに変換して連結。
834 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:37:32 ] byte[]に入れて、BitConverter.ToUInt16()
835 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:02:05 ] >>833 >>834 それだと逆順になったままなんですが FF01を511にする方法が知りたいんです
836 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:12:59 ] 良く分からんが、用意されてるメソッドで都合悪いなら自作すれば?
837 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:14:11 ] それがわからないから聞いているんだけど?
838 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:19:17 ] >>835 それ、普通に short で読み込んだら 511 にならない? Mono か何かでビッグエンディアンな CPU 上で実行してたりする?
839 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:24:03 ] 文字列の "FF01" とか?
840 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:32:04 ] >>835 普通逆順になるわけがないんだが、 お前いったいどんなプログラムで確認してる?
841 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:42:32 ] >>838 なるわけないし、ushortじゃないと範囲超える
842 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:46:43 ] >>840 どういう意味? あるアプリをバイナリ編集したいんだけど 数値の部分だけがFF01と反転している そのアプリのバイナリデータを取り込んで0x01FFつまり511とテキストボックスなんかに表示したいんだけど
843 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:47:01 ] >ushortじゃないと範囲超える くわしく
844 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:50:14 ] >>843 short=0xFF01; でやればわかる
845 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:53:40 ] で、同じようにDWORDの数値も本来の数値に変換したいんだけど 簡単な方法ありますか?
846 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:54:44 ] >>844 何言ってんだお前は。 今の値はそうじゃないだろw
847 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:55:38 ] >>842 byte[] data = {0xFF, 0x01}; Console.WriteLine(BitConverter.ToInt16(data, 0)); 512って出るだろ? 出たならお前の読み込むプログラムの方がおかしいってこった。
848 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:57:40 ] ちがう511のまちがい。 >>845 これで分かるだろ。
849 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:04:45 ] >>847 おおおおおおおおおすげーーーー なんで逆さまなのに511って出るんだ・・・
850 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:06:28 ] >>846 今の値がどうとかに関係なくWORDを読み込んで数値に変換するわけなんだからshortじゃだめでしょ
851 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:09:21 ] >>834 結局これだったわけねww ありがとう
852 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:15:19 ] 範囲外とか言い出すやつが何言っても無駄
853 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:17:55 ] >>850 そもそも今の会話からは符号付きかありかなんて読み取れないのに、 いきなり、>>841 とかいいだすお前がおかしいわ。
854 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:20:37 ] こういうのは「バイトオーダー」とかのキーワードを知ってればすぐ答が見つかるんだよな それを知らない時点で敗北決定
855 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:21:16 ] >>832 >プログラムのバイナリデータではFF01という風に逆順に並んでいるんですが ここでちゃんとWORDデータを変換すると言っているんだから できるひとは>>834 がすぐ出るでしょ WORDデータに対してshort持ってきちゃうなんて世間知らずもいいとこだ
856 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:22:42 ] なん…だと…
857 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:24:15 ] >ここでちゃんとWORDデータを変換すると言っているんだから どこだよっ >>832 をどう見ても符号付きか否かは不明。
858 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:26:57 ] どうかな。
859 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:30:36 ] バイナリデータ2バイト(FF01)=WORD=ushort
860 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:32:04 ] そもそも0xFF01はshortに収まらない 論破
861 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:37:24 ] >>831 それはまだ蓄積や経験が足りない。わからなくなるのは管理が悪い。 名前の付け方に統一ルールを作り、長くなってもいいからわかりやすさを最優先に考える。 使い方をソースファイルの頭などにちゃんと書いておく。 過去の自分は他人。他人が見て使用法が理解できないソースは未来の自分にも理解できない。 「いちいち書くのがめんどくさい」「書かなくてもわかってる、覚えてる」は禁句。 まあ、35歳ぐらいになれば記憶力も衰えてくるし、10年以上の蓄積ができてるはずだから 身にしみてわかるようになるよ。 大多数の人間は経験から学ぶ愚者だからね。
862 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:42:49 ] >>860 君おもしろいね
863 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:43:18 ] 大多数の回答者は本来のデータが0x01FFのリトルインディアンだと気づいているのに 見たまま0xFF01と解釈してるアホがいる バイナリファイルをバイナリエディタで開いてみたことないんだろうな
864 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:49:20 ] >>863 リトルインディアン?アメリカの子供に聞かせる歌でそんなのあったな バイナリから取り込むわけだから、元データがOxFFFFの場合もあるかもしれないと 想定して作らないとだめでしょ?何で符号無しと決め付けるわけ? 思い込みは危険だよ
865 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:52:01 ] リトルエンディアン 【little endian】 j-ken.com/category/all/data/637100/
866 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:57:27 ] 符号無しと決めつけてるのはushortじゃなきゃダメと主張してる人だな。 今の質問だとどっちか分からないから、shortではなくushortにしなきゃならない ってのは正しいかどうか確証はない。 shortじゃなきゃならない可能性もあるんだから。 符号に気をつけろだけなら異論はないが。
867 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:03:21 ] >>859 その解釈が、件のデータが符号付きか符号なしかという問題に対して何か意味を持つとは思えないな。
868 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:05:12 ] 何でそんなに符号に拘るの?そもそも符号って何よ・・・・ ushortじゃだめな理由なんてあるの?
869 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:16:18 ] 今北産業
870 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:18:20 ] >>868 同じバイナリで表現される整数値の意味が変わるからだ。 知らないならC言語の初級からやりなおせ。
871 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:28:18 ] >>870 なるほどそういうことか、難しいな
872 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:29:40 ] C言語は関係ないよ。
873 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:37:59 ] >>872 アホ
874 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:46:45 ] >>869 符号がどうとか 聞かれてもいないことに答えようとしている おせっかいがたくさん
875 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:51:34 ] なんでもこういう事言って満足してるアホがいるが、 普通に質問への答えに関わる事として重要なことだってのも分からんのか、 単に何か言いたいだけなのか、何なんだろうな。
876 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:55:46 ] ArrayListあるいは配列の中に入っているobjectを、 ToStringかけながらカンマ区切りで連結するのってどうやるんだろう? できれば区切り文字はあとから変更できる形が望ましい。 .NET 3.5以降ならLinq付随のジェネリックテンプレートが使えるんだけど、 サポートOS(2000以降)の関係で.NET 2.0でお願いします。
877 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:58:59 ] String配列生成 forでそれぞれToStringしながら配列に入れていく String.Join
878 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:01:56 ] ConvertAllだったかとString.Joinの組み合わせで。 あ、ConvertAllは配列にしてからじゃないとダメだったかな…
879 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:17:42 ] >>877 なるほど……。そんな感じでやってみようかと思ったらStringBuilderを見つけて、 そっちで書いてみたら簡単だったのでコード片を載せておく。 IronPython.Runtime.List python_result; var builder = new StringBuilder(); foreach(var e in python_result) { builder.Append(","+ e.ToString()); } Console.WriteLine(builder.ToString().Substring(1)); >>878 対象がIronPython.Runtime.ListなんでConvertAllは使えないっぽいね……。
880 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:47:10 ] パイソンは知らないんだが、ToArrayはないのかな? ToArrayしてConvertAllしてJoinに渡す。 ってまあ別にベタで書いても全然構わないんだけど。
881 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 13:00:37 ] IEnumeratorは返してくれるんだけど、ToArrayは無いのよね。 枯れたライブラリならともかく、 こんなホットなもの相手に中のコードはいじりたくない。 C#は巨大な.NETクラスライブラリの関係で 同じことをやるのに方法がたくさんあるから、最適な方法を探すのが大変ですね。
882 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 13:05:47 ] Listって名前なのにIEnumerableのみかよwww ……XmlNodeListもそうなんだよな
883 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:31:14 ] 提示された情報だけでは符号付きか符号無しか判断できないし 別に型が確定しなくても今回の質問には答えられる。 ちょっと注意書きを入れれば済むことだから両方書けばいいだけ。 BitConverter.ToUInt16() 符号無し BitConverter.ToInt16() 符号あり
884 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:35:02 ] DataGridViewの一番左の項目に1,2,3と番号振りたいんだけどどうすればいいですか? DataGridView.Rows[].Cells[0]のことではないです。
885 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:51:39 ] >>884 DataGridView.CellPaintingで
886 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:54:05 ] すいませんこれでいけました DataGridView1.Rows[0].HeaderCell.Value が、なぜか、マス目でいうと上から3つ目のところに表示されます 上から3つ目のマスが最初の行ということですか? だとしたら、その上の行はなんなのか?あとインデックスって-1になるということ? どうもよくわからない
887 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:00:27 ] ハァ? コーディングミスだろ。 www.dotup.org/uploda/www.dotup.org158297.png
888 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:08:24 ] dataGridView1.ColumnCount = 6; this.dataGridView1.Rows[0].HeaderCell.Value = "0"; Bthis.dataGridView1.Rows.Add("1","2","3","4","5","6"); やってるのはこれだけなんですが、行のヘッダは3マス目に0が入り Bのデータはなぜか2マス目の行にデータが収まります どうしてなんでしょうか?
889 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:24:38 ] 試しに新規プロジェクト作ってDataGridView貼り付けて そのコードだけを書いたやつ実行してみなよ。
890 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:25:07 ] >>888 人がわざわざ正しいやり方を示してくれているのに謝意も述べず、 自分勝手なやり方をしてそれがどういう結果をもたらすのか 自分で考えずに人に質問するような態度で、 答えを教えてもらえると思っているのか? ちなみに887≠オレ
891 名前:887 mailto:sage [2009/06/22(月) 16:26:25 ] 初心者スレの割にキビシイっすね
892 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:41:56 ] 愛の鞭です
893 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 17:36:29 ] 飴ちゃんちょうだい
894 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:19:42 ] バイトオーダー嫌って文字列で送った俺は勝ち組。
895 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:29:49 ] 数が少なく整数のみならそれが勝ちだね
896 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:01:33 ] エンコードが違って文字化け
897 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:36:57 ] コード以外の文字列はBASE64ヽ(´▽`)ノ検索無くてよかったよかった。
898 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 00:45:53 ] そんな私はwebで公開
899 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:28:34 ] byte[]に格納したバイナリデータをascii文字列にするにはどうすればいいですか?
900 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:33:02 ] Convert.ToBase64Stringが手軽で鼻血が出る
901 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:33:06 ] どんなバイナリをどんな文字列にしたいのさ
902 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:38:03 ] 31 30 30 25→100% みたいな感じです バイナリエディタのようなものを作ろうとしているので stirlingは左バイナリデータで右側にShift-Jis, ASCIIなどを表示してますよね? そういう感じのものを作りたい
903 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:48:11 ] charにキャスト
904 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:01:56 ] Encoding
905 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:04:34 ] >>899 dobon.net/vb/dotnet/string/getencoding.html
906 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 05:36:19 ] >>900 >>901 >>903 >>904 >>905 試してみますありがとう
907 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:47:01 ] なぜかBio100%を思い出した
908 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 10:02:41 ] どこからの連想か全く分からないが懐かしいな>Bio_100%
909 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:11:53 ] 俺がバイナリエディタを毎日のように使っていた時代と Bio_100%の全盛期が重なってね。で、>>902 から連想した。 あの頃はアセンブラが必須科目だったし、バイナリのデータ構造なんて 知ってて当たり前だった。ちょっと上の方で揉めてエンディアンの話とか。
910 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:16:26 ] >>909 > 知ってて当たり前だった。 の割にはあまり刊行物では取り上げられなかったけどな。
911 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:21:59 ] >>910 C/C++の入門書ならほぼ間違いなく取り上げてる話題なんだが、どうよ。
912 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:23:56 ] >>911 悪い、勘違いした。 バイナリの構造って、たとえばPEヘッダとかそういうのだと思った。
913 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:31:43 ] また話がそれかかってるので燃料投下する。 C#で作ったプログラムで他のモジュールを読み込む場合、 モジュールをサブディレクトリに置いた場合に アプリケーション設定ファイル(*.exe.config)に <probing privatePath="libs" /> といった形で検索パスを記入するが、他の方法はどういったものが挙げられるだろうか。 いいところ、悪いところなど教えてくれると助かる。
914 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:52:31 ] >>913 API
915 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:05:15 ] ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html を踏まえた上での話?
916 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 15:09:07 ] 確かにPEヘッダは資料が少なくて苦労した
917 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 15:18:16 ] そういうのって、Linkers & Loadersが出るまでは、断片的な情報しか 手に入らなかったような気がするけど。
918 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:58:25 ] 漠然とした質問ですが、 アセンブリ情報のGUIDってなんですか? なんのためにあるんでしょう。
919 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:23:06 ] 厳密名を定義するため
920 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:47:13 ] private void button1_Click(object sender, EventArgs e) { webBrowser1.Url = textBox1.Text; } エラー 1 型 'string' を型 'System.Uri' に暗黙的に変換できません。 webBrouserのURLプロパティに文字列を渡したいのですがどうすればできますか?
921 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:49:35 ] できません
922 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:52:30 ] string型をUri型に変換するメソッドを使うよ webBrowser1.Url = New Uri(textBox1.Text);
923 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:01:04 ] >>919 何さらっと嘘書いてんだっ
924 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:11:56 ] webBrowser1.Navigateでできました。 かなり前に使ったときは別の方法を取ったのですが… もうひとつ質問なのですがJaneの板一覧とスレ欄の間にある移動可能な敷居?はなんという名前でしょうか?
925 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:15:12 ] JaneはWinFormじゃないから同列には論じられないけどな .NET 2.0のWinFormならSplitContainer
926 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:18:09 ] >>925 ありがとう
927 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:35:14 ] 3週間経たずに埋まってしまいそうだな
928 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:33:30 ] LINQでfromが複数ある場合の挙動ってどうなるんでしょう。 情報を調べても見つけれず、実際の動作調べてはみたものの、 状況次第で動作が変わっているようなのでちょっとキモチワルイです。 var src = { "Hoge", "Hage", "Huge" }; var dist1 = from p in src from q in src // pから取得した値以外をqの情報源にすると... select new { P=p, Q=q }; // {Hoge,Hage,Huge}x{Hoge,Hage,Huge} 全組み合わせ9通りに展開される var dist2 = from p in src from q in p // pから取得した値をqの情報源にすると... select q; // 全pの中の全qの数だけ展開される。つまりH,o,g,e,H,a,g,e,H,u,g,eの12個 // {H,o,g,e,H,a,g,e,H,u,g,e} x {Hoge,Hage,Huge}の全組み合わせ36通りにはならない
929 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:46:24 ] それぞれfrom...inの代わりにforeachで列挙してみれば分かると思うよ
930 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:48:02 ] >>929 あぁ、なるほど、納得です。ありがとうございます。
931 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 03:31:23 ] メソッド構文で書くとこう var r1 = src.SelectMany(_ => src, (p, q) => new { p, q }); var r2 = src.SelectMany(p => p); こちらのほうが実際の動作イメージはつかみやすいと思う。
932 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 04:32:33 ] 会社でWindows 2000の縛りがあって いつまで経っても.NET 3.0〜3.5の世界に踏み込めないオレは Linqなどグッジョブなテクノロジーがうらやましいぜ!
933 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:32:51 ] こんな時間に起きている人ってプログラマーじゃないよね? ホビーグラマーだよね?
934 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:33:59 ] いつも5時に起きて23時に寝ていますよ
935 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:35:48 ] そんな健康的なプログラマーがいるのか
936 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:39:57 ] 個人事業主ですが
937 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 05:56:36 ] >>936 雇ってください。年収200万で何でもします
938 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:02:42 ] ふらっとC#プログラマ始めました(初心者用) Part1
939 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:28:20 ] >>937 個人投資家ですが、ほんとうに200万でいいですか?
940 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:34:06 ] 939はC#プログラマ(初心者)兼、個人付きメイドをゲットした。
941 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:36:54 ] メイド服も着れと言われれば着ます。男ですけど。 子供の時は女の子に間違われていたのでカツラも用意していただければたぶん・・・ プログラミングは最近始めたので余りお役にいは立てません
942 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:43:12 ] 住民税+来年度の予定納税で 250万を超えることになって、 すでに死にかけですよ・・・orz
943 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 06:45:30 ] 金融から200マン借りてる俺よりマシ
944 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:25:24 ] クラスは出来るだけ簡略化して多く作った方がいいとよく言われていますが そうなんですか? メソッドみたいな短い命令文をクラスにして大量に作るって感じでしょうか?
945 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 07:32:49 ] >>944 そうではなく、情報同士の依存性をなるべく減らすべき、ということ。 そして情報同士の関係性を形作る設計は、デザインパターンと呼ばれてカタログ化されている。 もっとも、.NET クラスライブラリみたいな巨大なツールセットが最初からあるから、 そもそもそのような複雑なことを考えるまでも無くかなりのことができてしまうわけだが。
946 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:31:18 ] >>944 問題は大きさとか数じゃなくて、ちゃん整理されているかどうかだよ。 どちらかと言えば簡略化すべきはクラスじゃなくてメソッドだな。 単純で確実に動くメソッドは再利用もしやすい。
947 名前:デフォルトの名無しさん [2009/06/24(水) 11:42:44 ] Linqについてうまいことまとまってるサイトや書籍はないですか? 概論や入門レベルの情報はたくさん見つかるんですが、応用というか 「こういう事もできますよ」といった感じの
948 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:43:38 ] >>945 >>946 なんか奥が深そうですね 話は変わるけどプログラムする人は頭良さそうだけど よくテレビでやってる能力テスト(知識を必要とするクイズとかじゃなくて)などはいい点取れるの? 関連のある図形を選びなさいとかの問題だとすぐ解けそうだね
949 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:48:16 ] 気のせいだ
950 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 11:57:53 ] 昔IBMのプログラマー適性検査みたいなの受けたが まさにその図形を選んだりする、子供の時やった知能テストみたいなやつだったな。
951 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:10:54 ] すいませんC#で作ったソフトは、別途ランタイムが必要ですか?
952 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:18:43 ] >>951 いるいる VISTA以降ならいらない
953 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:28:46 ] 将来 .NetFrameWork6.7b以降が必要 なんてプログラムがでてきても Vistaなら・・・Vistaならなんとかしてくれる!
954 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:30:05 ] >>952−953 ご丁寧にありがとうございます Cの勉強で頑張ってみたいと思います
955 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:30:24 ] byte[] data=new byte[5000]; BitConverter.ToInt16(data,0); これでバイナリデータを数値に変換できたんですけど data[6]〜data[7] だけを数値にしたい場合良い方法はないでしょうか? 必要なだけ空の配列に代入しながらするのは大変なのです こんな感じでかなりの数があるので data[8]〜data[10] data[200]〜data[204] data[1200]〜data[1204] 今はこんな感じで代入してます num[0] = data[0x80]; num[1] = data[0x81];
956 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:32:54 ] >>955 同じような処理は関数化すればいいでそ
957 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:35:22 ] BitConverter.ToInt16(data, 6); BitConverter.ToInt16(data, 8); BitConverter.ToInt16(data, 200); BitConverter.ToInt16(data, 1200);
958 名前:デフォルトの名無しさん [2009/06/24(水) 12:36:17 ] Bufferクラス
959 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:36:23 ] >>952 ウソ言うなやボケ。 XPであっても、VISTAであっても、7であってもランタイムは必要。 VISTAには2.0と3.0のランタイムがすでに入っているが1.1や3.5,4.0のランタイムは含まれていないので 別途インストールしないとだめ。
960 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 12:41:53 ] >>956 private byte[] byteSpliter(byte[] data, int startIdx , int length) なるほど、こんな感じかな? >>957 これでいけましたw それ以降全部数字に変換されると思ってました ありがとうございます
961 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 13:02:51 ] 職業プログラマーの適性は協調性があること、 コミュニケーションができること。 あとは腰痛などの持病がないこと。
962 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 13:05:26 ] プログラマは協調性が無く、女にモテなさそうだから就職しなかった
963 名前:デフォルトの名無しさん [2009/06/24(水) 13:11:25 ] 職業の性質上、元々問題がある奴が多いからそんな当たり前のことが言われてるだけだろ
964 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 13:15:02 ] 未経験でプログラミングのお仕事がやりたいんですけどどのスレで助言を頂けますか?
965 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 13:15:30 ] 助言を与える服がない
966 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:04:14 ] うちはプログラマの1/4はバイトからスタート。 2年ぐらいやってもらって見込みがあれば社員にスカウト。 あとの3/4は新卒か転職組。 いきなり未経験でプログラマーの正社員は無理じゃね?
967 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:07:24 ] マ板でやれ
968 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:07:53 ] バイトでよければ情報誌にいろいろ出てる うちも求人出してるし
969 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:10:05 ] 板違い
970 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:20:12 ] スカウトとか言ってる企業はブラック間違いなし。
971 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:42:49 ] 35でプログラマ目指している俺がきましたよ
972 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 14:47:00 ] 帰れ
973 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:35:18 ] ifを使って変数を比較したら何クロックぐらいですか?
974 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:38:05 ] >>973 ケースバイケース
975 名前:973 mailto:sage [2009/06/24(水) 16:44:53 ] 変数の型によって等の条件によって違ってくるような気がしますが 平均的にはいくつぐらいになるのでしょうか 数十くらいですか?
976 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:45:03 ] >>973 はツンデレ保守わかる
977 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:45:04 ] 知らないなら黙っててください
978 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:46:34 ] CPUのクロックを測定するスレがあるからそっちで聞いてみたら? 昔と違って並列で動作したり、C#レベルだとJITでの最適化などで 単純に測定できないことが分かると思うから。
979 名前:973 mailto:sage [2009/06/24(水) 16:48:24 ] >>978 そうしてみます。 ありがとうございます。
980 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 16:50:21 ] >>975 本気で聞いているの? 全体集合(比較可能な型の全ての集合)もわからないのに,平均ってなんぞい? 正確なクロック数はわからないけど,Step by Stepの利いていないCPUでWindows環境なら 数百万回くらい比較を行うループの実行時間とQueryPerformaceFrequencyからクロック時間が割り出せそう もちろんスレッドのコンテキストスイッチなど目にも留まらぬ速さの場合
981 名前:973 mailto:sage [2009/06/24(水) 17:05:22 ] 本気で聞いています。 厳密なクロック数が知りたい訳ではなく 数十なのか、数百なのか、数千なのか、 そのぐらいのレベルで知りたいんですが。
982 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:10:49 ] 980の言うように回数こなして実測が一番現実的だと思うがね。 CPUの命令レベルだったらだったら0〜2クロック。 分岐予測を失敗したらストールで数十クロックとか。意味ないっしょ。 cmp EAX, EBX jne LABEL1 それからJITで特定の方向にしか分岐しないなら分岐命令自体が削除されることもある。
983 名前:973 mailto:sage [2009/06/24(水) 17:13:18 ] すいません。 ありがとうございました。
984 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:13:54 ] >>981 今のCPUはパイプラインだし多重キャッシュだし投機だし、正確に計るのは無理というか、 前提条件が足りなさすぎ。 とりあえずコードが最適化されてて変数の内容が32bit以下の整数値なら レジスタに入ってるはずだからifは単純にCMP reg,reg、JE xxxxあたりに置き換えられて 合計で1.0クロック。 スレッドの遷移はifの数百倍以上のコストがかかるから外部から調べるのは困難。 詳しいことは、ここにCPUのマニュアルがあるから嫁。 INSTRUCTION LATENCY AND THROUGHPUTのところ www.intel.com/products/processor/manuals/index.htm
985 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:24:53 ] 誰か実際にやってみれ 1億回ぐらいループ回して平均 該当部分の逆汗も頼むぜ
986 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:28:07 ] なんか難しい話してるね 俺からしたら宇宙語だわ
987 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:28:53 ] 初心者スレでやるこっちゃないわな
988 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:29:14 ] >>985 言い出しっぺの法則
989 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:29:49 ] 誰か次スレ立ててくれ うちはずっと規制中で手も足も出ん
990 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:31:12 ] [>>1 ]>>980 を踏んだ人は新スレを建てて下さい。 C#, C♯, C#相談室 Part53 pc12.2ch.net/test/read.cgi/tech/1245150671/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/
991 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 17:41:47 ] 構造って作った後から重複をまとめて基本クラスにするのを繰り返すのが普通なんですか? それとも最初から基本クラスから考えて派生を作っていくんですか? 最低でも書く前にこれはベースにまとめていくのがいいと思って構造を作っていって、出来あがってからコード化するのが限界だと思うんですが 最初からベースクラスから考えられる人っているんですか?いるとしたら日本語から英語を勉強した人が頭で考えるのが英語になるぐらいすごいんですが
992 名前:デフォルトの名無しさん [2009/06/24(水) 17:55:24 ] いや基本的にそういう継承の使い方は間違い
993 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:12:14 ] >>991 3行目から下、いらないと思うぞ。何が聞きたいのかポイントがボケる。 最初から継承ありきで考えるのは、大抵の場合、間違いのもと。
994 名前:デフォルトの名無しさん [2009/06/24(水) 18:18:31 ] ある機能が重複するなら、その機能をクラスに括り出してそのクラスのインスタンスをそれぞれが持つようにする。継承は不要。 最近は継承よりもそういうやり方の方が良いとされてる。
995 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:26:20 ] 基本的には同じ動作だけど、個性を持たせたいとか オセロ作るときに初級AI、中級AIのために必要だなって思ったよ でも、継承しなくてもできることはできるんだよねー このときは継承じゃなきゃだめだってのがよくわからない
996 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:29:22 ] 単純に同じ配列、リストに入れたいときくらいかなあ
997 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:35:47 ] つinterface
998 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:37:45 ] うめ
999 名前:デフォルトの名無しさん [2009/06/24(水) 18:38:59 ] ポリモルフィズム使いたいときだけだな 実装の継承はまさに>>991 のような難しさがあるから避けられる そりゃControlみたいに完璧な設計ができるというならやればいい
1000 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 18:39:36 ] 継承は最後の手段って、あれは誰の言葉だっけ。マーティンファウラー?
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。