[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 06/01 11:36 / Filesize : 166 KB / Number-of Response : 630
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

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

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

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

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

2 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:03:29 ]
前スレ
VBプログラマ質問スレ(6.0以前) Part53
pc11.2ch.net/test/read.cgi/tech/1187667616/

なかなか立ってないから立てた。反省はしていない

3 名前:デフォルトの名無しさん mailto:sage [2008/03/03(月) 23:30:58 ]
>>1


4 名前:デフォルトの名無しさん mailto:age [2008/03/07(金) 10:35:20 ]
本スレage

5 名前:デフォルトの名無しさん mailto:sage [2008/03/07(金) 15:20:23 ]
VBでおすすめの本は?

6 名前:デフォルトの名無しさん [2008/03/08(土) 15:11:26 ]
>>5
VB6なら「ピーターノートンの手解きVisual Basic6」
Vol1とVol2の2巻あるが、初心者でも無理なく理解できる丁寧な解説と、
上級者でも満足できる高度な内容を両立させている上に他のVB本には
記載されていない事も説明がある。サンプルCDも付いているし、この2冊で
充分VBマスターになれる。

7 名前:デフォルトの名無しさん [2008/03/08(土) 16:01:17 ]
>>5
ピーターノートン
www.amazon.co.jp/exec/obidos/ASIN/4877830111
item.rakuten.co.jp/book/1134919/
auction.item.rakuten.co.jp/10232889/a/10000085
page9.auctions.yahoo.co.jp/jp/auction/k49595624

8 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 16:50:20 ]
>>5
ゲームとか作るんだったら
古い本だけど
Visual Basicビジュアルプログラミング実践テクニック
結構お勧めできるかも
大昔にゲーム系の専門でPGの講師してたときに使ってた本
ビジネスアプリだったらぜんぜん意味無いが

9 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:00:28 ]
すいませんが質問させてください
FTP接続に関する質問です。
FTPでデータを転送したく、いろいろ調べた結果、転送まではできるようになりました
しかし、以下のことができません。
Aのデータを送って、正常に送れたのを確認してからBのデータを送る
問題点
データ量が大きくなる(転送データが増える)と回線の状況による速度の影響で
一定時間で見るのは難しいです(効率も悪い)

たぶんAのデータがすべて送りきれているか確認できればいいと思うのですが可能ですか?
ほかにいい方法があれば教えてくれれば嬉しいです。よろしくお願いいたします。

10 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 23:41:21 ]
>>9
つか、シーケンシャルに処理すれば良い希ガス



11 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 10:01:14 ]
>>9
よくわからないけど
Aのデータを送信
  ↓
FTPで最新リストを取得して送信元データとサイズを比較 → 違うなら再送信
  ↓
同じなら成功したとする
とかはできないの?

12 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 19:49:43 ]
zipファイルの圧縮はどうすれば可能でしょうか?
.netは見つかったのですが6.0では見つかりません。
ちなみに普通に解凍は見つかりました。
UNZIP32.DLL
ですが、やはり使用しないと無理なのでしょうか?
どうかその方法を教えてください。(txtをまとめて圧縮さえできればいいです)
よろしくお願いいたします

13 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 20:58:00 ]
>>12
UNZIP32.DLLは解凍で
圧縮はZIP32.DELLだったような。
VB6は標準でZIP圧縮、解凍というメソッド等は持たないので
ZIP32.dllあたりからメソッド呼び出す必要があったはず。


14 名前:デフォルトの名無しさん [2008/03/13(木) 21:00:23 ]
質問です。
1: Public Sub test
2: dim x as integer
3: x=0
4: End Sub

変数xのメモリが実際に確保されるのは
2行目でしょうか?
3行目でしょうか?


15 名前:デフォルトの名無しさん mailto:sage [2008/03/13(木) 21:39:38 ]
気にしなくていい

16 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 09:57:25 ]
>>12
総合アーカイバ プロジェクト
www.csdinc.co.jp/archiver/

ここの「開発室」を見てみ?

17 名前:12 mailto:sage [2008/03/15(土) 00:09:31 ]
>>13,16
ありがとうございます
がんばってみます

18 名前:無償入手可 mailto:sage [2008/03/15(土) 13:00:48 ]

Visual Basic Version 5.0 Control Creation Edition SP2 日本語版
download.microsoft.com/download/vbcc/SP/05.00.4319/W9XNT4/JA/VB5CCEIN.EXE

Visual Basic 5.0 Control Creation Edition: SP2 ヘルプ ファイル
www.microsoft.com/downloads/details.aspx?FamilyID=b4394931-d7ab-4d38-a3f5-511fd3165b7f&DisplayLang=ja
download.microsoft.com/download/vbcc/Help/4.71.0121.0/W9XNT4/JA/CCEHELP.EXE

Visual Basic Version 5.0 Control Creation Edition: レジストリ修正モジュール
www.microsoft.com/downloads/details.aspx?FamilyID=e91b767c-30d6-407d-b0f3-fd93faebb592&DisplayLang=ja
download.microsoft.com/download/vbcc/Patch/1.00/W9XNT4/JA/REGFIX.EXE

Visual Basic 5.0: RecentFiles ツール
www.microsoft.com/downloads/details.aspx?familyid=C95613D6-D8D2-4A85-9139-3992B601D08A&displaylang=ja
download.microsoft.com/download/vb50ent/Patch/1.00/W9XNT4/JA/recents.exe


19 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 14:09:52 ]
コピペ君って馬鹿だな、まで読んだ。

20 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:04:28 ]
「馬鹿は、人を馬鹿呼ばわりする」まで読んだ。



21 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 16:36:05 ]
かわいそうだから全部読んだ

22 名前:デフォルトの名無しさん [2008/03/16(日) 15:35:22 ]
文字コードで質問があるのですが
VBの内部コードはUnicodeということですが
buf = "1,2,3,4"
Open strPath For Output As #FileNo
Print #FileNo, buf
Close #FileNo

で書き込んだファイルがシフトJISになるのはなぜでしょうか?


23 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 15:49:49 ]
仕様です

24 名前:デフォルトの名無しさん [2008/03/16(日) 17:31:57 ]
>>23
レス有難うございます。これはVB6の仕様ということでしょうか。
Windows Vistaでは文字コードの規定値がUnicodeになるようですが
VB6で>>22のようなコードで作成したファイルは
やはりシフトJISになるのでしょうか?

25 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 17:33:30 ]
そのコードではそうなる

26 名前:22 [2008/03/16(日) 18:00:30 ]
>>25
ということはシフトJISになるのはPrintステートメントの仕様ということでしょうか。
たしかにStrConvでUnicodeに変換した文字列を書き込んでもシフトJISになりますね・・
Writeステートメントでも同様のようです。


27 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 18:33:22 ]
>>26
バイナリで作って書き込めばUNICODEで保存できたはずだが?

28 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 22:00:40 ]
シフトJISで出力される仕様だなんて聞いた事もないので
試しにAppLocaleで切り替えてみたらやはりシフトJIS以外で出力された
UTF-8には切り替えられないので意味無いが

29 名前:22 [2008/03/16(日) 22:19:53 ]
>>27
Open strPath For Binary Access Write As #FileNo
Put #FileNo, , buf
Close #FileNo
でもUnicodeにならないのですがこれって端末の環境が関係してるんでしょうか?
バイト配列でも同じでした。

>>28
要はVista端末で実行しようがシフトJISで出力したいということなのですが
>>22のコードは修正する必要があるでしょうか?


30 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:02:53 ]
>>29
Dim strPath As String
Dim buf As String
Dim buf2() As Byte
Dim fileno As Integer
fileno = 1
buf = "1234"
buf2 = StrConv(buf, vbUnicode)
buf3 = buf
strPath = "C:/test.txt"
Open strPath For Output As #fileno
Print #fileno, buf2;
Close #fileno
かなり適当に書いたが、こんなもんじゃないのか?
FFFEは省いてるが



31 名前:デフォルトの名無しさん [2008/03/16(日) 23:38:59 ]
質問者も回答者もぐぐらないカスばかりだな

32 名前:14 [2008/03/16(日) 23:46:19 ]
>>14
↑誰かご存じの方いませんか?

33 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:48:18 ]
どのタイミングで実際にメモリが確保されるかとか保証してるのかな?
遅延可能なら遅延しそう。
でも、動作が変わるような遅延はしないと思う。

34 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 23:57:22 ]
マジレスすれば、1行目。

35 名前:14 mailto:sage [2008/03/17(月) 00:31:19 ]
>>33
>>34
個人的には>>34さんの意見と同じです。

参考書によるとVB6ではAs Newキーワードで宣言されたオブジェクト変数の
生成されるタイミングは宣言された行ではなく、
実際にそれが使用された時まで遅延されるらしいです。
>>14の例でいうと2行目がIntegerではなく
クラスの場合、3行目でメモリが確保され、Inisializeイベントが呼ばれるのですが、
これってオブジェクト変数の場合だけメモリの確保のタイミングが遅延されるのって
変ですよね。
そう考えたら>>33さんの言うように遅延しているのかもしれません。

ちょっと話はそれますが、
Dim i As Integer
If True Then
Dim x As Integer
x = 100
End If
MsgBox CStr(x)
これで「100」と表示されたのでいろんな意味上の方にまとめて
宣言した方が可読性あがるしよさげですね。
賛否両論あるかもしれませんが。


36 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 00:33:16 ]
オブジェクト変数だけ遅延されるのは十分ありえることだと思うけど?
ありえることとそうであることは違うけどね。

37 名前:デフォルトの名無しさん [2008/03/17(月) 02:26:07 ]
変数とインスタンスの区別ができないバカw

38 名前:22 [2008/03/17(月) 02:43:19 ]
>>30
有難うございます
そのようにコーディングしてもSakuraなどのエディタでは
なぜかSJISと表示されますね・・・。

ここにもバイナリで開いてPutで書き込むといけたと書いてあるのですが
なぜか当方の環境ではうまいこといきません・・・
h ttp://www.accessclub.jp/bbs/0060/beginers23243.html


39 名前:14 mailto:sage [2008/03/17(月) 03:10:30 ]
>>36
ありえること、ですか。
確かにそう言われるとそうかもしれませんね。
VBのクラスの実装はなんか他のと比べて
特殊なところありますし。
わかりました。
ありがとうございます。

>>37
変数がインスタンス化するタイミングについて討論してるのに。

40 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 08:27:10 ]
>>39
37じゃないけど、Nothingと比較ができる型の意味分かってないんじゃないの?
いずれにせよ(インスタンス生成の遅延以外は)くだらない議論だよ。

シュレディンガーの猫は最終的に猫の生死を確認する方法があるから意味があるのであって、
それが事実上ないVBでのそんな議論に何の意味があるw



41 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 10:03:28 ]
>>39
組み込み型では、インスタンス化とは言いません。

42 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:47:26 ]
22のコードは日本語環境だとShift_JISで出力され、
22はShift_JISで出力したいと言っている。
一体どこに問題がある?

43 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 12:21:35 ]
変数宣言してないとき(必須にしてる時)に、デバッグモードで先頭行に
カーソルはあると思うが・・・

44 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 13:02:43 ]
プロセスにアタッチして、ディスアセンブルすればわかるかもよ

45 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 20:52:01 ]
>>38
たしかに俺もウソソースを書いた。
けどすべての答えが出てたんだから自力でなんとかしてほしかった!
Dim strPath As String
Dim buf As String
Dim buf2() As Byte
Dim buf3(0 To 1) As Byte
Dim fileno As Integer
fileno = 1
buf = "1234"
buf2 = buf
buf3(0) = &HFF
buf3(1) = &HFE
strPath = "C:/test.txt"
Open strPath For Binary As #fileno
Put #fileno, , buf3
Put #fileno, , buf2
Close #fileno


46 名前:デフォルトの名無しさん [2008/03/17(月) 23:20:39 ]
未だにOpenステートメントを使う石器人がいるとは…

47 名前:14 mailto:sage [2008/03/18(火) 01:15:40 ]
>>40
Nothingと比較ができる型ってつまり
値型と参照型の話ですよね?
大丈夫と思います。

>>41
そうなんですか、知りませんでした。
ありがとうございます。
値型の変数を保存するために実際にメモリ上に領域が確保されることをなんと言うのでしょうか?

48 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 06:33:25 ]
オブジェクト型の変数にオブジェクトのインスタンスが格納されると思っているなら間違いだよ

49 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 19:06:10 ]
>>46
お前はVB6以前のスレで何を馬鹿なこと言ってるんだ

50 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:14:26 ]
>>49
>>46 は、FileSystemObject ぐらい使えとでも言い鯛のでは?



51 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 20:58:40 ]
FileSystemObjectでUNICODEを保存するソース


52 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 22:59:41 ]
VBSで質問があります。よろしくお願いします。(ペコ

IF文の部分でobjDic11とobjDic12のItemを書き換えました。
IF文の部分では書き換わっているのに、ループを抜けた後に
再度objDic11を参照すると書き換え前の状態なのです。

どこが悪いのでしょうか?何故こうなるのでしょうか?
お教え下さい。

以下にコードを4分割して貼ります。



53 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 23:01:02 ]
Sub RankMark
'On Error Resume Next
Const UpTo_Soutou = 2500
Const UpTo_Gensui = 2000
Const UpTo_Taisyou = 1750
Const UpTo_tyuujyou = 1500
Const UpTo_Syousyou = 1250
Const UpTo_Jyunsyou = 1000
Const UpTo_Taisa = 950
Const UpTo_tyuusa = 800
Const UpTo_Syousa = 650
Const UpTo_Taii = 500
Const UpTo_Tyuui = 400
Const UpTo_Syoui = 300
Const UpTo_Soutyou = 200
Const UpTo_Gunsou = 150
Const UpTo_Gotyou = 100

'まずRANKとMARKのobjDicStarsを作る

Set objDicStars = CreateObject("Scripting.Dictionary")
Set objFS3 = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile3 = objFS3.GetFile("星.txt")
Set objTS3 = objFS3.OpenTextFile("星.txt")


54 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 23:01:40 ]
必要最小限のソース貼れよ・・・

55 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 23:01:53 ]
Do Until objTS3.AtEndOfStream
strLine3 = objTS3.ReadLine
ArrayStars = Split(strLine3)
strRank = ArrayStars(0)
strMark = ArrayStars(1)
objDicStars.Add strRank,strMark
Loop
objTS3.Close

'名前のリストを取得してから辞書を操作する

ArrayRanksList = objDicStars.Keys
ArrayStarsList = objDicStars.Items
ArrayKeysList = objDic.Keys
ArrayItemsList3 = objDic3.Items
ArrayItemsList11 = objDic11.Items
ArrayItemsList12 = objDic12.Items

'MsgBox ArrayKeysList(0)
'MsgBox ArrayItemsList3(0)
'MsgBox ArrayItemsList11(0)
'MsgBox ArrayItemsList12(0)
'MsgBox ArrayRanksList(0)
'MsgBox ArrayStarsList(0)


56 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 23:02:51 ]
For i = 0 To objDic.Count - 1

If CSng(ArrayItemsList3(i)) >= UpTo_Soutou Then

strOldRank = ArrayItemsList11(i)
strOldMark = ArrayItemsList12(i)
objDic11.Item(strOldRank) = ArrayRanksList(0)
objDic12.Item(strOldMark) = ArrayStarsList(0)

MsgBox "昇進しました"
MsgBox ArrayRanksList(0)
MsgBox ArrayStarsList(0)
MsgBox objDic11.Item(ArrayItemsList11(i))
MsgBox objDic12.Item(ArrayItemsList12(i))

Else

MsgBox "あ"

End If

Next



57 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 23:03:50 ]
strRank = ""
strRank = objDic11.Items

For m = 0 To objDic.Count - 1
strTemp = strTemp & strRank(m) &vbcr
Next

MsgBox strTemp
MsgBox objDic11.Item("今日も雲弧")
MsgBox objDic12.Item("今日も雲弧")

End Sub


58 名前:今日も雲弧 ◆bKaGbR8Ka. mailto:(´・ω・`)ショボーン [2008/03/18(火) 23:05:10 ]
>>54

申し訳ありません。必要最小限の部分すらわからないのです…。



59 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:57:26 ]
>58
ものには限度があるだろうよ。

あのコードを見て、本質ではないと思われる行が一行も思い当たらない程度のレベルなら、
何をどこから説明して良いのやら見当も付かないよ。

60 名前:デフォルトの名無しさん [2008/03/20(木) 01:34:51 ]
すいません。質問です。
Windows xpのマシンにVB6はインストールできますか?



61 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 01:44:20 ]
Linuxマシンならインスコできます。

62 名前:14 mailto:sage [2008/03/20(木) 03:42:03 ]
>>48
いえいえ、
オブジェクト型の変数ってオブジェクトのインスタンスへの参照ですよ。
その話題くどいです。

>>60
できます。


で、本題は>>47の後半なんですけど
返事ないところを見るとオブジェクト型のインスタンス化とは違って
組み込み型には明確な名称ないのかな。



63 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 10:26:34 ]
>>62
質問の仕方からいって明らかに分かってないだろw
なにがくどいだよ。
っていうか君がいう「本題」からして全然わかってないじゃん。
変数そのものが占有するメモリに関して組み込み型とオブジェクト型の区別
なんてあるかよ。

「本題」について言えば、「VBプログラマの視点での呼称」なのか「VBコンパイラ作者の視点での呼称」
なのかをまずはっきりする必要があるだろう。

「インスタンス化」とはVBプログラマ視点の言い方のような気がするから、
これに対応する言い方ということなら「定義」じゃないの?

コンパイラ製作者の視点で「変数定義」の実装法の呼び方についていってるのなら
それはVB作ったMSの人にしかわからんのじゃないの。
それに変数のスコープによっても実装法は恐らく異なると思うけど

64 名前:60 [2008/03/20(木) 11:26:51 ]
>>62
ありがとうございます。
早速インストールしてみます。


65 名前:14 mailto:sage [2008/03/20(木) 14:45:46 ]
>>63
変数そのものが占有するメモリに関して組み込み型とオブジェクト型の区別
については
どうなんでしょうかね。
少なくともオブジェクト型、というか参照型については
宣言される時ではなく、初回利用時にインスタンス化するみたいですね。
で、組み込み型はどうなのか、というのが今回の話題ですね。
一応オチとしては「初回利用時かもしれない」というオチで落ち着きました。

参照型:インスタンス化
だとして
組み込み型:定義?
ですか?
なんか変な気が。。

66 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 15:03:12 ]
>>65
やっぱり全然分かってないね。
New付きで定義された変数について、初回利用時まで生成が遅延されるのは
インスタンスであって変数そのものではないだろう普通に考えて。

ちなみに「インスタンス化」という言葉が動詞だとして、それがとる目的語は
「クラス」または「型」であって「変数」じゃないと思うんだけど。
言い換えれば別に変数が「インスタンス化」されるわけじゃないぞ。

67 名前:14 mailto:sage [2008/03/20(木) 16:41:10 ]
>>66
New付きで定義された変数について、初回利用時まで生成が遅延されるのは
インスタンスであって変数そのものではないですよ。
当たり前です。
私がわかってない方が都合いいですか?
ならそれでいいです。
わかってません、すみません。
これについてはここで終了してください。

以下を知りたいです。
参照型に対して「インスタンス化」ならば、
組み込み型に対しては何でしょうか?
「定義」という答えを頂きましたが的を得ている気がしません。
他の人の意見聞かせてもらえませんか?
やはり定義で正解でしょうか?

68 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 17:03:48 ]
あーこいつどうしようもなく頭悪いなあ。。。
だから「参照型のインスタンス化に対応する組み込み型の概念は?」なんてのは
そもそも愚問なんだよ。そんなものはないんだから。

参照先が作られることを「インスタンス化」というのだから、
そもそも「参照先」という概念がないVBの組み込み型に対応する概念なんてあるわけないだろう。

そして変数そのもの作られるタイミングは組み込み型だろうが参照型だろうが
変わらないはずだ、と言っているのにこれも全然理解しようとしないなこの馬鹿。

69 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 17:06:30 ]
というかVB6以前って「参照型」っていう呼び方したっけ?
そういう呼称が導入されたのはドトネト以降で、VBでの呼び方は「オブジェクト型」
だったような気がしたけど。

まあこれに関しては説明の便宜かもしれないし、「参照型」と言った方が
呼び方として適切だと思うからいいんだけど。

70 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:01:39 ]
> 参照型に対して「インスタンス化」ならば、
いみがわかりません><



71 名前:14 [2008/03/20(木) 19:14:36 ]
>>69
しないと思います。
オブジェクト型で正解。
ご想像の通り説明の便宜です。

>>68
確かにこれは答えないかもしれませんね。
ここまで追求する問題でもないので質問取り下げます。
ありがとうございました。

>>70
言葉足らずですみません。


次の疑問がわきました。
先ほどVBには参照先という概念はないとお聞きしました。
本当ですか?
自分の意見は「ある」です。
Dim cls1 As Class1
Dim cls2 As Class1

Set cls1 = New Class1
cls1.s = "test"
Set cls2 = cls1
Debug.Print cls2.s

cls2の参照先はcls1のインスタンスです。
だから「ある」に一票。

72 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:50:56 ]
> 先ほどVBには参照先という概念はないとお聞きしました。
日本語ダメな人?

73 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:47:37 ]
>>71
クラスはドトネトでいう参照型/値型でいったら前者だよ。
だからNothingと比較できるる型の意味を君は理解してるか、と最初から言ってるでしょ。

74 名前:14 [2008/03/20(木) 21:42:53 ]
>>73
>クラスはドトネトでいう参照型/値型でいったら前者だよ
だーかーら
そんな当たり前のこと堂々といちいち書かない。
何が言いたいんですか?

それはさておき、
>>71についてどなたかご意見いただけるとありがたいです。
よろしくお願いします。

75 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 21:45:13 ]
VBに参照先の概念が無いなんて誰も言ってないだろ
完全に読み間違えてるよ

76 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:08:29 ]
>>74
75が指摘してくれてるけど>>68で「ない」と言っているのは
組み込み型の参照先だよ。

っていうか、君はその「当たり前」のことを全然理解してないのに
その自覚がないから馬鹿だっていうんだよ。

77 名前:14 mailto:sage [2008/03/20(木) 23:10:50 ]
>>75
なるほど。

参照先が作られることを「インスタンス化」というのだから、 そもそも
「参照先」という概念がないVBの組み込み型
に対応する概念なんてあるわけないだろう。

こう区切ればよかったんですね。
ありがとうございましたー。


78 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 23:35:55 ]
vsFlexGridのセルにに画像を表示させるにはどうしたらいいんですか?

79 名前:78 mailto:sage [2008/03/21(金) 00:02:10 ]
自己解決しました

80 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 11:48:26 ]
インスタンス化とは、オブジェクトの実体(インスタンス)を生成するプロセスのことを指す言葉。
これに対応する組み込み型の言葉は無い。しいて言うなら、アロケート(メモリ割付)か。
インスタンス化では、普通、メモリのアロケートとオブジェクトの初期化が行われる。
「オブジェクトの初期化」の中身は、言語によって異なる。

組み込み型の場合によく使われる「定義」という言葉は、「宣言」と対になる言葉。
英語では、definitionとdeclaration。普通は、前者はメモリのアロケートを伴う場合を指し、
後者は文字通り宣言のみを行う場合に使う。C/C++では、両者は明確に区別して語られる。



81 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 11:51:53 ]
蛇足:的は射るもの

82 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 11:55:16 ]
さて、ここでVBのヘルプを見てみると、

>Dim ステートメント
>変数を宣言し、メモリ領域を割り当てます。

と記述されている。素直に理解するなら、Dimステートメントが実行されたときにメモリが
アロケートされる、すなわち、Dimステートメントとは、変数「定義」だということになる。

83 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:00:52 ]
>15
がFAなんじゃねーの?
それが問題になるようなコードはVBで書くべきじゃないし、
書かなきゃならないならVBを使うのは間違いってことだよ。

84 名前:14 mailto:sage [2008/03/23(日) 10:48:08 ]
>>80
求めていた答えをいただけてすごくすっきりしました。
ありがとうございました。

85 名前:22 [2008/03/23(日) 23:47:03 ]
>>42
亀レス&言葉足らずですみません。最終的にはVista環境でもシフトJISで書き込みたいのですが
元来内部コードをUnicodeでもっているはずのVBで>>22のように書いたら
シフトJISになるわけが知りたかったので・・・。

>>45
有難うございます、面目ないです。参考になりました。
色々調べた結果ADODB.StreamやFileSystemObjectも使えそうなので
試行錯誤してみます。

86 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 23:57:31 ]
どうしても何も、VBが変換書けてるに決まってるでそ。
理由はUNICODEそのままで書いたら文句いう連中が
出るに決まってるから

87 名前:デフォルトの名無しさん [2008/03/24(月) 23:54:10 ]
VB6.0を使っています。OSはWindowsXPSP2です。
他人のソースをコピーしてプログラムを作りました。
生成したEXEをエクスプローラで並べて表示にして見て見ると、ファイル名の下に薄い灰色で
作者名らしきものが表示されてしまいます。
プロジェクトのプロパティの「実行可能ファイルの作成」タブで
バージョン情報の中にある、コメント、会社名などの情報は全て消したのですが、
EXEを生成し、生成したEXEをエクスプローラで並べて表示にして見た時に、
ファイル名の下に薄い灰色で作者名らしきものが表示されてしまいます。
こういった付加情報を表示しなくするにはどうしたらよいのでしょうか?

88 名前:デフォルトの名無しさん [2008/03/25(火) 14:17:30 ]
>>87 「他人のソースをコピーしてプログラムを作りました」
そもそも、これが間違いの始まり

89 名前:デフォルトの名無しさん [2008/03/25(火) 15:20:43 ]
>87
なぜかF5では更新されないね。
別のフォルダを選択して元に戻ったら直らないかい?


90 名前:87 [2008/03/25(火) 16:15:21 ]
>>89
ご指示通り別のフォルダにexeを一度作成すると消えました。
ありがとうございました。



91 名前:デフォルトの名無しさん [2008/03/26(水) 16:22:26 ]
Option Explicit

Sub zzz()
Dim hoge(3) As Variant
Dim hogehoge As Byte
Dim z As Byte

For z = 1 To 3
For hogehoge = 1 To 3
hoge(z) = Range("A" & hogehoge).Value
Next hogehoge
Next z
End Sub

上のようなコードで、zとhogehogeを同時に
インクリメントすることは可能でしょうか?

92 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 16:52:47 ]
「Next hogehoge」の前に
「z=z+1」を入れれば可能だけど
それは構成として間違ってるから

やりたいことを日本語で整理して、
それから考えた方がいいと思うよ。

93 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 17:35:03 ]
おk

94 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:15:36 ]
zいらんやん

95 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:21:41 ]
VB6.0でZipファイルを圧縮する処理をVBSで作成しBatで起動するように
したのですが、なぜか1回だけZipと変な拡張子ないデータが作られ
12ファイルの内9ファイルしか圧縮されていませんでした。(原因不明)
そこでZipファイルの中身の件数のみを数えて数があっていれば圧縮を
正常に終了したとみなしたいのですが、可能でしょうか?
全て解凍すると時間がかかりますのでお願いいたします。
ちなみにvbsで起動したのはdllを使わないで圧縮ができたからです。
よろしくお願いいたします

96 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:29:24 ]
日本語で話してくれないか?

97 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:28:04 ]
そのうまくいかない原因を究明するほうがいいと思うぞ。
急がば回れって言うし。

あと、VBSでできるんだったら、VB6でも全く同じようにできる。
せいぜいWScriptオブジェクトがないくらい。

98 名前:95 mailto:sage [2008/03/27(木) 01:30:19 ]
>>96
すいません
>>97
VBSはネットでフリーであったのでそれを使用しました。ゆえにVBへの記述方法
がまったくわかりません。
(検索はしましたがVB VBSやVB6.0 VBSなど)VBSとVBがかぶっているからか変換の方法が見当たりませんでした。
原因が現在わからないので困っています。今回初めて不具合が出たもので。
>>96
ファイルを圧縮するVBSをbatで動かします。そのbatはVBで作成しています。
作成したbatの起動も同じVBでしています。
batでは以下の記述をしています
CD VBSのパス
CScript.exe MakeZIP.VBS ZIPファイルのパスと名前 圧縮するtxtのパスと名前1 圧縮するtxtのパスと名前2 …
exit
ですこれをshellで起動しています。
しかし今回作成されたzipファイルには後ろに記述していた11ファイルの内9ファイルしか
圧縮されておらず。残りの2ファイルはzipファイル内に存在しませんでした。(zipファイルと同じフォルダに拡張子のないファイルが1つ作成されてました)
ファイル名が長いわけでも、特殊文字が使われているわけでもありません(パスも同じです)
そこで、圧縮が正常にできているかを判断したいと考えました
その方法として圧縮したファイル件数を調べることができないかを考えました。
よろしくお願いいたします

99 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 01:35:38 ]
>>98
VBSはVBのサブセットなんだから、VBS→VBは
変換なんて考えなくても、そのまま一字一句変えずに使えると思ってもいいくらい。
まずは試してみたか?

100 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 01:38:53 ]
コマンドラインの文字長には制限があったような気がするけど?



101 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 12:37:36 ]
1ファイルずつ追加していけば

102 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 19:21:07 ]
VBAのサンプルでも使えばよかろう

103 名前:95 mailto:sage [2008/03/27(木) 22:49:35 ]
レスありがとうございます。
>>99
はじめにfunctionを入れてみましたがいまいちどう起動したら
よいのかわからずに挫折しました。(標準モジュールに追加?)
>>100
まったく同じデータ(パス)で行っています。


104 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 23:15:08 ]
>>103
コマンドラインの文字長制限はそう言う意味じゃないよ

>CScript.exe MakeZIP.VBS ZIPファイルのパスと名前 圧縮するtxtのパスと名前1 圧縮するtxtのパスと名前2 …

とあるけど、例えば

CScript.exe MakeZIP.VBS c:\dirnameA\dirnameB\dirnameC\dirnameD\dirnameE\dirnameF\dirnameG\ZIPFile.zip c:\dirnameA\dirnameB\dirnameC\dirnameD\dirnameE\1.txt c:\dirnameA\dirnameB\dirnameC\dirnameD\dirnameE\2.txt (12.txtまで同じ事を繰り返す)

↑のような長ったらしいパスで使ってるなら途中で途切れて当たり前

CScript.exe MakeZIP.VBS c:\ZIPFile.zip c:\1.txt c:\2.txt (12.txtまで同じ事を繰り返す)

にしたら行けるかもしれない。それでも長いから途切れるもしれない
「CScript.exe」の後ろに続く部分が長すぎると途中で切れるってこと

よく送るメニューに入れて使うソフトがあるけどあれもたくさんのファイル(例えばWindowsフォルダに存在する全てのファイルとフォルダ)を選んで送るってやると
「指定したデバイス、パス、またはファイルにアクセスできません。適切なアクセス許可がない可能性があります。」
というエラーが出る。仕様だからこれは回避できない

105 名前:デフォルトの名無しさん [2008/03/28(金) 21:10:22 ]
16進数のカラーコードを赤・緑・青の3要素に分解するにはどうすればいいの?
例えばボタンの表面のデフォルトカラーって「&H8000000F&」だけど、これをRGB
に分ける方法ってある?
要はRGB関数の逆をやりたいんだけど。。。


106 名前:95 mailto:sage [2008/03/28(金) 23:56:20 ]
>>104
ありがとうございます
今回その症状がまた出たので報告します
今回は9→11→11→11と12個全部をどうしても圧縮してくれませんでした。
104さんが言うように文字が切れているというのでしたら
最後に記述したパス(txt)が含まれないはずです。しかし
含まれていないデータは真ん中に記述されていました。
また作成したバッチを手起動すると12個全てが圧縮されました。
このことからshell関数がおかしな動作をしていると思うのですが
書き方は
ret1=shell("CScript.exe MakeZIP.VBS c:\ZIPFile.zip c:\1.txt… ",1)
ShellEnd (ret1)
で標準モジュールで
ttp://hanatyan.sakura.ne.jp/vbhlp/tap_PrgEnd.htm
に書いてある文章を
private→public
に変更して書いています。
変更の仕方がまずかったのでしょうか?
VB6.0 SP3 ですよろしくお願いいたします

107 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:57:10 ]
小学校の算数だろそんなの。。

VBの場合、どうせ共用体もポインタも使えないんだから演算で求める方法を考えてみ。

まず十進数で考えてみてみ。
君は6ケタの数字の上位2ケタを取り出す方法がわからんの?
10,000で割った商を求めるだけだろ。
Hexだって同じことじゃん。

108 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 00:00:00 ]
>>105
っていうかこれRGBの値じゃないだろう>「&H8000000F&」


109 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 01:14:20 ]
>>105
RGBの分解方法はヘルプに載ってる。
&H8000000F&はシステムカラーの番号であって、RGB値ではない。

110 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 03:08:18 ]
>>106
エラーが出てんじゃないの?
WScript.exeで実行してみ
ていうかなんでCScript.exeなの?




111 名前:95 mailto:sage [2008/03/29(土) 07:43:58 ]
>>109
MakeZIP.VBS
の初めにそのような記述があったのでそのまま使用しています。
ありがとうございます。変更してやってみます

112 名前:デフォルトの名無しさん [2008/03/29(土) 09:50:53 ]
>>109
レスありがとうございます。
確かにRGB値だったら16進6桁だと思っていたのでおかしいなとは思っていたのです。
ただ薄い水色(&H00FFFFC0&)だとRを192(=C0)、GとBを255(=FF)としてRGB関数を
呼び出すとちゃんと薄い水色になるので対応しているように思えたのです。
とりあえずWEBでシステムカラー値とRGB値の対応表を探してみますね。。。(-_-)

113 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 10:10:48 ]
システムカラーは固定色じゃないが

114 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 13:54:20 ]
つ ttp://msdn.microsoft.com/library/ja/jpsysinf/html/_win32_getsyscolor.asp

115 名前:112 [2008/03/29(土) 21:36:43 ]
>>114
これです!まさにこれ!
ありがとうございます。マジで助かりました!。・゚・(ノД`)・゚・。

116 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 11:06:40 ]
>>105

Red = RGB値 And &h0000FF
Green = ( RGB値 And &h00FF00 ) \ 256
Blue = ( RGB値 And &hFF0000 ) \ 65536

だった気がする

117 名前:デフォルトの名無しさん [2008/04/02(水) 21:21:58 ]
VB6でのコードの書き方で質問があります。

If hoge = 1 then
  i = i+1
End if

というふうに複数行で書くのと、

If hoge = 1 then:i=i+1

というふうに1行で書くのとでは多少でも処理の速度は変わりますか?

118 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:28:33 ]
そりゃあインタプリタの時代だったらかわったけどさ
EXEで同じコードが吐かれれば速度は同じさ

119 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:31:09 ]
>>117
最適化で同じ処理になると思います。
間違ってたら他の人指摘お願いします。

120 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 21:53:38 ]
>>118,119

なるほどコンパイルすると結果は同じなのですか、
ありがとうございました。



121 名前:デフォルトの名無しさん [2008/04/03(木) 20:42:26 ]
WinXP,Vistaではウィンドウのタイトルに
「abcdefg」のように表示されている物が
なぜか2000環境で実行すると
「ABCDE~~」のように化けてしまいます。
なぜでしょうか?
実行ファイルの横にランタイムも配置しているので
環境でおかしくなるとは思ってなかったんですが。

122 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 20:57:09 ]
>実行ファイルの横にランタイムも配置している

Sidebyside COMのこと?

123 名前:121 mailto:sage [2008/04/03(木) 21:23:24 ]
>>122
表現が悪かったです。
実行ファイルの配置してある階層に
msvbvm60.dllや、VB6JP.DLLなど、
VB6ランタイムを一通り置いています。
こうすることでランタイムをシステムから読み込ませないようにするためです。

124 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:23:37 ]
>>121
VBランタイムの言語DLL(VB6JP.dllだったかな)は
「読み込まれた」MSVBVM60.dllと同じフォルダにないといけない。
システムフォルダのが読まれてるんじゃない?

125 名前:デフォルトの名無しさん [2008/04/03(木) 21:23:44 ]
ブラウザのリンクをドラッグして処理を行いたいんですけど、
OLEDragDropイベントでDataの中を見てみると
「データの形式が一致しません」エラーが発生します。
リンク先の情報をVBで取得するにはどうすればいいのでしょうか?

126 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:34:21 ]
>>125
もしかしてfiles見てる?

リンクはテキストだぞ。GetFormatとGetDataしてみ。

127 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 21:42:16 ]
>>123
っていうかどう見ても馬鹿で不勉強なんだからベタにディストリビューションウィザード使えよ。

エンジンの仕組みを理解してもいない、するつもりもない奴が「俺様チューニング」
ぶっこいて動きませんって馬鹿も休み休み言えよ。

128 名前:121 mailto:sage [2008/04/03(木) 21:54:57 ]
>>127
「ディストリビューションウィザード」って実行環境に作ったソフトを
インストールできる環境で利用可能なものですよね?
ネットワークフォルダから実行するため今回は利用していません。
もしかして勘違いしていますか?

129 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:08:01 ]
>>128
煽り合いもいいが、先にやることあるだろw

130 名前:121 mailto:sage [2008/04/03(木) 22:14:37 ]
>>129
いや、もし他に方法あるんなら純粋に知りたかったので伺いました。
悪意なんてないです。

>>124
そういう意味ではmsvbvm60.dllも実行ファイルと同じ階層に配置してるので
大丈夫、、、と思ってるのですが。
でも文字がおかしくなるのでシステムから読まれているとも考えられますね。
だとしたらなんでなんでしょうか。




131 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:18:25 ]
>>128
勘違いしてるのはお前さんだろアホか


132 名前:121 mailto:sage [2008/04/03(木) 22:20:15 ]
>>131
そうなんですか?
勘違いを指摘してもらえるとスキルあがりますので
それはそれでありがたいのですけど。。

133 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:33:52 ]
>>130
ちなみに両方とも俺(124=129)だがw

Windowsは基本的に同じDLLは2度と読まない。(無駄だから)
なので、先に読まれてるDLLがあればそれを再利用する。
(たとえアプリと同じフォルダに同じDLLがあってもだ)

さらに、Win2000は確か読み込むDLLの優先度をアプリと同じフォルダか
システムフォルダかを選択出来る設定があったはず。
それらをお前さんがそれらを把握してないならそれが理由な可能性が高い。
把握してるなら先にMSVBVM60.dllを使うアプリが起動してるからだろう。

あとね、煽り合いする暇があるなら俺の助言をちゃんと考えろよな。
直接的な答えが出せないからあーいう受け答えになってんだろうけども、
煽りもある意味助言だぜ?

134 名前:121 mailto:sage [2008/04/03(木) 23:24:03 ]
>>133
すみません、
実は単純に>>128の時点で>>124を見落としてたんですよね。。


なるほど。
>Windowsは基本的に同じDLLは2度と読まない。
これは知ってました。
>なので、先に読まれてるDLLがあればそれを再利用する。
これも知ってました、が、
今回の件と脳内でリンクしていませんでした。
ということで当然>>121の動作は予想できるあり得る動作ですね。
対処方法はOSの設定変更、もしくはインストーラー等で
システムにDLLを組み込むことですね。
納得しました、ありがとうございます。

135 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:13:50 ]
>>133
その性質はKnownDllsに限られるはず。

136 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:47:35 ]
VBで作られたもので有名なのって
なんかありますか(^^)

137 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:14:19 ]
>>136
pc11.2ch.net/test/read.cgi/tech/1134464762/

138 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 19:08:57 ]
板違いでしたらご容赦を。
homepage1.nifty.com/taka_homepage/download.htm にある#1 -End Of Destiny-
をしていたところ、今日になって「実行時エラー'5':プロシージャの呼び出し、または引数が不正です。」
と出て起動できなくなってしまいました。

検索をかけてみるとsupport.microsoft.com/kb/811469/ja がでてきたので
互換モードにしてみたのですが解決せず。新しく落としなおしても、保存したフォルダの
置き場所を変えても効果なしでした。

VB製ソフトの現象のようなのでここで質問させていただきました。よろしくです。

139 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 01:30:19 ]
>>137
ありがとう。
最近からVB始めたんで色々コードを見てみたいんです。

140 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 08:11:15 ]
>>138
最小化してプログラムを終了すると次回起動したときに
実行時エラーになるね。

たぶん単純なプログラムミスだと思う。
作者にメールしてみるといいよ。



141 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 19:38:15 ]
>>140
レスどうもです。
自分でできる解決策というのは何かないのでしょうか?
作者は恐らく新作とかで忙しいでしょうし、試しに2作目もやってみたところ同じエラーが出たので
修正も煩雑になりそうですし。

最小化して終了した記憶はないのですが、ウィザードリィ風ゲームなので強制終了は
何度もさせました。

142 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 22:49:07 ]
>>141
レジストリから画面サイズや座標なんかの読み込みで落ちてるとか?
消すか標準値に書き直せばいけそうな気がする

143 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 07:58:48 ]
VB参考書4冊セット
auction.item.rakuten.co.jp/10232889/a/10000193
これだけそろってれば完璧かな?

144 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 08:06:01 ]
>142
おそらくそんな感じ

>141
自分で解決したいのだったら Regmon で、どのレジストリを使ってるか
監視してみるといい
cowscorpion.com/Registry/Regmon.html


145 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 09:54:34 ]
>>142
適当にレジストリを見てると、LeftとTopという項目(画面位置?)が-48000などと
変な数字になってたので一度消してみたところ起動することができました。
どうもありがとうございます。

>>144
これでログとると不要なレジストリとか消せそうですね。
今度何かあった時に使ってみます。ありがとうございます。

146 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 21:44:43 ]
>>95さんと同じような内容なんですが(検索してたらここにきました)、
自分はMakeZIPをVB6に組み込んで使用しています。
しかし、どうしてもZIPファイルの中身を確認する方法が見当たりません。
確認したいことは圧縮されているファイル数です。
ほかにもサイズ、名前などがわかればベストなのですが
どなたか方法を知ってる方はここにはおられませんか?

147 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 21:57:21 ]
VB6なら、メジャーなzipを扱えるdll使えよ

148 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:02:48 ]
シェルで、zipを圧縮フォルダとして使えるようになっている環境なら、それも使える。

149 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:27:11 ]
正直InfoZipあたりのzip.exe/unzip.exeでも付属させて
コマンドライン叩いたほがいいんじゃないかっておもう。

150 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 22:50:17 ]
exeキックだと、コールバック使えないじゃん・・・



151 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 23:27:16 ]
パイプ経由でコールバックもらえばええやん。

152 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 11:25:15 ]
それ、コールバックって言わないし

153 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:30:34 ]
>>146
ExtractZip.vbs 読め。

154 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 14:17:21 ]
ListZip.vbs 読め。
と言っても読めるくらいなら来ないよな?

155 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 16:00:41 ]
パイプ経由でライトバックもらえばええやん。


156 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 16:04:30 ]
俺用語は使わないでね

157 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 16:06:49 ]
筒経由で書き戻しもらえばええやん。

158 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 16:34:36 ]
マジレスすると、unzip32.dll使え。
VBのコードも付いてる。
商用利用可。

159 名前:146 mailto:sage [2008/04/09(水) 22:56:57 ]
皆さんありがとうございます。
ListZip.vbs これでできたのですね。ありがとうございます。
しかし、これをVB6で使用できるようにできません(涙)
どこかに標準モジュールないのでしょうか?

160 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 23:37:46 ]
アホかおまえは。
普通にDLL使え。



161 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 00:19:24 ]
>>117
ついでですがThenの後ろのコロンは要らないです。

>>159
VBSから標準モジュールやクラスモジュールへの移植は
そう難しくないと思います。

162 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 01:07:07 ]
なにこいつ

163 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:34:25 ]
あほちゃいますか?

164 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:57:45 ]
pc11.2ch.net/test/read.cgi/tech/1203650042/523

165 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 11:58:36 ]
だーかーらー、DLL使えって!!!

166 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 12:29:51 ]
足し算できないやつに積分教えるようなものだ
やめとけ

167 名前:デフォルトの名無しさん [2008/04/10(木) 12:57:35 ]
VB6でグローバル変数を使わず、すべての関数をカプセル化することは可能でしょうか?

168 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 13:05:01 ]
できるよ。Formがグローバルなのに目をつぶればね。

169 名前:デフォルトの名無しさん [2008/04/10(木) 15:58:13 ]
複数ののCheckboxを使って、optionbuttonみたいな交互動作てできませんか?


170 名前:デフォルトの名無しさん [2008/04/10(木) 18:39:27 ]
アプリを終了してもアプリ自体がタスクに残る不具合が発生しています。
再発条件は不明ですが、不具合発生した環境があれば原因追求をどのようにするのが効率的でしょうか?
御教授のほどよろしくお願いします。



171 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 19:05:19 ]
テキストボックスに16進数の文字がある場合
それを変数に数値として代入するにはどうすればいいですか?
valやConvert関数では出来ませんでした

例 テキストボックスの文字 = 0x1234 (十進数:4660) -> 数値に変換して変数に代入 -> 4660 (数値変数)

172 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 19:10:00 ]
>>170
自分でFormの変数宣言しないで、VBが用意してるForm1とかそのまま使ってるんじゃね?
あれってプロパティにアクセスしたりすると自動的にロードされるから、
たぶん終了直前に何らかのプロパティにアクセスして再ロードされたフォームがある
OnLoadでブレイクでも入れておけば分かるんじゃないかね
もう一つ考えられるのがオブジェクト同士の循環参照だね

173 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 19:12:20 ]
>>171
頭に&HつけてValしろ

174 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 20:36:53 ]
なにこれ?
新人みたいなアホな問いばかりじゃないか。


>>169
余裕で出来るけど?
それが何か?

>>170
終了ボタンを押して終了した気になってる系かね。
Unloadイベント中に何か別のFormなり何なり生成してないかい?

>>171
人に聞く前にMSDNくらい一人で見ようぜ。

175 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 20:49:33 ]
>>173-174
それが、
0x12345678 のような 4桁以上の16進数だと型オーバーで変換が出来ません
MSDNのヘルプ見てもDouble型までが限界のようです
Long型のような8桁くらいの文字(16進)を数値に変換するのにはどうすればいいのかヘルプ見ながら悩んでます

176 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 20:59:50 ]
>>175
どうせそんなレベルならVB6みたいな終わってる開発環境使う意味ないだろw
まあLongの型指定文字を調べてみることだね。

177 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:00:11 ]
>>175
文字列右から4文字ずつ区切ってvalして、最後にシフトするのはどうですか?

178 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 21:18:11 ]
>>176-177
CLngという型指定で変換出来ました
どうもありがとう

179 名前:デフォルトの名無しさん [2008/04/11(金) 00:18:50 ]
>>172
タスクマネージャーでメモリ使用量を確認していると、
各イベント(フォーム起動→終了→以下繰り返し等)を起動するたびに使用メモリが増加していきます。
循環参照の現象でしょうか?

180 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 00:51:38 ]
>>179
循環参照って何のことだか理解してる?

>>172 に書いてある
>OnLoadでブレイクでも入れておけば分かるんじゃないかね

を実行してなさそうな文章なんだけどやったの?



181 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 03:06:23 ]
プログラム板は当たりがきついな

182 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 03:09:23 ]
>>179

>>172
> タスクマネージャーでメモリ使用量を確認していると、
> 各イベント(フォーム起動→終了→以下繰り返し等)を起動するたびに使用メモリが増加していきます。

解放してないから

183 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 03:09:56 ]
>>181
おしえてぐーなら優しいけどな
あと2ちゃんでも女子中学生にはやさしいよ

184 名前:デフォルトの名無しさん [2008/04/11(金) 06:46:11 ]
つ「Unload Me」

185 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 10:46:53 ]
Using src As New FileStream(srcName, FileMode.Open, FileAccess.Read)
While True
readSize = src.Read(buf, 0, BUFSIZE) ' 読み込み
If readSize = 0 Then
MsgBox("HIT=" & hval)
Exit While ' コピー完了
End If
End While
End Using

このコードでファイル操作の処理をすると
読み込み開始から終了までのあいだフォーム全体が操作不能になります
読み込み処理中でもボタン等の操作を可能にするにはどうすればいいでしょうか?
中断ボタンを作ってあるのですが操作不能になって機能しません

186 名前:デフォルトの名無しさん mailto:age [2008/04/11(金) 14:44:14 ]

Visual Basic Version 5.0 Control Creation Edition
pc11.2ch.net/test/read.cgi/tech/1204552981/18

ふと思ったんだが、↑これと↓これ組み合わせて.EXEファイルを作ることできるのだろうか?

Microsoft Visual C++ Toolkit 2003
pc11.2ch.net/test/read.cgi/tech/1109618655/


187 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 17:54:26 ]
上でDLL (OCX)作って、下でそれを使うEXE作るってことは可能だろうね。
そもそもなぜ今更VC++ 2003?
事情がなければ2005でも2008でも使えばいいだろうに。

188 名前:デフォルトの名無しさん [2008/04/11(金) 19:00:08 ]
>>185
つ「DoEvents」

189 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 20:13:12 ]
ComboBoxでリストから項目が選択してドロップダウン部分が消えた瞬間に任意のコードを実行したいのですが
DropDownClosedやSelectionChangeCommitted
その他のそれらしいイベントを設定しても
選択→ドロップダウンが消える→再度選択
としないとそのコードが実行されません

どのイベントを設定すればいいでしょうか?

190 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 10:23:58 ]
Click



191 名前:デフォルトの名無しさん [2008/04/13(日) 10:45:44 ]
SAVEデータのようにバイナリデータとShift_JISの文字列が混在するファイルの
文字列部分を編集して書き戻したいのですが

Dim FreeNum as Integer
Dim Bin1() as Byte , Bin2() as Byte
Dim strRes as String

FreeNum=FreeFile
Open hoge.bin For Binary As #FreeNum
Get #FreeNum, , Bin1
Close #FreeNum
strRes = StrConv(Bin1,vbUnicode)

'本来ここでstrResを編集する

Bin2=StrConv(strRes,vbFromUnicode)

とした時にBin2はBin1を再現せず、バイナリデータの部分が変わってしまいます。
通常このような操作を行う場合はどのようにすれば良いのでしょうか?
お力を貸して下さい。

192 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:48:40 ]
>>191
それはShiftJISにしたときのバイト数えて詰め物したりでかなり面倒くさい。
結局Cランタイムのfopen系の関数をラップしたActiveXを作ってそれで読み書きさせた。

193 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:14:58 ]
リストボックスで選択した場所から下の項目を削除したいのですが
下のプログラムだとindexエラーが出てうまくいきません

For i = ListBox1.SelectedIndex  To ListBox1.Items.Count - 1
ListBox1.Items.RemoveAt(i)
Next

どう対処すればいいでしょうか?

194 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:17:44 ]
後ろから削っていくとか。

195 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:26:36 ]
デバッグして確認したときそれぞれの値が
ListBox1.SelectedIndex=2
ListBox1.Items.Count=8  (項目数=3)
となっていて

その状態で>>193のFOR文を実行すると i の値が2,3,4,5,6,7 とステップして
ListBox1.Items.RemoveAt(i) で最後の項目まで問題なく削除出来ると思うのですが
どういう訳かエラーになります

196 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:28:34 ]
>>195 修正
× (項目数=3)
○ (項目数=7)

197 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:33:24 ]
どういう訳かも何も、たとえばRemoveAt(10)を実行した時点で
いままでItems(11)だった奴がItems(10)に繰り上がるわけだが

198 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:00:32 ]
>>197
当たり前のことすら理解出来てない人に
答えを教えてくれてありがとうございます
無事ちゃんと動作するコードに出来ました

199 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 22:11:10 ]
1年半後に登場するWindows7にはVB6ランタイムはサポートされますか?

200 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 22:59:27 ]
知らんがな(´・ω・`)



201 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 17:37:40 ]
VB6でPublicの構造体・変数の宣言可能な数(容量?)ってどの位か解りませんか?

202 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 12:38:32 ]
VS2008のVBでラベルの背景を透明化するにはどうすればいいですか?
label1.BackColor = Color.Transparent
では出来なかったです

203 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:34:38 ]
>>202
スレタイ読めますか?

204 名前:デフォルトの名無しさん [2008/04/15(火) 23:42:02 ]
>>201
そんなのあるんですか?

205 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:14:31 ]
ループする処理の中にあるIF文をSelect文にしたら処理が倍以上かかるようになったんですが
これはどうしようもないことですか?

206 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:32:45 ]
>>205
条件文がわからんから、「そんなもn」としか答えようが無い。

207 名前:デフォルトの名無しさん [2008/04/17(木) 08:12:15 ]
>>205
Selectを使うな。
Excelとのやりとりは速度が遅くなる。
Withを使うか、まとめて配列に代入してから配列を扱え。

208 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 19:13:52 ]
>>204
よほどの事が無い限り、まず制限を超える事は無いと思いますが有りました。
(コンパイル時にメモリー不足と出る)


209 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:06:02 ]
>>208
そりゃ単にメモリ増設すりゃ回避できるんじゃないか?

210 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:26:21 ]
>>209
2GB以上アロケートできないとかないのかね?



211 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:35:50 ]
ループ処理中に何かボタンおされたらループから抜けるプログラムを作りたいのですが
そのボタンのsubではない 違うSub内で
コントロール上のどのボタンが押されたのかを検出する方法ってありますか?

212 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 22:55:24 ]
>>211
ループ処理の中でDoEventsと終了フラグのチェックを頻繁にやるしかない。
DoEventsを使うときは再入やら予定外の動作をはじくようにする必要がある。

213 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 12:23:30 ]
昔、だれかが作ったソフトのメンテしてたら
フォームに貼り付けたコントロールの数がオーバーしてこれ以上追加できない
という状況になったときに、泣いたことはあるなw

214 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:24:41 ]
メンテだと設計方針が間違っていようが、そのまま行かざるを得ないときもあるから辛いな

215 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 22:13:21 ]
FileCopyでファイルコピーするとshift-jisで書き出したファイルがUTF-8になってしまうのですが
対象方はありますか?

216 名前:デフォルトの名無しさん [2008/04/21(月) 21:51:25 ]
VBからExcelに値を貼り付けてプレビュー表示をする処理にて
処理中は見えないようにするためVisibleをFalseにするのですが、
EXEファイルから起動するとVisibleをFalseにした段階で最背面に表示されてしますいます。

Visual Basicから起動するとプレビュー画面が最前面に表示されるのですが何故でしょう?

使っているコンポーネントはQuickPack、Farpoint SpreadSheet、InputMan Proです。

今まで別な環境で作った際はこんな現象になったことはありません。
同じコンポーネントを使っている方で克服した方はおりますか?

ちなみにSetWindowPos等使わないで済ませたいです。

途中ダイアログを表示したりメッセージボックスを表示させたりするので
Visual Basicで起動しているときと同じ用途で実現させたいのです。

ちょっと分かりにくいかも知れませんが宜しくお願い致します。

217 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:11:38 ]
コピペ君って馬鹿だな、まで読んだ。

218 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 10:32:51 ]
vb6の評価版使ってて、exeにできないんですが、
vb6.0安く売ってるところないですか?

219 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 12:38:09 ]
>>218
なんで今時VB6?


220 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 12:56:29 ]
>>219
だよねぇ。

Visual Basic 2008 Express がタダで手に入るこのご時世に。



221 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:26:39 ]
ツールバーのアイコンを大きくしてメニュー名をアイコンの下に表示させたいのですが、
どうすればいいのでしょうか?

222 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:40:48 ]
>>220
それってVB6のOCXの開発ライセンスキーが付いてる?

223 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 13:32:21 ]
>>222
お前は何を言っているんだ

224 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 14:26:17 ]
>>219
なんでVB(6.0以前)スレに居るの?

225 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:13:16 ]
>>223
お前は何を聞いているんだ

226 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:07:06 ]
VB6で立方メートルの単位(m3)のように右上に数字を乗せる方法はないでしょうか?
またはキーワードだけでも教えていただけないでしょうか?

227 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:43:53 ]
>>226
ラベルで貼っちゃダメなの・・・?

228 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:01:01 ]
>>227
通常はラベルで代用するものなのでしょうか?

229 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 20:22:32 ]
ブラウザとかリッチエディットでそういう書式指定って方法も思いつく。
ほかにもUnicodeに対応していればm³や㎥って文字が使える。

230 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:17:56 ]
brwWebBrowserで取得したものを
htmlかテキストにして文字変数に格納する方法ないですか?



231 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:18:41 ]
>218
現在VB6を新規に入手する方法はMSDNに入るしかない。

>226
上付きの3はISO 8859-1/15の0xB3にあるが…UnicodeでもU+00B3だな。

232 名前:230 mailto:sage [2008/04/23(水) 23:29:47 ]
Text1.Text = Inet1.OpenURL(brwWebBrowser.LocationURL)
で取得できましたが 文字バケのようになり日本語で表示されません。
フォントは明朝に設定したのですが。

233 名前:230 mailto:sage [2008/04/24(木) 00:41:02 ]
RichTextBox1.Text = brwWebBrowser.Document.body.innertext
これで一応できましたが
普通のTextBoxは日本語ダメでしたっけ?

234 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 01:34:10 ]
Text1.Text = brwWebBrowser.Document.body.innertext


235 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 10:25:48 ]
VBのMAPIでメールを操作したいのですが
IDやPASSの設定はサンプルにのってるのですが
POP3等の設定がのっていません。
Outlookの設定に依存してるのでしょうか?

POP3設定のキーワードを教えてください。

236 名前:230 mailto:sage [2008/04/24(木) 13:46:15 ]
Text = WebBrowser1.Document.body.innertext
これで数百行あるものを読み込むと200行ちょっとまでしかとれてないようですが・・・
行制限があるんでしょうか?

237 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:02:43 ]
読み終わってからにしろよ早漏

238 名前:230 mailto:sage [2008/04/24(木) 14:33:54 ]
なるほど。

239 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:12:47 ]
指定ファイル(テキストやCSV)の行数を取得する良い方法はありますか?

     Dim i As Integer = 0
     Dim sr As New System.IO.StreamReader("C:\1.csv", System.Text.Encoding.Default)
      Do Until sr.Peek() = -1
        sr.ReadLine()
        i+=1
    Loop
    sr.Close()

今のところこの方法しか思い浮かびません
もっと簡潔な方法があれば教えて下さい

240 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:31:59 ]
何を指して良い方法と言っているのだ?
時間?効率?ソースの短さ?exeのバイト数?



241 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:38:24 ]
>>240
私が思う良い方法とはコードの短さです
今のところ>>239以外には他に思いつかなくて

242 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:04:19 ]
コードの短さか


そんなクソの役にもたたねえ事にこだわるな!

243 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:16:01 ]
>>239
とりあえずスレチだと思うのだが。
それ.NETだろ?


まぁ行数取得ならFileSystemObjectだったかTextStreamだったか忘れたが
1行で取得する処理書くこと出来るよ。

ググってみ?

244 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:45:05 ]
VB6(SP6)です
OutBufferCountがしっかり送信バッファの値を返す設定って、何かあるでしょか?

MSComm1.Output = txdatbuf$
Text1.Text = Format(MSComm1.OutBufferCount)

このよーなコードを書いて、送信開始時のバッファを確認してみても0のままだったりして困っておりまする。
送信そのものは成功しています。

MSComm1 は

DTREnable=False
EOFEnable=False
Handshaking=0
InputMode=0
OutBufferSize=512
RThreshold=1
SThreshold=0
RTSEnabled=False

になってオリマす

245 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 14:46:39 ]
ログをファイルを出力しているのですが
最新の1000行のみに維持したいのですが
何か良い方法はありますでしょうか?

246 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:17:27 ]
良い方法?
1000行固定というクソ仕様をやめてしまえ

247 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:23:28 ]
全部読んで1行捨てて書き出して、最後に今のログ1行書いたら駄目なのか?

248 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 02:44:34 ]
WebBrowserコントロールを使って
そのWebの書き込みテキストボックスから書き込みする方法ありますかね?

249 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:30:44 ]
>247
内部バッファならともかく、ファイルでそれはないだろ。

250 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:59:13 ]
>>249
ならどうしたらいいのか書けよカス



251 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:03:03 ]
>250
>246

252 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:55:00 ]
お前の能力では出来ないって事か

253 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 14:18:36 ]
↑こんな奴がいるから糞ソフトが無くならんのだよな

254 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 15:53:23 ]
↑その糞ソフトすら書く方法を知らないカス

255 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:03:32 ]
何が問題なのか理解してないようだ
中国人の外注のほうがマシに思える

256 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:06:07 ]
>>249
お前というやつは・・・。
いきなり上書きしたら、
書き込みの途中でエラーが出たら
ログが壊れるだろ・・・。

257 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:21:52 ]
>>255
うむ
中国人に「最新の1000行のみに維持したい」って言えば
ちゃんと作ってくれるだろうな

258 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:45:53 ]
TextStream使えば?

・ReadAll()で全行読み込み(なかなか高速)
・Sprit()で改行文字をKeyに配列化
・UBound(配列)>=999の場合は、配列にする前の文字列からInStrRevで改行文字探して見つかった位置-1までを取得
・先頭に新しいログ文字列追加
・で、書き出し

みたいな

259 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:49:36 ]
>>256
書き込みの途中って?
例えばどんなエラーがある?

260 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:57:19 ]
>>256じゃないが
エラーも出ずにファイルごとぶっ壊された経験なら多々あるなあ
ローテートの基準は行数にしないで日付や時間で新規ファイルに割って、
取得や表示時の処理で行数割りにすべきじゃねえの?




261 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:59:31 ]
1000行程度でエラーになった経験は無いからなあ

262 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:01:07 ]
壊れる事象が起こる原因が上書きなら、
新規作成→リネームでいい気がするが?
元のFileは消した状態で。

263 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:05:12 ]
>>260
それはプログラマである質問者でなく、設計したアホに言えよって話にならね?
もしくはそう注文してくる客に。

そういう仕様だって言われりゃマはそう作るしかないんだし
だったら最善の策を考えた方が仕事も早く終わるだろ。

264 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:12:02 ]
>>259
1. ディスクフル
2. 書き込みするデータを用意する際のエラー
3. メディアの部分的な破損

こんなところか?

265 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:25:26 ]
ディスクフルは今回の場合関係なさそうじゃね?
メディアの破損については今回のファイル書き出し云々関係無い気がする。

書き込みデータ準備のエラーは具体的には何がある?

266 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:26:09 ]
>>263
だな、激しく同意
反論できる状況でなけりゃ、結局そう作るしかないんだよな

267 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:31:47 ]
>>266
大体さ、設計について話すってのは、ぶっちゃけスレチな気がするんだよ。
ここはVBプログラマ質問スレだろ?

プログラマからの質問に対して設計に文句言うのはおかしいと思うんだが
間違ってるか?

268 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:44:46 ]
>>265
メディアが部分的に破損してて書き込み失敗したら、
上書きしてた場合はログが壊れて、
別ファイル作ってた場合は前のログは残る。

269 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:52:41 ]
[方法その1(昔からある方法)]
サイクリックファイルという概念を使う。
詳しくはググれ。

[方法その2]
ログを全てオンメモリに持って、時々ファイルにflush。
プログラムが異常終了したときは、ログが失われる可能性がある。

270 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 00:59:42 ]
ファイルの書き込みは実際にはセクタ単位で行われるから
サイクリックファイルって万が一破損した場合の影響範囲は
1セクタ分になんのかね。



271 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 06:57:18 ]
>>267
設計に触れなくていいと言うなら間違っている
与えられた事しかできないのは下郎の仕事だよ

272 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 08:51:52 ]
ログファイルの行数制限ってそれ程アホな仕様とは思えないんだが

273 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 09:05:46 ]
馬鹿ですね。

274 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 11:10:24 ]
>>271
そうでなくてスレチって意味だろ

275 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 15:05:31 ]
フォームが非アクティブな時にクリップボードを監視して
文字があればフォーム上のテキストボックスにすぐ貼り付けるというプログラムを作っているのですが
FormのLostFocusで処理させるとクリップボードに文字をコピーしたあと
フォームをアクティブにしないとテキストボックスに内容が反映されません

どのイベントで処理すればいいでしょうか?

276 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 15:19:39 ]
>>275
監視って言いながら1回しか見てないの?
Timer使って一定時間ごとにチェックするとかじゃなく?

277 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:49:19 ]
>>272
うむ、組み込み系なら良くあること

278 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 22:19:51 ]
1行500byteで、50メガ程のテキストファイルをADOを使ってmdbに突っ込んでるんですが、
テキストファイルの改行コードがlfなんで、LineInputじゃ取れないんで、
一度バイナリで取り込みcrlfに変換後、保存してLineInputってのもスマートじゃないし、
stringで全部読み込み、midって取るのも後半重くなるし〜って事で、詰まってます。

何かいい方法はありませんでしょうか?

279 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 23:12:03 ]
>>278
ADOのStreamオブジェクトを使うといいような気がする

280 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 10:48:11 ]
>>249
1000行ぐらい内部バッファあけといて毎回読み書きしてもいいとおもたんだが
もしかして一般的には不毛な設計なのか?



281 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:06:24 ]
無駄にHDDを劣化させることは無いだろ
単純なログにすれば何も問題ないのにCPUの無駄遣いするなよ
Vistaを筆頭に、重かったりメモリ食いまくったりするのが流行なのかもしれないがな

282 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:15:14 ]
バカは黙ってろよ

283 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 14:54:46 ]
車や電化製品でも、誰も使わない機能をつけるのがカッコイーんだよ。
自己満足の世界に口を出すなっつーの。

284 名前:デフォルトの名無しさん [2008/04/28(月) 16:06:17 ]
知的探求は必要
ソースをいかに短く書くか燃えなかった?

285 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:11:45 ]
行固定のログファイルとか良くやるけどね
これだけ議論になるということは、あまりこういう仕様に直面したこと無いのか?

286 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:26:55 ]
通信アプリなどのようにリクエストが多かったりするログで1000行固定はクソ仕様かもしれない
だが今回は1000行であり1起動で数回くらいの頻度だろ?騒ぐほどの事ではない

でも俺もクソ仕様だとおもう

287 名前:デフォルトの名無しさん [2008/04/29(火) 11:12:32 ]
VB6なんですが、
製作しているプログラムProgAではOpenでテキストファイル(1行のみ存在)
を開いてInputのRead Sharedで1秒毎に読んでは閉じます。参照しかしません。

別のプログラムProgBからそのテキストファイルは
1秒毎に更新されています。内部の仕様はわかりませんがProgBから
もしロックをかけて更新しているなら
同時にProgA側で開こうとすればエラーが出ると思います。
それは問題ありません。

ProgAでファイルを参照していてもProgBからそのファイルの更新さえ
できていれば、ProgAとしては問題ないのですが、
今の状態では不都合が生じるでしょうか?

ProgAでファイルを開いている状態(ブレークポイントでとめて)で
自分で作った外部アプリでファイルに更新をかけてみたのですが、
ファイルは普通に更新されたのですが、これで良いのかどうか。。。

288 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 17:01:25 ]
プログレスバーの上にColor.Transparentを設定したラベルをおいて
ラベルの親コントロールをプログレスバーに再設定しても
どうやらプログレスバーがColor.Transparentをサポートしていないようで
ラベルの背景が半透明化されません

プログレスバーのようなColor.Transparentをサポートしないコントロール上で
背景を半透明にさせるにはどうすればいいですか?

289 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 01:43:37 ]
文字をpadleft等で桁揃えして文字数が同じなのを確認して
コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして
フォントが変更されたのも確認した後
それらの文字数が同じアイテムをコンボボックスに追加してリスト内のアイテムを確認すると
どうやってもズレて表示されてしまいます
解決法ってありますか?

290 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 02:01:53 ]
>>289
> コンボボックスのフォントをMSPゴシック、MS UIゴシック等の等角フォントにして

上記は等角フォントではないよ。
MSゴシックを使ったら?




291 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 04:34:26 ]
>>290
MSゴシックにしたら改善されました、ありがとうござます
フォントについて勘違いしてたみたいです
プログラミング以前の話に答えていただいて助かりました

292 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 09:44:45 ]
Join関数を使わないでMidステートメント(関数ではない)で文字列を連結する場合、MidとMid$ではどちらがいいの?
速度を計っても差がわからない。
どっちも同じなのかな?

関数ならもちろんMid$が少し速いが。

293 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 12:34:02 ]
そんな知識もない奴がいまさらVB使ってどうするのかなw
っていうか、mid$で文字列連結って意味不明な気がするが。

まあここでも散々既出だと思う(折れ自身複数回回答してるから)けど、
(っていうかググッてもすぐ回答が見つかるはずだとも思うが)

 $付き: 返り値の型がString
 $なし: 返り値の型がVariant

Variant返す関数の存在理由は良く知らないが、普通は使う必要ないんじゃないのかな。

294 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:21:40 ]
>>293
Mid$で連結が意味不明なら答えるなよ。
わかる人はすぐ分る。
そもそもオマイは関数と勘違いしてるし。
俺より初心者みたいだなw

295 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:53:06 ]
>そんな知識もない奴がいまさらVB使ってどうするのかなw

すぐこういう事を言い出す輩が多いな。
あとクソ仕様がどうとか。
学生か趣味でしか使わない奴らには一生理解できないんだろうけどね。

296 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 13:57:09 ]
>>287です
簡潔でなかったので、簡潔に書きます。

テキストファイルAをあるアプリAで
OPENステートメントのRead Sharedで開いていた場合
別アプリBでファイルAを開いたり更新したりしようとすると
問題が生じるでしょうか?

297 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:35:54 ]
誰か>>294の言ってる意味がわかる奴いる?w

俺は意味不明なこと言ってるとしか思えないが、
正直VBは年に1度触るか触らないかの状態なので自信もって否定はできない、と一応謙虚に言っておく。

ついでにまあどうでもいいが、「そんな知識もない奴がいまさらVB使ってどうする」
って指摘が不適切とは俺は思えないんだよねやっぱり。

初心者が今更VB使ってどうすんの。
まあそりゃ保守の需要とか学校の講義でたまたま使ってるとかあるのかもしれんが、
今更初心者にVBのコードを保守させる会社とか、今更VB6を使って教える学校ってのは如何なもんなのかねえw

298 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 18:51:23 ]
いやいや。「お前が言うな」

299 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:04:12 ]
>>297
恥ずかしい奴だな。
ttp://support.microsoft.com/kb/170964/

300 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:19:17 ]
mid$で連結って、前スレあたりで話題になったよね



301 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:21:36 ]
>>297はMidステートメントは使ったことないんだよきっと。
&演算子で連結することしか知らなかったりしてw

302 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:23:40 ]
知らなかったのならググればよかったのにw

303 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:25:43 ]
>>299
語るに落ちてるな。
サンプルコードをロクに理解せずにコピペして使ってるVB厨房の君自身をね。

そのサンプルコードの動作原理をちゃんと理解してる?w
理解してたら決して「Mid$で文字列を連結」などとは言わないよ。
そのコードでMid$が担ってる機能は「文字列の連結」じゃなくて「置換」だと思うけどね

304 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:30:40 ]
>>303
では、件のURLの<title>がなぜそのようになっているか、説明してもらおうか。

305 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:32:16 ]
>>303
なぁ、こんな所で戦っても、何も得るものないぞ?
匿名なんだからさ、おとなしく引きさがれよ。

306 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:33:35 ]
人に突っ込む前になぜ"pseudo-concatenation"と書いてあるか考えた?
っていうかコード読め。読んで理解しろって。
人様に突っ込むのなんざその後だろうが。

307 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:36:44 ]
>>303
とことん恥ずかしい奴だな。
お前は>>292の内容が全く理解も想像もできなかったんだろ?
「文字列連結」と「Mid」というキーワードで連想するものを初めから知ってたらな、
最初の発言で「それは置換だろ」と指摘しとけよ。

もっともそんなこと指摘しても、>>292の疑問には何の解決にもならんがな。

ちなみに、>>292の回答は、「自分で計測して速い方を使え」だ。同じだったら、好きな方でかまわん。

308 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:42:50 ]
>>307
その回答もどうかと
そんな浅い事なら質問してないだろう。

309 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:43:03 ]
顔真っ赤で反論考え中w

310 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:45:23 ]
そもそもMid$ステートメントなんてないのかもね。
Join関数をJoin$と書いても動くのと同じじゃねーの?



311 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:45:43 ]
>>308
内部実装を知りたいなら、プロセスにアタッチして逆アセンブルされてるのを
眺めたらわかるかもね。

俺は興味無いけど。

312 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:46:56 ]
>>307
何をいってるんだコイツ。
俺はエスパーじゃない。
>>292の「Midステートメント(関数ではない)で文字列を連結」が>>299
コードのことを指しているとして、そんなことが俺にわかるわけがない。

313 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:48:47 ]
>>312
つ「知らないなら黙っとけ」

314 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:49:26 ]
普通Midステートメントと文字列の連結といったらわかるぞ?
エスパーじゃないのはもともと分かってるw

315 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:53:43 ]
>>312
わからないなら、何でレスしたんだ?
おとなしく黙っとけば恥もかかずに済んだものを。

316 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 19:58:20 ]
VBは年に一度触るかどうかレベルの奴が、何でこのスレ巡回してんだよw
教えたがりもたいがいにしとけよw

317 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 21:23:09 ]
これはひどい・・・

318 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 22:02:02 ]
ここではよくあること
気にするな

319 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:16:42 ]
>>292
この間未だにVB5で稼動してるシステムにVB6と互換性あるJoin関数やReplace関数作ったんだけど
そんときMidステートメント使ったのね。

最初はMidでやってたんだけど遅い気がしてMid$に変えたら早くなったよ。
VB5だからなのか、使ってるマシンが古いせいなのかは知らないけど、
Mid$の方が早いみたいだしMid$使ったらどうかな?

320 名前:292 mailto:sage [2008/05/03(土) 20:34:21 ]
>>293以外のみんなありがとね。
こちら何度やっても差が出なくて困ってる。
おれも>319のようにMid$の方が速かったことがたしかあったけど、どうも最近再現しない。
>>310のJoin$みたいに、もしかしてつけなくていいものをつけてるとしたら馬鹿らしいし
>>319にはすまんけど付けないことにするかな?



321 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:23:53 ]
>>320
ttp://officetanaka.net/excel/vba/speed/s12.htm

322 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:21:14 ]
>>321
500万回でMidが5秒って、1回あたり1usじゃん。
+で文字列連結するのをMidに変えたときの恩恵に比べれば、差なんて無いも同じ。

・・・まぁ、俺は常にMid$つかうけどね。

323 名前:292 mailto:sage [2008/05/03(土) 23:44:10 ]
>>321
あまりラベルの低いサイトにリンク張らないように。
それってMid$関数だろ?
俺が言ってるのは関数じゃなくてステートメント。

324 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:49:57 ]
いいかげん、うざくなってきたな

325 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:11:16 ]
うむ

326 名前:319 mailto:sage [2008/05/04(日) 11:33:59 ]
>>320
まあそれはお好きにどうぞw

327 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:03:11 ]
なんか以前論争になったときは「変なこという奴だな」と思いつつも黙っていたが、
VBのような言語(つまりCのような設計思想の言語とは違う、と言いたいんだが)で
「組み込み関数」と「ステートメント」を峻別することに意味なんてあるんか?w

確かにMSDNライブラリ(俺の手元にあるのは2001年10月のもの)を見ると、
たとえばMid$ならMid$に関して、「Midステートメント」と「Mid関数」の二つのエントリーがあるが、
二つの説明を見比べれば、「Midステートメント」の方は明らかに「Mid関数」の返り値の型の仕様ついて
詳細な説明をスキップするための便宜上のもの(はっきり言えば煙に巻いて誤魔化している)
に過ぎないように思われるが。

328 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:36:28 ]
Dim s As String
s = "1234567890"
Mid$(s, 3) = "alpha"
Mid(s, 3) = "beta"

vb6でこーゆーコードをコンパイルして、逆汗したが、
結局両方とも同じように_vbaMidStmtBstr呼んでるだけだたよ。

329 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 05:46:33 ]
ってことはMidで十分ってことだよな。
関数はMid$が常識だろうが。

330 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:28:20 ]
フォーム タイトルバーのフォントサイズを変更するにはどうすればいいですか?

フォーム プロパティのフォントサイズを指定すると
置かれている各コントロールのフォントサイズは変わりますが
肝心なタイトルバーのフォントサイズが変更されません



331 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 12:55:21 ]
画面のプロパティのデザインで決まっているので、個別のウィンドウで変更することはできません。

332 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:27:53 ]
WebBrowser1でWebを読み込んで縦スクロールバーをコントロールする方法ないですか?
最初に一番下まで持っていきたいのですが。

333 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 12:10:56 ]
Webを書き換えできる立場にいるなら<a name="hoge"></a>でアンカー付けて読み込む時にURL末尾に#hoge
Webは書き換えられないならフォーカスをIEコンポにしてSendKesとか・・・

334 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:17:49 ]
>>333
できました ありがとうございます。

335 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:06:54 ]
midの話題に便乗して質問
replace関数とmidステートメントの使い分けって
どういう風にしたらよろし?

あとreplace関数で下のようにInStr関数を使って開始位置を設定するのは意味がない?

strHoge = "...hoge"

strFuga = Replace (strHoge, "hoge", "fuga", InStr(strHoge, "fuga", vbBinaryCompare))

336 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:36:52 ]
>>335
使い分けって全然別物じゃんw
っていうか、だからVBのような言語で関数とステートメントを「使い分け」ることこそ意味がないつーに。

mid:
 与えられたBSTRのバイナリイメージを直接上書きする。
 当然、置き換えられた部分の文字数も、文字列の長さも変わらない。(変えられない)

replace:
 与えられた文字列の中の特定の部分を別の文字列で置き換えた文字列を新たに作成する。
 「置き換えられる」部分文字列の長さと「置き換える」部分文字列の長さは違っていてもかまわない。

337 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 02:50:02 ]
vb6.0でフォームだけ透明化して、ラベルなどはそのまま表示させることって可能でしょうか?
方法があれば教えてください。

338 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 04:27:56 ]
十字キーの↓でラベルを順に選択できるようにしたいのですが、

If GetAsyncKeyState(vbKeyDown) Then
If Label3.ForeColor = Magenta Then
Label4.ForeColor = Magenta
Label3.ForeColor = Yellow
End If
If Label4.ForeColor = Magenta Then
Label5.ForeColor = Magenta
Label4.ForeColor = Yellow
End If
If Label5.ForeColor = Magenta Then
Label6.ForeColor = Magenta
Label5.ForeColor = Yellow
End If
End If

と記述するよりもっと効率がいいやり方はないのでしょうか?

339 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 08:28:01 ]
>>338
効率以前に「他人に意味が通じる文章」を書く方が先決だろう。
というか、推敲する手間を惜しむような奴にプログラマの才能などないと思う。

340 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 12:30:28 ]
>>338
効率もなにも、ひょっとしてそのコードバグってないか?
13、14、15はYellowになるだろ、一回↓キー押しただけで
順ってなんですか?



341 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 14:12:33 ]
>>338
訳:カーソルキーの↓キーを1回押すごとにラベルを順番に選択(色を変更)したいのですが、
>>338のコードと記述するよりスマートになるやり方はありませんか?

342 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 00:08:54 ]
>>339
分かりにくくてすみません・・・

>>340
バグってます。
通常の状態をマジェンタ、選択されてる状態を黄色にして、
↓キーを押すたびに選択されているラベルを変えるプログラムをつくりたいんですが、うまく行きません・・・

>>341
そういうことです。ありがとうございます

343 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 02:23:29 ]
ラベルをコントロール配列にでもして、
現在黄色い場所をインデックスとして覚えといて
そいつをカーソルキーでうろうろさせるとか

344 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 03:49:52 ]

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
system-trading.jp/news/index.php?cID=3

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
www.fx-gp.com/about/

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

345 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 08:19:34 ]
コピペ君って馬鹿だな、まで読んだ。

346 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 18:24:00 ]
GetAsyncKeyStateを使うとボタンを瞬時に離さないとIf以下のコードが何回も繰り返し行われてしまいます。
途中にWaitなどを入れてみましたが、そうするとキーを押したときに反応しないときがあります。
解決方法を教えてください。

347 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 22:46:12 ]
>>346
釣りに見えるのはなぜなになでしこ

簡単に解決させたいなら ElseIf と KeyUpイベントを覚えるといいと思うよ

348 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:04:46 ]
>>374
偉そうに舐めた口利いてる奴がそのレベルじゃアカンだろうw
コントロールのイベントはフォーカスがあるときしか拾えない。
こんなUIの基礎も理解してないの?

>>346
GetAsyncKeyStateのリファレンスにまんまの答えが書いてあるじゃん。
もちろん自前でステートマシン作って解決してもいいんだけど。
ステートマシンっていう考え方は小学生でも理解できるわりに応用が利く(たとえば
>>338のようなコードをわかりやすくするのにも使える)から覚えて損はないよ。

349 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 00:18:53 ]
>>347
ElseIfとKeyUpですか・・・ちょっと調べてきます

>>348
なるほど。もっと詳しく勉強する必要があるんですね。
ふたりとも回答ありがとうございます

350 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 08:21:35 ]
だから詳しく勉強する必要はないの。
そう言ってるでしょ?
MSDNライブラリのGetAsyncKeyStateの項にそのまんま答え書いてある



351 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 17:22:21 ]
>>348
FormにKeyUpイベントあんの知らんの?

352 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 17:36:32 ]
>>348
Labelのイベントだとは書かれていないのにも関わらず
Label_KeyUp()に書けと読み取ったお前もかなりやばいぞ。

キー操作でLabelに何かアクションする場合、
Form_KeyDown()やForm_KeyUp()に処理が書かれることが多い。
>>347はそれを言ってるんだと思うが?

353 名前:デフォルトの名無しさん [2008/05/15(木) 17:56:57 ]
VB6を使ってるんだがFlexgridでAccess2000に接続したものを表示したい。
ADOコントロールを使わずに接続することって可能?

354 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:01:23 ]
まず質問者と>>348>>338のバグを認識しないとな。

355 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 18:50:24 ]
>>353
DAOでやるってことかな

356 名前:デフォルトの名無しさん mailto:sage [2008/05/15(木) 19:40:08 ]
初歩的な質問で恐縮ですが、

vbでsendkeysを使って作成しておりました。
さまざまな問題が出たため、apiを使用しキーボードシュミレートを
行うため、下記のサイトを参考に組み込みました。
hanatyan.sakura.ne.jp/vbhlp/keybdeve.htm

こちらで送信はできたのですが、ポップアップするような
アプリケーションの場合そこで制御が停止してしまいます。

停止せずに送る方法がありましたらお教え下さい。


357 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 00:21:38 ]
>>351-352
あのなあw
それ以上馬鹿を晒さないうちに黙っていた方がいいと思うよ。

358 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 02:04:54 ]
>>352

359 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 02:56:11 ]
VB脳w

360 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 11:35:01 ]
VB6を使用しています。
ADO2.5のRecordsetオブジェクトを使用し
以下のようなDBを参照し

フィールド1 |
----------
A |
B |
C |

データを
Aを取得し変数にセット→MoveNext
Bを取得し変数にセット→MoveNext
Cを取得し変数にセット
という流れで取得しています。

MoveNextなどをせずに
一気にA B Cのデータを取得し変数にセットをしたいです。
もし可能であればご教授ねがえませんか?




361 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 11:49:27 ]
ご教授なんて呼ばれても そんな人いません

362 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:19:34 ]
恥ずかしい馬鹿だな。
「ご教授」でもいいんだよ。嘘だと思うなら辞書引いてみな。

DBはやったことないんで質問には答えられなくて申し訳ない。

363 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:28:39 ]
>>362
ご教授なんて日本語存在しませんがw
嘘だと思うなら「間違った日本語」とかでググってみな?w

あ、ゆとりさんに無理ですか そうですか
存在しないものを作りあげてしまうなんて
もうレベルが低すぎてこちらまで恥ずかしくなってきましたw

364 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:31:39 ]
辞書を見て自分の都合のいい解釈する人に何を言っても。

365 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:33:54 ]
それはいわゆる無知な「誤用厨」(まあ今俺が命名したんだけどw)が
勝手にそう言ってるだけ。

だから辞書引けって馬鹿。

ついでにその「誤用厨」が得意げに指摘する「確信犯という言葉の誤用」も
誤用じゃないんだよ本当は。

366 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:41:38 ]
間違ったものを強引に正しいものにしようと必死な人がいると聞いて
飛んできますた

>>365
間違いを指摘されてるんだから、そろそろ悪あがきは止めて あきらめようぜ?ww
お前が馬鹿なのは十分分かったから、これ以上 墓穴掘るなよ

ご教授はどう考えても 存在しない日本語
日本人なら正しい日本語使え、プログラミングとかやる奴ならなおさら

367 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 12:44:29 ]
あのなあ。
そもそも「教授」って言葉をポストに使う方が元々は派生的な用法だっての。
字面見ればわかるだろそんなの。

368 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 13:00:50 ]
プログラムは正しくない命令文ではエラーが出るが、
「ご教授ねがう」は「ご教示いただく」のことだろうなってわかるだろ。
教えてやればいいだけでしょ。

お前らそんな固い頭でプログラミングとか向いてないんじゃね。

>>360
文章から、変数は配列じゃないと想定してレスすると、一気に変数に入れるのは不可能。

数が少ないならフィールド横に配置して1レコードにするとか。
フィールド1 | フィールド2 | フィールド3 |
----------
A | B | C |

変数に配列使ってループさせれば解決すると思うけどネ。

369 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 13:08:43 ]
 Function Nihongo_OK(ByVal str As String) As Boolean

Select Case Instr(str,"ご教授")
 Case 0
  Return True
 Case Else
  Return False
End Select

End Function

370 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 13:25:32 ]
Debug.Print Nihongo_OK("あたご教授は素晴しい教授だ")
False

( ゚Д゚)



371 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 13:26:54 ]
誰?

372 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 16:08:10 ]
ご教授って存在しないの?
教授に対して
ご教授お願いしますってのもだめなの?

373 名前:デフォルトの名無しさん mailto:sage [2008/05/16(金) 18:47:18 ]

Private Sub CommandButton2_Click()

Dim mambo As Date
If Trim(mambo) = Null Then Exit Sub
mambo = UserForm1.ComboBox1.Value
Call search_light(mambo)

End Sub

上のプログラムで「mambo」という変数には時間が入る(or空白)のですが、
「mambo」が空白の時でも、プロシージャが終了してくれません。

「""」を使うとエラーになるし、エラートラップを使うしかないのでしょうか?

374 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:42:08 ]
>>360
Recordset.GetRowsメソッドじゃだめ?

375 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 11:48:17 ]
>>373
とりあえずDate型の初期値はNullじゃないよ

If mambo = #0:00:00# Then Exit Sub

376 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 12:38:58 ]
ListViewのような行と列を持つコントロールに
テキストボックスやコンボボックスを表示されられるコントロール名ってなんでしょうか?

377 名前:373 mailto:sage [2008/05/19(月) 09:13:12 ]
>>375
遅くなってすみません。
ありがとうございます

378 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 10:13:48 ]
コンボボックスで起動直後に任意項目を選択済みにするには
ロードイベントにSelectedIndexで設定する以外に方法はありますか?

コンボボックスのプロパティには初期値を設定出来る項目はないようですし

379 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 12:20:53 ]
初期値を設定すべき実行部分で初期値を設定する以外に方法はないと思う

380 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 18:10:29 ]
msgboxで表示される文字のフォント指定はどうやるのでしょうか?



381 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 03:09:51 ]
そりゃあコントロールパネルからだ

382 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:14:46 ]
ttp://jeanne.wankuma.com/library/inifile/source.html
↑のクラスライブラリをVBで使おうとしても
この引数を受け付ける New がないためオーバロードの解決に失敗しました というエラー出て
インスタンス化出来ないです、なぜですか?

参照設定でDLLを読み込んで
 Dim ini As New Jeanne.Ini.IniFile
のコードを書きました

383 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:51:30 ]
>>382
どうみてもC#だが誤爆か?
それともそれをDLL化したものが「VB6以前」で使えないといってるのか?
後者ならあたりまえなので、COMのラッパークラス書いてレジストリ登録しなさい。

384 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:10:45 ]
>>383
やっぱりVBで他言語のdllはコーディングし直さないと使えないのですか
VCで書いたライブラリをVBで利用するための詳しい解説付きサイトがあったので
C#のもいけるかなと思ったのですが

385 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:39:03 ]
つか、inifile読み書きクラスって、車輪の再発明もたいがいにしろって感じ

386 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:28:12 ]
>>384
「VC#で書いたライブラリをVBで利用するための詳しい解説付きサイト」を探して読め


387 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 10:49:51 ]
ファイルAとファイルBのCSVファイルの内容を比較するプログラムを作る時
みなさんならどうしますか?

自分はまだ知識が乏しいので
それぞれのファイルをSystem.IO.StreamReaderを使ってオープンして
一行読み込むたびに,区切りのデータをArray変数にsplitで代入して
GetUpperBound(0)で最大を把握しながらArrayの各値を比較しています

先に全部のデータを変数かデータベースに読み込んでから比較したら
比較速度はかなり増しますか?

388 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 11:01:04 ]
Dim tmp1(),tmp2() as string

Dim CSV1 As New System.IO.StreamReader(ファイル1, System.Text.Encoding.Default)

Do Until CSV1.Peek() = -1
tmp1 = Split(CSV1.ReadLine(), ",")

Dim CSV2 As New System.IO.StreamReader(ファイル2, System.Text.Encoding.Default)

Do Until CSV2.Peek() = -1
tmp2 = Split(CSV2.ReadLine(), ",")

''''ここに比較処理

Loop
CSV2.Close()

Loop
CSV1.Close()


>>387 実際のコードはこのような感じです
比較処理時間を短縮出来るもっと効率の良い方法があればご教示お願いします

389 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 11:22:21 ]
>>387
.NETの話題ならスレチだが。

VB6以前なら

Dim FSO As Scripting.FileSystemObject
Dim sFileA As String
Dim sFileB As String

  Set FSO = CreateObject("Scripting.FileSystemObject")

  sFileA = FSO.GetFile(FileAのパス).OpenAsTextStream(ForReading).ReadAll
  sFileB = FSO.GetFile(FileBのパス).OpenAsTextStream(ForReading).ReadAll

  Set FSO = Nothing

  If sFileA = sFileB Then
    MsgBox "同じ"
  Else
    MsgBox "違う"
  End If


ってやるとめっちゃ早いけど。
行単位比較だったら取得したファイル内容を、
SplitでvbNewLineを区切り文字にして配列ゲットしてループ&比較かなぁ?



それにしても携帯でコード書くと疲れるな。

390 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 11:42:36 ]
比較してどこが違うか具体的に示す必要があるなら、それでいいんじゃない
ただ異なっているかどうかだけでいいならバイナリで読み込んで比較するけど



391 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 11:49:22 ]
>>390
その手があったか>バイナリ

392 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 11:56:42 ]
>>389-390
ありがとうござます

>比較してどこが違うか具体的に示す必要があるなら
やろうとしてることがまさにそれなので>>387の方法で比較するしかなさそうですね

みなさん、とても助かりました

393 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 16:02:59 ]
まずはファイルのサイズを比較して異なっていたら別物、同じなら中身を調べる、って処理を入れるのもアリだ

394 名前:392 mailto:sage [2008/05/27(火) 19:38:04 ]
DoEventをやめて
BackgroundWorkerで完全なマルチスレッドにしたら
処理速度にかかる時間が以前の半分くらいと かなり早くなりました

マルチスレッド化はロジックが結構複雑で
今までやりたいなと思いながらも結局はDoEventで代用してましたが
やってみたら意外と簡単でいい勉強になりました

395 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:43:13 ]
ループにDoEvent入れてたってオチじゃないだろうな

396 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:27:52 ]
細かいようだが訂正

× DoEvent
○ DoEvents

397 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:51:27 ]
>>394
スレタイにいいかげん気づこうな

398 名前:デフォルトの名無しさん [2008/05/27(火) 22:30:43 ]
携帯プログラミング
テキストボックス1に文字が出る
ボタン12個
ボタン1(1)
ボタン2(2、A,B,C)
ボタン3(3、D,E,F)
・・・
ボタン9(9、W,X,Y,Z)
ボタン10(*)入力画面を初期化
ボタン11(0)
ボタン12(#)同じ文字・数字をつづけて入力できる

多いですがプログラミングコードを教えてください。
本当によろしくお願いします。

399 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 22:33:39 ]
>>398
ここは宿題スレではありません

400 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 00:20:58 ]
>>398
そんな簡単過ぎるコードも書けないのか今時の学生って
ホントに勉強してるの?



401 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:40:47 ]
グーグルツールバーみたいに入力候補がでるテキストボックス作りたいんだけどどうやるのがいいんだろう
検索対象の件数が増えると使い物にならないようなのしか作れん・・

402 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:44:56 ]
候補の用意ができたとして、
表示する部分は、シェルにIAutoCompleteなどというものがあるらしいが、
VBから使えるのかどうかわからない、すまん。



403 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 03:17:40 ]
>>401
ユーザーコントロールでコンボボックスとセットにして、
入力されたらリストだけドロップして見せればいいんじゃね

404 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 12:54:04 ]
環境はWindowsXP PRO SP3 WSH5.7です。
以下のコードを実行すると、"1 2 ... 19 20"という結果になります。

For i = 01 To 20
j = j & " " & i
Next
WScript.Echo j

実行結果が、"01 02 ... 19 20"となるようにするには、
どうすれば良いでしょうか?


405 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 13:54:53 ]
やらんとすることはゼロサプレス無しの2桁化でいいのか?
j=j+" "+format(i,"00")

ところでjの初期化は?


406 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 14:31:56 ]
For i = 101 To 120
j = j & " " & mid(i,2)
Next
WScript.Echo j


407 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 16:04:31 ]
>>405
レスどもです。VBSではformatが無いようで動きません。
FormatNumberとかはあるんですけど欲しい動作はなくて。

>>406
こういうトリッキーなやり方があるんですね。動きました。ありがとうございます。

408 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:13:51 ]
ゼロパディングって言え

409 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 21:52:39 ]
失礼な

tricky
───────────────
形 @ずるい,こうかつな
A手のこんだ,扱いにくい,巧妙な

410 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:58:24 ]
VBScriptはスレ違いのような



411 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:19:34 ]
>>410
くだらんレスをするな。モレモナー

412 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:27:54 ]
うんスレチガイだね

413 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 08:55:59 ]
パディングとサプレスの区別が付いていない奴の居るスレはここですか?

414 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 09:03:46 ]
VS2008のC++に移行しようと思って少しさわってみたけど
コマンドの候補を表示してくれるインテリセンス機能ってないのか・・
さらに敷居が高くなった

415 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 10:33:35 ]
>>410-412
>>1

416 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 13:40:32 ]
Right("0" & i, 2)とかやらない?

417 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:30:56 ]
Right(100+i, 2)

418 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:14:03 ]
>>417
ふいたwwwwwwww
どうしても数値でやりたいのかwwwwwwwwww

419 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:42:16 ]
>>417
それだと14桁で限界くるだろ

420 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 18:50:50 ]
でもありだな
>>416だろjkくらいしか思わなかった



421 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 20:35:30 ]
trickyだね

422 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:28:35 ]
VBで標準出力に出力ってどうやるんですか?

423 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:52:10 ]
ぐぐれ

424 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 00:53:16 ]
ProgressBarを描画させながらその上でラベルを使って進行状況の%表示をさせると
ラベルの背景が透明にならず不格好なので
PictureBoxの疑似プログレスバーで 背景をDrawStringで透明にして%の文字を描画させたら
通常のプログレスバーよりとてつもなく描画処理が遅くなってしまい困っています

プログレスバーの上に 進み具合を背景透明な文字で%表示させても高速に描画させる
いい方法はないでしょうか?

425 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:28:04 ]
オーナードローで文字を置けば?

426 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:40:29 ]
プログレスバーの上にラベル表示ってどうやるの?
配置してみたら下になっちゃうんだけど・・

427 名前:424 mailto:sage [2008/05/31(土) 10:25:49 ]
カスタムプログレスバーで ものすごく良いサンプルがありました
ttp://www.codeproject.com/KB/progress/ProgBarPlus.aspx

これバーの部分にオリジナル画像使えたり色々なところが調整出来てスゴイです
でもやはりプログレスバーと処理時間比較してみると
何倍か時間がかかりますね、負荷を減らしつ表示するにタイマー使えばいいのかな

428 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 10:28:55 ]
修正
>でもやはりプログレスバーと     ×
>でもやはり標準のプログレスバーと  ○

429 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 12:05:01 ]
>>427
確かにそのサンプルすごくいいな
ただのプログレスバーがそこまで自由にカスタム出来るとは思わなかった

430 名前:デフォルトの名無しさん [2008/05/31(土) 12:30:27 ]
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'x2乗値を計算して、書き出すだけの問題

Dim intA, intB, intC, intD, intN1, intN2, intM1, intM2, intT As Integer

intA =
intB =
intC =
intD =
intN1 =
intN2 =
intM1 =
intM2 =
intT =
TextBox9.Text =
'この問題で使う関数は絶対値を求めるMath.Absだけ

End Sub

visual basic 2003 です。=の後に入る答え教えてください。



431 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:05:08 ]
断る

432 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:11:49 ]
なにその低レベルな宿題

433 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 14:40:57 ]
スレタイが読めないレベルの人になに言っても無駄

434 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 11:29:07 ]
VB6で文字を書くとき、OSのアンチエイリアス無効にすることってできる?

435 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:26:05 ]
あと1年半でWindows7が出て、自作のVB6プログラムが動かなくなりそうなので、
VC++に移植作業を始めたけど、案外するすると移植できるもんだね。
VBではClassモジュールとFormしか使わなかったからかな。
C++は配列の代わりにvectorが使えるから楽だね。

436 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:27:45 ]
Windows7だとVB6は動かないの?

437 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:39:25 ]
MSが、VB6のコンパイラはもうサポート外
つくったEXEはVistaまではサポートに努力するが、それももう終わり
って事だろ

438 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:29:10 ]
あと1年半じゃ新しいOSは出ないと思うぞ。まVistaみたいに1年間も有料ベータテストを
やるっていうのなら可能性はなくもないけど。常識的には2012年ごろかな?

439 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 10:46:22 ]
じゃあVB6で作られたシステム使い続けてる多くのユーザーさんから
爆発的な量の案件がやってくるってことになるのかな?

新しいOS出た途端にってことは無いだろうけど。
動作テストして、VB6のシステムが動かなかったら
そもそもOS変えないかもだけどw

440 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 11:24:53 ]
Vistaにしたら動かなくなったソフトなんてよく聞くだろう
VB6でもなんでも、ディレクトリ決め打ちとかせずにきちんと書けば、次のOSでも動くかと

MSがVBランタイムを次のOSで殺せば全滅だが



441 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 11:45:27 ]
VB6.0 SP6 なんですが、A dministrator権限のないユーザから
OCXを使用することはできるでしょうか?
レジストリに登録せずに参照する方法があれば教えてください

442 名前:デフォルトの名無しさん [2008/06/10(火) 12:00:40 ]
コレクションについて質問です。
キー文字列からインデックスを得る事は可能でしょうか?

443 名前:デフォルトの名無しさん [2008/06/10(火) 17:41:20 ]
VBAで素数判定するプログラムを作らなきゃいけないのですが、作り方が分かりません。
フォームは作れるんですが。。
どうやって作ればいいのでしょうか?
誰か教えて下さいませ。

444 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:57:57 ]
>>443
素数判定がわからないのか
VBAがわからないのか
VBAで再現する方法がわからないのか…

VBAだし

445 名前:デフォルトの名無しさん [2008/06/10(火) 18:15:03 ]
VBAはある程度分かるんですが、素数判定をVBAで再現する方法がわからないです。
private sumとかはわかります

446 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:06:15 ]
宿題は自分でやりなよ

447 名前:デフォルトの名無しさん [2008/06/10(火) 19:45:28 ]
ここは質問スレだから聞いてるんです。。

448 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 20:02:41 ]
Public Function 素数判定(数) As Boolean
  If 数 Like "素数" Then
    素数判定 = True
  Else
    素数判定 = False
  End If
End Function

449 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:15:32 ]
>>445
private sumって何?

450 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:38:54 ]
>>448
感動した



451 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 21:53:51 ]
>>441
manifest使えばレジストリへの登録をせずにOCXを使える(XPから)。
www.microsoft.com/japan/msdn/thisweek/vbxp/vbxp2.aspx

452 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 01:33:30 ]
>>447
はいって何だよ。出来んのかよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
わかってんのかよ。はいって言う事の責任の重さを。
社会勉強のつもりでやってんだったら辞めろおまえ。

453 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 01:41:32 ]
素数判定wwww
そのくらい自分で書くかググれよwwwww
サンプルソース結構多いのにアホかとwwwwww


…って宿題か。
ここは宿題スレではないからスレチだな。うんうん。

454 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 09:18:44 ]
VistaでVB6の環境立ち上げるとOLEレジストリへのアクセスエラーですってメッセージが
毎回表示されるんだけど回避方法ありませんかね?
その後は普通に動作するんだけど気分悪いよ。

455 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 11:46:00 ]
VB6ってXPにすら対応してないのに

456 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 12:15:15 ]
「OLEレジストリへのアクセスエラー VB6」sw\\でぐぐった1つめ
ttp://blog.heiichi.com/?eid=533108

457 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 13:00:20 ]
>>455
( ゚Д゚)ポカーン

458 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:25:39 ]
>>456
ありがとう。
やってみます。

459 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 13:08:35 ]
>>443
で、宿題はできたかい?

添削ぐらいならしてやるよ

460 名前:デフォルトの名無しさん [2008/06/12(木) 16:05:25 ]
メニューバーの「表示」からコマンドとデザイナの項目が消えて、ファイルを
読み込んで続きをデザイナで作成することができなくなってしまいました。
どうしたらデザイナ画面を復活させられるのでしょうか?



461 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:42:55 ]
>>460
メニューバーから開いたことがない俺ですこんにちは
俺はいつもプロジェクトエクスプローラから開いてるなぁ

462 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 22:05:02 ]
MSflexgridで一番上と下の行を固定させる方法を誰か教えてー(;_;)

463 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 00:48:17 ]
XMLHTTPでリクエストするときって、ポート80じゃないの?

464 名前:デフォルトの名無しさん [2008/06/16(月) 15:22:25 ]
あるデザインから他のデザインへクリック1回で飛べるようにしたいのですが、
リンクラベルのどの項目をいじって配置すればいいのかよくわかりません。
どうすればできるようになるのでしょうか? 教えてください。

465 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:01:34 ]
先にシャワー浴びて来いよ

466 名前:デフォルトの名無しさん [2008/06/16(月) 16:59:48 ]
WinXPでVB6.0+クリスタルレポートでの開発をしています。
クリスタルレポートのバージョンは何が正しいのか不明ですorz
とりあえず既存ソースを動かしたいがCRPEAutoでコンパイルエラーを起こします。
クリスタルレポートはバージョン不明ながらクリスタルレポート9をインストールしました。
Crystal Reports 9 ActiveX Designer Runtime Libraryを参照したが解決しません。
コンパイルエラーなので参照を指定すれば良いと思ったのですが根本的に勘違いしてますか?
何か参照する対象を間違えてますか。

467 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:22:31 ]
>>466
GrapeCityのActivereportをかいなよ。

468 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:47:14 ]
>>466
一度、元々のプロジェクトファイル(*.vbp)をテキストエディタで開いてみると良いかと。

469 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:50:51 ]
xx

470 名前:468 mailto:sage [2008/06/16(月) 23:55:09 ]
いちおう説明追加しとくと、
「Reference=〜」となってるのが、参照設定
「Object=〜」となってるのが、コンポーネントね。



471 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:00:16 ]
昨晩、車で猫を轢いちまったばっかりなんでな・・・・
頭がタイヤの下に入っちまったようで、ゴリッと鈍い音がした・・・
たぶん即死だったと思われ。気のせいか眠るときに「ニャ」という声が聞こえた。
今日も聞こえるかと思うと恐くて恐くて・・・もうorz

472 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:18:36 ]
……ぉ…ま……ぇ………ヵ……

473 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 01:50:46 ]
……ヵッォ……

474 名前:466 mailto:sage [2008/06/17(火) 10:44:45 ]
> 467
たぶん、予算がありませんorz

> 468
ありがとうございます。
参照しているdllに関しては同一名(パスは違った)を参照しているので問題はないはずなのですが
もうちょっと頑張ってみます。

475 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:10:20 ]
無駄にしている時間、日数の給料分を考えれば買ったほうがいい場合もある
予算の効果も考えろ

476 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:24:35 ]
>>475
会社の実態を知らないなんで無職の方ですか?

問答無用で稟議が通らないなんてザラですが?

477 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:29:08 ]
クリスタルレポートって重くねーか?
改良試作費で買ったけど使い物にならないんで放置。
どうせ捨てるんでよければあげるよ。
これが使える用途って元々かなり大きくて思いシステムで
帳票系の負荷が表に出て来ないようなシステムだろうな。
軽量化が望まれる俺たちのプロジェクトでは到底使えない。


478 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:33:40 ]
>>476
馬鹿な会社に勤めてるんですね
恥ずかしくないですか?

479 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:38:48 ]
>>478
会社が馬鹿なんじゃなくて、稟議が通るように根回しできない奴が馬鹿なのでは?
俺なんて秘書課の姉ちゃんとデキてるからやりたい放題だぜ。

480 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:30:57 ]
プロジェクトの予算や納期などもわからない物件に対して、ああだこうだと
言うことになんか意味があるのか?



481 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:34:53 ]
今話してるのは概念的なことだろうよ?
何もプロジェクトの詳細を知る必要はないだろう?

482 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:36:50 ]
問答無用ですか
馬鹿ですね

483 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:38:02 ]
何もかも「馬鹿」という言葉で集約するのはよろしくない。
それこそ「何とかの一つ覚え」と言われてしまうよ?

484 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:39:17 ]
>>482
劣勢だなwww

485 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:41:17 ]
>>475-476,478-479
お前らの会話がVB(6.0以前)製煽りプログラムならいいが、
そうでないならスレ違いだ。

486 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:41:55 ]
集約できてしまうんだよな
馬鹿は馬鹿でしかない

487 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:43:38 ]
>クリスタルレポートはバージョン不明ながらクリスタルレポート9をインストールしました。

何気に見落としたが、この行為って超怒級の大馬鹿じゃね?
どう考えてもやることがプロじゃねぇよwww

488 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:44:35 ]
>>481
ああ、レスの流れを読み返したらそうだった。orz
「一考の余地がありますよ」→「実態も〜」?
ってことね。


489 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:46:05 ]
ちょっと冷静になろうぜ。何に対して怒ってるのか明確にしてくれ。

まずはクリレポのA君からどうぞ。

490 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:52:44 ]
まずは俺がCrystal Reports ActiveX のバージョンを明確にしてやろう
プロジェクトファイルをエディタで開いてObject =から始まる文を全部コピーしてここに貼り付けてみなよ。





491 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:54:39 ]
>>490
たぶん、プロジェクトファイルがどれかもわからない素人かと...

492 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:57:17 ]
>>466
よく読み返したら素人だな。よくもまあみんな釣られたもんだなw

493 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:59:31 ]
>>490
ActiveXの自動アップデート機能で既に書き換わってると見た。

実行環境の方は互換が保障されていれば上位のコンポーネントでも動くのだが、
開発環境の方はバージョンは絶対変えたらいけない。
実際無闇にパッチや他のソフトも入れられないことがあるのだ。

494 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:02:16 ]
>>493
いや、もちろん>>468が言うようにオリジナルのをという意味だ。
素人だからオリジナルをそのまんま使ってしまったかも知れないがなwwww
俺たちプロは絶対にそんな過ちをしないもんだぜ。

495 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:04:40 ]
>>493
俺はLEADTOOLSで酷い目に遭った事がある。
GUIDは同じでバイナリ互換なのにメソッドの仕様を変えてきやがった。
普通。インタフェース仕様を変えたらGUIDを変えるもんじゃないのか?OCXは
それ以降、恐くてアップデートできなくなった。

496 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:12:21 ]
>>495
バイナリ互換にしなかった場合を考えればわかると思うが?
プロジェクトの変換でもしない限り新しいバージョンに差し替えられなくなる。
実際にはOCXの製品バージョンアップでもない限りGUIDは変更されないものだ。


497 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:15:36 ]
パッチ毎に挙動が変わるBocSpreadSheetと共存してた俺は、もはや菩薩だな。

498 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:19:36 ]
>>497
Spreadは2〜7まで使って来たがバージョン内ではそんなに大きな仕様変更はなかったぞ?
まあ確かに若干の挙動の変化はあったが俺としては許せる範囲だった。
そんなことを言ってたらLEEDTOOLSなんて絶対に使えないぞ。
同一バージョン内でリペイントの仕様を変えられて、全フォームで画像が表示しなくなったんだから!
びびるよまったくwwww

499 名前:466 mailto:sage [2008/06/17(火) 14:21:47 ]
えっとですね、VBPではクリレポ9を参照してるんですが、11を使えと言われるようなプロジェクトです。
だからとりあえずクリレポ9を入れたんですよ。
既存ソースを動かして大枠を理解したいので。
後は基本仕様書はないけど詳細設計書だけがあるとか、
でも詳細設計書もまともに書かれてないです
過去にプロジェクトに関わった人が辞めていないor忙しすぎてどこにいるのかも分からん
という形なので困ってるという所です。

VBに関しては素人なんですが(一応7年この業界にいます、仕事でVBを触ったのは3ヶ月程度)
基本Javaメインでやってて今回火消し要員で途中から入れられた、
このプロジェクトに関わってる人間が1年目〜2年目の人間だけ。
環境設定手順書にも一切記述なし。
俺にどうしろっちゅうねん!!(来月退職届出す予定)

500 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:27:07 ]
>>499
それはデザインとランタイムのバージョン不一致やん。
CRはそれが現実として起こり得るから恐いんだよね。



501 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:29:20 ]
>>499
どおりで素人臭いわけだな・・・
最初からそこまで詳しく書いていれば荒れずに済んだものを・・・
クリレポ使いのおいらにはもう解決の方法は概ねわかったよ。
ちょっと面倒くさいがやってみるか?

502 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:31:17 ]
それこそ、vbpのテキストを貼り付けたらいいじゃないの。
コンパイルエラーが出るような場合、多くは「古いVer」だし。
「とりあえず」って言葉が誤解を招いているのに気付いてる?

503 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:32:27 ]
>>502
まあまあ、相手はJava使いでVB素人さんだ。もっと優しくしてやろうぜ!

504 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:35:35 ]
>>499
それなら9じゃなくて11をインストールするだろ普通は?

505 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:37:36 ]
おそらく11をインストした環境で9で設計したんだろうよ?

506 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:38:57 ]
ランタイム配布する時にどうするつもりなんだろ???

おそろしやおそろしや・・・

507 名前:466 mailto:sage [2008/06/17(火) 14:47:46 ]
言葉不足でした、申し訳ありません。

VBPからReference部分を抜き出しました。
4行目の指定からクリレポ9を使うべきなのか?と思っていました。
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\stdole2.tlb#Standard OLE Types
Reference=*\G{EE008642-64A8-11CE-920F-08002B369A33}#1.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\MSRDO20.DLL#Microsoft Remote Data Object 1.0
Reference=*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#..\..\..\..\..\..\..\..\WINDOWS\system32\DAO360.DLL#Microsoft DAO 3.6 Object Library
Reference=*\G{AF376990-6120-4E28-96DD-63FD2DC27B7A}#9.0#0#..\..\..\..\WINNT\system32\craxdrt9.dll#Crystal Reports 9 ActiveX Designer Run Time Library
VBP内の記述はどこまでならWeb上に出せる情報かも分かっていません。
すみません。

後は記述しなきゃいけないと思われる内容は
どうもDBから直接データを抽出するのではなくて
一度MDBファイルに落としてそっからレポートとして出してると見ています。
プロジェクト内にデザイナは存在しない。
その為にシステム共通のbasファイルがあってそこにCRPEAutoの記述がある。
ここでコンパイルエラーです。

過去に携わった人とちょっとだけ連絡取れて話が聞けたので
クリレポ11をインストールしました、またDLLも使うべきDLL(貰えた)で上書きしました。
でもエラーが消えていない状況です。
また、孫受けな為環境の変更に口出し出来ません。

508 名前:466 mailto:sage [2008/06/17(火) 14:55:58 ]
> 501
是非是非教えて下さい!お願い致します。

509 名前:466 mailto:sage [2008/06/17(火) 15:01:51 ]
追記:11を入れた後に参照してるのは
Crystal ActiveX Report Viewer Library 11.0
Crystal ActiveX Report Viewer Export Library 11.0
Crystal ActiveX Report Viewer Web Report Source Library 11.0
の3つです。

510 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:04:08 ]
>>508
以前、同じ問題に遭遇した事がある。そのときAGTechからもらった
CRPEAutoコンポーネント整合性修復ツールがあったと思うので探してみるよ。
ちょっと待ってて。



511 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:06:02 ]
環境が無いから、なんともいえないけど、コンパイルエラーが出るオブジェクト
または、メソッドについて、どもようなえらーが出るかで、対応は変わると思います。
エラーの内容(大事だよね)も必要かと。

512 名前:511 mailto:sage [2008/06/17(火) 15:08:31 ]
「どもような」?orz
まあ、そんな感じです。

513 名前:466 mailto:sage [2008/06/17(火) 15:09:09 ]
Object =に関してはクリスタルレポート関連は参照していないと思います。
システム固有のocxも入ってますので晒すとまずそうなんですが・・・
マイクロソフト系が2つ、スプレッドシート用が1つ、後はシステム固有が2つという状況です。

514 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:10:15 ]
セクションとかじゃなくアプリケーション、たとえば
Dim app1 As CRPEAuto.Application 
の段階でエラーが出ると理解してるが?違ったりして・・・

515 名前:466 mailto:sage [2008/06/17(火) 15:13:21 ]
失礼しました。
エラー内容は以下です。

コンパイルエラー:
ユーザ定義型は定義されていません。

516 名前:466 mailto:sage [2008/06/17(火) 15:17:10 ]
514の方の理解で合ってると思います。
ソース内の
Dim XXX As New CRPEAuto.Application
上記部分がエラーメッセージが表示された時に青くマーキングされます。

VBももうちょっと触っとけば良かったorz

517 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:17:20 ]
>>515
エラー発生行の内容(コード)は?

518 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:17:25 ]
参照設定、コンポーネント、または、バージョン不一致だな。
DLLだけ持ってきてホニャホニャしたなら別だが…

519 名前:466 mailto:sage [2008/06/17(火) 15:24:42 ]
> 517
515で記述したメッセージ以外は表示されていません。
エラー発生行のコードは516に記述している通りです。

どの参照をチェックすれば良いのか分からず
クリレポ関係の参照を全部チェックしてみたり、
コンポーネントを全部チェックしてみたりしたのですが駄目でした。
どっか根本的な所で勘違いしているのかもしれません。

520 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:32:21 ]
まさかとは思うが CRPEAuto.dll がレジストされていないんじゃないのか?
regsvr32 CRPEAuto.dll はやってみた?それでエラーにならない?



521 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:39:13 ]
クリーンな環境でCR11をインストして、Dim XXX As New CRPEAuto.Applicationが正常に
実行できる環境を作って、下のツールを使って CRPEAuto.dllとコンポーネントとの依存性を
確認してみたら?
www.programmersheaven.com/download/20851/download.aspx

それを現在の環境とで比較すれば、原因がわかるはず。

522 名前:466 mailto:sage [2008/06/17(火) 15:40:19 ]
> 520
regsvr32 CRPEAuto.dllはやっていません。
CRPEAuto.dllというdllファイルがないのですが、
こちらはCRPEAuto.dllというファイル名のファイルが存在しなくても実行可能ですか?

523 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:45:16 ]
>>522
お前は何を言っているんだ

524 名前:466 mailto:sage [2008/06/17(火) 15:47:12 ]
貰ったdllはクリスタルレポート11の
\Common Files\Business Objects\3.0\crystalreportviewers11内にある
ActiveXControlsをフォルダ事上書きしてくれと言われたので上書きました。
フォルダ内にはcab、dep、dll、oca、ocxが入ってました。

525 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:52:25 ]
>>524
上書きしただけでレジストしてないのか?
レジスト内容は9の当該コンポーネントのままだったり?
JAVAとは違うんだぞヲイ

526 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:53:27 ]
>>522
>CRPEAuto.dllというdllファイルがないのですが、

もしかして壮大な釣りだったの?

527 名前:466 mailto:sage [2008/06/17(火) 15:54:06 ]
> 523
ごめん、俺自身良く分かっていない。

ttp://home.att.ne.jp/banana/akatsuki/doc/other/windows01/
↑を見て
regsvr32 CRPEAuto.dllをコマンドプロンプトで実行してみた。
指定したモジュールが見つかりませんと出てきた。

> 521
いまいち理解出来ていないが頑張ってみる。

俺テンパってるな・・・orz
もしかして、VBの場合のdllのファイル名が
CRPEAuto.Application
↑のここと一致するのか?
Javaのクラス名とファイル名を一緒にするとかとちょっと似たようなもの?

528 名前:466 mailto:sage [2008/06/17(火) 15:58:29 ]
> 526
すまんが釣りのつもりはない!
VB素人でいきなり放り込まれて本当に訳が分かっていない。

Javaで例えてもらえると助かる。
Javaで言うと現在の状況はimport文の対象先が見当たらないから
コンパイルできないと怒られていて
import文の対象さえ見つかればどうにかなるんじゃないかな?
という認識だけど根本的に間違ってる?

529 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:58:52 ]
>>527
Javaのアプレットは登録しなくても良いだろうが
OCXとか DLLはregsvr32で登録しないと参照できないんだよ。
君の環境ではCR9は登録されているのは間違いないが
CRPEAutoの構成こんぽーねんとはコピーされただけで登録されていない。
登録された位置に参照DLLが存在しないとレジスト自体ができないはず。
VB6は簡単だと思ったかも知れないが、一歩踏み込めばOLEオートメーション
という地獄が口をあけて待ってるのさ。君はその口の中にどっぷり入ってしまったわけよ。

おめでとうWWWW

530 名前:529 mailto:sage [2008/06/17(火) 16:00:11 ]
単にDLLと言ったがActiveX DLLな。
もしかしてDLLが二種類あるのも知らないだろ?



531 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:11:12 ]
>>466
お前が偉そうな態度で物を言ってたから少しはデキル奴だと思っていた。

今、それが大きな間違いであった事に気付いたw

532 名前:466 mailto:sage [2008/06/17(火) 16:15:21 ]
> 529
えっと・・・やっぱりCR9をインストールしないといけなくて、
その後でCR9にあるCRPEAuto.dllというファイル名のファイルをregsvr32で登録しましょう
という理解であってますか?

CR9をアンインストールしてCR11を入れてWindowsのファイル検索で「CRPEAuto.dll」を検索したけど出てこなかった。
DLLが2種類あるのは遠い昔に勉強した気がするが最近は一切触ってないので覚えていませんでした。

533 名前:466 mailto:sage [2008/06/17(火) 16:21:51 ]
> 531
偉そうだったか・・・すんません!!
とりあえずVB素人なのは確定でお願いします。
プログラムを組んだのもこの業界に飛び込んでからで専門的に教えてもらった事もないorz
2chで技術的な質問をきちんとしたのは今回始めてで、
今まではググったり、自分で調べればどうにかなったのだが
今回は本当に何がなんだか訳分かっていないで準備期間も用意出来なかった。

534 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:26:13 ]
>すんません

などとふざけた態度とる奴に、お前はどう接する?

535 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:29:20 ]
>>466
お前の技量と目前にしている問題の大きさとがつりあわない。

困ったね。と、他人事だから軽く言うw

でも自分の問題だとしたらかなりやっかいだね。
正常に動いている時の状態があればまだしも
これじゃ複雑なパズルを解くようなもんだよ。

536 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:56:13 ]
VB6 において

_DragDrop() について、対象オブジェクト上での発生時
およびそれ以外での発生時ごとの処理が行いたいのですが、
どうやら一括しての「それ以外」処理は行えない様子

それではと言うことで _MouseUp() 時に処理を行えばいいかと
思ったのですが、DragDropを「0 - 手動」にしたうえで
_MouseDown() 内で .Drag を発生させると
その後マウスを放しても _MouseUp() が生じません

なぜかダブルクリックを行うと2回目の放したタイミングで
_MouseUp() が発生します


これはどのようにすれば対応可能でしょうか


537 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:57:12 ]
過去「VB初心者質問スレ Part4」において同じ悩みであろう


657 名前: デフォルトの名無しさん 投稿日: 01/12/27 16:22

Drag&Drop後のMouseUpイベントを取得する方法について教えて下さい。

具体的には...
DragModeを手動にし、MouseDows時にDragメソッド(引数 1)で
Drag&Dropを行うのですが、Drag&Drop後のMouseUpイベントが
取得できません。

フォーム外にDragされた場合に、イベントを取得できないので、
MouseUpであれば、フォーム外でもイベント取得できるので、
どうにかMouseUpを取得できれば良いのですが


と言うのがありましたがレスがなかったようでした

538 名前:466 mailto:sage [2008/06/17(火) 21:21:45 ]
失礼しました、少し頭を冷やしてきます。
お騒がして申し訳ございません。

539 名前:デフォルトの名無しさん [2008/06/18(水) 23:24:52 ]
xpとvb5.0を使ってます

バイナリアクセスでファイルを読み書きしたいのですが・・・
レコード位置の指定方法がわかりません。

構造体に値を入れてから
putで入れてるのですが
そのときにレコードの位置をセットする方法がわかりません。

2番目のレコードを取得するにはどうすればいいのですか?

ここのやり方でほぼそのまま作ったのですが
support.microsoft.com/kb/151335/ja


seek(#1)とやるとエラーがでました
あと
if EOF(#1)=true thenも
記述エラーが出ました

Seekでビット位置を取得しようと思ったのですが他にやり方があるのでしょうか?

また
持ってる本には
PRecord.FName = String(StrSize," ")が
String$

StrSize = Len(PRecord.FName)が
LenBだったのですが
それぞれの違いがわかりません


540 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:06:38 ]
すみません。ピクチャーボックスを回転させるには
どうしたらいいでしょうか?



541 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:29:35 ]
そんなものはないから相応のコード書け

542 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 16:51:48 ]
PlgBltというAPIがありました。

543 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:35:54 ]
>>539
なんだかよくわからない質問だけど、
seek(#1) → Seek(1)
EOF(#1) → EOF(1)
関数の「$」有無は、引数がNULL値の場合にNULLを戻すとか、エラーにするとか。
Lenは文字数、LenBはバイト数。

全部ヘルプに書いてある希ガス。

544 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:24:49 ]
>466がかわいそうだ
今後こういうパターン増えていくんだろうな


545 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 12:28:59 ]
>>543
>>539は自分で晒したKBの内容すら読めてない
日本語できない子だから英語で教えてあげて

もしくはスルー推奨

546 名前:デフォルトの名無しさん [2008/06/21(土) 16:33:11 ]
VB6ってもう手に入らないんですか?

547 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:33:39 ]
日本語出来ない以前にバイナリアクセスで次のレコードって…

548 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:51:38 ]
>>547
クマーーー

549 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:23:01 ]
>546
MSDN契約しな

550 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:25:16 ]
おいくら?



551 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:48:21 ]
ttp://direct.ips.co.jp/pc/ihtml/msdn_chart/
ここによれば単体で160,800円、Open Business2年で67,157円x2=134,314円になる。

552 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:08:39 ]
VB6の値段としては高いな

553 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:18:04 ]
VB6などはMSDNから外されてなかったっけ?
持ってるから興味ないけどさ

554 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:22:41 ]
JAVAを外してVB6.0だけ復帰してたはず

555 名前:日立バキバキ高野くん祭り [2008/06/23(月) 19:50:18 ]
1.日立製作所社員の高野くん(高野光弘)が会社を誹謗中傷して機密も漏洩
2.日立のユーザーにも「キチガイ」との障害者差別発言
3.日立製作所の企業イメージをバキバキにする
4.自身のサイトの『32nd diary』に掲載
5.日立製作所に通報される
6.あせって似顔絵削除
7.火に油を注ぐだけで所属する日本UNIXユーザ会にも通報祭り勃発
8.「給料泥棒」と説教される
9.「殺します」と殺人予告をして警察に事情を聞かれる←イマココ

高野光弘の行動
現在は、過去の記事を閲覧できなくして、「本日の日記はツッコミ数の制限を越えています」としています。
まずは、不愉快な思いをされた方々に謝罪するべきなのではないでしょうか。

高野光弘の発言
「まぁ、どこの団体もそんなにヤワじゃないので、平気なんですけども。
日本UNIXユーザ会が一番対応に慣れてる感じ。」

日本UNIXユーザ会が対応に慣れているか、みなさん確認してみてください。

連絡先
www.net.intap.or.jp/oiia/cont2/p0402.html%7B0recid=10168.html

556 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 21:26:58 ]
536です

上記の件についておわかりになる方、いらっしゃいませんでしょうか

557 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:23:11 ]
>>556
VBだけだと、無理なような気がします。

APIでドラッグ中オブジェクトのシステムメッセージを取ってみると、きちんと
マウスイベントは通知されているようです。
SetWindowLong、CallWindowProc などを調べてみてください。

上記のAPIを使う上での注意点としては、システムからVBの関数にコールバックさせるので、
後始末をきちんとしないと、動作が不安定になることがあります。

558 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:59:05 ]
>557
参考になりました
APIを使わずに回避したかったのですが
仕様ならやむ無しです

ありがとうございました

559 名前:デフォルトの名無しさん [2008/06/29(日) 16:04:13 ]
VBScriptで質問があります。
HTMLのselectタグの中のoptionタグをボタンで押すことで、
消したり追加したりしたいんですが、innerHTML以下のようにしたのですが、
駄目でした。どこが悪いのでしょうか?お力を。
ちなみにサーバサイドはASPです。
Sub changeRadio(strFlg)
Dim strAti
Dim strNvidia
<%
Dim strA
Dim strB
Dim intCounter
For intCounter = 0 to rs.recordcount-1
if left(rsGPU.fields.Item("vchGPUName"),1)="A" then
strA= strA & "<option value=""""" & rs.fields.Item("intA") & """"">" & rs.fields.Item("vchA") & "</option>"
else
strN= strB & "<option value=""""" & rs.fields.Item("intB") & """"">" & rs.fields.Item("vchB") & "</option>"
end if
rs.movenext
Next
%>
strAA="<%=strA%>"
strBB="<%=strN%>"

if strFlg="A" then
document.formA.SelA.innerHTML=strAA 'SelAがselectタグです
else
document.formA.SelA.innerHTML=strBB
end if
End Sub

560 名前:559 mailto:sage [2008/06/29(日) 16:09:26 ]
すいません、2行目訂正ですorz
>HTMLのselectタグの中のoptionタグをボタンで押すことで、
HTMLのselectタグをボタンで押すことでselectタグ内のoptionタグ

でした。



561 名前:559 mailto:sage [2008/06/29(日) 16:12:03 ]
ああ、また訂正です。。。。駄目だorz
NG
>Dim strAti
>Dim strNvidia

OK
Dim strA
Dim strB

...

562 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:18:29 ]
クライアントサイドはJavaScriptにした方がいいよ

563 名前:デフォルトの名無しさん [2008/06/29(日) 17:38:53 ]
VB(笑)
おまえらもう用なしだよw

564 名前:559 mailto:sage [2008/06/29(日) 17:51:36 ]
selectタグでは駄目なようなので、もう一段階上の階層に対して
InnerHTMLを使うことにしました。
お騒がせしました。

565 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:48:16 ]
treeviewですべてのノードを展開した状態で、上から何番目ってのを取得できるのでしょうか?

親を追加→子を複数追加→孫を複数追加〜みたいにノードを追加していくと、
ノードのindexって追加した順番に付いていき、上からの絶対敵な位置にならないので困ってます。
プロパティとか、色々見てみたんですが、なかなか思うようなものがなく。。。

おたすけくださいー。

566 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:50:04 ]
こんな感じの関数を作ればいいんじゃないかと。

Private Function fncGetNodeLine(twCtrl As TreeView, targetNode As Node) As Long
 On Error GoTo err_proc
  Const C_TREEDEPTH_MAX As Long = 10
  Dim lngCnt As Long
  Dim lngDpth As Long
  Dim nd(1 To C_TREEDEPTH_MAX) As Node

  fncGetNodeLine = 0
  lngCnt = 0
  If twCtrl.Nodes.Count > 0 Then

567 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:50:29 ]
--- 続き ---
    lngDpth = 1
    Set nd(lngDpth) = twCtrl.Nodes(1).Root.FirstSibling '先頭ノード
    Do
      lngCnt = lngCnt + 1
      If nd(lngDpth) Is targetNode Then
        fncGetNodeLine = lngCnt
        lngDpth = 0 '対象ノード発見時終了
      ElseIf nd(lngDpth).Children Then
        Set nd(lngDpth + 1) = nd(lngDpth).Child '子ノード
        lngDpth = lngDpth + 1
      Else
        Do
          If Not nd(lngDpth) Is nd(lngDpth).LastSibling Then
            Set nd(lngDpth) = nd(lngDpth).Next '次ノード
            Exit Do
          End If
          lngDpth = lngDpth - 1 '一つ上のノードに戻る
        Loop While lngDpth > 0
      End If
    Loop While lngDpth > 0
  End If

568 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:50:57 ]
--- 続き ---
exit_proc:
 On Error Resume Next
  For lngDpth = 1 To C_TREEDEPTH_MAX
    Set nd(lngDpth) = Nothing
  Next lngDpth
  Exit Function

err_proc:
  MsgBox Err.Description, vbCritical, "Error"
  fncGetNodeLine = -Err.Number
  Resume exit_proc
End Function

569 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:59:52 ]
関数にfncなんてプリフィクス付ける人初めて見たよ。
よく見る'obj'以上に無意味だと思うんだけどね。

いや、コードを読む人間をいらつかせる機能を狙ってるのなら
そういう意味はあるけど。

570 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:20:12 ]
>>569 そうか?
VBでのプロジェクトのコーディング規約で、たまに見るけどねw
意味は無さそうだけど、「関数の戻り値に代入している」という事が判別しやすい。
という、VB特有の意味はあるかもしれないかもしれないかも………。



571 名前:デフォルトの名無しさん [2008/06/30(月) 00:23:17 ]
>>569
コーディング規約に噛み付いてどうする。
fncもsubもよく見かけるし、そもそも規約なんてそのプロジェクトにとって意味があるかどうかだろ。
あなたがどんなプロジェクトに関わってきたのか知らないけど、
正常orエラーを返す関数をcallで呼んで戻り値評価しない奴がいたり、
オブジェクトの開放処理をしない奴って結構多いよ。
特に人の入れ替わりが激しいとこや新人率が高いとこなんて、
一人が規約を無視してそのコピーが疑問なしに次々と乱立することも少なくない。
関数にはfncをつける→fncはそこでは不要でも必ず戻り値の評価をする、とか
参照型はobjをつける→Exitする際に必ず開放する
といった決め事にした方が、品質の高いプログラムを作りやすいことも多い。

572 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 01:33:06 ]
VB6は誤ったハンガリアン記法の品評会だったからしょうがない
一応正しいハンガリアン記法というのもあって
変数が言語のもつ型以外の意味をもつ場合につけるプレフィックス
例えば整数じゃなくてこれはハンドルだという場合にhをつけるのは正しい

573 名前:デフォルトの名無しさん [2008/06/30(月) 01:39:03 ]
日本語でおk

574 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 01:58:48 ]
解放、な。

575 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:39:56 ]
>>571
こういう場所に質問に答える形でコピペしてるコードに「コーディング規約」って
意味不明だろうw

別にそんな訳のわからない理屈振り回さなくても素直に「俺の趣味だ」でいいじゃん。
まあ個人的には愚かな趣味にしか思えないけどね。

576 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:28:25 ]
「fncXXX」に噛み付いてみた → 「初めて見た」に噛み付いてみた → 「コーディング規約」に噛み付いてみた
次は何かな?

577 名前:デフォルトの名無しさん [2008/07/01(火) 10:40:07 ]
fncくらいでイラつく理由がわからない。
あーこの人はこういう書き方するのねって思うだけだけど。

578 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 11:04:07 ]
intを返すIsなんちゃらの乱立よりはマシww

579 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 16:31:36 ]
>>578
Integerを返すIsナンタラで真なら 0 / 偽なら -1 を返す、
Booleanを知らない奴が作った関数なら知ってる。
頭のコメントに「備考」と称して、
「VBにもBOOL型があればいいのに」
って書いてあって、最初見たとき素で笑ってしまったw

580 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 22:37:07 ]
>>577
別にイラつく、とまでは書いてないけどね。

しかし、まあVBスレでこんなこと書くのもなんだが、
過去の自分含めて他人の「アホな」作法を見てイラつくような性格じゃないとしたら
その人はプログラマの適正を欠いている、と個人的には思うよ。



581 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:34:56 ]
お前はそんな性格だから禿げるんだよ

582 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:45:56 ]
>>580

583 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 14:27:15 ]
WORKGROUP

584 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 11:07:02 ]
>>580
お前は人としての適正を欠いてるわ、と個人的には思うよ。

585 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 15:18:05 ]
>>584
正直あまり笑えない。

586 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 17:02:21 ]
うちはVBとVB.NETでコーディング規約を替えてる
うはややこい

587 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:42:06 ]
OS:XP SP2/Vista SP1
VB6 SP6で開発してます。
XPとVistaでインストーラを分ける必要ありますか?
ちなみにVisual Studio Installerを使ってます。

588 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 23:25:26 ]
びす太の夏休み

589 名前:デフォルトの名無しさん [2008/07/16(水) 01:26:17 ]
VB6でDeleteキーを効かなくしたくて、
KeyDownイベントハンドル内に
KeyCode=0
と入力したのですが
キーが効いてしまいます。
.NETではこのように書くように載っていたのですが
6.0では違う書き方なのでしょうか?
それか、Deleteキーをきかなくするのに、
keydownイベントを用いること自体が違うのでしょうか。


590 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 16:28:01 ]
>>589
「効かなく」とは、どういう事なのか、もう少し具体的に書かないと…



591 名前:デフォルトの名無しさん [2008/07/16(水) 21:11:17 ]
デバイスの有効、無効を切り替えたいのですが、どのようなコードを書けばよろしいでしょうか
デバイスはUSB接続のゲームコントローラです

592 名前:デフォルトの名無しさん [2008/07/16(水) 23:48:28 ]
>>590
確かに分かりにくいですね…
キー操作を無効にしたいです。
KeyPressイベントハンドル内での
KeyAscii=0
と同じ操作をKeyDownイベントハンドル内で
行わせるにはどのように書けばいいのでしょうか。
よろしくお願いします。

593 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 14:30:52 ]
>>592
KeyCode=0で間違ってないと思ますよ。
もし、フォームでイベントを拾おうとしているならば、KeyPreviewプロパティに注意するくらいかな。

594 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 14:41:18 ]
VBScriptで、
IEの右クリックから呼び出した場合と、
2chブラウザ(IEコンポーネントブラウザ)の右クリックから呼び出した場合を、
見分ける方法について教えて下さい。

navigator.appnameやnavigator.useragentは、
2chブラウザから呼び出した場合でも、IEそのものに成ってしまって、区別出来ないので、、、

どうぞよろしくお願い致します。


if 2chブラウザなら then
    window.open(TargetURL)
else
    Call external.menuArguments.open(TargetURL, "_blank")
end if

という様に、2chブラウザからならIEを立ち上げて、
IEからなら別タブに表示させたいのです。


595 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 20:53:06 ]
>>594
スレタイ100回読み直せ。

596 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 21:56:54 ]
スレタイを読み直してどうしろと言うのか

597 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:15:45 ]
>>595

>>1
>二.VBScript、インストーラーなどはこのスレでOK。 


598 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 15:14:53 ]
マルチ
ttp://www.happy2-island.com/bbs/bbs.cgi?#1002


599 名前:デフォルトの名無しさん [2008/07/20(日) 23:08:11 ]
>>596=598=粘着乙w

600 名前:デフォルトの名無しさん [2008/07/21(月) 01:28:44 ]
VBだけでコールバック関数を実現したいんですが、無理でしょうか?
ちなみにcallptrというDLLを使って実装はできるのですが、
なるべくVBだけでできる方法はないかなと模索中です。



601 名前:600 [2008/07/21(月) 02:23:04 ]
ちなみにこれで実現は可能ですが、
CallPtrの方はDLLしかもソースが公開されていないのでいまいち。
VBで関数ポインタによる関数の実行はかなりいいのですが、コールバック関数の
中でMsgBoxなどのメソッドは呼べないし、引数使うと落ちたりと不安定です。

CallPtr.DLL
www.softcircuits.com/dl/tools/callptr.zip
VBで関数ポインタによる関数の実行
nienie.com/~masapico/doc_FuncPtr.html

こんな風にVBでコールバックできます。でも引数渡すと落ちます。
Private Sub Command2_Click()
CallFuncPtr AddressOf testproc, "test message"
End Sub

Public Function testproc(srcmsg As String) As Long
Debug.Print "a"
testproc = 0
End Function


602 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 09:19:36 ]
callbyname

603 名前:デフォルトの名無しさん [2008/07/22(火) 00:25:51 ]
質問なのですがVB6で両替させるにはどうすればようのでしょうか?
ttp://quote.yahoo.co.jp/m3?u ←このレート計算みたいな感じです。

[ ][combo1]を [Text1]に [Command1] [  ]
数字  ドル     円     換算     結果
    ポンド
    ユーロ

お願いします
 

604 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:29:30 ]
>>603
コードを書けつってるの?
どのようにってifかselectで判定させるだけなんだけど

605 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:33:50 ]
レートをどこから持ってくるつもりだ

606 名前:デフォルトの名無しさん [2008/07/22(火) 00:33:53 ]
そうなんですコードを知りたいんです


607 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:36:51 ]
レートは固定でドル107・ポンド213・ユーロ169です
申し訳ありません

608 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:40:22 ]
難しくないからがんばれよ

609 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:42:33 ]
自力でがんばってみます
短い間でしたがありがとうございました。


610 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 00:53:38 ]
>>609
あと数分待て



611 名前:デフォルトの名無しさん [2008/07/22(火) 01:05:12 ]
フィードパス使え

612 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 01:06:57 ]
コードだけ貼れないから直接見ろ
www.uploda.org/uporg1558257.zip

613 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 01:13:08 ]
本当にありがとうございました
助かります

614 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 01:55:27 ]
なぜドル・ポンド・ユーロが2つずつあるのでしょうか?
あと「うんこ」の部分を「換算」に変えたいのですがどこをいじればいいのですか?

615 名前:600 mailto:sage [2008/07/22(火) 02:06:09 ]
こんな糞コード弄らないで1から書けよ

616 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 05:02:59 ]
>>612

614にコメントしたことはさきほど変えられました。
ありがとうございました

617 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 09:56:53 ]
すみません。フォームをunload meで閉じたあとに
そのフォームがフォームのkeyupイベントを拾ってしまって
勝手にloadされてしまうのですが
このようなことってあるのでしょうか?
フォームはkeypreviewがonになっています。

618 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 10:53:09 ]
質問します

Option Explicit

Sub zzz()
Dim hoge(3) As Variant
Dim hogehoge As Byte
Dim z As Byte

For z = 1 To 3
For hogehoge = 1 To 3
hoge(z) = Range("A" & hogehoge).Value
Next hogehoge
Next z
End Sub

上のようなコードで、zとhogehogeを同時に
インクリメントすることは可能でしょうか?

619 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 11:31:42 ]
いやそのかんがえかたはおかしい

620 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 12:24:11 ]
自己解決しました



621 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 19:25:55 ]
すんませんが・・・教えてください。

VB6から使えるコントロールで、msinet.dll を使わないで、独立してHTTP通信を
カプセルするものって無いでしょうか?Grapecity さんのは内部でmsinet使っている
らしくて・・・

有償ものでかまいません。出来れば日本語版がいいけど・・


622 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 21:24:18 ]
WinHTTPとかどうよ

「Microsoft WinHttpRequest Component」を参照追加して
Dim WinHttpReq As New WinHttp.WinHttpRequest
WinHttpReq.Open "GET", "www.microsoft.com/", FALSE
WinHttpReq.Send
Dim d() As Byte
d() = WinHttpReq.ResponseBody

だってさ。

623 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 21:43:01 ]
読むだけならopenだけでできなかったっけ?

624 名前:621 mailto:sage [2008/07/23(水) 03:41:39 ]
WinHTTP・・・調べてみます。xmlhttp ではなくって?

しばらく考えて・・・結局、NICを直接使うDLLなんかまず無いだろうから、
WinINet.dllを使っているレベルで妥協するしかないのかなと・・・
openURL のバグがたまに起きるのが面倒なのと、アップロード時(POST)に途中でちょん切れる
PCがたま〜にあるんですよね。古いPC相手にするのは面倒っす


625 名前:デフォルトの名無しさん [2008/07/23(水) 09:17:50 ]
スレ違いな気もするのですが、VB6ならなんとか組めるので
ここで質問させていただきます。よろしくお願いします。

現在PCにLANで接続されたプリンタが約50台程登録されています。
プリンタはプロパティ>印刷設定>給紙で、印刷先のトレイを設定しています。
今回このPCを新しくする事になり、旧PCの設定が正しく新PCへ引き継がれているという資料を
提出しなければいけなくなりました。

この50台のプリンタ(物理的には20台)の印刷先トレイの設定情報を
textでも印刷設定画面の画像でも、なんでもいいので一覧で出力したいのですが
良い方法がありますでしょうか?

rundll32 printui.dll,PrintUIEntry /e /n "PrinterName"
で印刷設定画面までは表示できたのですが、給紙のタブへ切り替えたりする方法がわかりません。

rundll32 printui.dll,PrintUIEntry /?
で出てきた内容を見ていくつか試してみたのですが、目的とする物は出力できませんでした。

アドバイスよろしくお願いいたします。

626 名前:625 [2008/07/23(水) 09:21:04 ]
環境を書くのを忘れていました。
OS:Win2000(SP3)
プリンタ:CANON LBPシリーズ
VB:VB6(SP6)


627 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 11:42:58 ]
給紙のタブに切り替えるのはSendKeyとかでCtrl+Tab送ってあげればいいんじゃない?
悩んでるぐらいならハードコピーとって切り貼りした方が絶対早く終わると思うけど。


628 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 22:42:33 ]
どーせレジストリに格納されてるんだろうから、
regmonあたりで格納場所を決定して、あとは
リモートレジストリ経由で取ってまわったら終わりじゃないの。

629 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 22:10:33 ]
>>624
低水準なものが欲しいなら、Winsock使ったら?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<166KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef