くだすれVB6.0以前(超初心者向け)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/12/08(金) 19:36:45他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0159デフォルトの名無しさん
2007/03/16(金) 11:41:47前者はCやJavaなどの16進数表現による整数リテラル
後者はVBやBASICなどのそれ
0160デフォルトの名無しさん
2007/03/16(金) 11:54:39valでもrefでもanyでも宣言していいから、説明しろ。
0161デフォルトの名無しさん
2007/03/16(金) 12:00:500162デフォルトの名無しさん
2007/03/16(金) 12:03:270163デフォルトの名無しさん
2007/03/16(金) 12:08:410164デフォルトの名無しさん
2007/03/16(金) 12:19:18Shift-JISで漢字交じりの固定長レコードを読み書きするのにえらく苦労した記憶があるな。
0165デフォルトの名無しさん
2007/03/16(金) 13:01:46文字を扱うAPIはUnicode版 (W)とマルチバイト版 (A)がある。
VBが無言でコンバートするのはDeclareで宣言した関数を呼び出すとき。
String型の引数・戻り値をマルチバイト文字列へ変換してから関数を呼び、その後再びUnicode文字列へ戻している。
それもあって普通はAliasを使ってA版のAPIを使うが、String以外なら変換はされないので
たとえばこうすると直接マルチバイト文字列へ変換せずにAPIへ文字列を渡せる。
Declare Function lstrlenA Lib "kernel32" (ByVal s As String) As Long
Declare Function lstrlenW Lib "kernel32" (ByVal s As Long) As Long
Sub Test()
Dim s As String
s = "あいうえおABC"
MsgBox lstrlenA(s) & " " & lstrlenW(StrPtr(s))
End Sub
しかし、そもそもlstrlenはメモリの大きさではなく、Cの文字列の長さを返す関数。
Cだと文字列の長さとは、ヌル文字の手前までの要素数。
(VBの文字列も実はヌル文字が後ろに付いている)
上のコードでs = "あA" & Chr$(0) & "いB"などととすれば違いがわかると思う。
0166デフォルトの名無しさん
2007/03/16(金) 13:04:08APIを使ってStringの中身をByte配列を写し取ってみればわかる。
Declare Sub MoveMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Sub Test()
Dim s As String * 1
Dim b(1) As Byte
s = vbNullString
Call MoveMemory(b(0), s, 2)
MsgBox Hex$(b(0)) & " " & Hex$(b(1))
End Sub
0167デフォルトの名無しさん
2007/03/16(金) 13:16:15すまんな、Stringに付いて触れているのがこれくらいしか見付からなかった。
http://support.microsoft.com/kb/187912/en-us
MORE INFORMATIONのところをよく読め。URLのen-usをjaすれば日本語機械翻訳になる。
0168デフォルトの名無しさん
2007/03/16(金) 13:22:34イメージの前面に表示され、イメージが隠れてしまいます。
イメージのvisibleをFalse、Trueにしたりイメージを移動させると
イメージは表示されるのですが、イメージがあった箇所のピクチャーボックスに表示した部分が欠けてしまいます
イメージが隠れないようにピクチャーボックスに表示させたいのですが、どうすればいいいでしょうか
0169デフォルトの名無しさん
2007/03/16(金) 15:08:45疑問点があるので逆質問
・ピクチャーボックスの中にイメージを配置とは?
・ピクチャーボックスに何か表示させるとは?
・イメージが隠れてしまうとは、背景食が見える状態?それ以外?
日本語で状況説明が難しいなら、再現できる環境とソースコードうpして
0170デフォルトの名無しさん
2007/03/16(金) 15:47:50イメージとピクチャーボックスを別々にフォーム上に配置すると
イメージとピクチャーボックスが重なった部分でイメージがピクチャーボックスの下に隠れてしまうので
イメージを切り取ってピクチャーボックス上で貼り付けました
・ピクチャーボックスに何か表示させるとは?
今はクリックしたときに線を描画したり塗りつぶした四角を描画したりしているのですが
それでイメージが隠れてしまいます
・イメージが隠れてしまうとは、背景食が見える状態?それ以外?
描画した線などで線の部分のイメージが見えなくなるという意味です
描画した線
イメージ
ピクチャーボックスの背景
上からこういう感じです
0171デフォルトの名無しさん
2007/03/16(金) 20:50:33レベルが高すぎて逆に迷惑
このスレは円周率も四捨五入して教えるところ
0172デフォルトの名無しさん
2007/03/16(金) 20:57:45言ってる内容はわからなくてもプログラミングがなんだか楽しくなってくる効果はある、かな?w
0173デフォルトの名無しさん
2007/03/16(金) 22:10:59今度、プログラムのあるディレクトリに「tips」というディレクトリを作ってし、そこに
html文書を入れ、プログラムから呼び出したいと思っていて、そのようなインスト
ールプログラムを作成するのに試行錯誤しています。
ディストリビューション ウィザードで、プログラムと同じディレクトリに、別のディレ
クトリを作って、その中にhtml文書を納めるようなインストールプログラムはでき
るのでしょうか。
ただ単に「add」でhtml文書を加えると、ディレクトリができないし…・。
すみません。どなたか、アドバイスをお願いできますか。
0174デフォルトの名無しさん
2007/03/17(土) 01:35:59[email protected],$(AppPath)\tips,,,3/16/07 3:17:37 AM,845,0.0.0.0
のようにAppPath)の後ろにディレクトリ名を入れると出来ることがわかりました。
0175デフォルトの名無しさん
2007/03/17(土) 22:25:19'何が間違ってるのでしょうか?
Dim inet1 As New Inet
---------------------------
Microsoft Visual Basic
---------------------------
コンパイル エラー:
New キーワードの使用法が不正です。
---------------------------
OK ヘルプ
---------------------------
'VB6SP6です
0176デフォルトの名無しさん
2007/03/17(土) 22:34:15参照設定した?
0177デフォルトの名無しさん
2007/03/17(土) 22:44:31コンポーネントに追加していましたが
MSINET.OCXを参照設定するように変更したところエラーがでなくなりました
ありがとうございます
0178デフォルトの名無しさん
2007/03/18(日) 02:45:41でも、しっかりした説明のおかげで不毛な罵り愛が終了しました。
GJだと思います。
0179デフォルトの名無しさん
2007/03/18(日) 11:52:42Text1.ReadOnly = Trueとしてもうまくいきません
0180デフォルトの名無しさん
2007/03/18(日) 11:56:07つ http://pc11.2ch.net/test/read.cgi/tech/1173061176/
0182デフォルトの名無しさん
2007/03/18(日) 12:02:12・.NETにしか見えない
・「うまくいかない」ってだけ言うな
ユーザからの書き換えを不能にするのは Locked プロパティ
プログラム上から書き換えを不能にするのは、ロジックでカバー
0183デフォルトの名無しさん
2007/03/18(日) 12:10:18書き換え不能になるのを確認できました
間違えてVB.NETの資料をみていたので頓珍漢なことを言ってしまいました
0184デフォルトの名無しさん
2007/03/18(日) 22:09:57コマンドプロンプトでのプログラミングについて、
最近興味わいたのだが、いい板しってるかい?
0185デフォルトの名無しさん
2007/03/18(日) 22:29:01DOSでプログラミングはスレ違いだから要注意な。
あそこは16bitの本物のDOS用。せいぜいDOS互換ボックスまでだ。
0186デフォルトの名無しさん
2007/03/19(月) 22:23:23CreatePipeの使い方が調べてもよくわかりません。
よいサンプルがあるページありませんでしょうか?
0187デフォルトの名無しさん
2007/03/19(月) 23:36:59ざっくりと機能とかは知ってても使ったことがないや(;´∀`)
0188デフォルトの名無しさん
2007/03/20(火) 00:06:35これくらいしかひっかかってこないな
0189デフォルトの名無しさん
2007/03/20(火) 20:43:290190186
2007/03/20(火) 23:58:44なんとか思った通りに処理できました
ありがとうございました
0191デフォルトの名無しさん
2007/03/22(木) 13:33:21VB6.0なのですが、あるボタンのクリックイベントで、別のボタンのクリックイベントも
発生させたいのですが、どのようにしたら良いでしょうか?
C++BuilderのClick()メソッドみたいやつです。
よろしくおながいします。
0192デフォルトの名無しさん
2007/03/22(木) 14:29:17たとえばCommand1というボタンがあるとしたら、呼びたい箇所で
Call Command1_Click
とやればおk。
0193デフォルトの名無しさん
2007/03/22(木) 14:44:09ありがとうございます。
0194デフォルトの名無しさん
2007/03/22(木) 21:07:010195デフォルトの名無しさん
2007/03/22(木) 23:02:46プログラ素人です
目標は精密機械(ex.デジカメなど)のプログラムを
理解できるレベルになりたいです
また、プログラミングの知識も
上辺だけでなく基礎がしっかりとしたものを得たいです
PC環境はwindowsヴィスタです
どの言語から学んでいくべきですかね?
よろしくお願いします
0196デフォルトの名無しさん
2007/03/22(木) 23:04:06ごばっくです
0197デフォルトの名無しさん
2007/03/23(金) 00:18:11いやいや、ここはかっこつけて
Command1.Value = True
とやるもんですよ。
0198デフォルトの名無しさん
2007/03/23(金) 00:38:440199デフォルトの名無しさん
2007/03/23(金) 02:24:09ファイルが見つかりません。'C:\WINDOWS\system32\ieframe.dll\1'
とエラーがでるのですがどうしてですか?
0200199
2007/03/23(金) 03:51:510201デフォルトの名無しさん
2007/03/23(金) 12:41:21最大化の状態で表示させたいのですが・・
まったくもって検討がつきません。
どなたか、わかりませんか?
0202デフォルトの名無しさん
2007/03/23(金) 15:25:420203デフォルトの名無しさん
2007/03/23(金) 21:43:30マキシマーイズwwww
0204デフォルトの名無しさん
2007/03/24(土) 14:59:37プログラムを丸ごと違うフォルダに移動させ起動させたら
スタートアップが必要だとエラーがでて起動できず、
元のあった場所に移動させても同じエラーがでて起動できずフォルダの中身を見たら
FORM1だけ内容が変わっており起動できなくなっていました
FORM1の内容がかなり前の内容に変わっていたのでもしかしたら移動する際に前にバックアップに保存しておいたものの上にFORM1だけは上書きせずに他は上書きしてしまったのかもしれません
この消えてしまったFORM1をなんとか復元することはできないでしょうか?
0205デフォルトの名無しさん
2007/03/24(土) 17:33:15すでにHDDに存在しない場合復元ソフト使うくらいしか…・
というか、バージョン管理ソフト使えってwwww
VSSとかバージョン戻せたりするし
0206デフォルトの名無しさん
2007/03/24(土) 18:17:13管理ソフトとかあるんですねこれから気をつけます
0207205
2007/03/24(土) 21:44:43一か所だけじゃないけどそれで治った時もあった
バックアップとってやってみるのも手だね
0208デフォルトの名無しさん
2007/03/25(日) 21:04:57rename.vbs にmp3ファイルをドロップすると、VBSファイルと同一フォルダ
のファイル数を数えて、ドロップしたファイルの名前を変更してVBSファイルと
同一フォルダにコピーするようなスクリプトを作りたいのですが、なかなか上手くいきません。
上記スクリプトをどのようにすればよいでしょうか?
分かる方いらっしゃいましたら教えてください。
0209208
2007/03/26(月) 00:30:07解決しました。どうも失礼しました。
0210デフォルトの名無しさん
2007/03/26(月) 19:17:470211デフォルトの名無しさん
2007/03/26(月) 19:58:040212デフォルトの名無しさん
2007/03/26(月) 21:28:44今IDEから実行してるのですがどうすれば止まりますか?
ソースを失いたくないです><
0213デフォルトの名無しさん
2007/03/26(月) 21:29:490214デフォルトの名無しさん
2007/03/26(月) 21:32:55本当にありがとうございました
0215デフォルトの名無しさん
2007/03/26(月) 21:38:38おまぃ鬼だなwwww
CTRL+BREAK
これでデバッグのステップ画面になる
>>214
メッセージボックス出てる時に押せば、そのメッセージ閉じたときにステップになる
0216デフォルトの名無しさん
2007/03/26(月) 22:21:410218デフォルトの名無しさん
2007/03/26(月) 22:27:17いい事を聞いた
0219デフォルトの名無しさん
2007/03/26(月) 23:00:260220デフォルトの名無しさん
2007/03/26(月) 23:00:55みんなの役に立てて少しだけうれしいよwww
0221デフォルトの名無しさん
2007/03/26(月) 23:08:160222デフォルトの名無しさん
2007/03/26(月) 23:11:20この板は質問しにくいスレが多いから集まるんだろうな
0223デフォルトの名無しさん
2007/03/26(月) 23:14:03あんまそうは思わないが・・・
確かにエスパーは叩かれるが
0224デフォルトの名無しさん
2007/03/27(火) 09:11:16のbreakキーってのが分からんとか言ったら叩かれますか?
0225デフォルトの名無しさん
2007/03/27(火) 09:18:050226デフォルトの名無しさん
2007/03/27(火) 09:46:23キーの右上あたり捜してみ?
プリントスクリーン付近にあるから
PasusetかBreakとか書いてるぞ
0227デフォルトの名無しさん
2007/03/27(火) 11:31:00こんなキー使わんからパソコン歴結構あるのに分からんかたヨ…
0228デフォルトの名無しさん
2007/03/27(火) 16:57:28Windows Media Playerをフォームに貼り付けたのですがどうやって指定したファイルを開き動画を再生させるかわかりません。
宜しくお願い致します。
0229デフォルトの名無しさん
2007/03/27(火) 17:32:47使ったことないけど確かSDK公開されてるんじゃなかったけ?
マイクロソフトのMSDNかどっかに
0230デフォルトの名無しさん
2007/03/27(火) 18:00:410231デフォルトの名無しさん
2007/04/12(木) 23:56:29x + y =
はできるんですが
x + y + z =
(x + y) + x
みたいな感じでかけばいいんですか?
イメージはなんとなくわかるんですが説明お願いします
くだらない質問ですいません
VB6.0です
0232デフォルトの名無しさん
2007/04/13(金) 00:15:170233デフォルトの名無しさん
2007/04/13(金) 03:03:33ttp://penhagi.com/access/tips/50_dentaku2.htm
0234デフォルトの名無しさん
2007/04/13(金) 20:48:18全くの初心者で何も分かりません。
初心者向けのヒントください。お願いします。
0235デフォルトの名無しさん
2007/04/13(金) 20:59:42歩ける状態で5k円くらいあるなら本屋へ直行
それか教官に聞く
0236デフォルトの名無しさん
2007/04/15(日) 03:03:56これとか参考になるよ。
http://www.mitene.or.jp/~sugisita/vb6_grph.html
0237デフォルトの名無しさん
2007/04/16(月) 16:35:09VB6.0なのですが、
Formのどのコンポーネントにフォーカスがあったとしても、ただ一箇所に
あるキーダウンイベントを取得することできるでしょうか?
どのコンポーネントにフォーカスがあっても
CTRL+Zのイベントを拾いたいのです。
0238デフォルトの名無しさん
2007/04/16(月) 17:00:23隠しメニューつくったら どうだろう 誤ってctrl+Vにショートカット割振ってしまったことがある
Zも元に戻すがデフォだよね
0239237
2007/04/16(月) 17:09:36メインフォームにKeyPreviewというプロパティがあり、これをtrueにすると
メインフォームのKeyDownでイベントを拾うことができました。
次に、というわけではないのですが、
もし知っていたら教えてほしいのですが、
同様にMouseDownイベントを拾うことはできるでしょうか?
0240デフォルトの名無しさん
2007/04/16(月) 17:12:47やった事ないけど全てのコントロールのイベントに一個そういう処理用のプロシージャ呼ぶようにするとか?
流石にコントロールは出来ないんじゃないかな・・・と VB素人な折れが言ってみる
0241237
2007/04/16(月) 17:22:42ありがとうございます。
コンポーネント全部にイベントを追加するのは厳しいフォーム設計になって
います…。また、今後、私以外が保守するときに余計な特殊仕様みたいにな
ってしまいそうな気もします。
VB素人が保守してる現状がそもそもどうかと思いますが…。
シンプルになる方法を模索したいと思います。
0242240
2007/04/16(月) 17:23:340243デフォルトの名無しさん
2007/04/16(月) 17:36:080244デフォルトの名無しさん
2007/04/16(月) 18:02:45Xpの調子が悪くなって、Vistaは購入することが決まっているので、
乗り換えようかと思って…。
0245デフォルトの名無しさん
2007/04/17(火) 10:09:14一つクラスを作成し、コントロールの型別にWithEventsで定義させて
そのクラス内でイベントの処理をするとかは、どうでしょうか。
クラスでの宣言はコントロール数分ではなく、使用している型数分で済みます。
0246デフォルトの名無しさん
2007/04/17(火) 10:23:230247デフォルトの名無しさん
2007/04/17(火) 10:29:36型指定されたやつ
$ だと明示的に文字列という宣言
詳しくはMSDNで見て
型宣言文字とかで出てきたと思う
あと、それをつける理由は例えばStringとかMSDNで調べてみて
実際にStringがどういう風になっているかがわかるから
説明ヘタでスマン
0248241
2007/04/17(火) 10:30:53ありがとうございます。
でも私のスキルが…orz
その文章の単語をキーワードにして調べながらやってみたいと思います。
また質問するかも知れませんがそのときはよろしくお願いします…。
0249デフォルトの名無しさん
2007/04/17(火) 10:33:00今、手元にMSDNがない環境でしたので
質問させていただきました
でも、なんとなくわかりました
ありがとうございました^^
0250デフォルトの名無しさん
2007/04/19(木) 18:35:55Private Sub Form_Deactivate()
MsgBox "hoge"
End Sub
や
Private Sub Form_LostFocus()
MsgBox "hoge"
End Sub
ってやっても、hogeが出てくれないですし、アプリケーションの終了の仕方もわかりません。
どうか教えてください。VB6.0です。
0251250
2007/04/19(木) 19:06:14Unload Me
でした。
これをウインドウが非アクティブになったときに実行したいのですが、
Private Sub Form_Deactivate()
Unload Me
End Sub
で、うまくいきません。
0252デフォルトの名無しさん
2007/04/19(木) 19:10:04そのタイミングでLostFocusイベントが発生するが。
それとは違うの?
0253デフォルトの名無しさん
2007/04/19(木) 19:21:31フォームは一つなんです。単体で。
0254デフォルトの名無しさん
2007/04/19(木) 19:26:34それともボタンコントロールも知らんのか?
0255デフォルトの名無しさん
2007/04/19(木) 19:30:180256デフォルトの名無しさん
2007/04/19(木) 19:31:01終了させるには、他のアプリがアクティブになったときや、自作アプリが非アクティブになったときに自動で終了してくれないと
面倒なので。
ツールチップみたいなものです。
0257デフォルトの名無しさん
2007/04/19(木) 19:44:300258デフォルトの名無しさん
2007/04/19(木) 19:50:071.プログラムが起動したらAPIで現在アクティブなウィンドウハンドルを取得
2.で、そのアクティブなウィンドウハンドルを保持して
そのフォームの中の処理でWindowsで現在アクティブなウィンドウを常にチェック
3.比較して起動時と異なっていたらアンロード
2はフック使ったほうがスマートかもしれんが
なんとなくこんなの思いついてみたというのをかいてみた
■ このスレッドは過去ログ倉庫に格納されています