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/
82 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:38:32 ] なぜつわものなのだろうか・・・・
83 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:51:56 ] 文字列に@が付いてるソースがありますがこれは何でしょうか? @"hoge" とかいうやつです。
84 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:53:34 ] 古い奴だけど・・・ ttp://msdn.microsoft.com/ja-jp/library/aa691090(VS.71).aspx
85 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 10:57:12 ] >>84 ありがとうございます。なんとなくわかりました。 自分的には@は使わなくてよさそうです。
86 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 11:08:07 ] GCでぶっ飛べば。
87 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:24:41 ] "c:\\windows\\system32"とか書くときは @"c:\windows\system32"ってするだろ
88 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:29:59 ] 正規表現書くときも使うしな
89 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:33:26 ] 普段使わないけど正規表現はねぇ…
90 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 13:40:37 ] なるほど
91 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:01:40 ] 正規表現を@なしとか読みにくすぎて泣ける
92 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:10:55 ] 自分のXPでは、エラーが出ないのですが、 VistaのPCで何故かWebClientの例外が発生します。 自分でVistaの開発環境を持てばいいのですがそれが出来ず困ってます。
93 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:15:29 ] どんなエラーかをとりあえず出すべきじゃないか?
94 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:30:47 ] >>58 はおれじゃないです・・・荒れてしまってすいません >>42 でとりあえず実装してますがまずいですかね?
95 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:34:08 ] >>94 ・・・なんでもいいけどテストちゃんとしろよな
96 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:52:35 ] {0:yyyy/MM/dd dddd hh/mm/ss ffff}, DateTime.Now
97 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 14:54:06 ] あー・・・やはりそうですよね; e.Massageで取得した文は WebClient要求がで例外が発生しました。 こうなんですが、 具体的な内容では無いので、どうするべきか迷ってました。
98 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:03:02 ] WebClientの何の処理でエラーなんだ?
99 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:04:09 ] メソッド、パラメータくらいかけよ
100 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:09:38 ] ひとまず例外のスタックトレースコピペるとかさ なんで自分で書いちゃうんだよwwww
101 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:16:01 ] >>98 それが特定できないんです、 エラー構文にその処理位置を特定するようにしてませんでしたので; >>99 Webclient.DownloadFileAsync(downUri, fileName)で開始し、 イベントハンドラDownloadFileCompletedで、e.Error != nullのとき、 WebClient例外が発生します。これだけでは特定できませんか?
102 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:19:18 ] 書き込みできないフォルダにダウンロードしようとしてるんじゃね? program filesの下とかさ
103 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:19:30 ] わかるかぼけ
104 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:22:15 ] だからメッセージだけじゃなくて例外の種類とかスタックトレースとかステータスコードとか いっぱい情報があるだろうが。 その辺を全部出せ。
105 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:23:55 ] >>102 はありそうだな。
106 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:29:50 ] 正しいアクセス権がなかったらエラーになってたような気がしたが?
107 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 15:32:25 ] とにかく自分でファイルを書くときはマイドキュメントに作らないと
108 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:00:21 ] いやそれはどうか
109 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:13:46 ] VISTAでUAC切って同じことやらせてみてはどうか 恐らく制限に引っ掛かってるんじゃね?
110 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:23:13 ] WebBrowserコントロールで使用するプロキシサーバーの設定ってデフォルトだとIEと同じ設定になるんだけど これを自分で設定することって出来ないかな? WebClientとかHttpWebRequestだとProxyプロパティがあって設定出来るんだけどいくら探してもそれっぽいのが見つからない
111 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:36:45 ] c#ってすごいな。フォームを半透明にできるのか。 かわいい幽霊の画像を用意して ゆっくりと透明度を上げ下げすれば、簡単にうらめし屋のできあがりだな。
112 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:39:59 ] C#ってかWindowsの機能でしょw
113 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:44:17 ] >>104 利用者向けのメッセージだったので、Error.Messageしか表示させてませんでした。 Vistaの方に協力してもらいやってますので、それから質問するべきでしたね。 >>102 SystemDriveでルート取得して、その直下にファイルをDLしているのですが、 VistaだとSystemDrive取得出来なかったりします?
114 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:45:18 ] >>110 自己レス WinInetのInternetSetOption()で出来る気がしてきたからちょっとやってみるわ
115 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 16:49:13 ] >>113 Vistaでシステムドライブ直下は書き込めないよ Vistaのセキュリティは万全なのだ
116 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:25:37 ] どうやら、UACが原因のようです。 UACを無効にすると、普通に起動することが出来ました。 >>115 どうやらそのようですね・・・ ユーザに気づかれないようにファイルをDLしてきて、処理をしたかったのですが、 となると、皆さんならどこに保存しますか?
117 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:29:34 ] >>116 ログインユーザーのデスクトップとかマイドキュメントとか
118 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:32:42 ] >>117 そうですよね、マイドキュメントでやってみようと思います。 ありがとうございました。
119 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:39:45 ] UACを無効にすることがいかに怖いかわかるな
120 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:44:10 ] VISTあの場合は使う側としては異常にうっとおしいけどな・・・
121 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:48:49 ] うざいよりウィルスにかかってもいい人 UAC無効 普段の面倒さよりウィルスのほうがやな人 UAC有効
122 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 17:52:19 ] >>114 自己解決しました
123 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 18:34:17 ] >>116 いやまて、ファイルをユーザーに見せたくないんなら Temp とかある程度永続が必要なら Local AppData あたりじゃないのか
124 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 19:42:15 ] >>94 まずいっていうか明らかにおかしいじゃん。もう正解でてるよ
125 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 19:54:49 ] intとかstring型ってSystemに入ってるみたいだが using System; を入れなくてもintやstringを使用できるのはなぜ?
126 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 20:21:30 ] >>125 System.Stringの別名がstring System.Int32の別名がint ※規制解除かな・・・テスト兼
127 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:03:44 ] >>124 うーむ・・・>>60 ですか?
128 名前:デフォルトの名無しさん [2009/11/05(木) 22:11:36 ] accessの熟練者から、 C#なんてなくてもaccess2007で十分じゃん。ランタイムも無料になったし。 と言われました。 なんか腹が立ちます。 C#の優位点を教えてください。 今、C#を猛烈に勉強しているので悔しいんです。 よろしくお願いいたします。
129 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:14:26 ] C#使えるようになってからにしような
130 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:14:31 ] Accessって何?ああ、Officeのオマケか。まだ出てたの?
131 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:17:37 ] 較べるようなもんじゃねーよ Accessで十分な用途ならそりゃAccessでやった方が楽だ AccessでPythonの処理系作れるか?
132 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:19:20 ] プログラマーとかじゃなくて普通の仕事なら accessの方が役に立つだろうから その人が正しいといえなくもない
133 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:22:15 ] accessって2Gの壁とかいろいろ制限あったんじゃね? あと同時に複数で使うと論理破壊が起るでしょ?
134 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:23:42 ] AccessとC#は立ち位置が違うよな・・・ JavaとC#とかならまだ議論しようがあるけど。
135 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:24:25 ] Accessあるのに職場内で使うようなデータベースソフト作るのに C#とSQLServerとか使ってたら「ば〜かぁ」って言われるだろうけど それ以外使い道ないじゃんAccess
136 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:24:34 ] その情報はあまりにも古い
137 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:27:53 ] それに比べたらゲームから書類まで作れちゃうExcelの万能さは異常
138 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:28:32 ] 結局VBAだらけになって、全部プログラムで作っちゃったほうが楽だったんじゃね?となる
139 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:30:05 ] VBAは使えるけどワークシート関数とか全くわからん
140 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:33:54 ] ExcelはVBA使ったら負け
141 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:58:34 ] ExcelはVBA言語によるリッチクライアントプラットフォーム
142 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 22:59:10 ] 農作業車とセダン比べてどうとか言ってる感じがする
143 名前:デフォルトの名無しさん [2009/11/05(木) 23:52:01 ] で、Accessに勝っている点って何? 劣っている点は心当たりあるけど。 …AccessはDBそのもので作業が楽。 同じものを作成するといってもC#の方が8倍くらいの時間がかかると思う。
144 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 23:53:11 ] Accessって共同作業できる?
145 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 23:53:14 ] accessでasp作れるの?
146 名前:デフォルトの名無しさん mailto:sage [2009/11/05(木) 23:55:28 ] WMPlibでWMPのUIをそのまま貼り付けて、 mp3の再生を行っています。 このとき、繰り返し再生機能を実装したいのですが、 どのように書けば良いのでしょうか? また、WMPのUI上で停止ボタンが押された場合のイベントは有りませんよね。。
147 名前:デフォルトの名無しさん [2009/11/05(木) 23:56:00 ] Windowsフォームアプリケーションを作るという前提ならば、 Accessに負ける?
148 名前:デフォルトの名無しさん [2009/11/05(木) 23:57:24 ] >>147 負ける。 ただ、Accessのフォームはどうも見た目が安っぽいんだよね。
149 名前:デフォルトの名無しさん [2009/11/05(木) 23:58:16 ] >>147 負けねーよ。馬鹿。 表入力は劣るけど。
150 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:02:17 ] AccessはC#で作れるからC#の勝ち
151 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:06:46 ] >>146 Settings あたりにあるだろ確か イベントは MouseDown とかそんなのなかったか? 俺は C++ で COM 直でしかいじったことないからあいまい だけど
152 名前:デフォルトの名無しさん [2009/11/06(金) 00:08:31 ] accessの方が有利点が多い?
153 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:11:53 ] Accessの優位点ってプログラムレスでお手軽にDBアプリができる点かね。 それを言うならもうとっくにお亡くなりになったロータスのAproachは もっとお手軽だった気もしたけど。
154 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:15:44 ] Accessはなんとなく適当に作ってもなんとなく動いちゃうんだよな それはそれで楽っちゃ楽なんだけれど、きっちり作り込もうとすると融通が利かなかったり VBAであれこれ書かなきゃいけなかったりするのよねぇ
155 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:16:20 ] 荒しだろ。しつけぇ
156 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:33:06 ] だがAccessの領域はSalesforceにとってかわりつつある
157 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 00:35:52 ] throw new ArashiException(); try{ 通常書き込み } catch(ArashiException){ むし }
158 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 01:00:54 ] >>156 salesforce は表で編集するの苦手だからなぁ 1レコードづつフォーム開いて編集するの限定なら代わりになるが・・・
159 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 01:37:52 ] 何を作るのに十分なんだろうな・・・ マルチスレッドも使えないし
160 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 02:18:18 ] 内部的にどういう動きしてるかしらないけどフォームやボタンのMouseClickイベントとかって while(true){ if (マウスがクリックされてる){ なんかする } 0.0001秒待機する } みたいな処理をやってるの? 裏では大量のwhile分がマウスやキーボードのチェックを行ってるの?
161 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 02:37:27 ] うん
162 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 04:38:56 ] ("{0:hh:mm:ss.ffff}",DateTime.Now) hはhour、mはminute、sはsecondをあらわすのはいいとして ミリ秒をあらわすfって何の略よ?
163 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 04:49:20 ] few
164 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 07:44:18 ] fractionだろ ミリ秒ではなく秒の端数
165 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 16:06:23 ] .net Framework Compactには画像を回転させる関数がないので homepage2.nifty.com/tsugu/sotuken/rotation/ のサンプルをC#で動かすためにいじってみましたが 最後のサンプルで計算領域がはずれてしまい、画像が大きくゆがむ現象で困ってます アルゴリズムのどこかがコンパイルは通るもののCとC#の言語仕様で うまくいかないようです ちなみに最初に出てくるサンプルはちょっと変更を加えると動きました 高速化ってのを試したいんですが・・・
166 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 21:40:41 ] わかるわけないだろ うまくいかないコードを晒せ
167 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:04:33 ] では・・・ //画像回転 public void MapRotat(double A, int DstCX, int DstCY, int SrcCX, int SrcCY) { Bitmap BmpBufRot = new Bitmap(BmpSource.Width, BmpSource.Height); //homepage2.nifty.com/tsugu/sotuken/rotation/ // SrcCX, SrcCY : 入力画像の中心座標 // DstCX, DstCY : 出力画像の中心座標 // : 入力画像の幅高さ int SrcWidth = BmpSource.Width; int SrcHeight = BmpSource.Height; // : 出力画像の幅高さ int DstWidth = BmpBufRot.Width; int DstHeight = BmpBufRot.Height; // pSrcImg : 入力画像ポインタ // pDstImg : 出力画像ポインタ // A : 回転角度(ラジアン) // PI : 円周率(3.14159265358979323846) int int_sin; //SIN値に1024を掛けて整数にした値 int int_cos; //COS値に1024を掛けて整数にした値 int x1, y1; //入力画像内の座標 int x2, y2; //出力画像内の座標 int x1_mult, y1_mult; //入力画像内走査用変数(1024を掛けた値) int StX, StY; //入力画像内の走査開始点座標 int DXX, DXY; //入力画像走査時のXループ内の増分 int DYX, DYY; //入力画像走査時のYループ内の増分
168 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:06:50 ] //SIN,COS値を整数に変換 int_sin = (int)(Math.Sin(A) * 1024); int_cos = (int)(Math.Cos(A) * 1024); //走査開始点の計算 StX = int_cos * (-DstCX) - int_sin * (-DstCY) + (SrcCY << 10); StY = int_sin * (-DstCX) + int_cos * (-DstCY) + (SrcCY << 10); //Xループ内の増分を計算 DXX = int_cos; DXY = int_sin; //Yループ内の増分を計算 DYX = int_sin; DYY = int_cos;
169 名前:デフォルトの名無しさん mailto:sage [2009/11/06(金) 22:07:39 ] //回転処理メインルーチン //出力画像の座標でループを行う for (y2 = 0; y2 < DstHeight; y2++) { //走査用変数の初期化 x1_mult = StX + y2 * DYX; y1_mult = StY + y2 * DYY; //走査用変数にXループ内の増分値を加算 for (x2 = 0; x2 < DstWidth; x2++, x1_mult += DXX, y1_mult += DXY) { //走査用変数から入力画像内の座標を取得 x1 = x1_mult >> 10; y1 = y1_mult >> 10; //入力画像内の座標が有効な値ならコピーを行う if (x1 >= 0 && x1 < SrcWidth && y1 >= 0 && y1 < SrcHeight) { BmpBufRot.SetPixel(y2, x2, BmpSource.GetPixel(y1, x1)); } } } Graphics g = Graphics.FromImage(BmpBuf); g.Clear(Color.Blue); int x = (BmpBuf.Width - BmpBufRot.Width) / 2; int y = (BmpBuf.Height - BmpBufRot.Height) / 2; g.DrawImage(BmpBufRot, x, y); g.Dispose(); this.Image = BmpBuf; }
170 名前:rrr mailto:sage [2009/11/06(金) 23:25:53 ] rrr
171 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:29:27 ] あまり関係ないと思われるが × StX = int_cos * (-DstCX) - int_sin * (-DstCY) + (SrcCY << 10); ○ StX = int_cos * (-DstCX) - int_sin * (-DstCY) + (SrcCX << 10);
172 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 00:38:58 ] いや、「画像が大きくゆがむ現象」はともかく、「計算領域がはずれてしまい」は こいつが原因くさいか。
173 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 09:43:17 ] ありがとうございます 変更してテストしてみました やはり現象はほぼ同じです 180度回転はうまくいきます 90度回転は (x1 >= 0 && x1 < SrcWidth && y1 >= 0 && y1 < SrcHeight)の領域に入ってこないので 描画されません 中間の角度で描画されない部分とゆがむ部分がでてきます ピクセルの位置の増分を決定している変数 x1_mult y1_mult が適切でないっぽいですね しかし理屈が理解できてないのでどこが間違いかわかりません
174 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 11:54:32 ] 訂正しても現象がほぼ同じなことの原因 最初から回転を考えててコピー元、コピー先ともに正方形にしてたからです たまたまですね
175 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 12:15:03 ] C#とかの仕様の問題じゃなく、単にアルゴリズムの間違いだと思う。 ネタ元ページの走査開始点の式に出力画像の幅高さが出てこないのが変。 アイデアとしては、図の通り斜めにコピーするのは納得できる。 でも、コピー先の領域(出力画像の幅高さ)を適用しないと、コピー元での走査 開始点座標が求まるはずが無い。 幾何学的意味は、回転中心を元先で合わせて、先領域を回転させて先領域の (0,0)が該当する位置を、元領域での走査開始点とするから。 よって、式が疑わしい。 回転の中心と画像の中心をごっちゃにして間違ってるんじゃないかなコレ? 書かれているように画像の中心なら幅高さとは別に用意されてる意味がない。
176 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 12:31:00 ] >>175 そうなんですか じゃー動くやつであとはLockBitsして高速化してみます
177 名前: softbank221086123053.bbtec.net mailto:sage [2009/11/07(土) 13:47:07 ] たとえば、string変数の abc[def]ghi があるとして、 [と]の間にある文字列を取得する場合はどのように書けばいいのでしょう
178 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:49:58 ] いや、回転中心も原点からの座標値だから正しい。175は勘違い。
179 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:52:18 ] >>177 String#Substring メソッド
180 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 13:56:21 ] >>177 Regex
181 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:18:07 ] >>142 セダンの運転手を雇ってる人が一番エライ Access使いだろうがC#使いだろうがただのしもべ
182 名前:デフォルトの名無しさん mailto:sage [2009/11/07(土) 14:26:56 ] はいw