トップページ⇒tech
945コメント309KB

C♯相談室 Part6

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん♯NGNG

  ,.-''"¨ ̄¨`' ‐ 、
 (,,(,,i,,,i,,,,,,,,i,,,,i,,),,)
    )  (
    ( #゚ー゚) < C#,.NET関連の話題はこちらでどうぞ。


過去スレ・関連リンクは>>2-10あたり
0002名無しさん♯NGNG
過去スレ
Part5 http://pc.2ch.net/test/read.cgi/tech/1019533942/
Part4 http://pc.2ch.net/test/read.cgi/tech/1016597767/ (現在dat落ち)
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

ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&rm=10
0003デフォルトの名無しさんNGNG
関連スレ

Got.VisualStudio.Net 5
http://pc.2ch.net/test/read.cgi/tech/1019968974/l50

【Terrarium】 .NET で虫をつくろう!
http://pc.2ch.net/test/read.cgi/tech/1022037047/l50
0004デフォルトの名無しさんNGNG
関連リンク

MSDN Online Japan
http://www.microsoft.com/japan/msdn/default.asp

Insider.NET
http://www.atmarkit.co.jp/fdotnet/
0005>>1 乙NGNG
新スレおめ
0006デフォルトの名無しさんNGNG
>>1
いや、ほんとに名スレですね!ありがとう!
0007デフォルトの名無しさんNGNG
.NET はまだしも、C#には幻滅した人の数 : 10,203
.NET にも愛想がつきた人の数 : 34,017
0008_NGNG
C#って分割コンパイルは一方をDLLにするんですよね。
でもお互いを参照しあったらどうなるの?同時にDLLするしかないのかな?
00098NGNG
訂正:同時にDLLする→同時にDLLにする
0010デフォルトの名無しさんNGNG
>>9
DLLまで考えてダイナミックリンクを忘れるお前はアホか?
00118NGNG
>>10
でも source1.cs と source2.csの中のクラスのフィールドとか互いに参照してると
�@cs source2.cs /t:library
�Acs source1.cs /r:source2.dll
1の時点でコンパイルエラーがでるんですが・・・
targetをmoduleっていうのでもやってみたんですが駄目で
cs source1.cs source2.cs
だといけたので。
0012デフォルトの名無しさんNGNG
>>11
デザインの問題だと思われ。

相互参照してるなら、実装に依存しないインターフェイスを抽出して
まず最初にそちらをDLL化すべき。

あくまで原則論だけど。
0013デフォルトの名無しさんNGNG
typedef見たいにuintの別名を作りたいんですがどうしたらよいのでしょうか??
00148NGNG
>>12
なるほど、インターフェースを使うのか。確かになんとかなりそう。thx
0015デフォルトの名無しさんNGNG
>>13
using T = System.UInt32;
001613NGNG
>>15
素早いレスどうもありがとうございます。
できれば、そのTの使用をクラス内限定にさせたいのですが、
そんな方法ありますかね?
001713NGNG
間違えました。
クラスの型として宣言する方法でした。
C++で言うところの
class A
{
 typedef unsigned int T;
};
をしたいのですが。
0018デフォルトの名無しさんNGNG
>>17
それは無理。
別名のスコープはnamespace全体かソースファイル全体。
001913NGNG
>>18
またまた、素早いレスどうもです。
そのクラス特有のものだったので、クラス内に収めておきたいと思ったもので。
namespace被せておきます。
0020デフォルトの名無しさんNGNG
>>19
ちょっと苦しいけど、こんな手もある。

using System;

namespace Hoge {

  using T = System.Int32;

  class Foo
  {
    T n;
  }
}

namespace Hoge {

  using T = System.String;

  class Bar
  {
    T n;
  }
}
002113NGNG
おっと!
>>20見て気づきました。
>>18の内容をちゃんと理解してなかったみたいです。
ほかのファイルからは別名を参照で出来ないんですね。
ボケてました。スイマセン…
0022デフォルトの名無しさんNGNG
>>11
http://www.atmarkit.co.jp/fdotnet/technology/index/index.html
0023デフォルトの名無しさんNGNG
//C++スレに誤爆済み。コピペ失礼。(爆

C#っていうか.NET Framework SDK(VS.NETにあらず)の問題なのですが、
吐かれた.exeファイルをエクスプローラのプロパティで見たときに表示される
「バージョン情報」に情報を書き込むにはどうすればよいのでしょうか?
たぶんテキストのリソースを作るのでしょうけど、方法と書式が…。

「バージョン情報」タブを非表示にさせる方法もあれば、お願いします。
0024デフォルトの名無しさんNGNG
>>23
System.ReflectionのAssembly〜Attributeを参照してちょ。

> 「バージョン情報」タブを非表示にさせる方法

いったん.exeをILDASMして、(ここでWin32リソースが出てくるはず)
で、ILのみをILASMかな。
0025デフォルトの名無しさんNGNG
>>23
SDKでは↓の方法は使えないんでしょうか
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("TestTest")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.*")]
0026デフォルトの名無しさんNGNG
>using System.Runtime.CompilerServices;
これはいらなかったか・・・
0027デフォルトの名無しさんNGNG
>>23
SDK使いですが、>>25 の方法でOKっす。
ソースをダウンロードするとAssemblyInfo.cs付いてることあるっしょ。
それです。
つまり >>25 をAssemblyInfo.csにしていっしょにコンパイルするだけ。
002823NGNG
できた!さんきゅ〜。

でもSDKのヘルプにはちゃんと載ってはいないような?
各々のキーワードで全文検索しても見つからなかった。。

(プロパティでは表示されていないらしい)AssemblyConfigurationの意味、
「言語」欄を日本語にする方法、
AssemblyVersionの"*"の法則も教えていただけますか?
// "*"はコンパイル日時がベース?
0029デフォルトの名無しさんNGNG
>>28
ms-help://MS.NETFrameworkSDK.JA/cpref/html/frlrfSystemReflectionAssemblyVersionAttributeClassctorTopic.htm
0030デフォルトの名無しさんNGNG
つーかヘルプにちゃんと書いてあるよ・・・。
0031デフォルトの名無しさんNGNG
>>29-30
あれ?ほんとだ。トピックにはちゃんとある。
全文検索に頼りすぎたらしい。。スマソ。
0032デフォルトの名無しさんNGNG
>>7
C#の、言語そのものはいいんだけど、IDE部分がいただけない。
Borland C# Builder出んかなあ
0033デフォルトの名無しさんNGNG
>>32
じゃあ作れば?
0034デフォルトの名無しさんNGNG
>>32
アウトラインで折り畳めるコードエディタすごく便利だと思うんだが。
0035デフォルトの名無しさんNGNG
>>34
エディタは便利なのだが、フォームデザイナが…。
コードとの連携も悪いし。

まあここで完璧なもの作られたらBorlandが商売上がったりだから、それでいいのかも
0036デフォルトの名無しさんNGNG
Borlandが作るとエディタ部分がいただけない出来になるという罠
0037デフォルトの名無しさんNGNG
エディタはM$製、デザイナは某製か・・・
自由に選んで組み合わせたり出来るようにならんかな〜
0038デフォルトの名無しさんNGNG
エディタはgVImがいーなー
0039デフォルトの名無しさんNGNG
>>38
激しく同意。VisVimの.NET版でないかなー。
0040デフォルトの名無しさんNGNG
だから作れと。
CodeDOM渡河すれば良いんじゃないの?
0041デフォルトの名無しさんNGNG
明日からMSのカンファレンスが大阪であるけど、
ここ見てる人たちで、行くって人どれくらいいる?
とか尋ねてみるテスト

ま、行くとしてもみんな全部T1トラック
とかなんだろか。
0042デフォルトの名無しさんNGNG
MSCのこと?あれって営業マン向けのイベントでしょ?
0043デフォルトの名無しさんNGNG
すみません。
Stringとstring、どっちが王道ですか?
0044デフォルトの名無しさんNGNG
>>43
Int32とint、どっちが王道ですか?
0045デフォルトの名無しさんNGNG
Voidとvoid、Int64とlong、、、
0046デフォルトの名無しさんNGNG
なるべく組込型使った方が良いか。。。むぅ。
0047デフォルトの名無しさんNGNG
>>43-45
キーワードを使った方がエディタの支援があって楽でし
0048デフォルトの名無しさんNGNG
voidとkusakabe、どっちが王道ですか?
0049デフォルトの名無しさんNGNG
>>47
組込型や予約語は補完してくれない罠。
0050デフォルトの名無しさんNGNG
ところで、C#の矩形配列って右側と左側どちらのindexがメモリ内で連続的に
なるんでしょうか?c[x,y]のときにxとyのどちらが連続かという事です。
0051デフォルトの名無しさんNGNG
>>50
気にしちゃ逝けないことだと思う。せっかくメモリアドレスを隠匿してるのに。
と消極的意見。
005250NGNG
>>51
気にしちゃいけないのかもしれないけど、サイズが大きくなると速度が倍じゃ
済まなくなるんで気になります。
そういや、fixedでアドレス取れるんだっけ。自分で実験してきます。
005350NGNG
試してみました。右側が連続ですね。array[x,y]ならyの方が連続です。
0054デフォルトの名無しさんNGNG
>>52
パフォーマンスならstackallocとかもみておくんなまし。
005550NGNG
>>54
なるほど、こんなのもあるんだね。
ただ、Terrariumのためのプログラムなんで、unsafeコードは使えないです。
(試しに使ってみたらシステムに怒られました)
0056デフォルトの名無しさんNGNG
連想配列みたいなクラスない?
0057デフォルトの名無しさんNGNG
>>56
思いっきりある。System.Collectionsあさって見なされ。
0058デフォルトの名無しさんNGNG
IDictionaryか・・・気が付かなかった。
mapとかhashとかいう名前を想像してたんで。
005958NGNG
IDictionaryはインターフェースだった(;´Д`)
Hashtableでいいの?
0060デフォルトの名無しさんNGNG
intに変換するときって、
Convert.ToInt32()
Convert.ToInt64()
どちらにしたらいいん?
0061デフォルトの名無しさんNGNG
>>60
Int64はlongだぞ
0062デフォルトの名無しさんNGNG
質問君No.10650です。
複数の色を使いたいために、
TextBoxをRichTextBoxに置き換えたんですが、
ずいぶんと行間があいてしまいます。
Fontもいろいろ弄ってみましたが、駄目です。
なんとかならないのでしょうか。
0063デフォルトの名無しさんNGNG
>>62
仕様。ワードパッドと同じ。
006462NGNG
がーん(T_T
ありがとございましたー
0065デフォルトの名無しさんNGNG
C++で、自作TextBoxコンポつくれ。
0066デフォルトの名無しさんNGNG
>>65
>C++で
なぜに?
0067デフォルトの名無しさんNGNG
>>66
C#じゃ遅いからでない?
MC++使って自作しれってことだと
0068デフォルトの名無しさんNGNG
>>67
C#がMC++よりおそいなんてこたあない。
0069デフォルトの名無しさんNGNG
済みません。

Stream(MemoryStream)でデータの受け渡しを行いたいのですが、
writeしたストリームのデータを読み込むにはどうしたらいいですか?


MemoryStream ms = new MemoryStream();
ms.Write(data,0,1024);

???????

hogehoge(ms);

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


publicvoid hogehoge(Stream Ds)
{
???????
}
0070デフォルトの名無しさんNGNG
ageさせて下さい。
0071デフォルトの名無しさんNGNG
seekか?
0072デフォルトの名無しさんNGNG
BinaryReader?
0073朝までC#NGNG
前スレで、TextBoxからの継承でイベントをオーバーライドする
問題の件、上手くいきましたありがとうございます。>答えて下さったみなさま。

今は、ADO.NETをやっています。
ADOとはずいぶん違うというか凄い高機能になって驚いています。

VBとADOの時は、結局コントロールとのバインディングを
するとユーザーインターフェースを使いやすくしにくかったので
コードでコントロールとインターフェースしていましたが、
ADO.NETはどうだろうか?
ヘッダと明細のある部分もADO.NETなら表現できてしまうわけだけど、
どこまで用意された機能を使うか使わないかが難しいところですね。

みなさん、ADO.NETでどんな実装をしていますか?
とうぜんやりたいことによって何を使うかは変わると思いますが。
印象とか期待とかが聞きたいです。
0074デフォルトの名無しさんNGNG
Windows.Formsでリアルタイムにログ表示をしたいのですけど、
Iriaとかのログのようにどんどんスクロールさせるには
どうすればよいのでしょうか?

とりあえずListBoxを使ってみたのですが
Items.Addではスクロールさせないと表示してくれませんし、
かといってプログラム側からスクロールをさせる方法がなさそうなので。。
Items.Insert(0,message)という代替手段もありますけど、これは避けたいです。
0075デフォルトの名無しさんNGNG
>>74
TopIndex
0076デフォルトの名無しさんNGNG
>>74
普通、ログ表示にはリストボックスよりもエディットコントロールを使うかと。
ReadOnlyのエディットコントロールを使うと楽。
0077デフォルトの名無しさんNGNG
MySQL Managed Provider
http://www.einfodesigns.com/products.aspx
0078デフォルトの名無しさんNGNG
>>75
見落としてました。サンクス。

>>76
ListBoxの元ネタ。
http://www.atmarkit.co.jp/fdotnet/csharptips/002anchor/002anchor.html

エディットコントロールってTextBoxでよいのでしょうか?
使い勝手がいまいちよくない気がするし、
これこそスクロールさせられないような…。
ちょっと詳しく教えていただけませんか?
0079デフォルトの名無しさんNGNG
http://www.c-sharpcorner.com/

C#の情報やサンプルコードたくさんあっていいんだけど
日本でもこういうサイトないかな?
008076NGNG
>>78
VBとかC#でTextBox使ったことないので、エディットコントロールを生で使う
場合しか知らないけど、EM_SETSELで末尾を選択してEM_REPLACESELで追加する
と勝手にスクロールするよ。
えーと、TextBoxのヘルプ見てみたけど、AppendText()で簡単に追加できるのかな?
それだと自動でスクロールしない場合は、SelectionStartとSelectedText使って
手動で追加すれば自動でスクロールしてくれるんじゃない?
それでも駄目ならScrollToCaretで何とかなるかと。
0081デフォルトの名無しさんNGNG
>>78
既出。文字列の末尾を選択すればスクロールする。
ただしTextBox.HideSelectionプロパティをfalseにセットすること。
0082 NGNG
IDisposableとusingでできることって、try 〜 finallyで実現できるという理解でよろしいか?
するとusingというのはC++が好きな人のための書き換えに過ぎない?
0083デフォルトの名無しさんNGNG
Webページからリンクを抽出するにはどうやったらいいですか?
ページのソースは取得出来てるんですが。。。
0084デフォルトの名無しさんNGNG
>>83
正規表現クラス使って、「<a href」〜「</a>」をキャプチャすればよいのでは?
見当はずれならスマン
0085 NGNG
>>83
そのくらいだったら、自分で考えてみるのをお勧めする。
そうでないと言語処理系なんて持ってる甲斐が無い。
冷たいなどと思わずに。
0086デフォルトの名無しさんNGNG
>>81
78じゃないけど、HideSelectionプロパティを教えてくれてありがとう。
仕方なくFocus()取得->ScrollToCaret()してた箇所がすっきりした。
うれしー。
0087デフォルトの名無しさんNGNG
LoadLibrary()にあたるものって何?
0088デフォルトの名無しさんNGNG
windowsフォームのListViewでファイルのドラッグ&ドロップや
IEのリンクのドラッグ&ドロップを受け付けるにはどうすればいいのでしょうか?

ちなみに、テキストのドラッグ&ドロップはサンプルを見たところ、
次のようなイベントハンドラを実装すればなんとなったのですが、、

private void listView_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) {
if (e.Data.GetDataPresent(DataFormats.Text))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}

private void listView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) {
String s = (String)e.Data.GetData(DataFormats.Text);
MessageBox.Show(s);
}

ファイルとかリンクの場合が分からないです。
0089デフォルトの名無しさんNGNG
>>88
既出。下に詳しく説明あります。
ttp://www.atmarkit.co.jp/fdotnet/csharptips/003dragdrop/003dragdrop.html
009088NGNG
おおっ、まさに望んでいた答えです。
ありがとうございます。
0091デフォルトの名無しさんNGNG
System.Windows.Forms.ListView
のオーナードローについてのサンプルなど
を探しているですが、どこかにありませんでしょうか。
コラムをちょっとオーナードローしてるのは見つけたんですが。

ListBoxでは簡単にできるんですが、
まさかListViewで出来ないなんて思ってなかったので鬱。
0092デフォルトの名無しさんNGNG
>>91
P/Invoke使いまくりしか手はないそうな。

http://www.developersdex.com/vb/message.asp?p=1120&ID=%3C%23aE7a7v8BHA%2E2244%40tkmsftngp03%3E
0093デフォルトの名無しさんNGNG
>>92
ありがとございました。
そのリンク先にあるサンプル[1]が参考になりそうです。
[1]
ttp://www.codetools.com/cs/miscctrl/sortedlistview.asp
0094デフォルトの名無しさんNGNG
tlbimp で EXCEL.EXE より Excel.dll を作成。
csc /r:Excel.dll test.cs で test.exe というプログラムを作成。

現在、Excel.dll は test.exe と同じディレクトリに置いてあり問題なく動いていますが、
test.exe から見て bin\ というディレクトリに Excel.dll を置きたいのです。

同じフォルダか、Excel\Excel.dll にないとだめなんでしょうか?
あるいは、csc でコンパイル時に何か指定すれば可能なのでしょうか??
0095デフォルトの名無しさんNGNG
>>94
.configに書けばよろし。

ms-help://MS.VSCC/MS.MSDNVS.1041/cpgenref/html/gngrfprobing.htm
009694NGNG
>>95
test.exe.config を
<configuration>
 <runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <probing privatePath="bin"/>
  </assemblyBinding>
 </runtime>
</configuration>
としてできました、ありがとう♪(^_^)
0097デフォルトの名無しさんNGNG
>>81
それは、TextBox.Multiline=trueではムリっぽいです。
選択はできてもスクロール無し…。

>>80
ScrollToCaretなら大丈夫でしたけどCaret移動のためにFocusが必要になるので、
UIが使いにくくなってしまいました。。

ログと言っても内容をコピーする必要のないものなので、
ListBoxで済ませたいと思います。
ありがとうございました。
0098デフォルトの名無しさんNGNG
>>97 うちでは問題ないですが?
まあ、どうでもいいみたいですね。ListBox使うみたいだし。
ListBoxでもコピーできますがね。
0099デフォルトの名無しさんNGNG
できてるけどな…。
 t.Multiline = true;
 t.HideSelection = false;
の状態で、
 t.Select( t.TextLength, 0 );
 t.AppendText( "ぱやぱや" );
だよね。

t.HideSelection = true; だと駄目みたいだが。
0100デフォルトの名無しさんNGNG
あ、AppendText()はスクロールには余計か。
コピったもんで。w
0101デフォルトの名無しさんNGNG
>>98-100
スマソ、確認しました。できてますね。。
もはや、今までなんでできなかったのかがサパーリ。(爆

ちなみに、
>ListBoxでもコピーできますがね
「任意の範囲でのコピー」が必要ないという意味でした。
ListBoxでは、どうしても行単位になってしまいますよね?
010278NGNG
Cでエディットボックスを生で使う場合は、HideSelectionはtrue相当でも
SETSELで末尾を選択してREPLACESELで追加すればスクロールするけどなぁ。
リッチエディットだとHideSelectionをfalse相当にしないとスクロール
しなかった。結局、ログに追加する瞬間だけHideSelectionをfalseにして
追加したらtrueに戻す事で解決したけど。

それにしてもTextBoxの説明読んでると、生でエディットボックス使う
のがアホに思えるくらい便利そうだなー。
生のエディットボックスはAppendTextに相当する機能すら無いよ。
文末を選択してから選択範囲の置換で追加するの。
0103デフォルトの名無しさんNGNG
あるフォームから別のフォームのpublicなメンバを操作するにはどんな手がありますか?
static void Main()
{
Application.Run(new Form1());
}
を
public Form1 forma;

static void Main()
{
forma = new Form1();
Application.Run(forma);
}

とするしかないでしょうか?
0104デフォルトの名無しさんNGNG
C#じゃないんですが、VS.NETを買って、Cを実行しようとしてるのですが、
まずはじめに、visual C++ consoleを選んで、Cのハローワールド
などの簡単なプログラムを実行しようとすると”セキュリティーの
ためにプロセスが中断されました”みたいなエラーがでてきて
うまくコンパイルすることができません。
C#のほうは何の問題もなくコンパイルできるのですが・・・
なにをどうすればCのソースをコンパイルできるんでしょうか?
教えてください。
お願いします
0105デフォルトの名無しさんNGNG
C#やりたいんですがVSは買いたくありません。
どうすればいいですか?
0106デフォルトの名無しさんNGNG
>>104
そのエラーメッセージをキーワードにぐぐれ、すぐ見つかる。
0107デフォルトの名無しさんNGNG
>>105
万引きする
0108デフォルトの名無しさんNGNG
>>106
探してみたのですが、それらしいのがどれかわかりません。
お手数ですがもうちょっと詳しく教えてください。
お願いします
0109デフォルトの名無しさんNGNG
>>108
マジかよ、キーワード何入れた?
普通思いっきり1つ目にヒットするが。
0110デフォルトの名無しさんNGNG
>>109
英語版のVS.NETを使ってるのでコンパイルエラーが
"The users security settings prevent Project"
とでてくるので、それをサーチしてみたら沢山でてきて
どれがどれだかわからなくて・・・
0111デフォルトの名無しさんNGNG
>>110
英語版かよ(´Д`;)
http://www.google.co.jp/search?sourceid=navclient&hl=ja&querytime=xwxL3B&q=error+PRJ0016
0112デフォルトの名無しさんNGNG
>>110
後学のために、もしかして英語版だとエラー番号違う?
0113デフォルトの名無しさんNGNG
>>105
VC#買う。
0114デフォルトの名無しさんNGNG
>>111
ありがとうございます。エラー番号は同じでした。
エラー番号で検索していなかったです。
英語版も日本語版も同じなんですね、エラー番号は。
どうもです
0115デフォルトの名無しさんNGNG
>>104
http://support.microsoft.com/
ここで調べるべし。PRJ0016で載ってるから。

>>105
.NET Framework SDKをダウンロードすれば。雑誌にもついてる。
VS.NET60日間限定体験版もあるぞ。
↑日経ソフトウェアとかそれの特別編とかに付録で付いてる
0116デフォルトの名無しさんNGNG
>>105
.NET Framework SDK
0117デフォルトの名無しさんNGNG
>>103
呼び出し先フォームが 1 つしか作成されないことを前提にするのならば,Singleton を使うのも手。

private static Form1 _instance = null;
public static Form1 GetInstance()
{
  if (_instance == null) _instance = new Form1();
  return _instance;
}
private Form1() // アクセサは private にする
{
  // constructor...
}
static void Main()
{
  Application.Run(Form1.GetInstance());
}

これなら,別フォームから Form1.GetInstance().member っていう形で呼び出すことができるよ。
0118デフォルトの名無しさんNGNG
>>117
ああ、良い感じですね。試してみます。
0119デフォルトの名無しさんNGNG
>>117
GetInstance()を省略する方法はありますか?
0120デフォルトの名無しさんNGNG
>>119 http://www.geocities.co.jp/SiliconValley/3657/oshiete.html
0121 NGNG
>>120
ワラタ
0122デフォルトの名無しさんNGNG
見る前からリンクの色が紫になってたよ。。。
0123デフォルトの名無しさんNGNG
>>119
無理。
どうしても... というんだったら,呼び出し元のフォームに
Form1 main = Form1.GetInstance();
と書いて,main.member と呼び出すのもアリ。
0124デフォルトの名無しさんNGNG
.NET関連増えすぎだよ。(;´Д`)

http://discuss.develop.com/
0125デフォルトの名無しさんNGNG
TextBoxのKeyPressイベントの
e.Handled = true;にしても日本語が入ってしまう・・・
0126 NGNG
AxSHDocVw.AxWebBrowserコントロールを継承したユーザーコントロールを
作っています。

やりたいことは、クリックしたlink先URLに応じて使用するブラウザを選択したい
ので、AxWebBrowserコントロールで表示したページのlinkをクリックしたときの
イベントを横取りして独自の動作をさせたい。

クリックしたイベント自体は、BeforeNavigate2で捕らえる事ができましたが
AxWebBrowserコントロール自体の処理は行われてしまいます。(当然ですが、)

どのようにすれば良いでしょうか?
0127デフォルトの名無しさんNGNG
>>126
e.cancel = true にすればブラウザ側の処理はキャンセルされます。

...けど,.NET 環境で BeforeNavigate2 イベント動きました?
前スレにもあったんだけど,BeforeNavigate2 イベントが発生されない...
解決策は SHDocVw.WebBrowser_V1 の BeforeNavigate イベントを使うことなんでしたけど...
0128デフォルトの名無しさんNGNG
C#って、JAVA・VBほど惨くないけど、Delphi未満のアプリしか作れんね。鬱だ・・・
何を作れるかは、作る人間によるってのは無しね。
そりゃ、BASICでも高速Windwosアプリ作れるかもしれないけどさ。俺はやりたくないよ。
0129デフォルトの名無しさんNGNG
>>128
自分にスキルが無いことを言語の所為にするヤシ、ハケーン
0130 NGNG
>>129
言語っつーよりゃ環境だわな
MS製品はバージョン3から良くなるのは定説じゃない?
0131デフォルトの名無しさんNGNG
VBでやってたようなお仕事は、C#に置き換わるでしょう。
それくらいの能力が、C#にはある。
凝った物を作ろうとするから、問題が出るんです。
与えられた物の範囲内で、機能を実現しましょう。
0132 NGNG
>>127

そう、BeforeNavigate"2"じゃありませんでした。
>e.cancel = true にすればブラウザ側の処理はキャンセルされます。
ありがとう、やってみます。
0133デフォルトの名無しさんNGNG
>>128
激しく無能さん?でなけりゃ、Del万歳厨?ま、なんにしてもネタだね。
0134デフォルトの名無しさんNGNG
P/Invokeなんてあまり使いたくないけど、使わないとまともにUIが作れないね。
0135デフォルトの名無しさんNGNG
ワープロのような高度なアプリケーションを
C#でと考えるような奴は厨
0136デフォルトの名無しさんNGNG
>>135
リッチエディットコンポーネントの立場は?
0137デフォルトの名無しさんNGNG
>ワープロのような高度なアプリケーション
素人の方ですか?
0138デフォルトの名無しさんNGNG
C#厨は、WordPadみたいなクズアプリでも、ワープロと呼ぶのかな?
0139デフォルトの名無しさんNGNG
>>138
頭弱い人は来なくていいよ。
0140デフォルトの名無しさんNGNG
釣られすぎだおまいら。
0141デフォルトの名無しさんNGNG
>>135
ワープロじゃないが、
http://www.icsharpcode.net/OpenSource/SD/default.asp
の立場はどうなる。
その前に.NETのクラスライブラリの立場はどうなる。あほだろちみ。
0142デフォルトの名無しさんNGNG
現状の.NET Frameworkが重い(特に起動)のは事実だから、
この点をつっこまれたらC#erは下唇噛んで頷くしかないな。

でも、言語仕様はイイぞ。override周りが少々気に食わんが
概ね好みだ。Java以上のシェアとかC++並みの実行速度とか
無茶は言わんから、せめてVBを駆逐してくれれば・・・(無理)。
0143デフォルトの名無しさんNGNG
VB駆逐まではいかなくても、
新しいバージョンのAccess、Excelには
C#風の言語での開発も出来るようにしてホスィ。
0144デフォルトの名無しさんNGNG
VS.NETが.NETで動作していることを知らないのか・・・。
0145デフォルトの名無しさんNGNG
[DllImport]使ってDLLの関数を呼び出しているんですけど、
その関数使わないとDLLそのものがロードされないようなのです。
関数を呼ぶよりも前にDLLをメモリにロードしておく方法はないですか?
0146デフォルトの名無しさんNGNG
LoadLibraryをDllImportするとか・
0147145NGNG
>>146
やっぱりそんな方法しかないですか(;´Д`)
0148デフォルトの名無しさんNGNG
>>142
PreJITでもまだ遅い?
っていうかPreJITって実装されてたっけ…?
0149デフォルトの名無しさんNGNG
>>148
つかngenしても一発目の.NETアプリの起動は激遅い。
何とかしてくりMSタン
0150ガイシュツならスマソNGNG
System.IO.FileSystemWatcher つかってファイルの更新を監視したいと思ったら・・・
ファイルを変更したときに「Renamed」のイベントハンドラに処理が飛ばされる・・・ショック
0151デフォルトの名無しさんNGNG
>>149
ngen…かぁ。
それでもダメなのはイタイぞ.NET。
0152デフォルトの名無しさんNGNG
>>142
142のVBはこれまでのVBか?それともVB.NETか?
VB.NETはC#と肩を並べられる程度の能力がある。
まぁ、クラスライブラリが共通だからだが。
0153デフォルトの名無しさんNGNG
一発目の起動が遅いなんてのはサーバーサイドでは問題にならない。。。Javaでも.NETでも

とか言ってみるテスト
0154デフォルトの名無しさんNGNG
.net studioのideで、コンポーネントのclick イベント以外のイベントハンドラ
はコードを自動生成する方法ないんでしょうか?
デル厨なもんで、これが面倒くさくてたまりません。
0155デフォルトの名無しさんNGNG
>>154 
プロパティウィンドウの雷マークのアイコンクリックしてみ。
0156デフォルトの名無しさんNGNG
>>155
おー!こんなところに隠れていたのか!サンクスです!
今までしこしこコード書いてたのがあほみたいっす
0157デフォルトの名無しさんNGNG
訳もなくパソコンに詳しい振りをせずに本色を現わしなさい世の中で第一
さもしくて卑怯なやつらよ汚いやつらカアックトェ!!!!!!!
トェトェトェ!!!!!!
汚いやつら地球上で消えてしまいなさい!!!!! カアックトェ! 与えなさい
お前のたまに運ゲイツ奴ら汚いやつらさもしいやつら疎ましいやつら
あなたたち見ていれば吐くようだ分かるのか? この汚くて邪悪学高疎ましいやつら
カアックトェ~! トェトェトェ変態やつら汚いやつら変態無理集団変態たち
鼻持ちならない吐くようだあなたたち見ていれば 1年前に買ったWin2000上って来ようとする
分かるのか? 是非消えなさいこの邪悪で汚くてさもしいMSの奴隷よカアックトェ!! トェトェトェ!!
カアアックトェトェトェ!!!!!!
------  カアックトェ!! トェトェトェ!!
  カアアックトェトェトェ!!!!!!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

  ´   ヾ
 ゛ (⌒) ヽ
 ((、´゛))
   ||||||
   ||||||
  ∧_∧
 <丶`Д´>∩
 (つ   丿
  ( ヽ ノ
  し(_フ
0158デフォルトの名無しさんNGNG
すんません
string []Mailer = RegMailer.GetSubKeyNames();
みたいな感じで配列に入れたときに
何個配列ができてるか?(=何個配列があるのか)調べるにはどうしたら
いいんでしょうか?
0159デフォルトの名無しさんNGNG
System.Array.Length
0160デフォルトの名無しさんNGNG
>>159
あんがと!
調べても出てこない俺はまだ初心者だね・・・。
0161スマソ・・・愚痴らせてNGNG
<ぐち>
  最近やること成すこと全然うまくいかない…
  FileSystemWatcher で changedのイベント発生しないし、
  Assembly.Load("System.Data");で FileNotFoundException とか言われるし…
  何が悪いのかさえわからないんじゃ質問のしようもないし…
  とほほ…今日一日で5行しか書いてないよ…
</ぐち>
0162デフォルトの名無しさんNGNG
OpenWatcomを落としたのですが、
落としたアイコンをダブルクリックすると
Could not intialize inst・・(省略)・・パラメータが正しくありません。
とでてOKをクリック(OKしかない)すると元の画面に戻ります。
何度やっても同じです。
どうすればいいでしょうか?
0163デフォルトの名無しさんNGNG
>>162
C++スレ逝け
0164& ◆UMzR.EvE NGNG
C#とC++ってまったく別物と考えて正しいのでしょうか?
C# > C++ ではないですよね?
0165デフォルトの名無しさんNGNG
>>164
CからC++のときと違って、
C#はこれらの直線上にあるものではないから比較は無意味
0166デフォルトの名無しさんNGNG
よく言われるけどC#はC++よりもむしろJavaに近い。
0167デフォルトの名無しさんNGNG
>>164
むしろJavaと比較した方がマシかと。

C#の正式名称はJava++だと言ってみるテスト。
0168167NGNG
>>166
息が合うね。w
0169デフォルトの名無しさんNGNG
C#はむしろCの進化形な気がするよと言ってみるテスト。
0170デフォルトの名無しさんNGNG
素人目にはVBと見た目が似てたと言ってみるαテスト


これから徐々に勉強するから許して・・・(涙
0171デフォルトの名無しさんNGNG
配列をIntPtrにキャストする場合、どうすればよいでしょうか?
C/C++なら…
Byte[] p = new Byte[100];
int* z = (int*)p;

と記述できますが、C#だとわかりません。
unsafe使わないでやりたいのですが、どうすればよいのでしょうか?
0172デフォルトの名無しさんNGNG
そりゃ配列はポインタでねぇんだからキャストなんぞできねぇべ
0173デフォルトの名無しさんNGNG
>>171
C#の配列はSystem.Arrayから派生するオブジェクトだというのが
C/C++との決定的な違いだよん
0174デフォルトの名無しさんNGNG
>>171
unsafe使うのとほとんど変わらないんだけど、こんな感じ。

  byte[] b = new byte[100];
  GCHandle handle = GCHandle.Alloc(b, GCHandleType.Pinned);
  IntPtr ptr = handle.AddrOfPinnedObject();

  ...

  handle.Free();  // ← 忘れずに!!
0175.NETレスNGNG
>>171
キャストじゃなくコピーになるが・・・
Marshal.Copyメソッド
0176デフォルトの名無しさんNGNG
素直にunsafe使うか、自前の配列クラスを作るのが吉
0177171NGNG
みんなありがとう!!
やはりここは素直にunsafeを使う方向で考えてみます。
配列と同様に、クラスのキャストもしょーがないんですかね。
0178デフォルトの名無しさんNGNG
C#は、メインストリームになるという(幻想を)植え付けるため、
現在の主流C++から名付けた。(C -> C++ -> C++++)
しかし実体は、JAVA+VBといった色合いが濃い。
0179デフォルトの名無しさんNGNG
>>178 誤爆ですか? 

こちらにどうぞ

C .NETが流行らなかったらどうなる?
http://pc.2ch.net/test/read.cgi/prog/1021993329/
0180デフォルトの名無しさんNGNG
>>179
C#に不利な意見だけ、誤爆というのはどうかなぁ。
164-165-166-167-169-170-171の流れでしょう。
0181デフォルトの名無しさんNGNG
C#でクライアントソフトってのは、現実的にどうよ?
シェアウェアつくりたいんだけど、俺はこのままC#でいいのか?

みんなの率直な意見を聞かしちくれ。
0182デフォルトの名無しさんNGNG
>>180
わざわざ、質問スレ荒らすなってことでしょう。
他にもやりあってるところはいくらでもあるんだから、そっちでやれと。
0183デフォルトの名無しさんNGNG
>>178
同意
>>182
別に荒らすつもりは無いけど、俺もC#って名前は気に入らない。
C/C++ユーザーを強引に取り込むつもりなんだろうけ、
中身はC++とは似ても似つかないし。
J#だったらまだ良かった。
0184デフォルトの名無しさんNGNG
>>181
C#でかちゃ〜しゃクローンを作ってちょ。あんま意味ないけど。
0185デフォルトの名無しさんNGNG
C# = (Java + Delphi + C++) / 3 でいいじゃん
せっかくだからBorlandにはD#作って欲しいな
0186デフォルトの名無しさんNGNG
C# = (Java + Delphi) / 2 でいいじゃん
0187デフォルトの名無しさんNGNG
C# = (Java(機能) + Delphi(ヘジたん) + C++(記法) )/3
0188デフォルトの名無しさんNGNG
>>187
記法は激しくJavaよりかと。
0189デフォルトの名無しさんNGNG
>>188
namespaceや継承の書き方など。
それ以外にC++とC#の共通点がいまいち見えてこないが。
0190デフォルトの名無しさんNGNG
>>189
テンプレートでも載ってれば堂々といえたのにね。
0191デフォルトの名無しさんNGNG
もうやめようぜ。JAVAと比べてどうとかは、激しく既出。
他でやってね。
0192デフォルトの名無しさんNGNG
>>191
良くなったC++とか言ってれば、他へ行けとか言われないのにね。
0193デフォルトの名無しさんNGNG
このスレでは、C#は進化したC++って結論で。
もう、話を終わりにしようや。
0194デフォルトの名無しさんNGNG
宗教戦争は隔離スレでやってくれ。
0195デフォルトの名無しさんNGNG
TextBoxでEnter押したときのBeepってどうやって止めるのですか?
0196デフォルトの名無しさんNGNG
ブザー(音源)を全部はずす。
0197デフォルトの名無しさんNGNG
>>195
APIでやるか、デフォルトボタンおくか、Multilineにするかではないかな。
0198 NGNG
自分の気に入らないメソッドを全部空メソッドでオーバーライドして無効化しろ
0199デフォルトの名無しさんNGNG
>>195
こんな感じで。

class TextBoxEx : TextBox {

  protected override bool ProcessDialogKey(Keys keyData) {
    if (keyData == Keys.Enter) {
      return true;
    }

    return base.ProcessDialogKey(keyData);
  }
}
0200195NGNG
199さんの方法でできました、感謝。

ブザーを外すってのもなかなか魅力的なアイデアだったのですが...
0201デフォルトの名無しさんNGNG
C#、C++雑談スレッド
http://pc.2ch.net/test/read.cgi/prog/1023178697/
0202デフォルトの名無しさんNGNG
Windows Service(旧 NTサービス)アプリケーションを作っているのですが、
OnStart メソッド処理中に例外が発生した場合、サービスを停止させたいと思い、
Catch 句の中で ServiceController クラスの Stop メソッドを呼んだのですが、
イベントログを見ると、以下のようなエラーが出てしまいました。

----
サービスを開始できません。System.InvalidOperationException:
サービス bluebirdservice がコンピュータ '.' で見つかりませんでした。
---> System.ComponentModel.Win32Exception: 指定されたサービスは
インストールされたサービスとして存在しません。
----

これを回避する方法が分からないのです。
ご存知の方、ご教授ください。。。
0203デフォルトの名無しさんNGNG
>>202
ServiceController.Statusはどうなってるの?
Runningじゃなきゃ止められないのは当然。
0204デフォルトの名無しさんNGNG
>>203
ありがとうございます。
Status値を調べてみようと、OnStart メソッド内(とTimer.Elapsedイベント内)で

//private ServiceController srvctrl; で定義済み
srvctrl.Status.ToString()

とやって Status を確認しようとしたのですが、System.InvalidOperationException が
発生して確認できませんでした(EventLogに書き出しても、IDEのクイックウォッチ使っても)。
#その後の Stop() で、所望のサービス停止そのものは行われているのですが…

> Runningじゃなきゃ止められないのは当然。
とのことなので、System.Timers.Timer.Elapsed イベントと ServiceController.Status を
組み合わせて、Running の時に停止させるようにしたいと思います。

が、Elapsed内でもStatusを確認できません(サービスを正常に起動させてみても、です。)
ServiceController.Status の確認はどうやればいいのでしょうか? 度々すみません…
0205デフォルトの名無しさんNGNG
>>204
ServiceController.ServiceNameをちゃんと設定してる?
あるいはコンストラクタで。

でもよくよく考えてみると、サービス内でServiceControllerを使うってのも何か変だな。
他のサービスを操るならともかく。
0206デフォルトの名無しさんNGNG
Multi Column なTreeViewを作成したいと思っているのですが、
ヘルプを調べた限りでは正攻法では無理みたいですね。
Webで調べてみましたが、なかなか見つかりません。
なにか参考になるサンプルなどありませんでしょうか?
0207デフォルトの名無しさんNGNG
>206
>Multi Column なTreeView

ってどんなの?
0208デフォルトの名無しさんNGNG
>>206
製品ならあるんだけど・・・。
http://www.devexpress.com/products/net/xtratreelist/index.asp

ソースつきのはMFCしか見たことない。
http://www.codeguru.com/treeview/treelist.shtml
0209デフォルトの名無しさんNGNG
>>205
ありがとうございます!エラーの原因が分かりました。
ServiceController.ServiceName にはサービスの「表示名」を指定するのが
正しいことが分かりました。Timer.Elapsed イベント内で Status を見てサービスを
(例外を発生させずに)停止させられることも確認できました。

今までは IDEで生成された InitializeComponent() の中にある、
this.ServiceName = "bluebirdservice";
この名前↑を使ってましたが、表示名が「bluebird service」となっていたため、
サービスの制御が出来ていませんでした。Stop()メソッドを実行した際に
サービスが停止していたのは、「停止」ではなく「異常終了」だったことになります。

お騒がせしてすみませんでした。

>でもよくよく考えてみると、サービス内でServiceControllerを使うってのも何か変だな。
>他のサービスを操るならともかく。
確かに違和感を持ったのですが、私がヘルプを調べた限りでは、サービスの挙動を制御する
メソッドを持っているのは「ServiceController」しか見つけられなかったもので、とりあえず
使ってます。
0210デフォルトの名無しさんNGNG
>>208
ありがとうございます。
しかし厳しいですね。私の手に負えません。MFCは、、
0211デフォルトの名無しさんNGNG
>>195
もう解決済みみたいだけど、
KeyPressイベントでEnter押下のときにe.Handled=Trueでどう?
従来の方法そのまんまだけど、試してないので、いけるかどうか不明。
0212199NGNG
>>211
バッチリです。サブクラス化する必要なんてなかったのか・・・。
0213朝までC#NGNG
TextBoxに漢字で入力したら別のTextBoxにフリガナを自動で入れるのは、
VB6同様APIを使わないと駄目なようですねぇ
めちゃローカルな機能だから仕方ないか。
0214デフォルトの名無しさんNGNG
Microsoft Java Language Conversion Assistant Beta 2
http://msdn.microsoft.com/vstudio/downloads/jlca/default.asp
0215朝までC#NGNG
DateTimePickerコントロール(日付入力)には、
BackColorプロパティが無いのですが、
どうにかして背景色を変更できないでしょうか?
DateTimePickerを継承したコントロールを作っています。
0216デフォルトの名無しさんNGNG
>>215

dateTimePicker1.BackColor = System.Drawing.Color.Yellow;
これ自体はコンパイル通るね。
マニュアルにもあるし。
でも確かに反映はされないな・・・。
0217デフォルトの名無しさんNGNG
>>216

自己レス
ttp://www.dotnet247.com/247reference/msgs/15/77551.aspx
にもあるが、どうやらあきらめるか、
Controlから自前で作成してやるしかなさそうですね。
0218デフォルトの名無しさんNGNG
>>217
意外と簡単にできたよ。

  const int DTM_SETMCCOLOR = 0x1006;
  const int MCSC_MONTHBK = 4;

  [DllImport("user32.dll")]
  public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);

で、適当なところで

  SendMessage(dateTimePicker1.Handle, DTM_SETMCCOLOR, new IntPtr(MCSC_MONTHBK), new IntPtr(0xdddddd));

色の設定は0xbbggrrで。
0219デフォルトの名無しさんNGNG
>>218
unmanagedな罠。
0220218NGNG
これぐらい作った方がいいか。

[StructLayout(LayoutKind.Sequential)]
struct COLORREF {

  public byte Red;
  public byte Green;
  public byte Blue;

  public COLORREF(byte red, byte green, byte blue) {
    Red = red;
    Green = green;
    Blue = blue;
  }
}

で、SendMessageのlParamをCOLORREF型に変えればよろし。
0221218NGNG
こうすりゃいいか。

[DllImport("user32.dll")]
public static extern COLORREF SendMessage(IntPtr hWnd, int Msg, int wParam, COLORREF lParam);
0222デフォルトの名無しさんNGNG
>>220
ついでに
property RGB
{
get
{
return = Red * 255 * 255 + Green * 255 + Blue;
}
}
0223朝までC#NGNG
みなさん、背景色の対策ありがとうございます。
しかし・・・色が変わるのはカレンダーのポップアップしてくる
ウインドウの背景だけで、目的のポップアップしていないときの
テキストボックスみたいなのの背景は白いままです。
ちなみに今回APIで変更できた部分は普通にプロパティで変更できます。

副産物的に良いAPIの使い方のサンプルになったので、
これを応用してフリガナ自動入力もチャレンジします。
0224朝までC#NGNG
DateTimePickerにはBackColorが有るんだけど動かないですね。
あと、Clickイベントも全然入らないですね。
せっかくのインターフェースとかの言語仕様が泣いてるぞぉ。
0225218NGNG
>>223
> ちなみに今回APIで変更できた部分は普通にプロパティで変更できます。

ああああああああああああああ。やってもうた・・・。
0226朝までC#NGNG
DateTimePickerってValueChangedも登録してイベント発生まで
行くんだけど、その後、プロパティからイベントの表示が消えたり不気味ですね。

VB6の時も標準的ではないコントロールで不気味なやつがありましたが、
C#でも派手ぎみのコントロールは使わない方がいいのかも?
0227朝までC#NGNG
とりあえずこんなことがありましたと言う報告を・・

ユーザーコントロールの上にTextBoxを2個置いてコントロールを作ると、
開発環境を終わらせるなどのなんらかのタイミング以後、
そのコントロールのデザインの表示でエラーが起きます。
「メンバ'Size'の宣言が重複しています。」
もともとは、TextBoxを継承したコントロールを2個のせて
起きたのですが、普通のTextBoxでも起きるみたいですね。
環境は、WinXpPro VS6Ent VS.NET OfficeXp IE6 です。

そのコントロールを使ったフォームの表示には問題ありません。
直接ソースをさわってユーザーコントロール上のTextBoxを
削除すると正常に戻ります。
0228デフォルトの名無しさんNGNG
気づいた報告はここではなくM$へ・・・
SPで直してもらいたいので
0229デフォルトの名無しさんNGNG
DirectInputを使って,キーボードの入力を取得したいのですが,
データ取得の段になってエラーが出てしまいます.
もしかしたら初期化部分でパラメータの設定に失敗しているのかもしれませんが,
なにぶん資料が少ないのでどうすればいいのかわかりません.

using DxVBLib;
//初期化部分
DirectX7 Directx = new DirectX7();
DirectInput DInput = Directx.DirectInputCreate();
DirectInputDevice DIKeyboardDev = DInput.CreateDevice("GUID_SysKeyBoard");
DIKeyboardDev.SetCommonDataFormat(DxVBLib.CONST_DICOMMONDATAFORMATS.DIFORMAT_KEYBOARD);
DIKeyboardDev.SetCooperativeLevel(this.Handle.ToInt32(),
CONST_DISCLFLAGS.DISCL_NONEXCLUSIVE |
CONST_DISCLFLAGS.DISCL_BACKGROUND);
DIKeyboardDev.Acquire();

//データ取得部分
DxVBLib.DIKEYBOARDSTATE kState = new DxVBLib.DIKEYBOARDSTATE();
DIKeyboardDev.GetDeviceStateKeyboard(ref kState);//ここでエラー

成功した方いましたら,方法を教えてくれませんでしょうか
0230デフォルトの名無しさんNGNG
C# Standardだと、IDEからdllにコンパイルでけんの?
0231デフォルトの名無しさんNGNG
>>230
standardはクラスライブラリは作れなかったような・・・
DOSから叩け、叩け、叩けぇ〜
0232デフォルトの名無しさんNGNG
プロジェクトのテンプレートをゲトすれば出来るんでなかったけ
Terrariumあたりでそんな噂を
0233デフォルトの名無しさんNGNG
>>232
通報すますた
0234232NGNG
ひどい(;; )
違法じゃないよぅ
MSの公式サイトにも書いてあるはず
0235デフォルトの名無しさんNGNG
Regexでワイルドカードはどう使ったらいいんでしょう?
"abfcd"と"abgcd"を取り出したいんですが何も表示されないんです。
public class TestClass
{
public static Regex regex = new Regex("ab*cd");
[STAThread]
static void Main(string[] args)
{
foreach(Match match in regex.Matches("abfcdmmmmabgcd"))
{
if(match.Success)
Console.WriteLine(match.Value);
}
Console.ReadLine();
}
0236デフォルトの名無しさんNGNG
>>235
あなたアフォですか?
0237デフォルトの名無しさんNGNG
君ほどじゃないと思うけど。
0238デフォルトの名無しさんNGNG
正規表現リファレンス見れ
MSDNライブラリにあったはず
0239デフォルトの名無しさんNGNG
>>235
ワイルドカードと正規表現は違う。
Regexのヘルプの関連リンクチェックしてみ。
0240 NGNG
ワイルドカード相当の正規表現は "..*" でいいのかしらん
0241デフォルトの名無しさんNGNG
>>240
.が一個多かった
0242デフォルトの名無しさんNGNG
acdとか、abbbbbbbcdとかならひっかかるだろうねぇ。。
0243242NGNG
あ、タイミングわるいな。あれは「*だったら」。

ワイルドカードは.*でよいんじゃない?
.+のような気もしないでもないけど。
ワイルドカードの性質を忘れてしまったよ。
0244デフォルトの名無しさんNGNG
"ab(.*)cd" だと "abfcdmmmmabgcd" が丸ごと引っかかってしまうな・・・。
0245デフォルトの名無しさんNGNG
.*? ならいいのか。
0246朝までC#NGNG
P4-2GHzで開発していると気にならなかったんだけど、
作ったものをP3-500で走らせるとあまりもの起動の遅さに絶句・・
起動時のコンパイルをあらかじめしておくツールとしてPreJit.exeってのが
提供される予定なんだそうだけど、
http://www.microsoft.com/japan/msdn/net/mag00/framework.asp
まだでてこかいのかなぁ 標準のIDEにオプションで「PreJITでコンパイル」ってのを
付けて欲しかったなぁ
0247デフォルトの名無しさんNGNG
>>246
ms-help://MS.NETFrameworkSDK.JA/cptools/html/cpgrfnativeimagegeneratorngenexe.htm
0248195NGNG
>>211
遅レスですがこちらでも確認しましたm(__)mカンシャ

で、今はShift+Enterの時に前のコントロールに戻るってのやろうとしているんですが...(涙)
0249デフォルトの名無しさんNGNG
>>247
ngen.exeって単体で配っていいのかな?再配布パッケージだと
パス通ってなくてbatファイルでngenさせられないしさ。
インストーラ作るしかないのかな。
0250デフォルトの名無しさんNGNG
>>249
パス通せばいいだろ・・・
0251デフォルトの名無しさんNGNG
>>250
ユーザーにいちいちパス通させることはできんでしょ。
0252朝までC#NGNG
>>247 ありがとうございます。
すごい!ngen.exe
コンパイル済みをキャッシュさせるなんて方法もあったんですね。
起動速度は全然問題なしになりました。
さて・・自動でキャッシュさせる方法ですね。
0253デフォルトの名無しさんNGNG
VS.NETが自動生成したフォームにunsafeコードを追加し
IDEでImageListを追加し、ImageListのプロパティウィンドウから画像を追加し
起動するとInitializeComponent()内の(1)のところで
下記のような例外がでてとまってしまいます。
unsafeコードが無ければ例外はでません。宜しくお願いします。

「An unhandled exception of type 'System.Resources.MissingManifestResourceException' occurred in mscorlib.dll
Additional information: 指定されたカルチャ (またはニュートラル カルチャ) に必要なリソースがアセンブリに見つかりません。
"Form1.resources" が、アセンブリ "TreeView" に正しく埋め込まれているか、またはリンクされているかを確認してください。」

(1)
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
0254デフォルトの名無しさんNGNG
>>248
かなり無理矢理っぽいけど,確実にやるなら以下の方法が一番...かも。

>>199 と同じようなクラスを作って,
protected override bool ProcessDialogKey(Keys keyData) {
  bool IsEnterPressed = (keyData & 0xffff) == Keys.Enter;
  if (IsEnterPressed && (keyData & Keys.Shift) != 0) {
    // Shift+Enter の処理
    return true;
  } else {
    return base.ProcessDialogKey(keyData);
  }
}

イベントハンドラを作って,Shift+Enter のところでイベントを発生させて,
テキストボックスを置いてるフォームで処理するようにしたほうが楽かも。
0255デフォルトの名無しさんNGNG
今日出た[Visual C# .NET実践講座]の本はどうですか?
情報お願いします。
0256デフォルトの名無しさんNGNG
256げっと
0257254NGNG
(keyData & (Keys)0xffff) == Keys.Enter; ってやらないと動かないね...
今気付いたよ (´・ω・`)ショボーン
0258195NGNG
>>257
感謝ですm(__)m
何とか期待した動作になりました。
(皆さんのソースのコピペですが...)

protected override bool ProcessDialogKey(Keys keyData)
{
bool IsEnterPressed = (keyData & (Keys)0xffff) == Keys.Enter;
if (IsEnterPressed && (keyData & Keys.Shift) != 0)
{
// Shift+Enterの処理
this.Parent.SelectNextControl(this, false, true, true, true);
return true;
}
else
{
if (keyData == Keys.Enter)
{
// Enterの処理
this.Parent.SelectNextControl(this, true, true, true, true);
return true;
}
else
{
return base.ProcessDialogKey(keyData);
}
}
}

と、しておきました。
これからIME起動の禁止、数字のみの入力等々と拡張していきたいのです...
0259デフォルトの名無しさんNGNG
フォームクラスでこんな感じでどう?

  protected override bool ProcessDialogKey(Keys keyData) {
    if (keyData == (Keys.Shift | Keys.Enter)) {
      keyData = Keys.Shift | Keys.Tab;
    }

    return base.ProcessDialogKey(keyData);
  }
0260デフォルトの名無しさんNGNG
>>258
これでどう?

  protected override bool ProcessDialogKey(Keys keyData) {
    if ((keyData & Keys.Enter) == Keys.Enter) {
      keyData &= ~Keys.Enter;
      keyData |= Keys.Tab;
    }

    return base.ProcessDialogKey(keyData);
  }
0261デフォルトの名無しさんNGNG
>>257
どうしてその演算子の腐った優先順位受け継いじゃったんだろうね
0262195NGNG
>>260
動きました!
こんな簡素に書けるのですね(^^ゞ

やはり基本から勉強しないとイカンですね。
VBではサードパーティのコントロール使いまくりで
こういった事を全くやらなかったので戸惑うことばかりです。
0263デフォルトの名無しさんNGNG
NotifyIconでタスクトレイに入れたアイコンをダブルクリックした時に
フォームを表示させようとして・・
notifyIcon1_DoubleClickに

this.Enabled = true;
this.ShowInTaskbar = true;

を書いたんですが・・・タスクバーに出るだけでフォームがでないんですが・・
こんな馬鹿にお助けを。
0264デフォルトの名無しさんNGNG
>>263
this.Visible = true; にするだけでいいと思われ。
ってか、ShowInTaskbar はここでは関係ないような・・・。
0265デフォルトの名無しさんNGNG
>>264
ありがとございます。

ただ問題がタスクバーではアクティブなんですが画面には表示されて
ないんです・・・これは俺のマシンがおかしいと言う事?
0266デフォルトの名無しさんNGNG
C#のstanderdを買いました。
VC6.0のようにビルドオプションを変更するのは
どこでやればよいのでしょうか?

0267デフォルトの名無しさんNGNG
プロジェクトのソリューションエクスプローラでプロパティ
のとこにあるやつ?
0268デフォルトの名無しさんNGNG
これはバグなんだろうね、、、
デスクトップにある0バイトのファイルを開いて閉じると
アセンブリのあるディレクトリが変更されて、
アセンブリがデスクトップにあることになってしまった。
アセンブリのルートにある設定ファイルなどに、
アクセスできなくなったので調べてわかった。
試しに、コンパイラの最適化オプションでビルドすると再現しない。

また、単純化したコードで上記を再現しようと思ったけど再現しないし、、
アセンブリの操作なんて何にもしてないんだけどね、、

これじゃ単なる愚痴だね。スマソ
0269266NGNG
のどこですか?
0270デフォルトの名無しさんNGNG
>>266
MSDN検索しろ。ビルドオプションでもちゃんと出てくる。
0271266NGNG
知ってるなら、教えてくれてもいいのに。。。
0272デフォルトの名無しさんNGNG
>>271
プログラマ適性ないね。君。
0273デフォルトの名無しさんNGNG
         へ        ヘ
        /  \     / \
       /    \__/   \
      /              \
     /  O        O      |  C#のいい本がないの
     |       ⌒   ∪  #   |
     |                  | ___
      |                 |    /\
    / \_   ___   __ ノ   /   \
  /| ̄ ̄ ̄|    |  |    |   ̄ ̄ ̄| \    \
/   |     \_/   \_/       |  \   /
    |                      |    \/
    |                      |   |
    |                      |  /
    |_______________|/
0274デフォルトの名無しさんNGNG
>>273
洋書ならイパーイあるよ
0275デフォルトの名無しさんNGNG
>>273
もうすぐでまーす。がまんがまん。
0276デフォルトの名無しさんNGNG
ASP.NET使いは注意してね。
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/bulletin/ms02-026ov.asp
0277268NGNG
>>268
原因がわかりましたが、対処法がわかりませんので宜しくお願いします。
デスクトップうんぬんは関係ありませんでした。失礼しました。

実行ファイルがあるフォルダに相対パス".\\"でアクセスしています。
この時、OpenFileDialogでファイルを選択した後、
".\\"がOpenFileDialogで選択したファイルの親フォルダになってしまいます。
簡単な再現コードです。ボタン2つのクリックイベントです。

private void button1_Click(object sender, System.EventArgs e){//ファイル選択ダイアログ
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "All files (*.*)|*.*" ;
string[] fileName = null;
if(openFileDialog1.ShowDialog() == DialogResult.OK){
fileName = openFileDialog1.FileNames;
System.IO.FileStream stream = new System.IO.FileStream( fileName[0] , FileMode.Open);
stream.Close();
}
}
private void button2_Click(object sender, System.EventArgs e){//アプリのフォルダ開きます。
System.Diagnostics.Process.Start( ".\\" );
}
相対パス使うこと自体がまずいのかな。長くなって申し分けありません。
0278デフォルトの名無しさんNGNG
>>277
Application.StartupPath じゃダメなの?
0279268NGNG
>>278
いいのですが、
ソフト使用する人が相対パスでパス指定したら面倒だなぁと思いまして。。
これは普通の仕様なんでしょうか?ちょっとびっくりしたのですが、、
0280278NGNG
追記。
.\ はあくまでカレントディレクトリなので,実行ファイルがあるフォルダとは限らないよ。
ショートカットを作って,「作業フォルダ」に別のパスを指定すれば,そこがカレントディレクトリ .\ になる。

アセンブリのあるディレクトリを取得する場合は,>>278 の通りです。
0281268NGNG
>>280
よくわかりました。どっちにしても.\でアセンブリのあるフォルダに
アクセスするのは危険なんですね。
0282268NGNG
278さん ありがとうございました。
0283デフォルトの名無しさんNGNG
アセンブリのあるディレクトリは

Directory.GetCurrentDirectory()

で取れるよ。
0284デフォルトの名無しさんNGNG
>>279
>これは普通の仕様なんでしょうか?
OpenFileDialog(内部的にはCommonDialog)を使っているからです。
普通の仕様です。
0285デフォルトの名無しさんNGNG
>>283
思いっきりカレントディレクトリじゃん(w
0286デフォルトの名無しさんNGNG
>>283
お前、>>280 の話ちゃんと聞いてたか?
0287デフォルトの名無しさんNGNG
>285
DLLを別ディレクトリに配置して、その中で呼んだ場合はDLLのあるディレクトリが取れるよ。
Application.StartupPathだとDLLから呼んでも常に起動アセンブリのディレクトリが取れる。

そういう話じゃないの?
0288デフォルトの名無しさんNGNG
>>273
こういうのが出るみたいです。どうなんでしょうか。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1484-7
0289デフォルトの名無しさんNGNG
>>288
Webページを印刷しただけかよ!(;´Д`)
0290デフォルトの名無しさんNGNG
System.Reflection.Assembly.Location
0291デフォルトの名無しさんNGNG
>>289
??
0292通りすがりNGNG
>>276
で早速いれようとしたのですが...。
Win2kProに、.NET Framework SDK日本語版入れた環境で、 WindowsUpdateして、

Q322289 ASP.NET ワーカー プロセスに未チェックのバッファが含まれる
Microsoft .NET Framework Service Pack 1 (SDK を適用した英語版)

と表示され、上は直接実行ファイルをダウンロードして実行したら、SDKの中身を要求されたので
展開して指定したらすっきりインストールされた。
しかし、下は二度同じ操作をやってもダメだし、実行ファイルでもだめでした。

うまく入った人います?
0293デフォルトの名無しさんNGNG
>>291
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
これがベース。印刷した"だけ"ではないようだけどね、いちおう。
0294デフォルトの名無しさんNGNG
>>291
多分
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
の事かと。

それにしても...原理主義者って奴は(以下略)
0295デフォルトの名無しさんNGNG
>>293-294
ケコーン
0296294NGNG
>>295
私には妻と子供が(藁
0297293=167NGNG
>>295
http://pc.2ch.net/test/read.cgi/tech/1022257078/166-167
私には>>166が。。(爆
0298デフォルトの名無しさんNGNG
前にも出てたけど
Visual C# .NET実践講座ってのもある。でたばっかで見た事ないけど。
0299デフォルトの名無しさんNGNG
Inside Microsoft .NET IL Assembler

という本がお勧めです。
.NET使うプログラマは必読です。
0300デフォルトの名無しさんNGNG
激しく基礎だが、
「始めよう!C#」(日経BP)とか、わかりやすいかと。
0301デフォルトの名無しさんNGNG
無難に独習C#でよいかと。
0302デフォルトの名無しさんNGNG
>>298
俺も知りたい。誰か情報!!

>>299
洋書?

>>300
確かに、基礎固めにはベストだね。

>>301
でかいのだけが×。ただその分開いておいても閉じないので持ち運ばないなら
使える。
0303デフォルトの名無しさんNGNG
入門書に良書なしと思うのは漏れだけか?
0304デフォルトの名無しさんNGNG
ガイシュツかもしれんが、洋書ならここ。
ttp://www.dotnetbookreviews.com/default.asp

全般的なんはここ。
ttp://www.microsoft.com/japan/msdn/books/

>入門書に良書なしと思うのは漏れだけか?
良書にあたったことがないだけじゃない?
.NET系に関して言えば、単に未成熟なだけかと。
0305デフォルトの名無しさんNGNG
>>304
MSのサイト
更新3月かよ・・・。
0306デフォルトの名無しさんNGNG
>>304
マイクロソフトプレスの本なら
http://www.microsoft.com/japan/info/press/vs_net/vs_net.asp
に情報があるよ。7月15日にPetzold本とRichter本が出るみたいね。
TechEdで先行販売しないのかな・・・
0307朝までC#NGNG
5月初めにVB厨からC#の勉強を始めました。
SEの黄色本こと、「C#.NETプログラミング」が
入りやすかったです。しかしサンプルプログラムが細切れなのと
イベントやデリゲートの所がなんのこっちゃさっぱり判りませんでした。
そして、日経ソフトウエアの「始めよう!C#」が発売されました。
これはなかなか良い本です。判りやすい分情報量が少ないので、
もうちょっと詳しい入門書と合わせて読む必要があります。
インプレスの赤本こと、「プロフェッショナルC#」は、堅くて
つらいのですが、ADO.NETとかはここで勉強しています。(下巻)
川俣氏著の「C#がわかる+使える」 は、VBとC#の概念的な違いが
判りやすく説明されているのでオブジェクト指向言語が初めての人に
おすすめです。Web上では読みにくいので必要な所だけを
印字して読んでいましたが、やはり本の方がいいですね。

マイクロソフトのオフィシャル本のたぐいはヘルプがあるから
いりません。買ったけど活躍の場が無いよ。
0308デフォルトの名無しさんNGNG
Windowsが終了処理を始めたらある処理をしたいんですが、
Windowsの終了処理の時にアプリが何らかの処理って
できるんでしょうか?
できるのであれば方法お願いします。
0309デフォルトの名無しさんNGNG
Microsoft.Win32.SystemEvents.SessionEnding
別のスレッドから呼ばれるらしい
0310デフォルトの名無しさんNGNG
>>309
あ〜こんなとこにあるのか・・・俺も検索下手だわ。。。
ありがとう!
0311310NGNG
すみません。
どう記述していけばいいのやら・・・ってな状態なんです。
0312デフォルトの名無しさんNGNG
Formsでのボタンのイベントハンドラとかと同じじゃないの?
0313310NGNG
なんか違うっぽい。イベントバンドラの一覧には無いし。
当然同じ用に記述しても意味不明コンパエラー。
0314デフォルトの名無しさんNGNG
>>313
こんな感じでどう?

  SystemEvents.SessionEnding += new SessionEndingEventHandler(〜);
0315310NGNG
そういうのでやってみたんだけど・・・

戻り値が必要だとか出た。
0316デフォルトの名無しさんNGNG
>>313
delegateを調べてみるとか。
0317310NGNG
少し調べてみるわ。
ありがと。
0318デフォルトの名無しさんNGNG
プラグインとして動作するC#製DLLを作る際、LPTSTR型を引数として受け取った時のデータ渡しってどうやればよいの?

ms-help://MS.NETFrameworkSDK.JA/cpref/html/frlrfSystemRuntimeInteropServicesUnmanagedTypeClassTopic.htm
この辺っぽいけど、よくわからなくて。
0319朝までC#NGNG
C#でふりがなを取得するコード書いているんだけどいろいろやっても
うまくいきません。・・・・・・・・ヽ(`Д´)ノウワァァァン
教えて下さい。
------------------------------VBで動くコード
Text1,Text2を配置して以下コードをフォームに置く
Private blnChenge As Boolean
Private Sub Text1_Change()
blnChenge = True '元テキストが変更され
End Sub

Private Sub Text1_KeyUP(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 And blnChenge = True Then '改行キーのアップなら
If Len(Text1) = 0 Then '空白ならフリガナもクリア
Text2 = ""
Else
Text2 = Text2 & S_Furigana(Text1) '新たな変換フリガナを追加
End If
End If
blnChenge = False
End Sub


Public Function S_Furigana(SrcObj As Control) As String

Dim himc As Long
Dim dwSize As Long
Dim strOut As String

himc = ImmGetContext(SrcObj.Hwnd) 'IMEのコンテキスト取得?
If himc = 0 Then 'コンテキストの取得に失敗
S_Furigana = ""
Exit Function
End If

'取得サイズを取得
dwSize = ImmGetCompositionStringSize(himc, GCS_RESULTREADSTR, 0, 0)
strOut = Space$(dwSize + 1) 'バッファの確保
'strOutに値を取得
dwSize = ImmGetCompositionString(himc, GCS_RESULTREADSTR, strOut, dwSize)
ImmReleaseContext SrcObj.Hwnd, himc 'コンテキストの解放

S_Furigana = Left$(strOut, Len(strOut) - 1) '値を整理

End Function

0320朝までC#NGNG
------------------------------C#でいろいろやったけどコンパイラに通すことすら出来ないコード
IntPtr GCS_RESULTREADSTR = (IntPtr)0x200;

   [DllImport("imm32.dll")]
public static extern IntPtr ImmGetContext(IntPtr hWnd);
public static extern IntPtr ImmGetCompositionStringSize(IntPtr himc, IntPtr dw, IntPtr ipv, IntPtr dw2);
public static extern IntPtr ImmGetCompositionString(IntPtr himc, IntPtr dw, String ipv, IntPtr dw2);
public static extern IntPtr ImmReleaseContext(IntPtr hWnd, IntPtr himc);

private void textBox1_TextChanged(object sender, System.EventArgs e)
{

IntPtr himc;
IntPtr dwSize;
string strOut;
// byte[] bytOut;

himc = ImmGetContext(textBox1.Handle);
if (himc != (IntPtr)0)
{
dwSize = ImmGetCompositionStringSize(himc,GCS_RESULTREADSTR,(IntPtr)0,(IntPtr)0);
byte[] bytOut = new byte[(int)dwSize + 1];
dwSize = ImmGetCompositionString(himc,GCS_RESULTREADSTR,(IntPtr)bytOut,dwSize);
}
himc = ImmGetContext(textBox1.Handle,himc);
label2.Text=bytOut;
}
0321朝までC#NGNG
>>318
System.IntPtr っぽいです。
0322デフォルトの名無しさんNGNG
>>321
サンキュ。
でも悲しいほどに疑問だらけ。
IntPtrの指すメモリにstringを書くには?
ついでに、FARPROCはどうすれば??

#VC++6.0のほうがよいのか?持ってないけど。。
0323デフォルトの名無しさんNGNG
>>318
[MarshalAs(UnmanagedType.LPTStr)] string 〜; という感じでどう?
0324朝までC#NGNG
>>322
私の長いソースの疑問もAPIへの文字列渡しの問題が入ってます。
シコシコしらべよう。
0325朝までC#NGNG
文字列渡しは、ここが参考になりそう。>>323 さんの書いているやり方ですね。ありがとう。

http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_020/csharp_abc04.html
0326デフォルトの名無しさんNGNG
>>320
いちおう動いたけど、ふりがなの後ろにゴミがついたりつかなかったり。

  const int GCS_RESULTREADSTR = 0x0200;

  [DllImport("imm32.dll")]
  static extern IntPtr ImmGetContext(IntPtr hWnd);

  [DllImport("imm32.dll")]
  static extern int ImmGetCompositionString(IntPtr hIMC, int dwIndex, StringBuilder lpBuf, int dwBufLen);

  [DllImport("imm32.dll")]
  static extern bool ImmReleaseContext(IntPtr hWnd, IntPtr hIMC);

  private void textBox1_TextChanged(object sender, System.EventArgs e) {
    IntPtr himc = ImmGetContext(textBox1.Handle);
    if (himc == IntPtr.Zero) {
      return;
    }

    try {
      int dwSize = ImmGetCompositionString(himc, GCS_RESULTREADSTR, null, 0);
      StringBuilder lpBuf = new StringBuilder(dwSize);
      ImmGetCompositionString(himc, GCS_RESULTREADSTR, lpBuf, dwSize);

      label1.Text = lpBuf.ToString();
    }
    finally {
      ImmReleaseContext(textBox1.Handle, himc);
    }
  }
0327デフォルトの名無しさんNGNG
長さを再調整すれば大丈夫みたいね。

      lpBuf.Length = dwSize;
      label1.Text = lpBuf.ToString();
0328デフォルトの名無しさんNGNG
>>323
おお、いい感じ。

でもどうもうまくいかないから、もしかしてDLLの作り方が間違ってるのかと思って
やたら単純なものを作って試してみたんだけど。。

//testdll.cs (/target:library)
using System;
using System.Runtime.InteropServices;

namespace testdll {
class testdll {
public static int Start(){
return 1;
}
}
}


//testexe.cs
using System;
using System.Runtime.InteropServices;

class testexe {
[DllImport("testdll.dll")]
public static extern int Start();

static void Main() {
int res = Start();
Console.WriteLine("{0}", res);
}
}

この二つをコンパイルしてtestexe.exeを実行すると、

ハンドルされていない例外 : System.EntryPointNotFoundException: DLL testdll.dll
の Start というエントリ ポイントが見つかりません。
at testexe.Start()
at testexe.Main()

…鬱。
0329朝までC#NGNG
おお!ありがとうございます。>>326 さん
それを元に問題点を探索して・・

label2.Text=string.Empty;
for(int i = 0;i < dwSize;i++)
{
label2.Text=label2.Text+lpBuf[i].ToString();
}

だと上手く行く事が判明。さらに・・と調べていると、>>327さんの書き込みありがとうございます。
Lengthで長さの調整が出来るなんて思いもよらなかったです。

ついでに、VB6で言うところのMID関数も発見!
public StringBuilder Append(char[], int, int);
0330デフォルトの名無しさんNGNG
>>323
DllImportはunmanaged (C++とかで作ったDLL) に対して使うものだぞ。
0331330NGNG
>>328だった。ゴメソ・・・。
0332デフォルトの名無しさんNGNG
>>330
ms-help://MS.NETFrameworkSDK.JA/cptutorials/html/a_component_in_c_.htm
managedなDLLは/r:での指定だったのか。ありがと。
#ついでに、testdllのクラスにpublicをつけ忘れてる。。

となると、unmanagedなクライアントに読み込ませるmanagedなDLLを作るにはどうすれば??
classという枠がジャマになっているような気がするんだけど。
0333朝までC#NGNG
>>332
また、大はずししそうですが、C#のコンポーネントをActiveXにする
ラッパで被せてそのActiveXをunmanagedなVCでつくるDLLに
再度ラップするしかないのかなぁ?
0334デフォルトの名無しさんNGNG
ms-help://MS.NETFrameworkSDK.JA/cpguidenf/html/cpconinteropmarshalingoverview.htm
正攻法ではできないくさい。VS.NETを注文したところなのに、イタイ。。

>>333
やっぱそのあたりしかないのかな。うぅ、めんどくさい。
というかVC++6.0コンパイラって無償配布されてます?
0335朝までC#NGNG
うーん それは知らないなぁ。少なくともVB6では普通のDLLが
作れないのですね。だからいつもVBだったけど作れない部分だけ限定的に
VC6使っていました。

似たような話ですがC#は起動が遅いので、アンマネVCでスプラッシュ画面を出して
すぐC#をキックして起動の遅さを誤魔化そうかなと思います。

以前のレスでキャッシュを作る方法だけどその後、再度やってみたら
早くならない・・なんでだろう? これももうちょっと調べよう。

ふりがなの件、その後も上手くいってます。感謝!!
0336朝までC#NGNG
私の勘違いの可能性も多々ありますが、以下のような現象があります。

問題:クラスのprivateのフィールドをそのクラス内のメソッド中で認識しなくなる。別の同様のフィールドで認識できるものもある。
対策:フィールドのprivateをはずす。

問題:ユーザーコントロールにTextBoxやLabelを複数置くとデザインの画面でSizeが重複していると怒られる。
対策:ユーザーコントロールのデザインは一発で決める。

問題:1カ所でしか定義していない列挙型に対して、複数の場所で定義していると編集中に警告が出るが、コンパイルは問題がない。
対策:シカトする。

0337デフォルトの名無しさんNGNG
>Char 値型は、Unicode 文字を 16 進数値 0x0000 〜 0xFFFF で表します。

ってあるんですけど、具体的に文字コードとしてはUTF-16なんですか?
そもそもUnicode文字ってなんぞや。
16ビットだし、UCS-2のこと?

文字コードには疎いので変なこと言ってたらワラってちょ
0338デフォルトの名無しさんNGNG
>>314
その方法で少しイジればできました。
ありがと。一応報告。
0339デフォルトの名無しさんNGNG
>>334
>というかVC++6.0コンパイラって無償配布されてます?

MSDNのPro以上ならダウンロードできるというかCDが送られてくる。
0340デフォルトの名無しさんNGNG
>>337
charsetはUCS2相当で、encodingはUTF16相当。
0341デフォルトの名無しさんNGNG
>>340 サンクス
相当ってことは完全にUTF-16ではない?
サロゲート無しってところ?
0342デフォルトの名無しさんNGNG
>アンマネVCでスプラッシュ画面を出してすぐC#をキックして
いいね。VSにスプラッシュウィザードがつくともっとよい
0343デフォルトの名無しさんNGNG
相当ワルの相当?
0344デフォルトの名無しさんNGNG
完全対応なんて言ったらキチガイが騒ぎ出すからだろ
0345デフォルトの名無しさんNGNG
>>335
>以前のレスでキャッシュを作る方法だけどその後、再度やってみたら
>早くならない・・なんでだろう? これももうちょっと調べよう。

たぶんJITコンパイルよりも、巨大なランタイムのロードの方がボトルネックということでしょうな。

.NETアーキテクチャの場合、アセンブリ全体をスキャンして不正な改変がないかチェックするから
巨大なランタイムだと起動が遅くなるんだと思います。




0346デフォルトの名無しさんNGNG
>>339
ACなので、MSDNとは無縁です。
0347デフォルトの名無しさんNGNG
>>345
ちがいます。CLRはGACからロードされたあせんぶりの署名チェックはしません。
0348デフォルトの名無しさんNGNG
>>337
内部でどのようにデータを持っているかということと、それを外部に
どのように出力するのかは分けて考えましょう。

というわけで、CharはUTF-16でもUTF-8でもSJISでもありません。内部では
Unicodeで表せる文字をすべて格納できる形式でデータを持っています。
それをUTF-16で出力することもSJISで出力することもできます。
0349デフォルトの名無しさんNGNG
>>348
ども。
文字コードには疎いながらも気になったのは、サロゲートとかあると一文字が16bitで表現できないことです。
stringはcharの配列(みたいなもの)ですが、hoge[5]とか指定したときに一文字を取り出せないことを
危惧しなければならんのか?とかが気になったもので。
あとバイト数/2が文字数でないという現象が生じたりするのか?とか。
そーゆーことはないと思ってていいんでしょうか。


あ、あと文字コードを直接数値で入力するツールとか作ったときに内部表現がどうしても気になるとかもあります。
0350 NGNG
現在の日付と時刻はどうやって取得すればいいんでしょう?
VB には Now() があるようですが・・・
0351デフォルトの名無しさんNGNG
System.DateTime.Now
0352350NGNG
>>351
プロパティにあったんだ!!
メソッドになくて断念して質問してしまった・・・打つ出し乃

どうもありがとう!
0353デフォルトの名無しさんNGNG
C#をJavaへ変換するアプリケーションってありますでしょうか?
C#に興味があるのですが、ターゲットがJavaなもので。
C#で開発して、Javaで使うと言う風にしたのです。
どうかよろしくお願いいたします。
0354デフォルトの名無しさんNGNG
>>353
大人しく最初からJAVAで組め。
0355デフォルトの名無しさんNGNG
ウルトラ・ハイパー・ビギナーのプログラマーです。
もっとも分かりやすいC#の入門本はどれですか?
ステップバイステップを買いましたが、最初から専門用語でまくりで
わかりませんでした。
0356デフォルトの名無しさんNGNG
>ウルトラ・ハイパー・ビギナーのプログラマー
それならC#を最初にする時点で間違ってる。
0357デフォルトの名無しさんNGNG
日本よえー
0358デフォルトの名無しさんNGNG
確かに弱い・・・
0359 NGNG
C#のコンパイル最適化ってどの程度行われているのでしょうか?

よく次のようなコードを特に意識することなく書くのですが

string hoge;
for(int i=0;i<hoge.length;i++)
{
...
}

これって i<hoge.length の部分をforループの回数分評価
しているとしたら

string hoge;
int cnt = i<hoge.length;
for(int i=0;i<cnt;i++)
{
...
}

としたほうが良い?
それともこの程度の最適化はしているのかな。
0360 NGNG
あと、C#から離れますが
C++スタンダードは最適化なしって話ですが
上のような最適化ぐらいはしてくれるのでしょうか?
0361デフォルトの名無しさんNGNG
無しは無しでしょう
0362デフォルトの名無しさんNGNG
>>359
そういうときは悩まずネイティブ出力を確認すべし。

DebugBreak()を呼び出して、ダイアログが出たらデバッグボタンを押して、
あとはVS.NETを起動すれば確認できるよ。

  [DllImport("kernel32.dll")]
  public static extern void DebugBreak();

  public static void Main() {
    DebugBreak();

    // ...
  }
0363デフォルトの名無しさんNGNG
.NETで、IEのツールバー見たいのをつくりたいのですが、どうすればいいんでしょうか。
というか、可能ですか?
0364誤爆しちまった…(汗)NGNG
C#に触れて5分の者だけど、

C#のdelegateってC++のfunctorみたいなもの?
言い換えればlispの手続き抽象?
0365 NGNG
>>361
どうも。

>>362
それはC++の話ではないですか?
C#だとildasm.exeでマネージコードが見れるのですが
コレがなんだか良くわからない。

>>363
ActiveXのCoolBarではダメですか?
ってコレはVB6持ってる人にしか入ってないのかな。

#日本イレブンおめでとう!!
0366デフォルトの名無しさんNGNG
>>365

IEのツールバーですが、見た目の話じゃなくて、IEにアドインするそのものをつくりたいんです・・・。
0367デフォルトの名無しさんNGNG
>>363 >>366
こんなやつ?

Extending Explorer with Band Objects using .NET and Windows Forms
http://www.codeproject.com/csharp/dotnetbandobjects.asp
0368デフォルトの名無しさんNGNG
アンマネージの関数を呼び出しているんだけど、
unsafeにしても関数ポインタ使えないの?
関数ポインタ返す関数をどう宣言すればいいのやら。
0369デフォルトの名無しさんNGNG
>>368
delegate
0370デフォルトの名無しさんNGNG
>>369
実験の為にdll作って
public delegate int FUNC();
[DllImport("test.dll")][return:MarshalAs(UnmanagedType.FunctionPtr)]
public static extern FUNC GetFunctionPointer();
↓
FUNC a;
a = GetFunctionPointer();
とやってみたんですが、
例外:関数のポインタは、Delegate により作成されませんでした。
と言われるんですけど、何か間違ってますかね?
a = new FUNC(GetFunctionPointer());
でもだめでした。
0371353NGNG
>>354
即レスありがとうございます&亀レスすみません。
やっぱりだめですか。
Java遅いんですよね。C#はどうなんでしょうか。
では、また。
0372デフォルトの名無しさんNGNG
>>370
これでいけると思われ。

  public delegate int FUNC();

  [DllImport("test.dll")]
  public static extern IntPtr GetFunctionPointer();

で、

  FUNC a;
  a = Activator.CreateInstance(typeof(FUNC), new object[] { null, GetFunctionPointer() }) as FUNC;
  a();
0373372NGNG
むー。>>372は偶然動いてるっぽいね。
関数の形を変えるとほとんどで例外が出るや。(w
0374デフォルトの名無しさんNGNG
.netで設定をファイルに保存する(iniファイルみたいな感じ)クラスとかは
用意されているんでしょうか?
0375デフォルトの名無しさんNGNG
MC++でこうするしかないのかな・・・。

#using <mscorlib.dll>

using namespace System;
using namespace System::Runtime::InteropServices;

typedef int (*FUNC)();

[DllImport("test.dll")]
FUNC GetFunctionPointer();

int main(void)
{
  FUNC f = GetFunctionPointer();
  Console::WriteLine(f());

  return 0;
}
0376デフォルトの名無しさんNGNG
>>374
既出。前スレにXML形式で保存する話題があるよ。
http://pc.2ch.net/test/read.cgi/tech/1019533942/
0377デフォルトの名無しさんNGNG
>>376
ありがと
0378デフォルトの名無しさんNGNG
気づくの遅いけど・・・・XMLも勉強しなきゃならないね・・・

うう。とりあえずレジストリにでも保存しておこう・・・ボソ。
0379デフォルトの名無しさんNGNG
Windows APIのGetAsyncKeyState相当の機能って.NET frameworkにはありません?
TerrariumでDllImportで使おうとしたら怒られてしまって・・・
0380デフォルトの名無しさんNGNG
コソーリ・・・
http://pc.2ch.net/test/read.cgi/win/1023553080/l50
0381368NGNG
亀々レスで申し訳ないです。
>>372-373
試して見ましたが、例外が発生するようです。
偶然とはいえ動くと言うことは、
関数ポインタ自体使えないことはないってことでしょうかねぇ?
とりあえず、Activator.CreateInstanceについて調べてみます。
>>375
MC++ではそのまま関数ポインタ使えるんですね。
とはいえ、本体がC#なもので出来ればC#上で呼びたいと思っているので…。
スマセン。
0382デフォルトの名無しさんNGNG
.NETでクールなドッキング/フローティングコンポーネントってないっすか?
てくろうと思ったんだけど本格的なものになると俺の手にはおえないっす。
0383デフォルトの名無しさんNGNG
>>381
せっかくの.NETなのだし、DLLを呼ぶ部分だけMC++で記述してモジュール化、
C#からそれを呼び出して利用というのは?
#ファイル数が増えてしまうのが玉にきず。
0384デフォルトの名無しさんNGNG
>>382 こんなの?
http://www.dotnetmagic.com/features.html
0385朝までC#NGNG
>>383
ある意味、これぞ.NETという使い方でもありますね。
もしかして、MC++ならDLLつくれる?
私はC#で手いっぱい。(^^;;;

ついでにまた発見。
TextBoxのIMEModeプロパティに半角カナに設定すると、
ちゃんと動作しますが、プログラムで設定すると全角カナになる
問題を見つけました。IMEでもATOKでも同じみたい。
環境は、WinXP、VS.NET Ent、枠組SP1
0386デフォルトの名無しさんNGNG
>>385
>もしかして、MC++ならDLLつくれる?
>>333あたりのこと?

"Managed" C++という罠があるかと。
0387デフォルトの名無しさんNGNG
>>384
イイ!
http://www.codeproject.com/cs/miscctrl/VSNetToolBar.asp
このツールバー(フローティング出来ないのが残念)と組み合わせればクールなGUIの出来上がりだね
0388デフォルトの名無しさんNGNG
つーか>>387のリンク先のUpdate 1.2 と 1.4 のところの画像のXPテーマがもろにつぼにはまったんだけど、誰か知ってたらゲト出来るアドレス教えて。
0389デフォルトの名無しさんNGNG
>>388
●好き好き大スキン!WindowsXPスキンスレッド 7●
http://pc.2ch.net/test/read.cgi/win/1021130372/l50

この辺の話かと・・・
ちなみに漏れは知らないっす。スマソ。
0390デフォルトの名無しさんNGNG
>>384
カコイイなぁ。

ていうかVS.NETのUIのエミュレートかな思うんだけど、
M$のコンポーネントオンリーじゃ作れないの?
出し惜しみ?
0391デフォルトの名無しさんNGNG
>>385
VB.NETですが、こちらでは再現しません。
環境 Win2000SP2、.NET Framework SDK(SP1)、IDEなし

以下のコードで、(1),(2)のコメントを片方だけはずしてコンパイルして試しましたが、
どっちも半角カナモードになります。


'vbc /t:winexe /out:ImeTest.exe /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /optimize+ /optionstrict+ ImeTest.vb
Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class ImeTest
Inherits Form

Friend textBox1 As TextBox = New TextBox()
Friend button1 As Button = New Button()

Public Sub New()
MyBase.New()
button1.Location = New Point(0,textBox1.Height)
button1.Size = New Size(60,20)
button1.Text = "半角カナ"
'(1)
'textBox1.ImeMode = ImeMode.KatakanaHalf
Me.Controls.Add(textBox1)
Me.Controls.Add(button1)

AddHandler button1.Click , AddressOf button1_Click
End Sub

Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
'(2)
'textBox1.ImeMode = ImeMode.KatakanaHalf
End Sub

Public Shared Function Main(ByVal CmdArgs() As String) As Integer
Application.Run(New ImeTest())
Return 0
End Function
End Class
0392デフォルトの名無しさんNGNG
>>391
SDKでVB.NETとは漢だね
0393デフォルトの名無しさんNGNG
Outlookのイベントをフックしたいのですがうまくいきません。

たとえば
private Outlook.Application olApp = new Outlook.ApplicationClass(); //outlook.applicationの作成
olApp.NewMail += Outlook.ApplicationEvents_10_NewMailEventHandler(OnNewMail);
private void OnNewMail()
{
(なんらかの処理)
}

とするとコンパイルは通るんですが、実行すると
「'System.InvalidCastException' のハンドルされていない例外が
interop.outlook.dll で発生しました。追加情報 : インターフェイスがサポートされていません」

というメッセージが出て実行できません。
インターフェイスがサポートされていないとはcomとマネージドコードのどちらに、なんのインターフェイスが
ないという意味なんでしょうか??
0394デフォルトの名無しさんNGNG
なんかusersとかMSのnntpみたいな雰囲気になってきたな。。。低レベルなQ&Aばっかだ。ツマラン。
0395デフォルトの名無しさんNGNG
オーナードローリストボックスについて質問です。
http://ja.gotdotnet.com/QuickStart/aspplus/default.aspx?url=/quickstart/howto/doc/WinForms/WinFormsOwnerDrawListBox.aspx

にある、サンプルなのですがアイテムが無い所をクリックすると一番下のアイテムが選択されてしまいます。
アイテムがないところをクリックした時、全部の選択を外したいのですが。どうすればいいででしょう。

MouseDownイベントで
if( listBox1.IndexFromPoint( e.X, e.Y) == ListBox.NoMatches ){
this.listBox1.ClearSelected();
}
としてみたのですが、どこをクリックしてもIndexFromPointで一番下の項目が返ってきてしまい困っています。
0396デフォルトの名無しさんNGNG
>>394
あのレベルは到底マネできんと思う。特にnewsgroup。
0397デフォルトの名無しさんNGNG
>>394
DevelopMentorもUS Newsgroupも最近は・・・。
かく言う漏れはMonoを生暖かく見守ってまふ。
0398デフォルトの名無しさんNGNG
>>397
sscliじゃ駄目なの?
0399デフォルトの名無しさんNGNG
>>398
sscliは動きがないからね・・・。なんていうか興味が長続きしない。
でも.csとinternalcallの実装部は役に立ったけど。
0400デフォルトの名無しさんNGNG
M$信者はオプソへの食いつき悪いね
0401デフォルトの名無しさんNGNG
>>393

自己レスです
tlibbmpのバグでした

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q309336

0402デフォルトの名無しさんNGNG
>>400
そりゃあオプソのものを使いこなせるぐらいなら、M$製品なんか(以下略
0403デフォルトの名無しさんNGNG
クライアント側で、IE上においてアクセスしたページの情報を
取得するにはどうすれば良いでしょうか?
例えば、ページのURLやXMLファイルのルート要素を変数に格納したいのですが…
プログラミング自体初心者です、低レベルな質問ですみません。
0404デフォルトの名無しさんNGNG
>403
その質問が低レベルと判断できるなら、
初心者はとっくに卒業でしょう。
0405デフォルトの名無しさんNGNG
オプソ関係って環境整えるだけでお腹イッパイになってる連中が多くて
その先にすすまないんだよねえ。gnomeとか。そりゃつまらんわ。
ああ全然関係ないね。スマソ
0406デフォルトの名無しさんNGNG
[SharpDevelop-jp]
http://sharpdevelop-jp.sourceforge.jp/
0407デフォルトの名無しさんNGNG
Win系のプログラマは厨房多し。
犬房はプログラミングにすら手が届かないやつ多し。
ああ全然関係ないね。スマソ
0408デフォルトの名無しさんNGNG
>>407

処理系が複雑になると、
表面的には処理が簡単になり、
本質的には理解が困難になる。

アセンブリは取っ付きにくいが、理解はやさしい。
故に、アセンブリプログラマに厨は少ない。
Unix は取っ付きにくいが、理解はやさしい。
故に、Unix ユーザーに厨は少ない。

Windows は入るのは敷居が低いが、
青木ヶ原樹海のようなもので、
理解して出てくる人間はほとんどいない。
0409デフォルトの名無しさんNGNG
>>405 >>407-408
宗教戦争は他でやれYO!
0410デフォルトの名無しさんNGNG
>>407
俺は>>407がその事例のどっちに所属するか興味がある。
俺は違うぜ!とか思ってたら失笑。
0411デフォルトの名無しさんNGNG
>408
大学は入りにくいが、卒業しやすい。
官僚はなりにくい、そして一旦なれたら仕事はやさしい。
んで?厨は少ないか?敷居?ハァッ (われながら下手な例だw
ついでにいうとおまえのような下らん決め付けをわざわざ頭悪そうな書き方で、
ご丁寧にも無意味な空白つけて、無神経にも批判する相手がたくさんいるところに
カキコするような豪傑のことを、2ch一般的には厨という。
0412デフォルトの名無しさんNGNG
まあ、このスレではまともにUNIXを使える奴はいないでしょう。(w
0413デフォルトの名無しさんNGNG
>>412
お前を含めてと言うなら同意。
0414デフォルトの名無しさんNGNG
まじで他でやってくれ。あとでログみるの苦労するから。
0415デフォルトの名無しさんNGNG
このスレはオプソネタ禁止!
0416朝までC#NGNG
なかなかADO.NETは、難しいです。
VBの時も複雑なことをしようとすると画面に置く系のデータコントロール
より、コードで直接レコードセットを扱ってゴリゴリ書いた方が良かったのですが、

ADO.NETになってさらに複雑になったので複雑なことに対して柔軟に対応できる
落としどころを探しています。

今のところ、DataSetでデータを編集したあとのアップデートは
ADOにお任せして、DataSetと画面上との関係はゴリゴリと行こうかと
思っています。

そこで、SqlCommandBuilderオブジェクトなのですが、
これを使ってInsert,Update,DeleteのSqlを自動生成することは、
判ったのですが、その自動生成するコードを修正しようにも
なんだか判らない引数みたいのがついてしまい困っています。

INSERT INTO cTest( idCtsKey , jpCtsName , nmCtsSort ) VALUES ( @p1 , @p2 , @p3 )

UPDATE cTest SET idCtsKey = @p1 , jpCtsName = @p2 , nmCtsSort = @p3 WHERE ( (idCtsKey = @p4) AND ((jpCtsName IS NULL AND @p5 IS NULL) OR (jpCtsName = @p6)) AND ((nmCtsSort IS NULL AND @p7 IS NULL) OR (nmCtsSort = @p8)) )

DELETE FROM cTest WHERE ( (idCtsKey = @p1) AND ((jpCtsName IS NULL AND @p2 IS NULL) OR (jpCtsName = @p3)) AND ((nmCtsSort IS NULL AND @p4 IS NULL) OR (nmCtsSort = @p5)) )

引数はみてのとおりストアドプロシジャの一部みたいな書き方なのですが、
やりたいこととして、最初の表示時に更新タイムスタンプを読み込み
更新時にタイムスタンプに変更がなければ実行したいのです。
DataSetには、ローカルでの変更前の値もバージョンとして持っているので、
それをうまいこと比較して更新時の排他をやりたいのです。

宗教戦争しているみなさんも判りましたらよろしくお願いします。
0417朝までC#NGNG
補足

質問の補足ですがどこの何をもって@p1なのかといったことと、
DataSetが持っている最初に読み込んだときの値と更新の瞬間の
比較 WHERE OldTimeStamp = NewTimeStamp の書き方を
知りたいと思います。

こういった例の判りやすいソースがありましたらよろしくお願いします。
0418デフォルトの名無しさんNGNG
>>416
仕事の丸投げですか?
お勉強のためのネタとはとても思えない。
0419デフォルトの名無しさんNGNG
>>418 は厨なので答えられない。(w
0420デフォルトの名無しさんNGNG
>416
仕事の手伝いもいいが、丸投げをやさしく受け止めてくれるほど、
このスレの人はやさしくない(アホじゃない)
さあ宗教戦争続けるぞw
0421デフォルトの名無しさんNGNG
イベントの呼び出しって必ずnullのチェックが必要なの?
if(MyEvent != null){ MyEvent(1,2,3); }
どうして1,多の呼び出しには自動的にやってくれるのに0は駄目なのか...
0422デフォルトの名無しさんNGNG
>>421
nullポインタの関数ポインタを実行したときどうなると思う?
C言語なら飛んでる。

この場合デリゲーとだけど。
無用なオーバーヘッドを減らすと言う意味もあるんじゃない?
0423朝までC#NGNG
デリゲートみたいに細かく記述するならnullチェックが要るのは判るけど、
Eventはデリゲートの使い方の一例を使いやすくしてくれているだけなのに
なぜ、nullチェック(nullならイベントを発行せず素通り)だけ
見える形にしているのかと私も不思議に思っています。
なんか応用技があるんだろうか?
0424デフォルトの名無しさんNGNG
>>421
NullPointerExceptionでアプリが終了しないように念のため。
例えばエディタアプリだったら、そのせいで編集してたファイルがパーになったら困るでしょ?
0425デフォルトの名無しさんNGNG
>>424
NullReferenceExceptionの間違い・・・
0426デフォルトの名無しさんNGNG
>>424
Java厨は(・∀・)カエレ!
0427朝までC#NGNG
こんなん見つかりました。ちょっと急いでいるので現象の絞り込みは後日です。


【注意】現象は絞り込んでいません。

問題点:設定ファイルを読み込むクラスで、SqlConnection、SqlCommand、SqlDataReaderを
使って10以上のテーブルを次々と読み込むスタティックのメソッドで9つ目以後はエラーになります。
対策:そのメソッドから別のローカル関数に処理を移して呼び出してやれば解消します。
0428 NGNG
このスレが荒れてきた発端は、>>394の青臭い一言からです。
さあ、みなさん。存分に自分の宗教観を披露してください。
0429デフォルトの名無しさんNGNG
>>427
意味わからん。後、なんてエラーだよ。
0430デフォルトの名無しさんNGNG
UNIX 信者って、学生に多いよね。
金なし、開発力なし、専門知識なしの
アマチュアが使えるのは、UNIX ってだけなのに。
頭の固い教授に、洗脳されちゃうんだろうな。
なんか、昔のマック信者みたい。
0431デフォルトの名無しさんNGNG
.NETはもう終わったな。(ゲラ
http://www.zdnet.co.jp/news/0206/15/nebt_03.html
0432デフォルトの名無しさんNGNG
>>431
おまえ朝から何やってんだ?
0433デフォルトの名無しさんNGNG
.NETによってセキュアになるという口約束は脆くも崩れ去った。
さらばM$。さらば.NET。
0434デフォルトの名無しさんNGNG
1人でネガティブキャンペーンやってるやつがいるようだ。
0435デフォルトの名無しさんNGNG
>>431
ウィルスつきで配布するのも間抜けだが感染できないVS.NETにくっついてくNimdaもなんだか微笑ましいな
0436朝までC#NGNG
>>429
すみません。調べてみたところ私のミスでした。

前に書いた以下の障害の方は、「一発でデザインを決める」以外の対策が見つかりました。

問題:ユーザーコントロールにTextBoxやLabelを複数置くとデザインの画面でSizeが重複していると怒られる。
対策:ソースの全行をカットして別のテキストにペーストする。プロジェクトを保存で終わらせてから立ち上げてソースの全行をペーストする。
0437デフォルトの名無しさんNGNG
CS CODEDOM Parser
http://www.c-sharpcorner.com/Code/2002/June/CsCodeParser.asp
0438デフォルトの名無しさんNGNG
http://research.microsoft.com/programs/europe/rotor/default.asp

RFP Awardsってので何か面白そうなことやってる。
0439デフォルトの名無しさんNGNG
>>433
VS.NETはVC++で書かれているから.NETは関係ないと思うが。
…ってマジレスしとかないと勘違いする人いそうなんで。
0440デフォルトの名無しさんNGNG
>>439
コアはVC++だと思うけど、
GUIとかは.NETだよ。
0441デフォルトの名無しさんNGNG
>>433
Nimdaウイルスの混入と、.NETの安全性はまったく関係がないが?
単に、配布ファイルの中にNimdaが作ったファイルが含まれていたってだけでしょ。

ド素人だと.NETのセキュアが崩壊したみたいに見えるんだろうか。
0442デフォルトの名無しさんNGNG
C#の練習のために2ch用クラスを作ってみようと思った。

2chブラウザ作ってる人いない?C#で。
0443IRON ◆O7DWnnn. NGNG
>442
何人かいるみたい。
俺もいまやってる。
0444デフォルトの名無しさんNGNG
このスレも終わりか?
>>394みたいな奴がいるようじゃ仕方がないか。
0445デフォルトの名無しさんNGNG
>>444
そうかぁ?漏れは394に同意。過去スレより数段レベルが下がってて
♯さんとか何人かの人はもう出てこなくなっちゃった。素人スレなら
たくさんあるから用はないんじゃねーの?
0446デフォルトの名無しさんNGNG
>>445
♯さんって今は名無しでカキコしているんじゃなかったっけ?
0447デフォルトの名無しさんNGNG
sprintfの替りってStringWriter?
とか探してたらStringBuilder.AppendFormatというものを発見。
たいていはこっちで間に合いそうだ。
0448447NGNG
各クラスのToStringで直接フォーマッティングできたのか。気づかなかった。
0449デフォルトの名無しさんNGNG
昔はM$のβ製品に手を出すような酔狂な人等が集まってたけど、
最近はVB厨が大量にこのスレに流れ込んで来たっぽいしねぇ。
0450デフォルトの名無しさんNGNG
>>449
ベータの頃は好きでやってる奴が集まる。→ (゚д゚)ウマー
正式リリースされれば仕事上仕方なくやってる奴が集まる。 → (-д-)マズー
0451デフォルトの名無しさんNGNG
ASP.NET Web Matrix
http://www.asp.net/webmatrix/

WebForms版windes.exeって感じで激しく(・∀・)イイ!
0452デフォルトの名無しさんNGNG
>>451
Managed Codeだけで作られてるみたいね。
しかも律儀に逆コン対策までされてる・・・。
0453デフォルトの名無しさんNGNG
現在の操作してるユーザー名をゲットするクラス?とかってありますか?
もち、探してはいるんですが・・・。みつからん・・・
0454デフォルトの名無しさんNGNG
>>453
System.Environment.UserName
0455デフォルトの名無しさんNGNG
>>453
System.Security.Principal.WindowsIdentityと、そのGetCurrent()も。
0456デフォルトの名無しさんNGNG
何度も質問出てるわりに答えの無いGetKeyStateに対応する.NET API・・・
やっぱり無いのかね
0457デフォルトの名無しさんNGNG
>>454,453
ありがとう。検索下手だなとつくづく思う・・・ボソ。
0458デフォルトの名無しさんNGNG
>>451
IIS不要でASP.NETが動くのがいいね。
MonoのXSPといい、非IISのウェブサーバがもっと増えてほしい。
0459デフォルトの名無しさんNGNG
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref
/html/frlrfSystemEnvironmentSpecialFolderClassTopic.htm

これ使って、お気に入りフォルダへのパスって取得できない?っていうか、
できるんだろうけどわからん・。インスタンス作っても駄目だし・・・
0460デフォルトの名無しさんNGNG
GDI、やたらおそいね。なんでこんなに遅いの?これじゃDirectX使わないとゲームなんか作れないよ。
0461デフォルトの名無しさんNGNG
>>459
こんな感じ?

  Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
0462デフォルトの名無しさんNGNG
>>460
確かにおそいねー。
0463デフォルトの名無しさんNGNG
>>461
マジありがとう!
0464デフォルトの名無しさんNGNG
VS.NETでASP.NETやってますが、
Webコントロールに、いっぱいパラメータつけて
デザイン画面とコード画面を往き来すると、
タグ内の改行が消されて
横スクロールしないと見えなくなってしまいますが、
これはどうしようもないんですか?

きれいに整形したい欲望に駆られて
無駄な努力と知りつつ、改行してしまう毎日・・・
0465デフォルトの名無しさんNGNG
>>464
言語書かないあなたが素敵。
0466デフォルトの名無しさんNGNG
>>464
Ctrl+K,Ctrl+D
0467デフォルトの名無しさんNGNG
>>465
C#スレで何を言うかと思えば(藁
0468デフォルトの名無しさんNGNG
>>466
それだとドキュメントのフォーマットになるんで、
一度デザイン画面を表示さすのと一緒で、
逆にタグが一行にまとめられてしまいませんか?

そうじゃなくて改行したままにしておきたいってこと
なんですが・・・・
0469デフォルトの名無しさんNGNG
>>468
だったらエディタ自体を右端で折り返す設定にすれば?
0470デフォルトの名無しさんNGNG
超ド素人な質問ですいません。

今までVB、Delphiをやってきたんですが、C#を仕事でやることになって意味不明です。
変数の宣言とかどうしたらいいのか・・・。

むか〜しにDOSのC言語でゲーム作った覚えはあるんですがもう忘れちゃって全然駄目です。

お薦めの本やサイトなどでも構いません。

こんな私に救いの手を!
0471デフォルトの名無しさんNGNG
シリアルポートと通信したいんですけど
Streamクラスとかでは無理っぽいみたいな感じなんで
やっぱりWindowsAPIとかいうのを使わなくてはだめでしょうか?
0472デフォルトの名無しさんNGNG
>>470
上司や先輩に相談しろ。
0473デフォルトの名無しさんNGNG
>>470
お前、言語仕様って知ってるか?
0474デフォルトの名無しさんNGNG
>470
金ないならVS.NETのヘルプやチュートリアルでも詠め。
出来るやつはそれだけで十分。(最初はね)
0475デフォルトの名無しさんNGNG
わかる+使えるC#

って本、なかなかわかりやすくて良いかなと思いました。
0476デフォルトの名無しさんNGNG
>>475
出来る!とか、わかる!とかついたタイトルは嫌だな・・・
これでわかるWindows95!みたいで・・・
0477デフォルトの名無しさんNGNG
>>470
本ネタ、ガイシュツ。
そのレベルなら475に禿同。

>>476
=470?
変数宣言できないレベルなら、「わかる」と銘打った本がお似合い。
それがイヤならヘルプ読むなり、本屋にいろいろ立ち読みしに逝け。
0478477NGNG
おっと、失礼。勘違いした。

>475に禿同
すまんがこれは撤回。
漏れも@ITのお世話になっているから同意なんだけど、
サイトの焼き直しという点で萎えたから「禿」はつかない。(苦笑

漏れが禿同したかったのは「始めよう!C#」だった。
#そしてガイシュツ。
0479476!=470NGNG
>>477
ゴメンゴメン、別人なんだわ。

しかし他言語をやってるなら変数宣言くらいちょっとサンプルでも見ればわかりそうなもんだと思うんだけどね。
0480デフォルトの名無しさんNGNG
>>478
悪い、日本語にコンパイルしてくれ。
0481便乗質問NGNG
>478
その@ITというのはなんでしょうか?
0482477NGNG
>>479
こちらこそスマソ。

たしかに「わかる!」がつくとなんか頼りない。

>>480
わかりにくいな。重ね重ね失礼。
どのへんをコンパイルすればよい?

とりあえず本に関して。

http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1484-7
は
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
の焼き直し。

記事自体はかなり役に立ったから、お金に余裕があるのなら本もオススメなんだけど、
でも普通はwebの記事を読めば済むかな、と。

>>481
そういうサイト。詳しくは上記リンクからたどってくれ。
0483デフォルトの名無しさんNGNG
>>482
あ、これだったのね。あの本の内容。

個人的には紙媒体が好きだから本が良いけど\2300はつらいなぁ・・・。
0484デフォルトの名無しさんNGNG
プログラミング Microsoft Windows with C#.NET の発売はまだですか?
0485デフォルトの名無しさんNGNG
よくわかる!
http://direct.ips.co.jp/book/Template/Goods/go_BookstempGR.cfm?GM_ID=1656&SPM_ID=1&HN_NO=00400
0486デフォルトの名無しさんNGNG
DBに内容を絞った本もあるね。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1483-9
0487デフォルトの名無しさんNGNG
というか、今月も新刊イパーイあるね。
0488デフォルトの名無しさんNGNG
.csから.exe作らずに直接実行できないの?
0489デフォルトの名無しさんNGNG
>>488
スクリプティングホストでも作ればできる。
といっても、裏ではテンポラリアセンブリを作ってるけど。
0490デフォルトの名無しさんNGNG
プロジェクトとソリューションの違いがよく分かりません>VS.net
だれか可哀相な漏れに教えてください。
0491デフォルトの名無しさんNGNG
>>490
1つのソリューションには複数のプロジェクトを含むことができる。
0492デフォルトの名無しさんNGNG
プログラミングMicrosoft .NET Frameworkがかなりの良書だと聞いた。
洋書読んだ人いたら感想お願いします。

しかし、調べないやつ多いね。
0493デフォルトの名無しさんNGNG
>>492
この本?
http://www.microsoft.com/MSPress/books/5200.asp
0494デフォルトの名無しさんNGNG
>>493
http://www.microsoft.com/mspress/books/5353.asp
こっちだと思う。MSのサイトからリンクされてたのと発売日からするとね。
@ITの会議室でちょろっとイイってのを見た。
0495デフォルトの名無しさんNGNG
>>491
ワークスペース?
0496デフォルトの名無しさんNGNG
>>495
 Visual C#.netには“ワークスペース”という概念はないんじゃありません?
ms-help://MS.VSCC/MS.MSDNVS.1041/vsintro7/html/vxconVisualStudioSolutionsProjects.htm
0497デフォルトの名無しさんNGNG
結構面白かった。

@IT:連載 One Point .NET クロス言語開発は本当にできるのか?
http://www.atmarkit.co.jp/fdotnet/onepoint/onepoint01/onepoint01_01.html
0498デフォルトの名無しさんNGNG
>>497
吉松さんの記事は読んでて面白いよね。
掲示板でも活躍してるみたいだし。
0499デフォルトの名無しさんNGNG
>>497
新連載って、Inside .NET Frameworkの方はどうなるんだ?(ワラ
0500デフォルトの名無しさんNGNG
>>489
え、WSHでC#つかえるんですか? language="C#"ってやったけどダメだったんだけど、
どうやるの?
0501デフォルトの名無しさんNGNG
>>500
その昔、Don Box氏直伝のCLR Scripting Hostというサンプルがあったんだけど
今は入手不可・・・。
0502デフォルトの名無しさんNGNG
>>501
なんとなくC# Script(?)に興味があったから探してみたけど、その壁にぶつかった。。
だれかローカル保存をしている人、コピペお願い!
0503デフォルトの名無しさんNGNG
>>499
そっちメインで続きますよん。
0504デフォルトの名無しさんNGNG
いまさら気づいたんだけどさ、
デリゲートを他のオブジェクトのイベントに繋ぐと、
そのオブジェクトが死ぬか、明示的にイベントとデリゲートを切り離さない限り、
自分自身はガベコレの対象にならないよね。

class TempObjClass
{
 TempObjClass( Form ownerForm )
 {
  ownerForm.Click += new EventHandler( this.Handler );
 }
 ~TempObjClass(){ /*切り離し忘れ*/ }
 void Handler( object sender, EventArgs e ){}
}

TempObjClass のインスタンスを作るたびにメモリに蓄積していく。
0505デフォルトの名無しさんNGNG
>>504
既出。その通りです。
0506デフォルトの名無しさんNGNG
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/
frlrfSystemConfigurationAppSettingsReaderClassGetValueTopic.htm
なんですが
GetValue("QFitst",String);
では駄目みたいなんです。

TypeっていうのはStringっていう意味では無いの?


って書くのは駄目みたいなんです・・・・
0507デフォルトの名無しさんNGNG
>>506
typeof(String)
0508デフォルトの名無しさんNGNG
>>507
Thanks!
0509デフォルトの名無しさんNGNG
PrintDialog表示したときにユーザーが設定した
印刷範囲や印刷部数で印刷する場合、
PrintDocument→printDocument
PrintDialog→printDialog

if(printDialog.ShowDialog()==DialogResult.OK)
 {
  printDocument.PrinterSettings=printDialog.PrinterSettings;
  printDocument.Print();
 }
だとうまくいかないんですが、PrintDocumentの
PrintPageイベント処理で自分で処理を書く必要あるのでしょうか?
0510デフォルトの名無しさんNGNG
>>509
その通り。QuickStartチュートリアルでも見れ。
0511デフォルトの名無しさんNGNG
string から int などに変換する関数ってない?
atoi みたいなの
0512デフォルトの名無しさんNGNG
Convertってのがあったのか^^;
スレ汚しスマソ
0513デフォルトの名無しさんNGNG
>>511
Int32.Parseとかもあり。
0514デフォルトの名無しさんNGNG
こんばんは。
C#からMySQLへの接続に挑戦しています。
MySQLをインストールして、ODBCもインストールし
ttp://www.csharphelp.com/archives2/archive288.html
上記URLのサンプルを実行してみたのですが、
「MySQLProvプロバイダはローカルコンピュータに登録されていません」
というメッセージが出てしまいます。

ODBCの設定が悪いのでしょうか?
MySQL自体は正常に動いています。

ご教授ください。
よろしくお願いします。
0515デフォルトの名無しさんNGNG
[コントロールパネル]→[管理ツール]→[データソース(ODBC)]
をチェキ
0516514NGNG
ユーザデータソースは
名前:mysql
ドライバ:MySQL
で登録してあります。

もしかして違うタブ(ファイルDSN)とかに設定しないといけないのでしょうか??
ODBCの設定したことなくて、よくわかっていなくてすいません。
0517デフォルトの名無しさんNGNG
長いぞ。前のほうでリクエストが出てたDonのスクリプトホストだが。
///////////////////////////////////////////////////////////////////
//
// DevelopMentor (TM) CLR Script Host Version 0.9 for Windows
// Copyright (C) DevelopMentor 2000. All rights reserved.
//
// Author: Don Box
// Date: August 31, 2000
//
//


using System;
using System.Reflection;
using System.Collections;
using System.IO;
using System.CodeDOM;
using System.CodeDOM.Compiler;

/// <summary>This exception gets thrown when a processing error occurs</summary>
class Ouch : Exception
{
internal Ouch(String s) : base(s) {}
}

/// <summary>This exception gets thrown when there is an invalid argument</summary>
class Usage : Ouch
{
public static String Logo { get { return logo; } }
static String logo = "DevelopMentor (TM) CLR Script Host Version 0.9 for Windows\nCopyright (C) DevelopMentor 2000. All rights reserved.\n\n";
static String s = "Usage: CLRScript [option...] scriptname.extension [arguments...]\n\n"
+ "Options:\n"
+ " //r[eference]:ass Reference this assembly\n"
+ " //f[ile]:file Compile 'file' as an additional source file\n"
+ " //m[ain]:type Type containing Main (defaults to EntryPoint)\n"
+ " //o[ut]:file Generate an on-disk assembly named 'file'\n"
+ " //norun Don't run the program\n"
+ " //Logo Display Logo (default)\n"
+ " //Nologo Prevent logo display: No banner will be shown at execution time\n"
;

internal Usage() : base(logo + s) {}
}

0518sageNGNG
続きだ
/// <summary>EntryPoint is where all of the action is</summary>
public class EntryPoint
{

static void Error(String s)
{
throw new Ouch(s);
}

static String[] StringArrayFromCollection(StringCollection coll)
{
String[] rgs = new String[coll.Count];
coll.CopyTo(rgs, 0);
return rgs;
}

0519sageNGNG
続き
/// <summary>This method runs the correct compiler and returns an assembly</summary>
static Assembly GetAssemblyFromFiles(StringCollection filenames,
StringCollection assemblies,
String outputAssembly,
String mainClass)
{
Assembly result = null;

// guess the language based on extension
String firstFile = filenames[0];
IBatchCompiler compiler = null;
if (firstFile.EndsWith(".cs"))
compiler = new CSharpCodeGenerator();
else if (firstFile.EndsWith(".vb"))
compiler = new VBCodeGenerator();
else if (firstFile.EndsWith(".js"))
compiler = new JSCodeGenerator();
else
Error("Unrecognized extension for file: " + firstFile);

// construct the parameters based on command line args
CompilerParameters prms = new CompilerParameters();
prms.GenerateInMemory = true;
if (outputAssembly == null)
{
prms.GenerateExecutable = false;
}
else
{
prms.GenerateExecutable = true;
prms.OutputAssembly = outputAssembly;
}
prms.MainClass = mainClass;
foreach (String s in assemblies)
prms.ReferencedAssemblies.Add(s);

// run the compiler
CompilerResults results = compiler.CompileAssemblyFromFileBatch(prms, StringArrayFromCollection(filenames));

// process output
if (results.Errors.Count > 0)
{
foreach (CompilerError e in results.Errors)
{
System.Console.WriteLine(e);
}
Error("Compiler Error");
}
else
result = results.CompiledAssembly;
return result;

}
0520デフォルトの名無しさんNGNG
めんどうだな。やめちまうか……
/// <summary>This method cracks the command line arguments, compiles, and optionally runs the program</summary>
static int Process(String[] args)
{
// we need some arguments
if (args.Length == 0)
throw new Usage();

StringCollection filenames = new StringCollection();
StringCollection assemblies = new StringCollection();
StringCollection subArgs = new StringCollection();

String outputAssembly = null;
String mainClass = "EntryPoint";
bool noRun = false;
bool noLogo = false;

// walk through the list marshaling options and filenames
bool foundFilename = false;
foreach (String s in args)
{
if (s.StartsWith("//"))
{
int indexOfColon = s.IndexOf(':');
String option = null;
if (indexOfColon == -1)
option = s.Substring(2).ToUpper();
else
option = s.Substring(2, indexOfColon - 2).ToUpper();

0521デフォルトの名無しさんNGNG
ぐは、名前にsageとか入れちゃってたし、萎えたなぁ
switch (option)
{
case "NORUN":
noRun = true;
break;
case "NOLOGO":
noLogo = true;
break;
case "LOGO":
noLogo = false;
break;
case "R":
case "REFERENCE":
assemblies.Add(s.Substring(indexOfColon + 1));
break;
case "F":
case "FILE":
filenames.Add(s.Substring(indexOfColon + 1));
break;
case "O":
case "OUT":
outputAssembly = s.Substring(indexOfColon + 1);
break;
case "M":
case "MAIN":
mainClass = s.Substring(indexOfColon + 1);
break;
default:
throw new Usage();
}
}
else if (!foundFilename)
{
filenames.Add(s);
foundFilename = true;
}
else
{
subArgs.Add(s);
}
}

0522デフォルトの名無しさんNGNG
後はMainだけだから自分で考えてちょ。

// we need a filename
if (filenames.Count == 0)
throw new Usage();

// print the shameless logo unless supressed
if (!noLogo)
Console.Write(Usage.Logo);

// compile the code
Assembly ass = GetAssemblyFromFiles(filenames, assemblies, outputAssembly, mainClass);

// load the MainClass
Type entryPointShell = ass.GetType(mainClass);
if (entryPointShell == null)
Error("Public class named '" + mainClass + "' not found");

// run that sucker
if (!noRun)
{
MethodInfo method = entryPointShell.GetMethod("Main");
if (method == null)
Error("No entry point defined");

ParameterInfo[] subParams = method.GetParameters();

Object[] passThese = null;
switch (subParams.Length)
{
case 0:
passThese = null;
break;
case 1:
passThese = new Object[] { StringArrayFromCollection(subArgs) };
break;
default:
Error("Main had wrong signature");
}
Object result = method.Invoke(null, passThese);
return result == null ? 0 : (int)result;
}
else
return 0;
}

0523デフォルトの名無しさんNGNG
>>516
試してないけど、該当ページの(3)もちゃんとインストールした?
ODBCだけインストールしてもプロバイダはインストールされないはず。

それ以上詳しく知りたければ↓へ
http://pc.2ch.net/test/read.cgi/tech/1008316065/
0524デフォルトの名無しさんNGNG
テキストボックスのMaxLengthプロパティで最大文字数を6に設定して
いて、キーボードからの入力は制限されるのですが、Button_Clickイベント
(数字ボタン)からの入力は制限されません。何か良い方法はありますか?
0525デフォルトの名無しさんNGNG
>>524
そりゃボタンのイベントハンドラで制御すればいいだけでしょ。
0526デフォルトの名無しさんNGNG
>>525
どうやってやるの?
0527デフォルトの名無しさんNGNG
Button_Clickイベント内で入力を6文字で制限するコードを自力で書くんだよ。
MaxLengthプロパティみたいに自動で制御する方法はない。

…頼むから自力で制御コードを書く方法がわかりませんなんてタコなことを言い出すなよ。
0528デフォルトの名無しさんNGNG
>>517-522 乙!

でも >>2 にある

ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&rm=10

に貼ったほうが楽だったかモナー
0529514NGNG
>>523
ODBCをインストールすればいいだけだと思っていました。
OLEDBをインストールしたらうまくいきました。
どうもありがとうございました。
0530デフォルトの名無しさんNGNG
.configファイルから設定を読みとろうとして・・・
AppSettingsReader Settings = new AppSettingsReader();
string MailerName = Settings.GetValue("Setting1",typeof(string) ).ToString();

exe.configには
<?xml version="1.0" encoding="shift_jis" ?>
<configuration>
<appSettings>
<add key="Setting1" value="setting1" />
</appSettings>
</configuration>
って書いてるんだけど・・・

Setting1が無いって出る・・・・。help!
0531デフォルトの名無しさんNGNG
>>530
これ1行でいけるはず。

  string MailerName = ConfigurationSettings.AppSettings["Setting1"];
0532デフォルトの名無しさんNGNG
ちなみに、>>530の方法でもちゃんと表示されてるけど・・・。
0533デフォルトの名無しさんNGNG
Visualstudio.Netで作成したC#のexeファイルを友人に渡したら「初期化エラー」って出たそうです
何が原因なのでしょうか?

もしかしてFrameWorksが必要なのでしょうか。
0534デフォルトの名無しさんNGNG
>>533
・・・(;´Д`)
0535デフォルトの名無しさんNGNG
>>533 要ランタイム
0536デフォルトの名無しさんNGNG

ネイティブコンパイルでもランタイム要るの?

当たり前か。
0537デフォルトの名無しさんNGNG
>>536
>ネイティブコンパイルでも
C#に何を望んでいるのか・・・。
0538デフォルトの名無しさんNGNG
>>533
.NET Framework 再頒布パッケージ (20.4 MB)
0539デフォルトの名無しさんNGNG
>>532
exe名.configってのを置けば良いんだよね?

531のでやってみたら
Setting1はnullのまんま・・・・。

0540539NGNG
ごめん、できた。
exeName.exe.configって置かないと駄目なんだね・・・
こんな馬鹿な事になかなか気づかなかった。・・・すまん。
0541デフォルトの名無しさんNGNG
>>536
ネイティブじゃないし。
0542539NGNG
.configから読み込む方法はあるみたいですが・・・
書き込むのは無いみたいです・・何か方法あるでしょうか?
0543デフォルトの名無しさんNGNG
>>542
.configの使い道が間違っていると思われ。
あれはインストーラとかが環境設定をするのに使うものでない?

いちおう↓
http://pc.2ch.net/test/read.cgi/tech/1019533942/369
0544543NGNG
>>542
あ〜、これこれ。.configの説明。
ms-help://MS.NETFrameworkSDK.JA/cpguidenf/html/cpconconfigurationfiles.htm
0545デフォルトの名無しさんNGNG
ふつーは、XMLシリアライズ。
だよね?
0546539NGNG
じゃ.iniに変わる物ってどれになるんでしょうか?
0547デフォルトの名無しさんNGNG
.xmlですが。何か。
0548539NGNG
つまり普通にxmlをシリアライズして読み書きするって事ですよね?
0549デフォルトの名無しさんNGNG
C#には特別に.iniにあたる設定保存ファイルを準備してないってこと。
Windowsシステムでは設定はレジストリ使用を推奨だろ。
0550539NGNG
レジストリは嫌いだ・・・・。
ユーザーの中にもレジストリを汚すのに嫌悪感を持ってるやつもいると
思うが。。。。

まぁ、みなありがと。.configでしばらくはやってみる。
0551デフォルトの名無しさんNGNG
>>549 >>550
だから今後の標準はXMLファイルだって。
0552539NGNG
>>551
Setting.xmlに保存しますわ。
となるとXMLも勉強せなならん・・・・参ったな。
0553デフォルトの名無しさんNGNG
>>552
XmlSerializer使えって。

public class Config
{
public string Setting1;
}

// 読み込み
XmlSerializer xml = new XmlSerializer(typeof(Config));
FileStream fs = new FileStream("c:\config.xml", FileMode.OpenOrCreate);
Config config = (Config)xml.Deserialize(fs);
fs.Close();

// 書き込み
FileStream fs = new FileStream("c:\config.xml", FileMode.Create);
config.Setting1 = "Setting1";
xml.Serialize(fs, config);
fs.Close();
0554デフォルトの名無しさんNGNG
>>553
XmlSerializerって既出だけど、重いんだよね。
結局普通にXML使った方がええかも。
0555デフォルトの名無しさんNGNG
普通にと言いますと?
0556デフォルトの名無しさんNGNG
そこまで速度を気にするんだったら普通にStream.WriterでCSVを吐いたら?
もともと.iniファイルってそんなもんだし。
0557デフォルトの名無しさんNGNG
重いって、どれくらい重いんだろう
0558デフォルトの名無しさんNGNG
>>557 調査して報告きぼんぬ。
0559デフォルトの名無しさんNGNG
>>558
調査はしていないが、XmlSerializerはReflectionを使っているのでは?
それなら想像ができる?
0560デフォルトの名無しさんNGNG
class AppConfig
{
 const string FILE_NAME = "App.exe.config";
 const string KEY_CFG1 = "Cfg1";
 public string setting1;

 public static void Save()
 {
  XmlTextWriter tw = new XmlTextWriter( FILE_NAME, null );
  tw.Formatting = Formatting.Indented;
  tw.WriteStartDocument( false );
  tw.WriteStartElement( "configuration" );
   tw.WriteStartElement( "appSettings" );
    tw.WriteStartElement( "add", null );
    tw.WriteAttributeString( "key", KEY_CFG1 );
    tw.WriteAttributeString( "value", setting1 );
    tw.WriteEndElement();
   tw.WriteEndElement();
  tw.WriteEndElement();
  tw.WriteEndElement();
  tw.Flush();
  tw.Close();
 }
 public static void Restore()
 {
  AppSettingsReader ar = new AppSettingsReader();
  try {
   setting1 = (string)ar.GetValue( KEY_CFG1, typeof(string) );
  } catch ( Exception e ) {
   setting1 = "";
  }
 }
}
0561560NGNG
しまつた!!Ageてもた。スマソ
しかもWriteEndElement();ひとつ多い?w
0562デフォルトの名無しさんNGNG
>>560
そこまでして.configを使いたいのかと尋ねてみるテスト。
DLLとかを別ディレクトリに置いていて(.configでの指定が必要なはず)、
もし.config書き出しに失敗したら、そのプログラムは起動できなくなるぞ。
悪いことは言わん。Restoreメソッドをちゃんと書いて、
任意のファイルに出力・読み込みができるようにしたほうがよいよ。きっと。
0563560NGNG
>>562
そうかもねー。
まぁ、俺は仕事では全然C#使ってないから、
お遊びなんで許してちょ。
0564デフォルトの名無しさんNGNG
C#はランタイムが必要と聞いたのですがどのように配布したら良いのでしょうか?
ランタイムパッケージが有るのでしょうか。

友人の家ではC#実行ファイルが動作しないもので。
0565デフォルトの名無しさんNGNG
>>564
http://www.microsoft.com/japan/msdn/net/deployment/dotnetframedepguid.asp
まずMSDNくらい読め。
0566デフォルトの名無しさんNGNG
>>565
ここは相談室です
0567デフォルトの名無しさんNGNG
>>566
ワラタ
0568デフォルトの名無しさんNGNG
メモリの使用状況を出力させるプログラムを考えてるのですが…
どなたか教えてください。
どうしてもプロセスだけのメモリ取得になってしまいます。
0569デフォルトの名無しさんNGNG
>>568
自分で作るな。いくらでもある。
0570デフォルトの名無しさんNGNG
>>658
ここは相談室です
0571デフォルトの名無しさんNGNG
>>658 ×
>>569 ○
0572デフォルトの名無しさんNGNG
>>566 >>570
相談系番組の中尾彬みたいなもんだ。
0573デフォルトの名無しさんNGNG
C#ではJavaでいうJUnitのようなものはありますか?
0574デフォルトの名無しさんNGNG
>>573
NUnit
0575デフォルトの名無しさんNGNG
>>533
>>564
答えを言うのは簡単なんだけど、後学のために。

ヘルプやらサイトやらで、.NETの仕組みや
using System;
がなんなのか(なにをロードしているのか)を調べてみるべし。
自ずと「なにが必要なのか」がわかってくると思われ。

いちおうこの辺かな?
http://www.atmarkit.co.jp/fdotnet/special/dotnetframework_overview/dotnframewk_over03.html
http://www.atmarkit.co.jp/fdotnet/special/dotnetframework_overview/dotnframewk_over04.html

まあ相談室なんだしw、一番単純な答えを言っておくと、
「友達にWindows Updateをさしる」です。
見るからに必要そうなモノが見つかるはず。

ちなみに>>565のリンクは、M$鯖に接続できず確認できませんでした。(苦笑
0576デフォルトの名無しさんNGNG
>>575
.NET Framework アプリケーション配布ガイド
Microsoft Corporation

January 2002
日本語版最終更新日 2002 年 5 月 20 日


まぁ一応、ね。
0577デフォルトの名無しさんNGNG
VS.NETベータ2版が削除できないのですが・・・原因分かる人居ませんか?
「プログラムの追加と削除」からVS.NETを選択、メニューから「2」を選択した後に
「VS.NETの削除」を選択。処理が始まるのですが、「セットアップに失敗しました」と
エラーメッセージが。何度やっても消せないです。
これ消さなきゃ製品版が入れられないのに・・・
ちなみに当方XPproを使っています。
0578デフォルトの名無しさんNGNG
>>577
それは、もうOSから再インストールしかないらしいですよ
0579デフォルトの名無しさんNGNG
>>577
betaが削除できない人って結構いるはず。
レジストリを駄目もとで消してやったら成功したってのも聞いた事あるが。
0580デフォルトの名無しさんNGNG
>>577
俺はアンインストは問題なくいけたのに、Terraがはいんなかったよ。
beta2が入ってるって怒られて。mscoree.dllもちゃんと手動で削除してから、
SDKとSP1入れたのにさ。
0581デフォルトの名無しさんNGNG
>>577 は
578〜580の中のどれを選びますか?
0582デフォルトの名無しさんNGNG
>>581
経験者的には578を強くお勧めする。
0583デフォルトの名無しさんNGNG
>>582
俺も、経験からいって578だね!!
0584デフォルトの名無しさんNGNG
っていうか、OSクリンインストできるん良い機会だし普通に578でしょ、
0585577NGNG
回答どうもです。
とりあえず>>579-580を試してみます。
それでダメならOS再インストールしたほうがいいんですか?
・・・何か騙されてるような・・・
0586デフォルトの名無しさんNGNG
>>585
俺は再インストしました。
見事にバックアップ忘れましたが、何か?
0587デフォルトの名無しさんNGNG
Don Box氏のページ
http://www.gotdotnet.com/team/dbox/
0588デフォルトの名無しさんNGNG
Internet Mobile Toolkit で携帯用サイト作っているんですが、
WML形式で出力したときにページのデザインによっては
強制改ページされてしまいます。なんかカードとかいうらしいんですが。

これをやめさせる方法ご存知の方いない?
0589ヅラトンパNGNG
ヅラ
0590デフォルトの名無しさんNGNG
>>588

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mwsdk/html/mwlrfBreakAfterPropertyCommon.asp
0591デフォルトの名無しさんNGNG
System.Web.UI.LiteralControl
と
System.Web.UI.WebControls.Literal
って機能的に何が違うんですか?
0592デフォルトの名無しさんNGNG
>>591
前者は暗黙的に作られる。
後者は自分で明示的に作る。
0593デフォルトの名無しさんNGNG
あ、LiteralControlはコード(.cs)の方では明示的に作れるか。失敬。
0594デフォルトの名無しさんNGNG
>>103
のやっている事をやろうとしてるんですが
public Form1 forma;
っていうのはどこに書けば良いんでしょうか?
どこに書いてもはじかれます。

0595質問した俺NGNG
>>594
class Form1のなかに。

static付けてね。
0596デフォルトの名無しさんNGNG
Formにstaticをつけるって言う事はどういう効果が出るんですか?
イマイチSDKみても意味わからなくて・・・
0597デフォルトの名無しさんNGNG
>>596
Mainはstaticなメソッド。
インスタンスが無くても使用できる。
そこから使用できる変数もインスタンスが無くても使えなくてはならない。
そこでstaticを付ける。
0598デフォルトの名無しさんNGNG
なるほど!言われてみると分かった。サンクス!
0599デフォルトの名無しさんNGNG
>>588
これは改行であって改ページではないのれす…
0600デフォルトの名無しさんNGNG
>>580誤り>>590です。
自己レスしてどうすんだ…。
0601デフォルトの名無しさんNGNG
スタートアップにショートカットファイルを置きたいですが、
ショートカットファイルを開いてみたら文字化け状態なんですね・・・。

ショートカットって作れない?
0602デフォルトの名無しさんNGNG
>>601
対決スレでショートカットのお題があったよ。
http://pc.2ch.net/test/read.cgi/tech/1022662451/l50
0603デフォルトの名無しさんNGNG
VB理解できん。
ショートカットの作り方求む・・・・。
0604デフォルトの名無しさんNGNG
誰か移植してやれ
0605デフォルトの名無しさんNGNG
>>604
つぅかわざわざC#でやることか?
0606デフォルトの名無しさんNGNG
すみません、VB一切理解不能です。
DimもSDK読んでも??でした。
0607デフォルトの名無しさんNGNG
>>606
つぅかC#スレで言うようなことか?
0608デフォルトの名無しさんNGNG
>>601
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1507-x
によると、WSHのCOMを使って作れとのこと。

ていうか文字化け状態ってなに?
0609デフォルトの名無しさんNGNG
>>608
ありがと。とりあえず立ち読みしてみる。っていうか、
近くにC#の本なんて扱ってる本屋無いから
かなり遠くまで行かんと・・・。

文字化けってのはlnkファイルを無理矢理FTPソフトで
拡張子変えて開いてみたら文字化けって意味。
ショートカットファイルそのものもインターネットショートカットみたいに
ただの文字情報だけのファイルだと思ってたわけ。

googleで検索したら出てきたし助かったわ。長くなってゴメン。
0610デフォルトの名無しさんNGNG
>>609
もともとバイナリだよ。文字化け以前に、文字じゃない。

ていうか確認。そのショートカットファイルは不正だったの?
実行できなかった?
使用上問題がないのなら、そのまま使えばよいし。
ついでにその部分のソースの提示希望。
0611デフォルトの名無しさんNGNG
使用上は問題無い。っていうか、いつも使ってるショートカットファイル。
俺がやろうとしてるのは現在のexeへのショートカットをスタートアップ
フォルダに作ろうとしてる。

lnkを拡張子変えて開いたらProgram Fileとかいう文字は読めたよ。
0612デフォルトの名無しさんNGNG
>>611
こんな感じ?

using System;
using System.IO;
using System.Reflection;
using IWshRuntimeLibrary;

class Test
{
  [ STAThread ]
  public static void Main() {
    WshShell shell = new WshShellClass();

    object o = "Startup";
    string assembly_path = Assembly.GetExecutingAssembly().Location;
    string shortcut_path = shell.SpecialFolders.Item(ref o) +
      "\\" + Path.GetFileNameWithoutExtension(assembly_path) + ".lnk";

    IWshShortcut shortcut = shell.CreateShortcut(shortcut_path) as IWshShortcut;
    shortcut.TargetPath = assembly_path;
    shortcut.Save();
  }
}

// tlbimp C:\WINDOWS\system32\wshom.ocx
0613デフォルトの名無しさんNGNG
>>611
>lnkを拡張子変えて開いたらProgram Fileとかいう文字は読めたよ。

そりゃそうだ。文字列をわざわざコード変換して保存する必要はないよ。
でも、その部分だけ読めたからってどうってこともないだろ?

文字にならないコードも含まれているから、バイナリ。
人間に可読性がないから、バイナリ。
バイナリエディタを使ってみることを激しくおすすめ。


つーか、

601>ショートカットって作れない?
>使用上は問題無い。

ショートカットを作れないのではなく、
問題は単にショートカットの出力位置だと思われ。
0614デフォルトの名無しさんNGNG
>>612
うぉ!助かります!WSHやってたけどさっきからエラー出まくりで。
けど、ここの人ホントみんなすごいね・・・。
俺が無能なだけだとも思うけど・・・。

とりあえず、コード見ながらどういう処理か少し考えて見ます。
0615デフォルトの名無しさんNGNG
>>603
http://www.msjogren.net/dotnet/eng/samples/dotnet_shelllink.asp
大昔に見つけたやつ。
C#からIShellLinkインタフェースを利用してショートカットを操作。
0616デフォルトの名無しさんNGNG
結構海外にはC#とか.netのサイトってあるもんだね。
0617デフォルトの名無しさんNGNG
>>613
って言うかショートカットはSJIS、.NETはunicode
0618デフォルトの名無しさんNGNG
>>617
知ったかする前にショートカットファイルの中身を確認しろよ
0619デフォルトの名無しさんNGNG
VC++では __LINE__や__FILE__ マクロでソースファイル名、ソース中行数を
コードに埋め込めたけど、C#にはそういうのは無いんですか?

ログファイルに使いたいのですが…。
0620デフォルトの名無しさんNGNG
>>619
さぁ
0621デフォルトの名無しさんNGNG
617はショートカットファイルをSJISだと思っているって事ですか??
0622デフォルトの名無しさんNGNG
[customcommand("usage", "モジュールで使用できるコマンド一覧を取得します。", "<module-name> usage")]

とまぁこんな属性を作ったんですが、↑の文字列を .resx から拾おうと画策してます。が、

[customcommand("usage", resources.GetString("custcom.usage.desc"), resources.GetString("custcom.usage.usg"))]
とやるとコンパイルエラーになります(定数でないとだめらしい)。

どなたか、いい知恵ありませんでしょうか・・・
0623デフォルトの名無しさんNGNG
>>622
[customcommand("usage", "custcom.usage.desc", "custcom.usage.usg")]
にして、属性を吸い出す側でGetStringするとか。
0624デフォルトの名無しさんNGNG
初歩っぽい質問なんですがリストビューで無くてデータグリッドの違いは
何なのでしょうか?
データ扱う場合はデータグリッドって解釈でいんでしょうか?
0625デフォルトの名無しさんNGNG
XML使ってデータ保存するならデータグリッドの方が良さそうだけど。
かなりややこしいね、これ。
0626デフォルトの名無しさんNGNG
メモリ上にDB作るようなもんだしねえ・・・
なんらかのスキーマと連動するような仕組みがあると
すげえ便利なのかもしれん。やったことないけど。
0627622NGNG
>>623 サンクス!
で、今やってるんですが、まだリソースを拾えてません。

customcommandAttributeを定義してるのは、共通ライブラリ的な
位置付けで作ってあるアセンブリで、このアセンブリからは実際に
customcommand属性を使っているクラス名を把握できません。つまり、

[AttributeUsage(AttributeTargets.Method)]
public class customcommandAttribute : System.Attribute
{
 private ResourceManager resources;
 public string description;
 public string usage;

 public customcommandAttribute(string description, string usage)
 {
  resources = new ResourceManager(■■■■);
  this.description = description;
  this.usage = usage;
 }
}

の ■■■■ に何を入れればいいかが分からないのです(泣
customcommand属性を定義してあるアセンブリに .resx を入れるのは
避けたいのですが(というか、属性を使っているアセンブリに入れたい)、
いい考えが浮かびません・・・
0628デフォルトの名無しさんNGNG
>>625,626
宇宙仮面とかのサイトみてるとね・・・・。
どっちで作ろうか迷うね。。。。
0629デフォルトの名無しさんNGNG
>>627
attribute内部でResourceManager使うんじゃなくて、
attributeを拾う側(GetCustumAttribute()を呼び出す側)で使ってみては。
0630デフォルトの名無しさんNGNG
>>629 サンクス!出来ましたっ!

ちなみにVS.NETでリソースファイルを手動でビルド対象に含める際は、
.csprojにDependentUpon項目が自動でつかないので少しハマりました。

<File
  RelPath = "plugin1.resx"
  DependentUpon = "plugin1.cs" ← これを手動で追加した
  BuildAction = "EmbeddedResource"
/>

とやってあげないと、
ResourceManager resources = new ResourceManager(this.GetType());
みたいな型指定でのりソース取得に失敗するようです。(埋め込まれた
りソース名が「(クラス名).(リソースファイル名).resouces」になってしまう)
0631デフォルトの名無しさんNGNG
チュートリアルのサンプルをやって勉強しているのですが、
非常に不思議に感じています。
private メンバのついた構造体の存在意義ってなんなんでしょう?
struct1.cs を見ていると new するのならばメンバ変数を 0 で初期設定するから
問題なさそうですが、そのまま生成するとメンバが初期化できません。
当然エラーとなりますが、構造体の強みは new しないことによる高速性ですが
本末転倒な気がしてならないです。
どういう利用価値があるんでしょうか?
0632デフォルトの名無しさんNGNG
>>631
カプセル化しつつスタック上で効率よく、ってのがあってもいいんじゃないの?
0633デフォルトの名無しさんNGNG
既存コントロールと、独自インターフェイスを継承した拡張
コントロールを作って、既にデザインしてあるWinフォームの
コントロールを拡張コントロールに変えると、デザイン画面に
表示されなくなります。

何とか表示する方法はないでしょうか?
たとえば、

public interface IFoo
{
string hage { get; set; }
}

public class MyTextBox : TextBox, IFoo
{
private string _hage;
public MyTextBox()
{
}
public string hage
{
get { return _hage; }
set { _hage = value; }
}
}

こんな内容のクラスライブラリを作って、フォームに貼り付けた
テキストボックスを、MyTextBoxに変えると、デザイン画面から
消えます。

実行すれば期待通りに動くんですが、フォームデザイン画面が
つかえないと面倒だなぁと思いまして。

たすけてくだしゃい。
0634デフォルトの名無しさんNGNG
>>633
メンバ定義のところと,そのメンバのインスタンス作成のコンストラクタの両方を変えてみては?

# 既に変えていたらスマソ
0635デフォルトの名無しさんNGNG
>>633
おいらもほぼ同じことやってるけどデザイン画面に出てるよ。
#region Windows Form Designer generated code 〜 #endregion
の内部には手を加えないようにすれば大丈夫だと思うが・・・

根拠レスだけど、一度デザイン画面から消えたのは、元のコードに
戻してもフカーツしないような気が・・・というか俺はも一度TextBoxを
配置しなおして直しただけなんだけどね。

あまりアドバイスできなくてすまん。
0636デフォルトの名無しさんNGNG
デザインウィンドウを一度閉じて開けば?
0637デフォルトの名無しさんNGNG
>>634
ありがとうございます。

どちらも変えてみたんですが、だめでした。
0638デフォルトの名無しさんNGNG
>>635

えぇぇ、出てるんですか?

確かに #region Windows Form Designer generated code 〜 #endregion
の中の newしている行を、自分のクラスをnew するように修正してしまいましたが...

そこでやらずにできるっちゅう事でしょうか?
0639635NGNG
>>636 それが直らなかったんすよ。。。
InitializeComponentの中身をかなり書き換えてしまって、
デザイナに表示されなくなったもんだからバックアップから
コードコピペで戻したんだけど、何度か閉じて開いてもダメ
ですた。コピペした元コードが腐ってた可能性もあるけど…

#と悩むより、ばっさり削って再配置のほうが早いかなぁと。
0640デフォルトの名無しさんNGNG
>>639
そりゃ、再表示しても表示されないならコードが腐ってるんでしょ。
0641635NGNG
>>638
>そこでやらずにできるっちゅう事でしょうか?
いや、そこでやって出来てます。

MyTextBox textBox1 = new MyTextBox(なんか引数);
とかやってたら、↓次のことを試してみるといいかも。おいらはそれで出来た。

(名前空間).MyTextBox textBox1 = new (名前空間).MyTextBox(); //引数なしで呼んでみる
0642デフォルトの名無しさんNGNG
そのフォームのソースを丸ごとカットして別のエディタにペーストして保存。
ソースの無いフォームのまま実行して終了。
そして、再度プロジェクトを開いて保存していたソースをペースト
それでどう?
0643635NGNG
>>640 認めたくないものだな。自分の厨房ゆえの過ちというものを・・・
>>642 次そういう機会があればトライしてみます。。
0644デフォルトの名無しさんNGNG
>>643
誰でもあることさ。
俺はタグ閉じ忘れでほぼ完成してたWebFormをお釈迦にしたよ
0645デフォルトの名無しさんNGNG
>>631
RomanNumeral まで行ったところで、自己解決

class Test
{
  struct Hoge
  {
   private int v ;
   public Hoge( int a )
   {
    v = a ;
   }
  }
static public void Main()
{
   Hoge a ;
   a = new Hoge( 7 ) ; // ヒープは使われず、単にa のコンストラクタが呼ばれる
  }
}

C++ とはなかなか勝手が違うもんです。
0646デフォルトの名無しさんNGNG
>>645
構造体ってnewする必要あったかいな?
0647デフォルトの名無しさんNGNG
>>646
v に代入しないで a 使ったらエラーじゃん。
v は private だから外からはアクセスできんでしょ
0648デフォルトの名無しさんNGNG
>>647
class Test
{
  struct Hoge
  {
   public int v ;
   public Hoge( int a )
   {
    v = a ;
   }
  }
static public void Main()
{
   Hoge a ;
   a.v = 32;
  }
}

通ったけど?例外無しに。
引数無しのコンストラクタは認められないみたいだけどね。

「構造体に明示的なパラメータのないコンストラクタを含めることはできません。」
0649デフォルトの名無しさんNGNG
>>648
public int v ;
だから流れ読めよ
v は private
0650デフォルトの名無しさんNGNG
ユーザーコントロールだけじゃなくて、フォームの継承も
デザインで表示できなくなったりするね。
これってウチだけの現象?
0651デフォルトの名無しさんNGNG
俺も起きる・・・。例外・・・・バグか?
この前晩までどうって事も無かったんだけど、何もしてないのに
翌日になったらフォームのデザインがエラーで表示されなくなった時はマジ
たちなおれんかった。なんとか直ったけど。
0652デフォルトの名無しさんNGNG
VSをいったん終わらせるともう駄目なんだよね。
フォームの継承ができなくてがっくり。
全然話題にならないから自分だけかと思ったよ。
0653デフォルトの名無しさんNGNG
フォームにインターフェース継承をして実装したけど、大丈夫だったよ。
0654デフォルトの名無しさんNGNG
constなtableを作る方法は、Stringしかできない?

0655デフォルトの名無しさんNGNG
>>654
そのクラス継承してセッターを実装しないとか。
0656デフォルトの名無しさんNGNG
前々から思って異端だけど、なんでC#にはconst配列がないんだろう?
0657デフォルトの名無しさんNGNG
>>656
0658656NGNG
>>657
いいたいことがあるなら、ちゃんと書いてくれ(w
0659デフォルトの名無しさんNGNG
:::::::::::::::::::::::::::::. .☆ .:::::::::::::::::::::::::::::::::::::::::::::::::::..:.....:::.::...::::::::::::::::::::::
:::::::::::::::::::::::::::::::::..:..:::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::
::::::::::::::::::::::::。::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::
 ̄`''--、__,,,_,,,,__,;;w--─--、___:::::::::::::::::::::::::::::::::::::::::::::::::::,,;;;;;;;;
    _  ___  ____--─ー──~'''~`─-、._,,、w─''"" ̄  ̄
─''"~   ̄   ̄    ̄^ー-‐''''"~~~`‐-‐''~^ヘ,,__,, _____

        / ̄\
        ∨***\
        ∠〃~ヽヽ>     /⌒ヽ
        ||| #゚ ー゚)||    (ノハヽ)○
        / つ☆と)ヽ   (^▽^ )⌒ヽ
       ∠_, (^)(^)> ☆☆★と.,,ノ__ )
゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"""゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"""
0660652NGNG
おお!すくなくともフォームの継承は私のミスが原因でした。
継承元と先で同じ名前のイベントを作っていて
それでのエラーでした。
エラーは以下のモノでした。
ms-help://MS.VSCC/MS.MSDNVS.1041/vbref/html/vberrduplicatedeclarationofmember{0.htm

しかし、ユーザーコントロールで出る同様のエラーは
原因がわからないままです。継承なんかしてないし・・・
0661デフォルトの名無しさんNGNG
ms-help://MS.MSDNQTR.2002APR.1041/cpguide/html/cpconasynchronousprogramming.htm
↑この非同期呼び出しっていうのと、スレッドの違いがよく分からない・・・
0662リンク先読まずにレスNGNG
>>661
内部で持ってるスレッドを利用して非同期な呼び出しをしてくれる
ってTechEDでいってた。
0663661NGNG
>>662 サンクス!
非同期呼び出し(Async〜)にしても、
内部的にはスレッドを利用してるんですか。
本質的にはあまり変わりはないって感じですね…
0664リンク先読まずにレスNGNG
>>663
スレッドというものを意識しなくても、単に非同期にメソッドを
呼び出したいっていう要求をみたせる(内部でスレッドが使用されない
機構もありうる?)など云々いってたけど、
確かに似たようなもんだと思う。
0665デフォルトの名無しさんNGNG
>>664
>スレッドというものを意識しなくても、単に非同期にメソッドを
>呼び出したいっていう要求をみたせる
必要性がなければスレッドを直でやらなくてもAsync〜の方が
簡単に非同期処理ができるよってことのようですね。
ヘルプ読んでて、どちらでコード組むかでちと迷ってたんですが、
Async〜の方で逝ってみたいと思います。
0666デフォルトの名無しさんNGNG
ワーカースレッドプールを作る前に検討したほうがよさそうですねえ
0667デフォルトの名無しさんNGNG
Standard Edition で socketクラスを使えますか?
0668デフォルトの名無しさんNGNG
>>667
取りあえず.netの事勉強しなされ・・・。
.NNETFrameworkにあるクラスは無条件に使える。
って言うかMFCでもそんな差別無かったろうて・・・。
0669デフォルトの名無しさんNGNG
>>668
試してみたら使えました。
あんがと。
0670デフォルトの名無しさんNGNG
users の C# メーリングリストに C# のグラフィック描写は遅いって書いてあったけど、
これってGDI+が 汎用性>速度 で設計されてるせい?
それとも、ネイティブコードじゃないから遅いの?
いくら users のメーリングリストでも、OnPaint イベントをやめて
OnPaintBackground イベント使うようにしたら解決するとか言う落ちじゃないよな?
0671デフォルトの名無しさんNGNG
>>670
まあC++ベースだし、機能も多いから遅いのは確かなんだろうけど。
ちなみにDX9で速度改善がされてるという噂。
0672デフォルトの名無しさんNGNG
>>671
>まあC++ベースだし

??
0673デフォルトの名無しさんNGNG
>>672
http://msdn.microsoft.com/library/en-us/gdicpp/cpp_aboutgdip01_4bas.asp

>GDI+ is an application programming interface (API) that is exposed
>through a set of C++ classes.
0674_NGNG
パイプとかはどの辺のクラスを探せばいいですかねえ?
裏でコンソールアプリを実行させて、
表示内容をまるまる取得したいと考えています。
0675633NGNG
いやー、うまくいきました。
継承したコントロールを含むDLLへの参照をいったん削除して、参照しなおしただけでOKでした。

デザイン画面でばっちりです。
0676デフォルトの名無しさんNGNG
>>674
こんなサンプルがあるよ。

http://www.gotdotnet.com/userfiles/jhawk/NamedPipeChannel.zip
0677デフォルトの名無しさんNGNG
>>674
そのコンソールアプリも自分で書いてるなら、
プロパティで公開すれば。出力先を指定できるように。
0678デフォルトの名無しさんNGNG
>>674
ProcessStartInfoとProcessあたりを見るよろし。
0679678NGNG
こんな感じかな?デッドロックにはくれぐれも要注意!

  ProcessStartInfo info = new ProcessStartInfo("Hoge.exe");
  info.UseShellExecute = false;
  info.RedirectStandardOutput = true;

  Process p = new Process();
  p.StartInfo = info;
  p.Start();
  string s = p.StandardOutput.ReadToEnd();
0680デフォルトの名無しさんNGNG
初心者なんですが、統合環境の使い方の本で良い本があったら紹介してもらえませんか?
0681デフォルトの名無しさんNGNG
>>680
ない。
0682デフォルトの名無しさんNGNG
総合環境というのがどういう意味を指すのかがよくわからん。
0683デフォルトの名無しさんNGNG
>>682
総合じゃなくて統合。IDEの直訳でしょ。
0684デフォルトの名無しさんNGNG
2つのbyte[]の配列が等しいかどうか知るにはどうしたらよいでしょうか?
つまり、memcmp()のようなことがしたいのですが・・・。
0685デフォルトの名無しさんNGNG
>>684
byte [] test = (なんかのデータ)';
test.Equals(比較したいbyte配列);

とかは?
0686デフォルトの名無しさんNGNG
両方falseだね。ということは、自前で比較か・・・。

using System;

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

    Console.WriteLine( b1 == b2 );
    Console.WriteLine( b1.Equals(b2) );
  }
}
0687デフォルトの名無しさんNGNG
||           : ::.゜ ゜ ゜゜。・。゜.゜..
||   ミ /彡       :::.゜。 ゜・。゜゜. .  . .
||..ミ、|ミ //彡     夏休みにC#おぼえられますように。☆彡
||ミ.|.ミ/ ./.|            :::.゜。 ゜・。゜゜. .  . .
||.|//|.  [] ∧v∧          : ::.゜ ゜ ゜゜。・。゜
||/.  []    ( #゚ー゚)           :::.゜。 ゜・。゜゜. .  . .
||┬┬┬┬┬-O∞O‐┬┬
||‐┼┼┼┼┼‐┼┼┼┼┼
||┼┼┼┼┼┼‐┼┼┼┼┼
0688デフォルトの名無しさんNGNG
夏休みなんてないわい!
0689685NGNG
>>686
調べもせずに書いてスマンかった。
Falseが返るね・・・
0690デフォルトの名無しさんNGNG
>>686
Equalsもfalseなんだ・・・なんか変な感じ
0691684NGNG
>>686
やっぱりこれっきゃないですか。ありがとうございます。
なんか、ありそうでないんですね。これ。
0692デフォルトの名無しさんNGNG
マイクロソフト以外にC#開発ツールは、
でるのでしょうか?
0693デフォルトの名無しさんNGNG
一言言わせろゴルァ!!
FormのHelpButtonプロパティが機能しないっちゅーねん
一度Formをローカライズ可能にすると並みの方法じゃ元に戻せないんですけど
突然色分け&メンバ表示が壊れるのはなぜですか?
0694デフォルトの名無しさんNGNG
>>693
これじゃないの?

(ヘルプより)
>最大化ボタンまたは最小化ボタンが表示されている場合は、 HelpButton
>プロパティの値は無視されます。
0695デフォルトの名無しさんNGNG
>>690
デフォルトのEqualsは参照の比較を行ってるだけだから、そりゃ一致しない。

0696デフォルトの名無しさんNGNG
うげー。Petzold本の翻訳者は・・・

http://www.amazon.co.jp/exec/obidos/ASIN/4891002921/qid%3D1025946511/sr%3D1-2/ref%3Dsr%5F1%5F2%5F2/249-0866861-8688352
http://www.amazon.co.jp/exec/obidos/ASIN/489100293X/qid%3D1025946511/sr%3D1-1/ref%3Dsr%5F1%5F2%5F1/249-0866861-8688352
0697デフォルトの名無しさんNGNG
長尾高弘さんにやってほしかった・・・
0698デフォルトの名無しさんNGNG
>>697
どうして?
長尾高弘はプログラミング言語C++の翻訳でボロクソに言われてるよ
0699デフォルトの名無しさんNGNG
誰が訳しても叩かれる罠
0700デフォルトの名無しさんNGNG
なんかComboBox変じゃないですか?
マウスでテキストの範囲選択が出来ないとかコンテキストメニューが出せないとか。
漏れだけ?
0701デフォルトの名無しさんNGNG
>>700
漏れもそう。既出だがどうすりゃいいかは、わかんない。
0702デフォルトの名無しさんNGNG
http://search.goo.ne.jp/search/search.jsp?MT=c%23&SM=MC&DC=10&IM=1

gooで、サイト検索かけると上記のようにサイトのスクリーンショットがでるんですけど、
あれっていうのは一体どういう仕組なんでしょうか。
いや、仕組っていうか、どうやりゃ、ああいう風なスクリーンショットが自動的にとれるかが知りたいっていうかなんていうか。
昔、ASP.NETのサンプルかなんかで見かけた覚えがあるんですが、知ってるからいましたら教えてください。
0703デフォルトの名無しさんNGNG
>>696
アスキー出版だったらある程度は安心できるんだけど、日経BPかあ。
あんまり期待しないでおこう。
0704デフォルトの名無しさんNGNG
2ちゃんで叩かれてもなあ・・・
0705デフォルトの名無しさんNGNG
>>702

>>587
0706デフォルトの名無しさんNGNG
>>692
既出だが、SharpDevelopとか。
0707デフォルトの名無しさんNGNG
>>703
最近アスキーから良書出てない気が・・・

http://bpstore.nikkeibp.co.jp/msp/book/03030/03030.html
こっちを俺は買う予定。

696は立ち読みしてから買うか判断。けど、なんか目次見てると
内容が薄いような気がするのは俺だけ?
0708デフォルトの名無しさんNGNG
>>702
これかな?

http://www.gotdotnet.com/playground/services/ThumbnailGen/ThumbnailClient.aspx
0709デフォルトの名無しさんNGNG
>>485の本、ドキュソ本かと思ったら読み物としては意外と良かった。
少なくともこの本よりは。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1349-2
0710デフォルトの名無しさんNGNG
>>707
15日じゃなくて、実際は明後日発売だそうです。
見に行ってみるか
0711デフォルトの名無しさんNGNG
『Applied〜』レベルの知識が要る人ってどれぐらいなんだろう・・・。
0712デフォルトの名無しさんNGNG
おいおい、それ知らなきゃコード書けんだろ。
0713デフォルトの名無しさんNGNG
>>712
そうなの?じゃ、そんな深い内容じゃないんだ。
0714デフォルトの名無しさんNGNG
あー、深くはないね。基本。
0715デフォルトの名無しさんNGNG
O'Reillyもいよいよ出てくるみたいだね。

http://www.oreilly.co.jp/soon.htm
0716デフォルトの名無しさんNGNG
BookReview 吉松 史彰
プログラミング Microsoft .NET Framework
http://www.atmarkit.co.jp/fdotnet/bookreview/prog_dotnetfw/prog_dotnetfw.html
0717デフォルトの名無しさんNGNG
>>716
監訳者本人が書評書いちゃ駄目じゃん。(藁
0718デフォルトの名無しさんNGNG
ほんとだ。。。
自分で自分の本の事書いてもね。。。
0719デフォルトの名無しさんNGNG
>>715
いくらぐらいなるんだろ・・・・。
0720吉 松 必 至 だ な (藁NGNG
まぁゴーストライターに全部書かせて、金を積んで新聞の書評欄に宣伝載せる
どこぞの経済評論家のソレからすれば目くじら立てるほどでもないかと・・・
0721デフォルトの名無しさんNGNG
あまり自分で自分の本ほめるとデムパ度ランクがT田氏と並べられてしまうぞ。
0722sNGNG
しかし、デザイナでユーザーコントロールをフォームに貼り付けただけでOnLoad()を実行してしまうのはいかがなもんかと。しかもプロジェクトをロードするたんびに実行します。
0723デフォルトの名無しさんNGNG
>>716
あ、この人の講演TechEdで聴いた。
最後にきっちり自分の本の宣伝してたよ。
0724デフォルトの名無しさんNGNG
ん。。。ますます駄目人の予感。
けど、本そのものはかなりの良書と聞いた。あとはこの人の日本語能力に
かけるしかないね。。
0725デフォルトの名無しさんNGNG
で、みなはどうするのよ。
プログラミングC#は内容が薄い可能性。
.net Frameworkは翻訳者が・・・・。

立ち読みしに電車で行かないとならないんで・・・・
0726デフォルトの名無しさんNGNG
>>725
やっぱり.プログラミング Microsoft NET frameworkでいいんじゃない。
Advanced Windowsの.NET版だと考えれば・・・。
も一つのほうは様子見して、金に余裕があるときでいいかも。
といいつつ、全部予約してしまったけど・・・。

そろそろ浅めのC#本は出揃ってきた感があるな。
これからは、もっと個々のテーマで
深〜く突っ込んだ本が欲しいころだよね。
0727デフォルトの名無しさんNGNG
お 前 ら 、

手 取 り 足 取 り 本 無 い と プ ロ グ ラ ム の

一 つ も 出 来 な い ん で す か ?
0728デフォルトの名無しさんNGNG
.NETごときにわざわざ無駄な苦労する必要はないと思われ。
所詮金のためなんだから、金で解決するのが筋。
0729デフォルトの名無しさんNGNG
VSユーザーは確か割引で日経の本買えるはずだけど、パンフまだ来ないね。
.net FrameworkとC#の割引の値段知ってたら教えてください。
0730デフォルトの名無しさんNGNG
C#なんて、VB厨雑誌の入門記事とSDKのドキュメントで十分じゃん。
0731デフォルトの名無しさんNGNG
値段教えて。。。。ステップバイステップくらいにしか安くならない
なら書店で買うけど
0732デフォルトの名無しさんNGNG
メニュー項目のプロパティ一覧にBreakやBarBreakが無いっす。
0733デフォルトの名無しさんNGNG
>>732
BrowsableAttributeがfalseになってるからっす。
0734デフォルトの名無しさんNGNG
早くADO.NETの詳しい本でないかなぁ。
0735デフォルトの名無しさんNGNG
>>701
サンクスです。漏れだけじゃないんですね。
昨日の時点ではちょっと使いにくいな程度だったんですけど、
今日はもうコントロールとしてまともに機能して無かったです。

どうやらフォーカスのあたり具合で入力したテキストが勝手に別のテキストに変わるようです。
もう何がなんだか・・・漏れの理解の範疇を大きく超えますた。
はよ直してホスィ・・・
0736デフォルトの名無しさんNGNG
>>727
漏れは.NET Framework SDK ドキュメントっちゅう
手取り足取りマニュアルないとプログラミングできんわぁ〜(はぁと)
0737デフォルトの名無しさん NGNG
日本語版のpeverifyコマンドで、エラーメッセージは出力されてますか?
(英語版は正しく出力されます)。

0738デフォルトの名無しさんNGNG
>>737
英語で出てきたよ。
0739デフォルトの名無しさんNGNG
738さん、ありがとうございます。
私の環境(Win2000Pro + 日本語版.NET Framework 1.0.3705.0)で
実行すると、以下のようになってしまい、
[IL]: Error: [D:\a.exe : m::Main] [ ←ここに何も出ない!
[IL]: Error: [D:\a.exe : m::Main] [HRESULT 0x80004005] -
2 Errors Verifying a.exe
肝心のエラーの理由が出てきません(英語版だと出ます)。
会社でMSDNの契約をしているので、MSに相談してみます。
0740738NGNG
>>739
あ、managed exeの検証はしてないや。
普通のexeにpeverifyしたみただけ。
0741デフォルトの名無しさんNGNG
>>730
>VB厨雑誌の入門記事とSDKのドキュメント

わ か っ て な い バ カ が い ら っ し ゃ い ま す
0742デフォルトの名無しさんNGNG
730はなぜここに通ってるのだろうか・・・・。

あ!これから本買いに行ってきます。
0743デフォルトの名無しさんNGNG
本の宣伝うぜえよ。関係者か?
0744デフォルトの名無しさんNGNG
>>742
レビューよろ
0745デフォルトの名無しさんNGNG
リチャー氏は.NET出たばっかの頃MSDN Mag.でもいろいろ書いてたけど、
あれとはどう違うんだろ?
0746デフォルトの名無しさんNGNG
なんだかんだ思いながら結局3冊買ってしまった。まだ詳しくは読み込んで
無いんだけど
「プログラミング.net framework」
思ってたよか悪いかな?クラスの全体像を扱ってるのかと思ってた。
表紙に載ってる通り.net frameworkと共通ランタイムについてはそれなりに
詳しく書かれてる。
普通にWindowsアプリ作ったりするならしばらくは不要だと思う。
MSプレスの専門書はどれも同じなんだが図が少ないからかなり難しく
思う。
0747デフォルトの名無しさんNGNG
「C#によるプログラミングWindows」
http://bpstore.nikkeibp.co.jp/msp/book/02921/02921c.html
に載ってる内容からするとかなり初心者向けっぽく思ってたけど、一つ一つの
内容についてが、かなり濃くかかれてるので立ち読みしててこっちは買おう
と思った。
上と下に分かれてるけど、.net frameworkでWinアプリ作る基礎的な部分
の深い事はマジ知れると思うよ。普通にアプリ作る上では不必要かと。
プログラミング.net Frameworkよかこっちの方がお勧め。

二つともMSプレスはどれも図とか少ないから読みやすくは無いと思うし、
難しく感じる。まーなんとも言えないとこだけどね。
それと最近C#始めたばっかだから買う参考にはしない方が良いと思う。どれも
5000以上するし立ち読みで決めるのがやっぱ一番。
0748デフォルトの名無しさんNGNG
>>746
残りの2冊は何?
0749748NGNG
>>747のことね。ゴメソ
0750デフォルトの名無しさんNGNG
プログラミング.net frameworkとC#によるプログラミング 上と下
で三冊っす。
ややこしくてスマン。
0751デフォルトの名無しさんNGNG
http://www.c-sharpcorner.com/
http://www.codeproject.com/index.asp

他にこういうサイトってどこか有る?
0752デフォルトの名無しさんNGNG
>>751
http://www.csharphelp.com/
http://www.mastercsharp.com/
http://www.dotnet101.com/
0753デフォルトの名無しさんNGNG
>>752
Thanks 他に有ったら教えて。
0754デフォルトの名無しさんNGNG
>>746
このクソ暑い中、あれだけブ厚い3冊を持ち帰ったの?
すごい根性だ。
0755デフォルトの名無しさんNGNG
今日話題の3冊を買いに行ったら無かったです。
台風の影響ですね。しょぼーん。
0756デフォルトの名無しさんNGNG
Java関連のスレが下がっているので嬉しいです。
0757デフォルトの名無しさんNGNG
『プログラミング Microsoft .NET Framework』読んできた。
入門的でもなければ中・上級者向けでもなく、各節の深さがなんとなく中途半端な感じがした。
本が出た当時のことを考えれば、貴重な情報が満載なのは分かるんだけど、
今はsscliがあるからね・・・。
漏れ的にはCLIに絞ったディープな本がすごくホスィ・・・。
0758デフォルトの名無しさんNGNG
>>757
解析すればいいのに・・・。
0759デフォルトの名無しさんNGNG
>>758
できる範囲で見てるけど、個人では限界がある・・・。
0760デフォルトの名無しさんNGNG
>>757
C#の言語仕様書が1冊の本になるぐらいだから、CLIの仕様書も出してもいいと思うのだが。
0761デフォルトの名無しさんNGNG
ここしばらくコードに関する質問がないね
0762デフォルトの名無しさんNGNG
もう、だいぶ色々できるようになってもうすぐ納品だよ。
みんなありがと。
0763デフォルトの名無しさんNGNG
>>760
InsideMicrosoft IL Assembler
という本がお勧め。
DLLの構造から、アーキテクチャ、インストラクションセットまで全部載っている
0764デフォルトの名無しさんNGNG
>>763
Sergeたんの本だね。
某MLを見ても、本当に知り尽くしてるもんなあ・・・。
0765デフォルトの名無しさんNGNG
日本でももっとインサイドの話ができるMLとかあればいいのにねぇ。
USERSとかMS Newsgroupを見てると激しく萎える。
0766デフォルトの名無しさんNGNG
『プログラミング Microsoft .NET Framework』買ってきたぞ(゚Д゚)ゴルァ
この本読んだらこの講座との差別化は大丈夫なのか(゚Д゚)ゴルァ
http://www.atmarkit.co.jp/fdotnet/technology/index/index.html
0767デフォルトの名無しさんNGNG
週末は読書三昧
0768デフォルトの名無しさんNGNG
Petzold本、ここまで意地になってWindowsFormsのみってのも逆に新鮮だね。
0769デフォルトの名無しさんNGNG
>>763
うぉすっげ欲しいーー。
0770デフォルトの名無しさんNGNG
>>768
逆に詳しすぎる気もする・・・。
0771デフォルトの名無しさんNGNG
まだ翻訳されてない良書って他に何があるだろう。>>763も含めて。
0772デフォルトの名無しさんNGNG
Essential ADO.NET
0773デフォルトの名無しさんNGNG
>>771
>>763のって翻訳されていないの?だったら、なおさら欲しいぞぉ。
0774デフォルトの名無しさんNGNG
>>771
O'REILLYとかAPRESSが穴場だと思われ。
0775デフォルトの名無しさんNGNG
よさげなタイトルがイパーイ。
http://www.apress.com/category.html?nID=27
0776デフォルトの名無しさんNGNG
>>763
欲しい
0777名無しさん#NGNG
VS.NETのプロパティウインドウとかでつかってる、
移動できるタブってどうやんの?
0778デフォルトの名無しさんNGNG
>>777
Magicでも使ってみれ。ってソースはついてこないのか・・・。

http://www.crownwood.net/
0779デフォルトの名無しさんNGNG
>>778
ソースついてたよ。
0780778NGNG
>>779
ほんとだ。ゴメソ
0781デフォルトの名無しさんNGNG
C#でGeneticProgoramingはどうやってやるんですか?
0782名無しさん#NGNG
>>778
>>779
おー!!
ベリーサンキュ!!
0783781NGNG
Genericでした。すみません。
C++で言うテンプレートはC#だと何にあたるのかな。
ボクシング?
0784デフォルトの名無しさんNGNG
>>783
Reflection 使え。
ついでに言うと、MS はいずれは C# に template を実装すると思われ。
0785デフォルトの名無しさんNGNG
タイトル的によさげなんですがどうでしょう?
http://www.apress.com/book/bookDisplay.html?bID=88
http://www.apress.com/book/bookDisplay.html?bID=104
0786デフォルトの名無しさんNGNG
>>785
amazon.co.jpで代引きで買えるよ。
0787デフォルトの名無しさんNGNG
XMLからのデータをリストボックスに追加しようとしてます。

XmlTextReader ReadXML = new XmlTextReader("Data.xml");
while(ReadXML.Read())
{
  if(ReadXML.NodeType == XmlNodeType.Element)
  {
   while(ReadXML.MoveToNextAttribute());
   TodayListBox.Items.Add(ReadXML.Name.ToString()).SubItems.Add(ReadXML.ReadString());
  }
}


XMLファイルは
<?xml version="1.0" encoding="utf-8" ?>
<One>
<JobData1>
<Name>NameData</Name>
<StartTime>StartTimeData</StartTime>
<EndTime>EndTimeData</EndTime>
<Details>DetailsData</Details>
<Place>PlaceData</Place>
</JobData1>
</One>

どうやってもOneがリストボックスに追加されるんですが。。。JobDataは
追加されないのに・・・・
0788デフォルトの名無しさんNGNG
>>787
ListBoxじゃなくてListViewじゃないの?
0789デフォルトの名無しさんNGNG
ごめん。そうだ。
けど、それでもOneが出てくる。
0790デフォルトの名無しさんNGNG
>>787
Read()で<One>にたどり着いて、次のReadString()で<JobData1>に進んでるのだと思われ。
0791デフォルトの名無しさんNGNG
>>787
これでどう?

  XmlTextReader ReadXML = new XmlTextReader("Data.xml");
  string elem = null;
  while (ReadXML.Read()) {
    if (ReadXML.NodeType == XmlNodeType.Element) {
      elem = ReadXML.Name;
    }
    else if (ReadXML.NodeType == XmlNodeType.Text) {
      TodayListBox.Items.Add(elem).SubItems.Add(ReadXML.Value);
    }
  }
0792791NGNG
こっちの方がいいかな?

  while (ReadXML.Read()) {
    if (ReadXML.NodeType == XmlNodeType.Element) {
      while (ReadXML.MoveToNextAttribute());
      string name = ReadXML.Name;
      if (ReadXML.Read()) {
        if (ReadXML.NodeType == XmlNodeType.Text) {
          TodayListBox.Items.Add(name).SubItems.Add(ReadXML.Value);
        }
      }
    }
  }
0793791NGNG
あ、MoveToNextAttribute()は要らんかった。
0794デフォルトの名無しさんNGNG
C:\dev\Menogaia\ControlLibrary\ctlExDbcode.cs(272): 'ControlLibrary.frmcDbname' は 'C:\Org\dev\Menogaia\SangatuControlLibrary\frmcDbname.cs' の定義を使って、複数の場所で定義されています。

いろんなクラスでこんな警告が山ほど出るのですが、原因がさっぱりわかりません。
みなさんはどうやって回避していますか?
0795デフォルトの名無しさんNGNG
C:\dev\ControlLibrary\ctlExDbcode.cs(272): 'ControlLibrary.frmcDbname' は 'C:\dev\ControlLibrary\frmcDbname.cs' の定義を使って、複数の場所で定義されています。

引用する警告のソースをまちがえました、こんなんです。
0796デフォルトの名無しさんNGNG
>>791
あ〜助かった。ありがとう。これ解決に数日かかってた。
0797デフォルトの名無しさんNGNG
すまん問題出た。
リストビューとリストボックスってどっちもViewをDetailsにしたら
同じようなのになるんだけど、何が違うの。。。。
0798デフォルトの名無しさんNGNG
>>797
ん、何が問題?
Columnsに2列追加しとけば両方出るよ。
0799デフォルトの名無しさんNGNG
いや、リストビューとリストボックスの違いが今一わからん。
0800デフォルトの名無しさんNGNG
>>797
自由度。
0801デフォルトの名無しさんNGNG
>>800
どっちが自由なん?
0802デフォルトの名無しさんNGNG
>>799
ListViewの方がスタイル変更できるとか、(大きなアイコン、小さなアイコン、一覧、詳細)
あとはListViewItemクラスが柔軟にカスタマイズできるとか。(並べ替えのカスタマイズなど)
0803デフォルトの名無しさんNGNG
>>802
わかった、とりあえずリストビューでやってみるわ。
0804デフォルトの名無しさんNGNG
こんにちは
Bitmap を Graphics に拡大表示したいのですが、
勝手にアンチエイリアスがかかってしまいます。
SmoothingMode などいじってみたものの変化ありません。
単純に拡大コピーする方法は無いものでしょうか。
0805デフォルトの名無しさんNGNG
>>804
Graphics.InterpolationModeをNearestNeighborにしてみるとか。
0806デフォルトの名無しさんNGNG
バージョン違いのアセンブリを共存できるのはすごいことだと思うけど、
GACがバージョン違いのものだらけ・バージョンの依存関係が複雑で下手に触れない
言わば「Assembly Hell」にならないかものすごく心配。
やっぱりデフォルトは「下手に置き換えないで、古いバージョンは残しておこう」でしょ?
0807デフォルトの名無しさんNGNG
XPのWinSxSなんかを見ても、今の時点で各DLLが2つづつあるし。
これがGACで同じことになったら…。
0808804NGNG
>>805
Σ(゜д゜;)出来ました!
助かりました、ありがとうございます。
0809デフォルトの名無しさんNGNG
あれかな、MSだから力の理論で。
HDどうせあまってるからDLLいくらあってもいいよ。ソフトが(とくにうちのが)
動ければいいんだよという考え方。
それはそれでいいけどね。
0810デフォルトの名無しさんNGNG
CLRそのものもサイドバイサイド、アセンブリもサイドバイサイド。
もう無限の組み合わせやね。
0811デフォルトの名無しさんNGNG
>>806
DLLでHDDを埋め尽くす新たなDLL HELLが・・・・
まじで心配。
0812デフォルトの名無しさんNGNG
アセンブリのファイルサイズなんて小さいもんだよ。
...ってそういう問題じゃない?
0813デフォルトの名無しさんNGNG
一個が約50KBとして、100GB埋め尽くすには約200万個のDLLが必要だな。
0814デフォルトの名無しさんNGNG
万個
0815デフォルトの名無しさんNGNG
珍個
0816デフォルトの名無しさんNGNG
>>530 で出てたような設定ファイルの読み書きを自前
で指示するのではなく、オブジェクトの生成直後・消滅
直前に自動的に呼び出すような機構を作ろうと思い、
ContextAttribute の使用を検討してるんですが、、、

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

の例だとメソッドの呼び出し毎に作動してしまいます。
オブジェクト生成直後・消滅直前にのみ作動させたい
のですが、やり方がサパーリ分かりません。
MSDN見ても「このメンバは、.NET Framework インフラ
ストラクチャのサポートを目的としています・・・」としか
書いておらず、Googleで検索してもそれらしいものは
見つかりませんでした・・・

どなたか知恵を貸してください。おながいします。
0817デフォルトの名無しさんNGNG
http://www.csharphelp.com/archives/archive109.html

ここのアプレットって誰か表示できた人います?
信頼済みサイトに登録しないと表示できないみたいなんだけど。

自分で作ってたのもイントラネットでは動いたのに、
インターネットにしたとたん動かなくなってがっかり。

誰か動かし方教えて
0818817NGNG
なんかわかった気がするよ・・・
既定ではインターネットからのプログラムは実行されないことになってるんだ
.NET Wizardでセキュリティを変更してやればいい、と、
見る人間全てにそんなの強要してられないぞ・・・

署名とか言うのすればいいのだろうか、やり方わからんけど。
せめてJavaと同じくらいのの実行権は既定で欲しかったなぁ
0819デフォルトの名無しさんNGNG
>>816
リモートオブジェクトのactivateのタイミングを拾うのは簡単だけど、
deactivateを拾うのは半端じゃなくむずかしいと思われ。
(LifetimeServicesあたりを触るしかないのかな・・・。)

なので、すごく原始的だけど、MessageSinkの中で
メソッド名を見て処理を切り替えるのがいちばん楽だと思われ。

具体的なイメージが湧かないときは言ってちょ。
0820デフォルトの名無しさんNGNG
>>818
エンドユーザー対策では、インストーラ作って自動設定させるのがいちばん楽かな。
有名どこではここ↓のサンプル見てちょ。

http://www.sellsbrothers.com/wahoo/
0821デフォルトの名無しさんNGNG
>>816
というか、わざわざContextAttributeを使う必要があるのかな。
普通にコンストラクタ・ファイナライザに処理を埋め込めばいいのでは?
0822デフォルトの名無しさんNGNG
Whidby&Everettあげ
0823デフォルトの名無しさんNGNG
>>816
ContextAttributeじゃダメっぽいね。問題だらけだわ。(;´Д`)

・IContributeObjectSinkを使った場合

 MessageSinkでコンストラクタをインターセプトできない。

・IContributeServerContextSinkを使った場合

 こちらはコンストラクタをインターセプトできるが、
 呼び出し元のContextBoundObjectを取得する手段がない。

・IContributeObjectSink+IContributeServerContextSinkの場合

 コンストラクタの問題は解決できるけど、
 やっぱりファイナライザはインターセプトできない。

 IDisposableでも使うしかないけど、規約的にちょっと違う。

それと、LifetimeServicesのカスタマイズは無理だった。

つーことで、悲しいけど>>821が正解のような・・・。
0824816NGNG
816です。>>819さん、>>821さん、>>823さん、ありがとうございます。

ContextAttributeでは厳しそうですね・・・結局 >>821 で要件を満た
せるので、それで逝ってみたいと思います。>>823さん、わざわざ調べて
下さったのにすみませんでした。。。
0825デフォルトの名無しさんNGNG
>>820
ありがとう、それで行くことにしますた
ちょっと手間取ったので次のチャレンジャーのために一言

AssemblyInfo.csに
[assembly: AllowPartiallyTrustedCallers]
を付け加えるのを忘れずに
0826825NGNG
あらら?出来たと思ったのは夢だったみたいだ・・・
表示出来ない・・・何でやろ・・・
0827デフォルトの名無しさんNGNG
テキストの描画ですが、GraphicsPath.AddString を使った場合は
Graphics.DrawString よりも汚くなってしまいます。
どうすれば Graphics.DrawString 並にきれいに表示できるでしょうか。
0828デフォルトの名無しさんNGNG
RichTextBoxで、テキストの背景色(マーカー)を
つけるにはどうしたらいいんでしょうか。
0829デフォルトの名無しさんNGNG
>>828
指定した部分だけ背景色を変えるということ?
ワードパッドでできなかったら、そういう機能は元からないと思われ。
0830デフォルトの名無しさんNGNG
>>827
文字の輪郭をなぞってるだけだから、細かいピクセル単位まで再現するのは無理そうね・・・。
0831デフォルトの名無しさんNGNG
>>830
そうなんですか…
わかりました。
0832デフォルトの名無しさんNGNG
Amazon.com Web Services

http://associates.amazon.com/exec/panama/associates/ntg/browse/-/1067662/102-9207406-2409745
0833デフォルトの名無しさんNGNG
>>832
.NETのサンプルがないのがちょっと悲しい・・・。
でもwsdl.exeはあっさり通ったけど。
0834デフォルトの名無しさんNGNG
SoapRequestSamples見ながらやったらちゃんと動いた。

using System;
using System.Web.Services;

class AmazonTest
{
  public static void Main() {
    KeywordRequest req = new KeywordRequest();
    req.keyword = "dog";
    req.page = "1";
    req.mode = "book";
    req.tag = "webservices-20";
    req.type = "lite";
    req.devtag = "your-dev-tag";

    AmazonSearchService service = new AmazonSearchService();
    ProductInfo info = service.KeywordSearchRequest(req);
    Details[] results = info.Details;

    foreach (Details d in results) {
      Console.WriteLine(d.ProductName);
    }
  }
}
0835834NGNG
using System.Web.Services; は必要なかった・・・。
0836デフォルトの名無しさんNGNG
http://upload.fam.cx/cgi-bin/img-box/img20020720021852.jpg
これの日付のカレンダーの部分ってどういうフォームのコントロール
使ってるかわかる?こういうのが作りたいんですが、パネルの中に
リストビューか?とも思うんだけど、そうすると分厚くなりすぎるし。
0837デフォルトの名無しさんNGNG
Don Box氏作成のAmazonサンプル

http://www.gotdotnet.com/team/dbox/downloads/amazon.net.zip
0838デフォルトの名無しさんNGNG
IO.File.Createでファイルを作ったんだけど。
次の処理でファイルを開こうとするとどうしてか
IOExceptionが発生するんです。なんででしょうか?
0839デフォルトの名無しさんNGNG
838です。
クローズしわすれですた。作ってもクローズしなきゃならないんだ・・・
0840デフォルトの名無しさんNGNG
                 ∩
                 | |
                 | |
        ∧_∧   | |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ( ´Д`)//  < 先生!RichTextの仕様はどこで見れますか!?
      /       /    \
     / /|    /        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  __| | .|    |
  \   ̄ ̄ ̄ ̄ ̄ ̄ ̄\
  ||\             \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||
0841デフォルトの名無しさんNGNG
>>840
これかな?
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/richedit/richeditcontrols.asp
0842840NGNG
     ∧_∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ( ´∀`)/<先生!ありがとうございます!
 _ / /   /   \_____________________
\⊂ノ ̄ ̄ ̄ ̄\  
 ||\        \
 ||\|| ̄ ̄ ̄ ̄ ̄||
 ||  || ̄ ̄ ̄ ̄ ̄||
    .||          ||
0843デフォルトの名無しさんNGNG
MDIアプリケーションはデフォルトで、親ウィンドウの閉じるを押すと
子ウィンドウが一個ずつ閉じていくようなのですが、親ウィンドウの
閉じるを押した時に一斉に閉じるようにするにはどうすればよろしいのでしょうか?

# 子ウィンドウが3個あると3回クリックで子ウィンドウが全て閉じ、四回目で親ウィンドウが閉じる
#というような状態になってしまっています。
0844デフォルトの名無しさんNGNG
>>843
え?こっちでは一斉に閉じてくれるけど・・・。
どんなコード書いてる?
0845843NGNG
>>844
どうもありがとうございます。

メニューから子ウィンドウの表示の有無を決めることができるようにして、
子ウィンドウの閉じるがクリックされると、Visibleがfalseになるように、
そのメニュのイベントを呼び出すように設定しています。


親ウィンドウ Form1 ------------------------------------------------
// 子ウィンドウの登録
layerForm = new LayerForm(this);
layerForm.MdiParent = this;
layerForm.Show();

// イベント
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   DialogResult d = MessageBox.Show("終了しますか?", "終了", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

   if(d == DialogResult.No)
      e.Cancel = true;
}

子ウィンドウ LayerForm ------------------------------------------------
private void LayerForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   if(sender.Equals(this))
   {
      e.Cancel = true;
      mainForm.menuItemLayerForm_Click(this, null);
   }
}
0846843 ・ 845NGNG
他に必要そうな部分をあげておきます
親ウィンドウ Form1 ------------------------------------------------
public void menuItemLayerForm_Click(object sender, System.EventArgs e)
{
   if(layerForm.Visible)
   {
      layerForm.Visible = false;
      menuItemLayerForm.Checked = false;
   }
   else
   {
      layerForm.Visible = true;
      menuItemLayerForm.Checked = true;
}
   }
}
親ウィンドウ Form1 子ウィンドウ LayerForm 同じ------------------------------------------------
private System.ComponentModel.Container components = null;

protected override void Dispose( bool disposing )
{
   if( disposing )
   {
      if (components != null)
      {
         components.Dispose();
      }
   }
   base.Dispose( disposing );
}
0847デフォルトの名無しさんNGNG
http://js-web.cside.com/index.html
0848デフォルトの名無しさんNGNG
テキストボックスの特定の単語に色をつけるにはどうすればいいのですか。
0849デフォルトの名無しさんNGNG
>>848
RichTextBoxを使うのが吉かと。
Find()とかSelectionColorがあるので。
0850デフォルトの名無しさんNGNG
>>846
子ウィンドウはあるのに、フィールドlayerFormが1個しかないのは何か変じゃない?
0851843 ・ 845 ・ 846NGNG
>>843 >>845 >>846

>>850
どうもありがとうございます。
他にもtoolForm 、 tipsFormなどが全く同じように
実装されています。
なぜか全てのFormのVisibleがfalseにならないと
閉じないようで、どこかでおかしな処理をしていると思うのですが、
なかなかどこか分かりません

どうかよろしくお願いします。
0852デフォルトの名無しさんNGNG
>>851
あー、現象再現したわ。

> private void LayerForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
> {
>    if(sender.Equals(this))

親フォームの閉じるボタンを押してもsenderがthis(child)で飛んできてるからだ。

しかも親のClosingイベントより先に子のClosingが処理されてる。
(だから、親フォームクラスに親のクローズかのフラグも置けない。)

こりゃ厄介だね。
0853843 ・ 845 ・ 846NGNG
原因が分かりました。
>>845のLayerForm_Closingの中のif(sender.Equals(this))で
親ウィンドウか自分かが判断できていないようです。

他に
if(sender.GetType().Equals(this.GetType()))
if(sender.GetType().ToString().Equals(this.GetType().ToString()))
なども試してみたのですが、うまくいきません。

親ウィンドウから呼ばれているのか、子ウィンドウから
呼ばれているのかを知るにはどのようにすればよろしいのでしょうか?
0854843 ・ 845 ・ 846 NGNG
>>852
あぁ、どうもありがとうございます。

>親フォームの閉じるボタンを押してもsenderがthis(child)で飛んできてるからだ。
子ウィンドウからよばれているのですか。
ということは>>853でやった方法でもダメなのは当然ですね・・・
別の方法でないとだめっぽいですね
0855843 ・ 845 ・ 846NGNG
解決しました。>>852さんの指摘の通り、このままではだめっぽかったので
キャンセルはやめて閉じてしまうようにして、メニューをクリックすると
再びShow()を呼び出して表示しました。

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

>>845 LayerForm_Closing
if(sender.Equals(this))
{
   e.Cancel = true;
   mainForm.menuItemLayerForm_Click(this, null);
}
↓
mainForm.menuItemLayerForm_Click(this, null);

>>846 menuItemLayerForm_Click
layerForm.Visible = true;
↓
layerForm.Show();
0856デフォルトの名無しさんNGNG
>>854
何とか行けた。
親のClosingイベントで子ウィンドウをすべて非表示にすれば大丈夫だね。

  foreach (Form f in this.MdiChildren) {
    f.Visible = false;
  }
0857843 ・ 845 ・ 846 NGNG
>>856
ありがとうございます。
そっちの方が自然っぽいですね。
使わせていただきます。
どうもありがとうございました。
0858856NGNG
ごめん。>>856は間違ってた。うまくいってない・・・。
0859843 ・ 845 ・ 846NGNG
>>858
いえいえ、とんでもないです。どうもありがとうございました。
0860デフォルトの名無しさんNGNG
日本語になってなかった。(;´Д`)

>>850
> 子ウィンドウはあるのに、
    ↓
子ウィンドウは複数あるのに、
0861かぐらNGNG
 ひょっとしてもう出てるのかも分かりませんが‥‥。
 C#で、クラスの配列を作製するのはどうすればいいのでしょうか?
 普通の配列みたく、

public class Class01{ 略 }
 public class Class02{
public static void Main(){
Class01[] c1 = new Class[3];
:
}

 とかにすると、コンパイルは出来るのですが、そのクラスを使おうとすると、
「System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません」
 どうかよろしくお願いします〜。
0862デフォルトの名無しさんNGNG
>861
new Class[3]は空のClass01型のオブジェクトを3つつくるという意味です。
0863デフォルトの名無しさんNGNG
>849
できました。どうもありがとうございました。
0864843NGNG
>>843 >>845 >>846 >>851 >>853 >>854 >>855

>>855 で解決したと思ったのですが、子ウィンドウの閉じるボタンを押すと
Close()でウィンドウが破棄されてしまい、Show()で再び表示しようとしても、
表示されませんでした。

何かうまい方法はないものでしょうか?
0865デフォルトの名無しさんNGNG
>>864
親フォームのWndProcを直接触れば>>856の考え方でいけたよ。

  const int WM_CLOSE = 0x0010;

  protected override void WndProc(ref Message m) {
    if (m.Msg == WM_CLOSE) {
      foreach (Form f in this.MdiChildren) {
        f.Visible = false;
      }
    }

    base.WndProc(ref m);
  }
0866デフォルトの名無しさんNGNG
Xmlにデータを追記しようとしてるんですが。

XmlDocument doc = new XmlDocument();
doc.LoadXml("data.xml");
XmlElement root = doc.CreateElement("SubData2");
root.InnerText ="InnnerTextData";
doc.AppendChild(doc);
doc.Save("data.xml");


XmlElement root = doc.CreateElement("SubData2");
ここですでにXmlExceptionエラーが発生するんです。
doc.AppendChild(doc);
で間違ってるのは分かってるけど、追加すらできない状態です。

<?xml version="1.0" encoding="utf-8" ?>
<Data>
<subData>SubData1</SubData>
</Data>
に
<subData2>SubData2</SubData>
を追加したい時はどうやれば良いんでしょうか?
0867デフォルトの名無しさんNGNG
すまんミスった。コードは下が正解。けど、うまくいかん。。。。
XmlDocument doc = new XmlDocument();
doc.LoadXml("data.xml");
XmlElement root = doc.CreateElement("SubData2");
root.InnerText ="InnnerTextData";
doc.AppendChild(root); //ここを今打ち違っただけ
doc.Save("data.xml");
0868843 ・ 864NGNG
>>865
こんなすごい方法があるんですね。
どうもありがとうございます。

まだまだ勉強不足なので頑張りたいと思います。
0869デフォルトの名無しさんNGNG
>>867
これでいける?

> doc.LoadXml("data.xml");
doc.Load("data.xml");

> doc.AppendChild(root);
doc.DocumentElement.AppendChild(root);
0870デフォルトの名無しさんNGNG
あ!出来ました。ありがとう。

<?xml version="1.0" encoding="utf-8" ?>
<Data>
<subData>SubData1</SubData>
<subData2>SubData2</SubData>
</Data>
みたいに途中とかに入れたい場合ってどうすればいいんでしょうか?
教えてクレクレばっかですみません。
0871デフォルトの名無しさんNGNG
さらにスミマセン。上のは普通にできるんですね。

<?xml version="1.0" encoding="utf-8" ?>
<Data>
<subData>
<subSubData>SubSubData</subsubData>
</SubData>
</Data>

ってな感じに深い位置?にデータを追記したいんですが、
何を使えば良いのやら・・・・。
0872デフォルトの名無しさんNGNG
どうでもいいけど、XMLなんだからタグの大文字・小文字は統一してくれ・・・。
0873デフォルトの名無しさんNGNG
またまた申し訳ない。

<?xml version="1.0" encoding="utf-8" ?>
<Data>
<SubData>
<SubSubData>SubSubData</SubSubData>
</SubData>
</Data>
0874デフォルトの名無しさんNGNG
>>871
こんな感じ?

  XmlElement root = doc.CreateElement("SubData2");
  root.InnerText ="InnnerTextData";

  XmlNode node = doc.DocumentElement["SubData"];
  node.AppendChild(root);
0875デフォルトの名無しさんNGNG
おっと。XmlNodeじゃなくてXmlElementでいいんだね。

  XmlElement node = doc.DocumentElement["SubData"];
0876デフォルトの名無しさんNGNG
さらに追加するノードの場所が深くなる場合はもう GetElementsByTagName() しかないのかな?
0877デフォルトの名無しさんNGNG
>>876
XPathという手も。
0878876NGNG
>>877
なるほど。そっちの方がきれいだね。
0879873NGNG
あ〜ありがとう。
しばらく書いてみるわ。

Xpathもやった事ねーけど、とりあえずやってみます。
0880デフォルトの名無しさんNGNG
初歩的な質問で恐縮ですが、
C#stdでバイナリファイルの編集ソフトとか開発できますか?
それようの便利なコンポーネントなどあるのでしょうか?
お願いします。
0881デフォルトの名無しさんNGNG
>>880
正直、才能ない
0882デフォルトの名無しさんNGNG
ちん毛
0883デフォルトの名無しさんNGNG
才能も何もはじめたばかりなのですが・・・
0884デフォルトの名無しさんNGNG
>>883
才能と努力って違います。

初心者のうちから「便利なライブラリありますか?」なんて言ってちゃあ。
0885デフォルトの名無しさんNGNG
テキストオブジェクトなのどに入力された16進数を表す文字列を
byteやint型に変換する方法がどうしてもわかりません。
多分下記のが関係してると思うのですが、簡単な例でいいのでお願いします。

public override byte[] GetBytes(string);
0886デフォルトの名無しさんNGNG
>>885
こんな感じ?

  Console.WriteLine( Convert.ToByte("0x00ff", 16) );
  Console.WriteLine( Convert.ToInt32("0xffff", 16) );
0887デフォルトの名無しさんNGNG
>>885
int acc = 1;

for(int i = 0;i < dat.length();i++)
acc *= 2;

int sum = 0;
for(int i = 0;i < dat.length();i++)
{
switch(dat[i])
{
case '0':
sum += 0;
break;

case '1':
sum += 1 * acc;
break;
・
・
・
・
}
acc /= 2;
}

0888デフォルトの名無しさんNGNG
Free Obfuscator

http://www.abderaware.com/WhitePapers/Obfuscator.htm
0889デフォルトの名無しさんNGNG
>>888
ベタですがやらせていただきます。
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0890デフォルトの名無しさんNGNG
>>888
VBかよ!
ってさすがは林檎男だ。(w
0891デフォルトの名無しさんNGNG
>>890
どこが?
0892885NGNG
>886
おおおお、できました!!苦闘6時間・・!
ほんとにありがとうございます!!!

それまでこんな感じでやってました
string str=textBox1.text;
int i=int.Parse(str);
実行するとエラーが出ます
0893デフォルトの名無しさんNGNG
>>892
そらFとかAとかあったら怒るわさ。
0894デフォルトの名無しさんNGNG
>>892
NumberStylesを引数に取るやつを使わんとダメでしょ。
それでも "0x" をつけるとパースしてくれないけど。
0895デフォルトの名無しさんNGNG
>>894
Convert.ToInt32とInt32.Parseは違うロジックを使ってるみたいね。
Int32.Parseの方はinternalcallだった。
0896デフォルトの名無しさんNGNG
ヘルプ見たのですがいまいちよくわからないのですが
基数=進数って感じでしょうか?

Parseを使う場合だとこんな感じでしょうか?

using System.Globalization;(←これ必要だったんですね^^;)
int i=Int32.Parse(string strhex,NumberStyles.AllowHexSpecifier);
MessageBox.Show(i.ToString());
なんとなくわかってきたけど、ここでつまづいてたら先が長いなあ。
いろいろ、お騒がせしました。ありがとうございます。
今参考にしてる本は
「C#,NET プログラミング1 (株)翔泳社」
「独習C#」
なんですが、もっとわかりやすい本ってありますか?
WINアプリを作る技が列挙されてるような・・
0897デフォルトの名無しさんNGNG
なんか、ショウエイかどっかから300個くらいの技?が載ってる
本がでてたような。。。
あんまり役に立つとは思えないが立ち読みしてみれば?

この前でたプログラミングC#はWinフォームについて詳しすぎるくらい
解説されてる。普通に作る上ではSDKで十分かもしれないと俺も
思った。
0898デフォルトの名無しさんNGNG
つーか出版ラッシュで内容を追いきれないな。
0899デフォルトの名無しさんNGNG
>>897
ガリバーとかいう会社。立ち読みした限りでは買う価値なし。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1507-x
0900デフォルトの名無しさんNGNG
>>898
良本はほとんどないという罠
0901デフォルトの名無しさんNGNG
>>899
買ったけど、内容が浅くて・・・駄目本でした。
0902デフォルトの名無しさんNGNG

 クレイジー☆ダイ VS web製作板住人
 http://pc3.2ch.net/test/read.cgi/hp/1027150209/l50

 いったい!どうなってしまうのか!
0903885NGNG
>>897
これは結構よさげですね。わたしにはちょうどいいかも
今から買いにいってきまーす
0904885NGNG
間違い
>>899
0905885NGNG
間違いじゃなかった
>>897,899
0906885NGNG
>>897が言ってる本はこれかな?
なんか難しそう

http://www.amazon.co.jp/exec/obidos/tg/detail/-/books/4891002417/reviews/ref=ed_er_dp_1_1/250-7429206-4936206
0907デフォルトの名無しさんNGNG
>>906
いや、多分こっちだと思う。

http://www.amazon.co.jp/exec/obidos/ASIN/4891002921/qid=1027407396/br=1-3/ref=br_lf_b_3/250-9573729-8897800
0908デフォルトの名無しさんNGNG
>>906
それは、固くてしんどいので黄色い本で勉強しました。

>>907
これは、まだ読んでないけど、巨大な本ですね。
0909897NGNG
907の本っすね。上の前にこれが発売された時に少しネタになってたと
思うよ。
C#の基本なら俺も黄色いあの本がまだエエと思うよ。
@ITの連載が本になったやつは持ち運びに便利(買ってないけど)
0910デフォルトの名無しさんNGNG
お前らにとって良本とはどんな本ですか?
0911デフォルトの名無しさんNGNG
>>910
SDKドキュメントでもあまり深く取り扱ってないことをじっくり解説した本かな・・・。
0912デフォルトの名無しさんNGNG
>>909
私も@ITの本はいいと思うよ。ただ好みに合わない人はいそうな感じだね。
考え方を紐解いてくれる感じでいいです。

>>910
はやく、ADO.NETの本が出て欲しい。
目の覚めるような上手い使い方とかね。
0913885NGNG
>>907
その本、本屋で見ました。
丁寧に説明されていてわかりやすかったけど、
浅く広くがよかったので結局300の技を買ってきました。
今から勉強しまーす。
0914デフォルトの名無しさんNGNG
>>911
現時点ではPetzold本とRichter本ぐらいか。。。
0915デフォルトの名無しさんNGNG
VC6.0の頃に同梱されていた厚いリファレンスマニュアルって
C#にはないんですかね?あんな薄っぺらいのじゃわからん
0916デフォルトの名無しさんNGNG
>>915
本を買ってというスタンスみたいね。
↓からお好きなのをどうぞって感じで。

http://bpstore.nikkeibp.co.jp/msp/
0917デフォルトの名無しさんNGNG
一日格闘したけど駄目でしたのでHELP

<?xml version="1.0" encoding="utf-8" ?>
<SubData>
<SubSubData>
<SubSubSubData>
<title>titleData</title>
</SubSubSubData>
</SubSubData>
</SubData>

XmlDocument xd = new XmlDocument();
xd.Load("data.xml");
XPathNavigator xpn = xd.CreateNavigator();
XPathNodeIterator xpni = xpn.Select("/SubData/SubSubData/SubSubData");

XmlElement root = xd.CreateElement("Details");
root.InnerText ="InnnerTextData";
xd.AppendChild(root);

Detailsデータを追記しようとしてるんですが、どっかが根本的に間違って
ると思う。
0918デフォルトの名無しさんNGNG
>>917
こんな感じで。

  XmlDocument xd = new XmlDocument();
  xd.Load("data.xml");

  XmlNodeList nodes = xd.SelectNodes("/SubData/SubSubData/SubSubSubData");
  if (nodes.Count > 0) {
    XmlElement root = xd.CreateElement("Details");
    root.InnerText ="InnnerTextData";
    nodes[0].AppendChild(root);
  }
0919デフォルトの名無しさんNGNG
できた!!
参考にいろいろ付け加えたりしてみるわ。

前にXPath使った方が良いって言われたんだが、そっちの方わかりますか?
0920デフォルトの名無しさんNGNG
>>919
いや、XPathってこれのこと。

> XmlNodeList nodes = xd.SelectNodes("/SubData/SubSubData/SubSubSubData");
0921デフォルトの名無しさんNGNG
>>920
>xd.SelectNodes("/SubData/SubSubData/SubSubSubData");
ああ。俺が作ろうとしてたのはこれだ・・・。
JavaのSunが作ったDOMにもあります?これ。
0922デフォルトの名無しさんNGNG
>>899
はげどう。意味なさすぎ。数あつめりゃいいって姿勢に辟易。
0923デフォルトの名無しさんNGNG
>>921
最新版のJAXPにもまだないね。Xalanでも使うしかないのかな?
0924デフォルトの名無しさんNGNG
>>922
いや、初心者向けにはあれでいいんだよ。
技評のページでは「中級者向け」になってるけど。(w
0925デフォルトの名無しさんNGNG
>>923
まぁ、がんばれば作れるからいいんだけどね。
でも、アレって同じ階層に同じ名前の要素があったらどうなるの?
0926デフォルトの名無しさんNGNG
>>925
ん?NodeListでまとめて返ってくるよ。
0927デフォルトの名無しさんNGNG
>>926
getElementbytagnameと同じ仕様ね。納得。
0928デフォルトの名無しさんNGNG
Microsoft .NET Data Provider for Oracle

http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/940/msdncompositedoc.xml
0929デフォルトの名無しさんNGNG
Oracle Data Provider for .NET

http://technet.oracle.com/tech/windows/odpnet/content.html
0930デフォルトの名無しさんNGNG
>>928-929
こりゃ迷うな。(w
0931デフォルトの名無しさんNGNG
すれ違いかも知れませんが、某パソゲーのチートツールなるものを作ったのですが
公開するとやっぱりやばいですかね?
使い方が明確なんで法律的にやばいかなあと
0932デフォルトの名無しさんNGNG
>>931
じゃあ捨てろ。
0933デフォルトの名無しさんNGNG
.NET for Apache?

http://apache.slashdot.org/apache/02/07/22/2334239.shtml?tid=109 
0934デフォルトの名無しさんNGNG
>>928
System.Data.OracleClientって・・・。
Oracle製の立場がないよ。(;´Д`)
0935デフォルトの名無しさんNGNG
http://sourceforge.net/projects/nunit
V2.0 beta-1。
0936デフォルトの名無しさんNGNG
既出だと思うけどC#で正規表現って使えるの?
0937デフォルトの名無しさんNGNG
>>936
System.Text.RegularExpression
0938デフォルトの名無しさんNGNG
おお、>>937さんきゅ
0939デフォルトの名無しさんNGNG
恥を忍んで。。。
SDKでコンパイルしたC#のFormを使ったexe、
なんでJavaみたいにDOS窓が開くの???(汗
こんなバカな質問に答えていただける方いらっしゃったらお願いします。
0940デフォルトの名無しさんNGNG
>>939
/t:winexe をつけてコンパイルしよう
0941デフォルトの名無しさんNGNG
>>940さん
939です。ありがとうございました!!!(泣
csc /target:winexe X.cs ですね。
HELP見ててもピンときませんでした(汗
0942デフォルトの名無しさんNGNG
Windows .NET Server RC1 が出た。
http://www.microsoft.com/windows.netserver/preview/default.mspx
0943デフォルトの名無しさんNGNG
>>942
タダでもらえるの?
0944デフォルトの名無しさんNGNG
>>943
もらえるみたいだ。
でも、MSDN入ってないの?
0945名無しさん♯NGNG
新スレ立てますた。

C♯相談室 Part7
http://pc3.2ch.net/test/read.cgi/tech/1027531796/l50
レス数が900を超えています。1000を超えると表示できなくなるよ。