(*´д`*)アハァ… VB初心者質問スレ Part14

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2961:02/09/02 15:13
今回はスレタイひねらなかったのね。
31:02/09/02 15:14
気の抜けたタイトルが気に入ってたのさ。
乙カレー
5前スレ961:02/09/02 15:16
前すれ998および、この>>2は私ではありません。
お気づきとは思いますが・・・
6前スレ985:02/09/02 15:16
>>前スレ990
あ〜。昔VBでサービス作ったと思ったがなんか勘違いしていたかもしれん。
つーことで俺の発言は信用しないでくれ。
それはそれとしてTerminateイベントって本当に走るのか?
それとWinsockは参照設定することによりコントロールじゃない状態で使用できたはず。
それでうまくいかなかったらAPIだな。いやさっさとAPIにしてもいいが。
7前スレ961:02/09/02 15:18
>>6
どのAPIを使えばいいのでしょうか?

APIビューアでWindowsockを探したのですが見つかりませんでした。
8前スレ961:02/09/02 15:23
>>6
そのAPIを使ってみたいのですが、なんというAPIをどのように
使うのかがわかりません。初心者なもので・・・。
APIビューアでもそれらしきものが見当たりませんでした。
なにか少しでも簡単なヒントを頂けたら、お願いします。
9前スレ961:02/09/02 15:24
>>7 も私じゃないのですが、質問がドンピシャなので良しとします(w
>>本当の前スレ961
MSDNライブラリでWinSockとかWindows socketsとかWSA〜で調べれ。
ドキュメントが英語であっても読め。
それでもわからなければGoogleでも使え。
VBでサービスを作るの?
やめといたほうがいいよ。CallBackが基本だから、デバッグしづらいし。
少なくとも初心者には無理。Cを覚えたほうが早い。
オートログオンにしてスタートアップにEXE入れとけ。
12前スレ961:02/09/02 15:31
>>10
え、英語ですか・・・。
はい、やってみます。いろいろありがとうございました。
13前スレ961:02/09/02 15:36
>>11
サービス化はツールを使っています。
他のアプリはそれで問題なく動いています。
たしかに良いとはいえない手法ですが・・・。
14前スレ961:02/09/02 15:46
>>9
お前をDQNに見せようとしてああいう質問をしたんだが・・・。
ってことはお前は俺が想定するDQNと〃レベルと言うことか。ダメじゃん。
もっとがんばりな。
>>14
俺はお前が質問しなかったら9もあんな簡単な質問する気はなかったと思うがな。
結果的に961はDQNに見られることなく情報を手に入れることができてしまったわけだ。
オツカレ。
>>15
>>15
"DQNではあるが、情報を手に入れた"だろ。
>>17
検索下手、英語が読めない、結局理解できない(有力)、などの理由で帰ってくるに一票。
19デフォルトの名無しさん:02/09/02 16:11
下の様に二重起動をチェックするように組んでみたのですが、

Private Sub Form_Load()
  '二重起動チェック
  If App.PrevInstance Then
    Call MsgBox("このシステムはすでに起動しています。", vbCritical, "エラー")
    Unload Me
  End If
  
  ・・・通常時処理・・・
End Sub

EXEを作って二重起動してみると、思惑通りエラーが出て、
勝手に閉じるまでは良いものの、フォームは見えないのにジョブは終了していなくて、
Ctrl+Alt+Delで終了させています。

通常なら「Unload Me」で閉じるのですが、何がダメなんでしょうか。
2015:02/09/02 16:19
>>17
そうだね。最初の段階では情報を手に入れられそうもなかったのに。
961を上回るDQNのせいで。
>>20
もしかして>>961さんですか?
2215=20:02/09/02 16:22
>>21
違います。
>>19
コントロールとか,クラスとかが残っているんじゃねーの
>>22
そのDQNとやらを目の敵にしてあなたにはメリットがあるの?
上司とか?
>>19
それ、Unload Meのあと通常時処理を行っちゃってるよ。
2623:02/09/02 16:26
追記。

Unload me はFunctionの終わりまで実行されるから。
関数終了後、Unload処理を行なう。
27デフォルトの名無しさん:02/09/02 16:27
VBAはスレ違いですか?
2815=20=22:02/09/02 16:29
>>24
は? なに必死になってるの。あなたがDQNですか?
俺は961ともDQNとも関係ないよ。どうでもいいことじゃん。
>>28
>>961と関係は分からないが、DQNとの関係は微妙だな。
>>28
理由がなければそこまでムキになることも無いでしょうて。
関係なくてどうでもいいならなぜわざわざ961をかばいDQNを責めたのかがわからない。
純粋に理由が聞きたいだけですよ。
31デフォルトの名無しさん:02/09/02 16:30
自分はあんまりパソコンを頻繁にはやらないんですが、
この前新しいCDゲームを買って、ゲームをパソコンにインストロールしました。
そうしたら、ディスクトップにショットカットが出来ていたのですが、
翌日そのショットカットをクリックしてもゲームがスタートアップしなくなりました。
インストロール直後にはスタートアップしたのに、WHO?(←英語でなぜって意味です)
3230:02/09/02 16:31
>>31
ワラタ。
33デフォルトの名無しさん:02/09/02 16:32
>>31
どうせ「WHO?(←英語でなぜって意味です)」につっこんでほしいだけなんだろ?
神聖なVBスレにくだらねぇこと書くんじゃねぇよ。
3415=20=22=24:02/09/02 16:34
>>30
面白いやつだなぁ。どこがムキになってるんだ?
俺は一連の話の流とDQNの行動が面白かったからからかってるだけじゃん。
>>34
必死すぎ。ワラタよ。
      / 
                         /   _
         /◎)、_______∠l /   /○ヽ
          |  「....;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;| |,,.   ` -_´/
    .彡⌒ー/|  \___;;;;;;;;;;;;;;;;;;;;;;| |;;;;,   "    i ̄ ̄i
      /´⌒ヽ_____\ ̄ ̄ ̄ .|;;;;;;,      /    ゙、
    ,/´    ! ヲ=℃/ ̄      |;;;;;;;;,     /_,-..‐..-、_゙、
   /_レ‐ー――‐" ̄ ̄)         ヾ;;;;;;;;,,,..  /':::::::::::::::::::::`i
  /    __   r'~ ̄            ヾ;;;;;;;;;;;;,,,.トー――――-!
 /       _)               ヾ;;;;;;;;;;;;;;,,,,....
 |     、  ノ                 ヾ;;;;;;;;;;;;;;;;;;;;;;;;;,,,,....
 ゙、;;;,,..    ̄"                   );;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.......       
987 名前:デフォルトの名無しさん 投稿日:2002/09/02(月) 14:40
>>961 = >>177

が気に障った>>177だったりしてな。

>>31>>33はグルーピング?(←英語で一緒って意味です)

インストロールしたゲームのピロッピーディスクが
デスしてたんだよきっと。YES!
3933:02/09/02 16:38
>>38
ちげーよ。ふざけんな。
>>35
気が済んだか。
なぜにいまさらVBなのですか?
あれほどユーザ環境への依存度の高いお遊び言語に
なぜにそこまで熱くなれるの???
神聖なVBスレだって(プッ
いくらVBの知識をひけらかしてふんぞりかえっても、
人間としてのレベルは高まりませんねぇ。
>>40
気が狂いました。
>>41 とりあえずこれは放置ですな。
>>41
2点。スレが詰まんなくなった。
>>41
VC++然りだな。

って言うかあんたの言う「ユーザ環境」って何を指すわけ?
>>41
しかも既に発売終了。
つうか放置放置
48デフォルトの名無しさん:02/09/02 16:56
Win98se、VB5、アクセス97で開発しています。

この度WinXP、アクセス2002のマシンに作ったプログラムをインストールしました。
そして実行すると「MSJET35.DLLが見つかりません。」というエラーが出ました。
この場合単純に「MSJET35.DLL」をインストール対象のマシンにコピーするだけでいいものでしょうか?
同じような経験をした方などいらっしゃいませんか?
49デフォルトの名無しさん:02/09/02 16:58
イマドキ・・・と思ったけど、ユニクロ買ったと思ってとやったらマジすごかった。
これはだましじゃないよ。

■参加方法(このゲームのしくみ紹介含む)■
1、まず、下記4人の口座に¥1000ずつお金を振り込んでください。(銀行の自動振込機で振り
込みます。4人の口座部分を印刷して行くと楽です。)
2、次に、このメールをそのまま使って(編集は自由ですが)リストにある4つの口
座の一番上を削除します。そして一番下にあなたの口座番号を書きます。
  あとは、番号を上から順に振りなおします。(こうして順番に上の人が抜けてい
くので違法性はない、という弁護士の方の説明がありました。
3、それを、できるだけたくさんインターネットの掲示板のアドレスに送って下さ
い。受け取った人がどんどん同じように振り込んでくれます。最初の1週間で
  10件以上振込みがない場合はもうヒトフンバリします。
4、後は、現金¥1,000円が振込まれるのを待つだけです。
--- --- --- --- --- --- --- --- --- --- --- --- ---
※一番上の口座を削除するから、法律に触れないで済むのです。それだけは絶対に
守ってください。
※お金を送らないでリストに自分の名前を載せると、上位の人の振込み確認で訴えら
れたりいろいろな攻撃を受けてしまいます。良心を持って参加することで
 みなさんが同条件で収益を期待できるのですから。参加して2週間を過ぎたころか
ら平均して増加してきます。毎日がとても楽しくなる4千円のゲームに
 だまされたと思って今すぐ参加してみてください。すごい額になって返ってきま
す。そしてお金が途切れてきたら上記の行動を繰り返せばいいのです。
-------------------------------------------------------------
 ■リスト■

(1)高崎信用金庫 飯塚支店 普通 2172959
(2)群馬銀行 高崎支店 普通 1018272
(3)三井住友銀行 天満橋 普通 488044
(4)UFJ銀行 浦安パークシティ出張所 5381782
50デフォルトの名無しさん:02/09/02 16:59
VB6にて、「TIF」を画像表示させるプログラムを組みたいのですが、
ピクチャーボックスを試したら、エラーが出ました・・・。
ピクチャーボックスはTIF非対応なんでしょうか?
51デフォルトの名無しさん:02/09/02 17:01
VBでトランプゲーム(ブラックジャック)を作ろうとしています。
トランプは全部で3セット分にしようと思っています。
山から引いたときに出てくるカードはランダムなのですが、
全く同じカードは3枚しか存在しないということになります。
(たとえばハートのAは3枚しか出てこない、といった感じです)
軽く、速く、を前提としたときに、どんなコーディングが最適でしょうか?
(*´д`*)アハァ…
>>50
MSDN読もうね

>>51
まずは自分で考えな
>>51
何を速くしたいのかさっぱりわからん。
5551:02/09/02 17:09
すんません。質問した自分がドキュソですた
5648:02/09/02 17:13
>>48もおながいします。。。。。
>>56
うるせーよ
今日は偽者ばっか。暇そうだな。
59デフォルトの名無しさん:02/09/02 17:16
質問させてください。
環境 VB6.0SP5+Win2000

Oracle8iにADO(orDAO)+ODBCで接続し、ストアドプロシージャを叩きたいのですが、
どのようにしたらよいのでしょうか。
なんか馬鹿な質問している奴が同一人物に見えてくるなぁ。
6148:02/09/02 17:20
マジで困ってます。
アクセス2002には「MSJET35.DLL」は含まれていないのでしょうか?
62デフォルトの名無しさん:02/09/02 17:28
ギコナビってVB? かちゅーしゃは?
>>61
Jet35はとっくにサポート外
6448:02/09/02 17:32
>>63
マジデスカ?(*_*)?
プログラムの作り直しと?
>>64
もしそれが仕事でサポート対象内なら地獄を見る気がする。
DAOからADOに変換。

つかまず、DLLをコピーしてみればいいだろよ。
サポート対象内とは、ソフトの方がね。
6748:02/09/02 17:38
仕事でサポート対象内かも?ん?微妙。
とりあえずDLLコピーしてみます。
MSJETって新しいバージョンがなかったっけ?
69デフォルトの名無しさん:02/09/02 17:42
>>48
>>61
ADO + Jet OLE4.0なら、Jet3.5形式のMDBも処理できるはず。
コードの大幅な変更は避けられないが・・・。
それを避ける意向なら、開発環境をAccess 2000または2002に移行してみては?
(参照DLLをDAO3.6に変更すれば、コードの変更は不要)
DLLコピーしてレジストリ登録すれば済むんじゃないの?
>>70
ライセンスとかMSのサポートとか考えた上での発言?
7248:02/09/02 18:02
すんません。
お客さんの都合でDLLコピーは今日は止めてくれと。明日試す事になりました。
なんだか不安を持ち越す感じです。
>>71
コピーする方向で話が進んでるからそれを前提で書いただけ。
MSのサポート?何を言いたいのかよくわからん。もうちょっと具体的に
7419:02/09/02 18:46
>>23>>25
ども。>>19です。
Unload Meの後にExit Subを入れたり、Unload MeをEndに変えたりしましたが、
どうも何か残っているようです…。うーん。
>>74
FormのInitializeやTerminateでメッセージでも表示して調べてみれ。
7619:02/09/02 18:58
>>75
ういっす、用事できまして、明日会社ででもやってみます。
センキュっす。
>>19
>>74
そもそも、Form_Loadイベントで自フォーム自身をUnloadするのが不自然であり、
無理があります。
スタートアップを標準モジュールとして、そこで、最初に二重起動確認処理を
記述すれば、終了処理はEndだけで済み、何の問題も生じないはず。
>>77
俺はForm_loadでUnload Meするのはそんなに不自然だとは思わんけどなぁ。
Mainを使ったほうがいいとは思うけど。
>>78
オブジェクトの自殺って怖すぎると思うが。
気がついたらそのオブジェクトが無効になってるわけで呼び出し元はたまったもんじゃないかと。
8077:02/09/02 19:13
>>77-79
意ずれにせよ、二重起動防止処理を一番最初に実行すれば、「その前に何をやっていたか」を
気にせずに済むのが、利点。
実際、77の方法で問題が生じたことは一度もない。
81前スレ957:02/09/02 19:20
遅くなりましたが、
お答えくださった皆様、ありがとうございました(__)
>>79
別にUnloadしてもオブジェクトが無効になるんじゃなくてFormがUnloadされるだけ。
Form_Initialize内で実行時エラーを出したらオブジェクトは無効になるがそれは呼び出し元で検出できる。
Form_Load内のUnloadも呼び出し元で検出できる。(Form_Load内でUnloadしたという実行時エラーになる)
Form_Load以外でのUnloadも参照を保持しておけば呼び出し元で監視することができる。
問題ないと思うが。
83デフォルトの名無しさん:02/09/02 21:36
激しくガイシュツ気味だと思いますが、
VBAでLINE INPUTを試みた所、テキスト全体を読み取ってしまいます・・・。

もしかしてTXT側の改行時に「\n」等を入れないと行けないのでしょうか・・・。
googleは便利だよな。
あとHelpも便利だなぁ。

(*´д`*)アハァ…
>>83
Line Input の "Line" ってどういう意味なんだろうね♥
86デフォルトの名無しさん:02/09/02 22:16
MMControlを使用して2つのexeでほぼ同時に再生命令した場合、
片方で再生が終わった後にもう片方で再生し始める、というように
Wavファイルを再生したいのですが
下記のような命令だと2つ目のexeの音声が流れません。
どのようにすればいいでしょうか?

<再生命令>
With MMControl1
.DeviceType = "WaveAudio"
.FileName = "C:\1.wav"
.Command = "Open"
.Command = "Sound"
.Command = "Close"
End With
>>85
線ですよね!
>>86
つぅかメッセージを送るとかもうちょっとまともな通信手段を考えろよ。
8983:02/09/02 22:32
キャリッジリターンに当たる"\r"を行全部に入れてみました!!

・・・全行の最後に「"\r」の入ったテキストファイルが読み込まれますた!!

500個位生成してるのでダイアログボックスが鬱・・・。
(*´д`*)アハァ…
・・・。

アフォでつか?
>>89
ラインフィードって知ってるか?
9283:02/09/02 22:45
ホンマにアフォに思えてきます。
もちっとヘルプORぐぐるで頑張ります・・・。

ファイルの読込形式が悪いのかと疑った時期も3分前にありました。
あまり迷走しないように頑張りたいです。
つぅかマジで吹いた(w
>>92
思う存分迷走しな。そうして得た知識が初めて身になる。
9583:02/09/02 23:37
今日はそろそろ落ちますです。
>>84>>85>>87>>90>>91>>93>>94さん
付きあって頂いてありがとうございます。
ちょっと邪道かも知れませんが、明日、本もみてみます。
ラインフィードとキャリッジリターンについて、もちっと明日も
調べますです。

最後に>>94さんの言葉通り、迷走続けながらでも突破したいと思います。

それでは、スレ汚しすみませぬ。
青春だな(ぷ
97デフォルトの名無しさん:02/09/03 09:11
>邪道かも知れませんが、明日、本もみてみます
なんで邪道なんだ?むしろ聞く前に読めって感じ
98デフォルトの名無しさん:02/09/03 09:15
99 :02/09/03 09:52
>>87
プログラミングだけじゃなく、英語のセンスもゼロだな(プ
>>99
101デフォルトの名無しさん:02/09/03 11:08
なんか路線が外れるのですが・・・
VBを起動させると、「MX見張り番」のインストールがどうのこうのと
毎回メッセージが出てVBの起動の妨げになっています・・・。
どなたか解決方法わかりませんか?
>>101
ハードディスクをすべてフォーマットした上で、OSから再インストールすれば
すべては解決する(w
103デフォルトの名無しさん:02/09/03 11:33
>>101 そのソフトのアンインストール・再インストールしてみ
104デフォルトの名無しさん:02/09/03 13:09
すいまそん、ActiveXコントロールを自作したのですが、コンパイルすると
ツールヒントが出ません。
デバッグで実行させると、マウスポインタを置けばツールヒントが出てくる
のに(普通ならそうですが。)、コンパイルしてEXEで実行させると出ないの
です。ActiveXの設計自体にミスがあるのでしょうか。
スクリプティングとプログラミングとオーサリングの開発手法の異同って何ですか
10648:02/09/03 14:44
いちおう報告しておきます。

WinXPマシンのSYSTEM32フォルダにMSJET35.DLLをコピーしたらあっさり動きました。

とりあえず対処は完了という事になり、ほっとしました。
助言してくれた方ありがとう。
107デフォルトの名無しさん:02/09/03 15:00
>106
Office製品を使った開発はこの辺りがやっかいだね。納品した瞬間から
ものすごい勢いで陳腐化が始まる。まあ、裏を返すとMSのバージョンアップ
がものすごい勢いだってことになるけどね。
異同? 宿題?
109105:02/09/03 15:24
>>108
正解!!
>>109
そんなのはメーカーが
これはスクリプティングツールだと言って売ればスクリプティングだし、
プログラミングツールだと言って売ればプログラミング。

そんなことより配列とポインタの違いを勉強してくれ。
>>110
ポインタ? ここはVBスレなので参照と読み替えていいか?
お前らオーサリングとはなんですか?
113デフォルトの名無しさん:02/09/03 16:45
>>112
伝説の魔獣、オーサの角から作ったとされる指輪。

DF+1200 使用:敵一体にオーティムア 装備:味方に薄いバリアを張る。
115110:02/09/03 16:54
じゃあ、Variantの配列とVariant配列の違いという事で。
いや簡単すぎるか。
>>115
>Variant配列
いいたいことはわかるが、それはきみのオリジナル用語。
117仮 ◆ZKkSDatc :02/09/03 21:28
VB6で、ペケピーProな環境です。
最近は外部アプリケーションの遠隔操作とか好んで学んでるんですが
Windowハンドルの取得の部分でいまいちやりかたのわからない部分があるのです。

やりたいことというのは、
とある親Windowの子Windowを列挙して、その中からひとつのテキストボックスのハンドルを調べたいのです。
問題点1 列挙する際に、GW_CHILDでひとつめの子を取ってから、GW_HWNDNEXTで回しているのに
      全ての子Windowが列挙されない。
問題点2 特定のテキストボックスのハンドルを調べたいのだが、テキストボックスは同じクラスネームのものがいくつもあって
      どれが調べたいテキストボックスなのかさっぱりわからない。

解決方法とかあったらよろしくお願いします・・・
>>117
外部アプリケーションっててっきり分散処理とかやってると思ってどきどきしたよ。
英語の得意なプログラマはVBを選択する
>>119
>プログラマは
ここに語弊
VBプログラマはVBが高級言語だと言われてうれしい気分になれる
しかしそういう香具師は高級言語の意味を知らない
123デフォルトの名無しさん:02/09/04 11:47
こんにちはです。

VBで、Word等のアプリケーションを開いて、
Word等を閉じずに、実行した場合エラーになります。
同一ファイル名なので、エラーになると思うのですが、
そのアプリケーションファイルが開いているかどうかの
判定方法ってどうすればよいのでしょうか。

よろしくお願いします。
On Error GoTo
125デフォルトの名無しさん:02/09/04 15:36
VBから帳票を出すのにExcelでやってみようと思うのですが、
参照設定に「Microsoft Excel 8.0 Object Library」を入れて、
下のようにやったのですが、

  Dim ExcelPath As String
  ExcelPath = "C:\Program Files\Microsoft Office\Office\excel.exe"
  Call Shell(ExcelPath, vbNormalFocus)

このExcelを特定して操作することができません。
Shellで開くのが駄目な気もするのですが、上手い方法が浮かびません。
どうかひとつ知恵を。
126デフォルトの名無しさん:02/09/04 15:45
>>125
やりたい事がイマイチ良く分からんが、CreateObjectとかEXCELをキーワードに
googleあたりで調べてみそ。
Dim oExcelApp As Excel.Application
Dim oExcelWorkBook As Excel.Workbook
Dim oExcelWorkSheet As Excel.Worksheet
Dim oExcelRange As Excel.Range

Set oExcelApp = New Excel.Application
Set oExcelWorkBook = oExcelApp.Workbooks.Open("C:\テスト.xls", False, True)
Set oExcelWorkSheet = oExcelWorkBook.Worksheets("Sheet1")
Set oExcelRange = oExcelWorkSheet.UsedRange
Debug.Print oExcelRage.Item(1,1).Value
128デフォルトの名無しさん:02/09/04 16:19
ねえねえ、メールのURLクリックしたときに立ち上がるメーラーを
リストボックスで選択するソフトってVBでつくれるの?
Outlookならできるんだけど、
他のメーラーも選択したくて。。。
129デフォルトの名無しさん:02/09/04 16:32
VBからOracle使いたいんだけど。
やり方おしえれ
130 :02/09/04 17:01
オラクルの検索時間を はかろうとタイマー割り込みを使ってみたんですが、
割り込みが 一度ぐらいしか 発生しません。
インターバルを 1とか 10とか 100とか 変えても変わりません。

いい方法ないでしょうか?
時間を計測するために、Timerイベントの発生した数を数えちゃダメ。
忙しい時は、イベントがくっついちゃうぞ。

検索前に現在時刻(Now())を変数に保存しておいて、
検索後の時間とDateDiffすれば時間が測れる。
ミリ秒以下を知りたい時は工夫しれ。
>>128
まじめにWindowsUpdateすると、OSにその機能が付くよ。
133 :02/09/04 17:50
>>131

そのミリ秒以下ってのが 知りたいんですが・・・。
どのように工夫したらいいんでしょうか?
134!=131:02/09/04 17:55
>>133
マルチメディアタイマーをぐぐれ。
Public Declare Function timeGetTime Lib "winmm.dll" () As Long
こんにちは。
VB6.0使ってるんですが
どなたか「へこんだ線」のデザインの仕方をアホな私に教えてください
メニューの区切り線のようなな3Dにへこんだ線をフォーム上に書きたいのです
いくらいじってもわからないよう
やることは他に山ほどあるのにー!
こんなことにこだわってる私ってー!ウワァァァン!! ヽ(`Д´)ノ
>>136
見た目にこだわるのは良いことだよ。

ラベルを貼り付けて、プロパティのBorderStyleを1:実線にしてあとで、幅を
調整するとそれらしく見えるよ。Captionは前もって消しとくように。
>>137
LINEって言うコンポーネントにした理由がさっぱりわからん線二本重ねるのはどうだろう?
>>138
??
137にはLineじゃなくてLabelってあるよ。

俺はまったく関係ないけど、気になったので実験してみたら>>137の方法で
へこんでいる線に見えたよ。

おもろい方法だ。
140デフォルトの名無しさん:02/09/04 19:49
MMControlを使用して2つのexeでほぼ同時に再生命令した場合、
片方で再生が終わった後にもう片方で再生し始める、というように
Wavファイルを再生したいのですが
下記のような命令だと2つ目のexeの音声が流れません。
どのようにすればいいでしょうか?

<再生命令>
With MMControl1
.DeviceType = "WaveAudio"
.FileName = "C:\1.wav"
.Command = "Open"
.Command = "Sound"
.Command = "Close"
End With
141デフォルトの名無しさん:02/09/04 20:10
open で開いたテキストファイル #1 の
任意の位置から任意の文字数だけ取得することはできますか?
142136:02/09/04 20:17
>>137さん
ありがとうございますぅぅゥ!
やってみたら大変良い感じでした
けど、Hightは38が限界みたいでチョッとおデブな線にみえてしまいます..
これは、私のマシン環境なのでしょうか

>>138さんの方法も良い感じになりそうだったんですが、
線同士が重なりすぎてしまって無理でした。。。(´Д`)
グリッドの感覚を調整しないとダメなような気がします。

どうも、有難うございました
これで残業に気合が入ります。あはは〜 ヽ(´▽`)ノ
can
>>136
拡大してみてみれば分かるが、へこんだ感じは、
ちょっと暗い線と、明るい線が引いてあるだけ。Topプロパティをいじれ。

>>141
BinaryモードでOpenし、Getで任意のバイト数を読み飛ばせ。
次にお前は、任意の行から読みたいという!!
145デフォルトの名無しさん:02/09/04 20:42
>>137
う〜ん、確かに見えるけどちょっと太くない?
>>136
Lineを2本、15ポイントずらして配置。上(左)の線の色をvbButtonShadow、下(右)をvbWindowBackgroundにするといいよ。
面倒ならFrameのCaptionを消してHeightまたはWidthを30ポイントにすればOK
俺はLine使ってるけどLabel1個とLine2本って違い出るかね?
147136:02/09/04 20:50
>>145さま
ビンゴでした!!
まさにイメージ通りな出来に心も晴れ晴れでつ
皆さまありがとうございました!!

なんていい人たちなんだ ウワァァァン!! ヽ(`Д´)ノ
148デフォルトの名無しさん:02/09/04 21:24
TabStripコントロールのStyleプロパティをtabFlatButtonsにすると、
なぜかBeforeClickイベントが発生しません。
(普通のタブ表示なら発生します)
これはそういう物なんですか?
それとも対処方法があるんでしょうか。
>>144
Seekって知ってる?
150仮 ◆XnRNuqZ2 :02/09/04 22:30
悪 質 問 で し た か ?
おながいします・・・Nuke++とかのツールで見ると
ちゃんと親の下に子が全部表示されてますし、あれVB製だったはずですし
なんかやり方あるというのは分かっているのです。
私の現在使っているTips本とかにも載って無くって困って困って。
と、とりあえずもう一度ぐぐって来ます・・・
>>150
getchilewindow
>>150
なんのAPIでハンドル取得してるの?
153仮 ◆XnRNuqZ2 :02/09/04 23:15
>>151
?? APIでつか?

>>152
GetWindowっす・・・GW_CHILDつけて。
他に同じようなAPIがあるのですか。そっちも調べてみます。
154デフォルトの名無しさん:02/09/05 02:26
Windows2000なのですが、OpenPrinterでのネットワークプリンタのハンドルが取得できません。
同じソースで、他のマシン(WindowsXP、Windows98)では取得できるし、
ローカルプリンタでは成功するので、プリンタの設定なのかもしれないのですが・・・
権限の設定も問題無いし、どこに気をつけるべきなんでしょうか?教えてください。

ちなみに、プリンタは正常に印刷できます。
>>153
GetWindowとGW_CHILD/GW_HWNDNEXTで回す方法は間違ってないと思う。
hWnd=GetWindow(hWnd親,GW_CHILD)
Do While hWnd <> 0
  'ここで何か処理
  hWnd=GetWindow(hWnd,GW_HWNDNEXT)
Loop
これで同じ階層のWindowは列挙できるはずだ。

問題あるとしたら、Windowの親子関係の理解かも。
ちゃんと再帰検索しないと全部出てこないよ。
Windowの階層構造は、
 DesktopWindow/Form/Frameなどのコンテナ/各種コントロール/その上の部品
ってな感じになってるから、各階層で列挙したらその下も検索しないと。

クラス名だけじゃ判別できない、ってのも、Windowの階層構造から比較すれば
絞り込めるはず。そのうえで、Textの中身で判別するなどの方法をつかえば
何とかなるんじゃないか?

#次はGetWindowTextでテキストが取れないとゴネるに1票。
#SendMessageとWM_GETTEXT使ってね。
156デフォルトの名無しさん:02/09/05 04:31
テキストボックスやラベルに表示する文字を
右詰やセンタリングではなく 均 等 にすることはできますか?
できない
158デフォルトの名無しさん:02/09/05 11:03
VB6.0SP5、Win2000、DBはAccess2000で
下のプログラムを動かしたところ
Delete部分で
実行時エラー'3251';オブジェクトまたはプロバイダは
要求された操作を実行できません
というエラーが出てしまいました。
DeleteはAccess2000では使えないのでしょうか?

Dim cnn_Test As ADODB.Connection
Dim rs_Sample As ADODB.Recordset
Dim str_SQL As String

Set cnn_Test = New ADODB.Connection
With cnn_Test
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Test\Test.mdb;"
End With

Set rs_Sample = New ADODB.Recordset
str_SQL = "select * from Sample"
rs_Sample.Open str_SQL, cnn_Test, adOpenStatic,adLockPessimistic

Do Until rs_Sample.EOF
rs_Sample.Delete
rs_Sample.MoveNext
Loop
>>158
Set rs_Sample = New ADODB.Recordset
str_SQL = "select * from Sample"
rs_Sample.Open str_SQL, cnn_Test, adOpenStatic,adLockPessimistic

Do Until rs_Sample.EOF
rs_Sample.Delete
rs_Sample.MoveNext
Loop

cnn_Test.Execute "DELETE FROM Sample"
160159:02/09/05 12:50
こっちの方が速いか
cnn_Test.Execute "TRUNCATE TABLE Sample"

試したこと無いけど
161158:02/09/05 13:02
>>159-160
ありがとうございます。
やっぱりExecuteするしかないんでしょうか?
recordsetのDeleteはなんで使えないんだろう?
162159:02/09/05 13:10
>>161
Deleteは使えるぞ。単にコードが悪いだけ。
rs_Sample.MoveNext

rs_Sample.MoveFirst
163219.96.219.219:02/09/05 13:14
            ./'"" : .:.. .::: . :. .::"=,
           /:. :..:..:::::::::::::::;;;:::;;;:::;:..:.:!,
           i:.:::::;;;;;:::::-,:-'"    ;:::::::i,
           ノ:::"   ヽ,..     ;:::::::i,
           ,i::::. ,....,,,_   ,;;;;;;::::,,,,,.;:::;i..,
           ヽ;::,;:- ;:;;::,ー:;"/ /  i"`:;":l,
           ;"!,:!, "''''"ノ: .ヽ---'" :l,,,/
            !, ;!,"""~::.,....::,:    .:l'          人生ってせつねーな
             'l;  ,//l,l,l,l,ll::  .;l 
              ヽ, "~---'"  ,;/!ヽ, 
               ヽ,,    /;;;" ヽ,,,,,,,
       ,,,,,,::---''''''''''''"!,i,"''''''''''"/   /::" "'--::;;,
     /";,    :::ヽ,   l,!,/=l;"~,/   /:   :;--''"'ヽ,
     (;;;;,,ヾ,   ;::: .   l/,,,.l,/  ,/;' ' :',,..:'      :ヽ
     ,ノ ::;;,,,::i,   :, ::,   i,./   /  .: ,:''   _,,.,-'l;:..   ,i
     ,):::::.... "";,  :,,:;   /   ,/.;;;;;, _,,;:-''''".,,;,:-"::...  l
164158:02/09/05 13:33
>>162
できました!ありがとうございます
165TTT ◆aXGRPkmk :02/09/05 14:38
vb6でUDPでデータを送ったり受信したりするプログラム書いてます。
むちゃくちゃ単純なやつです。
remoteport設定して
bindして
remotehostに送るだけ。
受信はイベントまちしてるだけ。
作ったときはうまくいったんですが
ディストリビューションウィザードで
他のPCにインストールして送信しようとすると
実行時エラー126がでてきます。
なぜでしょう。
166デフォルトの名無しさん:02/09/05 15:08
Oracleのレコード件数を取得したいのですがうまくいきません。
過去ログを読むとSQL文でCOUNTをした方が良いと書いてあったので
次のようにしたのですが、肝心の結果が取得できません。
どこが悪いのでしょうか。助けてください。。。

Dim objtest As ADODB.Recordset
Dim strtest As String
Dim strSQL As String

Set objtest = New ADODB.Recordset
strSQL = "select COUNT(*) from spos.tst_meisai"

objtest.Open strSQL, cnn, adOpenKeyset, adLockOptimistic

strtest = objtest(0).Value
167デフォルトの名無しさん:02/09/05 15:37
普通のVBとwordとかで付いてるVBの違いを教えて頂けないでしょうか?
>>167
WordのはVBA
169デフォルトの名無しさん:02/09/05 15:49
VBAでソフトとかゲームって開発できるんですかね?
170デフォルトの名無しさん:02/09/05 16:12
>>169
出来ますよ。
エクセルで作ったテトリスを見たことあります。
できる
172デフォルトの名無しさん:02/09/05 17:08
"制御文字入れたい\"\n\rとか"
VBではどうやって記述したらいい?
>>172
VBならとかって気取ってかいてんじゃねーYO。
他の言語使えないくせに。
>>172
chr$とか
175デフォルトの名無しさん:02/09/05 17:32
>>172
こんな感じ?
"ABC"+Chr(13)+Chr(10)
Chr(13) = キャリッジリターン
Chr(10) = ラインフィード
176デフォルトの名無しさん:02/09/05 17:55
リストヴュー内に値を表示することはできるのですが
逆にリストビュー内の文字列を取得する方法を教えてください。

インターネットで探してもヘルプ見ても書店に行ってもやり方が
書いてないんです・・・。単純に表示されている文字列を取得したい
だけなのですが。

私の探し方がいけないのでしょうか?
177172:02/09/05 17:59
>>174
>>175
レスども、参考になりますた。
Chr(22) & "こんな感じになりますた" & Chr(22)
>>177
22ってなんだろう?

・キャリッジ リターンとライン フィードの組み合わせ。
vbCrLf = Chr(13) & Chr(10)

vbには定数が定義されているよ。
>>176
lvw.ListItems(index).Text
lvw.ListItems(index).ListSubItems(index).Text
180デフォルトの名無しさん:02/09/05 19:30
はじめまして。
VBからエクセルをShell関数にて起動しているのですが、
起動するまでの約1〜2秒間の間、
普通にエクセルを起動(エクセルアイコンダブルクリック、スタートメニューから起動等)
できないようにしたいのですが、可能でしょうか?
というのは、Shellから起動する前後にエクセルのレジストリを触っているからです。

どなたかご教授願います。
よろしくお願いします。


                 ̄ ̄ ̄ ̄-----________ \ | / __-- ̄
      ---------------------------------  。>>173 ------------
       _______----------------- ̄ ̄ ̄ ̄ ̄     ̄ ̄----_______
                     ∧ ∧    / / | \ \
                    (   )  /  /  |  \  \
                 _ /    )/  /   |   \    \
                 ぅ/ /   //    /   |    \    
                ノ  ,/   /'    /    |     \
 _____      ,./ //    |     /    |      \
(_____二二二二)  ノ ( (.  |    /     |
              ^^^'  ヽ, |  |   /     |
                    |  |         |
                   ,,/  ,ノ  ∧、∧、∧、∧、∧、∧、∧、∧、∧
                  /  /| <
                  /  / | < 宇宙のかなたまでとんでけや
                 ,/  / | <、
                 \__つ )  ∨^∨^∨^∨^∨^∨^∨^∨^∨^∨
182デフォルトの名無しさん:02/09/05 20:21
はじめまして。
VBからノーマル表示されているDOS窓を最小化したいのですが、どのようにしたらいいのか分かりません。
どなたか教えていただけませんか??よろしくお願い致します。
>VBからノーマル表示されているDOS窓
というのが意味不明なんですが

shellでbatファイル動かしてるという意味ならshellの第二引数でウィンドウの大きさ指定してくれ
違ったらスマソ
>>183
VBから、ノーマル表示されているDOS窓
であろう
185仮 ◆ZKkSDatc :02/09/05 22:19
>>155
うぅ、どうもです。
>問題あるとしたら、Windowの親子関係の理解かも
これが大的中でございますです。
ComboBoxの内側のTextがComboBoxの子Windowになるとは知りませんでした。
なんとなく全部同じ階層なのかと勘違いしてたわけです。
お陰でComboBoxハッケソ→その子を検索→目的のTextBoxハッケソ
と、トントン拍子です。

ありがとうございました。(実は「テキストが取れない」ってのも調べようとしてましたw)
>>182 DeclareがめんどくさいのでCですまん。
int main(int argc, char* argv[])
{
  HWND hwnd;
  WINDOWPLACEMENT windowplacement;
  BOOL b;

  hwnd = FindWindow(NULL, "c:\\winnt\\system32\\cmd.exe");
  //hwnd = FindWindow("ConsoleWindowClass", NULL);
  printf("hwnd=%d\n", hwnd);
  GetWindowPlacement(hwnd, &windowplacement);
  windowplacement.showCmd = SW_MINIMIZE;
  b = SetWindowPlacement(hwnd, &windowplacement);
  return 0;
}
>>166
SQL2000だけど、そのコードで動いたよ。
数値で帰ってくるのに、文字列に入れているからかな。
でもちゃんと自動的に変換されたよ。

あとはcount(*) as cntとか名前を付けて、
Debug.Print objtest("cnt").Value してみるとか。
188仮 ◆ZKkSDatc :02/09/05 23:25
こんどはSetWindowTextがComboBoxに対して上手く動かないや。
他のツールではちゃんと変更できるんだけどなぁ。
もういいやヽ(`Д´)ノネル!!
>>188
だからWM_SETTEXT使えってば(w
190仮 ◆ZKkSDatc :02/09/06 00:04
191仮 ◆ZKkSDatc :02/09/06 00:26
デキタ
モレガヴァカデシタ
イッテキマ
192初心質問:02/09/06 02:18
VB6.0&Access97でデータベースのトランザクション処理の質問です。
モジュール初期起動時に、PublicのDAO3.5_ObjectでCreateworkspace,OpenDataBaseを作成して
プログラム内でRecordsetを作成して参照・更新・追加などをしています。
複数のテーブルにレコード追加するときに、 Begintrans〜commitTransを使おうとしたら
追加時、Recordset.addnewのときにオブジェクトが無効とエラーになってしまいます。
直前のset Recordset = DataBase.OpenRecordset("select * from tbl where id=id ",dbsopendynaset)
は実行できます。
なぜなんでしょうか?
ちなみにBegintrans実行直前にCreateworkspace,OpenDataBaseを再作成(set〜)を行うとエラーになりません。
またBegintrans〜commitTransを使用しなければ、エラーは起きません。
誰か助けていただきたく。


まだクールバーにメニューを載せようとあがいている馬鹿ですが、
ツールバーのボタンにTBSTYLE_AUTOSIZEをセットしようとしてるんですけど、
全然上手く行きません。いい方法ありませんかね?ハァ・・・
そもそもツールバーコントロールのボタンのIDは101から始まってんだろーか。

Private Const WM_USER As Long = &H400
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const TBSTYLE_BUTTON = &H0
Private Const TB_GETBUTTONINFOA As Long = (WM_USER + 65)
Private Const TB_SETBUTTONINFOA As Long = (WM_USER + 66)
Private Const TB_GETBUTTONINFO As Long = TB_GETBUTTONINFOA
Private Const TB_SETBUTTONINFO As Long = TB_SETBUTTONINFOA
Private Type TBBUTTONINFO
cbSize As Long : dwMask As Long : idCommand As Long : iImage As Long
fsState As Byte : fsStyle As Byte : cx As Long : lParam As Long : pszText As String : cchText As Integer
End Type
Private Const TBSTYLE_AUTOSIZE As Long = &H10
Private Const TBIF_STYLE As Long = &H8
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Sub Form_Load()
Dim tbInfo As TBBUTTONINFO
Dim lnghWnd As Long,lngRet As Long
lnghWnd = FindWindowEx(Toolbar1.hwnd, 0&, "ToolbarWindow32", vbNullString)
tbInfo.cbSize = Len(tbInfo) : tbInfo.dwMask = TBIF_STYLE
lngRet = SendMessage(lnghWnd, TB_GETBUTTONINFO, 101&, tbInfo)
tbInfo.fsStyle = TBSTYLE_BUTTON Or TBSTYLE_AUTOSIZE
lngRet = SendMessage(lnghWnd, TB_SETBUTTONINFO, 101&, tbInfo)
Toolbar1.Refresh
End Sub
>>192
エラーが出るプロシージャのコード出してみ
195デフォルトの名無しさん:02/09/06 10:05
>>187
動きましたか。。。
教えていただいた方法を試してみます。
>>195

Dim oraDynaset As Object
Dim strSQL As String
Dim oraCnt As Long

Const ORADYN_READONLY = &H4&

strSQL = "SELECT * FROM TABLE"

Set oraDynaset = gOraDataBase.CreateDynaset(strSQL, ORADYN_READONLY)
oraCnt = oraDynaset.RecordCount

※gOraDataBaseは、オープンしたDBね
197デフォルトの名無しさん:02/09/06 13:19
タブ区切りの文字列を分割したいんですが、良い関数はありますか?
Cで言うところのstrstrみたいな。
198デフォルトの名無しさん:02/09/06 13:23
>>197
まずはstrstrがどういう関数か調べてこい。
199197:02/09/06 13:25
あ、了解す。
strstrは全然違う関数すね。
200197:02/09/06 13:30
splitですね?
やってみます
201:02/09/06 13:43
>>195
Oracleの場合はFieldsコレクションを使わないとだめだよ。
objtest.Fields(0).Value でうまくいくと思う。
>>196
ADOとOO4Oの区別をつけましょう。
それと行数取得のために全表問い合わせなんて事はやめましょう。
202197:02/09/06 14:12
タブ区切りのテキストを↓で分割しようとしたんですが駄目でした。
タブ記号を"'"なりに変換するほうがいいですかね?


Dim strValue() As String

Dim aaa As String

aaa = "aa bbb cc"

strValue = Split(aaa, Chr$(9))
203196:02/09/06 14:15
>>
>それと行数取得のために全表問い合わせなんて事はやめましょう。

ここにSQLを代入するという、例のつもりだったんだけどね。
204196:02/09/06 14:17
>>203>>201に対してです
205:02/09/06 14:17
>>203
クク・・詭弁はよせヨ
206:02/09/06 14:19
>>202
それはテキストがタブ区切りになっていないから。
aaa = "aa" & vbTab & "bbb" & vbTab & "cc" でやってみ。
207197 :02/09/06 14:22
>>206
素晴らしい!
ありがとうございます
208:02/09/06 14:24
>>203
そこにカウントをとるSQLを入れるとレコード行数は1になるよ。
会社の先輩に教わってるんだろうけど、ちゃんと自分で勉強したほうがいいよ。
>>205
クク・・騙りはよせヨ
209203:02/09/06 14:33
>>208
俺は会社の先輩なんかに教わってねえよ!!!
210デフォルトの名無しさん:02/09/06 14:36
すみません。今VBからACCESSにデータを書き込むというプログラムを
作成していたんですが、実行すると「1つ以上の必要なパラメータの
値が設定されていません」と表示されます。
デバックをクリックすると
(変数名).Open strSQL, (変数名), adOpenDynamic, adLockOptimistic
ここが黄色で指摘されます。どういうことなのでしょうか?
神様おながいします。MSDNのCD持ってないのもで・・・
211:02/09/06 14:42
>>209
せっかく気を使って会社の先輩のせいにしたのに・・・
>>210
SQL文に間違いがあります。
>>192
AccessでTransactionがうまくいかんのは俺もあった。
結局こまめにCommitする事にしました。
213デフォルトの名無しさん:02/09/06 14:49
>>211
ありがとうございます。
SQL文ですか・・・。具体的にどう間違っているかわからないので
調べてみたいと思います
(*´д`*)アハァ…
215:02/09/06 15:24
>>213
SQL文見てないからわからないけど。
表結合していて、それぞれの表に同じ名前の項目があるけれど
どちらの表の項目を見るのか指定してない。
のだと予想してみる。
216デフォルトの名無しさん:02/09/06 15:28
>>215
ACCESSの方でデータを格納したいレコードの部分の名前にテキスト型なら
うまくいくんですが、整数型にすると「型が一致しないと」
表示されてエラーになってしまいます・・・
>>216
              /⌒彡
     /⌒\    /冫、 )  
     /  ∧ `./⌒ i `  /ゝ
     /  ノ  > ( <     ( \\
  ̄~⌒ ̄ ̄~  \`つ    ⌒ _)
 ̄ ̄ フーン
218:02/09/06 15:56
>>216
えー、正直言ってることがわからないですが。
Where句に指定した値が文字列型なら・・・という事でしょうか?
型が一致しないと出てるのならそれが原因でしょう。
具体的に言うと、整数型なら"'"をはずしてやらなければなりません。
Oracleならはずさなくても平気なんだけどね。
>>218
アンタバリバリにできるナ
220216:02/09/06 16:11
>>218
ありがとうございます。
確かにその通りでした。"'"だと文字扱いになるんですね・・・。
おかげで解決することができました
型チェックにうるさいんだな。つーかAccessのbrokenぶりを見させていただいた
( ´_ゝ`)
223:02/09/06 16:33
>>219
そんなことないですよ。まだまだ未熟者です・・・でもありがとう!
>>220
「1つ以上の必要なパラメータの値が設定されていません」
は解決したんですよね?原因がなんだったのか知りたい。
224Prime:02/09/06 16:43
厨房三年目です。
技術教師が私に授業で作る例題のプログラムを作れといってきました。
自分で作れないのに技術の教師…時代は変わったのか
225:02/09/06 16:56
>>224 中学でプログラミングを教えてるってとこに時代を感じる・・・
普通に教わるよ
家庭科(技術?)で。
高校でBASIC習うんだし。数Aね。
227216:02/09/06 17:09
>>223
strSQL = "Select * From (名前) " & _
"Where (名前) = '" & (TextBoxの名前).text & "'" & _
"AND (名前) = '" & (TextBoxの名前)..text & "'" & _
"AND (名前) = '" & (TextBoxの名前)..text & "'"

これでやって悩んでいました・・・。"'"をはずして解決しました
>>227 プロの方ではないですよね。課題とかですよね。
TextBoxに 「'」とか「"」とか打つとウマーだし。
229デフォルトの名無しさん:02/09/06 18:34
ReDim Preserve MyRec(6) As TRec

というように確保した領域って

MyRec() = Nothing

で領域開放できるんでしたっけ?
>>227
好みだけど、↓こー書いた方が見やすいんでない。

strSQL=""
strSQL = strSQL & "SELECT 〜 "
strSQL = strSQL & "WHERE 〜 "
strSQL = strSQL & "AND 〜 "
231229:02/09/06 18:41
自己レスです。Setが必要でしたね

Set MyRec() = Nothing
>>229
それ動いたか?
233229:02/09/06 18:51
>>232
実際動かしてみました。
Nothing代入じゃないんですね。

234229:02/09/06 18:54
freeに相当する関数があるのかという話ですね。
VB側で勝手に開放してくれるのかな?
調べてみます
235216:02/09/06 18:59
>>230
ありがとうございます。参考にさせていただきます
>>229
明示的に開放したいなら Erase ステートメントで出来ますよ。
237229:02/09/06 19:29
>>236
watch式でも開放されてるの確認しました。
こんな初歩的な質問にわざわざありがとうございます
238デフォルトの名無しさん:02/09/06 21:09
どなたか教えてください。
httpプロトコルでファイルをダウンロードしようとしていますが
うまくいきません。
(ステートは12の完了までいくけど、ファイルがどこにも保存されない)

・プログラムのどこか間違っているのでしょうか?
・「GET」コマンドで取得したファイルはどこに格納されるのでしょうか?
 (全フォルダ検索しましたが指定したファイル名はありませんでした)

With Inet1
.URL = "https://aa/aa/bb.lzh"
.UserName = "12345"
.Password = "12345"
.Execute , "GET"
Do While .StillExecuting = True
DoEvents
Loop
End With
>>238
それって自動的にファイルになるのか?
じゃないと保存先のパスとファイル名が設定できないとおかしいと思われ。
>>238
それだけぢゃダメ
Inet1のStateChangedイベントでStateが12になったらGetChunkする。
で、GetChunkしたバイナリ文字列をファイルに書き出していく。
コード書きたいけど面倒+ちょっとうろ覚えw
ぐぐればいくらでもサンプル出てくるけど?
241238:02/09/06 23:27
>>240

ありがとうございます。

GetChunk の方法なんですが、
ヘルプにあったサンプルで、
ファイルをオープンしていましたが、
どこのファイルをオープンすればいいんでしょうか?
(ソースの txOperation の部分)

よろしくお願いします

Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant ' Data 変数
Select Case State
' ... ほかの条件のコードは省略されています。
Case icResponseCompleted ' 12
' 出力先のファイルを開きます。
Open txtOperation For Binary Access _    ←???
Write As #intFile

' 最初のデータを読み取ります。注意: バイナリ ファイルを読み取る
' 場合はバイト (Byte) 配列 (icByteArray) を指定します。
vtData = Inet1.GetChunk(1024, icString)

以下 略
242デフォルトの名無しさん:02/09/06 23:33
みなさん、VB.NETへは以降してるんですか?
どうするんですか?
いんや、まだ6sp5のまま web関連の開発がなくてな
>>241
どこのファイルって、
お前が保存したいそのファイルだよ!
>httpプロトコルでファイルをダウンロードしようとしていますが
そのダウンロード先だよ!
>>243
やっぱ.NETとか言ってるだけあってWeb型のアプリの開発は得意なのか?
ん〜全部データはもってるんだがインスコが面倒でなぁ。
>>242
VBの仕事そのものがあんまりないので、
旧VBもVB.NETも趣味でやってるよ。
>>242
.net の環境が入ったWindowsが出る頃を勉強のメドにしてる人も多そう。
現状、VB6 アプリを.net に移行するって話は、まだ殆ど聞かないね。
Webは全く知らんけど。
248デフォルトの名無しさん:02/09/07 00:00
Public Kekka(1 to 10) as log
Public Sub Draw()
i=i+1
k=k+1
kekka(i)=k
Text1.text=Text1.text & Kekka(i)
End Sub

とやって、

Private Sub Command1_Click()
Draw
End Sub
とやったのですが、テキストボックスには11111年かなりません。12345となるはずですが・・
>>245
>やっぱ.NETとか言ってるだけあってWeb型のアプリの開発は得意なのか?
ぼちぼち。

>ん〜全部データはもってるんだがインスコが面倒でなぁ。
犯罪者の方でしか?
>>246
そういうのって、場所にもよるべさ。>量
>>248
君、日本語やばいぞ。

Procedure内で宣言した変数ってのは基本的に、Procedure を抜けると、内容は消えるのよ。
嫌なら、Dim の代わりにStatic って書きな。
値が型の上限を越えないように注意ね。
>>249
へぇVB6よりはそっち系の機能充実ってとこ?
ちなみに犯罪者じゃねぇっ。学校側で買ったのを拝借しただけで。
はいわかった。
254238:02/09/07 00:11
>>244

”GET” コマンドだけで保存先を指定していないので、
どこに保存されているのかわからないので、質問しています。
ディスクの全検索しても同名のファイルは見つかりませんでした。
別の名前でバッファに入っているのでしょうか?
それとも、単純にダウンロードに失敗しているのでしょうか?

244以外の人で、知っている方がいましたら教えてください。
>>252
>学校側で買ったのを拝借しただけで。
業務上横領。コピーの場合ライセンス違反によるごにょごにょ。
>>254
だから根本的にHTTPとプログラミングについて理解していないと思われ。
>>254
悪いこと言わないから、テキストファイルの保存からやり直せ。
自分がいかに電波な事言ってるか解るから。
258デフォルトの名無しさん:02/09/07 00:15
>>251
ども。iとkをpublicで宣言したら直りました!
なにも宣言しないとdimなのですね。!
おみそれいたしmたした
>>255
むむ・・255ゲトオメってことで許してぇ。

>>254
ん〜
そうやってInetとか使って何かやろうとする以前の問題のような。
なにをするのがExecuteでGetChunkは何をするためのもので
何の為にファイルをOpenしたのかわかるかい?
とりあえず、そういう基本的概念から押さえていってはいかが?
260238:02/09/07 00:47
どうもお騒がせしました。

Get_Chunk の使用例にあった、

>出力先のファイルを開きます。
>Open txtOperation For Binary Access _ 
>Write As #intFile

の、「出力先」というのを、「GET」コマンドが吐き出した出力先と勘違いしていました。
GET したバッファファイルを取り出して、実際に格納したい出力先 という事ですね。

261デフォルトの名無しさん:02/09/07 01:23
IEのお気に入りのように動的にメニュー項目を増やしたいのです。

1階層なら、メニューエディタでメニュー配列つくっておいて、
コードで
Load mnuBookmark(1)
mnuBookmark(1).caption = "yahoo"
こんな感じにしたらyahooが動的に作られたりしました。

ここまでは出来たんですが、多階層のメニューを動的に作成する方法が分かりません。
root\検索エンジン\yahooみたいな。
>>261
試してないけど、set 新規アイテム(n).Parent = 親にしたいアイテム
見たいのはダメ?
263262:02/09/07 01:37
ごめん、死ぬほどダメだ.
264デフォルトの名無しさん:02/09/07 02:10
今、VBでグラフィックエディタ作ってるんだけどけっこう難しすぃ
どこかグラフィクエディタの作り方の基本的な解説が載ってる
優良サイトってどこか知りませんか?
自分でも探してみたけどいまいちいいのがなかた
お絵かきソフトぐらい作れるだろ?
>>261
多階層メニューを動的にやるには、
APIばーりばーりー、ぼーりぼーりー。
しかもイベントがごにょごにょ・・・。
>>264
グラフィックエディタって言っても、ピンからキリまである。
漠然としすぎ。まずアクセサリのペイントブラシくらいは作れるようになればー。
大まかな作りとしてはあのぐらいなら優しいぞ。
VBで左クリックと右クリックを判定するにはどうしたらいいの?
269Pっ:02/09/07 21:16
質問です。VB6,Win2k
ツールバーのあるボタンを押した、という命令を送りたいのですが
普通のコマンドボタンとかならば独自にハンドルをもっているので、それにSendmessageでいけますが
ツールバーだと、ツールバー全体で一つのハンドルのために、
「左から2つめのボタンが押された」っていう命令を送れないんです・・・
これは何か別の方法を使ったりして実装できるのでしょうか?
>>268
MouseDown/MouseUp
271エンジェルフィッシュ:02/09/07 21:20
>>269
API関数のSendMessageで直接送って栗。
右と左をクリックを判定したいんだけど、LeftMouseDownとかないですかね
>>272
Form_MouseDown(Button As Integer
            ~~~~~~~~~コレは一体何でしょうね?
sorry ><
275デフォルトの名無しさん:02/09/07 22:47
VBでコンソールアプリを作れますか?
VBでCGIプログラムを作りたいんです。
VBScriptでASPは嫌です。
>>275
できます。
だけどAPI多用してめんどくさいです。
http://tokyo.cool.ne.jp/taquino/vbcgi/index.shtml
CGIに使うだけならこのページ参照すればいいかと。
>>275
Perl、C、PHP、Java Servlet、JSP、ASP.NETと
選択肢いろいろあるのに・・・。M?
278Pっ:02/09/08 01:37
>>71
いや、APIのSendMessageでやってますけど、
ツールバー全体にしかメッセージを送れないんです。
ツールバー全体に対して「左クリックされました」ってメッセージ送ってもだめだろうなぁと。
「ツールバーの3番目のボタンが左クリックされました」じゃないと。
SendMessageで出来るのならもうちょっと調べてみます。
>>278
ButtonのLeft位置とかが特定できるなら、その値を含めて
WM_LBUTTONDOWN を送ればいいんでわ。
3番目のボタンをクリック、ではなく、3番目のボタンがある座標を
クリック、ってことね。
280Pっ:02/09/08 02:02
>>279
なるほど・・・
Hwnd取ったあとでその座標情報を取得して
その位置に合うXとYを指定してメッセージ送信っと。
どうやらわかった気がします。どうもありがとう。
281デフォルトの名無しさん:02/09/08 11:05
MSHFlexGrid1である範囲の背景色を変えたいんですが
今は .Row  .Colでフォーカスを移動して.CellBackColor で色をつけてるんですが表示が遅いです。
なんとか早くしたいんですが。
282名無し~3.EXE:02/09/08 11:39
>表示が遅いです。
ビデオカードを容量の大きいのに変えろ。
283Inetコントロールで:02/09/08 12:08
HTMLデータをExecuteで取得しているのですが、質問があります。
・Proxyを使う場合は、Proxyプロパティに「Host:Port」って形に入れさせて、IcNamedProxyにすればOK?
・先にそのHTMLデータの全体の容量を調べてからInetでExecuteして、
 「現在35%読み込み済」ってやることは可能?

図々しいですがよろしくおねがいしますー。
>>283
さぁ、実験だ!というのは無しですか?
>>281
アレは何やっても遅いよ。
286Inetコントロールで:02/09/08 12:33
>>284
これでもイロイロ試したんですけどね
Proxyがちゃんと効いているのかどうやって調べれば良いのか分かりませんし。
Google検索でも出ないしヽ(`Д´)ノ
287281:02/09/08 13:13
>>285
そうなんですか。
あきらめますた。
288281:02/09/08 13:16
最大化ボタンを押したときのフォームの大きさを指定したいんですがどうしたらいいですか?
289Inetコントロールで:02/09/08 13:37
すみませんProxy使えました。
でも疑問点残りまくり・・・
一回目にProxyでアクセス
 ↓
二回目にダイレクトにアクセス

ってやっても、二回目の結果もProxyを使ったものになってしまう?
まるでひとつのInetには接続方法を一度しか設定できないかのように。
しょうがないのでInetを動的生成してやると上手く行ったのですが、なんか不満が残ります。
290デフォルトの名無しさん:02/09/08 15:07
初めて標準モジュールを使ってプログラム組んでいるのですが(VB6)
モジュールで取得した値をForm1で宣言した
Texe1.Textに出力し尚且つHairetu(100),Hairetucntで
Form1.Text1.Text = モジュールで取得した値
Hairetu(Hairetucnt) = Form1.Text1.Text
Hairetucnt = Hairetucnt + 1
みたいな感じでやりたいのですが
F5実行させると強制終了になってしまいます
初歩的なことで恐縮なのですがアドバイスお願いできますでしょうか?
>290
CopyMemory使ってないか?
使ってません。
ttp://vbvbvb.com/jp/gtips/0051/gSetClipboardViewer.html
を使用しています。
AAエディタを作りたいと思っています。
(あくまで既存のものに対抗するのではなくあくまでステップアップ的な意味で、です)
293291:02/09/08 16:00
んじゃどっかにバグがあるんでしょ。

一行ずつ実行してハングする所をチェック、だな。
めんどくせーけど。
294デフォルトの名無しさん:02/09/08 16:01
すみませんが、位置から基本だけを教えているサイトありませんか?どうも付いてきた本を見ても分からないし、本は高いし・・・どうか教えて下さい。探したけど見つからなかったんです。
295291:02/09/08 16:05
296デフォルトの名無しさん:02/09/08 16:08
ありがとうございました。何とかこの中で詳しいサイト見つけます。
めざせVBマスター(今更恥ずかしいですね)
297290:02/09/08 16:11
回答ありがとうございます
早速やってみるとします
あと
Hairetu(Hairetucnt) = Form1.Text1.Text
Hairetucnt = Hairetucnt + 1
のHairetuやHairetuxntはForm1で宣言しているのですがそのままモジュール内で使用しても問題なかったのでしょうか?
度々の質問で非常に恐縮ですがお願いします
298デフォルトの名無しさん:02/09/08 16:15
後もう一つ疑問ですが、Standardでソフトを作ったら有料ソフトにして良いのですか?
>>297
Formで宣言して Bas で使えてるって事は、Public で宣言してるんでしょ?
ならば平気。
300デフォルトの名無しさん:02/09/08 16:27
フォームにコマンドボタンを貼り付ける作業を
プログラム中で実現することは可能ですか?
もし可能ならばやり方を教えて( ゚д゚)ホスィ
301何すんのか知らんが:02/09/08 16:34
見えないコントロール配列でも一つ持っときなさいよ。
んで load して Visible = True 。
Private Sub Form_Activate()
  '最初に作っておくのはCommand1(0)のみ。
  Load Command1(1)
  Command1(1).Visible = True
  Command1(1).Top = 0
  Command1(1).Caption = "piyo"
  
  Command1(0).Top = Form1.ScaleHeight - Command1(0).Height
End Sub
>>288
サブクラス化してWM_GETMINMAXINFOを処理せよ。
>>300
VB6ならControls.Add
>>299
どうもありがとうございました。
306動画無料サンプル:02/09/08 18:28
盗撮モノ!!女子高生・OL・芸能人を隠し撮り!!
http://www.traffimagic.com/WIPE7MMLZCA/comein/FSJPN
>>306
マジで?
>307
ネット初心者ハケーン
>>306
>>307
>>308

    /∵∴∵∴\
   /∵∴∵∴∵∴\
  /∵∴∴,(・)(・)∴|
  |∵∵/   ○ \|
  |∵ /  三 | 三 |  / ̄ ̄ ̄ ̄
  |∵ |   __|__  | < うるせー馬鹿!
   \|   \_/ /  \____
     \____/
310288:02/09/08 19:51
>>303
ありがとう。
がんばってみます。
311VB初心者:02/09/08 21:11
質問させていただきます。

Dim s As Single

For s = 0 To 5 Step 0.1
List1.AddItem s
Next s

これを実行すると、リストボックスに 0.1 きざみで 0 から 5 まで
表示される……と思うのですが、
0.8000001
0.9000001
2.799999
などになってしまいます。これはなぜでしょうか?
よろしくお願いします。
漏れは祖父にはもう2,3年は逝ってない。3回ほど万引きに間違えられ
とてもムカついたからだ。他にも買取でモメたり云々・・・
店員の傲慢な態度、”顧客第一”というのはいったいどこへやら・・・
と、いうのを覚えてます。今は違うのかなぁ。
まあ、祖父にはもう二度と逝かないだろう。逝ってよかったことなどひとつも
なかったし。ジャンクは念願のじゃん☆☆神戸店ができたのでそっち行くし。
祖父の会員カードはハサミで2つに切って捨てたし。神戸じゃないけど
祖父っぽい店でしか手に入らないもんは姫路のアプラ井戸に買いに行くし。
それでも手に入らんものは日本橋まででるか通販で買うし。
祖父もバカよのう、漏れなら少なく見積もっても月5万はパーツ買う客だったのに。
313回避策は自己流で:02/09/08 22:10
>>311
そりゃパソコンの中身が二進数のコンピューターだから。

例えば、小数点以下 4 桁までしか扱えない二進数だと

二進数 十進数
0    0
0.0001  0.0625

こんな感じで 0 から 0.0625 までの十進数を表現できないと。

当然、もっと桁が増えれば差は縮める事が出来て、それが Single と Double で言う、精度の違いって事。んでもやっぱ誤差はあるのね。

まぁ、試しに上の条件で 0.1 を二進数で表現してみな。

# ていうか間違ってないよな…。;;
>>300 Thank You
>>301 Thank You
>>304 Thank You
315デフォルトの名無しさん:02/09/08 23:47
質問いいでしょうか。
本でみたコードなんですがよくわかりません。

r = color And &HFF
g = (color \ &H100) And &HFF
b = (color \ &H10000) And &HFF

color はあるピクセルの色を取得したものです。
これはなにをやっているのでしょうか。
>>315
r,g,bそれぞれに
R=色のR値
G=色のG値
B=色のB値
を代入している。
>>316
シンプルですばらしい回答ですな。


>>317
論理演算はプログラムの基本なので興味があれば勉強してみるのが吉。
そんなの知らなくてもプログラム組めるじゃん。とか言ってると簡単に行き詰まるよ。
318デフォルトの名無しさん:02/09/09 00:16
VB6を使っているんですが、
KeyPreview で、tab と、Shift + tab がつかめないんですが、

tab が押されたのを判断するにはどうすればいいんでしょうか?
319315:02/09/09 00:18
>>316 , 317
ありがとーっす。勉強してみます。
>>318
↓API使えば、できるよ。

Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
321:02/09/09 10:45
>>318
普通にできるはず。KeyCode = 9 Shift = 1
KeyPressイベントでやってない?KeyDown or KeyUpイベントでやりましょう。
322デフォルトの名無しさん:02/09/09 11:27
大佐の人生♪
あっぱれあっぱれあっぱれあっぱれ大変だ♪
323デフォルトの名無しさん:02/09/09 12:45
大学のVB6.0で作ったプログラムのファイル一式を自宅のVB6.0(アカデミック)で編集する事はできたのに、
大学図書館のVB6.0SP3だと読み込んだらVBが勝手に終了してしまいます。なぜでしょう?
324デフォルトの名無しさん:02/09/09 13:07
>>323
SP6にしてみたらよ?
325324:02/09/09 13:07
SP5の間違いですた
326323:02/09/09 13:34
>324
図書館のバージョンを勝手に換えるわけにはいかないです。
しかたないので研究室のパソコンの順番待ちをします。
どうでもいいが貧乏な大学だな・・・。
うちマシン普通に余ってるけど・・・。
328デフォルトの名無しさん:02/09/09 13:54
指定した時間がきたら、処理を行うプログラムを作りたいのですが、
timeステートメントで時刻を常時監視するしかないのでしょうか?
時間がきたら、OSから通知させる方法ってありますか?
>>328
settimerは一定時間後にOSから連絡があるね。
じゃあタイマーコントロールでいいじゃんというお話。
330デフォルトの名無しさん:02/09/09 14:34
>327
うちは分析屋だから分析機やその端末がメインなんだよ。
普段は必要な人がワードとエクセルを使うだけ。
331デフォルトの名無しさん:02/09/09 15:19
VB6.0 ADO+Oracleでストアドプロシージャから
件数が複数ある戻り値を取得したいのですが、上手く行きません。
どこが間違っているかご指導お願いできますでしょうか。

Set objADOcmd = New ADODB.Command
Set objADOcmd.ActiveConnection = cnn
 objADOcmd.CommandText = "tst_Get_Cursor_pkg.tst_Get_Cursor"
objADOcmd.CommandType = 4
 Set p0 = objADOcmd.CreateParameter
p0.Direction = adParamOutput
p0.Type = adChar
p0.Size = 19

Set p1 = objADOcmd.CreateParameter
p1.Direction = adParamOutput
p1.Type = adInteger

objADOcmd.Parameters.Append p0
objADOcmd.Parameters.Append p1
objADOcmd.Execute
MsgBox p1.Value
332 ◆AeRNbA9k :02/09/09 15:35
VB5 SP3でやってます。
コモンダイアログボックスを表示(.ShowSave)すると画面の左上に表示されます。
画面中央に表示させたいのですが、何かいい方法はないでしょうか?
333デフォルトの名無しさん:02/09/09 16:02
VBでAccessDBからデータ引っ張ってきて、それをExcelに出力し、
最後にそのExcelを表示しようとして
exlApp.Visible = True
としたのですが、なぜかExcelの枠だけが表示され、
セルの部分が透明になって表示されません(一つ下のウインドウが見えています)。

メニューバーとツールバー及び、数式バーは普通に表示されており、
セル部分も透明なのを除けば、通常通りクリックすると数式バーに値が表示されます。

何が悪いのでしょうか。
>>333
VBからEXCELファイルを新規作成した時、俺も同じ現象に陥った。
試行錯誤した結果あきらめた。
あらかじめ、ファイルを用意しておけば問題ない。
>>333
WorkBookをAddしてないからじゃない?
>>335
俺もそう思う。そんなに難しい問題じゃなかったはず。
>>333
CreateObjectやNewを省略して暗黙のインスタンスを使ってるから。
338:02/09/09 16:51
>>331
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set rs = objADOcmd.Execute
で後はrsを参照
339デフォルトの名無しさん:02/09/09 16:57
教えてください。
フォームのテキストボックスは、indexによって1次元の配列はできると思いますが、
2次元の配列は作成可能ですか?

それが無理でしたら、
プログラム側の2次元データを、
フォーム側の2次元の表(1個1個独立したテキストボックス)に表示する
簡単な方法はありませんか?
340331:02/09/09 17:13
>>338さん

レスありがとうです。
ごめんなさい、全然解らないです。。。

 objADOcmd.Parameters.Append p0
 objADOcmd.Parameters.Append p1
 objADOcmd.Execute
 を

objADOcmd.Parameters.Append p0
 objADOcmd.Parameters.Append p1
Set rs = New ADODB.Recordset
Set rs = objADOcmd.Execute
MsgBox rs.Fields(0).Value

に変えてみましたが、こう言う事であってるでしょうか。
でも動かなかったので間違ってますよね・・・
すいません、詳しく教えていただけますでしょうか。
341333:02/09/09 17:26
>>335-336
Addしてます。
>>337
Set exlApp = New Excel.Application
ですよね?これもやってます。


一度Excelアプリケーションごと閉じて、再度開くと
普通に開くことが出来るので、仕方なしにそれでやってます。。。
>>341
dim xl as object
set xl = createobject("excel.application")
xl.workbooks.add
xlapp.visible=true

でとりあえず表示できたけど、だめ?
343334:02/09/09 17:35
>>333
↓これで出来たよ。

Dim objExcel As Object
Dim objBook As Object
Dim objSheet As Object

Set objExcel = New Excel.Application
Set objBook = objExcel.Workbooks.Add
Set objSheet = objBook.Worksheets(1)

objExcel.Visible = True
344333:02/09/09 17:41
>>342-343
ありがとうです。
お2人の書かれている事とほぼ同じことをしています。
そして、内部の処理をすっ飛ばすと、問題なく表示されるようです。
何が悪いのか自分で調べます。
ありがとう。
345337:02/09/09 17:58
>>341
> Set exlApp = New Excel.Application
> ですよね?これもやってます。
これもだけど、
exlAppのメンバとして書かないといけないところを
うっかりミスで省略してしまった時も、
暗黙のインスタンスを使っていることになるよ。

具体例としては
  exlApp.Range(exlApp.Cells(1,1), exlApp.Cells(1,2))
と書くべきところを
  exlApp.Range(Cells(1,1), Cells(1,2))
と書いてしまっていたり。
346:02/09/09 19:00
>>340 どこでどんなエラーが出るの?
347_:02/09/09 19:20
とあるアプリを作っていて
マウスジェスチャーを実装しようと思うんですが・・・作り方にちょっと迷っています。
出来る限り誤審がなくて、上下左右を複数回数いくらでも調べれれば最高なんですが。

どういう方法でやるのがスマートだと思われますか?
とりあえず、出来れば何でもいいってのもありますが。
GetCursorPosとタイマー使って仮想ラインを考えて判断
349デフォルトの名無しさん:02/09/09 20:13
どなたか、お願いします。
フォームのテキストボックスは、indexによって1次元の配列はできると思いますが、
2次元の配列は作成可能ですか?

それが無理でしたら、
プログラム側の2次元データを、
フォーム側の2次元の表(1個1個独立したテキストボックス)に表示する
簡単な方法はありませんか?
350デフォルトの名無しさん:02/09/09 20:24
>>317
細かいツッコミで申し訳ないけど、「論理演算」ではなく、「ビット演算」でしょ?

ついでに、(>>317さんは当然ご存知かと思いますが)VBの論理演算子は短絡評価できない
点にも注意。(論理演算子とビット演算子が兼用だから)
(VB.NETでは、短絡評価用の演算子が追加されました)
>>349
テキストボックスで表を作るなんて仕様では
みんな相手する気にならないんだろうな、きっと。
352349:02/09/09 20:58
>>351

一般的には、どういう方法をとるんですか?
初心者なもんで、教えてください。
353デフォルトの名無しさん:02/09/09 21:01
354デフォルトの名無しさん:02/09/09 21:02
>>352

どんな趣旨、目的で、どんなカタチのモノを作ろうとしているのか、意図する
ところがサパーリわからんので、コメントのしようがありません。

> 初心者なもんで、教えてください。
初心者なら、大いに勉強するよろし。
355349:02/09/09 21:09
>>354

10*6の2次元配列のデータを、フォームに表示したいです。
フォームからの入力は無く、表示だけです。

どういった方法が、良いのでしょうか?
>>355
Print
357デフォルトの名無しさん:02/09/09 21:19
>>355

> 10*6の2次元配列のデータを、フォームに表示したいです。

それは「手段」であって、「目的」ではない。

こちらは、「どこに、何しに行くのか?」と聞いている(当然、
「東京に彼女に会いに行く」、といった答えを期待している)
のに、君は、「10:06の発の「のぞみ」に乗りたい」と答えている
ようなものだ。

日本語が読めるなら、
>>354
を16回ほど読み直しなさい。
>>357
きみもちょっとおかしいよ。
東京に行く手段を聞いてるのに、彼女に会いに行くって答えられても困る
>>349 が舌足らずなのは、良いとして >>357 も結構脳足らずだな。
「東京に彼女に会いに行く」のが手段ではなくて目的だとか言ってるが、
実は最終目的である「彼女と一発やる」と言う目的のための手段とも言え
るぞ。
まあ本人が、「10*6の2次元配列のデータを、フォームに表示したい
です。」って言ってんだから、素直に 60個 テキストボックス (入力無い
なら、ラベルでもいいかな) のコントロール配列作って、
TextBox1(10 * 行 + 列) みたいにしてアクセスりゃ良いんじゃない ?
(行/列は、反対かも知れんが...。) まあ、俺なら面倒だから FlexGrid
コントロールあたりを使うと思うけど...。
>>359
>>351の時点でその書き込みをしていたら、いい人になれたのにね。
>>349
まさか何十個もテキストボックスをフォームにペタペタすんの?
リソースの無駄使いだよ。フレキシブルグリッドとか使った方が良いと思われ。
又は自前で格子を描画するとか。
間違いなくそのプログラムは構造上問題がありますよ。
だが実際、そういうVBアプリをよく見かけるという罠。
そんなことするからVB厨とか言われるんだよな(藁
363349:02/09/09 22:06
どうもありがとうございました。
flexgrid というのでやってみます。

舌足らずで失礼しました
てか表示だけならわざわざテキストボックス並べる事もないだろ。
>>321
TABキーはWindowsが拾うから、
TabStop=Trueなコントロールを複数置いている場合は
KeyPreview=Trueにしてる状態でKeyDownでも拾えない。

>>332
ttp://www.kit.co.jp/vbit/QAndA.htm

>>350
>細かいツッコミで申し訳ないけど、「論理演算」ではなく、「ビット演算」でしょ?
ビット演算自体が論理演算だぞ。

>>358 >>359
355の
>10*6の2次元配列のデータを、フォームに表示したいです。
が実装レベルの得られる結果を言ってるのに対して、
354の求めるものは、それの利用目的を聞いているだけだろって357の
ツッコミは妥当だと思うぞ。

>「東京に彼女に会いに行く」のが手段ではなくて目的だとか言ってるが、
>実は最終目的である「彼女と一発やる」と言う目的のための手段とも言えるぞ。

本論から離れてるだろ。君の言うところは、3番だな。
1.実装 10*6の2次元配列のデータを、フォームに表示
2.機能 マスタメンテ用の項目A〜Zを表形式で入力するUI作成
3.目的 システムを作ることで利益を上げる
テキストボックスで表を作成した例ね。
ttp://www.woodland.co.jp/erp/V3.htm
>>366
> 3.目的 システムを作ることで利益を上げる
システムを作ることで利益をあげて、来年は上場だ !!
利益をあげることだって、単なる手段とも言えるんだよ。
同じ事柄でも、見方によって違うって言うのが理解できないの ?
>>365
> ビット演算自体が論理演算だぞ。
「ビット演算」とは、「ビット毎の論理演算」の通称で、通常言う論理演算とは
別物。>>350 も、短絡評価とか書いてるんだから、それぐらい理解してやれや。
>>368
354の意図がそんなところにあったと君は思うわけ?
371369:02/09/10 00:27
>>369
読み直すと、ちょっと意味の取り間違えそうな文章だ。
× >>350 も、短絡評価とか書いてるんだから、それぐらい理解してやれや。
>>350 には、短絡評価とかも書いてるんだから、>>365 もそれぐらい理解し
てやれや。
372365:02/09/10 00:37
>>369
>「ビット演算」とは、「ビット毎の論理演算」の通称で、
もちろん、おれもそれは知った上で突っ込んでる。

>通常言う論理演算とは別物。
350がそう言いたいのだろうということも理解した上で突っ込んでる。

350>「論理演算」ではなく、「ビット演算」
ビット演算も論理演算(の一種)だから、
「正確に言うなら論理演算というよりもビット演算」
という方が妥当だし、誤解もない。

350>(論理演算子とビット演算子が兼用だから)
兼用なのではなく、ビット演算子しかない。そして、それは論理演算子とヘルプでは呼ばれている。
#前橋本のJavaにはポインタしかないって主張と似たこと言ってるな・・・
#漏れもDQNだ・・・逝ってきます

ま、半分ネタみたいなもんだから、気にするな。
>>317はあえてネタフリで論理演算って書いたんだろ。
良かったな。たくさん釣れて。
374:02/09/10 09:06
>>365 あら。Sorry
375332 ◆AeRNbA9k :02/09/10 10:01
>>365
ありがとー。
>>373
八つ当たり(・へ・)イクナイ
377331:02/09/10 11:14
>>346
レスが遅くなって申し訳ありません。

Set rs = objADOcmd.Executeの部分で、引数が正しくないと言うエラーが出るのですが、
間違いなく引数の数は合っているのです。
なので、SQLの検索結果の値が複数あることが要因なのかと思ったのですが、
値が複数ある場合、戻り値の取得の仕方は変えなければならないのでしょうか。


378357:02/09/10 11:18
>>359
俺は脳足らずじゃねえよ!!糞野郎!!
379デフォルトの名無しさん:02/09/10 11:28
コマンドボタンを見えない状態(Visible=true)すると不可視状態って言うじゃないですか?

コマンドボタンとか押せない状態(Enable=False)にした状態を日本語で言うと
なんて言いますかね?
>>377
>Set rs = objADOcmd.Executeの部分で
テーブル名とか伏字でもいいから書いてほしかったりする
>>379
無効
382デフォルトの名無しさん:02/09/10 12:04
>>378

なりすましはヤメレ。

・・・コテハン使うべきか?
383デフォルトの名無しさん:02/09/10 12:42
例えば
If 増やしたい時 Then
Count = Count + 1
list1.additem Count
EndIf
のようにしてリストボックスの項目を増やしていく時
上記の場合だと
┏━┓
┃..1.┃
┃..2.┃
┃..3.┃
┃..4.┃
┗━┛
と言う感じになりますが
これを
┏━┓
┃..4.┃
┃..3.┃
┃..2.┃
┃..1.┃
┗━┛
と言った感じに上から追加ってなことって出来ないんでしょうか?
カウントダウンすりゃいいじゃん。
Count = Count - 1
って。
ごめん間違い。
List1.AddItem Count, 0
コッチがあたり。
>>383はヘルプでAddItemを調べたことがあるのだろうか?
388383:02/09/10 12:52
当方の怠慢故に皆様のお手を煩わせたことを先ず謝罪いたします。申し訳ございませんでした。
ソレにもかかわらず回答、アドバイスしてくださった>>385-387さんには深くお礼申し上げます
ありがとうございました
389デフォルトの名無しさん:02/09/10 13:01
>>387
IDEの使い方で最初に憶えなければいけないのが、[F1](ヘルプ)、
[F2](オブジェクトブラウザ)、[Ctrl] + [G](デバッグウィンドウ)、
[Shift] + [F2](定義元へのジャンプ)あたり。
新人教育担当の方、よろしく。
390デフォルトの名無しさん:02/09/10 13:32
ピクチャーボックス内で画像をスクロールさせたかったので
MSDNの<スクロール バー コントロールの使用例
: スクロール可能なグラフィックス ビューポートの作成>
のコードをそのままコピーして実行したんですけど、
スクロールバーが出現してくれないんです。画像はでるんだけど。
もちろんウィンドウよりでかい画像を表示させようとしてるんですが。
考えられる理由ありますか?
>>390
「子ピクチャの全体が画面に表示できるかどうかを判別します。
表示できる場合、スクロール バーは不要です。」って書いてる。
フォームサイズを小さくするか、以下のコードをコメントすれば出るよ。
VScroll1.Visible = (Picture1.Height < Picture2.Height)
HScroll1.Visible = (Picture1.Width < Picture2.Width)
392デフォルトの名無しさん:02/09/10 15:12
>>391
その2行コメントにしたり、フォームサイズ小さくしたんですけど
どうにもスクロールバーはでてくれません。
なんででしょうか?

標準もじゅるってSingletonだったんすね。

もじゅる名.ぷろぱち名 = 値
上のコード動いた。
プロパチ名 = 値
だけでも動いてしまう罠。
395発破:02/09/10 16:00
HTMLやXMLを記述することをプログラミングと言わないのは
何故ですか??
396デフォルトの名無しさん:02/09/10 16:03
メールボムってどうやって入手したらいいですか?
>>396
ネタやるなら住人のノリの良い板に行った方がいいと思われ。
>>396
自分のメアド晒せば簡単に手に入る。やってみろ。
>>395
ネタかと思ったがマジらしいな。
HTMLもXMLもマークアップ言語でプログラミング言語ではない。
それからマルチすんな氏ね。
400347:02/09/10 18:24
>>348
反応遅くなってすみません。
なるほど。やっぱりカーソル位置取得する関係上GetCursorPosは必須ですか。
にしても「仮想ラインを考えて判断」って、俺の蟹味噌にはチンプンカンプンです・・・
どうやって判定するといいんだろ。適当に作ってみたんですがぐちゃぐちゃになっちゃったw
とりあえずもう一度組み直してみるです。
401デフォルトの名無しさん:02/09/10 21:06
16776960をRGB(■,■,■)にしたいんだけど■の部分が知りたいんだけど
どうしたええの( ゚д゚)
402デフォルトの名無しさん:02/09/10 21:07
>>401
共用体
>>401
256*256*256
404デフォルトの名無しさん:02/09/10 21:48
シーケンシャルモードで任意の行数を読み込ませるにはどうすればいい
のでしょうか?
ランダムモードだとgetでレコードを指定すれば出来ますが、シーケンシャルモード
で8行目を読ませたい等と言うときは・・・
全部読み込んで改行数えるなりsplitで取り出すなりどうぞ。
406デフォルトの名無しさん:02/09/10 22:08
VBScriptのコーディング規約みたいなのって
どっかにないでしょうか?
407デフォルトの名無しさん:02/09/10 22:55
>>406
VBに準ずる(殉ずる、ではない)でよいと思う。
具体的には、VB用のコーディング規約を基に言語仕様上の相違点(例 : VBScriptでは
アーリーバインドができない)を考慮しつつ変更を加えればよい。
408デフォルトの名無しさん:02/09/10 22:56
アイコンの変え方なんですけど、
各ダイアログや、メインで使用するフレームは変える事ができたんですけど、
「ALT」+「TAB」で出る大きいアイコンの変え方が分らないんですよ。
お願いします。
409デフォルトの名無しさん:02/09/10 22:58
>>404
ループで読んで、8回目。
>>405
>>409
サンクスです。もう一度試行錯誤してみます
411デフォルトの名無しさん:02/09/10 23:28
>>392
バーを貼る位置が間違ってると思われ。

412:02/09/11 01:15
>>408
メニュー プロジェクト>***のプロパティ をクリック
ダイアログ「実行可能ファイルの作成」タブにアイコンを設定する所がある。
それとフレームじゃなくてフォームね。
413331:02/09/11 09:19
>>380さん

あ、そうですね。すいません。。
テーブル名は tst_meisai

項目は
tst_meisaiID,tst_itemnun,tst_part,tst,amount,tst,tst_comm,tst_cost,tst_date

ストアドの内容は、戻り値が二つで、全件検索でtst_dateと成否を01で返してます。
414デフォルトの名無しさん:02/09/11 09:37
金がないのでVB買えません。
IE+VBScriptでもVBの勉強はできますか?
415:02/09/11 09:41
>>413
tst_dateってことは引数はDate型じゃないの?
検索条件は渡さなくていいの?

そのストアド、動作確認はされてる?
他のストアドはちゃんと動いてる?
416:02/09/11 09:44
>>415 引数じゃなくて戻り値だ。ごめん。
417:02/09/11 09:46
>>414 VBAのほうがいいんじゃない?
418デフォルトの名無しさん:02/09/11 11:24
最近のRDBほどの機能は必要ないけど、テキストファイルじゃ役不足。
そんな時に使えそうな、動作・サイズが軽いDB(?)って無いでしょうか?
419デフォルトの名無しさん:02/09/11 12:06
>>418
> 最近のRDBほどの機能は必要ないけど、テキストファイルじゃ役不足。
どーゆー機能が必要かによる。
一意のキーで項目を取得したいならiniファイルでいいようなきもするけど。
420デフォルトの名無しさん:02/09/11 12:21
ControlとObjectの差を教えて下さい。
 Dim t1 As TextBox
 Dim t2 As Control
 Dim t3 As Object
であれば、上から順に処理が早い気がします(正確には分かりません…)が、
下2つの意味がカブっているように思えて仕方ないっす。
421デフォルトの名無しさん:02/09/11 12:29
>>420
>  Dim t1 As TextBox
>  Dim t2 As Control
>  Dim t3 As Object
> であれば、上から順に処理が早い気がします(正確には分かりません…)が、
> 下2つの意味がカブっているように思えて仕方ないっす。
どちらかっていうと上2つの意味がカブってる。
Objectはデータ型で、その他二つはオブジェクトのアーリーバインディング。
422初心者:02/09/11 12:35
一個のWinsockで1対nのチャットを作りたいんですけど、
どうすれば1対nでできるかわかりません。
おすえてくださいお願いしまふ
>>422
>どうすれば1対nでできるかわかりません。
友達を作る
>>421はネタ。
425:02/09/11 13:10
>>420
上は事前バインディング、中・下は実行時バインディング。なので上が速い。
中・下は確かにカブってるが、下はコントロール以外のオブジェクトも使えるという違いがある。
426デフォルトの名無しさん:02/09/11 13:46
すみません。とあるプログラムで登録、更新、削除、検索、終了の機能を持った
ものを作っているんですが、Case文でF1で登録・F3で終了・F6で更新・F9で削除
というふうにしたつもりなのですが

Private Sub ○○_KeyDown(KeyCode As Integer, Shift As Integer)
Dim KeyAscii As Integer
KeyCode = (Case文のある関数名)(KeyAscii, KeyCode)
End Sub

Private Function (Case文のある関数名)(KeyAscii As Integer, KeyCode As Integer) As Integer
Select Case KeyAscii
Case KeyCode = vbKeyF1
(登録の関数名)
Case KeyCode = vbKeyF3
Unload Form1(終了)
Case KeyCode = vbKeyF4
(初期化の関数名)
Case KeyCode = vbKeyF6
(更新の関数名)
Case KeyCode = vbKeyF9
(削除処理の関数名)
Case KeyCode = vbKeyReturn
(検索の関数名)
End Select
End Function

でコーディングしたのですが、うまくいきません・・・。
どの部分が間違っているのでしょうか?
427デフォルトの名無しさん:02/09/11 13:47
ちなみにIf文で

Private Sub ○○_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
(登録の関数名)
ElseIf KeyCode = vbKeyF3 Then
Unload Form1(終了)
ElseIf KeyCode = vbKeyF4 Then
(初期化の関数名)
ElseIf KeyCode = vbKeyF6 Then
(更新の関数名)
ElseIf KeyCode = vbKeyF9 Then
(削除処理の関数名)
ElseIf KeyCode = vbKeyReturn Then
(検索の関数名)
End If
End Sub

とコーディングした際にはちゃんとどの機能も動作しました
428:02/09/11 14:04
>>426 >>427
KeyAsciiの値が常にゼロだから。
宣言しただけで値入れてないでしょ。
429:02/09/11 14:10
いやそれだけじゃないな。なんじゃこのSelect文は。
これだとF1時に終了、それ以外は登録になる!?
430:02/09/11 14:16
はい。
Private Sub ○○_KeyDown(KeyCode As Integer, Shift As Integer)
(Case文のある関数名) KeyCode
End Sub

Private Function (Case文のある関数名)(KeyCode As Integer) As Integer
Select Case KeyCode
Case vbKeyF1
(登録の関数名)
Case vbKeyF3
Unload Form1(終了)
Case vbKeyF4
(初期化の関数名)
Case vbKeyF6
(更新の関数名)
Case vbKeyF9
(削除処理の関数名)
Case vbKeyReturn
(検索の関数名)
End Select
End Function

431426:02/09/11 14:16
>>428&>>429
レスありがとうございます。
>>429さんの言うとおりF1を押すと終了でそれ以外は登録処理を行うような動作をします。
なぜなのか理屈がわからない・・・
432:02/09/11 14:27
>>431
さっきも書いたけどKeyAsciiの値が常に0。
そしてVBでTrueは-1、Falseは0。
F1の時
  KeyCode = vbKeyF1はTrue、=-1、<>KeyAscii。
  KeyCode = vbKeyF3はFalse、=0、=KeyAscii。
なのでCase KeyCode = vbKeyF3の処理をする。
F1以外の時
  KeyCode = vbKeyF1はFalse、=0、=KeyAscii。
なのでCase KeyCode = vbKeyF1の処理をする。
433426:02/09/11 14:33
>>432(神!)
ありがとうございました。>>430の通りコーディングした結果ちゃんと動作しました。
理屈を覚えないとまた同じ繰り返しになるのでこれからじっくりと解析してみます
434デフォルトの名無しさん:02/09/11 14:34
DBから帳票出力する際に、処理に時間がかかるので、
「出力中なのでしばらく待ってね」
みたいなこと書いた小さいフォームを前に出して、バックで
処理を行いたいのですが、この時、小ウインドウをモーダルで開き、
その他の部分に触られたくないと思うものの、モーダルだと
処理も止まってしまうので困ってます。
こういう場合、一般的にはどういう処理を行うのでしょうか。
435デフォルトの名無しさん:02/09/11 15:04

SPREADで、特定のセルにフォーカスを当てたいときはどうすればいいですか?

よろしくです。
436:02/09/11 15:13
>>434 一般的かどうか知らないけど思いついたものを。
Form1.Enabled = False
Form2.Show
Form2.Refresh
時間のかかる処理
Unload Form2
Form1.Enabled = True
437:02/09/11 15:23
>>435
fpSpread1.Row = ???
fpSpread1.Col = ???
fpSpread1.Action = ActionActiveCell
438FIGHT:02/09/11 15:38
現在VB6.0とアクセスを使用しております。
  Set cn = New ADODB.Connection
Set sRs = New ADODB.Recordset
With cn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & path
.Open
.CursorLocation = adUseClient
End With
strSQL = "SELECT Table.*FROM Table
sRs.Open strSQL, cn, adOpenStatic, adLockOptimistic
上記のように記述して[sRs]にレコードをセットしているのですが、
sRs.Delete
をした場合に下記のようなエラーがでます。この現象は一回Updateで
DBに登録して、その登録したものに対して削除かけようとしたら発生します。
でまた、プロジェクトを閉じて、再度実行してデリートすれば下記のエラーは発生しません。
このような経験のある方のアドバイスよろしくおねがいします。
実行時エラー21247217864
行がみつからなかったため、更新できません。列の値は最後に読み込まれた後で変更された可能性があります。

439デフォルトの名無しさん:02/09/11 15:40
>437

即レスサンクス!!
>>438
sRsが指し示すレコードがなかったんでしょ。
.BOF/.EOFのチェックしてる?
441418:02/09/11 15:45
>419
なるほどiniファイルも小さなデータベースとして使えますね!メモメモ。

機能としては、レコードの追加・削除・更新、あとは項目を指定してのソートと検索が出来れば文句無しだと思っています。
アプリ中のログ管理とか、ちょっとしたデータ管理とか、汎用的に使いまわせるようなものを探しています。
自分でクラスモジュールでも書いちゃったほうが早いですかね?
442:02/09/11 15:45
>>438 adOpenStaticをadOpenKeysetかadOpenDynamicに変えたら動いたりしないかな?
443FIGHT:02/09/11 16:00
>440
EOF,BOFともにFALSEであり、しかも削除するレコードも存在してます。
>442
わたしもこれをはじめにためしたのですが、結果は一緒でした。
444デフォルトの名無しさん:02/09/11 16:02
445デフォルトの名無しさん:02/09/11 16:04
XP+Access VBAについてです
テキストファイルへ文字列を出力するとき、ダブルコーテーションを(”)
つけないようにする方法はありますでしょうか?

どなたか、ご親切な方、ご教授くださいませ


今はどうやってんのよ
447:02/09/11 16:20
>>443 RequeryかResyncメソッド使ってみたら?
448445:02/09/11 16:32
>>446

今は OPEN WRITE でやってます
449FIGHT:02/09/11 16:42
>447
ありがとうございます。
一回登録するときに「Update」したあとに「Requery」かけたら
削除するときにエラーがでなくなり通常通り削除できました。
しかし前やったときはRequeryはしなかったのに削除できたんですけどね・・・。
こういう現象というのはあるんですね。
>>445

Dim fNum As Integer
Const fNm = "a.txt"

fNum = FreeFile
Open fNm For Append As #fNum
Print #fNum, "A"
Close #fNum
451445:02/09/11 16:50
>>450
有難うございました
452デフォルトの名無しさん:02/09/11 17:01
アドバイスお願いします。

メイン処理 と タイマイベント処理 があります。
メインがある処理まできたら、指定した時間がくるまでメインの処理を中断して、
タイマイベント処理で、その指定した時間がきたかチェックして、
時間がきたらメインに通知して処理を再開させたいです。

タイマ側での時間の経過チェックの方法まではわかったのですが、
メイン側でどうやって処理の中断をして、
タイマ側でどうやってメインの処理を再開させればいいのかがわかりません。

よろしくお願いします
453:02/09/11 17:02
>>449 根本的解決じゃないからスッキリしないな・・・何か原因があるはず・・・
みなさんとても親切ですね。知識もありますし。
プロとして開発やってたりする人達なのかな・・・?
455デフォルトの名無しさん:02/09/11 17:20
VB6.0でシステムトレイに納めるにわどうしたらいい?
456421:02/09/11 17:32
>>424
> >>421はネタ。
ネタじゃないのに。。。

オブジェクトブラウザではTextBoxもControlもクラスとされています。
TextBoxのスーパークラスがControlでしょ?
であるから
>  Dim t1 As TextBox
>  Dim t2 As Control
>  Dim t3 As Object
の一番の差異は上二つがインスタンス生成、一番下がオブジェクト型の変数生成であることだと
おもったのですが。。。
ていうか、>>421の表現はまちがってますね。(^^;

識者の方のご意見お願いします。m(_ _)m
458419:02/09/11 17:37
>>441
> 機能としては、レコードの追加・削除・更新、あとは項目を指定してのソートと検索が出来れば文句無しだと思っています。

そこまでの機能が必要ならRDBMS使ったほうがよいとおもう。

> アプリ中のログ管理とか、ちょっとしたデータ管理とか、汎用的に使いまわせるようなものを探しています。
> 自分でクラスモジュールでも書いちゃったほうが早いですかね?

ログ管理はWindowsのシステムロギングをつかうのが楽。
>>452
簡単に言ったら、メイン処理を一定時間だけ中断したいってことでしょ?
460_:02/09/11 18:04
>>152
いちいちそんな面倒なことしなきゃいけない理由はお有りですか?
どうしてもTimerを使ってやる必要がある!ってならこのレス読み飛ばしてください。

APIのSleep使って一定時間処理止めてやってください。
461_:02/09/11 18:04
スマソ
152 > 452
462434:02/09/11 20:03
>>436
ども、>>434です。
FORM2で作業するんすね。
できれば、Windowsのジョブ自体止めたいですが、さすがに無理ですかね?
例えばAlt+Tab押しても切り替わらなかったり、ミ田キー押してもメニューでなくなったり。


しかし関係ないけど、この(*´д`*)アハァ… はいいなぁ。
見つけやすいし。
ずっと使って欲しい。
463デフォルトの名無しさん:02/09/11 21:44
ActiveXでサーバの役割をするアプリケーションを作ったのですが
呼び出し元のアカウント?が違うとそのアプリケーションにアクセス出来ません。
元々呼び出し元は一つだったのに気にして無かったのですが仕様が変わってしまい
しかも運用方法の制限が有ってDCOMCNFGでの設定をいじっても解決できません。
で、呼び出し元用に子EXEで作って常にAdminアカウント下で呼び出せば解決する
様な気がするのですがあってるでしょうか?(というか一つの呼び出し元ではアカウント
指定出来るので・・・)また実現方法等ありましたらご教授お願いしますm(_ _)m
464424:02/09/11 21:52
>>456
ネタじゃないなら一応マジレスしとくよ。

> TextBoxのスーパークラスがControlでしょ?
TextBox型の内部にControlインターフェイスが
実装されているという点だけ見れば間違いではないけどね。
でもそれはObject型でも同じ。

すべてのコントロールの、(IUnknownとかIDispatchを除いた)
カスタムインターフェイスの部分に共通して
「メンバ名に対するバイナリ互換性」がない限りは、
Control型のVTable経由で(つまりアーリーバインド)で
直接メンバを呼び出すことは不可能。

実際に、Control型は単にIDispatchに別名を持たせた
ようなもので、アーリーバインド用のメソッドは
持っていない。
つまり、Object型との違いは代入時の型チェックだけ。

> の一番の差異は上二つがインスタンス生成、
> 一番下がオブジェクト型の変数生成であることだとおもったのですが。。。

インスタンス生成っていうのは全然違うよね。
これらの宣言だけでは変数はインスタンスを生成しない。
あんたの言葉を借りれば3つとも「変数生成」です。

これらの変数にインスタンスを持たせるには、
Setステートメントでオブジェクト(インスタンス)を
参照する必要がある。
>>459-460
メインの処理を止めてる間に、違う事したいんじゃないのかな ?

Sub Form_Load()
 Call メインの処理_途中まで。
 Timer1.Interval = 待ち時間
Timer1.Enabled = TRUE
End Sub

Sub Timer1_Timer()
 Timer1.Enabled = FALSE
 Call メインの処理_続き
End Sub

みたいじゃダメか ?
466421:02/09/11 22:38
>>464
THX!
理解できました。
467デフォルトの名無しさん:02/09/11 23:42
ソフト側でマウスをコントロール(ポインタを強制的に移動したりクリックさせたり)するにはどうすればいいんですか?
>>465
>メインの処理を止めてる間に、違う事したいんじゃないのかな ?

だったらメインからサブを呼べば済む話じゃないの?
>>452は何度読んでも、処理を中断したいだけとしか思えん。
っていうか、肝心の452のレスがないなあ。
469465:02/09/12 00:14
>>468
> だったらメインからサブを呼べば済む話じゃないの?
ちょっと説明不足だっだね。メインの処理止めてる間に、ユーザーからの
入力を受けたりしたいんじゃないかな ? 例えば、初期設定終了後に、
10秒間テキストボックスへの入力を待って、入力された値で残りの処理を
するとか...。

まあ、いずれにせよ...
> 肝心の452のレスがないなあ。
ですねぇ...。
>>467
mouse_event
471デフォルトさん ◆oZf4cgA6 :02/09/12 04:07
今までMouseUpイベントでListView上の右クリックを処理していたんですが
ListViewを複数選択可能にして、右クリックで範囲選択しても
mouse_upにはならないようなんですよ。
デスクトップ上で右クリックで範囲選択すると、マウスボタン離した時にメニューが出ますが
あれと同じような動作をListView上でやりたいのです。
どうやったらできるのでしょうか。

それと、範囲選択してやると、もともと選択されていた部分も選択されたままになります。
えと、例えば最初にindex=2のアイテムが選択されている状態で
範囲選択で4,5,6を選択してやっても、2のアイテムまで選択状態のままです。
これの対処法もあると嬉しいんですが・・・

よろしくおねがしいます。
>>464
横からすいません。
"VTable" というものをはじめて知りました。文脈から大体の意味は取れるのですが、
内容を知らないので調べてみたいんですが、ちょっとだけヒントを貰えないでしょうか。
474464:02/09/12 10:53
>>472
ごめん。473が示してくれたのでわかると思うけど、
「仮想関数テーブル」の略称です。
これを略してV-Table、VTable、V-Tbl、vTbl
などと呼ぶことが多い。

すべてのCOMオブジェクトは仮想関数テーブルを持つ。
(C++の純粋仮想関数の概念がベースになっている)

VBで事前バインディングというと、通常は
「仮想関数テーブルバインディング」のこと、
つまり、カスタムインターフェイス経由での
呼び出しのことを指す。

(もう1つ「DISPIDバインディング」なるものも
あるけれど、こちらは内部実装としては
実行時バインディングの一種と呼ぶ方が相応しい)

とりあえずはこんなところで。わからなければまた。
>>474
そのC++互換のVTBLを受け取ることでCOMはC++ではクラスとして振る舞えるわけか。
476 :02/09/12 11:50
ActiveXコントロールでFormをもったものは 作成できるのでしょうか?

メソッドで そのFormを開いたり、
そのForm上のボタンを押すことにより、イベントを発生させいんですが、
どのようにすればいいのでしょうか?
477 :02/09/12 11:51
イベントを発生させたいんですが、

の 間違い
478 :02/09/12 13:49
ある領域に コントロールをたくさん貼り付けて、スクロールバーで閲覧するようにしたいのですが、
どのコントロールに貼り付ければいいでしょうか?
教えてください。
>>478
スクロールバーまでついている便利なコントロールは無い。
Frameに貼り付けて、VScrollなどを使って自作が基本。
他にもコンテナになるコントロールなら、例えばPictureに貼り付けても良し。
480 :02/09/12 14:51
>>479

スクロールの量と一緒に コントロールのtop等を変更するのでしょうか?
>>473
すばらしいポインタをどうも。
つか、申し訳ない...。

>>474
ありがとうございます。
大体イメージはつかめました。

>とりあえずはこんなところで。わからなければまた。
大分知ってることに近づいてきたようですし、キーワードも多いので、
しばらく自分で勉強してみます。

お二人ともありがとうございました。m(__)m
>>480
その通り。

…スクロールバーコントロールはコロコロマウスに反応しないんだよねぇ。泣ける。
483デフォルトの名無しさん:02/09/12 15:51
4桁の16進数を作りたいのですが、

例:
F → "000F"
FF → "00FF"

A = &HFF
B = Format(Hex(A), "0000")

とやっても上手くいきません。

B = "00" & Hex(A) とやれば良いのでしょうが、
桁数が多くなると大変です。

いい方法ありませんか?
B=Right("0000" & Hex(A), 4) は?
485デフォルトの名無しさん:02/09/12 15:56
>>484
できました。
知りませんでした。
助かりました。
ありがとうございました
486 :02/09/12 17:04
参照設定に追加したdll等を削除したいのですが、どうすればいいんでしょうか?
>>471 、無視モードでつか?(汗
ホント必要としてるんでお願いしますぅ
土下座でもなんでもするから・・・Googleのバカー!(何
>>471
> それと、範囲選択してやると、もともと選択されていた部分も選択されたままになります。
> えと、例えば最初にindex=2のアイテムが選択されている状態で
> 範囲選択で4,5,6を選択してやっても、2のアイテムまで選択状態のままです。

言っている意味がはっきりわかりませんが、
勝手にSelectedItem.Select=Trueになるということでしたら、

コンポーネントをWindows Commons Control 6から5に変更するとか
とりあえずMouseDown , MouseMove をトラップしてみるとか。
>>483
484のをさらに進化させて、
keta = 4
B=Right(String(keta,"0") & Hex(A), keta)
と書ける。

>>483
参照設定はずせばいいんでないの?
そのdllのファイルも消したいということなら、

regsvr32 /u そのファイルのパス

で登録解除してからファイル消すよろし。
490デフォルトの名無しさん:02/09/12 20:59
Inetコントロールを使って、2つのファイルをダウンロードしようとしてます。
1つめのファイルサイズが800バイト、
2つめのファイルサイズが500バイト、とすると、

2つ目のファイルをGet_Chunkした時、
1つ目のファイルの残骸(下300バイト)が2つの目のファイルの最後の方に入ってきてしまいます。

今は、GetChunkでバッファが空になるまで無条件に読み込んでいます。

Inetで”GET”したデータサイズを覚えておき、GetChunk する時にサイズ指定すれば
いい様に思いますが、GETしたサイズを知る方法ってありますか?

それとも、何か別のやりかたで、2つ目のファイルにゴミが入らないようにする方法があるのでしょうか?

どなたか、教えてくださいませ
491デフォルトの名無しさん:02/09/12 21:01
OLEで、エクセルグラフを読み込んだのですが、
ソフト側で作った乱数をOLEに代入して、
グラフ化するにはどうしたらいいのでしょうか?
ESCキー押したらフォームを閉じるなどのショートカットキーを
付けたい場合、どこにフォーカスがあるか分からないので、
全コントロールのKeyPressとかにコード書かないといけないのでしょうか。
それとも、もっと簡単な、ショートカットキー用に何かやり方があるのでしょうか。
>>492
メニューエディタでショートカットキーを割り当てるか
タイマーで監視ですかねぇ
494デフォルトの名無しさん:02/09/12 23:19
起動済みのプログラムでコマンドラインの因数取得(?)ってどうやるのでしょうか?
ソフト起動前ならForm_loadでcommandを取得すればよいのですが、
起動済みの場合どうすればいいのかわかりません。
>>492
FormのKeyPreviewをTrueにする。
そのうえで、Form_KeyDownトカで監視。
>>494
ひきすう
>>494
起動済みでもcommandを取得すれば入ってると思うが。
…っていうか、起動しなきゃ取得コードが動かない罠。
498デフォルトの名無しさん:02/09/12 23:48
ああ、引数ですね。しょっちゅう間違えるんですよ。
>>497
ん〜。どこがトリガーになるんでしょう?
>>498
えーと、トリガーもクソも、特別な変数 command を参照すれば、
いつでもどこでもコマンドライン引数は手に入りますが。
なんか勘違いしてる?
500デフォルトの名無しさん:02/09/12 23:57
いや、え〜と。
デスクトップにあるアイコンにファイルをドロップしますよね。
ソフトが起動してない状態でやると、ソフトが起動します。
で、Commandでドロップされたファイル名が分かります。
ソフトが既に起動されてる状態でドロップしても何も起きません。
どうやったらわかるんでしょうか、と。
>デスクトップにあるアイコンにファイルをドロップしますよね。
しません。
502500:02/09/13 00:09
>>501
いや、普通にしますって。
>>500
ソフトが起動している状態で、デスクトップアイコンにD&Dするとどうなる?
当然、もう一つソフトが起動するよね?
とすると、後から起動した方を終了させて、commandの内容をすでに起動している
方に送ってやらなきゃいけない。

DDE通信を使う方法がメジャーなので、調べてみるヨロシ。
DDEじゃなくても、プロセス間通信ができるなら何でもいいけどね。
504500:02/09/13 00:16
あっそうでした。新しく起動した方を終了させています。
DDEか。。難しそうですね
Form_LinkOpenだとかを使うのかな。
DirectXを使用してpng画像の表示方法を教えて欲しいです。
ツールが必要なら置いてある場所も教えて欲しいです。
506501:02/09/13 01:07
>>502
いや、そこ笑う所。
507デフォルトの名無しさん:02/09/13 01:17
ピクチャボックスに描画メソッドを使って書いた図形をセーブしたいのですが、
SavePicture Picture1.image "xxxx.bmp"では、図形がなくなってしまいます。
よい方法はないでしょうか?教えてください
>>507
Picture1.AutoRedraw=Trueになってる?
>>505
他に方法があるかもしれんが、なければlibpng使うとか。
for VBっつーDLLがあるみたい。

http://www.libpng.org/
>>505
http://www.akikuma.cx/Download.htm
ここのTransG32.dllってのを使うのもいいかもしれない。
ActiveXやDirectXじゃないからお気に召さないかもしれないがー。
511デフォルトの名無しさん:02/09/13 02:39
>>508さん ありがと!
解決しました。忘れてました。
キリ番げと。
ずさー
513 :02/09/13 10:39
RaiseEventを用いて、イベントを発生させてるんだけど、呼び出し側でイベントが発生しません。

ActiveX DLLの作成途中です。

呼び出し元は こんな感じです。
Public Event test(test1 As Long)

Friend Sub Click()
DoEvents
RaiseEvent test(1)
End Sub

呼び出し側です。
Private WithEvents objtest As testclass

Private Sub objtest_test(test1 As Long)
Label1.Caption = test1
End Sub

で ラベルに値がセットされません。
どうすればいいのでしょうか?
514デフォルトの名無しさん:02/09/13 11:41
ビバのバージョン6はまだ売ってるの?
515なきや:02/09/13 11:48
はじめまして、なきやと申します。

VBのディストリビューションウィザードのことでお聞きしたいのですが、
インストーラを作成し、それを使って他のマシンにPGをインストールし、
アプリケーションを使用中に、
エラー番号:-2147221164(80040154)
「クラスが登録されていません。」
のエラーが出てしまいます。
エラーの発生する場所は必ず、mdbファイルへの接続時です。

作成環境は
windows98SE/VB6 SP5/Access97/SQL6.5/ADO2.5
ADOでのSQLサーバ接続と、mdbファイルへの接続を行います。

実行環境は、
windowsNT4.0 SP5 のみをインストールした状態です。

いろいろ試してはみたのですが、一向にうまくいきません。
どなたか、解決法方をご存知の方いらっしゃいましたら、ご教授ただけないでしょうか?
よろしくお願いします。
>>514
IBMとかNECが買い上げて再販してくれりゃいいのに。
需要はかなりあると思うぞ。
>>515
>作成環境は
>windows98SE/VB6 SP5/Access97/SQL6.5/ADO2.5
>ADOでのSQLサーバ接続と、mdbファイルへの接続を行います。

>実行環境は、
>windowsNT4.0 SP5 のみをインストールした状態です。

答えでてるじゃん。
最近若い人の間で人気があると聞いたので、今日初めて
この2ちゃんと称する掲示板に来てみました。
一体何ですか?この下品で不健全な内容は。
他人の誹謗中傷ばかりで卑屈で歪んだ性格の人間ばかり。
何よりもひどいのはその不健全さ。
見るに耐えない絵文字や下品な言葉。
穢れのない清らかな子供達がこんな不道徳な掲示板をみて
悪質な犯罪者になったらあなたたちはどう責任をとるのですか?
いい加減にして下さい。
こんな掲示板1日も早く禁止処分にしてひろゆきを牢獄にいれる
べきです。わかりましたか。
519 :02/09/13 12:48
>>518
VB初心者にたいする あてつけか?(w
しかも 初めてきたとかいって しっかり 下げてるし。
>他人の誹謗中傷ばかりで卑屈で歪んだ性格の人間ばかり。
おまえモナー
>>519
ネタにマジレスする必要なし。放置しとけよ。
最近若い人の間で人気があると聞いたので、今日初めて
この2ちゃんと称する掲示板に来てみました。
一体何ですか?この下品で不健全な内容は。
他人の誹謗中傷ばかりで卑屈で歪んだ性格の人間ばかり。
何よりもひどいのはその不健全さ。
見るに耐えない絵文字や下品な言葉。
穢れのない清らかな子供達がこんな不道徳な掲示板をみて
悪質な犯罪者になったらあなたたちはどう責任をとるのですか?
いい加減にして下さい。
こんな掲示板1日も早く禁止処分にしてひろゆきを牢獄にいれる
べきです。わかりましたか。
522 :02/09/13 13:20
配列を使用したいと思うのですが、どれだけ領域を確保すればいいのかわかりません。
代わりに MSFlexGridを 使用してみようかと思うのですが、これは、何列まで可能なのか
わかりますでしょうか?
523なきや:02/09/13 13:21
>>517さん
すみません、初心者なもので、分かりません。
よろしかったら、詳しく教えていただけるとありがたいのですが・・。
524デフォルトの名無しさん:02/09/13 13:38
525デフォルトの名無しさん:02/09/13 13:44
テキストファイルの、ある行だけ削除したいという場合、どうすればよいですか?

今考えている方法は、
1 1行づつ読み込み新しいファイルに書き込む
2 削除したい行の時だけ書き込みをスキップする
3 最後まで書き込んだら、古いほうのファイルを削除
4 新しい方のファイルを、古いほうのファイル名へリネーム
という感じなのですが、もっといい方法があるような気がするのですが・・・
526デフォルトの名無しさん:02/09/13 13:44
>>523
初心者だっていうのは免罪符にならないってだれかが言ってた
俺もそう思う
参照設定だべよ?
527なきや:02/09/13 13:52
>>526
幾ら僕が初心者だからって参照設定くらいちゃんと
やってます。馬鹿にしないで下さい。


最近若い人の間で人気があると聞いたので、今日初めて
この2ちゃんと称する掲示板に来てみました。
一体何ですか?この下品で不健全な内容は。
他人の誹謗中傷ばかりで卑屈で歪んだ性格の人間ばかり。
何よりもひどいのはその不健全さ。
見るに耐えない絵文字や下品な言葉。
穢れのない清らかな子供達がこんな不道徳な掲示板をみて
悪質な犯罪者になったらあなたたちはどう責任をとるのですか?
いい加減にして下さい。
こんな掲示板1日も早く禁止処分にしてひろゆきを牢獄にいれる
べきです。わかりましたか。
>>527
>馬鹿にしないで下さい。

だったら自力でやれよ。
>>529
最近若い人の間で人気があると聞いたので、今日初めて
この2ちゃんと称する掲示板に来てみました。
一体何ですか?この下品で不健全な内容は。
他人の誹謗中傷ばかりで卑屈で歪んだ性格の人間ばかり。
何よりもひどいのはその不健全さ。
見るに耐えない絵文字や下品な言葉。
穢れのない清らかな子供達がこんな不道徳な掲示板をみて
悪質な犯罪者になったらあなたたちはどう責任をとるのですか?
いい加減にして下さい。
こんな掲示板1日も早く禁止処分にしてひろゆきを牢獄にいれる
べきです。わかりましたか。
>>513
なんか構成がわからんけど、
testclassのClickプロシージャが動作してるか
そこでDebug.Printしてみそ。

何かフォームなり、コントロールなりがクリックされたら、
testclassのClickが呼ばれるんだよね?
>>522
聞く前に試してみれば?
533なきや:02/09/13 14:18
>>527
? 私のフリをして変な書き込みしないで下さい。

参照設定は大丈夫だと思いますが・・。
visual basic for applicaions
visual basic for runtime objects procedures
visual basec objects and procedures
OLE automation
microsoft activeX data objects 2.5 library
microsoft data report designer 6.0
microsoft data formatting object library 6.0
以上を参照しています。

先ほど試しに、ADOでなくDAOでmdbへ接続したところ、
つながりました。
ただ、MSDataShapeを使用するのに、DAOでは無理じゃないか?
ということを聞きまして、ADOにしてあります。
これは本当に無理なのでしょうか?

534なきや:02/09/13 14:29
>>533
無理が通れは道理引っ込む
逆境ナインですか。
536 :02/09/13 14:51
>>531
>testclassのClickプロシージャが動作してるか
ちゃんとここは 通過します。
RaiseEvent test(1)も通ります。

>何かフォームなり、コントロールなりがクリックされたら、
>testclassのClickが呼ばれるんだよね?

その通りです。
通常、そのようなコーディングは どのようにするのでしょうか?



何か変な荒れ方してるね。
538:02/09/13 15:01
>>522
配列使った方がいいでしょ。Redimを調べてみて。
>>525
それでいいと思う。
>>533
OLEDBプロバイダが入ってないからだと思う。
>>536
コントロールのあるActiveXはOCXと呼んでいただけるとわかりやすい。
(ユーザインタフェースのない奴がActiveX DLL)

むー。あなたがどんなコントロールを作りたいのかわからない???
呼び出し元の方では、testclassを宣言しただけで、Newしてないとか?

複合コントロールの場合、普通はユーザコントロールに
ラベルなりボタンなりをぺたぺた貼り付けて、
ユーザコントロールに直接コードを書いて終了です。
ユーザ定義のイベントを発生させる場合もあります。

複雑な処理がある場合は、適当にクラスモジュールを追加しますけど、
クラスモジュールからイベントを発生させることは少ないですね。
TextBoxDecoratorとかであれば別ですが。
540デフォルトの名無しさん:02/09/13 15:23
ADOでMDBのデータの更新を行う際に下記の様にコーディングしました。
例えば更新かけたときにエラーが発生した場合どのような形で
エラーを取得すればいいんでしょうか?


lstrPath = App.Path & "\test.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & lstrPath & ";"

' レコードセット作成
lstrSQL = "select * from student where name = ""ponta"""
rs.Open lstrSQL, cnn, adOpenForwardOnly, adLockPessimistic

' レコード更新
With rs
.Fields("age") = 20
.Update
End With

541:02/09/13 15:33
>>540
On Error 〜 は知ってる?
エラー内容はErr.Descriptionに入ってるよ。
ていうかこれレコードセットオープンできる?
542 :02/09/13 15:33
>>539
FormをもったDLLを作成したいんです。
それで、そのFormにあるボタンをクリックした時に、あるイベントを発生させたいんです。

これで わかりますでしょうか?
543 :02/09/13 15:39
>>539
どうやら そのDLLにあるForm側でイベントを発生させることが
できるみたいなんです。
544540:02/09/13 15:50
>>542
あ?さんだ。レスありがとうございます。
on error ですね。調べてみます。
レコードセットのnewとかは割愛しちゃいました。
本来のソースには書いてます
>>540

Dim lstrPath As String
Dim lstrSQL As String
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset

lstrPath = App.Path & "\test.mdb"

With cnn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & lstrPath & ";"
.Open
.CursorLocation = adUseClient
End With

lstrSQL = "select * from student where name = 'ponta'"

With rs
.Open lstrSQL, cnn, adOpenForwardOnly, adLockPessimistic
.Fields("age") = 20
.Update
End With
546なきや:02/09/13 16:18
?さん、レスありがとうございます。
今から試してみます!
コード入力してるときにマウスホイールがきかないのは仕様ですか?
ストレスたまりまくります
548 :02/09/13 16:28
それは しようがないといいます。
549525:02/09/13 16:39
>538
あ、この方法でいいんですか。
まずはチャレンジしてみます。ありがとうございました。
>>547
過去すれに書いてるよ
>>542 ずいぶんと面倒くさい事を >513 は無視して俺流で書いてみた。
ボタン→フォーム→クラス→DLL作成元とイベントが伝わるからめんどい。
{prjDllTest}
[Class1]
Option Explicit
Private WithEvents m_oForm1 As Form1
Public Event FormButtonClicked(nButton As Long)
Private Sub Class_Initialize()
  Set m_oForm1 = New Form1
  Call m_oForm1.Show
End Sub
Private Sub m_oForm1_ButtonClicked(nButton As Long)
  RaiseEvent FormButtonClicked(nButton)
End Sub
[Form1]
Option Explicit
Public Event ButtonClicked(nButton As Long)
Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  RaiseEvent ButtonClicked(CLng(Button))
End Sub
{prjDllTestTest}
[Form1]
Option Explicit
Private WithEvents m_oDllTest As prjDllTest.Class1
Private Sub Form_Load()
  Set m_oDllTest = New prjDllTest.Class1
End Sub
Private Sub m_oDllTest_FormButtonClicked(nButton As Long)
  Debug.Print "CLICKED!!!"
End Sub

552なきや:02/09/13 16:49
>>538
OLE-DB simple provider type library
を入れてみましたが、結果は同じでした・・。
入れたものが間違いだったのでしょうか?
>>550
それはかなり昔にがいしゅつでした?
最近でてたならdat落ちしてるかも知れるけど探してみまふ
554_:02/09/13 17:05
>>553
ちなみにオレはこれ

どこでもホイール
http://www2k.biglobe.ne.jp/~araken/qdoko.htm

マウスカーソル非対応なものでも、
Windows標準のコントロールを使っているアプリなら強制的にホイールスクロールさせる。
もちろんVBでも使えるので、ソースコードをホイールでスクロールさせれますYO!!
555 :02/09/13 17:06
>>551

まず、
Private Sub m_oForm1_ButtonClicked(nButton As Long)
  RaiseEvent FormButtonClicked(nButton)
End Sub
ここのイベントが 発生しないんですけど・・・。
どこか設定が 悪いのかなぁ?

>>554
おお、ありがとうございます。これでストレスが溜まらなくてすみます。

みなさまスレ違いな話してしまい申し訳なかったす
557 :02/09/13 17:30
RaiseEvent は 通っても そのイベントが 発生しないのは なぜなんだろう?
>551 うそー? 動作確認したコードなんだけどなあ。
設定とかではないと思いますが。
>551
RaiseEventの後ろにスペースを入れると雷マークのポップアップが出ることと、
イベントを受ける方はコードを書くところの上にある2つのリストボックスから
オブジェクトとイベントを選択できることを確認してください。
あと、Class1のInstancingプロパティは5-MultiUseです。
560 :02/09/13 17:59
>>558
http://support.microsoft.com/default.aspx?scid=kb;ja;JP177996
この記事と関係があるのかなぁ。
回避方法が2つあるといいながら、述べてないし、サンプルは わけわからんし・・・。
561bloom:02/09/13 18:06
562デフォルトの名無しさん:02/09/13 18:08
>>412
亀レスで申し訳ないです。
うまくいきました、ありがとうございます。
>560
IDEではイベントが発生しない? うちはSP5です。
じゃあ、Debug.PrintのとこをMsgBoxに変更してコンパイルしてみるしかないですね。
564:02/09/13 18:25
>>552
ConnectionStringのProviderに指定してるやつ。
Microsoft.Jet.OLEDB.〜 ←ここは何になってる?4.0なら3.5だか3.51(どっちか忘れた)に変えてみて。
あとディストリビューションウィザードで作ったパッケージの中のSupportフォルダ内に
MSJET〜.DLLだかMSJT〜.DLLだかって入ってる?入ってたら原因は違うとこにあると思う。
正直経験無いので全部予想です。確実な知識ある人いたらヘルプ!
565:02/09/13 18:45
>>549=525
基本はそれだと思うけど、ファイルIOの部分は
ファイル全体を一回で読み込んで改行でSplit
削除したい行のとこからUbound(arr)-1までarr(i)=arr(i+1)とやっていき
Redim Preserve arr(Ubound(arr)-1)して改行付きでJoinしたものを一回で書き込み
ってしたほうが速いかも。普段使わないからすっかり忘れてた。ゴメン。
>560
Call m_oForm1.Show(vbModal)でやると確かにダメみたいだけど、
指定しちゃってる?
>>552
515まで遡るけど、

>エラー番号:-2147221164(80040154)
>「クラスが登録されていません。」

単純に参照してるライブラリが、正しくインストーラーに組み込んでないだけじゃないの。
開発環境では動くけど、実行環境では動かないんでしょ。
見当違いだったらゴメンなさいね。

ちなみにインストーラーは、Visual Studio Installerが便利よ。
http://www.microsoft.com/japan/msdn/vstudio/downloads/vsi/default.asp
568500:02/09/13 20:33
DDEについて調べてみたら、なんかもう時代遅れ(?)なインターフェイスのようですね。
.netではサポートされていない・・
簡単でおすすめな通信方法ってありますか?
なんかsend messageがどうのこうのありましたが。
569デフォルトの名無しさん:02/09/13 20:38
FontNameを使ってフォントを指定したいのですが、フォント名を指定しなければならず、ファイル名だと動作してくれません。
フォント名を知りたいのですが、どうすればいいのでしょうか?
>>569
フォント名って
MS明朝とかの事?
EnumFontFamilies
572デフォルトの名無しさん:02/09/13 20:47
>>570
はい、label1.fontname="MS 明朝"の場合は、ファイル名とフォント名が一致してるので
Label1.FontName=FN などで、ファイル名から拡張子を取った値で指定できるのですが
後から入れたフォントがファイル名とフォント名が一致してないもので…
573500:02/09/13 20:50
screen.fonts(index)
とか?
574500:02/09/13 20:50
ごめん、全然違うな。
575デフォルトの名無しさん:02/09/13 21:09
>>571
ありがとうございました!
576なきやの友達:02/09/14 01:28
567 さんの、おっしゃる通りです。
533 の参照設定の他に、
MSDataShapeを使用時のライブラリが欠落していますが、
それが何か、わかっていません。
577_:02/09/14 13:22
Inetコントロールをつかってファイルをダウンロードしてみてるんですが
落としているファイルの全容量を調べることはできるのですか?
今何%落としたってのを調べるにはそれが必要だと思うのですが。
578_:02/09/14 13:22
age
579デフォルトの名無しさん:02/09/14 15:01
テキストを表示するのに必要なheightってどうやって取得すればよいのでしょう?
Form1.textheightでそれらしい感じですが、
フォントサイズが違う部分なので利用できません。
580デフォルトの名無しさん:02/09/14 15:11
大事件!!DJクラブ板にて、

麻薬常習者がfusianasanに引っかかる!!

これは逮捕に発展するかも!

祭りの予感!!

DJクラブ板(xxxxバキバキな奴集まれxxxx)より


http://music.2ch.net/test/read.cgi/dj/1031033092/
>>579
Form1.Font.Sizeの値を変更してから
From1.TextHeight("hoge")をやってみればいいんでないの?
582579:02/09/14 16:51
>>581
あっ!なるほど。
Form自体に描画はしないからそれでOKですね。
ありがとうございました。
583デフォルトの名無しさん:02/09/14 17:14
秀丸とかみたいに、改行コードのところで "↓" みたいな編集不可の記号の表示って
どうやるんでしょうか。
VBのtextboxじゃ無理なんでしょうか。
先生!教えてください。
584デフォルトの名無しさん:02/09/14 18:49
>>583
A. 気にしないでください。アイフルのサイトやサービスについて
ご質問はございますか?
>>583
ちまたにあるテキストエディタはTextBoxもRichTextBoxも使わず、
自前で文字列を管理、文字列の描画を管理しています。
その一環として改行コード等も自前で描画しています。
586デフォルトの名無しさん:02/09/14 19:24
>>583
そういうコントロールを買って来い!
587583:02/09/15 00:05
ガーン!
588デフォルトの名無しさん:02/09/15 00:26
>>577
ファイルサイズはヘッダで取得
>>583
TextBoxに直接描画しちゃえばできるよ。
そう難しい事じゃない。
590583:02/09/15 01:09
>>589
直接描画!? 調べてみます!
>>589
オーナードローなんて出来るの?あれ。
TextBoxをGetDCして、改行の位置を探し、そこにLineToとかでやじるし書いてやれば実現できる。
別に↓を描画してもいいけど。
当然縦、横スクロールしたときの対処や、ウィンドウが重なったときの
再描画処理なんかもしないとだめ。
縦スクロール位置はSendMessageで取得、
横スクロール位置はGetScrollPosで取得できる。
再描画処理はサブクラス化してWM_PAINT時に再描画してやればいい。
>>592
VB厨の理解を遙かに超えた予感。

じゃなくても面倒だから出来るだけやりたくないな・・・。
> 再描画処理はサブクラス化してWM_PAINT時に再描画してやればいい。
なら元から再描画の処理だけでいい。
VB6で作成したexeファイルのバージョンについて質問です。
ファイルのプロパティーを開き、バージョン情報タブの
「ファイル バージョン」って、A.B.C.Dというふうに
4カラムからなっていますが、3カラム目はどうやったら変化するのでしょう?

コンパイラ上で[プロジェクト]−[xxx.exeのオプション]で
「実行可能ファイルの作成」タブにある[バージョン番号]部分は
・メジャー  → 1カラム目
・マイナ   → 2カラム目
・リビジョン → 4カラム目
という対応になっているようであり、3カラム目だけ変えられません。
596デフォルトの名無しさん:02/09/15 21:34
FILETIME 構造体ってのがどう使えばいいかよく分かりません
64ビットなので、半分に分けているようなのですが。
なんか100ナノセコンドレベルで管理されてるみたいだけど。
低い位が最大だと約214秒のようなのですが。

どういう計算をすればよいのでしょうか?
>>596
通貨型に入れて計算するのが簡単。
でもDate型に変換するのじゃだめなの?

> どういう計算をすればよいのでしょうか?
たとえばどんな感じの日付計算をしたいんでしょう?
>>595
俺はVB使いじゃないので間違ってるかもしれないけど、
本当にオプション項目がないとすれば、
> ・リビジョン → 4カラム目
このリビジョンの上位何桁かが3カラム目に
入るんじゃないかな?
599デフォルトの名無しさん:02/09/15 22:59
なるほど。通貨型は64ビットなのか。

1601/01/01から今までの経過時間を求めたいです。
単位は100ナノセコンド。
FTime.dwHighDateTimeに上位32ビット、
FTime.dwLowDateTime 下位32ビットを代入します


Dim cDate As Currency

cDate = DateDiff("s", "1601/01/01", Date) * 1000

FTime.dwHighDateTime = CLng(cDate / 214748.3647)
FTime.dwLowDateTime = CLng(cDate Mod 214748.3647)
こんな感じにしてみたけど、最後の行でオーバーフローになります。
600デフォルトの名無しさん:02/09/15 23:52
>>599
通貨型にMod演算子は使えないと思う。

601デフォルトの名無しさん:02/09/16 00:14
質問ですが、ここでさせて下さい。
ウイルスに感染したファイルからウイルスの部分
だけ取り除きたいのですが、方法あるでしょうか?
使いやすいソフトなどありましたらアドバイスお願い
します。
初心者ですが勉強したいのでさわりから・・
602質問ですよ?:02/09/16 00:17
アクセスで、特定のテキストボックスにフォーカスされている状態から、
フォーカスを外すのって、どうやればいいですか?
>>601
ここのVBってウィルスバスターじゃないぞ。
はげしくスレ違い。

基本は感染予防。
駆除できる場合もあるが駆除できない場合もある。
それ以前に、消されたり、壊されたファイルなぞ元に戻す方法はない。
>>601
> 質問ですが、ここでさせて下さい。

注意書きぐらい読めよ。

> プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
> ネタ、板とは関係の無い話題はご遠慮ください。
605597:02/09/16 00:28
>>599
> 1601/01/01から今までの経過時間を求めたいです。
これだけならFILETIMEを使う必要はないです。

Date型のゼロ は 1899/12/30 で、
1601/01/01から1899/12/30までの日数は 109205日
(秒数なら 9435312000秒)
(ナノ秒なら94353120000000000)

だから、仮に1601/01/01から今日までの経過日数を求めたいなら

  Const BASEDAYS_FROM_1601 = 109205
  MsgBox BASEDAYS_FROM_1601 + CLng(Date)

だけで求まる。(UTCでなくローカル時間で計算する場合)

それと、上で通貨型に入れると書いたのは、
MoveMemoryまたは LSetステートメントを使って
メモリ内容をそっくりそのままコピーする
という意味です。
>>602
SetFocus スレ違い。
607601:02/09/16 00:39
すみません。
プログラムの仕組みを知りたく、バスター等が駆除する
プロセスを手動でやるとどうなるかをやってみたいのです。
>>603
>駆除できる場合もあるが駆除できない場合もある。
まず何をためされますか?
608602:02/09/16 00:39
>>606
スレ違いなのに教えていただいて有り難う御座います。
SetFocusですか。
他のボックスにFocusをあわせるのでなくて、
完全にFocusを解放してしまうこともできますか?
とりあえず、スレ違いなので、続きの詳しい質問は、
Access総合相談所 Part4というスレでしてきますね。
ありがとうございました。
609605:02/09/16 00:53
あ、ごめん。全然違った。

DateDiffで直接取れるよね。
だったら
DateDiff("s", "1601/01/01", Date) * 10000000
だけでいいし、
それを整数表示したいならFormat関数
またはDecimalに変換すればいい。
610デフォルトの名無しさん:02/09/16 01:02
Winsockコントロールを使ってTCPで通信したいんですけど、
1対多数の通信をする方法教えてください。サーバ側では
Winsock一杯用意してPORTを一人一人割り当てていけばいいんでしょうか?
なんか使い方間違ってるのかなと思ってます。
>>610
Winsockコントロールを沢山用意するか、コントロール配列にする。
んで、1個だけ待ち受け状態にする。

winsock_ConnectionRequestが来たら、適当な空いているWinsock
に対し、Winsock.Accept requestID する。
んで、そのWinsockで以後は通信。
RestenしてたWinsockはそのまま次の接続を待ち続ける。

…ってな感じ。
612デフォルトの名無しさん:02/09/16 01:42
ピクチャーボックスをスクロールさせたいんですけど、どうしたらいいでしょう?
画像はできたんですけど、文字列ができないのれす。

ピクチャーボックスに文字列を上から下に表示していって、表示しきれなくなったら
スクロールしたいです。テキストボックスみたいに・・・

ご教授ください。おねがいしますです
Formのプロパティの"Icon"でアイコンを指定してEXEを作ったら、
生成された.exeのアイコンが指定した通りに反映されたのですが、
起動してみるとウィンドウの上のバーのタイトル左のアイコンだけ反映されていないのです。
どうしてなのですか。タ、タスケテクダサイ。VB6デス。
>>612
意味わからん。

>画像はできたんですけど、文字列ができないのれす。

ピクチャボックス上に描かれている文字列は画像と同じ。

自分が何をやってどういう状態にあるかもきちんと説明できなけりゃ
あいまいすぎてレス不可能。

>テキストボックスみたいに・・・
じゃ、テキストボックス使っておけば。
>>607
>プログラムの仕組みを知りたく、バスター等が駆除する
>プロセスを手動でやるとどうなるかをやってみたいのです。

そんなもん企業秘密で社員、及び元社員以外誰も知るか。
それにウィルスの数だけ対応も違うだろう。

>>603
>駆除できる場合もあるが駆除できない場合もある。
まず何をためされますか?

ウィルス対策ソフトを試す。以上。

一言いっておく。他人に意見を求めるときには自分の意見をまず持て。
616デフォルトの名無しさん:02/09/16 02:37
ありがとうございます。>>611
Winsock一杯使うんですね。
>>615
>駆除できる場合もあるが駆除できない場合もある。
>そんなもん企業秘密で社員、及び元社員以外誰も知るか。
つじつまが合わん。
知るかといってウイルス対策ソフトを使うという姿勢なら
これに限った話でなくともプログラムをやってる意味は無い
と考えるがいかがか。
618デフォルトの名無しさん:02/09/16 02:57
タイピングソフトを作ってるのですが、例えばjaとzya、tyaとchaなど
を同じと判定する方法をどうしようか迷ってます。考えたのがtyaと打ったら
”ちゃ”になるので日本語で判別しようかと思ったのですが、keypressで
1語づつ読んでjaでzを押したら、jaがzyaにすぐ入れ替えて画面に表示したいのです。
何か良い方法教えてください。
>>618
Ifとフラグだけでどうにでもなると思うけど、それじゃ格好悪いからダメってこと?
その前にIME入力モードでやってるのかそうじゃないのかはっきりしてくれ>>618
>>617
ウイルスデータベースを構築できるならどうぞご自由に…。
漏れには無理だYo!

現実問題として、そのウイルスの感染方法が判明している場合だけ、
元ファイルの復元可能性がある。それには当然ウイルスの解析結果等の
データベースが必要。
さらに、もし感染方法が判明したとしても、元EXEを破壊せずに感染する
ケースは希だろうと思われるので、たいていの場合で復元は不可能。

普通にプログラムやってればここらへんまでは短時間で思い至るだろう。
だから、>>615氏も知るかと言ってるんだろうよ。
つーか、怒らないから正直に板を間違いましたと謝りなさいな。
>>618
IMEをOFFで使うなら、自前でローマ字→かな変換のIMEモドキを
作ってみたらどうか。
練習のつもりで作ってるなら、こっちの方が面白いかも。
>>618
ttp://www5b.biglobe.ne.jp/~yone-ken/VB/
ここのごみ箱に一例があるぞ。
>>621
怒らせるつもりなど全く無かったがそうなってしまったかな・・
感染で困ってるとか駆除出来ればそれでいいという趣旨では
なかったのでここを訪ねてみたが、関係なかったのなら悪かった。
申し訳無い。
ただ、私がもしプログラムで飯食ってる人間なら間違っても
>>615のような発言はしないがな、本業ではプライドあるからね。
もう逝く
625596:02/09/16 06:05
うわ、ごめんなさい。
じつはその求めた経過時間を使いたいのです。
SetFileTimeWriteでタイプスタンプを書き換えたいので
>>625
それなら、SystemTimeToFileTime / FileTimeToSystemTime あたりのAPI使ってみたら?
年月日時分秒形式と64bit日付の変換関数。
627609:02/09/16 07:14
>>625
初めからそう言いなよ。
> SetFileTimeWriteでタイプスタンプを書き換えたいので
SetFileTimeでしょ。

Declare Function SetFileTime Lib "kernel32" _
  (ByVal hFile As Long, lpCreationTime As Any, _
  lpLastAccessTime As Any, lpLastWriteTime As Any) As Long
Declare Function LocalFileTimeToFileTime Lib "kernel32" _
  (lpLocalFileTime As Any, lpFileTime As Any) As Long
' 他の宣言は省略

Sub サンプル()

  Dim hFile As Long
  Dim curTime As Currency ' FILETIME構造体と互換

  hFile = CreateFile(省略)
  If hFile <> INVALID_HANDLE_VALUE Then
    curTime = VBDateToFileTime("2000/01/01")
    SetFileTime hFile, ByVal 0&, ByVal 0&, curTime
    CloseHandle hFile
  End If

End Sub
628627の続き:02/09/16 07:17
' 日付型をFILETIMEに変換して通貨型で返す
Private Function VBDateToFileTime(ByVal dt As Date) As Currency

  Dim curLocal As Currency, curUTC As Currency
  ' FILETIMEをローカル時間で取得
  curLocal = DateDiff("s", "1601/01/01", dt) * 1000
  ' ローカル時間をUTCに変換
  LocalFileTimeToFileTime curLocal, curUTC

  VBDateToFileTime = curUTC

End Function

FILETIMEへの変換はSystemTimeToFileTimeを使う方法もあるけど、
上のようにCurrencyで処理する方が簡単だと思う。
長くてごめんよ。
629596:02/09/16 08:44
できましたっ!
完璧です。
FILETIME使ったときはSetFileTimeのByVal 0&のところ(作成日時とか)が指定できなかったのですが、
これだとできますね。なんでだろ。

っていうかどこでどうSetFileTimeWriteと間違えたんだろうか。
しかもちゃんと動いていたのですが。
630609:02/09/16 09:01
> FILETIME使ったときはSetFileTimeのByVal 0&のところ(作成日時とか
> が指定できなかったのですが、これだとできますね。なんでだろ。

関数宣言の第2引数以降の型を As FILETIME で
宣言していた(型が一致しなかった)のでは?
上のコードでは As Any で宣言しています。

> っていうかどこでどうSetFileTimeWriteと間違えたんだろうか。
Alias "SetFileTimeWrite"
を使って別名を付けていただけではないかと。
631609:02/09/16 09:04
あれれ、すぐ上の書き込みの
> Alias "SetFileTimeWrite"
は間違い。
SetFileTimeWrite Alias "SetFileTime"
が正解。
>>624
言い訳を一生懸命しているが、板違いではないとしてもスレ違いは明白。
> 本業ではプライドあるからね。
どんなすばらしい仕事をしているか知らないけど、間違えた時は素直に認めて
謝罪できない奴はダメ。
>>632
今ごろ・・( ´,_ゝ`)プッ
>>632
負け犬・・( ´,_ゝ`)プップッ
635602:02/09/16 10:39
>>606
向こうのスレまできていただき、教えていただいて有難う御座いました。
透明ボタンを作る方法で、いちど試してみたいとおもいます。
636ぺんた:02/09/16 12:04
VBでMMORPG作れますか?
>>636
道のりは険しいが、作れる。
ちゃんとした構想と技術があれば可能だよ。がんばってね。
>>636
UOやEQやROのようなものだけをMMORPGと思っているなら
作れないと思って差し支えないでしょう。

アイディア次第だよ。
>>638
(・ε。・)え〜?がんばれば出来るYO!
640ぺんた:02/09/16 12:46
>>637
まぁ、WinSockぐらいなら出来るんですが、まだまだ無理っぽいっすね。

>>638
えと、じゃぁああいうのは何で作ってるんですか?
Cか何かでしょうか?クライアント側はどうにでもなると思うんだけど
向こうのサーバーで動いているのは何で作ってるんでしょう?

そういえばめちゃ初歩的ではありますけど
一応VBで作られたMMORPG発見。
http://www.alpha-net.ne.jp/users2/kousaku/eternalonline.html
641618:02/09/16 12:53
IMEをON、OFF選択できるようにする予定です。
ソースが長々となるのは覚悟しなきゃいけないのかな(汗)
>>623
サンプルみて理解しようしてます。やりたかったことが出来てますね、ありがとうございます。
642615:02/09/16 13:18
>>615
> ただ、私がもしプログラムで飯食ってる人間なら間違っても

617がフォローしてくれている通りだ。
少しでもプログラミングしている人間なら、
君の発言がどれだけあほな発言かすぐにわかるってこった。
プログラミングで飯食ってる人間なら間違っても
君みたいなあほな発言をここでしない。

それと、他人が労力を費やして作ってるソフトを
自分で努力もしないやつが解析して理解できるわけがないだろ。

643615:02/09/16 13:21
>>642
>>615じゃなくて>>624だ。がーん。かっこわるすぎ。
>>642
まぁ、あるソフトと同じ動作をするモノを作ってみたいという行為自体は俺はいいと思うけどな。
しかし、ここで聞く時点で彼にはその資格はないと思った。
自分でどうすれば実現出来るかを考えて自分なりにアルゴリズムを試行錯誤して見る。
関係のありそうな書籍を読んで自分の技のレパートリーを増やしていく。
それがまねると言うことでありプログラミングという創造的な作業の基本であると思う。
ま、初心者スレですし。
>>642 >>644
な、なるほど!
つまりお二人の意見をまとめると、こういうことですね。
「書籍も買えない貧乏人は麦を食え」

うーん。なんとなくカッコいいからage。
>>646
違うぞ。
・金がないなら努力しろ。
本屋で立ち読みして必要な部分丸暗記してくるくらいの覇気が必要。
後、インターネットは使用可能なわけだ。情報には事欠かないだろう。
金がないんだから工夫で乗り切るしかない。
幸い、コンパイラも情報も無料のモノが多くなってきたことだし。
なお、「インターネットで人に聞く」は勉強のうちにも努力のうちにも入らん。

・努力する気ないなら金を出せ。
面倒なら初めから市販ソフトで我慢するかどっかのSEにでも頼んで作ってもらえと。
自分で作れないんだから仕方ない。人にその面倒なことをやってもらう対価を払うべし。

・どちらも出来ないなら死んでしまえ。
上記のことはPCのすべての分野に当てはまる。出来ないのならやめて違う仕事なり
趣味なりを探すのがあなた自身のため。落ち込むことはない。人には適正というモノが
あるんだから。
>>642
一人相撲しちゃった・・( ´,_ゝ`)プップッ
>>646
>「書籍も買えない貧乏人は麦を食え」

書籍うんぬんの前に自分で考えるだろ。
その考えることまずしてないって話だと思うが。

本を読むなら、
・図書館を探す。なければ取り寄せを頼むこともできる。
・本屋で立ち読みもできる。

書籍変えませんってやつは、どこからインターネットしてるんだよ。
電気代やネット代は誰がどうやって払ってるんだ。
書籍も買えないほど貧乏なら、まずはバイトでも何でもして金稼げ。
中学生や小学生でバイトができないなら、親と交渉しろ。
プログラミングしてんだったら、プログラミングのできる環境があるわけで、
そもそも貧乏ではないと思われ。
>>646
麦は健康にいいぞ。
>>650
マジカルてハァハァ
ってか、もうやめませんか。
初心者の私が質問しにくい空気がピンピンです
>>652
自分でやるべきことをやった上で、
それを明確にして質問すれば叩かれることもなかろう。
板違いな内容は別として。
654デフォルトの名無しさん:02/09/16 15:52
VBのIDE画面のプログラムコードの色を、
ツール>オプション>エディタの設定タブ
で変更できますよね。
そのときに指定できる色が、あらかじめ決められた色しかありませんが、
RGB値なりなんなりで、自分で色を自由に指定する方法はないでしょうか?
それらを保存してるINIファイルらしきものも見当たりません。

どうかお教えください。
>>654
ブチギレても良いですか?
キーッ
657キンキンに腹まで反り返った:02/09/16 17:49
>>624のティムボあげ。
>>654

コメントは赤
キーワードを青

にするだけで十分だべが?
ナマ言うんじゃねェて。
659デフォルトの名無しさん:02/09/16 18:03
次のようなWith文の中にエラー処理を入れたいのですが
そういうことは可能でしょうか?

With rs_TmpFile
.Fields("aaa").Value = str_Sample1
.Fields("bbb").Value = str_Sample2
.Update
End With
660651:02/09/16 18:05
あ、ADO使ったコーディングです。
>>659
入れれば。
VB.net買ったんだけど、ナゲェ、ナゲェよインストールの時間
インストールしてる時間で
コーディングできちゃうよ
>>662
インストールしている時間に寝てなさい。
664デフォルトの名無しさん:02/09/16 21:52
textboxのDataFormatプロパティに
formattypeとして日付(yyyy/mm/dd)を設定しました。
これってユーザが20010101とか入力して
ロストフォーカスした際に
勝手に"2001/01/01"に整形したり
してくれるわけじゃないの?
>>652
粘着厨房が荒らしてるだけなので、気にせずドゾ。
無視してマターリやればいいです。
とはいえ、>>601を読み返してみれば、荒れるのもわかるわな…。
>664
使ったことないんでわからないんだが、ヘルプを読む限りDBに保存している値を
表示させるときの書式、という意味合いだと思うよ。
しかもDBと連結してないと使えないみたいだ。
>>659
「可能でしょうか?」じゃねえだろ。
まずは自分で試してみて、出来なかったら聞いて来い。
このスレ恐ろしいな〜。俺が質問するには十年早いや。
質問文の形式と態度さえ間違ってなければ問題ないはず>>668
>>668
十年後にはVBがないから、質問するなら今だ。
ツールバーなら知っているのですがクールバーとはなんでしょうか?
673671:02/09/17 03:48
そこに行ったところ
クール・バーニンという音楽アルバムだとわかりました。ありがとうございます。
>>668
同感
みんな冷たい
初心者向けの板に思えない
初心者向けの”板”じゃない。
676デフォルトの名無しさん:02/09/17 06:56
>>671-673
(・∀・)イイ!
>>646
お歳がバレますわよ(W
678デフォルトの名無しさん:02/09/17 10:12
自称プログラマー気取りのセンズリスレはここですか?
>>678
どうやらそのようです スレタイのアハァがすでに物語ってます
>>678
自称プログラマー気取りって日本語変だよね。
そんな事書いてて楽しい?
(*´д`*)アハァ…
682デフォルトの名無しさん:02/09/17 11:54
株価をネットから取得するには、どうしたらいいんでしょうか?フリーソフトを使わないで
組み込んでみたいのですが・・・
煽られてる質問にちょっとやさしめのレスしてみます。
>>601
原理的にはさほど難しい事では無いよ。勉強してれば自然にわかってくる。
でもウイルスの数は膨大&増え続けているからキミ一人では一生かかっても終わらない。
だからこそいくつもの会社がそれをネタに食ってけるわけで・・・。
プログラムで飯食ってる人間なら間違っても一人でやろうとは思わない。
プライドあったらこんな事しようとしてるなんて恥ずかしくてとても言えない。

>>654
多分ムリ。ていうかよほど奇特な人以外は調べるどころかやろうとも思わないんじゃないかな。
まずそれをやる意義を皆に理解させる事から始めましょう。
意義があるなら調べてくれる人も出てくるかもしれない。

>>659
その質問は自分じゃ調べる気も試す気も全くありませんって言ってるのと同じだよ。
少しは自分で調べるなり試すなりしようよ。
684デフォルトの名無しさん:02/09/17 13:06
VBSでWIN32APIを使いたいのですが
そういうことは可能でしょうか?
教えてください。
(*´д`*)アハァ…
(・∀・)イイ!
>>684 可能です。
687684:02/09/17 14:18
>>686
ありがとうございます。
どのような命令を使えばいいか、教えていただけますでしょうか。
(自分で色々調べてみてもわからなかったので)
688デフォルトの名無しさん:02/09/17 15:01
マウスポインタがpicturebox上にあるときだけlineを表示したいんですが、
picturebox.mousemoveでlineをvisibleにするのはいいとして、
ポインタが外に出た時にlineを消すのがうまくいきません。
form.mousemoveを使おうにもオブジェクトが敷き詰められてるのでうまくいかないし、
picturebox.lostfocusは別にfocusを得ているわけではないから使えないし。

どうすればよいでしょうか?
VBSでAPI使うのは邪道だろ。
>>689
別にいいじゃん
691デフォルトの名無しさん:02/09/17 16:02
よろしくお願いします。
あるフォームのテキストボックスの内容を取ってきたいのですが、

form1に

ret = fncFormtxt(me)

と書いて、

public function fncFormtxt(frm as form) as string
dim ret as string

ret = fncBoxGet(frm)

end function

public function fncBoxGet(frm as form) as string
dim ret as string

ret = frm.text1.text

end function

と言う感じにしたいのですが、どうしたらよろしいでしょうか。
692デフォルトの名無しさん:02/09/17 16:11
全くもって関係ない話ですえけど
色々プログラムなどしてる方に聞きたくて、IPやホスト名の話なのですが
この2チャンネル掲示板に書きこんだだけで、相手にIPなどバレてしまうのですか?
と言うか、調べる事は出来るのですか?例えば、今私が何のPCを使ってるかだとか
どこに住んでるかぐらいは、調べられるんでしょうか?
>>692
禿しくスレ違い。
694692:02/09/17 16:15
わかり辛くてすみません。
例えばですよ、全く関係の無い>>691さんが私のIPなどを調べる事は出来るのか、と言う事です。
不可能ではない話なのでしょうか?
695692:02/09/17 16:16
>>693
すみません、そう言う行為が可能か?不可か?だけでも教えて頂けないでしょうか?
IP抜かれてなんか困るようなことでもしたのかなー
697デフォルトの名無しさん:02/09/17 16:24
すみません、質問させてください。
ActiveReports1.5を使用して帳票作成をしています。
出力データに依存しないラインを引きたいと思っています。
(Formオブジェクトでのlineメソッドのような感じです)

ヘルプファイルやネットで調べたのですが、該当するものが発見できませんでした。
どなたか知っている方がいらっしゃいましたら、ぜひご教授お願いします。
宜しくお願いします。

開発環境: VB6、ActiveReports1.5、Oracle8、OS:Windows2000
698692:02/09/17 16:25
>>696
いえ、やってませんが、いろいろ不安なんですよ。
今、ウイルスバスターもファイアーウォールも何も入れてない状態なんで
ちなみに>>696さんは私のOSぐらいはわかってらっしゃるんでしょうか・・・。
むしろ板違いだろ。
701692:02/09/17 16:30
すみませんです。
もう消えます>>699さん・・・その言い方がだと、かなり技術力がある奴が
やったら不可能ではないと言う事ですね・・。
VBにて、他のアプリケーションソフト(・・・.exe)を立ち上げるプログラム
のやり方を教えて下さいませ。例えば、ボタンを押すとEXCELやWORD
等が起動するカンジの内容なのですが・・・。
703デフォルトの名無しさん:02/09/17 16:36
>>702
shell()関数
詳しくはMSDN
704ibhについて:02/09/17 16:40
わたし素人でもうしわけないんですけど、ibhってついてるのは、何のソフトで見れるんでしょうか
>>704
なんでそれをVBスレで聞く?
>>704
激しくスレ違い
707:02/09/17 16:51
>>688
アクティブなコントロールのTop、LeftとマウスのX、Yから
マウスカーソルがpicturebox上にあるかどうかを算出する関数を作り
それを全コントロールのmousemoveから呼び出すってな感じかな。

>>691
form1に
ret = fncBoxGet(me)
と書いて、
public function fncBoxGet(frm as form) as string
fncBoxGet = frm.text1.text
end function

>>697
データ出力後にコードで移動すればいいのでは。
708697:02/09/17 17:06
>>707
返答ありがとうございました。
申し訳ないんですが、「コードで移動」の意味がわからないです。すいません。。
質問の仕方が悪かったかもしれないです。

やりたい事は、出力されているデータの数などと関係なく、
四角や線を出力するレポートに対して縦横無尽に描きたい、
というものなのですが…。
大変申し訳ないですが、もう一度噛み砕いてご説明いただけないでしょうか。
宜しくお願いします。
>>707
頭文字は大文字にしてYO!
710Delフサギコ ◆VzDeLphI :02/09/17 17:41
 ミ,,゚Д゚彡すつもんっす。
よろしくおねがいします。

グリニッジ時で
"2002-09-10T22:30:00Z"
こんな表現があるのですが
これを簡単に現地時間に
変換する方法はないでしょうか。

標準のライブラリにあればすごく楽なんです。
711Delフサギコ ◆VzDeLphI :02/09/17 17:51
 ∧,,∧
ミ,,゚Д゚彡ちょと説明不足だったかも。

グリニジ時文字列を普通のニポン時間文字列に
変換したいってことです。

よろしくおねがいします。
712684:02/09/17 17:56
漏れの質問もどなたか回答お願いします。
713:02/09/17 17:59
>>708
デザイナに図形コントロールを張り付けるとデータ量に応じて
自動的に移動してしまうがそれを固定にしたい。
という事だと思ったけど違うみたいだね。
自由にお絵かきしたいって事ならPrinterオブジェクト使うとか。
またはデザイナにイメージボックス貼り付けて、別に描いた絵をそこに読み込むとか。

>>709
>>691のコピペなもんで。

>>710-711
無いと思う。普通にコード書いても簡単だと思う・・・
714697:02/09/17 18:00
すみません自力で解決しました。調査不足でした。
申し訳ないですーー。
715697:02/09/17 18:10
>>713
すいません、ありがとうございます。レス見ずに714を投稿してしまいました。
Printerオブジェクトもどんな事ができるのか、見てみますです。

自分がやりたかった線や四角描きは、Canvasオブジェクトに
Drawline,DrawPictureなどのメソッドがちゃんとありました。
調査不足でご迷惑お掛けしました。
>>711
Win32APIの FileTimeToLocalFileTime あたりを使ってみるのは
どうかな?
VBだけでTZ考慮しならどうにかする方法は、自分でロジック組むしか
ないような気がするです。
717:02/09/17 18:51
>>715 わざわざどうも。見つかって良かったね。俺も覚えておこう
718デフォルトの名無しさん:02/09/17 20:58
VBド素人の質問で申し訳ありませんがご指導おねがいします。

Option Explicit

Private Sub Command1_Click()
  Dim bytArray() As Byte
  Dim intFileNo  As Integer
  Dim lngFileLenB As Long
  lngFileLenB = FileLen("sample1.txt")
  ReDim bytArray(lngFileLenB - 1)
  intFileNo = FreeFile
  Open "sample1.txt" For Binary As #intFileNo
  Get #intFileNo, , bytArray
  Close #intFileNo
  Text1.Text = StrConv(bytArray, vbUnicode)
End Sub

このときの「sample1.txt]ファイルはどこにおいて置けばよいのでしょう?
試している時はデスクトップに置いていたのですが読み込めませんでした。
基本的にパスの通し方を理解できていないですかねぇ?
よろしくお願いします。
chdir()で指定したところとか
特に指定して無いならexeと同じフォルダ
>>719
カレントフォルダだろ
721デフォルトの名無しさん:02/09/17 21:13
サムネイル表示させる(縮小画像がいくつも表示できる)プログラム
をVBで作成したいのですが、わかるかたはいらっちゃいませんか?
722718:02/09/17 21:16
>719
実行してみたら成功しました!本当に有難う御座います。
これで3日間の胸のつかえがとれました。感謝!
>>721
「わかるかた」って何がわかる人を指すの?
>>721
いないでちゅ〜
>>721
ざっと考えたけど、遅そう。
>>725
そりゃエクスプローラの表示でも遅いしなぁ。でも、だからなに?
727Delフサギコ ◆VzDeLphI :02/09/17 21:55
 ミ,,゚Д゚彡なんかのAPIでできるって聞いたことあるけど...
728Delフサギコ ◆VzDeLphI :02/09/17 22:18
 ∧,,∧ かんたんですた。>>710
ミ,, ゚Д゚彡

Public Sub Check(ByVal A As String, ByVal B As String)
 If A <> B Then
  MsgBox "エラー" + vbCrLf + _
      A + "≠" + B
 End If
End Sub

'↓グリニッジ時を日本時間に修正する関数
Public Function GuriToJapTime(ByVal GuriTime As String) As String
 Dim Time As Date
 
 Mid$(GuriTime, 5, 1) = "/"
 Mid$(GuriTime, 8, 1) = "/"
 Mid$(GuriTime, 11, 1) = " "
 GuriTime = Left$(GuriTime, 19)
 
 Time = CDate(GuriTime)
 GuriTime = DateAdd("h", 9, GuriTime)
 GuriToJapTime = CStr(GuriTime)
End Function

Public Sub testGuriToJapTime()
 Call Check("2002/07/22 21:13:00", GuriToJapTime("2002-07-22T12:13:00Z "))
 Call Check("2002/07/22 21:13:00", GuriToJapTime("2002-07-22T12:13:00Z"))
End Sub
>>691
そんな細切れにして、どうすんの?
>>728
ちょっとまてい
731Delフサギコ ◆VzDeLphI :02/09/17 23:59
 ミ,,゚Д゚ミまってみる。
>>684
もう見てないと思うけど、DynaCallをぐぐれ
>>731
いや、待たなくていいです…
Mid$(GuriTime, 5, 1) = "/"ができるのを知らなかった。逝ってきまつ
734Delフサギコ ◆VzDeLphI :02/09/18 00:41
 ミ,,゚Д゚ミノ  いってらっつぁい
        俺も最近しりまつた。
>>734
文字列操作が速くなった。ありがたやありがたや。
736デフォルトの名無しさん:02/09/18 08:35
ん?
Mid$(GuriTime, 5, 1) = "/"
って、置き換えってことだよね?
737デフォルトの名無しさん:02/09/18 11:14
VB6.0からActiveReportsの2.0Jを通して帳票出力を行いたいのですが
ここのサイトにActiveReportsの詳しい使い方が出てるよ!みたいな
ところを知っている方いらっしゃれば教えていただけないでしょうか?
YahooとかGoogleとかソフト自体を紹介しているとこくらいしか
引っかからないんですよね・・・
>>737 ヘルプとサンプルを参照した方が早い
739 :02/09/18 13:07
gif画像を拡大して一つのFormに いくつか 表示したいのですがどうしたらいいのでしょうか?
740デフォルトの名無しさん:02/09/18 13:40
株価をネットから取得するには、どうしたらいいんでしょうか?フリーソフトを使わないで
組み込んでみたいのですが・・・
>>740
じゃあ市販のコントロール使う。
>>739
APIのStretchBltあたりを調べるヨロシ。
きれいに拡大縮小するにはちょっとコツがあるけどね。
743:02/09/18 16:13
>>739 Imageコントロール使えばいいのでは
744688:02/09/18 16:27
>>707
うーむ、それしかないですか。
結局picturebox以外のすべてのmousemoveにvisible=falseを書き込む形になりそう。
ありがとうございました。
>>744>>688
APIのGetCursorPosとWindowFromPointでできるだろ
Dim Pos As POINTAPI
GetCursorPos Pos
Line1.Visible = (WindowFromPoint(Pos.X, Pos.Y) = Picture1.hwnd)
747 :02/09/18 18:02
参照設定で追加したDLL(ActiveX)を exeと同じフォルダにするには どうしたらいいのでしょうか?

つまり、VBでDLLを使うとき、参照設定で指定してあげるが、これをexeが実行するときに
そのDLLの位置をexeと同じフォルダに変更したいのです。

どうしたらいいのか 教えてください。
はあ?意味わからん。
ファイルを移動するのか、それとも作業フォルダを移動するのか、
それ以前になんでそんなことをする必要があるのか。
749 :02/09/18 19:30
DLLを参照するEXEを一緒に配布した場合、フォルダが違うとエラーが出るからです。

そういう必要は、あるんじゃないですか?
> DLLを参照するEXEを一緒に配布した場合、フォルダが違うとエラーが出るからです。
でません。
>>749
> 参照設定で追加したDLL(ActiveX)を
ということではなかったのか?
それならフォルダが違っても動く。

> DLLを参照するEXEを一緒に配布した場合、フォルダが違うとエラーが出るからです。
DLLの登録はどんな方法でやってるの?

> そういう必要は、あるんじゃないですか?
普通は必要ない。
752デフォルトの名無しさん:02/09/18 21:03
ListBoxのプロパティのStyleを"1"に設定すると
チェックボックスが付くじゃないですか?
あれがチェックされているかどうかの判断ってどうすれば
良いんですか?
MSDNでListBoxのプロパティやメソッド一覧を
一通り見たんですけどそれらしいのがありません。
どなたかアドバイスお願いします
753752:02/09/18 21:12
あ、Selectedって奴かな?ちょっと試してみます
Excelで貼ってある画像の元画像のPATHをコードから取得できないでしょうか。

Excelの質問スレで聞いたのですが、こちらの方がプロフェッショナルな気がして、
向こうは取り下げて来ますた。
よろしくおながいします。
向こうの方に失礼かと。
>>753
まず ListBoxを作成して
       ListBoxプロパティの"Style"項目を「1-チェックボックス」にします。
       あとは下記の処理でOKです。

       Private Sub Form_Load()
         'リストボックスに項目を追加
         List1.AddItem "Sample-1"
         List1.AddItem "Sample-2"
         List1.AddItem "Sample-3"
         
         その他の記述文
       End Sub

       Private Sub List1_ItemCheck(Item As Integer)
         If List1.Selected(Item) Then
           List1.List(Item)がチェックされたときの処理を記述
         Else
           List1.List(Item)のチェックがばずれたときの処理を記述
         End If
       End Sub

らしいです
漏れも参考にさせて貰ったです
>>755
それじゃあ、向こうが下だと言っているようなもんじゃないの?(w

>>756
その妙なインデントは何?(w
758752:02/09/18 21:31
>>756
レスありがとうございます。
↓のような感じで上から順次チェックしていくような
ロジックにしました


List1.ListIndex = 0
For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then
MsgBox "aaa"
Else
MsgBox "bbb"
End If
Next i
>>757
>漏れも参考にさせて貰ったです
って書いたじゃん(w

>>752
まぁ、頑張ってくれ
760デフォルトの名無しさん :02/09/19 00:28
SQLサーバ6.5と
VB6.0で作ってるんですけど、
VBからSQLサーバに接続失敗したときに
ログインのダイアログが出てしまいます。
これを出したくないんですけど
どのようにしたらよいでしょうか?
接続に失敗しないようにする。
762デフォルトの名無しさん:02/09/19 07:42
それしかないの?
763  :02/09/19 09:10
>>750
実行すると
実行時エラー 430
クラスはオートメーションまたは予測したインターフェースをサポートしていません。
というエラーが出ます。
764デフォルトの名無しさん:02/09/19 09:17
SQLサーバ6.5と
VB6.0で作ってるんですけど、
VBからSQLサーバに接続失敗したときに
ログインのダイアログが出てしまいます。
これを出したくないんですけど
どのようにしたらよいでしょうか?


という内容の紙芝居を作っています。
>>763
「フォルダが違う」なんて出て無いじゃん。
配布方法に問題ありと思われる。どういうふうに配布してるの?
766  :02/09/19 09:30
>>765
あ、別のエラーも出ました。
オートメーションエラーってやつです。

配布する前に 違うフォルダ等で テストしてるだけなんですけどね。
これで OKじゃないと dllを 配布できません。

767デフォルトの名無しさん:02/09/19 09:35
>>763
 横レスです 
 DLLの参照設定が外れてるのでは?
 参照設定で追加したDLLをコンパイルするときは、
 DLLだけをコンパイルしただけではダメで
 DLLを参照するEXEも、再び参照設定をしなおしてからコンパイルした方がイイと思われます
 
 
768  :02/09/19 09:37
>>767
すみませんが、参照設定しなおすというのは、dllを参照するようにすればいいということでしょうか?

普通に作成するときは、vbpで参照設定されてましたから・・・
>>766
うざいなもー。DLLのファイルをコピーするだけじゃダメ。
REGSVR32 /s YOURDLL.DLL
とか実行してレジストリに登録しろ。
それかデストリビューションウィザードかWindowsInstallerでセットアップを作れ。
770766:02/09/19 09:47
>>769
うざいとか言うんじゃねえよ糞野郎!!
俺はうざくねえよ糞野郎!!
771769:02/09/19 09:50
>770
十分ウザいじゃねえか糞野郎
772769:02/09/19 09:51
俺はお前がうざいよ。
773   :02/09/19 09:51
>>769
ActiveXのDLLって レジストリに登録しないとダメなんでしょうか?
774デフォルトの名無しさん:02/09/19 09:51
VB6.0でAccessのソフトを作っています。

フォームを開く時に、最大化表示しないように「ポップアップ」を"yes"にしました。
これで最大化にならずにほぼ中央に表示されるようになったのですが、少し上のほうに
出てきて、メッセージボックスの位置とかなり外れたところに出てきてしまいます。

メッセージボックスと同じくらい画面中央に表示させたいのですが、どなたか教えて
いただけないでしょうか。よろしくお願い致します。
775769:02/09/19 09:54
釣られますた。>>771はかたり。
>>773
ActiveXとはそういうものなのです。
その代わりに物理的な場所にとらわれず参照でき、
バージョンの互換も保たれる。はずだった。
776767:02/09/19 10:01
>>768
 vbpで参照設定のチェックボックスが外れているのではないかと思ったんです
 外れていればチェックを付け直して再コンパイルした方がいいと思います
 レジストリ登録しても、ダメな時はダメなので(この辺、なんでダメなのかは不明)
 地道にやっていくしかないと思います。

 参照設定ではなくて、コード上でDLLをCreateObjectすると、
 これらの問題が出なくなるような気がしますが
 但し、DLLのレジストリ登録はやっといてね!
 
777769:02/09/19 10:13
>767 = >776
VBPは配布しないだろうから、関係ないと思うよ。

>747
  >748
>749
  >750
  >751
>763
  >765
  >766
  >767
>768
  >769
>773
  >775
  >776
778767:02/09/19 10:26
>>777
 DLLを参照しているEXE側のソースの
 参照設定のチェックボックスが外れていたらおかしくなるでしょ?
 バージョンの互換は、ソースの設定中に、プロジェクト互換とか、バイナリ互換とか
 設定するウィンドウがあったような気がする 手元にVBがないのでハッキリしていないが
 
>>768さん DLLを再コンパイルした後に、
 そのDLLを参照しているEXEのソースの参照設定を確認してください 
 
あーあ。VBの罠の一つ。ActiveXにはまってるよ。
VBは馬鹿でも出来るぶんちょっとむずかしい(w)こと
しようとしてはまってる奴が多いんだよなぁ。
ヘルプを10回くらい読み直して少しは賢くなってから挑戦したら(w
780デフォルトの名無しさん:02/09/19 10:38
VB初心者です。
VBで処理を5秒間とか停止させるコマンドはありますか。
教えてちゃんで申し訳ありませんが教えてください。
781 :02/09/19 10:45
regsvr32 /u で 何度 登録したDLLを削除しても
VBの参照設定を見ると 消えてません。

どうしたら 消えるのでしょうか?
>>780
なんでわざわざ初心者だとか余計な一言言うかな・・・
そういうのが甘えだってたたかれる原因になるんだよ。
と、これだけだとなんなので、TimerとDo〜Loopでも
調べなさいと言っておく。一発でできるコマンドはVBにはない。
>>781
くすくす
>>783
なにがおかしんじゃこらぁ!
しねこらぁ!
もうほとんど手遅れ。くすくす。
786784:02/09/19 11:24
>>785
ハアァァア〜〜〜 チィ〜ン〜コォ〜
ハアァァア〜〜〜 マァ〜ン〜コォ〜
チ〜ン〜コ〜 マ〜ン〜コ〜 チ〜ン〜コ〜 マ〜ン〜コ〜 チ〜ン〜コ〜 マ〜ン〜コ〜
チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ
チンコ(チンコ!)マンコ(マンコ!)チンコ(チンコ!)マンコ(マンコ!)
チンコ(マンコ!)チンコ(マンコ!)チンコ(マンコ!)チンコ(マンコ!)
チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ
爺っちゃんも 婆っちゃんも チンコマンコチンコマンコ
父っちゃんも 母っちゃんも チンコマンコチンコマンコ
坊っちゃんも 嬢っちゃんも チンコマンコチンコマンコ
みんな一緒に チンコマンコチンコマンコチンコマンコチンコマンコ
チンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコ
787デフォルトの名無しさん:02/09/19 11:25
ActiveXプラグイン(IE)から
全文検索エンジンを利用して
検索結果をActiveXプラグインの
フォームに表示させたいのですが、
可能ですか?
788デフォルトの名無しさん:02/09/19 11:25
ハァッ
789デフォルトの名無しさん:02/09/19 11:50
コントロールパネルのODBCデータソースの
システムDSNのデータソースの構成に、
「サーバー」っていう欄があるじゃないですか。
VBからこのサーバーに設定されている値をGETするにはいったいどうすればいいんでしょうか?
790 :02/09/19 12:03
(*´д`*)アハァ… VB初心者質問スレ
みんな 初心者です。
ヘルプもどこを読めば わかるか 教えてくんなまし〜〜
791デフォルトの名無しさん:02/09/19 12:52
VB6.0をWinXP環境で使ってる人に質問です。
SP5を当てた時にmdac_type.exeを実行してますか?
WinXPには、mdac2.7が入ってると聞きますが、
これを実行しちゃえば、mdacが2.7→2.5へと
ダウングレードしてしまうと思うんですがいかがでしょう?
792:02/09/19 12:58
>>774
>VB6.0でAccessのソフトを作っています。
Access VBAのことですね。
中央に表示を指定しても少し上のほうに表示されるというのは
おそらくAccessの仕様ですので手動で設定してやるほか無いと思います。
でもAccessではScreen.Heightとか取得できないんじゃなかったかな。
というわけで詳細はAccessスレで聞いて下さい。
ちなみに最大化表示したくなければ最大化ボタンを無効にすればいいのでは。。。
793774:02/09/19 13:03
>>792
そうですね、AccessVBAのことです。失礼致しました。
手動で設定ですか・・・。一応Accessスレの方でも聞いてみます。
最大化ボタンを非表示にする「ダイアログ」にしても、最大化表示されてしまいます。

アドバイス、ありがとうございました。
794デフォルトの名無しさん:02/09/19 13:06
>>774
DoCmd.MoveSizeを使え
795:02/09/19 13:28
>>793
>最大化ボタンを非表示にする「ダイアログ」にしても、最大化表示されてしまいます。
デザイン時に最大化した状態で保存してるからじゃない?
796:02/09/19 13:38
>>793
手動で設定ではなくコードで設定です。
コードで設定のことを手動で設定と言ってしまう変な癖がついてます。。。ゴメン。
797:02/09/19 13:54
>>789
サーバーって欄無いんだけど・・・
値はレジストリから取得できるんじゃない?
798789:02/09/19 13:57
>>797
ありがとうございます。
HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\hoehoe
のServer にありました。
SQLGetPrivateProfileString でもとれるようです。
799デフォルトの名無しさん:02/09/19 14:05
今組んでるプログラムがちょっとでっかいファイルを
読み込んでキャッシュとしています。
実メモリ256M 仮想メモリ2Gとっているんですが、
300M超えたところでメモリ不足で落ち。
さてなぜでしょう?
>>799
まずコード出せ。話はそれからだ。
801デフォルトの名無しさん:02/09/19 14:17
>>800
こんな感じです。
Redimで落ちてるからメモリ不足なんだろうけど
構造体の配列ってやばいんですかね。

Do While Not EOF(intFile) ' ファイルの終端までループを繰り返します。

ReDim Preserve typKeyInfo.typRelInfo(lngRTrm + 1) '関連情報配列確保
Line Input #intFile, strData

'配列に入れる文字列処理

lngRTrm = lngRTrm + 1 '関連ターム数加算
Loop
802デフォルトの名無しさん:02/09/19 14:36
>>801
そりゃそうだろ
>>801
ディスクの空きは何バイトある?
構造体の配列の上限の制限をヘルプで探したけど無かった。
(これは構造体の配列をもつ構造体だけど)
804デフォルトの名無しさん:02/09/19 15:03
ActiveReports2.0でとりあえずデータベースとなるAccessから
データを表示することはできました。
しかし問題が1つ発生し、例えば項目が3つあり項目1を主Keyとして設定し
項目2と項目3があったとすると、まずAccessで登録したときには
項目1:3 項目2:あいうえお 項目3:かきくけこ
で2番目に登録したものが
項目1:1 項目2:さしすせそ 項目3:たちつてと
だとすると、Accessのテーブルでは昇順で設定されているので項目1の
数値が若い順番から登録されているのですが、これをActiveReportsで
表示すると、あくまで登録した順番で
  項目1 項目2    項目3
   3  あいうえお かきくけこ
   1  さしすせそ たちつてと

で表示されてしまいます・・・・。これを主Keyの数値の若い順番から
表示させるにはどうしたらいいのでしょうか?
Accessの方の設定をしなければならないのでしょうか?
805804:02/09/19 15:05
すみません。使っているのはVB6.0のEnterPriseでSP5入れてます
ActiveReportsは2.0Jです
806デフォルトの名無しさん:02/09/19 15:06
>>803
ディスクは27Gとまだまだコンモリあります。
自分もメモリの制限探してみたんですが、
それらしい記述ないんですよね。
仕様書通りだとこのソースなんですが、
キャッシュにしないで逐一ファイルから読む方が
良さそうかもしんないですね・・・
807デフォルトの名無しさん:02/09/19 15:18
>>799
こんな質問の仕方でちゃんとしたレスがかえってくると思ってる
おまえの頭がメモリ不足。
>>801
ReDim Preserve は毎回メモリ確保してメモリコピーして、って
やってるので、大きなループ中で+1しながらやるとスタック不足で
落ちるよ。

lngRTrm = 0
ReDim typKeyInfo.typRelInfo(100) '適当な初期値にする
Do While Not EOF(intFile)
  lngRTrm = lngRTrm + 1
  If lngRTrm > UBound( typKeyInfo.typRelInfo ) Then
    ReDim Preserve typKeyInfo.typRelInfo(lngRTrm * 2 + 1)
  End If
  Line Input #intFile, strData
  typKeyInfo.typRelInfo(lngRTrm) = strData
Loop
ReDim Preserve typKeyInfo.typRelInfo(lngRTrm)

このようにして、なるべくメモリ再確保の回数を少なくすれば、
落ちなくなると思う。
配列サイズの大きさがある程度予測できるなら、初期値をそれに
近くしておくと効率的。
131 名前:nobodyさん 投稿日:2002/09/19(木) 05:08 ID:Ab8J7aLw
>質問者へ
あのよ、プログラムの質問なんだから無理に文章にしないで

・プログラム概略
プログラムの説明、使用目的など
・環境
OS、使用アプリ、関連アプリなど
・入力
データ入力の方法、データ形式など
・処理
プログラム内で行うデータ加工、計算、アルゴリズムなど
・出力
出力データ形式、出力先など
・問題点
不具合の説明
・自分なりの解決法(試したもの)
自分で試した方法
・ソース
問題となっているプログラムソース

このくらいの箇条書きに整理して質問しろよ。書いてるうちに問題が解決する
場合もあるだろ。
どうも、解り辛い書き込みが多いよ。
810799,801:02/09/19 15:37
>>807
スマソ。逝ってきます。

>>808
ありがとうございます。
やってみるっす。
811807:02/09/19 15:49
>>810
逝くんじゃあねェ。
逝く時は漏れと一緒だ
812807:02/09/19 15:54
>>811
へんな文章でスレかたるなよw
おれはその趣味ないから。
813デフォルトの名無しさん:02/09/19 15:55
VBでWWWWサーバーに対してファイルのアップロード
が出来るクライアントを作ろうと思ってます。
つまり、ブラウザのGETやPUTメソッドをVBで実現させたいのです。

ブラウザだったら簡単ですが、VBの場合とうなんでしょうか?
標準でHTTPのプロトコルと通信を実装して
いるコントロールってありますか?
814799:02/09/19 15:58
>>807

「おまえの頭がメモリ不足。」

に妙に納得。
増設キボンヌ。
>>808
メモリ確保の回数を減らすのはいいことだけど、
それ以外は全然間違ってるよ。
あんまり適当な事書くな。
816デフォルトの名無しさん:02/09/19 16:00
>>813
> ブラウザだったら簡単ですが、VBの場合とうなんでしょうか?
おまえバカ?アプリと開発環境一緒にしてどーすんのと小一時間。
実現したいのなら、ちょっとは自分で探すなりしろ。
ここは子守りスレじゃないぞ。
>>799
300MBという数値は何を元に判断した?
818804:02/09/19 16:32
解決しました。最初はADOでデータベースに接続していて、それを今度は
DAOで接続するとうまくいきました。
でもなぜなのか理屈がわからない・・・
819デフォルトの名無しさん:02/09/19 16:47
webbrowserコントロールを使って現在表示しているページの内容を取得するにはどうしたらいいのでしょうか?

>>813
webbrowserコントロールの navigate でGET,POST出来るけど
それでファイル送信できるんすか?
820デフォルトの名無しさん:02/09/19 16:54
>>818
809じゃないけどさ、もう少し質問するとき具体的なこと書いたほうがいいよ。
自分のレス(>>804)読んでて人が理解・分析できると思う?
プロパティ設定してるのか、クエリを作成してるのか
それともSQL文を書いてるのか、さっぱりでしょ。
818でも、そうだよね。
独り言ならいいけど質問ならもう少し相手のこと考えてね。
821804:02/09/19 17:05
>>820
申し訳ない・・・。次からは気をつけます
あはーん、>>781答えてもらえてない。
かわいそうに。ここは馬鹿ばっかりだからなぁ。
くすくす。
>>822=781
必死だな。
盛り上がってるねえ
825デフォルトの名無しさん:02/09/19 18:51
誰か>>791の質問に答えてください。
おながいします。
>>822
なにがおかしんじゃこらぁ!
しねこらぁ!
827デフォルトの名無しさん:02/09/19 19:14
別板にて質問させていただいたのですが解決しなかったので、申
し訳ありませんがこのスレにて再度聞かせていただきます。

Excelのアプリケーションウィンドウの左上に表示されているア
イコンを自作のものに変更することは可能だと思うのですが、ど
のようなコードを書けばよいのでしょうか?
タイトルを変更するのはCaptionの変更でできたのですが、いろ
いろ調べてみましたがわかりませんでした。

どなたかご存知の方がいましたら教えていただけないでしょうか?

>いろいろ調べてみましたが
何を調べたの
829827:02/09/19 19:59
>>827
ググって見たり、VBA関連のサイトで過去ログを見たりです。
Vinus Basic
831デフォルトの名無しさん:02/09/19 20:15
>>827
そういうアイコンはリソースなのが普通。
API関連で検索してみ。
>>825 mdac_type.exeを実行してみなよ。そうすればわかる。
833デフォルトの名無しさん:02/09/19 21:12
>>832
どうなるのよ
怖くて出来ません
>>833「セットアップはシステムをアップデートできません」とメッセージが出て終わり。
>>822
手遅れって回答ついてるけど。
プロジェクト互換にせずに拡張しつづけたんやろうねぇ。
>>822
ちょっと哀れな気がしたので俺も答えてやるよ。

Regsvr32 でどういう結果が表示されるのかくらい書け。
単に「消えてません」でわかる奴がいるか、ボケ。
これだから一部のVB厨は...
>>781
Regsvr32はレジストリの情報をいじる。
VBの参照設定はVBPに書き込まれる。
VBでコンパイルするとコンパイルしたマシンのレジストリは自動的に更新される。
838デフォルトの名無しさん:02/09/19 23:52
質問があるんですが、、、
コンボボックスで、項目ごとに文字色を変えるってことは可能ですか?
方法があったら、教えて欲しいです。
>>837
> VBでコンパイルするとコンパイルしたマシンのレジストリは自動的に更新される。

そうとは限らん。
>>781は 自分で作ったVB製のDLLとはどこにも書いてない。
840839:02/09/20 00:11
↑ それが原因とは限らん という意味でしゅ。
841デフォルトの名無しさん:02/09/20 00:41
エクセルのシートに張り付けたコントロールに
vbからデータを渡すのはどう書けばいいの?
842688:02/09/20 07:15
>>745
なるほど、APIですか。今まで考慮してませんでした。
試してみます。
843デフォルトの名無しさん:02/09/20 08:07
>>834
ありがとう
実行してもしなくてもなくてもよかたんですね。
俺は実行してなくて不安だたけど安心しました。
844827:02/09/20 08:14
>>831
ありがとうございました!キーワードを替えて検索しましたら見事に目
的のサンプルにたどり着けました。

煮詰まってたもんで、VBAVBAVBAアイコンアイコンばかり検索しちゃっ
てました。

はじめてAPIを使いましたが勉強になりました。
コードをいきなり教えてもらうよりヒントで答えていただいたおかげで
とても勉強になりました。

本当にありがとうございました。
845デフォルトの名無しさん:02/09/20 09:33
>>841
書き込み先にExcelシートにあるコントロール名を指定してやれば
出来るんじゃないの?
アプリケーションアイコンを設定するにはフォームにアイコンを設定して
プロジェクトのプロパティでそのフォームを選択、としてるのですが、
フォームを持たないアプリケーションにアイコンを設定するにはどうするのでしょうか?
847781:02/09/20 09:40
>>836
>>837

regsvr32 /u D:\test.dll
をやると
「D:\test.dll の DllUnregisterServer は成功しました。」 
と 表示されます。
次に VB6を起動します。
新規のEXEの作成を選んで、立ち上げてから、参照設定を確認してるんですが、
そのDLLが 残ったままになってます。

OSは XPで VB6のSP5をあててます。

レジストリを調査してみると 何箇所かそのDLLが表示されたのですが
何箇所かあるので 直接は 削除しませんでした。

どちらを変更するのが 確実なんでしょうか?
教えてください。
>>847
> DLLが 残ったままになってます。
これは参照設定でチェックが入った状態になってるということ?
それとも名前が出るだけ?
そのDLLはどんなDLL?自作?

要するに REGSVR32の実行直後ならレジストリ情報が
消されているのか否かを調べてみた方がいいと思うわけだけど。
849デフォルトの名無しさん:02/09/20 11:21

下記のようなCase文の書き方できるのってCだけでしたっけ?
"11","12","13"は無処理って事になっちゃうんですね


Select Case AAA
case "10"
msgbox "10"
Case "11"
Case "12"
Case "13"
msgbox "10以外"
End Select
道繁に包まれて走り出した行くべき道を
情熱のベクトルが僕の胸を貫いてゆく
どんな危険に傷付く事があっても
>>849
自分で試せボケ
852849:02/09/20 11:24
>>851
試したよ。
なっちゃうんですねって言ってるべや
Cと同じようにしたいなら
 Case "11","12","13"
と書く。

つーかヘルプくらい読めボケ。
>>852
そんなもん常識だっつーの
>>849
Select Case AAA
case "10"
  msgbox "10"
Case "11", "12", "13"
  msgbox "11か12か13以外"
Case Else
  msgbox "それ以外"
End Select
856855:02/09/20 11:29
まちがえた。。。
857849:02/09/20 11:32
みんないい奴だな。
ありがとう
858デフォルトの名無しさん:02/09/20 11:36
>>855
>Case "11", "12", "13"
>  msgbox "11か12か13以外"

これって
   msgbox "11か12か13"
じゃないの?
>>858
ちゃんと自分で間違えたって書いてるじゃん。
気づけよボケ。
もうボケボケ言い合うのはやめにしよう
不毛だ・・
861849:02/09/20 11:49
みんないい奴だな。
ありがとう
俺の為を思って叩いてくれる、最高のダチだ
いやダチじゃないし。
おいおい こんなことでもう10レス以上
消費しちゃってるよ
資源の無駄遣いってこういうことを言うんだな
>>863
ハアァァア〜〜〜 チィ〜ン〜コォ〜
ハアァァア〜〜〜 マァ〜ン〜コォ〜
チ〜ン〜コ〜 マ〜ン〜コ〜 チ〜ン〜コ〜 マ〜ン〜コ〜 チ〜ン〜コ〜 マ〜ン〜コ〜
チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ
チンコ(チンコ!)マンコ(マンコ!)チンコ(チンコ!)マンコ(マンコ!)
チンコ(マンコ!)チンコ(マンコ!)チンコ(マンコ!)チンコ(マンコ!)
チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ チンコ マンコ
爺っちゃんも 婆っちゃんも チンコマンコチンコマンコ
父っちゃんも 母っちゃんも チンコマンコチンコマンコ
坊っちゃんも 嬢っちゃんも チンコマンコチンコマンコ
みんな一緒に チンコマンコチンコマンコチンコマンコチンコマンコ
チンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコチンコマンコ
>>849
Cでは文字列をswitch文の対象にする事はできません。
866 :02/09/20 15:11
>>859
何が間違えてるか わからんだろ。
訂正いれないと。
>>866
まだ引っ張るのかYO!(w
>>866
他にどこに間違いがあるか言ってみろ。
あれを見ても間違い箇所がわからんのは
お前1人なんだよ、ボケナス。
869デフォルトの名無しさん:02/09/20 16:05
メッセージボックスのアイコンを任意のものに変更する方法を教えてください
ただしフォームモジュールを使って作成する以外でお願いします
>>869
MessageBoxIndirectが一番簡単。
またはTimerを併用して通常のメッセージボックスの
アイコンを差し替えてもいいな。

他にもダイアログボックスの自作があるが、
これはフォームの自作とあまり変わらんわな、このボケナス。
871866:02/09/20 16:53
>>868
俺たちは同じVBスレの仲間だろう?
ボケだのボケナスだのいがみあってどうするよ?
仲良く行こうぜ?
VB使えるけどVB嫌いだよん。
VB厨よりVB使えるけどVB嫌いだよん。
このスレの奴はみんなアホだよん。

氏ねボケナス。
>>872
生理でイライラしてるのかい?
友達いなくてイライラしているのかい?
ライダー同士の戦いは止めるべきだ
はははん。
自分が使えないものを叩くのは難しいから使えるものを叩くんだよん。
言い返せないとこばかりつけるから楽しいよん。
875868:02/09/20 17:13
>>872
VB使えるなんて当たり前のことをいちいち書きこみに来るな。
見ている方が恥ずかしいぞ、このVBコンプレックス野郎。
876868:02/09/20 17:14
>>871
叱咤激励のつもりなんだが、気に障るのか?
もしそうなら控えるようにするが?
VBが悪いんじゃない!全てはVB厨が悪いんだ!
というわけで来週一週間をVB厨撲滅強化週間に指定します。
>>875
恥ずかしくて顔真っ赤ですか(w
>>872
> VB使えるけどVB嫌いだよん。
VBでも挫折?

( ´,_ゝ`) プッ
STOP THE AIDS!
VB厨よりVB使えるくらいで自慢カキコ?

( ´,_ゝ`) プッ
>>879
顔引きつってますよん。
>>881
くやしいの? ふふ
おっまえら だっせー(w
>all
ライダー同士の戦いは止めるべきだ
ここはひどいインターネトだすね
ライダーって、三輪車のか(w
キコキコキコキコ。
かっこいいでちゅね〜。
ぐわーっ!
889868:02/09/20 17:40
おいおい、荒らしてるクズ共は職場で何かイヤなことでも
あったのか?
別に俺の知ったこっちゃないが、程度が低いことに気付けよ
このボケナス。
ったく荒らすんじゃねぇよなぁ。
お前らが大好きなVBが使えないからって。
好きなんだったらもっとわかってやれって。
少しの良い所も沢山の悪い所も。
俺は嫌いだがな。(w
質問、雑談、ちょっとしたTipsなどドゾー
罵り合いはご勘弁を :-)
うわぁ、こんなに釣れたよ。こいつら面白すぎ
ほーんと、面白いよねぇ。
釣れる釣れる。大漁じゃぁ〜!
>>872
こいつよっぽどVBでつらい目にあったんだろうな。

と さらに煽り立てて反応を見る。
>>894
えっ、お前VBでつらい目にあったことないの?
あんまり使ってない証拠だなぁ。精進しろよ。
正直ジサクジエンうざすぎ
使えば使うほど嫌いになっていく言語。VB。
未だに好きで使っている奴は、初心者素人くんでしょ。
プッ
つらい目に合うくらい使っちゃったの?
それはつらいだろうけど頑張れ。VB使い君。

とさらに煽って様子をみる。
そろそろID導入して欲しいなぁ…。正直飽きた。
900デフォルトの名無しさん:02/09/20 18:16
VB6を使用しています。
PCからRS232C経由で外部の機器へキャラクタコードを送信したいのですが、
特定のコードで送信データが NULL となってしまい、思ったように送信できません。
例えば
Mscomm1.Output=chr(244)
が送信できません。

244のほかに、129〜159 と 224〜252 で NULL になってしますようですが、
回避はできるのでしょうか?
901898 は >>895:02/09/20 18:16
あれ、おかしいな。
すごい速さで反応するところが一番笑えたのに。。。トイレかな。
じゃ俺もそろそろ飽きるとするか。
902 :02/09/20 18:17
おいおい 
アホだから 恥さらして きいんてんだろ。
アホじゃなかったら、聞く前に ちゃんとコーディングしてるって。
>>900
その数字が何を意味するかは気付いてんのか?
というかバイト型配列でも使っとけ、ボケナス。

>>902
誰向けのレスなんだろう?
904デフォルトの名無しさん:02/09/20 18:42
押忍!下のSQL文なんか変っすか?
ADOのレコードセットのOpenで「演算子がありません」
と出てしまうんですけど。
HIZUKEは日付型です。


"SELECT * FROM TBLNM WHERE HIZUKE > = '2000/02/02'"
> と = の間を詰めろよ、ボケナス。
906904:02/09/20 18:44
>>904
あ、詰めても同じだったよ
ボケナスとはご挨拶だな糞野郎。
907905:02/09/20 18:45
ついでにもう一丁。
日付型なら #で括れ。
908904:02/09/20 18:45
>>907
ありがと!!やってみる!!
> あ、詰めても同じだったよ
エラーメッセージも同じのわけないだろ、ボケナス。
>>908
ちょっと笑ったじゃないかYO。
911 :02/09/20 18:47
VBで作成したActiveXのDLLを修正して 上書きしたら、
それを呼んでいるVBのプログラムが エラーが出ました。

DLLの置き換えは できないんでしょうか?
VBだしな。出来なくてもおかしくないだろう。
>>904
「=>」 に入れ替えてみ
>>911
日本語勉強してからまた来い
>>911
COMのインターフェイス不変の原則って知ってるか?

ちなみにエラーを起こすプログラムはコンパイル後の
EXEなのか?
もしそうでないなら参照設定を一旦解除してみろ。
それで直らなければDLLの登録を解除してから再登録も
やってみろ、ボケナス。
916 :02/09/20 19:32
「VB2.0→VB6.0変換」
VB2.0のFormソースコードはバイナリで保存されているらしくVB6.0などでは読み込めません。
どうしたらよいでしょうか?
VB2.0ももってないし、VB4.0では2.0のフォームを読み込むことができるのですが、
VB4.0をインストールするとパソコン内のdllが古いバージョンのdllになってしまうし・・・。
持っているVB入門の本の付録フロッピーに収録されているサンプルがVB2.0のものなのでなんとかしてそのフロッピーのサンプルを読み込みたいです。
917911:02/09/20 19:32
>>915
ぼくはボケナスじゃないですよ・・・
918869:02/09/20 19:32
>>870
ありがとうございます。
MessageBoxIndirectで出来るようなのですが、アイコンの指定の方法がよくわかりません。
MAKEINTRESOURCEマクロというのを使うようなのですが。。。
なお表示させたいアイコンはアプリケーションの既定でもあるメインのフォームのものです。
どうかご教示ください。
>>916
自分でVB6でフォーム作ってそのサンプルのソース貼り付けたりすれば
動くんじゃないの?
920916:02/09/20 19:37
>>919
VB2.0の.frmファイルはテキスト形式で保存されないためテキストエディタやVB5.0、VB6.0だと開けないんです。
921916:02/09/20 19:39
VB2.0には.frmをテキスト形式で保存する機能がついてますが、そもそも2.0を持ってないし・・・
922デフォルトの名無しさん:02/09/20 19:41
日本語版VBで作ったソフトは海外で動作しますか?
また、どうすれば動作することができますか?
単に日本語を使わなければ良いだけなのでしょうか?
923デフォルトの名無しさん:02/09/20 19:45
>>922
> 日本語版VBで作ったソフトは海外で動作しますか?
完全に動作する。日本語も使える。パソコン持ってけばw
924デフォルトの名無しさん:02/09/20 19:45
日本語テスト
925869:02/09/20 20:07
>>918
実行ファイルからだと出来ました。
お騒がせしてすみません。
926870:02/09/20 20:24
>>918
そりゃ開発環境ではEXEを別途ロードしてhInstanceに
指定しないと無理だわな。
MAKEINTRESOURCEなんてものは Win32では
整数の下位16ビットをLPSTRにキャストしている
だけだと思っとけ。つまりMAKEINTRESOURCEは不要。

>>917
回答の揚げ足を取る暇があるならさっさと試せ、ボケナス。
927869:02/09/20 20:29
>>926
なるほど!
勉強になります
>>916
あきらめろ。
VB2.0がなけりゃただのゴミ>VB2.0のバイナリ保存されたコード
929 :02/09/20 21:33
>>915
「COMのインターフェイス不変の原則」なんて 検索しても出てこんぞ。
わからんから、知ってるなら、教えてくれ!

知らんのなら いいけど。
930915:02/09/20 22:30
>>929
>「COMのインターフェイス不変の原則」なんて 検索しても出てこんぞ。
単語を分けて検索くらいしろよボケナス。

わかりやすく言えば
COMのインターフェイスを一旦公開した後は
その仕様を変えてはいけない。という原則。
「インターフェイスの不変性」とも言う。

COMに限った話でもないと思うけどな。
>929 (= >911)
公開済みのインターフェースを変更する時に追加するならば互換性は保持されるが、
修正、変更などしてしまうと、互換性はなくなってしまう。
「コンポーネントのデバッグ、テスト、配置」
http://www.microsoft.com/japan/developer/library/default.asp?PP=/japan/developer/library/toc/vbcon98/vbcon984-1-1-6.xml&tocPath=vbcon984-1-1-6&URL=/japan/developer/library/vbcon98/vbcondebuggingtestingdeployingcomponents.htm
の「ActiveX コンポーネントのバージョン間の互換性」あたりを読んどけ。

インターフェースって何?って状態ならCOMの基礎からやり直せ。
932デフォルトの名無しさん:02/09/21 15:14
MSFlexGridを使ってます。
単一行のみしか選択できないようにするにはどうしたらいいでしょうか?
いろいろHPを見てみたんですが良い案が見つかりませんでした
933916:02/09/21 17:24
>>928
わかりました。VB2.0おそるべし。
>>916
VMwareがいいよ
935デフォルトの名無しさん:02/09/21 21:06
へっぽこな質問すいません
半角の " (半角二重引用符)ってtextの中でどうやって表示するのですか?
chr$( )
ですか?
さらりと、よろしくお願いします
936デフォルトの名無しさん:02/09/21 21:09
>>935
'"'
937935:02/09/21 21:09
>>936
それじゃわからねえんだよ糞野郎。
ダヴルコーテーションって言え。
939935:02/09/21 21:14
>>936
ん?すいません、わかりません
もちろん>>937は私ではありません
940デフォルトの名無しさん:02/09/21 21:17
chr(22)だったかな。
941935:02/09/21 21:18
>>940
だったかなじゃねえよ。
正確に答えろ。
942940:02/09/21 21:18
まちがえた
chr(34) ですな。
又はchr(&h22)
943935:02/09/21 21:19
ぶっくるすぞ。
944935:02/09/21 21:19
>>940
まさしく22です!
狐'sバイナリエディタで見たから間違いありません
945940:02/09/21 21:20
>>941
ヘッポコな回答でスマソ
てかMSDN見たら?
つーか、なんかかわいそうになったから書いてやる。

 ""
2個重ねる。
947935:02/09/21 21:23
>>945
いやヘッポコなりによくやった。
感動した!!
948935 ◆fFbZBKKc :02/09/21 21:27
>>940さん
>>946さん
レスありがとうございます、今から全部やってみます
とりあえず、急いでレスしないと、大変なことになりそうなので
まずはお礼だけ。
>>948
新人か?頑張れよ
950935:02/09/21 21:29
>948
にせものウゼーぞっ!!!
トリップまでつけやがって。
951935 ◆fFbZBKKc :02/09/21 21:43
>>949さん
ありがとうございます、趣味でやっております。
必要なアプリ(というほどのものでもないですが)ができれば、そのつど作っています
まだ、VBは半年ほどですが、ブランク5ヶ月で、また必要になったんです
おっと、やらなくちゃ
952935 ◆fFbZBKKc :02/09/21 22:00
いけました
>>940さん
>>946さん
chr(34)とchr(&h22) で

””でもいけるんですねえ
はじめは、空白になるのでは、と思っていました

ありがとうございました
勉強になりました
953916:02/09/21 22:57
>>934
初耳のVMwareについて調べてきます。
954デフォルトの名無しさん:02/09/22 01:52
あるフォルダーにある、HTMLファイルを、
VBからIEを起動して、表示させたいんですけど、
どうやって実装したらいいでしょ?
よろしくお願いします。
>>954
オートメーション(CreateObject)とか、
Shell関数とか、
関連付け起動とか、
方法は色々あるぞボケナス。
956デフォルトの名無しさん:02/09/22 02:52
>>954
ShellExecute( NULL, NULL, strURL, NULL, NULL, SW_SHOWNORMAL );

strURLに"file:///c:/hoge.html"とかすればいいじゃん
957ボケナス(954):02/09/22 03:06
>>955
>>956
レスありがとうございます。
レスの情報から、Googleで検索して、実現できました。
shell32.dllのShellExecuteEXを呼び出すことで実現できました。

as Byte
で宣言した変数が現在何バイトの大きさになっているかを取得する関数がどうしても見つからないのですがよろしくお願いします。
LenやLenBはStringにしか使えないですよね。
>>958
?? Dim A As Byte なら、当然1バイトだと思うが ?
動的配列なのか ? だったら、UBound(A) - LBound(A) だろ。
UBound(A) - LBound(A) + 1 だろ。
961959:02/09/22 11:47
>>960
すまん、とちった。訂正サンクス。
962デフォルトの名無しさん:02/09/22 13:12
ByRef引数に値を設定する関数に、クラス変数のメンバを渡すと
値が設定されません。どうしてか分かる方いらっしゃいませんでしょうか。

例)
次の例で、Sub main を実行すると "結果はNG" のダイアログが出ます。

[CLASS1.CLSの内容]
Public val As String
Private Sub Class_Initialize()
val = "NG"
End Sub

[MODULE1.BASの内容]
Sub main()
Dim c As Class1
Set c = New Class1
Call SetByRef(c.val)
MsgBox "結果は" & c.val
End Sub
Public Sub SetByRef(ByRef a As String)
a = "OK"
End Sub
>>962
CLASS1の外からvalを参照すると

Private m_val As String
Public Property Get val() As String
val = m_val
End Property
Public Property Let val(ByVal v As String)
m_val = v
End Property

のようにプロパティ経由でアクセスしたのと同等になるから。
SetByRefがCLASS1にあれば予想通りに動くけどね。
964958:02/09/22 13:59
>>959さん
おっしゃるとおりバイト配列です。

Dim b() As Byte
b() = Inet.OpenURL(http://www/〜jpg、zip、などインターネット上のファイル)
のように
Inetコントロールでダウンロードしたファイルをb()に格納していますが、
b()がある大きさ以上のバイト数だったらb()に格納されているjpgなどをハードディスクに保存したいので、
現在のb()のサイズを知りたいんです。

'b()をバイナリーアクセスで保存してます。インターネットで検索したコードを貼り付けて使ってるだけなのでよく下のプログラムの意味は理解してませんが。
Open 保存ファイル名 For Binary Access Write As #intFile
Put #intFile, , b()
Close #intFile
'ハードディスクにダウンロードしたzipやjpgを保存完了

>>959さん
>>960さん
UBound(b) - LBound(b) + 1
を試してみます。
965962:02/09/22 14:04
あぁ、そうか。代入とプロパティレットはコード上は一緒でも
中身は違うのでした。SetByRef関数からはその違いが分からない
から、プロパティレットではなく代入しようとしている、
ということですね。
963さん、日曜日にわざわざありがとうでした。
>>964
MSDN見ながら頑張って理解してみることをお勧めする。
967958:02/09/22 15:22
>>966さん
あとで調べたことの報告をしますです。
>>958
>LenやLenBはStringにしか使えないですよね。
不正解。
969958:02/09/22 18:34
>>968さん
つかえるけど特殊な値が返ってくるということでつね。
970デフォルトの名無しさん:02/09/22 18:37
そろそろ次スレ立てろや
971968:02/09/22 19:33
>>969
変数のサイズを返す。
変数がByte型なら1、Integer型なら2、Longなら4を返す
ユーザ定義型のサイズ計算にも使える。
ユーザ定義型の変数をLen関数に渡すと論理サイズを返す。
LenB関数に渡すとメモリ上のサイズ(バイトアラインメントを考慮した値)を返す。

文字列の場合はLenで文字数、LenBでバイト数を返す。
972969:02/09/22 20:19
>>971さん
ありがとうございます。
変数がByte型なら1、Integer型なら2、Longなら4を返す
というのは知りませんでした。これはいつか役立ちそうな気がします。
パス上にXXX.exeがあるかないのかどうなのかの調べる方法がみつかりませんでした
>>973
新山(へろぱ)さんのサイトを覗いてみな
そこのTips集にあったはずだから
>>974
あっタ━━━━━━(゚∀゚)━━━━━━ !!!!!
ありごとうごまきました
XPのSP1が出たらしいね。Formatの仕様があーら、元通り。
あんまりそんなやついないと思うが、
Currency型の変数をFor文の制御変数に使っちゃだめよん。
遅くなるから?
979デフォルトの名無しさん:02/09/22 22:32
A,B,C,Dという四つの変数(整数型)を作って、
それぞれを乱数にして
A>=B,A>=C,A>=D,A+B+C+D=100
の条件を満たすA,B,C,Dの値を作りたいのですが

Do While A>=B,A>=C,A>=D,A+B+C+D=100
A=int(rnd*100)+1
B=int(rnd*100)+1
C=int(rnd*100)+1
D=int(rnd*100)+1
loop
と書くと非常に効率が悪いです。
もっと効率のいいプログラムってあるでしょうか?
私にはどうしてもこれしか思いつきません…
980デフォルトの名無しさん:02/09/22 22:50
A = int(rnd*96) + 1
B = int(rnd * (100 - A)) + 1
C = int(rnd * (100 - A - B)) + 1
D = int(rnd * (100 - A - B - C)) + 1

A〜Dの数値をいれかえて、A >= B => C >= D にする
981980:02/09/22 22:51
失敗
D = 100 - A - B - C
982980:02/09/22 22:56
完成版
A = int(rnd * 96) + 1
B = int(rnd * (100 - A - 2)) + 1
C = int(rnd * (100 - A - B - 1)) + 1
D = 100 - A - B - C

AからDを並び替える
>>980
> A〜Dの数値をいれかえて、A >= B => C >= D にする
仕様を勝手に変えるなよ。元々は、A>=B, A>=C, A>=D だぞ。
(',' の意味がちょっと不明確だが、まあ AND の意味なんだろうな。)
>>977
理由書いて
>>982
A<25の時に解があるのかな?
もうすでに算数の問題だな。
986985:02/09/22 23:05
おれはあほだな。
>>985
B=A-b, C=A-c, D=A-d (0 <= b, c, d <= A) とおくと
4*A-b-c-d=100 だから 4*A=100+b+c+d
b+c+d >= 0 なので 4*A >= 100 ∴A>=25 だと思う。
988987:02/09/22 23:13
一箇所訂正
0 <= b, c, d < A
>>985
> A<25の時に解があるのかな?
> もうすでに算数の問題だな。

A ≧ B, A ≧ C, A ≧ D だから
100 = A + B + C + D ≦ A + A + A + A = 4A
∴ 100 ≦ 4A
 25 ≦ A でないといけない。
逆に、100 = A + B + C + D ≧ B + B + C + D = 2B + C + D
B, C, D の定義域が不明なのだが、多分 1 ≦ A, B, C, D ≦ 100 を想定しているだろうから、100 ≧ 2B + C + D ≧ 2B + 1 + 1
∴ 98 ≧ 2B
 49 ≧ B
当然 C, D も同じだよ。
A=25〜96
B=1〜MIN(A, 98-A)
C=1〜MIN(A, 99-A-B)
D=100-A-B-C
の範囲で生成すれば入れ換え不要だと思うけど、これで合ってる?
教えれ偉いひと。
>>990
次スレよろ。
>>990
> A=25〜96
> B=1〜MIN(A, 98-A)
> C=1〜MIN(A, 99-A-B)
> D=100-A-B-C
> の範囲で生成すれば入れ換え不要だと思うけど、これで合ってる?
> 教えれ偉いひと。

ダメ。A = 97, B = 1, C = 1, D = 1 の解が抜けてる。また、A = 25, B = 1, C = 1 等の場合に D = 73 とかなってしまう。
993デフォルトの名無しさん:02/09/22 23:56
新スレがたちました。引越しましょう。

http://www.2ch.net/2ch.html
>>993
何だ、そのリンクは。(w
 
 
   
  
>992
A,B,C,Dが自然数だったら、
n = 100
A = int( rnd * ( n - n / 4 -2 )) + n / 4
B = int( rnd * iif( A >= n / 2 - 1, n - A - 2 , n / 2 - 1 )) + 1
C = int( rnd * iif(( A + B ) >= n / 2, n - ( A + B ) - 1, n / 2 - 1 )) + 1
D = n - A - B - C
かな?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。