トップページ⇒tech
957コメント326KB

C♯相談室 Part2

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん♯NGNG
C#,.NET関連の話題はこちらでどうぞ。

前スレ
http://piza2.2ch.net/test/read.cgi/tech/977112364/

Insider.NET
http://www.atmarkit.co.jp/fdotnet/
.NET関連リンク
http://www.atmarkit.co.jp/fwin2k/rescenter/indexpage/net.html
0002デフォルトの名無しさんNGNG
ごくろうさまー
0003名無しさん♯ NGNG
>>1
死ねよ
0004名無しさん♯ NGNG
は!名前を変えるのを忘れてしまった…鬱
0005デフォルトの名無しさんNGNG
?????
0006名無しさん♯ NGNG
おまえが士ね>3
0007デフォルトの名無しさんNGNG
荒らすな、ヴォケ。
http://piza2.2ch.net/test/read.cgi/tech/1002316568/1-3
0008デフォルトの名無しさん NGNG
warata >>3-6
0009デフォルトの名無しさんNGNG
さっそく厨房な質問。
Windows.Formsで「フォルダの参照」を出すにはどうすればいいでしょうか?
Win2000のエクスプローラでファイルの移動やコピーの時に出る
ダイアログです(一番下の部分はなくても可)。
0010デフォルトの名無しさんNGNG
ジサクジエン、カコワルイ
0011名無しさん♯NGNG
ニセモノがいても(゚ε゚)キニシナイ!!

J#、VS.NET日本語版ではインストールできないみたいね。
がっくし...。
0012デフォルトの名無しさんNGNG
ここに質問して答えて貰えるんだろうか…。一応。
hWndの取得ってどうやるんすか?
せっかくDllImportしてもhWnd要求されちゃぁねぇ…。
0013名無しさん♯NGNG
>>12
ControlクラスにHandleというプロパティがあるよん。
(もちろんサブクラスにも。)

DllImportのところで、hWndはIntPtr型で受け取ってちょ。
001412NGNG
>>13
おぉ、ありがとうございます。
Handleがまんまウィンドウハンドルなのですね。
0015デフォルトの名無しさんNGNG
>>13
間違いなく本物の#さんだね。(w
0016名無しさん♯NGNG
>>9
System.Windows.Formsにはそういうクラスはないみたいね。

本来の用途とは違うけど、System.Windows.Forms.Designの
FolderNameEditorクラスを使えば、強引にできなくもないみたいね。

using System;
using System.Windows.Forms;
using System.Windows.Forms.Design;

class FolderNameEditorEx : FolderNameEditor
{
  protected override void InitializeDialog(FolderNameEditor.FolderBrowser folderBrowser) {
    // ここでダイアログの初期化を行なう。
    folderBrowser.Description = "ほげほげ";
    folderBrowser.Style = FolderNameEditor.FolderBrowserStyles.ShowTextBox;
  }

  [ STAThread ]
  public static void Main() {
    FolderNameEditor folderNameEditor = new FolderNameEditorEx();
    string result = folderNameEditor.EditValue(null, null, null) as string;

    if (result != null) {
      MessageBox.Show(result);
    }
  }
}

どこまで希望どおりのことができるかわからないけど、
とりあえずヘルプでFolderNameEditorまわりを見てちょ。

P/Invokeでやるとなると、かなりたいへんそうね...。
0017デフォルトの名無しさんNGNG
>>16
どうもありがとうです。
単にテキストボックスにフォルダ名を入れたいだけなので
ソースを参考にすぐできました。
これからもよろしくお願いします。
もうちょっとよくFolderNameEditor見よっと…。
0018デフォルトの名無しさんNGNG
C#でDirectXを使うサンプルを見てみたけど、
DirectX7だった。
しかもVB用のライブラリを使っている?
鬱だ。

DLLを直接インポートすればDirectX8を使えるだろうけど、
Direct3DXは使えないってことだよね?
0019デフォルトの名無しさんNGNG
>>18
俺も同じく。
で、やっぱりVB用なんだけどDx8vb.dll(だっけか?)をtlbimp.exeでラップしたけど
CreateDeviceで例外発生…。
某MLで「外人が配ってるDLLでOK」って書いてあったけど、そいつは参照設定すらできなかった。
鬱だ。

ちなみにDirect3DXはdx8vb.dllには入ってるみたいだよ=使えるかも。
002018NGNG
>>19
vbのDirect3DXはサブセットだったと思います。
サブセットというのも気が引けるくらいしょぼかったような。
趣味でやるからこそ、3dxみたいなサポートライブラリが重要なのに…。
0021名無しさん♯NGNG
>>19
漏れはDirectXはぜんぜんわからないけど、こんな情報があったよん。

 http://discuss.develop.com/archives/wa.exe?A2=ind0012C&L=DOTNET&P=R16258

GUIDの問題らしく、tlbimpでできたラッパーをILレベルで修正しなきゃならないみたいね。

ちなみに、DirectX8のサンプルもあるそうな。
β1向けだから、ちゃんと動くかわからないけど。(藁

 http://www.gotdotnet.com/userfiles/MKoleoso/SkinnedMeshViewer_1_0.zip
002219NGNG
>>21
情報サンクスです。早速バイナリエディタでID部分を書き換えてみましたが…。駄目でした。
漏れはなんか別の理由でハマってるのかも…。
ちなみに>>19で逝ってた外人の作ったDLLってそれの事です。

HRESULTからの例外ってなんジャロー。
0023名無しさん♯NGNG
>>22
バ、バイナリエディタ...?

ildasm → テキスト編集 → ilasm よん。
002419NGNG
え”? 7385E4DF のところを 7385E5DF に書き換えればいいんじゃなかったんすか?
ちょいと間違えてた模様。今からやってみます。
002519NGNG
と思ったらildasmが無いよ〜。
VisualStdio β2で入るFrameworkSDKには無いのかな?
0026名無しさん♯NGNG
>>25
パスが通ってないのよん。

スタートメニューのVS.NETのところにコマンドプロンプトがあるでしょ?
そこからやるといいよん。
002725NGNG
>>26
何から何までありがとうございます。でもなんでファイルの検索に引っかからないんだろう? < ildasm
Administratorじゃなきゃ見れない位置にあるんだろうか…。

で…やってみたけど駄目でした。やはりバグ以前に私のプログラムに問題アリの模様です(w

↓該当部分のソースなんですけど、なんかおかしいですかね?
DxVBLibA.Direct3DDevice8 d3dDevice;
D3DDISPLAYMODE d3dDisplayMode = new D3DDISPLAYMODE ();
d3d8.GetAdapterDisplayMode ( 0, ref d3dDisplayMode);

DxVBLibA.D3DPRESENT_PARAMETERS d3dpp = new D3DPRESENT_PARAMETERS ();
d3dpp.Windowed = 1;
d3dpp.BackBufferWidth = 640;
d3dpp.BackBufferHeight = 480;
d3dpp.BackBufferCount = 1;
d3dpp.SwapEffect = DxVBLibA.CONST_D3DSWAPEFFECT.D3DSWAPEFFECT_COPY;
d3dpp.BackBufferFormat = d3dDisplayMode.format;
d3dpp.EnableAutoDepthStencil = 1;
d3dpp.AutoDepthStencilFormat = DxVBLibA.CONST_D3DFORMAT.D3DFMT_D16;
d3dpp.hDeviceWindow = (int)picMain.Handle;

d3dpp.FullScreen_PresentationInterval = (int)DxVBLibA.CONST_D3DPRESENT_INTERVAL_FLAGS.D3DPRESENT_INTERVAL_IMMEDIATE;

//d3dDevice = d3d8.CreateDevice (0, DxVBLibA.CONST_D3DDEVTYPE.D3DDEVTYPE_HAL, (int)picMain.Handle, (int)DxVBLibA.CONST_D3DCREATEFLAGS.D3DCREATE_SOFTWARE_VERTEXPROCESSING, ref d3dpp);
d3dDevice = d3d8.CreateDevice (0, DxVBLibA.CONST_D3DDEVTYPE.D3DDEVTYPE_REF , (int)this.Handle, (int)DxVBLibA.CONST_D3DCREATEFLAGS.D3DCREATE_SOFTWARE_VERTEXPROCESSING, ref d3dpp);
0028デフォルトの名無しさんNGNG
SDKじゃなくてRedist版でもソフト作れるの?
両者の違いは何ですか?
0029デフォルトの名無しさんNGNG
>>28
サイズ
0030デフォルトの名無しさんNGNG
>27
例外の内容を書いてみたら?
どこで起きて、どういうメッセージか。
0031名無しさん♯NGNG
>>27
さ、さっぱりわからん...。
漏れには未知の世界。ごめんちゃい。

>>28
いちおうコンパイラがあるから、「できなくもない」というレベルね。
redist版だとドキュメント・サンプル・便利なツール群がないのでかなりたいへん。
0032教えて君NGNG
素人な質問ですが‥
stringの文字列"123"をintの123に変換するにはどうすればよいのでしょうか
どうしてもわからずにこんなのを書いてる始末です.

string a = textBox1.Text;
for (i = 1; i < 999; i++) {
if (i.ToString() == a) break;
}

鬱...
0033初めて答えてみるNGNG
>>32
Int32.Parse
0034教えて君NGNG
>>33
ありがとうございます!
はやくC#の解説書が出ることをキボン.
0035デフォルトの名無しさんNGNG
>>32-33
System.Convert クラスの ToInt32 メソッドを使うという手もありだね。
0036初めて答えてみるNGNG
>>35
そっちの方が便利そうだね
0037教えて君NGNG
みなさんどこで勉強してるんですか?
0038デフォルトの名無しさんNGNG
トイレの個室
0039デフォルトの名無しさんNGNG
>>37
漏れは試行錯誤。
MSDN を見ながら適当にやってます。
どうしてもわからないことがあれば google で検索するくらいかな。
0040教えて君NGNG
では1ヶ月程トイレにこもってきます.
0041デフォルトの名無しさんNGNG
前スレにいくつかリンクがあるよ
0042名無しさん♯NGNG
J#はどうやらJUMP to .NETのことみたいね。

 Java Language on .NET
 http://www.microsoft.com/india/indiadev/projects/dotnet.htm

 JUMP to .NET Overview
 http://msdn.microsoft.com/visualj/jump/default.asp
0043デフォルトの名無しさんNGNG
 
0044債務不履行の名無しさんNGNG
厨な質問で申し訳ありませぬが・・・

ビットマップから非矩形のウィンドウを生成するには、
幾多のWebサイトで言及されているように、「1ピクセルずつ走査」しなければならないんでしょうか?
BitmapクラスやRegionクラスなどを見てみましたが、「ビットマップ→リージョン」と直接変換するよーなメソッドは
やっぱり無いんでしょうか・・・
0045名無しさん♯NGNG
>>44
漏れはGDI+は守備範囲外なんだけど...、
そういうメソッドはちょっと見つからなかった。

他のサイトでもそう言ってるなら、多分ないのだと思われ。
0046債務不履行NGNG
>>45
ありがとうございます。

幾多のWebサイトであがっているコードはすべてC++かVBによるもので、C#によるものは無かったんです。
それで、もしかしたら・・・と思い質問したのですが・・・
自力でがむばってみます(ちょっと泣)
0047デフォルトの名無しさんNGNG
Brushを使ってこういうコードを書いたんですが

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle r = ClientRectangle;
LinearGradientBrush lb = new LinearGradientBrush(r, Color.Red, Color.Yellow,LinearGradientMode.BackwardDiagonal);
g.FillRectangle(lb, r);
}

フォームのリサイズを繰り返すと四角の跡が残ってしまいます。
そこで再描画するようにしたんですが

public Form1()
{
//
// Windows フォーム デザイナ サポートに必要です。
//
InitializeComponent();

//
// TODO: InitializeComponent 呼び出しの後に、コンストラクタ コードを追加してください。
//
SetStyle(ControlStyles.ResizeRedraw,true);
}

今度はちらつきがひどすぎます。(T_T)
何かうまく描画する方法はないでしょうか?
0048名無しNGNG
>>47
C#はよく知らないけど参考になる?
http://www.atmarkit.co.jp/fdotnet/csharptips/008bitmap/008bitmap.html
0049デフォルトの名無しさんNGNG
>>48
>>47 じゃないけど、そこを参考にして SetStyle... を書いたんじゃないかな?
005049NGNG
ごめん、一番下にちらつかない方法がかいてあった。
005147NGNG
>>48
レスありがとうございます。
SetStyleをやめてResizeイベントで描画するようにしたら、
うまくちらつかずに描画することができました!!

ところが、ウィンドウを最小化したらプログラムが落ちてしまいました。(T_T)
やっぱり無理なのでしょうか。
005247NGNG
描画の前にウィンドウの状態を見るようにしました。

private void Form1_Resize(object sender, System.EventArgs e)
{
if (WindowState != FormWindowState.Normal) {
Graphics g = CreateGraphics();
Rectangle r = ClientRectangle;
LinearGradientBrush lb = new LinearGradientBrush(r, Color.Red, Color.Yellow,LinearGradientMode.BackwardDiagonal);
g.FillRectangle(lb, r);
}
}

これで何とかできました。ご協力ありがとうございました。
005347NGNG
if (WindowState == FormWindowState.Normal) {

の間違いでした。すみません。
0054デフォルトの名無しさんNGNG
>>52-53
それだと最大化したときに描画されないから、
if (WindowState != FormWindowState.Minimized) {
のほうが良いと思うよん。
0055名無しさん♯NGNG
>>47
これでもOKよん。ご参考までにどうぞ。

  public Form1() {
    InitializeComponent();

    SetStyle(ControlStyles.ResizeRedraw, true);
    SetStyle(ControlStyles.Opaque, true);
  }

これだと、Resizeのハンドラはなくても大丈夫。
0056デフォルトの名無しさんNGNG
マイクロなのにビッグとはこれいかに。
0057どうよ?NGNG
58 :デフォルトの名無しさん :01/10/10 00:54
まあまあ、みんな喧嘩しないで仲良く

言語のカーストを決めましょう。

61 :デフォルトの名無しさん :01/10/10 00:55
>>58
末端(どれい)は、VC,VB,VC#,VJ++,.NETでいいか?
0058デフォルトの名無しさんNGNG
Del厨って本当にウザイね
0059デフォルトの名無しさんNGNG
58=802です、
すいません、ご迷惑をおかけしますが
802は精神病なので相手になさらないでください。
0060デフォルトの名無しさんNGNG
>末端(どれい)は、VC,VB,VC#,VJ++,.NETでいいか?

いいよ。

やっぱDelphiが最高だな。
0061デフォルトの名無しさんNGNG
60=802です、
すいません、ご迷惑をおかけしますが
荒せれば802は何でもいいのです。
802は精神病なので相手になさらないでください。
0062デフォルトの名無しさんNGNG
昨日VS.NETをインストールして使ってみたけど、すぐ消してディスクも捨てたよ。
Delphiの方が全然良いね。
C#なんて正式にリリースされる前に消滅すればいいのに(w
0063デフォルトの名無しさんNGNG
168 名前:デフォルトの名無しさん :01/10/10 01:40
>>167
いや、所詮C#はJAVAの猿真似
0064デフォルトの名無しさんNGNG
>>58
>>57の>>58は、俺(JAVA厨)
0065デフォルトの名無しさんNGNG
>>63
その>>167は、俺(JAVA厨)
0066デフォルトの名無しさんNGNG
Del厨がJava厨のフリをしてるよ(笑
0067名無しさん♯NGNG
次はこのスレか。(藁
0068デフォルトの名無しさんNGNG
Delphiユーザーって本当に卑屈で姑息だね
0069デフォルトの名無しさんNGNG
134 名前:デフォルトの名無しさん :01/10/10 01:40
>>127
正直言ってC#不利だろうね。サーバーで勝てないから。
0070デフォルトの名無しさんNGNG
134 :デフォルトの名無しさん :01/10/10 01:40
>>127
正直言ってC#不利だろうね。サーバーで勝てないから。

136 :デフォルトの名無しさん :01/10/10 01:42
C#で何をやるかが判然としてないと思うんだけど。
なんでもできます!って言ってるだけだよね、今。

137 :デフォルトの名無しさん :01/10/10 01:44
結局はDelphi2世に成り下がると思う。>C#

139 :デフォルトの名無しさん :01/10/10 01:44
C#も企画ダオレだろ?
0071デフォルトの名無しさんNGNG
>>70
その>>127と>>136と>>139は、俺(JAVA厨)
0072デフォルトの名無しさんNGNG
>>67 本人?
0073デフォルトの名無しさんNGNG
そう言えばDelギコもC#にケンカを売ってたよな。
「Delphiの方が遥かに上なんだよ!」と言わんばかりの勢いだった。
難癖ばかり付けてたよ。
0074デフォルトの名無しさんNGNG
とうとうC#スレまで(;´Д`)
0075デフォルトの名無しさんNGNG
名無しさん♯ さん、すいません。
802は基地害なんです。
0076デフォルトの名無しさんNGNG
JAVA厨JAVA厨うるせえよ、お前Del厨だろ(笑
0077デフォルトの名無しさんNGNG
もともとDelギコの他言語や他開発環境に対する横柄な態度が原因なんだけどね
0078デフォルトの名無しさんNGNG
やっぱ、C#って(中略)。
0079デフォルトの名無しさんNGNG
>>77
そうだね、802は何も悪くないよ。802は正しい事をしている。
あのスレは潰して当然だよね。
0080デフォルトの名無しさんNGNG
Delphiなんてヘジ留守バーグが残した過去の遺物じゃん
0081デフォルトの名無しさんNGNG
80がいいこと言った!!
0082デフォルトの名無しさんNGNG
802よりもDelギコ信奉者がウザイね
こいつらしつこすぎてキモイよ
なんかテロでも起こしそう(w
0083デフォルトの名無しさんNGNG
Delphi信者のせいで板が荒れ放題
0084デフォルトの名無しさんNGNG
Delphi信者はKylixをマスターしてLinuxのためにがんばり
ましょう。Windows上のアプリをいくら作ったところで、
MSの儲けにはなりません。
というわけでこのスレは関係ないです。理解してください。
0085名無しさん♯NGNG
地下でマターリ再開ヽ(´ー`)ノ
0086名無しさん♯NGNG
A First Look at Visual J# for .NET

 http://www.oreillynet.com/cs/weblog/view/wlg/748
0087デフォルトの名無しさんNGNG
ZDNetでもニュースになってるよ
http://www.zdnet.co.jp/news/0110/10/b_1009_03.html
0088名無しさん♯NGNG
>>87
ほんとだ。

 http://www.zdnet.com/zdnn/stories/news/0,4586,5098031,00.html?chkpt=zdnnp1tp02

やっぱりこういうときにTony Goodhewが出てくるね。(大藁
0089デフォルトの名無しさんNGNG
> Microsoft said Visual J#.Net will be available for download in a test
> version later this week from Microsoft's Web site.
もう落とせるじゃん。(w
0090デフォルトの名無しさんNGNG
この人本当に何とかしてください。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=291&forum=7&2
0091デフォルトの名無しさんNGNG
MS,こんなに嫌がらせしていると
いつか、Java原理主義者からテロくらうのではないかな
0092デフォルトの名無しさんNGNG
Introduction to Visual J# .NET
http://www.codeproject.com/dotnet/intro_vjsharp.asp

> This is a set of new tools for those wishing to
> develop using the java-language syntax.
> "Java Language Syntax" is the important point here.
> It is not Java - it's J#.
0093名無しさん♯NGNG
>>92
おお、ありがと。さすがはCodeProjectね。
こっちの方が雰囲気がつかめるね。(delegateとattributeの扱いもわかったし。)
0094デフォルトの名無しさんNGNG
>>90
>他の方も.NET絡みで面白い文書持ってるぞ、という人がいたら、(差し支えなければ)、このスレッドで紹介してもらえませんか?
>もう、このスレッドだけはageだの藁だのが溢れても許すしかないですね
もう止められない止まらない
0095JAVA厨NGNG
J#だぁ?ざけんじゃねーぞゴルァ!!
0096デフォルトの名無しさんNGNG
先生オナニーの仕方を教えて下さい
本当にわからないんです
さきこちゃんがオナニーしなきゃあダメだよー
って言ってたから
0097デフォルトの名無しさんNGNG
こんな糞スレ使い道が無いからDelphi初心者スレとして再利用しよう
0098デフォルトの名無しさんNGNG
C#対JAVAならわかるが、何でC#対Delphiになるんだろ?
0099デフォルトの名無しさんNGNG
>>98
ヘジたんに見捨てられたからでは。
0100デフォルトの名無しさんNGNG
Del厨でもJAVA厨でもなんでもいいから、マターリ進行しましょうぜヽ(´ー`)ノ
煽りは無視無視。
0101デフォルトの名無しさんNGNG
インデクサーって普通の配列と見間違えやすいと思うんだけど、
なんであんなのが必要なの?
0102デフォルトの名無しさんNGNG
>>101
インデクサには文字列とかいろいろ指定できるから、連想配列みたいなことができる。
System.Collection.Hashtable クラスを見てみるとよさげかも。

using System.Collection;
// ......
Hashtable ht = new Hashtable();
ht["test1"] = 5;
ht["test2"] = "test";
ht[true] = 10;

みたいな。
Hashtable のインデクサは object なので、クラスでも何でも指定できるね。
0103102NGNG
>>102 の続き。
実際には System.Collecion.ArrayList のインデクサみたいに使うのが望ましいかと。
そういえば String クラスもインデクサを持っているね。
0104102NGNG
>>103
連続投稿スマソ。
Console.WriteLine("System.Collecion.ArrayList".Replace("Collecion", "Collection"));
鬱打氏脳...
0105名無しさん♯NGNG
>>101
ヘジたんお墨付きの意見はこちら。

 http://discuss.develop.com/archives/wa.exe?A2=ind0009B&L=DOTNET&D=0&P=14402

「別に普通のメソッドでもいいじゃん」というのもまったくその通りなんだけど、
indexerの方が見た目的にわかりやすいときもあるし、やっぱりあった方が便利だと思うよん。
0106デフォルトの名無しさんNGNG
無くても困らん
0107デフォルトの名無しさんNGNG
Javaのパクリって言われるのを防ぐために無理やり追加した機能?
0108名無しさん♯NGNG
>>105
> 「別に普通のメソッドでも

プロパティでもの間違いでした...。

>>106
うん。
0109デフォルトの名無しさんNGNG
Delphiのプロパティからきているような・・・
0110デフォルトの名無しさんNGNG
どっかでFreeのC#とかって見た気がするんだけど、どこかでプロジェクトとか
立ち上がってませんでしたっけ?
Del厨だのJAVA厨だのが目の敵にするのってやはりM$の技術っていうイメージがあるからで、
C#自体はすごくいい言語体系だと思うのだけど。
0111MeだからできないんだけどNGNG
あほみたいなことですいません
C#でもDirectXプログラミングできるんですか?
0112デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=291&forum=7&6
不謹慎コピペで一気に空気が変わったな。(ワラ
0113デフォルトの名無しさんNGNG
>>111
DirectXならすでにこのスレで語られてるよ。
0114デフォルトの名無しさんNGNG
CLRに関して説明したサイト、文献はまだ英語のものしかないのかな?
もし誰かご存知であれば教えて下さい。無ければSDKについていたものを
がんばって読みます。
0115名無しさん♯NGNG
ヾ(´ー`)ノ

 http://msdn.microsoft.com/visualj/jsharp/beta.asp
0116名無しさん♯NGNG
>>110
Mono Projectのことね。

 http://www.go-mono.com/index.html

そういえば、DotGNUってどうなったのかしら...?

>>114
日本語でということなら、前スレに286に書いてあるよん。

 http://piza2.2ch.net/test/read.cgi/tech/977112364/286

あれからいろいろと日本語の情報が出てるけど、正直漏れは把握しきってない。
ごめんちゃい。
0117名無しさん♯NGNG
MSDNにNewsgroupもできてる。

 http://msdn.microsoft.com/newsgroups/default.asp?url=/newsgroups/loadframes.asp?icp=msdn&slcid=us&newsgroup=microsoft.public.dotnet.vjsharp
0118デフォルトの名無しさんNGNG
>>116
シャープさんありがとう。
0119名無しさん♯NGNG
CodeProjectに他にもJ#ネタがあった。

 http://www.codeproject.com/script/rumor/article.asp?id=219
0120デフォルトの名無しさんNGNG
J#ってどうなの?
C#、VBに並ぶメジャー言語になるわけ?
0121デフォルトの名無しさんNGNG
http://www.nsg.co.jp/nbb/ss/joy/ig011011.html
> .NETバブル、そんなバブル存在しましたか? そして 今後とも存在しますか? (爆笑)
0122デフォルトの名無しさんNGNG
>><STRONG>.NET</STRONG>バブル、そんなバブル存在しましたか?
ネタ振ってくれるのはいいんだけどもうちょっと著名人のネタ
探してきてよ。
0123デフォルトの名無しさんNGNG
その人はプログラマ板ですごいバカにされていたな。
今日の日記だから>>121は毎日みているんだろうけど
見ない方がいいよ、DQNがうつる。
0124名無しさんNGNG
>>121
顔写真を見た感じでは変な人には見えないけど、日記見ると変な人。
0125デフォルトの名無しさんNGNG
XMLにこだわってる割にはタグ名が大文字なんですね。
ま、いいか。(゚ε゚)キニシナイ!! ってことで。
0126デフォルトの名無しさんNGNG
.NET擁護に必死だな。(プ
0127デフォルトの名無しさんNGNG
>>126
.NET叩きに必死だな。(プ
よっぽど怯えてんだろうな。(ゲラ
0128デフォルトの名無しさんNGNG
まさか、802ぢゃあないよね。
0129デフォルトの名無しさんNGNG
>>121
.NETを支持しようがしまいが、こういう言動は不快だ。
さすがは無神経な関西人だな。> DQNいが
0130デフォルトの名無しさんNGNG
一緒にするな!
いがは関西追放だ。

さすがはミーハーでCOBOLER引継ぎJava使いだな。> DQNいが
0131デフォルトの名無しさんNGNG
このスレ死にかけ・・・
0132デフォルトの名無しさんNGNG
Del厨に荒らされちゃったね
0133802NGNG
思う壺
0134デフォルトの名無しさんNGNG
VS.NET使う奴はヘタレ。
SDKでCUIでやるのが真の漢。
0135デフォルトの名無しさんNGNG
必死だな。(藁
0136デフォルトの名無しさん NGNG
どっちもやれ、いい仕事したいなら。
どっちかしかやらないようなやつがいがみたいなのに
なるんだよ。技術なんだからケースに応じて選択すれば
いいんだよ。

というかどっちかしかやらないですむ人が羨ましい。
0137デフォルトの名無しさんNGNG
この人はGUIもつくれるけど典型的なCUIプログラマだね。
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_013/csharp_abc01.html

イベントの説明をCUIでやらかす愚考を海外の書籍を含めて今まで見たことはないよ。
GUIも途中で出てくるが最後がButtonのイベントハンドラ共通化止まり。

そして結論が

> イベントは既存のプログラム言語にはあまり見られない機能である。しかし、C#のイベ
>ントは、潜在的な能力と可能性が高く、うまく使いこなせば、込み入ったプログラムをす
>っきり記述できる可能性を持つ。多くのオブジェクト指向言語に見られるように、何でも
>継承を使って問題を解決しようとしても、上手く機能しない場合がある。その意味でもイ
>ベントの活用は1つの課題と言えるだろう。

かわいそうだが才能ないな。この講座を受け持つには不適格。
うまく使いこなした経験はないらしい。
0138名無しさん♯NGNG
どうでもいいけど荒れすぎ。(藁

>>120
> J#ってどうなの?
> C#、VBに並ぶメジャー言語になるわけ?

それはないと思う。あくまでマイグレーションツール止まりね。
名前もJUMP(Java User Migration Path)だったわけだし。

>>119のリンクにもあるけど、J#はプロパティ・イベント・デリゲートの
定義ができないから、新規クラスを作るにはとても使えないと思う。

J#でJ++資産のラッピング(IL化)をして、
あとはC#なりVBで再利用・拡張するというシナリオだと思うよん。
0139デフォルトの名無しさんNGNG
なんでSDKはWin98で使えないんだよバーカ
0140デフォルトの名無しさんNGNG
>139
98なんて化石OS使うなヴォケ。
0141元VC++ユーザNGNG
C#いいですねー、簡単、高機能とはまさにこのこと。
簡単にフォームを半透明にできるのには思わず笑ってしまった。

VS.NET7.0の製品版っていつ出るの?
0142デフォルトの名無しさんNGNG
パッケージとしては来年
0143デフォルトの名無しさんNGNG
来年が楽しみだ。
0144デフォルトの名無しさんNGNG
>141
Delphiでも簡単にできます
0145デフォルトの名無しさんNGNG
>141
VisualBasicでも簡単にできます
0146デフォルトの名無しさんNGNG
VisualC++では簡単にできません
0147デフォルトの名無しさんNGNG
Delphi>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>C#=Ruby
0148デフォルトの名無しさんNGNG
ラディン>>>>>>>>>>>>>>>>ブッシュ>>>>>>>>>小泉>>>>>>>>>>>>>>>>>>>>>>>>キョセン
0149デフォルトの名無しさんNGNG
Delphiとの論争を邪魔するようで申し訳ありませんが,
VS.NETでC#は普通にビルドできるのですが,
C++のプロジェクトをビルとしようとすると,
>error PRJ0016 : このユーザーのセキュリティ設定が原因で、
>プロセスを作成できません。これらの設定はビルドで必要です。
とエラーがでます.Win2kでアドミン状態なのにです.
どうしたらよいのでしょうか?
0150デフォルトの名無しさんNGNG
>>149
OS再インストール
0151デフォルトの名無しさんNGNG
Beta2はあと2週間の命です。
今さらBeta2を必死でやっても無駄です。
0152デフォルトの名無しさんNGNG
>>151
え、使えなくなるんですか?
0153デフォルトの名無しさんNGNG
>>151
大幅な変更はないのでは?
0154デフォルトの名無しさんNGNG
>>151
え?マジで意味わからん。
0155名無しさん♯NGNG
>>154
もうすぐRC版が出るということよん。

そっか、漏れもVS.NETβ2入れたばかりなのに...。
0156デフォルトの名無しさんNGNG
>>149
それ、おれもなるよ。
今はC#にはまってるので放置してるが。

ていうか、なぜC#相談室でその質問?
変なのが荒らしてるからいまさら何も言わないが。
0157デフォルトの名無しさんNGNG
今のVSβで新しいSDKを使うことは出来るんですか?
0158デフォルトの名無しさんNGNG
名無しさん♯さんはSDK派ですね。
さすが、できる人はCUI使いですね。
0159デフォルトの名無しさんNGNG
Ruby最高だね。
0160デフォルトの名無しさんNGNG
おれが見てきたなかでもJava使いの出来る人はSDK使ってたな。
IDEでデバッグしてるような人なんかより、全然早い。
0161デフォルトの名無しさんNGNG
>>158
CUI、GUI派かは、出来る出来ないとは関係ないだろ。

出来る奴は何やっても出来る。
駄目な奴は何をやっても駄目ってこと。
0162149NGNG
>156
他の方でも再現性があるのですね.有難うございました.
僕もC#にはまってたんですが,昔のプロジェクトを少しいじる必要がでてきて..

>ていうか、なぜC#相談室でその質問?
.NETスレよりも,こちらの方が人が集まっているようでしたので..
でも,予想とはちょっと変わった方々が集まっているようで....
0163名無しさん♯NGNG
>>149 >>156
ここに対処法が載ってるよん。(長いURLでスマソ。)

 http://search.communities.microsoft.com/newsgroups/previewFrame.asp?ICP=msdn&sLCID=US&sgroupURL=microsoft.public.dotnet.languages.vc&sMessageID=%[email protected]%253E
0164デフォルトの名無しさんNGNG
>163
出来ました.なんてお礼を言ってよいのでしょうか.
本当に有難うございます.

コンパイルしたら,今までは無かった警告がわんさか..
皆様,どうも有り難うございました.
0165デフォルトの名無しさんNGNG
>>163
おれも出来た。どうもありがとう。
C#いじってからVC++のMFC見るとさすがにごちゃごちゃしてるね。
0166デフォルトの名無しさんNGNG
独自拡張可能なAttributeの威力。
デレゲートを使ったメソッドの非同期呼び出し。
接続プロトコルとは独立したリモートオブジェクトのアクティベーション。
Webアプリのシンプルさと、サーバーサイドコントロールの拡張性の高さ。
その他諸々...
サンプルをいじったり、テストアプリを作って動作を確認するたびにマンセー!!

Java他でもいろいろ出来なくは無いけど、これほどのレベルの物をこんなに
敷居を低くして、インストールしたらすぐ使えるようにしてしまうなんて...

実際にいじっている方<これって画期的ではないですか?
何の先入観も無くこれをいじって、何も感じない人って技術者としては
終わってるような気が...
0167デフォルトの名無しさんNGNG
>166
激しく同意。

でもね、「M$だからダメ〜」とか言って触りもしないで切り捨ててる
自称「プロ」(プ もいるんだよ。ヴァカとしか言いようがないね。
0168デフォルトの名無しさんNGNG
>>167
IGAさんを馬鹿にするのはやめてください
0169デフォルトの名無しさんNGNG
>接続プロトコルとは独立したリモートオブジェクトのアクティベーション
SOAPとかもOKなの?
0170デフォルトの名無しさんNGNG
いつも思うことだがMicrosoftの功罪は、HTTPすら分からない
人とかにインフラ系サービスの見た目の敷居を低くしすぎていることだね。

DelegationEventModel,XML-RPCとかは別に全然新しくも無いのに、
それらがBlackBoxとなってしまった人たちとMFC使いには、問題の
原因が何処にあるのか解決するすべが無い。

webアプリって表現はあまりにも...

>>116あなたの言う「技術者」とは何ですか?
回路設計からファームウエア,OS,UIデザインまでを全てこなす人。
Execl-MacroやQuick-BasicでDesignPatternsについて悩む人。
メインフレームで既存src→COBOL2002移行時にダウンタイムを計算する人。
RPCに夢を見てる人。(いまさら始まっちゃたりしてるぅ?

お前はC#にしたいんだけど会社は多分VB.NETとかやり出すと予想してみる..(wラ
ちなみに漏れは>>166と同類にされたくないが、VisualStudio.NETとBizTalkに感動。
0171デフォルトの名無しさんNGNG
IGAぴょん、バカにすんなよ!
0172デフォルトの名無しさんNGNG
>>171
バカにはしてないよ。それにこの人現場での面倒見は
よさそうじゃん。悪い人じゃなさそうだし。

バカにされてるのは年取って凝り固まった考えかた。
0173デフォルトの名無しさんNGNG
いつになったらマイクロソフトからC#のコンパイラの製品版出るの?
0174デフォルトの名無しさんNGNG
>171
メール欄(藁
0175名無しさん♯NGNG
これまでのところ、いちばん詳しいかも。

 First Look at Microsoft J#.NET Beta
 http://www.devx.com/dotnet/articles/lp100901/lp100901.asp

 Microsoft Visual J# .NET Beta 1 Readme
 http://www.devx.com/dotnet/articles/lp100901/readme.htm

VS.NET日本語版では、やっぱりどうやってもインストールできないみたいね。
0176仕様書無しさんNGNG
結局VC++.NETじゃんか。
0177名無しさん♯NGNG
Tony大先生の登場。(藁

 http://discuss.microsoft.com/SCRIPTS/WA-MSD.EXE?A2=ind0110b&L=java-com&F=&S=&P=155
0178デフォルトの名無しさんNGNG
既出ネタだが、

Office2000アンイストールしてドキュメント開くとインストーラ暴走
→SDKアンインストール
→SDKインストール
→Office XP入れたらまたしてもインストーラ暴走
→SDKアンインストール
→SDKインストール

いやこの前にも何度もこのせいで再インストールしてるんだが…。
ウィンドウズインストーラ逝ってよし。
ついでにIME2002も最悪。
0179デフォルトの名無しさんNGNG
VS.NETβ2を入れたらIE6のせいか、Webのブラウジングが不安定です。
2chのスレッドでクリックしても反応しないものがあります。

C#の基本的な文法を学ぶだけでも年内が過ごせそうだから、SDKだけを
インストールしたいのですが、SDKだけせんたくできますか?
IE6をIE5.5に戻す方法はありますか?
0180 NGNG
>>179
それってVS.NETベータ2に付いてたやつ?
正式版を上書きすれば解決するかと・・・。
0181 NGNG
>>180はIEのことね。
http://www.microsoft.com/downloads/search.asp?LangID=13&LangDIR=JA
0182あぼーんNGNG
あぼーん
0183あぼーんNGNG
あぼーん
0184デフォルトの名無しさんNGNG
>>183
おまえがうざい!!
それからC#以外の話をするやつもうざい
0185名無しさん♯NGNG
>>184
ごめんちゃい。最近J#の話しかしてません...。
0186デフォルトの名無しさんNGNG
>>185
氏ね!
0187名無しさん♯NGNG
>>186
もう来ません...。
0188名無しさん♯NGNG
>>187
誰だ〜!!こんなこと書いたのは!!ヽ(`Д´)ノ
0189デフォルトの名無しさんNGNG
ニセモノだったのか。ビクーリしたよ。
0190 NGNG
 
0191デフォルトの名無しさんNGNG
>>183-189
なんだか微笑ましいのう。
0192デフォルトの名無しさんNGNG
荒らされてもマターリしてるな(藁
0193166NGNG
>170
敷居が低いのは、いいことじゃん。
楽になるのは大歓迎さ(^◇^)

DQNが増えるのは仕方なし。
解決するすべが無いままに何もしないでいるのなら淘汰されるだけ。

技術者?
スレ的に、C#のターゲットとしている領域でおご飯を食べている人達。

なんにしても、気持ち良く作業できそうな環境がひとつ出てきたっていう
だけで、うきうきしてしまうぞ。

しょせん道具なんだし、よく見極めてうまく使えば良し!

ところで、アポーのWebObjectのEOFだっけ、ADO.NETのDataSet周りって
あれのパクリ?
どちらも深く知らないんで、言いがかりかもしれないけど。
0194 NGNG
Professional C# (wrox)はいい本だ。英語だけど。
019544NGNG
非矩形ウィンドウの質問をした者でございます。
その後、以下のコードを組んで非矩形ウィンドウを実現したが、
ウィンドウバーの高さを知ることが出来てないため少々不恰好になって候。
当方調査中ですが、直ぐにお分かりになる方あれば、是非ご教示くだされば幸い也。

 using System;
 using System.Drawing;
 using System.Windows.Forms;

 class ImageForm : Form {
  Bitmap bitmap = null;
  Graphics graph = null;
  Region region = null;

  // Window Title Height 暫定値。
  int wth = 50;

  // メインフォームだよ
  public ImageForm (){
  bitmap = new Bitmap("test.bmp");

  // ビットマップ読み込み失敗したら、速攻終了だ
  if (bitmap == null) {
  Application.Exit();
  }

  // 最左上端を透過色にする
  bitmap.MakeTransparent();
  region = new Region(new Rectangle(0, 0 + wth, 1, 1));
 
  // 透過色部分をウィンドウリージョンに加える
  for(int i=0; i<bitmap.Height; i++){
  for(int j=0; j<bitmap.Width; j++){
  if(bitmap.GetPixel(j, i).A != 0){
  region.Union(new Rectangle(j, i + wth, 1, 1));
  }
  }
  }

  this.Height = bitmap.Height + wth;
  this.Width = bitmap.Width;
  this.Region = region;
  this.FormBorderStyle = FormBorderStyle.None;
  }

  protected override void OnPaint(PaintEventArgs pea) {
  graph = pea.Graphics;
  graph.Clear(Color.Gray);
  }

  public static void Main(){
  Application.Run(new ImageForm());
  }
 }
0196デフォルトの名無しさんNGNG
>>195
DllImportでGetSystemMetrics
0197デフォルトの名無しさんNGNG
ウィンドウバーの高さって
SystemInformation.CaptionHeight
のことかな。標準の18だとボーターと合わせてか19になるみたい。
でもこれの必要性が?
0198デフォルトの名無しさんNGNG
C#の登場によって、VBやC++の位置づけはどのように変わるのでしょうか。
019944NGNG
>>196-197
お答え頂き、有難う御座います。
CaptionHeightを取ることで解決しました。

必要性はと問われると・・・
当方、「test.bmp」は 縦40×横440の領域に48Pの文字を入れてテストをしました。
CaptionHeightが無い場合・・・タイトルバーの高さ分、文字上部が切れて表示されなく
なるのです。

「すわこれは瑕疵か?」と思い、this.FormBorderStyle = FormBorderStyle.None; を
コメントアウトして実行した処・・・先程まで切れていた領域がキチンと表示されているでは
ありませんか!・・・青いグラデーション付きで。
ちなみに、青いグラデーション部分をドラッグすると、リージョンウィンドウが移動できます。
0200名無しさん♯NGNG
>>198
そんなには変わらないと思われ。
それに、それぞれC#より優れてる部分もあるわけだし。

 VB.NET : COMとのinteropに長けている。また、VSAマクロの中心言語。
 MC++ : Unmanaged APIとの親和性が高い。

C#はVBとC++の中間、という感じなのかな。
0201名無しさん♯NGNG
亀レス。

>>169
HttpChannelはSOAPを使ってるよん。
0202デフォルトの名無しさんNGNG
実際のファイルシステムを扱うんじゃなくて、
論理的ファイルシステムをExplorerみたいな感で
扱えるソフトを作りたいんですけど、なんか適当なコントロールとかないでしょうか?

イメージ的にいうとFTPExplorerみたいな感じのソフトを作りたいんです。
PictureBoxとか使って地道に実装しないと駄目でしょうか?
0203デフォルトの名無しさんNGNG
age of empires
0204デフォルトの名無しさんNGNG
>>202
TreeView と ListView を使ってみるとか。
0205デフォルトの名無しさんNGNG
C#未経験者です。
現在VC++使ってます。
C++が使えればC#って余裕ですか?
C#とC++ってどっちが高収入が期待できますか?
話しは変わりますが WindowsXP が出たら買った方がいいですか?
現在は Win98 です。
0206デフォルトの名無しさんNGNG
>>205
ネタ放置
0207デフォルトの名無しさんNGNG
C#に未来はないでしゅ。
0208デフォルトの名無しさんNGNG
Cわっほー
0209デフォルトの名無しさんNGNG
>207
まじっすか?
.NET はおいといて、C# っていう言語自体にはちょっと萌えてるんですが。
でもほかのプラットフォームでも C# 処理系がでてこないとなぁ。
0210デフォルトの名無しさん NGNG
VBプログラマがC#になれたらVB.NETを切り捨てて
Haskell.NETに力を入れて下さい>MS様
0211デフォルトの名無しさんNGNG
C#に興味持ちました。VS.NETに触れてみたいのですが、現時点で雑誌に添付
された葉書を送付することでVS.NETを手に入れることができる雑誌はあるでしょうか?
ttp://www.atmarkit.co.jp/fdotnet/insiderseye/20010131vsnetbeta1/20010131vsnetbeta1.html
でそのようなサービスがあると知ったのですが。お願いします。
0212デフォルトの名無しさんNGNG
>211
そのリンク、β1だぞ。。。
β2のDVD-ROMなら、先月出た雑誌におまけでついてる。
0213デフォルトの名無しさんNGNG
>>212 レスありがとうございます。早速探してきます。
0214デフォルトの名無しさんNGNG
>>155(#さん)
RC版のリリースはいつ頃ですか?
そんな話きいてしまうとβ版入れるの戸惑ってしまいます。
0215デフォルトの名無しさんNGNG
>>214
MSDNに入ってれば来月。
んで一般にリリースされるのは来年2月。
0216名無しさん♯NGNG
>>214
PDCのある来週よん。
ゲイツたんのキーノートの日(10/23)が有力ね。

もちろん、VS.NETの方はMSDN会員じゃないと落とせないからね。
それと、.NET Framework RCとVS.NET β2の組み合わせはおそらく無理だと思われ。
0217名無しさん♯NGNG
>>215
それはRCじゃなくてRTMよん。
でも、.NET Framework V1の来月リリースはほぼ間違いなしみたいね。
0218デフォルトの名無しさんNGNG
>>215 #さん
一日も早く.NETしたいのでβ2でやってみようと思います。
ありがとうございました
0219デフォルトの名無しさんNGNG
>>215
その.NET Framework V1かRCって一般人でも落とせるやつですか?
0220デフォルトの名無しさんNGNG
C#でプログラム言語をはじめて学ぶのですが、
.NETベータ2の詳しい操作方法について書かれた本かサイトをご存知ありませんか?
0221デフォルトの名無しさんNGNG
>>220
>>1のリンク見れ
0222デフォルトの名無しさんNGNG
MSDN会員になるのって、お金が必要なの?
無料?
0223デフォルトの名無しさん NGNG
今なら14マンでProfessional会員になれる。
ネタだろうけど一応
0224名無しさん♯NGNG
Microsoft XML Core Services 4.0 RTM

 http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/766/msdncompositedoc.xml
0225デフォルトの名無しさんNGNG
>>224
!!!
着々とWebサービスを構築する基盤が出来てきてるね。
ちなみに是非#さんに聞いてみたいのだけど、
SOAPクライアントを何らかの形でActiveXコントロールとして
実装した製品はあるかな?別にサードパーティでも
βの段階でも構わないのですが。
XMLスレでは見事に無視されましたw
0226デフォルトの名無しさんNGNG
#さんじゃないけど。
MS SOAP Toolkitじゃダメなのかな?
0227名無しさん♯NGNG
>>225
こういうのかな?

 http://www.nsoftware.com/products.asp?part=IPA5-A

ちょっと探した感じでは、なかなかないみたいね。
0228デフォルトの名無しさんNGNG
>>226 >>227
ありがとう。
調べた結果報告はXMLスレにしておきますので、
よかったらみにきてください ^o^
0229デフォルトの名無しさんNGNG
オーバーライドするときnewキーワードとvirtual , overrideってどの用に使い分ければいいのでしょう。
C++使ってたのでvirtualの方使いたいのだけど、どうも使うべきじゃないって書いてるところもあるし。
0230デフォルトの名無しさんNGNG
>>229
newとoverride/virtualは機能が違う。↓実行してみて。
using System;
class Base {
 internal virtual string CallMe() {
  return "Base";
 }
}

class DerivedOverride : Base {
 internal override string CallMe() {
  return "Override";
 }
}

class DerivedNew : Base {
 internal new string CallMe() {
  return "New";
 }
}

class c {
 static void Main() {
  DerivedOverride over = new DerivedOverride();
  Console.WriteLine(over.CallMe());
  DerivedNew dnew = new DerivedNew();
  Console.WriteLine(dnew.CallMe());
  Base b1 = over;
  Console.WriteLine(b1.CallMe());
  Base b52 = dnew;
  Console.WriteLine(b52.CallMe());
 }
}
0231デフォルトの名無しさんNGNG
でさ、DerivedOverrideを↓こう拡張したと思って。
class DerivedOverride : Base {
 internal override string CallMe() {
  return "Override";
}
internal string ThisIsNotInBaseClass() {
  return "Really?";
 }
}

で、何も知らないBaseクラスの開発者が、↓こういうことしたら
どうなる?
class Base {
 internal virtual string CallMe() {
  return "Base";
}
 internal virtual string ThisIsNotInBaseClass() {
  return "Not really";
 }
}
これが実装の継承の欠点の1つだ。C♯はこれを避けるためにnewを
導入した。↑のコードはC♯では警告になるよ。これがnewの意味ね。
正しく使いこなせるなら、virtual/overrideを避ける理由はないね。
0232デフォルトの名無しさんNGNG
newってDelphiでいうreintroduce?(って分かるひといないのかも)
仮想関数を下位クラスで隠蔽する時に使う?
0233デフォルトの名無しさんNGNG
>>230さん。丁寧なレスありがとうございました。よくわかりました。
本当にありがとうございました。
0234デフォルトの名無しさんNGNG
>>231 コンパらが叱ってくれるのは有難いですね。
0235デフォルトの名無しさんNGNG
>>234 コンパらX コンパイラ○ 鬱氏。
0236デフォルトの名無しさんNGNG
C#(・∀・)イイ!! 123.ToString( )(・∀・)イイ!! (・∀・)Let's See Sharp!
0237デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2001_10.html
Delギコが生きてたら激怒しそうな内容だな。
0238デフォルトの名無しさんNGNG
>>237 「生きてたら」(笑) やっぱりCUI派の人なんすね。この川俣さん。
0239通りすがりのプログラマNGNG
>>237
「オブジェクト指向との別れ」の理由は納得できるところも少なくないが、
デザパタとかは、どう認識してるのか、聞いてみたい。
0240デフォルトの名無しさんNGNG
いまさらなんですけど、
前回終了時の位置やフォームのサイズを記憶するにはどうすればいいでしょうか?
0241デフォルトの名無しさんNGNG
>>237
要はいわゆるコンポーネント指向ってことか。
センセーショナルに書きゃあいいってもんじゃねーぞ川俣。
0242デフォルトの名無しさんNGNG
>>240
レジストリとかiniファイル。
.NET的にはXMLの方がいいのかな。
0243デフォルトの名無しさんNGNG
ショック! コンストラクタにアクセスコントロールがついてたので、
コンストラクタとわからなかった!詩嚢。
0244デフォルトの名無しさんNGNG
.NET Frameworkにメール関連のAPIってありますか?
0245デフォルトの名無しさんNGNG
>>244
System.Web.Mail
0246244NGNG
>>245
ありがとうございます。
これってCDOとは別物ですか?
0247名無しさん♯NGNG
>>246
内部でCDOを使ってるよん。
0248244NGNG
>>247
ありがとうございます。
そうですか...。CDO以外の実装に期待したんですが...。
0249デフォルトの名無しさんNGNG
メール投げて遊んでみた。簡単なんだね。
悪さはできなかった。(藁
0250デフォルトの名無しさんNGNG
ListViewの詳細表示でカラム部分をクリックした時、
リストをソートしたいのですが、ツールボタンと同じように
分岐というイマイチな方法でないとダメでしょうか?

listView1.ColumnClick += new ColumnClickEventHandler(listView1_ColumnClick);

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) {
  if (e.Column == 0) {
    // ソート
  }
}
0251デフォルトの名無しさんNGNG
>>242
具体的なサンプルってあります?
0252デフォルトの名無しさんNGNG
基礎的な質問ですが,C#では配列演算子のオーバーロードができなくなってる‥
のでしょうか?
0253デフォルトの名無しさんNGNG
>>252
perlの連想配列みたいなことを配列アクセスでやってたよ。
だからできるんじゃない?
0254デフォルトの名無しさんNGNG
>>253
ありがとうございます.従来のC++のソースを移植しているんですが
なかなか一筋縄にはいきませんね.
0255デフォルトの名無しさんNGNG
C++からですか・・・
内容によっては無理に一対一に対応させるよりも、
やり直したほうが早いかもね。
0256デフォルトの名無しさんNGNG
私もサンプルほしいです。
できればXMLで。
0257名無しさん♯NGNG
>>250
そうするしかないと思うよん。
問題は、ソートの部分をどこまで簡潔に記述できるかだと思う...。

>>251
>>256
XmlTextReaderを使うととっても便利よん。

単純なサンプル
 http://www.eponymous.fsnet.co.uk/dotnetfaq.htm#11.4

やや込み入ったサンプル
 http://support.microsoft.com/support/kb/articles/Q301/2/28.ASP
0258名無しさん♯NGNG
ひまだから作ってみた。(XMLのサンプル)
とりあえず、というレベルね。

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Xml;

class TestForm : Form
{
  public TestForm() {
    this.Load += new EventHandler(this.form_Load);
    this.Closing += new CancelEventHandler(this.form_Closing);
  }

  const string CONFIG_FILE_NAME = "config.xml";

  private void form_Load(object sender, EventArgs e) {
    XmlTextReader reader = null;

    try {
      reader = new XmlTextReader( new StreamReader(CONFIG_FILE_NAME) );

      int x = 0;
      int y = 0;
      int width = 0;
      int height = 0;

      while ( reader.Read() ) {
        if (reader.NodeType != XmlNodeType.Element) {
          continue;
        }

        switch (reader.Name) {
          case "x":
            reader.Read();
            x = Convert.ToInt32(reader.Value);
            break;
0259名無しさん♯NGNG

          case "y":
            reader.Read();
            y = Convert.ToInt32(reader.Value);
            break;

          case "width":
            reader.Read();
            width = Convert.ToInt32(reader.Value);
            break;

          case "height":
            reader.Read();
            height = Convert.ToInt32(reader.Value);
            break;
        }

        this.Bounds = new Rectangle( new Point(x, y), new Size(width, height) );
      }
    }
    catch (FileNotFoundException x) {
      Debug.WriteLine("Exception : " + x.Message);
    }
    finally {
      if (reader != null) {
        reader.Close();
      }
    }
  }

  private void form_Closing(object sender, CancelEventArgs e) {
    XmlTextWriter writer = null;

    try {
      writer = new XmlTextWriter( new StreamWriter(CONFIG_FILE_NAME) );
      writer.Formatting = Formatting.Indented;
      writer.Indentation = 2;
0260名無しさん♯NGNG

      writer.WriteStartElement("configuration");

    // ポジションの保持
      Point position = this.Location;
      writer.WriteStartElement("position");

      writer.WriteStartElement("x");
      writer.WriteString( position.X.ToString() );
      writer.WriteEndElement();

      writer.WriteStartElement("y");
      writer.WriteString( position.Y.ToString() );
      writer.WriteEndElement();

      writer.WriteEndElement();  // position

    // サイズの保持
      Size size = this.Size;
      writer.WriteStartElement("size");

      writer.WriteStartElement("width");
      writer.WriteString( size.Width.ToString() );
      writer.WriteEndElement();

      writer.WriteStartElement("height");
      writer.WriteString( size.Height.ToString() );
      writer.WriteEndElement();

      writer.WriteEndElement();  // size

      writer.WriteEndElement();  // configuration
    }
    finally {
      if (writer != null) {
        writer.Close();
      }
    }
  }

  [ STAThread ]
  public static void Main() {
    Application.Run( new TestForm() );
  }
}
0261デフォルトの名無しさんNGNG
>>258-260
XMLがきちんと整形されてる。(・∀・)イイ!
0262デフォルトの名無しさんNGNG
>>258-260 のiniファイルバージョン希望。
0263名無しさん♯NGNG
>>262
iniファイルはめんどいのでパス。ごめんちゃい。
(MFCのCWinAppみたいに、便利なヘルパーはないのよ。)
0264デフォルトの名無しさんNGNG
>>257
> 問題は、ソートの部分をどこまで簡潔に記述できるかだと思う...。

     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/< 先生!サンプルください!
 _ / /   /   \
\⊂ノ ̄ ̄ ̄ ̄\   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0265250NGNG
>>257
ありがとうございます。
うーん、イマイチだわ。columnHeader1.Clickだったらいいのに。
ソートはメインアイテムだとこのように簡単なのですが、
サブアイテムだと自分で作らないといけないんですよね。>>264

private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) {
  if (e.Column == 0) {
    if (listView1.Sorting == SortOrder.Ascending) {
      listView1.Sorting = SortOrder.Descending;
      // columnHeader1.Text = "名前 ▽";
    }
    else {
      listView1.Sorting = SortOrder.Ascending;
      // columnHeader1.Text = "名前 △";
    }
  }
}
0266DelフサギコNGNG
   _____
 /:\.____\  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |: ̄\ ミ ゚Д゚ミ\< C#かっこいいじゃん!>>XML
 |:   |: ̄ ̄U U ̄:| \__________

 .______
 |:  :\      \
 |:   |: ̄ ̄U U ̄:|  挟まって痛い
      
        
0267名無しさん♯NGNG
>>264
実は、昼間に作成済みだったりする。(藁

using System;
using System.Collections;
using System.Windows.Forms;

class Form1 : Form
{
  ListView listView1 = new ListView();

  public Form1() {
    listView1.Dock = DockStyle.Fill;
    listView1.View = View.Details;
    listView1.ColumnClick += new ColumnClickEventHandler(this.listView1_ColumnClick);

    // カスタムComparerを設定
    listView1.ListViewItemSorter = new Comparer1();

    // とりあえず3列作る
    ListView.ColumnHeaderCollection header = listView1.Columns;
    header.Add( new ColumnHeader() );
    header.Add( new ColumnHeader() );
    header.Add( new ColumnHeader() );

    // データを設定(この時点では並べ替えなし)
    ListView.ListViewItemCollection items = listView1.Items;
    items.Add( new ListViewItem(new string[] { "bbb", "ccc", "aaa" }) );
    items.Add( new ListViewItem(new string[] { "aaa", "bbb", "ccc" }) );
    items.Add( new ListViewItem(new string[] { "ccc", "aaa", "bbb" }) );

    this.Controls.Add(listView1);
  }

  private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) {
    Comparer1 comparer = listView1.ListViewItemSorter as Comparer1;

    if (comparer.SortColumn == e.Column) {
      if (comparer.Sorting == SortOrder.Ascending) {
        comparer.Sorting = SortOrder.Descending;
      }
      else {
        comparer.Sorting = SortOrder.Ascending;
      }
    }
    else {
      comparer.SortColumn = e.Column;
      comparer.Sorting = SortOrder.Ascending;
    }

    listView1.Sorting = comparer.Sorting;
    listView1.Sort();
  }
0268名無しさん♯NGNG

  class Comparer1 : IComparer
  {
    public Comparer1() {
    }

    SortOrder sorting = SortOrder.None;

    public SortOrder Sorting {
      get { return sorting; }
      set { sorting = value; }
    }

    int sortColumn = 0;

    public int SortColumn {
      get { return sortColumn; }
      set { sortColumn = value; }
    }

    public int Compare(object x, object y) {
      if (sorting == SortOrder.None) {
        return 0;
      }

      string s1 = (x as ListViewItem).SubItems[sortColumn].Text;
      string s2 = (y as ListViewItem).SubItems[sortColumn].Text;

      if (sorting == SortOrder.Ascending) {
        return s1.CompareTo(s2);
      }
      else {
        return s2.CompareTo(s1);
      }
    }
  }

  [ STAThread ]
  public static void Main() {
    Application.Run( new Form1() );
  }
}
0269デフォルトの名無しさんNGNG
>>267-268
すごい!!ありがとうございます!!
でも、

     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (; ´∀`)/< 先生!サンプルが難しいです!
 _ / /   /   \
\⊂ノ ̄ ̄ ̄ ̄\   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0270251NGNG
>>257
> >>250
> そうするしかないと思うよん。
> 問題は、ソートの部分をどこまで簡潔に記述できるかだと思う...。
>
> >>251
> >>256
> XmlTextReaderを使うととっても便利よん。
>
> 単純なサンプル
>  http://www.eponymous.fsnet.co.uk/dotnetfaq.htm#11.4
>
> やや込み入ったサンプル
>  http://support.microsoft.com/support/kb/articles/Q301/2/28.ASP

どうも有難うございます。
やはりこれからは「ini」->「xml」になるのでしょうかね?
まぁ人の好みだとは思いますが。。
0271デフォルトの名無しさんNGNG
厨房というかDQNというか。。。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=333&forum=7
0272デフォルトの名無しさんNGNG
>>271
彼に関してはこのスレでどうぞ……

★デブプログラマーってどうよ★
http://mentai.2ch.net/test/read.cgi/prog/1001686611/
0273デフォルトの名無しさんNGNG
>272 ワラタ
0274名無しさん♯NGNG
ロゴが「Release Cadidate」に変わってるね。ヽ(´ー`)ノ
ダウンロードはまだか〜。

 http://beta.visualstudio.net/
0275名無しさん♯NGNG
MSDN Subscriber Downloadsで、VS.NET RC版が出たみたいね。

 http://communities.microsoft.com/newsgroups/previewFrame.asp?ICP=msdn&sLCID=us&sgroupURL=microsoft.public.dotnet.general&sMessageID=%253CuOixLA2WBHA.1408@tkmsftngp05%253E

でも、SDKはまだ?(・ε・)
0276名無しさん♯NGNG
激しくワラタ。

.NET Pet Shop

 http://www.gotdotnet.com/team/compare/petshop.aspx
0277DelフサギコNGNG
  ∧,,∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ミ,,゚Д゚彡 < そういえば、ソースをアプする場所はこちらがありあます。
  ,;゙  ミ     \_____________
 ミ.  ミ
/゛゛゛゛
          ソース置き場
          http://www2.to/source


元はDelphi系から立ち上がってますが、
違う言語でも、OKというか「誰でも自由に利用」となっております。

お気に召しましたらご利用くださいな。

ってフサは管理者でもなんでもないのですが、ご紹介です。

ではではー。
0278デフォルトの名無しさんNGNG
>>276
なかなかやるね。

> The result?
> The exact same application functionality was
> implemented in just 1/3 the code using C#/ASP.NET,
> and it performs up to 28 times faster than previsouly
> published benchmarks of the J2EE application.
0279名無しさん♯NGNG
VS.NET RCは来年2月末までの時限爆弾つき。(藁

 http://discuss.develop.com/archives/wa.exe?A2=ind0110d&L=dotnet&D=0&P=10502
0280デフォルトの名無しさんNGNG
The Visual Studio .NET Release Candidate is recommended for users who
have not installed Beta 2, or users previewing the .NET Compact Framework
and Smart Device Extensions.
Users of Visual Studio .NET Beta 2 may install the Release Candidate;
however, the Release Candidate contains fewer features (this is the
Professional Edition whereas Beta 2 is the Enterprise Edition), and
a time bomb will prevent usage of the Release Candidate after
February 28, 2002.
Beta 2 users will probably choose to wait for the final release of
Visual Studio .NET, scheduled for late in the fourth quarter 2001.
0281名無しさん♯NGNG
Mobile Internet Toolkit Release Candidate

 http://msdn.microsoft.com/downloads/sample.asp?url=/msdn-files/027/001/516/msdncompositedoc.xml&frame=true
0282名無しさん♯NGNG
ヾ(´ー`)ノ

.Net Framework Code Going Gold

 http://www.eweek.com/article/0,3658,s%253D1884%2526a%253D16995,00.asp
0283名無しさん♯NGNG
About .NET Compact Framework

 http://www.gotdotnet.com/team/netcf/default.aspx
0284デフォルトの名無しさんNGNG
WriteFile(hFile, szStr, strlen(szStr), &dwAccBytes, NULL);

これでやってて、szStrが65535バイトを超えた時点で、
strlen=116なぞを返してきました。

つまりszStrはもともと16ビットのunsigend int(結構しらべても
出てないもの)だから上限は65535っていうことなの?

lstrlen使えば32ビットに拡張されるでしょうか?

実はせっかく書いたソースがいきなり116バイトになってしまったので
ひやひやもんだった。退避していてよかった・・・・
0285通りすがりのプログラマNGNG
>>274
PDCでも配布されたようで。
http://www.zdnet.co.jp/news/0110/24/e_gates.html
0286デフォルトの名無しさんNGNG
284はすれちがい。。
0287デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=337&forum=7&3

お腹いっぱいになりそうだけど欲しいなCD。
0288デフォルトの名無しさんNGNG
C#勉強してるんですが日本語ドキュメントの「C# のご紹介」文章の
refキーワードのところサンプルコードのSwap関数間違ってるね。
static void Swap(ref int a, ref int b) {
int t = a;
a = b;
b = a;
}
b = a; は b = t; ですよね。なんとなく気になった。どうでもいいのでsage
0289デフォルトの名無しさんNGNG
SDKダウソはまだですか?
0290名無しさん♯NGNG
>>289
どうやら出ない説が濃厚ね。

MSはなるべくβ2使ってくれというスタンスだし、
SDK V1がすぐに出るからあまり意味がないのかな...?
0291デフォルトの名無しさんNGNG
V1はいつなの?
0292名無しさん♯NGNG
>>291
11月の中頃とか言われてるよん。
おそらくCOMDEXあたりだと思われ。
0293デフォルトの名無しさんNGNG
C#を学んでるものです。delegateについて聞きたいのですが。
以下のソースでコメントアウトしてるところにdelegeteを宣言すると
「名前空間"PrintAll'が見つかりません」と怒られます。
コメントアウトしてないところのdelegeteの宣言ではうまくいきます。
なぜでしょう?そう言う物なんでしょうか。根本的に何か理解不足の
ような気がしますが。よろしくお願いします。ソース突っ込みどころ
満載ですが、ご容赦ください。
0294ソースNGNG
namespace delegateTest
{
using System;

delegate void PrintAll( object o );//うまくいきます

public class Test
{
//public delegate void PrintAll( object o );//うまくいきません。

public void PrintText( object text )
{
Console.WriteLine( (string)text );
}
public void PrintInt( object Integer )
{
Console.WriteLine( ((int)Integer).ToString() );
}
}
public class MainClass
{
static void Main()
{
Test test = new Test();
PrintAll delegateModule = new PrintAll(test.PrintText);
delegateModule( "string" );
delegateModule = new PrintAll(test.PrintInt);
delegateModule( 123456 );
}
}
}
}
0295名無しさん♯NGNG
>>293-294
delegateの宣言は、IL的に見れば1種の型宣言よん。

つまり、Testクラスの中でdelegateを宣言すれば、
nested typeとして扱われるということ。

なので、PrintAllをTest.PrintAllと書けばOK。

  Test.PrintAll delegateModule = new Test.PrintAll(test.PrintText);
0296デフォルトの名無しさんNGNG
>>295 レスありがとうございます。レスのとおりしたらうまくいきました。
>nested typeとして扱われるということ
ここら辺りまで理解できておりません。
インスタンスのtest.PrintAllとしてはまっておりました。勉強しないと。
0297デフォルトの名無しさんNGNG
このスレで話題の川俣さんのC#入門なんだけど、delegateの説明しないで
イベント説明してるね。絶対意味わかんないよあれじゃ。
サンプルコードもあれだしな。
delegateつながりということで、、.
0298デフォルトの名無しさんNGNG
.NETでUDDI用のAPIはないんですか?
ドキュメントを見ても見つからなかったもので。
0299デフォルトの名無しさんNGNG
あぁぁぁ・・・
川俣さんより名無しさん#大先生のほうが上だった。
0300デフォルトの名無しさんNGNG
delegateとeventの違いって、分かるようで分からない。。。
0301デフォルトの名無しさんNGNG
川俣と比べるのは失礼だろう。
あんな低い人と比べたらレベル測れない。
0302デフォルトの名無しさんNGNG
>>300 私も分からないです。複数の関数を指せるくらいしか違いわからない。
それとイベントの呼び出し?に制約があるってことくらいしか。
あとEventArgs Classもわかない。EventArgs is the base class for event dataって
ヘルプに書いてるけど、event data ってなんでしょう?
0303デフォルトの名無しさんNGNG
たのむからこのスレに変な名前は出すな
0304名無しさん♯NGNG
>>298
UDDI SDKが必要よん。

 http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/711/msdncompositedoc.xml
0305名無しさん♯NGNG
>>300
delegate : 型の宣言,event : クラスメンバーの宣言ということで、根本的に違うよん。
eventと比べるべきは、delegateの「インスタンス」の方ね。

いちばんまぎらわしいのはこういうやつかな。

  delegate void SomeDelegate();

  class Test
  {
    public SomeDelegate Hoge;
  }

  class Test2
  {
    public event SomeDelegate Hoge;
  }

両方共通でできることは、

 ・+= でメソッド追加
 ・-= でメソッド削除
 ・クラス内部から、= でメソッド代入
 ・クラス内部から、メソッド実行

一方、eventではできないことは、

 ・クラス外部から、= でメソッド代入
 ・クラス外部から、メソッド実行

あと、eventは(propertyと同じで)abstract,override,sealed,virtualで宣言できるよん。
つまり、見た目はフィールドっぽいけど、ふるまいはメソッドだということ。

なので、フィールド対プロパティみたいな感じでとらえるといいのかな。
0306名無しさん♯NGNG
>>302
> ヘルプに書いてるけど、event data ってなんでしょう?

MouseEventArgsとかKeyPressEventArgsのプロパティを見てみると
感じがつかめると思うよん。
0307名無しさん♯NGNG
>>305のサンプルコード。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=6
0308デフォルトの名無しさんNGNG
これはもうn大先生が入門書書くしか。
0309298NGNG
>>304
あらら、あったんですね。ありがとうございます。
0310デフォルトの名無しさんNGNG
ここにいるやつの半分ぐらいはn大先生無しには.NETしてなかっただろうね
0311デフォルトの名無しさんNGNG
サーバー移転あげ
0312デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/ さん、
ライターとして名無しさん♯を採用してください。
0313302NGNG
>>305-307 分かりやすい説明とサンプルコードありがとうございます。
違いについて理解できました。ありがとうございます。
>>306 もありがとうございます。感じがつかめました。^^
0314デフォルトの名無しさんNGNG
名無しさん♯ さんを賞賛するレスにすべて激しく同意します。
ほんとWebでもいいから名無しさん♯ さんのC#の講義を読んでみたい。
お忙しいから無理なのかな。このスレで我慢しますか。
0315仕様書無しさんNGNG
XMLSchemaを正規表現までサポートしてる!age
0316名無し~3.EXENGNG
ここで叩かれてるとは思いもしないでしょうなw>川○さん。
0317デフォルトの名無しさんNGNG
C#では多重継承をサポートしてないみたいなんですが
interfaceで似たようなことができると記憶してます
具体的なサンプルを探してみたのですが見つかりせません。
ヘルプでmultiple Inheritanceなどで引いて見たのですが、どうにも見つかりません。
C#でどのようにしたら多重継承みたいな?ことが実装できるのでしょう?
よろしくお願いします。そろそろ本買わないとなぁ〜 トホ
0318デフォルトの名無しさんNGNG
>>317
こういうやつか?

public class HogeHoge : Hoge, IFoo, IBar
0319デフォルトの名無しさんNGNG
>>318 継承するベースクラスがinterfaceならいいということですね。
ありがとうございました。しかしinterfaceを継承したら継承したクラスで
実装しないといけませんよね。C++みたいにベースクラスのメンバを
そのまま多重継承できないのでしょうか。厨房な質問で申し訳ないです。
0320デフォルトの名無しさんNGNG
> C++みたいにベースクラスのメンバを
> そのまま多重継承できないのでしょうか。
それは無理。というか、それができたら「多重継承をサポートしない」とは言えなくなる。(w
0321名無しさん♯NGNG
>>317
> C#では多重継承をサポートしてないみたいなんですが
> interfaceで似たようなことができると記憶してます

COMでおなじみのContainmentのことかしらん。
とりあえずサンプル作ってみたよん。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=7

でも、これは再利用のテクというよりは、ただのトリックと考えた方がよさそうよ。
0322デフォルトの名無しさんNGNG
>>320 レスありがとうございます。確かにそうですよね(^^;
>>321 わかりやすいコードありがとうございます。
クラス図書いてみておおって感心しちゃいました。あとasも初めてみたので
勉強になりました。たしかに再利用で使うことは難しそうですね。
ありがとうございました。
0323デフォルトの名無しさんNGNG
C#のクラス定義をXMLスキーマに落とすことってできますか?
0324デフォルトの名無しさんNGNG
>>323
おれもそれ知りたかった。
System.Management.*とかをよく見てたけど
よく分からなかったよ。
0325デフォルトの名無しさんNGNG
>>323
xsd.exeで出来るかも。System.Managementは関係なかった。ごめん。
0326名無しさん♯NGNG
>>323
xsd.exeでできるよん。

でも、xsd.exeの中身はILだから、コードでももちろん実現可能。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=8
0327デフォルトの名無しさんNGNG
>>326
#さん、お願いします。
どうもxsd.exeだとプロパティの定義しかされないのだけど、
これってそういうものなんでしょうか?
あと、XmlReflectionImporterというクラスがヘルプに
載ってないんですが、、、いろいろ面倒かけてすみません。
0328デフォルトの名無しさんNGNG
XmlReflectionImporterを検索していたらこんなサイトに辿りつきました。
http://www.aspalliance.com/quickstart/aspplus/samples/classbrowser/cs/classbrowser.aspx
しかもこっちはなんかSDKについてたドキュメントとnamespaceの構成が違う。
どうなってるんだろう・・・
0329デフォルトの名無しさんNGNG
#さん、ごめん。
おれがメチャクチャDQSなことが判明しました!
上のヤツはなかったことにして下さい!!
0330名無しさん♯NGNG
>>327
> どうもxsd.exeだとプロパティの定義しかされないのだけど、
> これってそういうものなんでしょうか?

シリアライズに必要なメンバーのみだから、
基本的にpublicのプロパティだけになると思うよん。

> あと、XmlReflectionImporterというクラスがヘルプに
> 載ってないんですが、、、

あのサンプルはxsd.exeを逆アセンブルして作ってるから、
非公開のクラス使いまくりになってる。(藁

このへんのクラスは、ildasm.exeでSystem.Xml.dllを見るしかないかも。

>>328
それはSDKについてくるサンプルよん。
おそらく、β2より前の途中版でのクラス構成だと思われ。
0331デフォルトの名無しさんNGNG
>>330
ありがとう#さん。なんとなく分かってきました!
0332デフォルトの名無しさんNGNG
http://forums.itworld.com/webx?14@@.ee6b652/95!skip=60
0333323ですNGNG
325さん、名無しさん♯さん、ありがとうございました。(^o^)
0334324NGNG
>>323
ホントは個別クラスのIDLのようなものをXMLで出力させたかったんじゃないの?
クラスの静的情報を記述したXMLドキュメントを出力させるっていう。
で、調べたんだけど今のところ、さっぱり分かりません(汗
.NETど素人なもんで未だに巨大なクラスライブラリ―の概要すら分かりません。
ごめん。

あんまり関係ないけど、全スレに面白そうな部分を見つけたんで
リンク貼り付けておきます。
http://pc.2ch.net/test/read.cgi/tech/977112364/247-249
0335名無しさん@お腹いっぱい。NGNG
>>324
その混乱してる頭にはこのような基本的情報からはじめるのがいい
http://www.microsoft.com/japan/developer/vstudio/nextgen/technology/commonlanguage.asp
0336名無しさん♯NGNG
>>334
CodeDomってβ2になって大きく変わってるから、そのサンプルは動かないと思われ。
とりあえず、β2っぽく直してみた。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=9
0337デフォルトの名無しさん NGNG
>>336
ありがとうございます。
頂いたサンプルではどうしてもクラスに"Public"がついてしまいますね。
cls.Attributes = MemberAttributes.Private | MemberAttributes.AccessMask;
なんてやってもダメです。バグでしょうか?よく分かりませんねw。

昔、VBAで自身を書き換えるマクロを作ったりして仕事中に遊んでたことがあって、
そのときに構文要素を表現したようなオブジェクトがあってもいいのになって
思ったのを思い出しました。あえてクラスを作ったりはしませんでしたが。

新しいおもちゃを手に入れたようです。しばらく仕事中これで遊べそうです!(*^o^*;
0338デフォルトの名無しさんNGNG
>>337
Memberじゃないよ。TypeAttributes変えるんだよ。
0339名無しさん♯NGNG
>>338
スマソ。それは漏れの勘違い。

だから、β1のサンプルでは using System.Reflection; ってしてたんだ。
自分で書いたコードなのに気づかなかった。(藁

こうすればいいのね。

    // class Hello の部分
    CodeTypeDeclaration cls = new CodeTypeDeclaration("Hello");
    cls.IsClass = true;
    cls.TypeAttributes = TypeAttributes.NotPublic;
0340名無しさん♯NGNG
パッケージがカタログに出てるね。ヽ(´ー`)ノ

Visual Studio.NET Enterprise Architect
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=49133401-5f8a-397d-ac8a-2c0da7506682

Visual Studio.NET Enterprise Developer
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=ab15434b-724e-a489-08b9-4c00598e989a

Visual Studio.NET Professional
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=c8b0dfcb-7735-5481-fdab-1d253d2b1543

Visual Basic.NET Standard
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=f748b6d7-4a1f-2394-4154-0f60ae0a35dd

Visual C#.NET Standard
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=57d3ed4d-cbc6-9448-545c-fe107b0e8dc1

Visual C++.NET Standard
 http://www.microsoft.com/windows/catalog/wcbody.asp?subid=22&pgn=0a479560-1e5f-1696-5540-ed079d6b3de3
0341デフォルトの名無しさんNGNG
>>340 お値段が気になる〜
0342デフォルトの名無しさんNGNG
ファイルの移動やコピーする時に、同名のファイルがあると

    「ファイルの上書きの確認」
    このフォルダには既に 'hoge.txt' ファイルが存在します。
    現在のファイル …(略)…
    に次の新しいファイルを上書きしますか?
    …(略)…
              [はい] [いいえ]

と出ますが、.NETでこの確認ダイアログを出す方法はありますか?
普通にやると、IOExceptionで
「既に存在するファイルを作成することはできません。」となるのですが。
0343名無しさん♯NGNG
API Changes from Beta2 to RTM

 http://go.microsoft.com/fwlink/?LinkId=4372

RCじゃなくてRTMまで来てるのね...。
0344名無しさん♯NGNG
>>342
おそらく、P/InvokeでSHFileOperation(shell32.dll)を直接使うしかないと思われ。
でも、ちょっとめんどいかも。
0345342NGNG
>>344
どうもありがとうございます。
shell32.dllだと何だか難しそうなので、
それらしい確認画面を出すようにしようと思います。
でも、ファイルの種類ごとのアイコンを表示するのが謎?
道は険しそうです。アイコンはなしにしようかな。
0346名無しさん♯NGNG
>>345
変なバグもあるけど、shell32.dllを使うとこんな感じよん。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=11
0347デフォルトの名無しさんNGNG
サンプルのソースを見てて思うんですが、
変数名に大文字から始める文字列を割り当ててたりして
ちょっと戸惑います。これってC#的にはいいの?
Javaだと確実にNGなんだけど。

C#用のコーディングガイドラインみたいなのがあれば知りたいな。
0348デフォルトの名無しさんNGNG
JavaでNG?それって決め事でしょ。
.NET Frameworkは、PascalCaseもcamelCaseもUPPERCASEもみんな使う。
コーディングガイドラインというものは、プロジェクトのメンバー全員の
同意の下に決めるもので、誰かが与えるものではない。
0349名無しさん♯NGNG
>>347
いちおうこういうのはあるよん。
C#というよりは.NETのガイドラインね。

 http://msdn.microsoft.com/library/en-us/cpapndx/html/_cor_capitalization_styles.asp

他にもいろんなことが書いてあるから、詳しくは左側のタブを見てちょ。
0350デフォルトの名無しさん NGNG
>>348
いや、そういってしまえばそれまでだけど、
Javaの場合は推奨の規約のようなものがあったはず。
もしC#やVBに関してそういったものがあれば
知りたかっただけです。
0351347NGNG
>名無しさん#さん
ありがとうございます。
先に答え出してもらってるのに
気が付かないで書き込み&その最中一生懸命検索(w
バカです。逝って来ます。。。
0352デフォルトの名無しさんNGNG
オープンソース版.NETプロジェクト,経過は順調
http://www.zdnet.co.jp/news/0110/31/e_mono.html
0353342NGNG
>>346
またまたありがとうございます。
でも、名前変えたりしても
「ファイルをコピーできません。
送り側のファイルまたはディスクから読み取れません。」
と出てダメみたいです。

なので、アイコン抜きでサイズもメッセージも同じダイアログを
出すようにしてみました。
SDKなので位置やサイズの調整が大変でしたが。
0354デフォルトの名無しさんNGNG
あげじゃ!
0355デフォルトの名無しさんNGNG
Attributeって何をするための物なんでしょう。Attributes Tutorialを
がんばって読んで見ましたが、英語力がないため、イメージすらつかめません。
前スレでC#の目玉みたいなレスがありますので、ぜひとも理解したいです。
基本的な質問で申し訳ないです。
0356デフォルトの名無しさんNGNG
>>355 すいません。自己レスです。googleでひっかかりました
「クラスに URL を結び付け,それを実行時に取り出せる」と
ttp://objectclub.esm.co.jp/cs-vs-java/cs-vs-java.htmlにありました。
0357デフォルトの名無しさんNGNG
>>356
そんなのぜんぜんAttributeの本質を物語ってないぞ。Attributeってのは、
アスペクト指向プログラミングのためのもの。MTSが導入し、COM+が拡張した
属性ベースのプログラミングを、タイプシステムレベルでサポートしたのが
Attribute。EiffelのAssertionの考え方とか、COM+のトランザクションの
ように、そのクラスの本来の機能とは直接関係ない機能をロジックと
分離できるのがその特徴だ。アスペクト指向とかAOPで検索してみるべし。
0358デフォルトの名無しさんNGNG
>>357 アスペクト指向プログラミングについて調べてみました。
ttp://www.ogis-ri.co.jp/otc/hiroba/Report/oopsla/oopsla.html#kiji_anquete
で感じがつかめました。大変興味深いですね。ありがとうございました。
しかしそれを踏まえてAttributeのサンプルなどWeb上Help上で漁ってみましたが
何をやってるのかさっぱり理解不能です。なんか手順が4段階くらいありそうなのは
わかったんですけど。
JavaのAspectJのサンプルは分かったのに(T_T)
0359デフォルトの名無しさんNGNG
漏れもレス見て調べてみたがサパーリわからん。
0360デフォルトの名無しさんNGNG
[WebMethod]と[DllImport("hoge.dll")]くらいは
決まりごとのように使ってるが、
そもそもちゃんと理解してないし、
それ以外の活用の仕方もよくわからん。
0361デフォルトの名無しさんNGNG
「C#実践プログラミング」 (本体3,400円+税)11月5日(月)発売
http://direct.ips.co.jp/directsys/go_x_TempChoice.cfm?sh_id=EE0040&spm_id=1&GM_ID=1574
目次
http://direct.ips.co.jp//book/Template/Goods/bt_contents.cfm?GM_ID=1574&SPM_ID=1

この本はどうですか? これの原著って何でしょうか?
0362デフォルトの名無しさんNGNG
自分で調べちゃいました。原著は
「C# Programming with Public Beta」
http://www.wrox.com/Books/Book_Details.asp?sub_section=1&isbn=1861004877&subject=C%2B%2B%2FVC%2B%2B%2FC%23&subject_id=3

Beta1みたいだけど、もちろん訳では手直しされているんですよね。
0363デフォルトの名無しさんNGNG
Attributeほんまわかんないや。
named parameter?positional parameter?
(´-`).。oO なんなんだろ・・・・?
0364デフォルトの名無しさんNGNG
現時点でのリファレンス的本でいいものってどれだろう?
0365デフォルトの名無しさんNGNG
>>363
前スレに解説があるよ。
http://pc.2ch.net/test/read.cgi/tech/977112364/304-311
0366名無しさん♯NGNG
>>358のサンプル、C#で書いてみたよん。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=12
 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=13

Context Attributeってもう少しお手軽にならないかしら...。
0367名無しさん♯NGNG
Custom Attributeのサンプルも作ってみたよん。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=14
0368名無しさん♯NGNG
>>361-362
そっちの本だったんだ...。
漏れは『Professional C#』の訳本が出ると思ってた。

 http://www.dotnetbooks.com/listings/bookdetails.asp?isbn=1861004990

>>364
C#言語仕様書。(藁

 http://store.nikkeibp.co.jp/item/main/148910024410.html
0369デフォルトの名無しさんNGNG
>>366
>>367
すごい。すごすぎるよ。
0370デフォルトの名無しさんNGNG
川俣のおっさんはAttributeをどう説明するのだろうか?
0371デフォルトの名無しさん NGNG
ILコードを出力するコンパイラオプション、誰がご存知ないですか?

>>370
もうatmarkitのあの連載を読むのは辞めなって。
というか、もうつまらんから名前さないでくれ
0372名無しさん♯NGNG
>>371
コンパイルしてから、

 ildasm /out=hoge.il hoge.exe[dll]

でどうかしら。
0373デフォルトの名無しさんNGNG
>>372
どうもありがとうございます!
0374デフォルトの名無しさんNGNG
>>366 サンプル有難うございました。ContextAttributeのサンプル、私には難しい。トホホ
いまHELPとにらめっこしながらコードにコメントをつけているところですが、
HELPの該当個所に頻出する"context property"と言うのは何なんでしょう?
0375名無しさん♯NGNG
>>374
> HELPの該当個所に頻出する"context property"と言うのは何なんでしょう?

正直、漏れもよくわかってない。(藁

ヘルプの引用をすれば、

> the name-value pair of the property name and the object
> representing the property of a context

とか

> The properties that make up the context

としか書いてない。

じゃあ、contextって何?っていうのを見てみると、

> A context is an ordered sequence of properties that define an environment
> for the objects resident inside it. Contexts get created during
> the activation process for objects that are configured to require
> certain automatic services such synchronization, transactions,
> just-in-time activation, security, and so on.

という感じ。やっぱりよくわかんないや。(藁
0376デフォルトの名無しさんNGNG
>>366 名無しさん#さんサンプルありがとう〜。
ん〜しかしサンプル見てみると複雑怪奇ですね。本当にアスペクト指向のために
Attributeって用意されてるのか疑問になっちゃいます。。
JAVAのアレみたいにお手軽じゃないし。
0377デフォルトの名無しさんNGNG
ASP.NETでaspx書いてたんですけど
何故か.aspが実行されなくなりました。<拡張子.aspxにすると実行される
スレ違いかもしれませんが、どなたか分かる方いたら教えてー
確かちょっと前は.asp使えてたような気もするんですが(汗。
0378デフォルトの名無しさんNGNG
>>377
俺のところでは普通に使えてるぞ。
どんなエラー画面が出てきてる?
0379377NGNG
ページが見つかりません
検索中のページは、削除された、名前が変更された、または現在利用できない可能性があります。

なんですけど、aspxでやるとふつーに実行できるんです(謎
0380デフォルトの名無しさんNGNG
開発したプログラムを、別のPCでも開発できるようにしたいのですが、
どのようにしてプロジェクトを移せばよいのでしょうか?
0381デフォルトの名無しさんNGNG
>>380
プロジェクト一式をコピーじゃだめ?
0382デフォルトの名無しさんNGNG
>>380
フォルダごとコピーって、そういう意味じゃない?
開発者が一人なら、ネットワーク共有。
複数人ならバージョン管理ツール使う。
0383_NGNG
質問なんですけど、
byte[]をstringに変換するにはどうすればいいのでしょう。
バイナリとS-JISのテキストの混在したファイルを読み込むため、
BinaryReader.ReadBytes(int)を使っているのですが、
テキスト⇔バイナリの変換がC++のように容易にはできないようで、
苦労しています。
やはり、StreamReader.Read()などを使わないと駄目なのでしょうか。
ご存知の方、お願いします。
0384デフォルトの名無しさんNGNG
>>383
System.Text.Encoding
0385デフォルトの名無しさんNGNG
>>375 レスありがとうございます。う〜 ほんとわかんないですね。
少しAttributeは保留しとこうかな。残念ですけど。有難うございました。
0386_NGNG
>>384
System.Text.Encodingは抽象クラスで使えないと出るんですが。
派生したクラスを使うのでしょうか。
もう少し詳しくお願いします。
0387デフォルトの名無しさんNGNG
教えて君か?
少しは周辺を検索すれば?
0388386NGNG
やり方が判った。
通常のコンストラクタを用いず、敢えて
Encoding encoding=Encoding.GetEncoding(932);
を使うらしい。
しかし、何故こんな厄介なことをしなければ…。
0389デフォルトの名無しさんNGNG
>>388
Encoding.GetEncoding(932).GetString(arguments);
0390デフォルトの名無しさんNGNG
あれ?インターフェイスにはプロパティって書けないんだっけ?
しかも private なメソッドとか定義できない??
0391デフォルトの名無しさんNGNG
>>390
プロパティなら
string Property
{
    get;
    set;
}
みたいに書けば良いはず。
0392デフォルトの名無しさんNGNG
#さん、某スレの255を何とかしてください。
0393名無しさん♯NGNG
>>390
インターフェイスはpublic abstract強制よん。
なので、privateとかinternalは不可。
というか、"public" とつけることすらできない。

>>392
漏れにはどうすることもできない。(藁
0394390NGNG
>>391
なるほど、そう書くんすね。できました〜。ありがとう。

> ♯さん
いつもお世話になっております :-)
abstract なのはインターフェイスなんだからあたりまえとして、
スコープは private とか使いたいって思ったりしませんかね?
こんな事思ってしまう漏れはまだまだ OOP 解っていない構造化厨ですか?
0395最近肥満気味の名無しさんNGNG
C#初心者に朗報。
こんな本どう?
http://books.softbank.co.jp/bm_detail.asp?sku=4797316365
0396デフォルトの名無しさんNGNG
>>395
なんかどの本も内容似たり寄ったりですよ…。

個人的にはC#文法よりもライブラリのリファレンス本が欲しいのですが……。
0397名無しさん♯NGNG
>>394
> スコープは private とか使いたいって思ったりしませんかね?

インターフェイスを「実装の契約」ととるか「アクセス窓口」ととるかという問題ね。

「契約」ととれば、non-publicでも「こういうメソッドを実装してね」という契約が必要なのは事実よん。
ちなみに、privateじゃなくてprotectedとかinternalね。
実際、abstract classではこういうことができるわけだし。

でも「アクセス窓口」ととれば、インターフェイス越しにクラスを利用する側にとって、
使えないメソッドが宣言されてるのも、っていうのがあるんじゃないかしら。

どちらの視点が正しいという問題じゃないので、(どちらも正しい)
C#の言語デザインとしてこういう決断を下したと納得するしかないんじゃないかしら。
0398パイプカットに失敗、50%残った状態の名無しさんNGNG
C#初心者ですが、
お勧めのC#のページありませんか?

どこのページも、
C#プログラム中級者〜上級者向けなので難しいんです。
0399名無しさん♯NGNG
なんか質問に直接答えてないような気がしてきた。(藁

> スコープは private とか使いたいって思ったりしませんかね?

protectedではよくあるよん。
そういうときは、やっぱりinterfaceをあきらめてabstract classを使うしかない。
0400デフォルトの名無しさんNGNG
>>398
C#自体初心者向け言語です あきらめましょう
0401デフォルトの名無しさんNGNG
>>400
例えそうだとしても奥が深いのは事実だと思うぞ
0402400NGNG
>>401
御意。
少なくともJavaよりは過去の資産を重んじ、かつ未来に向かって開かれている
0403デフォルトの名無しさんNGNG
>>402
そういうこと言うと某スレみたいになるからやめてくれ。
0404デフォルトの名無しさんNGNG
>>398 C#プログラム中級者〜上級者向けのページってどこだろ。気になる。
0405デフォルトの名無しさんNGNG
>>404
川俣大先生の講座
0406 NGNG
sourceforgeのC#プロジェクト
0407デフォルトの名無しさんNGNG
MSDNにバシバシコラム書いて欲しいね
0408デフォルトの名無しさんNGNG
>>407
@ITだけで十分。
0409394NGNG
> ♯さん
なるほど…考え方の違いっすか… < インターフェイスの事


ところで、 char と string の相互変換ってどうやればいいんでしょう?
string --> char はインデクサーでうまくごまかしたんですけど…もっとスマートな方法がありそうですし、
char --> string ができないんですが…。
0410デフォルトの名無しさんNGNG
>>409
char c = 'a';
string s1 = Convert.ToString(c);
string s2 = new String(c, 1);
0411409NGNG
>>410
あ、System.Convert っすか!気づかなかった;
ありがとう。
0412409NGNG
またもや質問です。
全角文字と半角文字を見分けたいんですけど、どうすればいいでしょうか?
System.Text.Encoding あたりが怪しいと思うんですけど…。
0413デフォルトの名無しさんNGNG
>>395の本購入してました。
Cマガ買ってベータ版インストールしようとしました。
自分のPCはMeがはいってました。
早く2000にして勉強したいです。
そのためあげ。
0414デフォルトの名無しさんNGNG
>>413
18MBの再頒布パッケージを入れてみたら?Meでも動くよ。
http://www.microsoft.com/japan/developer/net/dotnetsdkdown.asp
ランタイムのみなのでドキュメントとかはないけど、
コンパイラがついているので最低限の勉強はできるはず。
0415?NGNG
C#のコンパイラって売ってるの?
買いたいんだけど、、
0416名無し~3.EXENGNG
>>415
.NET Framework SDKベータ2はMSのサイトからDLできたはず。
Visual Studio.NETベータ2はMSのサイトから実費で注文、又は雑誌にDVDで付いてます。(どの雑誌か記憶が曖昧)
0417?NGNG
↑早速のレス有難う御座いました。
私はDVDドライブを持っていないので
実費でCDROMを購入しようと思います。
所で試用期間とかはありますか?
0418名無し~3.EXENGNG
試用期間とかは無かったです。(というか今使ってるので)
3150円だそうです。
http://web.msj.co.jp/shop/default.asp?
0419?NGNG
>>418
有難う御座います。
早速注文してみます。
0420デフォルトの名無しさんNGNG
>>413
>>414 の方法でドキュメントはWebで。
MSDNは重いけど。

http://msdn.microsoft.com/library/en-us/nfstart/html/sdkstart.asp
0421デフォルトの名無しさんNGNG
>>397
> C#の言語デザインとしてこういう決断を下したと納得するしかないんじゃないかしら。

えー、interfaceってのはC#よりずっと前からそういうものだったでしょ。
javaだって。C++だってinterface作るときはそうじゃん。C#が決断したんじゃ
ないのでは?C#はまわりにあわせただけだと思うけど。
0422255NGNG
>>421
やれやれ。揚げ足取りか。
0423デフォルトの名無しさんNGNG
げ、http://www.gotdotnet.com が落ちてる・・・
0424パイプカットに失敗、50%残った状態の名無しさんNGNG
C#に関して皆さんの参考にしていらっしゃるページなんかを
教えていただけたらいいのですが。
0425デフォルトの名無しさんNGNG
ひとつうえのやつ

んなことよりパイプカットってやっぱいたいのか?
0426413NGNG
>>414
DLしてインストールしたんですけど、
コンパイル方法がわかりません。
宜しければ教えてください。
0427名無しさん♯NGNG
>>412
半角カタカナの判別が問題ね。
これは自前でロジックを組むしかなさそう。

>>421
> えー、interfaceってのはC#よりずっと前からそういうものだったでしょ。

もちろん。
でもね、C#のインターフェイスはなぜかフィールド宣言ができないのよ。
定数のクラスフィールドでもダメ。
0428デフォルトの名無しさん NGNG
>>427
> C#のインターフェイスはなぜかフィールド宣言ができないのよ
Javaでインターフェイスを定数宣言用に使っていたへたれな
おいらはどうすればいいのやら・・・
0429デフォルトの名無しさんNGNG
>>428 enum
0430デフォルトの名無しさんNGNG
あ、そっか(w
0431421NGNG
>>428
> でもね、C#のインターフェイスはなぜかフィールド宣言ができないのよ。
> 定数のクラスフィールドでもダメ。

それがあたりまえだと思う。javaのinterfaceが間違ってるのでは。
定数って型システムの内部で利用するものでしょ。
0432255NGNG
>>431
COMのIDLでも定数がありますが何か?
0433421NGNG
意味不明。
COMのinterfaceに定数宣言はできませんが、何か?
0434255NGNG
>>433
ちっ。分かってたか。
Javaのインターフェイスで定数宣言できるのは、列挙型のない言語仕様の欠陥を
取り繕うためだということだ。
0435デフォルトの名無しさんNGNG
>>426
C:\WINNT\Microsoft.NET\Framework\v1.0.2914 にパスを通して、「csc /?」を実行。
exeを作るなら「csc 〜.cs」。
0436デフォルトの名無しさんNGNG
>>434 interface論争はもういいでしょう。C#ではinterfaceで定数宣言できないって
分かっただけでもう十分です。ありがとう。
0437255NGNG
>>436
「できない」のではなくて、「する必然性がない」。enumがあるから。
どこぞの制限だらけの言語と比較しないことだ。
0438名無しさん♯NGNG
MDAC 2.7 RTM

 http://www.microsoft.com/data/download.htm#27RTMinfo
0439デフォルトの名無しさんNGNG
255という名前の.NET信者がJavaのスレを荒らしまくっています。
このままでは.NETひいてはC#の評判が悪くなってしまいます。
何とかしてください。
0440デフォルトの名無しさんNGNG
ここはまったりしてていいねぇ

ASPっていうかサーバーサイドで遊びたいんだが
どのへんのサンプルを触るのが手っ取り早い?
0441デフォルトの名無しさんNGNG
>>416
いろんな雑誌に載っているのでは?
漏れが入手したのは「日経コンピュータ」。
でも、DVD-ROMドライブ持ってない・・・。
0442390NGNG
またまた質問なのですが…
private static const int N = 624;
って書いたらコンパイラに怒られてしまいました。
C♯ってクラスメンバな定数って書けないんですかね?
Enumがあるから?単発の定数の時代は終わりですか?
0443390NGNG
質問ばっかなのですが
コンストラクタをオーバーロードしたとき、
別のコンストラクタを呼び出すのはどうしたらいいんでしょう?
public foo(int nX)
{
...
}
public foo()
{
// ここで foo(int) を呼び出したい… this(10)とかfoo(10)とかthis.foo(10)とかやってみたけど駄目でした
}
0444名無しさん♯NGNG
>>442-443
> private static const int N = 624;

constは暗黙でstaticよん。なので、こうすればOK。

  private const int N = 624;

> コンストラクタをオーバーロードしたとき、
> 別のコンストラクタを呼び出すのはどうしたらいいんでしょう?

C++とJavaの中間という感じね。

  public foo() : this(10) {
  }
0445390NGNG
>> ♯さん
なるほど…そーゆー事ですか、やっとわかりました。ありがとうございます。
0446デフォルトの名無しさんNGNG
WinFormのDataGridを使ってデータを表示したとき、データがColumnの幅より
長かった場合、複数行にわたり表示したいのですが、方法がわかりません。
なにか良い方法はありませんか?
0447名無しさん♯NGNG
>>446
プロパティやメソッドでできるものではなさそうね。

DataGridのカスタマイズが必要だと思うけど、
関連するクラスがprivateなのが多いので無理かも。
0448デフォルトの名無しさんNGNG
初歩的な質問で大変申し訳ないのですが、同じフォルダにあるC#ソースファイルに
あるクラスを別ファイルにあるクラスから使うにはにはどうすればいいのでしょう?
0449デフォルトの名無しさんNGNG
コンパイラで/rのこと?
0450名無しさん♯NGNG
>>448
コンパイルの仕方の問題かな...?

出力ファイル(.exe,.dll)の構成をどうするかにもよるんだけど、

例1) aaa.csとbbb.csから1つのexe(hoge.exe)を作る場合

 csc /out:hoge.exe aaa.cs bbb.cs

例2) aaa.csからDLL(aaa.dll)を作って、それをbbb.csで利用する場合

 csc /r:aaa.dll bbb.cs

こんな感じよん。
0451デフォルトの名無しさんNGNG
>>450 レスありがとうございます。コンパイルの仕方大変勉強になりました。
私の意図したかった質問はもう一歩手前で(^^; 質問の仕方がまずくて申し訳ありません。
C++ならあるファイルで別ファイルをinclude "hoge.h"のようにインクルード
しますが、そのようなことをC#ではどうすればいいでしょうか?と言うことです。
usingで同じようにできないようなのですが。よろしくお願いします。
的外れな質問でしたらすいません。
0452デフォルトの名無しさんNGNG
includeする必要ないよ。Class1 c = new Class1();
でOK。usingするのは、ネームスペース使ってるときだけ。
0453デフォルトの名無しさんNGNG
>>452 レスありがとうございました。おお〜 そうなんですね。
ちょっと感動ヽ(´ー`)ノ ありがとうございました。
0454==NGNG
「Bitmap」クラスのイメージを「Graphics」クラスに渡す方法はわかるのですが、
その逆に、「Graphics」クラスのイメージを「Bitmap」クラスに渡す方法がわかりません。
どなたかお願いします。
0455デフォルトの名無しさんNGNG
>>454
BitmapのコンストラクタでBitmap(int, int, Graphics)てのがあるけど、これじゃだめ?
よく分からずに言ってるけど。
0456デフォルトの名無しさんNGNG
>>454
Graphicsはイメージを描く道具
Bitmapはイメージを描く(そして描いたイメージを保存する)画用紙
と考えてください。

Graphicsはただイメージを描くための道具なだけであって、
イメージを描いた紙じゃないので、
Graphicsには描いたイメージは保存されていません。
だからGraphicsからBitmapは構築できません。
0457デフォルトの名無しさんNGNG
.NET
って要するになんなんですか?いまいち良くわからんです。
説明してください。
0458デフォルトの名無しさんNGNG
>>457
そういう話題はこっちでやってくれ。
http://pc.2ch.net/test/read.cgi/tech/1004021441/l50
0459!457NGNG
>>458
何でだめなの?
1 には .NET 関連の話題ってあるけど。
0460デフォルトの名無しさんNGNG
>>459
宗教論争で荒れるからだ。
0461デフォルトの名無しさんNGNG
C#でオーバーロードコンストラクタから別のオーバーロードコンストラクタって呼べます?
今Javaのコードをそのまま移植してるんだけど、なんかthis( int hogo , String hoge )
って感じで呼んでるみたいなんですが。
0462デフォルトの名無しさんNGNG
>>461
こんな感じだね。

using System;
class c {
 int _x, _y;
 c(int x, int y) {
  _x = x; _y = y;
 }
 c(int x) : this(x, 999) {
 }

 public override string ToString() {
  return _x.ToString() + "," + _y.ToString();
 }

 static void Main() {
  c C1 = new c(1, 2);
  Console.WriteLine(C1);
  c C2 = new c(1);
  Console.WriteLine(C2);
 }
}
0463デフォルトの名無しさんNGNG
>>462 レスありがとうございます。よく分かりました。
また質問ばかりで申し訳ないのですが、Javaのコードでは
c(int x ){ x = 999; this( x , 999); }のように実引数を加工してから別の
オーバーロードコンストラクタを呼び出していますが、このようなことを
C#ではどうすればできるのでしょうか?
0464 ◆SharpRW. NGNG
全然関係ないけど,こんなトリップが出た(w

Reflection ネームスペース内にある Assembly や Activator クラスなどを
用いてプラグイン機能を搭載してみようと,
ttp://www.grn.mmtr.or.jp/~konekos/dot_net/fw/plug_in.html
ここを参考にして作ってみました。

ファイル構成としては
メイン実行ファイル.exe (本体)
メイン実行ファイルと同じファイル名.dll (プラグインのベースとなるインターフェイスを提供)
plugin/
  プラグイン.dll (プラグイン)
みたいな感じです。

そして,メインプログラムからプラグイン読み込もうとすると...
なんか読み込む以前の問題に,読み込みメソッドを呼び出そうとするときに
例外が発生してうまくいかない(w

3週間くらい悩んでやっと原因がわかりました。

どうやら 自分のアセンブリ名 と ベースとなる DLL のアセンブリ名 が同じ場合,
このようなエラーがエラーが発生するようです。

まさかこんなことで悩んでいる人は居ないだろうけど,参考までに。
0465デフォルトの名無しさんNGNG
>>464
> どうやら 自分のアセンブリ名 と ベースとなる DLL のアセンブリ名 が同じ場合,
> このようなエラーがエラーが発生するようです。

アセンブリ名を勘違いしているな。アセンブリ名=ファイル名ではない。
例外を見てみ。
>>>未処理の例外 : System.TypeLoadException: アセンブリ 'lib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' から型'Lib' を読み込めません。
ってなってるっしょ。この場合のアセンブリ名ってのは、
  'lib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
これなの。だからファイル名が同じとか違うとか関係ないんだよね。

DLLのほうのソースに、
  using System.Reflection;
  [assembly:AssemblyVersion("1.0.0.0"),AssemblyCulture("ja-JP")]
こんなの追加して、DLLとEXEをリコンパイルしてみ。んで、DLLは
./ja-JP/xxx.dllにおく。そうすれば、ファイルの拡張子より上が同じでも
ロードできるよ。これはアセンブリ名が変わるからだ。ファイル名は同じでもね。
0466デフォルトの名無しさんNGNG
そういやC#(or .NET)用のTestingFrameworkってないの?
0467デフォルトの名無しさんNGNG
NUnitあるよ。
0468 ◆SharpRW. NGNG
>>465
なるほど...
ファイル名とアセンブリ名が違うというのはわかっていましたが,
詳しくはわかっていませんでした(w

わかりやすい説明 & 対処方法,ありがとうございました〜
0469デフォルトの名無しさんNGNG
>>463
初期化用のメソッドを別個に設けて呼び出すしかない。
0470 ◆SharpRW. NGNG
って日本語変だな。
ファイル名とアセンブリ名が違うというのがわかっていたら >>464 みたいな
ことは書かなかったか。

実は全然わかっていなかったと言うことで,
上のことはナシにしてください(w
0471名無しさん♯NGNG
>>470
ヘルプのAssemblyNameクラス(System.Reflection)のところに
詳しい解説が載ってるよん。

 http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemReflectionAssemblyNameClassTopic.asp
0472 ◆SharpRW. NGNG
>>471 ♯大先生
ありがとうございます。
早速見てみます〜
0473デフォルトの名無しさんNGNG
>>469 やっぱりそうですよね。ありがとうございまいした。
0474デフォルトの名無しさんNGNG
CUIでなにか作成しながら勉強しようと思うんですが、
どんなのがいいですかねー?
0475デフォルトの名無しさんNGNG
IEのコンポーネントを使わずに.NET Frameworkのライブラリだけでブラウザは作れますか?(技量でなく理論的に)

今までコンポーネント使ってたんですがIEに縛られてる意識が消えずに鬱です・・
0476デフォルトの名無しさんNGNG
>>475
うーん、もはやIEのコンポーネントはテキストボックスなんかと同じ、
標準コンポーネントなんでないかなあ。
HTTPしゃべるのにイチイチsocket叩くコード書きたくないよ...
0477255NGNG
>>475
できるんじゃないかな。
でも、HotJavaのような使えないブラウザが今さら必要かい?
0478デフォルトの名無しさんNGNG
>>475
自分でHTMLのレンダリングしたら?
0479デフォルトの名無しさんNGNG
streamクラスについて聞きたいのですが、下記のようなコードで
最後の行のReadByte();でなぜか-1が帰ってきてストリームをよんでくれません。
なぜでしょう?宜しくお願いします。
const int size = 10;
byte[] bytes = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10};
int numBytes;
MemoryStream stream = new MemoryStream();
stream.Write( bytes , 0 , size );
numBytes = stream.ReadByte();
0480デフォルトの名無しさんNGNG
>>474
ファイル操作
0481デフォルトの名無しNGNG
>>474
スレッドが何個できるか試してみる。
そして結果報告
0482デフォルトの名無しさんNGNG
>>479
stream.Position = 0;
0483デフォルトの名無しさんNGNG
>>482 有難うございました。なんで気づかないんだ漏れは。逝ってきます。
0484初心者NGNG
どこかに、「C#でタブブラウザ作る」時に参考になるもの
ないですか???

全くの初心者なのですが、何か面白そうなものをつくってみたい。。。
0485デフォルトの名無しさんNGNG
単純なものならほんとに貼り付けるだけで出来ると思うが
0486デフォルトの名無しさんNGNG
ファイルから文字列を読みたいんですけど
終わりを検知する方法がよくわかりません。

ReadStremにFileStreamを与えてReadLineで読んでるんですけど、
FileStreamのLengthとPositionを比べればOkかと思ったんですけど
はじめの一行を読んだ時点でFileStreamは最後まで読んでしまっているみたいで…。
どうやったらいいでしょう?
0487255NGNG
>>486
StreamReaderのことかな?ならば、ReadLineの戻り値がnullがどうかをチェックすればいい。
0488デフォルトの名無しさんNGNG
ReadToEndじゃダメ?
0489i486SX 16MHzNGNG
>>487
あ、なんだ、そーゆー事なんすね。WSH系のやり方に慣れてるからてっきりAtEndOfStreamみたいなものがあるんだと勘違いしてました。
でも別プロパティの方が美しいのになぁ…。あとStreamReaderですね、ReadLineの事ばっかり考えてたから間違えました。

>488
あー!「最後まで読む」なのか!!こっちの方が今回の目的に合ってます。ありがとうございます。
0490デフォルトの名無しさんNGNG
まったりしていいスレですねヽ(´ー`)ノ
質問なのですが、byte型の配列の内容をString型にしたいのですが、
byte [] bytes ; bytes.ToString();とすると System.Byte[] と表示されてしまいます。
なんかうまい方法はないでしょうか?宜しくお願いします。
0491デフォルトの名無しさんNGNG
>>490 すいません。訂正です。Console.WriteLine ( bytes.ToString() );でコンソールに
System.Byte[] と表示されます。
0492デフォルトの名無しさんNGNG
>>490
System.TextのEncoding.Default.GetString(byte[])でいかがでしょうか。
0493デフォルトの名無しさんNGNG
初代スレが倉庫行きになったね。
http://piza2.2ch.net/tech/kako/977/977112364.html
0494デフォルトの名無しさんNGNG
>>492 レスありとうございます。String dataString = Encoding.Default.GetString(bytes);
とかEncoding.GetEncoding(932).GetString(bytes);などで試して見たところ
コンソールで文字化けしてしまいます。Encoding Classのヘルプを
見てみていろいろやってみましたがだめでした。
byte[] data;には1から10までの数字を順番に収めています。どうしたらいいのでしょう。
質問ばかりで申し訳ありません。宜しくお願いします
0495デフォルトの名無しさんNGNG
>>494
> byte[] data;には1から10までの数字を順番に収めています。
それをどういう文字列に変換したいの?
0496デフォルトの名無しさんNGNG
>>495 12345678910という具合に表示できたらと思っています。
0497名無しさん♯NGNG
>>496
こんな感じでどうかしら。

using System;
using System.Text;

class Test
{
  public static void Main() {
    byte[] bytes = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

    StringBuilder s = new StringBuilder();

    foreach (byte b in bytes) {
      s.Append(b);
    }

    Console.WriteLine( s.ToString() );
  }
}
0498デフォルトの名無しさんNGNG
>>497 #大先生様。できました。ありがとうございました。
StringBuilderですか。調べて見ます。
コードまで頂き感激です。ありがとうございました。

#Encodingはクラスですよね。それにメンバのDefaultはプロパティでGetStringはメソッド。
#文法的に不思議だな〜と思ってしまいました。newしたら抽象クラスだって怒られますし。
#まだまだ知らないことばかり、精進しなければ。ヽ(´ー`)ノ
0499デフォルトの名無しさんNGNG
>>498
Default プロパティは (インスタンス作成された) Encoding クラスが返ってくるので,結果的に
Encoding.Default.GetString(arguments);
と
Encoding e = Encoding.Default;
e.GetString(arguments);
は(ほぼ)等価なんだよね。

...たぶん。
0500デフォルトの名無しさんNGNG
>>498
Encoding型は抽象クラス。
Encoding.DefaultはEncoding型を返すが、その中身はEncoding型のサブクラス(こちらは抽象クラスにあらず)。
Hoge型のメンバーがHoge型を返すというのに違和感があるかもしれないけど、
staticがついてる場合はそういうことが可能。
0501デフォルトの名無しさんNGNG
>>499 なるほど、そうゆうプロパティの使い方もありなんですね。勉強になります。
有難うございました。
0502デフォルトの名無しさんNGNG
>>500 なるほど〜 奥が深いですね。勉強になります。
0503名無しさん♯NGNG
DirectX 8.1 Runtime

 http://www.microsoft.com/directx/homeuser/downloads/default.asp
0504デフォルトの名無しさんNGNG
DX8.1 Document
http://msdn.microsoft.com/library/en-us/dx8_c/directx_cpp/Intro/DX8WhatsNew.asp
0505 NGNG
情報が早い。DirectXスレでも全く話題になってないのに。。。
0506デフォルトの名無しさんNGNG
DirectX スレのヤツラは目を皿のようにして読めない英語を読んでいて
投稿どころでは無い方に一票!
0507デフォルトの名無しさんNGNG
FileSystemWatcher は Win98/ME ではサポートされないんですか?
もしそうだとしたらそれはアリなの?
MS が提供するライブラリはどこまで互換性があるの?
0508デフォルトの名無しさんNGNG
>>507
http://www.microsoft.com/japan/developer/net/SDK_Beta2_Readme.asp#framework
0509デフォルトの名無しさんNGNG
文字列型にString dText = "100"; のように10進数の数字が格納されている時に
これを16進数にしてコンソールに表示したいと思っているのです
がなかなかうまくいきません。
int i = 100; String sText = i.ToString("X");と同じことをString型で渡された
数字に対してやりたいのですが。皆様よろしくお願います。
0510デフォルトの名無しさんNGNG
>>509
string→int→stringでいいのでは。
型変換はSystem.Convertにて。
0511デフォルトの名無しさんNGNG
>>509
コンソールに表示したいだけなら、stringにわざわざ格納しなくても大丈夫だよ。

int n = 15;
Console.WriteLine("{0:x}", n);
0512デフォルトの名無しさんNGNG
>>510-511 レス有難うございました。
String s = "100";i nt i = Convert.ToInt32(s); s = i.ToString("X"); Console.WriteLine( s );
とすることで、解決しました。ありがとうございました。
0513デフォルトの名無しさんNGNG
Cのchar型とC#のchar型って同じ?range U+0000 to U+ffff
ってよくわかんないんだけど、、、
0514デフォルトの名無しさんNGNG
>>513
0〜65535。
0515デフォルトの名無しさんNGNG
>>514 じゃあC#のushortと同じrangeですね。ありがとうございました。
0516デフォルトの名無しさんNGNG
C#やろうと思うんですけど、通常アプリの場合、Java以上MFC以下になっちゃうんでしょうか?
0517デフォルトの名無しさんNGNG
>>516 性能的にはそうなる。
0518デフォルトの名無しさんNGNG
アンセーフで行こう。
0519デフォルトの名無しさんNGNG
アンセーフだと、MFCレベルになりますか?
0520デフォルトの名無しさんNGNG
>>519 ほとんどアンセーフにすればなるが、だったらVC++使え。
0521デフォルトの名無しさんNGNG
C#ってインラインアセンブラでガリガリ最適化とか出来るんでしょうか?
0522デフォルトの名無しさんNGNG
>>518
unsafeじゃなくてunmanagedでは?

>>521
無理。高度な最適化はコンパイラじゃなくてランタイム(JITer)のお仕事。
0523デフォルトの名無しさんNGNG
>>521
ILを直接書けるかはどうかは分からないけど、
メソッドをunsafeで宣言すればC言語の関数として
中身をかけるみたい。
0524デフォルトの名無しさんNGNG
C#に共用体ってありますか?
0525デフォルトの名無しさんNGNG
>>522
この文脈ではアンセーフが正しいんじゃないか?
C#でunmanagedコードは書けないし。

>>519
>>523
アンセーフについて
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=166&forum=7&11
下のほうに書いてある。アンセーフはCの関数ではない。あくまでC#。

>>524
ない。
0526デフォルトの名無しさんNGNG
>>525
> C#でunmanagedコードは書けないし。
unsafeを使ったコードはunmanagedだぞ。
0527デフォルトの名無しさんNGNG
>>526
え、そうなの?メソッドの形はmanagedになる
(イコールC#ではunmanagedコードは書けない)ものだと思ってたけど。
0528デフォルトの名無しさんNGNG
>>526
もしかしてfixedのことを言ってない?
0529526NGNG
>>528
そう。fixedとかstackallocのこと。

それと、C#キーワードのunsafeの説明でこんなことが書かれてた。
> To compile unmanaged code you must specify the /unsafe compiler option. Unmanaged code is not verifiable by the Common Language Runtime.
0530名無しさん♯NGNG
>>529
ヘルプのその部分は間違っているものだと思われ。
unsafeはあくまでmanaged contextの中にあるものよん。

 http://discuss.develop.com/archives/wa.exe?A2=ind0107D&L=DOTNET&P=R19652
 http://discuss.develop.com/archives/wa.exe?A2=ind0107D&L=DOTNET&D=0&P=29028
0531名無しさん♯NGNG
>>524
言語ではサポートされてないけど、ライブラリで似たようなことができるよん。
なので、VB.NETでもOK。

using System;
using System.Runtime.InteropServices;

[ StructLayout(LayoutKind.Explicit) ]
struct Hoge
{
  [ FieldOffset(0) ] public byte B;
  [ FieldOffset(0) ] public int N;
}

class Test
{
  public static void Main() {
    Hoge h = new Hoge();
    h.N = 257;

    Console.WriteLine(h.B);  // 1 が表示される
  }
}
0532526NGNG
>>530
> http://discuss.develop.com/archives/wa.exe?A2=ind0107D&L=DOTNET&D=0&P=29028

> Managed Code + Unmanaged Data = unsafe code. See C#.
なるほど、そういうことか。嘘書いてごめん。>>525
0533524NGNG
>>531 #さん
ありがとうございます。
ライブラリでこんなことができるなんて不思議ですね...。
0534デフォルトの名無しさんNGNG
Cで作ったサーバがchar型のデータをクライアントに投げるのですが
C#のクライントでchar型で受けても大丈夫でしょうか?
この板にchar型がCのchar型と違うっての見たので。不安です。
こうゆう場合sbyteでもらうのがいいのかな。
0535534NGNG
>>534 を訂正。板じゃなくてスレですね。2ChもC#も初心者 鬱だ。
0536デフォルトの名無しさんNGNG
>>534
送られてくるのは文字のデータ?
2バイト文字は含んでる?
0537デフォルトの名無しさんNGNG
>>536 2バイト文字含んでます。
0538デフォルトの名無しさんNGNG
すいません。高度なスレに、こんな初心者な
質問で申し訳ないんですが、Cでいうプリプロセッサは
ないんでしょうか?
#define hoge hogehoge
コンパイルしてもエラーになってしまいます。
0539デフォルトの名無しさんNGNG
>>537
ならば、byteで受け取って、System.Text.EncodingでStringに復元...だと思う。
0540デフォルトの名無しさんNGNG
>>538
マクロ的な使い方はできない。
こういう使い方だけ。

#define DEBUG
0541デフォルトの名無しさんNGNG
DirectX 8.1 の新機能
http://www.microsoft.com/japan/developer/directx/techart/WhatsNewDX81.asp
0542デフォルトの名無しさんNGNG
>>539 有難うございます。
サーバにデータをアップするときもString -> char array ->byteでいいのですか?
0543デフォルトの名無しさんNGNG
>>542
System.Text.EncodingでString -> byte[]にできるよ。
0544デフォルトの名無しさんNGNG
>>543 おお ありがとうございます。激しく感激です。
今探してたところなのですが見つからなくて。(^^;
GetBytes(string);ですね。ありがとうございました。
0545538NGNG
>>540
どうもです!
あれまー。使えないんですかー
Cで書くときとか、変更が効くようにやたら
#defineだらけだったんですが・・・・うーん困った。
0546デフォルトの名無しさん NGNG
.NETにおいてEJBコンテナのようなものは含まれているのでしょうか?
また、もしないとしたら今後マイクロソフトからそのようなものが
リリースされる予定はあるのかな?
0547デフォルトの名無しさんNGNG
結局C#は、Delphi的Javaだな。俺はVC+.NET使う。
0548デフォルトの名無しさんNGNG
>>546
System.EnterpriseServices
0549デフォルトの名無しさんNGNG
>>546
EJBコンテナのどんな機能を指していますか?それによって回答は
異なると思います。たとえば、以前別スレで言われていましたが、
CMPのような機能をサポートするのはDataSetでしょう。
0550デフォルトの名無しさんNGNG
いつのまにかMDAC2.7日本語版の正式なやつが出てたんだね。
http://www.microsoft.com/japan/developer/data/download.asp
0551デフォルトの名無しさんNGNG
タイトルバー以外の部分をドラッグ移動して、
タイトルバーでやっているようにウィンドウを移動させたいのですが、
どのようにすればいいでしょう?

なんか
this.DragDrop += new DragEventHandler ( OnDragEvent);
this.DragOver += new DragEventHandler ( OnDragEvent);
this.DragEnter += new DragEventHandler ( OnDragEvent);
this.DragLeave += new EventHandler ( OnEvent);
this.GiveFeedback += new GiveFeedbackEventHandler ( OnGiveFeedbackEvent);
ここらへんは試してみたのですが、何も引っかからないようですし…。
0552デフォルトの名無しさんNGNG
初歩的な質問ですみません。

ソースを複数のファイルに分割してコンパイルした場合、
C# では中間ファイルのようなものはあるのでしょうか?
(例えば、C でいう .obj や、Delphi の .dcu)

それとも、コンパイルするたびに、
毎回ソースから全部コンパイルするのでしょうか??
0553Shinsaku NakagawaNGNG
こんにちは。

私はSharpDevelopというGPLなC#開発環境の日本語化を行っています。

[SharpDevelop日本語版]
http://www.pluto.dti.ne.jp/~shinsaku/sharpdevelop/

ちなみに本家はこちらです。
[SharpDevelop]
http://icsharpcode.net/OpenSource/SD/default.asp

この日本語化を行う過程で、日本語の表示や入力はできるように
なったのですが、ソースエディッタ部分の日本語化対応でどうしても
わからないことがあるので、ご存知の方がいらっしゃいましたら
教えてください。

エディッタ部分はUserControlで実現しているのですが、
on the spotで入力することができず、IMEによる確定前の文字列が
変なところに表示されてしまいます。
確定してしまえば、問題なく表示できるのですが、あまりかっこいい
ものではありません。

使い勝手をよくするためにも、on the spotで入力できるように
したいのですが、どのようにIMEを制御したらよいのでしょうか?

ご存知でしたら教えてください。

SharpDevelopというフリーな開発環境を、日本語環境で使いやすい
ものにするにぜひよろしくお願いします。
0554デフォルトの名無しさんNGNG
>>552
/t:moduleでモジュールにしておいて、あとで固めるときに
al.exeを使うか、メインのソースをコンパイルするときに/addmoduleを使う。
厳密にobjと対応するわけではないけどね。
0555デフォルトの名無しさんNGNG
>>550
>>438でガイシュツ。
0556デフォルトの名無しさんNGNG
>>555 ゴメソ
0557名無しさん♯NGNG
>>551
原始的なサンプルを作ってみたよん。2パターンあるのでお好きな方をどうぞ。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=15
 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=16
0558デフォルトの名無しさんNGNG
mblenの確認にこんなものを書いてみた。
でもmblenって使い勝手が僅かに微妙。

#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char string[256];
int data1[256];
int nlen;
int mlen;
int i;
char chr[5];

void main()
{
//string[]="abcはABCです。(英文字)\0";
strcpy(string,"abcはABCです。(英文字)\0");
nlen=strlen(string);
printf("文字列:%-s ",string);
printf("strlen:%-d\r\n ",nlen);

//i=0;
for (i=0;i<nlen;i++){
mlen=mblen(&string[i],4);
if(mlen!=-1)strncpy(chr,&string[i],mlen);
else strcpy(chr,"Er\0");
printf("%-d %-s mblen?:%-d\r\n",i,chr,mlen);
if(mlen!=-1)i+=(mlen-1);
}
printf("array total:%-d",i);

return;
}
0559デフォルトの名無しさんNGNG
>>558 誤爆かな?
>>553 愛用させてもらってます。が、あれは昔のマックを彷彿とさせますね。
ウィンであんな現象初めてなんだけど。インライン入力っていわないのかなWinでは。
VSNET持ってなので分からないですが、VS.NETの人は普通に日本語入力できてるの?
0560Shinsaku NakagawaNGNG
>> 559 使ってくださってありがとうございます。VS.NETは大丈夫ですよ。
ちゃんと日本語をごく普通に入力できます。SharpDevelopはあのウィンドウに
文字を表示する際、文字列をハイライトしたりするために、自分でエディタ
部分をUserControlで実装してしまったようです。

/// <summary>
/// This class paints the textarea.
/// </summary>
public class TextAreaPainter : UserControl

それから、おまけ情報ですが、SharpDevelopではオリジナルでも
エディタのフォントを変更できません。本家で現在対応中
というとことですが、現状では日本人に少なからずつらかったので、
とりあえずソースファイルに埋め込まれた
フォントをMSゴシックの12Pに変更しましたので、それなりに
表示されて以前より幸せになっています。よろしければ使って
見て下さい。
http://www.pluto.dti.ne.jp/~shinsaku/sharpdevelop/
0561名無しさん♯NGNG
>>553
日本語化ごくろうさまです。ヾ(´ー`)ノ
いつの間にか、IntelliSenseみたいなのまで実装されてたのね。

日本語入力の確定前の文字がどうしても左上に出てしまうみたいね。
手動で表示位置を変えるサンプルを作ってみたので、よろしければ参考にしてちょ。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=17

それと、やっぱりこの辺を参考にするしかなさそうね。

 http://msdn.microsoft.com/library/en-us/intl/ime_1mat.asp

ではでは、頑張ってください。
0562デフォルトの名無しさんNGNG
>>553
英語版試してたけど、やはり日本語版がいいですね。
とりあえず、メニューなどの文字、全角カナ希望っす。
SDK使いなので期待しています。
0563Shinsaku NakagawaNGNG
>> 561
ありがとうございます。やっぱりImmGetDefaultIMEWndとか直接呼び出さないと駄目ですか(T-T)
でも、これでIMEを制御できるということが分かっただけでも助かります。これを参考に実装してみます。
ありがとうございました。

>> 562
全角カナがいいですか? オリジナルは1byteのことしか考えてくれてないから、
全角カナを使うと文字列リソースの差替えだけでは済まなくなっちゃう:)
# フォームが狭いから、レイアウトが崩れちゃう
0564562NGNG
>>563
resgen StringResources.jp.resources StringResources.jp.resx
して、StringResources.jp.resxの半角カナ→全角カナして
resgen StringResources.jp.resx StringResources.jp.resources
と戻して、install.jp.vbs(ちなみにこれ実行するとノートンの
スクリプト遮断で「警告:悪質なスクリプトを検出しました」と出ちゃう)
で半角カナ追放できました。

半角カナ大嫌いなもので。
って最初っから自分でやれよ>オレ
0565デフォルトの名無しさん NGNG
みんな落ち着け!
まだ機種依存のプログラムを書く段階じゃないだろ!!!
0566デフォルトの名無しさんNGNG
>>565
なぜか笑ってしまったww
ごめんちょ。
0567名無しさん♯NGNG
確定前文字のフォントを変えるサンプルも作ってみた。

 http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=19
0568名無しさん♯NGNG
VS.NET英語版は来年2/13で確定したみたいね。

 http://msdn.microsoft.com/vstudio/launch/
0569名無しさん♯NGNG
C#関連のリンク集

 http://www.cetus-links.org/oo_csharp.html
0570Shinsaku NakagawaNGNG
>> 553
>> 567

サンプルありがとうございます。このサンプルをもとに
SharpDevelopでIMEを制御することによりon the spotが
出来るようになりました!! これで日本語版っぽくなりました。
# ほとんど提示いただいたサンプルのとおりです。ちょこっと色つけましたが。

http://www.pluto.dti.ne.jp/~shinsaku/sharpdevelop/

に2001/11/15-2というバージョンを置いていますので、
よろしければご利用ください。

次はマウスによる文字列選択をまともにしたいと思います。バグっているんで。
# これも1byte限定の処理のところを2byte対応にしないといけないんです。

がんばりますので、これからも応援よろしくお願いします!

このたびはありがとうございました。

ps:
もちろん、.NET Frameworkのクラスライブラリだけで処理できる
方法があれば、そちらも継続して案を募集中です!
0571デフォルトの名無しさんNGNG
Graphics オブジェクトがらみがよくわからずに困っています。

GraphicsのDrawLineみたいなメソッドでいろいろと描画して、
それをフォーム上に転送したいのですが、元のGraphicsはOnPaintの引数とかCreateGraphicsメソッドでフォームに関連づいてるものしか得られな
いのでしょうか?
Bitmapには描画系メソッドがないようですし…。
このスレの上の方で誰かが説明してるのはよくわかりませんでした。
0572デフォルトの名無しさんNGNG
>>570
TextAreaMouseHandlerのOnMouseDownが怪しいけど、デバッガがないと辛いな、こりゃ。
0573Shinsaku NakagawaNGNG
>> 572
そうなんです。デバッガがないとつらいです(T-T)
それにいたるところにString.Lengthでアクセスしている
ところがあって、もう大変・・。
一応、本家には2byte文字だとつらいから、
Encoding.GetEncoding().GetByteCount()
を紹介しておきました。対応してくれるかな?

# IMEの件はしばらくこっちで暖めておきます。なかなか本家にこれはねぇ・・。
0574デフォルトの名無しさんNGNG
マルチポストごめん
VisualStudio7っていつでるの?これでたらC#はじめようと思うんだけど
0575デフォルトの名無しさんNGNG
明日発売の XP に、VS.NET β2 って入るんでしょうか?
(ともに日本語版)
0576デフォルトの名無しさんNGNG
575
「入る=インストール可能か」の意です。ゴメソ。
0577名無しさん♯NGNG
>>571
GraphicsクラスのFrom〜メソッドからも取れるよん。
ヘルプに簡単なサンプルも載ってるからチェックしてみてちょ。

>>572
>>573
build.bat内のcscのオプションに /debug+ をつければ、SDKのDbgCLR.exeが使えたよん。

>>574
英語版が来年2/13で、日本語版は未定。
0578Shinsaku NakagawaNGNG
>> 577
ん、これはよさげ♪
0579デフォルトの名無しさんNGNG
>>577 英語版て日本で買えます?日本語版は今までのデータからみていつでると思いますか?
0580デフォルトの名無しさんNGNG
>>575-576
XP は正式にサポートされてますよ。
というか,ちゃんと動いてるのでご心配なく(w
そうか,明日 XP 発売なのか...
OEM 版使っているので気づかなかったよ。
0581デフォルトの名無しさんNGNG
C#のクラスライブラリとMFCの関係を教えてください
0582デフォルトの名無しさんNGNG
>>581 嫌です
0583デフォルトの名無しさんNGNG
>>581
全く関係ありません。

以上
0584571NGNG
あぁ! FromXXX 系ってクラスメソッドだったのですね!
てっきりインスタンスのメソッドだと思い込んでいて、眼中にありませんでした。
うまくいきました。ありがとうございます。

ところでやっぱり製品版 VisualStudio が出たら、もう無料でコマンドラインコンパイラ配ったりしないんですよね?買わなきゃ駄目かなぁ?
(って言っても MSDNライブラリが Web だけだと辛すぎるのでやっぱり買うんですけど)
0585デフォルトの名無しさんNGNG
>>582
あなたに不幸が訪れますように。

>>583
あなたに幸せが訪れますように
0586デフォルトの名無しさんNGNG
なんか生ぬるいなあ
0587デフォルトの名無しさんNGNG
>>584
恒久無償配布らしいですよ
0588デフォルトの名無しさんNGNG
なに?MFC全く関係ねぇの?
勘弁してくれよ〜
0589デフォルトの名無しさんNGNG
>>581
チンコ吊って詩寝
0590名無しさん♯NGNG
>>575
XP、そういえば明日だった。すっかり忘れてた。(藁

インストールトラブルが本当に多いみたいなので、
OSからクリーンインストールした方がよさそうね。

>>579
MSDN会員なら英語版もダウンロードできるはず。
日本語版はやっぱり1ヶ月以上は遅れるんじゃないかしら。

>>584
コンパイラ(cl.exe以外)はV1 Redistにもちゃんと入ってるから大丈夫よん。
将来的には、ほとんどのWindowsマシンにC#コンパイラが入ってるかも。
0591デフォルトの名無しさんNGNG
IISが.NETになるんだからコンパイラもついてないとこまるわな
0592デフォルトの名無しさんNGNG
マイクロソフト,Visual Studio .Net 2003の概要を披露
http://www.zdnet.co.jp/enterprise/0111/15/01111502.html

もう次のバージョンの話題が。。。
0593デフォルトの名無しさんNGNG
C言語で作ったコードも当然.NETに参加できるんですよね?
0594デフォルトの名無しさんNGNG
>>593
できません。
0595575NGNG
>>580
>>590
XP の CD は今日既に到着していたのですが、
VS.NET β2 入らないとつまらないのでためらってました。
明日入れてみます、ありがとう!!
0596デフォルトの名無しさんNGNG
System.Windows.Forms.Application.Run() を使わないで、プログラムを終了させないでおくことってできますか?
プロセスとかスレッドとかのカラミでなんとかなるでしょうか?
0597デフォルトの名無しさんNGNG
>>596
C.NET
0598デフォルトの名無しさんNGNG
>>596
Form.ShowDialogとか、そういうことじゃなくて?
0599デフォルトの名無しさんNGNG
http://www.atmarkit.co.jp/fdotnet/special/jsb2_exp/jsb2_exp_01.html
さすが川俣先生。全く雰囲気のつかめないオナーニ記事ですな。
0600デフォルトの名無しさんNGNG
>>599
今まで、Javaのクラス定義でも class XXX { ... }; のように
最後にセミコロン入れてたのか…
さすが、川俣センセ
0601デフォルトの名無しさんNGNG
XP買ってきた。
0602596NGNG
>>598

System.Windows.* に依存しない方法でやりたいんです。
なんかないでしょうか?
0603デフォルトの名無しさんNGNG
>>602
Windowsサービスにすれば?
0604デフォルトの名無しさんNGNG
>>602
スレッドをグルグル回すのはどう?
つーか、どういうことをやりたいのかよく分からん。
0605596NGNG
例えば Win32API だけで作ったウィンドウだけでその先の処理をしたいんです…。

スレッドをぐるぐる回すっていうのは…?
0606デフォルトの名無しさんNGNG
メッセージループは?
0607デフォルトの名無しさんNGNG
>>605
何がやりたいのかぜんぜんわからん。C++でMFXなりWTLなりで
開発すればいいんじゃないの?

それとも、System.Diagnostics.Processと、System.Threading.WaitHandleで
起動したプロセスをただ待ちたいとか言ってるのか?
0608デフォルトの名無しさんNGNG
現行のVC++やってれば.NETのC#は簡単にマスターできる?
それとも一からやり直し?
10が仕事で使えるレベルだとしたらMFC知ってる人はどこからスタート?
0609デフォルトの名無しさんNGNG
namespace内のクラスとかインターフェイスとかを列挙していく方法ってある?
リフレクション関係にあるかなと思ったんだけどみつかんない。
0610609NGNG
あとConsole.Write()ってさ、"{0}"とかできるじゃん?
これの、Cで言うところのsprintfみたいなのってないかな?
0611609NGNG
>>608
元VB厨の漏れでも結構楽々使えるから、MFC使えてたんなら8/10くらいからスタートで、すぐにガリガリかけるようになるんじゃない?
0612デフォルトの名無しさんNGNG
MFCは関係無いから3/10くらいじゃないか?
0613デフォルトの名無しさんNGNG
MSの現行ツールに慣れてるかどうか、で結構違う。
慣れているならすぐにでもガリガリ行ける。
0614名無しさん♯NGNG
>>609
アセンブリ単位でならできなくもないよん。
Assembly.GetTypes()で型の一覧を取って、あとはType.Namespaceを元にグループ化するとか。

>>610
String.Format()でできるよん。
0615デフォルトの名無しさんNGNG
Windowsアプリケーションのことで教えてください。
メニューアイテムを選択した時、ステータスバーにその説明を表示しようとしています。
表示の方はSelectイベントでうまくいきましたが、メニューを閉じた時、
ステータスバーにその説明が残ったままになってしまいます。
これをうまく消す方法はないでしょうか。
MenuItemクラスのイベントを見た限り、メニューを閉じた時のイベントが見つかりませんでした。
よろしくお願いします。
0616デフォルトの名無しさんNGNG
>>615
Form クラスに MenuComplete イベントがあるので,それを拾えばOK。
0617615NGNG
>>616
ありがとうございます!!
Formクラスの方にあるとは盲点でした。
0618デフォルトの名無しさんNGNG
C# って累乗の演算子無いんですか?
VB で 2^3 とかやってたんで、演算子ないとすごく不便なんですけど…。
やっぱり power(2,3) の時代に逆戻りしなきゃ駄目?
むしろグローバル関数がない分もっと不便か……。

どこかで.NET言語の演算子一覧を見た気がしたのだけれどどこだったか忘れた。
0619デフォルトの名無しさんNGNG
>>618
ないっぽいですね...
Math.Pow 関数を使うしか無いのかな。
0620デフォルトの名無しさんNGNG
以前、officeXPのようなメニューにするにはどうすすべか?
と質問したものですが、結局まだできません。
SharpDevelopを日本語化されている方ならお分かりでしょうか?
教えて組んで申し訳ないのですが一例を。。
それともWinXPではこんなのはやらないでしょうか。。
0621Shinsaku NakagawaNGNG
>> 620
SharpDevelopのソースのRichMenuItem.csがとてもよく分かる
サンプルになるかと。

MenuItem.OnDrawItem()などをオーバーライドして、設定されている
スタイルに応じて自分で描画しています。
0622デフォルトの名無しさんNGNG
スレ違いを覚悟なんだけどさ、.NETについてるSQLServerの
設定ってどうやるの?なんかコマンドラインから使えるような
ツールとかってあるのかな?
0623デフォルトの名無しさんNGNG
>>622
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
0624デフォルトの名無しさんNGNG
Assembly.LoadFrom でアセンブリを読み込み,
Activator.CreateInstance でインスタンスを作成したオブジェクトを
動的に解放することはできないのでしょうか?

オブジェクトに null を代入してもアセンブリファイルが使用されたままと言われ,
ファイルの上書きができない...

やりたいこととしては,動的にアセンブリファイルを読み込んでアプリケーション起動中に
アセンブリファイルを解放し,ファイルを上書きしてまた読み込む...
という感じで,アプリケーションの再起動なしにアセンブリの上書きが行いたいのです。
0625624NGNG
> アプリケーションの再起動なしにアセンブリの上書き
アセンブリの再読込,のほうが意味が通じやすいかも...
0626デフォルトの名無しさんNGNG
>>623
ありがと。
ちなみに.NETのランタイムにはこのDBエンジンはついてるんだろうか?
ま、自分で入れてみて確かめるか。すまんね。
0627名無しさん♯NGNG
>>624
AppDomainを別に作って、そこでアセンブリを読み込ませるしかないみたい。
で、後処理はAppDomainごとUnloadというやり方。

 http://discuss.develop.com/archives/wa.exe?A2=ind0103B&L=DOTNET&D=0&P=87937
0628デフォルトの名無しさんNGNG
>>627
なるほど。
ありがとうございます。試してみます〜
0629デフォルトの名無しさんNGNG
>>621
どうもです。やって見ます
0630デフォルトの名無しさんNGNG
アセンブリってなーに?
0631デフォルトの名無しさんNGNG
>>630
アセンブリ言語
アセンブラはアセンブリ言語をマシン語にするソフト
ネタだったらマジレスすまそ
0632デフォルトの名無しさんNGNG
> アセンブラはアセンブリ言語をマシン語にするソフト
アセンブラはアセンブリをアセンブルするソフト
と言いたいところだ。
0633デフォルトの名無しさんNGNG
>>632
アセンブラはアセンブリをアセンブルするアセンブレなアセンブロ
と言いたいところだ。
0634デフォルトの名無しさんNGNG
>>630
.NETでいうところのアセンブリは、中間コードを含んだバイナリユニットのこと。
簡単に言うとDLLとEXE。
0635デフォルトの名無しさんNGNG
>>631-634 レスありがとうございます。ネタじゃなかったんですが、
コンパイルエラーでアセンブリファイルを参照してください。と
でるので、C#では別の意味があるんじゃないかと思ってたんです。
ありがとうございました。
0636デフォルトの名無しさんNGNG
質問ばかりで申し訳ないのですが、Streamクラスについての質問です
MemoryStream streamA; MemoryStream streamB ;とあった時に
streamAにstreamBの全内容を追加したいのですが、
いったんToArrayメソッドを使ってbyte[]にしてからstreamAのPositionをすすめて
Writeしないといけないんでしょうか?なんかメソッドがあるような気もするのですが、
見つかりません。よろしくお願いします。
0637デフォルトの名無しさんNGNG
StreamWriter#Write(StreamReader#ReadToEnd());
0638デフォルトの名無しさんNGNG
>>637 レスありがとうございます。それだと上書きされてしまうようです。
以下のコードではstreamAはstreamBで上書きされているようで、困っています。
byte [] hoge = { 1 , 2 , 3 , 4, 5 };
MemoryStream streamA = new MemoryStream( hoge );
MemoryStream streamB = new MemoryStream( hoge );
StreamWriter writer = new StreamWriter( streamA );
StreamA.Position = streamA.Length ;
StreamReader reader = new StreamReader( streamB );
writer.Write( reader.ReadToEnd() );
よろしくお願いします。
0639デフォルトの名無しさんNGNG
>>636
> streamAのPositionをすすめてWriteしないといけないんでしょうか?
streamAの末尾から1バイトでも書き込もうとすると、例外が出てしまう。。。

未処理の例外 : System.NotSupportedException: メモリ ストリームは展開不可能です。
0640639NGNG
streamA.Capacityを広げようとしても、同じ例外。
これはもう、Streamの作り直ししかないのかな?
0641デフォルトの名無しさんNGNG
writer.BaseStream.Seek(0, SeekOrigin.End);
でWriteでは。
0642デフォルトの名無しさんNGNG
MemoryStream streamC = new MemoryStream();
を作って、AとBを両方writer.Write( reader.ReadToEnd() );すれば?
0643デフォルトの名無しさんNGNG
ところで、どうしてバイナリデータにReaderを使ってるの?
0644デフォルトの名無しさんNGNG
>>641 >writer.BaseStream.Seek(0, SeekOrigin.End);
StreamA.Position = streamA.Length ; とどっかちがうの?
0645デフォルトの名無しさんNGNG
WindowsFormsをXPのLook&Feelにすることってできないんでしょうか?
今月出たmsdn magazineを参考にmanifestファイルを作ってみたんですが、
古いスタイルのままでした。
0646645NGNG
.manifestの内容も載せておきます。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="MyApp"
type="win32" />
<description>An application that uses the themed ctls.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>
0647645NGNG
自己レスです。
TextBoxはうまくいきました。でも、Buttonはだめです。
なんでだろう...。
0648名無しさん♯NGNG
ボタンとかはFlatStyle.Systemにしないとだめよん。

あと、devenv.exeにマニフェストを当てると、
フォームデザイナがXPの見た目で編集できるよん。

ちなみに、かちゅ〜しゃにマニフェストを当ててみたら、激しく落ちちゃった。(藁
0649デフォルトの名無しさんNGNG
>>639-640 おっしゃるとおりでした。困ったな〜以下コードです。
byte [] hoge = { 1 , 2 , 3 , 4, 5 };
MemoryStream streamA = new MemoryStream( hoge );
MemoryStream streamB = new MemoryStream( hoge );
byte [] tempB = streamB.ToArray();
streamA.Seek(0, SeekOrigin.End);
//stereamA.Positon = steramA.Length;
streamA.Write( tempB , 0 , tempB.Length );
Console.WriteLine( streamA.Length );
0650デフォルトの名無しさんNGNG
>>642 なんだか駄目ですね。以下コードです。
byte [] hoge = { 1 , 2 , 3 , 4, 5 };
MemoryStream streamA = new MemoryStream( hoge );
MemoryStream streamB = new MemoryStream( hoge );
streamA.Positon = 0 ; streamB.Position = 0;
MemoryStream temp = new MemoryStream();
StreamWriter writer = new StreamWriter( temp );
StreamReader reader = new StreamReader( streamA );
writer.Write( reader.ReadToEnd() );
reader = new StreamReader( streamB );
writer.Write( reader.ReadToEnd() );
Console.WriteLine( temp.Length );
0651デフォルトの名無しさんNGNG
>>650 Console.WriteLine( temp.Length ); //表示 : 0
です。
0652デフォルトの名無しさんNGNG
>>643 もしかしてこれが原因なのかしら。
0653名無しさん♯NGNG
>>650
こんな感じでどうかしら。

using System;
using System.IO;

class Test
{
  public static void Main() {
    byte[] hoge = new byte[] { 1, 2, 3, 4, 5 };

    using (
      MemoryStream streamA = new MemoryStream(hoge),
      streamB = new MemoryStream(hoge),
      temp = new MemoryStream()
    ) {
      byte[] b = streamA.ToArray();
      temp.Write(b, 0, b.Length);

      b = streamB.ToArray();
      temp.Write(b, 0, b.Length);

      Console.WriteLine(temp.Length);
    }
  }
}
0654645NGNG
>>648 ♯さん
バッチリです!!
ありがとうございました。
0655デフォルトの名無しさんNGNG
>>653 ありがとうございます。すべてbyte[]にして書き込むですね。
これで解決しました。レスをくださった皆様、本当にありがとうございました。

コードのusing ( ){ }用法なのですが、初めて拝見しました。
よろしければ、簡単な解説いだけないでしょうか?
忘れたけどVBのWithみたいなものかしら?
0656デフォルトの名無しさんNGNG
>>655 調べて見ましたが、using Statementの項目の用法のようですね。
HELP読んでみます。教えて君で申し訳ありませんでした。
0657デフォルトの名無しさんNGNG
>>655
おいおい、>>653って>>642じゃないか。usingにだまされてるだけじゃねーの?
Reader/Writer使おうが、直接writeしようが同じだろ。Streamなんだから。
0658645NGNG
>>657
Reader/Writerって、ふつう文字ストリームに使わない?
JAVAの話だけど。
0659デフォルトの名無しさんNGNG
>>657 さん>>650のようにやったけど駄目だったの。
いったんstramAとstramBをbyte[]にして用意したストリームにWrite( byte[] , 0 , Length );
で書き込むのが#さんのコード。
本当はstreamに別のストリームを直接追加したいのよ。
0660デフォルトの名無しさんNGNG
日本語環境に英語版J#をインストールする方法
http://www.atmarkit.co.jp/fdotnet/special/jsb3_onjp/jsb3_onjp_01.html
0661デフォルトの名無しさんNGNG
VS.NET RC3届いたそうです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=448&forum=7
0662デフォルトの名無しさんNGNG
>>645-648
XPのスタイルにするくわしい方法、教えてください。
(って俺クラシックだけど...)
0663デフォルトの名無しさんNGNG
>>662
http://pc.2ch.net/test/read.cgi/win/1006244135/82
0664デフォルトの名無しさんNGNG
>>661
削除されてる。(w
どういう内容だったの?誰が投稿したの?川俣オヤジ?
0665デフォルトの名無しさんNGNG
>>664
「シアトルからRC3が送られてきた」っていう内容で、詳細なバージョン情報が載ってた。
ただ単に自慢したかったんだろう。(w
0666デフォルトの名無しさんNGNG
>>664
本当にあの板は厨房ばっかりだな。
ここのスレの方が数万倍レベル高いよ。
0667デフォルトの名無しさんNGNG
VS.NET にマニフェストを当てて作業してイメージリスト作ると,
マニフェストを当てないアプリケーションでイメージリストの
ストリーム読み込みで例外エラーが発生しちゃいます(w
VS.NET のマニフェストを解除しようと,devenv.exe.manifest を削除すると
今度は VS.NET 上で「例外がスローされました」と出てデザインできない始末ヽ(´ー`)ノ

対処方法とかあるんでしょうかねぇ...?
見つからないのでアプリケーションを一から作り直してる(鬱
0668667NGNG
現在,マニフェストを当てた VS.NET ですべてのイメージリストを削除して,
次にマニフェストを解除した VS.NET でイメージリストを作り直すという
強引な作戦を試してみてます(w

成功するかどうかわからんけど...
0669667NGNG
3連続カキコスマソ。

あい,成功しました(w
>>668 のようにしてやれば,何とか戻りました。
アプリケーション側にマニフェストを当てるのは全く問題が無いようです。
ただ,VS.NET にマニフェストを当てると >>667 のようになるみたいで。

マニフェストの内容を書き換えることでなんとかなったりするのかしら?
0670名無しさん♯NGNG
>>667-669
ありゃ、不具合出まくりですか?ごめんちゃい。
MLに書いてあったこと、そのまま鵜呑みにしちゃったんで...。

もしかしたら、comctl32.dll以外にもバージョン指定が必要なのかも。
%windir%\WinSxSを見てみると、VC++関連のランタイムもあるので。
でも、詳細はちょっとわからないです。
0671デフォルトの名無しさんNGNG
んー、困ってます。
BitmapをGraphic.DrawImage()すると、256x256の画像が384x384(くらい)で表示されるの。
旧制VBのScaleModeみたいなものがあるのかな?
DrawImageUnscaled()は引数いじっても変わらないしぃ…謎。

というか転送元の一部を描画するようなオーバーロードが見当たらないのは気のせい?
0672デフォルトの名無しさんNGNG
>>671
> BitmapをGraphic.DrawImage()すると、256x256の画像が384x384(くらい)で表示されるの。
んー、これはソースがないと再現できない。
こちらでは、普通に描画してる限りはそんなことは起きてないよ。

> 旧制VBのScaleModeみたいなものがあるのかな?
> というか転送元の一部を描画するようなオーバーロードが見当たらないのは気のせい?
DrawImage()であるはずだよ。数が多くて迷うけど。
0673デフォルトの名無しさんNGNG
「C#」で検索すると#がワイルドカードとして認識されるのは非常に困る・・
0674 NGNG
>>673

\でエスケープとかできないかの?
0675デフォルトの名無しさんNGNG
>>673
Googleはかなり前から大丈夫になってるよ。
0676デフォルトの名無しさんNGNG
Csharp
0677デフォルトの名無しさんNGNG
質問です。
XMLのツリーをstringで取得する方法について教えてください。
XmlSerializerでクラスのインスタンスをxmlファイルに落とすことは
できたのですが、ファイルに落とさずstringのデータとして取得するためには
どうすればよろしいでしょうか?
よろしくお願いします。
0678デフォルトの名無しさんNGNG
System.IO.StringWriter
0679デフォルトの名無しさんNGNG
678さん

http://www.microsoft.com/japan/developer/articles/welcome/dsmsdn/xml04162001.asp
の「ステップ 3—XmlTextWriter を使った直列化」
みたいに使うってことでしょうか?

もうちょっと楽にクラスのインスタンスからxmlツリー文字列版を
取得できないものでしょうか?
よろしくお願いします。
0680678NGNG
何か教えてもらったらさ、そのことについてのヘルプくらい読もうよ。
using System;
using System.IO;
using System.Xml.Serialization;

public class Hoge {
public string Moge;
public string Hage;
}

class ser {
static void Main() {
Hoge hoge = new Hoge();
hoge.Moge = "MOGE";
hoge.Hage = "HAGE";
XmlSerializer xs = new XmlSerializer(typeof(Hoge));
StringWriter sw = new StringWriter();
xs.Serialize(sw, hoge);
Console.WriteLine(sw.ToString());
}
}
0681680NGNG
680さん

すみません。
System.IO.StringWriterについてhelpは見たのですが、
修正しなくても良いところまで手を入れて行き詰まっていました。
TextWriterを変更するだけでよかったのですね。
ありがとうございました。
0682デフォルトの名無しさんNGNG
TCP クライアント アプリケーションで,サーバから切断されているかどうかを
判定する方法はあるのでしょうか?
Socket の Connected プロパティを調べてみたのですが...
サーバから切断されても,ずっと True を返してきてしまいます。
Available プロパティも似たようなもの...
0683デフォルトの名無しさんNGNG
LippmanのC# Primerが出る。
http://www.dotnetbooks.com/samples/sc011_csprimer.asp
0684デフォルトの名無しさんNGNG
>>683
Stanley LippmanがC#の本を?
時代なんだねえ。
0685デフォルトの名無しさんNGNG
でも彼は今は、MSのVC++チームなんだよね。
0686名無しさん♯NGNG
>>682
Socket.Connectedでは判定できないみたいね。
ここでも同じような症状が報告されてるよん。

 http://discuss.develop.com/archives/wa.exe?A2=ind0102A&L=DOTNET&P=R42205

で、Telnet.NETの作者さんは、リフレクション経由でPoll()を呼び出して判定してるみたい。
アクセス制御を破っての呼び出しなので、かなりの苦肉の策だと思うんだけど...。

 http://discuss.develop.com/archives/wa.exe?A2=ind0106D&L=DOTNET&D=0&m=21549&P=64867

ソースも落とせるし、Telnet.NETを参考にしてみてはどうかしら。

 http://www.treasureonthenet.com/net/v2/projects.asp
0687デフォルトの名無しさんNGNG
>>686
毎度毎度お世話になっています。

ちょっと強引な手になっちゃうんですね(w
一応やり方はあると言うことがわかったので,一安心です。
0688682,687NGNG
Pool と Available を組み合わせて使用することで,無事切断判定がでけました。
よかったよかった。
遅ればせながら,♯大先生,感謝ですヽ(´▽`)ノ
0689682,687NGNG
× Pool
○ Poll
鬱だ。
0690デフォルトの名無しさんNGNG
川俣さん本人が光臨したかも
川俣 晶さんのスレッド
http://pc.2ch.net/test/read.cgi?bbs=prog&key=1004673171
下がりすぎなので、上げるついでに、、ごめんなさい!二度としません。
0691デフォルトの名無しさんNGNG
VB.NETの本が出た。
http://www.ric.co.jp/hp-staff/book/bin/bkpg.cgi?bk=414-3&ct=comp&md=pg&id=0775264689133
内容は「C#プログラミングリファレンス」のVB.NET版だね。
0692(*...* )NGNG
M$プログラミング初心者です。

日本語版のマニュアル
をフレームワーク、Studio以外から
何処からかダウソできないでしょうか?
0693デフォルトの名無しさんNGNG
>>692
本を買う
0694デフォルトの名無しさんNGNG
初歩の質問で恐縮ですが…
ダイアログで選択した画像ファイルのイメージを
ピクチャーボックスに表示するには
openFileDialog_FileOkメソッドにどういう記述をすれば良いのでしょうか?
0695名無しさん♯NGNG
>>694
大まかな流れとしては、

1. OpenFileDialogのFileNameプロパティから選択ファイル名を取り出す。
2. Image.FromFile()メソッドで画像を読み込む。(引数は1.のファイル名)
3. PictureBoxのImageプロパティに、2.で読み込んだイメージを設定する。

こんな感じね。
0696デフォルトの名無しさんNGNG
C#っていいッスねぇ〜。
直感的に組めてしまう・・・
0697694NGNG
>>695
ありがとうございます。
色々試したところできました。
0698C♭NGNG
調べてみたのですが分からないので教えて下さい。
StreamReader等で、改行を区切りとして文字列を取得する方法は
分かっているのですが(ReadLine)、
改行文字以外の、スペースやタブ等を区切りとして文字列を取得する方法が
分かりません。
現時点では、char毎に、空白文字であるかを調べながら単語を区切っているのですが
何か良い方法があれば教えて下さい。
0699デフォルトの名無しさんNGNG
>>698
ReadToEnd で全部読み込んで,string.Split(' '); とか。
タブなら string.Split('\t'); ね。
0700デフォルトの名無しさんNGNG
>>696
直感的に組めてしまう、ってのは諸刃の剣。
VBで書かれた「スパゲッティ」プログラムの多いことといったら...
0701C♭NGNG
>>699
一旦、stringにしなければならないんですね。
C++の「cin>>(char)c」のようなものがあればと思っていたのですが、
やはり、無いんですね。
ありがとうございました。
0702デフォルトの名無しさんNGNG
SDKのドキュメントみて思ったんだけど、クラスのメンバの変数とメソッドのパラメータは
小文字ではじめてて、クラスのメンバの方にはmとかついてないですよね?
NamingGuidelineをみてもそうやって書いてあるみたいだし。

だったら、どうやってこの二つを区別するんですか?
全く区別がつかないとかなり不便じゃないですか?
例えばメソッドのなかで、メンバ変数に引数を代入するとき名前の衝突に困るし。
0703デフォルトの名無しさんNGNG
むかしJavaスレで...
0704デフォルトの名無しさんNGNG
class Sample
{
int width;
void Func(int width)
{
this.width = width;
}
}
0705デフォルトの名無しさんNGNG
例外からみなんですけど、
「絶対に try-catch で囲ませるメソッド」とか
「try-catchで囲んでいない場合でもエラー終了しない例外」とかって書けないんでしょうか?
0706704じゃないけどNGNG
>>704 は>>702へのレスってことだね。>>702読んでも、意味が分からなかったが
>>704読んで意味わかった(^^; サンクス704さん(笑)
0707デフォルトの名無しさんNGNG
>>705
両方とも無理なはず。
0708705NGNG
>>707
そうなんですね…ありがとうございます。

ちょっとC#というより例外の仕組みのある言語全般での事で質問なのですが、
たとえば あるオブジェクトが移動する Move() というメソッドを作るとして、
そのオブジェクトが移動できなかった = 関数が失敗した場合、どういう風に失敗した事を伝えたらいいかな?というのでちょっと悩んでいます。

考えてみたのは
(1) boolな戻り値で成功/失敗を返す
(2) 例外を投げる
(3) 成功/失敗をあらわすEnum値を返す
という3通りなのですが、(1) は True と False どっちが成功なのかわかりづらいし
(2)は万が一 try-catch で囲んでいないとそれだけで落ちるのが痛いなと思っています。(場合によっては Move が失敗しても呼び出し元は関係ない場合があるのでチェックの必要がない場合もあるんです)
どの方法がベストでしょうか?

あと、その気になれば Move を呼び出す側のコードで、それが失敗するかどうかチェックできない事もないのですが
事前にチェックして失敗する場合は回避すべきか、それとも例外/戻り値で判断すべきかでも微妙に悩んでいます。

昔どこかで「エラーが起きる前にチェックできる場合はチェックせよ」というのを読んだ記憶があるのですが
OOPの概念的にはやはりエラーかどうかは当事者…というか当該オブジェクトの仕事のような気がしますし…。

どうしたらよいでしょう?
0709デフォルトの名無しさんNGNG
>>708 判断ができない場合は、
戻り値で返す版と、例外を投げる版を両方作っておくのが良い
0710デフォルトの名無しさんNGNG
>>708
失敗する可能性のあるメソッドがあるなら,必然的に try-catch を置くべきではないでしょうか?
たとえばファイルの移動をしたけど失敗,だけど作業が続行されて存在しない
ファイルを開こうとする... などということになったら (+д+)マズー なのではないかな,と。

.NET Framework では,戻り値によるエラーコードより例外を投げる方法を
推奨しているので,例外を投げた方が C# 的 (.NET 的) によろしいのでは
ないのでしょうか?

個人的な意見なのであまり深く考えないでね(w
0711名無しさん♯NGNG
>>708
絶対的な回答はないんだけど、

(1)のパターンはいちばん多いと思う。SqlDataReaderのRead()なんかもこのパターンね。
(2)はちょっと厳しすぎると思う。特に、非メモリリソースが絡んだ場合、
きちんとfinallyの処理も必要になるし。
(3)はステータスが3つ以上あるなら、それなりに意味があると思う。DialogResultみたいな感じね。

事前チェックについては、Move()そのものが事前チェックになってるんじゃないかしら。
Move()してみる → trueなら値を取得 みたいな感じで。
0712710NGNG
>>711
708 じゃないですが。
なるほど,言われてみればそうですね...
結局漏れも (1) のパターン(失敗したら null を返したり),結構あるし(w
0713名無しさん♯NGNG
>>712
漏れはイテレータみたいなのを想定して書いたんだけど、
ファイルの移動みたいな場合だったらそうはいかないかも。

FileクラスのMove()なんかは(2)のパターンね。
0714デフォルトの名無しさんNGNG
J#&VisualStudioでJava入門ってあり?
C#覚えるついでにJavaも覚えちゃおうかなとか思うんだけど。
0715名無しさん♯NGNG
>>714
それは危険すぎる。(藁
ちゃんとJava2で覚えた方がいいと思うよん。
文法・API・ツールの使い方を含めての「Javaのお勉強」だから。

JDK1.1レベルなら、J#でもそこそこの互換性はあるんだけど、
やっぱり今どきJDK1.1の入門書は使わないと思われ。
0716デフォルトの名無しさんNGNG
>>708
例外は致命的なエラーにのみ使う。
(=それが発生したら通常は処理を継続できないようなエラー。)
継続可能なエラーは戻り値に頼る。

ってのがオススメですが。どうでしょう。
理由は、例外って言うものが、基本的にはプログラムのフローを中断する仕組み
だからです。
一方、エラーコードを戻り値で返すというのは、エラー後もプログラムのフロー
中に留まります。

しきい値の置き場が難しいとは思いますが、私の場合例外とエラーリザルトの区
別はこうしています。
(つまり、例にあるMove()の中でも、致命的なエラーで失敗したかどうかによっ
て両方組み合わせて使う、ということです。)
どちらかのみ、という考え方にするとむしろ悩みますよね。
0717708NGNG
皆さんの意見が聞けて参考になります。ありがとうございます。

あのあと考えたのですが、関数の戻り値専用のクラスを作るというのもアリだなと。
そうすればメンバー名で 成功/失敗 がちゃんとわかる bool値も持てるし、
それ以外の値(データ)も返すことができるなぁと。( でも C# だと out引数とかあるんですよね、こっちを使う方がいいか…)

時にC#ではキャストを定義することってできないんでしょうか?
色々試したんですけど駄目でした。
以下失敗例
public TargetType operator();
public TargetType this();
public (TargetType) this();

同じかなと思ってC++系のキャストについて調べたんですけど、
C++でもCスタイルキャストって定義/再定義できないんですかね?
0718名無しさん♯NGNG
>>717
C#ではこんな感じよん。

  public static explicit operator CastTo(CastFrom obj) {
    return obj.〜;
  }

"explicit" の部分を "implicit" にすれば、
いちいちキャストしなくても暗黙的に変換してくれるよん。
0719717NGNG
♯さんいつもありがとうございます。

なるほど、こう書くんですね。
でも static っていう事はオーバーライドはできないんですね。
ベースクラスへのキャストは書きかえられないっと…。
0720デフォルトの名無しさんNGNG
くだらない質問ですみませんが、C#のObjectとJ#のjava.lang.Objectってどういう関係になるんですか?
J#を使える環境にないので興味までに。
0721デフォルトの名無しさんNGNG
>>716
大体同意だと思う。もっとわかりやすく(?)言えば、「DBC」だね。
例外とは、そのコードが事前条件を満たした状態で呼び出されたにも
かかわらず、事後条件を満たせない状態で終了せざるを得ないときに
投げるもの。例外にするか、エラーコードにするか悩む前に、まず
そのクラスの事前,事後条件と不変表明を考えてみるべし。
Eiffel#マンセー
0722名無しさん♯NGNG
>>720
public class Object extends System.Object

だから、equals() - Equals(),finalize() - Finalize(),toString() - ToString() とか
両方とも持ってる。(藁

>>721
「DBC」って、「Design by Contract」のこと?
漏れはぜんぜん実践してないなぁ...。
0723720NGNG
#さん、ありがとうございます。

> だから、equals() - Equals(),finalize() - Finalize(),toString() - ToString() とか
> 両方とも持ってる。(藁
うーん、やっぱりそうするしかないのでしょうね。
0724デフォルトの名無しさんNGNG
VB.NETの本がさらに1つ出る。
http://www.galliver.co.jp/book/vbnetpe/index.html
0725デフォルトの名無しさんNGNG
つかぬことをお聞きしますが、WinXP+Apatch2_0_28+C#で鯖を立てることは可能でしょうか?
CGIのテスト用に(スキルアップも兼ねて)実験してみたいのです。
0726デフォルトの名無しさんNGNG
なぜにApache!?
0727デフォルトの名無しさんNGNG
>>725
今試してみた。
cgi-bin なフォルダに exe を置けばいいみたい。
っていうか面白いね,これ(w
Console.WriteLine("Content-Type: html/text\n"); を忘れずに。
0728デフォルトの名無しさんNGNG
ついでに。
Environment.GetEnvironmentVariable("QUERY_STRING");
で引数を取得できるみたい。
0729デフォルトの名無しさんNGNG
面白いあげ
0730デフォルトの名無しさんNGNG
>>727
細かいツッコミごめん。でも知らない人が勘違いするといけないから・・
html/text じゃなくて text/html だね ъ( ^ー゚)

# あと \n よりは \n\n でもよさげな気もするけど
# これは時と場合によるかもー
0731デフォルトの名無しさんNGNG
>>730
> html/text じゃなくて text/html だね ъ( ^ー゚)
あうちっ。

> # あと \n よりは \n\n でもよさげな気もするけど
WriteLine は \r\n を最後に出力するので,\n だけで ok ですよん。
Write("〜〜\n\r\n"); と同じだと思う。
0732デフォルトの名無しさんNGNG
>>oll
C#ってどこで手に入るの?
開発環境は?
0733デフォルトの名無しさんNGNG
古式!!!!
0734デフォルトの名無しさんNGNG
>>732
http://www.go-mono.com/
0735デフォルトの名無しさんNGNG
>>731
> > # あと \n よりは \n\n でもよさげな気もするけど
> WriteLine は \r\n を最後に出力するので,\n だけで ok ですよん。

ォゥマイガッ!! まじっすか
知らない人が勘違いしてたー
コード書き直さなきゃ ヽ(´ー`)ノ ウツダ イコウカナ
0736デフォルトの名無しさんNGNG
ApacheといえばActive Perlの出番だけど、PerlNETも使ってる人っている?
0737デフォルトの名無しさんNGNG
>>736
最新ベータはRCじゃないと動かない。
鬱だ...。
0738デフォルトの名無しさんNGNG
news://msnews.microsoft.com/microsoft.public.objectspaces/

ObjectSpaces Technology Preview bits available

...
Please note that this Technology Preview of the framework runs against the
PDC version of Visual Studio .NET.
0739デフォルトの名無しさんNGNG
.NETでCGIというのも面白いね。
正規表現は使えるし、String.Formatもあるし。
0740デフォルトの名無しさんNGNG
マルチスレッド環境において、C# の Singleton は、インスタンス生成メソッドを lock (だっけ)メソッドにしておく必要がありますか?
もしくは static なインスタンス保持変数に = new Singleton(); だけでも OK ですか?
0741名無しさん♯NGNG
>>740
> インスタンス生成メソッドを lock (だっけ)メソッドにしておく必要がありますか?

もちろんあるよん。このへんはJavaと同じね。

> もしくは static なインスタンス保持変数に = new Singleton(); だけでも OK ですか?

クラスにbeforefieldinitがついてればおそらくOK。

それでも不安な場合は、staticコンストラクタに [ MethodImpl(MethodImplOptions.Synchronized) ]
をつけておくのも手。

このへんの議論はMonoのMLでもされてるので参考にしてちょ。

 http://lists.ximian.com/archives/public/mono-list/2001-October/001771.html
0742デフォルトの名無しさんNGNG
.NET Frameworkを使ってXMLをやるサンプルとかどっかにありませんか。日本語で。
0743740NGNG
♯さんありがとう。
色々方法があるんですね。

で、コンストラクタと初期化子に関する基本的な質問なのですが、
メンバーに初期化子をつけないで、ディフォルトコンストラクタ以外で初期化すると、null で上書きされるようなのですが、初期化の順番を指定する方法は無いでしょうか?
そのフィールドはディフォルトコンストラクタが呼ばれたときは null でいいんだけど、オーバーライドしたコンストラクタが呼ばれたときだけ初期化したいんです。
0744743NGNG
読み返して気づきました。
ディフォルトコンストラクタで明示的に null 代入すればいいんだ。失礼しました。
0745744NGNG
そうじゃなかったらしい…。
やっぱり null になっちゃった…何故?
0746745NGNG
書き間違いだった…。コンストラクタ内で同名の変数宣言してた…
宇都田 篠夫…
0747デフォルトの名無しさんNGNG
>>742
「XMLをやる」って日本語はちょっとどうかと思うが・・・。

C#相談室の初代スレのほうでXMLを使ったプログラムのサンプルいくつか出てたと思われ。
あとはGoogleで System.XML C# とかそういうキーワードで検索して見れ。
0748デフォルトの名無しさんNGNG
panel にコントロールを追加するにはどうすればいいんでしょうか?
0749デフォルトの名無しさんNGNG
>>748
panel.Controls.Add()
panel.Controls.AddRange()
0750748NGNG
>>749
あ、フォームと同じか、ありがとーう。

追加質問ですが、
二つ並んでる PictureBox があって、それぞれ MouseMove イベントを処理してるんですが、片方のボックス上でクリックしながらもう片方に移動すると、元の方の MouseMove が発生しつづけるだけでなく、新しく移動した方の MouseMove が発生しません。
どうにかして元の MouseMove を切って、現在の方の MouseMove を発生させる方法はないでしょうか?
0751デフォルトの名無しさんNGNG
>>750
あんまりGUIプログラム試したことないから自信ないけど、
ドラッグ&ドロップがらみのイベントを処理しなきゃいいんじゃないかな。
DragEnter, DragLeave, DragOver, DragDrop あたりを調べれ。
0752750NGNG
>>751
あ、なるほどー、そう言えばこれはドラッグ&ドロップ時の動きですねー。
するどいなー、ありがとうございます。

何気に軽量コンポーネント化でごまかしてる最中なんですが、
ディフォルトの Paint イベントを無効にする方法ってないでしょうか?
Panel なんですけど、Paint イベント時に Bitmap を DrawImage してるんですが、どうも背景色で塗りつぶしが入るらしく、異様にちらつくんです。
0753デフォルトの名無しさんNGNG
>>752
サブクラス化して,OnPaint をオーバーライドしてなにも呼び出さないとか。
動くかどうかは知らない。
0754デフォルトの名無しさんNGNG
>>752
SetStyle
0755752NGNG
>>753
オーバーライドした OnPaint 内で処理してみましたが、元と同じでした。

>>754
というのは何のメソッドですか?

で、実は解決したのですが、継承元を Panel から PictureBox に変えただけで全てがうまくいきました。
0756753NGNG
>>755
ありゃ,同じでしたか... ごめんなさい。
0757デフォルトの名無しさんNGNG
Visual C#.Net β2使ってForm1からForm2を呼び出す方法が分かりません。
Application.Run(new Form2());ではダメみたいです。

Application.RunDialogかForm.ShowDialogを使えと言われるのですけど、
Application.RunDialogはアクセスできない保護レベルと言われるし、
System.Windows.Forms.Form.にはShowDialogが無いみたいです。

要はvbでのForm2.Show vbModalと同じ様な事をしたいのです。
0758デフォルトの名無しさんNGNG
C#がJavaより優れてる点ってなんすか?
0759デフォルトの名無しさんNGNG
>>757
Form2 form = new Form2();
form.Show();
です。
作ったフォームはクラスなので,インスタンスを作成するべし。
0760デフォルトの名無しさんNGNG
あ,モーダルなら
form.ShowDialog();
かな。
Form2 のボタンの DialogResult プロパティに値を入れておけば,
ShowDialog の戻り値にその値が入ります。
0761デフォルトの名無しさんNGNG
>>759 >>760
ダイアログを表示する事ができました。ありがとうございます。
今更知ったのですけど、(new Form2).ShowDialog();でも良いみたいでした。
0762デフォルトの名無しさんNGNG
>>761
(new Form2()).ShowDialog();の間違い。
0763デフォルトの名無しさんNGNG
>>758
バックについてるのが 惨 じゃなくて M$。
0764755NGNG
>>753
いえいえ、いろいろ試してみるのも勉強になりますので、ありがとうございました。

>>758
実績以外の全てだゴラァ!! とか言うとまた宗教戦争になるのかな?
0765デフォルトの名無しさんNGNG
Rubyマンセー!!




                    とか言ってみる。
0766デフォルトの名無しさんNGNG
>>758
ttp://www.25hoursaday.com/CsharpVsJava.html
0767デフォルトの名無しさんNGNG
>>765
Rubyにはインデクサやアトリビュートが無いね。(プ
0768デフォルトの名無しさんNGNG
http://discuss.develop.com/archives/wa.exe?A2=ind0111d&L=dotnet&D=0&P=18019
0769デフォルトの名無しさんNGNG
>>768
ワラタ
0770デフォルトの名無しさんNGNG
VS.NETでC#使うとき、皆さんどうやってメソッドを追加してますか?
手書きと、クラスビューからメソッドの追加と、ハンドラの自動追加のほか
何か便利な方法ありますか?
というか、どうするのがVS.NETの流儀に従ったメソッド追加法なのでしょうか?
0771デフォルトの名無しさんNGNG
>>770
私は通常メソッドは手書き、イベントハンドラはプロパティウィンドウのイベントの所から追加しますね。
なんでメソッドの追加方法が気になったのでしょう?なんか不便な点とかありましたか?

私は旧VB厨だったので、はじめのうちはテキストエディタの上の方の右側の部分のハンドラ選ぶ部分で、まだ作ってないハンドラが選べないのが辛かったです。
ま、複数イベント単一ハンドラの為には仕方がないんでしょうけど。
(それよりも *EventArgs にどんなメンバーがあるか覚えなければいけない方が辛いですね)
0772デフォルトの名無しさんNGNG
質問です。
ファイルへの出力を「FileStream」と「BinaryWriter」を使って行っているのですが、
最後まで書き込むことができません。
作成するファイルのサイズは数MB程度です。
コンソールのみで行うと上手く行くのですが、GUIを使うプログラムでは
失敗してしまいます。
一応、try{}で囲んではあるのですが、例外処理は行われません。
上の現象について、何か分かる方、教えて下さい。
0773デフォルトの名無しさんNGNG
>>772
最後にFlush()ではどう?
0774デフォルトの名無しさんNGNG
>>772

using(FileStream fstream = new FileStream("File Name")
{
// ファイルへの書き込み
}
// using ブロックを抜けたときにファイルにフラッシュされる。
0775デフォルトの名無しさんNGNG
正確には、usingステートメントはこう展開される。
FileStream fstream;
try {
 fstream = new FileStream("File Name");
 ...
} finally {
 ((IDisposable)fstream).Dispose();
}
で、Disposeメソッドの中でFlushが呼ばれる。
0776デフォルトの名無しさんNGNG
AxSHDocVw.dllを作ろうと思って
aximp C:\WINDOWS\system32\SHDocVw.dll を実行したのですが、
「AxImp Error: 出力ファイルC:\WINDOWS\system32\SHDocVw.dllへの書き込みエラーです。」と表示されて失敗します。

何か特別な設定が必要なのでしょうか;;WindowsXPproとSDKベータ2です。
0777デフォルトの名無しさんNGNG
>>776
C:\WINDOWS\system32で実行してない?
0778776NGNG
一度cdコマンドで C:\WINDOWS\system32に移動してから実行してみました。
C:\WINDOWS\system32>aximp SHDocVw.dll

それでも出来なかったのでSHDocVw自体を他の場所(デスクトップ、マイドキュメント)にコピーして試したのですが、
やはり同じエラーが発生しました・・。
0779デフォルトの名無しさんNGNG
>>778
C:\WINDOWS\system32以外の場所からフルパス指定
aximp C:\WINDOWS\system32\shdocvw.dll
でどう?
0780776NGNG
ご指示のとおり、C:\Documents and Settings\hogeから実行したらAxSHDocVwが出来ました。
場所だけで全く変わってしまうんですね。
勉強になりました。どうもありがとうございました。(_ _)
0781772NGNG
>>773
>>774
>>775
Flush()とusing(...){}の双方を試しましたが上手く行きました。
ありがとうございました。
ファイルへの出力は、デストラクタが呼び出される際、
バッファの内容が自動的にフラッシュされるものと思っていたので、
敢えてFlush()と明示しなければならないのは予想外でした。
なんか不便なような…。
0782775NGNG
>>781
>敢えてFlush()と明示しなければならないのは予想外でした。
あえてFlush()はしなくてもいい。だが、Dispose、またはCloseは
しなきゃだめ。これを.NET FrameworkのDisposableパターンという。
CloseはDisposeを呼び、DisposeはFlushを呼んでいる。
0783デフォルトの名無しさんNGNG
ある特定の画像だけ Graphics.FromImage() をすると OutOfMemoryException が投げられてくるんですけど何故でしょう?
4755 バイトの透過GIF なんですけど…
これよりずっと大きな画像でも出ない状況でこれだけ……。

って Graphics を作るとき、α値のある画像って何らかのリソースを大量に消耗するのかなぁ?
0784デフォルトの名無しさんNGNG
>>781

GCを持ってる言語では、オブジェクトが破棄されるタイミングは分からないからデストラクタには頼れない。

C#では構文的にはデストラクタを定義できるけど、実際にできるものは
C++のデストラクタよりも、Javaのファイナライザに近いものだと思ったほうがいい。
(というか、デストラクタは内部的には Finalize() メソッド扱いされる。)

で、ファイナライザの起動までリソースを開放しないのは勿体無いし、
大体、ファイナライザは呼ばれる保証がない(プログラム終了時にはファイナライザは呼ばれない)から、
Disposable パターンを使わないといけない。

>>782
CloseがDisposeを呼んでるんじゃなくて、DisposeがCloseを呼んでるんじゃないか?
0785デフォルトの名無しさんNGNG
>>783
そもそもGIFは無圧縮GIFしか読めないとかそういう制限ってなかったっけ?
Uni$ysのせいで。

透過PNGに変えてみれ。
0786デフォルトの名無しさんNGNG
>透過PNGに変えてみれ。
これもAppleが特許握ってなかったっけ?
0787775NGNG
>>784
うーん、確かに。FileStream#Closeは、内部でFileStream#Dispose(bool)を
呼んでいる。が、Stream#Closeは何もしてなくて、Stream#DisposeはStream#Closeを
呼んでるな。うーん。でもStream.Disposeは結局何もしないから、やっぱ内容としては
CloseがDisposeを呼ぶで正しいんじゃないか?わからん(w
0788784NGNG
>>787
おおっ、Dispose(bool)なんてもんがあったのか・・・。
でも、それって IDisposable インターフェースの Dispose じゃないし、
Dispose が Close を呼ぶってののほうが正しいと思われ。

Dispose() → Close() → Dispose(bool)

の順で呼ばれる。
Close()は仮想関数のだから、
Stream#Dispose から呼ばれるのは結局 FileStream#Cloes になってるはず。

で、実際リソースの開放を行ってるのは Dispose(bool) なんだけど、
この Dispose(bool) は protected だから直には呼べない。
0789デフォルトの名無しさんNGNG
>>771
どうもありがとう。これですっきり手書きできます。

どうして気になったのかというと、
ほとんど手書きVC++厨でしたので、
はて、ぷろぱてぃーとは何ぞ?というような状態でして、
VBライクな開発環境では、皮は環境が作ってくれるので、
きっと便利なメソッド追加方法があるのでしょう。
と思った次第でありまする。
0790787NGNG
>>788
そうでした。ようやくわかった。

ちなみに、Dispose(bool)は、Finalizeから呼ばれたのか(Dispose(false))、
Disposeが呼ばれたのか(Dispose(true))判別するためにあるみたい。
0791デフォルトの名無しさんNGNG
GC には イベントとかデリゲイトとかないみたいなんですけど、
GC が行われた事を感知する方法ってないでしょうか?
0792デフォルトの名無しさんNGNG
>>791
プロファイラ...
ttp://msdn.microsoft.com/msdnmag/issues/01/12/Hood/Hood0112.asp
ttp://msdn.microsoft.com/msdnmag/issues/01/11/NetProf/NetProf.asp

または、WeakReferenceなんてどう?
using System;
using System.Threading;

class c {
 static void Main() {
  object o = new object();
 
  WeakReference wr = new WeakReference(o);
 
  Thread t = new Thread(new ThreadStart(Week));
 
  t.Start();

  o = null;

  while (wr.Target != null) {
   Thread.Sleep(500);
   Console.Write(".");
  }
  Console.WriteLine("\r\nGCed.");
 }

 static void Week() {
  Console.WriteLine("Now, GC.");
  Console.ReadLine();
  GC.Collect();
 }
}
0793791NGNG
>>792
情報ありがとやんす。
プロファイラ…さっぱりわからないです。
何かとっかかりになる部分ってないでしょうかね?

弱参照ですが、 Flyweight + 弱参照 & GCで要らない弱参照破棄で
完璧に効率的な Flyweight を作ろうとしたのに GC が感知できない〜〜!!
って所で質問だったので………
0794デフォルトの名無しさんNGNG
>>793
*gc-hook*
0795名無しさん♯NGNG
>>793
C:\Program Files\Microsoft.NET\FrameworkSDK\Tool Developers Guide\docsの
Profiling.docなんかはどうかしら。
0796デフォルトの名無しさんNGNG
[STAThread]について、
(1)これは何をするものなのか?
(2)ほかにも[]で囲まれる記述があるのか?
を調べたいのですが、何を調べればよいかご存じないですか?

STAThreadAttributeのヘルプは出てくるのですが、
[STAThread]がどういう関係にあるのかよくわからないのです。
0797デフォルトの名無しさんNGNG
>>796
それは Attribute って機能。

[STAThread] と [STAThreadAttribute] は同義語。

他の Attribute にどんなのがあるのか調べたかったら、System.Attribute クラスのサブクラス調べれ。
例えば、Conditional とか調べてみると Attribute に興味惹かれると思われ。
0798792NGNG
>>793
え?それならFinalizeで事足りるんじゃないの?
0799デフォルトの名無しさんNGNG
正直 struct ってどうよ?
わりとプリミティヴに近いデータを扱うにはいいかなとか思ったんだが、
インターフェイスを介して扱った途端、まるでクラスのように振舞いやがった(代入演算子が)

どういう場面が struct の使いどころだと思う?
0800800NGNG
今だ!800げっと!!
0801デフォルトの名無しさんNGNG
>>798
Finalise って、プログラム終了時に呼ばれないから、それがまずいんじゃないの?

>>799
クラスみたいに振舞ってもいいじゃん。
問題は値型か参照型かの違いなんだし。

structを使うのは、
データ構造が単純で、値渡ししたほうが効率がいいときで、
継承を使わないときでいいんじゃないか。

インターフェース解して扱うときってどうしてるんだろ。
Boxingされてるのかな?
0802デフォルトの名無しさんNGNG
もちろん。interfaceは参照型だから、Boxされる。
0803799NGNG
>>801
あぁ…そういう理由があったのか…。

つーか漏れは参照をコピーしたいんじゃなくて中身をコピーしたかったんだが
Clonable インターフェイスみたいなモノはないんだろうか?
0804デフォルトの名無しさんNGNG
>>803
ヘルプ引きなよ(;´Д`)
0805803じゃないですけどNGNG
英語サッパリなんですよね(;;´д`)
読める人が羨ましぃょぅ。
0806デフォルトの名無しさんNGNG
structは値型だから代入すれば値がコピーされるよ。
インターフェイスをコピーするなんてのは意味ないしね。
0807803NGNG
>>804
今手元にヘルプがない。 MSDN のサイトはみたけどそれらしいネームスペースなかったし。

>>806
で、struct じゃあ役不足だからクラスに戻したんだけど、
標準的なコピー方法が見つからない…
0808デフォルトの名無しさんNGNG
System.IClonable

shallow copyだけでいいなら、MemberwiseCloneを呼べばいいだけ。
0809807NGNG
>>808
なんと System 直下でしたか!!
Serializable とか奥深くにあったから Clonable もどっか固有の名前空間あるのかと思ってしまった。
ありがとーございます。
0810名無しさん♯NGNG
もうすぐね。ヽ(´ー`)ノ

 http://wininformant.com/Articles/Index.cfm?ArticleID=23397
0811デフォルトの名無しさんNGNG
こんな本が↓
ttp://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1349-2
0812デフォルトの名無しさんNGNG
>>811
「ドットネット」って、カタカナはやめれ。(w
0813デフォルトの名無しさんNGNG
VB.NET sage
ttp://www.ric.co.jp/hp-staff/book/bin/bkindex.cgi?ct=comp&bk=414-3
0814デフォルトの名無しさんNGNG
>>797
ありがとう。しらべてみるよ。
0815デフォルトの名無しさんNGNG
自動的にダブルディスパッチしたいんですけど、やっぱり無理でしょうか?

using System;

public interface IHogeHoge
{
    void Do ( IFoo Operator);
}

public class CHogeHoge : IHogeHoge
{
    public void Do( IFoo foo)
    {
        Console.Write ("あぁやっぱりこっちか…");
    }
    public void Do( CFoo foo)
    {
        Console.Write ("なんでこっちが呼ばれないの??");
    }
}

public interface IFoo
{
    void Gonyo ( IHogeHoge o);
}

public class CFoo : IFoo
{
    public void Gonyo ( IHogeHoge o)
    {
        // やっぱり o をキャストしなきゃ駄目?
        o.Do(this);
    }
}

public class Program
{
    public static void Main()
    {
        CFoo CFooInstance = new CFoo();
        CFooInstance.Gonyo( new CHogeHoge());
    }
}
0816デフォルトの名無しさんNGNG
WindowsのC(とかほかのやつも)開発ソフトってサクサク動くのでしょうか?
Linuxとかと比べて。
0817デフォルトの名無しさんNGNG
>>816
統合環境がってこと?
0818デフォルトの名無しさんNGNG
Insider .NETで紹介されてたこれ↓
http://gotdotnet.com/terrarium/

よく読んだら
Make sure you have at least the PDC build of the .NET Frameworks installed.
だってよ〜

できねーもん紹介すんなよ・・・鬱だ詩嚢
0819809NGNG
え!ICloneable (綴り間違えてた…鬱……)
って Clone() 自分で実装するの??
(MemberwiseClone() + 参照を適当に処理する? )
というか Clone の戻り値は object なの?クライアントコードでキャストしろと?
0820デフォルトの名無しさんNGNG
C#入門
第17回 処理を委譲するdelegate
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_017/csharp_abc01.html

サンプルはすべてDOS窓。
delegateが何のために導入されたのか、
どのような局面で使うと有効なのかについて
言及がないのが珠に瑕(藁
0821デフォルトの名無しさんNGNG
C#によるマルチスレッドの簡単なサンプルをキボンヌ!!
0822デフォルトの名無しさんNGNG
質問なのですが、Application.Run() にフックをかけたいんですけど、
なにか簡単な方法はありますか?
Application.Idle はメッセージが送られた場合のみしか実行されない様なのですが、
ウィンドウプロシージャのメッセージループのたびに処理したいのです。
何か方法をご存知の方いらっしゃいましたらよろしくお願いいたします。
0823デフォルトの名無しさんNGNG
>>822
メインフォームのWndProc()に処理をはさむ。
0824デフォルトの名無しさんNGNG
>>821
http://www.codeproject.com/dotnet/multithread.asp
http://www.c-sharpcorner.com/2/mt_beginner1.asp
0825822NGNG
>>823
お返事ありがとうございます。
Form を継承したフォームで、 WndProc をオーバーライドして、必要な処理 & base.WndProc() って事ですね?
なるほど〜〜です。ありがとうございました。
0826825NGNG
やってみたんですけど、イメージしてたのとちょっと違うんです。
やっぱり WndProc はメッセージが送られてこないと動かないんですよね。
それより前の段階のメッセージループ?の所で処理したいんです。
ちょっと古い Win32 の本からの引用ですが

while( GetMessage( &msg, (HWND)NULL, 0, 0))
{
TranslateMessage( &msg);
DispatchMessage( &msg);
// ここで処理したい
}

っていう感じなんですけど、何か方法はありますでしょうか??
0827名無しさん♯NGNG
>>826
Application.AddMessageFilter()でどうかしら?
0828826NGNG
♯さんお返事ありがとうございます。

AddMessageFilter を試してみました。でも私の思っている動作ではありませんでした。
ここまでやってみてはじめて気がついたのですが、
わたしが >>826 で書いた Win32 のメッセージループの API
GetMessage(), TranslateMessage(), DispatchMessage()
って、呼んだら新しいメッセージが来るまで処理を返さないんでしょうか?

だとしたら別のアプローチをしないといけないんですが…。
たとえば別のプログラムで、フォームとは関係ない処理が走っていて、
ポーリングして終了を感知したい場合
(こっちのプログラムにウィンドウメッセージが送られてこない場合でも、
その処理が終了する場合がある)
などは、このようなやり方ではできないんでしょうか?
0829デフォルトの名無しさんNGNG
そういう時はAPIならPeekMessage()とか使うのかね。
スレッド分けしたら?
0830名無しさん♯NGNG
>>828
> GetMessage(), TranslateMessage(), DispatchMessage()
> って、呼んだら新しいメッセージが来るまで処理を返さないんでしょうか?

GetMessage()は、文字通りメッセージをゲットするのを待ってるよん。(藁

> たとえば別のプログラムで、フォームとは関係ない処理が走っていて、
> ポーリングして終了を感知したい場合

フォームからワーカースレッドを立てるのなんてどうかしら?
ThreadStartをフォーム内のメソッドにすれば、閉じたりするのも簡単になるし。
0831828NGNG
お返事ありがとうございます。

>>829
いや、あくまでも Application クラスが内部で何をやっているかの話で、
本当に Windows API で処理しているわけじゃないので…。

>>♯さん
なるほど、別スレッドで処理するのですね。さっそく調べてみます。
ありがとうございました。
0832デフォルトの名無しさんNGNG
>>818
来週の.NET DevConでPDC英語版配るんじゃないかなぁ?推測だけど。
推測の根拠は、Webで配布予定って書いてある、Smart Device Extensionとか
.NET MyServices SDKって、.NET Framework PDC版以上じゃないと動かないから。
0833デフォルトの名無しさんNGNG
テキストボックス内でEnterキーだけを無効にするにはどうしたらいいんでしょうか。
0834デフォルトの名無しさんNGNG
VS.NET 上で /win32res オプションを指定することはできないのでしょうか?
xp style にするために .manifest を同じフォルダに置くのも格好悪いし,
かといって埋め込もうとするとコンパイルした後にリソースエディタ使わないといけないし...

要はコンパイルするだけで exe に manifest を埋め込みたいのですが。
0835834NGNG
ちょっと検索してみたのですが,
http://aspn.activestate.com/ASPN/Mail/Message/805889
やっぱりこういう方法になっちゃうのかな...
0836名無しさん♯NGNG
>>834
・プロジェクトのプロパティページを開く
・左側のタブで [構成プロパティ]→[デバッグ] を選ぶ
・[開始オプション] の [コマンドライン引数] を設定する

これでどうかしら?
0837834NGNG
>>836
う〜ん,これだとアプリケーションに引数を渡すだけで,
コンパイラには渡してくれないみたいです...
0838デフォルトの名無しさんNGNG
>>836
ハァ?
それはデバッグ実行するときのオプションだYO!
0839名無しさん♯NGNG
>>837
ごめんちゃい。
ボケててぜんぜん違う回答してた...。

カスタムビルドの方ね。
これは多分手作業じゃないと無理だと思われ。
0840834NGNG
>>839
ぐふっ,やっぱりそうですか...

手作業でコンパイルするのも面倒臭いので,諦めて
コンパイル→リソース弄り
することにしますです...
0841デフォルトの名無しさんNGNG
>>833
サブクラス化
0842デフォルトの名無しさんNGNG
Effective C#が出た、
ttp://www.amazon.co.jp/exec/obidos/ASIN/4894714361/ref=sr_aps_d_1_4/250-3163634-7629009
らしい。(藁)

内容はC#でもほぼ真と思われ。
0843デフォルトの名無しさんNGNG
>>842
最近ピアソン・エデュケーションの本ばっかり買ってる…。
ちょっとばかり日本語が変な事が多いのが残念。
でも英語よりは確実に読みやすいし…。

やっぱり日本製のまともなC#本が出るまでにはまだまだまたなきゃいかんのだろうか?(今出てるのって大半「言語仕様紹介/環境紹介」だよね)
はっきり言って現状C#の参考書はみんなJavaだ。
0844 NGNG
eの値を小数点以下100桁まで求めよ。
πの値を小数点以下100桁まで求めよ。

教えてください
0845デフォルトの名無しさんNGNG
>>843
RTMまではどこの出版社も大した本が出せないんじゃない?
来年4月以降にドバドバでそうな気がする。もちろん糞本もたくさん
出るだろうね。

みんな、どうやって糞本と良本を見分けてるんだろう?漏れは
筆者/訳者くらいしか術を持ってない。
0846843NGNG
>>844
まずは小数点100桁まで扱えるクラスを作る事からはじめましょう。
C#ならオペレーターオーバーロードできるのでJavaで同じ事するときより幸せ〜〜僕幸せうさぎ〜〜〜になれますYO!!

>>845
なるほど〜、よく考えたらまだVS.NET 製品版リリースされてなかったんだよね。
すっかり忘れてた。
漏れは評判の良かった本をちょっと遅れて買うことが多いからなぁ…。
あとは本の表紙、良本かどうかはわからないが、クソ本はオーラが漂ってることが多い。
0847 NGNG
C#のAPIリファレンス(C#ではnamespaceでしょうか)をオフラインで,
読みたいのですが,どこかで手に入りませんか?
クラスライブラリ無しでは1行も書けないJAVA厨なんです…
英語でもよいのでお願いします
0848デフォルトの名無しさんNGNG
>>847
SDKについてくるヘルプじゃ不満か?
0849デフォルトの名無しさんNGNG
847 じゃないけど…
>>848
MSDN 以外にヘルプなんてついてくるの??
0850デフォルトの名無しさんNGNG
[スタート]-[プログラム]-[Microsoft .NET Framework SDK]-[Documentation]
0851 NGNG
確かにありますね,これで十分です.どうして気づかなかったんだろ.
お騒がせしました〜
0852849NGNG
>>848 & 850
あーほんとだー、今まで会社だとMSDNないから辛かったんだよね〜。
ありがと〜う。
0853デフォルトの名無しさんNGNG
unsafeしてもガベージコレクタが勝手に働くんですか?
0854デフォルトの名無しさんNGNG
>>853
ちゃんと知ってるわけじゃないけど、526 で
> unsafeを使ったコードはunmanagedだぞ。
って言ってるから、 unmanaged -管理されない→GCにも引っかからない
んじゃないかなぁ?
0855デフォルトの名無しさんNGNG
標準化団体ECMAがC#とCLIを承認
http://www.zdnet.co.jp/news/0112/14/b_1213_01.html
0856デフォルトの名無しさんNGNG
>>854
526の続き読めって。
0857255NGNG
>>853
unsafe contextでもGCは起こる。
必要に応じてfixed statementを使って、GCでポインタ値が変わるのを防がなければならない。
(これをpinningともいう)
0858デフォルトの名無しさんNGNG
>>854
unsafe != unmanaged
0859デフォルトの名無しさんNGNG
最近このスレ落ち着いてるね。
隔離スレができたせいか。(w
0860名無しさん♯NGNG
>>859
正直、RTMが出るまで動くに動けない。(藁
0861デフォルトの名無しさんNGNG
ねえ、C#ユニットってのは無いの?
JUnit移植しても良さそうなんだけど車輪の再発明嫌なんだよね。
0862名無しさん♯NGNG
>>861
2種類あるよん。どっちもSourceForge。(藁

.NETUnit

 http://dotnetunit.sourceforge.net/

NUnit

 http://nunit.sourceforge.net/
0863861NGNG
>>862
ああ、.NET全体がターゲットだったか。
検索しても気づかなかったわけだ
(つーかはじめにSourceForge調べなかったのがいけないのか)
ありがとう。
0864名無しさん♯NGNG
SharpDevelop .85 が出たよん。ヽ(´ー`)ノ

 http://www.icsharpcode.net/OpenSource/SD/WhatsNew.asp
0865デフォルトの名無しさんNGNG
あーあ、速く製品版のVS.NET出ないかな〜。
そーすれば俺みたいな厨房でも理解できるような本とか出るだろうしなぁ。
期待age
0866名無しさん@もうすぐ1周年NGNG
もうすぐ1週年。皆で盛大に祝おうじゃないか!
オフ会もありかな?なんちゃってw。
0867VC厨NGNG
C#で作ったEXEって.NET Frameworkがないと動かないの?
文法自体はかなりよさげなんだけど動かないんじゃぁちょっと・・・。
0868デフォルトの名無しさん NGNG
>>867
そう、だからWindowsに当たり前のように入っている日を
心待ちにしてるんだよ。
0869VC厨NGNG
が〜〜〜ん!
やっぱりそうかぁ、残念。
しばらくは辛抱ですね。
せめてC++にプロパティをくっつけてくれるだけでハッピーなのになぁ。
0870デフォルトの名無しさんNGNG
>>869
__propertyってのがあるよ。
0871VC厨NGNG
>>870
__propertyも結局.NET Frameworkを要求するんじゃないでしょうか。
0872デフォルトの名無しさんNGNG
>>871
そうだった。スマソ。
0873通りすがりNGNG
C++Builderだったら今でも__property使えるよ
0874デフォルトの名無しさんNGNG
WindowsXP用のツールバーのビットマップ集ってどっかにない?
0875デフォルトの名無しさんNGNG
>>874
http://www.developer.perthweb.com.au/
ここの Download から GlyFX Free。
exe でセットアップ形式だけど,中身は全部 .bmp です。
0876デフォルトの名無しさんNGNG
>>875
こういうアイコンって著作権はどうなるのかな?
使うと著作権違反?
0877デフォルトの名無しさんNGNG
>>873
マジですか?それはちょっと魅力的かも。

>>875
874じゃないけどサンクス
でもCToolBar::LoadToolBarが16色にしか対応してないからちょっと面倒だなぁ。
0878デフォルトの名無しさんNGNG
http://discuss.develop.com/archives/wa.exe?A2=ind0112c&L=dotnet&F=&S=&P=2395
気になるage
0879デフォルトの名無しさんNGNG
>>871 VC++6 でも使えるんとちゃう?
__declspec( property( get=get_func_name, put=put_func_name}) ) declarator
0880デフォルトの名無しさんNGNG
>>879
すげぇ!感動した!
ぜんぜんC#の話じゃないけどありがとう!
0881名無しさん♯NGNG
AmazonにVS.NETの値段が出ちゃってるんだけど、これっていいのかなぁ...。

 http://www.amazon.com/exec/obidos/tg/sim-explorer/explore-items/-/B00005S812/0/101/1/none/session/ref=pd_sim_d_sw/104-9336229-8979135
0882名無しさん♯NGNG
>>866
明日で1周年。ヽ(´ー`)ノ
1年たっても製品が出てないね。(藁

>>878
どうなんだろう...。
やっぱり今週がヤマなのかな?
0883デフォルトの名無しさんNGNG
Microsoft .NET と J2EE テクノロジの比較
http://www.microsoft.com/japan/msdn/net/compare/default.asp

日本語になってVersion 1.5になってます。
0884832 NGNG
>>832
予想通り。ヽ(´ー`)ノ
0885デフォルトの名無しさんNGNG
>>884
RC版( ゚д゚)ホスィ…
0886デフォルトの名無しさんNGNG
一周年記念カキコ。
0887デフォルトの名無しさんNGNG
質問です。
System.Collections.CollectionBase って
継承しないで普通に List に委譲するのとどう違うのでしょう?
0888名無しさん♯NGNG
1周年。ヽ(´ー`)ノ
でも、漏れはいまだにβ2。(藁
0889デフォルトの名無しさんNGNG
今日、書店に行ったらこの本(というより雑誌)が出てました。

TRY!PC 2002年冬号
「.NETとC#によるWindowsプログラミング入門」
http://www.cqpub.co.jp/try/
0890名無しさん♯NGNG
>>887
CollectionBaseは内部でArrayListを持ってるので、
機能的にはあまり変わりはないと思われ。

ただ、CollectionBaseの方が委譲の記述の手間も省けるし、
イベントとかも持ってるので便利ね。
0891887NGNG
>>890
なるほど、イベントとかもあるんですね。
これは自力で書くよりも純粋なコレクション作るつもりなら継承した方が楽ですね。
ありがとう。
0892デフォルトの名無しさんNGNG
C#についてというよりは、英語の基礎についてなんですけど、
ここ↓
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpapndx/html/_cor_capitalization_styles.asp
に書いてある

Rarely used, prefer properties

って、「ごくまれに、プロパティより好まれる」っていう意味なんでしょうか?
なんか私、意味取り違えてるような気がしないでもないんですけど…。
0893名無しさん♯NGNG
>>890
あ、ちょっと訂正。ごめんちゃい。

> イベントとかも持ってる

delegate / eventのイベントじゃなかった。On〜メソッドの方ね。
役割的にイベントに近いということで。
0894名無しさん♯NGNG
>>892
「めったに使われない。プロパティの方が好ましい。」ということよん。

public / protectedのフィールドは他のクラスからアクセスされるから、
それだったらプロパティ経由にしてちょ、ということね。
0895 ◆K1SiC5MI NGNG
きょうのDev.Confで、RTM?ゲット。

RoomBは、おおむね当たりでした。
最後のセッションだけA行ったら、外した。時間の無駄だった。。。

みんな、逝った???
0896892NGNG
> ♯さん
あ、「プロパティの方が好ましい」なのですね。
なんでわざわざ public のフィールドなんか書いてあるんだろう?
と思ったので、変に期待訳してしまいました。

ありがとうございます。
0897あるC♯厨 ◆CSharp82 NGNG
なんか、このスレあんまり盛り上がってないね^^;
あんまりみんなまだ C# 使ってないのかな?
0898デフォルトの名無しさんNGNG
>>897
このスレはある意味、ほんとに使っている人のためのスレだからね。
擁護・アンチ・雑談は別スレで盛り上がってるし。(w

にしても、そのトップリ(・∀・)イイ!
0899デフォルトの名無しさんNGNG
>>897
スゲェトリップ!

ちなみに現在 C# を使って一味違ったチャット作成中でございます。
英語力が皆無な為,適当に説明書いて SourceForge にプロジェクト登録したらあっさり denied されたYO!(鬱)
完成したら紹介する... かも。
0900デフォルトの名無しさんNGNG
>>899
おお〜、かんばれー。
0901名無しさん♯NGNG
Mono & the .NET Framework

 http://www.ddj.com/documents/s=1818/ddj0201a/0201a.htm
0902名無しさん♯NGNG
がんばってるね。ヽ(´ー`)ノ

 http://lists.ximian.com/archives/public/mono-list/2001-December/002288.html
0903名無しさん♯NGNG
>>895
> RTM?ゲット。

RCだよね...?


>>897
トリップ(・∀・)イイ!
前に比べるとかなりマターリしてるね。RTMも近いのに。(藁


>>899
がんばって公開してちょ。ヽ(´ー`)ノ
0904あるC♯厨 ◆CSharp82 NGNG
ところでさ、みんな UML のクラス図で property ってどう書いてる?
明らかに操作なんだけど、get / set みたいなプリフィクスは無いワケで、
書き分けられないよね。
Del や VB の人達はどうやって書いてきたんだろう?

なんか方法あったら教えて欲しいな。
0905名無しさん♯NGNG
お役立ちサイト

 http://www.dotnetremoting.cc/

 http://www.xmlwebservices.cc/

 http://www.dotnetextreme.com/
0906デフォルトの名無しさんNGNG
>>904
クラス図にはプロパティのget,setとか
コンストラクタ、デストラクタは明示的に書かないよね?
書き分けなければならないようなことをするなら
別な名前にしたほうがいいんじゃない?
0907あるC♯厨 ◆CSharp82 NGNG
>>906
え、みんな重要なフィールド(クラス図用語のプロパティ)へのアクセッサメソッド書かない?

例えば Singleton だったら getInstance() とか。
あ、これを (C#の) property にしちゃうからいけないのか。
0908デフォルトの名無しさんNGNG
.NET Framework のクラスライブラリってメソッド名が大文字ではじまってるよね。
小文字マンセーな漏れは、小文字にしようかライブラリに合わせようか悩んじゃうよ。
なんか大文字から始まるのってスマートじゃないんだよねぇ。
0909デフォルトの名無しさんNGNG
MSのサイトで今提供されてるIE6用の修正モジュールなんだけど、
VS.NET入れたんでDLしたけどインストールできない・・・・・
「この修正モジュールをインストールするにはInternetExplorerが必要です」って・・・・・
板違いスマソ
0910shinsakuNGNG
> 908
Do name methods with PascalCasing as in the following examples.
だって。

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpapndx/html/_cor_class_and_class_members.asp

あくまで「ガイドライン」だけど。
0911908NGNG
>>910
はぁ・・・・
まぁ・・・慣れだね。
0912デフォルトの名無しさんNGNG
>>889の本買ってきた。
文法からライブラリまで幅広くて、なかなか読みごたえあったよ。
0913デフォルトの名無しさんNGNG
もうすぐ新スレですね...
Part2 の進行も Part1 に比べて早かったような。

>>912
面白そうなので今度買ってみますヽ(´ー`)ノ
0914デフォルトの名無しさんNGNG
>>904
C#のプロパティって、プロパティって機能を持たない言語からも呼び出せるように、
内部的には
void Setプロパティ名(型 value)
型 Getプロパティ名()
ってメソッドになってるはず。
いっそのこと、この名前でUML書いちゃうとかどうかな?
0915デフォルトの名無しさんNGNG
そういうのってさ、豆蔵のセミナーとか行くと教えてもらえるのかな?
ttp://www.mamezou.com/
0916デフォルトの名無しさんNGNG
ShellExecute API みたいなメソッドって .NET Framework には無いんでしょうか?
ありそうな気がするんですが,なかなか見つからないもんで...
0917shinsakuNGNG
> 916

こんなんでどうでしょ?
System.Diagnostics.Process.Start("notepad.exe")

こまかいことしたい場合は

using System.Diagnostics;

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "notepad.exe";
psi.Arguments = "sample.cs";
psi.WindowStyle = ProcessWindowStyle.Normal;
Process.Start(psi);

いろいろ書き方はあるみたい
0918916NGNG
>>917
excellent!! 探し求めていたのはこれです〜
ありがとうございます。ちゃんと関連づけ起動もできるみたいですね。
0919デフォルトの名無しさんNGNG
イベントハンドラの中で例外がスローされた場合はどこでキャッチすればよいの?
例えば、
private hoge(object sender, EventArgs e)
{
Convert.ToInt16("例外出る");
}
こんな感じで書いた場合...
0920デフォルトの名無しさんNGNG
>>919
ハンドラ内でtry〜catchじゃだめ?
0921919NGNG
>>920
うーん。それでもいいんだけど、ハンドラ内でおきた例外を外部にスロー
したいんだよね。
ハンドラ内でtry〜catchっつーのがやはり常套手段なのかなー。
0922名無しさん♯NGNG
>>919
Application.ThreadExceptionイベントを使えば拾えなくもないけど...。
漏れも基本的には>>920さんの意見に賛成。
0923919NGNG
>>922
ヌーン。やはり>>920さんの方法がベターなんですね。
どうも例外処理関連は不慣れで...
920さん、名無しさん#さん、どうもありがとうございました。
0924デフォルトの名無しさんNGNG
>>920-923
え?なんで?イベントを発行した側に戻ってくるんだからそれをcatchすりゃあいいのに。
0925デフォルトの名無しさんNGNG
>>924
ボタンのClickとかの場合は?
0926255 ◆.net/HAA NGNG
>>924
マルチキャストを中断させてしまうのは副作用があると思うぞ。
0927名無しさん♯NGNG
この本、なかなかよさげ。ヽ(´ー`)ノ

Professional ASP.NET Web Services

 http://www.amazon.com/exec/obidos/ASIN/1861005458/stardevelopercom/002-9497414-7995244

サンプル(Chapter 2)

 http://stardeveloper.com/articles/?id=0018
0928名無しさん♯NGNG
.NET関連の洋書、現在のところ122冊...。

 http://www.dotnetbooks.com/listings/books_all.asp
0929924NGNG
>>925
そりゃ自分のコードじゃなきゃいじれないんだから、別の方法を考えるしかないやね。

>>926
中断するかどうかは実装依存では?中断するっていう選択肢もないとは言えないでしょ。
0930デフォルトの名無しさんNGNG
>>927

-1。wroxの本は著者が増えれば増えるほど質が下がるので。編集してんのか?って感じ。
もちろんこれはまだ読んでないけどね。
0931デフォルトの名無しさんNGNG
>>909
遅レススマソ。
β版に入ってるIE6はβ版だから普通のを入れ直せばいいかも。
0932初心者もどきNGNG
>927,930

「Professional ASP.NET」は、よくまとまってる。今でも参考にします。

「Professional Web Service」は、Java系など、いくつか他の言語での実装方法とかをあっさり
紹介してあるだけで、一番知りたかったinteropに関しては全く記述無し。。。

にしても、wroxの本って、最近めっちゃくちゃtitle増えて、正直どれを買ったらいいのか
悩む。。。
0933名無しさん♯NGNG
>>932
そうなんだ...。
サンプルを見た感じではよさげに見えたんだけど...。

確かに、著者数が多すぎるから、
章によって質がバラバラで、全体にまとまりがないのかもね。
0934デフォルトの名無しさんNGNG
今すごく期待しているのはこれ。
ttp://www.amazon.com/exec/obidos/ASIN/0735614229/qid=1009009709/sr=2-2/ref=sr_2_11_2/107-1494230-2428566
著者がビッグネームだってだけで期待してるんだけどね。

この本なら日系ピーから訳本がすぐにでそうだし。でも↓コイツが訳すんだよね、きっと...
ttp://www.asahi-net.or.jp/~cj6t-tyt/
サイアクだ...。
0935デフォルトの名無しさんNGNG
>>934
相変わらずものすごい電波ぶりだ。(w
そういえばマ板に豊田スレがないね。
0936初心者もどきNGNG
>933
いや、それぞれの言語での実装をさらっとやりたいのなら、いい本かも。
確か、Phythonとか、Perlとかもあったハズ。

俺が知りたかったのは、それぞれのSOAPサーバ間のinteropだったから。

たとえば、was4.0, studioで吐いたwsdlって、そのままだとvs.netで読めないから、
2つのファイルを1つにして、更にいくつかの手直しが必要なんだけど、
そーゆー記述が全く無かったので、俺の期待には応えてくれなかったと。
0937名無しさん♯NGNG
SQLXML 3.0 Beta

 ttp://www.microsoft.com/downloads/release.asp?ReleaseID=35068&area=search&ordinal=1
0938デフォルトの名無しさんNGNG
>>937
Yukonの先出しって意味もあるんだと思うけど、SQL ServerがSOAPをしゃべると
どんなアプリが作りやすくなるんだろう?まさかSQL ServerをDMZに置いたり
しないしな、普通...。
0939デフォルトの名無しさんNGNG
>>936
xx_interface.wsdlとxx_implementation.wsdlが分かれているときに、
Web参照できないって問題は、VS.NET RCで解決したみたいね。もちろんimpleに
書いてあるURLはどこかでセットするコードを書かなきゃいけないけど。
0940デフォルトの名無しさんNGNG
テキストファイルに格納されている文字列のエンコーディングを知るにはどうしたらいいのでしょうか?
0941デフォルトの名無しさんNGNG
>>940
冷たいようだが、確実な方法はない。これは言語とかに関係ない。
分かれ目となる文字コードを必死で探すしかないね。だからテキストベースの
プロトコル(HTTPとか)にはcontent-typeだのcharsetだのの情報が必要なんだよね。
0942デフォルトの名無しさんNGNG
>>940
Perlなんかは文字コード判別らいぶらりとかあるんだけどねぇ。
残念ながら .NET には標準ではそういう機能なかったと思われ。
0943デフォルトの名無しさんNGNG
>>942
誤判定にケチつけられるのが怖いから文字コード判定機能は普通つかない。
ん?JavaにはJISAutoDetectあるな・・・
0944デフォルトの名無しさんNGNG
>>943
そのJavaのJISAutoDetectの判定精度は?
まあ、JISとShift-JISとEUCだけとかならまだ判定楽か。
0945943NGNG
>>944
941の言うようにjis/sjis/eucでも100%正しく判定するのは原理的に不可能。
実際はほとんど問題ないぐらい正しく判定してくれるけど。<JISAutoDetect

多言語になったらそりゃ全く不可能だろ。統計情報でも持ち出さないと
0946940NGNG
>>941-945
そうですか。やっぱ無理ですか・・・。943でかかれているとおり、JISAutoDetect
のようなものの存在を期待したのです。
情報ありがとうございました。
0947デフォルトの名無しさんNGNG
JISは確実に分かるだろ。
SJISとEUCも半角カナがないとか前提をおけばほぼ可能。
0948名無しさん♯NGNG
>>938
SOAPというよりは、まずはSchema対応みたいね。

Managedじゃなくても、ネイティブでDataSet,DataAdapterみたいな
抽象性を利用できる、という感じね。
0949デフォルトの名無しさんNGNG
>>948
うん?Schema対応はすでにSQLXML 2.0からやってたでしょ。3.0で新しく入ったのは
SOAPのみと理解してるけど?

> Managedじゃなくても、ネイティブでDataSet,DataAdapterみたいな
> 抽象性を利用できる、という感じね。

diffgramのこと?それもSQLXML2.0からもうあったよ。もっと言うと、updategramなら
もっと前からあったし。
0950名無しさん♯NGNG
>>949
ごめんちゃい。
漏れはRC持ってないので、3.0の機能はまだあまり詳しく見てないです。
0951名無しさん♯NGNG
そういえば、SQLXML 3.0って、MSDN Newsgroupでもほとんど話題になってない...。
向こうはもうお休みモードなのかな?
0952デフォルトの名無しさんNGNG
>>950
RCに関係するのは、Managed Providerだけだよ。OLEDBとかSQL Serverへの機能は問題なし。
>>951
そうね。MSDN Downloadからも引けないし。
develop.comのMLも流量だいぶ減ったじゃない?クリスマス休暇ってやつだね、きっと。
0953名無しさん♯NGNG
HarnessIt Unit Test Suite (Beta 2)

 ttp://www.unitedbinary.com/HarnessIt.aspx
0954名無しさん♯NGNG
>>952
> RCに関係するのは、Managed Providerだけだよ。OLEDBとかSQL Serverへの機能は問題なし。

情報サンクス。明日から休みに入るので、さっそく遊んでみます。

> develop.comのMLも流量だいぶ減ったじゃない?

あそこは平日と休日の差が激しいから。(藁
こんなときにRTMが出たらどうなることやら。(結局、今年は出ないみたいだけど...。)
0955デフォルトの名無しさんNGNG
>>954
>明日から休み

いいなあ...いつから休みなんだか?
0956名無しさん♯NGNG
新スレ立てました。

C♯相談室 Part3
http://pc.2ch.net/test/read.cgi/tech/1009473982/
0957デフォルトの名無しさんNGNG
age
レス数が950を超えています。1000を超えると書き込みができなくなります。