トップページ⇒tech
1001コメント345KB

VBプログラマ質問スレ(6.0以前) Part50

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/22(日) 20:39:53
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。
0075デフォルトの名無しさん2006/11/03(金) 09:37:37
フォームは起動するもんじゃないだろ
イチャモンだと思うかもしれないが重要なことだよ。

フォームBは必要なパラメータをプロパティとして公開しといて、
フォームBを作った奴がそれを設定するのがVBではベストじゃないかな。

VBでも工夫すれば他の言語の引数付きのコンストラクタみたいなことも
できないこともないが、コードを書いたときにはうまく書けたように思えても
あとで見直すとわかりにくいコードになりがち。

なんにしろ今時のOOP言語と比べてVBのダメなところがもしわかってないなら
妙な工夫はむしろしない方がいいと思う。
0076デフォルトの名無しさん2006/11/03(金) 10:53:40
>>74
http://hanatyan.sakura.ne.jp/vbbbs/wforum.cgi?mode=allread&no=7627&page=0
マルチ乙
0077デフォルトの名無しさん2006/11/03(金) 11:01:15
マルチとかくだらんことにこだわる奴の方こそ病気だと俺は思うけどね
マルチが悪い理由を系統だてて聞いたためしがない。
俺様の好意を踏みにじる行為だ云々、という浪花節なら何度も聞いたが。
0078デフォルトの名無しさん2006/11/03(金) 11:19:50
マルチが悪い理由すら思いつかない奴が
まともなプログラム組めるのか?
論理的な思考回路を持ってないとしか思えないがw
0079デフォルトの名無しさん2006/11/03(金) 11:28:25
そういうのが浪花節っていうんだよw
情に訴えるんじゃなくて論理に訴えてくれ
0080デフォルトの名無しさん2006/11/03(金) 11:36:13
じゃ、取り敢えずマルチポストOKの立場から
マルチポストの有益なところを聞かせてくれないか?
0081デフォルトの名無しさん2006/11/03(金) 11:41:26
悪いけど無罪を証明するまでは有罪みたいな思考は北朝鮮か中国なみの民度だと思うぞw
といってもアホにはわからんかw
0082デフォルトの名無しさん2006/11/03(金) 11:47:34
つまり、建設的に議論する気はない訳ね?
俺は参考までに意見を聞きたかったんだがな。

つ〜ことで、以下スルーヨロwww
0083デフォルトの名無しさん2006/11/03(金) 11:51:41
> 以下スルーヨロ
って、言い負け宣言だよね。
もう言い返せないから、これ以上虐めないで・・・ってw
0084デフォルトの名無しさん2006/11/03(金) 11:54:29
マルチはイカンと言い出した側がスルーって意味がわからんw
挙証責任の概念もないのか。
マルチ有罪説を解きたいならそう主張する側がそれを立証しろってw
0085デフォルトの名無しさん2006/11/03(金) 11:55:44
ちょっとまてw
77≠80だwww
0086デフォルトの名無しさん2006/11/03(金) 11:56:13
ついでに言うと80=82だが。
0087デフォルトの名無しさん2006/11/03(金) 12:03:37
議論の内容に興味持ってるのではなく
単に踊らせるために煽ってるだけだってことに気付いているのかな。
そこの操り人形の如く踊っちゃった哀れな道化師君。
0088デフォルトの名無しさん2006/11/03(金) 12:05:49
つまらんな。
0089デフォルトの名無しさん2006/11/03(金) 12:07:37
糞虫ども乙www
0090デフォルトの名無しさん2006/11/03(金) 12:09:41
お前らはマルチどーのこーの以前の存在だよ
0091デフォルトの名無しさん2006/11/03(金) 12:29:31
俺はシナリオ書くだけ。
プログラム書いて機械を踊らせるよりは
シナリオ書いて人間踊らせる方がおもしろい。
0092デフォルトの名無しさん2006/11/03(金) 12:49:59
>>75
今時のOOP言語と比べる事自体間違ってるだろ。
優劣なんかなくて、単に適材適所なんだから。
0093デフォルトの名無しさん2006/11/03(金) 13:02:23
>>92
何を見当違いなことを。。
誰もVBそのものの他と比べた優劣なんか言ってないだろうに。

ただVBのOOP言語としての問題を踏まえずに下手に工夫をこらすと
策士策に溺れるになるよ、と言ってるだけだろう。
だからベタなコード書けと言ってるわけだが、それも読めないのか。
0094デフォルトの名無しさん2006/11/03(金) 13:17:53
>>93
自分が比較してる事すら分かってないのか。
救い様がないな。
0095デフォルトの名無しさん2006/11/03(金) 13:23:50
ダメなところを考えずにどうやって適材適所を判断するんだろう…。
0096デフォルトの名無しさん2006/11/03(金) 13:30:22
まあ、日本語という(恐らく)ネイティブな人語の読解すらままならない奴に
何言っても恐らく無駄だろう。

昔から日本の国語教育って問題あるけど、最近若い奴に特に増えてるね。
文章から文脈とか意図とかを正しく読み取れない奴が。
0097デフォルトの名無しさん2006/11/03(金) 13:55:38
>>96
お前が一番分かってない
0098デフォルトの名無しさん2006/11/03(金) 14:04:10
VBの話しようぜ。
0099デフォルトの名無しさん2006/11/03(金) 14:46:13
よし。じゃぁ燃料を投下しよう。

VBでもイベントは継承できるじゃん。

継承元でコーディングして、それをさらに継承すれば
オブジェクトっぽい継承が実現できない?

ちなみに、経験上そんなことはした事ない。

精々、へっぽこDBとのIF部品にイベント
を組み込んでカーソルの移動を送ったくらい。
0100デフォルトの名無しさん2006/11/03(金) 21:41:40
>>61-64
返事が遅れてしまいましたが、上手くいきました。
本当にありがとうございました。
0101デフォルトの名無しさん2006/11/03(金) 22:40:38
>>99
無理矢理そんな使い方しなくても。
VBらしいコードを書けばいい。
0102デフォルトの名無しさん2006/11/03(金) 22:41:50
Collectionを型だと思っているヤシは死んだほうがいい。
0103デフォルトの名無しさん2006/11/03(金) 23:15:08
Collectionは型だよ。
そんなことも知らなかったの?
0104デフォルトの名無しさん2006/11/03(金) 23:20:05
>>103
あれは、デフォルトプロパティを持つクラス。
0105デフォルトの名無しさん2006/11/03(金) 23:23:55

Private WithEvents evtTextBox As TextBox

とかって書いて、イベントを紐付ける事ってできるじゃん。

あれをActioveXDllで実装しようとしたら、
イベントが紐つかないのはなぜ?

オレはわからん・・・。
0106デフォルトの名無しさん2006/11/03(金) 23:26:16
>>105
「紐付ける」って何だ?
方言か?
0107デフォルトの名無しさん2006/11/03(金) 23:27:55
>>106
イベントを関連付ける。

その前に、お前に質問の意味がわかるの?
0108デフォルトの名無しさん2006/11/03(金) 23:32:46
>>102-104
なんかこのスレにお似合いの間抜けなやり取りだなあ
特に104はアホだろうかw
0109デフォルトの名無しさん2006/11/03(金) 23:34:25
>>104
メール欄見るといいよ。
「これは餌です。釣られないようにw」って書いてあるから。
0110デフォルトの名無しさん2006/11/03(金) 23:34:38
>>103,108
カスめ。 出直してこい。
0111デフォルトの名無しさん2006/11/03(金) 23:38:57
>>103,108
カス共にヒントをやるよ。

As New とかいてインスタンスが生成できるのは
なんでだと思う?
0112デフォルトの名無しさん2006/11/03(金) 23:45:39
Cのtypedefが新しい型の定義ではない、という話はわりとよく聞くが、
クラスは型でないって見解は初めて聞いたよw

っていうか、VBのコレクションが組み込みのクラスだって見解も本当かよって気もするが。
0113デフォルトの名無しさん2006/11/03(金) 23:48:45
>>111
ttp://strawberry.web-sv.com/cgi/up/sgt/nm1567.mp3
0114デフォルトの名無しさん2006/11/03(金) 23:57:24
>>112
確かにオマイのいう通りだ。
そもそも、クラスはユーザー定義型だ。なさけねぇ・・・

VBのコレクションは、組み込みのクラスだ。
やっと話が分るヤシがいた。
0115デフォルトの名無しさん2006/11/04(土) 00:00:39
>>113
てめぇ!・・・保存しちゃったよ・・・。

>>112
ttp://msdn2.microsoft.com/ja-jp/library/a1y8b3b3.aspx
0116デフォルトの名無しさん2006/11/04(土) 00:20:13
なんか103に釣られまくってるな。
0117デフォルトの名無しさん2006/11/04(土) 00:22:29
・・・・・あ、あれが釣りなのか・・?

も、もしかして、釣られてるのか・・?
0118デフォルトの名無しさん2006/11/04(土) 00:37:44
目欄にわざわざ . を入れてるところを見ると、最初から釣り目的だったんだろうな
後から本人が出てきて釣りだったと言っても誰も信用しないので
事前に餌として書いているのだという証拠を残しておくって寸法だろう
これで反応しちゃった奴らは、釣られたという事実に対して言い訳出来なくなるし
0119デフォルトの名無しさん2006/11/04(土) 01:31:53
他人の書き込みをいちいち疑わない普通の人なら「騙される」のは当たり前。
「釣られた」のは言い訳できない事実だが、恥ずかしがる必要は全く無い。

本気で書いてるかどうかなんて本人以外の人がわかるわけないんだから、
どうせ「釣る」ならもっと釣った側も釣られた側も楽しめるようなトリックを仕掛けようぜ。
0120デフォルトの名無しさん2006/11/04(土) 05:42:43
>>76
なるべく多くの方の意見を聞きたかっただけです。
別の掲示板なので問題ないと思いますが。。。
0121デフォルトの名無しさん2006/11/04(土) 09:10:57
自作自演でマッチポンプに見える罠www
0122デフォルトの名無しさん2006/11/04(土) 09:27:27
可愛そうに
0123デフォルトの名無しさん2006/11/04(土) 09:35:48
>>75
>>99
ありがとうございました。
0124デフォルトの名無しさん2006/11/04(土) 14:23:10
お前ら











                      休日なのに楽しそうだな!まったく
0125デフォルトの名無しさん2006/11/04(土) 15:49:23
>>124
デスマーチ乙であります。
0126デフォルトの名無しさん2006/11/06(月) 03:13:23
別のプログラムにキーボード入力を送るプログラムを書こうと思い
試しにメモ帳に「A」と入力しようとしているのですがなかなかうまくいきません。
SendKeysやkeybd_eventは対象のウィンドウがアクティブでないと使えないのでPostMessageを使おうとしたのですが…、

PostMessage handleOfNotepad, WM_KEYDOWN, vbKeyA, 1
うんともすんともいいません。

handleOfNotepad には事前に取得したメモ帳のハンドルが入っています。
普段は0でメモ帳を起動すると違う値になるのでここは間違えていないと思います。
PostMessageの返り値は1でした。

何が原因なのでしょうか…?
0127デフォルトの名無しさん2006/11/06(月) 04:00:14
>>126
WM_KEYDOWN送ってるから。
0128デフォルトの名無しさん2006/11/08(水) 01:42:03
いままでVBをほとんど触ったことがなかったんですが今日仕事でちょっと触ることになったのですが
よくわからなかったのでお教えください。
フォームの上のコントロールが移動したりサイズ変更しようとしてもまったくできませんでした。
VSSで管理されていたのでチェックアウトして読み取り専用は編集前にはずしました。
なぜ動かせなかったんでしょうか?
自分で新規作成してフォームに貼り付けたコントロールは動かしたりサイズ変更したりできたと思ったのですが…
0129デフォルトの名無しさん2006/11/08(水) 01:46:47
>>128
フォームを右クリック
0130デフォルトの名無しさん2006/11/08(水) 01:48:21
右クリックメニューにロック解除的なメニューか何かがあるのでしょうか。。
すいません今ソースが手元にない(自宅)なので試せないのですが、
明日会社で試してみます。ありがとうございます。
0131デフォルトの名無しさん2006/11/08(水) 01:50:48
今自宅のVB6でフォーム上で右クリックしたらロックって書いてありますね…
何で気づかなかったんでしょう…ありがとうございます(//▽//)
0132デフォルトの名無しさん2006/11/08(水) 16:20:24
先生方に、ちょい質問。

現在、VB6.0+VSFlexGrid7.0で開発中。

そこで、VSFlexGridを使ったサンプルソースのあるような
サイト知ってる?

エロイ人、教えて。
0133デフォルトの名無しさん2006/11/08(水) 16:44:11
お前の態度が気に入らない。
01341322006/11/08(水) 17:07:50
>>133
先生、無知な私をお許しください。


先生、どうか教えていただけないでしょうか?
0135デフォルトの名無しさん2006/11/08(水) 17:24:01
先生と連呼するのは相手をとても馬鹿にした態度です。
狙って言ってるんだろうけどな。
0136デフォルトの名無しさん2006/11/08(水) 18:05:59
>>132
製品に各種サンプルが付いてくるじゃん。
グレープシティのサイトにも色々あるし。
01371322006/11/08(水) 18:06:16

わかりました。



おい、この下衆野郎。
どうか教えてください。
0138デフォルトの名無しさん2006/11/08(水) 20:04:13
つーか、いきなり楽してソースを得ようって態度が気に入らない。
まずはリファレンスで基本を勉強、次に他人の書いたソースで応用を参考に、だろ。
0139デフォルトの名無しさん2006/11/08(水) 21:19:26
まずは製品サンプルを全部読めよ・・・
0140デフォルトの名無しさん2006/11/09(木) 03:07:11
時間になったらテーブルファイルに登録されたファイルの
タイムスタンプをチェックしたいんですが
Timerコントロールで5秒おきに、その時間かどうかチェックさせてます
具体的には↓な感じに
DateDiff(n,format(now,"HH:MM"),format(destTIME,"HH:MM")

Timerコントロールで毎5秒チェックってのが気に入らないんですが
リアルタイムにさせる事はできますか?

0141デフォルトの名無しさん2006/11/09(木) 03:17:15
こういうのもゆとり教育の弊害?>>140
0142デフォルトの名無しさん2006/11/09(木) 09:08:53
ピクチャボックスに、Line関数を用いて簡単なグラフを描いたのですが
その上に別のウィンドウを重ねると重なった部分だけグラフが消えてしまいます。
どなたかお教えいただけないでしょうか?
0143デフォルトの名無しさん2006/11/09(木) 09:30:51
鳳描画
0144デフォルトの名無しさん2006/11/09(木) 09:48:34
ListViewコントロールで詳細表示にしたとき、
アイテム(行)をD&Dで入れ替えられるようにするのはどうすればいいですか?
0145デフォルトの名無しさん2006/11/09(木) 12:27:38
>>142
再描画しる。

>>144
MouseDownイベントとMouseUpイベントで、行が違う場合に
それぞれの行の情報を入れ替えるみたいな、地道な作業が
ぱっと思い浮かんだ。

もしかしたら、HitTestメソッドとか使わないと、自分の列が取得
できないかも。

ガンガレ。
0146デフォルトの名無しさん2006/11/09(木) 14:10:54
>>145
MouseDownとMouseUpで、D&D開始位置と終了位置の
行番号を取得する部分まではガンガって作ってみたものの、
26列のSubItemを一つ一つ移動するのはどうかと思い、
質問に来た次第です。

最低でもListItem単位の入れ替えが出来ないものでしょうか?
出来ればFlexGridの
RowPosition(元の行番号) = 移動先行番号
の様に、インデックスのみで操作出来れば理想的なんですが。
0147デフォルトの名無しさん2006/11/09(木) 15:28:01
>>146
オレが知る限り、いきなり移動はできないと思うが、subitem単位じゃなくて
ListItemという型を使って、行単位ではどうよ?
0148デフォルトの名無しさん2006/11/09(木) 16:30:30
なんにせよ内部じゃ一個づつ移動してるわけだがな
0149デフォルトの名無しさん2006/11/09(木) 19:44:12
そもそも、ListView でそんなUIはどうかと思うが。
0150デフォルトの名無しさん2006/11/09(木) 21:23:55
ケツを付ける奴に限って、良い提案すらまともに出来ない件について
0151デフォルトの名無しさん2006/11/09(木) 21:39:56
>>148
それをいうと元も子もない。


CでWin32Apiかけるようになれば、VBアプリ自体、
裏でちまちまと動いてるのがわかる。


けど、生産性と要員の確保から考えると、
オレはVBはスゴイと思うし、結構好きだ。

0152デフォルトの名無しさん2006/11/09(木) 23:34:39
>>150
つまりそれがお前にとっての良い提案か。
0153デフォルトの名無しさん2006/11/10(金) 13:42:13
DropHighlight プロパティって違うの?
0154デフォルトの名無しさん2006/11/10(金) 18:59:00
すみません。

プロセスIDからそのプロセスが存在するか、
存在する場合にWindowsのハンドルないし、タイトルが
取得できるようなAPIはありますか?

もしくは、APIを工夫して、そのような処理が実現できますか?
0155デフォルトの名無しさん2006/11/10(金) 19:06:37
>>154

自己レスします。
解決しました。

OpenProcess
0156デフォルトの名無しさん2006/11/10(金) 22:51:11
Visual Basic 6.0 SP5 を使用しています。
複数のフォーム(画面)があるプロジェクトで、各画面のテキストボックス
などのサイズを変更しています。

変更中の画面を(プログラム実行時のような表示で)プレビュー確認したい
のですが、実行(F5)してしまうと、変更中の画面ではなく特定の画面が表示
されてしまいます。(スタートアップフォームの画面?)

変更している画面をその場でその画面だけを実行時のプレビューとして確認
したいのですが、何か方法はありますでしょうか。

(他の設定類やプログラムなどはできれば変更したくないです。)
0157デフォルトの名無しさん2006/11/11(土) 02:20:47
>>156
設定もプログラムのいじらないでってことなら、
実際にプログラムを実行していってそのフォームを開くしか方法なさそう。
0158デフォルトの名無しさん2006/11/11(土) 06:30:42
>>156
よく言っている意味がわかならいが・・・

プロジェクトのプロパティで、スタートアップの設定が
画面になってるんでしょ?

まずは、Sub Mainからスタートさせることからしない?

それぞれの画面でオマイの言うテキストボックスなどの
変更が発生した場合用にグローバルなプロパティを
コーディング。

次にSub Mainの中で、オブジェクト変数を書いて
そこに画面のインスタンスを生成。

そして、Call Load(おぶじぇくと) としてメモリに溜めこんで
各オブジェクトから変更用プロパティを参照して、フラグが
立っている画面だけをShowしてやればおk?

>>156
よく言っている意味がわかならいが・・・な・・・

01591562006/11/11(土) 10:17:50
レスどうもです。

>>157
やはりそういう手順になってしまいますか。

>>158
すみません。説明不足なところがありました。

すでに出来上がっているアプリケーションの画面のテキストボックスのサイズ
をマウスでドラッグするなどして変更する、というだけの行為なのですが、
変更する画面が複数あるので、実際の画面を確認するのに実行/開始(F5)
をして該当する画面までたどっていくというのが面倒だなと思い、ショートカット
する感じで変更した画面(編集中の画面)を確認する方法はないものかと質問
したしだいです。
ただ作っている最中の画面の確認をしたい、というだけなのでコード類はいじり
たくないというのがあります。
(ほかの人が作ったものの上、私はVB操作の経験があまりありません。)
それで方々調べてみたのですが、それらしいことが見つからなかったので、ここに
質問させていただきました。
>>156の文面じゃよくわかりませんね。orz
0160デフォルトの名無しさん2006/11/13(月) 15:40:34
VB6にSP6を充てたのですが、適用できているのかどうかは判るものでしょうか?
バージョン情報の中にはソレっぽい項目がなくて…
VB5のときにはタイトルに[(SP○)]とSP番号がくっついていたのですが今回見あたりません。

別のハードディスクに過去につかっていたVBがあり、SPのセットアップ中、そっちのドライブに書き込まれているような
表示もあったりでほんとうに適用できているか不安なもので…

そのへんの情報のググり方のコツでもいいです… orz
0161デフォルトの名無しさん2006/11/13(月) 15:48:45
項目無いなら入ってないんだろうさ
01621602006/11/13(月) 17:30:41
>>161
どもです。
ためしにライセンス違反覚悟で、他のドライブが1つしかないPCで
全部のセットアップをやりなおしたら、SP6の表示がありました。

ダメな方は、どうもおかしな環境になっていて、VisualStudio自体が正常にインストール出来てないようでした。
ドライブ指定しようと何しようと、旧ドライブに何か書いた上に失敗って出てる…気付かなかった orz
0163デフォルトの名無しさん2006/11/13(月) 20:38:56
>>160
なぁなぁ?
オレってば、すごい不思議なんだけどよぉ?


どうして、インストールするだけの作業で失敗すんの?


なぁなぁ?なんで?
0164デフォルトの名無しさん2006/11/13(月) 20:40:36
ヒント: 無能
0165デフォルトの名無しさん2006/11/13(月) 21:32:08
>>163
レジストリとかをを変に弄ってたりすると失敗する事もある。
0166デフォルトの名無しさん2006/11/14(火) 09:20:11
>>164
誰でも出来るインスコ作業を能力で失敗できるなら、それはそれで才能だとおも・・・いたい
01671602006/11/14(火) 11:16:58
仕事用の環境で、HDDまるコピーで環境移植したんで、OSとProgramFilesフォルダがサブHDDにも居る上に、
窓98だったのを2kに上書きしていて、VB4が旧と新の両方に、VB5が新にインストールされている。
セットアップ中のインストール先を見ていると、先のを全部見つけ出して、勝手に分解して失敗してるようだ。

レジストリは触ったことないが、さすがにアホい環境っぽいので、新規購入のほうで使うことにする…>VB6
へんなことですまん。
0168デフォルトの名無しさん2006/11/14(火) 11:37:37
そりゃおかしくなって当たり前だわな
つーか仕事用でプログラム環境構築なら
OSごと全部クリーンインスコすべし
0169デフォルトの名無しさん2006/11/14(火) 12:07:43
>>160,167

まぁ、その、なんだ。
ガンガレ。
01701602006/11/14(火) 15:41:02
ああ、それでもレスが…ありがたや。ガンガル。

>>168
PCから8ビットCPUまで、扱うものがいろいろ有りすぎるのに、PC1台しかもらえず各種環境詰め込み…
上位PCに移行するにも、並べて使えるワケでもなくて、いちからやり直すとすざまじく……
HDD移植で今回の惨状。

もうじき新規にPCを購入してもらえるので、そっちはクリーンインスコでいきまふ。
0171デフォルトの名無しさん2006/11/14(火) 17:58:05
VB2005で、Windowsユーザを管理するソフト、って作れるでしょうか?
色々調べているのですが、それらしい資料に当たれません。
ご存知の方、方法論でもヒントでもいいので、情報下さいませorz
0172デフォルトの名無しさん2006/11/14(火) 18:06:36
>>171
お前は1すら読めないのか
氏ねばいいのに
0173デフォルトの名無しさん2006/11/14(火) 19:29:15
>>171
バッチファイルでさえ作れる。
0174デフォルトの名無しさん2006/11/14(火) 22:07:08
VB初心者友の会ってまだやってんの?投稿全然ないけど。
■ このスレッドは過去ログ倉庫に格納されています