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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドはVBについて、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
2デフォルトの名無しさん:2006/12/08(金) 19:53:51
2げと☆
3デフォルトの名無しさん:2006/12/08(金) 19:56:47


 ここは重複スレです
 http://pc8.2ch.net/test/read.cgi/tech/1161517193/
 ↑のスレに移動して下さい

4デフォルトの名無しさん:2006/12/08(金) 21:18:09
>>ttp://pc8.2ch.net/test/read.cgi/tech/1161517193/548

ElseIf以降の内容が

 ログ左右桁揃え = " " & b

と全部同じなんだけど、誤記?それとも、仕様?

>>ttp://pc8.2ch.net/test/read.cgi/tech/1161517193/546

Dim Fso As Object
Dim FsoTS As Object

  Set Fso = CreateObject("Scripting.FileSystemObject")
  Set FsoTS = Fso.CreateTextFile(App.Path & "\" & Text1.Text, True)
  FsoTS.Close
  Set FsoTS = Nothing
  Set Fso = Nothing
5デフォルトの名無しさん:2006/12/11(月) 13:06:38
Shell.Windows()でIEを一覧できるように、Excel.Applicationを一覧できません?
GetObject()だと最初のものしか取れない。
6デフォルトの名無しさん:2006/12/11(月) 14:55:02
>>5

最初のオブジェクトを取得後、やりたい事を終えて終了させた
後にもう一度GetObjectやるとかしかおもいつかないなぁ。

それじゃぁだめなの?
7酔いちくれ ◆J0rwikii8c :2006/12/11(月) 23:42:40
>5
複数起動の場合は、難しいね。

普通にはできないと思う。
8デフォルトの名無しさん:2006/12/12(火) 00:48:27
なんつーか、あれだな、馬鹿なふりをしているつもりの本物の馬鹿、
キチガイのふりをしているつもりの本物のキチガイが必ず自分を隔離するような
スレを自分で立てるのは法則か何かだろうか?w

そして程なく、スレが思っているほど繁盛しないことに気づいて放棄することになるんだなw
9デフォルトの名無しさん:2006/12/12(火) 01:17:05
こういう無価値な書き込みをするのは法則か何かだろうか?
105:2006/12/12(火) 02:42:47
KB190985を見つけましたが、ちんぷんかんぷんです。
見よう見まねで、出来るかも、と、やってみましたが、
手順
1.OffCntrDisp という名前で新しい MFC ActiveX ControlWizard アプリケーションを作成します。
2.以下のメンバ変数を COleControl 派生クラスに追加します。
のステップ2で早、躓きました。追加先のCOleControl 派生クラスはどこ?

これをVBに焼き直したり、もっと簡単にできません?
11酔いちくれ ◆J0rwikii8c :2006/12/12(火) 09:46:45
>>5
MFCというか、C++じゃん。

OffCntrDispCtl.hというヘッダファイルに

class COffCntrDispCtrl : public COleControl

として宣言してあるけど、COMのような実装をVBでやるのは絶対無理。

VBとエクセルで何がしたいのか、教えてくれたほうが解決案が模索できそう。

>>8
オレはお前の事嫌いじゃないぜ?
12デフォルトの名無しさん:2006/12/12(火) 23:17:22
つ WM_GETOBJECT
135:2006/12/14(木) 09:40:40
>>11
なんとかコンパイルできました。ありがと。
やりたいことは、最初に言ったように、
|Shell.Windows()でIEを一覧できるように、Excel.Applicationを一覧できません?
なんです。

>>12
調べてみましたが、関係がよく分りません。
14デフォルトの名無しさん:2006/12/21(木) 20:35:06
ADODB.Recordset型しか返していないのに
クライアントで予期せぬエラー (0x8003001e)
が発生してしまいます。どのような原因が考えられますでしょうか?

http://support.microsoft.com/kb/198381/ja
15酔いちくれ ◆J0rwikii8c :2006/12/21(木) 20:44:14
うぅ。もう酔うたよぅ。

oracleならブロブ型のデータとかじゃまいか?
1614:2006/12/22(金) 08:53:01
http://support.microsoft.com/kb/166277/ja
ここのサンプルのまねをしたらOKでした。

あとADOで例外エラー時にrollbackしたいのですが
トランザクションが開始されているかどうかの
ステータスはどこを見ればよいでしょうか?
17酔いちくれ ◆J0rwikii8c :2006/12/22(金) 10:02:44
>>16
新しいADOならあるかもしれないけど、しらない。

MSのサンプル資料なんかでもよく見かけるけど、単純にトランザクションを
はるタイミングで変数にフラグをセットしてる。

自分でDBクラスつくって、IsTransとか内部にプロパティを作ってはどうか。
Begin時にTrueでCommit、Rollback時にFalseで。
1814:2006/12/23(土) 08:50:56
>>17
とりあえずロールバックしておくことにします。
ありがとうございました。
19デフォルトの名無しさん:2006/12/24(日) 12:09:26
VB6.0で開発をしているんですが、コンパイルというのは
【メニューバー】 → 【デバック】 → 【コンパイル】という順でOK
なのですか?何か一瞬なので本当にコンパイルされたかどうか分からないので。
コンパイルをすると、***.vbr?とかいうファイルは更新されるのですが、
***.exeは更新時間が変わりません。exeも更新するにはどうしたら良いのでしょうか?
20デフォルトの名無しさん:2006/12/24(日) 14:43:11
>>19
【メニューバー】→【ファイル】→【〜.exeの作成】

VBはVCみたいに警告とかないし、リンクもないし、すぐにコンパイル終わる。
21デフォルトの名無しさん:2006/12/24(日) 15:41:15
>>20
リンクはある

みたいな。
薀蓄垂れるんなら知ってからにしような。
2220:2006/12/24(日) 16:56:12
>>21
あ、そうなの。

それって、参照設定のことをいってる?

VBにヘッダファイルないし、includeないし、
コンパイル時にリンクの更新なんてやってるの?
23デフォルトの名無しさん:2006/12/24(日) 17:06:07
>>22
一旦オブジェクトファイル作ってリンクしてるんですよ
2420:2006/12/24(日) 17:33:03
>>23
無知でスマソ。


オブジェクトファイルはわかる。
exeを作る際に、ソースを実行体にまとめてるんだろうけど
ちょっと誤解してた。

VBでつくったexeだけじゃランタイムないと実行できないから、
Cとコンパイル時のリンクのレベルが違うだけで、VBだってリンクするね。

ランタイムありきでリンクしてるから、コンパイルが速いという事でFA?
25デフォルトの名無しさん:2006/12/24(日) 17:48:03
>>24
Cのコンパイルを基準にするのなら
ソースコード解析するのにやたら手間取るのがCで、VBは構文が単純だから手間取らない
程度だと思う

VB6の構文って曖昧さが無いんだよね
26debu:2006/12/26(火) 11:34:45
VB6のプロフェッショナルエディションなんですが、string型の変数に
sql文を代入していく処理で、250文字以上が格納できません。
試しに
Dim s As String
s = "1234567890〜"
上記のように、string型の変数 s に300文字を入れてみたのですが、
ウオッチ式でみるとやはり250文字しか入っていません。
これはどうしたことでしょう??? どなたか教えてください!
27デフォルトの名無しさん:2006/12/26(火) 11:46:25
>>26
ウォッチ式に表示できないだけで、ちゃんと格納されてる。

イミディエイトに

?s

と打てば、ある程度はわかるがそこも表示制限があるから
一番いいのは、ログみたいにテキストに出力すれば、本当に
格納されているデータがわかる。
28debu:2006/12/26(火) 12:22:53
ありがとうございました!
大変助かりました。
29デフォルトの名無しさん:2006/12/27(水) 16:44:57
下の変数宣言でエラー出るのですが何処がいけないのでしょうか。
Dim cnt As Integer;
30デフォルトの名無しさん:2006/12/27(水) 16:47:48
>>29
VBは改行符いらない。
セミコロン「;」がじゃま。

どうしても改行符いれたいときは
コロン「:」にする。
31デフォルトの名無しさん:2006/12/27(水) 16:50:15
…行終端文字?
Cは";"で、BASIC系は昔ッからchr$(13)またはchr$(11)+chr$(13)だです
32デフォルトの名無しさん:2006/12/27(水) 22:56:32
>>30
セミコロンでしたか。ありがとうございます。
3314:2006/12/28(木) 20:28:58
ツリービューでノードを移動するときにドロップ位置に
横バーを出すにはどうしたらよいでしょうか?
34デフォルトの名無しさん:2006/12/29(金) 10:37:43
>>33
ツリービューでノードのドラッグ&ドロップをしている事までは
読み取れた。

その後の横バーが何かわからん。

参考までにDragOverイベントがドラッグ中に発生してるからそこで
なにかしらの処理ができるんじゃないの?
3514:2006/12/29(金) 10:53:34
>>34
これからどこにドロップするよーという目印になるバーです。
36デフォルトの名無しさん:2006/12/29(金) 11:34:21
>>35
オレ、エスパーかもしれん。わかった。

ノードの順番を入れ替えようとした場合にどこに割り込ませるか
ノードの下にバーを表示したいんだな。

簡単に済ませるなら、DragOverイベントで
Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)
として、選択状態にでもさせる。

もしくはあらかじめ画面にイメージコントロールを
用意しておいて、同イベントでノードの下にでも表示させる。


もっと本格的にやりたいなら、それこそツリービューをサブクラス化して
メッセージ:CDDS_ITEMPOSTPAINTのときにカスタム描画する。
3714:2006/12/29(金) 11:51:16
>>36
ありがとー

なるほど。これってコントロールの機能じゃないのですね?
自分でやらないといけないのですね

あけおめ。
39デフォルトの名無しさん:2007/01/16(火) 05:35:50
違うフォームのサブルーチンを呼ぶにはどうしたらよいのでしょうか?
40デフォルトの名無しさん:2007/01/16(火) 08:43:59
>>39
コーディングしなきゃいけない
コードを既に書いてるならうp
うpできないなら再現可能なコードにしてうp
41デフォルトの名無しさん:2007/01/18(木) 13:30:42
42デフォルトの名無しさん:2007/01/28(日) 10:24:18
VBプログラマ質問スレ(6.0以前) Part50
http://pc10.2ch.net/test/read.cgi/tech/1161517193/

↑の次スレってここ?
43デフォルトの名無しさん:2007/01/28(日) 11:01:26
VBプログラマ質問スレ(6.0以前) Part51
http://pc10.2ch.net/test/read.cgi/tech/1169949451/
4442:2007/01/30(火) 13:25:52
>>43
d
45デフォルトの名無しさん:2007/03/05(月) 01:02:19
こんばんは。

Newで作成した配列などは、破棄するにはどうすればよいのでしょうか?
いわゆる、ググッてみたんですが、なかなかわかりません。

よろしくお願いします。
46デフォルトの名無しさん:2007/03/05(月) 07:51:34
>>45
vb6はnewで配列を作れません
環境をお確かめの上、正しいスレにご投稿くださいますよう申し上げます
47デフォルトの名無しさん:2007/03/05(月) 08:00:20
>>46
お前のスキルでのたまってるんじゃねぇよ。
48デフォルトの名無しさん:2007/03/05(月) 09:21:22
>>46
知りませんでした。

MediaDetを利用するサンプルを見ていたら、
Dim Det As New MediaDet
とあったので、使った後に破棄するのはどうするのか?と思い書き込みました。
49デフォルトの名無しさん:2007/03/05(月) 09:30:03
>>48
vb6では参照カウンタ方式によるGCが働いているので、明示的に破棄する必要はありません(できません)
仮にそのMediaDetオブジェクトが(オブジェクト自身ではない)何かしらのデータの破棄を要求しているのなら、
専用のメソッドが存在するはずです。
50デフォルトの名無しさん:2007/03/05(月) 09:58:12
>>49
そうですか。

Function内で使用したいと思っていたので、何度もNewで定義していったときに
どんどんメモリを食っていくのでは?と思っていました。

ありがとうございました。
51デフォルトの名無しさん:2007/03/05(月) 10:46:46
>明示的に破棄する必要はありません(できません)

先生、いかにVBでも明示的に破棄できないと困ります><
52デフォルトの名無しさん:2007/03/05(月) 10:48:36
>>51
VBの内部はCOMによって実装されている部分が大半だから、CoCreateInstance()付近からAPI探していけ
53デフォルトの名無しさん:2007/03/05(月) 10:51:15
ん、IUnknown::Release()呼ぶだけでいいのか?
COMわかんね('A`
54デフォルトの名無しさん:2007/03/05(月) 12:11:38
VB6.0において、質問があります。
あるバイナリファイルがあり、その先頭4バイトには数値が入っています。
この4バイトをプログラムから上書きしたいと考えています。
そこで以下のようなコードを書きました。

Open ".\hoge.bin" For Binary As #1
Write #1, value
Close #1

これを実行しますと、Writeのところでエラーが出てしまいます。
おそらく、初歩的な間違いのような予感がするのですが、
どのようにすれば良いがご存知であれば教えて頂けないでしょうか。
よろしくお願いします。
55デフォルトの名無しさん:2007/03/05(月) 12:13:33
>>54
> 上書きしたいと考えています。
何を?
何でもいいなら

open ".\hoge.bin" for binary as 1
put #1, 1, clng(rnd)
close 1

でおk
5654:2007/03/05(月) 13:06:24
>>55
神速の回答ありがとうございます。
できました!
57デフォルトの名無しさん:2007/03/05(月) 13:30:30
>>51
VBの参照カウンタ型GCは、.NETのGCみたく参照が無くなっていつか消えるとかいうもの違って、
参照が消えた瞬間に消される。もちろん他に参照がコピーされていない前提であるが、例えば
Sub hoge
dim xx as OBJ
Set xx = New Obj
 :
End Sub でスパッと消える
さらに、途中でNothingや他の参照をぶち込んでもその時点でスパッと消える
58デフォルトの名無しさん:2007/03/05(月) 13:35:46
ReleaseとかCloseあるならやって
そのあとNothingぶちこんだらカウンタが消えていくと思ってたが・・・
実際の所どうなんだ・・・?
>>57でFA?
59デフォルトの名無しさん:2007/03/05(月) 13:37:43
>>58
FA
プロセス越しの場合もFA
60デフォルトの名無しさん:2007/03/05(月) 14:15:10
>>57
ありがとうございます
つまり、参照先のアドレスが変わるタイミングで消えるという事ですね
NOTHINGを指定する事とはVB的なぬるぽですね

つまり明示的に破棄できませんといった人はウソつきですか?
わかりません><
61デフォルトの名無しさん:2007/03/05(月) 14:32:30
>>60
日本語でおk
62デフォルトの名無しさん:2007/03/05(月) 17:11:24
>>60
コレは酷いw
63デフォルトの名無しさん:2007/03/05(月) 17:18:08
>>62
62さん、すみません
どのあたりが酷いのでしょうか

よければ、私にもわかるように教えてください><
64デフォルトの名無しさん:2007/03/05(月) 17:30:59
>>63
参照先のアドレスが変わるタイミングで消えるという事
何故この解釈になった?
65デフォルトの名無しさん:2007/03/05(月) 17:32:24
>>63
自分で確かめろカス
66デフォルトの名無しさん:2007/03/05(月) 17:39:35
>>64
ありがとうございます

>途中でNothingや他の参照をぶち込んでもその時点でスパッと消える
と書いてありました

参照型の変数には「物」がはいっているはけではなくて、メモリにある「物」をさす
アドレスが入っていると思います。

他の参照をぶち込むというのは、参照先を変えるという事では
ないのでしょうか。

>64-65さん、教えてください><

67デフォルトの名無しさん:2007/03/05(月) 17:42:17
>>66
いいから自分の書いた文章読み直して出直して来いカス
68デフォルトの名無しさん:2007/03/05(月) 17:58:55
69デフォルトの名無しさん:2007/03/05(月) 18:06:10
>>66
そうですね^^
70デフォルトの名無しさん:2007/03/05(月) 18:43:15
>>54の者ですが、また1つ質問をさせてください。

MouseDownイベントについてなのですが、
フォーム上に存在するコンポーネントを無視して、フォームのどこを
クリックしてもMouseDownイベントを拾いたいと思っています。

Form_MouseDownイベントは、フォームのMouseDownイベントは拾えます
が、ボタンやラベルの上でクリックすると、フォームのMouseDownイベ
ントを拾うことができません。

どなたかご存知でしょうか?
ご存知であれば教えて頂きたいと思います。
よろしくお願いします。
71デフォルトの名無しさん:2007/03/05(月) 19:07:58
>>70
全てのコントロールのMouseDownイベントを拾ってゴリ押しすれば何とかなるんじゃない?
もしくはサブクラス化
それかフック

Spy++でも使ってみるよろし
7270:2007/03/05(月) 19:14:27
>>71
やっぱりその手しかないですか…。

ウィンドウのほとんどをAPIコントロールが占めており、そのAPIコントロールの
ハンドルがDLLに渡されていてDLL側で制御されているため、イベントを付けられ
ないんですよね…。

もうちょっと調べてみます。
ありがとうございます!
73デフォルトの名無しさん:2007/03/06(火) 13:12:29
>>72
試してないのでなんともいえないけど
VBControlExtender
を使えばいけそうな気もするが・・・
74デフォルトの名無しさん:2007/03/06(火) 14:13:44
はじめまして
VB超初心者です。プログラムの経験はCOBOLで17年ほどあります。
会社にNT4.0 VB6SP3で作られたシステムがあります
普通はフォームもモジュールも同一フォルダーに作成するみたいなんですが、
このシステムはフォームと標準モジュール(クラスも)別フォルダーになっています。
それで、仕様書等が無いために、ソースから追っかけてみていますが、VB自体
よくわかっていないので、悩んでいます。
メニュー画面はランチャーのような階層状のメニュープログラムがあります
そこでは、FORM_LOAD()は走っていますが、メニューの中の別プログラムに
移った場合、呼ばれるプログラムにはFORM_LOAD()自体ありません。
このようなプログラムの解析をする場合呼ばれたプログラムの動きを追っかけて
行きたいのですが、どうすればよいのでしょうか?
ちなみに、ファンクションキーのイベントなんかは書かれているようです。
どなたかご教授下さい
75デフォルトの名無しさん:2007/03/06(火) 14:39:54
>>74

>フォームと標準モジュール(クラスも)別フォルダー
これはvbpファイルで参照しているので、別フォルダーでも気にしなくておkです。

>メニューの中の別プログラムに
はっきりとは判らないのですが、もしかしたら、Mainがあるプロジェクトから
DLLないしActiveXのexeのプロジェクトに遷移しているかもしれませんね。


遷移先の別プログラム(DLL もしくはActiveXExe)もVBで書かれている場合、
そのプロジェクトをVSで立ち上げて一番最初に[実行]-[開始]をし、実行状態にします。
その後呼び元をF8キーでステップ実行していくと、別プロジェクトがDLL等の場合は
そのままステップ実行できます。
またブレークポイントを張ってそこで処理を止めることもできます。

はずしていたら、すみません。
76デフォルトの名無しさん:2007/03/06(火) 14:54:51
>>75さん 74です
ありがとうございます。別のところにbasファイルがあって、そこにFORM_LOAD()
がありました。F8で追っかけてみたら、ありました。
これ、クラスとフォームは別々に開発してもOKなんですか?
なんども申し訳ありません。
よろしくお願いします。
77デフォルトの名無しさん:2007/03/06(火) 15:53:52
>>76
別々というのが、ファイルを保存している先が別々という
意味では、問題ないです。

ただ、そのクラスとフォームがどのように依存しているのかは
流石にわからないので、勝手に片方の関数を変えたりすると
もう片方に影響が出るかもしれないですね。
78デフォルトの名無しさん:2007/03/06(火) 16:51:36
お勧め

つ最高にド低脳な発言してください in ム板(XV)
http://pc11.2ch.net/test/read.cgi/tech/1164376614/
79デフォルトの名無しさん:2007/03/06(火) 17:06:52
>>78
お前のようなカスの出てくるところじゃないんだよ。
80デフォルトの名無しさん:2007/03/07(水) 18:08:38
ある規則に従って、CheckBoxのチェックを入れたり、入れなかったりしたい
のですが、どのようなメソッドを使えばいいのか教えてください。

また、手動でCheckBoxのチェックを操作できないようにするには、
どの属性をどのように設定すればいいのかも教えてください。

以上、よろしくおながいします。
81デフォルトの名無しさん:2007/03/07(水) 18:14:35
>>80
> CheckBoxのチェックを入れたり、入れなかったりしたい 
Valueプロパティを調べろ
(ちなみに、チェックを入れるのと、チェックを外すの、な)

> チェックを操作できないようにする
Enableプロパティを調べろ
"無効な色"になるのがイヤなら、縁無しのピクチャボックスにつっこんでピクチャボックスのEnableプロパティを変えてみろ
(もしくはClickイベントで強引にユーザ入力を、無かったかのように見せかける)
8280:2007/03/07(水) 23:40:46
>>81
>> > チェックを操作できないようにする
>> Enableプロパティを調べろ
>> "無効な色"になるのがイヤなら、縁無しのピクチャボックスにつっこんでピクチャボックスのEnableプロパティを変えてみろ
>> (もしくはClickイベントで強引にユーザ入力を、無かったかのように見せかける)

ありがとうございます。その方法が無難なようです。

ところが

>> > CheckBoxのチェックを入れたり、入れなかったりしたい
>> Valueプロパティを調べろ

こちらのほうはValueプロパティというのは無いようですが…
私ももうちょい調べてみようと思います。
83デフォルトの名無しさん:2007/03/07(水) 23:43:57
>>82
もしかしてVB.NETか?
それならCheckedプロパティ
(VB.NETほとんど触って無いから、もっといい方法があるかもしれん)
8480:2007/03/07(水) 23:52:31
>>83
ありがとうございます。VB.NETです。
そして最大の私の勘違いはメソッドの使い方でした。
てっきり
CheckBox1.Checked(True)
のような記述をするもんだと思い込んでましたが
CheckBox1.Checked = True
のような記述をするんですね!!
Cのプログラマが、にわかVBしてたもんで疑いもしませんでした。
これで今日は落ち着いて寝られます。
どうもありがとうございました。
85デフォルトの名無しさん:2007/03/08(木) 12:57:18
それメソッドじゃねぇ・・・
プロパティだぜ・・・・


突っ込んでよかったのかな・・?
86デフォルトの名無しさん:2007/03/08(木) 13:19:37
>>85
てっきりメソッドだと思った、と勘違いしてたんじゃないの?
87デフォルトの名無しさん:2007/03/08(木) 14:53:22
スレ違いかもしれませんが
javaスクリプトでいう『document.ondblclick = sample;』
をvbスクリプトで同じことってできますか?
88デフォルトの名無しさん:2007/03/08(木) 15:15:24
>>87
できます。

参考までにIEだとこんなカンジでしょうか。

Set ie=CreateObject("InternetExplorer.Application")
Set ie.Document.body.ondblclick=sample
89デフォルトの名無しさん:2007/03/08(木) 15:22:05
sampleの型に寄るんじゃね?
90デフォルトの名無しさん:2007/03/08(木) 15:23:39
>>88
本当だ!できました。
確かに"sample"では不十分な書き方でした。
それなのに丁寧に教えて下さってありがとうございました。&ごめんなさい
91デフォルトの名無しさん:2007/03/08(木) 23:30:41
本当にくだらない事なのですか
formに設定した画像を動かすにはどうすればいいのでしょうか
form事態ではなく画像だけ動かしたいのです
92デフォルトの名無しさん:2007/03/08(木) 23:56:13
何度もすみません。本当はWSHのスレへ質問するべきかもしれないのですが、、
なにぶんひどい素人なもので、空気的にできればこちらのスレで知恵をお貸し願えないものかと思っています。

IE上の以下のスクリプトを埋め込んだページから
"sample.xls"というエクセルファイルの"test1"というマクロを動かそうとしていますが、
うまくいきませんでした。

<SCRIPT LANGUAGE = "VBScript">
<!--
Sub CallXlMacro
 Dim xlapp
 Set xlApp = GetObject(, "Excel.Application")
 Call xlApp.Run("sample.xls!test1")
 Set xlapp = Nothing
End Sub
-->
</SCRIPT>

とりあえずCallXLMacroプロシージャを以下のようにしてみたところ、動作しましたので
プロシージャが呼び出されていることは確認できました。
Sub CallXlMacro
 Msgbox "test"
End Sub

また、「Dim xlapp」〜「Set xlapp = Nothing」までを「test.vbs」として保存し、直接実行してみたところ、
test1マクロは呼び出されて動きました。(スクリプト使用時は、sample.xlsは必ず開いた状態で使用する前提でいます)

私の知識ではこれ以上進めなかったのですが、
問題はどの辺りにあるのかご教授願えませんでしょうか。
ちなみにtest1マクロそのものは、「Msgbox "testOK"」だけのものです。
よろしくお願いいたします。
93デフォルトの名無しさん:2007/03/08(木) 23:58:23
IE上からだとセキュリティ的にまずいから動かないようになっているんだと思う。
9492:2007/03/09(金) 00:12:32
>>93
確かに言われてみればその通りですね。
どうもありがとうございます。
95デフォルトの名無しさん:2007/03/09(金) 00:43:22
>>91
本当にくだらないと思っている事を人任せにするのか?(#^ω^ おっ?
それ以前にプログラムの話したいならコード晒せ
無ければコードかけるくらい詳細に調べて書け

あと>>1
96デフォルトの名無しさん:2007/03/09(金) 00:50:25
Option Explicit
Private pct As PictureBox
Private Sub Form_Load()
    Dim i   As Long
    Set pct = Me.Controls.Add("VB.PictureBox", "pct")
    With pct
        Call .Move(0, 0, 32 * Screen.TwipsPerPixelX, 32 * Screen.TwipsPerPixelY)
        .BackColor = 0
        .ScaleMode = ScaleModeConstants.vbPixels
        .AutoRedraw = True
    End With
    
    For i = 1 To 100
        pct.PSet (Rnd * 32, Rnd * 32), Rnd * &HFFFFFF
    Next
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Call Me.PaintPicture(pct.Image, X, Y)
End Sub

# formに、設定した画像を動かすにはどうすればいいのでしょうか 
# form事態ではなく画像だけ動かしたいのです 
こんなソースコードだけど、動いてるか?
9791:2007/03/09(金) 18:04:22
色々すいませんでした

例えば
ボタンが押されたときにイメージを動かすのなら
Private Sub Command1_Click()
Image1.Move (Image1.Left), (Image1.Top + 100)
End Sub
でできるのですが、
フォームに背景として表示されている画像の動かし方が知りたいのですが、どんなに調べても見つけれなくて困っています
98デフォルトの名無しさん:2007/03/09(金) 18:14:51
>>97
発想の転換で、フォームよりでかいイメージをフォームに貼り付けといて
それを背景とし、そのピクチャを動かすとかじゃ実現できないかな?
99デフォルトの名無しさん:2007/03/09(金) 20:43:00
>>97
PaintPicture使いなさい
100デフォルトの名無しさん:2007/03/09(金) 21:53:23
>>97
> 背景として表示されている
Formが自発的に背景として表示してるわけじゃないだろ?
もう少し具体的に状況を説明した上で議論なり質問なりしてくださいな
10180:2007/03/10(土) 07:16:17
>>85-86
突っ込みOKでしょう。
叩かれて人は強くなる…
皆様のおかげです。
102デフォルトの名無しさん:2007/03/11(日) 19:57:32
起動時にFormに乗ってるTextBoxのフォーカスをアクティブにしたいです
フォーカスをあやつる方法がわからないので教えてください
103デフォルトの名無しさん:2007/03/11(日) 20:08:51
>>102
フォーカスやイベント等はVBやるときにいつもネックになるね。

フォームのコードイベント内でセットフォーカスメソッドを使えばいいけど
コントロールが表示される前にはフォーカスの指定ができないので
先にフォームをShowするか、あらかじめtab順序を設定するか、かな。


'先にShowする場合。
Private Sub Form_Load()

Me.Show
Me.Text1.SetFocus

End Sub
104デフォルトの名無しさん:2007/03/11(日) 20:09:26
>>102
・TabIndexを一番若くしておくとか
・無駄に一つだけタイマーを配置して、次のようにしてみるとか
Option Explicit
Private WithEvents Tmr  As Timer
Private WithEvents Btn1 As CommandButton
Private WithEvents Btn2 As CommandButton

Private Sub Form_Load()
    Set Tmr = Me.Controls.Add("VB.Timer", "Tmr")
    Set Btn1 = Me.Controls.Add("VB.CommandButton", "Btn1")
    Set Btn2 = Me.Controls.Add("VB.CommandButton", "Btn2")
    With Tmr: .Interval = 1: .Enabled = True: End With
    With Btn1: .Move 0, 0, 1000, 1000: .Caption = "Button1": .Visible = True: End With
    With Btn2: .Move 0, 1000, 1000, 1000: .Caption = "Button2": .Visible = True: End With
End Sub
    
Private Sub Tmr_Timer()
    Tmr.Enabled = False
    'Call Btn1.SetFocus  'Button1にフォーカス
    Call Btn2.SetFocus  'Button2にフォーカス
End Sub
105102:2007/03/11(日) 20:24:40
>>103
>>104
うまくいきました
ありがとうございます
106103:2007/03/11(日) 20:54:17
話は変わるが、>104なんで、タイマー?

tab順はお互い「やっぱりな」と思うよね。でもタイマーは意外だった。


悪い意味じゃなくて、ちょっと興味があった。
いつもはイベントドリブンのように使ってるの?それとも、思いつき?
107デフォルトの名無しさん:2007/03/11(日) 20:59:31
>>106
イベントとは呼び出し手続き上で、ワンショットなイベントを作りたいときによくやっている
イベントプロシージャの再帰呼び出しが怖いときなんか特に
108103:2007/03/11(日) 21:04:52
>>107
ありがとう。納得した。

VBやってたら、イベント再帰しても目をつぶったりするからネw
109デフォルトの名無しさん:2007/03/11(日) 21:07:02
訂正

>>107
> イベントとは呼び出し手続き上で、
# 別の呼び出し手続き上で、

>>108
すまんね
110デフォルトの名無しさん:2007/03/12(月) 09:17:26
vbでhtmlを解析してデータベース化する、
なんかいいサンプルないですか?
111デフォルトの名無しさん:2007/03/12(月) 10:09:02
「vb html 解析 データベース化」
でググったらそれらしいのがポツポツあるけど
112デフォルトの名無しさん:2007/03/12(月) 11:00:56
VB初心者です
VB6です。スプレッドを使っています
スプレッドの行固定したいのと、行をダブルクリックしたときのイベントのとりかた教えてください
イベントとったあと、ダイアログも表示さしたいのですが。よろしくお願いします
113デフォルトの名無しさん:2007/03/12(月) 22:21:31
>>110
エクセルコンポーネントで読み込む
114デフォルトの名無しさん:2007/03/12(月) 22:22:36
>>113
mjd?
115デフォルトの名無しさん:2007/03/12(月) 22:55:14
>>112
グレープシティのやつね。

手元に環境がないからわからないけど、インストールした
ディレクトリにサンプルソースが付いてなかったっけ?
116デフォルトの名無しさん:2007/03/15(木) 20:07:35
Dim Num As String * 256

の* 256ってどういう意味なんですか?
117デフォルトの名無しさん:2007/03/15(木) 20:44:44
Numが256バイト分の固定長文字列という意味。

仮に
Dim Num As String * 1
とした場合はNumには1バイト以上文字が代入できません。
118デフォルトの名無しさん:2007/03/15(木) 21:04:57
バイト×
文字長○
119デフォルトの名無しさん:2007/03/15(木) 21:22:33
>>118
え?バイトの意味解ってる?
8ビット分の記憶容量という意味だけど。

文字長って意味解ってる??
120デフォルトの名無しさん:2007/03/15(木) 21:28:17
Dim Num As String * 256
MsgBox LenB(Num)
121デフォルトの名無しさん:2007/03/15(木) 21:29:03
122デフォルトの名無しさん:2007/03/15(木) 21:35:51
>>118=>>120
なんでお前のようなバカが一丁前に答えようとするかね?


VBでバイトが知りたきゃ、こうだろ・・・・。


Dim Num As String * 256
MsgBox LenB(StrConv(Num, vbFromUnicode))
123デフォルトの名無しさん:2007/03/15(木) 21:43:29
>>122
それは格納されている文字の容量であって
VBが確保した変数の容量ではない
124デフォルトの名無しさん:2007/03/15(木) 22:00:30
>>117>>119>>122
Unicodeって言葉知っている?
そしてそれ (UTF-16)が32ビットVBに採用されていることを知っている?
125デフォルトの名無しさん:2007/03/15(木) 22:01:22
Numに0いれても256を返すよ?
126デフォルトの名無しさん:2007/03/15(木) 22:09:52
>>117
ひらがなって2バイトだよね?*1にも"あ"が入るんだけど
127デフォルトの名無しさん:2007/03/15(木) 22:23:11
わかりました。何バイトだろうが何ビットだろうが関係なく*1は1文字*256は256文字入るって事ですね
調べ方教えてくれてありがとう。
128デフォルトの名無しさん:2007/03/15(木) 22:25:12
>>124
だから、vbFromなんだろ。F、R、O、M。

>>126
VBがメモリを食いつぶさないように気をつかってるんだろ。
お前のような奴のために。
129デフォルトの名無しさん:2007/03/15(木) 22:45:27
>>118=>>120=>>124=>>126
バカめ。

Dim Num AS string * 1

'1を返す。
MsgBox LenB(StrConv(Num, vbFromUnicode))

Num = "あ"

'2を返す。
MsgBox LenB(StrConv(Num, vbFromUnicode))

VBがお前のようなバカのために
メモリを食いつぶさないように気をつかってるの。


なんでお前のようなバカが一丁前に答えようとするかね?
130デフォルトの名無しさん:2007/03/15(木) 22:58:09
「メモリを食いつぶさないように気をつかってる」
この意味がさっぱり分からん。
Sting*1が収納する文字によって8bitだったり16bitだったり
するとでも言いたいのだろうか? 
131デフォルトの名無しさん:2007/03/15(木) 23:07:47
*って掛けるって意味?
132デフォルトの名無しさん:2007/03/15(木) 23:17:53
だから入れた文字のバイト数えたってしょうがないだろ
*1は1文字制限っていう決め事を言ってるだけなんだから
ってことか?どんどんわからなくなるw
133デフォルトの名無しさん:2007/03/15(木) 23:20:45
129が数えているのは、「入れた文字をCP932に変換したときのバイト長」
134デフォルトの名無しさん:2007/03/16(金) 00:02:59
dim nnnn as string * 数字
は格納バイトを示すんではなく
格納文字数を示してるんだろ
135デフォルトの名無しさん:2007/03/16(金) 00:17:54
>>129
発端となったのは>>116
String * 256の意味を聞いている以上、それにStrConvで変換を施した上でどうなるかは関係ない(別問題)。
256文字分の固定長文字列を意味すると答えれば十分かつそれ以上の意味は無い。

中にどんな文字列が格納されていようと固定長なのだから、
116のNumはString * 256だから常に256 * 2で512バイトのメモリを使う。
それを示すために120はLenB(Num)を持ち出したのだろう。

>>128でFromと書いているが、LenB(StrConv(Num, vbFromUnicode))では、
中身をマルチバイト文字列(日本語環境のWindowsではShift_JISことCP932)に変換する。
これでは本来のNumの大きさが見えない。単にNumの内容をマルチバイト文字列で表したときのバイト数に過ぎなくなる。
136デフォルトの名無しさん:2007/03/16(金) 00:28:20
>>119,121,127,128,129,131
まあ朽木は彫るべからず糞土の牆は塗るべからずって言うしな

耳の穴も口の穴も開いてるだけの木偶の坊には上出来の回答だよ
よくがんばった
137デフォルトの名無しさん:2007/03/16(金) 01:05:02
*1は16ビットをあらわしてるのか
半角数字の1も文字の"あ"も16ビットなの?
138デフォルトの名無しさん:2007/03/16(金) 01:06:33
>>137
そうだ
139デフォルトの名無しさん:2007/03/16(金) 01:17:17
なんで文字とバイトが混同されるのかわかんねぇ
文字は文字だ
文字コードを格納しているんじゃない、文字を格納しているんだ

昔を引きずるのもいいけど、ちゃんと前提条件示してからにしろよ
140デフォルトの名無しさん:2007/03/16(金) 01:17:21
でもWindowsのメモ帳で保存してプロパティのディスク上のサイズを見ると 1 は1バイト あ は2バイトになってるぞ
141デフォルトの名無しさん:2007/03/16(金) 01:18:15
ああそうかstringは文字しか入らないから1をいれても全角1になってるのかw
142デフォルトの名無しさん:2007/03/16(金) 01:21:07
>>140
それは正にStrConvでvbFromUnicodeをやった状態。

NT系のメモ帳は保存時に文字コードを選べるぞ。
Unicodeを選べばみんな1文字2バイト(とも限らないが)。
143デフォルトの名無しさん:2007/03/16(金) 01:23:49
>>140>>141
少し眠ってもいいですよ^^;;;;;;
144デフォルトの名無しさん:2007/03/16(金) 01:28:31
いや1を入れても全角になってるんじゃなくて1が1バイト分入ってもう1バイト分は空が入ってるのかもしれん
145デフォルトの名無しさん:2007/03/16(金) 01:29:21
なんでメモ帳出てきたの?
146デフォルトの名無しさん:2007/03/16(金) 01:33:33
VBSには質問スレがないようですし、ココにはどちらにも精通されてる方が多いようなので
若干スレ違いとは思いますが、質問させてください。
ページを読み込んだ後、2秒後に"testOK"を表示させる為に

Dim lngWait
TestSetTime()

Sub TestSetTime()
 If lngWait < 2000 then
   setTimeout "TestSetTime()", 1000
   lngWait = lngWait + 1000
 Else
   Msgbox "testOK"
 End if
End Sub

以上のようなスクリプトを書いて保存し
CreateElement("script")でつくったスクリプトタグの
srcに指定し、appendChildで挿入したところ、
ページ表示後、2秒後に"testOK"のメッセージを出すことができました。

次に、これを直接スクリプトタグに書いたページを読み込んだところ
1度目の 「lngWait = lngWait + 1000」までは動くのですが
TestSetTime()が再帰呼び出しされず、"testOK"が表示されません。
私の乏しい知識では理由がわからないのですが、
おわかりになる方、是非ご教授下さい。よろしくお願いします。
147デフォルトの名無しさん:2007/03/16(金) 01:34:06
VBのStringは
Dim aaaa as String * 2
と宣言した場合
aaaa = "1234"
と格納した場合、メモリ上には
" 1 2 3 4"
バイナリじゃ
20 31 20 32 20 33 20 34
と格納されるんじゃないの?
148147:2007/03/16(金) 01:35:00
20 31 20 32 20 33 20 34
じゃなくて
00 31 00 32 00 33 00 34
かな
149デフォルトの名無しさん:2007/03/16(金) 01:37:03
2文字分しか確保してないから3と4は代入時に切り捨てられるよ
150デフォルトの名無しさん:2007/03/16(金) 01:38:44
でもmsgboxすると" 1 2"じゃなくて"12"なんだよな
151デフォルトの名無しさん:2007/03/16(金) 01:40:22
>>147
内部表現を問題にするなら”本当の仕様書”を引っ張り上げないといけないから面倒
てか俺は知らない

で、俺の知ってる観測方法は byte() に代入か、StrPtr()で”文字列のポインタ”を拾ってそこからメモリを見る位だ
この適当な観測から>>148は腐ってることが分かった
152デフォルトの名無しさん:2007/03/16(金) 01:42:13
>>146
とりあえずコピペで状況再現できるの作ってみて?
153デフォルトの名無しさん:2007/03/16(金) 01:45:40
>>151
こいつがこのスレで一番レベルが高そうだな
154デフォルトの名無しさん:2007/03/16(金) 02:56:23
>>149
すまん、* 2 じゃなく * 4 だった

>>150
そうなるはず

>>151
実際検証して結果を出してから腐ってるかどうか判別したほうがいいんじゃない?
憶測だけで腐ってるか判断するんだね
155デフォルトの名無しさん:2007/03/16(金) 03:54:09
0x0とか&HF0ってなんですか?
156デフォルトの名無しさん:2007/03/16(金) 10:49:53
>>154


>>155
なんでしょう?
157デフォルトの名無しさん:2007/03/16(金) 11:25:18
>>151
検証してやったよ。 APIのlstrlenを使って。

Dim s As String * 3,ss As String * 3

MsgBox lstrlen(s) :MsgBox lstrlen(ss)
この時点で変数sが初期化されていないので結果は0。
つまり、宣言時は何も確保されていない。

次に変数を初期化してバイト数を計測
s = vbNullString: ss = vbNullString
MsgBox lstrlen(s): MsgBox lstrlen(ss)

結果は共に3バイトを返す。よって、あの宣言は3バイトという意味。
最後に片方にVB規定のユニコードで全角と半角で3文字代入

s = "あいう": ss = "123"
MsgBox lstrlen(s): MsgBox lstrlen(ss)

結果はsが6バイト。ssが3バイト。
VBは変数に代入時に無言でコンバート処理を行うか、メモリ領域を拡張しているか
しているんじゃないの。

>>155
16進数と明示的に宣言している。
158デフォルトの名無しさん:2007/03/16(金) 11:38:03
>>157
お前DLL呼び出すときに byval string が変換されるの知ってるか?
159デフォルトの名無しさん:2007/03/16(金) 11:41:47
>>155
前者はCやJavaなどの16進数表現による整数リテラル
後者はVBやBASICなどのそれ
160デフォルトの名無しさん:2007/03/16(金) 11:54:39
>>158
valでもrefでもanyでも宣言していいから、説明しろ。
161デフォルトの名無しさん:2007/03/16(金) 12:00:50
何説明してほちいんでちゅか〜?
162デフォルトの名無しさん:2007/03/16(金) 12:03:27
わからないなら、書き込むなよ、屑が。
163デフォルトの名無しさん:2007/03/16(金) 12:08:41
(^A^)m9 pgrwwwwwww
164デフォルトの名無しさん:2007/03/16(金) 12:19:18
byref string だとBSTRでUNICODEじかだっけか。
Shift-JISで漢字交じりの固定長レコードを読み書きするのにえらく苦労した記憶があるな。
165デフォルトの名無しさん:2007/03/16(金) 13:01:46
>>157
文字を扱う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"などととすれば違いがわかると思う。
166デフォルトの名無しさん:2007/03/16(金) 13:04:08
あと、vbNullStringをString変数に代入しても初期化されるわけではない。
APIを使って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
167デフォルトの名無しさん:2007/03/16(金) 13:16:15
site:microsoft.comでググってもVB .NETのことしかばかりだ。

すまんな、Stringに付いて触れているのがこれくらいしか見付からなかった。
http://support.microsoft.com/kb/187912/en-us
MORE INFORMATIONのところをよく読め。URLのen-usをjaすれば日本語機械翻訳になる。
168デフォルトの名無しさん:2007/03/16(金) 13:22:34
ピクチャーボックスの中にイメージを配置してピクチャーボックスに何か表示させると
イメージの前面に表示され、イメージが隠れてしまいます。
イメージのvisibleをFalse、Trueにしたりイメージを移動させると
イメージは表示されるのですが、イメージがあった箇所のピクチャーボックスに表示した部分が欠けてしまいます
イメージが隠れないようにピクチャーボックスに表示させたいのですが、どうすればいいいでしょうか
169デフォルトの名無しさん:2007/03/16(金) 15:08:45
>>168
疑問点があるので逆質問
・ピクチャーボックスの中にイメージを配置とは?
・ピクチャーボックスに何か表示させるとは?
・イメージが隠れてしまうとは、背景食が見える状態?それ以外?

日本語で状況説明が難しいなら、再現できる環境とソースコードうpして
170デフォルトの名無しさん:2007/03/16(金) 15:47:50
・ピクチャーボックスの中にイメージを配置とは?

イメージとピクチャーボックスを別々にフォーム上に配置すると
イメージとピクチャーボックスが重なった部分でイメージがピクチャーボックスの下に隠れてしまうので
イメージを切り取ってピクチャーボックス上で貼り付けました

・ピクチャーボックスに何か表示させるとは?

今はクリックしたときに線を描画したり塗りつぶした四角を描画したりしているのですが
それでイメージが隠れてしまいます

・イメージが隠れてしまうとは、背景食が見える状態?それ以外?
描画した線などで線の部分のイメージが見えなくなるという意味です

描画した線
イメージ
ピクチャーボックスの背景

上からこういう感じです
171デフォルトの名無しさん:2007/03/16(金) 20:50:33
>>164-167
レベルが高すぎて逆に迷惑
このスレは円周率も四捨五入して教えるところ
172デフォルトの名無しさん:2007/03/16(金) 20:57:45
でもゲームの最強武器を知ってて早く使いたくてわくわくしながら最初からプレイしてる感じ
言ってる内容はわからなくてもプログラミングがなんだか楽しくなってくる効果はある、かな?w
173デフォルトの名無しさん:2007/03/16(金) 22:10:59
ディストリビューション ウィザードでプログラムのインストールはできるのですが、
今度、プログラムのあるディレクトリに「tips」というディレクトリを作ってし、そこに
html文書を入れ、プログラムから呼び出したいと思っていて、そのようなインスト
ールプログラムを作成するのに試行錯誤しています。

ディストリビューション ウィザードで、プログラムと同じディレクトリに、別のディレ
クトリを作って、その中にhtml文書を納めるようなインストールプログラムはでき
るのでしょうか。

ただ単に「add」でhtml文書を加えると、ディレクトリができないし…・。

すみません。どなたか、アドバイスをお願いできますか。
174デフォルトの名無しさん:2007/03/17(土) 01:35:59
>>173

[email protected],$(AppPath)\tips,,,3/16/07 3:17:37 AM,845,0.0.0.0

のようにAppPath)の後ろにディレクトリ名を入れると出来ることがわかりました。
175デフォルトの名無しさん:2007/03/17(土) 22:25:19
'INETを使いたいのですが宣言の時点でエラーが出てしまいます
'何が間違ってるのでしょうか?

Dim inet1 As New Inet

---------------------------
Microsoft Visual Basic
---------------------------
コンパイル エラー:

New キーワードの使用法が不正です。
---------------------------
OK ヘルプ
---------------------------

'VB6SP6です
176デフォルトの名無しさん:2007/03/17(土) 22:34:15
>>175
参照設定した?
177デフォルトの名無しさん:2007/03/17(土) 22:44:31
>>176
コンポーネントに追加していましたが
MSINET.OCXを参照設定するように変更したところエラーがでなくなりました
ありがとうございます
178デフォルトの名無しさん:2007/03/18(日) 02:45:41
>>171
でも、しっかりした説明のおかげで不毛な罵り愛が終了しました。
GJだと思います。
179デフォルトの名無しさん:2007/03/18(日) 11:52:42
どうすればTextboxの書き換えを出来ないようにできますか?
Text1.ReadOnly = Trueとしてもうまくいきません
180デフォルトの名無しさん:2007/03/18(日) 11:56:07
スレ名も見れないようじゃ先行き暗いな
つ http://pc11.2ch.net/test/read.cgi/tech/1173061176/
181179:2007/03/18(日) 11:58:29
>>180
VB6でお願いします
182デフォルトの名無しさん:2007/03/18(日) 12:02:12
> Text1.ReadOnly = Trueとしてもうまくいきません 
・.NETにしか見えない
・「うまくいかない」ってだけ言うな

ユーザからの書き換えを不能にするのは Locked プロパティ
プログラム上から書き換えを不能にするのは、ロジックでカバー
183デフォルトの名無しさん:2007/03/18(日) 12:10:18
>>182
書き換え不能になるのを確認できました
間違えてVB.NETの資料をみていたので頓珍漢なことを言ってしまいました
184デフォルトの名無しさん:2007/03/18(日) 22:09:57
凄い板違いで、すまねえ。VBプログラマの方達よ。
コマンドプロンプトでのプログラミングについて、
最近興味わいたのだが、いい板しってるかい?
185デフォルトの名無しさん:2007/03/18(日) 22:29:01
>>184
DOSでプログラミングはスレ違いだから要注意な。
あそこは16bitの本物のDOS用。せいぜいDOS互換ボックスまでだ。
186デフォルトの名無しさん:2007/03/19(月) 22:23:23
子プロセスの標準出力をパイプしたいのですが、
CreatePipeの使い方が調べてもよくわかりません。
よいサンプルがあるページありませんでしょうか?
187デフォルトの名無しさん:2007/03/19(月) 23:36:59
VBでCreatePipe使うタイミングってあるんだなぁ・・・
ざっくりと機能とかは知ってても使ったことがないや(;´∀`)
188デフォルトの名無しさん:2007/03/20(火) 00:06:35
http://dobon.net/vb/bbs/log3-3/1564.html
これくらいしかひっかかってこないな
189デフォルトの名無しさん:2007/03/20(火) 20:43:29
190186:2007/03/20(火) 23:58:44
大変参考になりました
なんとか思った通りに処理できました
ありがとうございました
191デフォルトの名無しさん:2007/03/22(木) 13:33:21
質問があります。
VB6.0なのですが、あるボタンのクリックイベントで、別のボタンのクリックイベントも
発生させたいのですが、どのようにしたら良いでしょうか?
C++BuilderのClick()メソッドみたいやつです。
よろしくおながいします。
192デフォルトの名無しさん:2007/03/22(木) 14:29:17
VB6.0の場合は、単純にそのイベントをメソッドとして扱えるので、
たとえばCommand1というボタンがあるとしたら、呼びたい箇所で

Call Command1_Click

とやればおk。
193デフォルトの名無しさん:2007/03/22(木) 14:44:09
>>192
ありがとうございます。
194デフォルトの名無しさん:2007/03/22(木) 21:07:01
ヤフオクのアカウント自動切換えツールって作れますか?
195デフォルトの名無しさん:2007/03/22(木) 23:02:46
はじめまして
プログラ素人です
目標は精密機械(ex.デジカメなど)のプログラムを
理解できるレベルになりたいです

また、プログラミングの知識も
上辺だけでなく基礎がしっかりとしたものを得たいです

PC環境はwindowsヴィスタです
どの言語から学んでいくべきですかね?
よろしくお願いします
196デフォルトの名無しさん:2007/03/22(木) 23:04:06
すません 
ごばっくです
197デフォルトの名無しさん:2007/03/23(金) 00:18:11
>>192
いやいや、ここはかっこつけて
Command1.Value = True
とやるもんですよ。
198デフォルトの名無しさん:2007/03/23(金) 00:38:44
でヤフオクのログインソフトはどうやって作るの?
199デフォルトの名無しさん:2007/03/23(金) 02:24:09
VB6.0で、コンポーネントの追加をしようとすると
ファイルが見つかりません。'C:\WINDOWS\system32\ieframe.dll\1'
とエラーがでるのですがどうしてですか?
200199:2007/03/23(金) 03:51:51
直りました
201デフォルトの名無しさん:2007/03/23(金) 12:41:21
不躾なんですが、VBでクリスタルレポートのプレビューを開くとき
最大化の状態で表示させたいのですが・・
まったくもって検討がつきません。
どなたか、わかりませんか?
202デフォルトの名無しさん:2007/03/23(金) 15:25:42
ds
203デフォルトの名無しさん:2007/03/23(金) 21:43:30
>>201
マキシマーイズwwww
204デフォルトの名無しさん:2007/03/24(土) 14:59:37
製作途中のプログラムでFORM1〜3まであったのですが、
プログラムを丸ごと違うフォルダに移動させ起動させたら
スタートアップが必要だとエラーがでて起動できず、
元のあった場所に移動させても同じエラーがでて起動できずフォルダの中身を見たら
FORM1だけ内容が変わっており起動できなくなっていました
FORM1の内容がかなり前の内容に変わっていたのでもしかしたら移動する際に前にバックアップに保存しておいたものの上にFORM1だけは上書きせずに他は上書きしてしまったのかもしれません

この消えてしまったFORM1をなんとか復元することはできないでしょうか?
205デフォルトの名無しさん:2007/03/24(土) 17:33:15
もとのForm1が存在するならいけるけど
すでにHDDに存在しない場合復元ソフト使うくらいしか…・

というか、バージョン管理ソフト使えってwwww
VSSとかバージョン戻せたりするし
206デフォルトの名無しさん:2007/03/24(土) 18:17:13
復元ソフトは使ってみたのですがformを消したわけではないからかスキャンしてもでてきませんでした
管理ソフトとかあるんですねこれから気をつけます
207205:2007/03/24(土) 21:44:43
フォームが存在しているならプロジェクトをメモ帳とかで開いて修正する手があるよ
一か所だけじゃないけどそれで治った時もあった
バックアップとってやってみるのも手だね
208デフォルトの名無しさん:2007/03/25(日) 21:04:57
ttp://sakuratan.ddo.jp/uploader/source/date36139.txt

rename.vbs にmp3ファイルをドロップすると、VBSファイルと同一フォルダ
のファイル数を数えて、ドロップしたファイルの名前を変更してVBSファイルと
同一フォルダにコピーするようなスクリプトを作りたいのですが、なかなか上手くいきません。
上記スクリプトをどのようにすればよいでしょうか?

分かる方いらっしゃいましたら教えてください。
209208:2007/03/26(月) 00:30:07
>>208

解決しました。どうも失礼しました。
210デフォルトの名無しさん:2007/03/26(月) 19:17:47
VB6にはStringを数字に変換する関数はないんでしょうか?よろしくおねがいします
211デフォルトの名無しさん:2007/03/26(月) 19:58:04
cint関数ではどうでしょう?
212デフォルトの名無しさん:2007/03/26(月) 21:28:44
間違ってMSGBOXの無限ループを作ってしまいました
今IDEから実行してるのですがどうすれば止まりますか?
ソースを失いたくないです><
213デフォルトの名無しさん:2007/03/26(月) 21:29:49
Ctrl+Alt+Del
214デフォルトの名無しさん:2007/03/26(月) 21:32:55
VB6.EXEを止めたらソースを失いました
本当にありがとうございました
215デフォルトの名無しさん:2007/03/26(月) 21:38:38
>>213
おまぃ鬼だなwwww
CTRL+BREAK
これでデバッグのステップ画面になる

>>214
メッセージボックス出てる時に押せば、そのメッセージ閉じたときにステップになる
216デフォルトの名無しさん:2007/03/26(月) 22:21:41
VB を止めるなよw
217デフォルトの名無しさん:2007/03/26(月) 22:23:52
>>216
さすがに
>>213
だされたら止めるより他にはないとか考えそうじゃね?www
218デフォルトの名無しさん:2007/03/26(月) 22:27:17
俺いつもVB止めてたよ
いい事を聞いた
219デフォルトの名無しさん:2007/03/26(月) 23:00:26
俺も俺も
220デフォルトの名無しさん:2007/03/26(月) 23:00:55
なんてこったぃwwww
みんなの役に立てて少しだけうれしいよwww
221デフォルトの名無しさん:2007/03/26(月) 23:08:16
レベル低いw
222デフォルトの名無しさん:2007/03/26(月) 23:11:20
初心者向けだしなw
この板は質問しにくいスレが多いから集まるんだろうな
223デフォルトの名無しさん:2007/03/26(月) 23:14:03
そうか?
あんまそうは思わないが・・・
確かにエスパーは叩かれるが
224デフォルトの名無しさん:2007/03/27(火) 09:11:16
CTRL+BREAK
のbreakキーってのが分からんとか言ったら叩かれますか?
225デフォルトの名無しさん:2007/03/27(火) 09:18:05
ちょw それPC初心者スレ辺りでこっそり聞いてこいよww
226デフォルトの名無しさん:2007/03/27(火) 09:46:23
ちょっwwww
キーの右上あたり捜してみ?

プリントスクリーン付近にあるから
PasusetかBreakとか書いてるぞ
227デフォルトの名無しさん:2007/03/27(火) 11:31:00
あー…あった。
こんなキー使わんからパソコン歴結構あるのに分からんかたヨ…
228デフォルトの名無しさん:2007/03/27(火) 16:57:28
教えて下さい。VB6.0を使用しています。
 Windows Media Playerをフォームに貼り付けたのですがどうやって指定したファイルを開き動画を再生させるかわかりません。
 宜しくお願い致します。
229デフォルトの名無しさん:2007/03/27(火) 17:32:47
>>228
使ったことないけど確かSDK公開されてるんじゃなかったけ?
マイクロソフトのMSDNかどっかに
230デフォルトの名無しさん:2007/03/27(火) 18:00:41
そういうのはたいていはOpenメソッドだと思うけど、はて・・・
231デフォルトの名無しさん:2007/04/12(木) 23:56:29
簡単な計算ができる電卓をつくりたいんですが
x + y =
はできるんですが
x + y + z =

(x + y) + x 
みたいな感じでかけばいいんですか?
イメージはなんとなくわかるんですが説明お願いします
くだらない質問ですいません
VB6.0です
232デフォルトの名無しさん:2007/04/13(金) 00:15:17
ドンラーポ
233デフォルトの名無しさん:2007/04/13(金) 03:03:33
234デフォルトの名無しさん:2007/04/13(金) 20:48:18
課題で「マウスでクリックした2点を直線で結ぶプログラム」を作りたいんですけど、
全くの初心者で何も分かりません。
初心者向けのヒントください。お願いします。
235デフォルトの名無しさん:2007/04/13(金) 20:59:42
>>234
歩ける状態で5k円くらいあるなら本屋へ直行
それか教官に聞く
236デフォルトの名無しさん:2007/04/15(日) 03:03:56
>>234
これとか参考になるよ。
http://www.mitene.or.jp/~sugisita/vb6_grph.html
237デフォルトの名無しさん:2007/04/16(月) 16:35:09
質問があります。

VB6.0なのですが、
Formのどのコンポーネントにフォーカスがあったとしても、ただ一箇所に
あるキーダウンイベントを取得することできるでしょうか?

どのコンポーネントにフォーカスがあっても
CTRL+Zのイベントを拾いたいのです。
238デフォルトの名無しさん:2007/04/16(月) 17:00:23
>>237
隠しメニューつくったら どうだろう  誤ってctrl+Vにショートカット割振ってしまったことがある
Zも元に戻すがデフォだよね
239237:2007/04/16(月) 17:09:36
すいません自己解決しました。。。
メインフォームにKeyPreviewというプロパティがあり、これをtrueにすると
メインフォームのKeyDownでイベントを拾うことができました。

次に、というわけではないのですが、
もし知っていたら教えてほしいのですが、
同様にMouseDownイベントを拾うことはできるでしょうか?
240デフォルトの名無しさん:2007/04/16(月) 17:12:47
>>239
やった事ないけど全てのコントロールのイベントに一個そういう処理用のプロシージャ呼ぶようにするとか?
流石にコントロールは出来ないんじゃないかな・・・と VB素人な折れが言ってみる
241237:2007/04/16(月) 17:22:42
>>240
ありがとうございます。

コンポーネント全部にイベントを追加するのは厳しいフォーム設計になって
います…。また、今後、私以外が保守するときに余計な特殊仕様みたいにな
ってしまいそうな気もします。
VB素人が保守してる現状がそもそもどうかと思いますが…。

シンプルになる方法を模索したいと思います。
242240:2007/04/16(月) 17:23:34
もうサブクラス化してメッセージフックしろwwwww
243デフォルトの名無しさん:2007/04/16(月) 17:36:08
Form.KeyPreview
244デフォルトの名無しさん:2007/04/16(月) 18:02:45
Vista でVB6.0使っている人いますか?
Xpの調子が悪くなって、Vistaは購入することが決まっているので、
乗り換えようかと思って…。
245デフォルトの名無しさん:2007/04/17(火) 10:09:14
>>241
一つクラスを作成し、コントロールの型別にWithEventsで定義させて
そのクラス内でイベントの処理をするとかは、どうでしょうか。

クラスでの宣言はコントロール数分ではなく、使用している型数分で済みます。
246デフォルトの名無しさん:2007/04/17(火) 10:23:23
VBの変数で、変数の後ろに # や $ つけるとどういう変数なんでしたっけ?
247デフォルトの名無しさん:2007/04/17(火) 10:29:36
>>246
型指定されたやつ

$ だと明示的に文字列という宣言
詳しくはMSDNで見て
型宣言文字とかで出てきたと思う

あと、それをつける理由は例えばStringとかMSDNで調べてみて
実際にStringがどういう風になっているかがわかるから

説明ヘタでスマン
248241:2007/04/17(火) 10:30:53
>>245
ありがとうございます。

でも私のスキルが…orz
その文章の単語をキーワードにして調べながらやってみたいと思います。
また質問するかも知れませんがそのときはよろしくお願いします…。
249デフォルトの名無しさん:2007/04/17(火) 10:33:00
>>247
今、手元にMSDNがない環境でしたので
質問させていただきました
でも、なんとなくわかりました
ありがとうございました^^
250デフォルトの名無しさん:2007/04/19(木) 18:35:55
フォームのフォーカスが外れたときか非アクティブになったときに、自分自身を終了させるにはどうしたらいいのでしょうか?

Private Sub Form_Deactivate()
  MsgBox "hoge"
End Sub

Private Sub Form_LostFocus()
  MsgBox "hoge"
End Sub

ってやっても、hogeが出てくれないですし、アプリケーションの終了の仕方もわかりません。
どうか教えてください。VB6.0です。
251250:2007/04/19(木) 19:06:14
アプリケーションの方法はわかりました。
Unload Me
でした。

これをウインドウが非アクティブになったときに実行したいのですが、
Private Sub Form_Deactivate()
  Unload Me
End Sub
で、うまくいきません。
252デフォルトの名無しさん:2007/04/19(木) 19:10:04
同じプロジェクト内の別フォームにフォーカスが移れば、
そのタイミングでLostFocusイベントが発生するが。

それとは違うの?
253デフォルトの名無しさん:2007/04/19(木) 19:21:31
>>252
フォームは一つなんです。単体で。
254デフォルトの名無しさん:2007/04/19(木) 19:26:34
終了ボタン付けちゃいけない理由が不明
それともボタンコントロールも知らんのか?
255デフォルトの名無しさん:2007/04/19(木) 19:30:18
TimerとAPIの使い回し以外にいい方法があるとしたらCommandButton使うってだけだろうかw
256デフォルトの名無しさん:2007/04/19(木) 19:31:01
終了ボタンもなければ、BorderStyleも0にしてるんで、
終了させるには、他のアプリがアクティブになったときや、自作アプリが非アクティブになったときに自動で終了してくれないと
面倒なので。
ツールチップみたいなものです。
257デフォルトの名無しさん:2007/04/19(木) 19:44:30
TimerとGetActiveWindowで監視する以外の方法はわからん。
258デフォルトの名無しさん:2007/04/19(木) 19:50:07
ドトネトならお望みの動作一撃なんだがな・・・・

1.プログラムが起動したらAPIで現在アクティブなウィンドウハンドルを取得

2.で、そのアクティブなウィンドウハンドルを保持して
そのフォームの中の処理でWindowsで現在アクティブなウィンドウを常にチェック

3.比較して起動時と異なっていたらアンロード

2はフック使ったほうがスマートかもしれんが
なんとなくこんなの思いついてみたというのをかいてみた
259デフォルトの名無しさん:2007/04/19(木) 19:50:12
>>257をコードで書くとこんな感じ。

Private Declare Function GetActiveWindow Lib "user32" () As Long

Private Sub Timer1_Timer()
If Me.hWnd <> GetActiveWindow Then Call Unload(Me)
End Sub

これ以外にも方法はあるんじゃないかと思うが、
俺的にはこれくらいしか分からないや、ごめんよ。許して。
260259:2007/04/19(木) 19:54:21
>>258と被った///
261デフォルトの名無しさん:2007/04/19(木) 19:57:49
>>260
俺も思ったw

というか、ちょっとサブクラス化してメッセージ受け取ったら出来るような気がしたんで
ちょっと書いてみる

VBあんま使った事ないから出来なくても怒るなよw
262デフォルトの名無しさん:2007/04/19(木) 20:00:06
>>261
サブクラス化でも可能だけどお勧めしない。

無限ループ(上の例ではタイマー)で都度自分の状態を確認する手法(イベントドリブン)の方が
VBでサブクラス化するより余程いいと思う。
263デフォルトの名無しさん:2007/04/19(木) 20:00:36
おお!ありがたや、ありがたや。
思ったとおりの動きが出来ました。
みなさん、ありがとうございました。
264デフォルトの名無しさん:2007/04/19(木) 20:06:45
お布施をくだs(ry
265デフォルトの名無しさん:2007/04/19(木) 20:13:05
俺のケツでよかったら・・・
266デフォルトの名無しさん:2007/04/19(木) 20:13:36
>>262
VB6の動きをムリヤリ変えてるようなもんだしね 俺もそう思って>>258かいたんだ
まぁ、そのタイマーとかの監視が嫌だったらって感じだったんだよ

>>263
おめでとw

とりあえずフックでも出来たけどやっぱデバッグで止めたらIDE落ちるからめんどくせぇwwww
267258:2007/04/19(木) 20:21:18
>>266
あれ、俺がいる・・・?w
268259:2007/04/19(木) 20:23:44
>>267
きっとそれはドッペルだな。
俺のドッペルはいないみたいだ。安心安心♪
269デフォルトの名無しさん:2007/04/24(火) 09:35:53
Windows共有フォルダのアクセス権限変更ツールってVBでは作れない?
270デフォルトの名無しさん:2007/04/24(火) 10:29:50
できるだろうけど、非常に難しいと思われ

コノあたりかな つ SECURITY_ATTRIBUTES
271デフォルトの名無しさん:2007/04/24(火) 10:54:14
d。ググってみる。
272デフォルトの名無しさん:2007/04/24(火) 11:10:32
書籍一覧がヒットしますたorz

CreateFileとかCreateDirectoryって、
ファイルやフォルダを作成した上で、
それのセキュリティを同時に設定しようってやつだよね。

それじゃないんだよなぁ。

まぁ要望は「もし出来たら」ってことだから、
「出来ません」って言って終わりにしちゃおっかな。。
単なるオプション機能だしw
273デフォルトの名無しさん:2007/04/24(火) 15:06:51
質問があります。

VB6.0なのですが、
Dim picture As Picture
picture = LoadPicture("HOGE.GIF")
とやると画像の読み込みは成功するのですが、
WidthとHeightを見てみると、ピクセル数ではなく何かとんでもない数値が
入っていました。

調べてみると、ここは0.01mm単位でのポイント数になっており、
ScaleX メソッドおよび ScaleY メソッドを使って必要なスケールに変換する
らしいのですが、ちょっと意味が分かりません。

単純にピクセルに変換できる方法などをご存知でしたら教えてもらえないで
しょうか。宜しくお願いします。
274273:2007/04/24(火) 15:32:50
自己解決しました。。。

picture_width = ScaleX(picture.Width, 8, 3)
picture_height = ScaleY(picture.Height, 8, 3)

これでピクセル数を算出することができました。
どうもお騒がせしました。
275デフォルトの名無しさん:2007/04/24(火) 19:33:25
>272
NTFSのアクセス権限なら、
SetNamedSecurityInfoのあたりだったとおもう。
もものすごく面倒くさかった記憶しかない。

ファイル共有の権限のほうなら、net shareを叩いて
弄った方が早いと思うけど。
276デフォルトの名無しさん:2007/04/25(水) 11:31:17
>>275
ファイル共有の方でござる('A`)
277デフォルトの名無しさん:2007/04/30(月) 03:41:54
VB6のリソースファイルの
MIDIファイルを再生することは
できるのでしょうか?

リソースにMIDIファイルを埋め込むことは
できたのですが、そこからがわかりません。
できれば他のOCXやDirectXはつかわないで
APIなどだけでおこないたいです。
278デフォルトの名無しさん:2007/04/30(月) 18:44:44
コードを区切りたいときはどうしたらよいですか?
ほんと初心者ですみません
279デフォルトの名無しさん:2007/04/30(月) 18:53:41
>>277
やったことないけど、
リソースからバイナリデータとして受け取って、一時ファイルに書き出してから再生させてみては?

>>278
もっと説明ちょーだい
280278:2007/04/30(月) 20:41:06
>>279
長い分をかくときに二行にわけたいだけです
改行です
281デフォルトの名無しさん:2007/04/30(月) 20:59:37
>>280
それなら
a = _
  1 _
  + _
  2
みたいな
名称忘れた
282278:2007/04/30(月) 22:31:42
>>281
ありがとうございます
283デフォルトの名無しさん:2007/05/02(水) 17:02:04
アホみたいな質問で悪いが、VB6のコードエディタでタブ文字は使えないのか?
半角スペースにされるとちと困るので。
284デフォルトの名無しさん:2007/05/02(水) 17:52:15
何故困る?
285デフォルトの名無しさん:2007/05/02(水) 18:22:06
メニューバーの[ツール]→[オプション]
ここで設定出来ないなら諦めた方が早くね?

別にタブ文字をオンコードしなきゃいけないってことはないだろーに。
タブ文字の出力はvbTabで出来るからな。

塚、あれか。
VBエディタって確かUnicodeだよな。
Unicodeでタブ文字表示しようとすると中黒になるんじゃなかったか?
286デフォルトの名無しさん:2007/05/02(水) 18:41:25
やっぱ無理か
同じ部署のやつがタブコピペしたらスペースになるってうるさいだけだから放置しとくよ。
thx
287デフォルトの名無しさん:2007/05/03(木) 15:39:58
VB5.0とVB6.0の違いって何なんですか?
288デフォルトの名無しさん:2007/05/03(木) 19:22:22
バージョン
289デフォルトの名無しさん:2007/05/03(木) 19:23:19
つまり文法的な違いは無いということですか?
290デフォルトの名無しさん:2007/05/03(木) 19:49:36
6.0で新規の組み込み関数とかあるけど、
文法で躓くことはないと思う。
291デフォルトの名無しさん:2007/05/04(金) 21:16:57
VB5を使っている日曜プログラマーです

今ファイルの移動・削除をするプログラムを書いています。
通常のファイル移動はNameステートメントを使い、削除はSHFileOperationでゴミ箱に捨ててます。

移動の際はログファイルを吐いてUndo可能にしているのですがゴミ箱に捨てたファイルの
Undoのやり方が分かりません。
どのようにコーディングしたら良いのでしょうか?
292デフォルトの名無しさん:2007/05/04(金) 22:48:18
>>291
アプリでWindowsのUndo機能をそのまま実装するのは難しいと思います。

ファイルの移動でundo機能のためにログを吐いてるのと同じように、
そのアプリ用にtempフォルダを作成し、ごみ箱に捨てるタイミングで
tempにファイルを移動、その情報をログに保存しておけば、ファイルの
復元を疑似的には実装出来ると思います。
293デフォルトの名無しさん:2007/05/04(金) 23:40:35
>291
ちょっと調べてみましたが、意外に難しいというか、MSからの情報がないというか。
ttp://mtamaki.cocolog-nifty.com/blog/2005/01/post_f992.html
ttp://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200310/03100013.txt
あたりを参考にしてみてはいかがでしょうか。
294291:2007/05/05(土) 00:09:35
>>292-293さん レスありがとうございます

>ttp://mtamaki.cocolog-nifty.com/blog/2005/01/post_f992.html
>ttp://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200310/03100013.txt
参考になりました、なりましたけどう〜んと唸ってしまいます

ゴミ箱を直接いじれるので仕方ない仕様なのかも
295293:2007/05/05(土) 00:47:58
>294
Win32APIスレの連中ならもう少し真っ当な回答をしてくれるかも。
296デフォルトの名無しさん:2007/05/05(土) 02:00:37
shell.applicationの
folder.movehere folderitem
で駄目?
297デフォルトの名無しさん:2007/05/05(土) 08:03:44
>>296
ありがとうございます。実験はまだですがNameステートメントと違い自前のエラートラップを
減らせそうですね。ゴミ箱からのUndoに役に立つのかどうかはよく読み取れませんでした。
298デフォルトの名無しさん:2007/05/05(土) 14:18:43
VB6なのですが、キーボードショートカットのカスタマイズはできますか?
やり直しをメニューでやってるのですが、Ctrl+YかCtrl+Shift+Zでやりたいなぁと
思ったのですが、ヘルプや設定を見てもそれっぽいのが無かったので。
299デフォルトの名無しさん:2007/05/05(土) 15:02:51
>>291
set folderitem=ゴミファイル
folderitem.invokeverb "元に戻す(&E)"
または>>296
set folder=戻し先
set folderitem=ゴミファイル
folder.movehere folderitem
300デフォルトの名無しさん:2007/05/05(土) 20:10:40
「ゴミファイル」の特定が難しいのれす
ファイルさえ特定できればその通りなんでしょうけど
http://mtamaki.cocolog-nifty.com/blog/2005/01/post_f992.html
の方法を使う場合XPと2K限定っぽいし、Vista持ってないから
分かりませぬが・・・

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200310/03100013.txt
こちらはExplorer同様直前の動作のUndoなわけで
301デフォルトの名無しさん:2007/05/05(土) 20:17:42
名前と元の場所で絞って、削除した日の新しいもの
302デフォルトの名無しさん:2007/05/05(土) 20:50:00
ごめんなさい、どうもアドバイスが高度すぎてついていけませぬ
このFileはCloseさせて頂きます
303デフォルトの名無しさん:2007/05/06(日) 22:14:31
folder.getdetailsof(folderitem,数字)で情報が取れる。
あと、日曜プログラマーならwsh/vbscriptがお勧め。
304デフォルトの名無しさん:2007/05/08(火) 11:37:48
適当なスレがなかったのでここで。

新しいPCを購入。OSはXPです。
そこでVisual Studio 6.0 をインストールしようとすると、
「Microsoft Virtual Machine for Javaのインストールを行う画面」
にて再起動を促され、指示に従うと再起動後、また同じ画面になりインストールが進みません。
またこれをインストールしないと次ボタンが有効にならないため、インストールが進みません。

調べたところ、Microsoft Virtual Machine for Javaの提供終了と関係がありそうでしたが、結局インストール方法がみつかりませんでした。
どうすればよろしいでしょうか?
305デフォルトの名無しさん:2007/05/08(火) 12:12:03
>>304
インスコ中断して、事前にjavaVMを入れればそこで聞かれなくなるハズ。
306デフォルトの名無しさん:2007/05/08(火) 13:35:03
>>305
なるほど。そういえば今までのマシンでは聞かれたことがありませんでした。
最近のPCだとサポート終了確定のJavaVMはプレではいってないのはわかるが、
じゃあJavaVMいれてインスコしたあとJavaVMをアンインスコでやってみるよ。
307デフォルトの名無しさん:2007/05/09(水) 17:30:58
質問があります。
VB6.0なのですが、CommandButton の Caption を
「決定(&E)」
とすると、"決定"の横に、アンダーバーのある (E) が出ます。

これ、(A)とか(B)とか1文字のはいいんですが、
(DEL) (INS) (ESC) のように、
DELキーやINSキーやESCキーを同じように出すことは可能でしょうか?
308デフォルトの名無しさん:2007/05/09(水) 19:13:01
(&D&E&L)
できるか知らん
309デフォルトの名無しさん:2007/05/09(水) 19:40:15
>>307
DELとかINSとかにアンダーバーを付与させることは不可能だが、
メニューのショートカットキー機能を使えば、
押下されたキーでそのボタンに対応した動作を行うことは多分可能。
310デフォルトの名無しさん:2007/05/09(水) 19:43:20
メニューの親ボタン(っての?)を非表示にしちゃうと不可能だな
311デフォルトの名無しさん:2007/05/09(水) 20:00:12
>>307
漏れが読解力無くてすまないが・・・

altキーとDELキーやINSキーやESCキーを組み合わせた
ショートカットキーを作成したいという意味だったりする??
312デフォルトの名無しさん:2007/05/10(木) 09:36:45
>>311
Alt使ったらホットキーって言わね?
313307:2007/05/10(木) 09:52:05
遅レス、すいません。

>>308
(&D&E&L)は駄目でした…

>>309
キーの判定は、Form.KeyPreviewをtrueにした上で、FormのKeyDownイベントを
拾うことで実現できました。

>>311
いえ、組み合わせは考えていません。
DELキーのみや、ESCキーのみなどのように1つだけです。

色々試してみたのですが、無理っぽいですね。
重要でもないですし、諦めようと思います。(各ボタンのToolTipTextに記載する方法にしました)
皆さん回答ありがとうございます。
314デフォルトの名無しさん:2007/05/10(木) 16:08:03
>>311
ESCキーとか標準の窓操作に使われてるからそんなのに使用しないほうがいい。

例;メニューを開いた状態でESCキーではメニューが閉じる
315デフォルトの名無しさん:2007/05/10(木) 16:28:14
>>314
311が使用したいと思っているのわけではないだろう。
316314:2007/05/10(木) 16:49:36
>>315 本当だ。レス番号を間違えたよ >>307だった
317デフォルトの名無しさん:2007/05/10(木) 20:27:34
VB6.0というのを使ってみたいのですが、VisualStadioの中に入ってるものなのでしょうか?
318デフォルトの名無しさん:2007/05/10(木) 22:19:26
>>317
入ってる。 当然バージョンが6.0ならだけどね。

俺も昔はviエディタとにらめっこだったから
Windows系の開発にウトイのはわかるぜよ。
319デフォルトの名無しさん:2007/05/10(木) 22:38:13
VisualStadioてぇのはないだろ
320デフォルトの名無しさん:2007/05/10(木) 22:44:35
はいはい。Studio、Studio。これでいい?
321デフォルトの名無しさん:2007/05/10(木) 22:57:48
ごめんなさい
スタジオ間違ったなと思いつつ・・・
>>318
ありがとうございます
もう0からの独学の状態でして、助かりました
322デフォルトの名無しさん:2007/05/11(金) 00:52:12
テキストボックス上でEnterキーを押した時に鳴る
「ポンッ」て音がいやなんですけど、音が出ないようにする方法はありますか?
323デフォルトの名無しさん:2007/05/11(金) 00:56:01
>>322
あるけど、あんたの期待している答えなら無い。
324314:2007/05/11(金) 09:55:52
>>317
VisualStudio6.0はもう販売してないぞ。
VB6.0のみならまだ単体で出ているので大丈夫だ

>>322
スピーカーをビルの屋上から落とす
325314:2007/05/11(金) 09:57:31
>>322
考えたけど、マルチラインにしてキー入力ごとのイベントをつかみ、
毎回改行をカットする。
326デフォルトの名無しさん:2007/05/12(土) 07:30:57
普通に改行カットするだけでいいんだけど
keydownの
if keycode = &hd or keycode = &ha then
keycode = 0
end if
327デフォルトの名無しさん:2007/05/12(土) 16:13:50
(x,y)のプロットで、
(1,1)
(2,4)
(3,2)
(4,8)
の4点を通る3次曲線y=ax^3+bx^2+cx+dの、
定数、a,b,c,dを求めるプログラムを作りたいのですが…。

今までエクセルのソルバーで計算させていたのですが、
VB6.0でこの4点のプロットからa,b,c,dを出すプログラムは、
どうすればいいんでしょうか?

VBでの連立方程式やら二次方程式やらをググってもみたのですが、
さっぱりでして…。

御助言お願いします。
328デフォルトの名無しさん:2007/05/12(土) 16:52:11
4変数4本の連立一次方程式でそ。
アルゴリズム辞典とかで行列の掃き出し法を
ひけばおわる
329デフォルトの名無しさん:2007/05/13(日) 17:38:55
http://www.imgup.org/iup380485.png
”商品代金”と”支払い金額”を入力し
もし支払い金額textboxが商品代金textbox未満なら釣銭textboxに不足と表示
もし支払い金額textboxが商品代金textboxを超えている場合は釣銭textboxに釣銭の金額を表示し
更に釣銭金額の各紙幣ないし硬貨の個数を各々の項目の隣に別のラベルとして表示せよ

という課題があるのですが
釣銭金額の各紙幣ないし硬貨の個数を各々の項目の隣に別のラベルとして表示ってどうやるんでしょうか?
330デフォルトの名無しさん:2007/05/13(日) 17:57:18
http://www.imgup.org/iup380496.png
簡略した流れ図にすると、こんな感じでしょうか・・・
331デフォルトの名無しさん:2007/05/13(日) 18:41:52
>>330
自販機のアルゴリズムっぽいけど
千円札がない場合は、購入する前に
札がないランプが点いてるだろうから購入すらできない
=「千円札があるかないか」の分岐は意味ない様な希ガス
全部硬貨で出すのならまた別だろうけど。。。
332デフォルトの名無しさん:2007/05/13(日) 18:43:54
>>329
> 釣銭金額の各紙幣ないし硬貨の個数を各々の項目の隣に別のラベルとして表示ってどうやるんでしょうか? 
「一万円札」
「五千円札」

って描かれている場所の水平方向右に適当な余白を置いて、Labelコントロールを配置する
で、紙幣の枚数または硬貨の個数をそのラベルのCaptionとして設定すればいいのではないかと思われ
333デフォルトの名無しさん:2007/05/13(日) 18:48:39
全部一円玉で返せばいいじゃん(w
334デフォルトの名無しさん:2007/05/13(日) 18:51:10
与えられた金額に対応する、紙幣・硬貨の最適な組み合わせを表示するプログラム
Option Explicit

Private Sub Form_Load()
    Const a = (10000# + 8500# + 9230# + 100# + 500#) * 1.05
    Dim v   As Variant
    Debug.Print Int(a); "="
    For Each v In getMoneys(Int(a))
        Debug.Print v(0) & "×" & v(1)
    Next
End Sub

Private Function getMoneys(ByVal in_Money As Double) As Collection
    Dim v   As Variant
    Set getMoneys = New Collection
    For Each v In Array(10000, 5000, 2000, 1000, 500, 100, 50, 10, 5, 1)
        Call getMoneys.Add(Array(v, in_Money \ v))
        in_Money = in_Money Mod v
    Next
End Function
335デフォルトの名無しさん:2007/05/13(日) 21:13:38
万札のつり銭ってどういう状況なんだろうな。
デノミ後の日本を想定してるんだろうかw
おまけに>>329のフォームはどう見てもドトネトのだし

だいいち、宿題は自分でやらなアカンやろ。
できないなら素直に単位落とせよ。
336デフォルトの名無しさん:2007/05/14(月) 09:52:02
>>335
しょせん大学生だといってもこんなもんだな
スレタイすら読めないというwwww
337デフォルトの名無しさん:2007/05/14(月) 10:08:46
万札の釣り銭は、払いすぎた時に生じるんでないかい?
流れを全く読まずにレスするが。
338デフォルトの名無しさん:2007/05/14(月) 10:25:22
>>337
商品にもよるけどお札は一枚しか受け付けない仕様でよくないかい?

多分一万入れてキャンセルした時の仕様だろうなぁ・・・・
とマジレス
339デフォルトの名無しさん:2007/05/14(月) 12:22:33
アルゴリズム作るのが楽しめないなら そういう職種を選ばない方がよさげ
340デフォルトの名無しさん:2007/05/14(月) 21:37:43
>>327と似てる?気がするんですが、
数点のx,y座標より、最小2乗法で3次曲線y=ax^3+bx^2+cx+dの係数a,b,c,dを出したいんですが、

ttp://homepage1.nifty.com/gfk/square_ren.htm
を参考に考えてはみたものの、

>逆マトリックス( A-1 ) の計算
>逆マトリックス( A-1 ) × ベクトル( b ) の計算

というのが、vbでどう考える(置き換える?)べきなのか、わかりません。
何かいい方法ありますでしょうか?
341デフォルトの名無しさん:2007/05/14(月) 21:57:24
・行列クラスを作る
・ベクトルクラスを作る(こっちは構造体でもいいかもしれない)
・行列クラスに自分の逆行列を求めるメソッドやベクトルとの積を求めるメソッドを書く。
342デフォルトの名無しさん:2007/05/15(火) 15:54:24
二つの文字列を連結するにはどうしたらいいですか?
343デフォルトの名無しさん:2007/05/15(火) 16:00:42
"a" & "b"
じゃなかった?
344デフォルトの名無しさん:2007/05/15(火) 18:02:32
>>342
str = "a" & "b"

もしくは

str = Join( Array( "a", "b" ), vbNullString )
345デフォルトの名無しさん:2007/05/15(火) 18:50:06
すみません、助けてください。
Win2k-sp4にVB6をインストールできなくて困ってます。

CDを入れてすぐ、「Virtual machine for javaの更新」というチェックが表示されて、
次へ進もうとすると「再起動します」ダイアログ→[OK]ボタンで再起動すると、また最初の「Virtual machine・・・・」

の、繰り返しで先へ進めません。
あれこれ検索してみましたが、それらしい同様の症状を見つけることが出来ませんでした。
何か環境が足りないのでしょうか?Windowsはクリーンインストール状態です。
宜しくお願いします。
346デフォルトの名無しさん:2007/05/15(火) 18:51:36
MSDNにJavaのいらないVBがあった希ガス
347デフォルトの名無しさん:2007/05/15(火) 18:55:38
>>343,344
ありがとうございます。VBに慣れてないと思いつきづらい様な感じですね。
348デフォルトの名無しさん:2007/05/15(火) 19:30:39
>>345
他スレでも見た気がするが…マルチか?

VMインスコ→VBインスコ→VMアンインスコ

こんな流れだったような
349345:2007/05/15(火) 19:52:07
ありがとうございます。

>>346
探してみます。

>>348
いえ、初めての質問です。
その流れで試してみます。
「VMインスコ」というのは、"msjavx86.exe"を単体で実行する、という事でよろしいのでしょうか?

実機が今手元に無いもので、確認とれずすみません。。。
350デフォルトの名無しさん:2007/05/17(木) 22:18:55
テキストボックスにdoubleで宣言した値を入れると
2.33333333332673E-04
のようになるのを、
0.000233333のようにEで表記しない方法で貼り付ける方法はないでしょうか?
351デフォルトの名無しさん:2007/05/17(木) 22:20:30
Format
っていうか、VB6の初心者スレなんて意味あんのか?
現時点でVB6学び始めてどうするんだよw
352デフォルトの名無しさん:2007/05/17(木) 22:31:21
業務でしゃぁなしもいるんだよwwww
353デフォルトの名無しさん:2007/05/17(木) 23:04:58
MSChart使ってy=x^2+xの二次関数のグラフ書きたいんだが、
xは1〜50の領域で表示したいなら、

ChartType=VtChChartType2dLine

for x=1 to 50
y=x^2+x
next

何かけばええの?w
サンプル見ても棒グラフばっかで、チンプンカンプン
354デフォルトの名無しさん:2007/05/17(木) 23:13:49
>>352
VB厨は質問者がVBしか経験がないという前提で
書き込むよな。 >351とか正にそうだ。
355デフォルトの名無しさん:2007/05/17(木) 23:15:57
>>354
不思議な思考をする奴だな。
こういう非論理的な人間はプログラマ向かないよ。
356デフォルトの名無しさん:2007/05/17(木) 23:22:33
>>355
専用ブラのオマイw

キンタマに(ry
357デフォルトの名無しさん:2007/05/17(木) 23:26:51
>>355
まぁちょっと叩かれたからって
そう気張るなよ?な?肩の力抜いていこうぜ?
言語なんてしょせん方言だ
358デフォルトの名無しさん:2007/05/17(木) 23:36:16
     _____
   /::::::::::::::::::::::::::\〜プーン
  /:::::::::::::::::::::::::::::::::::::::\〜プーン
  |:::::::::::::;;;;;;|_|_|_|_|〜プーン
  |;;;;;;;;;;ノ∪  \,) ,,/ ヽ〜
  |::( 6∪ ー─◎─◎ )〜       >>355
  |ノ  (∵∴ ( o o)∴)〜      
  | ∪< ∵∵   3 ∵> ムッキー!    
  \        ⌒ ノ_____
    \_____/ |  | ̄ ̄\ \
___/      \   |  |    | ̄ ̄|
|:::::::/  \___ | \|  |    |__|
|:::::::| \____|つ⊂|__|__/ /
|:::::/        | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕
359デフォルトの名無しさん:2007/05/19(土) 21:28:03
>>353なんですが、
もしかしてVBでこういう曲線のグラフって、pictureに描画するのが一般的なんですか?
MSchartをイジってたんだけど、中々エクセルでいうところの散布図みたいなのが出来ない。。。
360デフォルトの名無しさん:2007/05/19(土) 23:15:20
どこの一般を聞かれてるのかわからんが
日曜プログラマの俺は金が無いので自力で全部書いてる
もしかしたらExcelのコンポーネントで出来るかもしれないけど、取り扱いに気を使いそうだから全くしらない
361デフォルトの名無しさん:2007/05/20(日) 02:09:17
俺はExcelでできるかどうか調べる前に
自前(PictureBox)で実現しようとするかな・・・
362デフォルトの名無しさん:2007/05/20(日) 04:58:57
むしろエクセルに依存したりサードパーティにあんま頼りたくないので自前で
363デフォルトの名無しさん:2007/05/20(日) 21:27:46
Excelじゃ無くてMSChartで実現したいって言ってるから、

Dim x As Single, y As Single

With MSChart1
  .chartType = VtChChartType2dLine
  .ColumnCount = 1
  .RowCount = 50
  For x = 1 To 50
    y = x ^ 2 + x
    .Row = x
    .Data = y
  Next
End With
364デフォルトの名無しさん:2007/05/22(火) 10:27:35
質問させてください。
例えば、以下の内容のCSVファイルがあったとします。
ID,TEL
1,0344445555

これを開くと、
cnDB.ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=" & strDir & ""
cnDB.Open
rsDB.Source = "SELECT * FROM テーブル"
rsDB.Open , cnDB, adOpenStatic, adLockPessimistic

結果が、TEL=344445555となり、0が消えてしまいます。
2番目のフィールドを文字列として認識してテーブルを開く方法は無いでしょうか?
365デフォルトの名無しさん:2007/05/22(火) 10:41:11
CSVにアクセスする方法がなんでもいいなら別の方法をすすめるが
その方法じゃないとダメならSQLを変えてみてはどうでしょうか〜

rsDB.Source = "SELECT ID, STR(TEL) FROM テーブル"
366デフォルトの名無しさん:2007/05/22(火) 11:01:46
>>365
ありがとうございます。
やってみましたが、0がスペースに変わっただけで、やはり思い通りには
行きませんでした。
今後、フィールドの位置の変更や、追加削除がある可能性があるので
出来れば、この方法が便利なんですけど、、、
上手くいかないので、他の方法にした方が良さそうですね、、、
367デフォルトの名無しさん:2007/05/22(火) 20:34:52
タイマーって60秒までなんだw
どうしよう・・・
5分にしたければ60秒を5回繰り返せばいいか!
368デフォルトの名無しさん:2007/05/22(火) 20:40:53
>>367
1秒を300回繰り返してもいいんだぜ
369デフォルトの名無しさん:2007/05/22(火) 20:46:43
>>368
即レスサンクス!
370デフォルトの名無しさん:2007/05/23(水) 06:53:20
時刻を記憶してだいたい100ms間隔で比べて、5分前かどうか確かめればいいんだぜ
371デフォルトの名無しさん:2007/06/01(金) 16:35:06
CPU使用率を100%にして負荷を掛ける実験ツールを作ったんだ。
シングルコアでは100%の負荷が掛かるのだが、
デュアル・クアッドコアの場合は50%・25%前後にしかならないんだ・・・。

これって、マルチスレッド・クアッドスレッドにソースが最適化されてないって事だよね?


どこかにVB6.0でマルチスレッド最適化の方法が載ってるサイトって無いかな?
372デフォルトの名無しさん:2007/06/01(金) 16:41:45
>>371
・・・・・・・( ゚д゚)
373デフォルトの名無しさん:2007/06/01(金) 17:33:38
VB6.0はマルチスレッド不可能
374デフォルトの名無しさん:2007/06/01(金) 17:36:31
それは知らなかった。
VB6.0ではマルチスレッド出来ないのか・・・。

教えてくれてありがとうございました。
375デフォルトの名無しさん:2007/06/01(金) 18:05:48
仮に使えたとしても
このような輩が使うとデッドロックとかの防御かけずに使いそうで怖いな・・・・
376デフォルトの名無しさん:2007/06/01(金) 18:21:07
だからやっぱりVBでマルチスレッドはできないようにして正解だったということでは
377デフォルトの名無しさん:2007/06/01(金) 18:38:26
VB.NETは不正解
378デフォルトの名無しさん:2007/06/01(金) 18:48:09
そんなときはコレ!

つkill -9!
kill -9, no more CPU time!
kill -9, process is still running!
379デフォルトの名無しさん:2007/06/02(土) 09:39:02
コード画面でホイールころころしても画面が動かん。
何とかしてくれ。
380デフォルトの名無しさん:2007/06/02(土) 10:29:58
ググれカス
381デフォルトの名無しさん:2007/06/02(土) 11:27:44
thxこの野郎
382デフォルトの名無しさん:2007/06/02(土) 12:11:55
しかしvb6でもマルチスレッドは使える
383デフォルトの名無しさん:2007/06/02(土) 13:15:13
API叩いても無理なのにどうするんだ?
384デフォルトの名無しさん:2007/06/02(土) 13:24:39
VCでDLLつくるんだろ
385デフォルトの名無しさん:2007/06/02(土) 13:35:09
google先生に聞いてみな
386デフォルトの名無しさん:2007/06/02(土) 20:02:39
コード画面の背景色って変えれんのか?
ググったけどわかんね('A`)
教えてくれ〜。
387デフォルトの名無しさん:2007/06/02(土) 21:02:57
コード画面の背景色ってIDEのこといってるの?

VB6のエディタはOSのコンパネ(画面の設定)で設定された色をそのまま使ってるんだろう。
っていうか、こういうOSの使い方も知らん人がコード書けるのかなw
388デフォルトの名無しさん:2007/06/02(土) 21:25:18
dクス出来ますた。
けど背景色ぐらいは設定で変えられるようにすべきだと思う(´・ω・`)
389デフォルトの名無しさん:2007/06/03(日) 00:48:04
>>386
「オプション」の「エディタの設定」の「コードの表示色」の「背景」
文字色を明るい色に変えて黒背景にも出来るお
390デフォルトの名無しさん:2007/06/03(日) 08:24:38
>>389
GJ!
391デフォルトの名無しさん:2007/06/03(日) 21:07:31
やっぱ背景は黒だな。絶対秀丸だな。
>>389お前とは上手い酒が飲めそうだ。
392デフォルトの名無しさん:2007/06/03(日) 21:08:57
>>389
俺も同意
目にやさしいしな
393デフォルトの名無しさん:2007/06/03(日) 21:42:32
そんな配色目に悪いと思うけどね。
まぶしいなら画面の輝度を調整すべきだと思うよ。
394デフォルトの名無しさん:2007/06/03(日) 21:53:38
( д )゚ ゚
395デフォルトの名無しさん:2007/06/03(日) 22:14:13
>>393
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
396デフォルトの名無しさん:2007/06/03(日) 22:41:00
いちいちAA貼り付けないと物が言えないガキを相手にしてもしょうがないけど、
そんなギャグがどこにある。

黒背景が目に悪い理由は、黒背景だと瞳孔が開きすぎるから。
というか、そんな理屈がわからなくても普通体感的に分かるだろう。
白地に黒と黒地に白でどちらが目がより疲れないか
397デフォルトの名無しさん:2007/06/04(月) 10:30:51
>>396
   、ミ川川川彡                 ,ィr彡'";;;;;;;;;;;;;;;
  ミ       彡              ,.ィi彡',.=从i、;;;;;;;;;;;;
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  も  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
   彡      ミ   ! "'' `'′      ヽ、,,__,,..,_ィ,..r,',",
    彡川川川ミ.   l        _, ,   | ` ー、≡=,ン _,,,
              ヽ、 _,,,,,ィニ三"'"  ,,.'ヘ rー‐ ''''''"
                `, i'''ニ'" ,. -‐'"   `/
               ヽ !  i´       /
               ノレ'ー'!      / O
398デフォルトの名無しさん:2007/06/05(火) 00:08:03
ListBoxの中の数値をクリックして選択したものだけ配列に格納したいのですが書式が分かりません。
配列に数値を加えていくにはどうすればいいんですか?
399デフォルトの名無しさん:2007/06/05(火) 00:16:19
400デフォルトの名無しさん:2007/06/05(火) 09:03:32
>>398

dim i as integer
dim hoge() as integer

 '///最初に確保
 hoge(10)

 '///消す。
 erase hoge

 '///拡張しながら
 for i = 0 to 10
  redim preserve hoge(i)
 next i
401デフォルトの名無しさん:2007/06/05(火) 09:10:28
>>400
REDIMってパフォーマンスはどうなんだろ?
realloc繰り返すようなもんだろ。拡張のときに余分に確保してゆくとか必要ないだろうか。
402400:2007/06/05(火) 09:27:48
肝心のredimがついてねーorz

realloc繰り返すよりは最初に余分に拡張した方がいいね。
403デフォルトの名無しさん:2007/06/05(火) 11:18:59
>>401
超悪い
なので先に配列の数がわかるならRedim一回だけにしたほうがいいと・・・
配列の数が増えれば増えるほど速度差が出るしさ
404デフォルトの名無しさん:2007/06/05(火) 11:28:33
春だな・・・
405デフォルトの名無しさん:2007/06/05(火) 11:35:28
夏だろ・・・
406デフォルトの名無しさん:2007/06/05(火) 15:09:50
「ファイルを展開する」の意味を教えてください。
407デフォルトの名無しさん:2007/06/05(火) 15:43:15
圧縮ファイルを解凍する意。
408デフォルトの名無しさん:2007/06/05(火) 15:56:47
ありがとうございます。助かります。
409デフォルトの名無しさん:2007/06/05(火) 18:37:16
>>406-407
VB以前の問題だろ・・・
410デフォルトの名無しさん:2007/06/09(土) 13:35:58
あるフォームから別のフォームの内容を変えるにはどうすればいいのでしょうか?
例えばform1とform2を開いておき
form2でボタンを押したりするとfrom1のテキストに書き込んだりform1のピクチャの表示を変えたりしたいのですが
411デフォルトの名無しさん:2007/06/09(土) 15:58:57
Form1.Text1
Form1.Picture1
412410 :2007/06/09(土) 16:41:43
ありがとうございます
やり方がわかりました
413デフォルトの名無しさん:2007/06/10(日) 22:14:38
質問です
例えばコマンドがクリックされるたびに
数字が一つ増えていき、ある時間が来たらその時間内に何回
それがクリックされたかを表示される機能を作りたくて
時間を計る昨日は作れたのですが、クリック回数を示す方が全くわからないので
ヒントを頂けると助かります
414デフォルトの名無しさん:2007/06/10(日) 22:40:01
>>413
どうしてあちこちで聞くの?
415413:2007/06/10(日) 22:51:56
いや、このスレを教えてもらって
基礎的過ぎるのでこっちの方がいいのではないかと思って・・・
416デフォルトの名無しさん:2007/06/10(日) 22:53:13
>>413
スレ跨いでなかったら答えたんだけどな。
むかついたので教えない。
417デフォルトの名無しさん:2007/06/10(日) 22:58:19
こっちの方が親切に答えてくれるって言われたから
わざと不親切な奴を装ってるんだな
418デフォルトの名無しさん:2007/06/10(日) 23:02:57
両方親切に教えてますよ?
419413:2007/06/10(日) 23:41:24
すいません、次から気をつけますのでヒントだけでも
教えてください・・・
420デフォルトの名無しさん:2007/06/10(日) 23:54:12
>>419
しょうがないな
モジュールレベルでDimしてクリックイベントで足せ
421デフォルトの名無しさん:2007/06/11(月) 00:19:51
教えたら教えたで無視か。
どこまで失礼な奴だ!!
422デフォルトの名無しさん:2007/06/11(月) 06:43:36
>>413
Label1.Caption = クリック回数
423デフォルトの名無しさん:2007/06/11(月) 06:52:08
>>413
a$ = "クリック"
b$ = "回数"
Label1.Caption = a$ & b$
424デフォルトの名無しさん:2007/06/11(月) 08:38:44
VB6.0どころか非常に初歩的なアルゴリズム(という表現すらおこがましいレベル)の問題だな
425デフォルトの名無しさん:2007/06/11(月) 08:43:16
Sub なんたらかんたら_Click()

dim intI as Integer

intI = CInt(Label1.Caption)
intI = intI + 1
Label1.Caption = Cstr(intI)

End Sub

おまえにはこの程度のソースでいいだろう
426デフォルトの名無しさん:2007/06/11(月) 09:11:51
週末は馬鹿がわくのかw
427デフォルトの名無しさん:2007/06/12(火) 01:39:11
MSCommのSettingsプロパティで教えて欲しいんですが

MSComm1.Settings = "a,b,c,d"

でa,b,c,dにはテキストボックスから任意の値を
入れれるようにしたいんですが・・。

これだとaという変数に"9800"という文字列が入ってても
これは"a"という文字列だということでエラーになってしまいますよね。
何かいい方法あります?
428デフォルトの名無しさん:2007/06/12(火) 02:36:51
囲むな。
方法はちょっと前のレスにもある。
429デフォルトの名無しさん:2007/06/12(火) 09:12:23
>>427
>>428の言うとおり2つほど前のレスにもヒントはある


しかし、全然言語・・というよりもPGそのものをまったく知らないでCOMM通信とか(ry
430427:2007/06/12(火) 10:00:27
すいません。よくわかりません・・。
MSComm1.Settingsは文字列で指定しなきゃいけないんですよね?
囲まないと構文エラーになるんですか・・。

>>425がヒント・・。
CIntやCstrで文字を変換しろ という事ですか?
でも変換した値は結局変数に代入するのだから
同じ事のように思えるんですが・・。 すみません。
431デフォルトの名無しさん:2007/06/12(火) 10:04:03
>>430
うわぁ・・・こいつ絶対使えねぇ・・・・
自分で考えようとしてる不利だけの気がするな
絶対つりだと信じてるが・・・


dim a as string = textbox1.text
dim b as string = textbox2.text
dim c as string = textbox3.text

MSComm1.Settings = a & "," & b & "," & c

お前レベルにはこれで十分だ
432デフォルトの名無しさん:2007/06/12(火) 11:03:49
>>427
a$=text1
 ・
 ・
MSComm1.Settings = a$ & "," & b$ & "," & c$ & "," & d$

たしかに先はながいなぁ 私も通信は苦労しました。
433427:2007/06/12(火) 12:18:44
>>431
>>432
あ・・なるほど。すみません。
確かに・・・自分の考える努力が不足してたようです。
ありがとうございました。
434デフォルトの名無しさん:2007/06/12(火) 19:44:52
テキストボックスからフォーカスを他へ移さないようにしたいのですが、どうしたらいいんですか?
後、カーソルを左端じゃなくて右端に固定したいのですが…
435デフォルトの名無しさん:2007/06/12(火) 19:50:50
するな。
436434:2007/06/12(火) 20:55:11
VB6.0の話です。すいません。
437デフォルトの名無しさん:2007/06/12(火) 21:00:52
>>434
何のためにやりたいのか知らないがそういうプロパティはある
438デフォルトの名無しさん:2007/06/12(火) 22:04:21
ヒント:TabIndex
439デフォルトの名無しさん:2007/06/12(火) 22:53:32
GetAsyncKeyStateを使用し

タイマーから

Dim a%
a = GetAsyncKeyState(37)
If Not a = 0 Then ...

と、左を押したらifの処理が行われるとして
キーの左を押している間画像を移動するとしたいのですが
左を放しても画像が移動し一瞬置いてから止まり画像が滑ってしまいます

変数aの中身は毎回破棄されてますしそもそもGetAsyncKeyStateの時点で代入されてるから値を引き継ぐわけがありませんし
タイマーで呼び出された時点でキーを押してなければ0が入るはずで
GetAsyncKeyStateからifまでの間にaの値を変更するような事も行っていないので原因がまったくわかりません
タイマーのインターバルの感覚を長くしたり色々な箇所にsleepを入れてみても駄目でした
理由がわかる方どうか教えてください
440デフォルトの名無しさん:2007/06/12(火) 23:03:04
処理が追いついていないから。
441デフォルトの名無しさん:2007/06/12(火) 23:11:26
理由は知らんがインターバル長くするのは逆な気がするなw
まぁどっちにしろ

判定

移動処理

の流れなかぎり多少のレスポンス遅れは出るだろうな
どんだけなのかしらんし、キー離したつもりでもキーストロークによっては一瞬遅れて とかんじるかもしれんし
442デフォルトの名無しさん:2007/06/12(火) 23:37:25
>>439
KeyStateの中に値が入っていてそれが消化されてないんだよ。
一回ごとにクリアするなどすればディレイは発生しない。

While
443デフォルトの名無しさん:2007/06/13(水) 00:06:10
ご冗談を。
444439:2007/06/13(水) 22:08:58
ありがとうございます
参考になります

>>440
ためしにGetAsyncKeyStateの処理のとこだけのプログラムにしてみたら
滑らなくなったため処理が追いついていないのが原因のようですね
>>441
私には
判定

移動処理
の方法しか思いつかないのですは他に方法はあるのでしょうか?
>>442
KeyStateの値をクリアとはどのようにすれば良いのでしょうか?
調べても見つからなかったため良ければ教えてください
445デフォルトの名無しさん:2007/06/14(木) 05:13:01
>が原因のようですね

そこで思考停止かよ
446デフォルトの名無しさん:2007/06/14(木) 06:14:53
>ためしにGetAsyncKeyStateの処理のとこだけのプログラムにしてみたら
>滑らなくなったため処理が追いついていないのが原因のようですね

なんだそんな間抜けな原因か
447デフォルトの名無しさん:2007/06/14(木) 10:01:01
>>444
While GetAsyncKeyState(37) <> 0
i = i + 1
Wend

if i > 1 then msgbox i

ためしにこれをかませてみろ
448デフォルトの名無しさん:2007/06/14(木) 11:58:51
>>447
それかますとキーを押しっぱなしでスクロールできないのでは
そもそも消化が原因じゃないわけだし
449デフォルトの名無しさん:2007/06/14(木) 13:29:28
>>448
お前はあほだな
450デフォルトの名無しさん:2007/06/14(木) 13:47:19
>>449
いやためしと言うのはいいとして
そんな無意味なコードをためしてどうするの?
自分でためしてみた?
451デフォルトの名無しさん:2007/06/14(木) 13:59:27
>>450
キーをちょっとでも押しているとすぐにGetAsyncKeyStateのカウントが増えていくことを確認させるテストだ

無論今は試してないが過去になんども試してる
452デフォルトの名無しさん:2007/06/14(木) 14:01:41
要するに、最初に提示されたコードであると、
キーを押しっぱなしにしていて離した時点で、

GetAsyncKeyState(37) がたとえば 200 とかいう値を返してくる。
そのためこのコードだと、キーを離した後も、あと200回、If文の中の命令をこなすこととなっている
453デフォルトの名無しさん:2007/06/14(木) 14:06:42
>>452
今、試せ。
454デフォルトの名無しさん:2007/06/14(木) 14:39:53
回答するのはわかってる奴だけにしろ
質問者が混乱するような言い合いしてたら意味ないだろ
455デフォルトの名無しさん:2007/06/14(木) 18:29:30
本人はわかってるつもりなんだよ
456デフォルトの名無しさん:2007/06/14(木) 19:32:55
自分でサイト作って仕切ればいい
457デフォルトの名無しさん:2007/06/15(金) 11:53:51
Pin's・・・いやなんでもない
458デフォルトの名無しさん:2007/06/15(金) 12:13:46
>>457
久々にその名前を聞いた
つうか、最近廃れてないか?
459デフォルトの名無しさん:2007/06/16(土) 00:52:38
すいません
Vbはどこでダウソすればいいんでしょうか?
460デフォルトの名無しさん:2007/06/16(土) 01:02:12
Microsoftからダウンロードできます
461デフォルトの名無しさん:2007/06/16(土) 01:04:55
>>460
なんとかスタジオの
どこで何をすればいいのかわかりません><
462デフォルトの名無しさん:2007/06/16(土) 01:32:56
>>461
わからないのならあなたには必要無いって事でしょう
463デフォルトの名無しさん:2007/06/16(土) 02:11:56
本当に欲しいならMSに訊けばいい。
464デフォルトの名無しさん:2007/06/16(土) 02:44:32
制御をOSに戻すってつまりどういう事?
465デフォルトの名無しさん:2007/06/16(土) 03:52:33
日本から出て行け
466デフォルトの名無しさん:2007/06/17(日) 21:54:11
超アホなユーザー定義関数が作れません。
どこが、間違ってるのでしょうか。
Function find1(検索 As Range) As Variant
Dim objRange As Range
Dim target As Variant
target = 検索.Value
Set objRange = Columns("E").Find(target)

find1 = objRange.Value
End Function
467デフォルトの名無しさん:2007/06/17(日) 22:21:42
どんなエラーがあるかすら書かないのか
それから変数に全角文字使ってるが冗談だよな?
468デフォルトの名無しさん:2007/06/17(日) 22:28:56
動作はするのですが、worksheetのセルの
エラーは、#VALUE! です。

変数は全角でも、英数字でも同じエラーがでます。
469デフォルトの名無しさん:2007/06/18(月) 12:33:30
>>468
> エラーは、#VALUE! です。
この「#VALUE!」ってどういう意味なの?
470デフォルトの名無しさん:2007/06/18(月) 12:38:13
471デフォルトの名無しさん:2007/06/18(月) 20:26:24
>>470
2chでマルチポストを指摘されるとは。
ネチケット違反ですか?
472デフォルトの名無しさん:2007/06/18(月) 20:29:42
×("E")
○(゜ε゜)
473デフォルトの名無しさん:2007/06/18(月) 20:44:16
マルチだろうが別にどーでもいいけど、ここ以外に活躍する場が無い自治厨。
474デフォルトの名無しさん:2007/06/18(月) 22:05:24
>>471
>469
475デフォルトの名無しさん:2007/06/18(月) 22:08:46
続けるなら向こうでやれ
476デフォルトの名無しさん:2007/06/21(木) 15:45:46
あとあえて荒らしに行ってみるが
変数名に漢字なんて大真面目ですぜ?
477デフォルトの名無しさん:2007/06/21(木) 15:55:04
いいんじゃないのぉ 好きにすればぁ
478デフォルトの名無しさん:2007/06/21(木) 17:36:28
VBならまだいいぜ。
AccessVBAなんか悲劇。
変数にマルチバイト文字使ったサンプルが大量に載ってる本が堂々と教本として売られてる。
メンテさせられる身になると泣けるぜ・・・
479デフォルトの名無しさん:2007/06/24(日) 21:05:20
vb6で、mschartを使って二次曲線を数本表示したいんですが、
>>353>>363を習ってみたものの、
1本目は書けるんですが、2本目はどう定義したらいいんでしょう?

..raowと.dataを、どう表記したら2本目になるんでしょうか?
480デフォルトの名無しさん:2007/07/06(金) 00:19:14
>>479
同じチャートオブジェクトに二つの系列のデータ突っ込めるか確認した?
481デフォルトの名無しさん:2007/07/15(日) 02:37:14
VB6なんですが、コマンドボタンに画像を貼り付ける方法はありますが、
例えば、丸いボタンを押しているようにすることは出来るのでしょうか。?
482デフォルトの名無しさん:2007/07/15(日) 02:45:17
>>481
出来るけどVBだけいろいろめんどくさい

おとなしくピクチャボックスでやるというのも1つの手段
483デフォルトの名無しさん:2007/07/15(日) 15:01:07
>>482
なるほど。ピクチャボックスですか。
簡単にやってしまうと、丸いボタンの領域を押さなくてもクリックしたことになっちゃいそうですね。
そういうコンポーネントとか売ってないですかね…。
484デフォルトの名無しさん:2007/07/15(日) 15:58:12
DirectShowについて質問したいんですが、ここのスレでいいですか?
485デフォルトの名無しさん:2007/07/15(日) 17:55:23
いいわけねーだろ
486デフォルトの名無しさん:2007/07/15(日) 18:09:28
>>484
たぶん、下のところかと
http://pc11.2ch.net/test/read.cgi/tech/1173535400/

でも、(超初心者用)となっているが…
487デフォルトの名無しさん:2007/07/15(日) 20:30:46
Sub aaa()

Dim a(10) As Integer
Dim i As Integer

a(0) = 32
a(1) = 14
a(2) = 56
a(3) = 15
a(4) = 7
a(5) = 18
a(6) = 102
a(7) = 88
a(8) = 11
a(9) = 57
a(10) = 58
'-------------------
'この間で
'-------------------
For i = 0 To 10
Debug.Print a(i)
Next
End Sub

超初心者質問ですみません。
上のようにa(10)にランダムの数字が格納されていて
これを昇順(若い順)に格納しなおしてから
表示するようなプログラムを作りたいの
ですがどのようなやり方があるでしょうか。。
488デフォルトの名無しさん:2007/07/15(日) 23:18:41
>>487
http://pc11.2ch.net/test/read.cgi/tech/1099112351/590
どっちに回答つければいいのかわからねーっつってんだろ
489デフォルトの名無しさん:2007/07/15(日) 23:50:59
>>487
一旦、小さい数字から別の配列に入れてa()に代入する。
490デフォルトの名無しさん:2007/07/16(月) 00:33:05
>>487
'-------------------
'この間で
Dim t As Integer
Dim j As Long
For i = LBound(a) To UBound(a)
For j = i + 1 To UBound(a)
If a(i) > a(j) Then
t = a(i)
a(i) = a(j)
a(j) = t
End If
Next
Next
'-------------------
491デフォルトの名無しさん:2007/07/16(月) 00:37:24
>>484
おれ20年以上前にソートのやり方だけをいろいろ書いた本を買ったことがある。今のパソコンは処理が速いからどんなやり方でもおk。自分で考えたほうが良い。
492491:2007/07/16(月) 00:38:28
>>487だった。スマソ
493デフォルトの名無しさん:2007/07/16(月) 01:22:45
みなさんありがとうございます!!勉強します!!
494デフォルトの名無しさん:2007/07/16(月) 03:10:11
ソート付きリストボックスに放り込んで取り出す、という
のが定石として出ていたこともあった。
495デフォルトの名無しさん:2007/07/16(月) 03:10:50
ねえよ
496デフォルトの名無しさん:2007/07/16(月) 03:16:16
定石というより苦肉の策
497デフォルトの名無しさん:2007/07/16(月) 04:02:57
>>494
それが定石だとしたらお前は世間で言う
ダメVBプログラマの部類だな
頭使えよ
498デフォルトの名無しさん:2007/07/16(月) 09:39:23
オレダメプログラマだったから、よく使っていたよ。
目に見えるからデバッグしやすいんだな、これが。
特に動的に重複した値がやってくるような場合は
SortedをTrueにしたListboxに放り込んでおいて処理してた。
数千件でも速度的に問題なかったよ。
499デフォルトの名無しさん:2007/07/17(火) 05:43:12
100件程度のただの配列ならバブルソートで十分。
1000件以上とか構造体のソートだとクイックソート辺りじゃないと。
簡単に向上出来る部分は済ましておくもんだろ。
つか関数化して処理して Function BubbleSort(Arr() as Long) as Long()
500デフォルトの名無しさん:2007/07/17(火) 07:04:49
http://kazato.run.buttobi.net/cgi-bin/upload/src/viprpg_tktk0229.png
いまここまで作ったのですが、
テキストボックスに入力したテキストを
OKを押すと同時にファイルに格納するって
いうのはどうやるのですか?
501デフォルトの名無しさん:2007/07/17(火) 07:08:33
>>500
(・∀・) ググレカス
502デフォルトの名無しさん:2007/07/17(火) 08:51:17
>>500
マルチすんな
503デフォルトの名無しさん:2007/07/22(日) 11:37:43
高速に画面に黒を塗りつぶすにはどのようにすればよいでしょうか。
PatBltじゃ対応しないデバイスがあることとかでだめなようなんですが、、、
504デフォルトの名無しさん:2007/07/22(日) 14:53:38
>>503
じゃあとりあえずsetpixelかPSet()かLineかFloodFillか使えば良い
505デフォルトの名無しさん:2007/07/22(日) 19:39:06
>>504
ありがとうございます。助かりました。
506デフォルトの名無しさん:2007/07/22(日) 22:27:17
Rectangle API関数はないの?
507デフォルトの名無しさん:2007/07/23(月) 01:29:33
ExtTextOutが速いとか聞いたことがあるけど
508佐一:2007/07/23(月) 22:27:33
Visual Basic 6.0使っています。
フォーム内のボタンを押して、
Shell("MSACCESS.exe △△△",・・・)から
データベースファイル△△△を起動します。

△△△が起動している間は、
・ボタンを押しても△△△を新たに起動させず
・既に開いている△△△が最前面に来るようにするには、
 (フォームが最背面、フォアグラウンドになればいい)
 どうすればいいのでしょうか?


アプリケーションのハンドルを取得し
setForeground(ハンドル名)
として、アプリのフォームをフォアグラウンドにしようとしましたが
setForegroundの戻り値は、Trueなのに、
ボタンを押しても、既に開かれている△△△が最前面になってくれません。
509デフォルトの名無しさん:2007/07/23(月) 22:34:26
510デフォルトの名無しさん:2007/07/24(火) 09:01:23
マルチポストすぎw
http://oshiete1.goo.ne.jp/qa3194308.html
511デフォルトの名無しさん:2007/07/24(火) 09:43:46
Visual Stadio 6.0使っています。
以前はVisual Stadio 6.0をフルインストールした状態のPCで使ってた『自作ソフト.exe』を
今回は容量の少ないシリコンディスク(2GB)のFAタイプPCで使用したいのですが、
Visual Stadio 6.0をインストールするほど容量が確保できないので、
そのまま『自作ソフト.exe』を起動したところ、アプリケーションエラーが発生し
ソフトが起動しませんでした。
専門書等を見てみましたが
1)メイン及び、監視タスクのパス(フォルダ)位置が、pathに登録されているか?
2)アプリでOCX等が使われてたりすると、アプリのみでは実行できない場合があるため、
  必要なOCXをそのPCに登録する必要がある。
などと書いてありましたがはっきりいってわかりません

ちなみに、私はビルド(リビルド)ぐらいしか出来ないくらいの知識しかないので、
どなたか教えてもらえないでしょうか?
 
512デフォルトの名無しさん:2007/07/24(火) 09:48:36
>>511
インストーラを作れ
513デフォルトの名無しさん:2007/07/24(火) 09:57:57
つか業務でやってんならわかるだろ?

>FAタイプPC
>アプリケーションエラーが発生し
このOS種類とかエラー内容をかけよ・・・

>>512の言うとおり
ディトリビューションウィザードでも何でも使ってインスコしたら必要なものは入るはず

514511:2007/07/24(火) 10:47:00
すいません、初心者というか普通にWordやExcelぐらいしか使えないレベルの人間なので
>>512さんのインストーラの作り方や、>>513さんのディトリビューションウィザードなどといった
ものの使い方作り方が出来ません。
しかもこの『自作ソフト.exe』を作った人が会社辞めてしまってるので、このソフトの中身すら
私には理解できない現状です。
(起動したときの使い方ぐらいしかわからないんです…)

ちなみにOSはWindows2000 SP4で、
エラー内容は
「エラーが発生したので。『自作ソフト.exe』を終了します。
プログラムをもう一度開始する必要があります。」
という表示が出てきました。
 
515デフォルトの名無しさん:2007/07/24(火) 10:50:16
とりあえずこれ入れて動かんようならあきらめるがよし。
http://www.vector.co.jp/vpack/filearea/win/util/runtime/
516デフォルトの名無しさん:2007/07/24(火) 12:07:44
ちなみにデスビは
スタート メニュー\プログラム\Microsoft Visual Basic 6.0\Microsoft Visual Basic 6.0 Tools
このあたりにあるはず
517デフォルトの名無しさん:2007/07/24(火) 12:09:43
追伸
>>515ので動くとは思うが社外OCXとか使ってた場合はそれだけじゃ動かないので
デストリビューしょんウィザードなんかで依存関係にあるOCX登録してやる必要がある
518511:2007/07/24(火) 13:46:11
今気づいたんですが、プログラムデータの拡張子を見たらcppってなってますけど、
これはVBじゃなくてVC++ですよね?
板違いみたいなので、ちょっと首くくってきます…

もし、VC++でも>>515のデータは使えるのでしょうか?
板違いだからどっか行けというのであればここまま消えますね…
 
519デフォルトの名無しさん:2007/07/24(火) 14:46:21
エクセル2000でブックの1枚目のシートのA3とB5の数値を読み込みたいのですが
エラーが出てこまっています。(型が一致しません)
やってるのは
Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim intA As Integer
Dim intB As Integer
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("aaaaa.xls")
Set xlSheet = xlBook.Sheets(1)
intA = xlSheet.Cells(3,1).value
intB = xlSheet.Cells(5,2).value
xlBook.Close
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
です。よろしくお願いします。m(_ _)m
520デフォルトの名無しさん:2007/07/24(火) 16:41:32
エラーになったときのセルの値は?
521デフォルトの名無しさん:2007/07/24(火) 17:15:30
そこに入ってるのは必ず数字なわけ?

Dim intA As Integer
  ↓
Dim intA

こうするとどう?
522519:2007/07/24(火) 19:45:55
>>520-521
やっとわかりまして、どうやら、Excel2000だと、セルに数値が入ってても
先頭になんかコントロールコードみたいな1バイト文字がつく文字列で
くることが判明しました。
ですので、先頭の1バイトを捨ててValすることにしました。
本当にありがとうございました。m(_ _)m
523デフォルトの名無しさん:2007/07/25(水) 09:08:08
>Valすることに

らめぇ><
524デフォルトの名無しさん:2007/07/25(水) 09:43:50
まともにParsingしないのか
カンマが入っただけで死にそうだ
525519:2007/07/25(水) 12:18:38
>>523 >>524
カンマが入ってしにました。。。orz
しかたがないので、Replaceでカンマを削除してから
Valすることにしました。
526デフォルトの名無しさん:2007/07/25(水) 12:37:28
いいのか?それでいいのか?w

一応いくつかパターン試しておいたほうがいいぞ
あと、意図的に入力したカンマが入るようなことはないのか?
527519:2007/07/25(水) 16:16:08
>>526
もう大丈夫です。^^
基本的に1セルに1数値なんで。
528デフォルトの名無しさん:2007/08/09(木) 20:13:15
DataFileBufはタブ区切りの文字列です。

さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美

このようなデータを

Do While Not EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, """" & LineData & """"
Print #CsvFileMBuf2, """" & LineData2(0) & """"
Loop

#CsvFileMBufは↓のように、うまく処理が行えるのですが、

さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美


Split関数をかませた#CsvFileMBuf2の結果は↓のように最初の一件しか
処理してくれません。

さいたま


Split関数をかませても最後までデータを処理してくれるようにするには
どのように書き換えたらよいでしょうか?
529デフォルトの名無しさん:2007/08/10(金) 07:35:28
>>528
> Split関数をかませた#CsvFileMBuf2の結果は↓のように最初の一件しか
> 処理してくれません。
”そう書いてるんだから”、ってのは分かってますよね?

というわけで、「処理」とかいう抽象的な表現がコチラ側としてはサッパリ具体的ではないので
それを踏まえて次のように書きます
・Xを処理 → process(X)

・で、そのコード
Do While Not EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, """" & LineData & """"
Print #CsvFileMBuf2, """" & process( LineData2 ) & """"
Loop
530デフォルトの名無しさん:2007/08/10(金) 13:24:41
ファイルの中身が↓のようになっている場合(タブ区切り)

さいたま さい川 たま夫
とうきょう ほげ川 ほげ子
おおさか おお山 さか美

DataFileBuf = FreeFile()
Open ActiveWorkbook.Path & "\" & DataFile For Input As #DataFileBuf

Do Until EOF(DataFileBuf)
Line Input #DataFileBuf, LineData
LineData2 = Split(LineData, vbTab)
Print #CsvFileMBuf, LineData2(0) & " " & LineData2(2) & " " & LineData2(5) & " " & LineData2(6)
Loop

↑のプログラムで、データファイルのEnd of Fileまでループさせるつもりが、
ファイル全体が1つのデータとして扱われてしまう為、1回のループで終わって
しまい、結果は↓のように出力されてしまいました

さいたま たま夫
とうきょう おお山 さか美


改行で1つのデータとして扱い、↑3件のデータが3回ループするように
コーディングしたいのですが、どのように変えたらよいでしょうか?

>>529
お答えありがとうございます。
せっかくお答えいただいたのですが、勘違いしてました。
(Split関数は問題ありませんでした。)
531デフォルトの名無しさん:2007/08/10(金) 20:17:50
ものすごく基本的な気がして調べたんだけど・・・
わからないタスケテ(涙

●環境
・Windows XP (sp2)
・VB 6.0 (sp6)
・標準EXE でプロジェクト作成
・プロジェクト>コンポーネント>Microsoft Common Dialog Control チェック
・プロジェクト>参照設定>Microsoft Scripting Runtime チェック

で、Form1 にボタンやコントロールを配置して
いくつかコードを書いてプロジェクト保存>終了しました。
その後、続きをやろうとプロジェクトを開くと、

----------------------
行 67: クラス MSComDlg.CommonDialog(コントロール CommonDialog1) はロードされていません。
行 90: クラス MSForms.CheckBox(コントロール CheckBoxHeadIgnore) はロードされていません。
----------------------

ログファイルに上記エラーが出て、
Form1 に適用した内容が全く読み込まれなくて困っています(涙
先輩方タスケテクダサイorz
532デフォルトの名無しさん:2007/08/11(土) 01:01:23
>>530
よくわかんないけど、ファイルの中身って、
さいたま[TAB]さい川[TAB]たま夫[改行]
とうきょう[TAB]ほげ川[TAB]ほげ子[改行]
おおさか[TAB]おお山[TAB]さか美[改行]

ってなってんの?まさか

さいたま[TAB]さい川[TAB]たま夫[TAB]
とうきょう[TAB]ほげ川[TAB]ほげ子[TAB]
おおさか[TAB]おお山[TAB]さか美[TAB]

じゃないよね?

>>531
エラーが出てるコントロールはずして、とりあえずセーブ。
もう一回プロジェクトを開いてエラーが出なくなったら、はずしたコントロールを再配置してみては?
533デフォルトの名無しさん:2007/08/13(月) 11:25:07
>>532
ご回答ありがとうございます。
ファイルの中身は

さいたま[TAB]さい川[TAB]たま夫[改行]
とうきょう[TAB]ほげ川[TAB]ほげ子[改行]
おおさか[TAB]おお山[TAB]さか美[改行]

ってなってますね。
秀丸で見てもそうなってます。
534530:2007/08/13(月) 11:53:54
>>532

ありがとうございます。
が、解決しませんでした。

それどころか全ての場合において発生したので、なんか根本的な所がダメみたい。
(ボタン1個配置のシンプル構成でも)
535デフォルトの名無しさん:2007/08/13(月) 12:07:21
すいません、改行コードがLFでした。
改行コード「LF」をVBで「CR+LF」に置換する方法ってありますか?

>>532
ご回答ありがとうございます。
ファイルの中身は
536デフォルトの名無しさん:2007/08/13(月) 13:37:28
>>535
replace(hoge, vbLf, vbCrLf)
537530:2007/08/13(月) 14:16:19
IDE の使い方をわかってなかっただけでした(汗)

右上のプロジェクトグループ・ツリーをダブルクリックで
Form画面を呼び出せることに気がついて解決。
おさわがせしました。
538デフォルトの名無しさん:2007/08/14(火) 15:14:10
VB6.0でフォーム上にWebページを表示し、表示されたページ内の文字列を
特定条件によって変数に格納する、といった作業をやりたいのですが、
どうやればできますかね?
539デフォルトの名無しさん:2007/08/14(火) 15:53:16
>>538
どこから教えればいいんですかね?
とりあえずWebBrowserコントロールは見つけれた?
540538:2007/08/14(火) 17:22:01
>>539
WebBrowserコントロールを使えばよさそうだ、という所まではたどり着いたのですが、
どんなメソッドがあるのか、どのメソッドを利用すればいいのか等がさっぱりわかりません。
ネットで調べてみてもいろんなWebBrowserコントロールの情報が混在していてどれがどれやら…orz
541デフォルトの名無しさん:2007/08/14(火) 17:33:17
>>540
IEnowebbowserコントロールはHTMLDocumentオブジェクトをプロパティ .document で公開してるから
後はそこから調べるといいかも(DOMツリーなのでかなり広い)

情報あるなら使うコントロールの似たような名前で探して、それをやっていけばいいんじゃないかな
542538:2007/08/14(火) 20:16:24
>>541
HTMLDocumentオブジェクトまでは何とかたどり着いたんですが、
そこからがどうにもうまくいかんとです。

Set doc = WebBrowser1.Document
If TypeName(doc) = "HTMLDocument" Then
Form1.Caption = doc.Title
value = doc.body
End If

こんな感じじゃあかんのですかね…?
543デフォルトの名無しさん:2007/08/14(火) 20:25:30
ふざけてんの?
544デフォルトの名無しさん:2007/08/14(火) 23:29:59
VBでRPG作りたいんだけどどうしたらいいか全く検討がつかない。
目標はDQです。
とりあえず戦闘画面でも作ってみたい
545デフォルトの名無しさん:2007/08/14(火) 23:47:12
>>544
じゃあ先ずはアタマの中にある戦闘シーンを紙とエンピツでプロットしてみることだな
ソレが嫌なら諦めろ、途中で投げ出しても諦めろ、出来たらまた来い
546デフォルトの名無しさん:2007/08/14(火) 23:53:01
普通に戦闘シーンなんですけどそのキャラに応じて戦闘で使えるコマンドが
違うけどどうしたら同じ場所に違う内容が表示できるかわからない。
ようするに戦闘シーンのたたかう・にげる・じゅもんなんかを表示する
方法がわからないってことです
547デフォルトの名無しさん:2007/08/14(火) 23:54:51
>>546
とっても稚拙な方法も思いつかない?
たとえばMSPaint.exeで書いて、それを紙芝居風に表示するとかも?
548デフォルトの名無しさん:2007/08/14(火) 23:56:18
変なこと言ってる奴がいるけど
とりあえず時間があるならVBで1から作るんじゃなくて、
出来合いのRPGツクールとかで作ってしまうといいと思うよ
549デフォルトの名無しさん:2007/08/20(月) 09:11:57
>>546
ツクールじゃなくて、ゲーム作りたいんなら、まず簡単なじゃんけんゲームからで良し。

どうしてもRPG作りたかったら、
とりあえず自分で戦闘のフローチャート作成してみれ。
550デフォルトの名無しさん:2007/08/20(月) 10:33:48
ずっと俺のターンを採用すると楽
戦闘終了条件もないクマ
551デフォルトの名無しさん:2007/08/27(月) 16:04:24
>>544
すんごい遅レスなんだけど
何かを作りたいと思う、その気持ちは大事だよ
俺も小学生のころ、ベーマガを解析したなぁ
今、ベーマガのようなPG投稿雑誌が無いがとても悲しい
変わりに、ネットが発達してるからゲームをソースごと公開しているサイトでもさがして
ソース解析してみるのがいいかも
552デフォルトの名無しさん:2007/08/28(火) 12:02:52
超初心者的質問ですみませんがどなたかお願いします。
VB5.0 + ActiveReport1.5で帳票を印刷していました。
環境はXPです。

去年SP2に上げたところ、
エラーログが出るようになりました。
ErrCode :VB-2950
ErrMessage:予約済みエラー

SP2では対応できない と考えるべきでしょうか?
それとも
参照箇所を変えることで対応できるのでしょうか?

回答お願いします。
553デフォルトの名無しさん:2007/08/28(火) 13:23:28
>552
こんなとこで聞くよりグレープシティに聞いたほうが早くね?
554デフォルトの名無しさん:2007/08/28(火) 15:38:35
vb6を終了する時にvbのエディタが閉じた後、
異常終了(MSに報告する、しないの画面)が出るんだけどw
100発100中ですww
555デフォルトの名無しさん:2007/08/28(火) 18:01:03
変数名が重複してないか確認汁
556デフォルトの名無しさん:2007/08/28(火) 19:13:58
>>554
エラーメッセージは?dllとかのエラーかな?
557デフォルトの名無しさん:2007/08/29(水) 13:17:02
>>554
そんなんいくらでも原因がボロボロでてくる情報だ罠
グチじゃないならもっと詳細書くといい
558デフォルトの名無しさん:2007/08/29(水) 17:13:09
>>555-557
レスありがとうございます。
会社で再インストールするように言われて
言われた通りにしたら直りました。
現象も出ないので原因ももう分かりませんww
559デフォルトの名無しさん:2007/08/29(水) 21:11:44
いまさら聞くのは恥ずかしいのですが・・・


GOTOを使っちゃダメ、ってのはもはや「信仰」でしかないですよね?
ReturnやBreakを頻発させず、進行がすっきりすると判断される場合は、
躊躇なく使っていいものですよね?
560デフォルトの名無しさん:2007/08/29(水) 21:16:14
それはそうなんだけど、結局そんな場面なんて滅多に現れない。
結局影の薄い存在となったことには変わりないな。
561デフォルトの名無しさん:2007/08/29(水) 21:37:37
いやGOTOを使わなければいけない場面などない

いまどきアホ?って言われるな 精進しなされ
562デフォルトの名無しさん:2007/08/29(水) 21:47:40
>>560-561
例えば、Ifで条件分けをする場合など、その都度インデント入れますよね。
もし、その条件の値が最初から分かってる場合は、プロシージャの最初の方で
条件に合致しない場合を、プロシージャ最後の終了処理に直接飛ばすようにすると、
メインの処理部分は、ひとつインデント無しで書きやすく、見やすくなると思うんです。

条件が多く、WithやFor、Doなども必要な場合は、より効果的だと思うのです。

--------------------
If HOGE = False Then
  Goto ENDP
End If

メイン処理

ENDP:
終了処理
--------------------
563デフォルトの名無しさん:2007/08/29(水) 21:58:34
いまどき無条件にgoto禁止する奴はいない。
自分の頭で物事判断できない教条主義的な馬鹿は別として。
564デフォルトの名無しさん:2007/08/30(木) 22:57:31
>>562
そいういう関数化が必要なのは関数にしてしまうのがいい

昔っからのGOTO禁止もあるけど、VB6がReturn文を陰ながらサポートしてることも忘れないでください
565デフォルトの名無しさん:2007/08/30(木) 23:03:24
>>562
GOTO文の本当の怖さは、無条件にジャンプできることじゃない
ジャンプした先で「なぜジャンプしてきたのか?」が曖昧になるからだ
566デフォルトの名無しさん:2007/08/30(木) 23:29:35
メソッドやプロパティも「なぜ呼ばれたか?」は呼ばれた側からわわからないぞw
そんなもの通常は知る必要はない。

gotoを忌避すべき理由はそんな理由ではなくもっと単純なことだ。
実際に自分でスパゲティコード書いてみれば体感できるよ。

要するにコードを上から下に読めないことが端的に「ヒトにとって」問題なんだよ。

逆に言えば、goto使ってもコードを「上から下に読める」ことが維持されていれば
普通はそんなに可読性は破壊されない。
567デフォルトの名無しさん:2007/08/30(木) 23:34:51
>>566
それはgoto固有の問題じゃないよな?
568デフォルトの名無しさん:2007/08/30(木) 23:39:00
>>567
何をいってんだろうね

じゃあ逆に聞くが、goto以外で「下から上に戻る」コードを
書く方法を教えてくれよまったくw

ループとか寝ぼけたこと言うなよ
569デフォルトの名無しさん:2007/08/31(金) 07:36:25
ローカル変数を全部グローバルにもっていって、
Procedure line3
end
Procedure line2
end
Procedure line1
end

Procedure foo
call line1
call line2
call line3
end
みたいな?
570559:2007/08/31(金) 11:56:57
あるプロシージャ内でのみ、内容の同じ数行のコードを複数回記述する場合・・・など、
関数にして外に出すよりも、GOTOでそのプロシージャの末尾に置いておく方が、
可読性は破壊されないどころか、向上するのではないかと考えています。

その都度関数を作っていると、引数や戻り値の仕様もそのたびに
考えなくてはならない場合も多く、時間的にもGOTOを選んだ方がいい場合が、
必ずあるように思います。

↓こうなるよりは、>>562の方がよいと思うのですが・・・。
--------------------
If HOGE = False Then
  Call 終了処理関数
  Exit Sub
End If

メイン処理

Call 終了処理関数
--------------------
Function 終了処理関数()
  終了処理
End Function
--------------------


スパゲティと教条主義以外に、GOTOを忌避する理由って、ありますか?
571デフォルトの名無しさん:2007/08/31(金) 12:15:45
>>570
そんなコーディングしか思いつかないのならいいんじゃない?
センスがいいとか悪いとか誰にも見せなきゃこまらないっしょ

572デフォルトの名無しさん:2007/08/31(金) 12:37:06
>>570
一つの関数しか呼ばれない処理をやたらと関数に括り出したくない、
という発想は必ずしも間違ってないと思う。(ただし、状況的に不適切な場合はあるよ)

ただ、570のような処理は別にgoto使わずに、かつ各場合分けに共通の処理を
関数に括り出さずに書けるだろう。
573デフォルトの名無しさん:2007/08/31(金) 12:50:44
goto使わない奴って、on error gotoも使ってないのかな?
gotoに賛成も反対する気も無いが、気になる
574デフォルトの名無しさん:2007/08/31(金) 13:31:50
>>572
こういうことでしょうか?
--------------------
If HOGE = True Then
  メイン処理
End If

終了処理
--------------------

メイン処理が長くなり、WithやForなどでさらにインデントが挟まるような場合は、
>>562のような書き方の方が、見通しがいいと思いました。
例えが悪かったですね。
コーディングしている最中に、「ああ、ここでGOTO使えれば早いのになぁ」と
思う場面が出てくることがあるんですが、いざこういう話をするときに思い出せないです。

>>573
GOTO絶対不可な先輩も、On Errorのときだけは使ってますね
575デフォルトの名無しさん:2007/08/31(金) 13:45:14
>573
On Error Gotoは意味合いが違うから除外
576デフォルトの名無しさん:2007/08/31(金) 13:55:56
除外らしいから今後はこうしよう
On Error Goto Label
Error 513
On Error Goto 0
577デフォルトの名無しさん:2007/08/31(金) 13:58:58
>>575
gotoの動作としてはまったくかわらんよ
ローカル内で考えると、goto HANDLEがErr.Raiseって感じだし
やっぱり、gotoを絶対使わないという信条の人なら
On Error Resume Nextを使う必要があるんじゃないのかね
578デフォルトの名無しさん:2007/08/31(金) 13:59:40
HANDLEじゃないLABELの間違いw
579デフォルトの名無しさん:2007/08/31(金) 15:04:06
>>568
>>569見たいな状況
「上から下に読める」なんてドンだけフローチャートの世代なんだ

>>570(>>559)
>>564がぬるぽ

>>574
>>565がぬるぽみたいだ
「エラーでジャンプ」し尚且つErrオブジェクトで意味も参照できるからいいんじゃないかと
これは If cond Then A Else B 文で「condで A または B にジャンプ」という意味があるのと同じ

したがって >>576 はちょっとナンセンスな切り返しだ
ただVB6の言語仕様が昔ッからのを引きずっているのは確かで、
その状況で「GOTOを禁止する」ことが果たして万全なのかどうかは俺にはわからない
本嫁
580デフォルトの名無しさん:2007/08/31(金) 15:07:15
.NETだとtry-catchできるの?
581デフォルトの名無しさん:2007/08/31(金) 19:04:45
>>574
だから、教条主義的にgotoを禁止するのは馬鹿げてるけど
大概の処理はgoto無しで、かつgoto使った場合より可読的に書けるよ。

それと、なんか君は「コードを書く時」の目線ばかりを優先しているように見えるけど、
(どうしたらよりコンパクトに書けるか、みたいな)余計なお世話だろうがよくない兆候だよ。

「コードを読む時」目線で考えるべきだ。
つまり、他人にとって、あるいは一年後の自分にとって「読んで理解しやすいかどうか」を
(gotoならgotoの使用の是非の)判断の指針にすべきだ。


>>579
上から下に読み下せないコードはヒトにとって読みにくい、
という経験的事実がフローチャートとどう関係するんだろうねw

構造化プログラミングすら理解してないなら黙ってればいいのに。
ループ、分岐、関数、といった「構造」に抽象化するのは上から下に読み下すためだろう。

ループも分岐も、ループや分岐という概念を知らずそれを「ループ」や「分岐」として
認識できなければ、ただのgotoだ。

というか、日本語書けよ馬鹿。
582559:2007/08/31(金) 20:25:54
いちおう、毎回「コードを読む時=後で他の人がメンテナンスする時」
を意識しているつもりではいるのですが。
(GOTO嫌いな人にとって感情的に読む気が失せる・・・のは無視します)

「大概の処理をGOTOを使った場合より可読的に書く」
イメージがなかなか沸かないです・・・。
583デフォルトの名無しさん:2007/09/01(土) 10:53:51
んーそうだなーじゃあちょい視点を変えて
飛び元と飛び先のロジックの関係を考慮しなくちゃならなくなるケースを考えてみるとか。
複数の場所から一つのラベルにGotoが貼られているとする。
仕様変更でラベル以降のロジックを修正しなきゃならなくたった場合、呼び元の全ての
ロジックへの影響を考慮しなくちゃいけない、とか。
584デフォルトの名無しさん:2007/09/01(土) 13:28:47
それは条件分岐でやる場合でも、関数を使う場合でも
同じことを考慮しなくちゃならないと思うけど
585デフォルトの名無しさん:2007/09/01(土) 17:41:41
>>581
まあ本当に構造化プログラミングを理解してる人間なんていないと思うんだが
もしかして、構造化=ソースの構造化、と間違えてる?
586デフォルトの名無しさん:2007/09/01(土) 21:56:28
なんでゲーム作る奴って、ターンとかロールなんていう言い方するんだろうね。
実際にプレイする小中学生とかが
ターンとかロールなんて言われても何の意味だかわからんだろ。
やたらと横文字使えばいいってもんじゃねーぜ。
だから、ゲーム作る奴はバカって言われるんだよ。
もう一度言ってあげようか?
バ・カだよ。バ・カ
587デフォルトの名無しさん:2007/09/01(土) 22:27:16
何言ってるかわからん
vb関係ないし
日本語でおk
ってか人間でおk
588デフォルトの名無しさん:2007/09/01(土) 22:52:04
そこはゲームなんて横文字を使うなと指摘するべき
589デフォルトの名無しさん:2007/09/02(日) 05:10:05
俺の場合、ゲームのきっかけが古いADVから入ったから小学生時代に
英単語覚えたな
昔のADVはコマンドをすべて、自分で考えて打ち込まなければならなかったしかも英語でw
もちろん小学生の頭じゃほとんど理解不能でクリアしたのはずっと後だったけど
590デフォルトの名無しさん:2007/09/03(月) 09:18:24
CreateObjectでInternetExplorerを操作しているのですが
このIEのユーザーエージェントを変更する方法は
ありますでしょうか?
591デフォルトの名無しさん:2007/09/03(月) 09:34:16
自己解決しました。
navigateの引数にありました。
592デフォルトの名無しさん:2007/09/03(月) 15:55:25
VB6からADODBを使って、MS SQLServer2000 上のテーブル/ストアドプロシジャ更新を行いたいのですが、
SQL文の区切り(?)に使われている GO がエラーとなってしまいます。

'現在試している方法
Dim hTextStream As TextStream
Dim hFso As New FileSystemObject
Set hTextStream = hFso.OpenTextFile("foo.sql")
Call MyConnect.Execute(hTextStream.ReadAll())

foo.sqlは、EnterprizeManagerで作成したテーブル、ストアドプロシジャの削除、登録のSQL文で、
当然ながら、クエリアナライザでは正常に動作します。

クエリアナライザで実行する場合と同じ結果を、VB6で得られないでしょうか。
593デフォルトの名無しさん:2007/09/03(月) 17:50:39
>>592
GOはSQLコマンドじゃないからです。

ここ参照
ttp://technet.microsoft.com/ja-jp/library/ms188037.aspx
594デフォルトの名無しさん:2007/09/03(月) 18:33:25
>>593
GOを無視し(というか、//に置き換え)てやってみたら、希望通りの動作になった様です。
GOってのはあっても無くても動作に変わりは無いのですかね?
とりあえず、簡単に試したところ正常に動いているようなので、これでいってみたいと思います。
ありがとうございました。
595デフォルトの名無しさん:2007/09/04(火) 02:52:37
>>594
    /\___/ヽ   ヽ
   /    ::::::::::::::::\ つ
  . |  ,,-‐‐   ‐‐-、 .:::| わ
  |  、_(o)_,:  _(o)_, :::|ぁぁ
.   |    ::<      .::|あぁ
   \  /( [三] )ヽ ::/ああ
    `ー/-‐‐ヽ‐‐´  ぁあ
596デフォルトの名無しさん:2007/09/06(木) 23:34:19
VB6.0を最近使い始めたものなんですが
配列を2つ作って一方がもう片方を参照するには
どうすればいいのでしょうか?

597デフォルトの名無しさん:2007/09/07(金) 00:06:46
>>596
VB6の配列は値型です(関数のByRefで渡した場合の仮引数は参照ですが)

どうしても、という場合はクラスでラップするか、関数の仮引数としてByRefで渡してあげてください
598596:2007/09/07(金) 12:37:04
ありがとうがざいます
試してみます
599デフォルトの名無しさん:2007/09/07(金) 15:26:15
>>587
氏ね
屑野郎
600[Fn]+[名無しさん]:2007/09/08(土) 11:46:27
年寄りの手習いで,VB6始めようとしています。
すみませんが,VISTAに普通にインストール&使用は可能でしょうか。
動作可能にはなっていますが,特にインストールの必要なファイルなどは
あるのでしょうか?
601デフォルトの名無しさん:2007/09/08(土) 12:03:05
>>600
インストーラーのインストール手順に従っておけばおkです
詳細については
ttp://www.microsoft.com/japan/msdn/vbasic/support/vistasupport.aspx
のHPを見てください
602デフォルトの名無しさん:2007/09/08(土) 12:36:46
VB.NET質問スレ
http://pc11.2ch.net/test/read.cgi/tech/1189038267/37-38

ENDは使っちゃいけないのでしょうか?
603[Fn]+[名無しさん]:2007/09/08(土) 20:29:57
>>601
 ありがとうございます。
 インストールしていますが,問題ありのメッセージが2度ほど出てきます。
無視して続行していますが,大丈夫しょうか。
604デフォルトの名無しさん:2007/09/10(月) 16:19:20
みなさんは、画面設計時に、オプションボタン(ラジオボタン)と
ドロップダウンリストのどっちを使うか悩む事ってないですか?

どういう判断基準で、使い分けしてますか?

605デフォルトの名無しさん:2007/09/10(月) 18:37:30
見たマンマじゃない?
考えるな感じ取れ、だよ。

【ドロップダウン】
 ○ 省スペース
 × 選択肢の「見通し」が悪い。

ラジオボタンはこのちょうど反対。
606デフォルトの名無しさん:2007/09/11(火) 23:32:20
上手く伝えることが出来るか不安なのですが・・・。

ファイルの送受信(メッセンジャー等に付いている様な)を行うプログラムを作成したいと
考えているのですが、VB6.0にそのような機能はついているのでしょうか?
また、上に挙げた様な機能がなくともそのようなプログラムを作成する事は可能なのでしょうか?


もし参考になりそうな本等がありましたら教えていただけると幸いです。
607デフォルトの名無しさん:2007/09/11(火) 23:36:18
> VB6.0にそのような機能はついているのでしょうか?

ついてない。


> そのようなプログラムを作成する事は可能なのでしょうか?

可能。


> もし参考になりそうな本等がありましたら教えていただけると幸いです。

「○日でできるVB6.0」とか「VB6.0入門」とか、そういう系統。
608デフォルトの名無しさん:2007/09/13(木) 13:50:31
VB6.0とSQLSERVERで開発
数量、単価、金額、消費税、原価率・・・などなどの四則演算を行う場合、
各々のデータ型をどう定義したら良いのでしょう。

VBでSingle/Double
SQLSERVERでfloat/decimal
ネットとかでよく見かけるのは、これらの浮動小数点型なんですが、
これって誤差がつきものですよね?
システム上同じ数字を出す全箇所について、必ず同じ計算ロジックを通すという
コーディング制約を設けて、それを遵守しないと、絶対どこかで誤差が出ますよね?

さらに、VBはDouble(倍精度)、SQLはfloat(単精度)などの定義をしている
例をことさらよく見かけますが、こんなのはアリなんでしょうか?

「金額が関わるところに浮動小数点を使うのはあり得ない」と断言しているサイトも
どこかで見ました。
必ず固定小数点型、VBはCurrency・SQLはmoneyだろう、スピードは落ちると言っても、
最近の機械ならそれこそ誤差の範囲だ・・・という感じの紹介で。

私も、数字に誤差の出ない固定小数点がいいんじゃないかなー、と思っています。
でも、現実はどちらかといえばそうじゃないことの方が多い・・・・
一般的には、どう考えるものなんでしょうか。
609デフォルトの名無しさん:2007/09/13(木) 14:10:23
エクセルで作れば?
610608:2007/09/13(木) 14:21:19
間違えてました、すみません。
decimalは概数型じゃないですね。
SQLSERVERでの単精度はreal、倍制度はfloat。
VBはDoubleでSQLはfloatなのは、データ型としては同じだから、
そこは問題ないんですね。


>>609
エクセルのセルに値を渡して、シート関数で計算させて
結果を読むってことでしょうか?
611デフォルトの名無しさん:2007/09/13(木) 14:48:13
言っておくが、二進法のSingle/Doubleだって誤差の無い計算は可能だし、
Currency/Decimalだって何進法でも起こる誤差を避けることは不可能。

ただ、十進法で有限小数となる値の中には、
二進法へ変換すると無限小数になるので正確に表現できない、
つまり有限桁しか扱えないコンピュータでは、それだけで打切り誤差が発生するものがある。
だから十進法中心に考える人間には、一見すると誤差が付き物に思えるだけ。
もちろん、金融では致命的な弱点となるので、Single/Doubleは脱落。

また十進法の浮動小数点数 (VBのDecimal)はどうかというと、
下手に計算すれば情報落ちが問題になりやすいし、
VB固有の事情としてDecimal型の値はVariantに入れるしかないという
不便さもあって、駄目ではないが要注意。

そんなわけでCurrencyに落ち着く。もちろん整数だけなら整数型がよい。

612デフォルトの名無しさん:2007/09/13(木) 14:52:17
>>608
全部浮動小数点でOK
最終的に、小数点以下の金額にならないように
1円まで切り上げるでしょ?
その時に元の金額(整数)を使って金額の誤差がないか
1円の増減がないかを再計算するのさ〜
経理、給与計算プログラムの常識だよ〜
613デフォルトの名無しさん:2007/09/13(木) 14:56:32
そして余った1円を自分の口座へ振り込むようにすれば完璧。
614デフォルトの名無しさん:2007/09/13(木) 15:02:09
どこのスーパーマンのネタかと
615デフォルトの名無しさん:2007/09/13(木) 16:38:19
>>611
軽くぐぐってみました。

一般的な企業の販売仕入や財務、給与などのシステムでは、
まず無理数の計算などは行われないし、丸めだけしかるべき関数を作れば、
やっぱりVB:Currency SQL:moneyで十分対応できますよね?


>>612
> 元の金額(整数)
この整数って、どの段階で出てるものでしょう・・・?
また、これを使って金額の誤差・増減の有無を、・・・再計算?
すみません、よくわかりません・・・
616デフォルトの名無しさん:2007/09/15(土) 11:51:10
Endで終了させても、タスクマネージャーのプロセスに残ってしまう時があるので、
これを確実に終了させるにはどうしたらいいのですか?
617デフォルトの名無しさん:2007/09/16(日) 01:35:49
>>616
それは変な話だな・・・
自分自身はEndでたいてい残らずに消えるはずですが。
むしろ自分以外のリソースやプロセスが残る可能性がある。
あ、でも>>616はどのプロセスが残ってるのかまでは書いてないのか。
どうなんでしょう?
一般論としては、UnloadやTerminateイベントでリソースの後始末をして
Endを使わないように、ということです。
Endを使わないとそれこそ残る、というならそれは潜在的なバグだ。
618看護婦 :2007/09/16(日) 19:50:07
 今晩は。VB6 アクセス でデータベース作ってますが、起動したら
「問題が発生したためVBを終了〜」
「アプリエラー "0x04246c88"の命令が"0x1da1adad"のメモリを参照しました。メモリが"written"になることはできませんでした。」
とのこと。
 これって何がダメなんですか?
 どなたかお願いします。
619デフォルトの名無しさん:2007/09/16(日) 19:53:50
VBでの正規表現について恥ずかしながら教えてください。
リンクアドレスの<a href=〜>タグのアドレス部分は下記で取得できたのですが、
str=Pattern"<a href=""([^>]*(\.jpg|\.gif|\.png))"" target=""_blank"">(.*)</a>"

単純に、http://abc.defg.net/hijk/lmn.jpg
とかの単純なjpgファイルへのアドレス文字列の正規表現が思いつきません。
教えてください。
620デフォルトの名無しさん:2007/09/16(日) 22:48:31
俺なら、https?://.*\.jp(e?g|e)くらいにしておいて、
あとはURLかどうか調べるAPIがあったはずだからそれに任せる。
621619:2007/09/16(日) 23:28:29
おお、ちょっと調べてみます。
622デフォルトの名無しさん:2007/09/17(月) 16:10:45
>>618
いや〜それだけの情報だと
"0x04246c88"の命令が"0x1da1adad"のメモリを参照するのが
ダメなんじゃないかなあ〜としか。
F9やF8でダメな行を特定してみましょう。
あとここはささくれだった人が多いので、「エスパーw」みたいな
書き込みは華麗にスルーしてください。みんなイライラしています。
623看護婦 :2007/09/17(月) 17:13:39
 今晩は。プログラムの一部を書き換えたら解決したようです。
 
 >>662 お騒がせしてすいませんでした。
624デフォルトの名無しさん:2007/09/22(土) 07:33:11
2007年の第3木曜日の日付を20070918という感じで抜き出したいんですが、
自分で書いてたのが、loopしまくりで自分でワケわからなくなってしまいました。

なにか簡単な方法がありますかね?
625デフォルトの名無しさん:2007/09/22(土) 09:16:29
>>624
> 2007年の第3木曜日
ちょっとおかしいよな.適当に月指定があるもんだとしたぞ.
だめでも,下の関数使える.
しかもついでに,2007/9/18は第3火曜日だ.

Public Function XthWeekDay( _
    ByVal Year As Long, _
    ByVal Month As Long, _
    ByVal x As Long, _
    Optional ByVal week_day As VbDayOfWeek = VbDayOfWeek.vbSunday) As Date
    
    XthWeekDay = DateSerial(Year, Month, 1)
    While Weekday(XthWeekDay) <> week_day: XthWeekDay = XthWeekDay + 1: Wend
    XthWeekDay = XthWeekDay + 7 * (x - 1)
    
End Function

で, format$(form1.XthWeekDay(2007,9,3,vbTuesday),"yyyymmdd") みたいに.
626デフォルトの名無しさん:2007/09/23(日) 16:48:16
処理を実行している旨を画面に表示させておきたいのですが、
VBAでいうとApplication.Screenupdateみたいなのってありますでしょうか?

sub main()

  Label1.caption = "処理を実行中です"

  'この時点でフォームに実行中の表示をさせたいんです

call データベースに接続

  Label1.caption = "処理が完了しました"

End sub
627デフォルトの名無しさん:2007/09/23(日) 17:13:44
reflesh メソドとかのこと?
VBAよくしらんけど
628626:2007/09/23(日) 17:23:41
>>627
うわ、出来ました。ずっと悩んでいたのでとても助かります。
ありがとうございました。
629デフォルトの名無しさん:2007/09/25(火) 18:32:59
まだPGと言うのも恥ずかしい新人です。
VB6.0で作られてるのをAccess2000のVBAで作ってみてるんですが互換性はあるんでしょうか。
wiki見る限りVB7から互換性はないとのことだし
できることならそのまま流用、自己解読のためにも互換性の有無を教えていただけるとありがたいです。
630デフォルトの名無しさん:2007/09/25(火) 18:34:40
631デフォルトの名無しさん:2007/09/25(火) 23:26:59
>629
VBの言語仕様自体は共通。
ただしフォーム等のオブジェクト構造はほぼ別物。
ほとんどの場合、コピペするだけじゃ動かないと思っておいたほうが良い。
632629:2007/09/26(水) 17:54:23
>>631
言語が一緒、ということは片方がわかればもう片方もわかる、というわけでもないか
もう少しソースとにらめっこしてきます。ありがとうございます。
633デフォルトの名無しさん:2007/09/27(木) 13:16:16
こちらでいいのかわかりませんが質問させてもらいます。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text() = "動作中"
Timer1.Interval = ComboBox1.Text
Timer1.Enabled = True
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Text() = "時間です"
Beep()
Timer1.Enabled = False
End Sub
End Class

という、タイマーのプログラムを作ったのですが、
タイマーの動作中はButton1をクリックできないようにしたいのですが、
どのようにプログラムを変えればよいのでしょうか?
お教えください。よろしくおねがいします。
634デフォルトの名無しさん:2007/09/27(木) 14:16:30
>>633
Button1_Clickの時に、
Button1.Enabled = False
で良いのでは?

あと、Timer1_Tickで
Button1.Enabled = true
で戻しとく
635デフォルトの名無しさん:2007/09/27(木) 14:53:20
>>634
なるほど、有り難うございます。
ってことは、

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text() = "動作中"
Timer1.Interval = ComboBox1.Text
Button1.Enabled = False
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Text() = "時間です"
Button1.Enabled = true
Beep()
Timer1.Enabled = False
End Sub
End Class

で、よいのでしょうか・・?
初心者なものですみません・・・。
636デフォルトの名無しさん:2007/09/27(木) 15:07:45
>>635
それで動くかわかりません、環境が無いもので。。
しかし、コードを記述する場所はそれでいいんじゃないでしょうか
とりあえず、Button1.Enabled = False は使用不可にする意味ですので、
実現したい場所に記述して下さい。
ちなみに、.NETの質問はこちらに
ttp://pc11.2ch.net/test/read.cgi/tech/1189038267/l50
637デフォルトの名無しさん:2007/09/27(木) 15:16:32
>>636
わかりました。ありがとうございました。
スレ違いでしたか・・。すみませんでした。
638デフォルトの名無しさん:2007/09/28(金) 18:00:27
VCはなんとなく判るけどVBはまったく判ってないのですが質問です。
ttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200512/05120059.txt
でVB6でpdfのページ数を求めるソースがあるのですが、

5 AcroPDF:AcroPDF1 を Form1 に貼り付ける
この意味が判りません。何をどうすればよいのでしょうか?
ここ以前まではできたと思います
(生成したクラスの名前をClass1からtagWndに変更するなどを含め)。

Adobe Reader 7.0はインストール済み、WindowsXPです。
よろしくおねがいします。
639638:2007/09/28(金) 18:15:29
とりあえず今の状態で
実行→完全コンパイル後に開始
を行うと、変数「AcroPDF1」がハイライトされ、「コンパイルエラー:変数が定義されていません」
と表示されます
640デフォルトの名無しさん:2007/09/28(金) 19:28:58
VCで作れば?
641デフォルトの名無しさん:2007/09/28(金) 20:46:44
VC3000のど飴〜
642デフォルトの名無しさん:2007/09/28(金) 23:20:53
>>638
これ書いたの俺だけど,
とりあえず,
> 4 [プロジェクト]-[コンポーネント]
>   -[Adobe Acrobat 7.0 Browser Control Type Library 1.0]
>   にチェックを入れる
はちゃんとチェック入れた?


チェック入れているなら,VBのツールボックス(ボタンとかテキストボックスとかピクチャボックスがあるアレ)
にAcroPDFのツールが選択可能になるから,ソレをForm1のデザイナに貼り付ければおk


ってか動くかどうか確かめてみた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4989.zip
動くね.(要AcrobatPDF 7)
643デフォルトの名無しさん:2007/09/29(土) 14:16:43
>>642
ありがとうございます。書いてあるとおりチェックは入れております。
AcroPDFのツールをForm1のフォームに貼り付けてみました。
ですが、メニューを押してもページ数が表示されるとかそういった事は起こりません。

まず「PDFファイルパスを入力してください」というウィンドウが出るので入力してOKを押します。
するとForm1というタイトルのあるウィンドウが出てきますが、この時「AcroPDFのツール」を
貼り付けた部分は透明になり、その下にある画面が表示されます。そしてメニュー(pGetPageCount)を押すと
ディスクアクセスは起こるようですが何の変化も起こりません。うpして頂いたzipを解凍してやっても同様です。

「(フリーの)Adobe Reader 7.0が必要」なのではなくて「(製品の)Adobe Acrobat 7」などが必要なのでしょうか?

まあそういった事で駄目なら他の方法を探しますorz
644デフォルトの名無しさん:2007/09/29(土) 20:02:34
API使って現在立ち上がってる他のウィンドウを一番手前に
表示するプログラム作らないといけないんですが

APIの使い方が分かりません
645デフォルトの名無しさん:2007/09/30(日) 00:21:42
ググレカス
646デフォルトの名無しさん:2007/09/30(日) 02:41:22
>>644
APIは初心者向けの内容じゃないから他スレで聞いた方がいいですハゲ。

自分自身のプロセス(exe)内だったらForm.ZOrderとかがあります。

他プロセスだったら、使うのはFindWindowとかSetForeGroundWindowだと思います。
あとはググレカス。

あと、最近のWindowsは他プロセスのウィンドウを手前にしようとかしても
点滅するだけで手前に来ないようになってます。よろしく。
647デフォルトの名無しさん:2007/09/30(日) 07:00:59
>>643
遅くなった

うーん,確実に俺の環境とは違うなぁ
とりあえず,動作検証用にSS貼り付けるから,こちらで確認できる正常動作を見てくれ:
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4993.zip


> 「(フリーの)Adobe Reader 7.0が必要」なのではなくて「(製品の)Adobe Acrobat 7」などが必要なのでしょうか? 
そんなことはないぉ
Adobe Reader 7.0(バージョン7.0.7)で確認しているぉ(^ω^

あと,Adobe PDF ReaderでActiveXコントロールとして表示されない,をググると…
ttp://www.google.co.jp/search?complete=1&hl=ja&q=Adobe+PDF+Reader+ActiveX%E3%80%80%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84&lr=&aq=null

あとはよーわからん
648デフォルトの名無しさん:2007/09/30(日) 13:04:22
気色の悪い奴だなあ。。。
649デフォルトの名無しさん:2007/10/01(月) 08:14:46
>>647
何度もありがとうございます。原因を探してみます。
矢張り当方が根本的な部分で理解していない可能性もある訳ですしねorz
650デフォルトの名無しさん:2007/10/03(水) 10:10:43
VB6のSP6です。

あのう、IEのツール->インターネットオプションで出てくるような、タブコントロールの
乗ったダイアログで、かつそこでの設定変更をリアルタイム(というかイ
ンタラクティブ)で、元のウィンドウに反映されるようなのをダイアログ
を作りたいのですが、
(つまり、適用を押さなくてもラジオボタンとかを
変えただけで変更が反映されるような)

これはやはり
−フォームで自作する
−ラジオボタンの変更イベントをキャッチしてイベントドリブンで自分で作る
という感じで皆さんやっておられるのでしょうか?

なんかいいアクティブXとか標準のコンポーネントとかありますでしょうか。
なにとぞよろしこ。
651デフォルトの名無しさん:2007/10/03(水) 10:16:41
>>650
逆にあったら不便だろ
言わなくても分かってると思うから今後誰か見たときのためにかくけど,自分中心で考えたら世の中まわりゃせんよ.

VB6はそのへんの処理の抽象化があまり出来ない言語だからゴリゴリ作るしかほかない.
何かデザパタ参照するとちょっとは楽できるかもしれんが.
652650:2007/10/03(水) 11:12:21
>>651
おせわになりましこ。結構ググりまくって自分の理解ぎりぎりのところで
文章書いているので変な日本語スンマソン。

>デザパタ

ググッテみたらアプリケーションウィザードでいろいろ作ってみるというのを
ハケーンしてワクテカしながらいろいろ作ってみたけど肝心のツール->オプション
が空で、実行したら「てめえでコードを記述すれ」と言われてガカーリシターヨ。
なんか、近いのご存じでっか?
653デフォルトの名無しさん:2007/10/03(水) 11:55:09
>>652
デザパタはこちら:
ttp://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_%28%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%29
別に万能の利器でもなんでもない,デザインパターンだから何かツール的な使い方があるわけでもない.
けど考えるとき便利.


今回の件でもっとも難しいのが,やりたいことが余りにも抽象的な位置に属していること.
全てをひっくるめると「何か行動したとき [イベントが発火したとき] に何かしたい [アクションを起こしたい] 」ってことに纏まるわけだが,
これじゃあイベントドリブンそのものを言っているに過ぎない.

こういうものは,結局「何でも使えるけど何にも使えない」物なので,
仮にツールやフレームワークとして提供されていてもほとんど自分で書かなくては成らない.

/*
抽象的な表現からもうちょっと掘り下げて,たとえば「特定のボタンを押したときに,特定のウィンドウに"A"を表示する」
程度だったらちょっとはツールキットとして成立するかもしれん.
*/


まあ,現状の説明で作るってんならゴリゴリ書いていくしか無いだろうね.
654650:2007/10/03(水) 13:16:51
>>653
サンクスコ。そんな回答でいいの。

もともと抽象的というか、何から手をつけて良いのかわからない段階だったので、
テンプレになるものが「ある」のか「無い」のかわかればそんでいいの。

誰もが一度は通るべき道を掲示板で聞いて楽しようと思っているのではなくて、
誰もが利用している便利なテンプレがあるのを知らずに何ヶ月も悩むのを避けた
いだけなので、みながゴリゴリ作っている事だと分かれば安心してフルパワーを
つぎ込んだりあっさり諦めたりできる。その割り切りができるのがありがたいの。

しっかし「デザインパターン」ってのも一種の予約語なんだな。サンキュスコ。
世話になったね。
655デフォルトの名無しさん:2007/10/03(水) 18:48:20
>>650
なんか変なアドバイスをしてる人がいるけど、別に君が欲しがってる様なUIは
必ずしも変ではないし、またデザインパターンなんて大げさなこと言わなくても
実現できるよ。

大雑把にはこんな方針でやればいい。

■ 設定値は(その設定が属する「存在」を抽象化した)クラスのCHogeの
プロパティとして実装する。

■ Form1(君のいう「元のウィンドウ」)と設定用フォームSettingFormには、
どちらもCHogeの同じインスタンスHogeへの参照を持たせる。

■ Hogeは設定値が変更されたとき、イベントを生成する。Form1はこのイベントを
受信して設定値の表示を更新する。

■ SettingFormのコントロールの値が変更された時、Hogeのプロパティを連動して変更する。

というか、普通このぐらいのことは自分で思いつかなきゃダメダメだな。
そんな程度ならいまさらVB6なんて終わってる言語やってもしょうがないと思う。
656デフォルトの名無しさん:2007/10/03(水) 22:09:43
>>655
ってだからそれ自体は普通のイベントの発火とアクションだって.
しかも親子で明示的に参照しあってると循環参照になるから普通はWithEvents使うって.

…って言っても分かってくれないんならもういいや
657デフォルトの名無しさん:2007/10/03(水) 22:24:34
日本語書けよ。
655の文章のどの部分に対して「ってだから」なんだ?
訳が分からんよ
658デフォルトの名無しさん:2007/10/03(水) 22:34:00
>>656
>…って言っても分かってくれないんならもういいや
むしろこっちの方がもういいや
659デフォルトの名無しさん:2007/10/03(水) 22:42:54
>>657
全部だよ.

>>655の書いてることは,要はイベントの発火とハンドリングをVB6のイベント処理とは別の独自の方法でやるってことだろ?


非標準な方法を使うと色々コストが高くつくし,
何より「イベントの発火の結果何をするかは設定要素次第」なんて言ったら,
もはや「イベントは発火するけどその結果をどう使うかは貴方次第」ってことになって,
>>653で述べた結果になると思うってことだ.
つまり,それは「何でも使えるけど何にも使えない」物になるってこと.

具体的に>>655だと,たとえば
 ■ SettingFormのコントロールの値が変更された時、Hogeのプロパティを連動して変更する。
の部分が「何にも使えるけど何にも使えない」部分だと思われ.
「Hogeのプロパティを『〜のように』連動して変更する」だったらまだ使い物になる.
けれど「Hogeのプロパティを変更する」じゃ,アタマ空っぽの人間に仕事を押し付けてるようなもんだ.



まとめると,もともとの>>650のしたいことは”イベントを処理すること”を工夫するのではなくて,
”イベントによって行う処理”を工夫して纏めることだと思うんだが,
あえてイベント処理自体を自力で実装する>>655はお門違いだと思うってことだ.


>>657へ.
ちゃんと日本語で具体的に書いたぞ.
そっちも具体的に書いてね
660デフォルトの名無しさん:2007/10/03(水) 22:49:13
>>655
> またデザインパターンなんて大げさなこと
大げさか。
661デフォルトの名無しさん:2007/10/03(水) 22:55:21
>>659

>要はイベントの発火とハンドリングをVB6のイベント処理とは別の独自の方法でやるってことだろ?
誰もそんなこと書いてないよ。

後の部分については、言っては悪いが日本語になってない。
リカイデキマセン。

まあよく分かってないならあんまり無理しなさんな。
662デフォルトの名無しさん:2007/10/03(水) 22:58:14
はいはいそうだね.
663デフォルトの名無しさん:2007/10/03(水) 23:01:44
>>661
> 誰もそんなこと書いてないよ。 
じゃあなんて言いたいの?
理解できない部分があるのはお互い様だろ.
664デフォルトの名無しさん:2007/10/03(水) 23:05:50
じゃあなんて言いたいって、ちゃんと書いてあるじゃんw

むしろ>>655のどこをどう読めば
「イベントの発火とハンドリングをVB6のイベント処理とは別の独自の方法でやる」
なんてユニークな解釈ができるの?

「くだすれ」だから当該言語について初心者なのはまあ許されるかもしれないが(でも
お前さん回答者なんだろw)日本語の読解および表現力に関して初心者なのはどうなのよw
665デフォルトの名無しさん:2007/10/03(水) 23:09:03
思うに

>■ 設定値は(その設定が属する「存在」を抽象化した)クラスのCHogeの 
>プロパティとして実装する。 
の「存在」とか言う部分も相当ユニークだと思うが・・・

まあいいや,解釈がユニークなのは誰しも当たり前だし,
当たり前のこと言ってる奴見るのも飽きるからそろそろ寝る

またな
666デフォルトの名無しさん:2007/10/03(水) 23:12:02
>>664
ん?
でも>>655って結局は「イベントを処理する」って言いたいだけじゃないのか?
667デフォルトの名無しさん:2007/10/03(水) 23:23:33
ひらがなの「あ」とかの書き順をVBでアニメーションしようと思って、、、

ピクチャボックスに画ごとに色分けて作った「あ」という画像を表示して、
画順にPSetで塗りつぶしていくってのを作ってみたんですが、
1画塗り終わるのにめっさ時間がかかってしまうんです。
なにか、早くスムーズに、塗りつぶしていく方法ってあるでしょうか?
668デフォルトの名無しさん:2007/10/03(水) 23:25:48
AVIでデータ作っとけよ
669デフォルトの名無しさん:2007/10/08(月) 19:54:23
今度、メールの送信とFTPでダウンロードするプログラムを短期で作成することになりました。
ActiveXを使ってやろうと思っているのですが、GrapeCity以外で、何かよいものをご存じありませんか?
670デフォルトの名無しさん:2007/10/08(月) 19:55:58
671デフォルトの名無しさん:2007/10/09(火) 17:27:25
質問失礼します。
VB 2005でデスクトップマスコットを制作しているのですが、
マスコットとメッセージの同期移動がどうしても上手くいきません。

それぞれ個別のフォームで表示させていて、
タイトルバーを非表示にしてある状態で
↓のサイトを参考に同時移動の処理を考えたのですが
どうしても上手くいきません。
ttp://dobon.net/vb/dotnet/form/moveform.html

何か良い案は無いでしょうか?
よろしくお願いします。
672671:2007/10/09(火) 17:35:35
すみません、VB6.0以前でしたね。
スレ違いでした。
673デフォルトの名無しさん:2007/10/09(火) 18:33:41
>>670
情報ありがとうございます。
これから、使用例など見て検討したいと思います。
個人の作者さんというのがちょっとネックか?というところです。
674デフォルトの名無しさん:2007/10/10(水) 23:26:41
すんません。初心者で宙な私に教えてください。

VB6で変数を宣言しなきゃバリアントになるというのはどこみても書いて
ありますが、その時のスコープはどうなるんでしょうか?
これも標準モジュールかフォームかクラスモジュールかによって違うんでしょうか?

いや、自分で書くときゃ必ずOption Explicitなんですが、買ってきた本に
書いてあるコードが理解できない。。。
675デフォルトの名無しさん:2007/10/10(水) 23:36:49
>>674
基本的に閉じたスコープで宣言したものになるはず
676デフォルトの名無しさん:2007/10/10(水) 23:38:12
日本語でおkな質問に日本語でおkな回答を返すとは。。。
677674:2007/10/11(木) 00:05:45
>閉じたスコープ

回答感謝。ググッテみたところそのものずばりは出てこないけど、
つまり使われているルーチン(プロシージャとかファンクションとか)
と同じになるって事?

(未宣言の変数がパブリックプロシージャで使われていれば、
 その変数もパブリックになると?)
678デフォルトの名無しさん:2007/10/11(木) 00:11:56
やすくVB6を手に入れる方法おしえれ
679デフォルトの名無しさん:2007/10/11(木) 00:13:52
>>677
自分の居るスコープで宣言したのと同じになるってこと.
というか変数を使う段階がメソッド内部でしかないから,メソッドで宣言したものと同じになる


はずね
680デフォルトの名無しさん:2007/10/11(木) 00:16:43
>>677
VB スコープ でググったら、そのものずばりがでてきたけど
681デフォルトの名無しさん:2007/10/11(木) 00:40:44
>678
MSDN
682デフォルトの名無しさん:2007/10/12(金) 13:21:07
>678
MVP
683デフォルトの名無しさん:2007/10/14(日) 14:06:00
[----睡眠-----][-----2ch-----][-昼寝-][---2ch---][-----睡眠-----]
このように棒状の図形をドラッグで繋げていって1日のスケジュールを作りたいのですが
つなげたい場所付近でドロップすればぴったり吸い付くように張り付く動作をさせるには
どうしたらいいですか?
684デフォルトの名無しさん:2007/10/14(日) 14:10:39
>>683
移動先が次の棒の先端を越えたら、必ずその次の棒の先端と同じ座標に、
今の棒の移動先が固定されるようにすればいいんじゃ?
685デフォルトの名無しさん:2007/10/15(月) 18:10:23
プログラムの「前」ってどっちですか?

Private Sub Button1_Click(・・・)
 Dim k, i
 k = 0          ← こっちが前?
 For i = 1 To 10
   k = k + i
 Next
 Button1.Text() = k  ← こっちが前?
End Sub
686デフォルトの名無しさん:2007/10/15(月) 18:55:51
プログラムの「前」って何ですか?
687デフォルトの名無しさん:2007/10/15(月) 21:37:05
どちらが先に実行されるか?って話しかな?

>>685のコード懐かしいな。VB6買った当時はまだ高校生で何となく
>>685見たいな1〜Nまで足す簡単なプログラム組んで遊んでたな。
688デフォルトの名無しさん:2007/10/15(月) 22:46:11
上と下でいいじゃん
689デフォルトの名無しさん:2007/10/16(火) 01:49:05
私の持っている本に、WordBasicが難解だった理由が、「VBAのようにオブジ
ェクトとして文書を取り扱うことができるようにはなっておらず、Wordの操
作がそのままステートメント(命令語)として提供されていたため」と説明
されているのですが、意味が理解できません。どなたか、噛み砕いて説明し
てください。
690デフォルトの名無しさん:2007/10/16(火) 07:01:12
>>685
「前方」 と言うと、ファイルの最後の方向を指す。
691デフォルトの名無しさん:2007/10/16(火) 07:08:20
>>690
んでこれは forward の直訳なんだけど、あまり好きでないのは確か。
個人的にはあまり前後で表現しない方がいいと思う。
692デフォルトの名無しさん:2007/10/16(火) 10:49:53
>>689
じゃあ先ず噛み砕いて説明して欲しい理由を噛み砕いて説明してください
693デフォルトの名無しさん:2007/10/16(火) 13:46:15
初心者です。すみません。

質問です。

環境 WinNT4.5 + VB5

"プリンタのスプールを制御して、特定のプリンタでは必ず2枚印刷する"

みたいなモノはVBで作成できますか?

業務用ソフトで、領収証の正副印刷が対応されてなくて、
ドライバに印刷部数設定がないので不便を感じており、フリーソフトを探しましたが
見つからず、VBなら触ったことがあるので、どうにか業務を改善したいのです。
どなたかご教示お願い申し上げます。

乱文すみません


694デフォルトの名無しさん:2007/10/16(火) 23:04:04
その業務用ソフトを直せばいいんじゃない?
ちなみに質問の答えは「無理」。
695デフォルトの名無しさん:2007/10/16(火) 23:07:16
俺ならできるよ
696デフォルトの名無しさん:2007/10/16(火) 23:17:23
>>695
はいはい。
自慢したいだけの厨房は自分のケツの穴に自分のチンコを突っ込んでオナってろや。
おまいが出来ても意味が無い。
質問主ができなきゃどうしようも無いんだよ。
697デフォルトの名無しさん:2007/10/16(火) 23:34:05
レシートプリンタの機種によっては印刷設定を直すだけで可能かもな
698デフォルトの名無しさん:2007/10/16(火) 23:42:32
むかしだったらドットインパクトプリンタつかって、複写紙に印刷で片付いたけどな。

こないだ免許切り替えに行ったら今でもドットインパクトプリンタだったよ。
で、ドットインパクトプリンタって1枚切り取ると必ずもう1枚無駄が出るから
それを避けるために自分の番が済んだら次の人が済むまで待たされて
次の番の人の分がプリントアウトされたら自分の分のプリントアウトがもらえるという
なんとも悲しくなる運用だったよ。
699デフォルトの名無しさん:2007/10/17(水) 00:01:14
Accessにあるマスタ情報をコンボボックスでリスト表示させたいのですがやり方がわかりません
DBComboを貼り付けてみたのですがプロパティの設定で躓いているのかリストが空っぽです
どなたか設定方法を教えてください
700デフォルトの名無しさん:2007/10/17(水) 02:01:29
Accessにあるスマタ情報まで読んだ
701693:2007/10/17(水) 10:58:58

みなさん レスありがとうございます。

>694さん
メーカーには何度もお願いしていますが、仕様なのでとのことで直してくれません。
やっぱり無理ですか。

>697さん
プリンタのドライバには部数設定がないのです。
ドットインパクトプリンタ EPSON VP880

>698さん
複写紙はコストが掛かるのでNGです(By社長)

VBでは無理のようですね。
みなさん 情報ありがとうございました。

702デフォルトの名無しさん:2007/10/17(水) 11:04:20
おまいら、ドットインパクトプリンタは普通に現役で新型も出てるぞ?
703デフォルトの名無しさん:2007/10/17(水) 14:35:54
こんな時にこそ、カーボン紙の出番だ
704689:2007/10/17(水) 21:19:08
>>692

うぅ、すみません、そこまでしっかりとした理由じゃないんです。
ただの好奇心でプログラムの体系を学んでいるんですが、先の箇所が
何を言わんとしているのかイメージできなかったもので・・・。
705デフォルトの名無しさん:2007/10/23(火) 07:46:45
>701
PDFにはいて、アクロバットリーダーをコマンドラインから呼んで印刷したらどう?


印刷したいものをPDFで出力。

バッチファイルでもVBでもいいのでコマンドラインでPDFを2回印刷し
そのご削除するプログラムを起動。

って運用

AcrobatreaderのコマンドラインオプションについてはDeveloperFAQ.pdfってに書いてある
らしい

この運用は今よりましかどうかは微妙だなー。
706デフォルトの名無しさん:2007/11/03(土) 23:42:45
ここでいいのかわかりませんが質問させて下さい。
XP EXCEL2000
マクロでIEを起動してSendkeysで入力した後切り替わったページの内容をファイルで吐き出すプログラム作ってるんですけど、3、4回実行した辺りから処理が重くなりまともにキーが送れなくなります。タスクマネージャーで見たところSYSTEMが100%近くまで来てました。
これって何ですか?
707デフォルトの名無しさん:2007/11/03(土) 23:47:28
>>706
ここでいいわけねえだろ糞野郎
氏ねボケカス
708デフォルトの名無しさん:2007/11/04(日) 00:04:12
>>707
うはっ、早速のレス有難う御座います。
その後、こりゃ駄目だとEXCEL閉じたんですけど状況変わらずでPC再起動してやっと回復したんですけどまた何度か実行すると同じようになります。
似たような経験のある方とかいらっしゃいませんか?
709デフォルトの名無しさん:2007/11/04(日) 00:34:29
>>706,708
さすがにスレ違いの質問はダメだろ。ここはVB6.0以前の場所。
プログラム板に助けてくれそうなスレがちゃんとあっからそっちで質問してみ。
710デフォルトの名無しさん:2007/11/04(日) 00:34:51
IEなら、普通に参照設定してオブジェクトを操作したほうが
SendKeysを確実じゃないかと主運だけ尾d。
711デフォルトの名無しさん:2007/11/04(日) 01:36:55
あ、ごめんなさい過去レス読んでました。
此処って良スレなんですね、改めて感動しました。

>>710
そうですね。
作り直します。
有り難う御座いました。
712デフォルトの名無しさん:2007/11/05(月) 03:43:38
{enter}をsendkeysして、それが誤爆してんじゃないか
{enter}のsendkeysは危険だよ
713706:2007/11/05(月) 06:01:04
>>710
今やっと直し終わりました。
今度はバッチリ動いてます!
ありがとうございました。

>>711
はい、ENTERも使ってました。

Sendkeysってなんか使いづらいんですね。
714デフォルトの名無しさん:2007/11/05(月) 16:02:43
(Y)とか(N)のやり方を度忘れしてしまいました。
どうやるんですか?
715デフォルトの名無しさん:2007/11/05(月) 16:25:35
>>714
死ね役立たず。
人の足引っ張って楽しいかゴミクズ。
今すぐ死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。v死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。死ね。
716デフォルトの名無しさん:2007/11/06(火) 18:56:09
>715
楽しそうだな。

2ちゃんのすれ相手じゃなくて 本当にいいたい奴にいったらもっとすっきりするぞ。

俺も毎日いいたいのを我慢してるよ。
717デフォルトの名無しさん:2007/11/07(水) 22:33:30
VBでログイン画面作ってるんですけど、IDとPASSを入力してログインボタンを押したときに
ACCESSに接続してログイン可能か判断するコード教えて下さい。
718デフォルトの名無しさん:2007/11/07(水) 22:44:13
>>716
誰もが斯様なのですね…

    ,..アナスイ トモダチノ ベンキョウヲ ススメテ ヤレヨ…
  ,level
…(+ΦyΦ)…
   ‘ワタシハ チュウガクニネンニナリマス…
719デフォルトの名無しさん:2007/11/08(木) 21:14:24
>>717
じゃあまずIDとPASSを 入力しないで ACCESSに接続してログイン可能か判断するコード書け
720デフォルトの名無しさん:2007/11/11(日) 11:18:37
>719
ADSIとか?といってみるテスト。
717ではないが・・
ADSIってVB6で使えるんかなぁ?
試したことないけど

721デフォルトの名無しさん:2007/11/20(火) 19:13:49
最近VB6.0をはじめたんですけど
○○をさせたいって思ったときに具体的なコードが検討も付きません
なにかぐぐる時のコツ的なものないですかね?
722デフォルトの名無しさん:2007/11/20(火) 19:26:08
>>721
アルゴリズム辞典とか
723デフォルトの名無しさん:2007/11/20(火) 19:34:14
>最近VB6.0を

今更VB6なんて始めてんじゃねえよドアホ
724デフォルトの名無しさん:2007/11/20(火) 20:14:30
>>722
ありがとうございます
残念ながら見てもよくわかりませんでした

具体的に言うと、たとえばVBのテキストボックスからテキストファイルに出力させたり
読み込ませたり、などなんですが
ほとんどのサイトがVBそのものの解説だけや、文法の説明が多く、何をするためにはこのメソッドを使う
とか、宣言をする。のような事があまり調べられず困ってる感じです
725デフォルトの名無しさん:2007/11/20(火) 20:32:44
今更VB6なんて始めてんじゃねえよドアホ
726デフォルトの名無しさん:2007/11/20(火) 22:08:13
いいじゃないの真冬に冷やし中華はじめましたなラーメン屋があっても
727デフォルトの名無しさん:2007/11/20(火) 23:22:29
VBって適当にググればそういう話がいっぱい出てくるほうだと俺は思っているんだけど。
728デフォルトの名無しさん:2007/11/20(火) 23:36:03
>>727
それっぽい話はいっぱい出てくるのですが
例えるならアタリっぽいけど抜きどころが見つからないAVのような
さわりだけで肝心なところで終わるAVのような
なかなか求めるようなサイトが出てこないんです

なのでググり方、調べ方なんかでコツのようなモノがあったら教えていただけたらと
729デフォルトの名無しさん:2007/11/20(火) 23:41:50
つーか 今時VB6はじめるにはそれ相応の理由があるだろう

1.自分|客 がVB6以外認めないバカ
2.自分|客 がVB6以外認めない偏屈
3.自分|客 がVB6以外理解できないバカ
4.自分|客 がVB6以外の言語が動く環境が確保できないくらい貧しい
5.自分|客 の上司がVB6以外認めないバカ
6.自分|客 の上司がVB6以外認めない偏屈
7.自分|客 の上司がVB6以外理解できないバカ

4-7だったら暖かく認めてもよくね?

んでも発言みるかぎり1と2と3のコンボ風だな

どれ?
>721

4だったら 客の年商か 自分の収入答えてみ?

730デフォルトの名無しさん:2007/11/20(火) 23:45:43
>728
なんだ釣りかよ!!
むかつく!
氏ね!

マジだったら商売かえろ!
もしくは本スレいけ!

ttp://pc11.2ch.net/test/read.cgi/tech/1187667616/
731デフォルトの名無しさん:2007/11/20(火) 23:53:36
>>729
微妙ですが4-7に近いと思われます
いまどきVB6をはじめる理由は、今月から入った会社の環境がほぼVB6がメイン
また会社と連携のある顧客、あるいは会社の人員が世代の古い方々が多く同じくVB6がメインなので
仕事上まずその環境に慣れなければならない為です

ちなみに私自身はプログラム系はほとんど経験がなくVB6がはじめてです
732デフォルトの名無しさん:2007/11/21(水) 00:01:53
>>730
申し訳ないです、釣ってるつもりはないんですが
ホントにググってもVBの概念、定義の仕方やせいぜい文法の辺りまでで
肝心なコードはサンプルがあるだけで、どのメソッドにどういう役割がある
といった事は書かれていないことが多いです

ヘルプを使ってみても分かりにくい言い回しが多いので・・・
もちろん私の理解力が足りないだけかもしれませんが
733デフォルトの名無しさん:2007/11/21(水) 00:33:49
サンプルソースまで乗ってるMSDNがダメなら何やってもダメな気がするが
あとはせいぜい逆引き大辞典とかか?
734デフォルトの名無しさん:2007/11/21(水) 00:43:30
会社の人間に聞けよな
735デフォルトの名無しさん:2007/11/21(水) 00:43:47
>>732
> VBの概念、定義の仕方やせいぜい文法の辺りまでで
> 肝心なコードはサンプルがあるだけで

それだけあれば十分でしょ
サンプルがあるなら、似たようなことを実現するコードを
書くとっかかりにはなるんだから


> どのメソッドにどういう役割がある

そういうことは、使いながら調べたり試したりしながら覚えてくもんだ
プログラムに限ったことじゃないが、最初から全知識を頭に詰め込んで
始められるものなんてないと思うぞ
736デフォルトの名無しさん:2007/11/21(水) 00:57:18
ネタだろ。マジレスするだけバカバカしい。
サンプルコードを読んでもわからない、ってのが本当だとすると
そもそもプログラミングの勉強すらした事が無いと思われ。
学校でいったい何を勉強したのやら・・・

なんか 「ALWAYS 三丁目の夕日」 みたいだな。

ある自動車修理工場の話。
履歴書に 特技・自動車修理 って書いてあるから雇ったら
実は 自転車修理 の読み間違えだった。

なんでプログラミング経験の無いヤツを雇うのか不思議だな。
そこらへんに掃いて捨てるほどゴロゴロ転がってるというのに。
737デフォルトの名無しさん:2007/11/21(水) 00:58:44
>>733-735
仰るとおりですorz
ただ会社の人も付きっ切りで私に教える訳にもいかず、追いつかないもので
>>735のようにとりあえず記述されているサンプルコードを使いながら試したりしているんですけど
サンプルも圧縮してある物が多く会社のPCではダウンロードが禁止されているので
思うようにはかどらないんです

あと書き忘れていました
自宅のPCにはVB6もOffice系のソフトも入っていません
理由は>>729の4です
738デフォルトの名無しさん:2007/11/21(水) 01:01:52
あ、思い出した。
俺が昔働いていた田舎の工場での話し。
履歴書に 資格・電子計算機ナントカカントカ○○級 って書いてあるから
コンピュータ室のオペレータに採用された女の子がいた。
なんか、聞きなれない資格だな。そんなのあったっけ・・・
その子のよく聞いてみたら、電卓 の資格だった。orz
739デフォルトの名無しさん:2007/11/21(水) 01:08:50
>>736
>そもそもプログラミングの勉強すらした事が無いと思われ。
その通りです。最近はじめたばかりですし、資格も一切持っていません

>なんでプログラミング経験の無いヤツを雇うのか不思議だな。
ですね、いかんせんお年寄りの多い会社なので世代交代という意味で
「とりあえず」で雇ったのかもしれません

参考書などを買うお金も微妙ですし、会社のPCからはここは見れないので
できるだけ自分で調べて覚えていきたいのですが、どうにも能率が悪くて
なのでそういうのを勉強したり調べたりする上でコツがあればと聞いてみたんですが
すれ違いなら申し訳ないです
740デフォルトの名無しさん:2007/11/21(水) 01:11:13
電卓検定は俺も持ってるが、オペレータなら有効な資格じゃないか
741デフォルトの名無しさん:2007/11/21(水) 01:12:04
>>739
ウザイんだよお前
742デフォルトの名無しさん:2007/11/21(水) 01:34:30
>会社のPCからはここは見れないので

も、もしかして、会社のPCはインターネットに繋がってないとか・・・?
743デフォルトの名無しさん:2007/11/21(水) 01:55:22
>>742
制限がかかってるんです
インターネットには繋げますが会社が許可した属性のページしか見れません
ので掲示板の類や会社が不適切と判断したページは見れないんです
同じくファイル類のダウンロードも一切できません
744デフォルトの名無しさん:2007/11/21(水) 09:32:07
>>743
まずやりたいことを
入力 処理 出力 という形でわけてみる んでそれぞれを細かくわけて
単機能にしていく 
んでその単機能のサンプルを片っ端から集めてくる。家で集めて会社で
展開するくらい許してもらえ。
海外にも多くのサンプルが転がっている。
んでサンプルをそのまま実行しながらコードの書き方を見る。
つぎに目的の機能に合せてコードを書替えてアレンジしてみる。
あとはそれぞれをつなぎ合わせる事を考える。
そこで食っていくのなら参考書を買うなりVB6を調達するなり
自分への先行投資もしなきゃね。

あとここでなんでも相談するな。情報はふんだんに転がっている相談するより
調べた方が早い。どうやれば効率よく調べられるかは数打ってなれろ。

745デフォルトの名無しさん:2007/11/21(水) 10:02:03
フィルタリングは正直かわいそうだと思うが
ネットに繋がってる事が業務上重要なのだと上を説得するしかねーだろーな
746デフォルトの名無しさん:2007/11/21(水) 12:24:20
>>743
会社は、VBわからないことを承知の上で採用したのだから、
あんたを業務で使用できるように育てる義務がある
先輩が忙しいとか時間が無いとか、そういう問題じゃないんだよ

教務担当に現在進行中の仕事があっても、そんなの関係ねぇ
しつこく何でも何度でも聞け
必要なら書籍購入やダウンロード可能の承認をもらえ
いまあんたに必要なのは、たとえ担当に迷惑がられても、
その会社の方針に従っている限り、その中で知識をがっつく根性だ

それにここは、VB用の質問スレであって、仕事のやり方勉強の仕方の
質問スレじゃないんだ
そこんとこわかってくれ
747デフォルトの名無しさん:2007/11/22(木) 16:44:59
すいませんが、VB6のエディターにおける文字列定数の
記述方法についてお伺いします。

たとえばSelect文において
 Select Case Str1
  Case "”"
とか
  Case "″"
と入力すると、すべて
  Case """"
と変換されてしまいます。もちろん、変数Str1の中身が「”」であっても
一致していないとみなされてしまいます。

この変換を抑制する方法ってありますか?

もし無いのなら、文字列定数ではなくUnicodeでコードを直接記述することに
なると思うのですが、chrw()関数でのUnicodeの指定方法がわかりません。
手元にある漢字コード表はJISとShift-JISなものでして。

よろしくお願いいたします。
748デフォルトの名無しさん:2007/11/22(木) 17:01:10
>>747
"=chr(34)
749デフォルトの名無しさん:2007/11/22(木) 17:37:38
>>747
変換を抑制する方法はなさそうだね。
こんなプログラム作ってコードを調べてみたらどう?

Private Sub Command1_Click()
Dim strChar As String
Dim i As Long
For i = 1 To Len(Text1.Text)
strChar = Mid(Text1.Text, i, 1)
Debug.Print strChar, Hex(AscW(strChar))
Next
End Sub
750747:2007/11/22(木) 18:04:03
>>749
抑制する方法はないですか。MS-Officeのスペルチェックといい、
こういう余計なお世話は停止できるようにして欲しいですよね。
やはり、1バイトずつ分解して調査するしかありませんか、トホホ。

>>747
chrw()関数とかUnicodeのことを書いたのでわかるだろうと思って
はしょったのですが、""内は2バイト文字です。フォント設定によっては
判別しづらかったですかね。
751デフォルトの名無しさん:2007/11/22(木) 19:57:45
「余計なお世話」じゃないよ。ルールなんだから、嫌でも受け入れないと。
C言語やjavaなんてもっと惨いぜ。\nとか\\とか\"とか、¥だらけの汚いコードになるんだから。
自分の書いたコードを他人が読むときの事を考えてコーディングしなさい。

もっとも、自分が退社してしまえば、あとは野となれ山となれですがw
752デフォルトの名無しさん:2007/11/22(木) 22:35:56
話は逸れるがOfficeのスペルチェックはオフにできるぞ。
753デフォルトの名無しさん:2007/11/22(木) 23:57:23
できないぞ。
754747:2007/11/23(金) 00:46:10
>>751
うーん、CとかJavaの\nや\tは実装系に依存しないコードの表現方法であって、VBでいうとvbNewLineとかvbTabに該当するのかな(vbCrLfは特定の実装を想定しているから、この例では除外)。別に\nとか\"が並んでいても、汚いとは思わないけど。
なぜかって言うと、抽象度の高い統一された表現方法だから。文字コード体系の違うOSに移植するのも簡単だよね。

今回の問題というか憤りを感じたのは、どういう理由か想像できないけれど、特定のリテラルがエディターによって強制的に変換されちゃうってことで、そのためにコードが非統一の汚い記述になることなんですよ。

本来なら
 Case "("
 Case "”"
と書けるところを
 Case "("
 Case &H1234
と書くのは、コードの記述方式としては美しくないと感じるわけで。だから、いっそのこと
 Case &H1234 '「”」のこと
 Case &H2345 '「<」のこと
と書いた方がまだ「美しい」と思う。もっとも、チームでプログラムを組むときはこんなダサイ方法じゃなくて、
 dim strDQuote as String
 strDQuote = &H1234
としてから
 Case strDQuote
とするのが妥当なのはご存じの通りでして。

とにかく、特定のリテラルが記述できなくてコードを直接書かなくちゃならないというルールは、全然賛同できないんだけどな。いったい、どういう理由があるんだろ。

>>752
そう、スペルチェックとかハイパーリンクはオフにできるんだから、このエディターの機能もオフにできればいいのにね。
755デフォルトの名無しさん:2007/11/23(金) 01:14:42
>>754
昔魔界の仮面弁士さんが言ってたのがとこかに転がってるはず
756デフォルトの名無しさん:2007/11/23(金) 02:43:16
>>754
物事を知らないってのは幸せだな。
そのうち、うんと苦しめられるから覚悟しといたほうがいいと思うよ。
757デフォルトの名無しさん:2007/11/23(金) 09:06:05
>>754
そんなこと沢山あるだろ いちいちへ理屈を言う几帳面さをどうにかしたほうがいい
こんな枯れたものに

758747:2007/11/23(金) 09:59:53
>>754
あ、あの人ですね。ググってみたけど、彼がこの件について
書いた発言は見つかりませんでした。

>>756
どういうことを知っていれば、今後苦しまなくて済みますか?
私だけじゃなくて、ここを読んでる超初心者の方にも参考に
なるでしょうから、是非書いてみてください。

>>757
VBのエディターが枯れてる? VB使いの間ではそういう評価なんですかね?

屁理屈こねてるみたいな異常なこだわり、と思うかもしれませんが、
こういう奇妙と思える仕様の原因を探っていくと、他の局面で
同じ理由から発生する現象の解析がスムーズに行えて、けっして
ムダなこだわりじゃないんですよ。そりゃ結果的にはムダになるかもしれ
ないけど、この几帳面さは業務分析レベルでは重宝されてます。

それと、コーディングスタイルがバラバラになるのはプロジェクト管理上
まずい、というコーダーレベルの問題も解決できるし。
759デフォルトの名無しさん:2007/11/23(金) 10:53:24
>>747
俺は君の言ってることの方がまともだと思うよ。
まあ、馬鹿はほっとけってことw

驚くべきことに、文字列リテラル中の全角記号を勝手に半角に修正する糞仕様は、
なんとVB2005のIDEのエディタにも引き継がれているんだよねこれが。
760デフォルトの名無しさん:2007/11/26(月) 17:12:23
教えてください。VB6.0で開発してます
EXE@メニューボタン:1本、EXEA業務関係:複数本
イメージとしてはEXE@がメインフォーム、EXEAがMDIフォームの用な動作を考えています
別EXEで上記イメージのような動作は可能でしょうか?
761デフォルトの名無しさん:2007/11/26(月) 18:54:31
>>760
そう見えるようにコーディングすることは可能
762747:2007/11/26(月) 21:59:26
>>759
この奇妙な仕様は2005でも継続ですか。情報、ありがとうございます。

たしかにバカはほっといたほうが良いでしょうね。MSDNでも購入して
調べることにします。では。
763デフォルトの名無しさん:2007/11/28(水) 01:54:01
フォームのタイトルバーににヘルプボタンをつける事は可能ですか?
(.NetだとHelpButtonがあるのですが)
ダイアログボックスでつけれる[?]のボタンです。
API探してみたけど、ヘルプボタンに関して表示・非表示するのがないので
やっぱムリなんでしょうか。
764デフォルトの名無しさん:2007/11/29(木) 00:18:20
ファイルをCSV形式で書き込むときですが、
このように記述するとエラーになります。
Write #FileNo, "test", & _
"test1"
こういうケースの場合、接続文字はどうしていすればいいのでしょうか?
765デフォルトの名無しさん:2007/11/29(木) 00:29:32
>>764
そもそも _ が無くても構文エラー

Write #FileNo, "test", & "test1" 
766デフォルトの名無しさん:2007/11/29(木) 00:54:02
>>765
改行して記載は無理でしょうか?
767デフォルトの名無しさん:2007/11/29(木) 04:35:29
>>766
> 改行して記載は無理でしょうか?
意味不明

>>764じゃ、構文エラーが出るくらいしかわからん
何をしたいのかさっぱり

もう一度「何がしたくて」、「実際に何をやったのか」説明しなおすといい
768デフォルトの名無しさん:2007/11/29(木) 08:45:20
>>764
いったん 別の変数に入れる

769743:2007/11/30(金) 13:38:35
>>744 >>746
遅くなりましたがありがとうございます
残念ながら自宅で得たサンプルも含め外部から社内のPCへのデータの持ち込みが一切禁止されているので
社内にある別のVBのコードや見れる範囲でのサンプルコードで>>744のようにやってみます
>>746
スレ違いな質問申し訳ありませんでした
なるべく空気を読みつつ多少強引に回りに聞いてみるようにします

またなにかつまづいたら今度は具体的な質問にまとめて来ます
770デフォルトの名無しさん:2007/12/01(土) 11:44:46
以前、働いていた社員が自作したプログラムらしく、
市販の物ではないのでサポートを受ける事が出来ず、
ここを頼らせていただきました。

VBについては全くのド素人です。
もし意味不明な事を言っていたら、すぐに訂正しますのでご指摘下さい。

会社で使っているアクセスのデータベースを利用した請求書があり、
その請求書を印刷した日付が載るスペースがあります。

先月まではちゃんと「平成19年11月30日」と出ていたのですが、
今月に入ったとたん「明治33年01月29日」になってしまいました。

VBのソースの様なものからその欄のプロパティを見てみると
コントロールソースの欄は

=Format([請求日]."ggge\年mm\月dd\日")

となっておりました。
少しググってみた所、
「\」の意味は判りませんが、おかしい所はないように思えました。

どうやったら正しい年号を表示させられるか、お教え下さい。
よろしくお願い致します。

771デフォルトの名無しさん:2007/12/01(土) 11:51:46
「請求日」がどういう計算で算定されているかがキモだな
772デフォルトの名無しさん:2007/12/01(土) 12:07:57
じゃなくて、たぶんPCの時計が狂ってるだけ、ってオチじゃないの?w
773770:2007/12/01(土) 12:38:26
>>771
「請求日」の値のようなものが、
データの中で別に設定されているという事ですか?
どこに…といっても分かるはずありませんよね。
探してみます。

>>772
タクスバーの時計は合っているようです。
774デフォルトの名無しさん:2007/12/01(土) 13:04:51
時計ってのはRTCのことだよ。
時刻をダブルクリックして表示される日付はちゃんとあってる?
775デフォルトの名無しさん:2007/12/01(土) 13:12:59
>>770
それは、レポートのコントロールソース?
レポートそのもののレコードソースは何になってる?
ソースがテーブルだったら、そのテーブルの中身を見て
請求日と思われる列の値はどうなってる?
776770:2007/12/01(土) 13:16:48
>>774
はい。合っていましたし、念のため同期をし直しましたが
変化はありませんでした。

>>775
レポートというのがよくわかりませんが、
ちょっと確認してみます。
777770:2007/12/01(土) 13:41:46
>>775
すみません。よく分かりませんでした。
私が確認をしたのは
アクセスを起動させて→ツール→マクロ→VBエディター
で、開いたVBのプロジェクトから請求書のレポートのオブジェクトを開き、
年月日が出力される部分のプロパティを見ました。

レコードソースというのはどうやって見るのでしょうか。
778770:2007/12/01(土) 14:05:54
データベースの開き方も分かりましたが、
関係ありそうなものがわかりませんでした。
779デフォルトの名無しさん:2007/12/01(土) 14:06:05
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ぬとき このレスの事思い出してくれよ
ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
780デフォルトの名無しさん:2007/12/01(土) 14:11:37
コピペ君って馬鹿だな、まで読んだ。
781デフォルトの名無しさん:2007/12/01(土) 22:44:24
>>770
印刷した請求日ってそのデータがアクセスに登録された日じゃなくて
引き出した日って意味だよね?
そしたらそのプロパティを見た項目のコードを表示してみて
[請求日]にセットされてる式を見てみれば?
782デフォルトの名無しさん:2007/12/02(日) 00:24:35
今月に入ったとたん『「明治33年01月29日」』になってしまいました。
−『』がミソだね
アクセスの位置指定が変わったとか、日付データの問題でしょ?
783デフォルトの名無しさん:2007/12/06(木) 13:18:13
グレープシティのコントロールのVaspreadで、
既存のフォーム内のvaspreadのデザインをスプレッドデザイナで編集したいのですが
セルにデータを入力することができません。

新規にVaspreadコントロールをフォーム上に配置した場合には編集できます。
フォームのデザイン画面でオプションはすべて同じ設定にしたので
スプレッドデザイナで何らかのロックがかけられていると思うのですが。

Spreadデザイナのバージョンは3.0.5.2です
知っている方がいればお願いします。。
784デフォルトの名無しさん:2007/12/06(木) 13:34:56
VBとアクセスなんて全くしらないけど、ググッたら
ttp://www.accessclub.jp/bbs3/0352/superbeg105899.html
と、ここまで、1分。はぁ、ググレヨ。

785デフォルトの名無しさん:2007/12/14(金) 17:41:03
某スレの44へ。 Split( )
786デフォルトの名無しさん:2007/12/26(水) 22:57:17
OLEコンテナにリンクしたEXCELシートのイベント拾うにはどうしたら良いのでしょう?
Excel.Applicationへの参照は訳有ってレイトバインディングしか出来ませんので
WithEventsも使え無いみたいだし・・・
やろうとしてる事はFormの中に埋め込んだExcelのセル選択時にRowプロパティを
読み出したいのです。
787デフォルトの名無しさん:2007/12/28(金) 20:26:36
excelと連携させて使いたいのですが、
実行時バインディングと事前バインディングの使い方の違いが分からないのですが
教えてください。
788デフォルトの名無しさん:2007/12/28(金) 23:02:06
>>787
名前が違う時点で違いが分かってるだろ?
もっと具体的に分からないところを恥じらいを持ちつつ答えなさい
789デフォルトの名無しさん:2007/12/28(金) 23:28:11
こんなこと聞いちゃってくやしい・・・・でも感じちゃう!
790デフォルトの名無しさん:2007/12/29(土) 11:22:30
>>787
使い方の違い・・・?
事前バインディングは処理が高速でコーディングが楽チン、
実行時バインディングは、エラーにさえ注意すれば、インタフェースが割と自由になる。
791デフォルトの名無しさん:2008/01/08(火) 00:08:06
継承もまともに実装されていない糞言語
使ってるゴミ共ってお前らのこと?
792デフォルトの名無しさん:2008/01/08(火) 08:44:55
>>791
継承って何でしょうね?
793デフォルトの名無しさん:2008/01/08(火) 13:49:15
メゾットの呼び出しかたがいまいち分かっていません。
分かる方解説いただけないでしょうか。


プロジェクトに 2 つの Form がある状態で Form1 上に配置したボタンを押して
Form2 を表示する処理を書いているのですが

Private Sub Command11_Click()
Form1.Show 1, Me
End Sub



Private Sub Command11_Click()
Call Form1.Show(vbModal, Me)
End Sub

に違いはあるのでしょうか。
Call 〜 の方は下位互換維持のために残っているだけで違いはない・・・と
現状では解釈しています。

動作環境は VB6 + XP Proです。
794デフォルトの名無しさん:2008/01/08(火) 13:50:22
オーバーロードとオーバーライドは使えないものの、
Implements を使いこなせれば、そう大して困る事もないが。
795794:2008/01/08(火) 13:58:55
上のは 791へのレスね。

>>793
違いはない。書き方の違い。分かってるとは思うが、Callで呼び出すと関数の戻り値が取れない。
あと、メゾットについては触れないでおく。
796デフォルトの名無しさん:2008/01/08(火) 23:17:16
オーバーロードとオーバーライド
使え寝ーなら継承の意味ねーよw

それじゃあ、Draw関係とかつかえねーだろw

どんだけVB坊って馬鹿なんだw?
797デフォルトの名無しさん:2008/01/08(火) 23:25:58
>>796
つまり、オマイにとっての継承の意味の大部分は、
オーバーロードやオーバーライドが使える事にあるわけだ。全く、継承ってなんだろうなw
798デフォルトの名無しさん:2008/01/08(火) 23:27:13
オーバーロードはともかく、オーバーライドは継承の意味の大部分を占めてると思うぞ。
799デフォルトの名無しさん:2008/01/08(火) 23:34:10
継承するたびに
メソッドの内容新しく定義するって
どんだけゆとり仕様なんだw?

OOは再定義を極力避けるに定義するもんだぞ
VB6ってのはなんちゃってOOの中で醜悪かつ
最低もいいところだろ。

使ってる人間はチョン以下のゴミだよ。

文句あるなら、コードでどんだけ素晴らしいか
証明してみろよ?できねーだろ?お前らみたいな
糞供にはw
800デフォルトの名無しさん:2008/01/09(水) 01:50:21
>>799
そんなおまえはプロトタイプベースをしらないだろ
クラスベースで語ってるうちはチンコがお子様だな^^;;;
801デフォルトの名無しさん:2008/01/09(水) 02:01:08
そんな安い釣りに釣られるなよ・・・。
802デフォルトの名無しさん:2008/01/09(水) 02:02:29
こうでもしないとつまらないじゃないか

もいっこのスレには現れてくれないし・・・
803デフォルトの名無しさん:2008/01/09(水) 02:10:40
それで面白いのか?頭が狂ってるな
804デフォルトの名無しさん:2008/01/09(水) 02:33:12
徹夜あけて2日目だから頭に刺激がほしいも
805デフォルトの名無しさん:2008/01/09(水) 20:52:05
UserControlでImplementsを使ってもインターフェースを取得できないのがクソ
806デフォルトの名無しさん:2008/01/12(土) 21:29:04
>799
普通こういう場では言いだしっぺが手本を示すのが世の常だと思いますが

釣堀って楽しいね。
807デフォルトの名無しさん:2008/01/13(日) 03:31:51
使用している(デフォルトで使用する)ブラウザのUser-Agentを取得するにはどうすればいいですか?
やりたいことは、WebBrowserで上記User-Agentを指定してNavigateです
808デフォルトの名無しさん:2008/01/17(木) 01:30:35
VB+Activereports2.0で帳票出したいんですが

プログラム側で帳票の制御をするにはどうしたらいいんでしょうか。
具体的には。改ページ等の制御を任意に行ないたいのです。


1ページ目
あああ、いいい、ううう、えええ、おおお

2ページ目
かかか、ききき、くくく、けけけ、こここ

超初歩なんですが。vb.net版しか使ったことがなく、勝手の違いに苦戦してます。
オネガイシマス。

809デフォルトの名無しさん:2008/01/17(木) 14:25:21
>>808
ActiveReports はサードパーティーのOCXだからスレ違い。
VBで業務してるような人の一部にしか分からんだろうし、ここに居るとも限らない。
つか、ActiveReportsのヘルプ開いて”改ページ”とかで検索すればいいと思うが・・・
810デフォルトの名無しさん:2008/01/19(土) 18:01:10
breakじゃなくてcontinueしたい場合
Exitじゃなくて何て書いたらいいの?
811デフォルトの名無しさん:2008/01/19(土) 18:34:50
残念ながらcontinueに相当するものはありません。
812デフォルトの名無しさん:2008/01/19(土) 19:44:49
>>811の通りなので
伝統的なgotoか,アルゴリズムを変えてください
813デフォルトの名無しさん:2008/01/20(日) 17:15:57
forならdo
doならfor
ネストしてexit do/exit for
814デフォルトの名無しさん:2008/01/20(日) 20:39:59
実際コード書いて日を置いて見直してみれば分かるけど、
>>813みたいないらん技巧を凝らすより素直にループのケツに
ContinueFor:
みたいなラベルを置いてgotoした方がずっと分かりやすいよ
815デフォルトの名無しさん:2008/01/21(月) 01:58:29
コメント書け
816デフォルトの名無しさん:2008/01/21(月) 18:44:03
>808
ヘルプとかサンプルのフォルダに、そのものズバリなソース例があったはずだよ。
今手元に無いので確認できなくてすまん
817デフォルトの名無しさん:2008/01/27(日) 02:25:45
プロの世界では、vb6でアドレスって、良く使うのでしょうか?
818デフォルトの名無しさん:2008/01/27(日) 11:43:00
アマの世界なら,VB6の庇護の元でCライクなライブラリを使うときによく使うな
819デフォルトの名無しさん:2008/01/27(日) 14:46:15
VB6.0とVB.NET両方についての質問です。

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

822デフォルトの名無しさん:2008/01/27(日) 15:11:18
VB.NETの場合は
>それにもかかわらずEnd命令で終了する場合、アウトプロセスサーバータイプのActiveXオブジェクトには必要になる。
END命令でもActiveXオブジェクトの終了処理は実行されるようになった。
またActiveXオブジェクトを早期に回収したい場合はSet NotingではなくMarshal.ReleaseComObjectを使う。
823デフォルトの名無しさん: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のレジストリ登録が上手くいっていないのでは?と、ご回答を頂いたのですが、
間接参照する場合は手動でレジストリ登録が必要なのでしょうか?

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

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

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

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

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

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

正確ではないけど、普段はこう思っている俺。
835デフォルトの名無しさん:2008/01/28(月) 19:25:06
VB6で指定したフォルダの中身を
サブフォルダも含めて、まるごと
他のフォルダに保存するのはどうすればいいのでしょうか?
FileCopyではファイルしかできなくて・・・
836デフォルトの名無しさん:2008/01/28(月) 19:27:25
>>829
C++でCOMオブジェクトを書けばVBの言語仕様が理解できるよ。
837デフォルトの名無しさん:2008/01/28(月) 19:28:11
xcopyでも駆動すれば。
838835:2008/01/28(月) 19:41:29
失礼、
事故解決しますた
ttp://jeanne.wankuma.com/tips/directory/copy.html
839823:2008/01/28(月) 21:32:14
遅れましたが、回答していただいた方有難うございました。
試してみます。
840デフォルトの名無しさん:2008/01/28(月) 22:30:23
WIN98で無料のVB開発環境って可能でしょうか?
就職先にVBやれって言われたんですが、コンパイルさえできません・・・・
841840:2008/01/28(月) 23:54:16
嘘でもいいから可能だと言ってください
842デフォルトの名無しさん: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;
843デフォルトの名無しさん:2008/01/29(火) 00:15:15
>>842
ロジックが分かってるなら、あとは、ひとつひとつVBの文法に置き換えていくだけじゃん。
いったいどこがワカランの?
VBの入門書くらい読んだ?
844デフォルトの名無しさん: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
845デフォルトの名無しさん:2008/01/29(火) 01:02:01
>>840
オークションとかで手に入れるとか、
無料ではないけど、Officeに付属のVBAとか、
今では入手困難だけどかつて無料配布だったVB5 Control Creation Edtionとか。
846デフォルトの名無しさん:2008/01/29(火) 17:17:07
Win98使わせるような会社は辞退したほうが今後のためだと思うのは俺だけか?
847デフォルトの名無しさん:2008/01/29(火) 23:28:13
いや、普通。ソフト屋で開発環境にWin9xとかありえない。
848デフォルトの名無しさん:2008/01/29(火) 23:32:38
古い環境のソフトのメンテとかならあり得るけど。
849デフォルトの名無しさん:2008/01/29(火) 23:33:38
視野が狭いんね、キミ。
PC−9801でCバスに特殊な機械制御のハードが差し込んであって
ドライバがWin98でなきゃ動かん。
しかもつくった会社が倒産してて代替がきかん・・・とかだったら
ありえるだろ。
850デフォルトの名無しさん:2008/01/29(火) 23:48:26
それならハード込みで新規で作るだろ。Cバスの時代のものなんて耐用年数心配だし。
もしソースも無くて完全なブラックボックスだったら、そんな仕事は受けないし。
851847:2008/01/29(火) 23:49:28
>847 >848
どうみてもそんなケースの話じゃないと思うが?
852デフォルトの名無しさん:2008/01/30(水) 00:00:00
裕福なソフト屋ばっかじゃないんだから、多少無理のある仕事でも取るって
スタンスの会社も決して珍しくはない
営業が強いとこなら、そうでなくても見境ない場合もある

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


このくらい推察できない方が、ソフト屋としてありえないと思
853デフォルトの名無しさん:2008/01/30(水) 00:08:00
勝手な推測するのがソフト屋か?
氏ねよ
854デフォルトの名無しさん:2008/01/30(水) 00:10:05
普通はそういう風に読めると思うが
855デフォルトの名無しさん:2008/01/30(水) 00:16:16
勝手な推測するのがソフト屋か?
氏ねよ
856デフォルトの名無しさん:2008/01/30(水) 00:19:05
一番たちの悪い奴だよな。勝手に自分で思い込んで作る奴。
うちにもいるよ。
857デフォルトの名無しさん:2008/01/30(水) 00:19:33
あーもう、鬱陶しいな、アホは。 一生言われたとおりに働いてろよと。
858デフォルトの名無しさん: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との連携も解説してあり
お薦め!
859デフォルトの名無しさん:2008/01/30(水) 00:24:29
言われたとおりって発想する馬鹿ってなんなの?
勝手に推測するなという話なのに
マジで氏ね
860デフォルトの名無しさん:2008/01/30(水) 00:33:11
デスマの様相を示してまいりました
861デフォルトの名無しさん:2008/01/30(水) 01:29:16
推測と言うか、日本語の話だな。 ・・・と思った俺も噛み付かれますか、そうですか。
862デフォルトの名無しさん:2008/01/30(水) 17:34:11
>858
VisualBasic初級プログラミング入門(技術評論社)
もいれとくれ。とりあえず上巻だけでも。
863デフォルトの名無しさん:2008/01/31(木) 20:13:00
まだ、VB6プログラマーっているんだろうか・・
と不安に思うVB6プログラマーの私です
864デフォルトの名無しさん:2008/01/31(木) 20:30:49
VBしかできない奴はさすがにもういないだろうな
865デフォルトの名無しさん:2008/01/31(木) 20:51:15
まだメンテはあるよ
866デフォルトの名無しさん:2008/01/31(木) 22:13:34
仕事で書いてるけどVBしかできません
最近やっとVB2005勉強し始めた
867デフォルトの名無しさん:2008/01/31(木) 22:21:19
2008が出たのにどうして今更2005はじめるんだ?頭おかしいの?
868デフォルトの名無しさん:2008/01/31(木) 23:02:24
>>867
まあまあ、そうイライラしないで
869デフォルトの名無しさん:2008/01/31(木) 23:10:33
せめてC#にすればいいのにね
MSですら無かったことにしたがってるVB.NETを勉強するなんて
870デフォルトの名無しさん:2008/02/01(金) 00:14:52
.netはいまいち感だしJavaもなんだかなぁという雰囲気なので
ここはひとつデルファイで。
871デフォルトの名無しさん:2008/02/01(金) 00:22:00
.NETいちいち、たとえばネットワークの叩き方とかがムカつく。
872デフォルトの名無しさん:2008/02/01(金) 01:15:32
じゃあずっと6でもやってろよ
873デフォルトの名無しさん:2008/02/01(金) 07:40:41
>>872
まあまあ、そうイライラしないで
874デフォルトの名無しさん:2008/02/09(土) 05:33:26
VBは長島茂雄であるといえよう。
875デフォルトの名無しさん:2008/02/09(土) 16:09:33
>>874
kwsk
876デフォルトの名無しさん:2008/02/09(土) 16:30:20
VBは永遠に仏滅ですってやつか
877デフォルトの名無しさん:2008/02/09(土) 18:18:16
息子がボンクラって所じゃねーの?
878デフォルトの名無しさん:2008/02/10(日) 12:34:55
宇野功芳は長島茂雄であるといえよう。
879デフォルトの名無しさん:2008/02/12(火) 00:05:45
VB6.0で可変長のテキストデータをOPENして"C"と"R"の間に囲まれた文字を
変数に格納していきたいのですがどうすればいいですか?
880デフォルトの名無しさん:2008/02/12(火) 00:58:34
すみません、VB5CCEを使いたいのですが、マイクロソフトの
ダウンロードのページで検索しても見つけることができません。
どなたかどこか入手可能なところを教えていただけないでしょうか。
881デフォルトの名無しさん:2008/02/12(火) 01:51:24
VB5CCEIN.EXE でググれ
882デフォルトの名無しさん:2008/02/12(火) 22:16:15
>>881
おかげさまで見つけることができました。ありがとうございました。ぺこり
883デフォルトの名無しさん:2008/02/12(火) 23:16:41
>>882
で、次の質問はEXEの作り方か?
884デフォルトの名無しさん:2008/02/14(木) 00:30:48
ttp://headlines.yahoo.co.jp/hl?a=20080213-00000009-cnet-sci
によると、今回のMSパッチの中にVB6に影響するものが含まれているとのことですが、
具体的にどのパッチのことなんでしょうか?
KB943055でしょうか?
885デフォルトの名無しさん: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セキュリティ更新
886884:2008/02/14(木) 01:17:54
むー、うちはKB946235出てこないですね・・・(´・ω・`)
887デフォルトの名無しさん:2008/02/14(木) 08:19:16
うちもKB943055だけでKB946235来なかった
888デフォルトの名無しさん:2008/02/15(金) 01:51:16
KB946235はVB開発者が配布のときに使うべきDLL?
889デフォルトの名無しさん:2008/02/17(日) 02:17:44
自分もKB943055しか出ない。
KB946235も入れちゃっていいのかな・・・

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

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

902デフォルトの名無しさん:2008/02/18(月) 13:45:47
>>894
スレタイ嫁w
>>896
その質問じゃ、どう答えれば良いのかわからんのよ
一つ言えるのは、一般的なADVみたいなものならVB6でも十分作れる
でもそのためには、GDIの知識か、DirectXの知識が必須なんだがその準備は出来ているだろうか?
903デフォルトの名無しさん:2008/02/18(月) 18:45:28
たしかここ、本スレでいじめられた奴が逆切れで立てたスレだったな
スレタイに「オレに優しくかまってくれ」な雰囲気がただよってる
904デフォルトの名無しさん:2008/02/28(木) 09:53:33
MicrosoftR Visual BasicR Version 4.0
アップデート キット 2 (97/03/07版) for VB4 Standard Edition
を探しています。
どなたかダウンロード先を教えて下さい。
905デフォルトの名無しさん:2008/02/29(金) 01:56:04
ListViewコントロールのSubItemのForecolorを変えても、書き換えたタイミングで文字色が変わりません。
SendMessageでWM_NCPAINTを送ってみても変わりません。
仕方がないので今はForeColorを変えた後に、SubItem(1) = SubItem(1) と設定しなおせば変わるのですが、これって間違った対処方法ですよね?
どうすればForeColorを変えた瞬間に色が変わるのでしょうか?
906デフォルトの名無しさん:2008/02/29(金) 01:56:32
>仕方がないので今はForeColorを変えた後に、
ここは無視して読んでください・・・
907デフォルトの名無しさん:2008/02/29(金) 11:23:09
refreshとかないの?
908デフォルトの名無しさん:2008/02/29(金) 12:40:10
VB6なんて使ってる奴いるの?っていうやつは趣味でやってる奴だな。
909デフォルトの名無しさん:2008/02/29(金) 23:19:25
仕事でVB6なんてとんでもない貧乏会社か将来の見通しの甘い馬鹿だけだろ?ん?どうすんだこれから。マイクロソフトに見捨てられるぞ?
910デフォルトの名無しさん:2008/03/01(土) 01:40:48
マイクロソフトが見捨てても遺産は残り続けるでFA
911デフォルトの名無しさん:2008/03/01(土) 01:42:13
>>909
工場でぶんまわしてるのに移行して不具合が出たら、損害賠償ものだよ
新規の案件じゃないのに
912デフォルトの名無しさん:2008/03/01(土) 01:45:11
ソースコードが公開されてるなら自分で保守を続けられるから
遺産と呼んでもいいけどさあ
913デフォルトの名無しさん:2008/03/01(土) 02:01:53
>>908-909
おまいら実社会で仕事したこと無いだろ?
914デフォルトの名無しさん:2008/03/01(土) 05:03:45
>>890
Dim str$
str = "hello world(w"
Dim i&
Dim hdc&
hdc = GetDC(0)
For i = 1 To Len(str)
Dim s$
s = Mid$(str, i, 1)
TextOut hdc, (i - 1) * 16, 0, s, LenB(StrConv(s, vbFromUnicode))
MsgBox i & "文字目"
Next i

糞コードだがこんな感じ。普通は自分のウィンドウにフォント設定する。
915デフォルトの名無しさん:2008/03/01(土) 13:20:25
Form#Printでおk
916デフォルトの名無しさん:2008/03/02(日) 01:07:44
open "PRN" for output
open "COM1" for output
が使えないと製造業では使えません。
ラベルプリンタとか、RS232C制御のFA機だらけです。
917デフォルトの名無しさん:2008/03/02(日) 10:28:42
open "PRN:" for output
open "COM1:" for output

いつも使ってるとは思えない。
918デフォルトの名無しさん:2008/03/02(日) 10:55:55
自動倉庫のクレーン制御をVB5でやって動いてますけど・・・もう10年たつなぁ
919デフォルトの名無しさん:2008/03/02(日) 11:43:36
荷物を押して・の位置にもっていく奴だね
けっこうハマったよ
920デフォルトの名無しさん:2008/03/02(日) 22:11:48
それは倉庫番だろって
父さんが言ってたよ
921デフォルトの名無しさん:2008/03/02(日) 22:14:13
フラッピーかと思った
922デフォルトの名無しさん:2008/03/02(日) 23:15:49
おじいちゃん僕は若いのでこの流れがよくわかりません
923デフォルトの名無しさん:2008/03/03(月) 01:11:03
でもそんなの関係ねえ
924デフォルトの名無しさん:2008/03/03(月) 01:14:29
それはオッパッピーだろって
娘が言ってたよ
925デフォルトの名無しさん:2008/03/04(火) 04:14:34
>>921
フラッピー!!
上に飛ばして、よく自爆したなぁ。
926デフォルトの名無しさん:2008/03/04(火) 10:34:57
VB6使ってるのはおっさんばっかりだって事がわかった
927デフォルトの名無しさん:2008/03/04(火) 17:26:48
おまんこしょっぱいぴー
928無償入手可:2008/03/15(土) 13:03:20
929デフォルトの名無しさん:2008/03/15(土) 14:09:05
コピペ君って馬鹿だな、まで読んだ。
馬鹿ほど、人を馬鹿と呼びたいもんさ
931デフォルトの名無しさん:2008/03/15(土) 17:10:37
かわいそうだから全部読んだ
932デフォルトの名無しさん:2008/03/15(土) 17:37:06
いまさらそんなのいらねー 誰が欲しがるんだろ?
933デフォルトの名無しさん:2008/03/15(土) 19:26:02
FAや組み込み系なら今でも使ってるよ。↑おまえは自分の世界しか知らない井の中の蛙
934デフォルトの名無しさん:2008/03/15(土) 19:52:31
>>916です。
VB2008購入しました。

open "PRN" for output
print #.....

を実行(代用?)する方法を分かる方教えてください。
MSのHP(期待してないが)、書籍類、その他ぐぐる等行いましたが、直接プリンタポートに
出力する方法が分かりません。
とりあえずこれが出来ればVB2008に移行しようと思ってます。
935デフォルトの名無しさん:2008/03/15(土) 20:12:27
わお、井の中でよかった ほっ
936デフォルトの名無しさん:2008/03/15(土) 20:44:15
>>934
CreateFile("PRN:"
などでぐぐれば出てくることはでてきたが?
937デフォルトの名無しさん:2008/03/16(日) 11:12:22
>>934
COMポートはシリアルポートのコンポーネントがあるからいいとして、
プリンタポートは直接弄れるのかなあ。
VB.NETの問題じゃなくて、OSの制約じゃないかと。
かといって今さら古いOSに拘っててもダメだと思う。
938デフォルトの名無しさん:2008/03/16(日) 11:46:57
そろそろスレチなんじゃね?
939デフォルトの名無しさん:2008/03/16(日) 11:58:49
弄れなかったらシリアルパラレル変換機を通せばええねん
940デフォルトの名無しさん:2008/03/16(日) 18:22:27
VB2008にCreateFile()は無い様なんですが、もう少し調べてみます。

スレチ申し訳ありませんでした。
Visual Studio 2008 のスレに移動します。
941デフォルトの名無しさん:2008/03/19(水) 15:57:51
C++とかC#ばっかりやってた者なのですが、VBのコーディングについて質問があります。
Functionの中に複数の返り値がセットされているケースについてです。

以下は無意味で極端な例として書いたものなのですが、一応動作します。
しかし一般的にナンセンスでしょうか?
それとも許される書き方でしょうか?

Function  FUNC_1() as integer
  FUNC_1 = 1
if flg = true then Exit Function

  FUNC_1 = 2
End Function
942デフォルトの名無しさん:2008/03/19(水) 16:01:32
段がズレてしまったので書き直します。

Function  FUNC_1() as integer
  FUNC_1 = 1
  if flg = true then Exit Function

  FUNC_1 = 2
End Function

ついでに、VBには条件演算子がないようなのですが、
何か代替になる簡潔な書き方はないでしょうか?


string s = flag ? "OK" : "NG";
943デフォルトの名無しさん:2008/03/19(水) 16:07:57
IIfというのがあるにはあるけどあんまりお勧めしない
944デフォルトの名無しさん:2008/03/19(水) 16:26:17
>>941
俺は別に気にせずただの変数の1つとして使っているが、
個人的なプログラムでしかVBを使ったことがないので、
他人がどう思っているなのかは知らない。
945デフォルトの名無しさん:2008/03/19(水) 18:13:24
FUNC_1 = FUNC_1 + 1

こんなことも
946デフォルトの名無しさん:2008/03/19(水) 19:48:58
iif使うときはショートサーキットじゃないことに注意な

2005でもそうだったと思うが2008では直ってるんかね
947デフォルトの名無しさん:2008/03/19(水) 20:20:09
>>942
Function FUNC_1(flg As Boolean) As Integer

  If flg Then
   FUNC_1 = 1
Else
   FUNC_1 = 2
End If

End Function
948デフォルトの名無しさん:2008/03/19(水) 20:21:42
>>942
ずれちゃった・・・

Function FUNC_1(flg As Boolean) As Integer

  If flg Then
    FUNC_1 = 1
  Else
    FUNC_1 = 2
  End If

End Function

949デフォルトの名無しさん:2008/03/20(木) 01:02:10
わおーっ
950デフォルトの名無しさん:2008/03/20(木) 01:07:26
FUNC_1 = (flg = True) + 2
951デフォルトの名無しさん:2008/03/20(木) 06:00:43
俺は、条件が複雑になる場合に、こういうスタイルを使ってる。

If 条件1 And 条件2 And ...... Then という仕様だったら

Function FUNC_1() As Boolean
 FUNC_1 = False '省略可能だがあえて書く
 If Not 条件1 Then Exit Function
 If Not 条件2 Then Exit Function
 ...
FUNC_1 = True
End Function

If FUNC_1() Then って書くと条件追加や削除などメンテしやすい

If 条件1 Or 条件2 Or ...... Then なら

Function FUNC_1() As Boolean
 FUNC_1 = True
 If 条件1 Then Exit Function
 If 条件2 Then Exit Function
 ...
FUNC_1 = False
End Function
952デフォルトの名無しさん:2008/03/20(木) 11:28:16
こういうの見てるとつくづくVBって糞言語だなという感を深めるな。。
953デフォルトの名無しさん:2008/03/20(木) 12:59:03
多少のかっこ悪さはあるが,特に不思議というわけでもない
954デフォルトの名無しさん:2008/03/20(木) 13:07:31
>>952
こんな糞言語でも ちょちょいって作ってあげると感謝されるから笑っちゃうよね
目的を達成するのに最も合理的な道具を選べばいい
そんだけやん
955デフォルトの名無しさん:2008/03/20(木) 13:49:44
If Not 条件1 Then
ElseIf Not 条件2 Then
・・・
Else
・・・
End If

Select Case True
Case 条件1,条件2,・・・
 ・・・
End Select
956デフォルトの名無しさん:2008/03/20(木) 13:52:48
If 条件1 Then If 条件2 Then If ...... Then
957デフォルトの名無しさん:2008/03/21(金) 11:14:31
>>946
直ってるって・・・
別にそれが間違っているわけじゃないしな
一般的な言語から外れていてもそれがVBの言語仕様なのだから
ちなみに、論理演算は.netからandalsoとorelseが追加されてSCできるようになったよ
958デフォルトの名無しさん:2008/03/21(金) 21:06:16
>>957
あー、まあそうだな。言い方が間違ってた。

で、2008ではどうなってんだろう
959デフォルトの名無しさん:2008/03/21(金) 21:26:11
Collectionって便利だけど、ソートできんのな。ふざけんなよ
960デフォルトの名無しさん:2008/03/21(金) 22:34:01
どうも バグっているようだ \(^o^)/
961デフォルトの名無しさん:2008/03/22(土) 16:35:52
どうも.netで直ってるようだ
962デフォルトの名無しさん:2008/03/23(日) 16:06:12
つ System.Collections.ArrayList
963デフォルトの名無しさん:2008/03/24(月) 13:16:52
>>961-962
スレタイ嫁
964デフォルトの名無しさん:2008/03/24(月) 15:20:30
965デフォルトの名無しさん:2008/03/24(月) 15:42:59
>>963はvb.netと勘違いしてんだろ ほっとけ
966デフォルトの名無しさん:2008/03/27(木) 14:53:47
>>962
デフォルトのCompare関数のソートはできましたが、
VB6からCompare関数を作ってソート呼べますか?
967デフォルトの名無しさん:2008/03/27(木) 16:02:07
.net?
968デフォルトの名無しさん:2008/03/27(木) 16:59:55
Set DataList = CreateObject("System.Collections.ArrayList")
DataList.Add "B"
DataList.Add "C"
DataList.Add "A"
DataList.Sort()
For Each strItem in DataList
MsgBox strItem
Next
969941:2008/03/27(木) 20:38:53
会社のISPがいつまでたってもアク禁から開放されないので自宅から。

>>943-956
サンクスコ
970デフォルトの名無しさん:2008/03/27(木) 20:39:44
あ、ageちゃった…
スマン
971デフォルトの名無しさん:2008/03/28(金) 04:18:09
VB6でかいたソフトが終了してもタスクに残ります。
EXCELをエクスポートする機能がありOLEを使用しています。
どのようなことが考えられるでしょう?
972デフォルトの名無しさん:2008/03/28(金) 07:42:06
バグ
973デフォルトの名無しさん:2008/03/28(金) 07:44:54
自分で宣言したフォーム変数でNewして使用せず、フォームのオブジェクト名と同じ名前のフォーム変数を使っている
フォームAとフォームBがお互いの参照を握ってガチムチになっている
974デフォルトの名無しさん:2008/03/28(金) 09:05:03
>>973
つまりコードでかくとどのようになるのでしょうか?すいません。
975デフォルトの名無しさん:2008/03/28(金) 14:19:31
976デフォルトの名無しさん:2008/03/28(金) 19:50:31
>971もテンプレ化決定だお
977デフォルトの名無しさん:2008/03/28(金) 23:17:22
978デフォルトの名無しさん:2008/03/30(日) 09:04:24
次スレ勃った・・・

くだすれVB6.0以前(超初心者向け)
http://pc11.2ch.net/test/read.cgi/tech/1206835319/
979デフォルトの名無しさん:2008/03/30(日) 11:31:14
VB6スレなんて何個もいらねえだろ
980デフォルトの名無しさん:2008/03/30(日) 12:34:47
支那人も裸足で逃げるほどの初心者隔離スレは、
ひとつくらいあったほうがいいぬ。
981デフォルトの名無しさん:2008/03/30(日) 19:23:49
うめ
982デフォルトの名無しさん:2008/03/31(月) 01:06:19
caseについての質問です
comboboxが100項目近くあり、そのひとつひとつのcomboboxで選ばれたものに対して
1番目ならlabel1に0と表示、2場目ならlabel1に1と表示・・・とやりたいのですが

Select Case Combo1.ListIndex
Case 0
label1.Caption = 0
Case 1
label1.Caption = 1
Case 2
labe1.Caption = 2
とずっと続けると異常に長くなってしまうので、何か別の書き方はないでしょうか?
983デフォルトの名無しさん:2008/03/31(月) 01:43:32
label1.Caption = Combo1.ListIndex - 1
984デフォルトの名無しさん:2008/03/31(月) 01:44:34
-1はいらないのか
985デフォルトの名無しさん:2008/03/31(月) 02:30:03
そういうやり方があったのか
ありがとうございます!!
986デフォルトの名無しさん:2008/04/01(火) 01:30:41
>>982
こういうコードが業務用ソフトに入ってるかもしれない思うと・・・
987デフォルトの名無しさん:2008/04/01(火) 09:31:13
>>986
世の中こんなんばっかだよ?
988デフォルトの名無しさん
慣れてしまえばどうって事は無い