5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

VBプログラマ質問スレ(6.0以前) Part50

1 :デフォルトの名無しさん:2006/10/22(日) 20:39:53
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 http://www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。

2 :デフォルトの名無しさん:2006/10/22(日) 20:40:48
過去ログ
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html

3 :デフォルトの名無しさん:2006/10/22(日) 20:41:54
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc5.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc5.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc5.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc5.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc5.2ch.net/tech/kako/1050/10501/1050151126.html
  Part25 http://pc5.2ch.net/tech/kako/1052/10526/1052627913.html
  Part26 http://pc5.2ch.net/tech/kako/1055/10551/1055145106.html
  Part27 http://pc5.2ch.net/tech/kako/1058/10586/1058674927.html
  Part28 http://pc5.2ch.net/tech/kako/1061/10612/1061296197.html
  Part29 http://pc5.2ch.net/tech/kako/1065/10654/1065446334.html
  Part30 http://pc5.2ch.net/test/read.cgi/tech/1069160036/

4 :デフォルトの名無しさん:2006/10/22(日) 20:42:28
  Part31 http://pc5.2ch.net/test/read.cgi/tech/1073732636/
  Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
  Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/
  Part34 http://pc5.2ch.net/test/read.cgi/tech/1084544243/
  Part35 http://pc5.2ch.net/test/read.cgi/tech/1087519251/
  Part36 http://pc5.2ch.net/test/read.cgi/tech/1092906058/
  Part37 http://pc5.2ch.net/test/read.cgi/tech/1090286450/
  Part38 http://pc5.2ch.net/test/read.cgi/tech/1095673000/
  Part39 http://pc5.2ch.net/test/read.cgi/tech/1099737063/
  Part40 http://pc5.2ch.net/test/read.cgi/tech/1106748775/
  Part41 http://pc8.2ch.net/test/read.cgi/tech/1112414085/
  Part42 http://pc8.2ch.net/test/read.cgi/tech/1116924129/
  Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
  Part44 http://pc8.2ch.net/test/read.cgi/tech/1130231657/
  Part45 http://pc8.2ch.net/test/read.cgi/tech/1133977286/

5 :デフォルトの名無しさん:2006/10/22(日) 20:43:22
  Part46 http://pc8.2ch.net/test/read.cgi/tech/1138975113/
  Part47 http://pc8.2ch.net/test/read.cgi/tech/1141320612/
  Part48 http://pc8.2ch.net/test/read.cgi/tech/1146678926/
  Part49 http://pc8.2ch.net/test/read.cgi/tech/1152667953/

6 :デフォルトの名無しさん:2006/10/22(日) 20:45:07
http://www.microsoft.com/japan/msdn/vbasic/support/vistasupport.aspx
Visual Basic チームは、Visual Basic 6.0 アプリケーションが Windows(R) Vista でも
"そのまま" 動作する互換性を提供することを表明します。」

Visual Basic チームは、Windows XP で実行できる Visual Basic 6.0 アプリケーションが
Windows Vista でも実行できるようにすることを目標としています。
また、Windows Vista で実行できる Visual Basic 6.0 の開発環境を提供するための取り組みも行っています。
このドキュメントで説明するように、Visual Basic 6.0 ランタイムは、Windows Vista のライフサイクルをとおして
サポートされます (メインストリーム サポートが 5 年、延長サポートが 5 年の合計 10 年になります)。
マイクロソフト プロダクト サポート ライフサイクルの詳細については、http://support.microsoft.com/gp/lifepolicy (英語) を参照してください。

マイクロソフトでは、ユーザーが Windows Vista で Visual Basic 6.0 アプリケーションを実行できるようにするため、
Windows Vista に Visual Basic 6.0 ランタイムの主要コンポーネントを同梱する予定です。
Visual Basic 6.0 ランタイムを使用するように記述されたアプリケーションが Windows XP と Windows Vista の両方で
同様に動作する互換性を確保するため、一連のアプリケーションを使用してテストを行いました。

Visual Basic 6.0 IDE は、延長サポートの一環として、2008 年 3 月まで Windows Vista でサポートされます。
Windows Vista チームと Visual Basic チームでは、Windows Vista で Visual Basic 6.0 IDE のテストを行い、
IDE が以前のオペレーティング システムと同様に機能するようにしています。
-
とっととVB.NETを覚えて下さい。

7 :デフォルトの名無しさん:2006/10/22(日) 22:48:53
VB6の手軽さは異常杉

8 :デフォルトの名無しさん:2006/10/23(月) 10:55:27
見た目を変えずOptionButtonの変更を
ロックするプロパティってないんですか?
Enabled=Trueだとグレーになっちゃうし・・・
TextBoxのLockedみたいなプロパティは無いし・・・

皆さん、どのように対処してますか?


9 :デフォルトの名無しさん:2006/10/23(月) 11:39:50
>>8
フレームとかピクチャボックスの中に入れて
そのフレームとかピクチャボックスのEnableプロパティをFalse

10 :デフォルトの名無しさん:2006/10/23(月) 12:13:51
>>8
「見た目を変えずOptionButtonの変更をロックする」なんてUIは最低最悪。

11 :デフォルトの名無しさん:2006/10/23(月) 12:57:00
CSVファイルの内容をすべて一覧で表示したいのですが、
FlexGridやListViewなどのocxを配布するコントロールが使用できません。
行ごとの追加削除をしたいので行ごとの選択をしたいのですが、
ListBoxコントロールでLFで隙間を空けるのも試してみましたができません。
なにかいい案はありませんか?

12 :デフォルトの名無しさん:2006/10/23(月) 12:59:50
MS FLEX GRID もだめなのか?

13 :デフォルトの名無しさん:2006/10/23(月) 13:01:40
12は間違いだったwwスマン

ピクチャボックスの上にチェックボックス+テキストボックスとか動的に並べて擬似グリッドとか(;´∀`)
だめっぽwww

14 :12:2006/10/23(月) 13:06:30
ListBoxを横にならべて、
1つ目の選択行が変わったら他の選択行も変えようかとも思ったんですが、
ListBoxごとにスクロールバーができるんですよね・・・


15 :デフォルトの名無しさん:2006/10/23(月) 13:28:09
> ocxを配布するコントロールが使用できません。
何故に?

というよりは、そういう条件でありながら、何故にVBを選んだのか気になる。
今時、VB6しか使えないなんてことは無いだろうし。

16 :11:2006/10/23(月) 13:28:22
14の名前欄間違えました。11です。
とりあえず重ねてスクロールバーが見えないようにはしたけど、
Topindexが変わったのをキャッチすることができません。
いっそ何か違う方法のほうがいいのかな・・・


17 :11:2006/10/23(月) 13:36:08
VBもocxなしもお客様からの指定です・・・
ちょっと何か違う方法を考えてみます。
ありがとうございました。

18 :デフォルトの名無しさん:2006/10/23(月) 13:52:42
>>11
HTAでTDCを使う。


19 :デフォルトの名無しさん:2006/10/23(月) 14:06:54
そんな客だったら100倍くらい値段吊り上げる

20 :デフォルトの名無しさん:2006/10/23(月) 14:30:25
今VB6環境ないんであれだけど
こんなんでいけるんじゃね?(ry
タブとか消されるんで適当に解釈してくれ、あと行も詰めて書くわ

Option Explicit 'これであってたっけ?
Private Const mcMaxRow As Long = 3
Private Const mcMaxCol As Long = 3
Private mText(1 To mcMaxRow, 1 To mcMaxCol) As TextBox
Private mCheck(1 To mcMaxRow) As CheckBox

21 :デフォルトの名無しさん:2006/10/23(月) 14:32:16
Private Sub ContainorMake()
Dim i As Long, j As Long
Dim cnt As Long, TempLeft As Long, TempCulc As Long
Me.Check(0).Top = 0
Me.Text1(0).Top = 0
For i = 1 To mcMaxRow
Load Me.Check(i)
Set mCheck(i) = Me.Check(i)
Set mCheck(i).Container = Picture1
With mCheck(i)
.Top = mCheck(i).Height * (i - 1)
.Visible = True
End With
Next i
cnt = 0
For i = 1 To mcMaxRow
TempLeft = mCheck(i).Left + mCheck(i).Width
TempCulc = 0
For j = 1 To mcMaxCol
cnt = cnt + 1
Load Text1(cnt)
Set mText(i, j) = Text1(cnt)
Set mText(i, j).Container = Picture1
With mText(i, j)
.Left = TempLeft + (.Width * (j - 1))
.Top = mCheck(i).Top
.Text = ""
.Visible = True
End With
Next j
Next i
End Sub

22 :デフォルトの名無しさん:2006/10/23(月) 14:36:01
上のは
コンテナ用
Picture1 As PictureBox

あとは表示用
Check(0) As CheckBox
Text1(0) As TextBox

という3つのコントロールが貼り付けられてるの前提でお願い(CheckBoxno縦幅にあわせるので)
あとチェックとテキストは貼り付けた時にサイズを適応に指定して、非表示っつうかんじで

23 :デフォルトの名無しさん:2006/10/23(月) 15:17:05
参考書のとおりに
outportb Port +2,0
と打つと、
outportb(Port +2,0)
となってしまうのですがなぜでしょう。
outportbは宣言済みです。

24 :デフォルトの名無しさん:2006/10/23(月) 15:20:57
>>17
CreateObject でエクセルでも使え。

25 :デフォルトの名無しさん:2006/10/23(月) 17:07:57
>>23
仕様。

26 :デフォルトの名無しさん:2006/10/25(水) 23:25:56
掛け算のプログラムを打ち込みたいのですが、繰上げの部分がうまくできません。
↓のは足し算のプログラム(端折ってますが)なんですが、
これからうまく掛け算のプログラムに変えられますか?

For i = 0 To L2 - 1
a = CInt(Mid(strA, L1 - i, 1))
b = CInt(Mid(strB, L2 - i, 1))

wa = kuriage + a + b

If wa <= 9 Then
ans = CStr(wa) & ans
kuriage = 0
Else
ans = Mid(wa, 2, 1) & ans
kuriage = 1
End If
Next i

If kuriage = 0 Then
If L1 = L2 Then
execPlus = ans
Else
execPlus = Mid(strA, 1, L1 - L2) & ans
End If

Exit Function
End If

27 :デフォルトの名無しさん:2006/10/25(水) 23:28:11
> これからうまく掛け算のプログラムに変えられますか?
変えられるだろうけど、変える気はしない

28 :デフォルトの名無しさん:2006/10/26(木) 00:49:42
>>27
激しく同意www


>>26
つか、普通に+演算子とか*演算子を使っちゃいかん理由でもあるのか?

・・・と、釣られてみるwww

29 :デフォルトの名無しさん:2006/10/26(木) 11:19:07
>>28
10進演算したいんじゃない?

30 :26:2006/10/26(木) 13:12:13
引用して打ち込んでください、とのことなんですが、>>28さんのやり方でやってみます。

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

31 :デフォルトの名無しさん:2006/10/30(月) 01:49:06
マンカス

32 :デフォルトの名無しさん:2006/10/30(月) 10:12:22
VBからADO経由でJETデータベースの
ロック状況とか接続ユーザーの情報とか
取得する方法ってある?

やっぱ*.ldbの有無と内容を解析するしかない?


33 :デフォルトの名無しさん:2006/10/30(月) 13:11:11
プロの方々、教えてください。
「abc123」というテキストが書かれているファイル
test01.txt をバイナリで読み込んで、それの
1文字目と2文字目のxor値をとり、その値を
abc123の後に入れてファイルに書き出すことが
やりたいのですが、下記を実行すると
「型が一致しません」となります。
どうおかしいのかと、さらにはうまくいく方法を
教えていただけないでしょうか。
よろしくお願いいたします。
ちなみにBASP21を使っており、本ソースは
xor値をとるところまでとなっています。

Option Explicit
Dim bobj
Dim BinAll
Dim BinXor
Set bobj = CreateObject("basp21")
BinAll = bobj.BinaryRead("C:\test01.txt")
BinXor = bobj.MidB(BinAll,1,1) Xor bobj.MidB(BinAll,2,1)


34 :デフォルトの名無しさん:2006/10/30(月) 13:24:49
何でわざわざbasp21使うの?
バイナリ読込はVB標準で出来るのに。


というツッコミは無しですか?

35 :33:2006/10/30(月) 13:32:25
>>34
あ、そういうツッコミもアリです。
ありがとうございます。

VBSでも標準でできるんでしょうか?


36 :デフォルトの名無しさん:2006/10/30(月) 13:50:26
VBSの場合、VBS(wsh及びvbscript)の機能では出来ないけど
basp21入れなくても標準で入ってるCOMでバイナリ読み出来る。

つーか、ここはVB6スレなわけよ。
VBSは一応許容範囲だが、その場合はきちんとVBSであることを明記すること。
VBSだと予測は付くが、クイズスレじゃないんだから回答者に予測させてどうするよ?

37 :デフォルトの名無しさん:2006/10/30(月) 13:53:22
>>35
俺ならADODB.Streamで
バイナリデータ読み込むけどなぁ。

38 :33:2006/10/30(月) 14:01:55
なるほど。
いろいろツッコミありがとうございます。
ところで、方法はいろいろあってバイナリで
読み込んだとしましょう。

読み込んだ後に1バイトとるってのは
BASP21だとMidBなんでしょうが、
他だとどうなるんでしょうか。
また、その1バイトとったやつの
XOR値をとると「型エラー」になるということは、
バイト型or数値型になっていないのでしょうか・・・


39 :デフォルトの名無しさん:2006/10/30(月) 14:22:01
つーか、バイナリに対して「1文字目と2文字目」って何なの?
abc123なら「61 62 63 31 32 33」となるわけだが、
1文字目が6で、2文字目が1って意味か?それとも61と62か?
ちゃんとバイト・ビットって正しい用語を使って話せるようになろうよ。

40 :33:2006/10/30(月) 14:28:14
>>39
本来テキストなので、そのときの1文字目および2文字目
という意味です。
当然バイナリで読み込んだ後は1バイト目、2バイト目
というふうに言い換えるべきでした、すいません。


41 :デフォルトの名無しさん:2006/10/30(月) 14:53:58
2バイト文字の場合どうするんだい?

とにかく君は、全てに置いて抜け過ぎ。
自分の頭の中では、VBSなのもテキストとしての文字数単位なのも決定事項なんだろうが
第三者には君の脳内決定事項なんて知らない。もっと深く考える頭を持とうぜ。

で、ぶっちゃけテキストとしての文字単位なら、テキスト読みして
strText = "abc123"
MsgBox Asc(Mid(strText, 1, 1)) Xor Asc(Mid(strText, 2, 1))
でいいんじゃないの?

42 :33:2006/10/30(月) 15:01:30
>>41
そうですね、すいませんでした。
とりあえず2バイト文字の場合もあるし、
純粋にバイナリの場合もあります。
毎回確実に1バイトとるので、ascが使えない
場合もあります。
言葉足らずでほんと申し訳ないです。

43 :デフォルトの名無しさん:2006/10/30(月) 15:22:35
テキストなんじゃなかったのかよ。
とりあえずADODB.Streamでバイナリ読んでAscB(.Read(1))で。

44 :33:2006/10/30(月) 15:30:44
>>43
なるほど、AscBで数値を取得できました。
目からウロコです。ありがとうございました。

これをまたバイナリに戻すのは、なんという
関数を使えばいいのでしょうか?
文字列であらわせるとは限らないので、
chrだとダメなんでしょうか・・・

45 :33:2006/10/30(月) 15:59:25
chrBを自力で見つけました。
これでちょっとやりたかったことをやってみます。
本当にありがとうございました。

46 :デフォルトの名無しさん:2006/10/30(月) 16:37:53
普通にバイト配列に読み込めばいいだけだろ。

47 :デフォルトの名無しさん:2006/10/30(月) 22:55:02
こういうのも自力って言うのかねぇ?
AscにAscBが有るのを教えれば、Ascと対になるChrに
ChrBが有ると教えてるのと同じだろうに。

48 :デフォルトの名無しさん:2006/10/30(月) 23:12:50
バイナリで書き込むときに、また行き詰るんじゃないか。


49 :33:2006/10/31(火) 18:09:36
バイナリで書くときに行き詰りましたorz
要は、自分が今どんな状態なのか
把握してないんですよね・・・

AscBにしてもChrBにしても、バイナリ書きが
できません。
BASP21のBinaryWriteを使ってるんですが、
Xor値をとった答えが書き出せないんです。

Dim bobj
Dim BinAll
Dim BinXor
Dim wlen
Set bobj = CreateObject("basp21")
BinAll = bobj.BinaryRead("C:\test01.txt")
BinXor = bobj.AscB(BinAll,1,1) Xor bobj.AscB(BinAll,2,1)

wlen = bobj.BinaryWrite(BinXor,"C:\test02.txt")


50 :デフォルトの名無しさん:2006/10/31(火) 18:57:06
もう飽きたから、君は来なくて良いよ。

51 :デフォルトの名無しさん:2006/10/31(火) 19:16:06
>>50
すごい自分勝手なやつだな
ここってこんなやつばっかりか?

52 :デフォルトの名無しさん:2006/10/31(火) 19:42:06
>>49
何で BASP21 等という訳の分からん物使うんだ?
ファイルの読み書きなんて、VB標準で出来るだろうが。

53 :デフォルトの名無しさん:2006/10/31(火) 19:51:09
VBSじゃなかったけ?
まぁ質問者は仕様をもっと明確にしたほうが良い

54 :デフォルトの名無しさん:2006/10/31(火) 20:43:24
> BinXor = bobj.AscB(BinAll,1,1) Xor bobj.AscB(BinAll,2,1)
ていう風に、いきなり関数をXorに掛けないで、
まずは変数ち取って処理しろ。そしてエラーが出たら、MegBoxなどで
変数自体の値やTypeNameを確認する。無知なりに工夫してやれよ。
これは今回に限らず何でもそうだ。
オマエは行き詰まったら、そこで努力や試行錯誤も止めてるとしか思えない。


55 :デフォルトの名無しさん:2006/10/31(火) 21:06:48
思えない、というより実際そうだからこんなところで聞いているのだろう。

56 :デフォルトの名無しさん:2006/10/31(火) 22:33:51
VBScriptもokとは言え、
ここより、BASPやVBScript、WSHの掲示板で聞いたほうがいいんじゃないか。


57 :デフォルトの名無しさん:2006/11/01(水) 00:22:47
質問させていただきます。
VB5 使っているのですが、例えばメモ帳の IMEモードを取得したい場合
どうやったらよいですかね?
次番号にコード書きます。フォームの上にラベルコントロール1個、
テキストボックス1個、タイマーコントロール1個を配置してください。
テキストボックスに、IMEが ONなら、0以外の数値が入ります。




58 :デフォルトの名無しさん:2006/11/01(水) 00:23:58
Option Explicit
Private Declare Function GetForegroundWindow Lib "user32" () As Long

Private Declare Function ImmGetContext Lib "imm32.dll" (ByVal hwnd As Long) As Long
Private Declare Function ImmReleaseContext Lib "imm32.dll" (ByVal hwnd As Long, ByVal himc As Long) As Long

Private Declare Function ImmGetOpenStatus Lib "imm32.dll" (ByVal himc As Long) As Long

Private Sub Form_Load()
Me.Label1.Caption = "ImmGetOpenStatus"
Me.Timer1.Interval = 400
End Sub

Private Sub Timer1_Timer()
Dim Ret As Long, RetB As Long, GFgW As Long

GFgW = GetForegroundWindow

Ret = ImmGetContext(GFgW)

RetB = ImmGetOpenStatus(Ret)
Me.Text1.Text = RetB

RetB = ImmReleaseContext(GFgW, Ret)
End Sub


59 :デフォルトの名無しさん:2006/11/01(水) 00:25:51
自フォーム内で、IMEを ON/OFFすると反応するのですが、
メモ帳とか他アプリだと反応しません。
AttachThreadInputも試したのですが、やはり反応しませんでした。
なにか助言ありましたら、お願いします。


60 :デフォルトの名無しさん:2006/11/01(水) 23:53:04
XPでVisual Basic 6.0を使用しています。

Imageコントロールに画像を貼り付けた後、それをドラッグして移動させて、
先ほどのImageコントロールの場所にまた別の画像を貼り付ける(この画像もドラッグできる)。
という作業を繰り返せるようにしたいのですが、一つのImageコントロールから
何回も別の画像を取り出せるようにするにはどうしたらいいのでしょうか?

Image1(x)として、xを変更していけばできるのでしょうか…?

61 :57:2006/11/02(木) 00:18:28
>>60
フォームに、イメージコントロール1個、テキストコントロール1個、
コマンドボタン1個、シェイプコントロール1個を作成してください。
イメージコントロールの index は 0 に。
下記のコードを貼り付けてください。


62 :57:2006/11/02(木) 00:19:55
Option Explicit

Dim mDownFLG As Boolean, mDownX As Single, mDownY As Single, sX As Single, sY As Single

Private Sub Command1_Click()
Dim i As Long
i = Me.Image1.Count
Load Image1(i)

Image1(i).Picture = LoadPicture(Text1.Text)

Image1(i).Visible = True
Image1(i).ZOrder
End Sub

Private Sub Form_Load()
Me.Shape1.BorderWidth = 2
End Sub

Private Sub Image1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
mDownFLG = True
With Me.Shape1
.Move Me.Image1(Index).Left, Me.Image1(Index).Top, Me.Image1(Index).Width, Me.Image1(Index).Height
sX = .Left: sY = .Top
mDownX = X: mDownY = Y
.Visible = True
.ZOrder
End With
End Sub


63 :57:2006/11/02(木) 00:20:47
Private Sub Image1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If mDownFLG = True Then
Me.Shape1.Left = sX + (X - mDownX)
Me.Shape1.Top = sY + (Y - mDownY)
End If
End Sub

Private Sub Image1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
mDownFLG = False
Me.Shape1.Visible = False
With Me.Image1(Index)
.Left = Me.Shape1.Left
.Top = Me.Shape1.Top
End With
End Sub


64 :57:2006/11/02(木) 00:23:00
テキストボックスには、画像ファイルのフルパス+ファイル名で、
コマンドボタンをクリック。
あとは、適当に動かせるハズ。しょぼいコードですが。

・・・うまくいったら、57の質問にご協力を・・・。Orz


65 :デフォルトの名無しさん:2006/11/02(木) 08:42:19
>>64
hWnd がしっかり取れてないだけでは。

66 :デフォルトの名無しさん:2006/11/02(木) 10:20:21
>>64
プロセスをコンソールに吐く事くらいしろ。

やりたい事がよくわからんけどヒントやる。
・自分でメモ帳起動して、プロセス取得
・マウスの位置からプロセス取得
・ウィンドウのタイトルからプロセス取得

まぁ頑張って。


67 :デフォルトの名無しさん:2006/11/02(木) 17:03:21

6.0プロと6.0エンタープライズ

のバージョンに違いはどれ位ありますか。

エンタープライズに出来てプロにはない機能とか、

簡単でいいので教えてください

68 :デフォルトの名無しさん:2006/11/02(木) 20:15:52
>>67
ハルミデザインとオリエント工業くらい違う。


69 :57:2006/11/02(木) 20:17:49
>>65 >>66
ありがとうございます。メモ帳等のハンドルは取れるのですが、
ImmGetContextについて調べた結果、自アプリ以外の hWnd は
はじいてしまうようです。ImmEnumInputContextを使えばあるいは・・・
というところまでは行ったんですが、AddressOf演算子を使ったりで、
メモリーエラーを頻繁に出すので、もうあきらめる事にします。

>>67
Winsock等の便利コントロールが付いてくるか来ないかの
違いだった気がします。


70 :デフォルトの名無しさん:2006/11/02(木) 20:48:43
いいかげんな事を書くのは嘘よりタチが悪い

71 :デフォルトの名無しさん:2006/11/02(木) 23:27:47
LeaningEdition買っちゃって(´・ω・`) な俺様が通りますよ
っていうか今から6.0買う人っているのね

72 :デフォルトの名無しさん:2006/11/03(金) 00:06:59
血統書つきの6.0は高値で取引されるのですよ・・・ニニフ

73 :デフォルトの名無しさん:2006/11/03(金) 02:01:46
MSDN契約してたら全部
月単位で送ってくるんじゃね?

74 :デフォルトの名無しさん:2006/11/03(金) 03:16:09
フォームAからフォームBを起動するときにパラメータを渡す方法としてはどのような方法が一般的なのでしょうか?いくつかオプションがある場合はその長所と短所を説明していただけませんでしょうか?


75 :デフォルトの名無しさん:2006/11/03(金) 09:37:37
フォームは起動するもんじゃないだろ
イチャモンだと思うかもしれないが重要なことだよ。

フォームBは必要なパラメータをプロパティとして公開しといて、
フォームBを作った奴がそれを設定するのがVBではベストじゃないかな。

VBでも工夫すれば他の言語の引数付きのコンストラクタみたいなことも
できないこともないが、コードを書いたときにはうまく書けたように思えても
あとで見直すとわかりにくいコードになりがち。

なんにしろ今時のOOP言語と比べてVBのダメなところがもしわかってないなら
妙な工夫はむしろしない方がいいと思う。

76 :デフォルトの名無しさん:2006/11/03(金) 10:53:40
>>74
http://hanatyan.sakura.ne.jp/vbbbs/wforum.cgi?mode=allread&no=7627&page=0
マルチ乙

77 :デフォルトの名無しさん:2006/11/03(金) 11:01:15
マルチとかくだらんことにこだわる奴の方こそ病気だと俺は思うけどね
マルチが悪い理由を系統だてて聞いたためしがない。
俺様の好意を踏みにじる行為だ云々、という浪花節なら何度も聞いたが。

78 :デフォルトの名無しさん:2006/11/03(金) 11:19:50
マルチが悪い理由すら思いつかない奴が
まともなプログラム組めるのか?
論理的な思考回路を持ってないとしか思えないがw

79 :デフォルトの名無しさん:2006/11/03(金) 11:28:25
そういうのが浪花節っていうんだよw
情に訴えるんじゃなくて論理に訴えてくれ

80 :デフォルトの名無しさん:2006/11/03(金) 11:36:13
じゃ、取り敢えずマルチポストOKの立場から
マルチポストの有益なところを聞かせてくれないか?


81 :デフォルトの名無しさん:2006/11/03(金) 11:41:26
悪いけど無罪を証明するまでは有罪みたいな思考は北朝鮮か中国なみの民度だと思うぞw
といってもアホにはわからんかw

82 :デフォルトの名無しさん:2006/11/03(金) 11:47:34
つまり、建設的に議論する気はない訳ね?
俺は参考までに意見を聞きたかったんだがな。

つ〜ことで、以下スルーヨロwww

83 :デフォルトの名無しさん:2006/11/03(金) 11:51:41
> 以下スルーヨロ
って、言い負け宣言だよね。
もう言い返せないから、これ以上虐めないで・・・ってw

84 :デフォルトの名無しさん:2006/11/03(金) 11:54:29
マルチはイカンと言い出した側がスルーって意味がわからんw
挙証責任の概念もないのか。
マルチ有罪説を解きたいならそう主張する側がそれを立証しろってw

85 :デフォルトの名無しさん:2006/11/03(金) 11:55:44
ちょっとまてw
77≠80だwww


86 :デフォルトの名無しさん:2006/11/03(金) 11:56:13
ついでに言うと80=82だが。

87 :デフォルトの名無しさん:2006/11/03(金) 12:03:37
議論の内容に興味持ってるのではなく
単に踊らせるために煽ってるだけだってことに気付いているのかな。
そこの操り人形の如く踊っちゃった哀れな道化師君。

88 :デフォルトの名無しさん:2006/11/03(金) 12:05:49
つまらんな。

89 :デフォルトの名無しさん:2006/11/03(金) 12:07:37
糞虫ども乙www

90 :デフォルトの名無しさん:2006/11/03(金) 12:09:41
お前らはマルチどーのこーの以前の存在だよ

91 :デフォルトの名無しさん:2006/11/03(金) 12:29:31
俺はシナリオ書くだけ。
プログラム書いて機械を踊らせるよりは
シナリオ書いて人間踊らせる方がおもしろい。

92 :デフォルトの名無しさん:2006/11/03(金) 12:49:59
>>75
今時のOOP言語と比べる事自体間違ってるだろ。
優劣なんかなくて、単に適材適所なんだから。

93 :デフォルトの名無しさん:2006/11/03(金) 13:02:23
>>92
何を見当違いなことを。。
誰もVBそのものの他と比べた優劣なんか言ってないだろうに。

ただVBのOOP言語としての問題を踏まえずに下手に工夫をこらすと
策士策に溺れるになるよ、と言ってるだけだろう。
だからベタなコード書けと言ってるわけだが、それも読めないのか。

94 :デフォルトの名無しさん:2006/11/03(金) 13:17:53
>>93
自分が比較してる事すら分かってないのか。
救い様がないな。

95 :デフォルトの名無しさん:2006/11/03(金) 13:23:50
ダメなところを考えずにどうやって適材適所を判断するんだろう…。

96 :デフォルトの名無しさん:2006/11/03(金) 13:30:22
まあ、日本語という(恐らく)ネイティブな人語の読解すらままならない奴に
何言っても恐らく無駄だろう。

昔から日本の国語教育って問題あるけど、最近若い奴に特に増えてるね。
文章から文脈とか意図とかを正しく読み取れない奴が。

97 :デフォルトの名無しさん:2006/11/03(金) 13:55:38
>>96
お前が一番分かってない

98 :デフォルトの名無しさん:2006/11/03(金) 14:04:10
VBの話しようぜ。

99 :デフォルトの名無しさん:2006/11/03(金) 14:46:13
よし。じゃぁ燃料を投下しよう。

VBでもイベントは継承できるじゃん。

継承元でコーディングして、それをさらに継承すれば
オブジェクトっぽい継承が実現できない?

ちなみに、経験上そんなことはした事ない。

精々、へっぽこDBとのIF部品にイベント
を組み込んでカーソルの移動を送ったくらい。

100 :デフォルトの名無しさん:2006/11/03(金) 21:41:40
>>61-64
返事が遅れてしまいましたが、上手くいきました。
本当にありがとうございました。

101 :デフォルトの名無しさん:2006/11/03(金) 22:40:38
>>99
無理矢理そんな使い方しなくても。
VBらしいコードを書けばいい。

102 :デフォルトの名無しさん:2006/11/03(金) 22:41:50
Collectionを型だと思っているヤシは死んだほうがいい。

103 :デフォルトの名無しさん:2006/11/03(金) 23:15:08
Collectionは型だよ。
そんなことも知らなかったの?

104 :デフォルトの名無しさん:2006/11/03(金) 23:20:05
>>103
あれは、デフォルトプロパティを持つクラス。

105 :デフォルトの名無しさん:2006/11/03(金) 23:23:55

Private WithEvents evtTextBox As TextBox

とかって書いて、イベントを紐付ける事ってできるじゃん。

あれをActioveXDllで実装しようとしたら、
イベントが紐つかないのはなぜ?

オレはわからん・・・。


106 :デフォルトの名無しさん:2006/11/03(金) 23:26:16
>>105
「紐付ける」って何だ?
方言か?

107 :デフォルトの名無しさん:2006/11/03(金) 23:27:55
>>106
イベントを関連付ける。

その前に、お前に質問の意味がわかるの?

108 :デフォルトの名無しさん:2006/11/03(金) 23:32:46
>>102-104
なんかこのスレにお似合いの間抜けなやり取りだなあ
特に104はアホだろうかw

109 :デフォルトの名無しさん:2006/11/03(金) 23:34:25
>>104
メール欄見るといいよ。
「これは餌です。釣られないようにw」って書いてあるから。

110 :デフォルトの名無しさん:2006/11/03(金) 23:34:38
>>103,108
カスめ。 出直してこい。

111 :デフォルトの名無しさん:2006/11/03(金) 23:38:57
>>103,108
カス共にヒントをやるよ。

As New とかいてインスタンスが生成できるのは
なんでだと思う?

112 :デフォルトの名無しさん:2006/11/03(金) 23:45:39
Cのtypedefが新しい型の定義ではない、という話はわりとよく聞くが、
クラスは型でないって見解は初めて聞いたよw

っていうか、VBのコレクションが組み込みのクラスだって見解も本当かよって気もするが。

113 :デフォルトの名無しさん:2006/11/03(金) 23:48:45
>>111
ttp://strawberry.web-sv.com/cgi/up/sgt/nm1567.mp3

114 :デフォルトの名無しさん:2006/11/03(金) 23:57:24
>>112
確かにオマイのいう通りだ。
そもそも、クラスはユーザー定義型だ。なさけねぇ・・・

VBのコレクションは、組み込みのクラスだ。
やっと話が分るヤシがいた。

115 :デフォルトの名無しさん:2006/11/04(土) 00:00:39
>>113
てめぇ!・・・保存しちゃったよ・・・。

>>112
ttp://msdn2.microsoft.com/ja-jp/library/a1y8b3b3.aspx

116 :デフォルトの名無しさん:2006/11/04(土) 00:20:13
なんか103に釣られまくってるな。

117 :デフォルトの名無しさん:2006/11/04(土) 00:22:29
・・・・・あ、あれが釣りなのか・・?

も、もしかして、釣られてるのか・・?

118 :デフォルトの名無しさん:2006/11/04(土) 00:37:44
目欄にわざわざ . を入れてるところを見ると、最初から釣り目的だったんだろうな
後から本人が出てきて釣りだったと言っても誰も信用しないので
事前に餌として書いているのだという証拠を残しておくって寸法だろう
これで反応しちゃった奴らは、釣られたという事実に対して言い訳出来なくなるし

119 :デフォルトの名無しさん:2006/11/04(土) 01:31:53
他人の書き込みをいちいち疑わない普通の人なら「騙される」のは当たり前。
「釣られた」のは言い訳できない事実だが、恥ずかしがる必要は全く無い。

本気で書いてるかどうかなんて本人以外の人がわかるわけないんだから、
どうせ「釣る」ならもっと釣った側も釣られた側も楽しめるようなトリックを仕掛けようぜ。

120 :デフォルトの名無しさん:2006/11/04(土) 05:42:43
>>76
なるべく多くの方の意見を聞きたかっただけです。
別の掲示板なので問題ないと思いますが。。。

121 :デフォルトの名無しさん:2006/11/04(土) 09:10:57
自作自演でマッチポンプに見える罠www


122 :デフォルトの名無しさん:2006/11/04(土) 09:27:27
可愛そうに

123 :デフォルトの名無しさん:2006/11/04(土) 09:35:48
>>75
>>99
ありがとうございました。


124 :デフォルトの名無しさん:2006/11/04(土) 14:23:10
お前ら











                      休日なのに楽しそうだな!まったく

125 :デフォルトの名無しさん:2006/11/04(土) 15:49:23
>>124
デスマーチ乙であります。

126 :デフォルトの名無しさん:2006/11/06(月) 03:13:23
別のプログラムにキーボード入力を送るプログラムを書こうと思い
試しにメモ帳に「A」と入力しようとしているのですがなかなかうまくいきません。
SendKeysやkeybd_eventは対象のウィンドウがアクティブでないと使えないのでPostMessageを使おうとしたのですが…、

PostMessage handleOfNotepad, WM_KEYDOWN, vbKeyA, 1
うんともすんともいいません。

handleOfNotepad には事前に取得したメモ帳のハンドルが入っています。
普段は0でメモ帳を起動すると違う値になるのでここは間違えていないと思います。
PostMessageの返り値は1でした。

何が原因なのでしょうか…?

127 :デフォルトの名無しさん:2006/11/06(月) 04:00:14
>>126
WM_KEYDOWN送ってるから。

128 :デフォルトの名無しさん:2006/11/08(水) 01:42:03
いままでVBをほとんど触ったことがなかったんですが今日仕事でちょっと触ることになったのですが
よくわからなかったのでお教えください。
フォームの上のコントロールが移動したりサイズ変更しようとしてもまったくできませんでした。
VSSで管理されていたのでチェックアウトして読み取り専用は編集前にはずしました。
なぜ動かせなかったんでしょうか?
自分で新規作成してフォームに貼り付けたコントロールは動かしたりサイズ変更したりできたと思ったのですが…


129 :デフォルトの名無しさん:2006/11/08(水) 01:46:47
>>128
フォームを右クリック

130 :デフォルトの名無しさん:2006/11/08(水) 01:48:21
右クリックメニューにロック解除的なメニューか何かがあるのでしょうか。。
すいません今ソースが手元にない(自宅)なので試せないのですが、
明日会社で試してみます。ありがとうございます。


131 :デフォルトの名無しさん:2006/11/08(水) 01:50:48
今自宅のVB6でフォーム上で右クリックしたらロックって書いてありますね…
何で気づかなかったんでしょう…ありがとうございます(//▽//)

132 :デフォルトの名無しさん:2006/11/08(水) 16:20:24
先生方に、ちょい質問。

現在、VB6.0+VSFlexGrid7.0で開発中。

そこで、VSFlexGridを使ったサンプルソースのあるような
サイト知ってる?

エロイ人、教えて。

133 :デフォルトの名無しさん:2006/11/08(水) 16:44:11
お前の態度が気に入らない。

134 :132:2006/11/08(水) 17:07:50
>>133
先生、無知な私をお許しください。


先生、どうか教えていただけないでしょうか?

135 :デフォルトの名無しさん:2006/11/08(水) 17:24:01
先生と連呼するのは相手をとても馬鹿にした態度です。
狙って言ってるんだろうけどな。

136 :デフォルトの名無しさん:2006/11/08(水) 18:05:59
>>132
製品に各種サンプルが付いてくるじゃん。
グレープシティのサイトにも色々あるし。

137 :132:2006/11/08(水) 18:06:16

わかりました。



おい、この下衆野郎。
どうか教えてください。

138 :デフォルトの名無しさん:2006/11/08(水) 20:04:13
つーか、いきなり楽してソースを得ようって態度が気に入らない。
まずはリファレンスで基本を勉強、次に他人の書いたソースで応用を参考に、だろ。


139 :デフォルトの名無しさん:2006/11/08(水) 21:19:26
まずは製品サンプルを全部読めよ・・・

140 :デフォルトの名無しさん:2006/11/09(木) 03:07:11
時間になったらテーブルファイルに登録されたファイルの
タイムスタンプをチェックしたいんですが
Timerコントロールで5秒おきに、その時間かどうかチェックさせてます
具体的には↓な感じに
DateDiff(n,format(now,"HH:MM"),format(destTIME,"HH:MM")

Timerコントロールで毎5秒チェックってのが気に入らないんですが
リアルタイムにさせる事はできますか?



141 :デフォルトの名無しさん:2006/11/09(木) 03:17:15
こういうのもゆとり教育の弊害?>>140

142 :デフォルトの名無しさん:2006/11/09(木) 09:08:53
ピクチャボックスに、Line関数を用いて簡単なグラフを描いたのですが
その上に別のウィンドウを重ねると重なった部分だけグラフが消えてしまいます。
どなたかお教えいただけないでしょうか?

143 :デフォルトの名無しさん:2006/11/09(木) 09:30:51
鳳描画

144 :デフォルトの名無しさん:2006/11/09(木) 09:48:34
ListViewコントロールで詳細表示にしたとき、
アイテム(行)をD&Dで入れ替えられるようにするのはどうすればいいですか?

145 :デフォルトの名無しさん:2006/11/09(木) 12:27:38
>>142
再描画しる。

>>144
MouseDownイベントとMouseUpイベントで、行が違う場合に
それぞれの行の情報を入れ替えるみたいな、地道な作業が
ぱっと思い浮かんだ。

もしかしたら、HitTestメソッドとか使わないと、自分の列が取得
できないかも。

ガンガレ。

146 :デフォルトの名無しさん:2006/11/09(木) 14:10:54
>>145
MouseDownとMouseUpで、D&D開始位置と終了位置の
行番号を取得する部分まではガンガって作ってみたものの、
26列のSubItemを一つ一つ移動するのはどうかと思い、
質問に来た次第です。

最低でもListItem単位の入れ替えが出来ないものでしょうか?
出来ればFlexGridの
RowPosition(元の行番号) = 移動先行番号
の様に、インデックスのみで操作出来れば理想的なんですが。

147 :デフォルトの名無しさん:2006/11/09(木) 15:28:01
>>146
オレが知る限り、いきなり移動はできないと思うが、subitem単位じゃなくて
ListItemという型を使って、行単位ではどうよ?

148 :デフォルトの名無しさん:2006/11/09(木) 16:30:30
なんにせよ内部じゃ一個づつ移動してるわけだがな

149 :デフォルトの名無しさん:2006/11/09(木) 19:44:12
そもそも、ListView でそんなUIはどうかと思うが。

150 :デフォルトの名無しさん:2006/11/09(木) 21:23:55
ケツを付ける奴に限って、良い提案すらまともに出来ない件について

151 :デフォルトの名無しさん:2006/11/09(木) 21:39:56
>>148
それをいうと元も子もない。


CでWin32Apiかけるようになれば、VBアプリ自体、
裏でちまちまと動いてるのがわかる。


けど、生産性と要員の確保から考えると、
オレはVBはスゴイと思うし、結構好きだ。



152 :デフォルトの名無しさん:2006/11/09(木) 23:34:39
>>150
つまりそれがお前にとっての良い提案か。

153 :デフォルトの名無しさん:2006/11/10(金) 13:42:13
DropHighlight プロパティって違うの?

154 :デフォルトの名無しさん:2006/11/10(金) 18:59:00
すみません。

プロセスIDからそのプロセスが存在するか、
存在する場合にWindowsのハンドルないし、タイトルが
取得できるようなAPIはありますか?

もしくは、APIを工夫して、そのような処理が実現できますか?

155 :デフォルトの名無しさん:2006/11/10(金) 19:06:37
>>154

自己レスします。
解決しました。

OpenProcess

156 :デフォルトの名無しさん:2006/11/10(金) 22:51:11
Visual Basic 6.0 SP5 を使用しています。
複数のフォーム(画面)があるプロジェクトで、各画面のテキストボックス
などのサイズを変更しています。

変更中の画面を(プログラム実行時のような表示で)プレビュー確認したい
のですが、実行(F5)してしまうと、変更中の画面ではなく特定の画面が表示
されてしまいます。(スタートアップフォームの画面?)

変更している画面をその場でその画面だけを実行時のプレビューとして確認
したいのですが、何か方法はありますでしょうか。

(他の設定類やプログラムなどはできれば変更したくないです。)


157 :デフォルトの名無しさん:2006/11/11(土) 02:20:47
>>156
設定もプログラムのいじらないでってことなら、
実際にプログラムを実行していってそのフォームを開くしか方法なさそう。

158 :デフォルトの名無しさん:2006/11/11(土) 06:30:42
>>156
よく言っている意味がわかならいが・・・

プロジェクトのプロパティで、スタートアップの設定が
画面になってるんでしょ?

まずは、Sub Mainからスタートさせることからしない?

それぞれの画面でオマイの言うテキストボックスなどの
変更が発生した場合用にグローバルなプロパティを
コーディング。

次にSub Mainの中で、オブジェクト変数を書いて
そこに画面のインスタンスを生成。

そして、Call Load(おぶじぇくと) としてメモリに溜めこんで
各オブジェクトから変更用プロパティを参照して、フラグが
立っている画面だけをShowしてやればおk?

>>156
よく言っている意味がわかならいが・・・な・・・



159 :156:2006/11/11(土) 10:17:50
レスどうもです。

>>157
やはりそういう手順になってしまいますか。

>>158
すみません。説明不足なところがありました。

すでに出来上がっているアプリケーションの画面のテキストボックスのサイズ
をマウスでドラッグするなどして変更する、というだけの行為なのですが、
変更する画面が複数あるので、実際の画面を確認するのに実行/開始(F5)
をして該当する画面までたどっていくというのが面倒だなと思い、ショートカット
する感じで変更した画面(編集中の画面)を確認する方法はないものかと質問
したしだいです。
ただ作っている最中の画面の確認をしたい、というだけなのでコード類はいじり
たくないというのがあります。
(ほかの人が作ったものの上、私はVB操作の経験があまりありません。)
それで方々調べてみたのですが、それらしいことが見つからなかったので、ここに
質問させていただきました。
>>156の文面じゃよくわかりませんね。orz


160 :デフォルトの名無しさん:2006/11/13(月) 15:40:34
VB6にSP6を充てたのですが、適用できているのかどうかは判るものでしょうか?
バージョン情報の中にはソレっぽい項目がなくて…
VB5のときにはタイトルに[(SP○)]とSP番号がくっついていたのですが今回見あたりません。

別のハードディスクに過去につかっていたVBがあり、SPのセットアップ中、そっちのドライブに書き込まれているような
表示もあったりでほんとうに適用できているか不安なもので…

そのへんの情報のググり方のコツでもいいです… orz

161 :デフォルトの名無しさん:2006/11/13(月) 15:48:45
項目無いなら入ってないんだろうさ

162 :160:2006/11/13(月) 17:30:41
>>161
どもです。
ためしにライセンス違反覚悟で、他のドライブが1つしかないPCで
全部のセットアップをやりなおしたら、SP6の表示がありました。

ダメな方は、どうもおかしな環境になっていて、VisualStudio自体が正常にインストール出来てないようでした。
ドライブ指定しようと何しようと、旧ドライブに何か書いた上に失敗って出てる…気付かなかった orz

163 :デフォルトの名無しさん:2006/11/13(月) 20:38:56
>>160
なぁなぁ?
オレってば、すごい不思議なんだけどよぉ?


どうして、インストールするだけの作業で失敗すんの?


なぁなぁ?なんで?

164 :デフォルトの名無しさん:2006/11/13(月) 20:40:36
ヒント: 無能

165 :デフォルトの名無しさん:2006/11/13(月) 21:32:08
>>163
レジストリとかをを変に弄ってたりすると失敗する事もある。

166 :デフォルトの名無しさん:2006/11/14(火) 09:20:11
>>164
誰でも出来るインスコ作業を能力で失敗できるなら、それはそれで才能だとおも・・・いたい

167 :160:2006/11/14(火) 11:16:58
仕事用の環境で、HDDまるコピーで環境移植したんで、OSとProgramFilesフォルダがサブHDDにも居る上に、
窓98だったのを2kに上書きしていて、VB4が旧と新の両方に、VB5が新にインストールされている。
セットアップ中のインストール先を見ていると、先のを全部見つけ出して、勝手に分解して失敗してるようだ。

レジストリは触ったことないが、さすがにアホい環境っぽいので、新規購入のほうで使うことにする…>VB6
へんなことですまん。

168 :デフォルトの名無しさん:2006/11/14(火) 11:37:37
そりゃおかしくなって当たり前だわな
つーか仕事用でプログラム環境構築なら
OSごと全部クリーンインスコすべし

169 :デフォルトの名無しさん:2006/11/14(火) 12:07:43
>>160,167

まぁ、その、なんだ。
ガンガレ。

170 :160:2006/11/14(火) 15:41:02
ああ、それでもレスが…ありがたや。ガンガル。

>>168
PCから8ビットCPUまで、扱うものがいろいろ有りすぎるのに、PC1台しかもらえず各種環境詰め込み…
上位PCに移行するにも、並べて使えるワケでもなくて、いちからやり直すとすざまじく……
HDD移植で今回の惨状。

もうじき新規にPCを購入してもらえるので、そっちはクリーンインスコでいきまふ。

171 :デフォルトの名無しさん:2006/11/14(火) 17:58:05
VB2005で、Windowsユーザを管理するソフト、って作れるでしょうか?
色々調べているのですが、それらしい資料に当たれません。
ご存知の方、方法論でもヒントでもいいので、情報下さいませorz

172 :デフォルトの名無しさん:2006/11/14(火) 18:06:36
>>171
お前は1すら読めないのか
氏ねばいいのに

173 :デフォルトの名無しさん:2006/11/14(火) 19:29:15
>>171
バッチファイルでさえ作れる。

174 :デフォルトの名無しさん:2006/11/14(火) 22:07:08
VB初心者友の会ってまだやってんの?投稿全然ないけど。

175 :デフォルトの名無しさん:2006/11/14(火) 22:53:52
>>174
何か投稿してみりゃいいじゃん。

176 :デフォルトの名無しさん:2006/11/14(火) 23:47:00
端末側のVB画面からリモート越しにSunのワークステーションに置いているShellコマンドを
起動したいのですが、シンプルに作れそうなそういうAPI系のコード
ないでしょうか?TELNETとかwinsocとか駆使して自前で作らないと
難しいでしょうか?Vb6(SP3),OsはXPです。Sunワークステーションはsol.10です。

177 :デフォルトの名無しさん:2006/11/14(火) 23:48:39
>>176
俺だったらhttps経由でCGI操作するが。

178 :デフォルトの名無しさん:2006/11/14(火) 23:52:01
2chで過去ログ倉庫に入ってるスレの最終更新日(最終書込日)を取得する方法を教えてください。
やりたいことは過去ログの勢い(生存時の勢い)の一覧を作ることです。
勢いは時間当たりのレス数で算出する為、どうしてもスレが立ってから最終書込まで
何ヶ月何日何時間掛かったのかを調べる必要があるのです。
スレが立った日時はスレの番号から、レス数は過去ログ倉庫のsubject.txtから
取得できることがわかり、そこまではコードも書いたのですが、最後のレスの日時だけがわからず行き詰まってます。

●は持っているので●を使う方法でも構いませんが、●でログインする方法とかは全然わからないので、
具体的なサンプルコードでの回答をお願いします。Visual Basic6sp6です。


179 :デフォルトの名無しさん:2006/11/14(火) 23:59:18
>>178
2chサーバの負担になりそうだから教えない

180 :デフォルトの名無しさん:2006/11/15(水) 00:18:25
>  一.答えられない質問は無駄に罵倒せずスルー。無理するな。


181 :デフォルトの名無しさん:2006/11/15(水) 00:18:54
蜂の巣状みたいな正六角形をpictureboxの中にいっぱい書くには
どうすればいいでしょうか?

182 :デフォルトの名無しさん:2006/11/15(水) 00:25:31
>>181
いっぱいとは
一つの六角形を最大の大きさに?
固定の大きさの図形をいっぱい敷き詰め?

三角の組み合わせなんだからパズル的にやってみよう

183 :デフォルトの名無しさん:2006/11/15(水) 00:58:47
>>182
レスありがとうございます。
固定の大きさの図形をいっぱい敷き詰めです。

184 :デフォルトの名無しさん:2006/11/15(水) 01:09:23
>>183
じゃあ固定の六角形の大きさわかってるんだから敷き詰めるだけでしょ

185 :デフォルトの名無しさん:2006/11/15(水) 01:37:43
>>184
正六角形が書けないのですが・・・
どうしたらいいのでしょうか?

186 :デフォルトの名無しさん:2006/11/15(水) 01:48:32
>>185
三角形くらい書けるだろ
一辺がわかれば高さもわかるだろ
線と点の交点は習っただろ
三角形を組み合わせれば六角形が書けるだろ
正三角形の角度くらいわかるだろ
HEX描画くらいぐぐれば出てくるだろ
一個の六角形が書ければ重ねるだけでしょ
色々やり方あるでしょ

187 :デフォルトの名無しさん:2006/11/15(水) 02:05:24
>>186
三角形は書けますが・・・
その方法で書くと六角形の中に線が出てくるので、
六角形のそれぞれの頂点の座標を指定して書いてみましたが、うまく書けずに縦長になってしまいます。
適当な大きさの正六角形の座標を教えていただけないでしょうか?

188 :デフォルトの名無しさん:2006/11/15(水) 02:14:24
>>187
ちゃんと計算した?タイルにするには正六角形+αが無いとめんどくさいよ
重ねる事も考えて作ろうね

189 :デフォルトの名無しさん:2006/11/15(水) 02:31:42
LOGOは知らないけどさ
top:
left 30
forward 100
right 30
forward 100
right 30
forward 100
left 30
forward 100
if x < width goto top
以下略

190 :デフォルトの名無しさん:2006/11/15(水) 06:41:31
ComboBoxのテキストを右寄せにする方法を教えてください。
スペースで調整するとかではなく、文字寄せ方向の変更です。

191 :デフォルトの名無しさん:2006/11/15(水) 08:09:21
>>190
バカだろ。

文字寄せっていうのは、内部で文字位置を調整してる
だけなんだよ。


コンボボックスの場合は、APIで位置を調整するしかない。

192 :デフォルトの名無しさん:2006/11/15(水) 08:54:15
ハズレ

193 :デフォルトの名無しさん:2006/11/15(水) 14:28:13
>>191
>>191
>>191
>>191
>>191
>>191


194 :デフォルトの名無しさん:2006/11/15(水) 15:07:22
だれか教えてやれよ。

195 :デフォルトの名無しさん:2006/11/15(水) 15:33:21
>>192,193
もしかして、右から左に読むとか双方向テキストの表示と
勘違いしてない?

196 :デフォルトの名無しさん:2006/11/15(水) 15:46:58
MsgBox "WWWWWWW"&vbTab&"bbb"&vbLf&"1111111"&vbTab&"bbb"
タブで揃えようとしてもずれるんですが、
うまく揃える方法はありませんか?
スペースをいくつ足すとよいか計算する方法とか。


197 :デフォルトの名無しさん:2006/11/15(水) 15:51:52
>>196
それ、おもしろい宿題じゃん!
再帰なんかで書いたら、結構格好いい関数できると思うよ。

オレも、夜眠たくなったら、ちょっとコーディングしてみるよ。

198 :デフォルトの名無しさん:2006/11/15(水) 15:52:00
>>196
プロポーショナルフォントだと
スペース使用で揃えるのは難しいと思うよ

199 :デフォルトの名無しさん:2006/11/15(水) 15:56:39
>>196
最大文字幅を10とした場合ね

maxlen = 10
txt = "(スペース10個)"

len = strlen(in_txt)
mid (txt, maxlen - len, in_txt)

脳内コードだが動くと思う
in_str の長さが10 以上だとエラー起こす

つかこれぐらい考えれ

200 :デフォルトの名無しさん:2006/11/15(水) 16:07:02
<span>に、MsgBoxで使われてるフォントやサイズを指定して、
テキスト入れて、width取り出して、、、で出来ないかな。


201 :デフォルトの名無しさん:2006/11/15(水) 16:10:44
>>199
的を外してる。

>>196
たしかに、プロポーショナルフォントだとインデントがそろわない。

う〜ん。 難しいねぇ〜。

多分、ぴったりインデントは無理かもしてないけど
なんとなくインデントを合わせる事はできるのかもしれない。



202 :デフォルトの名無しさん:2006/11/15(水) 18:20:25
プロポーショナルフォントだと文字ピッチが一定かすら怪しい

203 :デフォルトの名無しさん:2006/11/15(水) 19:05:21
95 2000 XP Vによっても違うし。

204 :デフォルトの名無しさん:2006/11/15(水) 19:54:40
MsgBoxに似せたフォームを作ったほうが楽だろ

205 :デフォルトの名無しさん:2006/11/15(水) 21:28:37
>190
ComboBox内のEditのハンドルを取得してSetWindowLong、かな?
Win32APIスレあたりが適当かと。

206 :デフォルトの名無しさん:2006/11/15(水) 21:35:28
>>192,193
カスめ。

オレはお前らのような落ちこぼれが死ぬほど
嫌いだ。

お前らはカスなんだよ。

207 :デフォルトの名無しさん:2006/11/15(水) 22:38:35
>>206
カス



208 :デフォルトの名無しさん:2006/11/15(水) 22:47:11
固定ピッチフォントを使えばいいだけじゃん。

209 :デフォルトの名無しさん:2006/11/15(水) 23:26:29
インデントの奴、今年の基本情報の問題だったなw

210 :デフォルトの名無しさん:2006/11/16(木) 08:57:36
>>209
プロポーショナルフォントでなければ、そうなんだけどなぁ


詰が甘いな

211 :デフォルトの名無しさん:2006/11/16(木) 09:23:55
Windows2k+VB6です

Form1, Form2, Form3 とあって、Form上のボタンを押すと子Formを
Modalで開いています。

子Formの最小化Btnを押したら、子Formを含む全てのFormを最小化
したいのですが、とりあえず子FormのForm_Resizeイベントに親Form
のWindowStateを設定するように書いてそれっぽく動くようになりま
した。

ただ、親Formを最小化した瞬間に、子Formのアイコンが消えてしまっ
て、最小化状態から元に戻せなくなるという現象が起きています。

Windowsの制約っぽい気もするのですが、これを回避する(親Formを
最小化しても、Modalで開いた子Formを非表示にさせない)方法は
ありますでしょうか?

212 :デフォルトの名無しさん:2006/11/16(木) 09:36:28
>>211
タスクバーからって子フォームが消えるって事?



ちなみに、そんなレベルの話でWindowsの制約云々と判断するにはまだ早くね?

213 :デフォルトの名無しさん:2006/11/16(木) 12:19:28
>>211
モーダルで子フォームを開いているのに
なんで、親フォームが触れるんだよ・・・

214 :デフォルトの名無しさん:2006/11/16(木) 13:05:20
>>213

>211
>子FormのForm_Resizeイベントに親FormのWindowStateを設定するように書いて

215 :デフォルトの名無しさん:2006/11/16(木) 13:40:32
>>211
モーダルは絶対使わない方がいい。

216 :デフォルトの名無しさん:2006/11/16(木) 13:53:12
>>214
なるほどねぇ。。。


なんてマヌケなUIなんだ。
Form2がShowされるときにもリサイズイベント通るんじゃないの?

それは現象というより、どうみても仕様通り動いてるだけ。

というか、やめとけ。
どうしても実装したいなら、子画面をActiveXのexeか、通常のexeにして、
プロセスIDをわけて、個別にAPIでシコシコ挙動を制御すれば実現可能だけど・・・

恥ずかしいプログラミングだw

217 :デフォルトの名無しさん:2006/11/16(木) 16:02:45
VB6.0 SP3 WinNT
long型の変数に浮動少数点(1.1)などの値を入れた場合
値は自動的に四捨五入されるようですが、この動作はプログラムで
保証されているのでしょうか?

dim temp as long = 1.1
deboug.print temp

1
-------------------------
dim temp as long = 1.5
deboug.print temp
2


218 :デフォルトの名無しさん:2006/11/16(木) 16:17:54
プログラムがどうやって保証するんだ

219 :デフォルトの名無しさん:2006/11/16(木) 16:38:34
>>218
回答する知識がないのならレスすんな。



俺も知らんが。

220 :デフォルトの名無しさん:2006/11/16(木) 16:51:25
>>218
あらし、氏ね

>>217
まず根本的に勘違いしてる。四捨五入はされない。
1.5は2になるが、2.5も2になる。

暗黙の型変換では内部でRound()されてる。詳しくはRound()のHelp参照。
Round≠四捨五入なので注意。

221 :デフォルトの名無しさん:2006/11/16(木) 17:09:20
Longに小数が入る方が怖い。
勝手に四捨五入されるのも怖い。

基本中の基本だからねぇ・・・

カレンシーの保証する小数桁数も3桁くらいじゃなかったっけ?
浮動少数は誤差が発生するし。

難しいよね〜

222 :通りすがりの浮動小数点数野郎:2006/11/16(木) 18:26:38
整数及び、0.5(=1/2)、0.25(=1/4)、0.125(=1/8)、0.0625(=1/16)、・・・とか
これらの和は桁数が足りる限り不動小数点数で表現しても誤差が発生しないので
安心して使ってくれ!www
(実装がマトモならリテラル・文字列からの変換でも大丈夫なはず。)

ちなみにリテラルからの変換は文字列からの変換と同じく
10進→2進変換なんで、その逆変換ともども
単純な表現誤差以外に結構厄介な問題がある。
(浮動小数点演算の黎明期、確か1960年代頃にはその話題で
変換の精度についてアメリカ数学会に論文が書かれたくらい厄介な問題だ。)
心配なら整数で初期化してから割り算して値を作れば丸め誤差は入るけど、
より厄介な10進2進変換の誤差は紛れ込まなくなるのでオススメ。
(桁数が足りてる限り整数の10進2進変換には誤差がなく、表現の誤差もからね。)

223 :デフォルトの名無しさん:2006/11/16(木) 18:41:48
>>222
浮動小数点型に誤差が発生するのは基本中の基本だよ・・・


悲しくなるよ・・・。

224 :デフォルトの名無しさん:2006/11/16(木) 18:45:31
Dim s As Single
Dim i As Long
  For i = 0 To 9
    s = s + 0.01
  Next i

カナシス・・・。
業務系は浮動小数は極力使わないよ・・・

225 :デフォルトの名無しさん:2006/11/16(木) 19:59:32

HTMLが表示出来て、軽いコンポーネントを教えてください。
WebBrowserコンポーネントは、重いというか起動が遅すぎて使えません。
ローカルのhtmlファイルを読ませるだけなので、多機能は求めません。

WindowsXP SP1、Visual Basic6 SP6の環境で使えるフリーのものでお願いします。



226 :デフォルトの名無しさん:2006/11/16(木) 20:09:05
先にメモリにLOADして読み込ませとけばよくね?

227 :225:2006/11/16(木) 20:22:03
>>226
それ自体に時間を食ってしまうため、今回別コンポ探しに来ました。

228 :デフォルトの名無しさん:2006/11/16(木) 20:23:10
>>225
VBを使うなら、「〜が遅い」ってのはハードの増強で解決するのが基本。
WebBrowser が遅すぎて使えない、ってどんなスペックだよ一体。

229 :デフォルトの名無しさん:2006/11/16(木) 20:39:12
>>228
Xeon5150x2、メモリは2GBです。
WebBrowserを起動させようとすると結構待たされます。

230 :デフォルトの名無しさん:2006/11/16(木) 20:40:29
>>229
どのくらいの時間待たされるの?

231 :225:2006/11/16(木) 20:42:46
>>228
スペックはAthlon64 FX57にDDR2-677 2048MBです。
スペックはそんなに低くないと思いますが、これ以上スペックを上げて
WebBrowserの起動が速くなっても、他のも速くなるから
相対的にWebBrowserの遅さが目立つのは変わらないと思います。
人間の感覚は絶対性より相対性の方が濃いですから。

とにかく今回はコンポーネント探しをしております。
代用法や基本を教えていただけるのはありがたいですが
失礼ながら求めているものとは違うので、引き続きコンポーネントの回答をお待ちします。

232 :デフォルトの名無しさん:2006/11/16(木) 20:55:28
ある程度検索しましたが、それらしい内容を見つけられなかったので質問します。

VB4.0でADOを使用してデータベースへ接続するように記述して、
デバッグしたところうまく動いたので、Exeファイルを作成してみたのですが、
何度やっても「ご迷惑をおかけしております…」というようなメッセージが出て強制終了されてしまい
Exeファイルが作成できません。

いろいろやってみたところ、キーワード"New"がよくないように思いました。
Set cnt = New ADODB.Connection
この行を削除したらコンパイルできたので。

下記のように、宣言時にNewをつけてみてもだめでした。
Dim cnt As New ADODB.Connection

解決法などあればよろしくお願いします。

233 :デフォルトの名無しさん:2006/11/16(木) 20:55:40
無い。
次の質問どうぞ。

234 :233:2006/11/16(木) 20:56:19
>>231
>>232スマソ

235 :デフォルトの名無しさん:2006/11/16(木) 21:03:27
>>231
どんだけ高性能なマシンだよ・・・。


オレの会社の開発マシンなんか、ドトネトだとコーディングに
文字が追いついてこないようなウンコマシンだけど
それでもWebBrowserでサクサク動く。


処理、間違えてるんじゃない?


236 :デフォルトの名無しさん:2006/11/16(木) 21:06:39
>>232
開発マシンとexeを実行しているマシンは同一?


しかも、NEWでコンパイルエラーという事は、参照設定
してないんじゃないの?

237 :232:2006/11/16(木) 21:11:09
>>233
ちょっと面白かったです。

>>236
Exeを実行しているマシンというのがどれを指すのかちょっとわかりませんが、
自分のPCでVB起動してコード書いてコンパイルして、ってやってまして
それで今回はExeファイルすら作れないという状況です。

参照設定はできてると思います。
オブジェクトブラウザから見れますし、デバッグ(F5押してやるやつ…)では
たしかに動いていましたから。

238 :デフォルトの名無しさん:2006/11/16(木) 21:51:55
>>232
CreateObject でやるとか。

239 :デフォルトの名無しさん:2006/11/17(金) 01:33:20
>>233
無いと答える必要はない。
何故なら悪魔の証明にあるように、無の証明はまず出来ないからだ。
一個人の「無い」という回答は、「俺は知らない」と同義。

240 :デフォルトの名無しさん:2006/11/17(金) 04:29:08
>>225
> HTMLが表示
→テキストでおk

> ローカルのhtmlファイルを読ませる
→ファイル直読みできるメソッドアリ

つ RichTextBoxコントロール

241 :デフォルトの名無しさん:2006/11/17(金) 05:00:35
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。


242 :デフォルトの名無しさん:2006/11/17(金) 05:39:24
ルールを守れない質問者より、ルールを守れない回答者の方が多いスレってのも珍しいよねw

243 :デフォルトの名無しさん:2006/11/17(金) 05:46:29
ここの1はルールというほどの強さは無いさ
あえて心得を外すほどの回答は無いようだが。

244 :デフォルトの名無しさん:2006/11/17(金) 06:32:25
>>237
せめて、F8。

Option Explicitもつけて。

245 :デフォルトの名無しさん:2006/11/17(金) 14:31:32
> ここの1はルールというほどの強さは無いさ
その割には質問者には.NETはスレ違いだの、ググれMSDN読めと強制していたような・・・

> あえて心得を外すほどの回答は無いようだが。
いや、そうでもない。

246 :デフォルトの名無しさん:2006/11/17(金) 15:36:50
常識的に考えても.NETはスレ違いだろう

247 :デフォルトの名無しさん:2006/11/17(金) 16:35:40
常識的に考えても答えられない質問だからって罵倒するのはダメだろう

248 :デフォルトの名無しさん:2006/11/17(金) 21:05:52
>>245
ググルのと、MSDN をそれらしい言葉で検索するぐらいのことしてから
質問するのは常識だと思うけど。

質問者自身のためにも。

249 :245:2006/11/17(金) 21:19:06
>>248
あのー、それを俺に言われても・・・。
>>1に書かれていることはルールではないと言ってるのは>>243だよ。
俺はそれを受けて、ルールじゃないと主張する割にはルールのように強制してるな、と返しただけ。

俺自身は.NETはスレ違いだと思うし、先に検索するのを含めて
「○ 質問者の心得」も「○ 回答者の心得」も、それぞれが守るべきルールだと思ってる。

250 :デフォルトの名無しさん:2006/11/17(金) 21:24:44
>>249
頭の固い人だな、気持ち悪い

251 :232:2006/11/17(金) 21:29:11
>>238
CreateObjectでコンパイルできました!
ありがとうございます。
しかしなぜNewではだめだったのか…わかりかねます。

>>244
Option Explicitもつけてましたし、F8も使っていました。
ですが、コンパイルできませんでした。


もう一つ質問させてください。MSDNで一応調べましたけどわかりませんでした。
またVB4.0でADOなのですが、Recordsetオブジェクトは
ActiveConnectionプロパティ、CursorTypeプロパティなどで
Open前に値の設定ができます、よね。
その設定をしているにもかかわらず、

[RecordSetオブジェクト].Open
だと「引数が足りません」と、エラーになります。
.Open "テーブル名",[Connectionオブジェクト],…
と、引数で値を設定してあげると問題なく開きます。
Connectionオブジェクトでも、同じような状態です。

開くだけならそれでいいのですが、DataGridを使用したいのです。
そのためにはRecordSetオブジェクトを開く前に
[RecordSetオブジェクト].Properties("IRowsetIdentity")=True
を記述しないと表示されないようなので、
RecordSetオブジェクトのOpen前に値の設定をしたいのです。


長くなってすみませんが、よろしくお願いします。

252 :デフォルトの名無しさん:2006/11/17(金) 21:30:25
Visual basic 6.0を用いた RS-232Cケーブルを用いたシリアル通信についてご質問いたします。

いま、PCとある機器を繋いで1分間隔でデータを要求し、それに対して 返信をもらうようなロガー機能を持たせたシリアル通信プログラムを
作っているのですが、知識が薄いために困っています。使用機能はMScommです。

具体的には、文字列データ約50個を1分おきに送信して (このタスクはタイマールーチンに入れます)機械に要求し、
それに対して応答が来れば受信→ファイルに書込み→ 最終的には時刻と機械から取り込んだ複数の数の関係を
グラフにしたいと思っています。 困っているのは受信のコードの記述ですが、本ケースにおいては、
イベントドリブン形式で(Rthreshold=1,Sthreshold=1等と設定して、) 1文字ずつ受信→イベント発生→1文字データ読取
とさせることが厳しい(と思う)いうことです。
ソース的には @〜Cまでのタスクを1分周期で行いたいです。できれば ウォッチドッグ機能もつけたいですね。
@メインルーチンをタイマーにして、MSComm1.Output="G aa bb cc dd ee ff "
のように、相手機械にaa,bb,cc,dd,eeという変数を要求(ちなみに
Gは相手側機械に要求するというコマンド) A要求に対する受信を待つ→aa=1.01, bb=2.02, cc=3.03, dd=4.04, ee=5.05
のような値が以下のような感じで相手から返ってくる "1.01 2.02 3.03 4.04 5.05"
Bここで1文字ずつ受信ごとにイベント発生ではなく送信完了したら、受信待機を始めて受信バッファに
たまったものを一度で書き込む@〜Bを4回繰り返す(データが大量にあるため、4回にわけないといけない)
Cファイルに書込み

VBシリアル通信にお詳しい方、どのようなコードにすれば良いかお教え下さい。相当困っています。
以上、よろしくお願いいたします。

253 :デフォルトの名無しさん:2006/11/17(金) 21:41:27
>>250

254 :デフォルトの名無しさん:2006/11/17(金) 22:01:29
>>251
そもそも何故VB4・・・
まさかOSはNT4なの?

255 :デフォルトの名無しさん:2006/11/17(金) 22:43:53
>>252
人に話すのと人に説明するのが同じ人間って言われないか?
読みづらいんだが…しかも激しく

256 :デフォルトの名無しさん:2006/11/17(金) 22:51:48
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。

257 :デフォルトの名無しさん:2006/11/17(金) 22:53:14
○ 質問者の心得 
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。

258 :デフォルトの名無しさん:2006/11/17(金) 23:02:51
>>257
無駄に罵倒する理由にはならない。
ルールは守るべきだ。

259 :デフォルトの名無しさん:2006/11/17(金) 23:09:28
^^;;;;;

260 :デフォルトの名無しさん:2006/11/18(土) 00:05:39
XPで6.0を使用しています。
ある特定の範囲内にドロップされたImageコントロールを、
特定の座標に移動させたいのですが、どのようにすればいいでしょうか?

261 :デフォルトの名無しさん:2006/11/18(土) 01:27:07
>>252
割り込み使うならSAMPLESにあるVBTERM参考にすればどうよ
あるいは送信して受信完までループさせて待つ手もある

262 :デフォルトの名無しさん:2006/11/18(土) 02:17:59
>>261
ありがとうございます。VBTERM発見しました。
これを元に考えてみます。

263 :デフォルトの名無しさん:2006/11/18(土) 03:10:10
VSBでHTTPSのサーバーにアクセスしてファイルをDLしてくるスクリプトを組んでるのですが、
全ての処理をバックグラウンドで行いたくて、ダイアログ等の表示が無い様にしたいんです。
IEのオブジェクトを使うと、どうしてもSSLの認証ダイアログが出てきてしまうのですが、非表示で処理する方法って無いですか?


264 :デフォルトの名無しさん:2006/11/18(土) 13:51:18
IEのオブジェクトを使わない。

265 :デフォルトの名無しさん:2006/11/18(土) 14:15:29
VBわからんけど不通にソケットでつないでリクエスト投げればファイルくらい取れるんじゃね?

266 :デフォルトの名無しさん:2006/11/19(日) 16:25:23
かなりいろいろ調べたのですが方法がわからないのでここ
で質問させてもらいます。
テキストファイルを読み込んでその中の最後から5行ほどだけを
を表示する方法を教えてください。


267 :デフォルトの名無しさん:2006/11/19(日) 16:54:59
>>266
全部または最後の五行分が余裕で入るくらいの情報を読み込んで後ろから改行コードを探す

268 :デフォルトの名無しさん:2006/11/19(日) 17:10:24
すみません質問なんですが
ttp://up2.viploader.net/pic/src/viploader354556.bmp
Command1を押してText1に入力した文字を変数にいれて
Command2を押すとLabel1にその変数が出力されるという問題なんですが
変数のところがよくわかりませんよろしくお願いします

269 :デフォルトの名無しさん:2006/11/19(日) 17:19:13
Dimを先頭に

270 :デフォルトの名無しさん:2006/11/19(日) 17:21:08
>>268
問題って、専門学校か何か?
VBを勉強する学校とかあるのかな?
教えるから、教えてよ。


Dim ABCD AS long


Private ABCD AS string

として、しかも一番上に書くとおk

271 :デフォルトの名無しさん:2006/11/19(日) 17:38:51
>>263
どうせスクリプトならjavaスクリプトの方が使えるぞ。


SSL認証きいてくるなら、しょうがないような気がするんだが


自分でサーバたてればねぇ

272 :デフォルトの名無しさん:2006/11/19(日) 17:39:02
Private Sub General()
Private ABCD As String
ABCD = Text1
End Sub
上記のようにジェネラル欄にいれたんですが変数がCommand2押しても
だめなんですがどうすれば後コマンド1-2部分は合っていますか?

>>269 Dim をどこにいれればいいですかね
>>270 都内のコンピュータ情報系みたいな専門学校です 



273 :デフォルトの名無しさん:2006/11/19(日) 17:40:04
>>272
Private ABCD As String
Private Sub General()

274 :デフォルトの名無しさん:2006/11/19(日) 17:44:10
>>273 先生できました、ありがとうございます禿感謝

275 :デフォルトの名無しさん:2006/11/19(日) 18:01:27
>>274
すげぇかわいい。


今は打算でしか、物事を考えられないオレも
昔はそうやって自分で勉強したんだって記憶が
蘇ってきた・・・

276 :デフォルトの名無しさん:2006/11/19(日) 18:04:27
>>275 なにそれ気持ち悪いんだよ禿

277 :275:2006/11/19(日) 18:07:57


_| ̄|○ il||li



278 :263:2006/11/19(日) 19:02:21
>>271
そうなんですよねぇ。相手が取引先の鯖なので手が出せないんですよ。
仕方が無いので、OpenSSLのソース使ってCで認証だけ通す事にしました。
ActiveX化されたものもあるみたいなのですが数十万オーダーでしたので、自作します。
ありがとう御座いました。

279 :デフォルトの名無しさん:2006/11/19(日) 19:11:53
>>223
ちゃんと勉強してからいいなはれ。

世間ではよく誤解されているようだが
浮動小数点数にはいつモヤモヤと誤差があるわけじゃない。
値によってはちゃんと誤差なく表現が出来る。
まず小数部の桁数(ビット数)が足りている限り整数は全く誤差なく表現できる。
また(1/2)^nは10進表現で言えば(1/10)^mに当たる特別な数字群で
2進数の浮動小数点表現でも桁がずれる(つまり指数部の数字が変わる)
だけなので整数と同じく全く誤差なく表現できる。
(指数部が桁あふれしない限りな。)
そしてこれらの数の間の加減算は桁あわせした際に桁数が足りている限り
完全に正確に行われる。
さらに乗除算の場合は指数部の桁数が足りている限り完全に正確に行われる。
つまり浮動小数点数も注意深く使えば全く誤差のない表現と演算が可能だ。

そしてこの性質と
一部のプロセッサでは専用ハードウェアによってlongを使う整数演算より
浮動小数点演算のほうが早いということを生かして大量の整数演算する際に
わざわざ浮動小数点演算を利用するという研究が実際にある。

280 :デフォルトの名無しさん:2006/11/19(日) 19:19:18
>>279
どうでもいいから、>>224を試しに実行してみればいいじゃん。

281 :デフォルトの名無しさん:2006/11/19(日) 19:22:56
>>270
Dimのままじゃだめなんですか

282 :275:2006/11/19(日) 19:25:37
>>281
オレに聞いてるv(´∀`*v???

283 :デフォルトの名無しさん:2006/11/19(日) 20:28:29
>>266
5行分のバッファを用意して、最初から順番に読んで格納し、
6行目は一行目のバッファに上書きして・・・ってやればいい。
最後迄読めば、最後の5行分が残るでしょ。

284 :266:2006/11/19(日) 20:34:23
ありです
できました

285 :デフォルトの名無しさん:2006/11/19(日) 23:42:10
>>260ですが、何かいい方法はないでしょうか?

286 :デフォルトの名無しさん:2006/11/19(日) 23:51:17
>>285
俺はルールを守っている。

287 :デフォルトの名無しさん:2006/11/19(日) 23:53:44
>>260
ある範囲内に
Imageをドラッグドロップした座標4点が含まれてるか調べる。
含まれてたらImageを特定の座標に移動。

288 :デフォルトの名無しさん:2006/11/20(月) 09:26:51
>>287
オマイの回答と>>260の質問と、何が違うのか教えてくれw

289 :287:2006/11/20(月) 10:50:00
>>288
ソース無しで答えるにはこれが精一杯だと思うw
まぁ書いてることは変わってないけど・・・
書いてるとおりの事をソースで書けば良いだけなのになぁ・・・

290 :デフォルトの名無しさん:2006/11/20(月) 11:50:53
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。

291 :デフォルトの名無しさん:2006/11/20(月) 11:53:55
>>287
わかりました、ありがとうございます
もう少し頑張ってみますね

292 :デフォルトの名無しさん:2006/11/21(火) 14:31:16
VBでHashtableの機能を持つ型ってある?

せいぜい、コレクションくらいしか、今のところ知らない。
ArrayListすらVB6.0にはないよね?

ないなら、自作しかないのかな?

293 :デフォルトの名無しさん:2006/11/21(火) 16:53:09
CollectionかDictionaryが使えるんとちゃうん?

294 :292:2006/11/21(火) 17:03:32
>>293
Dictionaryは初めて知りました。
自作なんかより全然速そうで素敵です。

アリガd

295 :デフォルトの名無しさん:2006/11/21(火) 18:36:52
VB6で、イメージの部分に順番に図を表示していきたいのです。
それと、リストボックスで選択したものをファイルに書き込みたいのです。
以下のようにやってみたのですが、うまくいかずどうしていいか分かりません。
教えていただけないでしょうか。

Public dirl, angele As String
Dim fname(100) As String
Public cot As Integer

Private Sub form_load() 'フォームが開いたときの処理
Dir1 = "C:\Documents and Settings\karalab\My Documents\ito\図形\0" '表示イメージを読み込みするファイル
For i = 1 To 100
fname(i) = Str(i) + ".jpg"
Next
End Sub

'スタートの処理
Private Sub Command1_Click()
cot = 1
Image1.Picture = LoadPicture(Dir1 + fname(cot)) 'イメージを表示
End Sub

'次へを押したときの処理
Private Sub Command2_Click()
Image2.Picture = LoadPicture(Dir1 + fname(cot)) 'イメージを表示
End Sub

Private Sub Command3_Click() '「END」ボタンを押した場合
End
End Sub

296 :デフォルトの名無しさん:2006/11/21(火) 18:40:35
DTPickerってEnterキーでもKeyDownイベント起きるよな?
BreakPoint仕掛けてるのに一向に通ってくれないよ。
Spaceとか他のキーならOKなのにEnterだけ効かん。orz

297 :デフォルトの名無しさん:2006/11/21(火) 18:55:00
カレントユーザーのマイドキュメントのパスを取得する方法ってある?


298 :デフォルトの名無しさん:2006/11/21(火) 18:59:22
>>296
普通はくるね。

299 :デフォルトの名無しさん:2006/11/21(火) 19:02:09
>>297
環境変数でTMPあたりから取得したパスを加工するとか
あらかじめ、環境変数に入れとくとかじゃだめ?

300 :デフォルトの名無しさん:2006/11/21(火) 19:07:53
>>296
Command Button のどれかをデフォルトボタンにしてるのでは。

>>297
環境変数の USERPROFILE を参照するとか。

301 :デフォルトの名無しさん:2006/11/21(火) 19:08:12
>>297
Dim obj As Object

  Set obj = CreateObject("WScript.Shell")
  Debug.Print obj.SpecialFolders("MyDocuments")

302 :デフォルトの名無しさん:2006/11/21(火) 19:13:58
>>295
ソースが汚ねぇ

それに Str(i)ってどこで宣言してる?
Option Explicitを入れてコンパイル汁。

あとdirlの宣言ではバリアントになってるけどいいの?

303 :296:2006/11/21(火) 19:16:55
>>298
d。だよねぇ。
別のフォーム上ではちゃんとKeyDown発生してる・・・orz


304 :デフォルトの名無しさん:2006/11/21(火) 19:19:45
いろいろ、ありがとうございます。
今直してみて、2つディレクトリを使って
「次へ」を押したときにDirから+1ずつ足してずを表示していきたいのですが+1しかされず、
その後、足されていかないのですがどうしたらいいでしょうか?

Private Sub Command1_Click()
Dir1 = "C:\Documents and Settings\karalab\My Documents\ito\図形\21\" '表示イメージを読み込みするファイル
Dir2 = "C:\Documents and Settings\karalab\My Documents\ito\図形\11\" '表示イメージを読み込みするファイル
For i = 1 To 100
fname(i) = Mid(Str(i), 2) + ".jpg"
Next
cot = 1
Image1.Picture = LoadPicture(Dir1 + fname(cot)) 'イメージを表示
Image2.Picture = LoadPicture(Dir2 + fname(cot))
End Sub
'次へを押したときの処理
Private Sub Command2_Click()
Image1.Picture = LoadPicture(Dir1 + fname(cot + 1)) 'イメージを表示
Image2.Picture = LoadPicture(Dir2 + fname(cot + 1))
End Sub

305 :デフォルトの名無しさん:2006/11/21(火) 19:24:15
書いてる通りに動いてる

306 :デフォルトの名無しさん:2006/11/21(火) 19:31:01
>>304
まさにソースに書いてある通りに動いてる。
cotの値はいくら?

307 :デフォルトの名無しさん:2006/11/21(火) 19:36:44
前のレスで質問させていただいたものは解決することが出来ました。
申し訳ありません。
あと、もうひとつ質問なのですがリストボックスで選択したものをファイルに書き込みたいのです。

以下のような、書き方では書き込むことは出来ませんか?

Open "C:\DATA\OrderData.csv" For Append As #2
Write #2, list1.Text, _
list2.Text, _
list3.Text, _
Close #2

308 :デフォルトの名無しさん:2006/11/21(火) 19:52:24
ピクチャーボックスで
Picuture1.Heightでは高さが変わるんですが
Picture1.ScaleHeightではピクチャーボックスの大きさが変わりません
値の取得はできるのですが…

大きさの方はフレームの分も考えながらHeightで設定しなければいけないのでしょうか?


309 :デフォルトの名無しさん:2006/11/21(火) 19:58:46
すいません、分かりました、
ScaleHeightに値を設定すると、ユーザー設定の座標系になるんですね。
ScaleHeight=100 としたら、上から下までを100とするオリジナルの座標系になると
いや、分かりにくい書き方ですけど自己解決

310 :デフォルトの名無しさん:2006/11/21(火) 23:16:19
VBでプログラミングの世界に入ってみようと思うのですが
初心者におすすめの入門書、参考書を教えてください。

311 :デフォルトの名無しさん:2006/11/22(水) 00:04:35
>>310
いまさら6.0をはじめるのか?
やめとけよ

312 :デフォルトの名無しさん:2006/11/22(水) 00:28:01
>>311
ぐわ、6.0以前スレでしたか・・・
誤爆でした。すみません。

313 :デフォルトの名無しさん:2006/11/22(水) 04:08:21
VBでアイコンをリソース登録したんだけど、それを使おうとするとエラーになるのは何で?
WAVファイルをリソース登録して鳴らす方法は色んなサイトにあるのに、
アイコンの使い方書いてるサイト見つけられなかったんだけど。

314 :デフォルトの名無しさん:2006/11/22(水) 09:09:40
>>313
画面にワーク用のイメージリストコントロールをはる。
そこにリソースから取得したアイコンをAddする。
最後にイメージリストのItemをExtractIconメソッドでアイコン化して
そこから、使いたい場所へ使う。

なんてのはどうよ?

315 :デフォルトの名無しさん:2006/11/22(水) 11:41:28
エクセルVBAで作ったフォームをVB6にインポートしましたがデザイナというフォルダ内にセットされました。
コントロールを追加しようとするとFormデザイナでは使用できません云々のエラーとなってしまいます。
プログラム自体は問題なく走るんですが、コントロールの追加は一切無理です。コントロールの削除や移動はできます。
やり方が悪いのか、これで当たり前なのかすらわからない状況です。
先輩諸氏の皆様どうかご指導ください。


316 :デフォルトの名無しさん:2006/11/22(水) 12:31:02
>>314
ありがとやってみる。
ずいぶん前に諦めたからエラーの内容や関数名忘れてるけど、
どちらにせよ記憶に無いやり方みたいなんでやる価値ありそうだ。

317 :デフォルトの名無しさん:2006/11/22(水) 13:39:14
http://www.vector.co.jp/soft/win95/util/se072729.html
作者の方へ

VisualBasicの学習者たちのためにソース公開してください
(公式サイトが消滅しているようなので、ここにカキコします)
((((;゚Д゚)


318 :デフォルトの名無しさん:2006/11/22(水) 14:34:36
>>317
BREGEXP.DLLじゃないか

319 :デフォルトの名無しさん:2006/11/22(水) 15:15:06
ソース公開の強要って、、、w
頭おかしいんじゃないの?

320 :315:2006/11/22(水) 20:00:28
エクセルVBAで作ったフォームをVB6にインポートしましたがデザイナというフォルダ内にセットされました。
コントロールを追加しようとするとFormデザイナでは使用できません云々のエラーとなってしまいます。
プログラム自体は問題なく走るんですが、コントロールの追加は一切無理です。コントロールの削除や移動はできます。
やり方が悪いのか、これで当たり前なのかすらわからない状況です。
先輩諸氏の皆様どうかご指導ください。





321 :デフォルトの名無しさん:2006/11/22(水) 20:19:00
当たり前。
VBAとVB6は多くの部分で互換性があるが、完全互換ではなく
その互換性がない部分の一つがVB6のフォーム対VBAのユーザーフォームの部分。

まあテキストエディタで開いて少し修正すれば使えないこともないから
やり方が悪いとも言えるかも知れないが。
どう修正するかはググればわかるから自分で調べること。

322 :315:2006/11/22(水) 20:26:55
>>321
厳しくも暖かいご意見ありがとうございました。
散々ググッて見たのですがググり方が足りなかったようです。
これからググりまくってみます。

323 :デフォルトの名無しさん:2006/11/22(水) 21:27:03
>>322
エクセルでそれを見ながらVBでゼロから作った方が早い。

324 :デフォルトの名無しさん:2006/11/22(水) 22:59:06
VB6 SP6をWindowsXP Home Edition SP2で使用しています。
作成されたアプリケーションをエクスプローラから見ると、ファイル名の下に
登録ユーザー名が表示されてしまうのですが、これを変更することはできないのでしょうか?

325 :デフォルトの名無しさん:2006/11/22(水) 23:00:42
ユーザー名ではなく所属でした。。。お願いします。

326 :デフォルトの名無しさん:2006/11/22(水) 23:03:27
変更できます。

327 :デフォルトの名無しさん:2006/11/22(水) 23:38:20

http://pc8.2ch.net/test/read.cgi/tech/1159388733/64 VB6 >>>>>>>>>> VB.NET
http://pc8.2ch.net/test/read.cgi/tech/1152851763/91 VB vs Delphi @夏厨2006
http://pc8.2ch.net/test/read.cgi/tech/1106538237/766 【VB.NET】VS2005 選ぶならどっち?【C♯】
http://pc8.2ch.net/test/read.cgi/tech/1161250878/375 VB.NET質問スレ (Part18)
http://pc8.2ch.net/test/read.cgi/tech/1159446575/23 VB6とVB2005って全然違わない?
http://pc8.2ch.net/test/read.cgi/tech/1151836157/21 CとVB.NETってよく似てるよな
http://pc8.2ch.net/test/read.cgi/tech/1147201705/40 VB.NETのとんでもない欠陥に気づいた
http://pc8.2ch.net/test/read.cgi/tech/1134464762/104 VBで作られた有名なアプリって何?
http://pc8.2ch.net/test/read.cgi/tech/1121006960/123 VB vs Delphi @夏厨2005
http://pc8.2ch.net/test/read.cgi/tech/1099112351/441 C++VB 初めてプログラム板来た初心者スレ delphi hsp
http://pc8.2ch.net/test/read.cgi/tech/1151412015/989 VBA総合質問スレッド
http://pc8.2ch.net/test/read.cgi/tech/1054356121/781 ●EXCEL・VBAの勉強法教えてスレ●

他のスレで>>317を見かけたので、試しにVB系のスレ回ってみたら.NETやVBAのスレにまで…

328 :デフォルトの名無しさん:2006/11/22(水) 23:41:58
そんなヒマがあったら腹筋でもしろよ

329 :デフォルトの名無しさん:2006/11/22(水) 23:59:37
というか、その情熱をVBの勉強に向ければ、
他人のソースなんて当てにしなくても、コード掛けるようになるのでは?

330 :デフォルトの名無しさん:2006/11/23(木) 01:20:23
VBAスレから誘導されました。よろしくお願いします。

ExcelのVBAでDOM使ってXML書き出すプログラムを作ってます。
で、標準の文字コードがUnicodeのため、XMLファイルもUnicodeで出力されてしまいます。
これをShift-JISで出力したいのですがどうすればよいのでしょうか?
DOMリファレンスで見た限りメソッドにもそれらしいものは見当たらなかったのですが。。

331 :313:2006/11/23(木) 05:40:48
ごめん思い出した。
LoadResDataで「実行時エラー326 識別子101のリソースが見つかりません」て出るんよ。
定数使用してLoadResData(101,vbResIcon)もダメ、(vbResIcon=1)
MSのサポートページにあるLoadResData(101,3)もダメ。
WAVは"CUSTOM"と文字を打つのでLoadResData(101,"アイコン")とやったがダメ。全角半角両方。
上記はすべて同じエラーになる。
WAV同様"CUSTOM"なら取り込める。
でもバイトデータだから、これをまたアイコンにするんだったら意味わからん。
リソースファイルにアイコン入れるまではいいが取り出せないのは何なんよ…


332 :デフォルトの名無しさん:2006/11/23(木) 08:57:25
>>331
基本からなってねぇ

LoadResPicture(リソース番号, vbResIcon)

333 :デフォルトの名無しさん:2006/11/23(木) 13:01:02
>>332
ありがとう。でもvbResIconて数値いくつ?
変数が定義されてませんてエラーになるんで…


334 :デフォルトの名無しさん:2006/11/23(木) 13:12:58
>>333
>定数使用してLoadResData(101,vbResIcon)もダメ、(vbResIcon=1)
     . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
          Λ_Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
         /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
        / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
        / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
   ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄

335 :デフォルトの名無しさん:2006/11/23(木) 13:22:29
>>334
ごめんこ今やったらできた!
LoadResPictureか、そらLoadResDataでググッても使い方出ないわけだ。
額にアイコン張り付けてコンビニ逝ってくるよ。ありがとう!
ε=ヽ( ゚逝゚)ノ

336 :デフォルトの名無しさん:2006/11/23(木) 13:23:53
For Each...Next ステートメントには DoEvents みたいなのありましぇんか

337 :デフォルトの名無しさん:2006/11/23(木) 13:33:04
Microsoftは、未だにVB6を使い続けるユーザー達のために、
Formの既定インスタンス機能や、IDEの挙動をVB6に似せるなど、
移行支援の為の対策をVB2005にたくさん盛り込んだわけだ。
特に、Formの既定インスタンス機能は、改悪と言って過言ではないと
自他共に認めるであろう。
MSは、そこまでしてVB6ユーザーを「救おう」としている。

さて、ここでVB6ユーザーであるスレ主が、
VB2005を使ってみて、居ても立ってもいられずに立ててしまったこのスレッドを見てみよう。

http://pc8.2ch.net/test/read.cgi/tech/1159446575/
> [VB6とVB2005って全然違わない?]
> 1 :デフォルトの名無しさん :2006/09/28(木) 21:29:35
> まずcommandがbuttomになってて
> ??
> 線引こうにもlineが認識されない
> なんなの?

私たちはまだまだVB6ユーザーを甘く見ていたようだ。
救いようがないとはまさにこのことではなかろうか。
VB6ユーザーはVB2005に対して、完全同一な物を求めているようだ。

新しいものへのチャレンジ精神があまり備わっていないVB6ユーザーのために
MSは色々な対策を行った。
しかし、いまだにVB6を使い続けているVB6ユーザーには、
新しいものへのチャレンジ精神など微塵も備わっていなかったのである。

このようなVB6ユーザーを生み出したのはMSである。
VB6からVB.NETへと革新的に進化させた結果、このようにいつまでもVB6を使い続けるクズどもが発生したのである。
もはや救いようのないVB6ユーザー。しかしそれでもMSは、最後までこのVB6ユーザー達を見放してはならない義務があるのだ。


338 :デフォルトの名無しさん:2006/11/23(木) 15:20:15
まあVB6の提供もサポートも再開するし、どうでもいい
VB.NETはVisualBasic.NETじゃなければいいんでね?

339 :デフォルトの名無しさん:2006/11/23(木) 15:39:12
>>337
VB.NETなんて全く必要ないんだけど。
VBでやりたい事は全て出来る。

340 :デフォルトの名無しさん:2006/11/23(木) 15:50:08
クラサバなら尚のことね。
ウェブにする必要があるのはごく一部の業種のわずかな部分のみ。


341 :デフォルトの名無しさん:2006/11/23(木) 15:50:15
(^ω^) 勉強を怠った技術者はグチばっかりでとても困るぉ

342 :デフォルトの名無しさん:2006/11/23(木) 16:04:52
>>332
なんかアイコンが潰れて表示されたorz
ググってみたけどLoadResPictureはまともアイコン扱えないの?
イメージリストコントロール使うしか無いのかな。でもツールバーにないし…

343 :デフォルトの名無しさん:2006/11/23(木) 17:01:12
FPDへのアクセス中はアイコンがウィンドウみたいなの(デフォルトアイコン?)に
変わるのは仕様ですか?

344 :デフォルトの名無しさん:2006/11/23(木) 17:51:11
>>341
ドドネトごときで「勉強」とか言っちゃってるよ、この人。(w

345 :デフォルトの名無しさん:2006/11/23(木) 18:12:58
物事を「ごとき」で語る人間には「ごとき」程度のものしか見えていない。(ー人ー)ナムナム

346 :デフォルトの名無しさん:2006/11/23(木) 18:42:50
「ごとき」程度のものしかないだろ。

なんか変なものでも見えてるのか?

347 :デフォルトの名無しさん:2006/11/23(木) 18:50:02
>>346
ここはお前の日記帳じゃぁないんだよ。

348 :デフォルトの名無しさん:2006/11/23(木) 18:53:27
>>346
あんた、損してるよ。

349 :デフォルトの名無しさん:2006/11/23(木) 20:10:37
>>326
方法を教えてほしいです・・・

350 :デフォルトの名無しさん:2006/11/23(木) 21:35:07
>>349
プロジェクトのプロパティで設定後コンパイル。

351 :デフォルトの名無しさん:2006/11/23(木) 21:49:35
>>347
日記帳に >>346 みたいな事は書かないよ。
バカじゃないの? (w

>>348
別に俺は、ドトネトを極める匠じゃないから、
自分のやりたいことができれば、それで十分。

352 :デフォルトの名無しさん:2006/11/23(木) 21:58:32
>>351
突っ込みどころ満載で、ちょっとおもしろいw
話しようぜw

何より、日記帳つけてんの?ww

353 :デフォルトの名無しさん:2006/11/23(木) 22:09:27
>>350
プロジェクトのプロパティのそれらしいところを全て弄ってみて駄目だったので諦めていたのですが
windowsを再起動したらフォルダ上の表示が変わりました・・・
どうもコンパイルしなおしたファイルを、以前のファイルと同じものとOS側で認識していたみたいです。
お騒がせしてすみませんでした。

354 :デフォルトの名無しさん:2006/11/23(木) 22:32:16
>>352
突込みどころ満載と言う割には、突っ込めないチキン君には用は無いよ。

355 :デフォルトの名無しさん:2006/11/23(木) 22:38:23
(^ω^)ノシ ぃょぅ だぉ!

356 :352:2006/11/23(木) 22:41:20
>>354
いよぉ!351!ツッコミ入れられてもわからないんだなw

日記帳つけてんだろww
認めちまえよww

>自分のやりたいことができれば、それで十分。

普通は自分のやりたい事なんてしてる訳じゃなくて
仕事で必要だから、クライアントにVB使うなり、サーバーにC使う
なり、XPでのサポートを得るためドトネト使うなりしてるだけw

ウケルww オバカ丸出しだぞww

357 :デフォルトの名無しさん:2006/11/23(木) 22:54:51
>>356
ハイハイ、君の言う通りだね。

満足した?

358 :352:2006/11/23(木) 23:15:13
>>357,354,351,346,344

お前、何にも引き出しがない、つまんないヤシだな。
会話も成立しない。

飽きた。もう、来るなよ。

359 :デフォルトの名無しさん:2006/11/23(木) 23:22:10
>>358
>>357

360 :デフォルトの名無しさん:2006/11/24(金) 00:47:14
>>295
>>304
>>307

どこかで見たクソソースだと思ったら
http://f57.aaa.livedoor.jp/~jeanne/bbs/faq.cgi?mode=al2&namber=8438
これか。

なんていうか、氏んだほうがいい。

361 :313:2006/11/24(金) 05:34:41
アイコン使用の効率化を考え、LoadResPictureなどを使おうとした結果です。
1・imageで一個一個貼りつけ…現状。特に問題はないがダサい感じ
2・LoadResPicture…画像が崩れるのでダメ
3・imagelist…メモリ不足多発、EXEサイズ増大で良いこと無し
4・imagelistをアイコン10個ごとにインデックス分け使用…メモリ不足でコンパイル不可

3〜4はもちろんimageはすべて削除してる。2もほとんど削除し、転送用の数個のみ。

LoadResPictureで画像潰れないテクニックないすかねえ?

362 :デフォルトの名無しさん:2006/11/24(金) 07:11:07
>>361
EXEにリソース埋め込んだら、意味がないだろ・・・・

普通はリソース用のDLLを作る。

お前のようなバカは、リソースなんか使うなといういい例。

363 :デフォルトの名無しさん:2006/11/24(金) 08:27:10
馬鹿に馬鹿が突っ込む。
このスレらしい光景だねw

>EXEにリソース埋め込んだら、意味がないだろ
なんでだよw

364 :デフォルトの名無しさん:2006/11/24(金) 09:09:38
>>363
本気で聞いてるのか・・・?

365 :デフォルトの名無しさん:2006/11/24(金) 09:26:43
>>363
コイツはドトネト板にも入たリアルキティ。
救いようがない。

ほっとけ。

366 :デフォルトの名無しさん:2006/11/24(金) 13:16:12
>>364-365
>>363 じゃ無いけど、おまえらのほうがよっぽど心配だよ。

367 :313:2006/11/24(金) 15:59:23
EXEに埋め込みたい理由は、単に実行に必要なファイルを一つだけにしたいってだけなんですよ。

アイコンをカスタムリソースとして登録して、LoadResDataで
バイト型配列に取り込んで、テンポラリファイルに書き出してから
それを画像ファイルとして読み込む、というやり方もあるようだけど、
それじゃなんか釈然としない。
アイコン形式を使いたい動機は、PaintPicture一回でマスク付きで画像を描けるから。
一枚のでかい画像にアイコン画像全部並べて、マスク画像も作って
二枚の画像を持つのが無難なんだろうか。
PaintPicture二回必要になるけど、速度変わるかな?

368 :デフォルトの名無しさん:2006/11/24(金) 22:50:52
六角形を書いてその内部を塗りつぶすプログラムを作っているのですが・・・
1つずつ塗りつぶす色を変える場合、下のプログラムでは、どうすればいいのでしょうか?
宜しくお願いします。

Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As Long, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function PaintRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Const LOGPIXELSX = 88 ' Logical pixels/inch in X
Private Const LOGPIXELSY = 90 ' Logical pixels/inch in Y
Private Const ALTERNATE = 1 '交差したリージョンは塗らない
Private Const WINDING = 2 '交差したリージョンも塗る

Private Sub PaintRegion(Dest As Object, ParamArray P())
' PaintRegion
' 多角形を塗りつぶす関数
' 使用方法:
' PaintRegion 描画オブジェクト, X1, Y1 , X2, Y2, ...
' 描画オブジェクトには、Form, PictureBox, Printerなどが使用できます。
' 座標はTwips単位で渡します
' 塗りつぶし色は、描画オブジェクトのFillColorプロパティの値が使用されます。

369 :368:2006/11/24(金) 22:52:09
Dim Point() As Long '座標(ピクセルに変換した値)
Dim hRgn As Long 'リ−ジョンのハンドル
Dim i As Long, nPoint As Long
Dim PPTX As Single, PPTY As Single

ReDim Point(0 To UBound(P))
nPoint = (UBound(P) + 1) / 2

PPTX = GetDeviceCaps(Dest.hdc, LOGPIXELSX) / 1440
PPTY = GetDeviceCaps(Dest.hdc, LOGPIXELSY) / 1440
For i = 0 To nPoint - 1
'ピクセルに変換
Point(i * 2) = CLng((P(i * 2) - Dest.ScaleLeft) * PPTX)
Point(i * 2 + 1) = CLng((P(i * 2 + 1) - Dest.ScaleTop) * PPTY)
Next i

Form1.Picture1.FillColor = RGB(255, 0, 0)
'塗りつぶし
Form1.Picture1.FillStyle = vbFSSolid

hRgn = CreatePolygonRgn(Point(0), nPoint, WINDING)
PaintRgn Dest.hdc, hRgn
DeleteObject hRgn
End Sub

370 :368:2006/11/24(金) 22:52:48
Private Sub Command1_Click()
'正六角形
Form1.Picture1.Line (433, 0)-(0, 250), &HFF0000
Form1.Picture1.Line (0, 250)-(0, 750), &HFF0000
Form1.Picture1.Line (0, 750)-(433, 1000), &HFF0000
Form1.Picture1.Line (433, 1000)-(866, 750), &HFF0000
Form1.Picture1.Line (866, 750)-(866, 250), &HFF0000
Form1.Picture1.Line (866, 250)-(433, 0), &HFF0000

Form1.Picture1.Line (866, 750)-(433, 1000), &HFF0000
Form1.Picture1.Line (433, 1000)-(433, 1500), &HFF0000
Form1.Picture1.Line (433, 1500)-(866, 1750), &HFF0000
Form1.Picture1.Line (866, 1750)-(1299, 1500), &HFF0000
Form1.Picture1.Line (1299, 1500)-(1299, 1000), &HFF0000
Form1.Picture1.Line (1299, 1000)-(866, 750), &HFF0000
'塗りつぶし
PaintRegion Picture1, 433, 0, 0, 250, 0, 750, 433, 1000, 866, 750, 866, 250, 433, 0
PaintRegion Picture1, 866, 750, 433, 1000, 433, 1500, 866, 1750, 1299, 1500, 1299, 1000, 866, 750
End Sub

Private Sub Command2_Click()
End
End Sub

長くなったけど・・・
宜しくお願いします。

371 :デフォルトの名無しさん:2006/11/24(金) 23:54:44
>>370
Form1.Picture1.FillColor = RGB(255, 0, 0) 'これ

372 :デフォルトの名無しさん:2006/11/25(土) 00:08:37
以前作ったやつの余計な部分削ったやつ
動作確認してないけど原理はあってる筈だから適当に修正しな
動作すればいいレベルのコーディングだ
つーか↑の6角形の座標固定値か

Dim SX As Integer, SY As Integer
Dim PI As Single, HexR As Integer
Dim tmpX As Integer, tmpY As Integer
PI = Atn(1) * 4
HexR = 48
SX = 200: SY = 200
For i = -30 To 330 Step 60
fMain.Line (SX, SY)-(SX + Sin(i * (2 * PI / 360)) * HexR, SY + -Cos(i * (2 * PI / 360)) * HexR), vbBlack
Next i
tmpX = SX + Sin(30 * (2 * PI / 360)) * HexR
tmpY = SY + -Cos(30 * (2 * PI / 360)) * HexR
For i = 0 To 5
fMain.Line (tmpX, tmpY)-(SX + Sin((i * 60 + 90) * (2 * PI / 360)) * HexR, SY + -Cos((i * 60 + 90) * (2 * PI / 360)) * HexR), vbBlack
tmpX = SX + Sin((i * 60 + 90) * (2 * PI / 360)) * HexR
tmpY = SY + -Cos((i * 60 + 90) * (2 * PI / 360)) * HexR
Next i
tmpX = SX + Sin(-90 * (2 * PI / 360)) * HexR
tmpY = SY + -Cos(-90 * (2 * PI / 360)) * HexR
For i = 0 To 5
fMain.Line (tmpX, tmpY)-(SX + Sin((i * 60 - 30) * (2 * PI / 360)) * HexR, SY + -Cos((i * 60 - 30) * (2 * PI / 360)) * HexR), RGB(128, 128, 128)
tmpX = SX + Sin((i * 60 - 30) * (2 * PI / 360)) * HexR
tmpY = SY + -Cos((i * 60 - 30) * (2 * PI / 360)) * HexR
Next i


373 :デフォルトの名無しさん:2006/11/25(土) 00:09:21
fMain.FillStyle = 0
fMain.FillColor = RGB(160, 160, 160)
Call ExtFloodFill(fMain.hdc, SX - 2, SY + 1, fMain.Point(SX - 2, SY + 1), 1)
Call ExtFloodFill(fMain.hdc, SX + 0, SY + 1, fMain.Point(SX + 0, SY + 1), 1)
Call ExtFloodFill(fMain.hdc, SX + 2, SY + 1, fMain.Point(SX + 2, SY + 1), 1)
Call ExtFloodFill(fMain.hdc, SX - 2, SY - 1, fMain.Point(SX - 2, SY - 1), 1)
Call ExtFloodFill(fMain.hdc, SX + 0, SY - 1, fMain.Point(SX + 0, SY - 1), 1)
Call ExtFloodFill(fMain.hdc, SX + 2, SY - 1, fMain.Point(SX + 2, SY - 1), 1)
fMain.FillStyle = 1
fMain.FillColor = &H0


374 :デフォルトの名無しさん:2006/11/25(土) 00:11:32
どこの、学生のクソソースだよw


よく、新人の世話するけど、専門卒のソースが
いつもそんなクソソースだったりするw

375 :デフォルトの名無しさん:2006/11/25(土) 00:52:06
誰しも初めからうまかったわけじゃないさ

376 :デフォルトの名無しさん:2006/11/25(土) 01:00:37
相手のレベルにあわせたんじゃないか?

377 :313:2006/11/25(土) 06:04:03
アイコン画像結合してマスクも作ってみたけど、PaintPicture二回にした以上に処理重たくなったorz
EXEサイズは極端に小さくなりはしたけど、
結局アイコンを一個一個imageコントロールで貼るのが最適という結果になってしまった。
ttp://www.h3.dion.ne.jp/~hohoi/DCK_test.lzh

378 :デフォルトの名無しさん:2006/11/25(土) 09:15:20
みろ。バカだった。
こいつをマンセーしたヤシらもやっぱりバカだった。

379 :368:2006/11/25(土) 10:53:57
>>371
レスありがとうございます。
そこを弄ると全体の色が変わるのですが・・・
1つずつ塗りつぶす色を変える場合はどうしたらいいのでしょうか?

>>372 -373
レスありがとうございます。
どこをどう修正したらいいのかわからないです。
ぐぐったら6角形の座標固定値のやり方があったので・・・

380 :デフォルトの名無しさん:2006/11/25(土) 14:19:53
>>377
GIFにするのとアイコンリソースにするの、どっちが得か?ってーのは直ぐに計算できるんではないかと。
ついでにGDIのBitBlt使いやがれ

381 :デフォルトの名無しさん:2006/11/25(土) 16:12:42
>>368
暇だったから多角形を塗りつぶすクラスを作ってみたよ。
っていうか、そんな読む気もおこらないウンココードは捨てた方がたぶん吉だよw
'######## Form1 ########
Private mPolygonDrawer As New cPolygonDrawer
Private mMouseDownPoint As Win32API.POINTAPI
Private Sub Form_Load()
  Me.ScaleMode = vbPixels
  With mPolygonDrawer
    .hdc = Me.hdc
    .NumOfAngle = 6
  End With
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  mMouseDownPoint.X = X
  mMouseDownPoint.Y = Y
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  Dim r As Long
  Dim red As Byte
  Dim green As Byte
  Dim blue As Byte
  
  red = Rnd * 255
  green = Rnd * 255
  blue = Rnd * 255
  Call mPolygonDrawer.SetFillColor(red, green, blue)
  With mMouseDownPoint
    r = Sqr((X - .X) ^ 2 + (Y - .Y) ^ 2)
    Call mPolygonDrawer.Draw(.X, .Y, r)
  End With
End Sub

382 :381:2006/11/25(土) 16:13:42
'######## 標準モジュール Win32API ########
Declare Function CreateSolidBrush Lib "gdi32.dll" _
    (ByVal crColor As Long) As Long
    
Declare Function CreatePen Lib "gdi32.dll" _
  (ByVal fnPenStyle As Long, ByVal nWidth As Long, _
   ByVal crColor As Long) As Long

Declare Function SelectObject Lib "gdi32.dll" _
    (ByVal hdc As Long, ByVal hgdiobj As Long) As Long

Declare Function DeleteObject Lib "gdi32.dll" _
    (ByVal hObject As Long) As Long

Declare Function Polygon Lib "gdi32.dll" _
    (ByVal hdc As Long, ByRef lpPoints As POINTAPI, ByVal cPoints As Long) As Long

Public Type POINTAPI
  X As Long
  Y As Long
End Type


383 :381:2006/11/25(土) 16:15:52
'######## クラスモジュール cPolygonDrawer ########
Public hdc As Long
Private mDegreeOf1stPoint As Double
Private mLineColor As Long
Private mFillColor As Long
Private mPenHandle As Long
Private mBrushHandle As Long
Private mNumOfAngle As Integer
Private Const PI As Double = 3.1415923
Private Sub Class_Initialize()
  Me.NumOfAngle = 3
  Me.DegreeOf1stPoint = 90
  Call SetFillColor(255, 0, 0)
  Call SetLineColor(255, 255, 255)
End Sub
Private Sub Class_Terminate()
  DeleteMyBrushIfNeed
  DeleteMyPenIfNeed
End Sub
Public Property Let NumOfAngle(N As Integer)
  If N > 2 Then
    mNumOfAngle = N
  End If
End Property
Public Property Let DegreeOf1stPoint(deg As Double)
  mDegreeOf1stPoint = -deg
End Property

384 :381:2006/11/25(土) 16:17:02
Public Sub SetLineColor(red As Byte, green As Byte, blue As Byte)
  Const PS_SOLID As Long = 0
  
  mLineColor = red * 1 + green * &H100& + blue * &H10000
  Call DeleteMyPenIfNeed
  mPenHandle = Win32API.CreatePen(PS_SOLID, 1, mLineColor)
End Sub
Public Sub SetFillColor(red As Byte, green As Byte, blue As Byte)
  mFillColor = red * &H10000 + green * &H100& + blue
  DeleteMyBrushIfNeed
  mBrushHandle = Win32API.CreateSolidBrush(mFillColor)
End Sub
Private Sub DeleteMyPenIfNeed()
  If mPenHandle <> 0 Then
    Win32API.DeleteObject (mPenHandle)
    mPenHandle = 0
  End If
End Sub
Private Sub DeleteMyBrushIfNeed()
  If mBrushHandle <> 0 Then
    Win32API.DeleteObject (mBrushHandle)
    mBrushHandle = 0
  End If
End Sub

385 :381:2006/11/25(土) 16:17:39
Public Sub Draw(X As Long, Y As Long, r As Long)
  Dim pt() As Win32API.POINTAPI
  Dim prevPenHandle As Long
  Dim prevBrushHandle As Long
  
  If hdc = 0 Then Exit Sub
  pt = GetPointArray(X, Y, r)
  prevPenHandle = Win32API.SelectObject(hdc, mPenHandle)
  prevBrushHandle = Win32API.SelectObject(hdc, mBrushHandle)
  Call Win32API.Polygon(hdc, pt(0), mNumOfAngle)
  Call Win32API.SelectObject(hdc, prevBrushHandle)
  Call Win32API.SelectObject(hdc, prevPenHandle)
End Sub
Private Function GetPointArray(X As Long, Y As Long, r As Long) As Win32API.POINTAPI()
  Dim pt() As Win32API.POINTAPI
  Dim i As Integer
  Dim rad As Double
  Dim deltaRad As Double
  ReDim pt(mNumOfAngle - 1)
  
  deltaRad = 2 * PI / mNumOfAngle
  rad = 2 * PI * (mDegreeOf1stPoint / 360#)
  For i = 1 To mNumOfAngle
    pt(i - 1) = GetPoint(X, Y, r, rad)
    rad = rad + deltaRad
  Next
  GetPointArray = pt
End Function

386 :381:2006/11/25(土) 16:18:49
Private Function GetPoint(X As Long, Y As Long, r As Long, rad As Double) As Win32API.POINTAPI
  Dim pt As Win32API.POINTAPI
  
  pt.X = X + r * Cos(rad)
  pt.Y = Y + r * Sin(rad)
  GetPoint = pt
End Function

387 :デフォルトの名無しさん:2006/11/25(土) 17:50:10
名前空間を意識して、モジュール名にドットをうって
メソッドを呼んでるところといい、そのクラスといい、
なかなかの腕だけど、なんの仕事してれば、そんな
描画系を思いつくの??

業務系の俺には、カスリもしない世界だったから、
ちょっと興味をもった。

388 :デフォルトの名無しさん:2006/11/25(土) 18:40:31
> なかなかの腕だけど
どこがだよw


389 :デフォルトの名無しさん:2006/11/25(土) 19:00:18
>>388
別に言うのは勝手だけど、お前の脳みそでは
どれだけ振り絞っても、>>381以上のソースは
書けないと思う。

>>388のソースに期待w



390 :デフォルトの名無しさん:2006/11/25(土) 19:08:28
>>389
見苦しい…

391 :デフォルトの名無しさん:2006/11/25(土) 19:59:50
息苦しい

392 :デフォルトの名無しさん:2006/11/25(土) 20:07:41
もっと短く簡潔に書いてくれ。
貴方よりずっと莫迦な誰か他の人がメンテする事を考えて。

393 :デフォルトの名無しさん:2006/11/25(土) 20:21:45
>>383
> Private Sub Class_Terminate() 
>   DeleteMyBrushIfNeed 
>   DeleteMyPenIfNeed 
> End Sub 
軽く殺意が涌いた

394 :デフォルトの名無しさん:2006/11/25(土) 20:36:16
382〜を見て、すごいなーとは思わないけど、綺麗だなーとは思う。
こういう上手くはないけど綺麗なコード書ける人と一緒に仕事したいもんだね。

395 :デフォルトの名無しさん:2006/11/25(土) 21:49:30
>>394
テラワロスw

なんで、誉める前に必ず「〜けど」って一言多いんだよw

うははw ネクラの臭いがぷんぷんするw

396 :368:2006/11/25(土) 22:01:28
>>381
レスありがとうございます。
早速、自分用にアレンジして使わせていただきますね。
ありがとうございます。
あと、ウンココードは捨てますねw

397 :デフォルトの名無しさん:2006/11/25(土) 22:17:02
ペンとブラシの寿命がフォームと同じなのが気になる貧乏性

398 :381:2006/11/25(土) 22:34:47
>>396
バグがある(SetLineColorの処理とPIの値)のと、あと数値の型が適当だったり
ちゃんとキャストしてなかったりするのでその辺は修正してやってね。

>>397
やっぱりあんまりよくないのかな。
Win32のGDI関数ってほとんどやってことないから。。
Win9x特有の制限に引っかかる可能性があるとかないとかどこかで読んだ気もするけど。

>>387
ヘッポコのマイコンプログラマですよw
PCのアプリはここ数年.NETばっかりなんで、どうしてもVB.NETチックなコードになっちゃうね。

399 :デフォルトの名無しさん:2006/11/26(日) 01:43:56
VBSでMSXML2.DOMDocumentを使う場合のについての質問です。

<test hoge='ABC'/>
<test hoge='BCD'/>
<test hoge='CDE'/>

の中から、hoge属性値に C を含むものを列挙したい場合、
XPathではどのように記述するのでしょうか?

部分一致ではなく完全一致であれば、
/test[@hoge='C'] で取得できるのですが、
ワイルドカードはノード名や属性名には使えても、属性値には使えないようですし、
/test[contains(@hoge,'C')] もcontainsの部分で「不明な方法です」というエラーになります。

全ノードに対してループを回し、正規表現などで条件分岐すれば、結果的には問題有りませんが
XPathで出来ることならXPathでやりたいので、ご存じの方が居ましたらご教示ください。


400 :デフォルトの名無しさん:2006/11/26(日) 12:56:07
データ型で大きな数字が入る順番は
integer<long<single
と習ったんですが、single型って6桁を超えると
それ以下の桁が0に簡略化されますよね。
longに入らないぐらい馬鹿でかい数を使う場合で
頭から数えて6桁以下の数字を省略しないで計算したい場合
どうすればいいんでしょうか?

401 :デフォルトの名無しさん:2006/11/26(日) 13:13:14
>>400
有効桁数6桁”以下”なら、言っている通りsingleでいいと思うのだが

402 :デフォルトの名無しさん:2006/11/26(日) 13:14:13
('A`) あ、もしかして"馬鹿でかい”のと”有効桁が大きい”の違いが分かってない・・・?

403 :400:2006/11/26(日) 13:28:42
すいません判り難かったみたいなので
例えば
12345678901234567890+12345678901234567890=24691357802469135780
を出したいと思った場合
longには入らないのでsingleを使うと
1.234567×10^19+1.234567×10^19
こんな感じで解釈されますよね。
すると結果が2.469134×10^19になりますよね、結果的に24691340000000000000
になっちゃって一番上と数値が変わってきちゃうじゃないですか、
これを何とかしたい、というわけなんです、正確に計算したいんです。

404 :デフォルトの名無しさん:2006/11/26(日) 13:33:39
ひんと: 多倍長演算

405 :デフォルトの名無しさん:2006/11/26(日) 13:41:30
「最近のCPUはfloatもdoubleとして処理するからfloat使っても速くはならないし、
 精度も落ちるから巨大な配列を確保する等の事情が無ければdoubleを使ったほうが良い」
って聞いたけどVBだとどうなんだろう。

406 :デフォルトの名無しさん:2006/11/26(日) 13:41:38
>>403
とりあえず
> 頭から数えて6桁以下の数字を省略しないで計算したい場合
では、ないんだな ('A`)
とりあえず20ケタを扱える型はdecimal型だ
詳しくはヘルプを参照

逆質問だが、下のような計算も考慮に入れているのか?
 0.12345678901234567890+12345678901234567890
この場合、誤差を最小に抑えるため数値上では小数以下の桁がほとんど丸められるわけだが、
これすらも正確に保ち下のような数値として扱いたいのなら、
 12345678901234567890.12345678901234567890
vbの標準型では無理で、文字列型でAdd(String v1, String v2)みたいな演算を自分で仕組むしかないぞ

407 :4061 ◆qRy0pp8F66 :2006/11/26(日) 13:43:55
decimalの使い方
Private Sub Form_Load()
    Dim d1 As Variant
    Dim d2 As Variant
    d1 = CDec("12345678901234567890")
    d2 = d1
    Debug.Print d1 + d2
End Sub

408 :デフォルトの名無しさん:2006/11/26(日) 13:47:14
>>405
VBというよりWindowsの動くx86のCPUでは、
基本的に80bitの拡張倍精度で演算される。

409 :デフォルトの名無しさん:2006/11/26(日) 13:58:39
とりあえず>>400には「仕様」を明確にしてもらうことが重要なはずだと思うが。。
テキトーな回答を下す前に。

>>400
人様に質問するのに「馬鹿でかい」とかあいまいな言葉を使うなよ。
そんなんでわかるわけないだろ、誰もエスパーじゃないんだから。

扱う数値は整数?実数?
実数の場合、必要な精度は?
扱う数値の範囲(最大値・最小値)は?

410 :デフォルトの名無しさん:2006/11/26(日) 14:00:15
>>409
詳しく書いてるように聞こえるけど、
実は何も考えてないだろ?

411 :デフォルトの名無しさん:2006/11/26(日) 14:27:25
>>403
Currency(綴りあやふや)は?

412 :デフォルトの名無しさん:2006/11/26(日) 14:40:06
>>411
少なすぎますです

413 :デフォルトの名無しさん:2006/11/26(日) 14:46:19
>>400
ふぅ・・・。で、お前は何がしたいの?

バカなら、もう来るなよ。みんなが真剣に考えたりするじゃないか。

真剣なら、自分で型をつくればいいだけの話だろ。

414 :デフォルトの名無しさん:2006/11/26(日) 18:55:13

>>399もお願いします。

415 :デフォルトの名無しさん:2006/11/26(日) 21:01:36
すまん、俺にはわからない。
XPathのことはXMLのスレ(WebProg板にある)にいったほうがわかる人間がいると思う。

416 :デフォルトの名無しさん:2006/11/26(日) 22:34:51
VBの場合、スコープがグローバルの参照型の変数は
参照が変わった場合、前の値はメモリから消えるのでしょうか?

Public str as String

のstrに
 str = "A"
 str = "B"
とした場合の"A"です。

何かのタイミングで一斉に消えたりするのでしょうか?

417 :デフォルトの名無しさん:2006/11/26(日) 23:13:44
よく知らんけど、適当な時にガーベージコレクトしてるんじゃない?

418 :デフォルトの名無しさん:2006/11/26(日) 23:17:01
知らないのになぜ答えるんですか?

419 :デフォルトの名無しさん:2006/11/26(日) 23:25:31
>>416
何故そんな事を知る必要があるの?

420 :デフォルトの名無しさん:2006/11/26(日) 23:28:55
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 三.回答する上で必須ではない情報をむやみに聞き返さない。

421 :デフォルトの名無しさん:2006/11/26(日) 23:36:22
テメエのモラルはテメエで勝手に守ってろってw
俺はそんな糞みたいなルールには死んでも従わないね。

422 :デフォルトの名無しさん:2006/11/26(日) 23:40:23
○ 質問者の心得
 四.荒らしは相手しない。

○ 回答者の心得
 四.荒らしは相手しない。

423 :339:2006/11/26(日) 23:54:28

>>415
XMLスレも考えたのですが、COM版のMSXML2.DOMDocumentに限定した話をしたかったので
まずはこちらにきました。Web上で紹介されている関数が使えなかったりと、COM版の仕様が他とは違うようなので。
もうしばらくこちらで粘って、知ってる方が居ないようなら向こうに移動してみます。

ということで引き続きよろしくお願いします。


424 :デフォルトの名無しさん:2006/11/26(日) 23:58:47
以降のスレには

○馬鹿の一つ覚えのようにテンプレをコピペしない

っていう項目が必要になりそうだな。
そうすれば>>422のようなスレになんの貢献もしない馬鹿を雪隠詰めにできるよw

425 :デフォルトの名無しさん:2006/11/27(月) 00:01:21
○馬鹿の一つ覚えのようにテンプレをコピペされるような書き込みをしない

426 :デフォルトの名無しさん:2006/11/27(月) 01:58:39
>>416
俺は"B"を代入した瞬間"A"は消えるもんだと思っている。
なぜなら、VC++で同じことをBSTRに対して行おうとするとそういう風になるから→きっとVBもそうだろうという短絡的発想。

427 :デフォルトの名無しさん:2006/11/27(月) 02:03:33
知らないのになぜ答えるんですか?

428 :デフォルトの名無しさん:2006/11/27(月) 02:06:51
>>427
( <●> <●> )つ わかってます

わかってないことを証明する悪魔の証明はできないのはわかってます

429 :デフォルトの名無しさん:2006/11/27(月) 02:12:52
>>428
あなたはわかっていません
freeした直後にAはメモリ上に存在します
また直後ではAの上にBを置かれることはありません
OSの中まで追ってからにしなさい

430 :デフォルトの名無しさん:2006/11/27(月) 02:14:14
> OSの中まで追ってからにしなさい
> OSの中まで追ってからにしなさい
> OSの中まで追ってからにしなさい
> OSの中まで追ってからにしなさい
( <●> <●> )

431 :デフォルトの名無しさん:2006/11/27(月) 02:16:06
>>429のVBは変数を宣言するごとにGlobalAllocしてるんだな


432 :デフォルトの名無しさん:2006/11/27(月) 02:20:48
>>430
むしろこっちだろ
> Aはメモリ上に存在します
> Aはメモリ上に存在します
> Aはメモリ上に存在します

433 :デフォルトの名無しさん:2006/11/27(月) 02:46:10
マジレスするとVB6までは参照カウンタ方式のGCで、参照が無くなったタイミングで即回収され再利用可能になる。
循環参照があった場合は開放されない。同じ参照カウンタ式のCOMと相性がいい。

434 :デフォルトの名無しさん:2006/11/27(月) 02:49:55
>>433
> 循環参照があった場合は開放されない。
('A`) ”されない”?

435 :デフォルトの名無しさん:2006/11/27(月) 02:51:44
>433
>416 はVB6の話だろ?
Stringはオブジェクト型じゃないから代入は値のコピーが作られるだけだぞ

436 :デフォルトの名無しさん:2006/11/27(月) 03:07:40
>>435
そうだった。Stringは別だな。
433はClassの話だと思ってくれ。

437 :デフォルトの名無しさん:2006/11/27(月) 08:46:34
ようわからんがstrに"ABCDE"が入ってて、そこへ"XYZ"が"入った場合、
メモリ上"XYZDE"になって、"DE"はあるタイミングまで残る、って話ではないの?
"XYZ"の代わりに"1234567890"が入ったらメモリ上は"12345"になって、
新たなメモリ空間に続きの"67890"が入るように思うんだけど。
GCで前者の"DE"みたいなのが詰められ、後者みたいなのが
"1234567890"と連結されんでしょ?

438 :デフォルトの名無しさん:2006/11/27(月) 09:10:42
>>437
壮大な勘違いだな。

439 :デフォルトの名無しさん:2006/11/27(月) 13:01:28
VB自体の開発者しか知らない事を議論するのは無意味&無駄。

440 :デフォルトの名無しさん:2006/11/27(月) 15:36:44
>>439
メモリについて「無意味&無駄」としか考えられないようだから
ブービー厨とバカにされるんだよ

441 :デフォルトの名無しさん:2006/11/27(月) 17:11:25
>>440
VBが中で何やってたって、それを変更する事は出来ない。
つまり、お前が莫迦で阿呆という事だな。

442 :デフォルトの名無しさん:2006/11/27(月) 17:55:06
TextBox1〜3とCommand1の4つのコントロールがFormに貼ってあります。
初期状態では、TextBox1, 3とCommand1だけ、Enabled=Trueです。

TextBox1の入力内容を検査して、OKならTextBox2のEnabledをTrueにした
上で、そこにFocusを移動させたいのですが、どうすればよいでしょうか?

TextBox1のValidateに
 TextBox2.Enabled=True
 TextBox2.SetFocus
と書いてもTextBox2にFocusが遷移しません。

443 :デフォルトの名無しさん:2006/11/27(月) 18:34:47
>>442
どうすればもこうすればも、そんな糞仕様のUIはナンセンスでしょ。ダメダメでしょ。

MSDN読んだ?
Validateっていつ発生するのよ。
矛盾することしようとしてるんだからうまくいくはずがない。
だいいち少しはユーザビリティってものを考えてくれよ。

444 :デフォルトの名無しさん:2006/11/27(月) 18:36:58
>>442
へっへっへ…
Enable=TrueにしたあとDoEvents書いちゃいなよ。
いいぜぇ、DoEventsは。

445 :デフォルトの名無しさん:2006/11/27(月) 19:35:27
>>444
しかし、諸刃の剣でもあるな。

446 :デフォルトの名無しさん:2006/11/27(月) 21:01:16
簡単な問題になると、嬉しそうに湧いてくるなw

447 :デフォルトの名無しさん:2006/11/28(火) 08:48:40
>>446
何ツンデレ?普通に当然のことじゃん。

448 :デフォルトの名無しさん:2006/11/28(火) 09:01:23
変数は必ずしも宣言と合わせて初期化しないといけませんか(.NET)
Dim hoge As Integer = 0

449 :デフォルトの名無しさん:2006/11/28(火) 09:45:21
>>448
vb.netさんでは宣言時に規定の初期値に初期化されます
やりたきゃやってみろ

450 :デフォルトの名無しさん:2006/11/28(火) 09:49:47
>>443
キミ、学校でも頭悪いとか、「○○って話が通じネーよな」とか良く
言われるでしょ?言われるでしょ?

451 :デフォルトの名無しさん:2006/11/28(火) 09:51:04
型による。
値型と参照型では違う。

参照型は初期化しないと、ぬるぽりますよ

452 :デフォルトの名無しさん:2006/11/28(火) 13:56:35
>>446
お前自身の事か?

453 :デフォルトの名無しさん:2006/11/28(火) 18:57:12
スゴイ事思いついたヾ(゚∀゚)ノ

VB6.0でも、ユーザーコントロールを使えばクラスの継承が実現しない?!

空っぽのユーザーコントロールにメソッド書いて、継承時はそれを同じように
空っぽのユーザーコントロールに貼り付け。

画面やクラスでそのユーザーコントロールを動的に生成して、メソッドだけを呼べば
クラスの継承が実現してない??

454 :デフォルトの名無しさん:2006/11/28(火) 19:22:46
それ継承じゃないしw
すくなくともそれじゃあね。
VBには目に見えないFormクラスがあって、全てのフォームはそれを継承していると
みなせる、って話ならわかるけど。

まあ当たり前だけどVB6でも継承そのものは可能なんだよね。
ただ言語レベルでサポートしてないだけで。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnprogvbnet/htm/chapter5.asp

455 :デフォルトの名無しさん:2006/11/28(火) 20:23:28
>>454
フォームの継承は、理屈はそうだけど、自分のメソッドも何もできない
からね〜


委任による継承かぁ〜・・・

実際は継承しているわけではなくて、継承チックに見えるように
ベースのクラスを呼んでいるんだよね

でもdd。

Implementsによるインターフェースの実装は知っていたけど、継承できない時点で
あんまり役にたたないよね。強いて使うなら、雛形として、このメソッドを使いなさい、かな〜

456 :デフォルトの名無しさん:2006/11/28(火) 21:08:43
つCOMでも勉強・・・するべきだったけどモウイイや

457 :デフォルトの名無しさん:2006/11/28(火) 21:47:36
継承なんて出来なくても、VBで何でも書けるが。

458 :デフォルトの名無しさん:2006/11/28(火) 21:54:10
>>457
んなこと聞いてないし(^ω^)

459 :デフォルトの名無しさん:2006/11/28(火) 21:57:21
>>457
そう、つっかかるな。
オレもVBが好きだ。


ただ、お前ほどのヤシなら、たとえばフォームで継承が
できたら、便利だって事がわかるだろ?

ただ、それだけの事だよ。

継承できなくても、VBは本当にRAD開発では最高の
言語だよ。

460 :デフォルトの名無しさん:2006/11/29(水) 12:50:23
>最高の言語だよ。

( ^ω^) ・・・。

461 :デフォルトの名無しさん:2006/11/29(水) 13:06:55
RAD開発では

462 :デフォルトの名無しさん:2006/11/30(木) 00:14:36
> 継承できなくても、VBは本当にRAD開発では最高の
> 言語だよ。
そんな餌にクマー(AA略

463 :デフォルトの名無しさん:2006/11/30(木) 17:49:08
VBで、ドトネトでいう、RemoveHandlerのようなイベントを削除する
メソッドはありますか??

464 :436:2006/11/30(木) 19:52:09
もう一つ、クラスのインスタンス間で共有できる
Shared、Staticのようなものはありますか?

465 :デフォルトの名無しさん:2006/11/30(木) 20:18:34
>>463-464
さようなら

466 :デフォルトの名無しさん:2006/12/01(金) 06:49:29
VB6.0でDeclare Functionを使って、
個々に関数を呼び出せるDLLを作成するには、
どうすればいいのでしょうか?





467 :酔いちくれ ◆J0rwikii8c :2006/12/01(金) 07:11:11
>>466
Cで?

468 :466:2006/12/01(金) 08:01:13
VBでです。


469 :デフォルトの名無しさん:2006/12/01(金) 08:20:28
できない。

470 :466:2006/12/01(金) 08:27:20
了解です(´・ω・`)

471 :酔いちくれ ◆J0rwikii8c :2006/12/01(金) 09:01:54
参照するとか、CreateObjectするとかじゃ
だめなのかという疑問。

472 :466:2006/12/01(金) 09:13:19
使うのがVBだけではなく、
クラスを使えない言語からも参照できないといけないのです。
なので、Declare Functionで呼び出せればと思ってました。

473 :酔いちくれ ◆J0rwikii8c :2006/12/01(金) 09:28:05
他言語から参照するような処理をVBでは出来ないほうが
いいからかもね〜。

だって、圧倒的に遠回りで遅いから。まあ、仕方ない。

474 :466:2006/12/01(金) 09:38:01
了解です。
とりあえずVbでクラスを作って、
それを呼ぶためのDLLをVCかDelphiで作ります。
かなり面倒ですけど、VB側の処理は変更できないので、
この方法でやってみます(`・ω・´)

475 :デフォルトの名無しさん:2006/12/01(金) 10:40:21
VB6でサスペンドを拒否する記述がしたいのです

サブクラス化してWndProcでWM_POWERBROADCASTを拾うことはできました
CならこのあとReturnでBROADCAST_QUERY_DENYを返せば良いだけですが
VB6ってどのようにしたら良いのでしょうか
.Netでの方法ならたくさん見つかったのですが・・・

476 :デフォルトの名無しさん:2006/12/01(金) 11:02:25
難しい問題はお任せします

>>442
>TextBox2にFocusが遷移しません

わかった、これってGUIの組み方でいつも問題になるところだよね
これって言語によらない共通の問題かなと(>>443さんの指摘は意味はあるかと)

結局、キー入力による「Enter」だけでなく、
マウスでほかのコントロールに移ろうとしてときにも
強制的にTextBox2にfocusしたいってことだよね

確かにVaridateイベントにそれを書いて>>444の対策してもうまくいかないんだよね

そうなると、ちょっと無理気味だが、今TextBox1で編集した直後だよってフラグを
モジュールレベル変数で立てておいて、別の任意のコントロールをクリックしてしまって
そこにFocusが移っても、そこから対策するしかないんではないかと思う

あるいは、次の入力部を強制するためには、次のコントロール以外は
Focus可能なものは表示しておかないようにしておくとかしないといけないわけで
それであれば、結局昔のDOS時代のキーボードオンリーの入力使用に近い
形にするしかないかと

以前にやったことのある対策は、そのGotFocusイベント・プロシージャでそれを参照して
フラグの値に応じて強制的にFocusを飛ばすプロシージャをコールするようなもので
一応はうまく動きはしまたが、注意点はあとでバージョンアップとかしてコントロール
が増えたときにそこも修正追加が必要なことかな

477 :475:2006/12/01(金) 11:14:50
WndProc = BROADCAST_QUERY_DENY
Elseで条件以外はWndProc = CallWindowProcして
でEnd Functionしたらいけたっぽいんですが
これでいいのでしょうか?w

478 :デフォルトの名無しさん:2006/12/01(金) 11:16:42
>475
SysInfoコントロールのPowerQuerySuspendじゃ駄目か?


479 :酔いちくれ ◆J0rwikii8c :2006/12/01(金) 11:18:15
>>475
Cでつくった自作の関数呼べばよくね?


>>476
べたなフォーカス遷移として、コントロールのEnabledを
一時的にFalseにして、勝手に次のtabIndexにフォーカス
を移したりする。

コントロールを送って、移したいオブジェクトまでフォーカスを移す。

関数名はせっとふぉーかすでらっくすでおk

480 :デフォルトの名無しさん:2006/12/01(金) 11:49:01
>>479
>コントロールのEnabledを一時的にFalseにして
>勝手に次のtabIndexにフォーカスを移したりする

Enterキーだけで送るときとかにはそういう機能もあったんですね
やってみました

この>>442でのやっかいな問題は、フォーム上の他のコントロールがEnabled=True
状態で存在しているときに、そこにマウスでヒットされると、Validateイベントでは
対応できないということかと思いまして(実際にやってみましたがうまくいきません)
それで>>476かと考えました次第でした


481 :デフォルトの名無しさん:2006/12/01(金) 12:49:03
>>475
拾えたのなら、Cと同じ事するだけでしょ。
つーか、どうやって拾ったんだ?

482 :デフォルトの名無しさん:2006/12/01(金) 14:50:29
>>480
Sendkey でTABキー送りなよォ
ぐひひ

483 :デフォルトの名無しさん:2006/12/01(金) 15:38:33
>>466
vb6のリンカかコンパイルオプションで出力できる

484 :デフォルトの名無しさん:2006/12/01(金) 15:39:34
>>464
モジュールに書くしかないんでね?
さも無きゃ一つのインスタンスを特別扱いするとか

485 :デフォルトの名無しさん:2006/12/01(金) 15:40:24
>>463
vb6は内部でcomのdispatchインタフェイス使ってるので、
明示的に相手の参照はもってません
諦めろ。

486 :酔いちくれ ◆J0rwikii8c :2006/12/01(金) 21:11:42
>>485
詳しいね。

COMの世界は正直、わからん

487 :デフォルトの名無しさん:2006/12/02(土) 00:17:54
VB6でフォームにチャートを表示させ、
チャートの折れ線グラフにマウスを当てると
その箇所の値(X軸、Y軸)がテキストボックスに
セットされる。

雰囲気的には株のリアルタイムチャートっぽいものを
実現したいのですが、これが可能なActiveX等を
ご存じでしたら教えてください。

チャート上のマウスのMOVEイベントでその位置の
値が拾えれば良いのですが、Microsoft Chartとかは
不可能でした。


488 :デフォルトの名無しさん:2006/12/02(土) 00:29:41
>>487
Formなりグラフィックメソッドとマウスイベントがあるコントロールなら
普通に何でもいいのではないかと

489 :デフォルトの名無しさん:2006/12/02(土) 17:07:17
>>487
グレープシティの製品にそんなのなかったっけ?

490 :デフォルトの名無しさん:2006/12/03(日) 00:16:14
VBで作成するDHTMLについて質問させてください。
コマンドボタンを押すと、テキストエリアに文字が表示されるというシンプルなソースなんですが、
ローカルでHTMLを表示すると問題なく作動するのですが、サーバにUPするとコマンドボタンを
押しても何もおきません。
XPpro+VB6.0で作成してます。
理由がお分かりの方、教えて下さいm(__)m

491 :デフォルトの名無しさん:2006/12/03(日) 00:45:06
>>490
んんんんん、ぬおおおぉぉ〜〜〜ッッッ!!!!

超能力を駆使してみたんだが分からんかった。
スマンのぅ。

492 :デフォルトの名無しさん:2006/12/03(日) 02:06:30
shell関数を使って、Javaのプログラムを呼び出そうとしていますが、
Java実行中、VB処理はそこで一時停止したいと考えています。
しかし、shell関数は非同期であるため、VB処理の一時停止が出来ませんよね?
こういった場合、どのように対処すればよいのでしょうか?

493 :デフォルトの名無しさん:2006/12/03(日) 02:08:40
>>490
全然分からないので一般的なことしかいえないけど、
セキュリティとかそういうのはちゃんと設定してあるの?
何か参考資料を一つ手元においてやってみた?

494 :デフォルトの名無しさん:2006/12/03(日) 02:14:13
>>492
VBとWin32APIで行くなら
つ http://homepage1.nifty.com/MADIA/vb/API/VBDOUKI2.htm

ScriptingHost使っていいなら
つ http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson9.htm

など

495 :酔いちくれ ◆J0rwikii8c :2006/12/03(日) 09:43:05
>>490
今日は朝から酔うちもうた

ぶーびーすくりぷとと、HTMLを使ってるということでAF?いや、FA?

よくわからんけど、HTMLに
<noscript><p>だめだこりゃ</p></noscript>
と書いて、表示されるようなら、だめなんだろうね

つーか、そーすをかいてみそ。酒のつまみをまってるぞ


496 :490:2006/12/03(日) 09:52:21
>>495
おはようございます。
ソースは下記のとおりです(VBによるDHTMLを試したかっただけなので)。

Private Function SubmitButton1_onclick() As Boolean

TextArea1.Value = "お前は既に" + _
Chr$(10) + Chr$(13) + "死んでいる"

End Function

よろしくお願いしますm(__)m

497 :デフォルトの名無しさん:2006/12/03(日) 11:48:03
>>496
<HTML>
<HEAD>
<TITLE>TEST</TITLE>
<SCRIPT LANGUAGE="VBScript">
Function Submit_onclick()
    TEXTAREA1.Value = "お前は既に" + vbCrLf + "死んでいる"
End Function
</SCRIPT>
</HEAD>
<BODY>
<P>
<TEXTAREA id=TEXTAREA1 name=TEXTAREA1></TEXTAREA>
<INPUT id=submit1 type=submit value=Submit name=submit1 onClick="Submit_onclick()">
</P>
</BODY>
</HTML>
ここまでを test.htm で保存、サーバーにあげてIEで開くと動くぞ。
もしかしたらお前さんの思ってるDHTMLと違ってるかもしれないが一般的にはこれのこと。

498 :酔いちくれ ◆J0rwikii8c :2006/12/03(日) 11:49:18
>>496
う〜・・いい気分だ。
ビールが無くなったから、嫁に買いにいかせなくちゃ・・・


ぶーびーのアプリケーションはVBが実行できる環境じゃないと
だめなんだな
ちょっとオレも勘違いしてたよ。ダイナミックHTMLと思ってた。

ソースを見る限り、VBのデザイナでDHTMLを書いたんだよね

サーバーにぶーびーのランタイムがインストールされていないと
だめなんだよ

499 :490:2006/12/03(日) 12:22:50
>>498
鯖にVBのランタイムが入ってないと駄目なんですか○| ̄|_
勉強になりました。
ありがとうございましたm(__)m

500 :デフォルトの名無しさん:2006/12/03(日) 12:53:03
VB6のランタイムが必要なDHTMLって何なんだ。別になにかあるの?
>>490 が結局何をしたかったかよくわからねぇ。

501 :デフォルトの名無しさん:2006/12/03(日) 13:36:10
492です。

>>494
即レスありがとうございました。
win32APIで行こうと思います。

502 :酔いちくれ ◆J0rwikii8c :2006/12/03(日) 13:46:19
>>500
おれも、最初は普通のHTMLにスクリプトを組み込んでいると
思ったんだよ。
で、スクリプトを外出しにでもして、パスが違うんじゃマイカと。

でも、>>496を見せてくれた瞬間ひらめいたね


VBのスタート→新しいプロジェクト→DHTMLアプリケーション

もう、すっかり酔いがさめた。ビールでも買いに行こう・・・。

503 :デフォルトの名無しさん:2006/12/03(日) 14:02:18
DHTMLプロジェクト初めて使ってみた素人プログラマには話がさっぱりわからんかったばい

504 :デフォルトの名無しさん:2006/12/03(日) 20:45:47
dim (300,30)
でどのくらいメモリ使用すます?

505 :デフォルトの名無しさん:2006/12/03(日) 20:52:25
お札300枚は幾らでしょう、というのと同じ愚問だな

506 :デフォルトの名無しさん:2006/12/03(日) 20:55:48
だな、石300個で重さいくらでしょう?ともいえる

507 :デフォルトの名無しさん:2006/12/03(日) 21:03:06
Dim a(300, 20) As Variant
でいいですか?

508 :デフォルトの名無しさん:2006/12/03(日) 21:04:46
>>502
>VBのスタート→新しいプロジェクト→DHTMLアプリケーション 

あった、あった思い出した。これはサーバーにはIISやVBはいらないが、
ディストリビューションウイザードでCABファイルを作る必要がある。
クライアントがIE必須でVB製のActiveXをインストールしてしまう優れもの。署名なしでは使用できない。
JavaScriptやVBScriptのかわりにObjectタグのActiveXを使わせる仕掛け。
今のIEだと署名があっても警告でまくりでとても使えたものじゃない。
当時は警告無視すりゃ動いた気もするが、とても使えねぇと思って以降忘却のかなただった。

509 :デフォルトの名無しさん:2006/12/03(日) 21:35:42
>>507
MSDNをVisualBasic6に関して、”データ型の概要”で調べれ

510 :デフォルトの名無しさん:2006/12/03(日) 21:43:18
i = Time

iに1秒足すには記述はどうすれば良いでしょうか?

511 :デフォルトの名無しさん:2006/12/03(日) 21:44:26
i=i+1でいいんでね?

512 :デフォルトの名無しさん:2006/12/03(日) 21:45:40
('A`) timerと間違った
dim i as date
i=time
i=dateadd("s",1,i)

513 :デフォルトの名無しさん:2006/12/04(月) 00:38:07
>>512
ありがとう〜。

514 :デフォルトの名無しさん:2006/12/04(月) 01:34:36
i=time
iに1:16:18が入ったとして、
これの秒を00に書き換えたいのですが、記述はどのようにすれば良いでしょうか?
後々 i + #12:01:00 AM# > time の処理をするので、Formatを使うと都合悪いです。

1:16:00に1分たした物を、timeと比較するような感じです。

515 :デフォルトの名無しさん:2006/12/04(月) 02:08:43
>>514
> これの秒を00に書き換えたいのですが
dim i as date
i=timeserial(1,16,18)
i=getHourMinute(i)

function getHourMinute(byval d as date) as date
getHourMinute=timeserial(hour(d),minute(d),0)
end function

> 後々 i + #12:01:00 AM# > time の処理
まさかこのままじゃないよな?
double型の演算になるはずだから、精度が犠牲になるかも知れんぞ?
if datediff("s",i+#12:01:00 AM#,time)>0 then ...
か?

516 :デフォルトの名無しさん:2006/12/04(月) 17:21:17
もしかしなくてもDB板ネタかもしれませんが教えて下さい。
SQLServer2k + VB6の組合せでアプリを書いてます。

ストアド内で、大雑把に次の処理を行っています

1) 元になるテーブルを集計してワーク作成
2) ワークを加工して、レコードセット返却

1) の処理が終った時点でワークが出来ていなければ、RETURN 0 として処理を
終了させ、2) の処理が正常終了したら RETURN @@ROWCOUNT として処理行数を
返しています。問題は、

・ワークが作成されず、RETURN 0で終った場合
  → EOFプロパティを参照するとカーソルが無いといわれてエラー
  → rdoParameters(0).Value は 0 が入っている

・レコードセット返却まで正常に行われた場合
  → EOFプロパティにはちゃんとTrue/Falseが入る
  → レコードセットを全部引き取るまで、rdoParameters(0).Value が Null

となってしまうんです。
ストアド終了時点でレコードセットが有るか無いかを判断する正当な方法を教えて下さい。

517 :酔いちくれ ◆J0rwikii8c :2006/12/04(月) 19:42:01
SQL-SERVER+RDOねぇ〜

SQL-SERVERでストアド組んだこと無いから、
酔いちくれの独り言


おらくるなら、beginをネストして、Exceptionで処理をやらせる

じゃヴぁ糞やドトネトも似たような事する

return0のときに、カーソルにはselect "orz"とか入れたらww

誰か、頭のいい人に回答もらえるといいね〜

518 :デフォルトの名無しさん:2006/12/04(月) 21:19:28
>>515
できました。
ありがとー。

519 :デフォルトの名無しさん:2006/12/04(月) 21:45:57

「Visual Basic Editor 6」で、『Microsoft MonthView Control 6.0(SP4)』を使用したいのですが、

「ツール」→「その他のコントロール」内のリストに表示されません。

「その他のコントロール」内のリストに表示させるにはどうしたら良いでしょうか?

オフィス2000 プレミアムを所有しています。

宜しくお願いします。

520 :デフォルトの名無しさん:2006/12/04(月) 22:40:41
あのー、コントロールはIDE(Visual Basic Editor 6)に付属するものではないんですが。

521 :デフォルトの名無しさん:2006/12/04(月) 22:49:18

>>520さん、ありがとうございます。

コントロールはどうすれば入手できるのですか?



522 :デフォルトの名無しさん:2006/12/04(月) 23:23:01
念じる

523 :デフォルトの名無しさん:2006/12/04(月) 23:53:01
Dim a(1, 20) As Variant

この配列を初期化する方法を教えて下さい。

Doで回してブランクを入れるしか無いのでしょうか?

モジュール内で使用する配列なので、redimは不都合です。

524 :デフォルトの名無しさん:2006/12/04(月) 23:58:52
この手の話題は荒れるから嫌だ。
答え知ってても言う気にならない。

525 :デフォルトの名無しさん:2006/12/04(月) 23:58:59
意味がわからない

526 :デフォルトの名無しさん:2006/12/05(火) 00:21:35
そこをなんとか教えて下さい。

527 :デフォルトの名無しさん:2006/12/05(火) 00:40:07
Erase でできました。

528 :デフォルトの名無しさん:2006/12/05(火) 15:27:56
>>523
する必要ないじゃん。

529 :デフォルトの名無しさん:2006/12/07(木) 10:19:16
下のようなプログラムを作成したんですが、関数宣言で
戻り値がいる場合ってどのような場合なんでしょうか?
(下だとbが戻り値ですが)
またByRefなどは正しく宣言されていますでしょうか?

Function sora(ByRef a As Double, ByRef b As String) As String

If InStr(1, Replace(a, "-", ""), ".") = 4
If InStr(1, a, "-") Then
b = a
Else
b = " " & a
End If
  end if

530 :デフォルトの名無しさん:2006/12/07(木) 10:36:38
あっ↑VB6.0です

531 :デフォルトの名無しさん:2006/12/07(木) 10:53:11
・double型に対し、Instrを実行するのがおかしい
・最初のif文にthenがない
・なぜ"."が4文字目になければならないのか(そういう処理なんだろうが・・・)
・string型に直接double型を代入しようとしている。
・最後だけインデントしている

これはdouble型の数字を文字列型に変換したいのか?
普通に
b=str(a)
じゃだめなのか?

Private Sub Command1_Click()
Dim a As Double
Dim b As String
a = 100.1
b = Str(a)
Command1.Caption = """" & b & """"
End Sub


532 :デフォルトの名無しさん:2006/12/07(木) 11:37:37
VB6でデバッグしてて気になったんですが、
ウォッチウィンドウで独自クラスを見ると、クラス内のPrivate変数まで出てきます。
Private変数へのアクセスはプロパティを通して行っているので、
内容が重複して見えて大変邪魔です。
Private変数は表示しないようにすることはできるのでしょうか?
それとも、やり方がおかしいのですか?

533 :デフォルトの名無しさん:2006/12/07(木) 11:40:12
>>532
ウオッチを閉じて、全部見えないようにすれば気にならないよ

534 :デフォルトの名無しさん:2006/12/07(木) 11:43:51
AAAクラス
private mstrTest as String
Public Property Get Test() As String
Test = mstrTest
End Property

としたときに、ウォッチでこのクラスを見ると

AAA--mstrTest
--Test

ってことだよね?

これは仕方ないんじゃないのかな。たしかに邪魔だけど

535 :デフォルトの名無しさん:2006/12/07(木) 18:15:39
教えてください。

InputManのテキストボックス(日付型)から
Enterキーで次のTabIndexに飛ばしたいんだけど、フォーカス動かない。
TabStopもTureにしてあるのだが…。
他にフォーカスが移動しない理由ってありますか?

536 :デフォルトの名無しさん:2006/12/07(木) 18:16:59
追記:VB6.0 InputMan6.5

537 :デフォルトの名無しさん:2006/12/07(木) 18:19:31
まずは作った会社に聞け

538 :デフォルトの名無しさん:2006/12/07(木) 18:35:30
>>535
キー定義でNEXTFOCUSを{ENTER}にすればいいじゃん

539 :デフォルトの名無しさん:2006/12/07(木) 18:54:03
>>538
nextfocus = transferFocus?

540 :デフォルトの名無しさん:2006/12/07(木) 19:19:41
select case keycode
Case vbKeyReturn
SendKeys "{Tab}"
     ・
     ・
     ・
end select
↑でいけた。サンクス☆


541 :デフォルトの名無しさん:2006/12/07(木) 19:20:45
select case keycode
Case vbKeyReturn
SendKeys "{Tab}"
     ・
     ・
     ・
end select
↑でいけた。サンクス☆


542 :デフォルトの名無しさん:2006/12/08(金) 08:42:45
キーイベントにコード書くんじゃなく、プロパティページにあるっしょ。

543 :デフォルトの名無しさん:2006/12/08(金) 10:45:21
環境:WindowsXP VB6.0 SPREAD.Ver3.0

SPREADのAllowMultiBlocksをtrueにして、
単独セルの複数選択ができるようにはなったのですが、
プログラムで選択セルのインデックスを取得するには
どうしたらいいのでしょうか?

544 :デフォルトの名無しさん:2006/12/08(金) 11:09:22
教えてください。

textboxに入力した文字をファイル名として保存させる方法はどうするのでしょうか?

545 :デフォルトの名無しさん:2006/12/08(金) 11:19:15
>>544
> ファイル名として保存させる
初耳の表現だ
もっと詳しく

546 :デフォルトの名無しさん:2006/12/08(金) 11:40:53
例えば・・・
textboxにa.txtと入力してCommandButtonを押すと
a.txtが作成されるというプログラムを作りたいのですが・・・
どうすればいいのでしょうか?

547 :デフォルトの名無しさん:2006/12/08(金) 11:44:21
>>546
その程度の事をいちいち質問していたらスレがいくつあっても足りないじゃないか

548 :デフォルトの名無しさん:2006/12/08(金) 11:56:31
↓の処理を短くして表示したいのですが、どのようにすればいいでしょうか?
処理してる内容はどれも同じなのですが・・・。
お願いします。

If InStr(1, Replace(b, "-", ""), ".") = 4 Then
If InStr(1, b, "-") Then
ログ左右桁揃え = b
Else
ログ左右桁揃え = " " & b
End If
ElseIf InStr(1, Replace(b, "-", ""), ".") = 3 Then
If InStr(1, b, "-") Then
ログ左右桁揃え = " " & b
Else
ログ左右桁揃え = " " & b
End If
ElseIf InStr(1, Replace(b, "-", ""), ".") = 2 Then
If InStr(1, b, "-") Then
ログ左右桁揃え = " " & b
Else
ログ左右桁揃え = " " & b
End If
  End if

549 :酔いちくれ ◆J0rwikii8c :2006/12/08(金) 12:22:42

ム板にVB6.0以前のくだすれってないよね?

立てたほうがいいいかな?

550 :デフォルトの名無しさん:2006/12/08(金) 12:31:20
このスレの内容が既に十分くだらないから要らない。

551 :デフォルトの名無しさん:2006/12/08(金) 12:40:54
終わった言語のスレを複数立てるなよ

552 :デフォルトの名無しさん:2006/12/08(金) 13:10:50
問題はくだらない質問にも答える広量な人が殆ど居ないことだ。
自分より下の相手が出てくると、嬉々として見下して叩き出し
自分より上の相手が出てくると、黙り込んじゃう。そういう狭量な人が多い。

553 :デフォルトの名無しさん:2006/12/08(金) 13:48:45
あなたが質問に答えれば終わる話です。

554 :デフォルトの名無しさん:2006/12/08(金) 14:16:39
>>553

555 :デフォルトの名無しさん:2006/12/08(金) 14:20:35
>>554
わたしは叩くほうの側ですが、なにか?

556 :デフォルトの名無しさん:2006/12/08(金) 14:22:57
>>542
ほんとだ…^^;今度こそほんとにサンクス☆

557 :デフォルトの名無しさん:2006/12/08(金) 14:35:55
>>555
何勘違いしてるのw

558 :デフォルトの名無しさん:2006/12/08(金) 14:44:58
>>557

559 :デフォルトの名無しさん:2006/12/08(金) 14:46:05
>>558

560 :デフォルトの名無しさん:2006/12/08(金) 16:16:29
555は笑える

561 :デフォルトの名無しさん:2006/12/08(金) 16:25:11
>>551
終わってないよ。

562 :デフォルトの名無しさん:2006/12/08(金) 19:22:57
>>542
やっぱダメだ(-_-)
Inputmanのテキストボックス→SPREEDへ行けない。

563 :酔いちくれ ◆J0rwikii8c :2006/12/08(金) 19:37:44

立てちゃった テヘ。



くだすれVB6.0以前(超初心者向け)
ttp://pc8.2ch.net/test/read.cgi/tech/1165574205/

564 :デフォルトの名無しさん:2006/12/08(金) 19:49:53
>>563
乙〜
さっそく逝って来ますノシ


565 :デフォルトの名無しさん:2006/12/08(金) 20:05:22
>>563
ただでさえ少なくなった質問を分散して減らすなよ・・・どんな神経しているんだ

566 :デフォルトの名無しさん:2006/12/08(金) 20:07:48
重複扱い…(-_-‖)

567 :デフォルトの名無しさん:2006/12/08(金) 20:35:04
>>562
行き先スプレッドなのか。
他のコントロールになら行けるんでしょ?
スプレッドがピクチャーボックスやフレームに乗ってたりしないか?
カーソルがどこ行ったかわからなくなってるんなら、フォームのMOUSEMOVEイベントに
ME.CAPTION=ME.ACTIVECONTROLて書いとくとマウス動かせば何にカーソル当たってるかがわかる。
妙なとこにカーソル当たってるなら、そいつのタブストップを無効にしていけばいい。

568 :デフォルトの名無しさん:2006/12/08(金) 21:20:31
>>546
>>548


くだすれVB6.0以前(超初心者向け)
ttp://pc8.2ch.net/test/read.cgi/tech/1165574205/4

569 :ガスター10:2006/12/08(金) 21:55:13
>>567
ピクチャーボックスにのってます。
"実行時エラー438
このオブジェクトはこのプロパティまたはメソッドをサポートしていません"
と表示されます。
これはフォーム外って事でしょうか??

570 :酔いちくれ ◆J0rwikii8c :2006/12/08(金) 22:29:34
ふぅう。酔った。

この煽られる感覚がたまらなく、パトスを刺激する。
もう、びゅっとでる。


>>567
アホだな。オブジェクトを文字列にぶち込むあほ。


>>569
アホの書いたソースは削除して、
ピクチャのたぶすとっぷをFalseにするんだ!

571 :デフォルトの名無しさん:2006/12/09(土) 07:00:52
.NAME書くくらい思いついてよ。


572 :デフォルトの名無しさん:2006/12/09(土) 09:37:33
>>569
すでにFalseです。

>>571
ImText(Inputman)のとこでEnter押すとフォーム名が変わらず、
フォーカスが消えました。

573 :酔いちくれ ◆J0rwikii8c :2006/12/09(土) 21:36:08
あぁ。しゃべり倒して、疲れた。


>>572
全てのコントロールのTabすとっぷを調べてみたら。

リサイザーのElasticコントロールとか使ってると、フォーカスが
消えちゃったりした記憶がある。

574 :デフォルトの名無しさん:2006/12/09(土) 23:27:39
リアルタイム株価表示ソフトを作りたいのですが
リアルタイムの株価の取得でつまずいています

Yahooなどは20分遅れの株価で遅く、
楽天RSSはリアルタイムなのですがエクセルでの取得に限られ、また銘柄も300までです

リアルタイムの株価(東証・大証・JQ・HCにあるもの全て)のよい取得方法があれば
どうかご教授くださいm(__)m

575 :デフォルトの名無しさん:2006/12/09(土) 23:41:15
>>574
常識的に考えろよ
無料でリアルタイムに株価が取得できるんだったらYahooなりでやってるはずだろ

576 :デフォルトの名無しさん:2006/12/10(日) 00:25:02
>>574
情報の提供先を見つけるのは、プログラミングと全く関係ないぞ。
取得方法と言ってるが、おまえのは取得方法以前に取得先が見つかってない状態だ。
まずは君の要望に適う情報提供先を見つけて、そこの情報を取得する方法が解らなかったらまた来い。
因みに利用規約はきちんと読めよ。Webブラウザ以外での取得閲覧を禁止している場合もあるから。

577 :デフォルトの名無しさん:2006/12/10(日) 00:25:09
ソースを見てエロを感じるやつはたいしたもんだ。

578 :デフォルトの名無しさん:2006/12/10(日) 14:39:13
>>575,576
ムカツク言い方しかできない奴だな
分からないなら書き込むんじゃねーよ
ボケ

579 :デフォルトの名無しさん:2006/12/10(日) 14:46:04
あれをムカつくと感じる奴は、当たり前の社会常識をわきまえてないガキだけ

580 :デフォルトの名無しさん:2006/12/10(日) 15:18:04
ガキにかぎらずそんな人間ばっかりの国もあるようだがね
火病と言うのでしたっけ

581 :デフォルトの名無しさん:2006/12/10(日) 15:44:05
>575も>576も極めて常識的な回答だな。>574から考え付くほかの回答は
「お前にはできないからあきらめろ」くらいだろ。

582 :デフォルトの名無しさん:2006/12/10(日) 15:58:51
>>573
できました☆
色々ありがとうございます^^

>>578
2chとはこういうとこだと言っておく(ぁ)

583 :デフォルトの名無しさん:2006/12/10(日) 16:51:51
VB6で作ったプログラムをWindows Vista ロゴを取得可能なものに
したいと思っています。
しかしWindows Vistaロゴの要件として最初に書かれてある条件で
さっそくつまづいてしまいました。
VB6プログラムにマニフェストを埋め込むにはどうしたらいいのでしょうか。

ユーザー アカウント制御のガイドラインに従う

この要件を満たすには、アプリケーションに付属するすべての実行可能ファイル
(拡張子 .exe) に、その実行レベルを定義する次のようなマニフェストが埋め込ま
れている必要があります。

<requestedExecutionLevel level="asInvoker|highestAvailable|requireAdministrator" uiAccess="true|false"/>

584 :デフォルトの名無しさん:2006/12/10(日) 17:34:42
>>583
無理。

585 :デフォルトの名無しさん:2006/12/10(日) 17:50:10
ResEditか何かで埋め込めないか?

586 :デフォルトの名無しさん:2006/12/10(日) 20:29:56
てゆうかそもそもXPロゴすら取れないのではないか。

587 :デフォルトの名無しさん:2006/12/12(火) 16:26:51
vb6上で、swfを再生させる方法教えてください。

588 :デフォルトの名無しさん:2006/12/12(火) 16:57:34
vba で 変数名を name1 name2 name3 name4 とした場合、
for 文で name1〜name4 を初期化する方法を教えてください。

589 :デフォルトの名無しさん:2006/12/12(火) 17:13:14
>>587
Shockwave Flash コンポーネントとかWebBrowserコントロール使うとか

590 :デフォルトの名無しさん:2006/12/12(火) 17:14:09
>>587
swf再生のActiveXかWebBrowserを使う

>>588
出来ないよ。
コントロールやシート名みたいにコレクションに入ってる物なら可能だけど。
素直に配列を使いましょうね。

591 :デフォルトの名無しさん:2006/12/12(火) 17:25:05
>>590
ありがとうございます。
flashみたいに使えればいいのになぁ。

592 :デフォルトの名無しさん:2006/12/12(火) 17:33:12
俺の書き込みって誰にも見えないのか?!

593 :デフォルトの名無しさん:2006/12/12(火) 17:40:02
>>589カイワイソス

594 :デフォルトの名無しさん:2006/12/12(火) 17:59:37
>>588
技量が無いのでこんな方法しか思いつかんとです。

for i=1 to 4
if i=1 then name1=0
if i=2 then name2=0
if i=3 then name3=0
if i=4 then name4=0
next


595 :デフォルトの名無しさん:2006/12/12(火) 18:02:24
>>588
こんな方法も
(脳内ソースだからBASICで動くかわからんけど
for i=0 to 0
name1=0
name2=0
name3=0
name4=0
next


596 :デフォルトの名無しさん:2006/12/12(火) 19:11:23
画像を90度回転させるのにいいやり方ない?
反転表示は座標マイナスにすれば楽にできるけど、90度は座標いじっても無理だよね。
ループで全ピクセル分回して1ピクセルづつ描いてくみたいなダサいやり方しかないのかな?
それだと微妙な角度で回転するのと同じ重さになっちゃうからやりたくない。
ループするやり方しかないならSetDIPixels使うつもりだけど。


597 :デフォルトの名無しさん:2006/12/12(火) 20:22:33
>>596
API呼べばいいのでは。

598 :デフォルトの名無しさん:2006/12/12(火) 21:01:47
Asc関数のAscってAsciiの略ですかね?

599 :デフォルトの名無しさん:2006/12/12(火) 21:17:35
>>597
ちょっと呼んできてよ、来たら俺捕まえるからさ

600 :デフォルトの名無しさん:2006/12/12(火) 21:18:41
>>598
American Standard Code for Information Interchange
の略です

601 :デフォルトの名無しさん:2006/12/12(火) 23:12:07
>>596
plgblt

602 :デフォルトの名無しさん:2006/12/13(水) 18:11:40
現在、コピー、ペースト、貼り付けをコマンドボタンを使って
実現しようと思っていますが、コピー元のテキストボックスで選択された
文字範囲がコピーのコマンドボタンをクリックするとコマンドボタンにフォーカスが
移り、テキストボックスのフォーカスが消え選択範囲も消えてしまいます。

クリックしてもフォーカスがテキストボックスから移動しないようにする
事は可能でしょうか?

603 :デフォルトの名無しさん:2006/12/13(水) 18:42:43
>>602
テキストボックスのHideSelectionプロパティをFalseにしろ。

604 :デフォルトの名無しさん:2006/12/13(水) 18:43:08
簡単すぎる

605 :デフォルトの名無しさん:2006/12/13(水) 20:08:48
現在、ファイル監視ソフトのようなものを作成しています。
通常のファイルに対するアクセス等での処理の部分は出来たのですが、
一部のファイルが最初読み込んで以降はキャッシュから読むようになってまして
そういう場合も監視して同じ処理をを行いたいのですが、可能でしょうか?

環境はWinXPproでVB6.0SP5です。

606 :デフォルトの名無しさん:2006/12/13(水) 20:21:37
どうして質問する人って重要な話は削るんだろうね

607 :デフォルトの名無しさん:2006/12/13(水) 20:23:04
>>605
日本語でOK
・・・って言いたくなるくらい意味不明。

一部のファイルなの?
一部のソフトウェアで使用するファイルアクセス手段が、
初回読込以外はキャッシュから読む、ってのじゃなくて?


608 :605:2006/12/13(水) 20:45:00
書き方悪過ぎました。申し訳ないです。

監視したいファイルを登録しておいて、アクセス等があった際に
その時間等をログに保存するといった感じのソフトです。
そこで>>607さんがおっしゃっている、「一部のソフトウェアで使用する
ファイルアクセス手段が、 初回読込以外はキャッシュから読む」
タイプのファイルも監視対象として指定できるようにしたいと思っています。

先ほどの質問は、特定のファイルがキャッシュから読まれたというのを
判別するのは可能かどうか。というものでした。

609 :602:2006/12/13(水) 20:48:24
>>603
ありがとうございます!選択範囲がそのまま残るようになりました。
これで頑張ってみます。

で続きでもう一つ質問ですが、コマンドのコピーボタンを押すと
先程の方法でもフォーカスがコマンドボタンに移るのは変わらないと思いますが、
複数テキストボックスがあった場合、フォーカスが変わると
どのテキストボックスの選択範囲をコピーすれば良いのかわからなくなりますが
メニューエディターでコピー、ペースト、貼り付けを作成したのと同様に
コマンドボタンをクリックした場合でもフォーカスが変わらない方法は
あるのでしょうか?

メニューエディターの場合フォーカスが移らないためフォーカスで
でコピー内容のテキストがどのテキストボックスにあるか判定しています。

610 :603 :2006/12/14(木) 07:30:58
>609
無理、ボタンを押すとフォーカスはボタンに移る。
どのテキストボックスからボタンに遷移したか
判断する方法は、チョッと考えればわかるだろう。


611 :デフォルトの名無しさん:2006/12/14(木) 16:23:40
質問です

初期状態でImageComboに表示される画像・文字を設定するにはどうすればよいのですか。

お願いします。

612 :デフォルトの名無しさん:2006/12/14(木) 16:52:57
>>611
普通に

613 :デフォルトの名無しさん:2006/12/14(木) 17:24:11
ささやき いのり えいしょう ねんじろ

614 :デフォルトの名無しさん:2006/12/14(木) 17:42:18
>>612
普通に、とはどういうことですか。
何もしなければ画像は無く、テキストはTextの値が表示されるだけです。
ドロップダウンメニューから選択しない限り画像は表示できないのでしょうか。

615 :デフォルトの名無しさん:2006/12/14(木) 18:08:10
>>614
.ComboItems.Item(?).Selected =

616 :デフォルトの名無しさん:2006/12/14(木) 18:10:46
ありがとうございます。
助かりました。

617 :デフォルトの名無しさん:2006/12/14(木) 18:46:38
一度のFileOpen()で入力と出力同時に行うことは出来ないのですか?

618 :デフォルトの名無しさん:2006/12/14(木) 19:52:22
むしろ、一度でやってくれ

619 :デフォルトの名無しさん:2006/12/14(木) 20:17:46
その場合のOpenModeはどうなるのでしょう?
一度でやろうとすると、OpenMode.InputでもOpenMode.Outputでも開いたファイルの
読み取りか書き込みのどちらかの操作で「モードが違う」と怒られてしまいます・・・

620 :デフォルトの名無しさん:2006/12/14(木) 20:45:07
全部ためせば?

621 :デフォルトの名無しさん:2006/12/14(木) 21:26:35
全部試してきました・・・
Input,Output,Append,Binary,Randomと、ついでに
OpenAccessのDefault,Read,Write,ReadWriteの全組み合わせで
読み込みのinput()と書き込みのWriteLine()をやってみましたが
同時に動くものはありませんでした・・・

622 :デフォルトの名無しさん:2006/12/14(木) 21:37:43
>>621
惜しい。使い方が悪いんだよ。

623 :はりー:2006/12/15(金) 00:36:16
ライフゲームのつくりかたをおしえてください><

初心者なのに、ゲームつくるなんて出来ないです泣

624 :デフォルトの名無しさん:2006/12/15(金) 00:52:36
方眼紙でやるのと同じですよ

625 :デフォルトの名無しさん:2006/12/15(金) 07:31:26
ライフゲームって細胞が増殖するみたいな奴だっけ?

626 :デフォルトの名無しさん:2006/12/15(金) 09:05:18
教えて下さい。

VBで50行200列のcsvファイルの読み込みをして、
1行1列目の数値と50行200列目の数値を取り出して計算したいのですが、
どうすればいいのでしょうか?

627 :デフォルトの名無しさん:2006/12/15(金) 09:19:32
1行1列目の数値と50行200列目の数値を取り出すコードと
必要とする計算のコードを書けば良いだけだと思いますが。

その上で解らない部分があるから質問するってならまだしも
躓く以前、歩き出す以前に丸投げする気満々なのはいかがなものかと。
そういう奴はプログラムなんて組まない方がいいです。自分で組みたいなら
出来るところまでやって、壁に当たってから人を頼りなさい。

628 :酔いちくれ ◆J0rwikii8c :2006/12/15(金) 11:03:32
>>626
ソースを書いてやったよ。もってけ。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28973

629 :626:2006/12/15(金) 11:43:53
>>628
レスありがとうございます。
自分が作っているものに組み込んでみたいと思います。
ソースまで書いていただき、どうもありがとうございました。

630 :デフォルトの名無しさん:2006/12/15(金) 11:47:52
ショボ

631 :デフォルトの名無しさん:2006/12/15(金) 12:24:20
ファイルの読み込み程度で組み込みの機能を使わないでCOMに頼るなんて・・・

632 :デフォルトの名無しさん:2006/12/15(金) 12:56:47
フォームからクラスモジュールに配列データを受け渡す方法がわかりません。
たとえば麻雀ゲームの役判定における「それぞれの牌の数」や、
RPGのマップ操作における「マップのデータ」などを専用のクラスに受け渡したいのですが、
プロパティに構造体や配列を割り当てることはできないそうですので困っています。

633 :デフォルトの名無しさん:2006/12/15(金) 13:12:41
>>631
隣の家にジェット機で行くって言うたぐいのネタだと思うが。

634 :デフォルトの名無しさん:2006/12/15(金) 13:30:29
>>632
Publicなメソッドに使う構造体はCOMインタフェイス(?)として公開しなきゃいけないので、アクセス修飾をFriendにできないか?
それとVB6なら関数の戻り値に配列を使えるはずだぞ?

635 :632:2006/12/15(金) 14:50:57
>>634
レスありがとうございます。
参考にさせてもらいます。

636 :632:2006/12/15(金) 14:51:28
すいませんsage忘れました。

637 :デフォルトの名無しさん:2006/12/15(金) 19:29:23
>>632
言ってる意味がよく分からんが、添え字なしで引数に書けばいいだけなのでは。

638 :酔いちくれ ◆J0rwikii8c :2006/12/15(金) 19:43:11
>>637
KWSK

標準exeで作成中なら>>634でおkだとおもうんだがなwwww

639 :デフォルトの名無しさん:2006/12/16(土) 13:56:09
>>632
プロパティに構造体や配列 →構造体をクラス(データ受渡用)に書き換えるとか
プロパティに配列  →添字付きのプロパティにするとか、配列を含むクラス(データ受渡用)にするとか
それとも全部、データ受渡先クラスのプロパティとして実装してしまうとか

640 :デフォルトの名無しさん:2006/12/16(土) 15:55:32
仕事でしおり付pdfファイルを作るプログラムが必要なんですけど、
何かいい方法ないでしょうか?あと、ファイル名の指定もウィンドウ入力から
じゃなくしたいです。

641 :デフォルトの名無しさん:2006/12/16(土) 16:00:45
>>640
どっからか「仕事でしおり付pdfファイルを作るプログラム」を拾ってくる/買ってくるか、
「仕事でしおり付pdfファイルを作るプログラム」を自分で作る。
あと、出来ればファイル名の指定もウィンドウ入力からじゃないプログラムがいいと思う。

がんばれ。

642 :デフォルトの名無しさん:2006/12/16(土) 21:44:09
>>640
そういう ActiveX コントロールを買えばいい。

643 :デフォルトの名無しさん :2006/12/19(火) 15:09:39
VB6.0で電卓作りたいんで分かる方作り方教えてください。

644 :626:2006/12/19(火) 15:18:28
628のソースを書いて実行したんですけど・・・
プロシージャの呼び出し、または引数が不正です。って
出てくるんですが、どうすればいいんですか?

645 :デフォルトの名無しさん:2006/12/19(火) 15:20:27
>>643
歩き始める前に人を頼ることを考える奴はプログラミングなんてやらない方が良い。
質問するなら壁にぶち当たったり穴に落ちたりしてからにしろ。

646 :デフォルトの名無しさん:2006/12/19(火) 15:23:28
>>645
アフォ?
穴に落ちないように、事前の策を用意するのが常識だろ。
穴に落ちてから策を考えるような愚図は一生地を這いずる負け犬。

647 :デフォルトの名無しさん:2006/12/19(火) 15:25:20
>>643
VB6じゃなくてC#やVB.Netにしなさい

648 :デフォルトの名無しさん:2006/12/19(火) 15:26:43
あのね、落ちても不利益のない穴は、経験という利益を与える存在だよ。
社会に出ればその意味がわかるようになるよ。

649 :デフォルトの名無しさん:2006/12/19(火) 15:34:07
落ちても不利益のない穴なんて無い。

650 :デフォルトの名無しさん:2006/12/19(火) 15:46:49
うぜえな
お互いの穴でも掘りあってろ。

651 :デフォルトの名無しさん:2006/12/19(火) 15:51:13
掘るより掘られるほうが好きだ。

652 :デフォルトの名無しさん:2006/12/19(火) 16:11:16
音声を録音、再生するサンプルください・・・
ただ録音すればいいのではなくて、
録音した音声を自由にいじれるようなものです。
バッファを通してもらえばそれだけでいいです。
サンプルだけもらえればあとは自分で解釈します。

えっと要は変声機を作りたいのです。
しゃべったとたんに変声しなくても、
ファイルに保存できれば良いです。
ググっても上手く見つかりませんでした。
簡単でいいので宜しくお願いしますm(__)m

というか、板違いですか?

653 :デフォルトの名無しさん:2006/12/19(火) 16:16:02
ソース書くの面倒なんで、おまえらが書いて
無償で俺様に進呈しろってか?

板違い以前だろ。人として発言すべき言葉じゃない。

654 :デフォルトの名無しさん:2006/12/19(火) 16:36:50
>>643
この板、初心者に滅法冷たいからな。
これじゃ初心者が育たなくて困るんだが。

どういう電卓か知らんが、Windows附属の電卓みたいなんでよければ、
・入力値を表示しとくTextBoxか何か置く。
・数字やら演算子やらのボタンを置く。
・演算子のキーを押したら入力値をどっかしらの変数に入れとく。
・次にまた何らかの値を入力する。
・演算子か=のキーを押したら、最初の値と入力値の間で演算し、結果を表示する。
 演算が続くなら結果を変数に入れとく。

てな感じ。
用語の意味がわかんなかったらググれ。

655 :デフォルトの名無しさん:2006/12/19(火) 16:39:35
>>653
あーーー!すみません!
自分で見返したらとんでもないことを書いていました!
えっと、バッファを通した音声の録音と再生が分からないので、
そこのやり方だけ簡単に教えていただければありがたいということです。
mciでは出来そうに無いので・・・APIと思ったのですが、上手く出来ませんでした。

656 :デフォルトの名無しさん:2006/12/19(火) 16:43:43
mci以外のAPIが良くわかりませんでした

657 :デフォルトの名無しさん:2006/12/19(火) 16:43:50
>>655
ちょっと前に探してAPI使ったやり方もDLLも探せばあったけど
同時にしなくていいならmciでもできるでしょ?

658 :デフォルトの名無しさん:2006/12/19(火) 17:04:52

という、糞の役にも立たないアドバイス?が一番ムカツク件について

659 :デフォルトの名無しさん:2006/12/19(火) 17:10:11
>>657
mciは、保存するときに内容が変数に格納されることは
無いと思っていたのですが・・・

イメージ的にはこんな風にやりたいです↓
;flag=0は停止、flag=1は録音(再生)
do while flag=1 ;僕のイメージでは繰り返さなければ録音できないような気がします。その必要があるかは知りませんが・・・
(録音関数) buf ;録音
loop
buf=buf*〜   ;変声

;ほにゃらら
do while flag=1
(再生関数) buf
loop

660 :デフォルトの名無しさん:2006/12/19(火) 17:10:32
おやおや、有益な情報を活かせないなんて可哀想

661 :デフォルトの名無しさん:2006/12/19(火) 17:13:57
>>659
保存されたファイルがあるなら読めばいいのに。

662 :デフォルトの名無しさん:2006/12/19(火) 17:18:47
VBAなんですが、EXCELで作成したCSVをEXCELの処理でサーバーにftp転送したいんですけど、なんか簡単な方法ありますかね?


663 :デフォルトの名無しさん:2006/12/19(火) 17:22:22
ftp.exe

664 :デフォルトの名無しさん:2006/12/19(火) 17:27:06
excel のVBAでftp.exe って出来るんですか?

665 :デフォルトの名無しさん:2006/12/19(火) 17:30:14
できない理由がわからないんだが、なぜ?

666 :デフォルトの名無しさん:2006/12/19(火) 17:33:04
http://61.197.151.26/20061219330980/omote/img200611/2006110718_1015425697.jpg

667 :デフォルトの名無しさん:2006/12/19(火) 17:33:05
>>665 は、あほ

668 :デフォルトの名無しさん:2006/12/19(火) 17:33:56
>>667
なぜ?

669 :デフォルトの名無しさん:2006/12/19(火) 17:40:03
>>665 自分で言うのもなんですが、へっぽこだからです。
コマンドボタン ぽちっと押したら ftpみたいなことがしたい・・・。

670 :デフォルトの名無しさん:2006/12/19(火) 17:41:59
アフォかどうかは兎も角、665 は典型的という気がする。

671 :デフォルトの名無しさん:2006/12/19(火) 17:43:48
>>669
それは可能だよ。
ただ、そのボタンのクリックイベントにftp転送のコードを書けばよいだけ。
一度書いてしまえばあとは「コマンドボタン ぽちっと押したら ftp」

672 :デフォルトの名無しさん:2006/12/19(火) 17:45:21
>>669
だから、コマンドボタン押したときにftp.exeを起動すればいいじゃないか
VBAでもShellExecute使えるでしょうし ftp -s:もあるし

673 :デフォルトの名無しさん:2006/12/19(火) 17:50:37
指定したフォルダ名が共有フォルダかどうかを調べるには
なにを見ればいいのでしょう。
Folder オブジェクトのAttributes プロパティには何もなさそうですが。

674 :デフォルトの名無しさん:2006/12/19(火) 17:51:04
「あほ言う奴があほ」って名言思い出したよ!

675 :デフォルトの名無しさん:2006/12/19(火) 17:58:09
ftpを手軽に扱いたいならWinInet.DLL使えば良いんじゃないか?
ftp.exeはコマンドテキストファイルとか面倒くさい

676 :デフォルトの名無しさん:2006/12/19(火) 18:13:36
vbaで動くサンプルとかないですかね?
wininet.dll はVBだけですよね?

677 :デフォルトの名無しさん:2006/12/19(火) 18:20:22
>>676
サンプルはありません
検索しても見つからないでしょう
VBだけですから使えません

満足しましたか?

678 :デフォルトの名無しさん:2006/12/19(火) 18:29:38
>>674
どこも同じですね
http://pc8.2ch.net/test/read.cgi/tech/1124559962/343


679 :デフォルトの名無しさん:2006/12/19(火) 18:43:39
すみません、質問です。
VBのプログラムを実行させていたところ、「che」というタイトル名の同じようなウィンドウが開き、エラー停止してしまったのですが、
このような現象はどのようなエラーなのでしょうか?
いくら調べてもこれだけは見つからず…。
「snd」というタイトルで出現する場合もあるようです。

680 :デフォルトの名無しさん:2006/12/19(火) 18:46:53
>>679
再現できない
もっと詳しく教えれ

681 :679:2006/12/19(火) 18:55:31
私も開発環境下では再現できなくて困ってます。
本社でソフトの開発、工場で実働、という形なのでどの部分でエラーが発生してるか
解析できないのです…。

ちなみにどのように使用しているかというと、測定用のプログラムで測定結果のファイルを作成し、
測定終了後に別の計算用のプログラムが入ってるパソコンへと通信しているようです。
ちなみに、問題があったファイル一式を手動で動作させた場合、問題なく動作しました。

682 :酔いちくれ ◆J0rwikii8c :2006/12/19(火) 22:23:52
地方人は案件の度に東京に行くのがしんどい

>>644
非常に申し訳ない。
ForReadingと書いているところを

1

に置き換えてください。
酔うてご迷惑おかけしますた。

683 :626:2006/12/19(火) 22:34:54
>>682
レスありがとうございます。
おぉ〜
動きました。
ありがとうございました^^


684 :デフォルトの名無しさん:2006/12/19(火) 22:35:34
参照設定させたり、定数宣言させたりではなく
マジックナンバー使わせるあたりが
変にカッコつけず初心者らしくて素敵です。

685 :デフォルトの名無しさん:2006/12/20(水) 00:10:45
質問です。
VB6.0でShellExecuteを使ってアプリに関連付けされている
ファイルを開きたいのですが、今のところできていません。
ByVal lpszFile As String 
に入る文字列を「ファイル名を指定して実行」でやるとファイルが開ける状態です。

http://support.microsoft.com/kb/170918/ja

↑ではできるとなっていますが、他のサイトでは
exeファイルしかできない、と書いてあるところがあります。
できるとばかり思っていましたが、できないのでしょうか?

686 :685:2006/12/20(水) 00:13:17
下から2行目、間違えました。

「VBではexeファイルしかできない」と書いてあるところがあります。

です。


687 :デフォルトの名無しさん:2006/12/20(水) 00:15:26
どこだよ

688 :デフォルトの名無しさん:2006/12/20(水) 00:18:07
ShellExecuteのあとですぐ終了してません?
関連付けの起動は非同期なので、若干待ち合わせしないと。

689 :685:2006/12/20(水) 00:30:42
ありがとうございます。
「すぐ終了」というのはアプリケーションを、ということですか?

690 :デフォルトの名無しさん:2006/12/20(水) 00:33:04
条件はよく分りませんが、待ちを入れてうまく行けばそれが原因と。

691 :685:2006/12/20(水) 00:41:47
お、開きました。
その待ち合わせが原因かもしれません。
ありがとうございました。これから色々やってみます。

692 :デフォルトの名無しさん:2006/12/20(水) 09:44:11
質問です。 VB6環境 XPにて
PutIniを使ってiniへ書込みをしているのですが、オブジェクトとキーの変数の
コードを簡単にしたいのですが、わかりません。

PutIni "外来担当表", "ADDText1", Combo1, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText2", Combo2, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText3", Combo3, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"
PutIni "外来担当表", "ADDText4", Combo4, "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"

また、GetIniに関してもわからない
Label1 = GetIni("外来担当表", "ADDText1", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label2 = GetIni("外来担当表", "ADDText2", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label3 = GetIni("外来担当表", "ADDText3", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")
Label4 = GetIni("外来担当表", "ADDText4", "", "\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini")

ご教授おねがいします。

693 :デフォルトの名無しさん:2006/12/20(水) 09:50:46
今日からVB6始めた小学生か。
もう冬休みに入ってるとしたら北海道や東北か?

694 :デフォルトの名無しさん:2006/12/20(水) 10:03:19
>>693 北海道は25日頃から
 内地のほうがはやいんじゃなかったっけ?

北海道は冬休みは1/18ごろまで

695 :デフォルトの名無しさん:2006/12/20(水) 10:17:55
>>693-694
おまえらマジで邪魔だから氏んでくれない?

696 :酔いちくれ ◆J0rwikii8c :2006/12/20(水) 11:14:33
>>692
PutIni
っていうのは、きっとオマイの中で宣言している、そういう関数なんだろう。
引数がセクション、キー、値、INIへのフルパスの。

セクション、キーは別はそんな風に直書きでもいい気もするけど、嫌なら
「変数」じゃなくて、「定数」に汁。

const INI_PATH As String = _
"\\192.168.60.253\Admin共有\用度\VB\Window_Data\Window.ini"

Call PutIni("外来担当表", "ADDText1", Combo1.Text, INI_PATH)
Label1.Caption = GetIni("外来担当表", "ADDText1", "", INI_PATH )

つーか、病院関係者なら金持ちだろうし、ソフト屋に発注して

697 :デフォルトの名無しさん:2006/12/20(水) 12:11:48
よく見る共通関数だよな、GetIniとPutIniって。

698 :デフォルトの名無しさん:2006/12/20(水) 16:15:47
>>697
初めて見たが。
普通直接API呼ぶだろ。

699 :デフォルトの名無しさん:2006/12/20(水) 16:24:30
>>698
それはいかにもVBらしい悪い方法だな

700 :デフォルトの名無しさん:2006/12/20(水) 18:23:00
お教えください

今更ながら開発用端末をWin2kからWinXPにしたところ
ファイル検索の文字列検索でbasとかfrmがヒットしなくなりました
ソース内に例えば「外来担当表」と入っているプログラムを
探したいとか言うとき、XPではどうすればいいのでしょう?

Win2kだとファイル検索の文字列でヒットしたのに・・・。。・゚・(ノД`)・゚・。

701 :デフォルトの名無しさん:2006/12/20(水) 18:41:48
>>700
それはWindowsのスレ向けな質問ではなかろか。

検索のウインド
→「設定を変更する(G)」→「ファイルとフォルダの〜…(R)」→「上級者向け(D)〜…」

にして、旧来のアレ風にしてやってみてどーか。

702 :デフォルトの名無しさん:2006/12/20(水) 19:17:15
Dir() とDir$()の違いはなんですか?

703 :デフォルトの名無しさん:2006/12/20(水) 19:18:25
>>702
バリアントと文字列の違いわかりますか?

704 :酔いちくれ ◆J0rwikii8c :2006/12/20(水) 19:30:20
>>692,700
てめー。回答者にありがとうございますがねーじゃねぇかよ

705 :デフォルトの名無しさん:2006/12/20(水) 19:30:42
>>703
引数の型が違うということですか?
戻り値の型が違うということですか?

706 :デフォルトの名無しさん:2006/12/20(水) 19:44:16
>>705
HELPは読めますか?

707 :デフォルトの名無しさん:2006/12/20(水) 20:08:49
>>692,>>700
「One Stop Multi」

708 :デフォルトの名無しさん:2006/12/20(水) 20:30:39
VB6やVBAでは組み込み関数に
"VBA.関数名"でアクセスできますが
VBSの場合この"VBA"に相当する
組み込み関数群の親は何ですか?
具体的にはArrayを上のような形で
利用したいのですが

709 :デフォルトの名無しさん:2006/12/20(水) 23:48:16
>>708
それってVBSでどんないいことがあるの?

710 :デフォルトの名無しさん:2006/12/20(水) 23:54:45
> ○ 回答者の心得
>  三.回答する上で必須ではない情報をむやみに聞き返さない。


711 :デフォルトの名無しさん:2006/12/21(木) 10:44:26
>>710
見えない俺ガイル

712 :デフォルトの名無しさん:2006/12/21(木) 11:56:36
こんなんだからVB6使いはバカにされるんだなぁ・・・orz

713 :デフォルトの名無しさん:2006/12/21(木) 11:59:13
ふーん、 .NETがあるのにね。

714 :デフォルトの名無しさん:2006/12/21(木) 11:59:41
>>1
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、 
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 

715 :デフォルトの名無しさん:2006/12/21(木) 13:28:29
ミディンコな質問ですまない…
CSVファイルの最終行の改行を削除したいんだがどうすればいいんだろうか?
AAAA
BBBB
CCCC
DDDD
[EOF]
を↓にしたい
AAAA
BBBB
CCCC
DDDD[EOF]

716 :デフォルトの名無しさん:2006/12/21(木) 13:29:14
出力するときのやり方は知ってるんだが既存ファイルの操作ということで

717 :デフォルトの名無しさん:2006/12/21(木) 13:41:25
SetEndOfFileでできるかもしれない
出来なければ (読み取り)→(サイズを制限して書き込み) しかない

718 :デフォルトの名無しさん:2006/12/21(木) 13:52:53
APIかー
意外とめんどいもんですな。
VBらしくさくっといけるもんがあるのかと思ってた俺はさすがミディンコ
バイナリで読んで最後の改行記号ってとこまでは追及できたんだけど削除ができねぇ
VBのテキストファイル操作じゃファイルサイズが変わるようね編集ってできないぽ?

>>717
トンクス!

719 :708:2006/12/21(木) 14:14:43
>>714
OSやWSHのバージョンが違っても
親オブジェクトは一緒だろうと思って
省略してました、すみません
WindowsXP ServicePack1
WSH5.6 ServicePack無し
IEなどではなくwscript.exeでの実行です

やりたいことは"obj.Array"という形で
組み込み関数のArrayを使いたいだけです
試したことはVBA.Me,WSHの指定です
VBAはオブジェクトがありません、Me,WSHは
Arrayをサポートしてませんになり
Arrayの親オブジェクトが解らない状況なので
困ってます

知りたい理由は興味とでも思ってください
どのような環境で使うかが解っていれば
オブジェクトは一意でしょうから
どのように使うかは必要な情報では
無いでしょうし使い道は一つだけじゃないので

720 :デフォルトの名無しさん:2006/12/21(木) 15:18:01
> どのように使うか
まぁ、代用法でも良いから教えてくれというなら書くべきことだがな。
そうでなければ必要ないが、代用法を押しつけて自己満足したいだけの
自称上級者共は必要としてるかもw


721 :デフォルトの名無しさん:2006/12/21(木) 15:28:00
>>719
VB6のVBAはモジュールなので、WSHでは直接見れないと思われ
必要な関数をクラスのメソッドとしてラップしたActiveXDLLを作るのが適当だと思う

>>720
そういうチンコが大きい発言はもっと大人の男の子になってから言おうね

722 :デフォルトの名無しさん:2006/12/21(木) 15:44:50
>>718
ヒントTypeName(Me)

723 :722:2006/12/21(木) 15:46:12
マチガイ>>719

724 :デフォルトの名無しさん:2006/12/21(木) 17:02:02
doubt!708=710=719=720
そんなことwshスレで聞け、と覗いてみたら
あっちでも、回答振り込め詐欺やってバレて、こっちへ来たか
>>1に回答振り込め詐欺禁止とは書いてないもんな

725 :デフォルトの名無しさん:2006/12/21(木) 17:14:15
こういうのは放っておこうね。┐(´ー`)┌


726 :デフォルトの名無しさん:2006/12/21(木) 17:35:56
>>712
莫迦にしてるのはお前だけ。

727 :デフォルトの名無しさん:2006/12/21(木) 17:43:10
VB使いは全体が平均してバカなんじゃなくて
極端にバカというか痛い奴の割合が多い。
ちょっと上にも変なの湧いてるし。

728 :デフォルトの名無しさん:2006/12/21(木) 18:19:36
>>702
クイズの正解はひょっとして$の有無?

729 :デフォルトの名無しさん:2006/12/21(木) 18:20:40
>>724
残念!、>>1-723まで全て俺一人の自演だ
俺様の壮大なシナリオに引っかかったなm9(・∀・)

730 :デフォルトの名無しさん:2006/12/21(木) 19:08:33
>>721
>VB6のVBAはモジュールなので、WSHでは直接見れないと思われ

>>719が言ってるのはVB6のVBAではなく、VBScriptのArray()のこと

だから、オブジェクトブラウザでMicrosoft VBScript Globalsを参照設定すれば
Library VBScript_Globalが現れて、
Array()がClass GlobalObjのメンバと分る。
ってことじゃないかな

731 :デフォルトの名無しさん:2006/12/21(木) 19:52:10
OpenTextFileの第4引数で「TristateMixed」ってのが有るけど、「TristateUseDefault」と同じですか?



732 :酔いちくれ ◆J0rwikii8c :2006/12/21(木) 20:07:29
参照設定はしないで済むならしないほうがいいんだけどねぇ


よくわからんけど、ASCIIかUnicodeかの違いじゃマイカ??
デフォルトは ASCIIで、ミックスというくらいだから、どっちでも
いいよ? みたいな?

もう、酔うた。

733 :デフォルトの名無しさん:2006/12/21(木) 20:27:13
>>718
一旦別ファイル名で書き出してから、
元のファイルを削除し、先に書き出しておいたファイルを正しい名前に変えればいい。

734 :708:2006/12/22(金) 14:12:37
>>721
使用したいのはVB6のArrayではなく
VBSのArrayです

735 :デフォルトの名無しさん:2006/12/22(金) 14:41:04
過去ログにあってもおかしくないと思ったんですが、見つからなかったので
質問です!

VB6のコンボボックスで、「ファイル名を指定して実行」のコンボボックス
みたいに、前方一致で補完できるようには出来ないのでしょうか。

spy++で見ると、クラスが違うので異なるコンポーネントなんだろうとは
分かるのですが。。。
WindowsAPIで作らなければならないでしょか。


736 :デフォルトの名無しさん:2006/12/22(金) 14:48:52
>>735
自分でコーディングすればおk

737 :デフォルトの名無しさん:2006/12/22(金) 15:46:46
>>735
ttp://www.google.co.jp/search?complete=1&hl=ja&q=shell+api+%E5%85%A5%E5%8A%9B%E8%A3%9C%E5%AE%8C&lr=
>>736の言うように自分でゴリっとした方が楽&安全

738 :デフォルトの名無しさん:2006/12/22(金) 18:38:02
CHANGEイベントでDIR関数使って、
見つかったファイルを全部コンボリストにADDして
そのコンボをプルダウンさせるのかな?

739 :735:2006/12/22(金) 20:12:10
レス有難うございます。

なるほど、自分で実装するのですね。
ってか、コンボボックスというより、テキストボックスに
プルダウンの入力補完が付くというイメージの方が近い
んですかね。

やりたい事は、既にコンボボックスに登録されているリスト
の中から、前方一致で合致するものを補完する機能です。
Officeのコンボボックス(RichEdit20W)とか、コンポーネントとして
切り出してくれれば良いのに。。。


740 :デフォルトの名無しさん:2006/12/22(金) 20:53:29
やり方は見付けたが、これをVBでやるのは無理そうな気がする。
ttp://www.runan.net/program/tips/sdk_17_IAutoComplete.shtml

741 :735:2006/12/22(金) 22:18:57
情報有難う御座います。
何が一番楽か、ちょっと模索してみたいと思います。

742 :デフォルトの名無しさん:2006/12/23(土) 11:12:37
>>730
708じゃないけど、参照設定でMicrosoft VBScript Globalsが見つからないです。
環境は、WinodwsXP SP2、VB6.0 SP6。
XP用のWinodws Script 5.6もインストールしました。
後学のためにぜひ試してみたいので、どなたか教えてください。

743 :デフォルトの名無しさん:2006/12/23(土) 14:11:05
>>708
[名前].Array()

744 :デフォルトの名無しさん:2006/12/23(土) 16:02:20
>>741
一番楽なのは、そういう機能を持ったコントロールを購入する事だな。

745 :デフォルトの名無しさん:2006/12/23(土) 16:15:46
>>744
その程度のコントロールなら簡単に作れるでしょw
っていうか、VBのコンボって最初から入力補完ついてると思うんだけど。
あれ結構鬱陶しいと思うんだけどね。

746 :デフォルトの名無しさん:2006/12/23(土) 17:12:03
つくてみた。
Option Explicit
Private WithEvents cmb As ComboBox
Private WithEvents btn As CommandButton
Private Sub cmb_GotFocus()
    SendKeys "%({DOWN})"
End Sub

Private Sub Form_Load()
    Dim i As Long
    Set cmb = Me.Controls.Add("VB.ComboBox", "cmb")
    Set btn = Me.Controls.Add("VB.CommandButton", "btn")
    With cmb
        .Move 0, 0, 3000
        .Visible = True
        For i = 1 To 100
            .AddItem "Item" & Format$(i, "00")
        Next
    End With
    With btn
        .Move 3100, 0, 1500, 1000
        .Caption = "Place Hold"
        .Visible = True
    End With
End Sub


747 :デフォルトの名無しさん:2006/12/23(土) 20:25:36
>>746
残念だけど、違うと思う。

748 :デフォルトの名無しさん:2006/12/23(土) 21:06:13
うん、完全に勘違いしてると思う。

749 :デフォルトの名無しさん:2006/12/24(日) 02:22:00
どっちが>>745
元ネタはともかく>>745が言うようにコンボボックス使ってみただけだよ
違うコンボボックスなの?
>>735のネタは>>737とか>>740で回答されてるし

750 :デフォルトの名無しさん:2006/12/24(日) 09:11:25
今日休みで暇なんでVBでもはじめよっかなって思うんですけど、
どれを買ったらいいのやら。
最新版はどれなのでしょうか。

751 :デフォルトの名無しさん:2006/12/24(日) 09:20:46
最新版しか売ってないだろ

752 :デフォルトの名無しさん:2006/12/24(日) 09:22:01
VB6.0というのを購入すればよいのでしょうか。

753 :デフォルトの名無しさん:2006/12/24(日) 09:25:29
VB2005Expressをダウンロードしておけ。
VB6はMSDNサブスクリプションでないともう入手できないぞ。

754 :デフォルトの名無しさん:2006/12/24(日) 11:02:05
>>753
ありがとうございます。
ダウンロードのページを今開いたところです。
これって無料なんですね?

755 :デフォルトの名無しさん:2006/12/24(日) 11:20:17
VB6.0でシリアル通信をするプログラムを組んでいるんですが、
そこらに落ちてるシリアル通信サンプルプログラム(MsComm使用の)を使っても
データの採り方というか表示のさせ方?がハイパーターミナルと違います。
ハイパーターミナルと同じような挙動をするサンプルプログラムってありませんか?

756 :デフォルトの名無しさん:2006/12/24(日) 11:21:12
Visual Basicというもので初心者向きの講座で良いところがあれば教えていただけ
ませんか?

757 :デフォルトの名無しさん:2006/12/24(日) 11:21:55
ありませんかじゃなくて、自分で作れよ

758 :デフォルトの名無しさん:2006/12/24(日) 11:49:56
ハイパーターミナルそのまま使えば作る必要もない

759 :735:2006/12/24(日) 12:52:32
色々意見有難う御座います。

>>745 さん
>っていうか、VBのコンボって最初から入力補完ついてると思うんだけど。 
いやー、ついてないような。。。

>>746 さん
I って入力するとItem00 と補完して欲しいのです。
VCのComboBoxやDelphiのTComboBoxは標準でこのような
動作をするようです。

もうちょっと探してみます。

760 :デフォルトの名無しさん:2006/12/24(日) 15:07:17
VB.NETならついてるんだがな

761 :デフォルトの名無しさん:2006/12/24(日) 18:01:07
質問です。
ネットワーク上のフォルダにあるexeファイルのバージョンを取得したいので、

GetFileVersionInfosize
GetFileVersionInfo
VerQueryValue

をやっていますが、
GetFileVersionInfosize
の時点で0がかえってきてしまい、取得できません。
同じPC内では取得できました。
ネットワーク上のファイルだとダメ、ということはありますか?
駄目な場合、他の取得方法はありますか?

762 :デフォルトの名無しさん:2006/12/24(日) 19:37:08
>>761
「ネットワーク上のフォルダにあるexe」をどういう形で参照してるのかも、
どんなコードでバージョンを取得してるのかも分からんのに、回答出来る筈がない。

763 :761:2006/12/24(日) 19:44:41
解決しました。
>762
無理して回答しなくても大丈夫です。
ありがとうございました。

764 :デフォルトの名無しさん:2006/12/24(日) 21:23:37
>>753
このダウンロードって個人情報丸々入力しなきゃいけないんですね。
勤務先電話番号も入力必須項目になってるけど、なんか不安でダウンロードできないな。
別に問題ないかな?

765 :デフォルトの名無しさん:2006/12/24(日) 21:24:33
>>764
店で買えば?

766 :デフォルトの名無しさん:2006/12/24(日) 21:34:25
店で買った場合は個人情報の入力なしで使えるってことなんでしょうか。
結局店で買ったものもユーザー登録が必須とかなら
ダウンロードしたほうがいいしな。

767 :デフォルトの名無しさん:2006/12/24(日) 21:36:04
>>766
お前が今すぐ死ねばおまえの個人情報の価値もなくなるよ

768 :デフォルトの名無しさん:2006/12/24(日) 21:43:18
>>767
でも死んだらVBは使用できないんです。

769 :デフォルトの名無しさん:2006/12/25(月) 10:03:42
>>742は自己解決しました。
参照設定でvbscript.dllへの参照を追加すると、Microsoft VBScript Globalsが
参照できました。
しかし、こいつを実際に使ってみることができません。
VBScript_GlobalライブラリのGlobalObjクラスを使うと良さそうなのですが、
これをインスタンス化することができないのです。
New GlobalObj や CreateObject("VBScript_Global.GlobalObj") を試したけれど、だめでした。
どうすれば使うことができるのでしょうか?

770 :デフォルトの名無しさん:2006/12/25(月) 12:23:21
JPEGの特定の場所の色情報を得たいと思っています。
例えばTop100 Width100 のJPEGをイメージかピクチャボックスに入れて、
Top30 Width70 の色情報を得るような事はできるでしょうか?

Topとかではなくもっと精密な X座標 Y座標 とかあればいいのですが、
よくわからないのでとりあえずこのような説明にしてみました。

771 :デフォルトの名無しさん:2006/12/25(月) 12:30:24
> Top100 Width100
どういう大きさなんだろう?
Height100 Width100ならわかるんだが。

772 :デフォルトの名無しさん:2006/12/25(月) 13:03:38
すいませんHeightの間違いです。
お恥ずかしい。

773 :デフォルトの名無しさん:2006/12/25(月) 13:52:19
pointでいいんじゃない?

774 :デフォルトの名無しさん:2006/12/25(月) 15:40:02
>>769
「代用法でも良いから教えてくれという」ということではないのですね?

775 :デフォルトの名無しさん:2006/12/25(月) 15:57:01
みんな楽しそうだな・・・

776 :769:2006/12/25(月) 17:20:31
>>774
そうです。「へぇ」と言いたいために試していることなので、代用法は求めていないです。
Microsoft VBScript Globalsを使う方法、または
これが使えない理由(インスタンス化できない理由)が知りたいです。
インスタンス化できないクラスなんて、初めて見ました。

777 :デフォルトの名無しさん:2006/12/25(月) 17:39:09
>>776
Microsoft VBScript Globalsを使う方法は
WSHのヘルプの
Windows Script Interfaces SDK
にあるようです

778 :デフォルトの名無しさん:2006/12/25(月) 23:03:28
クリップボードについて聞きたいのですが、
クリップボード内のビットマップの情報見て、
そのある特定アドレスの内容を比較するプログラムを作りたいのですが、
どうすれば簡単に出来るのでしょうか?

クリップボード内ビットマップのある座標の色を知りたいのです。(RGB)

ビットマップのクリップボード開始アドレスの取得方法、
また、このアドレスは固定なのでしょうか?

どなたかアドバイスをよろしくお願いします。

779 :デフォルトの名無しさん:2006/12/25(月) 23:07:04
>>778
いっぱい勉強するといいよ。
そうすればそのくらい簡単に出来るようになる。

780 :デフォルトの名無しさん:2006/12/25(月) 23:07:05
>>778
行儀の悪いソフトを作りたいと?

781 :デフォルトの名無しさん:2006/12/26(火) 00:51:25
>>778
マジレスすると、ここは初心者用なので専門的なスレに行くと良い。
ここで聞いても誰もわからん。

782 :デフォルトの名無しさん:2006/12/26(火) 11:40:01
splitで分割したものを、多次元配列(data(i, j))に格納したいのですが、どうすればいいのでしょうか。
? = split(S, "#")
data(0,0),data(0,1),data(0,2),...と切り分けられて入って欲しいのですが。

783 :デフォルトの名無しさん:2006/12/26(火) 12:13:41
>>782
仕様上不可能です
というかループで代入し直せば良いだけじゃん

784 :769:2006/12/26(火) 12:51:53
>>777
ありがとうございます。
MSDNのWindows Script Interfaces SDKをエキサイトで翻訳して読みましたが、
私には難しすぎてわかりませんでした。

785 :782:2006/12/26(火) 13:42:07
>>783
ありがとうございます。
そうするしかないかなと思っていたのですが、もしかしたら何か方法があるかと思いました。
やっぱりループで入れる事にします。

786 :デフォルトの名無しさん:2006/12/26(火) 14:01:09
>>784
翻訳された文章を読むのは、原文を読むより至難の業だぞ。

787 :デフォルトの名無しさん:2006/12/26(火) 14:18:15
つーか、エンジニアならそれくらいの英語はできなきゃいかんだろ

788 :769:2006/12/26(火) 15:17:45
すみません。
「軽く翻訳してみた結果、自分の頭では理解するのが無理そうな内容だった。
今はあきらめようかと思ってる。」と言いたかったのです。
もちろん英語も苦手です。

789 :デフォルトの名無しさん:2006/12/26(火) 15:45:35
つーか、WSHの日本語のヘルプがあるだろ

790 :デフォルトの名無しさん:2006/12/28(木) 02:04:21
しかし、VB6の話題も減ったよなあ
みんなVB.NETに移ったのかな?
俺はC#に移ったけど
あなたの仕事ではC#とVB.netどっちが多い?

791 :デフォルトの名無しさん:2006/12/28(木) 10:46:33
高校大学時VB6やってたが
現在業務では組み込み系でCやってる

VSはもう自宅では触ってない・・・Spoke版買ったけど・・・
触る暇が無い

792 :デフォルトの名無しさん:2006/12/28(木) 11:12:26
で?

793 :デフォルトの名無しさん:2006/12/28(木) 22:00:43
おらんところは、どっちかっつーとC#の案件がいまんところ多い。
C#の案件が8で、VB.NETの案件が6。
でも、これって上司がC#しかやったことないというのがそもそもの理由。

794 :デフォルトの名無しさん:2006/12/28(木) 22:21:45
C#しか経験無い上司が現れる時代になったのか
SE/PGを辞めて5年たつが、時代はそんなに変わっていたのか。

795 :デフォルトの名無しさん:2006/12/29(金) 06:36:52
>>794
本気にするな

冬休みだからな。

796 :デフォルトの名無しさん:2006/12/29(金) 09:05:10
別に.netになって言語問わずだけど。
C#のほうが洗練されてるといえばされてるけど。VB.netでも十分綺麗なプログラムは出来る。


797 :デフォルトの名無しさん:2006/12/29(金) 09:34:02
>>791
> 触る暇が無い

2ch の暇はあるのに? (w

>>796
A は B より洗練されてて、A も B も似たようなことができる。

普通 A を選ぶでしょ。

798 :デフォルトの名無しさん:2006/12/29(金) 09:51:53
C#に将来性があればね。
VBは腐ってようが今までずっと続けたMSの実績はある。
C丼はその気構えがあるか・・・。


799 :デフォルトの名無しさん:2006/12/29(金) 10:16:58
実績があるのは VB6 までの 古い VB だろ。

vb.net とは違うもんだよ。

800 :デフォルトの名無しさん:2006/12/29(金) 10:39:04
スレ違い。>790-799

雑談スレにでも池。

801 :デフォルトの名無しさん:2006/12/30(土) 00:58:56
ダイアログ(フォーム)をモーダルで開くActiveX(VB6)があるんだけど、
IE7だとモーダルにならなくない?
メッセージループとかどーなってんのかな。

802 :デフォルトの名無しさん:2007/01/03(水) 15:03:54
VB6のWebBrowserコントロールでYouTubeを見ようとしたら、スクリプトエラーが出て見られません。
IEや別のPCなら問題なく見られます。
どなたかご指導をお願いします。

803 :デフォルトの名無しさん:2007/01/03(水) 15:14:13
>>802
問題ありませんよ

804 :デフォルトの名無しさん:2007/01/03(水) 17:25:04
Excel2000のマクロからVisio2003を呼び出すコードを書いて、
Excelシートのコマンドボタンを押すと、VISIOのある特定のファイルが開くようにしたいのですが、
うまく動きません。

Dim VisioApp As Visio.Application
Set VisioApp = CreateObject("Visio.Application")
Set VisioApp = GetObject(ファイルのパス, "Visio.Application")

Visio自体は起動できるのですが、「ファイルのパス」で指定されたファイルが出てきません。
どうしたらうまくいくでしょうか。

805 :デフォルトの名無しさん:2007/01/03(水) 18:08:13
絶対パス指定してる?

806 :デフォルトの名無しさん:2007/01/03(水) 18:58:32
>>805
できません。
C\〜の絶対パスを入力しても
「オートメーションの操作中にファイル名またはクラス名を見つけられませんでした。」
というエラーメッセージが出てきます。

807 :デフォルトの名無しさん:2007/01/03(水) 21:49:16
すまん、そもそも VBA だったな。

Dim VisioApp As Visio.Application
Dim Document As Visio.Document

Set VisioApp = New Visio.Application
Set Document = VisioApp.Documents.Open(ファイル名[絶対パス])

...

Document.Close

ではダメかな?

808 :デフォルトの名無しさん:2007/01/04(木) 02:08:44
>>807
ありがとうございます!!
出来ました!!!

809 :デフォルトの名無しさん:2007/01/04(木) 15:16:18
VB6で指定したフォルダ内(変数とうで持ってるとする)にある、
指定した拡張子(*.csvみたいな感じ)のファイル名を取得したいのですが・・・。
した事ある方、よろしくお願いします。。。

810 :デフォルトの名無しさん:2007/01/04(木) 15:52:35
>>809
FindFirstFile と FindNextFile (共にAPI関数)
使い方はMSDNで調べてちょ。

811 :デフォルトの名無しさん:2007/01/04(木) 16:04:20
Dir

812 :デフォルトの名無しさん:2007/01/04(木) 17:15:57
初めてですみませんが、よく分からないので教えてください。

Dim kohi As Variant

Dim aaa As Variant
Dim bbb As Variant

aaa = CLng((kohi - 241000) * 0.01)
bbb = CLng((Val(kohi) - 241000) * 0.01)

という式なのですが、CLNGする前は14044.5 になります。
CLngすると、
 aaa = 14044
 bbb = 14045
になります。
CLngは常に最も近い偶数に値を丸めるので、両方とも14044になると思ったのですが、
どのように違うのでしょうか。



813 :デフォルトの名無しさん:2007/01/04(木) 17:56:46
>>812
再現できないのだが、VBのバージョン と kohi と VarType(kohi) の値をカキコしてくれないか?


814 :デフォルトの名無しさん:2007/01/04(木) 19:00:15
ヒント

 つ二進数で少数表記。

ブイバーにはわからんかもね。

815 :デフォルトの名無しさん:2007/01/04(木) 23:39:21
>>810
私 API 知ってるんだぞ、えらいだろ〜 って言うちんけな自慢? (w

>>811 が書いてる通り vb6 dir でググレ >>809

816 :デフォルトの名無しさん:2007/01/05(金) 00:15:02
大きなお世話承知で言うけど、正直そういうレベルの人間が今あえてVB6使う理由がわからんよ

817 :812:2007/01/05(金) 09:10:16
>>813
VarType(kohi)=3でLONG型になっています。
宜しくお願いします

818 :デフォルトの名無しさん:2007/01/05(金) 10:09:31
>>812
とりあえずVB6.0SP5ではそんな現象出なかった。

819 :デフォルトの名無しさん:2007/01/05(金) 10:29:58
>>812
何がしたいのかさっぱりわからん。
誤差が出る理由について知りたいならPC内部の実数の表現形式とか勉強すりゃいいじゃん。
http://support.microsoft.com/kb/409744/ja
それ以前にMSDNライブラリ見て演算結果や変換関数の結果の型がどうなるのか調べてみた?

っていうか、人に物を聞くなら疑問点を明確にしろよ。
なんだよそのコード。誰もエスパーじゃねえんだけどわかってる?
そんなコードの断片をコピペして、虫食い部分は透視しろとでも言うの?
はっきり言って馬鹿じゃねえの。

820 :デフォルトの名無しさん:2007/01/05(金) 10:36:40
ランタイムってなんですか?

821 :デフォルトの名無しさん:2007/01/05(金) 10:41:41
>>820
走る 走る 俺達

822 :デフォルトの名無しさん:2007/01/05(金) 11:01:34
>>814
(浮動小数点)演算誤差って言えよw
「わからんかもね。」って、故意に解りづらく言ってるだけやん。

>>812
知っていて書き忘れただけかもしれないが、
> CLngは常に最も近い偶数に値を丸めるので
は間違い。偶数丸めが起きるのは小数値が0.5の場合のみ。他は四捨五入される。
つまり3.5は4に、4.5も4になる。ただし4.5000000001は5になる。

ValはDouble型の値を返すんで、演算誤差が発生する。
Debug.Print VarType(kohi)
Debug.Print VarType(Val(kohi))

Roundで丸めても見た目は変わらないが
Debug.Print (kohi - 241000) * 0.01
Debug.Print (Val(kohi) - 241000) * 0.01
Debug.Print Round((kohi - 241000) * 0.01, 1)
Debug.Print Round((Val(kohi) - 241000) * 0.01, 1)

CLngの結果は変わる
Debug.Print CLng(Round((kohi - 241000) * 0.01, 1))
Debug.Print CLng(Round((Val(kohi) - 241000) * 0.01, 1))


823 :デフォルトの名無しさん:2007/01/05(金) 12:08:37
>>819
馬鹿はお帰りください

824 :812:2007/01/05(金) 12:36:16
重ね重ね申し訳ありません。m(__)m
また、何回も質問して申し訳ありません。
VB5.0SP2で出ている現象です。

Dim Value As Variant
Dim aaa As Variant
Dim bbb As Variant

Value = 50#のとき、(小数値が0.5のときです)
aaa = CLng(Value * 0.01)
bbb = CLng(Val(Value) * 0.01)
の答えが
aaa = 0
bbb = 1
になるのですが、Valueは両方ともVarient/Doubleになると思うのですが、
結果が違います。
どうしてなのでしょうか?


825 :デフォルトの名無しさん:2007/01/05(金) 12:39:28
>>824
このクズやろう。
お前、みんなのレスを読み返せ。

826 :デフォルトの名無しさん:2007/01/05(金) 12:39:50
そりゃClngやってりゃ整数になる罠

ClngじゃなくCdbl(だっけ?)でDoubleに型変換しないといけないんじゃないか?
ついでにいうとVariantは最低限のとき使ったほうがいいんじゃないか?

827 :812:2007/01/05(金) 12:48:46
>>826
整数にしたいもので・・・

すみません。みなさんの機嫌を悪くさせているみたいなので、
以後かきこしません。
どうもすみませんでした


828 :デフォルトの名無しさん:2007/01/05(金) 12:53:03
>>827
回答者様に感謝の言葉述べてから帰れよ。

829 :デフォルトの名無しさん:2007/01/05(金) 13:13:12
>>812
まあ>>819のリンク先ぐらいせめて読んだ方がいいよ。
どうせまだ読んでやしないんだろ?
馬鹿じゃなければ、コンピュータが実数をどう扱うかのイメージがだいたいつかめれば
必要な結果を得るためにはどういう処理をしたらいいか自ずとわかるはず。

812は理科系の人間じゃないのかな。あるいはよほど三流処の出か。
実数演算をするときには実験の数値を扱うときのように(もちろん理由は全く違うけど)
有効数字(桁数)を意識しなきゃダメだ。

たとえば必要な精度が小数点以下第二位までと予めわかってるなら演算結果を変数に
しまう前にRoundで小数点以下第二位までに丸めなきゃ。
そうすりゃそのデータ型の扱う数値の範囲を超えない限り誤差はでないよ。
もちろんこれは厳密な言い方ではないけどね。

それから言うまでもないが特に理由もないのにVariant型の変数なんて使わないことだね。

830 :デフォルトの名無しさん:2007/01/05(金) 13:21:28
>>819=>>829

有効桁数〜?!
データ型の扱う数値の範囲を超えない限り誤差はでない??!!


いいから、馬鹿はくるんじゃねぇよ。

831 :デフォルトの名無しさん:2007/01/05(金) 19:16:10
>>824
> VB5.0SP2で出ている現象です。
って・・・
それ、最新のSPじゃないだろ。
SPは最新をあてないとそもそも問題外。
話にならん。

832 :デフォルトの名無しさん:2007/01/05(金) 19:25:55
>>831
これは最新のSPで変更あった個所なのか?

833 :デフォルトの名無しさん:2007/01/05(金) 19:39:36
話にならないとはむしろ>>831自身のことなのでありました
チャンチャン♪

834 :デフォルトの名無しさん:2007/01/05(金) 21:18:32
>>832
そういう問題じゃないだろ。

835 :デフォルトの名無しさん:2007/01/05(金) 23:35:36
>>834
古いソースを扱うときは当時の環境でいじるが?
一人だけバージョンやSPの違う言語を使うわけにいかないからな

で、824はSPが問題なのか?

836 :デフォルトの名無しさん:2007/01/06(土) 21:08:44
相変わらず莫迦ばっか。

837 :デフォルトの名無しさん:2007/01/06(土) 23:00:04
変数を定義すると、そのアドレスが毎回変わってしまうのですが、
何とかして固定アドレスに値を格納する方法は無いでしょうか?

apiにもそれらしいものが見つからなくて・・

838 :デフォルトの名無しさん:2007/01/06(土) 23:40:01
なんのために?

839 :デフォルトの名無しさん:2007/01/06(土) 23:42:47
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。

840 :デフォルトの名無しさん:2007/01/06(土) 23:58:22
>>837
今ちょっと環境が違うから分からんけど、APIにあった様な・・・
でも、あくまでも「アプリから見て」同じアドレスってだけだけど。

841 :デフォルトの名無しさん:2007/01/07(日) 00:48:48
>>839
見えない=テンプレ
>>1に色々在る中で抜粋してるのじゃね?

842 :デフォルトの名無しさん:2007/01/07(日) 16:37:18
>>840
規制中で携帯からなのですが、時間がかかっても知りたいので、
気が付きましたら教えて下さい。よろしくお願いします。

843 :デフォルトの名無しさん:2007/01/07(日) 19:33:52
始めて書き込みいたします。

win98で開発したVB6のソースコードを最近買ったXPにコピーしてコンパイル
したところRIGHT関数 TIME関数でコンパイルエラーが出現します。
他の関数でもエラーが出現する可能性はあると思います。

最新のServicePack,Runtimeをインストールしてみても現象は変わりません。

原因について色々ぐぐって調べてみたのですがどうしても力及ばずわかりません。

ご教授のほど、お願いいたします。  おやじ。



844 :デフォルトの名無しさん:2007/01/07(日) 19:40:38
>>843
必要なActiveXが登録されていなかったり、バージョンが違っていたり、
参照設定がおかしくなってるところはないか?
この辺がおかしくなってると関係ないところでエラーが出たりする。

845 :デフォルトの名無しさん:2007/01/07(日) 19:44:27
>>843
XPではVB6.0はMSのサポート対象外。

つまり、正常に動作しない可能性がありますよ。
MSは知りませんよ。

ということ。

846 :デフォルトの名無しさん:2007/01/07(日) 19:52:42
>>845
うそこくでねぇ。Vistaでも保障対象だ。ただしActiveXは保障の対象外のものもある。
同時代のNT4とWin98の間でもこういう問題はよくあって、ActiveXの参照設定によくなかされた。

847 :デフォルトの名無しさん:2007/01/07(日) 19:56:14
開発環境は保障外じゃなかった?
実行は出来るだろうけど

>>843
Strings.Rightのように修飾を広げて(?)みて

848 :デフォルトの名無しさん:2007/01/07(日) 19:56:51
>>847
2008年4月8日まで延長された

849 :デフォルトの名無しさん:2007/01/07(日) 20:12:39
IDEのサポート、>>6では3月になってるが、今みたら4月になってるんだな
.Netに移れってのはごもっともだが。


850 :デフォルトの名無しさん:2007/01/07(日) 20:28:22
でもXPではVB6.0はMSのサポート対象外?
実行は出来るだろうけど

851 :デフォルトの名無しさん:2007/01/07(日) 21:02:29
MSをわかってないね。

メインのサポートはもう終了していて、延長サポート、つまり
100%MSの不具合という場合のみ有償でサポートしますよという事。

Vistaについても、XPで現在動いているものをVistaでも動くように
努力すると、MSはいっている。
XPで動かないものは知りません。

ちなみに、>>843の問題は、よくわからん。
エラーの内容をキボンヌ。

852 :デフォルトの名無しさん:2007/01/07(日) 21:05:07
妄想は机のはしっこにでも書いておけ

853 :デフォルトの名無しさん:2007/01/07(日) 21:09:34
恥の上塗りでテカテカだぜ。


854 :デフォルトの名無しさん:2007/01/07(日) 21:12:11
>>852
救いようがない、お馬鹿だな。

ttp://www.support.microsoft.com/lifecycle/?c1=501
ttp://www.support.microsoft.com/lifecycle/


なんて書いてあるんだ?教えてくれ。

855 :デフォルトの名無しさん:2007/01/07(日) 21:17:00
>>854
それのどこ?

856 :デフォルトの名無しさん:2007/01/07(日) 21:19:09
VBは2000迄だよ。
世に出た時期を見れば明らか。
VB発売よりXP発売の方が後だからね。
自分より後に発売されたOS上での動作なんて保障出来る筈がない。
それがMSクォリティ。

857 :デフォルトの名無しさん:2007/01/07(日) 21:23:07
はいはい妄想妄想

858 :デフォルトの名無しさん:2007/01/07(日) 21:24:41
保障

859 :デフォルトの名無しさん:2007/01/07(日) 21:27:30
>>855
頑張って、Visual Basic 6.0で探してください。

860 :858:2007/01/07(日) 21:28:03
失礼
>>856みたいな人っていうのはたぶん「保障」って言葉の意味を
よく考えてみたことがないんだろうね。

一言で言えばプログラムの動作の「保障」をするのはそのプログラマの仕事であってMSの
仕事ではないよ。当たり前のことだし、当たり前過ぎて言葉遊びに過ぎないと思われそうだがそうではない。


861 :デフォルトの名無しさん:2007/01/07(日) 21:29:03
逃げやがった

862 :おやじ:2007/01/07(日) 21:30:08
皆様、色々レスのほう、サンクスでつ。

If Right(App.Path, 1) = "\" Then
 Debug.Print Time

ソースはこんな感じです。
"コンパイルエラー プロジェクトorライブラリがみつかりません。"
とメッセージボックスが表示されます。

しかし、痛いなあ・・・。ソースがもったいないし。

863 :デフォルトの名無しさん:2007/01/07(日) 21:31:18
OS再インストールからやりなおせ!

864 :デフォルトの名無しさん:2007/01/07(日) 21:36:47
好意的に受け取っても余命一年ちょっとってことで。
.NETは簡単にEXEからソースに戻るから嫌なんだよな。
難読程度しかできないし。

865 :デフォルトの名無しさん:2007/01/07(日) 21:39:30
>>862
俺のとこもXPだけど、そのソース動くから、運が悪かったと諦めて、
OSから再インスコ。


>>861
まぁ、ああいうヤシもおもしろいから必要(´・ω・`)

866 :デフォルトの名無しさん:2007/01/07(日) 21:45:30
XP上でVMWare+Win2000だろ常識的に考えて・・・

867 :デフォルトの名無しさん:2007/01/07(日) 21:47:32
VB.Netだろ常識的に考えて・・・

868 :デフォルトの名無しさん:2007/01/07(日) 21:47:55
>>862
なんだ、ググると簡単にそれらしい現象を説明してあるページがみつかるじゃん。
どうせろくにググってもないんだろ?
アホらし。

結論からいうと、たぶんプロジェクトの参照設定の中に不正なものがあるんだよ。
たとえばエクセルをインストールしてもないのにエクセルのオブジェクトライブラリを
参照しているとかさ。

869 :デフォルトの名無しさん:2007/01/07(日) 21:53:48
98から持ってきたプロジェクトじゃなくて普通に新規でフォームから作ったアプリは動きますか?
動くようなら>>844の指摘が妥当だと思いますよ。
参照設定で無効になってるところはないか、同じ名前のものに2重にチェックが入ってるものはないかなど
調べてみてください。
うちの環境ではXPでVB6の開発も運用もやっていてMSの保障は知らないけど問題なく動いています。

870 :デフォルトの名無しさん:2007/01/07(日) 22:11:18
質問の次で答えが出ていたの?
>>845-869までまぬけだね

871 :デフォルトの名無しさん:2007/01/07(日) 22:14:53
> MSの保障

【保障】(名)
〔補説〕 「保」は小城、「障」はとりでの意
[1] 責任をもって、一定の地位や状態を守ること。
 ・航路の安全を―する
[2] ささえ防ぐこと。また、そのもの。


【保証】(名)
[1] まちがいなく大丈夫であるとうけあうこと。
 ・利益を―する
 ・―の限りではない

[ 大辞林 提供:三省堂 ]


872 :デフォルトの名無しさん:2007/01/07(日) 22:47:51
> .NETは簡単にEXEからソースに戻るから嫌なんだよな。
> 難読程度しかできないし。
未だに対処方法知らない人も居るんだね。とは言えスレ違いか。


873 :デフォルトの名無しさん:2007/01/07(日) 22:51:21
>>871
よくある間違いのひとつだね。
仕事でこの手の間違いをすると、素人ぽく思われる。

内臓と内蔵の間違いとか、めちゃくちゃよく出てくる。
デスクトップをディスクトップとか。

874 :デフォルトの名無しさん:2007/01/07(日) 22:53:20
>>872
対処できるの?知らなかった。
ぜひ教えてください。

875 :デフォルトの名無しさん:2007/01/07(日) 23:06:23
難読の事を対処方法って言ってるんだろ?
まぬけだね

876 :おやじ:2007/01/07(日) 23:28:06
>>844 >>868 >>869
おそらくは、ご指摘の通りだと思います。暫くVBを離れてたので
その事を失念してあわててしまいました。多分ランタイムのバージョンのせいかな。
明日、帰宅してからやってみますわ。

話変わりますがVBは便利だね。今日動作しなかったアプリは海外にも
ばら撒いているので慌てました。
VBは永久保障して欲しいものだね。

877 :デフォルトの名無しさん:2007/01/07(日) 23:33:14
Exeからソースに戻るって何?
逆コンパイラがあるの?

878 :デフォルトの名無しさん:2007/01/07(日) 23:34:16
>>875
そう思いたければそう思ってればいいさ。
別に君が勘違いしてようと俺は困らない。

879 :デフォルトの名無しさん:2007/01/07(日) 23:41:24
>>877
コメント文以外は変数名までかなりの形で元に戻る

880 :デフォルトの名無しさん:2007/01/07(日) 23:47:12
勘違い?プッ
愉快なまぬけだな

881 :デフォルトの名無しさん:2007/01/07(日) 23:51:15
都市伝説レベルの話だから対処法が出せないんだよ。
まぬけな彼も被害者。

882 :デフォルトの名無しさん:2007/01/08(月) 00:08:12
有名どころの.NETの逆コンパイラは普通に.NETのアーキテクチャ使ってるだけ
アセンブリにMSILにコンパイルされていれば逆コンパイルが効く

逆に言えばアセンブリに無い(ローダが動かないからだめかも)、
またはMSILでないなら逆コンパイルできないよ

883 :デフォルトの名無しさん:2007/01/08(月) 00:18:08
>>879
MSの標準ツールなの?

884 :デフォルトの名無しさん:2007/01/08(月) 00:28:06
>>882
そんなことよりVB.NETやC#で逆コンパイル効かなくするには?

885 :デフォルトの名無しさん:2007/01/08(月) 00:30:37
>>884
考えろボケ
ngenでも使ってろ

886 :デフォルトの名無しさん:2007/01/08(月) 00:32:28
ngenはネイティブイメージのキャッシュを作るだけだろ

887 :デフォルトの名無しさん:2007/01/08(月) 00:37:44
一人のまぬけが暴れてるのか、まぬけが感染しているのかだけでも教えて!

888 :デフォルトの名無しさん:2007/01/08(月) 00:47:14
あー、VBプログラマで一生喰っていきてー
何年も前に不可能になったが。

889 :デフォルトの名無しさん:2007/01/08(月) 01:12:31
逆コンパイラでググった
ttp://boomerang.sourceforge.net/


890 :デフォルトの名無しさん:2007/01/08(月) 02:14:40
VBでヤフーオークション出品管理ソフト作ってるんだけど、
ヤフーオークションのカテゴリ(本とかバイクとか電動工具とか)を自動で全て取得する良い方法ない?

891 :デフォルトの名無しさん:2007/01/08(月) 02:28:32
> 自動で全て取得する
そーゆープログラムかけばええやんw

892 :デフォルトの名無しさん:2007/01/08(月) 03:45:05
うひょ

893 :デフォルトの名無しさん:2007/01/08(月) 08:20:43
>>887
860のような真性が一人で大暴れしてる。

894 :デフォルトの名無しさん:2007/01/11(木) 02:22:56
VBで
品番号 品名  番号 担当者 金額
----------------------------------
1   あああ 0001 あああ  200
     0002 いいい  300
0003 ううう  400
----------------------------------
合計              900 

の品名の下の行を表示させなくするにはどう記述したらいいんでしょうか?
どなたか教えてください;;


895 :デフォルトの名無しさん:2007/01/11(木) 02:24:34
また出た。
頼む>超能力者

896 :デフォルトの名無しさん:2007/01/11(木) 02:34:55
>>894
>>1

897 :デフォルトの名無しさん:2007/01/11(木) 11:18:16
>>895の内容に笑ってしまった・・・

もうお約束の言葉過ぎて

898 :デフォルトの名無しさん:2007/01/11(木) 11:35:06
>>894
君以外の誰かに直接頼むのが手っ取り早いよ。

899 :デフォルトの名無しさん:2007/01/11(木) 15:00:17
>>894
品名は「列」なのに、「下の行」って何だ?

900 :デフォルトの名無しさん:2007/01/11(木) 16:59:51
番号0001,0002,003とも品名は「あああ」なんだが
最初の行にだけ表示したいという話かな

901 :どうかご慈悲を:2007/01/11(木) 18:29:07
dσv/dx +4(kσvtanφ+Cw)/D=γω^2*(Ro+x)
dσv/d(x−L) +2(Kσvtanα+2Cw)/{D-2(x−L)tanα}=γω^2*(Ro+x)
解析的には解けないのでルンゲクッタ法で解きます。
初期条件は(1)がx=0、σv=σ₀、γ=γ₀
     (2)のσv、γはx=Lにおける(1)の解
これのEXCEL VBAプログラムをお願いします。
正直時間がないのでどうか今週中にお願いできませんでしょうか。自分ではにっちもさっちも行きません。
この先に進めないと本当に危ないんです。


902 :デフォルトの名無しさん:2007/01/11(木) 18:35:16
何考えてんだよ。と釣られた。

903 :デフォルトの名無しさん:2007/01/11(木) 20:17:34
誰か教えて下さい。
VB6 SP6で開発してます。
エラーメッセージで「It is error not anticipated. subscript out of range」という
メッセージが表示されます。これってどんな時に出るのでしょうか?

やっていることはactive reportのPrinter.PrintDialogの命令をしている所で発生しています。
これだけではわかりにくいとは思いますが、お願いします。


904 :デフォルトの名無しさん:2007/01/12(金) 01:34:06
>>900
その通りです…
わかりにくくてすみません;;

905 :デフォルトの名無しさん:2007/01/12(金) 08:04:51
>>901
スレ違い。EXCEL VBAスレへ行け。
ま、ルンゲクッタ法程度の実装が出来なきゃ、
この先、クソの役にもたちゃしないけどな。

・・・と釣られてみるwww


>>903
グレープシティに訊け


>>904
元のデータがどう格納されていて、
それをどういう方法で取得していて、
結果的にどうしたいのかを筋道立てて説明しなよ。

・・・そうすればロジック完成するだろ?

906 :デフォルトの名無しさん:2007/01/13(土) 23:43:07
質問させてください、VB6.0です。
リッチテキストボックスでBMP形式の画像を読み込ませたいのですが、
画像が張り付いた後に、ペイントソフトが起動してしまいます。
ペイントが起動しないようにするにはどうしたらよいでしょうか?

RichTextBox1.OLEObjects.Add , , App.Path & "\" + "test.bmp"

907 :デフォルトの名無しさん:2007/01/14(日) 11:51:54
dim ie as object
set ie = createobject("InternetExplorer.Application")
ie.visible = true
ie.navigate "http://www.yahoo.co.jp"

というふうにIEでURLを開くときにIEのプロキシ設定を無視したいのですが
設定方法がわかりません。

ie.putProperty

で設定できるかも、とは思うのですが設定値がなかなかわかりません。
もしご存知の方がおられましたら教えていただけないでしょうか?

よろしくお願いします。

908 :デフォルトの名無しさん:2007/01/14(日) 12:00:21
IEの設定を無視したければ
createobject("InternetExplorer.Application")
を使わなければいいんじゃん
普通にWin32API使ってアクセスしなよ

909 :デフォルトの名無しさん:2007/01/14(日) 16:38:55
やり方知らないんだったら黙ってれば?

Win32API 使えばできるなんていう当たり前のことを言われてもウザイだけだし。

910 :デフォルトの名無しさん:2007/01/14(日) 18:29:57
>>909
お前も回答は知らないから書けないんだな。

911 :デフォルトの名無しさん:2007/01/14(日) 18:46:52
>>909
やり方知らないんだったら黙ってれば?

912 :デフォルトの名無しさん:2007/01/15(月) 01:44:03
質問です
VBで

batファイルを作成
それを実行
bat処理が終了したらプログラムに戻る

というプログラムは作ることが出来ますか?



913 :デフォルトの名無しさん:2007/01/15(月) 02:19:29
>>912
出来る。余裕。超余裕。

914 :912:2007/01/15(月) 02:26:42
>>913
すみません
shell関数で実行するところまでは出来たのですが
batファイルを実行すると次に進んでしまいます
どうすればいいのでしょうか?
超初心者向けに行った方がよいですか?

915 :デフォルトの名無しさん:2007/01/15(月) 02:35:21
>>914
APIのShellExecuteとWaitForSingleObject辺りでググって見て下さい。

916 :914:2007/01/15(月) 03:14:38
>>915
どうもありがとうございます。
やってみます。

917 :デフォルトの名無しさん:2007/01/15(月) 10:29:52
ちょっと教えてください
Set objHttp = New XMLHTTP30
Set objStream = New Stream
strServer = "http://" & strHost & "/"
strURL = strServer & "test/offlaw.cgi/" & strBoardName & "/" & strKey & "/?raw=0.0&sid=" & strSessionID
With objHttp
.Open "GET", strURL, False
.SetRequestHeader "Host", strHost
.SetRequestHeader "User-Agent", "Monazilla/1.00"
.SetRequestHeader "referer", strServer & strBoardName
.SetRequestHeader "Accept-Encoding", "gzip"
.SetRequestHeader "Connection", "close"
.Send
With objStream
.Open
.Type = adTypeBinary
.Write objHttp.ResponseBody
.SaveToFile strDatSavePath, adSaveCreateOverWrite
.Close
End With
.Abort
End With
2chブラウザみたいなものを作っていて●ログインして過去ログを取得する部分で行き詰まってるのですが
ttp://kage.monazilla.org/system_DOLIB100.html
を参考に上のコードを実行すると"-ERR もう つかえません"というファイルが作成されます
このエラーでググってみるとFireWall関連が原因とあるのでWinのFWとNISを無効にしてみるも結果は同じ
strURLはhttp:// pc8.2ch.net/test/offlaw.cgi/tech/1152667953/?raw=のような感じで
strSessionIDの値はログインの個人情報なのでさすがに晒せませんがこの値を使って書き込むと
名前欄に●を書けるので値に間違いは無いです
WinXP SP2/VB6 SP6/IE6の環境 ですが何処をどう直せば良いのでしょうか?

918 :デフォルトの名無しさん:2007/01/16(火) 11:00:22
VBとエクセルVBAって似てますか?
それともまったく別物ですか?

919 :デフォルトの名無しさん:2007/01/16(火) 11:10:21
そっくり。というか、文法は同じ。

920 :デフォルトの名無しさん:2007/01/16(火) 23:10:39
>>917
そのエラーってコードで回避しようがあるのだろうか?
ファイアーウオールではじかれてるって事は
そのUrlに対してネットワークルートとか権限の問題は確保できてる?
例えばログファイル、格納ディレクトリに対してのアクセス権とか

直接URL叩いてログ置き場ってみれますか?


921 :920:2007/01/16(火) 23:14:48
すいませんリンクされてたURLを見ずに回答してしまいました
接続先からの閲覧に必要な要求を満たせる情報が手元にあるなら
アクセス権は関係ないですね。すいませn

922 :デフォルトの名無しさん:2007/01/17(水) 01:34:01
VB6.0でプログラムを書き始めています。
それで、リストボックスのstyleを1にしてチェックボックスも表示するようにしたのですが、
どのようにアクセスするのかがわかりません。
条件に応じてチェックを入れたいのですが、ご存じの方、アドバイスをお願いします。


923 :デフォルトの名無しさん:2007/01/17(水) 02:06:52
>>922
ごめんなさい。
単に、Selectedで出来ました。てっきり選択されているかを見るものだと思っていました。

924 :デフォルトの名無しさん:2007/01/18(木) 18:07:47
教えてください。
VB6.0でinetコントロールを使ってFTPにファイルをアップするプログラムなのですが、
開発環境ではきちんとアップするのに、実行形式にするとアップしません。
何が原因なのでしょうか?
開発環境と実行環境で挙動が違うことって初めてなので戸惑っています。

925 :デフォルトの名無しさん:2007/01/18(木) 18:40:23
>>924
問題の起こる最低限のコードとデータ

926 :デフォルトの名無しさん:2007/01/18(木) 19:28:55
どうせカレントディレクトリかなんかだろ

927 :デフォルトの名無しさん:2007/01/18(木) 20:14:25
あるあるやな。
VBの保存フォルダも変わってそう。

928 :デフォルトの名無しさん:2007/01/19(金) 11:05:08
VB6のMscommコントロールを使うときに設定する通信速度の種類を調べたら
110 300 600 1200 2400 9600 (既定値) 14400 19200 28800 38400 56000 128000 256000
とあったのですが、4800は使えないのですか?
教えてください。



929 :デフォルトの名無しさん:2007/01/19(金) 11:57:45
a = "9.0"
b = trim(a)

とやると、bは "9" になってしまうのですが、
これを回避する方法はないでしょうか?


930 :デフォルトの名無しさん:2007/01/19(金) 12:06:20
aとbの型は何よ?

931 :デフォルトの名無しさん:2007/01/19(金) 12:43:19
string です


932 :デフォルトの名無しさん:2007/01/19(金) 12:44:27
と思ったら、singleにしてました。 それが原因ですね。


933 :デフォルトの名無しさん:2007/01/19(金) 13:05:30
だね。

934 :デフォルトの名無しさん:2007/01/19(金) 16:24:14
Visual Basicで出力結果をExcelで表示させるプログラムを教えて下さい。

935 :デフォルトの名無しさん:2007/01/19(金) 16:38:52
CreateObject とか GetObjectのヘルプにサンプルある。

936 :デフォルトの名無しさん:2007/01/19(金) 16:41:39
>>924
「開発環境と実行環境で挙動が違う」のなんて普通だが。
ちゃんと考えて環境構築しないと。

937 :デフォルトの名無しさん:2007/01/19(金) 17:00:26
>>934
CSV形式で出力してファイル名.xlsでいいじゃないか

本当エクセルにカキコみたいならぐぐれば沢山出てくる

938 :デフォルトの名無しさん:2007/01/19(金) 18:41:10
CommonDialog[開く]で2点質問です。

その1
私の調べた限りではできなかったのですが
CommonDialogではフォルダの指定はできないのでしょうか?
ひとつのボタンをクリックして、
フォルダもファイルも両方指定できるようにしたいです。
フォルダ指定のできるプログラムも見つけたのですが、
それだと今度はファイルが指定できないし・・・です。

その2
CommonDialogでショートカットファイルを指定すると
ショートカットのリンク先を取得してしまうのですが、
ショートカットファイル自体を取得することは可能ですか?
またその方法がわかりましたら教えてください。

939 :938:2007/01/19(金) 18:48:52
ぎゃーはずかしー
その2はフラグで解決しました。
きちんとヘルプ読まないといけませんね・・・

940 :デフォルトの名無しさん:2007/01/19(金) 19:19:37
ローカルパスを指定して、そのパスが
ネットワーク上で共有になっているかを調べることはできますか?
またネットワーク上でのパスを取得することはできますか?

941 :デフォルトの名無しさん:2007/01/19(金) 20:26:48
>>938
その1
質問の意味が分からんが、
フォルダは指定出来るだろ。

942 :デフォルトの名無しさん:2007/01/20(土) 00:50:00
>>938
コモンダイアログをhookすれば可能かもしれないけどSHBrowseFolderの方が一般的なUIだとおもう

第一ファイルかフォルダのどちらかを選択すること自体、おかしい話に聞こえる

943 :デフォルトの名無しさん:2007/01/20(土) 16:01:03
XPでVisual Basic 6.0を使用しています。

OpenOffice.org Baseでつくったodbファイルに接続をしたいのですが


  Public cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\DOKOMODO\DOKOMODO.odb"
cn.Open

のcn.openのところで「実行時エラー'-2147467259' (80004005) データベースの形式'C:\DOKOMODO\DOKOMODO.odb'を認識できません。」と出てしまいます。

Providerが違うのかな。と思っているのですが何を入れればいいのかわかりません。

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

944 :デフォルトの名無しさん:2007/01/20(土) 16:10:40
ここで、こういう時に使えるマル秘テクを伝授しよう。
1.デスクトップを右クリックして新規作成→テキストファイル。
2.ファイル名をa.udlにかえる(拡張子が重要)。
3.アイコンがエクセルシートとパソコンのような奴になるので、そいつをダブルクリック。
GUIでぐいぐいと「ADO接続文字列」を作る事ができる。設定が出来上がったら保存し、a.udlをUNICODEを読めるテキストエディタ(Windows2000以上のメモ帳など)で開けばばっちり接続文字列ができあがっているってスンポーだ。

945 :デフォルトの名無しさん:2007/01/20(土) 16:41:56
うちでは右クリックメニューの新規作成にMicrosoft データリンク(udl)があるけど

946 :943:2007/01/20(土) 17:08:34
>>944
ありがとうございます!!解決しました!!
こんなテクしらなかったです!!

947 :943:2007/01/20(土) 17:40:47
たびたびすみません。

cn.openでは落ちなくなったのですが
このオブジェクトを使用して cn.execute を行うと
「実行時エラー 2147217900 (80040e14) コマンド処理中に一つ以上のエラーが発生しました。」
と出てしまいます。

何が原因なのでしょうか?

ちなみに接続文字列は
Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Data Source=DOKOMODO.odb;Location=C:\DOKOMODO;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648
です。

948 :デフォルトの名無しさん:2007/01/20(土) 23:12:02
>>708
JScriptなら
this.escape()
で行けるのにね
VBScriptで
Me.Escape()
が駄目ってことは、VBScriptの仕様でんな。
ま、代用法は有るかも知れんが、代用法は要らんちゅうことだし。

949 :デフォルトの名無しさん:2007/01/22(月) 15:42:56
VB6.0 SP4環境でのコンパイルについての質問です。

コンパイルが正常終了した際のログを取得したいのですが、
(タイムスタンプ、プロジェクト名、DLL名、EXE名、正常終了した旨等)
ソースには手を加えずに設定だけで出力する方法はありませんでしょうか?

どなたかご教授願います。

950 :デフォルトの名無しさん:2007/01/22(月) 15:47:45
ご教示お願いします。っていわないと教えてあげなーい。

951 :デフォルトの名無しさん:2007/01/22(月) 16:09:20
コマンドラインの出力をリダイレクトすれば

952 :デフォルトの名無しさん:2007/01/22(月) 18:20:04
>949です

951さん、アドバイス有難うございます。
早速、コマンドラインから以下のコマンドを試してみました。

vb6.exe△/make△project1.vbp△>△comp.log

結果ログファイルは作成されましたが、ファイルの中身は空でした。

makeコマンドのオプションで出力させる方法が無いかと調べてみましたが、
見付からず仕舞いです。

ご存知の方おられましたらご教示お願いします。

953 :デフォルトの名無しさん:2007/01/22(月) 19:27:40
>>952
画面に出てるなら2>などで取れるんじゃない?

954 :デフォルトの名無しさん:2007/01/22(月) 20:20:42
>>953
だね。
空っぽって事は、StdErr に出してるんでしょう。

955 :デフォルトの名無しさん:2007/01/22(月) 20:29:38
質問させてください。

テキストボックスにフランス語の入出力をさせたいんですが
うまくいきません。フォントを times new roman に変更して
文字コード表からéとかàなどをコピペして入力しようと
したんですが、?と表示されます。どうすればよいでしょうか。

956 :デフォルトの名無しさん:2007/01/22(月) 20:33:05
>>955
それはVB.Netを使うのが早道です

957 :955:2007/01/22(月) 20:47:28
お金がなくて買えないんです。なにか良い方法を教えてください。

958 :デフォルトの名無しさん:2007/01/22(月) 20:53:27
>>957
ダウンロードする環境もないの?
VB付き雑誌を買う金も無いの?

VB6でもそれらの入出力は作ればできるけど標準のテキストボックスは使えない
労力のわりにあわないし説明する気にもなれない

959 :デフォルトの名無しさん:2007/01/22(月) 21:03:26
>>957
アカデミックバージョン(?)なら無料でダウンロード出来るんだけど?

960 :デフォルトの名無しさん:2007/01/22(月) 22:36:48
お知恵を貸してください。VB6.0です。
本来はVBアプリからエクセルシートを読み出すように作成しているのですが
VBAで代替して分かりやすく動作を説明します。
機能概要ですが、エクセル作成ファイルにシートA、シートBがあり
両方のシートに存在するデータはレジストリコマンド(.regファイルのコマンド)行です。
そこで関数Sub WriteRegMarge()を実行すると
シートA、シートBのレジストリデータをそれぞれ拾い出してA&Bのマージregファイルが
作成されるといったものです。
この処理でシートA、シートBのレジストリキー、項目はシート内にそれぞれきちんと昇順にソートが
かかっているのですが、マージの処理が終わると、やはり昇順ソートを意識してないため
シートAのデータ書き出し後の末尾からシートBのデータが列挙されてしまいます。
さらにシートA、シートBとも同一のレジストリキー配置が存在するため、同一の
レジストリキーも重複書き出しされます。Accessを介してSQLなどでのソートも
考えましたが、そのままシンプルにExcelObject、またはVBA上のみで適度なソートを
実現する方法はないでしょうか?できれば完全に近い昇順配置を望んでいます。

データの例
[HKEY_LOCAL_MACHINE\SOFTWARE\Video\Common\A]
"A"=dword:00000002
[HKEY_LOCAL_MACHINE\SOFTWARE\Video\Common\Dec]
"I"=dword:00000002

961 :デフォルトの名無しさん:2007/01/22(月) 22:49:28
>>960
半分も読まなかったから見当外れだったらごめん。
1.自分でソートアルゴリズムを書く。数10件程度ならばバブルソートで十分。
2.キーを文字列化出来るならSortedプロパティをオンにしたListBoxにぶち込む。

962 :デフォルトの名無しさん:2007/01/22(月) 22:51:38
よーわからん日本語だなしかし。
あんた、丁寧なことば使いするのがマナーだと思ってるのかもしれないが、
そんなことより「読む人間の立場に立って文章を推敲する」ことの方が余程重要だ思うよ。

その点あんたは落第もいいところだ。
あんたのその文章、エスパーでも匙投げると思うわ

963 :デフォルトの名無しさん:2007/01/23(火) 00:51:08
>>959
アカデミックは_w
ExpressEditionだな

964 :デフォルトの名無しさん:2007/01/23(火) 06:29:48
VBScriptってVBのフォームを表示できたりしないの?

965 :デフォルトの名無しさん:2007/01/23(火) 07:05:43
VBSから直接フォームの呼び出しって聞いた事ないなぁ
ただDLL化した画面をクリエイトオブジェクトして使えば
画面呼び出しは可能かと

966 :デフォルトの名無しさん:2007/01/23(火) 07:22:21
>>964
ActiveXとして作ればVBSから操作出来るよ。

967 :デフォルトの名無しさん:2007/01/23(火) 15:36:41
>>965
既存のライブラリじゃちょっと無理かもってことなんですね。
VBScript的にはIEをインターフェイスにするのが正しいってことなの?

968 :デフォルトの名無しさん:2007/01/23(火) 16:04:48
>>955
リッチエディトやIEなんかだとできる気がする。

969 :デフォルトの名無しさん:2007/01/23(火) 17:16:57
自作ソフトを作り始めたんですが、画面の端に近づけたら吸着してくれるようにしたいのですが
どの辺をどういじればいいのでしょうか?


970 :デフォルトの名無しさん:2007/01/23(火) 17:24:37

会社で開発しているプログラムのサンプル画面を WEB で公開できないかと

>>490 さんと同じような事で、悩んでたのですが

さっき、上司から
「VB6.0 で組んだ普通の EXE ファイルが、インストール無しで、動くレンタルサーバって無いの」
って、言われてしまいました。

そんなレンタルサーバって、あるのでしょうか?

また、「.NET Framework対応」の「Windows レンタルサーバサービス」なら
VB6.0 は無理でも VB.NET の EXE ファイルは、動くのでしょうか?

ご存知の方、居ませんか?よろしく お願いします。


971 :デフォルトの名無しさん:2007/01/23(火) 21:18:12
>>970
Click Onceでできるだろ

972 :デフォルトの名無しさん:2007/01/23(火) 21:25:15
水野女史を思い出したw

973 :デフォルトの名無しさん:2007/01/23(火) 23:42:49
>>970
Windows ServerならVB6.0もVB.NETも必要なライブラリさえ入れれば動くだろ

974 :デフォルトの名無しさん:2007/01/24(水) 00:07:45
Click OnceはサーバーOSに依存しない

975 :970:2007/01/24(水) 11:50:48
メールで質問してみましたが、ASP.NET に対応している「VB.NET」なら OK で
Windows レンタルサーバ では、Visual Basic 6.0 は動かないみたいですねぇ。
残念です。

976 :デフォルトの名無しさん:2007/01/24(水) 16:41:20
>>975
つーか、「サンプル画面の公開」なんてJPGでいいだろ。

977 :デフォルトの名無しさん:2007/01/24(水) 16:46:14
>>970
はWebでWindowsアプリを公開すればブラウザ上でWindowsアプリが
動くと思ってるんだよ。

978 :デフォルトの名無しさん:2007/01/24(水) 18:23:10
クライアントに.NET Frameworkがあれば.NETアプリなら一応動く

979 :デフォルトの名無しさん:2007/01/24(水) 18:37:12
あるSubプロシージャから実行を開始するにはどうすればいいですか?
Main以外のところからインタプリタを起動させたいです。

980 :デフォルトの名無しさん:2007/01/24(水) 18:38:59
Mainの最初で呼べ

981 :デフォルトの名無しさん:2007/01/24(水) 18:39:56
>>980
デバッグ実行で一行ずつ動かして試しながら覚えたいんですが・・・・

982 :デフォルトの名無しさん:2007/01/24(水) 19:09:44
変数mojiへ代入できる文字列は "aaa"と"bbb"だけにしたい。ほかの文字列を代入しようとするとエラーをだしたい。この場合、どのようなコードを書けばいいでしょうか?


983 :デフォルトの名無しさん:2007/01/24(水) 19:13:45
>>982
クラスにすればいいよ

984 :981:2007/01/24(水) 20:24:37
F8で一発でした

985 :デフォルトの名無しさん:2007/01/25(木) 03:12:46
>>983 あーがとう。

986 :970:2007/01/25(木) 11:34:31
>>976 >>977

しゃ〜ないやん、客や上司に言われたら、それを実現する方法を
探さなきゃいけないんだから、「jpg で、良いでしょ?」なんて
言えないよ(^^;;


987 :デフォルトの名無しさん:2007/01/25(木) 11:36:11
言えないお前が悪い

988 :970:2007/01/25(木) 12:54:58
>>987

サラリーマンじゃないね。

989 :デフォルトの名無しさん:2007/01/25(木) 12:56:59
>>986-988
くだらん言い合いはよせ。


990 :デフォルトの名無しさん:2007/01/25(木) 13:00:39
じゃあ何か?サラリーマンなら上司・客が舐めろといったら咥えるのか?


991 :デフォルトの名無しさん:2007/01/25(木) 13:07:45
>>970はサラリーマンじゃなくて奴隷


992 :970:2007/01/25(木) 13:14:55
>>990

駄目なら、どうして駄目なのかパソコンを魔法の箱だと思ってる
客や上司に説明して理解してもらわないと駄目なのよ。
駄目な理由を調べるのが、一番大変なんだよ。
「駄目」「無理」じゃ納得しないから・・・。

993 :970:2007/01/25(木) 13:16:48
>>991

プログラマーなんて、使い捨ての奴隷じゃん。

994 :デフォルトの名無しさん:2007/01/25(木) 13:21:42
俺は奴隷じゃないからちゃんと説明するね

995 :970:2007/01/25(木) 13:26:17
>>994

理由を説明できずに駄目とか無理とか言ったら技術が無いのかって
思われて仕事が無くなっちゃうでしょう。

技術が無いのが、バレないように必死に理由を探すのよ〜。

996 :デフォルトの名無しさん:2007/01/25(木) 13:34:03
一生探してろw

997 :デフォルトの名無しさん:2007/01/25(木) 14:57:31
おい、ウジ虫ども。次スレ立てろや。

998 :デフォルトの名無しさん:2007/01/25(木) 14:59:36


999 :デフォルトの名無しさん:2007/01/25(木) 15:22:40
1000

1000 :デフォルトの名無しさん:2007/01/25(木) 15:25:06
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

273 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)