1 名前:d mailto:age [2008/03/30(日) 09:01:59 ] このスレッドはVBについて、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 VB使いが優しくコメントを返しますが、 お礼はVBの布教はしなくてよいので、初心者の救済をお願いします 前スレ くだすれVB6.0以前(超初心者向け) pc11.2ch.net/test/read.cgi/tech/1165574205/
411 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 13:25:30 ] >>405 いやおまえの方がVB知らなさ過ぎる。 .NET以後にVBはじめた情報弱者のにわかは消えろよ。
412 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:11:55 ] .NET以降にVBはじめたら情報弱者!うは
413 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:20:02 ] いやまあ、スレがスレだからね。 TPOを考えれば>>411 のように罵倒されてもまあ仕方がない面はある。
414 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:24:00 ] このスレ時々スレタイの意味が理解できてないやつが混じるんだよな。
415 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:27:20 ] >>412 これは正解。普通C#選ぶ。あえてVBを選ぶ理由がない。
416 名前:デフォルトの名無しさん [2008/12/13(土) 16:14:52 ] 405 はVB6でgoto使うのはスパゲティの始まりだから continueのためだけにgotoに逃げるんじゃねぇ!って事を 言いたかったんジャマイカ? わからんけど。
417 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 17:21:49 ] でもifのネストが深くなるよりわかりやすいんじゃね。
418 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 09:43:20 ] 日頃はVC使い。今更VB6始めたが、(VCもそうだが)仕事とかではない VB6でdllexportするっていったら、基本的にはOCX化するのみ? あと、簡潔に、通常の.objファイルをスタティックリンクする方法とかある? ついでに参加 >>415 最近、VB6で書かれたマルウェアが増えてきて、ちょっと勉強しとこうと思ったのが、 いまさらVB6やろうと思ったきっかけ どう考えてもVCで書いた方が楽なような処理を ごりごりVB6で書いてあるようで、もしかすると、難読化のつもりもあるのかもしれん あと、IDE軽かったから、遊ぶ分にはいいかなとw
419 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 10:49:40 ] 恥ずかしいにもほどがある
420 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 11:13:14 ] OCX化というよりActiveX(COM)化、EXE, DLL, OCX 形式のCOM。 ものすごい裏技でVBの関数を直接呼び出す方法もあるちゃあるが現実的ではない。 >最近、VB6で書かれたマルウェアが増えてきて VBSなどで書かれてるその手のスクリプトをそのまま流用できるからじゃないのかね。 COMの扱いは簡単だしランタイムも大概入っている。
421 名前:デフォルトの名無しさん [2008/12/17(水) 13:53:25 ] 流れぶった切って申し訳ない。 vbは余り馴染みがなく今から記述することが出来るかどうかお教え頂きたい。 VBで作成したアプリに中国語を表示したい。 OSの設定ロケールは日本語。 vb6jp.dllはインストール済み。 OSのロケールが中国の場合は上手く中国語が表示出来ました。 日本ロケールだと文字化けしてしまいます。 SetThreadLocaleを使いロケールを変更してみましたが効果ありませんでした。 SetLocaleInfoは使い方が解りませんでした…。 ロケール変更にて文字化けを直すことは可能なのでしょうか? お教え願います。
422 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:01:54 ] あきらめるか、.netにする。
423 名前:デフォルトの名無しさん [2008/12/17(水) 20:05:59 ] >>421 中国語版のVB6.0で開発すればできるよ。
424 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 20:26:15 ] 似たような質問 ttp://www.biz.kotaete-net.net/Default.aspx?pgid=14&qid=160648281686
425 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 01:44:45 ] >>422-424 回答ありがとうございます。 自分で調査したうえでそのような予感はしてましたが・・・。 特に424さんありがとうございました。 何故ダメなのか?という理由までわかったのですっきり諦められます。 別の方法で処理を回避、またはオペレーション誘導などで 問題を回避したいと思います。 皆さんありがとうございました。
426 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 12:13:42 ] VB6にての質問。 ファイル名が文字化けしているファイルを、コモンダイアログで指定して読み込みたいんだけど、 読み込んだ段階でパス名が変わってしまって、読み込みが出来ない。 解決策はありますか?
427 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:40:42 ] 文字は化けてなどいない
428 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:41:41 ] リネームしたら
429 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 12:19:15 ] >>427 一般的に文字化けと言うと思う。 >>428 リネームしたら確かに読み込めるけど、そのままいける方法が無いかなとね。
430 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 13:23:25 ] >>429 何がどう化けたと思ってるんだ?
431 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 14:19:53 ] UNICODEのファイル名を読んで化けたとか言うオチじゃあるまいな
432 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 15:07:57 ] VB6でMDBからデータを引っ張りクリスタルレポートに出力しています。 最初はクリスタルレポート8.5を使っていたのですが使いにくいので前使っていた4.7を入れなおしました。 プリンターとプレビューの出力は上手く行くのですがテキストファイルやCSVの外部ファイルにエクスポートの際に 実行時エラー20540 エクスポート DLL がないかまたは古いです。 というエラーメッセージが出ます。 散々ぐぐりましたが解決策が見つかりません。 何かコンポーネートか参照をし忘れてるのでしょうか?
433 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 16:12:02 ] OSのクリーンインストールからやり直して、やっぱりエラーが出てから文句言え
434 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 18:40:38 ] リネームできるんだからよめるだろ
435 名前:デフォルトの名無しさん [2008/12/20(土) 09:45:58 ] 根本的に変な質問かもしれませんが教えて下さい。 VBで作られたEXEはデバッグというかコードを 読むことができるんでしょうか? Visual Studio 6.0は入ってます。 正直なところ、EXEはアセンブラで読むしかない みたいなイメージがあるんですが・・・
436 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 10:16:52 ] 読めない
437 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 11:24:20 ] VB用の逆アセツールもあるけどね
438 名前:デフォルトの名無しさん [2008/12/20(土) 11:29:25 ] >>435 www.watahiki.info/vbsvp98/q_and_a/vbprog/vbdecomp.html
439 名前:デフォルトの名無しさん [2008/12/20(土) 19:20:56 ] Dynamic HTML Editing Control SDK を入手できるWebサイトは? まあ無くても、もう持ってるから別に困りませんが。
440 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 08:23:22 ] >>439 MSDN
441 名前:デフォルトの名無しさん [2008/12/24(水) 00:03:19 ] VB6.0でエクセルのAVERAGEみたいな計算できませんか? | 10| 20| |=AVERAGE(A1:C1)
442 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:11:07 ] (10+20)/2
443 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 00:13:39 ] >>441 スレタイどおりで乙
444 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 01:27:17 ] (10+20)/3だろ
445 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 08:44:14 ] C1のnullをどう扱うかだな
446 名前:441 [2008/12/24(水) 10:56:17 ] >>445 そうなんです。nullをどう処理するかなんです。 IF 文でだらだら書くのがちょっと思い書きました。 >>444 10ではなく15の答えが欲しいのです。
447 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 11:21:18 ] FlexGridか何かでやってるのかな /nのnの数を セルの値がisnumericでTrueになったらインクリメントしていくとか
448 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 12:25:59 ] >>446 次は最初からそう書こうね 後出しはじゃんけんでも嫌われるだろ?
449 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 06:44:52 ] まだいるかな >>435 Pコードだと、Pコード逆アセンブラがいる >>438 ネイティブコードなら、デバッグシンボル吐かせれば、お好きなように clでいう、/Faみたいなものは、ラベルが大幅に置き換わってしまうため、 ろくな内容にならない exeを直接逆汗したほうがまし
450 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 11:05:47 ] VB5.0のツリービューのノードのテキストは 一部分を色を変えることはできるでしょうか? 例えば hoge (100) という文字列の場合(100)だけ青にするといったことが 可能でしょうか?
451 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:49:55 ] たぶん無理。カスタムドローできないよね?
452 名前:デフォルトの名無しさん [2008/12/30(火) 20:41:11 ] vb6.0でImageListコントロールを表示するにはどうしたらいいのでしょうか?
453 名前:デフォルトの名無しさん [2008/12/30(火) 20:47:59 ] 自己解決しました
454 名前:デフォルトの名無しさん [2009/01/01(木) 00:03:49 ] あけおめ
455 名前: 【だん吉】 【1371円】 mailto:chinge [2009/01/01(木) 01:13:05 ] С Новым Годом!
456 名前:デフォルトの名無しさん mailto:age [2009/01/01(木) 03:33:22 ] 質問お願いします。 3種類の商品をi(i=1,2,3)として、 それぞれの発注プログラムを構築したいと思っています。 計算方法は同じなので、iが3になるまでのFor〜Next処理でやりたいのですが、 それぞれのパラメータ(例えば需要INVi)のiのなかに数値を代入して あらかじめ決めておいたINV1からINV3の数値を利用して作りたいと思っています。 この場合はINViのiの中に数値i=1〜3を代入してINV1〜INV3とするにはどのようなコードを書けばよいのでしょうか? また、そうしたらそれ以前に決めておいたINV1〜INV3の数値を参照できるのでしょうか? 初心者の質問で申し訳ないですが、どうかご教授お願い致します。
457 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 10:24:52 ] 何をしたいのかまったくわからん・・・ とりあえず、配列ではだめなんかい?
458 名前:デフォルトの名無しさん [2009/01/02(金) 02:54:20 ] AからBまでの和を求めるとしたらどうやってコードすればいいんですか? 大小のチェックをして場合分けしてやると思うんですけど。 教えてください。
459 名前:デフォルトの名無しさん [2009/01/02(金) 02:59:46 ] ΣA+B
460 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 02:59:54 ] そーなんですよ川崎さん
461 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 03:06:10 ] For i = A To B result += i Next
462 名前:デフォルトの名無しさん mailto:age [2009/01/02(金) 10:14:02 ] >>357 さん なるほど〜配列使ってやってみます! 説明下手ですいませんでした…ありがとうございました!
463 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:54:11 ] VB6でform1の何らかの処理中にform2で処理中って表示したいんだけど なんかいい方法ありますか? モーダルだとform1の処理が止まってしまうんで・・・
464 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:58:49 ] 止まってるように見える事なんて気にせず実行ファイル作ればいいとおもうよ
465 名前:デフォルトの名無しさん [2009/01/05(月) 23:03:29 ] DoEvent
466 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:19:37 ] もしかして別フォームをモーダルで表示しても その後の処理は続いてると? ついでに教えてもらいたいんですが モーダルで表示したフォームってshowイベントで止まるでいいですか?
467 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:24:24 ] >>463 素直にドトネトつかってマルチスレッドのコードを書く方がいい。 ってういか、だからFormのコードに処理なんか書いちゃダメなんだよそもそも。 だからVB厨って呼ばれるんだ。
468 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:26:04 ] モードレスで出せばいいだろJK
469 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:40:33 ] 処理中はform1を操作できなくしてform2のみ操作できるようにしたいのです モードレスでもいい方法があればいいのですがありますか? 質問ばかりですいません・・・
470 名前:デフォルトの名無しさん [2009/01/05(月) 23:47:05 ] vodal
471 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 23:50:59 ] Enable = False でいいだろJK
472 名前:デフォルトの名無しさん [2009/01/05(月) 23:52:28 ] form1.enabled=false
473 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:13:55 ] 一度enabledでやってみたんですがウィンドウがアクティブにならなかったので諦めてました もう一度試してみます 夜遅くに付き合ってくださってありがとうございました!
474 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:31:11 ] 操作できないウィンドウをアクティブにして何がしたいんだよ?
475 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:35:15 ] form2をアンロードして、form1のenabledをtrueにしたときです やり方がまずかったのか、もう一度試してみます
476 名前:デフォルトの名無しさん [2009/01/06(火) 10:27:29 ] 本当に申し訳ありませんが、どなたか教えてください。 '住所1の印字 P_PRINT.E_Font "FC行楷書体", ADRS_FNT, True, 0 HH = ADRS_FNT / 2.835 + 1 If Not IsNull(AdoRs![住所1]) Then For I = 1 To Len(AdoRs![住所1]) BAR = Mid$(AdoRs![住所1], I, 1) ' If BAR = "−" Then BAR = "ー" ' P_PRINT.E_String_Tate 60, 14 + (I - 1) * HH, BAR, RGB(0, 0, 0) '縦書き If BAR = "ー" Or BAR = "−" Then BAR = "|" P_PRINT.E_String 60, 14 + (I - 1) * HH, BAR, RGB(0, 0, 0) Next End If 上記はVBでのアプリケーションから封筒に宛名を印刷する。 というコードの一部なのですが、現在縦書き仕様になっており、 横書き仕様に書き換えたいのですが、一体どこをどう換えれば良いのか、 全く検討つきません。 心優しい方、ご教示いただければありがたいです。。。
477 名前:デフォルトの名無しさん [2009/01/06(火) 12:25:18 ] age
478 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 16:18:35 ] >>476 縦書きの部分がREMになってて横書きの部分が有効になってるように見えるんだけど… とりあえずこれでどうかな P_PRINT.E_Font "@FC行楷書体", ADRS_FNT, True, 0 (略) If BAR = "−" Then BAR = "ー" P_PRINT.E_String_Tate 60, 14 + (I - 1) * HH, BAR, RGB(0, 0, 0) '縦書き ' If BAR = "ー" Or BAR = "−" Then BAR = "|" ' P_PRINT.E_String 60, 14 + (I - 1) * HH, BAR, RGB(0, 0, 0) (略)
479 名前:デフォルトの名無しさん [2009/01/06(火) 17:34:42 ] >>478 回答ありがとうございます!
480 名前:デフォルトの名無しさん [2009/01/06(火) 17:41:48 ] >>478 さんは 私の神様です!まだ実行してないですが、とにかく嬉しかったので・・・ 連投すみません!
481 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 02:15:27 ] Google先生に頑張ってもらったのですが見つからないので、力をお貸しください。 VBAでListViewを作成しています。 グリッド表示で任意の行にある項目をダブルクリックした時、それが列の何番目なのかを取得したいのですが VBAでは上手く出来なくて困っています。 ヒントや方法、解説されているサイトなどがありましたら、教えていただけないでしょうか。 よろしくお願いします。
482 名前:デフォルトの名無しさん mailto:age [2009/01/07(水) 18:06:16 ] 質問です。 コードの中で計算したものを エクセルに表示したいのですが、どのようにすればいいですか?
483 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:21:45 ] VB/VBAに限らない簡単なFAQのほうだけ >>482 Excel側のドキュメント読んで、サンプル探すといい どのみち、慣れるまではExcel側のドキュメントを読み漁ることになる
484 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 10:27:19 ] >>482 chaichan.web.infoseek.co.jp/vbtips/VBMemo2006082501.htm このへんで
485 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 11:05:24 ] 低レベルの質問ですいません。クラスとか、オブジェクト、 インスタンスなどと言う用語の意味が良くわからない のですが下のような解釈でいい? Step 1 私のタコ焼き(オブジェクト:器)の用意をする Dim 私のタコ焼き(オブジェクト:器) As タコ焼き(クラス:器と具の仕様書) Step 2 私のタコ焼き(器)に具(インスタンス)を入れ焼く Set 私のタコたこ焼き(オブジェクト:器) = New タコたこ焼き(クラス:器と具の仕様書) Step 3 私のタコ焼きに仕事をさせる 私のタコ焼き(オブジェクト:具の入った器).私に食われる あと、Step 1〜Step 3 において、物理メモリー上で何が起きてん? 領域の確保とか、コピーとか、値の代入とか起きてるような気が するんですがどうなんでしょう? それと、各領域の先頭部分 にはヘッダーみたいなのが存在するはずだと思うのですが。
486 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 12:10:20 ] すいません、間違えました。 タコたこ -> タコ
487 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 18:31:21 ] クラスモジュールひとつ書いてみればいいんじゃね
488 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 19:43:19 ] >>485 知能指数が余程高い人は別として、普通の頭の人間がまず抽象的な概念を 先に完全に理解しようとするのは無理がある。 ↓辺りの文章をさらっと読んで、とにかく実際にクラスモジュールを使ってみる方がずっと理解が早い。 抽象的な概念はあとから自ずと分かってくるから。 homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/index.html
489 名前:485 mailto:sage [2009/01/08(木) 20:46:44 ] >>487 >>488 やはり、複雑なことを一足飛びに抽象的に 理解しようとするのには無理があるって事ですね。 紹介していただいたWebページを参考に一つ一つ理解して いこうと思います。感謝です。
490 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 15:50:10 ] ボタンを1回クリックで1増える処理があるとして ボタンを長く押していると連続して1が増えていくような 処理ってどうやったらできるのでしょうか? クリックイベントだといったん離さないと次のクリック イベントが発生してくれませんでした。
491 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 16:52:09 ] MouseDown, MouseUpイベント+Timerとか
492 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 17:14:07 ] >>491 やはりTimerですかorz
493 名前:デフォルトの名無しさん mailto:age [2009/01/09(金) 17:38:19 ] >>483 >>484 ありがとうございます! 早速試したのですが、最初の参照設定からうまくできず、 Excel.Applicationは宣言されていませんとエラーが出てしまいます。 VB2008なのですが…
494 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:16:58 ] >>493 スレタイ嫁
495 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 11:01:05 ] Excelとかの他のオブジェクトを使うことを何て言葉で表現したらいいのか。 「ライブラリを使う」っていうのか、「オートメーションを使う」って言えばいいのか、 そして、あれもCOMと言えるのかな。「COMを使う」って言えばいいのかな。 今は、その適切な言葉の使い方で説明できなくてもどかしいが、VB6のソースはなぜか遅延 バインディング多いみたいだな。何で事前バインディングにしないのか疑問だが。遅延でしか 対応不可能な特別な場合を除いて、原則として事前にしない意味がわからん。単に知識が無い だけなのか? 理解不能でないように補足しておくと、遅延とは、CreateObjectのことで、事前は参照設定して 専用のデータ型で宣言してNewでオブジェクトを作ることだ。
496 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 11:30:54 ] 参照設定するのが面倒くさいんじゃないの?知らんけど。
497 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 12:20:47 ] >>495 クライアント環境のOfficeがバージョン不定の場合なんかは遅延にせざるをえない
498 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 12:31:48 ] まあ理屈としては497の言うとおりなんだけど、 実際は97-2007でほとんどのメソッドは互換性があるんだけどね。 一部動かないメソッドを使うところだけ部分的に遅延バインド(といっても WorksheetとかWorkbookのインスタンスをObject型の変数にぶち込むだけだが) するように作った方が、最初から全部遅延バインドで作るより開発効率がいい。
499 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 12:37:43 ] 遅延バインドだと、動かないメソッドが使えるようになるのか?
500 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 13:22:44 ] >>499 愚問過ぎる。
501 名前:デフォルトの名無しさん [2009/01/18(日) 14:09:23 ] >>499 お前勉強しろよ・・・ インテリセンスくらいの差しかない
502 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 16:51:35 ] 開発時は参照設定してインテリセンスに助けてもらって、最後に直すとかよくやった。
503 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 13:48:59 ] この流れだといまさら聞けないんだが、くだすれだから投げてみる 事前バインドっていうのは、いうなれば、コード生成の時点で、 (たとえば、inprocserverなら)vtable呼び出しになっている。みたいなイメージでおk? んで、実行時バインドってのは、typelibみにいって呼ぶみたいな。 だから、実行時バインドなら、理論上、タイプライブラリが替えられちゃっても動く? (そんなことしょっちゅうあってほしくないけど、まあ、理論上な)
504 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 14:40:44 ] ググレカス
505 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 10:13:58 ] つれないなあw 投稿前にぐぐって、かわりに知ったのは、VBどとねと移行ツールが、 事前バインドになってない個所を指摘してくれるらしい?ってことだった どとねとは食わず嫌いだが、これはたまに使えるかもしれん
506 名前:デフォルトの名無しさん [2009/01/22(木) 19:25:24 ] VB6のソースをダウンロードして見てみたのですが、 グローバル変数とローカル変数に同じ名前をつけたり、 ループの中にDimで変数を宣言するのって普通のことですか? www.pccard.co.uk/measurement/usbwave12.php
507 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 19:38:27 ] 「シンタックスエラー」以外は普通。
508 名前:デフォルトの名無しさん mailto:sage [2009/01/22(木) 19:40:36 ] ループなどブロック内での変数宣言は禁止にしてることが多いな。 嵌ることがある。VB.NETから意味が変わったし。
509 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 00:49:38 ] オレもブロック内での宣言は絶対しない。 宣言は冒頭にまとめてする事にしている。
510 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 01:01:38 ] BASICじゃあるまいしwwww しまった、VBはBASICか
511 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 01:10:59 ] 基本的には使う直前に定義すべきだと俺は思うけどね。 「嵌る」というのはループ内の定義箇所で変数の値がデフォルト値に初期化されると (誤って)期待した場合だと思うけど、それはむしろきちんと明示的に初期化しない ことの方に問題がある。 あとVB6だと見た目ブロック内スコープに見えても実際のスコープは関数内、 っていうのも仕様としてはいやらしいけど、あまり問題にならんと思う。