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

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

C♯相談室 Part6

1 :名無しさん♯:02/05/25 01:17

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


過去スレ・関連リンクは>>2-10あたり

2 :名無しさん♯:02/05/25 01:18
過去スレ
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

3 :デフォルトの名無しさん:02/05/25 01:22
関連スレ

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

4 :デフォルトの名無しさん:02/05/25 01:23
関連リンク

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

Insider.NET
http://www.atmarkit.co.jp/fdotnet/

5 :>>1 乙:02/05/25 01:33
新スレおめ

6 :デフォルトの名無しさん:02/05/25 11:58
>>1
いや、ほんとに名スレですね!ありがとう!

7 :デフォルトの名無しさん:02/05/26 05:23
.NET はまだしも、C#には幻滅した人の数 : 10,203
.NET にも愛想がつきた人の数 : 34,017

8 :_:02/05/26 09:39
C#って分割コンパイルは一方をDLLにするんですよね。
でもお互いを参照しあったらどうなるの?同時にDLLするしかないのかな?

9 :8:02/05/26 09:41
訂正:同時にDLLする→同時にDLLにする


10 :デフォルトの名無しさん:02/05/26 10:38
>>9
DLLまで考えてダイナミックリンクを忘れるお前はアホか?

11 :8:02/05/26 12:06
>>10
でも source1.cs と source2.csの中のクラスのフィールドとか互いに参照してると
@cs source2.cs /t:library
Acs source1.cs /r:source2.dll
1の時点でコンパイルエラーがでるんですが・・・
targetをmoduleっていうのでもやってみたんですが駄目で
cs source1.cs source2.cs
だといけたので。

12 :デフォルトの名無しさん:02/05/26 12:15
>>11
デザインの問題だと思われ。

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

あくまで原則論だけど。

13 :デフォルトの名無しさん:02/05/26 12:30
typedef見たいにuintの別名を作りたいんですがどうしたらよいのでしょうか??

14 :8:02/05/26 12:31
>>12
なるほど、インターフェースを使うのか。確かになんとかなりそう。thx

15 :デフォルトの名無しさん:02/05/26 12:33
>>13
using T = System.UInt32;

16 :13:02/05/26 12:53
>>15
素早いレスどうもありがとうございます。
できれば、そのTの使用をクラス内限定にさせたいのですが、
そんな方法ありますかね?

17 :13:02/05/26 13:03
間違えました。
クラスの型として宣言する方法でした。
C++で言うところの
class A
{
 typedef unsigned int T;
};
をしたいのですが。

18 :デフォルトの名無しさん:02/05/26 13:07
>>17
それは無理。
別名のスコープはnamespace全体かソースファイル全体。

19 :13:02/05/26 13:18
>>18
またまた、素早いレスどうもです。
そのクラス特有のものだったので、クラス内に収めておきたいと思ったもので。
namespace被せておきます。

20 :デフォルトの名無しさん:02/05/26 13:32
>>19
ちょっと苦しいけど、こんな手もある。

using System;

namespace Hoge {

  using T = System.Int32;

  class Foo
  {
    T n;
  }
}

namespace Hoge {

  using T = System.String;

  class Bar
  {
    T n;
  }
}

21 :13:02/05/26 14:09
おっと!
>>20見て気づきました。
>>18の内容をちゃんと理解してなかったみたいです。
ほかのファイルからは別名を参照で出来ないんですね。
ボケてました。スイマセン…

22 :デフォルトの名無しさん:02/05/26 15:11
>>11
http://www.atmarkit.co.jp/fdotnet/technology/index/index.html

23 :デフォルトの名無しさん:02/05/26 17:29
//C++スレに誤爆済み。コピペ失礼。(爆

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

「バージョン情報」タブを非表示にさせる方法もあれば、お願いします。


24 :デフォルトの名無しさん:02/05/26 17:59
>>23
System.ReflectionのAssembly〜Attributeを参照してちょ。

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

いったん.exeをILDASMして、(ここでWin32リソースが出てくるはず)
で、ILのみをILASMかな。

25 :デフォルトの名無しさん:02/05/26 18:04
>>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.*")]

26 :デフォルトの名無しさん:02/05/26 18:05
>using System.Runtime.CompilerServices;
これはいらなかったか・・・

27 :デフォルトの名無しさん:02/05/26 18:59
>>23
SDK使いですが、>>25 の方法でOKっす。
ソースをダウンロードするとAssemblyInfo.cs付いてることあるっしょ。
それです。
つまり >>25 をAssemblyInfo.csにしていっしょにコンパイルするだけ。

28 :23:02/05/26 19:09
できた!さんきゅ〜。

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

(プロパティでは表示されていないらしい)AssemblyConfigurationの意味、
「言語」欄を日本語にする方法、
AssemblyVersionの"*"の法則も教えていただけますか?
// "*"はコンパイル日時がベース?

29 :デフォルトの名無しさん:02/05/26 19:22
>>28
ms-help://MS.NETFrameworkSDK.JA/cpref/html/frlrfSystemReflectionAssemblyVersionAttributeClassctorTopic.htm

30 :デフォルトの名無しさん:02/05/26 19:26
つーかヘルプにちゃんと書いてあるよ・・・。

31 :デフォルトの名無しさん:02/05/26 19:55
>>29-30
あれ?ほんとだ。トピックにはちゃんとある。
全文検索に頼りすぎたらしい。。スマソ。

32 :デフォルトの名無しさん:02/05/26 20:32
>>7
C#の、言語そのものはいいんだけど、IDE部分がいただけない。
Borland C# Builder出んかなあ

33 :デフォルトの名無しさん:02/05/26 20:35
>>32
じゃあ作れば?

34 :デフォルトの名無しさん:02/05/26 20:35
>>32
アウトラインで折り畳めるコードエディタすごく便利だと思うんだが。


35 :デフォルトの名無しさん:02/05/26 20:40
>>34
エディタは便利なのだが、フォームデザイナが…。
コードとの連携も悪いし。

まあここで完璧なもの作られたらBorlandが商売上がったりだから、それでいいのかも

36 :デフォルトの名無しさん:02/05/26 20:46
Borlandが作るとエディタ部分がいただけない出来になるという罠

37 :デフォルトの名無しさん:02/05/26 21:05
エディタはM$製、デザイナは某製か・・・
自由に選んで組み合わせたり出来るようにならんかな〜

38 :デフォルトの名無しさん:02/05/26 22:46
エディタはgVImがいーなー

39 :デフォルトの名無しさん:02/05/27 00:25
>>38
激しく同意。VisVimの.NET版でないかなー。

40 :デフォルトの名無しさん:02/05/27 00:26
だから作れと。
CodeDOM渡河すれば良いんじゃないの?

41 :デフォルトの名無しさん:02/05/27 15:42
明日からMSのカンファレンスが大阪であるけど、
ここ見てる人たちで、行くって人どれくらいいる?
とか尋ねてみるテスト

ま、行くとしてもみんな全部T1トラック
とかなんだろか。


42 :デフォルトの名無しさん:02/05/27 17:02
MSCのこと?あれって営業マン向けのイベントでしょ?

43 :デフォルトの名無しさん:02/05/27 17:28
すみません。
Stringとstring、どっちが王道ですか?

44 :デフォルトの名無しさん:02/05/27 17:53
>>43
Int32とint、どっちが王道ですか?

45 :デフォルトの名無しさん:02/05/27 17:57
Voidとvoid、Int64とlong、、、

46 :デフォルトの名無しさん:02/05/27 18:07
なるべく組込型使った方が良いか。。。むぅ。

47 :デフォルトの名無しさん:02/05/27 18:08
>>43-45
キーワードを使った方がエディタの支援があって楽でし

48 :デフォルトの名無しさん:02/05/27 18:13
voidとkusakabe、どっちが王道ですか?

49 :デフォルトの名無しさん:02/05/27 18:42
>>47
組込型や予約語は補完してくれない罠。

50 :デフォルトの名無しさん:02/05/27 18:51
ところで、C#の矩形配列って右側と左側どちらのindexがメモリ内で連続的に
なるんでしょうか?c[x,y]のときにxとyのどちらが連続かという事です。

51 :デフォルトの名無しさん:02/05/27 19:01
>>50
気にしちゃ逝けないことだと思う。せっかくメモリアドレスを隠匿してるのに。
と消極的意見。

52 :50:02/05/27 19:22
>>51
気にしちゃいけないのかもしれないけど、サイズが大きくなると速度が倍じゃ
済まなくなるんで気になります。
そういや、fixedでアドレス取れるんだっけ。自分で実験してきます。

53 :50:02/05/27 19:47
試してみました。右側が連続ですね。array[x,y]ならyの方が連続です。

54 :デフォルトの名無しさん:02/05/27 21:22
>>52
パフォーマンスならstackallocとかもみておくんなまし。

55 :50:02/05/27 23:23
>>54
なるほど、こんなのもあるんだね。
ただ、Terrariumのためのプログラムなんで、unsafeコードは使えないです。
(試しに使ってみたらシステムに怒られました)

56 :デフォルトの名無しさん:02/05/27 23:30
連想配列みたいなクラスない?

57 :デフォルトの名無しさん:02/05/27 23:31
>>56
思いっきりある。System.Collectionsあさって見なされ。

58 :デフォルトの名無しさん:02/05/27 23:37
IDictionaryか・・・気が付かなかった。
mapとかhashとかいう名前を想像してたんで。

59 :58:02/05/27 23:40
IDictionaryはインターフェースだった(;´Д`)
Hashtableでいいの?

60 :デフォルトの名無しさん:02/05/27 23:56
intに変換するときって、
Convert.ToInt32()
Convert.ToInt64()
どちらにしたらいいん?

61 :デフォルトの名無しさん:02/05/28 00:02
>>60
Int64はlongだぞ

62 :デフォルトの名無しさん:02/05/28 00:47
質問君No.10650です。
複数の色を使いたいために、
TextBoxをRichTextBoxに置き換えたんですが、
ずいぶんと行間があいてしまいます。
Fontもいろいろ弄ってみましたが、駄目です。
なんとかならないのでしょうか。

63 :デフォルトの名無しさん:02/05/28 01:13
>>62
仕様。ワードパッドと同じ。

64 :62:02/05/28 01:35
がーん(T_T
ありがとございましたー

65 :デフォルトの名無しさん:02/05/28 05:38
C++で、自作TextBoxコンポつくれ。

66 :デフォルトの名無しさん:02/05/28 07:13
>>65
>C++で
なぜに?


67 :デフォルトの名無しさん:02/05/28 11:47
>>66
C#じゃ遅いからでない?
MC++使って自作しれってことだと

68 :デフォルトの名無しさん:02/05/28 11:57
>>67
C#がMC++よりおそいなんてこたあない。


69 :デフォルトの名無しさん:02/05/28 23:31
済みません。

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


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

???????

hogehoge(ms);

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


publicvoid hogehoge(Stream Ds)
{
???????
}

70 :デフォルトの名無しさん:02/05/28 23:31
ageさせて下さい。

71 :デフォルトの名無しさん:02/05/29 00:05
seekか?

72 :デフォルトの名無しさん:02/05/29 00:13
BinaryReader?

73 :朝までC#:02/05/29 00:52
前スレで、TextBoxからの継承でイベントをオーバーライドする
問題の件、上手くいきましたありがとうございます。>答えて下さったみなさま。

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

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

みなさん、ADO.NETでどんな実装をしていますか?
とうぜんやりたいことによって何を使うかは変わると思いますが。
印象とか期待とかが聞きたいです。


74 :デフォルトの名無しさん:02/05/29 23:44
Windows.Formsでリアルタイムにログ表示をしたいのですけど、
Iriaとかのログのようにどんどんスクロールさせるには
どうすればよいのでしょうか?

とりあえずListBoxを使ってみたのですが
Items.Addではスクロールさせないと表示してくれませんし、
かといってプログラム側からスクロールをさせる方法がなさそうなので。。
Items.Insert(0,message)という代替手段もありますけど、これは避けたいです。

75 :デフォルトの名無しさん:02/05/30 00:02
>>74
TopIndex

76 :デフォルトの名無しさん:02/05/30 02:40
>>74
普通、ログ表示にはリストボックスよりもエディットコントロールを使うかと。
ReadOnlyのエディットコントロールを使うと楽。

77 :デフォルトの名無しさん:02/05/30 07:29
MySQL Managed Provider
http://www.einfodesigns.com/products.aspx

78 :デフォルトの名無しさん:02/05/30 08:28
>>75
見落としてました。サンクス。

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

エディットコントロールってTextBoxでよいのでしょうか?
使い勝手がいまいちよくない気がするし、
これこそスクロールさせられないような…。
ちょっと詳しく教えていただけませんか?

79 :デフォルトの名無しさん:02/05/30 10:16
http://www.c-sharpcorner.com/

C#の情報やサンプルコードたくさんあっていいんだけど
日本でもこういうサイトないかな?

80 :76:02/05/30 12:15
>>78
VBとかC#でTextBox使ったことないので、エディットコントロールを生で使う
場合しか知らないけど、EM_SETSELで末尾を選択してEM_REPLACESELで追加する
と勝手にスクロールするよ。
えーと、TextBoxのヘルプ見てみたけど、AppendText()で簡単に追加できるのかな?
それだと自動でスクロールしない場合は、SelectionStartとSelectedText使って
手動で追加すれば自動でスクロールしてくれるんじゃない?
それでも駄目ならScrollToCaretで何とかなるかと。

81 :デフォルトの名無しさん:02/05/30 12:28
>>78
既出。文字列の末尾を選択すればスクロールする。
ただしTextBox.HideSelectionプロパティをfalseにセットすること。

82 : :02/05/30 12:33
IDisposableとusingでできることって、try 〜 finallyで実現できるという理解でよろしいか?
するとusingというのはC++が好きな人のための書き換えに過ぎない?

83 :デフォルトの名無しさん:02/05/30 16:05
Webページからリンクを抽出するにはどうやったらいいですか?
ページのソースは取得出来てるんですが。。。

84 :デフォルトの名無しさん:02/05/30 16:18
>>83
正規表現クラス使って、「<a href」〜「</a>」をキャプチャすればよいのでは?
見当はずれならスマン

85 : :02/05/30 16:40
>>83
そのくらいだったら、自分で考えてみるのをお勧めする。
そうでないと言語処理系なんて持ってる甲斐が無い。
冷たいなどと思わずに。

86 :デフォルトの名無しさん:02/05/30 18:32
>>81
78じゃないけど、HideSelectionプロパティを教えてくれてありがとう。
仕方なくFocus()取得->ScrollToCaret()してた箇所がすっきりした。
うれしー。

87 :デフォルトの名無しさん:02/05/31 02:33
LoadLibrary()にあたるものって何?

88 :デフォルトの名無しさん:02/05/31 02:57
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);
}

ファイルとかリンクの場合が分からないです。


89 :デフォルトの名無しさん:02/05/31 03:08
>>88
既出。下に詳しく説明あります。
ttp://www.atmarkit.co.jp/fdotnet/csharptips/003dragdrop/003dragdrop.html

90 :88:02/05/31 03:19
おおっ、まさに望んでいた答えです。
ありがとうございます。

91 :デフォルトの名無しさん:02/05/31 17:07
System.Windows.Forms.ListView
のオーナードローについてのサンプルなど
を探しているですが、どこかにありませんでしょうか。
コラムをちょっとオーナードローしてるのは見つけたんですが。

ListBoxでは簡単にできるんですが、
まさかListViewで出来ないなんて思ってなかったので鬱。

92 :デフォルトの名無しさん:02/05/31 17:31
>>91
P/Invoke使いまくりしか手はないそうな。

http://www.developersdex.com/vb/message.asp?p=1120&ID=%3C%23aE7a7v8BHA%2E2244%40tkmsftngp03%3E

93 :デフォルトの名無しさん:02/05/31 18:47
>>92
ありがとございました。
そのリンク先にあるサンプル[1]が参考になりそうです。
[1]
ttp://www.codetools.com/cs/miscctrl/sortedlistview.asp

94 :デフォルトの名無しさん:02/05/31 20:14
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 でコンパイル時に何か指定すれば可能なのでしょうか??


95 :デフォルトの名無しさん:02/05/31 20:29
>>94
.configに書けばよろし。

ms-help://MS.VSCC/MS.MSDNVS.1041/cpgenref/html/gngrfprobing.htm

96 :94:02/05/31 22:41
>>95
test.exe.config を
<configuration>
 <runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
   <probing privatePath="bin"/>
  </assemblyBinding>
 </runtime>
</configuration>
としてできました、ありがとう♪(^_^)


97 :デフォルトの名無しさん:02/05/31 23:39
>>81
それは、TextBox.Multiline=trueではムリっぽいです。
選択はできてもスクロール無し…。

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

ログと言っても内容をコピーする必要のないものなので、
ListBoxで済ませたいと思います。
ありがとうございました。

98 :デフォルトの名無しさん:02/05/31 23:48
>>97 うちでは問題ないですが?
まあ、どうでもいいみたいですね。ListBox使うみたいだし。
ListBoxでもコピーできますがね。

99 :デフォルトの名無しさん:02/06/01 00:34
できてるけどな…。
 t.Multiline = true;
 t.HideSelection = false;
の状態で、
 t.Select( t.TextLength, 0 );
 t.AppendText( "ぱやぱや" );
だよね。

t.HideSelection = true; だと駄目みたいだが。


100 :デフォルトの名無しさん:02/06/01 00:47
あ、AppendText()はスクロールには余計か。
コピったもんで。w

101 :デフォルトの名無しさん:02/06/01 01:22
>>98-100
スマソ、確認しました。できてますね。。
もはや、今までなんでできなかったのかがサパーリ。(爆

ちなみに、
>ListBoxでもコピーできますがね
「任意の範囲でのコピー」が必要ないという意味でした。
ListBoxでは、どうしても行単位になってしまいますよね?

102 :78:02/06/01 09:11
Cでエディットボックスを生で使う場合は、HideSelectionはtrue相当でも
SETSELで末尾を選択してREPLACESELで追加すればスクロールするけどなぁ。
リッチエディットだとHideSelectionをfalse相当にしないとスクロール
しなかった。結局、ログに追加する瞬間だけHideSelectionをfalseにして
追加したらtrueに戻す事で解決したけど。

それにしてもTextBoxの説明読んでると、生でエディットボックス使う
のがアホに思えるくらい便利そうだなー。
生のエディットボックスはAppendTextに相当する機能すら無いよ。
文末を選択してから選択範囲の置換で追加するの。

103 :デフォルトの名無しさん:02/06/01 10:47
あるフォームから別のフォームのpublicなメンバを操作するにはどんな手がありますか?
static void Main()
{
Application.Run(new Form1());
}

public Form1 forma;

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

とするしかないでしょうか?

104 :デフォルトの名無しさん:02/06/01 11:18
C#じゃないんですが、VS.NETを買って、Cを実行しようとしてるのですが、
まずはじめに、visual C++ consoleを選んで、Cのハローワールド
などの簡単なプログラムを実行しようとすると”セキュリティーの
ためにプロセスが中断されました”みたいなエラーがでてきて
うまくコンパイルすることができません。
C#のほうは何の問題もなくコンパイルできるのですが・・・
なにをどうすればCのソースをコンパイルできるんでしょうか?
教えてください。
お願いします


105 :デフォルトの名無しさん:02/06/01 11:21
C#やりたいんですがVSは買いたくありません。
どうすればいいですか?

106 :デフォルトの名無しさん:02/06/01 11:21
>>104
そのエラーメッセージをキーワードにぐぐれ、すぐ見つかる。

107 :デフォルトの名無しさん:02/06/01 11:23
>>105
万引きする


108 :デフォルトの名無しさん:02/06/01 11:28
>>106
探してみたのですが、それらしいのがどれかわかりません。
お手数ですがもうちょっと詳しく教えてください。
お願いします


109 :デフォルトの名無しさん:02/06/01 11:33
>>108
マジかよ、キーワード何入れた?
普通思いっきり1つ目にヒットするが。

110 :デフォルトの名無しさん:02/06/01 11:37
>>109
英語版のVS.NETを使ってるのでコンパイルエラーが
"The users security settings prevent Project"
とでてくるので、それをサーチしてみたら沢山でてきて
どれがどれだかわからなくて・・・


111 :デフォルトの名無しさん:02/06/01 11:40
>>110
英語版かよ(´Д`;)
http://www.google.co.jp/search?sourceid=navclient&hl=ja&querytime=xwxL3B&q=error+PRJ0016

112 :デフォルトの名無しさん:02/06/01 11:42
>>110
後学のために、もしかして英語版だとエラー番号違う?

113 :デフォルトの名無しさん:02/06/01 12:11
>>105
VC#買う。

114 :デフォルトの名無しさん:02/06/01 12:45
>>111
ありがとうございます。エラー番号は同じでした。
エラー番号で検索していなかったです。
英語版も日本語版も同じなんですね、エラー番号は。
どうもです


115 :デフォルトの名無しさん:02/06/01 12:48
>>104
http://support.microsoft.com/
ここで調べるべし。PRJ0016で載ってるから。

>>105
.NET Framework SDKをダウンロードすれば。雑誌にもついてる。
VS.NET60日間限定体験版もあるぞ。
↑日経ソフトウェアとかそれの特別編とかに付録で付いてる

116 :デフォルトの名無しさん:02/06/01 12:53
>>105
.NET Framework SDK

117 :デフォルトの名無しさん:02/06/01 13:39
>>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 っていう形で呼び出すことができるよ。

118 :デフォルトの名無しさん:02/06/01 13:42
>>117
ああ、良い感じですね。試してみます。

119 :デフォルトの名無しさん:02/06/01 22:11
>>117
GetInstance()を省略する方法はありますか?


120 :デフォルトの名無しさん:02/06/01 22:31
>>119 http://www.geocities.co.jp/SiliconValley/3657/oshiete.html


121 : :02/06/01 23:05
>>120
ワラタ

122 :デフォルトの名無しさん:02/06/01 23:09
見る前からリンクの色が紫になってたよ。。。

123 :デフォルトの名無しさん:02/06/01 23:46
>>119
無理。
どうしても... というんだったら,呼び出し元のフォームに
Form1 main = Form1.GetInstance();
と書いて,main.member と呼び出すのもアリ。

124 :デフォルトの名無しさん:02/06/02 01:08
.NET関連増えすぎだよ。(;´Д`)

http://discuss.develop.com/

125 :デフォルトの名無しさん:02/06/02 01:41
TextBoxのKeyPressイベントの
e.Handled = true;にしても日本語が入ってしまう・・・

126 : :02/06/02 02:20
AxSHDocVw.AxWebBrowserコントロールを継承したユーザーコントロールを
作っています。

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

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

どのようにすれば良いでしょうか?

127 :デフォルトの名無しさん:02/06/02 02:33
>>126
e.cancel = true にすればブラウザ側の処理はキャンセルされます。

...けど,.NET 環境で BeforeNavigate2 イベント動きました?
前スレにもあったんだけど,BeforeNavigate2 イベントが発生されない...
解決策は SHDocVw.WebBrowser_V1 の BeforeNavigate イベントを使うことなんでしたけど...

128 :デフォルトの名無しさん:02/06/02 05:56
C#って、JAVA・VBほど惨くないけど、Delphi未満のアプリしか作れんね。鬱だ・・・
何を作れるかは、作る人間によるってのは無しね。
そりゃ、BASICでも高速Windwosアプリ作れるかもしれないけどさ。俺はやりたくないよ。


129 :デフォルトの名無しさん:02/06/02 06:00
>>128
自分にスキルが無いことを言語の所為にするヤシ、ハケーン

130 : :02/06/02 06:04
>>129
言語っつーよりゃ環境だわな
MS製品はバージョン3から良くなるのは定説じゃない?

131 :デフォルトの名無しさん:02/06/02 06:30
VBでやってたようなお仕事は、C#に置き換わるでしょう。
それくらいの能力が、C#にはある。
凝った物を作ろうとするから、問題が出るんです。
与えられた物の範囲内で、機能を実現しましょう。

132 : :02/06/02 09:32
>>127

そう、BeforeNavigate"2"じゃありませんでした。
>e.cancel = true にすればブラウザ側の処理はキャンセルされます。
ありがとう、やってみます。

133 :デフォルトの名無しさん:02/06/02 12:02
>>128
激しく無能さん?でなけりゃ、Del万歳厨?ま、なんにしてもネタだね。

134 :デフォルトの名無しさん:02/06/02 12:04
P/Invokeなんてあまり使いたくないけど、使わないとまともにUIが作れないね。

135 :デフォルトの名無しさん:02/06/02 16:19
ワープロのような高度なアプリケーションを
C#でと考えるような奴は厨

136 :デフォルトの名無しさん:02/06/02 16:21
>>135
リッチエディットコンポーネントの立場は?

137 :デフォルトの名無しさん:02/06/02 16:33
>ワープロのような高度なアプリケーション
素人の方ですか?

138 :デフォルトの名無しさん:02/06/02 18:17
C#厨は、WordPadみたいなクズアプリでも、ワープロと呼ぶのかな?

139 :デフォルトの名無しさん:02/06/02 18:18
>>138
頭弱い人は来なくていいよ。

140 :デフォルトの名無しさん:02/06/02 18:24
釣られすぎだおまいら。

141 :デフォルトの名無しさん:02/06/02 18:36
>>135
ワープロじゃないが、
http://www.icsharpcode.net/OpenSource/SD/default.asp
の立場はどうなる。
その前に.NETのクラスライブラリの立場はどうなる。あほだろちみ。

142 :デフォルトの名無しさん:02/06/02 23:50
現状の.NET Frameworkが重い(特に起動)のは事実だから、
この点をつっこまれたらC#erは下唇噛んで頷くしかないな。

でも、言語仕様はイイぞ。override周りが少々気に食わんが
概ね好みだ。Java以上のシェアとかC++並みの実行速度とか
無茶は言わんから、せめてVBを駆逐してくれれば・・・(無理)。


143 :デフォルトの名無しさん:02/06/03 00:16
VB駆逐まではいかなくても、
新しいバージョンのAccess、Excelには
C#風の言語での開発も出来るようにしてホスィ。

144 :デフォルトの名無しさん:02/06/03 00:31
VS.NETが.NETで動作していることを知らないのか・・・。

145 :デフォルトの名無しさん:02/06/03 00:32
[DllImport]使ってDLLの関数を呼び出しているんですけど、
その関数使わないとDLLそのものがロードされないようなのです。
関数を呼ぶよりも前にDLLをメモリにロードしておく方法はないですか?

146 :デフォルトの名無しさん:02/06/03 00:38
LoadLibraryをDllImportするとか・

147 :145:02/06/03 01:02
>>146
やっぱりそんな方法しかないですか(;´Д`)

148 :デフォルトの名無しさん:02/06/03 01:59
>>142
PreJITでもまだ遅い?
っていうかPreJITって実装されてたっけ…?

149 :デフォルトの名無しさん:02/06/03 02:11
>>148
つかngenしても一発目の.NETアプリの起動は激遅い。
何とかしてくりMSタン

150 :ガイシュツならスマソ:02/06/03 02:16
System.IO.FileSystemWatcher つかってファイルの更新を監視したいと思ったら・・・
ファイルを変更したときに「Renamed」のイベントハンドラに処理が飛ばされる・・・ショック

151 :デフォルトの名無しさん:02/06/03 02:23
>>149
ngen…かぁ。
それでもダメなのはイタイぞ.NET。

152 :デフォルトの名無しさん:02/06/03 02:43
>>142
142のVBはこれまでのVBか?それともVB.NETか?
VB.NETはC#と肩を並べられる程度の能力がある。
まぁ、クラスライブラリが共通だからだが。


153 :デフォルトの名無しさん:02/06/03 11:07
一発目の起動が遅いなんてのはサーバーサイドでは問題にならない。。。Javaでも.NETでも

とか言ってみるテスト

154 :デフォルトの名無しさん:02/06/03 11:55
.net studioのideで、コンポーネントのclick イベント以外のイベントハンドラ
はコードを自動生成する方法ないんでしょうか?
デル厨なもんで、これが面倒くさくてたまりません。

155 :デフォルトの名無しさん:02/06/03 12:03
>>154 
プロパティウィンドウの雷マークのアイコンクリックしてみ。

156 :デフォルトの名無しさん:02/06/03 12:09
>>155
おー!こんなところに隠れていたのか!サンクスです!
今までしこしこコード書いてたのがあほみたいっす

157 :デフォルトの名無しさん:02/06/03 13:57
訳もなくパソコンに詳しい振りをせずに本色を現わしなさい世の中で第一
さもしくて卑怯なやつらよ汚いやつらカアックトェ!!!!!!!
トェトェトェ!!!!!!
汚いやつら地球上で消えてしまいなさい!!!!! カアックトェ! 与えなさい
お前のたまに運ゲイツ奴ら汚いやつらさもしいやつら疎ましいやつら
あなたたち見ていれば吐くようだ分かるのか? この汚くて邪悪学高疎ましいやつら
カアックトェ~! トェトェトェ変態やつら汚いやつら変態無理集団変態たち
鼻持ちならない吐くようだあなたたち見ていれば 1年前に買ったWin2000上って来ようとする
分かるのか? 是非消えなさいこの邪悪で汚くてさもしいMSの奴隷よカアックトェ!! トェトェトェ!!
カアアックトェトェトェ!!!!!!
------  カアックトェ!! トェトェトェ!!
  カアアックトェトェトェ!!!!!!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

  ´   ヾ
 ゛ (⌒) ヽ
 ((、´゛))
   ||||||
   ||||||
  ∧_∧
 <丶`Д´>∩
 (つ   丿
  ( ヽ ノ
  し(_フ

158 :デフォルトの名無しさん:02/06/03 18:28
すんません
string []Mailer = RegMailer.GetSubKeyNames();
みたいな感じで配列に入れたときに
何個配列ができてるか?(=何個配列があるのか)調べるにはどうしたら
いいんでしょうか?

159 :デフォルトの名無しさん:02/06/03 18:29
System.Array.Length

160 :デフォルトの名無しさん:02/06/03 18:30
>>159
あんがと!
調べても出てこない俺はまだ初心者だね・・・。

161 :スマソ・・・愚痴らせて:02/06/03 19:56
<ぐち>
  最近やること成すこと全然うまくいかない…
  FileSystemWatcher で changedのイベント発生しないし、
  Assembly.Load("System.Data");で FileNotFoundException とか言われるし…
  何が悪いのかさえわからないんじゃ質問のしようもないし…
  とほほ…今日一日で5行しか書いてないよ…
</ぐち>

162 :デフォルトの名無しさん:02/06/03 19:59
OpenWatcomを落としたのですが、
落としたアイコンをダブルクリックすると
Could not intialize inst・・(省略)・・パラメータが正しくありません。
とでてOKをクリック(OKしかない)すると元の画面に戻ります。
何度やっても同じです。
どうすればいいでしょうか?


163 :デフォルトの名無しさん:02/06/03 21:34
>>162
C++スレ逝け

164 :& ◆UMzR.EvE :02/06/03 23:12
C#とC++ってまったく別物と考えて正しいのでしょうか?
C# > C++ ではないですよね?

165 :デフォルトの名無しさん:02/06/03 23:13
>>164
CからC++のときと違って、
C#はこれらの直線上にあるものではないから比較は無意味

166 :デフォルトの名無しさん:02/06/03 23:18
よく言われるけどC#はC++よりもむしろJavaに近い。


167 :デフォルトの名無しさん:02/06/03 23:18
>>164
むしろJavaと比較した方がマシかと。

C#の正式名称はJava++だと言ってみるテスト。

168 :167:02/06/03 23:19
>>166
息が合うね。w

169 :デフォルトの名無しさん:02/06/03 23:34
C#はむしろCの進化形な気がするよと言ってみるテスト。

170 :デフォルトの名無しさん:02/06/03 23:49
素人目にはVBと見た目が似てたと言ってみるαテスト


これから徐々に勉強するから許して・・・(涙

171 :デフォルトの名無しさん:02/06/03 23:58
配列をIntPtrにキャストする場合、どうすればよいでしょうか?
C/C++なら…
Byte[] p = new Byte[100];
int* z = (int*)p;

と記述できますが、C#だとわかりません。
unsafe使わないでやりたいのですが、どうすればよいのでしょうか?

172 :デフォルトの名無しさん:02/06/04 00:01
そりゃ配列はポインタでねぇんだからキャストなんぞできねぇべ

173 :デフォルトの名無しさん:02/06/04 00:09
>>171
C#の配列はSystem.Arrayから派生するオブジェクトだというのが
C/C++との決定的な違いだよん

174 :デフォルトの名無しさん:02/06/04 00:53
>>171
unsafe使うのとほとんど変わらないんだけど、こんな感じ。

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

  ...

  handle.Free();  // ← 忘れずに!!

175 :.NETレス:02/06/04 01:11
>>171
キャストじゃなくコピーになるが・・・
Marshal.Copyメソッド

176 :デフォルトの名無しさん:02/06/04 02:30
素直にunsafe使うか、自前の配列クラスを作るのが吉

177 :171:02/06/04 08:22
みんなありがとう!!
やはりここは素直にunsafeを使う方向で考えてみます。
配列と同様に、クラスのキャストもしょーがないんですかね。

178 :デフォルトの名無しさん:02/06/04 10:04
C#は、メインストリームになるという(幻想を)植え付けるため、
現在の主流C++から名付けた。(C -> C++ -> C++++)
しかし実体は、JAVA+VBといった色合いが濃い。

179 :デフォルトの名無しさん:02/06/04 10:16
>>178 誤爆ですか? 

こちらにどうぞ

C .NETが流行らなかったらどうなる?
http://pc.2ch.net/test/read.cgi/prog/1021993329/


180 :デフォルトの名無しさん:02/06/04 10:33
>>179
C#に不利な意見だけ、誤爆というのはどうかなぁ。
164-165-166-167-169-170-171の流れでしょう。

181 :デフォルトの名無しさん:02/06/04 10:48
C#でクライアントソフトってのは、現実的にどうよ?
シェアウェアつくりたいんだけど、俺はこのままC#でいいのか?

みんなの率直な意見を聞かしちくれ。

182 :デフォルトの名無しさん:02/06/04 10:51
>>180
わざわざ、質問スレ荒らすなってことでしょう。
他にもやりあってるところはいくらでもあるんだから、そっちでやれと。

183 :デフォルトの名無しさん:02/06/04 11:06
>>178
同意
>>182
別に荒らすつもりは無いけど、俺もC#って名前は気に入らない。
C/C++ユーザーを強引に取り込むつもりなんだろうけ、
中身はC++とは似ても似つかないし。
J#だったらまだ良かった。

184 :デフォルトの名無しさん:02/06/04 11:58
>>181
C#でかちゃ〜しゃクローンを作ってちょ。あんま意味ないけど。

185 :デフォルトの名無しさん:02/06/04 12:39
C# = (Java + Delphi + C++) / 3 でいいじゃん
せっかくだからBorlandにはD#作って欲しいな

186 :デフォルトの名無しさん:02/06/04 12:49
C# = (Java + Delphi) / 2 でいいじゃん

187 :デフォルトの名無しさん:02/06/04 12:50
C# = (Java(機能) + Delphi(ヘジたん) + C++(記法) )/3

188 :デフォルトの名無しさん:02/06/04 13:24
>>187
記法は激しくJavaよりかと。

189 :デフォルトの名無しさん:02/06/04 13:30
>>188
namespaceや継承の書き方など。
それ以外にC++とC#の共通点がいまいち見えてこないが。

190 :デフォルトの名無しさん:02/06/04 13:32
>>189
テンプレートでも載ってれば堂々といえたのにね。

191 :デフォルトの名無しさん:02/06/04 14:04
もうやめようぜ。JAVAと比べてどうとかは、激しく既出。
他でやってね。

192 :デフォルトの名無しさん:02/06/04 14:25
>>191
良くなったC++とか言ってれば、他へ行けとか言われないのにね。

193 :デフォルトの名無しさん:02/06/04 14:30
このスレでは、C#は進化したC++って結論で。
もう、話を終わりにしようや。

194 :デフォルトの名無しさん:02/06/04 14:49
宗教戦争は隔離スレでやってくれ。

195 :デフォルトの名無しさん:02/06/04 16:26
TextBoxでEnter押したときのBeepってどうやって止めるのですか?

196 :デフォルトの名無しさん:02/06/04 16:32
ブザー(音源)を全部はずす。

197 :デフォルトの名無しさん:02/06/04 16:35
>>195
APIでやるか、デフォルトボタンおくか、Multilineにするかではないかな。

198 : :02/06/04 16:44
自分の気に入らないメソッドを全部空メソッドでオーバーライドして無効化しろ

199 :デフォルトの名無しさん:02/06/04 16:50
>>195
こんな感じで。

class TextBoxEx : TextBox {

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

    return base.ProcessDialogKey(keyData);
  }
}

200 :195:02/06/04 17:12
199さんの方法でできました、感謝。

ブザーを外すってのもなかなか魅力的なアイデアだったのですが...

201 :デフォルトの名無しさん:02/06/04 17:19
C#、C++雑談スレッド
http://pc.2ch.net/test/read.cgi/prog/1023178697/

202 :デフォルトの名無しさん:02/06/04 17:46
Windows Service(旧 NTサービス)アプリケーションを作っているのですが、
OnStart メソッド処理中に例外が発生した場合、サービスを停止させたいと思い、
Catch 句の中で ServiceController クラスの Stop メソッドを呼んだのですが、
イベントログを見ると、以下のようなエラーが出てしまいました。

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

これを回避する方法が分からないのです。
ご存知の方、ご教授ください。。。

203 :デフォルトの名無しさん:02/06/04 17:54
>>202
ServiceController.Statusはどうなってるの?
Runningじゃなきゃ止められないのは当然。

204 :デフォルトの名無しさん:02/06/04 18:48
>>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 の確認はどうやればいいのでしょうか? 度々すみません…

205 :デフォルトの名無しさん:02/06/04 20:36
>>204
ServiceController.ServiceNameをちゃんと設定してる?
あるいはコンストラクタで。

でもよくよく考えてみると、サービス内でServiceControllerを使うってのも何か変だな。
他のサービスを操るならともかく。

206 :デフォルトの名無しさん:02/06/04 20:41
Multi Column なTreeViewを作成したいと思っているのですが、
ヘルプを調べた限りでは正攻法では無理みたいですね。
Webで調べてみましたが、なかなか見つかりません。
なにか参考になるサンプルなどありませんでしょうか?

207 :デフォルトの名無しさん:02/06/04 20:50
>206
>Multi Column なTreeView

ってどんなの?

208 :デフォルトの名無しさん:02/06/04 21:07
>>206
製品ならあるんだけど・・・。
http://www.devexpress.com/products/net/xtratreelist/index.asp

ソースつきのはMFCしか見たことない。
http://www.codeguru.com/treeview/treelist.shtml

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

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

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

>でもよくよく考えてみると、サービス内でServiceControllerを使うってのも何か変だな。
>他のサービスを操るならともかく。
確かに違和感を持ったのですが、私がヘルプを調べた限りでは、サービスの挙動を制御する
メソッドを持っているのは「ServiceController」しか見つけられなかったもので、とりあえず
使ってます。

210 :デフォルトの名無しさん:02/06/04 23:51
>>208
ありがとうございます。
しかし厳しいですね。私の手に負えません。MFCは、、

211 :デフォルトの名無しさん:02/06/05 01:01
>>195
もう解決済みみたいだけど、
KeyPressイベントでEnter押下のときにe.Handled=Trueでどう?
従来の方法そのまんまだけど、試してないので、いけるかどうか不明。

212 :199:02/06/05 01:43
>>211
バッチリです。サブクラス化する必要なんてなかったのか・・・。

213 :朝までC#:02/06/05 11:17
TextBoxに漢字で入力したら別のTextBoxにフリガナを自動で入れるのは、
VB6同様APIを使わないと駄目なようですねぇ
めちゃローカルな機能だから仕方ないか。

214 :デフォルトの名無しさん:02/06/05 12:39
Microsoft Java Language Conversion Assistant Beta 2
http://msdn.microsoft.com/vstudio/downloads/jlca/default.asp

215 :朝までC#:02/06/05 14:48
DateTimePickerコントロール(日付入力)には、
BackColorプロパティが無いのですが、
どうにかして背景色を変更できないでしょうか?
DateTimePickerを継承したコントロールを作っています。

216 :デフォルトの名無しさん:02/06/05 15:40
>>215

dateTimePicker1.BackColor = System.Drawing.Color.Yellow;
これ自体はコンパイル通るね。
マニュアルにもあるし。
でも確かに反映はされないな・・・。

217 :デフォルトの名無しさん:02/06/05 15:50
>>216

自己レス
ttp://www.dotnet247.com/247reference/msgs/15/77551.aspx
にもあるが、どうやらあきらめるか、
Controlから自前で作成してやるしかなさそうですね。

218 :デフォルトの名無しさん:02/06/05 16:52
>>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で。

219 :デフォルトの名無しさん:02/06/05 16:55
>>218
unmanagedな罠。

220 :218:02/06/05 17:07
これぐらい作った方がいいか。

[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型に変えればよろし。

221 :218:02/06/05 17:12
こうすりゃいいか。

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

222 :デフォルトの名無しさん:02/06/05 17:16
>>220
ついでに
property RGB
{
get
{
return = Red * 255 * 255 + Green * 255 + Blue;
}
}

223 :朝までC#:02/06/05 17:45
みなさん、背景色の対策ありがとうございます。
しかし・・・色が変わるのはカレンダーのポップアップしてくる
ウインドウの背景だけで、目的のポップアップしていないときの
テキストボックスみたいなのの背景は白いままです。
ちなみに今回APIで変更できた部分は普通にプロパティで変更できます。

副産物的に良いAPIの使い方のサンプルになったので、
これを応用してフリガナ自動入力もチャレンジします。

224 :朝までC#:02/06/05 17:49
DateTimePickerにはBackColorが有るんだけど動かないですね。
あと、Clickイベントも全然入らないですね。
せっかくのインターフェースとかの言語仕様が泣いてるぞぉ。


225 :218:02/06/05 17:50
>>223
> ちなみに今回APIで変更できた部分は普通にプロパティで変更できます。

ああああああああああああああ。やってもうた・・・。

226 :朝までC#:02/06/05 18:04
DateTimePickerってValueChangedも登録してイベント発生まで
行くんだけど、その後、プロパティからイベントの表示が消えたり不気味ですね。

VB6の時も標準的ではないコントロールで不気味なやつがありましたが、
C#でも派手ぎみのコントロールは使わない方がいいのかも?


227 :朝までC#:02/06/05 20:33
とりあえずこんなことがありましたと言う報告を・・

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

そのコントロールを使ったフォームの表示には問題ありません。
直接ソースをさわってユーザーコントロール上のTextBoxを
削除すると正常に戻ります。

228 :デフォルトの名無しさん:02/06/05 20:36
気づいた報告はここではなくM$へ・・・
SPで直してもらいたいので

229 :デフォルトの名無しさん:02/06/05 21:00
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);//ここでエラー

成功した方いましたら,方法を教えてくれませんでしょうか

230 :デフォルトの名無しさん:02/06/05 22:13
C# Standardだと、IDEからdllにコンパイルでけんの?

231 :デフォルトの名無しさん:02/06/05 23:11
>>230
standardはクラスライブラリは作れなかったような・・・
DOSから叩け、叩け、叩けぇ〜

232 :デフォルトの名無しさん:02/06/05 23:14
プロジェクトのテンプレートをゲトすれば出来るんでなかったけ
Terrariumあたりでそんな噂を

233 :デフォルトの名無しさん:02/06/06 00:19
>>232
通報すますた

234 :232:02/06/06 00:28
ひどい(;; )
違法じゃないよぅ
MSの公式サイトにも書いてあるはず


235 :デフォルトの名無しさん:02/06/06 02:46
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();
}

236 :デフォルトの名無しさん:02/06/06 02:48
>>235
あなたアフォですか?

237 :デフォルトの名無しさん:02/06/06 02:51
君ほどじゃないと思うけど。

238 :デフォルトの名無しさん:02/06/06 02:55
正規表現リファレンス見れ
MSDNライブラリにあったはず

239 :デフォルトの名無しさん:02/06/06 02:56
>>235
ワイルドカードと正規表現は違う。
Regexのヘルプの関連リンクチェックしてみ。

240 : :02/06/06 02:59
ワイルドカード相当の正規表現は "..*" でいいのかしらん

241 :デフォルトの名無しさん:02/06/06 02:59
>>240
.が一個多かった

242 :デフォルトの名無しさん:02/06/06 03:01
acdとか、abbbbbbbcdとかならひっかかるだろうねぇ。。

243 :242:02/06/06 03:28
あ、タイミングわるいな。あれは「*だったら」。

ワイルドカードは.*でよいんじゃない?
.+のような気もしないでもないけど。
ワイルドカードの性質を忘れてしまったよ。

244 :デフォルトの名無しさん:02/06/06 03:41
"ab(.*)cd" だと "abfcdmmmmabgcd" が丸ごと引っかかってしまうな・・・。

245 :デフォルトの名無しさん:02/06/06 04:08
.*? ならいいのか。

246 :朝までC#:02/06/06 13:41
P4-2GHzで開発していると気にならなかったんだけど、
作ったものをP3-500で走らせるとあまりもの起動の遅さに絶句・・
起動時のコンパイルをあらかじめしておくツールとしてPreJit.exeってのが
提供される予定なんだそうだけど、
http://www.microsoft.com/japan/msdn/net/mag00/framework.asp
まだでてこかいのかなぁ 標準のIDEにオプションで「PreJITでコンパイル」ってのを
付けて欲しかったなぁ

247 :デフォルトの名無しさん:02/06/06 14:35
>>246
ms-help://MS.NETFrameworkSDK.JA/cptools/html/cpgrfnativeimagegeneratorngenexe.htm

248 :195:02/06/06 14:37
>>211
遅レスですがこちらでも確認しましたm(__)mカンシャ

で、今はShift+Enterの時に前のコントロールに戻るってのやろうとしているんですが...(涙)

249 :デフォルトの名無しさん:02/06/06 14:58
>>247
ngen.exeって単体で配っていいのかな?再配布パッケージだと
パス通ってなくてbatファイルでngenさせられないしさ。
インストーラ作るしかないのかな。

250 :デフォルトの名無しさん:02/06/06 15:13
>>249
パス通せばいいだろ・・・

251 :デフォルトの名無しさん:02/06/06 15:16
>>250
ユーザーにいちいちパス通させることはできんでしょ。

252 :朝までC#:02/06/06 15:29
>>247 ありがとうございます。
すごい!ngen.exe
コンパイル済みをキャッシュさせるなんて方法もあったんですね。
起動速度は全然問題なしになりました。
さて・・自動でキャッシュさせる方法ですね。


253 :デフォルトの名無しさん:02/06/06 16:10
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")));

254 :デフォルトの名無しさん:02/06/06 16:35
>>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 のところでイベントを発生させて,
テキストボックスを置いてるフォームで処理するようにしたほうが楽かも。

255 :デフォルトの名無しさん:02/06/06 17:29
今日出た[Visual C# .NET実践講座]の本はどうですか?
情報お願いします。

256 :デフォルトの名無しさん:02/06/06 17:40
256げっと

257 :254:02/06/06 17:46
(keyData & (Keys)0xffff) == Keys.Enter; ってやらないと動かないね...
今気付いたよ (´・ω・`)ショボーン

258 :195:02/06/06 18:12
>>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起動の禁止、数字のみの入力等々と拡張していきたいのです...

259 :デフォルトの名無しさん:02/06/06 18:14
フォームクラスでこんな感じでどう?

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

    return base.ProcessDialogKey(keyData);
  }

260 :デフォルトの名無しさん:02/06/06 18:25
>>258
これでどう?

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

    return base.ProcessDialogKey(keyData);
  }

261 :デフォルトの名無しさん:02/06/06 18:27
>>257
どうしてその演算子の腐った優先順位受け継いじゃったんだろうね

262 :195:02/06/06 18:52
>>260
動きました!
こんな簡素に書けるのですね(^^ゞ

やはり基本から勉強しないとイカンですね。
VBではサードパーティのコントロール使いまくりで
こういった事を全くやらなかったので戸惑うことばかりです。

263 :デフォルトの名無しさん:02/06/06 19:18
NotifyIconでタスクトレイに入れたアイコンをダブルクリックした時に
フォームを表示させようとして・・
notifyIcon1_DoubleClickに

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

を書いたんですが・・・タスクバーに出るだけでフォームがでないんですが・・
こんな馬鹿にお助けを。


264 :デフォルトの名無しさん:02/06/06 19:44
>>263
this.Visible = true; にするだけでいいと思われ。
ってか、ShowInTaskbar はここでは関係ないような・・・。

265 :デフォルトの名無しさん:02/06/06 19:57
>>264
ありがとございます。

ただ問題がタスクバーではアクティブなんですが画面には表示されて
ないんです・・・これは俺のマシンがおかしいと言う事?

266 :デフォルトの名無しさん:02/06/06 20:52
C#のstanderdを買いました。
VC6.0のようにビルドオプションを変更するのは
どこでやればよいのでしょうか?



267 :デフォルトの名無しさん:02/06/06 21:14
プロジェクトのソリューションエクスプローラでプロパティ
のとこにあるやつ?

268 :デフォルトの名無しさん:02/06/07 03:37
これはバグなんだろうね、、、
デスクトップにある0バイトのファイルを開いて閉じると
アセンブリのあるディレクトリが変更されて、
アセンブリがデスクトップにあることになってしまった。
アセンブリのルートにある設定ファイルなどに、
アクセスできなくなったので調べてわかった。
試しに、コンパイラの最適化オプションでビルドすると再現しない。

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

これじゃ単なる愚痴だね。スマソ


269 :266:02/06/07 08:04
のどこですか?

270 :デフォルトの名無しさん:02/06/07 16:12
>>266
MSDN検索しろ。ビルドオプションでもちゃんと出てくる。


271 :266:02/06/07 19:26
知ってるなら、教えてくれてもいいのに。。。

272 :デフォルトの名無しさん:02/06/07 19:26
>>271
プログラマ適性ないね。君。

273 :デフォルトの名無しさん:02/06/07 19:53
         へ        ヘ
        /  \     / \
       /    \__/   \
      /              \
     /  O        O      |  C#のいい本がないの
     |       ⌒   ∪  #   |
     |                  | ___
      |                 |    /\
    / \_   ___   __ ノ   /   \
  /| ̄ ̄ ̄|    |  |    |   ̄ ̄ ̄| \    \
/   |     \_/   \_/       |  \   /
    |                      |    \/
    |                      |   |
    |                      |  /
    |_______________|/

274 :デフォルトの名無しさん:02/06/07 19:57
>>273
洋書ならイパーイあるよ

275 :デフォルトの名無しさん:02/06/07 20:00
>>273
もうすぐでまーす。がまんがまん。

276 :デフォルトの名無しさん:02/06/07 20:09
ASP.NET使いは注意してね。
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japan/technet/security/bulletin/ms02-026ov.asp

277 :268:02/06/07 20:12
>>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( ".\\" );
}
相対パス使うこと自体がまずいのかな。長くなって申し分けありません。

278 :デフォルトの名無しさん:02/06/07 21:07
>>277
Application.StartupPath じゃダメなの?

279 :268:02/06/07 21:12
>>278
いいのですが、
ソフト使用する人が相対パスでパス指定したら面倒だなぁと思いまして。。
これは普通の仕様なんでしょうか?ちょっとびっくりしたのですが、、

280 :278:02/06/07 21:12
追記。
.\ はあくまでカレントディレクトリなので,実行ファイルがあるフォルダとは限らないよ。
ショートカットを作って,「作業フォルダ」に別のパスを指定すれば,そこがカレントディレクトリ .\ になる。

アセンブリのあるディレクトリを取得する場合は,>>278 の通りです。

281 :268:02/06/07 21:19
>>280
よくわかりました。どっちにしても.\でアセンブリのあるフォルダに
アクセスするのは危険なんですね。

282 :268:02/06/07 21:21
278さん ありがとうございました。


283 :デフォルトの名無しさん:02/06/07 21:30
アセンブリのあるディレクトリは

Directory.GetCurrentDirectory()

で取れるよ。


284 :デフォルトの名無しさん:02/06/07 21:31
>>279
>これは普通の仕様なんでしょうか?
OpenFileDialog(内部的にはCommonDialog)を使っているからです。
普通の仕様です。

285 :デフォルトの名無しさん:02/06/07 21:37
>>283
思いっきりカレントディレクトリじゃん(w

286 :デフォルトの名無しさん:02/06/07 23:05
>>283
お前、>>280 の話ちゃんと聞いてたか?


287 :デフォルトの名無しさん:02/06/07 23:06
>285
DLLを別ディレクトリに配置して、その中で呼んだ場合はDLLのあるディレクトリが取れるよ。
Application.StartupPathだとDLLから呼んでも常に起動アセンブリのディレクトリが取れる。

そういう話じゃないの?


288 :デフォルトの名無しさん:02/06/07 23:10
>>273
こういうのが出るみたいです。どうなんでしょうか。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1484-7


289 :デフォルトの名無しさん:02/06/07 23:38
>>288
Webページを印刷しただけかよ!(;´Д`)

290 :デフォルトの名無しさん:02/06/07 23:45
System.Reflection.Assembly.Location

291 :デフォルトの名無しさん:02/06/08 00:11
>>289
??

292 :通りすがり:02/06/08 00:27
>>276
で早速いれようとしたのですが...。
Win2kProに、.NET Framework SDK日本語版入れた環境で、 WindowsUpdateして、

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

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

うまく入った人います?

293 :デフォルトの名無しさん:02/06/08 00:29
>>291
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
これがベース。印刷した"だけ"ではないようだけどね、いちおう。

294 :デフォルトの名無しさん:02/06/08 00:30
>>291
多分
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
の事かと。

それにしても...原理主義者って奴は(以下略)

295 :デフォルトの名無しさん:02/06/08 00:42
>>293-294
ケコーン

296 :294:02/06/08 00:49
>>295
私には妻と子供が(藁

297 :293=167:02/06/08 00:51
>>295
http://pc.2ch.net/test/read.cgi/tech/1022257078/166-167
私には>>166が。。(爆

298 :デフォルトの名無しさん:02/06/08 01:18
前にも出てたけど
Visual C# .NET実践講座ってのもある。でたばっかで見た事ないけど。

299 :デフォルトの名無しさん:02/06/08 01:46
Inside Microsoft .NET IL Assembler

という本がお勧めです。
.NET使うプログラマは必読です。


300 :デフォルトの名無しさん:02/06/08 02:54
激しく基礎だが、
「始めよう!C#」(日経BP)とか、わかりやすいかと。


301 :デフォルトの名無しさん:02/06/08 03:47
無難に独習C#でよいかと。

302 :デフォルトの名無しさん:02/06/08 04:19
>>298
俺も知りたい。誰か情報!!

>>299
洋書?

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

>>301
でかいのだけが×。ただその分開いておいても閉じないので持ち運ばないなら
使える。


303 :デフォルトの名無しさん:02/06/08 10:10
入門書に良書なしと思うのは漏れだけか?

304 :デフォルトの名無しさん:02/06/08 10:33
ガイシュツかもしれんが、洋書ならここ。
ttp://www.dotnetbookreviews.com/default.asp

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

>入門書に良書なしと思うのは漏れだけか?
良書にあたったことがないだけじゃない?
.NET系に関して言えば、単に未成熟なだけかと。


305 :デフォルトの名無しさん:02/06/08 10:55
>>304
MSのサイト
更新3月かよ・・・。

306 :デフォルトの名無しさん:02/06/08 11:43
>>304
マイクロソフトプレスの本なら
http://www.microsoft.com/japan/info/press/vs_net/vs_net.asp
に情報があるよ。7月15日にPetzold本とRichter本が出るみたいね。
TechEdで先行販売しないのかな・・・

307 :朝までC#:02/06/08 11:50
5月初めにVB厨からC#の勉強を始めました。
SEの黄色本こと、「C#.NETプログラミング」が
入りやすかったです。しかしサンプルプログラムが細切れなのと
イベントやデリゲートの所がなんのこっちゃさっぱり判りませんでした。
そして、日経ソフトウエアの「始めよう!C#」が発売されました。
これはなかなか良い本です。判りやすい分情報量が少ないので、
もうちょっと詳しい入門書と合わせて読む必要があります。
インプレスの赤本こと、「プロフェッショナルC#」は、堅くて
つらいのですが、ADO.NETとかはここで勉強しています。(下巻)
川俣氏著の「C#がわかる+使える」 は、VBとC#の概念的な違いが
判りやすく説明されているのでオブジェクト指向言語が初めての人に
おすすめです。Web上では読みにくいので必要な所だけを
印字して読んでいましたが、やはり本の方がいいですね。

マイクロソフトのオフィシャル本のたぐいはヘルプがあるから
いりません。買ったけど活躍の場が無いよ。

308 :デフォルトの名無しさん:02/06/08 13:12
Windowsが終了処理を始めたらある処理をしたいんですが、
Windowsの終了処理の時にアプリが何らかの処理って
できるんでしょうか?
できるのであれば方法お願いします。

309 :デフォルトの名無しさん:02/06/08 13:42
Microsoft.Win32.SystemEvents.SessionEnding
別のスレッドから呼ばれるらしい


310 :デフォルトの名無しさん:02/06/08 13:53
>>309
あ〜こんなとこにあるのか・・・俺も検索下手だわ。。。
ありがとう!

311 :310:02/06/08 14:42
すみません。
どう記述していけばいいのやら・・・ってな状態なんです。

312 :デフォルトの名無しさん:02/06/08 14:44
Formsでのボタンのイベントハンドラとかと同じじゃないの?

313 :310:02/06/08 14:55
なんか違うっぽい。イベントバンドラの一覧には無いし。
当然同じ用に記述しても意味不明コンパエラー。


314 :デフォルトの名無しさん:02/06/08 15:08
>>313
こんな感じでどう?

  SystemEvents.SessionEnding += new SessionEndingEventHandler(〜);

315 :310:02/06/08 15:12
そういうのでやってみたんだけど・・・

戻り値が必要だとか出た。

316 :デフォルトの名無しさん:02/06/08 15:14
>>313
delegateを調べてみるとか。

317 :310:02/06/08 15:19
少し調べてみるわ。
ありがと。

318 :デフォルトの名無しさん:02/06/08 15:27
プラグインとして動作するC#製DLLを作る際、LPTSTR型を引数として受け取った時のデータ渡しってどうやればよいの?

ms-help://MS.NETFrameworkSDK.JA/cpref/html/frlrfSystemRuntimeInteropServicesUnmanagedTypeClassTopic.htm
この辺っぽいけど、よくわからなくて。

319 :朝までC#:02/06/08 16:22
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



320 :朝までC#:02/06/08 16:23
------------------------------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;
}


321 :朝までC#:02/06/08 16:27
>>318
System.IntPtr っぽいです。


322 :デフォルトの名無しさん:02/06/08 16:56
>>321
サンキュ。
でも悲しいほどに疑問だらけ。
IntPtrの指すメモリにstringを書くには?
ついでに、FARPROCはどうすれば??

#VC++6.0のほうがよいのか?持ってないけど。。

323 :デフォルトの名無しさん:02/06/08 17:09
>>318
[MarshalAs(UnmanagedType.LPTStr)] string 〜; という感じでどう?

324 :朝までC#:02/06/08 17:28
>>322
私の長いソースの疑問もAPIへの文字列渡しの問題が入ってます。
シコシコしらべよう。

325 :朝までC#:02/06/08 17:37
文字列渡しは、ここが参考になりそう。>>323 さんの書いているやり方ですね。ありがとう。

http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_020/csharp_abc04.html


326 :デフォルトの名無しさん:02/06/08 17:43
>>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);
    }
  }


327 :デフォルトの名無しさん:02/06/08 18:05
長さを再調整すれば大丈夫みたいね。

      lpBuf.Length = dwSize;
      label1.Text = lpBuf.ToString();


328 :デフォルトの名無しさん:02/06/08 18:17
>>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()

…鬱。

329 :朝までC#:02/06/08 18:18
おお!ありがとうございます。>>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);


330 :デフォルトの名無しさん:02/06/08 18:23
>>323
DllImportはunmanaged (C++とかで作ったDLL) に対して使うものだぞ。

331 :330:02/06/08 18:53
>>328だった。ゴメソ・・・。

332 :デフォルトの名無しさん:02/06/08 19:11
>>330
ms-help://MS.NETFrameworkSDK.JA/cptutorials/html/a_component_in_c_.htm
managedなDLLは/r:での指定だったのか。ありがと。
#ついでに、testdllのクラスにpublicをつけ忘れてる。。

となると、unmanagedなクライアントに読み込ませるmanagedなDLLを作るにはどうすれば??
classという枠がジャマになっているような気がするんだけど。

333 :朝までC#:02/06/08 19:26
>>332
また、大はずししそうですが、C#のコンポーネントをActiveXにする
ラッパで被せてそのActiveXをunmanagedなVCでつくるDLLに
再度ラップするしかないのかなぁ?

334 :デフォルトの名無しさん:02/06/09 02:01
ms-help://MS.NETFrameworkSDK.JA/cpguidenf/html/cpconinteropmarshalingoverview.htm
正攻法ではできないくさい。VS.NETを注文したところなのに、イタイ。。

>>333
やっぱそのあたりしかないのかな。うぅ、めんどくさい。
というかVC++6.0コンパイラって無償配布されてます?

335 :朝までC#:02/06/09 09:01
うーん それは知らないなぁ。少なくともVB6では普通のDLLが
作れないのですね。だからいつもVBだったけど作れない部分だけ限定的に
VC6使っていました。

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

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

ふりがなの件、その後も上手くいってます。感謝!!

336 :朝までC#:02/06/09 10:46
私の勘違いの可能性も多々ありますが、以下のような現象があります。

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

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

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



337 :デフォルトの名無しさん:02/06/09 11:36
>Char 値型は、Unicode 文字を 16 進数値 0x0000 〜 0xFFFF で表します。

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

文字コードには疎いので変なこと言ってたらワラってちょ

338 :デフォルトの名無しさん:02/06/09 11:42
>>314
その方法で少しイジればできました。
ありがと。一応報告。

339 :デフォルトの名無しさん:02/06/09 11:59
>>334
>というかVC++6.0コンパイラって無償配布されてます?

MSDNのPro以上ならダウンロードできるというかCDが送られてくる。

340 :デフォルトの名無しさん:02/06/09 12:02
>>337
charsetはUCS2相当で、encodingはUTF16相当。

341 :デフォルトの名無しさん:02/06/09 12:12
>>340 サンクス
相当ってことは完全にUTF-16ではない?
サロゲート無しってところ?

342 :デフォルトの名無しさん:02/06/09 12:15
>アンマネVCでスプラッシュ画面を出してすぐC#をキックして
いいね。VSにスプラッシュウィザードがつくともっとよい

343 :デフォルトの名無しさん:02/06/09 12:18
相当ワルの相当?

344 :デフォルトの名無しさん:02/06/09 12:33
完全対応なんて言ったらキチガイが騒ぎ出すからだろ

345 :デフォルトの名無しさん:02/06/09 12:35
>>335
>以前のレスでキャッシュを作る方法だけどその後、再度やってみたら
>早くならない・・なんでだろう? これももうちょっと調べよう。

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

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






346 :デフォルトの名無しさん:02/06/09 13:00
>>339
ACなので、MSDNとは無縁です。

347 :デフォルトの名無しさん:02/06/09 15:59
>>345
ちがいます。CLRはGACからロードされたあせんぶりの署名チェックはしません。

348 :デフォルトの名無しさん:02/06/09 16:02
>>337
内部でどのようにデータを持っているかということと、それを外部に
どのように出力するのかは分けて考えましょう。

というわけで、CharはUTF-16でもUTF-8でもSJISでもありません。内部では
Unicodeで表せる文字をすべて格納できる形式でデータを持っています。
それをUTF-16で出力することもSJISで出力することもできます。

349 :デフォルトの名無しさん:02/06/09 16:33
>>348
ども。
文字コードには疎いながらも気になったのは、サロゲートとかあると一文字が16bitで表現できないことです。
stringはcharの配列(みたいなもの)ですが、hoge[5]とか指定したときに一文字を取り出せないことを
危惧しなければならんのか?とかが気になったもので。
あとバイト数/2が文字数でないという現象が生じたりするのか?とか。
そーゆーことはないと思ってていいんでしょうか。


あ、あと文字コードを直接数値で入力するツールとか作ったときに内部表現がどうしても気になるとかもあります。

350 : :02/06/09 17:09
現在の日付と時刻はどうやって取得すればいいんでしょう?
VB には Now() があるようですが・・・


351 :デフォルトの名無しさん:02/06/09 17:12
System.DateTime.Now

352 :350:02/06/09 17:17
>>351
プロパティにあったんだ!!
メソッドになくて断念して質問してしまった・・・打つ出し乃

どうもありがとう!


353 :デフォルトの名無しさん:02/06/09 17:49
C#をJavaへ変換するアプリケーションってありますでしょうか?
C#に興味があるのですが、ターゲットがJavaなもので。
C#で開発して、Javaで使うと言う風にしたのです。
どうかよろしくお願いいたします。

354 :デフォルトの名無しさん:02/06/09 17:50
>>353
大人しく最初からJAVAで組め。

355 :デフォルトの名無しさん:02/06/09 19:58
ウルトラ・ハイパー・ビギナーのプログラマーです。
もっとも分かりやすいC#の入門本はどれですか?
ステップバイステップを買いましたが、最初から専門用語でまくりで
わかりませんでした。

356 :デフォルトの名無しさん:02/06/09 21:05
>ウルトラ・ハイパー・ビギナーのプログラマー
それならC#を最初にする時点で間違ってる。


357 :デフォルトの名無しさん:02/06/09 21:06
日本よえー

358 :デフォルトの名無しさん:02/06/09 21:23
確かに弱い・・・

359 : :02/06/09 21:32
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++)
{
...
}

としたほうが良い?
それともこの程度の最適化はしているのかな。


360 : :02/06/09 21:35
あと、C#から離れますが
C++スタンダードは最適化なしって話ですが
上のような最適化ぐらいはしてくれるのでしょうか?


361 :デフォルトの名無しさん:02/06/09 21:49
無しは無しでしょう

362 :デフォルトの名無しさん:02/06/09 21:59
>>359
そういうときは悩まずネイティブ出力を確認すべし。

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

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

  public static void Main() {
    DebugBreak();

    // ...
  }

363 :デフォルトの名無しさん:02/06/09 22:01
.NETで、IEのツールバー見たいのをつくりたいのですが、どうすればいいんでしょうか。
というか、可能ですか?

364 :誤爆しちまった…(汗):02/06/09 22:06
C#に触れて5分の者だけど、

C#のdelegateってC++のfunctorみたいなもの?
言い換えればlispの手続き抽象?

365 : :02/06/09 22:25
>>361
どうも。

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

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

#日本イレブンおめでとう!!


366 :デフォルトの名無しさん:02/06/09 22:48
>>365

IEのツールバーですが、見た目の話じゃなくて、IEにアドインするそのものをつくりたいんです・・・。

367 :デフォルトの名無しさん:02/06/09 23:02
>>363 >>366
こんなやつ?

Extending Explorer with Band Objects using .NET and Windows Forms
http://www.codeproject.com/csharp/dotnetbandobjects.asp

368 :デフォルトの名無しさん:02/06/09 23:58
アンマネージの関数を呼び出しているんだけど、
unsafeにしても関数ポインタ使えないの?
関数ポインタ返す関数をどう宣言すればいいのやら。

369 :デフォルトの名無しさん:02/06/10 00:03
>>368
delegate

370 :デフォルトの名無しさん:02/06/10 00:20
>>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());
でもだめでした。

371 :353:02/06/10 00:51
>>354
即レスありがとうございます&亀レスすみません。
やっぱりだめですか。
Java遅いんですよね。C#はどうなんでしょうか。
では、また。

372 :デフォルトの名無しさん:02/06/10 02:23
>>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();

373 :372:02/06/10 09:58
むー。>>372は偶然動いてるっぽいね。
関数の形を変えるとほとんどで例外が出るや。(w

374 :デフォルトの名無しさん:02/06/10 16:38
.netで設定をファイルに保存する(iniファイルみたいな感じ)クラスとかは
用意されているんでしょうか?


375 :デフォルトの名無しさん:02/06/10 16:41
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;
}

376 :デフォルトの名無しさん:02/06/10 16:47
>>374
既出。前スレにXML形式で保存する話題があるよ。
http://pc.2ch.net/test/read.cgi/tech/1019533942/

377 :デフォルトの名無しさん:02/06/10 17:53
>>376
ありがと

378 :デフォルトの名無しさん:02/06/10 18:14
気づくの遅いけど・・・・XMLも勉強しなきゃならないね・・・

うう。とりあえずレジストリにでも保存しておこう・・・ボソ。

379 :デフォルトの名無しさん:02/06/10 22:25
Windows APIのGetAsyncKeyState相当の機能って.NET frameworkにはありません?
TerrariumでDllImportで使おうとしたら怒られてしまって・・・

380 :デフォルトの名無しさん:02/06/10 23:02
コソーリ・・・
http://pc.2ch.net/test/read.cgi/win/1023553080/l50

381 :368:02/06/10 23:11
亀々レスで申し訳ないです。
>>372-373
試して見ましたが、例外が発生するようです。
偶然とはいえ動くと言うことは、
関数ポインタ自体使えないことはないってことでしょうかねぇ?
とりあえず、Activator.CreateInstanceについて調べてみます。
>>375
MC++ではそのまま関数ポインタ使えるんですね。
とはいえ、本体がC#なもので出来ればC#上で呼びたいと思っているので…。
スマセン。


382 :デフォルトの名無しさん:02/06/11 01:16
.NETでクールなドッキング/フローティングコンポーネントってないっすか?
てくろうと思ったんだけど本格的なものになると俺の手にはおえないっす。

383 :デフォルトの名無しさん:02/06/11 01:33
>>381
せっかくの.NETなのだし、DLLを呼ぶ部分だけMC++で記述してモジュール化、
C#からそれを呼び出して利用というのは?
#ファイル数が増えてしまうのが玉にきず。

384 :デフォルトの名無しさん:02/06/11 01:56
>>382 こんなの?
http://www.dotnetmagic.com/features.html

385 :朝までC#:02/06/11 02:00
>>383
ある意味、これぞ.NETという使い方でもありますね。
もしかして、MC++ならDLLつくれる?
私はC#で手いっぱい。(^^;;;

ついでにまた発見。
TextBoxのIMEModeプロパティに半角カナに設定すると、
ちゃんと動作しますが、プログラムで設定すると全角カナになる
問題を見つけました。IMEでもATOKでも同じみたい。
環境は、WinXP、VS.NET Ent、枠組SP1


386 :デフォルトの名無しさん:02/06/11 02:17
>>385
>もしかして、MC++ならDLLつくれる?
>>333あたりのこと?

"Managed" C++という罠があるかと。


387 :デフォルトの名無しさん:02/06/11 02:46
>>384
イイ!
http://www.codeproject.com/cs/miscctrl/VSNetToolBar.asp
このツールバー(フローティング出来ないのが残念)と組み合わせればクールなGUIの出来上がりだね

388 :デフォルトの名無しさん:02/06/11 03:04
つーか>>387のリンク先のUpdate 1.2 と 1.4 のところの画像のXPテーマがもろにつぼにはまったんだけど、誰か知ってたらゲト出来るアドレス教えて。

389 :デフォルトの名無しさん:02/06/11 03:19
>>388
●好き好き大スキン!WindowsXPスキンスレッド 7●
http://pc.2ch.net/test/read.cgi/win/1021130372/l50

この辺の話かと・・・
ちなみに漏れは知らないっす。スマソ。

390 :デフォルトの名無しさん:02/06/11 19:57
>>384
カコイイなぁ。

ていうかVS.NETのUIのエミュレートかな思うんだけど、
M$のコンポーネントオンリーじゃ作れないの?
出し惜しみ?

391 :デフォルトの名無しさん:02/06/11 21:04
>>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


392 :デフォルトの名無しさん:02/06/11 21:51
>>391
SDKでVB.NETとは漢だね

393 :デフォルトの名無しさん:02/06/12 16:38
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とマネージドコードのどちらに、なんのインターフェイスが
ないという意味なんでしょうか??

394 :デフォルトの名無しさん:02/06/12 16:59
なんかusersとかMSのnntpみたいな雰囲気になってきたな。。。低レベルなQ&Aばっかだ。ツマラン。

395 :デフォルトの名無しさん:02/06/12 17:19
オーナードローリストボックスについて質問です。
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で一番下の項目が返ってきてしまい困っています。

396 :デフォルトの名無しさん:02/06/12 17:21
>>394
あのレベルは到底マネできんと思う。特にnewsgroup。

397 :デフォルトの名無しさん:02/06/12 17:25
>>394
DevelopMentorもUS Newsgroupも最近は・・・。
かく言う漏れはMonoを生暖かく見守ってまふ。

398 :デフォルトの名無しさん:02/06/12 22:03
>>397
sscliじゃ駄目なの?

399 :デフォルトの名無しさん:02/06/12 22:30
>>398
sscliは動きがないからね・・・。なんていうか興味が長続きしない。
でも.csとinternalcallの実装部は役に立ったけど。

400 :デフォルトの名無しさん:02/06/12 23:18
M$信者はオプソへの食いつき悪いね

401 :デフォルトの名無しさん:02/06/13 00:11
>>393

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

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



402 :デフォルトの名無しさん:02/06/13 00:37
>>400
そりゃあオプソのものを使いこなせるぐらいなら、M$製品なんか(以下略

403 :デフォルトの名無しさん:02/06/13 01:05
クライアント側で、IE上においてアクセスしたページの情報を
取得するにはどうすれば良いでしょうか?
例えば、ページのURLやXMLファイルのルート要素を変数に格納したいのですが…
プログラミング自体初心者です、低レベルな質問ですみません。

404 :デフォルトの名無しさん:02/06/13 01:08
>403
その質問が低レベルと判断できるなら、
初心者はとっくに卒業でしょう。

405 :デフォルトの名無しさん:02/06/13 01:39
オプソ関係って環境整えるだけでお腹イッパイになってる連中が多くて
その先にすすまないんだよねえ。gnomeとか。そりゃつまらんわ。
ああ全然関係ないね。スマソ

406 :デフォルトの名無しさん:02/06/13 02:34
[SharpDevelop-jp]
http://sharpdevelop-jp.sourceforge.jp/

407 :デフォルトの名無しさん:02/06/13 02:56
Win系のプログラマは厨房多し。
犬房はプログラミングにすら手が届かないやつ多し。
ああ全然関係ないね。スマソ

408 :デフォルトの名無しさん:02/06/13 07:14
>>407

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

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

Windows は入るのは敷居が低いが、
青木ヶ原樹海のようなもので、
理解して出てくる人間はほとんどいない。

409 :デフォルトの名無しさん:02/06/13 07:41
>>405 >>407-408
宗教戦争は他でやれYO!

410 :デフォルトの名無しさん:02/06/13 08:09
>>407
俺は>>407がその事例のどっちに所属するか興味がある。
俺は違うぜ!とか思ってたら失笑。

411 :デフォルトの名無しさん:02/06/13 11:50
>408
大学は入りにくいが、卒業しやすい。
官僚はなりにくい、そして一旦なれたら仕事はやさしい。
んで?厨は少ないか?敷居?ハァッ (われながら下手な例だw
ついでにいうとおまえのような下らん決め付けをわざわざ頭悪そうな書き方で、
ご丁寧にも無意味な空白つけて、無神経にも批判する相手がたくさんいるところに
カキコするような豪傑のことを、2ch一般的には厨という。

412 :デフォルトの名無しさん:02/06/13 11:58
まあ、このスレではまともにUNIXを使える奴はいないでしょう。(w

413 :デフォルトの名無しさん:02/06/13 12:02
>>412
お前を含めてと言うなら同意。


414 :デフォルトの名無しさん:02/06/13 12:27
まじで他でやってくれ。あとでログみるの苦労するから。

415 :デフォルトの名無しさん:02/06/13 12:30
このスレはオプソネタ禁止!

416 :朝までC#:02/06/13 13:47
なかなか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には、ローカルでの変更前の値もバージョンとして持っているので、
それをうまいこと比較して更新時の排他をやりたいのです。

宗教戦争しているみなさんも判りましたらよろしくお願いします。

417 :朝までC#:02/06/13 13:53
補足

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

こういった例の判りやすいソースがありましたらよろしくお願いします。


418 :デフォルトの名無しさん:02/06/13 14:14
>>416
仕事の丸投げですか?
お勉強のためのネタとはとても思えない。

419 :デフォルトの名無しさん:02/06/13 14:43
>>418 は厨なので答えられない。(w

420 :デフォルトの名無しさん:02/06/13 16:59
>416
仕事の手伝いもいいが、丸投げをやさしく受け止めてくれるほど、
このスレの人はやさしくない(アホじゃない)
さあ宗教戦争続けるぞw

421 :デフォルトの名無しさん:02/06/13 17:34
イベントの呼び出しって必ずnullのチェックが必要なの?
if(MyEvent != null){ MyEvent(1,2,3); }
どうして1,多の呼び出しには自動的にやってくれるのに0は駄目なのか...

422 :デフォルトの名無しさん:02/06/13 17:36
>>421
nullポインタの関数ポインタを実行したときどうなると思う?
C言語なら飛んでる。

この場合デリゲーとだけど。
無用なオーバーヘッドを減らすと言う意味もあるんじゃない?

423 :朝までC#:02/06/13 17:49
デリゲートみたいに細かく記述するならnullチェックが要るのは判るけど、
Eventはデリゲートの使い方の一例を使いやすくしてくれているだけなのに
なぜ、nullチェック(nullならイベントを発行せず素通り)だけ
見える形にしているのかと私も不思議に思っています。
なんか応用技があるんだろうか?

424 :デフォルトの名無しさん:02/06/13 17:51
>>421
NullPointerExceptionでアプリが終了しないように念のため。
例えばエディタアプリだったら、そのせいで編集してたファイルがパーになったら困るでしょ?

425 :デフォルトの名無しさん:02/06/13 17:51
>>424
NullReferenceExceptionの間違い・・・

426 :デフォルトの名無しさん:02/06/13 17:56
>>424
Java厨は(・∀・)カエレ!

427 :朝までC#:02/06/13 20:38
こんなん見つかりました。ちょっと急いでいるので現象の絞り込みは後日です。


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

問題点:設定ファイルを読み込むクラスで、SqlConnection、SqlCommand、SqlDataReaderを
使って10以上のテーブルを次々と読み込むスタティックのメソッドで9つ目以後はエラーになります。
対策:そのメソッドから別のローカル関数に処理を移して呼び出してやれば解消します。


428 : :02/06/14 22:46
このスレが荒れてきた発端は、>>394の青臭い一言からです。
さあ、みなさん。存分に自分の宗教観を披露してください。


429 :デフォルトの名無しさん:02/06/14 23:11
>>427
意味わからん。後、なんてエラーだよ。

430 :デフォルトの名無しさん:02/06/15 05:03
UNIX 信者って、学生に多いよね。
金なし、開発力なし、専門知識なしの
アマチュアが使えるのは、UNIX ってだけなのに。
頭の固い教授に、洗脳されちゃうんだろうな。
なんか、昔のマック信者みたい。

431 :デフォルトの名無しさん:02/06/15 10:11
.NETはもう終わったな。(ゲラ
http://www.zdnet.co.jp/news/0206/15/nebt_03.html

432 :デフォルトの名無しさん:02/06/15 10:16
>>431
おまえ朝から何やってんだ?

433 :デフォルトの名無しさん:02/06/15 11:43
.NETによってセキュアになるという口約束は脆くも崩れ去った。
さらばM$。さらば.NET。

434 :デフォルトの名無しさん:02/06/15 12:05
1人でネガティブキャンペーンやってるやつがいるようだ。


435 :デフォルトの名無しさん:02/06/15 13:01
>>431
ウィルスつきで配布するのも間抜けだが感染できないVS.NETにくっついてくNimdaもなんだか微笑ましいな

436 :朝までC#:02/06/15 16:45
>>429
すみません。調べてみたところ私のミスでした。

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

問題:ユーザーコントロールにTextBoxやLabelを複数置くとデザインの画面でSizeが重複していると怒られる。
対策:ソースの全行をカットして別のテキストにペーストする。プロジェクトを保存で終わらせてから立ち上げてソースの全行をペーストする。


437 :デフォルトの名無しさん:02/06/15 17:45
CS CODEDOM Parser
http://www.c-sharpcorner.com/Code/2002/June/CsCodeParser.asp

438 :デフォルトの名無しさん:02/06/15 21:28
http://research.microsoft.com/programs/europe/rotor/default.asp

RFP Awardsってので何か面白そうなことやってる。

439 :デフォルトの名無しさん:02/06/16 01:24
>>433
VS.NETはVC++で書かれているから.NETは関係ないと思うが。
…ってマジレスしとかないと勘違いする人いそうなんで。

440 :デフォルトの名無しさん:02/06/16 03:42
>>439
コアはVC++だと思うけど、
GUIとかは.NETだよ。


441 :デフォルトの名無しさん:02/06/16 03:47
>>433
Nimdaウイルスの混入と、.NETの安全性はまったく関係がないが?
単に、配布ファイルの中にNimdaが作ったファイルが含まれていたってだけでしょ。

ド素人だと.NETのセキュアが崩壊したみたいに見えるんだろうか。


442 :デフォルトの名無しさん:02/06/16 19:18
C#の練習のために2ch用クラスを作ってみようと思った。

2chブラウザ作ってる人いない?C#で。

443 :IRON ◆O7DWnnn. :02/06/17 00:44
>442
何人かいるみたい。
俺もいまやってる。

444 :デフォルトの名無しさん:02/06/17 15:10
このスレも終わりか?
>>394みたいな奴がいるようじゃ仕方がないか。

445 :デフォルトの名無しさん:02/06/17 23:43
>>444
そうかぁ?漏れは394に同意。過去スレより数段レベルが下がってて
♯さんとか何人かの人はもう出てこなくなっちゃった。素人スレなら
たくさんあるから用はないんじゃねーの?

446 :デフォルトの名無しさん:02/06/18 01:00
>>445
♯さんって今は名無しでカキコしているんじゃなかったっけ?

447 :デフォルトの名無しさん:02/06/18 05:24
sprintfの替りってStringWriter?
とか探してたらStringBuilder.AppendFormatというものを発見。
たいていはこっちで間に合いそうだ。

448 :447:02/06/18 07:52
各クラスのToStringで直接フォーマッティングできたのか。気づかなかった。

449 :デフォルトの名無しさん:02/06/18 12:12
昔はM$のβ製品に手を出すような酔狂な人等が集まってたけど、
最近はVB厨が大量にこのスレに流れ込んで来たっぽいしねぇ。


450 :デフォルトの名無しさん:02/06/18 12:26
>>449
ベータの頃は好きでやってる奴が集まる。→ (゚д゚)ウマー
正式リリースされれば仕事上仕方なくやってる奴が集まる。 → (-д-)マズー

451 :デフォルトの名無しさん:02/06/18 12:47
ASP.NET Web Matrix
http://www.asp.net/webmatrix/

WebForms版windes.exeって感じで激しく(・∀・)イイ!

452 :デフォルトの名無しさん:02/06/18 13:03
>>451
Managed Codeだけで作られてるみたいね。
しかも律儀に逆コン対策までされてる・・・。

453 :デフォルトの名無しさん:02/06/18 21:34
現在の操作してるユーザー名をゲットするクラス?とかってありますか?
もち、探してはいるんですが・・・。みつからん・・・

454 :デフォルトの名無しさん:02/06/18 22:05
>>453
System.Environment.UserName

455 :デフォルトの名無しさん:02/06/18 22:08
>>453
System.Security.Principal.WindowsIdentityと、そのGetCurrent()も。


456 :デフォルトの名無しさん:02/06/18 22:09
何度も質問出てるわりに答えの無いGetKeyStateに対応する.NET API・・・
やっぱり無いのかね

457 :デフォルトの名無しさん:02/06/18 23:21
>>454,453
ありがとう。検索下手だなとつくづく思う・・・ボソ。

458 :デフォルトの名無しさん:02/06/18 23:32
>>451
IIS不要でASP.NETが動くのがいいね。
MonoのXSPといい、非IISのウェブサーバがもっと増えてほしい。

459 :デフォルトの名無しさん:02/06/18 23:33
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref
/html/frlrfSystemEnvironmentSpecialFolderClassTopic.htm

これ使って、お気に入りフォルダへのパスって取得できない?っていうか、
できるんだろうけどわからん・。インスタンス作っても駄目だし・・・

460 :デフォルトの名無しさん:02/06/18 23:34
GDI、やたらおそいね。なんでこんなに遅いの?これじゃDirectX使わないとゲームなんか作れないよ。

461 :デフォルトの名無しさん:02/06/18 23:40
>>459
こんな感じ?

  Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

462 :デフォルトの名無しさん:02/06/18 23:48
>>460
確かにおそいねー。

463 :デフォルトの名無しさん:02/06/19 00:02
>>461
マジありがとう!

464 :デフォルトの名無しさん:02/06/19 00:10
VS.NETでASP.NETやってますが、
Webコントロールに、いっぱいパラメータつけて
デザイン画面とコード画面を往き来すると、
タグ内の改行が消されて
横スクロールしないと見えなくなってしまいますが、
これはどうしようもないんですか?

きれいに整形したい欲望に駆られて
無駄な努力と知りつつ、改行してしまう毎日・・・


465 :デフォルトの名無しさん:02/06/19 00:12
>>464
言語書かないあなたが素敵。

466 :デフォルトの名無しさん:02/06/19 00:12
>>464
Ctrl+K,Ctrl+D

467 :デフォルトの名無しさん:02/06/19 00:15
>>465
C#スレで何を言うかと思えば(藁

468 :デフォルトの名無しさん:02/06/19 00:33
>>466
それだとドキュメントのフォーマットになるんで、
一度デザイン画面を表示さすのと一緒で、
逆にタグが一行にまとめられてしまいませんか?

そうじゃなくて改行したままにしておきたいってこと
なんですが・・・・

469 :デフォルトの名無しさん:02/06/19 01:04
>>468
だったらエディタ自体を右端で折り返す設定にすれば?

470 :デフォルトの名無しさん:02/06/19 05:33
超ド素人な質問ですいません。

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

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

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

こんな私に救いの手を!

471 :デフォルトの名無しさん:02/06/19 06:23
シリアルポートと通信したいんですけど
Streamクラスとかでは無理っぽいみたいな感じなんで
やっぱりWindowsAPIとかいうのを使わなくてはだめでしょうか?

472 :デフォルトの名無しさん:02/06/19 08:19
>>470
上司や先輩に相談しろ。

473 :デフォルトの名無しさん:02/06/19 08:34
>>470
お前、言語仕様って知ってるか?

474 :デフォルトの名無しさん:02/06/19 09:32
>470
金ないならVS.NETのヘルプやチュートリアルでも詠め。
出来るやつはそれだけで十分。(最初はね)

475 :デフォルトの名無しさん:02/06/19 09:39
わかる+使えるC#

って本、なかなかわかりやすくて良いかなと思いました。

476 :デフォルトの名無しさん:02/06/19 09:46
>>475
出来る!とか、わかる!とかついたタイトルは嫌だな・・・
これでわかるWindows95!みたいで・・・

477 :デフォルトの名無しさん:02/06/19 10:44
>>470
本ネタ、ガイシュツ。
そのレベルなら475に禿同。

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

478 :477:02/06/19 10:52
おっと、失礼。勘違いした。

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

漏れが禿同したかったのは「始めよう!C#」だった。
#そしてガイシュツ。

479 :476!=470:02/06/19 10:56
>>477
ゴメンゴメン、別人なんだわ。

しかし他言語をやってるなら変数宣言くらいちょっとサンプルでも見ればわかりそうなもんだと思うんだけどね。

480 :デフォルトの名無しさん:02/06/19 10:57
>>478
悪い、日本語にコンパイルしてくれ。

481 :便乗質問:02/06/19 11:01
>478
その@ITというのはなんでしょうか?

482 :477:02/06/19 11:09
>>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
そういうサイト。詳しくは上記リンクからたどってくれ。

483 :デフォルトの名無しさん:02/06/19 11:18
>>482
あ、これだったのね。あの本の内容。

個人的には紙媒体が好きだから本が良いけど\2300はつらいなぁ・・・。


484 :デフォルトの名無しさん:02/06/19 12:10
プログラミング Microsoft Windows with C#.NET の発売はまだですか?

485 :デフォルトの名無しさん:02/06/19 12:48
よくわかる!
http://direct.ips.co.jp/book/Template/Goods/go_BookstempGR.cfm?GM_ID=1656&SPM_ID=1&HN_NO=00400

486 :デフォルトの名無しさん:02/06/19 12:51
DBに内容を絞った本もあるね。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1483-9

487 :デフォルトの名無しさん:02/06/19 12:56
というか、今月も新刊イパーイあるね。

488 :デフォルトの名無しさん:02/06/19 13:06
.csから.exe作らずに直接実行できないの?

489 :デフォルトの名無しさん:02/06/19 13:14
>>488
スクリプティングホストでも作ればできる。
といっても、裏ではテンポラリアセンブリを作ってるけど。

490 :デフォルトの名無しさん:02/06/19 13:17
プロジェクトとソリューションの違いがよく分かりません>VS.net
だれか可哀相な漏れに教えてください。

491 :デフォルトの名無しさん:02/06/19 13:39
>>490
1つのソリューションには複数のプロジェクトを含むことができる。

492 :デフォルトの名無しさん:02/06/19 15:25
プログラミングMicrosoft .NET Frameworkがかなりの良書だと聞いた。
洋書読んだ人いたら感想お願いします。

しかし、調べないやつ多いね。

493 :デフォルトの名無しさん:02/06/19 15:35
>>492
この本?
http://www.microsoft.com/MSPress/books/5200.asp

494 :デフォルトの名無しさん:02/06/19 15:58
>>493
http://www.microsoft.com/mspress/books/5353.asp
こっちだと思う。MSのサイトからリンクされてたのと発売日からするとね。
@ITの会議室でちょろっとイイってのを見た。

495 :デフォルトの名無しさん:02/06/19 16:24
>>491
ワークスペース?

496 :デフォルトの名無しさん:02/06/19 17:41
>>495
 Visual C#.netには“ワークスペース”という概念はないんじゃありません?
ms-help://MS.VSCC/MS.MSDNVS.1041/vsintro7/html/vxconVisualStudioSolutionsProjects.htm

497 :デフォルトの名無しさん:02/06/19 19:28
結構面白かった。

@IT:連載 One Point .NET クロス言語開発は本当にできるのか?
http://www.atmarkit.co.jp/fdotnet/onepoint/onepoint01/onepoint01_01.html

498 :デフォルトの名無しさん:02/06/19 19:39
>>497
吉松さんの記事は読んでて面白いよね。
掲示板でも活躍してるみたいだし。

499 :デフォルトの名無しさん:02/06/19 19:44
>>497
新連載って、Inside .NET Frameworkの方はどうなるんだ?(ワラ

500 :デフォルトの名無しさん:02/06/20 02:11
>>489
え、WSHでC#つかえるんですか? language="C#"ってやったけどダメだったんだけど、
どうやるの?

501 :デフォルトの名無しさん:02/06/20 02:30
>>500
その昔、Don Box氏直伝のCLR Scripting Hostというサンプルがあったんだけど
今は入手不可・・・。

502 :デフォルトの名無しさん:02/06/20 02:36
>>501
なんとなくC# Script(?)に興味があったから探してみたけど、その壁にぶつかった。。
だれかローカル保存をしている人、コピペお願い!

503 :デフォルトの名無しさん:02/06/20 03:01
>>499
そっちメインで続きますよん。

504 :デフォルトの名無しさん:02/06/20 16:25
いまさら気づいたんだけどさ、
デリゲートを他のオブジェクトのイベントに繋ぐと、
そのオブジェクトが死ぬか、明示的にイベントとデリゲートを切り離さない限り、
自分自身はガベコレの対象にならないよね。

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

TempObjClass のインスタンスを作るたびにメモリに蓄積していく。

505 :デフォルトの名無しさん:02/06/20 19:14
>>504
既出。その通りです。

506 :デフォルトの名無しさん:02/06/21 01:41
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/
frlrfSystemConfigurationAppSettingsReaderClassGetValueTopic.htm
なんですが
GetValue("QFitst",String);
では駄目みたいなんです。

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


って書くのは駄目みたいなんです・・・・


507 :デフォルトの名無しさん:02/06/21 01:45
>>506
typeof(String)

508 :デフォルトの名無しさん:02/06/21 06:40
>>507
Thanks!

509 :デフォルトの名無しさん:02/06/21 10:58
PrintDialog表示したときにユーザーが設定した
印刷範囲や印刷部数で印刷する場合、
PrintDocument→printDocument
PrintDialog→printDialog

if(printDialog.ShowDialog()==DialogResult.OK)
 {
  printDocument.PrinterSettings=printDialog.PrinterSettings;
  printDocument.Print();
 }
だとうまくいかないんですが、PrintDocumentの
PrintPageイベント処理で自分で処理を書く必要あるのでしょうか?

510 :デフォルトの名無しさん:02/06/21 16:39
>>509
その通り。QuickStartチュートリアルでも見れ。

511 :デフォルトの名無しさん:02/06/22 15:35
string から int などに変換する関数ってない?
atoi みたいなの

512 :デフォルトの名無しさん:02/06/22 15:43
Convertってのがあったのか^^;
スレ汚しスマソ

513 :デフォルトの名無しさん:02/06/22 20:48
>>511
Int32.Parseとかもあり。

514 :デフォルトの名無しさん:02/06/23 00:08
こんばんは。
C#からMySQLへの接続に挑戦しています。
MySQLをインストールして、ODBCもインストールし
ttp://www.csharphelp.com/archives2/archive288.html
上記URLのサンプルを実行してみたのですが、
「MySQLProvプロバイダはローカルコンピュータに登録されていません」
というメッセージが出てしまいます。

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

ご教授ください。
よろしくお願いします。


515 :デフォルトの名無しさん:02/06/23 00:24
[コントロールパネル]→[管理ツール]→[データソース(ODBC)]
をチェキ

516 :514:02/06/23 00:55
ユーザデータソースは
名前:mysql
ドライバ:MySQL
で登録してあります。

もしかして違うタブ(ファイルDSN)とかに設定しないといけないのでしょうか??
ODBCの設定したことなくて、よくわかっていなくてすいません。


517 :デフォルトの名無しさん:02/06/23 02:11
長いぞ。前のほうでリクエストが出てた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) {}
}



518 :sage:02/06/23 02:15
続きだ
/// <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;
}



519 :sage:02/06/23 02:16
続き
/// <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;

}


520 :デフォルトの名無しさん:02/06/23 02:16
めんどうだな。やめちまうか……
/// <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();



521 :デフォルトの名無しさん:02/06/23 02:25
ぐは、名前に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);
}
}



522 :デフォルトの名無しさん:02/06/23 02:26
後は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;
}



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

それ以上詳しく知りたければ↓へ
http://pc.2ch.net/test/read.cgi/tech/1008316065/


524 :デフォルトの名無しさん:02/06/23 03:59
テキストボックスのMaxLengthプロパティで最大文字数を6に設定して
いて、キーボードからの入力は制限されるのですが、Button_Clickイベント
(数字ボタン)からの入力は制限されません。何か良い方法はありますか?

525 :デフォルトの名無しさん:02/06/23 04:03
>>524
そりゃボタンのイベントハンドラで制御すればいいだけでしょ。

526 :デフォルトの名無しさん:02/06/23 04:08
>>525
どうやってやるの?

527 :デフォルトの名無しさん:02/06/23 04:20
Button_Clickイベント内で入力を6文字で制限するコードを自力で書くんだよ。
MaxLengthプロパティみたいに自動で制御する方法はない。

…頼むから自力で制御コードを書く方法がわかりませんなんてタコなことを言い出すなよ。

528 :デフォルトの名無しさん:02/06/23 04:22
>>517-522 乙!

でも >>2 にある

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

に貼ったほうが楽だったかモナー

529 :514:02/06/23 13:43
>>523
ODBCをインストールすればいいだけだと思っていました。
OLEDBをインストールしたらうまくいきました。
どうもありがとうございました。

530 :デフォルトの名無しさん:02/06/23 14:09
.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!

531 :デフォルトの名無しさん:02/06/23 15:40
>>530
これ1行でいけるはず。

  string MailerName = ConfigurationSettings.AppSettings["Setting1"];

532 :デフォルトの名無しさん:02/06/23 15:44
ちなみに、>>530の方法でもちゃんと表示されてるけど・・・。

533 :デフォルトの名無しさん:02/06/23 15:57
Visualstudio.Netで作成したC#のexeファイルを友人に渡したら「初期化エラー」って出たそうです
何が原因なのでしょうか?

もしかしてFrameWorksが必要なのでしょうか。

534 :デフォルトの名無しさん:02/06/23 15:58
>>533
・・・(;´Д`)

535 :デフォルトの名無しさん:02/06/23 16:39
>>533 要ランタイム

536 :デフォルトの名無しさん:02/06/23 16:47

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

当たり前か。


537 :デフォルトの名無しさん:02/06/23 16:48
>>536
>ネイティブコンパイルでも
C#に何を望んでいるのか・・・。

538 :デフォルトの名無しさん:02/06/23 16:51
>>533
.NET Framework 再頒布パッケージ (20.4 MB)

539 :デフォルトの名無しさん:02/06/23 17:09
>>532
exe名.configってのを置けば良いんだよね?

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



540 :539:02/06/23 17:18
ごめん、できた。
exeName.exe.configって置かないと駄目なんだね・・・
こんな馬鹿な事になかなか気づかなかった。・・・すまん。

541 :デフォルトの名無しさん:02/06/23 17:48
>>536
ネイティブじゃないし。

542 :539:02/06/23 18:09
.configから読み込む方法はあるみたいですが・・・
書き込むのは無いみたいです・・何か方法あるでしょうか?

543 :デフォルトの名無しさん:02/06/23 19:15
>>542
.configの使い道が間違っていると思われ。
あれはインストーラとかが環境設定をするのに使うものでない?

いちおう↓
http://pc.2ch.net/test/read.cgi/tech/1019533942/369


544 :543:02/06/23 19:22
>>542
あ〜、これこれ。.configの説明。
ms-help://MS.NETFrameworkSDK.JA/cpguidenf/html/cpconconfigurationfiles.htm


545 :デフォルトの名無しさん:02/06/23 19:27
ふつーは、XMLシリアライズ。
だよね?

546 :539:02/06/23 20:37
じゃ.iniに変わる物ってどれになるんでしょうか?

547 :デフォルトの名無しさん:02/06/23 20:48
.xmlですが。何か。

548 :539:02/06/23 20:52
つまり普通にxmlをシリアライズして読み書きするって事ですよね?

549 :デフォルトの名無しさん:02/06/23 20:55
C#には特別に.iniにあたる設定保存ファイルを準備してないってこと。
Windowsシステムでは設定はレジストリ使用を推奨だろ。

550 :539:02/06/23 20:59
レジストリは嫌いだ・・・・。
ユーザーの中にもレジストリを汚すのに嫌悪感を持ってるやつもいると
思うが。。。。

まぁ、みなありがと。.configでしばらくはやってみる。

551 :デフォルトの名無しさん:02/06/23 21:05
>>549 >>550
だから今後の標準はXMLファイルだって。

552 :539:02/06/23 21:43
>>551
Setting.xmlに保存しますわ。
となるとXMLも勉強せなならん・・・・参ったな。


553 :デフォルトの名無しさん:02/06/23 22:45
>>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();

554 :デフォルトの名無しさん:02/06/23 22:49
>>553
XmlSerializerって既出だけど、重いんだよね。
結局普通にXML使った方がええかも。

555 :デフォルトの名無しさん:02/06/23 23:20
普通にと言いますと?

556 :デフォルトの名無しさん:02/06/23 23:41
そこまで速度を気にするんだったら普通にStream.WriterでCSVを吐いたら?
もともと.iniファイルってそんなもんだし。

557 :デフォルトの名無しさん:02/06/24 00:03
重いって、どれくらい重いんだろう

558 :デフォルトの名無しさん:02/06/24 00:50
>>557 調査して報告きぼんぬ。

559 :デフォルトの名無しさん:02/06/24 09:23
>>558
調査はしていないが、XmlSerializerはReflectionを使っているのでは?
それなら想像ができる?

560 :デフォルトの名無しさん:02/06/24 11:10
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 = "";
  }
 }
}


561 :560:02/06/24 11:13
しまつた!!Ageてもた。スマソ
しかもWriteEndElement();ひとつ多い?w

562 :デフォルトの名無しさん:02/06/24 11:30
>>560
そこまでして.configを使いたいのかと尋ねてみるテスト。
DLLとかを別ディレクトリに置いていて(.configでの指定が必要なはず)、
もし.config書き出しに失敗したら、そのプログラムは起動できなくなるぞ。
悪いことは言わん。Restoreメソッドをちゃんと書いて、
任意のファイルに出力・読み込みができるようにしたほうがよいよ。きっと。

563 :560:02/06/24 11:58
>>562
そうかもねー。
まぁ、俺は仕事では全然C#使ってないから、
お遊びなんで許してちょ。

564 :デフォルトの名無しさん:02/06/24 13:44
C#はランタイムが必要と聞いたのですがどのように配布したら良いのでしょうか?
ランタイムパッケージが有るのでしょうか。

友人の家ではC#実行ファイルが動作しないもので。

565 :デフォルトの名無しさん:02/06/24 15:46
>>564
http://www.microsoft.com/japan/msdn/net/deployment/dotnetframedepguid.asp
まずMSDNくらい読め。

566 :デフォルトの名無しさん:02/06/24 16:37
>>565
ここは相談室です


567 :デフォルトの名無しさん:02/06/24 17:09
>>566
ワラタ

568 :デフォルトの名無しさん:02/06/24 19:35
メモリの使用状況を出力させるプログラムを考えてるのですが…
どなたか教えてください。
どうしてもプロセスだけのメモリ取得になってしまいます。

569 :デフォルトの名無しさん:02/06/24 20:08
>>568
自分で作るな。いくらでもある。

570 :デフォルトの名無しさん:02/06/24 20:46
>>658
ここは相談室です

571 :デフォルトの名無しさん:02/06/24 20:47
>>658 ×
>>569

572 :デフォルトの名無しさん:02/06/24 22:29
>>566 >>570
相談系番組の中尾彬みたいなもんだ。

573 :デフォルトの名無しさん:02/06/24 22:50
C#ではJavaでいうJUnitのようなものはありますか?

574 :デフォルトの名無しさん:02/06/24 22:56
>>573
NUnit

575 :デフォルトの名無しさん:02/06/25 00:54
>>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$鯖に接続できず確認できませんでした。(苦笑

576 :デフォルトの名無しさん:02/06/25 01:38
>>575
.NET Framework アプリケーション配布ガイド
Microsoft Corporation

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


まぁ一応、ね。

577 :デフォルトの名無しさん:02/06/26 02:23
VS.NETベータ2版が削除できないのですが・・・原因分かる人居ませんか?
「プログラムの追加と削除」からVS.NETを選択、メニューから「2」を選択した後に
「VS.NETの削除」を選択。処理が始まるのですが、「セットアップに失敗しました」と
エラーメッセージが。何度やっても消せないです。
これ消さなきゃ製品版が入れられないのに・・・
ちなみに当方XPproを使っています。

578 :デフォルトの名無しさん:02/06/26 02:25
>>577
それは、もうOSから再インストールしかないらしいですよ

579 :デフォルトの名無しさん:02/06/26 02:57
>>577
betaが削除できない人って結構いるはず。
レジストリを駄目もとで消してやったら成功したってのも聞いた事あるが。

580 :デフォルトの名無しさん:02/06/26 02:59
>>577
俺はアンインストは問題なくいけたのに、Terraがはいんなかったよ。
beta2が入ってるって怒られて。mscoree.dllもちゃんと手動で削除してから、
SDKとSP1入れたのにさ。


581 :デフォルトの名無しさん:02/06/26 03:10
>>577 は
578〜580の中のどれを選びますか?

582 :デフォルトの名無しさん:02/06/26 12:46
>>581
経験者的には578を強くお勧めする。

583 :デフォルトの名無しさん:02/06/26 12:58
>>582
俺も、経験からいって578だね!!

584 :デフォルトの名無しさん:02/06/26 16:04
っていうか、OSクリンインストできるん良い機会だし普通に578でしょ、

585 :577:02/06/26 19:25
回答どうもです。
とりあえず>>579-580を試してみます。
それでダメならOS再インストールしたほうがいいんですか?
・・・何か騙されてるような・・・

586 :デフォルトの名無しさん:02/06/26 19:31
>>585
俺は再インストしました。
見事にバックアップ忘れましたが、何か?

587 :デフォルトの名無しさん:02/06/27 05:00
Don Box氏のページ
http://www.gotdotnet.com/team/dbox/

588 :デフォルトの名無しさん:02/06/27 11:08
Internet Mobile Toolkit で携帯用サイト作っているんですが、
WML形式で出力したときにページのデザインによっては
強制改ページされてしまいます。なんかカードとかいうらしいんですが。

これをやめさせる方法ご存知の方いない?

589 :ヅラトンパ:02/06/27 12:17
ヅラ

590 :デフォルトの名無しさん:02/06/28 02:46
>>588

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


591 :デフォルトの名無しさん:02/06/29 02:09
System.Web.UI.LiteralControl

System.Web.UI.WebControls.Literal
って機能的に何が違うんですか?


592 :デフォルトの名無しさん:02/06/29 10:08
>>591
前者は暗黙的に作られる。
後者は自分で明示的に作る。

593 :デフォルトの名無しさん:02/06/29 10:11
あ、LiteralControlはコード(.cs)の方では明示的に作れるか。失敬。

594 :デフォルトの名無しさん:02/06/29 18:22
>>103
のやっている事をやろうとしてるんですが
public Form1 forma;
っていうのはどこに書けば良いんでしょうか?
どこに書いてもはじかれます。



595 :質問した俺:02/06/29 18:26
>>594
class Form1のなかに。

static付けてね。


596 :デフォルトの名無しさん:02/06/29 18:33
Formにstaticをつけるって言う事はどういう効果が出るんですか?
イマイチSDKみても意味わからなくて・・・

597 :デフォルトの名無しさん:02/06/29 18:37
>>596
Mainはstaticなメソッド。
インスタンスが無くても使用できる。
そこから使用できる変数もインスタンスが無くても使えなくてはならない。
そこでstaticを付ける。

598 :デフォルトの名無しさん:02/06/29 21:03
なるほど!言われてみると分かった。サンクス!

599 :デフォルトの名無しさん:02/06/29 22:15
>>588
これは改行であって改ページではないのれす…

600 :デフォルトの名無しさん:02/06/29 22:17
>>580誤り>>590です。
自己レスしてどうすんだ…。

601 :デフォルトの名無しさん:02/06/30 00:35
スタートアップにショートカットファイルを置きたいですが、
ショートカットファイルを開いてみたら文字化け状態なんですね・・・。

ショートカットって作れない?

602 :デフォルトの名無しさん:02/06/30 00:39
>>601
対決スレでショートカットのお題があったよ。
http://pc.2ch.net/test/read.cgi/tech/1022662451/l50

603 :デフォルトの名無しさん:02/06/30 01:02
VB理解できん。
ショートカットの作り方求む・・・・。

604 :デフォルトの名無しさん:02/06/30 01:03
誰か移植してやれ

605 :デフォルトの名無しさん:02/06/30 11:23
>>604
つぅかわざわざC#でやることか?

606 :デフォルトの名無しさん:02/06/30 11:26
すみません、VB一切理解不能です。
DimもSDK読んでも??でした。

607 :デフォルトの名無しさん:02/06/30 12:51
>>606
つぅかC#スレで言うようなことか?

608 :デフォルトの名無しさん:02/06/30 13:41
>>601
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1507-x
によると、WSHのCOMを使って作れとのこと。

ていうか文字化け状態ってなに?

609 :デフォルトの名無しさん:02/06/30 14:05
>>608
ありがと。とりあえず立ち読みしてみる。っていうか、
近くにC#の本なんて扱ってる本屋無いから
かなり遠くまで行かんと・・・。

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

googleで検索したら出てきたし助かったわ。長くなってゴメン。

610 :デフォルトの名無しさん:02/06/30 14:46
>>609
もともとバイナリだよ。文字化け以前に、文字じゃない。

ていうか確認。そのショートカットファイルは不正だったの?
実行できなかった?
使用上問題がないのなら、そのまま使えばよいし。
ついでにその部分のソースの提示希望。

611 :デフォルトの名無しさん:02/06/30 15:27
使用上は問題無い。っていうか、いつも使ってるショートカットファイル。
俺がやろうとしてるのは現在のexeへのショートカットをスタートアップ
フォルダに作ろうとしてる。

lnkを拡張子変えて開いたらProgram Fileとかいう文字は読めたよ。


612 :デフォルトの名無しさん:02/06/30 16:46
>>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

613 :デフォルトの名無しさん:02/06/30 17:29
>>611
>lnkを拡張子変えて開いたらProgram Fileとかいう文字は読めたよ。

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

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


つーか、

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

ショートカットを作れないのではなく、
問題は単にショートカットの出力位置だと思われ。

614 :デフォルトの名無しさん:02/06/30 19:12
>>612
うぉ!助かります!WSHやってたけどさっきからエラー出まくりで。
けど、ここの人ホントみんなすごいね・・・。
俺が無能なだけだとも思うけど・・・。

とりあえず、コード見ながらどういう処理か少し考えて見ます。

615 :デフォルトの名無しさん:02/06/30 19:57
>>603
http://www.msjogren.net/dotnet/eng/samples/dotnet_shelllink.asp
大昔に見つけたやつ。
C#からIShellLinkインタフェースを利用してショートカットを操作。

616 :デフォルトの名無しさん:02/06/30 23:33
結構海外にはC#とか.netのサイトってあるもんだね。


617 :デフォルトの名無しさん:02/07/01 00:12
>>613
って言うかショートカットはSJIS、.NETはunicode


618 :デフォルトの名無しさん:02/07/01 21:08
>>617
知ったかする前にショートカットファイルの中身を確認しろよ

619 :デフォルトの名無しさん:02/07/01 21:14
VC++では __LINE__や__FILE__ マクロでソースファイル名、ソース中行数を
コードに埋め込めたけど、C#にはそういうのは無いんですか?

ログファイルに使いたいのですが…。


620 :デフォルトの名無しさん:02/07/01 21:21
>>619
さぁ

621 :デフォルトの名無しさん:02/07/02 00:09
617はショートカットファイルをSJISだと思っているって事ですか??

622 :デフォルトの名無しさん:02/07/02 18:01
[customcommand("usage", "モジュールで使用できるコマンド一覧を取得します。", "<module-name> usage")]

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

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

どなたか、いい知恵ありませんでしょうか・・・

623 :デフォルトの名無しさん:02/07/02 19:08
>>622
[customcommand("usage", "custcom.usage.desc", "custcom.usage.usg")]
にして、属性を吸い出す側でGetStringするとか。

624 :デフォルトの名無しさん:02/07/02 20:08
初歩っぽい質問なんですがリストビューで無くてデータグリッドの違いは
何なのでしょうか?
データ扱う場合はデータグリッドって解釈でいんでしょうか?

625 :デフォルトの名無しさん:02/07/02 20:29
XML使ってデータ保存するならデータグリッドの方が良さそうだけど。
かなりややこしいね、これ。

626 :デフォルトの名無しさん:02/07/02 21:02
メモリ上にDB作るようなもんだしねえ・・・
なんらかのスキーマと連動するような仕組みがあると
すげえ便利なのかもしれん。やったことないけど。

627 :622:02/07/02 21:19
>>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 を入れるのは
避けたいのですが(というか、属性を使っているアセンブリに入れたい)、
いい考えが浮かびません・・・

628 :デフォルトの名無しさん:02/07/02 21:27
>>625,626
宇宙仮面とかのサイトみてるとね・・・・。
どっちで作ろうか迷うね。。。。

629 :デフォルトの名無しさん:02/07/02 22:03
>>627
attribute内部でResourceManager使うんじゃなくて、
attributeを拾う側(GetCustumAttribute()を呼び出す側)で使ってみては。

630 :デフォルトの名無しさん:02/07/02 23:21
>>629 サンクス!出来ましたっ!

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

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

とやってあげないと、
ResourceManager resources = new ResourceManager(this.GetType());
みたいな型指定でのりソース取得に失敗するようです。(埋め込まれた
りソース名が「(クラス名).(リソースファイル名).resouces」になってしまう)

631 :デフォルトの名無しさん:02/07/03 09:39
チュートリアルのサンプルをやって勉強しているのですが、
非常に不思議に感じています。
private メンバのついた構造体の存在意義ってなんなんでしょう?
struct1.cs を見ていると new するのならばメンバ変数を 0 で初期設定するから
問題なさそうですが、そのまま生成するとメンバが初期化できません。
当然エラーとなりますが、構造体の強みは new しないことによる高速性ですが
本末転倒な気がしてならないです。
どういう利用価値があるんでしょうか?


632 :デフォルトの名無しさん:02/07/03 14:02
>>631
カプセル化しつつスタック上で効率よく、ってのがあってもいいんじゃないの?

633 :デフォルトの名無しさん:02/07/03 22:25
既存コントロールと、独自インターフェイスを継承した拡張
コントロールを作って、既にデザインしてある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に変えると、デザイン画面から
消えます。

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

たすけてくだしゃい。

634 :デフォルトの名無しさん:02/07/03 22:40
>>633
メンバ定義のところと,そのメンバのインスタンス作成のコンストラクタの両方を変えてみては?

# 既に変えていたらスマソ

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

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

あまりアドバイスできなくてすまん。

636 :デフォルトの名無しさん:02/07/03 23:08
デザインウィンドウを一度閉じて開けば?

637 :デフォルトの名無しさん:02/07/03 23:09
>>634
ありがとうございます。

どちらも変えてみたんですが、だめでした。

638 :デフォルトの名無しさん:02/07/03 23:12
>>635

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

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

そこでやらずにできるっちゅう事でしょうか?

639 :635:02/07/03 23:16
>>636 それが直らなかったんすよ。。。
InitializeComponentの中身をかなり書き換えてしまって、
デザイナに表示されなくなったもんだからバックアップから
コードコピペで戻したんだけど、何度か閉じて開いてもダメ
ですた。コピペした元コードが腐ってた可能性もあるけど…

#と悩むより、ばっさり削って再配置のほうが早いかなぁと。

640 :デフォルトの名無しさん:02/07/03 23:17
>>639
そりゃ、再表示しても表示されないならコードが腐ってるんでしょ。

641 :635:02/07/03 23:25
>>638
>そこでやらずにできるっちゅう事でしょうか?
いや、そこでやって出来てます。

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

(名前空間).MyTextBox textBox1 = new (名前空間).MyTextBox(); //引数なしで呼んでみる

642 :デフォルトの名無しさん:02/07/03 23:32
そのフォームのソースを丸ごとカットして別のエディタにペーストして保存。
ソースの無いフォームのまま実行して終了。
そして、再度プロジェクトを開いて保存していたソースをペースト
それでどう?

643 :635:02/07/03 23:41
>>640 認めたくないものだな。自分の厨房ゆえの過ちというものを・・・
>>642 次そういう機会があればトライしてみます。。

644 :デフォルトの名無しさん:02/07/04 14:35
>>643
誰でもあることさ。
俺はタグ閉じ忘れでほぼ完成してたWebFormをお釈迦にしたよ

645 :デフォルトの名無しさん:02/07/05 11:31
>>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++ とはなかなか勝手が違うもんです。


646 :デフォルトの名無しさん:02/07/05 11:39
>>645
構造体ってnewする必要あったかいな?

647 :デフォルトの名無しさん:02/07/05 11:49
>>646
v に代入しないで a 使ったらエラーじゃん。
v は private だから外からはアクセスできんでしょ

648 :デフォルトの名無しさん:02/07/05 12:03
>>647
class Test
{
  struct Hoge
  {
   public int v ;
   public Hoge( int a )
   {
    v = a ;
   }
  }
static public void Main()
{
   Hoge a ;
   a.v = 32;
  }
}

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

「構造体に明示的なパラメータのないコンストラクタを含めることはできません。」


649 :デフォルトの名無しさん:02/07/05 12:06
>>648
public int v ;
だから流れ読めよ
v は private

650 :デフォルトの名無しさん:02/07/05 13:30
ユーザーコントロールだけじゃなくて、フォームの継承も
デザインで表示できなくなったりするね。
これってウチだけの現象?

651 :デフォルトの名無しさん:02/07/05 19:33
俺も起きる・・・。例外・・・・バグか?
この前晩までどうって事も無かったんだけど、何もしてないのに
翌日になったらフォームのデザインがエラーで表示されなくなった時はマジ
たちなおれんかった。なんとか直ったけど。

652 :デフォルトの名無しさん:02/07/05 19:36
VSをいったん終わらせるともう駄目なんだよね。
フォームの継承ができなくてがっくり。
全然話題にならないから自分だけかと思ったよ。

653 :デフォルトの名無しさん:02/07/06 02:35
フォームにインターフェース継承をして実装したけど、大丈夫だったよ。

654 :デフォルトの名無しさん:02/07/06 11:57
constなtableを作る方法は、Stringしかできない?



655 :デフォルトの名無しさん:02/07/06 12:22
>>654
そのクラス継承してセッターを実装しないとか。

656 :デフォルトの名無しさん:02/07/06 13:59
前々から思って異端だけど、なんでC#にはconst配列がないんだろう?


657 :デフォルトの名無しさん:02/07/06 14:06
>>656


658 :656:02/07/06 14:19
>>657
いいたいことがあるなら、ちゃんと書いてくれ(w

659 :デフォルトの名無しさん:02/07/06 19:06
:::::::::::::::::::::::::::::. .☆ .:::::::::::::::::::::::::::::::::::::::::::::::::::..:.....:::.::...::::::::::::::::::::::
:::::::::::::::::::::::::::::::::..:..:::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::
::::::::::::::::::::::::。::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::。:::::::::::::::::::::::
 ̄`''--、__,,,_,,,,__,;;w--─--、___:::::::::::::::::::::::::::::::::::::::::::::::::::,,;;;;;;;;
    _  ___  ____--─ー──~'''~`─-、._,,、w─''"" ̄  ̄
─''"~   ̄   ̄    ̄^ー-‐''''"~~~`‐-‐''~^ヘ,,__,, _____

        / ̄\
        ∨***\
        ∠〃~ヽヽ>     /⌒ヽ
        ||| #゚ ー゚)||    (ノハヽ)○
        / つ☆と)ヽ   (^▽^ )⌒ヽ
       ∠_, (^)(^)> ☆☆★と.,,ノ__ )
゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"""゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"゛"""

660 :652:02/07/07 00:03
おお!すくなくともフォームの継承は私のミスが原因でした。
継承元と先で同じ名前のイベントを作っていて
それでのエラーでした。
エラーは以下のモノでした。
ms-help://MS.VSCC/MS.MSDNVS.1041/vbref/html/vberrduplicatedeclarationofmember{0.htm

しかし、ユーザーコントロールで出る同様のエラーは
原因がわからないままです。継承なんかしてないし・・・

661 :デフォルトの名無しさん:02/07/07 00:27
ms-help://MS.MSDNQTR.2002APR.1041/cpguide/html/cpconasynchronousprogramming.htm
↑この非同期呼び出しっていうのと、スレッドの違いがよく分からない・・・

662 :リンク先読まずにレス:02/07/07 00:35
>>661
内部で持ってるスレッドを利用して非同期な呼び出しをしてくれる
ってTechEDでいってた。

663 :661:02/07/07 01:09
>>662 サンクス!
非同期呼び出し(Async〜)にしても、
内部的にはスレッドを利用してるんですか。
本質的にはあまり変わりはないって感じですね…

664 :リンク先読まずにレス:02/07/07 01:15
>>663
スレッドというものを意識しなくても、単に非同期にメソッドを
呼び出したいっていう要求をみたせる(内部でスレッドが使用されない
機構もありうる?)など云々いってたけど、
確かに似たようなもんだと思う。

665 :デフォルトの名無しさん:02/07/07 01:33
>>664
>スレッドというものを意識しなくても、単に非同期にメソッドを
>呼び出したいっていう要求をみたせる
必要性がなければスレッドを直でやらなくてもAsync〜の方が
簡単に非同期処理ができるよってことのようですね。
ヘルプ読んでて、どちらでコード組むかでちと迷ってたんですが、
Async〜の方で逝ってみたいと思います。

666 :デフォルトの名無しさん:02/07/07 08:38
ワーカースレッドプールを作る前に検討したほうがよさそうですねえ

667 :デフォルトの名無しさん:02/07/07 11:59
Standard Edition で socketクラスを使えますか?

668 :デフォルトの名無しさん:02/07/07 12:16
>>667
取りあえず.netの事勉強しなされ・・・。
.NNETFrameworkにあるクラスは無条件に使える。
って言うかMFCでもそんな差別無かったろうて・・・。


669 :デフォルトの名無しさん:02/07/07 13:01
>>668
試してみたら使えました。
あんがと。

670 :デフォルトの名無しさん:02/07/07 14:43
users の C# メーリングリストに C# のグラフィック描写は遅いって書いてあったけど、
これってGDI+が 汎用性>速度 で設計されてるせい?
それとも、ネイティブコードじゃないから遅いの?
いくら users のメーリングリストでも、OnPaint イベントをやめて
OnPaintBackground イベント使うようにしたら解決するとか言う落ちじゃないよな?


671 :デフォルトの名無しさん:02/07/07 15:13
>>670
まあC++ベースだし、機能も多いから遅いのは確かなんだろうけど。
ちなみにDX9で速度改善がされてるという噂。

672 :デフォルトの名無しさん:02/07/07 15:14
>>671
>まあC++ベースだし

??

673 :デフォルトの名無しさん:02/07/07 15:44
>>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.

674 :_:02/07/07 23:23
パイプとかはどの辺のクラスを探せばいいですかねえ?
裏でコンソールアプリを実行させて、
表示内容をまるまる取得したいと考えています。


675 :633:02/07/07 23:34
いやー、うまくいきました。
継承したコントロールを含むDLLへの参照をいったん削除して、参照しなおしただけでOKでした。

デザイン画面でばっちりです。


676 :デフォルトの名無しさん:02/07/07 23:47
>>674
こんなサンプルがあるよ。

http://www.gotdotnet.com/userfiles/jhawk/NamedPipeChannel.zip

677 :デフォルトの名無しさん:02/07/08 00:14
>>674
そのコンソールアプリも自分で書いてるなら、
プロパティで公開すれば。出力先を指定できるように。

678 :デフォルトの名無しさん:02/07/08 00:38
>>674
ProcessStartInfoとProcessあたりを見るよろし。

679 :678:02/07/08 00:51
こんな感じかな?デッドロックにはくれぐれも要注意!

  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();

680 :デフォルトの名無しさん:02/07/08 10:14
初心者なんですが、統合環境の使い方の本で良い本があったら紹介してもらえませんか?


681 :デフォルトの名無しさん:02/07/08 11:40
>>680
ない。

682 :デフォルトの名無しさん:02/07/08 12:46
総合環境というのがどういう意味を指すのかがよくわからん。


683 :デフォルトの名無しさん:02/07/08 12:58
>>682
総合じゃなくて統合。IDEの直訳でしょ。

684 :デフォルトの名無しさん:02/07/08 16:32
2つのbyte[]の配列が等しいかどうか知るにはどうしたらよいでしょうか?
つまり、memcmp()のようなことがしたいのですが・・・。


685 :デフォルトの名無しさん:02/07/08 18:02
>>684
byte [] test = (なんかのデータ)';
test.Equals(比較したいbyte配列);

とかは?


686 :デフォルトの名無しさん:02/07/08 18:31
両方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) );
  }
}

687 :デフォルトの名無しさん:02/07/08 19:04
||           : ::.゜ ゜ ゜゜。・。゜.゜..
||   ミ /彡       :::.゜。 ゜・。゜゜. .  . .
||..ミ、|ミ //彡     夏休みにC#おぼえられますように。☆彡
||ミ.|.ミ/ ./.|            :::.゜。 ゜・。゜゜. .  . .
||.|//|.  [] ∧v∧          : ::.゜ ゜ ゜゜。・。゜
||/.  []    ( #゚ー゚)           :::.゜。 ゜・。゜゜. .  . .
||┬┬┬┬┬-O∞O‐┬┬
||‐┼┼┼┼┼‐┼┼┼┼┼
||┼┼┼┼┼┼‐┼┼┼┼┼

688 :デフォルトの名無しさん:02/07/08 19:20
夏休みなんてないわい!

689 :685:02/07/08 19:30
>>686
調べもせずに書いてスマンかった。
Falseが返るね・・・

690 :デフォルトの名無しさん:02/07/08 19:34
>>686
Equalsもfalseなんだ・・・なんか変な感じ

691 :684:02/07/08 19:49
>>686
やっぱりこれっきゃないですか。ありがとうございます。
なんか、ありそうでないんですね。これ。

692 :デフォルトの名無しさん:02/07/08 21:28
マイクロソフト以外にC#開発ツールは、
でるのでしょうか?

693 :デフォルトの名無しさん:02/07/08 23:09
一言言わせろゴルァ!!
FormのHelpButtonプロパティが機能しないっちゅーねん
一度Formをローカライズ可能にすると並みの方法じゃ元に戻せないんですけど
突然色分け&メンバ表示が壊れるのはなぜですか?

694 :デフォルトの名無しさん:02/07/08 23:30
>>693
これじゃないの?

(ヘルプより)
>最大化ボタンまたは最小化ボタンが表示されている場合は、 HelpButton
>プロパティの値は無視されます。

695 :デフォルトの名無しさん:02/07/08 23:50
>>690
デフォルトのEqualsは参照の比較を行ってるだけだから、そりゃ一致しない。



696 :デフォルトの名無しさん:02/07/08 23:53
うげー。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

697 :デフォルトの名無しさん:02/07/08 23:55
長尾高弘さんにやってほしかった・・・

698 :デフォルトの名無しさん:02/07/09 00:04
>>697
どうして?
長尾高弘はプログラミング言語C++の翻訳でボロクソに言われてるよ


699 :デフォルトの名無しさん:02/07/09 00:07
誰が訳しても叩かれる罠

700 :デフォルトの名無しさん:02/07/09 00:17
なんかComboBox変じゃないですか?
マウスでテキストの範囲選択が出来ないとかコンテキストメニューが出せないとか。
漏れだけ?

701 :デフォルトの名無しさん:02/07/09 00:18
>>700
漏れもそう。既出だがどうすりゃいいかは、わかんない。

702 :デフォルトの名無しさん:02/07/09 00:34
http://search.goo.ne.jp/search/search.jsp?MT=c%23&SM=MC&DC=10&IM=1

gooで、サイト検索かけると上記のようにサイトのスクリーンショットがでるんですけど、
あれっていうのは一体どういう仕組なんでしょうか。
いや、仕組っていうか、どうやりゃ、ああいう風なスクリーンショットが自動的にとれるかが知りたいっていうかなんていうか。
昔、ASP.NETのサンプルかなんかで見かけた覚えがあるんですが、知ってるからいましたら教えてください。

703 :デフォルトの名無しさん:02/07/09 00:39
>>696
アスキー出版だったらある程度は安心できるんだけど、日経BPかあ。
あんまり期待しないでおこう。

704 :デフォルトの名無しさん:02/07/09 00:55
2ちゃんで叩かれてもなあ・・・

705 :デフォルトの名無しさん:02/07/09 01:01
>>702

>>587

706 :デフォルトの名無しさん:02/07/09 04:17
>>692
既出だが、SharpDevelopとか。

707 :デフォルトの名無しさん:02/07/09 07:41
>>703
最近アスキーから良書出てない気が・・・

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

696は立ち読みしてから買うか判断。けど、なんか目次見てると
内容が薄いような気がするのは俺だけ?

708 :デフォルトの名無しさん:02/07/09 08:15
>>702
これかな?

http://www.gotdotnet.com/playground/services/ThumbnailGen/ThumbnailClient.aspx

709 :デフォルトの名無しさん:02/07/09 19:57
>>485の本、ドキュソ本かと思ったら読み物としては意外と良かった。
少なくともこの本よりは。
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1349-2

710 :デフォルトの名無しさん:02/07/09 21:11
>>707
15日じゃなくて、実際は明後日発売だそうです。
見に行ってみるか

711 :デフォルトの名無しさん:02/07/09 21:23
『Applied〜』レベルの知識が要る人ってどれぐらいなんだろう・・・。

712 :デフォルトの名無しさん:02/07/09 21:25
おいおい、それ知らなきゃコード書けんだろ。

713 :デフォルトの名無しさん:02/07/09 21:29
>>712
そうなの?じゃ、そんな深い内容じゃないんだ。

714 :デフォルトの名無しさん:02/07/09 22:41
あー、深くはないね。基本。

715 :デフォルトの名無しさん:02/07/09 22:49
O'Reillyもいよいよ出てくるみたいだね。

http://www.oreilly.co.jp/soon.htm

716 :デフォルトの名無しさん:02/07/09 23:01
BookReview 吉松 史彰
プログラミング Microsoft .NET Framework
http://www.atmarkit.co.jp/fdotnet/bookreview/prog_dotnetfw/prog_dotnetfw.html

717 :デフォルトの名無しさん:02/07/09 23:03
>>716
監訳者本人が書評書いちゃ駄目じゃん。(藁

718 :デフォルトの名無しさん:02/07/09 23:57
ほんとだ。。。
自分で自分の本の事書いてもね。。。

719 :デフォルトの名無しさん:02/07/09 23:58
>>715
いくらぐらいなるんだろ・・・・。

720 :吉 松 必 至 だ な (藁:02/07/10 00:05
まぁゴーストライターに全部書かせて、金を積んで新聞の書評欄に宣伝載せる
どこぞの経済評論家のソレからすれば目くじら立てるほどでもないかと・・・

721 :デフォルトの名無しさん:02/07/10 00:14
あまり自分で自分の本ほめるとデムパ度ランクがT田氏と並べられてしまうぞ。

722 ::02/07/10 00:41
しかし、デザイナでユーザーコントロールをフォームに貼り付けただけでOnLoad()を実行してしまうのはいかがなもんかと。しかもプロジェクトをロードするたんびに実行します。

723 :デフォルトの名無しさん:02/07/10 01:06
>>716
あ、この人の講演TechEdで聴いた。
最後にきっちり自分の本の宣伝してたよ。

724 :デフォルトの名無しさん:02/07/10 07:35
ん。。。ますます駄目人の予感。
けど、本そのものはかなりの良書と聞いた。あとはこの人の日本語能力に
かけるしかないね。。

725 :デフォルトの名無しさん:02/07/10 07:43
で、みなはどうするのよ。
プログラミングC#は内容が薄い可能性。
.net Frameworkは翻訳者が・・・・。

立ち読みしに電車で行かないとならないんで・・・・

726 :デフォルトの名無しさん:02/07/10 08:23
>>725
やっぱり.プログラミング Microsoft NET frameworkでいいんじゃない。
Advanced Windowsの.NET版だと考えれば・・・。
も一つのほうは様子見して、金に余裕があるときでいいかも。
といいつつ、全部予約してしまったけど・・・。

そろそろ浅めのC#本は出揃ってきた感があるな。
これからは、もっと個々のテーマで
深〜く突っ込んだ本が欲しいころだよね。

727 :デフォルトの名無しさん:02/07/10 08:30
お 前 ら 、

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

一 つ も 出 来 な い ん で す か ?

728 :デフォルトの名無しさん:02/07/10 09:25
.NETごときにわざわざ無駄な苦労する必要はないと思われ。
所詮金のためなんだから、金で解決するのが筋。

729 :デフォルトの名無しさん:02/07/10 13:15
VSユーザーは確か割引で日経の本買えるはずだけど、パンフまだ来ないね。
.net FrameworkとC#の割引の値段知ってたら教えてください。

730 :デフォルトの名無しさん:02/07/10 14:00
C#なんて、VB厨雑誌の入門記事とSDKのドキュメントで十分じゃん。


731 :デフォルトの名無しさん:02/07/10 15:08
値段教えて。。。。ステップバイステップくらいにしか安くならない
なら書店で買うけど

732 :デフォルトの名無しさん:02/07/10 19:42
メニュー項目のプロパティ一覧にBreakやBarBreakが無いっす。

733 :デフォルトの名無しさん:02/07/10 20:19
>>732
BrowsableAttributeがfalseになってるからっす。

734 :デフォルトの名無しさん:02/07/10 21:15
早くADO.NETの詳しい本でないかなぁ。

735 :デフォルトの名無しさん:02/07/10 21:55
>>701
サンクスです。漏れだけじゃないんですね。
昨日の時点ではちょっと使いにくいな程度だったんですけど、
今日はもうコントロールとしてまともに機能して無かったです。

どうやらフォーカスのあたり具合で入力したテキストが勝手に別のテキストに変わるようです。
もう何がなんだか・・・漏れの理解の範疇を大きく超えますた。
はよ直してホスィ・・・

736 :デフォルトの名無しさん:02/07/10 22:30
>>727
漏れは.NET Framework SDK ドキュメントっちゅう
手取り足取りマニュアルないとプログラミングできんわぁ〜(はぁと)

737 :デフォルトの名無しさん :02/07/10 22:35
日本語版のpeverifyコマンドで、エラーメッセージは出力されてますか?
(英語版は正しく出力されます)。



738 :デフォルトの名無しさん:02/07/10 22:41
>>737
英語で出てきたよ。

739 :デフォルトの名無しさん:02/07/10 23:08
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に相談してみます。


740 :738:02/07/10 23:14
>>739
あ、managed exeの検証はしてないや。
普通のexeにpeverifyしたみただけ。

741 :デフォルトの名無しさん:02/07/11 09:26
>>730
>VB厨雑誌の入門記事とSDKのドキュメント

わ か っ て な い バ カ が い ら っ し ゃ い ま す

742 :デフォルトの名無しさん:02/07/11 12:46
730はなぜここに通ってるのだろうか・・・・。

あ!これから本買いに行ってきます。

743 :デフォルトの名無しさん:02/07/11 12:49
本の宣伝うぜえよ。関係者か?

744 :デフォルトの名無しさん:02/07/11 14:02
>>742
レビューよろ

745 :デフォルトの名無しさん:02/07/11 14:25
リチャー氏は.NET出たばっかの頃MSDN Mag.でもいろいろ書いてたけど、
あれとはどう違うんだろ?

746 :デフォルトの名無しさん:02/07/11 16:35
なんだかんだ思いながら結局3冊買ってしまった。まだ詳しくは読み込んで
無いんだけど
「プログラミング.net framework」
思ってたよか悪いかな?クラスの全体像を扱ってるのかと思ってた。
表紙に載ってる通り.net frameworkと共通ランタイムについてはそれなりに
詳しく書かれてる。
普通にWindowsアプリ作ったりするならしばらくは不要だと思う。
MSプレスの専門書はどれも同じなんだが図が少ないからかなり難しく
思う。

747 :デフォルトの名無しさん:02/07/11 16:39
「C#によるプログラミングWindows」
http://bpstore.nikkeibp.co.jp/msp/book/02921/02921c.html
に載ってる内容からするとかなり初心者向けっぽく思ってたけど、一つ一つの
内容についてが、かなり濃くかかれてるので立ち読みしててこっちは買おう
と思った。
上と下に分かれてるけど、.net frameworkでWinアプリ作る基礎的な部分
の深い事はマジ知れると思うよ。普通にアプリ作る上では不必要かと。
プログラミング.net Frameworkよかこっちの方がお勧め。

二つともMSプレスはどれも図とか少ないから読みやすくは無いと思うし、
難しく感じる。まーなんとも言えないとこだけどね。
それと最近C#始めたばっかだから買う参考にはしない方が良いと思う。どれも
5000以上するし立ち読みで決めるのがやっぱ一番。

748 :デフォルトの名無しさん:02/07/11 16:40
>>746
残りの2冊は何?

749 :748:02/07/11 16:44
>>747のことね。ゴメソ

750 :デフォルトの名無しさん:02/07/11 16:46
プログラミング.net frameworkとC#によるプログラミング 上と下
で三冊っす。
ややこしくてスマン。

751 :デフォルトの名無しさん:02/07/11 16:53
http://www.c-sharpcorner.com/
http://www.codeproject.com/index.asp

他にこういうサイトってどこか有る?

752 :デフォルトの名無しさん:02/07/11 17:22
>>751
http://www.csharphelp.com/
http://www.mastercsharp.com/
http://www.dotnet101.com/


753 :デフォルトの名無しさん:02/07/11 17:35
>>752
Thanks 他に有ったら教えて。

754 :デフォルトの名無しさん:02/07/11 18:40
>>746
このクソ暑い中、あれだけブ厚い3冊を持ち帰ったの?
すごい根性だ。

755 :デフォルトの名無しさん:02/07/11 19:31
今日話題の3冊を買いに行ったら無かったです。
台風の影響ですね。しょぼーん。

756 :デフォルトの名無しさん:02/07/11 20:40
Java関連のスレが下がっているので嬉しいです。

757 :デフォルトの名無しさん:02/07/11 20:50
『プログラミング Microsoft .NET Framework』読んできた。
入門的でもなければ中・上級者向けでもなく、各節の深さがなんとなく中途半端な感じがした。
本が出た当時のことを考えれば、貴重な情報が満載なのは分かるんだけど、
今はsscliがあるからね・・・。
漏れ的にはCLIに絞ったディープな本がすごくホスィ・・・。

758 :デフォルトの名無しさん:02/07/11 22:20
>>757
解析すればいいのに・・・。

759 :デフォルトの名無しさん:02/07/11 23:51
>>758
できる範囲で見てるけど、個人では限界がある・・・。

760 :デフォルトの名無しさん:02/07/12 00:43
>>757
C#の言語仕様書が1冊の本になるぐらいだから、CLIの仕様書も出してもいいと思うのだが。

761 :デフォルトの名無しさん:02/07/12 10:36
ここしばらくコードに関する質問がないね

762 :デフォルトの名無しさん:02/07/12 11:10
もう、だいぶ色々できるようになってもうすぐ納品だよ。
みんなありがと。

763 :デフォルトの名無しさん:02/07/12 11:43
>>760
InsideMicrosoft IL Assembler
という本がお勧め。
DLLの構造から、アーキテクチャ、インストラクションセットまで全部載っている

764 :デフォルトの名無しさん:02/07/12 12:35
>>763
Sergeたんの本だね。
某MLを見ても、本当に知り尽くしてるもんなあ・・・。

765 :デフォルトの名無しさん:02/07/12 12:53
日本でももっとインサイドの話ができるMLとかあればいいのにねぇ。
USERSとかMS Newsgroupを見てると激しく萎える。

766 :デフォルトの名無しさん:02/07/12 14:20
『プログラミング Microsoft .NET Framework』買ってきたぞ(゚Д゚)ゴルァ
この本読んだらこの講座との差別化は大丈夫なのか(゚Д゚)ゴルァ
http://www.atmarkit.co.jp/fdotnet/technology/index/index.html

767 :デフォルトの名無しさん:02/07/12 15:40
週末は読書三昧

768 :デフォルトの名無しさん:02/07/12 21:20
Petzold本、ここまで意地になってWindowsFormsのみってのも逆に新鮮だね。

769 :デフォルトの名無しさん:02/07/12 21:56
>>763
うぉすっげ欲しいーー。

770 :デフォルトの名無しさん:02/07/12 22:44
>>768
逆に詳しすぎる気もする・・・。


771 :デフォルトの名無しさん:02/07/12 22:50
まだ翻訳されてない良書って他に何があるだろう。>>763も含めて。

772 :デフォルトの名無しさん:02/07/12 23:00
Essential ADO.NET

773 :デフォルトの名無しさん:02/07/12 23:00
>>771
>>763のって翻訳されていないの?だったら、なおさら欲しいぞぉ。


774 :デフォルトの名無しさん:02/07/12 23:02
>>771
O'REILLYとかAPRESSが穴場だと思われ。

775 :デフォルトの名無しさん:02/07/12 23:15
よさげなタイトルがイパーイ。
http://www.apress.com/category.html?nID=27

776 :デフォルトの名無しさん:02/07/12 23:22
>>763
欲しい

777 :名無しさん#:02/07/13 00:08
VS.NETのプロパティウインドウとかでつかってる、
移動できるタブってどうやんの?


778 :デフォルトの名無しさん:02/07/13 00:17
>>777
Magicでも使ってみれ。ってソースはついてこないのか・・・。

http://www.crownwood.net/

779 :デフォルトの名無しさん:02/07/13 00:24
>>778
ソースついてたよ。

780 :778:02/07/13 00:30
>>779
ほんとだ。ゴメソ

781 :デフォルトの名無しさん:02/07/13 00:32
C#でGeneticProgoramingはどうやってやるんですか?

782 :名無しさん#:02/07/13 00:35
>>778
>>779
おー!!
ベリーサンキュ!!

783 :781:02/07/13 00:37
Genericでした。すみません。
C++で言うテンプレートはC#だと何にあたるのかな。
ボクシング?

784 :デフォルトの名無しさん:02/07/13 02:25
>>783
Reflection 使え。
ついでに言うと、MS はいずれは C# に template を実装すると思われ。


785 :デフォルトの名無しさん:02/07/13 15:32
タイトル的によさげなんですがどうでしょう?
http://www.apress.com/book/bookDisplay.html?bID=88
http://www.apress.com/book/bookDisplay.html?bID=104

786 :デフォルトの名無しさん:02/07/13 15:51
>>785
amazon.co.jpで代引きで買えるよ。

787 :デフォルトの名無しさん:02/07/13 21:54
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は
追加されないのに・・・・

788 :デフォルトの名無しさん:02/07/13 22:36
>>787
ListBoxじゃなくてListViewじゃないの?

789 :デフォルトの名無しさん:02/07/13 23:00
ごめん。そうだ。
けど、それでもOneが出てくる。

790 :デフォルトの名無しさん:02/07/13 23:00
>>787
Read()で<One>にたどり着いて、次のReadString()で<JobData1>に進んでるのだと思われ。

791 :デフォルトの名無しさん:02/07/13 23:12
>>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);
    }
  }

792 :791:02/07/13 23:23
こっちの方がいいかな?

  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);
        }
      }
    }
  }

793 :791:02/07/13 23:28
あ、MoveToNextAttribute()は要らんかった。

794 :デフォルトの名無しさん:02/07/14 06:52
C:\dev\Menogaia\ControlLibrary\ctlExDbcode.cs(272): 'ControlLibrary.frmcDbname' は 'C:\Org\dev\Menogaia\SangatuControlLibrary\frmcDbname.cs' の定義を使って、複数の場所で定義されています。

いろんなクラスでこんな警告が山ほど出るのですが、原因がさっぱりわかりません。
みなさんはどうやって回避していますか?

795 :デフォルトの名無しさん:02/07/14 06:55
C:\dev\ControlLibrary\ctlExDbcode.cs(272): 'ControlLibrary.frmcDbname' は 'C:\dev\ControlLibrary\frmcDbname.cs' の定義を使って、複数の場所で定義されています。

引用する警告のソースをまちがえました、こんなんです。

796 :デフォルトの名無しさん:02/07/14 10:49
>>791
あ〜助かった。ありがとう。これ解決に数日かかってた。

797 :デフォルトの名無しさん:02/07/14 11:49
すまん問題出た。
リストビューとリストボックスってどっちもViewをDetailsにしたら
同じようなのになるんだけど、何が違うの。。。。

798 :デフォルトの名無しさん:02/07/14 12:27
>>797
ん、何が問題?
Columnsに2列追加しとけば両方出るよ。

799 :デフォルトの名無しさん:02/07/14 13:14
いや、リストビューとリストボックスの違いが今一わからん。

800 :デフォルトの名無しさん:02/07/14 18:43
>>797
自由度。

801 :デフォルトの名無しさん:02/07/14 19:55
>>800
どっちが自由なん?

802 :デフォルトの名無しさん:02/07/14 21:16
>>799
ListViewの方がスタイル変更できるとか、(大きなアイコン、小さなアイコン、一覧、詳細)
あとはListViewItemクラスが柔軟にカスタマイズできるとか。(並べ替えのカスタマイズなど)

803 :デフォルトの名無しさん:02/07/14 21:52
>>802
わかった、とりあえずリストビューでやってみるわ。

804 :デフォルトの名無しさん:02/07/15 01:34
こんにちは
Bitmap を Graphics に拡大表示したいのですが、
勝手にアンチエイリアスがかかってしまいます。
SmoothingMode などいじってみたものの変化ありません。
単純に拡大コピーする方法は無いものでしょうか。

805 :デフォルトの名無しさん:02/07/15 09:47
>>804
Graphics.InterpolationModeをNearestNeighborにしてみるとか。

806 :デフォルトの名無しさん:02/07/15 13:54
バージョン違いのアセンブリを共存できるのはすごいことだと思うけど、
GACがバージョン違いのものだらけ・バージョンの依存関係が複雑で下手に触れない
言わば「Assembly Hell」にならないかものすごく心配。
やっぱりデフォルトは「下手に置き換えないで、古いバージョンは残しておこう」でしょ?

807 :デフォルトの名無しさん:02/07/15 13:58
XPのWinSxSなんかを見ても、今の時点で各DLLが2つづつあるし。
これがGACで同じことになったら…。

808 :804:02/07/15 16:38
>>805
Σ(゜д゜;)出来ました!
助かりました、ありがとうございます。

809 :デフォルトの名無しさん:02/07/15 16:59
あれかな、MSだから力の理論で。
HDどうせあまってるからDLLいくらあってもいいよ。ソフトが(とくにうちのが)
動ければいいんだよという考え方。
それはそれでいいけどね。

810 :デフォルトの名無しさん:02/07/15 18:15
CLRそのものもサイドバイサイド、アセンブリもサイドバイサイド。
もう無限の組み合わせやね。

811 :デフォルトの名無しさん:02/07/15 22:02
>>806
DLLでHDDを埋め尽くす新たなDLL HELLが・・・・
まじで心配。

812 :デフォルトの名無しさん:02/07/15 23:00
アセンブリのファイルサイズなんて小さいもんだよ。
...ってそういう問題じゃない?

813 :デフォルトの名無しさん:02/07/15 23:25
一個が約50KBとして、100GB埋め尽くすには約200万個のDLLが必要だな。

814 :デフォルトの名無しさん:02/07/15 23:43
万個

815 :デフォルトの名無しさん:02/07/16 01:36
珍個

816 :デフォルトの名無しさん:02/07/16 01:51
>>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で検索してもそれらしいものは
見つかりませんでした・・・

どなたか知恵を貸してください。おながいします。

817 :デフォルトの名無しさん:02/07/16 04:04
http://www.csharphelp.com/archives/archive109.html

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

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

誰か動かし方教えて

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

署名とか言うのすればいいのだろうか、やり方わからんけど。
せめてJavaと同じくらいのの実行権は既定で欲しかったなぁ

819 :デフォルトの名無しさん:02/07/16 11:44
>>816
リモートオブジェクトのactivateのタイミングを拾うのは簡単だけど、
deactivateを拾うのは半端じゃなくむずかしいと思われ。
(LifetimeServicesあたりを触るしかないのかな・・・。)

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

具体的なイメージが湧かないときは言ってちょ。

820 :デフォルトの名無しさん:02/07/16 11:50
>>818
エンドユーザー対策では、インストーラ作って自動設定させるのがいちばん楽かな。
有名どこではここ↓のサンプル見てちょ。

http://www.sellsbrothers.com/wahoo/

821 :デフォルトの名無しさん:02/07/16 18:27
>>816
というか、わざわざContextAttributeを使う必要があるのかな。
普通にコンストラクタ・ファイナライザに処理を埋め込めばいいのでは?

822 :デフォルトの名無しさん:02/07/16 19:05
Whidby&Everettあげ

823 :デフォルトの名無しさん:02/07/16 20:03
>>816
ContextAttributeじゃダメっぽいね。問題だらけだわ。(;´Д`)

・IContributeObjectSinkを使った場合

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

・IContributeServerContextSinkを使った場合

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

・IContributeObjectSink+IContributeServerContextSinkの場合

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

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

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

つーことで、悲しいけど>>821が正解のような・・・。

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

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

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)