トップページ⇒tech
988コメント350KB

くだすれVB6.0以前(超初心者向け)

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2006/12/08(金) 19:36:45
このスレッドはVBについて、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0809デフォルトの名無しさん2008/01/17(木) 14:25:21
>>808
ActiveReports はサードパーティーのOCXだからスレ違い。
VBで業務してるような人の一部にしか分からんだろうし、ここに居るとも限らない。
つか、ActiveReportsのヘルプ開いて”改ページ”とかで検索すればいいと思うが・・・
0810デフォルトの名無しさん2008/01/19(土) 18:01:10
breakじゃなくてcontinueしたい場合
Exitじゃなくて何て書いたらいいの?
0811デフォルトの名無しさん2008/01/19(土) 18:34:50
残念ながらcontinueに相当するものはありません。
0812デフォルトの名無しさん2008/01/19(土) 19:44:49
>>811の通りなので
伝統的なgotoか,アルゴリズムを変えてください
0813デフォルトの名無しさん2008/01/20(日) 17:15:57
forならdo
doならfor
ネストしてexit do/exit for
0814デフォルトの名無しさん2008/01/20(日) 20:39:59
実際コード書いて日を置いて見直してみれば分かるけど、
>>813みたいないらん技巧を凝らすより素直にループのケツに
ContinueFor:
みたいなラベルを置いてgotoした方がずっと分かりやすいよ
0815デフォルトの名無しさん2008/01/21(月) 01:58:29
コメント書け
0816デフォルトの名無しさん2008/01/21(月) 18:44:03
>808
ヘルプとかサンプルのフォルダに、そのものズバリなソース例があったはずだよ。
今手元に無いので確認できなくてすまん
0817デフォルトの名無しさん2008/01/27(日) 02:25:45
プロの世界では、vb6でアドレスって、良く使うのでしょうか?
0818デフォルトの名無しさん2008/01/27(日) 11:43:00
アマの世界なら,VB6の庇護の元でCライクなライブラリを使うときによく使うな
0819デフォルトの名無しさん2008/01/27(日) 14:46:15
VB6.0とVB.NET両方についての質問です。

メモリの解放(変数 = Nothing ?)って必要ですか?
.NETではガベージコレクションがついているみたいですが、
それ以前のVBについては記述を見つけられませんでした。
0820デフォルトの名無しさん2008/01/27(日) 15:02:01
>>819
Excelなどのオブジェクトを作るときはNothingをしないと不具合もあった気がするが、変数などはいらない
気になるならつけとけって程度だ
0821デフォルトの名無しさん2008/01/27(日) 15:06:03
>>819
VB6
関数やサブルーチン内のローカル変数には不要。途中で早期に片付けたいなら使用する。
共通モジュールのPublic Privateな変数には必要。
クラスのPublic Privateなメンバーはオブジェクトと同じ期間存在していいなら不要。早期に片付けたいなら使用する。
FormのPublic Privateなメンバーはクラスと同じ考え方でいいが若干制限がある。長くなるので割愛。
いづれの場合もアプリケーションと同じ期間存在していいなら不要。
それにもかかわらずEnd命令で終了する場合、アウトプロセスサーバータイプのActiveXオブジェクトには必要になる。

0822デフォルトの名無しさん2008/01/27(日) 15:11:18
VB.NETの場合は
>それにもかかわらずEnd命令で終了する場合、アウトプロセスサーバータイプのActiveXオブジェクトには必要になる。
END命令でもActiveXオブジェクトの終了処理は実行されるようになった。
またActiveXオブジェクトを早期に回収したい場合はSet NotingではなくMarshal.ReleaseComObjectを使う。
0823デフォルトの名無しさん2008/01/27(日) 20:19:20
すみません、ここで質問して良いのか分かりませんが、、
VB6で作ったプログラムをインストールする際の質問です

インターフェイス社のシリアル通信のPCIカードで使える
ActiveX(MSCOMM32.OCXを間接参照してRS-422、RS-485通信するActiveX)をプログラムの中で使用し
そのプログラムを他のPCへVBのインストーラーでインストールし、起動しようとすると
「Generation of MSCOMM32.OCX」とメッセージが出て起動出来ないのですが
これはMSCOMM32.OCXのバージョンが違うということでしょうか?
インストールしたPCとプログラムに使用したPCのSystem32に入っているMSCOMM32.OCXのバージョンを確認しても一緒なのですが・・

サポートに聞いたところ、MSCOMM32.OCXのレジストリ登録が上手くいっていないのでは?と、ご回答を頂いたのですが、
間接参照する場合は手動でレジストリ登録が必要なのでしょうか?

何か、ご助言を頂けましたら幸いです。
0824デフォルトの名無しさん2008/01/27(日) 20:30:02
インストーラはどうしてるの?
というか、OCX/COMなオブジェクトは、誰かが使用する前に
常にレジストリ登録が要るわけで。コピーだけとかでは動かないよ。
08258232008/01/27(日) 21:20:02
回答ありがとうございます
インストーラーはVBについているインストーラー、VSInstalerを試しましたが、駄目でした
また、インストーラーのマージモジュールをいじったりしてみたのですが、同様にうまくいきませんでした。

間接参照しているインターフェイス社のActiveXをプログラムから外して
インストールすると問題なく起動できるのですが、、、、
間接参照しているActiveXをインストールする際には特別な作業が必要なのかと思い質問させていただきました。
0826デフォルトの名無しさん2008/01/27(日) 23:15:29
SP6版のMSCOMM32のマージモジュール使ってもダメだったわけ?
08278232008/01/28(月) 00:31:09
>>826
SP6を適用したVB6で作っております。

追記させていただきます
インストールシールドの体験版でインストーラーを作り試したましたが
同様でした。
0828デフォルトの名無しさん2008/01/28(月) 00:35:42
regsvr32手で叩いてもダメなら、またサポに電話するしかないね
0829デフォルトの名無しさん2008/01/28(月) 09:51:52
プロシージャやメソッドで戻り値を使わない時(?)に括弧をつけるとエラーとかよくわからない
括弧をつけないで書くとぱっと見たときに関数やメソッドって分かりにくいし
ググるとCallをつけると分かりやすいとか見るけど全部括弧でいいじゃんね?(´・ω・`)とか思えないし
Callの使い道とかCallと括弧の使い分けの関係とかそんなもんなんですかね?
仕様ってやつですか?激しく混乱してくるんですけど…。うーん
0830デフォルトの名無しさん2008/01/28(月) 10:49:39
>>829
俺も、意図を汲み取って読もうとすると、激しく混乱してくるんですけど…。

じゃあエラーが出ないように使え。好きにしろ。 ・・・としか。
0831デフォルトの名無しさん2008/01/28(月) 12:15:03
たぶんおいらの文章がわかりにくいといわれてるんだと思うけどおいらも書いててわけわからんくなったよ(´・ω・`)

ttp://jeanne.wankuma.com/tips/rule/vb6call.html
戻り値を利用しようがしまいが
hForm1.Show()
とか
hForm1.Show(vbModal, Me)
だけでいいじゃんね?(´・ω・`)
なんでMS様はこれらをわざわざエラーにすんの?(´・ω・`)って疑問に思ったってとこです
0832デフォルトの名無しさん2008/01/28(月) 14:33:25
>>831
BASICなステートメントと合致しないから.

いつも使っている 代入 は本来
Let X = Y
のLetを省略した形だから,「式」のみから構成されるステートメントはそもそも存在しない
0833デフォルトの名無しさん2008/01/28(月) 16:41:21
サブルーチンと関数の違いがわからんの?
0834デフォルトの名無しさん2008/01/28(月) 17:59:20
>>829
戻り値を得るときには括弧付ける。
戻り値を得ないときには括弧付けない。ただし、Callを使えば括弧を付けた記法が可能。

正確ではないけど、普段はこう思っている俺。
0835デフォルトの名無しさん2008/01/28(月) 19:25:06
VB6で指定したフォルダの中身を
サブフォルダも含めて、まるごと
他のフォルダに保存するのはどうすればいいのでしょうか?
FileCopyではファイルしかできなくて・・・
0836デフォルトの名無しさん2008/01/28(月) 19:27:25
>>829
C++でCOMオブジェクトを書けばVBの言語仕様が理解できるよ。
0837デフォルトの名無しさん2008/01/28(月) 19:28:11
xcopyでも駆動すれば。
08388352008/01/28(月) 19:41:29
失礼、
事故解決しますた
ttp://jeanne.wankuma.com/tips/directory/copy.html
08398232008/01/28(月) 21:32:14
遅れましたが、回答していただいた方有難うございました。
試してみます。
0840デフォルトの名無しさん2008/01/28(月) 22:30:23
WIN98で無料のVB開発環境って可能でしょうか?
就職先にVBやれって言われたんですが、コンパイルさえできません・・・・
08418402008/01/28(月) 23:54:16
嘘でもいいから可能だと言ってください
0842デフォルトの名無しさん2008/01/29(火) 00:03:55
 VBで文字列を1文字ずつ処理するにはどうしたらいいのでしょう。
 製品名(すべて半角)の末尾の半角数字でソートする必要があるのですが末尾の
数字の長さは固定ではありません。これをカウントする方法がわかればright$など
で処理できると思うのですが。
 Delphiでのコードは以下のような感じです。
//末尾の半角数字+ハイフンを得る VPX26AP766-4 ⇒ 766-4
function GetEndNumStr(S :string) :string;
var
 i,j,k: Integer;
 S2 : string;
begin
 if S = '' then Exit;
 i := 0;
 j := Length(S);
 if S[j-1] = #13 then Dec(j,2); //改行コードを飛ばす
 k := j;
 while S[j] in ['0'..'9' ,'-'] do //末尾の半角数字+ハイフンの長さを得る
 begin
  Inc(i); Dec(j);
 end;
 if i > 0 then
 begin
  j := k;      //元の値に戻す
  SetLength(S2,i); //    12345 ・・・ i
  repeat      //VPX26AP766-4
   S2[i] := S[j]; //123456789012 ・・・ j
   dec(i); dec(j);
  until i < 1;
 end;
 Result := S2;
end;
0843デフォルトの名無しさん2008/01/29(火) 00:15:15
>>842
ロジックが分かってるなら、あとは、ひとつひとつVBの文法に置き換えていくだけじゃん。
いったいどこがワカランの?
VBの入門書くらい読んだ?
0844デフォルトの名無しさん2008/01/29(火) 00:22:53
VB6環境ないから適当に.

Function GetEndNumStr(ByVal S As String) As String
    Dim i As Long
    S=Replace$(S, vbCrLf, "")
    For i=Len(S) To 1 Step -1
        If Not (Mid$(S, i, 1) Like "[0-9,-]") Then
            GetEndNumStr=Mid$(S, i+1)
            Exit Function
        End If
    Next
    '終端まで走査して見つからない場合は例外?
End Function
0845デフォルトの名無しさん2008/01/29(火) 01:02:01
>>840
オークションとかで手に入れるとか、
無料ではないけど、Officeに付属のVBAとか、
今では入手困難だけどかつて無料配布だったVB5 Control Creation Edtionとか。
0846デフォルトの名無しさん2008/01/29(火) 17:17:07
Win98使わせるような会社は辞退したほうが今後のためだと思うのは俺だけか?
0847デフォルトの名無しさん2008/01/29(火) 23:28:13
いや、普通。ソフト屋で開発環境にWin9xとかありえない。
0848デフォルトの名無しさん2008/01/29(火) 23:32:38
古い環境のソフトのメンテとかならあり得るけど。
0849デフォルトの名無しさん2008/01/29(火) 23:33:38
視野が狭いんね、キミ。
PC−9801でCバスに特殊な機械制御のハードが差し込んであって
ドライバがWin98でなきゃ動かん。
しかもつくった会社が倒産してて代替がきかん・・・とかだったら
ありえるだろ。
0850デフォルトの名無しさん2008/01/29(火) 23:48:26
それならハード込みで新規で作るだろ。Cバスの時代のものなんて耐用年数心配だし。
もしソースも無くて完全なブラックボックスだったら、そんな仕事は受けないし。
08518472008/01/29(火) 23:49:28
>847 >848
どうみてもそんなケースの話じゃないと思うが?
0852デフォルトの名無しさん2008/01/30(水) 00:00:00
裕福なソフト屋ばっかじゃないんだから、多少無理のある仕事でも取るって
スタンスの会社も決して珍しくはない
営業が強いとこなら、そうでなくても見境ない場合もある

でもって、本筋は「これから就職する会社からVBやれと言われて、
自宅のWin98でできるものか」・・・って話じゃないの?


このくらい推察できない方が、ソフト屋としてありえないと思
0853デフォルトの名無しさん2008/01/30(水) 00:08:00
勝手な推測するのがソフト屋か?
氏ねよ
0854デフォルトの名無しさん2008/01/30(水) 00:10:05
普通はそういう風に読めると思うが
0855デフォルトの名無しさん2008/01/30(水) 00:16:16
勝手な推測するのがソフト屋か?
氏ねよ
0856デフォルトの名無しさん2008/01/30(水) 00:19:05
一番たちの悪い奴だよな。勝手に自分で思い込んで作る奴。
うちにもいるよ。
0857デフォルトの名無しさん2008/01/30(水) 00:19:33
あーもう、鬱陶しいな、アホは。 一生言われたとおりに働いてろよと。
0858デフォルトの名無しさん2008/01/30(水) 00:21:04
VB6のお薦め書籍

○入門書
  とてもわかりやすく実用的な本
  ・Visual BasicユーザーのためのWindowsプログラミング入門(日経BP社)

○アルゴリズム
 基礎的なアルゴリズムを身につけることができる。
 ・Visual Basicによるはじめてのアルゴリズム入門 (技術評論社)


○中・上級者向け
 簡単なことから深いことまで、わかりやすく説明さされて知りたい事がすぐわかる。。
 他のVBの本には書かれていないことも説明されている。
 ・ピーターノートンの手解きVisual Basic6 Vol.1(カットシステム)
 ・ピーターノートンの手解きVisua lBasic6 Vol.2 (カットシステム)

この順番で勉強していけばかなりのスキルが身につきます。
特にピーターノートンの手解きVisual Basic6 はOfficeやOutlookとの連携も解説してあり
お薦め!
0859デフォルトの名無しさん2008/01/30(水) 00:24:29
言われたとおりって発想する馬鹿ってなんなの?
勝手に推測するなという話なのに
マジで氏ね
0860デフォルトの名無しさん2008/01/30(水) 00:33:11
デスマの様相を示してまいりました
0861デフォルトの名無しさん2008/01/30(水) 01:29:16
推測と言うか、日本語の話だな。 ・・・と思った俺も噛み付かれますか、そうですか。
0862デフォルトの名無しさん2008/01/30(水) 17:34:11
>858
VisualBasic初級プログラミング入門(技術評論社)
もいれとくれ。とりあえず上巻だけでも。
0863デフォルトの名無しさん2008/01/31(木) 20:13:00
まだ、VB6プログラマーっているんだろうか・・
と不安に思うVB6プログラマーの私です
0864デフォルトの名無しさん2008/01/31(木) 20:30:49
VBしかできない奴はさすがにもういないだろうな
0865デフォルトの名無しさん2008/01/31(木) 20:51:15
まだメンテはあるよ
0866デフォルトの名無しさん2008/01/31(木) 22:13:34
仕事で書いてるけどVBしかできません
最近やっとVB2005勉強し始めた
0867デフォルトの名無しさん2008/01/31(木) 22:21:19
2008が出たのにどうして今更2005はじめるんだ?頭おかしいの?
0868デフォルトの名無しさん2008/01/31(木) 23:02:24
>>867
まあまあ、そうイライラしないで
0869デフォルトの名無しさん2008/01/31(木) 23:10:33
せめてC#にすればいいのにね
MSですら無かったことにしたがってるVB.NETを勉強するなんて
0870デフォルトの名無しさん2008/02/01(金) 00:14:52
.netはいまいち感だしJavaもなんだかなぁという雰囲気なので
ここはひとつデルファイで。
0871デフォルトの名無しさん2008/02/01(金) 00:22:00
.NETいちいち、たとえばネットワークの叩き方とかがムカつく。
0872デフォルトの名無しさん2008/02/01(金) 01:15:32
じゃあずっと6でもやってろよ
0873デフォルトの名無しさん2008/02/01(金) 07:40:41
>>872
まあまあ、そうイライラしないで
0874デフォルトの名無しさん2008/02/09(土) 05:33:26
VBは長島茂雄であるといえよう。
0875デフォルトの名無しさん2008/02/09(土) 16:09:33
>>874
kwsk
0876デフォルトの名無しさん2008/02/09(土) 16:30:20
VBは永遠に仏滅ですってやつか
0877デフォルトの名無しさん2008/02/09(土) 18:18:16
息子がボンクラって所じゃねーの?
0878デフォルトの名無しさん2008/02/10(日) 12:34:55
宇野功芳は長島茂雄であるといえよう。
0879デフォルトの名無しさん2008/02/12(火) 00:05:45
VB6.0で可変長のテキストデータをOPENして"C"と"R"の間に囲まれた文字を
変数に格納していきたいのですがどうすればいいですか?
0880デフォルトの名無しさん2008/02/12(火) 00:58:34
すみません、VB5CCEを使いたいのですが、マイクロソフトの
ダウンロードのページで検索しても見つけることができません。
どなたかどこか入手可能なところを教えていただけないでしょうか。
0881デフォルトの名無しさん2008/02/12(火) 01:51:24
VB5CCEIN.EXE でググれ
0882デフォルトの名無しさん2008/02/12(火) 22:16:15
>>881
おかげさまで見つけることができました。ありがとうございました。ぺこり
0883デフォルトの名無しさん2008/02/12(火) 23:16:41
>>882
で、次の質問はEXEの作り方か?
0884デフォルトの名無しさん2008/02/14(木) 00:30:48
ttp://headlines.yahoo.co.jp/hl?a=20080213-00000009-cnet-sci
によると、今回のMSパッチの中にVB6に影響するものが含まれているとのことですが、
具体的にどのパッチのことなんでしょうか?
KB943055でしょうか?
0885デフォルトの名無しさん2008/02/14(木) 00:40:47
こっちみたらVB6に影響するのはMS08-008だ、ってかいてあるし。
http://headlines.yahoo.co.jp/hl?a=20080213-00000033-imp-sci

http://www.microsoft.com/japan/technet/security/Bulletin/MS08-008.mspx
KB946235 oleaut32.dllセキュリティ更新
08868842008/02/14(木) 01:17:54
むー、うちはKB946235出てこないですね・・・(´・ω・`)
0887デフォルトの名無しさん2008/02/14(木) 08:19:16
うちもKB943055だけでKB946235来なかった
0888デフォルトの名無しさん2008/02/15(金) 01:51:16
KB946235はVB開発者が配布のときに使うべきDLL?
0889デフォルトの名無しさん2008/02/17(日) 02:17:44
自分もKB943055しか出ない。
KB946235も入れちゃっていいのかな・・・

>>879
たとえば具体的にどういうテキストデータ?
0890デフォルトの名無しさん2008/02/17(日) 17:26:39
VB6.0でノベルゲームみたいに文字を一文字ずつ表示させることは出来ますか?
0891デフォルトの名無しさん2008/02/17(日) 18:07:39
なぜいまどきVB6?
0892デフォルトの名無しさん2008/02/17(日) 18:12:56
>890
君はなんとかツクールでも使ってろってこった
0893デフォルトの名無しさん2008/02/17(日) 19:43:45
>>891
部活でゲーム作ってるんですが、金がないので…
>>892
ツクール買うくらいならフリーでその分野に特化したのを使います
というか、もうダウンロードしてます
0894デフォルトの名無しさん2008/02/17(日) 19:52:39
今からVB6なんて時間の無駄だ
C#でもやれよ、タダだし
0895デフォルトの名無しさん2008/02/17(日) 22:05:31
金がないを言い訳にするのは、世間を知らなさすぎる。
今や、どこもかしこも、Microsoftすら、
開発ツールを無料で公開している時代。
0896デフォルトの名無しさん2008/02/17(日) 22:33:27
>>894
何世代か前まではCもやっていたようですが…
一つだけ無駄でない事例を挙げるなら、情報の授業が楽になることです

>>895
それはわかっています
自分も一番最初に触れたは言語はVBではありませんでした
しかし、あくまでも部活なのです
時間が無限にあるわけではありません
さらに言えばほぼ全員が掛け持ちしています
この状態で知識の全くない世界へ足を踏み入れるのは自殺行為です
もし貴方の言う「開発ツール」が言語ではなく「ゲーム制作ツール」なら、始めから眼中にないことをお伝えしておきます
ゲームを作るのは結果であり、目的ではありません
0897デフォルトの名無しさん2008/02/17(日) 22:42:58
目的じゃないなら新しい言語に挑戦したらいいじゃんと思うが。
まあ、最初のうちは VB6 でそのうち別の言語を・・・ってんならいいと思うけど。
0898デフォルトの名無しさん2008/02/17(日) 23:30:42
>>896
かなり揚げ足とるけど
> この状態で知識の全くない世界へ足を踏み入れるのは自殺行為
# VB6.0でノベルゲームみたいに文字を一文字ずつ表示させることは出来ますか?
この二つは矛盾してる希ガス
0899デフォルトの名無しさん2008/02/17(日) 23:33:40
VB.netで何の不満があるの?ってのが一致した意見だわな。どうせその程度の知識なら変わらんよ。
0900デフォルトの名無しさん2008/02/18(月) 00:57:20
こんな釣りに付き合うなんておまえら相変わらず優しいのな。
0901デフォルトの名無しさん2008/02/18(月) 09:47:16
超初心者向けってスレタイなんだから ・・・
オレなら
>VB6.0でノベルゲームみたいに文字を一文字ずつ表示させることは出来ますか?
は可能だと思う ノベルゲームっていうのがどんなのか知らんけど

0902デフォルトの名無しさん2008/02/18(月) 13:45:47
>>894
スレタイ嫁w
>>896
その質問じゃ、どう答えれば良いのかわからんのよ
一つ言えるのは、一般的なADVみたいなものならVB6でも十分作れる
でもそのためには、GDIの知識か、DirectXの知識が必須なんだがその準備は出来ているだろうか?
0903デフォルトの名無しさん2008/02/18(月) 18:45:28
たしかここ、本スレでいじめられた奴が逆切れで立てたスレだったな
スレタイに「オレに優しくかまってくれ」な雰囲気がただよってる
0904デフォルトの名無しさん2008/02/28(木) 09:53:33
MicrosoftR Visual BasicR Version 4.0
アップデート キット 2 (97/03/07版) for VB4 Standard Edition
を探しています。
どなたかダウンロード先を教えて下さい。
0905デフォルトの名無しさん2008/02/29(金) 01:56:04
ListViewコントロールのSubItemのForecolorを変えても、書き換えたタイミングで文字色が変わりません。
SendMessageでWM_NCPAINTを送ってみても変わりません。
仕方がないので今はForeColorを変えた後に、SubItem(1) = SubItem(1) と設定しなおせば変わるのですが、これって間違った対処方法ですよね?
どうすればForeColorを変えた瞬間に色が変わるのでしょうか?
0906デフォルトの名無しさん2008/02/29(金) 01:56:32
>仕方がないので今はForeColorを変えた後に、
ここは無視して読んでください・・・
0907デフォルトの名無しさん2008/02/29(金) 11:23:09
refreshとかないの?
0908デフォルトの名無しさん2008/02/29(金) 12:40:10
VB6なんて使ってる奴いるの?っていうやつは趣味でやってる奴だな。
レス数が900を超えています。1000を超えると表示できなくなるよ。