ふらっとC#,C♯,C#(初心者用) Part52
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/12/26(土) 13:27:03「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part51
http://pc12.2ch.net/test/read.cgi/tech/1261186507/
関連スレ
C#, C♯, C#相談室 Part55(実質56)
http://pc12.2ch.net/test/read.cgi/tech/1260111240/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
0002デフォルトの名無しさん
2009/12/26(土) 13:27:18http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2009/12/26(土) 13:43:090004デフォルトの名無しさん
2009/12/26(土) 14:12:18キャッチしないように書きたいのですが、ExceptionもSystemExceptionも
規約でキャッチしていい例外のスーパークラスなのでcatch(XXX ex)で取り除けず面倒です
何か手はないですか
0005デフォルトの名無しさん
2009/12/26(土) 14:33:530006デフォルトの名無しさん
2009/12/26(土) 15:06:08面倒だからまとめてキャッチしたいということならそもそも
その考え方自体が規約違反なのでどうしてもそうしたいんだったらCA1031なんか無視すればいい
0007デフォルトの名無しさん
2009/12/26(土) 15:15:37コンボボックスに、下記の2列のデータセットをBindingSourceとして指定しています。
このデータセットは、レンタルサーバー内のSQLサーバーにバインドしています。
TITLE PRICE
りんご 100円
みかん 50円
なし 75円
このとき、TITLE列とPRICE列を連結して、
コンボボックスに
「TITLE + " " + PRICE」(例:「りんご 100円」というように表示させたいのですが、
BindingSourceを指定している時にも、その連結は可能でしょうか。
よろしくお願いいたします。
0008デフォルトの名無しさん
2009/12/26(土) 15:29:52やったこと無いけどオーナードローにしたら?
0009デフォルトの名無しさん
2009/12/26(土) 15:44:460010デフォルトの名無しさん
2009/12/26(土) 15:45:560011デフォルトの名無しさん
2009/12/26(土) 15:47:100012デフォルトの名無しさん
2009/12/26(土) 15:52:010013デフォルトの名無しさん
2009/12/26(土) 15:53:170014デフォルトの名無しさん
2009/12/26(土) 15:54:44いえいえ
0015デフォルトの名無しさん
2009/12/26(土) 16:30:200016デフォルトの名無しさん
2009/12/26(土) 16:44:06VBとC#とC++とJAVAだとどれがいいですか><;;
0017デフォルトの名無しさん
2009/12/26(土) 16:45:240018デフォルトの名無しさん
2009/12/26(土) 16:46:34その辺だったらどれでも、
だがここはC#スレだ
0019デフォルトの名無しさん
2009/12/26(土) 16:49:47C++
0020デフォルトの名無しさん
2009/12/26(土) 16:50:05ruby
0021デフォルトの名無しさん
2009/12/26(土) 16:51:10Java
0022デフォルトの名無しさん
2009/12/26(土) 16:51:580023デフォルトの名無しさん
2009/12/26(土) 16:52:35PHP
0024デフォルトの名無しさん
2009/12/26(土) 16:55:370025デフォルトの名無しさん
2009/12/26(土) 16:55:54Brainfuck
0026デフォルトの名無しさん
2009/12/26(土) 16:58:11BASIC
0027デフォルトの名無しさん
2009/12/26(土) 16:58:420028デフォルトの名無しさん
2009/12/26(土) 16:58:430029デフォルトの名無しさん
2009/12/26(土) 16:58:47ありがとうございました><
0030デフォルトの名無しさん
2009/12/26(土) 17:00:090031デフォルトの名無しさん
2009/12/26(土) 17:01:24例えば、123 という数字を画像にし、
この画像を数字として読み込む、ということがしたいのです。
どうすればいいでしょう?
0032デフォルトの名無しさん
2009/12/26(土) 17:02:48そんな事も知らないんでちゅか?よくそんなんで生きてられまちゅね?
0033デフォルトの名無しさん
2009/12/26(土) 17:03:040034デフォルトの名無しさん
2009/12/26(土) 17:04:58ググった方がはやい。
.NETにはそれをしてくれるAPIはたぶん存在しない。
真面目にやろうと思うならここで聞いてもたぶん解決しない。
出力する画像のパターンがわかってて遅くてもいいなら
単純にバイト列の比較でいいんじゃないの?
0035デフォルトの名無しさん
2009/12/26(土) 17:05:12OCRでググれ
0036デフォルトの名無しさん
2009/12/26(土) 17:06:40やりたいのはこういうの?
http://www.johnmwillis.com/other/top-10-worst-captchas/
0037デフォルトの名無しさん
2009/12/26(土) 17:07:260038デフォルトの名無しさん
2009/12/26(土) 17:17:44数字を画像にして、それを数字として読み込むといいんじゃないかな
003931
2009/12/26(土) 17:17:50APIは無いだろうと思いました。
バイト列で比較していってもいいのですが、数十桁x複数列となるとかなり時間がかかってしまい・・・
ググっても、画像認証は初めてで
>>35
OfficeにはOCRソフトがついてるみたいで、そのソースも参考にしたいと思います。
>>36
そうですね、ただ、スパム防止画像認証を突破するほどのものではなく、
単純に文字を画像化したものなのですが、フォントが数種類に分かれてて…
0040デフォルトの名無しさん
2009/12/26(土) 17:47:08>面倒だからまとめてキャッチしたい
えー
tryブロック中でABCDEFと5種類発生する可能性があって
進行上問題がある例外はABCだけであり、DEFに関してはスルーしたい
メソッドは成功か失敗かだけを要求しているので汎用例外以外は再スローする気はない
この時
catch(A){}
catch(B){}
catch(C){}
catch(D){}
catch(E){}
catch(F){}
って書きたくない(どうせDEFのcatchブロックは空で冗長なので)
スルーする奴に関してはExceptionでキャッチしたいがCA1031に引っかかる
で、DEFを省略できないか?ということです
Javaは次版でマルチキャッチ(catch(D,E,F)とか書ける)導入するらしいですが、そんな感じの奴
0041デフォルトの名無しさん
2009/12/26(土) 17:47:55OCRライブラリ買うかCOMでOfficeのOCRコンポーネント動かすか
0042デフォルトの名無しさん
2009/12/26(土) 17:49:11JavaSE7を待てば解決するよ
0043デフォルトの名無しさん
2009/12/26(土) 17:50:30まず、数の数え方から勉強しよう。
0044デフォルトの名無しさん
2009/12/26(土) 17:51:190045デフォルトの名無しさん
2009/12/26(土) 17:51:320046デフォルトの名無しさん
2009/12/26(土) 17:51:36WM_GETMINMAXINFO
とか。
0047デフォルトの名無しさん
2009/12/26(土) 17:52:330049デフォルトの名無しさん
2009/12/26(土) 17:54:06もう少し詳しく解説してるホームページなどはありませんか?
0050デフォルトの名無しさん
2009/12/26(土) 17:54:090051デフォルトの名無しさん
2009/12/26(土) 17:55:19http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.wndproc%28VS.80%29.aspx
0052デフォルトの名無しさん
2009/12/26(土) 17:57:52単純なバイト列比較でも全く時間かからないだろ
ある程度自由度があるなら画像認識が入ってくるので諦めろ
0053デフォルトの名無しさん
2009/12/26(土) 18:03:27今の所そういうことができる機能はねぇと思うます。
CA1031の項目を見ると「もしくはブロックの最後に再スローしてください」とあるので、
if(ex.GetType==typeof(Exception) || ex.GetType==typeof(SystemException)){ throw; }
とでも書いておけば良いんじゃないでしょうか。
一応試した所これでCA1031は消えましたよ。
0054デフォルトの名無しさん
2009/12/26(土) 18:07:050055デフォルトの名無しさん
2009/12/26(土) 18:10:28再スローせずにスルーしたいって言ってるだろ
0056デフォルトの名無しさん
2009/12/26(土) 18:12:080057デフォルトの名無しさん
2009/12/26(土) 18:17:09私の考えてることを勝手に代弁しないで下さい
0058デフォルトの名無しさん
2009/12/26(土) 18:24:000059デフォルトの名無しさん
2009/12/26(土) 18:27:24ですが、どなたか教えていただけないでしょうか
(>_<)
0060デフォルトの名無しさん
2009/12/26(土) 18:31:110061デフォルトの名無しさん
2009/12/26(土) 18:31:25はい。可能です。
0062デフォルトの名無しさん
2009/12/26(土) 18:37:12(>_<)バーカ
0063デフォルトの名無しさん
2009/12/26(土) 18:48:12お前の態度が気に入らない
0064デフォルトの名無しさん
2009/12/26(土) 18:54:27一理ある
0065デフォルトの名無しさん
2009/12/26(土) 18:57:31(T_T;)。
0066デフォルトの名無しさん
2009/12/26(土) 18:58:4600677
2009/12/26(土) 19:04:270068デフォルトの名無しさん
2009/12/26(土) 19:06:400069デフォルトの名無しさん
2009/12/26(土) 19:06:460070デフォルトの名無しさん
2009/12/26(土) 19:09:290071デフォルトの名無しさん
2009/12/26(土) 19:09:560072デフォルトの名無しさん
2009/12/26(土) 19:12:020073デフォルトの名無しさん
2009/12/26(土) 19:15:490074デフォルトの名無しさん
2009/12/26(土) 19:55:040075デフォルトの名無しさん
2009/12/26(土) 20:05:52教えてください(>_<;)。
コンボボックスのバインディングについて…。
0077デフォルトの名無しさん
2009/12/26(土) 20:07:480078デフォルトの名無しさん
2009/12/26(土) 20:10:220079デフォルトの名無しさん
2009/12/26(土) 20:15:320080デフォルトの名無しさん
2009/12/26(土) 20:15:550081デフォルトの名無しさん
2009/12/26(土) 20:36:370082デフォルトの名無しさん
2009/12/26(土) 20:38:290083デフォルトの名無しさん
2009/12/26(土) 20:40:081 . 全行読込
2 . 指定行の値を変更
3 . 全行書込
簡単だろ?
0084デフォルトの名無しさん
2009/12/26(土) 20:40:250085デフォルトの名無しさん
2009/12/26(土) 20:43:580086デフォルトの名無しさん
2009/12/26(土) 21:35:500087デフォルトの名無しさん
2009/12/26(土) 21:38:250088デフォルトの名無しさん
2009/12/26(土) 21:45:270089デフォルトの名無しさん
2009/12/26(土) 21:51:210090デフォルトの名無しさん
2009/12/26(土) 21:53:08.NETコンポーネントは.NETだけ。
0091デフォルトの名無しさん
2009/12/26(土) 21:53:300092デフォルトの名無しさん
2009/12/26(土) 21:55:48簡潔かつ明快に説明出来るやつはここにはいない
0093デフォルトの名無しさん
2009/12/26(土) 21:56:130094デフォルトの名無しさん
2009/12/26(土) 22:00:290095デフォルトの名無しさん
2009/12/26(土) 22:20:030096デフォルトの名無しさん
2009/12/26(土) 22:27:26マネージドなexe1つとDLLがいくつかあってひとつのアプリケーションを構築するとして、
DLL側のアセンブリに改ざん防止のキーを設定したうえでexeに参照設定を通してリンクすることで
DLLの改ざんを防止することができますが、
同じ要領でexe側の改ざんを防止するための方法はあるんでしょうか?
0097デフォルトの名無しさん
2009/12/26(土) 22:28:39exe改竄するやつは
防止機能も改竄しそうだけどな
0098デフォルトの名無しさん
2009/12/26(土) 22:34:340099デフォルトの名無しさん
2009/12/26(土) 22:35:250100デフォルトの名無しさん
2009/12/26(土) 22:45:34どうしても改ざんを防止したいんだったら、
証明書がついている公開キーでアセンブリを署名するしかないでしょう。
0101デフォルトの名無しさん
2009/12/26(土) 22:50:570102デフォルトの名無しさん
2009/12/26(土) 22:51:40実行そのものを阻止する手はないから。
0103デフォルトの名無しさん
2009/12/26(土) 22:54:09「このアセンブリのここ気にくわねえ書き換えてやるか」に対応するのはね
0104デフォルトの名無しさん
2009/12/26(土) 22:56:500105デフォルトの名無しさん
2009/12/26(土) 22:58:21もちろん、クライアントには適切なポリシーを設定して頂かないと。
改ざんされても大丈夫というのは不可能なので、改ざん防止をするしかない。
0106デフォルトの名無しさん
2009/12/26(土) 23:00:40デフォルトでは厳密名の署名確認もしないから気をつけろよ。
改ざんされてたって何も言わずに実行できるからな。
0107デフォルトの名無しさん
2009/12/26(土) 23:04:350108デフォルトの名無しさん
2009/12/26(土) 23:05:050109デフォルトの名無しさん
2009/12/26(土) 23:05:290110デフォルトの名無しさん
2009/12/26(土) 23:10:110111デフォルトの名無しさん
2009/12/26(土) 23:10:23改ざんされて困らないものってなんだ…?
0112デフォルトの名無しさん
2009/12/26(土) 23:12:000113デフォルトの名無しさん
2009/12/26(土) 23:13:390114デフォルトの名無しさん
2009/12/26(土) 23:13:520115デフォルトの名無しさん
2009/12/26(土) 23:13:550116デフォルトの名無しさん
2009/12/26(土) 23:14:18Enum.ToString()がメタデータテーブルをいちいち検索に行くせいで超遅いとかいう奴じゃね。
0117デフォルトの名無しさん
2009/12/26(土) 23:20:36Enum.ToString() なんて、デバッグの時しか使わないだろ。
0118デフォルトの名無しさん
2009/12/26(土) 23:21:190119デフォルトの名無しさん
2009/12/26(土) 23:21:37そうなの?よく知らないんだが。
0120デフォルトの名無しさん
2009/12/26(土) 23:22:42お前の主観で物事語ってんじゃねえよ調子乗るなクソが。
0121デフォルトの名無しさん
2009/12/26(土) 23:23:07会社の規模にもよるけど今なら6000円/hじゃね
大きなところに頼むと10000/hぐらい?
0122デフォルトの名無しさん
2009/12/26(土) 23:24:03マジでイライラすることがある
積極的に例外使ってる奴は本当にムカツク
0123デフォルトの名無しさん
2009/12/26(土) 23:30:42素の例外が外にでるのは流石に問題ありだ。
0124デフォルトの名無しさん
2009/12/26(土) 23:34:110125デフォルトの名無しさん
2009/12/26(土) 23:41:330126デフォルトの名無しさん
2009/12/26(土) 23:50:40顧客管理/商品管理はOffice買うかOpenOfficeダウンロードして
適当なDBなり表なりに記入でもしたほうが安上がりなんじゃないかなあって気もするけどな。
0127デフォルトの名無しさん
2009/12/26(土) 23:54:02POSと連動させて単品売上管理までするとなるとOfficeだけじゃ無理だけどな
0128デフォルトの名無しさん
2009/12/26(土) 23:55:100129デフォルトの名無しさん
2009/12/26(土) 23:58:450130デフォルトの名無しさん
2009/12/27(日) 00:01:56こんなん見つけたよ
フリーソフトでPOSレジスターを制作
ttp://pcposregister.com/
0131デフォルトの名無しさん
2009/12/27(日) 00:02:090132デフォルトの名無しさん
2009/12/27(日) 00:04:12はやい話、レジで処理したらDBに販売結果が反映されること。
0133デフォルトの名無しさん
2009/12/27(日) 00:06:500134デフォルトの名無しさん
2009/12/27(日) 00:09:35普通にパッケージ買うのとどっかの会社に作ってもらうのどっちが安くすむだろねぇ。
0135デフォルトの名無しさん
2009/12/27(日) 00:09:47PCにバーコードスキャナ、レシートプリンタ、キャッシュドロワとかつないで。
0136デフォルトの名無しさん
2009/12/27(日) 00:10:09POSって言うのは販売時点情報管理として独立したシステムだし
使っているPOSが顧客管理システムを実装していなければ
別なシステムと連動させる必要があるだろ
0137デフォルトの名無しさん
2009/12/27(日) 00:10:260138デフォルトの名無しさん
2009/12/27(日) 00:11:350139デフォルトの名無しさん
2009/12/27(日) 00:17:40よくわからんけど今時の汎用POSソフトって独自のポイントカードぐらい標準で処理できたりすんのかな。
0140デフォルトの名無しさん
2009/12/27(日) 00:28:28まぁパッケージで会社がなりったてるから高機能なのは当たり前なんだけど…
0141デフォルトの名無しさん
2009/12/27(日) 00:31:46顧客管理システム実装してるな
これがフリーなら俺も自分で作ろうなんて思わんわ
ポイントカードシステムくらい自分でつくればいい
0142デフォルトの名無しさん
2009/12/27(日) 00:37:250143デフォルトの名無しさん
2009/12/27(日) 00:38:410144デフォルトの名無しさん
2009/12/27(日) 00:38:550145デフォルトの名無しさん
2009/12/27(日) 00:40:580146デフォルトの名無しさん
2009/12/27(日) 00:43:140147デフォルトの名無しさん
2009/12/27(日) 00:44:210148デフォルトの名無しさん
2009/12/27(日) 00:45:380149デフォルトの名無しさん
2009/12/27(日) 00:46:140150デフォルトの名無しさん
2009/12/27(日) 00:46:48結論:商品スタッフ�Uのスタンドアロン版使え
0151デフォルトの名無しさん
2009/12/27(日) 00:49:300152デフォルトの名無しさん
2009/12/27(日) 00:50:540153デフォルトの名無しさん
2009/12/27(日) 00:53:380154デフォルトの名無しさん
2009/12/27(日) 01:03:23萎えることって結構あるよね。
0155デフォルトの名無しさん
2009/12/27(日) 01:04:27ただし、Application Programmer's Guideが1400頁超(しかもWord)で
検索すらままならないし、まさしく悪夢としか言いようがないが
0156デフォルトの名無しさん
2009/12/27(日) 01:06:120157デフォルトの名無しさん
2009/12/27(日) 01:27:260158デフォルトの名無しさん
2009/12/27(日) 01:32:590159デフォルトの名無しさん
2009/12/27(日) 07:33:51と書いてもエラーします。なぜでしょうか?
0160デフォルトの名無しさん
2009/12/27(日) 07:35:150161デフォルトの名無しさん
2009/12/27(日) 08:02:280162デフォルトの名無しさん
2009/12/27(日) 08:58:00と書いてもエラーします。なぜでしょうか?
0163デフォルトの名無しさん
2009/12/27(日) 09:10:53ネタでやってるのか?
0164デフォルトの名無しさん
2009/12/27(日) 09:11:250165デフォルトの名無しさん
2009/12/27(日) 09:16:33と書いてもエラーします。なぜでしょうか?
0166デフォルトの名無しさん
2009/12/27(日) 10:29:44166以降が存在しないから
0167デフォルトの名無しさん
2009/12/27(日) 11:33:20カツラがずれてますよ
0168デフォルトの名無しさん
2009/12/27(日) 12:09:54いい方法やクラスをお知りの方がいましたら、ご教授おねがいします。
0169デフォルトの名無しさん
2009/12/27(日) 12:27:18>239 名前: デフォルトの名無しさん [sage] 投稿日: 2009/12/27(日) 12:24:13
>んなこといったって初心者用スレはごく一部の上級者とほぼ全員初心者しかいないから、たまにしかまともな回答えられないし
>両方で相談するしかないじゃん。
0170デフォルトの名無しさん
2009/12/27(日) 12:27:42マルチまでして聞いてきたわけだし俺が教えてやるよ。
カーソル操作API使って画面右下のボリュームコントロールの操作をエミュレートすればいい。
0171デフォルトの名無しさん
2009/12/27(日) 12:45:30マジレスするとIMMDeviceEnumerator.GetDefaultAudioEndpointでサウンドデバイスを取得して
RenderのIMMDeviceCollectionを取ってIMMDeviceを取ってIAudioEndpointVolumeを取って
ようやくマスタボリュームが弄れる
あなたに使うことができるかどうかは知らない
私は相手の実力が判断できない初心者なので
0172デフォルトの名無しさん
2009/12/27(日) 13:14:45単に、処理の最後に、
Console.WriteLine(processMessage);
Close();
と書けばいいかと思ったら、コンソールから起動しても処理してみたら、なにも戻ってこないんだけど。
0173デフォルトの名無しさん
2009/12/27(日) 13:21:08終了コードを返したいなら、Application.Exit()とかEnvironment.Exit()だけど。
0174デフォルトの名無しさん
2009/12/27(日) 13:24:25string processMessage = いろいろ処理後のstring;
Console.WriteLine(processMessage);
Close();
0175デフォルトの名無しさん
2009/12/27(日) 13:27:210176デフォルトの名無しさん
2009/12/27(日) 13:28:10Console系のAPI使え。
0177デフォルトの名無しさん
2009/12/27(日) 13:34:07プロジェクトのプロパティのアプリケーションの項で
出力の種類をコンソールアプリケーションにすればOK
馬鹿ばっか
0178デフォルトの名無しさん
2009/12/27(日) 13:34:56http://www.codeproject.com/KB/audio-video/AudioLib.aspx
0179デフォルトの名無しさん
2009/12/27(日) 13:35:30WindowsXP,Visual Studio2008で開発をしています。
サーバーエクスプローラにてMysqlのデータベースを読み込み、DataGridViewに表示をさせるといったことをしているのですが、
データベースに接続はできても、DataGridViewの表示の段階で躓きます。
どこで躓いているかというと、
デザインにてDatagridViewを張り付けて、そこからデータベースを関連付けるところで、
予期しないエラーが発生しました。
エラー メッセージ:アセンブリ'Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage, Version=9.0.0.0, Culture=neutral, PublicKey Token=***************'
から型'Microsoft.VisualStudio.DataDesign.SyncDesigner.SyncFacade.SyncManager'を読み込めませんでした。
とでました。
google先生に聞いてもHITしないし、エラーの原因がよくわかりません。
これはどういったことなのでしょうか。ご指南よろしくお願いします。
0180デフォルトの名無しさん
2009/12/27(日) 13:44:58えらそうだったですか? すまん。ごめんなさい。
>>177
おお。これです。ありがとうございます。
ただ、これだと問題があります。
このアプリケーション、Formアプリケーションなのです。
出力の種類をコンソールにすると、実行時に必ずコンソールが開いちゃいます。
・ふつうはFormとして実行。
・if (args[1] == "console") {
string processMessage = "いろいろ処理後のstring";
Console.WriteLine(processMessage);
Close();
}
としたいのです。
0181デフォルトの名無しさん
2009/12/27(日) 13:47:140182デフォルトの名無しさん
2009/12/27(日) 14:13:020183デフォルトの名無しさん
2009/12/27(日) 14:15:42コンソール出力は未解決です〜。
0184デフォルトの名無しさん
2009/12/27(日) 14:26:250185デフォルトの名無しさん
2009/12/27(日) 15:07:18これだ
0186デフォルトの名無しさん
2009/12/27(日) 15:13:50それはないわ
0187デフォルトの名無しさん
2009/12/27(日) 15:23:35そのパネルにスクロールバーが表示されているか否かを知るプロパティはありますか?
0188デフォルトの名無しさん
2009/12/27(日) 15:24:390189デフォルトの名無しさん
2009/12/27(日) 15:27:34自前でフォントサイズで計算して・・・
0190デフォルトの名無しさん
2009/12/27(日) 15:31:23質問を取り消します
0191デフォルトの名無しさん
2009/12/27(日) 15:32:040192デフォルトの名無しさん
2009/12/27(日) 15:34:56こいつでスクロールバーサイズ求めたらいける
0193デフォルトの名無しさん
2009/12/27(日) 15:37:40どちらかというと強制的に出しっぱなしにしたいんだけど。
0194デフォルトの名無しさん
2009/12/27(日) 16:22:370195デフォルトの名無しさん
2009/12/27(日) 16:25:410196デフォルトの名無しさん
2009/12/27(日) 16:28:21世の中のすべてのものがはっきり決まっててほしいと思いたがるような
中学・高校生向きかもしんない。
0197デフォルトの名無しさん
2009/12/27(日) 16:29:100198デフォルトの名無しさん
2009/12/27(日) 16:31:510199デフォルトの名無しさん
2009/12/27(日) 16:32:33C#関係ねーよバカ
0200デフォルトの名無しさん
2009/12/27(日) 16:35:36次は、英語を使えるようになりましょう。
0201デフォルトの名無しさん
2009/12/27(日) 16:35:48Rubyでもいいけど、イディオムが多くて教えるのが大変そう。
0202デフォルトの名無しさん
2009/12/27(日) 16:44:450203デフォルトの名無しさん
2009/12/27(日) 16:47:270204デフォルトの名無しさん
2009/12/27(日) 16:50:120205デフォルトの名無しさん
2009/12/27(日) 16:51:090206デフォルトの名無しさん
2009/12/27(日) 16:59:42なるほど〜。Mainのなかで引数で条件わけするんですね。
すごい。目からうろこが落ちました。
ありがとうございました。
0207デフォルトの名無しさん
2009/12/27(日) 18:14:59どれかをマウスでクリックしたら、
次のタブオーダーの項目に遷移するようにしたいとき、
どのイベントを使用するものなのでしょうか。
Clickイベントだと、リストを表示しようとコントロール上の▼をクリックした瞬間に移動してしまいます。
また、SelectedIndexChangedに記述しても同様です。
教えていただけないでしょうか。よろしくお願いいたします。
0208デフォルトの名無しさん
2009/12/27(日) 18:20:03マウスでクリックしてるのに勝手に別のコントロールに
フォーカスが移動しちゃったら却って不自然だろ?
0209デフォルトの名無しさん
2009/12/27(日) 18:32:13やったこと無いけどBeginInvoke 使えば出来るかもよ
0210デフォルトの名無しさん
2009/12/27(日) 20:37:080211デフォルトの名無しさん
2009/12/27(日) 21:02:290212デフォルトの名無しさん
2009/12/27(日) 21:08:290213デフォルトの名無しさん
2009/12/27(日) 21:09:533項目表示させるようにしていますが、
ある1行をクリックすると、
BindingSource_PositionChangedが3回起きてしまいます。
なぜ、1行を1回クリックするだけで、
BindingSource_PositionChangedが3回起きるのでしょうか…。
0214デフォルトの名無しさん
2009/12/27(日) 21:14:24SelectionChangeCommitted ではどう?
0215デフォルトの名無しさん
2009/12/27(日) 21:19:03ごく単純なのを書くと一回しか発生しなかったので多分どっかでなんかやってる
Enterやカーソルで行変えた場合はどうなの?
0216デフォルトの名無しさん
2009/12/27(日) 21:35:16>>171さん
>>178さん
参考になりました!ありがとうございます。
0217デフォルトの名無しさん
2009/12/27(日) 22:15:510218デフォルトの名無しさん
2009/12/27(日) 22:21:45検討します。
0219デフォルトの名無しさん
2009/12/27(日) 22:34:41<People>
<Person IsReal="true" Name="坂本竜馬" Age="35">
</Person>
<Person IsReal="false" Name="明智小五郎" Age="39">
</Person>
<Person IsReal="true" Name="勝海舟" Age="18">
</Person>
<Person IsReal="true" Name="西郷隆盛" Age="52">
</Person>
</People>
というXMLから、LINQ to XMLでAgeが38より大きい値のPersonを抜き出したいと思っています。
XDocument xdoc = XDocument.Parse(People);
var query = from text in xdoc.Root.Elements()
where text.Element("Person").(int)Person.Attribute("Age") >= 38
select (int)Person.Attribute("Age");
としてみたのですが、ぜんぜんだめです。
Elementの下はAttributeだと思うんですが、どこがどうだめなんでしょうか?
0220デフォルトの名無しさん
2009/12/27(日) 22:36:510221デフォルトの名無しさん
2009/12/27(日) 22:40:100222デフォルトの名無しさん
2009/12/27(日) 22:42:270223デフォルトの名無しさん
2009/12/27(日) 22:43:00質問は取り下げます。
0224デフォルトの名無しさん
2009/12/27(日) 22:44:35こんな質問も答えられないのかよゴミ!視ねや!
0225デフォルトの名無しさん
2009/12/27(日) 22:46:300226デフォルトの名無しさん
2009/12/27(日) 22:47:06DrawStringが良いんですかね?
DrawStringだと、2行印刷しようとした場合
座標を文字の大きさを読み取って、足していかないといけないので
座標を打ち込まなくても、文字を印刷する方法ってないんですかね?
教えて下さい
0227デフォルトの名無しさん
2009/12/27(日) 22:47:270228デフォルトの名無しさん
2009/12/27(日) 22:47:54AddStringのほうが良い
0229デフォルトの名無しさん
2009/12/27(日) 22:48:160230デフォルトの名無しさん
2009/12/27(日) 22:49:520231デフォルトの名無しさん
2009/12/27(日) 22:50:230232デフォルトの名無しさん
2009/12/27(日) 22:50:390233デフォルトの名無しさん
2009/12/27(日) 22:51:00>>219
var query = from text in xdoc.Root.Elements() where (int)(text.Attribute("Age")) > 38 select text;
0234デフォルトの名無しさん
2009/12/27(日) 22:51:15RootがPeople要素なんだから、そのElements()は各Person要素になるっしょ
Personの子要素にPerson要素は存在しないからtext.Element("Person")は当然失敗する
あとtextじゃなくてpersonにすべきだと思うな
0235デフォルトの名無しさん
2009/12/27(日) 22:53:57意味がよく分からん
DrawStringでRectangleFを指定すれば、横幅を超えた分は自動改行してくれるが
そうでなければまあMeasureStringとかで計測するのが妥当だな
0236デフォルトの名無しさん
2009/12/27(日) 22:54:080237デフォルトの名無しさん
2009/12/27(日) 23:03:360238デフォルトの名無しさん
2009/12/27(日) 23:07:030239デフォルトの名無しさん
2009/12/27(日) 23:14:22people より persons の方が好き
0240デフォルトの名無しさん
2009/12/27(日) 23:15:47確認してないけど StringFormat で折り返しできなかったっけ?
0241デフォルトの名無しさん
2009/12/27(日) 23:25:39できません
0242デフォルトの名無しさん
2009/12/27(日) 23:40:36>>226
普通に改行コードいれても改行できるし、文字を描画する矩形領域を指定してやれば
折り返しの改行もできる。
まあまあできてもあまりやらない気がするけど。
っていうか、MSDNライブラリぐらい読もうよ。
0243デフォルトの名無しさん
2009/12/27(日) 23:45:290244デフォルトの名無しさん
2009/12/28(月) 00:00:21>>234
早速ありがとうございます。
テストデータでは動くのを確認できました。
ただ、実際のデータはもうすこし複雑で、数が多くエラーが出ています。
<People>
<Person IsReal="true" Name="坂本竜馬" Age="35"><birthday="1836/01/03">
</Person>
<Person IsReal="false" Name="明智小五郎" Age="39">
</Person>
<Person IsReal="true" Name="勝海舟" Age="18">
</Person>
<Person IsReal="true" Name="西郷隆盛" Age="52">
</Person>
<Person IsReal="true" Name="坂本龍一" Age="57"><birthday="1952/01/17">
</Person>
</People>
から、「坂本」でAgeが38より大きい値のPersonの名前と年齢をセットで抜き出すにはどうしたらよいでしょう?
0245デフォルトの名無しさん
2009/12/28(月) 00:05:57FileaAllWriteとStreamWriterってどっち使うほうがいいい?
0246デフォルトの名無しさん
2009/12/28(月) 00:17:41birthdayタグが閉じてないから整形式XMLじゃないぞそれ
whereにNameの条件追加してselectで匿名クラス作ればいい new { Name = text.Attribute("Name"), Age = (ry
whereの前でletでnameやageを確保しとくと楽だな
whereは||でつないでもいいしwhereを二個書いてもいい
>>245
どっちでもいいよ
手軽だけど細かい操作ができないかその逆かだ
0247233
2009/12/28(月) 00:34:45ハァ…
0248デフォルトの名無しさん
2009/12/28(月) 00:45:210249デフォルトの名無しさん
2009/12/28(月) 00:49:150250デフォルトの名無しさん
2009/12/28(月) 01:06:18整形式とか言う以前に、birthday要素(?)が滅茶苦茶だし
0251デフォルトの名無しさん
2009/12/28(月) 01:08:03できません。どないしたらいいですか?
0252デフォルトの名無しさん
2009/12/28(月) 01:09:380253デフォルトの名無しさん
2009/12/28(月) 01:19:160254デフォルトの名無しさん
2009/12/28(月) 01:30:14CPUをより高性能なものにします
0255デフォルトの名無しさん
2009/12/28(月) 01:30:550256デフォルトの名無しさん
2009/12/28(月) 01:36:100257デフォルトの名無しさん
2009/12/28(月) 01:37:30という疑問と
環境がわからないのにそんなことできるかぁ〜というのと
0258デフォルトの名無しさん
2009/12/28(月) 01:39:170259デフォルトの名無しさん
2009/12/28(月) 01:52:520260デフォルトの名無しさん
2009/12/28(月) 01:54:110261デフォルトの名無しさん
2009/12/28(月) 01:55:160262デフォルトの名無しさん
2009/12/28(月) 01:55:58文字コード0x07を出力してみればいいんじゃね?
0263デフォルトの名無しさん
2009/12/28(月) 01:56:560264デフォルトの名無しさん
2009/12/28(月) 02:21:53>>246
whereの前? let。うう。使ったことがない。
っていうかLINQそもそも初めての初心者なのです。
いまこんな感じ。
var query = from person in xdoc.Root.Elements()
select new{
Name = person.Attribute("name").Value,
Age = (int)person.Attribute("Age") > 38
};
contents = "";
foreach (var q in query)
if (q.Name.Contains("坂本")) contents += q.Name + "\t" + q.Age + "\r\n";
とかで見よう見まねでコンパイルは通ったのですが、whereなくなってるし。…。
実行すると、「オブジェクト参照がオブジェクトインスタンスに設定されていません」のエラーだし。
やっぱりwhereですかね。
>>248
ほんとに、すみません。
質問するときには頭が混乱していて、うまく質問を整理できていませんでした。
>>249
初見の言葉が多すぎてちと自分では無理です。
0265デフォルトの名無しさん
2009/12/28(月) 02:27:33取り敢えずforeachとif文から始めた方がいいかもしれんね
0266デフォルトの名無しさん
2009/12/28(月) 02:29:03お断りします。
0267デフォルトの名無しさん
2009/12/28(月) 06:45:31こんなのが、3くらい出てデバッグ出来ません;どうすればいいですか?
0268デフォルトの名無しさん
2009/12/28(月) 06:54:04var menuItem7 = …
〜なんかいろいろあって
var menuItem7 = …
ってなってるところを探せばいい
0269デフォルトの名無しさん
2009/12/28(月) 10:12:13そういうことなら、質問する前にLINQを基礎から勉強しろよ。
それが終わるまでは質問する資格すらない。
0270デフォルトの名無しさん
2009/12/28(月) 12:47:48string line = @in.ReadLine();
これで読み込ませるとマルチバイト文字が
文字化けします。Shift-JISのテキストも読ませたいです…
0271デフォルトの名無しさん
2009/12/28(月) 12:49:47StreamReader @in = new StreamReader(fileName,Encoding.GetEncoding("Shift-JIS"));
0272270
2009/12/28(月) 12:53:20乙乙
0273デフォルトの名無しさん
2009/12/28(月) 12:54:45おぉ…"Shift-JIS"でもいいんか
便利だ…
0274デフォルトの名無しさん
2009/12/28(月) 12:57:150275デフォルトの名無しさん
2009/12/28(月) 13:01:420276デフォルトの名無しさん
2009/12/28(月) 13:22:51あんまり推奨はされないけど、@ を付ければキーワードを変数名に使える。
in は foreach ( in ) で使われるキーワード。
0277デフォルトの名無しさん
2009/12/28(月) 13:30:30ありがとう。
0278デフォルトの名無しさん
2009/12/28(月) 13:56:44_in などのほうがよほどマシ。
0279デフォルトの名無しさん
2009/12/28(月) 14:01:51それは.Netが内部で使ってるから〜
0280デフォルトの名無しさん
2009/12/28(月) 14:06:42やっぱり今回は礼は言わないでおく。
0281デフォルトの名無しさん
2009/12/28(月) 14:08:30まあ、他の言語で使われることが想定されるなら、
そっちの言語でもキーワード限り避けるのが作法だけど。
0282デフォルトの名無しさん
2009/12/28(月) 14:12:440283デフォルトの名無しさん
2009/12/28(月) 14:13:22ヘ_ヘ
ミ ・ ・ ミ < はつみみです
( ° )〜
0284デフォルトの名無しさん
2009/12/28(月) 15:35:29エンコーディングとか変えてみたんだけどうまくいかない
0285デフォルトの名無しさん
2009/12/28(月) 15:39:230286デフォルトの名無しさん
2009/12/28(月) 15:43:54C# 言語仕様 2.4.2 識別子
0287デフォルトの名無しさん
2009/12/28(月) 17:31:090288デフォルトの名無しさん
2009/12/28(月) 18:17:230289デフォルトの名無しさん
2009/12/28(月) 18:21:300290デフォルトの名無しさん
2009/12/28(月) 18:31:42ありがとう、名前が出てこなくってどうやるんだっけって悩んでた・・・。
0291デフォルトの名無しさん
2009/12/28(月) 18:33:45そりゃ教えた甲斐が有ったわ。ヨイヨイっと。
0292デフォルトの名無しさん
2009/12/28(月) 18:38:01No.2?
0293デフォルトの名無しさん
2009/12/28(月) 18:51:48え?
0294デフォルトの名無しさん
2009/12/28(月) 18:52:210295デフォルトの名無しさん
2009/12/28(月) 19:07:160296デフォルトの名無しさん
2009/12/28(月) 19:59:52fjで活躍したあの人は今、って特集やらないかな
0297デフォルトの名無しさん
2009/12/28(月) 20:09:46しかし、アンチ脳にしろ信者脳にしろ、人に執着する奴って気色が悪いな。
精神分析の対象としか思えん。
0298デフォルトの名無しさん
2009/12/28(月) 20:16:01なんかその反応も病的だぞ?
0299デフォルトの名無しさん
2009/12/28(月) 20:19:07深淵をのぞく時、深淵もまたこちらをのぞいているのだ。
〜 ニーチェ 〜
0300デフォルトの名無しさん
2009/12/28(月) 20:20:43君のレスがまさに・・・
0301デフォルトの名無しさん
2009/12/28(月) 20:28:210302デフォルトの名無しさん
2009/12/28(月) 20:39:160303デフォルトの名無しさん
2009/12/28(月) 21:28:23using System; //for form だと
<font color="blue">using</font> System; <font color="green">//for form</font>
みたいなの。
0304デフォルトの名無しさん
2009/12/28(月) 21:33:310305デフォルトの名無しさん
2009/12/28(月) 21:35:010306デフォルトの名無しさん
2009/12/28(月) 22:36:47ただ残念なのはほとんどのWebサービスが海外製ということ
0307デフォルトの名無しさん
2009/12/28(月) 22:41:10COMコンポーネント呼び出しでなんか出来るんじゃないの。
0308デフォルトの名無しさん
2009/12/28(月) 23:10:170309デフォルトの名無しさん
2009/12/28(月) 23:29:08一時期職場からpostできなくなったlalaとか懐かしい
0310デフォルトの名無しさん
2009/12/29(火) 00:48:04C言語だと完全に上から見ていくから
int main(){
func();
}
func();
これだとプロトタイプ宣言だかがないとかでエラーになるけど
C#だと
ClassOne{
//ClassTwoを使ったメソッドなど
}
ClassTwo{
}
これがエラーにならなくて便利だな。
0311デフォルトの名無しさん
2009/12/29(火) 00:52:180312デフォルトの名無しさん
2009/12/29(火) 01:03:410313デフォルトの名無しさん
2009/12/29(火) 01:07:080314デフォルトの名無しさん
2009/12/29(火) 01:14:010315デフォルトの名無しさん
2009/12/29(火) 01:20:140316デフォルトの名無しさん
2009/12/29(火) 01:25:29誰が買うんだよこんなのw
0317デフォルトの名無しさん
2009/12/29(火) 02:56:310318デフォルトの名無しさん
2009/12/29(火) 09:50:310319デフォルトの名無しさん
2009/12/30(水) 00:18:36(Value,display)=
(1,イヌ),
(2,ネコ),
(3,スズメ)
と3種類を設定します。
そして、隣にテキストボックスAを設置し、例えばAに
「イヌ」と入力されたときは、コンボボックスに存在するのでValueの"1"を、別のラベルに表示。
「スズメ」と入力されたときも同様、Valueの"3"を、別のラベルに表示。
「ニワトリ」と入力されたときはコンボボックスにないので、別のラベルに"なし"と表示。
と、したいのですが、
あるテキストが、コンボボックスのリストに存在するかどうかを調べるにはどうすればよいのでしょうか。
よろしくお願いします。
0320デフォルトの名無しさん
2009/12/30(水) 00:24:530321319
2009/12/30(水) 00:25:530322デフォルトの名無しさん
2009/12/30(水) 00:27:080323デフォルトの名無しさん
2009/12/30(水) 00:33:43メソッド自体が見つからないみたいで使えないんです。
どうやれば使えるようになりますか?それとも、Form2にそのメソッドをコピーするしかないですか?
0324デフォルトの名無しさん
2009/12/30(水) 00:36:350325デフォルトの名無しさん
2009/12/30(水) 00:37:43というか、publicにしたら使えるのなら、何故始めから全部publicにしないのですか?
0326デフォルトの名無しさん
2009/12/30(水) 00:40:07止めない
0327デフォルトの名無しさん
2009/12/30(水) 00:40:170328デフォルトの名無しさん
2009/12/30(水) 00:58:11匿名クラスやラムダ式が使えるのは大きい。
いちいちクラスを別の場所にごちゃごちゃ書いてから
MyClass mc =new MyClass();
とかかくより
var mc = new {Name="Kobayashi",age=17,};
このほうがすっきりしてはるかに読みやすいな。マジ最強
0329デフォルトの名無しさん
2009/12/30(水) 00:58:38いや、使わせたくないってのは想像付きます
だけど、何で駄目なんですか?ミスがおきやすくなるから?とかですか?
0330デフォルトの名無しさん
2009/12/30(水) 01:01:06あとは、カプリングとコヒージョンについて書かれた文書でも読んでください。
0331デフォルトの名無しさん
2009/12/30(水) 01:05:24便利だと思うんですが
0332デフォルトの名無しさん
2009/12/30(水) 01:06:310333デフォルトの名無しさん
2009/12/30(水) 01:06:55以下スルーでよろしく
0334デフォルトの名無しさん
2009/12/30(水) 01:08:520335デフォルトの名無しさん
2009/12/30(水) 01:09:180336デフォルトの名無しさん
2009/12/30(水) 01:10:08高くなったらなぜまずいのか?は墓穴掘ってます。
0337デフォルトの名無しさん
2009/12/30(水) 01:11:580338デフォルトの名無しさん
2009/12/30(水) 01:12:440339デフォルトの名無しさん
2009/12/30(水) 01:15:36別フォームから使いたくなったメソッドと変数はpublic付ければ良いんですね
モジュール結合度ってそんなに重要なものですか?
そんなに意識して開発したことは無いのでよく分からないです。
0340デフォルトの名無しさん
2009/12/30(水) 01:17:280341デフォルトの名無しさん
2009/12/30(水) 01:24:550342デフォルトの名無しさん
2009/12/30(水) 08:36:150343デフォルトの名無しさん
2009/12/30(水) 08:55:230344デフォルトの名無しさん
2009/12/30(水) 09:14:160345デフォルトの名無しさん
2009/12/30(水) 09:15:350346デフォルトの名無しさん
2009/12/30(水) 09:18:430347デフォルトの名無しさん
2009/12/30(水) 09:19:110348デフォルトの名無しさん
2009/12/30(水) 09:21:140349デフォルトの名無しさん
2009/12/30(水) 09:35:290350デフォルトの名無しさん
2009/12/30(水) 09:43:070351デフォルトの名無しさん
2009/12/30(水) 09:55:38お金が無いんですがどうすればいいですか?
0352デフォルトの名無しさん
2009/12/30(水) 10:22:440353デフォルトの名無しさん
2009/12/30(水) 10:59:370354デフォルトの名無しさん
2009/12/30(水) 15:07:48マウス位置を10分ごとに比較するとして、
そのような処理は、Timerで600000msでポーリングかければ良いのでしょうか?
他に良い方法ありますか?常時起動しておくものなので、CPU負荷は最小にしたく思います。
0355デフォルトの名無しさん
2009/12/30(水) 15:22:38以前から探しているんですがそういったものは見つかりません。
やはりないのでしょうか。よろしくお願いします。
0356355
2009/12/30(水) 15:34:29お願いします。
0357デフォルトの名無しさん
2009/12/30(水) 16:30:240358デフォルトの名無しさん
2009/12/30(水) 16:40:350359デフォルトの名無しさん
2009/12/30(水) 16:42:06タスクスケジューラのほうが軽いでしょうか。
というより、タスクスケジューラなるものを始めて知りました。
一度も使ったことが無かったです・・・
ちょっと調べてみます。出来そうならそれでやろうと思います。
0360デフォルトの名無しさん
2009/12/30(水) 16:44:450361デフォルトの名無しさん
2009/12/30(水) 16:55:35マウス座標をファイルに書き込んで、って処理を行うって事で良いのでしょうか?
出来ればそのように、常駐じゃなく10分に一度走らせる、のほうが良いのですが…
でも、出来るだけ同時実行するファイルは少ない方が良いですし・・・
負荷出来るだけ無くしたいじゃないですか。そこまで気にする人は少ないんですかね
0362デフォルトの名無しさん
2009/12/30(水) 17:00:210363デフォルトの名無しさん
2009/12/30(水) 17:01:360364デフォルトの名無しさん
2009/12/30(水) 17:16:070365デフォルトの名無しさん
2009/12/30(水) 17:18:38ってやってもコマンドプロンプトの位置が変わらないんだけどなんで?
0366デフォルトの名無しさん
2009/12/30(水) 17:19:54OSが提供してるサービスなんだけどな。
0367デフォルトの名無しさん
2009/12/30(水) 17:22:540368デフォルトの名無しさん
2009/12/30(水) 17:31:17http://www.codeplex.com/terrarium2
0369デフォルトの名無しさん
2009/12/30(水) 17:32:180370デフォルトの名無しさん
2009/12/30(水) 17:40:06中途半端に知識がある非プログラマにとっての話だよ
0371デフォルトの名無しさん
2009/12/30(水) 18:19:07低能乙
0372デフォルトの名無しさん
2009/12/30(水) 18:28:31インストーラーで説明入るなら別にかまわない
0373デフォルトの名無しさん
2009/12/30(水) 18:51:350374デフォルトの名無しさん
2009/12/31(木) 01:15:19常駐起動にして、普通に10分ごとにポーリングすることにします。
簡単なプログラムならC++でも出来るので、そっちでやろうかとも悩んでます。
とりあえずありがとうございました。
0375デフォルトの名無しさん
2009/12/31(木) 02:08:43検知したいなら「マウスが動きを止めてから10分間経過したら」だよ。キーボードだって調べないと。
0376デフォルトの名無しさん
2009/12/31(木) 02:27:36を取得したいと考えています。
ajaxでDOMを書き換えたとき、それをイベントとしてハンドルすることは
できませんか?(OnDocumentCompletedじゃないですよね)
また、書き換えた差分を抽出するのはdiffをとるしかないでしょうか?
0378デフォルトの名無しさん
2009/12/31(木) 02:33:33http://pc12.2ch.net/test/read.cgi/tech/1150036430/
0379デフォルトの名無しさん
2009/12/31(木) 02:35:47操作をやめたか、なんですが、そこまで正確にする必要は無いんです。
それに、無駄に複雑にして重くするのも嫌ですし、出来るだけ軽くしたいので最低限の処理でやろうと思います
0380デフォルトの名無しさん
2009/12/31(木) 04:23:100381デフォルトの名無しさん
2009/12/31(木) 05:25:26たま〜に良いこと言うな
0382デフォルトの名無しさん
2009/12/31(木) 06:05:040383デフォルトの名無しさん
2009/12/31(木) 06:14:170384デフォルトの名無しさん
2009/12/31(木) 06:26:35this.WindowState = FormWindowState.Maximized;
は何故
this.WindowState = WindowState.Maximized;
こうじゃないんですか?
this.FormBorderStyle = FormBorderStyle.None;
とかはプロパティ名=列挙型なのに。
0385デフォルトの名無しさん
2009/12/31(木) 07:08:280386デフォルトの名無しさん
2009/12/31(木) 07:09:420387デフォルトの名無しさん
2009/12/31(木) 07:15:110388デフォルトの名無しさん
2009/12/31(木) 07:24:300389デフォルトの名無しさん
2009/12/31(木) 11:07:31今はWPFがSystem.Windowsを使ってるが.NETの初期のバージョンの開発時にそんなことを予期してたとは思えないし
0390デフォルトの名無しさん
2009/12/31(木) 11:38:53そのころにはAvalonって言葉はあったと思うけど?
0391デフォルトの名無しさん
2009/12/31(木) 12:11:240392デフォルトの名無しさん
2009/12/31(木) 12:13:310393デフォルトの名無しさん
2009/12/31(木) 12:13:48つーか、MSのやることなんて、昔から全然一貫性ないじゃん。
臨機応変といえば、その通りなのかも知らんけど。
0394デフォルトの名無しさん
2009/12/31(木) 12:20:114.0なんて入れてくれる環境あるか?w
0395デフォルトの名無しさん
2009/12/31(木) 12:24:26そのうちMicrosoft Updateで自然と入るだろ。
0396デフォルトの名無しさん
2009/12/31(木) 12:49:180397デフォルトの名無しさん
2009/12/31(木) 13:05:520398355
2009/12/31(木) 13:13:15教えていただいたterrarium2.0をいじってるんですが
現在はオープンソース化したとのことでMSのマニュアル等がないようなので
つたない英語力でwiki等も調べてみたものの、APIのマニュアルが見つからないのですが
これについてはやはり古い書籍等を参考にするしかないでしょうか?
0399デフォルトの名無しさん
2009/12/31(木) 13:15:263時間9分54秒だった・・
惜しい
0400デフォルトの名無しさん
2009/12/31(木) 13:16:200401デフォルトの名無しさん
2009/12/31(木) 13:22:250402デフォルトの名無しさん
2009/12/31(木) 13:31:160403399
2009/12/31(木) 13:34:130404デフォルトの名無しさん
2009/12/31(木) 13:43:280406デフォルトの名無しさん
2009/12/31(木) 14:08:55string str;
for(〜){
str = 〜〜;
}
以下のようにforループ内で毎回ローカル変数を定義しては無駄が多いですよね。
for(〜){
string str = 〜〜;
}
でもこのように記述すれば1行減ってソースはスマートになります。
この程度ならC#のコンパイラは最適化してくれますか。
だとしたらこのように記述したいのですが
0407デフォルトの名無しさん
2009/12/31(木) 14:12:480408デフォルトの名無しさん
2009/12/31(木) 14:19:090409デフォルトの名無しさん
2009/12/31(木) 14:22:33for の中で string のインスタンス作って、for の中だけで使うんなら
どっちで書いてもパフォーマンス変わらないと思うけど。
string str; ってやっただけだと何も起きないよ。
0410デフォルトの名無しさん
2009/12/31(木) 14:23:42いちいちループ内でのみ使う変数を宣言だけループの外でするのは面倒だけど、最適化してくれないなら
そう記述したほうが処理的には効率が良いということですね。
しかしループ回数が少ないなら殆ど影響ないかも。
0411デフォルトの名無しさん
2009/12/31(木) 14:29:18でもループ内で毎回string str;とすると、stringクラスインスタンスのアドレスを確保する領域が
毎回そのつど確保されるんじゃないですか。
0412デフォルトの名無しさん
2009/12/31(木) 14:41:38ローカル変数は一つの宣言につき静的に一つ確保されるだけ
ループでも同じ
0413デフォルトの名無しさん
2009/12/31(木) 14:44:21コンパイルしたら、forの外にいようと中にいようと、
吐かれるコードは ldloc (load local) だからなぁ。
一緒。
今、IL Disasm してみたけど、for 内でしかインスタンス作ってないなら
コンパイル結果寸分たがわず完全一致してたよ。
Debug コンパイルですら全く一緒。
0414デフォルトの名無しさん
2009/12/31(木) 14:49:56ループ内で宣言しようが全く関係ない
0415414
2009/12/31(木) 14:57:20もちろん実際に確保されるのはメソッドに入る時だけど
そのときのレイアウトや必要なサイズはコンパイル時に確定しているということ
0416デフォルトの名無しさん
2009/12/31(木) 15:24:07皆さんありがとうございます。
ローカル変数の領域確保の仕組みがよく分かりました。
0417デフォルトの名無しさん
2009/12/31(木) 15:57:33ローカル変数自体なんて
単なるスタック領域にすぎないんだからどっちにしても普通は変わらん。
0418デフォルトの名無しさん
2009/12/31(木) 16:38:590419デフォルトの名無しさん
2009/12/31(木) 18:42:170420デフォルトの名無しさん
2009/12/31(木) 18:54:040421デフォルトの名無しさん
2009/12/31(木) 19:23:01string str = "";
0422デフォルトの名無しさん
2009/12/31(木) 19:40:540423デフォルトの名無しさん
2009/12/31(木) 20:47:580424デフォルトの名無しさん
2010/01/01(金) 00:16:210426デフォルトの名無しさん
2010/01/01(金) 16:03:32ネット上で紹介されているプロの方の書いたコードサンプルを見ていて
継承元クラスのフィールドなどにアクセスする際
通常は「base.」と付けないような印象を受けたのですが
こういう記述の仕方にセオリーといったものはあるのでしょうか?
よろしくお願いします。
0427デフォルトの名無しさん
2010/01/01(金) 16:14:530428デフォルトの名無しさん
2010/01/01(金) 16:20:59実際、明示の必要がある時だけ書く方がわかり易いですね。
ありがとうございました。
0429デフォルトの名無しさん
2010/01/01(金) 16:30:36}
って書くより
class A{
B b =new B();
func(){
b.func();
}
}
でおk、baseいらね
0430デフォルトの名無しさん
2010/01/01(金) 16:55:51継承元クラスって書いてあるだろ
ちゃんと見ようぜ
0431デフォルトの名無しさん
2010/01/01(金) 16:59:370432デフォルトの名無しさん
2010/01/01(金) 17:04:04それは今回の問題とはまた別の話
0433デフォルトの名無しさん
2010/01/01(金) 18:48:38変数・メソッドにアクセスなら普通付けない
: base(Hoge)
継承元のコンストラクターをコールするときは付ける
0434デフォルトの名無しさん
2010/01/01(金) 20:54:24ツールボックスに登録されているbuttonを継承したクラスを作った場合
IDEのデザイン機能の恩恵を受けることはできないのでしょうか?
0435デフォルトの名無しさん
2010/01/01(金) 20:56:300436デフォルトの名無しさん
2010/01/01(金) 21:10:23ありがとうございます
グーグル先生に拾ってもらうメモとして
ソリューションエクスプローラーを開いてbutton継承クラスを追加
using System.Windows.Forms;
using System.ComponentModel;
を継承クラスに追加
下記のように設定
class ExButton : Button
{
public ExButton()
{
base.SetStyle(ControlStyles.Selectable, false);
}
}
まさに上の質問も参考になりました。
たぶんそれがなければその辺でもはまったかも
0437デフォルトの名無しさん
2010/01/01(金) 21:12:41あったのでこのサイトの変換機能は重宝しました。
C#<->VB.NET相互変換
http://www.developerfusion.com/tools/convert/csharp-to-vb/
0438デフォルトの名無しさん
2010/01/01(金) 21:22:30それぞれの値を別の変数に格納するにはどうすればいいですか?
0439デフォルトの名無しさん
2010/01/01(金) 21:27:52unsafeにして、ポインタ使うのが楽じゃね?
0440デフォルトの名無しさん
2010/01/01(金) 21:30:51自前で合成
short配列に byte[3]*256+byte[2]
のような感じで(エンディアンは自分で考えてください
0441デフォルトの名無しさん
2010/01/01(金) 21:30:55ポインタ厨以外の方に教えてほしいです
0442デフォルトの名無しさん
2010/01/01(金) 21:31:060443デフォルトの名無しさん
2010/01/01(金) 21:54:39遅レスだけど、
ILでは、
.locals(...)
で関数の最初で確保される。(確か)
0444デフォルトの名無しさん
2010/01/01(金) 22:33:34ある程度形になったのですが一つ困った挙動があります。
スクリーンキーボードの性質上なるべく最前面で表示させておきたいので、
TopMost=trueにしてアクティブにならないように制御して自前ツールが
アクティブにならないように動くようになりました。
しかし、ツール以外のウインドウのタイトルバーをダブルクリックした場合
の挙動が死んでいるようで、一般的な「ウインドウの最大化」、「もとのサイズに戻る」
が渡っていないようです。
この場合の対策方法はありますでしょうか?
右上の並んでいる□が今回製作中のツールです
http://uproda.2ch-library.com/201727nKr/lib201727.png
わかっている範囲ではタイトルバーのダブルクリックだけ受け付けず
その他は問題ないです
0445444
2010/01/01(金) 22:41:46非表示の際にTopMost=flaseとしてみましたが結果は同じでしたので
TopMostは関係ないようです。
0446デフォルトの名無しさん
2010/01/01(金) 22:42:450447444
2010/01/01(金) 22:46:59//アクティブにならないウインドウに
//するためのオーバーライド
protected override void WndProc(ref Message m)
{
const int WM_MOUSEACTIVATE = 0x21;
//const int MA_ACTIVATE = 1;
//const int MA_ACTIVATEANDEAT = 2;
const int MA_NOACTIVATE = 3;
//const int MA_NOACTIVATEANDEAT = 4;
if (m.Msg == WM_MOUSEACTIVATE)
{
m.Result = (IntPtr)MA_NOACTIVATE;
return;
}
base.WndProc(ref m);
}
0448デフォルトの名無しさん
2010/01/01(金) 22:48:470449デフォルトの名無しさん
2010/01/01(金) 22:52:09あ、わかりにくくてすみません
ツールじゃないほかのウインドウのタイトルバーのダブルクリック制御です
その他ウインドウに影響を及ぼさないツールとして作りたかったのですが
今回のスクリーンキーボードが起動していると他所のウインドウの
タイトルバーのダブルクリック挙動が効かない状態になるんです
0450デフォルトの名無しさん
2010/01/01(金) 22:56:12あんたのアプリを実行中に、他のアプリのタイトルバーをダブルクリックしても、反応がない、ってこと?
0451デフォルトの名無しさん
2010/01/01(金) 22:58:140452444
2010/01/01(金) 22:59:35そうです
名前がないと面倒なのでスクリーンパッドと仮名をつけます
メモ帳やブラウザなどを任意のウインドウサイズから最大に広げる際に
右上のボタン以外にタイトルバーのダブルクリックでも同じことが行えま
すがスクリーンパッド起動中にそれができなくなるのでそれを回避する
方法が知りたいと思いまして・・・
0453444
2010/01/01(金) 23:02:26formクラスは>>447でオーバーライドします。
それとは別にタイマーを使って一定サイクルで下記処理を動かします。
private void timer1_Tick(object sender, EventArgs e)
{
int ThreadProcessId = GetWindowThreadProcessId(this.Handle, IntPtr.Zero);
IntPtr OldWindowHandle = IntPtr.Zero;
IntPtr targetWindowHandle = GetForegroundWindow();
if (targetWindowHandle == this.Handle && OldWindowHandle != IntPtr.Zero)
{
SetForegroundWindow(OldWindowHandle);
}
else
{
if (targetWindowHandle != OldWindowHandle)
{
int targetThreadProcessId = GetWindowThreadProcessId(targetWindowHandle, IntPtr.Zero);
AttachThreadInput(ThreadProcessId, targetThreadProcessId, true);
OldWindowHandle = targetWindowHandle;
}
}
}
0454デフォルトの名無しさん
2010/01/01(金) 23:06:19Vista SP2 x64 + Visual Studio 2008 SP1
0455444
2010/01/01(金) 23:14:27書き込んだらなんとか・・・がきちゃいました
メッセージ処理などが他に居るのかと思い込んでたのですがどうも違ったようです。
タイマー内のIntPtr OldWindowHandle = IntPtr.Zero;の位置が悪かったようです
これをタイマー処理のスコープから出したら問題なく動きました
>>454
お付き合いしていただいて済みませんでした
0456デフォルトの名無しさん
2010/01/02(土) 03:15:480457デフォルトの名無しさん
2010/01/02(土) 03:21:320458デフォルトの名無しさん
2010/01/02(土) 04:04:46そんな面倒なことせずにWS_EX_NOACTIVATEを使えばいいのに
0459デフォルトの名無しさん
2010/01/02(土) 04:10:41http://msdn.microsoft.com/ja-jp/library/cc440905.aspx
0461デフォルトの名無しさん
2010/01/02(土) 07:07:13デスクトップ上の始点と終点を指定するとその範囲だけを
スクリーンショットとして保存するソフトです。
半透明で表示するフォームにラベルx4とpictureBoxを使っています。
ラベルx4の内、x2には始点と終点のXY座標を表示しています。
問題の挙動というのがpictureBoxをフォームにドッキングしてしまうと
ラベルのテキストがまったく更新されないという物です。
pictureBoxのドッキングを解除してフォームより小さいサイズに
するとラベルのテキストが更新されます。
対処方法とか何かありますでしょうか?
0462デフォルトの名無しさん
2010/01/02(土) 13:10:13var a = from L in このスレ where 内容がクソ select 数値
a = 462
0463デフォルトの名無しさん
2010/01/02(土) 13:11:29再現できるコードplease
0464デフォルトの名無しさん
2010/01/02(土) 15:18:43windows付属のsnipping toolを使う
0465デフォルトの名無しさん
2010/01/02(土) 16:20:56その中で、ローカルPCの所定の場所に、重要データをテキストデータで保存できるようにしたいのですが、
個人情報はないものの、機密データでもありますので、テキストデータ保存時に暗号化したいと考えています。
C#で、そのような暗号化の機能はありますでしょうか。
ご教示ください。
0466デフォルトの名無しさん
2010/01/02(土) 16:23:15↓暗号化したって無駄だとかそういう突っ込みはいい
質問者が良いって言ってるんだから話をこじらせようとすんな黙れ
0467デフォルトの名無しさん
2010/01/02(土) 16:24:460468デフォルトの名無しさん
2010/01/02(土) 16:25:47そう言われると指摘したくなるなぁ。
0469デフォルトの名無しさん
2010/01/02(土) 16:43:07どのような方法があるの?僕にも教えてください。
0470デフォルトの名無しさん
2010/01/02(土) 16:49:29System.Security.Cryptography 名前空間
http://msdn.microsoft.com/ja-jp/library/system.security.cryptography.aspx
0471デフォルトの名無しさん
2010/01/02(土) 18:00:030472デフォルトの名無しさん
2010/01/02(土) 18:15:50> ↓暗号化したって無駄だとかそういう突っ込みはいい
なんらかの形で、それなりの長さのパスワード入力させれば、無駄ということはないんじゃないか?
0473デフォルトの名無しさん
2010/01/02(土) 18:55:430474デフォルトの名無しさん
2010/01/02(土) 20:32:50遅くなりました
一式まるまるです
http://uproda.2ch-library.com/201913msf/lib201913.zip
とりあえずpictureBoxはドッキングしてません
私の環境ではpictureBoxをフォームにドッキングするとlabelの更新がおかしくなります。
windowsXP home SP3
VC#2008Express
.netF 3.5
0475デフォルトの名無しさん
2010/01/02(土) 20:34:14from このスレ select クソ内容の書き込み
0476デフォルトの名無しさん
2010/01/02(土) 21:44:08まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
のpicturebox1をドックすると期待した動作にならない、って話?
ラベルを更新するコードがformのMouseMoveイベントに書いてあるんだから当たり前じゃん。
フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
マウスイベントはんて発生するわけないでしょ。
0477474
2010/01/02(土) 21:53:49>まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
みなさんはどういう感じでやってるんでしょうか?
頭の中に思い描いたプログラムを急いであれこれ実装してたので
命名まではあまり考えてませんでした
>フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
>マウスイベントはんて発生するわけないでしょ。
あーなるほど・・・
つまりformのMouseイベントで処理してるところをpictureboxでやればいいんですね
0478デフォルトの名無しさん
2010/01/02(土) 22:39:38どうしたらいいでしょうか?
WMI 使うのかなとは思ったんですが、どの namespace と class 使えばいいか
わからなかったので、よろしくおねがいします。
0479デフォルトの名無しさん
2010/01/03(日) 00:06:52Enterイベントを発動させるにはどうすればいいですか?
0480デフォルトの名無しさん
2010/01/03(日) 00:11:430481デフォルトの名無しさん
2010/01/03(日) 00:21:13そこで考えたのがAES等による暗号化を施そうと考えました。
こういった場合にAES暗号化時に用いる鍵、IV情報はプログラム的に毎回同じものを生成するようにしておいたほうがいいのでしょうか?
0482デフォルトの名無しさん
2010/01/03(日) 08:05:10abcde a= new abcde();
だったらabcdeが二回あってしつこい
a= new ebcde();
でよくね?
一回で済ます方法ないの?
0483482
2010/01/03(日) 08:10:24解決しましたありがとうございます。
0484デフォルトの名無しさん
2010/01/03(日) 11:20:060485デフォルトの名無しさん
2010/01/03(日) 11:33:440486デフォルトの名無しさん
2010/01/03(日) 11:45:58var だとそうはいかない。
0487デフォルトの名無しさん
2010/01/03(日) 11:51:460488デフォルトの名無しさん
2010/01/03(日) 12:00:060489デフォルトの名無しさん
2010/01/03(日) 12:07:16Wikipedia見て見たけどよくわかんないです;
0490デフォルトの名無しさん
2010/01/03(日) 12:27:34たとえば
void func(AClass);
なメソッドがあったとして
Object o=new AClass();
でfunc(o)はダメ
AClass a =new AClass();
func(a);は大丈夫
AClassを敬称してるBClassについては
BClass b = new BClass();
AClass a = new BClass();
のばあいfunc(b)、func(a)両方大丈夫
でOKなのか?
0491デフォルトの名無しさん
2010/01/03(日) 13:05:13関数の引数の多態性は静的多態だからなぁ。
変数の型(new した方じゃなくて、 o とか a とか b の宣言時の型)に基づく。
それがキャスト可能かどうかがすべて。
0492デフォルトの名無しさん
2010/01/03(日) 17:35:04MyFunctions.Foo(hoge);
というstaticメソッド呼び出しを
hoge.Foo()
と書けるようにする仕組み。
0493デフォルトの名無しさん
2010/01/03(日) 17:56:54C#はExpressEdition 2008で
oracleは11g_home1です
かなり初心者ですので
一から教えていただけるとありがたいです
0494デフォルトの名無しさん
2010/01/03(日) 18:03:11それを参考にしてください。
0495デフォルトの名無しさん
2010/01/03(日) 20:28:090496デフォルトの名無しさん
2010/01/03(日) 20:29:570497デフォルトの名無しさん
2010/01/03(日) 20:31:26そう思ったらスルーすればいいだけですよ
0498デフォルトの名無しさん
2010/01/03(日) 20:51:25ODBCでも使ってつないでろよ・・・。
0499デフォルトの名無しさん
2010/01/03(日) 20:52:11ここはC#のスレです。
Oracleとの接続に関してはOralceのスレで聞いてください。
0500デフォルトの名無しさん
2010/01/03(日) 20:52:470501デフォルトの名無しさん
2010/01/04(月) 00:51:58を処理する場合、その要素の元の型を知っていないと処理できないかと
思うのですが、使うときは foreach() 内などではその既知の型にキャスト
してから(そのプロパティ値などを)処理するということでよいでしょうか?
0502デフォルトの名無しさん
2010/01/04(月) 00:57:51今から作るなら普通は System.Collections.Generic 名前空間内のものを使うだろうから
型がわからないってことはないと思うけど。
0503501
2010/01/04(月) 01:23:21>System.Collections.Generic
こちらで送られてくる場合は型が付いてくる、ということなのですね。
古いコントロールだとIEnumerable で出来ているためにそういうことになる
ということなのですね。わかりました。ありがとうございました!!
0504デフォルトの名無しさん
2010/01/04(月) 03:40:42あれもジェネリック型が無かった時代の産物というか発想だよな
0505デフォルトの名無しさん
2010/01/04(月) 08:05:23Close();
Dispose();
Application.Exit();
Environment.Exit(0);
どれがいいんですか?
0506デフォルトの名無しさん
2010/01/04(月) 08:22:22GetForegroundWindowAPIを使って自スレッドにアタッチした後Activateも駄目、
勿論TopMostやFocusも駄目でした。仕様上出来ないものなのですかね?
0507デフォルトの名無しさん
2010/01/04(月) 15:32:56Close()やDispose()は指定したFormだけ。
Application.Exit()なら全てのFormを閉じてくれる。
Environment.Exit()は知らね。
0508デフォルトの名無しさん
2010/01/04(月) 16:24:53ここ見れホイホイ
ttp://dobon.net/vb/dotnet/form/closeform.html
0509デフォルトの名無しさん
2010/01/04(月) 16:52:51'System.Security.Cryptography.CryptographicException' のハンドルされていない例外が System.Core.dll で発生しました。
追加情報: 入力データが完全なブロックではありません。
というエラーが発生してしまうのですが何故なのでしょうか?
0510デフォルトの名無しさん
2010/01/04(月) 16:56:08復号ストリームに食わせたブロックが欠落してる
0511デフォルトの名無しさん
2010/01/04(月) 16:59:13CryptoStream作成時に上記で作成したストリームを渡して
CryptoStreamMode.Readを行っているのですがどこでデータが欠落するのでしょうか・・・。
0512デフォルトの名無しさん
2010/01/04(月) 17:00:520513デフォルトの名無しさん
2010/01/04(月) 17:03:45そりゃそうですよね・・・orz
ファイル書き込む時に暗号化データをStringに直して書き込んでればそりゃだめになりますわ・・・orz
0514デフォルトの名無しさん
2010/01/04(月) 17:05:530515デフォルトの名無しさん
2010/01/04(月) 17:20:170516デフォルトの名無しさん
2010/01/04(月) 17:23:47{
b = 10;
}
else
{
b = 100;
}
例えば上記の様な場合
b = (integerA == 1) ? 10 : 100;
のように書くというのは
1)極力(あるいは絶対に)上の例のように書くべき。
2)極力(あるいは絶対に)下の例のように書くべき。
3)見易さに応じてケースバイケース。
4)特にセオリーはなく、完全に好みの問題。
熟練されてる方々は一般的に1〜4のどのスタンスで使用されているのでしょうか。
よろしくお願いします。
0517516
2010/01/04(月) 17:25:44それから上の b=100; も字下げ忘れてました。
見辛くてすみません。
0518デフォルトの名無しさん
2010/01/04(月) 17:29:34禁止されてない限り(禁止されることは珍しくない) 2 。
0519デフォルトの名無しさん
2010/01/04(月) 17:30:46BackColorをTransparentにする
実装に無理があっていろいろトラブルが起きやすい方法なので,できれば
下に描画するものも含めてGraphicsで自前描画してしまうか
WPFでも使ったほうがいい
0520デフォルトの名無しさん
2010/01/04(月) 17:32:01例えば他にelse if が続いていて、たまたまこれだけがelseのみだった場合
これだけいきなり後者で書かれても不自然だ
0521516
2010/01/04(月) 17:37:50>>520
可読性が上がるなら特に使用に抵抗感はないものの
職場などでは使用を禁止されることもあるという感じでしょうか。
下のような書き方はネット上では目にする機会があまり多くないように感じたので
一般的には推奨されない書き方なのかなと疑問に思っていました。
ありがとうございます。参考になりました。
0522デフォルトの名無しさん
2010/01/04(月) 17:43:54b = (hoge == 1 ? 10 : 100);
0523デフォルトの名無しさん
2010/01/04(月) 17:59:070524デフォルトの名無しさん
2010/01/04(月) 18:08:25式が複雑なら上で、計算しないなら下。
上の書き方は bが2回登場するので、自分は嫌い。
0525デフォルトの名無しさん
2010/01/04(月) 18:47:36それに則っていえば一応下の方が良いことになるな
0526デフォルトの名無しさん
2010/01/04(月) 19:42:50Bitmap bmp = new Properties.Resources.bg;
これでもbgが存在しないらしく、ビルド失敗します。
0527デフォルトの名無しさん
2010/01/04(月) 19:45:35この辺かな?
http://www.atmarkit.co.jp/fdotnet/dotnettips/555appresources/appresources.html
0528デフォルトの名無しさん
2010/01/04(月) 20:21:46三項演算子は複雑になると他人が(そして未来の自分が)解読しづらくなるから
ネストするようなのは素直に if 使うわな。
というか迷ったら if でいいと思うわ。
将来的に保守していくコードは冗長でつまんないぐらいでいい。
生成結果が変るならまた話は別になるけど。
0529デフォルトの名無しさん
2010/01/04(月) 20:40:19俺も見やすさ重視でif使うかな
0530デフォルトの名無しさん
2010/01/04(月) 20:43:42今の時代でみるとギークぽいなあと思う。
C言語使うにしてもあえて?は使わないようにしてる
0531デフォルトの名無しさん
2010/01/04(月) 20:51:170532デフォルトの名無しさん
2010/01/04(月) 20:53:491でも2でも3でもなく4ですね
0533デフォルトの名無しさん
2010/01/04(月) 20:55:41そうそう
古参コーダーはたぶん>>531の意見だろうし
まあ変な先輩と一緒になるとスタイル押し付けられそうだけどね
0534デフォルトの名無しさん
2010/01/04(月) 20:57:430535デフォルトの名無しさん
2010/01/04(月) 20:57:59うーん、時代ってのでいうと、
・LINQ とかで文よりも式が見直されてる(if は式木にならないけど、? : はなる)
・C#の cond ? a : b は a と b の型の一致を保証できる
ってのもあって、むしろ昔よりも条件演算子使いやすいと思うよ。
0536デフォルトの名無しさん
2010/01/04(月) 20:59:12if-else が大量に並ぶのはむしろ設計見直した方がいいかも。
仮想関数にならないかとか、分割できないかとか。
if-else が大量に並ぶような場面で ? : 使うと余計にひどいことになりそう。
0537デフォルトの名無しさん
2010/01/04(月) 21:02:43使いやすいというかせこせこ1行にまとめてもなあと思う
0538デフォルトの名無しさん
2010/01/04(月) 21:29:02なんか途中で if か?三項演算子か?な議論にすりかわってるような
自分がどう書くかはともかく、他人が書いたソース読むときは
同じような処理が同じような書き方になってりゃどっち使ってても別に気になんないわ。
ちょくちょくぶれてるのが一番気持ちわるい。
0539デフォルトの名無しさん
2010/01/04(月) 21:29:04泥臭い処理も世の中にはあるぞ
0540デフォルトの名無しさん
2010/01/04(月) 21:30:20泥臭い処理は泥臭く書いた方が間違いが少ない
0541デフォルトの名無しさん
2010/01/04(月) 21:32:01三項演算子は値に注目して論理性がはっきりするからいいと思うけどな
0542デフォルトの名無しさん
2010/01/04(月) 21:39:120543デフォルトの名無しさん
2010/01/04(月) 21:44:340544デフォルトの名無しさん
2010/01/04(月) 21:57:000545デフォルトの名無しさん
2010/01/04(月) 22:01:160546デフォルトの名無しさん
2010/01/04(月) 23:00:340547デフォルトの名無しさん
2010/01/04(月) 23:01:54if (a == 1) {
b = 1;
} else {
c = 1;
}
みたいのですら
a == 1 ? b = 1 : c = 1;
ってやりたがるからな。
0548デフォルトの名無しさん
2010/01/05(火) 00:01:24左CtrlキーやAキーなど、入力されても他のウィンドウにはメッセージ送らない、みたいな。
0549デフォルトの名無しさん
2010/01/05(火) 00:26:50キー入力全部いったん食ってから、特定のキーのときだけhandled=trueにしてしまう手はある。
グローバルフックでキー拾えばウィンドウまたがったキー入力拾いも可能。
0550デフォルトの名無しさん
2010/01/05(火) 00:36:24送ることは可能でしょうか?
0551デフォルトの名無しさん
2010/01/05(火) 01:02:36再提出
特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
キー情報を(○○へ)送ることは可能でしょうか?
0552デフォルトの名無しさん
2010/01/05(火) 01:07:04送り先が起動してるかどうか確認して要るようなら指定されているキー情報を送るだけです
0553デフォルトの名無しさん
2010/01/05(火) 01:15:44条件を聞いたのに答えなかったから回答もここまでだ
方法は自分で考えろ
0554デフォルトの名無しさん
2010/01/05(火) 01:19:06ただ送りたい相手を調べる方法もよくわからないので
ヒントだけでもわかればと思ったんですが・・・
というかここは初心者スレですよね・・・
0555デフォルトの名無しさん
2010/01/05(火) 01:22:55話の通じない奴は初心者じゃなくて池沼だっての
0556デフォルトの名無しさん
2010/01/05(火) 01:23:460557デフォルトの名無しさん
2010/01/05(火) 01:25:59やりたいことは特定アプリのショートカットキーなどを登録したボタンを
フォームに貼り付けて、そのボタンを押した際に送りたいアプリが居れば
sendkeyで送るなどして、居なければ送らないというだけの動作です
0558デフォルトの名無しさん
2010/01/05(火) 01:29:28http://msdn.microsoft.com/ja-jp/library/1f3ys1f9%28VS.80%29.aspx
これでプロセス一覧を取る
ウィンドウハンドルとパスが入ってるから適当にやればいい
とりあえず十分だと思うが、上の方法は微妙に融通が利かないので
不便だと思ったらまた来い
0559デフォルトの名無しさん
2010/01/05(火) 01:42:54ありがとうございます
0560デフォルトの名無しさん
2010/01/05(火) 01:43:00549の答えでいんじゃない?
> 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
前者は
FindWindow→GetWindowThreadProcessIdして
SetWindowsHookExするDLLをDLLの作って
キー入力をSend/PostMessageで流すぐらいかな
後者は自分の頭ではちと大変で
EnumWindows→GetWindowThreadProcessIdで
exe特定するのに逆に辿る必要性がある気がするので
ハッシュリストにマーキングしたりで色々とめんどくさそう
0562デフォルトの名無しさん
2010/01/05(火) 02:24:330563デフォルトの名無しさん
2010/01/05(火) 02:26:090564548
2010/01/05(火) 02:43:44メモ帳上でCtrl+Aを押してもaが入力されるようになりました。
しかし、Altキーの入力を防ごうとしても、Alf+Fでメニューが表示されたり、
Ctrl+Alt+Delでタスクマネージャが出たり、Alt+F4が使えたりします。
これらは仕方がないんですかね?
0565デフォルトの名無しさん
2010/01/05(火) 02:43:47>>562
ありがとう
0566デフォルトの名無しさん
2010/01/05(火) 02:50:00この辺は?
http://www.gine.jp/blog/taka/post/Ce381a6e382afe383ade383bce3838fe383abe38395e38383e382afe381aee4bdbfe794a8efbc86ALTefbc8bCTRLe38282e38395e38383e382af.aspx
0567デフォルトの名無しさん
2010/01/05(火) 02:50:57CallNextHookExに渡すパラメータを何やかんやするとキー入力潰せた気がするけどどうかね
0568デフォルトの名無しさん
2010/01/05(火) 03:33:18Graphics.DrawStringを使用して文字列を画像化しています.
Graphics.DrawString
0569568
2010/01/05(火) 03:35:41Graphics.DrawString()の引数でフォントやサイズ,GraphicsUnitはきちんと指定したんですが
どうもMSペイントの場合と結果が異なってる気がします.
アンチエイリアスのせいかと思いすべて試してみたんですが同じ結果にはなりません.
文字描画の設定どうすればMSペイントと機能がおなじになるんでしょうか?
0570デフォルトの名無しさん
2010/01/05(火) 04:23:17付属してるような記述をネットで見つけたのですがVisual C# 2008 Express Edition
のような無料の物には付属しないのでしょうか?
0571デフォルトの名無しさん
2010/01/05(火) 06:24:09付属しない
0572デフォルトの名無しさん
2010/01/05(火) 07:33:40http://dobon.net/vb/dotnet/graphics/drawstring.html
0573デフォルトの名無しさん
2010/01/05(火) 07:53:46何が問題か解らないが、(DrawStringの引数として)StringFormatを使うと色々設定出来る
0574デフォルトの名無しさん
2010/01/05(火) 08:23:50TextBoxRenderer.DrawTextBox
0575デフォルトの名無しさん
2010/01/05(火) 08:25:290576デフォルトの名無しさん
2010/01/05(火) 09:04:430577デフォルトの名無しさん
2010/01/05(火) 11:29:01ありがとうございます。Alt+F4,Alt+Fのメニューはうまく出来ました。
bool control = ((GetKeyState(VK_LCONTROL) & 0x80) != 0) ||
((GetKeyState(VK_RCONTROL) & 0x80) != 0);
一応HookCallBackProcではCtrlキーも受け取るようにしたんですが、
やはりCtrl+Alt+Delのタスクマネージャは潰せないみたいです。
CallNextHookEx自体呼び出さなくても駄目でした。
0578デフォルトの名無しさん
2010/01/05(火) 11:31:480579デフォルトの名無しさん
2010/01/05(火) 11:34:02やはりそうですよね、それだけは仕方無いんですかねぇ・・・
出来ればCtrl+Alt+Delも防ぎたかったのですが、仕方無いみたいなので別の手段考えます
0580デフォルトの名無しさん
2010/01/05(火) 11:56:320581デフォルトの名無しさん
2010/01/05(火) 11:59:30DelでCallNextHookEx呼ばないようにしてみましたが、やっぱり駄目でした
0582デフォルトの名無しさん
2010/01/05(火) 12:00:340583デフォルトの名無しさん
2010/01/05(火) 12:01:180584デフォルトの名無しさん
2010/01/05(火) 12:04:39流石にそこまでやったことないが・・・・
0585デフォルトの名無しさん
2010/01/05(火) 12:05:05一定時間ごとにtaskmgr監視して、kill送るって事ですかね
タイマーの空回しは嫌いだからもっと良い方法無いかなと探してたので・・・
でも、それしか無いのならそうしてみます。
完全個人利用なので、いっそtaskmgrをリネームしてその時だけ使えなくしてもいいなと思ったり、
0586デフォルトの名無しさん
2010/01/05(火) 12:07:16Ctrl+Alt+Delでタスクマネージャーが出るだけの環境じゃない場合も多い
0587デフォルトの名無しさん
2010/01/05(火) 12:11:10>>586
そうなんですね、今後作るときに気をつけます
0588デフォルトの名無しさん
2010/01/05(火) 12:14:590589デフォルトの名無しさん
2010/01/05(火) 12:26:38キーマップ初めて知りました。見て見たのですが、レジストリ弄るって事ですか?
再起動が必要なら使えないですね・・・一時的にブロックしたいだけなので…
0590デフォルトの名無しさん
2010/01/05(火) 12:37:20CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/System
DusableTaskMgr(0x00000001)書き込んで無効にするようにします。
弊害があるのかもしれませんが、とりあえず再起動無しでも適応されましたので、
これを使いたいと思います。ありがとうございました。
0591デフォルトの名無しさん
2010/01/05(火) 12:57:490592デフォルトの名無しさん
2010/01/05(火) 13:00:220593デフォルトの名無しさん
2010/01/05(火) 13:00:290594デフォルトの名無しさん
2010/01/05(火) 13:06:440595デフォルトの名無しさん
2010/01/05(火) 13:07:200596デフォルトの名無しさん
2010/01/05(火) 13:11:540597デフォルトの名無しさん
2010/01/05(火) 13:42:49店頭とかではありませんが、>>592のようなもので、
キーボード入力は使うので外すことは出来ないんです
とりあえずコーディングして上手く動作しました。ありがとうございました。
0598デフォルトの名無しさん
2010/01/05(火) 22:23:06GINA 置き換えとかもあるけどなー。
0599デフォルトの名無しさん
2010/01/06(水) 01:01:53どっちかというとDelphi(Pascal)に近い。
0600デフォルトの名無しさん
2010/01/06(水) 01:07:54コンパイル時定数とimmutableは分けてもいいと思う。
0601デフォルトの名無しさん
2010/01/06(水) 01:12:270602デフォルトの名無しさん
2010/01/06(水) 01:12:40array[5]が5[array]という変わった書き方ができたけどC#だとウンサフェでもできないんだな。
完全移植じゃないんだな。
0603デフォルトの名無しさん
2010/01/06(水) 01:16:39C#は何やるにしてもCのころに比べてレイヤー増えてるから
そうじゃないの?
0604デフォルトの名無しさん
2010/01/06(水) 01:30:12つうかC#ってDelphiの人がMSに入って作った言語だから
0605デフォルトの名無しさん
2010/01/06(水) 01:47:540606デフォルトの名無しさん
2010/01/06(水) 01:50:290607デフォルトの名無しさん
2010/01/06(水) 01:55:300608デフォルトの名無しさん
2010/01/06(水) 01:57:230609デフォルトの名無しさん
2010/01/06(水) 02:02:290610デフォルトの名無しさん
2010/01/06(水) 02:28:410611デフォルトの名無しさん
2010/01/06(水) 08:06:10みなさんいろいろ意見ありがとうございます.
試してみてダメだったらもう少し日本語整えてまたきますw
0612デフォルトの名無しさん
2010/01/06(水) 13:51:15http://www.aiseikai.or.jp/
0613デフォルトの名無しさん
2010/01/06(水) 14:18:13ie = Type.GetTypeFromProgID("internetexplorer.application");
IE8-32bitが起動するように記述する方法はありますか?
それともOS側で設定を変更しなければならないのでしょうか?
VC#2008を使用しています。ご教示、宜しくお願いします。
0614デフォルトの名無しさん
2010/01/06(水) 20:51:06ネイティブのDLLやCOMは32bitからは32bit、
64bitからは64bitのものしか呼び出せない。
だから、呼び出しもとのC#のプログラムを/platform:anycpuから
/platform:x86にすればいけると思う。
0615デフォルトの名無しさん
2010/01/07(木) 00:36:45最小化、最大化、閉じるボタンあるしょ
_ □ × みたいなやつ。
最小化したときとかClosingイベントに書くんじゃなく
右上のボタンを押したときのイベントを作りたいんだがどうやればいい?
0616デフォルトの名無しさん
2010/01/07(木) 00:59:09フォームの右上に自分で作ったボタンを重ねて配置
0617デフォルトの名無しさん
2010/01/07(木) 01:00:590618デフォルトの名無しさん
2010/01/07(木) 01:04:180619デフォルトの名無しさん
2010/01/07(木) 06:14:39あれをランチャーぽく分離して使おうかと思ったのですが常に前面表示
ができても半透明がかけれなかったりするのでショートカットの置き場所だけ
クイック起動と共通にして表示部分だけ独自に実装したいのですが
どういう機能が関係するでしょうか?
アイコンの画像をボタンに取り込んで・・・とか考えているのですが
簡単なやり方とかありますでしょうか?
0620デフォルトの名無しさん
2010/01/07(木) 06:34:070621デフォルトの名無しさん
2010/01/07(木) 06:51:16ランチャー単独ではなくほかの機能+ランチャーなので・・・
0622デフォルトの名無しさん
2010/01/07(木) 11:30:24Icon.ExtractAssociatedIconでも使えば
クイック起動と置き換えたいとか言わなけりゃランチャなんて専門生の宿題レベルのプログラム
0623デフォルトの名無しさん
2010/01/07(木) 11:30:35byte[]をfixedした上で構造体ポインタへキャストし、使用しています。
その時に使用する構造体の定義内で配列を使用したい場合、
どのような記述をすればいいのでしょうか?
0624デフォルトの名無しさん
2010/01/07(木) 11:36:300626デフォルトの名無しさん
2010/01/07(木) 12:02:08外部アプリのウインドウの位置やサイズを変更するのに
MoveWindowを使ってるのですがたまに隠れた親ウインドウを
持ってるアプリがいるようでそのままだとうまくいきません。
何か対策方法はありますでしょうか?
0627デフォルトの名無しさん
2010/01/07(木) 12:14:00>C#限定じゃない感じもしますが一応C#でもできるので
わかってるならなぜここで聞く?
0628デフォルトの名無しさん
2010/01/07(木) 12:38:580629デフォルトの名無しさん
2010/01/07(木) 12:41:01なんも難しいことはない
0630デフォルトの名無しさん
2010/01/07(木) 12:45:32親ウィンドウの場合はMoveWindowで指定する座標はスクリーン座標になるが
子ウィンドウの場合は親ウィンドウのクライアント領域の左上隅が原点になるから上手くいかないと言ってるんだろう。
2連続で的外れなレスってどんだけ低脳だらけなんだこのスレ。
0631デフォルトの名無しさん
2010/01/07(木) 12:49:090632デフォルトの名無しさん
2010/01/07(木) 12:53:280633デフォルトの名無しさん
2010/01/07(木) 12:56:020634デフォルトの名無しさん
2010/01/07(木) 13:01:550635デフォルトの名無しさん
2010/01/07(木) 13:06:080636デフォルトの名無しさん
2010/01/07(木) 13:16:40ついでに便乗質問なんだけど、Vista以降では「元に戻す」の
システムメニューアイコン『□』のグリフ(文字の形)がXP以前とは変わっている。
あれのグリフってどっから取ってきたらいいんだろ?
0637デフォルトの名無しさん
2010/01/07(木) 13:22:03部分的な抜き出しですが下記処理でいろいろ試してみましたが
やっぱりJane Style(3.11)だけが意味不明なウインドウがでてきちゃいますね・・・
あと私のレベルでは皆さんのアドバイスを理解しきれませんでしたorz
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("Jane2ch");
if (p.Length == 1)
{
SetForegroundWindow(p[0].MainWindowHandle);
p[0].WaitForInputIdle();
MoveWindow(p[0].MainWindowHandle, 0, 0, 300, 200, 1);
}
0638デフォルトの名無しさん
2010/01/07(木) 13:24:36>>629-630>>632>>634
死ね死ね死ね死ね死ね
0639デフォルトの名無しさん
2010/01/07(木) 13:27:050640デフォルトの名無しさん
2010/01/07(木) 13:33:37「みえてるけど取れてない」とかだいたいそれだよ
0641デフォルトの名無しさん
2010/01/07(木) 13:38:410642デフォルトの名無しさん
2010/01/07(木) 13:44:31開発環境の癖と言う感じですかね?
その他アプリに関しては問題なくハンドルも取れてウインドウの変更もできるので
保留にしておきたいと思います。
0643デフォルトの名無しさん
2010/01/07(木) 13:45:410644デフォルトの名無しさん
2010/01/07(木) 15:03:56VisualStyleElement.Window.MaxButtonとか
0645デフォルトの名無しさん
2010/01/07(木) 16:56:220646デフォルトの名無しさん
2010/01/07(木) 17:00:310647デフォルトの名無しさん
2010/01/07(木) 17:06:470648デフォルトの名無しさん
2010/01/07(木) 17:13:250649デフォルトの名無しさん
2010/01/07(木) 17:20:030650デフォルトの名無しさん
2010/01/07(木) 17:26:27誰かmemtestとかやってないかな
0651デフォルトの名無しさん
2010/01/07(木) 18:00:38それとも俺が無知なだけ?
0652デフォルトの名無しさん
2010/01/07(木) 18:24:19スレタイをよく見てないとかいつものアレでしょ。
0653デフォルトの名無しさん
2010/01/07(木) 18:25:00前任の人がSQLサーバのテーブルにある画像フィールドを
更新していたのですが、わたしがどうやってもフィールドのデータを
更新して表示できなくなってしまいました
データの表示はASPXでもって
Response.BinaryWrite(CType(.Item(0), Byte()))
としているだけで、ACCESSから見るとそのフィールドはOLEオブジェクトとなっています
ここにコピーアンドペーストやオブジェクトの挿入からファイル名を入力したりいろいろやってみましたが
ウェブページで見ると×印になってしまいます
ContentTy;peファイル形式はpjpegとなっており、フォトショップで作ったjpegファイルを挿入したいのです
他のちゃんと表示されるレコードを参考にファイルの縦横pixcelなどは正しく作ったつもりなのですが、
冴えない結果で泣きそうです
OLEオブジェクトフィールドにバイトデータをファイルから挿入するにはどうしたらいいでしょうか?
プログラミングは必要なくて、スレ違いかと思いますが、作業の手順さえわかればいいのです
なにとぞヒントをお願いします
0654デフォルトの名無しさん
2010/01/07(木) 19:53:42AppendChunk()で。
0655デフォルトの名無しさん
2010/01/07(木) 20:07:22小数点以下32桁など桁数を指定できればと思うのですが
どうすればいいでしょうか?
0656デフォルトの名無しさん
2010/01/07(木) 20:15:190657デフォルトの名無しさん
2010/01/07(木) 20:20:460658デフォルトの名無しさん
2010/01/07(木) 20:24:01クラスを作ればいいんですかね?
0659デフォルトの名無しさん
2010/01/07(木) 20:28:160660デフォルトの名無しさん
2010/01/07(木) 20:29:56表示できる文字列にしたいのですが何か方法はあるのでしょうか?
0661デフォルトの名無しさん
2010/01/07(木) 20:33:480662デフォルトの名無しさん
2010/01/07(木) 20:40:060663デフォルトの名無しさん
2010/01/07(木) 20:43:19そのクラスに対する四則演算書くところから始まって
勿論ルートなどの演算も一から書く必要有るけどな
0664デフォルトの名無しさん
2010/01/07(木) 21:25:26BASE64か16進文字列にでもしとけば?
0665デフォルトの名無しさん
2010/01/07(木) 21:34:320666デフォルトの名無しさん
2010/01/07(木) 21:35:150667デフォルトの名無しさん
2010/01/07(木) 21:49:51どうやってやるんですか?
0668デフォルトの名無しさん
2010/01/07(木) 21:53:52そのクラスが用意できたとしたらあとは何をすれば?
0669デフォルトの名無しさん
2010/01/07(木) 21:55:100670デフォルトの名無しさん
2010/01/07(木) 22:01:00クラスをnewして使えばいいだけだろw
0671デフォルトの名無しさん
2010/01/07(木) 22:01:02auへ画像を添付してメールすると添付画像が受信できません。
MailMessage msg = new MailMessage();
msg.Body = "本文";
とした場合はちゃんと添付できるのですが、
msg.AlternateViews.Add(AlternateView);
を使用した時が添付できません。
絵文字を送信するため、AlternateViewの方で送信しないといけないので、
後者のほうを使用しています。
わかる方いらっしゃいましたらご教授ください。
0672デフォルトの名無しさん
2010/01/07(木) 22:11:47どっちがどっちか教えてください
0673デフォルトの名無しさん
2010/01/07(木) 22:18:26オーバーライドがシグネチャを乗っ取るほう
0674デフォルトの名無しさん
2010/01/07(木) 22:21:23overload
overlord
0675デフォルトの名無しさん
2010/01/07(木) 22:35:15仰られる通りの変更で動作しました。有難うございます。
0676デフォルトの名無しさん
2010/01/07(木) 22:50:31funcはAにもBにも乗っているからライドしてるんだよ!
クラスがトラックで、メソッドやプロパティが荷物な感じ
class A{
func(int x);
func(string s);
}
って二種類あったら荷物を二つ積んでる(オーバーなロードしてる)だろう?
一方
class A {
func();
}
class B {
func();
}
funcは二つに乗ってる(オーバーにライドしてる(だろう?だからrideなんだよ!
0677デフォルトの名無しさん
2010/01/07(木) 22:55:06なんか小学校の先生がお勉強ができない子に教えるような言い方だけど、
そんな方法でないと物事覚えられないお馬鹿な子は、そもそもプログラミング
やっちゃダメだと思うw
0678デフォルトの名無しさん
2010/01/07(木) 23:01:450679デフォルトの名無しさん
2010/01/07(木) 23:08:28数ミリ秒ごとにポーリングするしかありませんか?
0680デフォルトの名無しさん
2010/01/07(木) 23:10:50C#じゃ無理なんじゃねえの
0681デフォルトの名無しさん
2010/01/07(木) 23:14:510682デフォルトの名無しさん
2010/01/07(木) 23:16:46なんで検索しないんだろうね
0683デフォルトの名無しさん
2010/01/07(木) 23:20:02お前らこそ質問が「読み」書きなのに気付いてるか?
0684デフォルトの名無しさん
2010/01/07(木) 23:21:450685デフォルトの名無しさん
2010/01/07(木) 23:21:550686デフォルトの名無しさん
2010/01/07(木) 23:21:55C#だとシグネチャにはパラメータ情報も含まれるからその説明はちょっと
0687デフォルトの名無しさん
2010/01/07(木) 23:23:140688デフォルトの名無しさん
2010/01/07(木) 23:23:43Win32APIスレで聞けば教えてくれるよ。
0689デフォルトの名無しさん
2010/01/07(木) 23:23:440690デフォルトの名無しさん
2010/01/07(木) 23:55:22なんて所に誘導するんだよ。
0691デフォルトの名無しさん
2010/01/08(金) 00:13:21演算子のオーバーライドってどうやるんですか
0692デフォルトの名無しさん
2010/01/08(金) 00:14:360693デフォルトの名無しさん
2010/01/08(金) 00:15:420694691
2010/01/08(金) 00:20:010695デフォルトの名無しさん
2010/01/08(金) 00:22:03オーバーライドはできない。詳しいことは↓
ttp://msdn.microsoft.com/ja-jp/library/67ef8sbd.aspx
0696デフォルトの名無しさん
2010/01/08(金) 00:30:500697デフォルトの名無しさん
2010/01/08(金) 00:35:040698デフォルトの名無しさん
2010/01/08(金) 00:47:07それはオーラロード
そして40歳ネタ
0699デフォルトの名無しさん
2010/01/08(金) 00:47:48朝ごはんをコーンフレークにすること
当時はこれが流行の最先端だった
0700デフォルトの名無しさん
2010/01/08(金) 00:48:360701デフォルトの名無しさん
2010/01/08(金) 01:11:24ふつうにメソッドを作る方法と同じ。
ただメソッド名の部分をoperator+にするだけ
class A{
public static void add(int x,int y){
return x+y;
}
このaddが名前、operator+にしてみただけ。
0702デフォルトの名無しさん
2010/01/08(金) 01:23:43同じクラス内で同じ名前の関数を複数持つ(引数の数や型が違う)のがオーバーロード
違うクラスで同じ関数があった場合同一と認識するのがオーバーライド
であってますか?
0703デフォルトの名無しさん
2010/01/08(金) 01:44:41同一と認識するって言葉が意味不明だが。
0704デフォルトの名無しさん
2010/01/08(金) 02:08:40そこでint x,int yは無いだろ・・・しかもvoidって
0705デフォルトの名無しさん
2010/01/08(金) 02:21:37printf("%d","222");
}
とか懐かしいなw
0706デフォルトの名無しさん
2010/01/08(金) 10:10:16構文が ってこと?
0707デフォルトの名無しさん
2010/01/08(金) 10:31:56変数の宣言の部分をprivateをpublicに変えてやっているけど、本来はどうやって実現するのでしょうか?
0708デフォルトの名無しさん
2010/01/08(金) 10:41:44どの変数?
よく分かんないけど、普通は必要な部分だけプロパティ経由でset/getできるようにする。
0709デフォルトの名無しさん
2010/01/08(金) 10:54:510710デフォルトの名無しさん
2010/01/08(金) 11:19:16これ、やはり不味いかな?
皆さんは遠くてもカスケード方式でちゃんとイベント処理している?
0711デフォルトの名無しさん
2010/01/08(金) 11:29:23まあそんなのmodifiers一発だが
0712デフォルトの名無しさん
2010/01/08(金) 11:42:540713デフォルトの名無しさん
2010/01/08(金) 12:29:23実線を取り除いて画像を当てはめてbuttonを使ってない
感じにしたいのですが無理でしょうか?
pictuerboxを使ってそれっぽい動きにしたほうが簡単ですかね?
0714デフォルトの名無しさん
2010/01/08(金) 12:30:120715707
2010/01/08(金) 12:55:37modifiersを触ってみたら、結局、707でやったことと同じコードになった。
つまり勝手にprivateを変更しても構わないわけだ。
まあプロパティのmodifiersを触るとここが変更されるとは知らなかった。
イイこと聞いた
0716デフォルトの名無しさん
2010/01/08(金) 13:08:050717デフォルトの名無しさん
2010/01/08(金) 13:28:56const char A = 'x';
const char B = 'y';
const string R = A + B;
うまい書き方はないでしょうか?
0718デフォルトの名無しさん
2010/01/08(金) 13:29:48const string B = 'y';
const string R = A + B;
0719717
2010/01/08(金) 13:42:02ありがとうございます。
でも一行目からエラーになりますね。
開発環境は、Visual Studio 2008 Professional Edition です。
0720デフォルトの名無しさん
2010/01/08(金) 13:43:28const string A = "x";
const string B = "y";
const string R = A + B;
0721デフォルトの名無しさん
2010/01/08(金) 13:43:370722デフォルトの名無しさん
2010/01/08(金) 13:44:420723デフォルトの名無しさん
2010/01/08(金) 13:45:210724デフォルトの名無しさん
2010/01/08(金) 13:47:29const char B = 'y';
string R { get { return A.ToString() + B.ToString(); } }
0725デフォルトの名無しさん
2010/01/08(金) 13:53:400726デフォルトの名無しさん
2010/01/08(金) 13:58:09formAにcontrolBとControlCが乗っかっていて、ControlBにはControlD,ControlCにはControlEが乗っかっている場合
ControlDのイベントをControlEに伝える場合、
ControlD→ControlB→ControlA→ControlC→ControlEの経路で伝搬させる処を
ControlDにスタティックのイベントを登録してControlE Load時にイベント登録し
直接ControlD→ControlEでやっちまったんだが、普通どうするのかな?という話です
0727デフォルトの名無しさん
2010/01/08(金) 14:01:45そこまでコード書くなら、大概 const string R= "xy";
と書いた方が早い様な・・・気持ちは判るが
0728デフォルトの名無しさん
2010/01/08(金) 14:08:53それってほんとにC#の話なの? スレ間違ってない?
private void Form1_Load(object sender, EventArgs e)
{
controlD.Click += new EventHandler(controlD_Click);
}
void controlD_Click(object sender, EventArgs e)
{
controlE_Click(sender, e);
}
0729デフォルトの名無しさん
2010/01/08(金) 14:37:33FormAからControlDは直接見えず
同じくControlEもFormAから直接見えない構造とすると?
0730717
2010/01/08(金) 14:38:28>>725
プログラム中で文字として使うからcharにしてるんです。
Aをstringにしておいて、文字として使いたいときは A[0] とするか
Rを"xy" にしておくか
どちらかかなあ
ありがとうございました。
0731デフォルトの名無しさん
2010/01/08(金) 14:41:09ClassB:ClassDじゃなくて
ClassB{
private ClassD = new ClassD();
}
って感じ(所謂委譲)です
0732デフォルトの名無しさん
2010/01/08(金) 14:44:52入門書からやり直したら。
0733デフォルトの名無しさん
2010/01/08(金) 14:47:04当然カスタムコントロールです、カスタムコントロール上にカスタムコントロールが貼り付けて有るイメージです
0734デフォルトの名無しさん
2010/01/08(金) 15:20:16const にこだわらないなら逆の発想で、
const string R = "xy";
char A = R[0];
char B = R[1];
0735デフォルトの名無しさん
2010/01/08(金) 15:32:58>スタティックのイベント
というのがよくわからないけど、イベントの包含と委譲ならこういう感じで。
class Bar {
public event EventHandler Do;
public void Fire() { var eh = Do; if (eh != null) Do(this, EventArgs.Empty); }
}
class Baz {
Bar bar = new Bar();
public event EventHandler BarDo { add { bar.Do += value; } remove { bar.Do -= value; } }
}
0736デフォルトの名無しさん
2010/01/08(金) 15:33:150737デフォルトの名無しさん
2010/01/08(金) 15:36:23されない
0738736
2010/01/08(金) 15:40:28ありがとうございます。
では、C#のコードで解放するにはどうすればいいのでしょうか?
MemAlloc() ならAPIを直接呼べばよさそうですが、
malloc() や new がDLL内で呼ばれていた場合の対処法がわかりません。
0739デフォルトの名無しさん
2010/01/08(金) 15:42:410740736
2010/01/08(金) 15:45:50それはそうなのですが、DLLのソースが行方不明になってしまい・・・。
正直なところどの関数によって確保されているのかすらわかりません。
0741デフォルトの名無しさん
2010/01/08(金) 15:45:56class Bar {
public event EventHandler Do;
を
public static event EventHandler Do;
というインチキやって
ハンドラー側で
0742デフォルトの名無しさん
2010/01/08(金) 15:50:17おっと書き込んじゃった
続き
class hoge{
func()
{
Bar.Do += new EventHandler(hoge);
}
}
でイベント登録しちゃた
hogeでインスタンス持ってくるのはしょる為にこんな事したけど、皆さんはどうしているのかな?と言うのが知りたいんですよ
0743デフォルトの名無しさん
2010/01/08(金) 16:01:02無駄だって理解しろよ
0745デフォルトの名無しさん
2010/01/08(金) 16:23:230746デフォルトの名無しさん
2010/01/08(金) 17:14:31オブジェクト指向って知ってる?
0747デフォルトの名無しさん
2010/01/08(金) 20:54:29何色を表示しているかわかる方法ってありますか?
0748デフォルトの名無しさん
2010/01/08(金) 20:58:35画面の部分SS撮影してbmpに落とし込んで・・・は面倒か
0749デフォルトの名無しさん
2010/01/08(金) 21:06:45Bitmap bmp = new Bitmap(_width, _height);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(new Point(_left, _top), new Point(0, 0), bmp.Size);
_width _height は切り取りたいサイズ
_left _top 画面上の切り取り開始位置
あとはBitmap のGetPixelで指定すればOK?
0751デフォルトの名無しさん
2010/01/08(金) 21:24:400752デフォルトの名無しさん
2010/01/09(土) 01:14:42それでいておかしなごちゃごちゃ言語構造にならないのはC#製作者の腕が良いからかね。
0753デフォルトの名無しさん
2010/01/09(土) 01:17:37C#は本当に使いやすい
0754デフォルトの名無しさん
2010/01/09(土) 01:21:380755デフォルトの名無しさん
2010/01/09(土) 01:28:36int配列から3の倍数だけ取り出して
新しい配列をつくる
みたいなことがただの通常のfor文よりはるかに楽にできるよね
0756デフォルトの名無しさん
2010/01/09(土) 01:32:580757デフォルトの名無しさん
2010/01/09(土) 01:35:24そうは言っても、「ここは変だよ」的な不合理な点もいろいろあるにはあるよ。
個人的、例えば==演算子の扱いとか。
これに関しては悪い遺産を引きずってるはずのVBのやり方の方がまともだわ。
引数付きプロパティを頑なに忌避する姿勢もよくわからん。
分野によってはあるのとないので大違いなのに。
0758デフォルトの名無しさん
2010/01/09(土) 01:37:36そういう意味では駄作に見切りをつけるきっかけを作ったSunはGJだな
>>755-756
あとは、ver < 3.5の場合にArrayかList<T>のFindAll()くらいだな
0759デフォルトの名無しさん
2010/01/09(土) 01:43:29yield は、いまでも不要と思う。
0760デフォルトの名無しさん
2010/01/09(土) 01:46:42Visual J++ は、今でも名作とされているけどな。
0761デフォルトの名無しさん
2010/01/09(土) 01:49:05かつてのC++の様に
0762デフォルトの名無しさん
2010/01/09(土) 01:49:250763デフォルトの名無しさん
2010/01/09(土) 01:54:39FormのTransparencyKeyとBackColorを同じ色にして透明化して
BackgroundImageに透過色ありの画像を挿入するとFormの一部が
当然抜けるんだがこれって透過部分は判定すら無いんだけど
これはこういう仕様なの?
0764デフォルトの名無しさん
2010/01/09(土) 02:01:050765デフォルトの名無しさん
2010/01/09(土) 02:05:320766デフォルトの名無しさん
2010/01/09(土) 02:07:19言語仕様のシェイプアップは難しいもんな
0767デフォルトの名無しさん
2010/01/09(土) 02:08:08誰が得するのかよくわからないんだけど
0768デフォルトの名無しさん
2010/01/09(土) 02:12:13CPUのマルチコア化や巨大クラスタの導入が進んで、並列化が重要になってきているから。
0770デフォルトの名無しさん
2010/01/09(土) 02:13:31ラムダ式なんて糖衣構文レベルじゃねえの?
0771デフォルトの名無しさん
2010/01/09(土) 02:28:35>>769
アスペクト指向とかいう話もあったけど
すでにそれも時代遅れなのかな?
0772デフォルトの名無しさん
2010/01/09(土) 07:33:52アスペクト指向って部品化に向いていないからね
0773デフォルトの名無しさん
2010/01/09(土) 09:51:310774デフォルトの名無しさん
2010/01/09(土) 10:30:400775デフォルトの名無しさん
2010/01/09(土) 10:42:39その印刷用のボタンを押したときに印刷ダイアログボックスを表示するようにする方法を教えてください・・・!
0776デフォルトの名無しさん
2010/01/09(土) 11:02:05C#の正規表現を用いて、漢字を除去する方法を考えています。
public static string Remove_Kanji(string moji)
{
string a = "";
try
{
for (int i = 0; i < moji.Length; i++)
{
if (Regex.IsMatch(moji.Substring(i, 1), @"^.*\p{IsCJKUnifiedIdeographs}.*$"))
{
}
else
{
a += moji.Substring(i, 1);
}
}
}
catch
{
エラー命令
}
return a;
}
と記載したのですが、「佐々木」の「々」が漢字とみなされないのか、除去されずにReturnされます。
正規表現で漢字を検知する機能には限界があるのでしょうか。
もし、他に方法があれば教えていただけないでしょうか。
0777デフォルトの名無しさん
2010/01/09(土) 11:03:56・shift-jisに変換して文字コードを判別する方法
※ 過去にサイトで見たことがあるのですが、どのサイトかは失念してしまいました。
・文字のバイト数で判定する方法
http://7ujm.net/NET%20Framework/isOneByteChar.html
http://codezine.jp/article/detail/1083?p=2
・正規表現を用いて判定する方法
http://dobon.net/vb/dotnet/string/regexismatch.html
※半角文字列の判定方法ですが、半角が見つからないときは全角とみなしていいのかもしれないので、チェックしています。
がありましたが、
正直文字コードについての知識がなく、どれが堅実な方法か、長所短所は何かなどが分からないんです。
よろしくお願いします。
0778デフォルトの名無しさん
2010/01/09(土) 11:11:51自前で文字コード関連を実装したときはs-jisがやりやすかったかな
半角はアスキー互換だし全角についてはアスキーの空き部分を使ってるから
判定は楽だし
http://qpon.quu.cc/pc/sjis.htm
0779デフォルトの名無しさん
2010/01/09(土) 11:22:54「残してもいい文字」で考えればいいんじゃないの?
>>777
1文字取り出して半→全変換して変化があったら半角
0780デフォルトの名無しさん
2010/01/09(土) 11:32:210781デフォルトの名無しさん
2010/01/09(土) 11:37:05で見ただけでもCJK関連はこれだけあるね。
々はIsCJKSymbolsandPunctuationみたい。
IsCJKRadicalsSupplement
IsCJKSymbolsandPunctuation *
IsCJKUnifiedIdeographsExtensionA
IsCJKUnifiedIdeographs
IsCJKCompatibilityIdeographs
IsCJKCompatibilityForms
0782デフォルトの名無しさん
2010/01/09(土) 11:55:300783デフォルトの名無しさん
2010/01/09(土) 12:18:44\p{IsCJKUnifiedIdeographs}
だけでは日本人の要望に合致しないわけか…。
あと何が必要なんだろう。
>>781さんの定義が必要なのかな。
と言いつつ、…CJKって何…?
0784デフォルトの名無しさん
2010/01/09(土) 12:20:54http://ja.wikipedia.org/wiki/CJK%E7%B5%B1%E5%90%88%E6%BC%A2%E5%AD%97
CJK統合漢字とかCJKVとかあるんだね
まあ英語圏以外の2バイト以上の文字使うところに関係してるようだけど
0785デフォルトの名無しさん
2010/01/09(土) 12:20:570786デフォルトの名無しさん
2010/01/09(土) 12:22:2516ビットに入りきらないんで漢字圏の文字はごちゃ混ぜなのよ。
0787デフォルトの名無しさん
2010/01/09(土) 12:25:030788デフォルトの名無しさん
2010/01/09(土) 12:26:01もあるんだな
BRICsとかVISTAみたいなもんか
0789デフォルトの名無しさん
2010/01/09(土) 12:27:57「vista」もそういう流れできてるの?
0790デフォルトの名無しさん
2010/01/09(土) 12:29:54OSは知らんけど数年前の投資ブームの時はVISTAってこれから発展するであろう
国の名前並べていってたね。VISTAじゃなかったかもしれないが発音はビスタだった
0791デフォルトの名無しさん
2010/01/09(土) 12:31:23V ベトナム
I インドネシア
S 南アフリカ共和国
T トルコ
A アルゼンチン
0792デフォルトの名無しさん
2010/01/09(土) 12:31:48漢字を除去できると考えてよさそうだね。
勉強になりました。今日得た知識でも数万円の価値がある…!
0793デフォルトの名無しさん
2010/01/09(土) 12:32:55繰り返し記号はもとから漢字じゃなくて記号
ゝ (ひらがな用)
ヽ (カタカナ用)
々 (漢字用)
>>777
ttp://www.unicode.org/reports/tr11/
ttp://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt
文字幅に関しては規定されているから自分で実装するといい
文字列について判定するなら、全角/半角/混成/不明くらいかね
0794デフォルトの名無しさん
2010/01/09(土) 12:34:45http://homepage1.nifty.com/yamato/texts/memorandum/memo5_1.html
0795デフォルトの名無しさん
2010/01/09(土) 12:45:50難しすぎる…英語もあるし…。
英語の成績丙の私に分かりやすく教えていただけないでしょうか・
0796デフォルトの名無しさん
2010/01/09(土) 12:47:48S-JISにコンバートしてアスキーの基本文字以外のコードが出てきたらそのコードともう一文字削っとけばいいよ
0797デフォルトの名無しさん
2010/01/09(土) 12:49:33もともと半角の文字が紛れているときはどうしたらいいんだろ。
返還前後で変化がないけど半角として残したいし…。
0798デフォルトの名無しさん
2010/01/09(土) 12:52:240799デフォルトの名無しさん
2010/01/09(土) 12:54:49S-JISで適当な全角半角混在テキスト作って保存、バイナリエディタで中みてみなよ
↑上の文字列を実際に覗いてみるとこんな感じ
http://uproda.2ch-library.com/203594AB4/lib203594.png
0800デフォルトの名無しさん
2010/01/09(土) 12:56:43もし半角が引数に与えられて、
半角から全角への変換前後で変化があったときだけ、全角とした場合は、
もし「カ」が入ってきたら変化がないので全角とみなされてしまうよ。
0801デフォルトの名無しさん
2010/01/09(土) 13:19:29static class ExtensionMethods
{
public static bool IsHankaku(this string target)
{
return target.CompareTo(Strings.StrConv(target, VbStrConv.Wide, 0)) != 0;
}
}
0802デフォルトの名無しさん
2010/01/09(土) 14:57:100803デフォルトの名無しさん
2010/01/09(土) 14:59:440804デフォルトの名無しさん
2010/01/09(土) 15:03:23規模の大きいプログラムを扱った経験がなく
一つのプロジェクトの中で、1ファイルとしてまとめるクラスの規模を
どのように扱っていいのか迷っています。
例えばポリモフィズムを使うことで作られた複数の数行だけのサブクラスや
その継承元の抽象クラスなどを、どの単位で1つのファイルとして扱うのか
といった基本的な事なのですが
指針として参考にできそうなサンプルや、解説サイト等はありますでしょうか。
よろしくお願いします。
0805デフォルトの名無しさん
2010/01/09(土) 15:05:41C#の知識が豊富な誰かと仲良くなることからはじめるといいよ
0806デフォルトの名無しさん
2010/01/09(土) 15:16:461ファイル1000〜2000行以内が目安。
あまり分けても保守が大変なので、機能別や保守単位でまとめてもいいけど、
基本は、プロジェクトチーム内で方針を相談して決める。
プロジェクトごとに全然異なるので変なこだわりを持つと諍いの元。
0807デフォルトの名無しさん
2010/01/09(土) 15:18:450808デフォルトの名無しさん
2010/01/09(土) 15:21:53なるほど。コーディング規約などのように
一般的な基準が設けられていたり、セオリーがあるわけではないんですね。
自分としては、職場はプログラミングとは無縁ですし
今後もサンデープログラマーの域を出ることはないので
機能などから適せん判断して整理していこうと思います。
ありがとうございました。
0809デフォルトの名無しさん
2010/01/09(土) 15:22:24仕事すれば分かる。
0810デフォルトの名無しさん
2010/01/09(土) 15:34:260811デフォルトの名無しさん
2010/01/09(土) 15:38:56なので、機能の分割を考える。
なら理解できるかな。
0812デフォルトの名無しさん
2010/01/09(土) 15:41:110813デフォルトの名無しさん
2010/01/09(土) 15:42:22>>808
ここ便利だよ。
lang:c# で検索して他人のコード見まくるといいんじゃないかな。
http://www.google.com/codesearch
0814デフォルトの名無しさん
2010/01/09(土) 15:42:47それ言い出すとpublic enumもpublic delegateも1ファイル1つになってしまうよ。
0815デフォルトの名無しさん
2010/01/09(土) 15:43:11意味的にカプセル内なのに割っても仕方ないし、意味的に分けたのに同一ファイルにいるのも危険
0816デフォルトの名無しさん
2010/01/09(土) 15:44:23基本はそうだけど
イベントとイベント引数みたいなのは一つに纏めること多いなぁ。
Javaみたいに1ファイル1クラスを強制されてないから結構一纏めやってるわ。
0817デフォルトの名無しさん
2010/01/09(土) 15:45:44データクラスなんかは、ひとつのファイルに複数の関連クラスが含まれてるね。
0818デフォルトの名無しさん
2010/01/09(土) 15:46:14行数が一番効率的に管理できんだよ。
PGに割り振るときって最低1000〜2000行ぐらいの機能ずつ割り振るだろ。
1クラスにでかいメソッドがあって、それを一人のPGに任せるときは、それだけ1ファイル切り出す。
それがまた数千行。そしたら結局は行数が目安になんだよ。経験則に合致するだろ?
10万行のプロジェクトで50から100ファイル。
行数からしてテスト項目が数千とか推測できて、楽に管理できる。
0819デフォルトの名無しさん
2010/01/09(土) 15:47:160820デフォルトの名無しさん
2010/01/09(土) 15:48:460821デフォルトの名無しさん
2010/01/09(土) 15:49:19Effective C# あたり読んだらそこらへんの一般例とか載ってないかね?
って目次見たけど結構面白そうだな。
http://www.seshop.com/detail.asp?pid=11698&mode=spec
もう買って読んだ人いる?
0822デフォルトの名無しさん
2010/01/09(土) 15:51:12特に業務系のベタに手続き書く系のメソッドなんかは。
0823デフォルトの名無しさん
2010/01/09(土) 15:51:420824デフォルトの名無しさん
2010/01/09(土) 15:59:10納期や線表、人月を考えなくていい人には理解できない話だよ。
ど素人PGが混ざってる可能性とか考えたことあるかい?
それが重要な基幹クラスのファイルをコンパイルできなくなった日にゃ・・・
どこまでロールバックしていいかすら本人聞いても分からないんだぜ。
このソースは誰が書いたってだけが明白なだけでも全然違うんだよ。
0825デフォルトの名無しさん
2010/01/09(土) 16:02:07現実的に会社で管理やるとなるとそれで話するしかないんだよね。
成果主義で見積りたててる人ってどうやってるの?
うちはC#でやるときも人月とステップ or ページ単位の見積りだよ、いまだに。
0826デフォルトの名無しさん
2010/01/09(土) 16:02:10ソース管理ツールを使ってれば、誰が書いたコードなのかすぐにわかります。
こういうダメなプロジェクトには参加しないようにしましょうね。>素人PGのみなさん
0827デフォルトの名無しさん
2010/01/09(土) 16:02:22デスマーチってほんとにPGが消えるように連絡なしに急に来なくなるんだよ。
0828デフォルトの名無しさん
2010/01/09(土) 16:03:060829デフォルトの名無しさん
2010/01/09(土) 16:04:290830デフォルトの名無しさん
2010/01/09(土) 16:05:45それは単純なプロジェクトの場合。
ひとつのファイルを複数の人がいろいろな理由で更新するなんてよくあることなんだけど。
というか大きなプロジェクトや複雑な機能のプロジェクトやったことないんじゃないの?
0831デフォルトの名無しさん
2010/01/09(土) 16:06:130832デフォルトの名無しさん
2010/01/09(土) 16:07:33ここは妄想SEが跳梁跋扈するスレだってことをお忘れなきよう。
なのでそろそろ手仕舞いしてください。
0833デフォルトの名無しさん
2010/01/09(土) 16:08:280834デフォルトの名無しさん
2010/01/09(土) 16:09:240835デフォルトの名無しさん
2010/01/09(土) 16:09:45そうですね。最初に言ったことが結論です。
>変なこだわりを持つと諍いの元。
退散します。
0836デフォルトの名無しさん
2010/01/09(土) 16:10:24とりあえずのお勧めは、1クラス1ファイル。enumだろうがなんだろうが1ファイルで。
そのうち「ここはこうした方がいい」部分が見えてくる。
0837デフォルトの名無しさん
2010/01/09(土) 16:12:190838デフォルトの名無しさん
2010/01/09(土) 16:13:21ttp://executive.itmedia.co.jp/b_embeddedsoftwaremanufactory2/archive/18/0
0839デフォルトの名無しさん
2010/01/09(土) 16:23:18string s="abcd\nefgh";
TextBox1.Text=s;
ってやると、abcdefghてなっちゃう
abcd
efgh
ってやりたいんだけど
0840デフォルトの名無しさん
2010/01/09(土) 16:23:430841デフォルトの名無しさん
2010/01/09(土) 16:25:56MultiLineプロパティ
0842デフォルトの名無しさん
2010/01/09(土) 16:26:200843デフォルトの名無しさん
2010/01/09(土) 16:26:50\r\n
Environment.NewLineを使ったほうがいいかも。
あとMultiLineプロパティも忘れずに
0844804
2010/01/09(土) 16:27:03様々に苦労されてるテーマなんだと実感しました。
まずは1クラス1ファイルで書きながら、試行錯誤してみます。
本当にありがとうございました。
0845デフォルトの名無しさん
2010/01/09(土) 16:27:450846デフォルトの名無しさん
2010/01/09(土) 16:28:08それはちょっと流石に問題ありだと思う。
手続き指向のころだってそんなんやってると叱られたぞ。
0847デフォルトの名無しさん
2010/01/09(土) 16:34:06一人でコーディング、テスト、デバッグならいいけど、複数人にまたがったら効率悪いじゃん。
0848842
2010/01/09(土) 16:38:31複数人で同じファイル開発するとかマゾいからやらない
1ファイル1人だね
でも行数が多くなったという理由で分けたりはしない
あくまでも機能レベルで分けるだけかな
0849デフォルトの名無しさん
2010/01/09(土) 16:41:50List<byte>.GetRange()
0850デフォルトの名無しさん
2010/01/09(土) 16:41:56それ多分機能分割出来てない
0851デフォルトの名無しさん
2010/01/09(土) 16:44:010852デフォルトの名無しさん
2010/01/09(土) 16:44:02全部初期のクラスに書いてる
後はフォーム別に分けてる
メソッドとかごちゃごちゃしてて、見づらいけどね
0853デフォルトの名無しさん
2010/01/09(土) 16:47:24そういうときは
#region
#endregion
0854デフォルトの名無しさん
2010/01/09(土) 16:48:06メインフォームがもう3千行レベルになってるからね
0855デフォルトの名無しさん
2010/01/09(土) 16:48:400856デフォルトの名無しさん
2010/01/09(土) 16:50:43ガキじゃないんだから代替案ぐらい出してから言えよ、低脳。
MSのソースだって使いまくってるのに。
0857デフォルトの名無しさん
2010/01/09(土) 16:52:450858デフォルトの名無しさん
2010/01/09(土) 16:53:04VB使ってろボケ
0859デフォルトの名無しさん
2010/01/09(土) 16:54:000860デフォルトの名無しさん
2010/01/09(土) 16:56:38button_clickに10行以上書いたら負けだと思え
0861デフォルトの名無しさん
2010/01/09(土) 16:56:55言うと思ったw
>>852
行数多いのは主にカスタムコントロールだね
ファイル分けてもプロジェクトに取り込むときによけいに
分かりにくくなるだけだから、実際に使う単位でしか分けない
0862デフォルトの名無しさん
2010/01/09(土) 16:58:47外に出てくるなよ、迷惑になるから。
0863デフォルトの名無しさん
2010/01/09(土) 17:02:22ソースを分けたら判りにくくなるってのはよくわからん
見たくないからregionってのもオレにはわからん
0864デフォルトの名無しさん
2010/01/09(土) 17:03:31いつもの自称プロだろ。気にしないほうがいいよ。
0865デフォルトの名無しさん
2010/01/09(土) 17:04:19そうか分からないのかw それは仕方がないな。
0866デフォルトの名無しさん
2010/01/09(土) 17:05:10以前プロにバカされたのか?w
0867デフォルトの名無しさん
2010/01/09(土) 17:25:260868デフォルトの名無しさん
2010/01/09(土) 17:26:200869デフォルトの名無しさん
2010/01/09(土) 17:28:090870デフォルトの名無しさん
2010/01/09(土) 17:29:07思想の全く異なる複数のPGがひとつのものを開発するのですから。
0871デフォルトの名無しさん
2010/01/09(土) 17:29:13初心者が気を揉んでもどうしようもないがな。
0872デフォルトの名無しさん
2010/01/09(土) 17:34:580873デフォルトの名無しさん
2010/01/09(土) 17:40:25C言語華やかなりしころの教科書にはその手の話が普通に載ってたわ。
0874デフォルトの名無しさん
2010/01/09(土) 17:44:01週末だから仕方ないかもしれんがそろそろお開きにしよか。
0875デフォルトの名無しさん
2010/01/09(土) 17:45:37あぁプロは連休などないのですね。分かります。
0876デフォルトの名無しさん
2010/01/09(土) 17:49:55上手く運用されてようが失敗してようが関係ない。
何時だって自分が最高に正しいもんな、俺等って。
0877デフォルトの名無しさん
2010/01/09(土) 18:10:200878デフォルトの名無しさん
2010/01/09(土) 18:11:550879デフォルトの名無しさん
2010/01/09(土) 18:19:140880デフォルトの名無しさん
2010/01/09(土) 18:45:07俺はこうしてる!なんてどうでもいい
0881デフォルトの名無しさん
2010/01/09(土) 19:27:230882デフォルトの名無しさん
2010/01/09(土) 19:36:38まわりはみんな学会です
0883デフォルトの名無しさん
2010/01/09(土) 19:57:040884デフォルトの名無しさん
2010/01/09(土) 20:25:310885デフォルトの名無しさん
2010/01/09(土) 20:45:080886デフォルトの名無しさん
2010/01/09(土) 20:47:270887デフォルトの名無しさん
2010/01/09(土) 20:54:160888デフォルトの名無しさん
2010/01/09(土) 20:58:24「C# なんとかかんとか」って入れれば80%以上の確率で正解にたどり着くんだから。
0889デフォルトの名無しさん
2010/01/09(土) 21:00:11このスレの存在意義を否定してどうすんだw
0890デフォルトの名無しさん
2010/01/09(土) 21:03:05自分好みのスレ立ててセンズリこいてろハゲ
0891デフォルトの名無しさん
2010/01/09(土) 21:06:19East Asian Widthでググる
0892デフォルトの名無しさん
2010/01/09(土) 21:37:18おっさんバイバイ
おっさんが居なくてもこのスレはまわる
0893デフォルトの名無しさん
2010/01/09(土) 21:41:32半角⇒全角に変換できない文字って存在するのでしょうか。
0894デフォルトの名無しさん
2010/01/09(土) 21:56:32.netみたいにどんな言語でもいらっしゃ〜いみたいに大きな心持てよ。
でないとjavaみたいになるぞ。
0895デフォルトの名無しさん
2010/01/09(土) 22:07:410896デフォルトの名無しさん
2010/01/09(土) 22:13:42普通、先に検索するだろ。初心者とか関係ない。
0897デフォルトの名無しさん
2010/01/09(土) 22:31:59マイルール遵守させたければ出てけ
決められた(コーディング)規則に歯向かうのか?
プロさんよ
0898デフォルトの名無しさん
2010/01/09(土) 22:33:300899デフォルトの名無しさん
2010/01/09(土) 22:35:320900デフォルトの名無しさん
2010/01/09(土) 22:37:300901デフォルトの名無しさん
2010/01/09(土) 22:38:000902デフォルトの名無しさん
2010/01/09(土) 22:39:01初心者用スレで知ったかできないでどこで知ったかするんだって話だもんなw
0903デフォルトの名無しさん
2010/01/09(土) 22:39:05お前こそ検索しない奴にも寛容になったら。
他人には素養を求めるくせに自分には求めないって恥ずかしい大人だな。
0904デフォルトの名無しさん
2010/01/09(土) 22:41:360905デフォルトの名無しさん
2010/01/09(土) 22:41:59ここにいる全員がプログラマみたいな前提で雑談するのやめろよ
>>824みたいなのな
おまえらの職業の事情なんて知りたくもないんだよ
0906デフォルトの名無しさん
2010/01/09(土) 22:43:070907デフォルトの名無しさん
2010/01/09(土) 22:47:10ところで>>821のEffective C#って買いですか?
Effective C++とかEffective Javaとか良書だったけど
「項目49 C#2.0への準備」とかあるのが気になるw
0908デフォルトの名無しさん
2010/01/09(土) 22:47:350909デフォルトの名無しさん
2010/01/09(土) 22:49:35おれいま15歳だけど、何か質問ある?
0910デフォルトの名無しさん
2010/01/09(土) 22:49:55規模の大きいプロジェクトについて聞かれたから答えたという流れだったよ。
無知を指摘されたからってガキみたいに突っかかるなよ。
コーディング規約に行数の目安が入ってるなんて普通だから。
0911デフォルトの名無しさん
2010/01/09(土) 22:51:41何勝手に解釈してるのこの人。
0912デフォルトの名無しさん
2010/01/09(土) 22:53:040913デフォルトの名無しさん
2010/01/09(土) 22:53:38得意気にコーディング規約とか語っちゃってアホちゃうかと
0914デフォルトの名無しさん
2010/01/09(土) 22:54:290915デフォルトの名無しさん
2010/01/09(土) 22:56:19その前に>>808読んでねえだろ。
>自分としては、職場はプログラミングとは無縁ですし
>今後もサンデープログラマーの域を出ることはない
こんなのに業界の常識がどうとか語って天狗になって馬鹿じゃねえの。
本当に馬鹿じゃねえの。
0916デフォルトの名無しさん
2010/01/09(土) 22:57:070917デフォルトの名無しさん
2010/01/09(土) 22:59:200918デフォルトの名無しさん
2010/01/09(土) 23:00:120919デフォルトの名無しさん
2010/01/09(土) 23:04:29黙れ天狗野郎
0920デフォルトの名無しさん
2010/01/09(土) 23:05:250921デフォルトの名無しさん
2010/01/09(土) 23:06:04その本、なぜかMore Effective C#の訳本の方が先にでちゃったんだよな。
だから言語仕様的な部分はちょっと古い。
0922デフォルトの名無しさん
2010/01/09(土) 23:06:07( ‘д‘)<誰が禿やねん!!
∪l| ||ペシッ!!
@ノハ@
( ‘д‘)<誰が禿やねん!!
∪l| ||ペシッ!!
@ノハ@
( ‘д‘)<誰が禿やねん!!
∪l| ||ペシッ!!
@ノハ@
( ‘д‘)<誰が禿やねん!!
∪l| ||ペシッ!!
@ノハ@
( ´�D`)
0923デフォルトの名無しさん
2010/01/09(土) 23:06:540924デフォルトの名無しさん
2010/01/09(土) 23:09:19読んでサンデープログラマが何の得すんの。
0925デフォルトの名無しさん
2010/01/09(土) 23:10:040926デフォルトの名無しさん
2010/01/09(土) 23:10:17盲目的だな
0927デフォルトの名無しさん
2010/01/09(土) 23:11:59規模が大きくなっても、大抵クラスの分け方は概ねルールになってるから、
それに従うとそこまで極端な大きさにはならないし。
まあなることもあるけどね、
0928デフォルトの名無しさん
2010/01/09(土) 23:12:20設計者を崇めるのはちょっと毛色が違うとは思うが。
0929デフォルトの名無しさん
2010/01/09(土) 23:18:46なるほど、More〜のほうはC# 3.0/3.5対応なんですね。ありがとう
両方買ってみようかな
0930デフォルトの名無しさん
2010/01/09(土) 23:18:500931デフォルトの名無しさん
2010/01/09(土) 23:19:57訳は糞訳ですか?良訳ですか?
0932デフォルトの名無しさん
2010/01/09(土) 23:22:41こんなスレでそこまで必死にさせるものって一体何なの?
何が駆り立ててるの?
まさか虚栄心だけってことはないよね
0933デフォルトの名無しさん
2010/01/09(土) 23:24:13shut up!!
0934デフォルトの名無しさん
2010/01/09(土) 23:25:240935デフォルトの名無しさん
2010/01/09(土) 23:30:18喪黒腹蔵の出番だな
0936デフォルトの名無しさん
2010/01/10(日) 00:02:10DataGridとかならあるんですが・・・。
0937デフォルトの名無しさん
2010/01/10(日) 00:07:260938デフォルトの名無しさん
2010/01/10(日) 00:12:40自宅待機中の暇人が多い
0939デフォルトの名無しさん
2010/01/10(日) 00:19:160940デフォルトの名無しさん
2010/01/10(日) 00:19:390941デフォルトの名無しさん
2010/01/10(日) 00:35:49SQLiteで組み込んでいたんですがDataGridViewでやってしまうと
./***.dbってソースを指定した場合にデザインだとフォームプロジェクト直下に。
実行時になるとDebug、Releseの直下になってしまってこれじゃだめだよなぁと思ってたんです。
でも、よく考えたら作ってやってからコピーすればいいんですよね。
それか自前で登録していく処理をかくだけですよね。
すいませんでした
0942デフォルトの名無しさん
2010/01/10(日) 00:46:45DataGirdViewを使えばどれぐらい便利になるのですか?
0943デフォルトの名無しさん
2010/01/10(日) 01:29:38fruit.txt
りんご
りんご
みかん
みかん
みかん
バナナ
から、
りんご 2
みかん 3
バナナ 1
を得たいと考えました。
たんにuniqするだけなら、次のようにしてできます。
string[] fruits = File.ReadAllLines("fruit.txt");
string uniq;
foreach (string fruit in fruits) {
if (!uniq.Contains(fruit)){ uniq = uniq + fruit + "\r\n";}
}
0944デフォルトの名無しさん
2010/01/10(日) 01:30:42string[] fruits = File.ReadAllLines("fruit.txt");
string uniq;
int りんご;
int みかん;
int バナナ;
foreach (string fruit in fruits) {
if (fruit.Contains("りんご")) りんご += 1;
else if (fruit.Contains("みかん")) みかん += 1;
else if (fruit.Contains("バナナ")) バナナ += 1;
}
foreach (string fruit in fruits) {
if (!uniq.Contains(fruit)){
if (fruit.Contains("りんご")) { uniq = uniq + fruit + りんご.ToString() + "\r\n";}
else if (fruit.Contains("みかん")) { uniq = uniq + fruit + みかん.ToString() + "\r\n";}
else if (fruit.Contains("バナナ")) { uniq = uniq + fruit + バナナ.ToString() + "\r\n";}
}
これだと、fruit.txtに、イチゴが加わると、プログラムじたいを書き換えなければならなくなります。
こういう場合、どのようにしたらスマートなんでしょうか?
0945デフォルトの名無しさん
2010/01/10(日) 01:36:400946デフォルトの名無しさん
2010/01/10(日) 01:37:10名称 または
名称_XX _はブランク
だったら名称で同一とみなしていいのかい?
それならまず数字の除去からはじめる。
0947デフォルトの名無しさん
2010/01/10(日) 01:39:03数字? なんか勘違いしてる気がする。
0948デフォルトの名無しさん
2010/01/10(日) 01:40:12>りんご 2
は結果か。とにかくConstainsというのは必須なの?
0949デフォルトの名無しさん
2010/01/10(日) 01:41:300950デフォルトの名無しさん
2010/01/10(日) 01:41:45foreach (var g in fruits.ToLookup(x => x))
Console.WriteLine("{0} {1}", g.Key, g.Count());
こんなんとか
0951デフォルトの名無しさん
2010/01/10(日) 01:45:32{
public string なまえ;
public int こすう;
}
List<ふるーつ> list = new List<ふるーつ>();
0952デフォルトの名無しさん
2010/01/10(日) 02:18:10再利用しないならGroupByでよくね
0953デフォルトの名無しさん
2010/01/10(日) 02:18:540954デフォルトの名無しさん
2010/01/10(日) 02:22:40(from fruit in fruits
group fruit by fruit into fruitGroup
select new String.Format("{0} {1}", fruitGroup.Count(), fruitGroup.Key)
).Agreegate((a,b) => a + b);
LINQなら一行でいける。読みやすいかは別として
0955デフォルトの名無しさん
2010/01/10(日) 02:25:32これだから自称プロは
0956デフォルトの名無しさん
2010/01/10(日) 02:28:51表の表示・入力インターフェースとフィールドの内容が直結連動する。それだけ。
0957デフォルトの名無しさん
2010/01/10(日) 02:35:280958デフォルトの名無しさん
2010/01/10(日) 02:36:42データとして扱うならclassが必要
アイテム別処理が必要ならポリモーフィズム
初心者なら勉強しろ。ましてそれは自分の仕事か好きで書いてるかだろ。甘えてどうすんだよ。
0959デフォルトの名無しさん
2010/01/10(日) 02:45:13>別に質問者のために回答してるわけじゃないからなぁ。
>別に質問者のために回答してるわけじゃないからなぁ。
友達いないんだろうなぁ
0960デフォルトの名無しさん
2010/01/10(日) 02:46:04エラー 'string.Format(System.IFormatProvider, string, params object[])' は 'メソッド' ですが、'型' のように使用されています。
です。
0961デフォルトの名無しさん
2010/01/10(日) 02:49:13本物のプロ様、初心者にご教授願います。
0962デフォルトの名無しさん
2010/01/10(日) 02:56:21質問者も回答者もスキあらば煽りあい
ルール無用の残虐ファイトじゃないですか
0963デフォルトの名無しさん
2010/01/10(日) 02:58:170964デフォルトの名無しさん
2010/01/10(日) 03:00:500965デフォルトの名無しさん
2010/01/10(日) 03:06:21レベル的には配列の方はがいいんじゃないの?
そうすえばリストの必要性もみえてくるだろうし
というかこれ以上仲間が増えないように口減らししてるのかね?
0966デフォルトの名無しさん
2010/01/10(日) 03:10:34Dictionary<string, int> dict = new Dictionary<string, int>();
foreach (string fruit in fruits)
{
if (dict.ContainsKey(fruit))
dict[fruit]++;
else
dict[fruit] = 1;
}
foreach(var kvp in dict)
Console.WriteLine("{0} {1}", kvp.Key, kvp.Value);
0967デフォルトの名無しさん
2010/01/10(日) 03:54:36aggregateのスペルも違う
0968デフォルトの名無しさん
2010/01/10(日) 04:34:32"私の出身は東京で、…………"と自己紹介を1,000文字表示させたいとき、
A.Text = "私の出身は…"と入力していくと画面右側に切れてしまいます。
また、途中で改行を入れてしまうとエラーになります。
大量文字を移送するとき、「+"…"」を繰り返して でつなぐしかないのでしょうか。
0969デフォルトの名無しさん
2010/01/10(日) 04:49:08で複数行使える
フォーム上は単行にしておいて入力だけ複数行で行いたいなら
textBox.MultiLine = true;にしたtextBox Bを用意してtextBox A
にキャプションが来たらtextBox Bを表示してそっちで処理させるとか
0970デフォルトの名無しさん
2010/01/10(日) 05:27:30string msg = @"aaaaaaaaaaa
bbbbbbbbb
cccccccc
ddddddddd";
0971デフォルトの名無しさん
2010/01/10(日) 05:32:53勝手な俺用語使われても困るんだが、要点は「文字列リテラルに長文を書く場合について」でいいか?
文字列に改行を含んでもいいなら>>970
そうでない場合は、+ で結合してその前後で改行
0972デフォルトの名無しさん
2010/01/10(日) 05:40:35ではコボルっぽいやり方を伝授しよう。
配列もコレクションも使わん。
string line; string savekey = ""; int count = 0;
while ((line = Console.ReadLine()) !=null) {
if (savekey == line) count++;
else {
if (count > 0) Console.WriteLine("{0} {1}", savekey, count);
savekey = line; count=1;
}
}
if (count > 0) Console.WriteLine("{0} {1}", savekey, count);
C:> sort fruit.txt | ThisProgram
0973デフォルトの名無しさん
2010/01/10(日) 09:41:52また、Enterキーで次のタブオーダーに遷移するようにしています。
このときのビープ音なのですが、
テキストボックスについてはKeyPressイベントで
Handled=trueにすることにより音をけすことができましたが、
コンボボックスに文字を入力してEnterを押すと、ビープ音が鳴ります。
コンボボックスについて音を消すにはどうすればよいのでしょうか。
0974デフォルトの名無しさん
2010/01/10(日) 10:07:440975デフォルトの名無しさん
2010/01/10(日) 11:21:520976デフォルトの名無しさん
2010/01/10(日) 11:25:400977デフォルトの名無しさん
2010/01/10(日) 11:26:140978デフォルトの名無しさん
2010/01/10(日) 11:38:53C#スレだし、重いというとこみるとWPFか?
0979デフォルトの名無しさん
2010/01/10(日) 11:38:540980デフォルトの名無しさん
2010/01/10(日) 11:42:04数十行の文字列つっこむだけで糞重くなる
なんぞこれ?
0981デフォルトの名無しさん
2010/01/10(日) 12:00:07どのようにすればいいのでしょうか?
0982デフォルトの名無しさん
2010/01/10(日) 12:01:25わからないならレスするな
0983デフォルトの名無しさん
2010/01/10(日) 12:12:51参考資料
http://www.pinvoke.net/default.aspx/user32/GetKeyboardState.html
0984デフォルトの名無しさん
2010/01/10(日) 12:13:03普通にref
0985デフォルトの名無しさん
2010/01/10(日) 12:14:24GetKeyBoardStateの引数はPBYTEか
0986デフォルトの名無しさん
2010/01/10(日) 12:14:430987デフォルトの名無しさん
2010/01/10(日) 12:18:41ありがとうございます
0988デフォルトの名無しさん
2010/01/10(日) 12:20:22http://pc12.2ch.net/test/read.cgi/tech/1263093575/
0989デフォルトの名無しさん
2010/01/10(日) 12:21:59それ以外じゃ別に重くないけどな
0990デフォルトの名無しさん
2010/01/10(日) 12:22:59プレス子かAtomででも開発してるの?
0991デフォルトの名無しさん
2010/01/10(日) 12:25:01長い文字列突っ込むと30秒ぐらいフリーズする
0992デフォルトの名無しさん
2010/01/10(日) 12:29:070993デフォルトの名無しさん
2010/01/10(日) 12:30:420994デフォルトの名無しさん
2010/01/10(日) 12:31:260995デフォルトの名無しさん
2010/01/10(日) 12:31:580996デフォルトの名無しさん
2010/01/10(日) 12:38:20リソースにテストデータ突っ込んでもいーだろksg
0997デフォルトの名無しさん
2010/01/10(日) 12:39:370998デフォルトの名無しさん
2010/01/10(日) 12:40:52解決策はありませんのでお引き取り下さい
1000デフォルトの名無しさん
2010/01/10(日) 12:42:1910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。