くだすれ.NET(超初心者向け)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは
どんなに「くだ」らない.NETプログラミングに関する質問でも
誰かが優しくレスをしてくれる「すれ」っどです。
質問者自身何がなんだか分からない質問でも勇気をもって書き込んで
ください。お礼は.NETアプリケーションの普及と初心者の救済を
お願いします。
2デフォルトの名無しさん:2006/10/07(土) 17:29:45
なお、開発環境はMS系、Bolrand系、その他全てを含みます。
開発言語は.NETアプリを作成できるもの全てを対象とします。
3前途有望な中学2年生:2006/10/07(土) 17:38:15
Delphi.NETではVCL.NETを利用したFormとMSのWinFormと基本的に
2種類の.NETアプリを作れそうですが、それぞれの利点と弱点を
教えてください。

Delphiを学び始めた初心者としてはVCL.NETを利用するとソースコード上は
Win32とまったく変わらないので有難いのですが、配布する専用のDLL
が必要となるのでちょっと面倒だと感じています。スタティックに
する方法があるそうですけど・・。それ以外に
何か問題があるかどうがご教授お願いします。
4デフォルトの名無しさん:2006/10/07(土) 17:50:45
メモ帳で作るにはどうしたら良いの?
IISはインスコできたけど、動かない。orz
5デフォルトの名無しさん:2006/10/07(土) 19:03:20
>4
.NET Framework SDKをインストール。
IISって必要だったっけ?
6デフォルトの名無しさん:2006/10/08(日) 01:43:08
2.0のSDK、354.0 MBもある。orz
1.1なら106.2 MBで済んでw2kにSP当てる必要も無い。
7デフォルトの名無しさん:2006/10/08(日) 11:31:56
無料で使えるCコンパイラってあるの?
vc.iso611,540 KB巨大過ぎ!
8デフォルトの名無しさん:2006/10/08(日) 13:31:45
>>7
無料で使えるCコンパイラ
ttp://www.htsoft.com/products/CPM.php
9デフォルトの名無しさん:2006/10/08(日) 21:58:26
>>7
そりゃそれはコンパイラ以外にも巨大なIDEを含んでいるから、
どうしてもでかくなってしまう。
10デフォルトの名無しさん:2006/10/08(日) 22:54:04
VCTK
11デフォルトの名無しさん:2006/11/11(土) 20:29:43
BASIC言語よりもC言語の方が使いやすいと聞いたんですけど実際のところどうですか?
あと、覚えておいて得になったみたいなことってありますか?
12デフォルトの名無しさん:2006/11/11(土) 20:33:53
人による
13デフォルトの名無しさん:2006/11/22(水) 11:33:36
今から勉強するんですが
.NETよりJava先にやっとくべきですか
.NETで食べていける?
14デフォルトの名無しさん:2006/11/22(水) 12:39:46
ttp://neta.ywcafe.net/000685.html

JavaやPHPはあっても、ドトネトはアリエナス
15デフォルトの名無しさん:2007/02/11(日) 16:35:55
焼肉食いたいです。
16デフォルトの名無しさん:2007/02/12(月) 00:52:33
NET Framework 2.0をsetupするとエラー:必須コンポーネントプログラムが見つかりませんとなります
必須コンポーネントプログラムをインストールしなくてはいけないみたいなのですが
調べてみても意味のわからない言葉ばかりでどうしたらいいかわかりません
必須コンポーネントプログラムを簡単にインストールする方法はないでしょうか?
17デフォルトの名無しさん:2007/02/12(月) 01:17:18
>調べてみても意味のわからない言葉

その言葉を、ここに、書けや、ハゲ。
OSとか、SPとか、分からんと、答えようが、あるかっての、ハゲ。
18デフォルトの名無しさん:2007/02/12(月) 14:24:22
osは windows xp です
spはちょっとわからないんですけど
パソコン買ったのが2006年でそれ以来spインストールしてないので
sp1だと思います

どうかコンポネートプログラムをインストールするために
何をやったらいいのか教えてください
19デフォルトの名無しさん:2007/02/12(月) 14:27:51
sp1ならますsp2当てて来い
20デフォルトの名無しさん:2007/02/12(月) 14:30:10
>>18
.NET Fx 2.0

サポートされているオペレーティング システム : Windows 2000 Service Pack 3; Windows 98; Windows 98 Second Edition;
Windows ME; Windows Server 2003; Windows Vista Business; Windows Vista Business 64-bit edition;
Windows Vista Enterprise; Windows Vista Enterprise 64-bit edition; Windows Vista Home Basic;
Windows Vista Home Basic 64-bit edition; Windows Vista Home Premium; Windows Vista Home Premium 64-bit edition;
Windows Vista Starter; Windows Vista Ultimate; Windows Vista Ultimate 64-bit edition; Windows XP Service Pack 2
21デフォルトの名無しさん:2007/02/12(月) 15:25:28
>2006年
SP2入ってるだろw
22デフォルトの名無しさん:2007/02/12(月) 15:47:15
プログラム検索したらsp2が入ってるみたいでした
調べもしないで適当なこといってすいません
続きをお願いします
23デフォルトの名無しさん:2007/02/12(月) 16:50:43
これとか?

必要なソフトウェア:
Windows Installer 3.0 (Windows Installer 2.0 またはそれ以降を必要とする Windows 98/ME は除きます)
 : Windows Installer 3.1 またはそれ以降を推奨します。
24デフォルトの名無しさん:2007/02/17(土) 16:59:45
ツリービューにユーザー定義のパラメータを関連付けるにはどうしたらいいでしょうか?
25デフォルトの名無しさん:2007/02/17(土) 17:00:23
Tag
26デフォルトの名無しさん:2007/02/17(土) 17:07:47
>>25
うお、エライ早いご回答ありがとうございます。
27デフォルトの名無しさん:2007/02/17(土) 17:22:36
たびたびですいません。
ツリービューのノードにユーザー定義パラメータを関連付ける方法はありますでしょうか?
28デフォルトの名無しさん:2007/02/17(土) 17:29:51
え゛?
29デフォルトの名無しさん:2007/02/17(土) 17:30:25
Tag
3027:2007/02/17(土) 17:39:00
>28-29
まことに申し訳ありませんでした脳が腐っておりました。
脳みそ洗って出直してきます。
31デフォルトの名無しさん:2007/02/20(火) 00:09:48
継承して好きなプロパティでもなんでも実装してください
32デフォルトの名無しさん:2007/02/20(火) 01:21:41
IExtenderProviderのがいいでよ。

33デフォルトの名無しさん:2007/03/30(金) 12:48:49
 JavaからC#に移行を考えているのですが、JavaのHttpClientみたいに、
クッキー管理やhttpsをお手軽にできるライブラリはありますでしょうか?

できるだけ無償利用可能でGNUでないものがあるとうれしいです。
34デフォルトの名無しさん:2007/03/30(金) 13:09:46
System.Net.WebRequestじゃダメなの?合わないようなら他探すけど。
35デフォルトの名無しさん:2007/03/30(金) 15:58:38
WebClientとか
36デフォルトの名無しさん:2007/03/30(金) 16:42:01
とりあえず System.Net をMSDNで見てみるといいかも。
37デフォルトの名無しさん:2007/03/31(土) 00:06:28
>34,35,36
ありがとうございます、
見てみます。
38デフォルトの名無しさん:2007/04/23(月) 21:47:44
すみません。.NETFramework2.0をインストールするには
インストーラ3.1が必要ですよね?
これってNTにはインストールできないんですかね?
3938:2007/04/23(月) 21:57:46
申し訳ないですがageさせてもらいます
40デフォルトの名無しさん:2007/04/23(月) 23:14:09
41デフォルトの名無しさん:2007/04/23(月) 23:47:03
>>40
なんではげって分かったんですか!???

ありがとうございます!
42デフォルトの名無しさん:2007/04/23(月) 23:53:40
.NET Framework2.0はダメってことですね・・・
98がおkでNT4.0がダメなんて・・・・・・・・

1.1で動くかなぁ・・・・・・orz
43デフォルトの名無しさん:2007/04/25(水) 09:47:48
よろしくお願いします。WindowsXPとVB 2005 Expressです。

OSの再インストールを行い、元のようにVB 2005 Expressをインストールしたんですが、
ildasm.exeが無くなってしまいました。PC内を全検索してもありませんでした。
ildasm.exeを入れるためには、他に何かをインストールする必要があるのでしょうか?
4443:2007/04/25(水) 12:37:33
自己解決できました。スレ汚し失礼しました。
VS Expressをインストールすると、.Net Framework SDK ver2.0が不完全な状態で入るらしく、
機能をフルで使いたいなら単独で上書きしてやらなければならないそうです。
45デフォルトの名無しさん:2007/04/27(金) 10:58:45
ASP.NET、GridViewのBoundFieldのHederTextを
任意の場所で改行して表示したいんだけどいい方法ないですか?
46デフォルトの名無しさん:2007/04/27(金) 11:38:15
普通に改行入れたらいいじゃん
バインドしてTHタグ書き出すときにBRタグ入れて改行するってことだろ?
コードでバインドキャッチしてVBCRLFでも突っ込めばいいんちゃうの?
47デフォルトの名無しさん:2007/04/27(金) 11:49:31
>>46
あ、ごめんVBじゃなくてC#だわ
書くの忘れてた
48デフォルトの名無しさん:2007/04/27(金) 11:53:48
"1行目<BR>2行目"みたいに<BR>を直接書く
4945:2007/04/27(金) 11:55:59
>>48
やってみればわかるけどそれだと
「1行目<BR>2行目」と表示される
50デフォルトの名無しさん:2007/04/27(金) 12:01:23
>>49
それはなきっと代入先のプロパティの違いだと思うよ
5145:2007/04/27(金) 12:02:54
>>50
ああああなるほど!
HtmlEncodeをFalseにするのか!
ありがとう解決したよ!
52デフォルトの名無しさん:2007/05/14(月) 22:52:11
.NETってDirectXみたいなもんですか?
53デフォルトの名無しさん:2007/05/14(月) 22:54:29
いいえ。全く違います。
54デフォルトの名無しさん:2007/05/18(金) 02:02:00
翻訳:穴子丼ってスペースシャトルみたいなもんですか?
55デフォルトの名無しさん:2007/05/25(金) 17:30:03
初めまして、VC++のC++/CLIのフォームアプリケーションについて質問があります。

今、LimeChat 2 の様なアプリを作っていています。
そのアプリのテキストボックスには、カーソルが表示されていません。
どのようにすれば、カーソルを表示させないようにできるのでしょうか?

また、TreeViewの再描画を一時停止させたいのですが、どうすればよいのでしょうか?
56デフォルトの名無しさん:2007/05/25(金) 17:31:45
こんな奴がC++出来るんだぜとかいってると思うとため息出るな・・・
57デフォルトの名無しさん:2007/05/26(土) 04:34:45
HideCaret(static_cast<HWND>(this->textBox1->Handle.ToPointer()));
でなんとかキャレットを非表示にできそうです。

しかし、外部シンボル ""extern "C" int __stdcall HideCaret(struct HWND__ *)" (?HideCaret@@$$J14YGHPAUHWND__@@@Z)" は未解決です。
というリンクエラーが出てしまいましたorz
どうすれば解決できるでしょうか?
58デフォルトの名無しさん:2007/05/28(月) 22:38:37
このスレ住人哲学者とか逝ってるが馬鹿ばっかしなので荒らし協力よろしくお願いしますm(_ _)m
http://academy6.2ch.net/test/read.cgi/philo/1179406868/
59デフォルトの名無しさん:2007/06/02(土) 23:53:39
C#でWindows Application(WPF)のプロジェクトを新規に作ったのですが、
ウィンドウのメニューに新しい項目を追加して、
そのクリックで処理する関数はどのように記述すればよいのですか?
XAMLの<MenuItem>でメニューは追加したのですが、
処理への橋渡しのしかたがわかりません。
60デフォルトの名無しさん:2007/06/03(日) 03:11:20
>>59
OnClick の処理を追加したいってこと?
コード側でやる。
this.menuItem.Click +=
まで打ったら、「tab を押したら雛形作るよ」みたいなメッセージでて、
そこで tab 押せば OK。
61デフォルトの名無しさん:2007/07/16(月) 16:40:16
NETはVBでもC#でも同じ中間言語とランタイム使うんですよね
ということは速度差はあまりないということですか?
62デフォルトの名無しさん:2007/07/16(月) 17:03:09
>>61
ないだろうね
そういう部分よりもむしろ組む人間の書くコードの処理性能の差の方位が大きい
同じように書けば変わらないよ
63デフォルトの名無しさん:2007/07/17(火) 15:46:38
つまり、ドトネト全体がネイティブに比べて劇遅。
64デフォルトの名無しさん:2007/07/17(火) 16:14:46
ネイティブなら細部のパフォーマンスまで手動で改善する余地があるってだけで、
それをしなかった場合に、パフォーマンスが大きく変わるわけじゃない。
65デフォルトの名無しさん:2007/07/17(火) 16:24:32
>ネイティブなら細部のパフォーマンスまで手動で改善する余地があるってだけで、

違う。

ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
66デフォルトの名無しさん:2007/07/17(火) 17:08:39
>>65
君には失敗の経験が必要なようだ。
67デフォルトの名無しさん:2007/07/18(水) 02:14:34
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
>ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。
68デフォルトの名無しさん:2007/07/18(水) 08:41:11
そりゃそうだろ。

モッサリドトネトをわざわざ使ってそれを性能改善するなんて不毛な話。
69デフォルトの名無しさん:2007/07/18(水) 08:53:59
はは
君の書くネイティブプログラムにはドトネト使ってもパフォーマンスで勝てそうだ
70デフォルトの名無しさん:2007/07/18(水) 08:56:58
結論:ネイティブなら汚く作ってもそこそこのパフォーマンスが出る。


ドトネト敗北www
71デフォルトの名無しさん:2007/07/18(水) 09:04:00
現実:

>マイクロソフトは死んだ
ttp://www.yamdas.org/column/technique/microsoftj.html

>Microsoftを殺したのは誰?
ttp://slashdot.jp/article.pl?sid=07/04/09/1811258

>Microsoftを殺したのはIntel
ttp://bousyo.blog45.fc2.com/blog-entry-149.html
4GHz CPU(2007 年には夢の10GHz CPU)を前提とし・当てにしていた
Longhorn や.net など、Microsoft の計画は全て崩れました。
72デフォルトの名無しさん:2007/07/18(水) 09:05:56
>>70
どこをどう読み間違えればそんな結論に
73デフォルトの名無しさん:2007/07/18(水) 10:33:54
.netはCPUの性能向上を当て込んでいたってこと?
それであんなにもっさりなの
74デフォルトの名無しさん:2007/07/18(水) 10:52:08
くそすれあげんな
75デフォルトの名無しさん:2007/07/18(水) 11:08:06
レスの数わずか9で終わったスレ:

>Windows Live プログラミング

5 :デフォルトの名無しさん:2007/05/23(水) 03:51:43
くだらねえ。なんでタダでMSの奴隷にならなあかんの。

7 :デフォルトの名無しさん:2007/06/15(金) 08:37:17
漏れのW-zero3に
LIVEのサービスにシンクロするのを入れたけど
接続しっぱなし、常に電源オンで
頭にきて速攻消した。
OFFICEは付き合いで買ってみたけど
VSはもう川根。

8 :デフォルトの名無しさん:2007/06/15(金) 23:14:07
>>5
Webサービスの類は自前でサーバを作らない限りどこかの会社の奴隷じゃよ

9 :デフォルトの名無しさん:2007/06/16(土) 13:29:16
だからLAMPで組むところが多い
76デフォルトの名無しさん:2007/07/18(水) 11:32:08
C++/CLIでMDIアプリケーションを作ってるのですが、
メニューにMdiListを設定して、子ウインドウのリストを作っています。

このとき、複数の子ウインドウを作成し、
どれか一つの子ウインドウを最大化した状態で、
メニューの子ウインドウリストから別のウインドウを選択して
子ウインドウを切り替えた場合に、
一瞬その他の子ウインドウが見えてしまいます。

子ウインドウをCtrl+Tabで切り替えたときは、
その他子ウインドウが一瞬見えてしまう現象は起きません。。。

メニューのウインドウリストからウインドウを切り替えても、
その他子ウインドウが見えないようにする方法はないでしょうか。。。。

しょうもない質問で申し訳ないのですが、
ご存知のかたがおられましたら、ご教示いただけませんか。
77デフォルトの名無しさん:2007/07/26(木) 02:18:50
スレ違いかもしれないけど、.NET Frameworkのインストール率を
調査したページや資料ってどこかにありますか?

2.0がどのぐらいの割合でインストールされているのか知りたいんです。
78デフォルトの名無しさん:2007/07/26(木) 03:21:32
そんなのぜんぜん意味ないことに気づけ。
MSが公開でもしてたら別だがな。
79デフォルトの名無しさん:2007/07/26(木) 10:35:05
IEだとHTTPヘッダのUAに.NETのバージョンが書かれているからその数字を参考にするとか
80デフォルトの名無しさん:2007/07/26(木) 13:14:15
問題はだね、そんくらいいろんな人が訪れるサイトを作るか、
協力してもらう必要があることだ
81デフォルトの名無しさん:2007/07/26(木) 13:37:44
うちの自宅鯖にアクセスする人(平均4000ヒット/日)はIE(とIEコンポーネント使用ブラウザ)が99%以上
そのうち.NetFramework1.1以上が入ってるのは9割強
82デフォルトの名無しさん:2007/07/26(木) 16:54:20
俺のウェブサイトの訪問者は3.0入れてる人が4割ぐらいだな





多分ほとんど俺だが。
83デフォルトの名無しさん:2007/07/26(木) 23:36:23
>>82
全俺が泣いた
84デフォルトの名無しさん:2007/07/27(金) 00:50:48
4000回くらいは自分のアクセスだが6000回は>>82のファンかもしれんぞ
85デフォルトの名無しさん:2007/07/27(金) 11:09:17
>うちの自宅鯖にアクセスする人

ドトネト解説サイトだったりして。
86デフォルトの名無しさん:2007/07/27(金) 11:12:56
>>85
違うよ
某ネトゲ(.Net不使用)に関するサイト
87デフォルトの名無しさん:2007/07/28(土) 02:20:02
ちなみに、2.0以上は何割ぐらい?
2.0ってWindowsUpdateで自動インストールされるっけ。
88デフォルトの名無しさん:2007/07/28(土) 03:31:54
>>87
ユーザエージェントにそれぞれの文字列がある割合。
"CLR 1.0"・・・10%
"CLR 1.1"・・・64%
"CLR 2.0"・・・91%
"CLR 3.0"・・・29%
一人のユーザに複数のバージョンが書かれてる場合もある。
ちなみに最近1ヶ月のログで調べた。
89デフォルトの名無しさん:2007/07/28(土) 09:39:53
ATI のグラフィックカードだと .NET 必要だから ATI には感謝しとかないとな
90デフォルトの名無しさん:2007/07/28(土) 12:15:13
>>89
何かヲタ的な発想で気持ちが悪いなそれw

前から不思議でしょうがないんだが、ヲタっていうのはどうしてたまたま自分が使ってる
だけに過ぎない商品の市場占有率を気持ち悪いぐらい過剰に気にするんだろうね。

そんでもってそのたまたま自分が使ってるに過ぎない商品の競合を互いに
排斥したりしてやがるw

本当気色悪い人種だわ。俺には理解不能なメンタリティとしかいいようがない。
91デフォルトの名無しさん:2007/07/28(土) 18:00:59
>>87
自動ではインスコされないよ。
92デフォルトの名無しさん:2007/07/28(土) 18:40:27
>>90
あんまり見たこと無いけどなあ
93デフォルトの名無しさん:2007/07/28(土) 21:13:04
なんか気持ち悪い人がいますね
94デフォルトの名無しさん:2007/07/28(土) 21:27:08
>>90
あんたこそがきもい
95デフォルトの名無しさん:2007/08/16(木) 17:25:11
質問です。
ボタンが複数ある場合,それらをグループ化して,
switch文でbutton1が押された場合は,case1に飛ぶとか
そういうことは,実現できないのでしょうか?

初歩的な質問ですみません。
96デフォルトの名無しさん:2007/08/16(木) 17:36:17
>>95
グループ化したいボタンのClickイベントに同じイベントハンドラをわりふる。
senderが押されたボタンを指しているのでそれに応じた処理をする。
97デフォルトの名無しさん:2007/08/16(木) 17:52:55
>senderが押されたボタンを指しているのでそれに応じた処理をする。

何このDelphi/VCL?
98デフォルトの名無しさん:2007/08/16(木) 18:01:50
だってアーキテクト一緒だもん
99デフォルトの名無しさん:2007/08/18(土) 00:04:52
>>97-98
その話題は時代遅れ杉。
100デフォルトの名無しさん:2007/08/19(日) 00:52:45

.NET用フリーコンポーネントのダウンロードサイトってありますか?
Delphiでいうところの Delphi Super Page や Torry's Delphi Pages みたいな...。

探してみたんですが、見当たりません。
そもそも.NETの世界には、そういう文化がないんでしょうか?

101デフォルトの名無しさん:2007/08/22(水) 02:05:31
ネットワークプログラムのサンプルとしてチャットソフトを作りたいのですが、
相手からのデータを受信したことを知るにはどうすればよいのでしょうか?

とりあえずタイマー張って、その中でNetworkStream.Readする方法を思いついたのですが、
あまりスマートじゃない気がして…
102デフォルトの名無しさん:2007/08/22(水) 03:41:54
なんでタイマー…
103デフォルトの名無しさん:2007/08/22(水) 12:08:14
調べても方法が載ってなかったので、質問です。

Outlookでマクロを作成したので、
コレをVBから実行させたいと思っています。

どうしたらいいのでしょうか?
スレ違いならすみません。
104デフォルトの名無しさん:2007/08/22(水) 15:42:34
>>103

これを参考にしてやってみて下さい。

Visual Basic .NET からオートメーションを使用して Office マクロを実行する方法
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B306682
105デフォルトの名無しさん:2007/08/22(水) 16:29:14
>>104
ありがとうございます。

早速見てみたんですが、肝心のOutlookの場合がありませんでした。
要所を変更して試してみたんですが、ダメでした。
106デフォルトの名無しさん:2007/08/28(火) 10:42:47
>>100
Torryに.NETのページがあるだろうに
ttp://www.torry.net/pages.php?id=791
107デフォルトの名無しさん:2007/09/26(水) 22:39:13
2005Express日本語版は無料ですが
英語版はなんかレジスターとかしないといけないんですか?

昔のJAVAのソースを流用したいのでJ#を使いたいのですが
英語のページ見てもちんぷんかんぷんです(泣


JLCAを使おうかと思ったのですが無料環境では使えなさそうでした。
108デフォルトの名無しさん:2007/09/26(水) 23:42:41
そこらへんは日本語版も英語版も変わらないぞ。
どっちも任意のユーザー登録を求められる。
たしか登録しなくても使い続けられるはず。
109107:2007/09/27(木) 07:06:29
えそうなの?
C#いれたのがかなり昔なので忘れてました。そうだったっけ。
110デフォルトの名無しさん:2007/09/27(木) 18:55:46
俺は登録なんてした覚えないけどなw
>>107-108はなんか勘違いしてないか?
111デフォルトの名無しさん:2007/09/27(木) 19:35:34
DataGridView に DataSet の中身を表示するだけのプログラムを作りたいのですが,
すでに値の入っているDataSetを表示するためにはどうしたらいいのでしょうか?

(DataGridView インスタンス).DataSource = (Datasetインスタンス);
(DataGridView インスタンス).DataMember = "Table";

とやっているのですがグリッド画面に変化が情報が表示されません.

DataSetにはブレイクポイントで見た時に
DataSetビジュアライザでは
   テーブル(T): コンボボックスに 「Table」
ととしていくつかのデータが入っています.

どのように修正すればいいのでしょうか?
112107:2007/09/27(木) 22:22:03
>>110
J#Expressは英語版しかないのですが、「登録しないとインストール後30日しか使えません」と
いう意味だと思われるメッセージが出るんです。
C#日本語版ではそんなことした記憶がないので,ここで質問させてもらいました。

J#英語版を起動するたびそういうメッセージが出るのですが、とりあえずほっときます。
1ヶ月後もし使えなくなったらまた考えます。
113デフォルトの名無しさん:2007/09/27(木) 22:35:11
登録無料だったと思うけど…
114デフォルトの名無しさん:2007/09/27(木) 22:57:22
>>112
今のはしらないが、ダウンロード可能になったばかりのころの日本語版Expressは
プロジェクトを1つ作くるまでの間登録のメッセージが繰り返し出る仕組みだった。
登録すると消えると思っていたので5回も登録したのを覚えている。
115デフォルトの名無しさん:2007/10/03(水) 16:25:36
.NET Frameworkのアプリってmacでもうごくの?
116デフォルトの名無しさん:2007/10/03(水) 16:30:15
Mono入れれば動くかもね
117デフォルトの名無しさん:2007/10/03(水) 19:39:09
ほぼ全てのアプリはWinAPIを併用しているので動きません。
118デフォルトの名無しさん:2007/10/03(水) 19:52:06
monoはASP.NETがメインターゲットで、WinFormの完全な移植ははじめから放棄している。
119デフォルトの名無しさん:2007/10/03(水) 19:55:32
いわゆるM$トラップ。
120デフォルトの名無しさん:2007/10/03(水) 21:53:34
orcasっていつ頃発売ですか?
121デフォルトの名無しさん:2007/10/05(金) 22:49:52
VB.NET2005でゲームを作っています。
そこで、ゲームが開始されるとマウスポインターを
自分の持っている画像に変更したいのですが、どうしてもわかりません。
VB6.0では、MouseIcon プロパティで設定したユーザー定義のアイコン
とあるのですが、イマイチわかりません。
知っている方がいましたらご教示ください。お願いします。
本当に初心者なので、噛み砕いて教えていただけると幸いです。
122デフォルトの名無しさん:2007/10/05(金) 23:55:47

      ∩___∩  
      | ノ      ヽ 
     /  ●   ● | 
. ((  |    ( _●_)  ミ ・
    彡、   |∪}=) ,ノ ∴
     /    ヽ/^ヽ ヽ  。
     |      ヽ \ |
     |      ヽ__ノ
123デフォルトの名無しさん:2007/10/06(土) 18:09:12
初心者用の書籍買ったほうが、今後の為にいいと思われ
124デフォルトの名無しさん:2007/10/06(土) 18:22:24
マウスカーソル変えるのはドトネトだと案外初心者向きじゃないかもね。

My.Resourcesがカーソルには対応してないから、
MemoryStreamとか初心者にとっては恐らくワケワカメと思われるクラスを使わないと
恐らくリソースからカーソルを取り出せないと思うから。
125デフォルトの名無しさん:2007/10/06(土) 21:47:53
ClickOnceについて質問させて下さい。

現在ClickOncewを利用し作成したWindowsアプリを発行しようとしている
のですが(言語はVB.net)うまく行きません。

具体的には、A端末よりアプリをC端末のサーバ上に発行しB端末より
【hoge.application】にアクセスをしたところ次の様なエラーが発生します。
何が原因なのでしょうか?

【エラー発生時のダイアログメッセージ】
アプリケーションのインストール-セキュリティの警告
コンピュータにセキュリティ上の問題を発生させるため、管理者がこの
アプリケーションをブロックしました。
名前: hoge
発信元: \\hoge1\hoge2
発行者: 不明な発行元です。
セキュリティー設定は、このアプリケーションがこのコンピュータにインストール
されることを許可していません。

1※発信元を短い階層にしてもエラーが出ます。
2※アセンブリ名は英数字を利用しています。
3※発行時にローカル【C:\personal\hoge.application】に発行をした上
  でアクセスをすると普通にクリックワンスが利用出来ます。

以上 宜しくお願い致します。
126デフォルトの名無しさん:2007/10/06(土) 23:37:51
121です。
●123さん
なにかお勧めの本とかってありますか?

●124さん
あるMemoryStream・・・ワケワメです。初耳です。
なので別の部分を改良したいと思います。

ご回答ありがとうございました。
127デフォルトの名無しさん:2007/10/09(火) 17:53:59
Accessがインストールされてない状態でプログラム上からmdbのファイル形式を97から2002に変換したいのですが可能ですか?
128デフォルトの名無しさん:2007/10/10(水) 12:30:34
いままでVB6.0で開発やってきて、今後VB2005or2008に移行していきます
とりあえずVB2005Expressをインストールしたんですが、さてどうしたものかと

6.0から.NETに移行するために、まずどういう勉強をすべきでしょうか
129デフォルトの名無しさん:2007/10/10(水) 13:27:31
Delphi/Delphi.NET
130デフォルトの名無しさん:2007/10/10(水) 22:19:53
>>128
英語
131デフォルトの名無しさん:2007/10/11(木) 00:27:33
骨折りな質問ですが回答願います。

VS2005のC#×ASP.NETでIIS上で動作するwebアプリケーション開発をしたいのですが、
ASP.NETデバッグがうまくいかないんです。

症状としてはASP.NETデバッグをしようとすると以下のエラーメッセが出ます。
「プロジェクトを実行しようとしているときにエラーが発生しました : Web サーバーでデバッグを開始できません。サーバーをデバッグする権限がありません。
サーバーの Debugger Users グループのメンバであることを確認してください。次回からこのプロジェクトの ASP.NET ページのデバッグを無効にしますか?」

で、ネットで検索して
DebuggerUsersにIWAMの追加とかiisresetとか、ASP.NETの再マッピングとかいろいろ試したのですがどうもダメなようです。
クライアントのPCには複数の.NET FrameWorkが入ってるのでそれが原因かもしれませんが、
IIS側からはプロパティーのタブでバージョン選択が出来るタブが出来ているのでそれで選択できてるし
問題ないのではないかとも思うのですが、どうしてかなぁー
も一個原因として考えられるのはインストール時の順序なんですが、
仕事先で使ってるPCなもんでIISとVS2005インストールする前に.Net1.0/1.1/2.0入ってたんですよね。
だからマッピングがうまくいってないのかもしれない。
けど、客先のPCで.NET FrameWorkに依存してるプリインストのソフトが有るので
アンインストしてOSからクリーンインストするわけにはいかない雰囲気なんですよね。
どうにかお助けをー。
132デフォルトの名無しさん:2007/10/11(木) 10:36:05
> サーバーの Debugger Users グループのメンバであることを確認してください
133デフォルトの名無しさん:2007/10/11(木) 18:17:16
>>124
リソースからのアイコンの読み込みは、
Iconのコンストラクタ1つで可能。
だから、わかっていれば面倒ではない。
わけわかめかもしれないけど。
134デフォルトの名無しさん:2007/10/12(金) 18:26:15
はて誰かアイコンの話なんてしてたっけ?w
135デフォルトの名無しさん:2007/10/13(土) 17:04:46
>>131権限がないだけだろ・・・・たぶん
136デフォルトの名無しさん:2007/10/24(水) 14:04:42
配列の並び替えの考え方が知りたいです(´・ω・`)関数でやるんじゃなくて概念みたいなのを教えて下さい
137デフォルトの名無しさん:2007/10/24(水) 15:05:22
どう並び替えるの
138デフォルトの名無しさん:2007/10/25(木) 02:29:33
>>136
多種多様。
アルゴリズムの基礎の教本でも買え。
139デフォルトの名無しさん:2007/10/25(木) 23:15:10
PInvokeってどうやって作ればいいんですか@VS2005
140デフォルトの名無しさん:2007/10/26(金) 01:54:12
PInvokeの意味分かってるか?
141デフォルトの名無しさん:2007/10/26(金) 17:48:23
質問なのですが、VisualStudio で作ったサーバーソフトをLINUXで動かしたり出来ますか?
それともLINUXはLINUX環境で作成するしかないでしょうか?Windowsベースで作ったサーバープログラムを
LINUXでも動かすことが出来るようにするには、どの言語を習得するのがいいですか?ご教示お願いします。
142デフォルトの名無しさん:2007/10/26(金) 18:13:37
>質問なのですが、VisualStudio で作ったサーバーソフトをLINUXで動かしたり出来ますか?
ASP.NETならできるよ
143デフォルトの名無しさん:2007/10/26(金) 18:21:19
ドトネトはありえなーい。
反則だろ。
144デフォルトの名無しさん:2007/10/26(金) 18:35:00
ドトネトスレで何をほざいてんだ
145デフォルトの名無しさん:2007/10/28(日) 16:35:04
>>141
コンパイル型なら無条件でJava、
スクリプト系ならPHPかRubyだろ。

あと、DelphiやC++Builderでもクロスコンパイル可能だったけど、
今は対応がどうだったかわからん。
146デフォルトの名無しさん:2007/10/28(日) 16:53:01
>>141
何やりたいかにも拠るけど、言語としてはJava、
開発環境としてはJava+Eclipse+Eclipse用のプラグインが基本だと思う。

あと、Windows -> Linux のクロス開発をやるなら、VMWareも使った方が良い。
VMWareはAT互換PCのエミュレータで、PC上にもう一台仮想PCを構築するプログラム。
土台のPCでWindowsを動かして、その上でVMWare+Linuxを動かせば
一台のPCで開発が出来るので、動作確認やテスト、設定等が楽になる。

VMWareを使用する上での注意点はネットワークの設定。
ここらへんはサーバープログラムをやろうって人だから大丈夫だと思うけど、
土台のPCと仮想マシン上で仮想ネットワークを構築するので、ネットワークの
基礎知識が無い人が設定間違えるとWindowsからインターネットへの接続が出来なくなる。
ネットワークカードを増設して、既存の口をWindows用、増設した口を
仮想PC用に割り当てると設定が楽。


あと、.Netにせよ、Javaにせよ、Judeの様なUML作成ソフトと
Unitテスタ(.NetならNUnit、JavaならJUnit。JUnitはEclipseのオマケで入っている)
は用意しておいた方が良いよ。
147質問:2007/10/29(月) 02:12:29
現在、VS2005を使っているのですがメニューに
「前に戻る」「先に進む」というアイコンがありません。

以前にユーザ設定で作る事が出来たと記憶しているのですが、
どうも(ユーザ設定から開いて戻る・進むのアイコンの場所)
が分かりません。

ご存知の方がいらしましたら教えて下さい。
※Shift + Ctrl + F2をアイコンをクリックする事でやりたいです。
148デフォルトの名無しさん:2007/10/29(月) 02:15:15
やっぱり Flashが基本
149デフォルトの名無しさん:2007/10/29(月) 02:28:16
150デフォルトの名無しさん:2007/10/31(水) 21:52:06
.NETで実装されているオープンソースの2ch専用ブラウザってありますか?
151デフォルトの名無しさん:2007/10/31(水) 21:58:51
152デフォルトの名無しさん:2007/10/31(水) 22:08:03
>>151
ありがとうございます!
153デフォルトの名無しさん:2007/10/31(水) 22:48:37
TabControlについて教えてください

tabPage1に貼り付けたコントロールすべてを
tabPage2に移動させるにはどうしたらいいのでしょうか?

VS2005 .net C#で開発しています
よろしくお願いします。
154デフォルトの名無しさん:2007/10/31(水) 22:59:25
コントロールを複数選択してコピペすればいいじゃん
むしろ同じ物を配置するならユーザコントロール作っとけ
155153:2007/11/01(木) 07:34:19
>>154
ユーザーコントロールですが。
ありがとうございます!!
全然気が付きませんでした。
156デフォルトの名無しさん:2007/11/02(金) 15:17:53
VB2005で。

Dim strA As String = "ABC"
Dim strB As String
strB = strA
strA = "XXX"
Debug.Print("strA=" & strA)
Debug.Print("strB=" & strB)

実行結果
strA=XXX
strB=ABC

なんでstrBも"XXX"と出力されないの?
String型変数は参照型なんだから、strAもstrBも同じ領域を参照してるんじゃないの?

それともstrA="XXX"の行は参照先の書き換えではないんだろうか…
157デフォルトの名無しさん:2007/11/02(金) 17:01:25
>>156
strB = strA <- 変数strBの参照先を書き換えている。
strA="XXX" <- 変数strAの参照先を書き換えている。
158デフォルトの名無しさん:2007/11/02(金) 17:40:35
>>157
strB = strA <- 変数strBの参照先(アドレス)を書き換えている。
strA="XXX" <- 変数strAの参照先(のデータ領域)を書き換えている。

…という動作を期待しました。
159デフォルトの名無しさん:2007/11/02(金) 18:00:20
なんで同じ演算子でそんな気持ち悪い動作になるんだよ。
160デフォルトの名無しさん:2007/11/02(金) 19:58:34
Stringはイミュータブルな参照型で参照型の中でも特別扱いって
どんな入門書にも書いてないか?
161デフォルトの名無しさん:2007/11/02(金) 20:07:34
別にミュータブルな参照型でも同じだろ。
162デフォルトの名無しさん:2007/11/02(金) 20:08:43
163デフォルトの名無しさん:2007/11/02(金) 20:11:40
っていう嫌味の一行レスだと161には通じないかな。
Stringが純粋に普通の参照型だとすれば、156の期待は正しい。
158の文章の内容はちょっと怪しいけどね。
164デフォルトの名無しさん:2007/11/02(金) 21:53:28
158や163の言っている状況をStringBuilderで再現するとこうなるか。

Dim strA As New StringBuilder("ABC")

Dim strB As StringBuilder
strB = strA
strA.Remove(0, strA.Length).Append("XXX")
Console.WriteLine("strA=" & strA.ToString)
Console.WriteLine("strB=" & strB.ToString)
165デフォルトの名無しさん:2007/11/02(金) 23:01:45
>Stringが純粋に普通の参照型だとすれば、156の期待は正しい。
どういうこと?
166デフォルトの名無しさん:2007/11/03(土) 01:02:03
>純粋に普通の参照型だとすれば、156の期待は正しい
( ´・∀・`)へー
167デフォルトの名無しさん:2007/11/03(土) 01:38:30
>>156
3行目でstrBの内容を"ABC"に書き換えた後、strBの内容は一切変更されていないから。
4行目の処理はstrBの内容を変更しない。

ていうか、VBの文字列Cの文字列などと同じようには扱えない。
168デフォルトの名無しさん:2007/11/03(土) 01:51:50
はぁ? トートロジー?
169デフォルトの名無しさん:2007/11/03(土) 08:13:47
純粋な普通の参照型かどうかより、単に代入演算の意味(セマンティクス)の問題だと思う。
170デフォルトの名無しさん:2007/11/03(土) 13:45:30
>>169
わかってないなら無理しない方がいいよw
少なくとも君の理解は156以下だから。
171デフォルトの名無しさん:2007/11/03(土) 13:59:39
object a = new object();
object b = a;
a = new object();

MessageBox.Show( (a==b).ToString() );
//false

ってだけの話ちゃうのん
172デフォルトの名無しさん:2007/11/03(土) 14:13:21
ちゃうだろ
173デフォルトの名無しさん:2007/11/03(土) 19:59:34
どうみても>>171ってだけの話だろ。
なんでおかしなこといってるやつがこんなに多いんだ。
文字列は特殊だからとかいてってるやつがおかしい。
174デフォルトの名無しさん:2007/11/04(日) 13:47:34
>>171
文字列の管理機構を考えるとちゃうだろ。
175デフォルトの名無しさん:2007/11/04(日) 15:14:19
違わない
176デフォルトの名無しさん:2007/11/04(日) 20:41:13
まあ文字列が絡むと==は別の意味でややこしいから、
ReferenceEqualで書いたほうが意味が明確だな、なんとなく。
別に本質には関係ないんだが。
177156,158:2007/11/05(月) 08:54:15
おはようございます。
文字列を扱うと純粋な参照型ではない。
がここでの結論ですな。あとは気長に勉強しまする。

どうせなら「HELPのここに書いてある」ぐらいは教えてりゃいいのに。
偉ぶりたいだけの回答者もいたみたいだけどありがt
178デフォルトの名無しさん:2007/11/05(月) 20:44:22
文字列を扱うと、というより.NETの参照型は、と言ったほうがいいと思う。
179デフォルトの名無しさん:2007/11/05(月) 21:21:37
>文字列を扱うと純粋な参照型ではない。
>がここでの結論ですな。あとは気長に勉強しまする。

あほかちがうっちゅうに。
純粋な参照型だよ。
180デフォルトの名無しさん:2007/11/07(水) 00:10:42
2005のEE版ではMFCは使いえないよね?
VC6は持ってるんだけどてそこにあるMFCでVS2005からMFCを使って
プログラム作れるようにしたいんだけど、どうしたらいいかな
181デフォルトの名無しさん:2007/11/10(土) 00:56:57
VB2005で
DataViewのRowFilterの条件記述には、AndAlso, OrElseは使えないんでしょか?
ビルドは出来るけど実行時エラーに。
それとも私が間違ってるだけですか。AndとOrなら動くんですが。
182デフォルトの名無しさん:2007/11/10(土) 01:55:41
なんでAndとOrで駄目なの?
183181:2007/11/10(土) 11:48:21
>>182
機能的にはOKなので、駄目ではないのですが、
沢山記述するので[AndAlso/OrElse]が良いのかなと思ってます。
184デフォルトの名無しさん:2007/11/12(月) 23:32:28
RowFileterの条件前にそれつかって条件作成しとけばいいんじゃね?
185181:2007/11/15(木) 10:52:53
ビューカラムの値に対して、条件指定したいので
それは無理そうです。
186デフォルトの名無しさん:2007/11/18(日) 04:38:37
件数にもよるけどデータなめれば?
つうかさ・・・SQLで条件組めば済み話じゃないのかと
187181:2007/11/18(日) 19:35:19
はい、SQLで済む話なんですけど、
Viewに読み込んでる後なので、そのまま使えれば良いなと。

仕様であれば、仕方ありません。
私の勘違いでView+AndAlsoが使えてないのなら
勿体無いと思ったまでです。
188デフォルトの名無しさん:2007/11/18(日) 19:49:12
すいません、質問よろしいでしょうか?
現在、簡単なペイント系ツールを作成しています。
拡大縮小機能を実装するべく、
Graphics.DrawImage (Image, Rectangle, Rectangle, GraphicsUnit)
にて拡大したBitmapをPictureBox.Imageに代入していますが、
この方法だと、大きな画像を拡大した場合に非常に重くなり、
画像のスクロールもままならなくなってしまいます。
大きい画像を拡大しても重くならない実装方法がありましたら
ご教授お願いします。
189デフォルトの名無しさん:2007/11/18(日) 23:06:41
どれ位なのかしらないけどさ

PictureBoxのプロパティで元の比率を保ったまま自動でリサイズしてFitするように描画してくれるのあるじゃない?
あれじゃだめっすか?
190189:2007/11/18(日) 23:08:49
ごめ、読み違えてた

スクロールとかしてかつ拡大縮小っつうと以前VB.NETでやったときにAPI使ってやってた
それだとWin2000+P4 1.8G Mem512くらいのレベルのマシンでも十分快適に動いたよ
必要があるなら使ったAPIくらい書き込むけど?
191188:2007/11/19(月) 01:13:29
お願いします!
192デフォルトの名無しさん:2007/11/19(月) 02:29:59
>大きい画像を拡大しても重くならない実装方法

賢く実装
193デフォルトの名無しさん:2007/11/19(月) 02:37:20
あんま上級者じゃないから使ってるAPIとかイマイチかもしれないけど
CreateCompatibleDC
SelectObject
ReleaseDC
GetStretchBltMode
SetStretchBltMode
DeleteObject
DeleteDC
BitBlt
StretchBlt

基本は
CreateCompatibleDC
BitBlt
StretchBlt
使って描画関連を行っている感じ
これをクラスで独自ラップして適当にイベント出したりしてつかってたよ
194デフォルトの名無しさん:2007/11/19(月) 19:01:27
そんなややこしいことしなくても発想をちょっと変えるだけでしょ。
変えるというか、普通のWindowsの描画方法で普通にやるだけじゃん。

>>188のやり方がアブノーマルなんだよ。
何でわざわざビットマップに描画して、それをImageに指定するの。
考え方がヘンテコすぎるよw

コントロールのOnPaintをオーバライドするかPaintイベント捕まえて
普通にコントロールのDCに描画しろよ。
195188:2007/11/19(月) 19:57:44
ただいま帰りました。

>>193
ありがとうございます!参考にさせていただきます。

>>194
すいません、Windowsプログラミング&C#ともに初めてでして・・・。
出直してきます。
196デフォルトの名無しさん:2007/11/20(火) 23:15:47
VB2005のWebBrowserコントロールについてなんですが
例えば、WebBrowser1.Navigate("C:\")とすると
フォルダの中身が一覧表示されますよね。
この時、表示スタイル(縮小版、並べて表示etc)を、
右クリックのコンテキストメニューで指定するのではなく、
プログラム内部で制御したいのですが、方法がどうしてもわかりません。
ヘルプのメンバ一覧を見てもそれらしきプロパティやメソッドは無かったです。
出来ればWindowsエクスプローラのファイル表示方法をフォルダ毎に取得して、
表示スタイルを同期出来ればベストなんですが、WebBrowserコントロールでは
そういう事は不可能なんでしょうか?
197デフォルトの名無しさん:2007/11/21(水) 00:42:49
>>196
どこかでも同じ質問してたね。
WebBrowserのメンバにそういうプロパティやメソッドがあるかと思うような人だから
説明してもどうかと思うけど、一応書いてみる。

簡単な方法
ネイティブListViewコントロール(SysListView32)のウィンドウハンドルを探して
LVM_GETVIEW / LVM_SETVIEWをSendMessage

面倒くさい方法
リフレクションを使ってWebBrowserのインスタンスからaxIWebBrowser2という名前で
IWebBrowser2インターフェイスを取得。
→IServiceProviderにキャスト
→IShellBrowserをIServiceProvider.QueryService経由で取得
→IShellViewやIFolderViewをIShellBrowser.QueryActiveShellView経由で取得
→いじり放題

いずれにせよ、エクスプローラの設定を読み込んで同期するのは骨でしょう
198デフォルトの名無しさん:2007/11/21(水) 01:42:04
>>197
マルチですみません。

プログラム内で制御するとなると、結構大変そうですね。
APIやReflectionはほとんど使った事が無いので勉強して試行錯誤してみます。

ありがとうございました。
199デフォルトの名無しさん:2007/11/29(木) 01:47:01
C++/CLIを使っていて、AxWindowsMediaPlayerコントロール上にD&Dでのファイル読み込みを実装したいのですが、
AllowDropプロパティはあるのに、DragEnter, DragDropイベントがありません。
Win32APIではDragQueryFile()等で実装できましたが、.NET Frameworkではどのようにすれば実現できますか?
200デフォルトの名無しさん:2007/12/11(火) 01:42:40
すいませんお分かりになる方がいらっしゃればこちらも答えていただけませんか?

VB.NET質問スレ
http://pc11.2ch.net/test/read.cgi/tech/1189038267/958
201デフォルトの名無しさん:2007/12/15(土) 16:31:27
.NET2.0でTrayMeter(ネットワーク送受信速度をトレイに表示)作ろうと思います
IPV4なんたら使用してそれらしきものは出来たのですが、どうも要らないものまでカウントしているようなのです
ローカルエリア接続アイコンが光らない時でも何か受信している様子
もしかして非ユニキャストとか言うものがやって来てるのでしょうか
もしそうなら、非ユニキャストの「バイト数」を取ってくる方法を教えてください
非ユニキャストのパケットサイズでもいいです
または、ローカルエリア接続のプロパティに出て来る受信バイト数でも構いません
よろしくおねがいします
202デフォルトの名無しさん:2007/12/15(土) 16:42:57
.NET2.0で非ユニキャストパケットのサイズを知る方法はありますか?
または非ユニキャスト総バイト数でもいいです
ローカルエリア接続のプロパティの受信バイト数が直接取れればベストなんですが
IPV4なんたらのは違うようなので
203201=202:2007/12/15(土) 17:10:20
ありゃ
投稿後のリロードで出てこなかったから蹴られたかと思ったorz
201=202=自分です
申し訳ない
204デフォルトの名無しさん:2007/12/20(木) 22:33:29
教えてください。
VS2005 C#を使ってます。

タブコントロールですがCtrl+Tabでタブが切り替わるのですが、これを禁止する方法はありますか?

よろしくお願いします
205デフォルトの名無しさん:2007/12/21(金) 16:49:44
継承して以下のメソッドをオーバーライドでどよ。

protected override bool ProcessCmdKey( ref Message msg, Keys keyData )
{
    if( ( keyData == ( Keys.Control | Keys.Tab ) ) || keyData == ( Keys.Control | Keys.Shift | Keys.Tab ) )
    {
        return true;
    }

    return base.ProcessCmdKey( ref msg, keyData );
}
206デフォルトの名無しさん:2007/12/21(金) 19:33:44
ワタクシも教えて下さい。

VS2005 VBですが、
テーブルレイアウトパネルのサイズを動的に変更したり、
場合によってラジオボタンorチェックボックスの表示を切り替えたりすると
画面描画が遅いのが目立ちます。

PC性能アップ以外に早くなる方法があれば教えて下さい。
C#にすると早くなったりしますか?
207デフォルトの名無しさん:2007/12/21(金) 19:48:03
詳しくは知らないけど.NET使ってれば同じじゃね?
俺はVBからVC++に乗り換えたけど.NET使ってプログラム組んでるやつはそんなに速度変わらないよ
208デフォルトの名無しさん:2007/12/21(金) 20:31:33
色々いぢくった後に纏めてRefresh()とかやれば多少はマシになるんでないか
実験してないが
209デフォルトの名無しさん:2007/12/21(金) 21:00:48
>>206
IDEで実行して言ってないよね?w
Releaseのバイナリを直接動かしてみた?
210CeleronM 1.5G:2007/12/22(土) 10:35:13
>>207-209
ありがとうございます。

描画速度だからC#でも同じですかね。
ちょっと検討してみます。
バイナリ直接でも遅いです。

未だVB詳しくないもんで、特別に何か巧い手があるかなと思ったんですが。
冗長コーディングとかして速さ追求してみます。
211デフォルトの名無しさん:2008/01/04(金) 23:43:37
Matrixについての質問なんですが、指定した点(アンカーポイント)についてのスケール変更
ってどのようにするのでしょうか?一度原点を移動してからスケールを変更しても
原点移動しないでスケール変更したのと同じになってしまいます。
回転や平行移動などは原点の移動で指定した点についての変形ができるのですが、
どうしてもスケール変更だけは上手くいきません。
なぜでしょうか?
212デフォルトの名無しさん:2008/01/04(金) 23:44:34
ギャァァァァァァァァァ
すいません、ageてしまいました。
吊ってきます orz
213デフォルトの名無しさん:2008/01/15(火) 02:29:45
VS2005 VB で質問です。

条件分岐でファイルがある場合は読み込み、
無い場合は作る。といった感じの動きをしたいんですが、
ファイルが無い場合に、else以下の処理でファイルを作った後に
上に戻ってファイルを読む動きをしてしまいます。

ソースをどこまで書けばいいのか分からなかったのですが、
下記がif文の中身です。勉強がてら2chブラウザを作っていまして。
exit subを入れても動作は同じでした。どこで戻るのか全く分かりません…
よろしくお願いします。
214デフォルトの名無しさん:2008/01/15(火) 02:30:34
If System.IO.File.Exists(CurDir & "\" & MyBordNunber & ".dat") = True Then
'取得データがある場合
Dim MydownFile As StreamReader
Dim Mytext As String
Dim MyLine As Integer = 1

MydownFile = New StreamReader(CurDir & "\" & MyBordNunber & ".dat", Encoding.Default)

'改行コード数
Do While -1
Mytext = MydownFile.ReadLine()
If Mytext Is Nothing Then
Exit Do
End If
MyLine += 1
Loop

RichTextBox1.Text = MyLine

215デフォルトの名無しさん:2008/01/15(火) 02:31:04
Else

'取得データが無い場合

MyHead = "GET /" & MyBordKey & "/dat/" & MyBordNunber & ".dat HTTP/1.0" & vbCrLf & "Host: " & MyHost & vbCrLf & "User-Agent: Monazilla/1.00" & vbCrLf & "Connection: close"

'送受信
MyWrite.WriteLine(MyHead)
MyWrite.WriteLine("")
Mydat = MyReader.ReadToEnd
MySocket.Close()

'レスポンス判定
If Mydat.Substring(9, 3) = 200 Then

'dat保存
Dim MyLasttime As String
MyLasttime = 1
RichTextBox1.Text = Mydat

TextFlag = Mydat.IndexOf(vbCrLf + vbCrLf) + 4
Mydat = Mydat.Substring(TextFlag, Mydat.Length - TextFlag)
Dim MydatWrite As New StreamWriter(CurDir & "\" & MyBordNunber & ".dat")
MydatWrite.Write(Mydat)
MydatWrite.Close()

Else
RichTextBox1.Text = "見つかりません"

End If
End If
216デフォルトの名無しさん:2008/01/15(火) 02:33:43
貼り付けたらネストが…
217デフォルトの名無しさん:2008/01/15(火) 03:25:22
ごめんなさい。
Handles Button1.Click, Button1.Click
と繰り返してました…
スレ汚し申し訳ないです。
218デフォルトの名無しさん:2008/01/15(火) 12:45:32
生兵法は怪我の元。
マジメに基礎から勉強せえや、としかいいようがないと思うけど。。
219デフォルトの名無しさん:2008/01/15(火) 23:38:00
みなさん ''' とか /// 使ってます?
220デフォルトの名無しさん:2008/01/15(火) 23:56:48
使ってる
221デフォルトの名無しさん:2008/01/16(水) 11:23:46
使うてる
222デフォルトの名無しさん:2008/01/16(水) 11:58:00
使っとう
223デフォルトの名無しさん:2008/01/17(木) 08:53:30
ファイルあるかな?
if (なかった)
{
 ファイルを作る
}
ファイルを開く
ファイルを読む
ファイルを閉じる
224デフォルトの名無しさん:2008/01/17(木) 09:51:14
>>223
作ったばかりのファイルから一体何を読むんだい
225デフォルトの名無しさん:2008/01/17(木) 13:43:09
どうか教えてくださいお願いします。

1.
.NETの文字列型(String)の内部コードってUTF-16ですよね?
以下にそう書いてあるし。
http://msdn2.microsoft.com/ja-jp/library/1w71hb4e(VS.80).aspx

2.
それと以下にはASP.NETでは入出力にUTF-8が使われると書いてありますが、
これはあくまで入出力の問題であって、.NETのString型の内部コードとは無関係ですよね?
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet16/aspnet16_04.html

3.
そこで気になっているのが、
プロパーから提供されたソースに以下の様なコードがあってですね、
"^[ -~。-゚]+$"
これは正規表現の文字列なのですが、
半角文字のみで構成されている文字列の時にOKとしたい様なのです。
内部コードがUTF-16の場合にこれで上手く行くのか不安です。
.NETのStringの内部コードがUTF-16ならば、正規表現もUTF-16で動く筈ですよね?

#今UTF-16のコードページを見ていたら、半角片仮名の並びがShift_JISと同じでした。
#これはこれで上手く動きそうです。
#ですが、正規表現の内部コードについて知りたいのでお願いいたします。

自分はVB.NET 2005とASP.NETを使ってwebアプリ開発をやっています。
OSはクライアントはWinXPSP2、サーバーはWin2003SP?です。
226デフォルトの名無しさん:2008/01/17(木) 21:34:54
コード云々より、その正規表現エンジンの仕様を調べる方が先だろう
227デフォルトの名無しさん:2008/01/17(木) 22:41:32
正規表現エンジンは.NET純正のコレです。
http://msdn2.microsoft.com/ja-jp/library/4edbef7e(VS.80).aspx
ココを見るとUTF-16(UCS2?)としか思えないんですけどね…。
228デフォルトの名無しさん:2008/01/17(木) 22:47:27
>>225
危ない橋を渡るより、文字数とSJISのEncodingのバイト数が一致するかどうかを調べる
確実な方法に変えた方がいいと思う。

>>226
何いってんだコイツ?
229デフォルトの名無しさん:2008/01/18(金) 01:45:44
それは確実なのか?
230デフォルトの名無しさん:2008/01/18(金) 09:10:14
U+FF61-U+FF64: Halfwidth CJK punctuation
U+FF65-U+FF9F: Halfwidth Katakana variants
231デフォルトの名無しさん:2008/01/20(日) 12:33:59
難読化するにはDotfuscatorしかないのかな?買おうとするとやたら高い。

Dotfuscatorの入手手段は、いまのところVisualStudio購入するとついてくるCommunity版か、
販売されてるProfessional版の2択であってる?
232デフォルトの名無しさん:2008/01/20(日) 18:25:50
フリーで何かあったはず
名前忘れたけど
ついでに.NET2.0以降に対応してるかも不明
見つけた時は.NET1.1しかなかったから
233デフォルトの名無しさん:2008/01/20(日) 23:31:33
フリーのあるのかと思い .NET 難読化 フリー でググったら、
NanDoKu っていうのが見つかった。
更新もされていていま.NET2.0でも使えるらしい。
これ良さそうだね。ありがとう。
234デフォルトの名無しさん:2008/01/21(月) 02:44:24
フォームをモードレスで表示するけれど、フォームを閉じるまでは呼び出し側を終了しないって言う風にするにはどうすればいいですか?
235234:2008/01/21(月) 04:12:07
あ、丁度適当なスレを見つけたので移動します。失礼しました。
236お願いします:2008/01/25(金) 18:52:04
フォームAの開くボタンから別フォームをモードレスで表示して
同じくフォームAの閉じるボタンから別フォームを閉じるにはどうしたらいいですか?
237デフォルトの名無しさん:2008/01/25(金) 18:58:32
お手軽にやるなら new FormB().Show(this)
238デフォルトの名無しさん:2008/01/25(金) 19:41:14
いやいやいやいや
239デフォルトの名無しさん:2008/01/28(月) 23:56:45
Win32APIまじりの質問になって申しわけありません。

現在C++/CLIを使用して.NETからWin32APIでの非同期IOを行っています。
非同期IOの完了通知にSystem.Threading.Overlappedクラスを使っています。
非同期での書き込みは完了し、待機イベントもシグナルを受信するのですが、
Overlapped.Packメソッドに渡したコールバックデリゲートが呼ばれなくて困っています。

1 Overlappedをインスタンス化する。(hEventは手動リセットイベントオブジェクト asyncはIAsyncResultを実装したクラス
Overlapped ^ overlapped = gcnew Overlapped(0 , 0 , IntPtr(hEvent) , async);
2 Packする。
NativeOverlapped * nativeOverlapped = overlapped->Pack(callback , buffer);
3 非同期IOを行う
WriteFile(hIO ,Marshal::UnsafeAddrOfPinnedArrayElement(buffer,0).ToPointer() , buffer->Length , NULL , (LPOVERLAPPED)nativeOverlapped);

4 完了通知を受け取った(hEventがシグナルを受信)あとにリソースを開放する
Overlapped ^ overlapped = Overlapped::Unpack(nativeOverlapped);
Overlapped::Free(nativeOverlapped);

で間違いありませんよね?
hIOはFILE_FLAG_OVERLAPPEDを設定して開いてあります。

コールバックデリゲートを呼び出すには何か他の操作が必要なのでしょうか?
240デフォルトの名無しさん:2008/01/29(火) 03:47:49
>>239
スレ選ぼうね
241デフォルトの名無しさん:2008/02/02(土) 17:20:25
VS2008 Expressがダウンロードできない。
各製品のWebインストールもできない。

単に休日で混んでるのか、メンテナンス中なの?
242デフォルトの名無しさん:2008/02/03(日) 01:36:59
嫌われてるんだよ
243デフォルトの名無しさん:2008/02/03(日) 01:37:56
ワンピーススレって伸びないよね
244デフォルトの名無しさん:2008/02/03(日) 21:10:45
.NETアセンブリのDLLをネイティブなオブジェクトファイルと静的リンクする場合、
どの段階でアプリケーションドメインが初期化されるのでしょうか。

ole32などを一緒にリンクすると起動時にプロセスの初期化エラーが出るので、
DllMainで何か悪さをしているような気がしてならないのです。
245デフォルトの名無しさん:2008/02/03(日) 21:30:53
.netでC言語をやりたいですが、どこからDLすればいいですか?
246デフォルトの名無しさん:2008/02/03(日) 21:51:08
.NETフレームワーク向けのCってのはあまり聞かないな
C++拡張でいいのならC++/CLIがあるが
247デフォルトの名無しさん:2008/02/04(月) 00:12:37
C.net

なんか新鮮
つーか質問者はC#のことを言っていると思うが
248一応ある:2008/02/04(月) 10:27:17
C# & C対応
ttp://www.gnu.org/projects/dotgnu/pnet.html
C対応
ttp://www.cs.princeton.edu/software/lcc/

最新の.NETFramework上で動くかどうかは未検証。
249デフォルトの名無しさん:2008/02/07(木) 18:15:19
CLIのMSによるWindowsへの実装がCLRですよね。
.NETというのは具体的に何を指すんでしょうか?
それとも、具体的なものでなく、MSの考える一連の共通な基盤を挿す包括的・抽象的な概念なんでしょうか?
250デフォルトの名無しさん:2008/02/07(木) 19:24:36
.NET FxはCLRにWPFやWCFなどのライブラリを加えたもの。
251デフォルトの名無しさん:2008/02/07(木) 20:46:21
嘘です
252249:2008/02/07(木) 23:44:11
>>250
↓を見る限り、やはり一連の「アプリ開発・実行環境」全体を指す、ってことでしょうかね?
http://ja.wikipedia.org/wiki/.NET_Framework
253デフォルトの名無しさん:2008/02/08(金) 13:58:33
すいません、.net2003で
ボタンを押してフォームを開く処理で
呼び出し側は操作できるようにしときたいのですが
何回ボタンを押しても1画面以上開かないようにしたいです。

Public frmList As Form

public sub openForm()
  If IsNothing(frmList) Then
frmGamen = New frmDataGamen
Call frmGamen .Show()
End If
End Sub

それで上記のように作ったのですが
これだとcloseした後2度と開けなくなってしまいます。
254デフォルトの名無しさん:2008/02/08(金) 13:59:14
間違えて途中で送信してしまいました。すいません。
255デフォルトの名無しさん:2008/02/08(金) 14:05:22
何度も間違えてすいません。
ソースも間違ってました。

Public frmList As Form

public sub openForm()
  If IsNothing(frmList) Then
   frmList = New frmDataGamen
   Call frmDataGamen.Show()
  End If
End Sub

これで
ttp://dobon.net/vb/dotnet/form/closeform.html

>補足:Closeメソッドでフォームを閉じた時は、その後このフォームを表示することはできません。もしフォームを一時的に非表示にするだけであれば、Hideメソッドを呼び出したり・・・
とありますがこれを回避する方法ってありますでしょうか?

何回もすれ汚してすいませんでした。
256デフォルトの名無しさん:2008/02/08(金) 14:29:08
>>250
.NET Fx=.NET Frameworkの略ですか?
FrameworkをFxと略すのって発音的にちょっと変な気が・・・複数形のFrameworksだったらいいんだけど
257デフォルトの名無しさん:2008/02/08(金) 15:11:03
>>256
.NET Freamwork FX は開発コードで Feature X の意味だったような・・
製品化された後の名称が.NET .Freamwork 3.0
258デフォルトの名無しさん:2008/02/08(金) 15:15:10
>>255
>Call frmDataGamen.Show() 

frmList.Show()
の間違いと考えていい?
それからクラス名は大文字で始める。frmのようなハンガリ記法は避ける。
この場合はFromDataGamenとするのが推奨。
259デフォルトの名無しさん:2008/02/08(金) 15:16:44
>>257
あれ、WinFXが.NEW Framework 3.0になったと記憶してましたが・・・?
もしかしてその名残で.NET Fxって言うのかなぁ
260デフォルトの名無しさん:2008/02/08(金) 15:20:56
>>250 は単純にWinFXのタイポだろ?
実際 3.0 = 2.0 + WPF + WCF + WF なんだから
261デフォルトの名無しさん:2008/02/08(金) 15:37:22
>>258
>それからクラス名は大文字で始める。frmのようなハンガリ記法は避ける。
ここまでは格好良かったのに…!!

>この場合はFromDataGamenとするのが推奨。
Fromだと!?

しかし目から鱗だ。
frmとかlblとかtxtとか普通に使っちゃってるよ。
辞めた方がいいのかな。
262デフォルトの名無しさん:2008/02/08(金) 15:44:48
ご指摘ありがとうございます。
frmList.Show()の間違いでした。
また自己解決できました。

If IsNothing(frmList) Thenを
If IsNothing(frmList) OrElse frmList.IsDisposed then

で再表示させることができました。
ありがとうございました
263デフォルトの名無しさん:2008/02/08(金) 15:49:02
>>261
privateなら別にいいんじゃね
264デフォルトの名無しさん:2008/02/08(金) 15:56:11
>>260
そうですよね。
>実際 3.0 = 2.0 + WPF + WCF + WF なんだから
あとWCS(Windows CardSpace)もですね。

ところでクラスライブラリやCLRは2.0から「全く」変わってないんでしたっけ?
265デフォルトの名無しさん:2008/02/08(金) 16:00:00
うん
266デフォルトの名無しさん:2008/02/08(金) 18:05:56
>>256
.NET Fxって略称はMSFTの人とかが時々使ってるね。
スライドとかで目にすることがある。
267デフォルトの名無しさん:2008/02/08(金) 18:07:06
>>264
実際のところはバグフィックスとか入ってるらしいから、
全く同じかというとそうでもないかもしれない。
268デフォルトの名無しさん:2008/02/08(金) 18:10:50
.NET Framework 3.5では既存部分 (2.0, 3.0)にも手が入っていて、
それぞれSP1として公開されている。
269デフォルトの名無しさん:2008/02/10(日) 00:07:01
ふと思ったんですが
どこからも参照されなくなったインスタンスを、GCに回収される前に裏技など使ってとっ捕まえる方法ってあるんですか?それとも原理的に不可能?
270デフォルトの名無しさん:2008/02/10(日) 00:15:54
っ Finalizeメソッド
271269:2008/02/10(日) 00:47:35
>>270
あ、Finalizeも定義してない場合です。
なんというか、完全に.NETのメモリ管理領域(マネージヒープ?)に漂ってる場合です
272デフォルトの名無しさん:2008/02/10(日) 01:51:44
>どこからも参照されなくなったインスタンス
273269:2008/02/10(日) 02:13:02
忘れることにしますw
こういう馬鹿なこと考えるのはちゃんと.NETを勉強してからにしよう。
274デフォルトの名無しさん:2008/02/10(日) 13:05:59
>>269
インスタンスメソッドへのデリゲートを握られることって参照を握られることに
なるんだっけ?

もしそうでないなら不可能じゃないと思うんだけど、まあそんなことはないよな。
275デフォルトの名無しさん:2008/02/10(日) 13:26:32
>>269
WeakReference
276デフォルトの名無しさん:2008/02/10(日) 17:17:59
どこからも参照されなくなったら、WeakReferenceもクリアされるかと
277デフォルトの名無しさん:2008/02/10(日) 19:07:03
参照を持っとくことはできるけどGCをフックできない。
278デフォルトの名無しさん:2008/02/10(日) 20:00:41
長い弱い参照のWeakReference(object, true)というのはどういうとき使うのだろ。
279デフォルトの名無しさん:2008/02/10(日) 21:08:35
時々しか必要にならないオブジェクトがあるとして、
そいつのインスタンスをずっと保持してるとメモリが無駄になるし、
かといって必要な都度作成するようにするとパフォーマンスが犠牲になる。

こういう場合の「いいとこどり」狙いでしょ。違ったっけ?

ちなみに>>275はナンセンスだよねw
なんでこういう一行レス専門の奴ってアホなんでしょw
280デフォルトの名無しさん:2008/02/10(日) 21:14:22
>>279
そういう目的に弱い参照を使うなとMSDNに書いてあったと思うよ。
281デフォルトの名無しさん:2008/02/10(日) 21:17:49
>>279
「長い」弱い参照の意味わかってるかね?
282デフォルトの名無しさん:2008/02/10(日) 21:20:27
はっきり言って弱参照はなかなか活用しにくい。
javaにある、なんていったかな、ソフト参照だっけかな(違ったかも)?
そういうのなら活用できそうなんだがね〜

大抵すぐに思いつく、キャッシュ方面に用途には、
少なくとも単純には使えない(実質うまく動かない)。
283デフォルトの名無しさん:2008/02/10(日) 22:38:21
>>269 の言ってることを文字通り受け取ればWeakReferenceは違うのだろうけど、
もしオブジェクトの状態を試験的に追跡したいだけなら、
別スレッドからでIsAliveでポーリングすればいいわけだからあながち間違いとも思えない。

「長い」弱い参照については目的はわからないが確認できた動作は
デストラクタが呼び出された後から確保されたメモリが消失するまでの間も
IsAliveがtrueということだった。
「短い」方はデストラクタが呼び出されたときにIsAliveがfalse。
284デフォルトの名無しさん:2008/02/10(日) 22:44:01
それはきっとファイナライザのことだよね。
285デフォルトの名無しさん:2008/02/10(日) 22:52:26
>>284
おっと.NETスレだった。C#の用語で書いてしまった。
C#のデストラクタ=ファイナライザということで。C++/CLIだと違うのだよな。
286デフォルトの名無しさん:2008/02/10(日) 23:49:13
「復活」させた場合でも追跡したい場合に使うのが「長い」弱い参照。
でも復活自体まず使う機会がない。
287デフォルトの名無しさん:2008/02/11(月) 00:00:30
>>285
C#も2.0からファイナライザという言葉を使うようになりました。
288デフォルトの名無しさん:2008/02/11(月) 00:11:42
>>287
ソースは?
289デフォルトの名無しさん:2008/02/11(月) 00:18:41
>>286
確かにMSDNにそう書いてあるのだけど、
具体的にどうすることなのかが見つけられないんだよね。
復活というのはどうすることなのかサンプルコードとかないでしょうか。
290デフォルトの名無しさん:2008/02/11(月) 00:25:17
マイクロソフト
291デフォルトの名無しさん:2008/02/11(月) 01:40:12
ファイナライザで参照を保存するんだよ>復活
292デフォルトの名無しさん:2008/02/11(月) 18:37:21
HttpWebRequestは同時使用数に制限があるのでしょうか?
例えば下のプログラムをループで回したりすると途中で
操作がタイムアウトになりましたとWebExceptionが発生します。
最後のコメント外してAbortを有効にすると例外はでないのでリソース
競合だとは思うのですが、大量の要求を他に転送するようなシステム
は困りそうな気がします。どうやって回避しているのでしょう?

Sub Test()
Dim req As HttpWebRequest
Dim reqStrm As Stream

req = HttpWebRequest.Create("http://localhost/")
req.Method = "POST"
reqStrm = req.GetRequestStream()

If Not IsNothing(reqStrm) Then
reqStrm.Close()
End If
'req.Abort()
End Sub
293デフォルトの名無しさん:2008/02/11(月) 18:44:02
同時に同じホストに張れるコネクションの最大値がHTTPの仕様で決まってる。
294デフォルトの名無しさん:2008/02/11(月) 19:13:18
>>293
d。
でも、GetResponse()呼んでればわかるけれど
GetRequestStream()の時点というのは変ではありません?
295デフォルトの名無しさん:2008/02/14(木) 11:01:19
↓@ITのWindowsフォームのコントロールについての説明ですが
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_003/cs2_003_03.html#cs0306
>言葉の意味としては、ユーザーインターフェースを持ったコンポーネントがコントロールということになる。.
「ユーザーインターフェース」というのは具体的に何を指すのか分かりません。
要するにイベントを持つようなクラスということですか?
296デフォルトの名無しさん:2008/02/14(木) 14:44:38
簡単にいえば、人間からの入力を受け付けたり、出力を行ったりする
人間とコンピュータの接点となるものを意味する概念。

そこの文章では、ようするに画面に何か表示したり
マウス・キーボードなどから人間の入力を受け取ったりする機能を
持っているコンポーネント(≒クラス)がコントロールだと言っている。
297295:2008/02/14(木) 15:09:31
>>296
処理の流れとしては、↓のような感じですよね
「マウス・キーボードなどから人間の入力」⇒イベント発生⇒そのイベントがWindowsメッセージキューに並ぶ⇒イベントハンドラで処理

というか、Controlを継承してるのだからイベントを持つのは当たり前ですよね・・・
つまらない質問してすみませんでした。ありがとうございました。
298デフォルトの名無しさん:2008/02/16(土) 03:58:28
ダイアログボックスのサイズを指定したいんですか、
System.Windows.Forms.MessageBox ではできないんですか?
299デフォルトの名無しさん:2008/02/16(土) 04:12:19
節子、それダイアログちゃう
300節子:2008/02/16(土) 04:16:25
ちゃうでしたっけ?
MessageBox.Showにはサイズ指定できそうなのは無かったス・・・やっぱ無理ぽいですね
301デフォルトの名無しさん:2008/02/18(月) 09:29:48
無理だとわかった瞬間諦めるのが初心者。
そこで継承という考えに行き着けば、初心者を抜け出せる。
302デフォルトの名無しさん:2008/02/18(月) 10:45:37
継承でなんでも出来ると思ってる
303デフォルトの名無しさん:2008/02/18(月) 11:09:05
継承で大概なんでもできるでしょ。
304デフォルトの名無しさん:2008/02/18(月) 11:36:03
継承にせずに、メンバにすべきときもある。
305デフォルトの名無しさん:2008/02/18(月) 11:51:21
メッセージボックスのサイズを変えたいだけなのに、0から作り直せと?
306デフォルトの名無しさん:2008/02/18(月) 12:17:42
継承する意味があまりない
307デフォルトの名無しさん:2008/02/18(月) 12:32:00
ではどのように>>298を解決するんで?
308デフォルトの名無しさん:2008/02/18(月) 12:41:59
Applicationクラスにモーダルに入る時のイベントがあったと思うから、
そのタイミングでWin32APIつかっていろいろやればできるんじゃないの?
309デフォルトの名無しさん:2008/02/18(月) 12:52:46
お 前 汎 用 性 と か 考 え て な い な
310デフォルトの名無しさん:2008/02/18(月) 16:37:22
既定のフォント使って文字列の長さ調べてそれに従ってフォームの大きさ変えて
オプションでボタン変えてアイコン表示して音ならすモーダルなフォーム作ればいいだけ
それに大きさ指定するShowメソッドのオーバーロード作っとけばいいだけ

あとタイムアウトで自動で消えるオーバーロードも作ればなお良し
メッセージを音声合成でしゃべればユーザーフレンドリー
気分によって背景画像変えたり動画ファイルも再生できたりしたら最高
311デフォルトの名無しさん:2008/02/18(月) 18:28:50
>>309
誰もがお前さんのように知恵が足りないと思うなよ馬鹿w
汎用的にする方法なんていくらでもある。
312デフォルトの名無しさん:2008/02/18(月) 20:11:20
メッセージボックスは容赦なく画面をはみ出すすげー奴なんだぜ?
313デフォルトの名無しさん:2008/02/18(月) 20:12:21
カッコいいよな。
314デフォルトの名無しさん:2008/02/19(火) 09:24:26
>>311
「方法はいくらでもある」とかいって、結局抽象的な答えしかできないやつって馬鹿だよね。
うちの上司にもいる。
結局>>298の質問に答えられてないし。
315デフォルトの名無しさん:2008/02/19(火) 09:31:31
なんかうるさい奴だな
継承で実現する方法書いて見ろよ。
おれは>>311じゃないが
316デフォルトの名無しさん:2008/02/19(火) 09:33:48
メッセージボックスてどの程度いじれたっけ?
API使ってもあんまりいじれないってことあったりしない?
317デフォルトの名無しさん:2008/02/19(火) 09:58:05
みなさんは、.NET で開発をして、他の環境で動かなくて
苦労したなどの経験はありますか?
私は2003の時ですが、Frameworkのバージョンを同じにして
SPなどをいれても、途中でエラーで終了してしまうという
ことがおきることがありました。これは2005では改善されていて
ちゃんと動作しましたが、今後このようなことが頻繁に起きる
ようであればその対策も考えなくてはなりません。
みなさんがアプリを作成した時はいかがでしょうか。
よろしくお願いします。
318デフォルトの名無しさん:2008/02/19(火) 11:16:50
そんな確実に起こることだったら、まず自分のプログラムのバグを疑うよ。
319デフォルトの名無しさん:2008/02/19(火) 11:54:15
だな
320デフォルトの名無しさん:2008/02/19(火) 12:00:37
ASP.NET で C# でコーディングをしていますが、
従来で指定していた、using System.Data.OleDB; のコードを書いても
エラーが出てしまいました。
どうやったら、この指定をしたら良いのでしょうか。
321デフォルトの名無しさん:2008/02/19(火) 16:23:03
>>320
どんなエラーが出たか書かないと答えようがない。
可能ならそのメッセージをそのまま詳細にアップ。
322デフォルトの名無しさん:2008/02/19(火) 17:14:45
>>321
ASP.NETでは、usingとかくのではなくて、
<%@ Import Namespace="System.Data.OleDb" %>
と冒頭に書くというルールとなっているようです。
自己解決しました。
ありがとうございました。
323デフォルトの名無しさん:2008/02/19(火) 17:33:23
コードビハインドじゃないってことかよ。
324デフォルトの名無しさん:2008/02/20(水) 01:32:34
VB.NETのMakedTextBoxコントロールで、書式設定された文字列はTextプロパティで取得できますが、
書式設定されていない文字列は取得できないのでしょうか?
325デフォルトの名無しさん:2008/02/20(水) 05:49:59
System.Drawing.Colorの色ってVS上でサクッと確認できないんでしょうか?
PaleGoldenrod とか言葉だけだとイメージし辛いもので
326デフォルトの名無しさん:2008/02/20(水) 15:57:02
ASP.NETの、メリットがいまいち分かりませんので質問です。
開発効率性が良いという話ですが、言語の仕様の他、ASP.NET特有の仕様を
学ばなければならず、すごく労力をかけなければ、Hello World程度の
スキルからなかなか上に上がれないように思えました。

PerlやPHPの方が、言語仕様を覚えるだけで出来ますので、簡単に
見えるのですが。
327デフォルトの名無しさん:2008/02/20(水) 20:05:48
C++.NETで開発ってどうなんですか?
余り聞かないですし、ネットの解説の具体的なコードでも
VB.NET や C# が非常に多く、「C++.NETは特別なので省く」
等と書かれていることが多いです。
328デフォルトの名無しさん:2008/02/20(水) 20:30:04
そういうことだ。
329デフォルトの名無しさん:2008/02/20(水) 20:51:34
>>328
どういうことだ?w
330デフォルトの名無しさん:2008/02/20(水) 22:51:32
てか実際、C#で開発するメリットってなんだろね?
細かく制御したいならC++のがいいし、適当でいいならVBのが簡単だし
331デフォルトの名無しさん:2008/02/20(水) 22:59:40
>>326
ASP.NET仕様単体で見るからそうなる
VisualStudio込みで考えんと

>>327
某制御系で使ったオレが通りますよ
存在価値は旧来のアンマネージライブラリと.NET併用が比較的楽
旧資産が無くなれば廃れる存在だな
332デフォルトの名無しさん:2008/02/20(水) 23:59:07
>>330
そうだな。VBと比べると、無駄と思えるようなコードが表示されていたり、
コーディング中に自動で修正が入らないので、それでエラーが出たり、
間違えてクリックして出来たイベントハンドラを削除したら
エラーになったりとか、不便なところが多いな。
こういう経験をする前は、VBは将来が無いからC#の方が・・・と
思ったりしていたが、便利なVBの方が良さそうに思える。
333デフォルトの名無しさん:2008/02/21(木) 00:08:34
>>331
レスありがとうございます。
> ASP.NET仕様単体で見るからそうなる
> VisualStudio込みで考えんと
VisualStudio自体の機能も関係しているのですね。
そのあたりを中心に調べて見ます。
ありがとうございました。
334デフォルトの名無しさん:2008/02/21(木) 00:19:49
>>332
その問題は2005(C#2.0)で解消されたよ
335デフォルトの名無しさん:2008/02/21(木) 00:21:34
VBで便利と思えてしまうのはヤバくね?
336デフォルトの名無しさん:2008/02/21(木) 00:25:35
>>335
「便利だから利用する」という流れは当たり前だが、「それしか知らない」と
やばいだろうね。過去のCOBOLやVB6専用のプログラマと同じ運命になりかねない。
337デフォルトの名無しさん:2008/02/21(木) 00:28:56
いいも悪いも、C#.NETとVB.NETなら、表面上の文法が違うだけで中身はほぼ一緒と思うのは俺だけか?
個人的にはC#の文法の方が好みだが、実質的な違いは無いような気がするよ
338デフォルトの名無しさん:2008/02/21(木) 00:31:02
>>337
今は、まったくと言っていいほど同じ。だけど、将来は異なる。
どちらかというと、VBの開発モットーは、便利機能をつけてホビー向けと
して販売する方向だから。
339デフォルトの名無しさん:2008/02/21(木) 08:34:51
Σ (゚Д゚;)ハッ この流れもしやDelphiモンリー?
340デフォルトの名無しさん:2008/02/21(木) 08:58:41
>>338
だからってC#が据え置きで、VBにだけ便利機能が付くんだったら、
逆に「やっぱVBが便利」で終わっちゃう
いくらホビー用として売ったって、使えるなら仕事で使っちゃうもんだし
C#にはVBに付かないも〜っと☆便利機能がついちゃったりするんだろうか
341デフォルトの名無しさん:2008/02/21(木) 11:52:22
>>340
仕事でもVBを使っていく流れになると思うよ。
便利機能が沢山ついてくるからね。(何かモジュールをいれないととか、
限定する条件がついてくるかもしれないけれど)

なので、C#の方向性がいまいちわかんないね。中途半端すぎだから。
342デフォルトの名無しさん:2008/02/21(木) 12:01:34
しかし、M$が開発用のモジュールとして使っている言語はC#が多いと聞く。
確か、変数の定義などが厳密だからという理由だったかな。
開発環境を作る為の言語っていう位置づけで役に立っているのは事実のようだw
あとは、Paint.NETだけだな。
343デフォルトの名無しさん:2008/02/21(木) 12:09:27
>【IT】米MS、世界の学生に「VisualStudio2008」「WindowsServer2003」など開発ツールを無償提供へ。ただし日本は含まれず[2/20]
ttp://mamono.2ch.net/test/read.cgi/newsplus/1203515597/145

>「多くの学生はLinuxやApache、MySQL、
>PHPといったオープンソースのソフトウェアを組み合わせてWebサイトを構築するよりも、
>Microsoftの強力なツールを使いたいと思っているはずだ」

             ____
           /      \
          / ─    ─ \
        /   (●)  (●)  \
        |      (__人__)     |  それはない
         \     ` ⌒´    ,/
 r、     r、/          ヘ
 ヽヾ 三 |:l1             ヽ
  \>ヽ/ |` }            | |
   ヘ lノ `'ソ             | |
    /´  /             |. |
    \. ィ                |  |
344デフォルトの名無しさん:2008/02/21(木) 13:15:57
>>342
QTabbarとPowerShell(用のアセンブリ)は普通に便利かと
>>343
どっちかというと削除法でこれしかないって感じですね

ってなんで俺が答える側にw
345デフォルトの名無しさん:2008/02/21(木) 13:17:06
>>340
VBにだけつく便利機能って何よ?

ある程度以上の規模ならVBよりもC#なんじゃないのJK?
346デフォルトの名無しさん:2008/02/21(木) 13:17:56
My
347デフォルトの名無しさん:2008/02/21(木) 13:24:02
「VBにだけ便利機能がつく」という解釈は、誤解を生むんじゃないかな。
「VBのモットーは、開発を手軽に、早くする方向であるので、今後は
その方向性に味が出てくる」でどうよ?w
C#の味を誰か教えてくれw
348デフォルトの名無しさん:2008/02/21(木) 13:40:00
ヒント:誤解で丸め込む
349デフォルトの名無しさん:2008/02/21(木) 13:58:40
(){}[]<>が適度に使える言語であることが冗談でなくCから入った自分としてはかなり大きいです
350デフォルトの名無しさん:2008/02/21(木) 14:20:21
javaやってた俺から見るとC#はかゆいところに手の届くjavaって感じで使いやすい
もうjavaには戻れないかもしれん。。。
351デフォルトの名無しさん:2008/02/21(木) 14:21:43
>>350
kwsk

大体こんな感じの理由からとなるの?
私がJavaからC#に乗り換えた10の理由
http://www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_01.html
352デフォルトの名無しさん:2008/02/21(木) 14:24:08
ヒント:アストロターフィング
353デフォルトの名無しさん:2008/02/21(木) 14:31:12
>>347
同じじゃね、対応表準備したら機械的にテキスト置換しやがれ、VBからC#へ移せと
逆も同様、C#に何か変な夢でも見てないか?
C言語風VB.NETだぞ
354デフォルトの名無しさん:2008/02/21(木) 14:37:08
>>353
そりゃ、今は同じだろう。
しかし、将来はどうなるか方向性があることだろう。
355デフォルトの名無しさん:2008/02/21(木) 14:45:12
ヒント:ドトネトの次が出てる
356デフォルトの名無しさん:2008/02/21(木) 14:45:27
ないんじゃね、1.0->2.0->3.5と、同じ機能が双方に追加されて来ているし
357デフォルトの名無しさん:2008/02/21(木) 14:48:41
大丈夫、クラスベース言語の次にはオブジェクトベース言語が出るというか、出た。
クラスベースAPIのドトネトは古きものへとwww
358デフォルトの名無しさん:2008/02/21(木) 14:50:12
>>357
プロトタイプベースの事を言っているのなら、代替え機能的なものが.NET3.5より入ったぞ
359デフォルトの名無しさん:2008/02/21(木) 14:51:04
>>358
だからクラスベースAPIのドトネト終焉wwww
360デフォルトの名無しさん:2008/02/21(木) 15:06:12
なーんだ。ただの構想だったのか。期待して損したw
361デフォルトの名無しさん:2008/02/21(木) 15:09:09
>>353
Option Strict OffなんかC#にはないだろ(C# 4.0のdynamic dispatchなんて話もあるけど)。
逆にVB.NETにunsafeはないし、機械的に変換できるほどそっくりさんではない。
362デフォルトの名無しさん:2008/02/21(木) 15:10:46
>>361
めったに使うことのない例外を挙げて変な方向に議論誘導するなよw
363デフォルトの名無しさん:2008/02/21(木) 19:20:07
>>351
自分は一番大きい理由はdelegateの存在かな
あとは演算子のオーバーロードとかジェネリックス、P/Invokeも便利でいいね。

364デフォルトの名無しさん:2008/02/22(金) 01:21:04
VBある程度できるようになったから、
これからC#かねーと思ってた
C言語風VB.NETと言われたら、あんまりやる気しなくなった
VC++のが仕事多いよね
365デフォルトの名無しさん:2008/02/22(金) 01:25:24
俺はVBAを書くことが多かったとか、過去にVBで書いたことがあるとかの
関係から、入りやすいVB.NETやってるけれど、
Webアプリ系では、C#のサンプルを良く見かけるから、それ読むために
仕方なくC#をやってる感じかな。
でも、需要からいうとjavaがいいっぽいよ
366デフォルトの名無しさん:2008/02/22(金) 02:39:16
だがそのJavaの最後の砦たる鯖用途もASP.NETに喰われてきてる現実
367デフォルトの名無しさん:2008/02/22(金) 03:31:14
質問です。
これまでAccessのVBAで開発をしていたのですが、.NETをやっていると、
コントロールの使い方が、全く異なっていて戸惑っています。
(コンボボックスやリストボックスへデータを表示させる方法など)
これらコントロールの使い方を時間をかけて習得する必要があると
思ったのですが、どんな方法でやるとよろしいでしょうか。
お勧めの書籍やサイトや勉強方法などを紹介していただければと思います。
368デフォルトの名無しさん:2008/02/22(金) 16:07:03
MSDN
369デフォルトの名無しさん:2008/02/22(金) 19:07:47
ちょw
370デフォルトの名無しさん:2008/02/23(土) 11:14:36
バイト列の操作がVBだと面倒くさいしパフォーマンス得られないのが
ちょっと鬱陶しいと思う瞬間かな

あとは良い感じ
371デフォルトの名無しさん:2008/02/23(土) 19:34:44
あの全体的にもっさりとした感じが駄目だなw
ノートじゃ開発できんし。
372デフォルトの名無しさん:2008/02/25(月) 07:02:05
.NETってプロセス間通信(COM 2.0)+クラスライブラリ(MS的VCL)+共通中間言語(JVM)って理解でいいの?
373デフォルトの名無しさん:2008/02/25(月) 22:44:25
腐れマカーですみませんなのですが、
CocoaでいうNSBrowserみたいなのって.NETにはないんですか?
今ListBoxを並べて対処してるんですけど、なんかしっくりこなくて…
374デフォルトの名無しさん:2008/02/26(火) 04:42:07
NSBrowserって何だろ? OSXのFinderの三段組みになってるやつのことかな
375デフォルトの名無しさん:2008/02/26(火) 09:36:29
>>372
プロセス間通信はWCFじゃないの
あ、3からだっけ?
376デフォルトの名無しさん:2008/02/26(火) 14:52:24
一応リモートなんたらは2.0からある
使い道限定されまくりだが
377デフォルトの名無しさん:2008/02/26(火) 20:32:26
>>374
それです。わかりにくくてすみません。
378デフォルトの名無しさん:2008/02/28(木) 16:03:20
リモート処理なんて最初からあっただろ
379372:2008/02/28(木) 20:05:45
適当に言うとMS的オブジェクトとクラスをどの言語からも使えますよテクノロジーなのかなと思って
380デフォルトの名無しさん:2008/03/10(月) 21:49:16
あのさ、どっとねっと使うかもって言われてるんだけど、お勧めの本とかあったら
教えてくだちい。
381デフォルトの名無しさん:2008/03/10(月) 23:28:54
導入本は簡単そうなのなら何でもいいんじゃないの。
どうせ慣れてきたらMSDNのリファレンスと格闘するしかないし。
382デフォルトの名無しさん:2008/03/11(火) 06:32:50
MSDNの例文、C#のコードは載ってないのにJ#のコードが載ってたりしてピキピキするぜ
383デフォルトの名無しさん:2008/03/11(火) 09:49:56
…それC#のチェックが外れているのではなかろうか
384デフォルトの名無しさん:2008/03/11(火) 14:53:09
オンラインの方には載ってるんだが重すぎてかなわん
385デフォルトの名無しさん:2008/03/11(火) 15:08:26
ググって、リンクをクリックするとmsdn2のほうは、ときどき「ページが存在しません」的なページが表示されない?
386デフォルトの名無しさん:2008/03/13(木) 15:52:26
こんな感じに樹形図を表現したいんだけどどうしたらいいのか
http://para-site.net/up/data/19366.png

viewtree使ったらわかりやすくするための樹形図がよけいわかりにくいものになったyo
387デフォルトの名無しさん:2008/03/15(土) 19:54:59
.NET Frameworkを使って、ノベルみたいに文字が横に流れるように表示できるのでしょうか?
もしできるのであればなにを使えばできるのか教えてください。
388デフォルトの名無しさん:2008/03/15(土) 19:59:17
「ノベルみたいに文字が横に流れる」の意味がわかんない。
389デフォルトの名無しさん:2008/03/15(土) 20:07:10
タイマー使って一定時間ごとに表示すればいいだけじゃん?
390デフォルトの名無しさん:2008/03/15(土) 20:58:58
文字が横に流れる小説
391デフォルトの名無しさん:2008/03/15(土) 21:29:45
エロゲーみたいに一文字ずつウェイトかけて表示するにはどうすればいいのと聞きたいんだろう
ということをいち早く理解して適切な回答をする389
392デフォルトの名無しさん:2008/03/15(土) 23:11:17
なるほど
しかし仮に>>389がエスパーだったとしても、実装するとなると意外と面倒だぞ
安直にやろうとすると激しくちらつくし
フォントサイズとか可変じゃないにしても、1文字ずつ座標計算して出さにゃならんのには変わりない
393デフォルトの名無しさん:2008/03/15(土) 23:44:49
頭から全部書き直せばいいんじゃね?
394デフォルトの名無しさん:2008/03/16(日) 18:07:44
タイマーとウェイトを使えばいいんですね
ありがとうございました
395デフォルトの名無しさん:2008/03/17(月) 08:46:13
ファイルのMD5をとりたいです。
で、HashAlgorythm を使ってとるのはわかったのですが
これを使うと、一気に最後まで計算してくれるみたいで
プログレスバーで現在読み込んだ量を表示したいのですが
出来なくて困ってます。
どうすれば意図したように表示することが出来るのか教えてください。
396デフォルトの名無しさん:2008/03/17(月) 17:39:59
計算がどのくらい済んだかを知る必要があるんじゃね
397デフォルトの名無しさん:2008/03/17(月) 20:55:49
読み込みながらちょっとづつ追加していけばいいでしょ
398デフォルトの名無しさん:2008/03/17(月) 21:25:32
VB.NET2005を使用しています。
ボタンをいくつか配置し、押されたボタンに対応した画像を表示したいと思っています。
どのボタンがクリックされたのかを判断するにはどのようにしたらいいのでしょうか?
超初心者のため、ぜひ詳しく教えていただけると助かります。
399395:2008/03/17(月) 21:30:01
ただいま戻りました。

えーと、そのちょっとづつ読み込む方法がわからないです。

HashAlgorythm.ComputeHash だと一気に全部読み込もうとするし、
HashAlgorithm.TransformBlock は、「出力バイト配列?なんじゃこりゃ」って状態で、
サンプルを見てもよくわかりません。
400デフォルトの名無しさん:2008/03/17(月) 21:46:52
>>398
Debug WriteLine使えば?
401デフォルトの名無しさん:2008/03/18(火) 00:34:21
if sender = Button1
402395:2008/03/18(火) 23:52:08
解決しましたー!

http://www.codeproject.com/KB/security/CryptoLib.aspx?display=Print
にVBだけどサンプルがあったです。

・・・でも出力配列ってなんぞや?ってのはよくわからないんですけどね。
403デフォルトの名無しさん:2008/03/21(金) 04:41:11
四月からVB.NETを使用することになって予習をしたいと思っているのですが、
最低限の実行環境を用意するにはいくらくらいかかりますか?
やはりタダじゃ無理でしょうか?
404デフォルトの名無しさん:2008/03/21(金) 07:31:24
Visual Basic2008 Express Edition

あとはググってみて
405386:2008/03/21(金) 17:54:48
ttp://ranobe.sakuratan.com/up/src/up262892.jpg
ケッキョクジブンデツクッタヨ
406デフォルトの名無しさん:2008/03/21(金) 20:00:08
>>404
ありがつう
407デフォルトの名無しさん:2008/03/22(土) 01:14:01
408デフォルトの名無しさん:2008/03/25(火) 10:15:57
.NET プログラムをWindows以外のOS(Mac、Linuxを想定)で動かす場合、
避けるべき要素または問題となる事柄などや、個々のケースでの
有効な対処方法などありましたら、どなたかご教授願えますでしょうか。
作成中ツールの複数OSでの動作を可能な限り考慮したいためです。


例:
・MessageBoxを呼び出すとWindows以外で○○
・Windows.Formsを扱うとWindows以外で○○
・Microsoft名前空間の型を使うとWindows以外で○○
409408:2008/03/25(火) 10:42:38
>>408 追記

Windows用に使用することを考えている要素としては、
・C#2.0ジェネリック
・マルチスレッド (System.ThreadingとBackgroundWorker)
・System.IO (ファイルシステム)
・System.Net (主にHttpアクセス機能)
・Windows.Forms (GUI全般)
・OpenGL (Windows用はDirectXと切り替え可能に)
・SQL (使用未定、想定として)
などです。
410デフォルトの名無しさん:2008/03/25(火) 11:22:16
Windows以外で実用してるのってあるのか?
あったとしてもレアだから自分で調べたほうが良いと思うが
411デフォルトの名無しさん:2008/03/25(火) 13:37:10
MS以外の実装で何とか使えそうなのはMONOだけじゃないかな。
412デフォルトの名無しさん:2008/03/25(火) 13:40:58
Win以外ではmonoしか存在しないだろ、jk。
413デフォルトの名無しさん:2008/03/25(火) 13:46:52
Silverlightに期待するくらいしか
414デフォルトの名無しさん:2008/03/25(火) 14:42:51
実用レベルじゃないと思うがあるっちゃある。
DotGNU Project
415デフォルトの名無しさん:2008/03/25(火) 15:59:42

public class Program {
 static void Main() {
  if( OperatingSystem.Platform == PlatformID.Win32NT )
   new DispMsgImplWin() .Show( "OK" );
  else if( OperatingSystem.Platform == PlatformID.Unix )
   new DispMsgImplUnix() .Show( "OK" );
 }
}
public abstract class DispMsgImpl {
 public abstract void Show( string text );
}
416デフォルトの名無しさん:2008/03/25(火) 16:03:09

// Windows用
public class DispMsgImplWin : DispMsgImpl {
 public override void Show( string text ) {
  MessageBox.Show( text );
 }
}

// Unix用
public class DispMsgImplUnix : DispMsgImpl {
 [DllImport("???")]
 public static extern void ???( ??? ??? );
 public override void Show( string text ) {
  // ???
 }
}


このような解決のための案をプログラム構造に適用して、
複数OSで動作すること(またはその可能性)を期待したい訳です。
。o O ( もちろん、その各OS固有の実装部分を自分は書けないのですが・・・ )
417デフォルトの名無しさん:2008/03/25(火) 16:25:19
monoでサポートされてる機能だけを使うようにするくらいだろ
ていうかjava使え
418デフォルトの名無しさん:2008/03/25(火) 20:52:08
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/698scrollpic/scrollpic.html
にあるように画像を表示したいんですけど、これだとスクロールバーを操作して、
MouseUpしたときにようやく画像がスクロールします。
スクロールバーをドラッグしている間も画像をスクロールさせるにはどうしたらいいんでしょうか?
419デフォルトの名無しさん:2008/03/26(水) 02:28:52
monoって.NET1.1相当でなかったっけ
あとFormm関係壊滅とか見た記憶が
420デフォルトの名無しさん:2008/03/26(水) 04:08:53
割と進んでるみたいだね
ttp://veritas-vos-liberabit.com/trans/www.go-mono.com/archive/1.9/
1.2.xの頃からFormsに対応しだしたらしい?
421デフォルトの名無しさん:2008/03/26(水) 09:43:07
そもそも.net frameworkってなんですか?
422デフォルトの名無しさん:2008/03/26(水) 16:00:15
相談なのですが
データグリッドにCSVから読み込んだデータを表示しました。
まず読み込んで表示させるのが第一目標でそれは達成できたのですが
次にこれをチェックボックス付にさせたいのです。
データグリッドビューに表示させるのをチェックボックスをフォームに設置して
これに表示させるように式を変えたりしたのですが、CSVのデータを読みこまないで
おかしなチェックボックスリストができあがってしまいました。
どうかご助言の程お願い致します。

423デフォルトの名無しさん:2008/03/26(水) 16:05:57
ちなみにソースです
Dim dt As New DataTable
Dim row As DataRow

dt.Columns.Add("あ", Type.GetType("System.String"))
dt.Columns.Add("い", Type.GetType("System.String"))
dt.Columns.Add("う", Type.GetType("System.String"))

Using parser As New TextFieldParser("C:aaa.csv", System.Text.Encoding.GetEncoding("Shift_JIS"))

parser.TextFieldType = FieldType.Delimited
parser.SetDelimiters(",")

While Not parser.EndOfData
row = dt.NewRow
row.ItemArray = parser.ReadFields
dt.Rows.Add(row)
End While
Call parser.Close()

DataGridView1.DataSource = dt
      (ここの式をチェックボックスにしたらおかしくなりました・・・)
End Using
424デフォルトの名無しさん:2008/03/26(水) 16:06:50
422=423です
すみません。

425422:2008/03/26(水) 17:38:58
何度も投下すみません
DataGridView1.DataSource = dt
Dim dc As DataColumn
dc = New DataColumn("Column1", GetType(Boolean))
dt.Columns.Add(dc)
とあるサイトを参考に↑を入れたら一番後ろにチェックボックスが作成できました。
本当は先頭に入れたいのですが…この疑問とともに
上記の文章でおかしいところなどございましたらご指摘いただければと思います。
426デフォルトの名無しさん:2008/03/26(水) 20:45:24
宿題は自分でやりましょう



※この上にチェックボックス用のフィールドを追加する行を一行記述
dt.Columns.Add("あ", Type.GetType("System.String"))

※このイコールの後にチェックボックスの値をStringでデリミタ込みで追加記述
row.ItemArray = parser.ReadFields
427422:2008/03/28(金) 08:37:23
<426
ありがとうございます!
宿題ではないのですが、そう思われないような質問の仕方に気をつけたいと思います。
428デフォルトの名無しさん:2008/03/28(金) 10:09:27
>>427
それ以前に、自分が書いているコードの1行1行が
何を意味しているのかくらい、理解してから来なさいよね
429デフォルトの名無しさん:2008/03/28(金) 22:07:27
それが出来たら初心者スレに来ねーだろw
430デフォルトの名無しさん:2008/03/28(金) 23:28:11
それをしようとしないのを初心者とは呼ばない
自助努力を促すのも、初心者救済の一手だと思う
431デフォルトの名無しさん:2008/03/29(土) 01:53:11
ヒントも与えんで自助努力も無いと思うがねw
432デフォルトの名無しさん:2008/03/29(土) 10:02:11
妙な流れの中すんません。
>418 ですがレスもらえないでしょうか。
PanelのAutoScrollに任せずに、自分でPictureBoxにスクロールバー貼り付けた方が
いんでしょうか?
433デフォルトの名無しさん:2008/03/29(土) 15:00:16
>>432
そこのサイトちゃんと読んでないでしょ?w

> これによりPanelコントロールの中に配置されたコントロール(本稿の場合ではPictureBoxコントロール)がPanelコントロールのサイズよりも大きい場合に、自動的にスクロールバーが表示されるようになる。
434デフォルトの名無しさん:2008/03/29(土) 15:06:11
>>433
君恥ずかしい奴だね。
ちゃんと読んでない?
それ誰のこと言ってんだよw
435デフォルトの名無しさん:2008/03/29(土) 21:33:21
>>434
>>418どうした?w
436418:2008/03/29(土) 21:50:44
>>433
あの、ちょっと違うくてスクロールバーの表示/非表示の話じゃなくて、スクロールバーの
動作の話なんです。(>>433さんはわかっておらてるようですが)
BCBからやっとこさ移行しようかなと思ったんですが、BCBならスクロールバーのプロパティ
で Tracking = true; ってやればできたんですが、なんか似たやり方無いのかな?と思って。

いろいろ試してみますが、ゆっくりやってますので、わかる方がいらっしゃれば思いついた
ときにでもレスお願いします。
437418:2008/03/29(土) 21:53:18
>>435
再読込したら変なのが湧いてるな。氏ねよ。
438デフォルトの名無しさん:2008/03/29(土) 23:09:16
>>437
ビンゴだったようだなw
439デフォルトの名無しさん:2008/04/03(木) 14:53:07
.NET Framework 3.5をインストールしておけば、
2.0と3.0用に開発したソフトも
正しく完全に動作するとおもっていいのでしょうか?
MSのホームページをみると、
実行することができます、と書いてましたが、
MSの言うことなのでイマイチ不安です・・・
440デフォルトの名無しさん:2008/04/03(木) 14:59:22
もちろんMSの言うことですからおもってはいけません。
バージョンが同じでも仕様と現実とに差異があるくらいですから。
441デフォルトの名無しさん:2008/04/03(木) 15:02:31
3.5をインストールするのは2.0と3.0と3.5を順にインストールしたのと一緒だよ
442デフォルトの名無しさん:2008/04/03(木) 15:03:17
やっぱりですか・・・
まんどくさいですが、2.0と3.0も
一緒にインストールするようにします・・・
443デフォルトの名無しさん:2008/04/03(木) 15:04:35
>>440
>>441

ど、どっちが正しいのでしょうか?w
444デフォルトの名無しさん:2008/04/03(木) 15:08:07
>>443
http://msdn2.microsoft.com/ja-jp/library/bb822049.aspx
つまり古いのを入れる意味はない
445デフォルトの名無しさん:2008/04/03(木) 15:22:27
>>444
ありがとうございます。
そのページは見てませんでした。
446デフォルトの名無しさん:2008/04/03(木) 20:34:06
>>440
今回は、その違いがあるということが(2.0と3.0の)SP1として表れている。
447デフォルトの名無しさん:2008/04/03(木) 21:48:04
だからといってMSを疑っても全く意味がない
1.1と2.0系の関係とは違う
448デフォルトの名無しさん:2008/04/04(金) 16:32:23
1.1と3.5だけでいいってことね
449デフォルトの名無しさん:2008/04/04(金) 16:34:14
また、次でドトネトじゃないものに変わっちゃうんじゃね?
時代はRIA。
450デフォルトの名無しさん:2008/04/07(月) 10:29:10
このスレの住人なら知っていますね、あの糞開発ツールのことを

・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる

糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。

・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
 上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
 バグレポートなどしてはいけません。改善要求などもってのほかです。
 あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
 なんて話が出たら力強く机を叩き、会議室を出ましょう。
 あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。

糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
451デフォルトの名無しさん:2008/04/07(月) 10:37:57
質問です。長文失礼します。

1つのソリューション内に、
2つ以上のプロジェクトがあり、
それぞれのプロジェクトから、
同じクラスモジュールのファイルを参照したいのですが、
どうすればいいのでしょうか?

たとえばSol1というソリューション内に、
Pro1,Pro2というプロジェクトがあり、
2つのプロジェクトの両方から、Class1.vbという
クラスモジュールを使用したいのです。
「追加」−「既存の項目」で追加すると、
Pro1,Pro2のフォルダの下ににそれぞれ違う
Class1.vbができてしまいます。

別プロジェクトを作ってDLLを作るほうが
いいのでしょうか?
あまり外部依存ファイルを増やしたくないのです・・・

よろしくおねがいします。
452デフォルトの名無しさん:2008/04/07(月) 11:24:11
既存項目の追加ダイアログでファイルを選んだら,
追加ボタンの右にある下向きの三角ボタンをクリックしてリンクとして追加を選ぶ
お勧めはしない
クラスライブラリのプロジェクトを作って既存プロジェクトを追加でソリューションに追加した方がいい
DLLは増えるけどまったく変わらん
453デフォルトの名無しさん:2008/04/07(月) 11:56:50
>>452
すばやいレスありがとうございました。
目的のことができました。

やはりDLL増やしたほうがいいんですねぇ。
その案も考慮して進めていきたいとおもいます。
454デフォルトの名無しさん:2008/04/07(月) 17:17:04
エラー発生時のExceptionから取得したStackTraceから各関数の引数の値って取得できますか?
455デフォルトの名無しさん:2008/04/07(月) 18:23:42
ラベルが100個くらいあるフォームで
(ここはつっこまないでw顧客の要望なんです・・・w)
BackgroundImageを設定すると、
フォームの表示がむちゃくちゃ遅くなるんですが、
どうにかならないでしょうか?
BackgroundImageを無しにするとそれなりに早くなります。
ちなみにラベルの背景色はTransparentで透過するようになっています。

というかもうデザインの時点でかなり重い・・・
456デフォルトの名無しさん:2008/04/07(月) 19:28:07
文字を全部BackgroundImageにGraphicsで書き込めば?
457デフォルトの名無しさん:2008/04/07(月) 20:25:06
>>455
BackgroundImageを使わないで済むよう顧客を説得する
458デフォルトの名無しさん:2008/04/07(月) 22:56:24
もうー最後
VBとC#どっちがいい?
459デフォルトの名無しさん:2008/04/07(月) 23:57:24
C#
460デフォルトの名無しさん:2008/04/08(火) 07:50:39
C#
461デフォルトの名無しさん:2008/04/08(火) 07:58:35
じゃあ俺はVBで
462デフォルトの名無しさん:2008/04/08(火) 09:38:17
こうじゃね
VBで十分な人>>C++を使いたい人>C#を使いたい人
463デフォルトの名無しさん:2008/04/09(水) 10:00:16
オヒス2007にしたら、氏ぬ程モッサリなんだが。。。
起動も20年前のUNIX+X-Windowワークステーション、
ウィンドウの描画もIME起動も1瞬止まったかのよう。

まさか、ドトネトで開発した?
464デフォルトの名無しさん:2008/04/09(水) 11:26:58
気持ち悪い文章だ
465デフォルトの名無しさん:2008/04/14(月) 17:22:08
コレクションをジェネリックで実装するときに
コレクションの値を
キーとインデックスを両方つかって参照したいのですが、
List(Of T)だとインデックスだけだし
Dictionary(Of T)だとキーだけ・・・
両方つかえるコレクションは作れないのでしょうか?
466デフォルトの名無しさん:2008/04/14(月) 18:55:20
KeyedCollection
467デフォルトの名無しさん:2008/04/14(月) 19:17:50
ありがとうございます。
Listとは違う名前空間だったので、
気がつきませんでした・・・
468デフォルトの名無しさん:2008/04/19(土) 14:46:26
>>462
できるよ。
以上。
はい、次。
469デフォルトの名無しさん:2008/04/19(土) 17:49:23
えらそうに仕切る前にレス番くらい確認しような
470デフォルトの名無しさん:2008/04/20(日) 21:16:08
なんで.NETアプリはメモリ使用量が大きいんですか?
例えばtwintailという.NETの2chブラウザはスレッド1個見ただけで60MBぐらいメモリを食いますが、
これはプログラムの作り方の問題なのか、.NETの欠点なのかどちらでしょう?
この程度の小さいデータを扱うアプリなら5〜10MB程度のメモリ使用が妥当だと思うんですが。
471デフォルトの名無しさん:2008/04/20(日) 21:47:01
共有ライブラリをロードするから
472デフォルトの名無しさん:2008/04/20(日) 21:57:04
クラスライブラリの使う分だけをスタティックリンクして、
frameworkなしで動くネイティブアプリを作るコンパイルオプションはありますか?
473デフォルトの名無しさん:2008/04/20(日) 21:57:13
メモリ食いなのは確かだが、タスクマネージャのメモリ使用量は
指標として役に立たないことは覚えておいたほうがいい。
474デフォルトの名無しさん:2008/04/20(日) 21:57:41
>>472
ない
475デフォルトの名無しさん:2008/04/20(日) 22:08:56
>>474
ないのか・・・。じゃ使えんな。
476デフォルトの名無しさん:2008/04/20(日) 22:15:30
そう、使えるときは使って、
使えないときは潔く諦めるのも大事だよ。
477デフォルトの名無しさん:2008/04/20(日) 23:05:34
>>470
Live2chもちょっと長く立ち上げてると150MBくらい逝くから
アプリの特性じゃね?
IEコンポ使わないと作るの大変だしな
478デフォルトの名無しさん:2008/04/20(日) 23:47:56
2chブラウザでIEコンポーネントなんか使う訳ないだろ。
dat取得とか知らないのか。
479デフォルトの名無しさん:2008/04/20(日) 23:52:00
>>478
dat取得したのをローカルにhtml加工してから、IEコンポーネントで表示してるはず。
すくなくともギコナビは使ってる。
480デフォルトの名無しさん:2008/04/20(日) 23:54:45
IEコンポーネントはなんかリークしてる気がするんだよね
481デフォルトの名無しさん:2008/04/20(日) 23:55:38
>>479
貴方みたいな姿勢は尊敬するけど華麗にスルーしていいよ。
胃が痛い・・・
482デフォルトの名無しさん:2008/04/21(月) 01:26:53
>>479
URLリンク部分を色変えて表示したりするためだけに、馬鹿でかいIEコンポを内部に組み込むのか。
「瓦一枚必要だから家を一軒買ってきました」みたいなノリだな。
483デフォルトの名無しさん:2008/04/21(月) 01:49:52
>>482
IEコンポーネントを使っちゃった以上、
CSSやJavaScriptでスキンを作れるなんて機能もある始末。
484デフォルトの名無しさん:2008/04/21(月) 11:37:04
>>482
>URLリンク部分を色変えて表示したりするため

しかしこれがFAQなのも事実。
RichTextで文字列の色変えたり、リンク貼ったりしたいという質問は多い。
リソース使用量に対するパフォーマンスを考えるとブラウザのレンダリングエンジンは相当優秀だよ。
485デフォルトの名無しさん:2008/04/21(月) 12:33:51
>リソース使用量に対するパフォーマンスを考えるとブラウザのレンダリングエンジンは相当優秀だよ。

パフォーマンスじゃなくて技術力の問題だろ。
2chブラウザごときにIEコンポを使おうと判断する奴が無能すぎるだけ。
テキスト中のURL部分の抽出なんか正規表現使えば簡単にできるのに、それすら知らない無知無能。

だいたい.NETを使う奴は、使うパーツのコストをまるで考えない奴が多い。
これ使えばどんだけメモリを食うのか、どんだけ処理が重くなるのか考えもしない。
486デフォルトの名無しさん:2008/04/21(月) 12:43:23
なんか訳のわからないこと言ってる奴がいる気がするけど気のせい?
IE使うな、って自前で描画しろっての?
車輪の再発明、って言うんじゃないのそういうの。
っていうかコピーにも対応するって結構面倒そうに思うけど。

つーかIE使うとメモリそんなに消費するのかなw
487デフォルトの名無しさん:2008/04/21(月) 12:49:47
会社に必ず一人はこういうのがいるよな
488デフォルトの名無しさん:2008/04/21(月) 12:56:14
↑こんな奴ばかりだから.NETはモッサリで嫌われるんだよ。
コストを考えて使えと言ってるだけなのに。
489デフォルトの名無しさん:2008/04/21(月) 12:58:13
490デフォルトの名無しさん:2008/04/21(月) 13:06:48
調べてみるとtwintailはIEコンポーネントを使ってないと書いてある。
だがそれにも関わらずメモリ食いまくりで起動が遅い。
.NET frameworkを読み込むこと自体が元凶なんだろうな。
Vista仕様のパソコンじゃないと使う気になれない糞重いソフトしか作れないのは痛いな。
491デフォルトの名無しさん:2008/04/21(月) 13:16:46
WebClientも使ってないのかねえ?
それに限らず.NETFRAMEWORKの中からIE使ってる場合もあるのではないか
まあどっちみちメモリ食うのには変わらんがw

それとHTMLレンダリング甘く見てる知ったかちゃんが湧いてるようだがw
自分で作ってみるといいよ
間違いなく認識改まるからw
まったく最近は日本語処理舐めて掛かる奴が多くて困る
492デフォルトの名無しさん:2008/04/21(月) 13:31:57
HTMLレンダリングとかそんなオーバーなものは要らない。
2chブラウザが解釈すべきタグは<a href="xxx">と<br>の2つだけだろ。
それをわざわざIEコンポーネントで表示させるほどのもんか?
頭使えよ。
493デフォルトの名無しさん:2008/04/21(月) 15:47:30
>>492
実際に作ってみてよ
494デフォルトの名無しさん:2008/04/21(月) 15:47:51
まあその程度の認識だろうとは思ったよ(笑)
実際やってみれば分かるが、.NETの文字列系処理だけで組み上げようとするとかなりのコスト
それで得られるものは僅かなメモリとでっかいセキュ穴
あ、あと自己満足かw
物の分かる奴ならどっちを取るかは自明だがね
495デフォルトの名無しさん:2008/04/21(月) 15:49:31
表示とdatの解釈で話が噛み合ってないな
496デフォルトの名無しさん:2008/04/21(月) 16:03:10
俺ならIEコンポーネントを選ぶ
497デフォルトの名無しさん:2008/04/21(月) 16:05:38
Linuxで自前レンダリングが通のやり方。
IE使うよりずっと楽。
emacsen使って楽々コーディング+スクリプトで自動化。
498デフォルトの名無しさん:2008/04/21(月) 16:08:41
>>494
IEコンポ使うとセキュリティーだらけ。
標準に準拠してないしな。
M$を信じたらだめだw
499デフォルトの名無しさん:2008/04/21(月) 16:18:55
>>497
スレチあっちいけ
500デフォルトの名無しさん:2008/04/21(月) 17:10:15
>>498
2chのスレ表示なら、
標準に準拠していないことはそう問題にならないはず。

だって>>492が言っているように
最低限aとbrが使えれば十分で、
さすがにIEコンポでもそれくらいは使える。
501サイタマン ◆mYN3wsz7vE :2008/04/21(月) 17:27:09
perlで2chブラウザ作ったけど
簡単だったなぁ。
まず、板URLゲット
板選択したら、スレッドdatを取って
スレッド表示
スレッド選択したら
スレッドdat取ってスレ表示
書き込みはpostで。
4時間で作れた。
502サイタマン ◆mYN3wsz7vE :2008/04/21(月) 17:31:12
ちなみに、これがSSです。
http://pict.or.tp/img/53200.jpg
503サイタマン ◆mYN3wsz7vE :2008/04/21(月) 17:33:28
IEコンポが無いと、デザインがね。
それと、Javascript使って、ID一覧表示が出来ない
Widestudioで作ったんですが、
IEコンポがperlに対応して無いようで
残念です。
504デフォルトの名無しさん:2008/04/21(月) 17:39:49
普通に考えてRichEditで十分だな。
IEコンポ使う奴は素人。
505サイタマン ◆mYN3wsz7vE :2008/04/21(月) 17:43:55
今の時代ブラウザ用途でJavascript使えないとおもちゃのようになるよ。
俺の作った2chブラウザもJavascript使えないから
便利に動かない。
richeditなんて役に立たないよ。
実際に2chブラウザ作ってないから問題点が見えてないんだろうけど。
506デフォルトの名無しさん:2008/04/21(月) 18:12:55
>>504
Win使ってる時点で素人
プロは全員りなつかてる
507デフォルトの名無しさん:2008/04/21(月) 18:22:03
>>503
Win32::OLEはだめなのか?
508デフォルトの名無しさん:2008/04/21(月) 19:07:59
>>505
ブラウザ用途って、2ch専用だぞ?
HTMLのフル機能を備える必要がなんである?
javascriptで機能を実装する必要がなんである?

不必要に馬鹿でかいオブジェクトを組み込んでしまった罪滅ぼしに、
javascriptを使おうとしてるだけじゃないか。
509サイタマン ◆mYN3wsz7vE :2008/04/21(月) 19:20:15
>>507
OLEでGUIデザインは・・・
>>508
そこがね、卓上の空論と言うのかな。。
俺のSSのような2chブラウザならいらないけど
より便利にして行こうとすると、どうしても、必要になってくる。
あの機能が足りない、この機能が欲しいとなってくるんだよね。
510デフォルトの名無しさん:2008/04/21(月) 19:30:02
>>509
Perlやったことないんだけど、
IEコンポ部分だけWin32::OLEってのも無理?
511サイタマン ◆mYN3wsz7vE :2008/04/21(月) 19:32:59
>>510
widestudio使ってるから無理だと思います。
TKだとIEコンポ付いてますが共存できません。。
512デフォルトの名無しさん:2008/04/21(月) 19:44:54
>>509
×卓上の空論
○机上の空論(「きじょうのくうろん」と読む)

perlなんかやっててWindowsプログラミングの机上の論理すら分かってない奴には用はない。
分かってるならきちんと論理的に反論できるはず。
513サイタマン ◆mYN3wsz7vE :2008/04/21(月) 19:51:22
数時間あれば2chブラウザなんて作れるんだから
実際に作ってから言えと言いたいですね。
そこで問題点が分かると思いますよ。
IDにフォーカス当てるとそのIDの発言が表示されるとか
いろんな機能が欲しいと思うはずです。
514デフォルトの名無しさん:2008/04/22(火) 03:48:30
そんなの自分で描画すればいいじゃん。やってみると結構簡単だよ
515デフォルトの名無しさん:2008/04/23(水) 02:07:56
.NETアプリのexeが、MSILかJITコンパイル済みかを見分ける方法ってありますか?
初回起動が激遅のソフトがあって、それがMSILだから遅いのか、フレームワークを読み込むので遅いのかを
調べたいんですけど。
516デフォルトの名無しさん:2008/04/23(水) 03:18:22
>>515
>それがMSILだから遅いのか、フレームワークを読み込むので遅いのかを
>調べたいんですけど。

プロファイラがあるから調べてみれば?
ttp://msdn2.microsoft.com/ja-jp/magazine/cc337892.aspx
517デフォルトの名無しさん:2008/04/23(水) 03:22:40
>>515
ngenのこといってる?
ならngen displayコマンドで調べられる。
518デフォルトの名無しさん:2008/05/05(月) 17:58:05
HTMLのオートインデント実装しようと思ってるんだけど、XMLのDOMについて質問です

XmlNodeクラスにはすべての子供のデータを取得するInnerText,InnerXmlはありますが
直下の子供のTextは取得できないんでしょうか

DirectoryInfoのGetFilesとGetDirectoriesみたいに
直下のXmlとTextだけが取得できる方が便利だと思うんですが・・
519デフォルトの名無しさん:2008/05/05(月) 19:00:47
>>518
Textもノードの種類の一つだから、
子ノードを列挙してNodeTypeがTextのを探せばいい
520518:2008/05/05(月) 19:21:28
うまくいきました。thx
521デフォルトの名無しさん:2008/05/11(日) 02:40:27
ViEMUなるVisual Stdio内で動くViエミュレータが動きません。
設定の仕方がまずいんでしょうか。それともVisual Stdio Express じゃそもそも動きませんか?

メンバー、フィールド、プロパティ、変数のそれぞれの単語の厳密な使い分けがようわかりません。
ヘルプ読めばなんとなくはわかるんだけど。何か気の利いた分け方ありますか。
522デフォルトの名無しさん:2008/05/11(日) 21:42:39
Expressではアドインは使えません。諦めましょう。
型の直下に宣言された要素の総称がメンバ(メソッド,プロパティ,フィールド,イベント)
523デフォルトの名無しさん:2008/05/12(月) 03:12:27
>>522
サンクス
524デフォルトの名無しさん:2008/05/20(火) 01:38:38
よくある、タブで文書を複数開く系のアプリを作ろうとしています。C#です。

TabPageの派生クラス(仮にMyTabPage)をTabControlにぽこぽこ追加、
みたいなイメージで考えてるんですが、この場合MyTabPage上の
コントロールの配置をデザイナで行うことは可能でしょうか。
525524:2008/05/20(火) 01:39:51
あげときますです
526デフォルトの名無しさん:2008/05/20(火) 20:36:11
ユーザコントロールを作ってタブページの上に乗せるようにした方がいいと思う
527デフォルトの名無しさん:2008/05/22(木) 20:08:34
FileStream や IO::File::WriteAllText で
新規ファイルを作成して書き込んだとき、
サイズが0になってしまうことがあるのですが、
どんな理由が考えられるでしょうか?
ディスクの空き容量は充分にありますし、
特に例外も出ていません。
元データのサイズもゼロではありません。
528デフォルトの名無しさん:2008/05/23(金) 00:51:40
closeしてない
529デフォルトの名無しさん:2008/05/23(金) 00:57:29
横から補足
WriterとStreamの両方でcloseしないとダメ
disposeでcloseもされるとかMSDNには書いてあるが信じたらあかん
530デフォルトの名無しさん:2008/05/23(金) 07:36:16
>>529
MSDNに書いてあるとは信じようよ。System.IO.StreamWriterのCloseの実装。
public override void Close()
{
    this.Dispose(true);
    GC.SuppressFinalize(this);
}
ただし、GC任せにした場合はDispose(false)になり正常に書き出しされない。


>WriterとStreamの両方でcloseしないとダメ
こちらはMSDNになぜか書いてないので両方Close/Disposeしておいたほうが安全だが、
実装上はwriterの元になったStreamは自動的に閉じられる。
ちなみにClose/Disposeは2度以上呼び出しても例外は起きない。
531デフォルトの名無しさん:2008/05/23(金) 10:22:35
ふうむ…?
昔、StreamWriterとその元のFileStreamをそれぞれusingで括ってcloseなしにしたら
見事にサイズ0喰らったんだけどな
usingってスコープから外れた瞬間にdisposeするよな?
532デフォルトの名無しさん:2008/05/23(金) 10:32:58
原因は別にあると考えるべきだろう。再現性のある最小限のコードをアップしてみたら。
533527:2008/05/23(金) 10:52:54
みなさんありがとうございました。
FileStream のほうは Close していない部分があったので
Close するようにして様子を見てみます。
WriteAllText のほうは別な原因だと思いますが、
再現性のあるコードをアップするのが難しいので
もうちょっと自力で調べてみます。
534デフォルトの名無しさん:2008/05/23(金) 22:08:58
http://pc11.2ch.net/test/read.cgi/tech/1208791919/

こちらのスレから誘導されてきました。

Windowsアプリケーション学習用にC#をやろうと思っています。
Microsoft Visual C# 2008 Express EditionをSDKとSQL Serverつきでインストールしました。
しかし何をどう作っていったらいいかわかりません。
プログラム経験はPHPでWebプログラム(こちらは趣味で3年以上やっていて2ch風掲示板ぐらいのものは作れます)、
あとオブジェクト指向の勉強にJavaを少しいじった程度です。
Javaでは簡単なファイル操作から、オブジェクトの継承や例外処理など基本的な勉強しかしていません。
Webプログラムはイメージ的にわかるので、ASP.NETあたりはなんとか理解できると思うのですが、
Windowsアプリケーションとなると右も左もわかりません。
まずは何をやったらいいのでしょうか?

とりあえず簡単そうなものとしてメモ帳あたりから作成してみたいと思っています。
また参考になるようなサイトがあれば是非教えてください。
535デフォルトの名無しさん:2008/05/23(金) 22:23:00
お前は三年間何してたんだ?
分からないことは全部人に聞いてたのか?
536デフォルトの名無しさん:2008/05/23(金) 22:45:02
何をしたらいいかわからないを判る様にするプログラムを作ったらいいじゃない
537534:2008/05/23(金) 23:03:21
>>1見て安心したのですが、煽りしかこないようなので質問閉めます。
どうもお邪魔しました。
538デフォルトの名無しさん:2008/05/24(土) 00:13:00
マジレスするとそんな抽象的な質問は、
恐ろしく掲示板という場所と相性が悪くて、誰も答えたがらない。
図書館とか書店行け。
539デフォルトの名無しさん:2008/05/24(土) 00:25:15
>>534
まま。そう気を落とすなよ。
とりあえずフォームにいろいろ貼ってどんなコントロールがあるのか調べてみなさい。
540デフォルトの名無しさん:2008/05/24(土) 01:18:29
まあ正直なところ

  簡単そうなメモ帳

と言ってる時点でWindowsアプリ全般に対する誤解つーか強固な先入観を感じる

まずそっから解きほぐすとなると、面と向かわなきゃ無理だ罠
541デフォルトの名無しさん:2008/05/24(土) 11:39:04
メモ帳って”最低限の機能”が意外と多いきがす
542デフォルトの名無しさん:2008/05/24(土) 13:04:08
印刷・検索・置換以外なら比較的簡単だと思うんだけどなあ……。
543デフォルトの名無しさん:2008/05/24(土) 13:41:27
>>542
Windows標準のメモ帳に実装されている機能を「最低限」と言ってるんじゃないの?
544デフォルトの名無しさん:2008/05/24(土) 14:51:47
多い少ないと簡単かそうでないかは違う尺度
545デフォルトの名無しさん:2008/05/24(土) 14:53:04
てか「見た目メモ帳」で良ければリッチエディットぺたぺたで終わり
しかし、そこからが地獄
どう考えても学習向け題材ではない
2chブラウザの方がまだマシ
546デフォルトの名無しさん:2008/05/25(日) 00:19:21
リッチはいらんだろ
547デフォルトの名無しさん:2008/05/25(日) 09:17:10
VC++で、ビルドをするとpdbファイルや、ilkファイル、objファイルが生成されるのですが、
これらのようなファイル(exeファイル以外の勝手に生成されるファイル)は配布時には入れなくてもいいのでしょうか?
548デフォルトの名無しさん:2008/05/25(日) 09:17:37
Tab 押したら隣のコントロールに移動してしまいました>< で詰まってみるとかどうよ
549デフォルトの名無しさん:2008/05/25(日) 09:18:40
>>547
Debug ビルド → それらのファイルが出来る、配布不可
Release ビルド → それらのファイルが出来ない、配布可
550デフォルトの名無しさん:2008/05/25(日) 09:26:17
>>549
リリースビルドでもいっぱいでてくるのですが……。
どこかで設定しないといけないのでしょうか?
551デフォルトの名無しさん:2008/05/25(日) 11:01:11
見るとこ間違ってないか?
デフォルトならDebugとReleaseでフォルダ違うぞ
552デフォルトの名無しさん:2008/05/25(日) 11:03:57
でもまあリリースでもobjやpdbはできるだろうな。
実際の配布にはexeだけあれば十分(あと必要に応じてランタイムの用意)。
553デフォルトの名無しさん:2008/05/25(日) 11:20:33
みなさんありがとうございます。

VC#の設定を全部インポートしたから変になったのかな……。
再インストールしてみます。

>>552
objとかpdb生成しないようにはできないのでしょうか?
わざわざ手動でするのですか?
554デフォルトの名無しさん:2008/05/25(日) 11:44:12
再インストールしましたが、
やはり生成されるようです。
こんなものなのですね……。
555デフォルトの名無しさん:2008/05/25(日) 12:06:29
まずはobjファイルが何者であるかググレ
そしたら何故出来るか理解出来るだろ
556デフォルトの名無しさん:2008/05/25(日) 13:06:07
文字列(テキストファイル)をLoadメソッドでXMLDocumentにするような感じで
文字列をHTMLDocument?のような構造化されたオブジェクトに変換する何かってありますか?
557デフォルトの名無しさん:2008/05/25(日) 14:39:14
日本語でおk
で済ませたい所だが一応エスパーってみるとだ
拡張子が.htmlではないけど中身がHTMLなテキストなファイルをHTMLDocumentに読ませたいと
あんまアタマいいやり方じゃないが、WebClientにローカルパス指定して読ませるとかどだろう
558デフォルトの名無しさん:2008/05/25(日) 15:36:31
>>557
分かりづらくてすみません
XMLDocumentだとタグの1つ1つにプロパティのようにアクセスできるじゃないですか
そんな感じでHTMLのテキストを読み込んでそういう感じのオブジェクトに変換してくれる何かがないかなと・・・
559デフォルトの名無しさん:2008/05/25(日) 15:54:46
うわ・・・すみません、HTMLDocumentっていうそのものずばりがあったんですねorz
お騒がせしました
560デフォルトの名無しさん:2008/05/26(月) 23:02:07
.NET Frameworkというのが何なのかググってもわかりません。
易しい言葉で詳しく説明していただけませんか?
561デフォルトの名無しさん:2008/05/26(月) 23:23:41
クラスライブラリとランタイム
562デフォルトの名無しさん:2008/05/27(火) 11:53:26
世に出ているデスクトップアクセサリ/マスコットってどういう仕組みで動いているんでしょうか。
いろいろとググってみましたが、よくわかりませんでした。
フォームを透過し、画像を貼り付け?何かヒントをくださると助かります。。
563デフォルトの名無しさん:2008/05/27(火) 12:03:05
大丈夫。仕組みがわかったとしても君には作れないから。
564デフォルトの名無しさん:2008/05/27(火) 12:05:14
>>563
そんなことおっしゃらず、おねがいいたします。
565デフォルトの名無しさん:2008/05/27(火) 13:46:21
>>563
自分で作るとか作らないとかは関係ありません。
仕組みを聞いているだけです。
566デフォルトの名無しさん:2008/05/27(火) 20:21:03
いもうとデスクトップを実際に作ってみないか?3
http://pc11.2ch.net/test/read.cgi/tech/1210054407/
567デフォルトの名無しさん:2008/06/01(日) 21:08:54
enumってどう発音すんの?
568デフォルトの名無しさん:2008/06/01(日) 21:19:44
適当に発音すればいい
569デフォルトの名無しさん:2008/06/01(日) 22:07:04
エネマって読むんだお
570デフォルトの名無しさん:2008/06/01(日) 22:07:49
浣腸かよ
571デフォルトの名無しさん:2008/06/02(月) 22:19:18
javaのhsqlDBみたいに、フリーで手軽に使えるデータベースは.netにはないのですか?
572デフォルトの名無しさん:2008/06/02(月) 22:41:15
mdbファイル
access無くても使えるし
573デフォルトの名無しさん:2008/06/03(火) 05:41:13
>>572
あーあれ直接扱えるんですね。なるほどありがとうございます。

と思ったけど、うちの自宅マシンにaccess入ってないのでデバッグやデータ作るのめんどくさそう・・
ほかになんかないですかね?
とりあえずXMLがラクそう?ですかね。
574デフォルトの名無しさん:2008/06/03(火) 07:51:23
>>573
そういう用途で実質業界標準なSQLiteでいいんじゃね?
対応環境もめちゃ多いし。
575デフォルトの名無しさん:2008/06/03(火) 21:35:19
SQL Serverでもいいぜ、サービスがいやならCompactとか。
576デフォルトの名無しさん:2008/06/03(火) 22:14:17
msdnのDatagridviewの説明読んでも全然わかんない
577デフォルトの名無しさん:2008/06/04(水) 02:33:04
まあなんだ
取り敢えずDBテーブルからフォームにポトペタしてみ?
578デフォルトの名無しさん:2008/06/04(水) 11:45:38
>>577
表示したいのはDBのレコードじゃなくて自作クラスの配列なんだ
DataSourceに突っ込んだら表示されたけど

何も考えずDataSourceに突っ込んだら一行にこんな感じに表示されるけど
┌─┬─┬─┬─┬─┐
│あ│い.│う.│え.│お│
└─┴─┴─┴─┴─┘

それを下のように一行の中に縦に二つのセルを並べたりはできないの?
┌─┬─┬─┐
│  │い│う │
│あ├─┼─┤
│  │え│お.│
└─┴─┴─┘
579デフォルトの名無しさん:2008/06/04(水) 17:09:44
>>578
DataSourceの形がそんなだから、表示もそんな形になる
DataSourceの形を工夫すれば、できなくはない

DataGridViewの上では2レコードだけど、
コーディング上ではそれを1レコードとみなす、ってことね
580デフォルトの名無しさん:2008/06/06(金) 04:09:46
VB2008についての質問です。
My Projectの設定で作った変数の値は、user.configに保存されますが
これだと、ビルドしたexeを別のフォルダに移した場合、それまでにユーザーが入力した値がリセットされてしまいます。
それで、ユーザー用の設定ファイルを常にexeと同じフォルダに生成し、常に読み込み・保存でそちらを利用したいのですが
これを実現させるにはどのようにすればいいのでしょうか?
581デフォルトの名無しさん:2008/06/06(金) 08:43:47
それはVistaでややこしい事になるからしない方がいい
M$的にはDocuments and Settings内がユーザー個別だから使えと言うこと
582デフォルトの名無しさん:2008/06/06(金) 19:09:39
うーん、そうなんですか、ありがとうございます
仕方ないので、任意のタイミングでデータを読み書きするボタンを置いておいて、
自分でインポート・エクスポートしてもらう事にします
583デフォルトの名無しさん:2008/06/08(日) 00:50:04
質問です。SQL server 2005 と VB.NET2005を使用して簡単なソフトを作っています。
実用的なものではなく、VBとSQLの練習みたいな感じです。
SQLから値を取得しようとコードを書いていたのですが、

SqlExceptionはハンドルされませんでした。
ユーザー '' はログインできませんでした。
このユーザーは SQL Server の信頼関係接続と関連付けられていません

というエラーがでました。

認証がWindows認証だったので、SQL Server認証にしようしても接続することができません。
このような場合どうすれば良いでしょうか?
584デフォルトの名無しさん:2008/06/08(日) 01:31:41
>>583
app.configの接続文字列ってわかるかな?
わかればそれを晒してみよう。
585デフォルトの名無しさん:2008/06/08(日) 08:03:43
583です!返答ありがとうございます。
app.configの接続文字列とはどこで見たらよいのでしょうか?
ソリューションエクスプローラーにapp.configはでてきているんですが、
プロパティに接続文字列がでてきません・・・・。
初歩的な質問からですみません。
586デフォルトの名無しさん:2008/06/08(日) 12:44:31
DBに繋ぐためにapp.configの中の接続文字列を見て
DBと通信してる。とりあえず、app.configの中にDataSourceとかServerとかあると
思うし、それを確認すべき。"(local)"とか書いてると思う。
SQLServerのエディションはなに?
587デフォルトの名無しさん:2008/06/08(日) 13:33:24
つかDBエクスプローラから一遍ポトペタしとけばその辺自動で作ってくれると思ったが
それで出来たDataGridが要らなければ消せばいい
588デフォルトの名無しさん:2008/06/08(日) 22:02:58
説明不足ですみませんでした。
SQL Server Management Studio Expressを使用しています。

app.configの接続文字列についてですが、

connectionString="Data Source=ユーザー名;Initial Catalog=shuwa;Integrated Security=True"

となっています。

589デフォルトの名無しさん:2008/06/08(日) 22:03:38
ユーザー名を「(local)」にしてみたら?
590デフォルトの名無しさん:2008/06/08(日) 23:22:59
(local)にしてみましたが、同様のエラーメッセージがでてしまいました・・・。

今、VBに書いているプログラムです。

Imports System.Data.SqlClient '接続クラスの作成

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Cn As New SqlConnection("server=(local);Data Source=ユーザー名;Initial Catalog=shuwa;")
Dim SQLCm As SqlCommand = Cn.CreateCommand


SQLCm.CommandText = "SELECT かな FROM shuwa WHERE 指文字 = 001 "

Dim Value As String

Cn.Open()
Value = SQLCm.ExecuteScalar
Cn.Close()
MsgBox(Value)
End Sub
End Class
 
591デフォルトの名無しさん:2008/06/08(日) 23:24:32
まず、001って'001'
シングルクオーテーションで囲まないと
592デフォルトの名無しさん:2008/06/08(日) 23:55:29
Valueはstringで大丈夫か?
DBNullの可能性はないのか
593デフォルトの名無しさん:2008/06/09(月) 00:19:00
SQLCm.CommandText = " SELECT かな FROM shuwa WHERE 指文字 = '001' "
という事でしょうか?エラーは相変わらずです。。

さらに、また疑問がありまして・・・自動生成されるプログラムについてもいまいち理解しきず、今まで、コメント扱い
にして作業していたのです。ヘルプや関連サイトを見てはいるんですが、これは必要なんでしょうか?

1 Private Sub Shuwa_Table_1BindingNavigatorSaveItem_Click・・・
2 Private Sub Form1_Load・・・・でTODO: このコード行はデータを 'ShuwaDataSet._shuwa_Table_1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。

コメントを外すとビルドエラーで1でHANDLES句には、それを含む型または基本型の1つの定義されたWithEvents変数が必要です。
とでています。
594デフォルトの名無しさん:2008/06/09(月) 00:32:54
もう、そのままコードうpしちゃいなよ〜
595デフォルトの名無しさん:2008/06/09(月) 00:56:05
っ [教えてgoo]

もう来んな。
596デフォルトの名無しさん:2008/06/09(月) 00:58:01
うまく伝えられずすみません。以下がコードになります。
Imports System.Data.SqlClient '接続クラスの作成

Public Class Form1
'自動生成されるプログラム()
Private Sub Shuwa_Table_1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Shuwa_Table_1BindingNavigatorSaveItem.Click
Me.Validate()
Me.Shuwa_Table_1BindingSource.EndEdit()
Me.Shuwa_Table_1TableAdapter.Update(Me.ShuwaDataSet._shuwa_Table_1)
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: このコード行はデータを 'ShuwaDataSet._shuwa_Table_1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.Shuwa_Table_1TableAdapter.Fill(Me.ShuwaDataSet._shuwa_Table_1)

End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Cn As New SqlConnection("server=(local);Data Source=ユーザ名;Initial Catalog=shuwa;")
Dim SQLCm As SqlCommand = Cn.CreateCommand
SQLCm.CommandText = " SELECT かな FROM shuwa WHERE 指文字 = '001' "
Dim Value As String
Cn.Open()
Value = SQLCm.ExecuteScalar
Cn.Close()
MsgBox(Value)
End Sub
End Class
597デフォルトの名無しさん:2008/06/09(月) 01:00:19
598デフォルトの名無しさん:2008/06/09(月) 01:02:47
連続すみません。
592さん!StringをSqlDataReaderに変えたところ、ログインエラーはでなくなりました!
ありがとうございます!!
599デフォルトの名無しさん:2008/06/09(月) 01:11:20
エラーメッセージちゃんと読んでたのか?
600デフォルトの名無しさん:2008/06/09(月) 16:13:12
質問させて下さい。

C#にて、.NET Framework 2.0にServis Packが適応済みであるかを調べたいのですが
上手くいきません。

開発環境は Visual Studio 2005
開発環境OS Windows XP Pro SP3
インストール済みの.NET Framework
・2.0
・2.0 lang
・2.0 SP1
・2.0 SP1 lang

System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion()
にてバージョンの取得を試みたところ、SP1がインストールされている環境下でも取得されるバージョンは「2.0.50727(SP無し)」

教えてエロい人!
601デフォルトの名無しさん:2008/06/09(月) 16:37:39
バージョンの下にビルド番号があるみたい
2.0.50727.832
2.0.50727.1433

エライ人じゃないから、これ以上はわからん
602デフォルトの名無しさん:2008/06/09(月) 22:30:51
ループを使用する場合、変数の宣言はループの外側ですべきですか、
それとも内側でしょうか。

Dim s as String
For i as Integer = 0 to 10
  s = Cstr( i ) & "回目"
  Console.writeline(s)
Next
か、
For i as Integer = 0 to 10
  Dim s as String = Cstr( i ) & "回目"
  Console.writeline(s)
Next
ということです。前者の方が領域の使い回しにはなりそうですが、
どこかでGCの為には毎回宣言すべきというのも見た気がして…
603デフォルトの名無しさん:2008/06/09(月) 22:33:25
Objectdatasource の insert メソッドをコードから呼んだ時は identity の値って取得出来るの?
insertメソッドってint型しか返さないし select メソッドを直後に呼んだら正しい値が返って来るとは限らないような。
604デフォルトの名無しさん:2008/06/10(火) 00:47:59
>>602
stringをGCw
605デフォルトの名無しさん:2008/06/10(火) 05:15:42
>>602
変数のスコープは小さく
606デフォルトの名無しさん:2008/06/10(火) 06:08:16
>>602
前者でも文字列本体の領域が使いまわされるということは全くないから、
安心しろ。どっちも同じようなもんだ。
というわけで、変数の有効範囲が小さい後者がよしとなる。
607デフォルトの名無しさん:2008/06/10(火) 12:22:38
>>601 ありがとう!エロすぎるよ!!!!1111
608デフォルトの名無しさん:2008/06/10(火) 12:27:20
>>601 ありがとう!エロすぎるよ!!!!1111
609デフォルトの名無しさん:2008/06/10(火) 13:29:10
Thread の扱いについて。

 Thread t = new Thread(new ThreadStart(worker));
 t.Start();

 void worker()
 {
  :
 }

などとしてスレッドをスタートさせ、worker が終了するとスレッドも消滅するそうですが、
インスタンス t はどうなるんでしょうか。t はまだ有効で、t.Start() でまたスレッドをスタート
させることができるのでしょうか。

毎回インスタンス作り直してもガベージコレクタが回収してくれるんでしょうけど、
ちょっとこの辺が気にかかってます。
610デフォルトの名無しさん:2008/06/10(火) 13:53:16
まず試してみればいいじゃない
611デフォルトの名無しさん:2008/06/10(火) 15:05:18
>>602
領域云々では全く差はない。
よってスコープを広げるメリットはない。
612デフォルトの名無しさん:2008/06/10(火) 15:06:35
>>609
インスタンスは残ってるけど再起動はできない。
よってほっとくのが吉。
613609:2008/06/10(火) 15:09:56
>>610
そのつもりではいるんですが、今は手が回らないんで、先行して質問してみました。
また、再スタートできたとして、それでよいのか単なる偶然かも気になるところなんですよね。
…て書いてると回答が。

>>612
ありがとうございます。では再起動させる時は作り直すようにします。
どうも Win32 でやってた頃の癖が染みついてて、作ったインスタンス
後始末しないと気持ち悪かったりするんですよね。
614デフォルトの名無しさん:2008/06/11(水) 07:00:35
一つのFormにTabControlを用い、複数のページをタブで切り替えられるようにしています。
各タブにはスピンボタンがいくつかあり、そこに入力された値はpropertybindingで記録しています。
なのですが、起動時に一番初めに表示されるタブのページに、全タブのスピンボタンの値の合算を
表示するようにしているのですが、これが起動時は正しく合算後の値が表示されているのですが
一度でも初期表示のページのスピンボタンを操作すると、合算の値が起動後に一度でも開いたタブのみの
合算値になってしまいます。

ちょっと分かりづらい説明だと思いますが、要は各タブに貼り付けられたスピンボタンのvalueの値が、
一度でもそのタブを開かないとMy.Settingsから書き戻されないようなのです。
どうも、起動した瞬間はvalueに関連づけたMy,Settingsの値が入っているようなのですが
起動→操作可能になるまでの間にvalueの値が0になっているようなのです。(My.Settingsには値が保持されている)
0にするような操作は一切行っていないのですが、propertybindingの値を読み込み保持させるには、どうすればいいのでしょうか?
もう5時間くらいずっと悩んでいるのですが、何をしても全く解決できません。
615デフォルトの名無しさん:2008/06/11(水) 10:08:38
タブコントロールって最初の奴以外は、選択されない限りインスタンスが作られないんでなかったか
回避策としては、タブの親玉のPreInit?だかで一旦非表示にして、全タブを前面に持ってくる
もっとスマートなやり方あるかもだが
616614:2008/06/12(木) 03:30:42
>>615
ちょっと不格好だとは思いますが、Form1_Loadの中で
Me.TabControl1.SelectedTab = TabPage2
Me.TabControl1.SelectedTab = TabPage3
という風に一度全てのタブに切り替えるようにすると、初めから値が入った状態で操作できるようになりました。
ありがとうございました。
617デフォルトの名無しさん:2008/06/25(水) 00:29:39
visualbasic2008ですが、初期状態でPictureBoxに画像Aを表示させておいて、
クリックすると画像Bに数秒だけ切り替えて音声ファイルを再生し、また画像Aに戻るプログラムを作りたいのですが

Dim strm As System.IO.Stream = My.Resources.se01
Dim player As New System.Media.SoundPlayer(strm)

PictureBox1.Image = My.Resources.B
player.Play()
PictureBox1.Image = My.Resources.A

という風に記述すると上手く画像が切り替えできません。
player.Play()の後にsleepを入れてみましたが、どうも画像を切り替える前に音再生の所で処理が止まっているようです。
要は、
ttp://saionji.net/hozon.htm
のフラッシュのような事がしたいのですが、画像を上手く切り替え、かつマウスの連打にも対応させるにはどうすればいいのでしょうか?
618デフォルトの名無しさん:2008/06/25(水) 17:10:26
考え方を切り替えて,ゲームみたいに自分でループ回してフレーム単位でやった方が簡単だよ
もしくはWPF使う
619デフォルトの名無しさん:2008/06/25(水) 20:21:17
DirectX場合、GDI関数のようにGUIスレッドからしか操作できないという制限はあるの?
別に出来るなら自分でループまわすのが一番自然なんだけどな。
620デフォルトの名無しさん:2008/06/30(月) 22:49:53
webサイトを作ろうとやっているわけなんですが、
アップの後に確認してみたところ、どうしても
Parser Error Message: Could not load the assembly 'App_Web_default.aspx.cdcab7d2'. Make sure that it is compiled before accessing the page.
と出てきてしまい
<%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" %>
が悪いと出てくるわけなんですが、どうすればいいのか理解ができない状況です・・・

もし、ここが悪いんじゃね?っていうのがあれば教えていただければ幸いです。
621デフォルトの名無しさん:2008/06/30(月) 23:21:24
ム板にもASP.NETスレはあるから行ってこいよ。
どうせマルチなら何ヶ所しても同じだろ。
622デフォルトの名無しさん:2008/07/04(金) 15:07:13
C++のマネージ配列を強制的に開放することはできないのでしょうか?
623デフォルトの名無しさん:2008/07/04(金) 17:11:11
参照をはずしてあとは祈れ
624デフォルトの名無しさん:2008/07/04(金) 17:23:26
解放を制御したかったらアンマネージドでやれ
625デフォルトの名無しさん:2008/07/10(木) 03:15:04
C++とかで直接書くのではなく、.NETをつかう利点てなに?
626デフォルトの名無しさん:2008/07/10(木) 05:27:56
マイクロソフトは.NETにユーザー押し込めて囲いたいだけだろな
それに乗るか乗らないかだよね
627デフォルトの名無しさん:2008/07/10(木) 11:49:15
C++は文法が難しすぎて
628デフォルトの名無しさん:2008/07/10(木) 12:18:08
C++と.NETの2者選択ってのじゃなくて済み分けてるけどね。
.NETは生産性が高く、実行コストが高い。
C++は生産性が低く、実行コストが低い。
十分テストが出来て広く多数に使ってもらう用途にはC++。
WEBや企業内システムのような用途には.NETが向いてる。
629デフォルトの名無しさん:2008/07/12(土) 01:08:58
array<Byte>の全体にmemset相当のことをしたいんだけど、どうすればいいの?

ループで回して1つずつセットした → かっこ悪い
pin_ptrしてmemsetした → 納得いかん
ForEachした → 大げさ過ぎる
630デフォルトの名無しさん:2008/07/12(土) 02:25:49
>>629
かっこ悪いと一緒なんだが
static class Util {
  public static T [] setAll<T>(this T [] ar, T val) {
    for (int i=0; i<ar.Length; i++) ar[i] = val; return ar;
  }
}

double [] ar = new double[10].setAll(123.45);
631629:2008/07/12(土) 15:36:08
やっぱし、そういう手しかないのね。
0にしたい時だけはClearでいいようだけど。

初期状態を0xffにする時とかがねぇ。
632デフォルトの名無しさん:2008/07/12(土) 18:04:01
System.IO.BinaryReaderで開いたファイルをシークさせるにはどうすればいいのだろう。
素直に考えるとhoge.BaseStream.Seek()なんだろうけど、msdnヘルプ見たら

注意:読み取り中または BinaryReader の使用中に基になるストリームを
使用すると、データの損失や破損の原因になることがあります。
たとえば、同じバイトが 2 回以上読み取られたり、バイトが読み
飛ばされたり、文字の読み取りが予期しない結果になることがあります。

って書いてあるからちょっと不安。
633デフォルトの名無しさん:2008/07/13(日) 07:49:32
>>631
C++でも構造体の初期化にはmemset使うなって流れになってるけど、
配列はどうなんだろ。スレ違ですまそ。
634デフォルトの名無しさん:2008/07/13(日) 11:43:59
>>632
シークが必要になったら、BinaryReaderは破棄して、元になったストリームをシークする。
んで、そのストリームから別のBinaryReaderを作って完了。

FileStream fs( "hogehoge", FileMode::Open);
BinaryReader br1( %fs);

// ここでbr1から好きなだけ読む

fs.Seek( 0, SeekOrigin::Begin);  // 先頭にシーク
BinaryReader br2( %fs);

// ここでbr2から飽きるまで読む
635デフォルトの名無しさん:2008/07/13(日) 11:45:13
NetworkStreamのようにSeekできないのはどうすればいい?
636デフォルトの名無しさん:2008/07/13(日) 11:51:37
メモリなりファイルなり一度どこかに蓄える
637デフォルトの名無しさん:2008/07/13(日) 11:55:10
>>633
C++はプログラマの責任においてできることの範囲が広いわけで、
パフォーマンスや保守性など、各種要因を天秤に掛けて決めるべきかと。

C++/CLIは.NETの制限の中にあるんで、基本的にはmemsetは御法度なんだけど、
せめてArrayにFillメソッドがあってもいいような気もする。
638デフォルトの名無しさん:2008/07/13(日) 22:40:50
>>633
ネイティブC++でも構造体の初期化にmemset非推奨ってーのは、
多分アライメントの関係で下手をすると尻切れになりかねないからだと思われ
例えば合計6バイトの構造体だと、実際のサイズは8バイトになると思うが
この構造体を配列にして初期化しようとすると、sizeofの実装によってはズレが生じかねない
ましてや.NETだと間に何が挟まってるか知れたもんじゃない
スレチだからこの辺で
639デフォルトの名無しさん:2008/07/13(日) 23:11:10
「思われ」みたいなヲタク口調の奴って気持ち悪いな。
なんだよ「思われ」って。
想い想われかw
640デフォルトの名無しさん:2008/07/14(月) 01:11:15
と、何にでも噛み付く狂犬がキャンキャン吠えてます
641デフォルトの名無しさん:2008/07/14(月) 13:28:50
C言語の"%5d"に相当するToStringのフォーマット指定はなんて書くざますか?
"%05d"相当にしかならんのですが。
642デフォルトの名無しさん:2008/07/14(月) 14:03:06
.PadLeft(5) つなぐとか
643デフォルトの名無しさん:2008/07/14(月) 14:05:40
ググったらわかりました。
ToStringじゃできないのでString.Formatを使うらしい。
つか、MSDN分かりにくすぎだろ。
644デフォルトの名無しさん:2008/07/14(月) 21:14:15
>MSDN分かりにくすぎだろ。
そういう感想の人もいるんだな。
いや別に煽ってる訳じゃなないし、たぶん俺が麻痺しちゃってるんだと思うけど
すくなくとも書式指定に関してはそういう不満は覚えなかったな。

だいたい>>641みたいな需要って(DOSの時代ならともかく)いまどきあまり
ない気がするよ。
645デフォルトの名無しさん:2008/07/15(火) 06:22:12
WriteLineやStringFormatで使える書式
位置 ( , 桁数 ) : フォーマット
ToStringで使えるのはファーマットの部分だけ
漢字等の幅広文字も1文字で数えるから総桁数はあんまり使わないよね。
646デフォルトの名無しさん:2008/07/15(火) 09:44:50
ToString().PadLeft(5) は無視か。
647デフォルトの名無しさん:2008/07/15(火) 19:46:28
他に手がないならともかく、さすがにそれはなぁ。
648デフォルトの名無しさん:2008/07/20(日) 21:43:53
すいません質問です。
StringのReplaceを大文字小文字を無視してすべて置換する方法はありませんかね?
649デフォルトの名無しさん:2008/07/20(日) 22:02:03
ない
650デフォルトの名無しさん:2008/07/21(月) 20:11:57
ないな…あってもいいと思ったんだが。
手抜くなら、Regex.Replace関連で代用かな…
651デフォルトの名無しさん:2008/07/22(火) 23:34:14
セットアップウィザードを使ってインストーラーを作成しています。
ReadMe.txtのショートカットをプログラムメニューに配置したいのですが、アイコン関係がよく判りません。

手順としては、
アプリケーションフォルダにReadMe.txtを追加する。
ReadMe.txtのショートカットを作成する。
このショートカットをユーザーのプログラムメニューに配置する。
(プロパティはいじっていません。)


実際にインストールしてみると、問題なくReadMe.txtは表示されるのですが、アイコンが、%APPDATA%\Microsoft\Installer
\xxx.exeにあるアイコンが表示されます。

他のプログラムメニューに登録されているReadMeのように、txtファイルに関連付けられたアプリケーションの
アイコンが表示させたいのですが、どこをいじればよろしいでしょうか?
よろしくお願いします。



652デフォルトの名無しさん:2008/07/23(水) 15:10:07
Microsoft.Office.Tools.ExcelとMicrosoft.Office.Interop.Excelの違いがよくわかりません。
それを知りたいのと、
単純にCUIでExcelファイル(.xls)を読み込んでバイナリデータにコンバートしたい場合、

どちらを使えばいいのでしょうか?
653デフォルトの名無しさん:2008/07/26(土) 17:55:38
Visual Basic 2008 Express Editionをインストールして
新しくプロジェクトを作成してみると、以前までコードが自動生成されていたのが
生成されなくなってしまいました。

ex)
Public Class Form1

End Class

のような感じでしか出力されていない状態です。
何か設定を弄らないといけないのでしょうか?
654デフォルトの名無しさん:2008/07/26(土) 18:41:07
>>653
今頃それに気づくということは以前というのはVS2002とか2003なのか?
プロジェクトのすべてのファイルを表示でForm1.Designer.vbが表示されるからそこにいろいろ入ってる。

Sub Newを書かないときにInitializeComponent()を誰が呼んでるのだという問題だったらまた話が違う。
655デフォルトの名無しさん:2008/07/26(土) 21:21:10
>>654
以前に使用していたのは2005です。

問題の解決ができまして
原因は私の勘違いでボタンオブジェクト作成⇒自動挿入と思っていました。
ボタンオブジェクトでダブルクリックしないといけなかったという…
お答えくださりありがとうございました。
656デフォルトの名無しさん:2008/08/09(土) 15:06:32
質問です。
フォルダAppの中にBase.dllとModA.dllが存在しています。
このフォルダのdllはすべてVB.NET(1.1)で書かれており、
Base.dllの中には継承フォームの親クラスなど、
ModA.dllの中にはBase.dllを利用(参照)して作った実際の画面クラスなどがあります。

Base.dllは頻繁に更新されており、
ModA.dllの参照に設定されているバージョン番号よりもかなり新しい状態です。

現状、この内部だけの動作なら問題なく動いています。

現在、新しいWindowsアプリを作成中で、
C#で作ったアプリからModA.dll内の画面クラスを
System.Reflectionを使用して動的に呼び出したいのですが、
Base.dllを継承したフォームを呼び出そうとした瞬間に
「Base.dllが見つかりません。」というExceptionを投げられてしまいます。

・Base.dllとModA.dllは必ず同じAppフォルダに入っている
・Appフォルダそのものの位置は移動可能
・新アプリでは、Appフォルダの位置をユーザーに指定させる
・新アプリの位置も移動できる方が望ましい。

という条件で、上記のExceptionが出ないようにすることは可能でしょうか?
助言をお願い致します。
657デフォルトの名無しさん:2008/08/09(土) 19:36:19
>>656
いろいろ書いてる割には見事にポイントをはずして要領を得ないね。
とりあえず言えることは、「出来るはず、やり方が悪い」
658656:2008/08/09(土) 20:31:55
>>657
では、正しいやり方を教えてください。
659デフォルトの名無しさん:2008/08/09(土) 20:53:21
それは657にエスパーであれっていってるのと同義だと思うけど
660デフォルトの名無しさん:2008/08/09(土) 20:57:54
C#が1.1なのか他のバージョンなのか。
リフェレクションはAssembly.LoadFromを使っているのかそれとも別の方法か?
リフェレクションで読み込んで呼び出している部分のソースをさらす。
VBで同じ手法のリフレクションを使って実現できているのか。
「Base.dllが見つかりません。」じゃなくてスタックトレースを出せ。
E伊東さんとお知り合いか?

とりあえず、このくらいは書いとけよ。
661デフォルトの名無しさん:2008/08/09(土) 22:44:55
リフェレクションえろいな
662デフォルトの名無しさん:2008/08/09(土) 22:47:14
>>656
無理。
依存してるライブラリが更新されたらコンパイルしなおす必要がある。
さもなくば、動的にクラスを構成しないといかん。
663デフォルトの名無しさん:2008/08/09(土) 23:16:46
厳密名を使ってるなら話は別だがPublicKeyToken=nullのときはVersionのチェックはない。
664デフォルトの名無しさん:2008/08/10(日) 20:55:34
LoadFromが原因だろう。
厳密名とかの話じゃない。

LoadFromで読んだ場合、自動的に同じフォルダのBase.dllを
読んだりはしてくれない。
AssemblyResolveなどで自分でハンドリングして読み込むか、
事前にBase.dllもLoadFromで読んでおくことはできる。

でも、アプリのフォルダを自由に指定とかなってくると、
たぶんどっかでトラぶってにっちもさっちも行かなくなると思うぞ…
665デフォルトの名無しさん:2008/08/11(月) 19:50:24
フォーム1で使っている変数(数字の1〜100)を
フォーム2にとばして使いたいのですが、どうすればいいのかわかりません。

自分で調べた所、プロパティを設定すればいいとのことでした。
ttp://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard47.htm

ここを参考にして色々とやってみたのですが、
どうもうまく実際に使っているXの値を別のフォームに送れません。

どうか、ヒントをください。
666デフォルトの名無しさん:2008/08/11(月) 20:13:58
[ヒント]
プログラミングに王道なし。

いやまじめな話、そのレベルから掲示板で解説しろってそりゃ無理あるぞ。
667656:2008/08/11(月) 22:59:52
>>660
C#は1.1です。
try
{
 Assembly a;
 a = Assembly.LoadFile("C:\App\ModA.dll");
 foreach(Type type in a.GetTypes())
 {
  if(type == typeof(インターフェース))
  {
   return true;
  }
 }
}
catch(Exception e)
{
 MessageBox.Show("エラー発生");
}

ソースはこんな感じです。スタックトレースってのはよく分かりません。
ごめんなさい。

>>664
Base.dllを先に読み込めばいいんですね。
明日試してみます。
668デフォルトの名無しさん:2008/08/11(月) 23:05:34
ってしかもLoadFileじゃねーかよ
669デフォルトの名無しさん:2008/08/11(月) 23:28:49
>a = Assembly.LoadFile("C:\App\ModA.dll");

もしかして〜
a = Assembly.LoadFile(@"C:\App\ModA.dll"); 
とか
a = Assembly.LoadFile("C:\\App\\ModA.dll"); 
で直ったりして
670デフォルトの名無しさん:2008/08/11(月) 23:44:47
まさかね
まあBase〜っていってるから違うと思うけど。

しかしなー、LoadFromやLoadFile系はトラブるんだよなー
できればフォルダを自由に指定ってのはやめた方が無難だけどなー
671デフォルトの名無しさん:2008/08/11(月) 23:50:07
LoadFileはいろいろ制限が多いし、
LoadFromは署名がないと相対パスしかダメなんだっけ。
やっぱ構成ファイルを書きまくるとか。
672デフォルトの名無しさん:2008/08/12(火) 00:25:37
MSDNから
>LoadFile は、LoadFrom メソッドとは異なり、ファイルを LoadFrom コンテキスト内には読み込みません。
>また、読み込みパスを使用して依存関係を解決することもできません。

ModA.dllのあるディレクトリから依存のあるBase.dllを探してくれない
673656:2008/08/12(火) 00:41:21
>>669
書き込みミスです。@付きになってます。すみません。


LoadFromにすれば直るのでしょうか?
>>664の先に読み込むというのが気になるので、
それをまず試してみようと思います。

どちらにしても今すぐ確認はできませんので、
確認し次第再度書き込みます。

いろいろ助言をありがとうございます。
674デフォルトの名無しさん:2008/08/12(火) 00:45:38
>>664はLoadFileの制限ぽい感じだな
675デフォルトの名無しさん:2008/08/12(火) 00:53:41
C#でアプリ作ってるのですが、.NET Framework入ってない環境で起動した場合、
強制終了になる前に任意のメッセージ出して終了するにはどうすればよいでしょうか?
676デフォルトの名無しさん:2008/08/12(火) 08:07:28
環境を調べるネイティブアプリ作って、入って無ければエラー出して終了、
入っていればC#アプリを起動するとか。
677デフォルトの名無しさん:2008/08/12(火) 13:27:53
>>676
そのつもりでDOSスタブみたいな形で埋め込めればいいなぁと
あれこれ模索してたりしてたんですが、やっぱ分けるしかないでしょうか。
678デフォルトの名無しさん:2008/08/12(火) 14:33:44
>>677
先頭のほうにmscoree.dll::_CorExeMainを呼ぶjmp命令があるから、
その飛び先を変えてやればいいと思う。

ちなみに、XP以降のWindowsローダーはマネージドアセンブリを読み込んだ場合、
このネイティブなスタブコードを実行せずに、_CorExeMainから直接実行し始める。
679678:2008/08/12(火) 15:15:17
何が言いたいのかよく分からない文章になってたけど、
要するにXP,Vistaあたりでは必要なバージョンのランタイムがないときに、
実行前に任意のメッセージを出すことはできない言うことです。

スタブコードを書き換えるのはやったことがないけど、そこに感染するウイルスがいくつかあるんで、
もしかしたらアンチウィルスソフトウェアに文句言われる可能性はあるかもしれないですね。
680656:2008/08/13(水) 00:01:05
LoadFromを使用して、先にBase.dllを読み込んでおけば
無事動くようになりました。

新たな問題はいくつか出てくるようになりましたが、
今のところ少しずつ解決していけてるので大丈夫だと思います。

丁寧な回答ありがとうございました。
681DD:2008/08/20(水) 13:29:19
ASP.NET2.0のGridViewで質問があります。使用言語はC#です。
1つの画面に以下のコントロールがあります。
・TextBox (TextBox1)
・Button (Button1)
・GridView (GridView1)
・SqlDataSource (SqlDataSource1)
TextBox1に検索する主キーの値を入れ、Button1をクリックすると、
その主キーの行の背景色を変更する、といったことをやりたいと思っています。
GridView1のSelectedRowStyleのBackColorに適当な色を指定して
DataBoundイベントでGridView1.DataKeys[i].Valueをループで検索。
見つかったらGridView1.SelectedIndex = iとすることで
ほぼやりたいことは実現できています。

この状態でGridView1のAllowPagingをTrueに設定し、
Button1クリック時に、検索してヒットした行のあるページに
自動的に切り替えるにはどのようにすればよいのでしょうか?
現状のコードでは、現在のGridView1のページしか検索出来ないためうまく出来ません。
どなたかご教授願えないでしょうか?
682デフォルトの名無しさん:2008/08/22(金) 14:15:56
>>681
PageIndexで表示したいページを設定できる
683デフォルトの名無しさん:2008/08/23(土) 09:19:12
VC# 2005とWindows Forms(.Net Framework 2.0)でOfficeライクにお絵かきできるコントロールを探しています。

実はVisioのDrawing Control(ActiveXベース)がやりたいことを網羅しているのですが、
アプリケーションを動作させる全ての端末にVisioを入れなければいけないので
泣く泣くあきらめました。
http://www.c-sharpcorner.com/UploadFile/mgold/VisioInDotNet12032006222024PM/VisioInDotNet.aspx

実行環境が無料で何か良いコントロールをご存知の方は
お教え頂けますでしょうか。よろしくお願いします。
684デフォルトの名無しさん:2008/08/23(土) 22:54:37
VC++2005EEとForm(.NET2.0)で作ったアプリを配布したいのですが
どのような配布形式が一般的でしょうか?
VS.net2003bootstrapper plug-inのようなものがあれば使いたいです。
685デフォルトの名無しさん:2008/08/24(日) 02:37:40
.NET2.0はかなり普及してるし、そのままでも良いとは思う。

必要ならこの辺を参考に
ttp://dobon.net/vb/dotnet/deployment/dotnetbootstrap.html
686DD:2008/08/25(月) 18:12:57
>>682
PageIndexで表示したいページを設定できることは分かっております。
問題なのは、DataBoundイベントでGridView1.DataKeys[i].Valueをループで検索した場合、
現在のPageIndex内のデータしか検索できないのです。
やりたいのは、全てのページを検索し、ヒットしたらそのページを表示することです。
DataBoundイベントではなく、何か別のイベントで検索する必要が
あるのではないかと思うのですが、
そのイベントが何なのかが分かりません。
どのようにしたら良いのでしょうか?
687デフォルトの名無しさん:2008/08/25(月) 22:01:53
GridViewではなく、DataSource自体をぐるぐる回って調べていくとか。
泥臭いかw
688DD:2008/08/27(水) 13:39:15
>>687
例えばDataSource自体をぐるぐる回って調べるとしたら、
どのイベントを捕まえればよいんでしょう?
実はそれをやろうとしてみたんですが、どのイベントで処理すればよいのか
分からなくて・・・。
689デフォルトの名無しさん:2008/08/27(水) 23:57:48
一端DataViewに取って、後はそれ使えば?
常識的に考えて並びは一緒だから、現在のページ×1ページあたりの行数+indexで行けるハズ
690デフォルトの名無しさん:2008/08/28(木) 10:34:42
>>687
泥臭いも何もそれが正しいやり方だと思うんだが。
>>688
イベントって、Button1のクリック以外に何があるん?
GridViewのDataSourceにセットしたものがDataTableオブジェクトだった場合、
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowIndex = -1 Then Return
If e.Row.Cells(1).Text.Contains(Me.TextBox1.Text) Then
' 検索ワードが入っている行の背景を緑に
e.Row.BackColor = Drawing.Color.LightGreen
End If
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim rIndex As Integer
Dim tbl As DataTable = CType(Me.GridView1.DataSource, DataTable)
For rIndex = 0 To tbl.Rows.Count - 1
If tbl.Rows(rIndex)(1).ToString().Contains(Me.TextBox1.Text) Then
' 検索ワードが見つかったらループから抜ける
Exit For
End If
Next
' ページインデックスを算出
Dim pIndex As Integer = rIndex \ Me.GridView1.PageSize
' GridViewに算出したページインデックスをセット
Me.GridView1.PageIndex = pIndex
' 適応実行
Me.DataBind()
End Sub
691DD:2008/08/28(木) 18:27:18
>>689
一端DataViewに取る、その方法が分からないんです(T_T)
そこのところ、ご教授願えないでしょうか。

>>690
Dim tbl As DataTable = CType(Me.GridView1.DataSource, DataTable)
とありますが、当方C#なもので、よく意味が分かりません(^^ゞ
C#で書くと
DataTable tbl = (DataTable)GridView1.DataSource;
なのかな、と思って試してみましたが、GridView1.DataSourceがNULLでうまくいきませんでした。
692DD:2008/08/28(木) 18:42:28
>>689
>>690
おかげさまで解決いたしました!
以下のコードでDataTableに取り出すことが出来ました。
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
DataTable table = dv.Table;
丁寧な解説、どうもありがとうございました。
693デフォルトの名無しさん:2008/09/01(月) 20:47:23
C#で作ったプログラムからExcelを操作するプログラムを作りたいのですが、
Excelを操作する方法についてインターネットで調べてみると
どうやらExcelのバージョンによって参照設定するCOMってやつのバージョンが違うみたいです。

今作ってるプログラムをそのまま実家にメールで送って使ってもらう予定なのですが、
COMのバージョンが違うと正しく動かない可能性もあるのでしょうか?

使う予定の機能はExcelを読み込んで決まった位置に値を書き込むぐらいなんですが、
不具合を起こしにくいコツなどがあれば教えてください。
694デフォルトの名無しさん:2008/09/01(月) 21:33:36
> 不具合を起こしにくいコツ
.NETでOfficeのCOMを利用しないというのが一番の対策じゃないかw
xlsファイルなどを直接操作できるライブラリを使うのがお勧め
695デフォルトの名無しさん:2008/09/01(月) 21:40:40
>>694
すみません、できれば.NETを使用することを前提にお願いします。
COMって、自分で作ったdllみたいにReflectionで動的に探してきたりはできないんでしょうか?
696デフォルトの名無しさん:2008/09/01(月) 22:17:30
それはできる。
でもメンバアクセスまで全部リフレクションでやる羽目になる。

悪いことは言わないからせめてVB.NETにしとけ。
697デフォルトの名無しさん:2008/09/01(月) 22:59:19
>>696
ありがとうございます。
とりあえずGoogleってた結果、
Type.GetTypeFromProgID()というのを見つけたので実装はできそうです。

VBを1から勉強するかは後で考えるとして、
COMを動的参照するときって、普通はどういうクラスのどういうメソッドで参照先dllを探すのですか?

今までは自分で作ったdllを動的参照することしかしたことがなかった上、
インターフェースは静的に参照してそれを実装したクラスをReflectionで見に行く
ってことしかしたことがないので、COMの一般的な探し方を教えてくれませんか?

名前はともかくとして、COMのdllがある場所ってどうやって調べるんですか?
698デフォルトの名無しさん:2008/09/01(月) 23:11:05
>>697
レジストリ(HKCR)を探せば見つかるが、プログラミング目的では普通やらない。
みんなProgIDとかClsIDとかで識別するから。

それに、DLLなら直接読み込んでオブジェクトを作ることも可能だが、
EXEに実装されているとどの道COMのAPIを介さないといけない。
699デフォルトの名無しさん:2008/09/02(火) 00:19:01
>Type.GetTypeFromProgID()
を使うんだからおかしなことを考える必要はない。

問題は、インターフェイスを参照できないから、
メソッド呼び出しとかまですべてリフレクションでやらなきゃならないこと。
700DD:2008/09/02(火) 11:03:35
>>697
とりあえず、VC#2005なら、ソリューションエクスプローラーの参照設定右クリックから
参照の追加。
COMタブを選択して、Microsoft Excel XX.X Object Library を選択して
OKボタンクリック。
これで一応使える。
COMオブジェクトは最後に必ず開放。こんな感じでどうでしょう。

/// <summary>
/// COM オブジェクトの参照カウントを解放する
/// </summary>
/// <param name="comobj">COMオブジェクト</param>
private void ReleaseComObject(Object comobj)
{
    // COMオブジェクトだったら
    if (comobj != null && System.Runtime.InteropServices.Marshal.IsComObject(comobj))
    {
        try
        {
            System.Runtime.InteropServices.Marshal.ReleaseComObject(comobj);
        }
        catch { }
        finally
        {
            comobj = null;
        }
    }
}

701デフォルトの名無しさん:2008/09/02(火) 12:14:10
>>700
それだと複数バージョンのExcelに対応できないだろ>>693読め。
702DD:2008/09/02(火) 13:11:52
>>701
あ、その通りですね(^^ゞ
以前Excelを扱った時はSpreadsheetGearを使ったので
COMを使った操作は良く分からないです。。。
サードパーティのライブラリを使用したくないとのことですので
これは使えませんね。
お役に立てずm(__)m
703デフォルトの名無しさん:2008/09/02(火) 15:25:27
> comobj = null
意味ないじゃんw
704DD:2008/09/02(火) 15:26:49
>>703
ですね(^^ゞ
はった後私もそう思いました。
705デフォルトの名無しさん:2008/09/02(火) 19:07:53
>>701
バイナリになってしまえば問題ないんだよ。
「複数バージョンのExcelに対応できない」のはあくまで開発環境のみ。

一部バージョンが違うと例外が発生するメソッドがあったりするけど、
そこだけ個別に対応すれば問題ない。
706697:2008/09/02(火) 21:11:51
いろいろなご解答ありがとうございます。

今回は複雑なエクセル操作をするわけではないので、
すべてリフレクションでやるクラスを作って、それを使いまわそうと思います。
ありがとうございました。
707デフォルトの名無しさん:2008/09/02(火) 21:33:39
VBでクラスライブラリ作った方が簡単だと思うけどな。
708デフォルトの名無しさん:2008/09/02(火) 23:26:51
>>705
え?まじで?
うっそーん?
709デフォルトの名無しさん:2008/09/04(木) 20:20:35
VBAではセルの文字列の色をCellsのCharactersで調べられるのですが
.NETではどうればいいのでしょうか?

msdnにはRangeにCharactersがあるのですが
書いてみると定義がありませんと
エラーがでます。
using Excel = Microsoft.Office.Interop.Excel;

var xls = new Excel.Application();
var book = xls.Workbooks.Open(略
var rng = (Excel.Range)book.sheet.Cells[1, 1];

こんな感じでRangeクラスを取得してます。
ちなみにVS2008SP1を使っています。
710DD:2008/09/08(月) 10:36:38
>>709
rng.Font.Color
で取得できるのでは?
711709:2008/09/08(月) 19:52:53
>>710
すいません、質問の内容を微妙に間違えてました。
取得したいのは文字列のn番目の文字の色なんです。
Characters(4, 1).Font.ColorIndex
と書くとVBAでは4文字目の色の取得や設定が
出来るんです。

それだと多分セルに設定された文字列の色になるんですかね?
712デフォルトの名無しさん:2008/09/08(月) 21:09:12
net導入するときはVB6を残したままでもいいですか?
713DD:2008/09/09(火) 11:55:55
現在Visual Studio 2005 C#で以下のようなことを実現したいと考えております。
DropDownList(値にはIDが入っている)で選択した項目に一致するレコードをGridViewに表示する。
DropDownListにはALLという項目があり、これを選択すると
すべてのレコードを表示する。
このようなことをやりたいのですが、どうやったらいいのか分かりません。
現状ではALLを静的に追加しており、その値は0となっています。
また、GridViewのデータソースにSqlDataSourceを割り当て、
SqlDataSourceのSelectParameter(ID)にDropDownListの
SelectedValueを設定し、ALL以外の項目を選択した場合は
正常に動作しています。
どなたかご教授ください。
714DD:2008/09/09(火) 12:06:29
自己解決しました。
http://bunise.seesaa.net/article/91995844.html
このページを参考にしてやってみてはいたのですが、なかなかうまくいかず
質問させていただきました。
結局は、SqlDatasourceのCanselSelectOnNullParameterをFalseにするのを
忘れていただけでした(^^ゞ
お騒がせいたしました。
715デフォルトの名無しさん:2008/09/09(火) 23:36:55
.NET2005環境を利用しています。

Private Sub ShowMsgBox(ByVal PromptText As String, Optional ByVal Type As Integer = 0, _
Optional ByVal Title As String = "")
に対して、配列CmdArgsの1番目(0番目ではない)〜3番目の要素を
引数として渡したいのですが、2番目・3番目の要素は省略される可能性があります。

呼び出しについて例としてPerlで書くと、「$ShowMsgBox(CmdArgs[1..$#CmdArgs]);」のように
不定要素数の配列をインデックス1から最後まで指定して投げることが出来ますが、
VBではどのような形で呼び出せばいいでしょうか。

要素数を判別して、条件毎に呼びだし方を変更するしかないでしょうか。
716デフォルトの名無しさん:2008/09/09(火) 23:58:56
>>715
ShowMsgBox(ParamArray args as Object())でも多重定義しとくとか。
まあどのみちその中で要素数を調べてToStringして別のシグネチャのShowMsgBoxを
呼び出すコードを書くわけで、同じといえば同じかもしれないけど。

っていうか趣味の問題かもしれんがOptionalは使わない方がいいんじゃないか?
717715:2008/09/10(水) 00:20:30
>>716
なるほど、即レスありがとうございます。

要素数判定で呼び出し方を返る、という形で書いてみましたが
かなり冗長な呼び出し方になってしまい、本末転倒な感じがしてきました。

If CmdArgs.Length > 3 Then
ShowMsgBox(CmdArgs(1), CmdArgs(2), CmdArgs(3))
ElseIf CmdArgs.Length > 2 Then
ShowMsgBox(CmdArgs(1), CmdArgs(2))
Else '←必ず0、1番目の要素は定義されている
ShowMsgBox(CmdArgs(1))
End If

ShowMsgBox側で配列としてまとめて受け取ってから、
処理した方が良さそうですね・・・。

>Optionalは使わない方がいいんじゃないか?
C感覚で勉強中だったので、多重定義が可能なことを忘れていました。
もう少し勉強してみます(`・ω・´)
718デフォルトの名無しさん:2008/09/10(水) 01:26:13
ドレミファソラシドの周波数を算出するため、十二平均率
http://ja.wikipedia.org/wiki/%E5%B9%B3%E5%9D%87%E5%BE%8B#.E5.8D.81.E4.BA.8C.E5.B9.B3.E5.9D.87.E5.BE.8B
の周波数比を計算させたいのですが、ExcelのPOWER関数のような累乗根計算の方法はありませんか?
719デフォルトの名無しさん:2008/09/10(水) 01:36:09
Math.Pow
720デフォルトの名無しさん:2008/09/10(水) 02:17:05
>>719は累乗と累乗根の違いすら分かってないから参考にしないように。
721デフォルトの名無しさん:2008/09/10(水) 03:17:17
ニヤニヤ
722デフォルトの名無しさん:2008/09/10(水) 08:55:11
Math.Pow( >>720, 1.0/12.0);
723デフォルトの名無しさん:2008/09/10(水) 11:37:07
>>720
やる夫
724718:2008/09/10(水) 12:12:07
>>719,722
ありがとうございます!
以下のようにしたら十二平均律の周波数を算出できました。

Dim i As Integer, fr(12) As Double
For i = 0 To 12
    fr(i) = Math.Pow(Math.Pow(2, i), 1.0 / 12.0)
Next
725722:2008/09/10(水) 12:35:12
>>724
素直に
Math.Pow( 2.0 , i / 12.0)
と書くべし
726デフォルトの名無しさん:2008/09/10(水) 12:49:08
ワロタ
727デフォルトの名無しさん:2008/09/10(水) 12:53:46
素直なのは>>724なんじゃない?
整理したら>>725だけどさ

x  _
 √a  = a^(1/x)

であるから、

x  __
 √a^b = (a^b)^(1/x)

となり、十二平均律では、x = 12, a = 2, b = (1から12)となるので、

12 __
 √2^b = (2^b)^(1/12)

bをiとして、

2^i = Math.Pow(2,i)

これにより、

Math.Pow(Math.Pow(2, i), 1.0 / 12.0)
728デフォルトの名無しさん:2008/09/10(水) 13:02:47
意味が分からずに言われたとおりに簡略化して書いてる奴って職場だとホント困るんだよな・・・。
729デフォルトの名無しさん:2008/09/10(水) 13:04:56
中学数学でしょ
730722:2008/09/10(水) 13:09:00
主観入ってたわ。
頭の中で
x  __
 √a^b = a^(b/x)
になってた。

というわけで、>>725を訂正して、
Math.Pow()を2回呼ぶより、整理して1回にしたほうが良いと思う。
分かりにくかったら無視してくれ。
731デフォルトの名無しさん:2008/09/10(水) 13:15:30
Math.Powは見るからに処理長そうだしねえ
慣れるまでは理解するまでベタ書きが無難だが
慣れたら呼び出す回数を減らすことを勧めたい
732デフォルトの名無しさん:2008/09/10(水) 13:44:50
問題にはならないだろうけど、一応精度の問題もある
733デフォルトの名無しさん:2008/09/10(水) 17:19:53
ここぞとばかりにOOoのMath使ってみたんだけど
ほんとハナクソだな・・・('A`)モウツカワネ

http://www1.axfc.net/uploader/Img/l/2296233703/Img_20227.gif
734デフォルトの名無しさん:2008/09/10(水) 17:30:52
404 Not Found
735デフォルトの名無しさん:2008/09/10(水) 17:32:29
すまん、リファラ読んでるっぽいな。
http://www1.axfc.net/uploader/Img/so/20227
736デフォルトの名無しさん:2008/09/10(水) 20:34:53
>>727
発想が逆立ちしてるよw
数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。

12音階というのは2(1オクターブ)を対数軸上で12等分したもの、
というのが全ての出発点で12乗根√2っていうのはそこから導出した値に過ぎないんだよ。

対数軸(y = log(x))上の等差数列はxの世界では等比数列になる、って考えてもいいけど
普通は直感的に基準となる音からn番目の音の周波数は2の(n/12)乗倍だってわかるだろ。
737デフォルトの名無しさん:2008/09/11(木) 16:35:43
すみませんが、質問です。

Googleなどの検索エンジンで .NET の情報を効率よく集めるには、どのような
検索語にすればよいでしょうか?

ただ入力すると、.netというドメイン名にばかりヒットしてしまいます。
738デフォルトの名無しさん:2008/09/11(木) 16:40:29
>>736
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
739デフォルトの名無しさん:2008/09/11(木) 16:43:02
検索エンジンの使い方までサポートする幅広いスレだな

せめてVBで検索しろ
740デフォルトの名無しさん:2008/09/11(木) 16:53:14
>>739
ありがとうございます。C#で検索することにしました。
.NETは別にC#だけではないのですが、関係ないページばかり見つかるよりマシです。
741デフォルトの名無しさん:2008/09/11(木) 16:55:30
いやVisualStudioだろ
742デフォルトの名無しさん:2008/09/11(木) 17:14:38
VisualStudio は .NET だけじゃないんじゃ?
743デフォルトの名無しさん:2008/09/11(木) 17:23:41
だから.NETと組み合わせるんじゃ?
でもVisualStudioじゃ取りこぼし多そうだがなあ
744デフォルトの名無しさん:2008/09/11(木) 17:40:51
うん、組み合わせのつもりで言ったぞ
VisualStudio .NET 2005 +言語名なら確実だろう
745デフォルトの名無しさん:2008/09/11(木) 17:45:11
マイクロソフトは一般名詞を商標にして
いつの間にか自社製品を示す言葉にするのが得意だからな。
746デフォルトの名無しさん:2008/09/11(木) 17:54:08
そうだね。あれは本当に迷惑。
昔の話だけど .doc という拡張子は元々テキストファイルのものだったのに、
勝手に MS Word のものにされた。
Word という名前といい、いまだに腹が立つ。
747デフォルトの名無しさん:2008/09/11(木) 17:56:00
それはそれとして、ノイズが混じらなくて、取りこぼしをなるべく少なくする
には、どんな検索語がいいかな。
VisualStudioは、ちょと取りこぼし多そう。
748デフォルトの名無しさん:2008/09/11(木) 18:14:16
そろそろスレチじゃね
.NET資料の探し方とは言え、googleの検索仕様に左右される話題だし
749デフォルトの名無しさん:2008/09/11(木) 18:31:12
正規表現を使うって発想がないWindowsの天下で
わざわざ正規表現を実装する検索サイトはないよな

あったら凄まじく便利なんだが
750デフォルトの名無しさん:2008/09/11(木) 18:34:42
有るわけがない。
文化の問題ではない。
751デフォルトの名無しさん:2008/09/11(木) 18:59:48
ここで正規表現が使える奴が居るかも怪しい
752デフォルトの名無しさん:2008/09/11(木) 19:45:57
.NETにも正規表現クラスあるけどちょっと使い方がまどろっこしい
753デフォルトの名無しさん:2008/09/11(木) 23:27:37
正規表現は一種のツールだからな。
プログラミングサイドで実装されてても、
OS側が環境として提供してくれないと・・・
754デフォルトの名無しさん:2008/09/11(木) 23:44:32
>>746
外国だとテキストファイルに.docはマイナーだったって聞いている。
わざわざかぶること前提で.docに決めたわけなかろう。
755デフォルトの名無しさん:2008/09/12(金) 00:04:36
少なくとも.NETはトップレベルドメイン.netとかぶること前提だけどな
756デフォルトの名無しさん:2008/09/12(金) 09:57:40
しかし readme.doc は国内外を問わず添付されてた気が
757デフォルトの名無しさん:2008/09/12(金) 10:03:53
拡張子の制約で使い勝手を縛るのはWindowsとhttpのMIMEtypeだけだよ。
758デフォルトの名無しさん:2008/09/12(金) 10:26:40
知ったようなことを言う
759デフォルトの名無しさん:2008/09/12(金) 11:59:51
反論すら成立してない
760デフォルトの名無しさん:2008/09/12(金) 19:55:34
そういやマックのファイルっていまだにマックバイナリ付いてるの?
761デフォルトの名無しさん:2008/09/13(土) 09:07:27
ビジュアルベーシック.NETでOSは作れますか???
762デフォルトの名無しさん:2008/09/13(土) 09:09:50
>>761
少なくともバカは治せない
763デフォルトの名無しさん:2008/09/14(日) 03:50:40
>>760
マックバイナリが何なのか理解してないね
764デフォルトの名無しさん:2008/09/14(日) 12:43:56
>>763
意味が分からない。
どうせ絡むならはぐらかしたような言い方せずに全部言えよ。
「何なのか理解していない」のが君の方でなければなw
765デフォルトの名無しさん:2008/09/14(日) 12:51:38
調べればいいだろ
「いまだに」とかつける勘違い名人には教えません
766デフォルトの名無しさん:2008/09/14(日) 13:04:24
>>765
一般的事実なら調べれば分かるかもしれないが、
馬鹿なお前さんの独善的「思い込み」の意味をどう調べろって言うのかね。

本当、最近こういうセカイ系的メンタルの奴が多くて困る。
767デフォルトの名無しさん:2008/09/14(日) 13:08:06
というか、何も具体的なこと言えないから最初から人に絡むなよ。
768デフォルトの名無しさん:2008/09/14(日) 23:24:20
C++スレで自分では答えられないザコから誘導されてきました


VC++ 2005 Express
自分のアプリから、別のアプリが起動してるかどうか見たい



207 名前:デフォルトの名無しさん[] 投稿日:2008/09/14(日) 20:48:40
iniファイルは釣りでした。
起動してるプロセス(リスト)の取得教えて

210 名前:デフォルトの名無しさん[sage] 投稿日:2008/09/14(日) 21:59:34
くだすれ.NET逝け
769デフォルトの名無しさん:2008/09/15(月) 03:05:51
うん。見れば
770デフォルトの名無しさん:2008/09/15(月) 04:23:42
>C++スレで
やっぱりC++/CLIとC++の区別が付いてなかったのか、VIPに逝け
771デフォルトの名無しさん:2008/09/15(月) 19:45:31
質問です。
WINDOWS XP使用で、コンパイラはBorlandC++compiler5.5です。
インストールしたあとパスの設定で、
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\GTK\2.0
とあったところに\bin;c:\Borland\Bcc55\binと付けました。
なのに、実際コマンドラインでメモ帳を開こうと>C:\WINDWS\NOTEPAD.EXEと打ち込んでも、
指定されたパスは見付かりませんとでます。(NOTEPAD.EXEはCディスクの中のWINDWSに入れてあります。)
他にもカレントディレクトリを変えようとして、>cd ○○と打っても、
確かにあるはずなのに指定された(ryになってしまいます。
誰か助け手ください(涙)
772771:2008/09/15(月) 20:08:40
スレ違いのようでしたので、他に聞いて見ます。
すみませんでした。
773デフォルトの名無しさん:2008/09/16(火) 22:58:28
質問ですお願いします。

C#でUDP通信するソフト作ってるんですが、
通信時の暗号化に3DES使おうとプラグロミングして
reflectorで覗いたらキー丸見えで萎えました。

クラックを防げる暗号化ってどう実装したらよいでしょうか
制限事項としては
(制限1)クライアントで暗号化したものをサーバで複合できる(逆も然り)
(制限2)上記制限1のため、暗号化キーは固定する必要あり?

3DESのキーをまた暗号化してしまうとか、
キー生成アルゴリズムを埋め込んで、キー自体を持たないとか
外部にキーを持たせてdll参照するとか色々考えたんですが
結局トレースされたらばれてしまうのでティンときませんでした。

道かよろしくお願いします。
774デフォルトの名無しさん:2008/09/16(火) 23:04:49
3DESじゃなきゃだめなの?
公開鍵じゃだめなの?
775デフォルトの名無しさん:2008/09/16(火) 23:09:06
公開鍵も考えたんですが、ようは、誰かが作った偽クライアントがサーバに接続されるのを防ぎたかったので
鍵自体バレると・・・と思ったけど

今よく考えたらreflectorでソース見れる時点で暗号化どうのこうののまえに偽クライアントは作れてしまいますね。。。
.netで作るのをやめる事にします。

どうもありがとうございました。
776デフォルトの名無しさん:2008/09/16(火) 23:42:59
これは酷い思考停止
777デフォルトの名無しさん:2008/09/16(火) 23:44:50
ネイティブで作ったって一緒。
まあ解析しにくいことは否定しないが。

本当に安全にやるなら、SSLとかでやってるのと同じような仕組みを作らにゃならん。
778773:2008/09/16(火) 23:59:23
すみません775は私です。

私は生産者側なのでクラックにはあまり興味ないですが、.NETの形態上ソースが見えてしまうのは仕方がないんですよね。
今まで、いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。

生産対象物がきわめて専門的なBtoBのようなソフトであれば、ソースをほしがるような客先は少ないです。
逆に、保守のことを考え、わざわざソースをセットで渡してしまうこともありますが、
たとえばネットゲームのような、完全なBtoCまたはCtoCの形を取るソフトであれば、不特定多数のクライアントがいるわけで
そのなかには必ず中身を解析したり、場合によっては不正な手順でサーバにアクセスする人たちが出てきます。

そういった人たちのモチベーションに反比例するのが解析の難しさ、めんどうさだと思います。
もちろん従来のネイティブコードでクラックできないわけではないですが、.NETよりはめんどうです。
そうした意味では、.NETという、言ってしまえば実行ファイルのソースが公開されているプラットフォームを避けるのも一つの手かなと思いました。

長くなりましたが、つまり、知りたいことは、
1).NETでClient/Server作ってる人は、どういう実装をされてるんでしょうか。
2)そもそも.NETは使わないんでしょうか。

度々すみませんがもう少し知恵をお貸しください。
779デフォルトの名無しさん:2008/09/17(水) 00:04:57
だから本当に確実な認証が必要なら、パスワードか証明書かICカードかUSB鍵か、
とにかくソースを解析しても不可能な方法をとるわけだよ。

>いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。
それってどんな認証だよっていうか認証って言わないだろそんなの。
780デフォルトの名無しさん:2008/09/17(水) 00:12:17
ん?
ひょっとして接続が許可された人間でも偽クライアント(というかその許可情報)を使用した接続とか
できないようにしたいって言ってる?
そんなことは基本的には不可能だよ。

たとえばソース解析するまでもなくそのクライアントアプリをコピーして別のマシンで動かした場合はどうなるんさ?
※パスワードやらその他認証用の情報も基本的に同じようなもの
781773:2008/09/17(水) 00:12:45
>>779
すみません話を混ぜて書いてしまいました。
>いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。
これは、キーさえわかっていれば他の部分コピペして新たに偽クライアント作ったらサーバ側からは偽クライアントだとはわからないという意味です。

パスワードか証明書かICカードかUSB鍵がいらない偽クライアントが出来てしまえばサーバ側では対処できないだろうという意味で書きました。
ネットゲームのBOTツールとかがそれにあたるんでしょうか。
782773:2008/09/17(水) 00:15:19
>>780
そうです!それが言いたかったんです。
クライアントアプリの複製は問題ないです。

クライアントアプリを騙って不正なパラメータでアクセスをされるのを防ぎたいんです。
783デフォルトの名無しさん:2008/09/17(水) 00:27:03
不可能。
だってクライアントが正しいかをサーバ確認できるのは通信内容によってのみだから。
基本的にクライアントプログラムが本物かを「確実に」確認する方法はない。
784773:2008/09/17(水) 00:42:33
だとすると、暗号化の議論の中では邪道とされている、処理の隠蔽しか暫定的な回避策は無いですね。
.NETには不可能ですが。

逃げにしかなりませんが、Client側はネイティブな別の言語に移植する事にします。
また、暗号化のクラック対策としては、定期的にClient/Serverともアップデートをかけて、
実行前にキーを変更する仕組みにしようと思います。

勉強になりました。
ありがとうございました。
785デフォルトの名無しさん:2008/09/17(水) 00:47:00
つーか難読化とか耐タンパとかでググれって誰も言わないのは何でなんだぜ?
786773:2008/09/17(水) 01:03:15
>>785
そんなのがあったのですね。勉強不足でした。

早速フリーの難読化ソフトで実験してみたら、実行は出来るのにコンパイルが通らないソースが出来上がり感動しました。
さすがに定数は難読化されなかったですが。
ソフトの種類によっていろいろなのかな。

ちょっと色々調べてみます。ありがとうございました。
787デフォルトの名無しさん:2008/09/17(水) 01:42:37
本格的には使いにくいからじゃね?
788デフォルトの名無しさん:2008/09/17(水) 14:36:03
javaseで掲示板へ投稿するスクリプト作れますか?
ポストリクエストを少々いじるのはjavaeeになるのでしょうか?
よろしくお願いいたします
789デフォルトの名無しさん:2008/09/17(水) 19:48:25
ここ数件の 書き込みに 対して スレタイ 欲嫁 と 言ってやりたい
790デフォルトの名無しさん:2008/09/17(水) 20:29:49
Form2が閉じた時にForm1を更新するにはForm.Closedイベントを使えばいいのはわかるんだけど、
Form1から、Form2が”閉じてる”て状態を捉えるにはどうすればいいのですか?
Form2.Enabled = Falseじゃ駄目みたいなんだけど
VB.NETです
791デフォルトの名無しさん:2008/09/17(水) 21:02:32
Visible
792デフォルトの名無しさん:2008/09/17(水) 21:53:24
IsDisposed
793デフォルトの名無しさん:2008/09/17(水) 22:10:00
どういう動作を意図してるかわからんけど
閉じてるかどうか判断して閉じてたら開きなおすならこんな漢字化

Public Class Form1

  Dim f2 As Form2 = Nothing

  ''' <summary>
  ''' Form2をShowする
  ''' </summary> '''
  Private Sub ShowForm2()
    'Form2をはじめて開く場合
    If f2 Is Nothing Then
      f2 = New Form2
    Else
      'Form2が閉じてた場合
      If f2.IsDisposed Then
        f2 = New Form2
      End If
    End If
    f2.Show(Me)
    f2.Activate()
  End Sub

End Class
794デフォルトの名無しさん:2008/09/17(水) 23:11:49
>>790
Application.OpenFormsで現在開いている(表示されている)フォームのコレクションが取得できる。
こんなかに、Form2が入っているかどうか見ればいいかと思われる。
795デフォルトの名無しさん:2008/09/17(水) 23:21:14
790です
色々ありがとうございました
勉強になりました
意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。
796デフォルトの名無しさん:2008/09/17(水) 23:42:27
>>795
それだと状態を常に監視する為にコールバックしないといけないような

というかそもそもその動作ならForm2が開いているかどうかは関係ないよ

button1が押されたときに
button1.Enabled=False

Form2が閉じるときに
DirectCast(Me.Owner, Form1).Button1.Enabled = True
797796:2008/09/17(水) 23:44:17
途中で送信してしまった
スマソ

Form2を開くボタン(仮にbutton1)のスコープをForm2から参照可能にしておいて
>>795みたいなかんじでやれば、Form2の状態など監視せずにスマートにいけるんじゃね
798797:2008/09/17(水) 23:45:59
安価間違いグダグダスマソorz

×>>795みたいなかんじ
>>796みたいなかんじ
799デフォルトの名無しさん:2008/09/17(水) 23:46:33
>>795
そういうのはForm1の適当なメソッドにForm2の適当なイベント(例えばFormClosed)を
紐付けするんだよ。

VBならForm2の参照をWithEventsで持つ方法でもいい。

というか、くだすれか何か知らんけど、
こんなレベルの話は入門書を一冊軽く斜め読みすれば分かることで
掲示板で人に聞くような内容じゃない。
800デフォルトの名無しさん:2008/09/17(水) 23:49:26
799
まぁまぁ「くだすれ」なんだから
ごもっともだけども。
801デフォルトの名無しさん:2008/09/17(水) 23:52:38
>>794のやつが一番スマートだと思われるが。
Form2のNameプロパティに"Form2"と設定してあれば
If Application.OpenForms("Form2") Is Nothing Then
MessageBox.Show("Form2は閉じてる")
Else
MessageBox.Show("Form2は開いてる")
End If
と判断できるし
802デフォルトの名無しさん:2008/09/17(水) 23:57:13
>>801

ずっとチェックするの?
>意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。

僕はその意見には反対ですが、

まぁ、一番スマートなやり方はどうかは別にして、やり方はいくつもあるってことだね
初心者はいろいろやってみて、一長一短あるのを自分なりにとらえるようになるのも勉強だ
803デフォルトの名無しさん:2008/09/18(木) 00:11:44
>意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。
であれば、

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f2 As New Form2()
f2.Show()
Button1.Enabled = False
AddHandler f2.Disposed, AddressOf Me.Form2_Disposed
End Sub
Private Sub Form2_Disposed(ByVal sender As Object, ByVal e As EventArgs)
RemoveHandler CType(sender, Form2).Disposed, AddressOf Form2_Disposed
Button1.Enabled = True
End Sub
804デフォルトの名無しさん:2008/09/18(木) 11:10:57
Disposedで良かったっけ?
Showなら良かったんだっけかな。
805デフォルトの名無しさん:2008/09/18(木) 14:48:09
クラスにこういうプロパティを実装しています。
------------------------------
Private mHOGE As String

Public Sub New()
  Me.HOGE = ""
End Sub

Public Property HOGE() As String
  Get
    Return HOGE  ←※
  End Get
  Set(ByVal value As String)
    mHOGE = value
  End Set
End Property
------------------------------
※のところで、
「変数 'HOGE' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。」
という警告が出るのですが、これは書き方がどこか間違っているのでしょうか。
806デフォルトの名無しさん:2008/09/18(木) 15:15:46
それ以前に無限ループになるのは確実だわな。
807デフォルトの名無しさん:2008/09/18(木) 15:24:02
これは俺もたまにやっちまう。
セッターの方だといきなりスタックオーバーフローでめげるぜ。
808デフォルトの名無しさん:2008/09/18(木) 15:25:43
いやセッターとも限らんか。
ともかく実行したらアウチ
809デフォルトの名無しさん:2008/09/18(木) 15:37:55
すみません。
Return mHOGEですよね。

よくよく読んだら理解できましたorz
810デフォルトの名無しさん:2008/09/18(木) 17:20:06
XP3
.NET C#のSDKのURLください
811デフォルトの名無しさん:2008/09/18(木) 17:38:58
kaiketusita
812デフォルトの名無しさん:2008/09/18(木) 21:36:31
質問です。
パスワードを設定したExcelのファイル(オープン時にパスワードを求められる)があるのですが
これをC#からパスワードを自動入力で開く方法ってありませんか?

普通にダブルクリックしたときはパスワード入力、
C#で作ったプログラムで開くボタンをクリックすれば
パスワード入力なしでエクセルを起動するってしたいんです。

詳しいかた宜しくお願い致します。
813デフォルトの名無しさん:2008/09/19(金) 01:47:24
.NET1.1はSDKを含め、全てアンインストールしてもいいのでしょうか?
マイクロソフトは.NET1.1をどのような位置付けで考えているのでしょうか
814デフォルトの名無しさん:2008/09/19(金) 11:44:15
Change系のイベント連鎖についてですが

避けたくてもどうしてもTextBox1のChangeイベントでTextBox1.Textに
値を代入しなくてはならない、なんて場面はよくあると思いますが、
みなさんどうやって連鎖を回避されていますか?

フォームレベルのフラグ変数とか、
他コントロールのフォーカス使ったりとか、
わざわざ条件を自作するような技しかないんでしょうか。
815デフォルトの名無しさん:2008/09/19(金) 19:13:53
>>814
>なんて場面はよくあると思いますが
いやそうそうないと思う。
というより、そんなことを思った時は大抵ロジックが不適切なんだと思う。

少なくとも処理内容と目的を具体的に書かないと納得できないよ。
816デフォルトの名無しさん:2008/09/20(土) 10:12:29
>>815
不適切なロジックでもやらないといけない場面はよくある
書く人の志向だけで作れるような、そんな恵まれた職場や
案件ばかりじゃないよ、実際
817デフォルトの名無しさん:2008/09/20(土) 11:44:23
まあそうだけど、でもそうとも限らん。
何も言ってないのにそういう事情を考慮する義理もない。
818デフォルトの名無しさん:2008/09/20(土) 18:38:36
>>813に回答お願いします
819デフォルトの名無しさん:2008/09/20(土) 18:51:38
>>818
おすきにどうぞ。
何が動かなくなっても知りません。
820デフォルトの名無しさん:2008/09/20(土) 21:18:26
>>813
普通に普通のランタイムと同じじゃないの?
それを使っているアプリがあれば、そのアプリが動かなくなるだけ。
821デフォルトの名無しさん:2008/09/20(土) 21:20:16
よく分からんな、使ってないなら要らんし使ってるなら要るだろう。
別にランタイムだけなら残しといてもたいしたことないと思うが。
822デフォルトの名無しさん:2008/09/21(日) 08:48:20
ここの住人がそれを使ってるアプリが今後も量産されていくという展開をお読みになる、または1.1しかありえない2.0以降で.NET?はぁ?ということならば消さないでおきます
つまり2.0以降より必要度が低いのであれば消します
HDDが40GBしかないもんで
823デフォルトの名無しさん:2008/09/21(日) 10:50:12
そりゃ必要度は低いだろ。
だがわざわざ消すほどの容量でもないんでは?
ってだけだ。
824デフォルトの名無しさん:2008/09/21(日) 11:48:57
.NET1.1必須のやつはそう多くないし、消してもいいんじゃないかね。
必要になったらまた入れればいいさ
825デフォルトの名無しさん:2008/09/21(日) 14:27:02
そう言ってくださるならば消します

マイクロソフトは1.1を黒歴史的に捉えてると思わざるをえないので
826デフォルトの名無しさん:2008/09/21(日) 14:34:24
黒歴史は1.0であって、1.1は現役
827デフォルトの名無しさん:2008/09/21(日) 14:58:39
そりゃ、どんなソフトメーカーでも同じで、
旧バージョンは出来るだけ使って欲しくないよな。
828デフォルトの名無しさん:2008/09/21(日) 15:16:49
よく分からんが、仮に黒歴史と捉えてたとしてだからどうってもんでもないだろ。
開発者の立場ならそりゃ分かるが。
829デフォルトの名無しさん:2008/09/21(日) 16:09:08
動作必須環境に 「.NET1.1」と書かれているのと「.NET2.0以上」と書かれていた場合、
どちらがより多くの支持を集めますか?
830デフォルトの名無しさん:2008/09/21(日) 16:57:03
フリーソフト作者?
フリーソフトのユーザー限定ならドトネト製というだけで却下という人が多いんじゃないか。
よくも悪くも.NETはパッケージ以外の業務用ソフト以外ではあまり普及してないのが現実だろう。

というか、他人に背中押して欲しい優柔不断な奴かなんかしらんが、
そんなこと自分の頭で考えたらどうよ。
831デフォルトの名無しさん:2008/09/21(日) 17:28:49
1%でもよ多くの支持を集められそうな方はどちらですか?

というか、超初心者ですので曖昧な回答は必要ありませんし、
自分の頭よりは、あなたたちの意見の方が正確性が高いと判断しております
832デフォルトの名無しさん:2008/09/21(日) 17:33:23
なるほど、君は例えば「朝まで生テレビ」のような番組(まあ下らない番組だけど)
を見て「いつも結論がでない」とか的外れな批判をするそういうタイプの馬鹿なんだね。
833デフォルトの名無しさん:2008/09/21(日) 17:35:32
いいえ、人物考察等はスレ違いですし、必要がありません。
自重していただければこれ幸いと存じます
834デフォルトの名無しさん:2008/09/21(日) 17:36:34
Ver違いでなんか支持変わんねえよ 糸冬了
はい次の方〜
835デフォルトの名無しさん:2008/09/21(日) 17:39:50
私も質問です
.NET1.1のランタイムは削除して良いのですか?
836デフォルトの名無しさん:2008/09/21(日) 17:47:42
こんなの釣り人に決まってるだろ
837デフォルトの名無しさん:2008/09/21(日) 17:49:21
838デフォルトの名無しさん:2008/09/21(日) 17:50:03
.NET 1.1必須といえばVS2003やTurbo Delphiといった開発ツールくらいかなぁ。
大概の1.1用のアプリは.NET2.0上でも動く。
839デフォルトの名無しさん:2008/09/21(日) 17:59:35
RinGOchは動かない
840デフォルトの名無しさん:2008/09/23(火) 21:12:11
>>812もお願いします。
841デフォルトの名無しさん:2008/09/23(火) 22:16:50
ここに書いてある通りじゃダメなの?
http://msdn.microsoft.com/ja-jp/library/cc329882.aspx

っていうか、エクセル操作しようっていうのにMSDNもエクセルのVBAのヘルプも
見てないわけひょっとして?
842デフォルトの名無しさん:2008/09/24(水) 13:48:52
VB2008のExpressでプログラムの勉強を始めたばかりの者です
バックグラウンドでキーボード入力を監視するソフトを作りたいんですけど、入力文字を盗み見するところで悩んでいます
どういった方法が一般的でしょうか
843デフォルトの名無しさん:2008/09/24(水) 13:52:39
また水前寺清子か・・・
844デフォルトの名無しさん:2008/09/24(水) 13:56:26
いっぽんどっこの唄を思い出した
845デフォルトの名無しさん:2008/09/24(水) 14:13:37
若い子じゃわからないネタだし、わかる年代だとチートがわからんだろ
846デフォルトの名無しさん:2008/09/24(水) 19:47:49
両方のチーターが分かる年代でもキーローガーとチートが頭の中で
概念的に結びついてる奴はいないと思うわ。。
847デフォルトの名無しさん:2008/09/24(水) 20:29:07
キーローガー作んなよボケが
848デフォルトの名無しさん:2008/09/25(木) 01:36:52
キーロガーつくるワケではないです
入力されたキーによって音を鳴らそうってだけなんです
849デフォルトの名無しさん:2008/09/25(木) 01:48:40
年貢とは納めるもの
850デフォルトの名無しさん:2008/09/25(木) 06:29:06
それワンツーワンツー
851デフォルトの名無しさん:2008/09/25(木) 09:59:51
まあキーボード フックでググれ
.NETでもできるみたいだぞ
852デフォルトの名無しさん:2008/09/25(木) 19:43:56
ありがとうございます
853デフォルトの名無しさん:2008/09/28(日) 09:11:22
.netで作ってる自分のプログラムからWordやExcelをモーダルで開くことってできますか?
854デフォルトの名無しさん:2008/09/28(日) 20:40:17
お前のプログラムのことなんて知らんがな
855デフォルトの名無しさん:2008/10/02(木) 12:06:51
ツリーコントロールにコンテキストメニューを設定しているのですが、
ノードを右クリックすると、一瞬そのノードが選択されたあと、すぐに
直前のノードにフォーカスが戻った状態でコンテキストメニューが開いてしまいます。
右クリックしたノードが選択した状態でコンテキストメニューが開くようにするには
どうすればいいでしょうか?
856デフォルトの名無しさん:2008/10/02(木) 17:04:26
>>855
マウスダウン時にクリックしたノードを選択ノードに設定するとか
Dim hti As TreeViewHitTestInfo = Me.TreeView1.HitTest(e.Location)
If hti.Node IsNot Nothing Then Me.TreeView1.SelectedNode = hti.Node
857デフォルトの名無しさん:2008/10/03(金) 19:11:10
2008をインストールしていたのですが
Web Developerの方は完了後に出たリンク先からLive IDに入り登録キーをとれました
VC++,VBの方は閉じてしまって登録キーを得られるページがわからなくなってしまいました
登録キーを得られるページの入り方(アドレス)を教えてください
858デフォルトの名無しさん:2008/10/03(金) 19:25:16
MSサポセンに電話
859デフォルトの名無しさん:2008/10/03(金) 19:27:36
書き忘れました
Express Edition です
860デフォルトの名無しさん:2008/10/03(金) 19:49:50
じゃあ俺がサポセンで聞くから番号載ってるアドレスよこせ
861デフォルトの名無しさん:2008/10/03(金) 19:59:20
番号? DLインストールしたものなんですが
Webから取得できないんですか
なぜDeveloperだけできたんだろう?
862デフォルトの名無しさん:2008/10/03(金) 20:13:35
メール受信したか?
863デフォルトの名無しさん:2008/10/03(金) 20:21:07
はい、Developerのやつだけ
864デフォルトの名無しさん:2008/10/03(金) 20:44:42
ああ、登録のところからできそうです
お手数かけました
865デフォルトの名無しさん:2008/10/03(金) 23:52:34
さいきん遊びで.net(C++)はじめたんですが、
javaプログラマが.netやるにあたりこれをみとけば
導入しやすいというサイト等ないでしょうか?

null判定やら整数判定やら、その他もろもろ一々
調べないといけないので効率わるいです。。。
866デフォルトの名無しさん:2008/10/04(土) 00:01:43
>>865
http://msdn.microsoft.com/ja-jp/library/ms228602(VS.80).aspx
C#に関するMSDNの記事としてはかなり親切で優秀
867デフォルトの名無しさん:2008/10/04(土) 00:05:07
ああC++/CLIか
先にC#やったほうが入りやすいんじゃね
868デフォルトの名無しさん:2008/10/04(土) 00:10:24
・・・なんで C++/CLI。その言語、C++ と CLI 両方に精通していないと
難しいから両方初心者なら基本お断りだぞ。いや、というかむしろ
そうでないと使う意味がない方が正確かも。

既存コード等があってそれとの相互運用したいとか、ちょっと細かく
最適化したいとかそんなときに使うもの。
869デフォルトの名無しさん:2008/10/04(土) 00:13:44
すごく限定された一部の特殊な目的のために部分的に使う言語であって常用するもんじゃない
870デフォルトの名無しさん:2008/10/04(土) 00:16:09
ネイティブのラッパー書くときは楽だよな
871デフォルトの名無しさん:2008/10/04(土) 00:17:49
でもあくまでラッパーまでなんだよね
それがMS推奨のスタイルみたいだし
872865:2008/10/04(土) 00:25:35
なるほど。
なんで選んだかというと、
C++の勉強がてら、あとはとりあえず.netも
みておくかと思ったからです。
あと.netあるのでいろいろ用意されていそうで
楽かな〜とも思いました。
873デフォルトの名無しさん:2008/10/04(土) 00:33:39
.NETやるならまずC#かVB.NET
C++/CLIだけやっても意味がないよ
874865:2008/10/04(土) 00:45:21
う〜ん、
いろいろドキュメントみた限りだと、C#やVBとならんで
C++も並列な位置づけで選択可能にみえたんですが・・・
たとえばwikipedia。

ttp://ja.wikipedia.org/wiki/%E7%94%BB%E5%83%8F:Diagram_of_Common_Language_Infrastructure_(ja).png

要はコンパイラさえあれば良いように見えて、
そしてC++コンパイラがあるので、C++を選ぶことに
躊躇がなかったんですよ。
875デフォルトの名無しさん:2008/10/04(土) 02:02:44
VC++コンパイラ(C++/CLI言語)はその中でも特殊で、
部分的に非.NETの(x86とかの)ネイティブな機械語を含むプログラム(混合アセンブリ)を出力でき、
そうでなくとも非.NETなプログラムとの親和性が大変良くて、
というかそもそも従来のC++の構文はそのままに.NET用の構文がまるまる追加されているだけで、
そのせいで非.NETと.NETを両方使おうとするとデータの変換が面倒だという具合。
876デフォルトの名無しさん:2008/10/04(土) 02:12:51
世界一の/clr:safe使いに俺はなる!
877デフォルトの名無しさん:2008/10/04(土) 11:24:42
アンマネージコードを混ぜないならC++/CLIをわざわざ使うメリットがないんだよね
自由度がほんの少し高いだけで、できることはC#と変わらない
文法が複雑でC#やVBより低レベルで面倒、VSのサポートも貧弱、情報少ない
C++ができる人でも学習コストは決して低くない(C#に移行した方が早いかも)
878デフォルトの名無しさん:2008/10/04(土) 15:52:45
んじゃWINDOWSでC++やるなら黙ってMFCか
WIN32API直接たたいてろってことですかね?
879デフォルトの名無しさん:2008/10/04(土) 15:57:55
ATL/WTL 忘れてる
880デフォルトの名無しさん:2008/10/04(土) 18:35:36
そもそもなんでC++なんだ
881デフォルトの名無しさん:2008/10/04(土) 19:01:01
VC++6.0ってもうゴミなの?
882デフォルトの名無しさん:2008/10/04(土) 21:28:27
使えるか使えないかなら使えるからごみというのはどうかだけど
不自由するか不自由しないかなら確実に超不自由する
さすがに 10 年前のソフトなので
883デフォルトの名無しさん:2008/10/04(土) 22:06:57
MSDNが死んでます;;
884デフォルトの名無しさん:2008/10/06(月) 20:57:53
Oracleへの接続をoo4oからODP.NETに変更したいのだが、
oo4oとODP.NETの差分をうまく吸収してくれるクラスって
どこかに公開されてないですか?

oo4oを使用していたときのロジックをできるだけそのままにしたい。
885デフォルトの名無しさん:2008/10/12(日) 01:34:53
以下のコードを実行するとStackOverflowExceptionが発生します。

array<String^>^fileEntries = Directory::GetFiles((String^)Directory::GetCurrentDirectory());

何がいけないのか、コールスタックを見ようにも見方が分からず・・・
886デフォルトの名無しさん:2008/10/12(日) 12:34:20
>>885
例外が起きている場所がそこでない可能性もあるな。
デバッグビルドになってないとか、設定で最適化がONになってるとか。
887デフォルトの名無しさん:2008/10/12(日) 21:12:58
C#を勉強しましたのでVisualC#2008でアプリケーションを作ろうと思っています

TableLayoutPanelでEXCELの枠固定みたいなことって出来るのでしょうか
作りたいアプリのカラムが結構な数になるので カラム2と3の間を固定できるようなプロパティがあれば教えていただけないでしょうか

TableLayoutPanel以外のクラスでも出来るのであればそれも教えていただけないでしょうか
よろしくお願いいたします
888デフォルトの名無しさん:2008/10/12(日) 21:15:02
'Microsoft Visual Basic.NET 2003 の初心者ですが、質問させてください。
Imports System
Imports System.IO
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As StreamReader = New StreamReader("テスト.txt")
Dim line As String
Dim str01 As String
Dim str02 As String
Dim str03 As String
Do
' テスト.txt内の1行を読み込んだ後、それぞれ変数の中に入れたいのです凹
line = sr.ReadLine()
' 結果
'str01 = "a"
'str02 = "123456"
'str03 = "テスト00 "(256バイト固定)
' どういった方法があるのでしょうか??
Loop Until line Is Nothing
sr.Close()
End Sub
End Class
'********************************
'テスト.txt内容
'********************************
a,123456,テスト00(名前256バイト)
b,654321,テスト01名前
c,112233,テスト02
'********************************
ちゃんとした質問になっているのかさえわかりませんが、どなたかご指南よろしくお願いします。
889デフォルトの名無しさん:2008/10/12(日) 21:52:45
何を聞きたいのかぐらいまとめたほうがいいと思うが
890デフォルトの名無しさん:2008/10/12(日) 22:15:04
<<889
そですね汗 失礼しました。
文字列 "a,123456,テスト名"
カンマで区切られた文字列をそれぞれ変数の中に入れたいのですが、どういうやり方があるのでしょうか?
**結果**
Dim str01 As String = "a"
Dim str02 As String = "123456"
Dim str03 As String = "テスト名"
********
・・・あまりまとまってなぃかな凹
改めてご指南よろしくお願いします。m(_ _)m
891デフォルトの名無しさん:2008/10/13(月) 00:07:19
そういうのはCSVという
文字列と数字の扱いとか、エスケープするのかとかあるけど、
簡易的にはString.Splitとか使える
892デフォルトの名無しさん:2008/10/13(月) 14:18:15
VC#2008 Professional Edition SP1,( .NET Framework 3.5 SP1)をWindows XP SP3上で使用しています。
Windows FormsでMDIアプリを作成しているのですが、MDIの親にImageListを置いている場合
MDIの親に置かれているImageListはMDI子フォームから参照するにはどうしたらよいでしょう?

ただし、コード上で必要なときに呼び出して参照することは既にできています。しかし、問題はデザイン画面上で
プロパティに出したいということです。
プロパティ画面上で ImageList : fMDIForm.ImageList1 みたく・・・
以前Delphiを使用していたときはuses節に参照したいクラスを記述して、デザイン画面上でプロパティから参照できました。
Web上の様々な情報や書籍を参照しても、MDIフォームに関する情報はあまりなく、困っています。

A) 解決する方法はある
B) デザイン上ではあきらめて必要なときにコードで記述するしかない。
C) ImageListなどどの画面でも共通で使用したいものは、あきらめてそれぞれの画面に置く
D) その他
のいずれかでしょうか。ご存じの方よろしくお願いします。
893デフォルトの名無しさん:2008/10/13(月) 19:32:59
D) ソースを晒せ
894デフォルトの名無しさん:2008/10/13(月) 19:48:21
2005以降でImageListって積極的な使い道というか、
それを使わないとできない事なんてあったっけ?

俺の認識では完全にObsolete扱いなんだけど。。
895デフォルトの名無しさん:2008/10/13(月) 21:32:22
AbsoluteにObsolete扱いですかそうですか
896デフォルトの名無しさん:2008/10/13(月) 21:36:58
プロジェクトのリソースじゃダメなの?
897デフォルトの名無しさん:2008/10/14(火) 17:46:23
TabControlを上部に表示させ、
その下にGridDataViewを表示させています。

ウィンドウのサイズを小さくしたときに、
TabControlの位置と、DataGridViewの位置を変更させないようにして、
かつ、TabControlのサイズは変更させずに、
DataGridViewは上部分(TabControlの直下)は固定で、
ウィンドウを小さくした分だけ小さくさせるようにしたいんですが、なかなかうまくいきません。

あ、DockNoneでうまくいきました。てへ
898デフォルトの名無しさん:2008/10/14(火) 17:49:29
なかなか思ったとおりにならないときは、間にコンテナかますのがいい。
899デフォルトの名無しさん:2008/10/21(火) 11:37:45
スレッドについての質問です。
たとえば、TreeView.Nodes などのコレクションや、それに格納されているデータにアクセスする際も
Invoke を使用する必要があるんでしょうか。排他だけですむならかなり楽なんですけど。
900デフォルトの名無しさん:2008/10/27(月) 17:07:53
WCFでBasic認証付きのプロキシを超えるにはどう設定すればいいか、
ご存知の方はいらっしゃいませんか?
901デフォルトの名無しさん:2008/10/27(月) 19:57:04
プロジェクトとソリューションの違いを教えてください。

いろんなクラスをまとめているのがプロジェクト、と思っています。
そのプロジェクトをさらに上位から管理するのがソリューション?

両者の概念について分かりやすく書いてあるWebなどはないでしょうか?
(○確認○行のサイトと@ITのサイトは見ましたが、よく分かりません・・)
902デフォルトの名無しさん:2008/10/27(月) 20:53:31
みなさんはデータを新規に書き込むとき、
TableAdapter.Updateで行いますか?
それともExecuteNonQueryで行いますか?
903デフォルトの名無しさん:2008/10/27(月) 20:55:27
>>901
一つのライブラリとか実行ファイルとかまとまった単位がプロジェクト。
何か解決したい課題があったときに、一つの実行ファイル・ライブラリじゃおさまらない時に
複数のプロジェクトまとめるのがソリューション。
904デフォルトの名無しさん:2008/10/27(月) 20:56:41
>>901
俺も完全に把握してるわけじゃないけど、
とりあえず1プロジェクトが1アセンブリに対応すると考えればいいんじゃないの?

そんで、プロジェクトはソルーション内の別のプロジェクト(つまりアセンブリ)を
「プロジェクト参照」できる。

だからよく使うライブラリ的なクラスとかユーザーコントロールなんかを
別のプロジェクトに切り分けておけば、他のアプリの時に流用が楽にできる。

これだけ聞くとコンパイル済みのクラスライブラリ(dll)でもよさそうだけど、
一旦dllにするとアプリにあわせて微妙にカスタマイズとかできないからね。
905デフォルトの名無しさん:2008/10/27(月) 21:44:40
グループで作る時にプロジェクトごとに担当決めて管理者はこれをソリューションとしてネットワーク上でだな
906901:2008/10/28(火) 20:53:41
>>903, >>904
ありがとうございます。
今はまだなんとなくですが、今後会社で注意深くみてみると
両者の差は使い方で分かってくるような気がしてきました。
907デフォルトの名無しさん:2008/10/28(火) 21:12:21
>>906
まあドクターパソコン(なんて知らんか…)じゃないけど
頭で考えるより実際やってみればすぐわかるよ。
908デフォルトの名無しさん:2008/11/14(金) 16:00:17
VB2005で組んだWindowsアプリケーションを、
そのままASP.NET、WEBアプリケーションにすることはできないでしょうか。
909デフォルトの名無しさん:2008/11/15(土) 02:10:41
すごく無理
とにかく無理
無理無理無理よカタツムリ
910デフォルトの名無しさん:2008/11/24(月) 14:03:02
>>909
まるでラップのような>>909のセンスに嫉妬w.
911デフォルトの名無しさん:2008/11/24(月) 19:24:53
いいえ
プログラミングはロックです
912デフォルトの名無しさん:2008/11/24(月) 19:52:53
そしてプログラマはロックマンですね分かります
913デフォルトの名無しさん:2008/11/24(月) 23:09:11
>>911-912
エアーマン噴いたじゃねえかこの野郎wwww
914デフォルトの名無しさん:2008/11/24(月) 23:17:37
ヲタ野郎どもの笑いのポイントは理解不能だ。
何が面白いの?意味わからん。

とにかく気色悪いんだよヲタは。
915デフォルトの名無しさん:2008/11/26(水) 10:56:42
同族嫌悪ですね、わかります。
916デフォルトの名無しさん:2008/11/27(木) 17:02:01
.Netがインストールできません。

USB2-NFCというICカード・リーダ・ライタを買ったところ、
.Net3.0のインストールが必要でした。
http://tshimizu.cocolog-nifty.com/good_job/2008/06/usb2nfc.html
そこで、インストールしてドライバーを入れても反応しません。

このホームページによると
.Netがインストールされていれば
http://tshimizu.cocolog-nifty.com/.shared/image.html?/photos/uncategorized/2008/06/16/usb2nfc_5_2.jpg
の右上の画像の様にグレーになるはずなのですが、グレーにならないんです…。

このスレで良いのかわからないのですが、よろしくお願いします。
917デフォルトの名無しさん:2008/11/27(木) 18:06:22
なにか.netを必要としてる他のアプリケーションを起動してみて
普通に動作するかで.net frameworkが正常にインストールされてるか判別できるだろ

その先はスレ違いだ
余所で聞け
918デフォルトの名無しさん:2008/11/27(木) 18:13:06
スレどころか板違い。ここは *プログラム* 板だから、使うだけの人が来る所ではない
追い返すだけではなんだから、幾つかアドバイスを

- .NETフレームワークがインストールされているかちゃんとした方法で確認する
- .インストール時にエラーが出たなら、エラーメッセージ全文を一字一句違わずコピペorメモる

この先は(疑問があったとしても)適切なスレを探してそちらへ
919デフォルトの名無しさん:2008/12/13(土) 21:39:26
Vistaで、Google Chromeのタブ周りのようにウィンドウの枠の透明部分を広くするにはどうすれば良いでしょうか。
環境はVista、 VisualBasic2008です
920デフォルトの名無しさん:2008/12/13(土) 23:44:43
>>919
Win32のDWM APIを使う。

単純に食い込ませるだけなら、DwmExtendFrameIntoClientArea関数
http://blogs.wankuma.com/katamari/archive/2008/06/24/145387.aspx

透明部分の形状を自由に指定したければ、DwmEnableBlurBehindWindow関数。
921919:2008/12/14(日) 12:41:34
>>920
ありがとうございます。
922デフォルトの名無しさん:2008/12/29(月) 11:00:51
Visual Basic 2008 Express Editionで.NET Framework 2.0用のプログラムを作っています。
標準のヘルプであるMSDN Express ライブラリ 2008では一部の命令が抜け落ちていて見れません。
そこでこのヘルプの代わりに.NET Framework 2.0 SDKをVB側から(F1による適応ヘルプを)呼び出せるよう設定する事は出来ないでしょうか。
両方入れると容量を食うので困っています。
923デフォルトの名無しさん:2008/12/29(月) 17:26:03
完全なMSDNは無料でダウンロードできるよ
2.0SDKのMSDNはアンインストールしてそっち入れるといいよ
924デフォルトの名無しさん:2008/12/29(月) 17:59:36
完全版MSDN > MSDN Express + 2.0 SDK
925デフォルトの名無しさん:2008/12/29(月) 19:53:31
もしくはフィルタなしにする
立ち上げるたんびにいちいち再設定するのが禿しくめんどくさいがタダだからやむを得ん
926デフォルトの名無しさん:2009/01/12(月) 21:33:03
猫が分からなくて
誘導されてきた
コンパイラインストよくわからない
誰か……
927デフォルトの名無しさん:2009/01/12(月) 22:08:48
コンパイラインスト?
Visual C# 2008 Express Edition入れればすぐ開発できるけど、どこで詰まってるんだ?

どこからの誘導かと思ったが、スレ立てるまでもない質問スレからか
このスレは過疎ってるから、C#(.NET)の初歩的な質問は"ふらっとC#"に行った方が良いと思うぞ

あと、分からない事があった場合、可能な限り状況を詳しく説明して質問すると回答が貰えやすい

ふらっとC#,C♯,C#(初心者用) Part35
http://pc11.2ch.net/test/read.cgi/tech/1229519838/
928デフォルトの名無しさん:2009/01/13(火) 11:03:39
ごめんわかんねえ
Cなのだが
付録ROM入れたはずが
さっぱり分からない
bcc32とかいうショートカットができたけれど
HelloWorldで始める事が
できないのです
猫ある人いないでしょうか…
929デフォルトの名無しさん:2009/01/13(火) 11:12:02
ここは.NET関連だからスレ違い
930デフォルトの名無しさん:2009/01/13(火) 20:12:11
ああ
インストロールのことね
931デフォルトの名無しさん:2009/01/15(木) 03:40:01
ngenって、どう使うの?
一回やればずっと有効なの?
932デフォルトの名無しさん:2009/01/23(金) 21:18:07
C++のDLLをC#で使うためにC++/CLIのラッパーを書いています。

DLL関数の中に
InterfaceObject* Func();
のようなクラスのインターフェイスを返す関数が定義されてて
インターフェイスのポインタをプロパティに持つインターフェイスのラッパークラスを定義しました

virtual bool Get (DWORD &rNextLine) = 0; の抽象メソッドに対応するメソッドとして
bool Get(UInt32 %rNextLine); を定義し

DWORD value;
bool result;
result = プロパティ->Get(value);
rNextLine = (UInt32)value;
return result;

のように書いてビルドが通るようになったのですが。
もっとスマートにできないかなと悩んでいます。
return (プロパティ->Get(rNextLine))? true : false;
みたいに1行で書くためにで%ハンドル演算子をキャストするような方法はないでしょうか。

933デフォルトの名無しさん:2009/01/23(金) 22:42:53
こういう風にできる。
pin_ptr<int> p = &rNextLine;
return プロパティ->Get(*p);
ただ、pinしないそっちのほうが性能では優れていそうな気がする。
934932:2009/01/24(土) 00:00:01
>>933
pin_ptrについて調べてみます。
ありがとうございました。
935デフォルトの名無しさん:2009/02/01(日) 15:21:56
.NETぢゃないライブラリならアプリと同梱して自動でインストールできるのに、
.NETってMSのサイトからDLして別途インストールさせないといけませんよね?
これ、自分で勝手にファイル配れるようになってればまだマシだったのに、
いろいろなバージョンをDL、インストールしないといけない現状はいかがなものかと思います。

.NETって騒ぎ始めたあともMS謹製のOfficeは.NETじゃなかったと思うんですが、
やはりうざすぎて嫌われるのを予知していたのでしょうか
936デフォルトの名無しさん:2009/02/01(日) 15:25:43
配れます
937デフォルトの名無しさん:2009/02/01(日) 16:19:52
勝手に.net最新版をインストールしても、他のアプリケーションに悪影響を及ぼすことは
ありませんか?
あるいは他のひとに違うバージョンとかパッチをインストールされても動作が変わったり
する恐れはありませんか?
938デフォルトの名無しさん:2009/02/01(日) 16:23:53
ない
勝手に適当に選んでくれる
939デフォルトの名無しさん:2009/02/01(日) 16:45:00
そうでもない。
2.0以降は大丈夫だが。
1.0-1.1以降
1.1-2.0以降
は動作は保障されない。
940デフォルトの名無しさん:2009/02/01(日) 16:47:20
>>939
どうせ書くなら「まともな」日本語で頼む。
941デフォルトの名無しさん:2009/02/01(日) 16:49:19
理解できないの?ハハッワロス
942デフォルトの名無しさん:2009/02/01(日) 16:56:13
>>939
最新版をインストールしても古いのが使われるよ
943デフォルトの名無しさん:2009/02/01(日) 22:14:36
逆に新しいので使わせたかったら、
古いのをアンインストするか、
構成ファイルでバージョン指定
<configuration><startup>
   <supportedRuntime version="v2.0.50727"/>
   <supportedRuntime version="v1.1.4322"/>
944デフォルトの名無しさん:2009/02/06(金) 09:04:47
945デフォルトの名無しさん:2009/02/23(月) 16:37:18
ttp://nicoae.if.land.to/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3
C++/CLIでプラグインを作るのってどうするんですか?
C++の知識はそこそこありますが、C++/CLIとC#の知識が殆どなく
何からはじめたらいいのか分かりません。
946デフォルトの名無しさん:2009/02/23(月) 21:32:47
クラスライブラリ(dll)作る
プラグイン用に用意されたdllを参照してその中のクラスを継承するパターンが多い
プラグインだからと言って特別なことは何もない
947デフォルトの名無しさん:2009/02/24(火) 22:48:52
mscoree.libってどこにあるん?
948デフォルトの名無しさん:2009/02/25(水) 05:54:29
Windows SDKに入ってるから入れてやれば
C:\Program Files\Microsoft SDKs\Windows\{Version}\Lib あたりにあるとおも
949デフォルトの名無しさん:2009/02/27(金) 23:58:50
String::Format()関数を使って文字列をlabelコンポーネントで表示しているのですが、
タブが表現できず困っています。
"\n"はちゃんと反映されて改行されるのですが、"\t"としても、sprintfのようにタブが表示されません。
どのようにすればタブが反映されるのでしょうか?
950デフォルトの名無しさん:2009/02/28(土) 05:13:19
System.Windows.Forms.LabelがOS標準のLabelを使ってないせいでタブの扱いなどに互換がない。
その文字列をMessageBox.Showで表示したらタブが処理されているのが分かる。
951949:2009/03/01(日) 01:55:44
>>950
そういうことでしたか。
ありがとうございました。
952デフォルトの名無しさん:2009/03/01(日) 13:36:16
ビットマップのメモリリークで困っています。

pictureBoxコンポーネントをフォームに配置し、プログラム上で以下のような記述で描画しています。

// pictureBoxコンポーネントからBitmapを抽出する
Bitmap bmp = pictureBox->Image;

// 描画
bmp.SetPixel( 10, 10, Color::FromArgb( 255, 255, 255 ) );

// BitamapをpictureBoxコンポーネントにセットする
pictureBox->Image = Image::FromHbitmap( bmp.GetHbitmap() );

この処理をタイマーで定期的に行うのですが、処理を行う度に抽出したビットマップ分の
メモリが増加していき、しまいにはメモリが足りないと言われてプログラムが落ちます。

bmp.Dispose()はプライベート関数なので呼べず、Deleteも効きませんでした。
そもそも、自動変数的に宣言しているので、スコープ(タイマー処理関数内)を抜けたら
自動的に解放されるのでは、とも思います。

どのように対処すればよいでしょうか?
953デフォルトの名無しさん:2009/03/01(日) 13:40:43
だいぶ誤解があるようだけどその前に
pictureBox->Image = bmp;じゃダメなのか
954デフォルトの名無しさん:2009/03/01(日) 17:48:38
>>952
とりあえずコードに関する事だと、
pictureBox->Image を直接編集するように変更すればいい

次に忠告、
C++/CLIはC++と.NETの両方に精通した者が使う言語
というか、そうじゃないとまともに使えん(取り扱い注意)

>>953
bmp が Bitmap^ じゃないからそれじゃダメだ
そもそも、Bitmap^ なら再代入いらないんだが
955954:2009/03/01(日) 17:50:20
以下、余談 (一応、>>952の説明)

・bmpはスコープ抜けるときにDisposeされる
・GetHbitmap()で作ったHBITMAPは解放されない(これが直接の原因。DeleteObject() せよ)
・元のpictureBox->Imageも直ぐにはDisposeされない (delete すべし)

それ以前に自分がやってることの珍妙さを理解してるのか疑問

1. pictureBox->Image の中身を bmp にコピー
2. bmp から HBITMAP (GDI) を作成 (コピーされる)
3. 2で作成した HBITMAP (GDI) から Image (CLI) を作成 (コピーされる)
956デフォルトの名無しさん:2009/03/01(日) 18:04:39
>>954
PictureBoxから直接Bitampを取り出すのってできたっけ?
まあBitmapにしないで、Graphics.FromImageを使えばいいはずだけど。
957デフォルトの名無しさん:2009/03/01(日) 18:26:37
普通にキャスト(C++/CLIだとsafe_cast)すればいいと思うよ
Bitmap であることを保証するのはプログラマの仕事
(プロパティには自分で代入してるはずでしょ?)
958デフォルトの名無しさん:2009/03/01(日) 21:06:55
PictureBox.ImageってBitmap^型じゃなかったか?
それをそのまま使えばいいだけじゃないのかと
あと勘違いしてるみたいだけど,C++/CLIではBitmap^とBitmapはどちらもハンドル型だよ
959デフォルトの名無しさん:2009/03/01(日) 21:38:18
>>958
いやいやいや、名前通りImage^型だよ。
あと、^なしのBitmapだとスコープを抜けるときにDisposeが呼ばれるから、
単純に同じと言いきったらまずいだろ。
960952:2009/03/02(月) 00:10:30
みなさん、ありがとうございます。
ちゃんと勉強してから組まないといけませんね(汗)

ありがとうございました。
961デフォルトの名無しさん:2009/03/02(月) 02:03:18
>>960
とりあえず、.NET使いたい/勉強したいだけならC#に行くといい
一番重要なのは、コンパイルが早いことと、インテリセンス、スニペット使い放題なこと
962945:2009/03/04(水) 22:14:29
>>946
しかしメソッドの宣言で挫折しました
ttp://uproda.2ch-library.com/lib110688.zip.shtml
ProcessingImageとかアクセッサの書き方が分かりません・・
System.Drawingが参照追加したはず?なのに使えません。
963デフォルトの名無しさん:2009/03/04(水) 23:33:33
ソース公開されてるプラグイン見れ
あとそれPASSが設定されているわけだが
964デフォルトの名無しさん:2009/03/09(月) 18:14:13
panel1の中にpictureBox1を配置して
panel1.AutoScroll = true;としたのですが
スクロールバーの表示が何か変です。

初期状態ではpanel1.HorizontalScroll.Maximumや
panel1.VerticalScroll.Maximumの値が100で、
pictureBox1の位置とサイズをpanel1より大きくすると
Maximumの値がpictureBox1に合わせて広がりますが
その後pictureBox1の位置とサイズを小さくしても
Maximumの値が広がったままになっています。

その後panel1の中にpictureBox1が収まると
スクロールバーは縦横とも表示されないのですが、
横は収まってるけど縦に収まらない状況になると
本来なら縦スクバーだけ表示されるはずなのに
必要ない横スクバーまで表示されてしまいます。

panel1.HorizontalScroll.Visibleを確認するとfalseでした。
スクロールバーの稼動範囲はMaximumの値を基準に
しているようですが実際には反応しません。
Maximumの値は取得できても変更することはできなくて
ガバガバに広がっていく一方なのでスクロールバーを
締めなおすこともできません。どうしたもんでしょうか?

panel1.HorizontalScroll.LargeChangeとかは変更できるのに…
965デフォルトの名無しさん:2009/03/09(月) 19:58:12
>>964
一生懸命書いてるつもりかもしれんが文章が「日本語で書きください」過ぎる。

ただ、HScrollProperties.Maximumってどういう値かわかって操作してるのか?
Valueプロパティに関心がない限り、普通は触る必要がないはずの値だと思うんだが。。
966デフォルトの名無しさん:2009/03/10(火) 18:51:51
横にスクロールする必要がない状況でも
ScrollProperties.Maximumが大きいままなので
それが機能しないスクロールバーが表示される原因と
何か関係があるのではと思いました。

ScrollProperties.Maximumでスクロール可能な範囲の上限を
取得または設定しますとあるので適切な値を設定すれば
スクロールバーがバグって表示されることもないかと
panel1.HorizontalScroll.Maximum=100とかやってみても
Maximumの値は100になってくれません。

Maximumの値を自分で変更するにはどうすれば、もしくは
不要なスクロールバーを表示させないようにするには
どうすればいいのかで困っております。
967デフォルトの名無しさん:2009/03/10(火) 23:05:04
スクロールバーは一度AutoScrollをfalseにして
またtrueにすれば表示されなくなりました。

中途半端ですがとりあえず自己解決です。
968デフォルトの名無しさん:2009/03/13(金) 06:51:25
文字コードについての質問なんですが、
文字列に独自の文字コードを埋め込もうと思ってて

char first[3] = {0xef, 0x27, 0x00};
char second[10] = "・てすと";
char last[3] = {0xef, 0x28, 0x00};
char buforg[100];
ZeroMemory(buforg, sizeof(buforg));
strcat(buforg, first);
strcat(buforg, second);
strcat(buforg, last);

System::String^ strTest = gcnew String(buforg);

こんな感じでやって strTestには 0xef27・てすと0xef28 と入るのが理想なんですが
0x30fb・てすと0x30fb になってしまい 「・」が0x30fbなので区別がつかない状態になってしまいます。
Stringはおろかwchar_tなどのUnicode全般でこのような現象になってる気がするのですが、
この勝手に変換されちゃう現象どうにかする方法はないでしょうか?

WindowsXP SP3 VisualStudio2008Pro C++/CLI
969デフォルトの名無しさん:2009/03/13(金) 09:54:02
char second[10] = "00てすと";  // 0xfb30
second[0]=0x30, second[1]=0xfb; ではダメか?

ちなみに、ソースファイルの文字コードは何ですか?
(UTF-16(Unicode):UTF-8:S-JIS)
970デフォルトの名無しさん:2009/03/13(金) 18:10:00
>>969
0x30fb 0x30 0xfa1b 0xff84 'す' 'と' 0x30fb って感じになりました。
ソースコードは日本語(S-JIS) コードページ: 932です。

Unicode(UTF-8シグネチャつき)コードページ:65001
Unicode コードページ1200
Unicode(Big Endian) コードページ1201
で試してみましたが効果ありませんでした。

971デフォルトの名無しさん:2009/03/14(土) 01:19:54
CLIでもデフォ文字コードってUnicodeでなかったか?
独自コード梅たいなら徹頭徹尾BYTE[]で扱わないとダメなんでないの
972デフォルトの名無しさん:2009/03/14(土) 10:17:37
どうやら外字領域の文字コードを使うとShiftJISの外字領域とUnicodeの外字領域が1対1で対応してるので
うまくいくぽいです。
なので一時的に 0xef27を外字領域の文字コードに置き換えるなどして対処してみます
ありがとうございました。
973デフォルトの名無しさん:2009/03/14(土) 18:13:02
>>968
初めからwchar_t使えばいいじゃない。
wchar_t first[] = {0xef27, 0x00};
wchar_t second[] = L"・てすと";
wchar_t last[] = {0xef28, 0x00};
wchar_t buforg[100];
ZeroMemory(buforg, sizeof(buforg));
wcscat(buforg, first);
wcscat(buforg, second);
wcscat(buforg, last);

System::String^ strTest = gcnew String(buforg);

"・てすと"をwchar_tにするのがいや?
だったら、first、second、lastみんなSystem::Stringにしてから連結するのが楽だよ。

>>969-970
ソースコード自体の文字コードは、プログラムには基本的に影響しないよ。
974969:2009/03/14(土) 18:46:03
>>973 その System::String にどうやって外字コードを埋め込むのかの問題。
 :
0x30fb --> "・" だから、Unicode-BE でソース書かないと。ただし、Visual Studio IDEで開くと文字化けする。
char型に 0xfe が代入出来てるのも気になった。
 :
テスト方法:
IO::StreamWriter^ sw = gcnew IO::StreamWriter("testCLI.txt", false, Text::Encoding::BigEndianUnicode );
sw->Write(strTest);
sw->Close();
975デフォルトの名無しさん:2009/03/14(土) 19:57:55
>>974
いや、ソースコードがいかなる文字コードだろうと、
char mbs[] = "・";はchar mbs[] = {0x81, 0x45, 0x00};と同じだし(日本語環境なら)、
wchar_t wcs[] = L"・";はchar mbs[] = {0x30fb 0x0000};と同じ。
そのテスト方法のコードで確かめてみれば分かる。

charの初期化で0xfeを指定している部分は警告レベルを上げると指摘される。
'\xfe'と書けばいい。
976974:2009/03/14(土) 22:16:46
>>975 そのとおりです。
> char second[10] = "・てすと";
> 「・てすと」になってしまい、「・」が0x30fbなので
初期化の時点では「・」は0x30fbでない。
977デフォルトの名無しさん:2009/03/15(日) 00:04:42
もしかして、"・てすと"の「・」ってその外字だったり独自のコードだったりするの?
978969:2009/03/15(日) 00:07:10
>>968
UCHAR first[3] = {0xef, 0x27, 0x00};
UCHAR second[10] = "・てすと";
UCHAR last[3] = {0xef, 0x28, 0x00};
TCHAR buforg[100];
などのように、変更する。
System::String((TCHAR*)buforg); に変えるだけでも同じ結果になる。
> strTestには 0xef27・てすと0xef28 と入るのが理想なんですが
979969:2009/03/15(日) 00:47:00
間違い。
TCHAR second[5] = L"・てすと";

> もしかして、"・てすと"の「・」ってその外字だったり独自のコードだったりするの?
違う、と思う。
980デフォルトの名無しさん:2009/03/15(日) 01:32:43
>>978
TCHARってだけ書かれてもUNICODEのときの話かそうでないのか分からない。
981969:2009/03/15(日) 02:07:02
あっそうだ WCHAR。
> char first[3] = {0xef, 0x27, 0x00};
> char last[3] = {0xef, 0x28, 0x00};
それと、このあたりのバイトオーダーも気になるから
UCHAR first[3] = {0x27, 0xef, 0x00};
UCHAR last[3] = {0x28, 0xef, 0x00};
> strTestには 0xef27・てすと0xef28 と入るのが理想なんですが
982973:2009/03/15(日) 17:50:52
>>977
マルチバイトの0xef27と「・」(0x8145)が Stringにしたときに同じ文字コードだよってのを確認するための「・」です。


最終的にStringインスタンス生成するときにUnicodeで渡せばエンコード入らないので
独自文字コードが変化しないって感じですか。
今回は出力する直前までbyte[]で保持し続けておいて出力する段階で外字領域に一時的に変換するって形で対応しちゃったんですが
とても勉強になりました。ありがとうございました。
983デフォルトの名無しさん
>>973 の人?