1 名前:デフォルトの名無しさん mailto:sage [2009/11/01(日) 18:23:31 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part45 (実質46) pc12.2ch.net/test/read.cgi/tech/1255658236/
610 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:31:38 ] はい次の方どうぞ
611 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:33:59 ] なんか根本的なところが間違ってる、とまではいわないまでも、考え違いをしているような気がする。 もういちどスタートラインに戻って考え直してみてはいかが?
612 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:49:16 ] WebBrowserのこんとろーる? を使ってるんだけど IEデフォルトのショートカットを無効にして自分で設定したショートカットを使うにはどうすればいいの?
613 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:18:17 ] >>573 ありがとう。研究してみる
614 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 01:52:12 ] 神回答者の俺がいなくなるとすぐに荒れるな まったくおまえらの役立たずぶりには困ったもんだ
615 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:17:39 ] さっきのものですが非表示起動はできたのですが その後、非表示から表示にきり変える方法が分かりません msdn.microsoft.com/ja-jp/library/system.diagnostics.processwindowstyle%28VS.80%29.aspx に、 Hidden 非表示のウィンドウスタイル。ウィンドウは表示または非表示のいずれかにできます。システムは、ウィンドウが非表示であることを示す場合は、そのウィンドウを描画しません。 ウィンドウが非表示の場合、そのウィンドウは無効になります。非表示のウィンドウは、システムまたはその他のウィンドウからのメッセージを処理できますが、ユーザーからの入力を処理したり 、出力を表示することはできません。アプリケーションは、新しいウィンドウを非表示にして、そのウィンドウの外観をカスタマイズしてから、ウィンドウ スタイルを Normal にすることがよくあります。 と、描いてあるのですが非表示で作成したプロセスをどうやって表示状態に戻すかが分かりません 作成したプロセスのWindowStyleを再度変更するにはどうすればいいのでしょうか? win32APIも試してみたのですが ProcessStartInfo startInfo = new ProcessStartInfo(save.memosoft); startInfo.WindowStyle = ProcessWindowStyle.Hidden; Process p = new Process(); p.StartInfo = startInfo; p.Start(); p.WaitForInputIdle(); Win32API.MoveWindow(p.MainWindowHandle,200,200,480,640,1); p.WaitForInputIdle(); Win32API.ShowWindow(p.MainWindowHandle,1); こんな感じで表示を切り替えようと思ったのですが非表示のウィンドウが表示されてくれません ShowWindowの2や3最大化・最小化なんかは、普通に動くので表示・非表示切り替えの部分だけ Cと、C#では別のものなのでしょうか? よろしくお願いします
616 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:25:23 ] >>615 すまん、Win32系のスレで聞いた方が早いかも 対象言語はC/C++になるとは思うが
617 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 02:29:22 ] どう考えてもC#の領域だろうが
618 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 08:52:57 ] >>569 Console.WriteLine("{0}, {1}, {2}", x, y, z); Console.WriteLine("{0:F18}, {1:F18}, {2:F18}", x, y, z); Console.WriteLine("{0:E18}, {1:E18}, {2:E18}", x, y, z);
619 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:11:00 ] ばかばっか
620 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:14:55 ] >>619 自覚しているんだねw
621 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:39:25 ] >>620 自覚しているんだねw
622 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:05:50 ] >>619-622 自覚してるんだぜ
623 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:33:39 ] ねぇ、オウムって賢いと思う?w
624 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:02:33 ] コンニチハ!オハヨウ!ボクピーチャン!ヨロシク!
625 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:04:39 ] >>586 やっぱContentControl渡すとスタックオーバーフローするな、これ。 何か窺い知れないオーバーロードあるかと試してみたんだが。 例示としては不適切だし、実コードなら見直しを薦める。
626 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:23:05 ] try catchってなるべくつかわないほうがいいの?
627 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:25:41 ] なんでそう思い至ったのか言ってみ
628 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:49:52 ] ム板の感じの悪さは異常。 無駄にプライドばっかり高くてスルー能力も足りず、話を脱線してでも一言いわずにはいられない。 勿論冷静な人も大勢いるだろうが、一部の幼児脳は単芝と^^を付けて顔真っ赤なのを隠しつつ 煽らずにはいられない。 ‥あ、このレスはスレチで、かつ釣りなので絶対にスルーして下さいね。 言わば例外ですが、これは仕様想定外の例外なので catch はしないで下さい。 こんなレスがある事自体が誤りなのです。その他はスルーしないで下さいね。
629 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 11:54:55 ] 簡単に画像を表示したり graphics gとか使ったりするのはフォームでもできるけど やっぱり画像処理はPictureBoxつかってやったほうがいいですか?
630 名前:デフォルトの名無しさん [2009/11/15(日) 11:55:46 ] >ム板の感じの悪さは異常。 結構学歴あって立場のある人間でも変態がいるからなぁw
631 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 12:28:29 ] >>615 なんでだろうな? CreateProcess() して、ShowWindow() なら表示されるんだよね? 表示・非表示以外はできる、ってことだから、ウィンドウハンドルはちゃんと取れてるんだろうし。
632 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 12:29:06 ] 煽り煽られはマの基本的な習性です。言語論争など尽きる ことがありません。そうやって知識とか整理されたり解決策を 導く兵達の世界なのです。でもこれを忘れて暗黒面に落ちる のは自重しようね! >>629 「画像処理」をもうちょっと詳しく。拡大縮小とかそんなの?
633 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:12:37 ] 楽しいからいいよ
634 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:20:44 ] axWMPコンポーネントを使い、 wmp.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(st); public void st(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) { MessageBox.Show("StateChanged"); } こうして、停止/再生を繰り返してもメッセージが表示されません。 何か間違っていませんか?
635 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:36:13 ] >>634 なんか最後の1行でフイタ そのライブラリって有名なのか? リファレンスにはその状況下でそれでハンドル出来ると書いてあるの? 最早知らないとわからない話の類だと思う
636 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:21:56 ] >>635 新規プロジェクトで、>>634 だけ張るとちゃんと機能してくれるんですが・・
637 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 14:51:27 ] WindowsMediaPlayerSDK見ると、サンプルで Player = new WMPLib.WindowsMediaPlayer(); Player.PlayStateChange += new WMPLib._WMPOCXEvents_PlayStateChangeEventHandler(Player_PlayStateChange); で private void Player_PlayStateChange(int NewState) { ・・・・・ } になってるな。
638 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 16:29:55 ] >>626 try に入る部分で負荷がかかるから try のネストはするなってのをむかーし Java か C++でのなんかで読んだ気がする。 C#はどうなのかはあんまり気にしたことなかったなぁ。 あと .NET だとこんなの見つけた msdn.microsoft.com/ja-jp/library/ms973839.aspx >.NET アプリケーションのパフォーマンス関連のヒントとトリック >送出する例外の数を減らす >例外の送出にはきわめて高いコストがかかることがあるので、.......
639 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:04:30 ] string s="abcd"; //いろいろやる s="efgh"; これって、いろいろやるを行っている間は"abcd"はガベジコレクタンの対象にならずに s="efgh"が実行された瞬間"abcd"がガベジコレクタンにぶっこわされるの?
640 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:23:56 ] 例外が投げられない時のtry catchのコストは無視していい。 まぁ例外のパフォーマンスを気にしないといけないほど、大量の例外を投げる作り方ってどうなのさ?
641 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:03:29 ] >>640 あるとしたらフロー制御に例外を使うとかじゃない? それが推奨されないやり方だからMSも注意を促してるってことかと。 >>639 瞬間に"対象になる"ってのが正しいんじゃね?すぐにぶっこわされるわけじゃないよ。 あと当然ながら何かに参照されてるインスタンスはガベコレ対象外だよ。 あれこれしてる最中にぶっこわされるとかあったら怖すぎるww
642 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:05:53 ] >>639 リテラルだからガベコレも何もない >>640 正常系で例外を利用するようなとんでもない実装も、 異常系が頻発するような滅茶苦茶な設計も普通に駄目だろ
643 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:07:03 ] >>640 ループの中でcatchしまくり&別にそれでループ脱出はしない、とか。 直接そういう書き方しなかったとしても、ループ内で呼び出してるメソッドの中の方でcatchしてたりすると なかなか見つけづらいんじゃないかな。
644 名前:デフォルトの名無しさん [2009/11/15(日) 18:42:50 ] 部分的に文字列の色やフォントサイズが変更されている1つのリッチテキストボックスの書式の内容を、1つのRectangle構造体の中に同じ書式で印刷することは可能ですか?
645 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:45:43 ] テキストボックスの文字列を数字のみか確かめるときに Parse使うのは駄目なの?
646 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:52:51 ] >>645 try catch の流れで聞いてる? なら TryParse を使いましょう。
647 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:10:06 ] >>637 どういうことですか?
648 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:16:37 ] >>642 リテラルかどうかなんて一切関係のない話だと思うけど。
649 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:18:44 ] >>647 宣言が違うってことじゃね?
650 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:19:55 ] >>645 正規表現使うのがオーソドックスなんじゃないの? まあ扱う数字が非整数かつ国際化対応を考えるとちょっと面倒だったりするんだけど。
651 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:21:14 ] Parse でいいだろ。指数表現とかをどうするか? とかって問題はあるけど。
652 名前:634 mailto:sage [2009/11/15(日) 19:30:38 ] >>647 は私では無いです >>637 wmpはprivate AxWMPLib.AxWindowsMediaPlayer wmp; こう宣言していました。 AxWMPを使って同じ事出来ませんか?
653 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:32:01 ] そういうのはParseとかTryParseで充分じゃね? 正規表現使う程のもんじゃないと思うが。 IsDigitでシコシコチェックするメソッド作るのも別にありだと思う。
654 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:52:04 ] >>648 リテラル文字列の参照はなくならないから、ガベコレの対象にはなり得ない
655 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:55:18 ] >>652 何をやって何がどうできないのか、全然わからんよ。 環境やら手順やら、落ち着いて書いてみ。
656 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:02:58 ] >>655 だけど、少なくとも、俺の環境(Vista 64bit + VS2008 SP1) では、 Windows フォームアプリケーションでツールボックスに Windows Media Player を追加して、 それをフォームに貼り付けて、プロパティウィンドウから PlayStateChange イベントが追加できるよ。 そんで、↓みたいな感じでイベントも取れてる。 private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) { System.Diagnostics.Debug.WriteLine(e.newState); }
657 名前:634 mailto:sage [2009/11/15(日) 20:07:58 ] >>655 AxWMPコンポーネントをデザイナで配置し、 AxWMPLibのPlayStateChangeEventHandlerを使い、曲が終了すれば、 次の配列にある曲を再生、というプログラムを作ってました。 先日、機能拡張を図ろうと、幾つかの機能(次曲移動等の簡単なもの)を制作した後、 プログラムを起動してみると、曲の終了が検知できていなく、これに気がつきました。 それまではちゃんとイベントも捉えられていたのですが、どこを編集したのかも分からなってしまい・・・
658 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:09:49 ] もう一度最初っから作り直せよ。
659 名前:634 mailto:sage [2009/11/15(日) 20:15:33 ] >>656 実際に試して貰ってありがとうございます。こちらの環境でも、新しくプロジェクトを作成すると、 void Form1_Load{axWMP.PlayStateChange += new AxWMPLib._WMPOCXEvents_PlayStateChangeEventHandler(ax);} void ax(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e) これでちゃんとイベントは取れています。 >>657 のソースでも同じように記載してありますが、何度そこを書き直しても駄目でした。 今気がついたのですが、>>657 のプログラムだと、新しくWMPのコンポーネントを生成しようとするとエラーが出て生成できませんでした; コンポーネント 'AxHost' を生成できませんでした。エラー メッセージ: 'System.Reflection.ReflectionTypeLoadException: 要求された型のうち 1 つまたは複数を読み込めませんでした。詳細については、LoaderExceptions プロパティを取得してください。 場所 System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore(IDesignerHost host) 場所 System.Drawing.Design.ToolboxItem.CreateComponentsCore(IDesignerHost host, IDictionary defaultValues) 場所 System.Drawing.Design.ToolboxItem.CreateComponents(IDesignerHost host, IDictionary defaultValues) 場所 System.Windows.Forms.Design.OleDragDropHandler.CreateTool(ToolboxItem tool, Control parent, Int32 x, Int32 y, Int32 width, Int32 height, Boolean hasLocation, Boolean hasSize, ToolboxSnapDragDropEventArgs e)' >>658 かなり膨大なプログラムになってしまいましたので、書き直すのは本当に最終手段にしたく思いまして;
660 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:19:36 ] なんか参照とかその辺がおかしくなっちゃってるんかな。 ソース管理を使ってれば、機能拡張以前にロールバックするところだけど・・・。 変に直すより、最初っから作り直した方が早いかもよ。
661 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:28:38 ] >>660 ですか。。 取りあえず参照周り弄ってみて、 駄目そうなら書き直すことにします。。 ソース管理?なるものがあるんですね。調べてみます。
662 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:36:02 ] つーか、デザイナから配置したなら、わざわざコードでイベント書かなくても、プロパティウィンドウから 追加できるだろ? 実際に配置したコントロールと別のものを使っちゃってるんじゃないの?
663 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:37:48 ] 初めてなら TortoiseSVN あたりが無難かと>ソース管理
664 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:42:02 ] >>662 それも考えましたが、そこから書いても同じでした。 現時点でwmpコンポーネントは1つしか使ってないので、 間違うというのも無いはずなので・・・
665 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:51:41 ] 廃棄周りの処理の流れを追うと何かヒントがあるかもしれなかったり 知らない内に廃棄してる、あるいは廃棄と同等な処理を呼んでしまってる あるいはそこら辺の動きが理解できていなくておざなりになってる とか
666 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:56:10 ] あるいは意表を突いてイベントのハンドラをRemOveしと再設定してる処理がある、とか 曲再生の度にDisposeやHandleの解放もせずに新たにnewしてたりして、そっちにハンドラAddしてないとか こういう謎な時は「それはありえない」って部分含めて丸ごと疑ってみるしかない
667 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:04:32 ] >>665 ,666 それはないと思います。 StateChangeのイベントハンドラでプロジェクト全体に検索かけましたが、 問題有りそうな箇所は見つけられませんでした。 dispose、new周りも確認しました。 曲再生はただURIをwmpに与えているだけなので、問題は無いと思います。 これでも数日間ソースとにらめっこしてたので、 もう新しくソース書くことにしました。。
668 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:09:08 ] QuartzTypeLibを使用して動画再生をさせているのですが、動画表示部(Panel)のクリックを拾ってくれません クリックイベントを拾う方法を教えてください
669 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:09:51 ] >>668 できますん
670 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 21:32:07 ] >>644 日本語になってねぇぇぇ。 リッチテキストボックスの内容を書式込みで印刷するのは出来る。 support.microsoft.com/kb/812425/ja 「1つのRectangle構造体の中に」がイミフ。
671 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:53:02 ] >>669 ど、どっちなんでしょうか? 可能であれば方法を教えていただけないでしょうか?
672 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:57:33 ] try{ >> 1-671 } catch { //確かに重い }
673 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:15:08 ] >> 1-671 何でスペース入れてんの?w
674 名前:デフォルトの名無しさん [2009/11/15(日) 23:17:41 ] >>670 ありがとうございます! 会社の各店舗がお客さんに配布する広告を作成しようとしています。 大半は、DB登録済みの商品内容を表形式で印刷するだけなのですが、 用紙の左下部分に、店舗ごとのフリー記載欄を設けたいんです。 例えば 「横浜西口店ではこんなキャンペーンを行っています!」←MSゴシック太字 であったり、 「三宮店ではこの商品がお得!!!!」←MS明朝の赤字 など、店舗ごとのオリジナルコメント登録フォームを設け、 リッチテキストボックスにコメントの内容と書式を設定してもらっておき、 その書式内容をそのまま、帳票の左下部分に反映させたいんです。 PrintDocumentコントロールなどの中で、 そのようなことを実現するにはどうすればよいでしょうか。
675 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:58:02 ] >>674 printメソッド見ると分かるけど、GraphicsのHDCの中に印刷領域決めてその中に リッチテキストをEM_FORMATRANGE送ってレンダリングしている。 そこいら辺をゴチャゴチャと直して使えばなんとかなると思われる。 また印刷領域がGraphicsで来ることから分かるけど、普通にg.DrawXXXXとかで 他の部分も描ける。ヘッダとかフッタとか。
676 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:00:45 ] その辺のメソッド流用すれば印刷プレビューが作れることも確実。俺やったもの。
677 名前:デフォルトの名無しさん [2009/11/16(月) 00:42:08 ] >>675 ヘッダとかフッタ… 印刷可能領域外に描けるということ? ちなみに、印刷可能領域が用紙の端から何インチか知りたいのだけど、方法が分からない (>_<)。
678 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 03:58:09 ] ReleaseモードのときとDebugモードのときで 出力する実行ファイルの名前を変えるにはどうすればいいですか?
679 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 04:05:47 ] プロジェクトでReleaseモードのときとDebugモードのときで 出力する実行ファイルの名前を変えておけばいいよ
680 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 04:27:55 ] 馬鹿はレスしなくていいよ
681 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 04:52:27 ] バカはレスしなくていいけど 初心者相手に意味不明な専門用語をならべるベテランもレスしなくていいよ
682 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 04:54:41 ] 馬鹿は質問しなくていいよ
683 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 05:06:44 ] なんだよジェネリックって!中で足し算できないのかよ!ファック! T func<T>(T x,T y) { return x+y; } intでもdoubleでも使える関数作るとおもったらできねー!ゴミ!考えたやつ死ね!
684 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 05:11:12 ] つ dynamic .NET 4.0からだけどね。
685 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 05:26:19 ] >>683 すんげー微妙だけど一応逃げ道はあるww T func<T>(T x, T y) { return (T)Microsoft.VisualBasic.CompilerServices.Operators.AddObject(x, y); } まあ、このコードもゴミだなw
686 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 06:40:39 ] T Func<T>を.net2.0でも使えるようにしたいんだけど何か方法無い?
687 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 07:27:23 ] Generic自体は2.0からサポートされてるんだから 自分で定義したらいい。
688 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 07:53:04 ] >>678 つ [ビルド後のイベント コマンド ライン]
689 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 10:26:58 ] 完成したアプリを大幅に変更したいのですが、 現時点でバックアップを取りたいです。 出来れば毎日バックアップが残ればいいのですが、 プロジェクトのフォルダごとコピーしておく以外に良い方法はありますか。
690 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 10:53:23 ] >>689 バージョン管理ツールを使う VisualStudioがStd以上ならフリーのアドインが使えるsvnがいいかも。 まあEEでもツールや文献の多いSubversion(svn)から使い始めるのがいいかな。
691 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 10:58:59 ] git が流行ってる?
692 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 11:01:13 ] >>689 VisualSVN+AnkhSVNオヌヌメ
693 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 11:22:44 ] >>688 ありがとうございます 解決しました
694 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 11:29:00 ] >>683 定義の段階ではTが何の型かわからない訳だから たとえ中で足し算が出来ない仕様だとしても仕方無いような 渡される型にオペレータオーバライドでもできて「自型+自型と書かれた場合はどうする」が 定義出来るならテンプレ中で + が使えないとおかしいとは思う
695 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 12:34:56 ] >>691 git流行ってるけどあれは個人で使ってもあんまり旨みがなさそうな気が・・・
696 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 12:38:58 ] IComparable みたいに加減乗除もインターフェースあったらよかったのにねえ。
697 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 12:44:36 ] >>696 それって演算子のオーバーロードじゃ
698 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 12:58:12 ] ドングルみたいなUSBメモリを自分で作りたいけどハード的な知識がやっぱ必要だろしC#なんかでは作れないよね?
699 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 12:59:57 ] プロテクトするんだったら 通常アクセスしない特定のセクタに特定のデータ書き込んでおく
700 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:04:06 ] >>698 ハードのドライバは難しいかもしれない。 結局C/C++などでI/O処理書いてDLLにする形になると思う。
701 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:19:07 ] >>697 いや、インターフェースがあったら T max<T>(T a, T b) where T : IAddable, ISubable, ..... みたいなことできるよねーみたいな。 もちろん IComparable と同様に Int32 とか Double が実装してること前提だろうけど。
702 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:24:05 ] VC# .NET3.5、 VS2008、WinXPProで開発を行っております。 あるファイルに、下記のような列挙型が定義されています。コメントの通り、近い将来何かの値が追加される予定の列挙型です。 このような列挙型を別のファイル・別の場所で使用する場合、予定された仕様変更に備えて、Exceptionを吐いたり、何かしら忘れないような処理を入れたいと思うのですが、どのような処理がよろしいでしょうか? 一応、思いついたのは下記のようにif/elseで分けた場合には、throw new XXXXExceptionすることでしたが、これでは列挙型が変更された後、実際にプログラムを動かさない限り、追加されたことに気づけません。 できれば、コンパイル時に忘れを防ぐような方法があればいいと思っているのですが…… よろしく御回答お願いいたします。 //あるファイル。 enum Hoge { abc, def, ghi //近い将来、 jkl(?)が追加される予定。 } ---- //別のファイル Hoge hoge = Hoge.abc; if (hoge == Hoge.abc) { //何かの処理 } else if (hoge == Hoge.def) { //何かの処理 } else if (hoge == Hoge.ghi) { //何かの処理 } else { //仕様変更により、Hogeに値が追加された場合、変更を忘れないようにするための備忘録? throw new NotImplementedException(); }
703 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:28:24 ] >>699-700 ナイスな情報サンクス! なるほど・・・ C++とかでローレベルI/O書いて.NETから呼び出せばいいのか でその書込みアドレスは普段使わない(これまた調査が必要そうだけど・・・)位置に書き込んでおけばいいだけなのか・・・ なんとなく方向性はつかめた気がする! やれるだけやってみよう!!
704 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 13:37:08 ] >>703 汎用IOドライバ使えば読み書きできるとおもわれ。 ただし、バルク転送に限られるけど(確か)
705 名前:デフォルトの名無しさん [2009/11/16(月) 14:32:59 ] C/C++やってました。 VS2008買ってC#を勉強しようとしていますが、 エディタの設定がデフォルトでタブが空白になるような設定になっています。 タブを空白にするメリットって自分には思いつかないのですが、どうなんでしょうか。 タブをスペースにするメリットってなんですか? またそういう人は結構多いんでしょうか?
706 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:38:29 ] ハードタブは環境によって見かけの桁数変わるから嫌う人もいる コマンドラインでダンプする時も調整利かないから見づらい 半角空白はUnix系の人に多い気がする
707 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:44:44 ] あとタブ文字は元々見たままの空白文字では無いから(機能文字/プリンタの制御コードだから)、 単にソースの見栄え整えるのに処理系で変わる機能文字使いたくない/使わない って言う文化もある。 タブ文字に別の意味割り当ててる処理系もあったはず
708 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:46:42 ] >>706 なるほど、納得です。ありがとうございます。
709 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:52:45 ] VisualStudio2010ただでロードしたwww なにこれwwwインテリセンスの強さとかマジヤバくてVC#2008Expとかウンコに見えるんですがwww 機能制限とか使用期限とかあんの?
710 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 14:57:02 ] VisualStudioのスレなら誰か答えてくれるんじゃね