トップページ⇒tech
1001コメント307KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2007/01/28(日) 10:57:31
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

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

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

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

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

※「まず自分で調べる」クセを身につけよう。
0002デフォルトの名無しさん2007/01/28(日) 10:58:14
過去ログ
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
0003デフォルトの名無しさん2007/01/28(日) 10:58:54
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc5.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc5.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc5.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc5.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc5.2ch.net/tech/kako/1050/10501/1050151126.html
  Part25 http://pc5.2ch.net/tech/kako/1052/10526/1052627913.html
  Part26 http://pc5.2ch.net/tech/kako/1055/10551/1055145106.html
  Part27 http://pc5.2ch.net/tech/kako/1058/10586/1058674927.html
  Part28 http://pc5.2ch.net/tech/kako/1061/10612/1061296197.html
  Part29 http://pc5.2ch.net/tech/kako/1065/10654/1065446334.html
  Part30 http://pc5.2ch.net/test/read.cgi/tech/1069160036/
0004デフォルトの名無しさん2007/01/28(日) 10:59:34
  Part31 http://pc5.2ch.net/test/read.cgi/tech/1073732636/
  Part32 http://pc5.2ch.net/test/read.cgi/tech/1077216109/
  Part33 http://pc5.2ch.net/test/read.cgi/tech/1080606445/
  Part34 http://pc5.2ch.net/test/read.cgi/tech/1084544243/
  Part35 http://pc5.2ch.net/test/read.cgi/tech/1087519251/
  Part36 http://pc5.2ch.net/test/read.cgi/tech/1092906058/
  Part37 http://pc5.2ch.net/test/read.cgi/tech/1090286450/
  Part38 http://pc5.2ch.net/test/read.cgi/tech/1095673000/
  Part39 http://pc5.2ch.net/test/read.cgi/tech/1099737063/
  Part40 http://pc5.2ch.net/test/read.cgi/tech/1106748775/
  Part41 http://pc8.2ch.net/test/read.cgi/tech/1112414085/
  Part42 http://pc8.2ch.net/test/read.cgi/tech/1116924129/
  Part43 http://pc8.2ch.net/test/read.cgi/tech/1123952677/
  Part44 http://pc8.2ch.net/test/read.cgi/tech/1130231657/
  Part45 http://pc8.2ch.net/test/read.cgi/tech/1133977286/
0005デフォルトの名無しさん2007/01/28(日) 11:00:27
  Part46 http://pc8.2ch.net/test/read.cgi/tech/1138975113/
  Part47 http://pc8.2ch.net/test/read.cgi/tech/1141320612/
  Part48 http://pc8.2ch.net/test/read.cgi/tech/1146678926/
  Part49 http://pc8.2ch.net/test/read.cgi/tech/1152667953/
  Part50 http://pc10.2ch.net/test/read.cgi/tech/1161517193/
0006デフォルトの名無しさん2007/01/28(日) 11:42:12
モジュールからデータベースを登録しようとしていますが登録できません
以下プログラムに間違いがありましたら教えてください。
@アクセスを開こうとすると「安全でない式がブロックされます」とでるのですが
マクロセキュリティを低にする以外にメッセージを出なくする方法はないのでしょうか?

VB:6.0SP6
DB:Access2003

' 概 要:テーブル追加
Private Sub pMakeTableMstABC()
Dim wrstwrk As Recordset
Dim wstrsql As String

On Error Resume Next
wstrsql = "SELECT * FROM MSTABC"
Set wrstwrk = gConnDB.OpenRecordset(wstrsql, dbOpenDynaset)
If Err.Number <> 0 Then
wstrsql = ""
wstrsql = wstrsql & "CREATE TABLE MSTABC ("
wstrsql = wstrsql & "NUMBER INTEGER NOT NULL,"
wstrsql = wstrsql & "NAME TEXT(60),"
wstrsql = wstrsql & "BIKOU TEXT(100))"

gConnDB.Execute wstrsql
0007デフォルトの名無しさん2007/01/28(日) 11:43:37

'主キー設定
wstrsql = ""
wstrsql = wstrsql & "ALTER TABLE MSTSENSYU ADD "
wstrsql = wstrsql & "CONSTRAINT PKEY_MSTABC PRIMARY KEY (NUMBER)"
gConnDB.Execute wstrsql
End If
wrstwrk.Close
' 概 要:データベースを開く
gOpenDatabase = False
Set gConnDB = OpenDatabase(App.Path & "\AAA.mdb")
gOpenDatabase = True
Exit Function
End Sub
0008デフォルトの名無しさん2007/01/29(月) 04:20:24
exeから引数渡しをしたいのですが

aaa.exe bbb ccc

の様なVB6.0で出来るのでしょうか?
あるのなら、やり方のってるホームページ等を紹介して欲しいのですが
000982007/01/29(月) 07:04:23
command 関数使えば良いことがわかりました
初心者の質問ですみません
0010デフォルトの名無しさん2007/01/29(月) 17:19:44
MS VB6.0(SP5)使ってるのですが、ヘルプのバージョン情報で見れる項目についての質問です。

複数VB6が入ってるPCがあります。その中の1台だけバージョン情報のウィンドウで一番下に出ている
virsion:8988  VBA: Retail 6.0.8964 は他のPCと同じなんですが
Forms3: のみ他のPCと異なっています。 1台だけ2.01と表示され他のPCは11.0.58XXとなっています。
全てXP ProにSP5を同じように適用しているのですが・・・
Forms3の項目は一体何でしょうか?インストールされているofficeによって違ってきてる気もします。
また、これが違うとフォームでのキーイベントの挙動が他と異なることはありますか?
0011デフォルトの名無しさん2007/01/29(月) 21:01:54
>>10
答は自分で分かってるじゃん。
0012デフォルトの名無しさん2007/01/30(火) 09:11:00
VB6.0からVB.NETでつくったWEBサービスを呼び出したいのですが
何かコンポーネントとかCOMとかありますでしょうか?
0013デフォルトの名無しさん2007/01/30(火) 10:42:52
>>12
VB.NETでWEBサービスを呼び出すクラスを書きそれをCOMとして登録する。
それをVB6から呼び出す。
0014デフォルトの名無しさん2007/01/30(火) 10:48:34
XMLHTTPを使うことにしますた。
0015デフォルトの名無しさん2007/01/30(火) 22:04:13
1000x1000のbmp画像の任意の座標のRGB色を調べたいのですが、
画像そのものを表示しないで行う方法はあるでしょうか。

非表示のPictureBoxにこの画像を読み込んで
Pointメソッドで取得しようとしても、Pointは非表示だと-1しか返さないし、
目立たないくらい小さく表示しても、表示してる部分の領域以外は-1を
返すので使い物になりません。
0016デフォルトの名無しさん2007/01/30(火) 23:04:15
>>15
オートリドローだかなんだかのプロパティで表示しなくてもできた気がするがしばらく触ってないからなあ
まあなんいじればうごくよ
BMPならファイル操作でも難しくないけどさ
0017デフォルトの名無しさん2007/01/31(水) 00:44:35
六角形を書いてその内部を塗りつぶすプログラムを作っているのですが・・・
前スレの>>372-373か>>381-386が
使いたいのですが、どうすれば使えるようになりますか?
教えてください。
0018デフォルトの名無しさん2007/01/31(水) 05:17:39
すいません、分らないことがあるので教えてください。

オプションボタンを何個か配置して、その一つを選んでからコマンドボタンを押すと
リストボックスにテキストファイルが表示されるようなプログラムを作ったのですが、
そのリストボックスに表示されているテキストファイルを、
ダブルクリックしてテキストボックスに中身を表示させたいのですが、
どうすればいいでしょうか?
0019デフォルトの名無しさん2007/01/31(水) 08:29:19
>>18
プログラムの仕様を書いてるだけじゃない、どこがわからないんだい?
0020デフォルトの名無しさん2007/01/31(水) 10:46:54
コマンドボタン押した時点でもうリストボックスに表示してるじゃんか
0021デフォルトの名無しさん2007/01/31(水) 11:54:53
つ[DblClick]

ダブルクリックしたファイル名の取得とか
そのファイルのオープンからテキストBOXへの展開とかの話じゃないやね?
0022デフォルトの名無しさん2007/01/31(水) 12:06:29
ちょっと教えて下さい。えっと、、VBでp-codeコンパイルされた実行ファイルが
あるんですが、、実行すると、、色んなDLLをロードしてるようです。。
実行ファイルの.idataセクションを見ると実行ファイル自体は、VBのランタイムDLL
しかロードしてないようなのですが、他のDLLはVBのランタイムDLLからロードしている
という解釈でいいでしょうか?
VBの実行環境についての資料を色々探しているのですが、見つからないのです、、、

0023デフォルトの名無しさん2007/01/31(水) 20:57:07
>>22
ランタイム以外から呼び出すDLLがあるかはプログラムによる。
Declareは確か実行時に参照したはずだし、
LoadLibraryやら使って参照するような事もあるだろうし。

つまり作った奴に聞いたほうが早いということです。
0024222007/02/01(木) 11:59:40
>>23
作った人辞めちゃったんですよね、、ソースも当然無いと、、、
だから困ってるわけです。参照してるDLLのバージョンが古くて動かないので何とか
ならないものかと四苦八苦してるわけです。

0025デフォルトの名無しさん2007/02/01(木) 12:06:55
ソース無いものはどうしようもない。
会社として土下座するかばっくれるか決めるのが普通。
0026デフォルトの名無しさん2007/02/01(木) 12:22:10
会社にソースが無いっておかしいだろ
0027デフォルトの名無しさん2007/02/01(木) 12:49:32
>>26
世の中おかしい会社は一杯アル。
0028デフォルトの名無しさん2007/02/01(木) 12:51:44
VB6.0でCで作ったLibを利用することってできますか?
0029デフォルトの名無しさん2007/02/01(木) 12:53:56
Libは厳しいな
DLLにしてくれ
0030デフォルトの名無しさん2007/02/01(木) 13:46:20
リンカオプションかリンカに突っ込めばできないかな?
0031デフォルトの名無しさん2007/02/01(木) 13:50:37
できない。
ネイティブコンパイルにしてもリンクはいじれないし。
0032デフォルトの名無しさん2007/02/01(木) 13:54:11
がーん
0033デフォルトの名無しさん2007/02/01(木) 13:59:33
あー、なんか出来そうだな
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vccore/html/_core_linker_reference.asp

VB6のlink.exeも同じだろ、きっと
0034デフォルトの名無しさん2007/02/01(木) 14:03:44
わからん・・・。具体的に教えてください><
0035デフォルトの名無しさん2007/02/01(木) 14:06:03
nmakeでVBのソースメークしろってことだろ?
そんなするぐらいならそのLIBをラップするDLLを書くほうが30分作業。
0036デフォルトの名無しさん2007/02/01(木) 17:05:54
リンクさせるだけならVBAEXE6.libを置き換えれば簡単だね
0037デフォルトの名無しさん2007/02/01(木) 17:26:46
デバッグがめんどくせえぞ
0038デフォルトの名無しさん2007/02/02(金) 11:34:30
よく、バージョン情報などのところに、ホームページのアドレスが書いてあって、
そこをクリックするとブラウザが立ち上がり、そのURLのページが表示されると
いう機能がありますが、ブラウザを立ち上げ、URLを指定するのはどのように
すればよいのでしょうか。
イベントは、ボタンのクリックでもよいのですが、利用者が使用しているブラウザ
を立ち上げる方法が…。
どなたかご存じありませんか?
0039デフォルトの名無しさん2007/02/02(金) 12:14:43
ShellExecuteだお
0040デフォルトの名無しさん2007/02/02(金) 12:33:34
>>39
どうも、ありがとうございます。

実は、

Dim Ret As Long
Ret = ShellExecute(Me.hWnd, "Open", "EXPLORER.EXE", "http://www.yahoo.co.jp/";, " ", SW_SHOW)

とかやってみたんですが、これだとIE限定になってしまうので困っていたんです。
IE以外でも立ち上がる方法を検索してみます。
0041デフォルトの名無しさん2007/02/02(金) 12:41:31
先に言えよ馬鹿限定してるから限定になってんだろ馬鹿
0042デフォルトの名無しさん2007/02/02(金) 12:58:45
つ「ByVal 0&」
0043デフォルトの名無しさん2007/02/02(金) 13:22:05
call shellexecute(me.hwnd, "open", "http://www.yahoo.co.jp/";, vbNullString, vbNullString, 0)
0044デフォルトの名無しさん2007/02/03(土) 03:12:17
皆さん。

遅くなってすみません。
ありがとうございます。

41、42さんありがとうございます。皆さん、プロの方でしょうか。それとも学生さんでしょうか。
いろいろ、試してみることが大切ですね。

また、43 さんの、そのままをプログラムに入れましたら起動しました。
とても、有り難く、また恐縮します。

出来たら、私も人の役に立てるように、TIPSみたいな形で残せれば…と思いますが、
だた、私のスキルではないのでつらいところです。

これから、また、前進します。

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


0045デフォルトの名無しさん2007/02/03(土) 03:20:07
いまさら6.0なんて覚えてどうするんだ
進む道を間違えてる
0046デフォルトの名無しさん2007/02/03(土) 09:17:33
>>44
そのTIPSはきっちりMSDNに載っているし、あらゆるリファレンスに
載っている話だからお前はそんな心配せんでもいい。

0047デフォルトの名無しさん2007/02/04(日) 05:29:38
6.0と2005ってかなり変わってるな
これならC#に切り替えた方がいいかな・・・
0048デフォルトの名無しさん2007/02/04(日) 10:08:04
100,000,000円を 1億1000万円と表示させるのにいい方法ってありますか?
0049デフォルトの名無しさん2007/02/04(日) 10:08:41
すんません
110,000,000円でした
0050デフォルトの名無しさん2007/02/04(日) 11:15:56
フォーマット関数でどうにかなんね?
0051デフォルトの名無しさん2007/02/04(日) 12:39:15
何に使うかわからんが
金額を表示するものは、3桁毎に ,打ったスタンダードの表示方法の方が
後々良いと思うがな
0052デフォルトの名無しさん2007/02/04(日) 12:42:34
○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
0053デフォルトの名無しさん2007/02/04(日) 12:49:02
だからそんなものに誰も合意した覚えはないってw
0054デフォルトの名無しさん2007/02/04(日) 13:13:11
合意は関係無い
1は心得であり守るルールだ
従え
0055デフォルトの名無しさん2007/02/04(日) 13:20:31
別にお前さんが勝手に従うことまで止めはしない。
だが俺はやなこった
0056デフォルトの名無しさん2007/02/04(日) 14:00:09
そんなもん守る義理はないが、>51はどれにも当てはまらん。
単なるサジェスチョンでしょ?ちなみに>48については
お手軽な方法はない、自分で地道に実装するしかない、が回答。
0057482007/02/04(日) 14:13:34
ありがとうございます

9999万以上の数字を左から桁数とって億単位の場所に移すという形にしました。
0058デフォルトの名無しさん2007/02/04(日) 15:14:40
1兆を10000億と表示しそうだ。
0059IISがありません2007/02/04(日) 16:38:31
aspを使おうと思って、IISをインストールしようと思ったんですが、
おいらの「windows xp professional 再インストール用cd service pack 1a同封」というやつには、
iisが入っていません。
professionalなのにホントに入っていないんでしょうかね?それともおいらの探しかたがおかしいのでしょうか?
.net frameworkというのははいっています。
どなたか教えてくださいませ!!!
0060デフォルトの名無しさん2007/02/04(日) 16:42:47
激しくスレ違いだが、コントロールパネルのプログラムの追加と削除の
Windowsコンポーネントの追加と削除にIISの選択肢がある。
0061IISがありません2007/02/04(日) 16:47:41
いや、、、
それが、選択肢に無いんですよ。。。
なんで?????
再インストールcdだから?
ちなみにOSインストール済みのデルパソコンを買ったんですが。。。
激しくすれ違いなんですが、どこのスレに行けばいいのかもわからなくて。。。
0062デフォルトの名無しさん2007/02/04(日) 17:12:04
[コントロールパネル]→[プログラムの追加と削除]→[Windowsコンポーネントの追加と削除]→
[Windowsコンポーネントウィザード]のアクセサリとユーティリティの次にない?
あとマルチいくない。
0063デフォルトの名無しさん2007/02/04(日) 18:23:11
インストールされているのがProfessionalならデルに言えばどうか
0064IISがありません2007/02/04(日) 19:35:39
なんや、きみら、ぜんぜん役たたんなぁ。

>62
だからないっちゅってるやろ!!
0065デフォルトの名無しさん2007/02/04(日) 20:24:11
俺のプチ予言
>>52みたいな奴に限って、>>64みたいの絡みだす自分棚上げ野郎ぶりを発揮するんだよねw
0066デフォルトの名無しさん2007/02/04(日) 20:53:28
ひんと
 つ メアド
0067622007/02/05(月) 00:02:17
ただのマルチ野郎だと思う。少なくとも人に質問する態度ではないわな。
>64
デルのサポートに電凸が最善。向こうのスレでも同じ反応でしょ?
0068デフォルトの名無しさん2007/02/05(月) 10:53:53
質問です
テキストやラベルなどものすごい数がある場合
オブジェクト名ってどうされてますか?

すべて手直しして分かりやすいように変えてます?
0069デフォルトの名無しさん2007/02/05(月) 11:18:04
>>59
>>ttp://www.cisco.com/japanese/warp/public/3/jp/service/tac/788/AVVID/oem-guided-instal-util-j.html
0070デフォルトの名無しさん2007/02/05(月) 11:20:31
>>68
配列
0071デフォルトの名無しさん2007/02/05(月) 16:37:57
VBとは無料で手に入るものなのですか?
0072デフォルトの名無しさん2007/02/05(月) 16:38:41
>>70
ありがとうございます
勉強しなおしてできました
0073デフォルトの名無しさん2007/02/05(月) 16:44:54
>>71
君をひよっこマスターに認定。
0074デフォルトの名無しさん2007/02/05(月) 16:49:27
今、ものすごくほしいんです!
探して見つけては、なんどもDLしてるんですが・・
インストールがうまくいかなかったり・・とりあいず教えてください。!
0075デフォルトの名無しさん2007/02/05(月) 16:56:15
>>74
ダウンロード元のサイトに問い合わせてください
0076デフォルトの名無しさん2007/02/05(月) 17:01:18
>>75
はい。
0077デフォルトの名無しさん2007/02/05(月) 17:24:02
For k = 0 To 14
'ランダム値
wsrand = Int((70 - 51 + 1) * Rnd + 51)
MSGBOX("wsrand")
Next k

この場合ですが、ループしている間
同じ数値を出さない方法というのはありますでしょうか?
0078デフォルトの名無しさん2007/02/05(月) 17:26:44
なんだこれは
0079デフォルトの名無しさん2007/02/05(月) 17:50:03
よくわからんが
51〜70までのランダムな数字を
15個取ってるって感じか?

MSGBOX("wsrand")
これが理解不能・・・
なんで値じゃなくて
String型の文字列を
表示させてるんだ・・・?
0080デフォルトの名無しさん2007/02/05(月) 18:49:29
ぼうやだからさ
0081デフォルトの名無しさん2007/02/05(月) 18:53:29
VB6のことなんですが、質問させてください。

http://f8.aaa.livedoor.jp/~spring/up/img/089.jpg
http://f8.aaa.livedoor.jp/~spring/up/img/088.jpg

やろうとしていることは、File1で表示されている名前をtxtFileNameに表示させて、
ファイル名を変更して上書きしたいのですが、実行すると、エラーで「ファイルがみつかりません」
となってしまいます。

プログラムをどのように変更したらいいのか、教えてください。
0082デフォルトの名無しさん2007/02/05(月) 19:12:07
>>81
てか、そもそも変更の元になるVBのソースはどこだよwww

↓と言う事でエスパーヨロwww
0083デフォルトの名無しさん2007/02/05(月) 19:37:58
>>81
Nameのファイル名のところ、なんでダブルコーテーションで囲ってるの?
0084デフォルトの名無しさん2007/02/05(月) 19:47:01
最近は変数をダブルクォートで囲むのが流行ってるらしい
0085デフォルトの名無しさん2007/02/05(月) 20:45:13
>>71
VBAならオフィス持ってれば無料で手に入るw
0086デフォルトの名無しさん2007/02/05(月) 20:46:32
固定ダイアログのフォームをMDI FORMの子フォームから
開いたときに、ときどきフォームの高さが変わるんですけど
原因はなにがかんがえられますでしょうか?
0087862007/02/05(月) 21:04:12
ときどきというのはプログラムを起動してその固定ダイアログを開くときです。
0088862007/02/05(月) 21:34:49
EXEを作って実行したら起きないかもしれないです。
0089デフォルトの名無しさん2007/02/05(月) 22:55:37
俺もフォームやコードを入力するウィンドウを最大化してない状態だと
そうなる事がある
VBの統合環境のバグっぽい
0090862007/02/05(月) 23:03:54
>>89
そうなんですか。。。
ありがとうございます。
0091デフォルトの名無しさん2007/02/06(火) 05:48:20
参ったなwin98にVS6proからVBだけ消してたんだけどVB再インスコしたら
VFAT初期化エラだ氏ねw
レジ復帰させて戻したが
あークリーンインスコしないとだめぽいメンドクサ
やめたw
0092デフォルトの名無しさん2007/02/06(火) 09:00:04
勝手に参ってろ。
0093デフォルトの名無しさん2007/02/06(火) 11:16:02
DoEventsの有効範囲(?)について教えてください。

Do
 DoEvents
 処理A
 Do
  処理B
 Loop
Loop

というコードがある場合、処理Bのループ中にもDoEventsの効果は働くのでしょうか?

また次の場合はどうですか?
Do
 DoEvents
 Call SHORI
Loop

Sub SHORI
 Do
  処理
 Loop
End Sub
0094デフォルトの名無しさん2007/02/06(火) 11:26:17
>>93
DoEventsは、その実行時に溜まってたイベントキューを処理してお終い。一期一会なの。
0095デフォルトの名無しさん2007/02/06(火) 11:49:52
>>94
大変よく分かりました!ありがとうございました。
0096デフォルトの名無しさん2007/02/07(水) 11:29:11
VB6.0 & MAPIコントロール(Microsoft MAPI Controls6.0)を使ってメール受信データを取り込んでいます。
受信データ(OutlookExpress)は、問題なく取り出せるのですが、
次の2点で苦慮しています。
�@受信トレイの内容は取り出せるが、受信トレイ下のサブフォルダは何もしてくれない。
�A取り出すと全て、既読になってしまう。

サブフォルダの指定はあるのでしょうか、そして既読・未読を変更することなく
処理できないものでしょうか?
0097デフォルトの名無しさん2007/02/07(水) 12:48:55
VB6.0のプロジェクトから、
自動でドキュメントを作成するツールで
皆様のお薦めはないでしょうか?

A HotDocumentは体験版がないし、
Vα体験版だとドキュメント生成中に
「オーバーフローしました」なんてエラーで
まともにドキュメントが生成されないので、
他の選択肢を探しています。
0098デフォルトの名無しさん2007/02/08(木) 15:28:19
>>96
俺もかじった事しかないけど
受信フォルダ限定で既読になりますよ
って制限してたきがする

結局大人しくBASP21つかってガリガリ自作したけど(;´∀`)
0099デフォルトの名無しさん2007/02/08(木) 15:49:52
VB6でファイル名を変更する関数ってどういう名前でしたか?
0100デフォルトの名無しさん2007/02/08(木) 15:54:28
>>99
そんな事より・・・



やらないか?
0101デフォルトの名無しさん2007/02/08(木) 16:13:11
やりません







0102デフォルトの名無しさん2007/02/08(木) 23:05:41
>>101
はよう糞まみれになろうや。
0103デフォルトの名無しさん2007/02/09(金) 00:30:18
>>99
name?
0104デフォルトの名無しさん2007/02/09(金) 16:50:31
>>97
使用した事はないけれども、フリーソフトがある。
試してみたら、そしたら使い勝手を教えてくだされ。
http://www.vector.co.jp/soft/win95/prog/se356242.html?g
0105デフォルトの名無しさん2007/02/09(金) 17:46:06
>>99
FSO使うべし
0106デフォルトの名無しさん2007/02/09(金) 23:38:08
VB6でもマニフェスト使えばLuna風の表示が出来るけど、
これってexe内部に組み込むことできんのかな?
.manifestをexeと同じ階層に置くのって、かなり見苦しく感じるんだけど。
0107デフォルトの名無しさん2007/02/10(土) 00:16:32
話が変わって申し訳。
初めて書き込みます。
VB6で動画を再生たいんだけど
そのときに外部のtxtから開始と終了時刻を指定したいんだけど、
だれか何か知ってたら教えてほしいです。

ちなみに現状はこんな感じ。
Private Sub Form_Load()
MMControl1.DeviceType = "MPEGVideo"
MMControl1.FileName = App.Path & "\0129.mpg"
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False

MMControl1.Command = "Open"

MMControl1.TimeFormat = mciFormatHms
MMControl1.From = 30:
MMControl1.To = 200::

End Sub

Private Sub Form_Unload(Cancel As Integer)
MMControl1.Command = "Close"
End Sub

0108デフォルトの名無しさん2007/02/10(土) 00:37:49
テキストから読み込むってのがいみわからんが
こんな感じか?

C:\test.txtの一行目に開始時間、二行目に終了時間を書いて

  Dim strTemp As String
  Dim i As Integer
  dim j as Integer

  Dim strStartTime As String '開始時間
  Dim strEndTime As String '終了時間

  Open "C:\test.txt" For Input As #1
  Do While Not EOF(1)
    Line Input #1, strTemp
    j = len(strTemp)
    Lset strTemp = strTemp & "ReadTime" & strTemp
    strTemp = mid$(strTemp,1,j)
    If i = 0 then    
        strStartTime = strTemp
    Else
        strStartTime = strTemp
    End If
    i = i + 1
  Loop
  Close #1

0109デフォルトの名無しさん2007/02/10(土) 00:56:37
>>106
MSのManifest Tool (mt.exe)を使うのが比較的簡単だと思う。
Visual Studio 2005(VC++ EEで確認)やWindows SDKに入っている。

勿論一般にあるEXE/DLLのリソースをいじるソフトでもできる。
リソースの種類はRT_MANIFEST(具体的な数値は覚えていない)で、
リソースIDはEXEなら1、DLLなら基本的に2にしてやる。
0110デフォルトの名無しさん2007/02/10(土) 01:02:01
ありがとう!
Input使うんだよね。
組み込み方参考にします。
それで、再生時刻の指定の仕方ってわかる?
mciFormatHmsとか何種類かあるけど、
いまいち記述の仕方がわからなくて…。

MMControl1.TimeFormat = mciFormatHms
MMControl1.From = 30:
MMControl1.To = 200::
って適当に記述したんだけど、
うまくいかなくって。。。
01111062007/02/10(土) 12:21:00
>>109
�dクス。
VB2005EE内探してみたけどmt.exeなかった。
Cだけか(`д´)ノ
RT_MANIFEST書き換えでがんばってみる。


>>110
MSDN見てみたけど、それだと時間の指定がおかしくないか?

MMControl1.TimeFormat = mciFormatHms
時、分、および秒形式をパックして長整数の値で表します。各データの順序は次のとおりです。
時 (最下位バイト)
分
秒
未使用 (最上位バイト)
0112デフォルトの名無しさん2007/02/12(月) 12:19:31
こんにちは

DBからレコードを読込んで配列に格納しているんですが、
レコード数をカウントするにはレコードセットの”.RecordCount”と、
配列のUBound関数とどちらが負荷が少ないでしょうか?
別に変わらないですか?

よろしくお願いします
0113デフォルトの名無しさん2007/02/12(月) 13:04:28
>>112
配列格納後ならUBoundの方が良いと思う。
01141122007/02/12(月) 13:11:42
>113
おー

ありがとうございます。
0115デフォルトの名無しさん2007/02/12(月) 15:21:51
以下の条件に合う日時表現を教えてください

(a) 年4桁、月日時分秒2桁で、順番は左から年月日時分秒の順
(b) 半角文字のみで表現し、\ / : , ; * ? " < > | . とスペースを使わない
(c) CDate関数で直接日付型に変換可能

例えば「2001,02,03 12.34.56」なんてのは(b)に反する
「2001-02-03_12-34-56」だと(c)に反する
今は「2001-02-03_12-34-56」を日付型に変換する自作関数使ってるけど
そんなものを使わないで済む上手い表現があれば使いたいので
0116デフォルトの名無しさん2007/02/12(月) 15:40:25
>>115
その文章では君が何をしたいのか、誰にも伝わらないと思う。
0117デフォルトの名無しさん2007/02/12(月) 15:51:03
>>115
CDateはロケール依存だから、
ロケールに依存せず解釈してくれる
日付リテラルである#(Month)/(Day)/(Year)#を使うか、
ロケールに準じた日付リテラルを使うしかない。
0118デフォルトの名無しさん2007/02/12(月) 15:51:54
>>115
つか、そもそも自作関数で取り回しているなら、
その方向性を維持した方が幸せになれる。
0119デフォルトの名無しさん2007/02/12(月) 16:00:03
人につたわる文章書けない人もアレだが、
サッパリわからん文章を自分の頭で勝手に補完して回答する奴はもっとオカシイと思う
0120デフォルトの名無しさん2007/02/12(月) 17:50:35
質問者がおバカなのはしょうがないが、回答者がバカなのはちょっとな。
0121デフォルトの名無しさん2007/02/12(月) 18:21:17
>>119
サッパリわかってないのは全体の数パーセントという落ちだよコレは
0122デフォルトの名無しさん2007/02/12(月) 18:49:48
>>1
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。

って書くやつ最近見ないな
そういってるやつに限って変な回答してそう
0123デフォルトの名無しさん2007/02/12(月) 20:54:17
こんばんわ

csvファイルのA、B、C、D、E、F、G列の各最大値、最小値、平均値を
抜き出して新しいcsvファイルに
A列の最大値、最小値、平均値、B列の最大値、最小値、平均値、C列の最大値、最小値、平均値、D列の・・・・・・
というように書き出したいのですが、どうすればいいでしょうか?

よろしくお願いします
0124デフォルトの名無しさん2007/02/12(月) 22:15:12
どんな回答を期待してるのか知らないけど、
別に煽りじゃなく、それを実現するコードを書く、としか言いようがないと思うけど。
01251232007/02/12(月) 22:20:48
すいません。
最大値、最小値、平均値の求め方が聞きたかったのですが・・・
どうすればいいのでしょうか?
0126デフォルトの名無しさん2007/02/12(月) 22:36:12
最大、最小、平均を求めればいいんじゃね?中学校ぐらいで習うと思うんだけど。
で、その「自分でやったこと」を「コンピュータにやらせる」ことを考えてみれば?
0127デフォルトの名無しさん2007/02/12(月) 22:46:32
いや、たぶん小学校の内容だと思うw
少なくとも小学6年生の俺は間違いなく平均値の出し方知ってたw
01281232007/02/12(月) 22:51:14
200桁近くあるからどうやって簡単に出そうかとかと思ってきいたのですけど・・・
そこまで簡単に言うのならソース書いてくれないですかね?
0129デフォルトの名無しさん2007/02/12(月) 23:18:01
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0130デフォルトの名無しさん2007/02/12(月) 23:22:38
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ

0131デフォルトの名無しさん2007/02/12(月) 23:41:13
釣りじゃないんですけど・・・
誰かお願いします。
0132デフォルトの名無しさん2007/02/12(月) 23:45:22
>131
>126
0133Hough2007/02/13(火) 00:59:32
誰か直線検出か円検出プログラムわかるかた教えてください。
0134デフォルトの名無しさん2007/02/13(火) 02:02:32
直線なら微分使えばいいんじゃねぇ?
0135デフォルトの名無しさん2007/02/13(火) 05:49:51
円なら財布を覗けばいいんじゃねぇ?
0136デフォルトの名無しさん2007/02/13(火) 11:04:18
他の直線検出にはハフ変換と言うものもある
0137デフォルトの名無しさん2007/02/14(水) 01:02:09
世の中おかしな奴が多いから困る。
0138デフォルトの名無しさん2007/02/14(水) 14:18:54
VB初心者でもうしわけないですが、質問させてください。

VB6でCollectionを使っているのですが、関数の戻り値として複数のCollectin値を
受け取るにはどのようにしたらよいのでしょう。
一つだけなら出来るんですが、二つ以上の書き方がわからなくて困ってます。
ぐぐってはみたのですが、思うようなサンプル等も見あたら無くって。
0139デフォルトの名無しさん2007/02/14(水) 14:28:25
質問させてください。

現在VB6.0+Accessで開発しているのですが。

VBで名前を入力すると自動的にふりがなも入力されるような処理を実現しようとしてるのですが、うまくいかなく困っています。

Accessのふりがな機能を使ってみたのですが、VB側から書き込むとふりがなが入りませんでした。

わかる方がいらっしゃったらお願いします。
0140デフォルトの名無しさん2007/02/14(水) 14:28:44
>>138
CollectionのItemにコレクションをAddするとか
Private Hoge() AS Collection()
という配列の関数にするとか。

漏れは前者がお勧め。
0141デフォルトの名無しさん2007/02/14(水) 14:36:37
>>140
Collectionの値をCollectionにするんですか。
なるほど、ありがとうございます。さっそくやってみます。感謝!
0142デフォルトの名無しさん2007/02/14(水) 14:48:41
>>140
出来ました。
ありがとうございました。
0143デフォルトの名無しさん2007/02/14(水) 14:53:25
>>141
ん〜・・・、入れたいデータの種類や数が決まってるのなら、
Collectionなんかにするより専用のクラス作ったほうが
処理も早いし、消費メモリーも少なくて済むし
コードの分かりやすさ的にも優れてるんじゃないだろうか
クラスの作り方わかんねってんならPublicで使いたいデータ分、変数宣言しとけということで
0144デフォルトの名無しさん2007/02/14(水) 15:03:21
>>143
まだクラスにまでたどり着けない初心者です><
最初はtypeで宣言してたんですけど、削除や挿入がめんどうで。。。
おいおい勉強しますorz
0145デフォルトの名無しさん2007/02/14(水) 15:54:11
>>143
ちょっと古畑のかほりがしたw
0146デフォルトの名無しさん2007/02/14(水) 23:19:06
>>145
ん〜 だけじゃねぇかw
0147デフォルトの名無しさん2007/02/15(木) 17:43:38
inetコントロールを使ってFTP鯖上のファイルを削除したいのですが、削除コマンド
は何を入れたらいいのですか?
0148デフォルトの名無しさん2007/02/15(木) 19:47:36
質問させてください
例えば
携帯
充電
二つの項目があり現状はどちらか一方しか選べないんですがこれを
CTRLキーを押して二つ選択したいのですがどうしたらいいのかわかりません
どなたかわかる方いらっしゃいましたら教えていただけますか
お願いします
0149C ◆wG1CV58ydQ 2007/02/15(木) 20:04:07
int型変数にCTRL指定すればいいんだよ。
例: float CTRL;

このように。
0150デフォルトの名無しさん2007/02/15(木) 20:56:16
win2000上で、VB4のコードをVB6に移植中です。

Declare Function JChrType% Lib "QPRO300.DLL" (Source$, ByVal X%)

このように宣言してあるJChrTypeを呼ぼうとするとQPRO300.DLLが見つかりませんと
エラーメッセージがでます。
QPRO300.DLLはc:\winnt\systemの下にあって、VB4のほうでは問題なく動いています。

・QPRO300.DLLをsystem32にコピーする。
・QPRO300.DLLをカレントディレクトリ(vbpファイルのあるディレクトリ)にコピーする
・Declare Function JChrType% Lib "c:\winnt\system\QPRO300.DLL"
(Source$, ByVal X%)
 とフルパスで指定する
・Declare Function JChrType% Lib "QPRO300" (Source$, ByVal X%)
 と.DLLをとる

と試してみましたが、どれもダメでした。
どうすればVB6がDLLを見つけられるようにできますか?
0151デフォルトの名無しさん2007/02/15(木) 22:44:42
よく分からんけど16ビットDLLなんじゃね?
0152デフォルトの名無しさん2007/02/15(木) 22:51:08
>>151
そうかもしれませんけど、エラーメッセージが「みつかりません」だから、
文字通り見つからないのかな、と。
やっぱり16bitDLLだから読めない→見えない→見つからないってことでしょうかね。
0153デフォルトの名無しさん2007/02/16(金) 11:22:49
とあるデーターベースの中に100人の名前と住所が入っています。
その中から名前に”東”が付く人の名前だけを、
自動的にVBで作ったラベルに、アイウエオ順に入れていかなければなりません。
(ラベルは100個作ってあります)

どのような方法がありますか?
0154デフォルトの名無しさん2007/02/16(金) 12:21:43
宿題か?VB以前にロジックの問題だろ
0155デフォルトの名無しさん2007/02/16(金) 12:33:50
dim wstrsql as string
dim wrstwrk as Recordset

wstrsql = "SELECT * FROM MSTJUSYO WHERE NAME = '" & 東 & "'"
Set wrstwrk = gConnDB.OpenRecordset(wstrsql, dbOpenDynaset)

こんな感じでデーターベースにアクセスするんだと思います。
この続きが分からなくて・・・
お願いします。
0156デフォルトの名無しさん2007/02/16(金) 12:58:57
>>155

おまww
ttp://www.accessclub.jp/dao/index.html
コレでも見て来い
0157デフォルトの名無しさん2007/02/16(金) 13:28:11
>>156
ありがとう
すんげー助かりました
0158デフォルトの名無しさん2007/02/16(金) 13:28:14
Sub func()
Dim obj As Class
Set obj = New Class
If obj <> Null Then
Debug.Print "success!!!"
End If
End Sub
こんな感じのことがやりたいんだけど、Newに失敗したのはどうやって検出すればいいのでしょうか?
obj <> Nullのところでエラーが出ます。
0159デフォルトの名無しさん2007/02/16(金) 15:24:39
NULLじゃなくってNothingじゃねぇのか?wwwww
0160デフォルトの名無しさん2007/02/16(金) 16:37:58
>>159
サンクスコ
0161デフォルトの名無しさん2007/02/16(金) 18:26:37
VB6.0です。
オプションボタンをグラフィックにして使っているのですが、
ダイアログの大きさを変えたときに(最大、最小化含む)
ほんの少し、一番下の影の部分だけ再描画されていないのか、
黒い点などが表示されてしまいます。
デスクトップの壁紙が青かったりすると
青いスジが出たりします。
これを解決する方法はありませんでしょうか。

Resizeの最後でオプションボタンすべてをRefreshしましたがだめでした。
0162デフォルトの名無しさん2007/02/16(金) 18:36:18
>>161
他のハードウェア構成のPCでも同じ事が起こるかチェックしました?
0163デフォルトの名無しさん2007/02/16(金) 18:50:15
>162
していません。確認してみます。
01641612007/02/16(金) 19:32:09
なんだか良くわからないけど、解決しました・・・
一応、他のPCでも同じ状況は起こりました。
ちょっと前のバージョンではこの現象がみられなかったので
相違点を洗い出しながらチェックしました。

オプションボタンの位置をResizeで可変にしてあって、
オプションボタンのTopの計算をいじったら直りました・・・
なんでだろう・・・

とりあえずありがとうございました・・・
0165デフォルトの名無しさん2007/02/16(金) 23:42:45
フォームの読込や表示を制御する方法で、
Loadの逆はUnload、Visible = Trueの逆はVisible = Falseですが
ではShowの反対は何ですか
0166デフォルトの名無しさん2007/02/16(金) 23:59:15
なんか佐野量子の「動物にたとえると、何ですか?」を彷彿とさせるアホ質問だな
0167デフォルトの名無しさん2007/02/16(金) 23:59:34
かっこいい俺様が教えてやる
Hide
0168デフォルトの名無しさん2007/02/17(土) 00:00:04
素でヒデになった。
カッコワルス。
0169デフォルトの名無しさん2007/02/17(土) 00:06:22
罵倒するしか能のないアホ、カッコワルス。
0170デフォルトの名無しさん2007/02/17(土) 00:07:57
質問あれば書き込め。
俺様が見ている間なら即座に返答をやろう
0171デフォルトの名無しさん2007/02/17(土) 00:19:05
っていうか、だいたいフォームのメソッドなんて数が知れてるだろ。
MSDNライブラリで全部みても5分かからないよw
っていうか、メソッドのリスト見るだけでも語感で普通わかる。
0172デフォルトの名無しさん2007/02/17(土) 00:21:58
MSDNライブラリを全部見ようと思ってら数日はかかると思うが・・
0173デフォルトの名無しさん2007/02/17(土) 00:24:32
なんていうか、ダメな奴っていうのは本当なにやらせてもセンスなくてダメなんだね。
プログラミングどころか、日本語の読解能力ももとるなんて、他人ながら哀れだよ
>>172
0174デフォルトの名無しさん2007/02/17(土) 00:32:29
はいはい哀れ哀れ
ここに来る方は感性の優れたエリート達ですか?
あなたが他人に伝わるように書けばいいだけの話さ。
0175デフォルトの名無しさん2007/02/17(土) 00:35:54
VB厨専用スレだからね。
回答するのもVB厨、たかが知れてる。俺を除いてな。
0176デフォルトの名無しさん2007/02/17(土) 00:45:16
自演飽きてきた。
結局質問なしか
0177デフォルトの名無しさん2007/02/17(土) 11:58:51
http://r_akky.at.infoseek.co.jp/mental.html

このゲームにあるような制限時間のバーのようなものを作りたいんですが
分かる人いますか?

あとデジタルタイマーみたいな
20:00から段々減ってくようなタイマーの作り方も分かる人いたら
教えて下さい
01781772007/02/17(土) 11:59:43
すいませんVB6.0です
よろしくお願いします
0179デフォルトの名無しさん2007/02/17(土) 12:10:09
>>177
>制限時間のバー
プログレッシブバーでググれ

>20:00
タイマー貼って値を-1していく
20:00→19:59
19:59→19:57
…
19:00→18:59
となるようなロジックつくればおk
0180デフォルトの名無しさん2007/02/17(土) 12:20:46
VBの実行画面に文字をタイプしていけるような画面って
作れるの?
やり方分かる人いたら教えて
0181デフォルトの名無しさん2007/02/17(土) 12:22:25
>>180
KeyPreviewプロパティ
KeyPressイベント
01821802007/02/17(土) 12:26:40
ありがとう

画面を左右に分けて
左側にタイプさせたい文字を表示
右側にそれをタイプさせていき、打ち間違えがあったら
そこが検出できるようなものを作りたいんですが
そのようなものの作り方はわかりますか?
0183デフォルトの名無しさん2007/02/17(土) 12:31:47
それは自分で考えるしか。
コントロールの使い方がわからないとかなら説明するが
プログラミングの醍醐味であるコードを俺がかいてもしょうがないし。

ヒント?
テキストボックスに入力させて、入力時にChangeイベントを発生させるとか
KeyPressイベントで文字一致を確認させるとか
方法はたくさんある
01841802007/02/17(土) 12:37:23
ありがとう

試行錯誤しながら考えてみます
0185デフォルトの名無しさん2007/02/17(土) 13:13:15
>>173
>読解能力ももとるなんて
「おとる」のtypoなのか、「もとる」の誤用なのか
気になって夜も眠れません。
0186デフォルトの名無しさん2007/02/17(土) 13:15:01
読解能力も桃取るなんて
0187デフォルトの名無しさん2007/02/17(土) 14:39:46
もももすももももものうちすもももももももものうち
0188デフォルトの名無しさん2007/02/18(日) 17:03:31
こんにちは、質問があります。
VB6.0で3Dグラフを描画するのに適した
フリーのコンポーネントって何がありますか?

目的としては、縦100点×横100点前後の微妙にデコボコしている
矩形の素材を、立体的に表示し視覚的に認識することです。
MSChartだと綺麗に表示できなかったり、プロット数が多く
なると時間がかかってしまい困っています。

0189デフォルトの名無しさん2007/02/18(日) 17:18:17
VBのフリーのコンポーネントなんてまず見たことない
0190デフォルトの名無しさん2007/02/18(日) 20:12:57
コレクションに入れた値は変更できないけど
クラスごとAddするとクラス内の値は変更できる
なんで?
クラスのアドレスを参照してるから?
0191デフォルトの名無しさん2007/02/18(日) 20:29:47
日本語でオッケって書かれるぞw
01921802007/02/18(日) 20:42:12
色々調べたり考えたりしたんだけどプログレッシブバーの
作り方が全く分かりません・・・
どなたか作り方分かる人いませんか?

例えば残り30分からスタートしてゲージが段々減っていくような
感じのものを作りたいんですが
0193デフォルトの名無しさん2007/02/18(日) 21:58:16
>>190
値を変更出来ないのは、クラスの場合も一緒でしょ。
クラスを格納しても、コレクションにとっての値であるクラスそのものを
別のクラスに変更することは出来ず、ただ割り当てたキーでそのクラスを返すだけ。
そして返されたクラスは、クラスとして当たり前の操作が出来る。
グローバルなモジュールレベル変数やLetプロパティを用意していれば、
当たり前にその値の変更が出来る。ただそれだけのこと。
0194デフォルトの名無しさん2007/02/18(日) 22:22:10
>>190
>クラスのアドレスを参照してるから?
それで正解。
コレクションが保持してるのはクラスのインスタンスアドレスであって
メンバ変数の値を保持してる訳ではない。
だからAdd元のクラスのメンバ変数の値を変更すると
コレクションからとり出したクラスも同じアドレスを参照しているので
メンバ変数の値が変更されたように見える。
0195デフォルトの名無しさん2007/02/18(日) 23:31:29
>>192
そのゲームにあるような滑らかなゲージが欲しいなら
ピクチャーボックスを配置してLineメソッドでお絵かきしましょう
01961802007/02/18(日) 23:49:12
>>195
中のソースはどのようにすればいいんですか?
VB初めてまだ数日で基礎の基礎もよく分かってない
状態なんで、ホントすいません・・・
0197デフォルトの名無しさん2007/02/19(月) 00:01:07
ソースねだる奴はプログラムなんて組もうとするな
プログラマってのは、初心者であっても自分でコードを書く奴のことで
間違っても物乞いソース収集屋のことじゃないぞ
0198デフォルトの名無しさん2007/02/19(月) 00:08:02
>>196
初めにフォームとピクチャーボックスのScaleModeをピクセルにしておく
座標X=0、Y=0から座標X=10、Y=10を対角線とする長方形を黒で中身を塗りつぶして描く
Picture1.Line (0, 0)-(10, 10), vbBlack, BF
あとはMSDN見て頑張って
0199デフォルトの名無しさん2007/02/19(月) 00:19:58
っていうか、今からVB初めてどうすんのw
これから沈んでく泥舟なんだぞw
0200デフォルトの名無しさん2007/02/19(月) 00:42:47
視野が狭いな
0201デフォルトの名無しさん2007/02/19(月) 05:19:25
VBは泥船に間違いない
つうかいまさら6.0憶えてどーするんだよw
0202デフォルトの名無しさん2007/02/19(月) 09:05:28
泥船でもなんでもいいから、チラシの裏に留めとけ。
0203デフォルトの名無しさん2007/02/19(月) 09:11:02
ヒソヒソ (^ω^)(^ω^)(^ω^) だぉ
0204デフォルトの名無しさん2007/02/19(月) 09:12:32
>>201
m9(^Д^)プギャー
02051902007/02/19(月) 09:19:40
>>192,193
ありがとうございます。勉強になりました。
(質問の日本語が変でスイマセン。)
やはりコレクションでAddするのはクラスのアドレスだけで、
クラスメンバは別なんですね。
昔から気になってたので、一つ謎が解けました。ありがとう
0206デフォルトの名無しさん2007/02/19(月) 09:34:56
つ objptr()
0207デフォルトの名無しさん2007/02/19(月) 16:48:38
VB6.0 SP6 / WinXPです。

RichTextボックスに
 
 Call RichTextBox.OLEObjects.Add(, , App.Path & "\pic.bmp")

でビットマップを貼り付けると、裏でmspaint.exeが起動しちゃうんですけど、、、
mspaint.exeの起動を抑制する方法ってあります???
02081902007/02/19(月) 20:44:40
>>206
そんな便利なものが。
VB6にポインタの概念はないもんだと思ってました。。
0209デフォルトの名無しさん2007/02/19(月) 20:58:56
>>207
別のオブジェクト(IE)とかを貼り付けたらどうだろう?
うろ覚えですまん。
0210デフォルトの名無しさん2007/02/19(月) 21:03:02
AdressOf
ObjPtr
StrPtr
VarPtr
今時VB使うならこの辺は必須だろ
0211デフォルトの名無しさん2007/02/19(月) 21:09:43
いやそんなもん使ってまでコレクションの中身更新するぐらいなら
俺なら自分でそういうクラスを作るね。

内部実装がブラックボックスのVBでそんなもん怖くて使えるかよ。
これがまともなPGの感覚だと思うけど
0212デフォルトの名無しさん2007/02/19(月) 21:17:08
すみません。VB6のユーザに本名で登録してます。
どこかのサイトで「バイナリを開いたらユーザー名がわかる」っていうのを見た気がするんですが、
自分で開くとプロジェクト名やモジュールは見つかりましたが、ユーザー名はのってませんでした。
アプリ公開するなら、再インストールしてユーザー名変えてからのほうがいいですか?
ネイティブコンパイルなら大丈夫ですか・・?
0213デフォルトの名無しさん2007/02/19(月) 21:34:35
作者として実名を公開してる人も居るわけだし、別にそのままでも構わないじゃん。
0214デフォルトの名無しさん2007/02/19(月) 21:43:12
それはそうだけど、やっぱりHNみたいなので通してるので本名がのると辛いって言うか…
アプリがずっと後まで残ることを考えたら、やっぱり恥ずかしいのもありますし。
友人ならいいけど、知らないところで詩子の名前が調べられて広まったらやっぱり嫌なので。。。
0215デフォルトの名無しさん2007/02/19(月) 22:49:56
それはアプリがある程度有名になってから心配する話では
0216デフォルトの名無しさん2007/02/19(月) 23:04:22
どうせレジストリ読んでるだけだろ
と持ってないのにカキコ
0217デフォルトの名無しさん2007/02/20(火) 00:36:34
>>211
たしか昔は盛んに使ってたと思うんだが
とりあえず今時は資料が無くて怖いな

ちなみにVBの公開オブジェクトの内部実装はCOMです
0218デフォルトの名無しさん2007/02/20(火) 09:23:59
>>210
そんなの使うぐらいなら、VB使わない。w
0219デフォルトの名無しさん2007/02/20(火) 10:00:14
視野が狭いな
0220デフォルトの名無しさん2007/02/20(火) 10:55:00
どっちが?
VBに拘ることの視野の狭さ?使えるアンドキュメント関数を使わない視野の狭さ?
0221デフォルトの名無しさん2007/02/20(火) 14:07:49
>>220
たぶん2つしか挙げられないこと。
0222デフォルトの名無しさん2007/02/20(火) 14:16:56

( ̄ー ̄)ニヤリ
0223デフォルトの名無しさん2007/02/21(水) 03:28:06
前スレ801、自己解決。
Visual Basic 6.0のバグで、msvbvm60.dllの修正が出る。
0224デフォルトの名無しさん2007/02/21(水) 17:21:55
VBから参照設定の操作をしたいのですが、
タイプライブラリ名からGUIDを取得するにはどうすればいいでしょうか?
0225デフォルトの名無しさん2007/02/21(水) 19:45:23
こんなスレがあったんだな

6.0で質問なんだが、プログラム実行中にテキストを打ち込むとき
Enterを押して改行できるようにする方法ってあるのか?
multilineをTrueにすると文章が行の端まで打ったら
自動的に改行はできるんだが
0226デフォルトの名無しさん2007/02/21(水) 21:22:48
キーイベントでchr(10)追加するとか
0227デフォルトの名無しさん2007/02/21(水) 21:27:12
え?開業されないっけ?
0228デフォルトの名無しさん2007/02/21(水) 23:32:00
>multilineをTrue
ならエンターで改行されると思う。
KeyPressでなんかやってなければ。

Tabの話じゃないよな?


VB6のプロ・グラマーに質問なんだが
一定時間処理をとめたいときってタイマー使ってますか?
Sleepだと全体がとまるし、DoEventsループだと、CPU処理が99%になるから使わんほうがいいよな
(見た目だけだが)

やっぱタイマーしかないんだろうか
0229デフォルトの名無しさん2007/02/21(水) 23:44:06
処理止めるっていっても
普通止まったように見せてるだけだし。。。
実際に止めたらそりゃ返ってこないよ
0230デフォルトの名無しさん2007/02/21(水) 23:56:38
プロのグラマーではなく、プロのプログラマな漏れはお呼びでないと
0231デフォルトの名無しさん2007/02/22(木) 00:36:53
■clsA
  Public cB As clsB

■clsB
  Public cA As clsA

■modS
  Dim cA = new clsA
  Dim cB = new clsB

  set clsA.cB = cB
  set clsA.cB.cA = cA

  ↓

  cA.cB.cA.cB.cA.cB…


暇だし誰か共同でアプリ作ろうぜ
0232デフォルトの名無しさん2007/02/22(木) 00:44:00
そういや雑談スレないよな。

>>230
プロプログラマー?
0233デフォルトの名無しさん2007/02/22(木) 07:05:39
>>228
厨房乙
0234デフォルトの名無しさん2007/02/22(木) 09:13:18
質問します。
現在プログラム実行時に以下のエラーが発生して困っています。

エラー内容
実行時エラー'429'
ActiveXコンポーネントはオブジェクトを作成できません。

コード
Dim fso as New FileSystemObject
fso.FileExists("a.txt")      '←ここでエラー発生

環境
OS:Windows XP Professional SP2
Visual Studio 6.0 SP6

ぐぐったり、ランタイムの再インストールなどしてみましたが
解決できませんでした。解決方法になりそうなことなど、わかる
方いましたらお願いしますm(_ _)m
0235デフォルトの名無しさん2007/02/22(木) 09:53:57
>>234
つhttp://support.microsoft.com/kb/247979/
02362342007/02/22(木) 13:40:18
>>235
反応遅くてすみません。

ありがとうございます!解決しました!!
サポートオンラインも探してはいたんですけど
探し方が悪かったみたいです。助かりましたm(_ _)m
02372252007/02/22(木) 18:51:55
どうもありがとう、解決しました
もう一つ質問で、タイプ中にある時間が来たら
突然違う画面に変わるっていう構造になってるんだけど
その切り替わった瞬間に今まで打ち込んでた文章等が記録されて
実行を停止したあともそのタイプした内容を保存して確認すること
ができるような仕組みって作ることできる?
0238デフォルトの名無しさん2007/02/22(木) 20:47:53
テキストファイルに保存とか、。
rtf、xmlとかでもいいし、短文ならiniやレジストリに吐いても良いと思う
0239デフォルトの名無しさん2007/02/22(木) 23:24:34
右クリックしたときに出る特定のポップアップメニューをフックして項目を追加したいのですが、
どなたか方法ご存知な方いませんか?
これって拡張シェルになるのでしょうか…
0240デフォルトの名無しさん2007/02/22(木) 23:32:12
>>239
情報隠さないで、具体的に何の何処をどうしたいのか書こうよ
02412392007/02/23(金) 00:02:12
すいません。。

VBアプリを常駐しておいて、他のアプリでタイトルバーを右クリックしたときでるポップアップメニューに機能追加したいんです。
「このウインドウを指定の位置に移動」とか「ウインドウを印刷」を表示して、選択したイベントをVBアプリで処理させたい。

・他アプリのポップアップに無理やり項目を追加する
・追加した項目を選択したらVBにイベントを発生させ、その処理を実行
「VB ポップアップメニュー フック」などで検索してみたんですが、他のメニューに項目追加する方法がみつかりませんでした…

WinRARなどの圧縮アプリだと、ファイルを右クリックしたときに「圧縮する」などのメニューが表示されますが
これと同じことが出来たらいいなと思っています。

判りにくかったらごめんなさい。
このサイトが勉強になるなどでも良いので、わかる方がいたらぜひ。
0242デフォルトの名無しさん2007/02/23(金) 00:03:07
Win2k、VB6.0 SP6 でビルドし、ディストリビューションウィザードを使って、パッケージして、
別のマシン(WINXP SP1)に\Packageフォルダごとコピーして、\Package 下のsetup.exe で
インストールしよとすると、インストール途中でエラーが発生します。
どうすれば解決できるでしょうか?

インストール時のエラーメッセージは

"ファイルC:\WINDOWS\system32\DATAFORM.OCXの登録中にエラーが発生しました。"

です
0243デフォルトの名無しさん2007/02/23(金) 00:36:19
>>241
ファイルの右クリックメニューはレジストリ依存。君がやろうとしてる事とは全く別物。
「システムメニュー 拡張」とかでググってみろ。自身のシステムメニューを拡張する方法から
他のアプリのメニューを弄る方法まで、いろいろ解説やらサンプルやらが転がってる。
これで解らなければ君には無理って事だ。諦めろ。
02442392007/02/23(金) 00:39:40
>>243
たとえばWinRARとかブラウザのメニューなんかは、その時点でアプリが起動してるわけではないので
動き的に違うのはわかってたんですが、やりたいことのイメージとしてそれくらいしかわからなかったので…

ありがとうございます。これから検索して調べてみます。
0245デフォルトの名無しさん2007/02/23(金) 05:11:42
BrowseForFolderを用いたフォルダ選択ダイアログで、モーダルダイアログにする方法を
ご存じの方、いらっしゃいませんか?
今は、ボタンをクリックしたら、

Dim ShellApp As Object
Dim oFolder As Object

Set ShellApp = CreateObject("Shell.Application")
Set oFolder = ShellApp.BrowseForFolder(0, "フォルダを選択してください。", &H10&)

として、oFolder.items.Item.Path からフォルダのパスを得ています。
ボタンをEnableにしたままだと、何個も表示されるので困っています。

フラグ等を用いる方法も考えましたが、ダイアログがモーダルなのが一番よいと思いまして
書き込みました。

0246デフォルトの名無しさん2007/02/23(金) 07:44:46
>>245
Shell.ApplicationではなくWin32APIの方を使おうよ
0247デフォルトの名無しさん2007/02/23(金) 13:02:55
VB6+ACCESSでVB6のフォームのテキストボックスにIDを入力して
そのIDがあれば結果を表示して該当データがなければメッセージボックスを表示させるんですけど
SQL文を実行して成功したら表示or失敗したらメッセージボックスの部分がわかりません
0248デフォルトの名無しさん2007/02/23(金) 13:18:52
>>247
そうですか
0249デフォルトの名無しさん2007/02/23(金) 13:19:37
いや教えてくださいよ
0250デフォルトの名無しさん2007/02/23(金) 13:27:35
教えても、なんもいいことないし
0251デフォルトの名無しさん2007/02/23(金) 13:30:01
死ねよ糞人間が
0252デフォルトの名無しさん2007/02/23(金) 14:03:58
何がわからんかさっぱりわからん
それに件数0の場合とテーブルないときの失敗じゃ処理違うし
0253デフォルトの名無しさん2007/02/23(金) 14:45:55
>>247
IFで分岐させればいいじゃない
0254デフォルトの名無しさん2007/02/23(金) 15:44:33
テキストファイルより読み込んだ文字列gstrPrinter(絶対パス&プリンタ名)の
存在チェックをしたいのですが、直接存在チェックを行う方法はあるでしょうか?
関数があるとは思うのですが見つけられないのです。

下記の処理ではローカルマシンに登録されているプリンタが多いとき困るのですが、
ネットで探してもこの方法しか見つけれません。
For Each objprinter In Printers
If gstrPrinter = objprinter.DeviceName Then
blnRet = True
Exit For
End If
Next

この方法以外でありましたら、よろしくお願いします。
0255デフォルトの名無しさん2007/02/23(金) 15:49:23
SetDefaultPrinter()がエラーになったらプリンターが
存在しない。でいいんじゃない?
02562542007/02/23(金) 16:10:48
レスありがとうございます。
SetDefaultPrinter()は通常使うプリンタを取得する関数ですよね。

ただ、今回の処理はどのプリンタを使うかを
テキストファイルより読み込んだ文字列にて決めさせるので、
SetDefaultPrinter()ではだめなのです。

常駐プログラムの中で
 プリンタの存在チェック○→ファイルの印刷→ファイルを削除
 プリンタの存在チェック×→ファイルを移動(退避)
という処理を行いたいのです。
よろしくお願いします。
0257デフォルトの名無しさん2007/02/23(金) 16:17:42
たいして重い処理じゃないだろ
サンプルどおりで良し
0258デフォルトの名無しさん2007/02/23(金) 16:31:53
>>256
SetDefaultPrinter()は通常使うプリンタを取得、ではなくてセットする関数です。
02592542007/02/23(金) 16:45:26
>>258
ありがとうございます。
通常使うプリンタを変更するのは上手くないとのことで、
どちらにしろ使いたくないです。

>>254
間違えて読んでましたすみません。

>>256
結局今のままで行うことにしました。

ありがとうございました。
0260デフォルトの名無しさん2007/02/23(金) 17:27:01
プリンタの一覧に、共有プリンタがあると悲惨なことにw
0261デフォルトの名無しさん2007/02/23(金) 23:54:39
VB6のディストリビューションウィザードでパッケージ化されたアプリケーションは、セットアップ(SETUP.EXE等)で
インストールされるわけですが、そのセットアップ時、アプリケーションユーザが任意に指定するインストール領域を、
アプリケーション側で環境変数として取り込むのはどうすればいいですか?

つまりは、VB6のディストリビューションウィザードで作成されるセットアップ(SETUP.EXE等)は、
環境変数やレジストリキーを、VBアプリケーションにパラメーターとして渡すための「約束ごと」を、
どこで説明てるかどうかということもあるんですが。
0262デフォルトの名無しさん2007/02/24(土) 00:15:53
せっかく質問するなら「書き込む」ボタンをクリックする前に
少しは文章を推敲しようよ。
エスパーでもお手上げだよ、そんな文章w
0263デフォルトの名無しさん2007/02/24(土) 00:18:54
ヒント:外国籍
0264デフォルトの名無しさん2007/02/24(土) 00:23:40
わかりました。
App.Path(予約語)をstring変数に代入すればいいってことですね。

それにしても、なんで"App.Path"で検索してもVBヘルプ(MSDN)で出てこないのか?
こんな環境変数の予約語すら、ヘルプのキーワードで検索できないって・・・・・
呆れるね。やっぱ、マイク?ソフト
0265デフォルトの名無しさん2007/02/24(土) 00:38:03
2CHの、教えモドキスレって、教える能力ないくせに、相手が何も知らないだろうなんて高くくって、
偉そうな口を利く能無しどもの棲家が多いって聞いてるが、ここもその一つだということは理解できた。

1、>VB6のディストリビューションウィザードでパッケージ化されたアプリケーションは
この日本語とMSの用語が理解できないなら、VB6.0の説明なんかできっこないでしょうが。

2、>セットアップ(SETUP.EXE等)でインストールされるわけですが
同上
3、>そのセットアップ時、アプリケーションユーザが任意に指定するインストール領域を、
同上、これが理解できなら、VB6.0でパッケージされたアプリケーションをセットアップのテストしたこともない
のにいっぱしの「VB説明能力を持ってる。」なんて偉ぶってるだけ。
4、>アプリケーション側で環境変数として取り込むのはどうすればいいですか?
1に、同じ
これが理解できないということは、VBとかのローカル言語以前の問題で、
システム開発そのものをしたことがないっていうこと。

>つまりは、VB6のディストリビューションウィザードで作成されるセットアップ(SETUP.EXE等)は、
>環境変数やレジストリキーを、VBアプリケーションにパラメーターとして渡すための「約束ごと」を、
>どこで説明てるかどうかということもあるんですが。
1に同じ

0266デフォルトの名無しさん2007/02/24(土) 00:50:01
そういう、石に躓いても「俺様を躓かせる石が悪い」って感じる性格だから進歩がないんだよ、たぶん。
ま、こういう人になに言ってもムダだろうけどね。
0267デフォルトの名無しさん2007/02/24(土) 03:31:50
>>265
「初夜はどうでした!?」なんてお下品な質問をされ、なんとも言えない、
いや〜な気分で飛行機に乗った」まで読んだ。
0268デフォルトの名無しさん2007/02/24(土) 06:18:56
>>265
君の言うことは正論なんだが
悲しいかなこのスレにいるカスの心には届かんよw
0269デフォルトの名無しさん2007/02/24(土) 06:50:24
いやぁ、自分で自分の書き込みを正論と言われてもねぇ
0270デフォルトの名無しさん2007/02/24(土) 08:54:09
>>265
お母さんがここに来たら駄目だって教えてあげたでしょ!
病院の先生も心配してます!もう、帰りますよ!


皆さん、うちの>>265がご迷惑をおかけしまして、すみません。J('A` )し
0271デフォルトの名無しさん2007/02/24(土) 10:11:17
>>264
PathとかAppとかで探せばMSDNで出てくる気がする
0272デフォルトの名無しさん2007/02/24(土) 10:28:03
>>271
そっとしておいてやれよ。
これ以上弄るのは余りに哀れすぎる。
0273デフォルトの名無しさん2007/02/24(土) 15:43:07
この処理でループの中の処理をしてくれないのですが、どこが悪いのでしょうか?

If State2 = icResponseCompleted Then

GetData = Inet2.GetChunk(2048, icString)

Soucetext2 = Soucetext2 & GetData
Do While GetData = ""
GetData = Inet2.GetChunk(2048, icString)
Soucetext2 = Soucetext2 & GetData
Loop

End If
0274デフォルトの名無しさん2007/02/24(土) 16:08:56
頭
0275デフォルトの名無しさん2007/02/24(土) 16:11:32
フォルダ内にファイルが1000個ほどあって、それぞれ数十MBのそれなりに大きいファイルです。
このファイルのファイル名だけを1つずつ取得したいのです。

やり方は色々あるとは思います。
Dir関数やFSOやAPIや。

ファイルがフォルダ内に大量にある、そしてそれぞれのファイルが大きいことで
やはりパフォーマンスにかなり影響あるでしょうか?
0276デフォルトの名無しさん2007/02/24(土) 16:20:25
あるわけがないが、やってから質問しろよ
プログラマ以前に人間失格なんだよ
0277デフォルトの名無しさん2007/02/24(土) 16:28:12
なんで試さないのさ?
0278デフォルトの名無しさん2007/02/24(土) 16:43:02
死ねよ
0279デフォルトの名無しさん2007/02/24(土) 16:50:13
以下のDimの宣言でVariantにした場合、Set fs = Nothingではメモリ解放されないのでしょうか??
Dim fs As VariantのところをDim fs As Objectにしないとだめでしょうか??
教えてください。

(参考プログラム)
Public Sub Test()

Dim fs As Variant

Set fs = CreateObject("Exce.Application")
:
  (省略)
:
Set fs = Nothing

End Sub
0280デフォルトの名無しさん2007/02/24(土) 17:07:12
fs.Quit
0281デフォルトの名無しさん2007/02/24(土) 20:40:02
実行開始してそのformが開いた時に時間が来たらラベルに
今100秒経過しました
みたいに表示したいんだけど
Label1.Caption = "今m秒経過しました"
のどこがおかしい?
ちなみにmはintegerで宣言した定数で
timerで1秒ごとに変わっていく値です
0282デフォルトの名無しさん2007/02/24(土) 20:46:52
Label1.Caption = "今" & CStr(m) & "秒経過しました"
0283デフォルトの名無しさん2007/02/24(土) 20:47:35
Label1.Caption = "今" & CStr(m) & "秒経過しました"
0284デフォルトの名無しさん2007/02/24(土) 20:52:41
Label1.Caption = "今" & CStr(m) & "秒経過しました"
02852812007/02/24(土) 20:53:07
どうもありがとう
解決しました
02862812007/02/24(土) 20:54:34
どうもありがとう
解決しました
02872812007/02/24(土) 21:08:30
もう一つ聞きたいんですが
例えば10分間の文章入力作業を行わせるとして
それをシステム実行停止にしても何て入力したかを保存しておき
かつ、2分間ごとに区切って
最初の2分間はここまで、次の2分間はここからここまで入力された
みたいな感じで、あとで見たときにそのようなことが分かるように
記録を残しておくようなことって可能ですか?
02882812007/02/24(土) 21:10:54
もう一つ聞きたいんですが
例えば10分間の文章入力作業を行わせるとして
それをシステム実行停止にしても何て入力したかを保存しておき
かつ、2分間ごとに区切って
最初の2分間はここまで、次の2分間はここからここまで入力された
みたいな感じで、あとで見たときにそのようなことが分かるように
記録を残しておくようなことって可能ですか?
0289デフォルトの名無しさん2007/02/24(土) 21:18:47
Label1.Caption = "今" & CStr(m) & "秒経過しました"
0290デフォルトの名無しさん2007/02/24(土) 21:20:52
連投すまん、
Janeでカキコしても失敗と出てて
気づかず同じこと書いてしまった

>>287
可能だけどソース書くにはちと長くて面倒なので
俺は書かない
0291デフォルトの名無しさん2007/02/24(土) 21:22:04
>>288
考え方次第でできるだろうけど
最初の2分の時点の文章から次の二分の文章で必ず追加されているだけでもなく
削除されている可能性もあるわけだから
とりあえずメンドクサク考えずに
2分ごとで、その時点の文章全部保存しちゃえば?
02922812007/02/24(土) 21:30:54
>>291
2分ごとで、その時点までに入力された文章を保存してしまう
というのは、10分の作業の場合だったら
計5個の記録ファイルが残るということですか?
0293デフォルトの名無しさん2007/02/24(土) 21:40:24
>>292
別にファイルに残さなくてもいいし(変数や、コレクションにでも保存すればいいだろうし)
1つのファイルにまとめてもいいし
5つにしてもいいし

そのあとの復帰の仕方次第でいろいろ変わると思うけどなぁ…

なのでレスはそういうやり方もあるね ってことで
02942812007/02/24(土) 21:57:20
>>293
すいません、ありがとうございます

実は入力された文章を保存する方法自体がまだよくわからくて・・・
上の方で似たような質問をされてる方はいるんですが・・・

Open "E:\mydata\sfile.dt" For Append As #1
Write #1, Today; "click(Command1)"
Close

このように、何時何分にどのCommandボタンを押したか
というのを指定したフォルダの中にテキストファイルで記録しておく
みたいなログを残す機能は作ったことはあるんですが
これの応用みたいな感じで、「実行中に入力された文字を記録しておく」
という機能は作れるのでしょうか?
色々調べてもよく分からないので、もし分かる方がいたらよろしくお願いします
0295デフォルトの名無しさん2007/02/24(土) 22:00:58
この世にはキーロガーなんてのもあるんだし
可能か不可能かで言えば可能だよ
いっそキーイベントでログ吐くとかしたら
0296デフォルトの名無しさん2007/02/24(土) 22:24:15
プログラムの途中で待機時間を設定するにはどうすればいいですか?
02972812007/02/24(土) 22:47:48
Open "E:\mydata\sfile.dt" For Append As #1
Write #1, Today; "click(Command1)"
Close
の2行目を
Write #1, Text2.Text
に変えたらテキストファイルに入力内容の記録は残るようになったんですが
例えばaaaaaと入力したら
"a"
"aa"
"aaa"
"aaaa"
"aaaaa"
のように記録が残ってしまうんですが
普通にaaaaaとだけ残すためにはあと何が足りないのでしょうか?
0298デフォルトの名無しさん2007/02/24(土) 22:49:37
ファイル上書き
0299デフォルトの名無しさん2007/02/24(土) 23:09:23
自演乙
03002812007/02/24(土) 23:29:06
>>298
ファイル上書きというのはコード上に何か追加したらできるのですか?
0301デフォルトの名無しさん2007/02/24(土) 23:39:17
書く度にOutputモードでオープンクローズする
03022812007/02/24(土) 23:47:52
ありがとうです
0303デフォルトの名無しさん2007/02/25(日) 00:03:53
VBの条件文で使いたくて
aとbが等しくない場合はcの処理を行う
のような「等しくない」の表現を
≠で書こうとしてもエラーが出てしまうんだが
こういう記述の場合何かVB特有の表現方法はある?
0304デフォルトの名無しさん2007/02/25(日) 00:08:12
if not a = b then
0305デフォルトの名無しさん2007/02/25(日) 00:09:14
>>304
サンクス
メチャクチャ基礎的だったんだね
すんません
0306デフォルトの名無しさん2007/02/25(日) 00:11:12
≠で書ける言語あるのかよw
0307デフォルトの名無しさん2007/02/25(日) 00:23:24
Cじゃね?
0308デフォルトの名無しさん2007/02/25(日) 00:27:47
Cは
!=
0309デフォルトの名無しさん2007/02/25(日) 00:30:52
<>
03102812007/02/25(日) 00:38:42
できたと思ったらまた問題発生です
Open "E:\mydata\sfile.dt" For Output As #1
Write #1, Text2.Text
Close
にしたら普通に入力した文字は保存されるのですが
入力作業時に文字を打ち込む時の感覚がスローモーションぽく
なってしまいます・・・
これは何が問題なんでしょうか?
0311デフォルトの名無しさん2007/02/25(日) 01:04:57
いちいち開いちゃ閉じ開いちゃ閉じしてるからじゃないの
何かあるたびに聞きにこないでぎりぎりまで踏ん張ってみれ
0312デフォルトの名無しさん2007/02/25(日) 04:15:30
Visual C++6.0で作成されたDLLの引数を解析しているのですが
VB6の構造体からC++のclassのメンバ変数への引渡しがどうしても
上手くいきません

他の言語の構造体からは引き渡せてるのですが、VBでは不可能なの
でしょうか?

色々調べましたが上記のような例が掲載されている文献が見当たら
なかったもので・・・
0313デフォルトの名無しさん2007/02/25(日) 05:49:35
VB6.0って買えなくなって久しいのに
なんでこんなに質問あるんだろ?
しかも初心者っぽい質問まであるし
0314デフォルトの名無しさん2007/02/25(日) 09:07:07
>>310
スレッド起こしてそっちでやるんだな
0315デフォルトの名無しさん2007/02/25(日) 09:44:27
>>312
そのDLLに渡すためのDLLを作るんだ。
0316デフォルトの名無しさん2007/02/25(日) 12:23:23
>色々調べましたが上記のような例が掲載されている文献が見当たら
>なかったもので・・・
二重の嘘だなw
0317デフォルトの名無しさん2007/02/25(日) 12:42:40
VBのEvalってしょぼすぎじゃない?
0318デフォルトの名無しさん2007/02/25(日) 14:14:02
>>313
意外とVBAの中での話だたりしてw

つうか、VBってMSDNからタダで落とせないのかな?
0319デフォルトの名無しさん2007/02/25(日) 15:43:27
>>318
今確認してみたらサブスクライバダウンロード出来るね。
掲載日時
 2006-09-08 22:24:08 (UTC)
ファイル
 jp_vb6_ent_cd1.iso ISO-9660 CD Image
ファイル サイズ
 354 MB
SHA-1 ハッシュ
 81872af7762f6a270b0c3d88178e861460a07372
0320デフォルトの名無しさん2007/02/25(日) 15:44:07
あ、ハッシュは載せないほうが良かったかorz
0321デフォルトの名無しさん2007/02/25(日) 16:50:37
>>313
VB.NETからCOM使うのが大変だからかな
0322デフォルトの名無しさん2007/02/25(日) 16:52:23
>>317
なにが不満?
0323デフォルトの名無しさん2007/02/25(日) 18:15:04
>>322
eval("MsgBox ""Hello""")
なんでこれが動かないの?
文字列か数値を返す関数しか呼べないなんて。
0324デフォルトの名無しさん2007/02/25(日) 18:23:52
つScriptControl
0325デフォルトの名無しさん2007/02/25(日) 18:42:29
VB6.0ってコントロールの追加できる?
自分のやつは画面左側のバーに10個くらいしかないんだけど
ネット見てたら6.0って書いてあるのにその倍くらいの数の
コントロールが表示されてるっぽかったから
色々探したけどできないんだよね・・・
0326デフォルトの名無しさん2007/02/25(日) 18:45:25
今更その程度こと知らないならVB6使う意味はまるでないと思うんですが。。。
もうサポートフェーズも終了した開発ツールなんだけどw
0327デフォルトの名無しさん2007/02/25(日) 19:12:19
インストーラー自体もXPで日本語でユーザ名登録されてたら終わりだから
よほどの事が無い限り使わない方がいいな
0328デフォルトの名無しさん2007/02/25(日) 19:27:09
>>327
その程度は自分で設定すれば済む話じゃないか
0329デフォルトの名無しさん2007/02/25(日) 19:53:35
まぁ保守案件ありまくりでVista対応させられる企業もあるだろうし・・・・
企業であれば仕方ないかもしれないな…・

個人でこれから始めようとするのにVB6はちょっと・・・とは思うけど

でも、いきなりドトネトやってクラスの海でおぼれるよりは・・・
と考えればそう悪いものではないかも
VBAにも繋がることだしさ

お勧めと言われればとりあえずC#進めるけどさ・・・
0330デフォルトの名無しさん2007/02/25(日) 20:27:48
今一番主流の言語ってなんだろう???
0331デフォルトの名無しさん2007/02/25(日) 20:32:59
>>330
スレ違いとおもふ
0332デフォルトの名無しさん2007/02/25(日) 22:48:04
なんですと
0333デフォルトの名無しさん2007/02/25(日) 23:55:54
主流はVB6だろう。
そんな事聞くまでも無いだろ・・
0334デフォルトの名無しさん2007/02/26(月) 00:08:18
このスレいかれた奴がいるな6.0以前の意味がわかってないだけとは思えないんだけど
主流がどうかとかもどうでもいいしw
0335デフォルトの名無しさん2007/02/26(月) 09:33:45
このスレの主流はVB6.0だろ。
今出回ってるPCのほとんどにはVB6.0以前が入ってるんだぞ。

VBAとしてだが。
0336デフォルトの名無しさん2007/02/26(月) 10:06:41
バッチファイルの次ぐらいにレガシー
0337へたれです2007/02/26(月) 10:16:08
VB6.0で開発してるソフトのDBをmdbとしたのですが、
このソフトはアクセスの入ってないPCに導入しても動くものなんでしょうか?
0338デフォルトの名無しさん2007/02/26(月) 10:18:46
mdacが入ってれば動くんじゃない?
0339へたれです2007/02/26(月) 10:40:06
mdacですね。
ありがとうございます。
0340デフォルトの名無しさん2007/02/26(月) 12:21:45

ここは普通にVBのランタイムを勧めるべきじゃないの?
0341デフォルトの名無しさん2007/02/26(月) 21:11:29
むしろDAOで行けよwwww
MDBならそっちのがはえぇぞwwww

後でSQL鯖にしますとか言われたらアボーンだけどw
0342デフォルトの名無しさん2007/02/26(月) 22:02:44
やれやれ。
0343デフォルトの名無しさん2007/02/26(月) 22:18:07
すいません、VB2で教えてくだっさい
本を読んで勉強してるんですが、下のところで引数がなんとかってエラーが出てしまいます

Call Msgbox("Hello World!!",%d);

Hello World!!をかえてみたり、本をはじめから読み直してるんですがよくわかりません…
0344デフォルトの名無しさん2007/02/26(月) 22:23:28
>>343
printf ("Hello World!!",%d);

だろ。
帰ったら復習しとけよ。
0345デフォルトの名無しさん2007/02/26(月) 22:23:44
>>343
VB2 ずいぶんふるいの使ってるね。Windows 3.1用?
0346デフォルトの名無しさん2007/02/26(月) 22:41:44
VB 6.0で、ホイールマウスを使っています。
コードを表示しているときにホイールが利くといいなーと思うのですが、どなたか実現されている
方、いませんか?
0347デフォルトの名無しさん2007/02/26(月) 22:43:41
英語版VB6だとホイール使えたっけな
0348デフォルトの名無しさん2007/02/26(月) 22:48:23
MSからアドインでてるから、取得汁。
0349デフォルトの名無しさん2007/02/26(月) 23:14:40
>>348
http://support.microsoft.com/kb/837910/ja にありました。
どうもありがとうございました。これでだいぶ快適になります。
0350デフォルトの名無しさん2007/02/27(火) 00:25:18
OutlookExpressのメール一覧からドラッグされたメールの情報って取得できますか?
一度Explorerにコピーしてからなら普通にファイルとして取得できるのですが、
直接ドラッグして、OLEDragDropイベントで捕まえようとすると
DataオブジェクトのFilesが「データの形式が一致しません。」となってエラーになってしまいます。
0351デフォルトの名無しさん2007/02/27(火) 12:54:10
それよりFontLinkが使いたいな。Courier Newでないと気分が乗らないよw
0352デフォルトの名無しさん2007/02/27(火) 17:12:24
>>323
eval("MsgBox(""Hello"")")
0353デフォルトの名無しさん2007/02/27(火) 22:27:56
148で書かせていただいたのですが149さんに教えていただいてやってみようとしたのですが
よくわかりませんでした
本当に初心者で申し訳ないですがどなたか再度教えていただけますか
0354デフォルトの名無しさん2007/02/27(火) 22:34:42
さようなら
0355デフォルトの名無しさん2007/02/27(火) 22:59:28
質問の意味がわからん。
何のコントロールを使ってどんな動作をさせたいのか具体的に書かないと答えようが無いんだが。
0356デフォルトの名無しさん2007/02/28(水) 00:19:05
コマンドボタンを使って、複数のテキストボックスの値を瞬時に消したいのですが、

Text1.text=""
Text2.text=""
   ・・・
Text20.text=""

のようにいちいち書くのではなく、For文を使って連番で一気に消せません
でしょうか?

For i=1 to 20
hoge="Text"&i
hoge.text=""
Next

とやっても、「オブジェクトが必要です」と警告を食らってしまいます。
どなたかご教示ください。よろしくお願いしまうs。
0357デフォルトの名無しさん2007/02/28(水) 00:22:21
コントロール配列
03583562007/02/28(水) 00:37:11
>>357
ありがとうございました
0359デフォルトの名無しさん2007/02/28(水) 01:58:42
>>352
thx!!!
0360デフォルトの名無しさん2007/02/28(水) 09:38:19
VB5で書かれたソースコードの変更を頼まれたのですが
VB5が手に入りません。

VB5で書かれたソースコードをVB6でコンパイルできますか?
0361デフォルトの名無しさん2007/02/28(水) 10:22:43
>>360
やってから言え
0362デフォルトの名無しさん2007/02/28(水) 12:45:38
>>360
不安なら変更前を別途圧縮するなどして保存しておき、VB6で開いてしまえ
0363デフォルトの名無しさん2007/02/28(水) 13:05:11
つうか、銀行側も良くそんなしようでOKだしたな

もとはといえば作ったり打合せした連中が糞以下だからだろうけど
0364デフォルトの名無しさん2007/02/28(水) 13:21:29
銀行?誤爆?
0365デフォルトの名無しさん2007/02/28(水) 13:23:07
>>364
すまん・・・誤爆だ
スレ汚しスマソ
0366デフォルトの名無しさん2007/02/28(水) 15:38:20
マルチすみません。
情報が少ないですが以下の現象で困っております。
環境 WindowsXP Excel2003

エクセルのVisual Basic Editorで社内作成のコントロール(VB6にて)
をはりつけ、その後エクセルを終了すると必ずメモリがReadに・・・
のエラーがでてしまい困っています。あと2時間ほどで調べないといけない
のですが。。。誰かご教授お願いします。
0367デフォルトの名無しさん2007/02/28(水) 16:09:21
マルチ?
ばいばい、もう来なくて良いよ
0368デフォルトの名無しさん2007/02/28(水) 16:12:39
はっきりは判らないが、そのコントロール自体を破棄する前に
コントロール内で使用しているオブジェクトを明示的に破棄してやる
必要があるのではないか。
0369デフォルトの名無しさん2007/02/28(水) 16:51:18
趣味レベルなのでかなり初歩的な質問で申し訳ないのですが
VB6でMicrosoft flex Grid Contorol 6.0
を使って FlexGridを作ったのは良いのですが
これを使ったプログラムはexeファイル化しても
VB6がインストールされてない環境では使えないのでしょうか?
知り合いのPC上でも使いたいのですが(Win XPと2000)
VisualStudioをそれぞれインストール意外に解決法はあるでしょうか?
0370デフォルトの名無しさん2007/02/28(水) 16:52:50
あります
0371デフォルトの名無しさん2007/02/28(水) 16:57:37
>>370
良ければ(その手のHP等あればそれでも)教えていただけないでしょうか?
そもそもどう検索して探して良いのか・・・途方に暮れてます。
0372デフォルトの名無しさん2007/02/28(水) 17:04:17
>>371
ttp://dobon.net/vb/installer/index.html
0373デフォルトの名無しさん2007/02/28(水) 17:09:09
>>372
ディストリビューション ウイザード ってやつですね?
ありがとうございました。
0374デフォルトの名無しさん2007/02/28(水) 17:12:52
>>373
違います
0375デフォルトの名無しさん2007/02/28(水) 17:16:27
>>374
HPの説明に従って
ディストリビューション ウイザードを使って 
「パッケージ」なるものを作ってみたのですが
これでセットアップしたら使えるようになる
そういうことだと思ってましたが?(今作ってみました)
だめでしょうか?
0376デフォルトの名無しさん2007/02/28(水) 17:17:34
>>375
それ以外の方法で作ってください
0377デフォルトの名無しさん2007/02/28(水) 17:20:33
>>376
分かりました。試してみます。
0378デフォルトの名無しさん2007/03/01(木) 23:33:13
.netスレに書き込んでからふと思ったけど、VB6でフォーカスのマークを消すことって出来ますか?

私はボタンクリック後に別コントロールにフォーカス動かすようにしてるけど、それでも一瞬表示される&フォーカス残せないと面倒だよね。
GetFocusに他コントロール.setfocusしたら、微妙に残像が表示されるし
サブクラス化してボタンクリックと同時にフックして、強制的にクリックメソッド発生→フォーカスとかしてたら別のところで弊害がでそう。

VB6.0プロフェッサー様オシエテ!
0379デフォルトの名無しさん2007/03/02(金) 09:31:45
frm○○.showでfrm○○に飛んだ時
最初にForm_Roadがかかりますが、
前画面に戻り、再びfrm○○を読み込んでもForm_Roadを行いません。

Form_Roadを行うにはどうすればいいのでしょうか?
0380デフォルトの名無しさん2007/03/02(金) 09:33:17

そんな難しい事はあきらめて、俺といい事しないか?
0381デフォルトの名無しさん2007/03/02(金) 09:43:38
もどるときshowやれば?
0382デフォルトの名無しさん2007/03/02(金) 11:21:18
VB6.0を売っているところありますか?
0383デフォルトの名無しさん2007/03/02(金) 11:23:03
おとしてこいよサブスクリションかなんかのページで
0384デフォルトの名無しさん2007/03/02(金) 13:42:03
>>379
試してないから違ったらごめんだけど、前の画面に戻るとき
Unloadしてなくて、次showする時に既にLoadされてる状態だから
Loadイベントが呼ばれないだけでは?

0385デフォルトの名無しさん2007/03/02(金) 15:56:07
一度unloadしてからloadすりゃおk
0386デフォルトの名無しさん2007/03/02(金) 19:18:43
テキストファイルの中身を一行ずつ読み込む
という動作はどのようにすればできるんだっけ?
0387デフォルトの名無しさん2007/03/02(金) 19:34:34

>>386
そんな難しい事は考えないで俺の中に入れてくれ
0388デフォルトの名無しさん2007/03/02(金) 20:13:35
書き足りなかったのですいません
例えば、
テキストファイル1の中身を一行ずつ全部読み込んで
それをテキストファイル2に出力する
というようなやり方が分かる方いたら教えて下さい
よろしくお願いします
0389デフォルトの名無しさん2007/03/02(金) 20:16:46

>>388
大丈夫だ。
お前の事は長さも硬さも全部知ってるつもりだ。

いいから四つん這いになれ。
0390デフォルトの名無しさん2007/03/02(金) 20:41:52
>>388
FSOかFileOpenでいけるんちゃうかな
0391デフォルトの名無しさん2007/03/02(金) 20:49:04
>>388
const file1="hoge"
const file2="piyo"
dim ff1 as integer
dim ff2 as integer
dim ls as string
ff1=freefile(): open file1 for input access read lock read write as ff1
ff2=freefile(): open file2 for output access write lock read write as ff2
do until eof(ff1)
  line input #ff1, ls
  print #ff2, ls;
loop

こんなの?
0392デフォルトの名無しさん2007/03/02(金) 20:55:05
>>391
hogeとpiyoってのは何に対応してるの?

取りあえず今Notepadにある数字をNotepadに写し変える
という感じでソースを書いてるんですがファイル名指定してる
はずなのに実行するとエラーが出てしまいます・・・

Notepadの中身を読み込めないなんてことはないよね?
0393デフォルトの名無しさん2007/03/02(金) 20:56:14
ファイナルファンタジー?
0394デフォルトの名無しさん2007/03/02(金) 21:05:47
Notepadってwindows付属のメモ帳のことか?
実行ファイル=バイナリ読み込んでるの?
テキストファイルじゃないのか?
エラーならエラーでエラー番号と詳細内容かいてるだろ・・・
回答もらおうと思ってる文章じゃないな・・・
0395デフォルトの名無しさん2007/03/02(金) 21:08:12
ごめん、Notepadをテキストファイルだと思い込んでました・・・
混乱して全然分からないんだけどテキストファイルってのは
何ファイルのことをいうの?
0396デフォルトの名無しさん2007/03/02(金) 21:10:30
Notepadで保存したり開いたりできるファイル
0397デフォルトの名無しさん2007/03/02(金) 21:13:45
>>395
普通にShift-JISとかEUC-JPとかで文字が書き込んであるファイル
0398デフォルトの名無しさん2007/03/02(金) 21:20:29
>>395
ごめんといいつつも同じ多々良を踏むとは

とりあえず自分が何をしたいのか、どこまでできているのかを>>1参照して書くべし
現状だと霞かかった情報しか手に入ってないから最初から書くといい
0399デフォルトの名無しさん2007/03/02(金) 21:25:20
とりあえず俺がいいたいのは

・起動中のノートパッドに直接書き込みたいのか
・ノートパッドで開けるファイル形式に読み込み→書き込みしたいのか

そこんところはっきり。
あと質問者は名前に何か入れてもラワンと、上のレスじゃあ誰が質問してるのかわからんぞ
0400デフォルトの名無しさん2007/03/02(金) 21:30:23
・ノートパッドをバイナリで読み込むのか
0401デフォルトの名無しさん2007/03/02(金) 21:30:30
テキストファイル: テキストとして認識可能なように作ったファイル
バイナリファイル: テキストファイルとして作られなかったファイル
0402デフォルトの名無しさん2007/03/02(金) 21:32:59
>>401
つつくようで悪いが、その表現は早々に撤回した方が身の為だとおもうぞ。
0403デフォルトの名無しさん2007/03/02(金) 21:33:58
>>401
0か1かみたいな考え方だな
その発想はなかった
0404デフォルトの名無しさん2007/03/02(金) 21:34:39
つつく人はいつもじゃあ本当はどうなのかという事を語らない。
それで自分の意見に信憑性を持ってもらえるのか、客観的に考えて欲しい。
0405デフォルトの名無しさん2007/03/02(金) 21:34:56
やりたいこととしてはコマンドがクリックされたら
Notepad1の中身が読み込まれてNotepad2にその内容を表示するということです
下はネットにあったやつをファイル名の部分だけ書き換えたんだけど

'参照ファイルのファイル番号
Dim intFileNum As Integer
'行の内容を取得する変数
Dim strTxt As String
'空いているファイル番号を取得
intFileNum = FreeFile
'ファイルを開く
Open "C:\asobi\practice.txt" For Input As intFileNum   ←ここで指定したファイルはちゃんとあるはずなのに
'ファイルの最後までループ                 「ファイルが見つかりません」と表示されてしまいます・・・
Do Until EOF(intFileNum)
'行を変数に取り込む
Line Input #intFileNum, strTxt
'Readした内容をイミディエイトウィンドウに表示  ←ここはまだ書き換えてなくて、読み込んだものを
                          出力させる場所をしていしたいんですが書き方がよくわからないです・・・
Debug.Print strTxt

Loop
'ファイルを閉じる
Close intFileNum

0406デフォルトの名無しさん2007/03/02(金) 21:36:55
まず
Dir("C:\asobi\practice.txt")
を実行してファイルがあるか確認して見れ
04074052007/03/02(金) 21:37:08
>>399
・起動中のノートパッドに直接書き込みたいのか
・ノートパッドで開けるファイル形式に読み込み→書き込みしたいのか

後者です
0408デフォルトの名無しさん2007/03/02(金) 21:38:55
>>404は好く突く人ですね
0409デフォルトの名無しさん2007/03/02(金) 21:45:56
"C:\asobi\practice.txt"
ではなく
"C:\documents and settings\********\my documents\asobi\practice.txt"
とかに入っているとエスパーレスしてみる
0410デフォルトの名無しさん2007/03/02(金) 21:47:32
すまん、書き方が悪かったな

MsgBox Dir("ファイルパス")

これを実行して、ファイル名がちゃんと表示されて無ければパスが間違ってるってこと。
0411デフォルトの名無しさん2007/03/02(金) 21:48:04
orz

MsgBox Dir("C:\asobi\practice.txt")
0412デフォルトの名無しさん2007/03/02(金) 21:51:18
なんか対処療法的な確認方法しか出て無いけれど、

アイコンを右クリックしてプロパティをジーっと眺めてれば、何か見つかるかもね。
04134052007/03/03(土) 00:35:12
取りあえずプロパティを見てから拡張子をDTに変えたら
「ファイルが見つからない」という問題は解決しました
あとは読み込んだ内容をpracticeというNotepadに写すことができれば
いいんですが、下を実行しても指定したNotepadに何も表示されないといった
感じになってしまいます・・・
closeの位置等に問題があるのでしょうか?

'参照ファイルのファイル番号
Dim intFileNum As Integer
'行の内容を取得する変数
Dim strTxt As String

'空いているファイル番号を取得
intFileNum = FreeFile

'ファイルを開く
Open "F:\mydata\1.DT" For Input As intFileNum

'ファイルの最後までループ
Do Until EOF(intFileNum)

'行を変数に取り込む
Line Input #intFileNum, strTxt

Close intFileNum

Open "F:\practice.DT" For Output As intFileNum

Loop

'ファイルを閉じる
Close intFileNum
04144052007/03/03(土) 01:03:33
違うNotepadに出力できるようになりました

'参照ファイルのファイル番号
Dim intFileNum As Integer
'行の内容を取得する変数
Dim strDT As String
'空いているファイル番号を取得
intFileNum = FreeFile
'ファイルを開く
Open "F:\mydata\1.DT" For Input As intFileNum
'ファイルの最後までループ
Do Until EOF(intFileNum)
'行を変数に取り込む
Line Input #intFileNum, strDT

Close intFileNum

Open "F:\practice.DT" For Output As intFileNum

Write #intFileNum, strDT

Loop
'ファイルを閉じる
Close intFileNum

出力できるようにはなったけど、最初の一行目しかできないといったかんじで
改行されてる2行目以降も写せるようにしたいんだけど
このやり方をご存知の方いますか?
色々調べたけどわからんので、知ってる人いたらお願いします
0415デフォルトの名無しさん2007/03/03(土) 08:00:14
>>391
04164052007/03/03(土) 08:48:59
391のコードでもファイル名の部分を変更すれば
内容を読み込んで写し返るという処理はできるんだけど
例えば、
1
2
3
を書き写したいときに
123
と改行されない状態で出てきてしまうという感じです
あと改行して出力するみたいな処理のやり方が分かればできそうなんだけど
調べてもなかなか目的のものが出てこないです・・・
0417デフォルトの名無しさん2007/03/03(土) 08:52:50
> print #ff2, ls; 
print #ff2, ls
こうだな

> 調べてもなかなか目的のものが出てこないです
諦めたか
0418デフォルトの名無しさん2007/03/03(土) 09:10:47
改行されてないなら
改行すればいいじゃない
04194052007/03/03(土) 09:22:28
サンキューです
0420デフォルトの名無しさん2007/03/03(土) 13:26:41
値のリストから最大値を判定するというプログラムを書きたいんですが

Dim a(10) As Integer

If a(10) > Then

End If

この2行目で判定の対象となる値を全て比較して一番大きい値を出す
ような処理を書かなければならないんですがよく分かりません・・・
a(A )> a(A+1)
のような書き方になるのでしょうか?
今のとこ上手くまとまりませんが・・・
0421デフォルトの名無しさん2007/03/03(土) 14:02:06
>>420
リストが空の場合はちゃんと例外が起こるようになってるぞ:
public function maxItem(byref i() as integer) as integer
dim k as long
maxItem=i(lbound(i))
for k=lbound(i,1)+1 to ubound(i,1)
  if maxItem<i(k)) then maxItem=i(k)
next
end function
0422デフォルトの名無しさん2007/03/03(土) 14:21:14
>>421
コマンドがクリックされた瞬間にしに処理が行われ
目的の場所に最大値を出力する
という風にしたいんですが、それは可能ですか?
今そのソースをコマンドのプロシージャに組み入れたんですが
途中にEnd Subを入れる必要があると表示されてしまって
最大値判定ソースがコマンドプロシージャと切り離される感じになってしまいます・・・
0423デフォルトの名無しさん2007/03/03(土) 14:21:16
命名からセンスがないんだよ。
0424デフォルトの名無しさん2007/03/03(土) 14:56:02
>>422
> コマンドがクリックされた瞬間にしに処理が行われ
> 目的の場所に最大値を出力する
> という風にしたいんですが、それは可能ですか?
可能です

> 今そのソースをコマンドのプロシージャに組み入れたんですが
> 途中にEnd Subを入れる必要があると表示されてしまって
先ずは基礎の文法から理解してください
というのがセオリーなんでしょうが、とりあえずこんな感じです
Option Explicit
Private WithEvents btn          As CommandButton
Private list(1 To 10)           As Integer
Private Sub btn_Click(): MsgBox "目的の場所に" & maxItem(list) & "を出力する": End Sub
Private Sub Form_Load()
    list(5) = 100
    Set btn = Me.Controls.Add("VB.CommandButton", "btn")
    Call btn.Move(0, 0, 500, 500): btn.Visible = True
End Sub
Public Function maxItem(ByRef i() As Integer) As Integer
    Dim k As Long
    maxItem = i(LBound(i))
    For k = LBound(i, 1) + 1 To UBound(i, 1)
      If maxItem < i(k) Then maxItem = i(k)
    Next
End Function
0425デフォルトの名無しさん2007/03/03(土) 15:11:44
お前、過去にも間抜けなソースさらしてたな
0426デフォルトの名無しさん2007/03/03(土) 16:08:06
>>424
すいません、情報が足りなかったんですけど
テキストファイルの数字を読み込んで最大値を判定して別のテキストファイルに出力する
ということをやりたいんですけど教えて頂いたものを組み合わせた考えた↓じゃ上手くいかないです・・・
Private Sub Command1_Click()
Const file1 = "a"
Const file2 = "b"

Dim ff1 As Integer
Dim ff2 As Integer
Dim i(10) As String

ff1 = FreeFile(): Open "F:\text1.DT" For Input Access Read Lock Read Write As ff1
ff2 = FreeFile(): Open "F:\text2.DT" For Output Access Write Lock Read Write As ff2

Do Until EOF(ff1)
Line Input #ff1, i(10)

Public Function maxItem(ByRef i() As Integer) As Integer
Dim k As Long
maxItem = i(LBound(i))
For k = LBound(i, 1) + 1 To UBound(i, 1)
If maxItem < i(k) Then maxItem = i(k)
Next
Print #ff2, i(10)

Loop

End Function

これだと何が足りませんか?
0427デフォルトの名無しさん2007/03/03(土) 16:31:38
>>426
ああ、貴方か。

とりあえず文章の添削からだね。

> テキストファイルの数字を読み込んで最大値を判定して別のテキストファイルに出力する
数字と数値は別物、多分数値を言いたいのだろうけど、推測するにInteger型に収まる整数値なの?
テキストファイルのフォーマットも憶測するに、一行に一つの整数値が書き込まれてるのかな?
例)
10
20
-1
0
1
...

> ということをやりたいんですけど教えて頂いたものを組み合わせた考えた↓じゃ上手くいかないです・・・
変なたとえだけど、あなたの地元で駅までの道順をたずねられて教えた人に「それじゃ良くわからないんです」って応えられたらどうする?
見たいな気持ちになった。
できれば>>1参照して、『「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。 』を実践するとよいよ。
よいよ
0428デフォルトの名無しさん2007/03/03(土) 16:36:47
>>426
・全体的にVBとして構文がおかしい
・「Private Sub Command1_Click()」に対する「End Sub」はどこいった
・「Const file1 = "a"」と「Const file2 = "b"」はどんな意味があるんだ
・For文のLBoundとUBoundの第二引数を指定する意図は?
・Print #ff2, i(10)をする?Print #ff2, maxItemじゃないの?
0429デフォルトの名無しさん2007/03/03(土) 16:39:42
書き忘れ
・なんでclose処理してないんだ
・なぜLine Input #ff1, i(10)なんだ、これ1行でi(0) 〜 i(10)に数字は入らないぞ
0430デフォルトの名無しさん2007/03/03(土) 18:27:02
>>427
遅くなってすいません、今取りあえずやりたいことは
テキストファイルにある
10
20
-1
0
1
...
などの数値の中から最大値を判定し、別のファイルにこの場合だったら
20
と出力するということをやりたいです
最終的にはもっとものすごいことをやりたいんですけど
まずは全体から一つの最大値を取りだすということをやりたいです
0431デフォルトの名無しさん2007/03/03(土) 18:36:25
iがいっぱいあってわけわかめ
0432デフォルトの名無しさん2007/03/03(土) 18:53:41
>>428,429
自分でも理解し切れてない箇所があったんで、すいません
まだ基礎も満足にできてないため、これぐらい複雑な文に
なってくるとチンプンカンプンになってしまいます・・・
0433デフォルトの名無しさん2007/03/03(土) 18:58:24
>>430
了解、ただ
> 最終的にはもっとものすごいことをやりたいんですけど
この部分が気に掛かるけど(大雑把に言って、”すごい”こととか”本当は”と言っている物はアヤシイ物)

んで、こんな感じだろうね。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3728.txt
0434デフォルトの名無しさん2007/03/03(土) 18:59:51
>>433の
> Const File1="hoge"
> Const File2="hoge"
は
Const File1="F:\text1.DT"
Const File2="F:\text2.DT"
にしてみるといいのではないかと。
0435デフォルトの名無しさん2007/03/03(土) 19:05:29
>>433
本当にすいません、ありがとうございます
自分が最終的にやりたいことは
扱うのはおそらくテキストファイルにある数千万くらいの少数の数値のデータになると思うんですけど
その中から2000回に一回現れる極大点の値のみを抽出して別のテキストファイルに出力する
ということなんですけど、これはVBで実現可能ですか?
相当すごいプログラムにはなりそうですけど・・・
0436デフォルトの名無しさん2007/03/03(土) 19:13:30
俺も折角なので最初のファイル読んで最大値を返す部分作ってみた
http://www.uploda.org/uporg714904.txt.html
0437デフォルトの名無しさん2007/03/03(土) 19:14:32
>>435
>数千万くらいの少数
小数というか実数だな。

君のやりたいことは余裕で出来るよ。
0438デフォルトの名無しさん2007/03/03(土) 19:19:10
極大点だから、局所的な最大点であって、
非局所的な最大点ではないね。
04394352007/03/03(土) 19:31:56
>>437,438
丁度2000ごとじゃなく約2000回ごとぐらいに現れる極大点でした
しばらく自分で頑張って考えてみます
ヒントを少しもらいたいんですが、433のファイルの応用でできますか?
自分のイメージだと
極大点の前後の値に反応するようにして
極大点=b、直前の値=a、直後の値=cとすると
a<bかつb>c
の時にbを出力するみたいな感じなんですが
0440デフォルトの名無しさん2007/03/03(土) 19:35:08
グラフが単純な場合はそれでいいと思うけど、
グラフがギザギザの場合は
もうちょっと長いスパンで見ないとダメだと思う。
0441デフォルトの名無しさん2007/03/03(土) 19:37:13
>>439
上下に凸となる変曲点(頂点)が、
データ上にきれいに現れるならそれで良いと思うけど、
多少バラツキを持ってるなら、
前後数点のデータを使ったほうが良さ気。
0442デフォルトの名無しさん2007/03/03(土) 19:38:42
>>439
なんかもう少し詳しく聞けば10分もあれば作れそうだ

現状で分かっている例外としては、データの終端を極大点とみなせるかどうか?だな


> ヒントを少しもらいたいんですが、433のファイルの応用でできますか?

「応用」と一言に切ってしまうことができるのなら、全て応用でできるけど

>>433は全体から(つまりストリームではなくブロックデータから)最大の値を求めるものなのに対し、

新たな問題はストリームから狭義の極大値を引っ張り挙げるものだからちょっと構造が変わるよ。
04434352007/03/03(土) 19:50:39
よく考えたら自分の求めたい極大点と極大点の間にも
少し小さな値で一回だけ凸になる時がありますね・・・
というか自分が本当に出力したいものを勘違いしていました・・・
自分が求めたいのは極大点の値じゃなくて、一つの極大点から
次の極大点が現れるまでに何個数値があったかということでした
例えば、
1
2.3
3
2.4
1
0
-1
2
3
4
3
2
・・・
だったら7個
といったみたいに(実際に扱う数値はもっと差が小さい実数です
これを何周期も繰り返して全ての極大点間の数値の個数を求めたいんですが
このようなことを求めることも可能ですか?

0444デフォルトの名無しさん2007/03/03(土) 19:52:08
>>443
普通に可能です
VB6はまともな数値演算持ってるのでその辺は気になさらずに
0445デフォルトの名無しさん2007/03/03(土) 19:58:13
いつからこのスレはソフトをつくってやるスレになったんだ?
0446デフォルトの名無しさん2007/03/03(土) 20:04:35
こうか?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3729.txt
0447デフォルトの名無しさん2007/03/03(土) 20:05:27
>>445
最近vb触ってないから
実はダシにしてた
04484352007/03/03(土) 20:36:09
>>446
ありがとうございます
多分実際に扱う数値データを見て頂いた方が早いと思うんですが
Notepadファイルをアップする方法ってあるんですか?
0449デフォルトの名無しさん2007/03/03(土) 20:50:23
>>448
お前さんいい加減にしといたほうがいいと思う
ここまで答えでてるんだし自分で考えるって事はしないわけ?

>>445でも言われてるけど自分で考えてわからに所をピンポイントで聞けばいいと思う
そんなんだからVB房は とか言われるんじゃね?

別にVBだからそういうわけじゃないけど確かに比率は多いと思う

これ以上はスレ違いになるから言わない
0450デフォルトの名無しさん2007/03/03(土) 20:50:47
>>448
いつもはCの宿題スレでROMってるオレは個々使ってる
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm?
0451黒幕2007/03/03(土) 21:40:04
質問者の言ってる意味は判らなかったが
>>446のソース見て初めて理解できた。

>テキストから読み込んで極大値を調べて…
これを一気にコードにして詰め込んでいくから、結局ごちゃごちゃになってわからなくなるわけ。
部分ぶぶんを理解しながら完成指せて、最後にまとめて合体とかしたほうがいいかもしれん。

>>428,429 の書いてあることは難しいかもしれないが、かなり重要なところなのでチェックしといたほうがいい
0452デフォルトの名無しさん2007/03/03(土) 21:55:34
みんなってもしかして一流のSE?
ずっと見てたけど普通にすごいんだけど
0453デフォルトの名無しさん2007/03/03(土) 22:00:38
そんなに凄い内容か…?

ちなみに俺は趣味レベルの四流PG。
質問をしたり答えたりすることで知識や能力になるから、見てる。
暇つぶしになるし。
0454デフォルトの名無しさん2007/03/03(土) 22:08:18
プログラマに流派と段位はないっす
0455デフォルトの名無しさん2007/03/03(土) 22:27:25
VBでアセンブラは使えるでしょうか?
インラインアセンブラがベストですが
何らかの方法でリンクする方法があればそれでもOKです
よろしくお願いします。
0456デフォルトの名無しさん2007/03/03(土) 22:30:55
一応vbcはオブジェクトファイル作るから、ゴリ押しすれば何とかなるかも。

・・・そういえば昔VBのソースコード中にCを埋め込めるアドインがあったよーな・・・
0457デフォルトの名無しさん2007/03/03(土) 22:33:59
>>456
vbcじゃなくてc2.exeだな

というか結構ムチャな話だな
0458デフォルトの名無しさん2007/03/03(土) 22:39:18
アセンブラでDLL作って呼ぶしかないとおもう
0459デフォルトの名無しさん2007/03/03(土) 22:45:31
>>456-458
わかりました。素直にDelphi使うことにします。
ありがとうございました。
0460デフォルトの名無しさん2007/03/03(土) 23:13:15
釣り・・・ですね。
04614352007/03/04(日) 00:09:40
なんとか教えていただいたものを元に自分の目的の処理ができるように
少し修正を加えて完成させることができました

明日の夜までに完成させなきゃいけないから焦ってて
色々聞いてしまってすいませんでした
アドバイス下さったみなさん本当にありがとうございます
自分で基礎をもっとしっかりさせて目的のコードを自力で
かけるようになるくらい頑張ります
0462デフォルトの名無しさん2007/03/04(日) 00:19:02
いつまで基礎やってんだよ
成長できないならやめてしまえ
0463デフォルトの名無しさん2007/03/04(日) 00:26:42
>>462
ひでぇ

基礎がしっかりできていればアプリは動く。
VBに応用など必要ない。


>>461
がんがれよ
判らんことがあれば遠慮せず戻って来い
0464デフォルトの名無しさん2007/03/04(日) 00:38:43
できない人間に続けさせるほうがひどいよ
0465デフォルトの名無しさん2007/03/04(日) 02:15:46
>>463
でも、この程度のロジックで頭悩ますってどんな応用力の無い職業PGなんだよwwww
所詮基礎の組み合わせが応用だけどさ、>>461とかあまりにもひどすぎないか?

あせってりゃ他人に仕事でじゃんじゃか質問して悩まなくていいのかよwww


と、PG兼SEの俺が職場で半泣きになりながら言ってみるテスツ
0466デフォルトの名無しさん2007/03/04(日) 02:18:51
>>明日の夜までに完成させなきゃいけない

宿題では、ないだろうか?
0467デフォルトの名無しさん2007/03/04(日) 03:47:26
どうみても学生です
0468デフォルトの名無しさん2007/03/04(日) 10:25:52
>>465
PGSE乙 おまい仕事に追われすぎ

学生にしてもひどい( ‘∀‘)ガナー
0469デフォルトの名無しさん2007/03/04(日) 10:45:42
>>465
発言から底がしれてるぞ。

今頃はお顔が真っ赤っかの学生。
0470デフォルトの名無しさん2007/03/04(日) 11:04:54
>>465
465のソース、コメントの書き方が汚そうで見たくないな
0471デフォルトの名無しさん2007/03/04(日) 12:26:12
>>465
おまえさん・・・きっと疲れてるんだよ
せめてもちついて文章くらい書けw
0472デフォルトの名無しさん2007/03/04(日) 21:27:37
すみません、プログラミング最近はじめた超初心者です。
変数と引数という言葉がよくわからずネットで調べて
なんとなく理解はできたのですが、まず変数として
データを一時的に記憶しておいて、そのあと処理する
ときに引数に受け渡して処理を実行する、
という考えは間違ってないですか?
0473デフォルトの名無しさん2007/03/04(日) 21:28:34
合ってるとは言い難いな
0474デフォルトの名無しさん2007/03/04(日) 21:30:30
>>473
どう間違ってるんですかね?
0475デフォルトの名無しさん2007/03/04(日) 21:31:17
>>472
まずはアセンブラから学ぶといい
CASLの練習問題でも探しなさい
0476デフォルトの名無しさん2007/03/04(日) 21:44:45
>>475
ありがとうございます。何しろはじめたばかりなのでアセンブラもCASLも
今はよくわかってないですがVBはそちらから勉強したほうがよいのですね!
勉強します!ありがとうございました
0477デフォルトの名無しさん2007/03/04(日) 21:44:58
>>472
変数は方程式のxとかyみたいなもん
引数はy=f(x)のxみたいなもん

0478デフォルトの名無しさん2007/03/04(日) 21:46:23
>>472
http://d.hatena.ne.jp/keyword/%CA%D1%BF%F4
http://d.hatena.ne.jp/keyword/%B0%FA%BF%F4
0479デフォルトの名無しさん2007/03/04(日) 21:49:12
>>474
流れ作業的に羅列している点と、引数に関する根本的な勘違い
それ以外は適当じゃないかと

・変数
 :データを記憶するもの
・引数
 ・実引数
 :メソッド/関数に与えるデータ
 ・仮引数
 :メソッド/引数に与えられたデータ
0480デフォルトの名無しさん2007/03/04(日) 22:17:40
>>477>>478>>479
皆さんありがとうございます!皆さんの意見を聞いて自分なりに
考えてみたのですが、ネットであった例題をパクっていうと、
オブジェクトが「テレビ」でメソッドが「画面を映す」「チャンネルを変える」
という操作で、「チャンネルの番号」や「いろんな番組の画面」が引数になるのですか?
もし全然違うことを言ってたらすみません。。。
※変数は完璧分かりました!ありがとうございます!
0481デフォルトの名無しさん2007/03/04(日) 22:29:33
>>480
オブジェクト指向の表面をなぞった理解だと、猫とかイヌとか人とか出てきて抽象化だとか多様化だとかが織り交ぜられるだけ
もっと単純で奇怪だよ

現実問題を片付けられるほど"オブジェクト指向"プログラミングに馴れた人間はそう居ないし、実際オレも良く説明できない
(クラスベース-OOPとメッセージベース-OOPなんて区別がつく?)

ってな分けで、無理やり現実問題を引っ張り出して頭を回すよりも、もっと単純で分かりやすい方法を教えるよ

           コーディングしてろ。
0482デフォルトの名無しさん2007/03/04(日) 23:32:52
>>481
ありがとうございます。例えを探すよりまずコーティングしてみようと思います。
落ち着いてみると考えすぎて露点がずれていました。
あの、引数って()内に書かれているものですか?
すみません。よろしくお願いします。
0483デフォルトの名無しさん2007/03/05(月) 07:52:28
>>482
で、コードはどこいった?
0484デフォルトの名無しさん2007/03/05(月) 15:00:55
引き算の答えをラベルに入力しようとすると
文字型になってしまい、引き算の答えが入力できません。

ラベルを数値型にするにはどうしたらいいですか?
0485デフォルトの名無しさん2007/03/05(月) 15:05:29
a = int(text)
0486デフォルトの名無しさん2007/03/05(月) 15:19:50
>>484
演算の時だけCIntなりCDblなりValなりで数値にしろwww
0487デフォルトの名無しさん2007/03/05(月) 18:23:42
VB6とVBSで実装できて、文字列配列を安定ソートできる一番速いアルゴリズムって何ですか?
配列は二次元配列ですが、ソートのキーとなるのは一次元のみです。

とりあえず一次元配列用のマージソートサンプルを拾ってきて、二次元で使えるように書き換えてみたのですが
もっと高速なソートアルゴリズムがあったら、名前だけでもいいので教えてください。
0488デフォルトの名無しさん2007/03/05(月) 18:30:20
日本語でオッケって書かれるよw
なんだよ、二次元配列のソートって。
四角形の中でどこが始点(終点)か答えよ、ってのと同じ愚問にしか思えんけどw
0489デフォルトの名無しさん2007/03/05(月) 18:56:03
>>488
先にも書いた通り、キーは一次元です。
あなたの例えは、二次元配列の全要素を同列のキーとした場合の話ですね。
二次元配列の全要素をキーとする場合でも、軸と優先順を決めればきちんとソート出来ますし。
0490デフォルトの名無しさん2007/03/05(月) 18:58:36
>>487
クイックソートは?
0491デフォルトの名無しさん2007/03/05(月) 19:05:53
>>487
>>490の言うようにクイックソートが安定ソートのうち定評高いもの
ただ文字列ソートの場合ネックになるのは文字列の大小判定じゃないのか?
そっちはどうでもいい?
0492デフォルトの名無しさん2007/03/05(月) 19:07:21
>>489
だからそれが日本語でオッケだってのw
こういう自分以外はエスパーだと思ってるおめでたい奴って救い難いな。
0493デフォルトの名無しさん2007/03/05(月) 19:10:51
>>492
そこは突っ込まないでやろうぜ
彼なりに考えがあるんだよ(´・ω・`
0494デフォルトの名無しさん2007/03/05(月) 19:15:19
クイックソートって安定だっけ?
0495デフォルトの名無しさん2007/03/05(月) 19:16:53
>>490-491
伝わる人には伝わってるようで良かったです。
しかしクイックソートは安定ソートではないという記述があるのですが。アルゴリズム的に見ても、不安定ソートっぽいですし。
それと大小文字判定は無視していただいて結構です。文字列と言ってもキーに使われてる文字種は数字と英大文字と記号なので。

ttp://ja.wikipedia.org/wiki/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88
> 安定ソートではない。
ttp://www.th.cs.meiji.ac.jp/2005/omoto/quicksort.html
> 安定ソートではない、といったデメリットもある。
ttp://user.ecc.u-tokyo.ac.jp/~tt37103/tips/f90/macro_quick_sort_primitive.html
> 不安定ソートです。
0496デフォルトの名無しさん2007/03/05(月) 19:20:39
とりあえずwikiだよ(´・ω・`つ http://ja.wikipedia.org/wiki/Category:%E3%82%BD%E3%83%BC%E3%83%88

>>495
wikiにも載ってるけど安定ソートにする方法はあるよ
シェーカーソートとかいう面白いのもあるから試してみるのもいいかもね
0497デフォルトの名無しさん2007/03/05(月) 20:32:53
>>495
いや絶対伝わってないからw
その証拠に誰も抽象的にソートというアルゴリズム一般にしか触れてないじゃん。
0498デフォルトの名無しさん2007/03/05(月) 20:36:12
>>497
いやだからそっとしておいてあげて
  ∧_∧ 
  ((.;.;)ω;)=つ≡つ 
  (っ ≡lヽ,,lヽ 
  /   (    )
 ( / ̄と.、   i 
      しーJ 
0499デフォルトの名無しさん2007/03/05(月) 20:40:25
>>497
アルゴリズム一般の名前だけでいいって書いてるからねぇ
0500デフォルトの名無しさん2007/03/05(月) 21:01:52
速度求めるのにVBで実装しようとしてる時点で痛い。

COMなりCなりタイプライブラリなり勉強しろ。
0501デフォルトの名無しさん2007/03/05(月) 21:18:45
>>500
さようなら
0502デフォルトの名無しさん2007/03/05(月) 21:36:35
クイックソートって変態的に速いよな。
なんであんな方法で結果的にソートされていくのか不思議だ。

>>500
コボルや機械語で組めばCOM使ったりCで書くより比べもんにならないほど速くなるぜ
0503デフォルトの名無しさん2007/03/05(月) 21:44:31
この前おいらが機械語で組んだときなんか、無限ループを5秒で抜けたぜ。
0504デフォルトの名無しさん2007/03/05(月) 21:47:23
さすが機械語はファジーだな
0505デフォルトの名無しさん2007/03/05(月) 21:49:04
ハッカー精神があるならObjPtr()でオブジェクトのアドレス引っ張ってそこから目的の関数のメモリ領域を機械語で侵食する
とかいう記事を昔読んだことがある
0506デフォルトの名無しさん2007/03/05(月) 21:57:05
なぜVBで組むのか?

そこにVBがあるから
0507デフォルトの名無しさん2007/03/05(月) 21:58:12
>なんであんな方法で結果的にソートされていくのか不思議だ。
おいおい本気か。
かなり直観的に動作が理解できるアルゴリズムじゃん。
0508デフォルトの名無しさん2007/03/05(月) 22:01:43
いやね、今wiki見て勉強してるんだけど

>初期データ: 8 4 3 7 6 5 2 1
>
>中央付近に位置する7をピボットとする。左から7以上を探索して8を発見。右から7以下を探索して1を発見。前者が左にあるため入れ替え。
>1 4 3 7 6 5 2 8

ここまでは分かるんだけど

>次の位置から探索を継続。7と2を発見して入れ替え。
>1 4 3 2 6 5 7 8

ここがちょっとわかんなくて。

�@ピボットとして一つ選びそれをPとする。
�A左から順に値を調べ、P以上のものを見つけたらその位置をiとする。
�B右から順に値を調べ、P以下のものを見つけたらその位置をjとする。
�Ciがjより左にあるのならばその二つの位置を入れ替え、2に戻る。ただし、次の2での探索はiの一つ右、次の3での探索はjの一つ左から行う。

i = 1, j = 8 だから、
次は4と2がソートされるんじゃないの・・?  ってとこで悩んでる
0509デフォルトの名無しさん2007/03/05(月) 22:07:39
機械語でコード組むプログラムをVBで作ればいいじゃないか。
05105082007/03/05(月) 22:10:09
左からはピボット以上の数か。
ごめん理解した。
0511デフォルトの名無しさん2007/03/05(月) 22:24:59
VBでやるならデータベースに接続するのが一番スマートなやりかた
0512デフォルトの名無しさん2007/03/05(月) 22:32:09
つ リストボックス
0513デフォルトの名無しさん2007/03/05(月) 22:42:35
一方、ODBCやリストボックスはバブルソートを使った。
0514デフォルトの名無しさん2007/03/05(月) 23:04:26
元の順番を第二キーとして保持して、第一キーが同じなら第二キーで
比較判断すればクイックソートでも安定させられるやん。
0515デフォルトの名無しさん2007/03/05(月) 23:06:35
>>514
で?
0516デフォルトの名無しさん2007/03/05(月) 23:07:58
いえなにも
0517デフォルトの名無しさん2007/03/05(月) 23:10:17
いやそんな無駄なことしなくても一つの列を2つの列に分割・再構成する時に
スキャンした順番で再構成するだけだよ
0518デフォルトの名無しさん2007/03/05(月) 23:13:51
で?
0519デフォルトの名無しさん2007/03/06(火) 00:15:35
コメントの自動挿入やウインドウのタブ化など
めっさ当たり前のように使われているアドインツールですが、
くっと作業効率がうpする皆様お勧めのアドイン、ありませんか?
ええのがあったら教えてください。
0520デフォルトの名無しさん2007/03/06(火) 12:15:54
バブルソート大好きな俺が来ましたよ〜〜〜
0521デフォルトの名無しさん2007/03/06(火) 12:17:38
バブルソート大好きな俺は帰りますね〜〜〜
0522デフォルトの名無しさん2007/03/06(火) 17:17:42
そういえば再帰ソートは、非再帰にしてやると大抵いくらか速くなるよな。
0523デフォルトの名無しさん2007/03/06(火) 21:14:52
泡風呂大好きなオレがきましたよ〜
0524デフォルトの名無しさん2007/03/06(火) 21:26:50
泡姫大好きです!
0525デフォルトの名無しさん2007/03/06(火) 21:54:30
だから6.0ユーザはレベルが低いっていわれるんだよ…
0526デフォルトの名無しさん2007/03/06(火) 21:56:22
>>525
よくいう。レベルの高い講義を示せ。
0527デフォルトの名無しさん2007/03/06(火) 22:07:12
>>1
0528デフォルトの名無しさん2007/03/06(火) 22:23:06
>>525
なんという釣り m9(^Д^)
0529デフォルトの名無しさん2007/03/06(火) 22:26:50
すいません,質問よろしいでしょうか?
今,VB6.0を使っています.
picturebox内にグラフを描いた後に,
SavePicture Picture1.Image, FileName & ".bmp"
の文を使って,pictureboxの画像を保存しようとしているのですが,
グラフの線は残らず背景のみが保存されてしまいます.
保存の仕方が悪いのでしょうか?どのように変更すればグラフの線も保存されるようになるでしょうか?
よろしくお願いします.
0530デフォルトの名無しさん2007/03/06(火) 22:44:40
グラフの線がバックグラウンドとか?

あれ・・関係なかったっけ?
要はImageオブジェクトに描画されてないって事だと思うんだけど・・・
0531デフォルトの名無しさん2007/03/06(火) 22:52:07
>>530
529です.回答ありがとうございます.
今,いろいろ試していたのですが,Pictureboxのプロパティで
AutoredrawをTrueにすることで線も保存する事ができるようになりました.
ありがとうございました.
0532デフォルトの名無しさん2007/03/06(火) 22:54:33
AutoRedraw = Trueでないと絵画されたことにならんよ
ためしにFalseの状態で絵画→ウインドウを最小化→元に戻してみるといい
0533デフォルトの名無しさん2007/03/07(水) 00:44:09
フォルダ選択ダイアログを使用したくて、SHBrowseForFolderの使い方を調べて
一応、動くものが出来たのですが、ダイアログの表示位置をどうやって指定すれ
ばよいかわかりません。
どなたかご存じの方、いませんか?
0534デフォルトの名無しさん2007/03/07(水) 00:55:25
起動時の表示位置は指定できないから
表示させてから移動させれば良いのさ
0535デフォルトの名無しさん2007/03/07(水) 01:57:53
>>534
すみません。
それは、コールバック関数の中で処理をするということになりますか?
0536デフォルトの名無しさん2007/03/07(水) 02:19:32
6.0ってサブスクライバで無料DLできるのか?
0537デフォルトの名無しさん2007/03/07(水) 02:30:25
http://www.microsoft.com/japan/msdn/subscriptions/topics/VB6.aspx
0538デフォルトの名無しさん2007/03/07(水) 02:38:09
>>537
ログインしてもどこからDLするのか分からん
URLキボン
0539デフォルトの名無しさん2007/03/07(水) 02:47:56
おいらサブスクライバじゃねーからログインできないヨ。
0540デフォルトの名無しさん2007/03/07(水) 02:53:37
サブスクライバって有料会員じゃねーの?
0541デフォルトの名無しさん2007/03/07(水) 10:48:39
>>319
0542デフォルトの名無しさん2007/03/07(水) 11:55:39
MSDN 会員 (マイクロソフト認定パートナー、プレミアサポートご契約者含む) の内、「ユニバーサル」、「エンタープライズ」、「プロフェッショナル」、「オペーレーティング システム」の各サブスクリプション レベルに該当する MSDN 会員のみがご利用いただけます

これってどうやって登録するの?LiveIDじゃないよね?
0543デフォルトの名無しさん2007/03/07(水) 12:00:01
>>542
年間百万単位のお金を寄付すると会員になれます
0544デフォルトの名無しさん2007/03/07(水) 12:12:53
電話しないと会員IDもらえないんじゃなかったっけ?
0545デフォルトの名無しさん2007/03/07(水) 12:30:23
>>543
そんなにしないプランもあるよw
まあ開発ツールもダウン可能なエディションはフツーの人が手を出しにくい
価格なのは間違いないけど。
0546デフォルトの名無しさん2007/03/07(水) 13:40:58
MSDNは会社に買わせるものと相場が決まっておる
0547デフォルトの名無しさん2007/03/07(水) 14:31:01
Visual Basic 2005 Express Editionを無償公開してるのにVB6.0を一般公開しないのも意味不明だな
0548デフォルトの名無しさん2007/03/07(水) 14:48:36
>>547
わかりやすいと思うけどw>VB2005への誘導
0549デフォルトの名無しさん2007/03/07(水) 14:58:30
VB2005はごちゃごちゃしてて使いにくい。
0550デフォルトの名無しさん2007/03/07(水) 15:06:58
VB2005ってネイティブな実行ファイルもはき出せるの?
ここで聞くのもなんだけど・・・
0551デフォルトの名無しさん2007/03/07(水) 15:18:31
ネイティブっちゃネイティブかな・・・.NETネイティブ。
0552デフォルトの名無しさん2007/03/07(水) 15:48:29
>>550
VB2005で作った実行ファイルは
WindowsVistaのネイティブ環境で実行出来るよ。
0553デフォルトの名無しさん2007/03/07(水) 16:39:55
2005で作られた有名なアプリってなにがある?
0554デフォルトの名無しさん2007/03/07(水) 17:19:23
>>550
聞いたこと無い
ngenもキャッシュ作るだけだしもう聞かなくなったし

質問なんだがなぜネイティブを聞いたのか聞きたい
0555デフォルトの名無しさん2007/03/07(水) 17:59:34
>>554
Win95のOSとかで.net無しで動くプログラム使えるのかな?っと
VB6.0もう売ってないし
0556デフォルトの名無しさん2007/03/07(水) 18:00:38
>>555
×使える
○作れる
0557デフォルトの名無しさん2007/03/07(水) 18:03:13
95はサポート外にすればいいしVB6ほしければ金を出せばいいし.Netも実行時はネイティブだし
何の問題もない
0558デフォルトの名無しさん2007/03/07(水) 18:08:22
>>555
ああ、ネイティブじゃなくて.NETの実行時の依存を少なくしたいのね
これはもう無理だから、.netアプリケーションを古いWin機で動かそうとするのは無茶だと思うよ
Win95をターゲットOSとするなら、VC7で.NET使わない(CLI?)のとか、DelphiくらいがVBに似てていいと思う

しかしスレ違いなのでここまで
0559デフォルトの名無しさん2007/03/07(水) 20:58:03
Win95って動くハードウエア売ってるの?
あ、そうか、仮想化すればいいのか。
0560デフォルトの名無しさん2007/03/07(水) 21:36:56
すみません、お聞きしたいのですが
VB6.0で例えばMSCOMMのコンポーネントを使っていたらMscomm.ocxをシステムフォルダに入れなくてはいけませんよね?
dllとかocxをexeファイルに包括して一つのexeファイルだけで済むようにとか出来ないんですかねぇ・・
0561デフォルトの名無しさん2007/03/07(水) 21:43:46
MSCOMMを使わずにAPIを使えば一つにできないこともないだろうが
そこまでして一つにしたいのか
0562デフォルトの名無しさん2007/03/07(水) 21:49:35
>>561
お前は何をいっているのだ。
0563デフォルトの名無しさん2007/03/07(水) 21:56:22
理解できなかったかな?
0564デフォルトの名無しさん2007/03/07(水) 22:09:45
それってライセンス的にOKなわけ?
0565デフォルトの名無しさん2007/03/07(水) 22:14:23
>>560
できないんです><

しかも多分システムフォルダにおくだけじゃむり
Side-By-Sideは同フォルダにおく必要があるし、特定環境じゃないとそもそもSBSは機能しない
おとなしくディストリビューションウィザード使うといいんでないか?
0566デフォルトの名無しさん2007/03/07(水) 22:14:54
システムフォルダじゃなくてもEXEを同階層に置けば動くからEXEに纏める必要はないのでは。
ただし>>564
0567デフォルトの名無しさん2007/03/07(水) 22:15:11
二つの意味にとれるが、とりあえず
ライセンスがダメだったら世の中のインストーラー作成プログラムはすべてNGだな
0568デフォルトの名無しさん2007/03/07(水) 22:31:27
ラベルに文字を入れる場合
右寄せや中央に寄せることはプロバティでできるのですが
縦の位置を合わせることはできるのでしょうか?
0569デフォルトの名無しさん2007/03/07(水) 22:31:54
ダイアログを何も出さないセットアッププログラムをexeにして、
内包しているMSCOMMをインストール、その後テンポラリにでも
本来の実行ファイルを展開し、そこで実行。

#Vistaでの動作は保証しかねる
0570デフォルトの名無しさん2007/03/07(水) 22:33:45
>>568
VB標準のライトウェイトコントロールであるLabelにはそのような機能は存在しません。
せいぜい改行でごまかすくらいです。
0571デフォルトの名無しさん2007/03/07(水) 22:33:49
>>568
不可。
上手く中央に見えるようにがんばるしかない
0572デフォルトの名無しさん2007/03/07(水) 22:34:53
ど
こ
を
縦
読
み
?
0573デフォルトの名無しさん2007/03/07(水) 22:35:01
>>570
>>571

ありがとうございます
05745602007/03/07(水) 22:52:26
>>561さんの言うようにコンポーネント使わずAPI使って自分で作れば出来るんですかね?
作ったPGがdll、ocxがやたら多かったもんで、スマートに出来ないものかなぁと思いまして・・
回答いただきありがとう御座いました
0575デフォルトの名無しさん2007/03/08(木) 12:21:39
VB2005って.NET使わなかったらVB6と同じなの?
0576デフォルトの名無しさん2007/03/08(木) 12:27:20
>>575
シニカルな意味では同じ。
君の回答に答えるとすれば、違う。
0577デフォルトの名無しさん2007/03/08(木) 17:15:09
Dim A As Integer
Dim B As Single
A = 30
B = 0.4
lblS = A / B

とすると
lblSには75が入るの予定ですが、
lblSに変な小数点の数値が入ってしまいます。

どうしてでしょうか?
0578デフォルトの名無しさん2007/03/08(木) 17:18:28
>>577
http://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0
0579デフォルトの名無しさん2007/03/08(木) 17:34:44
lblSの型はなによ
0580デフォルトの名無しさん2007/03/08(木) 17:53:54
lblSは常識的考えてLabelコントロールだろ
デフォルトプロパティを省いてるが↓ってことだ
lblS.Caption = A / B
0581デフォルトの名無しさん2007/03/08(木) 20:39:09
>>579
えらそうな奴ほどアホだな。
0582デフォルトの名無しさん2007/03/08(木) 22:44:49
>>581
えらそうな奴ほどアホだな。
0583デフォルトの名無しさん2007/03/08(木) 23:11:28
エラ張ったやつほどチョンだな
0584デフォルトの名無しさん2007/03/09(金) 06:45:15
エゴだよ!それは!!
0585デフォルトの名無しさん2007/03/09(金) 08:44:55
test
0586デフォルトの名無しさん2007/03/09(金) 11:22:29
>>584
黒石と白石を順番に一手ずつ打つあれか。
0587デフォルトの名無しさん2007/03/09(金) 17:57:45
>>586
それ囲碁

質問です
リストボックスに10行程入力しました。
プルダウンがはいっているのですが
一番下の行にカーソルを持っていく事はできますか?

またリストボックスの全部の文字を消す事はできるのでしょうか?
0588デフォルトの名無しさん2007/03/09(金) 19:42:13
>>587
普通にやるだけじゃダメなの?
0589デフォルトの名無しさん2007/03/09(金) 21:53:16
>>587
リストボックスにプルダウンの意味が意味がわからん
リストボクス名.clear
0590デフォルトの名無しさん2007/03/09(金) 21:54:24
>>587
コンボボックスかと思ったけど、とりあえずTopIndex辺りを調べると吉
0591デフォルトの名無しさん2007/03/11(日) 23:30:25
vb6.0で
プリンタの解像度の取得、指定はどうやって行うのでしょうか。
また、そのときのプリンタは通常使うプリンタ限定なのでしょうか

Googleで検索したらすぐ見つかると思いきや意外とないですね。。
よろしくお願いします。
0592デフォルトの名無しさん2007/03/12(月) 00:19:51
ググレカス
ttp://www.google.com/search?num=50&hl=ja&safe=off&q=visual+basic+%E3%83%97%E3%83%AA%E3%83%B3%E3%82%BF+%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB&lr=lang_ja

ttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t17.htm
ttp://www.g.dendai.ac.jp/lecture/vbasic/vb16.html
ttp://www.tohoku.ricoh.co.jp/barcode/download/sample/index.html
ttp://www.necst.co.jp/product/cho/load.htm
ttp://www.vbstation.net/sample/0214.htm
0593デフォルトの名無しさん2007/03/12(月) 00:43:48
>>592
の優しさに全米が泣いた
0594デフォルトの名無しさん2007/03/12(月) 09:20:24
htmlを解析してデータベース化するサンプルとかないですか?
0595デフォルトの名無しさん2007/03/12(月) 09:21:56
>>594
http://pc11.2ch.net/test/read.cgi/tech/1165574205/110
マルチ乙
0596デフォルトの名無しさん2007/03/12(月) 09:28:43
>>595
http://pc11.2ch.net/test/read.cgi/tech/1165574205/110
で質問した後に、こっちのスレの方が適切かなと思ってこっちにもかいたのよ。
すまんね。
0597デフォルトの名無しさん2007/03/12(月) 14:01:26
>>596
じゃぁキャンセルくらいだしとけカス野郎
もう2度と来なくていいよ
0598デフォルトの名無しさん2007/03/13(火) 13:33:24
テキストボックスのMaxLengthについて質問。

MaxLength=5 とした後に、 MaxLength=0 を入れても最大文字数が5のまま制限されてしまうんだが、
これはどうしようもない?
0599デフォルトの名無しさん2007/03/13(火) 14:31:03
で?
0600デフォルトの名無しさん2007/03/13(火) 16:00:21
>>598
そんな事やったこと無いからわからんがIntegerかなんかで最大桁持ってるんだったら最大値にしてもだめなのか?
0601デフォルトの名無しさん2007/03/13(火) 16:29:27
いま、VB4からVB6に移行してるのよね。
VB4の頃はMaxLength=0が無制限の意味で使ってたから(実際それで動いていた)、
なるべくこのまま行きたいんだ。大変だしね。

ま、どうしようもないなら
if MaxLength=0 then MaxLength=1000
みたいなのを挟むけど・・・
0602デフォルトの名無しさん2007/03/13(火) 16:39:12
変わらず0で無制限のはず
0603デフォルトの名無しさん2007/03/13(火) 16:44:23
制限あるのに無制限なんて仕様だったのか
06045982007/03/13(火) 17:16:29
>>602
調べたら確かに0は無制限なんだよな。
試しにボタンを適当に二つとテキストボックス(text1)を用意して試してみた。

一つ目のボタンを押すとtext1.MaxLength=0
二つ目のボタンを押すとtext1.MaxLength=5
というのを代入するようにしてある。

最初になにも押さずに書き込み→普通に無制限
二つ目のボタンを押して書込み→5文字制限
続いて、一つ目のボタンを押してから書込み→5文字制限

やっぱダメじゃね?
0605デフォルトの名無しさん2007/03/13(火) 19:43:05
TextBoxを配置し、デザイン時にMaxLength=5とする。
次にCommandButtonを配置し、クリックイベントにMaxLength=0を記述。
実行。

TextBoxに"一度も文字入力していない"状態でボタンを押すと、
それ以降は5文字制限解除=無制限で入力できる。
しかしながら、文字入力後にボタンを押した場合は5文字制限が解除されない。

試しにやってみたらこんな感じだったよ>>598
0606デフォルトの名無しさん2007/03/13(火) 19:57:10
こりゃもう明らかにVBのバグだね
きっと自前で文字長を制限してる

デザイン時は0に設定してEM_LIMITTEXTとEM_GETLIMITTEXTでやるしかない
0607デフォルトの名無しさん2007/03/13(火) 19:59:13
ただコントロールはMS-SHIFTJISだけど、VB6の文字列の内部表現がUnicodeだから気をつけないといけんね
0608デフォルトの名無しさん2007/03/13(火) 20:51:54
>>606
んなことしなくてもMaxLengthに0じゃなくて設定可能な最大値を入れてやれば
いいんじゃない?

しかし、VBスレってこの期に及んでこんなレベルの話題かよw
0609デフォルトの名無しさん2007/03/13(火) 22:09:29
エスパーの相手は疲れるからスルーしていいか?
0610デフォルトの名無しさん2007/03/13(火) 22:34:26
エスパーの相手?
06115982007/03/14(水) 08:41:50
やはりバグの可能性が濃厚か。諦めるとしよう。
ありがと。
0612デフォルトの名無しさん2007/03/14(水) 12:33:05
>>611
おいおいなんでそうなるのw
だから0じゃななくて入力可能な文字数の最大値を設定すればいいだけだって
0613デフォルトの名無しさん2007/03/14(水) 13:01:09
>>612
やめとけ・・・
頭がガチガチだw
0614デフォルトの名無しさん2007/03/14(水) 21:30:25
入力可能な文字数の最大値が分からないときは?
とくにNT系は壁なくなったし
0615デフォルトの名無しさん2007/03/15(木) 00:17:58
Edit controls on Windows NT/2000/XP: 0x7FFFFFFE characters
Edit controls on Windows 95/98/Me: 0x7FFE characters
0616デフォルトの名無しさん2007/03/15(木) 00:37:48
> 0x7FFFFFFE
確実にメモリ潰れるな
0617デフォルトの名無しさん2007/03/15(木) 08:49:04
<form action="test.test" method=post>
<input type=hidden name=submit value=confirm>
<input type="hidden" name="test_a" value="123456789">
<td><input type=submit value=" Yes "></td>
</form>
というフォームがあるんですが<input type=submit value=" Yes ">をクリックするにはどうすればいいでしょうか?
IEobj.document.forms(0).getElementsByTagName("input")(2).Click や
IEobj.document.forms.Item(0, 0).submit など試したのですがうまく行きません
VBAの板で質問したのですが、スレ違いということでコチラに書き込みました。
0618デフォルトの名無しさん2007/03/15(木) 11:44:00
>>617
どこからDOMを操作しようとしてるかは見えないけど、
getElementsByTagNameを使うならname属性がいるんじゃない?

<input name="xxx" type=submit value=" Yes ">
0619デフォルトの名無しさん2007/03/15(木) 16:55:54
>>618
name属性要らないだろ・・・常識的に考えて・・・
0620デフォルトの名無しさん2007/03/15(木) 21:28:17
>>617
ここにVBAでのIE操作について色々のってる
http://www.ken3.org/cgi-bin/group/vba_ie.asp
0621デフォルトの名無しさん2007/03/15(木) 22:02:59
>>620
そこのサイトを参考にしながら作ってるんですが、イマイチ解決方法がわかりません
<form action="del_xxxx" method=post>
<input type=hidden name=submit value="confirm">
<input type="hidden" name="xxx_id" value="123456789">
<td><input type=submit value="Yes"></td>
</form>

<form action="back_xxxx" method=post>
<input type="hidden" name="page" value="1">
<input type="hidden" name="del_xxxx_id" value="123456789">
<td><input type=submit value="No"></td>
</form>
こんな感じにYes NoのFormがあって、Noの場合は
IEobj.document.forms.Item(1).submit
で動くのにYesの場合はIEobj.document.forms.Item(0).submit
じゃ動かないんです、原因分りませんか?
06226202007/03/15(木) 23:52:26
>>621
YESの方はname=submitになってるから
IEobj.document.forms.Item(0).submitはHTMLInputElementを指してしまうっぽい
(Set objInput = IEobj.document.forms.Item(1).submitとかするとよくわかる)

んで、解決策は分かりません・・・

ローカルで>>621のHTMLを作って
IEobj.document.forms(0).getElementsByTagName("input")(2).Click
とするとdel_xxxxを開くんですけど、それじゃダメなんですよね?
あとは
IEobj.document.forms.Item(0).FireEvent "onsubmit"
ってやってみるとか・・・

あんま力になれなくてすんません
0623デフォルトの名無しさん2007/03/16(金) 00:32:37
dim obj
for each obj in IE.document.forms
  call obj.submit()
next
0624デフォルトの名無しさん2007/03/16(金) 21:23:27
初心者でスイマセン
仕組みが理解出来てないので御教授下さい
VBでmdbやオラクルなどのデータベースに読み書きするときなんですが、手順としては理解してるつもりなんですが、実際に自分でやろうとすると大きな壁にぶつかります
まずコネクトから教えて下さいますか?
0625デフォルトの名無しさん2007/03/16(金) 21:30:34
>>624
その手の処理はただのお約束だと思って、深く理解する必要はあんまりないぞ。
いまは、とにかくサンプルを真似て目的を果たせればおkとしとけ。
0626デフォルトの名無しさん2007/03/16(金) 21:45:49
625さん、ありがとうございます
改造をやってるんですが、クラスで一元管理してiniでデータベースの見に行く先を管理してるようです
今練習でサンプル作っているんですが、今まで動いていたプログラムが真似してもコネクトの部分で落ちてしまいます
コネクトの条件がわかれば少しは理解してマシな物が出来ると思いまして
0627デフォルトの名無しさん2007/03/16(金) 22:06:38
サーバーはたちあげてるんだよねぇ。
サンプル通りやってつながらないとしたら何が原因なんだろう
0628デフォルトの名無しさん2007/03/16(金) 22:31:37
実体がないとかそんなオチでは
0629デフォルトの名無しさん2007/03/16(金) 23:15:27
先ずは原因調査だ
デバッグだ
0630デフォルトの名無しさん2007/03/17(土) 06:26:55
とりあえず元の状態に戻してプログラム以外が原因でないことを確認
次にエラーメッセーを確認して原因を推測
0631デフォルトの名無しさん2007/03/19(月) 20:03:08
TextBoxの表示更新をMSHFlexGridのRedraw = False/True
ExcelのScreenUpdating = False/Trueのような感じで一時的に止める方法を教えてください。
0632デフォルトの名無しさん2007/03/19(月) 20:34:19
脳みそ腐ってるんじゃねえの?
だから更新したくなかったら更新するなよアホかw

どうしてもそんな意味のないことがしたいのならクラスでラップすることだね。
さっさと引越ししばくぞ
0633デフォルトの名無しさん2007/03/19(月) 21:19:07
>>632
最後の”さっさと引越ししばくぞ”の意味がわからん
とりあえずもちつけ
0634デフォルトの名無しさん2007/03/19(月) 21:53:00
ラップ
0635デフォルトの名無しさん2007/03/20(火) 09:02:21
サランラップ
0636デフォルトの名無しさん2007/03/20(火) 11:42:33
ほんと、解ってない奴多すぎ
0637デフォルトの名無しさん2007/03/20(火) 20:02:03
質問者よりも回答者の方が下に居るスレってのも珍しいよね
0638デフォルトの名無しさん2007/03/21(水) 00:18:17
age
0639デフォルトの名無しさん2007/03/23(金) 00:53:43
VB6でWindowProc使ってカーソルキーでオブジェクト移動しないようにするには
メッセージフックなに使えばいいの?
0640デフォルトの名無しさん2007/03/23(金) 20:44:33
WM_SETFOCUS?
で、WindowProcって何?
06416402007/03/23(金) 20:48:25
ググってみた。
WindowsProcなんて便利なものがあったのか。
せれくとで書いてたわ。いいなこれ。
0642デフォルトの名無しさん2007/03/23(金) 20:51:38
質問者よりも回答者の方が下に居るスレってのも珍しいよね
0643デフォルトの名無しさん2007/03/23(金) 22:28:48
つうか、フックしないとイベントドリブンのソフトではどうしようもないときがくるといえば来るが・・・・
VB6でフックするときはデバッグに気をつけとくんだぞ〜
時にVB6とか落ちるからな〜

と遅レス
0644デフォルトの名無しさん2007/03/24(土) 01:22:07
>>643
んなの落ちないようにフックすればいいだけの話
0645デフォルトの名無しさん2007/03/24(土) 01:22:25
すみませんが教えてください。環境はWinXP VB6.0+SP5です。

タスクトレイにShell_NotifyIconを使ってアイコンを表示しているのですが
プログラム終了後もリフレッシュされず残ってしまいます。(マウスポインターをあてるとリフレッシュされて消えます)
プログラム終了時にタスクトレイのアイコンを消す方法は無いでしょうか?

もう一つ、msgboxを使うとタイトルバーに変なアイコンが表示されるのですが
消す、若しくは変更する方法はあるでしょうか?
0646デフォルトの名無しさん2007/03/24(土) 01:46:44
>>645
>プログラム終了時にタスクトレイのアイコンを消す方法は無いでしょうか?
Shell_NotifyIconでアイコンを削除しなさい

>msgboxを使うとタイトルバーに変なアイコンが
エスパーではないので、これだけの情報では回答不能
少なくとも俺は変なアイコンが出てくる現象に遭遇したことはない
0647デフォルトの名無しさん2007/03/24(土) 01:48:00
>>644
デバッグ時にステップ実行する時にフックのところで止めたらIDE落ちるって話だろ?
フック自体部分が落ちないようにするとか何を当たり前の話をwwww

>>645
APIつかってアイコン表示してるんだよね?
終了時はAPI使って登録したアイコン消去してからPG終了してる・・・よね?

タイトルバーの変なアイコンが意味不明
うちの環境では起きてないと思うけどなぁ…
0648デフォルトの名無しさん2007/03/24(土) 01:54:33
>>647
ブレイクで止めてもIDEが落ちないようにフックしろって話だ
0649デフォルトの名無しさん2007/03/24(土) 01:55:59
>>648
把握した
0650デフォルトの名無しさん2007/03/24(土) 02:03:22
>>646
説明下手ですみません。
タスクトレイのアイコンですが、プログラム終了時にShell_NotifyIconで削除しています。
ただ、表示上タスクトレイがリフレッシュされないようでマウスポインターをタスクトレイに持っていったりしないと消えないんです。
msgboxのアイコンほうですが、msgbox("hogehoge")のようなメッセージボックスでは、タイトルバーにアイコンは表示されないんですが
「はい」「いいえ」等のボタンを配置すると、タイトルバーの左のほうにデフォルトのフォームのアイコンのようなものが表示されます。
(この場合、呼出もとのフォーム、プロジェクトのプロパティでは別のアイコンを指定しています。)
06516462007/03/24(土) 02:13:03
1つ自己解決しました。
メッセージボックスを表示する際、システムモーダルにしていたのをアプリケーションモーダルにしたら
アイコンは表示されなくなりました。
0652デフォルトの名無しさん2007/03/24(土) 02:19:37
>>651
アイコンタスクトレイに入れて終了時に消すの
今やってみたけど全然問題ないぞ?

FormLoadで登録して
FormUnLoad時に削除するのでやってみたけど大丈夫っぽ
0653デフォルトの名無しさん2007/03/24(土) 02:23:59
>>650
>マウスポインターをタスクトレイに持っていったりしないと消えないんです。
フォームロードでアイコン追加して、アンロードで削除してるでしょ?
たぶんフォームがきちんと開放されていないか、フォームを閉じたあとに標準モジュールあたりから
フォームのプロパティとかにアクセスして自動的に再ロードされてるんじゃないかと。
登録/削除それぞれのShell_NotifyIconの次の行にでも Debug.Pring "登録" とか入れて流れを見てみ。

>「はい」「いいえ」等のボタンを配置すると
タスクトレイにアイコン登録して MsgBox("", vbYesNo) としてみたが再現しない
見たことない現象だけに、再現できない以上回答しようがないな・・・
06546462007/03/24(土) 02:38:20
>>652,653
有難うございます。
もうちょっと頑張ってみます。
0655デフォルトの名無しさん2007/03/24(土) 02:39:20
>>653
後者の件
そういえば、呼び出したフォームのVisbleがFalseならそうなるんじゃぁなかったかな?
しかも、実行モジュールの時だけとか限定があったりしたような・・・
そんな記憶があったような・・・・

曖昧ですまん

0656デフォルトの名無しさん2007/03/24(土) 15:13:38
VBおもしろそうだな。VBやってた頃が一番楽しかったな。
0657デフォルトの名無しさん2007/03/24(土) 17:29:58
面白かったが制限がきつかった
継承できないとか

でも、手軽さは一番だったと思う
0658デフォルトの名無しさん2007/03/24(土) 20:09:40
過去形で話さないで下さい
0659デフォルトの名無しさん2007/03/24(土) 20:36:37
VBしか使えない奴に限って、VBなんて過去の遺物と言い放ち
過去の物として語ったりするよね。実際には今でもVBに頼りっぱなしなのにw
0660デフォルトの名無しさん2007/03/24(土) 21:41:59
さすがにVB6は新規開発ではないと思うが・・・・
釣りか?
0661デフォルトの名無しさん2007/03/24(土) 22:05:57
?
0662デフォルトの名無しさん2007/03/24(土) 22:23:44
VB6がネイティブじゃなくランタイムいるからって敬遠してる奴いるよな
Cとかアセンブラじゃなけりゃ JAVAなんかだってランタイムのようにVM必要なのに・・・・
0663デフォルトの名無しさん2007/03/24(土) 23:06:39
>>662
Java厨に関しては馬鹿だからそれを気にしないだけ。
0664デフォルトの名無しさん2007/03/25(日) 02:21:13
>>660
昨日VBで新規開発のシステム納品しましたが何か?
0665デフォルトの名無しさん2007/03/25(日) 07:55:55
>>660
俺も今年に入ってからVB6新規開発で受注したけど何か?

客先から「俺たちが知らない言語は使うな」ってお達しなんだよwww
0666デフォルトの名無しさん2007/03/25(日) 11:57:22
スレタイも読めない低能のお前らに最適なスレを紹介してやるよ。

ttp://pc11.2ch.net/test/read.cgi/tech/1164376614/
0667デフォルトの名無しさん2007/03/26(月) 10:22:41
MDAC関連で「エラーを特定できません」というエラーが発生する場合があります。
MDACは何かログなど出力していないでしょうか?
0668デフォルトの名無しさん2007/03/26(月) 11:55:10
vistaにmsjro.dllを使ったものをインストールしようとするとエラーでできないのですが
これの解決策について情報があれば教えてください。
06696682007/03/26(月) 12:09:54
>>668 と同じくmsadox.dllも同様にエラーでインストール完了できません。
XPだと問題ないのでvista固有の問題みたいです。
0670デフォルトの名無しさん2007/03/26(月) 15:34:24
vistaはVBのランタイムが最初からインスコしてなかったっけ?
適当で申し訳ないが、上書きするなという意味じゃマイカ?
0671デフォルトの名無しさん2007/03/26(月) 18:19:21
ADOは2000あたりからシステムコンポーネントになったから、
インストールしてはいけない。
06726682007/03/27(火) 10:02:20
>>671
あの2つを外したらエラー無くインストできました ありがとう
0673デフォルトの名無しさん2007/03/27(火) 22:25:36
VB厨必死杉
0674デフォルトの名無しさん2007/03/27(火) 22:34:45
>>673
そう叩いてやんなよ
新しいOSってのもあるしさ(;´∀`)
ぶっちゃけ俺も迷ってたかもしれない

たぶん使わないけど
0675デフォルトの名無しさん2007/03/27(火) 23:32:38
> VB厨必死杉
なんて言う奴に限って、VBしか使えないどころかVBすらまともに使えてないという法則w
0676デフォルトの名無しさん2007/03/28(水) 08:50:21
かといって「VBならできます」ってやつもVBすらできないから安心しる。
0677デフォルトの名無しさん2007/03/28(水) 10:53:30
そこお若いの…
Vistaは…Vistaはやめとけ
絶対やめとけ
何が何でもやめとけ
0678デフォルトの名無しさん2007/03/28(水) 10:54:37
出た当初は何でもそういわれるものだ。
XPもひどい言われようだった。

そんな俺はSP1が出てから移行する派
0679デフォルトの名無しさん2007/03/28(水) 15:43:05
VB6のDHTMLEdit、WebBrowserはVistaに移行できる?
0680デフォルトの名無しさん2007/03/28(水) 23:34:43
「VBできます」と宣ってる奴のなかでクラスとユーザーコントロールをまともに作れる奴はどれくらいいるんだろうか?
0681デフォルトの名無しさん2007/03/28(水) 23:41:56
クラスを使うにはプロジェクトリーダーの許可が必要だよぅ
0682デフォルトの名無しさん2007/03/28(水) 23:48:14
>>680
そういう事を恥ずかしげもなく言えるヤシもどうかと思う。
せめて、OOPを意識したPG、くらいの気の利いた言葉が欲しい。
0683デフォルトの名無しさん2007/03/29(木) 00:03:31
そでが気の利いた言葉だと思っちゃう奴もどうかとw
0684デフォルトの名無しさん2007/03/29(木) 00:05:42
構造体のほうがデータの扱い方にバリエーションがあっていいよ
API使えばゼロクリアとか楽

VB6のクラスは構造化の1方言にしかすぎない
0685デフォルトの名無しさん2007/03/29(木) 00:10:29
おいおいそりゃまた酷い誤解だな。
誤解というより無知なんだなw
0686デフォルトの名無しさん2007/03/29(木) 01:26:42
>>684
お前とはあんま一緒に仕事したくないな
0687デフォルトの名無しさん2007/03/29(木) 08:53:31
俺も。

>>684とは絶対いっしょに仕事したくない。
俺はクラスモジュールでデータクラスを書いたり更新などなどのメソッドを肉付けしていく派。
0688デフォルトの名無しさん2007/03/29(木) 09:01:04
どうでもいい。
VB厨同志で罵り合う必要もないだろ。

ドドネトになって構造体にもメソッドもてるようになり、
実行速度を考慮すると、クラスではなく構造体の方が
いい場合も。
0689デフォルトの名無しさん2007/03/29(木) 09:13:27
構造体は流用できん
0690デフォルトの名無しさん2007/03/29(木) 09:31:22
まとめますと、適材適所という事ではどうでしょう。 閣下>>689
0691デフォルトの名無しさん2007/03/29(木) 09:56:51
誰かAccessで吐き出したCSVを自由に読めるクラス作って!!
0692デフォルトの名無しさん2007/03/29(木) 09:59:56
>>691

あほか
そんなもん誰でも出来るだろうが
つうかググって自分でやれカス
0693デフォルトの名無しさん2007/03/29(木) 10:00:14
Access使え
06946912007/03/29(木) 10:02:58
できるとわかっているものを作るのは面白くないから
作って!!
0695デフォルトの名無しさん2007/03/29(木) 10:28:35
>>694
死ね
ソフトウェア板へ行って来い
もう二度と来るなよチンカス
0696デフォルトの名無しさん2007/03/29(木) 12:30:05
VB6ってCommandButtonの文字色を変えるのは不可能なんでしょうか?
0697デフォルトの名無しさん2007/03/29(木) 12:49:35
>>696
やる気になれば出来る
つうか、やった
ググったらでてくるぜ
0698デフォルトの名無しさん2007/03/29(木) 17:28:38
>>697
調べてみたけど難しそうなので今回はあきらめましたorz
残念だけど既存のプロジェクトの修正だし、あまり時間も
かけてられないので。


レスありがとう。
0699デフォルトの名無しさん2007/03/29(木) 18:36:51
やる気があればなんでもできる
逝けば分かるさ
0700デフォルトの名無しさん2007/03/31(土) 01:26:18
>>697
mjd?
BommandCuttonの文字色って継承せんでも変えられるんか…
0701今日VB始めました2007/03/31(土) 02:04:08
VB 2005 使用
テキストファイル内の複数行から一行だけを削除するには、どのようにすればいいのでしょうか?
ファイルを開き、一度変数に読み込み、上書きするのも考えましたが他に手は無いでしょうか?
0702デフォルトの名無しさん2007/03/31(土) 02:08:19
>>701
スレタイから読み返せ
0703デフォルトの名無しさん2007/03/31(土) 02:25:29
>>700
オーナードローすれば出来るでよ

でもめんどくさいのとサブクラス化するのでまぁ・・・俺は出来るだけ避けてた
0704今日VB始めました2007/03/31(土) 03:15:32
スレタイ見おとしでした、大変すみませんでした。
0705デフォルトの名無しさん2007/03/31(土) 10:51:49
>>688
つうか6.0まではVBで.netからは将来性を考えたら普通C#に切り替えると思うけどな
0706デフォルトの名無しさん2007/03/31(土) 14:48:22
>>705
どっちもかわんねぇwwwww
どっちかできたら基本的には変わんないじゃん
ちょっとC#のがイイ所多いとは思うんだけどね

将来的にってことはVB.NETは消えるのか?
0707デフォルトの名無しさん2007/03/31(土) 15:02:19
ボタンのデフォルトのサイズを
変更出来ますか?
つまり、フォームにダブルクリックして貼り付ける時の
サイズを変更したいのです。
デフォルトだとなんか妙に高さがありますよね。VC++の
ボタンくらいの大きさにしたいです。

0708デフォルトの名無しさん2007/03/31(土) 15:04:47
BASICはマイクロソフト株式会社のルーツだから無くなるわけがない
ビルゲイツが生きている限りは進化発展する
0709デフォルトの名無しさん2007/03/31(土) 15:23:27
>>707
自分でSizeプロパティ書き変えたらいいやん
えと・・・WidthとHeightだっけ?
0710デフォルトの名無しさん2007/03/31(土) 19:34:18
書き替えた値をデフォルトにしたいのです。
0711デフォルトの名無しさん2007/03/31(土) 20:13:34
>710
コンストラクタが何のためにあるのか考えろ。
デザイナの都合上、コンストラクタが利かない場合は、ControlDesigner.OnSetComponentDefaultsあたりだな。
0712デフォルトの名無しさん2007/04/02(月) 11:07:14
VBはせっかくインデントそろえて見やすいソースにしても
勝手に整形するから大嫌いだ
0713デフォルトの名無しさん2007/04/02(月) 11:18:32
>>712
え・・・?
0714デフォルトの名無しさん2007/04/02(月) 13:07:45
>>713
インデント(行頭字下げ、行末字上げ)じゃなくて、
中間位置揃えのこと言ってるんだとエスパーしてみる。
  a    = 10
  bbbbb = 20
が
  a = 10
  bbbbb = 20
となってしまうように。
0715デフォルトの名無しさん2007/04/02(月) 14:40:56
ActiveBasicのあしもとにも及ばない糞言語乙
0716デフォルトの名無しさん2007/04/02(月) 14:41:41
俺はコードの再フォーマットを無効にしてるな。
0717デフォルトの名無しさん2007/04/02(月) 14:50:32
まだ春休みか
厨がイナゴのように涌いては消える。
0718デフォルトの名無しさん2007/04/02(月) 16:08:08
>>716
それをやると他に弊害が…
0719デフォルトの名無しさん2007/04/02(月) 20:54:59
逆に考えるんだ。アメリカ人のようにプロポーショナルフォントをつかうんだ。
0720デフォルトの名無しさん2007/04/02(月) 22:07:00
社内用に作ったフォーム1個と標準モジュール1個のしょぼいプログラムなんですが
完成して運用してたら、気がついたらソース消しちゃってましたw
どうにかリバースエンジニアリングできないですかね?
もう一回書くの面倒だし・・・C#にでも移行しようかな・・・
0721デフォルトの名無しさん2007/04/02(月) 22:08:32
実際ActiveBasicも悪くはないけどね
言語仕様が全然決まってないから覚える価値なしだが
0722デフォルトの名無しさん2007/04/02(月) 23:39:12
ABやるくらいならDやっとけ
0723デフォルトの名無しさん2007/04/03(火) 04:08:03
DやるぐらいならC#かDeiphi
0724デフォルトの名無しさん2007/04/03(火) 08:56:52
・・・で、でいふぁい???
0725デフォルトの名無しさん2007/04/03(火) 14:55:17
orz
0726デフォルトの名無しさん2007/04/03(火) 15:37:55
VB6いいよね
0727デフォルトの名無しさん2007/04/03(火) 17:53:07
上位システムがFTPでファイルを送り込んでくるのだが、確実にファイルがクローズしてから
次の処理にかかりたい。これを無人で運用するにはどのような方法がありますか?
以前は上位側からrshでキックしてもらってました。nt4用のrshdを使ってました。
今回はXPなのでrshdがありません。 書き込み中ならループというような処理にしたい場合は
どのような手法がありますか?
0728デフォルトの名無しさん2007/04/03(火) 18:46:30
>>727
俺らはロックファイル作ってもらってたけどな
Readも出来ないようにSharedで書き込んでもらえば?
07297282007/04/03(火) 18:50:34
回答になってなかったwww

>>727
どういう監視してるかによるけど、そのファイル見っけたら
開けるようになるまでDo Loopのなかで開こうとすればいいんじゃね?
エラーになったらまたループしてまたチェックみたいな

do

on error goto BBB

ファイル開いてみる

成功したら exit do (念のためタイムアウトも設定)

BBB:
loop

ザーッくりかくとこういうの
詳細がわからないんでこれくらいしか今んところかけない
0730デフォルトの名無しさん2007/04/03(火) 19:33:59
書き込みが止まってから*分後に処理、とか。
0731デフォルトの名無しさん2007/04/03(火) 19:40:07
ftp で AAA.dat を AAA.dat.tempの名前でアップロード
ftp で 転送先のファイルを元の名前にリネーム
プログラムは数秒のインターバルで *.dat をスキャン。
あったら処理後、AAA.dat を消去。
この方法だと AAA.dat がそのままロックファイルとして使用できる。
0732デフォルトの名無しさん2007/04/03(火) 19:47:50
明確な規定はないと思うのだけど、使った経験のあるftpdでは
ftpで送信していて途中で中断した場合その途中までのファイルは出来ている。
転送途中でも大概オープンできる。
一定量受信するごとにオープン・追加書き込み・クローズを繰り返している感じだ。
なものでオープンできたことをもって正常に受信が完了したことの判定には使えないと思う。
0733デフォルトの名無しさん2007/04/03(火) 19:53:59
接続が切れたらcloseしてるだけじゃないの。
一定量毎にclose,openをする意味が分からない。
0734デフォルトの名無しさん2007/04/03(火) 20:08:56
ソースを見たわけではないからこの部分はあくまで予想なんだけど
>一定量受信するごとにオープン・追加書き込み・クローズを繰り返している感じだ。 
次の部分はいくつか試してみた結果。
>転送途中でも大概オープンできる。
読み込みの可能な状態で書き込みをやってる可能性ありと思って、
完全な排他状態でオープンしたらそれもできてしまったので最初のように思ったわけです。
ただ特定の環境に依存しそうな結果だったので、
オープンできるできないを判定の基準に使わないことにしたということです。
0735デフォルトの名無しさん2007/04/03(火) 20:38:21
ftp中はテンポラリな名前にして、完了したらrenameするとか
0736デフォルトの名無しさん2007/04/03(火) 21:03:18
FTPサーバー書けばいいじゃん
転送が終ったらイベントでも出すような。
0737デフォルトの名無しさん2007/04/03(火) 21:37:51
VB6でFunctionから値を返すのはどーすんだ?
Return a
でやるとエラーになっちゃうんだけど
0738デフォルトの名無しさん2007/04/03(火) 21:38:44
private function AAA as string


なら
AAA=""

でおk
0739デフォルトの名無しさん2007/04/03(火) 21:40:23
1009
ありがとう
0740デフォルトの名無しさん2007/04/03(火) 23:52:59
なんつーかVB6が最強
これ以降は重いしなんか全てがバグっぽいし結局VB6にもどってくることになる。
0741デフォルトの名無しさん2007/04/04(水) 04:40:17
今からVB6を学ぶメリットはある?
0742デフォルトの名無しさん2007/04/04(水) 08:27:59
Excelなんかのマクロを書くのに役立つと思う
07437272007/04/04(水) 11:51:51
>>728-736 レスありがとう  
ロックファイルか 転送後リネームですね。試してみます。
07447272007/04/04(水) 16:45:09
上位側システムではftpしたらその後の戻り値を検出できないらしくどっちもxでした。
厳密にいうとrshでも駄目だったはずでした。
で、下記のソースを使って判定したら今のところ上手くいったので報告しときます。
ttp://support.microsoft.com/kb/172240/ja
要するに「読み取り専用および排他共有でオープン」出来るかどうかで判定すれば
いいわけですね。XP(ntfs) vb6 testに使ったのはtinyFTPD 
0745デフォルトの名無しさん2007/04/04(水) 23:43:16
>>744
そこまでしなきゃいけないことはなかったが
とりあえずそこまでしなきゃいけないほどの仕事もあるんだなって勉強にはなった
0746デフォルトの名無しさん2007/04/05(木) 00:25:09
.NETとかテライラナス
VB6SP6が最強
SP入ってないとWindowsXPVisualStyleをリソースに入れれない。
0747デフォルトの名無しさん2007/04/05(木) 02:50:10
おそらく禿げしく既出かも知れないが、検索してもなかなか見つからないので・・・

環境
Win2000Sp4
VB6SP5
ATOK13

エディタ上で検索ダイアログを出し、文字列を入力しようとした時、
2文字以上の漢字、例えば「検索」「該当」などを変換確定すると
漢字が化けることがある。
化けるつーか、全然違う漢字が確定されてしまうことがある。

化けないこともあるが、一度化けるようになると元に戻らない。
再現パターンは不明。

半角は問題なし、全角漢字も1文字ずつなら問題なし。
エディタ上でも問題なし、検索ダイアログ上のみの現象。

なにか情報ありますかねえ・・・
0748デフォルトの名無しさん2007/04/05(木) 02:53:23
>>742
Excelのマクロで全てが出来ちゃうんだけどな
0749デフォルトの名無しさん2007/04/05(木) 10:33:35
MS製品だしなぁ・・・ATOKだからじゃないか?

IMEだけどそんな事5年間一回もない

つうかそんなにいいの?ATOK
0750デフォルトの名無しさん2007/04/05(木) 12:56:52
VB初心者です。コンボボックスの件で教えてください。
テーブルは正規化していて、メインテーブルには数字しか持っていません。
が、別テーブルでコードと、表示項目を持っています。
コンボボックスで表示項目を表示して、データ収集は数字でもらう。
配列を使った形でもかまいませんので、ご教授よろしくお願いします。
0751デフォルトの名無しさん2007/04/05(木) 16:11:05
環境:
WinXPpro SP2 / VisualBasic 6.0(サービスパック未適応)

作っているもの → ストップウォッチ

■質問内容■
コマンドボタンに関して

通常、コマンドボタンをクリックして処理をさせる場合、

ポインタにより、コマンドボタンが押し下げられる
↓
マウスから指を離し、コマンドボタンが持ち上がる
↓
実行

という処理になります。
しかし本来、
ストップウォッチはボタンを押した『瞬間』から、処理が始まりますよね?
つまり、

マウスによって、ボタンが押し下げられた瞬間
↓
実行

という処理を行いたいのです。
非常に初歩的な質問かとは思いますが、ネットでも出てこなかったもので…。
どなたか、ご教授をお願いします…。
0752デフォルトの名無しさん2007/04/05(木) 16:26:47
ボタンはあくまでクリック識別。
ピクチャーなどでボタンもどきをつくって、マウスダウンなりアップなり好きに料理すれば?
0753デフォルトの名無しさん2007/04/05(木) 16:28:40
>>752
とってもサンクス
0754デフォルトの名無しさん2007/04/05(木) 17:41:45
別にピクチャボックスでなくても
ボタンのKeyDownとMouseDownでいいんじゃないの?
0755デフォルトの名無しさん2007/04/05(木) 21:01:10
>>749
使い慣れるとねえw
でもATOKは使ってる人多いから情報あるかと思ったけど
そうでもないのかな?
0756デフォルトの名無しさん2007/04/05(木) 23:32:57
すいません。
NETのスレでこちらへ誘導されてきたのですが。

Visual Basic 6.0 SP6 ランタイムファイル(XP.vista対応、最新SP6)
http://www.vector.co.jp/soft/win95/util/se342080.html

このランタイムが、vistaでどうしてもインストールできないんです。
インストール後のvb6rtestを試すと

「コンポーネント'DBLIST32.OCX'、またはその依存関係のひとつが適切に登録されていません。ファイルが存在しないか、あるいは不正です。」

というランタイムエラーがでます
再インストールや、管理者権限で実行したり、再起動したりしてみましたが、かわりません。
何か他に試してみるべき事とかありますでしょうか?
0757デフォルトの名無しさん2007/04/06(金) 00:40:28
>>756
作者に聞いて下さい
0758デフォルトの名無しさん2007/04/06(金) 01:34:02
>>756
コンポーネント(OCX)の配布をやめてみ?
セットアップつくるときに外してしまえば解決すると思うが?

たぶんランタイムのインスコは正常に終わってコンポーネントの上書きに失敗してるんだろうな

とかおもってみたり・・・
0759デフォルトの名無しさん2007/04/06(金) 15:57:08
>>758
ありがとうございます。
すいません、あちらのスレから誘導されてきたのですが、当方プログラマではありません。
とりあえず、vb6rtest.CABを解凍して、拡張子OCXの物をすべて削除して再度圧縮したのですが、setupを起動すると「ディスクがありません」とエラーがでてインストールすらできません。
OCXの配布をやめるにはどのような事をする必要があるのでしょうか?
問題が解決できるなら、ある程度は勉強する覚悟はあります。
0760デフォルトの名無しさん2007/04/06(金) 18:25:09
>>759
セットアップの作成時に依存関係見てみ?
0761デフォルトの名無しさん2007/04/06(金) 19:46:53
>>760
すいません、調べてみましたが、どうやってみるのかが判りません。
まったくの素人で申し訳ありません。
0762デフォルトの名無しさん2007/04/06(金) 22:52:24
ttp://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=7B9BA261-7A9C-43E7-9117-F673077FFB3C
でもいれとけ。
0763デフォルトの名無しさん2007/04/07(土) 12:08:27
>>762
ダメです、exeを実行しても途中で途切れます・・
vista対応じゃないからかな;;
0764デフォルトの名無しさん2007/04/07(土) 15:58:29
>>756
この問題をまったくの素人でもわかりやすく解決み導いていただける自信のある方はいませんか?
金一封を差し上げようと思うのですが
07657642007/04/08(日) 01:03:49
すいません、自己解決しました。
PCをリカバリし初期出荷状態にして一番最初にランタイムをインストールしたら正常に動作しました。
0766デフォルトの名無しさん2007/04/08(日) 03:02:57
オリジナルのプログラムをお持ちの方いらっしゃいませんか?
この度クレジット決済でスムーズにダウンロード売買が
できるサイトを立ち上げました。
つhttp//web-cart.jp/
※会員登録&商品のうp全て無料です!
・クオリティの高い商品のうpをお待ちしてますw


0767デフォルトの名無しさん2007/04/09(月) 16:13:49
MsFlexGridでSelectionModeをflexSelectionByRowにして、
行単位で選択してるんですが、[Ctrl キー]を押しながら、
個々のセルのクリックで複数選択する機能には対応しておりません。

この対応方法について、何か良い方法はありますか?
0768デフォルトの名無しさん2007/04/09(月) 16:23:28
>>767
その機能が使える別コンポーネントに変える。
0769デフォルトの名無しさん2007/04/09(月) 18:01:23
自分でイベント捕まえて色とかを手作業で変更する
0770sage2007/04/09(月) 21:55:53
VB4 32bit でthreed.vbx, grid.vbx を使用したForm を VB6 に移行
させたいのですが VB6 LerningEditionしか持ってません。

やっぱりVB6 Pro以上のeditionを入手するか、 コントロールを
貼りなおさないとだめでしょうか?

SS〜 使いまくりの画面なので 躊躇してます。
0771デフォルトの名無しさん2007/04/09(月) 23:14:48
>770
Pro以上のEditionを入手しても、「変換」の為に使っても良いと言うだけで、
そのコントロールを使ったアプリケーションを開発して配布する事は許可
されていないから、頑張れ、としか言えないわ。
07727672007/04/10(火) 15:36:13
ありがとうございます。
別のコンポーネントを探しても見当たらないのですが、グリッド表での
複数選択が可能なコンポーネントはありますか?
0773デフォルトの名無しさん2007/04/10(火) 17:26:43
あるよ、もちろん有料だけど。MSFlexGridだって実際は有料だし。
0774デフォルトの名無しさん2007/04/10(火) 17:34:18
CellBackColorなどを設定してそれらしく処理すればいいだけじゃないの?
0775デフォルトの名無しさん2007/04/10(火) 17:58:00
それが出来ない人なんでしょ

高額高性能なコンポに頼って楽するか
勉強してコード書いて金使わずに解決するか
どっちでも好きな方を取ればいいさ
0776デフォルトの名無しさん2007/04/11(水) 00:08:09
VSFlexGridてまだ売ってるのかな
0777デフォルトの名無しさん2007/04/11(水) 13:45:22
グレープシティ行って見てこいカス
0778デフォルトの名無しさん2007/04/15(日) 01:35:00
すみません。どなたかご存知の方はいらっしゃらないでしょうか?

VB6.0でDetailセクションに配置されたLabelコントロールの名称が
"Label1"〜"Label5"である場合に、それらのプロパティをまとめて
変更する方法は、どのようにすればよろしいでしょうか?

たとえば.NETでは、以下のようになるかと思います。
========================================================
Private Sub Detail_Format(ByVal sender As Object, ByVal e As System.EventArgs) Handles Detail.Format

 Dim i As Integer
 For i = 1 To 5
  CType(Me.Detail.Controls("Label" + i.ToString()), Label).Text = "AAA"
  CType(Me.Detail.Controls("Label" + i.ToString()), Label).Top _
                      = System.Drawing.Color.Blue
 Next i
End Sub
========================================================

これをVB6.0で表記するにはどのようにすればよろしいのでしょうか?
宜しくお願いします。

0779デフォルトの名無しさん2007/04/15(日) 02:58:31
>>778
先ほどの質問ですが、単純にCType()を取って
i.ToString() を
CStr(i) とするだけでした。
解決しました。こんな質問した自分が恥ずかしいです。
0780デフォルトの名無しさん2007/04/22(日) 12:35:47
>>778
+で文字列を結合するな。

> i.ToString() を CStr(i) とするだけでした。
うそつけw
0781デフォルトの名無しさん2007/04/22(日) 12:36:56
>>776
TrueDBGridでも買ってろカス
0782デフォルトの名無しさん2007/04/22(日) 13:41:25
>>778
あーVB.NETからVB6だったか。
すまん。しっかりよんでなかったわ。
0783デフォルトの名無しさん2007/04/22(日) 13:42:15
VB6ならMSHFlexGridが吉
0784デフォルトの名無しさん2007/04/22(日) 15:38:08
N88-BASICとかだと文字列連結も+だったんだよね。
連結は厳密に文字列同士限定で、
B$ = "1": C% = 1: A$ = B$ + C% とかはちゃんとTypeMissmatchエラーになった。
これがエラーにならなくなったのがVBのウンコ度を増していると思うようん。
0785デフォルトの名無しさん2007/04/22(日) 16:58:34
N88-BASICよりはまし。
0786デフォルトの名無しさん2007/04/23(月) 10:31:47
&だとスペース入れてくれなくてエラーになるので+使ってる
0787デフォルトの名無しさん2007/04/23(月) 11:03:27
786はバカだろ
0788デフォルトの名無しさん2007/04/23(月) 11:23:00
>>787
同意www
0789デフォルトの名無しさん2007/04/23(月) 12:07:18
>>786
の意味がいまいちわからんのだが・・・ま、まさか
0790デフォルトの名無しさん2007/04/23(月) 13:04:32
なんでもいいからお前らMSDNの文字列連結と加算演算の項見れ
0791デフォルトの名無しさん2007/04/23(月) 16:55:29
横槍スマソ。

>>790
今ってドットネットの話をしてるの?VB6.0での話し?
あと、そのMSDNのURLをh抜きで教えてけろ。
0792デフォルトの名無しさん2007/04/23(月) 17:24:00
> &だとスペース入れてくれなくてエラーになるので
> &だとスペース入れてくれなくてエラーになるので
> &だとスペース入れてくれなくてエラーになるので
0793デフォルトの名無しさん2007/04/23(月) 18:31:43
>>786は別に変なこと言ってないと思うぞw
やってみりゃすぐわかることだが。

VB厨っていうのはVBすらロクに理解してない、といういいサンプルだな。
0794デフォルトの名無しさん2007/04/23(月) 18:44:29
VB6.0で
excelのファイルが大量にあってその中にグラフがあります。
そのグラフをイラストレーター上にコピペで貼り付けて
そこに文字を書き込むという作業を
自動化するプログラムを作りたいと思ってます。

とりあえずエクセル内の操作とイラレ内の操作は
できるようになりました。

ここでエクセルのグラフをコピーしてイラレに貼り付ける
作業はどうやってやったらいいのでしょうか?

よろしくお願いします。
0795デフォルトの名無しさん2007/04/24(火) 14:07:21
それはVBじゃなくてVBAじゃない?
0796デフォルトの名無しさん2007/04/24(火) 14:17:14
俺は使い分けがめんどくさいから全部+で連結してる
0797デフォルトの名無しさん2007/04/24(火) 16:59:10
"123" + 45とか罠でなかったっけ?
0798デフォルトの名無しさん2007/04/24(火) 17:27:43
ヌルポだとエラーにならない?
0799デフォルトの名無しさん2007/04/25(水) 01:18:27
ガッ
0800デフォルトの名無しさん2007/04/25(水) 08:54:15
>>796は無能VB厨
0801デフォルトの名無しさん2007/04/25(水) 21:40:55
>>800
パシャ パシャ  パシャ パシャ パシャ  パシャ パシャ パシャ パシャ パシャ パシャ
   パシャ パシャ パシャ パシャ パシャ  パシャ パシャ パシャ  パシャ  パシャ パシャ パシャ
 ∧_∧     ∧_∧     ∧_∧  ∧_∧    ∧_∧     ∧_∧
 (   )】      (   )】    (   )】 【(   )    【(   )    【(   )<久々の馬鹿だっ☆
 /  /┘ .   /  /┘.    /  /┘ └\\    └\\   └\\
ノ ̄ゝ     ノ ̄ゝ      ノ ̄ゝ     ノ ̄ゝ     ノ ̄ゝ     ノ ̄ゝ
0802デフォルトの名無しさん2007/04/25(水) 22:58:37
はじめまして
VB6を使っています。
ハードディスク内にあるテキスト"C:\File\date.txt"をコマンドボタンを押してリストボックスに表示したいのです。
その際にはRecord(30)というような一次元配列に代入し、リストボックスに表示する際にはRecord(30)の一次元配列を利用します。
ファイルを1行1行読み込む際、文字列が入っていない行があればファイルを読み込むことを終わります。ファイルが存在しないなどのエラーがある場合は「ファイルがありません」というメッセージボックスが表示するようにしたいのです。

とりあえずまずくてもこんなコードを書いてみましたが・・・


Option Explicit '変数の宣言を強制する
'変数を宣言する
Private strRecord(30) As String 'データを格納する配列
Private intGyo As Integer 'データの行数
Private intKensu As Integer '登録件数
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

Private Sub cmd_Fileread_Click()


'ファイルが存在するかどうかをチェックする
If Dir("C:\File\date.txt") = "" Then

'ファイルが存在しない場合メッセージボックスを表示する
MsgBox "ファイルが読み込めません"

Else



08038022007/04/25(水) 23:00:00
'データの読み込み
intGyo = 0
Dim strRecord(20)
Open C:\File\date.txt For Input As #1
Do Until EOF(1)
intGyo = intGyo + 1
Input #1, strRecord(intGyo)
Loop
Close #1

'データをリストボックスに表示
lst_Text.ListIndex = strRecord(30)

End If

End Sub

やはりまったく動きません・・・何か良い方法はないでしょうか?
0804デフォルトの名無しさん2007/04/25(水) 23:03:14
よい方法ね。デバッグするといいと思うよ
0805デフォルトの名無しさん2007/04/25(水) 23:55:20
>>802
全く動かないというと、どこから動かないんだろ???
まずはどこでどういう状況の時にエラーになってるかを提示してくれると答える側もこたえやすいよ
08068022007/04/26(木) 00:16:06
>>805
そうですね・・・
メッセージボックスは出るんですが・・・それだけですね
私としてはリストボックスに表示させたいのです。
0807デフォルトの名無しさん2007/04/26(木) 00:23:31
>>806
メッセージボックスが出るってことはファイルのチェックに失敗してるから最初のIF文になるっぽいなぁ
さて・・・まずDIR関数の動きをヘルプで見てみるってのはどうかな?
0808デフォルトの名無しさん2007/04/26(木) 10:12:10
なんかあれだな・・・・
質問すらろくに出来ないやつとかってどうなのよ
エスパーな質問多すぎ
0809デフォルトの名無しさん2007/04/26(木) 11:44:24
>>802
F8キーで一行ずつ実行してみれば実際どう動いているか確認できるよ
0810デフォルトの名無しさん2007/04/26(木) 12:18:19
>>808
上手に質問できる人は質問しなくても自己解決できてるってことかい?
0811デフォルトの名無しさん2007/04/26(木) 12:43:35
>>810
頭の悪いのも大概にしとかないと恥ずかしいよw
0812デフォルトの名無しさん2007/04/26(木) 12:51:04
>>810

>808,811は頭の悪いVB厨の典型。基地外だから。
レスも面白くないし。放置が一番。
0813デフォルトの名無しさん2007/04/26(木) 13:03:03
>>812
ここは面白いスレを目指してるわけじゃないだろうに・・・
そんな糞みたいな釣りツッコミする前にもうちょっと本質つかむ勉強すれば?
0814デフォルトの名無しさん2007/04/26(木) 15:26:27
本質であるVBプログラマ質問をやろうじゃないか
0815デフォルトの名無しさん2007/04/26(木) 17:01:59
バロスwww
0816デフォルトの名無しさん2007/04/26(木) 17:40:23
Dir()関数を使うんだ。ずっとFileSystemObjectのやつ使ってたわ。
0817デフォルトの名無しさん2007/04/26(木) 17:43:04
>>816
俺もファイルチェックならそっちのがいいと思う
0818デフォルトの名無しさん2007/04/26(木) 20:17:49
>>810
上手に質問できる人はヴビなんか使いません、てことでは?
0819デフォルトの名無しさん2007/04/26(木) 21:27:10
外部で非同期に管理されているようなファイルなんてものに「直前にチェック」なんて論外
素直に開けたか例外が発生したかでチェックしなさい
0820デフォルトの名無しさん2007/04/27(金) 10:59:39
>>816
FileSystemObjectのFileExistsの方がいいよ。
ネットワークパスとかいろいろな都合で。
0821デフォルトの名無しさん2007/04/27(金) 11:00:27
>>801
いや、そうとは限らないだろう。
0822デフォルトの名無しさん2007/04/27(金) 11:28:08
俺は文字列は&結合でやってるな
明示的に使い分けてる

ちなみに
C#は周りに合わせて+で結合
VB.NETはやっぱり&で結合

古い人たちは皆VB6の文字列結合を+でやってる傾向がある
0823デフォルトの名無しさん2007/04/27(金) 11:43:46
>>820
そうなんか、ありがとう。ていうかこの関数便利だよなー。
色々な命令できるし
0824デフォルトの名無しさん2007/04/27(金) 13:27:02
>>822
文字列はVB6でも&演算子がいいと思う。
VB.NETはむしろ型が強い言語だからエラーになってくれる(Strict On)

>>823
関数?Dir関数のこと?
これ、制限あるから気をつけてっていう話をしてたんだよ?

ちなみにFileExistsはメソッド。FileSystemObjectはクラス。
Dir関数はFileSystemモジュールにある関数。
0825デフォルトの名無しさん2007/04/27(金) 15:15:34
テキストボックスに数字と+と−のみを入力させたい場合
どうしたらいいですか?
0826デフォルトの名無しさん2007/04/27(金) 15:37:13
>>825
念のため… それ以外のキーを押した時はスルー? 警告なりBeep?
0827デフォルトの名無しさん2007/04/27(金) 15:56:35
>>826
全角を許すかどうかのほうが問題でなかろか
08288252007/04/27(金) 17:00:28
警告音は鳴らなくてよいです。
入力できないか、スルーでお願いします。
数字だけですと
Index = 0
For Index = 0 To 31
If KeyAscii = vbKeyBack Then Exit Sub
If Not Chr(KeyAscii) Like "[0-9]" Then
KeyAscii = 0
End If
Next Index
これでできるのですが、
+−をいれる方法が分かりません。
0829デフォルトの名無しさん2007/04/27(金) 17:01:24
普通はオプションボタンとかチェックボックスだが
なぜにテキストボックス?
08308252007/04/27(金) 17:13:40
経費の表を作っているのですが、
-3000とか入れたいので・・・
0831デフォルトの名無しさん2007/04/27(金) 17:17:12
>>828

If Not ((InKey >= "0" And InKey <= "9") Or InKey = "+" Or InKey = "-") Then
  KeyAscii = 0
End If

とか、ベタなIFじゃだめ?
0832デフォルトの名無しさん2007/04/27(金) 17:18:19
あ。忘れ物。
InKey = Chr(KeyAscii)
0833デフォルトの名無しさん2007/04/27(金) 17:32:50
ありがとうございます
0834デフォルトの名無しさん2007/04/27(金) 17:36:25
しまった数字と±か。。。
俺の場合は1+000とかにならないようにとか懲りだすんだよな
0835デフォルトの名無しさん2007/04/27(金) 18:51:16
>>834
普通じゃね?
0836デフォルトの名無しさん2007/04/27(金) 18:59:10
マウスでペーストしたら数字以外の文字が入ってしまうというオチとかな
0837デフォルトの名無しさん2007/04/27(金) 21:36:03
チェンジイベントで毎回テキストボックスを検索して
目的の文字以外ひたすらハジくってのでもいいかなと思った俺。
0838デフォルトの名無しさん2007/04/27(金) 21:40:58
その都度処理するの大変だから、数値専用のコントロール作っちまった
0839デフォルトの名無しさん2007/04/27(金) 22:07:27
>>824

VB.NETってStrict Onでも
+で文字列結合できるんじゃなかったっけ?

この間俺、「あーできるんだ。」って思ってたばかりなのに・・
俺の勘違いか?

今自宅で環境無いから試せないけど。


0840デフォルトの名無しさん2007/04/27(金) 22:33:10
.netで文字結合演算はしないな。
長いならStringBuilderだし、その場の結合はFormatのほうが綺麗にかけるし。
0841デフォルトの名無しさん2007/04/27(金) 23:00:50
>>839
+演算子の場合は「型が違う時に」弊害がおきるわけだから、
StrictOnなら+演算子でも構わないが、VB的には可読性とかの問題なのよね。

>>840
StringBuilderのを誤解している人も多いけどね。
パフォーマンスがアップするような使いどころはそんなにない。
0842デフォルトの名無しさん2007/04/27(金) 23:05:40
俺は妙な誤解してるのは841だと思うけど。。
0843デフォルトの名無しさん2007/04/27(金) 23:13:14
>>841

>+演算子の場合は「型が違う時に」弊害がおきるわけだから、
>StrictOnなら+演算子でも構わないが、VB的には可読性とかの問題なのよね。

あ、いやそれはわかるんだけど、>>824がエラーになるっていったのは
IDEでエラーが出るって意味なのかと思って。

てか、スレ違いっすね。
0844デフォルトの名無しさん2007/04/27(金) 23:56:27
>>839
明示的に暗黙の型変換が許可されている場合はStrict Onでも大丈夫。
S As String : I As Integer = 99 のとき
S = I & " cm" は 99 cm になるが
S = I + " cm" はエラー (文字列を整数にできない)
S = "" + I + " cm" はOK
0845デフォルトの名無しさん2007/04/28(土) 09:37:42
>>842
いや、StringBuilderを誤解せず使っているVB厨なんてほとんどいないと思うよ。
841はお前よりレベル高いだろ。
0846デフォルトの名無しさん2007/04/28(土) 09:42:04
>>842
すまん。もしかしてStringBuilderじゃなくて前半の内容のことか?
「誤解」とか言ってるからStringBuilderの話かと思ったのだが。(そっちで誤解って単語でてるし)

>>844
最後のはNGだろ。常識的に考えて。
0847デフォルトの名無しさん2007/04/28(土) 11:17:13
>>845
いや841が「妙な誤解」をしていると思われるのはまさにStringBuilderについてでしょ。
文字列の効率的な結合ってStringBuilderの主目的じゃんw

こういう間抜けなことを言うのは、たぶん.NETにおいてStringという型にあたえられた性質が
わかってないからだと思うけどね。
0848デフォルトの名無しさん2007/04/28(土) 11:29:22
String型なんて言っている人に言われたくないんです (><;
0849デフォルトの名無しさん2007/04/28(土) 13:15:48
ワロタw
いくらなんでもString型はないよなw
0850デフォルトの名無しさん2007/04/28(土) 13:16:01
VB.netはMSのサイトでもString型って表記してるけど違うの?
0851デフォルトの名無しさん2007/04/28(土) 15:15:56
ttp://msdn2.microsoft.com/ja-jp/library/47zceaw7(VS.80).aspx

ほんとだw VisualBasicのデータ型www
0852デフォルトの名無しさん2007/04/28(土) 15:27:25
>>847
それを誤った形で使っているバカがいるってことだろ。
それを読み取れていないお前は、その誤った使い方をしている一人の可能性が高いなw
0853デフォルトの名無しさん2007/04/28(土) 15:42:01
くだらん負け惜しみだな。

負け惜しみなどではない、というのなら「誤った形で使う」とは、具体的には
どういう意味か説明してもらおうじゃないの。

いや、出来ないなら無理することないですよw
0854デフォルトの名無しさん2007/04/28(土) 16:08:41

♪ア・ソ〜レ

ア・チョン! ア・チョン!

ア・チョン! チョン! チョン! バカ!
0855デフォルトの名無しさん2007/04/28(土) 23:48:38
>>853
お前の使い方を示せばいんじゃねーの?
0856デフォルトの名無しさん2007/04/29(日) 01:40:47
Stringを型とか呼んでるやつはMSDN本当にみてるのかどうか…(´ヘ`;)
StringBuilderのヘルプ見たら真先にStringクラス見に行くと思うんだが・・・・

そもそも、動作的にStringの結合はインスタンス作りまくり ていうのを理解してない奴が多いと思う
0857デフォルトの名無しさん2007/04/29(日) 02:31:09
見苦し
0858デフォルトの名無しさん2007/04/29(日) 02:31:20
あいかわらず用語の定義が各人まちまちなまま泥仕合してるみたいだけど
なんでVB.NETの話になってるんだ?
0859デフォルトの名無しさん2007/04/29(日) 02:34:26
>>856
1行の命令で複数の文字列や文字変数を結合する場合は
String.Concatが使われるからインスタンス作りまくりということはない。
ループで1文字ずつ連結するケースではStringBuilderを使う。

String.Concatは綺麗じゃないけど現実的で実用的な実装なんだよね。
String.Concat (Object, Object) 
String.Concat (Object, Object, Object) 
String.Concat (Object, Object, Object, Object) 
String.Concat (Object[]) 
0860デフォルトの名無しさん2007/04/29(日) 03:45:22
(´・ω・`)しらんがな
0861デフォルトの名無しさん2007/04/29(日) 10:25:09
>>853
ばかだねぇww
その言葉お前にもそのまま返せるって知ってる?

いいかげんうざいんだよ
0862デフォルトの名無しさん2007/04/29(日) 10:31:10
今北産業

何が起きているのか頭の悪い俺に一行で教えてくれ。
0863デフォルトの名無しさん2007/04/29(日) 10:33:29
では問題。この使い方は間違っているか?

Dim sb As New StringBuiler()
sb.Append("SELECT")
sb.Append(" *")
sb.Append("FROM")
sb.Append(" Table1 T1")
sb.Append("WHERE")
sb.Append(" T1.AHO >= 1 AND")
sb.Append(" T1.AHO <= 100")
 :
 :
command.ExecuteNonQuery(sb.ToString())
0864デフォルトの名無しさん2007/04/29(日) 10:34:44
853が答えればいいのか?
0865デフォルトの名無しさん2007/04/29(日) 10:37:55
>>863
・SQL問い合わせ作るのにゃ特別のクラス使え
・文字列連結なんてしないでフォーマッタ使え
0866デフォルトの名無しさん2007/04/29(日) 11:14:48
>>863
それ全部リテラルの文字列だから普通に&や+でつないでおけばコンパイル時に結合が終わる。
0867デフォルトの名無しさん2007/04/29(日) 11:19:10
「型」という日本語をプリミティブな型だと勝手に脳内変換してとらえてる奴がおかしい。

0868デフォルトの名無しさん2007/04/29(日) 11:29:41
ここ.NETスレだっけか
0869デフォルトの名無しさん2007/04/29(日) 11:30:22
ああ、なるほど。

それで「Stringは型じゃない」とかワケワカランこと言ってる奴の発想が
半分はわかったw

要は組み込み型だけが「データ型」だと思ってるわけか。
そういやVB6では構造体(正式にはユーザ定義型、だっけ?)は
Cの真似かどうか知らないがデータ型と呼ばないような気がしたな。

でも.NETのStringってプリミティブ型でしょ?w
0870デフォルトの名無しさん2007/04/29(日) 12:00:07
>>869
.NETのStringはクラス。ただ変更不可なクラスなのでプリミティブ型のようにふるまえる。
その代償で特定のケースでパフォーマンスが落ちるケースがありStringBuilderが必要になる。
VB6のStringは変更可能なプリミティブ型。代入時はコピー操作を伴うが、文字の連結などは高速。
コピー操作はWrite On Copyをやってると思うけど実際はどうだろう。
0871デフォルトの名無しさん2007/04/29(日) 12:03:48
なんか勘違いしてるようだけどプリミティブ型っていうのは組み込みの値型のことではないよ。
0872デフォルトの名無しさん2007/04/29(日) 12:20:43
>>871
プリミティブ型の定義は言語によって違うと思うけど説明してみて。
0873デフォルトの名無しさん2007/04/29(日) 12:24:00
System.Type なんだし「型」なわけだが。
0874デフォルトの名無しさん2007/04/29(日) 12:32:42
クラスと型を対義語のように使うのが間違い。
class type
value type
型はどちらの意味でもとれる。

0875デフォルトの名無しさん2007/04/29(日) 12:40:36
型の意味が何なのかは言語によって違う。.NET FrameworkとVB.NETでも多少の相違が出る。
>>851 の ttp://msdn2.microsoft.com/ja-jp/library/47zceaw7(VS.80).aspxでも
Visual Basic のデータ型、共通言語ランタイムの型構造 と微妙な表現になってる。
String型がありえないといってる連中はそういう定義の言語をやってるんとちゃうの。
0876デフォルトの名無しさん2007/04/29(日) 13:50:48
というわけでオレオレ厨が湧き出している VB6 スレです
0877デフォルトの名無しさん2007/04/29(日) 13:52:56
うはw おkwww 把握www
0878デフォルトの名無しさん2007/04/29(日) 13:58:04
バカばかりじゃないってことがわかったのは嬉しいが、スレ違いなのが悲しいな。
0879デフォルトの名無しさん2007/04/29(日) 15:38:04
VB.NETスレでやれwww
0880デフォルトの名無しさん2007/04/29(日) 16:18:52
ここはひどいVB厨ですね。
0881デフォルトの名無しさん2007/04/30(月) 10:13:39
レベル低いな。

VBという言語じゃなくてそれに携わっている人がね。
0882デフォルトの名無しさん2007/04/30(月) 11:11:04
>>881
どこがどうレベル低いか低レベルな俺にもわかるように説明してみろよ。
偉そうにするのが好きだな本当にw
0883デフォルトの名無しさん2007/04/30(月) 11:16:32
(´・ω・`) かってにほざいてろ かす
0884デフォルトの名無しさん2007/04/30(月) 14:39:03
バカはスルー
0885デフォルトの名無しさん2007/04/30(月) 19:07:39
ここ最近の流れがエビデンスだろw
0886デフォルトの名無しさん2007/04/30(月) 19:20:53
>>885はたぶん真性だ
"証拠"を格好よく言いたいだけで墓穴掘ってる^^;;;;;;;
0887デフォルトの名無しさん2007/04/30(月) 19:48:53
>>886
俺はおまえこそ真性厨房だと思うんだが・・・?
まるで鬼の首をとったような喜び方が痛い
0888デフォルトの名無しさん2007/04/30(月) 19:51:01
お互い大変ですね ^^;;
0889デフォルトの名無しさん2007/04/30(月) 20:04:03
>>886
エビデンスは普通に使うだろ。
まぁ、>>885 みたいな使い方は普通しないが。
0890デフォルトの名無しさん2007/04/30(月) 20:53:06
English板にエビデンス厨という奴がいてだな、
住人A「俺TOEIC 900点以上だぜ」
という書き込みがあると、
エビデンス厨「エビデンスを見せろ!」
0891デフォルトの名無しさん2007/04/30(月) 21:01:44
>>890
なに適当な作り話でっちあげてんだよ。
それが本当ならエビデンスを見せろ!
0892デフォルトの名無しさん2007/04/30(月) 21:26:55
>>891
エビデンス厨
http://academy6.2ch.net/test/read.cgi/english/1172881691/240
0893デフォルトの名無しさん2007/04/30(月) 21:31:43
本当に見せなくていいからw
0894デフォルトの名無しさん2007/04/30(月) 21:41:45
エビデンス見せろっていったくせに!
0895デフォルトの名無しさん2007/04/30(月) 21:52:37
>>894
そんなこといつ言った?
エビデンスを見s(ry
0896デフォルトの名無しさん2007/04/30(月) 22:20:04
そろそろ終わりにしようね
0897デフォルトの名無しさん2007/05/01(火) 09:03:31
最近の流れがVB厨のレベルの低さを表している。
0898デフォルトの名無しさん2007/05/01(火) 09:37:13
>>897
VBも低いだろうがこんな掲示板で何をおっしゃっているのかwww 
0899デフォルトの名無しさん2007/05/01(火) 10:35:27
この流れが>>897のPGとしてのへっぽこ具合を表している
つまりおまえはゲラウトヒアということだ>>897
0900デフォルトの名無しさん2007/05/01(火) 12:50:46
>>899はたぶん真性だ
"Get out here"を格好よく言いたいだけで墓穴掘ってる^^;;;;;;;
0901デフォルトの名無しさん2007/05/01(火) 12:55:00
>>900
多分Vipperじゃないか?
ちょっと前にはやってたし
0902デフォルトの名無しさん2007/05/01(火) 13:40:15
>>901
Vipperというエビデンス出してくださいw
0903!omikuji2007/05/01(火) 13:59:25
ほっ
0904デフォルトの名無しさん2007/05/01(火) 20:34:32
最近始めたんですが、評価版しか手に入りません
どうしたら製品版、もしくばコンパイルできる他のを手に入れることができますか
0905デフォルトの名無しさん2007/05/01(火) 21:01:46
>>904
http://www.freebyte.com/programming/compilers/envelop.html
このへんはどうだ? 是非、人柱報告をきぼん。
0906デフォルトの名無しさん2007/05/01(火) 22:38:29
>>905
使い方わかりませんでした
0907デフォルトの名無しさん2007/05/02(水) 00:49:30
Cはまあまあ知っているのですが
VBにはそれほど詳しくありません。
VBでCの関数ポインタみたいな事ってできるんでしょうか?

Sub Subp(SubpX)
  Call SubpX(1, 2, 3)
End Sub
0908デフォルトの名無しさん2007/05/02(水) 00:52:23
VB5だかVB6あたりからできるようになってたハズ。
0909デフォルトの名無しさん2007/05/02(水) 00:55:14
>>907
VB5、VB6のAddressOf演算子が一応相当するけど、関数のアドレスを返すだけで呼び出すのは標準にない
(どっかでObjPtr()とメモリ書き換え操作を使ってアセンブルして呼び出すことやってたくらい)

VB.NETからは.NETFrameworkのDelegate型を作れるから…ってここはVB6以前スレか
0910デフォルトの名無しさん2007/05/02(水) 01:14:18
intPtr
みたいなのなかったけ?
構造体でもメモリアドレスとれるような一般に広まってない関数があったと思うんだが
Cとかの関数にアドレス渡すときに使った記憶があるな
思い違いならすまん
0911デフォルトの名無しさん2007/05/02(水) 01:18:08
>>907
APIに渡すコールバック関数とかとしてならAddressOfでいいけど
自分で呼び出すには超変態的コーディングする必要があるので、正直諦めたほうがいい
VBでやるならクラスにPublicなメソッド定義して、クラスのインスタンスを渡す方法が無難じゃまいか

>>910
それってVarPtrとかStrPtrとかObjPtrのことだと思うが、関数ポインタとポインタは違うぞ
0912デフォルトの名無しさん2007/05/02(水) 01:31:25
>>911
>VBでCの関数ポインタみたいな事ってできるんでしょうか?
あ・・・ 俺の馬鹿

馬鹿なので今日はじめて動くバッチ処理見守ってきます
0913デフォルトの名無しさん2007/05/02(水) 02:26:20
VB2005ってまだ無料なの??なんか登録しないとだめっぽいけど・・・
誰かわかる方教えてください。
0914デフォルトの名無しさん2007/05/02(水) 02:34:06
>>913
EXPRESSはVB とか SQL鯖問わず完全無料
たしか登録すると期限がなくなるとかそういうレベルの話だったと思う
まぁ、とくに不都合無いなら登録しちゃいなYO
0915デフォルトの名無しさん2007/05/02(水) 02:44:50
>>914
ありがとう。なんか承諾書(?)みたいなのが長々と書いてあったから登録するのが不安だったので。無料で問題ないのであれば登録してBV2005ダウンロードしようと思います。

0916デフォルトの名無しさん2007/05/02(水) 10:19:37
"1,234"→1234
"--
0917デフォルトの名無しさん2007/05/02(水) 11:06:19
無料でインストールできるVB2005 Express Editionって
実際に販売されてるものと中身違うの?
0918デフォルトの名無しさん2007/05/02(水) 11:12:16
>>917
例えばテストツールが充実してなかったり
基本的にやれることはフレームワークに依存しているので変わりはない

ところでこの話はすれ違いじゃねぇか?
0919デフォルトの名無しさん2007/05/02(水) 12:53:41
DLできるEEと売ってるEEは同じじゃなかったのか
しらなかったよ
0920デフォルトの名無しさん2007/05/02(水) 12:56:57
>>919
あぁ、DLのEXPESSと販売のEXPRESSの違いだったのか
勘違いスマン

ちょっとその違いは俺知らんわ(;´Д`)
ごめんな
0921デフォルトの名無しさん2007/05/02(水) 18:20:10
ちなみにVB6.0ってどこからダウンロードするんかな?
0922デフォルトの名無しさん2007/05/02(水) 18:42:47
Microsoftのサイトからダウンロードする事はできますよ
高いけど
0923デフォルトの名無しさん2007/05/02(水) 20:27:08
VBに構造体は無いのに、何間違った言葉使ってるんですか。
0924デフォルトの名無しさん2007/05/02(水) 20:41:19
ユーザー定義型と構造体の違いを教えてください><
0925デフォルトの名無しさん2007/05/02(水) 23:58:55
>>919
中身は同じ。箱と紙切れとディスクが付いてくるか否かの違い。
0926デフォルトの名無しさん2007/05/03(木) 00:19:17
初心者でよくわからないのだけど、VB6.0とかVBstudio2005とか持ってる人はみんなソフトとか買ってるんだよね?
おいら金ないな〜。
0927デフォルトの名無しさん2007/05/03(木) 01:01:04
Express 早分かりガイド

ダウンロード版:
それぞれが 30-70MB のコンパクトサイズ

* 価格
無償
0928デフォルトの名無しさん2007/05/03(木) 04:55:13
>>926
働け
0929デフォルトの名無しさん2007/05/03(木) 06:01:49
>>928
ワーキングプアー
0930デフォルトの名無しさん2007/05/03(木) 14:21:03
>>926
おいらはMSDN Subscripionです。
0931デフォルトの名無しさん2007/05/03(木) 14:27:46
で?
0932デフォルトの名無しさん2007/05/03(木) 17:50:29
I am orange juice みたい
0933デフォルトの名無しさん2007/05/03(木) 23:57:18
I am Apple juice みたい
0934デフォルトの名無しさん2007/05/07(月) 19:28:34
>>924
だから、違いも何もVBには構造体は無いと言ってるではないか。
構造体はC言語固有の用語で、せめてレコード型と言うんだな。
0935デフォルトの名無しさん2007/05/07(月) 19:48:25
>>934
とてもお堅い脳みそで
0936デフォルトの名無しさん2007/05/07(月) 19:51:13
ユーザー定義型:VBの用語
構造体:C(とその派生言語)の用語
機能的、構文的な面では似通った存在で、同じものと思って差し支えない場合も非常に多い。
0937デフォルトの名無しさん2007/05/11(金) 12:14:53
おしえてください。
A="ABCDEF"
Aの文字列に「C」or「F」があるかを検索したい

検索キーワードが一個なら問題ないのだが・・

instr(a,""C","F") ←こんなことが出来ればいいのだけど

0938デフォルトの名無しさん2007/05/11(金) 12:22:13
>>937
instr(a,"C") > 0 or instr(a,"F") > 0
0939ナイアガラ ◆7983orzRwA 2007/05/11(金) 12:47:17
>>938
(a,"C")  って顔文字かと思った。
0940nobodyさん2007/05/11(金) 13:12:16
IEオブジェクトについての質問です。

Set ob = CreateObject("InternetExplorer.application")
ob.navigate "www.google.co.jp"

最近IE7にして、新しいウィンドウではなく、新しいタブでgoogleページに
飛ばしたいのですが、ご存知の方いらっしゃいますか?

0941デフォルトの名無しさん2007/05/11(金) 13:19:22
>>938さん ありがとうございました。
キーワードが複数ある場合は面倒ですね。
キーワードを変数にしてdo loopで回すことにしました。
0942デフォルトの名無しさん2007/05/11(金) 13:32:59
>>937-938
Likeの方が早くない?


A Like "*[C-D]*"

とか
0943デフォルトの名無しさん2007/05/11(金) 14:17:49
>>942
そうそう。 
で、その内にVBで禁断の正規表現にどっぷりハマルとw
0944デフォルトの名無しさん2007/05/11(金) 16:30:30
>>937
select case true
case instr(a,"C"),instr(a,"F")

end select
が短絡評価でいいと思う
0945デフォルトの名無しさん2007/05/11(金) 22:12:58
VB6を使ってSQLサーバーにアクセスして値を保存したいんですがうまくできません

Dim dataSQL As String
dataSQL = "INSERT INTO(siryouNo,hizuke,youken) VALUES (datasField.No,datasField.Hizuke,datasField.Youken)"

渡す値はdatasFieldという構造体で宣言したんですがそのままだと値が入らないみたいなんです
値を直接入力してデータを保存できるのは確認したのでサーバーとはちゃんと接続してる状態です


dataSQLを画面に出力してみたら
INSERT INTO(siryouNo,hizuke,youken) VALUES (datasField.No,datasField.Hizuke,datasField.Youken)

とそのまま画面に出てきてしまいますのでVALUES のあとの値が文字として扱われているというところまではわかったのですが
ここまでしかわかりませんでした
Text.Textで値を入れることもできないみたいなんですがこの場合どのようにしたらいいですか?
0946デフォルトの名無しさん2007/05/11(金) 22:29:30
>>945
つ「表名」
insert into 表名((siryouNo,hizuke,youken) 〜

ま、それは置いておいて、
dataSQL = "INSERT INTO(siryouNo,hizuke,youken) VALUES (datasField.No,datasField.Hizuke,datasField.Youken)"
と""でひとくくりにしてるのが悪い。

変数の内容を与えたいなら、
dataSQL = "INSERT INTO(siryouNo,hizuke,youken) VALUES (" & datasField.No & "," & datasField.Hizuke & "," & datasField.Youken & ")"
みたいにせにゃ。
0947デフォルトの名無しさん2007/05/11(金) 22:35:57
>>946
早い回答ありがとうございます
これでなんとかなりそうです
0948デフォルトの名無しさん2007/05/12(土) 08:43:28
すんません。 質問させて頂きます。
MsComm で通信させてるんですが
あるフォームでデータを入力させるところで、「はい」「いいえ」のメッセージボックス
を表示させた時に、通信処理が止まってしまいます。
メッセージボックスが出てる時はそこで止まっているので当然なのですが、
通信処理を止めないでメッセージボックスを表示させるのは
やっぱり無理なのでしょうか??
0949デフォルトの名無しさん2007/05/12(土) 11:16:13
メッセージボックスに似せたフォーム作ればいいじゃないか
0950デフォルトの名無しさん2007/05/12(土) 11:57:54
はい。
0951デフォルトの名無しさん2007/05/12(土) 12:01:51
あ、>>949は取り消し
たしかメッセージボックスで大丈夫だった気がする
0952デフォルトの名無しさん2007/05/12(土) 13:14:28
>>948
ユーザーフォームをvbmodelessで開けばいいと思う。

>>951
msgbox関数では設定できないよな?
Win32API使うの?
0953デフォルトの名無しさん2007/05/12(土) 13:19:26
割り込み系はIDEではとまるがEXEでは動く記憶がある
0954デフォルトの名無しさん2007/05/14(月) 09:50:50
>>953
たしかそうなんだよな
EXEのときはそのまんま動いてたと思う msgboxの表示の仕方にも夜と思ったけど
0955デフォルトの名無しさん2007/05/14(月) 11:04:50
ちゅうか通信ログなんだから、リストBoxとかに常時履歴で追加じゃないの?
0956デフォルトの名無しさん2007/05/14(月) 11:12:04
は?
0957デフォルトの名無しさん2007/05/14(月) 11:15:45
ああ、はいいいえがあるのね。
だったら、自作ダイアログをモードレス表示でいいんじゃないの?
どのタイミングでその結果が割り込むか調整必要だと思うけど。
0958デフォルトの名無しさん2007/05/14(月) 11:33:29
だったらmsgboxでいいじゃん
0959デフォルトの名無しさん2007/05/14(月) 11:34:58
>>954
> msgboxの表示の仕方にも夜

そこをはっきりさせるのが
一番重要と思われwww
0960デフォルトの名無しさん2007/05/14(月) 11:39:55
>>958
VB6のMsgBoxにモードレスあるの?
0961デフォルトの名無しさん2007/05/14(月) 11:41:41
>>960
通信が停まらなければOKなんじゃねえの?
もともとメッセージボックス使おうとしてたわけだし
0962デフォルトの名無しさん2007/05/14(月) 11:45:49
確かダイアログにシステムモーダルとか種類があったような気がしたが?
msgboxにはなかったっけ?
0963デフォルトの名無しさん2007/05/14(月) 11:46:13
MsCommの使い方にもよるね。
OnCommだったら非同期で動くのかな?
VBってsingleスレッドだったような・・・。
TimerでInputを読んでたらアウトかな?
0964デフォルトの名無しさん2007/05/14(月) 11:48:28
>>962
モーダルじゃそこで処理がとまっちまうべ。
モードレスがあるのか?って疑問なんだが。
>>961さんが言うように、MSCommがMsgBoxの待ちでもイベント受けるならまあいいんじゃないの?
(そもそもそんな擬似マルチスレッド状態でメッセージのYesNoを処理したくないが。)
0965デフォルトの名無しさん2007/05/14(月) 11:50:40
TimerはEXEならちゃんと割り込み入った
当時苦労したから覚えてる
0966デフォルトの名無しさん2007/05/14(月) 11:52:29
ザックリかいてみる俺の手法

ロードとかでポートの設定やらオープンとタイマ起動

OnCommイベントで変数に格納
(取得した結果のチェックと各処理用フラグへの反映と一回前の状態の保存)

タイマイベント内でそのフラグを監視して立ち上がり・立下りの処理

て言う感じ
0967デフォルトの名無しさん2007/05/14(月) 11:52:39
割り込みが入るの?
メッセージがキューに溜まっていて処理されるの?
後者なら納得いくけど、前者だったら微妙な動作だね。
0968デフォルトの名無しさん2007/05/14(月) 11:59:54
割り込みが入る

タイマのイベント内
処理1
OnCommイベントとかが割り込み
処理2

みたいな

0969デフォルトの名無しさん2007/05/14(月) 17:56:54
嘘言うなよ
0970デフォルトの名無しさん2007/05/14(月) 21:09:14
DataGridを使って一セルごとに値をセットしたり、
行を追加して増やしたりしたいのですが、MSDNを見ても具体的な使用法はなく
検索しても、.netばかりヒットします。
お手数おかけしますが、どなたか教えてください。
よろしくお願い致します。
0971デフォルトの名無しさん2007/05/14(月) 21:28:44
Rowsとかでいけんかね?
0972デフォルトの名無しさん2007/05/14(月) 23:47:53
971>>
Rowsっていうプロパティがありませんでした。
もしかしたら配列指定でできるかなと思ったのですがダメでした。
そういう使いかたするプロパティじゃ無いのでしょうか・・
0973デフォルトの名無しさん2007/05/15(火) 09:21:49
そういうのはMSFlexGridやMSHFlexGridが良いのでは?
0974デフォルトの名無しさん2007/05/15(火) 09:53:37
そもそもデータグリッドはバインドして使う為のもので自分で自由にグリッド使うためのものではないと思う
0975デフォルトの名無しさん2007/05/16(水) 18:33:53
すみません。便乗します
MSFlexGrid で、セルの1個をダブルクリックしたらそのまま
入力できるモード。というのは出きるのでしょうか。
色々いじってるのですが、できないので困ってます・・。
0976デフォルトの名無しさん2007/05/16(水) 18:36:25
普通そうなってなかったっけ?
Editmodeプロパティみたいなので 色々変えれた気がするけどVsFlexGridと混同しちゃってるかもwww
0977デフォルトの名無しさん2007/05/16(水) 19:12:14
>>975
「ダブルクリックしたらそのまま入力できる」というのを
テキストボックスなどを使って作っていくんだよ。
それがプログラミングというもの。
ttp://www.bcap.co.jp/hanafusa/VBHLP/MSFlexind.htm

そういうこと出来ないとか、やるのが面倒とかいうなら>>976みたいな
元から入力機構を備えたコンポーネントを買うか、Excel+VBAで我慢しなさい。
ttp://www.grapecity.com/japan/support/database/P1_223.htm
09789752007/05/16(水) 21:36:13
ありがとうございます。^^
0979デフォルトの名無しさん2007/05/17(木) 01:52:27
VB6用のアドインを作ってるのですが、詰まってしまいまして質問させてください。
コードウィンドウが分割されている場合にどちらがアクティブかを
知りたいのですが、何か方法はありますでしょうか?

VBInstance.ActiveCodePane でアクティブな CodePane は取得できましたが、
分割されているかなどは分りませんでした。VBInstance.ActiveCodePane.Window.Top で
区別が可能かとも思ったのですが、アクティブではない方も同じ値でした。
API の GetCaretPos でのカレット位置もウィンドウの分割を無視した座標でした。
半ばあきらめかけてますが、よい方法がありましたらよろしくお願いします。
0980デフォルトの名無しさん2007/05/17(木) 09:10:16
>>979
GetCaretPosしたら、ちゃんとどちらがアクティブかわかるような座標が返ってきたが、いったいどこで悩んでいるんだ?
どちらで実行してもコードウィンドウの左上を基準とした座標で取れるから
下のペインなら一番上の行でも POINT.y が 300 とかそれなりの値になってるがな
0981デフォルトの名無しさん2007/05/17(木) 21:25:27
>>980
レス感謝です。
例えば下ペインがアクティブな場合、スクロールバーを下にスクロールさせて
カレットが上ペインで隠れてしまったような状態の場合、
GetCaretPos で取得できた座標は上ペインに当たる座標が返ってきてました。
POINT.x が負数になっていたので区別できるかとも考えたのですが、
上ペインがアクティブで横スクロールによるカレットが画面外の場合と区別がつかなそうでした。
書き込み後、もう1度確認してみます。
0982デフォルトの名無しさん2007/05/18(金) 04:35:32
>>981
たしかに GetCaretPos でやる方法は指摘のとおり無理があったわ
んで ActiveCodePaneで無理みたいに書いてたから試してなかったけど
試しにコード書いてみたら一応判定出来たっぽい・・・w
あんましテストしてないから、本当に上手くいくか検証して報告してくれ

Public Enum VBE_CODEPAIN
  CODEPAIN_SINGLE  '分割されてねえ
  CODEPAIN_TOP    '上がアクテブ
  CODEPAIN_BOTTOM '下がアクテブ
End Enum

つづく。。。
0983デフォルトの名無しさん2007/05/18(金) 04:36:09
'引数は AddinInstance_OnConnection で渡される Application 引数ね
Public Function GetActiveCodePain(ByRef pVBE As VBIDE.VBE) As VBE_CODEPAIN
  Dim i As Long
  Dim pActive As CodePane
  Dim pCompo As VBComponent

  Set pActive = pVBE.ActiveCodePane
  Set pCompo = pVBE.ActiveCodePane.CodeModule.Parent

  For i = 1 To pVBE.CodePanes.Count Step 1
    If pVBE.CodePanes(i) Is pActive Then
      Exit For
    End If

    If pVBE.CodePanes(i).CodeModule.Parent Is pCompo Then
      GetActiveCodePain = CODEPAIN_BOTTOM
      Exit Function
    End If
  Next i

  For i = i + 1 To pVBE.CodePanes.Count Step 1
    If pVBE.CodePanes(i).CodeModule.Parent Is pCompo Then
      GetActiveCodePain = CODEPAIN_TOP
      Exit Function
    End If
  Next i

  GetActiveCodePain = CODEPAIN_SINGLE
End Function
0984デフォルトの名無しさん2007/05/18(金) 17:24:31
VBAなんですが、すいませんが教えてください。

環境:エクセル2000 WIN2000

「質問内容」
 目的:「エクセルのセルの中身が、変更したらVBAの処理が起動するようにしたい」

     ・セル1+セル2=セル3

     このような状態で「セル3が変更したら、VBAの処理を起動させる」ようにしたい。
      セル1・2は、サーバーとの自動連携により勝手に値が変わる。
      セル3には、「=セル1+セル2」の式を入れてます。

      この状態だと、Worksheet_Changeが起動しません。
      セル1もセル2も、自動連携の為、値が変わっても「値が変わってる」と判断しません。
      セル3も数式が入れてあるので、値が変わっても「値が変わってる」と判断されません。

      このような状態で、値が変わったら、VBAを動かす方法はありますでしょうか?
      何か良い方法がありましたら教えてください。
0985デフォルトの名無しさん2007/05/18(金) 17:35:08
それならわざわざ関数とかでいいやん・・・・

=SUM(A1:B1)
みたいに

ついでにここはVBAスレじゃない

0986デフォルトの名無しさん2007/05/18(金) 17:55:31
>>985
すいません、VBAスレ探したんですが無かったんでココで質問しました。
すれ違いなのに、レスありがとうございます。

えっと、おっしゃりたいことは。。
関数を使えば値が変更されてる事になるってことで、よろしいですか?
(今試して見てるんですが、どうもうまくいかないので、
 私の認識が間違えているのかなっておもって)
0987デフォルトの名無しさん2007/05/18(金) 18:01:53
あ、ごめん 勘違いしてた
自動計算されるセル3が変わったら・・かぁ・・

どういう連携やっててChange発生しないのかわからないけど
自動計算が走るって事は Caliculateイベントは発生しているっぽい・・・?

0988デフォルトの名無しさん2007/05/18(金) 18:13:09
>>987
>自動計算が走るって事は Caliculateイベントは発生しているっぽい・・・?

Caliculateイベントを使ってるのではなく、単純に数式を入れていますので、動いてないです。
(Caliculateイベントは「値の変化」が認識されないから、使えない状態です)
0989デフォルトの名無しさん2007/05/18(金) 18:21:42
>サーバーとの自動連携により勝手に値が変わる
一体どんな連携処理してるんだ?

同じような感じで適当にデータ入れて =SUM つかって セル3を自動計算するようにしたけど
ちゃんとChange発生しているんだが・・・
09909842007/05/18(金) 18:43:03
>>989
>一体どんな連携処理してるんだ?
すいません、どうなっているのか詳しく分りません。
私が分る範囲で答えると、セルにの「ツールのリンクを貼る」と
貼ったセルに値が表示される。 
そのツールで値が変われば、セルの値も変更されていく。
っていうものです。

Changeは、セル3が自動計算された時に動いたんですか?
再度試したんですが、私の方ではやはり=SUMの自動計算の時には、
Changeが動かないです。

すいません、もっと面倒でもいいので、他の方法があったら教えていただけませんか?



0991デフォルトの名無しさん2007/05/18(金) 19:48:57
ツールのリンクを貼る
ってことは何かのコントロールを貼り付けているのかなぁ・・・?
ツール側で何かイベントが出ていればらくなんだけど・・・・

ちょっと調べたり試してみてたんだけどVBAではイベントとかフックできないから難しいなぁ・・・
ごめんよ 力不足でorz
09929842007/05/18(金) 20:00:40
>>991
ツール側でのイベントは、無理みたいです。

いえいえ、態々調べてまでいただいてありがとうございました! うれしかったです。
今日は、これが終わらないと帰れなそうなので、もし思いついたりしたら教えてください。
0993デフォルトの名無しさん2007/05/18(金) 20:09:04
>>992
とりあえずVBAで聞けばいいんじゃないかな?
09949842007/05/18(金) 20:11:28
>>993
うわっ。 ありました。。orz 検索かけたはずなのに。。

スレ汚しすいませんでした。
移動します。
0995デフォルトの名無しさん 2007/05/19(土) 04:37:43
オブジェクト指向プログラミングの事を
標準モジュールに共通関数を大量に作る事と
勘違いしているVB6.0使いのなんと大量にいることか!!!
0996デフォルトの名無しさん2007/05/19(土) 06:43:58
標準モジュールに共通関数を作る?
0997デフォルトの名無しさん2007/05/19(土) 07:00:39
>>996
すれ違いの釣りを相手にすんな
0998デフォルトの名無しさん2007/05/19(土) 08:10:16
でも共通関数作らない?
おれはCollectionにキーがあるか調べる関数とかおいてあるが
0999デフォルトの名無しさん2007/05/19(土) 08:24:56
>>998
わかったから黙れよ
1000デフォルトの名無しさん2007/05/19(土) 08:26:29
埋め
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。