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

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

C♯相談室 Part22

1 :名無しさん♯:05/03/01 07:41:42

(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。


過去スレは>>2-5あたり。


関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D

2 :名無しさん♯:05/03/01 07:42:36
過去スレ
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/ (現在HTML化待ち)
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/ (現在HTML化待ち)
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/ (現在HTML化待ち)
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/ (現在HTML化待ち)
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/ (現在HTML化待ち)
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/ (現在HTML化待ち)
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/ (現在HTML化待ち)
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
Part10 http://pc5.2ch.net/tech/kako/1051/10518/1051842450.html
Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html

3 :デフォルトの名無しさん:05/03/01 08:10:41
このスレは Java 信者がのっとった

4 :デフォルトの名無しさん:05/03/01 12:14:56
         ヘ  o ,    ── /   __,   /  _,   /_/_/       __,   /
          /  \ ´   ── /        /   ─'  /    _       / 
         _/    \   __ /   ___/   ___/     /   ___/
                                     ̄ ̄ ̄
                    _ , ― 、
                  ,−'  `      ̄ヽ_
                 ,'            ヽ
                (   `ー'ー'ヽ`ー'ー'ヽ  )        
               (  ノ ''''''   '''''':::::::ヽ  )
               ( . )(●),   、(●)、.:( ) +
               ( )   ,,ノ(、_, )ヽ、,, .::::( )    <ヨン様が華麗に4get!
               . ヽ )   `-=ニ=- ' .:::::::|ノ  +
                  \  `ニニ´  .:::::/      +
               ,,.....イ.ヽヽ、ニ__ ーーノ゙-、.
               :   |  '; \_____ ノ.| ヽ i




5 :デフォルトの名無しさん:05/03/01 16:19:24
http://www.amazon.co.jp/exec/obidos/ASIN/1555583156/qid=1109661372/ref=sr_8_xs_ap_i1_xgl/250-7527971-5341830
これ無料で貰ってくれる人キボン。
希望者は[本よこせ]くらいのタイトルでメール下さい。

6 :5:05/03/01 16:19:57
先着1名で。

7 :デフォルトの名無しさん:05/03/01 20:35:44
>>5
悪書だった?
ちょっと面白そうだけど感想希望。

8 :デフォルトの名無しさん:05/03/01 22:01:08
ためしにメッセに登録してみたw


9 :デフォルトの名無しさん:05/03/01 22:06:19
1さん乙カレー

10 :デフォルトの名無しさん:05/03/01 22:15:57
C#ってMS信者以外誰も使ってないよな(藁

11 :デフォルトの名無しさん:05/03/01 22:53:43
社会に出てみればわかるよ

12 :デフォルトの名無しさん:05/03/01 23:09:02
>>10
っ[MONO]

13 :デフォルトの名無しさん:05/03/02 00:15:14
↑消しゴム

14 :デフォルトの名無しさん:05/03/02 00:24:26
FormアプリケーションでForm上のオブジェクトのちらつきを抑えたいときに
Form上でダブルバファリングするだけではうまくいかないものでしょうか

フォーム上の各コンポーネント全てでちらつきを押さえるようなコードを書かないとだめ?

ついでにWバファリングするコードってこんな感じでよいのかな?
SubForm:Form{
    Image _bitmap = new Bitmap(500, 500);
    protected override OnPaint(PaintEventArgs e){
        base.OnPaint(new PaintEventArgs(Graphics.FromImage(_bitmap), e.ClipRect);
        e.Graphics.DrawImage(_bitmap, 0, 0);
    }
}

15 :デフォルトの名無しさん:05/03/02 00:50:47
>1
もつかれ

16 :デフォルトの名無しさん:05/03/02 01:15:57
前スレでリストビューのInsertについて質問した者です。
無事、追加することができましたので御報告します。

それにしても、
ListView1.Items.Insert(
と入力した時点で()の中の1つめの引数はStringだと出ていたので、
System.Windows.Form.ListViewItem型をInsertできるとは微塵にも思っていませんでした。

有り難う御座いました。

17 :デフォルトの名無しさん:05/03/02 03:34:42
ttp://park16.wakwak.com/~mimi/dotnet/network/remoting_sample.html
スレッド間で通信するために、このページを参考に作ってみたのですが、
Windowsのファイヤーウォールの警告が表示されます。
TCP/IPを使っているので警告が表示されるのは仕方がないと思いますが、
別の手段などで警告を表示せずに通信するにはどうすればよいでしょうか?

18 :デフォルトの名無しさん:05/03/02 03:46:14
警告を表示させずに通信されたらファイアウォールの意味がないわけだが。

19 :17:05/03/02 04:15:31
>>18
それは分かっています。別にファイヤウォールを騙すなりをしたいのではなくて、
プロセス間で通信をするのが目的なので何らかの手段を示して頂きたいと思いまして。

20 :デフォルトの名無しさん:05/03/02 07:05:22
>>17で「スレッド間」ってのは誤字?

21 :デフォルトの名無しさん:05/03/02 07:29:23
スレッド間でTCP/IP通信はできるけどする意味がないから多分誤字でしょう

22 :デフォルトの名無しさん:05/03/02 07:31:06
ColorDialogについて質問です。
ColorDialogでアルファブレンドの値を決められるようにすることはできませんか?
色と同時にアルファ値を決められるようなUIは1から自作しないとできないのでしょうか?

23 :デフォルトの名無しさん:05/03/02 10:46:54
Windowsのエクスプローラーみたいに
ファイル名 | ファイルサイズ | 種類 | 更新日時

といった風にテキストを分けたりするにはsplitterを使うのでしょうか?
splitterを使用してもたくさん分割できないので(使い方が下手なだけかもしれませんが・・・)
もしかしたら他のコントロールを使用するのでしょうか?
先輩方のアドバイスをいただければと思います。

24 :デフォルトの名無しさん:05/03/02 10:48:36
ListView使え。

25 :デフォルトの名無しさん:05/03/02 11:00:43
>>14
private void Form_Appl_Load(object sender, System.EventArgs e)
{
 SetStyle(ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
っていうことじゃなくてか?

26 :デフォルトの名無しさん:05/03/02 12:04:47
Pingを打ってその値をテキストに出したいんですが
C#などでPingを打つ場合はどういう手順でやるんでしょうか?
サンプルや事例があれば教えていただければと思います。

27 :デフォルトの名無しさん:05/03/02 13:14:22
>>26
C#が動く多くの環境でpingコマンドが使えると想定して
コンソールでpingコマンドを動かしてしまって、それの
出力を取るというのも一つの手だ。

28 :デフォルトの名無しさん:05/03/02 16:05:05
>>26
宇宙仮面氏のとこにサンプルがあるよ
http://ukamen.hp.infoseek.co.jp/Programming1/WinPing/

29 :デフォルトの名無しさん:05/03/02 18:18:40
pipeが使えれば普通にやれる気がするけど、.NETでpipeはどうやるんだろう。

30 :前859:05/03/02 19:10:27
スルーのままスレが終わってしまったので再び。

あるクラス(A)の持つ読み取り専用のデータ(B)をクラスとして公開すると
参照先で(B)が持つ(C)の内容を変更される可能性がある。
class A{
 private B dataB;
 public B DataB{ get{ return dataB; } }
}
class B{
 private C dataC;
 public C DataC{
 get{ return dataC; }
 set{ dataC = value; }
 }
}
クラス(B)のメンバであるクラス(C)も読み取り専用すればいいのだろうが、
そうするとクラス(A)でも変更できない。
解決策として、クラス(B)を構造体にして、
外部にはインスタンスをコピーしたものを公開する、という方法は
構造体の使い方として間違っている?
メンバをコピーするメソッドを書かなくていいし、
データが軽ければ複製の負荷もわずかだろうし。

31 :デフォルトの名無しさん:05/03/02 20:15:33
こんども>>1000までスルーするかw

32 :デフォルトの名無しさん:05/03/02 20:32:18
ちんぽびゅんびゅんびゅーーん

33 :デフォルトの名無しさん:05/03/02 23:22:59
現在DLLを読み込んでいるかなどの情報を知ることができるのでしょうか?
アプリケーションの起動時にそのような情報を取得し表示したいのですが
どうしたらよいでしょうか?

34 :デフォルトの名無しさん:05/03/02 23:35:00
>>33
意味が良くわからんな。
特定のアプリケーションドメインにロード済みのアセンブリならAppDomainのGetAssembliesメソッドがあるが。

35 :デフォルトの名無しさん:05/03/02 23:45:20
>>20
>>21
誤字です。すいません。何か妙案ありますでしょうか?

36 :14:05/03/02 23:58:37
>>25
ああ、なんて便利な・・。C#素敵です
ありがとうございました。

37 :14:05/03/03 00:09:43
>>30
クラス(B)のメンバであるクラス(C)も読み取り専用にして
クラスAでは実はクラスBのサブクラス(クラスCを書き込み可能)をいじっているとかいうのではだめかな
もしくは、基準を変えて、クラスBの下にgetだけできるインタフェースを作って, class AではdataBのインタフェースだけもてるとか


38 :デフォルトの名無しさん:05/03/03 00:45:47
Longhornには.NET Framework 2.0 が標準でインストールされているんだよな?

39 :デフォルトの名無しさん:05/03/03 01:09:05
WinFSにつづいてWinFXも開発延期になったら搭載されないかもしれない
それってもうLonghornじゃないな(笑)

40 :デフォルトの名無しさん:05/03/03 03:56:08
>>30
こんなのどうだ?
C#知らないから勘で書いてみる。勝手に翻訳してくれ。

class A {
 private BChild dataB;
 public B DataB { get { return dataB; } }
 class BChild : B {
  public C DataC { set { dataC = value; } }
 }
}
class B {
 private C dataC;
 public C DataC { get { return dataC; } }
}

誰かこれをコンパイル通る文に変換してくれ。

要は、Bでは「Cは読み取り専用」にして、
Aの内部クラスとして「Cを変更可能にしたB」をBの子クラスとして定義。

41 :デフォルトの名無しさん:05/03/03 03:59:21
>>40
書き忘れたので自己レス

> public B DataB { get { return dataB; } }

return dataB; はBにキャストしてから戻す文に変更してくれ。
return (B)dataB; とか書くのかな?

42 :デフォルトの名無しさん:05/03/03 07:36:20
・プロジェクトAでアプリAを作りました。
・プロジェクトBでアプリBを作りました。
ここでこれらのアプリを連携させたいと考えました。(AでBをいじり、BでAをいじるように)
これを実現させるために単純にAでBを参照追加、BでAを参照追加のようにすると
DLL参照で循環が起こってしまうのですが、どのようにするのがセオリーなのでしょうか?

43 :デフォルトの名無しさん:05/03/03 08:52:35
>>42
プロジェクトCを追加

44 :デフォルトの名無しさん:05/03/03 09:40:44
コンソールでコマンドを打ちたいのですが
コンソールの起動とコマンド実行時の結果を取得したいのですが
使用するコントロールはどのあたりを使えばよいかヒントをいただけないでしょうか?
もしくはそういったことを解説しているサイトがあれば教えてください。

45 :デフォルトの名無しさん:05/03/03 09:40:46
>>42
お前さん構ってもらえないからってしつこすぎw

46 :デフォルトの名無しさん:05/03/03 10:03:43
AxSHDocVw.AxWebBrowserでブラウザ表示するプログラムを練習中です。
URLを指定してHTML文やXML、SVGを表示することは出来ました。
string で作成したHTML文を表示することはできましたが、
stringで作成したXML文やSVGを表示する方法が分かりません。
下記で表示すると、タグがとれたXMLやSVGのテキストが表示されます。
axWebBrowser1.Documentのキャストを何にすればXMLとかが普通のブラウザ表示されるのでしょうか?
いちいちSVGをファイル保存したくないのですが。

string strResult;//結果文字列用変数
private void button1_Click(object sender, System.EventArgs e)
{
 object o = "";
 localhost.Service1 webservice = new localhost.Service1();//インスタンス生成
 strResult = webservice.ReadJob(textBox1.Text);    // WebサービスからXML文をもらう
 axWebBrowser1.Navigate("about:blank", ref o, ref o, ref o, ref o) ;//string文字をブラウザ表示するため、about:blankを指定
}
private void axWebBrowser1_DocumentComplete(object sender, AxSHDocVw.DWebBrowserEvents2_DocumentCompleteEvent e)
{
 IHTMLDocument2 html;
 html = (IHTMLDocument2)axWebBrowser1.Document;
 html.writeln(strResult);
}


47 :デフォルトの名無しさん:05/03/03 10:05:34
>>44
http://www.google.co.jp/search?q=WshShell%20WshExec
この辺だな。

48 :デフォルトの名無しさん:05/03/03 10:23:24
>>46
XMLにせよSVGにせよ、Navigateするときに拡張子を見てプラグインを起動させるといったデザインのはずなので、
オンメモリのを直接ってのは無理じゃないかな。

49 :デフォルトの名無しさん:05/03/03 10:33:35
C#でネットワーク関係を詳しく扱っているサイトとかありませんか?
探せど探せど基本的な事やデータベースとの連帯を重視しているサイトしか
見つけられなくて、ネットワーク関係を詳しく扱っているサイトありましたらおしえてください。

50 :デフォルトの名無しさん:05/03/03 10:51:37
aaa-bbb-ccc-111

のような文字列から、最後の - の直前までを取得したいのですが、
どうやればいいのでしょう?

上記の場合、取得したい文字列は aaa-bbb-ccc になります。

これが a-b-c-1 の場合、取得したいのは a-b-c になります。

よろしくおねがいします。

51 :デフォルトの名無しさん:05/03/03 11:01:53
string.LastIndexOf を使え

52 :デフォルトの名無しさん:05/03/03 11:05:32
正規表現を使う手もあるけどな。
ま、そんな単純なのならLastIndexOfで十分だ。

53 :46:05/03/03 11:18:40
>>48
ありがとうございました。内容に合わせた拡張子でtempファイル作るようにします。
あともう1点。
svgの画像を印刷しようとすると
用紙に合わせた縦横変倍になってしまいます。プレビューでもなります。
ブラウザには正しく表示されてるのに何ででしょう?
足りない設定があるのでしょうか?
他に印刷方法あったら教えてください。
private void button2_Click(object sender, System.EventArgs e)
{
 object o = "";
 SHDocVw.OLECMDID Print = SHDocVw.OLECMDID.OLECMDID_PRINT;
 SHDocVw.OLECMDEXECOPT PromptUser =
  SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER;
 axWebBrowser1.ExecWB(Print, PromptUser, ref o, ref o);
}


54 :デフォルトの名無しさん:05/03/03 11:20:38
>>49
つ MSDN & GotDotNet

抽象的すぎる。
どんなことが「詳しく」になるんだ?
それにソケット絡みのはコーディングそのものは大して複雑にもならない。
TCPやIPの理解ならC#である必要はどこにもないし。

55 :デフォルトの名無しさん:05/03/03 11:31:03
>>30
Cはイミュータブルなクラスか構造体ってことでいいのかな?
B、CともにイミュータブルにするかICloneableを実装するってことじゃだめ?

56 :デフォルトの名無しさん:05/03/03 11:57:11
>> 51 >> 52
ありがとうございます。ばっちりできました。助かりました。

57 :デフォルトの名無しさん:05/03/03 12:42:28
>>53
むりぽ。
IEでの印刷もそうだし、IEの仕様なんだろ。
HTMLを基本にして、SVGはobject/embed要素で表示するようにすれば幅/高さを指定できるようになるが……。

58 :46:05/03/03 18:18:30
>>57
embedでHTMLに組み込むとプリントは正しく出来ますが、
ベクター画像として印刷するのではなくビットマップ画像になってしまうみたい。
そうするとSVGを使用する魅力がなくなる。

3回ぐらい繰り返しで出力させると正しいサイズで出てくるあたり挙動不審(w
さらに印刷プレビューで正しく表示されたとき、何倍にしても同じサイズで表示されてる…。

SVGは諦めろと…。

59 :デフォルトの名無しさん:05/03/03 21:11:01
ある文字列が日付 (yyyy/mm/dd) として正当かどうかを検査するにはどうしたら
よいでしょうか?

isdate 関数みたいな事がやりたいのですが。。。

60 :デフォルトの名無しさん:05/03/03 21:33:56
isdate関数なんてありませn

61 :デフォルトの名無しさん:05/03/03 21:35:29
1) 正規表現
2) DateTime.Parseをtry-catch
3) Microsoft.VisualBasic.dllを参照してMicrosoft.VisualBasic.Information.IsDate

62 :デフォルトの名無しさん:05/03/03 21:48:52
>>59
試してないが、DateTimeに変換出来なかったらえらーじゃ駄目なの?

63 :デフォルトの名無しさん:05/03/03 22:43:53
>>61
DateTime.Parse()と/の位置チェックぐらいかな。
03/04/05みたいな不定な文字列でもParse()は通っちゃうから。

64 :デフォルトの名無しさん:05/03/03 22:44:51
>>62
DateTime は 2005/02/29 を 2005/03/01 と解釈するし
そういうよけいなことはしないでほしいのです

65 :デフォルトの名無しさん:05/03/03 22:49:54
>>64
別に変換したDateTimeを使えと言ってるわけではないが。
DateTime.ParseExactならフォーマットも指定できるな。

66 :デフォルトの名無しさん:05/03/03 23:25:49
>>64
それはあってんじゃねーか? そんな日ないし。

67 :デフォルトの名無しさん:05/03/03 23:26:13
>>64
というかだね、厳密に仕様が決まってるなら自分で解析すべき
で、それができないとしたら仕様が曖昧か、C#以前に
プログラミングスキルが足りないのどちらかだろ

68 :デフォルトの名無しさん:05/03/04 10:46:38
関数f(A a) の宣言において、「この関数は引数を変更しない」ことを示したいときは
どのようにすればいいのでしょう(C++におけるconst参照渡し)
out,refがあってinがないのが不可解でなりません。

69 :デフォルトの名無しさん:05/03/04 10:53:31
>>68
out/refを書かなければ、変更しないから不要なんでしょ。

70 :デフォルトの名無しさん:05/03/04 10:54:49
>>69
そんな馬鹿な。
vod f(A a) {a.b=10;}
ってコードも通りますよ。

71 :デフォルトの名無しさん:05/03/04 10:58:52
>>70
それは、「引数を変えてる」わけじゃないからねぇ。

72 :デフォルトの名無しさん:05/03/04 11:02:02
>>70
outやrefだって、メンバへのアクセスについては関与しないだろ。

73 :70:05/03/04 11:12:30
>>71-72
あ、なるほど……
でもそうなると、ある関数が引数のメンバを変更するかどうかは
関数の宣言を見るだけではわからないってことですか。

74 :デフォルトの名無しさん:05/03/04 11:50:34
>>73
ってことです。

C++でクラスのポインタを渡すようになっていたら、それを
どうされるのかわからないのと一緒。

75 :70:05/03/04 12:04:51
>>74
へー。そういうものなんですか。

調べてみたけど、C#ってconst関数がないんですね。
erick gunnersonがなんか書いてた。
http://weblogs.asp.net/ericgu/archive/2004/04/22/118238.aspx

76 :デフォルトの名無しさん:05/03/04 12:46:46
Forms.LabelをFormに貼り付けてF2を押したら編集する。といったようなものを考えました。
そこで、LabelEditorみたいなものを作りたいのですが、ラベル内のTextの位置って
Labelメンバから取ってくることは可能でしょうか?
LabelEditorの出現位置がLabel内のTextにぴったり被さるようにしたいのですが


77 :デフォルトの名無しさん:05/03/04 14:23:38
いきなり質問失礼します。
見積書のテンプレートを読み込み、それを書き換えて見積書をつくるプログラムの一部を作っています。

    //"Template\Estimation.txt"を開く
    System.IO.StreamReader sr = new System.IO.StreamReader(@"Template\Estimation.txt", System.Text.Encoding.GetEncoding(932));
    //内容をすべて読み込む
    string s = sr.ReadToEnd();
    //閉じる
    sr.Close();

これでsに見積書のテンプレートが読み込まれて

    //sを書き換える
    s.Replace("name", this.txtName.Text);

のように書き換えたいのですが、うまく書き換わらずに、最後に

    MessageBox.Show(s);

とやると元のテンプレートのまま吐きだしてしまいます。
やはり
    s.Replace();
とやっただけではsは書き換わらず、
    s = s.Replace();
というふうにすべきなのでしょうか?

78 :デフォルトの名無しさん:05/03/04 14:29:24
>>77
わかってるんだったらそうしなよ。
ついでにリファレンスのSystem.Stringも熟読。

79 :デフォルトの名無しさん:05/03/04 14:30:15
初心者は混乱するんだけど “string オブジェクトは変更できない” のよ
string.Replace のリファレンスを見ると、『置換した文字列を返す』 って書いてあるから、

string newText = s.Replace();

が正解。s = s.Replace() でも良いけど。

80 :デフォルトの名無しさん:05/03/04 14:38:44
つか見積書ってナニよ?
時間帯からして仕事のソフト?
素直に上司に質問しなさい!

つか、仕事の質問を2chにするなとw

81 :デフォルトの名無しさん:05/03/04 14:43:42
>>80
このスレは仕事の質問ばっかりだが。
俺も仕事中にこっそり答えている。

82 :デフォルトの名無しさん:05/03/04 14:49:32
いえいえ、滅相もない!
http://cdrtest.hp.infoseek.co.jp/cgi-bin/snup/src/VisualVision0053.zip
↑のような自分専用のオークション管理DBを作っています。
TemplateフォルダにあるEstimation.txtを読み込み、落札者に見積メールを送信する機能を
付ける際に、テンプレートを書き換える必要があったのです。
試しに起動して、リストビューからアイテムを選んで右クリック→各種メール送信→見積メール
ってやってみてください。
皆様のおかげで無事、書き換えることができるようになりました。

83 :デフォルトの名無しさん:05/03/04 14:51:14
>>80
ここは@ITの会議室ほど露骨ではないと思ふ。

84 :デフォルトの名無しさん:05/03/04 14:51:55
C#を覚えようと参考書かって勉強したが、挫折シマスタ(´・ω・`)
面白いことなくてやる気失せマスタ

85 :デフォルトの名無しさん:05/03/04 14:52:41
あぁ・・・焦って公開してしまってから後悔しています。
何というかお恥ずかしい・・・
本当にまだC#を勉強し始めたばかりなので、ロクでもないソフトなのですが・・・

まだ動かない機能が殆どなので余り怒らないでくださいね。

86 :デフォルトの名無しさん:05/03/04 15:05:56
>>82
ヤフオクの管理ソフトかよw

87 :デフォルトの名無しさん:05/03/04 15:52:19
System.Drawing.Font または DirectX.Direct3D.Font から
GetGlyphOutline で取得できるようなアウトラインデータを取得するまでの流れが思いつきません。

良い案ありますか?

88 :デフォルトの名無しさん:05/03/04 16:08:58
オーバーロードされた関数をデリゲートに渡すにはどうすればよいのでしょうか?
delegate void test(string text);
new test(MessageBox.Show);
としてもエラーが出てしまうのですが...


89 :デフォルトの名無しさん:05/03/04 16:14:08
>>88
MessageBox.Show(string) は void じゃなくて DialogResult

90 :デフォルトの名無しさん:05/03/04 16:14:31
>>88
MessageBox.Showメソッドの全てのオーバーロードでDialogResultが返されるわけだが。

91 :88:05/03/04 16:22:17
>>89,90
解決しました。
ありがとうございました。

92 :デフォルトの名無しさん:05/03/04 16:31:27
Windows.Form です。
重い処理を実行した時に、"応答なし"となるのを避けたくて、
その思い処理をスレッド化?しました。

その場合、"応答なし"にはならなくなりましたが、処理中にもかかわらず、
フォーム上のコントロールが自由にさわれるようになってしまいました。

例えば、ボタンでその重い処理を実行しているとすると、スレッドで実行した
直後にまたボタンが押せるようになります。
スレッドにしなかった場合は処理している間はフォームはイベントが発生
しませんでしたので、このような事はおこりませんでした。

応答なしの表示はしたくないけど、フォーム上のイベントを拾いたくない
なんて都合のよい事をやろうとすると、どのように組むべきでしょうか?

93 :デフォルトの名無しさん:05/03/04 16:33:24
>>92
ボタンを押した時にボタンのEnabledをfalseにすればいいじゃない。
見た目的に押した感じは出したいのならフラグを使えばいい。

94 :デフォルトの名無しさん:05/03/04 16:45:16
>>87
GetGlyphOutlineを使うしかないような気がする。

95 :87:05/03/04 17:32:03
>>94
そこまでの手順を (T-T

96 :デフォルトの名無しさん:05/03/04 17:46:21
Graphics g、Font fがあるとして、
g.GetHdcでデバイスコンテキスト取得。
f.ToHfontでHFONT取得。
SelectObjectでデバイスコンテキストにHFONTを選択。
GetGlyphOutlineを実行。

SelectObjectで元のオブジェクトに戻す。
g.ReleaseHdcでデバイスコンテキスト解放。

基本的な流れはこんなもの。
構造体の書き方とか読み方は調べれ。

97 :87:05/03/04 17:51:03
>>96
すげ。有り難うございました m(_ _)m

98 :30:05/03/04 20:27:41
>>37,40,55
回答どうもありがとう。
明日は早く起きなきゃならないのでひとまずお礼だけ。
日曜に試してからまた報告する。

99 :デフォルトの名無しさん:05/03/05 00:24:57
とてもアホなことだと思うのですが、関数に文字列の参照を与えて、中身を埋めてもらおうと思ってます。

こんな感じ
Func(out string hoge)
{
hoge = "XXXX";
}

ですが、呼び出し側で以下のようにしてみても駄目。
string test = ""; //仮にダミー値とする。
Func(test); //文字列を記入

そもそもstringを使うところが間違っているのでしょうか?



100 :デフォルトの名無しさん:05/03/05 00:28:46
>>99
コンパイルエラーだろうけど、エラーメッセージを良く読もうよ。

あとoutパラメータに渡す場合初期値を与える必要は無いよ。

101 :デフォルトの名無しさん:05/03/05 00:31:38
コンパイルエラーなら Func(out test) 呼び出し側にもout が必要。

102 :99:05/03/05 00:39:51
大変失礼しました。

>100,101
 ありがとうございます。
 一生懸命Func(&test);
 とかやっておりました…orz 文法嫁よ、俺
 

103 :デフォルトの名無しさん:05/03/05 03:18:45
日の丸みたいな画像(bmpとかjpg)読み込んで円のGraphicsPath を作る方法ない?
ウインドウの形を指定するファイルに使うつもりなんですが。
上の例のファイルを指定された場合は丸いウインドウを作ると。

104 :デフォルトの名無しさん:05/03/05 04:04:48
●ツールバーに画像が表示されない(VS.NET2003)
ttp://backno.mag2.com/reader/BackBody?id=200412090600000000104516000
の症状が出たので手動で
ToolBar.Buttons.Addrangeをツールバーのボタンの設定の後ろに移動させるのだが、

ドッキング場所を(Dock)の設定をTopからRightに変更してる場合だと
今度はツールバーの横サイズがツールバーのボタンの横サイズに強制変更されるから
ボタン全体が表示されなくなる罠が...。
DockはNoneにして、AnchorをTop,Rightにして一応解決とした。


105 :デフォルトの名無しさん:05/03/05 04:21:37
>>103
1.画像を走査して境界検知
2.境界点の位置を元に座標作ってGraphicsPathのコンストラクタに渡す
とかなるんじゃないかな。


106 :103:05/03/05 05:34:18
>>105
自作しかないのか。。

107 :デフォルトの名無しさん:05/03/05 05:56:14
そんなマニアックな関数ないと思うYO
画像処理を勉強して自作

108 :デフォルトの名無しさん:05/03/05 13:09:03
c#で指定時刻に音が出るプログラムを作りたいのですが
*.wavといったデータから音を出すにはどうすればいいでしょうか
それが難しければ、ビープ音を出すにはどうしますか。

109 :デフォルトの名無しさん:05/03/05 13:20:04
>>108
.net framework 2.0 ならば

System.Windows.Forms.SystemSounds.Beep

ってのがある
1.1 において一番コーティングが楽なのは、MDX 使って

new Microsoft.DirectX.AudioVideoPlayback.Audio("ファイル名", true);

の一行

110 :デフォルトの名無しさん:05/03/05 13:21:42
http://www.microsoft.com/japan/msdn/library/ja/dv_evtuv/html/etconplayingsounds.asp
ぐぐって一番上に出てきたやつ

111 :デフォルトの名無しさん:05/03/05 13:27:24
>>108
長々書いてたら先越されたw

それ以外のアプローチを示しておこう。
・Process.Startでファイルを実行させる
・Microsoft.VisualBasic.dllを参照してMicrosoft.VisualBasic.Interaction.Beepメソッドを呼び出す
 (ただしこれは音の長さも周波数も設定できない、極めて簡単なもの)
・Win32APIのBeep関数を使う
・Win32APIのPlaySound関数を使う

>>109
.NET 2.0なら勧めるのは寧ろSystem.Console.Beepメソッドじゃないかなーとか。
System.Windows.Forms.SoundPlayerクラスとか。

112 :デフォルトの名無しさん:05/03/05 13:49:15
TabControlがリサイズ時に禿しくチラつくのは私の環境だけですか?

1.FormにTabControlを追加
2.TabCntrolのDockをFillに設定
3.TabPagesを2つ3つ追加

これで実行すると、ウィンドウをリサイズするたびにタブがちらついてしまいます。
ダブルバッファリングを有効にしてもダメでした。。。

113 :108:05/03/05 13:55:40
もうこんなにレスが.....

Win32APIのPlaySound関数というのは当たりをつけていたのですが
DllImportのやりかたとか自信がなく図書館で4冊ばかり借りてきても
サウンド関係、DllImport、ビープなど全く目次や索引にないようでした。
今は「きつねとけい」をメインに使っているのですが30分おきしか
鳴りません。
http://www.yk.rim.or.jp/~tara/

114 :デフォルトの名無しさん:05/03/05 14:09:16
>>112
ちらつく事はちらつくけど、深刻なちらつきではないなー。

>>113
>>110に懇切丁寧にサンプルが書かれてるじゃん。

115 :デフォルトの名無しさん:05/03/05 14:16:42
http://www.atmarkit.co.jp/fdotnet/
Win32 APIやDLL関数を呼び出すには?とか読むと良い
文字列バッファや構造体の渡し方まで関連記事に出てる

116 :デフォルトの名無しさん:05/03/05 14:21:46
.NET Framework のドキュメントのほうが個人的に見やすい……

117 :108:05/03/05 15:05:18
>>110 を参考に(というかコピーして)
テストしています。いまのところビルドまでは
うまくいくのですが、実行エラーが出るのです。
110のサンプルの中では、dll名が"coredll"と
なっているのでPlaySoundが入っているdll名を
探しているところです。

118 :デフォルトの名無しさん:05/03/05 15:07:01
>>117
winmm.dll じゃないのか?

119 :デフォルトの名無しさん:05/03/05 15:16:07
>>103
http://www.geocities.com/Paris/LeftBank/1160/download.htm
How to create a region from a bitmap ?
A Visual Studio 97 (MSDev 5) project which demonstrates
how to use ExtCreateRgn() and SetWindowRgn() to create
a region from the non "transparent" pixels in a bitmap.

[ 160 lines in one .cpp for the BitmapToRegion() function]


120 :103:05/03/05 15:26:06
>>119
おお!帰ってきたらテストします。ありがと。

121 :108:05/03/05 16:27:50
>117
winmm.dll で動くようになりました。
とりあえずボタンを押せばサウンドが鳴るようになりました。

122 :112:05/03/05 17:22:35
>>114
そうですかー。
気にしすぎなのかな?

123 :デフォルトの名無しさん:05/03/05 18:15:57
ちょっと便乗しまして質問を・・・

サウンドの再生方法はわかるのですが、
リソースに追加されたファイルを再生するにはどうしたらいいのでしょうか??

124 :デフォルトの名無しさん:05/03/05 20:06:58
>>123
Win32APIのPlaySoundの話と仮定する。

・マネージドリソース(.resources)または/resで追加したファイル(VSでは埋め込まれたリソース)の場合
 バイト配列に読み込んで、
 pszSoundパラメータにバイト配列を、
 fdwSoundパラメータにSND_MEMORYを指定してPlaySoundを呼ぶ。

・/win32resで追加した.resファイルの場合
 pszSoundパラメータにエイリアス名を、
 hmodにMarshal.GetHINSTANCEで取得した値を、
 fdwSoundにSND_RESOURCEを指定してPlaySoundを呼ぶ。

125 :デフォルトの名無しさん:05/03/05 20:16:12
見直したら.resourcesもどうせ/resで追加するんだから、「または」から前の部分いらないや……。

126 :123:05/03/05 23:37:35
>>124 - >>125
レスどうもありがとうございます。

ファイルをバイト配列に入れたり、
バイト配列を再生することはできたんですが、
リソースを扱うことが出来ません・・・。

a.exeというソフトにb.wavというファイルを埋め込んだ(ID:1)場合、
どのようにすれば取り出せるんでしょうか??
System.Reflection.Assemblyで取り出せるのかなと思ったのですが。。。

ちなみにこんなコードを書きました
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetEntryAssembly();

System.IO.Stream stream ;
System.IO.BinaryReader breader ;

stream = assembly.GetManifestResourceStream("a.b.wav") ;
breader = new System.IO.BinaryReader( stream ) ;
byte [] data ;
data = breader.ReadBytes( (int) stream.Length ) ;
この後byte配列を再生しようとしました
たびたび申し訳ないのですが、ご指摘よろしくお願いします

127 :デフォルトの名無しさん:05/03/05 23:53:50
悪くないと思うが。
byte[]にデータは入ってるんだよね?
なら後はPlaySoundの方の書き方の問題かも知れない。
……と言っても悩む余地もないところだがなぁ。

128 :デフォルトの名無しさん:05/03/06 02:49:10
>>124
>  バイト配列に読み込んで、
>  pszSoundパラメータにバイト配列を、
>  fdwSoundパラメータにSND_MEMORYを指定してPlaySoundを呼ぶ。

SND_ASYNCもつけてGCが動いて死んでみたりするので、この方法はやめた方がいいかと。
安全にするにはGCHandleで固定化したアドレスにしなきゃいけないし、
SND_ASYNCをつけないならPlaySoundの呼び出しがブロックされるとかなり使いづらいし。

129 :デフォルトの名無しさん:05/03/06 20:10:08
一旦、
string[] sample = new string[10]
とやった文字配列sampleのLengthを追加することってできますか?

130 :デフォルトの名無しさん:05/03/06 20:17:38
プロパテまたはインデクサ 'System.Array.Length' は読み取り専用なので割り当てすることはできません。


131 :デフォルトの名無しさん:05/03/06 20:32:31
意図がわからんな。
ま、頻繁に操作する文字列ならStringBuilderつかっとけ。
MSの言によると5回以上操作するなら大体のケースでstring作り直すより早くなるそうだ。

132 :デフォルトの名無しさん:05/03/06 21:22:05
どこに質問するべきなのか微妙なのですが、一応、いつもお世話になっているこちらで質問させて頂きます。
よく、掲示板などのCGIファイルのURLの末尾に「?」を付けて変数を渡しますよね?
つまり
bbs.cgi?name=克也
って感じです。
これを
Process.Start("http://xxxxx.com/bbs.cgi?name=克也");
みたいにやって、IEで開けば問題ないのですが、
WebClient.OpenRead使って同じように「http://xxxxx.com/bbs.cgi?name=克也」からダウンロードしようとすると見事に文字化けしてしまうのです。

掲示板のページ自体はS-JISでして、IEを使ってURLを開く場合は恐らく勝手に変換しているのでしょうが、
WebClient.OpenReadを使うと見事にUTF8で送信してしまうために、
掲示板をみても見事に文字化けをしてしまいます。
(実際、IEのエンコードでUTF8にすれば自分の書き込みした部分だけは正常に見れます。)

いろいろ考えたのですが、なにぶん、未熟者故に・・・
どうかご助言の方を宜しくお願い致します。

133 :デフォルトの名無しさん:05/03/06 21:25:17
>>132
System.Web.HttpUtility.UrlEncode

134 :デフォルトの名無しさん:05/03/06 21:25:21
こんばんは
プログラム中で、自プログラムがあるディレクトリを取得する方法ってありますか?

135 :132:05/03/06 21:29:13
早速本当に有り難う御座います!

136 :デフォルトの名無しさん:05/03/06 21:29:30
>>134
System.Windows.Forms.StartupPathかな。
System.Reflection.Assembly.GetEntryAssembly().LocationからPath.GetDirectoryNameした方が確実かな?

137 :132:05/03/06 21:35:31
これですね♪
@ITも探したのですが、探し洩れたようです。
申し訳ない・・・
http://www.atmarkit.co.jp/fdotnet/dotnettips/212urlencode/urlencode.html


138 :デフォルトの名無しさん:05/03/06 21:51:32
>>136
Application.ExcecutablePathはどうよ。

139 :デフォルトの名無しさん:05/03/06 22:21:22
>>136
あ、できました。。ありがとうございました。

140 :デフォルトの名無しさん:05/03/06 22:57:22
GUIまわりのテストFrameWorkってないんですかね?

NunitでGUIテストもできるのかな?

141 :デフォルトの名無しさん:05/03/06 23:08:58
>>140
GUIまわりのテストって殆どの場合、目視確認じゃないか?

というのは、GUIなんだから見た目の問題だろ?
どの値を引数で渡したからどの値が返ってくるってもんでもないよな?

142 :デフォルトの名無しさん:05/03/06 23:14:38
>>129
数が不定の場合は、ArrayListで作っておいてToArray()汁。

143 :デフォルトの名無しさん:05/03/06 23:46:24
C#の勉強で、ファイルの情報を得てそれを表示するという簡単なプログラムを
作ってるんですが、よく分からない点があるので教えてください。

textBoxにパス名を入れ、listBoxにそのフォルダ内のファイルを表示し、リストアイテムを
右クリックでcontextMenuを出しそこのサブメニューにサイズやら日付やらを表示しようとしてます。
リストを右クリックしメニュー出す所までは来ましたが、そこから先に行こうとして
よく分からない現象に遭遇してます。

最初に右クリックで選んだときはちゃんと表示されますが、次に別のファイルを
選んでも最初のファイルの情報が表示されるのです。ブレークポイントで確認して
menuItem.Text = 〜; のように新たに代入してるはずなのに、実際には変わってません。

メニュー関係で気をつけるべき点などあれば教えてください。
メニューに表示するのが間違いとかいうのは重々承知してますが…。

144 :デフォルトの名無しさん:05/03/06 23:52:45
>>143
あり得ないUIだな……。

関係ないMenuItemを操作してるだけだろう。
その場でnewしたやつとか。
コードがないからどうとも言えないが。

145 :デフォルトの名無しさん:05/03/07 07:40:43
モニタの解像度を変更することはできますか?


146 :デフォルトの名無しさん:05/03/07 09:22:26
複数のPNGを重ねて使いたいのですが、PictureBoxの枠の色が表示されてしまいます。
画像をうまくレイヤーとして使うにはどうしたらいいのでしょうか?


147 :デフォルトの名無しさん:05/03/07 10:01:45
>>145
Win32API使わないと無理じゃないかな。
EnumDisplaySettingsとChangeDisplaySettings。

>>146
枠の色?
詳しく。

148 :146:05/03/07 10:31:19
>>147
透過されて欲しい場所に不要な色が付いてしまっているのです。
ならばとBackColorやBackgroundを指定すると、確かに透過はされているようなのですが
PictureBoxではなく、それを配置したFormやUserControlを背景に表示したいんです。


149 :146:05/03/07 10:32:25
訂正
×Background
○BackgroundImage


150 :デフォルトの名無しさん:05/03/07 11:14:25
>>146
無理してビルトインクラスを使わずに、DCに直描きしたほうが楽になれるよ。

151 :デフォルトの名無しさん:05/03/07 11:30:34
よくわからんが、PictureBoxのBackColorをColor.Transparentにするんじゃダメなの?

152 :146:05/03/07 11:39:06
>>151
ヤッターできたよ。どうもありがとう。

>>150
そうしようとGraphics描画に変更しかけてた。


153 :デフォルトの名無しさん:05/03/07 18:21:16
Delphiから移転してきた者です。
今まで作っていたプログラムをC#に移行しはじめているのですが、
最近疑問に思うのはC#で作られたプログラムは動作は十分速いのですが、
メモリの消費が桁違いということです。
Delphiで作ったプログラムの消費メモリが5MBのときに、C#のプログラムは20MBほど使用しています。
処理速度を云々するプログラムではないので、若干スピードが落ちても構いませんので、
消費メモリを少なくする方法なないのでしょうか?

一応、やっとWin2kが動く程度の非力なマシンでも動かしたいソフトなので・・・

154 :デフォルトの名無しさん:05/03/07 18:23:18
あきらめなさい(マジレス)

155 :デフォルトの名無しさん:05/03/07 18:46:57
>>153
最小化させる

156 :デフォルトの名無しさん:05/03/07 20:25:10
>144
遅くなりましたが、ソースをアップしました。
どなたかどこか変なとこがあるか見ていただけないでしょうか。
http://www.uploda.org/file/uporg54284.txt

157 :デフォルトの名無しさん:05/03/07 20:25:36
C# + .NET Framework で作成した EXE を DLL のように、
別のプログラムからインスタンスを生成して実行する事はできないでしょうか?

EXEとしてダブルクリックして起動したい場合もあれば、
別のプログラムから、インスタンスを生成し、かつコンストラクタの引き数に
値を渡してそれを元に処理したい、という事がやりたいんです。

コンストラクタをオーバーロードしているだけなので
できれば 1つの実ファイルとしてまかないたいのですが、
無理でしょうか?


158 :デフォルトの名無しさん:05/03/07 20:31:28
できるよ。.exeと.dllはダブルクリックで起動できるかどうかの差ぐらいしかないし。
ただしVS.NETの制限で、直接参照設定する事ができないので、
VSを使う時は.csprojにReference要素を自分で追加する必要があるけど。

159 :デフォルトの名無しさん:05/03/07 21:22:39
>>156
いろいろいじってみた。

……ソースには問題ないね。
理屈上はこれで正しく動作する。.NET 2.0では実際正しく動作する。

どうも.NET1.0/1.1のContextMenu.Showにバグがあるようだ。
キャッシュされたのがいつまでも表示され続けてしまう。

listBox1のContextMenuプロパティにcontextMenu1を設定して、
contextMenu1.PopupイベントでTextの書き換えを行うようにすれば回避はできる。

160 :デフォルトの名無しさん:05/03/07 21:50:22
>>153
.NETのアプリでメモリ使用量を気にするのは意味のない行為。
ちょっと調べればすぐわかること。

161 :デフォルトの名無しさん:05/03/07 21:52:37
俺の予想だとLonghornあたりから
タスクマネージャで見たメモリ使用量が
マネージコードに関しては1/10に表示される機能がつくから
それまでがまんする。

162 :デフォルトの名無しさん:05/03/07 22:06:24
セットアッププロジェクトをビルドしたら、下のようなファイルが出来たのだけど、
配布すときは、Setup.msiを渡せばいいの?

InstMsiA.Exe
InstMsiW.Exe
Setup.Exe
Setup.Ini
Setup.msi


163 :103:05/03/07 22:11:33
>>119
完璧なサンプルでした。ありがと。

164 :デフォルトの名無しさん:05/03/07 22:27:10
>159
各.NET環境との比較までしていただいたようで、お手数をお掛けしました。
やっと目的の動作をするようになりました! 多謝です。

165 :デフォルトの名無しさん:05/03/07 22:51:07
>162
Setup.exe
Setup.msi
Setup.ini
がいるような希ガス
試しに別のフォルダに入れて個別に実行したら
Setup.iniがないとか言って怒られたような・・・

166 :デフォルトの名無しさん:05/03/07 23:32:29
>>165
今、試してみました。
msiだけを別フォルダにいれて実行したら、一応インストールされました。
(ほかの環境ではうまくいくかわかりませんけど)

167 :デフォルトの名無しさん:05/03/07 23:55:09
>166
じゃあmsiだけでいいんじゃない?
@ITに記事があったと思うんだが見つからないorz

168 :デフォルトの名無しさん:05/03/07 23:58:50
あったあった
http://www.atmarkit.co.jp/fdotnet/tools/vssetup/vssetup_01.html
WindowsInstaller があれば msi だけでいいみたい

169 :157:05/03/08 00:35:49
>> 158
ありがとうございます。できましたー。

170 :デフォルトの名無しさん:05/03/08 01:57:10
>>168
そういうページがあったんだ。
まず、検索すべきだった。
めんどくさくてヘルプも調べず検索もせず、試行錯誤で
インストーラーを作ったけど、かえって時間も無駄だった。

171 :デフォルトの名無しさん:05/03/08 10:42:32
ttp://dobon.net/vb/dotnet/graphics/drawoutlinestring.html
で縁取り有りの文字を描いて
ttp://dobon.net/vb/dotnet/graphics/measurestring.html
でその文字の大きさを計測したいのですが、MeasureStringメソッドが
普通の文字描画しか対応していません。
縁取り有りの文字の大きさをはかるにはどうしたらいいのですか?

172 :デフォルトの名無しさん:05/03/08 10:46:33
GraphicsPath.GetBoundsで取れない?

173 :デフォルトの名無しさん:05/03/08 15:27:19
PictureBoxとGraphicsに関する質問なのですが、
OnLoad時だとPictureBox.CreateGraphicsを取得して、Graphics.Draw〜をしても反映されません。
それ以外のイベントでは出来てるのですがどうしてなのでしょうか?
できればCreateGraphicsから得られるものに統一したいです。

現在の対処としてはGraphics.FromImage(PictureBox.Image)を使ってるのですが
これだと今度はOnLoad以外のイベントでは無効となってしまいます。


174 :デフォルトの名無しさん:05/03/08 15:41:30
OnLoadはForm.OnLoadです。

175 :デフォルトの名無しさん:05/03/08 15:51:17
>>173
PictureBox.Imageに対して描画するのとPictureBoxに対して描画するのは全く別の行為であるというのは認識してる?

176 :デフォルトの名無しさん:05/03/08 16:01:01
>>175
OnLoad以外のイベントではGraphics.FromImage(PictureBox.Image)でDraw〜が使えないのですが。。

177 :デフォルトの名無しさん:05/03/08 16:16:41
ごめんなさい。PictureBox.Refreshすれば反映されました。


178 :デフォルトの名無しさん:05/03/08 17:01:24
g.FillRectangle(Brushes.Transparent, 0, 0, 20, 20);
g.DrawString(str, msgFont, Brushes.White, 0, 0);

Imageに文字を書く際、背景を透明に塗りつぶしたかったのですが出来ません。
Brushes.Blackなど実際に色を持つものなら可能なのです。
解決法を教えてください。

179 :デフォルトの名無しさん:05/03/08 17:05:26
透明な四角形を描いたって事になったんじゃないか?
Graphics.CompositingModeとか。

180 :デフォルトの名無しさん:05/03/08 17:31:11
textBox1でenterキーを押した時にbutton1を押すにはどうしたらいいですか?
ボタンを押すのも、button1_clickを呼ぶんじゃない方法が
@ITかどこかで読んだ気がするけど忘れちゃって

181 :デフォルトの名無しさん:05/03/08 17:32:21
Buttonのメソッドを舐めるように見れ。

182 :デフォルトの名無しさん:05/03/08 17:52:38
>>179
出来たよありがとう

183 :デフォルトの名無しさん:05/03/08 18:03:35
Control.Disposeされた時に通知を受けるイベントってありますか?
Form.OnCloseのような感じで使いたいのです。
Disposeじゃデストラクタ呼ばないようですし。

184 :デフォルトの名無しさん:05/03/08 18:25:13
protectedのDispose(bool)をオーバーライドするのが確実じゃないかな。

185 :デフォルトの名無しさん:05/03/08 18:50:43
>>184
うーん、Disposeはoverride出来ないようですね。
ポリモーフィズムが使えない。

186 :デフォルトの名無しさん:05/03/08 18:55:27
え?
Control.Dispose(bool)はvirtual(正確にはComponent.Dispose(bool)がvirtualで、Control.Dispose(bool)はそのoverride)だよ?

187 :デフォルトの名無しさん:05/03/08 19:03:33
>>186
ああ、なるほど。Disposeは普通のメソッドで、Dipose(bool disposing)がvirtualなのね。
内部でDispose(true)を呼び出すからoverrideするのはDispose(bool)と。
同じオーバーロードは同じ修飾子を使っていると思い込んでいた。

ありがと。

188 :デフォルトの名無しさん:05/03/08 20:47:02
C#でしかできない、できにくいことってありますか?
ゲームを作るうえで

189 :デフォルトの名無しさん:05/03/08 21:11:58
別にないんじゃない?

190 :デフォルトの名無しさん:05/03/08 21:53:32
うん、どうしてもってところだけC++とかで書けば良いんだし・・・
C#だけっていうなら弱点はあっても、C#をベースに所々にCとかを入れれば
まず大丈夫だねw

191 :デフォルトの名無しさん:05/03/08 23:30:08
すいません、質問です。
ListViewでViewをDetail,Scrollableをfalse,Anchorを上下左右にしてFormにはりつけて
Formをリサイズすると、ヘッダが最初に表示されている領域しか描画されないのです。
解決法をどなたかご存知ありませんか?

リサイズが終わった時点でReflesh()、Invalidate()などを行ってもヘッダ領域の描画は回復されませんでした。



192 :デフォルトの名無しさん:05/03/09 00:16:04
C#

193 :デフォルトの名無しさん:05/03/09 01:16:13
C♭

194 :デフォルトの名無しさん:05/03/09 01:35:17
.NET2まだ?

195 :デフォルトの名無しさん:05/03/09 02:09:48
まだ。

196 :デフォルトの名無しさん:05/03/09 02:19:31
>>191
Scrollableを一時的にtrueにしてまた戻すととりあえずどうにかなることはなるが。

197 :デフォルトの名無しさん:05/03/09 04:37:38
N項の関数を無項関数に変換するのメンドウじゃない?


198 :デフォルトの名無しさん:05/03/09 07:53:14
なんか噂だとLongなhornとかいう次世代なWinなdowsでWinなAPIがなくなってC#をWinなdowsはより親密になる
っていう噂と聞いたのですがホントですか?

199 :デフォルトの名無しさん:05/03/09 08:43:05
>>198
デマです
COM、COM+、OLE、ODBC、CORBA、RPC
いつの時代もペンテ師がいて、新技術習得に献金するよう
世間を扇動してるだけです。


200 :デフォルトの名無しさん:05/03/09 09:12:31
もう1つは、次世代のWindowsといわれるLonghornへの対応です。
Longhornの多くの部分はVB.NETが生成するコードと同じマネージ・コードで書かれているといわれています。
つまり、LonghornというOSと、VB.NETで作成されたプログラムはダイレクトに接続され、最も効率よく動作することになります。
現在は、VB.NETで作成されたプログラムはクラス・ライブラリとWin32 APIを経由してOSの機能を呼び出していますが、
LonghornからはWin32 APIを経由することはなくなると思われます。
さらに、Longhornの新機能はWin32 APIではアクセスできず、Longhornのクラス・ライブラリを経由してアクセスするのではないかと思われます。
もちろん、そのようなアクセスは、VB.NETならたやすく達成できるでしょう。
Longhornの能力をフルに引き出すならVB 6からVB.NETに乗り換える必要がある、ということになるかもしれません。

http://www.atmarkit.co.jp/fdotnet/vbcheer/vbcheer09/vbcheer09.html

これのこと云ってるの?

201 :デフォルトの名無しさん:05/03/09 09:16:18
あ、やっぱ
http://www.atmarkit.co.jp/fwin2k/insiderseye/20040107winfx/winfx.html
こっちか・・

つまりWin32APIの後継としてWinFXが実装されるわけねw

202 :デフォルトの名無しさん:05/03/09 09:24:17
だからマーケティングのデマだって
2000年から.Netを普及させるために煽ってたけど
最近になってロングホーン自体の存在が危うくなってきた

203 :デフォルトの名無しさん:05/03/09 10:13:09
いつものことだな

204 :デフォルトの名無しさん:05/03/09 10:20:38
int idx;
string str;

string [] week =
{"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

for (idx=0; idx<week.Length; idx++)
{
str = str + week[idx] + "\n";
}

label1.Text = str;
label2.Text = week.Length.ToString();

という単純なものを作成してみたのですが
未割り当てのローカル変数strが使用されました

と出てきます。
2行目で
string str;
としているので未割り当てではないと思うのですが
何か間違っている所がありますでしょうか?
未熟すぎる私にどなたかアドバイスをいただければと思います。

205 :デフォルトの名無しさん:05/03/09 10:25:45
宣言 != 割り当て
空文字列でも入れとけ。

206 :デフォルトの名無しさん:05/03/09 14:33:41
空文字列は = "" ではなく = string.Empty を推奨汁

207 :デフォルトの名無しさん:05/03/09 14:35:46
そのココロは?

208 :デフォルトの名無しさん:05/03/09 14:55:32
どこかでこっちの方がいいって書いてた

209 :デフォルトの名無しさん:05/03/09 14:58:22
String.Empty vs. ""
ttp://www.codebetter.com/blogs/brendan.tompkins/archive/2003/10/14/2585.aspx

ここかも。
str.Equals(String.Empty) is faster than comparing to ""!

210 :デフォルトの名無しさん:05/03/09 15:08:06
試しに
public static void Main() {
  string empty1 = String.Empty;
  string empty2 = "";
}
としてみたら
 warning CS0219: 変数 'empty2' は割り当てられていますが、その値が使用されていません。
と言われた。
どちらかというと "" の方がいい気がするのですがいかがなものでしょう。

211 :デフォルトの名無しさん:05/03/09 15:08:09
これ比較するときの話でしょ?
とは言えEmptyの方が分かりやすいくていいかも

212 :デフォルトの名無しさん:05/03/09 15:14:48
>>210
おぬしは
>warning CS0219: 変数 'empty2' は割り当てられていますが、その値が使用されていません
の意味を良く分かっていないような気がする

213 :デフォルトの名無しさん:05/03/09 15:45:52
>>212
そのまま「変数宣言するだけしておいて放っておかれてるのがあるよ」っていう意味じゃなくて?
よけいなコードは残しておかないようにする時は警告出された方が嬉しいと思ったんだけど駄目ですか。

214 :デフォルトの名無しさん:05/03/09 15:59:40
String.Empty でググってみたら色々出てきて
""よりもString.Emptyの方がメモリが(中略)でいいらしい

215 :212:05/03/09 16:00:12
>>213
ああ、そういう意味ね
チェック目的ならばそれでも良いかもしんないな

216 :デフォルトの名無しさん:05/03/09 16:49:01
>>202
longhorn開発中止かもしれないの?

217 :デフォルトの名無しさん:05/03/09 17:09:04
>>216
>>202が言いたいのは、Longhornは鋭意開発中だけど目玉機能が削られすぎて
新世代OSとは云えないじゃん、という嫌味なんじゃないの?

個人的には多くのことをマネージドコードで書けるようになるのは大歓迎だけどね。
生産性が高まりそう。

218 :デフォルトの名無しさん:05/03/09 17:29:59
よみがえるWinFS――LonghornではなくXPで
ttp://www.itmedia.co.jp/news/articles/0503/09/news051.html
Microsoftによると、Longhornには当初WinFSは含まれないが、
同技術のリレーショナルデータベース機能の威力を示すものとして、
デスクトップ検索機能が搭載される。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
また余計なことを…またEUとか米司法省とかが文句言ってくるだろう。

219 :デフォルトの名無しさん:05/03/09 18:43:55
単発の質問で申し訳ありません。
テキストボックスなどはボーダースタイルを3Dやシングルなどにできますが、
コンボボックスはデザインを変更できないのでしょうか?

220 :デフォルトの名無しさん:05/03/09 19:36:52
無理って云ったら?

221 :デフォルトの名無しさん:05/03/09 20:02:44
>>219
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=25127

222 :デフォルトの名無しさん:05/03/09 20:41:24
ファイル(&F)とかにするとショートカット追加できますが、
これを → キーとかに対して行いたい時はどう書けばいいんでしょうか?

223 :デフォルトの名無しさん:05/03/09 20:41:59
こんにちわ、初めまして、C#を始めたばかりの学生です。
あるボタンを押すとテキストボックスの文章の末尾にフォーカスを移動させたいのですが、
テキストボックスにフォーカスを移動させることはできるのですが、
文章の末尾に入力を持ってくることがうまくできません。
ご助言の方、どうか宜しくお願い致します。

224 :デフォルトの名無しさん:05/03/09 20:44:20
>>222
KeyPreviewとKeyDownとで自前実装。

>>223
SelectionStartが現在のキャレット位置に対応する。
SelectionLengthも気をつけて。

225 :222:05/03/09 20:46:16
ぁぅ 急にめんどくさくなるんですね。
今回はスルーします。
ありがとうございました。

226 :223:05/03/09 20:59:06
一応、むちゃくちゃですが、
TextBox1..Select(TextBox1.Text.Length,0);
っとやることでできました。

227 :デフォルトの名無しさん:05/03/09 21:05:27
>>226
それも正しいよ。無茶苦茶じゃない。ピリオドが一つ多いけどなw

228 :どなたか:05/03/09 21:54:58
不明なモジュールでNullReferenceExceptionが発生しました。
ソースコードの位置は特定できません。

スタートアッププロジェクトを変えると、たまにこのようなエラーが起こりませんか?
しかも、デバッグ実行の時のみで継続すると普通に継続できてしまう。。
このエラーが起こった人いませんか?


229 :デフォルトの名無しさん:05/03/10 12:03:14
>228
再インストール推奨。

230 :デフォルトの名無しさん:05/03/10 13:47:09
>>228
ネイティブコードのデバッグを有効にしてデバッグしてみたら?

231 :デフォルトの名無しさん:05/03/10 15:41:21
stringの初期化って、nullじゃダメなのかな?
クラスフィールドはnullで初期化されるので
俺はいつもnullでやってるんだが。

みんなはstring.Emptyでやってるの?

232 :デフォルトの名無しさん:05/03/10 16:15:45
""

233 :デフォルトの名無しさん:05/03/10 17:02:40
string.Empty
の方が速いって↑の方で云ってたなぁ
だから昨日とか今日もstring.Emptyにしてる。
それ以前はstring abc = "";だったw

234 :デフォルトの名無しさん:05/03/10 17:13:30
そんなものコンパイラがなんとかしてよと思ったけど
そうできないような違いが""とstring.Empryにはあるのか?

235 :デフォルトの名無しさん:05/03/10 18:37:32
質問なのですが、
どなたかmldファイルを再生する方法をご存知じゃないでしょうか?

236 :デフォルトの名無しさん:05/03/10 19:55:40
すいません。
DataGridで特定カラムのFocusを飛ばすって出来ますか?
DataGridTextBoxColumn.TextBox.TabStop=Falseだけじゃ上手く行かないので。


237 :デフォルトの名無しさん:05/03/10 20:33:13
CurrentCellChangedで監視。
前回の位置を保存しておいて、それを基に移す場所を決定。

238 :デフォルトの名無しさん:05/03/10 22:00:46
ずっと.NetFramework1.1使いつづけてきたんですが
1.1SP1にバージョンあげても問題ないでしょうか?
不具合が出たとか聞いたんですが。

239 :デフォルトの名無しさん:05/03/10 22:07:43
それはバージョンを上げるとは言わない。
私はSP1を当てて問題出てない。

240 :デフォルトの名無しさん:05/03/10 23:00:23
>>235
MIDIに変換するC#のコードがどっかで公開されていた。
んでMIDIに変換してからWindowsMediaPlayerのコントロールに渡せばよくない?

241 :デフォルトの名無しさん:05/03/10 23:44:11
Cマイナー

242 :デフォルトの名無しさん:05/03/10 23:46:16
キーボードの同時押し(↓+→+Z とか)を取得する方法があったら教えてください
DirectInput使うのは癪なので、.net frameworkでやりたいんですが

243 :デフォルトの名無しさん:05/03/10 23:55:06
キーボードの同時押しは保証されないとかどっかで読んだ気が。
いずれにせよ.NETのライブラリの範囲じゃ無理。
APIのGetKeyboardState関数かな?

244 :デフォルトの名無しさん:05/03/11 00:01:23
>>223二関連して
RichTextBoxでフォーカスがない時にScrollを一番下にするにはどうしたらよいのでしょうか?
SelectionStart= TextLength;
ScrollToCaret();
みたいにしても無理のようで(このメソッドではキャレットの位置はフォーカスがない時には移動されないようで)

RichTextBoxにバックグランドで長々と文字列を書き込むことを想定しているので、どうしたものかと・・


245 :デフォルトの名無しさん:05/03/11 00:09:52
>>244
http://pc5.2ch.net/test/read.cgi/tech/1065196964/433-434
どうかな?

246 :デフォルトの名無しさん:05/03/11 00:14:08
>>242
オイオイw、意外とWM_KEYDOWNとか見て無いんだよなw

247 :デフォルトの名無しさん:05/03/11 00:27:30
>>240
MediaPlayerのコントロールの存在に気付きませんでした。
これからmidi変換のソースを探してみます。

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

248 :244:05/03/11 00:30:45
おおお、まさにこれかも。試してみます。ありがとうございます。

249 :デフォルトの名無しさん:05/03/11 00:36:58
>>242
キー押された時間を取得してやればいい
check = Math.Abs(arrowdown-arrowright);
check2 = Math.Abs(arrowdown-keyz);
if (Math.Abs(check-check2) < 100) {
//statement
}


250 :デフォルトの名無しさん:05/03/11 00:39:53
ちなみにオートブレーキセーフティじゃないぞ

251 :デフォルトの名無しさん:05/03/11 01:02:40
>オートブレーキセーフティ
>オートブレーキセーフティ
>オートブレーキセーフティ

252 :デフォルトの名無しさん:05/03/11 01:07:44
if (arrowdown > arrowright) {
  max = arrowdown;
  min = (arrowright > keyz) ? arrowright : keyz;
} else {
  max = arrowright;
  min = (arrowdown > keyz) ? arrowdown : keyz;
}
if (max-min < 50) {

}

こっちのがいいか

253 :デフォルトの名無しさん:05/03/11 01:24:32
>>250
Anti-lock Braking Systemな、マジレス。

254 :デフォルトの名無しさん:05/03/11 01:53:26
マジレスで返されても困るけどな
昔CMであったから言っただけなのにw

255 :デフォルトの名無しさん:05/03/11 07:19:34
デザイナーでレイアウト時と実行時をUserControl側で判断する方法はないですか?
UserControl側でthis.DesignModeを使ってLoad時に判断しようとしてもうまくいきません。
そのUserControl編集中はうまく判断できるのですが、
UserControlをFormに貼り付けるとうまく判断されないのです。

256 :デフォルトの名無しさん:05/03/11 08:37:22
C#初心者です。
変数の宣言とか、関数の戻り値にnewとかつけますよね。
newをつけるときと、つけないときは、どう見ればわかりますか?

257 :デフォルトの名無しさん:05/03/11 08:54:12
class Class1{
    public override string ToString(){
        return "aaa";
    }
}

class Class2{
    public new string ToString(){
        return "bbb";
    }
}

////////

Class1 a = new Class1();
Object b = new Class1();
Class2 x = new Class2();
Object y = new Class2();

Console.WriteLine(a.ToString());
Console.WriteLine(b.ToString());
Console.WriteLine(x.ToString());
Console.WriteLine(y.ToString());


258 :デフォルトの名無しさん:05/03/11 11:34:17
>>255
フォームのデザイン時にも、UserControl側のif (DesignMode)の部分が実行されるが。

259 :デフォルトの名無しさん:05/03/11 15:31:11
Pointのような値型にはnullが代入できないのって不便じゃないですか?


260 :デフォルトの名無しさん:05/03/11 15:33:42
ごく希に不便を感じるが、なれればどうと言う事も。
.NET 2.0のNullableも面白いとは思うがどう実用するかというとDBNullに対応する以外に余り思いつかない。

261 :デフォルトの名無しさん:05/03/11 18:07:56
private void _btnPrint_Click(object sender, EventArgs e)
{
prndoc.PrinterSettings.PrinterName = (string)_listPrnNames.SelectedItem;
prndoc.PrinterSettings.Copies = 1;
foreach (PaperSource ps in prndoc.PrinterSettings.PaperSources)
if (ps.SourceName == (string)_listPaperSource.SelectedItem)
prndoc.DefaultPageSettings.PaperSource = ps;
foreach (PaperSize ps in prndoc.PrinterSettings.PaperSizes)
if (ps.Kind == PaperKind.A4)
prndoc.DefaultPageSettings.PaperSize = ps;
prndoc.DefaultPageSettings.Margins.Left =
(prndoc.DefaultPageSettings.PaperSize.Width - 2677 * 100 / 400) / 2;
prndoc.DefaultPageSettings.Margins.Right =
(prndoc.DefaultPageSettings.PaperSize.Width - 2677 * 100 / 400) / 2;
prndoc.DefaultPageSettings.Margins.Top =
(prndoc.DefaultPageSettings.PaperSize.Height - 3880 * 100 / 400) / 2;
prndoc.DefaultPageSettings.Margins.Bottom =
(prndoc.DefaultPageSettings.PaperSize.Height - 3880 * 100 / 400) / 2;
prndoc.Print();
}


262 :デフォルトの名無しさん:05/03/11 18:09:53

private void prndoc_PrintPage(object sender, PrintPageEventArgs e)
{
Graphics g = e.Graphics;
Image image = Image.FromFile(fileinfo[number].FullName);
Rectangle rect = new Rectangle();
// myrect(image, rect);
g.DrawImage(image, 0,0, 667, 970);

// g.DrawImage(image, rect.X, rect.Y, rect.Width, rect.Height);
if (++number < _listFilenames.Items.Count)
e.HasMorePages = true;
else
e.HasMorePages = false;
}

Microsoft PhotoEditorから印刷するよりも
このようなソースで印刷する方が、圧倒的に処理時間が長いんですよ。
PhotoEditorの印刷と、C#2.0での印刷って、そこまで違うもん
なのですか?PhotoEditorをなんらかのDLLでファイルオープンから
印刷まで操作できるのなら、それも良いのですが・・・・

263 :デフォルトの名無しさん:05/03/11 22:18:33
オーディオファンの皆様に朗報です。
たった1000円で皆さんのオーディオ機器を見違える程にバージョンアップ!
スピーカー、ヘッドフォン、アンプ、ケーブル、更にはiPodにまで使えます!それがエージングCDというモノ!
エージングとは新しいオーディオ機器を慣らすことです。
オーディオ機器は買った当初は音がなじんでおらず、
たいていの場合、音が硬かったり、こもったり、ヌケが悪かったりします。
スピーカーの場合、エッジやダンパーの張りの不均一、接着剤の乾き具合、コーンのよじれなどが原因だと言われています!
兎に角凄いCDです!そこらへんの同じようなCDよりも全然違います!
実際、私が試した時には新品のスピーカーは音が自然になり、
使い古したスピーカーも音の抜けが良くなり、当分買い換える必要がないなっと思った程です。
普通に使っていればエージングなんて不必要だと思う方もいますが、それはある意味、非常に残念な事だと思います。
エージングは進行が可逆的な為に定期的にエージングや消磁などをしないとどんどん音が濁っていくからです。
オーディオファンの皆様ならこの音の変わりようを『耳』で体感できるはずです。
http://openuser10.auctions.yahoo.co.jp/jp/user/voyager_820?
まずは1回試してみてください!

264 :255:05/03/12 01:43:16
ポートをListenするUserControlでDesignModeの時に実行させたくないんですが
そのUserControlを他のUserControlに貼り付けて、それをFormに貼り付けると実行されてしまうのです。
if(!DesignMode){
   this.ServerComponent.ListenStart();
}
みたいにしてるんですけど。デザイン時にポートがListenされてしまう・・

265 :デフォルトの名無しさん:05/03/12 01:43:54
>>263
スレ違い
サウンドプログラミング2
http://pc5.2ch.net/test/read.cgi/tech/1091054082/

266 :デフォルトの名無しさん:05/03/12 02:16:27
>>264
if(LicenseManager.UsageMode != LicenseUsageMode.Designtime && !this.DesignMode) {
とやってみる。
DesignModeプロパティが効かなくてもLicenseManager.UsageModeは効くことがある。逆もある。
でも、どっちも効かない場所もある……

DesignModeプロパティはコントロールがロードされる前など、コンストラクタとかではまず使えない。

267 :デフォルトの名無しさん:05/03/12 02:18:04
Formでボタン1で処理を実行し、Form上のTextBoxに経過を表示しする
そして、何時でもボタン2で中止するような物を作りたいのですが
ボタン1で処理をBeginInvokeで記述しようとすると、中止することができないのです。
どのようにしたらよいのでしょうか?
//Form内にて・・・
MyWebService webService = new MyWebService();
ThreadStart threadStart;//ThreadStartデリゲートを流用
void doSomethingButton_Click(object sender, EventArgs e){ doSomething();}
void doSomethind(){
  threadStart = new ThreadStart(doBody);
  this.BeginInvoke( threadStart, new object[]{});
}
void doBody(){
  richTextBox1.Text += webService.Test();
}
void stopProcessButton_Click(object sender, EventArgs e){
//?????????
}


268 :デフォルトの名無しさん:05/03/12 02:22:56
>>267
ManualResetEventかAutoResetEventを用意して停止したいときにSetメソッドを呼ぶ。
停止される側のスレッドの処理では時々WaitOneを呼び出して停止状態に入ったか確認する。

だが、そもそも複数スレッドから画面のコントロールを操作するな。

269 :デフォルトの名無しさん:05/03/12 02:25:55
なんかBeginInvokeを変に理解してね?
このコードじゃwebService.TestがUIスレッド上で行われる事になるんだが。
まさかTestメソッド内でスレッドを作ってるとかいう変態コードでもあるまいし。
この部分を別スレッドにしなきゃなんないんじゃ?
で、そのスレッドからBeginInvokeを呼ぶと。

んん、勘違いしてる?

270 :267:05/03/12 03:31:27
>>だが、そもそも複数スレッドから画面のコントロールを操作するな。
そういわれましても。。
デリゲート先が同期か非同期かわからなかったりするもので、スレッドは2つになってしまう可能性があるのです。
例えば、
Form1(){
  //.....
  HeavyProcessEngine hpe = new HeavyProcessEngine();
  hpe.Progress += new MyEventHandler(doSomething);
}
void doSomething(object sender, MyEventArgs evt){
  if(InvokeRequired)[
    this.BeginInvoke( new MyDelegate(evt) , new object[]{evt});
  }else{
    doBody(evt);
  }
}
void doBody(MyEventArgs evt){
   richTextBox1.Text += evt.Message;
}

271 :267:05/03/12 03:45:38
>>268,269 ありがとうございます。
>>269 267のコードではBeginInvokeいらないですね。。
やっぱり、変に理解しているかもしれないですけど。
#とりあえず、処理を中止する感じのコードはこんなになってしまいました。
//Form内にて
private delegate void MyDelegate(string text); Thread thread;

void doSomethingButton_Click(object sender, EventArgs e){ doSomething();}
void doSomething(){
  doSomethingButton.Enable = false;
  thread = new Thread(new ThreadStart(threadBody));}
void threadBody(){
  try{
    MySocket socket = new MySocket();
    socket.ListenStart();//60秒以内にコネクトがないとTimeoutExceptionを発生
  }catch(Exception ex){
    threadSafeMethod( ex.ToString());}
}
void threadSafeMethod(string appendText){
  if(InvokeRequired){
    this.BeginInvoke(new MyDelegate(_appendMethod), new object[]{appendText});
  }else{
    _appendMethod(appendText);}
}
void _appendMethod(string appendText){
  richTextBox.Text += appendText;
  doSomethingButton.Enable = true;
}
void stopProcessButton_Click(object sender, EventArgs e){
  thread.Abort();//<なんかダメッポ・・
}
ManualResetEvent系 勉強せねば。。

272 :デフォルトの名無しさん:05/03/12 16:39:29
初めまして、.net入門者です。
今まで、自宅サーバーでPerlを動かしていたのですが、
この度、C#を勉強することとなり、少し疑問に思ったことがありますので質問させてください。

自宅サーバーでホームページを公開する際、通常はCGIとしてPerlやPHPを使用しますが、
C#は使用できないのでしょうか?
また、ASP.netとC#の違いについてご教授をお願い致します。

273 :デフォルトの名無しさん:05/03/12 17:01:09
その程度自分で調べようとは思わないの?

274 :デフォルトの名無しさん:05/03/12 17:20:59
>>272
PerlでCGIプログラムを実現するように、C#でASP.NETを実現します。
PerlとCGIを比べるのが見当違いなのと同様に、C#とASP.NETは比較できません。

ここと
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
ここを
http://www.atmarkit.co.jp/fdotnet/aspnet/index/index.html
読み進めると少しずつ解ってきます。

あと教授じゃなくて教示な。

275 :デフォルトの名無しさん:05/03/12 17:28:43
書き忘れた。
C#でCGIも可能だけど、普通はしない。
ASP.NETアプリとして作ります。

276 :デフォルトの名無しさん:05/03/12 17:45:17
普段はC#でプログラム組んでるけど、Webアプリに関してはPHPを支持する。

277 :デフォルトの名無しさん:05/03/12 18:47:28
PHP(プッ

278 :デフォルトの名無しさん:05/03/12 19:10:12
さっそく釣られてるよ。馬鹿だ

279 :デフォルトの名無しさん:05/03/12 19:21:02
あるDLLのAPIが何らかのハンドルを返し、
失敗したらNULLを返すという動作をしてるのですが、
これをC#で戻り値がNULLかどうか判定するとき
if (handle.Equals(null))
とするのは正しいのでしょうか。
(CとかC++の)NULLの定義は((void *)0)とか0とか色々
書いてあってよく分からず、0ならば(handle==0)という式の方が
良いのかなーとか混乱してきました。

280 :デフォルトの名無しさん:05/03/12 19:25:58
ハンドルは.NETではSystem.IntPtrで表す。
System.IntPtrは構造体なわけで、null値は取り得ないってのは分かるね?

Windowsではハンドル値NULLは0の再定義。
あとはIntPtrのフィールドを良く読め。

281 :デフォルトの名無しさん:05/03/12 20:05:22
>280
即レス感謝です。
nullって参照型なんですね。構造体は値型と。
そして IntPtr.Zero を参照したところ、そのものずばりなコード例が
ありました。ありがとう。

282 :デフォルトの名無しさん:05/03/13 22:48:44
2173が3ヶ月待ちなんてありえませんが 
普通にどこの量販行っても3割引で在庫たっぷりだよ 

で、それはさておいてこのモデルは本当に買いだと思いますよ。 
電波ソーラーじゃなくても秀逸な国産時計。 
性能+作りがいいのに88200円で買えるなんて至福です。 
革だから嫌とか言う奴は一年中同じ時計一本ですか? 

283 :デフォルトの名無しさん:05/03/13 23:11:03
過疎化してるからって意味不明なこと書くなよ

284 :282:05/03/13 23:23:19
うわぁ!ここだったか・・・
誤爆しました、申し訳ない。

285 :デフォルトの名無しさん:05/03/14 00:40:40
VS.netで開発しているのですが、
起動時の引数 Environment.GetCommandLineArgs
がある状態のデバッグをしたいのですが、どうすればいいのでしょうか?


286 :デフォルトの名無しさん:05/03/14 00:42:22
わけわからん。
ブレークポイントの条件式でも書けば?

287 :デフォルトの名無しさん:05/03/14 00:46:39
>>285
昔のバージョンはデバッグ用に引数を指定できる機能があったから、
今のVSでも、探せばあると思うけど。

288 :デフォルトの名無しさん:05/03/14 00:46:52
時計板の連中は資本家なので嫌い

289 :デフォルトの名無しさん:05/03/14 00:47:42
>>285
プロジェクトのプロパティ→構成プロパティ→デバッグ→コマンドライン引数
のことでは。

290 :286:05/03/14 00:51:28
しまったそっちの話か……orz

291 :デフォルトの名無しさん:05/03/14 16:20:50
httpsサーバと通信するソフトを作りたいんですが
どこかに良い解説サイトありませんか?
httpは分かるんですがhttpsは分からないんです
認証とか暗号化とか

292 :デフォルトの名無しさん:05/03/14 16:24:00
普通にHttpWebRequestを使えばいい話だが。

293 :デフォルトの名無しさん:05/03/14 18:01:20
C#でタスクスケジューラーにタスクを追加したいのですが、
Win32_ScheduledJob
とやらを使うということしかわかりません。

どうしたらいいんでしょうか?


294 :デフォルトの名無しさん:05/03/14 18:04:45
WMI

295 :293:05/03/14 18:44:49
Win32_ScheduledJobがWMIの一つのクラスってのはわかってるのですが、
サンプルを探してもVBでSWbemつかってるのしか見つからなかったので
C#でのサンプルコード等あれば助かります。

296 :デフォルトの名無しさん:05/03/14 18:54:59
ほんとは探してないんだろ?
ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=C%23+WMI

297 :293:05/03/14 20:04:36
そこもみたのですが、タスク追加のやり方がわからないから
サンプルを探してるのですが…

プロセッサの情報を得るサンプルはほかにもありましたが、
C#で、Win32_ScheduledJobを使ってタスクを追加してるサンプルが
を探してます。

298 :デフォルトの名無しさん:05/03/14 20:16:13
情報の関連づけが下手な人だな。
ttp://wmifun.atinfinity.net/wmisample/win32_scheduledjobb.html
VBのサンプルを見るとWin32_ScheduledJobのCreateメソッドを使ってる。
じゃあC#でWMIのメソッドはどう書くのか?
ttp://www.google.com/search?num=100&hl=ja&q=C%23+WMI+%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89&lr=lang_ja

299 :293:05/03/14 21:38:20
ManagementPath path = new ManagementPath( "Win32_ScheduledJob");
ManagementClass taskClass = new ManagementClass(path);
taskClass.InvokeMethod ("Create", obj);
でよくわかってないけどいけました…

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

300 :デフォルトの名無しさん:05/03/14 22:35:32
「名前を付けて保存」のショートカットのAって何の略なんでしょうか?

301 :デフォルトの名無しさん:05/03/14 22:40:56
DataGridへバインドしたDataViewの再表示タイミングを
自由に設定できる方法をご存知の方いませんか?
(FlexGridのReDrawみたいな感じで)

RS232Cで50mm周期で受信したデータをDataViewへセットした
DataTableの行へ書き込むと(およそ100項目)
例外VersionNotFoundExceptionが発生してしまいます。
コードは大体以下のような感じです。

// RS232Cからの受信データをDataRowへ設定
// str_data_** は受信データ
// MyTableはDataView.tableへ設定済
DataRow dr;

dr = MyTable.Rows[0];
dr[0] = str_data_00;

dr = MyTable.Rows[1];
dr[0] = str_data_01;



dr = MyTable.Rows[99];
dr[0] = str_data_99;

DataRowが更新される度にDataGridが更新されてしまうので
全データをRowへセットしてから一括更新したいのですが。。

302 :デフォルトの名無しさん:05/03/14 22:46:58
Visual Studio 2003 C# で開発しています。
コントロールに描画されるフォントに関して質問です。
MS UI Gothic, 9pt を指定しているコマンドボタンがあります。

デスプトップのプロパティにてフォントサイズを大きくすると
上記で設定してあるボタンのテキストまで大きく表示されてしまいます。

画面を 1024x768 を想定し、画面に端から端までボタンがのっているような
画面で、デスクトップのプロパティにてフォントサイズを大きくすると
フォントが大きくなるのと同時に、コマンドボタンの幅まで大きくなり
とたんに1画面に入らなくなってしまいます。

デスクトップのプロパティのフォントサイズの設定にかかわらず、
常に一定のフォントサイズ、コントロールの大きさを保つように
する為には何か注意しないといけないのでしょうか?

ちなみに、上記のクライアントは Windows 2000 です。

よろしくお願いします。


303 :デフォルトの名無しさん:05/03/14 22:51:46
>>300
Alternateと想像ス

304 :デフォルトの名無しさん:05/03/14 22:52:11
画像にしてボタンに貼り付けるとか・・・

305 :デフォルトの名無しさん:05/03/14 22:53:32
>>300
Save &As だった気が

306 :デフォルトの名無しさん:05/03/14 22:53:50
>>300
Save 'a's

307 :デフォルトの名無しさん:05/03/14 22:57:33
mp3ファイルを速度を変えて再生するには何を使うのがいいでしょう?
Microsoft.DirectX.AudioVideoPlayback.Audioを使えば再生はできますが速度の変更ができません。


308 :デフォルトの名無しさん:05/03/14 23:28:49
MMO製作企画を立ち上げました。協力できる人はこちら
http://www112.sakura.ne.jp/~kaientai-project/creategame.htm

2chスレ
http://game10.2ch.net/test/read.cgi/mmominor/1109935948/

(言語は問わず!)開発環境、サーバーを持ってるプログラマ緊急募集です。

309 :デフォルトの名無しさん:05/03/14 23:32:54
>>307
取りあえずDirectShow。ManagedDirectXではサポートされてないけどな!
ttp://www003.upp.so-net.ne.jp/geek/programming/directshow/index.html

>>308
VC#2003しか持ってなくても大丈夫でしょうか?(w

310 :デフォルトの名無しさん:05/03/15 00:06:55
なんかワラタ

311 :デフォルトの名無しさん:05/03/15 00:10:34
>>308
なでしこでもいいですか?

312 :307:05/03/15 00:30:04
>>309
トンクス。
DirectShowのラッパをみつけたので使ってみます。
http://www.codeproject.com/cs/media/directshownet.asp

313 :デフォルトの名無しさん:05/03/15 00:38:04
DataTableの中が現在以下のような状態にあります
Columnがaからgまで存在し、行数が5つからなるDataTableがあります。
このDataTableから以下のようなDataTableを作ることは可能なのでしょうか?
カラムのa,b,cだけからなるDataTableを作りたいです。
  a b c
Row-1
2
3
4
5

314 :デフォルトの名無しさん:05/03/15 01:02:17
>>313
そのDataTableをどうするの?

315 :デフォルトの名無しさん:05/03/15 01:04:44
>>301
一旦DataSourceからはずすとか?
SuspendLayoutとかBeginInitとか組み合わせたらどうだろう。

316 :デフォルトの名無しさん:05/03/15 01:36:09
分割したいのですよ。
印刷するのに分割したデータに落としたいと思っています。

317 :デフォルトの名無しさん:05/03/15 01:41:29
どう印刷するんだ?
そもそもDataTableをどう取得してるんだ?
DataTableをどう使用してるんだ?

318 :デフォルトの名無しさん:05/03/15 02:04:49
分割できるか出来ないかが知りたいだけなのですが誰かわからないでしょうか?

319 :デフォルトの名無しさん:05/03/15 02:32:08
誰かわからない以前に、意味がよくわからん。
DataTable新しく作ってほうりこんだらだめなのか?

320 :301:05/03/15 06:47:03
315さんレスありがとうございます。
今日試してみます。

321 :デフォルトの名無しさん:05/03/15 10:34:50
>>318
出来ない。 DataTableを新しく作って1行ずつコピーする必要がある。
DataSetを簡易データベースだと思ってる人が多いな。インターフェイスは
似ているが基本的にデータ転送オブジェクトだから使い方を誤ってはいけない。
ニーズはあるからそういうヘルパークラスは作ってもいいかもしれないが、
そういうのがあると今度は、メモリで処理できないくらいのデータを詰め込んで
遅いとか言ってくるのが出てきそうだ。
今でも1万件を超えるデータをDBから条件なしでDataSetに読み込んで遅いと
言ってるのがいるからな。

322 :デフォルトの名無しさん:05/03/15 14:27:21
AxWebBrowserを使って、webページを表示しています。
web上のボタンをクリックしたときにサーバに送信しているデータを取得するにはどうすればいいでしょうか?

323 :デフォルトの名無しさん:05/03/15 14:59:51
フォームでPOSTしているデータなら、BeforeNavigateイベントでpostDataを見れば分かる

324 :322:05/03/15 15:16:38
ありがとうございます
しかしpostDataがどこにあるのかわかりません・・・
もう少し詳しくお願いします

325 :322:05/03/15 15:22:01
ごめんなさいpostDataの場所はわかりました
が、ためしにyahooなどで、検索時に取得してみたのですが
何も値が入っていません。これはどういうことでしょうか?

326 :デフォルトの名無しさん:05/03/15 15:29:17
YahooはGETだろ? アドレスの?以降にクエリ文字列が並んでる。

なんてかさ、HTTPの基礎をもう少しさぁ……。

327 :322:05/03/15 15:37:02
あぁぁ、ごめんなさい
そうですね、基本的なこと忘れてましたすみません

postDataを使用しているサイトのデータを見てみたのですが
中身がbyte配列で格納されているのは正常なのでしょうか?
文字列として取得することはできないのですか?

328 :デフォルトの名無しさん:05/03/15 15:44:20
前スレの319から100レスぐらい読め。
過去スレ見れないとか言う奴はにくちゃんねる行け。

329 :322:05/03/15 16:20:44
はじめてにくちゃんねる知りました
今から過去ログ読んできます

330 :デフォルトの名無しさん:05/03/15 17:10:09
FileSystemWatcherを使って、特定のフォルダを監視するアプリケーションを
作っています。
ウィンドウもコンソールも必要なく、サービスアプリにするほど大袈裟な物でも
ないのですが、どうしたら黙々とバックグラウンドで走らせることができるので
しょうか?


331 :デフォルトの名無しさん:05/03/15 17:14:26
/t:winexe
Application.Run()

332 :デフォルトの名無しさん:05/03/15 17:24:44
ここは肉ちゃんねるでした。

333 :デフォルトの名無しさん:05/03/15 17:48:44
>>330
普通のフォームで作っておいてVisible=falseでフォームを隠す。
>>332
ずっと壷ちゃんねるだと思ってたよ。今旬なのは8チャンネル(笑)。

334 :デフォルトの名無しさん:05/03/15 17:55:13
Part21 http://makimo.to/2ch/pc5_tech/1106/1106490240.html
Part20 http://makimo.to/2ch/pc5_tech/1103/1103005153.html
Part19 http://makimo.to/2ch/pc5_tech/1100/1100240847.html
Part18 http://makimo.to/2ch/pc5_tech/1096/1096112588.html
Part17 http://makimo.to/2ch/pc5_tech/1091/1091284402.html
Part16 http://makimo.to/2ch/pc5_tech/1087/1087297504.html
Part15 http://makimo.to/2ch/pc5_tech/1083/1083066815.html
Part14 http://makimo.to/2ch/pc5_tech/1076/1076933504.html
Part13 http://makimo.to/2ch/pc2_tech/1071/1071663456.html

335 :デフォルトの名無しさん:05/03/15 19:43:08
アルファチャネルを含むアイコンを正しく描画する方法はある?

336 :デフォルトの名無しさん:05/03/15 20:19:50
P/Invokeを使わないのならColorDepthが32bitのImageListにアイコンを突っ込んでImageList.Draw()。
なおVisualStyleが有効になっていないとダメ。

337 :デフォルトの名無しさん:05/03/15 23:31:29
そんだけでいいのか。
p/Invokeでがんばってたorz

338 :デフォルトの名無しさん:05/03/16 13:00:09
TCPで簡易チャットを作ろうと思っています。
微妙な質問なのですが、文字を送る場合、
NetworkStreamでWriteするのと
StreamWriterでWriteするのではどちらが良いでしょうか?
前者はバイナリですし、後者はテキストですよね??(あやふやな記憶ですが・・・

339 :デフォルトの名無しさん:05/03/16 13:17:43
>>338
前者はバイナリで、後者はテキストです
文字列を送る場合ならば Ascii または SJIS 指定の後者でどうぞ

340 :322:05/03/16 13:25:06
昨日はありがとうございました
無事に解決することができました
もう一つ質問なのですがAxWebBrowserを使って表示しているwebサイト上で
Javascriptが実行されたとします。
その実行を制御することはできるのでしょうか?

341 :デフォルトの名無しさん:05/03/16 13:40:17
>>339
速レス感謝致します。

342 :デフォルトの名無しさん:05/03/16 15:58:26
>>338
どの段階でエンコード、デコードするかって問題だから、べつだんどっちでもいいような。

343 :デフォルトの名無しさん:05/03/16 19:43:16
http://www.forest.impress.co.jp/article/2005/03/07/nasaworldwind_1r.html

このようにコントロールを透過するには
コントロールにbackの画像の範囲を張り込ませてalphaを薄めたフレームを重ねるしかないですか?
コントロールにFormみたいな透過プロパティがあったら便利なんですが。

344 :デフォルトの名無しさん:05/03/16 23:41:59
少なくともそれはDirectZでやってるみたいだよ

345 :デフォルトの名無しさん:05/03/17 01:56:25
VBではPoint(X,Y)という関数で、座標(X,Y)の位置に表示されている色コードを返すのがあるんですが、
C#でこれに相当する関数を教えてください。

346 :デフォルトの名無しさん:05/03/17 02:20:34
ActiveReportsを使用しているのですが、
印刷するオブジェクトが多い場合。
始めのページと次のページに跨ってオブジェクトが印刷されてしまいます。
これはどのようしたら直せるのでしょうか?
NewPage.Afterをしても発生するとき発生してしまい。お手上げ...

347 :デフォルトの名無しさん:05/03/17 04:44:17
>>346
経験無いなぁ。
どれぐらいたくさん?

348 :dancexxx1960:05/03/17 16:05:37
シリアルキー解析集「ALTEA」
大好評発売中!

http://openuser10.auctions.yahoo.co.jp/jp/user/dancexxx1960?


市販SOFTやオンラインSOFTのパスワード集です。
オークション関係から画像・OS・表計算・CAD・・・・etc
国内・国外のあらゆる分野のSoftを解析済です。


これを初めて手にされた時には、驚愕される事でしょう。
そして・・・手当たり次第にインストールを始める筈ですw
パソコンをご使用の方なら、必ず!満足されると思います。

解析結果のデータベースには15,000点を越えるパスワードが入ってます。
このパスワード集から検索するだけで、登録や制限解除が出来てしまいます。
シェアウェアを購入して、正規登録したのと同じ状態になります。
余りにもデータが多すぎる為、辞書引のようなパスワード検索SOFTで提供します。

シェアウェア以外にもパッケージ版をVectorなどでオンライン販売してるSOFTにも
多数対応しています。これらをダウンロードして無期限に試用する事も可能です(^^;

WindowsXPやOfficeなどのCDキー(プロダクトキー)ジェネレーターを使えば複数のパソコンに
インストールする事も可能です。デスクトップとノートPCなど2台以上持ってる場合は特に有効ですね。

オンラインSOFTを購入した経験は有りますか?
ありとあらゆる分野の優れたSOFTが、数多くありますよね。
しかし、ほとんどが試用期間や機能制限をして、「気に入ったら購入してください」です。

もう少し使いたいが使用期限切れで、削除・・・再インストールを繰り返していませんか?


349 :デフォルトの名無しさん:05/03/17 16:53:13
おいおい、nyとかMXで出回っているpandoraを転売かよw

350 :デフォルトの名無しさん:05/03/17 17:10:00
ALTEA?Michaelだろクズw

351 :デフォルトの名無しさん:05/03/17 17:32:43
>>348
マジで通報しますた

352 :デフォルトの名無しさん:05/03/17 21:07:56
>>345
Bitmap myBitmap=new Bitmap(Filename);
Color myColor=myBitmap.GetPixel(X, Y);


353 :デフォルトの名無しさん:05/03/17 21:24:22
ちょっとPCやネットを知ってる人間なら誰でも知ってるって情報がヤフオクではよく売られてるね。

354 :デフォルトの名無しさん:05/03/17 22:00:33
ここに貼る意味がわかんねw

355 :デフォルトの名無しさん:05/03/17 22:18:15
画像を読み込んだ後、4つの頂点を自由に設定して変形するようなメソッドってありますか。
GDI+だと線形しかなくて(´・ω・`)

356 :デフォルトの名無しさん:05/03/17 22:24:53
ちったあ.NetSDKのファレンス読めやカス

357 :デフォルトの名無しさん:05/03/17 22:42:58
>>356
読んで見つからなかったから質問したんだyp
warpじゃ実現できなかったし。

358 :デフォルトの名無しさん:05/03/17 23:22:30
参照型の配列で

ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_015/cs2_015_02.html

list15-4の
17行目のX2してる意味がわからない
同時に文字列がnewされているらしいが
なんでこれでnewになっているのか理解できない

わかる人誰か教えてください

359 :デフォルトの名無しさん:05/03/17 23:31:32
>>358
何が分からないのかが分からないが……。

>  17行目のX2してる意味がわからない

2倍したかったからだろ。
21行目で文字列の長さを見てるから、i>=5ならar[i]に入る文字列も2文字になる。(ar[5]は"10"が入ってる)

>  同時に文字列がnewされているらしいが
>  なんでこれでnewになっているのか理解できない

ToString()メソッドの中でString型のインスタンスが作成されてるから。
ToString()の返値がその作成されたStringインスタンス。

360 :デフォルトの名無しさん:05/03/18 22:15:48
>>359
newの部分はわかったのですが
X2している部分は要するに
X2する必要は何もないのだけれど
ただこの場合はたまたまX2しているだけであって
X2のような式はまったく必要ないということでいいんですか?

361 :デフォルトの名無しさん:05/03/18 22:22:22
そだよ。
あと、直接式の返値のメソッドを呼ぶって意味のサンプルでもある。
だから別に(i + 5).ToString()でも(i * i * 5).ToString()でもなんでも良い。

362 :デフォルトの名無しさん:05/03/19 01:05:54
格納したIPアドレスを1足したり引いたりしたいのですが、
どこかに情報ないでしょうか?

363 :デフォルトの名無しさん:05/03/19 01:11:45
どこにどういう形で格納したのかも分からないのに答えられるわけ無いだろ。

364 :デフォルトの名無しさん:05/03/19 01:53:41
>>362
IPをunitに変換して-1してからIPにもどせばいい
できないなら死ね

365 :デフォルトの名無しさん:05/03/19 02:12:43
あれだ、仮にIPが192.168.1.1だとしたら
単純に文字「.」でSplitして、[3]が0なら10の位も変える
0ぢゃないなら[3]の数字だけ変えるってのはどうよ?

366 :デフォルトの名無しさん:05/03/19 02:13:55
>>365
小学生でもマシなルーチン考えるぞ?


367 :デフォルトの名無しさん:05/03/19 02:21:09
毎日ちょっとずつ総当りでポートスキャンするPGだろうからほっとけw

368 :デフォルトの名無しさん:05/03/19 09:30:32
フォームのリサイズでDockプロパティを使わずに
textBoxとかもリサイズさせるのは
以下を追加するだけではないのでしょうか?
まったく変わりません。。。。
private void Form1_Layout(object sender, System.Windows.Forms.LayoutEventArgs e)
{
textBox1.Height = ClientRectangle.Height;
textBox1.Width = ClientRectangle.Width;
}

369 :デフォルトの名無しさん:05/03/19 09:37:22
そのメソッドをLayoutイベントに追加したか?

370 :デフォルトの名無しさん:05/03/19 10:11:16
>>359,361
わかりました
ありがとうございました

371 :デフォルトの名無しさん:05/03/19 11:24:10
>> 369
これ自体がLayoutイベントではないの?

372 :デフォルトの名無しさん:05/03/19 11:47:14
>>371
それ自体はただのメソッド。
オブジェクトのイベントに登録する事で、イベントが発生した時にそのメソッドが実行されるようになる。

で、VSの雷マークでやったならその登録が自動的に行われるんだが……。
まずどうやってこのメソッドを作ったのかな。

373 :デフォルトの名無しさん:05/03/19 12:30:21
他のイベントを真似して作りました

374 :デフォルトの名無しさん:05/03/19 12:34:12
なら、
フォームのデザイナを開いてフォームを選択して、
プロパティの雷マークをクリックしてイベント一覧を出して、
そこのLayoutイベントに作成したメソッドをいれな。

375 :デフォルトの名無しさん:05/03/19 12:51:30
>>374
373は偽者ですが、確かにそのとおり^^

うまくいきました
ありがとうございました!

376 :デフォルトの名無しさん:05/03/19 13:22:42
VB6でタイプライブラリを通じて他アプリを操作してました。
同様なことをC#でやりたいと思っているのですが、タイプライブラリ側が提供する
Variantを{引数|戻り値}とする関数はどう扱えばいいのでしょう?
単純にVariantをobjectにすればいいだけでしょうか?
それともケースバイケースの対応(≒.NETへの対応待ち)が必要になるのでしょうか?

377 :デフォルトの名無しさん:05/03/19 13:32:13
まあobjectでやりとりすればいいんじゃね。

378 :デフォルトの名無しさん:05/03/19 17:46:26
XPathDocumentを使わないといけないんらしんだけど、さっぱりだよぉ〜

root
+A
└1234
└5678
└7890
└0092
+B
└1234
└5678
└7890
└0092
+C
└5678
└7890
└0092

こんな風にrootにA,B,Cがぶら下がっててrんだが

XPathNodeIterator iter = nav.Select(@"/root");
でA,B,Cの3つのなまえとりたいんだけど

iterのカウントが1でちっとも取得できん〜
なにがわるいのかおせーて〜!

379 :デフォルトの名無しさん:05/03/19 17:59:13
何が悪いってXPath式の理解じゃないか?
/がルートノードから検索開始。
その子供のroot要素を取得。
ほらXPath式通りroot要素一つが帰ってきてるじゃないか。
ttp://www.asahi-net.or.jp/~ps8a-okzk/xml/xpath10/new.html

380 :378:05/03/19 18:15:30
XPathNodeIterator iter = nav.Select(@"/root");

XPathNodeIterator iter = nav.Select(@"//root/*");
って書き直したら
iterに要素数の3は入りました!


A,B,Cの名前がまったくとれないっすよぉ。。。

rootって名前ばっかりとってきてしまう。。



381 :デフォルトの名無しさん:05/03/19 18:19:07
>>380
iter取った後のコードを書いてみな。

382 :378:05/03/19 18:32:07
以下の3行セット、計4パターンためしましたが
からっぽか、rootってはいっております。。。
iter.countは3なのでA、B、Cはとれてるとおもうんですがぇ;;

//iter.Current.MoveToFirst();
//Console.WriteLine( iter.Current.Name );
//Console.WriteLine( iter.Current.Value );

//iter.Current.MoveToFirstChild();
//Console.WriteLine( iter.Current.Name );
//Console.WriteLine( iter.Current.Value );

XPathNavigator nav3 = iter.Current.Clone();
//nav3.MoveToFirst();
//Console.WriteLine( nav3.Name );
//Console.WriteLine( nav3.Value );

//nav3.MoveToFirstChild();
//Console.WriteLine( nav3.Name );
//Console.WriteLine( nav3.Value );


383 :デフォルトの名無しさん:05/03/19 18:42:16
>>382
……。
イテレータ書いた事無い? .NETにおけるIEnumeratorだけどさ。

XPathNodeIteratorはXPath式で取得したノードを順に取得するためのイテレータクラス。
XPath式で取得したノードを順に取得するのはXPathNodeIteratorであって、
XPathNodeIterator.Current、つまりXPathNavigatorは現在イテレータが指しているノードを表すだけなんだけど。

もう一度XPathNodeIteratorのメンバを見てごらん。

384 :378:05/03/19 18:56:39
うあああ!!!!
そうか!!!

このお試しコード、値がとれてるかどうかを試すためにかいたんだけど、
うしろに
while (iter.MoveNext())
{
}
ちゃんとやってた。。

whileの中にいれたら、取れました。
ううう、勘違いというか、あきらかに知識不足でした・・・

>>383さんありがとおおお!!!


385 :デフォルトの名無しさん:05/03/20 00:55:06
Font Font = new Font()
とか書いてると馬鹿になった気になるな。
省略表記キボンヌ。

386 :デフォルトの名無しさん:05/03/20 01:43:08
JavaからC#に移行してはや2年、
ドメインを取得してホームページをリニュアルしたから、
折角だし掲示板とかチャットを自作しようと思っている。
そこで使用する言語の選択肢が4つ、

・ASP.net with C# → 恐らくスムーズにいくのでは?
・Ruby → 国産言語なの?なんか仲間内で評判が良い
・PHP → 将来性を考えると・・・職場のPCもLinuxだしw
・Perl → なんせ実績がw、それに基本的な事は知ってるしw

一応、現時点ではASP.netにしようと思ってるんですけど、
どうも将来性がないんぢゃないかと思ってしまう。・゚・(ノ∀`)・゚・。
Rubyは好印象なんだけどイマイチ普及率が・・・

う〜ん、どれが良いでしょうね?(っていっても答えづらいし・・・)
要は、「一番将来性があるのはどれでしょう?」

387 :デフォルトの名無しさん:05/03/20 02:07:03
>>386
PHPじゃないか?
PerlはPerl6で.NETみたいな包括的なスクリプトになるらしいけど。

ASP.netは自鯖とか持ってない人は使えるフリー鯖ってないから
あんまり使われてないから資料もすくないし普及してない。

388 :デフォルトの名無しさん:05/03/20 02:12:39
ASP.NETは企業のWebシステムでの利用が一番多いだろうね。

389 :デフォルトの名無しさん:05/03/20 02:17:22
というかそれだけだろう。
IIS5でのNimda騒ぎでIISなんて動かそうとも思わん

390 :デフォルトの名無しさん:05/03/20 03:15:55
>>386
>>388 の言うとおり、企業システムでは ASP.NET 思った以上に普及してるから
将来消えてなくなるということはないと思う。

最近、商用=ASP.NET、フリー=PHP が主流な希ガス。

391 :デフォルトの名無しさん:05/03/20 03:29:23
ASP.NETがmonoやprotable.NETで使えるならもう少し希望はあるかも

392 :デフォルトの名無しさん:05/03/20 09:27:01
将来なんて曖昧なこと云い出すと、どの言語も遅かれ早かれ消えるんじゃないの?
今現在の自分のスキルで一番生産性が高いものを選ぶのが正解だと思うけどなあ。
それがここの住人にはC#ってことだと思った。

よーしチラシの裏に清書するぞー

393 :386:05/03/20 09:33:12
皆様非常に参考になりました、
確かに.aspって拡張子も.phpって拡張子も同じくらい多く見かけますよね、
一応、急いでいるワケでもないのでPHPとASP.net両方囓ってみますわ
mono+ApacheでLinux環境でもASP.netが使用できる日が来れば理想的なんですけどね・・・

394 :デフォルトの名無しさん:05/03/20 09:36:33
PHPは非常にとっつきやすいのでおすすめ。楽しいよ。

395 :デフォルトの名無しさん:05/03/20 09:58:56
オブジェクト指向に慣れきった身としてはRubyに惹かれるんだがなー。
文法がC系だったら良かったのにー。

396 :393:05/03/20 10:06:02
あれから30分ほど少しPHPを囓ってみました。
無理です!PHPの言語の仕様(というより思考?)自体は嫌いではないんですけど
パッと見た時のソースの綺麗さ(個人的に$とか&とか記号を多様するのは苦手です!)
がJava&C#という流れで来たのでどうしてもなじめません。・゚・(ノ∀`)・゚・。
う〜ん、分かってもらえるか分からないんですけど、
C#とかJavaってC++とかとパッと見た時の印象が違うんですよね、
やっぱIIS+ASP.netになってしまうかも・・・

もうC#中毒かもしれません・゚・(ノД`)ヽ(゚Д゚ )ナクナ ゴラァ!!

397 :デフォルトの名無しさん:05/03/20 10:25:22
コンボボックスをReadonlyにするほうほうってありますか?

398 :デフォルトの名無しさん:05/03/20 10:26:54
DropDownStyle

399 :デフォルトの名無しさん:05/03/20 10:49:07
>>396
漏れと同じだ。ソースが$や&だらけになって、どうしても見た目に馴染めなかった。
PHPは悪くないのにな。
Web系の言語でもColdFusionは違和感がなかった。Javaが土台だからC#派の
漏れと波長が合ったのかなw

400 :デフォルトの名無しさん:05/03/20 11:13:46
ソースの奇麗さでいうと漏れ的にはこんな感じかな
C > Ruby > PHP > Java >>> C++ >>> C# > ASP >>>>>> Perl

401 :デフォルトの名無しさん:05/03/20 11:28:33
>>399
ColdFusionも#だらけじゃん。XML風でもXML準拠でない奇妙な構文だし。
お前の違和感の基準が分からん。

402 :デフォルトの名無しさん:05/03/20 12:31:31
>>401
ASP.NETでいうコードビハインド的な書き方をしないと確かに#だらけになるよな。

403 :デフォルトの名無しさん:05/03/20 12:46:01
環境に制約が無いなら自分が書きやすいと思った言語使えばいいじゃない。
C#+ASP.NETは良くできてると思う。

404 :393:05/03/20 13:41:23
ソースの綺麗さに対する基準はやっぱ皆さん異なるんでしょうけど、
個人的に一番綺麗だと思うのはJava&C#ですね・・・
オブジェクト指向でない言語は綺麗には見えません・゚・(ノД`)ヽ(゚Д゚ )ナクナ ゴラァ!!

405 :デフォルトの名無しさん:05/03/20 13:43:31
私はプログラミングの初心者ですが…教えて欲しいことがあります。
それはタイトル通り、アクセス制御及びパスワード認証プログラミングについてです。
色々と詳しい事を教えていただけないでしょうか?
@自分でホームページをDreamweaver4で制作しています。
A目的はWebショップ用です。
B会員制にしようと思っています。
Cでも、資金はありません
Dやる気はかなりあります!
どうか色々と教えて下さい。本気な為、荒しは遠慮下さい

406 :デフォルトの名無しさん:05/03/20 14:23:09
ぱぱー
もっとおいしそうな餌がほしいー

407 :ヘ(゚∀゚ヘ)アヒャ:05/03/20 15:51:30
>>405
もう少し具体的に教えて欲しいなぁ・・・
まず、作りたいのはローカルで動くWin32アプリ?orサーバーで動くWebアプリ?
Webショップをしたいなら既成のPHPとかPerlのプログラムを改良するのが良いと思われ、
Webショップを作りたいならドメインは取った方が良いね、
資金がなくても1年に1000円くらいなら大丈夫でしょ?
あと、自分もDreamweaver使いだけど、バージョンアップすべきだよ・・・
MX2004が出てるから息子にアカデミックを買わせるor海賊版でもいいから(オイオイ)バージョンアップすべき。

↑の方で話題に出てるけど、まぁC#の経験があるならASP.netが無難だね

408 :デフォルトの名無しさん:05/03/20 16:08:21
へー息子さんいるんだ

409 :ヘ(゚∀゚ヘ)アヒャ:05/03/20 16:10:13
>>408
ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ
まぁあくまで私の場合ですけどねw
VisualStudioなども私ではなく、息子に買いに行かせています(苦笑
値段が全然違いますから・・・

410 :デフォルトの名無しさん:05/03/20 16:26:42
ぱぱー
もっとおいしそうな餌がほしいー


411 :デフォルトの名無しさん:05/03/20 16:27:22
へーC#の経験あるんだ

412 :デフォルトの名無しさん:05/03/20 19:38:28
やる気だけで出来たら苦労しないよ。
やる気が有っても無くてもなんも変わらん。

413 :デフォルトの名無しさん:05/03/20 21:50:20
>>412
やる気がないと挫折orz

ドラッグ&ドロップでフォーム上に落とされた画像ファイルを
指定した形式に変換して保存するソフト作ってるんだけど
パスに日本語が入ってないとうまくいくけど
日本語が入ってると処理が一切されないんだが。

デバッグしたらパスの取得まではうまくいってるけど
画像判別のためにBitmapを作成されるところから処理が一切されない
ようになってた。

解決方法教えてくれ。

414 :413:05/03/20 21:52:57
日本語は関係なかった。
ファイルサイズが0KBだとうまくいかなかっただけだった。

415 :デフォルトの名無しさん:05/03/21 00:25:17
aspx(.NET)はともかくASPみたいなコード用のタグを使いたいならJSPでいいじゃん
というかですね、どうせチャット自作するならKeepAliveなチャットにしなさい
CGI-Perlで出来ることをわざわざ別の言語で実装したってたいした勉強にはならない

416 :デフォルトの名無しさん:05/03/21 00:49:09
string[] foo= {"","","",""}みたいに宣言してあるものを
コードの途中で初期化できませんでしょうか?


foo[0]="hoge1";
foo[1]="hoge2";
foo[2]="hoge3";
foo[3]="hoge4";

使い終わったので、
foo[0]="";
foo[1]="";
foo[2]="";
foo[3]="";
こんな風に全部の要素に""いれればいいんですけど

↓こんな風に初期化したい。(これだとエラーになる)
foo = {"","","",""}




417 :デフォルトの名無しさん:05/03/21 00:52:42
空文字列は初期化なのか? と言う気はするが。

無いね。
forで回すか。

418 :デフォルトの名無しさん:05/03/21 00:55:14
>>416
foreach (String it in foo) {
    it = "";
}

で出来ないかな

419 :416:05/03/21 00:56:21
正確にいうと初期化じゃないですね^^;

>>417さん
すばやい返事ありがとうです。
forにしまつ!

420 :416:05/03/21 00:57:57
>>418さんも回答ありがとぉ〜〜〜〜〜〜!!



421 :デフォルトの名無しさん:05/03/21 01:00:41
>>418
無理。

422 :デフォルトの名無しさん:05/03/21 01:07:40
>>416
これじゃ駄目なのかな?
foo.Initialize();

423 :デフォルトの名無しさん:05/03/21 01:15:33
>>422
>このメソッドは、コンパイラが値型配列をサポートできるようにするためのものです。
>ほとんどのユーザーはこのメソッドを使用する必要はありません。
>参照型配列ではこのメソッドを使用しないでください。

>Array が値型 Array ではない場合、または値型に既定のコンストラクタがない場合、 Array は変更されません。

>値型 Array は任意の下限および任意の次元数を持つことができます。

>注意   このメソッドはコンストラクタがある値型でだけ使用できますが、
>    C# にネイティブな値型にはコンストラクタがありません。

事実上C#じゃ無意味。
それ以前にstringじゃどうしようもないし。

424 :デフォルトの名無しさん:05/03/21 02:20:04
>>423
dクス。試した。

425 :デフォルトの名無しさん:2005/03/21(月) 12:01:53
i = 1;
if(checkBox[i].Checked){
// 処理
}
という風なのはどうすればいいのですか?
どうしてもエラーになってしまいます。


426 :デフォルトの名無しさん:2005/03/21(月) 12:12:20
えーと、VB出身者がよく要望を出すコントロールの種類ごとのコレクションって奴を望んでるの?
個人的にはそんな不安定な手法は大ッ嫌いなんだけど。
ttp://dobon.net/vb/dotnet/control/buttonarray.html

427 :デフォルトの名無しさん:2005/03/21(月) 12:38:27
>>426
大ッ嫌いですか・・・。
いろいろ考えてみます。
ありがとうございました。

428 :デフォルトの名無しさん:2005/03/21(月) 18:21:42
過去ログを読みましたところ、C#でASP.netではなくCGIを作れるようなのですが、
一体絶対どういう風に作るのでしょうか?
試しに
using System;
namespace csc
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Console.WriteLine("Content-type: text/plain\r\n\r\n");
            Console.WriteLine("Hello World");
        }
    }
}
こんな単純なHelloWorldを作り、IISのcgi-binに入れたところ動作はするのですが起動時間がかかってしまい、
到底、CGIとしては使い物になりません。
http://www.mythique.org:81/cgi-bin/csc.exe
そもそも↑のプログラムが鯖で動いているのかクライアントで動いているのかさえ分からない状態なので(´Д⊂グスン

429 :デフォルトの名無しさん:2005/03/21(月) 18:29:10
>>428
それでCGIとして成立してるけど、まあCGIにする意義は無いよな。

430 :428:2005/03/21(月) 18:36:09
>>429
まぁ意味がないのは分かっているのですが、好奇心というかなんというか・・・
これで起動がもっと速かったら実用的なんですけどね・・・
起動してからの処理はPerlなんかより圧倒的に速いみたいなんですけど、
動き出すまでが遅いという・・・ヽ(`Д´)ノウワァァァン

Consoleアプリを初めて作ったのですが(オイオイ)、初歩的な質問をしてもいいですか?
PerlなどならHTMLなどを出力するときに
print <<"EOM";
<html>
…省略…
</html>
EOM
みたいなことができるのですが、C#ぢゃやはり無理ですかねぇ?

431 :428:2005/03/21(月) 18:40:34
MSDNに普通にありましたw

string myString1 = "This is the first line of my string.\n" +
                   "This is the second line of my string.\n" +
                   "This is the third line of the string.\n";
string myString2 = @"This is the first line of my string.
This is the second line of my string.
This is the third line of the string.";

432 :デフォルトの名無しさん:2005/03/21(月) 19:05:39
コントロール配列はVBの癌

433 :デフォルトの名無しさん:2005/03/21(月) 19:07:46
つかC#でCGIって無謀過ぎだろw
CとかC++なら分かるけど(・∀・)チンポー!!
所詮C#だよ

434 :デフォルトの名無しさん:2005/03/21(月) 19:25:44
まあ、CGIも無謀ではないけど、C#使うならASP.NETにしろよ。

435 :428:2005/03/21(月) 20:35:49
「C#でCGI作ったって意味がない!」
っと高を括って色々試してみたのですが、一つ大きな収穫がありました!
ご存じの通り、ASP.netはIISでしか動きませんよね?Apache+monoっていう手もありますが、
monoは発展途上でまだ実用的ではありません。

ただ、当たり前と云えば当たり前なんですけど、
exeのCGIなら和製のANHTTPDとかでも普通に動いてくれるんですよね、
http://www.mythique.org/cgi-bin/csc/csc.exe
実際、↑はANHTTPDで動いていますから・・・

ですので
・鯖はWindowsぢゃなくぢゃ嫌だぁ!ヽ(`Д´)ノウワァァァン
・だけどIISは使いたくないよ!ANHTTPDとかApacheが(・∀・)イイ!!
・PHPもPerlも嫌い!C#で作りたい!v( ̄Д ̄)v
なんて自己中かつ贅沢極まりない輩にはC#でCGIってのは良いかも知れませんね、
(まぁ実際、そこまでWindws非IISでC#にこだわる人はいないでしょうけど)

けど良い勉強になりました。
有り難う御座います。

436 :デフォルトの名無しさん:2005/03/21(月) 20:50:01
Linux + Apache + MySQL + PHP
→通称ランプ(LAMP)環境

Windows + Anhttpd + C#
→WAC#環境?( ・∀・ )ノ カコワル-イ!!(-Д-)ダサイ

まぁCGIなんて言語はなんでも良いワケで、
WAVBとかWAJAとかなんでもアリになってしまうなw

437 :デフォルトの名無しさん:2005/03/21(月) 20:55:48
C で書け

438 :デフォルトの名無しさん:2005/03/21(月) 21:07:35
便乗して色々考えてみる

Assembly    WAA
C   WAC
C++ WAC++
C#  WAC#
Basic   WAB
Pascal  WAP
Ruby    WAR

つまらねぇ

439 :デフォルトの名無しさん:2005/03/21(月) 21:10:51
MySQL とか PHP ならともかく、C だと NativeCGI だから WAN じゃね?

440 :デフォルトの名無しさん:2005/03/21(月) 21:25:31
俺はbatファイルだが、何と呼べば?

@echo off
echo Content-Type: text/plain
echo.
echo Hello, CGI!

441 :デフォルトの名無しさん:2005/03/21(月) 21:38:30
>>440
Bad

442 :428:2005/03/21(月) 21:47:49
え〜と、質問が何点かあるんですが、
普通、C#のコンソールアプリに引数を渡す場合って例えば
C:\> xxx.exe abc 123
とかいう風にしますよね?
C#のCGIの場合、
http://www.mythique.org/cgi-bin/csc/csc.exe?abc
ってやれば無事に1つ引数を渡せてargs[0]がabcになるんですよ
けど2つめ以降はどうするんでしょう??


443 :デフォルトの名無しさん:2005/03/21(月) 21:50:05
>>442
引数を表示するようにしとけーw

&で区切れば良いんじゃない?

444 :428:2005/03/21(月) 22:16:04
>>443
はい、
一応改良しておきました。

static void Main(string[] args)
{
    Console.Write("Content-type: text/plain\n\n");
    try
    {
        Console.WriteLine(args[0]);
        Console.WriteLine(args[1]);
        Console.WriteLine(args[2]);
    }
    catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

一応、↑のURLだと1つめの引数は渡せています。

445 :428:2005/03/21(月) 22:17:13
あ!早速試したところ、>>443さんが云うように&で普通に区切れましたw

446 :428:2005/03/21(月) 22:23:13
あ〜、また問題が発生です、
普通、CGIなら
xxx.cgi?mode=1&pass=123&ID=abc
って感じで通るぢゃないですか、
けどC#だと「=」を入れないで
xxx.exe?1&123&abc
みたいにするので、普通に呼び出すときならいいんですけど、
HTMLフォームから呼び出すとpass=123みたいな書式で「=」が入ってしまってエラーになるんですよ・・・
う〜ん、やはり皆さんが言うとおり辛いですね・・・

447 :デフォルトの名無しさん:2005/03/21(月) 22:29:18
>>446
自分で分割しろよ

448 :デフォルトの名無しさん:2005/03/21(月) 22:32:18
>>446
Environment.CommandLineプロパティならどうかな。

449 :デフォルトの名無しさん:2005/03/21(月) 22:33:35
日記はチラシの裏へ。

450 :デフォルトの名無しさん:2005/03/21(月) 22:36:47
VisualC++は分かるがVisualC#何ナノ?

451 :428:2005/03/21(月) 22:36:51
>>447
受け取ってからなら分割なんていくらでもできるのですけど、
受け取る段階でエラーを吐いちゃうんですよ・・・

>>448
早速試してみます。

452 :デフォルトの名無しさん:2005/03/21(月) 22:40:28
流石C→三冠達成

453 :デフォルトの名無しさん:2005/03/21(月) 22:40:51
>>450
起動が遅いとか云ってたけど十分ぢゃない?
色々機能を付けないと分からないけど別に起動が遅いってわけぢゃなさそうだね

454 :デフォルトの名無しさん:2005/03/21(月) 22:45:11
>>453
確かに起動が遅い。が、苦にはならない。
C++とC#の違いは起動時間。ひとつ学習。さらに学習。かなり学習。

455 :428:2005/03/21(月) 23:18:27
起動してからはC#が速いみたいですね、
起動までが遅いですが・・・
http://feconi.azo.to/csharp/compare01.php
起動後が本当に速いのかどうか上のサイトを参考にして
PerlとC#の速度を測って見ました。

C#のCGIは
http://www.mythique.org/cgi-bin/cst.exe
PerlのCGIは
http://www.mythique.org/cgi-bin/perl.cgi

マシン
IBM ThinkPad X23
低電圧版 PentiumV 866Mhz
RAM128+512MB
って感じです。

456 :デフォルトの名無しさん:2005/03/21(月) 23:21:20
それ以前に一つ一つ別プロセスとして起動するわけで、
.NETじゃメモリの圧迫とかきつくね?

457 :デフォルトの名無しさん:2005/03/21(月) 23:24:39
>>455
貴重な情報あんがと。
起動時間以外に差はある?



458 :デフォルトの名無しさん:2005/03/21(月) 23:36:45
>>455
C#、はえーな。
暇があったら、テキスト処理とか、クラスを使った処理とかでも比べてみるかな。

459 :428:2005/03/21(月) 23:39:52
やっと>>455の2つのCGIがまともに動くようになりましたので、
宜しくお願い致します。(さっきまでは巧く動いてなかったかもしれません。)
Perl版の方が上のサイトでは
printf("");
という風になってたのを
print "";
に直しました。
また、両方に一応
Content-type: text/plain
を吐き出させるようにしました。

460 :デフォルトの名無しさん:2005/03/21(月) 23:44:17
>>455のサイトは読んだことあったけど改めて実際に動かして体感すると全然スピード違うんだね
まぁ言語によって得意不得意があるとはいえ、それ以上に差が開いていて吃驚した。
つまりC#は起動が遅いから単純なBBSとかならPerlの方が速くて、
思い動作をさせるならC#の方が有利ってことでOK?

461 :デフォルトの名無しさん:2005/03/22(火) 00:10:13
リッチテキストのRtfコードの生データに触りたいんですが、
ttp://dobon.net/vb/dotnet/programing/typeinvokemember.html
ここの情報を元に、
string str = (string)r.GetType().InvokeMember("textRtf",
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.GetField,
null,
r,
null);

というコードでやってみたんですが、Nullしか戻ってきません。
何が間違ってるんでしょう?
出来ればポインタまで行きたいんですが。


462 :デフォルトの名無しさん:2005/03/22(火) 00:16:02
やってみた。
C# -> time: 171
Perl -> time: 9083
C#やたら速いんだが。

463 :デフォルトの名無しさん:2005/03/22(火) 00:19:42
思っていた以上にC#って速いんだな・・・
ネイティブぢゃないからPerl並に遅いと思ってたw

つか>>446にもあるけど、C#ってPOST&GETをどうやって受け取るんだろう?

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

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)