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

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

VB.NET質問スレ (Part19)

1 :デフォルトの名無しさん:2007/01/12(金) 15:57:21
前スレVB.NET質問スレ (Part18)
http://pc10.2ch.net/test/read.cgi/tech/1161250878/

2 :デフォルトの名無しさん:2007/01/12(金) 22:29:00
ここは、質問者に説教するスレではありません。
ここは、質問者のプログラミングセンスを測るスレではありません。
ここは、質問者のプログラマ適性を診断するスレではありません。
ここは、質問者の精神病・神経症を診断するスレではありません。

3 :デフォルトの名無しさん:2007/01/13(土) 09:34:54
3get

4 :デフォルトの名無しさん:2007/01/13(土) 11:01:56
サービスとして動くプログラムを作りたいのですが、
サービスについての知識が全くありません。
参考になるサイトがありましたら教えてください。

5 :デフォルトの名無しさん:2007/01/13(土) 17:02:34
MSDN
http://msdn2.microsoft.com/ja-jp/library/ms229284.aspx
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
宇宙仮面の C# プログラミング
http://ukamen.hp.infoseek.co.jp/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
WisdomSoft
http://wisdom.sakura.ne.jp/
じゃんぬねっと
http://jeanne.wankuma.com/
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html


6 :デフォルトの名無しさん:2007/01/13(土) 17:04:18
CodeProject
http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
.NETでいきまっしょい!
http://santamartadotnet.hp.infoseek.co.jp/
これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm
ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html
PINVOKE.NET
http://www.pinvoke.net/
WinAPI Database for VB Programmer
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/



7 :デフォルトの名無しさん:2007/01/13(土) 17:05:20
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/
CodeZine
http://codezine.jp/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
PAPA'n VB
http://www.mitene.or.jp/~sugisita/index.html
VB レスキュー花ちゃん
http://www.bcap.co.jp/hanafusa/dotnet/index.html
(Java覚え書き)デザインパターンあれこれ
http://www.dmz.hitachi-sk.co.jp/Java/Tech/pattern/
algorithm
http://www.mnet.ne.jp/~tnomura/algorithm.html
ラムダ計算入門
http://www.kb.ecei.tohoku.ac.jp/~sumii/class/keisanki-software-kougaku-2005/lambda.pdf
数値計算の基礎
http://www7.ocn.ne.jp/~kawa1/numeric.pdf


8 :デフォルトの名無しさん:2007/01/13(土) 17:08:01
                            ,===,====、
                           _.||___|_____||_
..                       ∧_∧  /||___|^ ∧_∧      
..                       (・ω・`)//||   |口| |ω・` )
.                     ./(^(^ .//||...||   |口| |c  )
.....                    ∧_∧/  //  ||...||   |口| ||し      
.......                (・ω・`) //....  ||...||   |口| ||        楽しく使ってね
                 /(^(^ //  ....  .||...||   |口| ||        仲良く使ってね
         ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
         :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " :::: 

9 :4:2007/01/13(土) 21:32:43
C#スレで訊いてきます

10 :デフォルトの名無しさん:2007/01/14(日) 00:32:46
すいません、ご存知の方がいたら教えてください。

JPEGファイルをサムネイル表示するプログラムなのですが、
サムネイル画像取得処理時におけるBitmapクラスのコンストラクタが
非常に遅いため、Exif内のサムネイルをダイレクトに取得できないかと
考えいるんですが、サンプル等あるページを教えていただけないでしょうか?

シェアウェア等のライブラリDLLでもOKです。
アンマネージになってもかまいません。

11 :デフォルトの名無しさん:2007/01/14(日) 06:54:25
ttp://cetus.sakura.ne.jp/softlab/software/ifjpegx.html

12 :デフォルトの名無しさん:2007/01/14(日) 08:45:07
ついで
ttp://elku.at.infoseek.co.jp/memo/spi_dot_net.html

13 :デフォルトの名無しさん:2007/01/14(日) 13:07:05
教えてください。
改行付きの文字列定数を定義したいのですが、

Public Const msg as String ="aaa" & Environment.NewLine & "bbb"

とすると、「定数式が必要です」というエラーになります。

Constを書かなければコンパイルは通るのですが、
ダイアログに出すメッセージなので、なるべくConst
を付けたいです。何か良い方法ないでしょうか。


14 :デフォルトの名無しさん:2007/01/14(日) 13:15:41
すんません。自己解決しました

15 :デフォルトの名無しさん:2007/01/14(日) 20:09:10
事故解決したなら、どんなに馬鹿で恥ずかしい質問してたと気づいたとしても、回答を事故レスすべき。

16 :デフォルトの名無しさん:2007/01/15(月) 08:24:21
VB2005で
Public Enum Number
one = 1
two
three
End Enum

Console.WriteLine(Number.one.ToString)
とすると、"one"と出るのだが、これを"1"と出るように
するにはどのようにするかおしえてけろ。
For Each s As String In [Enum].GetNames(GetType(Number))
なんてのは無しでよろしく。

17 :デフォルトの名無しさん:2007/01/15(月) 08:33:09
ToStringしなきゃいいだけ

18 :16:2007/01/15(月) 08:46:17
>>17
サンクス
質問が悪かった。(^^;
Console.WriteLine(Number.one.ToString)では無くて、
実はComboBoxのTextに表示したい。
もう少し詳しく言うと、
Enumは
System.IO.Ports
のParityなんだけど。
よろしく。

19 :16:2007/01/15(月) 08:52:52
事故解決しました。
Str(Number.one)でなんとか。
何かすっきりせず..........

20 :デフォルトの名無しさん:2007/01/15(月) 09:28:12
いつもお世話様です。

現在 「ユーザーコントロール」 について学んでいました。すみませんがこの使い方
について教えてください。

1.VB2005で、ある Solution の開発中に、「その Solution の内部」に含める形で、
  一つの Project として 「ユーザーコントロール」 を作成しそれをビルドすると、
  それがツールボックス上に 「コンポーネント」 として現われてきて、それをその
  Solution の部品として Design時において貼り付ける、という操作が可能でした。

  その際その 「ユーザーコントロール」 は、「カスタムコントンロール」 ではなく
  新規作成メニューでの 「ユーザーコントロール」 として作成していました。

2.次に試しにその同じ 「ユーザーコントロール」 を、別の Solution に載せてみよう
  と、別の Solution では、「その Solution の内部」に含めずに、前の Soltuion 用
  のフォルダーにある Release サブフォルダー内のDLL化されたファイルを、
  Solution の 「参照」 に直に追加いてみましたが、それだけでは その Solution
  の Design時には、「ツールボックス」 にはその 「ユーザーコントロール」 は
  現われて来ませんでした。

そこでやむなく、Form_Load() において動的にコントロールを追加する仕方で載せる
と実行はできるのでした。この場合、Solution フォルダーの外部にある 「ユーザー
コントロール」 は、参照設定するだけでは Dezain時には使用できないということに
なるでしょうか?

もしくは、ツールボックスに載せるためには、そのユーザーコントロールにはデザイン時
用のために、ツールボックスに載せるためのコード等が別に必要となるのでしょうか。



21 :20:2007/01/15(月) 09:29:52
>>20 訂正 >Dezain時 -> Design時


22 :デフォルトの名無しさん:2007/01/15(月) 09:44:57
>>19
Number.one.ToString("d")

23 :デフォルトの名無しさん:2007/01/15(月) 09:55:24
そのコントロールをDLLのプロジェクトにすれば?
そうすればみんなで使える。


24 :デフォルトの名無しさん:2007/01/15(月) 10:12:56
>>20
ツール - ツールボックスアイテムの選択

25 :16:2007/01/15(月) 10:14:03
>>22
Very サンクス
すっきりした。
その辺をかなり突っつきまわしたのだが、ヘルプが見つからなかった。
おかげでこれを見つけた。
>ttp://samples.gotdotnet.com/quickstart/howto/doc/format.aspx

26 :デフォルトの名無しさん:2007/01/15(月) 10:54:06
つーかEnumはこの場合intなんだからキャストすりゃいいだけ

27 :デフォルトの名無しさん:2007/01/15(月) 11:16:08
>>23
別個のプロジェクトとして作成する必要があるということですよね。
一応そのようにしていたのですが、ツールボックスに載せられないのでした。
>>24さんのご指導によりわかりました。

>>24
さっそくのご指導、まことにありがとうございました、助かります。

「ツール」 メニュー の 「ツールボックスアイテムの選択」 でうまく行きました。
「.NET Framework コンポーネント」タブから、「参照ボタン」 で載せたいDLLを指定しました
ところ、確かにツールボクスの 「全般」 タブ上に該当のコントロールの名前が現われる
ことを確認しました。

これでやっと使い方がわかりました、ありがとうございました!!

28 :デフォルトの名無しさん:2007/01/16(火) 08:38:37
モジュールでグローバル変数を宣言しない場合、
グローバル変数はどうやって作るんですか?

29 :16:2007/01/16(火) 10:08:11
>>26
そうですね。
MSDNを見たら、オーバーロードの一覧の中に、
Enum.ToString()--このインスタンスの値を、それと等価の文字列形式に変換します。
となっていました。
これじゃあ"1"が出てくる訳が無い、ここがつまずきの第一歩でした。
EnumのメンバーはConstだから、"1"が出てくるものと思い込んでおり、
迷路に迷い込みました。

30 :16:2007/01/16(火) 13:53:28
app.configをアプリのバージョンを変えずに初期化する方法は有りますか?
ファイルを消去したら叱られました。


31 :デフォルトの名無しさん:2007/01/16(火) 14:26:11
For Each ファイル名 In Directory.GetDirectories(フォルダ名)

で取得するディレクトリは、ディレクトリ名でソートされているという保証はあるのでしょうか?
(動作確認した所、ディレクトリ名順で取得できているようですが)

32 :デフォルトの名無しさん:2007/01/16(火) 14:45:28
>>31
MSDN
For Each...Next ステートメント
反復処理の順序
を嫁。

33 :デフォルトの名無しさん:2007/01/16(火) 15:23:07
FindFirstFileとかファイルシステムの実装依存じゃね?

34 :デフォルトの名無しさん:2007/01/16(火) 16:33:57
信じられないなら一旦確保してソートすればいいじゃん。


35 :デフォルトの名無しさん:2007/01/16(火) 17:22:04
保証なんてされてません。

36 :デフォルトの名無しさん:2007/01/18(木) 11:07:26
お世話になってます。
非同期ソケットについて詳しい人、質問させてください。

サーバとクライアントでソケット通信をしようと考えています。
通常、非同期通信をするには「非同期ソケット」を使うのが一般的らしいので、
microsoftの非同期サーバー ソケットの例を参考に実装しています。
サーバ側はBeginAcceptでクライアントからの接続を待ち、
接続要求がきたらBeginReceiveでデータ受信を待つ、という形です。

しかしこれだと、クライアントから接続要求だけ実行されて
サーバは受信待ちをしているのにデータがぜんぜん送られてこない場合
処理を終わらせられないですよね。
無数に接続要求ばかり来た場合(dos攻撃?)、やばそうな感じです。

こういう場合、どう対処するのがスマートなんでしょうか?
接続ごとに時間測ってタイムアウトをとるとかでしょうか?

37 :デフォルトの名無しさん:2007/01/18(木) 12:16:08
データ受信中も接続要求を受け付ければいいのでは

38 :デフォルトの名無しさん:2007/01/18(木) 12:49:46
そういう話じゃなかろ?
たしかタイムアウト指定できなかったっけか?

で一定数以上の要求はキューに入れるなり破棄するなり。
あるいは同じホストなら一定数で拒否するとか?

39 :デフォルトの名無しさん:2007/01/18(木) 14:38:56
>>36
Windowsでサーバはダメだよ
2000Pro等だとそもそもサーバ動かしてはいけないし、XP Proだと10台まで

40 :デフォルトの名無しさん:2007/01/18(木) 14:52:50
>>39
馬鹿?
ソケットのクライアント・サーバの役割としてのサーバと、一般的なOSの役割としてのサーバを混同してないか?

じゃあ、あんたのところなIPメッセージとか10台限定してるんかい?
あれはクライアント兼サーバでソケット通信ですよ。

41 :デフォルトの名無しさん:2007/01/18(木) 14:55:52
http://www.apache.jp/misc/windows.html
馬鹿だよね。

42 :デフォルトの名無しさん:2007/01/18(木) 15:03:03
技術的な話してるんだからいいんじゃねえの
答えられないなら黙っといたほう恥かかないと思うよ

43 :デフォルトの名無しさん:2007/01/18(木) 15:06:04
役にも立たない無駄なソフト作る時間が可哀想と思ってな

44 :デフォルトの名無しさん:2007/01/18(木) 15:07:49
>>42>>40宛てでしょ。

45 :デフォルトの名無しさん:2007/01/18(木) 15:16:19
明らかにプログラミングに関する話で
運用環境の事など知ったことか。


46 :デフォルトの名無しさん:2007/01/18(木) 15:22:12
サーバ側で受信起動の度にスレッド投げちまえ。

47 :デフォルトの名無しさん:2007/01/18(木) 15:47:16
接続されたものを受信するかどうかは自由だから君のセンスで実装すればよい。

48 :デフォルトの名無しさん:2007/01/18(木) 18:53:01
すいません、学校でvisual studio.netを使いvbをやってるんですが家で
vbの宿題をやりたいのですがvisual studio.netと同じ環境のフリーソフトはありますか?

49 :デフォルトの名無しさん:2007/01/18(木) 19:08:14
SharpDevelop

50 :36:2007/01/18(木) 19:53:09
>>えらいみなさん
返答ありがとうございます。

BeginReceiveを読んでAcceptコールバックから抜けると
次々接続要求が来たとき全て同様にAcceptできるので素敵なんですが、
Acceptコールバック内でデータが来るまでブロックしちゃうと
その間別の接続要求を受け入れられなくなっちゃうんですよね。
BeginReceiveの後タイムアウトとしてReceiveコールバックが呼ばれてくれると
一番嬉しいのですが、タイムアウト設定は見当たりません。

VB.NETで非同期ソケットを実現させている方々は
BeginReceiveを使ってないのでしょうか・・・

>>48
Visual Studio 2005 Express Editionはいかが?

51 :デフォルトの名無しさん:2007/01/18(木) 21:03:42
>Acceptコールバック内でデータが来るまでブロックしちゃうと
どこが非同期なんだ?

52 :デフォルトの名無しさん:2007/01/18(木) 22:33:10
string型の一次元配列(領域数は44)をつくり、各領域に1文字ずつひらがなを格納したい場合、どう書けばよいでしょうか?
44行にわたって代入文を書かなくてはならないのでしょうか?
それともC言語のように1行で纏めて書く事も出来たりしますか?

平仮名44文字は例として出しただけで、本当は100個近く別個に格納したいと思っているのですが・・・
100行も代入が続くと見た目が美しくないというか冗長に見えると思いますが、
VB.NETはそういうものだという認識であるべきなのでしょうか?

53 :デフォルトの名無しさん:2007/01/18(木) 22:40:22
ファイルから読み込む

54 :デフォルトの名無しさん:2007/01/18(木) 22:43:10
まあ文字列を for でだな

55 :デフォルトの名無しさん:2007/01/18(木) 22:50:17
一次元配列の中身をシャッフルしたいのですが、どうしたら良いでしょうか・・・
VB2005です

56 :デフォルトの名無しさん:2007/01/18(木) 23:02:20
各要素ごとにどれかの要素と入れ替えればいい

57 :デフォルトの名無しさん:2007/01/18(木) 23:17:04
>>52
string[] hiragana = new string { "あ", "い", "う", ・・・}

ほとんどC言語と同じだな


58 :57:2007/01/18(木) 23:22:09
間違えた。
string[] hiragana = new string[] { "あ", "い", "う" };

必ず一文字ならこんなのもあるよ。

char[] hiragana = "あいうえお".ToCharArray();


59 :デフォルトの名無しさん:2007/01/18(木) 23:24:27
>>55
どうシャッフルするか(ルール)は自分で書くしかないヨ!

60 :デフォルトの名無しさん:2007/01/18(木) 23:26:40
>>57-58
あー、ここは VB スレだ。まあ大差ないが。


61 :デフォルトの名無しさん:2007/01/18(木) 23:27:45
>>52
forで'あ'から'ん'まで回せ

62 :57:2007/01/18(木) 23:31:57
>>60
うは!!!!orz

Dim hiragana As String() = New String() {"あ", "い", "う"}
Dim hiragana As Char() = "あいうえお".ToCharArray()


63 :デフォルトの名無しさん:2007/01/19(金) 00:17:38
Dim hiragana As String() = {"あ", "い", "う"}
でいいかと。

64 :デフォルトの名無しさん:2007/01/19(金) 06:36:41
便乗して横から質問させて下さい。
連続した文字である時、文字コードを使って代入するという事は出来るのでしょうか?
for文を使って文字コードの値を1つずつ増やして代入するという処理をループで回す事が出来れば簡潔にかけますよね

65 :デフォルトの名無しさん:2007/01/19(金) 07:00:19
できる

Char 型とか意識した事もないんだろな

66 :デフォルトの名無しさん:2007/01/19(金) 14:50:15
別プロセスのフォームに存在する特定のコントロールの
ウインドハンドルが判っているときに、
そのコントロールにフォーカスが
あるかどうかの判定はどうすれば可能でしょうか?

67 :デフォルトの名無しさん:2007/01/19(金) 15:13:07
ウィンドハンドルいらないから、コントロールのフォーカスがあたれば
INIでも更新して、外れればINIを戻すでも実装できるし、
INIの代わりにプロセス間通信でもいいし。

68 :デフォルトの名無しさん:2007/01/19(金) 15:37:44
>>67
レスどもです
別プロセスのフォームって言うのは、ソースがどっか行っちゃってるPGで
自分が中身を触れる状態には無いのです。
コントロールIDを特定してハンドルは取得出来たのですが、
フォーカスがあるかどうかの判定がうまくいきません。


69 :デフォルトの名無しさん:2007/01/19(金) 16:17:03
SetFocusAPI
の引数と戻り値で判定し、
判定後フォーカスを元に戻してやるとかダメかな。

70 :デフォルトの名無しさん:2007/01/19(金) 16:49:39
>>69
ありがとうございます、やってみます

71 :デフォルトの名無しさん:2007/01/19(金) 17:20:14
別プロセスだと駄目だった希ガス

72 :デフォルトの名無しさん:2007/01/20(土) 23:42:53
文字列が、正しいファイル名(パスが付いていても良い)かどうか
判定する方法はあるか?
"C:\path1\path2\filename.txt" GOOD
"fasdjkfas://))(()))239hj$%&" BAD
みたいな判定をしたいのだが。

73 :デフォルトの名無しさん:2007/01/21(日) 00:27:25
>>72
それが人にものを訊く態度か
Path.GetInvalidFileNameCharsでも見とけや阿呆

74 :デフォルトの名無しさん:2007/01/21(日) 00:58:45
>73
さんきゅう。
VB2005から使えるのか。
俺は2003なので使えないな。でも参考になったぜ。感謝しているぞ。


75 :36:2007/01/21(日) 10:08:13
遅レスながら・・
>>46のいうように接続ごとにスレッドたてることにしました。
ありがとうございました。

76 :デフォルトの名無しさん:2007/01/22(月) 07:36:21
ContextMenuStripと全く同じ項目をMenuStripで使用したい場合
同じコードを2つ書かなくても良い方法が有りますか?
たとえばテキストボックスの「編集」なんかを、右クリックを
プルダウンメニューで使用したいのです。
お願いします。


77 :デフォルトの名無しさん:2007/01/22(月) 10:08:22
おはようございます
早速ですが、異なるプロシージャで変数を共有したい場合、どういった方法が最も妥当だと言えるのでしょうか
弱い頭で考えたわたしなりの方法としまして、グローバル変数、引数の渡しっこ、変数を格納するただそれだけのクラスを作る、
ぐらいしか思いつきません、皆様方はいかなる方法をとり日々プログラミンスっているのでしょう
何とぞよろしくお願いし□


78 :デフォルトの名無しさん:2007/01/22(月) 10:47:42
>>76
両方のイベントハンドラで一つのメソッド呼べばいいじゃん

>>77
クラスフィールド
つーかクラスって知ってる?


79 :デフォルトの名無しさん:2007/01/22(月) 10:52:53
すいません。
VB2005でSerialPortのReadで取得したByteデーターを
Unicodeに変換する方法を教えてください。

80 :デフォルトの名無しさん:2007/01/22(月) 11:43:31
>>79
Encoding周りで出来ないの?


81 :79:2007/01/22(月) 11:53:59
>>80
>>Encoding周りで出来ないの?
はい、送信のUnicode から s-jisは出来たのですが。

Dim enc As Encoding = Encoding.Unicode
Dim byteArray() As Byte
ReDim byteArray(SerialPort.BytesToRead)
SerialPort.Read(byteArray, 0, SerialPort.BytesToRead)
Dim strGetText As String = enc.GetString(byteArray)
これをTextBoxに表示させていますが、「...」になります。
バイト配列には入っています。

82 :デフォルトの名無しさん:2007/01/22(月) 13:30:43
>>81
それじゃUTF-16 =>UTF-16の変換になってるよ。

83 :デフォルトの名無しさん:2007/01/22(月) 14:03:56
Visual Basic 2005 Express Editionで
Labelを使うたびにAutoSizeをFalseにするのが面倒なんですが、
プロパティのデフォルトの値を変更することは可能でしょうか?
可能であればやり方を教えてください。

84 :79:2007/01/22(月) 14:04:58
>>81
そうでした。
EncodingクラスのConvertメソドを使うことで出来ました。
おさがわせしました。

85 :デフォルトの名無しさん:2007/01/22(月) 14:10:51
VB2005の配列の宣言は、どれが良いんでしょう?
全部意味が違ってるみたいですが・・・

Dim Test1() As String = New String(4) {}
Dim Test2(4) As String

Dim Test3() As String
Dim Test4 As String()

86 :85:2007/01/22(月) 17:21:32
たぶん分かりました。
コンパイルされた後のMSILを見ると全部同じになるみたいです。
(上記の例はどうかわかりませんが・・・)
なので、好きなように書いても構わない。が答えで良いと思います。

参考URL
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=803491&SiteID=7

87 :デフォルトの名無しさん:2007/01/22(月) 17:23:08
同じならすきに書いていいなんて素人の判断するな

88 :85:2007/01/22(月) 18:13:58
参考URLの

>けして冗談だけではなくて。 一人でプログラミングしているときは、
>どの書き方をするかは好みの問題です。
のコメントを

>好きなように書いても構わない。
と解釈したのは、まずかったですか?

あとの文章に可読性を第一に考える等、色々書いているのを
記載しなかったのは、あやまります。

89 :デフォルトの名無しさん:2007/01/23(火) 07:58:23
>>85
枝葉末節

90 :デフォルトの名無しさん:2007/01/23(火) 09:55:59
>>87
どう判断すべきか書きましょう。 34点。
>>89
情報量ゼロ。 1点。

91 :デフォルトの名無しさん:2007/01/23(火) 11:54:15
>>90
国語の読解力。1点。

92 :デフォルトの名無しさん:2007/01/23(火) 16:53:17
Dim Text1 As String()

オススメ。
後々これが一番しっくり来ると思う。

93 :デフォルトの名無しさん:2007/01/23(火) 17:30:41
あっそ。

はい、次。

94 :デフォルトの名無しさん:2007/01/23(火) 18:06:02
Dim strList as new List(of String)


95 :デフォルトの名無しさん:2007/01/23(火) 18:09:16
C#のように考えるなら、下みたいに書いた方が良いかな?

Dim text1 As String()
Dim text2 As String() = New String(4) {}
Dim text3 As String() = New String() {"1", "2", "3", "4", "5"}

96 :デフォルトの名無しさん:2007/01/23(火) 18:11:08
Dim Text1 とやった時点で、コーディング作法の勉強しなおし。

97 :デフォルトの名無しさん:2007/01/23(火) 18:25:34
何言ってんだ

98 :デフォルトの名無しさん:2007/01/23(火) 18:25:48
>>85

1> Dim Test1() As String = New String(4) {}
冗長

2> Dim Test2(4) As String
いいね

3> Dim Test3() As String
いいね

4> Dim Test4 As String()
要素数を指定するとき2と、記法が異なるね

配列数指定の有/無でも一貫しているので、
満場一致で2、3に決まりました。
初心者はこちらをご使用ください。

99 :デフォルトの名無しさん:2007/01/23(火) 18:38:42
あっそ。

はい、次。


100 :デフォルトの名無しさん:2007/01/23(火) 18:50:26
ひとりつまんない奴がいますね
いつものキチガイの方でしょ?

101 :デフォルトの名無しさん:2007/01/23(火) 18:57:07
あっそ。

はい、次。

102 :デフォルトの名無しさん:2007/01/23(火) 19:50:47
反応したんならビンゴか。
ネット匿名掲示板のレスで特定できるほど
腐臭が漂ってるから、リアルでは相当気をつけなよ。

103 :デフォルトの名無しさん:2007/01/23(火) 19:51:18
あっそ。

はい、次。

104 :デフォルトの名無しさん:2007/01/23(火) 19:52:11
バカとバカに釣られてるヤツだけなのかここは

105 :デフォルトの名無しさん:2007/01/23(火) 20:33:47
>>98
どうやら君とは理解しあえないようだ。


106 :デフォルトの名無しさん:2007/01/23(火) 20:36:20
次元数まで含めて変数の性質に見える。
気持悪い。
古い書き方と互換性持たせるだけの書き方はやめた方がええ

107 :デフォルトの名無しさん:2007/01/23(火) 21:05:23
>>105
皆そうだとおもうけどw

>>106
固定のサイズの配列の場合

Dim text1 As String(10)

って書けないのが厄介。
むむむ。

108 :デフォルトの名無しさん:2007/01/23(火) 21:15:39
配列って固定サイズだろ

109 :デフォルトの名無しさん:2007/01/23(火) 21:17:36
>>108
ちょっとくらい推察してやれよ

110 :デフォルトの名無しさん:2007/01/23(火) 21:33:01
いやです

111 :デフォルトの名無しさん:2007/01/24(水) 00:16:49
どくいり きけん たべたら しぬで

これをプログラミングしてください もちろんVBで!!!

112 :デフォルトの名無しさん:2007/01/24(水) 00:59:44
ネタはオヤジ。
知能はコドモ。

113 :デフォルトの名無しさん:2007/01/24(水) 09:10:01
VB2005で作ったソフトとDelphi.NETで作ったソフト

どちらの方が実行速度が速いでしょうか?

114 :デフォルトの名無しさん:2007/01/24(水) 09:56:17
どちらも遅い

115 :デフォルトの名無しさん:2007/01/24(水) 10:02:29
VB2005もDelphi.NETもMSIL(中間言語)にコンパイルされてから動くから
MSILを書くときどれだけ効率よく書けるかで違ってはくるだろうけど
.NET Frameworkを使うから実行速度はほとんど変わらないはず。

116 :デフォルトの名無しさん:2007/01/24(水) 10:07:04
>>114
>>115
レス有難うございます。

Delphi Win32にするかなぁ・・・しかし、Vista対応を考えると・・・。

117 :デフォルトの名無しさん:2007/01/24(水) 10:13:45
ハァ?VistaはWin32が動かないとでも言うのか?

118 :デフォルトの名無しさん:2007/01/24(水) 10:28:12
>>117
お前以外に誰もそんな事いってねーよ。

119 :デフォルトの名無しさん:2007/01/24(水) 10:38:25
>>118
そんな事って?

120 :デフォルトの名無しさん:2007/01/24(水) 10:47:32
この問いかけは無理がある。

121 :デフォルトの名無しさん:2007/01/24(水) 11:39:33
Delphiアプリは、VistaのAlt+Tabで変な挙動をする。
変なウインドウがあるからかな

122 :デフォルトの名無しさん:2007/01/25(木) 02:53:45
>>116
何に処理速度が必要なのか言ってみ

123 :デフォルトの名無しさん:2007/01/25(木) 09:01:08
>>122
多分、いってみただけだろ?w
こういう奴の大半はしったかで、とりあえずMSの悪口いってみればかっこいいと思ってる奴。


124 :116:2007/01/25(木) 10:45:58
>>122
PictureBoxにグラフを書きたいのだが
VB6の時、書くポイントが多くなると描画に時間が掛かった。
どうもコンポーネントを経由するから時間が掛かるらしい。

それに対しDelphiの場合、その経由が無くかなり速かった。
(結局VB6で作ったのですが・・・)

で、同じようなモノを新しく作る事になり、ついでに開発環境を新しくしようと言う事で
 VB2005、Delphi.NET、Delphi Win32
のどれにしようかと考えて、ちょっと質問させて貰ったんですけどね。

vista対応や64bit対応や色々と注文もあったりして・・・

125 :デフォルトの名無しさん:2007/01/25(木) 10:46:05
VB.NET始めようと思ってるんだけど良書おせーてください
もしくは買っちゃいけない悪書

126 :デフォルトの名無しさん:2007/01/25(木) 11:15:51
>>124
VB6で描画で早くやろうと思ったら、APIを使うのがまあ筋でしょ?
.netであれば別に言語がどうこうは大差ない。

>>125
@ITあたりを読破してからでもおそくないべ。


127 :デフォルトの名無しさん:2007/01/25(木) 11:20:37
@ITってあれか
以前Cの記事だったかなんだったかで適当な事書いてあったから信用してないんだよな・・・

128 :デフォルトの名無しさん:2007/01/25(木) 11:33:40
こんなところで入門書の選択を聞く奴よりはよっぽど信頼できる。


129 :デフォルトの名無しさん:2007/01/25(木) 11:37:43
>>126
API・・・まあそうなんだけどね。
へっぽこなんで使いこなせませんでした。

速度で言えば
Win32>.net
なんだよね? やはり。

130 :デフォルトの名無しさん:2007/01/25(木) 11:38:29
>>128
そりゃすいませんw

131 :デフォルトの名無しさん:2007/01/25(木) 12:43:00
川俣のあの記事結構いいと思うよ俺は。
VB6erじゃなくてもね

132 :デフォルトの名無しさん:2007/01/25(木) 13:01:16
>>131
ありがとう
今見てる

133 :デフォルトの名無しさん:2007/01/25(木) 13:32:30
string型変数に格納した文字列の中からy番目の文字を一文字消したいのですが、
hairetu.remove(y.1)
これでいいのかと思ったのですが何も起こりません・・・
ちゃんとyにも数字が入っているのですが

どこがおかしいのでしょうか?
そもそももっと違う方法でやるべきものなのでしょうか?

134 :デフォルトの名無しさん:2007/01/25(木) 13:37:53
>>133
hairetu = hairetu.remove(y.1)

135 :デフォルトの名無しさん:2007/01/25(木) 16:24:05
最近プログラムを始めた初心者なのですが、.NETでlogの計算をできるのでしょうか?
それとも自分で計算式を組まないとダメなのでしょうか?
もしできるのであれば、教えていただけるとありがたいです。
お願いします。

136 :デフォルトの名無しさん:2007/01/25(木) 16:30:48
>>135
System.Mathクラス

137 :デフォルトの名無しさん:2007/01/25(木) 16:34:51
「.NETでlogの計算」でググれ!
さすればおのずと答えが導かれるでしょう。

138 :135:2007/01/25(木) 17:20:56
ありがとうございます。
解決しました。

139 :デフォルトの名無しさん:2007/01/25(木) 17:37:13
>>135
Math.Log()

140 :デフォルトの名無しさん:2007/01/25(木) 23:52:16
今オセロ作ってます
PictureBox1_Clickのメソッド内で
PictureBox1をクリックするとクリックした場所の升目に
絵(白黒のチップ)が描写されるプログラム作ってるんですけど
ウィンドウ縮小したり違うウィンドウに被せるとチップの絵が消えるんだけど
消えないようにするにはどうすればいいんでしょう?
自分でも無学なりに調べてみたんだけど全然ワカラン
tipsサイトにAutoGraphics使ったら消えないとあったから使ってみたんだけどチップが1個しか描写できないからゲームにならん・・・

141 :デフォルトの名無しさん:2007/01/25(木) 23:55:08
Paintイベントで再描画しる

142 :デフォルトの名無しさん:2007/01/26(金) 00:02:47
ピクチャーボックスのクリックダウンイベント中に
メッセージボックス出すことって可能?

143 :デフォルトの名無しさん:2007/01/26(金) 00:13:19
クリックダウンイベント "中" に

144 :142:2007/01/26(金) 00:20:26
>>143すみません間違えました
「クリックダウンイベントの中で」って言えばいいんだろうか

例えばピクチャーボックスをクリックして条件を満たした場合に
メッセージボックスで「条件を満たしました」みたいなことを出したいんですが

145 :デフォルトの名無しさん:2007/01/26(金) 00:23:18
やってみればいいじゃないですか。


146 :デフォルトの名無しさん:2007/01/26(金) 01:25:50
メッセージボックスに変数と文字を両方出力させたいのですがどう書けばできますか。

147 :デフォルトの名無しさん:2007/01/26(金) 02:29:08
もっと具体的に書いてくれ。

MessageBox.Show(String.Format("変数nの値は{0}です。", n))

148 :146:2007/01/26(金) 08:34:04
MessageBox::Show("n={0}","結果",MessageBoxButtons::OK);
のような感じにしたいのですが・・

149 :デフォルトの名無しさん:2007/01/26(金) 08:43:14
ローカルウィンドウ見れ

150 :デフォルトの名無しさん:2007/01/26(金) 11:02:12
MessageBox::Show("n=" + n, "結果", MessageBoxButtons::OK);


151 :デフォルトの名無しさん:2007/01/26(金) 12:46:10
おまえら・・・なんでこんなレベル低い話やってんだよw

152 :146:2007/01/26(金) 19:18:40
int n = 2;
MessageBox::Show(n + "abcdefg", "title", MessageBoxButtons::OK);
とするとcdefgと表示されnの数だけ文字が消えてしまうのですがどうしたらいいですか

>>151
すいません、ド素人なんです

153 :デフォルトの名無しさん:2007/01/26(金) 19:29:28
ここVB.NETスレだよな?

154 :147:2007/01/26(金) 20:12:18
>>152
その前にプログラムの経験ある?
んで >>147 はどうだったのよ。

なんか釣られてるような気がしてきた…

155 :146:2007/01/26(金) 20:26:05
>>154
c++をちょっとかじった程度で.NETは入門書見ながらやってますがさっぱりです。
147はコンパイルできません。
MessageBox::ShowがMessageBox.Showとされてるのを見ると何か根本的に間違っている気がしてきました・・・

156 :デフォルトの名無しさん:2007/01/26(金) 20:35:47
>>155
おまいはいったい何の言語を使ってるんだ
C++/CLIだったらスレ違い

157 :146:2007/01/26(金) 20:39:19
>>156
Visual c++ .NET です

158 :デフォルトの名無しさん:2007/01/26(金) 20:40:17
スレタイを100回読み直せ

159 :147:2007/01/26(金) 20:40:59
>>157
まずはインターネットの使い方を…

160 :デフォルトの名無しさん:2007/01/26(金) 22:09:20
この一連の流れワロタw

161 :デフォルトの名無しさん:2007/01/27(土) 18:16:43
プロセスIDから親プロセスIDを得るにはどうすればよいのでしょう?
PerformanceCounter("Process","Creating Process ID","プロセス名")
だと、プロセス名が重複すると駄目だし。


162 :デフォルトの名無しさん:2007/01/27(土) 18:58:51
Win32API の CreateToolhelp32Snapshot かな
NT4 じゃ使えないようだがまあいいよな今更

163 :デフォルトの名無しさん:2007/01/28(日) 12:57:45
Formのクライアント領域にDrawLinesで連続した線分を描いてるんだけど、
Paintイベントがウィンドウのサイズを変更したことによって起こった場合と、
Invalidateメソッドによって起こした場合とで極端に違うみたいだ。

どうしてだろうか?
またこれを回避する方法はあるのかな。

164 :163:2007/01/28(日) 13:00:20
【訂正】
× Invalidateメソッドによって起こした場合とで極端に違うみたいだ。
○ Invalidateメソッドによって起こした場合とでパフォーマンスが極端に違うみたいだ。
問題を再現できると思われるコードです。
  Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    MyBase.SetStyle(ControlStyles.ResizeRedraw, True)
  End Sub
  Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    Dim pt As PointF() = New PointF(1000 - 1) {}
    Dim rnd As New Random
    Dim width As Integer = Me.ClientSize.Width
    Dim height As Integer = Me.ClientSize.Height

    Dim sw As New Stopwatch
    sw.Start()

    For i As Integer = 0 To 999
      With pt(i)
        .X = CSng(width * i / 1000)
        .Y = rnd.Next(height)
      End With
    Next

    Dim g As Graphics = e.Graphics
    g.DrawLines(Pens.Black, pt)

    sw.Stop()
    Console.WriteLine("Elapsed = {0}", sw.Elapsed)
  End Sub
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.Invalidate()
  End Sub

165 :デフォルトの名無しさん:2007/01/28(日) 13:41:24
Invalidate は全体を再描画するわけだが

166 :デフォルトの名無しさん:2007/01/28(日) 13:44:50
>>163
リサイズの方が遅いでいいのかな?
フレームの書き直しやマウスでのドラッグの処理でパワーをくってるのでは。
Invalidateとリサイズは別のフォームから操作するようにすれば条件は近くなると思う。

167 :デフォルトの名無しさん:2007/01/28(日) 14:05:59
どんくらいちがうのん?


168 :161:2007/01/28(日) 14:50:11
>>162
だんけです。

ネイティブのPerformanceCounterにはインスタンスインデックスとかがあって
区別できるようですが、.NETからはどうも指定できないみたい。


169 :デフォルトの名無しさん:2007/01/28(日) 18:01:07
Me.WindowState = FormWindowState.Minimized
をした時、メモリの消費量(正確にはスワップされてるだけっぽいですが)が減りますが、これは内部でどのようなメソッドを呼び出しているのでしょうか。
最小化せず、メモリ消費量が減ったように見せたいのですが、、、

170 :デフォルトの名無しさん:2007/01/28(日) 18:06:27
また意味わかんないことを言う奴が来たなあ。。

171 :デフォルトの名無しさん:2007/01/28(日) 18:12:24
>>169
SetProcessWorkingSetSize(hProcess, 0xffffffff, 0xffffffff)  : kernel32.dll

172 :デフォルトの名無しさん:2007/01/28(日) 18:22:10
>>171
分かりました。ありがとうございまくす。

173 :デフォルトの名無しさん:2007/01/28(日) 21:26:09
教えてもらってくすくす笑うなぁぁぁぁ!

174 :デフォルトの名無しさん:2007/01/28(日) 22:33:14
>>173
>>170

175 :デフォルトの名無しさん:2007/01/29(月) 02:33:34
>>163
165が言うようにInvalidateはウィンドウ全書き換え。
で、ウィンドウのリサイズや別ウィンドウが重なった後の書き換えは
単純に矩形にならず、複雑な形でクリッピングする処理が入る。

リサイズでも全書き換えしたいなら SetStyle とか見てみ

176 :デフォルトの名無しさん:2007/01/29(月) 03:26:07
二次元配列 Array1(3,3)とArray2(3,3)の中身を比べるプログラムを作りたいんですけど
どなたか助言をお願いします。

Array1とArray2の中身すべてに
Integer型の0、もしくは9が格納されています。
Array1とArray2の中身を見比べて全く一緒ならtextbox1に「○」と表示させたいと思っています。

(例)
Array1 Array2
001  001
101  101     ←中身が全く同じなので「○」
000  000

Array1 Array2
001  001
101  111     ←中身が違うので「×」
000  001

自分で調べてみてループや判定文を使うのだろうと思って頑張ったのですが
動作してくれません。初心者ですみませんがよろしくお願いします。

177 :デフォルトの名無しさん:2007/01/29(月) 03:27:28
>>176
×Integer型の0、もしくは9が格納されています。
○Integer型の0、もしくは1が格納されています。

間違えました。ごめんなさい。

178 :デフォルトの名無しさん:2007/01/29(月) 04:00:05
>>176
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer, j As Integer
Do
For i = 1 To 3
For j = 1 To 3
If Array1(i, j) <> Array2(i, j) Then
TextBox1.Text = "×"
Exit Do
End If
Next
Next
TextBox1.Text = "○"
Exit Do
Loop
End Sub

179 :デフォルトの名無しさん:2007/01/29(月) 05:12:45
名前空間のステートメントが無効です。
全く何をすればいいのか解らない・・・です・・・

180 :デフォルトの名無しさん:2007/01/29(月) 11:51:09
自作クラスのオブジェクトをCStr(MyObj)のように使いたいのですが、出来ますか?
出来るとしたらどんなメソッド(プロパティ?)を実装すればいいですか?

181 :デフォルトの名無しさん:2007/01/29(月) 11:58:50
ToString()をオーバーライドしたらよかっぺ

182 :デフォルトの名無しさん:2007/01/29(月) 12:37:44
>>175
回答する能力ないくせに無理して答えなくていいんだよ。
人の張ったサンプルを良く見たか?w

183 :デフォルトの名無しさん:2007/01/29(月) 13:41:26
すんません。
Dim s() As String
と宣言して、どこかでインスタンスを作るとして、
インスタンスが既に出来ているのか居ないのか
判断する方法を教え下さい。

184 :デフォルトの名無しさん:2007/01/29(月) 13:45:04
IsNothingとか Is Nothing とか。


185 :183:2007/01/29(月) 15:28:32
>>184
もう少し具体的にお願いします。
Dim s() As String
'If s(0) Is Nothing Then  <- ここんとこ
ReDim s(0)
End If

186 :デフォルトの名無しさん:2007/01/29(月) 17:33:22
>>185
184じゃない↓がでええやろ?
If s Is Nothing Then

187 :183:2007/01/29(月) 17:46:27
>>186
ダメみたいです。(^^;
「変数's'は値が割り当てられる前に使用されいます。・・・・」
と出ます。

188 :デフォルトの名無しさん:2007/01/29(月) 17:55:02
>>187
それは警告だから動くだろ?
警告が気に入らないなら↓のようにしとけ
Dim s() As String = Nothing

189 :デフォルトの名無しさん:2007/01/29(月) 17:56:10
Dim s() As String

'変数初期化します。
ReDim s(0)

で駄目なの???



190 :デフォルトの名無しさん:2007/01/29(月) 18:21:13
>それは警告だから動くだろ?

にVB厨の神髄をみた

191 :デフォルトの名無しさん:2007/01/29(月) 18:23:49
ReDimなんか使うんじゃねぇ

192 :デフォルトの名無しさん:2007/01/29(月) 18:27:37
>>183
だから大人しく入門書をまず読めって。
人様に質問なんざそれからにしろよ。

お前さんのやってることは、九九も知らないのに連立方程式の解き方を教えろと言ってるのと同じだ。
九九のレベルからいちいち掲示板で質問するつもりか?
そんなんじゃどんなに幸運でも100年かかるわw

193 :デフォルトの名無しさん:2007/01/29(月) 18:39:22
ていうか、VBって無くなるみたいだからやらない方がいいんじゃないの?


194 :デフォルトの名無しさん:2007/01/29(月) 18:43:20
>>193
ソースは?

195 :デフォルトの名無しさん:2007/01/29(月) 18:52:28
Dim x(0)
ReDim x(100)
はVB6だとエラーになるが、VB.NETでは大丈夫というかIs Nothingを省きたいときの推奨の方法みたいだ。
ただ可変配列を使いたいときはコレクションの使用も考慮したほうがいい。


196 :デフォルトの名無しさん:2007/01/29(月) 18:58:56
>>194
公式情報ではなくて、以前C#のスレに書いてあった。
VBは無くなるからC#にしておけとの事だとか。

197 :デフォルトの名無しさん:2007/01/29(月) 18:59:45
kuma-

198 :デフォルトの名無しさん:2007/01/29(月) 19:58:35
>>196
ゲイツ様はC#をあきらめてVBはこれまで通りプッシュされると聞き及んでいますが、
あなたはこれを信用しますか?

199 :デフォルトの名無しさん:2007/01/29(月) 20:00:00
下らんそんなに馴れ合いたいのなら他所行きな

200 :デフォルトの名無しさん:2007/01/29(月) 20:14:27
誘導、ここで好きなだけやってくれ

【VB.NET】VS2005 選ぶならどっち?【C♯】
http://pc10.2ch.net/test/read.cgi/tech/1106538237/l50

201 :183:2007/01/29(月) 21:10:59
>>188
>>Dim s() As String = Nothing
サンクス、うまくいきました。

>>189
配列のサイズでデーターの大きさを所得したいので。
If s IsNot Nothing Then
  ReDim Preserve s(s.Length)
Else
  ReDim s(0)
End If
こんなことを考えてました。

>>195
実際はジェネリックでやってます、それと疑問は別物で。

>>193
客の要望でどっちでも書いてます。
C丼でも大してかわりが有りません。

202 :デフォルトの名無しさん:2007/01/29(月) 21:23:04
201みたいなプログラマの書いたコードは怖くて使えんな。
なんだよその「動けばいいじゃん」っていう発想w

本当にそれでいいのか?
どんなショボい入門書にも書いてあることが理解できてないのに

203 :デフォルトの名無しさん:2007/01/29(月) 22:21:51
>>183
初期化はちゃんとした方がいい。
>>188 はちょっと乱暴だが…w

204 :デフォルトの名無しさん:2007/01/29(月) 22:23:49
それ以前に参照型って概念が理解できてないんでしょ

205 :デフォルトの名無しさん:2007/01/29(月) 22:24:45
>>190
C#だったらどーするの?

206 :デフォルトの名無しさん:2007/01/29(月) 22:32:09
だから「初期化しろ」って警告なんだろーが

207 :デフォルトの名無しさん:2007/01/29(月) 22:34:07
初期化するだろ普通は

208 :デフォルトの名無しさん:2007/01/29(月) 22:35:03
190も馬鹿だが>>205-206もな
初期化しろ?w
ちょっとニュアンス違うよ


209 :デフォルトの名無しさん:2007/01/29(月) 22:41:13
>>208
だからVB厨じゃなかったらあの警告にどう対処するのか教えてよ。

210 :デフォルトの名無しさん:2007/01/29(月) 22:43:56
>>208
日本語に不自由なのも大概にしとけよw

対処すべきだ、というニュアンスを匂わしてる奴を馬鹿だといってるんだけど

211 :210:2007/01/29(月) 22:44:41
>>209の間違い

212 :デフォルトの名無しさん:2007/01/29(月) 22:47:18
ああなんだ190ってあいつか。
おめーがアンカーつけねえからわかんなかったじゃねえか。

213 :デフォルトの名無しさん:2007/01/29(月) 22:47:27
なにこの肥溜めスレ

214 :デフォルトの名無しさん:2007/01/29(月) 22:57:13
初期化しないでも警告だけでコンパイル通るの?
VB.netって。
そうなら>>190はそういうこと言ってるんじゃないのかな



215 :デフォルトの名無しさん:2007/01/29(月) 22:58:15
なんか祭ってるな。

>>212
お前の知り合いか?


216 :デフォルトの名無しさん:2007/01/29(月) 22:59:31
むしろいちいち初期化しないとコンパイル通らない言語って具体的になんだよw

217 :デフォルトの名無しさん:2007/01/29(月) 23:01:01
>>216
C#

218 :デフォルトの名無しさん:2007/01/29(月) 23:02:52
おいおいw

219 :デフォルトの名無しさん:2007/01/30(火) 00:17:17
>If s IsNot Nothing Then
>  ReDim Preserve s(s.Length)
>Else
>  ReDim s(0)
>End If
>こんなことを考えてました。

こりゃいったいどういうプログラムだ。


220 :デフォルトの名無しさん:2007/01/30(火) 00:19:56
C#は初期化しないと通らんぞ。
正確にはどこでも初期化せずに、いきなり参照すれば、だが。


221 :デフォルトの名無しさん:2007/01/30(火) 00:28:11
>>220
もういい馬鹿は糞して寝てろw

222 :デフォルトの名無しさん:2007/01/30(火) 00:34:33
フィールドなら通るから勘違いしてんのか?


223 :デフォルトの名無しさん:2007/01/30(火) 01:23:07
ローカル変数は初期化しないで参照することはできんな。

224 :183:2007/01/30(火) 08:11:30
>>219
あるデーターを採取して配列に入れる、入れる前に
配列の個数を1つ増やす、値の代入は本質問と
無関係なため省略してある。
蛇足だが、その後は、プログラム終了時は、
配列はシリアル化してXMLファイルに
書き込み、次の起動時に配列に読み込む。
データーの数又データーの有無は、配列の要素数で
判断する。

>>202
何が書いてあるのだ。
あなたのコードを見せていただけますか。

>>203
>>201が初期化のコードだと言うことがわからんかな。


225 :デフォルトの名無しさん:2007/01/30(火) 08:15:38
可変長なコレクションに配列は無いわ

226 :200:2007/01/30(火) 08:26:08
>>224
馬鹿にして悪いけどしょうがないよ、あんた本当に基本がわかってないし、
自分が基本がわかってないっていう自覚すらないから。

例えば値型と参照型の区別、なんていう基礎の基礎からしてわかってないでしょ。
.NETにおける配列の意味もわかってない。

それだけでなくセンスもない。
理解できないだろうけど>>201みたいなコードってありえんから。

227 :デフォルトの名無しさん:2007/01/30(火) 10:21:11
配列の個数を1増やす
や め て く れ
何故かVB6時代によくみたコードだな。
だがVB6でもこれはやめてほしい。

228 :デフォルトの名無しさん:2007/01/30(火) 10:25:39
で、要素数-1がデータ数かよ。
要素0もしくは最後か?ともかく余った要素には何が入ってんだ?


229 :デフォルトの名無しさん:2007/01/30(火) 10:29:30
初歩的な質問で申し訳ないのですが、画面のリストボックスに
スクロールが必要でない時も最初から縦スクロールバーを表示させるにはどうしたら良いでしょうか?
スクロールが必要な際は表示されるのですが、そうでない時はスクロールバー自体が消えてしまいます。

230 :デフォルトの名無しさん:2007/01/30(火) 10:32:37
間違えました。
ListBoxではなく、ListViewでした。

231 :デフォルトの名無しさん:2007/01/30(火) 12:27:13
だから一晩かかってるのに何故 List(of xxx)とか ArrayListにしないの?
シリアル化だって勝手にやってくれるし。


232 :183:2007/01/30(火) 12:53:29
>>231
201をよく嫁
実際はListジェネリッククラスを使って、
インデクサで処理してる。

>>226
おまえが1番馬鹿なようだな。

いやもっと馬鹿が居た。
>>228


233 :188:2007/01/30(火) 13:05:42
おいらのレスでずいぶん盛り上がりましたねw

234 :デフォルトの名無しさん:2007/01/30(火) 13:42:48
>>232
VBの配列の指定数は要素数じゃないだろってだけの話だろう?
馬鹿馬鹿ばっかり言ってないでなぜ馬鹿なのか分かるように言ってくれよ

235 :デフォルトの名無しさん:2007/01/30(火) 15:35:32
どなたか>>229-230に回答を…。
ググってみたら同じような質問があったのですが、それにも回答がついてませんでした。

236 :デフォルトの名無しさん:2007/01/30(火) 15:46:37
ArrayListって要素を追加した順番に保存されますか?
またfor eachで取り出す場合はその順番は保証されていますか?

237 :デフォルトの名無しさん:2007/01/30(火) 15:50:36
>>235
適当に空行足しておけばいいだろ。


238 :デフォルトの名無しさん:2007/01/30(火) 16:08:05
>>236
そらそうだ

239 :デフォルトの名無しさん:2007/01/30(火) 16:11:25
>>236
順番に保存する他にどんな保存方法があるんだ?
For Eachは要素を列挙する関数なんで、順番は保証されない。
とは言ったものの実際は順番に出てくるが。
正式にはインデクサを使え。

240 :デフォルトの名無しさん:2007/01/30(火) 16:24:18
やっぱりfor eachは多用しないように気をつけようっと。

241 :デフォルトの名無しさん:2007/01/30(火) 17:00:59
>>239
嘘つけw

242 :デフォルトの名無しさん:2007/01/30(火) 17:33:39
>>237
通常IE等でスクロールがない画面で表示されるようなグレイアウトの状態でスクロールバーを表示したいので
改行を足すのはちょっと目的と変わってしまいます。
でもお答え頂きありがとうございます。

引き続きどなたかわかる方、回答お待ちしています。

243 :デフォルトの名無しさん:2007/01/30(火) 17:34:05
反復処理の順序 For Each...Next ループを実行すると、コレクションの反復処理の順序は
GetEnumerator メソッドが返す列挙子オブジェクトの制御下に置かれます。反復処理の順
序は、Visual Basic ではなく、列挙子オブジェクトの MoveNext メソッドによって決まります。
したがって、コレクションのどの要素が最初に element に返されるかや、特定の要素の後
にどの要素が返されるかを予測することはできません。

特定の順序でコレクションを反復処理する必要がある場合は、そのコレクションによって公
開される列挙子オブジェクトの特性を把握していない限り、For Each...Next ループが適切な
選択肢とは言えません。For...Next ループや Do...Loop ループなど、別のループ構造を使
用した方が、信頼できる結果が得られます。

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_vbalr/html/ebce3120-95c3-42b1-b70b-fa7da40c75e2.htm

244 :デフォルトの名無しさん:2007/01/30(火) 17:37:55
Array"List"のListってのは何を意味してるか考えろよ。
列挙子オブジェクトの特性が把握できてるんだよ。w この場合。


245 :デフォルトの名無しさん:2007/01/30(火) 17:41:43
おぉ!ということはfor eachでも問題ないんですね。
かっこいーからfor eachのほうを使うことにします。

246 :デフォルトの名無しさん:2007/01/30(火) 18:13:46
>>242
なんの為か知らんがどうして表示したかったら、
ハンドルにAPIのShowScrollBarを投げろ。

247 :デフォルトの名無しさん:2007/01/30(火) 18:42:22
>>244
それって確証ある?
つまり明文化された仕様として保障されてるか?
俺は怪しいと思うけどどうなんだろう。

>>239の言うように、Enumeratorは(クライアントのデータ構造が仮にリストでも)
リストを手繰っていくような動作を実装することは義務付けられてないでしょ。

自分でEnumeratorみたいの実装すること考えたって、パフォーマンス優先するなら
リストを手繰るような実装は俺ならしないけど。

248 :デフォルトの名無しさん:2007/01/30(火) 18:57:18
どんな実装するってのか聞いてみたい。

249 :デフォルトの名無しさん:2007/01/30(火) 19:03:40
例えばリストが、常に上の方に詰められる自己参照構造体配列(の配列)で実装されてたら、
Enumeratorは構造体配列を上からシーケンシャルに吐き出せば済むでしょ。

250 :デフォルトの名無しさん:2007/01/30(火) 19:28:50
んーなんだそういう話か…
んー
なんていうかさ、自然に考えられる実装ってあるじゃん。
ある意味特殊な構造の実装になってる場合なんかは、
何を重視するかで実装は変わってくるが、
そういう場合は明確にドキュメントするよね?

で内部がただの配列であり、配列と同様に扱えると明記されてる
ArrayListで、予想外の順序で列挙される実装なんて有り得るか?
逆にそういう実装なら絶対に明記されてるだろ。

で保証はないって話は理解出来なくもないんだが、
現実はもっと怪しい仕様??なんてものがいっぱいあって、
そういうことと比べれば実質十分信用していいレベル。
まあ、絶対に明記されてる仕様にしか、一ヶ所たりとも依存しないってんなら
好きにすればいいけど

251 :デフォルトの名無しさん:2007/01/30(火) 19:30:44
>>247
仕様はないでしょうな

現在存在するすべてのArrayListの実装がリスト順に返しているという事実と、
今後現れる実装が互換性を維持してくれるだろうという希望に頼るしかなかろう

252 :デフォルトの名無しさん:2007/01/30(火) 20:30:49
>>250
わかんないお人だなあ。
だからさあ、リスト構造をしているのは、
換言すればリストの「ふり」をするのはListなりArrayListなのであって
Enumeratorじゃないんだよ。

253 :デフォルトの名無しさん:2007/01/30(火) 21:11:30
いやそういうことじゃなくて現実の話をしてる
リストのセマンティクスをもつコレクションがリストじゃない並びの列挙を行うなら、
現実にはドキュメントされてる、普通。
ArrayListとかは実装が配列になってると明記されてたはず。
この状態で異なる列挙実装なんて普通考えられない。
もしそうなってるなら明記されてるはず、現実には。
他の人間が実装したリストはそりゃ分からんが。

254 :デフォルトの名無しさん:2007/01/30(火) 21:35:36
なんかインターフェイスと実装をごっちゃに議論してるような気がするんだけど

255 :デフォルトの名無しさん:2007/01/30(火) 21:38:03
??

256 :デフォルトの名無しさん:2007/01/30(火) 21:40:50
>>253
倒錯してると思うよ。

普通逆でしょ。
IEnumeratorの要求仕様以上のspecial feature があるなら明記するよ。
明記してないなら、それは「期待すんなよ」ってことだと解釈するのが普通だと思うけど。

っていうか、ArrayListのがインデックス順に整列された配列、なんて記述を見た記憶は
俺にはないなあ。

257 :デフォルトの名無しさん:2007/01/30(火) 21:51:25
>>254
たしかに>>256で初めてEnumeratorに I が付いたな

258 :デフォルトの名無しさん:2007/01/30(火) 21:58:32
>>257
アホでしょお宅w

259 :デフォルトの名無しさん:2007/01/30(火) 23:10:34
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_fxfund/html/71807ea7-9180-48a6-916f-35a5251d477f.htm
http://msdn2.microsoft.com/ja-jp/library/hwyysy67(VS.80).aspx
よくよめ


260 :デフォルトの名無しさん:2007/01/30(火) 23:13:07
ArrayList クラス
必要に応じてサイズが動的に増加する配列を使用して、IList インターフェイスを実装します。


261 :デフォルトの名無しさん:2007/01/30(火) 23:26:17
>>259
そんな隅っこにこっそり書いてあるのなw
なるほど勉強になった。

まあでも、個人的には本当にその記述信用していいのかな、
って気がしないでもない。
ちょっとありえない実装のような気がするんだよね。

ところでList(of T)に関してはどうなんだろう。

>>260
「配列を使用して」、っていうのは「正体はベタな配列に過ぎないんですよ」
って意味じゃないよ。

262 :デフォルトの名無しさん:2007/01/30(火) 23:56:36
いまいちわからんなぁ

>まあでも、個人的には本当にその記述信用していいのかな、
>って気がしないでもない。
>ちょっとありえない実装のような気がするんだよね。

ArrayListみたいなのの実装で列挙が順序通りってのが、なんでありえない実装なわけ?

>「配列を使用して」、っていうのは「正体はベタな配列に過ぎないんですよ」
>って意味じゃないよ。

言ってる意味がちょっとよく分からん。

263 :デフォルトの名無しさん:2007/01/31(水) 00:07:34
お前らもうええわ。
メアド交換して勝手にやってろ

264 :デフォルトの名無しさん:2007/01/31(水) 00:14:05
>>262
文盲かよ。。だから処理の効率が悪いからだって何度も言ってるじゃん。。
順番にアクセスしたいのなら普通にインデクサ使えば良いだけだし。

後半の話も書いてるでしょ。
配列を使用して、というのは内部的に配列を使ってListが実装されてるって意味であって…
まあ、リストとかキューとか自前でデータ構造実装したことないなら理解できないかもね。

265 :デフォルトの名無しさん:2007/01/31(水) 00:46:46
あのさ、何よりパフォーマンスだけが重要ならそもそも列挙なんて仕組みはいらんだろうに
そもそも列挙実装の仕組みとしては単純なインデックスが一番効率的だろうが
まあこれは内部実装が単純な配列の場合だが。
列挙なんて効率悪いものなんていらんから、順序通りの列挙の実装はありえないつてか?

お前の言ってること全然理解出来ねーよ
内部実装が単純な配列のコレクションなら順序通りが一番当たり前だろ。
なんでありえないわけ?
わざわざ順序通りにならないようにすんのか?なわけないよな。

ただのインデックス使えばいいってのは状況によってはもちろん分かるが
だからありえないってのは理解できん

どうしてもありえないってんならSSCLIでソースみてみろよ。


266 :デフォルトの名無しさん:2007/01/31(水) 00:58:05
インデックスでアクセスできるコレクションの列挙がインデックス順じゃないほうがありえないよな

267 :デフォルトの名無しさん:2007/01/31(水) 01:02:40
お前ら、VBはそんなアホらしいことを考えなくても十分に使えるという点が
最大のセールスポイントだということを知らないのか?

268 :デフォルトの名無しさん:2007/01/31(水) 01:10:30
"(" を打ったとき ToolTip に "Index As Object" て出てくるやつはインデックス順で並んでいるやつで
"(" を打ったとき ToolTip に "Key As Object" て出てくるやつはインデックス順で並んでいないやつ
と俺は解釈している。

269 :デフォルトの名無しさん:2007/01/31(水) 01:12:52
大体ArrayListの for each 使うくらいでビビルような偏執狂が
VBを使ってるということ自体納得がいかんわw

270 :デフォルトの名無しさん:2007/01/31(水) 01:15:08
>>266
そもそもリスト構造っていうのがどういうデータ構造なのかわかってるのかと。。

だから連結リスト構造だったら列挙するときにわざわざインデックス順にやる、
なんてアホな実装するわけないじゃん。

連結リストじゃなかったら、例えばInsertRangeメソッドを実装するのに
いちいちコピーしなきゃならんでしょ。
連結リストならインサートする前後のポインタを付け替えるだけで済むのに。

271 :デフォルトの名無しさん:2007/01/31(水) 01:28:38
>>264内部的に配列を使って…
いや最初からそういう意味で言ってるだろ。
それに対して
「ベタな配列に過ぎないんですよ」って意味じゃないよ
っていうのが、どういう意味・意図なのかよく分からんてだけだ

内部的に配列を使って実装したコレクションの列挙が
内部配列の順序通りなんて一番ありえるパターンだろ
なんで「自分でデータ構造実装したことないなら理解出来ないかもね」
になるんだよ。

内部的に配列を使ってはいるがダイレクトな配列の使い方はしていない実装は
もちろん有り得るが
そうならArrayListみたいな説明の仕方はしない、普通は。
明らかに誤解を招く書き方だから。
で現実にArrayListは単純な配列をダイレクトに使って実装されてる。


272 :デフォルトの名無しさん:2007/01/31(水) 01:44:19
>>270にとって.NETのコレクションクラスってありえない実装なんだな

273 :デフォルトの名無しさん:2007/01/31(水) 01:56:35
今は.NETのコレクションでのリストの話をしてるのよ。
ArrayListとかの。
で、連結リストの話でも、インデックス順序の列挙はありえなくもなんともないと思うんだが。
連結リストの場合、どういうのが普通はなんだ?
むしろリンクを辿るのが一番普通だと思うが…単純な連結リストの場合

274 :デフォルトの名無しさん:2007/01/31(水) 02:00:44
リスト構造だとインデクスアクセスが定数時間で出来んだろうが
可変長配列として扱いやすくするコレクションなのに
インデクスアクセスを非効率にしてどうすんだよ。


275 :デフォルトの名無しさん:2007/01/31(水) 02:09:55
っと、ここでのリスト構造ってのは連結じゃない話か
なら上のインデクスのはなしはとりあえずなし。


276 :デフォルトの名無しさん:2007/01/31(水) 02:14:12
まあ適材適所で、単純な配列構造がありえないなんて事はない。
ArrayListは挿入や削除には不向きってだけだな。
その代わり単純なアクセスは非常に効率がいいありふれた実装

277 :デフォルトの名無しさん:2007/01/31(水) 02:23:51
挿入もインデックスもどっちも速いってどんな構造?
てか連結リストって言ってるじゃん
可変長配列は例えインデックスアクセスが遅くなっても
挿入を高速にするべきだ、そうじゃない実装なんてありえないってことか

278 :デフォルトの名無しさん:2007/01/31(水) 02:57:20
もういいよ。

279 :デフォルトの名無しさん:2007/01/31(水) 07:20:20
JavaにはArrayListとLinkedListがあるみたいですよ
http://www.hellohiro.com/list.htm

280 :デフォルトの名無しさん:2007/01/31(水) 07:57:59
VB2005でTabControlのTabPageにTextBoxやLabelなんかを
幾つか置き、TextBoxのApplicationSettingsの
PropertyBindingを設定すると、置いてあるラベルや
ボタンが非表示になって、プロジェクトを再起動するまで
表示されないのだけど、何とか解決の方法は無いかな。
こんなことばっかりでもう泣きたいよ。

281 :デフォルトの名無しさん:2007/01/31(水) 08:00:40
ここの話題か分からないのですが、VB2005で作っているので質問させてください。
SerialPortクラスでモデムを操作して人の代わりに電話し、音声案内のところで
決められた番号を押すプログラムを作りたいと思っています。

クラスを初期化をした後、
serialPort.Write("ATDT 1234-5678" & vbCrlf)

これで電話をかけることはできましたが、相手が取ってから決めた番号の音を出すために
serialPort.Write("ATDT 1,,2,,3" & vbCrlf)

みたいにするとモデムとの通信が切れてしまいます。
どうも1回目のダイアルをしたときにモデムは相手からの応答を待っていて、
2回目のダイアルをした時点では通信待ち中のためエラーになってしまうようです。

モデムにこの待ちをやめさせて、ただ単に音を出すだけにしたいのですが
どうにかなるでしょうか?よろしくお願いします。

282 :デフォルトの名無しさん:2007/01/31(水) 08:35:31
>>259
これは 各クラスの GetEnumerator のヘルプにも書いておいて欲しいよねえ。

283 :デフォルトの名無しさん:2007/01/31(水) 09:20:55
スイマセン、教えてください。
印刷ダイアログを表示させた時、[印刷]とかかれたボタンの名前の文字を別の文字に変えることは可能でしょうか?
可能でしたらやり方ご教授ください。



284 :デフォルトの名無しさん:2007/01/31(水) 11:06:25
>>281
モデムに命令ばっかりしてないで少しは話を聞いてあげなさい。
以上

285 :デフォルトの名無しさん:2007/01/31(水) 12:11:59
IME列挙体について教えてください。よろしくお願いします。

http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.imemode(VS.80).aspx

を見たのですが、、これらの列挙体はBitで構成されているものと思って

rtxtMemoContents.ImeMode = _
CType(Windows.Forms.ImeMode.Hiragana + Windows.Forms.ImeMode.On, Windows.Forms.ImeMode)

と入れてみましたら、結果は 「カタカナ」 モードになっていました。

単純に
rtxtMemoContents.ImeMode = Windows.Forms.ImeMode.On
としますと、デフォルト設定が効くのか、「ひらがな」 となりましたが、
上記の方法でない正しい方法を知りたく思いました。すみませんが教えてください。
よろしくお願いします。

286 :デフォルトの名無しさん:2007/01/31(水) 15:15:18
System.Windows.Forms.ImeModeにFlags属性なんてついてないし。
ImeMode.On = 1
ImeMode.Hiragana = 4

ImeMode.Katakana = 5なだけじゃんか

たんにImeMode.Hiragana にすればいいんじゃないのか



287 :デフォルトの名無しさん:2007/01/31(水) 15:32:07
自作のdllのことなのですが、
オブジェクトブラウザでクラスやプロパティ、メソッド、イベントを非表示にする方法がわからず躓いています。
どなたか知っている方、助けてください。お願いします。<(_ _)>

288 :デフォルトの名無しさん:2007/01/31(水) 15:35:24
>>286
どうもです。そうだったんですか、わかりました。列挙体は連続番号なんですね。
・・・てことはBit値じゃなかったんですね。

ところが、やり方が悪いのか、はじめ
たんにImeMode.Hiragana にしてみたのですが、モードが日本語入力モードに
切り替わらなかったため、足してみたのでした、そしたらカタカナでは入力できる
ようになったのでした。

どこが間違っていたのか・・・まだわからないですが調べてみます。



289 :デフォルトの名無しさん:2007/01/31(水) 16:20:43
>>280
ウチはそんな現象起こらないけど。
具体的に説明したら?

290 :デフォルトの名無しさん:2007/01/31(水) 16:22:25
ダイアログを呼び出した時に、呼び出し元フォーム上の値をダイアログ上の変数へ格納しています。
このダイアログを閉じるときに、今度は逆に呼び出し元フォームの変数へ格納したいのですが
form1のメンバ変数は参照可能なのでしょうか?
myDialogクラスにform1型のメンバ変数作るくらいしか思いつきません・・・

ちなみにやりたいことは、
・Form1をインスタンス化したときにiniファイルから値を取り込み、
・dialogを閉じたときにiniファイルへ書き込み&form1のメンバ変数へ格納
です

public class Form1'**********************************

public strTest as String

public Sub OpenDialog() Handles Button1.Click
Dim diaTest as Form
diaTest = new myDialog(me)
End Sub

End Class
public class myDialog'*******************************

Public Sub New(ByVal s as Form1)
me.textbox1.text = s.strTest.text
End Sub

Public Sub CloseDialog() Handles Button1.Click
???
End Sub

End Class
'**************************************************

291 :デフォルトの名無しさん:2007/01/31(水) 16:34:14
>>283
印刷ダイアログで「印刷」ボタンの文字を変えたいって、なにがしたいんだよw



292 :デフォルトの名無しさん:2007/01/31(水) 16:37:02
>>287
クラスやメソッドを Friend で宣言すればいいんじゃないのか?

293 :デフォルトの名無しさん:2007/01/31(水) 16:50:48
>>290
基本は「呼び出し元を見るようなプログラムを書かない」
呼び出されるフォームが「使いまわしできる」ように。

Public Class Form1
Private Sub OpenDialogButton_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dialog As MyDialog = New MyDialog
dialog.Param1 = Me.TextBox1.Text
If dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
Me.TextBox1.Text = dialog.Param1
End If
End Sub
End Class
Public Class MyDialog
Private _param1 As String
Public Property Param1() As String
Get
Param1 = Me._param1
End Get
Set(ByVal value As String)
Me._param1 = value
End Set
End Property
Private Sub MyDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TextBox1.Text = Me._param1
End Sub
Private Sub CloseDialog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles acceptButton.Click
Me._param1 = Me.TextBox1.Text
End Sub
End Class

294 :デフォルトの名無しさん:2007/01/31(水) 16:51:24
はじめまして。質問させてください。
既に起動しているIEでクリックイベントを発生させ、
そのイベントをVBで取りたいのですが、そのような事は可能でしょうか?

295 :デフォルトの名無しさん:2007/01/31(水) 16:59:08
>>294
可能か?と聞かれたらハッキリ言ってなんでも可能だよ。簡単じゃないけど。

ホントに初心者って他のアプリのメッセージとかプロセスとかウィンドウハンドルとか好きだなw

296 :290:2007/01/31(水) 17:06:26
>>293
うほ・・・ありがとうございます、勉強になります!

流れで考えてるから、showdialogの後に値を取れるって考えれないんですね俺

297 :デフォルトの名無しさん:2007/01/31(水) 17:10:37
流れで考えたら分かるだろw

298 :デフォルトの名無しさん:2007/01/31(水) 17:13:38
>>297
「結果を取得する」って発想ができないんじゃね?


299 :280:2007/01/31(水) 17:14:13
>>289
有難うございます。
OS Windows2000 言語 Microsoft Visual Basic 2005
1番簡単な再現方法です。
1、新しいプロジェクトを作成する。
2、TabControlを一つ置く。
3、TabPage2にLabel一つと、TextBoxを一つ置く。
4、TextBoxのプロパティを開いてApplicationSettingsの+
  をクリックする。
5、その中のPropertyBindingをクリックし、
  その中のTextを選択。
6、横に現れる下矢印をクリック。
7、編集窓の新規をクリック。
8、Nameに"test"と入力。
9、Okを押し編集窓を閉じ、アプリケーション設定
  もOkで確定する。
こうすると見事にLabelが消える。(^^;
プロパティウィンドウでLabel1を選択すると点線だけが
表示される。タブを切り替えても表示されずダメ、結局
プロジェクトの再起動をするしか手が無い。
以上です。

300 :289:2007/01/31(水) 17:23:36
>>299
ほんとだ、アプリケーション設定を新規にするとダメみたいだな。
アプリケーション設定をコントロールのプロパティから作らずに、プロジェクトで作って
コントロールでそれを選択すればいいんじゃね?

つーか再起動しなくても、フォームのデザイン画面閉じてもう一度開いたらOKなんだか?

301 :デフォルトの名無しさん:2007/01/31(水) 17:23:56
>>297-298san
戻り値返した時点でdialogの存在は俺の頭から消えちゃってましたw

だから

showdialog()をオーバーロードして戻り値をstr配列型に、
dialog上で入力した値を戻り値に、
戻った配列をそれぞれ型変換してメインフォーム上の変数に代入

・・・とか考えてました(汗

302 :283:2007/01/31(水) 17:26:30
>>291
印刷ダイアログでは、プリンタの選択やその他の設定をするだけにとどめているのです。
そこで「印刷」ボタンを押しても、それら設定の保存にとどまり、印刷はまだ行いません。
(Form上の印刷ボタンで改めて印刷を行う。)
だから「印刷」じゃなくて「設定」ってキャプションのボタンにしたいのねん…。

303 :デフォルトの名無しさん:2007/01/31(水) 17:27:13
気にするな最初は皆そんなもんだ。


304 :291:2007/01/31(水) 17:37:55
>>302
だったら最初から「印刷設定だけがしたい」って言えば…
印刷ダイアログはあくまで印刷ダイアログだから。

PageSetupDialog() のほうがが妥当じゃない?



305 :デフォルトの名無しさん:2007/01/31(水) 17:48:49
>>299
うはwwwwwほんとだ、ラベル消えたwww


プライオリティが変わったとかそんなレベルじゃ(ry

306 :デフォルトの名無しさん:2007/01/31(水) 17:51:51
お前キモイから消えろ

307 :305:2007/01/31(水) 17:53:59
フォームの一覧からラベルのイベントを選択すると再表示されるが

ちょっと気持ち悪いなww

勘違いして、ラベル付け直しそう



308 :デフォルトの名無しさん:2007/01/31(水) 17:57:25
いいから消えろって

309 :287:2007/01/31(水) 18:02:00
>>292
お返事ありがとうございます。
Friend宣言して実際に隠すのではなく、
オブジェクトブラウザで除いたときに、通常は表示はされていないけど、
「非表示のメンバを表示」にチェックを入れたときに表示するようにしたいのです。
プログラム上Publicの必要があるのですが、どうしても正規の利用の対象にしたくはありませんので。。。

310 :292:2007/01/31(水) 18:21:12
>>309
ああそういうことか。
試してないけど BrowsableAttribute はどう?

311 :280:2007/01/31(水) 18:26:58
>>289 さん感謝!
そうですね、再起動しなくても一回画面を閉じて、再度開けばOKですね。
とりあえずアプリケーションの設定で名前を作ってから選択するようにします。
沢山置いたコントロールが一斉に消えたので、かなりあせりましたが、
たいしたことは有りませんでした。


312 :283:2007/01/31(水) 18:30:55
>>304
"プリンタの選択"がしたかったのでねー。
めんどくなったからデフォのダイアログボックスやめて、コンボボックスにインスコしてるプリンタ名つめこむよw


313 :287:2007/01/31(水) 18:48:23
>>310
ありがとう!
BrowsableAttributeとEditorBrowsableで隠せたよ!
本当に助かりました!

314 :デフォルトの名無しさん:2007/01/31(水) 19:00:19
>>312
つーかそれが普通では?
プリンタの選択するだけなら

結局使い勝手求めるならPrintPreviewControl使ってダイアログ自作でしょ

315 :デフォルトの名無しさん:2007/01/31(水) 20:33:07
プログラミングに関する質問じゃないんだけど、VB2005 Express Edition
でコンパイルオプションの『整数オーバーフローのチェック』が見当たらないんですが、
Express版で設定できないんでしょうか?
マニュアルには
1.ソリューション エクスプローラでプロジェクトが選択されている状態で、[プロジェクト] メニューの [プロパティ] をクリックします。
2.[コンパイル] タブをクリックします。
3.[詳細コンパイル オプション] をクリックします。
4.[ビルドの詳細設定] ダイアログ ボックスで、[整数オーバーフローのチェックを解除] チェック ボックスをオンにします。
と書かれていますが、コンパイルのプロパティ画面に「詳細コンパイルオプション」の項目が見当たりません。

316 :デフォルトの名無しさん:2007/02/01(木) 00:05:49
スレッドから呼び出した WebRequest の非同期処理 BeginGetResponse、この処理が完了するまでスレッドをブロックするには、
いかなる方法をとればよろしいのでしょうか。

317 :デフォルトの名無しさん:2007/02/01(木) 00:15:05
どのスレッドで何を呼び出してるのかつかめんが、
スレッドをブロックしたいなら端から同期で呼べばいいんじゃないのか?

318 :デフォルトの名無しさん:2007/02/01(木) 01:09:52
StartInfo.UseShellExecute = False
にすると、
StartInfo.WindowStyle = ProcessWindowStyle.Minimized
が効かなくなるのでしょうか?

319 :デフォルトの名無しさん:2007/02/01(木) 01:48:41
Form1.Line (Sx, Sy)-(Sx + box, Sy + box), C, BF
というVB6.0の行を書き換えるには
ttp://msdn2.microsoft.com/ja-jp/library/f956fzw1(VS.80).aspx
を参照すれば良いのでしょうか?

320 :デフォルトの名無しさん:2007/02/01(木) 03:16:43
参照してわからなかったんならそう言えよ

321 :デフォルトの名無しさん:2007/02/01(木) 03:22:48
>>320
はい・・・すいません、以後気をつけます。
lineの代用ってどうすればいいんですか?
調べたらsystem.drawingとかも出てきて本当もう訳わかりません(´:ω:`)

322 :デフォルトの名無しさん:2007/02/01(木) 03:31:59
ttp://www.google.com/search?hl=ja&lr=lang_ja&oe=utf8&q=line%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB
これくらいは、なぁ?

323 :デフォルトの名無しさん:2007/02/01(木) 03:40:50
LineコントロールじゃなくてLineメソッドなわけだが。
四角形を塗りつぶすのはFillRectangleだけど
.NETのグラフィックスの基本を全然知らないっぽいんで
とんでもないコードを書きそう。
ところでBFの前のCってなんだっけ?

324 :デフォルトの名無しさん:2007/02/01(木) 03:47:14
おぉ? VB6 と Line というとこればっかりだからつい予断を

325 :デフォルトの名無しさん:2007/02/01(木) 03:58:24
>>322-325
とんでもないコード以前に波線が全く消えません。
アフォみたいな質問に答えて頂きまして本当にありがとうございました。

326 :デフォルトの名無しさん:2007/02/01(木) 04:02:45
やけに気の小さいヤツだなw

327 :デフォルトの名無しさん:2007/02/01(木) 04:15:16
自己解決の糸口は見えませんが、自決は出来そうです

328 :デフォルトの名無しさん:2007/02/01(木) 07:37:55
>>284
レスありがとうございます。
でもReceiveイベントでモデムからのメッセージは受け取っていたんです。

モデムに送るATコマンドを
serialPort.Write("ATDT 1234-5678;" & vbCrlf)
にすることですぐに"OK"が帰ってくるようになり、問題解決しました。


329 :デフォルトの名無しさん:2007/02/01(木) 13:38:41
>>316
EndInvokeでもWaitHandle.WaitOneでもお好きに。
だが同期呼び出しで済む話なら…

330 :デフォルトの名無しさん:2007/02/01(木) 14:08:31
Dim strDate As String = "20070101"
Dim strResult As String = Format(strDate, "0000/00/00")

このようにすると、strResultには"0000/00/00"が入ってしまいます。
期待している値は"2007/01/01"なのですが、どのようにすればよろしいでしょうか。
VB6.0の時は、問題なく"2007/01/01"が入ったのですが…。

331 :デフォルトの名無しさん:2007/02/01(木) 14:26:21
>>330
"yyyy/MM/dd"じゃね?

332 :デフォルトの名無しさん:2007/02/01(木) 14:28:30
stringはformat出来ません

333 :デフォルトの名無しさん:2007/02/01(木) 14:29:49
>>330
http://msdn2.microsoft.com/ja-jp/library/wb216dct(VS.80).aspx
ユーザー定義の数値書式の所読め

334 :デフォルトの名無しさん:2007/02/01(木) 14:32:25
>>330
普通にLeft、Mid、Right関数で文字列を取得していけばよいのでは?

335 :デフォルトの名無しさん:2007/02/01(木) 14:33:20
FormatはVB6の頃と仕様が違う。
素直に>>334

336 :デフォルトの名無しさん:2007/02/01(木) 14:35:02
Format(CInt(strDate), "0000/00/00")
にしたところ、解決できました。ありがとうございました。

337 :デフォルトの名無しさん:2007/02/01(木) 14:39:23
そんな無意味な型変換は事故の元だろ?
なんで数字変換しないと駄目なの?


338 :デフォルトの名無しさん:2007/02/01(木) 14:50:28
CDateなかったか?
てかいきなりそんなとこで整数化することに
疑問はないのか?

339 :デフォルトの名無しさん:2007/02/01(木) 14:58:03
型変換はまずいのですか…。
必ずstrDateに8桁の数字で項目が来ることがわかっていても危険ですか?

そうであるなら、midで取って、取得した文字列にDate.TryParseで判定するようにします。


340 :デフォルトの名無しさん:2007/02/01(木) 16:21:26
不要な変換なんてしないに越したことはないじゃん。
文字として切って文字加工できるのに。

341 :デフォルトの名無しさん:2007/02/01(木) 16:29:25
strDate.Insert(2,"/").Insert(5,"/") こんなんでいいんでは?

342 :デフォルトの名無しさん:2007/02/01(木) 16:30:46
↑ 挿入箇所間違ってたわ、2と5のところは適当に。

343 :319:2007/02/01(木) 18:45:02
Form1.Line (Sx, Sy)-(Sx + box, Sy + box), C, BF
を書き換えて
Dim g As Graphics
g.DrawLine(New Pen(Color.C), Box, Box, Sx + Box, Sy + Box)
             ~~~~~~~~~~
というトンデモコードを書いちゃいましたが~~~にエラーが出ちゃいます
手前の
R = Int(16 * Rnd()) - 1
If R < 1 Then C = QBColor(0) Else C = QBColor(R)
からして物故割れてるのでしょうか・・・?

344 :デフォルトの名無しさん:2007/02/01(木) 18:51:59
>>343
物故割れてるのは君の(ry
悪いこと言わないから本買って一から勉強しなさい

345 :デフォルトの名無しさん:2007/02/01(木) 22:08:54
すみませんが、教えてください。ControlクラスとPanelクラスでは、
Panelクラスのほうがインスタンスのメモリー消費は激しく大きいでしょうか?

Controlクラスから派生させたものとPanelから派生させたものとで
ほとんど同じでいくらか違うクラスがあって、その差の分だけまた
Controlクラスから派生させたものにフィードバックするのが面倒なのですが、
なんでもかんでもPanelから派生させたものを使うのではメモリー消費が
大きくなるといけないかと思いました。

しかし面倒なのでこのままPanelから派生させたものでやりたいのですが・・・
どうするのがベターでしょうか。

346 :デフォルトの名無しさん:2007/02/01(木) 22:43:54
貧乏臭いこと言うな
他に考えることがあるだろ

347 :デフォルトの名無しさん:2007/02/01(木) 22:44:56
要するに自分で調べるのは面倒だから
俺様の代わりにちょっとそこのお前実験しろ、と。

そんなお人よしが果たしているかねw
馬鹿じゃないのお前

ていうか、パネルみたいなシンプルなコントロールがそんなにメモリ大食いするともそもそも思えんが

348 :デフォルトの名無しさん:2007/02/01(木) 22:59:24
>>346-347
どうもです。

てことはやはりPanelクラスのオブジェクトはそれほど食わないだろいうことですね。
安心しました。

というか、どうもクラスの派生でプログラムすることを最近始めたため、世の中の
常識的なところがわからず、どうしたものかと悩んでおりました。
教えていただき、ありがとうございました。どうもでした。

349 :デフォルトの名無しさん:2007/02/01(木) 23:02:43
>>348
常識で言ったら余計な機能は継承しないのが当然。

350 :デフォルトの名無しさん:2007/02/01(木) 23:04:11
VB.NET2005、.NET Framework2.0での開発についてちょっと質問ですが
プロパティシートもしくはそれに類するUIを実装するような .NET Frameworkの機能はありませんでしょうか
そのものズバリのものでなくとも、実装に利用できる程度のものでもあればよいのですが

351 :デフォルトの名無しさん:2007/02/01(木) 23:05:58
TabControl

352 :デフォルトの名無しさん:2007/02/02(金) 00:04:40
このスレ マイクロソフトにでも見せたら きっと笑うんだろうね

353 :デフォルトの名無しさん:2007/02/02(金) 01:14:07
マイクロソフトは 人間では ない

354 :デフォルトの名無しさん:2007/02/02(金) 01:41:59
もっと恐ろしい別の何かだ

355 :デフォルトの名無しさん:2007/02/02(金) 01:48:54
ゆえに笑わない。

356 :デフォルトの名無しさん:2007/02/02(金) 08:58:04
ロボットだからマシンだから

357 :デフォルトの名無しさん:2007/02/02(金) 09:04:53
この銀河を統括する情報統合思念体によって(ry

358 :デフォルトの名無しさん:2007/02/02(金) 09:07:27
その恐ろしい何かを覗き込むとき、向こうも此方を覗き込んでいるんだよ。

359 :デフォルトの名無しさん:2007/02/02(金) 09:28:56
>>350
もっと目的をハッキリ書いてくれ。
プロパティの編集がしたいなら PropertyGrid だし、見た目のことならフォームで作るしかない。

360 :デフォルトの名無しさん:2007/02/02(金) 10:25:08
プロパティグリッドって良いよね。
あれ+クラスのシリアル化があれば、大抵の設定保存、編集は簡単に作れる。

361 :デフォルトの名無しさん:2007/02/02(金) 12:29:30
>>359
はっきり書いてあるだろ。
自分の無知を棚に上げて何言ってるんだこのググレカスw
350の名誉のために言うが、俺は350じゃないから。

362 :デフォルトの名無しさん:2007/02/02(金) 12:43:20
>>361
359じゃないけど、あれじゃ何を求めてるのか…「UIを実装するような機能」ってなによw
まだ359は推測で答えてるだけましじゃね?そういうお前なにも答えてないしwww

350の名誉のために俺は350じゃないってなんだよwwwww


363 :デフォルトの名無しさん:2007/02/02(金) 13:00:57
プロパティシートってぐぐって最初に出てくるようなやつのことじゃないの?
だったら>>351じゃん

364 :デフォルトの名無しさん:2007/02/02(金) 13:37:20
あれプロパティシートって呼ぶのか
知らんかったwwww

365 :デフォルトの名無しさん:2007/02/02(金) 13:40:14
初心者ですみません
2003のslnを2005で使用するには、
何か作業が必要でしょうか。

366 :デフォルトの名無しさん:2007/02/02(金) 13:42:26
VB使ってIEのコマンドボックスにテキストを入力したりできますか?
検索エンジンで調べてもわかりませんでした教えてください><;

367 :デフォルトの名無しさん:2007/02/02(金) 14:01:22
コマンドボックスって何ですか?
検索エンジンで調べてもわかりませんでした教えてください><;

368 :デフォルトの名無しさん:2007/02/02(金) 16:51:07
検索エンジンって何ですか?
じいちゃんにきいてもわかりませんでした教えてください><;

369 :デフォルトの名無しさん:2007/02/02(金) 17:31:18
   , .- ==.、
 ,r'     i            呼んだ?
.,'   ,r'^":ツ
',   i:::::;〃..':.,
..`-- '"':、   .':,
     `'::.,   ':,
...       ゙'::., ..':,
       r=t,,r::` .':,-''_、
     _.i::::::::::::::::'-::'::::::::::i::-z=:ュ
.   <- .ii:::::::::::::::::ii:::::::::::::i::r个::',,,_
.   i  `^^''=--:::::::::::::::::::ii   .,.rィ'
.   i         `^'''':::z-''"c、 |
   ぅ、_           i  "i.i..|
   `^''''-=、- 、._     .i   i.i少,
.        `^''''-=、=-、,, i,,r'"彡'':-'
             `^''-=-''"

370 :デフォルトの名無しさん:2007/02/02(金) 18:15:55
VS2005ってvista対応とちがうの?
起動したとたんにDevenv.exeの互換性エラーが出るのですが・・

371 :デフォルトの名無しさん:2007/02/02(金) 18:18:57
>>370
SP1あてた?本対応はさらに何か出るらしいけど。

372 :デフォルトの名無しさん:2007/02/02(金) 19:59:15
対応なのは、VS2005+.NET2.0で作ったアプリであってVSそのものじゃ無いんじゃ?
良くしらんけど

ところでちょっと訊きたいんだけど
プロシージャ内でローカルに作って使ったオブジェクトって
そのプロシージャ抜けたら速攻解放されるんかね?
それとも、もう要らないってマークだけされて、いつか解放されるとか言う仕様?

373 :デフォルトの名無しさん:2007/02/02(金) 20:22:51
明示的にガーベジコレクタ呼んでやれば消えるが、
普通は確保したメモリを使い果たしそうになったときに回収される。

374 :デフォルトの名無しさん:2007/02/02(金) 20:24:37
"C:\hoge"から"hoge"だけ取り出したいのですが、
正規表現以外に何かいい方法あればご教授お願いします

何かのメソッドに在りそうなんだけど見つけれない時・・・みなさんはどうしてるんでしょうかw

375 :デフォルトの名無しさん:2007/02/02(金) 20:28:50
笑ってる暇があったらMSDN引けよ阿呆

http://msdn2.microsoft.com/ja-jp/library/system.io.path_members.aspx

376 :デフォルトの名無しさん:2007/02/02(金) 21:04:33
なにそれwキモイw

377 :デフォルトの名無しさん:2007/02/02(金) 21:27:56
>>373
なるほど、ありがとうっす

378 :デフォルトの名無しさん:2007/02/02(金) 21:44:32
条件式で 100 > n > 200 のように 間の値を取りたいのですが、
この場合に一行で済む構文はございますでしょうか。 

379 :デフォルトの名無しさん:2007/02/02(金) 21:53:18
100 > n and n > 200

380 :デフォルトの名無しさん:2007/02/02(金) 21:53:44
ありがとうございました

381 :デフォルトの名無しさん:2007/02/02(金) 22:08:17
AndAlsoの方が良くね?

382 :デフォルトの名無しさん:2007/02/02(金) 22:24:32
すまんですが教えてください、VB6であった 「透明」スタイルのコントロールは
作れるでしょうか?あちこち調べたのですが、たとえ
 Color.FromArgb(0,0,0,0) 
などにして、Alpha値を0にしてもどうもコントロールの上のコントロールには
FormのBackColorあるいはBackGroundImageが移るだけのようでした。

これを、下層のコントロールも透けるようになるようなVB6でできた透明スタイルの
コントロールはできるものでしょうか?


383 :デフォルトの名無しさん:2007/02/02(金) 22:28:53
MDBファイルをデータグリッドビューに表示できたのはいいんだが
アクセスのレポートみたいに
データセットとかデータテーブルを印刷できるようにするには
どうすればいいですか?
2005にはレポートビューワーなる素敵機能があるみたいですが
2003(.net1.1)で実現したいのでつかえんみたいです

384 :デフォルトの名無しさん:2007/02/02(金) 23:29:40
>>382
>下層のコントロールも透けるようになるようなVB6でできた透明スタイル

これ表現がおかしかったです、
>下層のコントロールが見えるようになるVB6でできた透明スタイル
でした。どうもすみません。。


385 :デフォルトの名無しさん:2007/02/02(金) 23:46:22
>>382
で、さらにですが、VS2005でFormにコントロールを貼って、そのサイズを調整しているときは、
点線表示でサイズ外形が現われているが、

例えば、長方形でない異形のコントロールなどでやっても、
その異形Rigion以外の部分は透明のままでサイズが調整できていて、実質的な透明化が
「デザイン時には実現している」 ようなのでした。

もし、VS2005が、.NET Framework の範疇で作られているとすれば、
これがVS2005でできないはずはないと思われ、やれるものなら透明化したいと思うのですが、
もしVS2005が実際にはWin32APIなどやあるいはもっと深いレベルでC++で作られている
のであれば、.NET Framework と VS2005 の VB や C# からだけではではできない、
ということになるでしょうか?

386 :デフォルトの名無しさん:2007/02/02(金) 23:49:21
>>385
それとも、デザイン時の点線外形が掛けているのは、それがコントロールのRegionとは
無関係に、デザイナー上の機能で、勝手にコントロールの外側に線を描画している
だけなのでしょうか?

387 :デフォルトの名無しさん:2007/02/03(土) 00:10:01
>>386
しかし、そうだとしても、そのデザイナー上の点線は、別のコントロールの上にも現われて
表示されているので、ということは、それ自体もやはりRegionを持っていて、そこに描画されて
いるようにも思われるのですが、どうなんでしょうね。

もしそうだとすると、そのRegionはごく細い領域を持つものになりそうですが、
そうでも点線の上に、○印もありましたから、その分の幅はあるのでしょうか・・・

でも点線の両側はしっかりと別のコントロールも現われているし・・・
まさか線幅1Pixelの線Regionに○印の部分だけ合成したRegionなんでしょうか?

388 :デフォルトの名無しさん:2007/02/03(土) 00:23:56
そういう散漫な思考能力丸出しの文章を書く人はプログラマ向いてないと思うよ。

そもそもただ漠然とコントロールって何だよ。
VB6で背景透明にできるコントロールってラベルぐらいじゃなかったか?
だったらそんなの試せばわかるじゃん。それこそ猿でも。

まあどうしてもそんなことがしたいならデスクトップのDCに描画すればいいんじゃない?
くだらないこだわりにしか俺には思えないけど。

389 :デフォルトの名無しさん:2007/02/03(土) 00:28:00
>>387
点線とハンドルかいてるのはデザイナだろうが

390 :デフォルトの名無しさん:2007/02/03(土) 00:54:52
VB.NETで作られた有名なソフトご存じ無い?

391 :デフォルトの名無しさん:2007/02/03(土) 01:03:42
>>388
スレ汚しになりましたね、すみませんね。

いちおう、Region使いながら考えてみてはいるのですが、やはり他のコントロール
が見える状態にはできませんでした。

またVB6でもラベルだけであったとしても、一応できてはいたわけで、
それがVB6が基本的にインタープリターだったから、同にでもなり安いからできた、
というものであれば、それが完全にオブジェクト指向になった.NETではやりにくいのだ、
ということなら、仕方ないですかね。

>>389
ですよね、たぶん。ということは、その点線も○も、他のコントロールにまたがって
その上面に描画できているということは、それはやはりRegionを貼っている特別の
コンロールを使ってやっている、ということなんでしょうか。

とすれば.NETでは本当の意味での透明化コントロールはできない、と考えるべき
なんでしょうか?

392 :デフォルトの名無しさん:2007/02/03(土) 01:07:59
すまんがまとめてくれないか?質問がわからん。
背景が透けるコントロールがつくりたいのか?

393 :デフォルトの名無しさん:2007/02/03(土) 01:09:47
>>388
後は、そのおっしゃっている 「デスクトップのDCに描画する」 ということなんでしょうが、
まだ皆目見当が付かないのでやるとしたらうんと大変になりそうですが、また調べてみます・・・

394 :デフォルトの名無しさん:2007/02/03(土) 01:11:56
>>392
要はそういうことなのですが、、下に別のコントロールがあるときに、
そのコントロールもちゃんと見えるような透け方がほしいのでした。

現状ですと、Formの地が見えるだけで、コントロールは見えてくれない、
ということなのです。

395 :デフォルトの名無しさん:2007/02/03(土) 01:15:35
そうやって書くからややこしくなる。
透けるとはそういうことに決まってるだろが

396 :392:2007/02/03(土) 01:16:41
>>394
わかった。
で、UserControlでいいのか?
それともControlを継承してガリガリ書く?

397 :デフォルトの名無しさん:2007/02/03(土) 01:58:45
>>396
それはもしかして、ここでコードを教えてくださるということでしょうか?
それではあんまりご迷惑を掛けてしまうので、とてもお願いはできません。

ただもしヒントとなる事柄を教えていただければ、また自分で考えてみます。

もしUserControlで出切るとしたら、概略どんなことを知らねばならないのでしょう、
それだけでもありがたいです。

398 :デフォルトの名無しさん:2007/02/03(土) 02:05:25
新しいタイプの釣り?w

399 :396:2007/02/03(土) 02:06:50
>>397
じゃ、これで。
http://www.microsoft.com/japan/msdn/vbasic/migration/tips/TransparentControl/


400 :デフォルトの名無しさん:2007/02/03(土) 02:11:28
>>398
そういうことではないのですが、別法も考えながらやってましたので、
回避して別の手段で乗り切ることもあり得るためでした。

>>396
ちなみに、現在のデザイナー上では、コントロールを移動する際は、
異形コントロールであっても、長方形の外枠全体が非透明状態で
塗りつぶされていました。なので、やはりRegionは長方形で認識されて
いるだと思いました。UserControlにした場合でも、基本的には同じになる
のではないかとおもいましたが、それを透明化する方法というものが
あるのでしょうか?

401 :デフォルトの名無しさん:2007/02/03(土) 02:13:09
>>399
かぶってしまいました、すみません。

情報、さっそくにすみません。
読んでみます。

402 :デフォルトの名無しさん:2007/02/03(土) 12:13:32
ああなんだ、別にWin32のGetWindowDCとか使わなくてもSetStyleでできるんだな。
普通に知らなかった。
でもこれ、Win32レベルではどうやって実現してるんだろう。

しかし、コントロールのSetStyleなんか典型だけど、.NETのクラスライブラリって
なんでこれがProtectedなんだ?ってのが結構あるよね。

403 :デフォルトの名無しさん:2007/02/03(土) 14:34:01
プロパティでラップしようとしてるからな

404 :デフォルトの名無しさん:2007/02/03(土) 18:40:16
アクセスを極力制限するのはいいことなんだが

405 :デフォルトの名無しさん:2007/02/03(土) 18:54:08
なんかVBスレらしい間抜けなレスが続くなw
「モノ」が機能を発揮するにあたり、不必要な情報や機能呼び出しは隠蔽したほうが
判りやすさの観点から望ましいのは当然としても、必要な機能まで隠蔽してあるのでは
本末転倒でしょ。

テレビのリモコンに垂直振幅調整ボタンがなくても怒らないけど、
音量調整ボタンがなかったら怒るだろw

406 :デフォルトの名無しさん:2007/02/03(土) 20:45:59
>なんかVBスレらしい間抜けなレス
=405


407 :デフォルトの名無しさん:2007/02/03(土) 21:27:55
隠すのは分かりやすさよりも保守管理のため

408 :デフォルトの名無しさん:2007/02/03(土) 21:34:28
また間抜けなレスを。。
自分の頭で理解して咀嚼したことでなく、
どこかで聞きかじったことを語ろうとするからそういうことになるんだよ。

隠蔽しなかったら保守が大変になるのはどうしてだよ。
それは人間の認識能力が限られているからだ。
つまり、判りにくくなるからだ。

409 :デフォルトの名無しさん:2007/02/03(土) 21:42:01
405が言ってるのは「ユーザ側のわかりやすさ」
407,408が言ってるのは「クラスの提供者側のわかりやすさ」
ごっちゃにするな

410 :デフォルトの名無しさん:2007/02/03(土) 21:47:18
そういう物言いはその二つが一致しない場合があるのでなければ意味がない。
で、実際のところどうよ?w
考えるまでもないな。

411 :デフォルトの名無しさん:2007/02/03(土) 21:48:58
っていうか、仮に一致しない場合があるとして、ライブラリの作者が
ユーザビリティより自分たちにとってのわかりやすさを優先してどうするw

412 :デフォルトの名無しさん:2007/02/03(土) 23:35:33
隠蔽するか公開するかは、わかりやすいかどうかじゃなくて必要か不要かだろ。
だいたい「わかりやすさ」って何よ。

413 :デフォルトの名無しさん:2007/02/04(日) 00:11:59
もういいからお前ら消えろ。
けっきょくVBスレらしい間抜けなレスにしやがって

414 :デフォルトの名無しさん:2007/02/04(日) 00:13:31
正規表現のパターンを複数指定する事は可能でしょうか。

415 :デフォルトの名無しさん:2007/02/04(日) 00:24:49
>>399
昨日は情報どうもありがとうございました。
教えて頂いたサイトからサンプルをダウンロードしてテストしてみましたところ、
やはり下層のコントロールは見える状態にはなりませんでした。
このSetStyleの方法はすでに試みていたものではあったのですが、
やはり結果は同じものでした。

やはり .NETではVB6でのラベルの透明化と同等の機能はじつげんできない
ように思います。

Regionを多重に切るか、ドーナツのように穴あきにするかすれば、完全に
透けて見える状態になるわけすが、それですとその穴から下のコントロールが
アクセスできてしまうので、透明化ということにはならず、やはり無理、と
思われました。

もしできるという情報がどこかにありましたら、また教えてください。


416 :デフォルトの名無しさん:2007/02/04(日) 00:30:47
>>415
いったい何が作りたいのか言っちゃえば?
透けて見えるコントロールにアクセスできたら困るってのはUIとしてどうなのかと…

VB6のラベルコントロールはフォームに書いてるだけだし。


417 :デフォルトの名無しさん:2007/02/04(日) 01:04:50
>>415
頭悪いにもほどがあると思うよ。
背景透明にできたんだから、あとはOnPaintでクライアント領域に
描画するだろ。

418 :デフォルトの名無しさん:2007/02/04(日) 01:10:41
まぁそう言うな

419 :デフォルトの名無しさん:2007/02/04(日) 01:40:50
ランダムに文字列を表示させたいのですがどうすればいいでしょうか。

420 :デフォルトの名無しさん:2007/02/04(日) 01:53:40
>>419
もうちょっと詳しく説明しろよホントに・・・

Dim message As String() = {"もうちょっと", "詳しく", "説明しろよ", "ホントに・・・"}
Dim rand As Random = New Random(DateTime.Now.Millisecond)
Label1.Text = message(rand.Next(4))


421 :デフォルトの名無しさん:2007/02/04(日) 02:48:09
>>414
意味が分からん
取りあえず二回 Match させりゃ良いんじゃね 並列か直列か知らんが

422 :デフォルトの名無しさん:2007/02/04(日) 02:49:35
なんで具体的に説明しないのかね?

423 :デフォルトの名無しさん:2007/02/04(日) 03:00:29
初心者スレが機能してないから流れてきてんだろ・・・

424 :デフォルトの名無しさん:2007/02/05(月) 12:11:47
以前はデバッグ時に一時停止してのコード変更が可能だったのに、
どこかのタイミングからか、コードウインドウのタブ耳にロックのマークが現われ、
デバッグ実行中の一時停止でコード変更ができない状態になってしまいました。

これを解除してまたコード変更可能な状態にしたいのですが、
方法が見つけられずにいます。すみませんがこれについて教えてください。

425 :デフォルトの名無しさん:2007/02/05(月) 12:35:26
デフォルトのコンストラクタで作成するDictionaryのキーに
EnumとかIntegerって使える?

やっぱり面倒でもIEqualityComparer実装したクラスを別に作らないと駄目なんだろうか?
今日午前中MSDNその他いろいろ読んでみたがどうもよくわからない。

Dictionaryのこの辺の話題を掘り下げてるところってどこかないかなあ。。

426 :デフォルトの名無しさん:2007/02/05(月) 13:18:32
普通に使えるでしょ。

Dim foo As Dictionary(Of Integer, Object) = New Dictionary(Of Integer, Object)

427 :デフォルトの名無しさん:2007/02/05(月) 15:13:54
自分が/t:winexeでコンパイルされてるかどうかの判別はどうすればできますか?

428 :デフォルトの名無しさん:2007/02/05(月) 18:42:51
>>426
いや、そういう意味じゃなくてw
当然使っても安全かどうかって意味ですよ。

IEqualityComparerを渡さないコンストラクタを使った場合、
DictionaryはKeyオブジェクトのGetHashCodeを間接的に呼び出すはずだけど、
MSDNライブラリによれば値型のGetHashCodeで得られる値はハッシュとして機能しないとあるから。

429 :デフォルトの名無しさん:2007/02/05(月) 19:01:03
Dictionary は、キーが同じであるかどうかを確認するための等値比較の実装を必要とします。
comparer パラメータを受け付けるコンストラクタを使用して、
IEqualityComparer ジェネリック インターフェイスの実装を指定できます。
実装を指定しない場合は、既定のジェネリック等値比較演算子である EqualityComparer.Default が使用されます。
型 TKey が System.IEquatable ジェネリック インターフェイスを実装している場合は、
既定の等値比較演算子でその実装が使用されます。

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Int32
Implements IComparable, IFormattable, IConvertible, IComparable(Of Integer), _
IEquatable(Of Integer)

430 :デフォルトの名無しさん:2007/02/05(月) 19:08:05
等値検査の話じゃなくて、ハッシュの話をしてるんですが。。。

431 :デフォルトの名無しさん:2007/02/05(月) 19:21:06
>>430
> IEqualityComparerを渡さないコンストラクタを使った場合、
> DictionaryはKeyオブジェクトのGetHashCodeを間接的に呼び出すはずだけど、
これは本当か?

432 :デフォルトの名無しさん:2007/02/05(月) 19:22:34
>>431
確証はないんですが、MSDNライブラリのEqualityComparer.Default のくだりに
それっぽいことが書いてありますよ。

433 :デフォルトの名無しさん:2007/02/05(月) 19:23:32
というか、仮にもハッシュテーブルなんだから何らかの形でハッシュは使うでしょう

434 :デフォルトの名無しさん:2007/02/05(月) 20:55:55
>>430
当然、コリジョン対策はしてある。
Reflectorでソース追ってみなよ。

435 :デフォルトの名無しさん:2007/02/05(月) 20:58:06
>>428
ハッシュが衝突して安全でないってどんなしょぼい実装や

436 :425:2007/02/05(月) 21:07:46
>>434-435
生半可な知識しかないんで偉そうなことはいえないんですが、
なんか勘違いしてません?

「コリジョン対策」というのは、違うキーに対して同じハッシュが
生成されることへの対策でしょう。

等価のキーのハッシュが異なる場合はこの限りではないはず。

437 :デフォルトの名無しさん:2007/02/05(月) 21:08:01
>>431
それは本当。

Int32はIEquatable<Int32>を実装してるから、
EqualityComparer<Int32>.DefaultはGenericEqualityComparer<Int32>のインスタンスを返す。
で、GenericEqualityComparer<Int32>.GetHashCode(Int32)は、Int32.GetHashCode()を呼んでる。

ハッシュが衝突した場合、IEqualityComparer<T>.Equals(T,T)が呼ばれるが、
GenericEqualityComparer<Int32>.Equals(Int32,Int32)の実装では、Int32.Equals(Int32)が使われている

438 :デフォルトの名無しさん:2007/02/05(月) 21:14:45
>>436
等価なオブジェクトは等しいハッシュを生成しなければならないよ。

参照型であれば、Object.GetHashCodeに丸投げすることができるけど、
値型の場合はその条件を満足するようにGetHashCodeを実装しなければならない。

http://msdn2.microsoft.com/ja-jp/library/system.object.gethashcode(VS.80).aspx

439 :デフォルトの名無しさん:2007/02/05(月) 21:16:16
>>436
同じ入力値に対して異なる結果がでるのはハッシュ言わんがな

440 :425:2007/02/05(月) 21:24:18
>>438
つまり、それを総合するとEnumやIntegerはそのままではキーとして使えない、
という結論なんでしょうかやっぱり?

441 :デフォルトの名無しさん:2007/02/05(月) 21:27:35
>>440
なんでそうなるかなあ。。。

少なくともmscorlibやその他の標準ライブラリで定義されている構造体はGetHashCode()を適切にオーバーライドしてあるよ。

442 :デフォルトの名無しさん:2007/02/05(月) 21:29:17
>>440
心配なら逆コンパイルして確かめてみればいいんじゃないの

443 :425:2007/02/05(月) 21:33:58
>>441
そうなんですか。

>>442
いやそこまでの能力ないヘッポコなもんでここで質問させてもらってる訳でして。。

444 :デフォルトの名無しさん:2007/02/05(月) 21:37:03
ファイルを読み込む際、文字エンコードを自動判別する方法はありますでしょうか

445 :デフォルトの名無しさん:2007/02/05(月) 21:39:38
GoogleMapの座標を取り込みたいのですが、どこかにいいサンプルありませんか?


446 :デフォルトの名無しさん:2007/02/05(月) 21:40:35
>>444
mlang.dll, IMultiLanguage2, DetectInputCodepageあたりでググってみ。

447 :デフォルトの名無しさん:2007/02/05(月) 21:57:24
>>446
ありがとうございました

448 :デフォルトの名無しさん:2007/02/06(火) 00:34:51
>>444
adode.streamのcharset="autodetect"や"_autodetect"なんてのも

>>427のほうもよろしくお願いします
exeヘッダを読まずにできませんか?

449 :デフォルトの名無しさん:2007/02/06(火) 03:02:16
>派生型の GetHashCode メソッドを呼び出した場合、戻り値はハッシュ テーブル内のキーとしての使用には適していない可能性があります。
派 生 型 の
ちゃんと嫁。
ここでいう派生型ってのはつまり自分で作成した値型ってこと。
自作じゃないやつはMSDN見ればちゃんと適切に実装されていることが分かる。
ついでに、適切でないってのは、同値条件が不明だからってだけで、
同じビットイメージなら同じ結果になったはず。


450 :デフォルトの名無しさん:2007/02/06(火) 08:22:32
>ここでいう派生型ってのはつまり自分で作成した値型ってこと。
おいおいw
それは日本語の読解としておかしいよ。
すくなくともこの文章にそんな含意はないでしょう。

もちろん他にそういう意味の記述があれば話は別だが、
調べた限り見当たらないんだよね。
だから>>425のとおり質問させてもらったわけで。

>>443では一応納得したふりをしたけど、本当はそんな確証はどこにもないと思う。

451 :デフォルトの名無しさん:2007/02/06(火) 10:17:53
ああ、言い間違い。
組み込みじゃない型のこと。

452 :デフォルトの名無しさん:2007/02/06(火) 10:35:21
派生型では適しないの意味を理解してないだろ。
既定の実装では全メンバが反映されるんだったような気がする。
もちろん派生型でこれが適しない可能性はある。
が、組み込み型では正しく動作するようになってる。
列挙は整数型と同じだから問題なし。

453 :デフォルトの名無しさん:2007/02/06(火) 10:56:01
>>450
つまり組み込み型でも値型のハッシュは使えないとお前は言いたいのか?
んなわけあるかぼけ

454 :デフォルトの名無しさん:2007/02/06(火) 11:18:28
別function内で起きたエラーもtry〜catch文で拾えるんでしょうか?
どこら辺探れば理解できるかヒントでいいのでお願いします

sub main
try
if func_test then
label1.text = "true"
else
label1.text = "false"
end if
catch
label1.text = "exception error"
end try
end sub

function func_test() as boolean
〜〜〜〜〜
ここで例外エラー
〜〜〜〜〜
return true
end function

455 :デフォルトの名無しさん:2007/02/06(火) 11:54:39
>>454
別Functionから例外投げればいいんじゃない?

456 :454:2007/02/06(火) 12:21:48
>>455
ありがとうございます
出来ればmain内でエラーを拾いたいのです

今は拾えない前提で、func_testの部分を関数化せず
if func_test then の部分が出て来る度にtry〜catchで囲ってました。

457 :デフォルトの名無しさん:2007/02/06(火) 12:25:58
>>452
派生型に「組み込み型は除く」なんて含意があるわけないでしょw
単に「〜から派生した型」、「〜を継承した型」という以上の意味があるはずがない。

ちなみに>>449の説明はObject型の説明でしょう。
.NETでは全ての型はObject型からの…まああとは言うまでもないね。

458 :デフォルトの名無しさん:2007/02/06(火) 12:26:44
func_test内でtry〜catchしてなかったら外側で例外拾えると思ってた

459 :デフォルトの名無しさん:2007/02/06(火) 12:45:34
>>457
お前思い付きで物言ってんだろ、話にならん。
objectじゃなくてValueTypeの説明の話だし、
Int32とかそれぞれの組み込み型のメソッドの説明に載ってる。
つまりきちんとオーバーライドされてる。
ちゃんと読めや。


460 :デフォルトの名無しさん:2007/02/06(火) 12:52:18
もうお前ら消えていいよ

461 :427:2007/02/06(火) 14:40:33
同じソースで、/t:exeならConsole.Writeで、
/t:winexeならMsgBoxかMessageBox.Showで出力しようとしても、
Console.Writeが/t:winexeでNOPになるだけで判別できないのです。
なにか方法ありませんか?

462 :デフォルトの名無しさん:2007/02/06(火) 15:31:47
>>450
お前ArrayListが単純な配列とか有り得ない、
可変長配列は連結リストとかで作るのが常識みたいなこと
ほざいてたやつじゃねーか?w


463 :デフォルトの名無しさん:2007/02/06(火) 16:11:44
馴れ合いなら、どこかよそでやれよ。

464 :デフォルトの名無しさん:2007/02/06(火) 16:26:37
for each文で、配列の何番目の要素なのか簡単に取得する方法ってありますか?

465 :デフォルトの名無しさん:2007/02/06(火) 16:27:32
ない

466 :デフォルトの名無しさん:2007/02/06(火) 16:28:49
馴れ合いってそういう意味だっけか?

467 :デフォルトの名無しさん:2007/02/06(火) 16:31:41
>>465
ありがとう

468 :デフォルトの名無しさん:2007/02/06(火) 18:51:23
>>459
なるほど、ValueTypeの説明には明示的ではないにしろ、
キーにつかっても安全と取れる記述があるね。
>>449がはっきり「ValueTypeの説明にこうある」と書いてくれれば
いらん「誤解」は避けられたのに。

まあ、一応レスはありがとう。
でも君ごときにお前呼ばわりされるいわれはないよ。

469 :デフォルトの名無しさん:2007/02/06(火) 19:10:14
2ちゃんでは二人称はお前がデフォだろうが

470 :デフォルトの名無しさん:2007/02/06(火) 19:11:48
放っておけ

471 :デフォルトの名無しさん:2007/02/06(火) 19:51:28
>>468
MSDNのメソッドの説明部分にもろ書かれてることを、
どこにも載ってないと言ってみたり、
最初からValueTypeの話で始まってるのに
勝手にobjectの説明だと決めつけたり
まあおめでたいやつだ。
誤解する方がおかしい。


472 :デフォルトの名無しさん:2007/02/06(火) 19:55:31
ついでに言っとくがobjectのハッシュ実装の方こそ、
既定のハッシュ実装としては使えない。
これは確か明記されてなかったか?


473 :デフォルトの名無しさん:2007/02/06(火) 20:30:29
>MSDNのメソッドの説明部分にもろ書かれてることを
ごめんこれ具体的にどこのこと言ってるの?
真面目にわからないから教えて欲しい

474 :デフォルトの名無しさん:2007/02/06(火) 21:27:44
そっちが期待してる「書かれてる内容」とは違うと主張するのかもしれんが
Int32.GetHashCodeとかとにかく
組み込み型のGetHashCodeはみんなドキュメントあるだろ。


475 :デフォルトの名無しさん:2007/02/06(火) 21:30:18
それとも具体的にハッシュとして使えると明記されてないから
こんなのは信用できないってか?

476 :デフォルトの名無しさん:2007/02/06(火) 21:52:09
>>475
えーっと、それはプログラマとして当然の姿勢だと思いますが。。。

477 :デフォルトの名無しさん:2007/02/06(火) 22:00:52
だったら何も使うなよ。
常識のレベルってもんがあるだろうが。
あの説明で具体的に何を疑うわけ?

478 :デフォルトの名無しさん:2007/02/06(火) 22:04:07
つまりCLR組み込みの例えば整数型は
わざわざハッシュメソッドをオーバーライドした上で
しかもドキュメントにはこのインスタンスのハッシュコードを返すと書きながら
それを正しく実装していないと疑ってるわけだな?



479 :デフォルトの名無しさん:2007/02/06(火) 22:06:00
やっぱりArrayListの列挙が順番通りなんて
とても信用できない、有り得ない君か?

480 :デフォルトの名無しさん:2007/02/06(火) 22:10:42
初歩的な質問ですみません。
勉強がてらソフトキーボードを作っています。
例えばフォームのボタンをクリックしたら、他のアプリのテキストボックスに
文字などを表示するには、どうしたらいいんでしょうか?

481 :デフォルトの名無しさん:2007/02/06(火) 22:12:49
そんなに熱くなる理由がさっぱりわからん。
不確かなことに依拠しない、なんてことはエンジニアだけでなく、
あらゆる仕事の基本だと思いますが。

482 :デフォルトの名無しさん:2007/02/06(火) 22:14:38
Vista挿入した香具師居てるンですかどうなんですかブビの運命やいかに

483 :デフォルトの名無しさん:2007/02/06(火) 22:29:05
デタラメばっかり言って人の言うことを全く信用しないからだ。
何のためにここに書き込んだわけ?
お前は誰が何を言っても信用しないのに

484 :デフォルトの名無しさん:2007/02/06(火) 22:31:50
お前は疑うところがずれてんだよ。

485 :デフォルトの名無しさん:2007/02/06(火) 22:34:06
>>480
何が分からないか具体的に

486 :デフォルトの名無しさん:2007/02/06(火) 22:35:54
>>483
やっぱりそういう受け取り方をする人なんだね。
今日日増えたなこういうパーソナリティの人間。。

冷静に。
「信用できない」、「不確か」という言葉は君という人格に向けられた物じゃない。
君を信用できないとか誰が信用できないとかそういう問題じゃないんだよ。

大人ならそれぐらいわかるでしょ。

487 :デフォルトの名無しさん:2007/02/06(火) 22:45:21
じゃあMSDNでいいよ
書かれてると言っても
書かれてることを読んでも
信用できないんだろ。
ただ、ここで言われたんじゃなく、自分で見て読んだなら
そこまで疑った反応するわけないんじゃないのか?
本当にMSDNに書かれてる内容をそこまで疑ってしか見られないんじゃ
とても開発なんて出来ないよ。

俺には何が疑わしいのか理解できないからな。


488 :デフォルトの名無しさん:2007/02/06(火) 22:49:37
まあ、人が作ったものが信用できないなら自分で作ればいいだけだが
それで仕事になるかどうかは知らんが

489 :デフォルトの名無しさん:2007/02/06(火) 22:50:38
わるいがわざわざ2チャンで冷静に見えるように書き込む必要を感じない。
携帯で丁寧な文は面倒なんだよ

あと内容で反論出来なくなたっらメンタリティとか、どうでもいいんだよ。
どこが疑わしいのかはっきり書け。

っていったらプログラマとして当然か、
悪いが全然当然じゃない。
よっぽどうがった見方しないと疑う余地がない。


490 :480:2007/02/06(火) 22:52:25
>>485
レスありがとうございます。
フォームのボタンをクリックするとフォーム内の
仮に置いたテキストボックスに文字を表示する事はできました。
わからないのは、フォームではないアプリの入力欄に打ち込む方法です。
どんな設定やメソッド?を使えばいいのか見当がつかない状態です。

491 :デフォルトの名無しさん:2007/02/06(火) 22:52:27
うがった見方ってのは、MSがわざわざ嫌がらせで
罠をはった実装を行った、くらいのレベルだ。

492 :デフォルトの名無しさん:2007/02/07(水) 00:08:08
ちなみにInt32のGetHashCodeの実装は
自分自身の値を返す、だ。



493 :デフォルトの名無しさん:2007/02/07(水) 00:23:03
ぶも。
最近@ITのVB記事がひどいでつ。


494 :デフォルトの名無しさん:2007/02/07(水) 00:40:41
使用者のレベルに合わせてるだけでつ。

495 :デフォルトの名無しさん:2007/02/07(水) 01:36:57
>>490
SendMessageでWM_KEYDOWN/WM_KEYUPメッセージを送るといい

496 :デフォルトの名無しさん:2007/02/07(水) 10:12:08
配列の記事はまたひどいぶぶんがあるな。
なんかVBプログラマって感じだ。

497 :デフォルトの名無しさん:2007/02/07(水) 15:05:35
質問です。

VB.Net2003でクラスライブラリを作成しています。

自作でクラスライブラリを作成することはできています。
できたDLLを別のVB.Netプロジェクトから参照して使用するのですが、
プログラミング時にインテリセンスで自作DLLの関数の説明を表示させるには
どのようにすればいいでしょうか?

System.ComponentModel の Description で自作プロパティを修飾したら
プロパティグリッドに説明が表示されますが、
自作関数に Description を使用してもインテリセンスには表示されません。
何を使って修飾すべきなのでしょうか?

498 :デフォルトの名無しさん:2007/02/07(水) 15:20:12
ドキュメントコメント
xmlのやつ

499 :デフォルトの名無しさん:2007/02/07(水) 15:21:51
ってVBか。
アドイン使わないと出来なかったな。
dll参照なら確かアドインでxml作れば出来たと思う。

500 :497:2007/02/07(水) 15:44:31
ドキュメントコメントでググってみました。
VB2003では標準ではできないっぽいですね。

Imports System.ComponentModel
<Description("ほげ")> _
Public Function Hoge() As Stirng
  'なんたらかんたら〜

みたいにお手軽にできるものならやろうと思っていたんですけど。
VBCommenterとかのアドインがあるみたいですね。

まぁそのうちにVS2005に移行する予定なので今は我慢しておきます。

情報提供ありがとうございました。

501 :480:2007/02/07(水) 17:14:26
>>495
ありがとうございます。調べて試してみます。

502 :デフォルトの名無しさん:2007/02/07(水) 22:59:53
色々調べたのですが判らず、恐縮ですが教えていただけるとありがたいです。

Excel2003 VBAでは、
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
のように、簡単に、指定した時刻に処理を行うことが出来るのですが、

VB.NETでは、
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

'処理

End Sub
のように、指定時刻から現在時刻を引き、それをTimerのインターバルに設定して、指定時刻に処理を行う
方法が良いのでしょうか?

503 :デフォルトの名無しさん:2007/02/07(水) 23:02:30
0.5秒ごとに指定時刻と現在時刻を比べるといい
なあに大した負荷ではない
むしろその方が誤差は少ないじゃないか

504 :デフォルトの名無しさん:2007/02/07(水) 23:36:44
>>503
なるほど。力業の感じを受けましたが、VBAとは違ってそのような処理は軽いんですね。ありがとうございました。

505 :かのん ◆Ry3ufnjL32 :2007/02/08(木) 00:09:26
VB2005のRichtextにおいて、マウスカーソルはRichtextboxがもともと持っているにもかかわらず、
フォームエディタで設定されたCursorで上書きされてしまいます。そのため、画像のサイズ変更ハンドル
などが表示されません。

フォームエディタで設定されたCursorを表示しないようにして、もともとRichtextboxコントロールが持っている
マウスポインタを表示させたままにすることはできますでしょうか(いろいろやってみたのですが、
カーソルが点滅して使い物になりませんでした。)。よろしくご享受ください。

506 :デフォルトの名無しさん:2007/02/08(木) 13:52:44
アップロードするプログラムを作るためにソケットを使おうと思うんですが
Private sc As New Sockets.Socket( _
Net.Sockets.AddressFamily.InterNetwork, _
Net.Sockets.SocketType.Stream, _
Net.Sockets.ProtocolType.Tcp)

を数回使ったりするプログラム方法ってありますか?
打開策が見いだせなくて死んでますOTL

507 :デフォルトの名無しさん:2007/02/08(木) 21:22:38
式のウオッチで、式の値が変化したときに停止(ブレーク)する、の設定は
どのようにするのでしたっけ?前にやったような気がするんですが、
またやろうとしたらメニューのどこを見てもそれらしいのがなく、Help見ても
出てきませんです。困りました。。。

508 :デフォルトの名無しさん:2007/02/08(木) 22:29:12
>>506
数回使うという意味が分からん

509 :デフォルトの名無しさん:2007/02/09(金) 02:09:48
VB2005でlzhファイルを解凍したいのですが、うまくいかなくて弱っています・・・
どう修正したら良いのでしょうか?

Public Class Form1

Public Declare Function Unlha Lib "unlha32" _
(ByVal hWnd As Long, ByVal szCmdLine As String, _
ByVal szOutput As String, ByVal dwSize As Long) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim Lzhfilename As String
Dim Outdir As String
Dim Meltopt As String
Dim result As Long '戻り値 (成功:0 失敗:エラーコード)

'ディレクトリ指定 & 解凍オプション
Lzhfilename = Chr(34) & "C:\Documents and Settings\My Documents\My eBooks\Book.lzh" & Chr(34)
Outdir = Chr(34) & "C:\Documents and Settings\My Documents\My eBooks\" & Chr(34)
Meltopt = "e " & Lzhfilename & " " & Outdir
result = Unlha(Me.hWnd,Meltopt, "", 0)
If (result <> 0) Then MsgBox "Error/Warning : 0x" & Hex(result)

End Sub

End Class

510 :デフォルトの名無しさん:2007/02/09(金) 02:37:34
>>509
http://dobon.net/vb/dotnet/links/extractarchive.html

511 :デフォルトの名無しさん:2007/02/09(金) 09:57:20
>>510
できませんでした。

512 :デフォルトの名無しさん:2007/02/09(金) 12:06:40
.NETで既存のExcelファイルを開きマクロを操作(実行)するには
どう記述したら良いのでしょうか?

513 :デフォルトの名無しさん:2007/02/09(金) 12:26:28
VB.NETでExcelVBAのマクロを動かす方法は??
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs2/200409_04090028.html
ttp://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=4441&page=0#4441

MicroSoft Excelを起動(既存のファイルを開く)
ttp://www.bcap.co.jp/hanafusa/dotnet/Excel01.htm#no2

Visual Basic .NET からオートメーションを使用して Office マクロを実行する方法
ttp://support.microsoft.com/kb/306682/ja

514 :デフォルトの名無しさん:2007/02/09(金) 12:31:41
>>508

複数のファイルをアップロードしようと思うんです。
今はソケットを大量に作ってますOTL

515 :デフォルトの名無しさん:2007/02/09(金) 14:19:10
>>512
.NETでExcelなどのCOMを扱うのは参照の解放漏れ対策で苦労するので、
VB6やWSHでやったほうが楽なのでは?

516 :デフォルトの名無しさん:2007/02/09(金) 16:40:11
ちょっとこういうことできるか聞きたいんだが

【開発環境】VB.NET2003

あるラベル(長さは文字数が違っても一列で表示したい)を動的に縦に並べて作成する。
その横にテキストボックス(サイズは固定)を配置

で、ここでテキストボックスのLeftを揃えたい
ただし、ラベルの文字の長さは変わる

こういうことは出来るんだろうか・・・
結果的に↓みたいな感じにしたい

LABEL1AAA | TEXTBOX1
LABEL1BB | TEXTBOX1
LABEL1C  | TEXTBOX1

ずれてたらすまんが | が縦に並ぶようなイメージ
もし、こんなので出来るよって人いたらお願いします。

517 :デフォルトの名無しさん:2007/02/09(金) 16:45:38
一番長いラベルが収まる幅を確保すればいいだけではないの?
Measurestringとか。

518 :デフォルトの名無しさん:2007/02/09(金) 17:01:55
>>517
まさにその通りだったんですが
Graphics名前空間にこんな便利なのがあるとは・・・

これで計算した大きさにラベル合わせていけば問題なくいけそうです!!!
ありがとうございました!

519 :デフォルトの名無しさん:2007/02/09(金) 18:41:34
んなことわざわざしなくてもラベルのサイズってAutoにできたような。。。

520 :デフォルトの名無しさん:2007/02/09(金) 18:57:07
質問よく読めよ・・・

521 :デフォルトの名無しさん:2007/02/09(金) 20:28:19
ちょっと教えてください

ユーザーコントロールを作成しました。

このコントロールは System.Windows.Forms.UserControl を継承していますが
ListViewのように常時スクロールバーを表示する機能は標準で実装されていないようです。

そこで、ListViewのように常時このコントロールにスクロールバーを表示させたいのです。
(ただし、スクロールできない場合は、グレーで操作不能)
こういう実装は可能なのでしょうか?

ググってみたのですが、どうもこういう質問は見当たらなかったもので・・・

522 :デフォルトの名無しさん:2007/02/09(金) 20:33:14
>>514
一気にパケット送って一気に元に戻しちゃぁいけないの?

523 :デフォルトの名無しさん:2007/02/09(金) 21:07:53
>>521
HorizontalScroll, VerticalScrollはどう?

524 :デフォルトの名無しさん:2007/02/09(金) 21:14:24
>>523
折角お答えいただいたのに申し訳ない
FrameWork2.0ならそれでいけるのですが、
現在の環境はFrameWork1.1 SP1(細かく忘れましたがとにかく最新です。)
になっているんです。

確認してみたのですが見当たらなかったので・・・

環境書き忘れごめんなさい。

525 :デフォルトの名無しさん:2007/02/09(金) 21:19:10
>>524
あーそれじゃあ

VScroll, HSrollってprotectedなプロパティがあったと思うから、
オーバーライドしてやればどうかな

526 :デフォルトの名無しさん:2007/02/09(金) 21:21:29
あっと、
オーバーライドじゃなくて、普通に設定するだけでいい。
AutoScrollをfalseにするのを忘れずに。

527 :デフォルトの名無しさん:2007/02/09(金) 21:51:39
>>525>>526
度々のレス、ホントありがとうございます。

んっと どうもそのプロパティは基本的に表示可能かどうかを示す値なような・・・
というわけでBooleanなので設定試してみましたがムリでした。(AutoScrollはFalse)

最初の説明を見直してみてちょっと修正したいと思ったんですが

ListBoxコントロールのScrollAlwaysVisibleプロパティ

ズバリコレと同じ事をユーザーコントロールで実装したいと思っていただければ
自分でそのあたり実装しなくてはいけないんでしょうが何をベースにしていいのやらがまったく・・・・

528 :デフォルトの名無しさん:2007/02/09(金) 22:03:21
>>527
VScrollBar コントロールをそのUserControlに張り付けりゃいいんじゃねーの?

529 :デフォルトの名無しさん:2007/02/09(金) 22:16:18
>>527
となると、SetScrollInfoをP/Invokeかなあ
他の処理も自前でやらないといけなくなりそうだが

530 :デフォルトの名無しさん:2007/02/10(土) 00:04:52
貴重な意見ありがとうございます。

>>528
そうなると自前で書く部分が相当増えそうなきがして。。。
コントロールの移動とか(;´∀`)

>>529
ちょっとそれでググたりしてやってみることにします。
実際、コントロールの機能にないものを実装することがなかったので・・・
かなりきついとは思いますが(;´∀`)


531 :デフォルトの名無しさん:2007/02/10(土) 00:33:30
親亀の上に子ガメをのせて孫亀乗せればいいじゃないか

532 :デフォルトの名無しさん:2007/02/10(土) 01:15:31
とりあえずやってみました。

>>528の方法をまず試してみた
中にあるコントロールのサイズが大きいときだけEnable=Trueにして
期待通りの動作はしたけれど問題はVisualStyleですね。

次は>>529のを次試してみることにしよう



533 :デフォルトの名無しさん:2007/02/11(日) 19:09:57
誰か>>507教えてください。よろしく

534 :デフォルトの名無しさん:2007/02/11(日) 22:56:23
質問です

他の方がC#で作ったというDLLをもらってきて、
自分のVB2005で参照追加して使っているのですが、
できたプログラムをIDE上のデバッグモードで走らせるときは、期待通りの結果が得られますが、
ビルドしてできたEXEを実行しても結果がデバッグモードの時と違ってしまいます。

具体的にはDLLに含まれるある関数の戻り値が、ビルドしたEXEファイルでは必ず0になってしまっているようです。
他に特にエラーを吐くわけでもなく、DLL内のクラスのインスタンスを作ったり、関数を呼ぶこと自体はできているようです。

このようにデバッグ時とビルド後で結果が違ってしまう場合の原因ってどんなことが考えられるでしょうか?

ちなみに、環境はWinXP Pro(SP2) + VB2005 ExpressEditionです

535 :デフォルトの名無しさん:2007/02/11(日) 23:13:08
>>533
2003になったとき、しばらく探してあきらめたような覚えがある。
ぶっちゃけ無くなっちゃったと思ってる。

536 :デフォルトの名無しさん:2007/02/11(日) 23:21:06
VB6とかいうインタプリタの時代の機能じゃねえの?

537 :デフォルトの名無しさん:2007/02/11(日) 23:25:29
>>534
関数?

作者に聞くしかないんじゃね?
// とか言いつつ実は漏れだったらどうしようw

538 :534:2007/02/11(日) 23:48:34
>>537
>関数?
すみません、書き方が悪かったです。
正確にはDLLに含まれるクラスの中のメソッドです。

「A.DLL」のなかに 「B」というクラスがあって、そのクラス内にFunction C() As Double というメソッドがあったとして、
Dim Test As A.B = New A.B
MsgBox(Test.C().Tostring)
というコードを実行したとき、デバッグモードでは0でないある数値が表示されるのに、ビルドした後だと必ず0が表示されてしまうのです。

やっぱり作者に聞くしかないですかね・・・

539 :デフォルトの名無しさん:2007/02/12(月) 01:18:45
Form3_Loadで、もしForm1からForm3へ移動してきた場合は真
Form2からForm3へ移動してきた場合は偽を返す
・・・みたいなこと出来ますか?
もし出来るのでしたらヒントかソース教えていただけると嬉しい。

540 :デフォルトの名無しさん:2007/02/12(月) 01:25:58
>>538
デバッグ時とリリース時で挙動が違うときは最適化を疑う

>>539
「移動してきた」の意味が分からん。
直前にアクティブだったってこと?
それとも各フォームからShowされたってこと?

541 :539:2007/02/12(月) 01:30:50
フォーム1,2でこのソースを使って3へ移動しています
If frm3 Is Nothing Then
frm3 = New Form3
End If
frm3.Owner() = Me
Me.Hide()
frm3.ShowDialog()
わかりにくくてすみません

542 :デフォルトの名無しさん:2007/02/12(月) 01:36:16
>frm3.Owner() = Me
ってしてるんだったらForm3_LoadでOwnerの型を調べりゃいいじゃん


543 :デフォルトの名無しさん:2007/02/12(月) 01:51:37
>>538
ConditionalAttributeが怪しいといってみる

544 :539:2007/02/12(月) 02:11:40
レスありがとうございます!
Ownerの型ってどうやって調べるんでしょうか?
ぐぐっても今一ピンとくるものがなく困っています。

545 :デフォルトの名無しさん:2007/02/12(月) 06:30:38
>>539
if frm3.Owner = frm1 then これでだめか?


546 :デフォルトの名無しさん:2007/02/12(月) 10:32:52
しかし、ダメな奴に限って意味なくやたらとウィンドウが遷移するような
UI作りたがるのはどうしてなんだろうね。

そんでもって「別フォームの変数にアクセスするには〜」とか言ってやんの

547 :デフォルトの名無しさん:2007/02/12(月) 15:25:52
ちょっとぼやいてもいい??

しかしなんでこうHelp役に多端の金?

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/CPref17/html/M_System_Windows_Forms_ToolStripItemCollection_CopyTo_1_1f033e27.htm

このCopyToすると、元のメニューのコレクションの中身が全部なくなるって
不具合なんで記載しておかないの金?w

548 :デフォルトの名無しさん:2007/02/12(月) 15:27:36
CopyってCloneつくるんじゃなくて、配列にコピーしたら元のは消しますって
かいとかないのはなぜ?w もしコピーじゃなくて移動ならMoveとか名前変えないと
絶対ウソだろが。

549 :デフォルトの名無しさん:2007/02/12(月) 15:58:07
アンタの環境特有のURL貼られてもねえw


550 :デフォルトの名無しさん:2007/02/12(月) 16:07:51
>>549
すまそです
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.toolstripitemcollection.copyto(VS.80).aspx

それにしても、いまいちわからんのだが
ToolStripItem
を New で生成しようとすると New は使えんと言ってくるが、Help 見ると
http://msdn2.microsoft.com/ja-jp/library/8fw63t85(VS.80).aspx
あるようで、どうもわかりまへん。誰かおせーてちょー
なんかの設定なのか


551 :デフォルトの名無しさん:2007/02/12(月) 16:13:57
ライブラリどころか言語の基本的なところが理解できてないだけ
そのコンストラクタは Protected だし、そもそも ToolStripItem は MustInherit だ

552 :デフォルトの名無しさん:2007/02/12(月) 16:14:26
protectedって書いてあるじゃんw
意味わからないなら真面目に初歩から勉強したほうがいいと思うよ

553 :デフォルトの名無しさん:2007/02/12(月) 16:18:40
>>550
ついでに言うと実はコンテキストメニューのMergeがしたいのだが、どうも見当たらない
(従来のMenuだとあるんだけどね)んで、しかたなくいきなりInsertとかAddしたんだが、
やっぱり元のメニューからは中身が消えてしまった、んで、んじゃあCopyToとかが
あったんでそれもやってみたんだが、やぱ−り元が消えて移ってしまうんだよね。

昔のMenuはマージしても別に元は消えなかったのに

554 :デフォルトの名無しさん:2007/02/12(月) 16:23:00
>>550-551
なるほど、Newが使えるのは派生クラスだけだと。確かにMustInheritと出てはきてますたし
後段ヘルプのprotectedにも目が行かなかった、すまそですた。

しかしそうなると、ContexrMenuの場合、やっぱりコントロール貼ってGUIでいちいち全部手で
書き込むしかないんですかね

555 :デフォルトの名無しさん:2007/02/12(月) 16:23:59
>>554訂正 ContexrMenuの場合>ContextMenuの場合

556 :デフォルトの名無しさん:2007/02/12(月) 16:51:30
で、例えば

i0 = 2
For j = 0 To ContextMenuStrip2.Items.Count - 1
With ContextMenuStrip2.Items(j)

Dim newMItem As ToolStripMenuItem = New ToolStripMenuItem(.Text)

i = i0 + j
ContextMenuStrip1.Items.Insert(i, newMItem)
End With
Next

こんなことをすれば一応コピーの形はできるんだけど、WithEventで宣言してないから
HandlerはAddHandlerでこれもいちいち書かなくちゃいけないし、結局Mergeメソッドは
ないってことで、なんだか下位互換性のためにMainMenuもContextMenuも残してありますって
のはどうも言い訳っぽい気がするんだよね、なんでMerggeなくしたんだろ??

557 :デフォルトの名無しさん:2007/02/12(月) 17:09:27
>>556
だからくだらないことでクダ巻いてる時間に基礎を勉強した方がいいよ。
とりあえず文句いうのはせめて参照型の意味がわかるようになってからにしろって
あんた、かなり恥ずかしい発言してると思うよw

558 :デフォルトの名無しさん:2007/02/12(月) 17:33:01
>>557
勉強は並行してやりますが、、それはおいておいて、下位のはずのMainMenuやContextMenuで
できてたMenuMergeを、上位のはずのMenuStripやContextMenuStripでなくなってしまった
のはなんでだろね?

上位なら上位らしくできるというべきじゃないのかな

559 :デフォルトの名無しさん:2007/02/12(月) 17:33:46
できないんならできないでいいけど、だったら上位というのは問題だよな

560 :デフォルトの名無しさん:2007/02/12(月) 17:37:28
>>557
それと、参照型の話は
Public Sub CopyTo ( _
array As ToolStripItem(), _
index As Integer )
がByValになってないってことかもしれんけど、それがどうしたって感じもする
違ってたら言ってほしいけど、世の中でCopyのコピペって、Cut&Pasteとは
異なる機能を言うよな、このCopyToの機能は明らかに CutAndPasteToだぜ?

これのがはずかしいんじゃね?w


561 :デフォルトの名無しさん:2007/02/12(月) 17:39:55
もし仮にCopyToが参照型だからって言って、Cutされていい理由なんかないだろ?

参照型だというのなら、そしてCopyなんだというのなら、せめて、同一の実体を
使いませる意味で「割り当てる」って意味にしなけりゃおかしいと思うよ。それなら
消えるはずはないし。

562 :デフォルトの名無しさん:2007/02/12(月) 17:40:54
あくまでもCutの意味なんだというのなら、明らかにCopyToの命名はおかしすぎるよ。

563 :デフォルトの名無しさん:2007/02/12(月) 17:41:17
ろくすっぽ調べもせずにぐちゃぐちゃ言うのってすごく恥ずかしいよなw

ToolStripManager.Merge

564 :563:2007/02/12(月) 17:49:02
それにCopyToしただけではコレクションの中身は消えない。

まさか、そのまま他のToolStripに追加したりしてないだろうなw

565 :デフォルトの名無しさん:2007/02/12(月) 18:41:40
低能が粘着してるスレはここですか?

566 :デフォルトの名無しさん:2007/02/12(月) 19:15:21
>>563
わかった、すまなかった。あんまり探すのに時間かかるんでイラついてた。
申し訳ない。
>ToolStripManager.Merge
ありがとう。助かった。

>>564
>まさか、そのまま他のToolStripに追加したりしてないだろうな

mergeできないかもと思って、CopyToに手を出したんだけど、これは
ToolStrip型の配列に対して行なってみたら、元のContextMenuStrpが
空になった。これってやっぱりダメなのね、でも配列にと書いてあるんだが

567 :デフォルトの名無しさん:2007/02/12(月) 19:41:50
バカの自覚がないところが痛いんだよね。

568 :デフォルトの名無しさん:2007/02/12(月) 19:45:02
>>567
ん?別にバカでもなんでも構わないが、教えてくれたこの
>ToolStripManager.Merge
で、実際に 一つのContextMenuから別のContextMenuに中身のTooStripMenuItemが
消えないでmergeされるコードはどうやって書くのか教えてほしいんだが。
良ければ教えてくれ。たのむ。

569 :デフォルトの名無しさん:2007/02/12(月) 19:48:41
>>564では、CopyToで消えないと書いてあるよな、
ToolStripManager.Merge メソッド でもHelpにあるとおり、
>そのまま他のToolStripに追加したりして
みたわけだが、やっぱり元のContextMenuからは消えてしまうんだよね。

これって何か恥ずかしいことでもしてるの?全くわからん。

570 :デフォルトの名無しさん:2007/02/12(月) 20:05:14
こっちがやってみたのは、

ContextMenuStrip1.AllowMerge = True
ContextMenuStrip2.AllowMerge = True

sourceContextMenuStrip = ContextMenuStrip2
targetName = "ContextMenuStrip1"
returnValue = ToolStripManager.Merge(sourceContextMenuStrip, targetName)

こうすると returnValue はTrueだが ContextMenuStrip2 から全部消えてしまう。
これで何が間違ってるんだろ?

元に戻してみると確かに
returnValue = ToolStripManager.RevertMerge(targetName)
これで元には戻る。


571 :デフォルトの名無しさん:2007/02/12(月) 20:30:55
マージなんだから消えるのが当然の挙動では?

572 :デフォルトの名無しさん:2007/02/12(月) 20:39:59
>>571
やっぱり消えたの確認したのね、オッケーオッケー。いいよいいよ。
ってことは>>570のコードは別に間違ってないってことだよね?

>マージなんだから消えるのが当然の挙動では?

しかし本当にそう思う?

さっきも書いた通り、前からあったMainMenuもContextMenuではちゃんと消えない
でMergeできてたんだよねー。当然上位のMenuでできないのは変でしょが。

たとえば、一つのContextMenuにはどこのコントロールでも使う共通のメニューアイテム
を入れておいて、コントロール個別の内容は別に個別にセットしてあるところにその共通
分のを 「マージ」 すると、どのコントロールにも共通項目が簡単につけられるし、
いらなくなったらはずせばいいわけでしょ。これが前はできてたのよ、なんで
こんな便利な機能を外しちまったわけ??マージはマージであって、元を消して
いいなんて話はどう考えてもおかしいと、俺は思うね。だってそうなら前のMergeは
なんだったの?ってことで

573 :デフォルトの名無しさん:2007/02/12(月) 20:42:43
でも、>>563-564には「消えない」という意味で書いてあるからなあ

回答待つことにするわ

574 :デフォルトの名無しさん:2007/02/12(月) 21:01:56
>>565>>567
回答くれるんならあんたでもいいけどな。

575 :デフォルトの名無しさん:2007/02/12(月) 21:25:14
どうでもいいが、バカだと抜かしておいてたいしたことないのかよ>>>565>>567

576 :デフォルトの名無しさん:2007/02/12(月) 21:53:26
マイクロソフトの現実にわかりにくいHelp検索できるだけでは威張れませんよね
それから基本的なことどうとかいうけど、権威を信じてるだけでプログラムの中身が
ないんじゃだめですよ。


577 :デフォルトの名無しさん:2007/02/12(月) 21:54:13
それでヘーキでバカが、とか、痛いとかw
笑っちゃうねw

578 :デフォルトの名無しさん:2007/02/12(月) 22:08:50
何を文句言ってるのかようやく分かったw
ToolStripItemの派生クラスのインスタンスは、複数のToolStripItemCollectionに
同時に所属(?)できないようだけど、そのことに文句をたれているのか。

例えばMenuStripの項目の一部をContextMenuStripの項目の一部として表示したい、
ということなら、ContextMenuStripをShowする直前にAddRangeしてClosedイベントで
元のMenuStripに復元するだけでしょそんなの。
何も難しく考える必要はない。

それと、>>563-564の言ってることは別に間違ってないよ。
よく考えてみ。
まあ知識がないのに考えても思いて学ばざるはなんとやら、だが。

しかし、何か昔のフェミかサヨクみたいな壮大な勘違いしてるようだけど、
別にマイクロソフトは君が頑張れる環境を整備する責任を負ってないよ。
まあ君が勘違い野郎でも別に俺には関係ないけどw

579 :デフォルトの名無しさん:2007/02/12(月) 22:20:26
>>578
>別にマイクロソフトは君が頑張れる環境を整備する責任を負ってないよ

これこそ大きな勘違いだと思うけどなぁ
Helpがわかりにくいのは現実、結局あれこれ本みて調べないと調べたいことに
たどり着けなかったりするのはHelpとしてそれ自体「欠陥品」でしょ。
かつてのVB4.0のHelpは何でもすばやく出てきて優秀だった
生産性が良かったね

それがHTMLベースになりレスポンスは遅くなり、しまいにゃあちこち
勝手にリンクが切れたり、全く使いものにならんよこんなの
壮大な勘違いはマイクロソフトの殿様商売の方だろそもそも



580 :デフォルトの名無しさん:2007/02/12(月) 22:25:26
>>579
そーだよなー
エクセルでも95のヘルプは良かったのに97で少し使いにくくなって、2000以降は
もう使う気しないもの

581 :デフォルトの名無しさん:2007/02/12(月) 22:26:06
>>578
>例えばMenuStripの項目の一部をContextMenuStripの項目の一部として表示したい、
>ということなら、ContextMenuStripをShowする直前にAddRangeしてClosedイベントで
>元のMenuStripに復元するだけでしょそんなの。
>何も難しく考える必要はない

まあそうやれば「このダウングレードされた欠陥商品」の欠陥を補うことはできるな
それは>>570で済んでるよ

確かに
>564 名前:563[sage] 投稿日:2007/02/12(月) 17:49:02
>それにCopyToしただけではコレクションの中身は消えない
>まさか、そのまま他のToolStripに追加したりしてないだろうなw
こそ痛かったと思うぜw

だから、それじゃあいちいち元に戻さなくてもいいMergeの仕方をしてみせてくれよと
言ってんだが、結局できなかったってことだよなwww


582 :デフォルトの名無しさん:2007/02/12(月) 22:28:30
偉そうに言う割りに結局はマイクロソフトの弁護して終わるやつが多いのここw

583 :デフォルトの名無しさん:2007/02/12(月) 22:30:01
だから>>564は別に間違ってないって言ってるのに。。
本当馬鹿だな

584 :デフォルトの名無しさん:2007/02/12(月) 22:32:43
>>583
元にもどしてもどれば消えてない、とでも?
別の意味なら消えないマージの仕方を示してくれ。

いちいち戻すのはとても面倒でしょうがないからさ!

585 :デフォルトの名無しさん:2007/02/12(月) 22:34:34
Microsoftに訊けよ。
いくら偉そうに言っても怒らないからあいつら。

586 :デフォルトの名無しさん:2007/02/12(月) 22:35:32
中身の実体が別のところに張り付いてるから消えてない、ってのなら、
たとえば、こっちの桶にある水を別の桶に空けたら、こっちのは空っぽ
になってしまった・・・・・はて、これをこっちの桶からは消えたって言わないのか?
不思議な言語世界だぞそれはw

587 :デフォルトの名無しさん:2007/02/12(月) 22:38:09
それから、前のMenuクラス群なら、Cloneが作れてちゃんと別ものがコピーで作れたぞ。
それがなんで新しいやつだとできないんだよ?だいぶへんなバージョンアップじゃないかね??

588 :デフォルトの名無しさん:2007/02/12(月) 22:39:58
>>585
バカとか言ってる時点で十分えらそうだろw
>>564とか言ってるくせにさ。消えてるじゃねえかよ、
Helpでやれと書いてあるとおりにやってんだぜ。

589 :デフォルトの名無しさん:2007/02/12(月) 22:41:48
>>582
いやいやMSの弁護なんて誰もしてないって。
そうじゃなくて君が馬鹿だっていってるの。
だって与えられた条件はみんな一緒だぜw

MSDNは確かにお世辞にも分かり安くもユーザーフレンドリーでもないが、
君のその体たらくは単なる君自身の勉強不足に由来するのであってMSの責任じゃないでしょ。
っていうか、そもそもプログラマっていうのはそれなりにプロフェッショナルであるべきであって、
馬鹿が無理してやるべき性質のものじゃないんだけど。

590 :デフォルトの名無しさん:2007/02/12(月) 22:45:28
>>589
お前のはバカを連発して>>564の矛盾を糊塗しているだけw

591 :デフォルトの名無しさん:2007/02/12(月) 22:48:10
中身のないプログラムのバージョンアップはやめろというのが先決だろ?ww
マイクロソフトは金儲けでソフト重くすればインテルと組んでハードもどんどん
仕方なしにでも買わせられる、これはグルでうまくやってるつもりなんだろw

592 :デフォルトの名無しさん:2007/02/12(月) 22:49:59
俺の大学時代の友人にもこういう被害妄想傾向の持ち主が一人いたな。。
奴は今元気にやってるだろうか。

593 :デフォルトの名無しさん:2007/02/12(月) 22:53:15
結局、こっちの桶から中身は移動して消えていたのが正しかった、しかし
>>564は調べもしないでいいかげんなことをのたまって偉そうにしただけだった
これが違うというのなら、桶の中身が消えていないというのなら、ちゃんと
Mergeしてもこっちの方からは消えていかないMergeがあることを実際に示せなければ
おかしいはずだ

それができないことに後から気がついたもんでそんな言い訳をこいて指摘した
方を馬鹿だということで逃げ切ろうとw

別に消えてもいいんだよ、ちゃんと調べて消えてることを知った上でものを
言っていたんならなw

594 :デフォルトの名無しさん:2007/02/12(月) 22:57:30
お前さんも痛い奴だな。
だから>>564は間違ってないって。
嘘だと思うなら実際やってみ

595 :デフォルトの名無しさん:2007/02/12(月) 23:08:01
おい!
どうでもいいけど、数字コテくらいつけろよ>>547

596 :デフォルトの名無しさん:2007/02/12(月) 23:08:32
>>594
そのコードを出して見せてくれよ


とずっと言ってるのに出さない理由は?
 1.簡単すぎてあほらしいから出せない
 2.ホントはできないから出せない
答えはどっちですかあ?

If 1 Then 
 回答コード
Else
 すみませんでした
 どうも
End If



597 :596:2007/02/12(月) 23:12:14
もし1なら、先にそれを出しておけばいいこと

しかし、それを出して説明しないから言ってきただけでしょが?>>>594

戻せば戻るって、そんなのは当たり前、とっくに>>570でわかってますよ
と前にも言ってますが。


598 :デフォルトの名無しさん:2007/02/12(月) 23:13:48
コードって言ったってCopyToメソッド一行書くだけじゃんw

まあいいや、例えばformのLoadイベントハンドラに次のように書いてみ。
Dim count As Integer = ContextMenuStrip1.Items.Count
Dim items As ToolStripItem() = New ToolStripItem(count - 1) {}

ContextMenuStrip1.Items.CopyTo(items, 0)

どう、消えたかな?w


599 :デフォルトの名無しさん:2007/02/12(月) 23:16:14
馬鹿だのなんだのと御託は言うくせに、結局、
>>578
>ToolStripItemの派生クラスのインスタンスは、複数のToolStripItemCollectionに
>同時に所属(?)できない
とか言ってるんだから、無理なんでしょ原理的にさ
なら、元々できるわけないじゃん。

結局マイクロソフトはオブジェクト指向だのなんだのとDelphiの開発者を札束で
引き入れて「好きなようにやっていいよ」と甘い言葉でエンジニアのマスターベーションを
させて、OOPをいいことにクラスを乱造させて収集が付かないほどに膨れ上がって
るのが現実ではないんかな

クラスを作り散らかしてはまた捨てての繰り返しw
いい加減にしろよ

600 :デフォルトの名無しさん:2007/02/12(月) 23:17:32
いい加減スレ違いなんですけど。
MSの批判がしたいならそれなりの場所でやってくれませんか?

601 :デフォルトの名無しさん:2007/02/12(月) 23:20:59
いやいやこういうお人は出て行けって言っても絶対出て行かないから、
それならせいぜいからかって楽しませてもらうべきだよw

602 :デフォルトの名無しさん:2007/02/12(月) 23:23:47
>>547
お前どんだけ書き込んでんだよ。
よそでやれ。
ああ、別にMSの製品に問題ないとは思わないが、
お前の痛さの方がよっぽどひどい。


603 :デフォルトの名無しさん:2007/02/12(月) 23:43:19
沸点の低いスレだ

604 :デフォルトの名無しさん:2007/02/12(月) 23:49:02
>>598
別に役に立たない代物で、途中までで消えてないからいいって話は全然無いからw
Public Class Form6
  Private ContextMenuStrip1 As New ContextMenuStrip
  Private ContextMenuStrip2 As New ContextMenuStrip
  Private ToolStripMenuItem1 As New ToolStripMenuItem
  Private ToolStripMenuItem2 As New ToolStripMenuItem
  Private ToolStripMenuItem3 As New ToolStripMenuItem
  Private items As ToolStripItem()
  Private count As Integer
  Private Sub Form6_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ToolStripMenuItem1.Text = "ToolStripMenuItem1"
    ToolStripMenuItem2.Text = "ToolStripMenuItem2"
    ToolStripMenuItem3.Text = "ToolStripMenuItem3"
    ContextMenuStrip1.Items.Add(ToolStripMenuItem1)
    ContextMenuStrip1.Items.Add(ToolStripMenuItem2)
    ContextMenuStrip1.Items.Add(ToolStripMenuItem3)
    count = ContextMenuStrip1.Items.Count

    items = New ToolStripItem(count - 1) {}
    Application.DoEvents()
    ContextMenuStrip1.Items.CopyTo(items, 0)
    Application.DoEvents() '<---- あんたの言ってるのはここまでの話でしょ。

    For i As Integer = 0 To count - 1
      ContextMenuStrip2.Items.Add(items(i))
    Next
    Application.DoEvents()
    Me.ContextMenuStrip = ContextMenuStrip1
    Label1.ContextMenuStrip = ContextMenuStrip2
  End Sub 
End Class

605 :デフォルトの名無しさん:2007/02/12(月) 23:49:49
>>601
何を言ってるカス野郎めwてめえでコード書いて確かめてから言え馬鹿者めが!!


606 :デフォルトの名無しさん:2007/02/12(月) 23:51:10
結局、>>604の最後までやって別の桶に移すと元の桶からは消えていくんだよ。

これで消えてないの?w

607 :デフォルトの名無しさん:2007/02/12(月) 23:51:26
doevents って vb6 ?

608 :デフォルトの名無しさん:2007/02/12(月) 23:53:42
>>578が回答で、結局は新しいToolStripとやらは、いちいち移しては戻し
してやらないと使いものになりません、と言ってるだけですよw

面倒な話ですなあww

609 :デフォルトの名無しさん:2007/02/12(月) 23:54:02
>>604
ほんっと被害妄想傾向の激しいやっちゃなあ。。
>>564になんて書いてあるか読めないのかねえ

610 :デフォルトの名無しさん:2007/02/12(月) 23:54:13
>>607ってこういうやつには馬鹿とかはいわねえのなw

611 :デフォルトの名無しさん:2007/02/13(火) 00:09:03
コレダ!!!!!!!!!!

Friend Sub MoveItem(ByVal value As ToolStripItem)
If (Not value.ParentInternal Is Nothing) Then
Dim num1 As Integer = value.ParentInternal.Items.IndexOf(value)
If (num1 >= 0) Then
value.ParentInternal.Items.RemoveAt(num1)
End If
End If
Me.Add(value)
End Sub




612 :デフォルトの名無しさん:2007/02/13(火) 00:09:36
>>609
だから?

こっちはそんなこと問題にしてない。>>>581
ずっと言ってる通りですよ。

613 :デフォルトの名無しさん:2007/02/13(火) 00:16:47
.NETを反転すると。。。

"TEN."。。。。すなわち「点→ . 」
くだらねぇ小細工してんじゃねぇよ!

614 :デフォルトの名無しさん:2007/02/13(火) 00:27:18
>>611
すまんがアク禁になった、ケータイからでは書けません。
解説頼む。

615 :デフォルトの名無しさん:2007/02/13(火) 02:07:19
>>589
で、これほど馬鹿馬鹿といわれるほどこっちは酷いはずはないと思うぜ。

悪いのは、単えに!グレードダウンしたマイクロソフトのMenuクラスだよ
これをいいわけしてるだけでしょw

616 :デフォルトの名無しさん:2007/02/13(火) 02:08:31
しかもやってみないで言ってた>>563
これのほうがはるかに恥ずかしいww

617 :デフォルトの名無しさん:2007/02/13(火) 03:31:51
仕様についてMSの肩を持つ気はないとしても、
そういうのとは全く別問題でお前は恥ずかしい
というのが多くの人の感想だと思うぞ。


618 :デフォルトの名無しさん:2007/02/13(火) 04:29:19
>>617
それってのははじめに Protected だったのがどうとか言ってるの?

そんなの忙しければ見落とすことはあるよ。なんだそんなことで馬鹿にするしか脳がないのか

619 :デフォルトの名無しさん:2007/02/13(火) 04:31:21
ここで重要なのは、
 >仕様についてMSの肩を持つ気はない
だけで十分、こっちはちゃんと金払ってVS2005買ってるんだからな
作り散らかしただけのよくも検討されてないバージョンアップは
文句いって当然だぜ。

620 :デフォルトの名無しさん:2007/02/13(火) 04:41:29
それに、ToolStripMenuItemがどうやってもコピーされない仕様なんて、前からある
Mergeの仕様からしたら異常な変化であることは疑いない、それをHelpに初めから
明示していないMSのズサンなドキュメント設計は何者なの?w

とにかくMSは無理やり金と人掛けて作り散らかしてるよ>クラスの山

それでその中で右往左往して苦しめといわんばかりの言語になってるのも疑いないな

621 :デフォルトの名無しさん:2007/02/13(火) 06:07:07
もし仮にOOP的に開発してどうしてもMergeをこうするしかなかったというのなら
おかしな話にも思う。別にAddしたらこっち側から無くなってしまう仕様なんて
おかし過ぎるよwそれじゃ、わざわざプロパティにContextMenu入れてあるのと
矛盾する設計じゃないか、わざわざ右クリックのイベントをハンドルしなくても自動的に
出せるからそうなってるはずなのに、それをわざわざ世話する必要があることになる。

622 :デフォルトの名無しさん:2007/02/13(火) 06:09:28
だからこそ前のMenuはそうなっていなかった、Mergeしても消えなかった、そのほうが
理にかなってるさ

623 :デフォルトの名無しさん:2007/02/13(火) 08:01:51
>>618
嵐は去りましたか

624 :デフォルトの名無しさん:2007/02/13(火) 08:28:04
プログラマならMSに対して苦言の一つも持ってない方が珍しいとは思うが、
こんな被害妄想狂の戯言にはさすがに誰も同調する気になれんよな。
批判が全然的を射てないし

例えばさんざん前のMenu前のMenuとか言ってるが、そもそもToolStrip は
次世代のMenuでありMenuの機能を継承してるんだ、なんだ誰も言ってないだろうw
妄想狂クンの一人勝手な思い込みだろそれw

Controlを継承してるって所からも、この被害妄想狂クンが問題にしてるような動作は
プログラマならおおよそ推定可能な動作だしなあ。

625 :デフォルトの名無しさん:2007/02/13(火) 08:33:52
馬鹿って言われて逆上しちゃったんだね

626 :デフォルトの名無しさん:2007/02/13(火) 09:00:19
多動性障害児カワイソス

627 :デフォルトの名無しさん:2007/02/13(火) 09:54:21
>>624
お前がMSの回し者ならいいそうな言い訳だなw

そもそもが>>620に書いた通りだぜ、勝手に仕様をぐちゃぐちゃにしておいて
マニュアルの記述に一言もないとはなw

帰ったらちゃんとMSに言っておけ馬鹿野郎めがwww

628 :デフォルトの名無しさん:2007/02/13(火) 09:58:29
どんどん仕様を目まぐるしく変えておいて、マニュアルには一言も断わりを入れぬまま
プログラマがいちいち全部実験してみて、おーそうか、こういうふうに動くのか、
へー、いろいろとかえるもんなんだね、MSさんね、暇なんだね、いや人間が金に
引っ張れるだけ引っ張ってこれたから余ってる人員ですき放題に毎回あっちだこっちだと
仕様変えて楽しんでは無駄な時間をプログラマに取らせては悦に入ってるわけなんだろな、
生産性の低いドキュメント作っては迷惑の掛け通しのマイクロソフトは何様?

たかがZ80のBasic作ってから商売できてうまくいって図に乗っただけの癖になwww

629 :デフォルトの名無しさん:2007/02/13(火) 10:01:13
金儲け主義の脱銭奴のビルゲイツの頭には自分らが世間から搾取するための
策略と戦略だけがますは念頭にあるらしいことが、結局はこういう末端の製品の
品質にしっかり現われているってことを自覚しら方がいいと、正当に文句をヤツの
頭の中に届かせてやれよwwwおんどらよ

630 :デフォルトの名無しさん:2007/02/13(火) 10:04:48
知ったかぶりして、これが正当な仕様だと?いちいち全部テストしてから初めてわかる
動作仕様のプログラム製品なんて価値があるのか?そんなことをしていたらどんどん
世間の生産性は落ちていくぞ。

そうすることへの反省も批判もないからMSに引っ掻き回されてまたつまらない無駄を
これからもしていくようになるのさ。金儲けて有り余ってしかたないんなら、その金の一部
でもましなマニュアルやヘルプを書けるやつを養成して少しでも世間の生産性に実質的に
品質で貢献するようにしてくれよ、いい加減よ!!!


631 :デフォルトの名無しさん:2007/02/13(火) 10:08:20
高い金払って買ってるんだぜ、何万円も出して買わされてるこっちの身にもなってくれよ、
いい加減よ。こんなド品質のHelpでましに全部プログラム掛けてる人間がどれだけいるんだよ?
全くの欠陥商品でしかないぜ。高い金分捕って売ってるならそれだけの義務があるはずだぜ。

632 :デフォルトの名無しさん:2007/02/13(火) 10:13:29
まだいるのかよw


ここはお前のくる所じゃないんだw
お母さんが心配してるから、もう病院に帰るんだw

633 :デフォルトの名無しさん:2007/02/13(火) 10:19:43
ちょっと質問です〜!

まずこういうSQL鯖のDBのカラム構造があります。

DataKey(int)(PK) DataValue(decimal(18.9)) DataTime(datetime)

でストアドにこの3つを渡してDataKeyが一致したカラムをSelectして
DataTime=ストアドの引数のDataTime
であればDataValueを更新
ってやってたわけなんですが
これをAdo.NETのDataAdoptorでも何でもかまわないので実現できないでしょうか?
ADO.NETでは内部保持していると異なっていればUpDateとかやってるようですが・・・・

何か条件をつけてやれば出来るのか?というのもMSDNみた感じなさそうだったんで、今一歩思いつきません。
出来ないのであればおとなしくストアドに任せるようにしますが、簡単な更新処理とかをわざわざストアドにして処理変更時に二重にメンテしたくない為、変更したいと考えています。

634 :デフォルトの名無しさん:2007/02/13(火) 10:25:52
また不親切で膨大なMSDNの海でおぼれ掛けてる不幸な開発者の一人が救助を
求めているじゃないか・・・
いつまでもこういう状態がつづくんだろうな、百科事典ぜーんぶ知らなきゃなんにも
できませーん、てシステムは本当に正しいのかい?>All少しは仕組みを見直した
方がいいに決まってるだろが!

635 :デフォルトの名無しさん:2007/02/13(火) 10:37:29
>>634
ぶっちゃけ並の人なら
MSDNヘルプに対するヘルプが必要なのは否めないと思う

636 :デフォルトの名無しさん:2007/02/13(火) 10:42:03
>>635
そうだよな、この仕組みに改善の余地がないとがんばるMSには文句を言うのが
本来なら筋ってもんだよな

あんまり続けると迷惑かかるからやめとくけど、えらそうに最後はMS持ち上げて
終わる工作員気味の人間の工作にはもうホントにうんざりだよorzこの世界は
馬鹿と連発してPGへの心的工作でMSが君臨す片棒担いでる連中がいる気が
本当にするんだよね、そんじゃね

637 :デフォルトの名無しさん:2007/02/13(火) 11:30:48

(・∀・)

638 :デフォルトの名無しさん:2007/02/13(火) 11:31:29
>あんまり続けると迷惑かかるからやめとくけど
>あんまり続けると迷惑かかるからやめとくけど
>あんまり続けると迷惑かかるからやめとくけど
>あんまり続けると迷惑かかるからやめとくけど


639 :デフォルトの名無しさん:2007/02/13(火) 11:48:10
MSに言ってくれたまえ。

640 :デフォルトの名無しさん:2007/02/13(火) 11:58:25
>>639
コラ!
お母さんがここに来たら駄目だって教えてあげたでしょ!

もう、帰りますよ!


皆さん、うちの>>639がご迷惑をおかけしまして、すみません。J('A` )し

641 :デフォルトの名無しさん:2007/02/13(火) 12:00:05
ちょwww み・・・皆様方・・・・

おいらの>>633の質問をなにとぞなにとぞ〜〜

642 :デフォルトの名無しさん:2007/02/13(火) 12:23:32
>被害妄想狂クン、

そんなに1.1以前のMenuがお気に入りなら、
別に普通に使い続ければ良いだけだよ。

廃止になったわけじゃないんだから。

643 :デフォルトの名無しさん:2007/02/13(火) 12:30:12
>>641
できるよ。

ttp://msdn2.microsoft.com/ja-jp/library/system.data.oledb.oledbdataadapter.fill(VS.80).aspx

DataSetで好きなように編集した後に
DbDataAdapter.Update メソッドで更新でおk。

644 :デフォルトの名無しさん:2007/02/13(火) 17:42:43
>>628
>たかがZ80のBasic作ってから
8080

645 :デフォルトの名無しさん:2007/02/13(火) 23:30:25
MouseDownイベントでマウスクリックしたときの処理を書いてるんですけど
長押しクリックには対応してないんですね・・・。
長押しクリックに対応させる方法ってあるんでしょうか?

646 :デフォルトの名無しさん:2007/02/13(火) 23:32:41
MouseDownでTickCount覚えといて、MouseUpで差をとればいいんでない?

647 :デフォルトの名無しさん:2007/02/13(火) 23:39:43
>>646
即レスありがとうございます
それならできそうですね!
明日やってみます

648 :デフォルトの名無しさん:2007/02/13(火) 23:43:43
>>643
遅レスごめ
把握Where句にいれちゃえばどうにでも条件はできちゃうってことですね
あとRowVersionとかも含めて


649 :デフォルトの名無しさん:2007/02/14(水) 00:36:28
OS:Windows2000 ServicePack4 にて、サービスの登録をしようとすると以下のようなエラーがでます。

>C:\Documents and Settings\Administrator>C:\WINNT\Microsoft.NET\Framework\v2.0.50
>727\installutil E:\exe\remote_server.exe
 …
>インストール段階で例外が発生しました。
>System.ComponentModel.Win32Exception: アカウント名が無効であるか、または存在しま
>せん。あるいは、指定したアカウント名のパスワードが無効です。

>インストールのロールバックを開始しています。


下記のような開発環境や他のマシンにて登録を試した際には上記のエラーは出ませんでした。
(どのマシンにもFrameworkのv2.0.50727がインストールされています。
また、どのマシンもアドミニストレータでログインし登録しようとしています)
OS:WindowsXP Professional Version2002 ServicePack2
OS:Windows Server 2003 ServicePack1

調べたところ [CoputerName\Account] が必要らしいとのことなのですが、
どのようにすればサービスの登録が行えるのでしょか?


650 :デフォルトの名無しさん:2007/02/14(水) 00:43:05
TextBox に連続したキーボード入力をしているとし、途中キーボード入力が途絶えた事を検知するには、
いかなるイベントとを組み合わせればよろしいでしょうか。。

651 :デフォルトの名無しさん:2007/02/14(水) 00:52:33
>>650
その連続の定義ってどんな感じなんだろう
マウスクリックが入ったらだめとか
最初にキーが押されてから次のキー押すところまでが1秒以内とか・・・
いろいろあると思うけど

652 :デフォルトの名無しさん:2007/02/14(水) 01:05:48
そんな間抜けな質問に回答する気になれるあんたを尊敬するよ。

653 :デフォルトの名無しさん:2007/02/14(水) 01:08:30
>>652
ん〜
俺自身もびっくりだ
疲れてるんだろうな
釣りとしか思えないのにw

654 :デフォルトの名無しさん:2007/02/14(水) 01:31:48
>>427 >>461
誰かー、方法ない?

655 :デフォルトの名無しさん:2007/02/14(水) 01:45:42
誰か画像処理おしえてくれー

656 :デフォルトの名無しさん:2007/02/14(水) 01:49:22
>>654
何のためにしたいかわからないが
力になれなくてすまない

>>655
釣りにしても質問大雑把過ぎwwww

657 :デフォルトの名無しさん:2007/02/14(水) 03:35:38
>>654
PE ヘッダ調べれ
あとコンソール系の API 呼び出し(GetConsoleTitle とか)の成否で判断するとか

658 :デフォルトの名無しさん:2007/02/14(水) 09:25:10
初歩的ですいません。
Vb2005でクラスを追加した後、そのクラスのデザイナ
画面を出すにはどうしたら良いんでしょう。
ユーザーコントロールや,コンポーネントではなく
クラスの追加でやりたいです。どなたか。


659 :デフォルトの名無しさん:2007/02/14(水) 09:34:59
Excel操作について質問させてください。

C:\text.jpgの画像ファイルを、Excelの特定の位置へ特定のサイズで表示させたいのですが、
どのようにすればよろしいでしょうか。VB.net2005、Excel2002です。
ちなみにCellへ値を入れる操作等はできます。

ネットで調べても画像関係は載っていなかったので質問させていただきました。
よろしくお願いします。

660 :デフォルトの名無しさん:2007/02/14(水) 13:10:10
>>659
エクセルのマクロで画像を挿入する処理を記録して、ソースを解析すれば
できそうな気がする。

661 :デフォルトの名無しさん:2007/02/14(水) 14:39:34
>>658
>クラスのデザイナ画面
ほう、2005になってようやく「真のビジュアル」BASICになったんですね。
そりゃすげぇ。

662 :654:2007/02/14(水) 15:24:49
>>656
>>657
ありがと。


663 :649:2007/02/14(水) 15:46:45
とあるサイトにて解決しました。

EXE作成時に、ServiceProcessInstallerのAccountをLocalServiceにしていましたが、

「Windows2000にはLocal Serviceグループは存在しません。」
http://www.sophos.co.jp/support/knowledgebase/article/11292.html

と、ありました。
これが原因で2003ServerやXPの時は無事で、2000Server時にアカウント名やパスを求められたらしいです。
AccountをLocalSystemに変更したらエラーは発生しなくなりました。

某掲示板とマルチになりますが、お騒がせしました。

664 :デフォルトの名無しさん:2007/02/14(水) 21:30:50
>>660
あれには苦い思い出が…w

665 :デフォルトの名無しさん:2007/02/14(水) 23:03:09
vb6.0から2005に乗り換えたばかりで、
クラス配列のプログラム例を試して「こりゃ便利」とか思っている初心者です。
どんどん使ってみようと思っていますが、一つ疑問があります。

変数とメソッドを含むクラスの配列を用意し、配列全体をインスタンス化したとします。
そのとき、メソッドも配列要素の数だけメモリ上に確保されてしまうのでしょうか。
だとすれば、同じ働きのメソッドのコピーがたくさんできることになるので、
激しくメモリの無駄になるのではないかと思います。

それとも、変数などのデータ部分だけ要素数分確保されるような賢い仕様に
なっているのでしょうか。
そのあたりご存知の方おられましたらよろしくお願いします。

666 :デフォルトの名無しさん:2007/02/14(水) 23:09:14
>>665
クラスをメモリに確保してるんだからすべてにきまってるんじゃないかな?
じゃなかったら各クラス(以後オブジェクト)のメソッドも使えないっしょ?
一部はメソッド使いたくないなら使わない部分だけ構造体にして格納して取り出すときにTypeOfで調べてぶんきさせてもいいだろうし
ぶっちゃけ同じことVB6でもできると思うんだけど・・・
むしろ型を持ったまま配列に放り込めるのが強みだと思ってるんだが…・

それぁ、全部構造体にしてメソッドはモジュールにでも書き出すとかさ
いろいろ手はあると思う。

それに、そのくらいのメモリ気にする時代でもないと思うんだ
それだったらもっと別のところ削れるだろうし

667 :デフォルトの名無しさん:2007/02/14(水) 23:15:57
>メソッドも配列要素の数だけメモリ上に確保されてしまう
の意味が不明

668 :デフォルトの名無しさん:2007/02/14(水) 23:20:09
プログラムコードをメモリ上に展開するって話でしょ?
データはインスタンス分確保されるだろうけど、
コード部分は共用するんじゃなかった?

669 :デフォルトの名無しさん:2007/02/14(水) 23:20:44
コード部分は共通。リフレクション使ってアセンブリを読み込めば出来るかもしれないけどね。
VB6でもクラスの配列は使える。

670 :デフォルトの名無しさん:2007/02/14(水) 23:21:12
>>667
あれじゃね?
変数10k
メソッド部分5k
とかの計15kのサイズのクラスがあって
それをインスタンスつくってArrayListとかにほりこんだときに
15k、10k、10k、10k、10k
とかで保持してくれないのかな?
ってことじゃね?

普通にないけどさwww
これできたらじゃぁ2個目のクラスはメソッドどうなるんだよwww
てことになるわけだが、そんな常識は無視して考えようwww


671 :665:2007/02/14(水) 23:25:12
>>666
ありがとうございます。
>じゃなかったら各クラス(以後オブジェクト)のメソッドも使えないっしょ?
たしかにそうですね。

>それに、そのくらいのメモリ気にする時代でもないと思うんだ
もともとマイコンのプログラミングから入ったので、メモリ節約癖がしみついてしまっている自分。
メモリがギガバイトクラスになっても、気にせずにはいられない自分に欝。
こういうあたりでいつのまにか時代に取り残されてしまうんだな。

672 :デフォルトの名無しさん:2007/02/14(水) 23:28:20
>>671
いやいや、節約は大事だけど
まぁ、導入する環境とかも含めて考えていけば節約する場面もあると思うよ
非接続データ保持したりすればメモリ食うから、超ぼろいマシンでメモリ足りなくなるかもしれないところはきっと接続でやったりするだろうし
ケースバイケースじゃないかな?と

あくまで、本当に無駄のない部分そぎ落としてからの作業になるけど


と素人PGがいってみるwwww

673 :デフォルトの名無しさん:2007/02/14(水) 23:37:48
>>670
じゃあ Shared メソッドはどうなるんだよ

674 :デフォルトの名無しさん:2007/02/14(水) 23:42:14
>>673
実体化した場合Sharedの部分もオブジェクトのメモリ部分に格納されるんじゃないかな?

あくまでクラスのインスタンス化されていないものもメモリに格納されていて
実体化はそれのコピーっしょ?

実体化しないSharedメソドはインスタンス化されていない部分を使用しているんじゃないかと考える

675 :デフォルトの名無しさん:2007/02/14(水) 23:48:35
連投ごめ

一応俺の浅はかな考えだからwww
もし、本当に知ってる人いたら教えてwwww

676 :665:2007/02/14(水) 23:58:34
自分で質問しておいてなんですが、
私もちょうど本を見てて「共有メソッドってのがあるじゃん!!」と思ってたところでした。
VB2005に乗り換えて最初に買った、林晴比古のVB2005ビギナー編です。

共有メンバと呼ばれる変数とメソッドは、いくつインスタンス宣言をしても
メモリ上にひとつの実体しか確保されない。

と説明されています。

677 :最凶VB厨房:2007/02/15(木) 09:11:25
(インスタンス)メソッドの実体は何個インスタンス作ろうが常に一つです。

インスタンスメソッドの起動にはインスタンスへのアドレスとそのアドレスから
メソッドへの相対アドレスの二つを必要とします。

678 :デフォルトの名無しさん:2007/02/15(木) 09:29:46
そのアドレスから の部分間違えた。
他にも微妙に間違えておるわ。

679 :デフォルトの名無しさん:2007/02/15(木) 10:11:48
フラッシュを用いたブラウザゲームに連動するソフトを作りたいと思ったのですが、フラッシュから文字列データを取得等は可能でしょうか?
例えば、このような機能を実装したいとした場合に可能かどうかという事です。

ゲーム上で「***はレベルが15に上がった」というメッセージが表示された時、
プログラムの方で予め登録しておいた文字列とマッチングを行い、「レベル」が「15」になった事を検地してデータファイルを更新する等の所定の動作を実行するといった感じです。

680 :デフォルトの名無しさん:2007/02/15(木) 11:28:01
カメラでディスプレイをモニタして画像を解析する

681 :デフォルトの名無しさん:2007/02/15(木) 11:41:02
マジレスしたら>>679のやりたいことググって見つけた

682 :デフォルトの名無しさん:2007/02/15(木) 11:57:38
お助けください

・VB6
・SPREAD ver.6.0

【現象】
EnabledをFalseにするとスクロールバーまで固定されてしまいます。

【質問】
スプレッドシートを表示専用(.EnabledをFalse)にしつつ、
スクロールバーを有効にする方法を教えて頂きたいです。

【備考】
.OperationModeでもスクロールバーが固定されてしまう。

683 :デフォルトの名無しさん:2007/02/15(木) 12:11:47
そんなの販売元に訊けよ

684 :デフォルトの名無しさん:2007/02/15(木) 12:13:54
そもそもスレ違いだ

685 :デフォルトの名無しさん:2007/02/15(木) 12:34:18
西京味噌イラネ

686 :デフォルトの名無しさん:2007/02/15(木) 12:44:37
>>676
これだからハルピコ本は…

Shared だろうが何だろうが、同一クラスのメソッドやプロパティが
インスタンス毎に生成されたりはしない。

687 :デフォルトの名無しさん:2007/02/15(木) 14:49:29
アプリケーションの設定情報の管理方法について
ttp://www.microsoft.com/japan/msdn/vbasic/migration/tips/my.settings/

↑この方法で設定を読み出し・書き込みするときに
My.Settings.My_WidthのMy_Widthを変数にすることは出来ないのですか?
例えば
HENSUU=My_Width
My.Settings.HENSUU
こんな感じに・・・

設定する項目が多いとその数だけTextBoxが必要になりますよね?

688 :デフォルトの名無しさん:2007/02/15(木) 15:00:36
>>687
My.Settings.My_Width = HENSUU じゃ駄目なのか?

689 :デフォルトの名無しさん:2007/02/15(木) 17:15:14
Dim mProcess As New Process()
mProcess.StartInfo.FileName = "notepad.exe"
mProcess.StartInfo.UseShellExecute = True
mProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
mProcess.Start()
なら最小化されるのに、
mProcess.StartInfo.UseShellExecute = False
だと、なぜか最小化されません。そういうものなのでしょうか?
mProcess.StartInfo.UseShellExecute = True
で、最小化で起こすことはできないのでしょうか?

690 :デフォルトの名無しさん:2007/02/15(木) 18:11:00
>>687
My.Settings("My_Width") = 10

691 :679:2007/02/15(木) 20:08:28
>679ですが、自分なりに調べてみましたがわかりませんでしたorz
そのゲームというのは自分の作品では無いのですが、それでも文字列や数値データを取得する事というのは可能なものなのでしょうか・・・
カメラは無しでお願いします

692 :デフォルトの名無しさん:2007/02/15(木) 23:57:49
>>691
そのFlashが吐き出してくれなきゃまず、普通には無理だろうな
当たり前のことだが・・・

Flashが外部へ何らかのインターフェイスを持っているなら出来るがな
昔時間ない案件の時に適当にテキスト吐かせて無理やりやったことあるけど

693 :デフォルトの名無しさん:2007/02/16(金) 00:34:36
アプリケーションの設定を soapformatter で保存しています。
が、xmlns がそのアプリケーションのアセンブリ名になり、
他のアプリケーションから読み書きできません。
どうしたらいいのでしょうか?

694 :デフォルトの名無しさん:2007/02/16(金) 01:18:25
VBAだとTest1とTest2のマクロを一括で処理するには
プロシージャー名を記述すれば出来ますが
VB.NET 2005では、どう記述したら良いのでしょうか?

例)
Sub 一括()
Test1
Test2
End Sub

Sub Test1()
End Sub

Sub Test2()
End Sub

695 :デフォルトの名無しさん:2007/02/16(金) 01:35:35
最近のPGはインスタンスごとにメソッドの実体ができるのかどうかとか、
本気で悩むくらい、常識的な感覚もなくなってるのか…


696 :デフォルトの名無しさん:2007/02/16(金) 01:45:14
だってここVB.NETスレだよ?


697 :デフォルトの名無しさん:2007/02/16(金) 08:19:19
>>695
常識的なプログラマならそんなアホな悩みを持つかよw

インスタンスメソッドなんて、実体はインスタンスへのポインタを引数にとる「関数」
に過ぎない、とOOP勉強して1時間で気づくだろ普通w

698 :デフォルトの名無しさん:2007/02/16(金) 08:31:26
そういうもんだろうと予想はするけど、
本当に実装がそうなってるかどうか気になるってのは別におかしくないだろ

699 :デフォルトの名無しさん:2007/02/16(金) 10:11:55
インスタンスごとにメソッド実体を持つなんて、
ちょっと考えられない。
ものすごく特殊な機能を実装している言語とかランタイムなら、
確かに絶対ないとは言い切れないが、少なくとも.NETレベルの
機能でそれはありえない。
ていうか、上で書いたのはそもそも、みんなインスタンス単位で持ってると
思ってるような書き込みが最初に続いていたからで。


700 :デフォルトの名無しさん:2007/02/16(金) 10:15:45
少なくとも、まず共有されてると予想するのが先でしょ。
10000この配列にインスタンス格納したら
メソッドの実体が10000個できるのかよ。
メモリいくらあっても足りない。
継承してるメソッドとかどうなるんだよ。


701 :デフォルトの名無しさん:2007/02/16(金) 10:17:48
>ていうか、上で書いたのはそもそも、みんなインスタンス単位で持ってると
>思ってるような書き込みが最初に続いていたからで。

すまん、読み返してみたらそれほどではなかった。


702 :デフォルトの名無しさん:2007/02/16(金) 10:26:02
ちなみに、インスタンス毎に確保される、データ以外の領域ってのはちゃんとある。
型オブジェクトへのポインタと、同期テーブルインデックス。
32ビット環境では占めて8バイト分がとられる。


703 :694:2007/02/16(金) 15:21:54
とりあえずCallで解決しました。
Call Button1_Click(Button1, e)

異なるイベントで、同じ処理を流用するとき
他に良い方法はありますか?


704 :デフォルトの名無しさん:2007/02/16(金) 15:48:17
メソッド作って好きにに呼びゃあいいだろ


705 :デフォルトの名無しさん:2007/02/17(土) 00:32:27
viEmuのアンインストール方法を教えて

706 :デフォルトの名無しさん:2007/02/17(土) 00:35:31
事故怪血しました

707 :デフォルトの名無しさん:2007/02/17(土) 07:51:57
URLを指定して該当ページのソースを読む事って出来ますか?
出来るとしたらどんな関数を使えば良いのでしょうか、教えて下さい

708 :デフォルトの名無しさん:2007/02/17(土) 07:55:12
>>707
WebRequest クラス

709 :665:2007/02/18(日) 21:27:35
665です。
2日たって来てみたら、なにやら詳しそうな方のレスがついていて
ありがたいです。
>>697 >>792 を読んで、ホッとしました。
やっぱり無駄にメモリを食わない仕様になってるんですね。


710 :デフォルトの名無しさん:2007/02/19(月) 00:12:34
>>792よろぴく


711 :デフォルトの名無しさん:2007/02/19(月) 01:43:16
>>792 は難しそうなので
>>689 をよろしく


712 :デフォルトの名無しさん:2007/02/20(火) 16:46:37
VBA実行処理中に経過時間をリアルタイムで表示させるには、どうしたらいいですか?

713 :デフォルトの名無しさん:2007/02/20(火) 17:06:19
スレ違いです

714 :デフォルトの名無しさん:2007/02/20(火) 17:08:34
えっ!VB.NETでVBAを操作する場合なのですけど?

715 :デフォルトの名無しさん:2007/02/20(火) 18:37:46
>>712
Background Worker

716 :デフォルトの名無しさん:2007/02/20(火) 20:46:01
AがBでもCでもない時、という条件を
A <> B AndAlso A <> C
と書いてるんですが、もっとスマートな書き方はあるでしょうか?

717 :716:2007/02/20(火) 20:47:34
すみません、>>716まちがえました。
A <> B And A <> C
です。よろしくお願いします。


718 :デフォルトの名無しさん:2007/02/20(火) 21:30:35
おれの経験じゃ、こういうピントがずれたことにこだわる傾向のある奴は
プログラマ向いてない。

719 :デフォルトの名無しさん:2007/02/20(火) 21:54:24
それからさー、Helpのリンクがどんどん切れて行くんだが、
なんとかならんのかこいつは!!!

720 :デフォルトの名無しさん:2007/02/20(火) 21:55:54
>>718
んなことない。
初心者は大抵そう。

721 :デフォルトの名無しさん:2007/02/21(水) 01:45:26
質問です。

一覧系の画面を作るのに、Spreadを使用しているのですが、
特定の列を固定することはできるのでしょうか?
(エクセルのウィンドウ枠固定みたいな感じにしたい)
プロパティを探してもそれらしき設定が見つかりません。

.NET標準のDataGridというコントロールには列固定を設定する
プロパティがあるんですが、Spreadじゃできないんですかね…

722 :デフォルトの名無しさん:2007/02/21(水) 08:28:51
グレープシティのSPREADのこと?
俺は使った事ないからわからないな。

あの分厚いマニュアルに書いてない?
CDの中にPDF付いてなかったっけ?

723 :デフォルトの名無しさん:2007/02/21(水) 09:42:55
>>715
時間のかかる処理をバックグラウンドで実行するには?BackgroundWorkerコンポーネント
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/436bgworker/bgworker.html

724 :デフォルトの名無しさん:2007/02/21(水) 11:24:00
質問があります。
VC++.NETで作ったDLL(ソースあり)があり、デバグモードで実行しています。
これに、VB.NETで作ったプログラムからデバグモードでアタッチしたいのですが、
どうすればいいのでしょうか?

725 :デフォルトの名無しさん:2007/02/21(水) 11:53:05
で、できた…!DLLのアタッチ、自力でできました!
一応どうやったか書いておきますね。

1.VB側、exeをビルドして終了(もしくは放置)
2.VC++側でDebugモードでDLLビルド→自動的に出てくる『ActiveXコントロールテストコンテナ』は無視
3.VBで生成したexeを実行
4.VC++側のメインメニュー→「デバッグ」→「プロセス」を選択
5.VBで生成したexeのプロセスを探し出しクリック→「アタッチ」ボタンを押す
6.良くわからんけど「Native」にチェックを付けてOKボタンを押す

この時点でexeとDLLがくっついて一連のプロセスとして扱えます。
あるボタンをクリックし、その主処理がDLLにあるとすればそちらに制御が流れますので
ブレイクポイントを張っておけばそこで処理が止まり、ステップ実行してデバグ可能
になります。

726 :デフォルトの名無しさん:2007/02/21(水) 11:54:50
>>725に一応補足します。
レジストリにVC++から生成されるDLLへのパス指定をしているのは言うまでもありません。

727 :デフォルトの名無しさん:2007/02/21(水) 12:22:32
つうか、ソースあるなら1つのソリューションにしちゃえばいいじゃん。
それで依存関係つければ別に。

728 :デフォルトの名無しさん:2007/02/21(水) 12:27:16
>>727
もう安定稼動しちゃってるから今更構成を変えるのは怖いのです…。

729 :デフォルトの名無しさん:2007/02/21(水) 12:28:01
>>723
COMはスレッドセーフじゃないと思うんだがw

しかし、こういう得意げに一行コピペする奴の神経ってわからん。
いや、むしろ精神分析の対象だと思う。
少しも大げさでなく。

730 :デフォルトの名無しさん:2007/02/21(水) 12:31:54
分らないのだったら書き込まなくてもいいよ。患者さん

731 :デフォルトの名無しさん:2007/02/21(水) 12:35:52
2chでレスしてる相手の神経をいちいち推測しようとするほうがよっぽど分析対象に近いと思うがw

732 :デフォルトの名無しさん:2007/02/21(水) 12:39:14
喧嘩はやめて〜♪

733 :デフォルトの名無しさん:2007/02/21(水) 12:41:02
>>728
プロジェクトは構成だけど、ソリューションは論理単位ですよ。
なので、別にプロジェクトを変えないでも2つのプロジェクトを1つのソリューションとして定義するだけ。

734 :デフォルトの名無しさん:2007/02/21(水) 13:40:25
>>729
意味がわからん、もう少し詳しく説明しなさいw

735 :728:2007/02/21(水) 14:29:15
>>733
や、それはそうなんだけどCVSのバージョン定義とかなんとかめんどいのよ。
やった方が将来的にはいいってのは分かるんだけど、
まだ慣れてないんで、なんか現状とは違うものにしちゃいそうな俺。

736 :デフォルトの名無しさん:2007/02/21(水) 16:03:18
>>729
>>2

737 :デフォルトの名無しさん:2007/02/21(水) 16:38:33
わろた

738 :デフォルトの名無しさん:2007/02/21(水) 17:07:18
初歩的な質問です。
 -5.067の値を-5.0670E+000と書き換えるやり方を教えて下さい。
 お願い致します。

739 :デフォルトの名無しさん:2007/02/21(水) 17:24:31
ToString("E4")

740 :デフォルトの名無しさん:2007/02/21(水) 17:48:46
>>738
質問者が初歩的な質問なんていうなよw

741 :デフォルトの名無しさん:2007/02/21(水) 19:03:34
むしろ高度じゃね?

742 :デフォルトの名無しさん:2007/02/21(水) 19:12:06
>741
んなこたぁ〜ない

743 :デフォルトの名無しさん:2007/02/21(水) 23:37:08
ちとお尋ねします。

Private Structure 構造体名
Public Dim String1 As String
Public Dim String2 As String
.....
End Structure

Public Function 関数() As String
Dim 構(n) As 構造体名

構(0).String1 = "なんとか"
構(0).String2 = "かんとか"
...
構(1).String1 = "書き込む"
構(1).String2 = "やめる"
...

上記の宣言と同時に配列に値を入れていく方法ってありますか?

Dim 構造 As 構造体
Dim 構() As 構造体名 = {(構.String1 = "なんとか", 構.String2 = "かんとか"), _
(... }
こういうのはダメでした。正しい方法あれば教えてください。
VB暦はだいたい100時間くらいです。

744 :デフォルトの名無しさん:2007/02/21(水) 23:38:44
構造体にコンストラクタを記述する

745 :デフォルトの名無しさん:2007/02/22(木) 00:04:53
>>743
やり方は幾らでもあるが、一番オーソドックスなのは
構造体の中に「初期化した自分自身」を返す共有(Shared)メソッドを書く方法だろう。

別に構造体でなくクラスでも構わない(まあ特別な理由がない限りそうだと思うが)
ならコンストラクタに初期化の処理を書いてもいい。

っていうか、初心者はまず本の一冊ぐらい読めよ。
そんでもってちょっと考えれば誰でも思いつくようなこと(例えばこの質問がそうだが)
を質問するのは恥ずかしいことだと思った方がいいよ。

746 :デフォルトの名無しさん:2007/02/22(木) 00:19:33
なんか
面白いvb.netで作られたアプリない?


747 :デフォルトの名無しさん:2007/02/22(木) 00:27:16
>>743
Structure ABC
    Public Sub New(s1 As String, s2 As String)
        Str1 = s1
        Str2 = s2
    End Sub
    Public Str1 As String
    Public Str2 As String
End Structure

Module XXX
Sub Main
    Dim a() As ABC = { New ABC("111","111"), New ABC("222","222") }
End Sub
End Module


748 :743:2007/02/22(木) 00:34:39
>>744 >>745 >>747
皆様ありがとうございます。精進します。

749 :738:2007/02/22(木) 11:39:21
>>739
 ありがとうございました。これで安心です。

750 :デフォルトの名無しさん:2007/02/22(木) 13:21:54
あるフォームのPanelコントロールに動的に追加されるテキストボックスがあり
その動的に追加されたテキストボックスのValidatedイベントに
あるプロシージャをAddHandlerしてある状態です。

このときあるプロシージャで入力チェックを行い
ダメならエラープロバイダを表示したい
OKならエラープロバイダを表示しない
としたいのですが、
今一歩わからないところがあります。


1.SetErrorで表示させたエラープロバイダは単純にVisible=Flaseにしたのでかまわないのか・・
スッゴイ初歩的なことですみません。

2.やっぱりあるコントロールのインスタンスを作る時にエラープロバイダのインスタンスも作成し、それをセットするべき?
(今はFormに貼り付けたエラープロバイダをセットしています。)

イマイチ説明がぐちゃぐちゃなきがしますが・・・

751 :デフォルトの名無しさん:2007/02/22(木) 19:05:44
何も行動を起こさないうちから分からないとかほざいてる
お前さんの存在こそ分からないよ

752 :デフォルトの名無しさん:2007/02/23(金) 00:40:03
サブフォーム開いたり閉じたりした後にメインのComboBoxにフォーカスあてる(クリックする・Tabキーでフォーカス移動する)だけでnull参照エラーがでます
何しても解決できない
ボスケテ

753 :デフォルトの名無しさん:2007/02/23(金) 09:52:32
フォーム2をモードレスで開いたり閉じたりする場合は
グローバルに宣言をしても良いの?

クラスはグローバルに宣言することは良くないって聞いてたんで
この機会にちゃんとした方法を覚えておきたい。

754 :デフォルトの名無しさん:2007/02/23(金) 10:12:30
モードレスでも呼び出し元がいるなら、そいつがインスタンス管理すればいいし。
そうじゃなく、アプリ内で完全に各画面非同期なら、アプリ自身の管理プロセスクラスの変数でしょ。
グローバルじゃなくてもいけるし、グローバルでもいける。


755 :デフォルトの名無しさん:2007/02/23(金) 11:22:50
つーか.netにグローバルはない


756 :デフォルトの名無しさん:2007/02/23(金) 11:30:12
Moduleだけでプログラムを書く。

757 :753:2007/02/23(金) 12:50:08
グローバルと言うかパブリックです。
そのパブリックもモジュールに宣言したものをグローバルと言いました。
紛らわしくてごめんなさい。

>>754
アプリ内で各画面非同期です。
管理プロセスクラスと言うのがあるんですか?
ぐぐるで探してみたけど見つけれませんでした。

>>755
モジュールもクラスと考えればそうなりますね。

>>756
それはちょっと勘弁願いたい。

758 :デフォルトの名無しさん:2007/02/23(金) 16:52:01
育児イライラどう発散してる?育児板
http://life8.2ch.net/test/read.cgi/baby/1171945114/

763 名前:名無しの心子知らず[] 投稿日:2006/11/18(土) 13:06:17 ID:g2BG3ATp
娘@3ヵ月にあたりちらす。ビンタやお湯に顔面つけたり、
定規をビシッと背中にふりおろしたり、オムツ一枚にして冷たい床の上に寝転ばせたりマチ針で歯茎さしたりw

765 名前:名無しの心子知らず[] 投稿日:2006/11/18(土) 13:13:44 ID:wPPSorpM
>>763
気持ち分かるよ。イライラするよね。育児って。
私はわざとどなったりして息子を怯えさせちゃうよ。
今日は怯えて指しゃぶり過ぎて指がすっごい内出血しちゃった。

766 名前:名無しの心子知らず[] 投稿日:2006/11/18(土) 13:41:34 ID:g2BG3ATp
>>765
わかってくれてありがとう。
本気で死なない程度や跡が残らない程度に毎日してるよ。
たまに気がむいたら可愛がるけどね!
さっきなんか一瞬だがドライヤーの熱風背中に浴びせたよw
マチ針は血が出て焦ったけどね。
おすすめは、熟睡してるところにいきなり勢いよく高い高いがいいよ。
驚愕の顔で泣くのがたまらんw
あとおしりの谷間の産毛をむしりとる。
痛いみたいでよく泣いてるけど跡が残らない♪

759 :デフォルトの名無しさん:2007/02/23(金) 18:30:38
>>757
言ってることが酷く頓珍漢だから、殊勝に初歩から勉強することをお勧めする

760 :753:2007/02/23(金) 23:49:38
>>759
VB6厨です。
サポート有りと無しじゃ(サポート受けるかは別として).NETが有利なんで
必要にせまられて頑張ることになってます。

クラスをもう一度勉強しなおしてきます。


761 :デフォルトの名無しさん:2007/02/24(土) 01:37:24
1、あらかじめカンマで区切られた文字列をカンマごとにバラバラにして配列に入れる。
2、"で囲まれたものは1つにまとめて入れる。 "a,b,c,d,e"こんなのは1個とする。
3、"が変な場所にあったり、足りないものはとりあえず無視する。

こんな条件で書いてみたんですが長いので短くきれいに改良したいのです。
どこをどうなおしたらいいんでしょうか。
記憶を頼りにメモ帳で書いたので文法もロジックも間違ってるところが
多いと思いますのでよろしくお願いします。

762 :761です:2007/02/24(土) 01:38:47
Public Function ABCList(ByVal ABC As String) As List(Of String)
  ABCList = New List(Of String)
  Const Comma As Char = CChar(",")
  Const WQuotation As Char = CChar("""")

  Dim ArrayOfABC() As String = ABC.Split(Comma)
  Dim CountABC As Integer = ArrayOfABC.Length
  Dim ”あり As Boolean = False
  Dim Temp As String = ""
  Dim i As Integer

763 :762つづき:2007/02/24(土) 01:39:44
  For i = 0 To CountABC - 1
    If ArrayOfABC(i).先頭が” Xor ArrayOfABC(i).最後尾が” Then
      If ArrayOfABC(i).先頭が” Then
        If i < CountABC - 1 Then
          Temp &= ArrayOfABC(i)
          ”あり = True
        Else
          ABCList.Add(ArrayOfABC(i))
        End If
      Else
        If i <> 0 Then
          Temp &= CStr(Comma & ArrayOfABC(i))
          ABCList.Add(Temp)
          ”あり = False
        Else
          ABCList.Add(ArrayOfABC(i))
        End If
      End If
    ElseIf ”あり Then
      Temp &= CStr(Comma & ArrayOfABC(i))
    Else
      ABCList.Add(ArrayOfABC(i))
    End If
  Next

  Return ABCList
End Function

764 :デフォルトの名無しさん:2007/02/24(土) 15:10:44
>>762
あんまり正規表現つかったことないんで間違ってたらごめん
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim texts As String() = MySplit(TextBox1.Text)
    For Each Text As String In texts
      Console.WriteLine(Text)
    Next
  End Sub

  Private Function MySplit(ByVal input As String) As String()
    Dim pattern As String = "([^,]*("".*"")+[^,]*,)|([^,]*,)|([^,]*$)"
    Dim matches As MatchCollection = Regex.Matches(input, pattern)
    Dim texts As New List(Of String)

    For Each m As Match In matches
      texts.Add(m.Value.Trim(","c))
    Next
    Return texts.ToArray
  End Function

765 :デフォルトの名無しさん:2007/02/24(土) 15:45:18
2005ならTextFieldParserが使えるな

766 :デフォルトの名無しさん:2007/02/24(土) 16:01:00
そんなのあるのか
でもVBの名前が付いてるとなんか使う気しねえw

767 :デフォルトの名無しさん:2007/02/24(土) 16:49:23
俺は気にせず使ってる。
使わない方がいい理由があんまりない。

768 :デフォルトの名無しさん:2007/02/24(土) 17:08:23
/novbruntimerefつけてコンパイルしないと勝手にMicrosoft.VisualBasic.dll参照してるでしょ

769 :デフォルトの名無しさん:2007/02/24(土) 17:57:37
メソッドを作る
ttp://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard11.htm

770 :761:2007/02/24(土) 18:26:03
皆さんどうもありがとうございます。知らんことばっかりなんで勉強します。

771 :デフォルトの名無しさん:2007/02/24(土) 18:26:47
VB関数は何か馬鹿にされているような気がして使う気になれないな〜。

772 :デフォルトの名無しさん:2007/02/24(土) 21:25:18
カスタムコントロールを作くたんですが、Formに貼付けたタイミングで。。。

Private Sub Button1_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
何か処理...
End Sub

↑見たいに(業務ロジックを書くにあたって)必要なイベントを自動的にFormに書く事ってできないでしょか?
Clickイベントの中にテンプレートコードも同時に出力して、お前らそれ使ってロジック書け見たいなこと
やりたいんですが。


773 :デフォルトの名無しさん:2007/02/24(土) 22:05:39
コントロールからは出来ない。

フォーム側の基本クラスを抽象化すれば、似たことは出来るけど。
その場合、フォームがフォームデザイナで表示できない(=実体化できない)ので開発が難しい。



774 :デフォルトの名無しさん:2007/02/24(土) 22:46:52
っていうか、そんな定型的な処理なら最初からコントロールに
組み込んでおけばいいじゃん。

775 :デフォルトの名無しさん:2007/02/24(土) 22:48:25
>>772
テンプレート使えばいいんじゃないの?

776 :デフォルトの名無しさん:2007/02/24(土) 22:53:14
2005ならオナペットを差し込めばコピペと同じだべ。

777 :デフォルトの名無しさん:2007/02/25(日) 00:27:07
VB.NETを使用し、PageUpなどの任意のキーを、
一定間隔で押下させるソフトウェアを作成しています。

目的の動作をするプログラムは完成し、IEなどのアプリでは
正常に動作をしています。

ですが、FPSゲームなど、特定のアプリではキー入力が
受け付けられていません。

SendKeys.SendWait()、win32api.keybd_event()どちらを使用しても
結果は同じでした。
どのようにすれば、このようなアプリにもキー入力ができるのでしょうか?

よろしくお願いいたします。

778 :デフォルトの名無しさん:2007/02/25(日) 00:50:01
>VB関数は何か馬鹿にされているような気がして使う気になれないな〜。
馬鹿にされ「る」ような気がして、じゃなくて
馬鹿にされ「ている」ような気がして
ってどういうことだよw

779 :デフォルトの名無しさん:2007/02/25(日) 01:13:15
>>771
出来ないやつほどそういう事気にするのなw
普通使って簡単にできるものなら利用するだろ。
ま、趣味でプログラムやってる人はご自由に。

780 :デフォルトの名無しさん:2007/02/25(日) 01:48:31
恐らく半分冗談で言ってるんだろうから
なんもそうムキにならんでもいいだろうに

781 :デフォルトの名無しさん:2007/02/25(日) 01:53:50
>>777
特定のゲームでそういうことが出来ないようにしてるんじゃないか?

782 :デフォルトの名無しさん:2007/02/25(日) 02:03:04
じゃなくてDirect Inputは(当たり前だけど)ウィンドウメッセージとして
キー入力を受け取っているわけじゃないからそりゃSendKeysじゃうまくいくはず無いよ。

俺はどうやれば>>777みたいなことが可能か見当もつかないけど、
ひょっとしてDDKとか使わないと不可能なことだったりしてね。

783 :772:2007/02/25(日) 11:36:09
皆さんどうもです。

>>776
2005なのでこのやり方でヤッテみます。

784 :デフォルトの名無しさん:2007/02/25(日) 17:42:19
空のファイルを作りたいんだけど、この2行でOKかな?(close、disposeされる?)
.NET Framework 2.0、VB2005Exp使用

Using hStream As System.IO.FileStream = System.IO.File.Create("C:\hoge.txt")
End Using



785 :デフォルトの名無しさん:2007/02/25(日) 21:28:09
例外さえ気にしないのなら、
System.IO.File.Create("C:\hoge.txt").Close()
で十分だが。

786 :デフォルトの名無しさん:2007/02/26(月) 09:41:19
ListViewItemsコレクション みたいな Array 系の持ってる CopyTo でコピーしてくれるのはアイテムの場所を知らせる情報だけでしょうか?
CopyTo をした後に元のアイテムの項目に変更があった場合、コピー先にもそれが反映されています。
本当の意味での CopyTo を実現するメソッドまたは、方法はございませんでしょうか。。。よろしくお願いいたします。


787 :デフォルトの名無しさん:2007/02/26(月) 10:34:59
DownloadFileメソッドでダウンロードする場合
指定したURLが存在するかしないか確認する方法は?

788 :デフォルトの名無しさん:2007/02/26(月) 12:39:32
>>786
基礎的な知識の習得をスキップして、何でもかんでも理解してもいない
対処療法で場当たり的にやり過ごそうとか思ってるから
そういうわけのわかんないこと言うんだよ。

なんやねん、本当の意味でのCopyToって。
俺様のその時その時のやりたいこと基準で本当とか決めるなよw

789 :デフォルトの名無しさん:2007/02/26(月) 14:00:01
>なんやねん

790 :デフォルトの名無しさん:2007/02/26(月) 14:12:14
浅いコピー、深いコピーのことだろうよ。
自分も大して知識があるわけじゃないのに偉そうにする奴って痛いよ。

791 :デフォルトの名無しさん:2007/02/26(月) 14:27:11
>>788
>>2



792 :デフォルトの名無しさん:2007/02/26(月) 14:31:15
>>788
◎対症療法
×対処療法

793 :デフォルトの名無しさん:2007/02/26(月) 14:31:46
>>788
つ「対症療法」

794 :デフォルトの名無しさん:2007/02/26(月) 14:51:16
>>788の人気にshit

795 :デフォルトの名無しさん:2007/02/26(月) 15:16:22
ttp://dictionary.goo.ne.jp/search.php?MT=shit

796 :デフォルトの名無しさん:2007/02/26(月) 15:30:14
質問に答えてやれよw

>786
"MemberwiseClone"を調べてみて

だが>787はほかの人頼む

797 :デフォルトの名無しさん:2007/02/26(月) 17:08:51
しゃーないなw

>>787
「WebResponse 404」でぐぐってみて
自分はめんどくさいからTry〜Catchでエラーに無理矢理させちゃう

798 :デフォルトの名無しさん:2007/02/26(月) 20:03:18
integer 型の計算について質問です

dim aa as integer
aa = (19 / 20) + 1
これが2となるのですが、1とするためにはどうすればよいでしょうか?
aa = Cint(19 / 20) + 1
でも駄目なんですよね。。。
integerって整数型ですよね。。。

aa = Cint(10 / 20) + 1 // aa = 1
aa = Cint(11 / 20) + 1 // aa = 2

799 :デフォルトの名無しさん:2007/02/26(月) 20:08:45
Math.Floorじゃダメか。

800 :798:2007/02/26(月) 20:20:24
>>799
ありがとうございます。
aa = System.Math.Floor(19/20) + 1
とすることで、求めた値を得ることができるようになりました。

801 :デフォルトの名無しさん:2007/02/26(月) 20:25:39
Fixでもええんじゃないか

802 :デフォルトの名無しさん:2007/02/26(月) 21:09:40
今更2003に手を出さされたが
2005のDataGridViewみたいにDataGridは列固定できないのかよ・・・・

やっぱオーナードロー嫌なら2つDataGrid並べるしかないのか?


803 :デフォルトの名無しさん:2007/02/26(月) 21:21:09
>>798-801
798は「何がしたいか」、つまり求められている仕様についてについて
何もいってないのによく回答できるよな。
質問者が馬鹿なら回答する奴もどうかしてるよ。

804 :デフォルトの名無しさん:2007/02/26(月) 21:32:48
>>803
> aa = (19 / 20) + 1
> これが2となるのですが、1とするためにはどうすればよいでしょうか?

↑これが「仕様」じゃないとでも?

805 :デフォルトの名無しさん:2007/02/26(月) 21:35:32
馬鹿だろw

例えて言えば、「(x, y) = (0, 0)を通る直線」っていうのが
直線を一意に規定してると思うか?w

806 :デフォルトの名無しさん:2007/02/26(月) 21:40:26
全然例えになってないじゃんw

807 :デフォルトの名無しさん:2007/02/26(月) 22:36:42
客先から出てくる仕様ってのはしばしば>804のような物ではある。

808 :デフォルトの名無しさん:2007/02/26(月) 23:19:46
俺的予想
>>788=>>803=>>805
こういう奴が暴れるプロジェクトは大体失敗する。

809 :デフォルトの名無しさん:2007/02/27(火) 09:26:35
斜に構えた批判屋、揚げ足取りってウザイよね。
得意になってるけど、まあ勝手に言ってればって。

810 :デフォルトの名無しさん:2007/02/27(火) 17:02:48
こんにちは。VB6からVB.net 2003に転向しようとしていて苦しんでいる初心者です。
windows XP環境で下記のようなツールを作成していますがうまくいきません。

@フォーム(form1)上にボタン一つ(button1)配置
Abutton1を押すと、現在のシステム時刻を変数に代入
Bその際、代入された時刻が13:00〜15:00の間だった場合はその時刻を表示

下記のようにコーディングしてみたのですが、さっぱり動きません。
どうすれば正しく動くのか教えていただけますでしょうか?

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click

Dim dtNow As DateTime = DateTime.Now
Dim tsNow As TimeSpan = dtNow.TimeOfDay

If tsNow >= #1:00:00 PM# And tsNow <= #3:00:00 PM# Then
MsgBox(tsNow.ToString())
End If

End Sub

811 :デフォルトの名無しさん:2007/02/27(火) 17:10:02
まず最初に、特に事情が無い限り今からやるなら2005が良いと思うぞ。

質問のほうはたぶん…
.NETはVB6とは違って、Sub button1_Click()を作っただけでは動かない。
プロパティウィンドウのイベントの欄に追加されていないと駄目。
雷みたいなマークね。

812 :デフォルトの名無しさん:2007/02/27(火) 17:29:20
>>811
今テストしたらイベントはちゃんと動きますね。
というか>>810に貼ったコードだとビルドできないことが判明・・・

2003は実は発売直後くらいに買ったのですが、どうしても扱いなれたVB6ばかり
使ってしまって、今更になってあせって勉強を始めた始末です。
2003と2005ってそんなに違うものなのですか?

813 :デフォルトの名無しさん:2007/02/27(火) 17:50:31
2005はデグレ。

814 :デフォルトの名無しさん:2007/02/27(火) 17:56:22
>>811
適当なこと書くなよ。ちゃんとHandlesが書いてあるだろ。

>>810
DateTimeは日付情報も持ってるから条件が真にならないんだろう。
DateTime構造体のHourフィールドとか見るようにしないと駄目。
2005と2003は、特に縛りが無いなら2005を使った方が将来性がある。

815 :デフォルトの名無しさん:2007/02/27(火) 17:59:01
>>811
コレがゆとり教育ならぬ2005使いの現実。

816 :811:2007/02/27(火) 18:16:35
超寝ぼけてた
そうね。Handlesね。C#と混同した上によく見てなかった。

817 :デフォルトの名無しさん:2007/02/27(火) 18:22:15
>>810
#...#ってDateTimeリテラルだから、TimeSpanと比較しちゃいかん。

818 :デフォルトの名無しさん:2007/02/27(火) 18:27:21
TimeSpan じゃダメだろ。
Dim dtNow As DateTime = DateTime.Now
If dtNow.Hour >= #1:00:00 PM#.Hour And dtNow.Hour <= #3:00:00 PM#.Hour Then
    MsgBox(dtNow.ToString())
End If

819 :デフォルトの名無しさん:2007/02/27(火) 18:29:49
エレガントじゃない希ガス

Dim tsNow As TimeSpan = DateTime.Now.TimeOfDay
If tsNow >= #1:00:00 PM#.TimeOfDay And tsNow <= #3:00:00 PM#.TimeOfDay Then
MsgBox(tsNow.ToString())
End If

820 :デフォルトの名無しさん:2007/02/27(火) 18:42:53
なんて低レベル過ぎて泣けてくるなw

821 :810:2007/02/27(火) 18:48:27
>>818さんのコードでいけました!
Timespanのまま比較すると「演算子'>='は、型'System.Timespan'に対して定義されていません」
と出て、ビルドできなかったのですが、Timespanに関する認識が相当間違っていたようです・・・。
皆さん、本当にありがとうございました。

822 :デフォルトの名無しさん:2007/02/27(火) 22:50:06
>>811
のレスみて思った

とりあえず一通りさらっとでいいからMSDN読めよ と
まだ移行してる連中が多いとしたら・・・

public sub main
dim formA as new form1
formA.show
end sub

これでフォームがすぐ消えてしまいます!助けて!
みたいなの出そうじゃね?www

823 :デフォルトの名無しさん:2007/02/27(火) 23:10:15
19 \ 20
にしようよ…


824 :デフォルトの名無しさん:2007/02/28(水) 08:15:54
けんかにならにように、皆さんの意見を入れました。w
CInt(System.Math.Floor(Fix(19 \ 20)) + 1)

825 :デフォルトの名無しさん:2007/02/28(水) 09:53:28
んなあほな…泣

826 :デフォルトの名無しさん:2007/02/28(水) 10:23:07
質問です。
DataGridViewで、CheckBoxを表示させておりますが、特定列のCheckBoxのEnabledをFalseにする方法はないか探しております。
ReadOnly=Trueにすることで、入力を受け付けない(クリックしてもチェックのON/OFFは出来ない)ようにはできましたが、クリック自体はできるので少々気持ちわるいです。
いい技があればご教授くださいませ。

環境はVB2005proです。

827 :デフォルトの名無しさん:2007/02/28(水) 10:57:10
キャンセルせいよ・・・・・

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

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

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)