ふらっとC#,C♯,C#(初心者用) Part40 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/04/13 14:08:37
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ

ふらっとC#,C♯,C#(初心者用) Part39
スレリンク(tech板)

2:デフォルトの名無しさん
09/04/13 14:08:48
2ならぬるぽ

3:デフォルトの名無しさん
09/04/13 14:08:52
-----関連スレ

C#, C♯, C#相談室 Part51
スレリンク(tech板)

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
スレリンク(tech板)

初心者のためのプログラミング言語ガイド Part14
スレリンク(tech板)

----参考サイト

URLリンク(www.google.co.jp)
URLリンク(msdn.microsoft.com)
URLリンク(homepage3.nifty.com)
URLリンク(www.atmarkit.co.jp)
URLリンク(dobon.net)
URLリンク(jeanne.wankuma.com)
URLリンク(www.labasp.net)

4:デフォルトの名無しさん
09/04/13 14:09:11
>>2
クソカスがっ

5:デフォルトの名無しさん
09/04/13 14:10:49
>>前スレ994
では質問を変えます。
ファイルパスから正しい大文字小文字を区別したファイルパスを取得する方法を教えてください。
Path.GetFileName()はパスを分解して返してくるだけで実際のファイル名を返しません。

6:デフォルトの名無しさん
09/04/13 14:13:59
>>5
質問に答える前に実行環境聞かれてただろ?
windowsなら
> 正しい大文字小文字を区別したファイルパス
そんなファイルパスは無いでFA

7:5
09/04/13 14:16:56
>>6みたいな内容を理解せずに誤った事を答える人は無理して書く必要はありません。

ところで自己解決しましたので載せておきます。
URLリンク(dobon.net)
URLリンク(dobon.net)

8:1
09/04/13 14:19:29
そういう実装依存な解決をするのもどうなのかとは思う

9:5
09/04/13 14:21:02
他に良い解決方法があるのですか?

10:デフォルトの名無しさん
09/04/13 14:24:02
何が言いたいんだお前は
ファイル名の大文字小文字を正しく取得したい
でいいんじゃないのか?

ちなみにWindows上では大文字小文字が違おうと同じファイル名として扱われる
だからTEST.txtをtest.txtとして取得しても、問題なくファイルは開ける。

ということで大文字小文字が違おうと"実際のファイルパス"は"返ってきてる"
ファイラーなどを作っていて、大文字小文字を正しく表示したい場合は、"実際のファイルパス"ではなく
"大文字小文字が正しいファイルパス"と言わないと伝わらない

あと、この問題は.NET Framework2.0で修正されてるようだが
おまいは未だに1.1を使ってるのか?

11:5
09/04/13 14:26:22
>>10みたいにただ感情的にスレを荒らす人は書く必要はありません
御自分でお調べになってください

12:デフォルトの名無しさん
09/04/13 14:27:12
煽り合い宇宙の様相を呈してまいりました

13:デフォルトの名無しさん
09/04/13 14:28:22
おまいが1.1を使ってるかどうかなんてどうやって俺が調べろとw

14:デフォルトの名無しさん
09/04/13 14:33:50
>>7
あれ?おまえ貧乳じゃね?

15:デフォルトの名無しさん
09/04/13 14:34:25
痛すぎる5を見てかーちゃん泣きそうだよ

16:デフォルトの名無しさん
09/04/13 14:39:12
なにがなんでもっていうんなら、DirectoryInfoから取れば?

17:デフォルトの名無しさん
09/04/13 14:41:40
5と一緒のプロジェクトでは働きたくないってことは把握した

18:デフォルトの名無しさん
09/04/13 14:56:36
ほんと何様のつもりなんだよな5はw

19:デフォルトの名無しさん
09/04/13 15:00:45
俺様

20:デフォルトの名無しさん
09/04/13 15:06:26
大文字小文字を区別するファイルシステムを持つコンピュータと共有するときどうなるんだろう

21:デフォルトの名無しさん
09/04/13 15:08:06
ワレワレハファイルシステム
テイコウハムイミダ

22:デフォルトの名無しさん
09/04/13 15:13:56
Linuxのsamba上にdateコマンドの出力を書き込んだdate1.txtとDATE1.txtを用意してみた。
エクスプローラー上では2つとも見える。
が、どちらをメモ帳等開いてもdate1.txtの中身が表示され、DATE1.txtにはアクセスできない。
dirコマンドでもエクスプローラー同様、2つとも見える。
しかし、typeコマンド、cygwinのcatコマンドではどちらもdate1.txtしかアクセスできない。

総合すると、見えはするが片方しかアクセスできないということだな。
実用にはならんだろう。

23:デフォルトの名無しさん
09/04/13 15:19:46
>>22
スレ違いな上に何を試してるのかも結論も意味不明

24:デフォルトの名無しさん
09/04/13 15:22:14
>>23

20のレスに対して端的に実験をしてみただけなんだが。
まさかそんな突っ込みがはいるとは思わなかったよ。

25:デフォルトの名無しさん
09/04/13 15:33:12
それなら自前でファイルシステム作って直接マウントしてやってみてよ

26:デフォルトの名無しさん
09/04/13 15:39:37
>>25
お前は何が言いたいんだ?

27:デフォルトの名無しさん
09/04/13 15:47:55
IDの出ない板で煽り合い、楽しいのう

28:デフォルトの名無しさん
09/04/13 15:57:00
自前のファイルシステムって・・・
OrenoFileSystemとか作れってことかい?
まず仕様から決めないとな

29:デフォルトの名無しさん
09/04/13 15:57:29
>>22がすごい参考になったのは俺だけ?

30:デフォルトの名無しさん
09/04/13 16:01:04
sambaで共有したディレクトリにそのOSから直接書き込むバカがいるってことはわかった。

31:デフォルトの名無しさん
09/04/13 16:26:40
Linux上は大文字小文字を判別する。Win上は判別しない。それだけ。

32:デフォルトの名無しさん
09/04/13 19:28:01
>>20
蛇足の蛇足になるが、WindowsにはPOSIXサブシステムとかあるから、
その気になれば、Windows機単独でも試せるぞ。

33:デフォルトの名無しさん
09/04/13 19:33:36
で、結局>>5は何がやりたかったの?

34:デフォルトの名無しさん
09/04/13 20:11:42
表示用か何かで、c:\program files→C:\Program Filesのように、
ディスク上に存在するとおりの名前を取得したいのではないかと推測。

35:22
09/04/13 20:25:52
アプリケーション設定の保存先はApplication Data/Local Settings/レジストリの
いずれかを選べるわけだが、プログラムのカレントに置くことは不可能なんだっけ?
(まあVistaでProgram Filesにインストールされちまったらどの道不可能なわけだが)

マイドキュメント内に設定ファイルを保存する仕様で、
データ保存用にYAMLとかSQLiteとか考えてみるかなぁ……。

36:デフォルトの名無しさん
09/04/13 20:33:55
ToolStripMenuItemに表示される文字列についてなんですが
「&&」が含まれる文字列をTextプロパティに設定した場合
表示上は「&」が1つだけになってしまいましたが
実際にTextプロパティから文字列を取得すると「&&」になっています。
表示も「&&」とするにはどのようにしたら良いのでしょうか。お願いします。

37:デフォルトの名無しさん
09/04/13 20:47:40
>>36
そもそも、&F と書いたらFキーに反応するメニューになるわけだが?
そこから類推して考えよう。

38:デフォルトの名無しさん
09/04/13 21:04:11
>>5
Path.GetFullPath()を試したか?

39:36
09/04/13 21:43:20
>>37
ありがとうございます。
ToolStripMenuItemにはUseMnemonicプロパティに相当するものがないようなので
自分で文字列そのものの&を増やしてやるしかないですかね

40:デフォルトの名無しさん
09/04/14 08:45:38
C#ってソースコード見られてしまうんでしょう?
ユーザーに配るときどうするの?
難読化するだけ?

41:デフォルトの名無しさん
09/04/14 08:55:27
知られたくないコードはdllにするなりしてネイティブ化すれば?

42:デフォルトの名無しさん
09/04/14 08:57:35
ネイティブ化って.NETを使わずC++で書くってこと?

あとdllにしてもノートブックで開くと見えてしまいますよね。

43:デフォルトの名無しさん
09/04/14 08:58:13
ノートブック?
ネイティブ化レベルで嫌ならそれはC#の問題じゃないだろ
暗号化ツールでも使えよ

44:デフォルトの名無しさん
09/04/14 09:02:52
Nandokuってソフトがあるから使えば

45:デフォルトの名無しさん
09/04/14 09:17:31
どうせILを解析されたらわかっちゃうんだから、嫌なら配布はやめて
サービスを提供するようにすれば?

46:デフォルトの名無しさん
09/04/14 09:19:18
俺はただ単に自分のソースが恥ずかしいから難読化してるw

47:デフォルトの名無しさん
09/04/14 09:26:47
じゃあ普通は難読化+暗号化するのね。

48:デフォルトの名無しさん
09/04/14 11:22:13
おれは、普通に書いてるつもりでも、
難読化した?って聞かれる orz


49:デフォルトの名無しさん
09/04/14 11:31:02
dllを作れば、ソースコードそのものは見られなくなるの?

50:デフォルトの名無しさん
09/04/14 11:31:01
>>48
引き抜きたい

51:デフォルトの名無しさん
09/04/14 11:33:54
>>50
抱かれたい Yes Falling'Love

52:デフォルトの名無しさん
09/04/14 12:50:30
今度、C#でアプリを作ろうと考えています。
そこで、今までのC++(MFC)の資産を多少流用したいのですが、連携って可能なんでしょうか?
一応、ネイティブコードは、マネージコードでラップしてやって呼び出せるのは試しました。
例えば、CDialogとかでUIやリソースを伴うものを、C#のフォーム内に貼り付けるみたいな事は実現出来ますでしょうか?
よろしくおねがいします。

53:デフォルトの名無しさん
09/04/14 13:26:35
>>52
詳細は自分でぐぐって調べればいいと思うが、
FormsとMFCは根本的に違う仕組みなので、残念ながらソースコードそのものの流用はほとんど利かないと思う。
せいぜい、ダイアログやウィンドウをコンポーネントのレベルで流用するくらいだろうか。
それもCOM越しかC++/CLIでラップする必要があるだろう。

54:デフォルトの名無しさん
09/04/14 14:03:02
>>53
有難うございます。
ビデオ編集ソフトを作れとのお達しなのですが、どうもDirectShowは
公式にC#から呼び出すクラスなどは用意されていないみたいで、
(DirectShow.netは権利的に使えないので)DirectShowをC++/CLIでラップするか、
それとも、DirectShowが必要な部分だけ(例えば表示とか)をC++で書いて、
そのコンポーネントを丸ごと持ってきちゃえばいいかなと思いました。
C++はMFCメインで今まで作ってきたのですが、例えばMFCで作成したクラスを
DLL等々にして、C++/CLIでラップしてやれば、実現できそうですかね?
有難うございました〜。

55:デフォルトの名無しさん
09/04/14 15:21:15
文字等を描画表示するとき

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawImage(_bmp, x1, y1, srcRect, units);


Invalidate();
としてまとめて書いた_bmpを更新して表示してるんですが

一文字ずつ書いた跡を表示したいので
このフォーム eにあたる部分に直接書き込む方法ないでしょうか?

56:デフォルトの名無しさん
09/04/14 15:32:23
>>49
ノートパッドというものを使うと
中味を見られてしまうと
教えてgooに書いてある

57:デフォルトの名無しさん
09/04/14 15:38:44
dllにもネイティブコードとILのがあんだろ
混ぜて考えるなよ

58:デフォルトの名無しさん
09/04/14 16:05:46
>>55
意味がわからん

59:55
09/04/14 16:18:14
e.Graphics.に直接Drawしたいのですが
他の場所でやるとバグってしまいます

書きたい場所からOnPaintを呼び出して
そこでDrawStringするように試してみます

60:デフォルトの名無しさん
09/04/14 16:19:38
このスレ見てるとたまに頭おかしくなりそうになるな

61:デフォルトの名無しさん
09/04/14 16:20:28
普通に逆コンパイラに食わせればすぐ見えるわけだが。
早速自作ソフトを食わせてみたが、リソースもソースコードも丸見えだなw
しかも、コメントがない程度でほとんどもとのコードと遜色がない。

機械語に変換されるネイティブと違って.NETはILまでしか落ちないからなぁ。
難読化? 別にいいや。

62:デフォルトの名無しさん
09/04/14 16:23:02
簡単に見られたくないコードはアンマネージドで書けってことか。

63:デフォルトの名無しさん
09/04/14 16:29:41
猫Winの文字化け表示の話をweb検索で解決できたw
まあ第3版買えってことなんだろうな

64:デフォルトの名無しさん
09/04/14 16:37:56
つ 難読化 ・・が続く、いつもなながれだな。飽きないね。

65:デフォルトの名無しさん
09/04/14 16:59:37
そこまでして見たがる人間がどこまでいるのかと
自意識過剰なんじゃね?

66:デフォルトの名無しさん
09/04/14 17:04:12
見られて困る部位をC#やVB.NETで書いてあるようなアプリなんて間違いなく使い物にならない

67:デフォルトの名無しさん
09/04/14 17:15:35
え?vb.netも見られちゃうの?

68:デフォルトの名無しさん
09/04/14 17:17:15
いやんみないでぇ

69:デフォルトの名無しさん
09/04/14 17:28:01
>>66
言えてるな。コアの部分にそれらの言語を選択してるアプリなんて
わざわざ逆アセしたところで得るものなんて何もない

70:デフォルトの名無しさん
09/04/14 17:28:08
お前の粗チン(ソースコード)何か誰もみねえよ
お前のソースコード覗いて100円の特になるか?
100銭の得にもならんだろ

っていってやれよ初めから
初心者ほど言い出しがちなネタなんだから
まず初心者脱出しろ

71:デフォルトの名無しさん
09/04/14 17:44:09
.NETの案件でいくら動くか知ってて言ってるのか……。

>>67
それだけじゃなくむしろC#で書かれたプログラムをVB.NETで逆アセしたり、また逆もできる。

72:デフォルトの名無しさん
09/04/14 17:48:05
MonoのAOTでネイティブコンパイルすればOK

73:デフォルトの名無しさん
09/04/14 17:49:29
スレタイに初質って書いてんだろ。
そんなスレで案件とか、字も読めない文盲か?脳障害か?
どっちにしろ病院の方が先だな。

74:デフォルトの名無しさん
09/04/14 17:51:57
何でキレてんのw
言ってることは分からんでもないがw

75:デフォルトの名無しさん
09/04/14 17:58:49
(´・ω・`)しーましぇん。

でもねー案件がどうとか言い出すなら、
予算出してもらってMSの難読化ツール買うなり、
ネイティブコード要因雇って移植するなりすりゃいいんじゃねえかと。

ボランティア回答スレで何求めてるの?
業務サポートですか?

76:デフォルトの名無しさん
09/04/14 18:00:37
>>59
もうちょっと整理してやりたいことと今やってることを書いてみたら。
OnPaintとそれ以外で描く場合の動作はわかってしまえば簡単なんだが
見た感じだけで動作を予測するのは難しい。

オフスクリーンバッファを用いれば解決しそうな気がしないでもない。

77:デフォルトの名無しさん
09/04/14 18:01:02
ソースを見られたら困るというほど貴重なテクニックとかアルゴリズムを使ってるなら
逆にそれを特許申請して金取って使わせたらどうよ

78:デフォルトの名無しさん
09/04/14 18:01:57
アセンブリ言語を使いたくてウズウズしてる先輩が食いついてきそうだ。

79:デフォルトの名無しさん
09/04/14 18:02:42
Win板の質問スレでも業務ネタを聞いてくる奴はいるなあ
責任持てないから然るべき所に依頼して下さいって叩き返されてるけど

80:デフォルトの名無しさん
09/04/14 18:09:42
しつこい。もういい。
ソースコードの話題は終了な。

81:デフォルトの名無しさん
09/04/14 18:13:52
>>71
もしかしてVB6をVB.NETにしてそれをC#にしたりもできるの?

82:デフォルトの名無しさん
09/04/14 18:20:21
実際やれよ

83:デフォルトの名無しさん
09/04/14 18:23:40
C#←MSIL→VB.NET は可能
VB6→VB.NET はVSの移行ツールで一応出来るけど・・とりあえず使ってみれ

84:デフォルトの名無しさん
09/04/14 19:15:00
>>55
やりたいことは意味不明だが、
質問への答えとして、CreateGraphicsが使えるのではという気がする。

85:55
09/04/14 19:35:55
この
OnPaint(PaintEventArgs e)
のeをよそでも使えるように、と書こうと思ったら
>>84
g = this.CreateGraphics();
これでできました。
ありがとうございます。

86:デフォルトの名無しさん
09/04/14 22:09:15
ILに落としてパスワードチェックを書き換えてilasmする生活が始まるお(;ω;

87:デフォルトの名無しさん
09/04/14 22:09:59
だからそんなもんC#で書くなよw

88:デフォルトの名無しさん
09/04/14 22:22:38
それってネイティブでも大差なくね?
バイナリ少し書き換えられたら終了じゃないか。

89:デフォルトの名無しさん
09/04/14 22:40:30
パスワードチェックのクラックぐらいだったらネイティブでも似たような
もんだよな確かに。

90:デフォルトの名無しさん
09/04/14 23:22:46
可読かどうかはスクリプトキディを寄せ付けないための必要で十分な条件かもしれない

91:デフォルトの名無しさん
09/04/14 23:25:08
apache2入れてみたんだが,apacheってどの板で盛んだっけ?

92:デフォルトの名無しさん
09/04/14 23:29:31
スレがあるのは多分自家鯖板じゃないかなあ
運用がテーマであってWebDevelopmentとは何の関係もないスレだとは思うがね

93:デフォルトの名無しさん
09/04/14 23:31:35
<a>
<b c=100 />
</a>
といったxmlファイルがあったとして、属性cをStringではなく直接
intで取る方法ってないでしょうか。

94:デフォルトの名無しさん
09/04/14 23:36:05
>>92
てぇんきゅー
ちょっと見てくるー

95:デフォルトの名無しさん
09/04/14 23:36:28
属性値は二重引用符で囲まないと整形式じゃなくなっちゃうよ
もしやるとしたらDTDなんかを使って
URLリンク(support.microsoft.com)

96:デフォルトの名無しさん
09/04/14 23:37:18
>>93
まず何で取ってこようとしてるのか書こうよ…
で,xml的にはattributeは必ず"で囲む必要があったんじゃなかったっけ?

97:デフォルトの名無しさん
09/04/14 23:44:46
行って見て来た
ちょうちょう初心者の俺にはタスク指向のヘルプがないと無理ということだけ分かった
畑違いすぎワロタ

DTDもいいけどxsdでinteger突っ込むのもいいかもね
外部ファイルが必要になるし,現行のプログラムじゃ導入までが面倒だとおもうが

98:デフォルトの名無しさん
09/04/15 00:24:18
俺はXMLよりYAMLのほうが読み書きしやすくて好きなんだが、
.NET向けにはいいライブラリがないんだよね……。

99:デフォルトの名無しさん
09/04/15 01:12:57
書くのは XML はインテリセンス、ツールチップコメントとか
エディタがフルサポート状態なので VS 使いとしては楽と
いうか。
Codeplex にあるんだっけ > YAML

100:デフォルトの名無しさん
09/04/15 01:19:37
yaml.orgには2つ.NET向けの実装が紹介されてるな(そのうちの一つがcodeplexの

101:デフォルトの名無しさん
09/04/15 02:17:51
そっかー。Visual Studioでxml書くとインテリセンスが使えるんだっけ。盲点だったな。
yaml-netの方は改造なしでそのままでは話にならないレベル。
yatools.netの方はDOMインターフェイスがなくてSAX的な読み方しかできないので、
YAMLを使う利点が半減してしまう。
まあ、静的型付言語にYAMLは向いてないのかもしれないが……。

後、せっかくなので。
.NETアプリケーション向けに簡単なstringやintegerを格納できるxmlの書式データってどこかにないだろうか?

102:デフォルトの名無しさん
09/04/15 02:23:02
アドオン作ればいいじゃん

103:デフォルトの名無しさん
09/04/15 02:46:43
>>101
クラス作ってxsd.exeって話?

104:デフォルトの名無しさん
09/04/15 02:59:14
>>101
XmlSerializer

105:デフォルトの名無しさん
09/04/15 03:45:51
すみません、前スレで
public string MessageText { get { return textBox1.Text; }
ってあったのですが、
Form1でこれやると怒られるんですが・・・

106:デフォルトの名無しさん
09/04/15 03:47:37
VSさんは親切にも具体的理由を挙げて叱ってくれているというのにガン無視とはどういう了見だ

107:デフォルトの名無しさん
09/04/15 03:48:29
静的クラスではダメですってことですか?

108:デフォルトの名無しさん
09/04/15 03:59:24
そもそもなんつって怒られたの?

109:デフォルトの名無しさん
09/04/15 04:02:19
そもそもForm1を静的クラスってどういうこと?

110:デフォルトの名無しさん
09/04/15 04:03:00
どうせForm1.MessageTextとか書いてんだろ

111:デフォルトの名無しさん
09/04/15 04:04:24
エントリポイントでインスタンスの作られていない脳内のForm1のことだとしたらここで聞かれてもな

112:デフォルトの名無しさん
09/04/15 04:04:30
前スレでも

>クラスとインスタンスの違いが理解できていないよーな

って言われてるねえ

113:デフォルトの名無しさん
09/04/15 04:05:43
午前4時に15分で7レスつくって何してんだおめーら。

114:デフォルトの名無しさん
09/04/15 04:06:12
残業

115:デフォルトの名無しさん
09/04/15 04:06:54
残尿

116:デフォルトの名無しさん
09/04/15 04:10:57
時差

117:デフォルトの名無しさん
09/04/15 07:37:44
趣味でプログラムやってる人間にとって、
C#って実用性ある?
皆仕事以外で何に使ってるの?

118:101
09/04/15 07:43:19
寝てる間にスレが流れた。
>>104
さっそく試してみた。エロいな、これは!

整数、実数、文字列、文字列のコレクション、全てOK。
アプリ依存のデータを入れる程度だったら、これで十分すぎるな。

119:デフォルトの名無しさん
09/04/15 07:48:48
>>117
WindowsでちょっとしたGUIアプリを書くのにこれほどお手軽な開発環境は無い。
VB.NETとどっちを使うかはお好みで。

120:デフォルトの名無しさん
09/04/15 09:18:42
>>117
文字列処理でも、ファイル処理でも、数値計算でも何でもできるよ。

昔はほんのちょっとした計算とか、ファイル操作とか何でもC#でやってた。
たまに使うためだけにsedとかgrepとかsh覚えても、すぐ忘れちゃうし、
全部インテリセンスに頼れるC#(てかVisual Studio)は便利。

最近はPowerShellがあるからワンライナーなものはこっちでやっちゃうけど、
10行超えたらもうC#。


121:デフォルトの名無しさん
09/04/15 11:38:10
VSのインテリセンスとリアルタイムなエラー指摘が無かったら
xsdなんか書ける気がしない

122:デフォルトの名無しさん
09/04/15 19:47:45
C#でネームスペースをDll化したんだけど
SummaryをDLL使った側で読むにはどうしたらいいの?

123:デフォルトの名無しさん
09/04/15 19:51:32
[AssemblyName].xml ってのができてると思うが。
できてないんならプロジェクトのプロパティ確認して。

で、インテリセンスは同じところにおいときゃ勝手に読む。
ドキュメントっぽくしたいなら Sandcastle とかで


124:デフォルトの名無しさん
09/04/16 00:25:21
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
MessageBox.Show("メッセージ");
}

これでXを押してもメッセージボックスがでないんですが、ほかに何か必要でしょうか?
環境のせいでしょうか。

125:デフォルトの名無しさん
09/04/16 00:29:22
イベントハンドラをイベントに追加してないんでそ
Form1.designer.csのInitializeComponentの中をのぞいてイベントに対して何やってるか見てみ
つかイベントはデザイナのプロパティグリッドの雷マークからやるようにした方が良い

126:デフォルトの名無しさん
09/04/16 00:29:30
>>124
どっかでForm1.Closing+=みたいにイベントハンドラさんにちゃんと教えてあげてる?
書いてあるだけで探して関連付けてくれる負んぶに抱っこは幼稚園までだよ!
みたいなことか

127:デフォルトの名無しさん
09/04/16 00:52:28
>>125-126
雷マークから追加でできました。
ありがとうございます。

128:デフォルトの名無しさん
09/04/16 01:09:28
質問です。WCFで通信量ってわかりますか?

129:デフォルトの名無しさん
09/04/16 01:18:57
>>128
よくわからんので調べてみた
URLリンク(social.msdn.microsoft.com)
とか
URLリンク(www.google.co.jp)


130:デフォルトの名無しさん
09/04/16 14:27:11
treeviewのノードを全部消したいんだけど、やり方がわからないです。
選択中のノードの消し方はなんとかわかったんだけど、
単純に全部消す方法を教えてください。

131:デフォルトの名無しさん
09/04/16 14:30:27
TreeView.Nodes.Clearとかじゃね
知らんけど

132:130
09/04/16 14:55:47
>>131
ありがとうございます!出来ました!

133:デフォルトの名無しさん
09/04/16 15:10:23
どういたしまして

134:デフォルトの名無しさん
09/04/16 18:02:30
>>129
解決してないですね
パフォーマンスモニタは精度が低いし・・・
自分でBindingを継承するなりしてみます。

135:デフォルトの名無しさん
09/04/17 00:16:22
ToolStripMenuItemのBackColorプロパティを設定しても
何も変わらないんですけど、特別な手順が必要ですか?

136:デフォルトの名無しさん
09/04/17 00:22:23
まずズボンを脱ぎます

137:デフォルトの名無しさん
09/04/17 00:49:00
次にスカートを穿きます

138:デフォルトの名無しさん
09/04/17 00:57:38
そしてクリをいじります

139:デフォルトの名無しさん
09/04/17 07:54:09
いきます

140:デフォルトの名無しさん
09/04/17 09:08:07
C#ってネイティブコンパイルできる?

141:デフォルトの名無しさん
09/04/17 09:54:41
Mono使えばできるらしいけど。

142:デフォルトの名無しさん
09/04/17 10:04:21
>>140
ngen.exeでググリ給え

143:デフォルトの名無しさん
09/04/17 10:07:22
しらなかった
ngen使えばソースみられない、でOK?

144:デフォルトの名無しさん
09/04/17 10:19:20
ngenしても元のアセンブリと一緒に配布しなきゃいけなかったような

145:デフォルトの名無しさん
09/04/17 10:23:49
・・・そなんだ

146:デフォルトの名無しさん
09/04/17 12:51:02
class A
{
 bool foo = false;
 public bool Hoge { get { return foo; } set { foo = value; } }
}

void ThreadProc(A objA)
{
 while (!objA.Hoge) { 〜 }
}

他のスレッドがHogeをtrueにするまでループするようになっているのですが
この場合A.fooにvolatileは必要でしょうか?
プロパティを通してアクセスするので必要ないような気がするのですが
確信がもてません。

147:デフォルトの名無しさん
09/04/17 13:07:27
子フォームをドラッグして親フォームとある程度近い距離になったとき
親フォームの上下左右にぴったりくっつき,
遠くなったら子フォームのみ自由に動く.
くっついてるとき親フォームをドラッグしたら子フォームも付いてくる.

といったような親フォームに吸着する子フォームを作りたいんだけど

親子ウインドウの相対座標やサイズから地道にIF/THENルール作るしかないですか?

148:デフォルトの名無しさん
09/04/17 13:51:30
ここに20行ぐらいのコード貼って、どこがおかしいか見てもらってもいいですか

149:デフォルトの名無しさん
09/04/17 13:52:29
長ければテキストに貼り付けてアップローダーに上げるのが良いかと思います

150:デフォルトの名無しさん
09/04/17 13:57:28
>>146
JIT最適化によって直接参照する形になりうるんじゃなかったっけ

>>147
基本クラスライブラリにはそういう機能は存在してないな

151:148
09/04/17 14:00:41
了解しました。
URLリンク(textup.no.land.to)

textBox1に秒数、2に繰り返し回数を入れ、
label1に経過秒数(一回ごとにリセット)、
label2に何回目かを表示しようとしています。

label1・2共に数字が表示されません。
たまに変な数字が出たりします。
何がいけないのかわかりますか?

152:デフォルトの名無しさん
09/04/17 14:03:32
処理でスレッド占有してるから画面描画できる隙がない

153:デフォルトの名無しさん
09/04/17 14:08:35
BackgroundWorker使うといいよ

154:151
09/04/17 14:19:06
>>152
なるほど、そういうことだったんですね
ぜんぜんわからなかた

>>153
解決方法ありがとうございます。
早速調べてみます

155:デフォルトの名無しさん
09/04/17 16:37:04
URLリンク(codezine.jp)

上記URLを参考に、マルチスレッドを実装したのですが
サンプルで言うWriteStringメソッドやCallbackMethodメソッドが
staticじゃなきゃいけないと言うことは無いと思っていいでしょうか。
少なくともCallbackMethodのstaticは外しても一見問題無さそう
なのですが、何か理由があってそうなっているのであれば教えて下さい。

156:デフォルトの名無しさん
09/04/17 17:17:26
mainがstaticだから合わせたんじゃないの。
それのVBのサンプルが怪しいな、VBのMainは普通Moduleを使うものだが。


157:147
09/04/17 17:40:48
>>150
やっぱりそうですか,
地道にIF/THENルール作ります
ありがとうございました

158:デフォルトの名無しさん
09/04/17 22:26:25
WinFormsって512x384の画像表示で40FPSしか出ないほど重いものなんでしょうか・・

NiVEというC#製のモーショングラフィックスソフトがあるのですが、
FAQの「プレビューが遅い。エフェクトとかかけてないのに30fpsのプロジェクトで22fpsまでしか出ない」
の項目に「WinFormsが重いのでプレビューの高速化は厳しいです。」

とあり、実際試してみると40FPSまでしか出ません。
やっぱりWinFormsの描画って遅いんでしょうか?

URLリンク(nicoae.if.land.to)

159:デフォルトの名無しさん
09/04/17 22:28:51
WPFとかXNAだとどうなんだろうネー

160:デフォルトの名無しさん
09/04/17 22:32:47
描画って言うよりはそれ以外の部分で処理食ってるような気はするわ

161:デフォルトの名無しさん
09/04/17 22:34:23
WinFormsとか関係ないんじゃないのか?
まさか普通にGDI+で描画してるわけじゃないだろ

162:デフォルトの名無しさん
09/04/17 23:52:43
今スレを見返してて、文字列コレクションでもXmlSerializerが可能ってレスがありましたけど
ちなみに、文字列配列では無理ですよね?

163:デフォルトの名無しさん
09/04/18 00:01:02
そんなこと無いよw

164:デフォルトの名無しさん
09/04/18 00:01:04
>>162
なぜ試さない?

165:デフォルトの名無しさん
09/04/18 00:03:15
普通にstring[]でもList<string>でも可能
何を見てそんな認識に至ったのか分からん

166:162
09/04/18 00:04:34
いや、以前試してできなかったので
てっきりできないと思い込んでたんですけど
118を見て、コレクションが可能ということだったので
もしかして自分のやり方が間違っていただけかと思って…

167:デフォルトの名無しさん
09/04/18 02:22:04
XMLArray属性

ちなみに俺は姉属性

168:162
09/04/18 02:29:50
もう一度試してみましたが、今度はちゃんとできました。
以前は文字列配列じゃなくて、ArrayListでやってダメだった記憶と
勘違いしていたのかもしれません。お手数かけました。

169:デフォルトの名無しさん
09/04/18 15:56:10
配列の配列じゃない二次元配列(なんていうの?
の配列の範囲を超えないかチェックするにはどうすればいいの?

うまく説明できないけど
IndexOutOfRangeExceptionが投げられないように
事前にifでチェックしておきたい

170:デフォルトの名無しさん
09/04/18 16:06:52
int [,] n = new int[7,4];

これだろ?
Array.RankとArray.GetLengthを参照

171:デフォルトの名無しさん
09/04/18 16:34:42
そういや多次元の配列をforeachでぶんまわすときってどうやんだべ
いままでやったことなかったな 調べてみるか

172:デフォルトの名無しさん
09/04/18 16:36:19
>>170
ありがとうございます!

173:デフォルトの名無しさん
09/04/18 17:10:29
>>171
こんな感じ。
int[,] rect = new[,] { { 1, 2, 3 }, { 4, 5, 6 } };
foreach (var x in rect) Console.WriteLine(x);

int[][] jugged = new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } };
foreach (var x in from array in jugged from elem in array select elem)
Console.WriteLine(x);



174:デフォルトの名無しさん
09/04/18 17:24:26
>>173
jugged は SelectMany で一発だよ

175:デフォルトの名無しさん
09/04/18 17:32:00
SelectMany 書ける人が少ないから2重 from が導入されたわけで、
この場合は >>173 でいいと思ってる。



176:デフォルトの名無しさん
09/04/18 17:49:31
おお、そんな風に書けるんだ。
今まで二重にforeachしていた。

177:デフォルトの名無しさん
09/04/18 18:33:06
>>175
それなら Aggregate とか

178:デフォルトの名無しさん
09/04/18 18:52:50
>>176
まあ、素直にそう書くのがいいと思うよw

>>177
それも考えたけど、そこまでしてクエリ式を避ける意味もないかなぁと。
Aggregate じゃなくて Sum とか書ければそれを使ったけども。

179:デフォルトの名無しさん
09/04/18 19:07:03
字面でin fromってところが気持ち悪い

180:デフォルトの名無しさん
09/04/18 19:23:18
>>179
うん、普通は、
var q =
from array in jugged
from elem in array
select elem;

foreach (var x in q) ....
って書くと思う。


181:デフォルトの名無しさん
09/04/18 20:56:47
>>178
俺もクエリ式大好きなんだけど、foreach 文に含ませたりとかそういう
部分式的な扱いとかメソッド一発の場合はメソッド形式が好みかな
みたいな。避けているわけではない。


182:デフォルトの名無しさん
09/04/18 20:59:24
let使わない限りは全部メソッド形式で書いちゃう

183:デフォルトの名無しさん
09/04/18 21:35:35
オブジェクト指向の書き方が、基本的にクエリの書き方にマッチしないから違和感感じるよな

184:デフォルトの名無しさん
09/04/18 21:36:49
気持ち悪さの一番の原因はクエリ式がfromで始まるということだと思う。

185:デフォルトの名無しさん
09/04/18 21:40:17
普段はメソッド形式で書くけど、
メソッドチェインが3つ超えたあたりからクエリ式に切り替えてる。

>>183
C# は最初から純粋OOP言語でもないしね。

>>184
英文法的な気持ち悪さよりも、
インテリセンス利くことを優先したからしょうがない。


186:デフォルトの名無しさん
09/04/18 22:00:19
>>185
オブジェクト指向の書き方がクエリの書き方にマッチしないといってるのに、
C#は純粋なOOP言語じゃないなんてのは論点のすり替えですよ

187:デフォルトの名無しさん
09/04/18 22:59:08
C#で書いている以上純粋OOは無理って事が言いたいんじゃないかと

188:デフォルトの名無しさん
09/04/18 23:11:14
じゃあ純粋OOPならLinqのクエリは完璧に違和感なく書けるってことだな?

189:デフォルトの名無しさん
09/04/18 23:14:45
落ち着け

190:デフォルトの名無しさん
09/04/18 23:16:26
純粋OO言語としても使えるだろ
ベースにOOを使ってOO的じゃないことを実現してる感じ

191:デフォルトの名無しさん
09/04/18 23:22:20
C とか C++ からの括弧とかドットとか式とかシンタックス周りとの組み合わせが
あわねーって話ならわかるけど OOPL がどうこうとかそういうことなのか?

192:デフォルトの名無しさん
09/04/18 23:24:47
ならいったい何を論じてるんだ?

>>190
圧倒的に論旨から外れてる
誰もそんなことを論じていない

193:デフォルトの名無しさん
09/04/18 23:38:36
便利なんだからOOとかどうでもいいと思うのだが、お前ら何騒いでるの?

194:デフォルトの名無しさん
09/04/18 23:43:40
オブジェクト指向の書き方が、基本的にクエリの書き方にマッチしないから違和感感じる
という意見に、C#は純粋なOOPではないとか、いやC#でもOOPかけるだろとか、
超的外れな意見ばかり出し合ってなれ合って騒いでる

195:デフォルトの名無しさん
09/04/19 01:49:20
クエリの書き方とオブジェクト指向の書き方ってどういうのをいうの?

196:デフォルトの名無しさん
09/04/19 06:56:11
名字に口が付く姓で口をぐちと読むのは
実は井口と野口、山口、この三つしかない
まめちしきな

197:デフォルトの名無しさん
09/04/19 08:14:00
210個あるらしいがコピペもうざいので書かない

スレリンク(news4vip板)

198:デフォルトの名無しさん
09/04/19 10:44:59
>>194
オブジェクト指向の書き方=UMLですねわかりますえん

199:デフォルトの名無しさん
09/04/19 12:38:21
DataGridViewで、何も無い部分(濃い灰色の部分)をクリックした時、アイテムを何も選択しなくするようにするにはどうしたら良いのでしょうか。
要はリストビューみたいな挙動にしたいのですが、、、

200:デフォルトの名無しさん
09/04/19 19:12:26
>>196
5000円札の樋口姓は絶滅したのか?

201:デフォルトの名無しさん
09/04/19 19:22:22
貼ると絶対にレスがつくコピペってのはほんとなんだなw

202:デフォルトの名無しさん
09/04/19 23:47:08
C#おべんきょ兼ねて、Winsnmp.DLLを叩いて「簡易SNMPマネージャ」チャレンジ中。
GETの応答をイベントっぽく受けたい(タイマー待ちしたくない)んですが、
いろいろ試してもうまくいかず。何を使えば良いのか迷っております。助言ください。

初期化関数のSnmpCreateSession()に「callback」関数の登録があり、
応答受信、またはTimeoutを契機にこれが呼ばれることは確認できました。
で、受信解読処理を起こすのにMonitor使おうとしたら「プロセスが違うぜダンナァ」。
Mutexなのか?と思うも、期待通りに動かず…。

ええ、「自分が何をわかっていないのか」が判らない状態であります。
どこか「ここ読んで再チャレンジしてみろ」みたいな指標、ありましたら教えてください。

203:デフォルトの名無しさん
09/04/19 23:49:28
>>202
URLリンク(www.google.co.jp)

204:デフォルトの名無しさん
09/04/20 01:21:58
つかぬ事を聞くんだが、.NETはスピンコントロールはなくなったんだろうか。
それから、Textboxで上書きカーソル(Iビームでない方)は使えないんだろうか?

205:デフォルトの名無しさん
09/04/20 02:08:41
>>204
スピンコントロールって名前やめたっぽいよ。
NumericUpDown。


206:デフォルトの名無しさん
09/04/20 08:27:01
申し訳ないのですが、調べてもわからなかったので質問させてください
VisualC#にて、新規ファイル作成時にWindowsApplication1を別名に変えると
デバック時に依存関係が読み込めないというエラーがでます。
これは何が悪いのでしょうか?デフォルトの名前しか使えないのでしょうか?


207:デフォルトの名無しさん
09/04/20 10:02:26
キミがどこかでミスってる。
リビルドしてもだめかい?

208:デフォルトの名無しさん
09/04/20 19:15:30
>>207
すみません。プロジェクト名に('A`)が入っていたことが原因のようです。
無くしたら解決しました。

209:デフォルトの名無しさん
09/04/20 19:31:34
ワロタ

210:デフォルトの名無しさん
09/04/20 19:35:28
C/C++やってて、GUIとか使いたくなったからC#やり始めたんだが、
.csのソースを.csprojが入ってるディレクトリ以外に入れて参照できるようにはできないのだろうか。
これは仕様でどうにもならない?

211:デフォルトの名無しさん
09/04/20 19:41:10
>>210
できるよ

212:210
09/04/20 19:44:03
C/C++と一緒のリポジトリに入れてて、
ソースだけプロジェクトと別ディレクトリで管理したいから
その方法をぜひ教えてください。どこかのURLとかでもおkです。

213:デフォルトの名無しさん
09/04/20 19:50:03
>>212
URLリンク(msdn.microsoft.com)

214:デフォルトの名無しさん
09/04/20 19:51:06
ソリューションエクスプローラ→追加→既存の項目で追加すりゃいいんじゃないの
意味が分からん

215:210
09/04/20 19:56:11
>>213 どもです!できました!


216:210
09/04/20 20:32:23
>>214それやると別ディレクトリの.csが.csprojのあるディレクトリにコピーされて、
オリジナルが変更されないという罠。
リンクとして追加で出来ました。

217:デフォルトの名無しさん
09/04/21 04:14:41
CMakeList.txt を書いて目的のビルドフォルダでcmake書ける方法もあるが……。
Windowsだとあんまり一般的じゃないのかな。

218:デフォルトの名無しさん
09/04/21 10:21:34
Vista環境で、SHFileOperationやMicrosoft.VisualBasic.FileIO.CopyFileを使って、
ループ内でファイルコピーを繰り返し行うと、GDIオブジェクトが増え続け、
300回ほどループが回ったところでGDIオブジェクト数が10000になり、ソフトが落ちてしまいます。
XPだと全く問題なく、VistaでもSystem.IO.File.Copyを使えば大丈夫です。
何か注意すべき点などあるのでしょうか?

219:デフォルトの名無しさん
09/04/21 10:38:02
>>218
Microsoft.VisualBasic.FileIO.FileSystem.CopyFileで試したけど
少なくともごく簡単なのだと再現しないね@Vista business SP1/.NET 3.5 SP1

220:218
09/04/21 10:57:35
>>219
試していただきありがとうございます。
ググっても類似事例がないので、自分が書いたコードが悪いんだろうなとは思っていましたが…
ちなみに、公開しているソフトで、ユーザーからの問い合わせもかなりあるので、環境依存というわけではなさそうです。
再現できるミニマムコードが書けたらまた質問しに来ます。

221:デフォルトの名無しさん
09/04/21 13:10:58
> ユーザーからの問い合わせ
があったとしても、特定環境でしか起こらなければ環境依存だろうよ
ちゃんと集計とか分析とかしたのか?

まあ単に自分の環境が特殊ではないと主張したかったんだろうけど

222:デフォルトの名無しさん
09/04/21 13:16:06
vb6から C#にアプリを移行してるんだけど
DBのテーブルで誕生日がint型なんだが
これをC#でDateTimeにコンバートしたいんですけど
どうしたらいいですか?
どうも 36524 が 2000-01-01 になるらしい。

223:デフォルトの名無しさん
09/04/21 13:18:15
変換の計算式書けよ

224:デフォルトの名無しさん
09/04/21 13:20:43
1899年12月31日を0としてそれからの経過日数かな


225:デフォルトの名無しさん
09/04/21 13:26:37
1900年1月1日からかもしれない
1900年2月29日が存在するバグがあるか無いか確認して
まあどちらにしても1900年3月1日からは一致するけど

226:デフォルトの名無しさん
09/04/21 14:10:56
ワラタ

227:デフォルトの名無しさん
09/04/21 15:15:30
他のプロジェクトでビルドしたアセンブリを参照設定してメインのプロジェクトで使っているんですが、
アセンブリを再ビルドするたびに参照設定をやり直さないとビルドに失敗します。
何かいい方法はないでしょうか。

228:デフォルトの名無しさん
09/04/21 15:30:04
そのプロジェクトをソリューションに追加すれば
ビルドと配置も同時にやってくれるんでない

229:デフォルトの名無しさん
09/04/21 15:35:04
誕生日がintってどうやってるんだろ
20090421とか?


230:デフォルトの名無しさん
09/04/21 15:37:10
>>229
通常、特定の日付からの経過日数で換算する。
UnixとWindowsそれぞれでやりかたがある。詳しくはぐぐれ。

231:デフォルトの名無しさん
09/04/21 15:42:42
それにどんなメリットがあるの

232:デフォルトの名無しさん
09/04/21 15:51:20
内部形式の意味を聞いてどうすんだ
int表現ならそのほうが便利だろう、引き算だけで経過日数がわかるとか

233:デフォルトの名無しさん
09/04/21 15:54:10
Date関連は、昔は自前で計算するしかなかったもんなぁ。

C#で新規設計の時、intでやる奴はいねぇだろ。

234:227
09/04/21 19:28:15
>>228
結局自力で解決しました。
csprojファイルをテキストエディタで開いて、
参照設定のItemGroupにおいて

<Reference Include="Azuki.dll" />

といった形に書き換えました。
これでVSのオブジェクトビューアでも直接dll内のアセンブリ情報を見に行くし(当然属性情報も見える)、
アセンブリを再ビルドしてもエラーが出なくなりました。

235:デフォルトの名無しさん
09/04/21 23:23:43
>>231
Excel使いから言えば、時間単位の換算がやりやすい。
日→時は24倍すればいいとか。

236:デフォルトの名無しさん
09/04/21 23:26:57
>>235
ExcelだとVBAでDateDiffとか使えないの?


237:デフォルトの名無しさん
09/04/22 00:01:57
GUIだけフォーム使って中身はCとか出来ますか?

238:デフォルトの名無しさん
09/04/22 00:08:54
できますよ

239:デフォルトの名無しさん
09/04/22 19:35:27
クリップボードから得たメタファイル形式のデータを、
メモリストリームかファイルストリームにする方法がわかりません。

meta = new Metafile(mfms, hmeta);

meta = new Metafile("metafile.wmf", hmeta,EmfType.EmfPlusDual);
もGDI+で汎用エラーと出てしまいます。


メタファイルの取得は下記のサイトを参考にしました。
URLリンク(dobon.net)

240:デフォルトの名無しさん
09/04/22 21:02:32
>>239
そのページの一番最後のGetEnhMetafileOnClipboardをそのまま使ってもだめなのか?

241:デフォルトの名無しさん
09/04/22 21:28:00
一旦Imageとして読み取って、
それとは別にMetafile(Stream, IntPtr)で新しいMetafile作って、
Graphics.FromImageでMetafileからGraphics作って、
Graphics.DrawImageで読み取ったImageを描画
…てな流れになるかのう マネージドでやろうとすると

242:239
09/04/22 22:48:16
>>240
それでメタファイル形式のデータは取得出来るのですが、
他のデータと合体させてバイナリファイルとして保存したいので、
メモリストリームかファイルストリームにしたいです。

クリップボードのデータをファイルに保存して、
必要な時に読み込み、クリップボードに貼り付けるのが目的です。

>>241
すみません。
いろいろ調べたり試したりしてみてますが、Graphics.DrawImageから
ストリームにする方法がわかりません。


243:デフォルトの名無しさん
09/04/22 23:59:23
Metafileの作成時に渡したStreamに書き出されてる
ちなみにIntPtrの方はGetDC(IntPtr.Zero)でも適当に作ったBitmapからGraphics.GetHdcでも

244:デフォルトの名無しさん
09/04/23 00:12:03
>>242
241のやり方は、ここの「メタファイル形式で保存する」が参考になると思う。
URLリンク(dobon.net)

245:デフォルトの名無しさん
09/04/23 03:25:38
B+Treeで実装されたコレクションのクラスってありますか?
それとSortedListの実装はBinaryTreeですか?


246:デフォルトの名無しさん
09/04/23 09:48:45
>>245
List<T>.BinarySerach()


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5373日前に更新/172 KB
担当:undef