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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん

  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/
  Part13 http://pc3.2ch.net/test/read.cgi/tech/1029241786/
  Part14 http://pc3.2ch.net/test/read.cgi/tech/1030947162/
  Part15 http://pc3.2ch.net/test/read.cgi/tech/1032706491/
  Part16 http://pc3.2ch.net/test/read.cgi/tech/1034302532/
  Part17 http://pc3.2ch.net/test/read.cgi/tech/1036154952/
  Part18 http://pc3.2ch.net/test/read.cgi/tech/1038103769/
  Part19 http://pc3.2ch.net/test/read.cgi/tech/1039859691/
  Part20 http://pc2.2ch.net/test/read.cgi/tech/1041879465/

VB.net関連スレ
【老若】VB.net質問スレ【男女】
http://pc3.2ch.net/test/read.cgi/tech/1025848458/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
2デフォルトの名無しさん:03/02/01 01:05
漏れが2ゲットしてもいいのか!?
3get
4デフォルトの名無しさん:03/02/01 16:34
(*´д`*)アハァ ・・・VB知らんけどこの顔が我慢できない・・・
5まえすれの1000:03/02/01 16:39
ハァハァしてる奴がいてね。
あ、とかいれといた
密かに始めてアハァのAA入れたの漏れだけど。
>>1
馬鹿が・・・・
前スレと同じ顔文字じゃねーか。
8デフォルトの名無しさん:03/02/01 17:37
9デフォルトの名無しさん:03/02/01 17:49
8歳ぷろぐらまー

いや〜感動した。
>>9
ドガイシュツ。
11デフォルトの名無しさん:03/02/01 17:56
馬鹿の使うVBスレはsage進行でお願いします
>>11
(*´д`*)アハァ
馬鹿が使うのはCだろ
14デフォルトの名無しさん:03/02/01 18:03
>>13
Cが使えない事にコンプレックスを持っている開き直りVBオンリーPG
(*´д`*)アハァ ハァハァ
VB.NET厨がVB厨をけなしてもしょうがないだろ。
17デフォルトの名無しさん:03/02/02 09:14
(*´д`*)アハァ C…C++…C#… ハァハァ
インストーラー無しのVB6ランタイムってどっかで配布してませんか。
もしくは、VB6ランタイムとして配布されているのに入っている
ファイル群が一覧で書かれているサイトを教えてもらえませんか。

あ、分かりそうなら、全ファイルを書き出していただけるとありがたいです。
(面倒でなければ)
19デフォルトの名無しさん:03/02/02 13:23
すみません、ageそびれました ('A`)
>>18
ライセンスの関係上出来ないことになっているはず。
マイクロソフトに尋ねりゃいいじゃん。
>>21
ワラタ。ひでーな。
23前スレ931:03/02/02 17:33
前回質問して、リッチテキストボックスを使い出力される文字の色を変えようと思ったのですが
selcolorプロパティを使い色を変えようとしているのですが、全ての文字が同じ色に変わってしまったり
色が変わらなかったりと使い方がわからず困っています。
申し訳ないのですが。
フォームに
RichTextBox1が1つだけ配置されているとして
あいうえお(青色
かきくけこ(緑色
さしすせそ(黄色
と表示される例文を作っていただけないでしょうか?
よろしくお願いします。
>>23
オーナードロー
2523:03/02/02 17:44
>>24
調べてみます。ありがとうございます。
>>20
そうでもない。実行ファイルと一緒に配布さえしてりゃOK。
>>23
RichTextBox1.Text = ""
RichTextBox1.SelColor = RGB(255, 0, 0)
RichTextBox1.SelText = "あいうえお" & vbCrLf
RichTextBox1.SelColor = RGB(0, 255, 0)
RichTextBox1.SelText = "かきくけこ" & vbCrLf
RichTextBox1.SelColor = RGB(0, 0, 255)
RichTextBox1.SelText = "さしすせそ"
'色は適当だ。
2823:03/02/02 18:42
>>27
ありがとうございます。
すごく参考になり、上手く作っているプログラムの方に反映させる事ができました。
今まで、SelTextを使わず、
RichTextBox1.text=RichTextBox1.text & "文字列"
としてしまっていました。
今日はこのことでずーっと悩んでいたのですごく助かりました。ありがとうございました。
29デフォルトの名無しさん:03/02/02 18:55
よくあるスクリーンショットソフトの作り方を教えて下さい。
>>29
DC取得してそれを保存すれば良し。
>>28
よけいなお世話かもしれないけど、
RichTextBoxでそうやって色変えて出力するのを大量にやると、
NT系OSで描画がハンパじゃなく遅くなったり途中で固まったりする不具合があるから、
気を付けた方がいいよ。
>>31
代替策はあるんですか?
33ぱぱらぱー:03/02/02 21:49
配列にデータ(文字)を格納して、コモンダイアログを使って拡張子を.txtで
保存したんですが、そのファイルを開いて見ると何も表示されていませんでした・・
listを使ってプレビューを見れるようにしてそれを表示しながら保存すると、表示されます。
ですが、"あいうお"を言うように" "がついたまま表示されてしまいます。

(*´д`*)アハァ

(*´д`*)アハァ
>>33
安易に
open 〜 output 〜
で保存しちゃいけないのですか。
37デフォルトの名無しさん:03/02/02 22:34
Dirで指定Path内のフォルダをループ列挙している最中に、
探しているフォルダがあったら、さらにそのフォルダ内にaaaというフォルダがあるか
またチェックしたいのですが、このaaaフォルダ探索用にDir使いたい所ながら
そこで使ってしまうと、最初に書いたDirループが崩れちゃうし、ってことで困ってます。

こういう場合のチェックの仕方を教えて下さい。
>>37
その1 Dirで得られるファイル・フォルダを先にまとめて取得しループで使う。
その2 APIを使う。
その3 FileSystemObjectを使う。
>>38
FileSystemObject!
その手がありましたね。
ありがとうございました。
>>37
FAQ
ここ↓とか参考になるんじゃないかな。

ttp://www.interq.or.jp/www-user/komurak/progtec/005.htm

今は亡きVBマガジンでも、2年ぐらい前の記事で見た記憶がある。
41デフォルトの名無しさん:03/02/02 23:09
>>37
その4 FileLen()でエラーに飛ばす。
>>41 うん。なかなかつまらないネタだ。
43デフォルトの名無しさん:03/02/02 23:14
エクセルVBAのフォームからPERLのスクリプトを実行する方法てありますか?
>>43
ない
45デフォルトの名無しさん:03/02/02 23:35
そか,残念。
回答,どうもありがとです。>>44
>>44
厨房は引っ込んでろ。
親切で頭のいい >>46 が、>>43 に回答してくださるそうです。
>>47
俺は別に頭いいわけじゃなくてあんたが馬鹿なんだが。

>>43
Shell使えばいいだろ。
49デフォルトの名無しさん:03/02/03 05:54
Imageをタイマーコントロールで移動させると、一瞬黒くなってから表示されるんですが、そうならないようにするにはどうすればいいでしょうか?
>>49
ダブルバッファ
>>49
ちらちらはするけど黒くはならんねぇ。
52デフォルトの名無しさん:03/02/03 07:41
ダブルバッファというのがちらつきを無くすというところまで分かりましたが、
VBでの情報がネット上に存在しなかったため、諦めることにしました
まぁ諦めるのを止める事はせんが、
「ネット上に存在しない」事はないな。
偽者登場(w
5552:03/02/03 07:45
(・∀・)ツレタ!
2人のバッハ(・∀・)人(・∀・)
合体(・∀(・)∀・)
58デフォルトの名無しさん:03/02/03 10:48
part20でも質問したのですが、WIN98にはVB.NETはインストールできないようなので、WINXPにアップグレードしなけばならないみたいです。VB6はお店においてないところが多いです。VB6売ってるショップありますか?
59デフォルトの名無しさん:03/02/03 10:52
>>58
ないから糞VBなんかやめてDelphiつかえって。
60デフォルトの名無しさん:03/02/03 11:01
Delphiって何ですか?
>>60
太陽神アポロンの神殿があるところです。
ギリシャにあります。聖地です。
ようするに検索しろってことです
63デフォルトの名無しさん:03/02/03 13:06
リッチテキストボックスの行間を狭くして
見た目テキストボックスと同じにする方法教えて

(*´д`*)アハァ
初心者に優しいスレッドありませんか?
>>31
やっぱり、代替策は無いのか?
67教えて!:03/02/03 13:17
VBでADODBを使ってSQLのselectでテキスト型のフィールドを引っ張ってくると
中身が消えちゃうんだけど、ちゃんと取得するにはどうすればいいの?
>>63
EM_SET* 系のメッセージだと思う
69デフォルトの名無しさん:03/02/03 14:48
private sub command1_clik
call PutText("txtA" & "1")
end sub

private sub (txt as object)
txt.text="test"
End sub

みたいな感じで「txt.text="test"」とし、
同じ名称+数字 のテキストボックスにどんどん代入したいのですが、
どうすれば実現できますか?

普通のテキストボックスならコントロール配列でインデックスを指定すれば済むのですが、
アクティブレポートのField(テキストボックスと同じ)にはコントロール配列がなく困っています。
70デフォルトの名無しさん:03/02/03 15:02
private sub Command1_Clik()
for i = 1 to 100
call PutText("TxtA"& i)
next i
End sub

private sub PutText(Byval Text as object)
Text.text = "abc"
End sub

というイメージで、
TxtA1
TxtA2
TxtA3
 ・
 ・
 ・


call PutText("TxtA"& i)
private sub PutText(Byval Text as object)

を実現するような方法はないでしょうか?
>>70
こんとろーるはいれつ?
>>69-70
「アクティブレポート」ってどこぞの市販 ActiveX のことか?
どっちにしろまったく知らんため推測に過ぎんし
そもそも 69 = 70 なのかどうかも判らんが (w
Field というのの上位のオブジェクトやコレクションがあんじゃねーのか
例えばこんな感じで
ActiveReport.Fields("TxtA" & i).Text = "abc"
オシロの波形をGPIBで取得するにはどうしたらいいですか?
オシロはLeCroyのLT354でGPIBはInterFace社のPCI-4302です。
>>69-70
AccessではFAQなコントロール配列「もどき」が使えるかも?

(*´д`*)アハァ
76デフォルトの名無しさん:03/02/03 16:52
69=70 です。

返事ありがとう!!
解決したいことをそのまま文にしたためわかりにくかったですね・・。

要は、
txttext1から100までテキストボックスがあるとして、
コントロール配列を使わずに
"txttext" & lngI としてtxttext1 のテキストボックスとして認識させたいのです。
このtxttext1から100をループできないかなと。
7769=70=76です:03/02/03 16:55
実現したいこと

For I=0 to 100
  (txtText & I).text = いろんな値
Next I

です。
>>77
時間かける秒足す分 mod 100とかどうだ? 
79inet:03/02/03 17:13
VB6 sp5 winXP or winMe

Inetコントロールで指定ファイルをダウンロードする手順はわかった。
では、ダウンロード完了だけ知らせるのではなく、ダウンロードの進行状況を表示するには、
どうしればいいのだ?!
非同期ダウンロードでステータス見張るところまでは見当ついた。でもバッファの使い方が詳細な部分まではわからない・・・
誰か助けて!
>>70
Winsockコントロールで作る
> txttext1から100までテキストボックスがあるとして、

ここからして既に何かが間違っていないか?
>>77
CallByName(Me, "txtText" & I , VbGet).Text = 値

>>81
同感
83デフォルトの名無しさん:03/02/03 18:34
DataFieldプロパティってのは、決められたオブジェクトにしか
存在しないのでしょうか?
例えば自分でクラスを作ってDAtaFieldプロパティを備える事は
不可能なのでしょうか?
よろしくお願いします。

(*´д`*)アハァ
>>83
クラスモジュールでそのように書けば可能だけど・・・。
 
8783:03/02/03 18:39
>>85
ええ。ソースを書くことが出来れば問題がないんですが・・・。
>>77
これを変形してみそ
Dim a As Control
For Each a In Me.Controls
MsgBox a.Name
Next
>>88
Command1 から 100 までボタンがあったらどうするんだ
>>89
何か問題が?
>>90
漏れの気のせいだった。
>>91
だろ
>>92
漏れ最近、頭の回転が鈍いのだが何とかならんか?
>>93
漏れもなんだよ。寄る歳なみにはさからえんの。
95INET:03/02/03 20:38
コールバイネームなんてあるんだねェ〜。
トコロデ79に意見キボンヌ(⊃Д`)
・゜・(つД`)・゜・
>>93
元は回転が速かったと言いたいのか?
97ActiveReports:03/02/03 21:14
ActiveReportsについて。
ActiveReportsの中で、如何すれば詳細行の一行で五明細を
印刷できるのか?

グループも条件によって変更しなければなら
ないし、ページも。


どこのサイトを見ればいいのでしょうか?


>>97
とりあえず、マルチするな。
99ActiveReports:03/02/03 22:08
マルチにしなければいいのでしょうか?
>>99
その通りだ。
もう来るな。
101ActiveReports:03/02/03 22:22
何様だ!笑
おもろかったです。
では
102デフォルトの名無しさん:03/02/03 23:30
>>79
AsyncReadProgress はどう?
103デフォルトの名無しさん:03/02/03 23:36
ラベルのコントロール配列を二次元配列にすることは可能ですか?
>>103
一次元配列を二次元配列風に扱えばいいだけではないでしょうか
105デフォルトの名無しさん:03/02/03 23:54
環境:VB.NET

テキストボックスの中から例えば"ABCD"という文字列から"EFGH"という文字列までを検索し
"ABCD"から"EFGH"までの全ての文字列を抽出したいのですが、
現在は
変数X = "ABCD"
変数Y = "EFGH"
変数a = InStr(TextBox1.Text, 変数X)
変数b = InStr(TextBox1.Text, 変数Y)
If 変数a > 0 And 変数b > 0 Then
変数c = 変数b - 変数a
TextBox1.Select(変数a , 変数c + 5)
変数P = TextBox1.SelectedText
Label1.Text = 変数P
という感じでやっているのですが、こうすると大文字と小文字の区別が付かなくて、
"ABCD"≠"abcd"となります。
大文字と小文字の区別無く抽出したいのですが、どうすれば良いのでしょうか?

見にくかったり、意味不明だったらすいません。
106デフォルトの名無しさん:03/02/04 00:14
visualの言語をひとつやろうと思うのですが、VBはいいものですか。
今までは、Cのコンソールプログラムだけでした。
あんまり高度なことはしません。研究上のちょこちょこっとした
数値処理とかで、せいぜい入出力と簡単なグラフィックのライブラリが
使えるだけでいいです。実行が極端に遅いのだけは困るのですが。
>>105
.netはこっち。
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

要は、変換しちゃえばいいってこと。.netはよく知らないが、StrConvとか
Ucase,Lcaseとかはないのかな?
>>106
処理速度は、プログラムによっては極端に遅くなります。
大量の計算は、少々辛いです。
>>106
速度気にするんだったら、Delphiが良いんじゃない? Personalなら無料だし。
VBと使いやすさはかわんないし、速いしね。

http://www.borland.co.jp/delphi/personal/
数値処理ならVBも速度は変わらないよ。
111105:03/02/04 00:37
>>107
レスサンクスです。
誘導スレのほうへ移動します。
112デフォルトの名無しさん:03/02/04 00:38
106ですが、デルファイはパスカルですよね。
あのendが気持ち悪いです。
endのあとにピリオドあったりなかったりこんがらがった覚えがあります。
113デフォルトの名無しさん:03/02/04 00:40
>>109
半年ぐらい前かな、この板でVBとDelphiのベンチやったけど、
結果は同じくらいだったよ。
VBでもいいとは思いますが、計算ライブラリがそろってたりと色々便利なので、
思い切ってMATLABを買っちゃいましょう。
115106:03/02/04 00:40
>>112は偽者。そして釣り
116106:03/02/04 00:43
VB.netになって、数値ライブラリはC++などと共通に
なってるのではないですか?
もしVBが遅いとすると、制御文のコンパイル結果が
他の言語よりたどたどしいとか、だと思いますけどそんなに違いますかね。
.netframework上の実行とネイティブコードとは速度に違いはありますか?
>>116
C++とは共通にはなってないなぁ。
>>117
C++に数値ライブラリがあったか?
つまるところ、技術計算主体であれば、MATLABが一番目的にかなっているということです。
VB等は帳簿とかそういった方向性でしょう。
>>118
<math.h>
121106:03/02/04 00:52
matlabですか。調べて見ます。
とりあえず比較的早い言語より、2,3倍遅いぐらいなら問題ないです。
十倍超えるとちょっと嫌です。
>>121
実際の正確な速度は誰も知らんから試してみれ。
もっともあなたがまともな方法で試せる力があるかどうかは知らんがな。
>>122は無いと見た。
MATLABが高すぎならhttp://www.matx.org/も見れ
どの程度の機能が必要かも分からんのにいろいろと出すなよ。
ただの宣伝としか見えないぞ。
126106:03/02/04 01:18
基本的に、計算の部品は、行列計算、ガンマ関数、誤差関数などです。
ユーザー関数使ってますが、数値ライブラリで速くなるならうれしい。
>>110
本気?
Delphi の演算速度は C++ とほぼ一緒だよ。
Blitz++
>>113>>127の意見から VBとC++の演算速度は
同じということになるなぁ(藁

では、VBが一般的に遅いと言われる理由は何なんでしょう...
130デフォルトの名無しさん:03/02/04 10:52
VBはネイティブコンパイルして最適化かけても遅いよ。
前に大量の数値計算する必要があるプログラムを組んだ時、
あまりの遅さに計算部分だけVC++でDLLにしてコールするようにした。
結果は、はっきり数値では出せないけど、軽く数倍は違った(少なくとも倍以上)
VBは大量の数値計算には向いていない。
Delphiは使ったことがないが、VBと計算速度がほぼ同じという話が本当なら、
計算速度は VC++ >(越えられない壁)> VB,Delphi ってことか。
>>130
違う。
C++ ≒ Delphi >(越えられない壁)> VB
>>131
俺がDelphiを使う機会は多分ないと思うんだが、
Delphi製のソフトはバグが多いという印象が強くてあまり好きではないな・・・。
付箋紙2000、ホットゾヌ、AirCraft、AirWeb・・・
どれもバグバグ。基本ライブラリがあやしいんじゃないかと疑いたくなるよ。
スレ違いsage
133INET:03/02/04 11:07
>>102
サンクス!キーワードにして検索してみる
>>133
どの言語で作られたソフトでもそれなりにバグあるだろ。
むしろ VC++ 製のやつのが多いんとちゃうか?

(*´д`*)アハァ
スレ違いつーか誤爆? delphiしか合ってね−
>>134
まあ、VC++製のソフトでバグバグなものも大量にあるだろうが、
作成されてるソフトの絶対数が違うからなあ。
正確に個数調べたわけじゃないからアレだが。
138デフォルトの名無しさん:03/02/04 13:18
>105
比較規則を指定するが吉。
VBTEXTCOMPERE
VBBINARYCOMPERE
で検索してみれ。
スペルが違っていたなら、
INSTRをMSDN検索で確実にヒット。
悲しいかな。
delphiはVBと同じ速度だと思われるほど廃れたんだな。
んなわけなゃーで。
えっ? VBが遅いって。口だけ。
ネイティブコードコンパイルしても本当にネイティブになってる
部分って相当少ないんじゃなかったっけか?
よし、おまいら、
ここらでハッキリさせようじゃないか。

VB,VC++,Delphiの3言語が自前の環境に揃ってる香具師、
ちゃんとした方法で実験して、
その結果を、具体的な数値で明確に晒してくだちぃ。

喪前が試せやって言われそうでつが、
漏れ、3つ揃ってないんで(´д⊂)
>>142
三つそろっているが、ちゃんとした方法が分からない。

めんどくさいのもあるが。
VC++ ≒ C# > Delphi ≒ BCB > VB ≒ Java
145 ◆b0UXJ88Ngw :03/02/04 16:37
すいません。質問です。
今、VB6.0sp5でアプリケーションを作成して、ディストリビューションウィザードを使用して、
セットアッパーを作ってるんですが、
Windows2000sp3 で作成したアプリケーションが、98・98SE・MEにインストールすると、
OSを破壊してしまいます。
なにか、ご存知の方、又は、対処法・及び代替案をお持ちのお方、
いらっしゃいましたらご教授お願いします。
146デフォルトの名無しさん:03/02/04 16:43
http://homepage3.nifty.com/digikei/ten.html
   キタ━━━━━(゚∀゚)キタヨ━━━━━ !!!!
セットアッパー・・
>>145
もっと具体的に示せ<OSを破壊

・・・というか、喪前のプログラムで
NT(2k)Onlyなコードを組んでるんじゃないのか?(藁

インストーラ自体に問題があるんなら、
今更、ディストリビューションウィザードなんか使わず、
Visual Studio Installerでも使え。
149セットあっぱぁ:03/02/04 19:40
VB6、OS:win2000sp3 この環境でVisual Studio Installerを用いて、インストーラを作ってみたんですが、これって98やMEに正しくインストールできる方法ってあるのでしょうか?
>>149
というか、ディストリビューションウィザードよく見てたら、環境変数使ってるの
分かるっしょ。
%SystemRoot%みたいな。
151デフォルトの名無しさん:03/02/04 21:58
今後のwindowsでもvb6は使え続けますか?なんか.net高いし、重いし買ってない。
ヘルプをよく嫁
153デフォルトの名無しさん:03/02/04 22:45
2重起動防止ルーチン(ウィンドウ名で判定)を作ってみたよ。どうでしょ。
ちゃんとウィンドウ復帰もします。
Celeron650で0.04秒ぐらいかかる。(ソフト10個ぐらい起動)
宣言等は省略
Sub Main
 Ret = EnumWindows(AddressOf fEnumFindProc, 0)
 Load frmMain
 Call CreateWindowEx(0, "STATIC", AppDistinguishID & frmMain.hWnd, &H40000000, 0, 0, 0, 0, frmMain.hWnd, 0, App.hInstance, 0)
End Sub
154153:03/02/04 22:46
モジュール部(fBufEditはNull以前の文字列を返す関数)
Public Const AppDistinguishID= "APPNAME"

Public Function fEnumFindProc(ByVal handle As Long, ByVal lParam As Long) As Boolean
  Ret = EnumChildWindows(handle, AddressOf fEnumChildFindProc, handle)
  fEnumFindProc = True
End Function

Public Function fEnumChildFindProc(ByVal handle As Long, ByVal lParam As Long) As Boolean 
  Name = String(255, Chr(0)) 'バッファ確保
  Leng = Len(Name)
  Ret1 = GetWindowText(handle, Name, Leng) '名前を取得する
  If fBufEdit(Name) = AppDistinguishID & lParam Then
  fEnumChildFindProc = False
  Call ShowWindow(lParam, 9)
  Call SetForegroundWindow(lParam)
  End
  Else
  fEnumChildFindProc = True
  End If
End Function
>>153
で、肝心のコールバック関数書かないってお前頭大丈夫かと。
>>154
さて、

ハイパーモナーテキストエディタ -C:\CONFIG.SYS

とか言う文字列を持つアプリケーションだったらどうするの?
>>155
(*´Д`*)アハァ・・・
158153:03/02/04 23:11
>>156
ん?どういうこと?
159デフォルトの名無しさん:03/02/04 23:11
オシロの波形をGPIBで取得するにはどうしたらいいですか?
オシロはLeCroyのLT354でGPIBはInterFace社のPCI-4302です。


>>142
小さい方から数えて 20000 個の素数をエラトステネスのふるいにより算出する時間をミリ秒で計った。
PentiumIII-800、768 MB、Windows XP Pro SP1、VC++6 Pro SP5、VB6 Pro SP5、Delphi 6 Personal

VC++ (Debug)  : 10034
VC++ (Release) : 9724
VB (IDE)      : 49992
VB (P コード)   : 40007
VB (最適化)   : 9944
VB (詳細最適化): 9784
Delphi        : 9854

何気に、誤差程度の違いしかなく拮抗している。
漏れは Delphi をよく知らないので改良の余地はあるかも知れぬるぽ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=63
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>160
>>159
GPIBコマンド送ったらいいだろー。ひょっとしてライブラリだかドライバだか知らんが、
ソフト入れてないのか?
163デフォルトの名無しさん:03/02/05 00:05
>>160
おつかれ〜
VC++の遅さが意外だった。配列使ってるのに。
ってか、コード生成の違いによるベンチマークなんて、
GUI以外意味を持たないでしょ。
>>164
(ーдー)
>>164
何だって?
VB で IDE から実行するのって遅いんだな。
P コードと同じくらいだと思ってた。
>>158
浮かれる気持ちはわかるが自分のアルゴリズムの弱点位は自分で把握しておこうなってこった。

169デフォルトの名無しさん:03/02/05 00:27
うん。
高速化の小技をIDEでいろいろ試してみてひとり満足。
でも、コンパイルしたら、ほとんど差がなかった(笑)。
170153:03/02/05 00:34
>>168
いや・・・・
ソースちゃんと読みました?

あ、コールバック関数内でEndやっちゃうとまずいのかな。
フラグ立ててEnumWindows終わってから終了処理という風にしたほうがよいかも
2 重起動チェックだけに使われるものをみんな Public にする神経
つーかこれ、あっさりクラックされるよな。
何で Mutex を使わないんだ?
EnumWindows() と Load frmMain の間に、別のインスタンスが入り込む
スキはあるわけだ。
174INET:03/02/05 07:49
>>160
ほんとに計ったなら称賛に値しる!口だけのヤツよりよっぽど説得力あるね。
まあソスウ探索だけがプログラムではないから、意味ナイと言えば意味ないけど数字を見るのは嫌いじゃないぞ
∧_∧
(´∀`)
−−∪−∪−−






MUTEXってなに?
175デフォルトの名無しさん:03/02/05 07:54
>>174
DDEの昔の言い方。


176153:03/02/05 08:38
>>173
納得しました。
でもまぁ普通にソフト起動するならありえそうも無いので・・・
>>176
後、同じ名前のタイトルバーが複数存在しないとも限らない。

そのコード、二重起動の例でダメな例として必ず提示される物なんだよ。
>>176
> でもまぁ普通にソフト起動するならありえそうも無いので・・・
あまい。
低スペックのマシンや高負荷状態で、ユーザーがシュートカットをクリックしまくるだけで、
簡単にその状態になる。

拡張子と関連付けなんかされてると、もう最悪。
複数のファイルを一気に開くと、ほぼ確実に不具合が発生。
まぁ、素直にmutex使ってろってこった。
180デフォルトの名無しさん:03/02/05 10:40
>176
何故、みんなが素直に既存の同じ方法を使うのか考えよう。
作業効率を上げるためだけで無いのだよ。
>176
取り敢えずこれでも嫁。
http://members.tripod.com/~masapico/doc_AppExec.html
なんにせよ、レース状態の発生するプログラムは組むべきではないと。

プロセスって信手段の乏しいスレッドみたいなもんだからなぁ。
通信は出来ても排他制御は難しい。

まぁ、そのためのmutexなわけだが。
184デフォルトの名無しさん:03/02/05 14:44
menuをドロップダウンした状態で画面コピーしたいんですが、
どうしたらいいのかな。
 CTL+ALT+PrintScreenするとメニューが閉じちまいます。
185デフォルトの名無しさん:03/02/05 14:55
画面の解像度1024*768で製作したプログラムを解像度を800*600に設定して
実行すると、フォームが大きすぎて画面に収まりきらなくなってしまいました。
そこでフォームにスクロールバーを付けてスクロールして表示できるようにしようと思うのですが
フォーム全体が上下に動いてしまい(恥 上手くスクロールできません。
初歩的な質問で申し訳ないのですが、フォームが画面に収まりきらなくなったときだけスクロールバー表示させ動作させる
方法を教えて下さい。ヒントだけでも結構です。お願いします。
>>184
一定間隔でスクリーンショットを撮る常駐ソフトを使えば?
Vectorあたりにゴロゴロあるよ。
マジレス。
>>185
フォーム内のコントロールを全部フレームコントロールにでもおさめて
まとめて移動させる。
もちろんスクロールバーは自前で配置、計算して処理する。
これより簡単な方法があったら俺も知りたい。
あと老婆心ながら、「初歩的な質問」とか余計なことは言わないほうがいい。
初歩的と思うなら自分でやれって煽られるもとだ。
マイコンピュータ(フォルダ)では、ALT>F>PrintScreen (連続で迅速に) とすると可。
メニューにショートカットが無ければ プルダウン中にPrintScreenのみ(全画面)
ビットマップで編集なされ。  (CTL要らんぞ?)
>>185 MDIにするとか
190185:03/02/05 15:15
>>187
ありがとうございます
さっそく試して見ます。
言葉遣いにも気をつけます。忠告ありがとうございます。

>>189
調べて見ます。アドバイスありがとうございます。
191184:03/02/05 15:30
>>186
 ゴロゴロ? 探して身マース。サンクス 
>>188
 マイコンピュータフォルダー内にプログラムコピーして
 そこで実行しるってことね。やってみま。サンクス
>マイコンピュータフォルダー内にプログラムコピーして
ちゃう
193184:03/02/05 15:40
192>>
 えーー? 漏れの頭では想像を絶する文章だ。
「マイコンピュータ(フォルダ)では」とは、VBのフォームのmenuではなくて、
「マイコンピュータ形式のフォームのmenuでは」ってこと?
残念ながら、もれにはそういうフォームは作れません。
194184:03/02/05 15:44
>>192
分かったピー。ショートカットつけろって琴ね。さんくす。
195192:03/02/05 15:49
>>193
概ねそうゆうこと。Officeとか市販アプリのドキュメントを作ってるなら上のケースで、
自作アプリとか、右クリックのメニューとかの場合はBMP編集をということです。

綿氏の場合、
 1.全画面のイメージをコピーしてピクチャにセット、
 2.マウスで好きなところを選択
 3.キー操作で選択範囲をクリップボードにうp
というツール作って活用してます。
(「このコンボボックス(プルダウン中)周りだけ」とかがドキュメントに要るので)
196184:03/02/05 16:07
>>192
 わかりやした。
ご丁寧にどうもです。
ドロップダウンと追いかけっこしてました。ハァ-。
197VB初歩の初歩:03/02/05 17:31
outlook(2000,2002)の自動仕訳ウィザードで携帯にメールを転送するさいに、メールヘッダの"FW:"と本文の"original message"を外すVBを書きたいのですが、初心者なので、まったく分かりません。教えてください。
198もぐり:03/02/05 17:35
高水準言語を用いて作成されたプログラムをなんというか、答えれ

(*´д`*)アハァ
200192:03/02/05 18:02
せっかくだし・・ ttp://cgi.2chan.net/up/src/f0331.lzh
201153:03/02/05 18:31
>>177
いや、ですから、よくソース読んだ?って言ってるんですよ
タイトルバーから判断するんじゃないです。
入り込む隙があるってのはなっとくしましたし、実際にやってみたら確かに起動してしまいました。
202デフォルトの名無しさん:03/02/05 18:32
タスクトレイに駐在させといて、あるキーを押すと反応させるには
どうすればいいですか?
>>202
グローバルフック。と言うわけでVBでは無理。
204デフォルトの名無しさん:03/02/05 18:48
WindowsAPIでも無理ですか?
205デフォルトの名無しさん:03/02/05 20:12
dllの関数を呼ぶのですけど、
LPWORD にはどうやって渡したらよいのでしょうか

ByRef の 16bit型?(ってあったっけ)


>>205
どうせ内部で32bitポインタになるならAnyとかでいいんじゃないの?
207デフォルトの名無しさん:03/02/05 20:20
anyってなに?
>>202-203
グローバルフック、ホットキー、Timerでストーキング

>>205
LPWORDならByRef HOGE As Integerでないかい?

>>207
Declareのヘルプ嫁
209デフォルトの名無しさん:03/02/05 20:59
>>208
てめーが嫁
210208:03/02/05 21:33
>>209
すまん、win32なら BeRef HOGE As Long だ
風邪薬飲んで寝る・・・
>>197
Outlookなぞ使わず、VBでメールを受信して転送するプログラムを書け
ttp://www.hi-ho.ne.jp/babaq/basp21.html
212デフォルトの名無しさん:03/02/05 23:19
日本語版のVB6でプログラムしています。
この中の日本語を英語にすべて置き換えて英語版にしようかなと思っているのですが
英語版のWindowsで、正常に動作するのでしょうか?
英語版のVBは日本語OSで動きますが、その逆がどうなのか不安です。
そのような経験がある方、是非教えていただけませんか?
213デフォルトの名無しさん:03/02/06 00:11
フォームの再描画を一時的にストップさせたいのですが、どうすればいいでしょうか?
下記のようにやってもうまくいきません。

Private Sub Command1_Click()

Me.AutoRedraw = False

Me.Text1.BackColor = vbRed 'ここで再描画してほしくない
Me.Text2.BackColor = vbBlue 'ここで再描画してほしくない



Call DoSomething

Me.AutoRedraw = True 'このタイミングで一気に再描画したい

End Sub
>>213
どういう場合?具体的に言えんか?
>>213 これでいいだろ?
Call DoSomething
Me.Text1.BackColor = vbRed
Me.Text2.BackColor = vbBlue
216デフォルトの名無しさん:03/02/06 00:29
212です。
実際にはもう少し複雑なことをしてるんですが、
いろいろな条件によって
ボタンやテキストを非表示にしたり再表示したり
色を変更したりしてるんです。
その条件判断が結構重くて、クリックしたときに
描画の途中結果が見えるんで不自然なきがするんです。
処理が早ければ気にならないんですが、
なんなんで、最後にまとめて再描画すればいいかなと思ってるんです。

よくGridとかはループでレコードセットの内容を追加するときに
autoredrawをfalseにして対処したりしてるんですが、
同じことをフォームでやるにはどうすればいいのか教えてください。
>>213
AutoRedraw = False が何を期待してるのかわからん。
最初から AutoRedraw = True にしっ放しというのはダメなのか?

あとは、非表示 PictureBox に描画して、描画完了後に Form に PaintPicture というのはどうだ?
>>216
処理の途中で描画するなよ。UIは完全に無視して処理を行って
その結果を最後で描画しろ。
つーかお前は212なのか?
219デフォルトの名無しさん:03/02/06 00:44
212です。
下記のような処理でflg=0で実行したあとにflg=1で再実行すると
text3が一瞬表示されて非表示になりますよね。
これを防ぎたいので、最後に描画したいんです。
最初に初期化しなきゃいいんですけど、
大量にあってとても面倒なので現状はそうしてます。


Sub a()
'全て初期化
Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True

If flg = 0 Then
Text1.Visible = False
Text2.Visible = False
Text3.Visible = False
ElseIf flg = 1 Then
Text3.Visible = False
Text4.Visible = False
Text5.Visible = False
End If

’ここでまとめて描画したい
End Sub
220 :03/02/06 00:48
(*´д`*)アハァ…
なんでコントロール配列使わないんだろ......
221 :03/02/06 00:50
コレクションにコントロールを追加してやって、
ループで一気にプロパティ設定でもいいんじゃない?
222 :03/02/06 00:55
TEXT3.VISIBLE=FALSEじゃなくて、

TEXT3.LEFT=-1000
TEXT3.TOP=-1000
だったらフォームから消えるからちらつかないと思うが。
後で戻せばいい
>>200
これはただの例であって実際は1〜5なんて名前でもVisible=Trueだけでも
ないんじゃない?
最後の手段としてつかえよ。LockWindowUpdate
225220=221=222:03/02/06 01:04
>>223
うん、だから221の方法だと大丈夫でしょ
>>225
> Me.Text1.BackColor = vbRed
> Me.Text2.BackColor = vbBlue
これをどのようにコレクションに入れるんだ?
227デフォルトの名無しさん:03/02/06 01:22
224さん、ありがとうございました。
下記の方法でなんとかなりそうです。
あと、ちにあみにLockWindowUpdateで解除するときNULLを指定すると書いてあったんですが、
VBでAPI呼ぶ時にNULLは0でいいんでしょうか?
一応、下記は正常に動いてますが、少し不安です。
Sub a()
Dim l As Long
'フォームをロック?する
Call LockWindowUpdate(Me.hWnd)

Text1.Visible = True
Text2.Visible = True
Text3.Visible = True
Text4.Visible = True
Text5.Visible = True

'とても重い処理
For l = 0 To 10000000: Next l

If iflg = 0 Then
Text1.Visible = False
Text2.Visible = False
Text3.Visible = False
Else
Text3.Visible = False
Text4.Visible = False
Text5.Visible = False
End If
'解除
Call LockWindowUpdate(0)
End Sub
228224:03/02/06 01:24
>>227
最後の手段として使えといっただろうがボケ。
Text1.Visible = (flg <> 0)
Text2.Visible = (flg <> 0)
Text3.Visible = (flg <> 0) And (flg <> 1)
Text4.Visible = (flg <> 1)
Text5.Visible = (flg <> 1)
230デフォルトの名無しさん:03/02/06 01:29
>>229
dim flg as Boolean
使えよ
それ以前にバグ。
232デフォルトの名無しさん:03/02/06 01:34
ていうか仮のコードだとしてもコントロール配列使ってよ
なんで本来txtHogeとかtxtHageとかtxtTURUとかいった違う名前のものを
コントロール配列にしなきゃならん?
Text1だの2だの書くなら一個でいい
一個じゃ条件で分けにくいだろ。まぁこの場合は3個でいいとは思うが。
おまいら叩きすぎ(;´Д`)
>>230
そんな事したら Text3 の立場はどうなる?

(*´д`*)アハァ
もうそろそろ、ツレタとか来るんだろうな。きっと。
240239:03/02/06 02:17
 ∧||∧
(  ⌒ ヽ 吊れた
 ∪ 。ノ
  ∪∪
   ||/
   /||
 /∧||∧
  ( / ⌒ヽ 
   | |   | 
   ∪ / ノ
    | ||
    ∪∪
         ∧ ∧,〜
        ( (⌒ ̄ `ヽ    _
          \  \ `ー'"´, -'⌒ヽ
         /∠_,ノ    _/_
         /( ノ ヽ、_/´  \
       、( 'ノ(     く     `ヽ、  命を粗末にしてはならん!
      /`   \____>\___ノ
     /       /__〉     `、__>
242212:03/02/06 05:37
本当の212です。
むむぅ、やはり特殊なことなので分かる人は少ないでしょうか…
ショウガナイカラ マシ''レス

SendMassageのメッセージの中にウィンドウの更新させない(再描画させない)のがあriます

From1をメッセージで一旦描画を止める
 ↓
ボタンやテキストを非表示にしたり再表示したり
色を変更したりしてるんです。
 ↓
From1をメッセージで描画を再開する
 ↓
Form1.リフレッシュ
 ↓
できた!!

メッセージはよく覚えていません
たぶん REDRAW が入っていたと思います
(メッセージ マジ思い出せない 間違っていたら ごめそ)
244デフォルトの名無しさん:03/02/06 11:08
おーい。日本国の年号にならない。
平成2003になる。
何とかしてくれ。
lblDate.Caption = Format(Date, "平成yyyy年mm月dd日") & Format(Time, "hh時mm分ss秒")
245デフォルトの名無しさん:03/02/06 11:15
yyyyは西暦では?
gggeなん?しらんけど
246:03/02/06 11:21
>>212
PictureBox上にTextBoxを配置するとちらつかないようです。
なんでそうなるかは知りませんが。

>>243
WM_SETREDRAWですか?
247244:03/02/06 11:35
いけた。サンクス。
何で”ggge”なんや?ようわからん。
>244

プ。
あたりまえ
>>244 >>247
ヘルプって知ってる?
日本語読めるなら読んどいた方がいいよ(w
250デフォルトの名無しさん:03/02/06 12:12
相変わらず馬鹿な質問が多いな。。。
流石VBスレ

(*´д`*)アハァ
>>250

WM_UNKO、WM_KUSO
のウィンドウメッセージが多量に飛んで来て、メッセージキューが
いっぱいになってしまいます。
このメッセージを発生させなくするにはどうすればよいですか?
>>252

メッセージの発生源を削除汁

Kill VB
> メッセージの発生源を削除汁

Kill >>252
255デフォルトの名無しさん:03/02/06 15:38
タスクトレイに常駐するアプリを作っているのですが、
トレイアイコンクリックで
PopupMenu Form2.mnu
このようにポップアップメニューを出しているのですが、
メニューのどれかを選択するまでは、他のウインドウにフォーカスが
移ってもずっとポップアップメニューが表示されたままです。
これを、消すにはどうすればよいのでしょうか。
>>260
できました!! ありがとうございました。
>>256
260の人、責任重大だなw
つーか、自分の質問番号を名前に入れないと、誰が解決したのか分からんぞ。
258:03/02/06 16:48
>>255
PopupMenu 〜 の前に
SetForegroundWindow Form2.hwnd
をすればうまくいくと思います。
>>257
IPアドレスじゃダメれすか?
 ケツの穴をズブズブ突かれて気持ちよくなって、大声で喘ぎ声をあげてリラックスしていると、ケツの穴は入れられたときよりかなり開いてくるんだ
 ケツの中がローションでグチョグチョだと、そのうち、タチが緩くて滑りやすくて物足りないって感じるようになってくるよ
 だから、掘られているときに余裕がでてきたら、ケツを締めてタチを気持ちよくしてあげようね
(*´д`*)アハァ…
fuck you >1-1000
263255:03/02/06 18:19
>>258
どうもありがとう!直りましたよ!!
でも、どうしてこうなるんですか?
どこか説明してるサイトってありますかねー。
>>251>>261
毎日毎日ウザい。
無駄にレスが流れるからやめれヴォケ。氏ね!
265:03/02/06 19:42
>>263
http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b135788

これによると、メニューを出した後、
PostMessage(hDlg, WM_NULL, 0, 0);
を実行しろと出ていますね。

VBの場合でも必要かどうかは、私には解りません。
266デフォルトの名無しさん:03/02/06 20:21
MSHFrexedContorolの使い方で悩んでます
セルの幅を変更したいのですが適当なプロパティが見つかりません
セル幅は固定?
>>264
(*´д`*)ヤットツレタ… アハァ…
>>264タン
(*´д`*)ハァハァ…
(゚Д゚)ハァ?
270デフォルトの名無しさん:03/02/06 22:45
ツールボックスに自分でコントロール追加すると、
新しくプロジェクト作成したときに追加したコントロールが
なくなってしまいます。追加したコントロールをそのままにするには
どうしたら良いのでしょうか?
>>270
無理
272:03/02/07 06:46
>>270
template に登録する。
273INET:03/02/07 12:30
結局、ダウンロードの状況(%)はどうやってとるんだ、GETCHUNKについて説明キボンヌ。このメソッド自体は同期実行なの?
>>273
誤爆?
275デフォルトの名無しさん:03/02/07 12:43
CrystalReport使っておられる方がおられたら、教えて下さい。

CrystalReportオブジェクトを貼り、コード上から動的に
打ち出すプリンタを変更したいのですが、それらしいプロパティが
見つからず苦戦しております。

Reportを作る段階で指定したプリンタ以外のプリンタに
打ち出すにはどうしたらいいのでしょうか。
276デフォルトの名無しさん:03/02/07 14:33
「ファイル名を指定して実行」(winキー+Rで出るヤツ)みたいな事はどうやれば出来ますか?

ファイル名を指定して実行は、exeのパスを入力すれば起動するのは勿論、
txtファイルを指定すれば関連づけられたプログラムで開かれるし、
Windowsディレクトリ等パスの通ったディレクトリにあるものだったら、フルパスじゃなくても起動したり、
exeのフルパスの後にスペースあけてコマンドライン引数つけて起動できたりと凄く柔軟ですけど、
こんな感じの機能はどうすれば実装できますか?

Shell関数だとtxtファイル指定しても関連づけられたプログラムで起動しなかったりと、
同じような動作にはならないです。
277デフォルトの名無しさん:03/02/07 14:41
>>276

Shell "Start C:\hogehoge.txt"

これじゃ駄目?(笑

地道にAPIのShellExecute使うとかの手もあるが、めんどくさいなら
Startが楽でいいぞ。
互換性は多分Windows95初版以降ならどれでもOKだと思う。
(*´д`*)アハァ…
VB始めようかな・・・
279すー:03/02/07 19:55
どなたか教えてください。

VB6+VB6付属のクリスタルレポートで、Win98
上で動いていたものをWin2000で動作させると、プ
レビューされなくなりました。
プリンター出力は可能です。
CRPE32.DLLでAPIを使用しています。
 PEStartPrintJob(プリントジョブ, 0)
こんな感じです。
Win2000では、対応していないのでしょうか?
なので、OCXに切替えてみたのですが、今度はSQLサ
ーバーエラーになってしまいます。
Text Driverで、CSVファイルを使用してます。
ロジックは、
CrystalReport1.Destination = 0
CrystalReport1.PrintReport
です。
CONNECTプロパティーも指定するのでしょうか?
280デフォルトの名無しさん:03/02/07 21:03
MSHFrexContorolでセル幅をセルの内容に合わせて自動で
変更させたいのですが、そんなメソッドないですか?
セルの幅はピンポイントで設定できましたが、、、
このスレも微妙だな・・・(;´Д`)
282デフォルトの名無しさん:03/02/08 11:27
(*´Д` *) VBマンセー
(*´д`*)アハァ…
284デフォルトの名無しさん:03/02/08 18:56
Visual Basicを始めようと思っています。入門書を探しているのですが、
林晴比古 著の「新Visual Basic入門 ビギナー編」を知り合いに勧められ
ました。この本amazonでもレビューが参考になった人が多いみたいですし
良本なのでしょうか?
どなたか教えてください。お願いします。

http://www.amazon.co.jp/exec/obidos/ASIN/4797307595/
>>284
>Visual Basicを始めようと思っています

何で今更。
286284:03/02/08 19:03
もうVisual Basicは流行ってないんですか?
VBは便利な余技です(*´д`*)アハァ…
>>284
どの言語でも、どの本でも、この一冊がありゃOKというものでもない。
最初はわからなかった本でも、レベルアップしてもう一度読むと、新しい
事が見つかったり。
289284:03/02/08 19:42
>>288
もちろんそれは承知です。
ただ、>>284に書いた本は内容としてはどうかを知りたいのです。
ちゃんとレビューもあったでしょうに。
近くに本屋はないのですか?自分の目で見てはいかがでしょうか
>>289
3000円しないかなり安い本だし、とりあえず買ってみたら?
>>284
悪くないと思うよ。

というか、他人に意見求めるのもいいが、
本屋に行って立ち読みでもしてみ。
293デフォルトの名無しさん:03/02/09 04:28
お絵描きソフトのペンツールのみの機能をもったものを作っています。
マウスでドラッグしている間だけLineでフォーム上に描写していく簡単なものです。

そこで質問なのですが、
フォーム内の任意の座標の色を調べるにはどうしたらいいでしょうか。
全て描写し終わった後に判定したいです。
294デフォルトの名無しさん:03/02/09 04:42
getpixel
>>293

Point メソッド

Form オブジェクトやピクチャ ボックス (PictureBox) コントロールの、指定されたポイントの色を示す (RGB) 値を長整数型 (Long) の整数で返します。名前付き引数は指定できません。

構文

object.Point(x, y)
>>294>>295
どうもありがとうございます。
うまく出来ました。
297デフォルトの名無しさん:03/02/10 01:40
よろしくお願いします。

SCMPXとかWinampみたいにデスクトップの端にひっつく動作を
させたいんですがどうしたらできますか?
APIで実装できるんでしょうか?
あのね、タイマーを使うの。
それでね、うぃんどうの座標を調べて、端に近かったら引っ付けるの。
299デフォルトの名無しさん:03/02/10 01:58
>>298
既に試しましたが

ひっついてもカーソルの位置は変わらない
引き離す/押し込むときの遅延ができない

などで悩んでおります。
300デフォルトの名無しさん:03/02/10 02:02
タイマーのほうが簡単かな。
サブクラス使って、フォームの移動を監視する手もあるけど。
301デフォルトの名無しさん:03/02/10 02:05
>>299
カーソルってマウスの? SetCursorPos使った?
遅延って何かな?
即移動じゃなくて少しずつ近づければいいだけじゃないの?
302297:03/02/10 02:18
>>300
ありがとうございます。サブクラス化はまだよく分からないのですが
最後の手段として考えておきます。

>>301
最初は使いました。
SCMPXのひっつき方を観察するとひっつくときに
マウスカーソル⇒数ドット
ウィンドウ⇒端まで動く
なのでSetCursoPosでマウスカーソル自体を動かすのは没になりました。

遅延というのは(すみません、勝手に言葉を作っていました)
ひっついたウィンドウをひっぺがす際にウィンドウをドラッグする時、
カーソルは動いてもある範囲までウィンドウ自体は動かず、
ある範囲を超えたときに初めてウィンドウがカーソルに追従する、
という動きのことです。

>即移動じゃなくて少しずつ近づければいいだけじゃないの?
すみません、もう少し詳しくお願いできますか?
>>302
ウィンドウのドラッグが始まったらサブクラス化かけてWM_MOVEをもみ消して、
マウスポインタがデスクトップの端から一定の距離以上になったらWM_MOVEもみ消すのやめる…
って感じでできない?
304303:03/02/10 04:42
↑はくっついた窓を引っぺがすときの話ね。
説明不足だったんで補足。
>>297
それっぽい動きができたよ。どうかな
Option Explicit

Dim oldX, oldY, flg
Dim saveX, saveY
Private Sub Form_Load()
Me.BorderStyle = 0
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
flg = True
oldX = X
oldY = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim xflg, yflg
xflg = False
yflg = False
If flg Then
If Me.Left = 0 Then
If X - saveX > 200 Then
Me.Left = 200
End If
xflg = True
Else
If Me.Left < 200 Then
Me.Left = 0
saveX = X
xflg = True
End If
End If
If Me.Top = 0 Then
If Y - saveY > 200 Then
Me.Top = 200
End If
yflg = True
Else
If Me.Top < 200 Then
Me.Top = 0
saveY = Y
yflg = True
End If
End If
If xflg = False Then
Me.Left = Me.Left + X - oldX
End If
If yflg = False Then
Me.Top = Me.Top + Y - oldY
End If
End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
flg = False
End Sub
>>303

マウスポインタのデスクトップの端からの距離を計ってもダメ
マウスポインタではなくドラックしているウィンドウの端との距離を計るのが正解
デスクトップの端にひっつく動作を『スナップする』と呼ぶので具具ってにれば...

ひっついている間はウィンドウを移動できないようにするのでサブクラス化が良sage
WM_MOVEを監視する>>303の意見に賛成か?
↑は窓をを引っつかせるときの話ね。
説明不足だったんで補足。

くっついた窓を引っぺがすときは
マウスポインタ監視しなきゃダメだね
一時ファイルのフォルダを指定したいのですが、
MSDNをよむと「特殊フォルダの定数」というところに
TemporaryFolderというのを見つけたのですが、説明に
「コード内で定数を使用するには、目的の定数の定義が入った適切なタイプ ライブラリをプロジェクトから
明示的に参照しておく必要があります。」とかいてあります。
一体どれを参照設定すればいいのでしょうか・・・。
MSDNには説明がいないし、googleで「特殊フォルダの定数」で検索しても出てきません。
>>310
値2って書いてあるんだから、そのまんま2で代入しちゃえば?
コメントで TemporaryFolder とでも書いておけばいい。
あんまりスマートな解決方法じゃないが、とりあえずやっつけたいならこれで。
スマートにやりたいなら、他の識者の方の回答を待ちましょう。
312310:03/02/10 12:05
>311

あの・・・・

msgbox 2
ってやってもあたりまえのように2が表示されるわけなんですが、
たとえばtempフォルダのパスを表示することはこの「特殊フォルダの定数」をつかって
可能なのでしょうか。
定数ってことですが、実行する際に環境ごとのパスを取得してTemporaryFolderには
そのパスが入ってるというイメージだったのですが、違うみたいですね?

WindowsAPIを使う方法しかないのかな・・・・。
>>↑
参照設定ってAxtiveXを参照するための設定
あまり特殊なAxtiveXを使用すると開発環境以外に
インストールされている可能性が低いため開発環境以外で
実行でき無いことが多い
(自分しか使わねー!!よっていうんなら、いいけど)

なるべくAPIを使用するとよい

もしAPIの使用を避けたいのなら
VB関数のなかに Environ というのがあります
strTmp = Environ("TMP")

あの
>一時ファイルのフォルダを指定したい
って一時ファイルのフォルダのパスを取得したい
ですよね...
314310:03/02/10 12:49
>313

参照設定を行ってもディストリビューションウィザードを使ってセットアップを作れば問題ないですよね。
(まあいちいちセットアップが必要&配布ファイルサイズがでかくなりますが。)

Environ("TMP")
まさにこれです。TMPのところは、システムのプロパティの環境変数の変数名を入れれば、
ほかにもいろんな値が取れますね。

>>一時ファイルのフォルダを指定したい
>って一時ファイルのフォルダのパスを取得したい
>ですよね...
ご指摘のとおりです。

すごくたすかりました。ありがとうございました。
(しかし特殊フォルダの定数ってなんだったんだろう・・・。)
「Microsoft Scripting Runtime」を参照設定して、
Set fso = New FileSystemObject
MsgBox fso.GetSpecialFolder(TemporaryFolder)
316デフォルトの名無しさん:03/02/10 13:04
最近流行ってるインターフェース「マウスジェスチャー」を作ってみたいんですが、
あらゆるコントロールでのMouseUp,MouseDown,MouseMoveを得る方法はありますか?
特定のコントロールだけなら、そのコントトールのマウスイベント上でマウスジェスチャーの処理を書けばいいですけど、
ふつう色んなコントロールをいっぱい貼り付けてるわけで、その全ての上でのマウスの動作を調べないとだめなわけですよね。

それとも、マウスジェスチャーを搭載するならもっと良い方法がありますか?
317デフォルトの名無しさん:03/02/10 13:05
DLLのつくりかたを教えてくださいな
319310:03/02/10 13:12
>315

やってみました。
きちんと動きますた。教えていただきありがとうございます。

EnvironはVB内蔵の関数
こちらはVBSやVBAでもつかえる関数という感じかな・・?
>>317

クラスを作ってくださいな
ちなみに API のDLLはVBでは作れませんな

ってこの質問 多すぎる 少しは調べてからレスしろゴルァ

とネタにマシ"レス
>>320
ネタにネタレスじゃなくって?(笑)
322311:03/02/10 14:04
>>312
もう他の人が答えてるけど、そもそもその定数が
FSOのGetSpecialFolderメソッドで使うものと知らないで質問してたのか・・・
道理でおかしいと思ったw
323310:03/02/10 14:46
>322
はい。そうなんです。MSDNで説明してるページ見つけて、そのページからリンクしてるところさがしたり、
同期ボタンを押してみたのですが横の目次のツリー表示のところはトップを表示したままでした。
GPIBでオシロスコープの波形を取り込んでそれを描画する
プログラムを組みたいのですが、どうやっていいか分かりません。
どうしたらいいのでしょうか?
>>342
何かしらのハードウェアが必要じゃない?
GPIB VB で検索
327デフォルトの名無しさん:03/02/10 18:19
Dim Flag as Boolean
Flag = True
Do While Flag = True
If (GetAsyncKeyState(vbKeyA)) <> 0 Then
        'ここに何らかの処理をして、ある条件でFlag=falseにする
DoEvents
Loop

この処理でキーイベントを拾った後、何らかの処理をしたいのですが
このコード以外に何か良い拾い方はありませんか?
初めは最小化やタスクトレイに入っていて、キーを押すと反応する様にしたいのです。
>>327
グローバルフックやホットキーを使えや


そのコードだとCPU無駄遣いとかDoEventsで期待しない動作とか
329327:03/02/10 18:38
>>328
グローバルフックとホットキーはやり方が分からないです。
参考になるホームページがあったら教えて下さい。
>>329
http://www.google.co.jp/
なんていかがでしょうか。
331328:03/02/10 18:51
「グローバルフック」はVBではできません。
333327:03/02/10 19:05
>>331
良いサンプルが見つかりました。
ありがとうございます。
データソースを指定してピボットテーブルを作れるOCXが
どこかのメーカーから出てたと思いますが知ってる人いたら教えて下さい。
もしくはフリーでそのようなocxあれば教えて下さい。
335デフォルトの名無しさん:03/02/11 01:57
VBでUnicodeの文字コードを文字としてプリンタに印字したいのですが、
ChrW関数だと表示できる文字と、"?"の代替文字に置き換えられる文字と
あるのですが、回避する方法ってありますか?
標準では無理なんじゃないか?
337デフォルトの名無しさん:03/02/11 02:06
publicのプロシージャを標準モジュールに入れるのと、
DLLにしてcallするのとどう使い分けますか?
どうって言われても・・・
基本は標準モジュールでいいだろ。
どうしても速度が欲しいなら他言語で DLL 作るが、そんな必要はそうそう無い。
え、DLLって早いんすか。
>>339
クソVBよりは。
VB側から呼び出す速度を含めて、ってこと?
呼び出す速度なんて無いのかな。。
342デフォルトの名無しさん:03/02/11 11:10
>>316ですけど上手い方法ないですかね。
外部DLLとか使ってフックするとかしか手段無しですか?
>>341
初回呼び出しは DLL のロードとかあるので遅い。
けど、それ以降はメモリに乗っかってるのでそうでもない。
TrueDBGridの拡張アンバウンドモードで、グリッドを再描画する際にRebindを呼び出すと、
UnboundReadDataExイベントの中で

Recordsetオブジェクト.Move offset, StartLocation

という処理をしているのですが、極端に時間がかかります。
何が原因でしょうか?
345デフォルトの名無しさん:03/02/11 21:24
教えてください

他のアプリケーションの、コマンドボタンをクリックするするプログラムを作っています
コマンドボタンのウィンドハンドルの取得をして、そこに SendMessage をすればいいと考えていますが、
SendMessage の引数に、どういう値を入れていいのかが解りません

MSDNでは winuser.h というファイルに定義があると書いてありましたが
パソコンにはありませんでした。(VB6のみの環境)
MSDNのどこかに公開されているのでしょうか?
>>345
APIビューア。
347標準DLLを想定:03/02/11 21:34
>>343
メモリには乗っているけどプロシージャ呼び出しごとのオーバーヘッドもなかなか捨てたもんじゃない。
頻繁に呼び出される小さいプロシージャをDLLに置くのはあまり勧めない。
逆にDLL中で長時間作動するようなコードは速度向上につながるけど、その間VB側に制御が帰ってこない。
特に文字列型とかユーザ定義型を引数にしたりすると変換・再配置のコストも多少増える。

ま、その程度の速度が致命的なら最初からVBを選択肢に入れてはいけないんだけどね。
348デフォルトの名無しさん:03/02/11 21:36
おながいします。

ネットワーク上の他のコンピュータにログオンしているユーザー名を取得
したいのですが・・・。
nbtstat -a Pc1
などでバッチファイルで切り出したログ解析していたのですが、もっとこう
直接ユーザー名を知る方法はないものかと。
GetUserNameとか何とか色々APIはあるようですが、ネットワーク上の
他のコンピュータにログオンしているユーザー名は拾えないようで。

よろしくおながいします。
349345:03/02/11 22:19
>>346
ありがとうございます。

定義ファイルは見る事ができたのですが、
どの定数を使っていいのか、見当がつきません。
ボタンをクリックさせる為のメッセージの定義名も教えてください。
よろしくお願いします
350344:03/02/11 23:00
>>344の処理に関わらず、Moveメソッドに時間がかかる時に考えられる原因で、
わかる事があれば教えて下さい。
351297:03/02/12 02:31
フォームをデスクトップの端にひっつかせる方法の質問をした297です。
以下の方法で成功したので報告します。
※WINDOWPOS構造体とRECT構造体は定義済みです。
※本文が長すぎると文句言われました(;´Д`)

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, lParam As WINDOWPOS) As Long
'lParam は WINDOWPOS で固定、コールバック関数も同様
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Public WndProc As Long

Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, lParam As WINDOWPOS) As Long
Dim wRect As RECT, Width As Long, Height As Long
Const Snap As Long = 20 'ひっつくまでの距離の指定

Select Case uMsg
Case &H46, &H47
    SystemParametersInfo 48, 0, wRect, 0
    'デスクトップの領域を取得
    Width = Form1.Width / Screen.TwipsPerPixelX
    Height = Form1.Height / Screen.TwipsPerPixelY
    If Abs(lParam.x) <= wRect.Left + Snap Then lParam.x = wRect.Left
    If Abs(lParam.y) <= wRect.Top + Snap Then lParam.y = wRect.Top
    If Abs(lParam.x + Width - wRect.Right) <= Snap Then lParam.x = wRect.Right - Width
    If Abs(lParam.y + Height - wRect.Bottom) <= Snap Then lParam.y = wRect.Bottom - Height
End Select
WindowProc = CallWindowProc(WndProc, hwnd, uMsg, wParam, lParam)
End Function

今回初めてウィンドウのサブクラス化にチャレンジしてみました。
皆さんありがとうございました。
最近VB6をやり始めました。
ファイルを一行ごとに読み込んで別々のテキストボックスに表示したいのですが
Do Until objFile.AtEndOfStream
strRecBuff = objFile.ReadLine
If (i = 0) Then
Text0.Text = strRecBuff
ElseIf (i = 1) Then
Text1.Text = strRecBuff
ElseIf (i = 2) Then
Text2.Text = strRecBuff
         ・
         ・
         ・
End If
i = i + 1
Loop
こんな風に書いていくしかないのでしょうか。
何行にもわたってしまうのでうまく書けないかと思いまして、、、
よろしくお願いします。
353デフォルトの名無しさん:03/02/12 07:24
TextBoxをコントロール配列にすればよい。
>>352
Controls コレクション とか、for each で検索してみな。
あと If TypeOf とか必要かもね。
355352:03/02/12 08:25
>>353
>>354
初歩的な質問にすばやく答えていただきありがとうございました。
おかげでプログラムがすごくすっきりしました。
>>339
>え、DLLって早いんすか。

DLLが速いわけではない
DLLを作っている言語(Cとか)が速いだけ
VB(6)からSQLサーバーへの接続って普通何使うの?
ADO?
358デフォルトの名無しさん:03/02/12 21:43
VB6SP5でディストリビューションウィザードでセットアップファイルを作ろうとすると、
 予期せぬエラー429が発生しました。:ActiveXコンポーネントはオブジェクトを参照できません。
といわれました。問題の回避方法をご存知のかた教えていただけないでしょうか。
ちなみにどのプロジェクトでもこうなります。
また同じプロジェクトを別のマシンで実行すると、成功します。
>>358
なんとなくだけど、参照設定で参照不可になってるアイテムとかない?
360デフォルトの名無しさん:03/02/12 22:12
>359

Visual Basic runtime objects and proceduresというやつの場所が
c:\winnt\system32\msvbvm60.dll\3
になってました。
言語は標準/英語でした。
場所がすごく変な気がするのですが・・・。
ちなみにその上のVisual Basic For Applicationsの場所が
c:\winnt\system32\msvbvm60.dll
になってます。

なにかソフトをインストールしたときにレジストリをこわされたのかな??
>>360 俺んとこ,そのパスで問題ないが・・
362385:03/02/12 22:36
>361

あれ・そうですか・・。
Webでエラーを調べてみたのですが、レジストリにごみが残ってます。という回答だけがされいるものがありました。
http://www.blk.mmtr.or.jp/~kanou/faq/messages/373.html
>>344 >>350 これの解決法ないでしょうか・・・
>>357
それだ!
365デフォルトの名無しさん:03/02/13 09:18
>>358
Visual Studio Installerは試した?
366デフォルトの名無しさん:03/02/13 09:47
367デフォルトの名無しさん:03/02/13 12:21
DVDの-Rから-Rへのコピー(セクタイメージも含めて)をするには
なにかいいコントロールありますか?
368名無し職人:03/02/13 12:44
>>367
処理開始はコマンドボタンが普通 Private Sub DVDCopyButton_Click()
( ・_ゝ・)ツマンネ
370385:03/02/13 15:14
>365

VisualInsallerをインストールしてみました。そのあとWindowsUpdate(なにかセキュリティ関係のものがひとつ)をして、
念のためSP5をもう一度当ててみた。
ここでちょっとディストリビューションウィザードを使ってみると、なんと動きました。
再インストールで直ったということでしょうか・・・。どうもありがとうございました。
371デフォルトの名無しさん:03/02/13 17:32
VBからAcrobat PDFのファイルを開いて、中身のテキストを取得するには
どうしたらいいのでしょうか。Acrobat5の製品版は持っています。
372デフォルトの名無しさん:03/02/13 18:03
WindowsXP+VB6です。
フロッピーのフォーマットをしようと、myformat.batファイルに
 format a:
と書き、VBから
 Shell App.Path & "\myformat.bat"
と実行しても、一瞬DOSプロンプトが見えてすぐ消えてしまいます。
当然、Formatもされておらず、何が悪いのかさっぱりわかりません。

FDをうまくフォーマットする方法を教えて下さい。
フォーマットするコマンドなんてないっすよね?
>>373
サンクスです!
ダイアログ無しでフォーマットしようってのが甘かったんすかね。。

batファイルについては、いろいろなサイト見て回っても、
>>372の方法で行けるってかいてあったんすけど、もしかしたらXPだから
駄目なんですかねぇ。。

とりあえず、教えていただいたのでダイアログ有りでやってみようと思います。
ありがとう。
>>374
FORMAT A: /U/V:""<hoge.txt

hoge.txtには
Y
N

と書いておく
hoge.txtの中身はこっちのほうが分かりやすいか
59 0D 0A 4E 0D 0A 1A
377デフォルトの名無しさん:03/02/13 19:32
ゲームのフルスクリーンを取ろうとしてゲーム画面で
 BitBlt Form1.Picture1.hDC, 0, 0,800,600,GetDC(0), 0, 0, vbSrcCopy
を実行したところ、撮れませんでした。
フルスクリーンを撮れる方法は有りませんか?
>>375-376
>>374じゃないけど>>376のこれは何?
379デフォルトの名無しさん:03/02/13 20:15
メインメニューで作者のホームページを紹介したいのですが、ブラウザを開くソースが分かりません。
ブラウザを開くソースを教えてください。お願いします。

開発環境
VisualBasic.NET Standard
>>379
ShellExecuteでも使え。
>>378
バイナリで内科医?
>>379
VB6なら
 ShellExecute 0, "open", "http://2ch.net/", "", "", 1
なんだが、.Netは知らん。
つーか、VB.Netはスレ違い。
VBでWebアプリを作ってるんですが、Cookieを使いたいのでAPIで
InternetGetCookie、InternetSetCookie を使ってるんですが
ブラウザを閉じるまでは、Cookieにデータが保存されているんですが
ブラウザを閉じるてから、開きなおすとデータが消えてしまいます。

どうしたらブラウザを閉じてもCookieが消えなくなりますか?
384デフォルトの名無しさん:03/02/13 23:11
>>371
SDKを使うのが簡単。有料になったけど。

>>377
DirectXの画面はその方法じゃ取れない。
385デフォルトの名無しさん :03/02/13 23:18
>>384
>有料になったけど。
まじかよ!
386デフォルトの名無しさん :03/02/14 00:37
プロシージャーの中で自分のプロシージャー名って取得できるんですか?
できませ
388デフォルトの名無しさん:03/02/14 04:17
windowを伸ばしたらテキストボックスも伸びるようにする
プロパテはありますか?ウインドサイズをモニタして
いちいちボックスのザイズとざひょをせっていシナケレバいけませんか
シナケレバいけません

でも貴方はまず日本語を勉強シナケレバいけません。
390デフォルトの名無しさん:03/02/14 04:39
ありがとうございました
391371:03/02/14 08:40
>>384
ありがとうございます。やっぱりAcrobatのSDKが必要ですか・・・
ちなみに、多少手間がかかってもほかにやる方法をご存知でしたら、
ヒントだけでもお願いします m(__)m
AcrobatReaderのOCXをフォームに貼り付けてロードするところ
まではできたんですが、肝心の内容が取得できません。
392377:03/02/14 13:27
VBでDirectXを使ってフルスクリーンを撮れる方法は有りませんか?
Form1.Show vbModal, Form2

と書くと
From2を親にして、Form1を表示しますよね?
この時タスクバーのアイコン(Form2)を見ると、
『アクティブでない状態(凹んでいない)』になりますよね...

MsgBox InputBox APIを使用したコモンダイアログボックス を表示した時、
タスクバーのアイコンは、『アクティブな状態(凹んでいる)』のままになっています。

Form1を表示した時にタスクバーのアイコン(Form2)をアクティブにさせたまま
にする方法は ないんでしょうか??

VB製のソフトは全て こうなるようですが...
少佐! MsgBox と 固定ダイアログFORM2.Show vbModal,Form1 の
Spy++による調査が完了いたしました。

MsgBox は WS_POPUPWINDOW ステータスを保有し、Form1の子窓であるようです。
>>394

大佐!レス サンクスであります

Form1にWS_POPUPWINDOW を追加すると...試してみるであります


いろいろ試した結果

'Form2より Form1を表示
private Sub Command1_Click()
  Form1.Show vbModal, Form2
End Sub

'Form1のロード時に SetParent
private Sub Form1_Load()
  Call SetParent(Form2.hWnd, 0&)
End Sub

でむりやり できた
この方法って 違いますよね
SetParentすると、偽MDIになっちゃわないかい…。
SetParentとSetWindowLongで弄くればいいのかな。

ウインドウいじくれて楽しいんだけど、ウインドウの関係が不正に
なっちゃわないか不安だったりする。問題ないのかな?
397デフォルトの名無しさん:03/02/14 19:28
初心者の質問です、お願いします。
フォームに最小化ボタンは付けて、×ボタンを消すにはどうしたらいいので
しょうか?どうしても最小化ボタンを付けようとすると×ボタンもついてき
てしまいます(汗)
398デフォルトの名無しさん:03/02/14 19:48
VBSで、あるフォルダ以下の全ファイルの「読み取り専用」属性を消したいのですが、
なにぶんVBSの知識が少なく、困っています。
再起呼び出しみたいなのを使わないといけないのでしょうか。
識者の方、よろしくおながいします。

>>397
消せないので、これでどうか。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
 If UnloadMode = vbFormControlMenu Then
 Cancel = Not 0
End If
End Sub
399398:03/02/14 19:49
Ifあたりかたインデントがズレた…。逝ってきます。。
= と := の違いを教えてください。
デルファイ?
名前付き引数でしょ。

  Sub Hoge(strHage as String, lngFuga as long)

ってプロシージャを呼ぶ時、

  Call Hoge(lngFuga := 7743, strHage := "ゲイツ")

みたいな、順番に依存しない呼び出しができる。
…正直言って、めったに使わない気がするがどうよ?
>>398
FileオブジェクトかFolderオブジェクトの中にAttributeプロパティがある
後はヘルプ読め
>>401-402
スレ違いかと思ったのですが、VBAです。

=は代入だとわかるのですが、:=というのが出てくることが
あり、なんなのかと思って質問しました。VBAの文法を解説
した本がなかなか見つからなくて、ヘルプ頼みなのでしょうか・・。
それともVBの本を買うしかないのでしょうか。
405398:03/02/14 22:30
>>403
それは分かります。
あるPath以下のファイルを列挙するのに難儀しています。
再帰呼び出しみたいなのがあるのでしょうか。

>>404
>>402さんのレスを嫁よ。
406デフォルトの名無しさん:03/02/14 22:32
VB6.0、OSwin98、メモリ192M
フォームにコンボボックスをコントロール配列で200*2並べないといけなくなったのですが
途中(150個ぐらい並べた所)でメモリ不足と出てフォームを開くことができなくなりました。
これはコンボボックスの数を減らすしかないでしょうか?
>>406
何の処理か非常に気になるな。
必要な処理?
408406:03/02/14 22:46
>>407
他の人がVBAで作ったものをVBで作りなおして更に機能を強化させようとしているんです。
(そちらはコンボボックスが400個並んでました。。)
エクセルから20*20の表を読みこんで、その値の候補がコンボボックスに代入されるようになっていて
いろいろ値を選んで変えてみて計算させる、と言った感じの処理です。
409デフォルトの名無しさん :03/02/14 22:49
>>404
なめてんのか?二度と質問するな。
誰が回答しても永遠に質問するんだろ?
410デフォルトの名無しさん:03/02/14 22:50
ヤバイ。VB6ヤバイ。まじでヤバイよ、マジヤバイ。
VB6ヤバイ。
まず汚い。もう汚いなんてもんじゃない。超汚い。
汚いとかっても
「変数名おかしくない?」
とか、もう、そういうレベルじゃない。
何しろ手続き型。スゲェ!なんか設計とか無いの。仕様とかソフトウェア工学とかを超越してる。手続き型だし超汚い。
しかもフォームにべた書きしてるらしい。ヤバイよ、べた書きだよ。
だって普通はクラスとか分割するじゃん。だってペーストしたところ変更きたら困るじゃん。
コンパイルエラーとか変更もれとか困るっしょ。
処理が追加されて、Ver1.0のときはメソッド数行だったのに、Ver3.0のときはメソッド数百行とか泣くっしょ。
だからJavaとかべた書きしない。話のわかるヤツだ。
けどVB6はヤバイ。そんなの気にしない。カット&ペーストしまくり。ソース表示してる画面を
5画面ほどスクロールしてもメソッド終わらないくらい汚い。ヤバすぎ。
手続き型っていたけど、もしかしたらオブジェクト指向かもしんない。でもオブジェクト指向って事にすると
「じゃあ、VB6のクラスモジュールってナニよ?」
って事になるし、それは誰もわからない。ヤバイ。誰にも分からないなんて凄すぎる。
あと超いいかげん。Endステートメント。処理内容で言うと。強制終了。ヤバすぎ。メモリ開放する暇もなく終わる。怖い。
それに超処理遅い。超のろのろ。それに超機能不足。ActiveXコントロールとか平気で出てくる。ActiveXコントロールて。
高くて買えねえよ、グ○ープシティ。
なんつってもVB6はDLLが酷い。DLL HELLとか平気ででるし。
.NETなんてPublicメソッドとかDLLのインタフェース変更しても上手く扱えるように
アセンブリを使ってバージョン比較したり、レジストリ無くしたり、グローバルアセンブリストア使ったりするのに、
VB6は全然無視。インタフェース違ったらエラーとしか扱わない。酷い。ヤバイ。
とにかく貴様ら、VB6のヤバさをもっと知るべきだと思います。
そんなヤバイVB6でシステム作った俺とか超偉い。もっとがんばれ。超がんばれ。
411デフォルトの名無しさん:03/02/14 22:50

VBを使ってデータベースにアクセスし、内容を表示したいのですが、
20020120
20020210
20021010
以下略
という日付データがカラムに入ってるのですが
これを4月〜翌年3月で年度ごとに抽出したい時
どの様にすればよいのでしょうか?
SQLサーバーでの使用も考えておりますので、
SQL文は一般的なものを使いたいのです。
宜しくお願いいたします。
412デフォルトの名無しさん:03/02/14 22:53
>>408
できる限り、必要なリソースの量が少ないウィンドウレス コントロールを使用します。
>>404は、質問した背景と意図を説明しただけです。

>>402
>…正直言って、めったに使わない気がするがどうよ?
などを引用しておけばよかったですね。

>>405>>409は何か誤解しているかと。
>>408
XPだと平気だな
>>413
だから、VBではつかわねーってのに、なんでVBの本買うのよ。
人のレス読んでない証拠だろうがよ。
せめてExcelやAccessのスレ逝けよ。
>>405
For EachとFilesオブジェクトを調べれ
417デフォルトの名無しさん:03/02/14 23:19
>>391
フリーのテキスト取得クラスが複数公開されてるよ。
ソースはVBじゃなくて、Cだけどね。
418398:03/02/14 23:20
>>416
ごめん、その辺りはすでに使って一日悩んでたんですが、
(疑うようでアレですが、)まじでそれだけでいけますか?

それ以下にサブフォルダが無いフォルダならそれでいけるというのはわかります。
VBで言うファイルをDir()で列挙するだけ、みたいな。

不特定多数のフォルダ階層に入っていけないんすよ。。
VBで言う再起呼び出しのようなのがあるのでしょうか。
>>418
再入可能ならば再帰は可能じゃないの?
>>418
関数作って再帰すればいい。

target="C:\"
set fso=createobject("scripting.filesystemobject")

func fso.getfolder(target)

sub func(folder)
for each q in folder.files
読み取り専用属性解除
next
for each q in folder.subfolders
func q
next
end sub
421398:03/02/14 23:33
ガビーン!subとかいう概念自体ないのかと思ってますた。。。
うわーん、もっと勉強せねばならないなぁ。

>>416氏、本当にごめんなさい!
マジで氏んできます。。
>>421
気にすんな、俺も最初の頃は使えないと思い込んでた。
subもfunctionも使えるから頑張れ。

そしてヘルプを隅から隅まで(ry
423406:03/02/14 23:35
>>412
ありがとうございます。
なんとか調べてウインドウレスコントロールをインストールできました。
さっそくこれで試してみます。

>>414
winXPのことですか?
ちょっぴりOS変えたくなってきました。。
>>423
WinXPだよ1000個でも2000個でも平気だったよ。
コンボボックスは一個で良いような気がするんだが・・・
百個単位のコントロールを一つのフォームに貼るのはアレだと思う・・・
そもそも一つのフォームにそんな数のコントロールを貼る必要のある設計に問題が(略
例えば初心者がExcelを作りたいと思ったときにテキストボックスを
画面いっぱい並べる感覚なんじゃないかと思う。
428406:03/02/15 00:46
>>424
1000個でも平気ってうらやましい
でも、その為にXP買うのなら勉強した方がよさそうですね(笑

>>427
>>Excelを作りたいと思ったときにテキストボックスを画面いっぱい並べる
まさにこんな感じです。。
429デフォルトの名無しさん:03/02/15 00:54
テキストボックスの内容をファイル名にしたいのですが、ファイルに使える文字は
自分でチェックする以外に方法ないのでしょうか?例えば
KeyPressで KeyAscii = ファイル名に使えないアスキーコード
はKeyAscii = 0で返すとか。

やりたいことは1つのフォルダ限定でファイル保存したいだけなんですけど。
もしかしてDialogコントロールでフォルダ限定できたりしますかね^^;
やりたいことが変だと思います
431デフォルトの名無しさん:03/02/15 01:12
>>429
「Windows ファイル名に使えない文字」で検索すれば、
リストがヒットする。

ほか、デバイス名は名前レベルで使えない。conとか。
俺って馬鹿なのかなぁ

Private Sub Text1_KeyPress(K As Integer)
'\/:*?<>|
If K = 92 Or K = 47 Or K = 58 Or K = 42 Or _
K = 63 Or K = 60 Or K = 62 Or K = 124 Then K = 0
End Sub
433デフォルトの名無しさん:03/02/15 02:06
>>432
Select Case K
  Case 42,47,58,60,62,63,92,124
434433MHz:03/02/15 02:07
数値よりvbKey定数を使う方が可読性がいい。
If Instr(K, "\/:*?<>|") <> 0 Then K=0
ってのは?
>>435、間違い(何処が間違ってるか分かると思うんで読み替えてくれ)
437デフォルトの名無しさん:03/02/15 02:26
If InStr("\/:*?<>|", Chr(K)) <> 0 Then K=0
なら、いちおうオッケーかな。

でも、InStr("hogehoge", "")が 1になるんだよな。

438デフォルトの名無しさん:03/02/15 03:00
質問です

フォルダの選択ダイアログでネットワーク上のドライブを指定すると
C:\windows\NetHood\云々ってなるんですがUNCに変換する方法はないですか?
If (FileName Like "*[\/:,;*?<>|]*") Or (InStr(1, FileName, Chr(34)) <> 0) Then Err = 52
 If Err <> 0 Then 'ファイル名不正
  Exit Sub
 End If
End If
>>429

適当なファイルを名称変更するときに、
あきらかに使えない文字を試してみるよろし。エラーメッセージに答えはある。
>>432
キーコード定数を使った方が賢い。

・・・と思ったが、_KeyDown ではなく、_KeyPress だった。

鬱で氏んできます。
(´ー`)oO○(キー入力でチェックをかけるときはクリップボード操作にも気をつけよう)
Shift+Insのペーストを見落としやすいね。
444438:03/02/15 21:25
いい感じで無視されてるんですが…どなたかお願いします
>>444
自力に勝る解決無し!
446デフォルトの名無しさん:03/02/15 22:16
質問があります
Shell関数をつかって、
Program Filesの何階層か下のディレクトリにあるCSVファイルを
開こうとしているのですが

Call Shell("C:\Program Files\〜Excel.exeのパス" & Space(1) & "C:\Program Files\〜csvファイルのパス")

とすると、「Program.xlsがみつかりません」というエラーに
なってしまいます。

他のC:\直下などのパスを指定した場合は問題なく開く事が出来ました。
Program Files階層下のファイルはこの場合開く事が出来ないのでしょうか?

開発環境はWindowsXPのVB5(SP3)です。
447438:03/02/15 22:20
>>446
半角スペースが含まれているパスは "" で括る
448デフォルトの名無しさん:03/02/15 22:36
>>438さん
ご自分の案件を抱えつつのご回答ありがとうゴザイマス

正確に申し上げますと、EXEのパス、csvファイルのパスは
あらかじめ変数に格納しています

strPathAdd_A = "C:\Program Files\〜Excel.exeのパス"
strPathAdd_B = "C:\Program Files\〜AAAAA.csvのパス"

Call Shell(strPathAdd_A & " " & strPathAdd_B)

という感じです。
この中でさらにProgram Filesを""で括るということでしょうか?

..私では.438さんの悩みにはお力になれそうもないっす。スンマセン
449438:03/02/15 22:40
>>448
strPathAdd_A = Chr$(34) & strPathAdd_A & Chr$(34)
って感じ、strPathAdd_Bも同じように
間違ってたらゴメン
Aは括んなくていいと思うが
括ったっていいじゃん
害無いし
452デフォルトの名無しさん:03/02/16 14:50
>450
やってから言えよ
453デフォルトの名無しさん:03/02/16 15:36
超初心者です。
 lbl1=val1+val2
cmdコマンドボタンをクリックしても、lbl1の値を保存する
方法はどうしたらよいのでしょうか。
一つのラベルを使って連続で和を求めたいのです。

>>453
・結果をラベルに表示して、次にそれを使う
lbl1.Cption = Format(val1 + val2)
lbl1.Cption = Format(Val(lbl1.Cption) + val3)

・Static変数を使う
・Public変数を使う
使い方はヘルプ見ろ
455デフォルトの名無しさん:03/02/16 15:52
>>454
ありがとうごうざいます。
早速、やってみます。
>>453
自分が分からないことを、他人にも分かるような説明ができるようになるまで、
悪戦苦闘・・・ちゅーか、勉強するこった。

457デフォルトの名無しさん:03/02/16 16:28
>>454  453です。
コードの書き方がおかしいと思いますが
下記のコードで出来ました。

Private Sub Command1_Click()
Dim val1 As Integer
Dim val2 As Integer
Dim val3 As Integer
val1 = txt1.Text
val2 = txt2.Text
Static x As Integer
val3 = x
lbl1.Caption = Format(val1 + val2)
x = lbl1.Caption
lbl1.Caption = Format(Val(lbl1.Caption) + val3)
End Sub
458438:03/02/16 16:39
俺のは素でダメですか。・゚・(ノД`)・゚・。
459454:03/02/16 17:32
>>457
それなら、
Private Sub Command1_Click()
lbl1.Caption = Format(Val(lbl1.Caption) + Val(txt1.Text) + Val(txt2.Text))
End Sub
の一行で事足りる。
が、これでは応用がきかないのでお勧めできない。

手直しするなら
Private Sub Command1_Click()
'変数宣言
Dim val1 as Integer
Dim val2 as Integer

Static x As Integer
'入力受け取り
val1 = Val(txt1.Text)
val2 = Val(txt2.Text)
'計算
x = x + val1 + val2
'表示
lbl1.Caption = Format(x)
End Sub
のように、やってることを整理区別して書くように。
あと、変数の型は意識して代入する癖を付けろ。Format、Valなど…
460457:03/02/16 17:57
>>459
入門書等では、この様なことは書いてないです
大変参考になりました。ありがとう。

461デフォルトの名無しさん:03/02/16 18:01
>460
とっつきやすくするために、入門書では型についてうるさく書いてない。
でも、あとで困るから、できるだけ意識したほうがいい。
数字か文字か、それだけでもね。
VB6でテキストフィールドがいくつかある
簡単なアプリケーションを作ったのですが、
そのアプリケーションが他のアプリケーションで隠され、
それがなくなったときにそれまで隠れていた部分が
白くなってしまうことが頻繁にあります。
それを改善するためにシステムが自動的に描き直してくれるように
AUTOREDRAW=True
としてみたのですが状況は変わりません。
他のIEなどの一般のプログラムではそういったことは起こらないのですが、、
どなたかわかる方がいらっしゃいましたらアドバイスお願いいたします。
OSはWINDOWSXPでGEFORCE2MXを搭載しています。
AutoRedrawはフォームやピクチャBOXへの描画行為が対象。

テキストボックスなんかは関係ないよ。
もともと、自動で描画される。
でも、イベント処理中には再描画されないぞ。
重い処理をやらせるとしばらく止まったようになるアレだ。

Form_MouseMove
Form_Activate
なんかに重ーい処理を書いてたりしてないかな?
464462:03/02/16 23:46
>>463
アドバイスありがとうございます。
単純にテキストフィールドに入力されている数値を
ボタンが押されたらファイルに出力するというプログラムです。
ボタンを押していない時は特に重い処理はさせていないと思います。
ボタンを押したときに処理が重くなって白くなる現象とは違い、
何もしていなくてプログラムをdeactiveにして
IEやExplorerなどのアプリを移動させて横切らせると白い線が残ってしまうんです。
その後activeにしてもそのまま白い線が残ったままになっています。
ボタンを押してrefreshをかけると直ります。
465462:03/02/16 23:50
ボタンを押してRefreshをかけるときはこのようにしています。
Private Sub Command8_Click()
Refresh
End Sub
これだとうまくいきます。
フォームがアクティブになったら呼び出されるサブルーチンに
Refreshをこのように入れてもうまく機能しませんでした。

Private Sub Form_Activate()
Refresh
End Sub
こんな感じにするとRefreshはかかってくれませんでした。
>IEやExplorerなどのアプリを移動させて横切らせると白い線
そりゃ、描画のゴミかと。
再描画されんかぎり消えん。

かなりの速度でウィンドウを動かさないと
ならないと思うのだがどうだろう?
ある程度は仕方ないかと…

Form_Activateでは
他のプログラム→自分のプログラムへのアクティブは受け取れんぞ。仕様だ。
代価案はおれは思いつかんので、誰か頼む。
467462:03/02/17 01:10
>>466
アドバイスありがとうございます。
>かなりの速度でウィンドウを動かさないと
>ならないと思うのだがどうだろう?
ゆっくり動かしても早く動かしてもどっちでも
結構ゴミが残っちゃうんです。
>Form_Activateでは
>他のプログラム→自分のプログラムへのアクティブは受け取れんぞ。仕様だ。
そうでしたか。知りませんでした^^;どうもです
>>462
それはグラフィックボードのドライバのバグじゃない?
他のマシンではどうなる?
469462:03/02/17 01:22
>>468
>それはグラフィックボードのドライバのバグじゃない?
過去にそういう問題があったようですが
最新のドライバ(現在使用中です)では解決されているようでした。
>他のマシンではどうなる?
明日学校にいって他のOS、マシンで試してみようと思います。
アドバイスありがとうございました。
410がみごとにスルーされてる。
471393 ◆ZAYX.QGihc :03/02/17 11:01
>>396
Call SetParent(子ウィンドウ, 親ウィンドウ)
だと『偽MDI』になりますが
Call SetParent(子ウィンドウ, 0&)
だと ならない
Call SetParent(子ウィンドウ, 親ウィンドウ) だと子ウィンドウの操作が出来なくなります

>>462
VBって
サブクラスしないと取れないイベントが多すぎる

>>410
しょうがないから突っ込んでやる

V B だ か ら し か た な い じ ゃ ん
>>470=410
だって一行しか読んでないし
Access2000のレポートを
VB6からDoCmd.OpenReportを使用して
印刷しているのですが
5枚1セット(全部レポートは別)の印刷をする際に
プリンタjobが5つになってしまい
他の印刷物がタイミングにより割り込んでしまい
困っています
この5つのjobを一つにまとめる方法はないでしょうか?
474デフォルトの名無しさん:03/02/17 17:48
VBScriptで、HTML上のラジオボタンの状態を制御するにはどうすればいいのでしょうか。

<input type="radio" value="0" checked name="RB_RADIO">
<input type="radio" value="1" name="RB_RADIO">
<input type="radio" value="2" name="RB_RADIO">

といったような3つのラジオボタンがあり、あるコマンドボタンを押すとこれらの選択状態を
切り替えたいのです。(3を選択状態にする、等。)
Web上のヘルプ・サンプルはJavaScriptばっかりです。

475474:03/02/17 17:52
すんませんできました・・・
単純にdocument.all付け忘れていただけでした・・・
>>470 スルーも何もここのコピペに反応してもバカなだけじゃん。
http://ton.2ch.net/gline/kako/1042/10426/1042628237.html
既出の既出かもしれんが、カーソルが乗ったときイメージBOXの画像を
入れ替える方法頼む。

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim udtCursorPoint As tagPOINT
Dim lngResult As Long

' 現在のカーソル位置を取得
lngResult = GetCursorPos(udtCursorPoint)

With Image4

If udtCursorPoint.x * Screen.TwipsPerPixelX <= .Left + .Width _
And udtCursorPoint.y * Screen.TwipsPerPixelY <= .Top + .Height Then
Debug.Print udtCursorPoint.x * Screen.TwipsPerPixelX
.Picture = LoadPicture("D:\album\image\close02.jpg")
.Refresh
Else
.Picture = LoadPicture("D:\album\image\close01.jpg")
.Refresh
End If

End With

End Sub

↑いまいち反応鈍いんだよね(*´д`*)アハァ…
hoge.exeを作ったのですが、これを実行するとWindows起動時に自動的にhoge.exeが起動するように設定したいのですが
こんなことできますか?
>>478
できます
>>477
始めに読み込んでいてメモリ内で画像転送したら?
>477
最初からImageを2枚用意して表示/非表示を切り替えたら?
その都度LoadPictureせなあかん理由があるなら別だが。
>>477
マウスが動くたびに必ずロードピクチャーするのは仕様ですか
>>477
重そうだ
484デフォルトの名無しさん:03/02/17 21:30
PictureBox等にPDFの内容を表示することは可能でしょうか?
IEでPDFを開いた時のようにしたいのです。
実現可能なAPIやOCXなどがあれば教えてください。
485デフォルトの名無しさん:03/02/17 21:34
>484
Adobeの有料会員になって、SDKを送ってもらえ!
active xとかoleとかを使うだけじゃないのか?
487デフォルトの名無しさん:03/02/17 21:39
VBのことまったくわからないのですが、
これはCのようにソースコードを書かなくてもアプリができるのですか?
それともソースは書くようなのですか?
親戚に薦められてさっきVS付属のVisualBasicをやってみたのですが全然わからず・・・
ツールボックスでいろいろとボタンなどを作成する、ということはわかったのですが・・・。
どなたかよろしくお願いします。
>>487
本屋にでも行って、その手の本でも立ち読みするか、
WEBのその手のサイトでも見てください。
489487:03/02/17 21:44
なぜ今ここで教えてくれないのですか?
マルチもしてませんし。
>>489
本が何冊も出てる言語の説明をここでしろと?
>>489 偽者うるさいよ
492477:03/02/17 21:47
みんな貴重な意見をありがとう。
一応それっぽく動くようになった。
もっとよい方法があればたのんます。

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim udtCursorPoint As tagPOINT
Dim lngResult As Long
Static flag As Integer

' 現在のカーソル位置を取得
lngResult = GetCursorPos(udtCursorPoint)

With Image4

If flag = 0 And udtCursorPoint.x * Screen.TwipsPerPixelX <= 50 Then
.Picture = LoadPicture("D:\album\image\close02.jpg")
.Refresh
flag = 1
End If

If flag = 1 And udtCursorPoint.x * Screen.TwipsPerPixelX >= 50 Then
.Picture = LoadPicture("D:\album\image\close01.jpg")
.Refresh
flag = 0
End If

End With

End Sub
>>492
日光の手前
494本物の487 ◆ZWvUpWTdCo :03/02/17 21:50
すいませんでした。
今検索したところヴィジュアルベーシック覚えーるっていうソフトがあったので
それをDLして見てみます。
便乗ですいませんが、お勧めの書籍ってなんですか?
すいませんがよろしくお願いします。

あと、>>489は私ではありません。
ほんのちょっとしかこのスレにいないと思いますが、
その場トリップつけます。
書籍なんて必要ない っつってみる
496477:03/02/17 21:50
条件式の=はいりませぬ。
>>494
http://pc2.2ch.net/test/read.cgi/tech/1041595397/
とその過去ログをVBで検索GO
498478:03/02/17 22:30
>>479
やりかた教えてください。
>>498
インストーラーでスタートアップにショートカットを登録したり、
hogeが自力で登録したり、専用のレジストリに書き込んだり。
500 ◆b0UXJ88Ngw :03/02/17 23:23
VBで作成したアプリケーションからShell関数を使用して、VCで作成した、
コンソールアプリケーションを起動すると、コンソールアプリケーションが
落ちてしまいます。
コンソールアプリケーションを単独で動かすと、普通に動きます。
コンソールアプリケーションで扱うデータ件数を減らすと、VBからでも動きます。

VBからShell関数でアプリケーションをコールする際のメモリ使用量(?)などの制限って
あるのでしょか?
また、あるのであれば、どのような対応をしたらよろしいでしょうか?
(特効薬的なものはなし?)
ご存知の方、いらっしゃいましたら、ご教授お願いします。
一応 PIF ファイルを作成して、きちんと設定した上で、shell から PIF を呼んでみるとか。
start.exe 経由で起動させてみるとか。
なんとなく command.com /c なり cmd.exe /c 経由で実行してみるとか。
て言うかそんな経験は無いんだけどなぁ。たまたまかな。
503デフォルトの名無しさん:03/02/17 23:54
>>501
32bitコンソールアプリにpifが関係あるのかな?
504500 ◆b0UXJ88Ngw :03/02/18 00:55
レスありがとうございます。
win2000 では大丈夫なのですが、win NT(SP5.0)では、だめなんですよ。
とりあえず、command.comから試してみます。
ありがとうございました。
>>500
Shellで引数を指定してる?
それの引き渡し方がおかしいとかない?
506デフォルトの名無しさん:03/02/18 01:43
VB6.0で、システム時刻を設定する関数、メソッドはありますか?
取得する関数、メソッド、ステートメントしか見当たらないのですが…
507506:03/02/18 01:50
DateやTimeにそのまま値を設定すればよかったのですね・・・
失礼しますた
508デフォルトの名無しさん:03/02/18 03:44
.netは必要なメソッドを見つけるゲーム
start.exeなんて使うと、無い環境だと困るよな。XPとか。
startってXPで消えたのか? EXEじゃなくて内部コマンドだろ。
グローバルフックでキーロガーできますた。
実行するとc:\に自分をコピーしてスタートアップにショートカットを作成します。
>>511
必ず c: とは限らないよ。
スタートアップフォルダは API を使って求めた?
513デフォルトの名無しさん:03/02/18 19:50
データベースより取得したレコードセットの情報から、各フィールドの情報を
取得するにはどうしたらいいのでしょうか。
具体的に得たい情報は、
・キー情報(キーが張られているか否か)、
・データ型、
・データ長
です。
>>512
スタートアップは求めますた。
ルートディレクトリもAPIで取ったほうがよいですね。
どんなAPIだろ〜
>>513
DBとミドルウェアによると思われ
516デフォルトの名無しさん:03/02/18 20:07
>>515
DBはAccess、DAO接続です。
ここでのミドルウェアとは何を指すのでしょうか・・・
517デフォルトの初心者さん:03/02/18 20:25
ファイルの保存先はデフォルトのままに
してくださいとあったのですが・・・。

デフォルトってなんですか??
518デフォルトの名無しさん:03/02/18 20:30
>>517
初期設定値のこと

519デフォルトの初心者さん:03/02/18 20:34
>>518
ありがとうございますた( ゚∀゚)y─┛~~
それVBの質問と回答かね。
521デフォルトの初心者さん:03/02/18 20:41
>>520
いちおうVBの本読んでたもんで(´・ω・`)
IDEって雰囲気はわかるんですが
どういう意味なんですか?

連発質問スマソ
>>521
えーと、弱めに言うけど氏ねよ、お前。
Googleで「○○ 用語」で検索しる。
「IDE 用語」とか。コンピュータ用語ならAsciiの用語辞典が引っかかる。
http://yougo.ascii24.com/gh/00/000090.html
523デフォルトの名無しさん:03/02/18 20:59
>>521
統合開発環境のこと。
エディタその他がセットになってるので、こういう。
昔は、エディタやデバッガが別売だったのだ。

>>522
IDEはHDDがヒットするので、検索するのはむずかしいだろう。
「VB IDE」で検索しても、ヒットしてきた。
>513
「Tabledefオブジェクト」でヘルプを検索しる
>>523
「VB IDE 用語 -HDD -ハードディスク」でググル
526デフォルトの名無しさん:03/02/18 21:09
>>525
おっと、マイナス・オプションがあったな。
>>52ですが
自分でも一応調べたのですが
http://yougo.ascii24.com/gh/70/007075.html
こんなカンジにでてきたもんでわけがわからなかったです。
528513:03/02/18 21:24
>>524
ヘルプ及び書籍から、Tabledefオブジェクトを参照してテーブル名を
取得するところまではうまくいきました。
ただ、513でも述べましたが、各テーブルのフィールド情報(フィールド名称は解決済み
それ以外の、型に関する情報やキー情報)をどのように判断/取得すればよいのか
わからずに困っています。
同様にTabledefオブジェクトを用いての取得が可能なのでしょうか。
これに関しては、ヘルプを参照しても方法がわかりませんでした。
529デフォルトの名無しさん:03/02/18 21:27
>>527
そのページの右のほうにある関連用語(Glossary Help)をクリックすると、
下に IDE(Integrated Development Environment)の説明が出てくる。
530522:03/02/18 21:27
>>523
下までスクロールしてみろ。
Asciiはそんなヤワじゃない。
>>529
うぉΣ(゚Д゚;≡;゚д゚)出てきました。

WindowsなどのGUI環境に対応したグラフィカルなプログラム開発環境。
プログラムソースのエディット、コンパイル、デバッグなどといった一連の
作業を統合的に行なえるようにした開発環境を総称してこう呼ぶ。

との事です。勉強になりました。

あとVBってこんな重いものなんですか??
>>531が素人のふりして、ついにVB叩きを始めた。

コマンド?
→たたかう
  にげる
  ぼうぎょ
  どうぐ
>>532
本当に素人なんですよ。
ってか今日インストしたばっかりですし・・・。
534デフォルトの名無しさん:03/02/18 21:42
>>531
VBは相当軽いんだけど。
アプリいっぱい入れてると起動するのに時間かかるかな。
コンポーネントとか検索するから。
でも、コンパイルはVCより速い。Delphiより遅いけど。
>>534
そうなんですか。
ROMを5枚くらい突っ込んでインストしたから
重いもんだと思っていました(゚Д゚;)
>>535
「重い」の意味勘違いしてないか?
537デフォルトの名無しさん:03/02/18 21:48
TWAIN対応のスキャナをVBから制御するためには
ImgScan.DLLを使えばいいのはわかったのですが
どうやって使うのか、わかりません。
知ってる方が居ましたら教えてください。
>>536
動作が遅いってことですよね?
>>538
じゃあ、なんで「ROMを5枚くらい突っ込んでインストしたから」重いもんだと思うんだよ?
>>539
ん〜素人のオレが考えられる原因は
そのくらいしか思いうかばなくて・・・。

541デフォルトの名無しさん:03/02/18 21:59
>>565
VB6のCD-ROMは1枚なんだけど。
VB.NETと間違えてない?
VS6全部入れたとか?
全部入れても2枚では。
さ あ 、 混 乱 し て ま い り ま し た
VB1-VB6まで5枚のCDを使ったに200バリアント
もうイイカゲン デフォルトの初心者さん の話は


終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

終┃ 了┃ 終┃ 了┃ 終┃ 了┃ 終┃ 了┃
━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛ ━┛

死死死死死鬱死死死死死死死死鬱鬱鬱死死死死死死死死死
死死死死死■■鬱死死死死死死鬱■鬱死死死死死死死死死
死死死死鬱■■死死死死死死死■■鬱死死死死死死死死死
死死死鬱■■鬱死死死死死死鬱■■鬱鬱鬱鬱■■鬱死死死
死死死■■■死死死鬱死死死鬱■■■■■■■■■鬱死死
死鬱鬱■■鬱死鬱■■鬱死鬱■■鬱鬱鬱鬱鬱■■■死死死
鬱■■■■鬱鬱■■鬱死死鬱■■■死死死鬱■■鬱死死死
鬱■■■■鬱鬱■鬱死死鬱■■鬱■鬱死鬱■■■死死死死
死鬱■■■■■■鬱死鬱■■鬱鬱■■鬱■■■鬱死死死死
死死鬱■■■■鬱鬱死鬱■鬱死死鬱■■■■鬱死死死死死
死死死鬱■■鬱鬱■鬱死鬱死死死死鬱■■■死死死死死死
死死死鬱■■死死■■鬱死死死死死鬱■■鬱鬱死死死死死
鬱鬱鬱■■■鬱■■■■鬱死死鬱鬱■■■■■鬱死死死死
■■■■■■■■鬱■■鬱鬱■■■■鬱■■■■■■鬱鬱
■■鬱鬱鬱■■死死鬱鬱■■■■鬱鬱死死鬱■■■■■鬱
鬱鬱鬱死死■■死鬱鬱鬱■■■鬱鬱■鬱鬱鬱鬱■■■■鬱
死■■■鬱■■鬱■■鬱■■鬱死鬱■■■■鬱鬱鬱鬱鬱死
死■■■鬱■■鬱■■鬱鬱鬱死死鬱■■■■■■鬱死死死
死■■■鬱■■死鬱■■死死死死死鬱鬱■■■■鬱死死死
鬱■■■死■■死鬱■■鬱死死鬱死死死鬱■■鬱死死死死
鬱■■■死■■死死■■鬱死鬱■■鬱鬱鬱死死死死死死死
鬱■■鬱死■■死死■■鬱死鬱■■■■■鬱鬱死死死死死
鬱■■鬱死■■死死鬱鬱死死鬱■■■■■■■■鬱鬱死死
鬱■■鬱死■■死死死死死死死鬱鬱■■■■■■■鬱死死
死死死死死■■死死死死死死死死死死鬱■■■■■鬱死死
死死死死死■■死死死死死死死死死死死死鬱鬱鬱鬱死死死
>521

   ||/
   /||
 /∧||∧
  ( / ⌒ヽ 
   | |   | 
   ∪ / ノ
    | ||
    ∪∪
         ∧ ∧,〜
        ( (⌒ ̄ `ヽ    _
          \  \ `ー'"´, -'⌒ヽ
         /∠_,ノ    _/_
         /( ノ ヽ、_/´  \
       、( 'ノ(     く     `ヽ、  命を粗末にしてはならん!
      /`   \____>\___ノ
     /       /__〉     `、__>

とりあえず雑談はもうやめてね。しらべたらすぐわかることはここでしないでね。
>528
Tabledefの下に色々ぶら下がってるでそ。
Fieldオブジェクトとか。
その辺のプロパティなり調べれば分かるはず。
549デフォルトの名無しさん:03/02/19 15:02
あるステップでShell関数によってプログラムを起動し、それよって生成されるファイルを次のステップで開いて参照する場合、ファイルが生成するまで待機するにはどうすればよいのでしょうか?

次のようなコードでは、ファイルを参照できません。
MyPath="c:\中略\myprogram.exe" 'myresult.txtを生成するプログラム
RetVal = 0
RetVal = Shell(MyPath, 1)
For j=0 to 100000 'このように待機させても効果がありません
Next
MyPath="c:\中略\myresult.txt"
If RetVal <> 0 Then
Open MyPath For Input As #1
Line Input #1, MyText
Close #1
MsgBox "MyText=" & MyText
Else
MsgBox "MyTextが生成できませんでした"
End If
しかしながら、myrogram.exeの実行結果としてmyresult.txtは生成されていて、イミディエートウィンドウではRetValは0以外の値になります。
>>517-519
ウソを教えるなよ。(ウソの答えに納得する奴も納得する奴だが・・・)

「デフォルト」は「債務不履行」だ。よく憶えておけ。

>>521

IDE は Integrated Drive Electronics の略で、ハードディスク接続
インターフェイスの規格のひとつ。

ttp://e-words.jp/?w=ide&headline=%8C%A9%8Fo%82%B5%8C%EA%8C%9F%8D%F5

おまいら、子供じゃねえんだから、少しは自分で調べろよ・・・。
>>549
WaitForSingleObject APIを調べて味噌
>>550 ネタは新鮮なうちに。
553デフォルトの名無しさん:03/02/19 15:32
>>549
処理待ちの方法はたくさんあるけど、よりによって空ループとは。
コンパイルしたら空ループは削除される。

自前のアプリなら、DDE通信使えよ。
せっかくあるんだから。
>>553

> コンパイルしたら空ループは削除される。

そうなの?最適化のしかたに依存するような気もするけど?
(確認してないけど)
>>554
どっちにしろ、CPUのスピードが千差万別かつ十分高速である以上、その方法はエレガントではないと。
556553:03/02/19 16:15
>>554
DDEについては何もふれず、空ループについて確認も
しないで疑ってかかるって何だよ?
確かめるのに1分もかからないだろ?
>550

この時点で
あなたの希望金額に達しなかったということで、

  ノ ー マ ネ ー で フ ィ ニ ッ シ ュ で す
558デフォルトの名無しさん:03/02/19 17:20
>>549
Windows Script HostのRunメソッドが簡単だよ
559デフォルトの名無しさん:03/02/19 17:34
どうしても分からないので・・・

VBからネットワーク上の別PCのHDD全容量/空き容量などを
取得することはできるのでしょうか?
>>559
そもそも他のPCのHDD容量って見れるの?
知らないんだけど。見れるならVBでもできそうだけど。
>>559
とりあえず ネットワークドライブの割り当て をやってみ
なるほど。割り当てると見れるのか・・・
563559:03/02/19 17:51
ありがとうございます。
一時的に割り当てして容量チェックすればできそうですね。

ところでIPアドレスやMacアドレスがわかってる状態で可能なことって何があるでしょうか?
Pingとかで該当PCが応答するかチェックするってのはすぐに思いついたんですけど
他に何かありますか?
564デフォルトの名無しさん:03/02/19 17:54
>>563
ポートスキャンで穴さがし
565563:03/02/19 17:56
>>564
なるほど。それはいいですね!
OS情報とか取得して詳細一覧作るってのもいいかも。
やれるか分からないですけど・・・
>>563
最低限はPINGも含めて何も出来ない。
できるのは相手が応答した場合のみ。
SMB?
559はそんなに上司のPCが覗きたいのか(藁
569559:03/02/19 19:09
応答するという前提で考えれば色んなことができそうですね。
電源何かも切れるみたいですね。

上司のPCを覗くのは・・・

ヘ(゚∀゚ヘ)アヒャ
570デフォルトの名無しさん:03/02/19 19:46
>>569
わざわざ中身のぞかなくても、パケットモニターで丸裸。
ソース公開されてるし。
Cだけど。
http://homepage2.nifty.com/spw/hint/PacketDump.html
これで簡単にパケットモニタ作れる。いや、作るというかコピペ
.NETはXPでしか動作しないのですか?
>>572
フレームワーク自体はWindows98以降でも動くよ。
>>549

>For j=0 to 100000 'このように待機させても効果がありません
>Next
>MyPath="c:\中略\myresult.txt"

Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
Private Sub (略
(略
MyPath="c:\中略\myresult.txt"
Do While "" = Dir(MyPath)
  Sleep 100
Loop


あまり綺麗な方法じゃないかもしれないが、一番簡単。
これよりも、起動させるプロセスを監視してそれが消滅するのをチェック
する方がいいかもしれないが…。
>>573
ではXP以外でも作業できるってことですか?
576デフォルトの名無しさん:03/02/19 21:07
age
>>575
金が惜しいならMSのサイト言ってあんたの買いたいソフトは何をする物なのか確認してきなさい。

すまんが今の状態でプログラミングなんてちゃんちゃらおかしいよ。
578デフォルトの名無しさん:03/02/19 21:46
>>571
THNX!

>>574
そんなVB房みたいなやりかた提案するなよ
580困ったチャン:03/02/19 22:15
すいませ〜ん。。必死なのです。excelVBAの質問なのですが、
(VBのスレで聞くな?)
困っているのです。あるフォルダに格納されている、
word excel ppt txt のファイルをVBAから開き、
MSGBOXでOK押されたときに、全部閉じたいのですが、うまくいきません。
期限がやばいのでとりあえずやっつけだ、と思い、無理やり
shellコマンドで立ち上げ、落とすときは、sendkeyしてるのです。。。
(&FXN)ALTキー+Fキーでメニューのファイルを閉じるで、保存しないキーを
SENDしてる予定。。。
しかし、なぜかワードだけうまくうけとってくれないのです。
他にいい方法があったら教えてください。
環境はOFFICE97。OSはWINDOWSです。(95〜2000、NT、XP)
で、クライアントの処理なので、できれば他の実行ファイル
は作りたくないのです。
どうでもいいけどAlt+F4で何でも閉じるよ。
保存していないとダイアログ出るが。
582困ったチャン:03/02/19 22:38
>>581
うん。そうなんですけど、ファンクションキーたまに
落ちないときがある、と聞いたので。。
で、苦肉の策、そうなったのです。。。
できれば、SENDKEYでない方向でいきたいのです。。。
動きもいまいちなので。。。クスン
583困ったチャン:03/02/19 22:54
みすてないでぇ〜〜〜〜〜
shellの戻り値でインスタンスハンドルが帰ってくるよねー
それを元にウィンドウハンドルを取得して強制終了のメッセージを
SendMessageすればよいのでは?
期末試験 設計        名前 困ったチャン    7点

ExcelVBAでWordファイルを操作するという点が間違いです。
586困ったチャン:03/02/19 23:12
>>584
そうなのです。。。shellでハンドル持たせて、
それをappactive して、sendkeyしてるのです。
でも、なぜかワードだけうまくいかない。。。
カーソルのところにひたすら「XNXNXN・・・」
って書き続けてる状態。。。本当に困ったチャン。

確かに、excelVBAでファイル操作、きついんだけど、
元の設計はc++でほとんどクライアントで処理して、
サーバに投げてきてたんだけど、
それを仕様変更して、分散して、クライアントが
excelVBA(客先に配布)で、サーバはvbなのです。
最終的に仕上げるファイルフォーマットがexcelなので、
VBAでやってるのです。
その他のファイルは、タダ、いったんこれらでいいですか?
という意味合いで、単純に開いて、単純に確実に殺す、です。

587tantei:03/02/19 23:15
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

>>584
WORDだから良いもののウインドウ作らないアプリケーションならブルー。
>>588
ウィンドウを作らないアプリでこちらから終了させなければいけないというのは
どういったアプリケーションですか?
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
If MsgBox("やっちゃう?", vbYesNo) = vbYes Then Call SendMessage(&HFFFF&, &H2&, 0, 0)
591困ったチャン:03/02/20 00:12
>>599!ありがとうございます(^^)♪
lib使ったプログラム開発をしたことがないもんで。。。
いろいろHPあさって探しまくってたんだけど、いいのがなかったのです。
はぁ。たすかったぁ♪♪♪♪♪さっそくためさせていただきます。明日。
はぁ〜〜〜〜〜〜〜〜〜〜!


592禁断のターミネータ:03/02/20 00:23
>>599
プレッシャーかかるな。
593デフォルトの名無しさん:03/02/20 00:23
HIKEY_CURRENT_USERではなく
HIKEY_LOCAL_MACHINEの中の値を取得したいです

RegOpenKeyEx(API)を使って取得する方法は分かったのですが
GetSettingのように、APIを使用せずに取得する方法は無いでしょうか?

API使うの面倒臭いのよね
知ってたら教えてちょんまげ。

591に合掌・・
595デフォルトの名無しさん:03/02/20 00:43
>>593
もしあったら、ハッキングし放題だと思わんの?
なんで制限つけてるか考えんの?
596599:03/02/20 00:46
>>591
ごめんなさい。あのコードは大きなミスをしてました。
そのミスというのは、・・・だ、誰だ・・ぐは・・・ばたっ・・・。
597デフォルトの名無しさん:03/02/20 00:54
>>595

それは、マクロウィルス使って悪さが出来るということ??
よく分からないけど、そういう機能があれば、595さんなら
ハッキング出来るわけですね

とにかく教えてくれてありがとうございます
明日はAPIの使い方調べて苦労することにします

では。
598デフォルトの名無しさん:03/02/20 03:37
C++で作ったメソッド(ライブラリ)に、VBから配列を引数として放り込めば、
先頭アドレスを送ったことになる?
APIの使い方を知らんってことをWindows自体わかってないんでないの?大丈夫か?
>>598
ヘルプやMSDNに書かれていると思うけど・・・
配列の先頭の要素を参照渡し。

ユーザ定義型の配列の場合はまた別のルールがあったはず。
601デフォルトの名無しさん:03/02/20 09:14
>>593
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId"), , "ProductId"
602ばかばっか:03/02/20 09:24
ばかばっか
603593:03/02/20 10:30
>>601
あのー、おもいっきし出来たんですが・・・
ありがとうございます。

>>595
うんこちんちん
604デフォルトの名無しさん:03/02/20 11:24
VB6 + ADO2.7 使っているのですが
インストーラー作る時にMDAC_TYP.EXEは含めたほうが良いのでしょうか?

605デフォルトの名無しさん:03/02/20 11:53
>>603
最初からProductIDって言ってたか?
606593:03/02/20 12:51
>>605
言ってないですよん、ProductID以外の値も取れましたが、何か問題でも?
607デフォルトの名無しさん:03/02/20 13:03
>>606
ええもん取れた?
一人バカがHIKEY_LOCAL_MACHINEを読み取れないと思っているだけだ。ほっとけ。
609593:03/02/20 13:57
>>607
先輩からの信頼が取れました。
610デフォルトの名無しさん:03/02/20 14:01
test
HIKEY_LOCAL_MACHINEを読んだおかげで彼女ができますた!!
HIKEY_LOCAL_MACHINEを読んだおかげで大金を手にしました!!
さて、もうそろそろ「HKEY_LOCAL_MACHINEだろ?」と揚げ足取りが出てくるわけだが。
(-_-) ヨンダ?
614デフォルトの名無しさん:03/02/20 16:24
ヒッキー・ローカル・マシン
615デフォルトの名無しさん:03/02/20 18:44
よろしくお願いします。

FileSystemObjectを使わずにファイルをコピーしようとしています。
FileCopyステートメントを使ったのですが、
コピー先に指定したファイルがない場合、「ファイルが見つかりません。」
とエラーが返されます。
FileSystemObjectのoverwrite=trueに該当する処理を実現するには
どうしたらいいでしょうか?

>>615
ファイルがあるか、使用中でないか確認する。
なんでそんな質問すんだ。
>>615
CopyFile APIを使う
>>615
On Error Goto でエラー捕まえりゃいいだろ。
619デフォルトの名無しさん:03/02/20 19:11
>>616-618
あーもうホントすみません。
いろいろ考えたんですけど、On Error Gotoの後の処理
(存在しなかった場合の処理)が分からなかったんです。

指定した名前のファイルを指定した場所に作成する?関数なりステートメントが
MSDNで引いても見つからなくて・・・・
ヒントの単語だけでも教えていただけませんか?
てゆーか
>指定した名前のファイル
って何?何でもいいなら空っぽのテキストファイル作れば?
>>619
大体、何言ってるのかわからん。

>コピー先に指定したファイルがない場合、「ファイルが見つかりません。」
「コピー元」の間違いかと思えば、
>FileSystemObjectのoverwrite=trueに該当する処理を実現するには
上書きに失敗しないようにするには、とも読みとれる。

通常は上書きに失敗することはない。属性とか使用中とかなら別だが。
「ファイルが見つかりません」とは、コピーする元のファイルがないってことだ。
てことは、最初にファイルの有無を調べればよい。

if Dir(FileName)<>"" Then
FileCopy FileName, FileName2
end if

とでもすりゃあ済むのではないのか? 違うのなら、もう少し状況説明を詳しく。
622デフォルトの名無しさん:03/02/20 20:10
一般的に省略ボタンってどこにあるのですか?
テキストボックスの幅より、テキストが長い、つまり表示が切れている場合に
ヘルプテキストをポップアップさせたいのですが、
テキストボックスの幅より出ている、というのはどうやって判断するのでしょうか。

VBでは等幅フォントで文字数数えたりそんなのしか無理ですか。
>>623
TextWidthプロパティで長さ調べるのは?
重なり順序をなぜZOrderと言うのでしょうか?
Z軸の順序。
>>626さん
おお!横、縦、がx,yだから、なるほどzですね。ありがとうございました。
中卒発見しますた。
>>623
大体の長さでいいなら、Textボックスの幅と、
Textボックスに入れた文字と同じ文字を入れたAutoリサイズしている
非表示のラベルの幅を比べる。
#手抜きだけど。
ディストリビューションウィザードで、フォルダをその中身ごと追加するにはどうするのでしょうか?
ディストリビューションをつかっって見たところ、ファイルを追加するということはできてもフォルダが追加できませんでした。
>>630
1ファイルずつボチボチとマターリやるしかない。
プロジェクト名.PDM を直接編集すると若干楽かもしれない。
633630:03/02/20 23:14
>>631
ガンガリマス
634デフォルトの名無しさん:03/02/20 23:36

Shell "gta.exe", vbNormalFocus
Shell "gta.exe", vbNormalFocus
Shell "gta.exe", vbNormalFocus
みたいな感じで一定の期間で終了するexeを多重起動したとして起動しているexeがすべて
終了してプロセスから無くなるまで待機させたいんだけど、どうしたらいいですか?
635デフォルトの名無しさん:03/02/20 23:54
WshShellのRun使う
637デフォルトの名無しさん:03/02/20 23:59
>>635
どうもっす!
638デフォルトの名無しさん:03/02/21 00:06
>>636
試してみまっす!
639ひきプロ:03/02/21 00:06
http://hp.vector.co.jp/authors/VA014315/vb5.htm
こういうのもありました
>>636
多重起動したexeをどのように処理するのか?
641デフォルトの名無しさん:03/02/21 05:29
OCXのコントロールを動的に追加する方法はありますか?

コマンドボタンとかを動的に追加する方法は見つかったんですが
OCXの方が分かりません…
642デフォルトの名無しさん:03/02/21 06:20
☆★☆キラキラお星さま☆★☆
http://jsweb.muvc.net/index.html
VB上でFSO使うのってもしかして嫌われてる?
重いのかな?
644デフォルトの名無しさん:03/02/21 07:39
VBってどうして実行速度が遅いのですか?
しかもJavaよりもさらに遅いことが多いんですけど。
645デフォルトの名無しさん:03/02/21 08:48
>>641
レイトバインディング

>>643
環境依存だから。

>>644
書き方が悪いから。
646デフォルトの名無しさん:03/02/21 08:53
>>645
いえ、実際Web上の実行速度の調査とかを読んでいても
良くてJavaの実行速度近くまで出るけど、
アルゴリズムによってはJavaの3倍ぐらいの速度がかかってるんだよね。
どうしてかなと思って。
647デフォルトの名無しさん:03/02/21 08:54

もちろんJavaもVBも同じアルゴリズムだよ。
書き方が悪いとかそう言う問題じゃないと思う。
>>647
実際のソースを見ないと、なんとも言えんとおもうんだが、どうだろう。
649デフォルトの名無しさん:03/02/21 09:19
>>644
書き方が悪いに1000ヤマシャキ

クラス(COM)を使ったコーディングだとVBは遅くなりやすい。
Javaはよく知らんけどコンパイルの最適化ってある?
651デフォルトの名無しさん:03/02/21 09:30
>>650
Javaでも一応あった気がする。
652デフォルトの名無しさん:03/02/21 09:50
>>646
VB4 VB5 VC5 Java(IE4) Java(NN4) のベンチマークがあった。
http://member.nifty.ne.jp/aya/vb/javabench.htm

97年調査だから、それぞれバージョンが古い。

最新版どこにあるの?
>>652
それ見る限りじゃ、むしろ最適化したVBのほうが速いような感じだね。
とりあえず、646が「Web上の実行速度の調査」とやらのURLを
出さない限り話にならないような。
そんな古いやつ…
参照設定で登録できなくて、regsvr32では、エントリポイントが見つかりませんでした
といわれるDLLは、VBでは使えませんか?
Borland Cで書かれてるそうで、関数仕様以外はよく分からないものなんですが…
>>655
Declare
657デフォルトの名無しさん:03/02/21 17:00
pic.ScaleMode = 4
pic.Picture = LoadPicture()
pic.ForeColor = vbBlack
pic.CurrentX = 10: pic.CurrentY = 3: pic.Print "モナー"
pic.CurrentX = 10: pic.CurrentY = 4: pic.Print "ギコ"
pic.CurrentX = 10: pic.CurrentY = 5: pic.Print "しぃー"
pic.CurrentX = 10: pic.CurrentY = 6: pic.Print "8頭身"

などの場合に"モナー"だけ赤く表示させるにはどうしたら良いのでしょうか?
何方かご教授お願いします。
658デフォルトの名無しさん:03/02/21 17:07
よろしくです。

ファイルが使用中であるか(別のプロセスが使用中で無いか)を調べる方法を
教えてください。関数でもあるのでしょうか。
MSDNおよびグーグルで"ファイル 使用中 Visual Basic"で検索しましたが
力が及びませんでした。

>>657
pic.ForeColor = vbRed
pic.CurrentX = 10: pic.CurrentY = 3: pic.Print "モナー"
pic.ForeColor = vbBlack
pic.CurrentX = 10: pic.CurrentY = 4: pic.Print "ギコ"


>>658
とりあえず(ロック付きで)開いてみるとか名前を変えてみるとか削除に挑戦するとかは?
660655:03/02/21 17:43
>>656
ドーモ。解決しました。関数のシンボル名が間違ってただけでした…(´・ω・`)スマソ
661656:03/02/21 17:50
>>660
ゴ・・・ゴルァ!
WebBrowserコントロールの事で質問なんですが
HTMLを読み込む時にキャッシュを使いたくないのですが、どうすれば良いでしょうか?
Googleで検索してもあまり出てこないし・・・

よろしくお願いします・・・(´Д`;)
アプリケーションに、右クリックのショートカットメニューを付けるやり方を教えてください。
>663
レジストリ弄るしょぼい方法しか知らない…
>>663
メニューエディタで表示をOffにしたメニューを作成しておき、
MouseUpイベントで、右クリックを感知したら
PopupMenuメソッドで呼び出せばいい。
>>662
ピクチャボックスにpngファイルを読み込む方法を教えてくれたら教えてあげる。
667ひきプロ:03/02/21 22:32
>>662
WinsockかINetコントロールで、ローカルファイルに
URLの内容を取得した後、Webbrowserの
Navigateで先ほど取得したローカルファイルのURLを
設定してはどうでしょうか?
668ひきプロ:03/02/21 22:35
>>666
http://www.planet-source-code.com/xq/ASP/txtCodeId.29135/lngWId.1/qx/vb/scripts/ShowCode.htm
こういうのがありますけどどうですか?
今見つけたところなのでどういうものか分かりませんが
669ひきプロ:03/02/21 22:44
あげてみる
670初心者1号:03/02/21 22:56
あのう・・・・すいません、ちょっと教えてもらえると幸いなのですが。
VB6.0でRichTextBoxを利用しているのですが、IMEmodeプロパティがなくて困っています。
何か解決方法はないのでしょうか・・・・
アンインストールまで自作しようとしてるんですけど、
自exeを削除する技を教えて下さい。

batファイル作成→exeを削除→batが残る→マズー

こんな具合です。。
672ひきプロ:03/02/21 23:27
Private Declare Function ImmSetOpenStatus Lib "imm32.dll" (ByVal himc As Long, ByVal b As Long) As Long
Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long

Private Sub Command1_Click()
  dim mContext as long
  mContext = ImmGetContext(RichTextBox1.hwnd)
  ImmSetOpenStatus mContext, 1
End Sub

みたいな感じでIMEをONにできます。また
Private Declare Function ImmGetOpenStatus Lib "imm32.dll" (ByVal himc As Long) As Long
を使うとIMEの状態を取得できるようです
673662:03/02/21 23:28
>667
おお、サンクスです!
早速試してみます
674ひきプロ:03/02/21 23:30
>>671
batファイルの最後に、
del [batファイルの名前].bat
を追加すれば解決できると思います
>>674
うーん、さっき自batファイル消そうと、やった時は消えませんでしたが、
今やったら消えました・・。なんでかなぁ。。
ありがとうございますた。
676デフォルトの名無しさん:03/02/21 23:36
【最新情報追加】☆^〜^★
http://sagatoku.fc2web.com/
あなたの探し物こちらで見つかります
677ひきプロ:03/02/21 23:38
>>675
不思議ですねー。
batの頭に CD [App.Path] とか入れると確実になるかもしれません
678初心者1号:03/02/21 23:40
>672
マジサンクスです。
でも技が良く分からない・・・

試してみますです。
>>666
別に何も教えてもらいたくないけど...
imgctl.dllでDIB取ってピクチャボックスに転送しる

>>677
さらに App.Path を ”で囲うとイイ
680ひきプロ:03/02/21 23:44
>>678
ImmSetOpenStatus、ImmGetOpenStatus、ImmGetContext
についてはMSDNを参照してください。

これは、Win32APIを使った技なので、VBのマニュアルの
APIを使う・・・みたいな章を読めば詳しく書かれています。
681初心者1号:03/02/22 00:45
>680
ひじょ〜にありがたいです。



うちの教官が貴方みたいな人なら神だ・・・
682デフォルトの名無しさん:03/02/22 02:50
>643
に便乗させてください。
FileSystemObjectは環境に依存するというのは
なんとなくわかってましたが、
具体的に必要な環境としてはどういう環境が必要なのでしょうか?
教えていただけませんか?
よろしくお願いします。
>>682
WSH
>>682
初期バージョンのWindows95で動かないだけでしょ。
金出し渋るタイプの、企業や国の機関以外で使ってないだろうから気にすな。
WM_MOUSEACTIVATEメッセージをフックしたいのだが、
VBではできねーのかな?
いやねえ、戻り値をMA_NOACTICATEに変えたいだけなんだが・・・・
(Delphiなら簡単だが)
>>686
サブクラス化
688デフォルトの名無しさん:03/02/22 13:41
 VisualBasicで
---
Dim a As Double
Dim b As Double
Dim c As Double

a = &H8000
b = &HAED000
c = a + b
---
 こんなことしてやると計算結果 c は &HAE5000 になります。
a が signed 扱いにされているようですが、これを unsigned に
する(計算結果を &HAF5000 にする)方法ないですか?
>>688

real
>>689
realという型はVBには無いようですが…
a = CLng("&H8000")
で解決しますた
&H8000&の方がいいよ。
以前あった質問で、結局レスがなかったものの再質問です。
treeviewコントロールを用いてエクスプローラ風に見せたいのですが、ドラッグ・ドロップ
をする時に詰まってしまいました。ドラッグ中のアイコンが32*32で表示されるのは
32*32のアイコンのなかに16*16のアイコンを描いて、それをドラッグする時に選択することで
回避できたのですが、アイテムの名前が表示されません。IEのエクスプローラバーでの
お気に入りと同じになってしまいます。自分としては是非アイテム名を表示しながらドラッグ
したいのですが…ご教示お願いします。
694666:03/02/22 20:24
>>679
>imgctl.dllでDIB取る。
dllの呼び出し方やDIBという言葉も知らんよ。
サンプルコードきぼんぬ。
>>694
このバカはなんで偉そうなんでしょう?
>>695
バカだから(´∀` )
697666:03/02/22 20:55
質問者がどんな言葉遣いでも答えてくれる神以外は来るな。
698666:03/02/22 20:58
非常にガッカリだ。
フォームを 最小化ボタンと終了ボタンのみで
ウィンドウサイズを変更できないような風にするにはどうしたらいいのですか?
700ひきプロ:03/02/22 22:21
BorderStyle = 固定
Minbutton = True
ありがとうございます
めっちゃ初心者質問ですみませんでした
>>666
いや、喪前が来るな。
質問者として最低限必要なものが喪前には無い。
703デフォルトの名無しさん:03/02/22 23:51
よろしくお願いします。
ウィンドウの最小化とか最大化のボタンの左に同じ様なボタンを1つ2つ
追加したいんですがどうしたらできますか?
704デフォルトの名無しさん:03/02/23 00:10
「れ、冷二さん……」
「なんだ」
「家へ、家へ帰してください、お願い」
 無駄だとわかっていても、夏子は哀願した。愛する子供は今ごろどうしているのだろう、夫は……。ボロボロにされた身体ではあっても、夏子はこのまま家庭を捨てることはできない。
「こ、子供のことが気になるんです……」
「帰してやってもいいが……」
 はじめは、このまま夏子を自分の牝として囲ってしまうつもりだった。ヤクザに追われて殺されるなら、それまでとことん楽しんでおこうというヤケっぱちな気持ちだった。
 だが今の冷二は、不安と恐怖はあるものの、ずっと落ちつきを取りもどしていた。三人よりも、真樹子と二人のほうが安全だと思う。
 それに夏子が行方不明ということで、警察が動きだしでもしたら、かえってやっかいになる。
「いいだろう、帰してやるぜ。だが、奥さんはもう俺の女だってことを忘れるなよ」
 夏子は小さくうなずいた。だが、夏子はうれしくはなかった。冷二からは逃げられるものの、もう夫に顔向けできない身体にされ、殺人にまで巻きこまれて、どうして心が晴れよう。
「そうと決まったら、帰る前に、朝のつとめだ」
 冷二は布団のなかで夏子を抱きすくめたまま、朝立ちで硬くたくましくなった肉塊を双臀に押しつけた。
「尻の穴だぞ」
「……は、はい……」
 うなずいた夏子はすすり泣いた。
 数えきれないまでに犯してもなお、朝からおぞましい肛交を求める冷二の貪欲さに、眼もくらむ思いだった。
「前……ではいけませんか……お尻、ヒリヒリと痛いんです」
「だから尻の穴がいいんだ、フフフ」
「ああ……」
 夏子の声に哀しみとあきらめがこもった。何度されても肛交はおぞましい。
 それでなくとも夏子のアヌスは赤く腫れて、ヒリヒリとうずいていた。
 このうえまた冷二の太いものを受け入れさせられたら……。夏子はおびえた。
 だが、おずおずと冷二のほうへ双臀を突きだした。
>>693での追加質問ですが、treeviewをエクスプローラ風に見せるソースはDLしてきたものを
使っているのですが、同じフォームに別のtreeviewを他のカスタマイズのソースを適用したいと
思っているのですが、出来ますでしょうか?現状ではエラーは出ないのですが2つ目のカスタマイズが
有効になりません。私見では、一つのコントロールに対して異なる2つのサブクラス化(言葉は正確
ではないかもしれません)は出来ないようにも思えるのですが…

あ…666が…
>>703
サブクラス化
サブクラス化といえば、
自アプリに飛んでくる全てのメッセージを取得する事はできませんか?

SetWindowLongの引数にウィンドウメッセージを拾いたいコントロールのハンドルを渡せば、
そのコントロールに飛んでくるウィンドウメッセージは取得できますけど、
フォームに大量のコントロールを張ってるとき、
どのコントロールとは限らず全てのコントロール(と、フォーム)に飛んでくるウィンドウメッセージを知りたいんです。
すいません。>>705に関しては自己解決しました。サブクラスを2つ作れば
良かったのですね。ただ…693については依然わかりません。よろしく
お願いします。
709ひきプロ:03/02/23 01:33
>>707
一つのウインドウプロシージャに全部の
コントロールの処理させてはどうですか?
hWndでどのコントロールか分かりそうだし
710703:03/02/23 03:22
>>706
もう少し詳しく…どのメッセージにどんな対処をすればいいんですか?
711706:03/02/23 10:03
>>710
http://www.google.com/search?num=100&hl=ja&ie=Shift_JIS&q=wm_ncpaint+wm_nchittest&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
ボタンの動作をエミュレートする

>>707
SetWindowsHookEx は使えない?
712デフォルトの名無しさん:03/02/23 18:09
インストールするときにシェアウエアのように
IDキーを入力してからインストール開始するようにする
インストーラの作り方を教えてください。
ディストリビューションウィザードではできないのでしょうか?
>>712
VisualStudioInstller
ディストリビューションウィザードのようには簡単ではないが、
使いこなせばそれなりに良いみたいよ。マイクロソフトのサイトに行ってゲットせよ。
714712:03/02/23 18:32
>>713
ありがとうございます。
さっそく探してみます。
ファイルのMD5の算出をしたいのですが、、、
ソースとかありませんか?
GUIにペインを使いたいのですが、
どのコントロールを使って実現したらいいのでしょう?
718デフォルトの名無しさん:03/02/23 21:07
コマンドボタンに自分で作ったアイコンを表示する方法を教えてください。
プロパティのPictureで指定するのではなく,アイコンを登録してある場所の
ディレクトリを保存したテキストファイルから,必要な行を呼びだして
コマンドボタンに表示する方法です。
>>718
君は少し頭を使いなさい。
>>718
意味がわかりません。
(・∀・)チンポーッ!!
>>666

今さら レスしても遅いか?

imgctl.dll は PNG変換DLLだった
imgctl.dll では PNGの表示はできん(と思う)...すまん

表示には、Susie Plug-inを使ってくれ
http://www.koalanet.ne.jp/~akiya/vbtaste/vbp/ の Susie Plug-inを動的に利用する
を参照のこと

NT系のOSには対応していません。と書いてあるもののXPでは動いた

俺は親切だな... 神にでもなろうかな...

>>722
VBでPNGならコレが定番かもしれないがどーかなー。
http://www.vector.co.jp/soft/win95/prog/se148530.html
hDCに直接書き込めるぞ。保存もできるぞ便利。
素のOSそのままでPNG扱う方法は知らん。
>素のOSそのままで

むぅ?

  ∩∩
 (゜x゜ )○
>>724
OSインスコした直後の、OS付属のAPIだけでやる方法は知らないって意味ー。
>>723の場合は、ソフトを配布する場合はDLLも一緒に配布が必要、ってことね。
そりゃPNGの形式を理解して
ヘッダーよんでふんにゃかふんにゃかするんでしょう。
>>726
ヘッダに関しては難しいアルゴリズムとかとは無縁だから楽チンだね。
728ひきプロ:03/02/24 00:55
PNGはZIPの解凍作業がいるみたいですよ
この前拾ったサンプルにzlib.dllの機能使ってる箇所があったので
729666:03/02/24 09:19
>>726-728
それも参考にするけど、
とにかくコピペしてそのままつかえるサンプルやPNGを読み込むためのActiveXコンポーネントをきぼんぬ。
リッチテキストボックスぐらい使いやすいのを。
730666:03/02/24 09:23
スマン
668 :ひきプロ :03/02/21 22:35
>>666
http://www.planet-source-code.com/xq/ASP/txtCodeId.29135/lngWId.1/qx/vb/scripts/ShowCode.htm
こういうのがありますけどどうですか?
今見つけたところなのでどういうものか分かりませんが
--------------------
このカキコミを見落としていた。しばらくそこを呼んでみる。
731666:03/02/24 09:37
>>722-723
おっ。今から見てみる。
732デフォルトの名無しさん:03/02/24 09:57
666

グレープシティーより
LEADTOOLSというのがでてる。
9万で買えるActiveXだ。君の望みのものがある
733666 ◆ExGQrDul2E :03/02/24 10:29
>>732
むむ9万とは。でもほしい。
だけどそれは我慢してVB.NETを買っっちゃうかも。
余力があったらLEADTOOLSも買ってみる。
734666 ◆ExGQrDul2E :03/02/24 10:33
>>668のさんぷるぷろぐらむはVB英語版用のサンプルだからかどうかわからないけど
参照設定のところがうまくいかなかったので
>>722のSusieプラグインを使う方法に挑戦中。
>>723もそのあと試してみる。
735666 ◆ExGQrDul2E :03/02/24 10:51
報告も兼ねて ひとりごと をいいながら実験してみる。
722のサンプルのプロジェクトファイルを開いて画像を表示しようとしてもプラグインがない状態なのでまだ画像を表示できないようだ。
ttp://www.vector.co.jp/vpack/filearea/win/art/graphics/loader/susie/index.html
ここで画像表示用のプラグインを探してみる。
736666 ◆ExGQrDul2E :03/02/24 11:06
722のlzhの解凍先フォルダにSusie32 plug-in libraryというスージープラグインを入れてから、
プロジェクトファイルを開いてからF5キーでプログラムを動かし、ファイルを開く、で画像を指定しても
画像が表示できなかったのでプラグインを使う方法はあきらめる。
つぎは723を試してみる。
737666 ◆ExGQrDul2E :03/02/24 11:17
hDCとか初耳だがもうちょっと723の取説.txtを試してみるか。
取説.txtにサンプルプログラムがありそれはファンクションプロシージャがつかってあり、
SUBプロシージャしか使えない初心者のオレには難しい話だが試行錯誤ちう。
738666 ◆ExGQrDul2E :03/02/24 11:27
取説.txtのサンプルプログラムを
どうやって実際にVBのピクチャーボックスでpngを表示させるプログラムに改造したらいいのかわからず断念。
結局ピクチャーボックスがpngを読み込んでくれるVB.NETを買うときまでpngファイルの扱いはあきらめる。
739+激しく初心者+:03/02/24 12:40
ExcelVBAにBASP21 DLLを組み込んで、PCから携帯へのメール送信アプリを
作ったんですが、
(いや、迷惑メールとは無関係です。会員登録アドレスへの一斉送信に使います)
しばしばエラーメールが返ってきます。
もちろん、相手の方は拒否設定はしておられません。
届くこともあれば届かないこともあるといったような状況です。

相手がPCなら何のトラブルもないのですが、携帯だととたんに確実性が落ちます。

よい解決策をご存知の方はいらっしゃいませんでしょうか?
>>738
Vectorのヤツは取説がバグっとる…。
http://www.akikuma.cx/lzh/transg32.lzh
こっちの修正済み取説.txtを使え。

んで、取説末尾のプロシージャを適当な標準モジュールにコピペ。
更に、そのプロシージャの上の行に、
Public Declare Function DCReadPNG Lib "TransG32.DLL" (ByVal pngf As String, ByVal TargetDC As Long) As Integer
をコピペ。

んで、
  Picture1.AutoRedraw = True
  ReadPNGFile Picture1, "C:\hoge\hoe.png"
ってやるとあらびっくり。

AutoRedrawがFalseだと表示しないので注意だ。
AutoRedrawは上記のような実行時に設定する方法ではなく、
デザイン時にプロパティーで設定しておくのが普通。

つーわけでがんがれ。
お客様のおかけになった番号は、電波が届かな(ry
>739
いいかげん言い飽きたこのフレーズ。

そ の エ ラ ー メ ー ル の 内 容 を 書 け


携帯は迷惑メール対策の関係上、同一サーバからの同時多発送信を
弾くという対策を取っているケースが多いのも関係しているかもな。
743+激しく初心者+:03/02/24 13:15
>>741

自分の携帯でテストしてみても、届いたり届かなかったりなんですよね。
744+激しく初心者+:03/02/24 13:16
>>742

キャリアによって異なりますが、概ね User Unknown なんですよね。
むしろVBの問題と言うよりキャリアのもんだいという気がするんですよね
>>744
なんか、スレ違いな領域の問題じゃないの?
VBとして解決できることは無いと思うが。

通信関係の板で聞いた方が解決すると思う。
同報発信の量が多すぎるとか、送信者のホスト名が引けなかったとか、
そういうようなVBと関係ない領域の不具合だと思うよ。
747666 ◆ExGQrDul2E :03/02/24 15:31
>>740のかきこみを今発見。
実験開始。
>>747
おまえ、ちょっといいかげんにしろ。
いちいち「実験開始」だのなんだのって余計なことでレスしなくていいよ。
>>733-738まで細切れで一人で消費してまだ足りないのか?
そんなに独り言が言いたきゃこっち逝け。

夢・独り言
http://life.2ch.net/yume/
おしえた側からすればいちいち報告してくれるのは教えがいがある。
>>749
それも分かるが、試してから結果も含めて書けばいいだけの話じゃん。
時間かかるなら、ひとまず「ありがとうございました、試してみます」と言うのも分かるが、
>>740の内容なんてものの数分かせいぜい数十分あれば試せる話でしょ。
「実験開始」なんていちいち宣言するのはまったくの無駄。
その発言だけならともかく、>>733-738がひどすぎるので、ちょっとね。
まあ、こんなこと書くのもレスの無駄使いなのでこの辺にしておく。
666もこのレスに反応しなくていいから。
751666 ◆ExGQrDul2E :03/02/24 16:54
>>740
いろいろとあれこれ実際にやってみた。
でけた!
神様に感謝。ナムナム(-人-)
-----------
666 :デフォルトの名無しさん :03/02/21 22:30
>>662
ピクチャボックスにpngファイルを読み込む方法を教えてくれたら教えてあげる。
----------------------------
662が教えてくれたわけじゃないけど
>>662
に約束の情報を。
ttp://www.galliver.co.jp/writing/susume_vb/tre902/
ttp://www.galliver.co.jp/writing/msdn/msdn13/
>>750
は報告不足で会社でトラブルをおこさなければいいが・・・
性格は悪いが才能はありそうな予感
ActiveReport2.0で、ユーザー定義サイズの用紙を指定したいのですが、
反映されません。

Private Sub ActiveReport_ReportStart()
Me.PageSettings.PaperSize = vbPRPSUser
Me.PageSettings.PaperWidth = 12 * 1440
Me.PageSettings.PaperHeight = 17 * 1440
End Sub

プリンタのデバイス名をnullにすればプレビューではサイズが
反映されるのですが…これはプリンタが対応していないってことなんでしょうか。
一応、プリンタはユーザー定義サイズに対応していて、専用のホッパも
あるのですが…。
どなたか原因をご存知の方、教えてください。よろしくお願いします。
NULLについての質問です。
BinaryのFile(c:\NULL.lif)の中のデータに、NULLを含めようとテストプログラムを作ったのですが、うまくいきません。

Open "c:\NULL.lif" for Binary as #1
for i = 0 to 9 step 1
put #1 , , NULL
next i
close #1

この LINK.lif をBinaryEditerで確認すると、NULLの箇所が、
『 01 00 』とされています。
NULLなので、『 00 00 』とずっと思っていたので、
今まで私が間違っていたのか、それともこのプログラムがいけないのか、
そんなところで詰まってしまいました。
皆さん教えてください。お願いします。
756初心者1号:03/02/24 19:40
またまたrichtextboxの質問なのですが・・・

ユーザーにRichTextBoxに文章を入力させ,保存させたのですが。
当然のようにテキストを取得するとRTF形式に・・・

うまいことテキストだけ保存はできないのでしょうか・・・
vbNullChar、vbNullString
758デフォルトの名無しさん:03/02/24 19:53
>>756
SaveFileで rtfTextを指定すればいいのでは?
759デフォルトの名無しさん:03/02/24 19:56
>>755
VBでNULLは不定値。
もともとNULLの概念は処理系に依存。
760初心者1号:03/02/24 19:58
>757
ヒントでしょうか・・調べてみます。
取っ掛かりすらないので非常に助かります。

>758
当初そうしようと思ってRichTextBoxにしたんですが・・・
少し事情が変わりまして。

シーケンシャルファイルの1レコードとして保存しなければならなくなってしまって。
761たすけてママン:03/02/24 19:58
vb6sp5でmovieplayerコントロールを使っていたのですが、
先日wm9プレイヤーをインストールしたあと、プログラムを修正していたら、
デバッグ実行時に、PG中のメディアプレイヤーコントローラーの外観がwm9のものになってしまいました。
デバッグ中は問題なかったんですが、コンパイルしたexeを実行すると
「msdxm.ocxからコントロール'MediaPlayer'をロードできませんでした。msdxm.ocxのバージョンが最新のものではありません。以下略」
といわれ、起動できなくなってしまいました。
コンポーネントを見てみると、msdxm.ocxなるものがあり、選択してみるとwm9のアイコンがツールボックスに表示されます。

嗚呼、まさかwm9プレイヤーを入れただけでこんなことになるとは。たすけてママン
762たすけてママン:03/02/24 20:12
2連続ですまん。
msdxm.ocxのリンクを張ってみると、ツールボックスには真っ白なアイコンが・・・・。(なくなってる!?
ためしにmsdxm.ocxにリンクを張って、オブジェクト名を以前のバージョンのコントロールの名前を同じにして実行してみたら、
サポートしていないメソッドが・・・・・。(これってソース書き直しじゃん!?
wm9アンインストールしたら元に戻るとおもいますか?
コード出せって言われそうだけど
VBだけでPNG画像を扱うモジュールを作ったことがある。
もちろんZIP圧縮/解凍もVBだけでやった。
・・・が、笑える程遅くて使い物にならなかったよ・・・

PNGの全部の形式に対応してた訳ではなかったが、
PNGのRFCよりZIP関連のRFCと格闘してる方が長かったな。
DQNなんで英語は苦手なんよ。

JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・
>>763
VBは遅くないって結論出たわけだし、あんたもコード出せないわけだし、信用度低いな。

> JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・
お前はもっとバカだな(w
VBでJPEG保存するサンプルはこれかな
ttp://www.interq.or.jp/earth/kokoro/japanese/vb_sample_latest.html

VBのみでZIP扱えたらそれはそれでカコイイな
766デフォルトの名無しさん:03/02/24 22:56
あるexeに対するショートカットを作るなんてことは可能でしょうか。
できそうなら手法を教えてください。
767ひきプロ:03/02/24 23:20
768ひきプロ:03/02/24 23:34
>>760
SelTextなどを使って、保存したい部分のテキストだけを
文字列変数に入れて、それをファイルに保存してはどうでしょうか。
一部分だけをうまく選択するのが難しいかも
769ひきプロ:03/02/24 23:40
>>762
Windowsのセットアップディスクからmsdxm.ocxの
古いバージョンを持ってきてアプリと同じフォルダに
入れたらいけるかも
>>763-764
deflate圧縮はビットシフトとか多用しそうな気がする。
だとしたら、VBは速度的にかなり辛いんじゃないかなぁ…。
漏れは作ったこと無いからわかんないけど。

deflateの前に1回差分取るみたいな感じの圧縮もあったよーな気がする。
一度挑戦してみたいけど、漏れのスキルじゃzlib弄るのがせいぜい…。勉強しよ。

>>760
単にNULL値として 0x00を出力したいなら、素直に CByte(0) でも出力するのが
いいんじゃないかな。 0x00 0x00 なら CInt(0)。
vbの“Null値”はCの“Null文字”とは別物なので注意だ。“vbNullChar"も
“vbNullString"もまたちょっと違うのだ。

RichTextBoxからプレーンテキストを得たいだけなら、
RichTextBox.Text とか、
RichTextBox.SelText とか。
…意味が違う?
771763:03/02/24 23:55
>> JPEGをVBでやった「つわもの」(バカともいう)もどっかにいたな・・
>お前はもっとバカだな(w
バカ系プログラマには最高の褒め言葉だ。ありがとうw

PNGやったときは300MHzぐらいのときでVB4だったんよ。
今なら少しは使えるかもしれんけど、ビット演算が多いからね・・・

あとVBが遅いとはおいらも思ってないな。
2^1398269-1(メルセンヌ素数)を出力するプログラムは
Pen3-400MHz/VB4で6時間かかったが、
Pen3-933GHz/VB6で25分だった。
ちなみに同じマシンでVC++では16分。Linux/gccでは17分。
VC++/gccはコンソールだし最適化とか考えてないロジックでだから、
バカみたいに遅いわけじゃないんでない?
VB4まではバカみたいに遅かったと思うけど。
>Pen3-400MHz/VB4で6時間かかったが、
>Pen3-933GHz/VB6で25分だった。

CPUの速度にプログラムの速度が全然ついて行ってないが。特に下。
>>772
??
単に、VB4でP-Codeの場合死ぬほど遅い、
VB6で最適化コンパイルかけるとCと比較して遜色ない(と言えないこともない)、
という結果が出てるだけのよーに見えるけど?

何が言いたいかサッパリわからん…。

そういや、みんなは最適化コンパイルかけるとき、PentiumのFDIVバグチェック
外してる? 今どきPentium60/66があるとも思えないので必ず外してるんだけど、
かなり速度やサイズに影響するよ…。
>>773
普段から単位書かないから肝心なときに単位を間違えて恥をかく。
>>774
なんだ、Typoか。吊ってくる。
776デフォルトの名無しさん:03/02/25 01:34
VBからCなどで作ったDLLを呼び出して処理したいのですが、
DLL側から値がどんどん送られてくる場合VB側ではどのような処理でその値を
取り出したらいいか分かりません。
具体的にはDLLのタイマーイベントで何秒かごとに値がVBに送られてくるとして、
VBではその値を送られてきた順に処理するという感じです。
VB側でタイマーをコントロールするのではなく、送られてきた値をキューに入れて
どうにかするという方法は無いでしょうか?よろしくお願いします。
777ひきプロ:03/02/25 01:52
コールバック使うとか
778初心者1号:03/02/25 02:04
なんかいけそうです。
みなさんありがとうございます。
あのう、今さっきVB6をはじめた、超素人ですけど、質問していいですか?
ログ読んでも俺レベルよりはるかに上ばっかりで下は絶対いなさそうなのでサッパリわかりませんでした。
今安いぺらぺらの本買ってきて読みながら勉強してるんですけど、最初の方でつまづいてしまって・・
しかも答えとか載ってないから全然わかりません、いろいろと試行錯誤してるんですが・・
もし答えていただける方がいるなら質問させていただきます。
780ひきプロ:03/02/25 02:10
>>778
おー、よかった。がんばってください
>>779
どうぞ
781779:03/02/25 02:17
VBでチン子を大きくするにはどうしたらいいですか?
>>780
やったぁ、ありがとう。
テキストの文そのままうつします。
問題・ボーリングのスコアを2回分入力すると平均とランクを表示するプログラムをつくりなさい。
○処理条件○
・コマンドボタンを「開始」をクリックするとデータ入力用のダイアログボックスを表示し、1回目のスコアを表示する。
 300を超えるデータを入力したら、メッセージ表示用のダイアログボックスを表示し、データエラーを警告し、プロシージャから抜け出す
 ただし、999の場合はプログラムを終了する。
・1回目のスコアを正しく入力したら、2回目のスコアを1回目と同様の条件で入力する。
・2回目のスコアを正しく入力したら、平均とランクの判定を行って、その結果をラベルに表示する。
・ランクの判定基準は、スコアが2回とも250以上の場合は「超A級」、平均が200以上の場合は「A級」
 100以上の場合は「B級」、100未満の場合は「C級」とする。

です。
それから、ラベルは4つでコマンドボタン1つです。
しょーもない問題かもしれませんが、本当に困ってるのでよろしくお願いします。
わかりにくかったら言ってください
783ひきプロ:03/02/25 02:29
>>781
Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://playboy.com/"
>>782
宿題なら自分でやりましょう
784779・782:03/02/25 02:30
781は絶対俺ではないです。
785779:03/02/25 02:31
宿題じゃないんですよ〜。
休みの間になんか覚えたいと思ってはじめたんです。
だめですか?
786ひきプロ:03/02/25 02:35
全部聞いたら身につかないので
やってみてつまづいたら聞くようにした方がよいと思います
(いきなりつまづくのはなしで)
わかりました。
ではどーしてもわからないのを聞きます。
判定の出し方とかはわかったんですけど、2回値を入力するとこがうまくいかないんです。
ダイアログボックスは2回でるんですけど、2回入力してもなんにも表示されないんです。
そもそも1回目に入力した値がどこに記録されてるのかもわからないんです。
>>781
VBでプログラム作って、揉んでもらえるところに池。
変数を覚えよう
790ひきプロ:03/02/25 02:47
まず、どのような方法で入力用のダイアログボックスを
出していますか?
それから、ダイアログボックスで入力した値は変数に保存する
必要があります。変数の概念が分からなければマニュアルを
読んでみてください
変数って言うのは最初に宣言するやつですよね?
SUKOA = InputBox("スコアを入力してください","スコア入力",0)
です。
793ひきプロ:03/02/25 02:58
>>792
それと全く同じ文を2回呼び出しているんですか?
はい・・だめなんですか?
795ひきプロ:03/02/25 03:05
1回目の値は最初のInputBoxでSUKOAに入力されます。
2回目は別の場所にいれないとまずいです
なるほど〜、だからだめなのか〜。
じゃあSUKOA2とかにしたらいいんですか?
dim sukoa1,sukoa2,heikin
sukoa1=inputbox("1回目")
sukoa2=inputbox("2回目")
label1=sukoa1
label2=sukoa2
heikin=Int((sukoa1+sukoa2) / 2)
label3=heikin
if sukoa1>=250 and sukoa2>=250 then
label4="超A級"
elseif heikin>=200 then
label4="A級"
elseif heikin>=100 then
label4="B級"
else
label4="C級"
end if
798ひきプロ:03/02/25 03:13
>>796
そですよ。
>>797
あーあ
あれ?俺が今勉強してる範囲で出てきてないのとかある。
intってなんですか?
それからdimですけど、そんな風にまとめてよかったんですね。
俺は1つ1つ分けて書いてました。
797さんわざわざありがとう。
でも自分なりのを書いてみます。
800781:03/02/25 03:33
#include <stdio.h>
void main(){
int ちんこ通常;
int ちんこトランス;
int ちんこ平均;
printf("通常時の大きさをいれてください[mm]\n");
scanf("%d",&ちんこ通常);
if(ちんこ通常=999){
printf("終了します\n");
return 0;
}
if(ちんこ通常>300){
printf("化け物かよ!\n");
return 0;

printf("大きくなっちゃった時の大きさをいれてください[mm]\n");
scanf("%d",&ちんこトランス);
if(ちんこ通常=999){
printf("ちんこ測定終了\n");
return 0;
}

if(ちんこトランス>300){
printf("それでもでかすぎ!\n");
return 0;

if(ちんこ通常>=250){
if(ちんこトランス>=250)printf("超ボブさっ布級");
return 0;
}
ちんこ平均=(ちんこ通常+ちんこトランス)/2
if(ちんこ平均>=200)printf("外国AV男優級\n");
elseprintf("ちちぇえ\n");
return 0;
}










VBスレでわざわざCで作った781に敬礼!
なんとかできました。
でも797さんみたいに綺麗にまとまらなくてバカ長くなってしまいました。
こんな感じです↓
Option Explicit
Private Sub Command1_Click()
Dim SUKOA1 As Integer
Dim SUKOA2 As Integer
Dim HEIKIN As Integer
Dim ERA As Integer
SUKOA1 = InputBox("スコアを入力してください", "1回目", 0)
Select Case SUKOA1
Case 999
End
Case 0 To 300
Case Else
ERA = MsgBox("エラー", vbOKOnly, "エラー")
Exit Sub
End Select
SUKOA2 = InputBox("スコアを入力してください", "2回目", 0)
Select Case SUKOA2
Case 999
End
Case 0 To 300
Case Else
ERA = MsgBox("エラー", vbOKOnly, "エラー")
Exit Sub
End Select
HEIKIN = Val((SUKOA1) + Val(SUKOA2)) / 2
Label3.Caption = HEIKIN
If SUKOA1 >= 250 And SUKOA2 >= 250 Then
Label4.Caption = "超A級"
End If
Select Case HEIKIN
Case Is >= 200
Label4.Caption = "A級"
Case Is >= 100
Label4.Caption = "B級"
Case Else
Label4.Caption = "C級"
End Select
End Sub

ひきプロさんアドバイスありがとうございました。
後半直しました。
SUKOA2 = InputBox("スコアを入力してください", "2回目", 0)
Select Case SUKOA2
Case 999
End
Case 0 To 300
Case Else
ERA = MsgBox("エラー", vbOKOnly, "エラー")
Exit Sub
End Select
HEIKIN = Val((SUKOA1) + Val(SUKOA2)) / 2
Label3.Caption = HEIKIN
If SUKOA1 >= 250 And SUKOA2 >= 250 Then
Label4.Caption = "超A級"
ElseIf HEIKIN >= 200 Then
Label4.Caption = "A級"
ElseIf HEIKIN >= 100 Then
Label4.Caption = "B級"
Else
Label4.Caption = "C級"
End If
End Sub

806たすけてママン:03/02/25 09:38
>769
ありがとう。いろいろやってみました。ではその一部始終をご覧いただこう。

他のWM9インストール前のPCから取ってきてコピーしてみたがだめでした。
そもそも同じバージョンのファイルでした。あとサービスパックから古いバージョンのファイルを入れてみたがだめ。
どうだめかというと、一度リンクをはずしてあったので、ファイルをコピーしてもコンポーネントの一覧には表示されない。
おそらくレジストリをいじられてるとおもわれる。レジストリをどういじれば出てくるのかわからないっす。
方法としては事前にディストリビューションウィザードで作ってあったセットアップを実行すれば、このocxが登録される可能性大
とおもって、セットアップを実行。さっきコンパイルしてたexeを実行するが同じエラー。そこで再度IDEを開き、コンポーネントを見てみると、
予想通り、ocxが使える状態に。リンクを張ると、ツールボックスのアイコンもちゃんと表示される。その状態で再度コンパイル&実行。
うまくいきました。
結論
wm9player入れただけで、VBのコンポーネントから旧バージョンのocxへのリンクを消された。これはマイクロソフトが意図的にやったのか
だとしたら何のためか。意図的じゃないなら修正してほしい。
>>806
>wm9player入れただけ
って・・・ (´д`;)
開発環境に、ましてやWMPコンポーネントを使ったアプリを作ってるところに
バックアップも取らずにホイホイ新しいものを入れちゃう君の姿勢が
一番問題だと思うんだが。
利用可能な用紙サイズの一覧を表示するには
どうしたらいいでしょうか?
Printer.PaperSizeだと現在の用紙サイズだけですよね。
>>808
API使え。
DeviceCapabilitiesとか。
VB6の標準EXEプログラムをコマンドプロンプトから起動して、同じカレントプロンプトに
対して文字を出力するにはどうすればいいんでしょうか?

VBから新規にコマンドプロンプト立ち上げて出力は出来るんだけど・・・
>>810
標準出力へ出力するってこと?
API使っためんどくさいやり方しか漏れは知らない…。
812808:03/02/25 11:54
>>809
サンクスコ
813たすけてママン:03/02/25 13:02
>807

そういうものですか。以後気をつけます。
814810:03/02/25 13:12
>>811
そうです。でも、カレントのコマンドプロンプトへの標準出力がどうしても出来ないんですよ。
↓とか参考にして作ってますけど、プロンプトが立ち上がるだけで何も出ない…
ttp://support.microsoft.com/default.aspx?scid=kb;ja;171654
>>814
「どうしてもVBじゃなきゃ嫌」 と言うわけでもなければ
さっさと別の環境を使った方が早い。
816:03/02/25 13:42
>>814
EXEファイルを作成した後
editbin /subsystem:console exeファイルのパス
を実行してコンソールアプリにする必要があります。
editbinはVisualC++に付属しています。

それと、
> ttp://support.microsoft.com/default.aspx?scid=kb;ja;171654
に出ている例では WriteConsole で出力してますけど、これだとリダイレクトが使えなくなるので、
WriteFile で出力したほうがいいと思います。
817デフォルトの名無しさん:03/02/25 13:45
DB接続に以下のようなソースで実行しています

'Oracle 接続用オブジェクト作成
Set gOraSession = CreateObject("OracleInProcServer.XOraSession")
'データベースOPEN
Set gOraDB = gOraSession.DbOpenDatabase("GA", "GA/GA", 0)

この、セッション接続が6〜10秒ほどかかります
この速度を早くする方法はありますか?

環境はWin2000(sp1)+VB6.0(sp5)+oo4o+Ora8iです。

それともこれってこういうもの?
818810:03/02/25 14:15
>>816さん、で、出来ました…感謝です!
でも、editbinってVB6オンリーの開発環境だと入らないのでしょうか?
私は幸いにもVisualStudioだったので使えましたが…
>>817

そういうものだと思われ
820817:03/02/25 14:44
>>819
やっぱりそうですか・・・
ありがとう・・・
821:03/02/25 14:58
>>818
link.exeを置き換えて、リンクオプションで subsystem を指定する方法が
過去ログにあったと思います。

この方法なら editbin がない環境でも対応できるでしょう
>>818
プロジェクト プロバティの実行形式ファイルの作成タブの
アプリケーション タイトルに
CONSOLE:hogehoge
としたらできなかったかなあ
(ちょっと自信ナシなので、バックアップをお忘れなく)
>>822
あ、間違った。822は無視してくだされ
824810:03/02/25 16:26
>>821
ほほう、そんな技が。link.exeならVB6にもありますしね。
色々と参考になります。

.NETならConsole.WriteLineで一発なのになぁ…
>817
Oracle知らんのだが、名前解決に時間がかかってるって可能性は?
826デフォルトの名無しさん:03/02/25 17:00
RichEditコントロールのOLEオブジェクト埋め込み機能を無効にしたいのです。

で、OLEDropModeを1にして、OLEDragDropイベントが発生した時に
RichTextBox.SelText = Data.GetData(vbCFText)
ってやったんですが、これだとOLEオブジェクトは弾けるものの、
テキストをドロップするときの動作がOLEDropModeが2のときと変わっちゃうんですね。
(ドラッグ中に挿入位置が変えられなくなる)

仕方がないんでこの方法は諦めてGoogleで検索しまくってみたら、
SendMessageとEM_GETOLEINTERFACEでこちょこちょやると行けるらしいと発見。
しかし、それ以上探しても何も出てきませんですた。。

ということで、おまいら助けてください。よろしく。
#錯乱中なので文がおかしいかも知らんが許して。。
>>817
それはローカルに置いてるのかい?間にルーターとか挟まってない?
828デフォルトの名無しさん:03/02/25 17:17
SQL文でビット演算の結果を拾いたいんだけど
別の意味の論理演算子に取られてしまうよう
全部拾いVBで選別する以外でよい方法ある?
829817:03/02/25 18:41
>>825
すいません、名前解決ってよくわからないです
ちっともOracleのチューニングとかしてないので
これを設定すると早くセクションがはれるのですか?

>>827
ルータやら専用線やらはさまっていまつ

でも、SQLPLUSは早く繋がるので(といっても3〜5秒はかかる)
回線は大丈夫かなーとおもいまつ

つーか、ググってみてもセクションの部分の速度に関しては
言及してるところが見つからなかったので
そんなものなのかなとチト諦め気味です。
(他人のサンプルとか見ても接続中ってメッセージ出して
 時間をかせいでいるかんじだし)

VBってどこに売っているんですか?
近くの電巧堂に売っていますか?
>>830
VB6単体はすでに販売終了だったよーな気がする…。
まぁ、流通在庫が山とあるだろうけど。

ビジネスソフトのパッケージとかを沢山置いてある店ならあると思うよ。
書店で売ってることもあるな。文教堂に売ってたの見たことある…。
>>831
厨房扱いされると思いましたが、
すばやい回答ありがとうございます。
うちは超田舎なので、あちこち探しても無いんですよ。。
>>757
ありがとう!早速試してみます^^

>>759
処理系に依存、システムによってNULLの値が変わるということでしょうか?
検証してみます。ありがとうございました^^
>>829
いっぺんローカルで試してみろ。問題の切り分けはそれからだ。
古いのってMSDNのプロフェッショナル以上に入れば手に入れられるんじゃなかったっけ?
高いけどMicrosoft Visual Studio .NET Professional Version 2002 MSDN Deluxe Editionを買えば
http://www.microsoft.com/japan/msdn/vstudio/campaign/default.asp
いろいろ揃えられる。いまキャンペーン中みたいだし。
>>832 通販使え。
SQL*Plusで5秒もかかるなら仕方ないんじゃない
tnspingとかは?ためした?
838デフォルトの名無しさん:03/02/25 19:27
VBインストール時じゃないと
MSDNライブラリ関連づけつつインストール出来ないんじゃなかったっけ。
Dim a as ?
a=10/3
のような場合にaは何型で宣言すればいいのでしょうか?
>>839
Doubleでも好きなものを。
>>839
Doubleなどを使う場合浮動小数点についても勉強しておきましょう。
842839:03/02/25 20:03
>>840サン
>>841サン
勉強します。
小数になやんでましたのでありがとうございました。
843デフォルトの名無しさん:03/02/25 20:08
VB.NETでDelphiのTWebBrowserに相当するコントロールって何ですかね?
(*´д`*)アハァ…
>>843
とりあえずスレ違い。
コッチへドゾー http://pc2.2ch.net/test/read.cgi/tech/1043629429/l50
ドトネトーはワカラン…。
846VBしらん:03/02/25 20:18
スレ分けるほどドトネトーは違うのか・・・
>>845
わかりました。ありがとうございます。
>>799
> intってなんですか?
これは一番やってはいけない聞き方だ。
まずはヘルプを見る癖をつけろ。
その上でヘルプのどこがわからないかを聞く。
VB勉強しようと思ってます。
とりあえずHP作ろうと思ってるんですがVBでホームページって作れるんでしょうか? 
やり方とか書いた本とか知りませんか?
>>849
釣りは他でやって下さい。
851デフォルトの名無しさん:03/02/25 23:30
はじめまして。
最近VBを始めたのですがちょっと分からない事が出てきました。

例えばデスクトップ画面などでファイルを複数選択して、削除
する場合複数同時に削除できますよね。
これをコードで書く場合にはどういう風に書けばいいのでしょうか。

点線で囲んだ範囲のコントロールを複数同時に削除したいのですが
ちょっと分かりません^^;
どうかお助けお願いします。
>>851
何がしたいのか良くわかりません
853799:03/02/25 23:43
>>848
すいませんでした。知らないことを調べもせずにすぐ聞くのは失礼でしたね。
以後気をつけます。
854デフォルトの名無しさん:03/02/25 23:49
>>849
 ActiveXならできるよ
855デフォルトの名無しさん:03/02/26 00:07
VB4スタンダードからVB6スタンダードにアップデートできますか?普通に買いなおさなきゃダメですかね、4で事足りるですか?
>>855
これから買うならVB.NETにしろよ
>>851
デザイン時の話?
>>851じゃないけど、要約すると、
フォルダ内の選択中の複数ファイルを順に取得するにはどうしたら良いのか、
ってことじゃない?
俺取得方法がわからんけど、ループはFor Eachかなぁ。
VB.NETって普及してるの?
まったく聞かないんだけど。
860デフォルトの名無しさん:03/02/26 10:37
>>858
違うと思う。
ふつうはSHIFTやCTRLキーで複数選択するけど、
マウスのラバーバンドで範囲指定して、その領域内に含まれる
ファイル(アイコン状態)をすべて選択したことにする方法。
これってListViewコントロールで出来たっけ?
あんまり使ったことないんだよな。
861デフォルトの名無しさん:03/02/26 10:40
>>859
VB.NETスレ見たら?
ネット関係とか、ネットデータベースが楽になったみたい。
でも、それ以外はよくなってないみたいだし、遅そうだし。
>855
VB4に慣れてるならVB6を探して買う事をおすすめする。
私はVB4、5、6とつかってきて、.NETのあまりの変貌さに驚いた。
はっきり言ってアレはVBじゃない。
それと、スタンダードはアップデートは無かったと思うぞ。
プロ版以上しかなかったと思われ・・・。
>>861
VB.NETはアプリの起動は遅いが処理速度は上がったと思うよ
864デフォルトの名無しさん:03/02/26 11:01
今からやるならドトネトーだね。
それなりに苦労はあるが、取っつきやすいが色々と制限のきついVB6よりは
ドトネトーの方が少々知らないといけないことが多いが遙かに柔軟性があって
いろんなことが簡単に出来てしまうからお奨めだね。

特にVB6の中途半端なオブジェクト指向もどきは糞だね。
でもWindows98じゃ動かないからダメ
>>865
「VB4の32ビット版を買うやつはアフォ
Windows 3.1じゃ動かないからダメ 」
って感じですか?
867デフォルトの名無しさん:03/02/26 11:26
IN = 128
aaa = Right$("00" & Hex(IN), 2)
このaaaをまた10進数の値として取り出すことは可能ですか?
>>867
頭に"&H"つけてVALで変換
>>867
ヘルプで「16 進表記」を検索
870867:03/02/26 11:47
ありがとうございましたー!
VB6SP5でADOを使いCSVを扱いたいのですが、CSVへの書き込み時にエラーが出てしまいました。
ODBCでmicrosoft Text Driverを使っています。
読み込みはできました。今度はその読み込めたCSVのデータを書き換えるために以下のようにしました。
adodc1.recordset.fields(1) = 1
adodc1.updateの行でmicrosoft text driverが以下のエラーを出しました。
このISAMではリンクテーブル内のデータを更新することができません。
このドライバーは読み込み専用なのでしょうか?
>871

訂正です。
adodc1.udpate ×  -> adodc1.recordset.update ○
873861:03/02/26 11:49
>>863
そう?
どっかにVB6とVB.NETのベンチマークない?

VS.NETが800MHz以上推奨だったので、見送ってたんだけど、
VB.NETのパッケージ見たら、それほどではなかったのね。
買ってみようかな。
VB6で作ったソフトに自作アイコンをつかってみたいんですけど、
なにかいいアイコンエディターはありますでしょうか?
>>874
お手軽にやるならフリーソフトでいくらでも転がってるけど・・・
ちなみに俺はSaluteとかいうやつ。
ttp://www2.justnet.ne.jp/~south/salute/

本格的にやるならPhotoshopとかで32x32のbmpを書いて
bmp→ico のコンバータにかける。
876874:03/02/26 12:54
>>875さん
ありがとうございます。
サイズは32ですか・・・。
ガンバッてアイコン作ってみます。
877デフォルトの名無しさん:03/02/26 13:35
>>871
>このドライバーは読み込み専用なのでしょうか?
残念ながらそうです。ひょっとしてINSERT文だけ使えたかもしれませんが、どっ
ちにしろほとんど実用的ではないです。Recordset.GetRowsをうまく使ってファ
イルを作り直すか、
Recordset.Save "hogehoge.xml" , adPersistXML
でXML形式で保存するとか。
>877

ADOでCSVを扱う情報が少なくて大変でした。
やっぱり書き込みは無理でしたか。
仮にINSERTだけが使えてもDELETEが使えないときついですね。
更新があるたびに新規にテーブルを作るという荒業も考えられますが・・・。
実用的じゃないですね^^;

>Recordset.GetRowsをうまく使ってファイルを作り直す
いま作ってるアプリがたいしたものじゃないので、こういう感じでつくってもいいのですが、
それ以外のアプリでも使えるようにするため、
一般にADOをつかってCSVをデータベースとして直接扱える方法があるかいろいろ調べてました。

XMLはぜんぜん視野に入れてませんでした。
XMLも視野に入れていろいろ検討してみます。ありがとうございました。
879デフォルトの名無しさん:03/02/26 14:38
>>878
英語のサイトですけど膨大なサンプルコードが転がってますよ。
ここで検索するといいよ。もう知ってるかな?
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?txtCriteria=&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&lngWId=1&B1=Quick+Search&optSort=Alphabetical
>更新があるたびに新規にテーブルを作るという荒業も考えられますが・・・。
ヤメテー。・゚・(ノД`)・゚・。
881878:03/02/26 14:44
>879

いやまだ見てません。
検索してみます。
教えていただいてありがとうございました。
882817:03/02/26 15:40
>>834
やってみたよ・・・
やっぱりセッション接続に6〜10秒ほどかかる・・・
sqlplusでもSqlplus.exe GA/GA@GAって起動すると
やっぱり6秒くらいはかかるぅ・・・
(2回目の接続はどちらも2、3秒でいけるのに)

つか、もう原因はOracleっぽい感じなので
スレ違いだな

つか、VB+Oracleな事してる人って
この辺はあんまり気にならないのかなぁ
883878:03/02/26 15:45
>879

CSVで検索してみました。
CSV形式へのコンバートといった使い方が目的のソースと、
レコードセットをCSVで書き出すやつ(書き出すレコードが指定できないので実質はコンバート目的)しかありませんでした。
あと何か会員にならないと手に入らないソースがあるみたいですが・・・・。

面白そうなのがCSVをADOのような感覚で使えるCSVDBSなるクラスを発見しましたが、SQL使えない。
ADOコントロールと違ってフレックスグリッドコントロールと連携できないので今作ってるアプリに組み込むには多少面倒ですが、
やっぱりADOから直接CSV扱うのはいろいろ制限あって実質使えないかな・・。
>>882
普通はそこまで遅くないよ。
過去ログ見たり、MSDN見たりしたけどダメだったので質問。

Dim frmD As frmDocument
Dim font
Set frmD = New frmDocument
font = frmD.rtfText.font
lblFontName = font
でオプションダイアログだしたらなんか新しい子フォームが出た。
どうしてでしょうか?
教えて君で非常にスマソ
>>885
よくわからんが
Dim font
font = frmDocument.rtfText.font
lblFontName = font

でいいとおもうが
887デフォルトの名無しさん:03/02/26 16:19
886でいいと思うが、、

Formってのは、Classと似たようなもんです(というと突っ込まれそうだが

Set frmD = New frmDocument

を繰り返すたびに、フォームのインスタンスが出来ます。ただし、

Set frmD = Nothing

としてもそのフォームが消える(Unloadされる)わけではない。
888885:03/02/26 16:33
>>886-887
返信どうもです。
が、>>886のコードでやると
実行時エラー '91' :
オブジェクト変数または With ブロック変数が設定されていません。
と出るんですよねー。
改めて自分がヘタレだって知りました。
889デフォルトの名無しさん:03/02/26 16:35
>885
何がしたいんか?
ラベルにフォントを設定したいんか?
フォント名を表示させたいんか?
890885:03/02/26 16:38
>>889
アクティブな子フォームのRichTextのフォントを取得して、
ラベルにフォント名を表示させたいのです。
891そうだ選挙にいこう:03/02/26 16:41
>>885
885のコードで、スタートアップモジュールを
frmDocument(.frm)からmain(.bas)へ変更する。

もちろんmain.basは新規に作成し、frmDocument.frm中にはコードを
書かない。書きたければInitialize,terminateでコンストラクタ・デストラクタ
を記述する。

結構こういう組み方は海外のサイトで見かける。

>>885
どの行でエラーでてんの?
893デフォルトの名無しさん:03/02/26 16:43
>>890
フォントはStdFontオブジェクト。
そのNameプロパティがフォント名
よって…

Dim frmD As frmDocument
Dim objFont As StdFont

Set frmD = New frmDocument
Set objFont = frmD.rtfText.font
lblFontName.Caption = objFont.Name

では駄目かな?
実際試して無いんで解らないが。

規定のプロパティを付けるところと、
暗黙Variantは止めなさい。
894そうだ選挙にいこう:03/02/26 16:44
>>885
補足:
すべて標準モジュール内に処理コードを書き、フォームは設計のみで
クラス(のように)扱う。VBで擬似マルチを行う場合によくやる。
895デフォルトの名無しさん:03/02/26 16:46
>894
ここではモジュールの層は関係ないだろ。
VBはVBらしく組みたいな〜
897デフォルトの名無しさん:03/02/26 16:49
>891
設計の話はまた今度。
もしくは別スレ立ててやってくれや。

言いたいことや、やりたいことは推奨するし、
層の切り分けは大事だが、

    こ こ は 初 心 者 ス レ
前から思ってたんだが、スレタイの「初心者」って必要なの?
だって「上級者」スレってないじゃんw
単なる「VB質問スレ」でいいような気がするんだが・・・
899デフォルトの名無しさん:03/02/26 16:53
>>897
ふーん
900そうだ選挙にいこう :03/02/26 16:58
>>987
仕切っているところを見ると2ch初心者ですか?

>>885
Dim ft As New FontDialog()

ft.Font = TextBox1.Font
ft.ShowDialog()
TextBox1.Font = ft.Font
901ネ刀必者:03/02/26 17:00
質問
フォント名の表示と多層アーキテクチャはどのような関係があるのですか?
初心者の僕には関係が見出せません。
よろしくお願いします。
902デフォルトの名無しさん:03/02/26 17:01
987踏んだ香具師は2ch初心者ケテーイ
>>901
1を聞くと10答える人なんじゃない。超ウザイよね。
904デフォルトの名無しさん:03/02/26 17:07
>>900
( ´,_ゝ`)プッ
905デフォルトの名無しさん:03/02/26 17:08
>>885
アクティブな子フォームってMDI使ってるの?
906885:03/02/26 17:14
>>893
このコード使ってもだめでした。

うーん、オープンソースアプリにしようかな?
>>906
なんか斜め読みしかしてないんだが、すでに開いてるフォームを
新たにインスタンス作成してるのが問題なのでは??
>>907
ちゃんと読んでからカキコしてね
909デフォルトの名無しさん:03/02/26 17:30
>>885
893どう駄目だった?
910885:03/02/26 17:33
修正前と同じですた。
オプションダイアログ出すたびにフォームが出ます。
911893:03/02/26 17:35
>>885
すまん、アクティブフォームのコントロールを拾うのね(^−^;
これでは新規にフォームのインスタンス作ってるから、
子フォームが増える罠。

だから、フォームのインスタンスを作ってるところ
Set frmD = New frmDocument
これを、アクティブフォームを拾うように変えればいいよ。
>>885
> Set frmD = New frmDocument
この行は何をしているつもりだい?
913デフォルトの名無しさん:03/02/26 17:37
これでだめなのかなあ
Dim objFont As StdFont

Set objFont = frmDocument.rtfText.font
lblFontName.Caption = objFont.Name
ActiveForm つかえ
アホくさ
916885:03/02/26 17:47
>911
やってみますたが、「複数の MDIフォームは使用できません」
と怒られてしまいました。

レス遅れるかも知れません。
917893:03/02/26 17:51
>>916
Set frmD = [MDIフォーム名].ActiveForm
でアクティブな子ウィンドウを取得できるよ。
ど素人がオープンソースって、丸投げの言い換え?
919885:03/02/26 18:04
毎回教えて君ですいません。

>>913
それでもダメでした。
ご教授ありがとうございます。

>>917
やっぱり、ダメでした。
ご指摘ありがとうございます。

>>918
いえ。おかしいところを口で説明するのが難しいため、
ソースを公開すると言うことです。
920893:03/02/26 18:13
>>919
乗りかかった船だ。
ソース出してみ。
921デフォルトの名無しさん:03/02/26 18:38
>>900
987ってなんだ?887のことか?
922885:03/02/26 18:42
ソース晒します。
ttp://web-box.jp/511

ご指摘お願いします。
毎回厨房でスマソ
直接プログラムとは関係ない質問でスマソのですが…

今Win2000にVB6.0(訳あってSPなし)を
導入して画面を作っているのですが、
今日急にVBのヘルプが使えなくなってしまいました。
(メニューからヘルプ選んだりF1押すと
「"0x00730076"の命令が"0x80004005"のメモリを参照しました。
メモリが"written"になることはできませんでした。」
というエラーが出て強制終了する)
どなたか解決方法をご存知ないでしょうか?

ちなみにVB6やMSDNを入れなおしても解決しませんでした。
OfficeやIEなどほかのアプリのヘルプは
正常に見れるのですが…。

924デフォルトの名無しさん:03/02/26 18:51
>>885
886。それで、ちゃんとその
rtfText
rtfText.font
がoublicになってるかどうか。
>>923
サービスパック入れれ。
927924:03/02/26 19:05
oublicはPublicのまちがい
rtfTextってコントロール?
928893:03/02/26 19:18
>>885
まず、MDIフォームはModule1のSub Mainでインスタンスを生成している、
fMainFormがインスタンス名。

よって、frmOptionsのロードイベントでのMDIフォームには
frmMainじゃなく、fMainFormを使う
その上にあるDim frmD〜がコメントアウトされてるから、有効にしとくように。
さらに、ActiveControlプロパティなっているが、呼び出すのはActiveFormプロパティな。
おそらく、これでフォント名は表示するはず。

で、閉じるときなのだが、cmdOKのクリックボタンを例に出すと、
frmDocumentを直接触ろうとしているが、これが間違い。
実際に触るフォームはfMainForm.ActiveFormである。
frmDocumentを触ろうとすると、新規のフォームのインスタンスを生成してしまうよ。
(クラス的に言えばフォームはGlobalMultiUse属性なので)
だから、frmDocumentの部分をfMainForm.ActiveFormに変えたら、新たにフォームを開かずに動くだろう。

書き方としてはもっと整理しなければならないが、現状動くというレベルまでで。
929893:03/02/26 19:21
ちょっと厨房が触るにはまだ早いような気がするよ。
もう少し、オブジェクトとインスタンスは理解しないと、しんどいよ。
Err.Numberはプロジェクト全体で使えるパブリックな価なんですかね?
また、Error.Numberというのもありますか?
たしか、ErrオブジェクトとErrorオブジェクト両方あったような気もするんですけど
やっぱりこれは同じもので、ただ短い文を書きたいときはErrをつかえばいいんですよね?
複数行のテキストボックスtxtaaaの中の文字一文字ずつ検索したいんですけど、始まりはdo until EOF(txtaaa.text) 見たいな感じでいいんですかね?
>>930-931
ヘルプ見たか?
自分で試したか?

自分で調べることをしない奴にはプログラムは無理だろう
神と人間の違いはなんだろうか?
そう、献身さだ。
猿と人間の違いはなんだろうか?
そう、知識に対する貪欲さだ。
つまり、神が猿に教えを与えるスレ、っと…。
いや、猿と人間の違いは
自慰行為に対する貧欲さだ。
おーい山田君。
猿のAA張っといて〜
ErrオブジェクトとErrorオブジェクトの違いをキボンヌ
脊髄反射しないでヘルプ読めよ
940885:03/02/26 22:45
しばらく放置ですいません。
やっぱり、漏れは厨でした。
ご指摘してくださったみなさん、ありがとうございました。
941938 ◆I3oM8XJnRI :03/02/26 23:08
神は寝る暇をおしんでカキコんでくれる。
オレが寝てる間に答えがあることを期待する。
>>941
VBにErrorオブジェクトは無い。
ErrorステートメントとError関数ならある。
Errオブジェクトもある。

なにがしかのコントロール(例としてData Report デザイナ)が
Errorという名前のオブジェクトを持つことがあるが、VBのエラー
とは関係無い。

満足したか? 漏れはこれから寝る。
943938 ◆I3oM8XJnRI :03/02/26 23:53
>>942
感動した。おやすみなさい。
おまいら、>>826もお願いしまつ。
GetFormat
946デフォルトの名無しさん:03/02/27 07:44
VBで[標準のブラウザ]を変更するにはどうしたら良いでしょうか。
HTML上でハイパーリンクをクリックした時に開くブラウザをボタンで変更したいのです。
おながいします。
Picture1.BackColor = &HFFFFFF
でも
Picture1.BackColor = "&HFFFFFF"
でもどちらでもピクチャボックスの背景色を変えられましたが、
正しくはどちらなんでしょうかね?
        彡川三三三ミ
       川川 ::::::⌒ ⌒ヽ  ハァハァ
      川川::::::::ー◎-◎-) ←
      川(6|::::::::  ( 。。))   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ._川川;;;::∴ ノ  3  ノ  < 漏れ?
  /;;;:::::::::::::::\_;;;;;;;;;;;;;;;;ノ    \______________
 /::::  /::::::::::::    |::::|
(:::::::: (ξ::  ・ ノ::・/:::|
 \::::: \:::::::   (::: |
 /:::\::::: \:::    ヽ|
/::::   \::::: \::: ヽ )
|:::      \::   ̄ ̄⊇)__  〜
|:::::::      \;;;;;;;;;;;(__(;;;・)  〜 モワー
\::::::::::   ξ(;;; );; )      〜
  \::::::::::::    ) )
    ):::::   //
   /::::::::: //
 /:::::  (_(_
(;;;;;;;;;;;__っ)))つ))
      ,,,,-‐'" ̄ ̄ ̄ ̄"―-、.
    /             \
  /                \
 /                     ヽ
/            神        ヽ
|                       ヽ
|                    ,,,,;;::'''''ヽ
 |          ;;:::::::'''"  .:     ,,,,,,  ヽ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ヽ...        "  ,,,,,,,,, .::    ;''“”`   | < ハッハッハ!見ろ!人がゴミのようだ!
  .―.        ;::''“”“~` ::::.       .. |.    \_____________
..| | ̄..              :::::::        |
 .\{_             ( ,-、 ,:‐、 )  |
  \\/..            \\\\  |
    \_ヽ.|       ヽ.__,-'ニ\\\\| ;": ..;.;".;
      `、ヽ         ヾニ二.\\\\ ;": ..;.;".;
 ;".;"".;":ヽ\             ..\\\\;": ..;.;".;
 ;".;":;"." :  `ー-::、_        ,,..'...\\\\ ;".;":
 .;".;: .;"        `ー――'''''     .\\\\ ;": ..;.;".;
 :   ゴ オ ォ ォ …… ! !".;"   \\\\   ;": ..;.;".;":
 ;"         .;".;": _.;.;_".;":     \\\\   ド カ ァ ン !
  .;".;": ..;.;".; ζ /_.;_/| .;".;", _   \\\\  .;".;.;".;":
 .;".;": ..;.;".;": ;:'.;| ΓΓ | |;":从へ_/|   .  \\\\"_.;__..:
 从へ从へへ从  ; ζ  | Γ从 | |;:.. |从Γ | |     从へ从∠___/|
     ( ⌒( ⌒ ) ζ | 从Γ | |.:;. |从Γζ.;".. .;. \ |ΓΓΓ| |p
                           なんだよ?              (  (
                   ,,.r'' ゛~~` ''ッ,,  何見てんだよ?          )   )
                 、 ゛  ,,,,,,,,,,,,,,,,,,,,, ヾ.   荒らすなよな!   ,.、    / /
                  ミ   ミ゛,へ.__, ,_ノヽ i.                .| |l   l ,´
                ミ    ミ, ( ・) {・フ 〉 ミ.          _-、i::| |ニニii '
            、,,,,ツi:     ミ,`~´ ヽ~〈  .ミ        /,‐ヽヽ`、||
          、シ``   i:      ,ゞ  'n.inヽ. .ミ          ( .〉〉/
         シ  //      ミ`    l.l ヽ"、         /  ノ
        ミ/ シ           彡 ,=こ二=.{ ミ,,      ,r'´ ,,、'゛
        ミi. /  /       ' ! w、`~^' vwv '、   ミ      〃 .ミ
       .ミ /     i:  /      `^^     \ ."   〃  ミ
      .ミ.:/ / / i:      v    !  ,,   \ 、 〃  ミ
      :i;     .i:   w      !!   ミ!:   ミ \\( ⌒ヽ
      :i;  /   i:      !!       .ミ キ    , ⌒`、_  )  )
      :il     .i:    !    w!    ミ .:i.   (_ (  _,ノ  ) ,
     :il   !  i:           ! ,〃゛  キ    ゞ、 __,  ノ ,
     .:il !   /~~````` " '''' = ‐- 、ミ  _,,,,_ミ,  il `  ー ´
     :il   ´ ―  ̄ - ,,. -‐‐-、、 ヽ. ヾ、  ゞ、 `  〃
     ゝ、wx.mn.!!++ナ'~      ヾ~ヽ、 ヽ、 ,, ~^^}´
        彡   〃  〃     }} /〉.〉〉〉i''"   〃
         彡、     {{     〃,__!////l |    〃
           X,,    》.   ≪.__`‐'.' '´,Uwwvw'、...,,,___
            ^^^^ !wニこ)こ)二)`) (_,,,..- 、...二⊃_).)
>946
レジストリ
952デフォルトの名無しさん:03/02/27 10:02
ネットワークドライブに接続して、そこのフォルダにDIRしたら、
そのままつかんじゃって切断できません。なにかうまい方法はありますか?
>>947


>>952
Dirの使い方間違ってるかFSOで代用する
>>947
ウソついた。上。
暗黙の型変換について調べることをオススメする。
955947:03/02/27 11:02
>>954
VBの中で何かが起こってるんですね。ありがとうございます。
956デフォルトの名無しさん:03/02/27 12:01
フォルダ階層を順に追っていって、あるフォルダの中にある
すべてのフォルダ・ファイルにアクセスするにはどうしたらいいでしょうか。
色々試行錯誤してはみたのですが、どうもうまくいきません。
>>956

再起検索しる。

sub hoge(pathHoge)

  a=Dir(pathHoge)
  Do While a <> ""
    aの値を配列にでも格納しる
    a = Dir()
  Loop

  For 配列の中身
    Call hoge(配列(i))
  Next
End Sub

みたいな感じ。

間違っても、Dirで列挙している最中に再帰呼び出ししてはいけない。
Dir関数が腐るぞ(笑
958828:03/02/27 12:23
どうよ? >>828
>>958
SQLのスレ逝け
960817:03/02/27 12:55
>>884
マジデスカΣ(゜д゜|||)

Oracleスレはだれも反応しないし
ネット漁っても引っかからないし・・・

(´・ω・`)モ ウ ダ メ ポ
961デフォルトの名無しさん:03/02/27 16:20
VBからCで作ったDLLのDllMainを呼び出すにはどうしたらいいのですか?
>>961
Declare か LoadLibrary
963961:03/02/27 16:32
>>962
DllMain(HINSTANCE hDLL, DWORD dwReason, LPVOID lpReserved)
呼び出す時にこの引数の中に何も入れたくないんですけど無理ですか?
964デフォルトの名無しさん:03/02/27 16:43
カンマ区切りの行ファイルがあって、そこからカンマを抜きにしたデータを
1つずつ取り出すにはどうしたらよいでしょうか?
965962:03/02/27 16:57
>>963
どっかでみたような質問だな

引数に何も入れたくないってことは全部値0でってことか?
DllMainがエントリポイントである限り無理だと思われ。

何でそんなことがしたいわけ?
>>964

Dim arrayHoge() As String

arrayHoge = Split("hoge,hoe,hanyan", ",")

For i = 0 to Ubound(arrayHoge)
  Debug.print arrayHoge(i)
Next
967964:03/02/27 17:12
>>966
ありがとうございます
968 ◆HLRHHB4j46 :03/02/27 17:59
アドレスwww.uploader/forlder001/にファイルをアップしてみた。
というカキコミから
www.uploader/forlder001/
だけを抜き出すにはどのような正規表現を使えばいいの?
当方InStr関数とかは使えるけど正規表現はサパーリ。
「www.uploader/forlder001/にファイルをアップしてみた。」
というアドレスだったらどうする?
970968 ◆HLRHHB4j46 :03/02/27 20:24
>>969
全角文字列・/を含んだ半角文字列・全角文字列
という1行から/を含んだ半角文字列を抜き出すアルゴリズムがほしいのよ。
だから
「www.uploader/forlder001/にファイルをアップしてみた。」
というアドレスは無視。
ちなみに
upSHITEMITAYO----------KOKONI-----www.uploader/forlder001/
というようなのもupSHITE〜001/まで抜き出してしまってもかまわない。
とにかく/を含んだ半角文字列はアドレスである確立が高いのでそこを抜き出したい。
まぁ、普通はURLとして不正な文字があるかどうかチェックだな。
2バイトURLは見なかったことにする。

w+\...+\/.+[^!#-;=?-~]
ってな感じかなぁ。試してないけど。
972968 ◆HLRHHB4j46 :03/02/27 20:34
>>971
Dim myStr as String
myStr="www.uploader/forlder001/"
myStr2="アドレスwww.uploader/forlder001/にファイルをアップしてみた。"
'だとすると、
If myStr = (w+\...+\/.+[^!#-;=?-~](myStr2)) then
form1.caption="アドレス抽出しました。"
End if
'のように正規表現は使うわけ?

正規表現の書き方は今日教えてもらった
w+\...+\/.+[^!#-;=?-~]
をコピペして使ってみるけど
正規表現の使い方がわからないのだ。
973968 ◆HLRHHB4j46 :03/02/27 20:36
つまり、
myStr2="アドレスwww.uploader/forlder001/にファイルをアップしてみた。"
に対してどうやって正規表現を使ったら
"www.uploader/forlder001/"
が出てくるのだろうか?
「半角文字列を抜き出すアルゴリズム」
 規定した文字列で連続するもの毎に配列に入れる処理
 IN "つまりYouはこうEたい訳だ、「となりのuploader/forlder001/ってかっこEeeee」"
 OUT You E uploader/forlder001/ Eeeee
「アドレスかどうか判定する処理」
 文字列 like "*.*/*" 程度でいいのかどうか・・
975968 ◆HLRHHB4j46 :03/02/27 20:56
>>974
そんなことより速戦的な使い方のソースをクレよ。
たぶん
Set mySeiki = 正規表現オブジェクト
みたいな感じで宣言すると正規表現が使えると思うんだよね。
>>975 そうか、がんばって探しな
977968 ◆HLRHHB4j46 :03/02/27 21:09
>>976
自分で探した方が早いなんてなんてスレだっ
>>968
「set 正規表現 オブジェクト」でgoogleしたら
すぐにヒットしたけど?
979デフォルトの名無しさん:03/02/27 21:10
>そんなことより速戦的な使い方のソースをクレよ。
あはははははははははははははははははははははははははははははははは。
てめーで検索しろよ、間抜け野郎!

ここで探せ:
http://www.google.co.jp/search?q=vb+regexp&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
980968 ◆HLRHHB4j46 :03/02/27 21:11
>>978
検索結果をこちらに貼り付けたまへーくるしゅうない
981968 ◆HLRHHB4j46 :03/02/27 21:12
>>979
regexp
を見て、そうだ!そんな感じだった!と思い出した。
なかなかドキっとしたぞ。えらいえろい
最悪の質問者だな…
丸投げイクナイ
983デフォルトの名無しさん:03/02/27 21:15
>>968 ◆HLRHHB4j46
思い出したんじゃなくて、今知ったんだろw
984968 ◆HLRHHB4j46 :03/02/27 21:22
>>983
まったく知らなかったんなら正規表現という言葉自体知らないはずだろ。まあ多少の記憶のひっかかりはあった。
無事正規表現使用の見通しもたったところで、この話題はここでピタッと終了〜。
985デフォルトの名無しさん:03/02/27 21:24
性器表現ってなんでしか?
>>985
あー、やっちゃったね。
なんで関数(FUNCTION)と手続き(PROCEDURE)に分けているんでしょうか・・・
988デフォルトの名無しさん:03/02/27 22:27
フォルダの中にあるファイルを更新日時順にソートしてそのファイル名
をテキストファイルに書き出したいのですが、なにかいい方法はありま
すでしょうか?
よろしくおねがいします。
989デフォルトの名無しさん:03/02/27 22:41
6.0のWebBrowserは.netでは何て言うのでしょうか?
>>989
それをなんで6.0の方のスレで聞く?
>>990
どこにも6.0のスレとは書かれていない罠。
ところで次スレは?ないなら立てるけど。
992デフォルトの名無しさん:03/02/27 22:49
>>990
6.0なのココ?
>>988
ファイル一覧を取得し、ファイル名と更新日時を配列に突っ込む。
ユーザー定義型の配列か、二次元配列を使え。

んで、その配列をソートしる。
件数少ないならバブルソートでも充分だろ。


激しく手抜きしたいなら、Sorted = True にしたListBoxを用意して、
List1.AddItem Format(FileDateTime(ファイル名),"yyyymmddhhnnss") & ファイル名
っつー手も無いこともない。
書き出す時はForで回して、
  Print #1, Mid(List1.List(i),15)
とかやる。

…ま、本気で手抜きする時以外は勧めないが。
994990:03/02/27 22:55
や、少なくとも.netよりは近いだろうって事で。



↓次スレよろ。
995デフォルトの名無しさん:03/02/27 22:57
>>989なんですが答えてもらえないのでしょうか?
Dim 1000() As Integer
Set 1000=ALL
1000か?
1000!
999!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。