(*´д`*)アハァ… VB初心者質問スレ Part13

このエントリーをはてなブックマークに追加
前スレはこちら
  Part 1 http://piza.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/test/read.cgi/tech/1026642565/

Win32 API関連スレ
  Win32API 質問箱 Build4
  http://pc.2ch.net/test/read.cgi/tech/1023361418/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
21:02/08/13 21:30
面倒だったけどたてますた。

>>3-20は煽りと乙。
こっちにこれない奴は低脳 by VB.NETプログラマ一同
             __
 煽りじゃない      /〃 ┼‐┼〃__  だ
             /\    ノ                __
                      __  , -――-、  /\ノ
                      ヽ/\l::::::::::::::::::::\ /: : /
         ,..-―-、/)       |: : :|::::::::::::::::::::::/: : /
     /⌒Y    (_ノ  /)       |: : :|:::::::::::::::::::::|: : : /
      ̄l ̄l、     ) /`〉     ヽ:: :|::::::::::::::::::::l: : :/
         l: : :`ー--‐'‐'´: :/        \|∧ハ/l/: ::〈
       \: : : : : : : : : :く         |: : : : : : : : : : `ー-┐  ,.、
         l: : : : : : : : : :`ー―┐ ,、   |: : : : : : : : : : : : : : |二lニノ
         ヽ.: : : : : : : : : : : : : :|ニノ   |: : : : : : : : : : : : : : |
           ヽ: : : : : : : : : : : : :|      ヽ: : : : : : : : : : : /
           \: : : : : : : : :/       \ : : : : : : /
              ̄ ̄ ̄ ̄    ノ|      ̄ ̄ ̄       ノ)
                   ノしノ  し'(           ノ)__ノ (ノ(
まぁ、乙華麗>>1
6デフォルトの名無しさん:02/08/13 22:00


                  ((               ))
                     ミヽ  ∧_∧  ヽ彡
                      \\(`,,,,,,´ ) //
    ┌┐    ┌──┐          \,;´;:`;´`; /    .        .      .┌─┐
┌─┘└─┐│┌┐│            `;:´:;`;´';;、                       │  │
└─┐┌─┘│└┘│┌───┐    `;:´;;``;:',/⌒ヽ       ┌───┐│  │
┌─┘└─┐│┌┐││      │     ヽ;;`;:`( /\\  )) .│      ││  │
└─┐┌─┘└┘││└───┘     /ヽ;´;´   .`ヽミ.    └───┘└─┘
    ││        ││              ( /ノ|ヾ\                 ┌─┐
    └┘        └┘              \)´^'^'´'`                  └─┘
7デフォルトの名無しさん:02/08/13 22:31
VBってなに?
8デフォルトの名無しさん:02/08/13 22:31
> 壱.質問する前に過去ログにも目を通してみる。

これ無理だろ。
>>8
なんで?
Ctrl+F駆使しる。

.       /■\  /■\  /■\   (::::::::::::::::::
      (´∀`∩)(´∀`∩)(´∀`∩) (::::::::::::::::::::
      (つ   ノ (つ  丿(つ  (´⌒;;:::::::::::::::
       /   / (´/   (´⌒;;(´⌒;;:::::≡≡(´⌒;;;
      (_/し'≡(__(´⌒;;(´⌒;≡≡(´⌒;;≡≡
         (´⌒(´⌒;;;::
      ズザーーーーーッ
11デフォルトの名無しさん:02/08/13 23:35
いまさら、女子大生の顔にモザイクかけてもおそいんだよ、ゴラァ
12デフォルトの名無しさん:02/08/13 23:41
>7
VirtualBasic
要は、ベーシック使ってる気分にさせてくれるンフト
>>11
まわされまくったとわかった今、素顔はだせんでしょ。
あるコギャル談
「ワゴンで拉致られてまわされて、山に捨てられた。キャハハハハ。」
にしても薄いモザイクだなぁ
>>14
夏休みになると三流大学のバカ学生がよくやってるよ
17 :02/08/14 03:26
i=1
Do while i=1

loop

無限ループや処理に時間のかかっているものを途中で止めるためのコマンドボタンを作りたいのですが、そのボタンにはどんなステートメントを書けばいいのでしょうか?
今は仕方なくCtrl+Alt+Delで強制終了しています。
>>17
無限ループで回ってる間はボタン自体押せないよ
DoEventsで検索しる!あとはフラグで解決
19デフォルトの名無しさん:02/08/14 09:26
age
20デフォルトの名無しさん:02/08/14 10:04
すいません探したんですけど見つからないので教えて下さい。
6.0で、新規に作成するフォームとかのデフォルトフォントを
変更するのはどうしたらいいんでしょうか?
MSPゴシックじゃなくて、MSゴシックにしたいんです。。
>>20
嘘付く名やボケ。
>>20
俺の知る限りそんな方法はない
地道に変更かけるしかないのでは?

>>21
知ってるなら教えてやれば?
23デフォルトの名無しさん:02/08/14 10:13
>>2
VB初心者質問スレとVB質問スレに分けようぜ!
厨の吹き溜まりだもんね。ここ

(*´д`*)アハァ…
>>23
そう思うなら自分でスレ立てて誘導すればいいのでは?

>>24
ププ
>>2
>>23
VB厨質問スレとVB初心者質問スレに分けようぜ!
厨の吹き溜まりだもんね。ここ
(*´д`*)アハァ…
27デフォルトの名無しさん:02/08/14 11:04
VB6のMSHFlexGridで
SelectionMode=1(flexSelectionByRow)
に設定しているんですが、このときに
選択している行はどのようにしたら
わかるのでしょうか?
>>27
MSHFlexGrid1.Row
29デフォルトの名無しさん:02/08/14 12:10
テキストボックスにコピペされるのを防ぎたいのですが、
・右クリック
・Shift+Ins
・Ctrl+V
これだけ封じればオkでしょうか。
30デフォルトの名無しさん:02/08/14 12:12
APIでLPCTSTR型の引数に対してNullを渡したいのですが
どうすればよいでしょうか?
Dim strNull As String * 1
strNull = Chr(0)
だとAPI内で識別できるNullにはなりませんよね?
>>17
亀レスだが、Ctrl+Breakで処理止められるけど、これは違うの?
vbNullString
33yoko:02/08/14 12:48
どうも厨房な質問ですみません。
VB.NETでコード書いてるんですが…
イベントハンドラAで指定したフォルダ内のファイルの有無を
監視して、その他もろもろの処理をしているんですが
このイベントAが10分間発生しなかった場合に別の
プロシージャを呼び出したいんですが、どうするのが
ベストでしょうか?TimerとTimerDelegateのサンプルを
使おうとしたのですが、イベントAが発生しない状態を
どうやってモニターしていいのかわかりません。。。
34デフォルトの名無しさん:02/08/14 12:51
>>32
できた!ありがと!
>>33
寝釜キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
>>33
知らないけど、.NETスレがあるよ。
>>35
すげーよくわかるな。あんた天才だぜ
38yokochin:02/08/14 13:12
どうも厨房な質問ですみません。
VB.NETでコード書いてるんですが…
イベントハンドラAで指定したフォルダ内のファイルの有無を
監視して、その他もろもろの処理をしているんですが
このイベントAが10分間発生しなかった場合に別の
プロシージャを呼び出したいんですが、どうするのが
ベストでしょうか?TimerとTimerDelegateのサンプルを
使おうとしたのですが、イベントAが発生しない状態を
どうやってモニターしていいのかわかりません。。。
>>33
フラグ立てれば?
>>38
フラグ立てれば?

後、集合論とか勉強した方がいい。ある集合の否定はある集合以外の集合。
41yoko:02/08/14 13:21
レスありがとうございます。
.NETのスレでもきいてみたいと思います。
フラグ。。。。ですか?
もうちょっと具体的にご教授いただけると幸いです。
すみません。
>>41
つーかわざわざ別スレあるんだから最初からVB.NETのスレで聞け
.NETスレ「でも」きいてみたいと思います。
      ↑
4429:02/08/14 13:29
すみません、板違いでしたかね?
取り下げさせてください。余所逝きます。
スレ汚し申し訳なし。
>>17さんへ
DoEventsは初めて聞く言葉で調べて見ましたが、DoEventsを実行させてからフラグを入れ替えられるボタンを押せるようにしてみます。
>>31さんへ
デバッグ中の停止ではなく完成品に処理中止ボタンをつけたいので。
46デフォルトの名無しさん:02/08/14 16:49
教えて君ですみません
「ABC/DEF=99/GHI」という文字列があります。
これの両側を取って「99」だけ取り出したいのですが、
「99」及び「/GHI」は文字列長が可変なので文字数で削ることができません。
何か方法は無いでしょうか?
47チェッキー:02/08/14 16:52
初心者で良く分からないのですが、VBでチェックボックスの色は変える事が
出来るのでしょうか?
もし出来るのでしたら、方法を教えて下さい。
よろしくお願いします。
>>46
あなたは何をもって「両側」と判断している?
>>47
チェックボックスの色って、中のチェックの色のこと?
だとしたら無理だと思う
50デフォルトの名無しさん:02/08/14 17:01
>>48

数値「99」です。

ごめんなさい、書き忘れた事があります。
「GHI」の部分には数値が含まれる事があります。
51>>47:02/08/14 17:04
自分でチェックボックスみたいな画像用意してチェックボックスのような動作をするプログラムを書くべし
52デフォルトの名無しさん:02/08/14 17:11
>>51
あんた、初心者にそんなこと言うなんて鬼だなw
>>48
数値の文字列"99"と分かっているなら、別に抜き出す必要もない。
s = "99"

マジレスすると、正規表現で書いてもらえる?
5453:02/08/14 17:16
Call Replace(, >53, ">48", ">50")
>>53
^(.*).*(.*)$

です。よろしくお願いします。
56チェッキー:02/08/14 18:14
>>49
そうですかやはり無理なんですね。
ありがとうございます。

>>51
私には難し過ぎますね。
諦めるとします。
57デフォルトの名無しさん:02/08/14 22:34
大きなファイルをコピーするときに、プログレスバーで状況を表示したいのですが、
filelenだと送り先側のファイルサイズをリアルタイムに取得することができないようです。
何か良い方法はないでしょうか?
>>57
SHFileOperation使うとか切り分けながらコピーするとか
>>58
×ボタン押されて中断されたくないので、後者を試してみたいと思います。
どうもでした。
60デフォルトの名無しさん:02/08/15 16:30
Set DD = DX.DirectDrawCreate("")


これってどういう意味ですか?
>>60
入門書買っておいで。

多分DirectXでも使おうとか考えてるんだろうけどまだ早いと思われ。
後、人の話も聞けない奴がおもしろいゲームだなんてちゃんちゃらおかしい。
>60は人の話を聞かないで質問するゲームを作ってます。
>>62
ドラクエ方式ですなw
64:02/08/15 16:47
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
>>60
MSDN嫁っつーの。レス読めよヴァカ
>>60
お前みたいな奴がそんな質問平気でするからVBがヴァカにされるんだ

と言ってみるテスト
6760:02/08/15 18:30
今日ヨドバシ行ってdirectx7 for visual basic
ていう本かってきました
これさえあればもう俺に怖いものなしです。
ざまミロカスドモ。ワラ!
68デフォルトの名無しさん:02/08/15 19:11
>>67
表紙がエロいからおまいの負け
まあまあ別にいいじゃん。馬鹿だとおもうならほっとけば

     ,, ,=、  ,, , =、
     ff | }!、,、〃 / "
      ,リ/ .ノ ゚∀゚)'〃 アヒャ...アヒャ...アヒャヒャヒャヒャヒャヒャヒャヒャ
.    {{ { ′   v' 《  いちいちつっこむんじゃねー
     ヾ.\.   \ヾ
     _,,二、》   狂. \. 三,_
  (( ゙ー=、`″〃起\. \-‐' ,リ
        ゙ー=″     ゙' 一'
70デフォルトの名無しさん:02/08/15 19:50
callってなに?
ただ関数を呼び出すためのもの?
だとしたら自分今までcall省略して
関数名だけを書いてたんだけど。どうなの?
71デフォルトの名無しさん:02/08/15 20:08
なんでVBってCやC++に比べて遅いの?
72デフォルトの名無しさん:02/08/15 20:21
>>70
ソース見やすくなるから書いてる
73デフォルトの名無しさん:02/08/15 20:25
>>71
アセンブラでVB VC作れるようになったら、よく理解できるよ。
74デフォルトの名無しさん:02/08/15 20:47
GOSUB foobar(…としたい ハァハァ
75デフォルトの名無しさん:02/08/15 20:55
>>71
 遅い原因
1、 元はインタプリタ言語として設計されていて色々な親切機能がどうしても重くなる為
2、DLLを呼ぶ等がオプションの為にオーバーヘッドが大きい
3、OCX(COM)を呼ぶためのオーバーヘッドが大きい
4、VBのプログラマはどういう処理が遅いかなんてて気にしないから
76デフォルトの名無しさん:02/08/15 21:00
>>75
ホォ
77デフォルトの名無しさん:02/08/15 21:35
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
78あいな:02/08/15 23:17
スレたてて怒られちゃったのでこっちで聞いてみます。

行き詰まっています。
ファイルを読み込んでそれを配列に格納するとき、
配列の数をファイルしだいで動的に決めるにはどうしたらいいのでしょうか?
どなたか教えてください。
>>78
配列の数とは要素数の事か?
動的配列を宣言しておいてファイルを開いてLOFでサイズ取得してRedimする。
各単語はMSDNで調べれ。
80デフォルトの名無しさん:02/08/16 06:18
コモンダイアログを詳細表示で開いたり、
大きさを大きくしてから開いたりできますか?
81デフォルトの名無しさん:02/08/16 08:48
CにできてVBにできないことってなんですか?
82デフォルトの名無しさん:02/08/16 09:07
>>81
VBソースの中にASMって入れてコンパイルできたっけ?
>>82
よりによってそんなおまけ機能挙げてどうするよ。
84デフォルトの名無しさん:02/08/16 10:10
この板じゃないような気もしたのですが、ここの方が詳しい方が居ると思い、
質問させてください。
今までMEで使っていたVBを使用したソフトがあったんですが
XPをクリーンインストールしたらランタイムをセットアップできなくなりました。
(なんかファイルが見つからないとかで途中で止まります)
MEからのバージョンアップの場合はそのソフトが使用できていたから
ランタイム自体はXPで使えないとか無いと思うんです。
ただ、インストールが出来ないためどうしようもありません。
ソフトの添付テキストによると使用ソフトがVisualBasic 6.0 SP3 (Enterprise Edition)
必要なファイルはVisual Basic 6.0 のランタイム(ActiveX , DAO 3.51)らしいんですが
ぐぐるやベクターでもそれらしきものはありません。or同じくセットアップが出来ないです。
なにか方法は無いのでしょうか?
85デフォルトの名無しさん:02/08/16 10:12
このソフト恐ろしく快適ですね
>>81
ActiveXじゃない普通のDLLが作れないこととかー。
VBでDLLつくってどうするって話もあるけど、できたら便利とも思う。
あとは、コンソールアプリを簡単に作ることができないこととかがあるな(笑
>>86
言語仕様の時点でどう考えてお買ってると思うが。
88デフォルトの名無しさん:02/08/16 10:41
>>83
あれってオマケ機能だったんか?
知らずに何のありがたみも無く使ってたよ
CじゃなくてC++だけど。
>>78
テストしてないけど、これでイイはず。

Dim array() As String
Dim i As Integer
Dim cnt As Integer
Dim buf1 As String
Dim buf2() As String
Dim num As String

Redim array(Empty) As String
num = FreeFile
Open DataFile For Input Shared As #num

Do Until EOF(num)

Line Input #num, buf1
buf2 = Split(buf1, ",")

For i = LBound(buf2) to UBound(buf2)
Redim Preserve array(i + cnt) As String
array(i + cnt) = buf2(i + cnt)
Next

cnt = cnt + i + 1

Loop

Close #num
90デフォルトの名無しさん:02/08/16 12:18
directxで画像を読み込んで表示しようと思ってるんですが
バックバッファーをつくってファイルを読み込むところで
型が違いますとかいってエラーになっちゃいます
どうしたらいいですか?
Set secddsurf = objdd.CreateSurfaceFromFile(App.Path + "\sample.bmp", ddsd2)

↑この部分
>>90



だ か ら 先 に set の 意 味 を 調 べ て こ い と あ れ ほ ど 言 っ て い る だ ろ う 。



92デフォルトの名無しさん:02/08/16 12:31
>>91
よく見たら宣言部で違うクラスを書いてました
どうもどうも。
93デフォルトの名無しさん:02/08/16 12:35
(*´д`*)アッ、アハァ・・・
94デフォルトの名無しさん:02/08/16 12:59
サーフェイスを作成するときって
ddsdcapsを有効にしてからそのあとにlcapsにサーフェイスを
指定したりしてるけどなんで
ddsd1.ddscaps.lcaps=ddscaps_primarysurface
ってかんじで直接指定したりできないの?
いちいち有効にする意味ってあるの?
95デフォルトの名無しさん:02/08/16 13:01
Excelやなんかのヘルプみたく、常に手前に表示しているのに
フォーカスを後ろのフォームに移せるタイプのフォームって
どうやって作れば良いのでしょうか。

あと、VBのコードエディタの自動メンバ表示ぽいのを実現しようと思ったら、
上記の手前に表示フォームで作るべきでしょうか。
9694:02/08/16 13:15

ちょっと説明が変だった
>ddsd1.ddscaps.lcaps=ddscaps_primarysurface
>ってかんじで直接指定したりできないの?
↓訂正

ddsd1.ddscaps.lcaps=ddscaps_primarysurface
だけじゃだめなのはなぜ?
97デフォルトの名無しさん:02/08/16 14:02
リストビューコントロールに、Winampみたいなドラッグアンドドロップでの
順番入れ替えを実装したいのですが、
順番入れ替えはなんとかできました。ちょっとおかしい気もするけど。
ただ、カーソルを最上部、最下部に持っていったときに
自動スクロールさせる方法がわかりません。
どうやればよいのでしょうか?
>95
SetWindowPosで最前面に表示させてやりゃ同じ動作にならなかったっけ?
あと、自動メンバ表示はこの方法で別窓に出すんじゃなく、自Window内に
直接描画するのが普通だと思う。
9997:02/08/16 14:36
自分はこんなコードかいてます。>最前面表示

Public Declare Function SetWindowPos Lib "user32" _
(ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Sub Check1_Click()
SetFormTopMost Me, Check1.Value
End Sub

Public Sub SetFormTopMost(DstForm As Form, nYesNo As Integer) '最前面

Dim lngResult As Long
lngResult = SetWindowPos(DstForm.hWnd, nYesNo - 2, 0, 0, 0, 0, &H10 Or &H2 Or &H1)

End Sub

多分SetWindowPosのテキトーな数字がつっこみどころ満載な気がしますが
とりあえず動いてます。ダメっすかね?
100初心者@:02/08/16 14:39
ログに書き出す為に エラーが発生した時に、その時点で動いている
関数名を取得したいなと考えているのですが
そんな事は可能なのでしょうか?
色々調べて見たのですがはっきりしないので
どなたか教えていただけませんでしょうか?
よろしくお願いします。
101デフォルトの名無しさん:02/08/16 15:33
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?


102デフォルトの名無しさん:02/08/16 16:24
かなりな厨な質問ですみません。
FileListBoxの選択される部分をカーソルキーで上下に移動するようにするには
どうしたらいいんでしょうか?
103デフォルトの名無しさん:02/08/16 16:29
いや 何もしなくても出来るけど。。。。汗
104103:02/08/16 16:29
>102ね
105102:02/08/16 16:52
たぶん解決しました。
sub File1_click()
を書いていたので動かないだけでした。
どうもすみません。
>>105
関係ないと思うけど…
(*´д`*)アハァ…
107102:02/08/16 17:24
>>106
違いました。

sub File1_click()の中に Unload Meが書いてあって
カーソルキーを押すと閉じてしまうのでした。
108102:02/08/16 17:57
すみません。やっぱりお願いします。

カーソルキーでFileListBoxの選択位置を移動

CommandButtonでファイルを開く

としたのですが、Enterキーを押してファイルを開くようにするにはどうしたら良いですか。
他のファームでは、Private Sub Form_KeyPress(KeyAscii As Integer)で
そういうショートカット作ったのですが、今回はうまく行きません。
109103:02/08/16 17:59
keypressじゃなくてkeydownのほうでやってみよう!
>>108
ってかこれで取得できたけど?

Private Sub File1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Form1.Caption = File1.FileName
End Sub
111102:02/08/16 18:14
>>103
たびたびすみせん。
それ以前にKeyPreviewがFalseになってました。
112102:02/08/16 18:15
>>110
お手数かけました。
書き込む前に今一度よく見直しな
114ビンボー:02/08/16 18:25
誰かWindows_Sockets_APIを解説しているHPしりませんか?
115デフォルトの名無しさん:02/08/16 19:36
>>111

まああれだな、もう少し丁寧にいえば?


>>113
そういうときはF8キー押して、トレースするんだよ。デバッグの基本だからさ、学校で教わることですよ
116デフォルトの名無しさん:02/08/16 19:37
>>115
ごめん相手が逆だった
117デフォルトの名無しさん:02/08/16 21:00
すみません、少々ご教授願いたいのですが、
dllのデバッグをしているとフォーム型のデータをオブジェクト型で受けて、
そのオブジェクト型(フォーム型)の変数を別のフォーム型の変数に代入する処理があるのですが、
「型が違います」というエラーメッセージが出てしまいます。
ちなみにデバッグしないで普通に実行すると出ません。
なんかデバッグウィンドウを見るとオブジェクト型の変数に入ってるフォーム型内容を
フォーム型として認識してないようなのですが、どなたかこの症状の回避方法か
フォーム型にオブジェクト型を代入する方法を教えてください
よろしくお願いします
118 :02/08/16 21:29
ddsd1.lFlags = DDSD_CAPS
ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
この2行がどうしてもりかいできません。
この部分は形式的に覚えるしかないのでしょうか?
>>118
1行目:ddsCapsを使いますよ〜、という意味。
2行目:これはプライマリーサーフェスですよ〜、という意味。
COMポートの外部接続機器に10ミリ秒オーダーの正確なインターバルでもって
交信を行いたいんですが、timeSetEvent関数を使えば大丈夫でしょうか?

家にコンパイル環境も目的の機器もないので、テキストエディタで打って
ちいち持っていかないといけないのでトライ&エラーがしにくいんです。
>>120
その分解能をソフトリアルタイムOSでどうだすか。
122120:02/08/16 22:30
>>121
まあオーダーということで実際に10ミリ秒で割り込みできなくても構わないんですが、
50ミリ、100ミリ秒の割り込みに対して数ミリ秒の誤差が出るのは困るんです。

一応1.5GHz程度のPC(ライセンスの都合でOSは98かXP)において
タイマ割り込み>呼びかけ>返答>返ってきた数値をグラフに図示>(タイマかキー入力の)割り込み待ち
の流れになります。
123 :02/08/16 22:33
>>119
レスありがとうございます。
よく理解できました。
でもその1行目にかんして意味がまったく理解できません
素人目からみるといちいちddscapsを有効にしなくても
そのままサーフェイスを指定できるようになっていたら
手間が省けて楽なのではないかと思うのですが。
なんでそんなめんどくさい仕組みになってるんですか?
>>123
こういうコトを平気で聞ける頭の構造を知りたくない。
VB6の無料版って無いの?
あったら詳細キボンヌ
126デフォルトの名無しさん:02/08/17 00:02
>>100
俺がよく使うのは、1個エラー処理関数を作って、
別の関数でエラー時に、そのエラー関数に自分の関数名を
パラメータで渡す。あとはエラーが発生するのを待つだけ。
こんなんじゃダメかい?
127デフォルトの名無しさん:02/08/17 00:10
こんばんは。
初心者の質問です。よろしいでしょうか?

VBでPrinterメソッドを使って印字させたいのですが、
ドットプリンターとレーザー式プリンターではコーディングの書き方が
違うのでしょうか?
レーザープリンターではうまく出来たのですが、ドット式だとうまく
動いてくれません。
printer.NewPageを書いても改ページしてくれません。
なぜなのでしょうか?教えてください。
>>125
無いのでお引取りください
>>125
MXで落とせるよ
130123:02/08/17 01:25
lcapsを指定する前にddscapsを有効にしないといけないのは
どうしてですか?なんでデフォルトで有効になってないんですか?
こういう仕組みになってて何かメリットはあるんですか?

誰か教えてーーーーー。
黙れ。その口調虫唾が疾る。
132123:02/08/17 01:38
>>131
わからないなら黙ってろよ
虫のくせに偉そうだな
134123:02/08/17 02:05
>>133

132をよくよめ。かんじがわからないならじしょひけ。
MXで落とせる。
136131:02/08/17 02:08
131≠133であることを明言しておく。

次の質問ドゾー
137デフォルトの名無しさん:02/08/17 02:09
lcapsを指定する前にddscapsを有効にしないといけないのは
どうしてですか?なんでデフォルトで有効になってないんですか?
こういう仕組みになってて何かメリットはあるんですか?

誰か教えてーーーーー。
それを知らないと何か不都合なことでもあるのか?
139デフォルトの名無しさん:02/08/17 02:15
>>138
directxのすみからすみまでちゃんと理解したいのですよ。
あ、もうこれ以上煽らないでね。返事書くのがめんどくさいから。
140デフォルトの名無しさん:02/08/17 02:16
Microsoftのグリッドコントロールで、セルの上とか右とかの線だけ太くしたり、色を変えたりすることはできますか?
マイクロソフトにでも聞け
>>117
本来 Activate かなんかで触ってるせいで、参照が途切れなくて exe でうまく
行ってるとか?

つか、それ以前に該当する変数をウォッチで、内容変更されたら Break とか式
のウォッチで isEmpty(frmHoge) とか iif(TypeName(a) = "Noting" ,True,False) とか、適当なところの #if 内にif typeof とかやった?

つか、やんなさいよ。
>>140
オーナードローにして自分で描くしかない。
>ddsd1.lFlags = DDSD_CAPS
>ddsd1.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
DirectX なんざこれっぽっちも知らんが、ddsd1.lFlags = DDSD_CAPS で ddsd1.ddsCaps の扱いとかインスタンスの種類が変わるとかそんなんじゃないの?

いずれにせよ ddsd1.lFlags の意味をドキュメントで引けばはっきりしそうだけど、無いの?

つか、言語やってるくせに順番変えたいとか要らないんじゃないのかとか、そう言う発想が出てくる自体変態。
145142:02/08/17 02:35
んごご、オブジェクトに isEmpty しちゃう漏れ…。
14697:02/08/17 08:17
97ですけど、どうでしょうか〜?
>>146
ListView.ListItem.EnsureVisible
これか?
14897:02/08/17 10:06
>>147
うん。
それだとは思うんだけど、どこでそれやればいいか分からない。
DragOver かなんかかな
150デフォルトの名無しさん:02/08/17 10:34
>>146
rc = SendMessage(FileView.hwnd, WM_VSCROLL, SB_LINEUP, ByVal 0&)
訂正
FileView.hwnd -> ListView.hwnd
15297:02/08/17 10:42
>>150
スクロールはコレで出来ますね。

ドラッグアンドドロップでの順番変更の実装を
OLE DragDropとかじゃなくて、ItemClickとMouseMoveでやっちゃったんです。
ふつうDragDrop使いますかね?やっぱ?
>>148
ListView_MouseMoveかなにかでHitTestしたらどう?

Dim Li as ListItem
Set Li = ListView.HitTest(x, y)
Li.EnsureVisible
みたいな。
15497:02/08/17 10:52
>>153
お、なんだこりゃ。よくわかんないけどスクロールするね。
下方向だけに(w

上方向にスクロールしてくれないです。なんでかな?
>>154
んーと、
Dim i%
i = Li.Index
ってやって、
上の場合はi=i-1、下の場合はi=i+1して、
ListItems(i).EnsureVisible
とかやればどうかな。細かい点は工夫してね。
>>126
自分は>>100では無いですが、
やはり現在の関数名を取得する方法というのは無いんですね。
ということはエラーが発生するたびに関数名を直に渡す(もしくは定数を使う?)必要があるのか…。
関数名が変わると、渡すパラメータ(もしくは定数の宣言部分)も書き換えないといけないということになりますよね?
参考になりました。
アドインって作ったこと無いから全く知らないけど、アレ的クラスの中にコールスタックの情報持ってる奴とか無いのかねぇ…。
15897:02/08/17 14:59
>>155
ん?
いや、ですから、その、上に行ったか下に行ったかをどうやって判別しよう?
と悩んでいるのです。
x,y座標から求めてもよいですが、
ColumnのHeightってどうやって調べるのでしょう?

というか、めちゃめちゃ言い忘れてますが、ListViewの詳細表示モードです。
>>158
一つ前の状態を覚えておけば済む話では?
>>84
半角英数のユーザー名でログイン、インストールしてみては。
>>84
ここより Windows 板のXP とか、くだ質スレとか逝った方が早いと思われり。
プログラマ=PC詳しい なんて思っちゃダメダーメ
162120=122:02/08/17 18:41
すいません。一度だけ再質問させていただきます。
>>120-122ですがなんかご意見いただけないでしょうか。
163デフォルトの名無しさん:02/08/17 19:40
フォームのBorderStyleをプログラム中で変化させようとしたら
変化しませんですた。おまえら教えてください。

Private Sub Command1_Click()
Form1.BorderStyle = 1
End Sub
>>163 実行中にBorderStyleでの変更はムリ。 でもAPI使えば可。

ここを見れ。 むずかしくないから。
ttp://www.geocities.co.jp/SiliconValley/4805/vbtips/vbtips083.htm
16597:02/08/17 21:38
結局未だうまくできてないなぁ
(*´д`*)アハァ
定石ってあると思うんですが。
>>165
常識を学ぼうか。
167色々試すの大事の事:02/08/17 22:35
>158(97)
> ColumnのHeightってどうやって調べるのでしょう?

ListView1.ListItems.Item(1).Top - ListView1.ListItems.Item(1).Top

MSDN の ListItem オブジェクトの項には出てないみたいだけど、こーど補完に
出るので試した。

画面の単位って苦手だから、出てきた値が、ホントにアイテムの TOP なのかどうかは知らんが。
その検証はそっちでやって。

# もし、これが正解で、今日半日これで悩んでたなら、君の休日半日分は俺の休日5分の価値以下とも…

Private Sub Form_Load()
  Me.Show
  Call ListView1.ListItems.Add(1, , "hoge")
  Call ListView1.ListItems.Add(2, , "pyo")
  Text1.Height = ListView1.ListItems.Item(1).Top - ListView1.ListItems.Item(2).Top
End Sub
>>165
さすがに馬鹿らしくなってきたが…。

Private Sub ListView_MouseMove(x,y)

  Dim Li as listitem
  Dim i%
  Static iPrev%

  set Li = ListView.HitText(x,y)
  i = Li.Index
  
  If i > iPrev Then
    i++
  ElseIf i < iPrev Then
    i--
  Else
    Exit Sub
  End if
  
  ListView.ListItems(i).EnsureVisible
  iPrev = i
  
こんなんでどうよ。
169167:02/08/18 00:32
言っちゃった(w
17097:02/08/18 01:11
ふ〜
>>168さんのでも上方向がやはりうまくいかない

Dim Li As ListItem
Dim i%
Static iPrev%
Set Li = ListView1.HitTest(X, y)
i = Li.Index

If i > iPrev Then
iPrev = i
i = i
ElseIf i < iPrev Then
iPrev = i
i = i - 1
Else
Exit Sub
End If

ListView1.ListItems(i).EnsureVisible

こうしたらばっちりでした〜。やた〜
17197:02/08/18 01:12
げ、崩れまくり。
172126:02/08/18 01:54
>>156
>関数名が変わると、渡すパラメータ(もしくは定数の宣言部分)も書き換えないといけないということになりますよね?

エラー処理の共通関数を作って、エラー時にそいつに関数名を渡すんだよ。
そしたら、何処で落ちてるかは分かるよね。
関数に渡すパラメータが変わると、何か問題あるのか?
>>170
If文内の iPrev = i は外に出してひとつに纏められるし
i = i はいらんやろ…
174156:02/08/18 02:10
>>172
Private Sub AAA()

On Error GoTo ErrHandler

'適当な処理

ErrHandler:

'エラー処理の共通関数の呼び出し
Call CommonError("AAA",…,…)

End Sub

という感じですよね?あってますでしょうか?初心者なんであんまり自信が無くて。
この場合、関数名がAAAからBBBに変わると
エラー処理の共通関数に渡す"AAA"も"BBB"に変更するということで。
問題は無いですけど、現在の関数が取得できれば便利かなあと思った次第です。
>>170
>>168はネタでエラー突っ込んどいたから動かなくて当然(w
というか、検証してないから素で間違ってたかもしれないけど。

あと、i=iの所は、i=i+1にしとかないと、ListViewの窓サイズによっては
動作しないよ。
それから、EnsureVisibleの前にiの値が適切かチェックすること。
(あるいはエラートラップかけること。)
17697:02/08/18 08:38
>>175
1++とかのことですよね?
i=i+1にするとなんかうまく動かないんですが。
>>173
まとめるとうまくうごきません。
iprevの値が振動してしまいます。
iに代入する前にやらないとダメぽ。
i=iはいりませんね。
177 :02/08/18 10:55
Do Until i=5

Loop
というのはi=5のときにループ内のプログラムを実行するんでしたっけ?
178デフォルトの名無しさん:02/08/18 11:55
>>177
ネタでつか
>>178
VB厨をなめちゃ行けません。奴は本気です。
>>177
英和引け
あぼーん
182デフォルトの名無しさん:02/08/18 12:14
>>177
動かしてみればいいじゃん。
>>177
VBってものすごく奥が深いね、難しいね
オレもよくわからん
185177:02/08/18 12:17
少し書き忘れました。
i=0
Do Until i=5

i=i+1
Loop
でした。おねがいします。
>>185
って言うかBASIC・・・?
187177:02/08/18 12:23
もちろん Until が 〜まで という意味なのは知ってますが・・・。
確かめるためにプログラムを組むのも体力のいる話なので。
ネタじゃないです。
188177:02/08/18 12:25
>>186
Visualなほうです。
>>187
>確かめるためにプログラムを組むのも体力のいる話なので。
人に苦労させるのか。何様?

お前才能無い、あったとしても伸びない。プログラムなんぞやめて適当に楽な趣味なり仕事なり見つけろ。
>>185
デバッグしてみ
191177:02/08/18 12:26
>>189
趣味でやってるだけなのでかんべんして。
192177:02/08/18 12:27
デバッグすると3分、聞くとそれよりはやいかなーと思ってたんですけ。
>>187
人任せかよ。自分でやれ。10行もあれば確認できるだろ。
DoEvents入れたらリスクもかなり小さくなるし。
ここはバカな>>117の貴重な時間を3分以上浪費させるスレになりました。
>>192
プログラム向いてません。
196177:02/08/18 12:30
こんな板の空気じゃ親切に教えたがってる人も書き込めないじゃないか!
>>177
i=5が偽の場合にループ内を実行するから
i=5の場合は実行されない。

Dim i As Integer
i = 0

Do Until i = 5

Call MsgBox(CStr(i))
i = i + 1
DoEvents

Loop

皆さんの言うとおり、自分でやっても短時間でできる場合は
やってみたほうがいいと思いますよ。
>>177見たいなやつに教えたい人がいるとは思えんな。
人を人柱にしてるわけだし。
>>198
これだからVB厨は。
>>197
間違ってるぞ。6行目。
201デフォルトの名無しさん:02/08/18 12:33
Oracle使うときにはObjectBrowserっていう便利なソフトがありますが
SQLServerは使えませんでした。
SQLServer用の同様の便利なソフトってどんなのがあるのでしょうか?
202197:02/08/18 12:33
>>197
MsgBox使ったのはまずかったかも…。
Debug.Printの方がいいかな。
203177:02/08/18 12:38
>>197
親切レス感謝です。
実はVBではUntilを使ったときi=5を偽として扱うのかどうかが知りたかったんです。
Untilを使ったとき=の左辺を偽として扱うというのがVBの仕様であるということは覚えておきます。
>>203
普通にむかついたから二度と来るな。
205177:02/08/18 12:44
スレの管理人の1に来るなと言われたならもう来ません。
>>203
死ね。
>>203
ねらいすぎ萎え
208177:02/08/18 12:50
203は
=の右辺
と書くつもりが間違えました。しばらくさようなら。
>>208
永遠にさようなら。を希望。
210177:02/08/18 12:52
>>207
本当にi=5のときループ内のコードが実行されるかどうか知りたかったのに
>>210
そんなこと自分でコード書いて確認しろ。
人柱にされたからこっちはむかついてるんだ。
いいかげんウザイ。分かったらさっさと失せろ。
212177:02/08/18 12:55
おまえらは理屈っぽい話に耐えられずに楽しい話しかしないいまどきのやつだということがよくわかった じゃあな
213:02/08/18 12:56
>>177 
来るなとは言わん、が、自力でできることを他人任せにするな。
本スレ閲覧者はお前の召使いではない。
214177:02/08/18 12:56
うっせぇよ、全員死ね







































215177:02/08/18 12:56





























216177:02/08/18 12:56




























>>212
はいはい、そう思ってて良いから二度とこないでね。♥
まぁ、句読点も満足に書けない奴だ。すぐに社会的に自滅する。
219デフォルトの名無しさん:02/08/18 12:57
>>214
逆ギレか。
220177:02/08/18 12:58
↑荒らしはオレじゃないぞ

スレ管理人の「来るなとは言わない」という言葉はさすがです。
改めてVB厨のうざさを実感した。
>>220
誰も信じるとは思えんな。
>>221
本格的に迫害する必要がありそうだな。




構うな
225221:02/08/18 13:02
>>223
今でも充分迫害になってる罠。(w
同じVB使いとして恥ずかしいよ。
答えが出た瞬間攻撃し始める。
アホの典型だな。学校とかでもうまく太刀振る舞えていない可能性が高い。

と、言うか、


登校拒否−>手に職を−>VB−>わからない−>聞く−>死ね−>荒らし


非常にわかりやすいな。
放置放置。
次の方どうぞ〜♪
22897:02/08/18 13:06
おいおい、どうかしたの?

皆さん変数名とかどうしてます?
自分はnXとかnYとかnKaisuだか
変数名には頭にnをつけて
Subにはs、Funcitionにはfをつけたりしてるんですが。
どうかしら。
>>228
どうもこうも見たらわかるでしょう。どれが変数か手続きか関数か。

配列にはaX、構造体にはrX、クラスにはcXとかならまだしの。
230デフォルトの名無しさん:02/08/18 13:09
177はリアル厨房なんじゃないか?
VBだけしか触ったことないんだろ?
231デフォルトの名無しさん:02/08/18 13:10
177はリアル厨房なんじゃないか?
VBだけしか触ったことないんだろ?
>>231
ただの社会のゴミです。多分VBもwarezです。
233デフォルトの名無しさん:02/08/18 13:11
ゴメソ >> 2重

お詫びに変数命名
整数はiX,、iY
文字列はstrTempとかstrナニナニ
ブールはblTempとか
そういう接頭辞をつけてる
234177:02/08/18 13:13
227で放置と書いてあったからもう書き込みしないとおもってたけど230でまた呼ばれてしまった。
VBとJavaScriptとHTMLを少々かじったていど。SQLはselect,update,deleteとか基本的なことしか知らないし。
>>234
消えろ、ゴミ人間。
236デフォルトの名無しさん:02/08/18 13:14
177はリアル厨房なんじゃないか?
VBだけしか触ったことないんだろ?
>>236
ただの社会のゴミです。多分VBもwarezです。 
>>234
ホントにVB厨って痛いんだな。
23997:02/08/18 13:15
そ〜すね。やっぱ変数でも種類によって分けた方がいいよね。

ここであがるコードとかみてると i だけとか多いのでどうなのかな〜と
思ってみたりしました。
>>239
ああ。Win32APIの影響じゃない?
構造体のメンバとかdwSizeとか型名付けるのが慣例だから。
>>239
ごめん、まちがい。

iってのはカウンタ用の変数の代名詞みたいなもん。
ループさせるときは取りあえずi使っとけって感じ。
理由は知らないです。
242177:02/08/18 13:18
Integer
>>239
iはループ用変数専用だな。暗黙の了解でそうなってる。
244197:02/08/18 13:19
>>239
それに便乗して質問したいんですが、
ループカウンタの変数名って皆さんどうされてますか?
参考書などはiとかnとか単純なものが多いのですが、
やっぱり接頭辞つけてiLpCntとか分かりやすい名前にしたりするのでしょうか?
>>242
アホがなんかしゃべってます。
246177:02/08/18 13:20
共同作業するのでないなら自分のスキな名前でよいのでは?
24797:02/08/18 13:20
>>244
自分はそのループカウントがほとんどnXになっちゃってます。
変?
>>244
ループのカウンタって名前付けるほど重要じゃないから。
その変数に指定された増減で値が入ってくれてれば良いわけで。
それなら簡単に利用できるように1文字の方がいい。
>>244
普通i。それだけで充分すぎるほど分かるしな。
25097:02/08/18 13:21
あ、んでループの中のループだとnY、nZ・・って感じにしてます
251177:02/08/18 13:21
お前ら人の話聞けや!









































252177:02/08/18 13:22





















253177:02/08/18 13:22
↑にせものの177
254177 ◆2ip6tn6c :02/08/18 13:23
俺が本物。トリップ付いてないのは偽者。
255197:02/08/18 13:23
なるほど、回答ありがとうございました。
>>244
コーディング規約で強制されない限りは i,j,k で済ませてる。
257177:02/08/18 13:24
トリップつけると不利になるだけやんか
>>177はこの世から^H^H^H^H^H消えろってんだろうが

iはindex説、iteration説などがあるが、iterationが有力。
259177:02/08/18 13:25
VBのちゃんとした質問いいですか?
>>259
死ね。
せめて名前変えろ
>>261
DQN臭ですぐわかる罠。
おそらく偽者だろうし、やめれ>>177
そういやXやYを変数として宣言する?
引数でXやYが使われてたりするから、
XやY一文字だけだとどうしても抵抗がある。
265177:02/08/18 13:31
結局VBがプログラム言語の中で一番だと思うんですが?
なんでみんなCとかやってるの?
>>264
スコープが解決してくれるので基本的には問題ないかと。
267デフォルトの名無しさん:02/08/18 13:32
i,j,kがIntegerに使われるのはFORTRANの流れだろ。
漏れがFORTRANを覚えたときは、iからnまでが整数ダターヨ
>>262
ホントだ。すげぇ臭うよ。(w
俺ループカウンタにq,rをよく使う…
270177:02/08/18 13:34
今日は名前変えても意味なさそうです。ほとぼり冷めてから変えます。
質問なんですけど
aという変数をパブリックで使っているときに
GoToのラベルに
a:
という名前をつけてもだいじょうぶなんでしょうか?
>>270
自分でやってみろヴァカ
272177:02/08/18 13:35
>>265は偽者
273デフォルトの名無しさん:02/08/18 13:35
マジレス
FORTRAN,N88BASIC,F-BASIC,C++,
最近業務でVB
>>270
消えろ、ボケ。
>>270
偽者おもんない。偽者は偽者なりに、ちゃんとしたネタをふれ。
276:02/08/18 13:39
>>270
だから、試しに自分でやってみれば済むことをここで聞くなと小一時間
277177:02/08/18 13:40
ねたじゃないって。重箱のスミをつつくような知識は検索キーワードとかも思いつかないし。
オレの方がみんなよりよっぽどプログラムの細かい部分を気にしてるじゃないか。
278177:02/08/18 13:42
他の人にも参考になるように掲示板で質問してるのにな。
>>277
>重箱のスミをつつくような知識は検索キーワードとかも思いつかないし。
お前が単にアホだからだ。

>プログラムの細かい部分を気にしてる
と、言うか知ってないとプログラムなんぞ組めない常識。
お前には教えないだけ。
280デフォルトの名無しさん:02/08/18 13:43
>>277
自明すぎて頭痛いだけ
しかも試せば五秒
検索する必要は全くなし
>>278
良かったな。他行け。
282マジレス:02/08/18 13:43
>>278
ならばあなたが実験して結果を報告

>>277では上手いことを言うものだと感心したよ
283177:02/08/18 13:46
>>282
ありがとう。
実験結果はみんなとおなじで秘めておくつもり。
>>283
>>277では上手いことを言うものだと感心したよ
皮肉だと思われ。
285デフォルトの名無しさん:02/08/18 13:49
>>283
どうでもいいから、早く回線切って首釣りなさいってば。
お前には生きてる価値がないんだから。
>>283
>実験結果はみんなとおなじで秘めておくつもり。
なんだ、脅しかそれは?まぁそのほうがスレが汚れなくていいがな。
>>286
全員が知ってることわざわざ書かれてもなぁ・・・。
全員じゃないな。ただ一人わかってないのがいらっしゃる。
288デフォルトの名無しさん:02/08/18 13:51
>>286
禿同、知ってることを書かれてもウザイ
>>287
知らないとしても自分で確認してみればいい訳だしね。
290デフォルトの名無しさん:02/08/18 13:54
>>283の欠陥人格は浅原ショウコウと同程度。

For i = 1 To 小一時間
  Debug.Print "早く回線切って首吊れ"
  DoEvents
Next
よって>>177はアホと。

合点していただけましたか?
292177:02/08/18 13:55
うたがわしきは使うべからず。
疑問は晴れないがaを使ったらa:は使わないようにした方がよいみたい。
ただ変数名にaを使うのも好きだし、GoToのラベルにa:を使うのも好きだから可能なら両方使いたいと思ってさ。
こんなこだわり捨てないとね。
>>292
>ただ変数名にaを使うのも好きだし、GoToのラベルにa:を使うのも好きだから
…………。
仮にさぁ、177はガッコでVB弄ってるけど、自宅PCにはVBが入ってなくてってんなら、
「ガッコで実験しる!」ってレスも返るのにね。
295177:02/08/18 13:57
myAryとかmyCounterよりは好き
>>292
>うたがわしきは使うべからず。
検証なくして進歩なし。
177は学習意欲を捨ててます。
>>296
何を今更。こいつは成長しないよ。ただ無駄に電気使ってる廃棄物。
298デフォルトの名無しさん:02/08/18 14:00
こういうDQNが就職すると、大勢の人が迷惑するんだろうな。

自己中の塊のような奴だから、コードの保守性とか可読性なんか、一生
考えんだろーし。
VB厨ってこんなのばっかかよ?
>>296
その疑わしきを人にやらしてるからな。
>>177はそれで叩かれてることをまだ気付いてない。
>>299
まさかVBユーザーは>>177みたいなやつばかりじゃないだろうけどね。
ここで回答してる人も少なくともVBを使えるわけだし。
>>301
ブビー。私使えません。
>>300
バカは自分のことをバカだと気づけないからバカなのです。
>>301
VB使ってても、それだけではないからVB厨ではないと言い逃れ
177 GoTo 177
306177:02/08/18 14:20
>>187
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/
のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/
のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/
のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
の「確かめるためにプログラムを組むのも体力のいる話なので。」
は失言です。思っても無いのになんでこんな文を書いてしまったのか・・・。
とにかく自分で調べるより聞くのが好きだということです。
いや、それがたたかれる原因なんですけど。ちゃんとわかってるし、失言してしまってたことに気づいたのでもう許してください。
ところで
ttp://wwww.aaa.com/folder/
のアドレスを開いたときに
index.htmlを開いたのか、
main.htmlを開いたのか、
default.htmlを開いたのか
を取得するにはVBでどんなオブジェクトやコントロールを使えばよいのでしょうか?
頭痛してきた。
310177:02/08/18 14:23
↑荒らしはやめなさいって
頼む、もう勘弁してくれ。漏れが悪かった。
プログラマになんかなるんじゃなかった。
何が楽しくてこんなのと同類に見られなきゃならないんだ・・・。
なかなか上手いな
177お前年齢いくつだ?
315177:02/08/18 14:31
すべてホントに教えて欲しいことですが本でもさがしてきます。
>>314
20代です。
>>315
21としてお前を軽蔑した。
>>315
中学生か高校生かと思ってた。マジで。
>>315
いい年して、↓はないだろう
>とにかく自分で調べるより聞くのが好きだということです。
小学生並だぞ?
俺の下にいたら怒鳴り散らされること必至だ。
>>315
こんな20代がいるのか。いや特別な例だろうけど。10代として呆れた。
>>319
大丈夫。年代問わず呆れてる。
321デフォルトの名無しさん:02/08/18 14:34
>>317
まさか人間とは思わなかった。
てっきり猿か犬か猫(以下、略)
>>318
俺なら解雇。
323177:02/08/18 14:40
今ここで終了と言ってもあまり終止感がないけどもう自分で調べるので私のカキコは終わりにします。
>>323
つぅか死んでくれ。ソフトウェア業界の癌だ。
PC初心者板の糞スレに>>177の小学生並みの発言が何故かコピペされてた。
何でPC初心者とこの板一緒に見てる奴が居るんだよ…。
>>326
犯人と発見者。少なくとも二人な。
VB使いとして情け無い。・゚・(ノД`)・゚・。
>>193
DoEvents使うのでもいいけど、Ctrl+Breakを押せば無限ループ中でも中断できる。
意図しない無限ループにはコレ使え。
>>329
Ctrl+Breakすら利かなくなることもしばしば(;´Д`)
331デフォルトの名無しさん:02/08/18 22:54
おい、177よ。
お前は開発には向いてない、引退しろ。
お前に向いてることが、他にあるはずだ。
人間、引き際が肝心だぞ。
>>331
あなたも何時間前の人間に説教しているのか。
面白い(w
8時間前だろ>>332
>>334
うわ、俺そんなにインターネットやってるのか・・・。
336デフォルトの名無しさん:02/08/19 01:18
クリップボードの監視というのはどうやればよいのでしょうか?

また、その監視している最中に
フォルダやファイルをクリップボードにコピーした時
フルパスで一旦、変数に保存してまた任意の時にクリップボードにデータを返す、という
クリップボード補助ツールもどきを作りたいと思っているのですが・・・

テキストや画像ならば検索するとよく出てくるのですが上記のやり方をしらべきれなかったので
ここによらせて頂きました。よろしければご教授お願いします
>>336
いろいろAPIがあるよ。
>>337さん
APIで捜せばいいのですか、どうも親切にありがとうございます。
ちょっと荒れていたので厨な質問で蹴られるかと心配しておりましたが
大変嬉しいです。捜してみるとします。わざわざご教授してくださってありがとうございました。
>>336
SetClipboardViewer
ChangeClipboardChain
を調べてみ。
ありがとうございます
341デフォルトの名無しさん:02/08/19 01:47
VBってクリップボード関連自前で持ってたろ
342336:02/08/19 01:47
すいません、途中送信してしまいました。
Set〜の方は自力でなんとか探しましたが後者は初めて見ました。
わざわざ、しるしてくださって助かります。ありがとうございました。
>>342
ソレしないとクリップボード破綻するから。

>>336
質問如きで揚げるなカスが
あーあこれだからVBなんてカスだね
>>341とかの知ったか厨までいるしな(藁
>>344
質問こそageないでどうする?
初心者質問スレだぞ。
>>344
>>341はClipBoardプロパティの事を言ってるんだろ。
347デフォルトの名無しさん:02/08/19 02:51
>>346
とはいえ質問の答えとしたら不適切だとは思ったけどな・・
まぁ>344は論外として
ホント。
今後あらゆる質問の答えは「VBなんか使うな」の方向で。
>>160
そのやり方で出来ました。
私の長年の疑問を解いてくれてありがとうございます。
これはきっと他のインストールできないプログラムでも
応用できそうですね。つうか、もしかして有名でしたか?
一応色々検索はかけてみたんですけどねえ。
>>161
いやいや、私と比べれば皆さん詳しいですよ。
くだ質スレは考えたんですけど、こちらのほうが詳しい人が居るかなぁって。
自分でも調べていたけど、それらしきものが出てこなかったから難しいのかなって。

Win板では数ヶ月前に似た質問をしましたが返ってこなかったか、
無理って結論だったような。
あと、VBスレならもしかしたらXPでも普通にインストールできる
>>84のランタイムを持ってる人が居るかもって期待もあったんで。

いずれにしても、板違いの質問に答えてくれた二人の方に
ありがとうございました。
sage
>>201
Oracleは知らんが、EnterpriseMangagerというのを使っている。
352336:02/08/19 12:48
皆様ありがとうございました
最終的に>>349さんで示してくださってページ他にたどり着きなんとかなりそうです。
親切に応えてくださって本当に嬉しいです。
お手数おかけしてすいませんでした。
353デフォルトの名無しさん:02/08/19 13:02
C:\Document and Settings\Administrator\デスクトップ

Labelコントロールに上のような長い半角スペースの入った文字列を入れると、
自動的に半角スペースの位置で改行されるのですが、これをさせない方法を
ご教授いただけませんか。
文章がいきなり切れたようになって困っています。
354デフォルトの名無しさん:02/08/19 13:14
VBの寿命ってあとどのくらいなのでしょうか。
いまさらVBの勉強をするのは無意味でしょうか。
C#かC++をやったほうがいいのでしょうか。
教えてください、よろしくお願いします。
>>354
無駄です。
356354:02/08/19 13:16
>>355
何が無駄なのでしょうか。
VBが無駄?
C++,C#が無駄?
>>354
どうせやるならC#かVB.NETの勉強しる!
>>355
いやいや、無駄ということはないですな。
VBから他の言語に移植するとか、
「昔、こういう言語があったんだ」と語ったり。
あらゆる勉強に無駄なんてものは無いものです。
>>358
非常にコストパフォーマンスは悪いけどね。
ステップアップすべき言語もないわけで。
>>358,359
ってことは結論としてはVisualStdio.net で COBOLをやれってことですね。
>>359
うん、ですね。
つまり、「まったくの無駄ではないが、それほど得にもならない」ってところでいかが?
漏れはなぜか今、MASMを再勉強させられてるし。
↓コレじゃダメかい?>>353
Label1.AutoSize = True
>>361
別の選択肢があり、その選択し群の方が明らかに効果が大きい。
その現実がある以上、やっぱりVBは存在が悪かと。
364336:02/08/19 16:21
なんとかクリップボードを監視させるのは皆さんのお陰で実装できました
ありがとうございます
また質問で大変恐縮なのですが
> また、その監視している最中に
> フォルダやファイルをクリップボードにコピーした時
> フルパスで一旦、変数に保存してまた任意の時にクリップボードにデータを返す、という
というのは出来ないのでしょうか?

例えば
C:\Super_pi\readme.txtをctrl+Cでコピーする
それを監視していて変数Clip_f(1)にフルパスで保存させClip_a(1)に場所情報?を保存させる
C:\Documents and Settings\Administrator\デスクトップ\desktop.datを同じくctrl+cでコピーする
また同じく変数Clip_f(2)にフルパスで保存させClip_a(2)に場所情報を保存する

コンボボックス辺りで、履歴を保存させておいて
フルパスをテキストボックスにでも出力させて、ボタンをクリックすると
場所情報?が、クリップボードに返されて任意の時に
過去のコピー、切り取りなどの情報をクリップボードに戻せて
貼り付けなどが出来る、ということをしたいのですが・・・

当方の知識不足故、言葉で言い表し難く読みづらいかもしれませんが、再度助言をお願いいたします
こんなこと書くとみもふたもないが、できるやつは
ひとつの言語をマスターすれば別の言語へも
スムーズに移行できると思う。ただ、その元になる一つの
言語は、少なくともオブジェクト指向的であってほうがいいと思う。
VB6もクラスが使えるので、一応可。
この際、厳密な意味でのオブジェクト指向云々の話は抜きでね。
欲を言えばC++かC#のほうがいいのかな。敷居は高くなるけど。
VB使いでも、クラスってなに?とか言ってるヤシは、他の言語への
移行は厳しいと思う。
そんなこという俺は、C/C++ VB COBOL BASIC 使いなんだけどね。
>>365
>VB6もクラスが使えるので、一応可。

初めて鼻で笑った。
>>366
初めて鼻で笑った。
>>364
入力内容と一致する履歴を、クリップボードに保存したいってことか?
369デフォルトの名無しさん:02/08/19 16:39
>>367
初めて鼻糞食った
>>369
記念日だな。
>>369
頼む、やめてくれ
>>368さん
というよりも
クリップボードの履歴を(テキストやファイルのコピーなども含めて)変数に格納して
またあとから参照できるようにしたいのです。
373368:02/08/19 17:03
>>372
クリップボードは監視できるんだよね。
じゃあ、クリップボードの情報は取り出せるんだよね。
だったら、それを配列や構造体にでも保存すればイイんじゃないの。
>>368さん
再度レスありがとうございます
ええ、それをやっているのですがファイルをコピーしたりしても反応してくれないので・・・
全く別なんでしょうかねぇ・・・・
375353:02/08/19 17:29
>>362サン
それは正直つらいです。
>>353に書いた現象はどうしようもない事なのでしょうか。
>>375
自前で改行したい位置で改行させるとか。
>>375
いろいろ試してみたけど回避方法ないみたいだね。
どうしてもイヤなら自前でユーザーコントロールでも
作って描画するしかないのでは。
378デフォルトの名無しさん:02/08/19 17:34
001.exeというファイルにはForm1とForm2があり、スタートアップでForm1が起動するとして、
また別の002.exeから001.exeのForm2を呼びたいのですが、こんなことは不可能ですか。
できるのであれば教えてくだされ。
>>351
どちらかというとクエリアナライザのような気がしないでもない
380353:02/08/19 17:36
>>376サン、>>373サン
ありがとうございます。
無理と分かっただけでもありがたいです。何か別の方法をとることにします。
381ななしちゃん ◆xEQ8vQ62 :02/08/19 17:42
http://uramon.com/top.htm
このサイト、書き込みの文字色が少ないんだけど他の色を出す方法
ありますか?たまに、違う色で書いてる人もいるんだけど、やりかた
教えてくれない(泣 教えて下さい。お願いします!!
382362:02/08/19 17:46
>>375
改行されないようにしたいのか?
それとも、指定位置で改行したいのか?
>>381
板違い。
384353:02/08/19 17:56
>>382サン
前者です。テキストボックスみたく、幅を超えた文字はそのまま右側に隠れてほしいのですが。
>>384
TextBoxつかえ。
背景色変えたりEnableはFalseにしたりして
見た目上ラベル見たくすれ。
386353:02/08/19 18:12
>>385サン
うーん、それのが良さそうですねぇ。
EnabledをFalseにした時の文字色って変えられましたっけ?
387353:02/08/19 18:12
あ、Lockedを設定すれば良いのか。
すみません、ありがとうございましたー。
>>387
フレームの中にラベルを入れりゃいいだろ
389382:02/08/19 18:41
>>387
そういえば、俺も同じことで悩んだことがあったなあ。
結局その時は、TextBoxで代用したんだった。
昨年のことなんで、すっかり忘れてたよ。
390368:02/08/19 18:52
>>374
一体どれができないんだ?
@クリップボードの監視ができない。
Aクリップボードの情報が取り出せない。
B配列および構造体に保存できない。
>>390
通知メッセージが届かないのでは?VBは。
>>390さん
Aですね
TEXTなどの情報は取り出せるのですが・・・
宜しくお願いいたします
機種依存文字。
>>393
申し訳ございませんでした
ついつい忘れていました
"2”です
395デフォルトの名無しさん:02/08/19 23:04
>>378
コマンドライン引数で分岐すれば?

>>388
フレームは、WinXPで見た目トラブる。
396390:02/08/20 00:42
>>394
↓コレは参考にならんかい?
http://www.koalanet.ne.jp/~akiya/vbtaste/vbp/#shell2

↓タイプライブラリを直下に展開すれば動くから。
http://www.koalanet.ne.jp/~akiya/vbtaste/tlb/
397デフォルトの名無しさん:02/08/20 01:15
    カ シ ワ モ ー チ
             ______
            `=、;;;;;,,,,,,,:::,,,,,;;;;;,,,,`""''';;;;,, 、__
             ,.-'゙''''',='";;;;;;;;",-,,;;;;;;゙;;;;;;;;;l;;;;`,、
           /   `ー-...,;;;;;;;;;;;;,-‐/;;;;;;';;;;;;;;;;;;
          ./             `''''''""i;;;;;;;;ヽ
          l  ■  |,,,____/           |;;;;
          |     |.:::::/  ■        ノ;;;;
          ヽ、   |:::/          _,/;;;'゛
            `ヽ、_ |/        _,,.,;‐';;;;゛゛
              "'''=ー;‐---‐‐'';';"-''"゛
398デフォルトの名無しさん:02/08/20 15:49
おまいら。
VBでタスクマネージャーつくってみれ。
>>398
頼むから起動してるプロセスの列挙くらい自分でやってくれ。
>>393
どうせこのスレ住人はWinなんだから、@ABとかTUVくらいは構わないだろ。
頼むからVBで黙ってポインタ使えるようにしてくれ
>>393
どうせマカーなんてカスなんだから、@ABとかTUVくらいは構わないだろ。
403400:02/08/20 15:55
>>402
チャレンジャーなんだな
>>401
参照あるから良いじゃん。
405398:02/08/20 16:04
というかよぅ。
NT系についてるタスクマネージャーがあるじゃん。
あれと同じようなのVBでつくれるかなーって練習のつもりで初心者ちゃんの
漏れはやってみたわけですよ。

プロセス列挙やらメモリの使用率とかは普通にできたんだけど、
CPUの使用率だけわけわかんなくて憂さ晴らしですよ。

もう漏れのヘタレっぷりに激しく鬱。
つーかWin9x系でCPUの使用率って取得できるのか教えてくれ。
407398:02/08/20 16:08
>>406

Win9x系はレジストリ読めばできるみたいなんですよ。
その手のサンプルは結構あったんですよ。
んでもNT系ってレジストリに値があるわけじゃないようなんですよ。

なんか特殊なAPI使うらしいけど、参考資料が何もないからわからんです(;´Д`)
>>407
そうなのか。でもそれってプロセスごとじゃなかったりする?
友達のうちでなぜかマシン(Win Me)が異常に遅くなるからプロセスごとのCPU
使用率を調べたいんだが出来たりする?
そういうフリーソフト探したが見つからなくてヘルプ探したが見つからんかった。
逆に質問してスマソ
409398:02/08/20 16:23
>>408
んー。
自分が探してたのがNT系だったんで、9x系の参考資料は思いっきり流し読み
してたんで断定はできないけど、プロセスごとの使用率の資料もあったと思う。
もし、方法を探してるうちにまた見つけたらカキコするYO!
>>409
漏れも必死に探して結局見つからなかったことが(;´д`)
SETI@homeとかUDとかの負荷を除いたCPU負荷が知りたかったのだけど…。
もしかして隠しAPIかなぁ。MSが公開してくれると嬉しいなぁ…。
411398:02/08/20 16:41
>>410
NT系では隠しAPIでいけるらしいです。NTDLLとかいうやつ。
過去スレの4で、↓みたいな書込みをやっとハッケソ…Win9x系はわからないけど…

253 名前: デフォルトの名無しさん 投稿日: 01/12/12 00:37

2000・NT系でCPU使用率を得られるらしい
NtQuerySystemInformationの宣言とか引数、戻り値を教えてくだされ

海外サイトで
NtQuerySystemInformation (SYSTEMINFOCLASS sic,
PVOID pData,
DWORD dSize,
PDWORD pdSize);
というのを見つけて、自分で書いてみたのがこれ
Public Declare Function NtQuerySystemInformation Lib "ntdll" _
( , pData As Any, ByVal dSize As Long, ByVal pdSize As Long) As Long
↑ここに入るのは分からん

VB自体始めて日も浅いし、上のも間違ってるかも
ダレか教えて下さい
412デフォルトの名無しさん:02/08/20 16:46
パフォーマンスオブジェクト使え
413デフォルトの名無しさん:02/08/20 16:58
'rs1.Close
rs1.Open "select str from replace where grp = 1001 and id = " & rs("goodsunit"), conn, 3, 1, 1

上のコードだと2行目で「オブジェクトが開いている場合は操作が許可されません」とエラーがでて

rs1.Close
rs1.Open "select str from replace where grp = 1001 and id = " & rs("goodsunit"), conn, 3, 1, 1

上のコードだと1行目で「オブジェクトが閉じている場合は操作が許可されません」とでました。


なんかおちょくられているようでとってもいい気分なんですが、
なぜでしょう。
414デフォルトの名無しさん:02/08/20 17:29
つれなくなったな・・・・
>>413
3, 1, 1じゃなんのことかわからんから考える気もせんな。
416398:02/08/20 18:22
>>412
ありがとうございますた。
このヒントでいけました!

PdhAddCounter hQuery, "\Processor(_Total)\% Processor Time", hCounter

こんな感じでPDH関連のAPI関数を利用して成功しますた。
ただ、このCPU計測自体が使用率を上げているという罠。
>>413
rs("goodsunit")と rs1 は別の物?
>>417
別のものだけどまじめに考えないでね。
アーヴァインがデルファイだから見たくても見れないよー
420デフォルトの名無しさん:02/08/21 13:32
同じユーザー定義型の変数2つを中身が同じか
比較したいんだけどユーザー定義型変数同士をIfで比較できますか?

できなければ何かいい方法あるかな?

メンバが100個とか大量のユーザー定義型だと
メンバごとにIf文書いて比較って超大変ぽ・・・。
みなさん、こんにちは
VB6.0を使ってます。

HTTPSでPOSTさせ、結果を取得するには
どうしたら良いでしょうか?
>>421
SocketでHTTPクライアント実装する。
423デフォルトの名無しさん:02/08/21 13:51
Excelのクエリウイザードみたいにドラッグで列を入れ替えられる
コントロールってありますか?
無ければ、何か同じ動きが出来るコントロールは無いでしょうか。
424421:02/08/21 14:18
>>422
>SocketでHTTPクライアント実装する。

レスありがとうございます。
具体的にどうすればよいのでしょう・・・
425デフォルトの名無しさん:02/08/21 14:29
>>424
キーワード貰ったらどうするのが大人?
>>420
中身が全部数値型だったら、memcmpで
できそうな気がしなくもない
427デフォルトの名無しさん:02/08/21 17:20
>>424
具体的ってちみはいったいどこまで知りたいわけ?
428デフォルトの名無しさん:02/08/21 17:21
>>424
そういうのを一般に「丸投げ」と言います
良識ある大人はやらない行為です
429デフォルトの名無しさん:02/08/21 17:47
>>428
うちの社長はよくやります。
そのくせ出来上がったものには文句つけまくりです。
しかも納期の直前に
>>429
その上納期直前に突然仕様追加とか変更とか?
431デフォルトの名無しさん:02/08/21 18:27
>>430
そのとおりです。仕様の変更追加です。
うちの会社自分しかSEいなくて
プログラマーはだれもいない。
外部から2社プログラムに手伝いにきてる
うちの会社ベンチャーでしかも、
プログラムできるやつ俺しかいないから、
仕様の変更がどういうことになるかわかってない。
盆休み無かった上に土日も休み無い

 タ ス ケ テ
丸投げするほうもするほうですが、丸受けするほうもイケナイと思います。
433デフォルトの名無しさん:02/08/21 18:32
エラーの発生した関数名を取得する方法なんてありますか?
やっぱり関数の先頭でグローバル変数に名前を書き込むとかしないとダメでしょうか。
434デフォルトの名無しさん:02/08/21 18:44
>>432
イクナイといわれてもキョヒデキナイ
>>433
一般的には出来ないってことになってるな。
個人的にはスタックのデータとかタイプライブラリの情報とか
デバッグ情報とか組み合わせれば出来るんじゃないかと思っているが
わからん。
436デフォルトの名無しさん:02/08/21 21:26
皆さんこんにちは。
NetMeetingをフォームに埋め込みたいのですが、
何か方法がございますか?

Webページには、
<object ID="NetMeeting" CLASSID="CLSID:3E9BAF2D-7A79-11d2-9334-0000F875AE17">
のようにHTMLに埋め込んでうまくいったのですが、
VBでは、よくわかりません。
参考にしたのは、
http://www.fukumi.co.jp/tips/netmeet_ftw.htm
です。
>>420
>メンバが100個とか大量のユーザー定義型だと
COBOL製システムからの移植とかか?
でなきゃ、それはひどいユーザ定義型ですね。

>メンバごとにIf文書いて比較って超大変ぽ・・・。
そのユーザ定義型にはどうやって値を設定するの?
それもたいがいだと思うが・・・。

* ファイルに書き出して、FCコマンドで比較するとか。
>>434
丸投げ→丸受け→丸戻し(納期までの残り減少、仕事量倍増)
されたぞ・・・・。

丸投げするDQN。
丸受けしといてろくでもない状態で丸戻しするDQN。
火消し約で入らされて漏れ。
ま、もう終わったプロジェクトだけど。
439デフォルトの名無しさん:02/08/21 23:03
webBrowserに表示されている文字だけをとりだして
textboxに表示させたいのですが
どのようにすればよいのでしょうか
どなたかお願いします
440デフォルトの名無しさん:02/08/21 23:46
テキストのエンコード(?)をシフト JISにしたいのですが
どうすればいいのでしょうか?バカですみません
>>440
ばーかばーか。
442デフォルトの名無しさん:02/08/21 23:55
>>441
そうなんですよ…この前数学で赤点取っちゃうし…助けてください
>>442
こうゆう奴が将来入ってくるの?
鬱だ
444デフォルトの名無しさん:02/08/22 00:03
>>442
安心してください行きません
445444:02/08/22 00:03
>>443
の間違いでした
>>445
ばーかばーか
447デフォルトの名無しさん:02/08/22 00:05
>>446
教えてもらえませんか??
>>447
いや
449443:02/08/22 00:08
ではお手軽な方法のヒントを
NKF32.dll
以上
450443:02/08/22 00:11
>>440
ついでに指摘
×:テキストのエンコードを
〇:テキストのコードを
エンコードは符号化、複合はデコード
文字コードはASCIIとかJISとかUNICODEとかS-JISとか。
>>450
で、テキストのコードって何さ?

文字=テキストとか言ったらバカにする。
>>450
どうもありがとうございました。出来ました。
453デフォルトの名無しさん:02/08/22 00:13
>>450
そうでした・・・ありがとうございます
DLL使わない方法はないんですか?
454443:02/08/22 00:15
>>451
ヤベッ 揚げ足取られてバカにされた
>>453
ほう、心意気やよし。

変換テーブルを自前でこしらえて変換しろ。以上。
>>454
揚げ足を取る≠間違いであろう点を指摘する
457443:02/08/22 00:16
>>454
テキストだって、盛れってバカ丸出し。
キャラクタじゃねーかよ、氏ね->漏れ
458443:02/08/22 00:16
>>453
RFC読め
459デフォルトの名無しさん:02/08/22 00:17
DLLの使い方が分からないなんて言ったら怒ります?
460443:02/08/22 00:18
>>459
怒る前に脱力死
443を殺したお前は177か?
>>459
なんで生きてるんだろう・・・こいつ。程度。
464デフォルトの名無しさん:02/08/22 00:24
本当にすみません、始めたばかりなもので…
177ではありません。DLLの使い方勉強してきます
465デフォルトの名無しさん:02/08/22 00:24
>>463
ありがとうございます!
466デフォルトの名無しさん:02/08/22 00:28
>>463
そこを見ようとしたんですが「ページが表示されません」ってでるのですが
リンクが切れてるのですか?
>>464
がんばれ。
>>467
がんばるぅ〜。(*^_^*)/~~
>>466
今、見えてるぞ
470工房:02/08/22 10:00
httpからバイナリファイルをDLする際、HEADでヘッダのサイズを調べて、
GETでヘッダごとファイルに落とし、その後ファイルからヘッダ部分を抜き取る…
という手法でバイナリファイルをDLしているのですが、変ですか?

本などをまったく見ずに自分で考えた手法なので、漠然とした不安があります。
もっと効率のいいDLの仕方があったら教えてください。
>>470
GETだけでいいじゃん。ヘッダ付いてくるし。
>>470
そのためのcontent-lengthだと。
一回目の\r\n\r\nで切るってのはダメなのか?
474デフォルトの名無しさん:02/08/22 10:17
Printerオブジェクトと、印刷ダイアログボックスで返ってくる、
hDCの連携についてだけど、

リッチテキストボックスの印刷とかでは、
RichTextBox1.SelPrint CommonDialog1.hDC
ってやって、プリンター選択してるみたいなんだけど

Printerオブジェクトには、「.SelPrint」ってメソッド無いでしょ
どやって、Printer選択すればいい?
>>474
いくらフランクな掲示板でも、最低限人に物を聞く態度ってあると思うよ。
476工房:02/08/22 10:36
>>471-473 
レスありがとうございます。
GETだけでやる場合は
GetData buff,vbarray+vbbyte,totalbytes
put #*,,buff
みたいな感じでしょうか?
ヘッダとバイトがくっついてる場合はどうすればいいんでしょう?
それとも両方とも落としてから区切るわけですか?
>>476
>ヘッダとバイトがくっついてる場合
ッテナンデスカ?
478工房:02/08/22 10:55
>>477
あれ、もしかして恥ずかしい発言をしてしまいましたか?
GetData str,,totalbytes
text1 = text1 & str & "あいうえお"
って感じでやってみたら

HTTP/1.1 200 OK
(略)
Content-Type: application/octet-stream + 改行×2
]蓋E;あいうえお

ってテキストに表示されたんですが、最後の文字化けの部分は多分バイトだと思ったので
"ヘッダとバイトがくっついてる場合 "って表現しました
ヘッダとバイナリ が正しい表現という意味では
480工房:02/08/22 11:10
>>479 以後気をつけます(恥
>>479
に、してもそんな現象あるわけ?
\r\n\r\n後は本文っしょ。
482工房:02/08/22 11:17
一番最初の cr lf cr lf を受け取る前はstring型に収納して、
受け取ったあとはbyte配列に収納、という方法でやってみましたが、
その配列で書き出したファイルは正常に動きませんでした。
通常はそんな現象はおこらないのですか?
一般的におこらないとされているのならば、もう一度コードとにらめっこしてきます。
483工房:02/08/22 12:41
僕があほでした
つきあってくれたみなさん申し訳ありません。
>>483
取りあえず。

ケアレスミスでした、僕がアホでした。



こんなところで聞いた、僕がアホでした。

どっちかはっきりさせてちょうだいな。
485474:02/08/22 13:22
>>475
君は、喋らなくいいよ。
486デフォルトの名無しさん:02/08/22 13:23
非常に初歩的な、あれだが、
ReDimやると、中身消えちゃう?
487デフォルトの名無しさん:02/08/22 13:24
>>ばか
RFC読め。
488486:02/08/22 13:29
Preserveでした。
「てへぇ!」
489デフォルトの名無しさん:02/08/22 13:35
トップページを更新しました!!
只今韓国のサイバーテロを生でみれます。
是非皆さんもご協力おねがいします。
http://kankokufubai.hoops.ne.jp/bbs
もう、言われるだけの日本は卒業です。
がんばれ日本!がんばれ日本人!

490464:02/08/22 13:46
おかげさまで解決しました、ありがとうございました!
491デフォルトの名無しさん:02/08/22 15:44
一つ、教えていただきたい。
あるテキストボックスに数字を入れてその比較を行いたいんです。
で、例えばtxtAと言うテキストボックスとtxtBと言うテキストボックスに
数字を入れて、どちらが大きいか比較したいんだけど、その場合単純に

If txtA>txtB Then

って入れても何故だか最初の一文字しか判定してくれないんだよね。
例を挙げると555と4444と言う数字を入れると前者の方が大きく判定されてしまう。
これって上手く判定させるにはどうしたら良いの?
誰か教えてください。
>>491
最初の1文字はうまくいくのか????
>>491
アホ
if Val(txtA)>Val(txtB) Then
うぉ、そうやれば良かったのか。
>>493感謝っす。
495デフォルトの名無しさん:02/08/22 16:07
>>493
あほといいながらも答えを教える>>493がカワイイ
Do While i=5

Loop
というのはi=5になるまでループ内のプログラムを実行するんでしたっけ?
>>496
>>177以降読んで反省してね。
>>496
つぅかおまえしね。
499デフォルトの名無しさん:02/08/22 16:51
ちょいと教えて欲しいのだが、テキストボックス二つ作って、
その中に日付(YYYY/MM/DD)をいれて、どちらがより古い日付かを判定したいんだけど、
どうしたら良いのか分からんのです。
誰かわかる人いたら教えてください。
>>499
やり方はいろいろあるけど

YYYYMMDDって言う整数を生成するとか。
ださい。
>499
CDateを調べてみなされ
Formatなんかも見よ
504499:02/08/22 17:08
>>502
申し訳ない、まだVB初めて3日の初心者なのであまり良く分からないのです。
教えて君で非常に申し訳ないのだが、CDateって何ですか?
>>496
だからやってみれと、何度書かれたことか。
ちっとも反省しないんだな。
>>504
Helpから検索してみれ
>>504
ここはおまえのサポートセンターか?
キーワード与えられてヘルプも読まないような
クズは二度とくるな ヴォケが
>>507がいいこと言った
>>504
キミに言いたいことが3つある。

・初心者は免罪符にならない。おまえが何日前に始めたかなんて知ったこっちゃない
・教えて君で申し訳ない・・・とあらかじめ言えば許されるってものではない
・回線切って首吊って死ね


水でもかぶって反省しなさい
        ___
       ,∠==、ヽ `i'ー- .
      /    ヽ| 「`'ー、`ー、           
       l     ミ| /   `ー、ヽ  ・・・・ゴメンナサイ
      j     R|イ ー-、.  ノ7┐
      `Vハハハ/ヽ.「~ ̄ `''ァf‐┘        
.         `、 }ー-`、__..._/::l     
          `|:::::::|ヽ/l:;:;:;|
>>511
謝ってすむなら警察いらねーんだよ。












警察呼べよゴラァ
513デフォルトの名無しさん:02/08/22 17:50
どなたか教えてください。
Dim Tmp(1) As Byte
Dim IntVal As Integer
こう定義されているとき
バイナリでIntegerの値が
Tmp(0)に上位バイトTmp(1)に下位バイトが格納されています、
その値をIntValに入れるにはどうしたらよいのでしょうか?

IntVal = Tmp(0) * 256 + Tmp(1)だとうまくいかないです。

たとえば Tmp(0) = &HFF, Tmp(1) = &HFEだったら
IntValには-2が入ってほしいのですが。
>>513
memcpyするか、そこまで分かっているなら自前で
マイナスかどうかの処理を分けたらどうでしょう
>>514
でもmemcpyはスレ違いって奴だな
>>515
なんで?
517513:02/08/22 18:07
>>514
Cなら楽勝なんですが。
VBの使い勝手がよくわからない。
VBに共用体があればなぁ。
美しい方法が思い浮かばない。
もうちょっと考えてみます。
>>516
だってVBじゃないじゃん。このスレではVBで回答を示さなくては・・・
>>517
共用体があったところで何なんだと。
520デフォルトの名無しさん:02/08/22 19:37
formを開くと
windows media playerを使って
a.aviという名の動画ファイルを見られるようにしたいのですが
どのようにすればいいですか。
>>520
a.avi引数にして起動させればいいじゃん。
ヘルプなり軽く読んでね。
522デフォルトの名無しさん:02/08/22 19:48
プログラムにはどうかくの?
ヘルプなり軽く読んでね。
524デフォルトの名無しさん:02/08/22 19:52
Private Sub Form_Load()
test="a.avi"
MediaPlayer1.〇〇〇
End Sub
見たいに書くんですよね。
>>524
ヘルプなりいい加減に軽く読んでね。
526デフォルトの名無しさん:02/08/22 19:54
ヘルプのどこを読むの?
キーワードでも教えて下さい。
527デフォルトの名無しさん:02/08/22 20:10
Hide で隠していたフォームを SetWindowPos を使いあるタイミングで最前面にするのですが
その際実行ファイルだと今までアクティブだったウィンドウからフォーカスを奪ってしまいます
常に最前面になって且つフォーカスを奪わない方法を教えてください
>>527
StayOnTopは?
529デフォルトの名無しさん:02/08/22 20:44
VBとAccessとExcelと複数関連した話なんですが、
Accessのデータを集計してExcelの棒グラフに表示させるプログラムを作りたいのです。
(VBラーニングエディションなのでチャートコントロールが使えません)
このようなことはExcelVBAで可能なのでしょうか?
VBAのどの本を読んでもAccessのSQLクエリをExcelと連動させて
グラフ表示という話はありません。
>>529
VBA使わんでもCOMで操作すればいいのでは?
>>530
VBA使わんでCOMで操作するってどーいういみですかー。
>>530
MSDNでCOMを検索してみたけど関連がありそうなトピックはありません。
CreateObjectとかNewでExcelグラフを指定(作成)する、とか
そんなかんじですか?
>>532
そう思ったら試せぽげ。
>>513
IntVal = CInt(Val("&H" & Hex(CLng(Tmp(0)) * 256 + Tmp(1))))

はどうよ?
>>533
すいません、はじめてCOMという言葉を聞いたもので
さっぱりわからないのです。
Dim xlApp As Object
' オブジェクトへの参照を格納する変数を宣言します。

Set xlApp = CreateObject("excel.application")
' アプリケーションを表示する場合は、
' Visible プロパティに真 (True) を設定します。
xlApp.Visible = True
' Microsoft Excel の他のオブジェクトを操作する場合も、
' オブジェクト変数 xlApp を使います。
xlApp.Quit ' 処理終了後、Quit メソッドでアプリケーションを終了し、
Set xlApp = Nothing ' オブジェクトの参照を解放します。

537513:02/08/23 09:24
>>534
感謝!! うまく動いてるみたいだ。
If文使って-判定して2の補数とってたりしたけど。
こっちの方がいいので使わせてもらうよん。
538デフォルトの名無しさん:02/08/23 09:44
>>533
お前が試せぼけ
まぁまぁマターリ逝こうぜって言うかココはいつもなんでこんなに荒れるんだチンカスども。
>>539
VB厨の巣窟だから。
>>540 スレタイに「VB厨」とかいてあるでしょ
542デフォルトの名無しさん:02/08/23 12:38
>>539
お前がちんかすだろぼけ

  ぶっちゃけるけど、
    お前らが思っている以上に
      ヘルプとGoogleは

         有用。


正解
545ななし:02/08/23 13:18
良識ある人はあきれ果てて近寄らなくなる罠・・・。
>>545
質問者にプログラミングの知識はもちろん人間としての常識すらない場合が多いですし。
誰もいなくて然り。

547デフォルトの名無しさん:02/08/23 13:45
ヘルプとググルで調べてみても分からなかったから聞きます。
VBにおけるLowValueとHighValueってなんですか?
Cだったらnullとかって思いつくんだけど・・・。
>>547
意味不明かつ検索不足。
>>547
本人がわかってない為、有効な検索ができない典型例
550デフォルトの名無しさん:02/08/23 14:28
誰かわかりませんか?
LowValueとHighValueも使われませんか?
>>550
とりあえずCOBOL専用用語を使っても知っている人は少ないだろう。
あとCだったらnullってのも間違いだ。
プログラマーの適性がないヤシって、全角半角が
入り混じっていたり、やたらtypoが多かったりするのは
気のせいか?
>>552
右脳系PGはそんなもんだよ。
554ななし:02/08/23 16:30
>>552
前いた職場で、「機種依存文字やめれ!」って注意書きを社内掲示板に3回ぐらい
(一覧表の画像ファイルまでつけて)アップしたが、理解できなかった奴が複数人
いた。
正直、こいつらに何言ってもムダだと思った。
>>554
ごめん、お前みたいな奴が居たら正直引く。
556ななし:02/08/23 16:44
>>555
無論、「やめれ!」という言葉遣いではないよ。
WEBコンテンツに転載する可能性のある文書や、E-mailでは
当然の配慮だと思うけれど?(おかしい??)
557 ◆774RR8Ig :02/08/23 16:46
>>556
おかしくない、いるよ、そう言う奴
ドコモの絵文字をAU機に送ったり(ちょっと違う)
要するに>>555はプログラマの適性ないってことで。
559ななし:02/08/23 17:02
>>554
正直に白状すると、文字化けが気になったのではなく、社外、特に同業他社から
機種依存文字すら知らないDQN会社と見られるのが怖かった。
(ひとことで言うと、「世間体」)

実際、販社向けの同報メールでも機種依存文字入りで流してる
奴がいたし。
ソースコメントの箇条書きに
丸付き数字を書いてよこしてきた外注には引いた。
561ななし:02/08/23 17:38
>>560
非常識なものでも、日常的に見慣れると、感覚がマヒして何とも感じなくなる罠。
(100個のグローバル変数とか、2000行超のスパゲティ関数とかでも、同様・・・)
Web,Mailで機種依存文字バリバリは引くけど、
Windows用ソフトをWindowsで作ってるのに
丸数字ごときでガタガタ言う奴もちょっとウルサイと思うけどね。
当然自分じゃ使わないけどさ。
あとこのスレで使うのもそんなにガタガタ言うことじゃないと思うが。
>>562
ちょっと同意。

>>560とか、このスレに書いてるって事はVBのソースだろ?
VBのソースなんてWindows環境でしか見ないだろうから、別にいいと思うが。
メールとかどんな環境で見るかわからないものには使わないってのは当たり前だけど。
>>563
はげ堂。

というか>>560等は機種依存文字の意味を本当には理解していないと思われる。
565デフォルトの名無しさん:02/08/23 20:34
RFCばか出番だぞ。
566デフォルトの名無しさん:02/08/23 20:42
>>560
漏れは、VBに限らんけど、コメントを分りやすくするのに、
全角つか、日本語使いまくっとる。
英語だけのコメントっつーより、英単語並べただけのコメントって分りずらい。


'Data Number
データの個数?、データの番号?どっちだ!
>>566
コメントは日本語使うだろう。そら。何を訳のわからんことを。
>>562-564
ハゲ同だけど、まぁ>>560みたいな奴に馬鹿あつかいされるのは面倒だから、
何にせよ機種依存文字は使わない方がいい事は確かかもしれないなw
機種依存ぐらいどうってことない
ら抜き言葉を使うと怒ったり、
「確信犯」「役不足」を間違った用法で使うと「あ、それ意味違うんだぜ?」
と、いきなりしゃしゃり出てきて得意げに話し始める奴とか、
そういう奴と同じウザさを感じる>機種依存文字過剰嫌悪野郎
>>570
自分を正当化するいいわけですかいな?
572デフォルトの名無しさん:02/08/23 23:37
>547
lbound ubound?
ぜんぜん違う?
Cしらんからよくわからんが、、、
>>572
全然違う。COBOL用語だって。たぶんな。もしかしたらなんかのプロパティや定数かもしれんが。
574572:02/08/24 02:14
>573
ほんとだ、、、
ビックリするくらい全然違ったよ
575? ◆GQrDul2E :02/08/24 10:26
a(general int)とa:は同時に使えた
int a;
goto a;
a:;
VBのアプリを開発しています。
複数の事業所で使いたいのですが
日本全国に散らばっています。
バージョンアップなどのときに
自動でバージョンアップしたいのですが
どのような方法がありますか?
インターネット使うしかないだろ。
あー、「使うしかない」わけじゃないよね。
そりゃ当然他にも方法はあるだろうが。
(極論を言えば長距離データ転送できる独自ケーブルと通信規格を作って転送とかね)
インターネットが一番現実的じゃなかろうか。という意味で。
一応突っ込まれる前に訂正・・・。
>>579
本社に数枚コピーおいておいて分社に取りに来させる。
>>580
それは自動とは言わない、手動だ。
582デフォルトの名無しさん:02/08/24 15:23
>>546
お前が常識無いんだろ
ぼけ
583デフォルトの名無しさん:02/08/24 15:25
>>548
>>549
こたえねぇんならむこうへいけ
ぼけ
584デフォルトの名無しさん:02/08/24 15:26
>>552
お前が適正をかたってんじゃねぇよ
ぼけ
585デフォルトの名無しさん:02/08/24 15:30
お前ら一生機種依存文字の注意だけして退社してください
ぼけ
586デフォルトの名無しさん:02/08/24 15:31
ドイツもこいつも厨ばかりだな
ぼけ
>>577は何処いった?
>>577はインターネットを使うということを前提に質問したのに見当ハズレな回答が帰ってきたので
ここぞとばかりに遅レスかまして荒らしになりますた
だったらWebサーバーにVerUP用のデータとバージョン情報を置いて、
ソフト本体にhttpクライアント実装してverチェックして古かったら
DLして更新するだけじゃん。
ム板にもID欲しいねぇ…。
それはともかく、サーバに更新ファイル置いて、クライアントは
起動時に(裏タスクかなにかで)更新チェックかけて、
更新あったらダウンロードして再起動促す(か次回起動時に差し替え)
ってやりゃええんでない?
経路はインターネットでも、独自の何かでもやり方は同じようなもんでしょ。
正直、VBかどうかは関係ない話であるけど…。
hontai.exe(仮名)とverup.exe(仮名)を作って、
ソフトはverup.exeから起動するようにする。
verup.exeを起動するとWebサーバーに問い合わせてバージョンチェック。
最新バージョンだったらhontai.exeを起動して自らは終了。
古かったらhontai.exeをDLしてローカルのファイルに上書き、のちにhonrai.exeを起動して自らは終了。
これで良し。
てゆーか自動更新できるソフトは全部こんな感じの仕組みだろ。
カブタ
593577:02/08/24 16:25
>>591
すごいっ!!
目からうろこです。
ありがとうございました。
バージョンアップアプリを先に起動する発想がまったくできませんでした。
感動の嵐です。
594577:02/08/24 16:29
ちなみに荒らしたりしてません。
595577:02/08/24 16:35
ちなみにランタイムライブラリはどのように配布したほうがいいでしょうか?
やっぱり本体exeとは分けたほうがよいでしょうか?
別にオンラインソフト作ろうとしてるわけじゃないんだろ?
だったらインストーラー作るのが当たり前だと思うが・・・。
597デフォルトの名無しさん:02/08/24 17:52
>>594
うそ
598デフォルトの名無しさん:02/08/24 18:29
>>588
   ||
 Λ||Λ
( / ⌒ヽ
 | |   |
 ∪ 亅|
  | | |
  ∪∪
   :
   :

 ‐ニ三ニ‐
>>595
どうせ一回こっきりの配布でいいんだから、インストーラなんぞ要らないのでは?
>>499
DateDiff関数使うとかとかとか渡嘉敷。
601デフォルトの名無しさん:02/08/24 21:22
ADOをつかって、レコードセットのオープンに失敗したとき、
再取得する際にはみなさんどうしていますか?

レコードセットオブジェクトを破棄してから、再度取得しますか?
それともコネクションオブジェクトを破棄してから再度取得しますか?
それともオブジェクトは破棄しないで、ただ単純にオープンを繰り返しますか?
602naoto:02/08/24 22:02
こんばんは!はじめまして!
603デフォルトの名無しさん:02/08/24 22:05
下のコードで、「エラーが発生していないときに、resumeを実行できません」といわれました。
ヘルプを見ても解決できませんでした。解決方法わかるかた、教えてもらえないでしょうか。

状況説明
 error 1 でエラーが発生、 エラールーチン err1: に入る。
 resumeで問題のエラーが発生

Public Sub ShopGoodsMonitor()
 
処理省略

On Error GoTo err1
For J = 0 To GoodsCount - 1
Rs.Open "select * from shop_goods_monitor where shop_goods_ID = " & gSGID(J), Cn, 3, 1, 1
If a = 0 Then
a = 1
Error 1   <−−−−−−−−−−−−−ここ
End If
Rs1.AddNew
For I = 0 To 3

Rs1(I) = Rs(I)

Next
Rs1.MoveNext

Rs.Close
Next

Rs1.Close
Exit Sub

err1:  <−−−−−−−−−−−−−−−−−ここ
Cn.Close
Sleep 10000
Cn.Open OpenStr

Rserr.Open "C_err", Cn_LocalDB, 3, 3, 2
Rserr.AddNew
Rserr("err_time") = Now
Rserr("name") = m_Name & 111
Rserr.Update
Rserr.Close
Form1.Print "err111"
DoEvents
Resume <----------------------ここ

err2:
 処理省略

End Sub
604naoto:02/08/24 22:07
検索ソフトをつくろうとおもうのですが、検索文字列が完璧に一致しなくても
ある程度一致していればOKなものはどうしたらいいのですか?
IF文ではできないのでしょうか?教えてください。
>>604
ある程度の程度がわからない。
606naoto:02/08/24 22:10
例えば小文字、大文字やスペースの有無などを関係無しにしたいのですが・・・
>>606
すべて大文字か小文字に変換して評価すればよし。

スペースの有無で単語の意味は変わってしまうと思うが・・・。
608naoto:02/08/24 22:18
あと検索語の文字が含まれているものを検索したいときはどう
したら良いのですか?

  検索語:win
検索結果;windows
winmx
windows98
windowsxp
>>608
indexof位あるだろう。いくらクソ言語でも。
VBって難しい・・・。
>>608
instr
>>610
心配せんでも他の言語はもっと難しい。
>>612
それでVBがよく使われるわけですね。
>>613
余命幾ばくもないけどな。
>>614
残念ですね。
616デフォルトの名無しさん:02/08/25 00:30
エラールーチンの処理の流れがつかみにくいので正しいのか正しくないのか
教えてください。

実際にステップで動かしてみてそうなっていたのですが、
プロシジャー内でエラーがおこると
そのプロシジャー内のエラールーチンに飛びます。
そのエラールーチン内でエラーが起きると
そのプロシジャーを呼び出したプロシジャーの中の
エラールーチンに飛びます。

sub B
on error goto err1
call A
err1:
エラールーチン
end sub

sub A
on error goto err1
err:
エラールーチン
end sub


ヘルプにはこのことは書いていなかったのですが、
自分が理解しているので正しいのでしょうか?
>>616
要はプロシージャの始めから終わりまでがtryブロックで囲まれてる状態?
>>616
On Error ステートメントのヘルプにちゃんと載ってますよ。
>>616
そりゃそうだべさ
>>617
ちっと関係ないんだけど、俺の行ったことある現場って、ほぼ大体が、その状態を強制するコーディング規約があったんだけど、他の言語の人から見て、やっぱ気持ち悪いもん?
>>620
ちゃんとcatch以下で起こりえるエラーを処理するかstacktraceするなら全然OK。

catch内で何もしない(要は例外隠し)とかならそんな会社のソフトは使いたくない。
>>621
>catch内で何もしない
あ、ソレはないよ。共通エラー吐きプロシージャ呼んで、DB閉じてログ吐いて落とすとかそう言うのだから。
どうも。
623デフォルトの名無しさん:02/08/25 01:04
WindowStateで最大化させたフォームに画像を貼り付けたのですが、
最大化すると画面の解像度によってフォームのサイズが変わってしまうので、
ストレッチさせて貼り付けようと思ってAPIのStretchBlt()や
イメージコントロールなどを試しましたが、上手くできませんでした。
どうすればいいのでしょうか?
624デフォルトの名無しさん:02/08/25 01:08
>>601
自己レスです。
レコードセットのオープンの際に使用した、コネクションオブジェクトを、
破棄しないと再接続できないようです。
625デフォルトの名無しさん:02/08/25 01:09
>>616
sub B
on error goto err1
call A
err1:
エラールーチン
end sub

sub A
on error goto err1
err1: <-------------------修正
エラールーチン
end sub
626デフォルトの名無しさん:02/08/25 01:15
>>617
VBでtryブロックってつかえるのでしょうか?
ヘルプではVCとVJ?しかなかったけど・・・
>>616
子関数はエラールーチンがある親関数の所まで飛ぶ。
子関数に、エラールーチンをかかないで、親関数だけにエラールーチン書いておくと
まとめてエラー処理が出来る。
628デフォルトの名無しさん:02/08/25 01:20
>>618
うーん?
On Error ステートメントのヘルプは
何度か見てるんですが、そういう記述ありますかね?
>>627
あそれでか!
子関数エラーは子関数内にon errorが無いと、on errorがある親関数のエラールーチンに飛ぶのは知っていましたが、
子関数のエラールーチンでエラーが起きると親関数のエラールーチンヘ飛ぶんですね。
大変納得しますた。
screen.mousepointerでアイコンを変更しても
リストビュー詳細表示のColumnHeader上ではノーマルなアイコンに戻ってしまいます。
なんとかColumnHeaders上でも指定したアイコン表示させる方法はありませんか?
ははーん、おまいらアレだな〜
おれたちえんどうまめ
>>626
>>177事件以来VB知らんのにちょくちょくここ見てる俺がいます。
彼のファンは多い
Script をルートとするクラス階層の資料ってどこにあります?MSDN 及び、MS から DL できる VB Script の CHM には載って無いみたいなんですけど…。
636635:02/08/25 13:05
ごめんなさい、もう一個。
何も参照設定しないで、

Set owsh = CreateObject("WScript.Shell")
Set ExcelSheet = CreateObject("Excel.Sheet")

とは出来るけど、

Set ws = CreateObject("DAO.Workspace")

ってのは出来ないですよね?なんで?
>>636
上の二つは予め参照設定されてるから。
638デフォルトの名無しさん:02/08/25 13:17
>>637
どうも。

えーと、だとすると、
参照設定すれば出来る、
Dim wa As DAO.Workspace

と同じ感じの、
Dim eSheet As Excel.Sheet

が何で出来ないんでしょうか?
>>639
新事実が。
>>639
何でだろう?
>>638
あ、それっす。どうもどうもどうも。助かりました。m(__)m

そっか、>>1 にmsdn必読と書いてあるけど、web の方も見なきゃダメか。そっか。
643( ´,_ゝ`) プッ:02/08/25 13:44
        ∧∧∧∧∧∧∧∧∧
       <            >
       < 釣れねぇぞ。ゴルァ >
       <            >
        ∨∨∨∨|/∨∨∨∨
       へ       |
       |  \
       |   \  ┌ ∧、
       |     ヽ ̄(゚Д゚,,)
       |      ℃ _'ヌ ,ヨ
       |       と|_ノ‖
       |  ___(_(⌒'人__
       | く       ̄ ̄
       |  >   ヾ
  ザッパーン |  (      ヾソ
     ∵,,| ∵ヽ
       | ∴ミζ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
645635:02/08/25 14:12
>>638
えーと、持ってた CHM が古いせいもあったみたいです、5.5 の CHM は持ってたんですが、最新の 5.6 の CHM を落としたら、同等の物がありました。
お手数掛けました。

つか、以前落としたのは、jsdoc.exe,vbsdoc.exe,wscdoc.exe と三つのアーカイブのそれぞれの CHM に分かれていたんですが、今のは全部一緒みたいですね。
646デフォルトの名無しさん:02/08/25 14:16
何でだろう?
647ひみつの検疫さん:2024/11/22(金) 13:06:33 ID:MarkedRes
汚染を除去しました。
んー、もしかして常識だったのかなと言う気がふつふつと。
すいません、ネットワークに関する質問なんですが、
VBで、特定のアプリケーションのパケットの行き来を監視する方法はありますか?
C使えばwinsockのクローンを作ってほにゃららにすればなんとかなりそうですが、
作ろうとしてるアプリは結構単純な物なので、
VBでちゃっちゃと済ませたいのです・・・
ちょっとwsh補足。

  Dim sh As WshShell
'  Dim sh As IWshRuntimeLibrary.WshShell           これでも同じ

  Set sh = CreateObject("Wscript.Shell")           'だいじょぶ
  sh.Exec ("notepa~.exe")
  Set sh = Nothing
  
  Set sh = New IWshRuntimeLibrary.WshShell          '行ける
  sh.Exec ("calc.exe")
  Set sh = Nothing
  
'  Set sh = New Wscript.Shell                 'ユーザー定義型は定義されていません
'  Set sh = CreateObject("IWshRuntimeLibrary.WshShell")    '無理
'  Set sh = CreateObject("IWshRuntimeLibrary.IWshShell3")   'これも無理
'  Set sh = CreateObject("IWshShell3")            'これも無理

因みに、実体の型はいずれも IWshShell3 でした(ウチの環境では)。
気持ち悪い。
CreateObjectはFactoryパターン。
652自信0:02/08/25 18:09
>>651
>CreateObjectはFactoryパターン。
もしかしてデザインパターンですか?
余りよく知らないんですが…。

プロダクト(WshShell)を継承なりしてればコンクリートプロダクト(この時 IWshShell3) は違っても全然おかしくないと。

んで CreateObject の中の WshShell を受け付けるコンクリートファクトリーが適当な実体を返してるんだぞと。気持ち悪く無しと。

そう言うことなんでしょうか。
>>649
Winsock2.2を使えばCでちゃちゃっとできるが
VBでもAPIさえ定義すればちゃちゃっとできると思う。
すみませんが、VB.NETでINIファイルの入出力をするための方法を
教えていただけませんでしょうか??

よろしくお願いいたします。
【老若】VB.net質問スレ【男女】
http://pc3.2ch.net/test/read.cgi/tech/1025848458/
>>654
すれ違いだが、.NETにINIファイルを扱う方法は特に用意されていない。
APIを使うのだよ。
>655
ありがとうございます。こちらで聞いてみます。

>656
APIを使ってるのですが、VBと.NETでは
用意されている型が違うくてVB6.0で使ってたような
コーディングはできないのです<私の力不足なのでしょうが
658デフォルトの名無しさん:02/08/26 00:53
少数1.2をバイト型変数へ格納したい。

Dim BytTmp(1) as Byte

BytTmp(0) =
BytTmp(1) =

と、1.2を2バイトにして入れたいのだけど、少数を2バイトにするにはどうすればいいの?

(*´д`*)アハァ…
659おれ様:02/08/26 14:56
ここって直ぐに答えてくれるの?
660デフォルトの名無しさん:02/08/26 15:10
あるプログラムパスからそのプログラムのプロセスが存在するか
確認するには、一度起動しているプロセスの列挙を行わないと
できないでしょうか?
661デフォルトの名無しさん:02/08/26 15:13
>>658
少数って何だ? 小数のことか?
単精度実数なら、4バイトで格納される。
値の取りうる範囲を限定できるなら、自己流の格納形式にすればいい。

662 :02/08/26 15:24
起動時に 引数を 渡さなかったら、Formを表示しないで終了させたいんですけど、
どうしたらいいんでしょうか?
663デフォルトの名無しさん:02/08/26 15:25
msFlexGridをまったく選択していない状態に
する方法はありますか?

ListBoxで言う所の
List1.ListIndex = 0
みたいな感じにしたいのです。
>>662
Sub Main()
665177 ◆GQrDul2E :02/08/26 15:40
うぐぅ 仕事くれ
666 :02/08/26 15:42
>>664
すみませんが、Sub Main()を使わないでやるらしいんですけど、
他に方法ないでしょうか?
667デフォルトの名無しさん:02/08/26 15:44
Form_Load()
Dim strBuffer As String
strBuffer = Command()

If Len(strBuffer) = 0 Then
Unload Me
End If
668177 ◆GQrDul2E :02/08/26 16:00
つまるところForm_Loadが一番最初に起こるイベントなのか
669デフォルトの名無しさん:02/08/26 16:32
>>668
新規プロジェクト作ってF8すれば、確認できるよ。
というか、660を・・・誰か教えてください・・・。
しこしこ列挙アプローチでコードつくり始めてます・・
でも9x版がちょっと不安・・
>668
Initializeダヨ!!
671デフォルトの名無しさん:02/08/26 16:41
改行コードがLF(Chr(10))のファイルを一行ずつ読み込みたいです。
普通にOpen→Line Inputで読むと改行を認識されないようなのです。
良い方法はないでしょうか?
>>671
1バイトずつ読んでいきなさい
673デフォルトの名無しさん:02/08/26 16:50
>>672
やっぱりそうですか・・・
サンクスです。
674177 ◆GQrDul2E :02/08/26 17:13
>>669
試したところGeneralの宣言セクションが実行され、そういえばそうだったな、と思い出したり。オレがバカというより人間とはそういうもの・・・かな。(そういうもの=わすれっぽい、ミスをする、かんちがいする、etc.)
>>670
某アニメのことかと思いきや、Formなどのインスタンスを作成したときに起こるイベントだと検索して初めて知った。
メモリにフォームが読み込まれる時に起こるんだなと勝手に解釈中。
675 :02/08/26 17:15
>>668
プロジェクトのプロパティで指定したスタートアップが 一番最初。
つーか Sub Main() とか 言われた時点で わかんないとダメだねぇ。

おれも 知らんかったけど、Sub Main()で 検索して 知った。

>>663なんすけど、無視=無理ってことすかぁ?
677177 ◆GQrDul2E :02/08/26 17:23
>>675
>662 >666 はオレじゃなーい
>>676
2時間くらいで喚くな。
すみません。教えて頂きたいのですが
例えば
Text1.SetFocus というのがあるとしたらこのSetFocusというのは
どういう意味というか働きをするのかわからないので教えてください。同じように
ADODB.Recordsetというものがあった場合ADODB&.Recordsetの意味と
Text1.Enabled = Falseというものがあった場合Enableは何を意味しているのか
神様お願い致します
Text1.SetFocusは、
Text1っていうオブジェクトのSetFocusっていうメソッドを実行しなさいという意味
SetFocusはそのコントロールにフォーカスを移動する働きをする。

×ADODB&.Recordset
○ADODB.Recordset
かな?
ADODB.Recordsetは、
ADODBオブジェクト'の'Recordsetっていうオブジェクトという意味

Text1.Enabled = False は、
Text1っていうオブジェクトのEnabledっていうプロパティに
Falseを代入するっていう意味

ADODB&.Recordset
これあってるんだね。ゴメソ
(*´д`*) アハァ
このAAカワイイですね。
683679:02/08/26 18:52
>>680
さっそくのレスありがとうございます。
>SetFocusはそのコントロールにフォーカスを移動する働きをする。

実際説明してもらってもまだピンとこない部分もあるんですよね・・・。
フォーカスっていうものがいまいち自分の頭の中でイメージがわいてこないんですよ。
あと、移動させるっていうのはMoveとういものを使うのだと思っていました・・・
Moveはコントロールの位置を変えるんです。
フォーカスというのは現在のキーボードからの入力を受け付ける
対象となるものと考えてください。
685679:02/08/26 19:08
>>684
ありがとうございます!ようやく理解できました(フォーカスに関しては・・・)
つまりプログラム実行時にデータベースに何かデータを登録しようとして
TextBoxが3つあったとしたらどれか1つ空白があって登録Missがあった場合
そこのTextBoxにフォーカスをあわせるというプログラマの気の利いたコーディングなんですね
ん。何か日本語おかしいけどありがとうございました
>>660
二重起動防止?
Appオブジェクトでなんとかできなかったっけ?
手元に環境もMSDNもないので詳しくわからんスマソ。
少なくとも全プロセス列挙とかをした記憶はない。
687デフォルトの名無しさん :02/08/26 20:17
下のようなことをしたいのですが、特別な関数とか実現方法を教えてください。
周りはCOBOLERばっかでわからないを連発されています。

既存のVBの中にソースを埋め込んで、ボタンを押したら新規のVBを走らせる。
そのとき、既存のもっている変数を新規のaccess内に格納する。
新規側の処理を行っている間は既存側は待機する。
新規側の処理が確定したら、既存側の処理も確定してよいが、
新規側でエラーが発生したら、既存側の処理も確定しないで、いわゆる
ロールバックを行う。

ざっとこんな仕様なのですが、参考になることを知っている方
お願い致します。

>>687
>既存のVBの中にソースを埋め込んで、ボタンを押したら新規のVBを走らせる。
この時点でそんなことほざいたSEをどついておくべきかと。
689デフォルトの名無しさん:02/08/26 21:07
>>687
そもそもなんでそんなことがしたいのかいくらPGでも理解すれ、っつか
自分で言ってること解ってねーだろ。SEもだろうけど。
>>687
新人くん。他の会社に移ったほうがいいよ。
>>687
プロセス間通信だ。
APIで鮮度が大事。
新規のVBを走らせる・・・。

そこでプログラミングでもするのかね。
プログラミング作業の自動化というものすごく高度な話題がはじまろうとしているスレはここですか?
>>693
違うと思います。
695eibu ◆c61exE6E :02/08/27 04:56
>>687
>ざっとこんな仕様なのですが
ひさびさに大笑いしたよ。
こんな仕様出す奴に道を尋ねたらエライ事になるな。
「あそこバァーて行ってグワァーて曲がって変な看板のトコ」とか言いそう。

accessってことはデータベース処理か?
ひょっとしてトランザクション処理をものすごく
複雑かつ意味不明で遠回りなやり方で説明しているのか?
696 :02/08/27 08:53
>>687
COBOLしか 知らない人たちの会社って 将来性ないよ。
ま、なんとかCOBOLも pro cobol とかで 生き残ろうとしているけどさ。
697デフォルトの名無しさん:02/08/27 14:39
VB6.0でDataReportを使って横向き印刷しようとしてるんですけど、
縦向き印刷になってしまいます。
APIを使ってPrinter.Orientationの値をLandScapeにしてもダメでした。

解決方法をご教授ください。

それともCrystalReport等を購入したほうがいいですかね?
DataReport使ったことないんでアドヴァイスできん。スマソ。
ただひとつ言わせてくれ。


ク リ レ ポ は や め と け
699デフォルトの名無しさん:02/08/27 15:06
>>653
質問主ではないのですが、すいませんがちゃちゃっと特定アプリのパケットの行き来を
監視する方法を教えていただけませんか。
700FIGHT:02/08/27 16:43
現在VB6.0とアクセス2000を使用しております。
今回画像をあつかったプログラムを作成しているのですが、
それの入出力がわかりません。
ちなみにアクセスのテーブルで「OLEオブジェクト型」で作成して
いて、それを読み込んだり、登録したりしたいのです。
  Private Mdb As Database
  Private mRs As Recordset

  Dim cDBpath As String
cDBpath = "D:\db1.mdb"
Set Mdb = OpenDatabase(cDBpath)
Set mRs = Mdb.OpenRecordset("テスト", dbOpenTable)

Text1.Text = mRs.Fields(0)
Text2.Text = mRs.Fields(1)
上記のように、テキストに表示する方法はわかるのですが、
OLEに関しては無知ですので、アドバイスの方ヨロシクお願いします。
701デフォルトの名無しさん:02/08/27 17:03
下記プログラムで"型が一致しません"と言うエラーが出てしまい何とかしたいのです。

・Classモジュール
Private WithEvents hogehoge As MSCommLib.MSComm

Private Sub Class_Initialize()

Set hogehoge = CreateObject("MSCommLib.MSComm")
↑でエラー

End Sub

コンポーネントにMSCOMMを追加して、参照設定では追加していません。
(追加していないと言うより、追加する時にこのオブジェクトはモジュール、…、
で使われています。と出て追加できない)
 
コンポーネントはコンポーネントで使用したいので外せないのですが、
何か良い案は無いでしょうか?

ちなみにコンポーネントを追加しないで、参照設定で直接追加した場合は
上記のプログラムで動作するのは検証済みです。
>>701
As Object
703デフォルトの名無しさん:02/08/27 17:10
VBのコミュニケーションコントロールMSCommを使用して
バイナリデータの送受信をすることはできないのでしょうか?

これだとByte変換時にオーバーフローを起こすことがあります。
(80h以上の時?)
というかInputで1文字2バイトが帰ってくることがあるような気が?

Buff(255) As Byte

MSComm1.InputLen = 1

For Cnt = 0 To 255
Do
If MSComm1.InBufferCount > 0 Then      ' バッファにデータがあったら
Buff(Cnt) = CByte(Asc(MSComm1.Input))   ' 1byte取得
Exit Do
End If
Loop
Next
704701:02/08/27 17:14
>>702
Object型だとWithEvents で宣言できないのです。

>>703
MSComm1.InputMode = comInputModeBinary
にすればバイナリで取れるよ。
705703:02/08/27 17:24
>>704
うあ!!
そんな設定あったんですね。
ありがとうございます。
706デフォルトの名無しさん:02/08/27 19:02
まじめな質問!
Visual Basicで複数人数の音声チャットは作成できますか?
問題なし。

けど複数人音声チャットって誰が誰の発言だか分からないね。
708706:02/08/27 19:48
>>707 サンクス Visual Basicでやってみよ
初心者にとってサンプルがいっぱい落ちてるのはやっぱり魅力的です
音声チャットのサンプルがいっぱい落ちてるのか?
いっぱいじゃないけど俺、前見つけたよ どこかは忘れたけど。。。(´Д`;)
>>701
同じインスタンスでいいなら、
ClassにInitメソッドでも作って参照をコピーしてやれば?

[Class1.cls]
Private m_comm As MSComm
Sub Init(comm as MSComm)
  Set m_comm = comm
End Sub
712701:02/08/28 00:28
[Form1.frm]
Dim oClass1 As Class1
set oClass1 = New Class1
Call oClass1.Init(Me.MSComm1)
713711:02/08/28 00:29
712の名前欄は711の間違いです
714ggg:02/08/28 00:48
>>697
OpenPrinter-GetPrinter-MoveMemory-SetPrinter-ClosePrinter
ででくる
715デフォルトの名無しさん:02/08/28 03:21
Visual Basicのヘルプを起動しようとしたら「MSDNのライブラリをインストールしてください」
ってなります これってダウンロードできるんでしょうか?
>>715
CD付いてただろ?
717715:02/08/28 03:30
>>716 そう! そのCDがないんですよ。。。うーん・・・もともと何の役に立ってるのか
わからんCDだったんで・・・
なんで無いんだよ
719715:02/08/28 04:01
もちろんVisual Basic本体のCDはありますけど
マジでダウンロードできないんですか?
だからなんでMSDNのCDがないんだよと。
721幸房:02/08/28 04:33
俺も無い〜
親父が会社の奴持ってきたけど、全部無くした。
CD1だけ***(自粛)で取ってきた。
もう少しで夏休みも終わりますから、
もう少しの辛抱です。
>>715
http://www.microsoft.com/japan/developer/library/default.asp
ここに行けば、VBのヘルプは読めるよ。
ダウンロードは出来ないけど。
初心者がよくまちがえる問題

'N=1+2+3+・・・+10

Dim i,N as integer

For i=1 to 10
N=N+i
i=i+1
Next
725デフォルトの名無しさん:02/08/28 13:54
shellapi.hの定数ABM_SETSTATEの値を
知っている人いたら教えて下さい。
VBで定数を定義したいのですが、
VC++入ってないのでヘッダがなくて定数の値がわからない(T T)
>>725
APIビューア
>>724
あんたが初心者でしょ。
>>724
N = (10 * (10 + 1)) / 2
729初心者:02/08/28 14:23
アプリケーションからのメッセージを無視してそのまま動作させる方法を教えてください。
例えばエクセルで、

ActiveWindow.SelectedSheets.Delete

とやってシートを削除するときに、
「もとに戻せないよ」って警告がでますよね?

これを無視したいのですが。
>>729
なんかのウイルスですね?
731 :02/08/28 14:32
はじめまして。
質問したいのですが、
VBのフォームのOLEにエクセルのシートを表示させたいのですが
どのようにすればできますか?教えてください
732 ◆774RR8Ig :02/08/28 14:35
>>728
いや、そういうことではなくってだな、
Forでiをインクリメントしているのにだな、
i=i+1
を入れてるのが、「初心者がよくまちがえる問題 」ということなんだよ。
>>732
誰も間違えない罠
734729:02/08/28 14:47
>>730
ちょっとした明細計算のプログラムを作っているのですが、
ブックを作成すると、最初にシートが3つできるでしょ?

明細シートをひと通り作成した後に、3つのシートを削除したいのですが、
メッセージが出てプログラムがとまるので邪魔だなあ、と思って。
>>732
他に言うことは?
736デフォルトの名無しさん:02/08/28 14:58
>>732

漏れはインクリメント以外に
Dim i,N as integer
で、NだけがInteger型で宣言されてiがVariant型で宣言されてる
って事を指摘するべきなのか?と思ったよ。
737736:02/08/28 14:59
あぁ、くだらんことでageてしもうた(;´Д`)

ケーブル引っこ抜いて鼻に突っ込んで逝ってきます
>>729
あんまり詳しくないけど、
多分無理じゃないんすかね?
フォームにコントロールを並べている時などに、
ちょっとプロパティを変更しようと思ってコントロールをクリックしたら、
マウスの加減で、折角きれいに並べたのに、ズズ…っと数ドット動いてしまう
ことが多いのですが、これを動かさずにマウスで選択する方法はないのですか。
結局732は何を言いたかったのか
VBでは初期値付きの配列を作ることはできないのでしょうか?
Cでこんな感じのです。
integer Data[6] = {1,2,3,4,5,6};
こういうときは
昔のBASICみたいにDATAをREADするようなことをするんでしょうか?
742729:02/08/28 15:51
>>738
お隣で回答いただきました。
Application.DisplayAlerts = False
>>739
フォームの右クリックでコントロールのロックをしておく。
あとは右クリックで選択するとかキーボードで選択するとか
プロパティウインドウのリストボックスから選択するとか。
744デフォルトの名無しさん:02/08/28 16:38
VBのコードエディタってマウスのクリクリ(スクロール)効かないんですか?
ちょっとやりにくひ・・・(´Д`;)
>>741
intがintegerになってるぞぅ。
私の場合、多い時はファイルから読むようにしてます。
>>744
効く人は効くよん
747image:02/08/28 16:46
VBでビデオなんかのコピーガード(とくにマクロビジョン)を消すことはできる?
常に一定の色合いを出しつづければできると思うんだけど・・・
無理?
>>747
やってみな。
>>741
Array関数?
750image:02/08/28 16:57
できるのか?
できそうだがな。
できるだろ?
やってみて。
>>750
とりあえずコピーガードの仕様を詳しく言え。
752デフォルトの名無しさん:02/08/28 17:08
>>750
っていうかVB(PG)と全然関係ないじゃん。
AV機器板に行った方がいいんじゃネーノ?
>>752
アホがいるな。
>>753
それはお前
755752:02/08/28 17:13
スマン、ageてしまったから、変な奴を呼んでしまったようで・・・
sage直します。
>>744
マウスユーティリティー次第。
どこでもホイール使うとコロコロするようになるよ。
757デフォルトの名無しさん:02/08/28 17:29
>>744
MicrosoftのインテリポイントをDLして導入するとホイール動くよ。
VBとセットみたいな感じ。
758デフォルトの名無しさん:02/08/28 17:50
ホイールで思い出したんだけどさ、
VB上で実行してマウスホイール回すとちゃんと動くんだよ。
ところが、実行ファイルで同じ事すると動かないんだよ。
なぜ動作が違っちゃうの?
759ななし:02/08/28 19:06
>>687
もう少し日本語を勉強された方がよいと思います。
760デフォルトの名無しさん:02/08/28 19:53
IE(ActiveX)でNavigateメソッドでネット上のHTMLを取得してますが、
Navigateすると画像とかまで読み込んでしまいます。
HTMLだけ取得したいのですが、方法はないですか?
(自分で調べたところ、無いっぽい雰囲気でした…。)
761760:02/08/28 20:17
Ret = GetRes(>>760)
If Ret = Nothing Then
 MsgBox "無いみたいですね。また来るかも。"
 Unload 俺
End If
762724:02/08/28 20:53
>>732
オレの代わりにいろいろ言われているみたいでスマンの。
732の解説のとおりi=i 1の一行だけが議論の対象なので他の部分はアバウトに書いてあり、そこをつっこまれると困っちゃうよん。
>>762
で、キミは質問スレで何を言いたかったの?
764725:02/08/28 21:46
Const ABM_SETSTATE = &HA
のようです。ありがとうございました。
765デフォルトの名無しさん:02/08/28 22:38
SSTabについての質問です。
環境はVB6(SP5)です。

実行時、SSTabコントロール上に新しいタブを追加して、
その追加したタブの上にLoadしたコントロール(コマンドボタンとか)を配置したいのですが、
うまくいきません。

どうやればいいんでしょうか?
よろしくお願いします。

766デフォルトの名無しさん:02/08/28 22:39
すんません・・・メインメニューオブジェクトってどこにあるんですか?
>>763 ここの住人は大抵わかんないとレスしてこないから、
ここだめじゃんっておもっただけ。
まぁ多分>>760はできないと思うけど^^;
>>767 激しくまちがえた
>>760
WinSockコントロールを使うといいよ。
>>736のが正しい。
771デフォルトの名無しさん:02/08/29 00:00
>>765
追加したタブをアクティブにしてから追加したコントロールのContainerプロパティを設定。
772名無し@でぢたる:02/08/29 00:06
VBでテキストエディタを作りたい!!だが、行数表示はどうしたらいいのだろうか?
>>772
作れよ。
774名無し@でぢたる:02/08/29 00:08
つくれないよ!!
>>774
諦めろ。
最初の時点で挫折ですか。
777デフォルトの名無しさん:02/08/29 00:31
Winsockの講座とかあるサイトってないでしょうか?
教えてください 世界中のエロい人
778エロい人:02/08/29 01:06
>>777
ないです。
779デフォルトの名無しさん:02/08/29 02:49
VB6 で、
ADODB.Recordset でデータベースアクセスやってるんですが、
今までに作られたEXEで動いていたマシンに、
VerUpしたEXEを入れたらエラーが起きるようになりました。
430 のオートメーションエラーです。
しかも、エラーが起きずにちゃんと動くマシンもあります。

おかしくおもって、前Version のvbp を手を加えずコンパイルだけしたEXEを、
新Verが動かないマシンに入れてみたところ、
前となんら変わりないはずなのに430のエラーが出るようになりました。

いったい何が原因なのでしょうか?
おかげで今日もこんな時間です。
>>772
SendMessage
>>779
切羽詰ってるようだね。確か、自分も以前こういう現象に遭遇したことがある。
まだ起きてる?ちょっと調べてみるよ。
782781:02/08/29 03:23
>>779
過去2回そういうことがあった。
一つはVB Projectの参照設定。そしてもう一つはかMDACのバージョン違い。
783779:02/08/29 03:58
>>781 >>782
お返事ありがとうございます。
とりあえず帰宅してきました。
寝るまでもうちょっと時間があるので調べてみます。
784FIGHT:02/08/29 08:56
質問させていただきます。
VBでコメント文って「’」ですよね
’コメント
これを範囲をコメントにしたい場合はどのようにすればいんですか?
コメント1
コメント2
コメント3
コメント4
コメント5
この範囲をコメントにしたいのです。
一つ一つに「’」をつければいいのですが、
これが100行とかある場合はちょっと手間がかかりますよね。
なにかよい方法はないでしょうか?
ヨロシクお願いします。
>>784
#if false then
#end if
>>784 範囲選択してツールバーのコメントブロックボタンを押す
787FIGHT:02/08/29 10:46
>785
>786
どうもありがとうございます。
785さんの解答はコードで記述できることを学びました。
786さんの解答はそのようなツールバーが有ることを初めて知りました。
ちょっとしたことなんだけど、ほんとに為になります。
どうもありがとうございました。
>>785
すげー
こんなのあったんだ。
コメントブロック(と解除)のあるツールバーがデフォルトで非表示なのがクソだと思う。
んでもってこれらの操作がメニューから出来ないことがもっとクソ。
別にメニューからやりたいわけじゃないけどメニューにないからこの機能を発見できない。
俺もこの機能長い間知らなかった。
790ななし:02/08/29 14:37
>>774-775
VBのTextBoxには、処理できる文字列のサイズに32Kだか64Kだかの制限があり、
大容量の文字列を扱う場合は、リッチテキストボックスを使用することになり
ます。
しかし、VBでは大容量の文字列の処理が絶望的に遅いので、有名な秀○あたり
と比べると勝負になりません。(論外。あたりまえだが)

まあ、数10K程度の文字列しか扱わないと割り切るなら、そこそこ実用にはなる
かと思います。(お奨めはしません)

>>785
コメントというよりは、条件付コンパイル。
(問題解決という趣旨では満点の回答と思われ)
791デフォルトの名無しさん:02/08/29 16:33
Cのsprinfと同等の機能のある関数があったら教えて下さい。
>>791
Format
793791:02/08/29 16:45
>>792
サンキウ!!
>>772
UZEditor
http://www1.plala.or.jp/uz/
「VBで作るエディタ」
795デフォルトの名無しさん:02/08/29 18:28
あるディレクトリ下(c:\temp)のファイル名一覧を取得したいんですが

Dim strDir As String

strDir = Dir("c:\temp", vbDirectory)
Do While strDir <> ""
If strDir <> "." And strDir <> ".." Then
MsgBox strDir
strDir = Dir("c:\temp", vbDirecory)
End If
Loop

だと"temp"のみ表示して終わってしまいます。
どうコーディングしなおせばいいんでしょう。
796795:02/08/29 18:29
あら?字下げ失敗。
すいません。
>>795-796
連続した半角スペースは省略される。
Dir関数の使い方についてもう一度調べなおせ。
>>795
Private Sub Form_Load()
  Dim strDir As String

  strDir = Dir("c:\temp\*.*", vbDirectory)
  Do While strDir <> ""
    If strDir <> "." And strDir <> ".." Then
      Debug.Print strDir
  End If
    strDir = Dir()
  Loop
End Sub
799798:02/08/29 18:42
vbDirectory → vbNormal または 指定しない
800795:02/08/29 19:17
>>798-799
ありがとうございます。
助かりました
>>777
http://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja.html

>>790
>しかし、VBでは大容量の文字列の処理が絶望的に遅いので、有名な秀○あたり
>と比べると勝負になりません。(論外。あたりまえだが)

&使って連結してるとか?そりゃ遅い。
802デフォルトの名無しさん:02/08/29 21:57
ダイアログを出さずにプリンタの出力トレイを切替るにはどうしたら良いのでしょうか?
検索してAPI関数を利用したサンプルを見つけたのですが、NT系では動作しないようです。
OSはWindows2000、言語はVB6.0です。
具体的には画像ビューワに葉書印刷機能(普段使用しないトレイ)を付けたいのですが。
803783:02/08/29 22:02
解決レスです。

古いversionは Microsoft ADO 2.0 Library でつくられていたので、

参照設定で
Microsoft ADO 2.5 Library をはずし、
2.0 Library をチェックつけてexeを作ればOKのようです。

でもそのvbpを保存して終了し、立ち上げなおすと、
自動的に 2.5 Library のほうを参照しています。

コンパイル前に参照設定しなおす必要があるみたいでした。

いじょお。
804デフォルトの名無しさん:02/08/29 23:07
>>802
権限の問題では?
たとえばコントロールパネル-プリンタで当該プリンタの設定が変更できないアカウントは、
同アカウントが実行するプログラムからも設定は変更できません。

ていうか9x系でうごいてNT系で動かない場合まず権限の問題から疑います<私の場合。
805802:02/08/29 23:34
>>804
ありがとうございます。権限はAdminです。
設定と印刷を別関数で実行するとうまくいかないのですが、
同一関数内でトレイ設定と印刷を実行すると出来るので権限は問題無いと思います。
ただし、これは Printer.Print で文字の出力が出来ているだけで・・・
画像の印刷にDLLを使っているのですが、この場合は同一関数内でもうまく出来ません。

実験結果
Sub Main
 Call トレイ設定関数
 Call 印刷関数  ←デフォルトのトレイで出力
End Sub

Sub Main
 Call トレイ設定&Printer.Printでの印刷  ←指定したトレイで出力
 Printer.Print  ←デフォルトのトレイで出力
End Sub

Sub Main
 Call トレイ設定&DLLでの印刷  ←デフォルトのトレイで出力
 Printer.Print  ←デフォルトのトレイで出力
End Sub

デフォルトのトレイを設定できれば良いと思うのですが、どうしたら良いのでしょう?
806802:02/08/29 23:38
書き忘れました。
>>805の結果はWindows2000でのものです。
Windows98で試したところ、全て指定トレイで出力されました。
807デフォルトの名無しさん:02/08/29 23:58
>>805
そーなるとソースがないとなんともいえませんね。
トレイ設定関数とDLLでの印刷のおおまかなソース(使用しているAPIとその発行順で結構です。)
があったらなにかアドバイスできるかもです。
808デフォルトの名無しさん:02/08/30 00:13
アクティブなテキストボックスの文字列を選択し、
その後そのテキストボックスを非アクティブにしても
どこが選択されているかわかるようにするにはどうすればよいでしょうか
809802:02/08/30 00:14
>>807
トレイの設定はガリバー社のHPにあったソースを改造して利用しました。
ttp://www.galliver.co.jp/writing/nikkei_tokushu/prn908/index.html
使用API関数は次の6つです。
DeviceCapabilities
OpenPrinter
DocumentProperties
RtlMoveMemory
ClosePrinter
ResetDC
810804:02/08/30 01:10
>>809
トレイの変更だけならSetPrinterでできるはずなのでDocumentPropertiesからSetPrinterに
変更してみてはいかがでしょうか?
参考
http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP140/2/85.asp

私も以前同様の障害に遭遇しましたが、たしか何らかの原因があってDocumentProperties
では期待する動作とならずSetPrinterを採用した経緯があったような。。。
811デフォルトの名無しさん:02/08/30 01:37
>>803
解決したみたいだけど老婆心。。。

アーリーバインディングする限り同様の問題は発生し続けるので、
開発時:アーリーバインディング(参照設定)
配布時:レイトバインディング(参照設定を外しすべて As Objectに置換。。。)
のほうが(比較的に)よろしいかと。
インストーラにも気をつかわなきゃだけど。
812デフォルトの名無しさん:02/08/30 02:51
こんにちわ!初めまして。
いきなりなのですが、ポインタ変数を使って、入力した文字列を縦書きにするにはどうすればいいのでしょうか?
配列でしかしたことなくって。。。
ぜひ教えてください!m(_ _)m
>>812
何の話だかさっぱりわからん。
基本的にVBにポインタ変数はない。何のことをいいたいんだ?
入力した文字列って・・・どこに入力してるのさ。
RichTextBoxでAPI使って縦書きというようなのなら
Webで見たことがあるような気もするが・・・。
814デフォルトの名無しさん:02/08/30 03:10
すいません。勘違いしていました。申し訳ありません。m(_ _)m
815812:02/08/30 03:12
あぁ。。。またまたすいません。名前のところ。。。PC音痴でほんとすみません。
816デフォルトの名無しさん:02/08/30 04:12
TextBoxとかのFontを変更しようとしてプロパティいじるととたんにCPU使用率が100%になる
これは仕様ですか? それともMSのイキなサービス?
Fontサイズ変更するだけで5分くらいかかるよ・・・・(´Д`;)
817デフォルトの名無しさん:02/08/30 04:23
SaveSetting で保存したレジストリの値を実際に目で確認するにはどうしたらいいですか?
>>816
うちではそんなこと起きないけど…。
OSの環境が腐ってるか、フォントを大量にインストールしすぎか、多分そこらへん。

>>817
レジストリエディタで
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\...
を見る。
ちなみに、VBをアンインストールすると、ここに保存されたキーをごっそり
削除していきやがります(;_;
>ちなみに、VBをアンインストールすると、ここに保存されたキーをごっそり
>削除していきやがります(;_;
うへぇー知らなかった。
マジで。
俺が作ったのならいいけど、他人が作ったソフトの設定もたくさん入ってるのに。
820デフォルトの名無しさん:02/08/30 09:42
ホイールでソースコードエディタがスクロールしないんだけど
俺だけかな?

本体:VAIO PCG-R505R/AK
マウス:Logitech 光学マウス(USB)
OS:Windows2000 SP3
VB:VB6.0 SP5

助けて。
>>820 MSの陰謀のにおいがぷんぷんします。
>>820
またかよ。少しは過去ログ見ろ
>>822
激しく同意。
824デフォルトの名無しさん:02/08/30 10:31
>>820
過去ログにあった?
このスレ全部見てるとおもったんだけどなぁ。

過去ログ逝ってきます。

先にお礼を言っておきます。ありがとう。
825デフォルトの名無しさん:02/08/30 10:32
>>816
Windows9xの場合フォントキャッシュが破損、または肥大している可能性があります。
%windir%\ttfCacheを削除してみてください。
IconのハンドルからPictureオブジェクトを作る方法ってわかります?
ちなみにハンドルの取得方法はExtractAssociatedIconです。
827デフォルトの名無しさん:02/08/30 10:36
AccessVBAを使っています。超初心者です。
フォームからデータを入力する際に、最初に入力した「作成日時」と途中で変更があったときの「変更日時」
を取得したいのですがどのようにすればいいのでしょうか。

調べてみましたが分かりませんでした。
すみませんがよろしくお願いします。
初心者は免罪符にならないって誰かが言ってた。
俺もそう思う。
829827:02/08/30 10:56
>>828
気取るなハゲ
830827:02/08/30 10:57
>>829は偽者です。
免罪符って、そもそも効果がない詐欺商法だったのだから、
免罪符になってもやっぱし意味がない罠。

>>824
直近で出てるぞ。744-757
個人的には、どこでもホイールがおすすめ。
どこでもホイールって嫌いなんだよ・・・名前が。いや使ってるけどね。
833827:02/08/30 11:11
一生懸命ナニしました〜♪
産休♪
834827:02/08/30 11:17
>>833も偽者です。
835827:02/08/30 11:18
>>833は偽者です。
>>827
わざわざ超初心者とか書いて甘えようとするから
叩かれるんだよな。余計なこと書かなきゃいいのに。
>>827ウゼー。
騙りの一匹や二匹でいちいち騒ぐな
838827:02/08/30 11:32
>>836
超初心者と書いたことについてはあやまります。これから気をつけます。
今回は見なかったことにして下さい。

>>837
連続カキコスマソ。書き込まれてないと思った。

あらためて回答お願いします。
>>827

831が
>>744-757
に書かれてるって教えてくれてんべが?
>>839
それホイールの話だろ 827のはAccessの話だぞ
841839:02/08/30 11:50
あ、ホントだスマソ
ホイールの方の質問をした824です。

すいませんでした。こんなに近くにあるなんて・・・。

どこでもホイール入れました。
無事スクロールしました。

また常駐ものが増えてしまいましたが、
とりあえずは満足しています。

ありがとうございました。そして迷惑かけてごめん。
>>827
なんか言っている事が分からないけど、

フォームからデータの入力と作成日時と更新日時との関連がわからん。
最初に入力したときの作成日時と更新日時のデータが保存されて無ければ無理だろう。

もし最初に入力した際に何かしらのファイルが作成されるのであれば、
その二つの時間を取得するAPIはあるよ。

"作成日時 更新日時 API"でグーグレば見つかるんじゃね?
>>711-713
ありあっと。

時間が無かったので、新規に非表示FROMを作って
それをクラスのように使用することにしました。
(結局コンポーネントをそのまま使用)

いわゆる負けたって奴です。
845デフォルトの名無しさん:02/08/30 13:00
>>801
&(文字列連結)を使うと遅いのは有名な話ですが、値の変更を伴わない、単なる検索処理でも
文字列が大きく(概ね1M以上)なると、遅いのでどうしようもないのです。
>>845
それを実証してくれ。
847デフォルトの名無しさん:02/08/30 13:16
>>846
Instrとか、InstrRevで1M強程度の文字列(日本語文書)からキーワードを
検索したら、秀○の10倍以上掛かった記憶があります。

無論、ラフでアバウトな体感値なので、ベンチマークと言えるような厳密
なものではありませんが。
リッチテキストボックスのFindメソッドなら、あるいはもっと速いのかも
しれないが、逆方向の検索(InstrRevに相当)ができないようなので、×。
(だと思う)

- 以上 -
>>847に自己レス。

100K〜200K程度の比較的小さな文字列なら、10倍20倍程度の実行速度差は
ほとんど気になりません。
>>827 もうちょっとまともな文を書いてくれ。読んでてイライラする。

フォームからデータを入力する際

入力画面で、レコードからデータを画面に出力する際

最初に入力した「作成日時」と途中で変更があったときの「変更日時」

レコードの項目「作成日時」と「変更日時」

取得したい

ラベルに出力したい、変数に格納したい、etc

って事か?どこに保持されてるデータをどこに出したいって事ぐらい超初心者でも書けるだろ。
850827:02/08/30 14:33
皆の素敵な意見募集。
String型の接頭痔はstrがよく使われると思うんだけど、
構造体の接頭痔ってナニ使ってる?
851デフォルトの名無しさん:02/08/30 14:35
>>850
struct
852827:02/08/30 14:41
structすっか。
3文字に略そうかと思ったんだけどうまく略せなかったんだよネ!
>>850
udt
一応VB推奨の接頭辞。cf:定数と変数の名前付け基準
使ってる所ほとんと見ないよーな気もするが…。
>>847
試しに乱数で作った1MBの文字列変数から、丁度中央に置いたキーワードを
instrで検索してみた。そしたら4msぐらいで終わっちゃったYo!
16MBで試してみたら70msぐらい。案外速いかもね…。
ちなみにVB6のインタプリタ上。

でも、16MBの文字列の生成にはすげー時間かかった(w
バイト配列を1600万回ループさせてランダム文字作成するのに7000ms、
それをstrconvで文字列変数に変換するのに1400msぐらい。
&で試す勇気はない(^^;
855デフォルトの名無しさん:02/08/30 15:48
VB6で、変更した記憶が無いのにいつのまにか
コントロールの width, height, top, left の値がとんでもない値に書き換わっていることがたまにあります。

他の方はどうでしょうか?
856デフォルトの名無しさん:02/08/30 15:57
プロジェクト全体のon errorのエラートラップを
一発で無効にする方法はありますか?
やっぱりon errorをコメントアウトしていくしかないでしょうか?
置換すれば?
>>826
OleCreatePictureIndirectとか
>>857
やはり置換しかありませんか・・・・・
そうします
>>856
IDE上だけでよければツール-オプション-全般タブのエラートラップを「エラー発生時に中断」にすれば
すべてのエラートラップは無視されるよ。
861デフォルトの名無しさん:02/08/30 16:21
>>855
とんでもない値ってのがどんな値だかわかんないけど、複数人数で開発している場合、
最後にプロジェクトを開いた端末のディスプレイの設定によってそれらのプロパティは
微妙に書き換わってしまいますよ。
>>860
おお!そうですか
このオプションみたのですが、関係なさそうだとおもって
素通りしてしましました。
ありがとうございます。
デバッグ時のときだけエラートラップはずす方法あるんじゃないかなーとおもって
いろいろ調べてました。
感謝いたします
ALT+F5 や ALT+F8を知らない人が多いような気がしないでもない。
864デフォルトの名無しさん:02/08/30 16:45
>>855
うっかり手が滑って・・・ということもあるので、ケアレスミス防止用に、
コントロールをロックしてみてはどうでしょうか。
(フォームをデザインビューで右クリックすると、コンテクストメニューの
中にあります)
φ(..;)メモメモ >>863
>>855
SDI環境で開発していると、VBの終了・起動を繰り返すとFormのTopの値がどんどん
大きくなっていって、ついには画面外に消えちゃうことなら良くあります。
たしかバグだった気がするけど、修正される雰囲気無いですねぇ…。VB6SP5です。
867質問主ではないのですが:02/08/30 17:33
>>349のヤツってVB6でも使えますか?
>>867
訊く前にやってみろっつーの


' ウィンドウプロシージャの新しいアドレスを設定
Public Const GWL_WNDPROC = (-4)


で怒られました。。。。
>>869 なんて?
>>869 ねぇなんて?
872デフォルトの名無しさん:02/08/30 18:09
>>863
φ( ゜゜)ノ ゜ぽぃ
873デフォルトの名無しさん:02/08/30 18:50
すんません・・・これどういう意味ですか 
Dim y As String
Mid(y, 5, Len(y))
874デフォルトの名無しさん:02/08/30 19:02
文字列yの5文字目以降を取得するってことだろう。Len(y)を
省略しても結果は同じ。
875874:02/08/30 19:03
Dim y As String
Dim x As String

x = Mid(y, 5)

のつもりじゃないかな〜。
876873:02/08/30 19:13
うーん・・・ほんとわけわからん

If InStr(y, "_:SA") Then
Text1 = Text1 + Mid(y, 5, Len(y))
End If
ってなってるんですよ・・・( ´・_・`)
ちなみにyってのは文字列っていうよりデータを入れとく変数のようなのです
だから余計意味わからん・・・
>>876
yに入る文字列の意味を聞けよ。
878デフォルトの名無しさん:02/08/30 19:34
Visual Basicのオススメの書籍とかないでしょうか?
879デフォルトの名無しさん:02/08/30 19:58
下のようなソースを実行すると「なんで?」が表示されるんですが、
なんで?
sub a から実行すると、sub b の on error resume nextのところで次の行のerror 1はとばされてresumeが実行されそうなんですが、
なぜかerror 1のところで sub a のエラールーチンに飛びます。



sub a
on error goto err1
call b
exit sub
err1:
msgbox "なんで?"
resume
end sub


sub b
on error goto err1
error 1
err1:
on error resume next
error 1
resume
end sub
880デフォルトの名無しさん:02/08/30 20:00
>>879
修正

sub a
on error goto err1
call b
exit sub
err1:
msgbox "なんで?"
resume
end sub


sub b
on error goto err1
error 1
exit sub
err1:
on error resume next
error 1
resume
end sub
>>878
この本いいよ。ていうか読んでおくべき。確か過去スレでも何度か薦められてたはず。
http://store.nikkeibp.co.jp/item/main/148910013480.html
( http://store.nikkeibp.co.jp/item/main/148910013560.html )
882デフォルトの名無しさん:02/08/30 20:11
>>876
yの先頭が"_:SA"であるという前提で、Text1にそれを除いた文字列を格納する処理なんじゃないの?

If Left(y, 4) = "_:SA" Then

のつもりでは?
>>873
もし変数yに"_:SA"が含まれていればText1の文字列に変数yの5文字目以降を追加するという意味だよ。
ヘルプ見りゃわかるだろうが。
884876:02/08/30 20:18
>>882 これ実はWinsockのサンプルなんですよね 
で、"_:SA"ってのは何か暗号?見たいな感じでサーバーとクライアントに共通してるのです
例えばクライアントがログインしたら"_LI"をサーバーに送るって感じです
だから実際のフォーム上には"_:SA"とかは表示されないんです  
ってかクライアントがログインしても何も表示はされないんですよね 
サンプル自体がおかしいのかな?
885デフォルトの名無しさん:02/08/30 20:21
>>884
>実際のフォーム上には"_:SA"とかは表示されないんです
むしろ表示しないために>>876のコードがあるんでしょ?
886デフォルトの名無しさん:02/08/30 20:23
>>880
エラーハンドラでエラーが発生した場合、無条件にエラートラップされない致命的エラーとなります。
その致命的エラーが上位モジュールでエラートラップにハンドリングされています。
詳細はMSDNを参照してください。
887デフォルトの名無しさん:02/08/30 20:26
>>884
>クライアントがログインしても何も表示はされないんですよね 
>サンプル自体がおかしいのかな?

クライアントとサーバーの線はちゃんとつながってる?
888876:02/08/30 20:31
>>887 もちろんそれはカンペキです
889デフォルトの名無しさん:02/08/30 20:32
>>888
本来なら何が表示されるべきなの?
>>886
φ(..;)メモメモ
勉強になりました。
>>888 ていうかyの中身ぐらい出せよ。
892876:02/08/30 20:38
>>888 これは「サーバーが閉じているかどうか」 です
If InStr(y, "_:CS") Then
Winsock1.Close
Text1 = Text1 + "Server Closed" & vbCrLf
End If
IEのお気に入りみたく、メニューの中身をドラッグで移動させるには
どうしたら良いのでしょうか。
894デフォルトの名無しさん:02/08/30 20:46
>>892
自分にレスしてどうすんのよ。しかも別のコードになってるし…。

適切に質問する能力がないと回答は得られないよ。


























ヴォケ
>>892
送信データの先頭5文字を通信の約束事に使ってるだけだろ。
"_:CS"←CloseServerの略なんじゃねーの。
そのサンプルを置いてたページの説明なり、ReadMeなりちゃんと読め。

で、Mid関数で5文字目から切り出せば、その約束事の部分は画面には
表示されないっちゅう話だろ。
896デフォルトの名無しさん:02/08/30 21:25
下記の状態でrs.closeで、「このコンテキストで操作は許可されていません」
とでます。どうしたらrs.closeを実行できるのでしょうか


sub a

on error resume next
rs.open 〜
error 1

exit sub

err1:
rs.close <-----------------ここ

end sub
あるウィンドウのマウスカーソルがOSとは別物の場合、
マウスカーソルを強制的に移動させるSetCursorPosを使用しても、
移動させることが出来ませんでした。

OS自体に擬似的にマウスカーソルが移動したという認識を
させることは出来ないでしょうか?

わかりにくかったらスイマセン。
>>896
Recordsetは開けているのか。
rs.Stateで見れ。
>>897
VMWareなどの仮装OSってことかい?
899デフォルトの名無しさん:02/08/30 22:42
>>898
あいてます。
If rs.State = adStateOpen Then rs.Close
これでも同じくエラーが出ます。
900デフォルトの名無しさん:02/08/30 22:45
>>896
掲示されたコードではrs.closeは実行されません。
>899
普通にExit Subの前にClose持ってきて閉じれるのか。
902897:02/08/30 23:05
>>898
レスありがとうございます。
VMWareについてGoogleで調べてみましたが、微妙に違いました。
OSに対して、マウスが動いたというメッセージを送り、
それでマウスが動いた処理が行われる状況に出来れば良いのかと
考えています。
SendMessageやPostMesseageについていまいち分からない為、
なんとも言えないのですが、その辺なのでは無いかと思っています。
>>902
VMWareじゃないソレに対し、なんで何も表記せんの?
やばいもの?
904897:02/08/31 00:10
やばいかもね^^;
まあ気にせんでください・・・
905デフォルトの名無しさん:02/08/31 04:52
厨房な質問で申し訳ないんですが「$」って何の意味があるんですか?
>>905
Stringって何の意味があるんですか、って君が訊かれたらどう答えるね?
「ヘルプ見ろゴラァッ!」ってならないかな。
>>901
閉じれます
908デフォルトの名無しさん:02/08/31 11:31
ひとつのクラスモジュールでプロパティの中に更にプロパティやメソッドを作る方法って?
こんな感じ => Text1.Font.Bold
>>908
コンポジション。
>>908
Fontオブジェクトを持ってるだけ。
>>905
Sと明記せずにぼかしたいときに使う。
例) M$、$UN
912デフォルトの名無しさん:02/08/31 13:58
プログラムのことじゃないんですが質問です。
VB6を開くとプロジェクトを開くダイアログ ボックスが出ますよね?
あの中の[最近使ったファイル] タブ の一覧を削除したいんですが、
どこで削除できるでしょうか?
レジストリを探してみたんですが見つけれませんでした。
Sampleを色々見てたらすごい数になっちゃって
誰かわかる方教えてください。宜しくお願いします。
>>912
削除汁
HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\RecentFiles
914908:02/08/31 14:44
>>909
いろいろ調べたのですが具体的な方法がわかりませんでした (T_T)
(これって複数のクラスを使う?)

>>910
例えがわるかったですスマソ

・・・なんかだめっぽいんであきらめます (´・ω・`)
915912:02/08/31 14:55
>>913
ありがとうございました。
>>914
Integerのプロパティの変わりにクラスのプロパティを作るだけだよ。
917908:02/08/31 16:20
>>916
別のクラスモジュールのプロパティを作る、というのはわかるのですが
クラスモジュールひとつだけで実現する方法がイマイチわかりません
(初心者なだけに見当違いなコトいってる? or 最初の質問がマズかった?)
>>917
オブジェクトブラウザ等で調べればわかるがText1.Font.Boldは
TextBox型のText1とStdFond型のFontとBoolean型のBoldからなっている。
VBはクラスモジュールのファイル=クラス(型)なので二つの型を作るなら
二つクラスモジュールが必要。
パブリッククラスの中のパブリックユーザ定義型ならひとつのファイルで作ることもできるが。
919908:02/08/31 16:46
>>918
つまりこゆことやるには複数のクラスモジュールが必要だと
フツーなことを知らないんでそれがわかっただけでも収穫です
どうもありがとうございます!
920910:02/08/31 17:34
>>919
あまり意味はないが、こんな風にすると一つのクラスモジュールだけでも
そういうことはできるぞ。

' Form1モジュール
Option Explicit

Private Sub Form_Load()
    Dim c As Class1

    Set c = New Class1
    c.Prop = "あいう"
    Debug.Print c.Prop
    Debug.Print c.Self.Prop
    Debug.Print c.Self.Self.Prop
End Sub

' Cass1モジュール
Option Explicit
Private s As String

Public Property Get Prop() As String
    Prop = s
End Property

Public Property Let Prop(ByVal value As String)
    s = value
End Property

Public Property Get Self() As Class1
    Set Self = Me
End Property
921910:02/08/31 17:35
ま、基本的には複数使うけどね。
922デフォルトの名無しさん:02/08/31 18:27
クールバーの上にメニューが乗ってるUIが最近流行ってますよね。
それをVBでも再現してみようと思って、ずーっと考えてたんですけど、
どうも出来ません。

ツールバーにボタンを追加
   ↓
キャプションを設定
   ↓
キャプションの配置はTBSTYLE_LIST(右揃え)
   ↓
各ボタンにTBSTYLE_AUTOSIZEをセット
   ↓
クールバーに乗せる

っつー流れまでは分かったんですけど、力不足で実装できません。
結局キャプションの左側にポカーンと空間が空いてしまいます。
助けてください(´・ω・`)
>>922
VBじゃできねーよ。VBなんてやめとけ。
>>923のいうコトは無視。やり方調べてみる。
>>922
それ、俺も悩んでる。
キャプションの幅が一番でかいのに合わせられちゃうんだよね。
どうしてもうまくいかない。
俺もそれ知りたい。
>>924に禿しく期待。
じゃあ俺は>>923に同意。
全部自分で描画すればどんなインターフェースだってできるよ
とかほざいてみる。
Windows2000にユーザを追加するにはどのAPIを使えばいいの?
929923:02/09/01 10:41
>>924
もうそろそろわかったか? 調べるだけ時間の無駄(w
VBなんかやめとけ。

>>927
作れるもんなら作ってみろって。推測だけで物を言うなよ。

あっそうそう。メニューなんだからもちろんショットカットキーも使えるよな。
930879:02/09/01 10:42
rs.closeのcloseのMSDNみてみると、
オープンさえしていれば、いつでもクローズできるわけではないみたいでした。
ってか>>923はなんでVBスレにいるんだ?
>>931
他の言語を使ってるんだがレベルが低くてVBを馬鹿にしに来た、そんな感じ。
まあそろそろ夏も終わりですから、帰るべき所へ帰るんのでわ。
こんなこと書くとたぶん「いっぱい釣れた(w」とか言い始めるんでしょうが。

        ゴガギーン
             ドッカン
         m    ドッカン
  =====) ))         ☆
      ∧_∧ | |         /          / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____    ∧_∧   <  おらっ!出てこい >>923
     「 ⌒ ̄ |   |    ||   (´Д` )    \___________
     |   /  ̄   |    |/    「    \
     |   | |    |    ||    ||   /\\
     |    | |    |    |  へ//|  |  | |
     |    | |    ロ|ロ   |/,へ \|  |  | |
     | ∧ | |    |    |/  \  / ( )
     | | | |〈    |    |     | |
     / / / / |  /  |    〈|     | |
    / /  / / |    |    ||      | |
   / / / / =-----=--------     | |
935923:02/09/01 17:04
>>934
よんだか(w
>>924が調べると言ってから一日くらい待ってやるつもりだったんだがな。

>>931
質問してるから俺が知っていることを書いただけじゃねーか。

>>932
まぁ確かに他の言語のレベルは低いかもな。正確には経験が少ないというだけだが。
でもVBのレベルは高いよ(w

>>933
別に今回は釣れたなんて頭悪い事言わないよ(w

で結局俺が言ったとおりVBじゃできねーんだろ。難しいこと(w)にVB使うなって。
VBは低機能なコンポーネントをそのまま使ってりゃいいんだよ。
でなきゃVBなんてやめとけ。
>>922-923=935
クールバーが難しいねー・・・・。


http://www.int21.co.jp/pcdn/vb/onepoint/knvol0811.html

まあ、これで我慢してなさいってこった。
いやぁ、「VBでやる」ことに意義があるんだろ?
VB6でランダムアクセスファイルの名前とレコード長をiniファイルから取得し、
その設定でファイルを開こうとしているのですが…

Dim FileNum As Integer
Dim FileName As Variant
Dim RecLen As Integer
Dim RecData As String
Dim RecNum As Integer

  FileName = "なんとか.dat" '(iniファイルより取得)
  RecLen = iniファイル設定値' (iniファイルより取得)

  FileNum = FreeFile
  Open FileName For Random As FileNum Len = RecLen

  For RecNum = 1 To LOF(FileNum) / RecLen

    Get #FileNum, RecNum, RecData

   '(レコードの処理)

  Next RecNum

当然、Getステートメントでエラーになるわけでして…
こういう場合は、どうすればファイルの内容を参照することができるのでしょうか??
>>938
RecDataを、取得したい文字数だけ配列にしてみれ。
940まめ:02/09/01 19:42
テキストの指定行のみ読み込むにはどうすればいいのでしょうか?
941938:02/09/01 19:59
>>939
お答えありがとうございます。
申し訳ないです、もう少しヒントをオネガイします…ごめんなさい、バカで
>>941
Dim RecData As String * 20

とかの固定長型の文字列にしても20バイト分読み取れるのでは?
943938:02/09/01 22:06
>>942
レスどうもです。

おっしゃるとおり、RecDataの長さを宣言すればエラーは無くなるのですが
今回は、RecDataの長さの値を外部から持って来たいので、
As String * (長さ)とソース内に埋め込んでしまうと意味がなくなってしまうわけです。
しかし宣言しないことにはエラーが出るわけで…。そこで悩んでます。
944デフォルトの名無しさん:02/09/01 22:52
勉強しようと、世の中に糞の役にも立たないプログラムを
つくっているのですが、用語もわからず検索できないので
初心者質問させていただきます。

ラベルをクリックしたら色が変わって
2秒で元の色に戻るという事をしたいのですが、
2秒の時間を止める処理はどのようにすればできますか?
>>944

Wait(Now + TimeValue("0:00:02"))
>>943
RecData = String(20," ")

とでもすれば20バイト分” ”で埋まる=領域を取れる。
947デフォルトの名無しさん:02/09/01 23:17
>>940
ファイルサイズを書かない時点で失格。

948944:02/09/01 23:21
>945
ありがとうございます。
さっそくそのまま貼り付けたのですが、
「sub または functionが定義されてません」
と言われます。waitというのをMSDN検索しましたが
何がなんだか…。
そのままじゃだめですか?くだらない質問で何度もすみません。
>>948
タイマーコントロールをググれ。
>>945のレスはネタくさいが。

つーか
2秒の時間止めるってどういうことだ??>>944
日本語しゃべれ。
>>948
こんな?

Private Sub Label1_Click()
????Dim time1 As Long
????Dim time2 As Long
????
????time1 = Val(Timer)
????time2 = Val(Timer)
????
????While time1 + 2 > time2
????????time2 = CLng(Timer)
????????DoEvents
????Wend
????
????MsgBox (time1 & Chr(13) & time2)
????
End Sub
952951:02/09/01 23:43
Operaで書いたら化けやがった
953944:02/09/01 23:55
>951
あああありがとうございます!
コードの意味はわかりませんができました。
ゆっくり勉強します。

>2秒の時間を止める

我ながらアホな日本語…


>>951

>time1 = Val(Timer)
>time2 = Val(Timer)

time1 = Val(Timer)
time2 = time1

の方がいいね。
955951:02/09/01 23:59
>>951
あらホントですね。
書いてて何か気持ち悪さを感じたのはそのせいか…。
>>940
シーケンシャルファイルなら、その指定の行まで読み飛ばせ。
その行だけ取得することはできない。

>>942
その表現は20バイト分ではなく、20文字分だ。細かいツッコミだが、
ランダムアクセスをやる上では超重要事項だ。
FileSystemObject 使ってます。
FolderオブジェクトのFilesコレクションを扱うときにわからない事がありましたので、
質問させてください。

Filesコレクションから直接ファイルパスを取得しようとする場合、

Dim oFolder as Folder
Set oFolder = ofs.GetFolder("---パス---")

Dim sFilePath as String
sFilePath = oFolder.Files(0).Path

等とやると思うのですが、

sFilePath = oFolder.Files(0).Path

の部分で、「プロシージャの呼び出し、もしくは引数が不正(エラーNo.5)」と出てしまいます。

For Each 構文でファイルを列挙し、パスを取得する事はできるのですが、
以上のように、Filesコレクションから直接ファイルパスを取得する事は出来ないでしょうか?
958957:02/09/02 06:21
書き忘れましたしたが、環境は以下の通りです。
Windows2000 SP2
VB6 SP5
IE6
scrrun.dll(5.6.0.6626)
959908:02/09/02 07:28
>>920-921
亀レスですがスマソ
960デフォルトの名無しさん:02/09/02 12:30
>>957
> sFilePath = oFolder.Files(0).Path
> の部分で、「プロシージャの呼び出し、もしくは引数が不正(エラーNo.5)」と出てしまいます。

Filesはコレクションなのでかっこで指定する値はインデクスではなくキーを指定する必要があります。
僕が調べたところではFilesコレクションはファイル名をキーとしているようなので、
oFolder.Files("foo.txt").Path
と指定すれば
C:\foo\foo.txt
のようにパスを取得できます。
961デフォルトの名無しさん:02/09/02 13:06
VB6.0でTCPによるソケット通信アプリを作りたいのですが、
サーバ上でサービス化させたいためにWinsockコントロール
が使えません。代わりになにか、Winsockコントロールと同等
の働きを実現するAPIだとかDLLのようなものがありましたら
使い方とともに教えてください。お願いします。

「スレ立てるまでもない・・・」でも質問したのですが、こちらの方が
適所かも。ということでマルチポストスマソ


962961:02/09/02 13:08
ちなみにWinのNT4.0にアプリを置き、98SEと通信します。
>>961
コントロールという基本的な用語すら間違える。
Winsockと言うAPIセットの存在すら知らない。

プログラマとしての実力を疑ったため放置しました。
>>963
             ∩
                 | |
                 | |
        ∧_∧   | |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
  / ̄\  ´Д`)//  < 放置できてねーよ!!!
.r ┤    ト、      /    \_______
|.  \_/  ヽ  /
|   __( ̄  |  |
|    __)_ノ ̄ ̄ ̄ ̄\
ヽ___) ノ          \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||
実力がある人しか答えてもらえない初心者質問スレ(w




もちろん皮肉です。>>963への。
つーか>>963がちょっと知恵つけただけのガキだし。
>>965
初心者と初心者未満のバカは明確に区別されます。
割と常識ですが。
>>965-966
自演必死だな。
>>963 >>968
自演必死だな。
970961:02/09/02 14:02
>>963はどうでもいいです。答えられないだけのようですから。
他の方、どなたか知っていたら教えてください。
>>969
隠してるつもりはないけどね。

違うって言わないところを見ると>>965-966は正解みたいだな。
それだけで俺は満足さ。
972961=965=966=969:02/09/02 14:03
早く答えなさい。本気を出しますよ?
973966:02/09/02 14:04
>>971
やっぱりか。俺は>>965じゃねーよ。自己満足さん。



         V B 厨 バ カ ば っ か ( 藁



>>974
そうだな。>>963がバカなのは認める。
976965:02/09/02 14:12
966じゃないよ。
961=965と言われるかと思ったがそっちに来たか。
満足させられずにごめんね>>971
しかし965=966だと満足感が得られる、というのは俺には理解できない世界だな。
俺が思うに970=972=974 (961,965,966,969ではない) だな。
978970、972、974のうちの一人 :02/09/02 14:24
>>977

は・ず・れ
誰か>>961を分かる日本語質問分にしてくれたらsocketに関して答えてあげてもいいよ。
>>979
日本語質問分って日本語ですか?
981979:02/09/02 14:29
間違った日本語です。
982デフォルトの名無しさん:02/09/02 14:29
>>980

そういうこというとまた980=961とか言い出すだろ? ヴァカ厨が。
すぐに自演、ネカマ、ネタで結びつけるやつは(略
>>981
つまり彼は自分が覚えている日本語がおかしいことに気付かずに>>961の正しい日本語を
矯正しろと言っているってことですか?
>>957 >>960
ほんとだね、Indexを数値にするとダメだ。

Private Sub Form_Load()
  Dim oFso As FileSystemObject
  Dim oFolder As folder
  Dim oFile As file
  Dim n As Long

  Set oFso = New FileSystemObject
  Set oFolder = oFso.GetFolder("c:\temp")

  For n = 1 To oFolder.Files.Count
    Debug.Print oFolder.Files.Item(n).Path '実行時エラー'5' プロシージャの呼び出し、または引数が不正です。
  Next

  'こっちを使え
  For Each oFile In oFolder.Files
    Debug.Print oFile.Path
  Next
End Sub
>>979
>>961ってそんなに変か?
変って言ってる奴が何か勘違いしているだけじゃないのか。

>>961
Winsockコントロール(言うまでもなくこれはAPIじゃない)はサービスにしても使えると思うが。
>>985

>>961がバカなのは確かだな。
>>984
なぜ数値じゃだめなのか勝手に推測。

もしIndexに数値を使えたとする。
するとIndex番号0のファイルなのかファイル名0のファイルなのか区別がつかない。
一見Files(0)とFiles("0")のように文字列型と数値型で区別できるように思える。
しかし、FileSystemObjectはWSHで使うことを考慮している。
WSHではデータ型はバリアント型しかない。
ゆえにIndexに数値は使えない。
>>988
単に数字のキー名にデータがmapされてないだけでは?
990961:02/09/02 14:51
>>985
やっとまともなレスをいただき感激です。

>Winsockコントロール(言うまでもなくこれはAPIじゃない)はサービスにしても使えると思うが。

アプリを動かすPCはサーバー機なので常時ログオフの状態にしておきます。
そうするとフォームにTerminateイベントが発生してしまうと思われます。
その状態でもWinsockコントロールを動かすことは可能なのですか?
>>988
>するとIndex番号0のファイルなのかファイル名0のファイルなのか区別がつかない。

通常、そう言うポリシーの異なる2つ以上の名前付けは1つのコレクション内で行うべきではない。
数字で参照させるなら数字をキーに。ファイル名で参照させるならファイル名をキーに。

たまたま、その仕様がファイル名で参照させるタイプであっただけ。

「仕様」以上の答えはないと思われ。
>>990
ああ、WinSockコントロールをエクストラストラクチャとしてWindowsに登録すれば良いんだよ。
Dynamicキーワード使ってね。
やっぱりというか、なんと言うか。
>>961>>990では全然質問の意味が違うじゃねーかYO!
>>993
ほら、既に言葉の定義すら本人の中で固まってない。
VBのいい加減でも通る柔軟な構文の賜だ。
995961:02/09/02 14:59
>>992

そんな方法があるんですか!?
でも難しそうなのでちょっと調べてみます。
「Dynamicキーワード」がキーワードですね?
>>993
それは>>985が新たな情報を与えたため。
>>994
お前ウザイよ。
998961:02/09/02 15:02
皆さんVB歴は何年ですか?
私は2ヶ月です。
それ未満の人は私の質問に答えないでください。

それでは質問の答えをお願いします。
999
うんこ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。