[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 10/20 11:55 / Filesize : 104 KB / Number-of Response : 571
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part52



1 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:27:03 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとC#,C♯,C#(初心者用) Part51
pc12.2ch.net/test/read.cgi/tech/1261186507/

関連スレ
C#, C♯, C#相談室 Part55(実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
pc12.2ch.net/test/read.cgi/tech/1245384489/


175 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:27:21 ]
なんでえらそうなの?

176 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:28:10 ]
Windowsフォームアプリだと、Consoleクラス使ってもコンソールには出力できなかったような。
Console系のAPI使え。

177 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:34:07 ]
>>174
プロジェクトのプロパティのアプリケーションの項で
出力の種類をコンソールアプリケーションにすればOK

馬鹿ばっか

178 名前:デフォルトの名無しさん [2009/12/27(日) 13:34:56 ]
>>168
www.codeproject.com/KB/audio-video/AudioLib.aspx

179 名前:デフォルトの名無しさん [2009/12/27(日) 13:35:30 ]
質問させてください。
WindowsXP,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しないし、エラーの原因がよくわかりません。
これはどういったことなのでしょうか。ご指南よろしくお願いします。

180 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:44:58 ]
>>175
えらそうだったですか? すまん。ごめんなさい。

>>177
おお。これです。ありがとうございます。
ただ、これだと問題があります。
このアプリケーション、Formアプリケーションなのです。
出力の種類をコンソールにすると、実行時に必ずコンソールが開いちゃいます。

・ふつうはFormとして実行。
・if (args[1] == "console") {
string processMessage = "いろいろ処理後のstring";
Console.WriteLine(processMessage);
Close();
}
としたいのです。


181 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 13:47:14 ]
ごめんなさい。自己解決しました。

182 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:13:02 ]
どっちが解決したんだろう?w

183 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:15:42 ]
>>182
コンソール出力は未解決です〜。




184 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 14:26:25 ]
stackoverflow.com/questions/277771/how-to-run-a-winform-from-console-application

185 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:07:18 ]
dobon.net/vb/dotnet/programing/consoleinout.html
これだ

186 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:13:50 ]
>>185
それはないわ

187 名前:デフォルトの名無しさん [2009/12/27(日) 15:23:35 ]
パネルのオートスクロールをオンにしているとき
そのパネルにスクロールバーが表示されているか否かを知るプロパティはありますか?

188 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:24:39 ]
ありません

189 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:27:34 ]
>>187
自前でフォントサイズで計算して・・・

190 名前:デフォルトの名無しさん [2009/12/27(日) 15:31:23 ]
ごめんなさい
質問を取り消します

191 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:32:04 ]
どれが取り消されたんだろう?w

192 名前:デフォルトの名無しさん [2009/12/27(日) 15:34:56 ]
www.pinvoke.net/default.aspx/user32/GetScrollBarInfo.html
こいつでスクロールバーサイズ求めたらいける

193 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 15:37:40 ]
Panelを使うとき、スクロールバーが出てるかどうかは確かに調べたいな。
どちらかというと強制的に出しっぱなしにしたいんだけど。



194 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:22:37 ]
C#は小学生向けの言語というのは本当ですか?教えてちょo(´∀`)oワクワク

195 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:25:41 ]
そうだな

196 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:28:21 ]
どちらかというと何かと白黒を付けたがって
世の中のすべてのものがはっきり決まっててほしいと思いたがるような
中学・高校生向きかもしんない。

197 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:29:10 ]
小学生のおじちゃんたち、教えてくれありがとーo(´∀`)o

198 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:31:51 ]
中高生はたしかに極端なこと言うの多いよな。


199 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:32:33 ]
一面だけ見てわかった気になっちゃうからね
C#関係ねーよバカ

200 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:35:36 ]
小学生でも使える素晴らしい言語です。
次は、英語を使えるようになりましょう。

201 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:35:48 ]
で、小学生には、案外lispとかSqueakやPythonのほうがいいのかも。
Rubyでもいいけど、イディオムが多くて教えるのが大変そう。

202 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:44:45 ]
小学生向きの言語はLogoと昔から相場がきまっておる

203 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:47:27 ]
しかし小学生に教える先生達はVBしか使えないのであった



204 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:50:12 ]
間を取ってSmallBasicだな

205 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:51:09 ]
オッサンどもはいつになったらスレタイが読めるようになるの?

206 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 16:59:42 ]
>>182
なるほど〜。Mainのなかで引数で条件わけするんですね。
すごい。目からうろこが落ちました。
ありがとうございました。

207 名前:デフォルトの名無しさん [2009/12/27(日) 18:14:59 ]
コンボボックスで表示されるリストのうち、
どれかをマウスでクリックしたら、
次のタブオーダーの項目に遷移するようにしたいとき、
どのイベントを使用するものなのでしょうか。
Clickイベントだと、リストを表示しようとコントロール上の▼をクリックした瞬間に移動してしまいます。
また、SelectedIndexChangedに記述しても同様です。
教えていただけないでしょうか。よろしくお願いいたします。

208 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 18:20:03 ]
>>207
マウスでクリックしてるのに勝手に別のコントロールに
フォーカスが移動しちゃったら却って不自然だろ?

209 名前:デフォルトの名無しさん [2009/12/27(日) 18:32:13 ]
>>207
やったこと無いけどBeginInvoke 使えば出来るかもよ

210 名前:デフォルトの名無しさん [2009/12/27(日) 20:37:08 ]
自己解決しました!

211 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:02:29 ]
自己解決できません。どうしたらいいですか

212 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:08:29 ]
だからどれだと聞いているだろ

213 名前:デフォルトの名無しさん [2009/12/27(日) 21:09:53 ]
データグリッドビューに、データセットをバインドして、
3項目表示させるようにしていますが、
ある1行をクリックすると、
BindingSource_PositionChangedが3回起きてしまいます。
なぜ、1行を1回クリックするだけで、
BindingSource_PositionChangedが3回起きるのでしょうか…。



214 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:14:24 ]
>>207
SelectionChangeCommitted ではどう?

215 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:19:03 ]
>>213
ごく単純なのを書くと一回しか発生しなかったので多分どっかでなんかやってる
Enterやカーソルで行変えた場合はどうなの?

216 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 21:35:16 ]
>>170さん
>>171さん
>>178さん

参考になりました!ありがとうございます。

217 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:15:51 ]
せめて全イベント試してから聞こうぜ・・・

218 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:21:45 ]
>>217
検討します。

219 名前:デフォルトの名無しさん mailto:sage [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だと思うんですが、どこがどうだめなんでしょうか?


220 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:36:51 ]
自己解決しました。

221 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:40:10 ]
自己解決できませんでした。

222 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:42:27 ]
と思わせて自己解決しました。

223 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:43:00 ]
こんなカスしかいないところで質問した私がバカでした。
質問は取り下げます。



224 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:44:35 ]
やーいやーい
こんな質問も答えられないのかよゴミ!視ねや!

225 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:46:30 ]
どうしようもないな・・・

226 名前:デフォルトの名無しさん [2009/12/27(日) 22:47:06 ]
単純に文字を印刷する場合
DrawStringが良いんですかね?
DrawStringだと、2行印刷しようとした場合
座標を文字の大きさを読み取って、足していかないといけないので
座標を打ち込まなくても、文字を印刷する方法ってないんですかね?
教えて下さい

227 名前:デフォルトの名無しさん [2009/12/27(日) 22:47:27 ]
ないお

228 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:47:54 ]
>>226
AddStringのほうが良い

229 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:48:16 ]
同じく

230 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:49:52 ]
あるね

231 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:50:23 ]
ないあるよ

232 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:50:39 ]
質問は取り下げます。

233 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:51:00 ]
どれが自己解決したんだかわかんねーよw

>>219
var query = from text in xdoc.Root.Elements() where (int)(text.Attribute("Age")) > 38 select text;



234 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:51:15 ]
>>219
RootがPeople要素なんだから、そのElements()は各Person要素になるっしょ
Personの子要素にPerson要素は存在しないからtext.Element("Person")は当然失敗する
あとtextじゃなくてpersonにすべきだと思うな

235 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:53:57 ]
>>226
意味がよく分からん
DrawStringでRectangleFを指定すれば、横幅を超えた分は自動改行してくれるが
そうでなければまあMeasureStringとかで計測するのが妥当だな

236 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 22:54:08 ]
むかしAPIスレにいた頃こういうの流行ってたわ。

237 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:03:36 ]
あるお

238 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:07:03 ]
あるお)キリッ

239 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:14:22 ]
>>219
people より persons の方が好き

240 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:15:47 ]
>>226
確認してないけど StringFormat で折り返しできなかったっけ?

241 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:25:39 ]
>>240
できません

242 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:40:36 ]
できるだろw

>>226
普通に改行コードいれても改行できるし、文字を描画する矩形領域を指定してやれば
折り返しの改行もできる。

まあまあできてもあまりやらない気がするけど。

っていうか、MSDNライブラリぐらい読もうよ。

243 名前:デフォルトの名無しさん mailto:sage [2009/12/27(日) 23:45:29 ]
できますん



244 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:00:21 ]
>>233
>>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の名前と年齢をセットで抜き出すにはどうしたらよいでしょう?


245 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:05:57 ]
テキストファイルに文字を出力したいとき
FileaAllWriteとStreamWriterってどっち使うほうがいいい?

246 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:17:41 ]
>>244
birthdayタグが閉じてないから整形式XMLじゃないぞそれ
whereにNameの条件追加してselectで匿名クラス作ればいい new { Name = text.Attribute("Name"), Age = (ry
whereの前でletでnameやageを確保しとくと楽だな
whereは||でつないでもいいしwhereを二個書いてもいい

>>245
どっちでもいいよ
手軽だけど細かい操作ができないかその逆かだ

247 名前:233 mailto:sage [2009/12/28(月) 00:34:45 ]
初めから実際のデータ書けば二度手間にならないのになあ
ハァ…

248 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:45:21 ]
そういうない

249 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 00:49:15 ]
xmlから自作のクラスのリストに放り込んでからselectするとインテリセンスも効いて楽かもしれない

250 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:06:18 ]
>>244>>246
整形式とか言う以前に、birthday要素(?)が滅茶苦茶だし

251 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:08:03 ]
一分間に100万行、改行をスペースに変換するソフトを作りたいのですが、
できません。どないしたらいいですか?

252 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:09:38 ]
まずLANケーブルを抜きます

253 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:19:16 ]
せやな



254 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:30:14 ]
常駐ソフトなどを止めて
CPUをより高性能なものにします

255 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:30:55 ]
せやせや

256 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:36:10 ]
楽しい?

257 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:37:30 ]
個人的には既存のUnEditerとかじゃ駄目なの?
という疑問と
環境がわからないのにそんなことできるかぁ〜というのと

258 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:39:17 ]
分からない人はレスしなくていいです

259 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:52:52 ]
ですね

260 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:54:11 ]
C#でPC本体のビープを鳴らすにはどうすればいいですか

261 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:55:16 ]
分からない人はレスしなくていいです

262 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:55:58 ]
>>260
文字コード0x07を出力してみればいいんじゃね?


263 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 01:56:56 ]
いいね



264 名前:デフォルトの名無しさん mailto:sage [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
初見の言葉が多すぎてちと自分では無理です。


265 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:27:33 ]
>>264
取り敢えずforeachとif文から始めた方がいいかもしれんね

266 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 02:29:03 ]
>>265
お断りします。

267 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 06:45:31 ]
型 'App1.Form1' は 'menuItem7' の定義を既に含んでいます。

こんなのが、3くらい出てデバッグ出来ません;どうすればいいですか?


268 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 06:54:04 ]
menuItem7を多重定義してる
var menuItem7 = …
〜なんかいろいろあって
var menuItem7 = …

ってなってるところを探せばいい

269 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 10:12:13 ]
>>264
そういうことなら、質問する前にLINQを基礎から勉強しろよ。
それが終わるまでは質問する資格すらない。

270 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:47:48 ]
StreamReader @in = new StreamReader(fileName);
string line = @in.ReadLine();

これで読み込ませるとマルチバイト文字が
文字化けします。Shift-JISのテキストも読ませたいです…

271 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:49:47 ]
>>270
StreamReader @in = new StreamReader(fileName,Encoding.GetEncoding("Shift-JIS"));

272 名前:270 mailto:sage [2009/12/28(月) 12:53:20 ]
事故解決。System.Text.Encoding.GetEncoding(932) を第二引数に付けるべし
乙乙

273 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:54:45 ]
>>271
おぉ…"Shift-JIS"でもいいんか
便利だ…



274 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 12:57:15 ]
@inってなに?

275 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:01:42 ]
Orz→@rz→@in

276 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:22:51 ]
>>274
あんまり推奨はされないけど、@ を付ければキーワードを変数名に使える。
in は foreach ( in ) で使われるキーワード。

277 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:30:30 ]
>>276
ありがとう。

278 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 13:56:44 ]
ようするに、@inなどという変数名は気色悪すぎるということだな。
_in などのほうがよほどマシ。

279 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:01:51 ]
>>278
それは.Netが内部で使ってるから〜

280 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:06:42 ]
>>276
やっぱり今回は礼は言わないでおく。

281 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:08:30 ]
@ は基本的に、他の言語との連携用。

まあ、他の言語で使われることが想定されるなら、
そっちの言語でもキーワード限り避けるのが作法だけど。

282 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:12:44 ]
ローカル変数にそれを(@)使うというのはどうかと思う。

283 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 14:13:22 ]
>>281
  ヘ_ヘ
 ミ ・ ・ ミ  < はつみみです
  (  ° )〜




284 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:35:29 ]
C#、テキストボックスの中身をStreamWriterなどを使って、テキストファイルに一行ずつ書き出してるんだけどc互換の \n 改行コードではき出すにはどうしたらいいでしょうか?
エンコーディングとか変えてみたんだけどうまくいかない


285 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:39:23 ]
WriteLineとかEnvironment.NewLine使うとか。

286 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 15:43:54 ]
>>283
C# 言語仕様 2.4.2 識別子

287 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 17:31:09 ]
VOIDさんって今どうしてるんだろ?

288 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:17:23 ]
Form上に配置したラベルの上にポインターを持っていくとメッセージが出るようにするにはどうしたらいいんでしょうか?

289 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:21:30 ]
ToolTipのこと?

290 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:31:42 ]
>>289
ありがとう、名前が出てこなくってどうやるんだっけって悩んでた・・・。

291 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:33:45 ]
>>290
そりゃ教えた甲斐が有ったわ。ヨイヨイっと。

292 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:38:01 ]
>>287
No.2?

293 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:51:48 ]
>>292
え?



294 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 18:52:21 ]
ということにしたいのですね

295 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:07:16 ]
へみ猫・・・

296 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 19:59:52 ]
>>287
fjで活躍したあの人は今、って特集やらないかな


297 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:09:46 ]
マ板にずっとスレがあったような・・・
しかし、アンチ脳にしろ信者脳にしろ、人に執着する奴って気色が悪いな。
精神分析の対象としか思えん。

298 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:16:01 ]
>>297
なんかその反応も病的だぞ?

299 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:19:07 ]
怪物と戦う者は、その過程で自分自身も怪物になることのないように気をつけなくてはならない。
深淵をのぞく時、深淵もまたこちらをのぞいているのだ。
                                                                 〜 ニーチェ 〜

300 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:20:43 ]
>>297
君のレスがまさに・・・

301 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:28:21 ]
Symbian上でもC#って使えるんですか?

302 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 20:39:16 ]
へみ猫・・・

303 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:28:23 ]
C#ソーステキストを読み込んで、自動でHTML用にfontタグ付加してくれるツール無いかな

using System; //for form だと
<font color="blue">using</font> System; <font color="green">//for form</font>

みたいなの。



304 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:33:31 ]
Blog用ツールとかであるな。俺は Emacs の csharp-mode でやって、face2html で出力してるけど。

305 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 21:35:01 ]
manoli.net/csharpformat/ とかってのがあった。

306 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:36:47 ]
いろいろあるねぇ
ただ残念なのはほとんどのWebサービスが海外製ということ

307 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 22:41:10 ]
ワードに貼り付け→WEBページとして保存、で出来るな。
COMコンポーネント呼び出しでなんか出来るんじゃないの。

308 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:10:17 ]
いろいろあるね

309 名前:デフォルトの名無しさん mailto:sage [2009/12/28(月) 23:29:08 ]
>>296
一時期職場からpostできなくなったlalaとか懐かしい

310 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 00:48:04 ]
C#はクラスや関数内じゃなくても並列処理されるんだな。

C言語だと完全に上から見ていくから

int main(){
func();
}

func();

これだとプロトタイプ宣言だかがないとかでエラーになるけど
C#だと

ClassOne{
//ClassTwoを使ったメソッドなど
}

ClassTwo{
}

これがエラーにならなくて便利だな。

311 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 00:52:18 ]
へえ

312 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:03:41 ]
ふう

313 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:07:08 ]
そういうの並列処理って言うのか.....?



314 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:14:01 ]
言わないね。

315 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:20:14 ]
static void

316 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 01:25:29 ]
ああ、2期か
誰が買うんだよこんなのw

317 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 02:56:31 ]
(゚∀゚)!

318 名前:デフォルトの名無しさん mailto:sage [2009/12/29(火) 09:50:31 ]
volatile void

319 名前:デフォルトの名無しさん [2009/12/30(水) 00:18:36 ]
コンボボックスに、Valueメンバー、Displayメンバーとして
(Value,display)=
(1,イヌ),
(2,ネコ),
(3,スズメ)
と3種類を設定します。

そして、隣にテキストボックスAを設置し、例えばAに
「イヌ」と入力されたときは、コンボボックスに存在するのでValueの"1"を、別のラベルに表示。
「スズメ」と入力されたときも同様、Valueの"3"を、別のラベルに表示。
「ニワトリ」と入力されたときはコンボボックスにないので、別のラベルに"なし"と表示。
と、したいのですが、
あるテキストが、コンボボックスのリストに存在するかどうかを調べるにはどうすればよいのでしょうか。
よろしくお願いします。

320 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:24:53 ]
FindStringとか

321 名前:319 mailto:sage [2009/12/30(水) 00:25:53 ]
自己解決しました。

322 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:27:08 ]
よかったね。死ねハゲ

323 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:33:43 ]
Form2から、Form1のメソッドにアクセスしようとしても、
メソッド自体が見つからないみたいで使えないんです。
どうやれば使えるようになりますか?それとも、Form2にそのメソッドをコピーするしかないですか?



324 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:36:35 ]
Publicにする。

325 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:37:43 ]
変数とかもpublicにすれば使えるようになるんですか?
というか、publicにしたら使えるのなら、何故始めから全部publicにしないのですか?

326 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:40:07 ]
したきゃすればいい
止めない

327 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:40:17 ]
使わせたくないから。

328 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:58:11 ]
関数型プログラミング的に
匿名クラスやラムダ式が使えるのは大きい。

いちいちクラスを別の場所にごちゃごちゃ書いてから

MyClass mc =new MyClass();
とかかくより
var mc = new {Name="Kobayashi",age=17,};
このほうがすっきりしてはるかに読みやすいな。マジ最強

329 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 00:58:38 ]
>>327
いや、使わせたくないってのは想像付きます
だけど、何で駄目なんですか?ミスがおきやすくなるから?とかですか?

330 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:01:06 ]
使えると、モジュール結合度が高くなるから。
あとは、カプリングとコヒージョンについて書かれた文書でも読んでください。

331 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:05:24 ]
モジュール結合度が高くなったらまずいんですか?
便利だと思うんですが

332 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:06:31 ]
なんで便利なの?

333 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:06:55 ]
分かってて書いてる人のようですよ
以下スルーでよろしく



334 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:08:52 ]
とりあえず、みんなに使ってもらいたいもの*だけ* public にすると思ってください。

335 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:09:18 ]
まったくわかってない「どちて坊や」な可能性もあると思われ。

336 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:10:08 ]
全く分かってなけりゃモジュール結合度って何ですかと聞くよ。
高くなったらなぜまずいのか?は墓穴掘ってます。

337 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:11:58 ]
わざとらしさプンプンだよなw

338 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:12:44 ]
んじゃ、それで。

339 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:15:36 ]
とりあえず>>334で覚えておきます
別フォームから使いたくなったメソッドと変数はpublic付ければ良いんですね

モジュール結合度ってそんなに重要なものですか?
そんなに意識して開発したことは無いのでよく分からないです。

340 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:17:28 ]
次の方どーぞー。

341 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 01:24:55 ]
ぷぅ〜、スッキリした

342 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 08:36:15 ]
めんどくさいのが増えるよね、この時期は。

343 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 08:55:23 ]
internal ってなんですか?



344 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:14:16 ]
公開範囲を決めるキーワードで”同アセンブリ内へ公開”を示す

345 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:15:35 ]
staticとどう違うんですか?

346 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:18:43 ]
ぜんぜん違うじゃん・・・教科書読むところからやりなおしたら?

347 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:19:11 ]
教科書無いんですがどうすればいいですか?

348 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:21:14 ]
買え。

349 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:35:29 ]
お金無いんですがどうすればいいですか?

350 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:43:07 ]
自己解決すました

351 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 09:55:38 ]
自己解決してないです。
お金が無いんですがどうすればいいですか?

352 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 10:22:44 ]
ヘルプ読めよ。

353 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 10:59:37 ]
InfernalDispose(351);



354 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:07:48 ]
マウスを監視して、放置状態を一定時間ごとに確認する常駐プログラムを作りたく思っているのですが、
マウス位置を10分ごとに比較するとして、
そのような処理は、Timerで600000msでポーリングかければ良いのでしょうか?
他に良い方法ありますか?常時起動しておくものなので、CPU負荷は最小にしたく思います。

355 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 15:22:38 ]
C#でできるRoboCodeのようなものってないでしょうか?
以前から探しているんですがそういったものは見つかりません。
やはりないのでしょうか。よろしくお願いします。

356 名前:355 mailto:sage [2009/12/30(水) 15:34:29 ]
ちなみにイメージしているのは以前あったTerrariumのようなものです。
お願いします。

357 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:30:24 ]
10分なら、タスクスケジューラでもいいんじゃね?

358 名前:デフォルトの名無しさん [2009/12/30(水) 16:40:35 ]
a

359 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:42:06 ]
>>357
タスクスケジューラのほうが軽いでしょうか。
というより、タスクスケジューラなるものを始めて知りました。
一度も使ったことが無かったです・・・
ちょっと調べてみます。出来そうならそれでやろうと思います。

360 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:44:45 ]
そんな神経質になるほどCPU使わないよ

361 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 16:55:35 ]
タスクスケジューラは、呼び出したときに、以前保存したマウス座標と比較して、
マウス座標をファイルに書き込んで、って処理を行うって事で良いのでしょうか?
出来ればそのように、常駐じゃなく10分に一度走らせる、のほうが良いのですが…

でも、出来るだけ同時実行するファイルは少ない方が良いですし・・・
負荷出来るだけ無くしたいじゃないですか。そこまで気にする人は少ないんですかね



362 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:00:21 ]
もしフリーソフトかなんかで不特定多数が使うなら,タスクスケジューラなんて得体の知れないものは嫌われるよ

363 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:01:36 ]
常駐の方が、負荷は少ない。



364 名前:デフォルトの名無しさん [2009/12/30(水) 17:16:07 ]
起動終了繰り返す方が常駐より負荷高いよな

365 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:18:38 ]
Console.SetWindowPosition(0,0);
ってやってもコマンドプロンプトの位置が変わらないんだけどなんで?

366 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:19:54 ]
「得体の知れない」って、タスクスケジューラが?
OSが提供してるサービスなんだけどな。

367 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:22:54 ]
負荷を下げたいならC#もやめないと

368 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:31:17 ]
>>355
www.codeplex.com/terrarium2

369 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:32:18 ]
ハァ?

370 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 17:40:06 ]
>>366
中途半端に知識がある非プログラマにとっての話だよ

371 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:19:07 ]
>>370
低能乙

372 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:28:31 ]
勝手に登録されたら気持ちわるいけど
インストーラーで説明入るなら別にかまわない


373 名前:デフォルトの名無しさん mailto:sage [2009/12/30(水) 18:51:35 ]
かまわないですね



374 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 01:15:19 ]
やはりそうですね、タスクスケジューラは嫌う人が居ると思うので、
常駐起動にして、普通に10分ごとにポーリングすることにします。
簡単なプログラムならC++でも出来るので、そっちでやろうかとも悩んでます。
とりあえずありがとうございました。

375 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:08:43 ]
「人間が操作をやめたか」を調べるなら根本的に方法が間違ってるけどね。
検知したいなら「マウスが動きを止めてから10分間経過したら」だよ。キーボードだって調べないと。

376 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:27:36 ]
WebBrowserクラスもしくはmshtmlでjavascriptが使われてるページの情報
を取得したいと考えています。

ajaxでDOMを書き換えたとき、それをイベントとしてハンドルすることは
できませんか?(OnDocumentCompletedじゃないですよね)
また、書き換えた差分を抽出するのはdiffをとるしかないでしょうか?

377 名前:355 mailto:sage [2009/12/31(木) 02:29:53 ]
>>368
2.0が出てたんですね。散々探してたくせに全然知りませんでした。
さっそくやってみます。ありがとうございました。

378 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:33:33 ]
>>376
pc12.2ch.net/test/read.cgi/tech/1150036430/


379 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 02:35:47 ]
>>375
操作をやめたか、なんですが、そこまで正確にする必要は無いんです。
それに、無駄に複雑にして重くするのも嫌ですし、出来るだけ軽くしたいので最低限の処理でやろうと思います

380 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 04:23:10 ]
まあ思うとおりに組んでみなよ。実際に組んでみたら自分の考えてる最低限の動作もしないことがわかるよ。

381 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 05:25:26 ]
>>380
たま〜に良いこと言うな

382 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:05:04 ]
うむ。このスレの住人ってたま〜に良いこと言うな

383 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:14:17 ]
ありがとう



384 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 06:26:35 ]
素朴な疑問なんですが

this.WindowState = FormWindowState.Maximized;
は何故
this.WindowState = WindowState.Maximized;
こうじゃないんですか?

this.FormBorderStyle = FormBorderStyle.None;
とかはプロパティ名=列挙型なのに。

385 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:08:28 ]
windowsstate列挙体はWPFが使ってるから

386 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:09:42 ]
なにそれこわい

387 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:15:11 ]
こわいですね。

388 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 07:24:30 ]
おまいら大晦日に暇だな

389 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 11:07:31 ]
そういえばなんでWinFormsはSystem.WindowsじゃなくてSystem.Windows.Forms名前空間にしたんだろうな
今はWPFがSystem.Windowsを使ってるが.NETの初期のバージョンの開発時にそんなことを予期してたとは思えないし

390 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 11:38:53 ]
.NET Framework1.0が2002年だった
そのころにはAvalonって言葉はあったと思うけど?

391 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:11:24 ]
CLRの開発がいつから始まったと思ってんだ


392 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:13:31 ]
VS2010って何が変わるの?

393 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:13:48 ]
2000年にはベータが配られてたな。確か。

つーか、MSのやることなんて、昔から全然一貫性ないじゃん。
臨機応変といえば、その通りなのかも知らんけど。



394 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:20:11 ]
というか、.NET Frameworkってやっと2.0が普及したところなのに、
4.0なんて入れてくれる環境あるか?w

395 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:24:26 ]
>>394
そのうちMicrosoft Updateで自然と入るだろ。

396 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 12:49:18 ]
3.5までは自然に入るよね

397 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:05:52 ]
WPFの開発計画の発表は2001年らしいから、それくらいから考慮していても不思議じゃない

398 名前:355 mailto:sage [2009/12/31(木) 13:13:15 ]
たびたびすみません。

教えていただいたterrarium2.0をいじってるんですが
現在はオープンソース化したとのことでMSのマニュアル等がないようなので
つたない英語力でwiki等も調べてみたものの、APIのマニュアルが見つからないのですが
これについてはやはり古い書籍等を参考にするしかないでしょうか?

399 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:15:26 ]
俺は始めたばっかだから
3時間9分54秒だった・・
惜しい

400 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:16:20 ]
誤爆スマソ

401 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:22:25 ]
>>400の謝罪は撤回します・・・

402 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:31:16 ]
撤回するなw

403 名前:399 mailto:sage [2009/12/31(木) 13:34:13 ]
自決しました



404 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 13:43:28 ]
Terrarium-2.0-SDK.zip にドキュメントがあるんじゃないの?


405 名前:355 mailto:sage [2009/12/31(木) 13:50:29 ]
>>404
忘れていました。確かにありました。
ありがとうございました。

406 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:08:55 ]
本来、以下のように記述すべきところを
string str;
for(〜){
str = 〜〜;
}
以下のようにforループ内で毎回ローカル変数を定義しては無駄が多いですよね。
for(〜){
string str = 〜〜;
}
でもこのように記述すれば1行減ってソースはスマートになります。
この程度ならC#のコンパイラは最適化してくれますか。
だとしたらこのように記述したいのですが


407 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:12:48 ]
forの内と外で宣言するとスコープ範囲が違うけどそれはわかってる?

408 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:19:09 ]
前に調べた限りじゃ、ILへのコンパイル時に、その手の最適化はしてくれなかったような気がする。

409 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:22:33 ]
>>406
for の中で string のインスタンス作って、for の中だけで使うんなら
どっちで書いてもパフォーマンス変わらないと思うけど。

string str; ってやっただけだと何も起きないよ。

410 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:23:42 ]
最適化はしてくれませんか。
いちいちループ内でのみ使う変数を宣言だけループの外でするのは面倒だけど、最適化してくれないなら
そう記述したほうが処理的には効率が良いということですね。
しかしループ回数が少ないなら殆ど影響ないかも。

411 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:29:18 ]
>>409
でもループ内で毎回string str;とすると、stringクラスインスタンスのアドレスを確保する領域が
毎回そのつど確保されるんじゃないですか。


412 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:41:38 ]
いいえ
ローカル変数は一つの宣言につき静的に一つ確保されるだけ
ループでも同じ

413 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:44:21 ]
>>411
コンパイルしたら、forの外にいようと中にいようと、
吐かれるコードは ldloc (load local) だからなぁ。
一緒。

今、IL Disasm してみたけど、for 内でしかインスタンス作ってないなら
コンパイル結果寸分たがわず完全一致してたよ。
Debug コンパイルですら全く一緒。



414 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 14:49:56 ]
一つのメソッドで使われるローカル変数の領域っていうのは完全にコンパイル時に決まるんだよ
ループ内で宣言しようが全く関係ない

415 名前:414 mailto:sage [2009/12/31(木) 14:57:20 ]
誤解されそうなこと言ってるな
もちろん実際に確保されるのはメソッドに入る時だけど
そのときのレイアウトや必要なサイズはコンパイル時に確定しているということ

416 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:24:07 ]
>>412-415
皆さんありがとうございます。
ローカル変数の領域確保の仕組みがよく分かりました。

417 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 15:57:33 ]
クラスのnewとかならそりゃヒープ確保とかインスタンス作成とかでオーバーヘッドはかかってくるが、
ローカル変数自体なんて
単なるスタック領域にすぎないんだからどっちにしても普通は変わらん。



418 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 16:38:59 ]
スコープとか関係なかったんだね。これは良いことを聞いた。

419 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 18:42:17 ]
WndProcってなんですか?

420 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 18:54:04 ]
ggrks

421 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 19:23:01 ]
System.String str = new System.String("");

string str = "";

422 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 19:40:54 ]
自作しました。

423 名前:デフォルトの名無しさん mailto:sage [2009/12/31(木) 20:47:58 ]
はあ?



424 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 00:16:21 ]
自炊しました。

425 名前: 【凶】 mailto:sage [2010/01/01(金) 00:46:08 ]
てst

426 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:03:32 ]
趣味でC#を勉強中なのですが
ネット上で紹介されているプロの方の書いたコードサンプルを見ていて
継承元クラスのフィールドなどにアクセスする際
通常は「base.」と付けないような印象を受けたのですが
こういう記述の仕方にセオリーといったものはあるのでしょうか?
よろしくお願いします。

427 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:14:53 ]
baseは、自分のメンバーに親と同じ名前付けちゃって、明示しないと親のメンバーにアクセスできないときしか使わないなぁ。

428 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:20:59 ]
なるほど。そういう時は確かに明示する必要がありますね。
実際、明示の必要がある時だけ書く方がわかり易いですね。
ありがとうございました。

429 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:30:36 ]
class A : B{
}
って書くより

class A{
B b =new B();
func(){
b.func();
}
}
でおk、baseいらね

430 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:55:51 ]
>>429
継承元クラスって書いてあるだろ
ちゃんと見ようぜ

431 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 16:59:37 ]
まあどうしても継承でなければならない理由がない限りは>>429の下の方が望ましいのは確か

432 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 17:04:04 ]
継承するより委譲しろってことだろうけど
それは今回の問題とはまた別の話

433 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 18:48:38 ]
base.Hoge
変数・メソッドにアクセスなら普通付けない
: base(Hoge)
継承元のコンストラクターをコールするときは付ける




434 名前:デフォルトの名無しさん [2010/01/01(金) 20:54:24 ]
VC#2008で開発しています

ツールボックスに登録されているbuttonを継承したクラスを作った場合
IDEのデザイン機能の恩恵を受けることはできないのでしょうか?


435 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 20:56:30 ]
1回ビルドすればツールボックスに登録されるはず

436 名前:デフォルトの名無しさん [2010/01/01(金) 21:10:23 ]
できました
ありがとうございます

グーグル先生に拾ってもらうメモとして

ソリューションエクスプローラーを開いてbutton継承クラスを追加
using System.Windows.Forms;
using System.ComponentModel;
を継承クラスに追加

下記のように設定

class ExButton : Button
{
public ExButton()
{
base.SetStyle(ControlStyles.Selectable, false);
}

}

まさに上の質問も参考になりました。
たぶんそれがなければその辺でもはまったかも



437 名前:デフォルトの名無しさん [2010/01/01(金) 21:12:41 ]
あと関係ないかもしれないけどC#でぐぐるとVB.NETの方が多く出てくるケースが
あったのでこのサイトの変換機能は重宝しました。

C#<->VB.NET相互変換
www.developerfusion.com/tools/convert/csharp-to-vb/

438 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:22:30 ]
とあるbyte配列にbyte,byte,short,longとデータが並んでるとして、
それぞれの値を別の変数に格納するにはどうすればいいですか?

439 名前:デフォルトの名無しさん [2010/01/01(金) 21:27:52 ]
>>438
unsafeにして、ポインタ使うのが楽じゃね?

440 名前:デフォルトの名無しさん [2010/01/01(金) 21:30:51 ]
byte配列ならBitConverterか
自前で合成

short配列に byte[3]*256+byte[2]

のような感じで(エンディアンは自分で考えてください

441 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:30:55 ]
>>439
ポインタ厨以外の方に教えてほしいです

442 名前:デフォルトの名無しさん [2010/01/01(金) 21:31:06 ]
アホかbitconverter使えよ

443 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 21:54:39 ]
>>406

遅レスだけど、
ILでは、
.locals(...)
で関数の最初で確保される。(確か)



444 名前:デフォルトの名無しさん [2010/01/01(金) 22:33:34 ]
以前スクリーンキーボードの件で相談した物です。

ある程度形になったのですが一つ困った挙動があります。

スクリーンキーボードの性質上なるべく最前面で表示させておきたいので、
TopMost=trueにしてアクティブにならないように制御して自前ツールが
アクティブにならないように動くようになりました。
しかし、ツール以外のウインドウのタイトルバーをダブルクリックした場合
の挙動が死んでいるようで、一般的な「ウインドウの最大化」、「もとのサイズに戻る」
が渡っていないようです。

この場合の対策方法はありますでしょうか?

右上の並んでいる□が今回製作中のツールです
uproda.2ch-library.com/201727nKr/lib201727.png
わかっている範囲ではタイトルバーのダブルクリックだけ受け付けず
その他は問題ないです

445 名前:444 mailto:sage [2010/01/01(金) 22:41:46 ]
すみません
非表示の際にTopMost=flaseとしてみましたが結果は同じでしたので
TopMostは関係ないようです。

446 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:42:45 ]
知ってます

447 名前:444 mailto:sage [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);
}

448 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:48:47 ]
タイトルバー、どこにあんの?

449 名前:デフォルトの名無しさん [2010/01/01(金) 22:52:09 ]
>>448
あ、わかりにくくてすみません
ツールじゃないほかのウインドウのタイトルバーのダブルクリック制御です

その他ウインドウに影響を及ぼさないツールとして作りたかったのですが
今回のスクリーンキーボードが起動していると他所のウインドウの
タイトルバーのダブルクリック挙動が効かない状態になるんです

450 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:56:12 ]
ん? 自アプリじゃなくて、別のアプリの話?

あんたのアプリを実行中に、他のアプリのタイトルバーをダブルクリックしても、反応がない、ってこと?

451 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 22:58:14 ]
勿論、>>447を追記しただけのフォームで再現できるんだよな?

452 名前:444 [2010/01/01(金) 22:59:35 ]
>>450
そうです

名前がないと面倒なのでスクリーンパッドと仮名をつけます

メモ帳やブラウザなどを任意のウインドウサイズから最大に広げる際に
右上のボタン以外にタイトルバーのダブルクリックでも同じことが行えま
すがスクリーンパッド起動中にそれができなくなるのでそれを回避する
方法が知りたいと思いまして・・・

453 名前:444 [2010/01/01(金) 23:02:26 ]
>>451
formクラスは>>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;
}
}
}




454 名前:デフォルトの名無しさん mailto:sage [2010/01/01(金) 23:06:19 ]
うーん。オレの環境じゃ再現できないな。

Vista SP2 x64 + Visual Studio 2008 SP1

455 名前:444 [2010/01/01(金) 23:14:27 ]
あ、すみません
書き込んだらなんとか・・・がきちゃいました

メッセージ処理などが他に居るのかと思い込んでたのですがどうも違ったようです。
タイマー内のIntPtr OldWindowHandle = IntPtr.Zero;の位置が悪かったようです
これをタイマー処理のスコープから出したら問題なく動きました

>>454
お付き合いしていただいて済みませんでした

456 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 03:15:48 ]
AES暗号なんかを使う場合に鍵長なんかの指定はどうやればいいんでしょうか?

457 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 03:21:32 ]
SymmetricAlgorithm.KeySize Property とかで指定。

458 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 04:04:46 ]
>455
そんな面倒なことせずにWS_EX_NOACTIVATEを使えばいいのに

459 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 04:10:41 ]
こんなサンプルあるじゃん。

msdn.microsoft.com/ja-jp/library/cc440905.aspx

460 名前:444 [2010/01/02(土) 04:58:39 ]
いろいろ実装してたら朝に・・・

>>458>>459
そっちを入れてみました。
簡単すぎますorz

461 名前:デフォルトの名無しさん [2010/01/02(土) 07:07:13 ]
おかしな挙動ではまってるのでアドバイスいただければと思います。

デスクトップ上の始点と終点を指定するとその範囲だけを
スクリーンショットとして保存するソフトです。

半透明で表示するフォームにラベルx4とpictureBoxを使っています。
ラベルx4の内、x2には始点と終点のXY座標を表示しています。
問題の挙動というのがpictureBoxをフォームにドッキングしてしまうと
ラベルのテキストがまったく更新されないという物です。

pictureBoxのドッキングを解除してフォームより小さいサイズに
するとラベルのテキストが更新されます。

対処方法とか何かありますでしょうか?

462 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:10:13 ]
このスレからクソ内容の書き込みを特定するLINQつくってみた

var a = from L in このスレ where 内容がクソ select 数値

a = 462

463 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:11:29 ]
>>461
再現できるコードplease



464 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 15:18:43 ]
>>461
windows付属のsnipping toolを使う

465 名前:デフォルトの名無しさん [2010/01/02(土) 16:20:56 ]
今、業務用Windowsフォームアプリケーションを作成しています。
その中で、ローカルPCの所定の場所に、重要データをテキストデータで保存できるようにしたいのですが、
個人情報はないものの、機密データでもありますので、テキストデータ保存時に暗号化したいと考えています。

C#で、そのような暗号化の機能はありますでしょうか。

ご教示ください。

466 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:23:15 ]
System.Security.Cryptography.Rijndaelとか使えば

↓暗号化したって無駄だとかそういう突っ込みはいい
質問者が良いって言ってるんだから話をこじらせようとすんな黙れ

467 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:24:46 ]
はい、ありますよ。

468 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:25:47 ]
突然なんなのw
そう言われると指摘したくなるなぁ。

469 名前:デフォルトの名無しさん [2010/01/02(土) 16:43:07 ]
>>467
どのような方法があるの?僕にも教えてください。

470 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:49:29 ]
もう出てるけど、この辺をどうぞ。

System.Security.Cryptography 名前空間
msdn.microsoft.com/ja-jp/library/system.security.cryptography.aspx

471 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:00:03 ]
ドットネットで完結しようとしないでOSの機能とか調べてみたらいいのに

472 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:15:50 ]
>>466
> ↓暗号化したって無駄だとかそういう突っ込みはいい
なんらかの形で、それなりの長さのパスワード入力させれば、無駄ということはないんじゃないか?

473 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:55:43 ]
歌の一フレーズ入力させるとかあったな。



474 名前:デフォルトの名無しさん [2010/01/02(土) 20:32:50 ]
>>463
遅くなりました
一式まるまるです
uproda.2ch-library.com/201913msf/lib201913.zip

とりあえずpictureBoxはドッキングしてません
私の環境ではpictureBoxをフォームにドッキングするとlabelの更新がおかしくなります。

windowsXP home SP3
VC#2008Express
.netF 3.5

475 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:34:14 ]
このスレからクソ内容の書き込みを抽出するLINQ

from このスレ select クソ内容の書き込み

476 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 21:44:08 ]
>>474
まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
のpicturebox1をドックすると期待した動作にならない、って話?

ラベルを更新するコードがformのMouseMoveイベントに書いてあるんだから当たり前じゃん。

フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
マウスイベントはんて発生するわけないでしょ。

477 名前:474 [2010/01/02(土) 21:53:49 ]
>>476
>まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
みなさんはどういう感じでやってるんでしょうか?
頭の中に思い描いたプログラムを急いであれこれ実装してたので
命名まではあまり考えてませんでした

>フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
>マウスイベントはんて発生するわけないでしょ。
あーなるほど・・・
つまりformのMouseイベントで処理してるところをpictureboxでやればいいんですね

478 名前:デフォルトの名無しさん [2010/01/02(土) 22:39:38 ]
SATA のポート番号何番にどのハードディスクが刺さってるか知るには
どうしたらいいでしょうか?

WMI 使うのかなとは思ったんですが、どの namespace と class 使えばいいか
わからなかったので、よろしくおねがいします。

479 名前:デフォルトの名無しさん [2010/01/03(日) 00:06:52 ]
shift+tabキーでカーソルが入ったときにも
Enterイベントを発動させるにはどうすればいいですか?

480 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:11:43 ]
別に何もしなくても発生するけど?

481 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:21:13 ]
保存形式を独自の物にしたいと考えたのですが(他のアプリケーションでは開けない)
そこで考えたのがAES等による暗号化を施そうと考えました。
こういった場合にAES暗号化時に用いる鍵、IV情報はプログラム的に毎回同じものを生成するようにしておいたほうがいいのでしょうか?

482 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 08:05:10 ]
変数名とnewの名前同じなのにいちいち二回かくのめんどい

abcde a= new abcde();
だったらabcdeが二回あってしつこい

a= new ebcde();
でよくね?
一回で済ます方法ないの?

483 名前:482 mailto:sage [2010/01/03(日) 08:10:24 ]
new abcde() a;
解決しましたありがとうございます。



484 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:20:06 ]
var つかえ

485 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:33:44 ]
インテリセンスを使わない理由がわからない

486 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:45:58 ]
AClass a = new までうてば AClass() が補完候補にでてくるもんな。
var だとそうはいかない。

487 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:51:46 ]
C#にvarなんてあったのか!

488 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:00:06 ]
何でも入る変数ではないぞ。コンパイル時に型推論してくれるだけだ。

489 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:07:16 ]
拡張メソッドって何ですか?
Wikipedia見て見たけどよくわかんないです;

490 名前:デフォルトの名無しさん mailto:sage [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なのか?

491 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 13:05:13 ]
>>490
関数の引数の多態性は静的多態だからなぁ。
変数の型(new した方じゃなくて、 o とか a とか b の宣言時の型)に基づく。
それがキャスト可能かどうかがすべて。

492 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:35:04 ]
>>489
MyFunctions.Foo(hoge);

というstaticメソッド呼び出しを

hoge.Foo()

と書けるようにする仕組み。

493 名前:デフォルトの名無しさん [2010/01/03(日) 17:56:54 ]
C#でoracleと接続する方法を教えて下さい
C#はExpressEdition 2008で
oracleは11g_home1です
かなり初心者ですので
一から教えていただけるとありがたいです



494 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 18:03:11 ]
ODP.NETを使います。Oracleのサイトにやり方が載ってるので、
それを参考にしてください。

495 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:28:09 ]
金払って教えてもらうレベルのことをただで丁寧に教えろという神経がわからん

496 名前:デフォルトの名無しさん [2010/01/03(日) 20:29:57 ]
まず、コンピュータを購入します

497 名前:デフォルトの名無しさん [2010/01/03(日) 20:31:26 ]
>>495
そう思ったらスルーすればいいだけですよ

498 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:51:25 ]
>>493
ODBCでも使ってつないでろよ・・・。

499 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:11 ]
>>493
ここはC#のスレです。
Oracleとの接続に関してはOralceのスレで聞いてください。

500 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:47 ]
まあodp.netでぐぐればあとはできるからほっとこう

501 名前:デフォルトの名無しさん [2010/01/04(月) 00:51:58 ]
System.Collections.IEnumerable 型で渡されたCollectionオブジェクト
を処理する場合、その要素の元の型を知っていないと処理できないかと
思うのですが、使うときは foreach() 内などではその既知の型にキャスト
してから(そのプロパティ値などを)処理するということでよいでしょうか?


502 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:57:51 ]
うん。
今から作るなら普通は System.Collections.Generic 名前空間内のものを使うだろうから
型がわからないってことはないと思うけど。

503 名前:501 [2010/01/04(月) 01:23:21 ]
>>502
>System.Collections.Generic
こちらで送られてくる場合は型が付いてくる、ということなのですね。
古いコントロールだとIEnumerable で出来ているためにそういうことになる
ということなのですね。わかりました。ありがとうございました!!




504 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 03:40:42 ]
foreachにキャストが含まれているのは知っているだろうけど、
あれもジェネリック型が無かった時代の産物というか発想だよな

505 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:05:23 ]
Formやプログラムの終了方法ですが

Close();
Dispose();
Application.Exit();
Environment.Exit(0);

どれがいいんですか?

506 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:22:22 ]
タスクマネージャーより最前面にフォームを持ってきたいのですが、
GetForegroundWindowAPIを使って自スレッドにアタッチした後Activateも駄目、
勿論TopMostやFocusも駄目でした。仕様上出来ないものなのですかね?

507 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 15:32:56 ]
>>505
Close()やDispose()は指定したFormだけ。
Application.Exit()なら全てのFormを閉じてくれる。
Environment.Exit()は知らね。

508 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:24:53 ]
>>505
ここ見れホイホイ
ttp://dobon.net/vb/dotnet/form/closeform.html

509 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:52:51 ]
ストリームからデータを読み出そうとすると
'System.Security.Cryptography.CryptographicException' のハンドルされていない例外が System.Core.dll で発生しました。
追加情報: 入力データが完全なブロックではありません。
というエラーが発生してしまうのですが何故なのでしょうか?

510 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:56:08 ]
そのまんまだろう

復号ストリームに食わせたブロックが欠落してる

511 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:59:13 ]
FileStreamを対象ファイルで作成し
CryptoStream作成時に上記で作成したストリームを渡して
CryptoStreamMode.Readを行っているのですがどこでデータが欠落するのでしょうか・・・。

512 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:00:52 ]
対象ファイルの中身

513 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:03:45 ]
>>512
そりゃそうですよね・・・orz
ファイル書き込む時に暗号化データをStringに直して書き込んでればそりゃだめになりますわ・・・orz



514 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:05:53 ]
死んだ方がいい

515 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:20:17 ]
PictureBoxの画像を半透明にしたいのですが。

516 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:23:47 ]
if (a == 1)
{
  b = 10;
}
else
{
b = 100;
}
例えば上記の様な場合

b = (integerA == 1) ? 10 : 100;
のように書くというのは

1)極力(あるいは絶対に)上の例のように書くべき。
2)極力(あるいは絶対に)下の例のように書くべき。
3)見易さに応じてケースバイケース。
4)特にセオリーはなく、完全に好みの問題。

熟練されてる方々は一般的に1〜4のどのスタンスで使用されているのでしょうか。
よろしくお願いします。


517 名前:516 mailto:sage [2010/01/04(月) 17:25:44 ]
下はintegerA じゃなくてa の間違いです。
それから上の b=100; も字下げ忘れてました。
見辛くてすみません。

518 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:29:34 ]
あとから修正の入る可能性がないと仮定したうえで、
禁止されてない限り(禁止されることは珍しくない) 2 。

519 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:30:46 ]
>>515
BackColorをTransparentにする
実装に無理があっていろいろトラブルが起きやすい方法なので,できれば
下に描画するものも含めてGraphicsで自前描画してしまうか
WPFでも使ったほうがいい

520 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:32:01 ]
3でしょ、見やすさと言うかプログラムとして自然な方になる
例えば他にelse if が続いていて、たまたまこれだけがelseのみだった場合
これだけいきなり後者で書かれても不自然だ

521 名前:516 mailto:sage [2010/01/04(月) 17:37:50 ]
>>518
>>520
可読性が上がるなら特に使用に抵抗感はないものの
職場などでは使用を禁止されることもあるという感じでしょうか。

下のような書き方はネット上では目にする機会があまり多くないように感じたので
一般的には推奨されない書き方なのかなと疑問に思っていました。
ありがとうございます。参考になりました。

522 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:43:54 ]
どうしてもと言うならせめてこうして欲しい。
b = (hoge == 1 ? 10 : 100);


523 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:59:07 ]
なるほど。勉強になります



524 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:08:25 ]
>>516
式が複雑なら上で、計算しないなら下。
上の書き方は bが2回登場するので、自分は嫌い。

525 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:47:36 ]
「手続き的ではなく宣言的に書け」という原則があるが
それに則っていえば一応下の方が良いことになるな

526 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 19:42:50 ]
WinApp1-Resources-bg.bmpをBitmap型に取り出したいのですが、上手くいきません。

Bitmap bmp = new Properties.Resources.bg;
これでもbgが存在しないらしく、ビルド失敗します。

527 名前:デフォルトの名無しさん [2010/01/04(月) 19:45:35 ]
>>526
この辺かな?
www.atmarkit.co.jp/fdotnet/dotnettips/555appresources/appresources.html

528 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:21:46 ]
>>516
三項演算子は複雑になると他人が(そして未来の自分が)解読しづらくなるから
ネストするようなのは素直に if 使うわな。
というか迷ったら if でいいと思うわ。

将来的に保守していくコードは冗長でつまんないぐらいでいい。
生成結果が変るならまた話は別になるけど。

529 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:40:19 ]
>>516
俺も見やすさ重視でif使うかな


530 名前:デフォルトの名無しさん [2010/01/04(月) 20:43:42 ]
個人的な見解としては?使うのはマネージドな言語が使われる
今の時代でみるとギークぽいなあと思う。

C言語使うにしてもあえて?は使わないようにしてる




531 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:51:17 ]
一行で済むなら三項演算子使うわ

532 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:53:49 ]
ここまでを纏めると


1でも2でも3でもなく4ですね

533 名前:デフォルトの名無しさん [2010/01/04(月) 20:55:41 ]
>>532
そうそう
古参コーダーはたぶん>>531の意見だろうし

まあ変な先輩と一緒になるとスタイル押し付けられそうだけどね



534 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:43 ]
if elseが大量にあるようなのなら三項演算子ですっきりさせるかあも

535 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:59 ]
>>530
うーん、時代ってのでいうと、
・LINQ とかで文よりも式が見直されてる(if は式木にならないけど、? : はなる)
・C#の cond ? a : b は a と b の型の一致を保証できる
ってのもあって、むしろ昔よりも条件演算子使いやすいと思うよ。


536 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:59:12 ]
>>534
if-else が大量に並ぶのはむしろ設計見直した方がいいかも。
仮想関数にならないかとか、分割できないかとか。

if-else が大量に並ぶような場面で ? : 使うと余計にひどいことになりそう。

537 名前:デフォルトの名無しさん [2010/01/04(月) 21:02:43 ]
>>535
使いやすいというかせこせこ1行にまとめてもなあと思う

538 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:02 ]
ちゅーか >>516 が聞いてるのってあくまで単純な代入の場合だよね?
なんか途中で if か?三項演算子か?な議論にすりかわってるような

自分がどう書くかはともかく、他人が書いたソース読むときは
同じような処理が同じような書き方になってりゃどっち使ってても別に気になんないわ。
ちょくちょくぶれてるのが一番気持ちわるい。



539 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:04 ]
>>536
泥臭い処理も世の中にはあるぞ

540 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:30:20 ]
>>539
泥臭い処理は泥臭く書いた方が間違いが少ない

541 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:32:01 ]
三項演算子の是非の話?
三項演算子は値に注目して論理性がはっきりするからいいと思うけどな

542 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:39:12 ]
迷わずifです。ステップ数増やさないと稼げません。

543 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:44:34 ]
今時ステップ数はないわ。



544 名前:デフォルトの名無しさん [2010/01/04(月) 21:57:00 ]
H社あたりはステップ換算じゃないの?

545 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:01:16 ]
工程数だろ今は

546 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:00:34 ]
人月換算なんかしてるから日本は終ってる

547 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:01:54 ]
馬鹿は

if (a == 1) {
b = 1;
} else {
c = 1;
}

みたいのですら

a == 1 ? b = 1 : c = 1;

ってやりたがるからな。

548 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:01:24 ]
特定のキー入力を受け付けない、ということは出来ませんかね?
左CtrlキーやAキーなど、入力されても他のウィンドウにはメッセージ送らない、みたいな。

549 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:26:50 ]
>>548
キー入力全部いったん食ってから、特定のキーのときだけhandled=trueにしてしまう手はある。
グローバルフックでキー拾えばウィンドウまたがったキー入力拾いも可能。

550 名前:デフォルトの名無しさん [2010/01/05(火) 00:36:24 ]
特定のウインドウもしくはexeなどを監視してキー情報を
送ることは可能でしょうか?

551 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:02:36 ]
>>550
再提出
特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
キー情報を(○○へ)送ることは可能でしょうか?

552 名前:デフォルトの名無しさん [2010/01/05(火) 01:07:04 ]
細かい部品までは意識しません
送り先が起動してるかどうか確認して要るようなら指定されているキー情報を送るだけです


553 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:15:44 ]
可能だけど、何を条件にするかによって判定する方法は違う
条件を聞いたのに答えなかったから回答もここまでだ

方法は自分で考えろ



554 名前:デフォルトの名無しさん [2010/01/05(火) 01:19:06 ]
いやそんな難しい条件ではないんですが・・・

ただ送りたい相手を調べる方法もよくわからないので
ヒントだけでもわかればと思ったんですが・・・

というかここは初心者スレですよね・・・

555 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:22:55 ]
だからその条件を書けといってるんだろうが馬鹿め
話の通じない奴は初心者じゃなくて池沼だっての

556 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:23:46 ]
そうだぞ池沼が

557 名前:デフォルトの名無しさん [2010/01/05(火) 01:25:59 ]
その辺がうまく説明できたらここで聞く必要がないと思うのですが・・・

やりたいことは特定アプリのショートカットキーなどを登録したボタンを
フォームに貼り付けて、そのボタンを押した際に送りたいアプリが居れば
sendkeyで送るなどして、居なければ送らないというだけの動作です

558 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:29:28 ]
>>557
msdn.microsoft.com/ja-jp/library/1f3ys1f9%28VS.80%29.aspx
これでプロセス一覧を取る
ウィンドウハンドルとパスが入ってるから適当にやればいい

とりあえず十分だと思うが、上の方法は微妙に融通が利かないので
不便だと思ったらまた来い

559 名前:デフォルトの名無しさん [2010/01/05(火) 01:42:54 ]
>>558
ありがとうございます


560 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:43:00 ]
>>550-551
549の答えでいんじゃない?

> 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
前者は
FindWindow→GetWindowThreadProcessIdして
SetWindowsHookExするDLLをDLLの作って
キー入力をSend/PostMessageで流すぐらいかな

後者は自分の頭ではちと大変で
EnumWindows→GetWindowThreadProcessIdで
exe特定するのに逆に辿る必要性がある気がするので
ハッシュリストにマーキングしたりで色々とめんどくさそう

561 名前:548 mailto:sage [2010/01/05(火) 02:19:10 ]
>>549
キーボードをグローバルフックして、Handled=trueですね、やってみます。


562 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:24:33 ]
グローバルフックはDLLいらんよ知ったか。

563 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:26:09 ]
いつからいらなくなったんだ?



564 名前:548 mailto:sage [2010/01/05(火) 02:43:44 ]
とりあえず、グローバルフックを使い、
メモ帳上でCtrl+Aを押してもaが入力されるようになりました。

しかし、Altキーの入力を防ごうとしても、Alf+Fでメニューが表示されたり、
Ctrl+Alt+Delでタスクマネージャが出たり、Alt+F4が使えたりします。

これらは仕方がないんですかね?

565 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:43:47 ]
うろ覚えな知識でレスするもんじゃないなぁ

>>562
ありがとう

566 名前:デフォルトの名無しさん [2010/01/05(火) 02:50:00 ]
>>564
この辺は?
www.gine.jp/blog/taka/post/Ce381a6e382afe383ade383bce3838fe383abe38395e38383e382afe381aee4bdbfe794a8efbc86ALTefbc8bCTRLe38282e38395e38383e382af.aspx

567 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:50:57 ]
>>564
CallNextHookExに渡すパラメータを何やかんやするとキー入力潰せた気がするけどどうかね

568 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 03:33:18 ]
MSペイントで文字を画像にした場合と全く同じ結果になるように
Graphics.DrawStringを使用して文字列を画像化しています.

Graphics.DrawString

569 名前:568 mailto:sage [2010/01/05(火) 03:35:41 ]
とちゅうで投稿しちゃいましたごめんなさい

Graphics.DrawString()の引数でフォントやサイズ,GraphicsUnitはきちんと指定したんですが
どうもMSペイントの場合と結果が異なってる気がします.
アンチエイリアスのせいかと思いすべて試してみたんですが同じ結果にはなりません.

文字描画の設定どうすればMSペイントと機能がおなじになるんでしょうか?

570 名前:デフォルトの名無しさん [2010/01/05(火) 04:23:17 ]
コードの難読化のためのツールとしてDotfuscator Community Editionというのが
付属してるような記述をネットで見つけたのですがVisual C# 2008 Express Edition
のような無料の物には付属しないのでしょうか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<104KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef