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


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

C#, C♯, C#相談室 Part45



1 名前:デフォルトの名無しさん [2008/01/21(月) 19:35:37 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。

前スレ
C#, C♯, C#相談室 Part44
pc11.2ch.net/test/read.cgi/tech/1194956418/

その他テンプレ>>2-5くらい

2 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:36:31 ]
Visual C# 2005 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

ふらっとC#,C♯,C#(初心者用) Part23
pc11.2ch.net/test/read.cgi/tech/1200033660/

MSDNライブラリ
msdn.microsoft.com/library/ja/

MSDN2
msdn2.microsoft.com/ja-jp/library/default.aspx

pinvoke.net: the interop wiki!
pinvoke.net/



3 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:37:09 ]
Visual C# Express Edition (無料)ダウンロード
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

.NET Framework SDK (2.0)
msdn2.microsoft.com/ja-jp/library/ms310244.aspx

MSDN Visual C# Express Edition フォーラム
forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
vsug.jp/

@IT Insider.NET
www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
www.atmarkit.co.jp/fdotnet/index/bbs/index.html

宇宙仮面の C# プログラミング / C# Programming
ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
dobon.net/vb/dotnet/

4 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:05:26 ]


5 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:01:53 ]
>>1乙。

誰もスレ立てないまま前スレあっさり終わったなw

6 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:08:05 ]
C#スレはむしろその方が多いような

7 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:16:13 ]
>>1乙〜

8 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:39:04 ]
.Net 2.0、C# 2005 で Windowsコントロールライブラリを作って
IEに貼り付けて、Windowsコントロールライブラリが通知したイベントを
javascriptで検知する方法を紹介しているサイトをご存じないですか?


9 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:47:29 ]
window.external とか InvokeScript とかで検索すれば出てくるかもね

10 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:48:30 ]
>>2
次は2008に書き換えようぜ、同志。



11 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 11:46:21 ]
System.IO.Packaging.ZipPackage って、 OPC専用?

既存の zip の中身が読めないし、
zipファイルを作成すれば、勝手に変なファイル([Content_Types].xml)が作られるし。

#ziplib の代わりになるかと思って期待したのに。

12 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 12:59:00 ]
専用。
インターナルなZipArchiveかなんかだっけ?公開してくれたらいいのに

13 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 23:59:56 ]
やっぱりそうか。
DotNetZipを調べてみるよ。

14 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:56:44 ]
J#のライブラリでzipできるじゃなかったっけ

15 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:57:22 ]
jslib

16 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:19:47 ]
J#(笑)

17 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:16:42 ]

class A
{
private string var="test";

public string func(string name)
{
return xxxx(name);// name="var"のときreturn varになる
}
}

こんなことしてくれる上記xxxxに相当するようなものはないでしょうか?

18 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:41:38 ]
なんでstring引数にしないと駄目なの?

19 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:45:42 ]
private Dictionary<string, string> values={{"var","test"}};

public string func(string name)
{
return values[name];// name="var"のときreturn varになる
}
変数名にvarを使うのはやめとけ

20 名前:19 mailto:sage [2008/01/24(木) 12:50:07 ]
無理にC#3.0使おうとして間違えた正しくはこう
Dictionary<string, string> values = new Dictionary<string,string>{{"var","test"}};
C#2.0ならコンストラクタとかで
values.Add("var", "test");



21 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:05:48 ]
varはまずかったですね

できました


class A
{
private string str="test";

public string func(string name)
{
Type ty = typeof(A);
FieldInfo fi = ty.GetField(name);
return (string)fi.GetValue(this);
}
}


A B = new A();
 Console.WriteLine(B.func("str"));

とすると

test

が表示されます

22 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:14:28 ]
他のクラスのメンバにそうやってアクセスするならわかるけど
自分のクラスのフィールドでそれをやる意味がわからない

23 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:13:38 ]
もう、「変数に変数の名前でアクセスする方法教えてください><」は禁止しない?
教えたって本人にとっていいことないし

24 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:38:55 ]
またスクリプト脳か。

25 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:57:04 ]
どれがスクリプト脳?22?23?24?

26 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:00:00 ]
25

27 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:02:52 ]
FAQということでまとめておいて
FAQ見れ、と答えることにするとか

28 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:23:00 ]
・コントロールをコントロールの名前で
・クラス名の文字列からインスタンスを
・ジェネリックで計算
・GC

29 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:46:16 ]
Convert.ToDateTime があるのに Convert.ToTimeSpan がないのが気に食わない

30 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:22:06 ]
TimeSpan と言えば IFormattable じゃないのも納得できんな



31 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:32:21 ]
またスクリプト脳か。

32 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 12:36:44 ]
IEの「名前を付けて保存」にある
ファイル種類「Web アーカイブ、単一のファイル(*.mht)」を
C#上から実施する方法ってないですか?

33 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:50:28 ]
多少のエスパー能力を使って
CDO.Message 使えば?

34 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:35:18 ]
>>32
mht保存はVB.NETだけど公開されてたはず
場所は忘れたけど

35 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:52:12 ]
ありがとうございます。
調べてみます。

36 名前:34 mailto:sage [2008/01/26(土) 03:16:41 ]
>>35
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/690createmht/createmht.html
以前見たのはこれじゃないけどコレでどう?

37 名前:デフォルトの名無しさん [2008/01/26(土) 10:30:19 ]
真ん中あたりの、コメントアウトしてるところ、1から3までどれやっても期待する
結果が得られないのは、何でなんだぜ? 0,2,4,...,18 が出て欲しいんだが。

static void Exec()
{
Action<int, int> sumShower = (n, n0) => Console.WriteLine(n + n0);
Action<int> act = n => Bind(sumShower, n);

Action<int>[] acts = new Action<int>[10];

for (int i = 0; i < acts.Length; i++)
{
acts[i] =
//1: n => sumShower(i, n)
//2: n => Bind(sumShower, n)
//3: act
;
}

for (int i = 0; i < acts.Length; i++)
{
acts[i](i);
}

return;
}

static Action<int> Bind(Action<int, int> act, int val)
{
return i => act(tmp, i);
}


38 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:49:14 ]
>>37
コメントの1はこれで動く。
for (int i = 0; i < acts.Length; i++) 

 int j = i;
 acts[j] = n => sumShower(j, n); 



39 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:06:47 ]
自分で書いておいてなんだが、つーか、shower ってなんだよw

40 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:09:56 ]
>>38
やっぱそれしかないわけか。さんくす。
2, 3 は俺が何か根本的な勘違いしてるかもしれないので、わかる人指摘よろ。



41 名前:デフォルトの名無しさん [2008/01/26(土) 13:15:26 ]
何度もすまん。Bind() がこれじゃあコンパイル通らないな。
>>38 で指摘されてる方法を試してたのがそのままになってた。
正しくは、

static Action<int> Bind(Action<int, int> act, int val)
{
 return i => act(val, i);
}


42 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:49:30 ]
>>40
actとBindが何をしたいのか説明しないとわからんよ。
なにやらループしてるように見える。

43 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:29:16 ]
Action<int> act = n => Bind(sumShower, n);

Action<int> act = n => Bind(sumShower, n)(n);

44 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:32:34 ]
>>42
やりたいのは、関数型言語で言うところのカリー化です。束縛(Bind)じゃないですね。
勘違いしていて、またおかしな名前をつけてしまいました。

>43
あー、なるほど。引数が一つ足りないんですね。やってみたら動きました。
ありがとうございました。

45 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:06:30 ]
C#のジェネリックプログラミングを詳しく解説してある本あったら教えてください

46 名前:デフォルトの名無しさん [2008/01/26(土) 20:08:12 ]
プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書): ホーム: ジェフリー リッチャー,Jeffrey Richter,吉松 史彰

47 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:51:18 ]
>>44
>関数型言語で言うところのカリー化です。

それは部分適用のことをカリー化と呼んでる気がする。

C++界隈ではbindって呼んでるし別にbindでもいいと思うけどね。

参考)
ttp://vader.g.hatena.ne.jp/wata_d/20080123/1201078733


48 名前:デフォルトの名無しさん [2008/01/27(日) 19:18:27 ]
googleでC#の情報を効率よく検索するには
どうしたらよいでしょうか

検索時に ○○ VC# などと検索しても
#が検索対象にならんのですわ

49 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:21:31 ]
VC#じゃなくてC#ならおk

50 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:22:50 ]
>>48
c int
c# int
検索結果をくらべてみよう。
vc# は認識されないが、c#はgoogleが認識する。

それにしてもMSのネーミングセンスひどいよな。
".NET" のノイズが入らない検索方法があったら知りたい。



51 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:23:26 ]
>>49
おおぅ
これはすばらしい。コロンブスの卵でした

52 名前:デフォルトの名無しさん [2008/01/27(日) 19:55:08 ]
アプリケーションの発行 って何に使うの?

53 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:59:32 ]
前は +"C#" で検索してたけど、
最近は C# で絞れるんだな。

54 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:57:14 ]
それ系の Web サイトや blog やってる人は、ことごとく csharp という
キーワードを入れておくってのを、みんなでやればいいかも。

55 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:58:27 ]
>>50
COM とかもアレだな。

56 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:03:13 ]
COMって時々聞くけど知っとくべきもん?
今のところまったく経験なし

57 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:07:28 ]
DirectX を生で使うつもりがあるなら。

58 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:13:24 ]
Officeやシェルなどに手を出す必要があれば。

59 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:34:36 ]
ExcelもCOM

60 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:35:14 ]
IE コンポーネントブラウザ作ったり



61 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:57:45 ]
次期バージョンで遅延バインディングが入るらしいね

62 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:39:08 ]
COM楽しいよ
シェルの深みに嵌まってる
半分溺れかけてるとも言えるけど(;´Д`)

63 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:55:50 ]
>>61
マジで?

64 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:15:18 ]
>>63
blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx
unsafeみたいに,書く人に罪悪感を与えるような構文でいいねw

65 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:01:32 ]
Formatで-を出すことはできるけど、+はだすことできないですかね?

66 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:22:23 ]
ToString("+0;-0;0")
string.Format("{0:+0;-0;0}", x)

67 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:31:05 ]
>>66
ありがとう!!

68 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:18:49 ]
this.を普段書かない方に質問です。

staticなプロパティと非staticなプロパティとで、命名規則って変えてますか?
変えている場合は、どういう違いをつけていますか?

今は非staticな方に_を付けていますが、どうもしっくりこなくて・・・


69 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:24:41 ]
しっくりも何も命名ガイドライン的にアウトじゃん。
たぶんメンバ変数のことだろうけど、それでいいんじゃね?
俺はthis付ける派だけど。

70 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:38:50 ]
>たぶんメンバ変数のことだろうけど
違います



71 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:22:59 ]
じゃアウトだよ

72 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:28:05 ]
_つけてpublicだったりしてるの? >プロパティ

73 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:44:04 ]
普通はstaticなプロパティなりフィールドなりって
staticであることが意味的に明らかな場合が多いから、タグで区別する必要性は感じないな。

というか、今までインスタンスメンバと混同するような状況になったことが
たぶん一度もないと思う。

結論。
それってそもそも設計が変なんじゃないの?

74 名前:68 mailto:sage [2008/01/29(火) 18:45:28 ]
>>69
>しっくりも何も命名ガイドライン的にアウトじゃん。
どこのガイドラインですか?
(C/C++で禁止になっていること・MSではPascalにしてくれとなっていることは知っています)
仕様上禁止だというのであれば、ソースをお願い致します。

>>72
メソッド内で、staticか非staticか見た目で判別できないじゃないですか
そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです…

75 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:50:31 ]
判断できなくて困るほどでかいクラスを書かない

76 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:51:37 ]
仕様上なんて誰も言ってない
命名ガイドラインには沿っていないって話だろ。
「ガイドライン」の意味分かる?
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconpropertynamingguidelines.asp

77 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:53:22 ]
>>76
アナタC++のソースでハンガリアン記法とかやっちゃう人ですね

78 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:54:15 ]
>そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです…

多分基本的な語彙について、話が噛み合ってない気がする

79 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:57:01 ]
>>77
(゚д゚)ハァ?

80 名前:68 mailto:sage [2008/01/29(火) 19:31:00 ]
>>75
自作クラスばかりで構成されたアプリでは問題になっていないのですが、
既存のライブラリorフレームワーク上のクラスを継承した時に問題になるんです。

>>76
階層をもう少しのぼってよく読んでみたらいいと思います



81 名前:68 mailto:sage [2008/01/29(火) 19:40:19 ]
いっぱい釣れたので、今日のところは帰ります。

82 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:40:20 ]
>>80
具体例をあげてみたら?

83 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:48:28 ]
メインのFormのメソッド呼びたいとき、

・static void Mainが書かれてるクラスにFormのインスタンスを取得するメソッドを書く
・シングルトンにする

どっちが一般的なの?

Dispose Finalizeパターンとシングルトンって相性悪そうだけど、
Program.GetForm()とか書くのも気持ち悪い・・・

あ、複数ウインドウ出さないアプリの前提で回答よろ

84 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:03:33 ]
program.csってあんまりいじらないんじゃね?
その前提なら
1)Form.ActiveForm
2)Application.OpenForms[0]
3)
static Form1 frm1;
public Form1()
{
 Form1.frm1 = this;
}
public static Form1 MainForm
{
 get{return frm1;}
}


85 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:07:54 ]
>>84 thanks
シングルトンにはしないほうが良いという結論でいいかな?
Form以外(XNAのGameクラスとか)でも使えるのは3かな

86 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:55:01 ]
どのみちFormには依存するだろ

87 名前:86 mailto:sage [2008/01/29(火) 21:57:37 ]
>>85
書き込んでから理解した
忘れてくれ

88 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:17:39 ]
いいものみつけた
download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe
winsiggen.exe便利……かな?

89 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:23:23 ]
こわくてクリックできない

90 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:24:36 ]
記事は
msdn.microsoft.com/msdnmag/issues/08/01/CLRInsideOut/default.aspx?loc=jp

日本語版記事にはダウンロードリンクがないんで
末尾のja削ってenにすると出てくるが



91 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:27:24 ]
Marshal.AllocHGlobal()やMarshal.ReAllocHGlobal()の引数でサイズを指定するところはなんでIntPtrなんだろうか?
AllocHGlobal()にはintで指定するのもあるけどReAllocHGlobal()はIntPtrだけだし
intかlongが自然に思うんだけれど

92 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:41:33 ]
size_t は int/long じゃないぜ

93 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 16:34:33 ]
それが何か?

94 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:05:03 ]
あほの俺が推測すると、64bit環境で2GB以上確保するため

95 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:47:10 ]
>>91
メモリを確保するんだから、native intである必要があるだろ。

96 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:01:20 ]
ありませんよ

97 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:06:24 ]
CLIのnative int型をC#で表現してるからIntPtrになってるだけでしょ。
int32, int64, native int の中で一番自然なのはnative intだと思う。

98 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:03:10 ]
>>88
これすげえ
Cのヘッダから自動生成してくれる

99 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 02:09:45 ]
>>97
うん でもさ、IntPtrのままじゃ演算できなくて結局intからキャストしてたり
SizeOfの返り値がintだったりと他の部分との整合性が取れてない点を不自然に思ってる
インターフェースがint/longでもいいし、もしくはIntPtrでもいいけどそれで演算できてたらよかったと思ってる

100 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:14:53 ]
LinqのIQueryableのProvider実装してる人いる?
ブログとかでやってる人の見たけれどなんかめんどくさそう・・・



101 名前:デフォルトの名無しさん [2008/01/31(木) 20:25:20 ]
C#でどこまでが言語仕様でどこからがライブラリか
という区別がよくわかりません.たとえば foreach
は予約語ですが,IEnumerable とか IEnumerator は
単なる識別子です.yield のように reserved word
ではないけど contextual keyword だというような
ものもあり,そのあたりのあいまいさが使っていて
美しくないというか・・・・

その辺をすっきりと理解して使いたいのですが,
どのような本を読めばいいのでしょうか?

102 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 20:45:02 ]
標準クラスライブラリは言語仕様の一部

103 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 21:15:59 ]
仕様が知りたいんなら仕様書読めばいいだろ

104 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:09:48 ]
っていうか別に区別しなくていいじゃん

105 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:11:43 ]
>>101
C#はCLSに基づく言語だから、C#の仕様自体がCLIの仕様を包摂している。
つまり、IEnumerableなしではC#は成立し得ない。

106 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:12:29 ]
>>101
JISで仕様の日本語訳出てるから、それ読めばいいと思うよ。

107 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:17:13 ]
foreachについては,必要なメソッド(GetEnumerator()とか)のシグネチャさえ合えばいいのであって
IEnumerableやIEnumeratorを実装している必要はないんだけどね

108 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:35:50 ]
らしいな。

109 名前:デフォルトの名無しさん [2008/01/31(木) 23:46:32 ]
gnuのC#って今どのくらい使えるようになってるの?
なんかググっても全然出てこないんだけど

110 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:50:59 ]
mono は gnu じゃない



111 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:03:43 ]
mono以外に知らんの?

112 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:04:41 ]
>>110
Portable.NETってのがあるんだよ

113 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:14:46 ]
こんなものがあったのか・・・

114 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:16:00 ]
monoと比べると随分と停滞してるがな。

115 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:00:40 ]
IntPtrからbyte配列を取るとき、Marshal.Copyでコピーしますが、unsafeを使わずに
IntPtrから直接配列として操作することって出来ませんか?
結構Marshal.Copyでのロスが大きくて無視できないし、折角C#を使うんだから
出来ればポインタは使いたくないので…

116 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:01:51 ]
無理です。

117 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:04:59 ]
コピーしない方法ならあるよ

118 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:08:52 ]
>>116
やっぱり無理ですか…
やっぱりポインタ使うしかないのか orz

>>117
Marshal.Read*とかでしょうか?
さすがにこれをループするのはコピーするより重そうですが…

119 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:18:21 ]
byte配列の長さは一定?

120 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:26:46 ]
>>119
Bitmapなので変わる可能性はあります。



121 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:28:03 ]
>>120
すいません、抜けてました orz
複数のBitmapを扱うので、という意味です。

122 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 08:50:42 ]
無理かな
byte[]とbyte*ってメモリレイアウトもたぶん違うから
byte[]→byte*なら可能ではあるんだが


123 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 12:42:17 ]
インデクサ付けた構造体でラップすれば?
実装はunsafe使って

124 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:06:50 ]
>>122
マネージ→アンマネージは出来てもアンマネージ→マネージが出来ないと言うことですかね?

>>123
ちょっとその方法試してみます。

125 名前:762 mailto:sage [2008/02/01(金) 14:02:36 ]
struct ByteArrayPtr : IList<byte> {
private IntPtr ptr; private int length;
public unsafe byte this[int index] {
 get { return ((byte*)(void*)this.ptr)[index]; }
 set { ((byte*)(void*)this.ptr)[index] = value; }
}//あとは省略
こんな感じか
byte限定じゃなくてジェネリックにしたくなるけど(T*)がコンパイル通らないね

126 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:14:38 ]
where T: struct

127 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:22:14 ]
>>126
(・∀・)ニヤニヤ

128 名前:デフォルトの名無しさん [2008/02/02(土) 15:00:12 ]
C#でSpreadを使ってコーディングをしてるんですが、
バインディングソースからデータをバインドさせて、
文字列を表示しているセルがいくつかあり、
そのセルの文字列を組み合わせた文字列を表示したいセルがあるのですが、
どうも、表示されません。
設定としては、組み合わせた文字列を表示するセルのFormulaプロパティに
CONCATENATE(A1,B1)と入れているだけです。
他に何か設定が必要なのでしょうか?
よろしくお願いします。

129 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 15:12:30 ]
>>125-126
structに制限しても無理
Tがマネージドな型を含む可能性があるから

130 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:43:10 ]
>>107
どういうこと?
implementしなくてもOKってこと?



131 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 18:44:17 ]
>>128
SQLでとってくれば?

132 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:04:55 ]
>>130
class EnumerableObject : object {
public EnumerableObject GetEnumerator() { return this; }
public bool MoveNext() { return false; }
public object Current { get { return null; } }
}
このクラスのインスタンスに対してforeach使ってみるといいよ。
これはバグじゃなくてちゃんとした仕様。List<T>なんかはこれを利用して
IEnumerableを実装する構造体をその型のままで返してIEnumerableへのボクシングを避けてる。

133 名前:132 mailto:sage [2008/02/02(土) 19:08:43 ]
間違い
IEnumerable→IEnumerator

134 名前:デフォルトの名無しさん [2008/02/03(日) 13:37:23 ]
前スレにてTableAdapterのことを質問したものですが
また質問させてください。

TableAdapterのdeleteやupdateでDBのTableを更新する時に
SQLSerServerで外部キーを設定して連鎖参照整合性制約を使うことって出来ますか?
例えば二つのTableのある列を外部キーで関連付けして
同じ文字列のある行をdeleteしたりupdateしたりすることが出来ますでしょうか。
どうも上手くいかないんです。

もう一つ。
TableAdapterの更新処理はASP.NET上でしか
動作してくれませんよね?
例えば、普通のWindowsアプリケーションのプロジェクトを作成して
そこにDataSet作ってTableAdapterを作成して
DBの更新処理をするってのは出来ないですよね?

135 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 14:39:35 ]
ネイティブのexeからC#で作ったDLLを呼び出したいんだけど、
手っ取り早いやり方は具体的にどんな感じになるんでしょ?

開発環境はVisual Studio 2008 Express Editionです。

136 名前:デフォルトの名無しさん [2008/02/03(日) 14:43:23 ]
>>135

アセンブリをCOM参照可能にして呼ぶ。

137 名前:135 mailto:sage [2008/02/03(日) 14:46:38 ]
>>136
thx!

138 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:14:42 ]
C++で言うベクターってC#で言うと何?

139 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:17:16 ]
List<T>

140 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:17:31 ]
list



141 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:47:24 ]
C++のVectorがC#のListだとすると
C++のListはC#だと何になる?

142 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:49:23 ]
ごめん自己解決したw

可変長配列 vector<T> List<T>
双方向リスト list<T> LinkedList<T>

143 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:58:18 ]
LinkedListってなんでIList実装してないのにListなんだろう
Javaに合わせたのかな

144 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:03:20 ]
LinkedList は LinkedList です。

145 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:18:04 ]
>>134
可能でしょ。
そもそも連鎖更新や削除はSQLServer側がする事で、.NETや言語は関係ない。
それ以上は「どうも上手くいかない」って説明では分からん。

もう一つ。
なんでASP.NETしか動作しないと思ってるのかわからん。

146 名前:デフォルトの名無しさん [2008/02/04(月) 12:43:58 ]
ストアドプロシージャに連鎖更新書いて呼ぶのじゃダメなのか

147 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 22:25:19 ]
>>146
DB側に処理置くのはいやずら

148 名前:975 [2008/02/05(火) 00:56:23 ]
>>145
すいません。わかりづらいですね。
[Table1]
ID Name Age
----------------
ID1 Yamada 20
ID2 Hanako 18
[Table2]
ID Height Weight
-------------------
ID1 170 65
ID2 160 50
手順としては上の二つのTable
がある時、

1.VisualStudioのデータベースエクスプローラーから
 「外部キーのリレーションシップ」ダイアログで
 Table1が親としてIDに対してリレーションを作成。
2.DeleteRule の設定、UpdateRule の設定を「重ねて表示」に設定。
3.Table1、Table2に関連付いたTableAdapterを作成して
 1、2と同じ設定でリレーションシップを作成。
4.Table1の一行目に対してDELETE処理実行。
5.Table1の一行目は削除されるがTable2は削除されない。
ということです。
ASP.NETに関しては勘違いしていました。

>146
トリガのことですよね?
上記の方法で出来なかった場合はその方法を考えています。


149 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:45:35 ]
C#ってどんな業界で使われてるの?

150 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:11:20 ]
>>149
業務用で多いのは ASP.NET かな。
企業のウェブポータルなんかでは割と使われてる。

個人レベルのフリーウェアは最近結構増えてきた気がする。



151 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:26:44 ]
>>150
サンクス

152 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:36:40 ]
個人レベルでちょっとなんか作るならC#でFAだな。
楽過ぎる。

でもグローバルフックに制限があったりとか
WPF使ったらactivexがラップしないと使えないとか
細かい問題が多くて開発時間に影響するんだよな・・・。
それでも早いけど。

153 名前:デフォルトの名無しさん [2008/02/05(火) 22:38:25 ]
>>149
人工知能

154 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:05:08 ]
managedだけで済む処理しか使わないならすごく楽に作れるな

155 名前:デフォルトの名無しさん [2008/02/07(木) 10:16:54 ]
(COM登録が必要な)C#で作ったアセンブリをインストーラーで配布しようとしているのですが
その際プライマリ出力のRegisterプロパティをvsdrpCOMに設定しても
インストール中にComRegisterFunctionAttributeのRegister、Unregisterメソッドは呼ばれないのでしょうか?
(試した限りでは呼ばれませんでした)

何かプロパティを変える等で呼ばれるようにする方法はありますでしょうか?


156 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:41:01 ]
SHFileOperation使えばいいんじゃね?

157 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:41:35 ]
誤爆スマソ

158 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:16:29 ]
C# 2008です

n < Int32.MinValue
(nは0〜200くらい)
が実行された際

Debugでビルドしたときは何もなかったのに
Releaseでビルドしたらオーバーフローが出ました

n < Int16.MinValueにしたら平気でした。
n > Int32.MinValue では平気でした。

DebugとReleaseで演算方法が違うってことでしょうか?
そもそも比較演算でオーバーフロー出すようでは欠陥だと思うのですが
これじゃDebugでテストするのが怖い

159 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:29:43 ]
nの型は何だよ。

160 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:34:11 ]
また始まった

コードそのものをここに貼れよ。
それだけでオーバーフロー/フレームワークに欠陥なんて言われても。



161 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:38:06 ]
>>158
処理系が欠陥だと言い切るような自信がどこから湧くのか理解できんが、
生成されてるILすら比較してみていないような感じだな。

162 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:47:51 ]
まったくだ

163 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 23:50:27 ]
ポカやってるのは>>158でFAなのはコード見なくてもわかるけど
とりあえずDebugとReleaseで
プロジェクトのプロパティ→ビルド→詳細設定→演算のオーバーフロー/アンダーフローのチェック
のチェックボックスの状態がちがうんじゃね?

164 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:14:46 ]
Debugでは出ない例外がReleaseで出たのは経験あるな
よく覚えてないけどList<T>.Sortか何かで渡した自分のIComparer<T>の実装が間違ってたのが原因だった

165 名前:デフォルトの名無しさん [2008/02/09(土) 09:47:27 ]
長いコード貼るなら
pastebin.windy.cx/
pastebin.com/
こういうところだと色分けとかもできる

166 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:17:22 ]
怠け者で探しきれてなくてすみません。
MonthCalenderで、指定日をハイライトするメソッドをご教授ください。

167 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:22:48 ]
SetDateか。自己解決下っぽい。ありがとうございました。

168 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 15:25:49 ]
しかも 初心者板と勘違いした。
重ね重ね申し訳ない。orz

169 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 12:34:42 ]
ほ、ほーっ、ホアアーッ!! ホアーッ!!

170 名前:デフォルトの名無しさん mailto:sage [2008/02/11(月) 23:15:54 ]
vjs.dllだとファイル数多いと例外なげたりとバグってたりするんですけど
C#でお手軽にZIP作る方法ないですか?



171 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:36:47 ]
SharpZipLibとか

172 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 02:39:18 ]
シェルにやらせればいいんじゃね

173 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 03:35:13 ]
zip.exe叩いた方が楽でね?

174 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 07:53:49 ]
zipfldr.dll
…ってシェルと同じかも

175 名前:デフォルトの名無しさん [2008/02/12(火) 08:45:53 ]
Processでstartinfoに
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
指定して、zip.exe起動すれば、dos窓でないから
一番楽だと思うが。

176 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:38:56 ]
統合アーカイバプロジェクトに登録されてるのはだめなの?
そのうちファイラ作ろうと思ってるんだけど。
ttp://www.madobe.net/archiver/dev/main.html#csharp

177 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:38:27 ]
もしかして、.NET Framework 2.0からZIPを操作するクラスが入ったのを知らない人多い?

178 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:46:38 ]
うん

179 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:49:52 ]
GZipは扱えるがZipファイルは扱えねぇなあ。
まあヘッダ処理だけ書けば大体対応できるけどね。

180 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:49:59 ]
それGZIPだし
ZIPじゃないし



181 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 16:59:17 ]
読み取り専用のDictionaryはないの?

182 名前:デフォルトの名無しさん [2008/02/12(火) 20:12:09 ]
ListViewでItemを追加してEndUpDateすると、全部のItemが再描画
されてしまいます。そこでそのちらつきを出さない方法についてこちら
でおききしていました。>pc11.2ch.net/test/read.cgi/tech/1197507828/859

その中のソースがC#なのでC#スレでお訊きします。よろしくです。
CodeProject Flicker-free ListView in .NET and XP. Free source code and programming help
www.codeproject.com/KB/list/listviewxp.aspx
にあるサンプルを試してみたのですが、DEMO版がうまくいくのにソース版
ですよ対策なしと同じでした。

ListViewのDoubleBufferingはちらつき防止に効果あるでしょうか?
またowner draw にした場合は自分でItemを描画する必要があるのでしょうか。
よろしくお願いします。


183 名前:182 [2008/02/12(火) 20:18:38 ]
>>182 訂正>ソース版ですよ対策なしと同じ -> ソース版ですと対策なしと同じ

該当のサイトでは
public void SetExStyles()
{
LVS_EX styles = (LVS_EX)SendMessage(this.Handle,
(int) LVM.LVM_GETEXTENDEDLISTVIEWSTYLE, 0,0);
styles |= LVS_EX.LVS_EX_DOUBLEBUFFER | LVS_EX.LVS_EX_BORDERSELECT;
SendMessage(this.Handle,
(int) LVM.LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (int) styles);
}

のようなコードがありました。これはDoubleBufferを使っているようなのですが、
owner draw はしてないようでした。一方、このサイトへのコメントレスとして
ついていたものでは、owner draw にしておいて
 this.SetStyle(ControlStyles.OptimisedDoubleBuffer, True);
とするだけでちらつきはなくなるようなことが書かれていましたが、これは
自分で描画してやらないといけないようでその場合どのように描画すれば
よいのかわかりませんでした。自分で描画しないでも可能なような意味にも
取れてよくわからないのでした・・・

すみませんが、何卒よろしくお願いします。

184 名前:デフォルトの名無しさん [2008/02/13(水) 00:08:14 ]
すみません、よろしければ
pc11.2ch.net/test/read.cgi/tech/1200911737/182-183
について教えてください。何卒よろしくお願いします。


185 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:10:26 ]
>>184 は pc11.2ch.net/test/read.cgi/tech/1162467959/
への出張の間違いでした。すみません。)

186 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 00:46:50 ]
zipの質問したものです

みなさん、ありがとうございました

統合アーカイバプロジェクト(7-zip32.dll)
undll.exe
System.Process

でやってみることにしました
やってみると進行度合をウィンドウで表示してくれてちょっと鬱ですがとりあえず動いています
(zip32.dllは長い名前に対応してないとか?はっきりしなかったので)

187 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:10:36 ]
>>176
統合アーカイバプロジェクトのzipは処理速度遅いよ

188 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 13:14:46 ]
>>187
代替案しめさないと意味のないコメント

189 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:25:47 ]
zipってオープンソースじゃなかったっけ

190 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:29:55 ]
統合アーカイバプロジェクトなんつってる割には
インターフェースが統一されてなくて使いにくいんだよな



191 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:31:45 ]
素人だからな。

192 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:58:33 ]
C++/CLIでうまいことやってくれないもんかな

193 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 23:46:20 ]
公開された.NET Frameworkのソースコード見てたらInt32なんかもC#で実装されてるけど
MSはなんか特殊なコンパイラ使ってるの?

194 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 00:30:56 ]
VC#には、mscorlib.dllを参照させない/nostlibというオプションがある。
msdn2.microsoft.com/ja-jp/library/fa13yay7(VS.80).aspx

195 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 01:46:17 ]
>>188
代替案って・・^^;
SharpZipLibに比べると3倍ぐらい遅いって、過去にそんな話出てたと思うが。

196 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:01:46 ]
>>195
そんな話見たことねーよ
どんな妄想だよ
遅いというからにはしっかり計って代替案示せ糞野郎

197 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:03:55 ]
統合アーカイバプロジェクトのzip 30秒
SharpZipLib 10秒

198 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 02:07:16 ]
↑なにこれ 人馬鹿にしてるの?

199 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:09:38 ]
そこまで自分で性能気にするなら自分で測ればいいだろカスが

200 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:17:30 ]
代替案出せとか2chに何求めてるんだよw



201 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:26:43 ]
なんか意味を取り違えてないか?

俺は196じゃないけど、196の言いたいことは「遅い」というのは
比較の対象があってこそ言えることで・・・
まあこれだけ補助線を引けば読解力ない君でもさすがにわかるだろ

202 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:40:13 ]
自演乙

203 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 12:52:19 ]
自演認定乙

204 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:06:24 ]
図星か

205 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:11:21 ]
(・∀・)クスクス

206 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:14:24 ]
本当にこのスレにいるやつは、読解力ないのな
アホばっか

207 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 13:16:58 ]
そうだね

208 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:21:11 ]
 今日は凄いくだらない事にメチャクチャ腹が立ったので、
懺悔の心でココに書くよ。

 "C# bmp LockBits "でグーグル検索するとLockBits()メソッドの1つめの引数rectに

Rectangle rect = new Rectangle(0,0,bmp.Width,bmp.Height);

 を指定するブログやら、Tipsサイトが大量に出てくるよね。
初心者向けとか言って、ご丁寧に赤と緑を入れ替えた画像とか貼ったりしてさー。

 LockBits()はRectangle型のxとyしか見ない、あからさまなバグ入り関数なんだよね。
 あそこは new Rectangle(0,0,1,1)で十分。
っていうか、大きな画像の一部のIntPtrを取り出したいときは、また別途Bitmapインスタンスが必要なぐらい使えない関数ww。
そっちの方がTipsとして必要だろうがwww。

 10も20も「自称」プログラマのブログがあって、MSが作ったバグには一つも触れ無いんだよwwww。
おまえらは、MSの糞が食卓に並んでても気にならない本物のブタ共だよwww。
自分のブログで晒し上げにしようかと思っちゃったよww。


209 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:34:43 ]
まあ208が「懺悔」の意味を勘違いしていることはよくわかった。

210 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:42:35 ]
今日は凄いくだらない事にメチャクチャ腹が立ったのでやつあたりしている。
が正しいな。



211 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:48:43 ]
「これはひどい」
「突っ込み所満載」

212 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 19:56:13 ]
>>208
普通にRectangleで指定した範囲だけロックされるぞ
(0,0,1,1)の範囲を指定したのにその外を触ろうとしたらAccessViolationExceptionが出る

213 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:05:04 ]
八つ当たりする先に困ってココに書いてるんだけどね。

>208
釣れた!! ソースはってみろよ。

214 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:05:32 ]
>212だ
自分が釣られてどうする。

215 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 20:25:23 ]
おら 奇跡は起きたか豚!
tmp.Save(@"c:\tmpA.Png", ImageFormat.Png); //tmpがBitmap型な。
BitmapData bmpData = tmp.LockBits(new Rectangle(0,0,1,1), ImageLockMode.ReadOnly,
                  tmp.PixelFormat);
int bytes = (tmp.Width) * (tmp.Height) * 4;
byte[] rgbValues = new byte[bytes];
IntPtr ptr = bmpData.Scan0;
int a = bmpData.Height;
int b = bmpData.Width;
Console.WriteLine(a.ToString()+"+"+b.ToString());   //1+1

Marshal.Copy(ptr, rgbValues, 0, bytes);
for (int d = 0; d < bytes; d++)
{
   rgbValues[d] = 0xff;
}
Marshal.Copy(rgbValues, 0, ptr, bytes);
tmp.UnlockBits(bmpData);
tmp.Save(@"c:\tmpB.Png", ImageFormat.Png);


216 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:14:12 ]
むしろブログでやってくれたほうが愉快だったのに、と思ってしまう。

217 名前:208,213,215 mailto:sage [2008/02/14(木) 21:15:04 ]
おまえら反応無いなと思ったら。
>208>213>215 は全部俺>208だ。
ttp://hey.chu.jp/up/source3/No_13803.zip
今日は気分が良いからアプロダにサンプルまで置いてしまうぞ。

最後に俺のTipsを付けておく。
bmpData = tmp.LockBits(new Rectangle(0, 0, 1, 1), ImageLockMode.ReadOnly,
             tmp.PixelFormat);
ptr = bmpData.Scan0;
Marshal.Copy(ptr, rgbValues, 0, bytes);
Rectangle rect = new Rectangle(64,64,256,128);//目的範囲をrectとすると。
for (int i= rect.X;i<rect.X + rect.Width;i++)
   for (int j = rect.Y; j<rect.Y+ rect.Height;j++)
   {
      int d = j*tmp.Width+i;
      swap = rgbValues[d * 4 + 1];
      rgbValues[d * 4 + 1] = rgbValues[d * 4 + 2];
      rgbValues[d * 4 + 2] = swap;
   }

218 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:16:29 ]
>216
っていうか、 MSのフォーラムに行け。

219 名前:208 mailto:sage [2008/02/14(木) 21:19:43 ]
>218も俺。 って。

>216はVSインストールした事も無いのに書き込んで居るんだね。

220 名前:208 mailto:sage [2008/02/14(木) 21:48:05 ]
どうしたのですか?
ゲイツのうんこ大好きなスカトロ豚さん?

31行目か60行目を
Marshal.Copy(ptr, rgbValues, 0, bytes+1); // +1(・∀・) イイ
って変更すると、多分お探しのエラーコードがでまちゅよ。



221 名前:216 mailto:sage [2008/02/14(木) 21:57:35 ]
215で例外になるじゃんと思いつつも、217やったらたしかに動くね。
違いと言えば、215のコードを動かしたときは
tmpのインスタンスを作るときにファイルから読み込むBitmapのコンストラクタを使ったということくらい。

あと、217でtmpの中身を作るときのPixelFormatをFormat16bppRgb565にしつつ、
LockBitsに渡すPixelFormatをFormat32bppArgbにしても、探してた例外になったよ。

222 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 21:57:44 ]
えっと・・・何?こいつ

223 名前:208 mailto:sage [2008/02/14(木) 22:02:30 ]
>216
あんまり頑張るなよ。
自分でも苦しい言い訳だと思わない?

>int bytes = (tmp.Width) * (tmp.Height) * 4;
の"4"の意味が解らないなんて無理があるだろ。

けど、とりあえず反応してくれて、 あ り が と 。
ちなみに実行した環境とかも教えてくれちゃうと嬉しいな。

224 名前:208 mailto:sage [2008/02/14(木) 22:05:12 ]
>222
良いTipsを思いついたからブログに書こうと思ったら、
世間の奴らのブタ過ぎに書くに書けなくなった。

225 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:06:44 ]
>>223
いやそういうことではなさそう
PixelFormat.Format32bppArgbで作ってPixelFormat32bppRgbでロックしても例外出る

ビットマップのPixelFormatと違うフォーマットでロックしたらRectangleの中だけロックされるみたいだ

226 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:19:43 ]
>225
そうだろうな。

そして人は
Format32bppArgbなら、Format32bppArgbでLockBitする。
Format32bppPArgbなら、Format32bppPArgbでLockBitする。
Format32bppRgbなら、Format32bppRgbでLockBitする。

そうでない時エラーになるのは人として当然。
そして >225はnew Rectangle(0, 0, tmp.Width, tmp.Height)の時どう動いて欲しいのかな?
>ビットマップのPixelFormatと違うフォーマットでロックしたらRectangleの中だけロックされるみたいだ
(・∀・)ニヤ

ぶっちゃけ書くけど、2008まだインストールして居ないんだ。俺。

227 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:33:39 ]
>>223
ペイントで24ビットビットマップとして保存して、
Bitmap tmp = new Bitmap(@"h:\P1000220.bmp");のようにした。
.NET Framework 1.1 SP1と2.0 SP1 (3.5)、
VC#コンパイラ.NET 2003, 2005, 2008の3つで試した。

32ビットビットマップでやるとtmp.PixelFormatがFormat32bppArgbになってうまくいくね。
(217からGraphics作ってる部分だけ抜き出して、tmp.Saveで作った)

228 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 22:35:19 ]
>>226
違うフォーマットでロックすることは可能
これでお前の期待する結果になる
こういう仕様のようにも見える
Rectangle rect = new Rectangle(0, 0, 10, 10);
BitmapData bmpdata = tmp.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);
for (int i = 0; i < rect.Width * rect.Height; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
tmp.UnlockBits(bmpdata);

229 名前:208 mailto:sage [2008/02/14(木) 22:43:13 ]
>227
良く嘘をつく奴だな程度に思っていたけど、只の低脳なのか?

Bitmap tmp = new Bitmap(@"h:\P1000220.bmp"); //この次の行に書け。
Console.WriteLine("tmp.PixelFormat =" + tmp.PixelFormat.ToString()); //何が見える?

ペイントで24ビットビットマップとして保存して居る奴に必要なコード変更はこういう事だ。
//int bytes = (tmp.Width) * (tmp.Height) * 4;
 int bytes = (tmp.Width) * (tmp.Height) * 3;


230 名前:228 mailto:sage [2008/02/14(木) 22:45:30 ]
補足
tmpのPixelFormatはFormat32bppArgb



231 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:02:29 ]
>>229
嘘付きと低脳だったら嘘付きがいいな。
すまん、LockBitsするときにはPixelFormat.Format32bppArgbを
指定するよう書き換えていたことをさっきからずっと忘れていた。

232 名前:208 mailto:sage [2008/02/14(木) 23:03:53 ]
>228
面白い。 >225は間違って無かったんだな。
Bitmap tmp = new Bitmap(412, 256, PixelFormat.Format32bppRgb);
で作って。
BitmapData bmpdata = tmp.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);//つまり同じ。
for (int i = 0; i < rect.Width * rect.Height; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
tmp.UnlockBits(bmpdata);
した場合は元のもくあみに戻るのな。

念のため
for (int i = 0; i < (rect.Width * rect.Height)+200; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
として見たが、むなしくなった。 結果は白線がのびる。 exception無し。
こちらの環境は 2005 .NET 2.0 オンリ


夜も更けて来たので哲学入ります。
 俺がやってることは、世間の奴らが見向きもしないで触らずにいた汚い糞を、
わざわざどけてやってるだけなんだよな。

結果、一番得得してるのは、糞を垂れ流してる張本人って事ないか?

233 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:05:02 ]
>231
わるかった。 君が板から>228なんて案も出たんだ。

234 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:32:16 ]
たぶんLockBitsは指定されたPixelFormatと内部の形式が同じだったら、
コピーしないで中のメモリを直接ロックかける、
違ったら新しくメモリを用意し、そこに指定された領域を指定された形式に変換したものを
書き込んでいるという風になっている予感。

ソース見たら一発でわかるだろうな、誰かExpressではないVS 2008持っている奴いないのか?

デバッグ時は厳密にチェックするルーチンを使用し、
リリースでは速度重視って切替ができたら今より良かったと思う。

235 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:34:46 ]
NetMassDownloader使えばVS持ってなくてもソース落とせるよ
ただ,ネイティブGDI+の関数を呼んでるだけという罠

236 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 23:59:50 ]
>235
OSの環境に依存か。

 unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228

>208がrect=(0,0,1,1)に拘ってたけど、rect=(80,64,1,1)とかは動作に影響があるな。
 ソースにはラマーの意図を明確にする様に書けって話に戻るんじゃない?
 せいぜい他人が>217みたいなソースを書いてきたとき、頭を捻るって感じ。

そんな場面は限りなく少ないから、ググっても仕方ないで、 Q.E.D.


ちなみに、俺が>208って言ったら信じる? グチっぽくならないコメントを考えるよw。

237 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:11:02 ]
(´・ω・`)しらんがな

238 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 00:39:25 ]
>>236
VistaだとGDI+ 1.1になっているから何か変更があるのかもしれない。

> rect=(80,64,1,1)とか
そういうときのためのBitmapData.Stride。

239 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 14:11:20 ]
>>236
> unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228
その条件を満たさないとき、ドキュメントにあるどの仕様に反してるんだ?
一部だけを切りだして Stride も小さくしてくれるとか、領域外をアクセスすると
違反になるとかは 208の脳内仕様じゃないいのか?

LockBits は指定された領域を指定された様にアクセスできる情報を取得する
ためのメソッドであって、指定領域外へのアクセスがどうなろうが別にバグでも
なんでもない。ちゃんと当該領域は移動されないようロックされ、BitmapDataに
アクセスするための情報も返される。

240 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 15:29:33 ]
で、結局アホは誰だったの?
俺の他に



241 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:31:14 ]
dat.2chan.net/l/src/12029988461823ffe.jpg
やっぱ男はこうじゃないとね


242 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 18:50:29 ]
コピペ君って馬鹿だな、まで読んだ。

243 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 19:09:48 ]
コピペ君って馬鹿だな、まで読んだ。

244 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:42:33 ]
Drawing::BitmapからGDI+のCachedBitmapを作成したいのですが、
Drawing::BitmapからGDI+のBitmapを取得するにはどうすればよい?

245 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 21:57:07 ]
え? 早口言葉?

246 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 22:36:40 ]
うわぁ・・・

247 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:59:38 ]
bmp.GetHbitmap()ってことじゃなくて?

248 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:10:57 ]
>>242-243
よく見るよね
こういうのコピペって言うの?

249 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:34:08 ]
「コピ」−アンド「ペ」−スト

250 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:51:49 ]
>240
ラマー板に良くいる。プログラミングが出来ないラマーが釣れましたね。
static void Main(string[] args)
{
  Bitmap src = new Bitmap(64, 64, PixelFormat.Format32bppRgb);
  Graphics.FromImage(src).Clear(Color.Black);
  Rectangle rect = new Rectangle(32, 32, 20, 20);     
  unsafe
  {
    BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, src.PixelFormat);//見える?
    for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
    src.UnlockBits(bmpdata);
    src.Save(@"same.Png", ImageFormat.Png);
   
    Graphics.FromImage(src).Clear(Color.Black);
    bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); //見える?
    for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
    src.UnlockBits(bmpdata);
    src.Save(@"different.Png", ImageFormat.Png);
  }
}
チマチマソース書くより、ファビョる豚の方が案外気分が良いのかもな。
ラマー板に行けば解るよ。 頭の善し悪しより声の大きさが重要ってさ。




251 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:00:12 ]
>239の言葉を借りれば、
LockBits()と言う変幻自在なMS仕様を >208如きには追えなかったってことさ。

これからも、MSがカラスが白いと言ったら、絶対に黒いっていうなよw。

252 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:50:16 ]
>208が見てきたサイトも解った。

>特別の事情がない限り、このコードのように全領域をロックする。
 この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。

 だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。
そして「どうして?」とか「事情とは何か?」って考えはとても背徳的で、>239の様に酷い罵声を浴びせられるんだ。

253 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:56:38 ]
blogに書くなりMSにフィードバックするなり文句言うなりして終了だろ
何を粘ってるんだよ

254 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 02:58:48 ]
>239みたいな奴が居なければ、>208はココに書き込まなかった

って案に、個人的に酔ってみたんだ。 ラマー板で適当なスレを探そうかしら。

255 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:26:31 ]
ラマー板って何かと思ったよ。初めて聞いた。
妊婦用の板かと。

256 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:28:46 ]
>>255が初めて触れた事を考えるとお前らなかなか大人だなw

257 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:30:21 ]
>>254
よう、ひっひっふー

258 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:22:18 ]
>>254
日本語でおk、ひっひっふー

259 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:25:27 ]
マ板でやれ。

260 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:44:20 ]
>>259
ラマー板でやれ



261 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:51:37 ]
ここはラム板だっちゃ。

262 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:55:15 ]
混み合う電車の車内、その男は熱く堅いマラを私の後ろから押しつけてきた

263 名前:デフォルトの名無しさん [2008/02/17(日) 04:44:40 ]
ラマー板吹いたwwwwww
オレオレ用語キタコレ
やっぱり人間、謙虚じゃないといつどこで恥をかくか分からんねw

pc11.2ch.net/test/read.cgi/gamedev/1198312422/329-


pc11.2ch.net/test/read.cgi/gamedev/1198312422/339
pc11.2ch.net/test/read.cgi/gamedev/1198312422/344
pc11.2ch.net/test/read.cgi/gamedev/1198312422/346
pc11.2ch.net/test/read.cgi/gamedev/1198312422/348
たぶんこいつ、このスレでファビョってる奴と同一人物だよ
ラマー板も「想定」してあげないといけないらしいw
自作自演で自分の恥をうやむやにして逃げるから笑える
自分の言ってることを理解してもらえないと、ゆとりとかMS信者とか騒ぎ出すから気をつけてね

264 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 04:50:03 ]
pc11.2ch.net/test/read.cgi/gamedev/1198312422/344
たしかに「プログラマじゃないから」とか言ってるし、アンカーの仕方も同じだな。

どう見ても>>250です。本当にありがとうございました。

265 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 07:09:06 ]
>>208
Lockbits - specifying a rectangle with pixelformat 32bppArGB
connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=249805

266 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:15:18 ]
>265 C#だとunsafeじゃないと動かないんだよね。それ。

一年前にVB厨が見つけたけど、(2007/01/04)
Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。

267 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 09:28:31 ]
>208がVB厨より一年遅れともとれる。
所詮「MS」フィードバックともとれる。
MSがvistaと言ったら、XPのbugfixだなんて恐れ多くて言えない。

268 名前:208 mailto:sage [2008/02/17(日) 11:39:39 ]
 ソースを一行も読めない>239は >236までして必死になって人格攻撃をしましたが
毎日 MSを神と崇めるだけの仕事をしてきた彼には、>250のソースからFormat32bppArgbなどの単語を
得てやっとの思いで >265のログを見つけ出すのがやっとでした。

 それに対して、私は>217を new Rectangle(0, 0, tmp.Width, tmp.Height)に改め、フォーマットの
変更や限定無しに、現行xpでもvistaでも正常に動作するソースを手に入れました。
 更に上司にunsafeを使った高速化を提案し、「うちはそこまでしなくてもいいよ。だけど勉強熱心だね。」と褒められました。

アンチ信者は、「アンチ」の信者と言ったのはよく言った物で、正直私は「ご利益w」の様な物を感じました。

269 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:40:26 ]
訂正
>236 => >263

270 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:45:40 ]
誰もMS信者なんて居ないのに独りで正義気取り
カワイソス



271 名前:208 mailto:sage [2008/02/17(日) 11:50:23 ]
 ソースや文章には多くの目が加わるとより良くなるとは、
多くのプログラマやリファクタの心がける事とおもいます。

>270 ご指摘ありがとうございます。
 正義では無く、私自信もひとつの「信者」と自嘲の意味を込めて書かせて頂きました。


272 名前:デフォルトの名無しさん [2008/02/17(日) 11:56:12 ]
C#の質問じゃなくて.Net Frameworkの質問になっちゃうかもしれないけど

PixelFormt.*のフォーマットの定義
(PixelFormat.Format24bppRgbだったらB->G->Rの順で並んでいるbyte[]とか)
ってどこにあるの。

教えてください。

あと、bmp.Dispose()とか必要なん?
ガベコレがよきにはからってくれないの ?



273 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:59:09 ]
うむ
これからも懺悔の心を忘れるなよwww

274 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:16:35 ]
ソースを一行も読めない>239、とか
毎日 MSを神と崇めるだけの仕事をしてきた彼、とか

頭大丈夫か?少し休んだほうがいいぞ

275 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:41:20 ]
>>272
無いんじゃね
WPFにはあるんだけど

放置しててもそのうちファイナライザがGCに呼ばれてそこで解放されるけどあくまでフェイルセーフ

276 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:03:27 ]
>>268
お前の成功物語は239が居なくても成立したように見える。
どこで239から利益を得たのかわからない。

277 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:15:23 ]
265 = 239 だからじゃね?
>265は役に立ってる。 (0,0,1,1)のままだとvistaで転けるからw。

..
...
(0,0,1,1)なんて発想の方がでねーだろw。

278 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:41:13 ]
コピペ君って馬鹿だな、まで読んだ。

279 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:44:04 ]
>>274
空気読めてないようだねw
頭大丈夫?

280 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:45:05 ]
>>278
コピペしてるお前が馬鹿だということが、よくわかった。



281 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:02:57 ]
>>266
>Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。

宣ってない宣ってない。
2006/05/18のblogに載ってるのは、
「Orcasでは互換性を重視してるよ。そのためにRed and Greenモデルってのを入れたんだ」
って話で、Lockbitsの話はカケラも出ていない。

282 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:18:38 ]
コピペ君って馬鹿だな、まで読んだ。

283 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:19:14 ]
コピペ君って馬鹿だな、まで読んだ。

284 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 14:26:13 ]
コピペ君って馬鹿だな、まで読んだ。

285 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:13:00 ]
>272 が自分にも入り要な事に気づいたので、2匹目のドジョウを狙うぜ。
 だけど24,32bit系しかカバーできなんだ。orz
static void Main(string[] args)
{
  Rectangle rect = new Rectangle(0, 0, 8, 8);
  PixelFormat[] PFlist = new PixelFormat[] {
    PixelFormat.Format32bppArgb,PixelFormat.Format32bppArgb,PixelFormat.Format32bppPArgb,PixelFormat.Format32bppRgb,
    PixelFormat.Format24bppRgb};//ゴメン 24,32bit系しかカバーできなんだ。
  Color[] colors = new Color[] {
    Color.FromArgb(255, 0, 0),Color.FromArgb(0,255, 0),Color.FromArgb(0,0, 255),
    Color.FromArgb(64, 0, 0, 0)}; //用途に応じてココは増やした方が良いな。
  foreach(PixelFormat pf in PFlist)
  {
    Bitmap src = new Bitmap(rect.Width, rect.Height, pf);
    foreach(Color cl in colors){
      Graphics.FromImage(src).Clear(cl);
      Console.Write("{0}|{1,5}\t",pf.ToString(),cl.ToString());
      unsafe{
        BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadOnly, src.PixelFormat);
        int pixwidth = bmpdata.Stride/bmpdata.Width;
        for (int i=0;i<pixwidth;i++)
          Console.Write("[{0,3}]", ((byte*)(void*)bmpdata.Scan0)[i].ToString());
        src.UnlockBits(bmpdata);
      }
      Console.WriteLine("");
    }
    Console.WriteLine("-----------------------------------");
  }
}
更に>275が書いた事が間違ってたら、 真にうけた俺は、更にバカだな。

286 名前:285 mailto:sage [2008/02/17(日) 15:20:54 ]
あれ? コレじゃ俺がコピペ君みたいじゃないか。


えっと。 すまない。本当にコピペなんだ。orz

287 名前:285 mailto:sage [2008/02/17(日) 15:26:27 ]
っていうか、コレ全然役にたたね。 実行しなくて良いです。
スレ汚し失礼しました。

288 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:29:06 ]
>>272
.NET Frameworkの仕様というよりほとんどGDI+の仕様だけど、
ここに文章で書いてある。
ttp://msdn2.microsoft.com/en-us/library/ms534412.aspx

289 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:41:34 ]
272じゃないんだけど
Dispose()は単なるメソッドで、GCとは関係なく
GCはいつ回収しにくるかわからないので、明示的に解放処理をしたい場合
IDisposableインターフェイスを実装してDispose()する

という解釈で合ってるのかな?

290 名前:デフォルトの名無しさん [2008/02/17(日) 19:28:52 ]
サテライトアセンブリを学んでいるところです。

そこで使われている Assembly Linker の al.exe はどこの場所に
インストールされているものでしょうか。

 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
(Resgen.exe、Winres.exe はここにありました) 

を見たり検索したりしてみたのですが見つかりませんでした。
すみませんがこれについて教えてください。




291 名前:290 mailto:sage [2008/02/17(日) 20:17:21 ]
確かにal.exeは見つからないままでしたが、少なくともVS2005で作成する
場合は、コード内で、現在のスレッドのカルチャ CurrentThread.CurrentUICulture 
にカルチャ情報 CultureInfo() を指定するだけで該当のリソースが使われる
ようでした。al.exe は無くてもVSがやってくれるので問題ないのですね。


292 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:24:53 ]
>>289
うん
直接アンマネージリソースを扱ってたりして特別な解放処理が必要なクラスなら
もしDispose呼び忘れても死亡しないようにファイナライザも実装する

293 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:28:56 ]
ResourceHoge.resx
ResourceHoge.ja.resx
ResourceHoge.en.resx
...
等とするとVSが作ってくれて、実行時に選択してくれるのな

294 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:30:33 ]
>>291
C:\Windows\Microsoft.NET\Framework\v2.0.50727\al.exe

295 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:32:45 ]
なんでC++でなくて、C#を使ってるんですか?


296 名前:290 [2008/02/17(日) 23:58:52 ]
>>293
どうもそのようです。

>>294
ありがとうございました、そこにあることを確認しました!!
(Program Files の中しか探していませんでした。。。)

またよろしくお願いします。

297 名前:デフォルトの名無しさん [2008/02/18(月) 01:14:00 ]
>>272
憶えていないけど、どこかで見た記憶が有る、ヘルプのすごい変なところ

298 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:31:29 ]
>>272
アンマネージドのラッパになっているクラスは大抵付いていてやらないとむやみに長期に渡って残るよ
アプリ落とす段階で適当にコレクトされるみたいですけど。
理由は、Comインターフェイスは手動リファレンスカウンタで管理しているので、ガベコレと直接関連してくれないから。(いずれ死ぬけど)
ファイル周りのDisopseは必ずやっておく事、ファイルが長時間に渡ってロックしっ放しになって
他のアプリからアクセスできなくなる。
それとスレッドを持っていてバックグラウンドで仕事をしているようなタイプのオブジェクトも
これは、アプリのプロセスインスタンスが死ななくなって都合が悪い、
特にデバッグ時に停止してもなかなかIDEに制御が戻らなくなってデバッグに不便になります。

299 名前:272 mailto:sage [2008/02/18(月) 01:36:04 ]
みなさんありがとう。

Dispose関係は結構複雑なのですね。
忘れないようにしたいと思います。


300 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:40:59 ]
WPFでどうしてDisposeがほとんどいらなくなったのか理解できない
ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに



301 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:15:29 ]
コピペ君って馬鹿だな、まで読んだ。

302 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 05:21:14 ]
ゆりしー(´;ω;`)かわいそうです みなとらじお 君が主で執事が俺で 02
www.nicovideo.jp/watch/sm2336941

伊藤静「じゃあ、次もwww」
後藤邑子「斬ったほうがいい?www」
伊藤「次は斬る?www」
後藤「どうするww」
伊藤「ペンネーム『心が綺麗な天使』から頂きましったww(フンッwww) 私はこの日本に住むのにはピュアすぎます。どのようにしたら天使のような私がこの今の日本に馴染めるのでしょうか?」
後藤「.........ウザい」
二人「キャッハハハハハwwwww」
伊藤「ちょほんとさあ、大丈夫?www」
後藤「おい天使、おいおい自称天使ww」
伊藤「自分が天使だと思ってること自体がちょっと間違ってんじゃないの?っていうねwww」
後藤「うん。ね。ちょっと軽く(精神病院に)通院してみたほうがいいんじゃないの?www もしくは、今の日本に馴染めるようにちょっと汚れちゃえよwwww」
伊藤「それかもう日本出て行ったらいいんじゃないの?www」
後藤「天使が住める国にwwwwwww なんかエルフの国とかに行ったらいいんじゃないの?wwww」
伊藤「妄想の中とかに(プフッww)行っちゃえばいいんじゃないのwww」
後藤「コワイヨーwwwコワイヨーwwwww」
二人「クックックックwwww」

303 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 07:17:14 ]
>>300
>ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに
それはXAMLのエレメントを表現したオブジェクトのツリー
アンマネージドリソースは持ってない。

304 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:43:41 ]
ニコ厨氏ね

305 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:19:34 ]
おまえら、木曜日から酷い有様だな。ちょろ過ぎる。
>208、>250なんてさ
>ソースには(プログ)ラマーの意図を明確にする様に書けって話 (引用 ケントベック)

> この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。
> だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。
>そして「どうして?」とか「事情とは何か?」って考えはとても背徳的 (読んだことあるけど失念。トム・デマルコ風?)

> ソースや文章には多くの目が加わるとより良くなるとは、(出典 Refactoring to Patterns)

 これ引用ばかりww。 それどころか、ぜんぜんランクの低いそれらをやたら勧める「アジャイルw」の口伝だろw。
>208はどう見ても真っ赤な信者です。本当にありがとうございました。
 本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。

 それなのに、オマエらチャンスボール多すぎ。常識的に>227なんてありえないし。
 >270>271繋がりはなんだ?便利すぐる。
執拗に人格攻撃してるのは、>239に過剰反応したコピペ君の>250なのが事実。
最後に、自分からの信者宣言まで許すし。...もう訳がわからん。
こんなの>208への接待プレーか、>250は>208の素敵な自作自演ですと思われても仕方ねーだろうよ。JK

本当にちょろ過ぎる!!! そりゃ便乗して論破狙いに「C#ってなに?」な奴も湧くよwwww。
NetMassDownloader片手にさww。
そういう本を読んで、頭良いと勘違いする只のガキは五万といるんだからな。 覚悟しとけ。
!!! 俺 も 含 め て 5 万 + 1 wwww !!!

306 名前:239 mailto:sage [2008/02/18(月) 11:46:43 ]
想像したり実験したりしながら「動けばいいや」とコードを書き、
仕様が想像と異なっていたらAPIのバグだと主張するという素敵な
スタイルを否定した漏れも悪かった。

307 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:48:02 ]
コピペ君って馬鹿だな、まで読んだ。

308 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 11:55:24 ]
>306
つttp://www.amazon.co.jp/Microsoft-NETでのテスト駆動開発-ジェームス・ニューカーク/dp/4891004428

309 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:01:33 ]
>>308
何かお探しですか?
入力したURLが当サイトのページと一致しません
といわれました

310 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:06:50 ]
239が265って線は消えたな。

つttp://www.cbook24.com/bm_detail.asp?sku=4891004428
 URLがどうこう以前に、会社か学校に「テスト駆動開発」の本が無いの?

>想像したり実験したりしながら「動けばいいや」とコードを書き、
>仕様が想像と異なっていたらAPIのバグだと主張するという素敵な
>スタイル
がそのまま載ってるだけなんで、 御社では別によまんくても良いんじゃない?
urlをクリックしてくれただけで十分です。



311 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:07:12 ]
>>309
www.amazon.co.jp/dp/4891004428

実は書名の部分は削っても同じページが表示される。

312 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:11:50 ]
主張するっていうか、発見したとした方が嫌みが無いよ。

313 名前:305 mailto:sage [2008/02/18(月) 12:22:37 ]
MSは、VS2005あたりからユーザーのニーズに応えて「テスト」って機能を付けたけど。
自社製品では「テスト」しないんだね。
みんなでerrorを見つけてbugfixしようよ。 みんな幸せになろう。
って書くと、もうアンチ信者なのか? orz

314 名前:305 mailto:sage [2008/02/18(月) 12:35:48 ]
ttp://ja.wikipedia.org/wiki/ソフトウェアテスト#.E3.83.96.E3.83.A9.E3.83.83.E3.82.AF.E3.83.9C.E3.83.83.E3.82.AF.E3.82.B9.E3.83.86.E3.82.B9.E3.83.88
ダメだ。 俺センス無いな。 urlクリックでは行けない。
239の後輩が基本情報処理技術者の資格もってれば教えてくれるよ。

315 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:49:37 ]
>>301
お前うざい

316 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 12:52:07 ]
自校紹介 >305
>本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。

317 名前:305 mailto:sage [2008/02/18(月) 13:17:03 ]
俺の希望を言わせてもらえば、
誰でも良いから。 239を語って
「208はマジで行き当たりバッタリで、TDD風味なのは最悪コピペ野郎の250!!
 なんだよ、どっちも糞じゃねーか!!」
ぐらいの線だったんだけどな。

318 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:24:36 ]
>>313
いやいや、テストしないとかありえないだろ。
MS はテストだけで部署が1つある。

319 名前:305 mailto:sage [2008/02/18(月) 14:31:04 ]
>265 ループかよ。  俺もうこのクソコテいらねーよ。

気分はアレだ。せっせっと地雷埋めて、味方が乗ってるときに起爆しちゃったぐらい。
俺、208みたいに全レスとかしないから。 テストってなんの事かなさっぱりわからないや。 208にでも言わせろ。

320 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:06:29 ]
おまえらさ・・・本当にC#の質問したい奴ができない雰囲気になってるからやめとけよ



321 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:03:16 ]
>>315
コピペ君って馬鹿だな、まで読んだ。

322 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:11:39 ]
>>303
BitmapSourceとかGeometryとか描画の低レベルなところはアンマネージリソース持ってるよ

323 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:02:07 ]
トータルで見るとGCって不便だし、余計に頭を使う。

324 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:14:08 ]
System.InvalidCastException: 型 'System.DBNull' のオブジェクトを型 'System.String' にキャストできません。

SqlServerからSelectしてきたDataRowを表示したいのですが、上記のエラーが出ます。
下記のように書いても、'System.DBNull' は '型' ですが、'変数' のように使用されています。
ということでビルドできません。typeofとか使っても駄目です。
VBだとIsDBNullってあるようですが、C#ではどうしたら良いのでしょうか?

if (row.Name != DBNull)
  Console.WriteLine("Name: {0}", row.Name);



325 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:18:48 ]
msdn2.microsoft.com/ja-jp/library/system.dbnull(VS.80).aspx
>DBNull はシングルトン クラスです。つまり、このクラスのインスタンスは 1 つしか存在できません。
その唯一のインスタンスは DBNull.Value です。

326 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:18:57 ]
知らんけど

if( !(row.Name is DBNull) )


327 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:22:22 ]
rowにIsNameNullみたいなメソッドがあったはず

328 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:28:52 ]
みなさま、どうも有り難うございます。

>>325
その説明がまた難しかったです‥‥。
row.Name != DBNull.Valueでも同じエラーでビルドできませんでした。

>>325
is演算子なんて、初めて使いました‥‥。
結果は同じだったんですけれど。

>>327
なんと、確かに勝手に作られました!!
カラム分のrow.Is○○Nullが生成されるようです。
気付かず、申し訳ありませんでした。

皆様、どうも有り難うございました。


329 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:31:52 ]
>>324
if(row.Name != DBNull.Value)
でどうか。

330 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:36:04 ]
>>329
俺レス遅すぎorz。
つーか、よく考えたらコンパイル通らんな…。



331 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:36:06 ]
ぶっちゃけ、自動生成されるプロパティ public string Name { get { }}
のなかが、if( row.Name.type == DBNull ) throw Exceptionみたいな
インプリになってるから、Nameを触った時点で終冬

StringならプロパティでNULL時に代替する値を設定できるけど、
Nullable型はどこへ行ったの、って感じ。

332 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 21:39:59 ]
ちゃんとDBのスキーマでNot NullにしたカラムではIs○○Nullが作られないんですね。


333 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:25:34 ]
ある指定されたファイルの先頭と最後に固定データを付加して、別ファイルに保存する方法が分かりません。
先頭の固定データを設定したByte配列に、元ファイルを読み込んだByte配列をコピーするような方法しかないものでしょうか?

334 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:32:29 ]
先頭に固定データを書きこんだ後に続けて
元のファイルの内容を順次書き込めばいいだろ

335 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:09:01 ]
StreamをUriとして扱ういい方法しりませんか?

やりたいのがzipで圧縮されたMP3をメモリ上に解凍したものを
MediaPlayerで扱いたいとか
HTMLが含まれたメールのHTML部をメモリに抽出したものをwebbrowserで開きたいのですが
メモリ=>Uriとして扱うために、一旦ファイルに落とせば出来るのですが、
ファイルに落とさずに行いたいです。


336 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:12:12 ]
ウェブサーバ機能も搭載してしまうとか。

337 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:19:59 ]
>>336
>ウェブサーバ機能も搭載してしまうとか。
すいませんが、知識がありません。
もうちょっと、ヒントを

あんまり、大がかりにはしたくないのですが、
WCFでちょちょいと出来そうなら、
チャンスなので、WCFとかの勉強をしてもいいかなとも思ってますが。
さくっと見てみた限りでは、ちょっと違うかなぁと
(出来るかもしれないし、出来ないかもしれない)
今は、飛び込むのに迷ってはいるのですが。

338 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:47:15 ]
>>337
System.Net.HttpListener で適当なポート Listen しといて、
要求があったら Response にファイルを返す。

ブラウザで localhost:ポート番号/ を開く。

339 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 14:15:07 ]
>>338
回答ありがとうございました。

MSDNにあるサンプルで試したところ、
簡単にできそうですね(さしあたり、HTMLメールの方は出来そうなことを確認)。
ながいこと方法を探していたので、本当に感謝致します。m(_ _)m


340 名前:デフォルトの名無しさん [2008/02/19(火) 21:36:35 ]
ReSharperを購入したことのある方いらっしゃいますか?
ReSharperを購入しようと思い、JetBrainのサイトからクレジットカード(Visa)での購入手続きを行ったのですが
数時間後にメールが支払い手続き失敗のメールがきてしまいます。
このカードで他の買い物はできているのでカードが使用不能になっているわけではないと思うのですが・・・



341 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:40:02 ]
ドル決済ができないとか、海外利用に制限かけてあったりとかじゃないの

342 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:47:10 ]
あれ、List<T>にIsReadOnlyは無いの?

343 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:50:01 ]
>>342
ICollection<T>にはある。もちろんList<T>も実装している。

344 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 00:54:14 ]
なんでList<T>をICollection<T>にキャストか何かしないと使えないの?
List<T>のまま直接IsReadOnlyを参照できればいいのに

345 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:04:55 ]
List<T>は絶対読み取り専用じゃないから無意味

346 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:17:23 ]
んー、インターフェースのメソッドやプロパティを一部隠せる構文ってあったの?

347 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:19:11 ]
明示的な実装

348 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:22:13 ]
なるほど
いろいろとサンクス

349 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 09:08:53 ]
exe形式のCOMサーバー作るのもやり方がわからず困ってます。
ATLのhoge.exe /regserverのような自己登録型のCOMサーバーのことです。
単にCOMインタフェースを持ったexeを作って、regasmやgacutilでCOM登録はできるけど、
これだと単にDLLサーバーと同じ働きしかしない。
つまり、アプリ側でそのexeを参照してCOMが使えるけど、アプリごとにロードされる。
COMは1つだけロードされて情報を共有したいのですが・・・

こういうのってC#だとCOM+(コンポーネントサービス)で実現すべきですかね?
C#でCOM+作ってregsvcsで登録、複数アプリでの情報共有はできることは確認できたのですが。

350 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 09:24:40 ]
RegistrationServices.RegisterTypeForComClients でなんとかできるのかもしれない



351 名前:349 mailto:sage [2008/02/20(水) 11:14:51 ]
んー、これは、プログラムからCOM登録するというだけではないですか?
自分はCOMがマシンでシングルトン的に動く事を期待しているので。
それで複数のアプリがそこへCOMインタフェースを介してアクセス。

352 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 11:43:57 ]
RegistrationConnectionType 指定できるじゃん?

353 名前:340 mailto:sage [2008/02/20(水) 12:03:31 ]
>>341
フォームからは日本円も選べるので
日本からの購入も可能なのかと思ったんですが…

354 名前:349 mailto:sage [2008/02/20(水) 12:03:35 ]
うお、なんかできそうな気配がありますね。
ちなみにこんな記事も見つけた。
ttp://www.codeproject.com/KB/COM/ActiveXEXEWrappers.aspx
ここではEXE COMサーバー(ActiveX EXE)に相当する物は.netにはないから、
一度.netでCOM作って、それをnativeなActiveX EXEアプリで参照して、
メソッドラッピングするという話。

355 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 12:28:46 ]
>>353
>>341が言ってるのは、カードの設定のことじゃないのか。

まあ、クレカ関連のトラブルはカード会社に電話するのが一番手っ取り早いと思うよ。

356 名前:340 mailto:sage [2008/02/20(水) 12:38:52 ]
>>355
ありがとうございます。
問い合わせてみます。

357 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:53:15 ]
期限の年月を逆にかいてないか?

358 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 09:52:37 ]
買い物したことあるみたいだから、それは無いと思うが、、、たまたまあってたのかもしれんしな。
2012年を過ぎればこんな心配も無くなるなw

359 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:18:00 ]
偶然08/08だったので気づかなかったりw

360 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:48:48 ]
>>334
ありがとうございました



361 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:32:37 ]
JAVAとC#どっちがリバースエンジニアリングに強い?
どっちも変わらない?

362 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:58:33 ]
変わらないと思う。

363 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:33:09 ]
実際のところ難読歌どうなんだろうね。
すんごいクラス細かく分けてあって、名前がa1とかだったらそれなりに調べるのに時間かかるとは思うんだけど。
一メソッドの中のロジックはともかく、複数のクラスの相互関係とかは結構追いにくくなりそうだけど。
もちろんバイナリのほうがいいのはいうまでもないが。


364 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 00:39:16 ]
リフレクションしてたら死ぬからできればやめといた方が無難

365 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:21:01 ]
バイ…ナ…リ…?

366 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 02:26:19 ]
意図せずリフレクションが使われてることはよくある。
Enum.Parseとかも駄目。
そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。
駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。
難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。
ほんのちょっと読みづらいだけだよ。

367 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 07:21:38 ]
>>365
そのまま、ネイティブバイナリの意味ですが?普通に読めば.NET ILコードとネィテブバイナリを比較して行ってると思ったんだけど・・・

>>366
>意図せずリフレクションが使われてることはよくある。
>Enum.Parseとかも駄目。
>そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。

それはめんどくさそうですね。


>駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。
>難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。

ので全部のクラスに難読化かけたときは全体の構造追いにくくなるのである程度は意味ないかと思ったんですけどね・・・
じぶんならかなり見る気がうせるし、追ってくのにも時間かかるだろうから、それなりに障壁にはなるかと。



368 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:08:05 ]
てn
ttp://data.exet.nu/bildarkiv/svarv/02.jpg

369 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:34:00 ]
↑グロ注意

370 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:39:20 ]
Console.ReadKey を使ってそれなりにリッチなコンソール インターフェイスを
構築しようとしているのですが、(Console IME は使えなかったのでテストして
いませんが) 非 ASCII 文字をペーストすると変に分解? されてしまうようなの
ですが、何か対策は無いものでしょうか。どうかご教示願います。

/* コード */
char c;
while (true) Console.WriteLine("{0} ({1})", c = Console.ReadKey(true).KeyChar, Convert.ToInt32(c));
/* 結果: (入力orペースト -> 出力)
a -> a (97)
A -> A (65)
あ -> ? (130)\n? (12448)
い -> ? (130)\nア (12450)
ア -> ? (131)\nぁ (12353)



371 名前:デフォルトの名無しさん [2008/02/24(日) 22:12:17 ]
TextBox textBox;

textBox.AppendText("1\n");
textBox.AppendText("2\n");

textBox.AppendText("3\n");

textBox.AppendText("4\n");

textBox.AppendText(textBoxLog.Text);

とすると、

1
2
3
4
1234

ってなるんだけど、最後の行で改行が消えるのは何故?
改行を保存するにはどうすればいいの?

372 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:14:22 ]
正しい改行は\r\nだぜ

373 名前:デフォルトの名無しさん [2008/02/24(日) 22:20:04 ]
ちょっと質問の仕方を変える。

TextBox textBox;

textBox.AppendText("1\n");
textBox.AppendText("2\n");
textBox.AppendText("3\n");
textBox.AppendText("4\n");
textBox.AppendText(textBoxLog.Text);

とすると、

1
2
3
4
1234

ってなるんだけど、初めの4文字は改行されて、最後の4文字は改行されないは何故?

374 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:38:18 ]
>>373
Dock=FillとかにしてTextBoxのサイズがウインドウサイズに連動して変わるようにして、
表示した後にサイズを変えてみ。
\nじゃだめなことがわかるから

375 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 22:40:08 ]
逆に、なぜ\nでも一見改行されているように見えるのかと聞いているのかもしれない。
それなら、俺も聞きたいところだ。

376 名前:デフォルトの名無しさん [2008/02/24(日) 22:46:38 ]
>>374
>>375の言う通り、初めの4文字が「\nじゃだめ」じゃない理由を知りたい。

377 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:20:55 ]
x.SelectionStart = x.TextLength
ってやると末尾に\nが来た場合次の行にカーソルが行くから、かね

378 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 23:24:02 ]
最善策: Environment.NewLine

379 名前:デフォルトの名無しさん [2008/02/24(日) 23:41:20 ]
昨日プログラムを始めたばかりなのですが、本にintは数値を入れる箱と書いてあったのですが
どういう箱なのでしょうか?いまいち解らなくて・・・

380 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:01:41 ]
>>373
textBox.AppendText(textBoxLog.Text + "\n");
で解決とか言う問題ではないのよね?



381 名前:デフォルトの名無しさん [2008/02/25(月) 00:03:56 ]
>>380
ではないね。

382 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:06:43 ]
>>379
なれるまで使い続けろ

383 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:09:02 ]
  ____
 /......  .. .../
 ||:::   ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | ̄\ ( ゚Д゚)<  こういう箱。
 |   |: ̄U U ̄:|\_______
 |   |: int   :|
  ̄ ̄ ̄ ̄ ̄ ̄

384 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:10:07 ]
intはどっちかというと箱の形だと思う

385 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:17:59 ]
型の話をするとなっがーくなるぞ

386 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:35:41 ]
>>379
ふらっと池
諸先輩方の仰る通り、とりあえず変数は一通りその存在に慣れて、その後に
詳細を理解した方が良い。

387 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:37:02 ]
>>383
それはむしろ object @int = new Giko("こういう箱。"); じゃw

388 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 00:39:10 ]
>>379
メモリにも、処理可能な量にも限界がある(有限)ため、資源を区切って使う必要がある。
どんな箱かと言われたら、一般的な段ボール箱かな?

389 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 03:15:45 ]
詳しいことは知らないので適当に書くが、
半導体が帯電しているかしていないかで0,1をあらわす
それを32個組み合わせたものがintで、
intは2の32乗の状態をもつことが出来る。
一つ一つの状態は整数の値に対応し、四則演算などを行うことが出来る
つまり整数を入れるのがint

390 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 04:00:04 ]
適当すぎてワロタ



391 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:33:29 ]
>>379
英語の文法を意識して話してるうちは英語が話せないのといっしょ。
でも、たとえも良くないな。
数学の変数と同じと思う方がいい。

392 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:40:04 ]
よく使われるけど「箱」って絶対分かりにくいと思う。
数学の x や y と同じで、ただ代入できる数値に制限があるってだけで
中学生以上なら誰でも理解できると思うんだけど…

393 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 09:43:35 ]
代入演算子が "=" なのがそもそもオカシイ
もう慣れちまって違和感無いけど

394 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 10:03:33 ]
代入が「演算」かどうかという点からして微妙なんだがな

395 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 11:11:48 ]
そうですか

396 名前:391 mailto:sage [2008/02/25(月) 11:39:35 ]
>>392
Cの時代はポインタの理解の布石として箱で理解する必要はあるかもしれないけどね。
今時の開発で初心者が箱で理解する意味なし。

397 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:14:14 ]
Cの場合、ポインタで直接中身をいじる感覚を把握するために、
箱モデルの必要性があった。

現代的な言語、たとえばJavaなら、プリミティブ値かオブジェクトに付ける名前、
あるいは名札、という概念で把握できるから箱モデルいらね。

398 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:15:07 ]
というかC♯スレだっけ、ということで、
s/Java/C♯/

399 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:25:00 ]
保存媒体のケース
カセットテープのケースにはカセットテープが入る
MDのケースにはMDが入る
形が似てるものは互換性があったり(あるように見えたり)する

何でも入れられるケースもあるけどな

400 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:36:02 ]
その文脈で何でも入れられるケースが出てくるのはおかしい
箱で考えるとその辺で悩む奴がいる



401 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 12:49:27 ]
ヒープとスタックくらいは構造意識してプログラミングしようよ。

402 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 13:11:27 ]
今ある言語の「型」は性質によって定義されるのであってメモリ構造とかは付随的なものだから
記憶構造とか意味が無いよ
むしろ「自然数」という型を数学的に定義しているペアノの公理とかの方に引っ張っていくべき

403 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:02:11 ]
行き過ぎた抽象化や比喩は弊害になるいい例なんだと思う
自分の指示がコンピュータのどの資源をどのように確保したかを理解せずまともなプログラムが出来るなんて
現実感の足りない偉い学者の夢想物語で未来永劫そんな理想環境が訪れることは無いんじゃないかな

ペアノとやらでメモリの話を避けてintの定義と機能を説明できる?

404 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:32:42 ]
初心者は型の無いシンプルな言語から始めたほうがいいのじゃないだろうか。

405 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:00:55 ]
型があったほうがコンパイル時にエラーで教えてくれて親切だと思うんだけどなぁ


406 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:10:24 ]
型無し言語ほど恐ろしいものはないわ

407 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:10:56 ]
>>403
できる

408 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:29:06 ]
箱とか数学よりも擬人化したほうがいいだろjk

409 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:32:44 ]
C#で多倍長整数を構造体で定義することを考えてみ
メモリ云々よりも性質から攻めていった方が楽だろ?
型っていうのは性質によって定義されるものなんだろjk

410 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:37:14 ]
型宣言省いて上手く動かず
全部intで処理して挙動不審
floatで期待した結果を得られず

ホビープログラムで経験して理解した者が這い上がってくるって事で良いんじゃないだろうか
別の山道ももちろん在るけど



411 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:46:34 ]
implicit operator実装しまくればVariant型を作れるかな

412 名前:デフォルトの名無しさん [2008/02/25(月) 17:34:41 ]
C#で、グラフ構造を表示するのに便利なライブラリーってありません?

413 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 18:58:11 ]
ListViewの詳細表示で、他のコントロールを貼り付けるにはどうしたらいいですか?

414 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 19:12:15 ]
>>413
ListViewを使うのは諦めた方がいい。
DataGridViewとか使ったら?
WPFなら融通利くかな・・・。

415 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:49:30 ]
>>411
System.Variant

416 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 20:52:35 ]
>>413
貼り付けるだけなら
control.Parent = listview;

サイズはListViewItem.BoundsとかListViewItem.ListViewSubItem.Boundsとかで拾う
制御するにはイベントだけじゃ無理でWndProcをオーバーライドして適宜メッセージ処理する必要あり

417 名前:デフォルトの名無しさん [2008/02/25(月) 23:52:39 ]
ArrayListにString配列をAdd()で格納*n回繰り返す →
それぞれのStringデータに1バイトずつbyte型のデータを
付加して、String配列を一つのStringデータにする。

やり方をどなたか分かる方おりませんか?

StringBuilderでStringをアペンドすることは出来るのですが、
byte型のデータをアペンドするときに0x12が0x3132になってしまいます。。

418 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:00:24 ]
要するに、そのbyte型データ(bとして)がstringになればいいんでそ。

System.Text.ASCIEncoding.GetString( new byte[] { b } )
でも使って変換すれば。

419 名前:417 [2008/02/26(火) 00:07:35 ]
>>418 さん

ありがとうございます!!!
大変助かりましたし、勉強になりました。

本当にありがとうございます。

420 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:13:01 ]
もち、ASCIIの範囲超えたら例外だかんね。
文字列はUnicodeとして合法な並びにしかならないから。
それが嫌なら、全部バイト配列でやるこったね。



421 名前:417 mailto:sage [2008/02/26(火) 00:30:42 ]
文字列で処理する方法を諦めかけていたとき、
byte配列で処理することも考えていました。
データ長が可変なこともあってArrayListで
処理していたのですが、

ArrayList = new ArrayList();

arylst.add( b ); //byte型で0x12を格納したデータ
arylst.add(bytes); //文字列をbyte配列に変換したもので0x35363738(5,6,7,8)を格納したデータ

byte[] = (byte[])arylst.ToArray(typeof(byte));

と処理すると、ToArrayの箇所で必ず、『キャストできませんでした』という
例外になってしまっていました。

もしよろしければ、上記のbyte配列で処理する手順で
例外にならないようにbyte配列を生成する方法を
併せてご教授いただけませんでしょうか?

422 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:41:18 ]
その文字列を、どのエンコーディング使ってByte配列にしたいかによって話も変わってくるけど、
List<byte> bytelist = new List<byte>();
bytelist.Add( b );
bytelist.AddRange( System.Text.UTF8.GetBytes( "abcdefgh...") );
みたいにして、最後にbytelist.ToArray();とでもすればいいんじゃないの。

423 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 00:54:23 ]
417-418を見て思ったんだけど、(char)bってできなかったっけ?

424 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:12:57 ]
出来ますが、文字コードに変換されてしまいますよ

425 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:29:57 ]
>>421
arylstの中身は { b, bytes }
bytesがbyte[]型ならbyte型にキャスト出来ないのは自明

配列をばらして追加したいならAddRange()

>>423>>424
ASCIIの範囲なら問題ないんじゃないか?
0x30を"30"ではなくて'\x30'に変換したいだけだと思ってたんだが違うのか

426 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 01:37:32 ]
あ、"30"じゃなくて"48"か
>>417につられて間違えた

427 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 02:15:43 ]
process.start(exe, arg)でargが2056文字だと正常に動作するけど
2057文字だとエラーになります.
なぜだか原因,仕様等知っている人いたら教えてください.

428 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 07:21:24 ]
コマンドラインのバッファ制限

429 名前:デフォルトの名無しさん [2008/02/26(火) 09:06:18 ]
グラフ構造を見やすく表示するようなコントロールって
どこかから発売されているのでしょうか?2Dでも3Dでも
かまいません。.NET で使えるものを探しています。

430 名前:391 mailto:sage [2008/02/26(火) 10:02:48 ]
>>409
同意。
Marshalとか使い出さない限りは問題ない。
数学Iができてればプログラムは問題ない。
II以降の偏差値50切ってる俺ですらできてるからな。



431 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 10:06:14 ]
問題ないと思っているのは本人だけ。
そもそも優秀な管理者は部下にぎりぎり問題の無い仕事を与える。

432 名前:デフォルトの名無しさん [2008/02/26(火) 11:16:40 ]
ちょっと質問なんですが、

// IE オブジェクトを作る
Type typ = Type.GetTypeFromProgID("InternetExplorer.application");
object ie = Activator.CreateInstance(typ);
これで新しいIeのインスタンスが出来るんですが、
既に起動しているIeのハンドルからobject ie を設定する方法ってのは
ないものでしょうか。よろしくお願いします。

433 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 11:46:09 ]
ShellオブジェクトのWindowsメソッドで列挙してHWNDプロパティ見てけば

434 名前:417 [2008/02/26(火) 12:40:48 ]
>>422-426
大変助かりました。
ありがとうございました。

435 名前:デフォルトの名無しさん [2008/02/26(火) 13:35:30 ]
ArrayListにAddした複数のbyte配列を、ToArray等で
ひとつのbyte配列にはできないのでしょうか?

436 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 13:44:34 ]
byte[] array = list.OfType<byte[]>().SelectMany(a=>a).ToArray();

437 名前:デフォルトの名無しさん [2008/02/26(火) 14:33:53 ]
説明が足りませんでした。
開発環境はVS2005です。

438 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 14:36:07 ]
というかまだ ArrayList 利用者っているの?
1.1 に縛られてるなら仕方ないが、そうだと>>436 使えんし

439 名前:432 [2008/02/26(火) 16:36:13 ]
>433
Shellですか。(^^;
Shell = CreateObject("Shell.Application");
foreach (object Obj in Shell)
こうやってもobject型がGetEnumeratorを含んでいない為
列挙が出来ません。
何か良い方法があるのでしょうか。

440 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 19:59:06 ]
Shell.Windows



441 名前:デフォルトの名無しさん mailto:sage [2008/02/26(火) 21:43:39 ]
>>438
配列に縛られてる奴等はいっぱいいる。

442 名前:デフォルトの名無しさん [2008/02/26(火) 22:07:29 ]
リモートデバッグの仕方がわかりません。
プロセスにアタッチはできるのだがブレークポイントが有効にならない。
なんで?
VisualStudio2005 C#

443 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 01:27:20 ]
目的のプロセスがデバッグ情報ないのでは。

444 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 06:19:01 ]
どういうプログラムをデバッグをしたいのかとか、
実行した手順を書かないとエスパーでないと答えられん

445 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 17:46:00 ]
フォームのタイトルってTitleで何度も書き換える事はできないのでしょうか?


446 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:04:02 ]
Form.Text

447 名前:445 mailto:sage [2008/02/27(水) 19:22:13 ]
>>446
それが反映されないのです。
form2.Show();したものですからかね?

448 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:46:09 ]
form2.Text

449 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 19:48:49 ]
Application

450 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 22:14:53 ]
別スレッドから書き換えてたりしないだろうな



451 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 11:54:13 ]
たぶん違うインスタンスのプロパティいじってるとエスパー

452 名前:デフォルトの名無しさん [2008/02/28(木) 20:42:52 ]
C♯[windowsプログラミング]の問題集を買ったんですがどうしてもわからない問題があったので教えてください
問題:以下の説明に該当するイベントを答えなさい
@ボタンをクリックしたときに発生する
Aラジオボタンの選択された時発生する
Bテキストボタンの値が変わった時発生する
Cフォームが閉じる時発生する
Dタイマーが有効になった時に一定時間間隔で発生する

453 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:01:02 ]
VC# 起動してフォームにそれぞれ配置して
プロパティのイベント見れ
親切に説明書いてあるから

454 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:06:11 ]
分からなくても全然OK。IDEが助けてくれるから。

455 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:11:42 ]
そんな名前なんてほとんど役に立たない知識だと思うけど。
糞問題集だな


456 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:13:22 ]
発生することの名前の前に「On」を付けろ。

457 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:29:57 ]
よーし!パパ、役に立たない豆知識を問題集にしちゃうぞー!

458 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 21:57:23 ]
問題集を見ただけで本全体が糞であると予想できる。
今すぐゴミ箱に捨ててプログラミング.NET Frameworkを買うんだ。

459 名前:デフォルトの名無しさん [2008/02/28(木) 22:21:41 ]
数年前、C#をかじった程度で久しぶりに他人の書いたソフトを見ていて
驚愕した。アンマネージDLLの関数をコールする際の話なのだが、
文字列を渡すためにcharポインタを渡すところでいきなりC#からstringを渡している!?
それでちゃんと動いている・・
また、普通に配列を渡したりもしている・・配列の「参照」ってポインタなの?
stackallocとか使ってポインタを使わないとダメだと信じてたのに・・


460 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 22:23:49 ]
つ 相互運用マーシャリング
つかこの辺参照しないでよくP/Invokeやってたな



461 名前:デフォルトの名無しさん mailto:sage [2008/02/28(木) 23:15:10 ]
>>452は釣りだろ?
まさかそんな問題集が存在するとは思えない

462 名前:980の続き [2008/02/28(木) 23:58:32 ]
461>学校のほうで販売されていた問題集なんです

463 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:01:09 ]
>>462
先生説教して来い

464 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:11:53 ]
恐らく、問題集が問題なのではなく、>>452の書き方が問題。

465 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 00:29:42 ]
>>452 が単位を落としますように。

466 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:08:17 ]
DBに登録済みの、あるテーブルのスキーマから空のDataTableを作成したいんですが、
方法ありますか?列をちまちま追加するより簡単に

467 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 03:43:50 ]
>>466
普通に、空のDataSetをVS上で作って、
(newするのじゃないよ)
Adapterでつなげばいいんじゃね?

468 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 05:42:16 ]
DataAdapter.FillSchema

469 名前:466 mailto:sage [2008/02/29(金) 15:17:53 ]
>>468
これでおkみたいです。thx

470 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:12:01 ]
コマンドプロンプトを使って、NetUseコマンドにてドライブを作成したいのですが、
接続対象のパスに空白が含まれている場合はどのように入力したらいいでしょうか?



471 名前:デフォルトの名無しさん mailto:sage [2008/02/29(金) 19:16:27 ]
"

472 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 00:48:11 ]
                "

473 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:00:01 ]
"なぜ ここで聞くんだ?"

474 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 01:30:14 ]
相談室だから。

475 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 04:08:31 ]
もし学生さんなら是非、進路指導室に喧嘩の指導をお願いしに行ってみて欲しい

476 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 13:23:03 ]
子供相談室に包茎の悩みを聞いてもらっておk?

477 名前:デフォルトの名無しさん [2008/03/01(土) 19:53:06 ]
DrawEllipseって何でこんなに使いづらいんですか?
中心点、半径を引数に与えれば円を書いてくれるような関数にすればよかったのに。


478 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 19:55:39 ]
それは楕円の特殊なケースだからなぁ
ラップすればいいんじゃね

479 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:16:51 ]
楕円でも短径と長径を・・・ってのはいいとして、
表示したい範囲がはっきりするので
この仕様の方が便利な事もまああるし、
幅が偶数ピクセルだと 「中心」 が上手く定まらないので、
最も汎用的な関数としてはこうせざるを得なかったんだろう。

ラッパ関数くらい用意して欲しかった所ではあるけど。

480 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:22:16 ]
ラッパラッパってポリモーフィズムくらい使えよ。



481 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:23:48 ]
ポリモーフィズム関係ないだろ

482 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 20:26:57 ]
間違ったポリモーフィズムの代表例じゃないかw

483 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 21:23:41 ]
>>479
> 楕円でも短径と長径を・・・
定義通りにするなら、焦点2つと距離の和(=長径)

でも、GDI使うような場面では使い難いと思うが

484 名前:デフォルトの名無しさん mailto:sage [2008/03/01(土) 23:42:41 ]
つか拡張メソッド

485 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:07 ]
中心の座標と半径でって未だにそんな大昔のMS BASICみたいな発想をする人がいたことにむしろ驚きw
どう考えてもそんなの使いにくいだろう

486 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:02:49 ]
質問です。
static int deg = 90;
const double rad = 0.0174532925;
const int r = 200;
private void button1_Click(object sender, EventArgs e)
{
int r = 200;
int x, y;
Graphics g = pictureBox1.CreateGraphics();
g.FillEllipse(fillbrush, 250, 20, 400, 400);
x = (int)(r * Math.Cos(deg * rad) + 450);
y = (int)(-r * Math.Sin(deg * rad) + 220);
g.DrawLine(mypen, 450, 220, x, y);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
deg = deg - 12;
if (deg >= -270){
int x1 = (int)(r * Math.Cos(deg * rad) + 450);
int y1 = (int)(-r * Math.Sin(deg * rad) + 220);
g.DrawLine(mypen, 450, 220, x1, y1);
}
if (deg == -270)
timer1.Enabled = false;
}
のような感じで30秒で一周するタイマーを作ったのですが、
コレを線でなく扇型でぬりつぶしていく良い方法は無いでしょうか?

487 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:08:13 ]
Arc

488 名前:デフォルトの名無しさん [2008/03/02(日) 00:14:00 ]
>>486
しかし酷いコードだな。
「プログラム診断室」に出てくる悪いコードの見本みたいだ

489 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:28:47 ]
>>488
ハァ?
じゃぁ、良いコードの見本書いてみろよ。


490 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:39:09 ]
例えば、
>const double rad = 0.0174532925;

const double rad = PI/180;

くらいはしてほしい。。



491 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:41:16 ]
450とか220とかを変数にできないものか。
あと、12じゃなくて、360/30って書いてよ。

492 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:14 ]
private void button1_Click(object sender, EventArgs e)

private void timer1_Tick(object sender, EventArgs e)
に共通部分が多いことに違和感を感じないのだろうか。

493 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:43:43 ]
>>487
すいません。
プログラミング初心者なんです。

>>489
ちょ、あなた誰ですか。
やめてください。

>>490
わかりました。Math.PIですね。
>>491
わかりました。

494 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:45:36 ]
>>492
すいません。
オブジェクト指向というか、スコープを良く分かってないんです。

495 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:49:16 ]
if (deg == -270)
も危険な感じがする。12度間隔じゃなかったら270丁度にならないよ。
if (deg <= -270)
にした方が良いかと。


496 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:17 ]
質問に対する回答以外のつっこみを排除しようとするなら2ちゃんなんかに書き込まないほうが精神衛生上いい

497 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:50:43 ]
>>486
天才wwwww

498 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 00:52:24 ]
ちょ、変数rがwwwwwwwwwww

499 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 03:09:07 ]
で、>486の質問への回答としてはg.FillPie()を使えという事でいいんかいな

500 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:22:27 ]
今までだと WebBrowser にフラッシュを表示させると
クリックしてもフラッシュにクリックが伝わらなかったけれども
いつの間にか正常にクリックできるようになってるじゃん



501 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 07:32:16 ]
x = (int)(r * Math.Cos(deg * rad) + 450);
y = (int)(-r * Math.Sin(deg * rad) + 220);

はPositionFromDegreeとかにまとめとけ

502 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 12:40:37 ]
しかしregionでまとめれば大して差は無い

503 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 15:10:47 ]
CreateGraphicsでつくったGraphicsはDispose推奨

504 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 16:59:45 ]
自作のアプリケーションの更新があった場合ネットワーク経由で自動的に通知できる様にしようとしています
Jane Doeをイメージしていただけるとありがたいです…

こういった場合の一般的なアプローチの方法を教えていただきたいです。
今のところ、バージョンを管理するテキストファイルをウェブ上にアップしておきそれをDL、読み込みすることで判定する、といった方法を考えているのですが
いまいち遠回りでスマートでないような気がします。

また、確認のついでに使用しているバージョンなどのログが取れたらと思うのですが
こういったものは普通CGI等を利用して実装するのでしょうか?

505 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:19:30 ]
>>504
前者は、逆にそれ以外の方法があるのかと思う。
サーバー側から配信するってことだと思うけど、宛先がわからない。
初回に登録させるのは多分いやがるだろうし、登録したって変わる可能性が高すぎる。
おまけに配信作業がプログラムを書くにしても手作業でやるにしてもめんどくさすぎる。

最新情報を書いておくのはテキストでいいのか、XMLがいいのかって問題はあると思うけど
そのURLをずっと固定で維持する必要があるのが唯一の難点なだけで、
それしかないと思うけど。

後者はUserAgentに書いておけば、アクセス解析させるだけで出来そうな気もする。
ってこれも一応CGIか。

506 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:41:14 ]
>>504
clickonce

507 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:48:55 ]
>>505
なるほど!UserAgentは思いつかなかったです。ありがとうございます。
CGIとかさっぱりだったので困り果ててたのですがさすがにアクセス解析ならなんとかなると思います。

自動更新は苦肉の策のつもりだったのですが
やはり他の方法は考えにくいですよね…。

サーバーダウン等で接続できない時はその旨を出すようにしてましたが
そもそも、サイトが移転した状況を考えていませんでした。
人為的な問題なのでヘルプにサイトを記述したり、移転前に告知することで対策することにします


ところで、テキストで書く以外考慮していなかったのですが
バージョン管理をXMLで記述するメリットというのはどういったものなのでしょうか?

508 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 18:02:49 ]
>>506
ああ、ClickOnce忘れてました…!
これは限りなく正解に近いです。ありがとうございます。

ただ、まだあまり使われてるところを見かけないのが少し心配ですが
とりあえず>>504の方法と両方試してユーザーと相談してみることにします。
みなさま本当にありがとうございました。

509 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:07:52 ]
>500
IEの仕様変更。
特許の期限切れで以前の動作に戻ったんだよ。

510 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:22:04 ]
>>509
そのパッチってまだ出てないでしょ
サイトによっては
クリックするとこのコントロールをアクティブにして使用します
ってのが出るし



511 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:28:21 ]
確かJavaScriptで逃げてるはず


512 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 22:38:20 ]
Eolas問題に関してはスクリプトで回避できるけれども
>>500の件はスクリプトを使っていようがいまいが
WebBrowser 内の Flash はまともに動いていなかった

513 名前:デフォルトの名無しさん [2008/03/03(月) 03:29:05 ]
ボタンコントロールのImageプロパティに
ビットマップを設定しています。

クリック時やマウスオーバー時の
画像を変更したいのですが、よい方法はありますでしょうか?

現状ではMouseEnter、MouseLeaveイベントを処理して
Imageをその都度入れ替えています

514 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 03:43:54 ]
良い方法っていうのは効率の良い方法って意味だよね?

EnterとLeaveで2枚しか使わないなら、2枚を一々変えずにメモリ確保とかその程度じゃない?

515 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 05:39:39 ]
imagelistでも使えば

516 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 08:52:04 ]
おはうー

517 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:21:01 ]
bmpはでかいからjpgやpngにするとか?
もしくは16色bmp

518 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:38:27 ]
どうしたいのかわからないぞ
処理を軽くしたいとかか?

519 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:06 ]
一般的あるいはスマートな方法があるのか知りたいだけじゃないのか?

520 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:22:36 ]
都度入れ替えているが切り替えスピードが遅く困っている、とエスパー予備軍の俺が予想



521 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 00:59:29 ]
まあ、本人も消えてるしどうでもいいか。

522 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 04:03:30 ]
以下のコードを実行すると、FileLoadException が発生します。
コード (抜粋):
static void Main(string[] args) {
 var source =
@"using System;
public class Test {
 public static void Main() {
  Console.WriteLine(Console.ReadLine());
 }
}";
 var result = CodeDomProvider.CreateProvider("cs").CompileAssemblyFromSource(
  new CompilerParameters() {
   GenerateExecutable = true,
   GenerateInMemory = true,
  }, source);
 var domain = AppDomain.CreateDomain("test");
 domain.Load(result.CompiledAssembly.GetName());
}
例外:
ファイルまたはアセンブリ 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'、
またはその依存関係の 1 つが読み込めませんでした。見つかったアセンブリのマニフェスト定義はアセンブリ
参照に一致しません。 (HRESULT からの例外: 0x80131040)

GenerateInMemory を false にして OutputAssembly を与えてやるとうまく動作するようなの
ですが、メモリ内で生成した上で動作させるためにはどうすればよいのでしょうか。
どなたかご教示いただけませんでしょうか。よろしくお願いいたします。

523 名前:デフォルトの名無しさん [2008/03/04(火) 06:12:47 ]
PictureBox自体を回転させる方法は無いでしょうか?
もしくはPictureBoxに書いた画像を回転させる方法は無いでしょうか?
Graphics g = pictureBox1.CreateGraphics();
g.DrawPie(mypen, 20, 20, 400, 400, 0, 18);
pictureBox1.Image.RotateFlip(RotateFlipType.RotateNoneFlipY);
としたのですが、出来ませんでした。

524 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 06:57:56 ]
CodeDomに参照アセンブリを設定してやる必要があるんじゃなかったかな

525 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 07:46:40 ]
最初からRotateさせてPieかいたら?

526 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:33:19 ]
>>522
最初から新しいドメイン内でコンパイル

527 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 08:35:01 ]
だいたいdomain.Loadはあまりやらない方がいいぞ。


528 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:29:46 ]
>>523
DrawPieの前にg.RotateTransform

529 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:33:26 ]
>>523
pictureBox1.CreateGraphics()で取得したGraphicsに描画しても
pictureBox1.Imageの方はなんら変わらないから、どちらか一方に統一しろ

Image使うならpictureBox1.ImageからGraphics作ってそっちに描画
俺はよくバッファ代わりに使ってる

530 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:41:50 ]
メソッド内でNewしたコンボボックスにDataSource設定してもItems.Countが更新されないみたいなんだけどそういうもん?



531 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 11:45:31 ]
なんのことやら

532 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 13:36:26 ]
こんな感じ

private void Form1_Load(object sender, EventArgs e)
{
  DataTable dt = new DataTable();
  dt.Columns.Add("Key", typeof(int));
  dt.Columns.Add("Value", typeof(string));

  DataRow r = dt.NewRow();
  dt.Rows.Add(new object[] { 1, "h" });
  dt.Rows.Add(new object[] { 2, "o" });
  dt.Rows.Add(new object[] { 3, "g" });
  dt.Rows.Add(new object[] { 4, "e" });

  //画面に張り付いてるオブジェクト
  comboBox1.DataSource = dt;
  comboBox1.ValueMember = "Key";
  comboBox1.DisplayMember = "Value";
  MessageBox.Show(comboBox1.Items.Count.ToString());

  //メソッド内で宣言したオブジェクト
  ComboBox zzz = new ComboBox();
  zzz.DataSource = dt;
  zzz.ValueMember = "Key";
  zzz.DisplayMember = "Value";
  MessageBox.Show(zzz.Items.Count.ToString());
}


533 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 14:01:32 ]
Itemsに反映されるのはハンドルが作られてから。

534 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:29:37 ]
Debug.Print(zzz.Handle.ToString());
でハンドル作って?みたけどやっぱりCountは0のままっぽい

やり方が間違ってるのかな・・・orz

535 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 15:54:16 ]
ウィンドウハンドルだろjk

というか一旦ウィンドウが表示されてからメッセージボックスで出力すればいいんでないか?

536 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 20:22:03 ]
Handleプロパティにアクセスすると作成されたと思うけど。

RefreshItems();でもしてみれば?


537 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:38:25 ]
長いパスを扱うときのファイル名の頭に\\?\を付けると例外が起きます。
そのまま長いパスをFileStreamとかに渡しても駄目です。
.NETだけだと長いパスは扱えなかったりします?

538 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:45:54 ]
逆に.NET以外だと扱えたりします?
んなことないと思うけど。

539 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 22:58:07 ]
前に掲示板で見かけたような気がするが見つけられん。
まあ結論として.NETじゃ扱えない、だったはず。
やりたいならCreateFileでハンドル取ってきて、かね。

540 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:42:22 ]
datagridの列幅ではまって早二日・・・・
検索してもうまい解決方法がみつからない、誰か教えてくれ
やりたいのは、csvを読んでdatagridに表示すること。
ttp://www.ailight.jp/Grid_CSV.aspx
ここで紹介されているコードを参考にして、csvファイルをdatagridに読み込ませたのだが、
列幅が設定できない。
各所で紹介・解説されている列幅設定だと、tablestyleを設定して云々とあるが、俺にはそこらへんの処理の仕組みがさっぱりわからない。
上に引用したコードを元に、うまいこと列幅を任意の長さに設定する方法ないかな?



541 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:45:25 ]
DataGridTableStyle でぐぐれ

542 名前:デフォルトの名無しさん mailto:sage [2008/03/04(火) 23:49:30 ]
>>541
既に昨日ぐぐった。でもわからん。
各所で解説されている列幅設定のコードを参考にしてdatagridに一回読ませるのはできるが、
その後に別のcsvをdatagridに読ませようとすると、
追加情報 : このデータ グリッドのテーブル スタイル コレクションには 既に同じマップ名のテーブル スタイルが含まれています。
ってエラーでストップする。

543 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:00:40 ]
エラーメッセージ見れば一目瞭然だと思うんだが…
以前のDataGridTableStyleをDataGrid.TableStylesからRemoveするなり
追加済みDataGridTableStyleを直接いじるなり
テーブル名変えるなり

544 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:03:04 ]
ぐぐったのにここ見てないのん?
dobon.net/vb/dotnet/datagrid/columnwidth.html


545 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:06:01 ]
>>543
removeか、そんなのがあるのか、しらんかった。試してみる。
>>544
そこは一番最初に見た、理解できんかった。
とりあえずボタンを押すとそこに書いてあるコードを実行するform作ってビルドしたら、
一回目のボタンは正常に動くけど、2回目で追加情報〜含まれていますで止まるんだよね。

removeか・・・なんか行けそうな予感がしてきた。
明日やってみる。

546 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 00:16:30 ]
>539
やっぱそうですか。無理そうな気はしてました。
なぜかIISから上がるASP.NETのプロセスが\\?\が付いたパスで実行されてることがあるので気になったので。
\\?\から始まるパスでexeを叩いてアプリを起動するとApplication.StartupPathなんかが例外しか返らなくなる。
そうなると他にも危ないプロパティやメソッドが出てきてそれなら正しく扱う手段が知りたくて。本当に深いパスを扱うことはあんまり無いです。
パスっぽい文字列が出てきたら\\?\で始まってたら削る不毛な処理をひたすら入れておきます。

Application.StartupPathみたいに即座に例外が返るものはちょっとどうしようもないので、
.NETのクラスライブラリ内のメソッドとかで危ないものは
自分用にObsolete付けて迂闊に使ったら警告を出せるようにする手段はないかなぁとか思う。

547 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 10:47:58 ]
FxCopのカスタムルールで検出させるとか?

548 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 11:37:30 ]
FxCop で vb だけで絞りこんで表示させることってできない?
ちなみに当方 FxCop 1.36 Beta 2。

549 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:43:27 ]
パターン指向リファクタリング入門 P359 「コンストラクタの連鎖」を C# で試してみました。
すると「this」で、「メソッド名が必要です」と怒られます。
C# でコンストラタの連鎖を問題なく行うにはどうしたらよいでしょうか?

class Loan
{
  public Loan(float notional, float outstanding, int rating, DateTime expiry)
  {
    this(new TeamROC(), notional, outstanding, rating, expiry, null);
  }

  public Loan(float notional, float outstanding, int rating, DateTime expiry, DateTime maturity)
  {
    this(new RevolvingTeamROC(), notional, outstanding, rating, expiry, maturity);
  }

  public Loan
    (CapitalStrategy strategy, float notional, float outstanding, int rating, DateTime expiry, DateTime maturity)
  {
    m_strategy = strategy;
    m_notional = notional;
    m_outstanding = outstanding;
    m_rating = rating;
    m_expiry = expiry;
    m_maturity = maturity;
  }
}


550 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:51:39 ]
public Loan(float notional, float outstanding, int rating, DateTime expiry)
 : this(new TeamROC(), notional, outstanding, rating, expiry, null)
{
}



551 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 17:54:47 ]
>>549
C# 言語の仕様

10.10 インスタンス コンストラクタ
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/csspec/html/vclrfcsharpspec_10_10.asp

552 名前:デフォルトの名無しさん mailto:sage [2008/03/05(水) 22:54:31 ]
javaかよ。

553 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 20:16:50 ]
Silverlight2Beta来たね

554 名前:デフォルトの名無しさん [2008/03/07(金) 14:53:00 ]
struct A
{
 ...
}

A[] a = new A[10];

としたとき、a[3]のようにアクセスするときって、C++のメモリのようにa+sizeof(A)*3というようにCPUで乗算処理が発生しているんでしょうか?
だとしたら速度が必要なな部分では配列アクセスにするよりクラス参照のリストのようなかたちにしたほうがいいのでしょうか?

555 名前:デフォルトの名無しさん [2008/03/07(金) 15:10:33 ]
ここで聞いていいのかどうか分かりませんが、

3次元が固定、2時限目が動的、1次元が固定の配列を
作るにはどうしたらいいのでしょうか?

float[][,] farray=new [14][,4];

とやってもうまくいきません。
掲示板では見にくいのですが、
4の前には「 ,」カンマが入っています。



556 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:13:53 ]
>>554
プログラミングガイドの配列のところにはこう書いてある。

>配列型は、抽象基本型 Array から派生した参照型です。
>この型は IEnumerable と IEnumerable<(Of <(T>)>) を実装するので、C# のすべての配列で foreach 反復処理を使用できます。

だから気にしていることに限ってはどっちにしても変わらない。
と予想してみる。

557 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:19 ]
デリゲートに追加した匿名メソッドを指定して取り除く事って出来るかな?

558 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:49 ]
速さが必要ならそんなことよりもっとほかにやるべきことは沢山あるはずだし、
それをやり尽くした上で554のようなことまで気になるというのなら、
C#ではなく、アセンブリ言語とC++でどうにかすることを考えるべき段階。

故に
>>554
そんなこと気にするな。

559 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:21:11 ]
>>554
こういう文もあった。
>C# の配列はオブジェクトそのものであり、C や C++ の場合のように、単なるアドレス指定可能な連続メモリ領域ではありません。

>>555
次元に関係なく、要素を動的に変える配列は作れないよ。
List<>とかと組み合わせたりしないと。

560 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:22:19 ]
×次元に関係なく、要素を動的に変える配列は作れないよ。
○次元に関係なく、要素数を動的に変えられる配列は作れないよ。



561 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:25:56 ]
unsafeとfixedでCみたいな配列としても扱えるよ

562 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:45:47 ]
>>560
動的/静的は配列に対して使い方が難しいので可変長と言うべきだな

563 名前:デフォルトの名無しさん [2008/03/07(金) 16:19:34 ]
こんな形で使うのは初めてなので聞いてみたのですが、
思ったより難しいのですね。
C++ならそこまで難しくないと思ったのですが。


564 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 16:51:24 ]
C++で可変長配列とか、泥沼だろ。

565 名前:デフォルトの名無しさん [2008/03/07(金) 16:58:28 ]
float[] oned=new float[4];
oned[] twod;
twod[] threed=new float[14];

自分で考えてここまでやってのですがこれで正しく動作するか
わかりませんし処理効率がどうなるかは分かりません。
<vecto>とかboostみたいに上手いことできないでしょうか?


566 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 17:04:58 ]
>>565
おまいは自分で考えてここまで何をやってきたんだ

567 名前:デフォルトの名無しさん [2008/03/07(金) 17:15:16 ]
めんどくさいので
float[][][] threed=new float[14][][];
だけで後は自動に任せることにしました。
ありがとうございました。


568 名前:デフォルトの名無しさん [2008/03/07(金) 18:19:46 ]
と思ったのですが、Listのほうが用途に
合っていそうなので、そちらを使ってみることにします。


569 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 19:29:55 ]
先ずC#で何ができるか調べたほうがいい

570 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 20:22:35 ]
>>568
それは最初から「vector 相当のものはありますか?」と聞くべきだった。



571 名前:デフォルトの名無しさん [2008/03/07(金) 21:16:35 ]
>570
すいませんでした<(_ _)>


572 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 13:29:24 ]
ありがとうございます!

573 名前:デフォルトの名無しさん [2008/03/08(土) 14:14:48 ]
こうだくみこのおまんこにセロリいれたいな
みんなはなにいれたい?

574 名前:デフォルトの名無しさん [2008/03/08(土) 14:23:43 ]
585 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/08(土) 14:20:47
yutori.2ch.net/test/read.cgi/news4vip/1204952244/

   1 名前:以下、名無しにかわりましてVIPがお送りします。[] 投稿日:2008/03/08(土) 13:57:24.68 ID:oVsMTN3J0
     次世代言語”D言語”を使ってプログラミングをしてみよう!
     C++で挫折した君も、プログラミング初心者の君も今日からプログラマーだ!

     D言語入門 www.geocities.jp/tor_park/Dlang/d2.html

575 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:28:28 ]
コピペ君って馬鹿だな、まで読んだ。

576 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:46:34 ]
コピペ君って馬鹿だな、まで読んだ。

577 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:49:07 ]
>>575-576
コピペしか能のない低脳は消えろ

578 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 14:52:32 ]
Dってまだ生きてたんだ
C#があればいらないのにね
まったく、無駄なことしてるよな

579 名前:デフォルトの名無しさん [2008/03/08(土) 15:03:23 ]
同感
早くバージョンが安定してVSに匹敵するIDEが出たら使ってやってもいいが
何年更新してるんだよ?

580 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:05:06 ]
まあVSのないC#なんか誰も使わないよな
ネイティブコードなんかよりはるかにそっちの方が重要



581 名前:デフォルトの名無しさん [2008/03/08(土) 15:27:34 ]
>555です。
しつこいですがリストを使ってもうまくいかなかったので
こうしてみました。

ArrayList data = new ArrayList(14);
data.Add(new ArrayList());
((ArrayList)data[0]).Add(new ArrayList());
((ArrayList)((ArrayList)data[0])[0]).Add(new float[4]);
((ArrayList)((ArrayList)data[0])[0])[0] = 1;

MessageBox.Show(((ArrayList)((ArrayList)data[0])[0])[0].ToString());

後は変数を使ってネストすればいいだけだと思います。
こうすれば何とかなるようです。

しかし、コードが長いのでなんとか短くしたいです。
typedefもないし、usingを使ってもうまくいきませんでした。
ArrayList以外にいい方法があれば教えてください。、
また、もっとコードを短くする方法があれば聞きたいです。




582 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:29:15 ]
ジェネリックのList<float>を使え

583 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:35:52 ]
>>581
var farray = new[] {
 new List<float[]>{new[]{1f,2f}},
 new List<float[]>{new[]{3f},new[]{4f}}
};

584 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 15:37:34 ]
List<T>

585 名前:デフォルトの名無しさん [2008/03/08(土) 16:05:20 ]
>583
くぐってみたのですがvarが使えません。
ufcpp.net/study/csharp/ap_ver3.html
ではC#3.0の機能と書いてあるので2005では使えないのかも?


586 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:35:56 ]
List<float[]>[] data = new List<float[]>[14];
for (int i = 0; i < data.Length; i++)
 data[i] = new List<float[]>(new float[][] { new float[4] });
C#2.0でもいけるはず

587 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 17:41:43 ]
List<float[]>[]とか設計間違ってるとしか思えんw

588 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 18:02:55 ]
数値計算ならアリ
業務アプリならナシ

589 名前:デフォルトの名無しさん [2008/03/08(土) 19:03:35 ]
>586
ありがとうございます。
その通りのことがしたかったんです。
>587
確かに2次元だけ動的って見たことないので
こういう設計でいいのか自信がありません。


590 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 20:54:24 ]
>585
2005はだめ。型推論してくれるだけなのでまじめに全部型を書けばいいんだよ。
varってコンパイラが何とかしてコンパイル後は対応した型になってるだけだと思ってる。
2008で.NETFramework2.0をターゲットにしてても普通に使えてるし。



591 名前:デフォルトの名無しさん [2008/03/08(土) 21:10:07 ]
>590
C#でメモリ管理にいきなりつまずき困っていたところ
助けていただいてありがとうございます。
またお世話になるかも知れませんのでその時は
またお願いします。




592 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:33:25 ]
>>589
計算なら仕方ない所だと思うぞ。
なんかいい形があるなら俺も知りたい。

593 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:43:10 ]
float[]のところはインデクサ付けたフィールド4つの型を定義して使うようにすれば
要素数が4のもの以外入れられなくできるしちょっと見通しも良くなるかな
パフォーマンスは劣るだろうけど

594 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:28 ]
>593
人に見せるならそう書くかも知れませんね。
個人でパフォーマンスをちょっと追求してみたかったので
実験で試そうと思いした。


595 名前:デフォルトの名無しさん [2008/03/08(土) 22:20:50 ]
>594
思いました。


596 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 22:32:57 ]
実験で試そうと思いしたと思ったわけだな?


597 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:31:04 ]
ISOイメージファイルの中身をWinRARのように表示するプログラムを作りたいのですが、
中身のフォルダ構造を取得する方法がわかりません。
どのようにしたらフォルダ構造の表示を実現できるのでしょうか?
ご教示よろしくお願いします。

598 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 12:46:41 ]
iso9660の仕様を探して、それに従ってイメージファイルを解析

599 名前:デフォルトの名無しさん [2008/03/09(日) 13:04:14 ]
>596
そう思いした^^


600 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:21:53 ]
>>598
やはり解析するしかありませんか・・・。
ありがとうございました。地道に解析することにします。



601 名前:デフォルトの名無しさん [2008/03/09(日) 13:26:21 ]
>>597
souceforge.netとかで調べれば参考になるのもあるんじゃね?
sourceforge.net/projects/iso-creator-cs/
↑これなんかはISOイメージの解析じゃなくて、ファイル、フォルダからISOイメージを
つくるもんだけど、開発プラットフォームc#みたいだから、参考になるかもよ。

商用なら
www.componentsource.com/products/starburn-sdk/index.html
こういうコンポーネントもあるみたいだ。

602 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:30:34 ]
解析って、仕様どおりに読み込むだけじゃん。

603 名前:デフォルトの名無しさん [2008/03/09(日) 13:44:26 ]
>>602

仕様に基づいて読み込むって、それを解析っていうんでねーの?
仕様を独自に解析するとはだれもいっていないと思うが。

604 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 13:53:06 ]
あまり滅茶苦茶な日本語の使い方するなよ。

605 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 16:57:13 ]
>仕様に基づいて読み込むって、それを解析っていうんでねーの?
言わないだろ普通

606 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:01:22 ]
解析ってのは仕様書等がない状況でデータやプログラムそのものを調べることを指すんじゃないのか?

607 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:20:36 ]
一定間隔でSS取って保存するキャプチャソフト作ってみたんですが
CPU使用率が99%になるのは無限ループのせいですか?
一応スリープ入れてるんですが

608 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 17:34:42 ]
一定間隔ならループじゃなくてタイマ使え

609 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:29:40 ]
タイマでもCPU99%になるのは、、

610 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:00 ]
何ミリ秒おきのタイマだ?



611 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:31:07 ]
設計が悪いだけだろ屑

612 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 18:39:39 ]
1000

613 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:03:49 ]
キャプチャとって保存する部分が糞すぎるんじゃね
タイマを10秒おきとか100秒おきでやってもCPU99%になる?

614 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 19:07:59 ]
10秒とか100秒ならなりません

615 名前:598 mailto:sage [2008/03/09(日) 19:46:53 ]
>>602-606
まさかこういう流れになるとは思わなかった
特に深い意味は無かった
>>597にはその方が伝わると思った
不用意に誤用したことを、今は反省している

616 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:26:43 ]
sleepの引数にミリ秒単位じゃなくて秒単位のつもりの値渡してるとか?

617 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:28:56 ]
普通にSSとって保存する部分が思いだけだろjk

618 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:35:52 ]
すごい勢いで何百枚もSS保存してそう。同じファイルに

619 名前:デフォルトの名無しさん mailto:sage [2008/03/09(日) 20:36:52 ]
自己解決しました
あるアプリケーションのSSを撮ってたんですが
そのアプリに問題があったみたいで
メモ帳なんかのSSで試してみたら普通にほぼ消費なく出来ました

620 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:20:45 ]
>そのアプリに問題があったみたいで

いやいやいや



621 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 01:59:46 ]
そのアプリがメモリを消費してたってことだろ

622 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 02:10:50 ]
メモリを消費・・・?

623 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 14:20:42 ]
いえ、有るゲームのSS撮るプログラムなんですが
プロセスにアクセスしたらなんかCPUを無駄に使うプロテクトみたいなのが有るみたいです

624 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:08:12 ]
wwwwwwwwww

625 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 15:09:59 ]
草生やしてないで人語で喋れよ。
猿じゃあるまい

626 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 21:54:41 ]
そんなのねえよw

627 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 01:33:40 ]
猿は草を生やせないと思うんだ

628 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 11:51:48 ]
何wwwwをwwwwいwwwwまwwwwさwwwらwwwwwwww
2chに何を求めてるんだか

629 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 12:12:58 ]
ウキー

630 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:46:45 ]
戦時中の治安維持法みたいなものですね。
賛成派が多数で、この恐ろしい法案が、今まで成立していないのが奇跡の状態です。
法案に賛成しているのは、途中に登場する自民党執行部や古賀派、公明党全員、民主党ほぼ全員です。
自民党・民主党で反対を表明していない議員は、執行部のいいなりになると思われます。
反対しているのは、最後に出てくる自民党系「真の人権擁護を考える懇談会」「伝統と創造の会」調べたつもりですが、議員の現在の考えが、賛成か反対か間違っていたら修正する予定です。
自民党への意見メールフォームmeyasu.jimin.or.jp/cgi-bin/jim...首相官邸メールフォームwww.kantei.go.jp/jp/forms/doku...自民党人権問題等調査会の太田誠一会長宛先 FAX03-3508-3832(U R L :www.otaseiichi.jp



631 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:58:43 ]
ウキー

632 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:05 ]
ウキー

633 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 14:59:47 ]
アホかwwwww

634 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:20:55 ]
否!

635 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 02:59:09 ]
こんなんじあC%#のほうが言い悪いか抜きにして初心者用と相談室のスレ2個あるから発展はあるな。VBなんか終わってるかんじ。
みなで盛り上がろうぜって漢字がまたくない


636 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 10:27:48 ]
日本語でおk

637 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 16:38:52 ]
VIPでやれ
ニコ厨氏ね

使い古されたセリフだが、真実である。

638 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 15:59:48 ]
ふらっとがあればこのスレも不要だな

639 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:54:08 ]
コンボボックスに

見た目 値
01:a 1
02:b 2
03:c 3

と入っているときに、
値が2の時に、02:bを選択状態にするにはどうすればいいでしょうか?
FindStringで02を指定しても見つからず、combobox.itemsをforeachで
回しても、object型から何にキャストすればよいか分からずでした・・・

640 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:59:18 ]
Value とかじゃなかったっけ



641 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:02:59 ]
自分で値入れてるのに何にキャストしていいかわからないってどういうこと?

642 名前:639 mailto:sage [2008/03/14(金) 10:08:04 ]
コンボボックスへのデータバインドは、VSのウィザードでTableAdapter任せで作って
ロジック部分のデータ操作はコードで書いてました。

型はToStringを試してみて、DataGridViewが入ってるのは分かったんですが・・・
値が取れません><

643 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:09:06 ]
>>639
ヒント

enum testEnum { あああ = 1, ししし = 2, つつつ = 3 }

comboBox1.Items.Add(testEnum.あああ);
comboBox1.Items.Add(testEnum.ししし);
comboBox1.Items.Add(testEnum.つつつ);

任意の値に設定するとき
comboBox1.SelectedItem = (testEnum)2;

644 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:12:03 ]
>>642
デバッガでcomboBox1.Items[0].GetType()を見てみれば?

645 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:13:17 ]
SelectedValueに2を設定すればOK.

646 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 10:28:39 ]
>>645のやり方でいけました!ありがとうございます

>>643
enum型は一度も使ったことがないので勉強してみます

>>644
GetTypeでは取れませんでしたが、ToStringで取得してみたら
謎ですが>>639の型が入ってました

647 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 22:58:30 ]
ふらっと池

648 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 23:51:25 ]
そのうち、フラットで話すべき話題と、このすれですべき話題をテンプレにでも書いといたほうがいいのかもしれない
「ふらっと」
PictureBoxを透過表示することってできますか?
「このすれ」
ExpressionTree、CodeDOM、DLRのASTでできることはどういう風に違うんですか?

649 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 17:21:46 ]
内容よりC#わかってるかどうかだろ

650 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:02:25 ]
Java上がりでC#やってる人に聞きたいんだけど、
C#やってたら、コード読んで流れ掴むくらいならできそうでしょうか?




651 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:06:10 ]
意味が分からん


652 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:11:50 ]
余程の馬鹿でなければ

653 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:17:30 ]
C#3.0は結構化けるけど

654 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:24:48 ]
javaの文法知らなくても流れくらい分かるだろ

655 名前:デフォルトの名無しさん [2008/03/15(土) 22:51:50 ]
C#2005のメニューから
プロジェクト->Windowsフォームの追加で
「MID親」
を選んで、MainでRunしています。
起動時に子フォームを勝手に起動しますがいったい
どこでやっているのでしょうか?
InitializeComponet()で勝手にShowNewFormを
やっているのだとは思いますがどのあたりなのか
さっぱり分かりません。
新しく追加で子フォームを作成したら自動でずらす処理も
邪魔なのでどこでやっているのか知りたいです。
ご存じの方、どうか教えてください。
新しく普通にフォームから作ったほうが早いというのは無しで。



656 名前:デフォルトの名無しさん [2008/03/15(土) 22:55:48 ]
すいません、起動時に勝手に子フォームが起動するのは、
こちらのミスでした。
勝手にずらす処理をやめさせる方法だけ教えてもらえない
でしょうか?


657 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 22:57:04 ]
>>650
わからなければjava上がりとはいえない

658 名前:デフォルトの名無しさん [2008/03/15(土) 23:50:35 ]
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている

糞だけど、政治的な理由で無理やり使わされているんですよね
もういい加減、我慢するのはやめませんか?

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。

659 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:53:18 ]
コピペ君って馬鹿だな、まで読んだ。

660 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 23:54:53 ]
>>659
死ね



661 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:12:24 ]
オーバーフローチェックコンテキスト(checked/unchecked)の状態で
処理を分岐させる方法を知ってる人いたら教えて

検証するタイミングはコンパイル時、実行時のどちらでもおk

662 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:49:01 ]
例外を捕捉すればいいんじゃないの

663 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:59:05 ]
それだと、例外が発生しない場合、checkedでオーバーフローがおきてないのか、
単にuncheckedなのか判断できなくね

664 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:03:54 ]
bool IsChecked {
  get {
    try {
      Convert.ToByte(0xffff);
      return false;
    }
    catch { return true; }
  }
}
馬鹿プロパティw

665 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:06:32 ]
わざとオーバーフローさせるぐらいしか思いつかんな。

666 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 16:44:45 ]
自分でchecked{}で括ってしまえばいい

667 名前:661 mailto:sage [2008/03/16(日) 17:17:46 ]
>>662-665
thx!
やはりオーバーフローさせてみるしかないのか

>>666
ILの生成をコンパイラ任せにするならそれでいいが
動的に生成しようとするとOPコード自体が違うので

668 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:19:42 ]
なんか適切じゃない場所で質問しちゃった気がするのでこっちでも

PerlとかRubyでゆーWWW::MechanizeみたいなスクレイパってC#に存在する?
それとDB使ったツールを作って配布したいんだけど、PerlとかRubyだと一般ユーザに使ってもらえないので…
Rubyで一旦全部書いたんだけどexerbとかrubyscript2exeとか使ってもうまく纏められないのでC#(or その他普通にネイティブコンパイルする言語)で書き直したいんだけど…

669 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:20:41 ]
泥臭いのに変わりはないが、適当な関数のIL覗けばいいんじゃね?

670 名前:661 mailto:sage [2008/03/16(日) 18:22:19 ]
IL見てみたが、コンパイラがコンパイル時に数値式のOPコードを切り替えてるだけで
checked/uncheckedブロック、演算子内に直接書いた式にのみ適用されるみたい

だから、>>664みたいなプロパティを作るとコンパイルされた時点で出力が確定してしまう

結論としては、checked/uncheckedはコンパイラに指示するためだけのもので
プログラムで利用しようなどと考えてはいけないということか



671 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:36:31 ]
そもそもchecked/uncheckedはコンパイル時に静的に決まるものだろ

672 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:41:50 ]
#if CHECKED
なんとか
#else
ができればいいんだろ

673 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:22:05 ]
コード中で分岐することに意味があるのはコンパイラのオプションで指定した場合のみってことか
checkedのときはプリプロセッサシンボル定義するだけでよくね?

674 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:30:23 ]
プリプロセッサとchecked/uncheckedの処理段階が違うのは気持ちが悪いけどな

675 名前:デフォルトの名無しさん [2008/03/16(日) 19:38:38 ]
印刷を監視して、何かのプログラムで印刷実行されたらジョブをプリンタに投げる前に
自分で作った処理を行って、それが終了してから
印刷ジョブを投げるプログラム作成したいんですけど
印刷監視とジョブ投げるのにwaitかけるのってどうすればいいんですか?

676 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:50:03 ]
仮想プリンタを作って間に挟むのが
まっとうじゃないかな。

677 名前:デフォルトの名無しさん [2008/03/16(日) 21:07:31 ]
iPhoneのタイマーみたいな慣性で回るドラムを2個まわして
数値を出力させるにはどう考えたらいい?
WM6pro用で教えてください。


678 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 21:14:32 ]
そういう風に作る
WM6proがどう関係あるんだろう

679 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:25:05 ]
WebBrowserコントロールの設定は、現在のIEと同じ設定になるっぽいけど、
独立して管理することは可能っすか?

680 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:42:17 ]
俺なら可能



681 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:53:49 ]
オマイラってそんなにIL覗いて挙動確認したりしてんの?
俺全然やってないんだが

682 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:00:00 ]
ILの日本語の資料ってネットで見れるの?

683 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:03:01 ]
別に日本語である必要性はないと思うのだが

684 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:04:53 ]
必要性はなくても、日本語の方が望ましい

685 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:08:58 ]
共通言語基盤の規格はJISにもなってるからネットで読めるんじゃね?
調べたことないけど

686 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:48:03 ]
IL見るのになぜ日本語が必要になるのやら

687 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:51:31 ]
日本語を主として使っている民族とっては、ILの説明が日本語でされていた方が他の言語でされているよりも理解しやすいから。

688 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:07:51 ]
ILは流れを読むのだから英語でいいでしょう

689 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:10:03 ]
個々のILのニーモニックの説明は英語より日本語の方が日本人には理解しやすいだろう。

690 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:11:58 ]
ニーモニック(記憶しやすい)を記憶しやすいのは
その命名元となった英語という気もする。



691 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:13:57 ]
記憶する以前に理解するには、日本人にとっては英語よりも日本語の方が理解しやすい。

692 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 01:21:11 ]
何この流れ・・・

693 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 07:03:19 ]
ニーモニックの説明で日本語お望みなら

System.Reflection.Emit.OpCodes

あたりでもどうぞ。JIS の CLI は有料でしょ確か


694 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:16:46 ]
JIS規格はjiscのサイトでみれる

695 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 09:55:46 ]
そいや、ILはVSで対応してないのはいいにしてもMSBuildのタスクも
ないのはどうよと思ったなあ前

696 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 22:34:40 ]
>>683
英語読めないから、日本語のが必要なんです。

697 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:26:25 ]
ふらっとでレスが付かなかったので、教えてください。
SQLServerからsmallint型のレコードを取得してC#でint型の変数に入れたいのですが
キャストで失敗します。smallint型はshortと同じじゃないのでしょうか?

698 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:32:14 ]
>>697
失敗って?

699 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:33:41 ]
実際shortなんだったら一旦shortにキャストしてからintにキャスト

700 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:42:39 ]
会社にしか環境が無いので、エラーの詳細記録してなかったのですが、
型変換できませんでした。的なエラーでした。
もちろん(short)してから(int)でいけますが、アップキャストでなぜ失敗するのか・・・が知りたいと思いました




701 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 23:46:30 ]
正確な方は SqlInt16、
short へのキャスト演算子の定義はあるけど、int へのキャストは定義されてない

とかではなかろうか。

702 名前:697 mailto:sage [2008/03/18(火) 00:02:58 ]
>>701
MSDN参照してもよく分からないのですが、おそらくそのように思えますので、
そういうものだと、納得しておきますf^^

703 名前:デフォルトの名無しさん [2008/03/18(火) 00:03:27 ]
PrintDocumentクラスのPrintメソッドで
印刷処理を作っています。

しかし、印刷を実行するとVB6やDelphiで作成した
印刷処理よりも異常に遅いのが気になりました。
描画を一切行わず、白紙を1ページ印刷した場合
VB6では一瞬で印刷を開始しますが、C#では5秒以上待たされます。

100ページ以上の印刷を行いたいので、この速度では
ちょっと使い物にならないので困っております。
速度改善の情報ありましたら教えていただけませんでしょうか。。

704 名前:デフォルトの名無しさん [2008/03/18(火) 00:19:22 ]
www.rossgals.com/fuckfacials/barbie2-489/3.mpg

705 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:21:39 ]
突然怪しいURLを貼るなwww

706 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:23:13 ]
なんじゃこりゃww量すごすぎww

707 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 00:38:25 ]
>>703
軽く調べたけど、解決策は見つからなかった。そもそも再現性が(ry
とりあえずプロファイルして何が遅いか見極めてくれ。

708 名前:703 mailto:sage [2008/03/18(火) 00:46:13 ]
>>707
ありがとうございます。

プロファイルのやり方がわからないのですが
調べてやってみようと思います。

今、調べられる範囲でわかったことは
プリンタの解像度を下げることである程度
体感速度が速くなる、逆に解像度を上げるとさらに遅くなることです。

709 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:10:00 ]
ちょっとすみません。mlang.idl を midl しようとしたんですが、途中で

midl\oleaut32.dll : error MIDL2020 : error generating type library : SaveAllChanges Failed : .\mlang.tlb (0x80070005)

と出て終了します。原因わかるかたいらっしゃいますか?

710 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 00:19:45 ]
しまった UAC だー! 自己解決すみませぬ。



711 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:17:43 ]
すみません。続けてもうひとつ。マーシャリングの質問なのですが、

void DetectInputCodepage(
    uint dwFlag,
    uint dwPrefWinCodePage,
    ref sbyte pSrcStr, // ここと
    ref int pcSrcSize,
    ref tagDetectEncodingInfo lpEncoding, // ここに
    ref int pnScores
);

どうやって short[] と tagDetectEncodingInfo[] を突っ込んだらいいのか、だれか教えてください。

712 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:47:07 ]
>>711
dobon.net/vb/dotnet/string/detectcode.html

713 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:50:00 ]
>>712
それそのままコピペしてるんだけどね、

ref sbyts[0]

ここで引っかかる。

714 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 01:55:05 ]
ん? 通った。なぜだ。

715 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 09:14:07 ]
配列そのまま仮引数に定義するのお勧め

716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:08:03 ]
ListやStackの中身をusingでdisposeさせるにはどうすればいいの?

717 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:20 ]
継承してIDisposeableを実装すればいいんじゃねえの

718 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 19:14:45 ]
ListとIDisposableを継承して、Disposeで要素を全部Disposeするクラスを作る。

719 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:23:08 ]
using使いたいだけならIEnumerable<T> (where T : IDisposable) をラップするクラスを作って
using (DisposableCollection<Bitmap> a = new DisposableCollection<Bitmap>(list))とか

720 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:53:15 ]
static void Using<T>(T collection, Action<T> action) where T : IEnumerable {
 try { action(collection); }
 finally {
  foreach (var item in collection) {
   IDisposable disposable = item as IDisposable;
   if (disposable != null) { disposable.Dispose(); } } } }
usingの代わりにこんなの使えばいいんじゃね



721 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:01:24 ]
どうもやってみます。

722 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:03:46 ]
.net 3.5(たぶん下位でも発生?)

コンソールアプリで sysem.drawing.bitmap をストリームにシリアライズするときに
GDI+の一般エラー(General error?)が発生する

同様の現象にブチあたった経験者はおらぬか?

723 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:20:30 ]
Bitmapはネイティブなオブジェクトがあるからシリアライズ不可能じゃないかな

724 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:31:09 ]
いや,これまでは出来たんだ
きっとこれからも出来ると信じたい

そしてなんとなく原因発見

BinaryFormatter bf = new BinaryFormatter();
FileStream fs = new FileStream(@"C:\WINDOWS\迴育栖繧ォ繝繝.bmp", FileMode.Open);
MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream();
Image img = Image.FromStream(fs);
bf.Serialize(ms1, img); // 成功(例外なし)
fs.Close();
bf.Serialize(ms2, img); // 失敗(ExternalError: GDI+ で汎用エラーが発生しました。)

どうもImageの元のリソースが,シリアライズするときに利用できなくなっていると失敗するみたい?
なんか非常にモヤっとするなぁ

引き続き情報求む


725 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:53:52 ]
よくみる where T ってのはLINQってやつかい?

726 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 21:55:52 ]
ただのジェネリック引数の制約だよ。

727 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:10:38 ]
where T つかうと他クラスの継承できなくなる?方法ない?

728 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:13:52 ]
なにゆってんの?

729 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:14:30 ]
よく意味が分からんけど
where T はTに対して特定の型に依存した操作を可能にするために使うんだよ

730 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:20:58 ]
where Tを使ったクラスを継承したいなら
その制約を継承先のクラスにも付ける

class Base<T> where T : string{}

class Derived<T> : Base<T> where T : string{}



731 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:02 ]
まったくどうでもいいがstringで制約したらもはやジェネリックの意味なくね?

732 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:45:08 ]
>>724
Bitmapはそのままだとアンマネージドリソースを含むのでシリアライズできない
だがStreamから作ったBitmapならそれを使ってシリアライズすることで目的を達成できる
しかしそのStreamが閉じてればもうシリアライズできない

733 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:27:28 ]
>>724
var stream = new FileStream("foo.jpg", FileMode.Open);
var image = Image.FromStream(stream);
image.Save("bar1.png");
stream.Close();
image.Save("bar2.png"); // die

734 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:55:28 ]
>>732
すごく,わかりました.

>>733
試したためした,そしてその通り

ひとまずbyte[]にシリアル化したものを記憶しておくことにした

735 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:09:24 ]
クラスのメンバ関数のようなスコープがはっきりしないものをusingで解放するにはどうすればいいの?

736 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 19:21:54 ]
メンバ関数じゃなくてインスタンス変数だと仮定して
自分のクラスにIDisposableを実装する
usingはそのクラスを外から使う人が使うもの

737 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:29:23 ]
DictionaryBaseのGeneric版って何?


738 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:42:14 ]
例外は受け取ったらいけないの?

739 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:05:44 ]
処理できる例外は捕まえて処理する
そうでなければスルー

740 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:11:34 ]
受け取ってメッセージボックス出して終わるくらいなら
標準の例外ダイアログがましだけどねw



741 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:25:01 ]
製品にするならそうもいってられないけどな

742 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:08:44 ]
>>737
無い
KeyedDictionary<TKey, TValue>が使えそうなら使う
使えないなら自分で作る

743 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:11:35 ]
KeyedCollection<TKey, TItem>の間違い

744 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:25:07 ]
ListViewの詳細表示で、棒グラフを表示したくて
直接セルに描画していたんですけど、汎用性を持たせたくて
Panelに描画してそのPanelを表示したいと思ったんですが
ListViewにPanelを挿入する方法が分かりません

SubItems.Addで追加できるのは文字列だけですし
どのようにすればPanelなどのコントロールをListViewに
挿入することができるでしょうか?

745 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:33:28 ]
どのようにしてもできまへん。

っていうか、Panelに描画する(そしてそれをListViewに突っ込む)のが
汎用的って発想がよくわからない。

汎用的にしたいのならListViewの項目を描画する機能をクラス化するか、
またはListView自体を継承して拡張するとか、そっちの方向じゃないの?

746 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:37:34 ]
CodeProjectにそういうのある。
一からListView作ってた。

747 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:44:33 ]
C#のListViewの使えなさはガチ

Swingにも劣るヘボさだからなぁ
項目ごとの文字色を変える程度のことさえ面倒
いったいどういう用途を想定してこんなクソ仕様にしたのか

748 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:15:08 ]
コモンコントロールそのものだもの

749 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:35:18 ]
WPFのListViewは何でもありのアホみたいに柔軟なコントロールになってるよ

750 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:58:42 ]
>>745
やっぱり駄目ですか
でもよく見かけるプログレスバーが表示されたListViewは
どうやって実装してるんでしょう
何か出来る方法がありそうな気もしますが

>>746
一から作るのはちょっと厳しいですね・・・



751 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:41:09 ]
>>742
ありがとう。
自作するよ。

752 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:26:31 ]
>>747
>項目ごとの文字色を変える程度のことさえ面倒

簡単だと思うけど…
どうやってやってるの?


753 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 06:57:31 ]
>>750
ListViewだとしたらOwnerDrawなんじゃない。

超汎用的なリストコントロール作った。
めんどくさかった(´・ω・`)

でもこれで10万行ぐらいあっても、どんな描画だとしても表示できるようになったお。

754 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:23:43 ]
俺も752と同意見だったけど、MFC知らないからMFCだともっと楽なのかなあと思って何も言わなかった
ListViewItem.UseItemStyleForSubItems
ListViewItem.ForeColor
ListViewItem.SubItems[index].ForeColor

UseItemStyleForSubItems
をtrueにすると、
全てのSubItems.ForeColorを設定する必要があったような気がするから
それが面倒といえば面倒だったけど。

755 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 07:59:46 ]
C#でSafariみたいにきれいに文字を表示するのってどうしたらいいんだしょ。
アンチエイリアスかければきれいになるとですか?

756 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:10:04 ]
言語とは無関係だと思うけど
WPF使えば良いよ

757 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:13:08 ]
Formでお願いします。


758 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:22:42 ]
>>752
でもListViewって特定環境で色が消えたりする類のバグが満載だから
そのままでは使い物にならないと思った記憶がある。

759 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:35:43 ]
そもそもWPFだろうがFormだろうがクラス名だけ置換して同じコード書けば
内部で使うAPIだけひっそり入れ替わるのがクラスライブラリ設計として当然じゃないのか?
何回も作っては捨て繰り返して作った奴は馬鹿なのか?

760 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 14:48:59 ]
>>755
フォントをClearTypeが効くものに変えるとか
実際より大きく描画して縮小するとか



761 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 18:58:44 ]
>>759
日本語書けよ

762 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:04:10 ]
すごーく正論では

763 名前:デフォルトの名無しさん [2008/03/27(木) 19:06:23 ]
再利用可能なコードなんか幻想だろw

764 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:50:12 ]
インターフェースがクソだったら書き直すしかないだろ

765 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:52:31 ]
VB SQL
ODBC Direct
OLE DB
DAO
RDO
ADO
ADO+
WindowsDNA
MSDE
ADO.NET 1.0
ADO.NET 1.1
ADO.NET 2.0
LINQ


766 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 21:16:28 ]
>>750
リストビューの子としてプログレスバー作るとか。

767 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 23:54:29 ]
英語だと C sharp って読むの?

768 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 00:32:18 ]
yes

769 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 14:20:32 ]
>>761
てきざいてきしょ

770 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:20:51 ]
VS9.0インスコした人に確認してもらいたい
↓のファイルのコメントが前衛的なことになってるんだけど、どうなってる?

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\
ProjectTemplatesCache\CSharp\Reporting\1041\ReportApplication.zip\Form1.Designer.cs

因みに、手元の環境のエディションはPro.



771 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:29:51 ]
見たけど特に何も思わなかったが

772 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:13:30 ]
特にどうということもないな

773 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:14:35 ]
そんなばすはないだろう。

774 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:28:55 ]
ローカルのハードディスクにあるファイルをUSBメモリにコピーしておのおののファイルについてGetLastWriteTimeを見ると2秒ほどずれてるんですが、なぜなんでしょう?
エクスプローラでファイルのプロパティで更新日時を見てもやはり2秒ほどずれています。おそらく同じ値を見ていると思います。
ローカルからローカルにコピーした場合は発生しません。

775 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:30:58 ]
NTFSとFATとかじゃね

776 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:33:34 ]
USBメモリで使ってるFATって更新時間の最小単位が2秒なんだったっけ?

777 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:37:21 ]
そう。2秒。

778 名前:774 mailto:sage [2008/03/31(月) 20:47:38 ]
ローカルはNTFS、USBはFAT32ですが、上に上がってるのでビンゴくさそうすかね・・・

779 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:29:09 ]
自分で OnPaint メソッドをオーバーライドしたコントロールを作ってるのですが、質問です。
OnPaint メソッドの中で線の太さを指定して引いているのですが、AutoScaleMode でサイズが変わった場合
線の太さはどういう風に決めたら良いと思いますか?
今は決め打ちで 2 にしていますが、線の太さも自動でスケーリングしたいのので
自動スケーリングの倍率を取得する AutoScaleSize みたいなプロパティってないですかね。


780 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:42:13 ]
>>779
自己レス。解決しました。
AutoScaleMode プロパティが変更されると、ScaleControl メソッドが呼ばれる。
ScaleControl メソッドをオーバーライドすると factor が来るので、これが倍率。



781 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:10:38 ]
共有メモリの話題になりますが、
MapViewOfFileで得たIntPtrをStreamにアダプトする方法はありませんか?
byte*にキャストしてよいみたいですが、そこからが分かりません。

782 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:22:47 ]
UnmanagedMemoryStream

783 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:09:24 ]
>>782
これは、これ以外にないといえるようなStreamですね。
明日さっそく試したいと思います。ありがとうございました。

784 名前:デフォルトの名無しさん [2008/04/04(金) 10:08:31 ]
質問です。

各テーブルごとにテーブルクラスを作成し、

データの受け渡し受け取りには、テーブルクラス.レコードを定義して使用しています。


各テーブルクラスの違いは、

レコードクラスの違いくらいなので、
(実際には、レコードクラスの違いにより処理内部にも違いは出ているのですが、
ロジックは同じということです。)

同じ処理を書いて、あまりステップ数を膨らませるのは嫌なのですが、

何かよい方法はないでしょうか?

785 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 10:25:03 ]
データセットデザイナを使う

786 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 22:10:30 ]
>>770
自分の所も正常に見えます

787 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 23:30:46 ]
>>784
日本語でおk






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

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

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