v(・∀-)b VBプログラマ質問スレ(6.0以前) Part28

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
VB(6.0以前)の質問スレです。
VB.NETの話題はできるだけひかえてください。

前スレはこちら
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc2.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc2.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc2.2ch.net/tech/kako/1050/10501/1050151126.html
  Part25 http://pc2.2ch.net/tech/kako/1052/10526/1052627913.html
  Part26 http://pc2.2ch.net/test/read.cgi/tech/1055145106/
  Part27 http://pc2.2ch.net/test/read.cgi/tech/1058674927/


【VB.net関連スレ】
【老若】VB.net質問スレ【男女】 (Part3)
http://pc2.2ch.net/test/read.cgi/tech/1056281084/
【Win32 API関連スレ】
Win32API 質問箱 Build13
http://pc2.2ch.net/test/read.cgi/tech/1059549320/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六. VB情報募集中。
七.VB.NETの話題できるだけひかえる。
お疲れ様。
早過ぎ
いや、前スレも同じくらいに立ってるし。
スレタイキモイ
前のよりマシ。
ブビ厨センスな過ぎ(失笑
と言っているのはアンチVB厨なわけで。
アンチVB厨は必死に前の奴にしたいわけだな。ダサいから。
>>9
その病的なまでの被害妄想、すごいな。病院逝っとけ
(*´д`*)アハァ ←絶対こっちの方がいいって
しつこいな
>>12
オマエモナー
141です:03/08/20 01:17
1のリンク先に誤りがありましたので訂正してお詫びいたします。
Part27 http://pc2.2ch.net/test/read.cgi/tech/1058702281/
キモ
>>1
乙。こっちの顔文字のほうが俺は好きだぞ。
17デフォルトの名無しさん:03/08/20 10:59
どうでもいい
VBのLabelのCaptionプロパティの設定について質問です。

例えば、以下のように
Label1.Caption="&Edit"
とすると、表示上はEの下にアンダーラインが入って、キーボードショートカットが
有効であるかのように見えますが、ラベルはフォーカスを持たないので意味が
ありません。これはどういうことでしょう?
何か使い道があるのでしょうか?
>>18
たしかヘルプにラベルの次のコントロールに
フォーカスがいくと書いてあるはず。
VBを今勉強中なのですが
ただ左から右に
振り子運動を表示させるプログラムを作ろうと思っています
全くなにから手をつければいいのかわかりません
参考HP、図書などなにかアドバイスお願いします
21デフォルトの名無しさん:03/08/21 01:40
学校にいきなさい
>>21
学校逝かなくてもその程度なら入門書買えば出来るだろ
23FFF:03/08/21 08:37
ダイアログボックスを作ったのですが、そのダイアログでOKとキャンセルのどちらが押されたかを
呼び出し側で知るにはどうしたらいいのでしょうか?

おねがいします。
24デフォルトの名無しさん:03/08/21 11:40
ASP上から、access2000のレポートを実行させようと
こんなコードを書きました。同様のコードを、Access上のVBAから
なら、問題なく実行されるんですが、ASP上からだと、エラーも
吐かずに注意音だけを鳴らして、しばらくしてタイムアウトしてしまいます。

Set AccObj = Server.CreateObject("Access.Application")
AccObj.OpenCurrentDatabase("C:\123\123.mdb")
AccObj.Docmd.OpenReport "R1_Report"
AccObj.quit
Set AccObj = Nothing

asp上からは、無理なんでしょうか?
>>23
ダイアログボックスからどのボタンが押されたかを通知する。
イベントを発生させてもいいしプロパティで渡してもいいし
コールバックをしてもいいしメッセージを投げてもいいし
グローバル変数を書き換えてもいいしお好きなように。
26デフォルトの名無しさん:03/08/21 18:11
>>22
コンピュータの学校じゃなくて中学校、ってことだろ
27FFF:03/08/22 01:16
>>25
ありがとうございます。
試してみます。
28なりたてプログラマ:03/08/25 11:10
解像度に合わせてフォームのサイズを変更する関数をつくるように
言われたのですが、難しく感じて困っています。
何かいい方法、もしくはその方法がのってるサイトをご存知の方が
いたら教えてください。
VB6.0を使用しています
29デフォルトの名無しさん:03/08/25 11:53
質問です。

VB4.0で作成されたexeファイルがあります。
その実行ファイルのソースファイルを紛失してしまったのですが、
どうしてもソースファイルを入手する必要が生じました。

どなたか、詳しい方やり方等お教え願えないでしょうか。
(逆アセンブラ等をしようするのかな、とあたりはつけてます。)
>29
例え逆アセンブルしたとしても元のソースと同じ物を得る事は無理でつ。
31名前は開発中のものです。:03/08/25 13:00
vc++の逆アセンブラ、開発中のものはコード見れるけど、
他の人の作ったEXEだけを見ることはできんの?
33なりたてプログラマ:03/08/25 15:35
>32
ありがとうございました。自分が今作ろうとしてる関数はすでに
売られてるんですね。たださすがに買うわけにもいかないので、
なんとか自力で作る努力をしています。
34デフォルトの名無しさん:03/08/25 15:36
逆アセンブルするよりも一から作りなおす方が早い。
Me.Top = 0
Me.Left = 0
Me.Height = Screen.Height
Me.Width = Screen.Width
36原因が知りたい!:03/08/25 16:50
VB6.0 でプログラムを作成しています。
windows2000 で作ったプログラム(vbp)を windows98 で読み込むと
コマンドボタンの表示フォントが UI Gothic から Arial に変更されました。
これは何故なんでしょうか?
フォントが変わって文字がつぶれて読めません。
助けてください。
単にそのフォントを持ってないから代替品が使われただけ。
素直にMSゴシックでも使いなさい。
ダウンロード対象をブラウザで左クリックし、直接開くを選ぶと取得して処理するアプリを開発したの
ですが、ナローバンド(AirH"等)でそれをするとデータが無いというエラーになってしまいます。調べると、
データをダウンロードし終わる前にOPEN処理を行っていました。データ自体は小さなデータなので
ブロードバンド環境では問題なかったのですが、ナローバンドではダウンロードが間に合わない様
なのです。一応、存在チェックをループさせ、存在するか一定回数チェックするとループを抜ける
ロジックにしたのですが、正しいデータ場合でもループ回数に間に合わなければエラーになってしまう
のが問題です。何か、良い方法はないものでしょうか。



あと、ここで質問すべきかどうか良くわからなかったのですが、とりあえずついでに。

VBで作成したアプリをデストリビューションウィザードでセットアップを作成したのですが、XPの
環境で、WININET.DLLが使用中だからインストールできない云々と言うメッセージが出て
インストールできないそうなのです。自分の環境ではXPがないので再現できません。何か
対処法はないでしょうか。
>デストリビューションウィザードでセットアップを作成
インストール対象PCのユーザー名が日本語で登録されてると
上手くいかない場合があったような・・・
たしかMSのサイトでそれに関する技術文書が公開されてた。
昔のこのアドレスにその解決策載ってたけど、今見たらリンク切れだ。
http://www.microsoft.com/JAPAN/support/kb/articles/j056/3/77.asp
>>40
まあ、ユーザー名を半角英数にしてくれや。ってなことしか書いてなかったような・・・。
いや、ちゃんとsetupのexeの作り直し方が書いてあった。
というか、ローカルには方法が保存してあるんだけど、
ここに分割して張り付けるのがマンドクサイw
43デフォルトの名無しさん:03/08/26 15:57
ちょっとお聞きしたいんですが、MSFLEXGRIDコントロールで、普通に
表みたいな物を作成したのですが、水平スクロールバーで右にスクロー
ルしていくと、一つの区画だけ何も表示されない所ができてしまいます。
| A | B | C ||||||||||||||||| ←何も表示されず後ろの灰色の
ぶぶんが見えている。             
ちなみにソースは
MSFlexGrid1.Rows = 1 'MSflexGridコントロールの初期設定
MSFlexGrid1.Cols = 11
MSFlexGrid1.ColWidth(-1) = MSFlexGrid1.Width / 4
MSFlexGrid1.RowHeight(-1) = MSFlexGrid1.Height / 20
MSFlexGrid1.TextMatrix(0, 0) = "ユーザー名"
MSFlexGrid1.TextMatrix(0, 1) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 2) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 3) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 4) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 5) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 6) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 7) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 8) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 9) = "xxxxx"
MSFlexGrid1.TextMatrix(0, 10) = "xxxx"

MSFlexGrid1.ColAlignment(-1) = flexAlignCenterCenter 'セルの内容を上下ともに中央揃えで表示する
解決法が分かる方いましたら、ぜひ教えてください
なにこのスレタイださ
>>44
禿胴
>>44 しつこいよ。
PictureBoxコントロールに書いた絵をJPEGやPNG形式で
メモリーブロックに保存できるDLLってありませんか?
APIのMoveMemoryで取り出して使いたいのです。
ファイル保存するDLLならいくつかあるのですが・・。

一旦ファイル化してメモリーに読み込む方法だと
効率が悪そうなので。

宜しくお願いします。
48デフォルトの名無しさん:03/08/27 10:48
Dim a As Variant, _
  ‥ b, c ‥ As Integer, _
  ‥ d_a, e As Byte
 のような感じで変数を宣言しました。
d_a=0
d_a=d_a-1
 のようなふうでも、0 より小さい
数も計算されていたようですが、
e = -1
 のようにすると、「オーバーフローしました。」
とでました。
 なぜでしょうか。
>>48
その宣言だと、変数 d_a の型は Byte ではなく Variant に
なっていると思うよ。
50デフォルトの名無しさん:03/08/27 12:25
教えてくださーい。
モーダルフォームを開いた時に、そのフォームのタスクボタンを表示する方法って
あるでしょうか?

えーと、VB6.0で"Sub Main"でスタートアップして、そこからメインとなる
フォームを開いた時に、タスクバーにそのフォームのタスクボタンを表示したい
のですが、
Private Sub Main()
前処理・・・・
'メインフォームを開く
Call Form1.Show(vbModal)
後処理・・・・
End Sub
とすると、タスクボタンが表示されないのです。。。
(モードレスで開くと表示されるのですが、開いた途端後処理が走ってしまいます)
>>49 原因がつかめました。分かりました。
ありがとうございます。
>>50
モーダルでやっても意味ないと思うんだが
5350:03/08/27 16:44
>>52
フォームを閉じた後に「後処理」を処理したいもので。
フォームのUnload時のイベントに「後処理」を入れてもいいのですが、
プログラムが汚くなりますし。。。
>>53
いや、モーダルだからタスクバーにもう一個表示してもしょうがないんじゃないのってことなんだが。
WS_EX_APPWINDOWをどうにかして設定すれば出るはず
55デフォルトの名無しさん:03/08/27 19:25
6.0
MaskEdBoxコントロールでそこに入力されたテキスト内容を変更しよう
としたときに、TextBoxコントロールでのテキスト内容変更のように
任意の位置から「|」を挿入してテキストを変更することが
できないですけど何とかならないですか。

MaskEdBoxは一番最後尾に「|」をいれてからバックスペースで
さかのぼってから入れなおさなければならないのですが・・・
そういうものなの?プロパテイの設定ミス?

たとえばハードディスクの名前
VB
で、さらにV:というドライブ名をどのディスクも使用していないときに、
VBという名前をつけたハードディスクをV:に割り当ててくれるプログラムはどう書きますか?

A:フロッピー
C:内臓ハードディスク
Q:CD-ROM
V:(VBという名前をつけたハードディスク)
VBに直接関係ないじゃん
5856:03/08/28 00:17
>>57
VB以外の知識でも教えてくださるとたすかります。
今はコントロールパネルの管理ツールの
コンピュータの管理→ディスクの管理
で何台ものハードディスクを手作業で
E:ハードディスク名 VB
F:ハードディスク名 Other
J:ハードディスク名 Work
みたいに割り当ててるので大変です。
>>58
したいことが良くわからん。
C:\WINNT\system32>LABEL.EXE /?
ディスクのボリューム ラベルを作成、変更、または削除します。

LABEL [ドライブ:][ラベル]
LABEL [/MP] [ボリューム] [ラベル]

ドライブ: ドライブのドライブ文字を指定します。
ラベル ボリュームのラベルを指定します。
/MP マウント ポイントまたはボリューム名として処理される
ボリュームを指定します。
ボリューム ドライブ文字 (文字の後にはコロンを付ける)、マウント
ポイント、ボリューム名を指定します。指定されている
場合は、/MP フラグは不要です。
6158:03/08/28 09:12
>>59
F: , G: などをドライブ名、
ディスクに付けた名前をボリュームラベル
として、
ハードディスクをパソコンにつないだりはずしたりしているうちに、
そのハードディスクのドライブ名がF:になったりG:になったりしちゃうので、
あるボリュームラベルのハードディスクは必ずF:として使用したいわけです。
そうすればショートカットのリンク切れなどもなくなります。
F:へのパスを指定していたファイルのショートカットは、そのファイルがG:というパスに変わっちゃうとショートカットのリンク切れが起こるわけですから。

>>60
Shell関数で実行するわけですね。
目的が達成できそうな気がしてきました。
ありがとうございました。
62デフォルトの名無しさん:03/08/28 10:19
ぐわし
63デフォルトの名無しさん:03/08/28 10:20
あっ、アクセス規制取れた!!やつた!!!!!!!
今月で3回目だったんだよね。うれしいY
64デフォルトの名無しさん:03/08/28 10:25
質問なんですが、
ファイルをバイナリで読んで、バイト配列に代入。各要素を暗号化し、
再び書き込む。という簡単なルーチンを作っているのですが、
今の所、暗号化はビット演算でXOR結合を用いてやっています。↓
bytarray(i)=cbyte(bytarray(i) xor XXX) ※XXXはユーザー指定の定数
ここで、質問ですが、やはりXXXは1〜255の範囲にないとだめなので
しょうか?実際には何度かビット演算を繰り返すのですが、
1〜255の場合、総当りでやっても255回で解かれちゃうな〜と
思って質問させていただきました。どなたかご教授いただけたらありがたいです。
その暗号化を複数回繰り返せば・・・
っていう単純な方法じゃダメかえ?
66デフォルトの名無しさん:03/08/28 10:42
>>65
まぁそうなんですけどね。とりあえず、XXXを大きくできたり
できるならそうしたいなぁと思いまして。
iが奇数なら bytarray(i) Xor XXX
iが偶数なら bytarray(i) Xor YYY
とかやってみれば?
68デフォルトの名無しさん:03/08/28 13:25
>>67
ナイスアイデアですね!!!それは思いつかなかった・・
試してみます。
>>65
複数回繰り返しても結局255回の総当たりのうちに解かれるような…
70デフォルトの名無しさん:03/08/28 15:13
プログラム1000行ぐらいじゃあんまり手が込んでるとは
いえないかな?
>>70
十万行すべてが
A = A + 1
なコードは手が込んでますか?
72デフォルトの名無しさん:03/08/28 16:34
>>71
そんなひねくれた考え方しないでよぉ。
マウスのホイールについての質問です。

2つのフォームがあって、それぞれにピクチャーボックスが1つずつあります。
そこに、スクロールバーをつけてピクチャーボックスに貼り付けたオブジェクトを
スクロールできるようにしました。

それを、マウスのホイールでもスクロールできないかと試行錯誤してます。
WindowsのAPI(SetWindowLongA)をつかって、サブクラス化ってやつで
スクロールを実行することはできたのですが・・・・

違うフォームの二つのピクチャーボックス内のオブジェクトを同時にフック
することができないないので、アクティブになったフォームでフックを
取り直すようにしたら、スタックエラーがでました。
もちろん、フォームがロストフォーカスしたら、アンフックしてるのですが
どうも、フックとアンフックを繰り返すとだめっぽいです。

どなたかこう言った処理を作られた方はいませんか?
74デフォルトの名無しさん:03/08/28 23:05
>>72
行数の意味なんてそんなもんだよ
75デフォルトの名無しさん:03/08/28 23:30
教えて下さい。
ディストリビューション ウィザード の [含まれるファイル]で
フォルダごとファイルを追加したい場合はどうすればいいですか?
76デフォルトの名無しさん:03/08/29 00:23
>>75
ひとつひとつやる
77デフォルトの名無しさん:03/08/29 08:00
ファイルは一つ一つでもいいですがフォルダを追加するにはどうすればいいですか。
78 :03/08/29 13:06
79:03/08/29 18:53
>>73
> 違うフォームの二つのピクチャーボックス内のオブジェクトを同時にフック
> することができないないので

そんな制限はなかったと思いますが?
質問者は回答者にちゃんとお礼を言うように!
礼はいらん。それよりちょっとだけオパーイモミモミさせろ。
明日は、祐子タンに会えるかな♪
はじめまして

今、VBでメールソフト作ってるんですけど
ウインドウズ標準のアドレス帳から アドレス一覧を取り込みたいんで
アドレス帳の宛先アドレス一覧を何とか取得したいんですけど 可能なんでしょうか?

一通り調べたところ、MAPIを使うか、CSV出力をしてから取り込むという
方法があるらしいことまでは わかったんですけど
実際どうやるかが、なかなかわかりません^^;

どなたか、ご教授いただけないですか?
If A Then
a
ElseIf B Then
b
End If

はAがTrueならaを実行した後にすぐにEnd IFにジャンプして、Bのところはプログラムが実行されませんが、

Select Case Flg
Case A
a
Case B
b
End Select

はCase AがTrueだったらやはりCase Bを飛ばしてEnd Selectに行くのでしょうか?
>>84
カキコする前にテストしてみりゃわかるだろ・・
>>83
CSVはたぶんOEから出力しないといけないからめんどい。
データが二重になってややこしい。あんまり良い方法とは思えない。
MAPIの使い方についてちゃんと調べたのか?
87デフォルトの名無しさん:03/08/29 22:00
>>78さん
ありがとうございました。
でもこれだと別のフォルダで同名の別ファイルを追加できないですね。
例えば
\a\test.data
\b\test.data
といったように。方法ないですか。
8878:03/08/29 22:14
>>87
そう、同名ファイルはムリみたい。
マイクロソフトのサイトからディストリビューションウィザードよりもいいインストーラーをダウンロードしてくるか、
インストールシールドというソフトをつかうか、
裏技的に、あるアプリを初めて起動したときは
フォルダを作って、そのフォルダにファイルを配置する、
みたいな方法もある。
(Form Loadイベント)
if あるフォルダがない(つまりはじめてソフトを起動した) Then
Createフォルダ
あるファイルをさっきCreateしたフォルダにmoveメソッドなどで配置する。
End If
>>86
MAPIについては、まだ勉強途中っす
とりあえず、メールサーバとかを指定してメール送信するとこまでですね
サンプルみて追いかけてるんで、ほぼ使えないに等しいですわ^^;

では、MAPIについて調べてみることにします
90デフォルトの名無しさん:03/08/29 23:07
>>88さん
ありがとうございました。
また、いろいろ教えて下さい。
9188:03/08/29 23:20
>>90
はい
92デフォルトの名無しさん:03/08/30 01:31
VBって手続き型?
>>92
手続き型。準オブジェクト指向型。
94デフォルトの名無しさん:03/08/30 01:50
>>93
準オブジェクト指向型とは?
>>94
オブジェクト指向−実装継承

クラスとか多態はあるのでかなりオブジェクト指向に近い。
96デフォルトの名無しさん:03/08/30 02:02
>>95
なるほど。
だから準オブジェクト指向型なんですね。

ありがとうございました。
97 :03/08/30 09:48
WSHではShell関数が使えないようだけどどう?
9897:03/08/30 09:51
つかえるじゃん・・
実験してためせと言う人は
薬品をためし飲みしてみて死んでから「ああこれは毒だった。」
と気づく人なんだろ。
>99
そうだね。
これからは実験してみる事をやめて全て他人に聞く事にしとくよ。
>>99
まあ、せいぜい石橋の前で佇んでなよ。

どんな薬品でも最後は臨床試験があるんだよ。

まあ、それ以前にまずは自分でヘルプなりを調べろとは思うが。
10399:03/08/30 12:36
>>100-102
過去ログを読めといわないで同じことを何回でも教えてくれて、
どんな簡単なことでも答えてくれて、
質問者の答えを検索しに行ってくれる、
そういう人がいるのが理想の質問スレなんだ。
104デフォルトの名無しさん:03/08/30 13:41
OLEDragDropで、ファイルをフォームにドラッグ&ドロップする方法はわかるんですが
フォーム上のコントロール(リストコントロール等)からエクスプローラなどにドロップする
方法がわかる方いますか。
105デフォルトの名無しさん:03/08/30 13:44
あ、それからドラッグは薬、ドロップは飴じゃないよ。勘違いしないでね。
>>103
>>1を5万回ぐらい読んでみろ。
1を読めというせりふもききあきた
108デフォルトの名無しさん:03/08/30 15:14
>>106
嫌!!
まぁまぁ。
>99のような奴の為にPin'sがあるのさ。
あっちは、過去ログ検索してそのログへのリンクまで
張ってくれるような親切な奴ばかりだ。
>99よ、家にお帰り・・・
ピンズソーズ?
111デフォルトの名無しさん:03/08/30 16:26
ロマンティックあげるよ
ロマンティックあげるよ
本当の勇気見せてくれたら
ときめく胸にきらきら光った
夢をあげるよ
ツールボックスに自分でコントロール追加すると、
新しくプロジェクト作成したときに追加したコントロールが
なくなってしまいます。追加したコントロールをそのままにするには
どうしたら良いのでしょうか?
>>112
templateフォルダあたりを修正すればいいんじゃない?
やったことないけど。
114デフォルトの名無しさん:03/08/30 16:46
VBとVBAはほとんど同じだと思うんですが
技術的、文法的にそんなに違いがあるもんですか?
>>114
文法的にはほとんど同じ。
ただライブラリっつーかコントロールが似ているけど違う。
VBSには型がないよね。むかつくよね。
VBS用の Visual Basic Editor キボンヌ。
むかつく? アンチVB厨は馬鹿だって言うけど本当だね。
型が無い言語なんてのは腐るほど有る。
JavaScript、Perl、Ruby、PHP、SmallTalk
VBには型があるのに・・・という意味で言ったんだが。
むかつくというか、考え方の違いだよ。
>>117, >>120
はぁ ? 文句言う前に、
http://www.microsoft.com/japan/msdn/library/ja/script56/html/vsconVarType.asp
ぐらいは見とけよ。
型はあるけど、お前みたいな奴は使いこなせないだろうから VBS 側で適切な型を適用するようになってるだけだ。

>>118
俺も欲しい。
誰か作ってくれないかな...。
>>122
選べないんじゃないのと一緒。
>>118
InterDevで出来なかった?
JScriptを含めて。
125デフォルトの名無しさん:03/08/30 18:51
>>115
レスサンクス。おかえしにフェラしてあげるね
>>123
恥の上塗りか ?
CBool(), CByte() 関数なんかのヘルプ見ろ、ヴァカ。

まあお前は、こんな関数が必要になったことないだろ。
そういう奴向けだよ、VBS は。
そういう意味ではよくできているよ。
>>126
CIntとかあったな。すまんな。
>>124
InterDevのページ
http://www.microsoft.com/japan/msdn/vs_previous/vinterdev/
にそれらしい画像があった。
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/VS6/pages/image0304.htm
WSHには対応してなさげ。
>>127
まあ、俺もちょっと熱くなりすぎた。
ただ、VBS はそれなりによくできてると思うよ。
最近ちょっとしたツールによく使ってるから、マジでインテリセンスのついたエディタが欲しい...。

>>128
どう見ても、JavaScript のソースにしか見えないんですが...。
>>129
インテリセンスはVB Scriptでも使えるみたい。
http://www.microsoft.com/japan/msdn/vs_previous/vstudio/VS6/pages/image0300.htm
>>130
おお、ホントだ。
う〜〜〜ん、欲しくなってきた...。
132デフォルトの名無しさん:03/08/31 00:18
WAVEファイル等の音声波形データをFFT変換して周波数解析した結果を
画面に表示するアプリケーションを作成したいのですが、
波形を表示させるところまでは簡単にできたのですが、
そのFFT変換がわかりません。

試しにSin関数で周波数を合わせて一致させてみてできたのですが、
これだとSin波の波形しか判断できず無理でした。

FFT変換の処理は結構複雑そうで理解しにくいところがありますが
どうすればFFT変換できるのかわかる方いましたら教えてください。
>>132
FFTってのは基本はそんなに難しいもんじゃないぞ。
高校生にだって理解できるものだし。
使い方はちょっと難しいかもしれんがな。
検索すればVBからでも使えるDLLやら、
VBのサンプルソースやらが結構見つかると思うよ。
134デフォルトの名無しさん:03/09/01 14:52
年齢取得のプログラム作成で悩んでいます。
1〜100歳までの該当人数、その年齢の割合(%)を求め
最終的に平均年齢を取得します。
この平均年齢の取得方法で悩んでいます。

各年齢取得時に○歳○ヶ月という取得をしなければならず、
単純に

現年齢 = DateDiff("yyyy", rs_02("生年月日"), Now())

とは出来ないので、

現年齢 = DateDiff("m", rs_02("生年月日"), Now())

と変更しましたが、○歳○ヶ月という取得にはなりませんでした。
何か良い方法はないでしょうか?
下の式で、生年月日から現在何ヶ月経ってるのかってのは取得できてるんだろ?
それを12で割った数とその余りが分かればいいだけじゃ?
>>134
意味がよくわからないんだけど、
  Dim lngM As Long
  lngM = DateDiff("m", rs_02("生年月日"), Now())
  現年齢 = lngM \ 12 & "歳" & lngM Mod 12 & "ヶ月"
ではダメなんですか?
137デフォルトの名無しさん:03/09/01 15:58
Form1←→Form2←→Form3の流れで
Form2にコマンドボタンが2つ(Aは進む、Bは戻る)あるんですが
Form3→Form2→Form1→Form2としたときAボタンが消える(透明)になってしまいます。
FormからFormに移動するときは現在フォームをUNLOADしてから
新フォームをSHOWしています。Form3→Form2の時は消えません。
原因が分かる方お教え下さい。
因みに、コマンドボタンのstyleはグラフィックにしています。
styleを標準に戻すとこの症状はなくなります。
よろしくお願いします。
138デフォルトの名無しさん:03/09/01 15:58
>>136
ありがとうございます。
○歳○ヶ月の取得成功しました。

実はもう2つ問題があり、1〜100歳までと書きましたが
24歳以下、25〜99歳(1歳刻み)、100歳以上という区分けをしなければなりません。

そして最後に平均年齢○歳○ヶ月と表示しなければならず、
上手く行かず困っています。
>>138
何が分からないのかが具体的に伝わらないんですが・・・
その例だと、平均を出すのは
136 の lngM の総合計を総人数で割ったらダメ?
区分けは、Case文なり、データ取得SQLを変えるなり・・・

もっとも、VB6まではLongの上限が20億ちょいだから、
総合計をLongにとると、80歳平均で20万人超えるとヤヴァイが。
>138
>135-136を理解して月←→年の変換ができればどうとでもなるだろ?
小学校の算数レベルだぞ?

141みぃ:03/09/01 16:47
初めまして!教えて下さい。

VB6.0 で PrintFormを使って印刷したいのですが
ピクチャボックスにラベルを貼り付けて印刷すると
赤い字が印刷されないのです。

Windows98では印刷されます。
しかし WindowsXP と Windows2000 ではダメなのですが
印刷方法を知っている方がいらっしゃいましたら教えて下さい。

よろしくお願いします!!! m(__)m
>>141
カラープリンターに繋がっていないか
プリンタドライバがあってないかドライバ設定があってないかバージョンが古いとか
そんなあたりが怪しいです。
143デフォルトの名無しさん:03/09/01 17:07
>>139
説明下手で申し訳ないです。

年齢 人数 %
24 0 0.00
25 1 33.33
26 2 66.67

99 0 0.00
100以上 0 0.00
合計 3 100.00
平均年齢 26歳○ヶ月

↑のような表を作成しています。
平均年齢を求めたくて悩んでいます。
144みぃ:03/09/01 17:13
ありがとうございます。

カラープリンタで印刷する時は良いのですが
白黒プリンタで印刷する時に 何も表示されないのです。
黒字にすると白黒プリンタでも字が表示されるのですが、
赤字にすると全く字が無く、真っ白けで 何も表示されていないのです。

同じプリンタでも Win98は印刷できて XPや2000は出来ないのですけど
XPや2000でも印刷できるようには出来ないのでしょうか?

よろしくお願いします。m(__)m
>>143
( ゚д゚) ポカーン
各年齢の人数をカウントして、それぞれ総人数で割れば出るじゃん。
ロジックの組み立てが分からないのか?
それならそうと、どこかに一言書いとけ。
146デフォルトの名無しさん:03/09/01 17:29
>>145
多分勘違いされていると思われますので…
表の最後に書かれている【平均年齢 26歳○ヶ月】
というのを求めたいだけで、他の部分は全て出来上がっています。
147デフォルトの名無しさん:03/09/01 17:30
>>145
( ゚д゚) ポカーン
よく読めよ
小学生以下の方が降臨するスレはここですか?
149145:03/09/01 17:42
>>146, 147
スンマソン・・・(´・ω・`)ショボーン

でも、それならそれで、139みたいに
年齢(月単位)の合計を総人数で割ったらイイんじゃ?
25歳 3ヶ月 ・・・ 303
26歳 6ヶ月 ・・・ 318
26歳 11ヶ月 ・・・ 323
合計/人数 = 26歳 3ヶ月
さすがVB使い
151デフォルトの名無しさん:03/09/01 18:22
>>149
ありがとうございます。
無事解決できました。
複数のアプリが起動していて、フォームがたくさん起動していて、
あるフォームの下にあるフォームをウィンドウ表示でタスクバーを除いた画面いっぱいにひろげる
プログラムを書いていただけないでしょうか?
APIとかわからないのでソースをまるごとお願いいたします。
検索キーワードをもらっただけじゃスキル不足の者にはできませんので。
 ---------
l     l
l   --------
 ----l    l
   l    l
    -------
     ↑このウィンドウの下のウィンドウをウィンドウモードで画面いっぱいに広げる。
>>152
>ソースをまるごとお願いいたします
氏ね
154デフォルトの名無しさん:03/09/02 09:09
152ツマンネ
>>152
>検索キーワードをもらっただけじゃスキル不足の者にはできませんので。
それじゃどっちにしろできないよ。
つか、今度から夏休みの宿題は早めに終わらせろよ。
次の質問ドゾー
157デフォルトの名無しさん:03/09/02 12:07
Type = ドロップダウンリストなコンボボックスで
選択項目が変わったのはどうやって捕捉すればいいんでしょう?
Change イベントはテキストが変更されないと発生しないみたいなんですが…

WindowProc をフックして WM_COMMAND メッセージの CBN_SELCHANGE を
捕まえるしかないんでしょうか?
158157:03/09/02 13:03
…すみません、忘れて下さい。
リストの選択って Click イベントで取れるんですね。
吊ってきまつ…つДT)
>>158
忘れません。
忘れてって言われたやつほど覚えてるよね
余計なこと言わないのが吉。
161デフォルトの名無しさん:03/09/02 22:45
Cではfloatは4バイトで表現されますよね?

4バイトのバイナリデータをfloat型に変換するには
VBではどのように実装すればいいのでしょう?
>>161
そのCではというのはVC++ではという意味か?
163161:03/09/02 23:03
>>162
VCというか組み込み機器です。
ある組み込み機器からfloat型のデータがバイナリで生でシリアルで流れてくるので
それをVB側のアプリで受信して単精度浮動小数点に変換するということです。
Cの規格では4バイトとは決まっていないんだが。
165デフォルトの名無しさん:03/09/02 23:24
へぇー
こんなのでたんだ

日本IBMが9月にも、VBアプリをJavaアプリに変換するツールを出荷
http://itpro.nikkeibp.co.jp/free/NC/NEWS/20030828/134318/


166161:03/09/02 23:46
すみません、解決しますた。

IEEE形式の浮動小数点をMS Binaryの浮動小数点に変換すれば
よかったみたいです。
167名無し募集中。。。:03/09/03 09:16
複雑なソートを行うのにデータベースを利用しようかと
でファイルを作らず一切をメモリ上で済ます方法を教えて
>167
1.ソートのアルゴリズムを勉強します。
2.そのアルゴリズムを実装します。
3.テストが通れば完成
169ナナシー:03/09/03 09:34
Webサーバ(Win2K AdvancedServer)数台に対して、IISが正常に起動しているか、
Webからちゃんとアクセスできるか確認するプログラムをVBで作ろうとしてます。
WebBrowserコントロールを使って各サーバのトップ画面を呼出して、返ってくれば正常、
来なければ異常と見なそうとしているんですが、この時、WebサーバのWindowsログイン
認証で引っかかります。
ユーザIDとパスワードだけなら
http://(ユーザID):(パスワード)@aaa.bbb
で通るんですが、ドメイン認証がわかりません。
教えてください。

ちなみに正常/異常の戻り判定できるんだろうか・・・?

もし上記方法以外のもっといい手段があれば教えてください。。
お願いします
170デフォルトの名無しさん:03/09/03 09:47
すみません 教えてください
普段 Cプログラマですが 今 VBさわっています

Public objRset As New ADODB.Recordset
のところで ”ユーザー定義型は定義されていません”
と 出てきます。 VBで ADOを使う場合はプロジェクトの
設定等々必要ですか? 
よろしくお願いします。

171名無し募集中。。。:03/09/03 09:50
>>170
[プロジェクト] - [参照設定] で 'Microsoft ActiveX Data Objects 2.x Library' をチェック
172デフォルトの名無しさん:03/09/03 10:23
TimerコントロールというものはFormに貼って使うことしか出来ないのでしょうか?
フォーム無しのプログラムを標準モジュールで作っているのですが、TImerコントロールを使う方法が分かりません。

>>170

プロジェクト->参照設定でMicrosoft ActiveX Data Objectsにチェックすべし
>>172
timeSetEventでも使え
174172:03/09/03 10:50
>>173

どうもです。
やっぱそうなるんですか?
フォーム無しでは無理ですか?
>>174
ウインドウが無いとタイマーイベント受け取れないしね。
不可視のウインドウを作るってのはダメなの?
176デフォルトの名無しさん:03/09/03 20:27
API 使う時のdeclare ... ってどんな動きしてるんでしょうか?

VBだと構造体を値渡しできないから、例えば、
hoge(point pt)
なんてAPIがある場合
declare function hoge(long a , long b )
とかしますよね。

これが気持ち悪くてしょうがないんですが…
実はただ単に引数リストをバイトストリームで渡してるだけとか?
>>176
構造体ちゃんと宣言しろ
ディストリビューションウィザードにて、デフォルトの
インストールディレクトリの設定はできますか?

何度やっても、デフォルトのインストールディレクトリが
「c:\Program Files\Project1」になってしまうので
困っています。
>>178
SETUP.LST の Setup セクション の DefaultDir を編集しろ
180178:03/09/04 11:12
すみません、解決しました。
setup.lstをいじったらうまくいきました。
お騒がせしました。
181デフォルトの名無しさん:03/09/04 15:44
>>176
VBだとユーザー定義型(構造体)を値渡しすることはできないですよね?
だから自作で
type point long a longb end type
とか作って引数渡してもコンパイルエラーでちゃいます。
byrefで指定してもエラーが出ますし…
182176 = 181:03/09/04 15:45
すいません>>177の間違いでした。
Excelのマクロで、マシンが登録しているネットワークプリンタプリンタの名称を持ってくるには
どうしたらいいでしょうか?お願いします。
OS:Win2000
使用ソフト:Excel2000
184デフォルトの名無しさん:03/09/04 17:22
>183

api呼ぶしかないとおもうけど、VBAでできるかどうかしらない
やっぱりAPIなんだ…。
ありがとうございました
くだらない質問でごめんね(・∀・)
186デフォルトの名無しさん:03/09/04 20:51
VB6.0でAccess→ADODC→DataGridと連結している。
ADODC1.Recordsetd![列名]=*** でデータを該当する[列名]に
セットする場合に[列名]を文字列変数で指定するにはどうすれば
よいのでしょうか?


>>186
なんか、こう、「文字列変数」と言われると、「ポッ」となるよね。
>>186
ADODC1.Recordset.Fields(文字列変数).Value=***

!使うよりもこっちの方が分かりやすいと思う。
ADODC1.Recordset.Fields("列名").Value=***
!の使用って推奨されていないんじゃなかったっけか。
190186:03/09/04 22:19
もう一つついでに。
VBコード上で[列]を新たに追加するにはどうしたらよいでしょうか?

AccessVBAにはColumns.Appendというので追加できるが
VB6ではエラーとなる。それともVB6にはそのような便利な
機能はないのでしょうか?
>>190
よく覚えてないけど、ADOでデータベースの構造を弄くる場合、
ほかの奴を使うんじゃなかったっけ?
ADO Ext 2.5 for DDL and Securityってそれっぽい名前のがあるし。
BOCとかの市販OCXの質問はスレ違いでしょうか?
193デフォルトの名無しさん:03/09/05 01:06
Recordset.AddNew でなくて?(ADO)
>192
とりあえず書いてみたら?
C++で使っているんですが〜とかだったら間違いなくスレ違いだけどw
>>192
まぁ、BOCは社名変わった訳だが・・・
割合は低いだろうけど、住人にもユーザー居ると思うよ。
>>192
GrapeCityだな。
SPREAD、InputMan、QuickPakPro、LEADTOOLSあたりなら
使ってるぞ。質問に答えれるかはしらんがw
197矩形:03/09/05 14:14
リッチテキストボックスで
マウスによるドラッグで
複数行のテキストを矩形選択できるようにするにはどのようなプログラムを書いたらいいのでしょうか?
>>197
直感ですが、VBでは無理ぽ。
199矩形:03/09/05 14:49
>>198
りょうかいです。
200デフォルトの名無しさん:03/09/05 20:42
コンパイル時、Enumで確かに定義されている定数に対して
「変数が定義されていません」
のエラーが出てコンパイル(や実行)不可となるケースが発生してます
誰か原因は解りませんか?

ソースはbasのみ。定数名はなにかとかぶってもいない。
右クリ>定義ではちゃんと跳ぶ。
Private Enum enmHoge
ahya1 = 0
ahya2
end enum

Pri〜部を切り>貼りすると戻るけれど無駄にソースを更新したくはないので。
>>200
俺も知りたい。実際何度か経験した。
>>200
VBのバグとしか思えんなぁ。漏れもうろ覚えだがこんな経験がある。
Pictureコントロールのlineメソッドの後にstopを書いて実行したあと、
そのstopを消すと何故かエラーが出て実行できなかった。
stop文跡にいくつか改行いれると動いたけど。
クラスモジュールが増えてきて
プロジェクトエクスプローラーがごちゃごちゃになってきました。
プロジェクトエクスプローラーのクラスフォルダ内で
さらにフォルダ分けしたいのですが可能でしょうか?
204デフォルトの名無しさん:03/09/05 23:17
VB6.0でAccess→ADODC→DataGridと連結している。
Recordset.Findで文字列ではなくて文字列変数で探すには
どう表記すればよい?

文字列の場合は一重引用符で囲む。
Recordset.Find”*** = 'WA'"

本の表記によると変数の場合は
Recordset.Find"*** = '"&Text1.Text&"'”
と&で囲みその外を'(一重引用符)で囲むとなってたがうまくいかない
のですが。






205デフォルトの名無しさん:03/09/05 23:19
   ↑
Recordset.Find "*** = '"&Text1.Text"'"
   ↑
Recordset.Find "*** = '" & Text1.Text & "'"
recordset.Fields(Text1.Text).Value
208デフォルトの名無しさん:03/09/06 11:18
ドメインを入力すると、グローバルIPを返すプログラムを作りたいんで
すが、どうやればいいかさっぱりわかりません。ググってみたんですが、
探し方が悪いのかいまいち見つからない・・・・・・
どなたか、方法を教えていただけたらうれしいです。また、参考になる
サイトがありましたら誘導していただきたいです。
よろしくおねがいします。
>> 208
gethostbynameあたりを調べてみたら?
210デフォルトの名無しさん:03/09/06 11:34
>>209
それは聞いた事がありますね。ローカルじゃなくても取得できるのです
か?
211208:03/09/06 12:06
今さらなんですが、Winsockコントロールで 
winsock1.remotehost = "www.yahoo.co.jp"っていう風にドメインを指定
できるのでしょうか?(wwwってただのアドレスとしては必要ないですよね)
>>211
試してみるという選択肢は無いの?
213203:03/09/06 12:13
他で聞いてきます。
214208:03/09/06 13:11
>>212
試すにも、どうやって成功したか判断できないんです(自分のドメインは
ダイナミックDNSのやつなんで、自分のパソコンからはできないし)かといって
試す相手となるアドレスもないので)
215204:03/09/06 13:59
>207  recordset.Fields(Text1.Text).Value = ***

     ↑
これは188で教えてもらった「列」の列名がいくつかあるうちで
それを文字列変数にしてどの「列」に該当するかを判定する式。

自分が質問してるのは「列」の列名は固定していて(わかっていて)
いくつかあるレコードの中の「(縦)列」の要素が ”= 文字列変数”
に一致するレコードを探すという意味も
Recordset,Find ですが・・・
>>208
nslookupがやりたいのだろうか。
なにか根本的に勘違いしているようなので、
nslookupがどう名前解決をしているか、
調べてみたらどうだろう。

ドメインとホストについても、たぶん勘違いがあると思う。

とりあえず、既成の関数を利用すれば
目的は達成できると思うけど、せっかくだから、
いろいろ調べてみるといいんじゃないかな。
217デフォルトの名無しさん:03/09/06 15:04
[ws.cls]
Option Explicit 'ホストのドメインをIPアドレスに変換するためのクラス

Private Declare Function WSAStartup& Lib "WS2_32" (ByVal V&, N As Byte)
Private Declare Function WSACleanup& Lib "WS2_32" ()
Private Declare Function gethostbyname& Lib "WS2_32" (ByVal H$)
Private Declare Sub MoveMemory Lib "KERNEL32" Alias "RtlMoveMemory" (D As Any, ByVal S&, ByVal L&)

Private Sub Class_Initialize()
ReDim D(255) As Byte
WSAStartup &H202, D(0) '初期化
End Sub

Private Sub Class_Terminate()
WSACleanup '終了処理
End Sub

218デフォルトの名無しさん:03/09/06 15:05
Public Function GetIP$(ByVal Host$)
Dim P&
P = gethostbyname(Host) 'ホスト名で情報ポインタを取得
If P Then '取得できた場合(非ゼロ)
ReDim a(3) As Byte 'アドレス取得領域を作成
MoveMemory P, P + 12, 4 '情報からリストのポインタ取得
MoveMemory P, P, 4 '実ポインタを取得
MoveMemory a(0), P, 4 'IPアドレスを取得
GetIP = CStr(a(0)) & "." _
& CStr(a(1)) & "." _
& CStr(a(2)) & "." _
& CStr(a(3))
End If
End Function



219デフォルトの名無しさん:03/09/06 15:05
呼び出し
Private Function ChangeAddres(Addres As String) As String '与えられたドメインをIPアドレスに変換する関数 引数はドメイン 戻り値はIPアドレス IPアドレスを渡した場合はそのまま返す
Dim ChangeClass As ws 'クラスを実装する変数
Dim work As String
On Error Resume Next
Set ChangeClass = New ws 'クラスをロードする
work = ChangeClass.GetIP(Addres) 'ホスト名:xxxのIPアドレスを表示
Set ChangeClass = Nothing 'クラスを解放する
ChangeAddres = work
End Function

こんな感じでやると、ちゃんとできる時と、VB6が原因でkernel32.dll(忘れてしまった)にエラー
と言われ強制終了されてしまう時ができてしまいます。
初期化とか解放とかの手順がどこかで抜けているのでしょうか?どなたか見てやって下さい。
スレ汚してすいません。
220219:03/09/06 15:36
試してみたらwsastartupとかwsacleanupとかしなければエラーしないし、ちゃんとgethostbynameも動く事
が分かりました。しかし、メモリのリークとかが起こったら怖いんですが、別に飛ばしても大丈夫
なものなのでしょうか?
221デフォルトの名無しさん:03/09/06 17:04
integer ABC;
integer *p;
p = (*int)(0x0123ABCD); /* ポインタにアドレスを代入 */
ABC = *p; /* 変数にポインタで指定したアドレスの値を取得 */

みたいなことをVBでやりたいです。
具体的には、VBを使って指定したメモリアドレスの値を
取得したいです。
ポインタの使えないVBでもできるんですかね?
よろしくお願いしますm(__)m
VBを勉強したいのですが、よい入門書などありますか?
プログラム自体が初めてです。
あと、以前にVB5みたいなやつで、フリーのお試し版みたいなやつがあったと思うのですが、
今もあるのでしょうか?
>>222
大型の書店に行って、いくつか見比べて決める事をお勧めします。
VB6の入門書って、あまりおいてないかもしれないけど。
>>221
ttp://www.kanazawa-net.ne.jp/~pmansato/Tips_VB.htm#VarPtr
この辺の関数使えば出来るが、
ほとんどの場合はポインタ使わずにプログラム組めるぞ?
>>203
元々、プロジェクトの依存関係を示すものであって、整理用ではないと思われ。
いっそのことActiveX DLL化するとか。設計を見直すとか。
227デフォルトの名無しさん:03/09/07 11:52
6.0のデータレポートで、任意の位置に改行を設定するのにはどうしたらよいのですか?
超初心者質問ですみません。
228227:03/09/07 12:15
○改ページ
×改行

でした。失礼しました。
229デフォルトの名無しさん:03/09/08 00:46
FTPとローカルのミラーリングソフトを作りたいんだけど、
どうやって作るのか教えてください。

差分コピーしたくて、タイムスタンプで更新されたか比較しようとしたけど、
FTPのファイルはアップロードした時間になってるから、どれが更新された
ファイルかわからんのです。結局全部更新されたみたいになっちゃう。


アップロードした時間より更新した時間のほうがあとなら
アップロードすればいいだけじゃないの?

ただ、FTPサーバーによっては時間が日本時間になっていたり
GMTになっていたり単にずれていたりするんで、
ためしにダミーのデータをアップロードしてマシンの時間との
差分で時間を判断するというのは良くある話。
231デフォルトの名無しさん:03/09/08 08:52
今マシンの再セットアップやってるんだけど、前々から疑問に思ってたことがあります。

VisualStudio6.0 Enterprise と Office2000 Premium をセットアップする時、両方とも MSDN が
ありますけど、セットアップ先が違います。

これって共有することはできないんでしょうか? 結構容量も取りますし。
MSDN と言っても違うものなのかな?
今までは無難にそのままセットアップしてたんですけど...

みんなどうしてます?
232デフォルトの名無しさん:03/09/08 10:36
VB6 WIN2000 で文字をカラーで印刷する為に、PRINTER.FORECOLORで色を設定しても
印刷するとモノクロで出てきます。
同じようなやり方で他のプログラムは問題なく色が印刷されているので(同じプリンター)
何が悪いのかさっぱり分からず困っています。
プリンタオブジェクトのカラーモードはカラーにしてあります
なにか考えられる原因はありますでしょうか
233デフォルトの名無しさん:03/09/08 19:05
質問スレだけど、誰も回答する人がいないね。。。

質問溜まってるよ。誰か答えてくれ〜〜
>>231 違うもんだろ。同じだと思うんならカスタムセットアップで入れなきゃ良い。
>>232 マルチは氏ね!
235デフォルトの名無しさん:03/09/09 08:13
CSVファイルからテキストを吸い出すと文字化けしてしまい困っています。
Excel形式で見ると文字化けしており、テキスト形式で見るとちゃんとした数値になっています。
状態は以下のとおり

,6−7−11, → ,20081110,
,001, → ,1,

何かプログラムを組む上で良い知恵をお貸しください。
236デフォルトの名無しさん:03/09/09 08:17
誰か質問答えろ
238デフォルトの名無しさん:03/09/09 09:35
>>237
残念でした。。。
>>235
あらかじめExcelの表示形式を文字列にしておく。
>>235
これを文字化けと言ってしまうところがVB厨のVB厨たる所以か・・・。
ADOデータベースを使って、
1週間前の同じ曜日条件にを参照したいのですが・・・
SQL文で作りたいのですが、教えてください。
お願いします。
242デフォルトの名無しさん:03/09/09 10:52
>>235
この板には合わない質問ですよ。
どこかExcelの初心者スレで聞いた方がいいかと?
243デフォルトの名無しさん:03/09/09 12:24
VB6 WIN2000 で文字をカラーで印刷する為に、PRINTER.FORECOLORで色を設定しても
印刷するとモノクロで出てきます。
同じようなやり方で他のプログラムは問題なく色が印刷されているので(同じプリンター)
何が悪いのかさっぱり分からず困っています。
プリンタオブジェクトのカラーモードはカラーにしてあります
なにか考えられる原因はありますでしょうか

>>241
sql文の記述に関する質問ならsqlスレの方が適当かと。
まあどのみちその質問には誰も答えられないだろうな・・・
意味不明だよ。
245デフォルトの名無しさん:03/09/09 13:46
単純に7日前ってことじゃない?
246 :03/09/09 17:08
>>243
ドライバを変えてみるとか?
文字列を、シフトJISコードに変換するにはどうしたらよいのでしょうか。
>>247
何からシフトJISに変えるって?
質問の意味が分からん。
StrConvしたいだけかぇ?
250デフォルトの名無しさん:03/09/09 18:35
学校でのプログラムの授業は今まで用語の説明だけだったのに、いきなり以下のような問題が
出題されました。

次の定積分を台形則を使って計算するプログラムを作成せよ。分割数は100とする。

I=∫[x=0,1]4/(1+x^2) dx

ただし、プログラムには下の項目を含むようにすること。
1.変数はDoubleを使うこと。
2.積分する関数は、Functionプロシージャを使って計算すること。
3.分割数と積分区間はワークシートのセルから読み取る。(Cells( , ))
4.計算結果はMsgboxを使って表示する。
5.以下の型を用いる。
Function keisan (x as double) as double
End Function
Sub daiseki()
End Sub

全く分かりません…ご教授願います。
>>250
それだけでは情報が足りない。3.の項目についてとか。
ま、講義に出ないクセして単位だけ取ろうとすんなよってこった。
252デフォルトの名無しさん:03/09/09 23:36
VB6.0でAccess→ADODC→DataGridと連結している。
DataGrid(Recordset)をまずクリアしてAddNewでレコードを追加する。

   Adodc1.Recordset.AddNew "フィールド1" "A”
Adodc1.Recordset.Update
※→ Adodc1.Recordset.Fields("フィールド2").Value = "B"
   Adodc1.Recordset.Update
    Adodc1.Recordset.MoveFirst

※部分があると最後のMoveFirstのところでエラー表示となる。
 「指定した行は見つからないため更新できません。最終読み取り時以降に
  値が変更された可能性がある」とエラー表示。

※部分をなくすとエラーなくとおる。
※行で書きこもうとしたrecordsetが存在しないということらしいが
なぜ存在しないということになるのかよくわからない。
Updateは念のためいれただけで、あってもなくても結果は同じ。

Connectstrinngによるopen、closeではなくて単純なRecordsetのみである。

     

ワークグループを変更したいのですが…
どなたか教えてください。
255ハンマープライス:03/09/10 12:05

ocxにカラー印刷するにはどうすればよいのでしょうか?
カラープリンタでも白黒が出るだけで。。。。。。
>>255
俺も知りたい。
ずっと悩んでるんです。
257デフォルトの名無しさん:03/09/10 17:48
ASPなんですが、
if Ubound(MyArray) > request.querystring("hid") then
で左の式が評価されていないようです。
if文って両方に式を入れるのはアウトなんでしょうか?
258257:03/09/10 17:55
自己解決しますた・・。
明示的に型変換して解決しました。
259デフォルトの名無しさん:03/09/10 17:56
>>255
OCXに印刷?

OCXってコントロールとかの類のことをさしてるよね。
>>259
「ocxに印刷」って、意味わかんないよね(汗
あれで意味のわかった>>256は、>>255の自作自演くさい(w
タブメニューを挿入したいのですが、どうすればいいのか分かりません。
タブメニュー等でググっても出てなかったので質問しました。お願いします。
262256:03/09/10 20:07
>>260
残念!オレのはネタでした。(>>255≠>256)
263260:03/09/10 20:20
>>262
ワラタ
264252:03/09/10 20:22
まったく同じ処理をConnectstrinngによるopen、closeを使った
Accesへの接続方式でやってみたらそちらはまったく問題なかった。

Recordsetでも  @ADODCのよる連結コントロールと
         AConnectstrinngによる連結 とでは
有効になるコードとならないコードが存在するということでつか?
>>261
名称は、TabStripだよ。単に使いかたがわからないなら
ヘルプを見るなりして勉強して、もっと具体的になにかわからなかったら質問してねん。
タブを切り替えても、タブが切り替わりません!とか(w
>>264
ADODCとConnectStringではプロパティのデフォルトの値が違う物がある。
CursolLocationとか。
× CursolLocation
○ CursorLocation
デバッグプリントでレコードセットの全内容を表示する方法はありますか?
EOFプロパティが思ったように動いてくれません。
(空だと思ってるのに,なんか入っている様子)
'ファイルに出力するときはH_F_File = True
Public Sub WriteRSData_SUB(ByVal H_RS As ADODB.Recordset, _
Optional ByVal H_NameOfValue As String = "", _
Optional ByVal H_FieldLength As Integer = 10, _
Optional ByVal H_F_File As Boolean, _
Optional ByVal H_Path As String = "")

Dim L_I As Long
Dim L_String As String
Dim L_Clone As ADODB.Recordset
270269:03/09/10 21:22
On Error GoTo ERRORHANDLER

L_String = "▼▼▼▼▼▼レコードセット情報▼▼▼▼▼▼" & vbCrLf
L_String = L_String & "・変数の情報:" & H_NameOfValue
GoSub OutputRS

If H_RS Is Nothing Then
L_String = "・RSの状態:Nothing"
GoSub OutputRS
GoTo ExitSub
End If
271269:03/09/10 21:23
If H_RS.State = adStateClosed Then
L_String = "・RSの状態:Closed"
GoSub OutputRS
GoTo ExitSub
End If

Set L_Clone = H_RS.Clone

With L_Clone
.Filter = H_RS.Filter
.Sort = H_RS.Sort
'MoveFirst
If .RecordCount > 0 Then
.MoveFirst
End If
272269:03/09/10 21:24
'データ作成(レコードセット情報)
L_String = ""
L_String = L_String & "・フィルター:" & .Filter & vbCrLf
L_String = L_String & "・レコード数:" & .RecordCount & vbCrLf
L_String = L_String & "・デ ー タ:" & vbCrLf
'データ作成(フィールド名)
For L_I = 0 To .Fields.Count - 1
L_String = L_String & StrConv(LeftB(StrConv(CStr(.Fields(L_I).NAME), vbFromUnicode) & Space(H_FieldLength), H_FieldLength), vbUnicode) & " "
Next
'出力
GoSub OutputRS
'データ作成(データ)
If .RecordCount > 0 Then
Do Until .EOF = True
L_String = ""
For L_I = 0 To .Fields.Count - 1
If IsNull(.Fields(L_I).Value) Then
L_String = L_String & String(H_FieldLength + 1, " ")
Else
L_String = L_String & StrConv(LeftB(StrConv(CStr(.Fields(L_I).Value), vbFromUnicode) & Space(H_FieldLength), H_FieldLength), vbUnicode) & " "
End If
Next
.MoveNext
'行毎出力
GoSub OutputRS
Loop
End If
Set L_Clone = Nothing
End With
273269:03/09/10 21:27
GoTo ExitSub

OutputRS:
'出力したい文字列をL_Stringにセットしてから「GoSub OutputRS」を行うこと
'ファイルに出力かイミディエイトウィンドウに出力
If H_F_File = True Then
Call WriteLogAppend_SUB(L_String, H_Path)
Else
Debug.Print L_String
End If
Return

ExitSub:
'締め
L_String = "▲▲▲▲レコードセット情報ここまで▲▲▲▲"
GoSub OutputRS
Exit Sub

ERRORHANDLER:

Exit Sub


End Sub
274269:03/09/10 21:28
Public Sub WriteLogAppend_SUB(ByVal H_str As String, Optional ByVal H_Path As String = "")

Dim L_Path As String

L_Path = H_Path
If L_Path = "" Then
L_Path = "c:\log.log"
End If

Open L_Path For Append As #1
Print #1, H_str
Close #1

End Sub
275デフォルトの名無しさん:03/09/10 21:41
結局OCXでの印刷は分からないまま・・・
誰か分かるや強いないのか?
276デフォルトの名無しさん:03/09/10 21:48
↑カラー印刷ね
277269:03/09/10 22:17
>>268
Debug.Print WriteRSData_SUB(Recordset)
なんかちょっと入り組んだ質問になると誰も答えてくれないのねここ
やっぱりMLで質問してきます
280デフォルトの名無しさん:03/09/10 22:38
初歩的な質問なのですが、VBでDB検索、登録をしたいとおもってます。
テキストボックスに検索したいデータを入力して、コマンドボタンを押すと
MSFlexGridに表示させたいんです。
Private Sub Command1_Click()
strSQL="select * from tbl where DATA=Text1.text"
これ↑どこをなおせばいいでしょうか?
初歩的ですいません。
281デフォルトの名無しさん:03/09/10 22:55
strSQL="select * from tbl where DATA= '" & Text1.text & "'"
282デフォルトの名無しさん:03/09/10 23:01
>>268
全部表示する必要あるのか?普通に

Debug.Print objRS.Fields(0).Value

とか、GetStringすればいいのでは?
283デフォルトの名無しさん:03/09/10 23:18
質問です。お願いします。

フォームにテキストボックスとボタンがあるとして、テキストボックスの
LostFocusイベントに数字6桁以外はエラーのメッセージボックス&SetFocusとしています。
ボタンはフォームをアンロード(終了)するのですが、テキストボックスのLostFocusと競合
してしまってアンロードできません。
どなたかLostFocusよりもキャンセルを優先される方法を教えてください。
>>283
LostFocusでやる場合はActiveControl(フォーカスの行き先)で場合分け。
Validateでやる場合はボタン(行き先)のCausesValidation = True。
285284:03/09/10 23:28
誤)CausesValidation = True
正)CausesValidation = False
286284:03/09/10 23:29
誤)CausesValidation = True
正)CausesValidation = False
>>278
そういった捨て台詞を吐くかどうかは良識に任されている。
せいぜい頑張れよ、厨房!
>>275
「OCXでのカラー印刷」なんて漠然とした目的じゃ、答えようがない。
漠然と質問するひとの多くは、プログラミングの資質に欠けていることが多いから、
適切に答えても無駄骨に終わるってのもあるが。

ひとついえるのは、印刷はプリンタ(ドライバ)に依存する部分が多い。
コーディングでどうにもならない可能性があるから、
そこらへんの切り分けができるまでは、なんとも書きようがない。
>278は釣り。つれるとますます付け上がりますよ
290DrawModeプロパティ:03/09/11 09:59
機能Graphコントロールの描画モードを設定します。

書式[form.]Graph.DrawMode[=setting%]

設定値整数型(列挙型)
0 - 描画しない
1 - クリア
2 - 描画 (デフォルト)
3 - 瞬時表示
4 - コピー (クリップボード)
5 - 印刷
6 - ファイル保存
7 - 回転(True3Dグラフのみ)
8 - 更新(時系列グラフのみ)
9 - テンプレート読み込み
10 - テンプレート保存(データ以外のプロパティ)
11 - テンプレート保存(データを含むプロパティ)

12 - マップ保存(マップファイルへの保存)
13 - マップ追加(マップファイルへの追加)

用法設計時:設定および参照
実行時:設定および参照

てかOCX名すら書かないで回答が返って来るとでも思ってるのかね。
まともに質問すら出来ないやつばっか。だからVB厨と(r


てか本格的な質問はちゃんとしたサイトで聞いたほうがいいと思うよ。
あまり難しいと文句が返ってくるだけですから。
質問が溜まっていくだけで・・・。。。。(苦笑

けど>>278の言ってることはウソでもない
>やっぱりMLで質問してきます

そうしろw
ここは3流のあつまりだからね・・・
296247:03/09/11 11:49
>>248-249

すいません、余りにも漠然としすぎていました。

文字列を入力して、その文字列のシフトJISコードを表示するにはどうすればよいのでしょうか。
297デフォルトの名無しさん:03/09/11 12:11
>>296
TEXTBOXに入力?
VBのSTRINGはUNICODEだからStrConvで変換。
その結果をByte配列に取ればいけるんじゃないの?
>>296
文字のコードを16進数か何かで出したいだけか?
>>298
いえ、ocxに出したいんです。カラーで。
300デフォルトの名無しさん:03/09/11 13:17
>>299
上手いけど、面白くない。
本気で書いていたら、あなたとは絶対一緒に仕事したくない。
301デフォルトの名無しさん:03/09/11 14:06
もう、全然質問しても絶対答え返ってこないよね。このスレ
PrintScreenしてペイントに貼り付けて印刷
そうだよな、いまだに「ocxに印刷」の答えが出てこない。
304デフォルトの名無しさん:03/09/11 16:27
あまり難しい質問はしないほうがいいぞ
インストールの方法を教えてください
よろしくお願いしますm(__)m
306デフォルトの名無しさん:03/09/11 16:39
つうか、お前らまず質問の仕方を質問しろよ。w

>>305はまず主語がない。
何のインストールだよ。
>>306
vb
308デフォルトの名無しさん:03/09/11 16:50
イミディエイトウインドウをクリアするツールボタンを作ってみました。
結構便利なので、アップロードしておきました。
VBAIDEのデバッグバーに、追加しました。

一番右の、消しゴムのボタンを押すと、クリアします。
その、左のボタン1とボタン2は、でたらめな文字を書き込みます。
ボタン1、ボタン2を押してから消しゴムを押すと、クリアされます。

さらに、その右の、2つのビルトインボタンは、蛇足のようですが。
実は、ビルトインとカスタムの違いは、
ビルトインは、コードを編集しても、平気ですが、
カスタムのほうは、コードを編集すると、Clickイベントを受け取る
オブジェクトが、リセットされてしまうため、ボタンを押しても反応
しなくなる点です。

それで、ビルトインのセーブ(ついでにコンパイルも)ボタンを近く
に置き図面をセーブしたときに、ツールボタンを作りなおすように
しています。

VBAのコードを修正したら、コンパイルし、セーブすると、右の
三つのカスタムボタンが、動くようになります。
>>307
それどう見ても目的語なんですが。
ちなみに主語はあんた自身。
310デフォルトの名無しさん:03/09/11 17:22
>>307
CD入れてフィーリングでいけるだろ?

それでだめならヘルプよめ。

それでもだめならやめとけ。
311デフォルトの名無しさん:03/09/11 17:24
簡単な質問には答えてくれるわけだが
ocxに印刷なんてそんな難しい質問されても答えられません。
勘弁してください。わたしたちはあなたほど頭が賢くありません。
もうこれ以上いじめないで!メーリングリストなりなんなり、
いけばいいじゃない!
つか、釣りや煽りにしても、つまらなすぎ。
314質問:03/09/11 17:38
シェイプが表示中の画面領域内に含まれるかどうかを判断したいのですが、
(シェイプが非表示/表示になっているわけではなくて)
シェイプオブジェクトにそのようなプロパティが存在するのでしょうか。
また、存在しない場合、表示中の画面(図面)領域を取得する方法が
存在するのでしょうか。
どなたか、ご存知の方がおられましたらご教示願えませんでしょうか。



ここは質問するだけのスレです。
決して答えは返ってきません。


>>314
Top,Left,Width,HightがわかるんだからIf文で。



ここは煽るだけのスレです。
決して答えは返ってきません。



318デフォルトの名無しさん:03/09/11 17:56
>なんかちょっと入り組んだ質問になると誰も答えてくれないのねここ
>やっぱりMLで質問してきます
>ノ


それがいいと思う。
319デフォルトの名無しさん:03/09/11 17:57



簡単な質問だったらコチラで十分かと



>>315
>>317
>>318
おまえなにやってんの?



簡単な煽りだったらコチラで十分かと



322デフォルトの名無しさん:03/09/11 18:00
仕事しろ
これだからDelphiしか使えないヤツラは困る。
>>320
質問を待っています。
325324:03/09/11 18:02
あまり難しい質問は止めてください
326324:03/09/11 18:07
>>325はオレじゃないが、ワラタ(w

つーか、答える気はないぞ。
327 ◆rtV5h9yMng :03/09/11 18:14
よしよし
328教えてください:03/09/11 21:15
ファイル同期プログラムを作ったんですが、めちゃくちゃ時間がかかってしまいます。
まず、コピー先のフォルダ名、ファイル名を配列に取得し、
コピー元を見てフォルダ、ファイルがなければコピー先から削除する。
次に、コピー元のファイル名、ファイルサイズ、更新日時を配列に取得し、
コピー先に無かったり、新しかったり、サイズが違ったらコピー先にコピーする。
という手順です。
ファイル数は2万〜6万あって、リモートのサーバーからローカルにある
DVDにコピーしているのですが、数時間掛かってしまいます。
ファイル情報の取得やコピーには
filelen、filedatetime、filecopy等のVBのコマンドを使っています。
削除はshellでDOSコマンドを発行しています。
もっと高速に処理できる方法はありますでしょうか?
329デフォルトの名無しさん:03/09/11 21:19


おい、質問きたぞ
誰か答えてやれ

330デフォルトの名無しさん:03/09/11 22:09
redimで確保した領域はeraseで消せるみたいですが、
ローカル変数をredimで確保して、eraseせずにプロシージャを抜けてしまうと、
勝手に開放されるんでしょうか?

Cみたいに自分で開放してやらなきいけないのかな?
勝手に開放されます
>>330
redimで確保した領域は開放される。
ただしオブジェクト配列だった場合は
必ずしもインスタンスが開放される訳ではないので気をつけよう。
>>328
まずどこで時間がかかっているか調べよう。

単純にコピーした場合よりもべらぼうに時間がかかるなら
ファイル情報の取得に時間がかかっているのだろうと思う。
リモートのファイルシステムをファイル一個一個調べていくなんてのは
時間がめちゃくちゃかかって当たり前なんで
リモート側でファイル情報を列挙するプログラムを動かして
ローカル側のプログラムとやり取りさせたらどう?

334328:03/09/11 22:49
>>333
仰る通り、更新処理の前の段階で時間がかかっています。
リモートに情報を吐かせて、ローカルで処理すれば?と言うのは会社の上司も言っていました・・・。
HULFTでも使ってやってみようかと思います。
レスありがとうございました!
335デフォルトの名無しさん:03/09/11 23:10
こんばんわ
どなたかよろしければ教えてください

開発環境は Win2000 VB6.0 です

現在、

変数 から 構造体へのデータコピー   構造体 から 変数 へのデータコピーを

Public Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, source As Any, ByVal Length As Long)


というAPIを使用しておこなっています

構造体 → 変数 へのコピーは 変数へコピーしたデータの長さ分スペースを代入してメモリ確保をしています
変数 → 構造体 へのコピーはとくにメモリ確保などのことは意識していません

いろいろなホームページを調べてみたところ 、なかには処理前に
GlobalLock や GlobalFree というAPIを使用してメモリのロック・開放を行っているものもあればそうでないものもありました

メモリのロックや開放は必要なのでしょうか?

現在、直接の原因が上記のことに関係あるかはわからないのですが
「メモリが'read'になりませんでした」

というアプリケーションエラーが出てしまい困っています
そのエラーが出るのは特定の箇所ではなく、たとえば画面上に配置したボタンのこともあれば
VBの実行ボタンであることもあります

どうぞよろしくお願いします
writtenになることはできませんでした
ってのも良く出るな・・・
337デフォルトの名無しさん:03/09/11 23:32
そうなんです(T0T)

writtenになることはできませんでした

も頻発してるんです、、、>336さん

readになることができませんでした

の間違えでした、、、すいません
>>335
これいうと叩かれるかもしれんが、一言。
そんなことはVBでやるな。言語選択が間違っている。

VBではメモリー操作はやらんと決めろ、そんなところで悩むならCにしとけ。
339デフォルトの名無しさん:03/09/12 11:01
VBでこのような処理はどうすればできますか?

AプログラムでCSVファイルを内部テーブルに格納
このAプログラムは常駐しておく

Bプログラムで、常駐しているAプログラム内の
内部テーブル情報を取得する

要するに最初のCSVファイル→内部テーブルが遅いので
Aプログラムで内部テーブル作成はシステム起動時にしておいて
他のプログラムはソレを参照するって事がしたいのですが・・・

できますでしょうか?
更新が無いならDAOかなんかで繋いじゃえば一発のような気が。
341デフォルトの名無しさん:03/09/12 11:07
VB6 WIN2000 で文字をカラーで印刷する為に、PRINTER.FORECOLORで色を設定しても
印刷するとモノクロで出てきます。
同じようなやり方で他のプログラムは問題なく色が印刷されているので(同じプリンター)
何が悪いのかさっぱり分からず困っています。
プリンタオブジェクトのカラーモードはカラーにしてあります
なにか考えられる原因はありますでしょうか




>>339

338を書いたものだが、矛盾するが共有メモリー使えば?w
またはCOM・DCOMか?
343いまさらNT:03/09/12 13:17
昔のシステムの作り直しをすることになりました。いまさらNT4+VB5という環境を作らないといけません。
とりあえずNT4+SP3+OptionPackまでは入れたけど、この後どーゆー順番でインストールしないといけなかったっけ?(;´∀`)
今検索しているところだけど「ここ見れ」というところがあればご教授くださりませ(拝)
>>343
2〜3年前の日経オープンシステムに結構まとまっていたはず。
厳密じゃなくていいなら、SP6あててVB5入れて、VB5のSP3かな?
顧問ダイアログ周りが違うのって、Win2000だったか、IE5だったか。
345343:03/09/12 14:06
>>344
SP6は必須? いえ、現状のシステムがNT4SP4で動いてるそうなんで……
(ホントか?、という気がしないでもないけど(^^;))
>>345
NT4の安定してるSPって3(IE4なしの場合)と6(IE4ありの場合)でしょ?

SP4ってむっちゃ寿命短くなかったっけ?
インストールで飛んだりはねたりの思い出が(IE4のせいもあるけど)

まあ、必須ではないはずだけど、SP3->4よりは4->6のほうが敷居は低いはず。
347343:03/09/12 14:26
>>346
えと、IE4はSP3で入ります……つか、OptionPackでデフォでつ(^^;
348343:03/09/12 14:27
てことで、とりあえずこのまま(NT4SP3)VB5をインストールしてみます。
見事動けばご喝采(藁
>>347
そっか、OptionPackあるんだったね。
でもSP3はIE4必須ではなかったはずだよ。

で、OptionPackあるなら、尚のことSP6、しかもその後の修正当てたほうがいいのでは?

その作ったPCでリコンパイル&インストーラーの再作成ができるなら、上げるだけあげたほうがいいと思うけど。
350343:03/09/12 15:12
>>349
なるほどです。ありがとうございました。
>OptionPackでデフォ≠SP3でデフォ⇒IE4

で、ここではモノは作りません。動作確認と仕様の調査だけです。
WinXPぢゃうごかねーよ、とのことなので、VB6もしくはAccess+VBA(環境を閉じるためだけ(^^;))で作り直すように、
とのオーダーなのでつ。
……コンバートだけで動く……わきゃねーよな(^^;
>>350
VB5->6って結構いけると思うけど。
ただ、4のころの3Dコントロール類を5で使っていると少しはまり。
あとの言語レベルでは問題ないはず。

6からたまに5をやると、ユーザー定義型配列を関数戻り値にできないとかSplitがないとかでいらいら。
OptionPackのどの機能にこだわってるんだろう。
個人的にあれは入れたくない(汗
素直にNT4+SP6a+IISでよくない?

IEは、いきなりIE6を入れればアクティブデスクトップなし。
まずIE4を入れてIE6を入れればアクティブデスクトップあり。

インストールする順番は、IEの暗号化パックが障害になるケースが
あったような気がするけど、基本的にはそう気にしなくていいと思う。

ただ、サービスパックは、アプリケーションをインストールするたびに
適用しなおす必要があったはず。まあ、最後に入れればいいのかな。
VBでWin32APIのPostmessageをつかってプロセスにキーボードの1を押すという情報を
おくりたいのですが、しっぱいしてしまいます
なにかちがってるのでしょうか?

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const VK_1 As Long = &H31
Const WM_KEYDOWN As Long = &H100 'キーボードのキーが押された
Const WM_KEYUP As Long = &H101 'キーボードのキーが上げられた

hwnd = FindWindow("プロセス名", vbNullString)
bRet = PostMessage(hwnd, WM_KEYDOWN, VK_1, null )
bRet = PostMessage(hwnd, WM_KEYUP, VK_1, null )
>>335
まず、GlobalLock() と GlobalFree() って...
GlobalLock() ⇔ GlobalUnlock(), GloablAlloc() ⇔ GlobalFree() って言うのは理解してる ?
単純にコピーするだけなら、GlobalLock(), GlobalUnlock() は不要。
でも RtlMoveMemory なんて API 使ってるぐらいだから、なんかの API に渡し/戻り値を使い たいんだろ ?
その使いたい API がメモリーのポインタを 要求/返す か、メモリーオブジェクトのハンドルを 要求/返す かを再度確認すべし。
(メモリーオブジェクトなら、コピーの前後で GlobalLock()/GlobalUnlock() が必要。)

>>338
言いたい事はわからんでもないけど、VB で組んでてここの部分 API でないとできない / API だとぐっと楽 と言う事もあるよね。
>>353
中身見てないけど...
> おくりたいのですが、しっぱいしてしまいます
何がどう失敗してるんだ ?
GetLastError() って知ってるか ?
>>354
>単純にコピーするだけなら、GlobalLock(), GlobalUnlock() は不要。

ハンドルとポインタの違いを理解されていますか?
>>354
渡し値ってなんだ?
わたしンち
359デフォルトの名無しさん:03/09/13 19:51
デスクトップにテキストを表示させたいのですが、
何か方法はありますか。

デスクトップカレンダーのような感じで
実行後EXE自体は常駐しないようにしたいです
>>359
壁紙にするべし。
>>357
> なんかの API に渡し/戻り値を使い たいんだろ

→ なんかの API に渡したいんだろ。
 or
→ なんかの API 戻り値を使いたいんだろ。

まあ、「戻り値」の前に「の」が必要だったな。
>>359
確か壁紙にHTMLも使えたよなぁ。
>>361
何か知らんが世の中無駄に敵を増やしながら歩くタイプだな。
364359:03/09/13 22:22
そのテキストが30分ごとに更新したいのです。
壁紙だと更新できないですよね?
>>364
てか常駐無しでどうやって30分ごとに動かすんだ?
>>364
30分ごとに壁紙を更新すればいい。

>実行後EXE自体は常駐しないようにしたいです
いい加減幻想を抱くのは辞めておけ。
>>365
お前のおかげで答えが見つかった。

タスクスケジューラと組み合わせろ。
>>364
常駐させたくないという時点で無理。
実現させるとすれば、アクティブデスクトップかな。30分ごとにリロードさせる。
ただ、VBでアプリケーションを作る必要なくなって、スレ違いになるわけだが。
>>361
まあ、なにを言わんとしてるかはわかっていたが、
そもそも、アンタの文章の「/」の使いかた、ヘンだよ。
自分の日本語が不自由なのをさて置いて、厨呼ばわりとはな〜。
>>370
お前日本語に/多用するのか?
>>371
お前、うろ覚えをうる覚えって覚えてるだろ?
374デフォルトの名無しさん:03/09/13 22:37
なにコイツ
>>374
悔しいからってageないで下さい。
知ったかぶりは許すけど、
誉めてもらえなかったからって、
荒らすのはやめなよ>>353くん。
>>376
はずれ。に一票。
378デフォルトの名無しさん:03/09/13 22:40
誰でも構わんが、うざい
>>373
そいつはうる覚えだなぁ・・・
>>335 の人はまだ居るかな?
構造体ってのはユーザー定義型のことかな。
CopyMemory使ってユーザー定義型を扱う時は、バイトアライメントが絡んで
くるので注意するように。
APIにVBのユーザー定義型を渡す時は自動でOSが調整してくれるのだけど、
メモリを直接弄ると正しくないメモリ位置を読み書きすることがある。
端的に言うと、コピー先の領域が足りなくて鰓る。

ユーザー定義型をメモリに書き出したい場合は、あきらめて一旦バイナリ
ファイルに書き出してバイト列として読み出すw か、ユーザー定義型の
項目を1項目ずつCopyMemoryするしかないかな。

#一発でどうにかする方法あったらだれか教えて。
>>370
で、そこまで言うなら、どう変なのかきっちり説明してもらおうか。
>>380
結局のところ構造体で受け取ろうが構造体の内容をバイトストリームで受け取ろうが・・・。
>>380
> APIにVBのユーザー定義型を渡す時は自動でOSが調整してくれるのだけど、

こんな機能いつついたんだ ?
>>383
OSには付いてないな。
385デフォルトの名無しさん:03/09/14 00:56
>>381
>>370じゃないが、自覚がないとはかなり重症だな〜。
で、結局説明できないんだろ。
387343:03/09/14 03:04
>>351
えと……出来ちゃいました、コンパイル(^^;
コンバートも何もなしで*.exeが出来上がって、とりあえず動くところまではイっちゃいました(^^;;

ということで、環境はWinXP+VB6(SP6)+OfficeXP(予定)、.mdbへのアクセスあり、印刷ありですが、FAQのレベルでかまわないので

(1)VB5→VB6で「動いているように見えても実はココは要注意」という部分
(2)Jet3.5と4.0って共存できたっけ?
(3)VB独自での印刷機能実装で、VB5/VB6で違う部分。

特に(3)で何かノウハウをお持ちの方がいらっしゃればアドバイスをお願いします。一つ、途中でハングアップしてしまう帳票があるようです。
もちろん、これから独自に原因追求してみますが(^^;

>>352
いや、別にこだわってるワケではないんですよ(^^; お客さんの環境はOptionPack+SP3かSP4っつー話だったので、素直に合わせただけ。
でも、本当にSP4で止めてるんだろーか?(苦笑)

以上、よろしくお願いします。
388デフォルトの名無しさん:03/09/14 04:29
粘着がいるな。しかも、自分以外は全部敵だと思ってるようだ。

>>363の指摘、的確すぎ(w
>>383-384
確かにOSじゃないかもな。DLL側の処理だっけ?
APIをOSと呼ぶのは無理があるかねw

バイトアライメントは言及してる所が少ないのでハマったよ・・・
今回の件とは関係無いかもしれないけども。
>>389
コンパイラですよ。お馬鹿さん。
391デフォルトの名無しさん:03/09/14 13:34
ちょとスレとは関係ないんだけど、
金融機関コード(支店コード含む)の一覧ってどっかで落とせないですか?
接続先DBに入れたいんですが。
392デフォルトの名無しさん:03/09/15 11:19
開発マシンがとうとうWinXpマシンに移行となりそうです。
VisualStudio6.0って、WinXpでも動くんだろうけど...何か不具合とかないのかな?
WinXp対応を謳ったサービスパックとかも出てないようだし。
>>392
Format(2.5,"##0") の結果が 2 になる。→XPのSP1で修正。というのを
聞いたことがある。
たしかGeneral Dateかなんかもyyyy/mm/ddじゃなくyy/mm/ddで返さなかったっけ。
忘れた。ごめん。
>>387
> ということで、環境はWinXP+VB6(SP6)+OfficeXP(予定)、.mdbへのアクセスあり、印刷ありですが、FAQのレベルでかまわないので
>
> (1)VB5→VB6で「動いているように見えても実はココは要注意」という部分

基本的にはない・・・。というか当たったことはない。
だけど、VB6でもWinXPとOfficeXPは注意というか、保障なしだったよね。
WinXPの場合はUIの見た目が変わるから、ボタンとかの文字が入りきらないところがでるかも。
フォーカス持ったときに微妙に折れるボタンラベルとか。

> (2)Jet3.5と4.0って共存できたっけ?

バインドの方法によると思うけど。
でも普通JETはアーリーバインドするよな、だったらOKなような。
でも、こういう不安定要素ははずしたほうがいいような。

> (3)VB独自での印刷機能実装で、VB5/VB6で違う部分。

Printerオブジェクトでしょうか?
それなら同じはずだけど。余り使わないからわからない。
おまけのクリスタルレポートはなくなって、グレープシティーの印刷のおまけ版になったよね。
>>394
それって、コンパネのカレンダー設定とDLLのバージョンで変わる部分だっけ?
実は2000年問題でやられたことが・・・。
自分がつくったんじゃないんだけど、DATE型を明示的に変換(FORMAT)しないで文字列切り出しした馬鹿がいて・・・。
2000年になったらいままで、yy/mm/ddを返していたのが、yyyy/mm/ddを返しやがった。w
VB6.0では文字列をユニコードで扱うと言ってるくせに、次のコードで保存したテキストはシフトジスになっている。
Open "temp.txt" For Output As #1
Print #1, Text1.Text
Close #1

ただしいのはこれのような気もするが、どの本にもこうは載っていない。
Open "temp.txt" For Output As #1
Print #1, Unicode(Text1.Text)→変換→Shift-Jis(Text1.Text)
Close #1
>>397
どこの誰が言ってたんですか?
内部コードならUNICODEですが。
>>397
>>398の通り。
VBの内部変数はUNICODE、外部に渡すときはOS依存。
400397:03/09/16 12:52
ないぶコード???なんぞや?
>>400
VBのString型のもってる文字コードとかその振る舞い。

VBは半角だろうが全角だとうが、文字型として扱った場合、1文字2バイトでしょ?

でもそれをAPIに渡したり、ファイルにはくときに変換してくれてる。
402400:03/09/16 13:00
>>401
オレのVBが
Text1.Text = LenB("abc")
6という値を返してきたのでなるほど。
>>402
勉強ついでに、w
引数の文字列をStrConvでVBFROMUNICODEで変換してみ。
少しそのあたりの挙動がわかるから。

でも、VBの文字列は外に出すときは難しい。
APIにUINCODEで渡すとかってなると、OLEとかの基本からになるからね。
404402:03/09/16 13:12
>>403
Private Sub Form_Load()
Text1.Text = "abc"
End Sub

Private Sub Command1_Click()
Text2.Text = StrConv(Text1.Text, vbFromUnicode)
End Sub

abcが?cbに文字化けするようだ?
>>404
ちがうちがう、その結果をLENBにかけるのよ。
LENとLENBにかけてみて違いをみると、コードがどうなっているかわかるから。
406404:03/09/16 13:26
>>405
Private Sub Form_Load()
Text1.Text = "abc"
End Sub

Private Sub Command1_Click()
Text2.Text = StrConv(Text1.Text, vbFromUnicode) '= ?cb
Text3.Text = Len(StrConv(Text1.Text, vbFromUnicode)) '= 1
Text4.Text = LenB(StrConv(Text1.Text, vbFromUnicode)) '= 3
End Sub
人間にとってはのぞましくない結果といったところだな。vbFromUnicodeを使う人はいなくなるかもしれない。
私の説明もよくないや、
LENについては今回関係ないからとりあえず外しといて。

(補足)
ほんとはShiftJISで変換した文字列はBYTE配列でうけるべき
文字列型はUNICODEで文字を持つのが仕様だから、それ以外のコードでもつと、
各関数の動作でおかしい部分が出てくるのは当然。


で、変換しないLENBは6、変換したのは3になってるわけですよね。
それがそのまま最初の問題点の解なんだけど。

408406:03/09/16 13:41
>>407
うーむわかった。
VBの関数を使うときは引数がUnicodeでないといけないということだな。
Len(Unicodeの文字列)
InStr(Unicode)
Mid(Unicode)
409supermathmania ◆ViEu89Okng :03/09/16 13:52
VBScriptの変数の内部処理形式を14(10進型)にすることは可能ですか?
内部処理形式14の変数の採りうる値の範囲についても教えてください。
内部処理形式は0,1,2,3,4,5,6,7,8,9,10,11,13,14,17,8192,
8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8209
以外にもありますか?
>>409
名古屋のビルが爆発したぞ
レスのたびに名前のレス番が更新されてくのはどうかと思った
Command1_Clickで、Windowsのバージョンをダイアログに表示するのを
作っているのですが、Windows95からはじめ、最新のWindows Server 2003をも
判別させたいのですが、どのようにして作ればよろしいのでしょうか。
PLATFORM MOJAR MINOR BUILD で判定しているのはわかるのですが、
細かいバージョンがわかってないので、判定がわかりません。
よろしくお願いします。
>>412
へろぱさんトコにあったろ。
http://plaza5.mbn.or.jp/~heropa/
>>412
極論からすると、Windowsは外部アプリにバージョンを正しく伝えられるほど良くは設計されていない
自分のパソコンのどのポートが未使用なのかを調べるにはどのようなプログラムを書きますか?
416Q:03/09/17 00:18
S0=cstr(formatdatetime(cstr(now),"yyyy/mm/dd hh:mm:ss"))

2003/9/17 0:17:12
などを常に
2003/09/17 00:17:12
という文字列で扱いたかったが上のプログラムではだめだった。
Format$(CStr(Now), "yyyy/mm/dd hh:mm:ss")

(´・_・`)
>>416
s0=format(now,"yyyy/mm/dd hh:mm:ss")
でダメかい?
っていうか、型がめちゃくちゃなんだがw
ヘルプぐらい見ようよ。
419Q:03/09/17 00:44
>>417-418
どーも。
いろいろと知ってすぎたから簡単なことを難しくしてしまってたようだ。
420デフォルトの名無しさん:03/09/17 00:48
晒しage
>>416
ネタかと思うような・・・。w
正しくないことを一杯しってそうな。w

まあ、それはおいといて、これってどういう順序で変換されるか単純に興味がわいたので。

S0=cstr(formatdatetime(cstr(now),"yyyy/mm/dd hh:mm:ss"))

now -> cstr で文字列化
formatdatetime の引数は日付式だから上の結果をDATE形変換
その結果の文字列をCSTRしてると。

最初からすると、DATE -> String -> Date -> String -> String かな。w

422デフォルトの名無しさん:03/09/17 10:18
>415

俺が思いつくのは使用しているポートを調べる。
DOS?のnetstatを使う
>>418
あなたも間違えていますよ。
正しくは、
s0=format(now,"yyyy\/mm\/dd hh\:mm\:ss")
です。
>>423
まず、VBって¥がエスケープ文字だっけ?
あと、文字列内って”以外は別に不要じゃなかった?
425デフォルトの名無しさん:03/09/17 10:45
ユーザーコントロールについて
デザイン時と実行時に違う表示をさせたい
やり方教えて
>>425
Initializeに書いたりメゾット作ったり
427425:03/09/17 11:04
>>426
スマソ

Ambient.UserMode ってので判定できるようでつね
失礼しますた
428423:03/09/17 11:34
>>424
VBの言語仕様ではなく、Format関数の仕様によるものです。
:/はFormat関数の書式指定文字ですので、この場合\によるエスケープが必要となります。

>>428
\のことは今ヘルプ確認したらその通りでした。
ついでに : / も確認したけど、これに対しては不要だろ?
書式指定文字列としての役割がそれぞれ時間の区切り、日付の区切りなんだから。
そういう用途ではなく純粋に文字としてというなら、よっぽど細かいか屁理屈に思える。
430supermathmania ◆ViEu89Okng :03/09/17 12:52
(再掲)VBScriptで変数の内部処理形式を14にするにはどうすればいいのですか?
>>430
14ってなによ、それをきちんとしてくれ。それまで調べないといけないの?
変数の型変換ならCxx関数だけど。
つうか、ここでみたけど14ってないぞ。
http://tryasp.winscom.co.jp/document/vbscript/217.htm
>>429
:/ はコントロールパネルでの設定に従って他の文字に置換されますが、
それを踏まえた上での「よっぽど細かいか屁理屈に思える」でしょうか?
>>433
元の問題が、文字列として”/”を出したいか、日付っぽい文字=使ってる人が認識してる表記
を出したいかによって、そこの回答がことなるでしょ?

だから、元が曖昧な限りはどちらも正解ではないし、どっちも正解だとなってしまう。

それを>>418を間違いと断じて>>423が正しいというのは、如何なものかと。
初めてカキコします。

VBでExcelシートのデータを取得しようとしています。
今まではADOをつかってデータを取得しましたが、ほかにデータを取得する方法はあるでしょうか。

ADOより簡単な方法があればいいのですが...

ど素人の質問ですがよろしくお願いします。
436!=433:03/09/17 17:00
>>434
それは苦しいぞw
まあでも、>>423も「正しくは」とは言わずに「厳密には」と言えば
こう反発は食らわなかったかな。
>>435
OLE
.DAOを使って読む。→ADOとそんなに変わらん。
ExcelObjectを使って読む。→書式や罫線も触れる。ただし激重
439435:03/09/17 17:09
>>437さん
>>438さん

レスありがとうございます。

>>436
まあ、私も書きながら、バグ報告並の論理のすり替えだなと思ってたけど。w
>>433さん、まあそういうことです。
>>435
ツール買っていいなら、Excelなしで読めるコントロールがあるからそれを買う。
安定性、スピードなどはつかったことないからしらん。
VBマガジンとか日経ソフトウェアには広告あると思う。
442433:03/09/17 17:59
>>436
なるほど。もう少し気を付けて書くべきでした。
443デフォルトの名無しさん:03/09/17 22:13
VB初心者です。
テキストボックスからDBにデータを複数登録するとき、
値が大きすぎるというエラーが出ます
MaxLengthで指定してもうまくいきません
どうすればいいんでしょうか?
ちなみにデータ型はvarchar(10)です
444415:03/09/17 23:21
>>422さんありがとうございます。
445Q:03/09/17 23:26
>>421-442
メモ帳でVBScriptを書いてたときの質問だったけど、
VBScriptにはFormat関数がなかったので結局、
Mid関数やInStr関数を駆使して自作することにした。

2003/9/17 3:23:45

自作プログラムを通過

2003/09/17 03:23:45
参.VBScript もこのスレでOK。
>443
メッセージの通り10byte以上の文字列をいれようとしているだけじゃないの?
つかDBMSも、どういう手段でその処理をしているのかも提示せんでまともに
答えられると思うのか?
>>447
まあ、初心者と書いてる段階で2chではつり、PCDNとかだと袋叩きですが。w

初心者ってのは免罪符になりません。
まじめに回答を得たいのならば、きちんと状況説明を行ってください。
これは言語スキルには関係ないし、経験には依存するけど本人なりの努力はしてくれ。

で、多分MaxLengthの仕様に引っかかってるのかな?

上のほうで少しUNICODEで議論したときに何かわすれてると思ったらこのプロパティの仕様だ。w

この値、文字数ではなくANSIでのバイト数のはずです。
だから、全角など入れたときにここだけ変な挙動をしたと思います。

文字長チェックをするのは、KeyPressかなんかでやるお約束的コードがあると思います。
ぐぐって下さい。
449デフォルトの名無しさん:03/09/18 11:40
DataReportで用紙サイズの設定は、
プレビュー表示前やPrintReportする前に出来るのでしょうか?
A4横サイズの物を印刷したいのですが…よろしくお願いします。
450デフォルトの名無しさん:03/09/18 14:30
VB用帳票ツール、ActiveReportsについての質問です。

1ページ目を印刷することはできるのですが、2ページ・3ページ・・・と
改ページしていく方法がわかりません。どうしたら良いのでしょうか?
よろしくお願いいたします。
>>450
その辺はヘルプとサンプルが普通にあるからそっちを見たほうがいいと思う。

そもそも、レポートの作りかたによって、改ページ制御に仕方が違うはず。
(アンバウンドかどうか)
452supermathmania ◆ViEu89Okng :03/09/18 15:35
(再掲)VBScriptの変数の内部処理形式を14(vbDecimal)にする方法はあるのですか?
>>452
CDec ?
MSDN見た?何回もここで再掲するならグーぐるとかMSDN見るとかすれば?
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vblr7/html/vaGrpTypeConversion.asp
ぐぐったらいろいろでるじゃんよー。
http://www.geocities.co.jp/SiliconValley/4334/unibon/asp/decimal.html

これらを調べた上で、どういうところがわからんのかと子一時間。
455デフォルトの名無しさん:03/09/19 09:46
どなたか教えてください。
現在ある画面でボタン2個つけてあります。
そのボタン1の方でちょっと時間のかかる処理をしていると
処理中なのにボタン2を押せてしまいます。
マウスポインターを砂型にするだけじゃ駄目なのでしょうか・・・
押せなくする方法がありましたら教えてくださいませ
Button1.Enabled = False
457デフォルトの名無しさん:03/09/19 10:20
VB上でFlashのデータを再生するにはどうしたら良いでしょうか。
よろしくお願いいたします。
458387:03/09/19 10:36
>>395
お返事遅くなって申し訳ない

>だけど、VB6でもWinXPとOfficeXPは注意というか、保障なしだったよね。
あらま、ホント? ソースきぼんぬ。

>おまけのクリスタルレポートはなくなって、グレープシティーの印刷のおまけ版になったよね。
Printオブジェクトっす。だからソースはかなり大きいけど、コンバートのとおりはいいです(^^)
>>457
VB6.0で、コンポーネント→Microsoft Internet Controls、を追加すると
ツールボックスにWebBrowserコントロールが追加されているので、
それをFormに貼り付けて、WebBrowserのNavigate2メソッドなどでFlashファイルを読み込む。
>>458
> >だけど、VB6でもWinXPとOfficeXPは注意というか、保障なしだったよね。
> あらま、ホント? ソースきぼんぬ。

うろ覚えと独断部分があるんだけど、基本的に後から出たものに対して、
MSは動作検証はしてOKは出すけど、動作保障はしないはず。
なので、VB6のパッケージに記載されているはずのないXPは保障外。

あと、たとえMSが保障しても動かないものは動かないのでその辺は考慮しておく。
まあ、この部分はXPとかじゃなく全てにいえることなんだけど。
461デフォルトの名無しさん:03/09/19 12:44
VB6の「Toolbar ActiveX Control - Version 6.0」で、ボタンの幅を変更する
にはどうすればよいですか?
プロパティページで変更しようとしてもできないんです。入力したら、元の値
に戻ってしまう……
462デフォルトの名無しさん:03/09/19 13:08
VB6.0を使用しています。MSFlexGridでチェックボックスやプルダウン
は使えますでしょうか?
463461:03/09/19 13:14
自己解決してしまいました。
どうも「Microsoft Windows Common Controls-3 6.0(SP5)」を使ってたのが悪
かったみたいなのですが、違うかも…
464デフォルトの名無しさん:03/09/19 13:40
>457

flashのactivxを使う手もある
465457 :03/09/19 14:58
>>457です
>>459さん >>464さん、ありがとうございます。

実際には459さんのやり方でできました。
が、音声が鳴りません。単純にスピーカがいかれているわけではないです。
なぜでしょうか?
466supermathmania ◆ViEu89Okng :03/09/19 15:00
Cdecを見落としていたとは。
一定時間おきにマウスカーソルの位置を記録するソフトを作りたいんですが、
timeSetEventとGetCursorPosを使ってます。

100msごとにGetCursorPosを呼び出しているんですが、困ったことに。
デザイン環境からは普通に動くが、.exeから単独で走らせるとクラッシュ。
なにか、いけないことやっているんでしょうか。

Timerオブジェを使ってとりあえず動作させてますが、データの取りこぼしが
ひどくて…。
> なにか、いけないことやっているんでしょうか。
やってるんじゃないの?
ん〜聞き方悪いですか。
timeSetEventでGetCursorPosを呼び出すだけなら可能?
可能だ…
まあ自分で解決してみます。
471デフォルトの名無しさん:03/09/19 21:48
>>467
timeSetEventとか使うなら、VBでやらないほうがよいと思う。

コールバック関数の部分が多分まずいんだろうけど。
EXEの最適化を無くしてみるとか。
472デフォルトの名無しさん:03/09/19 23:14
FTPとローカルのミラーリングってどうやって作るの?

FTPのタイムスタンプを保持しようと思ったら、
やっぱ、ダウンロードしたあとにタイムスタンプを
変更する処理が必要なのかな?

差分コピーしようと思ってるけど、
むずかしい・・・
>>472
FTPソフトがどんな動作してるか考えれば・・・
>>471

ありがとう。timeSetEventには色々と制限があることを
学習した。基本的に駄目らしい。

今更c++とかやってられないので、9X系OSだと精度が
落ちると噂のSetTimer()で組んでみたらいけた。
XPならこれでもお仕着せのタイマーよりはるかに高性能
でデータ取りこぼしなしなので自分的にOK。
475デフォルトの名無しさん:03/09/20 00:53
VBでbitbltを使ってマスク処理をすることはできたのですが、
消して、元の背景を表示するにはどうすればいいのでしょうか?
Timeは
13:34:55のように秒までもとまるけど、さらに秒より下の位の時間を表示させるには?
13:34:55:33
477デフォルトの名無しさん:03/09/20 02:53
フォルダの作成日を変更するには
どうしたら良いんでしょう・・・
教えてください。
>>475
RPGでも作ってると仮定して・・・。
元の背景で塗りつぶせ。
>>475
元の情報を取っておく。
Undo実装なら、そのステップ毎をとっておく。

>>476
そもそも、VBのDATE型の精度ってどこまであったっけ?(手元に資料無し)
なければAPI呼び出しで取っていた数値を自作で文字列化するとか。
480476:03/09/20 10:55
>>479
1秒間はセシウム原子の電磁波のすすむ具合から定義されてるんだけど、
1秒よりももっと何億分の1の細かい時間さえも数字として表示できるわけなんだけど、
世界標準時間を公開しているWebサイトまでアクセスするプログラムじゃないと実現できないってことか。
それともAPIなら秒より下の時間も取得できるのだろうか?
>>480
上3行正直なにいってるんだかわかんないから無視。
なにを実現していんだ?って。

APIなら下はとれるけど、それは当然そのPCから取得するので、その中での正しさ。
そもそも、上3行の精度の時計が欲しいなら、Windows上でやるのが間違い。
ハードで実現しろと。
受信したメールから添付ファイルを取り出す方法を教えて下さい。
OUTLOOKのVBAは使わない方法が知りたいです。
宜しくお願いします。
483476:03/09/20 12:04
>>481
13:34:55:33
みたいに秒の1つ下のケタまでクライアントのシステムの時間を取れれば十分だから
そのAPIとやらをつかったコードを書いてみてくれんか?
484481:03/09/20 12:25
>>483
私はやだ。
2chでないコミュニティーだったら袋叩きだぞ。
まず、自分で調べてやって見て、その上で再質問が基本。
APIとやらと言ってる時点でそのプログラム完成しないから止めたほうがいいよ。

で、そもそもVBのDATEでミリ秒もってないの?
自宅だし、別にやるきもないしでMSDNしらべるきもないからあれだけど。
485476:03/09/20 12:33
>>484
せっかくあなたのヒノキ舞台を用意してあげたのに、みんなにすごいと言われる気がないならコード書かなくていいよ
あ〜〜〜あ、書いちゃったね。
ほっとけば、これぐらいの質問だったら、親切が人が現れるだろうに...。

まあ、自分で調べるこったな。
487481:03/09/20 12:53
>>485
せっかくあなたに教育の機会を与えたのに。
あまり恥を晒さないほうがいいですよ。

2chといえど、なるべく普通にしようというのがスタンスなんで、
いちいち他人のコードなどタダで書けるか。ということで。
一応、484にも情報の調べ方を少しは書いたんだからそれをキーにして調べて見れば?
MSDNは行っといた方がいいよ。
488476:03/09/20 12:58
>>486
このスレでは、荒らしとまちがえられるぐらいしつこく質問しないと解答が来ない。
>>487
猫かぶっちゃってまあ。このむっつりスケベ
Timerプロパティで0.00秒の単位まで取得できるやん
490481:03/09/20 13:14
>>489
それは甘い。
Timerイベントは、その秒数経過”後”にイベントが1回発生するのを保証するだけです。
WM_TIMERが1ミリ秒後にメッセージキューに入るだけ。
それを処理できるかはOSに依存します。
なので、1ミリ秒を計測には使えません。
>>490 だれもTimerイベントの話などしていない。
>>489
スレタイぐらい読んでから書けよ。
493デフォルトの名無しさん:03/09/21 01:19
メニューエディタで作ったメニューの色が変えれないです。
APIつかうんですか? フォームの色と同じにしたいだけなのに。
どうしてVB厨は独自のキモイ配色を好むのですか?
Outlook等でメールを送信するのを監視する方法はありますか?
WindowsXPPro VB6のSP5です。
>>495
COMでOutlookオブジェクトでも作ればイベント発生するんじゃない?
497 :03/09/21 09:56
いや、等がはいってるからプロトコル監視しか無いと思う。
>>497
raw socketなお話になって参りましたと。
499デフォルトの名無しさん:03/09/21 12:40
すいません。教えて下さい。
FTPサーバーのファイルの存在チェックをしたいのです。
ただ、ファイルは0バイトのものもあるそうです。
Dirが使えそうなのですが、その後どうしたらいいのでしょうか?
500 :03/09/21 12:47
>>499
何で実現したいかによるけど。
取ってきてエラーかどうかじゃだめなの?

VBのFTPコントロールって使わないから、いつもBATファイルをShellで読んでやってる。
501デフォルトの名無しさん:03/09/21 13:24
一応Inetを使うつもりでいます。
502 :03/09/21 13:25
>>501
じゃー若干すれ違い。
VB.NET質問スレがあるからそちらへどうぞ。
503デフォルトの名無しさん:03/09/21 13:57
2次元配列への代入の仕方なのですがC言語のように
int syoki_1[9][9]={
{26, 0, 0, 4,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0},
{ 0, 0, 2, 0,0,0, 0,0,0},
{ 0, 7, 0, 0,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0},
{ 0, 0, 0, 0,0,0, 0,0,0}
一気に代入する方法はあるのでしょうか?
>>502
別にスレ違いじゃないと思うけど? なぜにVB.NET?

>>503
Array()
505 :03/09/21 14:02
>>504
すまんかった、INETか、勝手にnetみたら脳内変換かかっていた。
MS脳だ、鬱だ。

Inetをつかったことがないのでわからないけど、無い場合にgetして例外をはかないの?
それとも、相手のファイルが大きいからためし落としを嫌ってます?
506503:03/09/21 14:29
早速のお返事ありがとうございます。
Dim syoki_1(1 To 9, 1 To 9) As Integer
syoki_1 = Array(Array(26, 0, 0, 4, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 2, 0, 0, 0, 0, 0, 0), _
Array(0, 7, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0), _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0))
としたのですが、『プロシージャの外では無効です』
というコンパイルエラーが出るのですが、どこかおかしいでしょうか?
>>506
syoki_1 = Array(Array(26, 0, 0, 4, 0, 0, 0, 0, 0) & _
Array(0, 0, 0, 0, 0, 0, 0, 0, 0) & _
Array(0, 0, 2, 0, 0, 0, 0, 0, 0) & _
・・・

508499:03/09/21 20:46
>>505
本番環境も、テスト環境もない素敵な職場なのですよ。
納品する時に環境つくるとかほざいてます。
509509:03/09/22 01:39
VBで他のプログラムのウインドウサイズを変更するプログラム
を作っているのですが、ウインドウのサイズを変更するのは無理でしょうか?
ご教授いただけますでしょうか。

現在の完成度はこうです。
他ウインドウの最大化と最小化は出来ました。

Private Sub Timer1_Timer()
Dim y As Integer
Dim r As Long
Dim hwin As Long
Dim nCmd As Long

y = GetAsyncKeyState(121)
If y <> 0 Then
hwin = FindWindow(vbNullString, "プログラム名")
If hwin = 0 Then
r = MsgBox("ウィンドウが存在しません", vbExclamation + vbOKOnly)
End If

r = IsIconic(hwin)
If r = 0 Then
nCmd = SW_SHOWMINIMIZED
Else
nCmd = SW_SHOWMAXIMIZED
End If
r = ShowWindow(hwin, nCmd)
End If
End Sub
510509:03/09/22 01:42
追記:
上のコードでは、
GetAsyncKeyState関数
FindWindow関数
ShowWindow関数
IsIconic関数
を使っています。
>>509
MoveWindow APIでいいんでない?
512509:03/09/22 02:41
>511
疑問に思っているのは、
MoveWindowで他のプログラムのウインドウサイズを変更する場合は、
他のプログラムはどう指定すれば良いのか、といった点なんですよね。
どういう記述にすればよいのでしょうか?
>>512
えっ?hwndでいいんじゃない?
そういうことじゃなくて?
514509:03/09/22 03:12
>513
Ret = MoveWindow(Form1.hWnd, 200, 200, 640, 480, 1)
こういう記述になるじゃないですか?
これのForm1の部分を、サイズを変えたい別プログラム
(例えばこのプログラムとは別にペイントを開いているとしたら、
そのペイントのウインドウサイズ)
を変更するにはForm1の部分をなんと記述すればよいのか、という事です。
検索してるけど分からない・・・・゚・(ノД`)・゚・
515509:03/09/22 03:14
'バッファを確保
Name = String(250, Chr(0))
Leng = Len(Name)
'アクティブウインドウのハンドル取得
rtn = GetActiveWindow()
'アクティブウインドウのウインドウ名取得
rtn2 = GetWindowText(rtn, Name, Leng)

Ret = MoveWindow(rtn.hWnd, 200, 200, 640, 480, 1)

オブジェクトが無い言われる罠
516509:03/09/22 03:16
私が何をしたいか、っていうのが明確じゃない?
えっとですね、フルスクリーンのみでしか起動しないソフトあるじゃないですか?
あれのサイズを変更してウインドウでも起動できるようにしたいな、と思って今作ってます。
FindWindowでウィンドウハンドルを取得してるんだから
hwin = FindWindow(vbNullString, "プログラム名")
MoveWindow(hwin,200, 200, 640, 480, 1)
でいいんじゃない?
ようはウインドウハンドルが何を指しているのか
理解しているかどうかが問題な気がするけど
>>515
rtn = GetActiveWindow()
のrtnはウィンドウハンドルだよね
んじゃ
Ret = MoveWindow(rtn.hWnd, 200, 200, 640, 480, 1)

Ret = MoveWindow(rtn, 200, 200, 640, 480, 1)
でしょう
519509:03/09/22 03:46
>517,518
なるほど、ハンドルはそういう意味でしたか。
どうもありがとう、おかげで分かったよ。
んでね、今やってみたんだけど、
ちゃんと動いてるみたいなんだけど、
フルスクリーンのプログラムはウインドウにならず、そのまま・・・。
なんでできないんだろ?
コードは
Ret = MoveWindow(rtn.hWnd, 200, 200, 640, 480, 1)

Ret = MoveWindow(rtn, 200, 200, 640, 480, 1)
にしただけです。
>>519
それはゲームとかDirectX使ってたりしない?
それならたぶん無理だと思うけど。詳しくはないけど。
それか、ノーマルウィンドウに変更してから
MoveWindowするとか・・・
とりあえず、やったことないからわかんないな
521509:03/09/22 03:54
>520
某MMORPGです。
DirectX使っていると思います・・・。
まぁ、個人的にROみたいにゲームしながらほかの事、
ってのがやりたかっただけなので、
VBで無理だったらおそらく私には無理でしょうってことであきらめます^^;
でも、良い勉強になりましたよ。
2chも結構役にたつ板とかあって、
そういうところって良いですよね^^
色々教えてくれた人ありがと〜
DirectX使ってるゲームならDirectX用のAPIで
制御しないといけないんだと思う。
VBでもできなくはないと思うけど。
昼間なら詳しいひともいるかもね。んじゃ!
523509:03/09/22 03:59
>522
それじゃぁまたちょくちょくここ覗いてみます。
今日はもう寝ます〜。
おやすみぃ〜^^
DirectXのフルスクリーンモードとウインドウモードのコードは
違う(メニューがないだけじゃなく)のでフルスクリーンを
必ずウインドウモードにできるとは限りません。

ゲームが対応していないとウインドウモードにできないし、
ウインドウモードにする方法はゲームにより違う。
ALT+ENTERを送れば大抵ウインドウモードに出来ると思うけど、
話からするとウインドウモードに出来ない奴をやろうとしているみたいだね。

DirectX絡みのAPIをフックしていろいろと大変なことやれば
出来るのかもしれないけど、
大抵はVMWare(PCエミュレータ)を使えって話になる。
525509:03/09/22 13:51
なるほど…エミュレータという手がありましたか。 VBスレだしVBで答えてくれる神きぼん! まぁ無理だったりめちゃくちゃ難解なコードになるなら あきらめろってことだろうけど
526509:03/09/22 13:51
なるほど…エミュレータという手がありましたか。 VBスレだしVBで答えてくれる神きぼん! まぁ無理だったりめちゃくちゃ難解なコードになるなら あきらめろってことだろうけど
>>524
VMWareってDirectXまでエミュレートしてくれるの?
VirtualPCのほうは、一応エラー出さずに動くけど
表示には反映されないっぽい。

>>525
遠まわしにムリだと言われてるようなもんだぞw
特に
>VBスレだしVBで答えてくれる神きぼん!
と言ってるレベルでは恐らくむりぽ。
528527:03/09/22 14:30
追記。諦められないなら、DirectX SDKのサンプルで
WindowとFullScreenを切り替えてるやつ(ほとんどがそう)を
見てみるといい。多分諦められる。
ソートのためだけにデータベースをつかってるのはオレです。

あ お
い え
う→う
え い
お あ

Order By 〜 Desc
VBだからこんなことになってしまうんだ
どんなことだ
>>531 厨は放置
ファイルを開くダイアログでファイルパスを取得するときに
ファイルパス内にハングルが入ってると正しくファイルパス
が取得できないんですが

ハングルの部分が?に置き換わってしまってるようなんです
これはどうにかならないものか

環境変えたりハングルの部分を変えるしかないのかなとおもってたんですが
メモ帳やワードパッドだと開けるのでなにか方法あるんですかね?
534 :03/09/22 22:11
>>533
OSは何語版?

VBの場合は内部はUNICODEなんで認識はすると思うんだけど、
CommonDialogが日本語対応してるんかな?

もしあれだったらVBの顧問ダイアログじゃなくて、APIからダイアログを呼び出して見れば?
>>534
早速レスありがとございます
VB6.0
OSはXPで日本語です
元々ファイルを複数選択にするためにAPIでダイアログを作成してて
CommonDialogでもためしてみたんですがだめでした

>>535
VBにも限界があったということだね。
諦めるのが良いよ。
537 :03/09/22 22:44
>>535
そもそもで、とうぜんハングル語フォントは入ってるんですよね。
あと、Dir関数の結果とか、FileSystemObjectとかの結果ってどうですかね。
それによっては自作ダイアログで逃げるしか。

あとAPIってSH系の中にダイアログ出せるのってなかったっけ?
>>536
VBの限界ですか
この際、違う言語で挑戦してみます
レスありがとうございました。
>>537
ハングルフォントは入ってます
CurDirをdebug.printで見ても?に置き換わってます
FileSystemObjectってのはためしてないです

>あとAPIってSH系の中にダイアログ出せるのってなかったっけ?
探してみます
Winampのプレイリストウィンドウのようにウィンドウ同士をくっつけることってできますか?
VB6を使用しています。
>>540 Part21の297以降あたり読んでみて
>>536
つか、コモンダイアログの限界だろう。
543533:03/09/23 15:46
VBのMsgBox関数やイミディエイト ウィンドウは
UNICODE対応してないそうなので
ttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200306/03060029.txt

debug.printじゃ意味なかったのでここで言うように
WebBrowserコントロールを使ってみたんですが
結果は同じく?に置き換わってました。
ChrW(&HCEE4)とすると表示されてました

ということは変数に渡された時点で?に置き換わってる
ことになるんですよね
やっぱりVBじゃ無理なのかな
VBってマルチランゲージに対応してたっけ?
VB.NETは対応、VB5は対応してなかった。VB6は知らない。
545 :03/09/23 16:16
PCDN見て見れば、検索かけたけど韓国語で15件引っかかったよ。
あともしあそこで質問するなら、マナーは気を付けて。
533さんみたいな書き方なら十分だと思うけど。
546デフォルトの名無しさん:03/09/23 16:25
以前C言語で作ったプログラムがあるのですが、
ユーザーインターフェースをVBで作っています。
これらを合体させるには、
C言語をVBに書き直すしかないのでしょうか?
547 :03/09/23 16:31
>>546
Cのビジネスロジック部を上手く抜き出して、インターフェース整えてDLL化。
もとが綺麗ならこれでいいト思うけど、元が屑だったら全部作り直したほうがよいと思う。
いくつかのEXEに分ける手もあるね。
実際に動作する部分はC言語で作成したものを流用し、
設定や起動をVBで作ったGUIでおこなうような感じ。
549546:03/09/23 18:08
>>547-548
うっ、話についていけません(泣)
>>547
>Cのビジネスロジック部を上手く抜き出して、インターフェース整えてDLL化。
>>548
>設定や起動をVBで作ったGUIでおこなうような

について何を勉強したらいいでしょうか?よい参考書、サイトなどあれば教えて下さい。
550 :03/09/23 18:20
>>549
まず、Cの普通の知識(読み書き程度)とVBの基本。
DLLはMSDNとかにヘルプに簡単な作り方はある。(要VC)

基本的にはCの関数の呼び出し部を外に公開してVBから呼びだすだけ。
CとVB間の変数のマップはヘルプにある。

あとは上手くグーグルとか使って、入門まとまってるところを探して見てください。
551546,549:03/09/23 19:12
>>550
まず、Cの普通の知識(読み書き程度)とVBの基本。
>DLLはMSDNとかにヘルプに簡単な作り方はある。(要VC)
DLLは、一度作った事があるのでOKです。

>基本的にはCの関数の呼び出し部を外に公開してVBから呼びだすだけ。
>CとVB間の変数のマップはヘルプにある。
VBからDLLの利用方法もOKです。
となると、Cの関数呼び出し部を外に公開…
今のところ、すべて構造体をかなり使っているので
クラスに書き換える必要がありますでしょうか?

>あとは上手くグーグルとか使って、入門まとまってるところを探して見てください
かなり探しているのですが、「CとVBの合体」を専門用語でどんな単語を検索したらよいのかがわからず
結局検索にひっかかりませんでした。単語のヒントなどございませんでしょうか?
552 :03/09/23 19:22
>>551
構造体をVB-Cで渡せないことはないけど、考慮が必要だったはず。
それもヘルプにある。
そこに労力を割くか、インターフェース関数を上手く作るかはものによる。

私は画面入力をそのまま渡すようなイメージで関数の引数をとってしまうけど。(構造体は使わない)
カプセル化をイメージして、Cの部分は全て覆い隠してしまうと。

検索キーはある意味自分の勉強にもなるんだけどね。
DLL VB C 関数だと一杯だろうから、あと入門、自作、呼び出しあたりかな?
それらのキーで絞ったところをみて、更にそこの用語で絞るとか。
553546,549,552:03/09/23 20:38
>構造体をVB-Cで渡せないことはないけど、考慮が必要だったはず。
検索した結果、まさにサイトにそのまま載っていました。
http://www.angel.ne.jp/~mike/vb_dll/index.html

>そこに労力を割くか、インターフェース関数を上手く作るかはものによる。
インターフェース関数というのは、DLLから公開している関数という意味でいいんでしょうか?
すいません、構造体とインターフェース関数の違いがいまいちわかりません。
554 :03/09/23 21:05
>>553
C側のつくりによるけど、VBが渡せないような型の場合に、一度受けるための関数
不要なパラメータとか、渡しにくい部分とかをベタにつくっちゃうけどね。

話は若干逸れるけど、文字列の参照渡しの方法はあります。
もし必要ならBSTR型を調べてください。はまりますけど。w


555デフォルトの名無しさん:03/09/23 21:06
質問だけどVB5.0のソースって.NETで使えるかい?
古い本に付いてたソースプログラムを書きたいんだが
>>555
.netは別物。
>>555
ActiveXにして再利用してください。
処理の内容を把握してれば書き換えはかえっていい練習
になる。
559デフォルトの名無しさん:03/09/23 22:58
if 2003/09/23 06:20:30 > 2003/09/23 22/35/10 then

ってな風に、時間で条件式ってかけますか?
>>559
その書き方ではだめです。
>>559
DATE型の比較なら大きい方が未来です。
文字型の比較でも大きい方が未来・・ってVBはできたっけ?
まあ、差を取るとかあるかもしれないからDATE型にして比較しとけ、
562デフォルトの名無しさん:03/09/23 23:18
質問です。
タイピングソフトのフリーソフトをダウンロードしたんですが、
このソフトのプログラムを見る事は出来るんですか?
出来るんならやり方を教えて下さい。
VBで開発してるみたいなんですが。どうでしょう?
>>562
あなたには無理
>>563
お前にモナ。
565デフォルトの名無しさん:03/09/23 23:35
プログラムをみたいだけなんですが。それも無理?
VBのコードをリバースすることは無理。
リバースエンジニアリングとかで検索してみれば。
>>565
基本的には無理。アセンブラやマシン語をそのまま読むことはかろうじて可能。
568デフォルトの名無しさん:03/09/23 23:47
そーなんですか。サンクスです。
独自のタイピングソフトを作ってみたいとおもっとるんですが
何かよい方法はありますか?
>>568
Googleで検索する
570デフォルトの名無しさん:03/09/23 23:51
それもやってみたんだけど上手くいかなくて。
でもそれしかないなら頑張るしかないな〜。
571デフォルトの名無しさん:03/09/23 23:54
何か良いサイトか良い本があれば教えて下さい。
>>566
VBなP-codeに対応した逆アセンブラなんてあるの?
>>571
何の処理をする必要があるか一つ一つ分析して一から作れ。
>>572
P-CODEと決まったわけじゃないと思うが。
質問します。
ショートカットファイルをVBから起動させることは、
できないでしょうか?shell関数でやってみたけどだめでした。
拡張子を.lnkにしてもだめでした。知っている方いましたら、
ヒントだけでも教えてください。shellで実行できるぞボケ!!ってときは
思いっきり叩いてください・・・
できるぞヴォケ
577デフォルトの名無しさん:03/09/24 18:36
>>576
出来ねーよ馬鹿
ショートカットファイルからリンク先を取得

shellで実行

でいけると思う。
579575:03/09/24 18:45
shell関数はどの本みてもexeファイルを起動すると
書いてありショートカットは.lnkなので駄目かと思いつつ
ショートカットもある意味実行ファイルじゃないか?と思ってみたものの
やはり駄目でした。
>>577
やはり駄目なんですか・・・

ウインドウズの自動実行のフォルダにショートカットを入れておくと
起動するところから、ウインドウズはショートカットを叩いてると思うわけですが、
VBからはたして同じことが可能なのか・・・
わかる方いたら教えてください。
>>578
で、肝心のショートカットファイルからリンク先を取得するにはどうすればいいの?
まさか知らないで適当なこと言ったわけじゃないよなあ。
>>572
それはVBでできるだろ
582575:03/09/24 18:47
書いてる間に、レスついてました。
>>578
ありがとうございました。その方法試そうとおもいます。
さすがVB房は違うな
VC房の俺に言わせれば
ShellExecuteEx()
を使え
585575:03/09/24 18:52
よく考えたら結局リンク先はEXEファイルにたどりつくんですよね?
それだとまずいと思うことがあって・・・
私が他サイトで聞いた文を引用します。

Fortranにて作成されたアプリケーションをVBからShellで起動させてる
プログラムがあるのですが、そのアプリケーションがWin16アプリなんです。
今までのOSでは動作していたのが、XPにしたら動作するXPとうまく起動しないXPが
出てきてしまいました。原因はNTVDSのWowexec.exeが死んでくれたり死ななかったり
するためだと思われるんですが、そのFortranのEXEが膨大な記述量でコンパイラが、
昔のワットコムのコンパイラしかないため、Win32アプリに切り替えるの断念しました。
そこで、そのEXEのショートカットを作り、別メモリ領域で実行にする にしたら
うまく動くようになりました。しかし最終的にそのEXEをVBから呼ぶのに
Shell関数ではやはり、実行できませんでした。
どうにかしてショートカットファイルをVBから実行させたいのですが、
いい方法がありましたらご教授お願いします。

↑こんなこと可能でしょうか?
>>585
別プロセスで動かしたいのなら>>584が正解だろうな。
587575:03/09/24 18:59
>>584
手持ちのAPI Referenceを探したところ見つけました。
ありがとうございました。何とかいけそうです。
一応VC++も勉強していますが、そこまでAPIに詳しくもなく探し方も下手だったため
お騒がせしました。こんなに早くレスがつくと思いませんでした。
ありがとうございました。
580デフォルトの名無しさん[sage] 03/09/24 18:45 ID:
>>578
で、肝心のショートカットファイルからリンク先を取得するにはどうすればいいの?
まさか知らないで適当なこと言ったわけじゃないよなあ。
>>588
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/wslrffullnamepropertywshshortcutobject.asp
> FullName プロパティ (WshShortcut オブジェクト)
> ショートカット オブジェクトのリンク先への絶対パスを返します。

591デフォルトの名無しさん:03/09/24 23:26
BOCのiNetTransferを使って、FTPからファイルの
情報を取ったり、ダウンロードしたりするソフトを
作ってるのですが、
「10054:リモートホストが強制的に接続をクローズしました〜」とか
「予期しない一般的なエラー」とか
たまに出たり出なかったりするのです。
これって、どんなときに出るエラーですか?
592533:03/09/24 23:41
>>545
PCDN初めて知りました。
検索もいろいろかけてみたんですがなかったです
で、質問する前にためしてみたいことがひとつ浮かんだので
ためしてみました。

仮にファイルを開くダイアログからファイルパスを
ちゃんと取得し開けるのかと思ったので

fp="D:\aaa\" & ChrW(ハングル文字コード) & "\" & "ファイル名"

fpはWebBrowserコントロールではちゃんと表示され
FileSystemObjectでも開けたんですがバイナリで開きたいため

Open fp For Binary Access Read As #1

としたところエラーが出てしまいました。
ということでVB6.0の限界なようです
レス下さった方ありがとうございました
諦めがつきました
593デフォルトの名無しさん:03/09/25 00:10
すいません、教えて下さい。
VBでステータスファイルを判別しなければなりません。
このステータスファイルをマニュアルで調べると、
1バイト目が"00X0"ならエラーである、と書かれていました。
Dim i_file(10) As Byte
Open "c:\stats.txt" For Binary Access Read Lock Read Write As #1
Get #1, , i_file
とした後、メッセージボックスで1バイト目を
"00X0"という書式で表示したいのですがどうしたらよいのでしょうか?
>>593
本当に「00X0」なのかい?「0X00」じゃない?
もしそうなら「0x00」ってのはc言語系での16進数の表記方法だから
VBに直せば「&H00」ってことだよ。
595デフォルトの名無しさん:03/09/25 00:28
やっぱり00x0になってました・・・
Msgbox(i_file(1))ってやると、0みたいに整数一桁が表示されるのです。
&H00みたいに1バイト目を4桁表示させるにはどうしたらよいのでしょう・・・
>>595
 バイナリエディタで開いた場合は1バイト目には16進数で何が入ってる?
 right("00" & hex(i_file(0)),2) & "X0"
Byte型:0〜255の整数値
16進表記だと0x0〜0xFF
00X0などという表現は存在しない。
もしかして誤植・・・
はきだされたステータスファイルが今手元にないので調べられませんです。
家にいるので申し訳ないです。
>>596でOKですよね?これでやってみます。
お世話になりました。ありがとうございました。
599596:03/09/25 01:00
>>598
 多分これで動くと思います…。
 >>597で指摘されている様に本当なら後ろにx0がつく事はないと
 思うのですが…。(何かのローカルルール?)
 ヘキサにした場合、前ゼロは省略されるんで596の様にすれば
 表示上は、”00x0”になりますです。
フォーカスが他のウィンドウにあるとき、一定のタイミングでプログラムのタスク(っていうのかな)を点滅させることってできますか?
要は勝手に作業をさせておいて一定の条件で作業完了をお知らせする、みたいな…。
>>600
FlashWindow FlashWindowEx のことか?
602442:03/09/25 01:21
テキストボックスに2000行ほどログを排出させながらずらーっと見ながらできるプログラムなんですが
WINXP,2000だと極端に重くなります。
Win95,98ではさほど重くならないのですが対策はありますか?
(この形態のままで。)
すでに実行形式である場合OS側で軽量化するすべはありますか?

テキストぼっくにログを排出させまくるのはタブなようですが何とかならんですか?
603600:03/09/25 01:30
あぁ、こんなピッタリなAPIがあったんですね、情報サンクスです。
さっそくググりまくって使い方を覚えます。
あるダイアログ形式のアプリ (.exe) から、
別のアプリ(.exe) をシェルから起動し、
後者を前者のモーダルとして使用する
ような構成はVBでは可能でしょうか?

前者から、後者を起動する際に、パラメータ
渡しでハンドルを伝えるようにすれば・・・
と思ったのですが、親のハンドルを持ってて
も、自身で勝手にモーダルになることは
できないようで・・・・・挫折してしまいました。

先輩諸兄方々、すみませんが、何かヒントを
もらえないでしょうか?
605600:03/09/25 03:48
FlashWindowEXですが、使い方でちょっと詰まってしまいました。
今回の場合、Windowではなくタスクバーの方だけを点滅させたいので
dwFlags = FLASH_TRAY
にするのは分かったのですが、フォーカスがそのWindowにくるまで点滅をさせたい場合は
FLASH_TIMERNOFGを合わせて使うとありますが、その方法がいまいち…。
dwFlags = FLASH_TRAY + FLASH_TIMERNOFG
dwFlags = FLASH_TRAY & FLASH_TIMERNOFG
など試した見たのですが上手くいきません。
あと、FLASH_TIMERNOFGを使うとフォーカスが移るまで点滅すると思うのですが、これを使った場合は、uCountの値はどうすればいいのでしょうか?
>>604
APIだっけか、ウィンドウ位置を指定できる奴がいるはず。
それで、前者のウィンドウの表示を背面に押しやってしまえば?
607デフォルトの名無しさん:03/09/25 20:41
VBの6.0のことなんですがよろしいでしょうか?

簡単なソフトを作っているのですが、
EXEの作成でEXEファイルにすると、出来たEXEファイルのアイコンがVBのになりますが、
これを変更するとこは可能ですか?

自分でいろいろ弄ってたら、
プロジェクトプロパティの「実行可能ファイルの作成」をみつけて、
アプリケーションのアイコン(O):で変更できそうなんですが、
これで変更するんですか?
でも、Form1しかないんですが…
>>607
やってから言え。
>>607
Form1のアイコンかえてみれ。
>>608
いいこといった
611607:03/09/25 20:56
>>608-610
Form1しかないんです
ComboBoxで「▼」押したら
Form1しかなくって…

どうやってリストを増やせばいいのか さっぱりわかりません
>>611
だから、Form1のicon替えろって。
>>611
Form1のプロパティにIconってあるだろ?
そこを変えればいいんだよ。

たしか、リソースファイルを使って変える方法もあったと思うが。
614607:03/09/25 21:03
>>612-613
あぁ いま見つけました
なるほど!
ありがとうございます

さっきからずっと ↓この画面で悩んでました
http://bunch2.hp.infoseek.co.jp/cgi-bin/imgboard122r6/img-box/img20030925205847.gif
615デフォルトの名無しさん:03/09/25 23:49
VB6で作ったプログラムがXPで動かすとエラー送信しますか?
で落ちるんですけど
そんな情報どこかにありますかね?
>>615
多分、地球上のどっかにはあるよ。
もちっとプログラムの内容だとか、使用している機能だとかを絞り込めば
日本にもあるかもしれない。
617デフォルトの名無しさん:03/09/25 23:58
>>616
そっか、どもども。
VBでは、起動してファイルから画像を読み込ませる(LoadPictureなどで)のと、あらかじめプロパティのPictureに読み込ませておくのとで
プログラム中(たとえばゲームなど)の重さが変わってきたりしますか?
>618
やれば判るだけの話しではないか?
今現在のプログラムは初期段階なもので双方に差がないんです。
それで、将来的に色々な処理を組み込んだ際にはどちらが理想的なのかと思い質問させていただきました。
>>620
たくさん読ませたり、くり返したりすれば差が出るよ。
要は自分で試せということですね。了解しました。
>>620
起動時の問題であって実行中に関係するのか?
624デフォルトの名無しさん:03/09/26 09:53
↑なに?これ
そりゃメモリがexeのサイズに比べて十分あればそんなこといえるだろうが。
まったくVB厨ってのは・・・・
>>624
でも、2行目は君の無知をさらけ出してると思うけど。w
627デフォルトの名無しさん:03/09/26 11:53
つーかどっちも的外れじゃん・・・
アホとアホアンチの戦い(w
いくつものピクチャボックスを交互に表示させて
アニメーションさせるときはいちいちLoadPictureするとディスクアクセスが発生して
アニメーションが遅くなるとか、それぐらいのことは618はすでにわかっていたのだろうから
おれたちは何も心配することはない。
632デフォルトの名無しさん:03/09/26 13:23
>>625->>630
まぁつぎから次へと自分の考えもつるさずに知ったか君ばかりですね

633デフォルトの名無しさん:03/09/26 13:25
>>632
Del厨必死だな
>>624
いつのまにかいっぱい書き込んだことになってる625ですが。w
大体、EXEのサイズって表現はなんだよ。
EXEのファイルサイズか?実行時の必要メモリか?
普通前者をさすだろ?
それなのに相手を厨とかいってるんだから。
>632

もうそろそろ、アホアンチがお決まりのセリフを吐いて逃げていくと思われ。
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
↑ばーかwばーかwあーほーwあーほーw↑ばーかwばーかwあーほーwあーほーw
>>636=>>637
やれやれ・・・悲惨だな・・・
ツリービューコントロールの水平にスクロールできる幅を取得するには?
640デフォルトの名無しさん:03/09/26 19:45
http://memo.st.ryukoku.ac.jp/archive/200309.month/6508.html

Delphiにはとんでもないセキュリティホールが隠されていたそうです。
Del厨はこんなものをマンセーしていたのかよw
やはりネイティブコードは駆逐されるべきだな。
>>640
なんでこのスレに?
VBだってSP当てないとカスだろうが。
>>641
お前放置できないの?
643デフォルトの名無しさん:03/09/26 21:52
VB6.0 EXCEL2000
VB側からエクセルを操作しています。
 改ページ→1ページ目を2ページ目にコピー→改ページ→1ページ目を3ページ目にコピー→・・・・・
としているんですが、処理が終わった後にEXCELを開いて見てみると印刷範囲(改ページプレビュー)が
1ページ目だけになってしまいます。改ページコードのカウントは+1すると意図する数値が返ってきます。
上記はEXCELでテンプレートを作りそれを使用しているのですが、上記のようになる
BOOKとならないBOOKがあるんです。なにかミスがあるのでしょうか?

Dim XL As Excel.Application
Dim XlBook As Excel.Workbook
Dim XlSheet As Excel.Worksheet
Set XL = CreateObject("Excel.application")
Set XlBook = XL.Workbooks.Open(strTemplateFile)
Set XlSheet = XlBook.Worksheets("sample")
XL.DisplayAlerts = False
XlSheet.Activate
XL.ScreenUpdating = False
  With XlSheet
    .ResetAllPageBreaks  '現在の改ページクリア
    For MyBreakCount = 1 To 1   '2ページ作る場合
      .ResetAllPageBreaks '43行毎の場合
      XlSheet.HPageBreaks.Add XlSheet.Cells(MyBreakCount * 43 + 1, "A")
      .Rows("1:43").Select
      Selection.Copy
      CurRow = MyBreakCount * 43 + 1 & ":" & MyBreakCount * 43 + 1
      .Rows(CurRow).Select
      ActiveSheet.Paste
    Next
  End With
>>642
オマエモナー
>>624
>そりゃメモリがexeのサイズに比べて十分あればそんなこといえるだろうが。

あるだろ。仮想記憶も合わせれば数GBの大宇宙だ。
今時メモリ32MBのWindows95でも使ってるんなら素直に謝るが。
メモリ256MBのWindows XPだけど何か?
VB6&ADO2.7でmdbにOLEDBでつないでいます
TableDirectでSeekを使っているのですが
DBのとあるレコードにSeekするときに、失敗することがあります。
2度シークすると、目的のレコードに移動できるのですが、一度だけだと
1番最初のレコードが返ってきます。
DBは大きめで、失敗するレコードは固定のようですが、さまざまな箇所、さまざまなMDBファイルで起きます。
しかし、発生する確立はごく低いです。


この現象はなんでしょうか?探し方が下手なのかMSのサイトでも記述が見つかりませんでした。
XPと98マシンで発生しており、ほかの環境ではテストしていません。

VB特有のものなのかしら。それとも
Microsoft.Jet.OLEDB.4.0のバグでしょうかね?
>>646
「Windowsはなぜ動くのか。」の一読をお勧めする。
Windowsプログラマの常識が詰まっている。
649デフォルトの名無しさん:03/09/27 11:11
>>647
対処としてSeekしたあと、本当に目的のキーに移動できたかどうか確認して
違っていたら何度もリトライするようなラップ関数を用いてしのいでいます

こんな現象の経験ありますか?
うちだけの現象なのでしょうか?
>>649
取りあえずサービスパック出てないか見てみたら?
651デフォルトの名無しさん:03/09/27 11:26
PictureBoxに透過されたGIFを読み込もうとしています。
普通に読み込むと透過された部分はPictureBoxのBackColorになります。
そこを読み込むGIFの透過色にしたいと思っています。
(透過される前の状態に戻すような感じです)
「ペイント」では透過される前の色になっているのでVBでも可能かと思いましたが、分かりません。
GIFのデータを直接読み込んでいるのでしょうか?
よろしくお願いいたします。
>>651
VBだってGIFデータを直接(略
653651:03/09/27 11:40
>>652
確かにそうですけどw
バイナリか何かで別に読み込まないといけないのかと
何らかの入力画面で、例えば「Esc」を押したらどの入力項目にフォーカスしていても終了処理を
走らせるようにするにはどうすればよいのでしょうか?
>>654
formが先にイベントを受けるのはKeyPrevireプロパティだっけ?
ESCキーは特殊キーだからKeyDownで受ければいけたかな?
656デフォルトの名無しさん:03/09/27 16:25
>>650
MDAC2.8をいれてみても、かわらないなぁ
JetはWindowsUpdateの最新にはなってる・・・

たくさんSeekをするところで、いちいちチェックすると
遅くなりそうだなぁ・・・

皆さんのところでも、間違ったところを更新してしまったりしてないですか?
MDBにわざわざADOってのが危険だろ?
DAOで十分だから。
658デフォルトの名無しさん:03/09/27 17:15
VB5.0のソースプログラムをVB.NETに移行する方法って無い?
VB5のソースって普通にVB6でも使えると思うけど。
VB6からVB.NETへの変換ツールはVB.NETのProとかについていたはず。
完全に移行できるわけじゃないけどね。
660654:03/09/27 17:25
>>655
上手くいきました。ありがとうございました。
>>656
> たくさんSeekをするところで、いちいちチェックすると
> 遅くなりそうだなぁ・・・

遅くなるとしても、エラーチェックはサボるなよ。
>>654
もう手遅れだろうけど、普通は
CancelプロパティをTrueに設定したコマンドボタンを置く。
663デフォルトの名無しさん:03/09/28 01:07
>>661
それは、場合によりけり。
仕様として保障されるべき点についてはチェックしないでしょうし。

値を代入する毎に、本当に代入できたかチェックしてるわけじゃないでしょ。

Seek は、そのキーが見つからない場合、EOFかBOFに移動するとドキュメントにあるのだから、
EOFかBOFをチェックは最初からしているよ。

今回、いたしかたなく、間違ったレコードが返ってきた場合はリトライというルーチンを追加したわけ。
本来、必要ないでしょう?これは。

原因がわかり、根本的な回避方があるならば、本来必要の無いチェックルーチンを除きたいわけです。
パフォーマンスに悪影響がでそうなので。
664661:03/09/28 08:37
>>663
ああすまん。
Seek って元々エラーを返さないんだな。
>>663
何で半ギレなんだろう・・・?
666651:03/09/28 15:51
1日悩みましたがまだわからないです
できる・できない だけでいいですので教えてください
できないのならそれであきらめがつきます
>>666
できない(キッパリ
ソースは自分で探せ。


少しは気が楽になったか?
っつーか、それが出来たとして>651は何をしたいの?
669663:03/09/28 16:57
>>665
すんません。
仕事上のストレス故って事にしといてやってください。
670デフォルトの名無しさん:03/09/28 17:00
>>666
PictureBoxのBackColorに、透明色番号の色値を入れてしまえばいいのでは。
671デフォルトの名無しさん:03/09/28 20:56
「A」をコードの41に変換するのってどうやるんだっけ?
なんかできなくて鬱だ・・・
>>671
chr("A")
673デフォルトの名無しさん:03/09/28 20:57
フォームのコードの一番上に
Public str(1 to 100) As String
と記述すると
「定数、固定長文字列、配列、ユーザー定義型および Declareステートメントは
オブジェクト モジュールのパブリック メンバとしては使用できません。」
と表示されますがこれはなぜでしょう?
仕方ないのでモジュールに書いてグローバル変数として保持しています。
言語仕様といわれればそれまでなのですが、
どうしてそういう不便な仕様になったのでしょうか?
理由がある気がするのですがわかりません。
教えていただけないでしょうか?
よろしくお願いします。
>>673
プロパティかメソッドか解らなくなるので。
つうか、STRって予約語だろ?
フォームのパブリックにStringの配列って宣言できるでしょ?
>>675
出来ません。
677673:03/09/28 21:35
>674
なるほど、確かに区別できませんね。
不便ですね〜
では明示的にプロパティでなく変数だ、と示す方法ありませんか?
678初心者のベテラン:03/09/28 21:36
教えて下さい。
Win98 で VB6(SP5) で
MicroSoft FlexGrid Control 6.0(SP3)
を用いて,一覧表を表示すると,
最下行のシングルクリックで,
なんとスクロールしてしまいます。
XPでは起らない現象らしいのですが
困っています(T_T)
対処方法をお教え下さい。
679初心者のベテラン:03/09/28 21:39
教えて下さい。
Win98 で VB6(SP5) で
MicroSoft FlexGrid Control 6.0(SP3)
を用いて,一覧表を表示すると,
最下行のシングルクリックで,
なんとスクロールしてしまいます。
XPでは起らない現象らしいのですが
困っています(T_T)
対処方法をお教え下さい。
>>679
金払ってんだからそのActiveXの開発元にごるぁ!するのが筋です。
>>680
MSに言っても無駄だと思うけど。

まあ、OSバージョンを判定して、クリックイベントかなんかに処理書いて無視させてみれば?
>>681
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=FlexGrid

MS製品じゃないから言ってるんだけれど。
>>682
元記事きちんとみろよ。
MS−FREXGRIDなんで、グレープシティのじゃないです。
MSのはグレープシティのサブセットのはずだけど。
>>683
済まんかった。

ところでそれ、開発モードで使って良いの?
>>684
開発モードってのがわかんないけど一般論で。

VBに付属するコントロールの一部は、他の製品サブセットがある。
(Flex-Grid、帳票など)
それらを使った場合、バグがあってもMSが十分な対応をとらないことがあるし、
そもそも機能的にも不十分だったりする。
なので、それらを使うときは十分な検証をしてからつかうのが普通です。

まあ、メーカーからコントロール買っても、十分なサポートを受けられないことは多々ありますけど。
>>672
あっ、そうだった気がする。
サンキュ。
>>686
騙されるな。
Asc(Chr(Asc("A"))) だ。
((((;゚Д゚)))ガクガクガクブルブルブル
689651:03/09/29 03:14
>>667
そうですか。ありがとうございます。
無理でしたら少しというより諦めます。

>>668
話せば長くなります。

>>670
その透明色番号を取得したいんです。
色値を入れるのは2の次です。
690デフォルトの名無しさん:03/09/29 10:55
>645

これだからVB厨は
>>643 単純に、印刷範囲が設定されてるからじゃないの?
うわっ。二日も前のにレスしている粘着がいる。
>>692
煽りじゃない場合、粘着とは言わんだろ
タイマーイベント内で、一定周期(interval)毎に、たとえばキーボードの「A」を押したときと同じ動作をさせることは出来ますか?
KeyDownイベントでKeyCodeがVbKeyAの時に行う動作と同じことをさせたいのですが。。。
コードをそのままコピーして貼り付けるんじゃなく、一行ですむような命令ってありますか?
695694:03/09/29 20:05
すみません、上の質問内容はわかったのですが、問題解決には至りませんでした。
Do〜Loop処理の中にDoEventsを入れ、キーボード押下時のイベントを割り込ませるようにしてあるのですが、
タイマーイベント内でCall Form_KeyDown(vbKeyA, 0)を書いても反応してくれません。
何かいい方法は無いでしょうか?
696デフォルトの名無しさん:03/09/29 20:37
Formにはスクロールプロパティがないんだけど、一画面に入りきらない場合で画面をスクロール
させたいときとか、どうすればいいのか教えてください。
>>696
がんばる
>>697
うん、そうだな。
>>696
Formのかわりにピクチャーボックスの上にペタペタ貼り付けて、
そのTopとLeftをFormに貼り付けたスクロールバー(だっけ?)で移動させる。
>>695
てか、Aを押した時にさせる動作をサブルーチン化か何かさせろよ。
>>694
SetFocusしてSendKeysなりSendmessageなり。
ファイルシステムオブジェクトでファイル名の変更を行いたい場合は、
ファイルシステムオブジェクトにはリネームメソッドがないみたいだから、
ファイルコピーをしたあとに、もとのファイルを削除、としてリネームを実現させるって事?
VBにリネーム関数はあるけど、ファイルシステムオブジェクトでやるとしたら。
movefileは考えないのか
>>694がそもそも何をやりたいかがわからない。
多分、目的をそっちのけで枝葉の先の方でねじれて悩んでいると思う。

根本的に何をしたいの?
いや、GetFile/GetFolderしてNameプロパティを変えるんだっけか
よく覚えてないや
706702:03/09/29 21:23
>>703
>>705
あいわかった。そのプログラムをここでさらすのじゃ
>>706
2chといえども頼みかたを知らない厨だな。
708702:03/09/29 21:26
>>707
あなたから才能のある野心的な部下は去っていく
>>708
とりあえず、この程度のことを2chで聞いて、あの回答でソースを書けない
君には才能はないよ。
今回の言葉の重み、
>>708
の勝ちですな。
711デフォルトの名無しさん:03/09/29 21:31
>>709
たぶん、才能ないからここに居座る
ヒント無視してソース書けって何様のつもりなんだよ。
>>712
こっちも無視すりゃいいだけだろ
>>711
Delphiスレ以外をアゲるなアホ
祭りはおわりますた
>>702
file.Name = "newname"

みたいな感じ。いっくらでもWebにサンプルがあるよ。
717702:03/09/29 22:32
>>716
ありがとさーん。
そんなかんじでファイルオブジェクトのNameプロパティを変えるやりかたが味があるかもしれん。
718見習いPG:03/09/29 23:57
WindowsXPHomeEdition(SP1)、VisualBasic6.0(SP5)、ActiveReports1.5に
おける専用用紙の印刷に関する質問です。

プリンタがNEC PC-PR201/40で、9.5インチ×4.5インチの連続用紙に
印刷しようとしているのですが、うまくいきません。

objRpt.Printer.PaperSize = vbPRPSUser
objRpt.Printer.Orientation = 1 '1...縦 2...横
objRpt.Printer.PaperWidth = 9.5 * 1440
objRpt.Printer.PaperHeight = 4.5 * 1440

のように設定しても、用紙サイズが9.5×4.5インチにならないのです。
(A4サイズに戻ってしまう)
ヘルプを見ると「プリンタのドライバによってはPaperWidth、
PaperHeightプロパティを設定できないものがあります」とあり、
残念ながらNEC PC-PR201/40はその例にあたるようなのです。

しかし、今更プリンタを買い換えてもらうわけにも行かず、
途方に暮れています。「ハードを買い換える」以外の方法であれば
どんなものでも構いませんので、同じような問題にぶつかって
解決された経験のある方にアドバイスをいただければ、と思います。

当分起きておりますので、ご教示いただければ幸いです。
何卒、よろしくお願い致します。
>>718
とりあえず新しいドライバは落としたのか?
720見習いPG:03/09/30 01:47
回答遅れてすみません。
NECのサイトで落としたのですがダメでした。
721デフォルトの名無しさん:03/09/30 09:13
初心者の単純な質問で失礼します。
コモンダイアログを貼り付けようとすると
「ライセンス情報が見つかりません・・・」
などと文句言われます。何とかなりませんか?
>>721
とりあえず、VBを再インストールしてみるとか、SPを充て直してみるとか。
これだからVB厨は
724for All:03/09/30 09:46
自分の好きな人にだけに教えたいなら個人の掲示板でやれや。
2chは多国籍無法地帯だ。おぼえとけ!
725デフォルトの名無しさん:03/09/30 12:04
Intコントロールで、FTPプロトコルのディレクトリ一覧を取得するメソッドってありますか?
726デフォルトの名無しさん:03/09/30 12:21
SPを充て直す?
ワケワカラン!
ControlContainer=Trueしてコンテナコントロールを作りました。
PictureBox や Frame のようにコンテナとして使えて、
拡張機能を持たせたいと考えています。
フォームにそのコントロールを張り、
その上にラベルやボタンなどのコントロールを張ります。
そして、ラベルやボタンのToolTipTextプロパティーに文字列を設定して、
ToolTipを出したいと思ったのですが出ません。
フォームに直接張ると、もちろん普通にToolTipは表示されます。
PictureBoxやFrameの上に張っても、ToolTipTextは表示されます。
自作のUserControlの上に張ると表示されません。
ToolTipが表示されるようにUserControlにコードを追加しなければならない気がするのですが、
どうしたらいいのでしょうか?
728デフォルトの名無しさん:03/09/30 21:24
C++のSTLってのは一体何なんですか?
自分はゲームプログラマーになりたいんですが
STLに関する知識って必要ですか?

馬鹿みたいな質問ですいません。
>>728
STLってのはどんな型にも使える汎用のライブラリ。
そしてC++はスレ違い。
730デフォルトの名無しさん:03/09/30 21:52
>>729
ありがとうございました
>>730
この業界いらん知識という物は微塵もないぞ。
言語叩き厨のセリフを遠くから眺めて嘲笑するスレ
http://pc.2ch.net/test/read.cgi/prog/1064916818/l50
733639:03/10/01 11:45
皆様よろしくお願い申し上げます >>639
タスクトレイにアイコンを表示して常駐するプログラムを作ろうとしています。で、処理中にアイコンを
アニメーションさせるにはどうすればよいのでしょうか。

アイコンを表示するのと、待機状態でアニメさせることは出来たのですが、バッチ処理中にアニメさせる
方法がわかりません。一応、処理の所々でアイコンを切り替えるサブルーチンを呼ぶ方法も考えたの
ですが、あまりスマートでないですし、例えば一定周期でランプが点滅しているように見せるのは難しい
です。サブルーチン内で処理中はタイマーイベントを起こすことも出来ないようですし。


あと、PopupMenuで、メニューを表示してから一定期間の間選ばなかったらメニューを消すには
どうすればよいのでしょうか。
タスクトレイ常駐アプリをVBで作るのは、簡単なもののみにしたほうが・・・。
いろいろやるならC言語系に移行するか、グレープシティーかどっかが出してる奴を使ってみれば?
確か、サービスとかタスクトレイ常駐とかを簡単(?)に作れるコンポーネント集があったはず。
736デフォルトの名無しさん:03/10/01 14:39
只今、VBに標準でついているActiveXのKodak Image Edit Controlを使用して
画像の編集をしたいと思っていますが設定値をソースで変更したいのですが、
リファレンスが見つかりません。
どこかに説明が載っているのでしょうか?
VBに標準についているというか、Windows(XP除く)についているようだが、
F1を押して要求されるヘルプ(imgocxd.hlp)はWindows98/Meに入っているらしい。
738デフォルトの名無しさん:03/10/01 15:16
VB6.0で開発しています

a.exeからb.exeを起動し、b.exeが終了間際でc.exeを起動します

a.exeはc.exeの終了を待機したいのですが
現行ではb.exeの終了しか待機していません

現在b.exeとc.exeは変更できない状態にあります

a.exeのみを変更して
c.exeの終了を待機することはできますでしょうか?
>>738
c.exeがウインドウを持っているならFindWindow、
そうでないならProcess32First、EnumProcessesあたりを
使えばいいかも。
740デフォルトの名無しさん:03/10/01 15:43
>>737

ありがとうございます。見つかりました!!
741738:03/10/01 16:24
>>739
回答ありがとうございます

c.exeと言っていますが
実際はc.exeには数種類ありまして
b.exeからは数パターンのexeが実行されるようになっています
クラス名は固定ですし
キャプションは統一性がないので
FindWindowは使用できません

Process32First,EnumProcessesは使用したことがありません
調べて使ってみたいと思います

ありがとうございました
742736:03/10/01 16:39
先ほど質問したものですが、
ActiveXのKodak Image Edit Controlで画像編集をしようと思い
設定してみたのですがTIFF,BMPしか対応していないらしくJPEGは
読み込みのみ対応でした。
JPEGを編集するOCX(線を入れたり、コメントを入れたり)をどなたか
ご存知でしょうか?どなたか良い方法がありましたら教えてください。
質問でございます。
VBで、あのフレームバーと言うんでしょうか、ブラウザのフレームみたいな奴で
フォームを区切ることは可能でせうか。
可能ならご教授願いますます
744743です:03/10/01 16:42
(環境、Win98、VB6)
http://news4.2ch.net/test/read.cgi/news/1064932692/
先生方に来てほしいなあ
746デフォルトの名無しさん:03/10/01 18:07
747デフォルトの名無しさん:03/10/01 18:10
環境:Win2000 VB6.0

VBからウイルススキャンを行いたいのですが、
そういったライブラリとかありますでしょうか?

単にウイルス除去ソフトを起動するのではなく、
ファイル単位にスキャンし「ウイルスあり」などの情報を
VB側に返してくれる形なのですが

DLL等で提供されいればよいのですが
>>747
ワラタ
>>747
何のためにほしいの?
>>750 関係ないじゃん。
>>743 できるよ。
で、単に線で区切りたいだけ?それとも個別にスクロールとかさせたいの?
( ´・ω・`) ショボーン

使い道は、Webでメールの受信をするサイトを作ってるんですけど、
サイト内でウイルスを調べられれば、便利かなと思って
Webメールみたいな感じです





754デフォルトの名無しさん:03/10/01 20:21
●●●衆議院総選挙●●●(調査期間:9月27日〜10月10日)
あなたはどの政党の候補者に投票しますか?〜小選挙区〜
11月9日に投票があると言われている次期衆議院総選挙であなたはどの政党の候補者に投票しますか?
・小選挙区で投票する候補者が所属する政党名で投票をお願いします
・有権者のみ投票をお願いします
・1人1票のみとなっております
・選挙区別に集計していますので、選挙区名は正確にお答えください

投票所はこちら→http://vote3.ziyu.net/html/dai02kai.html

参考:選挙でGO!!→http://homepage3.nifty.com/makepeace/

これと同じものを最寄りのスレにコピペをしてください
よろしくお願いします
>>753
まあ落ち込むな。無知な奴らの方に非がある。

ノートンのAntiVirusがコマンドラインから実行できる。・・・かもしれない。

よく分からんです。DLLってのもあるのかなぁ?企業向けならあるのかも。
Iriaにダウンロード後にウイルスチェックをするっていうスクリプト
(ダウンロード後にWinExecで何かを呼び出しているがコマンドが書いていない)
があるから何らかの方法はあると思うが。
>>755
ワラタ
757デフォルトの名無しさん:03/10/01 21:15
質問させていただきます。

VisualBasicで現在のメソッド名を取得するには
どうすればよいのでしょうか?

Public Sub Test1()

  Dim a As String
  a = ○○○○

End Sub

としたら、
a="Test1"となるような関数○○○○などがあればうれしいのですが。

よろしくお願いします。
>>757
無いので、perlやawkなどのスクリプト言語で
a="Test1"と挿入するようなマクロを作ってください。
アドインであったかな?
759デフォルトの名無しさん:03/10/01 21:29
お教えください。
Win-95上でVB5で作成したソースをWin-XP上のVB6でコンパイルしました。
そして、作動を確認し、異常なかったので、そのままディストリビュータ
で、パッケージを作成しました。作成したXP上にインストールすると、
「****.dll」が見つかりません。」のエラー。どのように対処したら良いですか?
>>759
そのDLLってActiveX? それともActiveXじゃない奴?
つーか一般的なDLLなら、名前を教えてくれ。
762デフォルトの名無しさん:03/10/01 21:36
>>760
それが。。素人なのでどちらか分からないのです。。
(;^_^A アセアセ…
やり方、違うのですか?
>>762
じゃあそのDLLは参照設定して使っている?
それともDeclareで使っている?
これもわからないならソース作った人に聞いてください。
764デフォルトの名無しさん:03/10/01 21:40
761>
AsycFilt.dll なのですが。。
765757:03/10/01 21:48
>>758
やはりVB上では無いですか。
Perlとかはあまりよく知りませんが、また調べてみたいと思います。
ありがとうございました。
レスリング部に所属している集団が部活帰りに
「ボクシングってダセェよな、シッシッ言っちゃってよ。」などと
言っているのが聞こえたので走って近づき、リーダー格の奴に、
右ボディを食らわせて前屈みにし、ワンツー連打から左フックでKOした。
オレはその場を立ち去る時に残りの高校生たちを指差し、
「お前らも灰になれるものを見つけろよ」と言った。
離れていく時に後ろから、「ボクシングっていいよな。」と声が聞こえた。
767デフォルトの名無しさん:03/10/01 21:54
VarPtrやStrPtrなどの関数の存在を知っていろいろ遊んでいたのですが、

Private Declare Function lstrcpy Lib "kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long

Dim p As Long, q As Long, r As Long

Option Explicit

Private Sub Command1_Click()
  Dim s As String * 1024

  s = String(1024, Chr(0))
  p = StrPtr(StrConv("one", vbFromUnicode))
  q = StrPtr(StrConv("two", vbFromUnicode))
  r = StrPtr(StrConv("three", vbFromUnicode))

  Call lstrcpy(s, q)
  Form1.Caption = s
End Sub

というコードを書いて、Command1_Click()が実行されたとき、Form1.Captionの
値は"two"になってほしいのに、なぜか"three"になってしまいます。
無意味かもしれませんが、コンパイルしてexeを実行しても同じです。
自分だけに起こるのかもしれませんが、よろしくおねがいします。
768デフォルトの名無しさん:03/10/01 22:13
デバッグする際、無限ループに入ってしまった時や、
やたらと時間のかかるプロシージャに入ってしまった時に、
強制終了させるショートカットキーがあったと思うんですけど・・・・・
アレはどうやるんでしたっけ。
CTRL+BREAK
>>765
VBそれないから、ログ出力とか少し不便なんだよね。
おい、お前。そう、お前だよ。
「このスレおもろいから見てみ」「2ちゃんの歴史に残る名スレだぜ」とか言われてホイホイと
このhtml化されたスレを見にきた、お前のことだ。
どうだ?このスレおもしれーだろ。
でもな、お前はこのスレを読むだけで、参加することはできねーんだよ。
可愛そうにな、プププ。
俺は今、ライブでこのスレに参加してる。
すっげー貴重な経験したよ。この先いつまでも自慢できる。
まあ、お前みたいな出遅れ君は、html化されたこのスレを指くわえて眺めてろってこった。
>>769
Ctrl + Pause = Breakだからなんか変だぞと。
>>772
コントロールブレークって言う用語があるのでつい(w

でも、BreakはALT + Pauseだぞ!
ぷれぜんとふぉーゆー
[プログラミング本]Visual Basic Design Patterns VB 6.0 and VB.NET(必読!VBでデザインパターン)(昔ネットで配布されていた書籍のβ版?)vbpatterns.zip
[プログラミング本]Visual Basic Design Patterns VB 6.0 and VB.NET(必読!VBでデザインパターン)(昔ネットで配布されていた書籍のβ版?)vbpatterns.zip 13,885,055 78b08f47ec082d19a6e39641a8c83f9f
776デフォルトの名無しさん:03/10/01 23:49
VB6.0 + Windows2000の環境
VB使用歴4日の初心者です

コントロールのサブクラス化についてなのですが・・・
例えば、ListViewオブジェクトを簡単にサブクラス化することは出来ないのでしょうか

僕の考えでは新しいクラス(例えばnewListView.cls)を作って
implements ListView
....

とやれば、サブクラス化できるのではないかと考えたのですが、エラーが出てしまいます
エラー内容と、IListViewのタイプライブラリの内容から考えると、ListViewのすべてのメソッドを
newListViewクラスで再定義しなおす必要がありそうなんですが・・・・
こんなことをしないとサブクラス化できないんでしょうか
VBってこんな面倒くさい仕様なんですか?
教えてください
777デフォルトの名無しさん:03/10/01 23:55
>>776
いちいちageんな
777ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
>>776
VBはそんなことできないよ
>>776
まずサブクラス化と継承とインターフェース継承の違いを覚えよう。
>>776
継承をしたいんだったらVB.NETを使ったら?
782776:03/10/02 00:25
>>781
そうします。VB.NETはVB6.0と違って真のオブジェクト指向で便利ですね。
783776 本物:03/10/02 00:48
>>780
UNIXでC++やってるんで継承に関しては問題ないと思うんですが
WindowsはというかCOMが素人でどうしようもないですね
勉強しなおしててきます

>>781
客先要求がVB6.0なんです

実はそれが書きたかっただけなんです。(・∀<)
785734:03/10/02 00:51
>>752
レス遅れまして申し訳ありません。
出来ますか!後者ですね。
でも境界線をマウスで移動できれば何でも良いです。
786776 本物:03/10/02 01:31
>>779
一応
MSDNの
"インターフェイスのインプリメントによるポリモーフィズムの提供"
"標準インターフェイスのインプリメントと使用"
ってのがありますのでご一読を
787776 本物:03/10/02 01:53
Implementsによるサブクラス化に成功しました
やはり、癖がありますね
ありがとうございました
>>787
言っとくけどインターフェース継承はサブクラス化とは言わないよ。
正しくは多態(ポリモーフィズム)だと思うけど用語は正しく覚えてね。
789776 本物:03/10/02 07:17
>>788
あの後いろいろ調べて、分かりました
素人考えで、COMオブジェクトが(というかタイプライブラリが)
クラスの記述ぽかったので勘違いしてサブクラス化と言って
しまいましたが、確かに間違っていますね

大変失礼しました
790747:03/10/02 08:53
自己レスですけど、
こんな商品がありました メーカーに問い合わせしてみます

シマンテック アンチウイルススキャンエンジン
ttp://www.symantec.co.jp/region/jp/products/scanengine/index.html

>>748-750
>>755
>>756

m(_ _)m
791デフォルトの名無しさん:03/10/02 10:00
↑まぁ、無知なVB厨がたくさん失礼なことをしました。
このスレでの出来事は忘れてあげてください。











まったく、これだからVB厨は
>>791
ワラタ
>>767
p,q,rはStrConvが返した一時領域へのポインターで、lstrcpyが呼ばれる頃には既に無効だから。

>>785
アプリケーションウィザードでエクスプローラスタイルのアプリケーションを作成する参考になるよ。
794793:03/10/02 13:03
× 〜作成する参考になるよ
○ 〜作成すると参考になるよ
795767:03/10/02 13:37
>>793
この場合では、"one"のアドレスを代入した後で、"two"をのアドレスを代入しようとしても、
それぞれ別の場所にしてくれなくて、上書きされて、最終的に"three"になってしまう
わけですか?
796デフォルトの名無しさん:03/10/02 16:37
データ連結コントロールの機能を使ってadodc1とかに接続しちゃうと、
たとえば二つのテキストボックスからadodc1に接続して、それぞれのテキストボックスに、
別々のadodc1.recordsourceを割り当てたいというのは不可能ですか?

set text1.datasource = adodc1
adodc1.recordsource = "Atable"
adodc1.refresh
adodc1.recordsource = "Btable"
set text2.datasource = adodc1
adodc1.refresh

としたらtext1にはAtable text2にはBtableが入ってくるのを期待してたんですけど、大間違いでした。

私は普段ADOをコードでオブジェクトを作成して、レコードセットにそれぞれのテーブルのデータを入れて、
それぞれのレコードセットの内容をコードでMSHFlexgridなどに表示していたのですが、
ちょっとコードを減らしたいとおもいました。
コントロール使った場合でもレコードセットが存在してtext1.text2にそれぞれレコードセットを割り当てるというような感覚の操作
はできないのでしょうか?
現状だとほしいレコードセットの数だけadodcを用意しないといけないように感じてます。

>ほしいレコードセットの数だけadodcを用意しないといけない
あたり。

データコントロールに頼りすぎるのもどうかなと思うが。
使いまくると保守性が落ちるぞ。SQLの検索にも引っかからないし。
データ連結コントロールって、一覧とかにリンクさせて更新したいとき以外は使わないな。
Accessの普通に開いた画面程度のことをやる場合だけ使う。
入力チェックが不要な単純なデータメンテ画面とかぐらいだな。
799793:03/10/02 17:24
>>795
そういことです。

ちなみに、このような動作になったのは偶々で、既に開放された領域に
アクセスする以上、何が返ってくるか判らないと考えてください。
800795:03/10/02 17:37
>>799
VBではあまり意味のないことだし、まだ自分には早すぎる話だと思いますが、
補足を含め、ありがとうございました。
801デフォルトの名無しさん:03/10/02 17:58
InetコントロールのFTPコネクションで日付を取得できますか?
802796:03/10/02 18:07
>797-798

そうですか。わかりました。ありがとうございます。
803デフォルトの名無しさん:03/10/02 19:26
>>801
できます
804デフォルトの名無しさん:03/10/02 19:27
>>801
できません
できたりできなかったりします。
>>801
サーバーによる。
サーバーが日付を返すように設定されていれば取得できるし、
そうでないなら取得できない。
807801:03/10/02 21:00
>>803-806
返事どうもです。
>>806
そうなんですか。INETコントロールに
inet.Execute , "DIR"
で送っも返り値にファイル名しか返ってこなかったので駄目なのかと思ってました。
何のメソッドを使ったらいいのでしょうか?
808あい:03/10/02 21:17
かなりおすすめの無料着メロサイト♪
ゲームとか画像UP掲示板とかもあって面白そうだったよ〜♪
ほんとだまされたと思って行って下さい☆
絶対満足するから〜♪

http://yokozuna.tv/m.php?i=21
>>807
サーバによってできねえって言ってんだろ!
>>807
DIRじゃなくてLSにしたら?
>>810
大文字なLSってコマンドは非常にマイナーだと思うぞ。
>>812
別に一般的なls(UNIX系のコマンド?)のことを言っているんじゃなくて、
MSDNにのっているInetコントロールのFTPへの命令のLSのことね。

>>811
かまってほしい?(w
荒らし・粘着・馬鹿相手のレスはこちらでどうぞ。

言語叩き厨のセリフを遠くから眺めて嘲笑するスレ
http://pc.2ch.net/test/read.cgi/prog/1064916818/l50
815デフォルトの名無しさん:03/10/03 10:14
>814

しつこいね。
負け犬の遠吠えにしかみえないよ。
ネットで発言すら、負け犬の遠吠えっぽいのに
ネットの中でもまた別スレへ逃げてから嘲笑とは片腹痛い。
816デフォルトの名無しさん:03/10/03 10:50
どなたか教えてください。
ある英文字があり、それを変更していきたいのですがやり方がわかりません。
D→E
Q→R
という感じです。
何か関数とかあるのでしょうか
文字コードに+1していけばいいだけじゃねぇの。
818デフォルトの名無しさん:03/10/03 10:55
"E" = Chr(Asc("D")+1)

koyukotoka?
819デフォルトの名無しさん:03/10/03 11:17
>>818
コンパイルエラーが出ました
820デフォルトの名無しさん:03/10/03 11:30
>>819
(ノ∀`)そのまま使ったらエラーだろうな

使われてるAsc,Chr二つの関数のヘルプを見て理解して必要なように自分で組み立てろ。
>>819
そりゃー>>818を打ち込めばエラーだよ。w

>>818の式は説明だろ。
英大文字Eの文字コードはDの次だから、
文字”D”のアスキーコードを取って、それを+1して、文字に戻せば”E”になるよって。
822デフォルトの名無しさん:03/10/03 11:48
12桁の数字を扱う型は存在しますか?
変数ではlong型が最高でしょうか?
12桁の数字を格納するクラスとかありますでしょうか?
たしかビット演算して上位下位6桁ずつに分けてやるとか方法あるようですが、
ちょっと参考になるサイトおしえていただけないでしょうか?
みなさんはこのような大きい数字はどうされているのでしょうか?
通貨型
824821:03/10/03 13:13
>823

ありがd
825822:03/10/03 13:14
↑822でした
ちょっとおたずねします。
現在FSOでフォルダのサイズを取得しているのですが、
folder.size だとサブフォルダを含んだ全容量がでてきます。
サブフォルダを含まないサイズを取得するさいにはみなさんどうされますか?
地道にfolder.files.item.sizeを足していって合計だすぐらいでしょうか。
>>826
質問の回答は、足してくしかないと思うけど・・・。

変な略し方するな!FSOって。w
828826:03/10/03 14:49
>827

そうですか、わかりました、地道に足しマッスル。
FSOってやばいっすか?
こういうところで質問する場合、MSとか雑誌でも使われてる略語以外は使わないほうがいい。
方言の可能性もあるし、自分脳内辞書の略語もあるし。

相手に伝わるように注意せんと。
830826:03/10/03 17:21
>829

そうですか。一応FSOはMSDNで検索しても出てきますが
ファンタシシースターオンラインでボケようと思ったが頭文字がPである事に気付いて辞めた奴の数→ (1)
>>830 あんまり使わないねー方がいいぞ、ってこった。
>>832
FSOで普通に通じる。
お前のほうがおかしい。

http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=FSO+FileSystemObject&lr=
834832:03/10/03 19:18
>>832
ちょいまち。なぜ俺を煽る?
835832:03/10/03 19:19
×>>832 ○>>833
最後がOの3文字ということで、STOと同じように小川直也の必殺技だと思った奴 -> (1)
837デフォルトの名無しさん:03/10/03 21:35
VB.6.0で画像をエンコードさせようとしています。
プロファイルでビットレートをカスタマイズしてProfileフォルダにtest.psxで保存しました。
しかしVBで

For i = 0 To ProColl.Count - 1
Set Pro = ProColl.Item(i)
If Pro.Name = "test" Then
SrcGrp.Profile = Pro
Exit For
End If

としてもカスタマイズしたビットレートでエンコードされません。
自分で保存したプロファイルを活かすにはどうやればいいのですかね?
838デフォルトの名無しさん:03/10/03 23:29
すいません、自己解決しました
>>838
助かった。
>>838 さっきからいろんなスレに出没している偽者だろ。 しつこい。
FileSystemOpen
波動砲発射!
842デフォルトの名無しさん:03/10/04 20:06
すいません、教えてください
VBの標準の機能では開きっぱなしのファイルをフラッシュ
することは出来ないんでしょうか
843デフォルトの名無しさん:03/10/04 20:16
VBScriptでテキストファイルの読み書きしたいです。
マイクロソフトのサイトの例を見て
---------------------------------
Const FILENAME = "E:\tmp\hoge.txt"
Dim intFileNo
intFileNo = FreeFile

Open FILENAME For Input Access Read As #intFileNo
Close #intFileNo
--------------------------------

とオープンしてクローズするだけって感じでかいてみたのですが,
行5,文字15
エラー:ステートメントの末尾が不正です。
って出るんですが,ファイルのオープンのところはコピペしただけなんで
何故エラーなのかわかりません。教えていただけないでしょうか?
>>842
できません。
>>842
閉じないでフラッシュしたいってこと? Closeしたらフラッシュされるけど。
閉じないでフラッシュしたいならCloseしてOpenするか、APIを使用しましょう。

>>843
コピペしたから見えない変な文字が入っているんじゃない?
ところでどこのサイトをコピペしたの? 見つからないんだけど。
>>843
Open FILENAME For Input Access Read As #intFileNo
Close #intFileNo
--------------------------
VB ScriptにはVB6.0のような上記のステートメントでファイルを扱えないので
ファイルシステムオブジェクトをつかったりする。
847デフォルトの名無しさん:03/10/04 21:46
アプリを作ったのですが、右上の閉じるボタンを押してもメモリ上に残っているのですが
どうすれば解決するでしょうか?
>>847
フォームがどれか残ってる(Hideになってる)なら、それは仕様で当然。
フォームが残ってる経路がないか確認する。

明示的に終了させるならEnd書く。
849デフォルトの名無しさん:03/10/04 22:01
>>847
もしかして限界を感じているのかな?
練習あるのみだよ。
850デフォルトの名無しさん:03/10/04 22:06
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=160
  1 146   C
  2 119   C++
  3  90   Java
  4  55   PHP
  5  44   Ruby
  6  32   Perl
  7  24   Delphi/Kylix
  8  21   Other
  9  17   Assembly
 10  16   Python
 11  13   Objective C <--------C++に敗北して廃棄状態
 12  12   C# <--------超負け組み
 13  7   Unix Shell
 14  5   Tcl
 15  5   Lisp
 16  4   Visual Basic <--------廃棄処分
>>850
その他ってのを一つのサンプルとしてランキングに入れるのはどうなんだ?
852847:03/10/04 22:20
>>848
>フォームがどれか残ってる(Hideになってる)なら、それは仕様で当然。
>フォームが残ってる経路がないか確認する。
>明示的に終了させるならEnd書く。

Endは強制終了みたいなものだからUnloadでなるべく終らせないといけないと本に書いてたんですが。
Ctrl+Alt+Delを押したらまだ残ってたんです。
で、何回も多重起動できて…メモリが…PCフリーズという感じです。

>>849
>もしかして限界を感じているのかな?
>練習あるのみだよ。

どういうことですか?
>>852
Endは本にはつかうなとかいてあるが、
Unloadイベントを利用する必要がないソフトや
アプリがすべての処理が完了している状態ならEndをつかってしまってもよいし、
これほどベンリで確実にソフトを終了できるメソッドはない!
大体さ、多重起動不要ならApp.PrevActivateで防げ。
あと、End の部分のみ反応してるけど、Formは残ってないんだよね?
Formのアンロード後にそのフォームのプロパティに触れると、フォームロードされるからね。
そういうの含めて経路見てから回答くれ。

あと、End は普通に使う。
途中で終わらせるためではなく、最後のはずのフォームで明示的にEndしておく。
>>854
偉そうな割に言ってることは素人。
>>855
どのへんが?
857847:03/10/04 22:59
>>853
>Unloadイベントを利用する必要がないソフト
これって例えばどんなのがあるんですか?
>アプリがすべての処理が完了している状態ならEndをつかってしまってもよいし
あれ?全部終っていたらEndする必要がないんじゃないのですか??

>>854
おおっそんなコマンドがあったんですね。。知りませんでした。
Formは残ってないです。
ただチルダ(〜)が初めについているアプリがCtrl+Alt+Delを押したときに起動されたままでした。
858853:03/10/04 23:09
>>857
キミの文はネタみたいだからもうオレたちはまじめに解答しないかも
859843:03/10/04 23:10
>>846
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set File1 = objFileSystem.OpenTextFile("E:\tmp\hoge.txt")

こんな感じでオープンして,ReadLine使って読み込むことができました。
どうもありがとうございます。
>>857
>あれ?全部終っていたらEndする必要がないんじゃないのですか??

その通り、ランタイムがメモリ掃除をしてくれる。
処理が終了する と アプリが終了する
の意味はちがったりする。
>>858
>オレたち

具体的にはお前と誰よ?
>>861
処理が終わればフォームはいらんわけだ。
クリーンナップコードでそれが破棄されるならなんの問題もない。
みんなバカですね
>>863
いや、だから問題の彼がそれをできないからEndかいちゃえなわけで。
>>864
自分を含めているところがなかなか謙虚だな。
>>865
>処理が終了する と アプリが終了する

ここまで言っといてクリーンナップコードを知らないと言うこと?
インターネットエクスプローラを起動してホームページを開く。
ホームページが読み込まれた。←処理完了
インターネットエクスプローラを閉じる。←アプリ終了
>>867
いってるからといって、彼のコードがそれに伴っているとは限らない。
>>868
ああ、そう言うレベルのお話か。

動的にNewしたフォームならスコープはずれれば自動的に死んでくれるっしょ。
死なれると困るから静的においとくんでしょ。

このスレは知ったかぶりの人のほうがバカですね。
みんな人間だからな。
>>871
>>854さん、みっともないです。
>>870
VB6以前の話だよね、動的にNewしてスコープ外れても自動的に
死なないオブジェクトがあると認識したほうが安全だよ。
きちんとクローズするのまではプログラマの責任と。
>>874
どこからも参照が無くなれば死ぬって仕様じゃないの?
For each A in Forms
Unload A
Next
ですべてのフォームが閉じられたと思う。
>>876
自分で自分をUnloadするのって気持ち悪くてどうも好きになれない。
>>875
話が逸れるからあれだけど、オブジェクトによっては残ったり漏れたりがある。
>>878
それ確認する方法ってどうやるんですか?
参照はないから実際に叩いてみるわけにも行かないし。
Unload Me and You
ちゃんとしたアプリを作るのであれば、>876は最後の手段と考えておいたほうがいいんじゃないかなぁ。
>>876ってEnd書くのと変わらないよな。
やっぱり、各フォームの生存期間をきちんと管理しておかないとね。
つっこみどころがあるけどネタだろうからつっこむ必要なし
>>882
全然違うぞ・・・
End使うとクラスモジュールのデストラクタやフォームのUnloadを通らずに終わる。
って事で>>881に同意
C房だけどVB房っとすごいな
For each A in Forms
Unload A
Next
が書いてあるフォームをForm2として、
Unload Form1
Unload Form2
Unload Form3
を考えてみると、
Unload Form2をやっちゃってるから、Form2に書いてある
For each A in Forms
Unload A
Next
というステートメントが無効になる?としたら
Unload Form3は実行されないような気もしなくもない。
でもちゃんとすべてアンロードされてるみたい。
From2がUnloadされてもForm2のステートメントは有効のままのようだ。
なんとなーくだけど、IDE実行とEXEで結果が違いそう
>>889
結果つーか、動作っつーか。計算なんかは一緒だけど、環境が違うくなってるよね。
GetModuleFileNameとか。
そのへんどうにかしてくんねーかなと思う今日この頃。
教えて君でスマソ

印刷をしたいのですが、
印刷される位置と、XY座標の関係がわかりません
どうすればいいんすか?

あたりを付けては何回も修正してます・・・
とりあえず、A4かなんかに座標線を例えば1000単位で出した紙でもつくれば?
それでデザインして決めると。
>>891
dpi
よくありそうな質問ですが……。

他のアプリケーション上のコントロールの情報を取得するには
どうすればよいのでしょうか。

具体的には、リストビューやツリービューのアイテムのテキストを取得する、
といった具合です。

いろいろ試してみたのですが、BUTTONコントロールにBM_CLICKをSendMessage
してやって押す、といったことは出来ました。
895894:03/10/05 12:47
すいません、本当に自己解決してしまいました。
896894:03/10/05 13:12
>>895
897 ◆NrzNAFPLAQ :03/10/05 22:00
VB6の初心者です。
複数の画面からなるプログラムを作っていますが、1画面から2画面に移った場合データが表示できません。
プログラムは1画面表示の次画面表示のコマンドにはFORM2.Show1の画面が出たまま止まってしまいます。
データ表示のプログラムは記述してますが、表示できません。
どのようにしたらいいのでしょうか?
わかる方、レスください。お願いします。
ぜんぜん意味がわからん。
>>897
>データ表示のプログラムは記述してますが
どこに書いたワケ?
>>897
FORM2.Show1

Form2.Show
に書きかえればオーケー
901 ◆NrzNAFPLAQ :03/10/05 23:30
まだわかりません。
もっとわかりやすく教えてください。
>>901
あなたが出した情報が少なすぎて教えようが無い。
>>901
分からんと言われても質問自体が分からん罠。
まず、初心者といって聞くことは免罪符にはならないよ。
きちんと何で悩んでいて、どこまで調べて、何を試したかを書いてくれ。

ってこれではP○DNか。w
905デフォルトの名無しさん:03/10/06 00:31
VB6.0でACCESS2002のMDBファイルを開けるDATA CONTROLってないですか?
Windowsのシステムフォルダみたいな特殊なフォルダって
実際のパス以外でアクセスできないんですか?

W2Kでいえば"\WINNT\TEMP"をアクセスしたいんだけど、
こういうのってOS変わると違ったりするじゃないですか。
>>906
環境変数を使えるよ。
コマンドプロンプトからsetで確認。
>>907
環境変数をVBからはどうやって扱えるんですか?
>>908
一から十まで、聞いて済ませる気かよ(汗
逆に、オマエは環境変数の使いかたを知ってるのか、と聞きたい。
知らないのなら、スレちがい。
知っててその質問をするのなら、プログラミングに向いてない。
じつは>>906を読んで、環境変数を知らないのに、特殊フォルダへのアクセス方法が
あるかもしれないということを察したセンスに期待して、ヒントを出す気になった。

結局、自分で調べる意欲のない教えて君だったわけで、正直がっかりした。
ToolBarの質問です。ボタンのキャプションを右に表示したいのですが、キャプションを表示したくない
ボタンの右も、最大文字数と同じ空白となってしまいます。空白の場合は表示せず、文字の有る
場合は文字数に合わせた幅にすることは出来ないのでしょうか。


あと、TextBoxにフォーカスされたときにその項目が全選択状態になり、その状態で何か入力したら
そのまま書き換えとなるようにするにはどうすればよいのでしょうか。
>>911
>あと、TextBoxにフォーカスされたときにその項目が全選択状態になり、その状態で何か入力したら
>そのまま書き換えとなるようにするにはどうすればよいのでしょうか。

SelStart、SelLengthプロパティを使います。
>>911

If 空白の場合 then
  表示せず
Else
  文字数に合わせた幅にする
End If
914デフォルトの名無しさん:03/10/06 13:50
Screenオブジェクトについて質問です。

フォームを画面一杯に表示しようと思ってるのですが、
解像度を変更した直後に実行するとうまくいきません。

解像度を変更した直後だと
Screen.HEIGHTとScreen.WIDTHの大きさが同じになってしまいます。
これを正しい値にするにはどうしたらよいでしょうか?
>>912
ありがとうございました。


>>913
う〜ん、回答してもらってなんなんですが、求めているのとは違ってますです。とりあえず、Frameに
複数のToolBarを入れることで解決しました。
LISTVIEWについて質問させてください。
アイテムの選択をするとTEXTプロパティが変更可能な状態になりますが、
それを不可能にする方法はありますでしょうか?
enableをオフにはできません。
6.0以前ってことは6.0の質問は禁止ですね
918デフォルトの名無しさん:03/10/06 17:46
VB6.0のMSの正式サポートっていつまでなの?
>>914
>フォームを画面一杯に表示しようと思ってるのですが、

フォームのWindowStateを変えろ。
>>917 大丈夫か?
>>916 LabelEditプロパティ
922デフォルトの名無しさん:03/10/06 19:12
>>920
釣られんなよ(w
923918:03/10/06 21:10
>>918
ゴメソ、自分でわかりました
2005/1までなんだねぇ
有料では2008/1までか・・・

.NET覚えるか('A`)ハァ
>>923
6.0スタイルを進みたければREALbasicや次のバージョンのFlashへ移るんだ!

・・・オレは.NETにするがな。
6.0で書いて.NETで変換の道を進め!
926デフォルトの名無しさん:03/10/06 21:44
VB6の初心者です。
複数の画面からなるプログラムを作っていますが、1画面から2画面に移った場合データが表示できません。
プログラムは1画面表示の次画面表示のコマンドにはFORM2.Show1の画面が出たまま止まってしまいます。
データ表示のプログラムは記述してますが、表示できません。
どのようにしたらいいのでしょうか?
わかる方、レスください。お願いします。


927デフォルトの名無しさん:03/10/06 21:47
教えて下さい。
IISアプリの勉強をしているんですが、

新規プロジェクト→IISアプリ→実行→IEに「WebClassがどうこう・・・」、で正常に動作するんですが、
その後→プロジェクト保存→実行、ってするとIEにエラーが出て表示されません。
プロジェクト保存しただけなのにどうしてなんでしょうか???
>>927
>エラーが出て表示されません。
どんなエラーが出るのか書かないのはどうしてなんでしょうか???
931正一:03/10/06 22:32
>>926
Show1ってなに
>>931
お前だろ。
933927:03/10/06 22:40
>>929
すみません。
まだコードも何も書いてないんでものすごく初歩的なことだと思いまして・・・
エラー内容なくてもわかる方いらっしゃるかと・・・

Serverオブジェクト、ASP0178
許可を確認中にServer.CreateObjectの呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。
/Project1/WebClass1.ASP,line 14

保存しただけなんですけど(涙
そういえばURLは、
動作○→/localhost/temp/WebClass1.ASP
動作×→/localhost/Project1/WebClass1.ASP
でした。宜しくお願いしますm(__)m
934正一:03/10/06 23:12
>>932
おいらまさかずです
>>931
>>932
>>934
(・∀・)ジサクジエンデシタ
936デフォルトの名無しさん:03/10/07 01:54
>>931
vbModeless だか vbModal だかのEnumの値だろうな
一定のキー(例えばF1)を押すとフルスクリーン表示になるサンプルを作りたいのですが
キーを押した際のコードの所に、

Form1.Top = 0
Form1.Left = 0

でプロパティでBorederStyle = 0にすればうまい具合に思ったとおりの表示になるんですが
通常時はBorderStyle = 1でフルスクリーン表示のときだけBorderStyle = 0にしたいのですが
どうもうまくいかないようです。
コードに記述するだけでは出来ないのでしょうか?
>937
どううまくいかないか説明できるようになると、うまくいくと思う。
939937:03/10/07 03:20
うまくいかないってのは…そうですね、何もおきない、と言い換えます。

試しにForm1の上にボタンを1つ配置し、

Me.BorderStyle = 0

と記述して実行し、ボタンを押しても「なにもおきない」のです。
>>937
オレも超初心者なんだけど。
使い方とか全然知らないから、適当に試してみた。

me.borderstyle=0
だけじゃできなかった。

me.borderstyle=0
me.caption=""
にしたらできたよ。

最初からcaptionを""にしてても、borderstyleを変更するだけじゃできなかった。

ということで、このぐらいはオレみたいなバカでも解決できた。
正しい方法かどうかは知らないけど。
がんばってね。
どうでもいいけど追記。
試したのはVB6。
>>940はForm1に配置したボタンに記述した。
終わり。
942デフォルトの名無しさん:03/10/07 09:12
>>937
単純に
Form1.WindowState = vbMaximized
ではいかんの?
943916:03/10/07 09:37
>921

ありがとう
944914:03/10/07 10:56
>>919
ありがとうございました。

ついでに
解像度変更後ScreenオブジェクトのHeightとWidthが同じになっちゃうのはバグなのでしょうか?
それとも自分の環境だけでしょぅか?

環境:
SOTEC PCSTATION M240L
OS :Win2k SP4
VB :VB6
945デフォルトの名無しさん:03/10/07 11:59
他の環境でテストしる。多分コードに書き間違いだろ。
自分の書いたコードにバグがあるかも、とは思わないのかい?
947914:03/10/07 12:46
>>945
レスどもっす、
EXEを作って動かしたところ問題無くできました。
デバッグ実行時のみなるようです。
他の環境でのテストは家のPCで試してみようと思いま

>>946
Screenオブジェクトを直接ウォッチして1行ずつチェックしていたら
Width、Height共に同じ値になっていたんで、>944のような質問になりました。
948デフォルトの名無しさん:03/10/07 17:34
wininetを使ってバイナリデータ(画像データ)をHTTP通信にてPOSTするプログラムを
作っているのですが、

' Sends the specified request to the HTTP server.
Public Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (
ByVal hHttpRequest As Long,
ByVal sHeaders As String,
ByVal lHeadersLength As Long,
ByVal sOptional As String,
ByVal lOptionalLength As Long
) As Integer
この関数の第四、第五引数に入れるデータの作り方が良く分かりません。
sOptionalの部分にはHTTPのフォームの文字列データと実際の画像データが混在している
ことになるかと思いますが、どなたか以前にご経験のある方
よろしくご教授願います。
次スレ
(*´д`*)アハァ… VB初心者質問スレ(6.0以前) Part29
http://pc2.2ch.net/test/read.cgi/tech/1065517012/l50
>>949は重複スレです
次スレは http://pc2.2ch.net/test/read.cgi/tech/1065446334/
951デフォルトの名無しさん:03/10/07 22:15
>>899
form2.kname = text3.text
from2.show 1
data1.recordset.movefirst
do until dota1.recordset.eof
texe3.text = kname ten
exit do
else
data1.recodset.movenext
endif
次画面を表示させデータを検索させようとすると画面が表示されたまま
止まってしまいます。どのような記述をすればよいですか?
>>951
from2.show 0 , Me
マジックナンバーへのつっこみは無しか・・・
954デフォルトの名無しさん:03/10/07 23:03
次スレ
(*´д`*)アハァ… VB初心者質問スレ(6.0以前) Part29
http://pc2.2ch.net/test/read.cgi/tech/1065535118/
>>954
わざわざ後からスレたてるなよ。
次スレは http://pc2.2ch.net/test/read.cgi/tech/1065446334/
>954

かろやかに氏ね
大学の卒論でVBを使ってロボットをシミュレートする事になったんだが

1 プログラムを全然組んだことがない俺でもできるか?
2 そもそもVBでロボットをシミュレートできるのか?

なんでVBで作らねばならないかというと
http://www.sun-mitec.co.jp/roboabotto.html
を実際に動かすのが命題でこのロボがVBにしか対応していないだろうということから。

卒業がかかっているので死ぬ気でやるつもり。
アソバイス求む(前スレにも貼らせてもらいました、必死なんで)

>957

知るか!
959957:03/10/08 16:18
右の乳首と左の乳首をint関数で暗号化したいのですけど
pingがC++だと通りませんが、VBだとどうですか?
>959

通ります。
ちなみに俺は肛門とヴァギナをインクリメントしてます
>959
死ぬ気とやらが全く感じられないな。
>>957
サンプルはVCおよびVBみたいだがDLLの関数を呼び出せれば何語でも
動くだろ。
963デフォルトの名無しさん:03/10/12 19:17
テキストファイルの追加書き込みで最新を一番上に持ってくる場合は
どのようにファイルオープンすればいいのでしょうか。
>>963
やりたいこともその答えも大体想像つくが、念のために聞いておく。

「一番上」 ってなんだ ?
>>963
テキストファイルや言語に限らずファイルの最初に追加することは出来ません。
このまえ他スレでも同じような質問が出たような気がする。
966デフォルトの名無しさん:03/10/12 23:02
行の一番上です 無理ですか・・・
967 :03/10/12 23:47
>>963
他のtempファイルに元のデータを退避する。→元あるファイルに追加文を新規にかきこむ。
→元あるファイルにtempファイルのデータを追加で書き込む。
968デフォルトの名無しさん:03/10/13 00:04
>>967
ありがとうございます。
ただ追加分が数行であるのに対し元ファイルが100万行を超えるサイズであり、
元ファイル側を追加で書き込むことを退避できないかと思い相談いたしました。
もう少し考えてみます。
>>967
いや、tempファイルに追加分を書き込み
元ファイルを開いてtempファイルに書き込み
元ファイルを削除して、tempファイルをリネームした方が早い
次スレ

v(・∀-)b VBプログラマ質問スレ(6.0以前) Part29
http://pc2.2ch.net/test/read.cgi/tech/1065535118/
考えてもしょうがないけどな
>>968
そういう状況なら、読み出し時に何とかする方法を考えたほうがいいと思うよ。
まあ、データが100万行を超えるようなものなら、
データベースを使ったほうがいいと思うけど(汗

最終的にテキストファイルが必要なのなら、
データベースから出力する手段を用意すればいいし。
何でもかんでもDBを使うのは感心しないが、それを使ったほうがあきらかに良いケースもあるよな。
975デフォルトの名無しさん:03/10/13 20:40
ActiveX EXE と構造体の共有っつーか参照渡ししたいんだけど、
どうやればいい?
>>974
DBの変わりにDBのようなものを作るという手もある。
ファイルにインデックス情報もたせて・・・。
>977
なぁ、素直にDB使った方が苦労しなくて済むんじゃないか...
>>978
規模によるけどMDBだとバージョンを考慮しなくちゃいけない場合もでてくる。
スタティックリンクできる軽いDBMSがあればいいんだけどね。
980デフォルトの名無しさん:03/10/18 18:31
CSVファイル(テーブルそのまんま)をMDBに取り込むの
一番簡単なやり方なに?
(※ ACCESS使用不可
981ちんげ:03/10/18 19:00
vbのソフトはwinnyで落とそう。
982デフォルトの名無しさん:03/10/18 19:59
VBプログラマーの給料おいくらでつか?
大体100万円〜ってところかな。
今年入社
手取り20万程ですが・・・
>980
DAOで