C♯相談室 Part10

1名無しさん♯

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


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

関連リンク
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5B%A5%EA%A5%F3%A5%AF%5D%5D
2名無しさん♯:03/05/02 11:27
前スレの終盤が最も有意義でしたな。
>>1
もつかれ様
>>1
おちゃかれ様。
C言語でお勧めのコンパイラーを教えてください。
C言語の質問スレッドで聞いてください
Enterprise Solution Patterns Using Microsoft .NET
http://msdn.microsoft.com/architecture/patterns/
http://gotdotnet.com/team/architecture/patterns/patterns.aspx

.NETでもこういうトピックが出てきていい感じでつね。
9デフォルトの名無しさん:03/05/03 02:52
フリーの開発環境『SharpDevelop』使ってみた人います?
とりあえず俺は先ほどインスコして起動してみただけですが、
やりすぎってくらい見た目VisualStudio.NETです。
正直、割れ物かと思った。

http://icsharpcode.net/
http://sharpdevelop-jp.sourceforge.jp/
>9
専用スレまで立ってるのに何を今更。
一応、関連スレ
くだすれC#(Part3)
http://pc2.2ch.net/test/read.cgi/tech/1047210828/
フリーの.NET統合開発環境「SharpDevelop」
http://pc2.2ch.net/test/read.cgi/tech/1023727377/
C♯って死滅しちゃうの? Part16
http://pc2.2ch.net/test/read.cgi/tech/1051606624/
【Terrarium】 .NET で虫をつくろう! 2
http://pc2.2ch.net/test/read.cgi/tech/1051099212/
DirectX C# vol.1
http://pc2.2ch.net/test/read.cgi/tech/1040435898/
C#って死滅する理由がないよね! Part4
http://pc2.2ch.net/test/read.cgi/tech/1042464104/
VC♯.NET統合スレッド
http://pc2.2ch.net/test/read.cgi/tech/1045307942/
♯♯♯Shared Source CLI ♯♯♯
http://pc2.2ch.net/test/read.cgi/tech/1024222901/
C#談話室 Part4
http://pc2.2ch.net/test/read.cgi/tech/1042463586/
1211:03/05/03 04:12
>>1
あ、関連リンクというのに載ってるのね
しらんかったスマソ…
139:03/05/03 04:58
>>10
専用スレに気づかなかった…。
逝ってきます。
CodeSmith
http://www.ericjsmith.net/codesmith/default.aspx
VS.NETに統合する形のコード生成ツールか。
なんちゃってGenericsもできるらしい。
もうすぐニューバージョンもでるっぽい。
16デフォルトの名無しさん:03/05/05 09:11
XPの制限ユーザでデバッグ使えるようになる方法ってありますか?
sagee
18動画直リン:03/05/05 09:13
>>16
Debugger Usersのグループに入ってないとダメ
20デフォルトの名無しさん:03/05/05 09:21
>>19
どうやって入ればいいんでしょうか?教えてくんでスマソ
>>20
管理ツール-コンピュータの管理-ローカル ユーザーとグループ
Home Editionだったらnet userコマンド
2219:03/05/05 11:00
>>21
サンクス
ネットで調べたけど、ようわからん。。。
Homeです。
Windows Server 2003 for Developers
http://www.3leaf.com/default/articles/ea/w2k3.aspx
Borlandはまた、MicrosoftのC#言語をベースとしたプログラミングツール
「C# Builder」もこの夏リリースする計画。
C# Builderは3種類のバージョンが登場予定で価格は
プロのプログラマー向けが999ドルから2499ドル、個人向けは69ドル。

ttp://www.zdnet.co.jp/news/0305/06/nebt_04.html


さすがにPersonalはなしか。
>>24
「個人向け」→Personal (訳しすぎ)
26デフォルトの名無しさん:03/05/06 18:59
正規表現あんちょこ集。
http://regexlib.com/

旧スレより下がってるので一旦あげ。
27bloom:03/05/06 19:13
30デフォルトの名無しさん:03/05/08 22:12
これ上下セットで欲しい人いる?
   ,,,..-‐‐‐-..,,,
   /::::::::::::::::::::::::ヽ        _,..-‐‐-..,,,
  l::;;-‐‐-:;;::::::::::::ヽ//-‐,,__ /:::::::::::::::::::::ヽ
  l:l    ヽ:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
  ヽ   /,ヘ~-ー'´⌒⌒``ヽ:::::::::;-'^~~^'‐;;:l
   ~ヽ/ 彡:三::三:三:三::三:ミ:U::ヽミ   .ll
    /     _,,;;ィ  t;;;;,,,   :::U:::ヽ  ,.ノ
    /    シ ,ィェァ')  (.yェュ、    ミ:::::::l'^~ .
  ‐/-,,     ''''''. | | ''''''     |:::::::l  
   l  ~^''ヽ    (r、 ,n)   /   .|::::::l  
  '''l^^~~~    .、___二___.,   -‐‐‐--l- 
   ヽ、 ,,,,  | |||!|||i||!| |   ~^'‐..,,_/ 
    / (:::::} | | |ll ll !!.| |    ,,,, イ~''' 
    l:  ~~  | |!! ||ll| || |   {:::::) ::l    .
   l:      | |!   | l    ~~  l   
   l、     ヽ`ニニ'ノ       ,l>    
   /^‐-,,____,,,、ゝ '""'ノ....,,,,,,,__,,,.--ヽ
   ~‐‐'~             ^'‐‐~
1.1 SDKはカンフェレンス中にリリース?
IBMもなかなかやりますな。

IBM DB2 Development Add-Ins for Visual Studio .Net
http://www7b.software.ibm.com/dmdd/library/techarticle/0304alazzawe/0304alazzawe.html

DB2 Database Project for Visual Studio .Net
http://www7b.software.ibm.com/dmdd/library/techarticle/0304alazzawe1/0304alazzawe1.html

Building Web Services with C# and DB2
http://www7b.software.ibm.com/dmdd/library/tutorials/0303freeze/
34デフォルトの名無しさん:03/05/10 22:00
Monoがiteratorを先取り。
http://www.go-mono.com/archive/mono-0.24.html

> C# compiler: Various speed improvements, plus support for C# 2.0 iterators.
ここでC#に勤しんでる人に質問です。
C#は仕事で必要なのでしょうか?
それとも趣味ですか?
C#を取り入れてるところってあるんですかね・・・。
>>35
会社の方針次第
37デフォルトの名無しさん:03/05/11 01:03
public class MainClass
{
  static void Main(string[] args)
  {
    float f = float.NaN;

    if(f == float.NaN)
    {
      Console.WriteLine("nan");
    }
    else
    {
      Console.WriteLine(f);
    }
  }
}

実行結果
NaN (非数値)

なんでnanって表示されないですか
>>37
if(f.Equals(float.NaN)) で試してみれ
3937:03/05/11 01:13
>>38
できました
ありがとうございます
40動画直リン:03/05/11 01:13
できました、で終わらせるネタじゃないような・・・
NaNは特別ということで。
     ____
    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴//   \|
  |∵/   (・)   (・) |
  (6       つ  |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  |    ___  |  < メモリ使用量が多すぎます。何とかして下さい
   \   \_/  /   \_________
     \_____/
>>45
メモリ増設が一番安くて早い方法。
decompilerつきの.NET Reflector 3.0が出たよ。
ttp://www.aisto.com/roeder/dotnet/
>>47
何気にこれは凄すぎるな・・・
51デフォルトの名無しさん:03/05/16 22:01
おーい。今週もSDK出なかったぞー。
C# で、Javaの JNI並にお手軽にネイティブコードと
連携することは可能でしょうか?

JNIってお手軽か?
C#にはJ/Direct譲りのPInvokeがある
>>52
ネイティブ → .NETで利用は楽。
.NET → ネイティブで利用はあまり手軽でない。
JNIがお手軽だとしたら、.NETだとチョーお気楽極楽。
再頒布用ランタイムだけでnmake使えるようにできないかな・・・(´・ω・`)
>>56
nantなら・・・
58デフォルトの名無しさん:03/05/17 20:26
これってどうなんでしょ。誰か使ってみた人います?

Sharp Library
http://www.sharplibrary.com/
>>58
……………デジャヴ?

どこかで見たような気が……
>>58
有料?
>>60
いや、サンプルの中にDLLが入ってる。

...って使っていいんだよね?
>>50
相変わらずBulk LoadはCOM経由ですか・・・。
>46
嘘付け、ユーザ全員にメモリ配布してたら幾らかかる事やら…

  あんまし使われてないからそんなにかからない という突っ込みは無しの方向で
.NETビジネスフォーラム
http://www.dotnetbiz.jp/
65デフォルトの名無しさん:03/05/20 21:18
今日、VC#.NETを買って、
さっそくインストールしようと思ったんですが、
Disc1入れてインストーラ起動

コンポーネントアップデートCDに入れ替え

の段階で「インストールコンポーネントを読み込んでいます。この処理は1~2分かかる場合があります」
というウィンドウが出たまま先に進みません
3時間放置して見ましたが進みませんでした。

OSはWinXPHomeです

どなたか解決法ご教授願います
Homeにはインストールできません。

終了
>>66
んなこたーない。ASP.NETが使えないけどインストールはできる。
68デフォルトの名無しさん:03/05/20 21:27
C#.NETでMSDEを利用したプログラムを作りたいんですが、
調べたところ、サーバーエクスプローラーから接続し、
情報が見ることができるようなんですが、
「サーバー」という項目がありません。
「データ接続」はあるんですけど、
もしやvisual studioと比べて、
このあたりの機能に制限があるんでしょうか?
>>65
うちもインストールしたとき同じ症状になったんだけど、
アンチウイルス切ったらインストールできた。
もし参考になれば
>69
相手はマルチだ。
71デフォルトの名無しさん:03/05/20 21:32
>>69
ありがとう
徹底的に他のプログラム切ってからチャレンジしてみまつ
C#でビューアーを作っていて、
ビューアーにスキャナで読み込む機能をつけようと思ったのですが、
そのやり方が分かりません。
C#でスキャナを使うにはどのようにすればいいのでしょうか。
native & interop.
74デフォルトの名無しさん:03/05/20 22:24
Excel VBAから、C#のメソッドに自作クラスの
配列の渡し方を知ってたら教えて欲しい・・

Microsoftのドキュメントは一通り読んだけど、
例が少ないからよくわからんのよ・・
75デフォルトの名無しさん:03/05/20 22:25
C#と.NET Frameworkのライブラリは、双方で独立した仕様と考えていいのでしょうか?
つまり、どちらかがなければその技術が成り立たない関係ではない、ということで問題ないですか?
>>75
C#がなくても.NET Frameworkは成り立つ。CILを出力する言語が他にいくらでもあるから。
.NET FrameworkがなくてもC#は成り立つ。C#が依存してるのはミニマルなCLIの方。
やや詭弁。
>>75
なんでそう考えたの?
>>74
COMで扱えない型は無理
79デフォルトの名無しさん:03/05/20 22:52
てことは、C#と.NET Frameworkは、C++とMFCの関係みたいなもの?

>>75
C#の仕様にライブラリがどこまで依存して入り込んでるのか知りたくて。
80デフォルトの名無しさん:03/05/20 23:02
>>78
戻り値で自作クラスってのはできたけど一方通行なんでしょうか。
もし、この辺りのことに詳しいページ・本なぞあったら
紹介してもらえないでしょうか。
81デフォルトの名無しさん:03/05/20 23:06
>>78
そうそう、そういえばタイプライブラリにexportした型というのは
「COMで扱える型」に含まれないのでしょうか。
C++とMFCって関係は微妙じゃない?
参照設定全く無し、でAPI呼べたっけ?
>>74
むー。VBScriptから配列を渡して.NET側でobject[]で受けると、
なぜかstringの配列で渡ってきますね。

VBScriptでオブジェクト単体を渡してやれば、
ちゃんと.NET側はカスタム型で渡ってくるのですが・・・。
84デフォルトの名無しさん:03/05/21 01:53
>>83
VBAでやると、コンパイルエラーになって
配列が渡せないのです・・

他に似た例で困ってるのがArrayListの中に自作クラスをAddして
C#側でGetEnumeratorすると、stringクラスになってたり・・

できないならできない、と書いてある文書でもあればまだ
救われるのですが・・おかしな動きにしか見えなくて・・(泣
85名無しさん♯:03/05/21 10:33
8674 80 83 84:03/05/21 23:17
>>85
お手数おかけします。
今環境がないので、明日再度試験してみます。

あと、IEnumVARIANTってVBAで
どうやったらつかえるんだろうという疑問もあります。

C#側で IEnumerator を戻り値としたとき、
メソッド || プロパティ(get) の前に
[return: MarshalAsAttribute(UnmanagedType.Interface)]を
書くと、オブジェクトブラウザで見たときには同じ
IEnumVARIANTであるにも関わらずVBAで扱えるように
なります(MoveNextとか呼べる)

長くなりました。すみません。

普段Windowsプログラム書かないもので知識不足な面が
ありますが、どなたかご存じでしたらご教授下さい。


>>86
MoveNextはIEnumeratorのメンバーでもありますぞ。
>>86
For Each ~ Next でイテレートする
8974 80 83 84:03/05/23 00:26
情報ありがとうございます。
>>87
はい。IEnumerator.MoveNext() は存じております。
「でも」と言われますと、他にもこのメソッドを持つクラスが
ありますか?
>>88
Dim hoge
For hoge In IEnumVARIANTObject
Next
というようなことになるという意味でしょうか?
IEnumVARIANTは Next などのプロパティ(メソッド?)を
持っているようですが、どのように使うのか分かっていません。
調べてみます。

>>85
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=64&fi=no
arr(0) = obj1 → Set arr(0) = obj1
arr(1) = obj2 → Set arr(1) = obj2
とすることにより、配列でもいけそうです(VBAで動きました)。
但し、自分のところのプログラムはまだ動いてないんですが(^^;;
あと、ArrayListで躓いていた原因として、このプログラムで言うと
Dim obj1 のところが Dim obj1 As TestObject
(タイプライブラリを読み込んでいるのでコンパイルも通ります)
としていたことのようです。
このプログラムでも現にそうしてみると、C#側でArrayListに
stringが入っている状態(>>84で書いていることです)に
なりました。
どうも普段Javaとかが主なものでVariantって抵抗あるんですよね。^^;
重ね重ねお礼申し上げます。

90デフォルトの名無しさん:03/05/23 07:16
>>89
こういう感じで。

Dim hoge
For Each hoge In IEnumVARIANTObject
hoge.~
Next
WebMatrixの次のバージョンが出るのも近い?

ttp://www.nikhilk.net/Content/Images/WebMatrix305_1.png
92名無しさん♯:03/05/23 09:01
>>89
ほんとだ。配列の各要素をSetで指定してやれば行けるね。
VBSはよくわかってないので・・・。(藁
で、今週もSDKが出なかったわけだが
9474 80 83 84:03/05/23 21:49
>>90
ありがとうございます。
この方法でやってみたのですが、
IEnumVARIANTに参照型(と呼ぶかどうか分かりませんが)が
入っているとうまく行かない感じでした。
この件は>>84の通り、今のところ回避可能ですので
今後の参考にさせていただきます。

==

その後、本日は逆にC#コードからCOMへの配列を返せないかと
試行錯誤しましたが、うまくいきません。

http://ja.gotdotnet.com/quickstart/howto/doc/Interop/TestServer_2.aspx
こちらはここに良さそうな情報があるのですが、
自作クラスだと帰ってこないです・・。

何度も済みませんが、
もし情報持っていらっしゃる方がいましたら教えて下さい m(_ _)m
95デフォルトの名無しさん:03/05/24 11:06
96デフォルトの名無しさん:03/05/24 13:37
プロパティの配列版を作りたいのですが、どうやったらいいんでしょう?
tmpClass.ppt;とアクセスするのと同様に、
tmpClass.ppt[i];といったコードを書きたいのですが。
>>96
普通にプロパティを配列型にすればいいのでは?
>>97
あ、確かに。条件が間違ってました。
配列のインデックスも受け取って要素別にアクセスしたかったんです。
プロパティとインデクサを足したような。

で、結局インデクサを持つクラスを別に用意して、
そのプロパティを持つことで実装してみようかなと思ってます。
>>93
もしかして、日本語版SDKってのは出ないのかな?
英語版SDK+Language Packっていうつもりなのかなー?
MSDE使いに便利なツール(C#製)

SQL Buddy
http://sqlbuddy.sourceforge.net/
>>99
Visual Studio.NET2003の発売にあわせて出すんじゃないの?
MSDNユーザーはダウンロード出来るんだし。
VB.NETがあればC#はイラネ
>>96
C#はインデックス付きプロパティをサポートしない。
MC++だけ。
105デフォルトの名無しさん:03/05/25 17:31
CodeSmith使ってる人います?
いい感じなので、ちょっと仕事でも使ってみようかと思ったのですけど。
>>105
仕事では使ったことないけど、導入してみる価値はあると思うよ。
ただ問題はプロパティ値のセットが手入力なところなんだよねえ。
ファイル名をプロパティにでもして、読む込む部分は自分で書かなきゃならないね。
107105:03/05/25 18:37
>>106
なるほど、どうもです。
スクリプト埋め込みとかCodeBehindが使えるので、そこはいくらでも融通が利きそうです。
Excelとの連携なんかも試してみたいですね。
>>103
??C#でもVB.NETでも作れるけど??
109デフォルトの名無しさん:03/05/27 00:52
C#に限った話ではないが、プロジェクトにクラスを追加した後で、
別のコンポーネントクラスのソースを追加したクラスにまるごと
貼り付け、コンパイルした時点でアイコンがコンポーネントクラス
のそれに変化します。

これはソースのどの部分を読み込んで判断しているのでしょうか?
>>109
参照してるアセンブリのタイムスタンプでないの?
111デフォルトの名無しさん:03/05/27 01:12
>>110
いや、dllアセンブリを参照するのではなく、そのdllのコンパイル前の
ソースをまるごと他の空のクラスにコピペした場合のことです。
112動画直リン:03/05/27 01:13
113109:03/05/27 01:13
結局やりたいことは、コンポーネントクラスを普通のクラスに
変換する方法が知りたいのです。
>>109
あー、やっと言いたいこと分かった。クラスの継承元じゃないの。
Control、UserControl、Form等でアイコンが変わると。
115デフォルトの名無しさん:03/05/27 01:34
C#で邪魔なdllファイルを生成させないようにするにはどうすればいいでしょうか
116109:03/05/27 02:03
>>114
そーゆーことなのよ。
>>108
作れねーよ、ヘルプ嫁。
>>117
はぁ、そうですか。
ms-help://MS.NETFrameworkSDKv1.1.JA/vblsnet/html/vblrfVBSpec7_6.htm

Formal Parameter Listって意味わかるよね?

C#ではネストクラスとインデクサを使えば作れるね。

出直してきてね。>>117
>>118
さりげなく日本語版1.1のヘルプを自慢
121山崎渉:03/05/28 12:41
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
122デフォルトの名無しさん:03/05/28 21:39
沈みすぎage
123デフォルトの名無しさん:03/05/29 05:55
TextBoxコントロールで、フォーカスが移ったときに文字列が選択されるようにしたい。

今までVB6では、GotFocusイベントで選択すればよかったが
C#ではEnterイベントでもGotFocusイベントでも
一瞬選択されたあとに選択位置がマウスのクリックされた位置
(大体は最後)に移動する、どうやらGotFocusイベントの後に選択イベントがある様子

これを回避するのってTextBoxを利用する限り無理ですか?
124123:03/05/29 07:57
Enterイベント⇒GotFocusイベント⇒MouseDownイベント・・・
と続いていくみたいですね
前者2つのイベントでSelectionStartとSelectionLengthを設定しても
MouseDownイベントでクリックした場所がSelectionStartになっているみたい。
うーん。
Delphiなら簡単なのにね。
Del厨キタ━━(゚∀゚)━━!!!
127デフォルトの名無しさん:03/05/31 13:36
結局今月はSDKが出なかったわけだが
URLが変わったようです。

http://dotnetweblogs.com/

http://weblogs.asp.net/
ついでに来週はここをチェックすべし。
http://techedbloggers.net/
130デフォルトの名無しさん:03/06/01 10:09
.net framework sdkが「1.0」から「1.0a」に変わってるんですけど。
サイズも160MBから131MBに小さくなってるんですが、もしかしてドキュメントとか削られたりしてます?
>>130
圧縮率の高い圧縮方式に切り替えただけ。
Borland, Microsoft Move Closer on Databases
ttp://www.internetnews.com/dev-news/article.php/2215361
三省堂のWebサービス辞書とかのWSDL読み込んで遊んだりしてるんですけれど、
.NETって実際にどんなXML SOAPが流れてるのか、さっぱり分かりません・・・

XMLとかを見れるローカルプロキシがあれば良いと思うんですけれど、
どんなソフトがメジャーなんでしょうか?
鈍箱先生のご登場

Passing XML Data Inside the CLR
http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20030603XMLDB/manifest.xml
>>133
ローカル内でならこんなのはどうでしょう?

TcpTrace
http://www.pocketsoap.com/tcptrace/
136133:03/06/04 12:03
>>135
キタ━━━━(゚∀゚)━━━━ッ!!
まさに,諦めてApacheSOAPやJavaを入れようと思っていた所でした.
どうも有り難うございました.
何だろ、これ?

OlyMars : SQL Server Centric .NET Code Generator
http://www.microsoft.com/downloads/details.aspx?FamilyID=45f13070-f2f1-4b51-af91-b14425ff7745&DisplayLang=en
.NET Compact Framework クイックスタート チュートリアル
http://www.gotdotnet.com/japan/quickstart/CompactFramework/
>>137
スキーマからアクセスするクラスを自動生成・・・程度じゃないよねぇ・・・
>>139
そんな感じのツールですね。
インストール時にツールで使うデータベースを新規に作るので、
捨てマシンで試した方がいいかも。
なんか微妙なツールだな・・・。生成されるソースも複雑で。
これならCodeSmithで作り込む方がいいかも。
142デフォルトの名無しさん:03/06/05 19:20
サイコロの作り方教えて下さい
>>142
プラスチックか何かを立方体に切って・・・
>142
参考資料
http://www.meiji.co.jp/catalog/sweets/kids/saikoro/index.html
……なんてな。
145デフォルトの名無しさん:03/06/06 10:04
X#って何者?これ読んでもさっぱりわからん。

http://www.zdnet.co.jp/news/0306/06/nebt_07.html
また、TechEdでMicrosoft幹部は、長い間噂されていたプログラミング言語
リサーチプロジェクト「X#」(Xシャープと発音)の存在を認めた。
現行の言語よりもXMLによるデータ処理の効率性を高める「言語構造」の構築に
取り組んでいることを明らかにした。
146名無しさん♯:03/06/06 10:12
>>145
このへんが参考になると思われ。

Unifying Tables, Objects, and Documents
http://research.microsoft.com/~emeijer/Papers/oopsla.pdf
.NETわけわからん。くそー
プ
DataGridをWindowに表示する際に以下のような例外が発生してしまいDataGrid
が表示されるはずのところに赤い×が表示されます。なにが悪いんでしょうか?
さっぱりわかりません。
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at System.Data.DataRowView.System.ComponentModel.IDataErrorInfo.get_Item(String colName)
at System.Windows.Forms.DataGridRelationshipRow.PaintCellContents(Graphics g, Rectangle cellBounds, DataGridColumnStyle column, Brush backBr, Brush foreBrush, Boolean alignToRight)
at System.Windows.Forms.DataGridRow.PaintData(Graphics g, Rectangle bounds, Int32 firstVisibleColumn, Int32 columnCount, Boolean alignToRight)
at System.Windows.Forms.DataGridRelationshipRow.Paint(Graphics g, Rectangle bounds, Rectangle trueRowBounds, Int32 firstVisibleColumn, Int32 numVisibleColumns, Boolean alignToRight)
at System.Windows.Forms.DataGrid.PaintRows(Graphics g, Rectangle& boundingRect)
at System.Windows.Forms.DataGrid.PaintGrid(Graphics g, Rectangle gridBounds)
at System.Windows.Forms.DataGrid.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /←>>149
>>149-150
ワラタ
152デフォルトの名無しさん:03/06/07 16:30
richTextBox1のカーソルの位置を取得して
ListBox1を取得した位置に表示するにはどうしたらいいのかな?
ほんと低級ですみませんが教えてください .
153デフォルトの名無しさん:03/06/07 16:30
richTextBox1のカーソルの位置を取得して
ListBox1を取得した位置に表示するにはどうしたらいいのかな?
ほんと低級ですみませんが教えてください
override と virtual の 2 つの修飾子を、同時に 1 つのメソッドに使えますか?

上位クラスのメソッドをオーバライドし、下位のクラスも存在する可能性を
持たせるには、この 2 つの修飾子が必要になるような気がするのです。
途中からvirtualにするのは激しく変だとオモウ
いや普通のoverrideが希望の動作だと思うよ。
.NET Framework 1.1 SDK日本語版まだぁ?
ただのHello Worldをプロファイルしても非常に興味深い。
>>159
結果おせーて
セキュリティ関連のコストでほとんどだ。
>>152
ヘルプでメソッド一覧を眺めてみ。希望のもんあるから。
>>160
http://nyamco.ath.cx/nyamco/src/091.png

Hello::Mainのコストなんてかわいいもんでしょ。
164デフォルトの名無しさん:03/06/08 00:54
すいません初心者です教えていただけませんか?
Save();で二度目にセーブするとエラーがでるのですが
使用中と言うことででてしまうのでしょうか?
何かcloseとかで閉じなければいけないのでしょうか?
よろしくお願いいたします
165154:03/06/08 15:25
上位クラスのメソッドをオーバライドするには、override 修飾子が必要で、
下位クラスにメソッドのオーバライドを許すには、virtuel 修飾子が必要ってことは、

上位クラスのメソッドをオーバライドして、かつ、下位クラスにもメソッドのオーバライドを
ゆするには、virtual と override の両方を、1つのメソッドの修飾子として書かなきゃならない、
と言うことで合ってますか?

こういう情報は、どこに書いてあるのだろう・・・。
Java の JLS くらい厳密に書いてある言語仕様って、C#には存在しないのかなぁ・・・。
166154:03/06/08 17:27
見つけました。

Standard ECMA-334
C# Language Specification
2nd edition (December 2002)

http://www.ecma-international.org/publications/standards/ecma-334.htm
167154:03/06/08 19:14
ううむ。override と、virtual は、どっちかしかかけないって書いてあった・・・。

どなたか override しつつ、override されるメソッドの書き方教えてください。
>>154
class Class1 {
 virtual void A() {}
}
class Class2 : Class1 {
 override void A() {}
}
class Class3 : Class2 {
 override void A() {}
}

でいいんじゃないの?
169154:03/06/08 23:44
>>168

ちゅうことは、Class2 で宣言されているメソッド A() は、
virtual という修飾子が存在していないにもかかわらず、
仮想メソッドである、ちゅうことかね?

あるいは、Class3 で宣言されているメソッド A() が
オーバライドしているメソッドは、非仮想メソッドである、
(override 修飾子が付けられたメソッドは、非仮想メソッドをもオーバライドすることができる)、
ちゅうことかいな?

あるいはあるいは、
Class3 で宣言されているメソッド A() がオーバライドしているのは、
Class1 で宣言されているメソッド A() である。ってことか。

3つ目のは半分冗談だけど、いったいどれやねん。w
>>169
単純に考えて。
overrideは元のクラスでvirtualのメソッドがあるということ。
元のクラスにvirtualのメソッドが無ければエラーになる。
171154:03/06/09 00:13
そうですよね、

> overrideは元のクラスでvirtualのメソッドがあるということ。

virtual は、そのメソッドを仮想メソッドにする修飾子で、
virtual が含まれていないメソッドは、非仮想メソッドですから。

かつ、

override と、 virtual は同時に使えない。

んで、C# では非仮想メソッドのオーバーライドはできない。

ってことは、C#では、あるメソッドのオーバライドの回数は、たった1回に限られる、
言い換えれば、オーバライドされたメソッドはオーバライドできない、
ってことになりませんか?(笑)

Type type = typeof(Class2);
MethodInfo method = type.GetMethod("Test");
Console.WriteLine("IsVirtual = " + method.IsVirtual);

ちゃんとClass2.Test()もvirtualと出る
173154:03/06/09 00:25
>>172

ありがとう。

ってことは、

インスタンス メソッドの宣言に virtual 修飾子が含まれる場合、
そのメソッドは仮想メソッドと言います。virtual 修飾子が存在しない場合、
そのメソッドは非仮想メソッドと言います。

っていう仕様の記述が間違っているか、
>>172 さんの処理系がバグっている、ということですね。
>>173
処理系がどうのって、、、C#.NETでコンパイルしたんだよ。
というか、MSに聞いた方が早いんじゃない?
>>173
何が問題なのかよくわからないんだけれど・・・。
どこかにoverrideできるのは直系の派生クラスに限るなんて記述でもあるわけ?

168のソースで言えばClass3のA()はClass1のA()をoverrideしてるわけだから
仕様通りでしょ?
ヘルプのoverrideん所にちゃんと書いてるよ。
>非仮想メソッドまたは静的メソッドのオーバーライドはできません。
>オーバーライドされる基本メソッドは、仮想メソッド、抽象メソッド、またはオーバーライド メソッドのいずれかである必要があります。
自分はoverrideしたいが派生クラスからはoverrideされたくないってことじゃねぇの?

class Class1 {
 virtual void A() {}
}
class Class2 : Class1 {
 override void A() {} // この中に非常に重要で絶対にoverrideしてはいけないコードが書かれている
}
class Class3 : Class2 {
 override void A() {} // しかしC#の仕様ではこれを禁止することが出来ない?
}
>>177
Class2で sealed override するよろし。
どうでもいいけど、C#はpublicとかinternalとかつけないとデフォルトprivateだよ。
180デフォルトの名無しさん:03/06/10 15:42
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncfhowto/html/HOWTOsenderevent.asp

private void button1_Click(object sender, System.EventArgs e)
{
string s = "unknown button";
if( sender == button1 )
{
s = "button1";
}
else if( sender == button2 )
{
s = "button2";
}
MessageBox.Show( "You pressed: " + s );
}

を switch におきかえたいのですが、

switch (sender)
{
case button1:
s = "button1";
break;
case button2:
s = "button2":
break;
}

switch (sender) の部分で "整数型の値が必要です。" とエラーになってしまいます。
どうして置きかえられないのかわかりません。アドバイス願えませんか?

>>180
case の式はコンパイル時に決まってなければいけないから
定数か文字列リテラルしか使用出来ない
結果switchの式も数値か文字列しか指定出来ない
shell32.dllを呼び出す方法以外ファイルをゴミ箱に移動させられる
メソッドはどこかにありますか?
>>180
変えたいのは s の内容だけ?
なら、キーが Button で値が string の Hashtable でも作れば?

Hashtable table = new Hashtable();
table[button1] = "button1";
table[button2] = "button2";

string s = (string)table[sender];

>>182
そういう Win32 プラットフォーム限定な機能はないと思う。
素直に shell32.dll 呼び出すべし。
構造体のメンバに構造体を入れ、それを ArrayList につっこみたい。
その後、その構造体のメンバの構造体のフィールドに値を設定したいのですが
どうもうまくいきません。こんな感じにしたいのですが…
どなたか教えてください。

private struct itemA
{
public int a;
public itemB itemb;
}

private struct itemB
{
public int abc;
public int bcd;
}

ArrayList arrList = new ArrayList();


arrList.add(itemA);

((itemA)arrList[0]).itemb.abc = 5;
185100人に1人:03/06/11 19:03
◎人の嫌がることをズケッと言うのはこんな奴!
<アスペルガー症候群(自閉症スペクトラム)←脳の機能的疾患(遺伝が要因)>
●変化を嫌う
http://web.kyoto-inet.or.jp/org/atoz3/kado/book1/Williams-Asp.htm

●接し方のルールがわからず無邪気に周囲の人に対して迷惑なことをしてしまうことがある。人を傷つけるということには鈍感(相手の立場に立って考えられない)。
●パターン的行動、生真面目すぎて融通が利かない
 毎朝の通学電車では同じホームの同じ場所から、同じ時間の同じ号車に乗ることに決めていたりする。パターンを好むということは反復を厭わないことでもある。
●アスペルガー症候群の子どもは(大人も)感覚刺激に対して敏感。敏感さは聴覚、視覚、味覚、嗅覚、温痛覚などのいずれの感覚の敏感さもありえる(特に視覚が敏感)。
●アスペルガー症候群の子ども(大人も)は予測できないことや変化に対して苦痛を感じることが多い。
http://www.autism.jp/l-02-03-aspe3.htm

●独り言を言うことが多い(考えていることを口に出す)
●物事をいつまでも同じにしておこうとする欲求が強く、そうでないと非常に不安。いわゆる「こだわり」。
●自発的に行動することが少なく、興味の幅が狭い
●物まねをしているような不自然な言語表現
●自閉症スペクトラム全体としては一万人に91人(およそ100人に1人)。
http://www.ypdc.net/asuperugar.htm

★自閉症スペクトラムの考え方(アスペルガーに至らない気質の偏りもある(遺伝性))
http://www.imaizumi-web.com/030413.html  
   
★アスペルガー症候群(自閉症スペクトラム)かどうかのテスト
http://twitwi.s10.xrea.com/psy/add.htm 
http://www.geocities.co.jp/Beautycare/5917/as/marksheetmake.html


Interview with Eric Gunnerson, Program Manager: Microsoft Visual C# .NET
http://www.activewin.com/interviews/microsoft/28.shtml
>>184
無理なのでitemAをクラスにする
188_:03/06/12 22:58
VBAからSystem.Xml.*を使用する方法について
どなたかご存じないでしょか・・
189デフォルトの名無しさん:03/06/13 13:50
C# で端数処理 (四捨五入, 切上げ, 切捨て) を行ないたいのですが
それらを行なう便利な関数は用意されていますか?

それとも、自作? 御存知の方、よろしくおねがいします。
>>188
.NETクラス名でCreateObjectできるよ。

>>189
System.Mathはどうよ?
>190
Set Xml = CreateObject("System.Xml.XmlDocument")

出来ないよ?
>>191
ごめん。regasmされてないから駄目だった。
またすごい人が現れた。
http://blogs.gotdotnet.com/suzcook/
194_:03/06/14 01:54
>>192
この「ごめん」は
・regasmされていない → regasmすればできる
の意味なのか
・regasmされていない = できない
の意味なのか分からないですが、
言葉が足りなかったようで、
.NetのメソッドとSystem.Xml.*クラスを戻り値・引数として
やりとりできるか聞きたかったんですが、、だめっぽいですね。
俺は知らないけど

>・regasmされていない → regasmすればできる
>の意味なのか

試せば結果でるじゃん。
196_:03/06/14 03:53
>>195
C#メソッドから受けるのはregasmしてもできてなく、
CreateObjectは今試せないので・・
ということで。
System.XmlってMSXMLとほとんど同じじゃねぇの?
VBAならこっちで十分じゃね?
>>194
regasmがそもそも出来ないね。
つーことで、素直にMSXML使うのが吉。
MSXMLはDOM L1だぜ?いまさらそれでいいの?
>>199
あれ?前に4.0とか出てなかったっけ?
あれもLEVEL1なの?
201_:03/06/14 16:07
正確には
tlbimp System.Xml.dll /out:hoghoge.dll
regasm hogehoge.dll
ということになるんだけど・・
既存のC#DLLがXmlNodeListとかを返すから
なんとか互換性がないかと思って実験中・・
MSXMLを使おうとすると、C#側を全部書き換えないと
いけないんだよなぁ・・鬱
202デフォルトの名無しさん:03/06/15 15:44
>>202
おー、早速ダウソ。
って日本語版SDKより早かったか。(w
2ちゃんブラウザ・RSS Reader・Profilerと、
どんどん常用してるManagedアプリが増えてますな。ヽ(´ー`)ノ
>>202
・例のencodingエラーが出なくなった
・HTMLエディタのWYSWYG強化(VS.NETより強力?)
・オブジェクトブラウザが強化
・DBにAccessが使える
・それでいて軽さはそのまま
しかし、日本語入力でカーソル位置がずれるのは相変わらず。残念。
>>206
#Developの初期にもそんなバグがあったような
208デフォルトの名無しさん:03/06/15 21:45
バージョン情報を勝手に取ってきて表示するフォームってないですか?
>>199
いや、一応LEVEL2(の、機能)にも対応してるよ。
なんかインターフェースとかむちゃくちゃだけど。
きっと下位互換性保つ為に名前変えれないんだよ今更。

まあ、今更MSXMLを発展させられるよりframeworkのXMLクラス
発展させてって欲しいのでMSXMLはもう止まってていいけど。
>>209
しかしOffice2003でバージョンアップしたりするんだな。MSXML。
>>210
がーん。ていうことはあのさんざ宣伝してるXML関連の機能は全部MSXML
利用で実現してるのか。

まあ、いきなりOfficeをframeworkで書きなおしてくれなんて無茶な話
か。

せめて2003の次はframeworkで作って欲しい。え?重いから駄目?
DB(SQL2000)上のテーブル内のデータ型がnchar(10)とかで、データが"hoge"
って入ってるとして、DataAdapter使ってDataSetにFillするとデータが
"hoge______"("_"はスペースの意味)と固定長分スペースで埋めてデータを取得します。
このスペースとりたいんだけどDataAdapterのSelectCommandのクエリ内で
RTRIMとかしてやるしか方法はないのでしょうか?
結構たくさん固定長のデータがあるのでうまい方法はないかと...
>212
昔から固定長フィールドはそういうものだよ。
String#Trim()とかは?
214212:03/06/16 16:27
>213
なるほど。DataSetに入れてからTrimするってことですよね?
215213:03/06/16 17:57
DataReaderかと思った。
DataSet使うこと考えると、SQLでTrimしておいた方が、楽そうだね。
216212:03/06/16 18:18
213さんどうもでした。
SQLのクエリで解決してみます。
217デフォルトの名無しさん:03/06/17 00:45
くだスレに挙がってたんだけど、.NETのツールバーってトグルボタンの
グループ化できないのね。
レスつけてやろうと思ったけど出来ねーYO!>オレ
218デフォルトの名無しさん:03/06/17 17:28
// ArrayList 定義
private ArrayList m_aryTest = new ArrayList();

// 構造体定義
private struct typeTest
{
public intvalA;
public intvalB;
}

m_aryTest.Add(_typeTest);

とした後で、

((typeTest)m_aryTest[0]).valB = 123;

みたいな事ってできないですか?

代入色の左辺には変数、プロパティ、またはインデクサを指定してください。
とエラーになります。

構造体をアレイリストにつっこんだ後に値を変更するにはどうすればよいのでしょう?

>>218
boxingについて勉強してください
220218 :03/06/17 18:57
>>219
ボクシング/アンボクシングについて調べてみましたが、
それらを行なう必要があるのは 右辺 ですよね?

object o = (int)valA や int valA = (int)o のように
するのが、ボクシング/アンボクシングで、
値型の変数をボクシングして、参照型オブジェクトして使いたい場合や
その逆って事ですよね?

((typeTest)m_aryTest[0]).valB = (int)123;

試しにのようにやってみましたが、やはりコンパイルエラーが
でてしまいます。

もう少し、アドバイス頂けたらうれしいです。
((typeTest)m_aryTest[0])
これがアンボクシングに見えないということですか?
222218 :03/06/17 19:47
>>221
参照型の ArrayList を 構造体(値型)への
アンボクシングになるんですね。

実のところ、参照型とか値型とか曖昧なまま、組んでました。

とはいえ、まだ解決できるところまで理解が進んでいませんが(^_^;;
精進します。。。
だからクラスにしろって。
クラスにして、そのクラスを ArrayList に add するのですか?
勉強不足で申しわけない、情けないのですが、

ここで 構造体をクラスにすると、何がどう変わってどういうメリット
が出るのかわかりません。

どこか参考にできるような情報、サイトがあれば教えて頂け
ないでしょうか?
((typeTest)m_aryTest[0]).valB = 123;

ができるようになります
226デフォルトの名無しさん:03/06/18 18:45
それが 値型の構造体と参照型のクラスの違いでもあるわけですか。
227デフォルトの名無しさん:03/06/18 18:47
★オススメサイト★
http://endou.kir.jp/moe/linkvp.html
値型と参照型、どこにメモリがとられるか調べれば答えでると思うけど・・・。
自分で作ったC#のプログラムが遅いので、どこが遅いのかプロファイラで調べたいのですが、
プロファイラの使い方とかを詳しく書いてある「日本語」のページってないですかぁ?
>>229
日本語は見たことないなあ。
ちなみに>>158はかなりいいよ。
231229:03/06/22 10:05
>>230
ありがとです。
>>158ってC++入れないとコンパイルできないのでちょっと二の足を踏んでました(^^ゞ
232デフォルトの名無しさん:03/06/25 11:41
233デフォルトの名無しさん:03/06/26 04:45
C#やりはじめ

listviewでクリックした行、列、データの取り出し方法を教えてください。
>>233
ListViewは列単位でしか選択できないのでは?
とりあえずSelectedIndexChangedイベントとSelectedItemsプロパティでも見れ。
間違えた。
× 列単位
○ 行単位
237デフォルトの名無しさん:03/06/27 02:03
>234

ありがとうございます。

idx = this.listView1.SelectedItems[0].Index;
dtext = this.listView1.Items[idx].SubItems[5].Text;
238デフォルトの名無しさん:03/06/27 02:27
>237

いやあ、バカをしてしまいました。

dtext = this.listView1.SelectedItems[0].SubItems[5].Text;
239デフォルトの名無しさん:03/06/27 03:27
appl.exe.config について

ファイル名は固定ですか?
たとえば、2つ用意して切り替えるとかできませんか?
『Essential .NET』いつの間にか出てたのか。知らんかった。
http://bpstore.nikkeibp.co.jp/item/main/148910036850.html

つーか、監訳吉松さんだったの?
豊田さんという話をどっかのスレで見た記憶が・・・。
>>232
え?とっくに公開していたんじゃなかった?
>>241
そうなの?
redistはかなり前から出てたけど、SDKは見てなかったよ。
>>232 の時点で初めて一般には公開だよ。
これ、VS2003 に含まれている SDK と違うぞ。
>>244
違い教えて。
最近ここが妙に盛り上がってるな。
http://www.microsoft.com/resources/practices/completelist.asp
>>240
書評
Don Boxが解き明かす共通言語ランタイムの仕組み
http://www.atmarkit.co.jp/fdotnet/bookreview/essential_net/essential_net.html


また自分で書評書いてるw
248デフォルトの名無しさん:03/07/01 00:23
c#でみかける{0}とか{1}見たいなものは何なんですか?
249デフォルトの名無しさん:03/07/01 00:24
>>248
名札
250デフォルトの名無しさん:03/07/01 00:38
ちゃんとこたえてよ
251デフォルトの名無しさん:03/07/01 01:34
OleDbCommandオブジェクトを使用してデータベースを検索する際、
あらかじめCommandTextプロパティにSQL文をセットすると思うのですが、
検索条件をフォームに入力し、指定された条件で検索したいと思っていますが、
やり方がわからなくて困っています。
というのは本来コマンドテキストには
SELECT * FROM TABLE_NAME WHERE IDNO=? AND TITLE=?
のように予めパラメータとなりえる「?」などを埋め込んでおくようなことを
本で読んだのですが、
これだと、検索条件の個数が毎回変る場合などに対応できなくなります。
if文などでテキストボックスの一つ一つに対して入力されているかを判断し、
sql文を文字列として作成後、コマンドテキストにそのままセット->検索
の流れだと従来とあまり変らないような気もします。
そこで私が知らないだけで動的に検索項目が変る場合でもうまく
OleDbCommandオブジェクトとParameterオブジェクトを使用して
検索できるのではないか、と思っています。
どうでしょうか?
よろしくお願いします。
>>248
%s とか %d の進歩した奴
Back from Japan...
http://weblogs.asp.net/savanness/posts/9510.aspx

貴重な体験だったようで
254デフォルトの名無しさん:03/07/01 10:11
就職活動でプログラミングはC#やってますっていったら
C#って何?って言われました
IT企業でも知らないほど知名度低いんですか?
>>254
まず、どこの企業か教えれ
256デフォルトの名無しさん:03/07/01 10:38
>>255
中小企業なんだけど具体的に名前上げるのはどうかとおもうので
DB系の会社でした
257デフォルトの名無しさん:03/07/01 12:37
>>253
コーヒーが2000円でも文句を言わない日本人。(W
(そんなところいくかと思うが)
まあ天皇制にすら文句を言わない日本人だからな。
258 :03/07/01 12:53
C#でGenericsはもうつかえるようななったの?
最近発売された開発環境でつかえるの?
>>253
コーヒーが2,000円ってどこだよ。(w
ネズミーランドか?

>>258
VS.NETではまだ。
研究用で使えるようになっただけ。
http://research.microsoft.com/projects/clrgen/
260デフォルトの名無しさん:03/07/01 16:16
DbDiagrams Add-In for WebMatrix
http://www.carlosag.net/Tools/DbDiagrams/Default.aspx

VS.NET Add-Inよりこっちの方が盛り上がりそうだな。
GotDotNetのディスカッションがリニューアル。
MLよりはBBSの方がお手軽でいいわな。
http://www.gdncom.jp/general/bbs/
262258:03/07/01 17:08
>>259
ありがとう。
>>260
そこのページを見ると、UmlDiagramsというのも構築中らしい。期待大。
フォームを閉じた際にexe.configに値を保存するようにしたいんですけど、
いくら調べてもやり方がよく分かりません。
誰か教えて頂けないでしょうか?
265デフォルトの名無しさん:03/07/01 23:40
>>264
ConfigurationSettings は、読み取り用なので、XMLWriter を使って書き込む
ことになるね。
266デフォルトの名無しさん:03/07/02 17:32
VC++6.0とVC++.NET

どっちがいいの?
267デフォルトの名無しさん:03/07/02 17:46
C#でSAXできますか?ヘルプに乗ってないのですが。
アドバイスおながいします。
>>267
System.Xml.XmlTextReaderクラス。
ただしイベントドリブンではない。
269268:03/07/02 19:54
XmlTextReaderに限定しないで、XmlReaderと言っておいた方がいいか。
270267:03/07/02 21:28
>>268-269 ありがとです。

やっぱり、それしかないんですか。。じゃあ、SAX用のイベントハンドラは
自分で設計してXmlTextReaderを継承したクラスからイベントを送出する、
しかないかな。。
271デフォルトの名無しさん:03/07/03 00:48
>>261 GDNのアドバンスト版誰も書き込まないってことは、あそこは厨房しかいないってことですか?
>>271
掲示板テストが一番書き込みが多いのが悲しい。
C言語の資格って何かないですか?就職活動に役立つような。
274デフォルトの名無しさん:03/07/04 08:27
>>273
情報処理技術者試験一連だけじゃねーの
というか激しくスレ違い
275デフォルトの名無しさん:03/07/04 11:28
質問です。

C#にはVBのWith文みたいなのは言語仕様としてありますか?
276デフォルトの名無しさん:03/07/04 11:35
>>275
ここまでくるとちょっとな。質問以前。
最近はじめたんだけど、ラッパークラスってないの?
プリミティブ値にメソッドとかあるらしいんだが・・・。

それよりもさ、JavaのVectorみたいな可変長のリストを持てるクラスはないんでつか?
メモリ操作なくなったらクラス使うしかなくて(´・ω・`)ショボーン。
>>278
Javaにも.NETにもArrayListがありますが何か?
>>278
> ラッパークラスってないの?

ないというか、必要ない。intもfloatもすべてオブジェクトだから。
VC#つかってたら自動生成されるコードのインデントが
class A
{
こういうふうじゃん?

class A {
hogehoge;
こういうふうに変えれない?
282デフォルトの名無しさん:03/07/04 13:48
>>280
intやfloatはプリミティブじゃね?
ボクシングを自動的にやるってだけで。
>>281
環境設定でインデント設定やっても駄目?
>>280
>>282
CILのint32やfloat32はプリミティブ。
System.Int32やSystem.Singleがそれらのラッパークラス。
でもラッパー内ではボクシングは使ってないよ。
285デフォルトの名無しさん:03/07/04 14:51
http://bpstore.nikkeibp.co.jp/msp/book/03456/03456.html
Microsoft .NET Framework クラスライブラリ リファレンス の
中身を見たことある人います?
これってヘルプと同程度の内容なの?
それとも、サンプルとかたくさん入ってるの?
私がJavaからC#に乗り換えた10の理由
http://www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_01.html
>>286
読んでみたけど、半分くらいしかわからなかった。
もう少し勉強しないとな。
288デフォルトの名無しさん:03/07/04 20:59
>>286
今さら書くような内容でもないな。
まあ、この部分を言い切っただけでも拍手を送りたいが。

> しかし、理想主義者の高尚な成果が、スキルを持たない人々が大風呂敷を
> 広げるための道具として使われていることも悲しい事実である。ビジネス・
> アプリケーションにおいては限定的な効果しか果たせないはずのフレーム
> ワークやコンポーネントという言葉を使用してひともうけを狙う、技術者
> とは呼べないような人々のコミュニティがJavaには多い。

> 玉石混交が世の常とはいえ、一部のJavaコミュニティはひどすぎる。しかも
> なぜかそれらのコミュニティがビジネス上は強い影響力を持っていたりするのだ。
> 実に嘆かわしい話だと思う。
どうせなら、アンチMSというだけでJavaを使ってる馬鹿・オブジェクト指向以外目にもくれないメクラ馬鹿・
オープンソース盲目崇拝馬鹿・クロスプラットフォームを未だに信じてる馬鹿もきちんと指摘してほしかったな。
すいません。
byte[]型の変数Aとbyte[]型の変数Bを結合して、一つのバイト列にしたいんですけど、
そのやり方がよく分かりません。
どなたか教えてくれないでしょうか?
まぁ、理由を 10個集めるために しょーもないことも言ってるけどな。
struct? ポリモーフィズムを犠牲にしてメモリ実行効率を取ったって?
ポインタ や unsigned などと同じ C での過ちをまた犯そうということか。

これからの言語は、もっとプログラマに優しくなくちゃだめだよ。
setter/getter に代わるプロパティなどは評価できるけど、
カスタム属性はどうかな? C# は利便性を追求しすぎて 構文の複雑化・
キーワードの増加を招いていると思うな。直列化可能性なんて
カスタム属性で指定するより、インターフェイスとして
明示するほうが素直だと思うし。理由のいくつかは無理やりっぽいね。
>>290
コレクションを経由してみては?

  byte[] b1 = { 0, 1, 2 };
  byte[] b2 = { 3, 4, 5 };

  ArrayList list = new ArrayList();
  list.AddRange(b1);
  list.AddRange(b2);

  byte[] b3 = (byte[]) list.ToArray(typeof(byte));
>>291
> 直列化可能性なんて
> カスタム属性で指定するより、インターフェイスとして
> 明示するほうが素直だと思うし。

おいおい。JavaでさえJDK1.5でそのやり方否定してるのに。
>>290
あとは原始的にこんな感じで。

  byte[] b1 = { 0, 1, 2 };
  byte[] b2 = { 3, 4, 5 };
  byte[] b3 = new byte[b1.Length + b2.Length];
  Array.Copy(b1, 0, b3, 0, b1.Length);
  Array.Copy(b2, 0, b3, b1.Length, b2.Length);
>>288は豆○のことではないかと
>>292,294
わざわざ有難うございます。
とりあえず両方試してみたいと思います。
ありがとうございました。
297デフォルトの名無しさん:03/07/04 23:48
>>295
EJBコンソーシアムの方が当たってると思う。
一時ファイルを出力ディレクトリにコピーできないってエラーが出るんだが、どうゆこと?
ヘルプにもないYO!
終了ボタンを作ったんだけど、終了するのってexitとか使うの?
>>299
フォームアプリならApplication.Exit()
>>300
おお!はげしくサンクス!
MSDNがもうちょいみやすかったらC#最高だね。
VMだって聞いたけど、なんでこんなに快適なの?
フォームアプリなら Form.Close(); じゃないかと。
303299:03/07/05 01:20
>>302
いえ、アプリの終了ボタンだったんで、300さんのを使いました。
でもモーダルなフォームを追加したんでCloseも使いました。
ところで行番号表示ってどうやるんですか?
エラーが出ても行がわからんから数えるのが面どい。・・・
>>303
メニューのツール → オプション
テキストエディタ → C# → 全般 → 行番号をチェック
305299:03/07/05 01:35
>>304
親切にどうもです。
質問厨で申し訳ないんだけど、stringからintへの変換てどうやるんでつか・・・?
306299:03/07/05 01:39
int.Parseっぽいすね。すいません。
stringの方ばっか探してました。
Convert.ToInt32()とかもあるよ。
308299:03/07/05 01:45
intParaseで上手くいきませんでした。
引数int型のインスタンスにstring strを渡すため、
int.Parse(str)
ってやったんですが、「入力文字列の形式が正しくありません」っていうエラーが。
分かる人いますか?

>>307
アリガ㌧
試してみます。
309デフォルトの名無しさん:03/07/05 01:53
☆頑張ってまーす!!☆女の子が作ったサイトです☆
http://endou.kir.jp/betu/linkvp2/linkvp.html
>>308
str の値は何?
311299:03/07/05 03:49
>>310
できました。
comboBox使ってたんだけど、selectedText使ってたのが間違いですた。
selectedItem.ToStringでうまくいった。

また質問があるんだけども、ComboBoxで任意の項目を指定させることはできないの?
312デフォルトの名無しさん:03/07/05 04:31
Formで線を描くにはどうすればいいんでうか?
本もないのでわかりまえん。
>>312
PaintイベントでGraphics.DrawXXX

検索すれ
314 ◆2tmlaiMKt2 :03/07/05 04:45
315 ◆ABCfisMV.I :03/07/05 04:47
hhhhhh
316 ◆MABCDwUwKE :03/07/05 04:49
yu
317 ◆30Getba/eQ :03/07/05 04:51
30Get
318デフォルトの名無しさん:03/07/05 12:45
初歩的なこともここでよいでしょうか?

ttp://www.atmarkit.co.jp/fdotnet/special/dotnet_sdk/dotnetsdk10.html
↑ここを見て勉強中なんすが、コードを写してコンパイルしてもエラーが出てしまいます。
ライブラリが見つかってないみたいなんですが、そのライブラリの場所もよくわかりません。
実際のdllではなく何か仮想的なもんなんでしょうか?
どうしたらいいのか教えてください・・。

>csc /r:System.DLL /r:System.WinForms.DLL /r:System.Drawing.DLL /r:Microsoft.Win32.InterOp.DLL winform.cs
>Microsoft (R) Visual C# .NET Compiler version 7.00.9466
>for Microsoft (R) .NET Framework version 1.0.3705
>Copyright (C) Microsoft Corporation 2001. All rights reserved.
>
>error CS0006: 'System.WinForms.DLL' メタデータが見つかりませんでした。
>error CS0006: 'Microsoft.Win32.InterOp.DLL' メタデータが見つかりませんでした。

ちなみに上のサイトのこれより前のチャプターのコンソールアプリはコンパイルも実行もできてます。
>>318
そういうところは直リンしろよ。
>>318
記事が古く、名前が変わったので

× using System.WinForms;
○ using System.Windows.Forms;

× /r:System.WinForms.DLL
○ /r:System.Windows.Forms.DLL

Microsoft.Win32.InterOp.DLLは不要じゃないかな。
System.Windows.Forms.DLLもなくてもいけたような。
>>320
ありがとうございます。いけました。

>csc /r:System.DLL /r:System.Drawing.DLL winform.cs

これだけでokでした。
vs.net2003にMSDE入れて、サーバーエクスプローラからSQL Server
のところを選ぶと、ログインダイアログが出て何を入れても
「プロバイダが見つかりません。正しくインストールされていない可能性があります。」
と出てしまいます。

またデータベースを作成しようとすると
「内部エラーです。データベースを作成しようとしてエラーが発生しましたが、
エラー情報を表示できません。」
と出てしまいます。

コマンドラインでosqlするとつながるのですが、何が原因か分かるでしょうか?
323321:03/07/05 13:03
あれ、
>csc winform.cs
これでいけた・・・・。
324デフォルトの名無しさん:03/07/05 13:08
今から言語やるならC#かな?
今はみなさんどの言語使ってるの?
>>324
このスレで聞いても答えは決まってるだろ。(w
326デフォルトの名無しさん:03/07/05 13:19
>>324
ですよね。
ついでに質問
初心者同士が共同でプログラミングしたり
自分のソフト晒して評価してもらったりできる
初心者プログラマ育成スレみたいなのないですか?(できればC#で)
327324:03/07/05 13:20
×>324
○>325


ここIDでないんだ・・
>>326
そんな良スレは2ちゃん中探しても見つからない。
329デフォルトの名無しさん:03/07/05 13:56
右上のペケボタン押しても閉じないフォームを作ってしまいました!
どうすればいいんでつか?
330324:03/07/05 14:10
>>326
ここで晒してもいいんですかね?
VECTORにいきなり出すのもあれなので
客観的にいろいろ評価しりたいし
332221:03/07/05 15:24
>>221です。
どうも質問の仕方が悪かったようでもうちょっと書かせてください。
要は検索条件の個数が不特定の場合、
OleDb.OleDbCommand cmd=new OleDb.OleDbCommand();
cmd.CommandText="SELECT * FROM TABLE_NAME WHERE{ }"
↑の{ }部分になんて書けばいいのかわからずに困っています。
そもそも不可能で、結局動的にSQLのWHERE部分を作成しなくてはならないのでしょうか?
これだとOleDb.OleDbParameterオブジェクトを使って楽に、、という
本で読んだ知識とだいぶ違いとまどっています。
よろしくお願いします。
333252:03/07/05 15:25

すみません、
間違えました。
221じゃなくて私は>>251です。
334334:03/07/05 15:40
ワタシハ>>334ダ。
335デフォルトの名無しさん:03/07/05 16:14
Formの閉じるボタンの設定ってどうやつんですか・
336335:03/07/05 16:29
Panel.Controls.Clear()を実行すると、閉じるボタンが効かなくなりました。
Panelには実行時操作でパネルを追加していってるんですが、
一旦Clearで全部消してから、リストにあるのをもう一度全部表示させてるんです。
Clearをやめて、任意の内部パネルに対してremoveを使っても同じでした。
Application.Exitだと素直に終了できるのですが・・・。
FOrm.Close関係でしょうか?
分かる方いましたらお願いします
あなたにはまだ無理です。
>>336
なおるかわからんが、Panel.Select()とかしてみるとよろし
たしかタブコントロールも似たようなバグがある
339335:03/07/05 19:14
>>338
直らなかったです。これってバグなんですか?直らないのかな・・・。

>>337
分かるなら教えてください。
         / ̄ ̄ヽ
       |__T_i_
       |ミ. ・ ・|
      (6〈 / Jヽ 〉  
      |   Д |  < Let's C# !! やで
       l\__)    
     ____ノ    (___ (⌒)
   / | | | \_/| | | `ノ ~.レ-r┐ ビシッ
  ////| | | | |。|. | | |ノ__ .| | ト、
  |///.| | | | |。|.( ̄  `-Lλ_レ′
  |/// T i g e r s ̄`ー--‐′
341デフォルトの名無しさん:03/07/05 21:40
C#でsplitみたいのないんですか?
\tで区切られたファイルを読み込みたいんですが。
ヘルプで「split」検索してみろ
>>335
おまえMLでも同じ質問してたろウザイからやめれ
クラスライブラリを紹介した安い本見あたらないんだけど、
存在するんですか? あったら教えてください。
シリーズになってて全部で何万もするのにヘルプを印刷しただけ
のようなやつはいりません。

Javaとかならいくらでも見つかるのにな。
>>344
MSDNライブラリでいいんじゃないの?
本じゃ不便だと思うけど。
346デフォルトの名無しさん:03/07/06 01:57
>344
暮らすライブラリはMSDNライブラリで。その他TipsはC#300を買ってて損は無い。
C#とC++ネイティブでベンチマークで速度を比べたホームページとかありませんか?
どの程度違うんでしょうか?
348デフォルトの名無しさん:03/07/06 21:28
>>347
かなり違う。
体感で1.5倍ぐらい。
ジャンルによると思う。
描画はとにかく遅いよなあ。
あと、デカいassemblyとか、読み込み時に時間かかる。

単なるアルゴリズムとかそういうのはあまり体感できてない。
ベンチマークとなるとあまり変わらないかもしれないけど、
ベンチマークなんかよりも体感速度が全然違う。
C#の起動時のもたつき、画面描画・GUI反応のもたつき…。

業務系プログラムでも厳しいよ。今回のプロジェクトは C# で
やりたかったけど、補助系ユーティリティのみ C# で、
エンドユーザーが毎日操作する基幹系は VB6 での実装となった。

.NET は Windows2000/XP/2003 で使うべきじゃないよ。
次のウィンドウズで CLR の起動いらずでネイティブと同じように
動くのを期待して、C# とか取り組みはしてるけどね。
「現状のままで使える」と判断して取り組んでるわけじゃない。
描画速度は桁が二つほど違う
>>350
> 業務系プログラムでも厳しいよ。今回のプロジェクトは C# で
> やりたかったけど、補助系ユーティリティのみ C# で、
> エンドユーザーが毎日操作する基幹系は VB6 での実装となった。

VB6より遅い!?
描画速度ってGDI+を使えばC++でもC#でも変わらなくない?
354349:03/07/06 22:12
>>352
いや、それは本当の話。
>>352
VB6はネイティブなんだし当たり前。
ネイティブって・・・描画系は違うだろ。
あ、誤解の無いようにいえば、通常のエンドユーザアプリの処理でもっとも重いのが描画系かと。
実際、計算をバリバリしなけりゃネイティブコンパイルしても早くなかったし。
現在の二大問題、起動時間と描画の遅さ。
これらを解決するLonghorn、はよ出して。
描画遅いと言ってる人はどんな描画してるの?
描画が必要になることなんてほとんど無いと思うんだけど。
画面に項目を多数表示するだけでも再表示がモタつかねえか?
>>359
別にOwnerDrawとかしなくても遅いと思うんだけど。
MessageBoxレベルのFormとか作るだけでもちょっとモタつくというか。チラつくし。
362デフォルトの名無しさん:03/07/07 00:13
>>361
パソコン買い換えろ
TT
ここはCPU 1GHz未満のプログラマがいるスレですか?
>>364
いや、実際、2年くらい前に大量導入した客に買い換えろって言えないし
ちょっと実験。
int step=1;
int size=750;
for(j=0; j<size; j+=step) {
g.DrawLine(pen, 0, 0, size, j);
g.DrawLine(pen, 0, size, size, j);
g.DrawLine(pen, 0, j, size, 0);
g.DrawLine(pen, 0, j, size, size);
}
こんな感じの単純なコード。

C,GDI: 20msec(MoveToExとLineToの繰り返し小細工無し)
C#,GDI+: 680msec(バラつきがあったので最小値)

C#はαチャンネルや線のアンチエイリアスが処理できるから
それで遅いのかと思ったら無関係みたい。
ペンを半透明にすると1800msecになってしまった。
アンチエイリアス+半透明だと3800msec。悲惨だ。
367361:03/07/07 00:23
>>362
俺の環境は大丈夫なんだけど、使ってくれてるユーザーの環境はついてこないし。
そんなこと言われても困るがな。
ソフトをちょっと交換するだけでいけますよ
ハード買い換えよりはお安いですよ

などと搾取してるわけですな
>>366
なるほど。参考になった。
ところでVBとの比較は無いかな?
どうせVB代わりにしか使わない香具師の方が多いだろ??
>>366
そんなプログラム誰もやらないでしょ
いるならDirectX使えばいいし

まあ、C++の方が速いに決まってるが
VB6より遅いってのは言い過ぎだろ
リストビューやファイルアクセスはC#の方が早いぞ
起動は少し遅いがな
作業効率を優先するか
実行プログラムの速さを優先するかだよなー
しょぼいソフトならC#で十分
C++とC#のスピードの差気になる香具師はC#やらない
VBとC#のスピードの差気になる香具師はC#にしとけと
VB6とC#でフォームにコントロールを30個くらい貼ったアプリを
作って、遅いCeleronの400MHzのマシンで試してみたけど、
まあ、見比べたら遅いのがわかるけど、操作に支障が出るほどの
差があるとは思えない。
(起動は明らかに差があるけど)
描画が遅いって話なんだが。
ファイルアクセスとかはVBより速いよ。普通に。
>>373
ちょっとしたフォームを作るだけでも遅いって言ってるやついるじゃん。
遅いのって、中間ファイルをコンパイルする、初回起動だけでしょ?
SharpReaderとか、.NETアプリを常時起動しておけばよい。
ああ、スタートアップにOffice Startup(?だっけ)みたいなのを入れときゃいいのか!
378373:03/07/07 01:11
もういいや。
俺はアンチじゃないんだけど。C#製のアプリ公開してるし。
実際遅いんだがなあ。
さっきのC#のコード。GDIを使うようにしたら30msec。
どーしても速度かせぎたいときは面倒でもGDI使えばいいや。
.NETアプリを起動していてもやっぱり起動は遅かった。
ま、最初に起動するやつよりは速いんだけど。
確か前もって中間ファイルをコンパイルしておく技って無かったか?

・・・早くならないという話もあるけど(w
どうでもいいじゃんそんなの
この言語が主流になるころにはマシンスペックなんか
4倍ぐらいになってるでしょ
>>382
すでにVBは出荷されてませんが・・・

お陰で洩れのとこじゃ、C#(VB.NETは避けたい)で開発しなきゃならないんですけど。
384デフォルトの名無しさん:03/07/07 03:29
てゆーかさ、C#体験しといてVB6のがいいってやつ意味わかってねーだろ。
求めるものが違うんじゃね?
自分が少数派と認識するべし。
385デフォルトの名無しさん:03/07/07 03:32
>>379 どーしても速度かせぎたいときは面倒でもGDI使えばいいや。

おまえは普段 GDI を使わずに描画してるのかと小一時間
理由もいえないくせにVBが遅いとはよく言うよ。
CLRが遅いのか、GDI+が遅いのか、混同されている気がする。

.NETアプリの起動は確かに遅いけど、Javaの起動と比べたら
許せるレベルかと。
所詮みんな口だけ。好きなものが速くて嫌いなものは遅いと言いたいのさ。
>>388
アンチJavaにも同じことをいってやれ。
>>388
安心したぞ。
VB厨の陰謀だったんだな(w
VBは遅くないよな。
VBで作った馬鹿なアプリが糞遅いことはよくあるが。
まっ。>>390のような奴がいる限りまともな議論はできないってった。
>>391
禿同。言語のせいにしている時点でまだまだ。
作り方が悪ければCだってアセンブラだって遅くなる。
>>385
GDI+だす。GDIをラップしてることは承知ですが。
WebChart Control for ASP.NET
http://www.carlosag.net/Tools/WebChart/Default.aspx

ここのページすごいね。
396385:03/07/07 13:38
>>394

お前は GDI+ が遅いと思っているのかと小一時間。

>>C,GDI: 20msec(MoveToExとLineToの繰り返し小細工無し)
>>C#,GDI+: 680msec(バラつきがあったので最小値)

比較の仕方が間違ってる。


>>396
だな
スタートアップフォームのインスタンスってどうやって取得すればいいでしょう。

別フォームからスタートアップフォームのpublicな関数や、コントロールのプロパティ
を参照したいんですが、どうも思いつきません。

頭が固い私にアドバイスをお願いします。

"他のフォーム上の関数からfoo()を呼んだり、treeView1のプロパティにアクセスしたい"
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.TreeView treeView1;
private int i;

[STAThread]
static void Main()
{
Application.Run(new MainForm());
}

// static にすれば呼べるだろうけども、各インスタンスのiを操作したいので
public void foo()
{
i++;
}
}
Form1 form=new Form()
form.foo()
>>398
フォーム同士の関係にもよるけど、使いたい側のフォームのPublic変数に、
スタートアップフォームのインスタンスを入れておくってのが簡単。
>>400

なるほど。

どこかに(Applicationとか)格納されていないかなと思いましたが、とりあえず
教えていただいた方法で参照することができました。

ありがとうございました。
>>396-397
GDI+が遅いんだよ。
C++でもGDI+使えば激遅だから試してみれ。
↑スルーよろ
高級言語でなく高級プログラマがいるスレはここですか?
高級プログラマとはなんですか?

一通りプログラムできるが作業効率が非常に悪い
能無しプログラマの俗語です
GDI+マジ遅え。
Longhornまで待てというのか。

Longhornが出る頃のマシンなら十分な速度で動作しますね。


多分。

MSX-BASICのLine文で大喜びしていたときのことを
リアルに思い出させてくれる懐かしいスピードです。
>>409
いくらなんでも・・・。どんなマシン使ってるんだろ。
あ、自分を・・・うぐぅ。
>>408
あの頃のプログラミングが一番楽しかったなー
限界が見えてたからかな?
今の言語は私には難しすぎる
ハードウェアの性能が上がれば問題なくなるだって?
んー どっかの言語で 8年くらいそんな話を聞いてるな。

まぁ、こっちは OSが手厚い対応してくれるから大丈夫かな?
そのうち、CLR のことをネイティブアプリと呼んで、
Win32 をエミュレーションする Windows が出るのかえ?
>>412
Longhornで解決。
> んー どっかの言語で 8年くらいそんな話を聞いてるな。

笑った
でもあれは宗教的理由でもって思考停止しているだけだと思う
>>412
どんどん重くなるんだね
M$は一体どこめざしてるの?
プロジェクトX見たけど
日本人が考えたTRONが世界標準のOSになるはずが、
アメリカのスーパー301条で潰されたって見たなー
今の携帯とか炊飯器とか電化製品は全部TRONが入ってるんだって
ここにいるひとはみんな知ってるだろうけど
TRONが世界標準のOSなってたら日本どうなってたんだろ
年間30兆円の売上あげる会社とかあったのかな?
景気もよかっただろうなー
B.G.を神とする一神教による世界制服。
>日本人が考えたTRONが世界標準のOSになるはずが、
ヲイヲイ、何を見てるんだ。それともNHKがかましたのか?
>>417
スペイン宗教裁判したくなるね
>>418
世界標準はおれが付け足したんだけど^^;
日本の基準がTRONになり始めたときに経済制裁食らったんだよね
NHKに騙されてる人、ここにもいたか。
>>409
Pen3 866MHzです。
424デフォルトの名無しさん:03/07/08 16:24
ボーランド、.NET対応の開発環境
『Borland C#Builder for the Microsoft .NET Framework』日本語版を発売
http://ascii24.com/news/i/soft/article/2003/07/08/644802-000.html

http://www.borland.co.jp/csharpbuilder/
http://www.borland.co.jp/news/csbuilder.html
425デフォルトの名無しさん:03/07/08 18:25
あのさ、クラスAを使うクラスBがあったら
まずクラスAをコンパイルしないとだめでしょ?
コマンドラインからだとクラスAコンパイルしると、Mainないからエラーになんだよ。
どうすればいいの?
>>425
Exe じゃなくて、DLL とか Module としてコンパイルすればいいんでない?
427デフォルトの名無しさん:03/07/08 18:37
Moduleやってもだめだったよ・・・。
引数に両方指定すれ。
ゲームの勉強をしたいんですが、参考書はなにがいいですか?
ファミ通。
このソフトでウィルスソフトとかHDDフォーマットプログラムとか作ったら
誰が作ったかって特定されますか?
製品番号とかも一緒にコンパイルされるんでしょうか?
さっさと捕まってください
>>424
ボーランドががんばってLinuxでも動くようにしてくれないかな。
434デフォルトの名無しさん:03/07/09 13:05
>>431
なにがしたいんだYO!
>>431
これ↓でそういうプログラム作ったら表彰されるかも。

ノータッチ デプロイメント プログラミング コンテスト
https://www1.bug1ch.net/mscont/default.htm
436デフォルトの名無しさん:03/07/09 22:41
TextBoxのタブ文字サイズってどうやってかえんの?
internalはjavaでいうとこのprivateってことでいいんでつか?
EM_SETTABSTOPS(w
Microsoft MVP制度でコミュニティ支援を訴えるSODECのMSブース
http://www.zdnet.co.jp/enterprise/0307/09/epn32.html

2ちゃんねらにもMVPはいるの?
MVPにも2ちゃんねらはいるらしい。
「デフォルトの名無しさん」は共有MVP名ということで
いるでしょ。そりゃ。現においらもそうだし。
>>437
C#のinternalはJavaでいうと、所謂パッケージスコープ。
public とか private とかを全く付けてないのと一緒。
(ちなみに、C#は省略するとprivateになる。)
friendだっけ?
>>444
443に対するレス?
まあ、C++ で friend を使うような場面では、
protected internal とかを付けて解決したりするみたい。
446デフォルトの名無しさん:03/07/11 07:08
ダウソ祭り開催中

C#Builder Personal (269MB)
http://www.borland.com/products/downloads/download_csharpbuilder.html

FUD
つーか「PR」だし。
かなり便利そうだけどどうでしょう。

XML Tools Update
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxmlnet/html/xmltoolsupdate.asp
451デフォルトの名無しさん:03/07/11 14:23
相談です。
System.Windows.Forms.UserControlでコントロールを作成しています。
MouseDownでCtrlキーが押されているときに処理を行うようにしたいのですがMouseDownにはキーボード情報が無いようでしたので、以下のようにしました。

private bool _ctrlKey;

protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
_ctrlKey=e.Control;
}
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
_ctrlKey=e.Control;
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if ((e.Button==MouseButtons.Left) && _ctrlKey)
{
//処理
}
}

これで上手く動いたのですが、「CTRL+ALT+SHIFT」でPCをロックした際に問題が発生しました。ロックを解除後_ctrlKeyフラグがtrueのままなのです。
ロック時KeyDownは発生するようですが、KeyUpが発生しないようです。
この問題を上手く回避する方法はありますでしょうか。
KeyDownイベント以外でキー情報を取得できれば良いのですが、方法がわかりません。
どなたかお教えください。
>>451
ModifierKeysプロパティとか
453デフォルトの名無しさん:03/07/11 17:29
おぉっ
簡単に解決してしまいました!
ありがとうございます!!

もうひとつキー周りで困っていることがあります。
おなじくUserControlでの処理なのですが、MouseDownでFocus()して
フォーカスを受け取り、カーソルキーを押して処理を行いたいのですが、
カーソルキーを押すとボタン等の他のコントロールにフォーカスが移ってしまいます。

カーソルキーで他のコントロールにフォーカスを移さない為にはどうしたら良いのでしょうか?
ご教授よろしくお願いいたします。
454デフォルトの名無しさん:03/07/12 01:16
進行状況を表示するのにプログレスバーを使いたいんですけど、
処理をしているスレッドからFormのBeginInvokeを使うと明らかに速度が落ちてます・・・
我慢するしかないんでしょうか?
あと、キャンセル処理の仕方がわかりません・・・
どこかわかりやすいサイト、または本とかありませんか?
Invokeの回数を1回/1secとかに減らす。
キャンセルって何をしてんのか知らないけど、
ThreadならAbortメソッド。
スレッドではThreadAbortExceptionをcatchすりやいいじゃん。
Thread.Abort()って例えばパケットの受信をブロックして待ってる時なんか全然終了できないよ。
なんで独自にキャンセルする処理を入れたほうが確実。
例外を自分で飛ばして処理抜けるのがいいと思うな。
457454:03/07/12 22:32
>>455>>456
どうもです。Invokeに関しては回数を減らす方向で行きます。
言われてみれば確かに逐一更新する必要はありませんね。

で、キャンセルなんですが、
現在実行ボタンを押すとスレッドを開始して進行状況をプログレスバーで表示してます。
キャンセルボタンを押すとその処理を中止するようにする場合、
例外を飛ばしたくても処理スレッドにキャンセルの通知方法が思いつきません・・・
Abortでも特に問題ないと思う処理なのでAbortで行こうかと思いますが、
>>456さんの方法も知りたいです。
>>457
いろんな方法があるので一概には説明できないです。
デザインパターンがあるので興味あるなら調べてみては?
単純なのでは中止フラグを用意してそれを確認して中止処理を開始するとかかな。

私が以前やったのは別スレッドで処理するものまとめてスレッドクラスにする。
スレッドクラスはスレッドの生成、中止、終了の各操作をインターフェイスで持ってる。
スレッドクラスを集約して管理するクラスに問い合わせれば各スレッドクラスの状態が分かるって感じにしたことある。
そのソフトはスレッドの状態自体が重要だったんでね。
バージョン2.0が出たよ。

Enterprise Solution Patterns Using Microsoft .NET (PDF)
http://www.microsoft.com/downloads/details.aspx?FamilyID=3c81c38e-abfc-484f-a076-cf99b3485754&DisplayLang=en
460山崎 渉:03/07/15 09:31

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
461デフォルトの名無しさん:03/07/15 12:15
あげておこう
クソスレ上げんな
463山崎 渉:03/07/15 14:01

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
464デフォルトの名無しさん:03/07/15 21:06
キタキター(゚∀゚)

Web Services Enhancements (WSE) 2.0 Technology Preview
http://microsoft.com/downloads/details.aspx?FamilyId=21FB9B9A-C5F6-4C95-87B7-FC7AB49B3EDD&displaylang=en
SOAP Messagingがよさげですな。
466デフォルトの名無しさん:03/07/15 22:16
               _.. ..‐::´/
             _/::::::::::::/
           _/:::::::::::::/ ____
         ,..::::´::::::::::::::::::::: ̄:::::::::::._/
       /:::::::::::::::::| ヽ、:::::;::::::::::::/
       /:::::::::::::::::::::|´|ヽ   |/_:::.::/
  _ .. -─':::::::::::::::、::|`'   ,   .!::∠
  `'' ‐-.._:::::::;-‐、`(●)  (●) |::::`::-、オッス!オラ30代高卒独身PC職!
 =ニ二::::::::::::::::|6    \___/、| -──` 将来がやべえ状態だってのに
    ‐=.二;;;;;`‐t    \/  ノ       なんだかすっげえワクワクしてきたぞ!
http://pc2.2ch.net/db/
467デフォルトの名無しさん:03/07/15 23:57
System.Macintosh.Formsはまだですか?
468デフォルトの名無しさん:03/07/16 00:44
469デフォルトの名無しさん:03/07/16 02:18
[C# Error] WinForm.cs(388): 変数ではないため、'System.Windows.Forms.Control.Location' の戻り値を変更できません。

ということは、.NETではコントロールの位置を変えることは出来ないのでしょうか??
>>469
Control.Location プロパティのヘルプみました?

位置帰るときはBoundsやLeft,Topを弄ればいい。
もうちょっとヘルプを探してから質問してほしいな。
ヘルプが全文英語で良く分からなかったので質問してみました。
とりあえず、右辺をnew System.Drawing.Point(x, y)とすることで代入できました。
なかなか参考になります。

Interop Declarations for Windows.h
http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=f1dd70e4-c212-4a6f-bff7-c82e34c8836f
[SoapMethod](・∀・)イイ!
475デフォルトの名無しさん:03/07/16 22:30
http://pc2.2ch.net/test/read.cgi/tech/1057580107/227
> とりあえずC#相談室よりは上にいてほしいので
> age

必死に対抗するか見てみよう
age
>>475
あっち上げたのお前でしょ?
477デフォルトの名無しさん:03/07/16 22:48
違います。
言語戦争やめれ。お前らどっちもできるだろ。
意味ないことはやめておけ。
絡んできたのはC++厨(アンチC#厨)みたいだけどな。
>>474
[SoapMethod]って何ですか~?
意図的にソープメッセージ作れるんですか?
481デフォルトの名無しさん:03/07/17 10:26
C言語では

void XXX()
{
return;
}

と書けていたのが、C#では
「クラス、デリゲート、列挙型、インターフェイス または構造体が必要です。」と
コンパイルエラーが出てしまいます。
クラスに入れる必要がないようなメソッドでも、必ずクラス内に書かなきゃ
いけないというのがC#の決まりなんでしょうか?
また、そうであるとしたら、そのメソッドを呼び出すためには、必ずそのクラスの
インスタンスを作成しないといけないということですか?
よろしくお願いします。
staticなメソッドならインスタンスは作らなくてもいいよ。
483481:03/07/17 11:55
>>482
おお!今試してみたら、たしかにインスタンスなしで呼べました!
でもクラスの中には入れる必要があって、古い記述法っぽくコーディング
したかったら、using を使う必要があるってことですね・・・。
だんだん分かってきますた。ありがとうございます。
484デフォルトの名無しさん:03/07/17 14:52
C#でVB6のFormat関数を使いたいんですが、プロジェクトの参照設定に
Microsoft VisualBasic Comptibility Runtimeを入れても、
Microsoft.VisualBasic.Compatibility.VB6・・・までは有効になるけど、
そのあとの関数一覧にFormatが出てきません。
無視して強引に書いても、ビルド時にエラーになってしまいます。
C#でFormatを使うにはどのようにしたらいいんでしょうか?
>>484
VBのFormatが何なのか知らないけど、
感じ的に String.Format のことかいな?
486484:03/07/17 15:22
>>485
いや、残念ながらString.Formatとは違うんです。

<書き方>
Microsoft.VisualBasic.Compatibility.VB6.Format(3000, "#,##0")
<結果>
"3,000"

てな感じのメソッドです。
487デフォルトの名無しさん:03/07/17 15:24
>>481
Javaも知らないと見た
>>484
Microsoft.VisualBasic.dll の
Microsoft.VisualBasic.Strings.Format() かな。
>>486
3000.ToString("#,##0");

でもいけるんじゃないかな?
490484:03/07/17 15:36
>>487
お察しの通りです。

>>488
キタ━━━━(Д゚(○=(゚∀゚)=○)Д゚)━━━━━!!!
ありがとうございます!できました!
でもなんで、VB.NETだと
Microsoft.VisualBasic.Compatibility.VB6.Format なのに、C#だと
Microsoft.VisualBasic.Strings.Format になるんでしょうね??
納得いかない・・ (´・ω・`)
491484:03/07/17 15:40
>>489
おお・・・・
((long)3000).ToString("#,##0")
で、うまくいきました!
いろんなやりかたがあるんですねえ。。
String.Format("{0:#,###}", 3000)
String.Format("{0:n}", 3000)

とかも
あ、String.Format("{0:#,#}", 3000) でもいいみたい
なにこの言語・・・
(汗だくモナーAA省略)
495484:03/07/17 15:50
うう・・・ (´д`;) いろいろ教えていただきましたが、やはり、どれも
「VB6コンパチのFormat関数」とは別モノのようです。すみません。
というのも、VB6のFormatは

Microsoft.VisualBasic.Compatibility.VB6.Format("abcd", "@ @ @ @")

を実行すると ”a b c d” という結果を返すんですが、みなさんに
教えてもらったやり方だと、"@ @ @ @" になってしまいます (´・ω・`)
数値のカンマ区切りだけならうまくいっていたんですが・・・。
引き続き、C#からVB6のFormat関数を呼び出す方法をご存知のかた、
よろしくお願いします。
>>490
Microsoft.VisualBasic.Compatibility.VB6.Format は、実際には、
Microsoft.VisualBasic.Compatibility.VB6.Support.Format のこと。だから、このように
完全修飾してあげれば呼び出せる。

VBでは、モジュールでの宣言 イコール グローバルな扱いになるから、省略が
可能だと思われ。

ただし、このメソッドはもう2つ引数をとるので、引数の省略形が書けない C# では、

Microsoft.VisualBasic.Compatibility.VB6.SupportFormat(3000, "#,##0") ;

と書くとエラーになる。

#Missing.Value でもだめだね。なんでだろ?
>>495
あんまりきれいじゃないけど、

MessageBox.Show(
  Microsoft.VisualBasic.Compatibility.VB6.Support.Format(
    "abcd",
    "@ @ @ @",
    (Microsoft.VisualBasic.FirstDayOfWeek)0,
    (Microsoft.VisualBasic.FirstWeekOfYear)0));

で、いけるみたい。
498484:03/07/17 16:10
>>496,497
(`・ω・´)シャキ-ン
バッチリです! ありがとうございました~。
ちなみに引数の省略ができないのは今知りますた (´∀`;)ウフフフ・・
>>496
どうやら、object じゃなくて、Enum値だから、ってのが理由みたい。
参考になったわん。
500デフォルトの名無しさん:03/07/17 22:51
NumericUpDownについて質問です。

numericUpDown1.Hexadecimal = true;
numericUpDown1.Maximum = (decimal)(Math.Pow(2,32)-1);

という風にして、7FFFFFFFと入力してから↑キーを押すと 80000000 になります。
80000000と入力してから↑キーを押すと 0 になります。
予想では80000001となるはずなんですが・・・これはなぜなんでしょうか?

それは7FFFFFFFの次が80000000で、
80000000の次が0だからではないでしょうか
502デフォルトの名無しさん:03/07/18 08:20
[C# Error] AssemblyInfo.cs(16): 'System.Reflection.AssemblyCultureAttribute' 属性を作成時にエラーが発生しました -- '実行可能ファイルはローカライズできません。カルチャは常に空でなければなりません。'
実行ファイルをローカライズする方法キボンヌ
>>502
メインアセンブリとサテライトアセンブリの違いについて調べれ。
[AssemblyCulture]を指定するのはサテライトの方だけ。
504デフォルトの名無しさん:03/07/18 19:13
すいません、以前に質問したことがあるのですが、
再度お教えください。
System.Windows.Forms.Control
を利用してコントロールを作成していますが、OnKeyDownのイベントで
カーソルキー単独の情報を取得できません。
Alt等その他のキーと組み合わせると受け取れます。
なにか良い方法はありますでしょうか。
>>504
前にどっかで見たが忘れた
Controlのメッセージハンドラで何故かカーソルキーイベントを削除してくれちゃってるのが原因だったと思う。
それっぽいメソッドをオーバーライドしれ。
506デフォルトの名無しさん:03/07/18 20:32
>>505
MSの毒に犯された厨がここに一人

そんなツールは使わない
そんなツールは捨てる
>>506
社員必死だな(w
508デフォルトの名無しさん:03/07/18 21:11
てゆーか。

MFCとかATLを貶していたOOの先輩方よ。
C#のライブラリっていかがですか?
C#(.NET)>言語の性質上どうしようもない壁>ATL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>MFC
C#のライブラリ(特にGUI)が洗練されているのは確かだよ。
洗練したのは他人だけどな。
511デフォルトの名無しさん:03/07/18 21:45
>>510
ふーん、洗練されているんですかー。

以下釣られてみると、

MFCにしても、WindowsOSにしても、
常に、いつだって、洗練するのは他人なので、

初期OSからばっちりフォーカスだの、
エラーコードが決まっているなんてありえない。

絶対パクリ
>>510
他人じゃなくて昔他人だろ。
513デフォルトの名無しさん:03/07/18 22:55
csvなstringをstring[]に変換するにはどうすればいいですか?
>>513
string csv = "aaa,bbb,ccc";
string[] data = csv.Split(',');
515500:03/07/18 23:15
>>501
7FFFFFFFから↑を押し続けると80000000 → 80000001 → 80000002
となりますのでそれはありません。
パクリがどうたら言ってる奴は大抵ガキか社畜。
新規のアイデアなんて世の中にはない。
思いついたことは、大抵世の中で一番最後に思いついたことと思ったほうがよい。
真剣にパクることとその上の工夫+実行力がビジネスでは重要。
つかスレ違いだからもうやめようや。
>>516
> つかスレ違いだからもうやめようや。
つーか再開すんな馬鹿。
518デフォルトの名無しさん:03/07/19 00:21
ちょっと質問なんですが、クラスフィールドをスレッドごとに持つことはできないでしょうか。

具体的には、以下のような基本データ型として16進数を表すクラスHexaをつくりました。
public class Hexa {
int dec;
public static string Format = "0x{0:X}";
public int Dec {
get {return this.dec;}
}
public override string ToString() {
return String.Format(format,this.dec);
}
}

計算等では内部に格納した10進値を使うのですが、文字として使いたいときもあるので
0x00AF となるようにクラスフィールドFormat を作りました。
16進表記が全スレッドで同じならこれでいいんですが、別のスレッドでは000AFHと表記したい場合に
どうしたらいいのか思いつきません。何かいい方法はありませんか?
>>518
質問の意図が激しく意味不明だけど、
無理矢理この例を解決するとしたらコンストラクタでFormatを
定義するとかメソッドやプロパティでFormat指定すりゃ。
520518:03/07/19 01:42
>>519
やっぱり意味不明でしたか・・・
もうちょっと説明を。Hexaはintとかと同様のデータクラスのつもりです。

Hexa hexa = new Hexa(12);
String.Format("10進数{0}は16進数{1}}です",hexa.Dec,hexa.ToString());

こういう風にしたとき、
スレッドA:10進数12は16進数0x0Cです
スレッドB:10進数12は16進数00CHです
となってほしいわけです。スレッドAで使用されるHexaのToString()が"00CH"となることはありません。

各インスタンスに渡す方法も考えたんですが、大量に使用するデータ型として扱いたいので
インスタンス属性ではなくクラス属性とすべきだろう、と。

staticと継承について解説ギボンヌ

class Animal{
 public string nakigoe;
}
class Cat : Animal{}
class Dog : Animal{}
このとき、Catについては全てnakigoe="ニャー";
またDogについては全てnakigoe="ワン";
としたいときどうすればいいのでしょうか。
あくまでも、nakigoeはAnimalから継承させたいのですが。

522デフォルトの名無しさん:03/07/19 01:45
>>520
設計がおかしい気がする。
Strutsのソースで似たような事してるので、
Managerみたいな、Factoryみたいな、Contextみたいな。
>>520
まぁ設計がおかしいのは明らかだが、
Thread.CurrentThreadとハッシュテーブル使え
524デフォルトの名無しさん:03/07/19 02:30
int i;
for(i=0; i<4; i++) ;
でループを抜けた後i=4になることを期待してもいいですか?
リファレンスには特に何も記述がないのですが。
>>521
コンストラクタで設定するとか。
class Cat : Animal {
  public Cat() {
    this.nakigoe = "ニャー";
  }
}
527デフォルトの名無しさん:03/07/19 08:42
C#の「&」と「&&」は何が違うのでしょうか?
いまのところ全く同じ動作をしています。
Cでも同じだけど、左側がfalseのときに右側を計算するかどうか
ビット毎の論理積はどの演算子を使うの?
530名無しさん♯:03/07/19 09:28
>>518
( ゚д゚)ノ System.ThreadStaticAttribute
531520:03/07/19 15:22
>>530
どうもです。意図どおりの仕組みなのでちょっと試してみます。

>>522,>>523
設計がおかしいのはどういうところでしょうか?
文字表記の仕方を管理するクラスを作って、
それにHexaが問い合わせるようにしたほうがいいってことですか?
>>531
出力内容がカルチャやロケールならともかくスレッドによって異なる点がおかしい
関数内部でArrayListに文字列をAddしていって最後にstring[]で返すにはどうすればいいですか?
それともArrayListでそのまま返した方がいいですか?
>>533
ArrayList list = new ArrayList();
list.Add("hoge");

string[] s = (string[])list.ToArray(typeof(string));
どなたか、
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconraisingeventshandledbycomsink.asp
ここのソースを動かした人はいませんでしょか。

Set myButton = o
のとこでどうしてもエラーが出てしまう・・
ExcelVBAでやってるからだめなのかもしれないけど。。。
536513:03/07/19 16:56
CvsSplit作ってみました。
"a",b,"c,d" なども分割できます。

static string[] CvsSplit(string value);
http://onigiri.s3.xrea.com:8080/csharp/index.php?%5B%5BTips%2FCVS%A4%F2%CA%AC%B3%E4%A4%B9%A4%EB%5D%5D
537デフォルトの名無しさん:03/07/19 17:16
>>536
てすとメソッド無い?
書き込み側めそっど無い?
改行の扱いは?
538デフォルトの名無しさん:03/07/19 17:17
>>536
行に改行が含まれている場合、""の中は改行になってはいけないので、
InputのパラメータはStringじゃなくて、Stream系じゃないとダメですね。
539513:03/07/19 17:35
>>537-538
改行は特に考慮してませんが末尾のものは
もしかしたらtrim()が削ってくれるかもしれません(いいかげん)。
ついでに"のエスケープも無しです。
引数をStreamにすると今度はStringが扱えなくなりませんか?
対応する場合はoverloadするしかないですかね。
スレが違うが、やってみた。

public static string[] CsvSplit(string d)
{ArrayList l=new ArrayList();bool q=false;int i=0;
for(int p=0;p<d.Length;p++){if(d[p]=='"')q=!q;
if(!q&&d[p]==','){l.Add(d.Substring(i,p-i));i=p+1;}
else if(p+1==d.Length)l.Add(d.Substring(i));
}return(string[])l.ToArray(typeof(string));}
541デフォルトの名無しさん:03/07/19 19:58
>>539
Stringを扱う必要なんてある?
Javaだと、StringReader(Strnig)でストリーム系インスタンス作れるからね。
542デフォルトの名無しさん:03/07/20 02:19
System.Windows.Forms.ButtonはVisual Styleに対応していないんですか?
私の環境ではVisual Styleになってくれませんでした。
543デフォルトの名無しさん:03/07/20 05:38
>>542
Button.FlatStyleプロパティをSystemに。
もちろんmanifestでCommonControl Ver.6の使用を指示しとく必要もあり。
>>543
FlatStyleの指定をそのようにしたら、Visual Styleに対応できました。
ありがとう!
>>542
2003(.NET Framework 1.1)なら、.manifest も不要だよん。
Application.EnableVisualStyles()はバグの温床という話をどこかで聞いたような・・・。
547デフォルトの名無しさん:03/07/20 13:50
>>545
CLIが世界標準でも開発環境は標準じゃないと。。。
548デフォルトの名無しさん:03/07/20 13:57
>>547

今一番触りたく無い言語

C#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>なにか?
>>547
そもそも、System.Windows は標準には含まれてないだろ。

>>548
じゃあ、なんでこのスレ見に来てるんだ?
>>549
プ
551550:03/07/20 20:32
すいません。間違えました。
s/549/548/
552550:03/07/20 20:47
>>551
誰だおめー?あ?
みんな仲良くして!!
554550:03/07/20 23:42
>>553
MSが元凶
555デフォルトの名無しさん:03/07/21 14:54
継承が前提のクラスを継承する場合
class Foo: YourNameSpace.Foo{}
なんて名前の付け方って推奨されますか。

class Foo: BaseFoo{}
class MyFoo: Foo{}
などとやるとBaseやMyを連呼してウザいのです。
556デフォルトの名無しさん:03/07/21 16:25
>>555
意味に従ってつけなされ。

> 継承が前提のクラスを継承する場合
抽象クラスってことか?
Java風にいくならAbstractを前につけるとか。

> class Foo: YourNameSpace.Foo{}
> なんて名前の付け方って推奨されますか。

推奨されないだろ。つうか、同じ名前空間内では継承しねーのかよ。

> class MyFoo: Foo{}

Myを付けて何の意味がある。意味不明だよ。

例えば、架空の事例だが、
Editorクラスを継承して、
TextEditor、BinaryEditorとかを作るとか。
さらにTextEditorを継承してHtmlEditorを作るとかね。

クラスライブラリ内で言えば、SreamクラスとFileStream、MemoryStreamとかあるね。
YOU IS FOOL
558デフォルトの名無しさん:03/07/21 20:17
@ITで低レベルな論争やってる香具師らに読ませてやりたい内容だ。
ttp://www.gotdotnet.com/team/dbox/default.aspx?key=2003-07-21T08:36:33Z
>>577
You is big fool man
>>558
Don Boxかよ
見てることは見てるだろ。
まあ、底の浅いJava厨は見てないだろうけどな
>>561
いや、口プロ系は見てるぞ(w
563デフォルトの名無しさん:03/07/21 23:53
OO馬鹿には何を言っても無駄。
オブジェクトという単位では不足だというのは.NET以前のCOMの頃の議論なのに。
しかしまあ、C#2.0とILXで解決されてる問題をいつまで議論してるんだろう。> @IT
談話室でやれや
>>567
匿名メソッドの型が激しく気になる。
型推論してSplat型になるのか、別の型が作られてしまうのか。
delegateでしょ。推論なんかしてないじゃん。
>>569
> delegate(Splat you, object a)

これだけではdelegateがSplat型だという情報はないでしょ。

> me = delegate(Splat you, object a)

この文脈ではじめて「delegateはSplat型に違いない」となるんじゃないの?
>>570
me = new Splat( delegate( Splat you, object a )...
     ↑これが省略できる

ってことだよね。
普通のメソッドでもそうできるようにして欲しいもんだ。
572デフォルトの名無しさん:03/07/23 15:32
コメントの組み込みトークンの、
TODO と UNDONE と HACK ってどう使い分けたらいいの?
ヘルプをみたりググったりしても、この3つがあることしか
分かりませんでした。
教えて、エロイ人。
TODO・・・・修正・変更等が必要
UNDONE・・・まだやってない、だれかやっとけ
HACK・・・・時間が無いからハッキングした、後で見直してきれいに直しとけ

かな?
UNDONEとTODOの違いがわからんな
Undone やってるけど、まだ終わってない
575572:03/07/23 16:06
>>573
やはり単語のイメージから推測するしかないですか・・・ (´ω`;)
自分で考えて使い分ければいいんでしょうけど、公式に
「こう使え!」ってガイドラインがないと落ち着かない気分です。
どうもありがとうございました。
>>571
そりは別の♯言語。
書籍 - C#デザインパターン
http://bpstore.nikkeibp.co.jp/item/main/148222816980.html
デザパタ本が出ることはその言語の非力さを意味している。
ある言語が十分な柔軟性をもっていればデザインパターンは
存在しなくなる。なぜなら従来パターンと呼ばれていたものを
すべてクラスライブラリ化できるからである。
C#はどんどん新しい本が出るね
580デフォルトの名無しさん:03/07/24 02:43
すいません初心者です
開いたファイルの上に上書きはどのようにするのでしょうか?
そのまま上書きしますとエラーが出ます
よろしくお願いいたします
>>580
C#の限界です。
>>581
おまいの限界。
>>579
そのほとんどがクソだがな。
最近出た本でまともなのはEssensial .NETくらいか。
おまえら参考書は日本のしか見ないの?
>>583
M$信者の典型
>>585
アンチMS厨の典型

どうせ読んでもいないで言ってるのだろうから
ちょっと突っ込むと答えられないだろうな(w
587デフォルトの名無しさん:03/07/24 11:36
コンソールアプリでusing System.Windows.Forms;するとエラーがでますが、
コンソールアプリからは使えないのですか?
>>587
参照設定すれ
CheckBoxをcbとしたときに、後からComboBoxが出てきて困った
590580:03/07/24 13:19
>>581さん
結局出来ないと言うことでしょうか.....................
>>582さん
出来るのでしょうか?
>>590
質問の仕方がわるい
592580:03/07/24 14:52
>>591
すいません初心者なんで
pictureBox1.Image = Image.FromFileで開いて
pictureBox1.Image.Saveで上書きしたいのですが
ぐらいしか思いつかないのですが
>>592
初心者って言うな。マジで。
>>592
Image.FromFileのかわりにImage.FromStreamを使う
595デフォルトの名無しさん:03/07/24 14:57
結局>>593さんは知らないんですね残念
596デフォルトの名無しさん:03/07/24 14:57
>>594
ありがとうございます
さすが 試してみます
597580:03/07/24 14:58
すいません初心者なんで
生意気な口きいちゃいました
>>594さんの言ってることが全然分かりません
初心者なもので、もっとやさしくお願いします
Googleでキーワード調べろ馬鹿
>>592
つい最近、全く同じ内容の質問が
ここか、くだすれC#のスレにあった。
600580:03/07/24 16:22
>>598
すいません。初心者なんで検索するのが面倒です。
>>599
すいません。初心者なんで探すのが面倒です。
601デフォルトの名無しさん:03/07/24 23:34
Beginnerという英単語にそのような訳があるからなのかどうかは知らないが、>>1のような
自称「初心者」は困ったものだ。Beginnerという単語は単に「何かを初めて行い始めたばかりの人」
という意味しか無いと思っている。

日本語における「初心」の真意は何だろうか。
世流能楽の大成者・世阿弥は「初心忘るべからず」という諺を残したが、この諺にこそ「初心」の
真意が込められていると思う。

この「初心」には”何かを初めて行い始めた”という状態を指す意味も勿論含まれているが、
”初めてだからこそ、より上を目指して人並み以上に自己努力・自己研鑚する心意気”という意味も
多分に含められているはずだ。だからこそ「初心忘るべからず」という諺が成立するのである。

>>1のようにBeginnerであるにも拘わらず、少しでも分からないことがあればすぐ人に聞くような
態度を見せる人は、「初心を持つ人」たる「初心者」と自ら名乗るには到底値しない人なのである。
例えば>>1のような人が「初心忘るべからず」という態度を取リ続けたらどうだろう。

本人は遅々として成長せず、周囲にだけは多大な迷惑がかかるはずだ。そのような人間には
「初心者」を名乗る資格はない。「ビギナー」「無為(むい)者」等と名乗るべきである。

もうググッても見つからないので質問します。
CAOで状態を保持する方法を知っていれば誰か教えてください。

よろしくお願いします。
604デフォルトの名無しさん:03/07/25 10:03
スマートクライアントについて教えてください。
System.Windows.Forms.Controlより独自のコントロールを作成、
ツールボックスに登録し、アプリケーションに貼り付けて利用しています。
通常はアプリケーションのBinの中身(exe&dll)をコピーして配布するだけで上手く
動くのですが、IISを利用してスマートクライアントとしようとすると
セキュリティポリシーで許可されていない動作として失敗します。
スマートクライアントとしてではなく、LAN内でネットワーク越しに実行しても
同じエラーとなります。
何か設定をすれば動きそうな感じなのですがわかりませんでした。
どなたかご教授ください。
よろしくお願いいたします。
605デフォルトの名無しさん:03/07/25 13:51
すいません、自己解決しました・・
以前質問したカーソル情報取得の為に
ProcessKeyEventArgsをoverrideしていたのが良く無いようでした。
またもやカーソル振り出し・・・
とりあえずスマクラで動いてホッとしました。
606_:03/07/25 13:55
「これからはじめる .NET Framework .NETリモーティング編」
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0580-0
ほう。やっと日本発Remotingの本が出るのか。
おいおい、196ページかよ。ほんとの入門本だね。イラネ。
610デフォルトの名無しさん:03/07/26 12:28
あなたの開発した.NETソフトウェアは、リバースエンジニアリングの脅威が存在する
http://www.zdnet.co.jp/enterprise/0306/30/epn01.html
>>610
VS2003に付いてるから使ってみたことあるけど、exe起動しなくなったよ。
サイズが減ったと思って一瞬喜んだが、起動しなくちゃ意味ねえ。
612デフォルトの名無しさん:03/07/26 12:50
単純なコードでも起動しなくなった?
検索ダイアログどうやってつくってるの?
615デフォルトの名無しさん:03/07/26 13:42
痴漢ダイアログどう姦ってつくってるの?
パレットにFindDialogってなかったっけ?
617デフォルトの名無しさん:03/07/26 14:16
ないよ
618611:03/07/26 14:19
>>613
単純なコードでは出来たけど、意味無いような。
試したexeはunsafeとかCOMとか使ってる。対象外?
619デフォルトの名無しさん:03/07/26 14:34
C♯の限界が垣間見えました
620デフォルトの名無しさん:03/07/26 18:00
VC#.NETを買うつもりですが、それまで、
C#BuilderのFree版やSharpDevelopで
C#を試してみようと思っています。
この二つで作った物はVC#.NETで
使用できるんですか?
あと、この2つのソフトはVisualシリーズみたいに
コード補完機能(?)はついているのですか?
どなたか教えていただけませんか?
>>620
C#BuilderはVSのプロジェクトにエクスポートできるし、
VSのプロジェクトの読み込みもできる。
SharpDevelopはそういうツールはあるらしいが最近は疎いのでよくわかんね、スマソ。
コード補完機能はどちらもあり。
SharpDevelop も標準で VSプロジェクトのインポート・エクスポート可能。
>>619 お前の限界
624620:03/07/26 19:27
安心しました。
VC#を買うまでC#Builderで開発してても
そのまま移行できるということですね?
あと、補完機能って何まで補完してくれるんですか?
両方とも変数は補完してもらえなかったのですが。
625デフォルトの名無しさん:03/07/26 19:28
>>623
じゃあ限界を超えてみろよ!!!
626デフォルトの名無しさん:03/07/26 20:47
いまさらな話です。
去年に.NET(2002)買ってしばらく放置してました。
2003にアップグレードするためには、
アップグレード版買うしかないんですか?
10まんくらい払って。

ちなみにMSDN会員ではありません。
>>626
ご愁傷様(-人-)
Visual Studioが無いと開発できないとか思ってない?
629デフォルトの名無しさん:03/07/26 20:59
>>627
つまり、これから毎年10まんずつ取られるってことでつか?

>>628
やっぱ、アプリケーション作りたいんで。
となるとVisual Studioでしょ?
>>629
垢ですか?
>>629
Pro 版以上なら、無償でアップグレードできるはずだけど?
MS からメール来てなかった?
Visual Studioがないとコンソールアプリしか作れません。
断言するなよ
634デフォルトの名無しさん:03/07/26 22:24
>>631
ちょっとメールが見当たらないので
事務局にメールしてみまつ。
もう期間過ぎたんじゃねーの?
636デフォルトの名無しさん:03/07/26 23:18
>>635
うっせーな返信待ってろヴぉけが
こうやって金を巻き上げるわけだな(^_^)3 フムフム。
javaやってる人って
自分より知識のないやつは馬鹿にした感じで、ほかの言語を一切認めない
みたいな人が多いような気がするのですが
C#はやってる人たちもやっぱそう?

C# 相談室 Part10(>>638): warning CS7743: 夏坊が発生しました。レスに価値がありません。
>>638
639が全てを物語っている。
>>638

そういうやつもいるし、そうでないやつもいる。

漏れの経験では、複数の言語が使える人ほど、他の言語に寛容だね(当たり前だけど)。
JAVAより優れてる
↑他の言語に寛容でない人
>>638
確かにJava厨の中には多いように感じる。
自分より知識が無い相手というより、自分と意見の合わない相手を見下すことで優位に立ちたがるって感じだが、虎の衣を借りてる感じは否めないな。
本当に出来る奴はちゃんと多言語も認めるので、厨とは同じにみなさないで欲しい。

C#はマイノリティだからまだ他を馬鹿に出来る立場には無いが、シェアが増えれば絶対出てくるだろうな。
ここで雑談してる奴馬鹿だろ?
現在、C#使ってて他の言語に慣用的じゃない奴なんているのか。
殆どが他言語からの流入でこれしか経験してないやつなんて極僅かだと思うが。(2003年7月28日現在)
Del厨
こんなの見つけた。
http://www.itscj.ipsj.or.jp/jis/csharp/
649JAVA潰し本格化へ:03/07/28 11:38
Java Language Conversion Assistant により Visual Studio .NET 2003 を
使用する開発者は、Java 言語アプリケーションをすばやく、低いコストで
Visual C# および .NET Framework に変換することができます。変換した
アプリケーションは XML Web サービス、および ASP.NET、ADO.NET、
Microsoft Windows フォーム などの .NET 開発プラットフォームを使用して、
拡張することができます。 (July 22, ダウンロード情報)
>>648
C# JIS 化準備 か。
Java Language Conversion Assistant 2.0
ってVisual C# .NET Standard でも使えますか?
VisualStudio .NET2003 じゃなきゃ駄目?
システム要件読みなさいっての。
653626:03/07/29 23:16
去年の春.NET2002買って.NET2003がほしくなった
>>626かつ
>>629かつ
>>634でつ

MSからメールがきました。
「アップグレードの申し込み受付はすでに締め切っていますが、
今回のみ特別に申し込み受け付けさせていただきます。」
だそうです。

いや、見直した!
マイクロソフト。
おまえ、そんなやつじゃなかったじゃん・・・
654デフォルトの名無しさん:03/07/29 23:21
☆★ 新商品 ゾク・ゾク 入荷!! 急げ~!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
変に良心的になると怖いなw
締め切りは単に急がせるだけのものであって。
>>645
おー、久しぶり。
MSは昔から、「自社ソフトの」デベロッパに対しては、結構優しいよ。
ツールバーを縦にするとボタンのイメージが表示されない。なんでだ?
C#の限界だからだろ。少しは頭の回線繋ごうよ。
661659:03/07/30 06:36
Load 時に、
 toolBar.ButtonSize = new Size(25,21);
と、変えてみると表示された。
Autoでのサイズ計算にバグがあるらしい。
>>660 お前の限界
663デフォルトの名無しさん:03/07/30 15:35
>>662
CSharpの限界だろ。ごまかすなってw
>>663 お前の限界
665660:03/07/30 18:19
よく考えたらやっぱオレの限界ですた。
みなさんすみません。
666660:03/07/30 18:47
>>665
偽者ウザい。
国内屈指の切れ者の俺にそんな限界があるはずないだろうが。
少しは頭の回線繋げって言ってるだろ?
667660:03/07/30 18:55
>>オーメン
お前も偽者じゃねーか。
国内屈指の頭の回線切れまくり野郎が。
668666:03/07/30 19:24
自分で読み返してみたら、頭の回線とか意味不明なことを
言い続けてますた。
すみません。もう来ません。
669660:03/07/30 19:27
>>668
もう少しそれっぽくしろよ、偽者君。
あ、君の頭は手遅れだから成長なんてできないか。
670660:03/07/30 19:50
頭の回線がでるふぁいですた。
スマンコ
671660:03/07/30 19:54
>>669

オレの頭も手遅れのような気がしてきますた。
もう来ません。
namespaceに直接ぶら下がるmethodが定義したい今日この頃。
namesapceがclassを継承してたら良かったのに。
限界がまた一つ増えていく。
>>665
マ板でも頑張ってるよね君
>>674
自作自演
>namespaceに直接ぶら下がるmethod
アホか
677デフォルトの名無しさん:03/07/31 10:47
C#でもAPI使えますけど、宣言がけっこう大変ですよね。
VB6には、間違いも多かったらしいですけど、WIN32API.TXTっていう
API利用のための宣言方法を書いたテキストファイルがありましたが、
C#ではそのようなものは用意されていないのでしょうか。
または、代替となるサイトといったものはありますか?
ご存知の方、よろしくお願いします。
>>676
stringとかintを操作する自作のユーティリティー関数を
MyNameSpace.MyClass.MyMethodなんて
名前を付けなきゃならないのはやたら冗長でめんどいよ。
C#でWin32API使うくらいなら、ネイティブ専用ので作った方が良いよ
ネームスペースってコード書くときにわかりやすくするだけの仮想的なもので、
ILに落とされるときはクラス名の一部になっちゃってるんじゃないの?
681677:03/07/31 11:17
>>679
それはそうだと思うんですけど、たとえばGDI+って、描画系APIと
同じことができてもかなり遅いですよね。
APIを使うことで速くなるかどうかっていうのは試してないんですが、
使わざるを得ない場面ってまだあるんじゃないかと思うんですが。
682デフォルトの名無しさん:03/07/31 11:18
>>677
C#版APIViewer公開してるサイトあるよ
683あぼーん:03/07/31 11:19
684677:03/07/31 11:21
>>682
(・д・)!
そのサイト教えていただけますか?
聞く前にぐぐれ
一発でヒットする
686677:03/07/31 11:31
>>685
これですか?
ググったんだけど、C# APIViewerだとひっかからなかった・・・
API Viewerでハッケソしました。便利そうですね。どうも!

ttp://www.c-sharpcorner.com/Tools/APIViewerPKS.asp
>>678

using するか、vb.net を使いなはれ
688デフォルトの名無しさん:03/07/31 11:48
エロエロなサイトをついにハッケーーーーン!
女子校生の毛の無いツルツルおまんこ!(☆∀☆)無毛われめ!
http://plaza16.mbn.or.jp/~satchel/wareme_tatesuji/omanko/
>>686

それ、あんまり使えないと思うよ。

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=f1dd70e4-c212-4a6f-bff7-c82e34c8836f

とか、同様のプロジェクトが CodeProject にあったと思う。
690677:03/07/31 11:52
>>689
キタ━━━━(Д゚(○=(゚∀゚)=○)Д゚)━━━━━!!!
ありがとうございます!
こちらはそのものズバリですね。
早くなるまで我慢汁
692677:03/07/31 15:30
おかげさまで無事にAPIのPolygonが呼び出せるように
なりましたが、GDI+のDrawPolygonよりもはるかに時間が
かかるという予想外の結果になりますた (・ω・) イミナカッタ・・・
へーそーなんだー
>>692
人柱ご苦労様です
あやうく挑戦するところでした(w
垣間見えた限界への挑戦は失敗に終わったか…
696デフォルトの名無しさん:03/08/01 02:50
stringクラスを継承して、MouseDownイベントを追加したいんですが、どうやったらいいですか?
697デフォルトの名無しさん:03/08/01 02:56

可愛いでしょ♪

http://angely.h.fc2.com/page006.html
>>696
( ゚д゚)ポカーン
麦茶クラスを継承して、一気飲みイベントを追加したいんですが、どうやったらいいですか?
おかしいのは全部が限界君ですのでスルーで。
そもそも破損したDNAの再構築すら出来ないプログラミング言語なんて全て終わってる。
>>699
バスジャックイベントも忘れずに実装してください。
基地外、氏ね
704_:03/08/01 04:43
705677:03/08/01 08:55
>>694
できれば挑戦してもらえるとうれしいのですがw
POINTの個数によっても結果は違ってくるでしょうしね。
自分はPOINT500個のポリゴンを繰り返し描画する処理で
テストしました。
C#の限界が垣間見えました
>>706
お前(というか、そのコピペ?)、山崎渉並にうざい。
708デフォルトの名無しさん:03/08/01 10:39
[DllImport("wnaspi32.dll")]
private extern static void SendASPI32Command(ref SRB_HAInquiry srb);
[StructLayout(LayoutKind.Sequential)]

struct SRB_HAInquiry
{
public byte SRB_Cmd;
public byte SRB_Status;
public byte SRB_HaId;
public byte SRB_Flags;
public uint SRB_Hdr_Rsvd;
public byte HA_Count;
public byte HA_SCSI_ID;
public byte HA_ManagerId;
public byte HA_Identifier;
public byte HA_Unique;
public ushort HA_Rsvd1;
}

static void Main()
{
SRB_HAInquiry asa = new SRB_HAInquiry();
asa.SRB_Cmd=0x00;
asa.SRB_HaId=0;
SendASPI32Command(ref asa);
}
}
709デフォルトの名無しさん:03/08/01 10:44
と言うようなASPIコマンドを実行するための物を頑張ってみたのですが
HA_Identifierは本来はbyte配列みたいで

BYTE HA_Identifier[16]; // ホストアダプタ名称(R)
aspi32.hではこのように定義されていました。

ただ、Win32 APIやDLL関数から配列(byte文字列)を受け取る方法がちょっと
分からないんですが何かそういった点に関する事知ってる方居りませんでしょうか?
vc#std \12000買おうかな
>>709

ってことは、DLL の宣言での引数は BYTE* ?

なら、IntPtr に、Marshal.AllocHGlobal() した値を入れてやればいいんでない?
別にグローバルヒープにおいても問題ないだろうし。
712デフォルトの名無しさん:03/08/01 20:17
質問おながいします。
コマンドプロンプトからC#コンパイラを使いたいのですが
cscと打っても見つからないと叱られます。
どうすればいいでしょうか?
正しくインストール
スタートメニューの"Visual Studio .NET コマンド プロンプト"を実行する。
715712:03/08/01 20:25
>>714
ありがとうございます
できますたーTT
716(・д・):03/08/01 22:25
EXCEL操作に関する質問をさせて下さい。

Excel.Application app = new Excel.Application();
でエクセル自体は開けるのですが、指定したファイル名のxlsファイルを
開くのはどうすれば良いのでしょうか?

Excel.Workbook book = app.Workbooks.Open("C:\\test.xls");
とかやってみましたが、引数1個のオーバーロードがないと怒られました。
C#に関するヘルプはあまり親切には書いてないようです。
ご存知の方はよろしくお願いします。
>>716
C#と関係ねえよ、そういうの。
VBA関係で調べな。
>>716
COMで省略可能な引数には Type.Missing を渡せばよろし。
719(・д・):03/08/01 22:48
>>717, 718
即答ありがとうございます。
ファイル名の引数の後に Type.Missing でダミーの引数を渡せば
良いということでしょうか、まず試してみます。
720(・д・):03/08/01 22:53
適当に引数を複数渡してみましたがうまくいかないようです。
VBAならapp.Workbooks.Open("C:\\test.xls")で開けるようです。
C#で使う場合は何が違うのか…もうちょっと検索してみます。
721名無しさん:03/08/01 23:50
>>720
string path = @"c:\test\hoge.xls";
Process.start(path);

じゃだめ?
722721(再):03/08/01 23:56
string path = @"c:\test\hoge.xls";
System.Diagnostics.Process.Start(path);
723デフォルトの名無しさん :03/08/02 00:41
ネットや書籍で探したデリゲートのサンプルコードで、
デリゲートが参照する関数のスコープが全てstaticのようなんですが、
これは
「デリゲートは自身が参照するオブジェクトのクラスについては関知しない」
ということでstaticで宣言せよということなのでしょうか?

よろしく、ご教示くださいませ。
724デフォルトの名無しさん:03/08/02 00:42
アニメと女子校生の無修正!
無料画像でも十分ボッキもの!
一見の価値あり!!
http://www.pinkfriend.com/
>>723
特にstaticな必要はない
インスタンスが多数生成されるならstaticな方がメモリ節約
727723:03/08/02 01:05
こいつのFunc1,Func2をstatic意外にすると動かないんですよ(;-_-)
[STAThread]
static void Main(string[] args)
{
Delg a,b,c;
a = new Delg(Func1);
b = new Delg(Func2);
c=a+b+b;

CallDel(c,"33333");
Console.ReadLine();
}

static void CallDel(Delg d,string str)
{
int ret = d(str);
}

static int Func1(string str)
{
Console.WriteLine("test1:" + str);
return str.Length;
}

static int Func2(string str)
{
Console.WriteLine("test2:" + str);
return str.Length;
}
728723:03/08/02 01:06
あ、宣言はこれ
delegate int Delg(string str);
729_:03/08/02 01:06
>>727
そりゃ当然。
非 static メソッドの場合、例えば、

class Sample
{
int Method(string str){ return 0; }
}

・・・

Sample s = new Sample();
Delg a = new Delg(s.Method);

ってしないと駄目。
731723:03/08/02 01:19
>>730
同じクラス内なのに何故だろう...?タコですいません。
もう一回リファレンス呼んでみる。

確かに非 static メソッドの場合、別のClass内にメソッドが定義してある。?
732723:03/08/02 01:32
あ。基本がまったく分かってなかった。
「デリゲートのインスタンスは、全ての型のオブジェクト
のインスタンスメソッドと静的メソッドを参照できる」って書いてあった。
 ~~~~~~~~~~~
733山崎 渉:03/08/02 02:02
(^^)
staticの意味が分かってないんだろうな。
735デフォルトの名無しさん:03/08/02 15:05
C#でSWFを再生するにはどうすればいいですか?
どうだろね。
>>735
メディアプレイヤーのActiveXコントロールを使う。
実際はブラウザなわけだが。
VC#2003単体って存在する?

VS.NET2003ってエディタの補完機能などがかなり強化されてるそうなので、
VC#買うにしても 2003版が欲しいのですが。。
>>738
アスキーストア:Visual C#.NET 2003 Standard 通常版
http://www.ascii-store.com/catalog.cgi?id=43994
741デフォルトの名無しさん:03/08/03 17:24
ukamen.hp.infoseek.co.jp/Programming/Interop/index.htm

ここを参考にC#でReadProcessMemoryを使いたいのですが

[DllImport("kernel32.dll", EntryPoint="ReadProcessMemory")]
public static extern BOOL ReadProcessMemory(
 HANDLE hProcess, // handle to the process
 LPCVOID lpBaseAddress, // base of memory area
 LPVOID lpBuffer, // data buffer
 SIZE_T nSize, // number of bytes to read
 SIZE_T * lpNumberOfBytesRead // number of bytes read
);

こんなふうに書いてみたんですがコンパイルエラーで
引数の型が見つからないと言われてしまいます。
どなたかReadProcessMemoryを使える方法をご教授くだされ
>>741
そのサイトの

>5.プラットフォーム呼び出しのデータ型
743741:03/08/03 18:07
>>742
ありがとうございます。かなり近いところにあったんですね。
でもそこを参考にHANDLEだけはvoid*にできたんですが
「unsafeコンテキストでのみポインタを使用できます」
とビルドエラーで怒られます。ヘルプで調べてもunsafeコンテキストなんて
説明されてない…
あと残りの引数(LPCVOIDなど)は表には書かれてなかったので
結局わかりませんでした。
MSDNのリンク先もなにか関係ないページに飛ぶし…

なかなかひとすじなわではいかないですね。
どこだったかなー。C#のサンプルで、マインスイーパの地雷を全部読み取る
ってのがあったな。

ということで、キーワードを元に探してみれ。
>>743
IntPtr

>ヘルプで調べてもunsafeコンテキストなんて 説明されてない…
そんなこと無い
746741:03/08/03 18:37
>>マインスイーパのメモリリード
ありがとうございます!

www.codeproject.com/csharp/minememoryreader.asp?print=true

ここで見つかりました。
クラスがそのまま使えそうなのでこれを見ながら
精進します
VisualC#.net無いとActiveXコントロール使うの無理ですか?
>>747
無理じゃないです。
749747:03/08/03 20:20
>>748
>>740みたいなコードはどうやってコンパイルすればいいんですか?
MenuItemにはOwnerDrawプロパティがあるのにListViewItemにはない。
ListViewの描画を独自のものにしたいんだけど無理ぽ?
MFCならできたのになぁ。
>>751
そうなんだよなあ、、、。
直接WndProcでメッセージを受け取るサンプルならあったけど、まんどくさいんで諦めた。
753751:03/08/04 10:20
やっぱWndProcか・・・
まんどくせー、けどやってみるよ・・・
サンプルある場所しってるなら教えてほすぃ。
755751:03/08/04 23:33
>>754
サンクス!頑張ってやってみます。
Visual Jに存在の意味はあるのでしょうか?
>>756
過去の Java 資産を .NET Framework 上で活用するため。
FieldInfo からは、GetValue() で値が取れるのに、
EventInfo からシリアライズ用の値を取る方法はないのでしょうか?
GetFields()にeventも入ってくるとの説もありますが、
やってみた所、入ってこないようです。
そりゃC♯の限界って奴だぜ。
760758:03/08/08 06:34
イベントは、実は単なるリンクリストのポインタなのだ。LightWeightである必
要からそうしてあるのだろうが、その分他と生成消滅のタイミングが違ってしま
う。今のところ、宣言したクラス内で直にシリアライズするしか(カスタムでは)
方法はないと思われる。
761デフォルトの名無しさん:03/08/09 16:03
どなたか、VisualStudioのWindowsプロジェクトにて作成されたEXEファイルに、
アイコンを埋め込んで、それを公開する方法をご存知の方はいらっしゃいませんでしょうか?

具体的には、そのEXEファイルのショートカットを作成した時にですね、
そのショートカットの「アイコンの変更」でそのEXEを指定したまま、アイコンを変更できるようにしたいのです。

アイコンをプロジェクトに追加して「埋め込まれたりソース」にしてみたり、
resourceファイルを作ってみたりしたのですが、
方向が全く違っているようで、「下の一覧からアイコンを選択」には1つしか表示されません。

よろしくお願いします。
>>761
Visual Studioからは無理
>>762
了解です。ありがとうございます。

ちょっと.NET Framework SDKのツールをしらみつぶしに調べてみます。
764761:03/08/09 17:44
「Visual Studioからは無理」とは、cscでコマンドラインからコンパイル(/win32res:)すれば可能、と言う意味だったんですね。
あと、VisualStudioIDEでEXEファイル自体を開いて、
強引にアイコンリソース追加する、と言う方法も見つけましたが、
厳密名をつけている場合は、当然アウトです。

リリース時はant - cscでコンパイルするようにしてみます。
ありがとうございました。
765デフォルトの名無しさん:03/08/10 14:14
絶対に来ることのないswitchのdefault部に制御が来たら
何かエラーを発生させたいのですが、どんな例外を投げればいいでしょうか。
できればAssertは使いたくないです。
最後の case を default にする
767デフォルトの名無しさん:03/08/10 15:01
"11010"を26に変換するものはありませんか。
1文字ずつ変換していくのは時間がかかりそうなので。
コーディングの時間ですか?
その程度書くのにたいした時間はかかりませんよね。
実行時間ですか?
貴方の書くコードは他の人に比べてそれほど遅いのですか?
769_:03/08/10 15:07
>>767
Convert.ToInt32("11010", 2)
>>770
ありがとうございます!
Convert.ToInt32にそんなのがあったのは知らなかったもので・・・
773デフォルトの名無しさん:03/08/10 16:59
>>765
switch文でチェックしている内容によるんでは?
例えば、メソッドの引数に値に応じて分岐しているなら、
ArgumentExceptionだろうしさ。

「C#デザインパターン」買うつもりで書店に行ったが
getName(), setName()と単なる焼き直し版に萎え萎えでやめた。

Don Boxの本はさすが。
775デフォルトの名無しさん:03/08/10 19:52
これもっと短くなりませんか?

string[] s = {};
textBox1.Lines = s;
string[] s;
a.Lines = s;
textBox1.Text = "";
textBox1.Clear();
Close;
すべて無に
781デフォルトの名無しさん:03/08/11 02:46
Process.Start()メソッドで他のアプリを起動させるときに画面に表示させないで、
裏で起動するにはどうすればいいのでしょうか?
具体的には、コマンドプロンプトが表示されないようにしたいんです。
>>782
間違えた >>781
784781:03/08/11 03:23
>>782-783
どうもありがとうございます!1
785デフォルトの名無しさん:03/08/11 03:46
あるクラスが定義されているソースコードのフルパスを取得する方法はありますか?
取得したいのはソースの存在する開発中のみです。
C#で製作したアプリ同士で配列のやり取りがしたいのですが可能でしょうか?
>>786
そりゃ出来るだろ。
すみません。質問させてください。
シリアル通信を使ったプログラムを作っています。
MSCOMM32.OCXをコピーしてMSComm コンポーネントの参照設定をしても「クラスを使用する使用許可がありません」
とエラーになります。
Runtime版からコピーしたためでしょうか?

また、過去ログ
http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
の332にMscommとAPI以外にStreamを継承すれば使い勝手がよくなるとのことですが
具体的にどのようにやっていけばよろしいでしょうか?
もしよろしければ、参考になるサイトをお教え願いませんでしょうか?

申し訳ありませんがよろしくお願いします。
789デフォルトの名無しさん:03/08/12 13:13
C#の構文では新規インスタンスの作成で
 new Form()
とカッコを必要としますが何かメリットがあるのでしょうか?
790デフォルトの名無しさん:03/08/12 13:15
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
★☆ 夏休みは GETDVDで 満喫・満喫!   
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
☆★ 送料激安!!  送料激安!!  送料激安!!
★☆      http://www.get-dvd.com      
☆★  激安アダルトDVDショップ        
★☆    お買い得!! 1枚500円~ 急げ!   
☆★    インターネット初!「きたぐに割引」  
★☆    北海道・東北の皆様は送料も激安!   
☆★      http://www.get-dvd.com      
★☆        スピード発送!        
☆★      http://www.get-dvd.com      
★☆        商品が豊富!         
☆★      http://www.get-dvd.com      
★☆                       
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
>>789
コンストラクタ
>>789
デフォ(ry
793_:03/08/12 13:21
794789:03/08/12 13:22
>>791
ありがとうございます。
new Form
という構文を認めても別にイイと思ったのですが。。。
>>794
「引数なしのコンストラクタを呼び出す」
ってのが明確になる。
796789:03/08/12 13:53
>>795
なるほど!
納得です。ありがとうございます。。。
C#で書いたDLLは他の言語で書いたプログラムから読み込めないのでしょうか?
関数をexportする時などどうすればいいのでしょうか
>>797

.NET Framework 上の言語ならそのまま呼び出せる。
もしくは、COM Interop を利用して、COM が使える言語から呼び出す。
>>798
なんか面倒くさそうですねえ
>>799

嫌なら、C でも FORTRAN でも、好きな言語を使いませう。

#800ゲトー
>>798
既にある現状のプログラムにプラグインという形で開発したいのですが
そう言う場合は無理ですか?
>>801

たとえば、Becky のプラグインとかを例にすると、Regular-DLL でないと
だめなわけ。そうなると、関数のエクスポートができない C# では無理。

その場合、MC++ か、COM 呼び出しが使える言語でラッパを書かないとならない
だろうね。
>>801
C#でも関数エキスポートできまっせ。ただし少々ILを操作するけど。
かなーり昔の過去ログに出てた。
>>803

http://www.c-sharpcorner.com/Code/2003/Aug/ExportManagedCodeasUnmanaged.asp

かな? すげーなー。こんなことができるとは。情報サンクス。
Hashtableのキーと値の組を一つ一つ見ていって
値を変更する方法ってありますか?
たとえば先にキーと値をいくつか設定しておいて、あとでそれぞれの値を2倍にしたいときとか。
IDictionaryEnumerator使うと変更したときInvalidOperationException投げられますよね
>>805
for (int i = 0; i < hash.Keys.Count; i++)
{
string key = hash.Keys[i];
hash[key] = "hoge";
}

とか
>>805
Hashtableがなんで「ハッシュ」なのか知ってるか?
808758:03/08/13 09:07
どうして?どうして?どうしてこんなにDeSerializeが遅いのか?
new が遅いのか?それとも、ポインタ参照を再構成するところで、
オブジェクトの数が多いと動かないつくりになっているのか?
ハッシュの意味がねー
811758:03/08/13 10:02
3000個 2s
6000個 4s
9000個 7s
12000個 19s
15000個 35s

一万個を超えると指数的に悪化する…
>>811
いや、その数値だとせいぜい2乗か3乗オーダーだろ。

揚げ足取りスマソ。
813758:03/08/13 12:32
1~2万個のオブジェクトのDeSerializeでグラフ解決処理が根をあげている
としか考えられん。特に変なものを食わせているわけではないのに。ちなみに
VC++はその程度ではびくともしない。どうしたものか。
どうやらCSharpの限界のようですね。
>>806
使えませんでした
「error CS0021: 角かっこ [] 付きインデックスを 'System.Collections.ICollection' 型の式に適用することはできません。」
結局応急的にClone()で複製を使ったり。

よく考えたら自分のプログラムにHashtableを使う必要性はあまりありませんでした。
でも任意のキーから値を呼び出せるデータ構造で、要素全てを見ながら要素に変更を加えたいときは
何を使えばいいんでしょう?
>>815
あ、Keysはインデクサ使えなかったのねスマソ
ハッシュドビーフだから
かゆいところに手が届かない。
819758:03/08/13 23:12
http://www.whysmalltalk.com/articles/todorov/stdotnet.htm
おお!同じ問題にぶつかった人がいた。
820758:03/08/13 23:21
誰か、高速なBinaryFormatterを作ってくれ。
C#でパソコン作ってます
822デフォルトの名無しさん:03/08/14 10:34
stringのみを保持することを明示したArrayListは宣言できますか?
それはgeneric待ちですかね。
ArrayList<string>
ArrayListの派生でStringArray作って
インデクサだけ書いてキャストすりゃいいんじゃないの?
>>822
System.Collections.Specialized.StringCollectionクラス
日本語が不自由な人が多いですね
C#.NETの次期バージョン
ttp://www.microsoft.com/japan/msdn/vs/vcsharp/vbconCProgrammingLanguageFutureFeatures.asp
みなさん、どう思われますか?

828758:03/08/14 19:45
MONOのBinaryFormatterを試してみた。ちょっと遅くなった。が、ちゃんと動くのはすごい。
>>827
今更って感じなんだけど。
その仕様、1年位前から出てるし。
M$ 公式サイト上で日本語になったのはこの文章が初だっけ?
throwsのサポートが抜けとるな。
831デフォルトの名無しさん:03/08/14 22:19
押されたキーに対するキーコードを
テキストボックスに表示したいのですが、表示できずに困っています
どこが間違っているか or どうすればよいかを教えて頂けると大変助かります

現行のソース
private void textBox1_KeyPress(
    object sender, System.Windows.Forms.KeyEventArgs e)
{
    textBox1.Text = "keycode=" + e.KeyCode;
    e.Handled = true;
}}
e.KeyCode.ToString()
833831:03/08/14 22:35
>>832
レスありがとうございます。

ご指摘頂いたように修正してみましたが、変化なしでした。
症状をきちんと書いていませんでした。すいません。

症状:
textBox1でどのキーを押しても、
その文字や数字が表示されるだけで、
keycode= すら表示されません。

よろしくお願いします。
>>833
イベントはちゃんと登録されてんの?
textBox1.KeyPress += KeyEventHandler(textBox1_KeyPress);
KeyPressイベントはKeyPressEventHandler(Args)じゃないの?
KeyDownなら、KeyEventHandler(Args)だけど。
836831:03/08/14 23:33
>>834, >>835
ありがとうございました。

・イベント登録していなかった。
・KeyPressでなくKeyDownを使うべきだった。

ということで、無事目的を果たすことが出来ました。
本当にありがとうございました。
>KeyPressでなくKeyDownを使うべきだった。
なぜだ。

838831:03/08/15 01:26
>837
KeyPressだとKeyCode(プロパティ?メソッド?)が用意されてないようだったので。
うそこけ
840837:03/08/15 02:49
KeyPressとKeyDown違いはわかってるか?
841デフォルトの名無しさん:03/08/15 03:53
改行コードが \r のテキストファイルはどうやって読み込むの?
一つの文字列として読み込んでSplitすりゃいいんでないの
エェーStreamReaderの実装をどうにかしてよ
>>841
TextReader の説明を見ると、

「行は、キャリッジ リターン (0x000d)、ライン フィード (0x000a)、
Environment.NewLine 、またはストリーム マーカーが末尾に
付いた文字シーケンスとして定義されています。」

とあるから、そのままでも \r で改行するテキスト読めるはず。
憶測でしゃべんな
>>845
誤爆かい?( ´,_ゝ`)
>>846
貴方が噂のC#でつか?
StreamReader のドキュメントが糞!!
StreamReader.ReadLine なら桶!!
でも、StreamReader.ReadToEnd だと駄目だよママン!!
>>848
何が駄目なのか
ためしにStreamReader.ReadToEndで\r改行のテキストを読み込んでみた。
普通に\r改行の文字列になった。ま、勝手に\r\nに置き換えられるのは問題だしな。
……で、850にはこれの何が問題なの?
852デフォルトの名無しさん:03/08/15 19:12
ageeeee
853デフォルトの名無しさん:03/08/17 04:53
Application.UserAppDataPath で取得したパスにデータを置くことを考えていますが
実際に得られるパスは
:'C:\Documents and Settings\USERNAME\Application Data\会社名\製品名\1.0.0.2'
と末尾のリリース・ビルド番号まで含まれてしまいアプリケーションをリビルドするたびに
パスが変わってしまいます。実際にはAppDataPathはどう使うのが現実的なんでしょうか?
文字列処理を加えてバージョン番号をMajor.Minorに切り詰めるか
バージョン番号全体を切り捨てるなどとすればよいですか?
>>853
やりたいようにやれ
855デフォルトの名無しさん:03/08/17 07:39
最近C#はじめたんですがvectorやlistのような後からサイズを拡張できるようなコンテナは何があるでしょうか?
System.Collections
バージョンごとにデータを保持した方がユーザー的にはいいんじゃないの
Stringをintに変換するのどうやんの?
Converter
>>858

int.Parse()
861デフォルトの名無しさん:03/08/17 13:40
ツールバー用の16x16のビットマップファイルはないのでしょうか?
(たとえば保存のフロッピーや検索の双眼鏡など)
ローカルのフォルダを検索してもサンプルフォルダの下にいくつかあるだけでした。
>>861

エディションによるのかもしれませんが、
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Graphics
の下にあります。
864デフォルトの名無しさん:03/08/17 14:46
ArrayListなどライブラリの使い方などを解説した本でいいのはなにでしょうか?
865______:03/08/17 14:56
2ちゃんねらーなどの間で、人気のある寺院が有ります。
これらの寺院にて諸願成就を祈願しましょう。(爆)

(1-4件目)  http://www.z-shoten.or.jp/
http://www.tctv.ne.jp/matuti/
http://www5b.biglobe.ne.jp/~ryumyoin/
http://www1.ocn.ne.jp/~tatsueji/
(5件目)
寺院名    吉祥山唐泉寺
通称     江戸川不動尊
所属宗派  真言宗泉涌寺派
住所     〒133-0051
        東京都江戸川区北小岩七丁目10-10
        京成電鉄の小岩駅から徒歩約15分
        (JR線の小岩駅は、
        京成電鉄の小岩駅とはもの凄く離れているので不可。)
電話番号  03-3658-4192
住職     高田正圓
        (女住職で、先代住職(高田真快)の奥さんであった模様。) 
本尊     不動明王
祈祷日及び祈祷時刻
        通常は毎日午前6時より(150分前後かかる模様)
        行われるが、毎月28日には(不動明王縁日として)
        午前11時にも(2時間ほどかかる模様)行われる。
祈祷料
(普通護摩)   3000円 5000円 10000円
(特別護摩)   30000円(21日間) 100000円(108日間)
          300000円(365日間)
>>864
MSDNヘルプ
867デフォルトの名無しさん:03/08/17 17:50
C#で、文字列を 全角変換、半角変換、ひらがな変換、カタカナ変換を行いたいのですけど、
どうすればできるでしょうか?
Stringクラスにはそれらしきものがないですし。
>>868
どうもありがとうございます、参考になりました。
870デフォルトの名無しさん:03/08/17 19:35
VBのおかげだな
微妙だな
Microsoft.VisualBasic は使うべきでないような
それにしても中途半端なフレームワークだ
>>871
いきなり何でもかんでも作ろうとするよりは、
既存のリソース使い回しの方がバグは減っていいだろ。
そのうち充実してくるんじゃない?
>>860
thanx
874デフォルトの名無しさん:03/08/17 21:23
C#ってVB.NETみたいに、Ctrl+スペースキーの入力メンバ表示機能がどこでも効かないのですけど、
VB.NETみたいに何処でも表示できるようにする事はできるでしょうか?
>>874
VB の方知らないんだけど、「どこでも」って?
最初の一文字打ってから Ctrl+スペース押せばいいんじゃないの?
>>874
普通に表示できるよ
877デフォルトの名無しさん:03/08/17 21:39
>>875
例えばVB.NETだと、MessageBoxを記述している時、
MessageBox.Show("キャプション", "タイトル", ←のコンマを入力した段階で、MessageBoxButtons列挙体が
表示されるんですけど、C#だと表示されないんです。


どこかの設定か何かで表示できるようになるとかがあるのでしょうかね?
誰か知っている人はいるでしょうか?
878877:03/08/17 21:42
>>876
自分のはVC#では無理です。(VB.NETならできます)
何か設定とかしましたかね?
>>877
それはC#.NETでは無理かも。
C♯はVB.NETのおまえけのようなものなので我慢してください。
>>877
なぜVB.NETでできるのか知らないけど
Showの第三引数には文字列が入る可能性もあるから
自動的にMessageButtonButtonsを表示することができないんじゃないの。
なのでM、Ctrl+SpaceでMessageBoxButtons.OKを補完するしかない。
あらこんなところにC#の限界が。
ワロタ 関係ねぇ
884877:03/08/17 22:14
どうやらVB.NETのようにはVC#だと無理みたいですね。

自動メンバ表示を出すのも、何か文字を一文字でも入力していなければCtrl + スペース
で表示されない場所が多いですし、表示したとしても、例えばMessageBoxの第3引数だと
ボタンを指定しますけど、Ctrl + スペースでのメンバ表示だと、MessageBoxButtons列挙体
以外の全然関係ないメンバまで表示されてしまいますし、これだと完全に憶えていないと
戸惑うような気が・・ それにちゃんと憶えていないと目的のメンバを探すのに時間がかかり
ますね。

VB.NETだと、さっきのMessageBoxの第3引数だと、自動メンバ表示の一覧に
MessageBoxButtons列挙体しか表示されないから、完全に型名などを憶えて
いなくても全然OKですからかなり便利だと思いますし、コードの記述速度も圧倒的に
速く入力できる気がします。

この点を考えると、VC#は嫌がらせにしか思えない所があるかもしれないですね。
うーん、インテリセンスってうざいって思ってる人も多いし、
客層考えてどこまで補完するか言語ごとに変えてるとか。
>>884
逆に文字列型の候補が切り捨てられるのは不便じゃないの?
あるいはmybuttonとかさ。続きはVS.NETスレでやったら。
VB.NETではできないVC#.NETならではのインテリセンスもあるわけで
どっちがどうと単純には言えないレベルだけどな。
この不毛な言い争いに勝つと何かいいことがあるの?
889884:03/08/17 22:44
人それぞれ好みがあるので、これが絶対みたいな事は言えないですけど、
オプションに設定くらいは用意してくれていても良かったのではと。
好みってVB.NET方式の方が良いに決まってるだろw
どう考えてもC#の方が自然じゃねーかw
って言うかVS版行け。
絶対にVB.NETの方がいいよ。
コード入力するのにC#で20秒かかったとしたら、VB.NETなら10秒以下。
>>892
どっちがいいかなんて、人それぞれ
少なくとも自分はC#.NETの方式でも不満はない

てか、すれ違い
>>885
インテリセンスがうざいと思ってる人が多い?
ソースキボンヌ

どちらかといえば少ないと思ってます
>>894
ソースはないだろw
でも一定数いるのは確かだよ。
896758:03/08/18 00:20
MONOのソースを改造して、参照解決しないBinaryFormatterを作成。
第一段階では、参照解決の必要のある親オブジェクトのみ通常のSerializeを行い、
第二段階で、作成した単純型BinaryFormatterで残りを復元する、という方式にした。
2万件で1分以上読み込みにかかっていたのが、7~8秒になった。一応成功といえるだろう。
なぜVB.NETを使わないんですか?
>>897
俺の場合、元々C++使いだから。
899デフォルトの名無しさん:03/08/18 09:22
ビット演算子の使い方がよくわからないのですがどういうときに使うといいんでしょうか?
>>897
俺の場合、元々Del使いだから。
元々日本語使いだから
INIにデータ保存したいんだけど、手軽に出来ないの?
903デフォルトの名無しさん:03/08/18 13:21
C#は、VB.NETの標準モジュールに記述した変数やメソッドみたいに、クラスに属さない
変数やメソッドを作る事は可能でしょうか?
>>899
ビット操作をするとき。フラグとか。ビットシフトはほとんど使わないね。

>>902
誰からが作ったそういうクラスを探すと吉。

>>903
できません。
905デフォルトの名無しさん:03/08/18 13:36
>>897
VB.NETよりも少し安かったから。
VB.NET見下してるC#厨がVBのネームスペース使ってるのを見ると笑っちゃうね。
そんなことするなら最初からVB.NET使えよと。
C#よりVB.NETのほうが生産性に優れるってのはもう分かってるだろ?
.NETになっても旧来の言語論争してるのはアホかと。

ttp://www.sdtimes.com/news/084/special1.htm
>>902
HashtableとRegex使えば1日で自作できそう・・・といいつつ自分もまだ作ってない
>>902
.NETなら、INIファイルよりもXMLファイルとしてで読み書きする方がラクチンだよ。
既存のINIファイルを操作しなきゃいけないならしょうがないけど。
>>902
DllImportすれば手軽ではあるが。
>>902
またINIかよ。
XMLSerializerしらべれ。
>>903
static メソッドだろうが。
VBのネームスペースを使うC#厨などいない
914デフォルトの名無しさん:03/08/18 15:19
前置インクリメントと後置インクリメントを区別してオーバーロードできないんですか?
C#ってなんですか
>>915
プログラムを組む言語です。
CとかC++とかとはなんか違うんですか
名前にてるけど
>>917
言語の文法が違います。
英語とドイツ語は違うのと同じ。
「おはようございます」と書いても、英語と日本語は書き方が違う。
>>917
つか自分で調べるなり本買うなりすればいいやろ。
興味あんならそれくらいやれ。ないならここで聞かないで沈黙してろ。
920デフォルトの名無しさん:03/08/18 17:01
>>917
C++は
cout << "おはようございます" << endl;
C#は
Console.WriteLine("おはようございます");
>>919
しかしこのスレのスレタイからすれば、スレ違いでも無いと思うが。
あらゆる質問のほとんどは自力で調べればどうにかなるものだろうし。
本買えば大抵の事は解決するしな。
C や C++ プログラマは、基礎となるプラットフォームの機能にアクセスできるパワーを持ち、
高速なソフトウェアの開発が行え、既存のソフトウェアのと統合も可能で、
さらに、必要があれば低レベルのコーディングもできる環境を望んでいます。

このようなことから、Microsoft は C# (「しーしゃーぷ」と読む)と呼ばれる、新しい言語を作成しました。
C# は C++ のパワーと柔軟性を持ち、同時に Visual Basic などの生産性の高さも持ち合わせる言語です。

C# は第一印象としては「Java のぱくり?」と言った感じに見えるのですが、
実際には「Java と C++ と VB のいいところを集めてきたような言語」と言った感じです。


某サイトからコピペしてみた。
これからプログラミング始めるならC#が良い?
なんか良い所ばっかりの言語みたいだけど、欠点とか弱点は無いのかな。
>>923

今のところ、遅いってのと、他のプラットフォームでの実用性がない(細々と移植は
進んでるけど)ってのが、欠点らしい欠点かな。
C#遅いのか・・・
開発に時間はかかってもC++で頑張ったほうが良い物が出来るって事?
Quake II .NETだとネイティブの85%くらいのパフォーマンスらしい。
>>925

いい悪いの基準は、速度だけじゃないから。ゲームだとかパッケージベースのアプリ
だとかを除いて、開発効率のほうが求められることが多いと思うよ。
C++で頑張った方がいいものが出来るってのは否定できない。
やる気があるならそうすればいい。
アセンブラで頑張った方がいいものが出来るってのは否定できない。
やる気があるならそうすればいい。



アフォ?
>>929
確かに、無理やり話を極端にするその姿勢はアフォだね。
C#最強説を垂れ流しているスレはここですか?
そんなことを聞いてるレベルじゃC++でもasmでも大した速度差はでないと思うが
今時アセンブラで何が出来んだよアフォwwwwwww
Application.EnableVisualStyles() って効かないときあるよな?
TabControlのTabSheetなんかは対応してないみたいだね
936デフォルトの名無しさん:03/08/19 01:07
入門者です、質問があります。

Form2からForm1上に存在するTextBox1のTextプロパティにアクセスしたいのですが、
Form1.TextBox1の記述は無理のようです。
どうすればアクセスできるでしょうか?
>>992
そのサイト、前半2段落は M$ の資料和訳しただけだけどな。
その文章書かれた当時は日本語資料なくて、和訳されただけでありがたかったが。

>>936
1. Form1 に TextBox1.Text を書き換えるようなパブリックプロパティを作る。
2. Form2 作成時に Form1 のインスタンスを渡す。
3. Form2 のメソッド内で 1. で定義したプロパティを呼び出す。
>>934
Application.EnableVisualStyles()すると、ToolBarやTreeViewとかでImageListのイメージを表示できない。
オレだけ?
うん
940デフォルトの名無しさん:03/08/19 07:07
// ----- Save部 -----
Stream s = File.Open(Application.ExecutablePath + ".xml", FileMode.OpenOrCreate);
SoapFormatter sf = new SoapFormatter();
sf.Serialize(s, Left); // LeftをTopより先にセーブ
sf.Serialize(s, Top);
s.Close();

// ----- Load部 -----
Stream s = File.Open(Application.ExecutablePath + ".xml", FileMode.OpenOrCreate);
SoapFormatter sf = new SoapFormatter();
Top = (int)sf.Deserialize(s); // TopをLeftより先にロード
Left = (int)sf.Deserialize(s);
s.Close();

こんな感じでやると、Save部で記録したLeftの値がLoad部でTopにロードされてしまいます。
上から順に読み込んでいるようですが、順不同でもLeftの値はLeftに、Topの値はTopにロードするにはどうすればいいのでしょうか?
>>940
同じファイルに上書きしてる。
だいたい、
xx = (int)sf.Deserialize(s);
って同じ内容を2行書いてるのに、TopとLeftに分けるなんてできるわけないじゃん。
>>940
書いた順に読めると思っているのか?
XML勉強すれ。
>>941
xx = (int)sf.Deserialize(s);
の部分は同じ値ではありませんよ。
実際に実行するとSave部で記録された値が順(Left,Topの順)に復元されます。
>同じファイルに上書きしてる。
毎回違うファイルに記録する内容じゃないので。

>書いた順に読めると思っているのか?
実際にそうなったので。

>XML勉強すれ。
何からやればいいのでしょうか?
私がやりたいことはメインフォームの位置をセーブし、次回実行時にロードすることです。
>>944
で、態々書き出しと読み出しで順番を変える意味は?
>>943
順不同でもロードしたいのに (int)sf.Deserialize(s); が同じなら判断できないのは当たり前だと >>940 は言いたいのだろう。
同じストリームに複数Serializeしたら、同じ順番でしかDeserializeできないんじゃない?
普通XMLを設定ファイルとして(iniファイルみたいに)つかうんなら、1つクラスを作ってそれをSerializeすればいい。
>>945
順序が限られてない方が優れている方法だと思っています。(将来性)
948936:03/08/19 11:50
Form1とForm2があり、Form2からForm1のtextBox1を操作したいので以下の処理を記述したのですけど、
f1.textBox1がどうもうまく機能してくれないのでアクセスできません。
どうすればいいでしょか?

>Form1 に TextBox1.Text を書き換えるようなパブリックプロパティを作る。
これをしなければどうしてもできないのですかね?

Form1側のクラス

private void button1_Click(object sender, System.EventArgs e)
{
  Form2 f2 = new Form2();
  f2.f1 = this;
  f2.Show();
}


Form2側のクラス

public Form1 f1;

private void button1_Click(object sender, System.EventArgs e)
{
  MessageBox.Show(f1.textBox1.Text);
}
たいしたこと無さそうなことなのに非常に難解ですね。
ここまでのをヒントになんとかしてみます。ありがとうございました。
private void button1_Click(object sender, System.EventArgs e)
{
Form1 f1 = new Form1();
MessageBox.Show(f1.textBox1.Text);
f1.Dispose();
}
951936:03/08/19 12:16
できました。
コントロールにオブジェクトの参照範囲を設定があったんですね。
それが既定でPrivateになっていました。Publicに変更すると動きました。
952名無しさん♯:03/08/19 12:16
>>951
メンバ変数 textBox1 を public にするのはあんまり良くない。
textBox1.Text を書き換えるようなメソッドもしくはプロパティを書いて、
それを public にしろ。
φ(..)メモメモ...

Buffering .NET Console Output (by Chris Sells)
http://www.sellsbrothers.com/spout/#Buffering_.NET_Console_Output
955デフォルトの名無しさん:03/08/20 18:16
hosyu
>>936
300の技を立ち読みしてみ。Formの相互参照つーのがある。
957デフォルトの名無しさん:03/08/20 23:34
リソースの開放に関して教えて。
IDisposable を実装したクラスを new する回数と、Dispose()が実行される回数が同じなら大丈夫と思っていい?

今 View.Detailsの ListViewで、動的に ColumnHeaderを変える 操作をしてるんだけど、ColumnHeaderが IDisposableなんで心配で心配で昼も眠れません。
たとえば以下のようにやってます。(わかる範囲で省略)

//Disposeが通るかどうかをチェックするためのクラス
class UserColumnHeader : System.Window.Forms.ColumnHeader

で、Dispose() をオーバーライドしておき…

//テストコード
ListView1.Columns.Add(new UserColumnHeader());
ListView1.Columns.Clear();
ListView1.Columns.Add(new UserColumnHeader());
ListView1.Columns.Add(new UserColumnHeader());
ListView1.Columns.Clear();
ListView1.Columns.Add(new UserColumnHeader());
ListView1.Columns.Add(new UserColumnHeader());
ListView1.Columns.Add(new UserColumnHeader());

を実行すると、アプリケーション終了までに6回オーバーライドしたDispose()が実行されないといけないですか?
>>957
それって ListView が Dispose されたときに
ColumnHeader の Dispose 呼んでくれてる気がする。
959デフォルトの名無しさん:03/08/21 03:05
>>958
ListViewのDispose()では、最後の3つしか開放してくれません。
※Clear()されたColumnHeaderは、すでにListViewの管理外なので
そんなの開放する必要あるのか疑問
GCに任せちゃえばいいんじゃない
) <でぃすぽ
962デフォルトの名無しさん:03/08/21 09:18
W e b M a t r i xでも苦しいながら日本語つかえるぞ。
ttp://www.geocities.co.jp/SiliconValley-SanJose/6237/

祝あげ
963957:03/08/21 10:15
>>960
GCではDisposeされないという話をしているんです。
>>963

何のために Finallizer があるの? って話では?
this.Forcus();
これって自分にフォーカスが中るだけで、以前のフォーカスを外してくれないんだね・・・。
バグっぽいけど
966963:03/08/21 12:31
>>964
サンプルでは6回ですが、実際は何度 ColumnHeaderを追加・削除するかわかりません。
なので明示的にDisposeさせたいんですが。
967デフォルトの名無しさん:03/08/21 12:42
clear()でdisposeされるんじゃない?
The C# Design Process
A Conversation with Anders Hejlsberg, Part I
http://www.artima.com/intv/csdes.html

The Trouble with Checked Exceptions
A Conversation with Anders Hejlsberg, Part II
http://www.artima.com/intv/handcuffsP.html
>>967
されたら質問しないんですが。
>>969
悪いことは言わん。勝手に解放してくれるから放っておけ。
生意気言う暇があったら逆アセソースでも見ろよ。夏厨かお前?
>>970
その動作は確認してるのか?
そういう考えがメモリリークを生む気がするのだが。
GCだって万能じゃないってことをお忘れなく。
>>971
追加削除繰り返してメモリリークが本当に起こるか確かめてみたら?
対策はそれから考えても遅くないでしょ
>>971
考え?逆アセソースを見るというのは行動だぞ。
確認してるのか?じゃないだろ。お前が確認しろって言われてんだろ。夏厨かお前?
盲目的にM$を信じろと言われてもな
>>970
質問した本人です。
明示的にDisposeしたいという話なんですけど。
>>970
逆アセなんかするのはお前みたいなオタクだけ。
結局、誰も答えられないと。
978デフォルトの名無しさん:03/08/21 19:50
夏厨祭り
979デフォルトの名無しさん:03/08/21 19:59
ソースも公開されてないものの動作を信用しろなんて無理な話。
オプソマンセー
>>975
ColumnHeader[] hoge = new ColumnHeader[] {new UserColumnHeader(), .....};
ListView1.Columns.AddRange(hoge);
ListView1.Columns.Clear();

foreach (ColumnHeader h in hoge)
h.Dispose();

これくらいしか思いつかないが…
>>958 で合ってるじゃん。
無駄に調べてしまった。
>>976
ildasmも知らないお前はJavaでもやってろ。
Java no houga tukai yasui
>>983
それを言っちゃあお仕舞いだよ。
javapもあるよ
>>981
だから最後に残ったColulmHeaderだけだってば
オープンソースというだけで盲目的にマンセーしてるやつうぜー
>>987
Java のことかーーーー!!!
>>982
知らないとはいってない。
日本語わからないやつはJavaでもやってろ。
もうJavaなんか相手にしないでよ
991989:03/08/22 13:13
生意気言ってごめんなさい、ildasmって何ですか?
>>982
>>991
ジサクダサイ
993デフォルトの名無しさん:03/08/22 17:40
disposeですることは、メモリ以外のリソースを、明示的に解放しなければならないとき。
なので呼び出されなくても大丈夫。
994デフォルトの名無しさん:03/08/22 17:42
C#が実はC丼であることが解ったわけだが。

http://pc2.2ch.net/test/read.cgi/tech/1058618416/387
995デフォルトの名無しさん:03/08/22 18:02
記念カキコ v(^-^*)
four
中途半端に埋めないこと
最後まで埋めること
後は任せた
とってみた
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。