2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C#, C♯, C#相談室 Part66

1 :デフォルトの名無しさん:2011/04/27(水) 16:34:13.54
前スレ
C#, C♯, C#相談室 Part65
http://hibari.2ch.net/test/read.cgi/tech/1300611299/

Visual Studio 2010 Express
http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx

2 :デフォルトの名無しさん:2011/04/27(水) 16:36:30.15
関連スレ

ふらっとC#,C♯,C#(初心者用) Part73
http://hibari.2ch.net/test/read.cgi/tech/1302422250/

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part9
http://hibari.2ch.net/test/read.cgi/tech/1301122694/

【VB.NET】LINQ友の会【C#, C♯, C#】
http://hibari.2ch.net/test/read.cgi/tech/1202568694/

C#,C#の宿題片付けます。
http://hibari.2ch.net/test/read.cgi/tech/1197620454/

ASP.NET + Atlas or Ajax について
http://hibari.2ch.net/test/read.cgi/tech/1150036430/

Microsoft Silverlight その8
http://hibari.2ch.net/test/read.cgi/tech/1300831451/

Visual Studio 2010 Part14
http://hibari.2ch.net/test/read.cgi/tech/1303092297/

C# C# C♯でゲームを作ろう Part1
http://hibari.2ch.net/test/read.cgi/tech/1212972014/

3 :デフォルトの名無しさん:2011/04/27(水) 16:36:48.54
参考リンク

MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/

@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://social.msdn.microsoft.com/Forums/ja-JP/categories/


pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://uchukamen.com/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/

4 :デフォルトの名無しさん:2011/04/27(水) 16:38:43.54
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
〜インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html


コードの量が多い場合は下記サイトを使うなどしたほうがいいかも。
コードを貼り付けてRun codeのチェックを外し、submitボタンを押すと専用のアドレスが発行されます。

http://ideone.com/

直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

http://kawama.jp/php/encode_html.php

5 :デフォルトの名無しさん:2011/04/27(水) 16:48:48.77
いちおつ

6 :デフォルトの名無しさん:2011/04/27(水) 18:28:06.35
                          刀、           , ヘ
                  /´ ̄`ヽ /: : : \_____/: : : : ヽ、
              ,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
               /: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
     ,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
    /: :.,.-ァ: : : |: : : : : : : : :    :\: : : : :: : : :ヽ  \   /: : : :/
    ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i  / /: : : : :/
     /: :     ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/  /: : : : :/         、
.    /: : /  . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : |  /: : : : :/            |\
   /: : ィ: : : : :.i: : |   \!___/ ヽ:: : : : : : :\|:.:.:.:/:!  ,': : : : /              |: : \
   / / !: : : : :.ト‐|-    ヽ    \: : : : : l::::__:' :/  i: : : : :{              |: : : :.ヽ
   l/   |: : :!: : .l: :|            \: : : l´r. Y   {: : : : :丶_______.ノ: : : : : :}
      l: : :l: : :ト、|         、___,ィ ヽ: :| ゝ ノ    '.: : : : : : : : : : : : : : : : : : : : : : /
      |: : :ト、: |: :ヽ ___,彡     ´ ̄´   ヽl-‐'     \: : : : : : : : : : : : : : : : : : イ
        !: :从ヽ!ヽ.ハ=≠' , ///// ///u /           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      V  ヽ|    }///  r‐'⌒ヽ  イ〉、
              ヽ、______ー‐‐' ィ´ /:/:7rt‐---、       こ、これは>>1乙じゃなくて
                  ィ幵ノ ./:/:./:.! !: : : : :!`ヽ     ポニーテールなんだから
              r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\   変な勘違いしないでよね!
               /: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\

7 :デフォルトの名無しさん:2011/04/27(水) 21:27:08.91
いい歳こいてAAとか貼り付けて恥ずかしいとか情けないとか思わないのかなマジで。
気色悪いわ。

8 :デフォルトの名無しさん:2011/04/27(水) 21:47:18.55
ワロタ
きっしょw

9 :デフォルトの名無しさん:2011/04/27(水) 22:02:48.98
天才女子プログラマー説

10 :デフォルトの名無しさん:2011/04/27(水) 22:17:59.81
いい年してプログラミング言語に萌えてる奴らが何いってんの?

11 :デフォルトの名無しさん:2011/04/27(水) 22:20:46.53
マ板でやれよ

12 :デフォルトの名無しさん:2011/04/27(水) 22:26:33.81
シングルトンをシリアライザつかってディープコピーしてやるですぅ

13 :デフォルトの名無しさん:2011/04/27(水) 22:28:29.16
まーたデフォルトコンストラクタ付きの似非シングルトンクラスか

14 :デフォルトの名無しさん:2011/04/27(水) 22:37:38.35
某言語と違ってシリアライザはコンストラクタを使用せずにインスタンスを作成するみたいな仕様がないからOK

15 :デフォルトの名無しさん:2011/04/27(水) 22:52:29.51
リモーティング系のシリアライザはコンストラクタがprivateでもデシリアライズできるぞ
もう過去の遺物だけど

16 :デフォルトの名無しさん:2011/04/28(木) 07:51:02.28
プ板でやれ

17 :デフォルトの名無しさん:2011/04/28(木) 14:50:46.17
どっちの板だよw

18 :デフォルトの名無しさん:2011/04/28(木) 20:07:58.78
Asyncいいね

19 :デフォルトの名無しさん:2011/04/28(木) 20:14:56.29
Syncもいいね

20 :デフォルトの名無しさん:2011/04/29(金) 01:33:07.31
XmlDocument.Load(URL)で外部サイトのからXML取得する際に
URLのQueryStringに&(アンパサンド)が入ってると
xmlException(指定されたエンコードに無効な文字があります)が出るんだけど
URLEncodeした(%26)だと目的のXMLが取得できない。
なんかいい方法ない??

21 :デフォルトの名無しさん:2011/04/29(金) 01:39:14.14
WebClientなり経由させる

22 :デフォルトの名無しさん:2011/04/29(金) 01:46:24.54
ごめん
なんか今色々試してみたんだけど
&hl=jaの時エラーでるわ。
&hl=enだとでない
&hl=deもエラーでる
なんでだろうか

ちなみにGoogleから天気予報取得したいんですよ。
http://www.google.com/ig/api?weather=tokyo&hl=en
日本語で取得ができない…

23 :デフォルトの名無しさん:2011/04/29(金) 01:55:23.12
well-formedじゃないXMLもどきを送ってくるGoogleにひとしきり文句付けた後
クエリにoe=utf8を追加

24 :デフォルトの名無しさん:2011/04/29(金) 02:11:40.45
ウンコっすなぁー

25 :デフォルトの名無しさん:2011/04/29(金) 16:32:52.91
前スレ
1000 名前:デフォルトの名無しさん[sage] 投稿日:2011/04/29(金) 16:01:22.54
C#ってDirectX使えますか?

使えるけどどうせならXNA使え

26 :デフォルトの名無しさん:2011/04/29(金) 17:11:58.32
>>23
おおおお!できた!
ありがとうー!
これは何をやってるの?
キャラクタセットを変更?

27 :デフォルトの名無しさん:2011/04/29(金) 17:30:31.09
output encodingの略
Googleの大体のクエリで使える

28 :デフォルトの名無しさん:2011/04/29(金) 17:49:12.43
1000で質問書くなよ

29 :デフォルトの名無しさん:2011/04/29(金) 18:02:28.98
ネタって事もわかんないの?馬鹿なの?

30 :デフォルトの名無しさん:2011/04/29(金) 18:19:47.77
馬鹿です

31 :デフォルトの名無しさん:2011/04/29(金) 18:25:44.52
わかってねーな、ネタにマジレスするからかっこいいんじゃねーか

32 :デフォルトの名無しさん:2011/04/29(金) 18:28:51.14
31△

33 :デフォルトの名無しさん:2011/04/29(金) 18:44:39.60
そう、私バカなの
だからもっと叩いてほしい

34 :デフォルトの名無しさん:2011/04/29(金) 19:05:51.21
チッ じゃあ放置な

35 :デフォルトの名無しさん:2011/04/29(金) 21:00:55.56
スレッドプールを使わない理由で個人的に主なもの
→STAにできないのでCOM系の操作ができない

これなんとかしてほしい

36 :デフォルトの名無しさん:2011/04/29(金) 21:29:29.24
[STAThreadAttribute]って長すぎ

37 :デフォルトの名無しさん:2011/04/29(金) 21:41:40.32
>>35
何いってんの?

38 :デフォルトの名無しさん:2011/04/29(金) 22:23:28.37
Attributeはいらんだろ

39 :デフォルトの名無しさん:2011/04/29(金) 22:37:28.90
STAだとWaitAllが使えないってのだけ何とかして欲しい

40 :デフォルトの名無しさん:2011/04/29(金) 23:12:06.53
STAにしないとクリップボード使えないからいつもSTAだけど、
普通にスレッドプール使ってるぞ?

41 :デフォルトの名無しさん:2011/04/29(金) 23:21:54.30
GUIスレッド(STA)+スレッドプールじゃなくてSTA×2ってこと?

42 :デフォルトの名無しさん:2011/04/30(土) 00:56:32.97
スタッスリードついてても普通にマルチスレッド使えた気がする
中途半端な知識晒すと恥かくぞw

43 :デフォルトの名無しさん:2011/04/30(土) 01:16:11.74
釣りなのかマジなのか判断中....

44 :デフォルトの名無しさん:2011/04/30(土) 07:56:19.03
>>42
マルチスリードの間違いだろ

45 :デフォルトの名無しさん:2011/04/30(土) 12:23:52.11
MinGWスレどこ行っちゃった?

46 :デフォルトの名無しさん:2011/04/30(土) 13:57:54.22
バックグラウンドがasp.netのflashをXMLを使って連携させようとしているのですが、
プロジェクトを作るときにどれを選ぶのがベストなのでしょうか
・ASP.NET Webアプリケーション
・ASP.NET Webサービスアプリケーション

今まではASP.NET Webアプリケーション & ジェネリックハンドラを使ってやろうかと考えていたのですが、
ジェネリックハンドラ自体の使い方が間違えてます?

47 :デフォルトの名無しさん:2011/04/30(土) 14:06:22.94
俺ならWCFだな

48 :46:2011/04/30(土) 14:14:26.82
>>47
oracle <----> iis(asp.net) <--ここはXMLを使う---> flex
っていうアーキテクチャの業務ソフトをカスタマイズする事になったのね

それで、デバッグとかの事おw考えると、asp.net側では普通何を使うのかなーと思ったわけ

49 :デフォルトの名無しさん:2011/04/30(土) 14:54:04.37
俺ならaspxのPage_LoadでゴリゴリXML処理する。
FlashってWSDL解釈できるんだっけ?

50 :46:2011/04/30(土) 15:06:09.47
>>49
なるほどねー
Flashはまだ何もやってないので、さっぱりー

とりあえずは、asp.net webサービスでアプリケーションにしてみたんだけど
デバッグの時にIEに表示される「起動」ボタンを押してみた
SOAPじゃないのねこれ、httpのヘッダをいじってあげないとsoapにならないのかい?


51 :デフォルトの名無しさん:2011/04/30(土) 15:12:28.54
>>50
.aspxはHTMLを生成するためのものだから。
this.Request.Header["Content-Type"] = "aaa"; みたいな感じだったかな。
ソープでやりたいなら.svc一択。.asmxは要らん。

52 :46:2011/04/30(土) 17:19:01.30
>>51
>ソープでやりたいなら.svc一択
ASP.NET DataServiceって何よ?

53 :デフォルトの名無しさん:2011/04/30(土) 18:00:56.83
Stream経由でStringBuilderに書き込みたいのですが、どの
クラスを使えばよいでしょうか。
FileStreamのかわりのStringStreamのようなものを探してます。

54 :デフォルトの名無しさん:2011/04/30(土) 18:10:28.21
TextWriterならStringWriterのバッキングストアがStringBuilderに出来るけど、Streamは知らん
最悪MemoryStreamでどうにかなるだろうが

55 :デフォルトの名無しさん:2011/04/30(土) 18:31:25.11
端的に言ってStream経由っていうのが意味不明。

56 :デフォルトの名無しさん:2011/04/30(土) 18:35:39.90
>>54
MemoryStreamでやればいいですね。
>>55
Stereanに対してしか書きこんでくれないクラスがあるんで。


57 :デフォルトの名無しさん:2011/04/30(土) 18:47:07.18
Sterean
ここにもインテリセンスの弊害が

58 :デフォルトの名無しさん:2011/04/30(土) 18:52:05.45
お恥ずかしい限りです。>>54様、お陰さまででできました。
改めてありがとうございました。

59 :デフォルトの名無しさん:2011/04/30(土) 19:01:57.62
なんちゃらStreamはいいとして、
正直それらStream継承クラスとうんちゃらWriter/かんちゃらReaderの関係がよく分からない


60 :デフォルトの名無しさん:2011/04/30(土) 20:06:02.65
Stream…連続したバイト列
TextReader/TextWriter…ストリームのデータを文字列として読んだりストリームに文字列書き込んだり
BinaryReader/BinaryWriter…ストリームのデータをプリミティブ型として読み書き

61 :デフォルトの名無しさん:2011/04/30(土) 20:43:54.59
バイトでの入出力をするStreamに対し、TextReader/TextWriterは
文字(char)で入出力する。TextReader/TextWriterは生成時に
文字コードの指定が必要となる。

62 :デフォルトの名無しさん:2011/04/30(土) 20:47:00.88
(´・∀・`)ヘー

63 :デフォルトの名無しさん:2011/04/30(土) 20:53:02.71
まんこー

64 :デフォルトの名無しさん:2011/04/30(土) 21:12:35.05
そこ、すごくデリゲートなの

65 :デフォルトの名無しさん:2011/04/30(土) 21:30:58.05
CLIいじらないで

66 :デフォルトの名無しさん:2011/04/30(土) 21:41:27.68
ふらっとでやれ

ふらっとC#,C♯,C#(初心者用) Part74
http://hibari.2ch.net/test/read.cgi/tech/1304161005/

67 :デフォルトの名無しさん:2011/04/30(土) 22:01:23.13
>>65
COREGA欲しいんだろ のコピペ思い出した

68 :デフォルトの名無しさん:2011/04/30(土) 22:01:55.19
ああもうDELL

69 :デフォルトの名無しさん:2011/04/30(土) 22:22:05.08
>>64>>65はちょっと上手いな

70 :デフォルトの名無しさん:2011/05/02(月) 00:08:39.31
var t1 = DateTime.ParseExact("(03/25 Fri 00:24:31)", "(MM/dd ddd hh:mm:ss)", CultureInfo.InvariantCulture);
var t2 = DateTime.ParseExact("(05/01 Sun 23:28:54)", "(MM/dd ddd hh:mm:ss)", CultureInfo.InvariantCulture);

t1は問題ないのですが、t2で
System.FormatException : 文字列は有効な DateTime ではありませんでした。
が出ます。t2は何が問題なのでしょうか?
よろしくお願い致します

71 :デフォルトの名無しさん:2011/05/02(月) 00:11:39.40
hhは12時間表記
HH:mm:ss

72 :デフォルトの名無しさん:2011/05/02(月) 00:12:44.91
>>71
おおおお!なるほど!
ありがとうございました!

73 :デフォルトの名無しさん:2011/05/02(月) 01:18:10.37
DateTimeって高機能だな。

74 :デフォルトの名無しさん:2011/05/02(月) 01:44:09.14
TryParseで例外投げるから糞

75 :デフォルトの名無しさん:2011/05/02(月) 02:01:15.42
え?

76 :デフォルトの名無しさん:2011/05/02(月) 02:10:41.23
styles が有効な DateTimeStyles 値ではありません。
またはstyles に、無効な DateTimeStyles 値の組み合わせが指定されています
(AssumeLocal と AssumeUniversal の両方が指定されているなど)。

これは呼ぶ側で防げるじゃん

77 :46:2011/05/02(月) 06:40:58.29
お前らおはよう

vs2008で.net 3.5でASP.NETのコードを書きました
それを、iis 7.5にアップロードして、アプリケーションプールの「.NET Frameworkバージョン」を v2.0→v4.0に変更しました
そしたら、web.configがおかしいと怒られる
なんで、v2.0→v4.0にしただけで怒られるの?M$の仕様変更なのかな

78 :デフォルトの名無しさん:2011/05/02(月) 08:01:52.87
よくあること

79 :デフォルトの名無しさん:2011/05/02(月) 09:20:25.05
きっちりバージョンチェックしてくれてるんだからイイじゃないw

80 :デフォルトの名無しさん:2011/05/02(月) 10:05:38.49
vs2008はv2.0じゃね?

81 :デフォルトの名無しさん:2011/05/02(月) 10:07:13.52
バージョン違ったら動かないっていうのは素晴らしいよな
一見正常動作しているけど実は壊れていて
本番でないと再現しないプログラムのデバッグとか地獄だ

82 :デフォルトの名無しさん:2011/05/02(月) 13:33:09.15
MSの後方互換性に対する意識の高さは最高レベルだろ
他のところなら「.NET4は以前のバージョンと100%の互換性があります!」と言っちゃうところ

83 :デフォルトの名無しさん:2011/05/02(月) 14:04:42.83
具体的にweb.configのどの行がエラーだったんだよ

84 :デフォルトの名無しさん:2011/05/02(月) 14:08:44.60
CLR2.0向けにコンパイルされたアプリケーションは
.config弄らない限りCLR4では動かないっていうのは有名な話
「必ずテストしろ」という意味でわざとやってる

85 :デフォルトの名無しさん:2011/05/02(月) 14:22:46.06
いっちゃうけど実際に動くかどうかは別
バグがある可能性は否定できない
また、以前の動きにバグがあって同じようなバグり方をするとも言い切れないし

普通にこえぇよ

86 :デフォルトの名無しさん:2011/05/02(月) 14:25:13.95
CLR4が入ってて2.0が入ってない可能性があるのはXPだけでは?
とXPから書き込んでみる

87 :デフォルトの名無しさん:2011/05/02(月) 14:38:17.69
2.0でもSPあるなしで場合によっては動き変ると思うんだけど・・・・

88 :デフォルトの名無しさん:2011/05/02(月) 14:57:39.78
http://msdn.microsoft.com/ja-jp/library/ee941656.aspx
これは結構仕様変わってるだろ
APIの仕様変更だけじゃなくて、.NETのインストール場所が変わるのが問題になりうるというのを聞いた覚えもある

89 :デフォルトの名無しさん:2011/05/02(月) 14:59:25.60
floatとdoubleの計算速度が変わらないんですけど、
これはCPUの仕様ですか、.netの仕様ですか?

90 :デフォルトの名無しさん:2011/05/02(月) 15:19:29.21
両方じゃなかったっけ
CLIの仕様では、floatかdouble同士の演算は
「double以上の精度の浮動小数点型」に変換してから行うことになってるはず

91 :デフォルトの名無しさん:2011/05/02(月) 15:35:11.76
その理屈だと、変換が入る分floatの方が遅くならないとおかしいのでは?
まあそもそもそんな仕様ありえんと思うけど....

92 :デフォルトの名無しさん:2011/05/02(月) 15:57:24.14
変換というかレジスタにロードするだけだと思うけど

93 :デフォルトの名無しさん:2011/05/02(月) 16:57:21.46
仕様の記述の都合でしょ。実装はその通りでなくてもいい。
SSEとか特殊な場合もあるけど一般的にはほとんど違いはないよ。
メモリアクセスがネックになる場合はサイズが小さい分floatの方が速いかも。

94 :デフォルトの名無しさん:2011/05/02(月) 17:10:02.81
確かにx86のFPUはレジスタに値をロードする時点で自動的に80bitの内部形式に
変換が行われるらしい。

CLIの仕様が>>90の言うとおりなら、x86のこの仕様に乗っかってるってことかな。

95 :デフォルトの名無しさん:2011/05/02(月) 17:38:15.34
C#ってHTML解析簡単にできますか?

96 :デフォルトの名無しさん:2011/05/02(月) 17:42:15.53
charの格納されているコードが全角文字か半角文字かをしらべたいとおもっています。
何か良い方法はございますでしょうか?

97 :デフォルトの名無しさん:2011/05/02(月) 17:45:49.20
そんな概念はUnicodeにはない
Shift-JISに変換してから文字コードでチェックしたら

98 :デフォルトの名無しさん:2011/05/02(月) 17:52:29.01
>>95
HTMLによる
きっちりタグが付けられてる場合はいいけど閉じタグが無かったりとかしたら厳しい


99 :96:2011/05/02(月) 18:00:27.59
>>97
レスありがとうございます。

ShiftJIS変換して、1byte目が 80-90 E0-F0 の範囲の値ならば半角と判定してよいでしょうか?
Unicodeだとデザイン上幅の違う同じ意味のフォントってことで別のコードがわりあてられているんでしょうかね・・・。

100 :デフォルトの名無しさん:2011/05/02(月) 18:05:51.10
昔やった微妙な方法で
1文字づつ半角全角をチェックしていってたなぁ…

1.1文字をSJISに
2.バイト数が1なら半角、それより大きければ全角

みたいな



101 :デフォルトの名無しさん:2011/05/02(月) 18:06:19.19
「半角」の定義によるとしか言えん
シングルバイト文字を半角というならその程度でよかろう

102 :デフォルトの名無しさん:2011/05/02(月) 18:32:20.08
>>95
データの抽出なら部分的に切り出してXLinqが最強
ページそのものの構造を解析したいとかならパーザを自分で書くしかないんじゃね?

103 :デフォルトの名無しさん:2011/05/02(月) 18:34:07.49
ベジータ

104 :デフォルトの名無しさん:2011/05/02(月) 18:47:56.14
>>97
> そんな概念はUnicodeにはない
あるだろ

「不明」と定義された文字が多いけど、それでもSJISに変換するよりはマシ

105 :デフォルトの名無しさん:2011/05/02(月) 19:26:18.06
なんとなくUTF8を使ってるけど、
将来のことを考えたらUTF32とかにしたほうがよかったりする?

106 :デフォルトの名無しさん:2011/05/02(月) 20:08:05.15
>>99
foreach( var c in "Manko" ) {
 bool is全角 = Encoding.GetEncoding(932).GetByteCount("" + c) >= 2;
 Console.WriteLine(">{0}< {1}", c, is全角 ? "全角" : "半角");
}

シフトJISが嫌ならこれで判別する。
http://www.unicode.org/Public/5.0.0/ucd/EastAsianWidth.txt

107 :デフォルトの名無しさん:2011/05/02(月) 20:22:29.43
>>99
最終的に出力がSJISになるような処理ならいいけど、
そうでなかったらSJISに変換して半角全角の判定するなんてやめたほうがいいよ。

フォントがどうこうってことは画面に表示されたときの
サイズを気にしてるの?
だったら、画面にどのフォントで出力したらどのくらいのサイズになるとか
調べる方法があるはずだから、そっちからアプローチしたほうがいいよ。


108 :デフォルトの名無しさん:2011/05/02(月) 20:26:54.38
昔それテキストビューワでやったら、ワードみたいな速度になったな。

109 :デフォルトの名無しさん:2011/05/02(月) 20:30:16.13
UTF128 うん最高!

110 :デフォルトの名無しさん:2011/05/02(月) 20:35:50.10
>>95
SGMLReader使えばウンコHTMLでも適当に補修してくれるから簡単

111 :99:2011/05/02(月) 20:37:16.93
>>106-107
レスどもです。
紹介していただいた方法で実装してみたいとおもいます。

112 :デフォルトの名無しさん:2011/05/02(月) 20:41:06.43
MeasureStringだっけ?

113 :デフォルトの名無しさん:2011/05/02(月) 20:51:40.14
どもどもです

114 :デフォルトの名無しさん:2011/05/02(月) 21:27:18.75
>>99
>デザイン上幅の違う同じ意味のフォントってことで別のコード
割り当てられている。たとえば「W」と「W」は
 W: Narrow(U+77)
 W: FullWidth(U+FF37)

でもさ、一般に「全角か半角か判定するプログラムを作って」って言われたら
見た目の文字幅とかUnicodeテーブルの属性とかじゃなくて、
シフトJISでの表現が2バイトか1バイトかってことを求められてると思うんだ。
かっこ悪いかも知れないけど、要求に対する最も素直な実装はシフトJIS変換だよ。
んでもってシフトJIS以外の文字に全角半角を定義することはナンセンス。

115 :デフォルトの名無しさん:2011/05/02(月) 21:32:58.04
もう終わった話です

116 :デフォルトの名無しさん:2011/05/02(月) 21:44:44.24
やりすぎエスパーくん

117 :デフォルトの名無しさん:2011/05/02(月) 21:46:40.05
扱える文字はSJISで表現できる範囲内。
使うフォントは固定幅のやつだけ。
みたいな仕様だったら、SJISに変換して半角全角の判定もいいかもしれんけど。

で、案外業務系だとこういう仕様で通ったりするかもしれんけど。

せっかくC#はサロゲートペアとか連結文字とかに対応しやすい環境だから
なんかもったいないよね。

あとSJISで表現できる範囲内の文字だけ扱うって仕様だと入り口でそれ以外の
文字をはじかないといけないからかえって全体的なコストがあがるかもって
心配もある。


118 :デフォルトの名無しさん:2011/05/02(月) 21:57:05.36
余計に開発コストかかるほうがもったいないだろ。
日本ではShiftJis最強なんだよ。

119 :デフォルトの名無しさん:2011/05/02(月) 22:00:32.89
いい加減に死ね^q^

120 :デフォルトの名無しさん:2011/05/02(月) 22:00:59.00
文字コードの統一マダァ-? (・∀・ )っ/凵⌒☆チンチン

121 :デフォルトの名無しさん:2011/05/02(月) 22:03:05.10
>>120
放置しておいてもunicodeになるよ。

122 :デフォルトの名無しさん:2011/05/02(月) 22:06:24.58
COBOLみたいにズルズル行くでしょ
2030年でもまだ残ってると思う

123 :デフォルトの名無しさん:2011/05/02(月) 22:07:37.29
俺が新しい規格tanakacodeを開発して世界中に広める
みんな俺についてこい!

124 :デフォルトの名無しさん:2011/05/02(月) 22:11:36.87
>>122
SJIS好きなおっさん多いからね。

125 :デフォルトの名無しさん:2011/05/02(月) 22:12:02.62
半角、全角が常につきまとう日本ではSJISが絶滅することはない。

126 :デフォルトの名無しさん:2011/05/02(月) 22:15:18.31
>>121
IP問題と文字コード問題はネット時代の二大問題なんだよね

>>124
中途半端にガラパゴスPCが伸びた時代があるのが
今から考えると痛いね

127 :デフォルトの名無しさん:2011/05/02(月) 22:16:21.56
>>125
それはないだろう・・・と思いたいが
2chもいまだにS-JISだしなあ
でもこういう古臭いところじゃないネットサービスは
UTF-8とかほかがメインだしね

128 :デフォルトの名無しさん:2011/05/02(月) 22:16:45.55
>>125
いやいや。付きまとわないでしょ。

129 :デフォルトの名無しさん:2011/05/02(月) 22:20:47.44
別にS-JISが残ったところで何も問題はないと思うけど....

問題はエンコーディングが何かはっきりしないデータが存在すること、それだけであって
別にS-JISのデータそのものが問題であるなんてことはありえない。

130 :デフォルトの名無しさん:2011/05/02(月) 22:22:32.35
>>128
おいおい、過去MSがこの件でどんだけバグ出してると思ってんだよ?
日本語文字の比較、ソートで常にバグ出してるだろ。
新しいOSが出るたびに先祖がえりするし。

外人には全角、半角の概念がないからだよ。

131 :46:2011/05/02(月) 22:25:05.41
>>78-87
お前ら優しいな、俺は会社ですぐにはレスできなかったけど
ありがとうよ

132 :デフォルトの名無しさん:2011/05/02(月) 22:25:17.58
内部でUTF-16で処理してるから、結局処理のコストは
どのエンコーディング使っても大差ないっていうか。

半角全角が簡単に判定できてうれしいのって、固定幅のフォントで
画面表示するときに長さの計算がちょっと楽できてうれしいくらい
なのでは。

133 :デフォルトの名無しさん:2011/05/02(月) 22:26:23.42
>>130
ソートなんて、ひらがなカタカナでしかしないし。

134 :デフォルトの名無しさん:2011/05/02(月) 22:27:29.48
>>129
SJISで表現できない漢字が追加されてるから、将来に禍根をのこしそう。

135 :デフォルトの名無しさん:2011/05/02(月) 22:30:15.00
現状、SJISで動いてるシステムも多いからSJISで表現できる文字しか
扱いませんって割り切った仕様でもOKかもしれんけど、あとあとの
ことを考えるとそこまで割り切るには逆に勇気がいる。

136 :デフォルトの名無しさん:2011/05/02(月) 22:31:21.64
>>132
それゃ独立してるシステムなら、それでいいが、
ほとんどのシステムは完全に異なるプラットフォームと
データのやりとりするわけで。とくに業務系は。
前に文字コードが原因で銀行システム統合でコケてたろ。

137 :デフォルトの名無しさん:2011/05/02(月) 22:33:15.74
銀行系のシステムはもうパンドラボックスな雰囲気がする

138 :デフォルトの名無しさん:2011/05/02(月) 22:35:39.45
>>137
銀行系の内部はこの際どうでもいいよ
せめてweb系は脱S-JISして欲しいわ

139 :デフォルトの名無しさん:2011/05/02(月) 22:38:44.04
無駄だと思うずら

140 :デフォルトの名無しさん:2011/05/02(月) 22:43:18.74
>>136
いやC#やjavaだともう内部のエンコーディングはUTF16しかないわけで、
内部はUTF16、外部のやり取りのときにそれぞれ変換するって方法しか
ないわけだけど。

141 :デフォルトの名無しさん:2011/05/02(月) 22:48:03.30
そういえばUTF-16もサロゲートペア採用してるみたいだけど
.netの内部でもやってるのかな?

142 :デフォルトの名無しさん:2011/05/02(月) 22:55:27.48
>>141
StringInfoを使えばサロゲートペアと結合文字列に対応できるね。


143 :デフォルトの名無しさん:2011/05/02(月) 23:07:17.36
意味わかんねーよ。
サロゲートペアはUTF-16でしか使用できないものだろ。
.NETはUTF-16を採用している。内部とか関係ない。

144 :デフォルトの名無しさん:2011/05/02(月) 23:14:58.24
> サロゲートペアはUTF-16でしか使用できないものだろ。

じゃUFT-8で出力したりすると、サロゲートペアの文字ってどうなると思ってるの?


145 :デフォルトの名無しさん:2011/05/02(月) 23:22:20.62
>>143
内部とか関係ないってよく分からないけど、.netみたいに
内部のエンコードがUTF-16と決められてるシステムは、それ以外の
エンコードで外部とやり取りするときには、変換が必要だって
話だけど。

146 :143:2011/05/02(月) 23:28:10.69
>>144
UTF-8の仕様に従ってコードポイント値がバイト列に変換されるだけ。

>>145
「文字コードXを使用するプログラムはX以外の文字コードで他と
やりとりするときには変換が必要」って、そんな話をしていたの?
すまんが何をいいたいのかよくわからん。

>>140
JavaはUTF-16じゃない。UTF-16に似た独自文字コード。

147 :デフォルトの名無しさん:2011/05/02(月) 23:43:00.93
>>146
>そんな話をしていたの?

そう。そんな話。
銀行系だと外部とのやり取りがあるからUNICODEじゃなくてSJISがいい
みたいな話だったけど、C#やJavaならどのみち内部でUTF-16で処理して
外部に出すときSJISに変換って処理になるんじゃないのって話。

148 :デフォルトの名無しさん:2011/05/03(火) 00:01:41.77
内部ってのを誤解してそう。

149 :デフォルトの名無しさん:2011/05/03(火) 00:10:48.45
SJISを使うべきみたいな話じゃなくて用語の使い方がおかしいとかそういうツッコミか。
まあ、細かいことはめんどくさいからいいですけど。


150 :デフォルトの名無しさん:2011/05/03(火) 02:50:13.31
銀行系が半角かなとシフトJIS全盛なのはわかるが、
せめてWebサイトはUTF-8にして欲しいね。
三井住友とかMUFGとかゆうちょとか。

151 :デフォルトの名無しさん:2011/05/03(火) 03:08:50.87
ムリース

152 :デフォルトの名無しさん:2011/05/03(火) 04:20:09.42
銀行系だとEBCDICも使われてたりするのが更に面倒くさい

153 :デフォルトの名無しさん:2011/05/03(火) 08:12:24.36
どこまでも我が道突き進む国でワロリーヌ

154 :デフォルトの名無しさん:2011/05/03(火) 08:22:39.88
そんなたいそうなもんじゃない

155 :デフォルトの名無しさん:2011/05/03(火) 09:32:12.10
>>150
銀行が半角カナを使うのはいいとして、ユーザーに入力させるのにも
半角カナってなんなんだろうね。
全角で入力させて、半角に変換するとかなんかまずいことでもあるのかね。

156 :デフォルトの名無しさん:2011/05/03(火) 09:39:49.05
全角加奈から半角加奈に変えると濁点で文字数が変わるとか

157 :デフォルトの名無しさん:2011/05/03(火) 09:47:43.23
>>156
「カ゛」じゃなくて「ガ」で打ち込んだのに「ガ」で保存されてる!

とか苦情が着たりするのだろうか。

158 :デフォルトの名無しさん:2011/05/03(火) 11:00:06.35
ぬるぽ

159 :デフォルトの名無しさん:2011/05/03(火) 11:10:09.93
半角ひらがな

160 :デフォルトの名無しさん:2011/05/03(火) 11:41:42.64
jQueryの$ajaxとかでリクエスト投げると
必ずisPostBackがFalseになるだけど、
解決策見つからない。
UpdatePanelとか使いたくない。。


161 :デフォルトの名無しさん:2011/05/03(火) 12:35:31.33
C#の匿名関数に関して質問です。
匿名関数内でジェネリクスを使う事はできますか?

例えばこういう事が書きたいのです。
Func<A,A> id<A> = delegate(A x) { return x; }



162 :デフォルトの名無しさん:2011/05/03(火) 12:38:55.63
無理

163 :デフォルトの名無しさん:2011/05/03(火) 12:55:21.99
あまりC#たんを落胆させない方がいい・・・

164 :デフォルトの名無しさん:2011/05/03(火) 13:19:14.32
つかえねーな

165 :デフォルトの名無しさん:2011/05/03(火) 13:24:24.19
諦めが肝心

166 :デフォルトの名無しさん:2011/05/03(火) 14:38:23.19
グローバルのマウススクロール取得はどうすればおk?
フックか

167 :デフォルトの名無しさん:2011/05/03(火) 15:08:49.55
デリゲートを使う

168 :デフォルトの名無しさん:2011/05/03(火) 15:16:27.38
>>160
つIsCallBack

169 :デフォルトの名無しさん:2011/05/03(火) 15:46:34.86
>>163
そんな事を書くとM$が.NET 5.0で対応させてくるぞ

170 :デフォルトの名無しさん:2011/05/03(火) 15:49:31.75
LINQいいよね〜

171 :デフォルトの名無しさん:2011/05/03(火) 15:56:27.47
この繰言クン、自分以外の誰かにこれ受けてるとでも思ってるのかねw
こういう奴ってストーカー予備軍だと思うよマジで。

お前なんか大嫌いって言われても「まーた恥ずかしがっちゃって」みたいな反応をするタイプ。
まず間違いない。


172 :デフォルトの名無しさん:2011/05/03(火) 16:28:38.47
↑みたいな既知外がマッハで反応してくるんだからやめられないよねー

173 :デフォルトの名無しさん:2011/05/03(火) 16:34:43.91
ソーメン。

174 :デフォルトの名無しさん:2011/05/03(火) 16:48:46.13
>>171
おーすごいすごい

175 :デフォルトの名無しさん:2011/05/03(火) 16:50:46.03
IBMとか日本のシステム作るときに修正させなかったのかなぁ

176 :デフォルトの名無しさん:2011/05/03(火) 16:51:35.42
>>171
煽られたのが悔しくて本気でスレ潰そうと考える粘着質なのはどこのスレにでもいる

177 :デフォルトの名無しさん:2011/05/03(火) 17:27:37.92
>>168
どっちも常にFalseだなぁ。
C#でjQuery使って非同期通信するときって、
ジェネリックハンドラ呼び出すべき?
CodeFileで処理したいなぁと思ったんだけど、
その理由がテキストボックスとかコントロールの値がコードビハインドで取得できると
いいなぁと思った。
非同期通信だと、どっちにせよ出来なさそう。
jQueryからコードビハインドに値渡すしかないのかな?

178 :デフォルトの名無しさん:2011/05/03(火) 21:16:14.17
>>161
Func<A, A> id = x => x; って書いた時点で、x の型は推論で決まるはずだけども。
A をその場で自由に変えたいとかってありえる?

179 :デフォルトの名無しさん:2011/05/03(火) 21:56:35.70
LINQいいよね〜

180 :46:2011/05/03(火) 23:46:11.21
>>179
linq to sqlでinsert文と動的にsql文を組むことが、面倒なのでlinq to sqlは使わない事にした
ideの補完機能がせっかくあるのに、残念

181 :180:2011/05/03(火) 23:47:26.72
ごめん、また名前に46っていれちゃった
2ちゃんねるブラウザ変えたから...

182 :デフォルトの名無しさん:2011/05/03(火) 23:49:56.56
linq to sqlなんて今世界から消滅しても困る奴ほとんどおらんやろ

183 :デフォルトの名無しさん:2011/05/03(火) 23:52:07.61
実際LINQ to SQLは公式にいらない子扱い
Entity Framework使えということだからそのうちObsoleteくるよ

184 :デフォルトの名無しさん:2011/05/03(火) 23:53:52.97
>>183
それじゃ、>>179はlinq to xmlがいいよねーって話してるのかい
あんまりlinqとか勉強してないんだよ

185 :デフォルトの名無しさん:2011/05/03(火) 23:57:59.39
LINQの本気はLINQ to Objects
LINQ to XMLはLINQ to Objectsを使ってXMLを扱うためのライブラリで、
LINQ to SQL と LINQ to Objectsの関係とは異なる

186 :デフォルトの名無しさん:2011/05/04(水) 00:05:31.27
LinQいいよね〜
http://www.loveinq.com/linq

187 :デフォルトの名無しさん:2011/05/04(水) 00:11:26.62
>>185
わかりますた
ありがとうございますん

>>186
お前頑張ってるな

188 :デフォルトの名無しさん:2011/05/04(水) 00:13:06.37
九州のローカルアイドルかあ

189 :デフォルトの名無しさん:2011/05/04(水) 00:28:08.08
>>187
口調

190 :デフォルトの名無しさん:2011/05/04(水) 00:59:48.52
>>186
HKT48と真っ向勝負か。胸が熱くなるな。

191 :デフォルトの名無しさん:2011/05/04(水) 06:30:07.56
LISP vs LinQ

192 :デフォルトの名無しさん:2011/05/04(水) 10:46:35.45
プリズムジャーンプ!

193 :デフォルトの名無しさん:2011/05/04(水) 14:36:42.36
LINQいいよね〜

194 :デフォルトの名無しさん:2011/05/04(水) 14:54:02.85
キミとセツゾク

195 :デフォルトの名無しさん:2011/05/04(水) 16:22:31.42
DBNullをnullに1行で置換できますか?
これはちょっと長い気がします

KeyWord = ((reader["key_word"] is DBNull) ? (null) : ((string) reader["key_word"]))

196 :デフォルトの名無しさん:2011/05/04(水) 16:23:43.87
その場合はas stringでいいんじゃないの

197 :195:2011/05/04(水) 16:37:41.52
>>196
助かりました
ありがとうございます

198 :デフォルトの名無しさん:2011/05/05(木) 18:40:20.27
868 名前:login:Penguin [sage]: 2011/05/04(水) 12:50:13.24 ID:XkozMOyX
http://developers.slashdot.org/story/11/05/03/2226259/Attachmate-Fires-Mono-Developers

Novellを買収したAttachmateがMonoの開発者を解雇だって。
Mono死んでしまうん?

870 名前:login:Penguin [sage]: 2011/05/04(水) 13:29:20.38 ID:6RmX5fcV (2)
>>868
痛すぎるなw
linux じゃもう .NET は使えなくなるってことかい?
結局 .NET は windows 依存になるのかw
何のためにOS非依存にしたのかわからなくなってるなw

872 名前:login:Penguin [sage]: 2011/05/04(水) 14:25:44.27 ID:1FVrdkk4 (3)
>>871
Rotorはあからさますぎる釣りだから誰も手を出さんだろ。

「OS差を吸収する中間層」として存在していたもので言うと、
JavaはSUNごとOracleに買われて消え、そのJava対抗だったはずの.Netも
Linux版が消えて「OS差を吸収する」ことはなくなり、「それなんてMFC?」
になることが決まってしまった。

まぁ、Monoをもっとも推進しなければならない立場のopenSUSE (SLES/SLEDのベース)が
Monoを必要としていない(今は標準じゃインストールすらされない)作りになった
時点で、Monoは終わってたんだと思う。

199 :デフォルトの名無しさん:2011/05/05(木) 18:42:54.40
コピペマン参上!まで読んだ。

200 :デフォルトの名無しさん:2011/05/05(木) 19:24:12.89
GNOMEもあるし亡くなりはせんだろ。

201 :デフォルトの名無しさん:2011/05/05(木) 19:37:00.11
アメ公はほんと共存共栄とかビタ一文考えないなww

202 :デフォルトの名無しさん:2011/05/05(木) 19:45:32.83
>>199
病院行ったほうがいいよ

203 :デフォルトの名無しさん:2011/05/05(木) 21:12:09.85
.NETなんてWindows依存に決まってるだろ。
System.IO.FileAttributesとかSystem.AppDomain.CreateComInstanceFromとか
もともと非依存なんて考えられてない作り。

204 :デフォルトの名無しさん:2011/05/05(木) 21:15:01.23
CLIの仕様にどこまで含まれてるんだっけ?
MS実装の.NETはそりゃどう考えてもWindows依存なわけで。

205 :デフォルトの名無しさん:2011/05/05(木) 21:26:49.58
MSDNの情報はMS製品上で使う場合限定でフリーなんで、Monoは黒に近いグレー
Oracleと違って潰す気はないと思われるが

206 :デフォルトの名無しさん:2011/05/05(木) 21:37:40.80
Linux対応しなくてもマルチプラットフォーム。

207 :デフォルトの名無しさん:2011/05/05(木) 22:15:03.54
>>205
コミュニティ プロマイズとかいう声明だしてなかったっけ。
Mono みたいな活動に対して特許侵害で訴えることはしないっていう。

208 :デフォルトの名無しさん:2011/05/05(木) 22:20:03.29
home/file→home
URLの階層を上位に移動する方法は?

試したこと
Directory.GetParent→ドライブ名が付く
GetDirectoryName→/が¥に変換される

209 :デフォルトの名無しさん:2011/05/05(木) 22:29:53.89
それが本当にURLならSystem.Uri型を使えばいいよ

210 :デフォルトの名無しさん:2011/05/05(木) 22:35:52.51
>>209
Uriに移動するメンバなくね?

211 :デフォルトの名無しさん:2011/05/05(木) 22:54:04.81
コンストラクタじゃなかったかな

212 :デフォルトの名無しさん:2011/05/06(金) 00:27:55.87
XML documentはどうやって解放するの?
他のクラスにはClose Dispose Clearとかあるのに

213 :デフォルトの名無しさん:2011/05/06(金) 00:41:05.74
アンマネージ リソースを持たないからClose Dispose Clearはいらない。
他からの参照が切れてれば自動的にGCで回収される。

214 :デフォルトの名無しさん:2011/05/06(金) 01:45:46.84
IDisposableじゃないクラスは放置でOKだよな
Mutex以外

215 :デフォルトの名無しさん:2011/05/06(金) 03:14:29.38
参照が切れるの定義って何なんだろ・・・


216 :デフォルトの名無しさん:2011/05/06(金) 03:16:10.80
>>215
参照数をカウントしてるんじゃなかったっけ?

217 : 忍法帖【Lv=13,xxxPT】 :2011/05/06(金) 03:29:49.51
世代別GCだからルートオブジェクトから辿れなくなったら、だよ

218 :デフォルトの名無しさん:2011/05/06(金) 06:31:10.47
Google Chromeのウィンドウみたいに
閉じるボタンはあるけどタイトルバーのないウィンドウってどうやって作ったらいい?


219 :デフォルトの名無しさん:2011/05/06(金) 06:33:21.26
タイトルバーってあるんじゃね?・・・
http://internet-sem.up.seesaa.net/customize/google_chrome.png

220 :デフォルトの名無しさん:2011/05/06(金) 07:09:29.42
最大化するとタイトルバーの位置までタブがこない?

221 : 忍法帖【Lv=28,xxxPT】 :2011/05/06(金) 07:10:03.47
Title=String.Empty

222 :デフォルトの名無しさん:2011/05/06(金) 07:11:08.65
閉じるボタンはあるけどタイトルバーのないウィンドウじゃなくて
タイトルバーのないウィンドウでそれっぽい位置に閉じるボタン風のボタンを置けばいい

223 :デフォルトの名無しさん:2011/05/06(金) 07:33:18.40
その方法だとWindowsのテーマ変更に対応すると
とても面倒なことにならないか

224 : 忍法帖【Lv=33,xxxPT】 :2011/05/06(金) 07:40:01.37
>>223
ControlPaint.DrawCaptionButtonの存在は知ってていってるんだよね?

225 :デフォルトの名無しさん:2011/05/06(金) 08:01:50.95
メニューバーのないプログラムってありなの?
最近増えてるけど機能を探すときイラッとくる

226 :デフォルトの名無しさん:2011/05/06(金) 08:07:30.15
Vistaのエクスプローラも標準でメニュー非表示になったのが良くある不満の一つだたっけな

227 :デフォルトの名無しさん:2011/05/06(金) 08:37:24.41
この大ディスプレイ時代にメニューバーの10数px節約して何の得があるんだろう
どうせWeb広告で100px単位で無駄な領域が発生してるのに

MSが見当違いなことをするのはいつものことだけど、
あのグーグルがメニューバーを省略したってことは
頭のいい人たちはメニューバーいらないって思ってるってことだよな

でも全機能を列挙する方法としてメニューバーより優れた機能がついてるわけではないし
頭の悪い俺にはグーグルの意図が理解出来ない
いったいどういうつもりなんだ

228 :デフォルトの名無しさん:2011/05/06(金) 08:42:10.11
Chromeの仕様っていまだにリリースされないブラウザOSの関係でしょ
あれってハード仕様を絞り込んだ状態になるだろうから
解像度が1024x600とかその辺を利用するのでなるべく固定で
場所とるようなものはなくしたほうがいい

PC前提だと>>227のいうような話だが、モバイル端末で普及してる
解像度で考えると10px程度でも結構違う

あとweb広告はページの中のデータの一部なので引き合いに出すことではない

229 :デフォルトの名無しさん:2011/05/06(金) 08:42:48.98
普通の人にメニューは使いもしない機能が並んでて煩雑なんだろ
その辺のお前らみたいなプロだけが商売相手じゃないんだ、なぜお前らに合わせる必要がある。
それに開発ツールはメニューあるだろ。

230 : 忍法帖【Lv=40,xxxPT】 :2011/05/06(金) 08:50:56.45
ツールバーに広告を表示することは厭わない

231 :デフォルトの名無しさん:2011/05/06(金) 08:52:23.36
これでも見て落ち着けよ
http://cybernetnews.com/wp-content/uploads/2006/12/Firefox200/Fullscreen.jpg

232 :デフォルトの名無しさん:2011/05/06(金) 08:56:37.06
>>228
納得
それならオプションでメニューバー表示できたらいいんだがなぁ

>>229
普通の人こそどこを探していいのかわからない状態は発狂しそうになるだろ

233 :デフォルトの名無しさん:2011/05/06(金) 09:23:28.71
今もう、「普通の人」って、ブラウザーをアプリとして認識してないんじゃないかな。
ページ内の情報がすべて。
だからブラウザーの方に余計なメニューバー付いてると邪魔な何かと認識する。


234 :デフォルトの名無しさん:2011/05/06(金) 09:41:48.83
メニューバーからアクセスする必要のある機能全てをひとつのボタンにまとめたかっただけだよ
Chromeも、Operaも、Firefox4も

235 :デフォルトの名無しさん:2011/05/06(金) 10:03:58.47
せっかくハッシュテーブルになってるものを
ひとつのボタンにまとめたら探しにくくないか?

236 :デフォルトの名無しさん:2011/05/06(金) 10:07:17.38
あほみたいに多いわけじゃなければ、一度に全部見れたほうが分り易い

237 :デフォルトの名無しさん:2011/05/06(金) 10:17:19.60
それアホみたいに増えたときにどうするのかという問題は解決してないよね

238 :デフォルトの名無しさん:2011/05/06(金) 10:20:18.74
>>237
まあそりゃ無理だろう
結局1本にあれこれ詰め込むなってことだよ

メニューバーが無いUIっていうとゲームなんかも多いけど
結局多層化で対応したりしてるしね

これといったUIはないよ

ただゲーム系のUIでもタッチパネルの普及でまた雰囲気変わったけどさ

239 :デフォルトの名無しさん:2011/05/06(金) 11:25:14.18
>>231
落ち着けるかwww

240 :デフォルトの名無しさん:2011/05/06(金) 11:42:37.69
心が不安定になるね

明らかにツールバー作るキットで作ってるな
検索ボックスと右隣のSearchボタンがテンプレになってる

241 :デフォルトの名無しさん:2011/05/06(金) 14:06:19.97
>>229の言うとおりで、メニューはパソヲタ的な人以外は使わない(使えない)んだよね。
ツールバーの類もボタンがたくさん(7つ以上とか?)並んでると使えない人が多い。

だから最近のUIの「とりあえず見た目スッキリ」に向かってる方向性は
商業的には正しいと思う。

リボンUIは「とりあえず見た目スッキリ」の点ではいいけど、
上級ユーザーがカスタマイズして使えない点で最悪。

あと、大画面化が進んだっていっても縦方向の解像度は貴重。
だからメニューをデフォで非表示にしたり、タイトルバーにタブを表示したりする工夫も
基本的には正しい方向性だと思う。

その点でもリボンは評価できんな。

242 :デフォルトの名無しさん:2011/05/06(金) 14:08:22.69
>上級ユーザーがカスタマイズして使えない
えっ? Office 2010とかカスタマイズ可能だよ。
クイックアクセスツールバーなら2007もできる

243 : 忍法帖【Lv=40,xxxPT】 :2011/05/06(金) 14:09:32.80
カスタマイズって単語の幅が広すぎてどこまで求められてるのか分からん

244 :デフォルトの名無しさん:2011/05/06(金) 14:14:23.88
>>242
まあ2010だとリボンですら確かに全くカスタマイズできないわけじゃない。
でも2003までのツールバーほど自由度ないんだよね。
「カスタマイズ性が低い」と訂正します。
スレ違いなんでこの位で勘弁しといてw

245 :デフォルトの名無しさん:2011/05/06(金) 14:16:43.52
>>241
結構まともなこと言ってるのに、リボンについては食わず嫌いで知識ないんだろうな。

246 :デフォルトの名無しさん:2011/05/06(金) 14:21:26.30
>>241
それほんとかよ
メニューバーなかったら素人に口頭で操作説明するのめちゃくちゃ大変だぞ
てか、その情報どこかに統計とかでもあるの?

247 :デフォルトの名無しさん:2011/05/06(金) 14:27:00.16
>この位で勘弁しといてw
どのあたりが2003に比べてツールバーのカスタマイズ性低いのか知りたいね。
参考までに教えてよ。ちなみにメニュー廃止は2003より最小化リボンの方が上だと思う。

248 :デフォルトの名無しさん:2011/05/06(金) 14:27:26.78
ただ、アプリ作ってもリボンが埋め尽くされるほど機能持っているのは希だよな
スカスカのリボンはタブがある分鬱陶しいだけ
右クリックで済む物はツールバーに載せない設計したらすっきりしたし使いやすかった

249 :デフォルトの名無しさん:2011/05/06(金) 14:42:45.72
>>246
もちろん個人の感想です。
客観的データなんてありませんはい。

>>247
個人的に一番気に入らないのが、ツールバーを複数に出来ないことと、
あとドッキングの位置を選択できないこと。あとフロートにもできない。

例えばワードだと、文章書いている時には作業領域の縦方向を広く取りたいから
リボンとかツールバーのドッキングを解除したいと思っても、これができない。

頻繁に使うボタンは、用途ごとに別々のツールバーにまとめておきたい(リボンはタブを
クリックする一手間が嫌)と思っても、これもできない。

250 :デフォルトの名無しさん:2011/05/06(金) 14:49:28.84
>>249
個人の感想を〜人が多いとか一般的な意見みたいにいうの辞めろ
機能がメニューバーの中に必ず存在する安心感は他のUIでは得られないと思うんだけどなぁ
機能がありそうなところを想像して右クリックしてみましょうみたいなアプリは勘弁してほしい

251 :デフォルトの名無しさん:2011/05/06(金) 15:02:23.95
>>250
>機能がメニューバーの中に必ず存在する安心感は他のUIでは得られないと思うんだけどなぁ
まったく同意なんだけど、そう思うのはある程度PCのスキルがある人だけ。

少なくとも俺の経験では、とりあえずメールとwebが使えますってレベルの人は
メニュー使えない。少なくとも使いたがらない。
メニューが何を表しているのか理解できないみたい。

もちろん客観的データはないけど、そう現実から外れた見解じゃないと思うけどな。

252 :デフォルトの名無しさん:2011/05/06(金) 15:06:12.58
>>264
> メニューバーなかったら素人に口頭で操作説明するのめちゃくちゃ大変だぞ

このセリフ、CUIとGUIの比較でも聞いたなぁ
コマンドなら口頭での説明も楽だが、GUIだと難しい、って

でも、結局コマンド入力型のアプリケーションは一般向けじゃなくなっちゃったね

253 :デフォルトの名無しさん:2011/05/06(金) 15:17:57.17
>>251
それはソフトが手に余る状態なだけで慣れてくればメニューバーも使うようになるじゃん
初心者を甘やかす工夫じゃなくて
初心者が使っているうちに学習できるような工夫をすべきだと思うんだけど

254 :デフォルトの名無しさん:2011/05/06(金) 15:32:09.08
カテゴリや機能の大小に関係なく列挙するのはまずいって考えたんだろ。あとなんか野暮ったいしな。
大手はUIの研究熱心にやってるだろうし何かしらしっかりした理由あるんだろうな。ぜひ聞いてみたい。

255 :デフォルトの名無しさん:2011/05/06(金) 15:36:50.86
>>254
だよな、頭いい人たちがこの件についてどう考えているのかすごく気になる

256 :デフォルトの名無しさん:2011/05/06(金) 16:04:14.48
クク・・・

257 :デフォルトの名無しさん:2011/05/06(金) 16:26:09.28
頭いい人「だれかが使いやすくてかっけーUI考えたらパクろうっと」

258 :デフォルトの名無しさん:2011/05/06(金) 16:44:15.73
頭悪い人「作ってもいいけどパクられると嫌だなぁwww」

259 :デフォルトの名無しさん:2011/05/06(金) 17:00:46.61
リボンが使いやすいって言うと未だに発狂するやつが居る。
板違いだから黙ってろよ。上級ユーザーさん

260 :デフォルトの名無しさん:2011/05/06(金) 17:06:47.37
面白いねー

261 :デフォルトの名無しさん:2011/05/06(金) 17:20:24.84
Officeの図形描画はツールバーがフローティングにできなくて
使いにくくなったね。
図形追加するたびに「挿入」→「図形」の2クリックがめんどくさい

262 :デフォルトの名無しさん:2011/05/06(金) 19:22:39.83
素人に教えるときって結局、画面キャプチャして画像送るしかない印象。
電話サポートできないけども。

縦解像度の問題は、Office 2010ではリボン隠せる設定入ったしね。

263 :デフォルトの名無しさん:2011/05/06(金) 22:22:00.73
下記のようなコードで、IState.updateからEntityのプロパティ書き換えを許したい場合、
どう書けばいいでしょうか?Entity内部とIState以外からのアクセスは逆に拒絶したいです。
Entity.updateは毎秒1000回近く呼ばれるため、負荷のかかる書き方は避けたいです。

public class Entity // namespace foo.entity
{
 public IState currentState{ get; private set; }
 public int hoge{ get; private set; }
 public void update(){ currentState.update(this); }
}
public interface IState // namespace foo.state
{
 void update(Entity e);
}

264 :デフォルトの名無しさん:2011/05/06(金) 22:28:52.50
>>262
2007でもタブをダブルクリックすれば最小化できる

265 :デフォルトの名無しさん:2011/05/06(金) 22:31:34.59
見られたくないのをinternalにする
同じアセンブリ内からは自由にアクセスできるが、実際それで問題なくてそれ以上は自己満足。

266 :デフォルトの名無しさん:2011/05/06(金) 22:35:42.62
あとはEntityの内部クラスとしてIStateの実装クラスを定義する方法もある。
任意のIStateから変更できるようにするのは無理。それじゃ事実上publicと同じだから。

267 :デフォルトの名無しさん:2011/05/06(金) 22:44:54.48
もう一つ interface IEntityController { void SetHoge(int value); }
のようなインターフェイスを用意して、それをEntityクラスの内部クラスで実装して、
そのインスタンスをIState.updateの引数に渡すのもアリ
でも無駄に複雑になるだけだから正直internalでいいよ

268 :デフォルトの名無しさん:2011/05/06(金) 22:54:12.16
EntityとISateはもう結婚しちゃいなよって言いたくなるぐらい癒着してんなw
updateで値を返すだけじゃ我慢できんのか?

269 :デフォルトの名無しさん:2011/05/06(金) 23:19:26.67
updateの役割をある程度限定できるなら、Entityも渡さずに
操作用のオブジェクトだけ渡したほうが結合が弱くなって良いんじゃないかな
それができないならもう全部公開でいいと思う

270 :デフォルトの名無しさん:2011/05/07(土) 06:39:43.04
実体(データとか)と状態(ロジックとか)を切り離してStateパターンっぽいことを
やろうとしてたんですが、実体側のデータ隠蔽がどうにも難しくて。

無理やりやろうとすると、隠蔽したいフィールドを別クラスにまとめて
Entityクラスにprivate object privateMember;とかで抱えさせて
updateでそいつを丸投げさせてたんですが、結構複雑になってしまうので
もっとシンプルな方法がないかなと思って質問しました。

ありがとうございます。

271 :デフォルトの名無しさん:2011/05/07(土) 07:46:27.62
この程度のことにデザインパターン適用しないのが一番シンプルになる

272 :デフォルトの名無しさん:2011/05/07(土) 08:53:27.11
だが仕様書書くときはロジックとインターフェースを別にするべきだと思うよ


273 :デフォルトの名無しさん:2011/05/07(土) 11:08:31.65
データに振舞い持たせないならupdateも外出しでいいんじゃないの
stateパターンとかいらない

274 :デフォルトの名無しさん:2011/05/07(土) 16:54:25.85
デザインパターンのObserverをC#で実装したいのですが、参考になるサイト
とかありますか?

275 :デフォルトの名無しさん:2011/05/07(土) 16:57:12.84
>>274
http://blog.livedoor.jp/akf0/archives/51530106.html

276 :デフォルトの名無しさん:2011/05/07(土) 16:59:30.42
Java脳/GoF信者でなければイベント使えばいいよ

277 :274:2011/05/07(土) 17:04:01.61
>>275
ありがとうございます。
まずはシンプルにオブジェクト間で通知させて様子を見てみます。

278 :デフォルトの名無しさん:2011/05/07(土) 17:50:39.54
Rx...いやごめん

279 :274:2011/05/07(土) 17:58:35.12
あと思ったのですが、Observerでオブジェクトの親子間でも通知とかできるんですか?


280 :デフォルトの名無しさん:2011/05/07(土) 18:37:00.17
もちろん
フォーム(親/observer)とボタン(子/subject)の関係
イベントはobserverそのものなので、基本的にイベント使うべきだけど、
なぜイベントがobserverか理解できるくらいには勉強しておくのはいいんじゃないの

281 :280:2011/05/07(土) 18:56:06.70
補足
observerがsubjectの具体的な型に依存するのはいいけど逆はダメだよ。常にインターフェイス経由。
observerパターンというのは、たとえばボタンが特定のフォームに依存しないようにしつつ、
ボタンがフォームのメソッドを呼び出すためのパターンなので、相互に依存しちゃったら何の意味もなくなる。
そこがよくわかってないと、通知といえばオブザーバーやイベントと考えがちなんだけど、
相互に依存しても構わないんだったら単に子に親のインスタンス渡しといて子が親のメソッドを直接呼べばいい。
そのような場合にobserverパターンやイベントを使うのは無意味。

282 :デフォルトの名無しさん:2011/05/07(土) 20:24:53.78
>>274
>>275 のコードは Java そのまますぎるなぁ。
Attach/Detach は event の +=/-= でOK。

あるいは、Detach は IDisposable を通して行う方がいいよ。
.NET 4 で入った IObserver/IObservable がそうなってる。

というか、Reactive Extensions(略称 Rx)ってのを入れたら Observer の実装入ってる。

>>278
いや、Rx でいいんじゃね?
一応、もう製品扱いに昇格したし。

283 :デフォルトの名無しさん:2011/05/08(日) 06:10:05.76
心の叫びか何かか?

284 :デフォルトの名無しさん:2011/05/08(日) 19:46:08.22
windowsフォームアプリケーションで業務アプリを作っていると、
同じようなデザインの画面をたくさん作る事があると思います。

どのよう技を似たような画面を作っていますか?

285 :デフォルトの名無しさん:2011/05/08(日) 19:48:12.89
ユーザーコントロール使う
フォームの継承はお勧めしない

286 :284:2011/05/08(日) 20:05:40.41
>>285
やっぱり、気合で作っていくしかないんですね
ありがとうございます

287 :デフォルトの名無しさん:2011/05/08(日) 20:29:10.08
>どのよう技を似たような画面を作っていますか?
見積で画面数を掛ける。あとはこびとさんががんばる。

288 :デフォルトの名無しさん:2011/05/08(日) 20:52:50.19
>フォームの継承はお勧めしない
なぜ お勧めしないの?

1枚テンプレ作っておけば レイアウトとかコーダの好き勝手でチグハグになったりしないのでは?と思うんだが

289 :デフォルトの名無しさん:2011/05/08(日) 21:38:22.24
フォームをフォームに貼れないから

290 :デフォルトの名無しさん:2011/05/08(日) 22:04:56.42
>>286
気合つーかFormはいじらないでその上に適当なコンテナをベースにした
同じようになってしまう部分を分離可能な形で作っておけばいいだけちゃうの?

291 :デフォルトの名無しさん:2011/05/08(日) 22:07:59.63
ユーザーコントロールは入れ子にできるでしょ?

292 :デフォルトの名無しさん:2011/05/09(月) 09:22:46.60
なんで疑問形なの?

293 :デフォルトの名無しさん:2011/05/09(月) 09:51:20.43
あ?

294 :デフォルトの名無しさん:2011/05/09(月) 11:31:04.42
すみません。質問です。
ttp://dobon.net/vb/dotnet/control/tschdesigneravail.html

[System.Windows.Forms.Design.ToolStripItemDesignerAvailability(
System.Windows.Forms.Design.ToolStripItemDesignerAvailability.ToolStrip |
System.Windows.Forms.Design.ToolStripItemDesignerAvailability.StatusStrip)]
public class ToolStripNumericUpDown : System.Windows.Forms.ToolStripControlHost
{
public ToolStripNumericUpDown()
: base(new System.Windows.Forms.NumericUpDown())
{
}
}

このソースコードはデフォルトのフォームに追加するだけではだめなのでしょうか?
エラーも出ないけどToolStripItemにも追加されない・・・。


295 :デフォルトの名無しさん:2011/05/09(月) 11:38:26.27
プロジェクトを右クリックしてToolStripNumericUpDownクラスを新規作成
>>294ののコードと同じになるようにコピペ
リビルド

296 :デフォルトの名無しさん:2011/05/09(月) 11:47:14.59
>>295
できました。
ありがとうございます。m(__)m

297 :デフォルトの名無しさん:2011/05/09(月) 16:38:33.75
VS2010を初めて使ったけど、
Windowsアプリの標準出力をデバッグに参照できないのが不便すぎる


298 :デフォルトの名無しさん:2011/05/09(月) 16:43:41.34
C#とC言語って違うの?

299 :デフォルトの名無しさん:2011/05/09(月) 16:49:38.82
同じだよ


300 :デフォルトの名無しさん:2011/05/09(月) 16:51:05.93
bool same = "C#"[0] == "c"[0];

301 :デフォルトの名無しさん:2011/05/09(月) 17:10:04.73
VSってこんなにもっさりしてたっけかな
まぁタダだからこんなもんか

302 :デフォルトの名無しさん:2011/05/09(月) 17:46:05.12
VS2010はもっさりしてるよ
だから今も2008使ってる

303 :デフォルトの名無しさん:2011/05/09(月) 17:57:05.35
XPで使ってるとかいうオチじゃないよな?

304 :デフォルトの名無しさん:2011/05/09(月) 18:00:43.42
Pen4で使ってるというオチだよ

305 :デフォルトの名無しさん:2011/05/09(月) 18:23:16.16
>>303
うn
>>304
それはない

306 :デフォルトの名無しさん:2011/05/09(月) 18:27:43.46
俺のは XPでPen4HTだよ Orz

307 :デフォルトの名無しさん:2011/05/09(月) 18:44:37.68
搭載メモリ量じゃね
Vista/Core2/8Gと7/Core2/4Gの環境だと2008と2010で差は感じないなぁ

308 :デフォルトの名無しさん:2011/05/09(月) 19:15:17.92
Win7 64bit
Core2Duo 2.4GHz
Memory 8GBytes
だけどVS2010は重くてVS2008使ってる。

309 :デフォルトの名無しさん:2011/05/09(月) 19:29:36.59
2010はwpfで作られてるから基本vista以降推奨やでxpやとただ動くゆーだけやな

310 :デフォルトの名無しさん:2011/05/09(月) 19:45:00.94
#include <stdio.h>
int main()
{
int i,j;

for(i = 0; i < 4; i ++){
printf("外側のforの1、i = %d\n",i); /*外側のループ*/

for(j = 0; j < 3; j++){
printf("\t内側のfor、j = %d\n",j); /*内側のループ*/
}

printf("外側のforの2、 i = %d\n",i); /*外側のループ*/
}
return 0;
}


すいません、どうしてもこれがコンパイルできません
7行目と13行目がおかしいみたいですが理由が分かりません

311 :デフォルトの名無しさん:2011/05/09(月) 19:46:16.75
スレ違い

312 :デフォルトの名無しさん:2011/05/09(月) 20:03:30.12
一生悩んでて

313 :デフォルトの名無しさん:2011/05/09(月) 20:11:34.58
頼みますよほんと

314 :デフォルトの名無しさん:2011/05/09(月) 20:57:43.15
全角スペースがまじってるよ

315 :デフォルトの名無しさん:2011/05/09(月) 23:09:33.60
なんだC#でCのコード書く猛者が現れたかと思ったよ

316 :デフォルトの名無しさん:2011/05/10(火) 09:28:54.46
C#でCコンパイラ作ってるんだろ

317 :デフォルトの名無しさん:2011/05/10(火) 14:30:38.25
Cインタプリタ内臓

318 :デフォルトの名無しさん:2011/05/10(火) 14:35:33.48
Cのインタプリタって割と簡単に実装できるよね。

319 :デフォルトの名無しさん:2011/05/10(火) 21:27:05.39
>>310
怒るでしかし

320 :デフォルトの名無しさん:2011/05/10(火) 22:00:05.00
フォームアプリで、WebBrowser経由でPDFを表示させた後、かなり高い確率で例外コード:0xC0000005で異常終了します。
FormClosingイベントで少し待機(現在は5秒)させるとある程度確率を下げることが出来るのですが、0ではありません。
原因にお心当たりのある方、類似の事例をご存知の方がいらっしゃいましたら、アドバイスをいただけないでしょうか?

321 :デフォルトの名無しさん:2011/05/10(火) 22:13:48.09
http://pctrouble.lessismore.cc/running/0xc0000005.html
「0xc0000005」エラーが意味するものは、メモリアクセス違反です。

ということなのでpdf関連のプラグインが悪いかpdfが壊れてるとかそういうのはないの?

322 :320:2011/05/10(火) 22:23:48.38
>>321
失礼、あの後少々思いついてイベントログを漁ってみたのですが、AcroRd32.dllでエラーが出てますね。
これは(アプリ側から)原因を追究するのはムダかもしれませんね。
今は9なので、10に上げてもう一度やってみましょう。

323 :デフォルトの名無しさん:2011/05/10(火) 22:25:57.92
しかしそれってc#側からブラウザコアのバージョン指定や
プラグインの指定ができないとトラブルになりそうだな

324 :デフォルトの名無しさん:2011/05/10(火) 22:43:07.22
>>310

空白文字が半角じゃなく全角になってる。
>>319でなくても怒るで。


325 :320:2011/05/10(火) 22:50:53.02
Adobe Reader Xのインストール中・・・。

>>323
ですね。今回はある程度、実行環境を指定できる案件なので(これで解決するなら)なんとかなりますが、不特定多数に配布するアプリケーションでは大きなトラブルの元になるでしょう。
今までは手軽なプレビュー手段として利用してきましたが、見直さざるを得ないかもしれません。

ちなみに現在の組合せは、.net 4.0+Visual Studio 2010+Adobe Reader 9、それぞれアップデートは最新のモノにしてあります。

326 :デフォルトの名無しさん:2011/05/10(火) 23:10:31.04
既存のPDFが大量にあって、PDF→XPS(XPS仮想プリンタにPDFを印刷する事で変換)で表示が変わるのが許容できない
なんて事情がないならXPSで扱う方が楽だとは思う。バージョン違いに怯えなくていいしね。

327 :320:2011/05/10(火) 23:14:14.86
Adobe Reader Xのインストール終了。
よさげかな? 10回ほど起動→終了を繰り返して、とりあえずまだ一度も落ちてません。
少なくとも「頻度は明らかに減った」とは言えるでしょう。今までなら最低でも5〜6回は例外が出てました。

おっと、>>325では動作環境を書いてませんでしたね。
OSはWin7(x64)、IEは8です。やはりそれぞれアップデートは以下略という事で、どなたかのご参考になれば幸いです。

まずはありがとうございました、という事で、それほど緊急ではない別件の相談、よろしいでしょうか?
>>323のような場合、PDFのプレビューにはどんな選択肢があります?
ランタイム無制限ライセンス付きでそれほど高くない&それなりに信頼できるものなら、有料でもかまいません。
実際に使ったことがある方がいらっしゃいましたら、インプレ等込みでアドバイスをいただければ幸いです。
これから私も少し調べてみますが、よろしくお願いします。

>>326
残念ですが、その条件(の、少なくとも前者)に当てはまってしまうのです(涙)

328 :デフォルトの名無しさん:2011/05/11(水) 03:01:59.15
>>320
ぐぐればP/InvokeでCoFreeなんちゃら使ってAcrobatのCOMを解放すればみたいなのが見つかるよ

329 :デフォルトの名無しさん:2011/05/11(水) 03:07:14.98
ピンボケwwwwwwwwwwwwwwwwwwwww

330 :デフォルトの名無しさん:2011/05/11(水) 08:11:16.42
COFFEEかと思ったよw

331 :デフォルトの名無しさん:2011/05/11(水) 08:42:53.53
次のDLL関数をC#から呼び出したいんですが
int WINAPI UnlhaCompressMem(
HWND _hwnd,
LPCTSTR _szCmdLine,
const LPBYTE _szBuffer,
const DWORD _dwSize,
const time_t * _lpTime,
const LPWORD _lpwAttr,
LPDWORD _lpdwWriteSize
)

次の呼び出しでBadImageFormatExceptionエラーが出ます.
private extern static int UnlhaExtractMem(
int hwnd,
string szCmdLine,
ref byte szBuffer,
uint dwSize,
ref int lptime,
ref ushort lpwAttr ,
ref uint lpdwWriteSize
)
どこが間違っているのでしょうか?

332 :デフォルトの名無しさん:2011/05/11(水) 08:49:32.03
なんか、ファイルアクセス権限とかで引っかかってんじゃない?

333 :デフォルトの名無しさん:2011/05/11(水) 08:53:28.72
BadImageFormatExceptionなんて出したことないから知らないけど
DllImportはしてるんだよね?

334 :デフォルトの名無しさん:2011/05/11(水) 08:59:03.63
ref byte szBuffer

カンだけどこれが怪しい

335 :デフォルトの名無しさん:2011/05/11(水) 09:06:09.76
あと気になるのがビット
64ビットと32ビット

336 :デフォルトの名無しさん:2011/05/11(水) 09:08:53.66
コンパイルオプションとか
AnyCPUだめでx86にしないといけないとか

337 :デフォルトの名無しさん:2011/05/11(水) 10:17:58.87
>>334
同意。
byte[] szBuffer だと思う。

338 :デフォルトの名無しさん:2011/05/11(水) 11:50:36.83
>335
>334
両方直したら動きました.
x64環境でx86のDLL動かしたのが原因ぽかったです.
ありがとうございます.

339 :デフォルトの名無しさん:2011/05/11(水) 12:05:37.26
この際だからどっちが原因か片方だけ戻して調べてみて
両方だったのかな?

340 :デフォルトの名無しさん:2011/05/11(水) 12:08:36.63
いぇーい俺様2点

341 :デフォルトの名無しさん:2011/05/11(水) 12:13:35.39
>>338
それまずいらしいね
WOWOWが64bitと32bitのコードの間で相互呼び出しを正しくサポートしてない

http://ascii.jp/elem/000/000/480/480200/index-2.html

この辺りを参照

342 :320:2011/05/11(水) 13:40:46.57
>>328
「PDF CoFree」でググったらすぐに出てきましたね。検索の仕方が悪かったようです。申し訳ありませんでした。
動作チェック用の環境を整えたら試してみます。

343 :デフォルトの名無しさん:2011/05/11(水) 14:09:28.10
>339
たぶん両方です.
この関数はLHAのファイルをデコードをするためのものですが,
デコード結果が「const LPBYTE _szBuffer」で返されます.
LP〜の型はrefをつければいいみたいな説明が
どっかのWEBサイトに載ってたので機械的にやったのですが,
refで1byte分だけ渡しても意味がないです(未確保のヒープ領域が書き換えられて
例外かエラーが発生するだけだと思います.)

>400
初期設定のプラットフォームのAnyCPUでコンパイルしていたのをx86に変更して
コンパイルしたら正常に動作しました.
今作っているプログラムはx86のDLL(Unlha.dll,LHAファイルの操作用DLL)をインポートして関数をたたいています.
AnyCPUがx64用としてコンパイルしていたのが原因でBadImageFormatExceptionが発生したのだと思います.

344 :デフォルトの名無しさん:2011/05/11(水) 19:01:57.64
俺もC#始めるお。
つーか、この板でC#スレってここが本スレ?

345 :デフォルトの名無しさん:2011/05/11(水) 19:03:31.89
どうでっしゃろ

346 :デフォルトの名無しさん:2011/05/11(水) 19:58:19.34
このスレ → モーニング娘。
ふらっとスレ → AKB48
ミスターサタンスレ → KARA

347 :デフォルトの名無しさん:2011/05/11(水) 20:02:20.30
サタンスレなんてあったなあそういえば

348 :デフォルトの名無しさん:2011/05/11(水) 20:49:32.04
少女時代はないのか・・・

349 :デフォルトの名無しさん:2011/05/11(水) 23:32:52.36
→スレ立てるまでもない質問はここで

350 :デフォルトの名無しさん:2011/05/11(水) 23:35:49.07
C#+VisualStudioの質問なんですけど,
WinFormsでフォームのデザイン時にツールボックスに自分が作ったControlが
わらわらと出てきてうざいんですけど,
なんかクラスに属性付けとけばツールボックスに表示されないようにとかできましたっけ?

351 :デフォルトの名無しさん:2011/05/11(水) 23:53:21.32
>>350
自分でツールボックスに追加したんでしょ。
そうでなきゃ表示されないよ。

自作のコントロールを使いたい場合は、普通そのコントロールのプロジェクトまたは
dllを参照設定する。

そうすると、そのコントロールのアセンブリを参照してるプロジェクトを開いている時だけ
ツールボックスに自作のコントロールが表示される。

352 :350:2011/05/11(水) 23:54:54.62
プロジェクト内にあるコントロールが
勝手にツールボックスに表示されるのをやめさせたい,
という質問です。無理なんかな?


353 :デフォルトの名無しさん:2011/05/11(水) 23:57:47.36
>>352
できるんじゃないの?
VS2010は逆に追加されないので追加する方法を
ここかもうひとつのスレで以前質問あったはず

354 :デフォルトの名無しさん:2011/05/11(水) 23:59:16.58
DesignTimeVisibleAttributeかな?

355 :デフォルトの名無しさん:2011/05/12(木) 00:15:00.04
[ToolboxItem(false)]をつければOKみたいね。
あまり考えたこと無かったが、まああえて表示したくない場合もあるのかな


356 :350:2011/05/12(木) 00:17:53.83
DesignTimeVisibleAttributeで消せました。
どうもありがとうございました。

357 :デフォルトの名無しさん:2011/05/12(木) 00:20:35.98
確かにそれでも表示されないけど、微妙に意味合いが違うように思うけど....

358 :350:2011/05/12(木) 00:44:49.45
ToolboxItemAttributeでも消せました。
とりあえずツールボックスに表示させない目的だとこっちの方がよさそうですね。
コントロールが50個くらいあるんで
ツールボックスの表示が遅かったり場所とったりしてうっとうしかったんです。

DesignTimeVisibleAttributeの方はヘルプ見ても
ちょっとよくわかりませんでした。
componentをデザイナで表示しないためっていってるので
ツールボックスで非表示以外にもなんかあるのかもしれません。

どうもありがとうございました。


359 :デフォルトの名無しさん:2011/05/12(木) 01:00:21.55
なんかいいラムダありますか?

360 :デフォルトの名無しさん:2011/05/12(木) 01:20:22.40
永田重工製

361 :デフォルトの名無しさん:2011/05/12(木) 01:21:08.59
三菱の車で昔そんなのあったな

362 :デフォルトの名無しさん:2011/05/12(木) 01:25:26.66
ラムダっty

363 :デフォルトの名無しさん:2011/05/12(木) 01:42:04.08
ラムダッシュモーニングリポート

364 :デフォルトの名無しさん:2011/05/12(木) 02:40:08.77
赤いギャラン・ラムダといえば、「華麗なる刑事」 @草刈正雄

365 :デフォルトの名無しさん:2011/05/12(木) 05:33:59.44
おっさん率高くなったな

366 :デフォルトの名無しさん:2011/05/12(木) 06:35:30.31
用もないのに2chで雑談するのは人生詰んでるおっさんと相場が決まっとる

367 :デフォルトの名無しさん:2011/05/12(木) 07:57:38.49
人生は詰んでから始まるのさ坊や

368 :デフォルトの名無しさん:2011/05/12(木) 14:31:27.44
詰んだなら盤をゆすればいい

369 :デフォルトの名無しさん:2011/05/12(木) 14:46:11.31
クリティカルヒット

あなたの首を刎ねられて血溜まりに置かれました

GAMEOVER

370 :デフォルトの名無しさん:2011/05/12(木) 16:39:57.45
終了時に ウインドウ位置をiniに記録しておく。
終了させた後に最小化で起動する。
タスクバーにある最小化起動したものを元の大きさにもどすとき
一瞬(0.05秒ほど)センターに表示されてから記録した位置に表示される
Form()、Form_Load()でthis.topなどにiniの値を代入しているのになぜ?

win7x64 VS2008SP1


371 :デフォルトの名無しさん:2011/05/12(木) 17:19:56.46
再現できね。XP VS2010EE
0.05秒を認識って視覚の限界に近いね。

372 :370:2011/05/12(木) 17:56:10.39
>>371
windowsの詳細設定
最小化、最大化でアニメーションをしない設定でためして頂きたく。




373 :デフォルトの名無しさん:2011/05/12(木) 18:24:41.25
>>370
WindowStateだかのプロパティをManualにしないとダメ

374 :370:2011/05/12(木) 19:11:16.14
startpositionをmanualにしてたのに出来ないなと悩んでいたけど
manualに設定したときはform.topを記述する場所がだめだったみたい
restoreboundsを見ながら調べてました。
ありがとう


375 :デフォルトの名無しさん:2011/05/12(木) 19:12:45.99
実用的には、C#って日曜プログラム的な位置ですか?
それとも商用ソフトでもバリバリに使える感じですか?

376 :デフォルトの名無しさん:2011/05/12(木) 19:27:30.40
どちらもこなせる

377 :デフォルトの名無しさん:2011/05/12(木) 19:36:52.70
>>376
サンクスです。

378 :デフォルトの名無しさん:2011/05/13(金) 01:33:39.86
C#で作成したexeファイルとC++で作成したアンマネージのdllを
ひとつのexeにまとめる方法をどなたか知りませんか?
ILMergeはマネージドのアセンブリしか対応していないようなので

379 :デフォルトの名無しさん:2011/05/13(金) 01:59:01.23
1つにまとめるとかレアな需要だし、そういうツールは聞いたことない。

ClickOnce配布とかすりゃいいんじゃないの。
ファイルの数とか気にならないし。

380 :デフォルトの名無しさん:2011/05/13(金) 09:23:34.03
ASP.NETでの必要メモリ量とか参考になる情報ないかと探してそれっぽいのあったんですが、
これが一体何を計算しようとしてる物なのかよく分かりません。
1秒あたりってどういうことなんでしょうかね?
ttp://techbank.jp/Community/blogs/mymio/archive/2008/10/02/2444.aspx


381 :デフォルトの名無しさん:2011/05/13(金) 09:25:31.91
あ、ブログのコメントで聞こうかとも思ったんですが、なんか怖くて聞けませんでしたorz


382 :デフォルトの名無しさん:2011/05/13(金) 10:51:23.55
>>380
ウォーズマン 超人強度 でぐぐれ

383 :デフォルトの名無しさん:2011/05/13(金) 23:16:43.87
ランチャーによくあるような画面の端にマウスを持っていったら
にょきってバーが出てくるようなのってどうやって作るのか知ってたら教えてくださいな

384 :デフォルトの名無しさん:2011/05/13(金) 23:45:07.70
たぶん「フック」。デスクトップのウィンドウメッセージを横取りしてごにょごにょする

385 :デフォルトの名無しさん:2011/05/13(金) 23:49:37.64
細長い透明ウィンドウを置く手も

386 :デフォルトの名無しさん:2011/05/14(土) 00:00:52.72
>>384
ありがとうですが
C#でウィンドウメッセージのフックはやりたくないのです

>>385
透明度を下げていくことでふわーって出てくる感じですよね
それも手ですがにょきにょきがしたいのです

387 :デフォルトの名無しさん:2011/05/14(土) 00:04:29.44
フックなんて面倒だからタイマーでポーリングすりゃいいのよw
どうせデッドタイムを持たせる(一定時間以上経過後でないと表示されない)んだろうから
応答性悪くても全然問題ない

388 :デフォルトの名無しさん:2011/05/14(土) 00:46:13.67
タスクバーの「にょきにょき」は概ね>>385と同じ方針で処理してるっぽい

389 :デフォルトの名無しさん:2011/05/14(土) 00:49:44.78
本当か?
それだとマウスのメッセージを下のウィンドウに透過させる処理が必要なはずだと思うが、
そんなことって簡単にできるんだっけ?

390 :デフォルトの名無しさん:2011/05/14(土) 00:49:49.28
大昔に作ったときは、画面の端っこに2ドットぐらい残して配置して
マウスが乗ったら移動って事やった

391 :デフォルトの名無しさん:2011/05/14(土) 01:20:47.02
>>387
ありがとう
タイマイベントでカーソルの現在位置が画面の端にあるか監視するわけですね
わかります

392 :デフォルトの名無しさん:2011/05/14(土) 01:50:33.40
あとはデスクトップをハッキングする方法もある

393 :383:2011/05/14(土) 02:07:17.59
>>384-392
みなさんのおかげで思ってたものができました
礼儀として汚いソースコードをのっけときますよ

private const int DIVIDE = 50;
private bool m_appear = false;

public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.Manual;
this.DesktopLocation = new Point(Screen.PrimaryScreen.Bounds.Size.Width, 0);
}

private void timer1_Tick(object sender, EventArgs e)
{
if (m_appear == true) return;

if (Cursor.Position.X > Screen.PrimaryScreen.Bounds.Size.Width - 2) {
for (int i = 0; i < DIVIDE; i++) {
this.DesktopLocation = new Point(this.DesktopLocation.X - (this.Width / DIVIDE), 0);
}
m_appear = true;
}
}

private void button1_Click(object sender, EventArgs e)
{
this.DesktopLocation = new Point(Screen.PrimaryScreen.Bounds.Size.Width, 0);
m_appear = false;
}

394 :デフォルトの名無しさん:2011/05/14(土) 02:25:07.12
読む気しないけど、とりあえずヒットテストは自前でチマチマ書くんじゃなくて、
ヒットする領域(Rectangle)を定義してRectangle.Contains使った方がいいんじゃないの?

あと、DIVIDEって投げやりな名前はどうなの。
一週間後にそのコード読んでDIVIDEが何を意味してるかぱっと分かるかね。

395 :383:2011/05/14(土) 02:42:37.44
>>394
テストプログラムなので投げやりな変数名なんかはカンベンを
あとで清書します

>>ヒットする領域(Rectangle)を定義してRectangle.Contains使った方がいいんじゃないの?
そのアイデアいただきます

396 :デフォルトの名無しさん:2011/05/14(土) 11:11:07.52
ユーザに指定された中身のわからないファイルをロードするときに
とりあえずSystem.Drawing.Image.FromFile()でロードさせてみて
例外が起きたら,あー画像じゃないんだ,という処理を
しているのですが,例外起こさないで画像ファイルとして
ロードできるかどうかって調べられないでしょうか。
int.Parse()に対するint.TryParse()のようなイメージです。

397 :デフォルトの名無しさん:2011/05/14(土) 11:31:28.40
binaryで数ワード読んで書かれてる文字で判定。ヘッダ偽装?知るかそんな客。

398 :デフォルトの名無しさん:2011/05/14(土) 11:45:38.79
>>396
例外のコストと画像フォーマットを調べるコストが拮抗してるからTryなんちゃら作る意味ないんじゃね?

399 :デフォルトの名無しさん:2011/05/14(土) 23:44:58.05
OCaml statement = (| let rec sum n = match n with 0 -> 0 | _ -> n + sum(n - 1);; |);
int x = statement.sum(10); // x = 55

こんな感じのことができればいいのに

400 :デフォルトの名無しさん:2011/05/14(土) 23:59:03.32
>>396
ファイル先頭数バイトだけ読み取ってシグニチャある/なしで画像ファイルかどうかだけ判定、
転送途中とかに壊れた画像ファイルとか悪意で偽装されたファイルは例外任せで判定するとか。

全部例外任せでもコストあんまし変わらんかも。

401 :デフォルトの名無しさん:2011/05/15(日) 00:10:58.20
>>400
複雑になるだけだし全部例外任せでいいような

402 :デフォルトの名無しさん:2011/05/15(日) 00:35:10.97
とりあえず拡張子で弾いて後は例外で良いんじゃないの?

403 :デフォルトの名無しさん:2011/05/15(日) 00:47:31.58
深夜の暇つぶし
using System;
using System.Threading.Tasks;
using System.Numerics;//参照の追加がいったような
namespace ConsoleApplication1{
class Program {
private static void body(int idx) {
BigInteger n = new BigInteger(idx);
calc(n);
}
public static void calc(BigInteger n) {
while (true) {
if (n.CompareTo(1) == 0) { break; }
n = collatz(n);
}
}

public static BigInteger collatz(BigInteger n) {
if (BigInteger.Remainder(n, new BigInteger(2)).CompareTo(0) == 0)
return BigInteger.Divide(n, new BigInteger(2));
else
return BigInteger.Add(BigInteger.Multiply(n, new BigInteger(3)), new BigInteger(1));
}

static void Main(string[] args) {
DateTime s = DateTime.Now;
Parallel.For(1, 1000000, body); // 1から999999まで
DateTime e = DateTime.Now;
System.Console.WriteLine((e.Subtract(s).TotalMilliseconds) / 1000.0 + "secs");
} }}
何十秒で結果が出ます?

404 :デフォルトの名無しさん:2011/05/15(日) 00:48:29.78
>>403はコード書き荒らし

405 :デフォルトの名無しさん:2011/05/15(日) 00:55:03.86
http://ideone.com/
ここ使わないような情弱のコードは読む価値なし

406 :デフォルトの名無しさん:2011/05/15(日) 00:58:26.75
ウチのwin2k機だと
using System.Threading.Tasks;
using System.Numerics;
対応してないじゃん。馬鹿。

407 :デフォルトの名無しさん:2011/05/15(日) 01:01:31.55
core2duo e8500,mem4g
25.3924523secs

軽いMMOやりながらマッタリと。

408 :デフォルトの名無しさん:2011/05/15(日) 01:05:17.01
>>406
そろそろ3.5以上にしとけ
いろいろ捗るぞ

409 :デフォルトの名無しさん:2011/05/15(日) 01:05:43.01
>>403
Javaみたいでキモい
カスタム演算子使えよ

410 :デフォルトの名無しさん:2011/05/15(日) 01:32:25.93
勝った。43秒  orz・・・

411 :デフォルトの名無しさん:2011/05/15(日) 01:49:50.28
以下秒数書き込み禁止

412 :デフォルトの名無しさん:2011/05/15(日) 01:57:02.16
以下禁止することを禁止

413 :デフォルトの名無しさん:2011/05/15(日) 02:22:25.66
そして誰も居なくなった。めでたしめでたし。

414 :デフォルトの名無しさん:2011/05/15(日) 07:19:06.12
>>403
9.8565637secs

415 :デフォルトの名無しさん:2011/05/15(日) 07:44:19.76
実行してないけど5秒くらいかな

416 :デフォルトの名無しさん:2011/05/15(日) 08:02:07.41
3.82s@i7-975

417 :デフォルトの名無しさん:2011/05/15(日) 08:06:30.92
2.8秒

418 :デフォルトの名無しさん:2011/05/15(日) 08:17:20.61
1.69s

419 :デフォルトの名無しさん:2011/05/15(日) 08:48:17.83
23秒 core2

420 :デフォルトの名無しさん:2011/05/15(日) 10:48:10.00
600msec

421 :デフォルトの名無しさん:2011/05/15(日) 10:50:59.02
800msec

422 :デフォルトの名無しさん:2011/05/15(日) 10:59:59.75
// Parallel Linq版を作ってみた。
using System; 
using System.Linq; 
using System.Diagnostics;
using System.Numerics;
class Program {
  public static BigInteger calc(BigInteger n) {
    for (int cnt = 0; n > 1 && (cnt < int.MaxValue); cnt++) n = collatz(n);
    return n; 
  }
  public static BigInteger collatz(BigInteger n) { 
    return (n.IsEven) ? n / 2 : n * 3 + 1;
  }
  static void Main(string[] args) {
   var sw = Stopwatch.StartNew();
   var rs = Enumerable.Range(1, 1000000).AsParallel().Select(i => new { N = i, V = calc(i) });
   rs.ForAll(r => { if (r.V != 1) Console.WriteLine(r); });
   sw.Stop();
   Console.WriteLine(sw.Elapsed);
  }
}


423 :デフォルトの名無しさん:2011/05/15(日) 11:13:57.90
小改造、あとはこっちに
http://ideone.com/ozhAm


424 :デフォルトの名無しさん:2011/05/15(日) 12:15:52.51
見事にのせられたね

425 :デフォルトの名無しさん:2011/05/15(日) 12:27:50.22
NとかVとかoとかo.Vとかrとかサッパリ解らん。ちんぷんかんぷん。
これ本当にC#なのか?おじさん、もうついていけないわ・・・

426 :デフォルトの名無しさん:2011/05/15(日) 14:16:32.12
変数名が不思議な名前なのは、もととなる業務分野や数学の慣例でしょ。
例えば.NET FrameworkでもRSA暗号のRSAParameterとかはPとかDQという
変数名になってる。

427 :デフォルトの名無しさん:2011/05/15(日) 14:23:48.76
特に意味のない数値計算なんだから変数に具体的な名前を付けようがないし
論文や専門書に載ってる数式やアルゴリズムを実装するときは
抽象的な表記のまま実装してしまいたくなる気持ちはわかる

428 :デフォルトの名無しさん:2011/05/15(日) 14:36:09.10
下手に名前変えたら対応がわかんなくなることもあるし

429 :デフォルトの名無しさん:2011/05/15(日) 14:39:51.68
おいおい
何のためのドキュメントコメントだよ

430 :デフォルトの名無しさん:2011/05/15(日) 14:42:10.65
ややこしい数式やアルゴリズムなんてどうせそれ見ただけじゃわかんないんだから
目的だけドキュメントコメントに書いといて
細かいアルゴリズムについては変数名とかどうでもいいから引用元への参照で済ませるのが一番わかりやすい

431 :デフォルトの名無しさん:2011/05/15(日) 14:52:53.14
難読化のために不思議な名前を使う変人もいた。
数量にMoneyとか、金額にAngleとか。。。
そいつ本人だけが満足そうにニタニタと自慢気な雰囲気だったっけw
他の開発メンバーカワイソス

432 :デフォルトの名無しさん:2011/05/15(日) 14:59:14.17
ワラタ
難読化に興味あるような奴のコードはたいてい既に難読なのになw

433 :デフォルトの名無しさん:2011/05/15(日) 16:14:14.02
>Enumerable.Range(1, 1000000).AsParallel()
> .Select(i => new { N = i, V = Collatz(i) }).Where(o => o.V != 1)
>  .ForAll(r => Console.WriteLine(r));

変数名以前にLINQの書き方に馴染めない人もいるだろうな。
N V はNumber Valueと内容の分かる名称にしたほうがいいかもしれないが、
他の i o r は直前のSelectやWhereの結果としか言いようが無いしなぁ。
それから関数型言語っぽく _ 使うのは好きじゃない。

>Enumerable.Range(1, 1000000).AsParallel()
>  .Select(_ => new { N = _, V = Collatz(_) }).Where(_ => _.V != 1)
>  .ForAll(_ => Console.WriteLine(_));


434 :デフォルトの名無しさん:2011/05/15(日) 17:01:48.72
さすがにこの場合に_は使わんと思うが
i,o,r,N,Vとか意味無さ過ぎw

435 :デフォルトの名無しさん:2011/05/15(日) 20:29:38.76
CやC#が解らないというよりも、ラムダやLINQがお手上げなんだな。
上長とか絶対にこんなコード脊髄反射で拒絶するんだろうな。

436 :デフォルトの名無しさん:2011/05/15(日) 20:32:37.39
難読化ってリリース前にツール使ってやるものだと思ってたけど、
開発中に自分でやっちゃう人がいるって知って勉強になりました
難読化なんてしたことないけど

437 :デフォルトの名無しさん:2011/05/15(日) 20:45:07.32
C#は、言語としてはかなり醜い部類。

438 :デフォルトの名無しさん:2011/05/15(日) 20:51:28.12
今やってる案件の規約でラムダ式禁止されてたから、匿名メソッド使っといた

439 :デフォルトの名無しさん:2011/05/15(日) 20:59:54.20
>>423 のコードは特に文句付けるところはないなあ
これがよく分からないという人はさすがに勉強が足りないだけだと思う

440 :デフォルトの名無しさん:2011/05/15(日) 21:04:00.02
うちのプロジェクトではCLSやLinqが要求してるところでは使わせてる。
拡張メソッドやラムダ式を要求する高階関数を作るのは禁止している。


441 :デフォルトの名無しさん:2011/05/15(日) 21:07:48.03
なんで?

442 :デフォルトの名無しさん:2011/05/15(日) 21:25:30.54
LINQは定義と利用を分けて書くのが俺のジャスティス

443 :デフォルトの名無しさん:2011/05/15(日) 21:46:12.55
>>441
プログラマーのレベルが一定じゃない故のルール。
実際問題拡張メソッドはLinqの拡張をしない限り作る必要はほとんど無いからね。
ほとんどの場合クラスの設計を見直したほうがいい。
高階関数は個人的にはいいと思うけど、同じ理由で一応禁止。

問題は上の理由で禁止と言う通達が、
いつの間にかLinqや拡張メソッドを使うこと自体が禁止というルールにすり替わって、
理由も知らないまま盲目にしたがっている現場もあるんだよね。
元受がそういうルールを押し付けてくることもある。

444 :デフォルトの名無しさん:2011/05/15(日) 22:10:11.05
ウチはvar以外特に制限ないな

445 :デフォルトの名無しさん:2011/05/15(日) 22:12:34.23
varみたいな分かりやすいのだけ禁止って、きめた人がlinqとか
ラムダとか見たことないだけなんじゃね。

446 :デフォルトの名無しさん:2011/05/15(日) 22:20:10.10
前回のプロジェクトだと事実上のリーダーだったのでやりたい放題だった
varとラムダ式と列挙体に対する拡張メソッドぐらい
あと.NET 4使えたのでCancellationTokenとかBlockingCollectionとか

そうやってたらプロジェクトメンバーが書いたコードに少しだけ拡張メソッド乱用の形跡が
少しだったから見逃したけど

447 :デフォルトの名無しさん:2011/05/15(日) 23:13:31.60
Whereをif文のようにSelectをセミコロンのように使ってるlinqは稀に良く見る

448 :デフォルトの名無しさん:2011/05/15(日) 23:20:13.69
駄目駄目と
 言ってるだけだと駄目になる
  多少は目を瞑って 芽を伸ばそう。
字余り

449 :デフォルトの名無しさん:2011/05/15(日) 23:23:46.91
ポエマーってこんなスレにもいるんだな。


450 :デフォルトの名無しさん:2011/05/15(日) 23:25:34.72
ののしりて 腐る若木の 耐え難く この手において 英気与えん

って感じか。難しいな。

451 :デフォルトの名無しさん:2011/05/15(日) 23:30:23.27
もう低能を晒すのは止めよう

452 :デフォルトの名無しさん:2011/05/15(日) 23:42:41.77
>>450ごめんよ。薄給なんで、この呑み代はワリカンなんだ。

453 :デフォルトの名無しさん:2011/05/15(日) 23:59:55.94
いやー、そんなつもりではないんだけども。

どうもねー、人がやってると真似したくなる性質なものでねぇ。
いつもこれやって引かれるのよねぇ。。。Orz

454 :デフォルトの名無しさん:2011/05/16(月) 00:03:54.05
>>423 のコードは特に文句付けるところはないなあ
これがよく分からないという人はさすがに勉強が足りないだけだと思う

455 :デフォルトの名無しさん:2011/05/16(月) 00:17:47.32
乞食は死ね

456 :デフォルトの名無しさん:2011/05/16(月) 00:25:08.23
主語と述語しか無いので減点

457 :デフォルトの名無しさん:2011/05/16(月) 03:56:53.34
イナイ イナイ var

458 :デフォルトの名無しさん:2011/05/16(月) 06:44:30.44
ふうか → ことちゃん → ゆうな

459 :デフォルトの名無しさん:2011/05/18(水) 17:13:00.96
LINQいいよね〜

460 :デフォルトの名無しさん:2011/05/19(木) 20:08:56.38
static class Hoge { public static void Func(this A a); }
static class Foo { public static void Func(this A a); }

A a = new A();
a.Func();

ちょっと疑問に思ったのですが、あるクラスAに対して上のように拡張メソッドが重複した場合
呼び分ける構文はあるのですか?

461 :デフォルトの名無しさん:2011/05/19(木) 20:10:33.90
Hoge.Func(a);

462 :デフォルトの名無しさん:2011/05/19(木) 23:16:37.63
SqlDataReader reader = scm.ExecuteReader();
if (reader.Read()) {
int? columnA = (int) (reader["COLUMN_A"] ?? null); //COLUMN_Aはint
string columnB = (string)(reader["COLUMN_B"] ?? null); //COLUMN_Bはvarchar
}
intは落ちないのに、
(string)(reader["COLUMN_B"] ?? null)ここでなんで落ちるんですか?


463 :462:2011/05/19(木) 23:25:34.13
ごめん
やっぱり落ちたわw

464 :デフォルトの名無しさん:2011/05/19(木) 23:41:33.71
DBNullにnull合体演算子は利かんでしょ

465 :デフォルトの名無しさん:2011/05/20(金) 14:57:14.52
同一内容の文字列であるStringのインスタンス二つを==で比較したとき、falseを返すようにしたいのですが
どうすればよいのでしょうか?
Javaではnew String("hoge")とする事で明示的に別の実体を作ることが出来たのですが
C#で以下のようにしてもうまく行きませんでした。

string s = "hoge";
String str = new String(s.ToCharArray());
String str2 = new String(s.ToCharArray());

Console.WriteLine((str == str2).ToString()); // -> TRUEでした

466 :デフォルトの名無しさん:2011/05/20(金) 14:59:10.98
Cloneってなかったっけ?

467 :◆oDupeixhZv52 :2011/05/20(金) 15:05:47.95
str==str2を false?
それとも (object)str == (object)str2 ?

468 :デフォルトの名無しさん:2011/05/20(金) 15:06:47.09
Console.WriteLine(((Object)tes == (Object)tes2).ToString());
としたらfalseを返してくれるようになりました。
Stringを使ったときの == はオーバーライドされていて参照の比較ではなく値の比較をするようになっていました。
参照の比較をしたいときはObject型にキャストすれば良いとのことでした。

http://msdn.microsoft.com/ja-jp/library/362314fe%28v=vs.80%29.aspx

469 :デフォルトの名無しさん:2011/05/20(金) 15:07:00.71
>>467
コピーを作りたいってだけでしょ

470 :デフォルトの名無しさん:2011/05/20(金) 15:11:11.82
===で比較しちゃいかんの?

471 :デフォルトの名無しさん:2011/05/20(金) 15:13:47.36
>>467
レスありがとうございます。
型によって演算子の意味が異なることがあるのですね。

472 :デフォルトの名無しさん:2011/05/20(金) 15:41:21.05
javaは==でポインタの比較になるんだったっけか

473 :デフォルトの名無しさん:2011/05/20(金) 15:55:09.13
javaでは文字列の比較に==を使っちゃいかんとかあったな

474 :デフォルトの名無しさん:2011/05/20(金) 16:18:27.79
Javaでは演算子のオーバーロードやオーバーライドは言語仕様で決めてるもの以外、無いからね

475 :デフォルトの名無しさん:2011/05/20(金) 16:20:28.41
equals かなんか同じようなやつだったね

476 :◆oDupeixhZv52 :2011/05/20(金) 16:47:55.62
>>471
javaでも、数値の比較は中身でしょ?

477 :デフォルトの名無しさん:2011/05/20(金) 16:52:13.92
Javaでは数値にもプリミティブ型と参照型があり参照型の数値は==禁止

478 :デフォルトの名無しさん:2011/05/20(金) 17:03:03.59
Javaだと参照型の==は同じ参照かどうかの比較。
intern済みのString型同士とかenum同士とか限られた条件下では
==が同値かどうかの比較に使える。

479 :デフォルトの名無しさん:2011/05/20(金) 17:44:06.75
javaのプリミティブ型における == は中身を比較していると言えるの?
参照している実体が同じなのでは。

480 :デフォルトの名無しさん:2011/05/20(金) 17:52:57.63
プリミティブ型に参照の概念がない
使ったことない奴は黙ってた方がいいぜ

481 :デフォルトの名無しさん:2011/05/20(金) 18:21:48.40
言葉の選び方がまずかったです。
実装上、3.14というプリミティブintがあったとしてメモリ上のどこかに3.14が配置され
以降int a = 3.14; int b = 3.14;としたときaとbが同じメモリ番地を指す(参照する)のなら、
a == bは参照を比較しているとも言えるのではと思いました。
aとbが異なるメモリ番地を指していて、その中身を評価した上で比較しているなら中身を比較していると言う事になりますが。
スレチ気味にて失礼。

482 :デフォルトの名無しさん:2011/05/20(金) 19:26:09.05
int型のaとbが同じアドレス指すようなアホ言語この世に存在するのか?

483 :デフォルトの名無しさん:2011/05/20(金) 19:32:25.35
==がデフォでは参照の比較になってるのがそもそも糞仕様。
これに関してはVB方式の方がいいな。

484 :デフォルトの名無しさん:2011/05/20(金) 19:38:17.67
>参照型のセマンティクスが、その型がなんらかの値を表しているという事実に基づいている場合には、この参照型の Equals のオーバーライドを検討してください。

なんて書いてあるから99%無駄だと思われてんだろうな

485 :デフォルトの名無しさん:2011/05/20(金) 19:46:46.83
個人的にはアドレスの比較はなくしてほしくないな。
比較対象が自分自身かを知るときに使ったりするから。

486 :デフォルトの名無しさん:2011/05/20(金) 22:02:12.23
==のオーバーライトはstringとかの不変クラス専用だろ。

487 :デフォルトの名無しさん:2011/05/20(金) 22:11:07.25
オーバー「ロード」じゃなかったっけ。
==を定義してもよいかどうかとimmutableかどうかは、普通に考えれば無関係だと思うが....
C#erの一部は、なんか無理にEqualsと別の意味を与えなきゃいけないとか思ってるみたいだな。

488 :デフォルトの名無しさん:2011/05/20(金) 22:33:16.47
オーバーロードとオーバーライド、両方有るけど別物、この場合はオーバーライドな。
最近引数省略できるからオーバーロードあんまり使う機会無いけど

489 :デフォルトの名無しさん:2011/05/20(金) 22:40:46.45
後半の不変クラスとの関係はMSDNガイドラインに記述がある。
http://msdn.microsoft.com/ja-jp/library/ms173147%28v=vs.80%29.aspx
の「演算子 == のオーバーライド」のところ。

オーバーライドとオーバーロードは・・・ガイドラインでも混ざってるような・・・

490 :デフォルトの名無しさん:2011/05/20(金) 22:47:30.84
immutableでないと、あるときa==bであってかつその後aとbを何も操作してなくても
a==bを保証できないから....っていう例の理屈だろうけど、正直そんな理屈に意味があるのかと思う

491 :デフォルトの名無しさん:2011/05/20(金) 23:10:30.54
なるほど。要約するとJavaは糞ってことか。

492 :デフォルトの名無しさん:2011/05/20(金) 23:14:50.55
Java使う人の感覚を意識したんだろ
多くの人は参照型の==はずっと変わらないことを期待する

493 :デフォルトの名無しさん:2011/05/20(金) 23:20:32.76
immutableでないと継承されて意味のあるフィールドを付け足された時に面倒なことに

494 :デフォルトの名無しさん:2011/05/20(金) 23:24:22.63
継承禁止にするかどうかは別の問題だ
Equalsの場合でも、ID比較とかならいいけど全フィールド比較ならsealedは必須
sealedにしないと
>(x.Equals(y) && y.Equals(z)) が true を返す場合、x.Equals(z) も true を返します。
に自動的に反することになる

495 :デフォルトの名無しさん:2011/05/21(土) 01:05:46.18
今あるルール・規則へ新たに上位規定を被せるのがオーバーライド

496 :デフォルトの名無しさん:2011/05/21(土) 01:16:50.41
サブクラス側を上位規定と表現するのは違和感ある

497 :デフォルトの名無しさん:2011/05/21(土) 01:34:33.75
>>490
テーブルのキーにするときとかに困るって話だったと思う。

498 :デフォルトの名無しさん:2011/05/21(土) 03:09:19.16
どうすればアンダーライドできますか?

499 :デフォルトの名無しさん:2011/05/21(土) 03:14:03.37
http://img04.carview.co.jp/carlife/images/UserDiary/5916358/p1.jpg

500 :デフォルトの名無しさん:2011/05/21(土) 03:18:31.58
「エッチは1日1時間!」

501 :デフォルトの名無しさん:2011/05/21(土) 06:16:02.41
アホなのはいけないと思います

502 :デフォルトの名無しさん:2011/05/21(土) 06:34:54.81
>>494
どういう意味?
zが継承されてたらってこと?

503 :デフォルトの名無しさん:2011/05/21(土) 08:08:56.25
Java使いは馬鹿ってのがよく分かるな。

504 :デフォルトの名無しさん:2011/05/21(土) 09:10:47.63
http://www.atmarkit.co.jp/fdotnet/extremecs/extremecs_22/extremecs_22_02.html
こちらのページの真ん中あたりの「よくある質問」に書かれている
商品に関するプログラムを筆者の言う「ステート集約プログラミング」で作ってみたいのですが
静的クラスでどうやって複数の商品の名前と価格を関連付ければいいのかが分かりません
商品名と価格を持つ商品情報オブジェクトがなくても実現できるような書き方がされてるので
方法があるはずなんですが・・・

505 :デフォルトの名無しさん:2011/05/21(土) 09:21:10.10
そんな俺流アーキテクチャなんか知るか
川俣に電話して聞け

506 :デフォルトの名無しさん:2011/05/21(土) 10:11:45.27
>>503
派生クラスでEqualsがオーバーライドされたら違反だけど
そういう場合はオーバーライドや継承を禁止してない方が悪いというのがMSポリシー
Javaのequalsも仕様は同じだから継承は制限するべきだけどあんまり守られてないな

507 :デフォルトの名無しさん:2011/05/21(土) 13:31:15.68
偏差値低い学校は校則がうるさい

そういうことだ

508 :デフォルトの名無しさん:2011/05/21(土) 14:06:02.02
偏差値低い学校出身の人ってみんなそう言うよね

509 :デフォルトの名無しさん:2011/05/21(土) 16:38:45.49
オーバーライドされることを想定してなくてオーバーライドされたら
既存のクラスが壊れるけどオーバーライドが禁止されてないメソッドなんて
Javaワールドに存在するメソッドの大部分が該当するよ

510 :デフォルトの名無しさん:2011/05/21(土) 16:39:46.51
スレチ

511 :デフォルトの名無しさん:2011/05/21(土) 16:50:17.11
たしかにC++使いはエリート気取りが多い

512 :デフォルトの名無しさん:2011/05/21(土) 16:51:45.76
よくわからんが、電子レンジにネコ入れて死んだら、
禁止してない方が悪いと言われた気分だ。

513 :デフォルトの名無しさん:2011/05/21(土) 16:59:29.45
そもそもネコが死ぬ時点で設計が悪い

514 :デフォルトの名無しさん:2011/05/21(土) 17:01:43.70
レンジを開けるまではネコは死んでいない

515 :デフォルトの名無しさん:2011/05/21(土) 17:02:54.77
>>514
外から見えるだろ

516 :デフォルトの名無しさん:2011/05/21(土) 17:45:34.71
つまり電子レンジクラスのメンバがpublicなのがいけない

517 :デフォルトの名無しさん:2011/05/21(土) 17:52:45.75
>>515
うちのレンジは窓汚いから外から見えないかもしれん。

518 :デフォルトの名無しさん:2011/05/21(土) 18:59:56.52
レンジを開けるまでは(=o=)の生死はわからない

519 :デフォルトの名無しさん:2011/05/21(土) 19:06:12.49
>>518
だから外から見えるんだって

520 :デフォルトの名無しさん:2011/05/21(土) 19:08:12.13
>>519
それは液晶パネルがついててCG表示されてるかもしれないぞ

521 :デフォルトの名無しさん:2011/05/21(土) 19:08:25.89
電子レンジの派生クラスがPropertyChangedを発生させていないかもしれない

522 :デフォルトの名無しさん:2011/05/21(土) 21:41:23.12
焼かれて死ぬ猫の不具合

523 :デフォルトの名無しさん:2011/05/21(土) 22:17:41.93
猫を殺そうと思ってレンジに入れてるのに、死ななかったら裁判沙汰だろ

524 :デフォルトの名無しさん:2011/05/21(土) 22:20:28.01
シュレーディンガーのなんちゃら。

525 :デフォルトの名無しさん:2011/05/21(土) 22:22:44.43
えーとここは何スレだったっけ?

526 :デフォルトの名無しさん:2011/05/21(土) 22:24:16.02
http://www.youtube.com/watch?v=QMH8Tof69SE

527 :デフォルトの名無しさん:2011/05/21(土) 22:34:49.80
>>524
皆それだけは言わないようにしてたのに

528 :デフォルトの名無しさん:2011/05/22(日) 02:45:19.80
猫を電子レンジに入れてはいけないという注意を怠ったとして訴えられたメーカーは
猫を電子レンジに入れてはいけないという注意を怠ったとしてペットメーカーを訴え、そのペットメーカーは

529 :デフォルトの名無しさん:2011/05/22(日) 10:06:48.24
アメリカ人は優秀なのにお互いで争って力を相殺するの大好きだよなwww
だから原爆落としてやった属州にちょくちょく負けるんだよwww

530 :デフォルトの名無しさん:2011/05/22(日) 11:05:57.70
恥もなく無教養を武器にする米国の訴訟社会w

531 :デフォルトの名無しさん:2011/05/22(日) 11:40:49.75
-10< x < 10で小数点以下の桁数が3桁のfloatの値(例: 1.234f, -3.142f)の配列の合計を求めるメソッドを
次のように書いたとする。

double GetSum(float[] vals)
{
  double sum = 0;
  Array.ForEach(vals, (float x) => { sum += x;});
  const int digits = 3;
  return Math.Round(sum, digits);
}

このメソッドが返す値が誤差を含まないことを保証できる配列の要素数の上限って
だいたいどのぐらいだと考えられる?

あるいは、要素数10,000,000個の配列を渡したとき、返り値は誤差を含まないと保証できる?

532 :デフォルトの名無しさん:2011/05/22(日) 11:49:36.36
浮動小数点の問題についてググったらそんなこと聞こうとも思わなくなるはず
最悪2つの少数を減算しただけで誤差るよ

533 :デフォルトの名無しさん:2011/05/22(日) 11:50:00.17
1000倍して整数でやったら?

534 :デフォルトの名無しさん:2011/05/22(日) 11:53:28.11
せっかくCLR利用できる環境なんだからdecimal使えばいいんでないの?
floatじゃなきゃ嫌?
なら基数に5が入ってる10進数で誤差が出る事は諦めてくれ

535 :デフォルトの名無しさん:2011/05/22(日) 11:56:32.67
>>532
浮動小数点の演算一般の問題の話はしてないよ。
かなり特殊な限定条件が付いてる場合の話。

536 :デフォルトの名無しさん:2011/05/22(日) 11:59:17.37
>>535
基本情報でも受けて来いボケ

537 :デフォルトの名無しさん:2011/05/22(日) 12:00:40.06
誤差の意味の理解が根本から間違ってる

538 :デフォルトの名無しさん:2011/05/22(日) 12:00:41.26
>>534
事情があってfloatを使う前提を変えるわけにはいかない。

演算の課程で誤差が生じるかどうかは聞いていない。
問題にしているのは、最終的にある桁数(この場合は3桁)で丸めを行った後に
その値が真値と比較して誤差を含むかどうか。

539 :デフォルトの名無しさん:2011/05/22(日) 12:00:44.94
考えるのが面倒くさいからdecimalで行け

540 :デフォルトの名無しさん:2011/05/22(日) 12:02:26.88
課程で誤差が出ても結果は必ず誤差無しってのはなかなか難しい注文だな

541 :デフォルトの名無しさん:2011/05/22(日) 12:02:31.38
そもそも、引数で渡すfloatがほとんど近似値なわけだしな。

542 :デフォルトの名無しさん:2011/05/22(日) 12:03:05.71
要するに合計後の x.xxxyyyyy…(yが誤差部分) を丸めて下3桁の部分に影響するかってことね
しらねえよ

543 :デフォルトの名無しさん:2011/05/22(日) 12:04:49.10
10,000,000なら情報落ちはしないんじゃないの

544 :デフォルトの名無しさん:2011/05/22(日) 12:06:00.92
正確な答えが必要ならばfloatとdoubleを避ける

545 :デフォルトの名無しさん:2011/05/22(日) 12:14:55.80
decimalで計算して結果をfloatに丸めれば済む話じゃね?

546 :デフォルトの名無しさん:2011/05/22(日) 12:27:09.12
申し訳ないが事情があってfloatを使わざるを得ないのでdecimalはNG

547 :デフォルトの名無しさん:2011/05/22(日) 12:31:31.18
もう勝手にしろよ

548 :デフォルトの名無しさん:2011/05/22(日) 12:32:00.70
こんなスレにまでホモが…

549 :デフォルトの名無しさん:2011/05/22(日) 12:48:19.95
>>531
足すまでもなく、0.100f の時点ですでに誤差含んでるんだけども。

550 :デフォルトの名無しさん:2011/05/22(日) 13:03:02.47
こんな質問が出るのもC#ならではw

551 :デフォルトの名無しさん:2011/05/22(日) 13:04:32.93
この手の質問が多いのは圧倒的にCとJava

552 :デフォルトの名無しさん:2011/05/22(日) 13:12:02.25
要素数が10桁くらいまでだったら大丈夫じゃね
でも>>531見る限りは内部的にlongで計算すればいいだけの気が

553 :デフォルトの名無しさん:2011/05/22(日) 13:22:50.02
>>522
直感的には俺も上限はその程度だと思うんだけど、理屈が知りたいんだよね。

しかし、実数演算の問題を何も分かってない連中に偉そうなことほざかれると
見てて腹が立つな。俺は2chには向いてないな。

問題をざっくり別の言い方で言えば、sumの値の誤差が±0.0005の範囲を
超えない条件を聞いているのと同じことだが、馬鹿なこと言ってる連中は
その程度のこともわかってないだろ。

554 :デフォルトの名無しさん:2011/05/22(日) 13:23:35.68
Doubleの有効桁数が15桁だから、それ以下なら大丈夫じゃないの?
最大の合計値100,000,000.000は12桁

555 :デフォルトの名無しさん:2011/05/22(日) 13:38:20.91
理屈が知りたいなら仕様書読めよ

こんな所で聞いて返ってきた答えに頷けるお前の頭の方がめでたいわ

556 :デフォルトの名無しさん:2011/05/22(日) 13:53:24.50
そこまで込み入ってる訳じゃなく、
ちょっと安心したいだけなんだよ。

一つ同意が欲しいかなって感じのね。

557 :デフォルトの名無しさん:2011/05/22(日) 13:54:21.97
2^31要素入るなら事実上は全く問題ないじゃん
心配なら1万要素くらいごとに分けて足してからあとで合計したら

558 :デフォルトの名無しさん:2011/05/22(日) 13:54:57.96
誤差って±で相殺するからなぁ。
ワーストケースで考えて >>554 なんだったら、
ひょっとすると、ほとんどのケースでは誤差とか気にする必要性皆無なのでは。

559 :デフォルトの名無しさん:2011/05/22(日) 14:05:02.34
参照型配列のソートについて教えてください。

public class meibo {
public int id {get; set;}
public string name {get; set;}
public int age {get; set;}
}

meibo [] _meibo = new meibo[100};

meibo.ageで降順ソートしたいのですが、自分で実装する以外で
簡単にソート出来る方法はないでしょうか?

560 :デフォルトの名無しさん:2011/05/22(日) 14:09:30.33
Array.Sort(_meibo, (x,y)=>x.age-y.age);

なんて書けないっけ?
うろおぼえ

561 :デフォルトの名無しさん:2011/05/22(日) 14:12:07.92
書ける。

だが降順だから(x,y)=>y.age-x.ageじゃね。

562 :559:2011/05/22(日) 14:13:19.80
>>560-561
ありがとうざいます。試してみます。

チュッチュ

563 :デフォルトの名無しさん:2011/05/22(日) 14:14:23.20
_meibo = (from x in _meibo orderby x.age descending select x).ToArray()
一応こんなのも

564 :デフォルトの名無しさん:2011/05/22(日) 14:14:50.57
ゲロゲロ

565 :デフォルトの名無しさん:2011/05/22(日) 14:20:22.10
ちょっと疑問に思って調べたらstableなソートが見当たらないんだが
用意されてないってことはないよな…

566 :デフォルトの名無しさん:2011/05/22(日) 14:21:45.65
あるよ
>>563がそう
List<T>やArrayのソートはクイックソートだから不安定ソート

567 :559:2011/05/22(日) 14:26:25.85
>>560,561,563
ありがとうございます。563さんの方法で実装できました。

Array.Sort(_meibo, (x,y)=>x.age-y.age);で実装するとコンパイルエラーがでます。C#理解してないのでさーぱり。

エラー 1 ラムダ式 はデリゲート型ではないため、型 'System.Collections.Generic.IComparer<名簿.Form1.meibo>' に変換できません。

568 :デフォルトの名無しさん:2011/05/22(日) 14:34:35.14
Array.Sort(_meibo, new Comparison<meibo>((x, y) => y.age - x.age));

569 :デフォルトの名無しさん:2011/05/22(日) 14:36:53.99
普通に動くような?
http://ideone.com/xp1gg

570 :デフォルトの名無しさん:2011/05/22(日) 14:41:21.98
ageが実はintじゃなかったとか

そういえば破壊的安定ソートがないなぁ

571 :デフォルトの名無しさん:2011/05/22(日) 14:42:19.63
どっかでラムダの暗黙変換って仕様変わったっけ

var procs = Process.GetProcesses();
Array.Sort(procs, (x,y)=>x.ProcessName.CompareTo(y.ProcessName));

572 :559:2011/05/22(日) 14:53:53.89
>>568-570
568さんの方法でも実装できました。 チュッチュ

569さん、570さん 実際のソースではdouble項目でした。 勉強になります。。。Orz
intなら、(x,y)=>y.age-x.ageでもいけるのかー。 

573 :デフォルトの名無しさん:2011/05/22(日) 15:07:22.97
PanelコントロールのAutoScrollプロパティをtrueにしてスクロールバーを表示しています。

必要になったときPanelの下に横スクロールバーが表示されますが、
これを上に表示させることはできないでしょうか。

574 :デフォルトの名無しさん:2011/05/22(日) 15:17:40.08
AutoScrollじゃ無理のはず

575 :573:2011/05/22(日) 15:20:01.56
ScrollBarRenderer で自分で描画するしかないでしょうか。。。

576 :デフォルトの名無しさん:2011/05/22(日) 15:23:24.95
usercontrol作って上にぽとぺたしたら?

577 :デフォルトの名無しさん:2011/05/22(日) 15:25:52.07
いきなりRendererまで飛ぶの?
H/VScrollBarでなんとかならない?

578 :573:2011/05/22(日) 15:26:59.41
その方法でやってみます。
コントロールが追加されたときとリサイズされたときに、
ScrollBar.MaximumSize を Panel.Widthにすることにします。
ありがとうございました。

579 :デフォルトの名無しさん:2011/05/22(日) 15:27:51.76
MaximumSizeではなくMaximumでした。。。

580 :デフォルトの名無しさん:2011/05/22(日) 15:35:34.29
>>573
CreateWindow

581 :デフォルトの名無しさん:2011/05/22(日) 15:37:24.72
WPFやSilverlightならスタイル書き換えるだけで済むね

582 :デフォルトの名無しさん:2011/05/22(日) 22:42:44.55
だからWPFは人気がないのか。

583 :デフォルトの名無しさん:2011/05/22(日) 23:20:25.70
フォーム以外のコントロールでオーバライドを利用するにはユーザコントロールを作るしかない?

584 :デフォルトの名無しさん:2011/05/22(日) 23:23:08.50
カスタムコントロールだろ

585 :デフォルトの名無しさん:2011/05/22(日) 23:43:57.84
継承つかわずにメソッドをオーバーライドできますかという愚問と同じだねそれは

586 :デフォルトの名無しさん:2011/05/23(月) 00:44:22.82
スクリプト言語ならできるの多いよ

587 :デフォルトの名無しさん:2011/05/23(月) 01:12:25.09
じゃあスクリプト言語をお使い下さい
ふくよかなお方

588 :デフォルトの名無しさん:2011/05/23(月) 09:47:20.81
webbrowserコントロールに表示したhtml上のラジオボタンのクリックイベントって取得できない?

589 :デフォルトの名無しさん:2011/05/23(月) 10:10:55.49
htmlelement のイベントつかえばいんじゃない?

590 :デフォルトの名無しさん:2011/05/23(月) 10:13:17.15
APIフックしてDLLインジェクション

591 :デフォルトの名無しさん:2011/05/23(月) 10:26:14.71
>>589

htmlelement.clickとか?

でも具体的にどう使うのかがわからない。

フォーム起動して、あるボタンを押すとwebbrowserにhtmlを流し込むんだけど、
HtmlElement.clickをどこに書けばいいの?


592 :デフォルトの名無しさん:2011/05/23(月) 10:30:51.11
>>591
HtmlElementというかhtmldocumentが作られないとないので
Navigatedイベントの後htmlelement.clickなどを設定すればいいし
ボタンに名前がつけれるんだっけ?
可能ならElementを列挙してそいつに直接イベント仕込めるかも


593 :591:2011/05/23(月) 10:42:48.15
>>592
webbrowser.Navigatedイベントって、htmlで表示したラジオボタンの変更が取得できないんだけど、
Nabigatedイベントでhtmlelement.clickしても意味あるの?

  
  


594 :デフォルトの名無しさん:2011/05/23(月) 10:45:08.27
>>593
公開できる範囲でいいのでソースくれ
検証してみる

595 :589:2011/05/23(月) 11:14:36.38
webbrowserでページ読み込んだらhtmldocument 引けるようになるっしょ
そこからコントロールのリストとれるはずだから
目的のラジオボタン(HtmlElement)ひっぱって
ラジオボタン.click += new 〜
でいけんじゃない?

ちょっと前までwebbrowser使ったツール作ってたんだけどもううろ覚えだわw

596 :591:2011/05/23(月) 11:14:25.46
>>594
処理の流れでもいいですか?

StringBuilder sbに次レスのhtmlを動的に生成して挿入。

webBrowser1.DocumentText = sb.ToString();

で表示。ここまでは、メインフォーム起動時にやってる。
ラジオボタンを選択する度に、選択しているラジオボタンのvalueの値を
textboxへ表示したい。

597 :デフォルトの名無しさん:2011/05/23(月) 11:21:40.10
WebBrowserってCSSでユーザーもカスタマイズできるから何気に優秀だよな
WPFも似たようなものなの?

598 :591:2011/05/23(月) 11:21:17.51
<table width=100% border="1" cellspacing="1" cellpadding="4">
<tr>
<td><input type="radio" name="radio" value="12345"></td>
<td>12345</td>
</tr>
<tr>
<td><input type="radio" name="radio" value="123456"></td>
<td>123456</td>
</tr></table>


599 :デフォルトの名無しさん:2011/05/23(月) 11:25:38.94
>>597
WPFってhtml+CSS+Jsの仕組みまねしたようなものジャン

html+CSS->XAML
C#->JS

こんな感じ

600 :デフォルトの名無しさん:2011/05/23(月) 11:26:10.96
まちがえた
>C#->JS
Js->C#

601 :デフォルトの名無しさん:2011/05/23(月) 11:26:49.09
>>597
WpfのWebbrowserは、Documentの中身がObjectです
そのままじゃ全然使えないよ

602 :591:2011/05/23(月) 11:29:35.19
>>595
おかしなことを言っていたらごめんなさい。

フォーム上のボタンを押したときに、webbrowser上のラジオボタンの
チェックがついているものを取得してってならボタンを押したときの
イベント内で処理すると思うのですが、
「htmlDocumentを作成する」、
という処理をどのタイミングで行うのかがわかりません。

603 :デフォルトの名無しさん:2011/05/23(月) 11:37:24.17
>>599,600
ありがとう、じゃあそろそろWPF覚えようかな

604 :デフォルトの名無しさん:2011/05/23(月) 11:47:37.39
>>602
htmlDocumentを作成する
>>596
webBrowser1.DocumentText = sb.ToString();
この後webBrowserが作るんだよ
それが完了したらNabigatedイベントが起きる


605 :デフォルトの名無しさん:2011/05/23(月) 11:58:27.78
public partial class Form1 : Form
{
string m_szHtml;
HtmlElement he1;
HtmlElement he2;
public Form1( )
{
InitializeComponent( );
}

private void Form1_Load( object sender, EventArgs e )
{
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler( webBrowser1_DocumentCompleted );
m_szHtml = "ここに流し込む文字列";
webBrowser1.DocumentText = m_szHtml;
}


606 :デフォルトの名無しさん:2011/05/23(月) 11:58:43.91
void webBrowser1_DocumentCompleted( object sender, WebBrowserDocumentCompletedEventArgs e )
{
HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName( "input" );
he1 = hec.GetElementsByName( "radio1" )[ 0 ];
he2 = hec.GetElementsByName( "radio2" )[ 0 ];
he1.Click += new HtmlElementEventHandler( he1_Click );
he2.Click += new HtmlElementEventHandler( he2_Click );
}

void he2_Click( object sender, HtmlElementEventArgs e )
{
textBox1.Text = he2.GetAttribute( "value" );
}

void he1_Click( object sender, HtmlElementEventArgs e )
{
textBox1.Text = he1.GetAttribute( "value" );
}


607 :589:2011/05/23(月) 11:59:37.30
聞きたいことの答えになってなかったらスマンねww

608 :デフォルトの名無しさん:2011/05/23(月) 12:01:06.36
>>606
DocumentCompletedイベントってhtmlのヘッダー部分にjsとか指定してると
その数分イベント起きるはず・・・

htmlだけ->1回
html+js1つ->2回

609 :589:2011/05/23(月) 12:01:54.53
コントロールの名前勝手にradio1とradio2に変えちゃったけどよかったかしらw

610 :デフォルトの名無しさん:2011/05/23(月) 12:04:02.47
>>608
ほかにもいろんな条件でごんごん増えるねw


611 :デフォルトの名無しさん:2011/05/23(月) 12:07:06.23
>>610
そうそう
なので上でNabigatedをあえて指定したんだけどな

612 :591:2011/05/23(月) 12:07:50.29
>>604
>>592のnavigatedイベントの後というのがよくわかりません。
navigatedイベントが終わったあとは、待ち?になって、次にどのイベントが発生するかわからなくないですか?





613 :589:2011/05/23(月) 12:10:43.01
>>612
イベントハンドラ内でコントロールのイベントハンドラ登録するのよ

614 :デフォルトの名無しさん:2011/05/23(月) 12:13:25.24
>>612
htmlを解析してjsやcssなどがあればそれも解析して
htmlDocumentというインスタンスを作る

で、個別のドキュメントを解析し終わった際に起きるのがDocumentCompletedイベント
htmlに関連する全部の解析が終わった後起きるのがNabigatedイベント

Nabigatedイベントが発生した後じゃないとradioボタンのインスタンスがある
保証は無い

Nabigatedイベントが発生したときにclickイベントなどを設定する
つまりWinFormでいうところのLoadedイベントで普段コード書いてるようなイメージ

615 :589:2011/05/23(月) 12:18:55.13
上のコードNavigatedに書き変えたやつ
http://www1.axfc.net/uploader/Sc/so/236981.zip
にソリューションごとでおいといたから、
それ見てわからなければもう伝えようがないw

616 :591:2011/05/23(月) 12:33:57.72
>>615
なんとなく分かった気がする。

ただ、
"radio1"、"radio2"ってのはnameのとこの値だよね?
これだと、ラジオボタンが排他にならない気がするけど・・・
ラジオボタンの数が動的に増えるなら、he1、he2とかの変数はどうすればいいんだ・・・?

でもまぁなんとなくイメージはつかめてきたぞ。


617 :589:2011/05/23(月) 12:38:26.22
>>616
がんばれ!色々と!

618 :デフォルトの名無しさん:2011/05/23(月) 12:47:38.30
XNAってC#のことですよね?

619 :デフォルトの名無しさん:2011/05/23(月) 12:51:00.73
なんでそうなる

620 :デフォルトの名無しさん:2011/05/23(月) 12:51:22.59
利用するときにC#で書くのか?という意味ならそうだけどVBで書く方法もあるらしい

621 :デフォルトの名無しさん:2011/05/23(月) 14:33:55.90
Form[] forms = new Form[20];
foreach(Form form in forms){
form.Hide();
}
のform.Hide()をLINQで表現できないでしょうか?


622 :デフォルトの名無しさん:2011/05/23(月) 14:53:22.00
LINQっていうかArray.ForEachってあるやろ

Array.ForEach(forms, (n)=>n.Hide())

623 :デフォルトの名無しさん:2011/05/23(月) 15:11:25.92
>>621
遅延評価じゃないし、返り値もないからLINQに入ってないんじゃないの?
詳しくは知らんけど

624 :デフォルトの名無しさん:2011/05/23(月) 15:15:26.58
queryだからな

625 :デフォルトの名無しさん:2011/05/23(月) 15:54:16.66
美しくないが、null返すSelect()で代用できなくもない

626 :デフォルトの名無しさん:2011/05/23(月) 17:06:17.05
selectの型書くのめんどくさいです

627 :デフォルトの名無しさん:2011/05/23(月) 18:52:15.42
そこはラムダ式で

628 :デフォルトの名無しさん:2011/05/23(月) 19:10:12.88
適当に拡張メソッドでも作れ

629 :デフォルトの名無しさん:2011/05/23(月) 20:22:02.34
>622
こんな方法があるとは知りませんでした.
ありがとうございます.

630 :デフォルトの名無しさん:2011/05/23(月) 20:31:22.48
どうせおいらは.net2.0の男さ

631 :デフォルトの名無しさん:2011/05/23(月) 20:42:15.46

今まで遅延とか気にせずにlinq使っていましたが,遅延評価で不都合が生じることってあるのでしょうか?


632 :デフォルトの名無しさん:2011/05/23(月) 20:44:43.98
なに言っちゃってるんだ

633 :デフォルトの名無しさん:2011/05/23(月) 20:53:25.42
その時点での結果が欲しい時困る

634 :デフォルトの名無しさん:2011/05/23(月) 21:09:14.66
列挙するたびに結果が変わるかも

635 :デフォルトの名無しさん:2011/05/24(火) 02:28:57.77
設定保存クラスライブラリ教えて
VSのは使いづらい

636 :デフォルトの名無しさん:2011/05/24(火) 07:09:10.58 ?2BP(2000)
BinaryFormatter

637 :デフォルトの名無しさん:2011/05/24(火) 08:17:08.75
自分で作れば?
ユーティリティ系の他人のクラスライブラリって結局使いにくかったりするし

638 :デフォルトの名無しさん:2011/05/24(火) 08:20:56.66
リモーティング系は時代遅れ
XmlSerializerかDataContractSerializerにしとけ
後者ならバイナリも吐ける

639 :デフォルトの名無しさん:2011/05/24(火) 08:24:21.77
俺ならTypeConverterでstringにして、できないものだけXmlSerializeする

640 :デフォルトの名無しさん:2011/05/24(火) 08:31:31.94
XMLは糞遅いんだよな

641 :デフォルトの名無しさん:2011/05/24(火) 08:51:08.98
設定の読み書きにスピード求める実装ってなんだよw

642 :デフォルトの名無しさん:2011/05/24(火) 09:31:18.07
起動時に読み込んだら起動遅くなるやん

643 :デフォルトの名無しさん:2011/05/24(火) 09:31:58.52
>>642
遅いっていうかさ・・・

スプラッシュウインドウとかでごまかせよ

644 :デフォルトの名無しさん:2011/05/24(火) 09:33:08.40
起動が遅くなるほど大規模アプリなら設定プログラムも見なおせばいいだけだよね

645 :デフォルトの名無しさん:2011/05/24(火) 09:53:36.69
どんだけ速度に賭けてんだよ

646 :デフォルトの名無しさん:2011/05/24(火) 10:08:06.57
やったことないと分からないだろうけど
小さな設定クラスをデシリアライズする場合でも
XMLとBinaryFormatterでは起動時のレスポンスに差があったんよ
SSD環境とか今は知らないけどさ

つか、速度の問題だすと.netだから仕方ないって態度は負け犬根性だわ

647 :デフォルトの名無しさん:2011/05/24(火) 10:10:41.08
XML関連は最適化ツールなかったっけ?

648 :デフォルトの名無しさん:2011/05/24(火) 10:11:48.28
XMLが遅すぎて失敗したプロジェクトも多いのになに言ってんだ?

649 :デフォルトの名無しさん:2011/05/24(火) 10:13:13.56
多いのは、XMLが遅いんじゃなくて、Javaが遅くて失敗したプロジェクトだろ。

650 :デフォルトの名無しさん:2011/05/24(火) 10:14:39.35
失敗したというのは、WinFSのことだな。

651 :デフォルトの名無しさん:2011/05/24(火) 11:10:37.86
>>646
それ、XML関連のDLL読み込みに時間かかってるだけじゃね?

652 :デフォルトの名無しさん:2011/05/24(火) 12:43:09.97
あるいはcscか…

動作自体はXmlSerializerの方が圧倒的に早い
http://neue.cc/2010/05/29_261.html

いちいちリフレクションでプロパティ読み書きしないから当たり前といえば当たり前

653 :デフォルトの名無しさん:2011/05/24(火) 12:54:18.78
まぁ、ただでさえC#遅いからな。

654 :デフォルトの名無しさん:2011/05/24(火) 14:34:04.13
遅くないもん、はまれば早いもん。

655 :デフォルトの名無しさん:2011/05/24(火) 14:52:28.41
失礼します。現在、フォームで半透明なフォームを作成中なのですが、Opacity値を変更するとフォーム上のコントロール
まで半透明になってしまいます。

HP等では二つのフォームで、一つは半透明に、もう一つはTransparencyKeyを設定したフォームを作成すると
あるのですが、この方法だとどうしても処理が重くなってしまいます。ただ単にコードの書き方が悪いのか、
この方法自体に無理があるのかアドバイスよろしくお願いいたします。下記ソース

public partial class PatientSearcher : Form
{
private Form outerForm;
private Point mousePoint;
public PatientSearcher()
{
InitializeComponent();
InitializeOuterForm();
}
private void InitializeOuterForm()
{
this.SuspendLayout();
outerForm = new Form();
outerForm.Visible = true;
outerForm.Enabled = true;
outerForm.BackColor = Color.Black;
outerForm.Cursor = System.Windows.Forms.Cursors.Hand;
outerForm.Opacity = 0.8F;
outerForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
outerForm.AddOwnedForm(this);
outerForm.StartPosition = FormStartPosition.Manual;
outerForm.MouseDown += PatientSearcher_MouseDown;
outerForm.MouseMove += PatientSearcher_MouseMove;
this.SuspendLayout();
}

656 :デフォルトの名無しさん:2011/05/24(火) 14:53:51.95
続き
private void ReSize()
{
outerForm.Size = this.Size;
}

private void ReMove()
{
outerForm.Location = this.Location;
}

private void PatientSearcher_Load(object sender, EventArgs e)
{
ReSize();
ReMove();
}

private void PatientSearcher_FormClosing(object sender, FormClosingEventArgs e)
{
outerForm.RemoveOwnedForm(this);
outerForm.Close();
}



657 :デフォルトの名無しさん:2011/05/24(火) 14:54:32.35
続き

private void PatientSearcher_MouseDown(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
mousePoint = new Point(e.X, e.Y);
}
}

private void PatientSearcher_MouseMove(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
this.Left += e.X - mousePoint.X;
outerForm.Left += e.X - mousePoint.X;
this.Top += e.Y - mousePoint.Y;
outerForm.Top+=e.Y-mousePoint.Y;
}
}

長くなって申し訳ありませんorz

658 :デフォルトの名無しさん:2011/05/24(火) 15:08:51.52
>>655
長いコードを晒す場合は>>4のコード貼るサイトを利用してね

ちなみに半透明処理は重くなるよ

半透明にしない場合はVRAM上へウインドウを描くだけなんだが
半透明というのはすでにVRAM上に描いてる画像とこれから描く画像の
色をピクセルレベルで計算して合成しないといけない

GPUはこういう処理が一応得意なんだけどやっぱり半透明処理をしない方が
軽いのは事実

659 :655:2011/05/24(火) 15:14:01.87
>>658さん
丁寧なアドバイスありがとうございます。コードというよりは半透明処理自体が
重たいのですね・・・orzリッチクライトを目指していましたが、処理が重いようであれば
再考しないといけませんね;w;

自分で描画するにも大変そうだし、コストに見合わないから趣味程度に調べてみるほうが
よいかもしれないですね。

660 :デフォルトの名無しさん:2011/05/24(火) 15:22:51.63
WinFormの透明処理ってWPFに比べてGPUを使ってなさそうなイメージ

WPF+WinFormって可能だったよね?
それでコード書いたほうがいいかもね

661 :デフォルトの名無しさん:2011/05/24(火) 15:29:35.50
前のスレだか前の前のスレだかで出てたけど
Direct3Dを描画に使ってるからといって何でもかんでもGPUの上で処理してるわけではないべや

GDI+ベースの部分(DIB使ってる部分)は合成も何もかも全部メインメモリの上だよ

662 :655:2011/05/24(火) 15:29:35.95
WPF禁止で使えないのですorz
.net2.0オンリーで作ってくれって言われてるので@w@

レイヤードウィンドウってのを使って自分で描画する方法も
あるらしいですが、なんだか大変そう、、、API呼ばないとだし。。

663 :デフォルトの名無しさん:2011/05/24(火) 15:31:42.68
違ったWPFスレでの話だった

664 :655:2011/05/24(火) 16:55:51.00
上記のコードで試したら、ほぼうまく行っているのですが、
呼び出し側でShowDialog()で呼ぶと移動が出来ない状態に・・・
 
オーナー登録したことが原因かなぁorz

665 :デフォルトの名無しさん:2011/05/24(火) 16:58:34.02
winformで半透明は面倒なんだよね

666 :デフォルトの名無しさん:2011/05/24(火) 19:16:18.97
DirectXってC#でもつかえるんですよね?

667 :デフォルトの名無しさん:2011/05/24(火) 19:17:26.64
できないことはないですが
たぶん貴方が想像しているような使い方ではないと思います

668 :デフォルトの名無しさん:2011/05/24(火) 19:18:17.81
>>666
まあ、一応ね。
http://www.forest.impress.co.jp/docs/news/20090811_308454.html

DirectX を直接使うんじゃなくて、Xna使う方がお勧めだけども。

669 :デフォルトの名無しさん:2011/05/24(火) 19:32:18.75
それは64bit対応してるの?

670 :デフォルトの名無しさん:2011/05/24(火) 19:37:02.82
>>666
どのラッパーを使うかは用途次第
XNAはよくできてるけど、PCで配布しようと思うとXNAのランタイムがいるから面倒なのが玉に疵
ManagedDirexrXは開発中止
主流はSlimDX
C++とかでゲーム慣れしてるならSlimDX、
ゲーム初心者ならXNAおぬぬめ(簡単なフレームワーク入ってる)
DXライブラリ、というのもあるがw

671 :デフォルトの名無しさん:2011/05/24(火) 20:19:58.71
ランタイムって聞くだけで嫌悪感全開の人がいるから困る・・・
MSが強制的に配布インストールしてくれればいいのにw

672 :デフォルトの名無しさん:2011/05/24(火) 20:57:40.54
危険思想だ

673 :デフォルトの名無しさん:2011/05/24(火) 21:03:06.44
別にランタイム入れないヤツは逮捕して額に「豚」と焼印を押せとか
そういうことを言ってる訳じゃないんだよ。
ただ生きてて欲しくないっていうか

674 :デフォルトの名無しさん:2011/05/24(火) 21:04:43.16
うむ

675 :デフォルトの名無しさん:2011/05/24(火) 21:04:58.99
>>638
XmlSerializerは出力されたxmlイミフなので嫌だ、しかも変更あると既存の読み込めないし

仕方ないのでXPathで自作したが問題発生
設定扱うのでシングルトンにしたがファイルパスをどこで設定すればいいのか謎になった
クラス自体の定数にすればいけるが、きもちわるい

676 :デフォルトの名無しさん:2011/05/24(火) 21:10:18.48
>>675
XmlSerializer/XmlDeserializerはバージョントレラント。
っていうか、あれのどこが意味不明なのかと。

677 :デフォルトの名無しさん:2011/05/24(火) 21:10:19.48
>ファイルパスをどこで設定すればいいのか謎になった
なんのための設定ファイルだ

678 :デフォルトの名無しさん:2011/05/24(火) 21:10:28.31
シングルトン=プロジェクトにロックオンだろ?
定数にすればいいじゃん

679 :デフォルトの名無しさん:2011/05/24(火) 21:13:46.97
>>678
ファイルパスは定数にするのが一般的なのか
我流な感じで気になっただけ

680 :デフォルトの名無しさん:2011/05/24(火) 21:41:58.35
設定ファイルのパスはコマンドラインで渡してる俺がいる

681 :デフォルトの名無しさん:2011/05/24(火) 21:43:54.95
mysqldみたいやな

682 :デフォルトの名無しさん:2011/05/24(火) 21:50:03.73
app.configに書く

683 :デフォルトの名無しさん:2011/05/24(火) 22:46:52.45
お前らが普段使っている設定クラスうpしろや

684 :デフォルトの名無しさん:2011/05/24(火) 22:53:52.34
XAMLでいいよ

685 :デフォルトの名無しさん:2011/05/24(火) 22:57:22.24
普通にXmlSerializer使ってマフ

686 :デフォルトの名無しさん:2011/05/24(火) 23:45:23.64
XmlSerializerはpublicなクラスしかシリアル化できない点が嫌だよな。
気分の問題ではあるが、設定値の入れ物のクラスなんてprivateなインナークラスとか、
せめてinternalとかにしたいのに。

687 :デフォルトの名無しさん:2011/05/25(水) 00:47:45.65
DataContractSerializerはprivateもいける
BinaryFormatterやXmlSerializerより速いし
XmlSerializerと同じくらいにはバージョントレラント
ただし吐くXMLは汚くてカスタマイズもあまりできない
あくまでシリアライザ

688 :デフォルトの名無しさん:2011/05/25(水) 00:54:25.74
設定クラスうpった
http://ideone.com/iTpAe

689 :デフォルトの名無しさん:2011/05/25(水) 01:24:06.91
>>688
public class Settei→名前のセンスがない
サンプルも付けてくれ

690 :デフォルトの名無しさん:2011/05/25(水) 01:30:45.61
VSに付いてる設定ファイルを使ったら負けかなと思ってる。

691 :デフォルトの名無しさん:2011/05/25(水) 01:31:54.89
>>689
それは言うな・・・Settingsと被るのが嫌だったんだ

設定ファイルのパスはコンストラクタで指定
デフォルトでexeと同じフォルダ
サンプルはこんな感じ

var s = new Settei();
var width = (int)s.GetObject("window_width");
s.SetObject("window_width", width);
s.Save();

692 :デフォルトの名無しさん:2011/05/25(水) 01:36:34.94
>>690
VSについてくる設定ファイルは微妙に使いづらいよな
いちいちプロパティ追加しないといかんし
致命的なのが設定ファイルのパスが固定されてること

大規模アプリ以外でユーザードキュメントフォルダに保存されたら迷惑なんだが
強制してくるからな…

693 :デフォルトの名無しさん:2011/05/25(水) 01:41:26.35
激同
ユーザ別にするにしても、アプリフォルダ内にユーザ名でフォルダつくってそこに設定ファイル置くます

694 :デフォルトの名無しさん:2011/05/25(水) 01:53:25.81
>>693
そういうのシステムドライブのProgram Filesフォルダに置いたらどういう挙動になるんだ?
勝手にユーザーフォルダのRoaming辺りに作ってくれるんだろうか。

695 :デフォルトの名無しさん:2011/05/25(水) 01:55:31.99
MSにガイドなかったっけ?UAC関連の

696 :デフォルトの名無しさん:2011/05/25(水) 03:28:06.07
http://www.atmarkit.co.jp/fdotnet/dotnettips/263apppath/apppath.html
パスにバージョン(1.0.0.0みたいな)を含んでるから固定ですらない
ゴミ過ぎ

697 :デフォルトの名無しさん:2011/05/25(水) 09:29:44.86
自分でカスタムコントロールを作るときに、IDE上でポトペタが出来て且つ
IDEのUIで設定を変えるのはどうすればいいのでしょうか?プロパティなどは
可能なのですが、当該コントロールに他のコントロールを動的に追加する場合
コード上で追加しか思いつきません。実際はToolStrip内にあるスプリットボタン
をフォーム上で表現したいです。

698 :デフォルトの名無しさん:2011/05/25(水) 09:31:34.06
スプリットボタンじゃなくてドロップダウンボタンだった・・・IDE上で動的に追加できるなら
どちらでもよいのですが><

699 :デフォルトの名無しさん:2011/05/25(水) 10:58:27.29
コード上で追加すんだよ当然

700 :デフォルトの名無しさん:2011/05/25(水) 11:31:10.46
うんちゃらAttribute付けるんじゃなかったっけ

701 :デフォルトの名無しさん:2011/05/25(水) 15:16:13.03
ふらっとの方援護頼む

702 :デフォルトの名無しさん:2011/05/25(水) 15:16:50.56
ヤメロ580

703 :あっちのスレのほんものの580 ◇6BEJPFFHAc:2011/05/25(水) 15:18:53.57
よんだ?

704 :580 ◆6BEJPFFHAc :2011/05/25(水) 16:42:42.56
こっちにもw

705 :デフォルトの名無しさん:2011/05/25(水) 23:09:03.54
>>698
カスタムコントロールを画面上に貼りデザインした時の
イニシャライズコンポーネントのコードをコンストラクタにコピペしたら?

706 :デフォルトの名無しさん:2011/05/26(木) 00:34:19.27
parse
tryparse
convert
どれ使えばいいのかわからない
例外飛ばすかnull返すとかわかるのだが、やっぱ例外飛ばすのがベストだよな

707 :デフォルトの名無しさん:2011/05/26(木) 00:38:48.79
思考停止!

708 :デフォルトの名無しさん:2011/05/26(木) 00:39:53.35
例外キャッチしてたら遅いんじゃないの

709 :デフォルトの名無しさん:2011/05/26(木) 00:52:14.00
C#やC++って失敗したら例外飛ばすじゃん
trueやfalseで戻り値を返すなんてCを思い出すわ
戻り値地獄が蘇るぜ

710 :デフォルトの名無しさん:2011/05/26(木) 00:53:51.37
失敗前提のアルゴリズムではTryParse
失敗が例外的な場合はParse
Convertは用途が違う

711 :デフォルトの名無しさん:2011/05/26(木) 00:59:30.55
>>709
だから基本は非推奨<TryParse 型のメソッド。
TryParse 型が許容されるのは、
事前チェック(CanParse みたいなの)にかかる手間が Parse 本体と全く一緒で、
if (CanParse(x)) Parse(x); みたいな書き方が無意味の場合のみ。

712 :デフォルトの名無しさん:2011/05/26(木) 01:08:56.74
Dictionary<,>.TryGetValueなんかまさにそれだな
「存在すれば取得する」のパターンはとてもよく使われるし
事前にチェックしたり例外キャッチしたりするのは極めて非効率

713 :デフォルトの名無しさん:2011/05/26(木) 01:13:43.27
>>688のやつもTryGetValue使ってるな

714 :デフォルトの名無しさん:2011/05/26(木) 02:10:38.26
>>708
どっかにNumberFormatException捕まえないとフォーマットをチェックできない言語あったよ

715 :デフォルトの名無しさん:2011/05/26(木) 04:20:02.18
japan.internet.com



>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。
>Novell を買収した Attachmate において、『Mono』プロジェクトは終焉を迎えた。




http://japan.internet.com/busnews/20110517/3.html



Mono終了


716 :デフォルトの名無しさん:2011/05/26(木) 08:10:36.10
>>715
全部読めよ

717 :デフォルトの名無しさん:2011/05/26(木) 10:00:12.45
Xamarin 読み方はゼェマリンでおk?

718 :デフォルトの名無しさん:2011/05/26(木) 10:12:09.62
日本語発音だとザマリンじゃね?

719 :デフォルトの名無しさん:2011/05/26(木) 10:55:53.51
C#で音声合成する方法を教えてください

720 :デフォルトの名無しさん:2011/05/26(木) 12:43:55.17
>>718
薬みたいな名前だな

>>719
ググレ

721 :デフォルトの名無しさん:2011/05/26(木) 12:47:40.33
ググレカレー

722 :デフォルトの名無しさん:2011/05/26(木) 13:07:25.33
>>719
合成したい音声の周波数をwaveファイルに書き込め

723 :デフォルトの名無しさん:2011/05/26(木) 13:10:24.40
>>722
0点

724 :デフォルトの名無しさん:2011/05/26(木) 13:19:43.80
SAPI5
Speech Platform
AquesTalk

他ないですか?
どれがいいですか?

725 :デフォルトの名無しさん:2011/05/26(木) 13:21:43.41
.NET 3.0以降、標準でできなかったっけ?
http://msdn.microsoft.com/ja-jp/library/system.speech.synthesis.ttsengine(VS.80).aspx

726 :デフォルトの名無しさん:2011/05/27(金) 06:54:16.65
IDataObjectとかIDropTargetとかCOMのインターフェイスと名前かぶせるのやめてほしかったな
System.Runtime.InteropServices.ComTypes.IDataObjectとか長いんだよハゲ
名前空間の管理も面倒だし
System.Windows.Forms.DragDropEffectsとかと混ぜて使おうとするのワケワカメ


727 :デフォルトの名無しさん:2011/05/27(金) 07:10:19.76
usingでエイリアス使っとけば

728 :デフォルトの名無しさん:2011/05/27(金) 12:43:11.16
プラットフォームが提供する機能だからFormsに置きたくないんじゃないの

729 :デフォルトの名無しさん:2011/05/27(金) 17:32:31.04
あるコントロールを配置してアンカーを設定しているのですが、
フォームのサイズをコード上で可変してもアンカーが正常に動きません。
アンカーはユーザーが動かしたときでないと動作しないのでしょうか?

730 :デフォルトの名無しさん:2011/05/27(金) 18:21:28.58
>>729
フォールの最大化した時でもちゃんと想定通りに動いてる?
アンカーはコントロールの追加順に影響受けまくるからそこ確認した方がいいよ

731 :デフォルトの名無しさん:2011/05/28(土) 07:58:40.74
コンテナの中に入ってるとか

732 :デフォルトの名無しさん:2011/05/28(土) 14:09:55.84
virtual修飾子をつけた仮想メソッドはパフォーマンスに影響を与える?

733 :デフォルトの名無しさん:2011/05/28(土) 14:38:54.48
一千兆回くらいループさせて計測しろ

734 :デフォルトの名無しさん:2011/05/28(土) 14:44:05.62
>>732
間接参照が1回増える。

ただ、.NET の仮想マシンは、virtual ついてても静的に呼び出し先を確定できる場合は
非 virtual なメソッド呼び出しと同じコードに最適化してくれる。

735 :デフォルトの名無しさん:2011/05/28(土) 20:08:53.38
ListBoxで選択インデックスが変更されるときに確認メッセージを出したいのですが
どのようにすればよいでしょうか?

MouseClickイベントを拾ってキャンセルする形になるんでしょうか?
SelectedIndexChangedで拾って確認メッセージを出してNOなら、
強制的に以前のインデックスを代入とかで実装するのでしょうか?

736 :デフォルトの名無しさん:2011/05/28(土) 20:34:38.17
オーバーライドしてウィンドウメッセージをハンドルするとか。
実体はこれだから
http://msdn.microsoft.com/en-us/library/bb775146%28VS.85%29.aspx


質問の趣旨とは関係ない話だけど
選択が変わるたび確認メッセージが出るってUI的にどうなのよ
おれならマウスをモニタに投げるけど

737 :デフォルトの名無しさん:2011/05/28(土) 20:58:09.24
>>736
ありがとうございます

そもそも一般的じゃない使い方ですね
ボタンをつけて確認メッセージを出す方向に変更します

738 :デフォルトの名無しさん:2011/05/28(土) 21:00:31.71
>ListBoxで選択インデックスが変更されるときに確認メッセージを出したい
ウザいユーザーインターフェースだな。

739 :デフォルトの名無しさん:2011/05/28(土) 21:07:36.72
俺も最悪の操作性とセンスのUIだなと思うけど、まあ特に2chみたいなところだと
本人には煽られてるようにしか聞こえないかもねw

たぶんセンスが悪い自覚ないんだよこういう人。

市販されてるソフトでもこの手のアホみたいにモーダルのメッセージボックス
表示するやつがたまにあったりするけど何なんだろうねあれ。

740 :デフォルトの名無しさん:2011/05/28(土) 21:13:23.64
メッセージがうざいというより、
ListBoxの選択が確認メッセージをださなきゃいけないような操作のトリガになるのがありえない
リストボックスの選択は後でユーザーがOKボタンを押したときにまとめて反映されるのが普通で
ユーザーも当然それを期待して気軽に扱うからユーザーがビックリするぞ

741 :デフォルトの名無しさん:2011/05/28(土) 22:29:35.66
もしかしてこんな表示がお望みなの?

バルーンウィンドウのツールチップを表示する
ttp://dobon.net/vb/dotnet/control/balloontooltip.html


742 :デフォルトの名無しさん:2011/05/29(日) 01:28:23.56
ApplicationSettingsBase クラスの保存先をEXEと同じ場所にってできますか?

743 :デフォルトの名無しさん:2011/05/30(月) 23:13:02.92
Windowsのパスをfileプロトコル形式に変換するメソッドってありますか?

C:\aaa\bbb.txt -> file:///c:/aaa/bbb.txt

こんな感じにできるメソッドを探しています。よろしくお願いします

744 :デフォルトの名無しさん:2011/05/30(月) 23:20:49.27
new Uri(path).ToString()
Path.GetFullPathもいるかも

745 :デフォルトの名無しさん:2011/05/30(月) 23:22:39.02
ナイスだ

746 :デフォルトの名無しさん:2011/05/30(月) 23:44:02.95
おお、これは単純で完璧ですね!
ありがとうございました!

747 :デフォルトの名無しさん:2011/05/31(火) 00:51:30.11
どういう場合に使うの?

748 :デフォルトの名無しさん:2011/05/31(火) 01:17:38.93
http://code.google.com/p/csharp-sqlite/
これとか

749 :デフォルトの名無しさん:2011/05/31(火) 03:29:15.26
[アセンブリをCOM参照可能にする]をチェックしてビルドしたMyLibrary.dll内のクラスを
VBスクリプトからProgIdを指定してCreateObject()するところまで成功。

MyLibrary.dllの機能を増やそうと他の人が作ったOtherLibrary.dllを参照したところ
「OtherLibraryは厳密な名前を持っていません」とビルドできなくなって手詰まり。

こはそのDLL作者に厳密な名前を付けてくださいと頼むしかないのでしょうか?

750 :デフォルトの名無しさん:2011/05/31(火) 05:58:59.81
基本的には。
あるいは自分とこの厳密名を付けないか。/codebaseでも警告は出るけど登録自体はできるし。

自分が使うだけならildasm&ilasmで厳密名付ける手もあるけど。

751 :デフォルトの名無しさん:2011/05/31(火) 06:26:12.25
便乗質問だけど
ソースも配布するときって厳密名の鍵(snkファイル)だけは公開しないほうがいいとかある?
同じ署名で違うバイナリがでできたりとかやばくね?

752 :デフォルトの名無しさん:2011/05/31(火) 15:54:02.00
>>750
自分の厳密名を外す方法で他の人のDLLが使えました!

最終的には配布したいので、そのときまた方法を考えます。

753 :デフォルトの名無しさん:2011/05/31(火) 17:22:06.67
TCPでコマンドが連続的に送られてくる時は、
どのようにしてコマンドを捕らえる方法が一般的ですか?
例えば データ001\tデータ002\tデータ003\t...延々と
ストリームから\tで終わるコマンドを受けて
切り出し続けるにはどうしたら良いのでしょうか。
tcpclientとnetworkstreamで非同期readを想定しています。
endreadした時に格納されたbyte[]の中を
毎回ループして\tを探してコマンドが途中なら次のbeginreadの時に、
offsetで前回途中だったbyte[]につなげて解釈し。。。
という様な泥臭い方法しか思いつきません。
よろしくお願いします。


754 :デフォルトの名無しさん:2011/05/31(火) 17:26:35.94
俺だったらストリーム自体別のスレッドに置いて延々ループ回して
トークンが来るたびにイベント起こすわ

755 :デフォルトの名無しさん:2011/05/31(火) 17:41:23.96
俺は昔のBSTRだっけ?あれみたくデータの長さを先頭に埋め込んでる

756 :デフォルトの名無しさん:2011/05/31(火) 17:43:10.20
普通はそっちの方が常道

757 :デフォルトの名無しさん:2011/05/31(火) 21:07:57.10
>>751
MSが.NETアセンブリに使ってるキーペアは金庫に保管してるレベル

758 :デフォルトの名無しさん:2011/05/31(火) 21:17:33.22
XDocument.Parse()で©のところでエラーが出るんですけど、
©は使えないのでしょうか?

759 :デフォルトの名無しさん:2011/05/31(火) 21:20:41.85
©実体参照してる?
&#169;

&を半角に

760 :デフォルトの名無しさん:2011/05/31(火) 21:48:39.46
&copy;
って感じです。全部半角で

761 :デフォルトの名無しさん:2011/05/31(火) 22:01:05.69
XDocumentよく知らんがDTDとか大丈夫なん

762 :デフォルトの名無しさん:2011/05/31(火) 22:33:36.12
<![CDATA[ 〜 ]]>で囲ったら?

763 :デフォルトの名無しさん:2011/05/31(火) 22:36:47.81
©って文字コードとかの関係ってどうなんだろう
UCS-2って確かサロゲートペアの関係うんぬんとかあったよね
サロゲートペア使う文字サポートって.netのバージョンいくつだっけ?

764 :デフォルトの名無しさん:2011/05/31(火) 22:51:56.79
XMLでデフォルトで定義されてる実体参照じゃ無いな、copyは

765 :デフォルトの名無しさん:2011/05/31(火) 22:56:04.32
レスありがとうございます
とりあえず&copy;を削除してからParseしようと思います

766 :デフォルトの名無しさん:2011/05/31(火) 23:08:40.73
>>760
仕様ぐらい読め。
http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent

&copy;でなくて©って書けばいいだろ。わざわざ実体参照すんな。

>>763
.NET FrameworkはUCS-2でなくUTF-16を扱うんだからサロゲートペアを
扱えないわけは無いんだが、どうして扱えないと思った?

767 :デフォルトの名無しさん:2011/05/31(火) 23:20:14.87
そもそもコピーライトマークにサロゲートペアも何もないもんだ

768 :デフォルトの名無しさん:2011/05/31(火) 23:28:30.34
>>766
英語読めなくてごめんなさい

769 :デフォルトの名無しさん:2011/05/31(火) 23:40:07.50
謝る暇があったら読め

770 :デフォルトの名無しさん:2011/05/31(火) 23:41:58.00
サーロインステーキ、まで読んだ。

771 :デフォルトの名無しさん:2011/06/01(水) 11:39:53.06
ドラッグアンドドロップでファイルをエクスプローラーにコピーする場合に
DataObject dataObj = new DataObject(DataFormats.FileDrop, new string[]{ファイルパス });
DragDropEffects dde = コントロール.DoDragDrop(dataObj, DragDropEffects.Copy);
のように上記で出来るのですが、例えばDBから取得したImageなどをドラッグアンドドロップで
保存するにはどうすればいいのでしょうか?ローカルに一旦保存しない方法でお願いいたします。

772 :デフォルトの名無しさん:2011/06/01(水) 11:43:21.78
DoDragDropの説明にずばり書いてあるけど
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.dodragdrop.aspx
>データは、基本マネージ クラス (String、Bitmap、または Metafile)、あるいは ISerializable または IDataObject を実装するオブジェクトのいずれかである必要があります。

Bitmapで渡せばいいよ
DBから取得したイメージがどういう状態なのかは知らんから
Bitmapに変換する方法は自分で考えてくれ

773 :デフォルトの名無しさん:2011/06/01(水) 11:57:33.31
自作でビットマップを作成して、下記のようにしたけど出来ない・・・まぁ、ファイル名とかの指定
がされていないからかな・・・

DataObject dataObj = new DataObject(DataFormats.FileDrop, new Bitmap(500,500));
DragDropEffects dde = pictureBox1.DoDragDrop(dataObj, DragDropEffects.Copy);

774 :デフォルトの名無しさん:2011/06/01(水) 11:59:37.08
フォーマットが間違ってる
FileDropはパス文字列でデータ受け渡しするんで

775 :デフォルトの名無しさん:2011/06/01(水) 12:01:57.91
formatはBitmapではできなかったし、、、なにを指定すればいいんだろorz


776 :デフォルトの名無しさん:2011/06/01(水) 12:02:31.32
あ、Imageオブジェクトをファイルとして保存したいのね
DropSourceとしての動作をコード化して
自前でファイル作成しないと駄目ね

777 :デフォルトの名無しさん:2011/06/01(水) 12:04:56.62
なるほど・・・・DropSourceって単語から色々調べてみます。ありがとうございましたm(_ _)m

778 :デフォルトの名無しさん:2011/06/01(水) 12:08:16.03
DropSource?
IDragSourceのことかしら……

ローカルに一旦保存するのが一番簡単じゃね?
BitmapをDataObjectとしてD&D開始してもターゲット(エクスプローラ)の方で
対応してないからファイルとしてドロップみたいな動作にはならない

779 :デフォルトの名無しさん:2011/06/01(水) 12:10:02.86
tempディレクトリに一時的にファイル作れば?

780 :デフォルトの名無しさん:2011/06/01(水) 12:13:56.24
一時ファイルを作るのがいやならbmpをメモリーストリームでアクセスして
そのまま送ることができる形式(テキスト?)などの扱いにして受け側で
元のように戻すとか

781 :デフォルトの名無しさん:2011/06/01(水) 12:15:42.92
エクスプローラーにコピーしたいんだから一時ファイルないとダメじゃね?

782 :デフォルトの名無しさん:2011/06/01(水) 13:33:58.67
うーん、エクスプローラーに保存するには流行りテンポラリフォルダ作ってそこから
コピーしないと駄目なのかなぁ・・・うーーーむ

783 :デフォルトの名無しさん:2011/06/01(水) 13:37:14.68
最近テンポラリフォルダて流行してんの?w


784 :デフォルトの名無しさん:2011/06/01(水) 13:40:25.80
なんか棒を出し入れする音が聞こえるのだが?

785 :デフォルトの名無しさん:2011/06/01(水) 13:41:57.78
空から日本を見てみようで、気持ちいいって言ってたな

786 :デフォルトの名無しさん:2011/06/01(水) 14:05:56.83
赤鬼さんと朝まで豆まき

787 :デフォルトの名無しさん:2011/06/01(水) 14:27:29.20
ドラッグアンドドロップでもうひとつ・・・
エクセルやワードパットには貼り付けれるのですが、ワードには貼付けできません。
下記の質問でもあったのですが、ビットマップ以外のフォーマットをDataObjectに
入れるにはどうすればいいのでしょうか?(そもそもそのフォーマットはどこに定義
されているかわかりません・・・)

http://social.msdn.microsoft.com/Forums/ja-JP/csharpexpressja/thread/2212fbe5-12af-40bc-bf47-914bd2e3d9a3

788 :デフォルトの名無しさん:2011/06/01(水) 14:42:43.83
>>787
面白いなw

789 :デフォルトの名無しさん:2011/06/01(水) 16:22:56.16
>>787
面白ぇw

790 :デフォルトの名無しさん:2011/06/01(水) 16:45:04.15
>>787
ワロタw

791 :デフォルトの名無しさん:2011/06/01(水) 16:50:57.06
すまん わらどころがわからない

792 :787:2011/06/01(水) 17:11:52.23
ピクチャーボックスじゃなくてピクチュアボックスって書いてるからなじゃないかなぁ?

うーん、やっぱわかんないやorz

793 :デフォルトの名無しさん:2011/06/01(水) 18:14:52.83
>>791
笑う笑わないの面白いじゃなく、興味深いねというか
なんでMS製品なのに挙動が違うのとかさ

794 :デフォルトの名無しさん:2011/06/01(水) 18:17:37.06
サポートするクリップボードフォーマットがアプリケーションごとに異なるという当たり前のこと

795 :デフォルトの名無しさん:2011/06/01(水) 18:19:01.91
>>794
ワードとエクセルなんて受けるデータは利用者から見れば
ほぼ同じような物を受けてほしいなw

796 :デフォルトの名無しさん:2011/06/01(水) 18:21:45.71
まあ.netのドラッグ&ドロップが簡易版なのもある

797 :デフォルトの名無しさん:2011/06/01(水) 18:58:13.39
お前はまだOLE D&Dの真髄を知らないのだッ…

798 :デフォルトの名無しさん:2011/06/01(水) 23:04:16.88
質問です。
MSChartを使いグラフを描画しているのですが、データ量が10万件ほどあり
処理が遅く改善できないか悩んでいます。
一番初めの描画自体はそこまで気にならないのですが、拡大や縮小、スクロール移動を行った場合にものすごく時間がかかってしまいます。

拡大縮小、スクロールバーイベントを取って、ソースコードで表示位置を移動させても、
その処理を抜けた後に何か処理が行われている?のかものすごく時間がかかります。

いい方法はないでしょうか?


799 :デフォルトの名無しさん:2011/06/01(水) 23:07:20.64
>>798
10万件は多いよw
とりあえず画面イメージとか無い?

800 :デフォルトの名無しさん:2011/06/01(水) 23:11:29.06
>>799
画面イメージはちょっと今手元に無いんですがX軸が時間、Y軸がデータのLineグラフです。
普通の折れ線グラフのデータ量が多いものと思っていただければいいかと。


801 :デフォルトの名無しさん:2011/06/01(水) 23:13:39.78
>>800
それなら間引いてグラフにすれば良いんじゃないの?

802 :デフォルトの名無しさん:2011/06/01(水) 23:13:56.10
諦めて自分で描画すれば?
GDI+ですらびっくりするほど速いよ

803 :デフォルトの名無しさん:2011/06/01(水) 23:15:54.30
>>801
間引ければ簡単なんですが、間引けないので・・
>>802
GDI+ですか、ちょっと調べて見ます。


804 :デフォルトの名無しさん:2011/06/01(水) 23:17:29.92
>>803
もしかして10万のデータがあればそれを全部グラフ化するの?
横方向へ描画したとしても10万ピクセル以上使うんだよ・・・

805 :デフォルトの名無しさん:2011/06/01(水) 23:20:11.91
すっごいでかいモニターなんだ

806 :デフォルトの名無しさん:2011/06/01(水) 23:21:38.66
>>804
まさしくそうなのです・・



807 :デフォルトの名無しさん:2011/06/01(水) 23:25:08.95
小数で座標指定すれば10万ピクセルいらないじゃん・・・

普通に間引きすると最大値最小値なんかが消失する危険があるわけだけど、
なんかいいテクニックあるのかな

808 :デフォルトの名無しさん:2011/06/01(水) 23:29:00.02
>>807
区間区切って最大値と最小値だけ採用してプロットすれば?
DBでやれば大したことないだろうし

809 :デフォルトの名無しさん:2011/06/01(水) 23:29:17.64
ローソク足グラフなんかまさにそれだよ

810 :デフォルトの名無しさん:2011/06/01(水) 23:34:18.30
区間区切ってっていうはいいかもしれませんね
最悪bitmapイメージにしてからChartAriaに描画しようかとも考えていましたが・・(出来るかはまだ調べてませんが


811 :デフォルトの名無しさん:2011/06/01(水) 23:43:02.06
>>810
作りかけなので自分で改造して
http://ideone.com/6dSDR

812 :デフォルトの名無しさん:2011/06/01(水) 23:47:04.91
>>811
わざわざ申し訳ありません。
参考に頑張ってみます。

813 :デフォルトの名無しさん:2011/06/01(水) 23:50:10.83
アホなバグ鳥バージョン
http://ideone.com/eMUMO

814 :デフォルトの名無しさん:2011/06/02(木) 00:51:44.31
グラフってラフに作る分には中学生でも書けるけど、実用的なものをきちんと作るのは
思いっきり大変だから(経験あり)、素直に MS Chart使った方が....

その場合、ピクセルの幅に相当する区間の最大値と最小値を代表値にとって描画する、
というのは難しいと思うから、割り切って間引きでいいんじゃないのかと。
どうせスケーリングは自由にできる(任意区間を拡大縮小表示できる)ように作るんだろうし。

何のデータかにもよるだろうけど、音声波形のエンベロープみたいなのが
見たいことなんてそんなになく、普通はグラフなんてトレンドが見たいだけ。

微小区間の極大極小が重要なら、そういうのは別の方法で表示した方がいいと思う。
まあわからんけど。

815 :デフォルトの名無しさん:2011/06/02(木) 00:55:29.96
統計のグラフなんて何も難しくない
難しいと感じるのは大抵、見せるべきデータがなんなのか分かってないだけ

816 :デフォルトの名無しさん:2011/06/02(木) 01:08:32.32
ポエムにしか聞こえない

817 :デフォルトの名無しさん:2011/06/02(木) 01:23:14.21
中卒?

818 :デフォルトの名無しさん:2011/06/02(木) 01:32:12.79
まあわからんと締めた彼は、私達に一体何を伝えたかったのだろうか…。

819 :デフォルトの名無しさん:2011/06/02(木) 01:44:53.81
>>818
「まあわからんけど」と書いておくことで突っ込まれたときの逃げを作ってるんだよ
「〜とか言ってみる」「〜してみた」と同類

820 :デフォルトの名無しさん:2011/06/02(木) 02:03:15.89
なるほど

821 :デフォルトの名無しさん:2011/06/02(木) 03:03:35.72
LINQいいよね〜

822 :デフォルトの名無しさん:2011/06/02(木) 03:40:32.86
ああ、そうかもな。

823 :デフォルトの名無しさん:2011/06/02(木) 06:20:23.95
知らんけど

824 :デフォルトの名無しさん:2011/06/02(木) 13:22:42.81
あほとしか

825 :デフォルトの名無しさん:2011/06/02(木) 17:47:09.48
LINQいいよね〜

826 :デフォルトの名無しさん:2011/06/02(木) 18:08:21.86
ああ、そうかもな。

827 :デフォルトの名無しさん:2011/06/02(木) 18:26:41.73
知らんけど

828 :デフォルトの名無しさん:2011/06/02(木) 19:08:11.99
LINQいいよね〜

829 :デフォルトの名無しさん:2011/06/02(木) 19:13:18.12
よくいうよね〜

830 :デフォルトの名無しさん:2011/06/02(木) 23:19:04.93
>>814なんかそのあたりの、能とかハウとかまとまって書いてある書籍とかサイトお勧めありますか?

831 :デフォルトの名無しさん:2011/06/03(金) 12:03:58.71
SHA1ManagedのComputeHash()とSHA1CryptoServiceProviderのComputeHash()で結果が違うんだけど、この二つは何が違うの?
SHA1Managedがマネージコードのみで実装しただけなら結果が同じだと思ったんだけど…
http://ideone.com/UTaKE

832 :デフォルトの名無しさん:2011/06/03(金) 12:52:00.50
computehashにstream読み込ませると最後まで行ったまま戻らないんだよバカ

833 :デフォルトの名無しさん:2011/06/03(金) 12:54:45.52
0xda39a3ee5e6b4b0d3255bfef95601890afd80709 0byte
約 44,100 件 (0.08 秒)

http://www.google.co.jp/search?q=0xda39a3ee5e6b4b0d3255bfef95601890afd80709+0byte

834 :デフォルトの名無しさん:2011/06/03(金) 13:08:53.42
これはw
ふと思い出して大声が出そうになるやつだなw

835 :デフォルトの名無しさん:2011/06/03(金) 13:22:31.55
たまげたなあ (たとえ事実でもシラをきれよ)

836 :デフォルトの名無しさん:2011/06/03(金) 15:02:26.77
ああ0バイトのSHA1を計算してたのね…これは失礼した

837 :デフォルトの名無しさん:2011/06/03(金) 15:51:13.99
俺の顔がキモイのは仕様

838 :デフォルトの名無しさん:2011/06/03(金) 19:49:24.88
>>831
Createは両クラスの基底であるSHA1クラスのだから、どっちから呼び出そうが同じ実装を返すぞ
固有の実装がほしけりゃnewすれ

派生型.基底型の静的メンバ がコンパイル通るのはバグの元と思ってるが
依存関係プロパティを触り出すとそうも言ってられんなー

839 :デフォルトの名無しさん:2011/06/04(土) 21:02:39.15
C#でWindowsの設定をしたいと考えています。

具体的には、「マイ コンピュータ」右クック>「プロパティ」>「詳細設置」>「設定」
の「パフォーマンスを優先する」という設定をC#のアプリケーションから
行いたいのですが、どうしたらよいでしょうか。

840 :デフォルトの名無しさん:2011/06/04(土) 21:13:23.13
http://bonsansan.blog93.fc2.com/blog-entry-19.html
>あくまで選択状態を保持するだけです。
とあるのでこれがあってるなら自分で個別のチェック項目に関連する
レジストリなどを調べて操作するしかないんじゃないかな?

それにc#とは直接関係ない内容だと思う

841 :デフォルトの名無しさん:2011/06/04(土) 21:13:36.81
そういうの全部レジストリじゃないの?

842 :デフォルトの名無しさん:2011/06/04(土) 21:13:51.57
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1424029309
http://dobon.net/vb/dotnet/system/registrykey.html

この二つを組み合わせれば出来そう

843 :デフォルトの名無しさん:2011/06/05(日) 19:09:16.35
vs2010でセットアッププロジェクトをつくろうとしています。
・プロジェクト→XXXのプロパティ→必須コンポーネント ここに.net 2.0を追加したいのですが
どのようにすれば追加する事ができるのでしょうか?


844 :デフォルトの名無しさん:2011/06/07(火) 10:41:19.87
.net でO/Rマッピングするにはどれを使うのがいいんだろうか・・・?
色々あって悩んでますorzみなさんはどんなの使ってますか?

ちなみに今まではリーダーで読んでました@w@

845 :デフォルトの名無しさん:2011/06/07(火) 11:01:54.75
今もリーダーで読んでます

846 :デフォルトの名無しさん:2011/06/07(火) 11:52:22.62
>>844
うちは業務系システムやっててSQLゴリゴリ書きたいんでSeasar.net使ってる。

847 :デフォルトの名無しさん:2011/06/07(火) 14:39:28.26
SQL Server 2008なら何も考えなくてもEFでいいんだけどもねぇ。

848 :デフォルトの名無しさん:2011/06/07(火) 17:32:51.75
9種類のものが9個ずつあるとき、
その81個を9個ずつ9個に分ける総当りプログラムはどうやって書いたらいいんでしょうか?

849 :デフォルトの名無しさん:2011/06/07(火) 17:44:08.62
意味がわからん
たとえばだけどトランプのシャッフルのような話?

850 :デフォルトの名無しさん:2011/06/07(火) 17:58:27.24
ある特定のパターンを探索しているのですが、
3種類の場合だと

1 1 1 2 2 2 3 3 3

上のようなプールから3つずつ選んで

3 2 2
1 3 3
1 2 1

の3組を作る感じです
この組み合わせのすべてのパターンを検査して
目的のパターンを探し出すのが目的です

851 :デフォルトの名無しさん:2011/06/07(火) 19:40:19.47
頑張って書く

852 :デフォルトの名無しさん:2011/06/07(火) 19:50:20.48
9重ループ。

853 :デフォルトの名無しさん:2011/06/07(火) 20:15:46.54
5.31306887 * 10^70通り?
なんか実用的な意味があるんだとしたらやり方を再考した方がいいな

854 :デフォルトの名無しさん:2011/06/07(火) 20:35:37.61
多分そうよね。
遺伝的アルゴリズムでも使って準最適解探すか。

855 :デフォルトの名無しさん:2011/06/07(火) 20:37:22.39
それは 81個から9個9組とったときの組み合わせでしょ。
同種の組み合わせは除くんじゃないの?
3個の例でいうと 322の組の3は3種類あるけど同じとするというか

856 :デフォルトの名無しさん:2011/06/07(火) 20:40:13.93
C++だったらネクストパーミテーションあるんだが、あれの実装がよくわからん。

857 :デフォルトの名無しさん:2011/06/07(火) 20:54:17.54
>>855
81!/(9!^9)だからその場合は除外されてる

考慮されてないのは
2 3 2←行内入れ替え
1 3 3
1 2 1
とか
1 2 1←行入れ替え
3 2 2
1 3 3
だけど、そもそも必要かどうかが分からん

858 :デフォルトの名無しさん:2011/06/07(火) 20:59:23.45
1桁2桁組み合わせが減ったところでな
毎秒1兆件処理しても宇宙滅亡までに終わらんだろ

859 :デフォルトの名無しさん:2011/06/07(火) 21:07:20.72
関係ないパターンを早めに潰せるアルゴリズムじゃないと話にならんから、
真面目に考えてほしければその条件を書くべきだな

860 :デフォルトの名無しさん:2011/06/07(火) 21:10:13.63
>>857
逆だよね? 行内入れ替えは組み合わせ計算だから除外されてるけど、
32(1番目の2)2(2番目の2) と 32(2番目の2)2(3番目の2) を同じとみなしてはないでしょ?
81C9*72C9*63C9・・・だと >>853の答えだよ
ま、それでも多いし、本人来ないと分からないことだけど。

861 :デフォルトの名無しさん:2011/06/07(火) 21:17:51.87
>>860
行内入れ替え…9!^9通り
(n番目のm)のnの入れ替え…9!^9通り

862 :デフォルトの名無しさん:2011/06/07(火) 21:36:39.55
すいません、御飯食べてました
レスありがとうございます

意味があるのは組内の項目の順番だけなので
行内入れ替えと行入れ替えはありです

遺伝的アルゴリズムというか、
パターンのランダムな位置交換の繰り返しで準最適解は出たのですが
総当り可能なら総当りで最適解を見つけられればと思って考えてました

ですが、5.31306887 * 10^70通りだとちょっと難しそうですね・・・

863 :デフォルトの名無しさん:2011/06/07(火) 21:43:04.10
これハノイの塔の変形でね?
だとしたらモロ>>858なんだが・・・

864 :デフォルトの名無しさん:2011/06/08(水) 22:30:30.71
メッセージボックスバグってるよね?
親指定しても親のウィンドウの真ん中にでないよね?
ショートカットをすばやく入力するとたまにメッセージボックスが
メインウィンドウの後ろにいってどうにも操作できなくなるよね?

MFCのメッセージボックスだと親指定すると親のウィンドウの真ん中に出るよね?

ホント、どうでもいいことなんだけどさ・・・これ、直してほしいんだ・・・orz

865 :デフォルトの名無しさん:2011/06/08(水) 22:34:37.34
仕様だろ
WinFormsは開発終了してるし今更変えたら余計混乱する
WinAPIでやる方法はあるし

866 :デフォルトの名無しさん:2011/06/08(水) 23:00:31.50
バグって表現の方がバグってるなw

867 :デフォルトの名無しさん:2011/06/08(水) 23:03:36.98
不意にメッセージボックスが最前面に出なかったりするとかなり焦るからなあ

868 :デフォルトの名無しさん:2011/06/08(水) 23:03:55.93
あんなにたくさん引数あってどれ一つとして親の相対位置に出せないとか糞仕様にもほどがあるだろ

869 :デフォルトの名無しさん:2011/06/08(水) 23:06:09.60
>>867
しかも、メインウィンドウの後ろいっちゃうと強制終了しかないよね(泣

870 :デフォルトの名無しさん:2011/06/08(水) 23:12:30.09
>>869
デスクトップに表示されてるウインドウすべてをたたむアイコン?
をクリックして一旦たたんで再度開けば前にでてくるはず

871 :デフォルトの名無しさん:2011/06/08(水) 23:21:42.15
MessageBox関数がそういう仕様だから
MFCがそうでないのならMFCはわざわざ別に似非MessageBox作ってるんだろう

872 :デフォルトの名無しさん:2011/06/08(水) 23:24:16.10
ウィンドウの後ろにいくのはともかく、サービスパック適用したら
メッセージボックスの表示位置が変わったりしたらクレーム殺到しまくってえらいことになるなw

873 :デフォルトの名無しさん:2011/06/08(水) 23:28:09.83
>>870
無理無理、メッセージボックスが表示するかどうかの微妙なタイミングでちょっぱやで
ショートカットキーかアクセラレータキー操作するとたまにメッセージボックスが
メインウィンドウの後ろいって操作不能になる
動作はちょうどモーダルのメッセージボックスが出てるときにメッセージボックス外を叩いたときと同じ動作
つまりどうにもならないw

874 :デフォルトの名無しさん:2011/06/08(水) 23:31:05.84
>>873
いやいや
windows7には見当たらないけどXPのころはタスクバーの
クイック起動にあったウインドウ閉じるアイコンで一旦たたんで
表示しなおせばいけるって

875 :デフォルトの名無しさん:2011/06/08(水) 23:34:28.66
ショートカットがわかった
windowsマークキー+Dだ

これでデスクトップが見渡せるようにウインドウをたたんで
メッセージボックスが後ろに回ったやつを正常に戻せる

つーかなんどもやってるんだし

876 :デフォルトの名無しさん:2011/06/08(水) 23:37:55.11
>>875
うっそ、お前ちょっとメモ帳開けや
したら【メニュー】→【ヘルプ】→【バージョン情報】開いて
こっから「メモ帳のバージョン情報」ウィンドウ触らずにメモ帳閉じてみろや

877 :デフォルトの名無しさん:2011/06/08(水) 23:40:49.20
>>876
いいたいことはよくわからんがダイアログやメッセージボックスが
メインウインドウの後ろに回るというのを再現するのはかなりこんなんだろw
不意になるくらいで

878 :デフォルトの名無しさん:2011/06/08(水) 23:42:54.28
>>877
>不意になるくらいで
結構エディタ系で入力ミスったときにVBみたいに注意されっと
50回に1回ぐらいの頻度でハマるんだよ
なんか超イラッとくる
強制終了しか選択肢ねーし

879 :デフォルトの名無しさん:2011/06/08(水) 23:45:57.16
>>878
まあウインドウの構造上メインウインドウの裏にダイアログとかメッセージボックスが
回り込むと操作不能っていうのはわかるけど>>875のようなのは受け付けるはずなので
対策できたはずだけどな

もう意識しないでやってる作業になってるレベル

880 :デフォルトの名無しさん:2011/06/09(木) 00:02:03.84
DoEventsとか使ってると発生率が上がるような気がする

881 :デフォルトの名無しさん:2011/06/09(木) 00:03:33.48
それメッセージボックスじゃないと思うよw
恐らく単にオーナーが指定されてないモーダルなウィンドウなだけ。
そういう現象なら確かに何度か遭遇したことある。
(海外のツールにそういう不用意なのが多い印象)

そういう場合でもアクティブなウィンドウを切り替えてる内に前面に出てきたりする。
というか操作不能なんてなったこと一度もない。

最悪Process Explorerみたいなツールを使えば前にもってこれるでしょそれに。

882 :デフォルトの名無しさん:2011/06/09(木) 00:06:40.83
>>880
あるかもしんねー

>>881
いや、それはもう確認した
spyツールで見れるわ
確実にメッセージボックスだよ

883 :デフォルトの名無しさん:2011/06/09(木) 00:13:08.38
>>882
そんじゃ何らかの理由で非表示のウィンドウがメッセージボックスのオーナーになっちまったとか、
そんなところかな。

884 :デフォルトの名無しさん:2011/06/09(木) 05:05:38.94
void test(){
string cc = "DSN=mysql";
OdbcConnection conn = new OdbcConnection(cc);
conn.Open();
OdbcDataAdapter da = new OdbcDataAdapter(cc, conn);
DataColumn col = new DataColumn("@c", typeof(Int32));
DataTable table = new DataTable();
table.Columns.Add(col);
for (int i = 0; i < 5; ++i){
DataRow new_row = table.NewRow();
new_row[col] = i.ToString();
table.Rows.Add(new_row);
}
da.InsertCommand = new OdbcCommand("insert into t1 values (?)", conn);
da.InsertCommand.Parameters.Add("@c", OdbcType.Int);
da.Update(table);
}
実行すると0が5個INSERTされます。
0,1,2,3,4とINSERTされるようにするにはどうすればいいでしょうか?
t1はINT1個のテーブルです。


885 :デフォルトの名無しさん:2011/06/09(木) 15:43:08.01
自身でO/Rマッピングに似た機能を作る場合に
部分的なSelectやInsert、Updateをどのように実装
していいか考え中です。皆さんだったらどのようにしていますか?

1つの案としてエンティティクラスの中に処理対象に含めるかどうかのプロパティを別途持つ
という方法ですが・・・

public class TestEntity
{
public bool IsId { get; set; }
public int Id { get; set; }

public bool IsPerson { get; set; }
public Person Person { get; set; }
}

でもこの方法だと列名X2のプロパティが必要だし、、、うーーーむ・・・

886 :デフォルトの名無しさん:2011/06/09(木) 15:51:07.58
http://www.atmarkit.co.jp/fdotnet/special/cslinq02/cslinq02_01.html

887 :デフォルトの名無しさん:2011/06/09(木) 16:03:43.36
少なくとも、自分でクエリ打ってる以上、返ってくるプロパティを知らないって事はないからIsXXXなんか作らない

888 :デフォルトの名無しさん:2011/06/09(木) 16:09:05.97
>>887
自分だけで使うのならSql文で終わらせるのですが、他の人も使うので
DBアクセス部分をラップして使わせたいのです。

やりたいこととしては、利用者が条件と必要なカラム名を指定してセレクトすると
Personエンティティーが返るような仕組みをつくりたいです。

まぁ、Where句作る時点で列名知っていないとだし、ほしい部分の列だけセレクト
したい場合に列指定をどうするかが悩ましいです・・

>>886
.net2.0しか使用できないのでLinqは使えないですorz自分で同じようにしてもいいかもだけど
あまりラムダ式も使わせたくないです。。

わがままばっかですが、良いサイトや方法なにか無いでしょうか?

889 :デフォルトの名無しさん:2011/06/09(木) 16:15:51.48
>>888
あくまで参考にしろってことなんだがw
DB関連だとLinq以外もあるだろうから

890 :デフォルトの名無しさん:2011/06/09(木) 16:17:29.12
原始的に辞書で返せば

891 :デフォルトの名無しさん:2011/06/09(木) 16:32:28.79
うーむ、、、なかなか難しいですねぇorz



892 :デフォルトの名無しさん:2011/06/09(木) 17:00:40.63
ラムダ式を作るお手軽クラスでも作ればいいんじゃないの?

893 :デフォルトの名無しさん:2011/06/09(木) 21:17:30.96
一部列のみSelect/Update→そういう定義のクラスかインターフェイスを作る
Where句→式木を用意する

俺だったらこうかな

894 :デフォルトの名無しさん:2011/06/09(木) 22:30:09.19
使いにくい俺々ORマッパの強制とか不幸の始まりだな

895 :デフォルトの名無しさん:2011/06/09(木) 22:32:59.24
すでにsqlをやりとりするコードがあるならそのコードを全部洗えば現場で
必要とされるORマッパの仕様って見えてきそうだけど



896 :デフォルトの名無しさん:2011/06/11(土) 14:14:36.31
listboxの扱いについて、良い方法がないかと相談させて下さい。

Key,接続元,接続先,ポート,接続状態,送信パケット数,受信パケット数
これらがオブジェクトのメンバでして、このオブジェクトがDictionaryクラスに納まっております。

Dictionary内の全オブジェクトをlistboxに表示させたいです。
また、オブジェクトの更新が発生した際にリアルタイムにlistboxを更新したいです。


@都度listboxを全消去し再度作り直すのがいいのか
Aオブジェクトの更新が発生した際、そのlistboxitemを検索し、対象行のみ更新したほうがいいのか

どのような方法がよいかアドバイスいただけないでしょうか。

897 :896:2011/06/11(土) 14:17:37.80
listboxではなくlistviewでした。

898 :デフォルトの名無しさん:2011/06/11(土) 14:21:17.10
2だろ
2以外を選択する理由がない

899 :デフォルトの名無しさん:2011/06/11(土) 16:40:27.14
検索があれだったらListViewItemへの参照ももっとけばいいじゃん

900 :デフォルトの名無しさん:2011/06/11(土) 20:33:50.50
>> 898
参考となりそうなものがなかなか見つけられず迷っていました。

>> 899

早速やってみます!

901 :デフォルトの名無しさん:2011/06/12(日) 00:10:21.15
>>896
内容を保持してるなら仮想化にするのはどうかな?

902 :デフォルトの名無しさん:2011/06/12(日) 05:07:57.45
c#のListViewってやけにちらつかない?
色々とめんどくさくなって詳細モードしか使わないListViewはDataGridViewに移行しちゃったわ

903 :デフォルトの名無しさん:2011/06/12(日) 07:25:32.30
アプリケーションの作り方に関する質問です。

Formに複数のコントロール(TreeView,ListView,TextBox,...)を配置した場合
各コントロールのイベントハンドラを普通に書いていくと、Formクラスがやけに大きくなりますし、
ゴチャゴチャになります。

どのようにしたら、スマートになりますか?


904 :デフォルトの名無しさん:2011/06/12(日) 07:29:34.76
>>903
ならない
その辺は元がそういう考えだから仕方ないと思う
別の人が読むことも考えたら俺仕様全開で珍妙な構造にしちゃうのもなんか違うと思う
partialでも使って分割してくれ


905 :デフォルトの名無しさん:2011/06/12(日) 08:23:14.82
>>903
MVCでググれ
VSはFormに全部突っ込むことを強要してくるから初心者はみんな同じ勘違いをしてる

906 :デフォルトの名無しさん:2011/06/12(日) 08:23:29.25
俺はある程度の機能をユーザーコントロールにして纏めているけどね

907 :デフォルトの名無しさん:2011/06/12(日) 08:26:13.61
ダイアログとかの小さい単位だったらFormに全部書くなぁ
さすがにメインフォームは分離するけど

908 :デフォルトの名無しさん:2011/06/12(日) 08:33:31.44
>>903
つ ユーザーコントロール

MVCはあんまり関係ないかも。
VとCは一体だけど、Mの分離は心がけ次第。
MVCフレームワークでも心がけが悪いと肥大化したコントローラーが暴走する・・

909 :デフォルトの名無しさん:2011/06/12(日) 09:57:02.05
>>908
心掛けというか、典型的なMVCパターンの実装は知っておくべきだと思うけど
自己流って大抵の場合時間の無駄だし

910 :デフォルトの名無しさん:2011/06/12(日) 10:11:57.58
ユーザーコントロールとか業務ロジックとかコレクションビューとかにうまく分割すれば
フォームのコードビハインドなんて屁みたいな量に収まるはず

911 :デフォルトの名無しさん:2011/06/12(日) 10:26:59.26
テストするにしろしないにしろ
整合性を確認する時にいちいちフォームを介するのはすげえ面倒くさいだろ
だったら分離しておくべきだ

912 :デフォルトの名無しさん:2011/06/12(日) 10:33:28.14
だいたいMから作り始めて、GUIくっつけるのは最後だよな

913 :デフォルトの名無しさん:2011/06/12(日) 10:40:32.76
お前らふらっとの方助けてやれよ
どうも参照型とポインタが違うと言い張りたい奴が一人で騒いでる

914 :デフォルトの名無しさん:2011/06/12(日) 10:42:23.55
いや違うから

915 :デフォルトの名無しさん:2011/06/12(日) 10:45:12.20
>>913
毎度毎度暴れてる奴だ
あれに触るな新参

916 :デフォルトの名無しさん:2011/06/12(日) 10:45:35.29
ふらっとでやれ

917 :デフォルトの名無しさん:2011/06/12(日) 10:45:44.05
俺も違う派だけど、ふらっとの方には1レスしか書いてないぞ

918 :デフォルトの名無しさん:2011/06/12(日) 10:47:55.13
いちいち相談室に来るな。

919 :デフォルトの名無しさん:2011/06/12(日) 10:52:26.17
ポインタの一部機能しか参照型は持っていないからな
*aと同等なことは出来ても*a++も*(int *)も出来ない

920 :デフォルトの名無しさん:2011/06/12(日) 10:55:34.18
int a;
int& b = a;
int* c = (int*)&b;

とかって出来ないんだっけ?

921 :デフォルトの名無しさん:2011/06/12(日) 10:58:26.61
MSDNで別物として扱われてるのに同一だと言い張る意味が分からん
http://msdn.microsoft.com/ja-jp/library/y31yhkeb.aspx

922 :デフォルトの名無しさん:2011/06/12(日) 11:09:05.94
>オブジェクト参照は、それを指すポインターがあってもガベージ コレクションされる可能性がある……

ここがキモやね

923 :デフォルトの名無しさん:2011/06/12(日) 11:43:40.03
ふらっとでやれよカス

924 :デフォルトの名無しさん:2011/06/12(日) 12:12:34.68
あれはDTMスレだろ

925 :デフォルトの名無しさん:2011/06/12(日) 12:13:27.04
>>888
2.0でLinqを使う、みたいなサイトがどっかにあった気が。
たぶんMore Effective C# 関連。

そういやNHibernateって流行ってないの?

926 :デフォルトの名無しさん:2011/06/12(日) 12:40:57.47
使っている人/所を見たことがない

927 :デフォルトの名無しさん:2011/06/12(日) 14:05:03.18
別にフォームに全部ぶちこんだってええやん

928 :デフォルトの名無しさん:2011/06/12(日) 14:07:30.85
フォームに全部ぶち込んだらGUIの大きな変更に耐えられない
一回作ってそれで終わりならぜんぜんOK

929 :デフォルトの名無しさん:2011/06/12(日) 14:15:59.36
そんなこと言っても改修時の見積もりは同じなんだろ?

930 :デフォルトの名無しさん:2011/06/12(日) 15:54:22.64
初心者スレで今議論されてる内容がレベル高すぎてついていけない

931 :デフォルトの名無しさん:2011/06/12(日) 16:08:03.41
まあ99%スレ違いの話題だから気に病むことは無いわな
概念的な話ばかりで実装も実験もないし、荒らしじゃないのアレ?

932 :デフォルトの名無しさん:2011/06/12(日) 16:10:47.41
ほっとけと言っているのにほっとけない世界の貧しさ

933 :デフォルトの名無しさん:2011/06/12(日) 16:19:57.65
ふらっとは相談室の犠牲になったのだ

934 :デフォルトの名無しさん:2011/06/12(日) 16:50:05.30
>>928
どっちにしろ耐えられないだろ
だってListViewにしたってこいつデータもいっしょに保持するじゃん
なのにデータと皮を分けろたって構造的にそんな風にできてねーんだよ

そんな風にできてないのに分けろって頭わいてるの?
できねーって言ってるじゃん
ListViewはあくまで見た目で本体のデータはこっちに・・・って現実的に可能なの?

935 :デフォルトの名無しさん:2011/06/12(日) 16:50:51.27
仮想モードってあるよ

936 :デフォルトの名無しさん:2011/06/12(日) 16:54:28.16
これはひどい

937 :デフォルトの名無しさん:2011/06/12(日) 17:00:16.23
>>935
一般的に使われてないよね?


938 :デフォルトの名無しさん:2011/06/12(日) 17:01:36.75
>>934
俺はデータをListViewItemのカスタムコントロールにして保持と表示を両立させるけどな
wpfなら関係なくなるけど

939 :デフォルトの名無しさん:2011/06/12(日) 17:02:57.08
>>937
超一般的だと思うよ

940 :デフォルトの名無しさん:2011/06/12(日) 17:06:29.60
>>938
でもそれってどういう構造なの?
構造どおりに作ったならVつまりListViewにさわってもデータはまったく取得できないようにしちゃうの?


941 :デフォルトの名無しさん:2011/06/12(日) 17:08:31.18
>>940
俺は938じゃないけど君は何が言いたいんだ。

そもそもListViewが持ってるのは表示用のデータ、つまりListViewItemのコレクションであって
データそのものじゃない。


何か勘違いしてないか?

942 :デフォルトの名無しさん:2011/06/12(日) 17:22:26.74
>>940
基本はTextやSubItemの中身をStringやInt等のプロバティーでアクセスできるようにする
てか、あなたが何を問題にしているのか理解出来ないんだが

943 :デフォルトの名無しさん:2011/06/12(日) 17:22:37.69
>>941
だからデータはCからもらうからVからデータもらっちゃいけない構造にするんだろ?

944 :デフォルトの名無しさん:2011/06/12(日) 17:24:43.14
>>942
それだとビューとデータなんてわける必要ないじゃん

>>943←俺のレス
ちがった
XデータはCから
○データはMから

945 :デフォルトの名無しさん:2011/06/12(日) 17:25:09.06
そろそろMVVMの出番か

946 :デフォルトの名無しさん:2011/06/12(日) 17:39:45.88
ImageListがDISられていると聞いて
アイコンモードだけ別データ構造が必要とかListViewマジ意味不明

947 :デフォルトの名無しさん:2011/06/12(日) 17:41:44.69
何が意味不明なのかよく分からん。
あんたが頭悪いだけだじゃないのか.....

948 :デフォルトの名無しさん:2011/06/12(日) 18:52:58.67
アイコンモード?だけ32x32のアイコンが必要になるってこといってんじゃねーの
このハゲはさ

949 :デフォルトの名無しさん:2011/06/12(日) 20:47:53.31
群馬県高崎市に住む39歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。

とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。

復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM

湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title


これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。


題名”ラダニアムの翼”
A wing of radaniam_partU.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0

題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。

950 :デフォルトの名無しさん:2011/06/12(日) 20:55:57.89
曝しは犬畜生にも劣る所業

951 :デフォルトの名無しさん:2011/06/12(日) 20:59:03.08
恥知らずなコピペマンが恥知らずポエマーを馬鹿にしてるつもりなんだから笑っちゃうよな。
目糞鼻糞過ぎる


952 :デフォルトの名無しさん:2011/06/12(日) 21:01:38.84
>>949
スレチすぎる。

感想をいえば、ネタ度が無さ過ぎて退屈。
モデリングはまー初級ってとこだろうけど、復興アニメ見たけど、行くべき未来が見えない。
何らかの茶化す技術が足りないと思う。電車がレトロすぎておまい昭和に還りたいのかよ。
IFをいうなら、電車が何回か素敵変形してリニアモーターカーになるくらいやってほしいな。
未来はどこにあるの?

953 :デフォルトの名無しさん:2011/06/12(日) 21:03:31.09
スレチにレスするド低能

954 :デフォルトの名無しさん:2011/06/12(日) 21:35:43.33
こんなド低脳どもでも技術的な質問が来ると真摯に対応してくれるので僕は好きです

955 :デフォルトの名無しさん:2011/06/12(日) 21:41:56.96
disliking

956 :デフォルトの名無しさん:2011/06/12(日) 21:44:35.81
dislinkingて何?英辞郎に載ってない

957 :デフォルトの名無しさん:2011/06/12(日) 21:45:17.78
linkじゃなくてlikeだぜ

958 :デフォルトの名無しさん:2011/06/12(日) 21:48:59.69
disgusting

959 :デフォルトの名無しさん:2011/06/12(日) 22:57:31.52
C#で精度のいいメトロノームって作れますか?

960 :デフォルトの名無しさん:2011/06/12(日) 22:59:25.56
精度のいいってどのくらいの精度を要求されるの?

961 :デフォルトの名無しさん:2011/06/12(日) 23:02:44.52
PCの時計と同精度なら作れる

962 :デフォルトの名無しさん:2011/06/12(日) 23:07:44.72
>>959-961
かまわん、続けたまえ

963 :デフォルトの名無しさん:2011/06/12(日) 23:08:36.70
え?突然何?
何かのネタ?

964 :デフォルトの名無しさん:2011/06/12(日) 23:19:18.63
>>963
もう一つのスレのネタをもってきただけ
スレが埋まるまでやってくれ

965 :デフォルトの名無しさん:2011/06/12(日) 23:20:05.30
ふらっと見てない人をからかうのやめよ!そういうのよくないよ!

966 :デフォルトの名無しさん:2011/06/12(日) 23:26:28.69
脳機能に障害を持つと人は繰り返しを好むようになるんだよ。
老人ホームとか障害施設行った事がある人なら実感してるはず。
だからloopyっていう言葉は理にかなってる。

たちが悪いのは、中途半端に脳が壊れてると少しは自意識が残ってるから、
本人はきっとネタでやってるつもりなんだろうけどね。

967 :デフォルトの名無しさん:2011/06/12(日) 23:28:43.10
なんかまたキモいのきたw

968 :デフォルトの名無しさん:2011/06/12(日) 23:29:06.57
アホに構うというのもひたすら繰り返されてるな…

969 :デフォルトの名無しさん:2011/06/12(日) 23:29:33.31
>>966
お前は100倍コード書いて寝てろ

970 :デフォルトの名無しさん:2011/06/12(日) 23:31:06.75
そのキモイのが>>915だ。
触るな。

971 :デフォルトの名無しさん:2011/06/12(日) 23:32:27.45
>>966キモいな

972 :デフォルトの名無しさん:2011/06/12(日) 23:33:02.86
SDKのバイナリファイルディレクトリが bin じゃなくて binn なのはなぜなの?

973 :デフォルトの名無しさん:2011/06/13(月) 11:00:38.50
LINQいいよね〜

974 :デフォルトの名無しさん:2011/06/13(月) 18:18:01.97
ああ、そうかもな。

975 :デフォルトの名無しさん:2011/06/13(月) 20:49:57.53
TIFF画像の読み込みについてなのですが、TIFF画像にはいろんな種類があるようで
このTIFFファイルは元データの他にサムネイルデータが埋め込まれており
普通に読み込むとサムネイルが表示されてしまいます。
元データを開きたいのですが何か方法はないでしょうか?
マルチTIFFなのかと思いGetFrameCountでフレーム数を取得しましたが結果は「0」でした。


976 :デフォルトの名無しさん:2011/06/13(月) 20:53:24.74
以下 TIFF Analyzer という解析ファイルで解析した結果です。

FileName = C:\test.TIF
ByteOder = "MM"
IFDEntryOffset = 0000118a hex
IFDEntryCount = 42

TagName[TagNo] = 値

NewSubfileType[254] = 1
ImageWidth[256] = 156
ImageLength[257] = 104
BitsPerSample[258] = 8, 8, 8
Compression[259] = 1
PhotometricInterpretation[262] = 2
ImageDescription[270] = "" (64文字以上表示省略)
Make[271] = "Kodak"
Model[272] = "DCS520C"

977 :デフォルトの名無しさん:2011/06/13(月) 20:55:34.38
StripOffsets[273] = 16896
Orientation[274] = 9
SamplesPerPixel[277] = 3
RowsPerStrip[278] = 104
StripByteCounts[279] = 48672
MinSampleValue[280] = 0
XResolution[282] (72/1 = 72.000000)
YResolution[283] (72/1 = 72.000000)
PlanarConfiguration[284] = 1
ResolutionUnit[296] = 1
Software[305] = "3.2.3"
DateTime[306] = "2002:03:22 15:11:31"
Artist[315] = ""
UnknownTag[330] : offset = 000015e6 hex
UnknownTag[33405] : offset = 000015ee hex
UnknownTag[33423] : offset = 000015fa hex
UnknownTag[33424] = 1582
Copyright[33432] = ""

978 :デフォルトの名無しさん:2011/06/13(月) 21:01:03.69
UnknownTag[33434] : offset = 00001622 hex
UnknownTag[33437] : offset = 0000162a hex
UnknownTag[33723] : offset = xxx
UnknownTag[34850] = 1
UnknownTag[34859] = 0
UnknownTag[36867] : offset = 00001632 hex
UnknownTag[37380] : offset = xxx
UnknownTag[37381] : offset = 0000164e hex
UnknownTag[37383] = 4
UnknownTag[37384] = 1
UnknownTag[37386] : offset = 00001656 hex
UnknownTag[37393] = 17437
UnknownTag[37397] : offset = 0000165e hex
UnknownTag[37398] : offset = 01000000 hex
UnknownTag[37399] = 2

よろしくお願いします。

979 :デフォルトの名無しさん:2011/06/13(月) 21:06:35.78
ごちゃごちゃ言わんと画像そのものをアップすりゃいいのに

980 :デフォルトの名無しさん:2011/06/13(月) 21:45:30.49
ですよね。でもできないんです。お客様の画像なので、、、
一万枚の画像加工です。
photoshopで開くと Camera Raw 6.0っていうウインドウが開きます。
非圧縮なのかな

981 :デフォルトの名無しさん:2011/06/13(月) 22:14:17.11
>>975
どうぞ
http://www.snap-tck.com/room03/c02/cg/cg05_01.html

982 :デフォルトの名無しさん:2011/06/13(月) 22:15:45.62
そのアドレス入手先と検索ワード
http://q.hatena.ne.jp/1150768674

tiff フォーマット ヘッダ


もう画像ファイルのフォーマット解析は疲れたお・・

983 :デフォルトの名無しさん:2011/06/13(月) 22:23:16.83
>ImageWidth[256] = 156
>ImageLength[257] = 104
ってあるけど、サムネイルはこれより小さいの?

984 :デフォルトの名無しさん:2011/06/13(月) 22:28:19.91
>>981, >>982
ありがとうございます。
>>983
サムネイルがこのサイズです。
でもphotoshopで開くと大きなサイズの画像が開きます。
多分、windowsのexplorerがサムネイル表示するときに重くならないように
こんな風にしたのかとおもいます。

985 :デフォルトの名無しさん:2011/06/13(月) 22:42:41.45
UnknownTag[330]が子IFDのオフセットらしいよ
http://www.awaresystems.be/imaging/tiff/tifftags/subifds.html

最初のIFDEntryOffsetの値をこの値に変えたら読めるんじゃね?
TIFFの構造なんて初めて知ったので何の根拠もないけど

986 :デフォルトの名無しさん:2011/06/13(月) 22:44:45.41
フォーマットの話はC#関係ないので

987 :デフォルトの名無しさん:2011/06/13(月) 22:46:17.73
pngにしろjpegにしろlibあるから誰か書いてるかもな〜とか思ってぐぐったら
http://dobon.net/vb/dotnet/graphics/selectactiveframe.html

988 :デフォルトの名無しさん:2011/06/13(月) 22:46:50.57
tiff c#
でぐぐってね

989 :デフォルトの名無しさん:2011/06/13(月) 23:07:10.06
ぐぐりました。。。5時間ぐらい。。。
987さんのページのマルチTIFも試した結果
GetFrameCountでのフレーム数が「0」で、、、
結局photoshopのバッチを併用する形にしたのですが、
個人的にこの問題を解決したかったので質問させていただきました。
ですが、ちょっと今の自分にはハードルが高いようです。
ご協力ありがとうございました。
時間がある時に>>985さんの方法も試したいと思います。
今は「値を書き換えるってどうやって?」ってレベルなんで。。。
お手数おかけしました。

990 :デフォルトの名無しさん:2011/06/13(月) 23:33:43.10
>>989
一応簡単に説明しとくと
・fs = new FileStream(...)でTIFFを開く
・ary = new byte[(int)fs.Length]で配列を作成
・fs.Read(ary,0,ary.Length)で配列に値を読み込む
>>981を参考に配列から330タグを探す
・330タグの値を配列の4から7番目に代入
・配列からMemoryStreamを作成
・Image.FromStreamでMemoryStreamを読む

って具合かな
先にバイナリエディタで手動で書き換えて検証した方がいいとは思うけど

991 :デフォルトの名無しさん:2011/06/14(火) 00:06:59.13
>>990さん
ありがとうございます。やってみます。

992 :デフォルトの名無しさん:2011/06/14(火) 22:51:11.76


993 :デフォルトの名無しさん:2011/06/14(火) 23:53:29.49


994 :デフォルトの名無しさん:2011/06/15(水) 00:13:47.99


995 :デフォルトの名無しさん:2011/06/15(水) 00:26:22.63


996 :デフォルトの名無しさん:2011/06/15(水) 00:27:07.70
>>976
Kodak DCS520とはまた古いデジカメだな。
その画像、TIFF/EPじゃないか?

997 :デフォルトの名無しさん:2011/06/15(水) 00:50:06.48


998 :デフォルトの名無しさん:2011/06/15(水) 18:08:17.50
次スレ
http://hibari.2ch.net/test/read.cgi/tech/1308128665/

999 :デフォルトの名無しさん:2011/06/15(水) 18:17:00.80
おつんぼ

1000 :デフォルトの名無しさん:2011/06/15(水) 18:17:06.45
うめ

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

206 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)