(´-`).。oO(VB初心者質問スレ Part11)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレはこちら
  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/test/read.cgi/tech/1022127528/

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

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
2デフォルトの名無しさん:02/06/18 15:09
スレ立て乙〜
3デフォルトの名無しさん:02/06/18 15:13
>>1
スレ立て乙カレー
凹カレー
5デフォルトの名無しさん:02/06/18 16:36
                ,,. -‐''''''''''''''''''''''‐- 、
             , ‐'":::::::::::::::::::::::::::::::::::::::::::`'‐、
           /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
           / ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ヽ
         /    ::::::::::::ri:::::::::::::::::::::::::::::..........,,,,,,,,,,,,',
          /:::::::::::;::::::/::::/! i:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;i
        i::::|::::::;i:::::/l:::/ | ';:::::ト;::::::::::::::::::::::::::;;;;;;;;;;;;;;;;i
        |:::|:::::/|::/ |:/. | ヽ;::l ヽ:::i丶::::';:::::::;;;;;;;;;;;;;;;;;i
        |:::|::/ !/ _レ=@ v、::i ヽ:', \::i丶:;;;;;;;;;;;;;;;;;;|
        |::::i:;', '''''"       ヽ ̄ ヾ''''\:::::;;;;;;;;;;;;;;;;;;|
        |:::::::;;', -─‐-     -──-- i::::::;;;;;;;;;;;;;;;;;;|
        |:::::::;;;i |   l       l   |  |::::::;;;;;;;;;;;;;;;;;;|
        |::::::::;;;l.|  |         l   |  |::::::;;;;;;;;;;;;;;;;;;|
        |::::::::;;;;i|  |        l  |  !:::::;;;;;;;;;;;;;;;;;;;|
        |:::::::::;;;;;:ヽ ,|  r───、|  |-'|::::;::;;;;;;;;;;;;;;;;;;|    2ゲットできへんかった
           |:::::::::;;;;;;;;;;;;;`''- ニ,─--,' ‐='"''"|::::;;:;;;;;;;;;;;;;;;;;;;|
         |::::;;:::;;;ri;;;;;;||::/ `i ̄i.:.:.|:.:.:.:i:.:|::::;;;;;;;;;;;;;;;;;;;;;;;|
            |:::;;;;::;;;l.';;;;;y'    '':.:.:.:.:.:.:''' |::::;;;;;;;;;;i`ヽ;;;;;;|
         |:::;;;;;;;;;| '/、              |:::;;;;;;i;;;/_,. へ;|
            ';:|';;;;;;;l i、 ``''ー---------‐,l::;;;;;/リ  _,,..ヘ
           '! ヽ;;V. `|''ー-- ....,,,,,,,,,,,,,,..../:;/-‐''''"   '、
             i'ゝ‐|-...,,,_     i/   l_,,. -‐''"´ |i
               l |/| l  ハ  ̄ハ''''''''''''r、""ヽ |/  \| ',
            l   | V  ヽ./  \  / ヽ /ヽ     ',
6デフォルトの名無しさん:02/06/18 16:45
VB.netで作成したアプリケーションは、どのOSで実行可能
なのでしょうか? XP、2000、NT4.0、98あたりは大丈夫だと
思うのですが、95はサポートされないのでしょうか?

MSサイトを見ましたが、開発環境の必要システムの記述は
ありましたが、実行環境がわかりませんですた。
>>6
それとFreeBSD

それぞれのOSに依存するライブラリがあるので注意。
8デフォルトの名無しさん:02/06/18 17:36
msgboxのダイアログが表示されたとき、
IMEが利用不可(右下で、ツールバーが消えるか、禁止マークがかかる。)
となりますが、これはどうやるんですか?

単にIMEモードをOn, Off する方法はわかったんですが、
これが出来ません。
9かおりん祭り:02/06/18 18:30
  〜oノノハヽo〜
     ( ^▽^)/⌒\                       , −-
     ((ニ[二=(  新スレおめでとうございま−−==≡≡す♪  ))
   /∧=:||  \_/                       `ー‐‐'
     じ/___/
10デフォルトの名無しさん:02/06/18 19:09

                  /)
             、2)Y⌒  ⌒フ   +
           ッ-i'´       ⌒フ
           (´ ,.-゙ー-、     ろ、
        * シ彡ノ"ミVv    )
      *    ノノノノ"ヽヽヽミ   シ  / ̄ ̄ ̄ ̄ ̄
.          ,l')∩  ∩ |)|ヾ ミ  <新スレおめ!!
           ,○)、 ▽  ノjl| YY゙    \_____
           {_∃ `l____/⌒'i|
            ̄ Yl"゙⌒lY |  +
              ,ト|__/ハ i、
           ,iニiニiニユ ゙h,,)
           ノtYTYヾ\
          /''フ''''ー<"ヽ、
           /__ノ     \ノヽ、
          (__)     ゞ__)
11デフォルトの名無しさん:02/06/18 21:19
新スレおめでとうございます。

さっそくなんですが、テキストの改行について、ちと教えてもらいたいことが。。。
複数行をオンにしてあるテキストボックスにテキストを入力し、それを複数行をオフにしてあるテキストボックスに表示させると、「○○○・・○○」というふうになるでしょ?
これを、「○○<BR>○○」などという風にしたいのですが、どうすればいいのでしょうか?

キタ━━( ´∀`)・ω・) ゚Д゚)・∀・) ̄ー ̄)´_ゝ`)`Д´)-_-)冫、 )ノД`)=゚ω゚)━━!!!!
13即レス ◆POP.SOKU :02/06/18 22:28
>>8
TextBox使ってるならIMEMode。
いつでもどこでも自由に変更したいなら
ImmDisableIME(API)かな。

>>11
TextBox2.Text=Replace(TextBox1.Text,vbCrLf,"<BR">)
148:02/06/18 23:11
>>13
ありがとうございます。

MsgBox風なので、TextBox 等はありません。

でもImmDisableIMEというのはMSDNにはあったんですが、
Win32Api.txt にはなくてこまってしまいました。
15質問です:02/06/18 23:18
新スレになったのですか。オメデトウゴザイマス

質問というのは
ListViewのカラム部分をクリックしたときに
Windowsのエクスプローラーの
「サイズ」のカラムをクリックしたらサイズで降順、昇順にソートする
「ファイルの種類」をクリックしたら種類で降順、昇順ににソートする
みたいなのをやりたいんですけど、
これはどうやれば実現できますかね?
ちなみにソート処理は独自のものでなくていいです。
新スレ、新スレって
新スレがそんなにめでてーんでせうか!
17即レス ◆POP.SOKU :02/06/19 00:23
>>14
そういう時はCの宣言をVBに直して使う。

>>15
SortOrderdを使う。
カラムをクリックしたら
SortOrder反転、てな感じで。
18質問というか人捜しです。:02/06/19 01:16
M.A.D.D.I.S. stands for Masqueraded, Anonymous, Decentralized,
Dynamic Information Sharing. The goal is to create a peer-2-peer
system which is more advanced than other implementations.
Highlights: Decentral, MD5s, Masqueraded, Chunk-D/Ls [...]

http://ctrl-alt-elite.com/index.php?content_id=156
http://sourceforge.net/projects/maddis/

>It is difficult for me to fix the problems with japanese files. I will
>post a job at sourceforge to fix these problems for some japanese
> people.
>Also, if you know somebody japanese who can write programs in
> Visual Basic 6, please tell him to take a look at MADDIS and fix
> these problems.

ってことで、オープンソースの中央サーバを必要としない匿名ファイル共有
ソフトの開発者が「私には日本語名ファイルが取り扱えるようにすることは
出来へん!」とサジを投げてます(w。

VB6のプログラミングに「腕に覚え」がある人は開発者名に名を連ねてみま
せんか?
19即レス ◆POP.SOKU :02/06/19 08:14
>>18
英語苦手なんでパス。
20デフォルトの名無しさん:02/06/19 08:48
質問
プリンタで縦横の解像度が違う場合
Printer.DrawWidth = 10
Printer.Line (100, 100)-(1000, 1000), , B
こうやると線の太さは縦横違うの?
>>20
プリンタに依るけどアスペクト値調べるのが確実。
22デフォルトの名無しさん:02/06/19 09:23
配列がNothingなのかどうか調べる方法は無いのでしょうか?
>>22
Is
>>22
配列がNothingってどういう意味?
>>22
SafeArrayGetDim
26デフォルトの名無しさん:02/06/19 09:47
>>23
どうもありがとうございました。
うまい具合にプログラムが流れました
27デフォルトの名無しさん:02/06/19 11:52
>>17
ありがとうございます。
でも、「そういう時はCの宣言をVBに直して使う。」
という意味がわかりません。
28デフォルトの名無しさん:02/06/19 11:54
WinXP で、CAB32.DLL を用いてcabを解凍しようとしたんですが、解凍でません。

HPでは、対応は2000までとなってるんですが、
XPでやって出来た方はいないでしょうか?
>>27
勉強して下さい。
>>28
どうできないか書かない奴は猫のクロスケにた(略
31即レス ◆POP.SOKU :02/06/19 12:58
BOOL ImmDisableIME(
DWORD idThread // IME を無効にするスレッド
);

public declare function ImmDisableIME(byval idTHread as long) as long'0=true 1=false

こういうこと。(直打ちなので未確認)

>>28
使ったこと無いがCAB解凍ルーチンで
2000で使えたんならXPでも多分使える。

自分のコードのほうが間違ってる可能性が高いな。
>>31
お前エライな
オレは >>27 みたいなこといわれたらキレるよ
3328:02/06/19 13:33
>>31
9X, 2000では正常に動作したexeをXPで試したらできなかったんです。
具体的には、-x のコマンドを入れた cab関数の返り値が0以外(0が正常)
となっており、DLL内でのことなのでわからないです。
34デフォルトの初心者:02/06/19 13:48
文字列。いらない文字列を指定してどんどん引っこ抜いて いるのだけ残していくっていうコードはどうすればいいの?
strtokとか
3635:02/06/19 13:51
やべ。VBだ。ゴメン。無し。
3728:02/06/19 13:57
マシンを殴ったら正常に動きました。
ありがとうございました。
>>37
殴ったら正常に動いただと?



斜め45度チョップじゃないのか?
3928:02/06/19 14:19
>>38
そうあなたの斜め45度に届くように
40デフォルトの名無しさん:02/06/19 15:08
ラベル部分に、▽△を表示されてソート出来るコントロールはありませんか?
41デフォルトの名無しさん:02/06/19 15:50
文字列をファイルに出力する処理について質問です。(6.0、win2000)

出力先のファイル(txt形式)に
====
A

B

C

D

====
…ってな感じで見出しが振られていた場合、
文字列の挿入場所を「見出しAの下」「見出しBとCの間」なんて風に
指定することはできるのでしょうか?
どなたかご存知の方、よろしくお願いします。
mid使えう゛ぁ?
>>41
> 文字列の挿入場所を「見出しAの下」「見出しBとCの間」なんて風に
> 指定することはできるのでしょうか?
できません。つか、ファイル入出力に「挿入」は用意されてない。
44即レス ◆POP.SOKU :02/06/19 16:13
>>34
一番簡単なのはReplaceかな。

>>40


>>41
出力先を読みこんで解析しながら書きこみ。
4511:02/06/19 16:30
>>13
ありがとうございます。
「RAGNAROK」というゲームのアーカイブを展開後、グラフィックデータを
BMPに変換するツールを海外で発見、使用してみたんですが、エラー
を吐いてしまいます。
幸い、ソースが公開されていたので自分なりにFixしてみようと覗いて
みたんですが、当方超が付くほどの初心者なので原因がサッパリわかり
ませんでした…どなたか教えてください〜。

ttp://treds.co.uk/ragfiles/ro_files/files.htm
↑ここの「Grf Extractor」でゲームフォルダにあるdata.grf展開し、
「SprWiz」でBMPに変換するらしいのですが…。
一応、grfの展開は完了しているようです。
47ImmDisableIME:02/06/19 18:44
>>31
お返事ありがとうございます。
BOOL ImmDisableIME(
DWORD idThread // IME を無効にするスレッド
);

public declare function ImmDisableIME(byval idTHread as long) as long'0=true 1=false

下の、public 以下を貼り付けただけで構文エラーが生じてしまいます。
Lib が無いという怒られかたです。
かってに "imm32"を入れて関数を呼び出したところ、
エラーは起きませんが、正常に動作しませんでした。
48ImmDisableIME:02/06/19 18:57
そーりー。
正常に動作します。
ちゃんとDisableになりました。
でも、赤い禁止マークがつかないし、
Ableに戻せなくなりました。
49デフォルトの名無しさん:02/06/20 00:58
ヘルプで「フォームへのイベントの追加」のところを読んでいて思ったんですが、
フォームで発生したイベントを受け取るClass1のpropertyで

Public Property Set Form1(ByVal NewForm1 As Form1)
Set mForm1 = NewForm1
End Property

とnewForm1がByValで渡されているのはなぜですか?
byValはコピーで渡されると思うのですが、
コピーを渡されても、もとのフォームから何も受け取れない気がするんですが・・。
Set Form1は
Set mc1.Form1 = Me
と呼ばれていたので、コピーでもいいなら
Set mc1.Form1 = new Form1
でもいけるかなと試したらだめでした。

自分はまだイベントやオブジェクトについてよく分かっていないので
激しく勘違いをしてるのかもしれませんが・・。
50デフォルトの名無しさん:02/06/20 02:19
>>46
ソース見た。
英語Windows+英語VBじゃないと正常に動作しない。
日本語環境に移植するのはけっこう面倒。
ソース汚いし。
51デフォルトの名無しさん:02/06/20 11:12
質問です。
データコンボ (DataCombo)とDB コンボ(DBCombo) の違いは?
53デフォルトの名無しさん:02/06/20 11:52
質問します。
WebBrowserコントロールでproxyチェッカーまがいのことをやろうとしています。
(本当はInetコントロールで作りたいのですが、postとその結果の取得を上手く行えなかったのでWebBrowserコントロール使用)
proxyの変更はレジストリ書換えしないと不可能でしょうか?
その場合、WebBrowserコントロールをサブのフォームに貼って、
レジストリ書換え=>フォーム新成=>Navigate=>フォーム破棄
の繰り返しで行くしかないのでしょうか。
54そうそう:02/06/20 13:58
WebBrowser とかって、
編集したhtmlソースは、
一度、ローカル等にhtmlファイルを作成してそのファイルを与えなきゃめなんですか?

htmlソースを、stringにいれて、そして表示することはできないんですか?
>>54
WebBrowser1.Navigate "about:<HTML><BODY>(●´ー`●)<長過ぎるとダメかも</BODY></HTML>"
56デフォルトの名無しさん:02/06/20 15:26
comct232.ocxってどのヴァージョンのWinから標準で入ってるんですか?
調べたけど見つかりませんでした。
9x系とNT系両方教えて下さい。

こういうのって使わない方がいいんでしょうかね?
使ってるのはUPDOWNコントロールだけなのでコマンドボタンで置き換えられないこともないですし。
57デフォルトの名無しさん:02/06/20 15:49
mdbのあるテーブルの全データを、別のmdbの同一定義のテーブルにそっくり上書きしたいんですが、
どういう方法が効率的でしょうか?

一行ずつよんで、一行づつ登録と言うのしかおもいつかなくて、これは巧いやりかたっぽくないです。
5857:02/06/20 15:50
もちろんVBアプリ上からです。
一行づつ読むのは、ADOでやってました。
片方からリンクテーブル張れば一発INSERTできるよ。
6057:02/06/20 16:18
リンクテーブルというのは、VB上から晴れるんですか?
61デフォルトの名無しさん:02/06/20 17:09
Set dbMain = wsMyWS.OpenDatabase("C:\tmp.mdb", , ,"ODBC; PWD=TMP")

パスワードが設定されているmdbをワークスペースで開きたいんですが、
上記で行ってもうまくいきません。
なにかおかしいでしょうか?
VBでソケットの質問です

サーバプログラム:
 sock.localport = 7777
sock.listen

このあと
 接続要求を行い、一通りの通信を終えます。

次のリッスン状態にするにはどうすればよろしいでしょうか?
6359:02/06/20 18:54
>60
できます。
DAOのTableDefオブジェクトあたりを調べてみると吉。
Accessのヘルプにサンプルもあるよ。

リンクした後は同じデータベース内のテーブルとして扱えるので、
SQLで好きに料理してくれたまへ。
64デフォルトの名無しさん:02/06/20 19:19
>>63
ざんきゅー。
いろいろありがとう。
6562:02/06/20 19:29
悪・質・問
       ですか?
>62
MSDNにサンプルあるから読んでみ。
WinSockコントロールを配列にしておくサンプルが載ってるよ。
67.NETレス:02/06/21 01:34
>>6
>VB.netで作成したアプリケーションは、どのOSで実行可能
>なのでしょうか? XP、2000、NT4.0、98あたりは大丈夫だと
とMe、Windows .NET Server family。

>思うのですが、95はサポートされないのでしょうか?
サポートされません。

>>49
>byValはコピーで渡されると思うのですが、
>コピーを渡されても、もとのフォームから何も受け取れない気がするんですが・・。

「ByValだったら、そのフォームに対して影響を与えないはずでは?」
という疑問ではないのか?
本体でもコピーでも受け取るだけだったらできるでしょ。

Dim f As Form
Set f = New Form1
のときのfはForm1オブジェクト(B)を保持してるんじゃなくて、
Form1オブジェクトのありかを示す値(A)を保持している。
なので、そのありかを示す値(A)はByValで渡した先でも活きてくる。

A(Form1のありか)は宝の地図、B(Form1オブジェクト)は宝。
おれが君に直接B(Form1オブジェクト、宝)を渡さなくても、
A(Form1のありか、地図)を渡せば、君は地図を見て、宝に辿り着ける。

6849:02/06/21 03:17
>>67
Cでポインタを値渡しで関数に渡して実体にアクセスするのと一緒ですか?
69デフォルトの名無しさん:02/06/21 14:01
VCで作成したDLLで
DATE型を引数に渡す関数を作ったのですが、

VBからその関数を呼び出すときに、
DATE型はどのように指定したらよいですか?
>>69
死ねクソマルチ
7168:02/06/21 14:09
>>69
すんません VB,VCどちらに書いてよいかわからなかったので・・・
逝ってきます。。。
format関数で文字列にして渡せば
73デフォルトの名無しさん:02/06/21 17:35
VBScriptでフラッシュのファイルを起動することは出来るのですが、
一定時間経過後にファイルを強制的に閉じることが出来ません。
ネット上で調べてみると、exeファイルの実行方法は見つかるのですが
どのページもそれを終了(ウィンドウを閉じる)させる方法については記述
してないようなのです。
元からそのような方法は無いのでしょうか?
どなたか手ほどきをお願いします。

ちなみにソースは以下の通りです。

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "C:\share\フラッシュのファイル.exe" , 3 , False



74VB初心者A:02/06/22 00:43
配列の要素の数を取得したいのですが
どうすればよいのでしょうか?
>>74
UBound(), LBoun() を調べよ。
7675:02/06/22 01:00
>>75 とちった。
LBoun() → LBound()
77VB初心者A:02/06/22 01:05
>>76
ありがとうございました。
78デフォルトの名無しさん:02/06/22 08:07
ほんとに初心者ですんません。
プログラムを作ったんですがほかの端末に移すと
動きません。そこでsetup.exeを作りたいんですが
どうすればいいんでしょうか。
79デフォルトの名無しさん:02/06/22 08:10
>>78
ファイルと言うところにhoge.exeの作成という項目があるだろ。
80_:02/06/22 08:38
>>78
ランタイムが入っていないだけとか?

インストーラーは
ディストリビューションウィザードで作れる
81デフォルトの名無しさん:02/06/22 10:07
>79
exeファイルは作ったんですがそれがほかの端末で動きません。
>80
ディストリビューションって見当たらないんですが・・・。

ほんとに初心者なものですいません。
82デフォルトの名無しさん:02/06/22 10:27
>>81
スタートアップから、MicrosoftVisualStudio→ツール→ディストリビューションウィザード
8381:02/06/22 10:28
っていうか、VBランタイムを入れたほうが楽かもしれない。俺ならそうするかな
8482:02/06/22 10:29
>>83
間違った82だった
85デフォルトの名無しさん:02/06/22 13:42
簡単な質問で申し訳ないのですが,update と updatebatch の違いは
どういうとこなのですか?
86質問です:02/06/22 16:37
ファイルの更新日時順にソートしたいのですが
ListBoxのソートとかを使うと

9:10:50
12:20:21
12:22:52
と、実際の時間は12時の方が最近なのに、
9>1と、先頭の数字の大小で判断されてしまうが為に
↑のような変なソートになってしまいます。
何か上手い方法で更新日時順ソートできないでしょうか?
>>86
09:10:50 のように頭に 0 をつけて桁数を揃えるのが簡単だよ。
88デフォルトの名無しさん:02/06/22 19:22
テキストボックスに数字だけを入れて欲しいんですが
文字が入っているとエラーになるので。
どうにかして上手くチェックする方法はないでしょうか?
89デフォルトの名無しさん:02/06/22 19:55
>82
>83
できました。
ありがとうございました。
>>88
キーボード押すごとにチェック(クソ迷惑)
処理実行時にチェック(現実的)
>>88
KeyPress() 中で KeyAscii を 0 にしていいかドキュメントには書いて
ないけどとりあえず VB6 ではそれらしく動いた。

Private Sub Text1_KeyPress(KeyAscii As Integer)
 If 0 < InStr("0123456789", Chr$(KeyAscii)) Then Exit Sub
 If KeyAscii = 8 Or KeyAscii = 13 Then Exit Sub
 KeyAscii = 0
End Sub
92デフォルトの名無しさん:02/06/22 20:06
>>90
いや、その数字かどうかのチェック方法がわからないんです・・・・
一文字づつMidで取り出して、それが0〜9であるかチェックするとか
そんな方法しかないんでしょうか。
93.NETレス:02/06/22 21:00
>>67
そゆこと。
>92
ValしたのをStr$したのと元のを比較するとか。
>>90
なんでキーボード押す毎にチェックが糞迷惑なんだ?
>>91みたいな方法でやれば、普通に入力できてアルファベットや記号だと入力できないテキストボックスが出来るだけだろ。
何が迷惑かわからん。
むしろ、処理時にチェックの方がウザイと思うが。
処理時にチェックって事は、処理開始時に数字だけかアルファベットが入ってるかをチェックして、
入ってたら警告出すならエラー出すなりすることになるわけで。
それを見たらユーザーは設定しなおさないとならない。
だったらハナっから数字以外入力できないテキストボックスを用意するほうが親切だと思う。
9691:02/06/22 21:36
>>95
たまーに、キーボード押す毎にチェックして、エラーなら警告出すと言う
想像を絶する糞プログラムがあるから、それを指してんじゃないのか ?
>>96
それを指してます。
つまり、90のスキルでは「数字以外は入力できないTextBox」をコーディングできずに、
文字入力のたびにチェックしてメッセージボックスを出す想像を絶する糞プログラムしか作れない、
という事ですな。
>>98
>>88=>>98のスキルを考慮したまでです。
100デフォルトの名無しさん:02/06/23 13:18

+- フレーム -----------------------------------+
|
| +- ラベル (0) -+ +- ラベル (
| |          | |        …
| +------------+ +--------
+---------------------------------------------+

というような感じで、ラベル(n)にマウスカーソルが入ったら
ラベル(n)の背景色を変え、他のラベルの背景色は元(デフォルト)に
戻し、どのラベルにもマウスカーソルが入っていない場合は全て
デフォルトにしたいんですが、どうやるのがスマートでしょうか?

いま考えたのが、ラベル(n)_MouseMoveとForm_MouseMouveを
つくり、Private変数InLabelを用意して、ラベル(n)_MouseMoveでは
InLabelをTrueに設定して背景色を変え、Form_MouseMoveでは
InLabelをFalseに設定して全てのラベルの背景色を元に戻す、という
ものです。
>>100
なんかそれ、センス悪いなあ。
気にさわったらごめんね。
102 :02/06/23 15:34
おまえら、製品の出荷を6月末で中止します。
Visual Studio 6.0 Professional Edition
Visual Basic 6.0 Enterprise Edition
Visual Basic 6.0 Professional Edition
Visual Basic 6.0 Learning Edition
Visual C++ 6.0 Enterprise Edition
Visual C++ 6.0 Professional Edition
Visual C++ 6.0 Learning Edition
Visual InterDev 6.0
Visual J++ 6.0 Professional Edition
Visual J++ 6.0 Standard Edition
>>102
.NETがこけたらどうするんだろう・・・。
104デフォルトの名無しさん:02/06/23 16:23
質問させてください
WinXPなのですがVB6でアプリケーション作っていて
常駐するようなものなのですが問題点が2つあります。

1)タスクバーにFormの表示が出る、出ないを動的に変更したいが
 なぜかShowInTaskBarでは出来ない・・・。
2)常駐している際に、タスクマネージャを開くと、
 「アプリケーション」の欄に常駐しているのが出てしまう。
 そこらへんで見かける常駐プログラムだと、「プロセス」の方にしか
 表示されていない模様。これはどうやってやればいいのか・・・。

この2つです。よろしければ教えてください・・・。
105デフォルトの名無しさん:02/06/23 16:25
簡単な質問で申し訳ないのですが,update と updatebatch の違いは
どういうとこなのですか?


106デフォルトの名無しさん:02/06/23 16:28
>>85 = >>105
( ´,_ゝ`)プッ
107デフォルトの名無しさん:02/06/23 16:52
MMCでメディアプレイヤーを作成したのですが、再生できないファイルがいくつかあります。普通のメディアプレイヤーでは再生できるので、ファイルが破損しているとは思えないのですが、なぜでしょうか?
>>104
常駐ものはVBで作らない
110デフォルトの名無しさん:02/06/23 17:02
>>109
常駐もの?
>>109
それ言って良いのはPC初心者板に来る素人のみ。
>>111
意味がわかりません。
>>100
一応それでできるけど、(Private 変数は不要だと思うが...) 実際やると、
あるラベルからいきなり他のコントロールにマウスをすばやく動かすとフォームに
対して Form_MouseMove() イベント発生しない時があるから、ラベルの色が残っ
てしまったりする。これをきちんとやるのは、なかなか厄介。

>>104
ヘルプ読んでる ?
> なぜかShowInTaskBarでは出来ない・・・。
ShowInTaskbar プロパティ
(中略)
実行時には値の取得のみ可能です。
>>100 それに加えて、Timerコントロールで監視。
>>104 1) 2つのフォームを切り替えよ。
>>107 それだけで答えられたら、神。
115PERFECT-CRIME ◆2chGGGsY :02/06/23 18:15
VB6 Learning Editionて使える?
116デフォルトの名無しさん:02/06/23 18:31
複数のテキストボックスに対して同一テキストを表示させたい。
条件は以下のとおりです。
・それぞれのテキストボックスは異なるオブジェクト名(つまり配列になっていない)
・なるべく簡単にかつ保守しやすい方法で

うまい方法はないでしょうか?よろしくおねがいします。
>>116
> 複数のテキストボックスに対して同一テキストを表示させたい。
> つまり配列になっていない
設計を見直せ。
118デフォルトの名無しさん:02/06/23 19:19
>>117
つまりいい方法は「設計を見直す以外ない」ということでしょうか?
>>118
良い方法というか設計悪けりゃ全部わろし。
b.Text=a.Text
じゃだめなん?
>>120
b が更新された時も a を更新したいのかなぁ...。だとすると Change
イベントの連鎖にならないようにする必要あるからちょっと面倒。
122デフォルトの名無しさん:02/06/23 19:53
>>120-121
複数というのはえっと、だいたい100から200ぐらいのテキストボックスが
対象となります。なかには配列になっているものもありますが。。。。。
あるマスタのメンテナンス画面です。

それぞれの項目すべてに違った入力チェックがあるため。
すべてを同一名の配列にするのはナンセンスな状態です。

テーブルの設計から見直すのは無理です。
というかそういう権限はありません。
>>116
ってか、何のためにそれをしたいのか、理由を説明せよ。
124>>122:02/06/23 19:56
さしあたってすっきりさせたいロジックは画面のクリア処理です。
すべての項目をクリアさせる非常に美しいロジックはないでしょうか?
>>122
100〜200のテキストに同じ値を入れたいというその状況はなんだ?
クリアしたいのか?

Controlsコレクションでコントロールを列挙して、
TextBoxコントロールだけを拾い出せ。
こんな感じ?

Dim hoge As Object
For Each hoge In Form1.Controls
If Left(hoge.Name, 4) = "Text" Then
hoge.Text = ""
End If
Next
>>126のTextBoxは全部TextAみたいな名前になってるのか?:-)
If hoge Is TextBox Then
だ。
128>>122:02/06/23 20:17
なるほど!ありがとうございました。
>>127
なるほどー
130>>122:02/06/23 20:27
えっと。
Dim hoge As Object
For Each hoge In Form1.Controls
If TypeOf hoge = TextBox Then
hoge.Text = ""
End If
Next
ですね。これでうまくいきました。
>>122
> 100から200ぐらいのテキストボックス
なんちゅーセンスのない設計だ...。
>>131
表計算ソフトでも作るんでしょう。それにしても問題外かw
133127:02/06/23 20:49
すまそ。TypeOf抜けてた。
134デフォルトの名無しさん:02/06/23 21:14
簡単な質問で申し訳ないのですが,update と updatebatch の違いは
どういうとこなのですか?
ちつこいな、つみは
136デフォルトの名無しさん:02/06/23 22:08
>>134
update 行為
updatebatch ファイル
137デフォルトの名無しさん:02/06/23 22:32
おまいら、騙されるな。
134をよ〜く読んでみろ。
「どういうとこなのですか?」
どういう「とこ」なのですか?
こいつは場所を聞いてるんだよ!
138仕様書無しさん:02/06/23 22:43
どういう「ところ」なのですか?

「ところ」が差すのは物理的なポイントだけでないので問題なし。

>>137
貴方の不注意ですので、お尻を出してください。
139デフォルトの名無しさん :02/06/23 22:44
137は言語障害ですか?(ワラ
かわいそうな>>137
141仕様書無しさん:02/06/23 22:48
騙された>>137
ミイラ取りがミイラに...
142デフォルトの名無しさん:02/06/23 23:06
初心者にちょっと毛が生えた程度の奴が初心者スレで
発言の揚げ足とりとか設計なんて出来もしないのに設計について
言及したりとか笑えるね。
言及もできないので、1人つぶやく君が一番笑えるよ。
144137:02/06/23 23:11
すみません。在日でしたのでちょっとわかってませんでした。
もうちょっと日本語勉強していきます。
145デフォルトの名無しさん:02/06/24 00:18
質問させてください。
VBの標準EXEを作りそれをアプリケーションから呼び出すのですが
そので呼び出し元に戻り値を返却する方法は有りますでしょうか?
>>145
標準EXEじゃなくActiveX Exeにすれば?
147デフォルトの名無しさん:02/06/24 01:28
>>145
まず、そのアプリはどうやって受け取るの?
それ次第だわ。
148デフォルトの名無しさん:02/06/24 10:50
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時
dbcombo.boundtext と dbcombo.text ではどう違うのですか?
149デフォルトの名無しさん:02/06/24 17:20
質問です。
プログラムからEXCELを起動して、ログファイルを作成(もしくは読込)エラー
情報を出力してEXCELを終了するという風にしたいのですが、ログファイルを
作成したあとEXCELが正しくし終了されません。
EXCEL自体は画面上からなくなるのですがプロセスに残ってしまっていて
再度ログファイルを出力しに行くとエラーで終了してしまいます。
どうしたらEXCELが正しく終了するようになるでしょうか?
>>149
あなたが書いたバグを修正する。
151149:02/06/24 17:25
>150
ご忠告ありがとうございました
152149:02/06/24 17:33

このソースのどの変がバグですか?

Private Sub log_file()
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).value="XXXX"
xlApp.ActiveWorkbook.SaveAs FileName:=log_path_true
xlApp.Quit
Set xlApp = Nothing
end sub

>149
生成したオブジェクトのClose、Quit、Nothingはちゃんとやっとるけ?
関係ないけどログ出力にExcel使うと重くない?
>>149
ActiveWorkbookが含まれるExcel.Applicationは何か? xlAppだ。
ActiveSheetが含まれるExcel.Applicationは何か? グローバルのExcel.Applicationだ。
このソースではExcel.Applicationを二つ使っている。
しかし、一つしか解放していない。だから終了しない。
直すにはActiveSheetをxlApp.ActiveSheetとすればよい。

あってればいいなぁ。Excelあんまり使ってないんから自信ないんだよなぁ。
これで直ったらちゃんと教えてね。
155デフォルトの名無しさん:02/06/24 18:29
msgboxでダイアログだしてやるのはOKなんだが
あれって勝手に画面の中央に表示されちゃうよな・・・?
そうじゃなくて、ダイアログを表示する位置を指定したいんだけど
これってできるのかな?
>>155
フォーム使えば ?
157155:02/06/24 18:56
>>156
うむぅ。やっぱそうなるんでしょうか。
msgbox多用してるんで、ひとつひとつFormを作ると大変・・・
と思ったけど Formを新規にRoadしてそこに表示させたいものを表示して
表示する際に位置まで指定できるような関数を自作すればいいわけだ。
閃いたよ、、、ありがとん。
158質問です ◆r56FZRgM :02/06/24 19:08
質問させてください。 Win98のVB6です。

ListViewコントロールで、横列の各カラムの位置は、Leftプロパティで取れるんですが
縦列の各アイテムのTop位置がどうやって取ったらいいのかわかりません。
まさか横列の各カラムと違って、間隔が同じなので
自力で一マスが何ドットか調べ、それを掛けて各アイテムの位置を出せ!
なんてことは無いと思って調べていたんですがなかなか答えが見つからず。
ここで質問してダメならきっぱり諦めます・・・
どうにかして各アイテムのTopを調べれないでしょうか。
よろしくおながいします。
>>155
CBTフックを使って(デスクトップの中央ではなく)ウィンドウの中央に
メッセージボックスを表示させるVBのサンプルをどこかのページで見たことがあるぞ。
>>158
ListView.ListItems(Index).Top
でいいんじゃないの?
161デフォルトの名無しさん:02/06/25 07:36
教えてください
unicodeを文字コードを元にテキストboxに表示したいのですが表示されません。
例えば、
text1.text=AscW(&HAC00)
とすると、?が表示されてしまいます。

厨房な質問で申し訳ありませんが教えてください。
>>161
(VBだかWindowsだかが)Unicode対応して無いので無理です
163161:02/06/25 08:36
Win98、VB6ですが、どちらに原因があるのですか?
164149:02/06/25 09:04
>154
なるほどそうゆうことだったのですね。
わかりやすい説明ありがとうございます。
ちゃんと動くようになりました、ありがとうございました。
>>161
SJISですから。
>>163
どっちもだろ。
9xはunicode非対応。
>>163
UnicodeとSJIS痴漢するAPIあるからそれつかえ。
MultiByteToWideChar
WideCharToMultiByte
だっけ?つづりが…
MSDNかGOOGLEでサガスヨロシ。
168デフォルトの名無しさん:02/06/25 10:02
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時
dbcombo.boundtext と dbcombo.text ではどう違うのですか?
>168
ヘルプ読め。明確に書いてあるぞ。
>>161
> text1.text=AscW(&HAC00)
AscW は ChrW の typo として、&HAC00ってハングルですよね。
出ないのはそのせいじゃないですか。
日本語ならChrW$()で出ますし。
171161:02/06/25 13:38
>170
すいません。ChrWです(^^;ご指摘のように&hAC00はハングルです。
日本語のユニコードはtextに表示できるのですが、ハングルは表示できません。

EXCELのVBAで実行すると、セルにはハングルが表示されるのですが
textには表示できません。

厨房ですいませんが、具体的にはどうすれば良いのでしょうか?
172デフォルトの名無しさん:02/06/25 14:20
VB5よりShell関数を使用してExcelを起動かけようとし、
Shell("Excelまでのフルパス\Excel.exe /CMD 引き渡しファイル名(フルパス)")
で送っているのですが、ExcelXPの時のみ、Excelが強制終了になってしまいます。
ExcelXPではコマンドラインの使い方が違うのでしょうか?
御存知の方いらっしゃいましたら、教えて下さいm(__)m
テキストボックスに長い文字列を入れると全部入らないのはなぜですか?
長いってどれくらいよ。
64K超えてるなら、どうあがこうと無理。
RichTextBoxつかへ。
フォントをハングルにする
176デフォルトの名無しさん:02/06/25 15:21
9xのメモ帳が32KB制限なのは半分アンドゥバッファだからですか?
177デフォルトの名無しさん:02/06/25 15:55
 ! と . の違いって何でしょうか?

例えば

Call Me.Controls.Add("VB.TextBox", "txt", Me)

などとやって

Me.txt.Visible = True

などとやるとエラーになるのですが、

Me!txt.Visible = True

ではエラーになりません。

チェックを動的にやるか静的にやるかの違いですか?
Me!txt.Visible=Me("txt").Visible=Me.Controls("txt").Visible
なるほど。
180デフォルトの名無しさん:02/06/25 16:11
アクティブX を使ってデータベースコンボ(dbcombo)を使用した時
dbcombo.boundtext と dbcombo.text ではどう違うのですか?
ごめんなさい。ヘルプみてもど素人の自分にはさっぱりわかりません
ので分かりやすく教えて下さい.
BoundText BoundColumn プロパティに指定されたフィールドのテキストの値です。リストの項目が選択された場合、この値が返され、DataSource プロパティと DataField プロパティで指定された Recordset オブジェクトのフィールドを更新します。
Text リスト内の選択された項目のテキストの値です。
>>174
5000文字とかぜんぜんはいりません。
>>174
text1.text = text1.text & str
という具合に分けて入れるとはいるんですが
text1.text = str
みたいに一気に入れるとだめです。
184170:02/06/25 16:23
>>171
どうも、VB内部のunicode <-> sjis 変換で弾かれているみたい。
とりあえず、次のようにしたら表示はされた。

Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByRef lpString As Any) As Long

Private Sub Form_Load()
Dim tmp() As Byte

tmp = StrConv(ChrB(0) & ChrB(&HAC), vbFromUnicode, &H412)
ReDim Preserve tmp(0 To 2) As Byte
tmp(2) = 0
SetWindowText Text1.hwnd, tmp(0)
End Sub

185デフォルトの名無しさん:02/06/25 16:49
型が一致しません...........................。
どうすリャいいんだ?
型を一致させる。
VB側でREDIMで大きなエリアを確保して、そのエリアのアドレスをByRef でDLL
(VCで作成)に渡してDLL側で書き込もうと思っています。(VBの64KB制限対応)
VB側でREDIMして確保したエリアはリニアなエリアが確保されていると考えて
良いのでしょうか?
周りからは何か変と言われてちょっとへこんでいます。
変じゃないですよね?
>>187
変です。
まじですか?
Cのmallocと同じイメージでREDIMをつかうと駄目ってこと?
190デフォルトの名無しさん:02/06/25 18:44
>>188
私も知りたい。配列の動的確保なんてVBでは所詮無理か?
>>190
無理なのはVBでの配列の動的確保じゃないでしょ。
>>187
MSDNで「Declare 配列」で検索したらこんなん出ました
<引用>
数値配列は、その配列の先頭の要素を参照渡しで渡すと、配列全体が渡されます。
これは、数値配列のデータが常にメモリ上で連続した領域に配置されるためです
</引用>
193192:02/06/25 19:08
>>187
ところで、「VBの64KB制限」って何ですか?
>>187
俺もどれのことを言ってるのかわからん>VBの64KB制限
195デフォルトの名無しさん:02/06/25 20:10
"型が一致しません"で悩んでいるのですが、ここの
個所でエラーに飛んでしまいます。

On Error GoTo errorhandler1
Line Input #1, Msg
TypAA.Time = Left(Msg, 20)
IMAX = CInt(Mid(Msg, 21, 5)) ←ココ
JMAX = CInt(Mid(Msg, 26, 5))

読み込むデータの先頭部分は

time=0
445 31 5 27
1 1 19690.631 6395.402 24.312
1 2 19687.809 6387.525 20.685
1 3 19684.986 6379.648 20.473
1 4 19682.166 6371.771 18.633

とこういう感じなのですが、どうも上手くいきません。

どなたかお助けを。
>>195

Msgってどんな型?
エラーが出たときのMsgの内容は?
OnError外してエラーが出て止まったら、Mid(Msg,32,5)はうまくいく?
同様にCInt(〜)はうまくいく?(イミディエイトウィンドウで試す)
Midという変数とか関数とか定義してない?
同様にCIntという関数とか定義していない?
IMAXはどう?

とりあえず思いついたのはこんなもんかな。
あと、おいらだったらMidで取り出したりしないで、
Splitで分割して調べるなぁ。VB6ならだけど。
>>195
そのコードでそのデータのどこを読みたいんだよ!
どこの行を読みたいのかさっぱりわからんが、どの行であっても読み込めん。
IMaxもJMaxも変なところを切り出してるように見えるが?
とりあえず正しく切り出せてないから、Integerに変換できないデータを
切り出した上で、CIntにかましてアウト!
198デフォルトの名無しさん:02/06/25 23:45
リストボックスにある項目全部をある配列に入れたいのですが
どうすればいいのでしょうか?
>>198 Forでぐるぐる。
>>198
Dim A() As String
ReDim A(0 To List1.ListCount)
Dim i As Integer
For i = 0 To List1.ListCount
 A(i) = List1.List(i)
Next
201デフォルトの名無しさん:02/06/26 00:42
>>200
List1.ListCount - 1 だろ?
202198:02/06/26 01:08
>>199-201
ありがとうございます。
203195:02/06/26 10:50
>>196
>>197
ありがとうございます。なにせまったくの初心者でいきなり
仕様書も無いコードの機能追加というおそろしいことをやら
されていまして。(言語はCしか知らない..........。)
ちなみにMsgはStringです。VB6です。

ご意見を参考にあれからいろいろやってみると、どうやら
データファイルの改行コードが"Lf"だとデータの読み込みが
出来ることがわかりました。
"Ctr+Lf"だと"型が一致しません"とでます。
とりあえず、サンプルデータを読み込めればクリアな
のでエディタでデータファイルを"Lf"に変換してからテスト
出来るようになりました。

しかし"Ctr+Lf"で駄目なのは何故なのか謎です.....。
204195:02/06/26 11:00
ちなみにイミディエイトウインドウの使い方もよくわか
らない”ド素人”です。ブレークポイントの設定の使い
かたがやっとわかって処理を追っていました。
(データはFortranで吐き出されたデータファイルです。
Fortranではハンカクも一文字に数えていますが、VBはど
うなんだろう?)

関数の冒頭部分は

Public Sub DRead()
Dim I As Integer, J As Integer, K As Integer
Dim X As Single, Y As Single
Dim Msg As String, Str As String * 256
Dim Xmin As Single, Xmax As Single
Dim Ymin As Single, Ymax As Single
Dim Val As Single

Xmin = 1E+20: Ymin = Xmin
Xmax = -1E+20: Ymax = Xmax

On Error GoTo errorhandler1
Line Input #1, Msg
TypAA.Time = Left(Msg, 20)
IMAX = CInt(Mid(Msg, 21, 5))
JMAX = CInt(Mid(Msg, 26, 5))
If IMAX < 2 Or JMAX < 2 Then GoTo errorhandler2

_________________________________________________
それでエラーの部分は

'-----ファイルオープン時のエラー
errorhandler1:
Msg = "データ読込み中にエラーが発生しました。" & Chr(13) & Chr(10)
Msg = Msg & "ファイル名:" & TypAA.DataFile & Chr(13) & Chr(10)
Msg = Msg & Error(Err.Number)
MsgBox Msg, vbExclamation, "データ読込み時のエラー"
Close #1
Exit Sub


>195
MSDNより。

>Line Input # ステートメントは、ファイルからキャリッジ リターン (Chr(13))
>または改行コード (Chr(13)) + Chr(10)) の直前までのすべての文字を読み込みます。
>キャリッジ リターンと改行コードは、変数に読み込まれる文字列に追加されるのではなく、
>読み飛ばされます。

つまり、Cr+Lfで改行されている元のデータを読むと1行目(time=0)しか読み込まれない。
で、その6文字しかない文字データの21文字目からをMidで取り出しIntへ変換しようとしている。
だから、型が違うというエラーが発生。
>>171
もう一度韓国を併合する。
北は放置。
>>193,194
VBって、普通にDIM文で変数を宣言すると、64KBを超える変数ってNGですよね。

Type文なんかで結構大き目の構造体の配列をSTATICにとりたいなぁなんて時、
結構がっくしします。(VBらしくない考え方なんでしょうけど)

>>192
「Declare 配列」 調べてみます。THX
208192:02/06/26 14:00
>>207
64KBを超える配列も普通に使えますけど
dim a(0 to &H100000) as byte
とか普通に使用できます。

それともユーザー定義型の制限のことでしょうか?
type hoge
a(0 to &H10000) as byte
end type
とかの。
(激しく既出くさくてとても申し訳ないんですけど
いちおう探しましたが、見つかりませんでした。)
自分のうちでヤフーBBにした場合の速度を計るHPを教えて下さい。
これから導入予定なので、住所を入力する感じの所きぼんぬです。
210187:02/06/26 14:56
>>208
>>>それともユーザー定義型の制限のことでしょうか?
それです、それです。まさしくそれです。

そんなに大きなエリアではないんですけど、64KBは超えているリニアな
エリアをVB側で確保して、VCで作ったDLL側でちょっとした計算を
して、その結果をVBで確保したエリアに書き出すということが
やりたいんです。
全部Cで書くのであれば、全く問題ないんですが、VB+VCでやろうと
するとエリアの受け渡しがうまくいかないという話を聞いたんです。

こういう時ってどうしてます? >皆さん。
211デフォルトの名無しさん:02/06/26 15:02
突然すいません!教えてください。
If (Val(a.txt) >= 1) And (Val(b.Text) <= 999999999999#) Then
ここで使われている#の意味を教えてください.
//void dst(char * p);
Private Declare Sub dst(byval p) lib "dst.dll"

Private Ary(0 to (64 * 1024) - 1) As Byte

Private Sub Src()
Call dst(VarPtr(Ary(0)))
End Sub

これで駄目かなあ
あ、dst(ByVal p As Long)
214187:02/06/26 16:15
>>212
> Private Ary(0 to (64 * 1024) - 1) As Byte
のByteが自分で作った型(Type文でね)になっていて、かつ
Ary全体のサイズが64KBを超えていても(数MB程度)大丈夫?

Aryを自分で作った型の配列変数として宣言すると、宣言自体が
NGって言われたような気が.....
215 :02/06/26 16:47
>>211
桁があまりにも大きいので,VBは怒っているぞ
という意味。
どんな数字でもその桁数を指示すると怒り出します。
>211
焦げ目ですが、なにか?
217192:02/06/26 17:17
>>214
それは大丈夫です。

もしかして、ユーザー定義型のサイズ制限と、ユーザー定義型の配列の
サイズ制限がごっちゃになっていませんか?
>>211
double型を表す型宣言文字
219187:02/06/26 17:29
>> 217
>>>もしかして、ユーザー定義型のサイズ制限と、ユーザー定義型の配列の
>>>サイズ制限がごっちゃになっていませんか?

むむむ、もしかして、私の作ったユーザー定義型の配列変数がNGなのは
Type文で作った型が64KB以上あるから駄目っていわれてるんであって、
1レコードのサイズが64KB以下の型であればそれを配列にして、そのトータルが
64KBを超えてもOKってことですか。

うーん、結構いろんな制限があるなぁ>VB
ついでに、Type文ぐらいネストできるようにしてくれー>これもVB

220195:02/06/26 17:38
>>205
重ね重ねありがとう。
なんとか突破できました。
>>219
ん。Type文ぐらいネストできるようにしてくれってこれのことか?

Type t1
 a As Integer
 b As Integer
End Type
Type t2
 c As Integer
 d As t1
End Type
222192:02/06/26 18:33
>>219
> 1レコードのサイズが64KB以下の型であればそれを配列にして、そのトータルが
> 64KBを超えてもOKってことですか。
そういうことです。

そのほかにも32KBの制限もあるみたいです。
#MSDNで「制限 32K」で検索すると出てきた。
223187:02/06/26 18:43
>221
ちょっと、誤解を招く書きかたでしたね。
Type A
a as Integer
b as Integer
Type B
c as Integer
EndType
EndType
って感じで記述したいです。
224187:02/06/26 18:48
>>222
あーほんとだ。
こういう制限って、結構きついなぁ。
おいら、いつもUNIXでプログラム作ってるから、
こういう事あんまり気にしたことないんだよなぁ。
>>223
VBなのでTypeのネストは出来ますがCと同じ書き方は出来ません。
>>224
UNIXでも気にしなさい。UNIXなら何も制限が無いとでも思っているのですか?
2chのdatを読み込んで、
type dat2ch
 namae as string
 mail as string
 date as string
 message as string
end type
dim dat() as dat2ch
みたいな構造体に格納したい場合、どうやって解析するのがもっとも高速でしょうか。
ちなみに2chのdatは、各レスがLF区切りで、レスは名前、メール、本文等が<>で区切られています。
http://pc.2ch.net/tech/dat/1024380249.dat
こんな感じで。

全部読み込んでvbLfでsplitして区切られた分だけループ回して、
ループの中で<>でsplitして構造体に入れてってみました。
これよりもっと上手い方法あるでしょうか。
228デフォルトの名無しさん:02/06/26 19:03
VB6(SP3)とAccess2000で作ったMDBファイルを使って
プログラムをつくろうとしています。
データコントロールが使えないんですけど、
どうしたらいいのでしょうか?
229デフォルトの名無しさん:02/06/26 19:09
proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。
INETのポストがよくわからないので、WebBrowserにSendkeysで文字列入力と投稿します。
proxyの変更はレジストリを書き換えて行っています。
WebBrowserは別フォームに貼り付け、毎度々々Dim frm As New Form2で作り、投稿完了後にunloadしてます。
これらをループでまわしてます。
ところが実態はproxyが切り替わらず、キャッシュを削除しようがcookeyを削除しようが効果ありません。
どういった原因でproxyが切り替わらないのでしょうか。
指針・助言を頂戴できれば幸いです。
>>229
2ch荒らしツール反対。
231デフォルトの名無しさん:02/06/26 19:23
すみません。エクスプローラのツリービューでフォルダをつかんでドラッグするとフォルダアイコンと一緒にフォルダのテキストもドラッグ時にマウスでつかめて移動できますよね。そんな風にツリービューのノードをつかんで他にドロップしたいのですが,どうするのかな?
TreeView.DragIcon プロパティだと違うみたいだし…
232187:02/06/26 19:45
>>226
なにも制限が無いとは思ってないけど、変数使うのに
サイズの制限を気にしたことってあんまり無いような。
AUTO変数なんかだと、スタック足りないってケースは
あるけど、それも数MBとか数十MBの話ですよね。
たかだか、数十KB程度でだめって言われると、
ちょっとめげます。(最近のプログラムの実行環境って
メモリいっぱいあるし。)

VB初心者友の会ってなんか雰囲気悪いから嫌い。
>>233
こんなとこで今話題の愚痴をするバカハケーン。
>>234
雰囲気悪いのは、2chのヤシがもぐりこんで煽ってるからだろ。
236195:02/06/26 21:38
今度は"ファイルにこれ以上データがありません"です...。
______________________________________________________________
For I = 1 To IMAX
For J = 1 To JMAX
Line Input #1, Msg ←ココでエラーに飛んでゆく。
Mid(Str, 1, Len(Msg) - 1) = Msg
______________________________________________________________

MSDNを見ると、
Input # ステートメントまたは Line Input # ステートメントで、
すべてのデータが読み込まれたファイルまたは空のファイルから読
み込もうとしています。
Input # ステートメントの直前で EOF 関数を使用し、ファイルの
末尾を検出します。

(なんのこっちゃ...........。)

EOF関数の使い方を調べているのですが。
ベテランの方々お助けくだされ。

>>236

Do Until EOF(ファイル番号)
この中で行読み込み
Loop

236のようにForの2重ループで処理してるんなら、
IMAX x JMAX 行データがなけりゃエラーだ。
データファイルのフォーマットをちゃんと理解した方がいいぞ。


が基本パターン
238237:02/06/26 21:43
Do Until EOF(ファイル番号)
この中で行読み込み
Loop
が基本パターン

236のようにForの2重ループで処理してるんなら、
IMAX x JMAX 行データがなけりゃエラーだ。
データファイルのフォーマットをちゃんと理解した方がいいぞ。
--------
237は↑の間違い(変なところに「基本パターン」が(^^;;
239187:02/06/26 21:43
REDIMで確保したエリアの連続性か確認出来ました。
変数のアライメントにさえ気をつけておけば
大丈夫みたいです。
THX > 皆の衆
240195:02/06/26 21:50
>>237=238
即レスありがとうございます。
そうですデータファイルのフォーマットが
解かっていませんでした。小さめのサンプル
データ作って試してみます。
241初心者:02/06/26 22:10
基本的なことで申し訳ないのですが……
コマンドボタンの表面の色と
キャプションの色は変えられますか?
あと、BackColor プロパティはどこの色を指すのですか?
よろしくお願いします。
>>241
>あと、BackColor プロパティはどこの色を指すのですか?

試せ。
243229:02/06/26 22:23
>>230
その考えには賛成ですが、仮に私のやろうとしていることを2ch荒らしツールと決め付けているというのなら、
それは言いがかりというものです。
このような言いがかりとか実の無いレスは要りません。
実のあるレスをお願いします。
>>243
2ちゃんねる荒らしじゃないとしても、まともなことに使うものだとは誰も考えない罠
245229:02/06/26 22:40
>>244
だから、実の無いレスはいらないと言っているのに。
ご自分のものさしで他人を推し量るのはやめていただきたい。
>>245
じゃあ、使用目的を教えて下さい。
>>245
ウザイ。そんなに言うならなんに使うものか書いてみろよ。
248229:02/06/26 22:42
>>246
なんでそんなことをあなたに言わなくちゃいけないんですか!
身のあるレスしかもうレスしませんよ!!!


と、言われるのかなぁ、俺。わくわく。
249247:02/06/26 22:42
>>246
すまんかぶった。
250229:02/06/26 22:47
それを教えたら、あなた方は荒しに殺到するでしょ?
>>241
試すなら、Styleプロパティをグラフィックにしてから試すべし。
252デフォルトの名無しさん:02/06/26 22:51
>>250
2chで聞くのが間違いと思われ
253252:02/06/26 22:53
スマソ、漏れのも実が無いな。
実はワカラソ。他のヤシラもワカラソ
254むぅ-01Fb ◆Muu/FbRQ :02/06/26 22:53
 (それを教えたら、あなた方は荒しに殺到するでしょ?)
   V
  ∧_∧  
 ( ´∀`)   むぅ?
 (    )
 | | |      ∩∩ 
 (__)_)    (゜x゜ )○
255デフォルトの名無しさん:02/06/26 22:57
>>229
馬鹿なら馬鹿らしくおとなしくしていたらどうだ?
256デフォルトの名無しさん:02/06/26 22:58
いいんだよ、わからないんだよ、それでいいだろ?
>>255
>proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。

こいつが探しているのは妙な機能のあるプロキシな罠。
>>229
解決方法がわかりましたので、本当の利用方法とフリーメイルではない
メールアドレスを教えてください。メールにてお知らせします。
>>257
よく気づいたなー、感心
そこまで読んでなかったよ。

>>258
乗ってもらえない方に10ディナール
260229:02/06/26 23:18
>>258
では、あなたのメアド(ISPの)を教えてください。
メールにて私のメアドを連絡致します。
電話番号を教えていただいても構いません。(w
>>243
2chで「実のあるレス」を「要求」しているとこが笑える。若いねキミw

出来れば客観的に自分の書いた文章を読み直してみてほしいところだが、
なんとなく匂ってくるニュアンスから推測すれば、
HTTPってものを理解すれば、
多分あんたがとっている手段よりよっぽど楽にやりたいことができると思うよ。

とりあえずProxyってのがどういうものなのかを理解した方がやけどしないぞ。
まぁ、パクられない程度でがんばれや。
262仕様書無しさん:02/06/26 23:36
>261
229のような大馬鹿も珍しいね。脳が悪いんだろうな。
263デフォルトの名無しさん:02/06/27 08:40
>>260
おばか?
教えてもらうんだから、自分からメールアドレス書き込んだら?
VBうんぬん、というまえに常識までないのか、、、
264デフォルトの名無しさん:02/06/27 09:42
>181さんありがとうございます。
という事はデータコンボコントロール(dbcombo)を使った時
recordsetオブジェクトをrsとすると
rs!商品名=dbcombo.boundtext

rs!商品名=dbcombo.textでは同じ意味になるという事ですか?
>>260 メアドを2chで書き込まないほうがいいって聞いたんだけど。

>>265
メールでやり取りするのにメアドを書かないでどーする?
>>264
お前やっぱヘルプ読んでないだろ。
268デフォルトの名無しさん:02/06/27 10:06
>>266
>>258で「フリーメイルではないメールアドレスを」なんて書いてあって、
乗るヤシはいないと思うぞ
>264
こういうのはね、試してみりゃ一発でわかるよ。
>>229
結論を言えば、理由はともかく君に助言できる奴はいないということだ。
俺も助言できない。理由は目的が怪しいから。
>>270
本当は解決策が判らないだけと思われ。
↑いつまでもウザい
WebBrowserなんか使わないで作ればいいじゃん。
>271
解決策=回線切って首吊れ
この殺伐とした空気の中で親切君してマジに解決策を書くのは無謀と思われ
276 :02/06/27 13:23
>proxyをとっかえひっかえ掲示板に投稿して使えるproxyを
>探そうとしています。

この時点でやってる事はまともじゃねえんだから,気づけよ。クソ厨が
277おながいします:02/06/27 14:39
Inputman5.0から6.0へバージョンアップしたいと思います。
バージョン(5.0)が張られた既存のフォームは
全て張り直さなければならないのでしょうか?
278デフォルトの名無しさん:02/06/27 15:02
行き詰まっていることがありましてご教授頂きたいです。

一部欧州環境(小数点区切りが「,」の地域)にて、英語環境用に作成したexeがval関数で型エラーを起こします。
コレを防ぐ為に、PG起動時に強制的に地域設定の小数点区切りを「.」に、変更し、終了時に「,」に戻したいのですが、よい方法がわかりません。どなたか教えて頂けないでしょうか?
宜しくお願いします。


279 :02/06/27 15:17
>>278
valじゃなくて通貨型で処理
=> See HELP
28013tes200206271520:02/06/27 15:20
13tes200206271520
28133tes200206271523:02/06/27 15:23
33tes200206271523
28204tes200206271524:02/06/27 15:24
04tes200206271524
283どうやら:02/06/27 15:25
解決したようじゃないか。
284424:02/06/27 15:27
>>277
frmファイルをテキストで開いて5.0から6.0にかえれば
いいんじゃないの。

>277
変換ツールついてくるだろ
それ使え
286デフォルトの名無しさん:02/06/27 16:02
>>279
レス感謝。
記述不足でした。一部型変換で改善してあるのですが、
既存プロジェクトの修正量が膨大にて、暫定的に上記対応となったのです
が、ロケール変更で行き詰まった。
というわけです、ロケール側の操作法をご存知でしたらお教えください。
287デフォルトの名無しさん:02/06/27 16:10
>>285
ありがとうございますた。
変換ツール探してみます。
288 :02/06/27 17:02
>>286
検索/置換ではだめなのですか.

ロケールというか,Windowsのカレントの言語関連設定は
Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
で取得できますが.
関連APIを見てみてください.

289デフォルトの名無しさん:02/06/27 17:21
>>288
私も置換が良いのですけどね・・・
変更点が全てテスト項目になるという落とし穴がありますので・・・
SetLocaleInfo(DefLCID, LOCALE_SDecimal, '.')
こんな感じでなんとかなりそうですね。
がんばってみます、レスありがとうございます。
290デフォルトの名無しさん:02/06/27 18:42
13桁のバーコードをVBで使いたいのですが、
dim a as ?
a = 2000000000000

とするとなぜか

a = 2000000000000#

と最後に#がつきます。
なぜでしょうか?
?は通貨型やDOBLEを使いました。
(またこれが原因かわかりませんが、Aをレコードセットに代入するとエラーが出ます。)



また13桁の整数を扱うのにいいデータ型を教えてください。
SQLサーバーではバーコードをdecimal型で宣言しました。

もしかして13桁整数のバーコード型というのを定義するといいんでしょうか?
291デフォルトの名無しさん:02/06/27 20:43
Constってこれ何の意味ですか。
普通にセットしたのとどう違うのですか。
つか、利用価値あります?
292C厨:02/06/27 20:50
リードオンリーなんじゃネーノ?
>>291
292のとおりデース
Const a = 100
a = 0
なんて代入が出来なくなりマース

プロジェクトにアホが入るとConstとByValを付けまくりマース
>>293
ConstもByValもアホの為につけるもんじゃないだろ。
>>276,278
おい、こんなとこでマルチすんな。
漏れのレスが・・・(以下略)

>>290
#の理由なぞ、超最近にあったぞ。
言ってやんない。
Imoって。
>>295
俺は276だがマルチしてないぞ

>>290
腸細菌のレスは俺もしてやってるぞ。
言ってやんない。
298デフォルトの名無しさん:02/06/27 23:29
2ちゃん風のHPってどのように作れば
よいのですか?
>>296
芋だろ。スキルは低いし偉そうだし書き方へただし、
リアル厨房(?)だからしかたないと思って我慢してるよ。
兄ちゃん風のHP
301295:02/06/27 23:33
>>297
276→289
276よ、すまん誤爆。
>>298
おもっくそ、スレ違い。

ヽ(`Д´)ノゴルァ
とか書いてオケばOK。
後、ゴメソとかヤシとか漏れとか。
303出張 ◆dAHCh4a. :02/06/28 00:48
質問です。
文字数を調べるにはLenを使いますが
半角何文字かってのを今調べたい状況です。
文字が半角なら1文字換算、全角なら2文字換算で
合計何文字以下だったら、と判定させたいんですが
入力されているテキストが半角何文字分なのかはどうやったら
調べることができるのでしょうか。
LenB関数とStrConv関数を併用する。
ポイントはUNICODEからSJISに変換して数えることだ。
ぐぐれ。
305出張 ◆dAHCh4a. :02/06/28 01:06
>>304
できますた。
案外FAQに載ってるほどメジャーな質問だったんすね(w
ありがdございますぃた!
306 :02/06/28 01:27
800レスに一回ずつくらい出現する質問な気がする。
先にFAQで調べろよ。
>>307
FAQを→FAQで
VB.NET の質問です。
クラス内にコールバック関数を宣言して、それを SetTimer とかで呼び出すと 60〜100 回目あたりで処理が停止してしまうのですが、その対処法ってどなたかご存知でしょうか?
>>309
全面的につくりなおせ
311 :02/06/28 09:16
うむ.自分の論理のまずさを言語処理系のせいにしてはいかん.
312デフォルトの名無しさん:02/06/28 09:43
>>295
ねえよ。
お前に聞かない。
勘違いしてるようだな
>>309
以前にVB.NETでAPIなんぞ叩いてやるな。
314デフォルトの名無しさん:02/06/28 10:43
update と updatebatch の区別の仕方が未だにわかりません。
updatebatchにできてupdate に出来ない事,あるいはupdateにできてupdatebatchで
出来ない事ってどんな事がありますか?
ヘルプをみても漠然としか分からないのです.
315デフォルトの名無しさん:02/06/28 10:58
いまVBの勉強をはじめたばかりで、参考書で在庫管理のプログラムを作って
います。しかしID番号を保持する為にパラメーターファイルを利用すると書いて
おりこれによって番号の再使用を防ぐらしいのですが、肝心のパラメ-ターファイルの
作り方などが書いていないのです.これの作り方と使用の方法を教えて下さい.
>>315
参考書ってなによ?
317195:02/06/28 11:27
データをなんとか読み込み、描画させる段階で
________________________________
Public Sub PlLine(X1 As Single,
Y1 As Single, X2 As Single,
Y2 As Single, PColor As Long,
Dest As Object)
Dim X3 As Single, Y3 As Single
Dim X4 As Single, Y4 As Single
Dim Sfx As Single, Sfy As Single

'------左下隅を原点とした(mm)で受け取る-----

Sfx = Dest.ScaleWidth / TypPF.Width
Sfy = Dest.ScaleHeight / TypPF.Height

X3 = X1 * TWPM * Sfx
X4 = X2 * TWPM * Sfx
Y3 = Dest.ScaleHeight - Y1 * TWPM * Sfy
Y4 = Dest.ScaleHeight - Y2 * TWPM * Sfy
Dest.Line (X3, Y3)-(X4, Y4), PColor ←※ココ。

End Sub
__________________________________
※からエラーメッセージに飛んでいきます。
________________________________________________________________
errorhandler1:
Msg = "メッシュの描画中にエラーが発生しました。" & Err.Description
MsgBox Msg, vbExclamation, "メッシュ描画中のエラー"
________________________________________________________________

”メッシュの描画中にエラーが発生しました。オーバーフローしました。”

"Dest.Line"ってプログラムのどっかに無いか探したんですが
どこにも無いところをみるとVBのライブラリなのか?とおもい
いろいろ資料をあさっているのですが。

たびたび相すみませぬがどなたかご助力を。

318195:02/06/28 11:29
質問させていただいているのに、メアドも入れていないことに
気付いたので入れておきました。
319デフォルトの名無しさん:02/06/28 11:34
>>318
非常に難しい問題だ。
簡単には答えは出ないね。
320195:02/06/28 11:36
>>319
うう、そうなんですか。
destは
Dest as Object
と定義されていました。Object型ってなんだ?という
ところから調べているのですが。
321309:02/06/28 12:20
>>310
必要最低限のことしか記述してないのにそうなってしまうんです。

>>313
.NET Flamework に高精度タイマーってありますか?
>>321
そう言うクリティカルな物を作る場合.NETは激しく不適当です。
323 :02/06/28 12:22
Winsock関係を解説してるサイトってありませんか?
324デフォルトの名無しさん:02/06/28 12:25
>>322
マジっすか…。C++ に逝ってきます…。
>>323
その単語で検索すればいくらでも。
>>322
クリティカルの意味わかってる?
327 :02/06/28 13:13
たかだかコールバックごときと思っていたが
クリチカルなものだったとは知らなんだ
>>317
> Dest.Line (X3, Y3)-(X4, Y4), PColor ←※ココ。
ここよりも、直前の計算式の方が怪しい気もしますが、
まずは、X3, Y3, X4, Y4, PColor の値を確認してみてください。
329195:02/06/28 13:47
>>328
了解、ありがとう。
>314
ヘルプ読んでサンプル試せば理解できると思うんだけどな〜
とりあえずRecordsetオブジェクトの部分から抜粋。

>Recordset オブジェクトは、即時更新とバッチ更新の 2 種類の更新方法をサポートできます。
>即時更新では、Update メソッドを呼び出すとデータへのすべての変更がすぐに基になる
>データ ソースに書き込まれます。
>
>プロバイダがバッチ更新をサポートする場合、UpdateBatch メソッドを使ってデータベースへの
>一度の呼び出しを行うだけで、プロバイダで 1 つ以上のレコードへの変更がキャッシュされ
>転送できます。

>317
Object型ってのはオブジェクトへの参照を収める型。
どっかでSet Dset = なんちゃら、ってやってるっしょ。
Dset.Lineってのは、そのなんちゃらのLineメソッドを呼び出してるだけ。
たぶん、FormかPicturBoxあたりだと思うけど。
>195
つか、会社のメアドを2chで晒すのは激しくリスキーだと思いますが。
大丈夫か?
333デフォルトの名無しさん:02/06/28 14:19
あるプログラムで、ファイルへログを出力したいと思っています。
普通にOpenして書き込んでいくのは既に出来ました。

次はログファイルのサイズや行数に制限をつけ、その制限を越えたら
古いものから消していくという動作を実装したいのです。

サイズ制限を越えたら、制限に収まる部分のみを別ファイルに書き出し

古いファイルを削除

新ファイルをリネーム

とすれば出来たのですが、これだとなんだか効率が悪いような気がします。
普通こういった処理を行う場合、どうやるのでしょうか?
フォーム上にHTMLドキュメントを表示させたいのですが、
そんなことは可能なんでしょうか?

それらしいオブジェクトは見つかったんですが、
Microsoft Internet Controls
Microsoft HTML Object Library

ヘルプを見ても書き方がよく分かりません。
どなたか教えてください。
>>333
どのような形態かは分かりませんが、サイズ制限ではなく
ファイル数制限の方がいいのと思います。
ログそれぞれに番号を付け、上限に達したらはじめの番号に戻す。
と言うのではどうでしょうか。
336デフォルトの名無しさん:02/06/28 14:40
>335
なるほど、その手がありましたか。
たしかにそのほうが管理もしやすいし、プログラムも楽ですね。
さっそく組み込んでみます。ありがとうございました。
337195:02/06/28 14:45
素早いレスをありがとうございます。

>>331
Formの方を探してみます。いままでModuleばかり
いらっていました。
>>332
ああ、いくらなんでもそうですね。
フリーのに変えました。
忘れてください(無理か)
>334
Webブラウザコントロールじゃダメなのかな。
ドキュメントをダンプしたいのかな
レンダリングしたいっちゅうことなんかな
補足です。

>338
>Webブラウザコントロール
いろいろ試しましたけど、無理でした。
プロパティはなにを使えばいいんですか?

>339
>ダンプ
ではなくブラウザで見ているように表示させたいんです。

つまり内部でURLを指定するような形でHTMLファイルを表示させたいんですが。
341195:02/06/28 16:30
ちくと自己レスです。PictureBoxの使い方を調べて

《コントロール》.Line (横位置1, 縦位置1)-(横位置2, 縦位置2)

というのがあったので
Dest.Line のDestはコントロールということになるのだと理解
しましたが、それにしてもなぜにオーバー風呂??読み込んでる
データは
x y y
19190.631 5895.402 24.312
19187.809 5887.525 20.685

なだけなんだけどなあ。
>>328のいうとおり、どっか式がおかいしのだろうか??

>>341
実数渡してんじゃねぇよ。
343デフォルトの名無しさん:02/06/28 16:34
>330さん 有難う御座います。
ところでバッチ更新って何ですか?すみません何度も・・。
344328:02/06/28 16:55
>>341
X3, Y3, X4, Y4の値は確認した?

lineの引数に大きな値(1e+10とか)を渡すとオーバーフローになるようだから、
それじゃないですか?
345195:02/06/28 16:56
>>342
実数駄目なんですか?
どっか前のほうで整数に戻してないか
見てみます。

ううっ、このプログラム、ホントに動いてたんだろうか(;_;)
346195:02/06/28 17:03
>>344
Debug.Printを挿入してやればいい、と
ありますが、
Debug.Print X3
Debug.Print X4
Debug.Print Y4
Debug.Print Y4
としてもどこにも値が出てきません。
途中の変数の値を簡単に表示させるには
何を使えばいいのでしょうか?

つくづくタコで......。

(嗚呼、Cならprintf()だけでたいがいデバッグ
 出来るのに.........。)
>>346
ステップインで実行して、該当の箇所で該当の変数の上にマウスポインタ
348195:02/06/28 17:13
>>347
わかりました。ウォッチウインドウってやつですね。
ありがとうございます。
>>346
debug.printの出力先はイミディエイトウィンドウですよ。
ちゃんと開いてますか?

ただ、この場合だとdebug.printより、適当なところにブレイクポイントを設定して
ローカルウィンドウで値を参照した方が早いですが。
350クソ厨@229:02/06/28 17:49
244 名前:デフォルトの名無しさん 投稿日:02/06/26 22:26
>>243
2ちゃんねる荒らしじゃないとしても、まともなことに使うものだとは誰も考えない罠
246 名前:デフォルトの名無しさん 投稿日:02/06/26 22:41
>>245
じゃあ、使用目的を教えて下さい。
247 名前:デフォルトの名無しさん 投稿日:02/06/26 22:41
>>245
ウザイ。そんなに言うならなんに使うものか書いてみろよ。
248 名前:229 投稿日:02/06/26 22:42
>>246
なんでそんなことをあなたに言わなくちゃいけないんですか!
身のあるレスしかもうレスしませんよ!!!
と、言われるのかなぁ、俺。わくわく。
252 名前:デフォルトの名無しさん 投稿日:02/06/26 22:51
>>250
2chで聞くのが間違いと思われ
253 名前:252 投稿日:02/06/26 22:53
スマソ、漏れのも実が無いな。
実はワカラソ。他のヤシラもワカラソ
351クソ厨@229:02/06/28 17:50
254 名前:むぅ-01Fb ◆Muu/FbRQ 投稿日:02/06/26 22:53
 (それを教えたら、あなた方は荒しに殺到するでしょ?)
   V
  ∧_∧  
 ( ´∀`)   むぅ?
 (    )
 | | |      ∩∩ 
 (__)_)    (゜x゜ )○
255 名前:デフォルトの名無しさん 投稿日:02/06/26 22:57
>>229
馬鹿なら馬鹿らしくおとなしくしていたらどうだ?
256 名前:デフォルトの名無しさん 投稿日:02/06/26 22:58
いいんだよ、わからないんだよ、それでいいだろ?
257 名前:デフォルトの名無しさん 投稿日:02/06/26 23:03
>>255
>proxyをとっかえひっかえ掲示板に投稿して使えるproxyを探そうとしています。
こいつが探しているのは妙な機能のあるプロキシな罠。
258 名前:デフォルトの名無しさん 投稿日:02/06/26 23:06
>>229
解決方法がわかりましたので、本当の利用方法とフリーメイルではない
メールアドレスを教えてください。メールにてお知らせします。
352クソ厨@229:02/06/28 17:53
259 名前:デフォルトの名無しさん 投稿日:02/06/26 23:17
>>257
よく気づいたなー、感心
そこまで読んでなかったよ。
>>258
乗ってもらえない方に10ディナール
261 名前:デフォルトの名無しさん 投稿日:02/06/26 23:21
>>243
2chで「実のあるレス」を「要求」しているとこが笑える。若いねキミw
出来れば客観的に自分の書いた文章を読み直してみてほしいところだが、
なんとなく匂ってくるニュアンスから推測すれば、
HTTPってものを理解すれば、
多分あんたがとっている手段よりよっぽど楽にやりたいことができると思うよ。
とりあえずProxyってのがどういうものなのかを理解した方がやけどしないぞ。
まぁ、パクられない程度でがんばれや。
262 名前:仕様書無しさん 投稿日:02/06/26 23:36
>261
229のような大馬鹿も珍しいね。脳が悪いんだろうな。
263 名前:デフォルトの名無しさん 投稿日:02/06/27 08:40
>>260
おばか?
教えてもらうんだから、自分からメールアドレス書き込んだら?
VBうんぬん、というまえに常識までないのか、、、
久しぶりにVBやろうとおもったら、いつの間にか「Version Up」や「Visual Basic増強作戦」
がなくなってたのね。(気付くの遅すぎ?)
354クソ厨@229:02/06/28 17:55
そんなわけで、以上の皆さん、おなくなりになってください。
355クソ厨@229:02/06/28 17:55
そんなわけで、以上の皆さん、おなくなりになってください。
356クソ厨@229:02/06/28 17:56
そんなわけで、以上の皆さん、おなくなりになってください。
ってこれじゃー短くて荒らしにならんなー
357クソ厨@229:02/06/28 17:57
そんなわけで、以上の皆さん、おなくなりになってください。
ってこれじゃー短くて荒らしにならんなー
358クソ厨@229:02/06/28 17:57
そんなわけで、以上の皆さん、おなくなりになってください。
ってこれじゃー短くて荒らしにならんなー
359クソ厨@229:02/06/28 17:58
そんなわけで、以上の皆さん、おなくなりになってください。
ってこれじゃー短くて荒らしにならんなー











w
360どうやら:02/06/28 17:59
終り?
意外と根性ってーか根気無かったね。
361195:02/06/28 18:17
>>349
たびたびありがとうございます。
なんとか値を追っています。

(仕様書どころかコメントもロクに
ないのにどうすりゃいんや。
こりゃ土日も仕事だなあ。ふぅ)
362328:02/06/28 18:44
>>361
> なんとか値を追っています。

もしかして、ステップ実行でちまちまと追ってます?
こういう場合は、
1) ツール -> オプション -> 全般 -> エラートラップ -> エラー発生時に中断 を設定
2) 実行
3) エラーが発生した行で止まるので ローカルウィンドウで変数確認。
とすると一発で該当箇所の値がわかりますよ。
363195:02/06/28 18:58
>>362
ああ、助かります。Visualツール自体使うのはじめてで
....。プログラム以前にツールの使い方も知らないとい
うタコでして。
いきなりModule 5000行、Form 2000行からなるコード
の機能追加なんて、ううぅ。
364デフォルトの名無しさん:02/06/28 19:35
Webページを標準のブラウザで表示させたいんですが
DOSのSTARTを使う、という手以外で何かいい方法ないでしょうか。
365195:02/06/28 19:35
うえー!なんか値がおかしいし....こりゃもっとさかのぼって
調べないとだめだなぁ。

Watch : : X3 : -1.886008E+20 : Single : Module1.PlLine
Watch : : X4 : -1.886008E+20 : Single : Module1.PlLine
Watch : : Y3 : 1.898718E+20 : Single : Module1.PlLine
Watch : : Y4 : 1.898718E+20 : Single : Module1.PlLine

でもかなりデバグ楽になりました。感謝。
366デフォルトの名無しさん:02/06/28 19:46
>>364
APIのShellExecute使え。

Call ShellExecute(Me.hwnd, "open", "http://〜〜〜〜", vbNullString, vbNullString, 5)
367質問れす ◆XlLllllI :02/06/28 21:14
質問です。いろいろ調べたのですがわからんかったので
ここでお願いしてみます。VB6 WindowsXPです。

Web上にあるファイルが存在するかしないかを取得したいです。
htmなどのファイルだけではなくて、ZIPとか、jpgとか
アドレスを指定してやると、そのアドレスに当たるファイルが
存在するかしないかってのを調べたいってこと。
それも出来れば速くその作業を行いたい・・・。
何を使ってやればできるんでしょうか。
最初WebBrowserコントロールを使っていたんですが
これだと色々まずいことがあったので・・・。
よろしくおねがいします。
>>367
HTTPでHEADメソッド投げればいい。
無ければ404が飛んでくる。
369質問れす ◆XlLllllI :02/06/28 21:51
うっ 言われている意味がいまいちわからん・・・。
WinsockかなにかでHTTPプロトコルの
HEADメソッドを送ってやって、
それの反応であるか無いかを判定しろ、みたいなことでしょうか?
370 :02/06/28 22:02
>>369
正解。
371.NETレス:02/06/28 22:16
>>309 >>321
APIの宣言はどうやってる?
呼び出し部分は?

>.NET Flamework に高精度タイマーってありますか?
どれくらいの精度?

System.Windows.Forms.Timer
System.Threads.Timer
System.Timers.Timer

があるけどそれぞれ試してみては?
372質問れす ◆XlLllllI :02/06/28 22:24
ぐふっ
Winsockかよぉ
HTTPプロトコルとか知らねぇよぉ
せめてInetで出来ると腹くくってた俺がヴァカだったのか。
う〜む.....
>>372
>せめてInetで出来る
出来るだろ。GETだろうがPOSTだろうが状況は同じ。
374質問れす ◆XlLllllI :02/06/28 22:32
出来るのかよ(やり方わからんけど)
どんどん自分のアフォさが現れてくるな・・・

InetでもHEADメソッドとか送れるんだろうか。
だったらそれに越したことはないんだけど。
>>374
知らないなら知ろうと思わないのかな
そのあたりがVB房たる所以なんだろうな。ほんと情けないよ
376デフォルトの名無しさん:02/06/28 23:11
>>374
Inetコントロールのメソッドを全部調べなさい!
ちゃんとヒントくれてるんだから。
そのものずばりのがある。
377デフォルトの名無しさん:02/06/28 23:14
しかしコテハンがいなくなったなー、マトレスといい即レスといい
378即レス ◆ok/f5F1o :02/06/28 23:34
>>377
何か?
379質問れす ◆XlLllllI :02/06/28 23:34
さてはGetHeaderだな!
とやってみました。確かにそれらしき動きをかもし出してました。
でも「最後の処理が要求中です」とか言って
落ちてしまうことがかなりあります。
ウェイトを3秒挿入しても10秒にしても起きます。
あらかじめ Inet.Cancel も入れてあるのに、、、
これが何でなのかわからないと実用できないべ
380デフォルトの名無しさん:02/06/29 01:08
VB6.0です。
exeを起動し、フォームに対してエクスプローラ等からファイルをドラッグ&ドロップ(以下D&D)して
そのパスを取得するにはどのようにしたらよいのでしょうか。
現状ではD&Dしてくると、いわゆる駐車禁止マークがでてしまいます。
DragIconとかいうプロパティにアイコンを設定してみたのですがかわりません。
いや、アイコンは別にどうでもいいんです、試してみただけです。パスが取得したいです。
>>380
APIとメッセージで。
>>380
FormのDragModeを自動から手動にしろ。
んで、Form_DragDrop(だっけな)で読み込み周りのコードを書け。

あんまいいサンプル見つからなかったが
これとかで我慢すれ。
ttp://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9707/mado/vb5ctl02.html
おいおい。
384ど素人:02/06/29 01:20
すいません、VB5.0使いたいんですが・どうすればいいんですか?
買う
MX
387ど素人:02/06/29 01:26
買う以外にありませんか?
誰か親切な方ご教授ください
エムエクースで取ってくる
どうせならVB6か.NET取って故意
389ど素人:02/06/29 01:30
mxってサイトですか?ありがとうございます。探してきますね。
mxで取って来たのを起動してHDDふっとんでも知らないよ。
391ど素人:02/06/29 01:34
見つけましたがDLするソフト?ですか
VBとどう関係あるのでしょうか・・・
392ど素人:02/06/29 01:41
眠いんであきらめます。学校ですることにします。
>381-382
ありがとうございます。
OLEっていうのがなんだかよくわかってないので勉強します。
>>392
騙されるなMXはおとり捜査に使われるソフトだ。
使うとつかまるぞ。学校なんかで使うと確実に退学だ。
395ど素人:02/06/29 01:48
学校には最初からVBあるんで平気です。
家で課題したかっただけです。
>392
MXについて詳しく説明してくれています。
http://teri.2ch.net/test/read.cgi/tubo/1022259997/
398ど素人:02/06/29 02:02
>>396
ありがとうございます。重いんで明日DLしてみますね。

>>397
??
399397:02/06/29 02:04
ごめんなさい
400ど素人:02/06/29 02:06
400?
401即レス ◆dsmmNc.o :02/06/29 09:39
>>377
最近忙しいからね・・・
402即レス ◆POP.SOKU :02/06/29 09:41
トリップ訂正。
403377:02/06/29 11:25
>>402
また、手が空いたら来てください。
404デフォルトの名無しさん:02/06/29 11:27
キーコード定数に無い気がしますが、ミ田キーってどうやって取るんでしょうか。
無理?
>>404
応用力無いのがVBオタの欠点か。

イベントで送られてくるキーコードをメッセージボックスに表示するプログラム書け。
406即レス ◆POP.SOKU :02/06/29 12:43
>>403
8月には暇になるといいなあ、って感じ。
でもそれ過ぎるとVC6メインになりそうなヨカーン

たまには顔だすよん。

>>404
あら、ホントだ。一応コードは91だたよ。
MSDNで調べてみた。左と右で違うみたいだよ。
VK_LWIN 5B
VK_RWIN 5C
VK_APPS 5D
>>404
91と92だ。大昔に実験済み。
他にも面白いことがわかるから、KeyAsciiとKeyCodeは実験しる。
VKってくらいだからマシン間で同じだよね。

cygwinだとPC98キーボードでキーマップが違ってたような・・・
>>409
キーボードドライバ依存だと思われ。
横レス申し訳ないですが、「半角/全角」キーのキーコードも
教えていただけるとありがたいです。
てゆーか皆さん、ヘルプに載ってないコードはどうやって調べてるのでしょうか。
>>411

>>405
人の話聞かないのもVBオタの特徴か。
413 :02/06/29 18:53
ネタとしか考えられない。
あーなるへそ。
415デフォルトの名無しさん:02/06/29 19:07
昨日D&Dについて質問したものです、その節はどうもです。

質問なのですが、PictureBoxのPictureに文字を描くには
どうしたら良いのでしょう。

pictureに文字を書く方法があるのでしょうか。
それとも、LabelやTextBoxの表示内容を画像として扱う方法があって、
PaintPictureメソッドで貼り付けるのでしょうか。
>>415
TextOut

ヘ ル プ 読 む 気 も な い ん か い。 お 前 ら は。
>416
あれ、そんなのありましたっけ。
ありがとうございます。
もっとよくヘルプ読みます。

探し方が厨房なんだろうか。
Picture1.Print "表示したい文字"
>>416
なんだかなぁ。
>>416
ここがヘルプがわりですが、何か?

最強の自然言語検索マンセー
>>420
まさか本気でいってるんじゃないだろうな。
>>421
まぁいいじゃん、旧VBとともにこういうバカも仕事を失う。
>>412
やってみたけど、ミ田キーを押した時に、
そのコードをKeyasciiに取る方法が分かりません。
処理がそのフォームを離れてWindowsに取られてしまうのですが…。
「半角/全角」もダメぽ。
フックでもすれば?(藁
フック?
427デフォルトの名無しさん:02/06/29 22:59
データベースを処理するACTIVEX.EXE(サーバー)を作り
それを呼ぶ子プログラムも作りました。
A:ユーザによってショートカットで子プログラムを呼び出します。
B:周期的に呼び出す為に市販のアプリケーションを使って子プログラムを叩きます。
A→AやB→Bは起動中のACTIVEX.EXEが正常に動作しますが
A→BやB→Aとすると新たにACTIVEX.EXEが起動してしまいます。

無条件にCreateobjectdだけしてるのが問題だと思いますが
起動中のACTIVEX.EXEの情報をどう取得すればいいのでしょうか?
getobjectは違うのか上手くいきません。
お解りになる方よろしくお願いします。
子プログラムの二重起動防止じゃダメ?
429  :02/06/29 23:55
MDIフォームをアンロードして終了する際、
表示中の子フォームも明示的にアンロードさせた方がいいですか?
しなくて平気?
>>423
KeyAsciiで取れるわけないだろうが。あれが文字コードだから。
文字じゃないキーは・・・以下略。

>>424
以前調べたら、
「半角/全角」キーは押すたびに交互に243、244がKeyCodeに入った
・・・んだけど、だめだIMEがMS-IMEの場合、「半角/全角」キーでIMEの切り替えに
なるから、漢字入力中を表す229しか拾えない。
>>428
子はすぐに死んでしまうので重複しないのです。

今のところ対処を何も思いつかない・・・
>>431
ACTIVEX.EXEの方でミューテックスでもつくって対処とか。
433デフォルトの名無しさん:02/06/30 04:09
VB6で出来る半透明処理で一番高速な書き方はなんでしょうか?
GDI、DirectXは可。でもCなど他言語で作ったDLL等を使用する方法は不可で)

GetDIBits SetDIBitsを使った方法かなー。

◆条件
ブレンドは BMP × BMP (640×480のカラーは16bit以上)
対応OSは95〜
MMX使うと速いぞ。
VBから直接は使えないだろうけど。
「VBで出来る」「DLL等を使用する方法は不可」って言ってるじゃねえかゴルァ
436即レス ◆POP.SOKU :02/06/30 07:46
>>427
432の通り、MUTEX使うのが手っ取り早いんでない?
GUID使えば名前の重複も避けられるしね。

>>429
Unloadしないと終了しないぞ。

>>433
DirectXの2Dポリゴンが一番早いだろうな。まだやったことないけど。
次に早いのはDirectXでビデオメモリにアクセスしてMMXかな。
その次が9x系ならCreateDIBSectionでMMX、
んでからGetDIBitsやGetBitmapSection。

ちなみにMMXだけならVBでも無理矢理使えるぞ。
機械語コードバイト配列で持ってCallWindowFuncや
DispCallFuncでそこのポインタ呼び出すんだけど。
(お勧めはしないよん。)
437即レス ◆POP.SOKU :02/06/30 07:51
×GetBitmapSection→GetBitmapbits
ね。スマソ。

ちなみにこれがサンプル。
http://members.tripod.com/~masapico/doc_vbmmxlib.html
お前らbitbltを無視しないで下さい。
439ななし:02/06/30 11:57
>>425

どしろうとのアホに変なことを吹き込まないように。
(デバッグがたいへんなんだから・・・)
>>439
つぅかVBでフックなんぞ可能なんですか?
441AAA AMERICA AUTOMATIC ASOCIATION:02/06/30 11:59
デジタル、インターネット等IT関連は使い方次第で、個の力を何倍もの力に変えることが可能です。
費用対効果で他の媒体にこれより優れたものは無いでしょう。
それを船井幸雄やハーバード大学での講義さえある21世紀型流通の姿ともいわれるMLM
に活用してみましょう。それは長い目で見ても、素晴らしいネットワークビジネスといえます。
最先端のITを駆使するネットワークビジネスは、在庫をもつ必要がなく、
製造メーカーの製品を直接広める形態をとるものです。
製造会社の製品であると同時にIT部門を持ち、面倒なことはすべてお任せです。
HPを通じて、興味のある人がメールで問い合わせてくるので、
低価格、高品質な製品に関することなどを説明すれば済むのです。
何人かの識者が書籍等で発言しているように、
流通コストを消費者に還元して製品を広めるというこのシステムは、
人間的かつ将来有効なシステムを創っていける可能性の大きいものだと感じます。
実際、アメリカでは、全商品の30%がMLMです。
有名な大会社AT&T、GM、マスターカードなども採用しだしています。
興味のある人は、ぜひ以下のホームページを御覧ください。
http://ailove22.fc2web.com/lpd/index.html
442ななし:02/06/30 12:00
>>440

VB5.0以上、Access2000以上なら、できる。
AddressOf演算子をヘルプで調べるよろし。
>>440
グローバルフックじゃなきゃ出来るだろう。
444ななし:02/06/30 12:01
>>443

グローバルって・・・・他のプロセスのメッセージも監視するってことですか?
445443:02/06/30 12:19
>>444
うん。

あれ?グローバルフックもDLLにすればいいだけだから、ActiveX DLLを
作れるVBでもできるか?
>>445
素の関数が定義できない以上コールバックとしては使用できないかと。
>>446
AddressOf 使えばできるよ。
>>446
そう? ActiveX DLLにフックする関数もコールバックもすべて入れてもダメ?
でなきゃ。素の関数のポインタ(AddressOfでとれるやつ)をLong型変数に
いれて、EXE - DLL間を移動させてもダメ?
449即レス ◆POP.SOKU :02/06/30 12:36
>>438
BitBltじゃアルファブレンドは出来ないからね。

>>445
出来ないよ。ActiveXDLLとDLLは別もんだし。
昔試してみたけど。
>>449
ふっふっふ、ラスタオペレーション駆使?すればある程度はデキルのだw
451即レス ◆POP.SOKU :02/06/30 12:48
>>450
そうなん?是非聞きたいな。
452デフォルトの名無しさん:02/06/30 13:29
あのー、BMP以外を出力する方法はありますか?
っていうのは過去ログみたほうがいいですか。

10個も過去ログがあるとちょっと見る気が・・・。
>>436-437
うぉぉ!

MMX使えるのかー。>>437のサンプルGetDIBits SetDIBitsを使った方法より
断然はえー。<当たり前か

API部にCreateDIBSection使われているけど9x系とは関係無さそう。
まだあんまり見てないからよく分からないけど・・・。


DirectXの2Dポリゴンは、これよりも早い可能性があるのかー。
2DポリゴンってDirectDrawですか?DirectX Graphics?


>>452
出力って画面に表示の事?それともファイルに保存って事ですか?
454即レス ◆POP.SOKU :02/06/30 15:13
>>452
ファイルに保存、ってことなら無い。(NETはあるらしい)
自前か余所のコードで保存するしかないな。

>>453
Direct3Dでポリゴン作ってDirectDrawで作った
サーフェスに表示、だったかな。

CreateDIBSectionは2000,XPだと
BitBltで転送した時に異常に遅くなる
環境があるのだよ。
455デフォルトの名無しさん:02/06/30 15:26
長くなります。すいません。

>>371
遅れてごめんなさい。

Delegate Sub TimeProcDelegate(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)

Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Integer, ByVal uResolution As Integer, ByVal lpFunction As TimeProcDelegate, ByVal dwUser As Integer, ByVal uFlags As Integer) As Integer
Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Integer) As Integer
Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer
Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer

Public Const TIMERR_BASE = 96 ' was 128, changed to match Win 31 Sonic
Public Const TIMERR_NOERROR = (0) ' no error
Public Const TIMERR_NOCANDO = (TIMERR_BASE + 1) ' request not completed
Public Const TIMERR_STRUCT = (TIMERR_BASE + 33) ' time struct size

Public Event Tick()

Dim m_TimerID As Integer
Dim m_Interval As Integer

Dim Ret As Integer

Ret = timeBeginPeriod(1)

If Not Ret = TIMERR_NOCANDO Then
m_TimerID = timeSetEvent(Interval, 1, AddressOf TimeProc, 0, 1)
Else
MsgBox("timeBeginPeriod に失敗しました。") ' 暫定
End If

Public Sub TimeProc(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)
RaiseEvent Tick()
End Sub

です。
456デフォルトの名無しさん:02/06/30 15:43
>452
制限がかかってないときに落として、検索するだけでは?
457452:02/06/30 16:28
すいません、ファイルに保存のことです。
やはりどうしてもやりたければ、
なにか人のものを利用させていただくか、
自前でデータ解析して変換するしかないですか。

レスどうもでした。

>456氏
レス番間違いですよね。
458即レス ◆POP.SOKU :02/06/30 16:36
>>457
JpegやPNGならVBでも結構多いよ。
Trans32Jpg(だっけ?)なんかは有名だね。

>レス番間違いですよね。
んにゃ、あってるんじゃない?つまり
「過去ログ全部htmlでファイルに保存して文字列で検索すれ」
ってことでしょ。

#俺は2chの過去ログ全部落とすぐらいならGoogle使うけどさ。
漏れのかちゅのログは500MB越えてますが何か?
460即レス ◆POP.SOKU :02/06/30 16:59
べつになにも
461ななし:02/06/30 20:42
VCL(某乱土のライブラリ)をVBで使うことはできますか?
>>461
VBごときのクソ言語に扱える代物ではありません。
身の程を知れ。
>>462
わからないなら答えなくていいよ。
464デフォルトの名無しさん:02/06/30 21:15
>>463
彼は初心者スレでいきがるのが唯一のストレス解消法というかわいそうな
人なので、レスをつけずに生暖かい目で見守るのが吉でしょう。
465デフォルトの名無しさん:02/06/30 21:20
>>461
BCBとVBを両方使いますが、その様にクロスオーバーすることは考えてませんでした。
でも、無理じゃない?
VCLラップしてActiveXにするとか。
VCLってBCB/Delphi以外で使えるのか?
VB × Direct3Dに関しての良いHPありますか?

結構探したんだけどなかなか良いのが見つからなひ。

今のところマイクソのページが一番良かったんだけど・・・。
>>455
動かないコード示されても・・・。
470ななし@461です:02/06/30 21:58
やっぱり荒れちゃったか。(反省)

COMベースのライブラリなら、言語に依存せず、どのクライアントからでも
使えるのかと思ったんだけど、虫が良過ぎ?(^-^;;
VCLってCOMだったのか?
472ななし@461です:02/06/30 22:01
>>471

あれ、違います?

でも、MS製品だけがCOM仕様って訳じゃないですよね?
473デフォルトの名無しさん:02/06/30 22:03
>>469
…ごめんなさい…。

13行目からです。

Private Sub StartTimer(ByVal Interval As Integer)
Dim m_TimerID As Integer
Dim m_Interval As Integer

Dim Ret As Integer

Ret = timeBeginPeriod(1)

If Not Ret = TIMERR_NOCANDO Then
m_TimerID = timeSetEvent(Interval, 1, AddressOf TimeProc, 0, 1)
Else
MsgBox("timeBeginPeriod に失敗しました。") ' 暫定
End If
End Sub

です。
>>472
はい、全然違います。
475ななし@461です:02/06/30 22:10
>>474

てゆーことは、VBで使うにはラッパーにするしかない、と?
(そこまでやるのもアホいような気が・・・(-_-;)
>>475
>ラッパーにする

ちぇけら!
わけわからん
みんなしらん
用語を使ってご機嫌KAI?

ラッパーは俺
DJ TOMY
クラスはラッピングするもんSA!
477デフォルトの名無しさん:02/06/30 23:19
vbでunicode形式のファイルって作れるんですか?
ファイル出力したらjisかs-jisに変わるって聞いたことあるんだけど。
知ってる人いたら教えてください。
>>477
バイナリファイルとして書き出せば表現できない物は何もないよ。
479.NETレス:02/06/30 23:41
>>455
455の示したコードをベースにプログラム組んで実行したら、
こちらでは140〜170回くらいで落ちた。(Win2KSP2,.NET Framework SDK(SP1))
いろいろいじってみて、回数は後伸ばしになったが390回くらいでやはり落ちた。。
.NET側でないところで落ちている。

ドキュメントを読んだ限りでは、Delegateオブジェクトが
ガベージコレクションに抹殺されてしまってるのが原因っぽい。
ちゅうことで以下のように組んでみた(DelegateなオブジェクトをPrivateで持ってるところがポイント)。
とりあえず落ちないっぽいが自信なし。
「相互運用マーシャリング」「各種のマーシャリングのサンプル」
あたりのヘルプを読んでみてくれ。
4000回超えても落ちないので、投稿してみる。
480.NETレス:02/06/30 23:43
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

Public Class TimerTest
Inherits Form

Private mCount As Integer
Friend WithEvents aTimer As MyTimer

Public Sub New()
aTimer = New MyTimer()
End Sub

Public Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
aTimer.Start(100)
End Sub

Public Sub Form_Closing(ByVal sender As Object, ByVal e As CancelEventArgs) Handles MyBase.Closing
aTimer.Stop()
End Sub

Public Sub Timer_Tick() Handles aTimer.Tick
mCount+=1
Me.Invalidate()
End Sub

Protected Overrides Sub OnPaintBackground(e As PaintEventArgs)
MyBase.OnPaintBackground(e)
e.Graphics.Clear(Color.White)
e.Graphics.DrawString(CStr(mCount), Me.Font, New SolidBrush(Color.Black),New PointF(0,0))
End Sub

Public Shared Sub Main()
Application.Run(New TimerTest())
End Sub
End Class
481.NETレス:02/06/30 23:44

Public Delegate Sub TimeProcDelegate(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)

Public Class MyTimer
Public Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Integer, ByVal uResolution As Integer, ByVal lpFunction As TimeProcDelegate, ByVal dwUser As Integer, ByVal uFlags As Integer) As Integer
Public Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Integer) As Integer
Public Declare Function timeBeginPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer
Public Declare Function timeEndPeriod Lib "winmm.dll" (ByVal uPeriod As Integer) As Integer

Public Const TIMERR_BASE As Integer = 96 ' was 128, changed to match Win 31 Sonic
Public Const TIMERR_NOERROR As Integer = (0) ' no error
Public Const TIMERR_NOCANDO As Integer = (TIMERR_BASE + 1) ' request not completed
Public Const TIMERR_STRUCT As Integer = (TIMERR_BASE + 33) ' time struct size

Public Event Tick()

Private m_TimerID As Integer
Private m_Interval As Integer
Private m_Delegate As TimeProcDelegate

Public Sub New()
Dim Ret As Integer = timeBeginPeriod(1)

m_Delegate = New TimeProcDelegate(AddressOf TimeProc)

If Ret = TIMERR_NOCANDO Then
MessageBox.Show("timeBeginPeriod に失敗しました。") ' 暫定
End If
End Sub

Public Sub Start(ByVal Interval As Integer)
m_TimerID = timeSetEvent(Interval, 1, m_Delegate, 0, 1)
End Sub

Public Sub [Stop]()
timeKillEvent(m_TimerID)
End Sub

Protected Overrides Sub Finalize()
timeEndPeriod(1)
End Sub

Public Sub TimeProc(ByVal uID As Integer, ByVal uMsg As Integer, ByVal dwUser As Integer, ByVal dw1 As Integer, ByVal dw2 As Integer)
RaiseEvent Tick()
End Sub
End Class

これ全部をTimerTest.vbファイル1ファイルに記述して、
vbc /t:winexe /out:Timer.exe
/r:System.dll,System.Drawing.dll,System.Windows.Forms.dll TimerTest.vb /optionstrict+ /debug+

でコマンドラインからコンパイル。
482.NETレス:02/06/30 23:47
>コマンドラインからコンパイル。
なのは、漏れがSDKでやってるから、IDEを使ってるやしはその辺適当にやってくれ。

>>477
Dim b() As Byte
Dim s As String

s = "あいう123えおABC"
b = s

とかやって、bをバイナリーモードで書き出すべし。
483452:02/07/01 00:56
>458
レスどもです〜。
484デフォルトの名無しさん:02/07/01 01:27
Collection型の使い方を教えてください。
具体例とかあるとありがたいです。
>>484
ttp://www.interq.or.jp/www-user/komurak/class/
を紹介してもう寝る。
486デフォルトの名無しさん:02/07/01 01:30
かちゅ〜しゃなどのプログラムはVBで作成されたプログラムですか?
プログラムは公開されてますか?
かちゅクローンのソース(Del)が公開されて他と思うから
それを翻訳すれ。
>>487
わかりました
>485
ありがとうございます。
僕の入った会社では、VBで作ったDLLを
他の端末で使う場合、レジストリに書込/消去する
ツールを起動することになっているのですが、
(聞いた話ではレジストリ登録/削除の処理)
共同開発する場合は、皆さんしているものなのでしょうか。
初心者の質問で申しわけありません、VBほとんど
分かっていません。
>>490
共同開発と作られた機能を再利用する事がなんぜ一緒に語られるのか
分かりませんが、共同開発の時に便利なのはVSSです。

レジストリに登録云々はライセンスの問題じゃねーかな?
>>490 >> 491
レジストリに登録するのは、そうしなきゃ動かないからだよ。
VBで作れるDLLはActiveX DLLだからね。
ActiveXの作成に関連するヘルプに目を通すべし。
493デフォルトの名無しさん:02/07/01 02:33
>>490
AvtiveXはレジストリに登録しないと使えないから。

494491:02/07/01 02:42
>>492
いや、レジストリに登録しなければ使えないのは当たり前なわけで、
他の端末で使う時にわざわざもともと使ってた端末のレジストリを削除するのは、
他に何か理由があるからじゃね?
495492:02/07/01 02:47
>>494
>他の端末で使う時にわざわざもともと使ってた端末のレジストリを削除するのは、

>>490の「他の端末で使う場合、レジストリに書込/消去する」
を読んでそう捉えたなら、想像力ありすぎでは?
ツールとして書き込むものと消去するものとがあるとは書いてあるけど、
元の端末で消去するツールを実行するとはないと思うが。

他の端末で実行するのに、登録したら、後で消しとけよってことじゃない?
496492:02/07/01 02:48
>>495
すまん、意味不明な文章に・・・。

>元の端末で消去するツールを実行するとはないと思うが。
「元の端末で「消去するツール」を実行するとは書いてないと思うが。」
に訂正。
レジストリに書込/消去するツールが何のことを言ってるか気になるのは俺だけだろうか?
まあおれも環境が汚れるのはいや
499デフォルトの名無しさん:02/07/01 08:17
>>482
どうもありがとうございます。
500さば:02/07/01 12:01
VN.netの質問なんですが、誰か知ってたら教えて頂けませんか?

現在ソケット通信するサーバアプリを作っています。
TcpListenerクラスを使って、クライアントと接続して、
Socket = TcpListener.AcceptSocket
でソケットを作成しています。
このSocketを利用して
Socket.Connected
プロパティで、接続状況を確認しているのですが、
クライアントアプリを停止したりしても、
Socket.Connected プロパティが常にTrueになってしまいます。
クライアントはVB6、VB.netで作成しましたが、結果は同じです。
上手く接続状況を確認できる方法はないでしょうか??
501デフォルトの名無しさん:02/07/01 13:07
vb6.0で座標をピクチャーボックスの中心にもっていきたい場合は
どうしたらよろしいんでしょうか?
どなたか教えてください?
502さば:02/07/01 13:14
すみません
×VN.netの質問
○VB.netの質問
です
>501
何がやりたいんだかサッパリです
504どうやら:02/07/01 13:45
>>503
おそらく「座標の原点を」と言いたいのでは?
レスとしては、「んなもん、自前で関数作れ」でいい?
505デフォルトの名無しさん:02/07/01 13:52
VBのエディタ上で使えるGrepツールってありますか?
探したけど、見つけられませんでした。。。
506デフォルトの名無しさん:02/07/01 14:46
関数はどう作るんですか?
>500
タイムアウト処理を組み込んでおくってのは?
508どうやら:02/07/01 14:56
>>506
写像関数でもつくれば?
ってか、あなたがやりたいことを最もよく知っているのはあなたなんだから、
あなたがロジックを考えなさい。
他人にヒントを貰おうと思ったら、環境・状況・目的等をピシッと書いてくれないと、助言できねっす。

マサカと思うけど、"Private Function"とキーを打ったことが無いとは言わないよね。
509どうやら:02/07/01 14:58
しまった、
>>506 はネタだったのか?
ハメラレタ・・・鬱
510さば:02/07/01 15:06
>>507
接続の確認をしてからソケットからデータをSendしようと
しているんですが、実際には接続が切れていても一回目のみSocket.Sendコマンドは
出来てしまうんです。
(もちろんクライアントは存在しないので、送信バッファか何かに保持されている
だけみたいですが)
そして、2度Sendイベントを行うと、エラーで落ちます...
511デフォルトの名無しさん:02/07/01 17:05
バッチ更新ってなんですか?
512511:02/07/01 18:38
ごめんなさい。出来ますた
513デフォルトの名無しさん:02/07/01 23:07
>501
ユーザ座標で、(-1,-1)-(1,1)とかに設定するだけ。
関数作る方が勉強になるけどね。
514デフォルトの名無しさん:02/07/01 23:44
>478
解決しました。ありがとー!
VBって、環境設定しだいでしょうけど、
オブジェクト名のあとに","を打つとメソッドとか出るじゃないですか。

で、なんで>418の".Print"は出てきてくれないんですか?
516デフォルトの名無しさん:02/07/02 05:18
>>515
「おすすめ」ではないって事ですな
>>515
他のメソッドと扱いが違うから、かな?
構文も特殊だし。
518即レス ◆POP.SOKU :02/07/02 10:07
>>501
意味不明だが、中心に描画する時は
親のサイズをpw,ph、子のサイズをcw,chとすると
((pw-cw)\2,(ph-ch)\2)に描画すればいいぞ。

>>505
そう言えばVBのコントロールではあんまり無いな。
自前で作ったほうが早いんじゃないか?

>>506
Function Hoge()
End Function

>>515
もともとVBではPrintメソッドはサポートされないが、
昔からBASICを使ってきた人用にわざわざ対応した、
という話を聞いたことがあるような。
519デフォルトの名無しさん:02/07/02 10:10
Line Input #1,d
をつかってデータファイルらしきもの(一部テキスト)から読みこんでいるのですが、
文字として読めないのか、ところどころしか読みこめません。化けるし。
うまく読める方法はないでしょうか。お願いします。
520即レス ◆POP.SOKU :02/07/02 10:16
>>519
Binaryで読み込んでみれ。
早速ありがdやってみます
522デフォルトの名無しさん:02/07/02 16:08
それでバッチ更新ってなんですか?
523デフォルトの名無しさん:02/07/02 17:41
厨な質問ですが、お願いします。
現在VB.NETでDataGridを継承したコントロールを作りたいと思って挑戦してるのですが、うまくいきません。
DataGridのソースがどこかにあると、聞いた気がしたので、そこを参照にしたいのですが、
どこにありますでしょうか?
524 ◆5glB3gAo :02/07/02 18:36
VB6なんですが
外部プログラムでの「閉じる」を検出して
閉じる操作をキャンセル(VBでいうとQueryUnloadでCancelを1にするように)
したいんですが、これは実現できますでしょうか。

そんなことするならウィンドウハンドル取って閉じるボタン無効にすれば?
といわれそうですが、そうしないでやらないとマズイことがあるので・・・。

おながいします。
525デフォルトの名無しさん:02/07/02 20:42
>>482
解決しました。ありがとうー!
>516-518
レスどもです。
あまりおすすめではないのですか。
CallやGosubが昔のなごりだってのは本で見ました。

じゃあ、話がPrintに限定されますが、
pictureに文字を出すスマートなやり方が他にあるんですか?
>>526
.Printでいいと思うけどね。
他の方法ならTextOutとか。
528デフォルトの名無しさん:02/07/03 08:37
初めてVB(6.0LerningEdition)を買ってきました。

「プロジェクト」-「コンポーネント」で”Microsoft Internet Transfer Control6.0(SP4)”
にチェックを入れ、フォームに”Inet”を貼りつけると

「このコンポーネントのライセンス情報が見つかりません。デザイン環境で
この機能を使うために必要なライセンスがありません」と出ます。

SP5にはしました。VBを再インストールしても同じです。
ヘルプを見ても(Error429)「ActiveXコントロールをサイドセットアップするか
コントロールの発売元にお問い合わせください」としかありません。
困ってます。よろしくお願いします。
LerningEditionだからだろ。
530528:02/07/03 09:04
>>529 ありがとうございます。
マジっすか。それならそれで、極めて単純な理由なので納得できます。
ProfessionalEdition買ってきます。
しかし、「使えねぇよ」ぐらいのメッセージ出てもいいですよね。
あるいは「Professional買えよ」とか。
>>530
>ProfessionalEdition買ってきます。
ラーニング買った金がモタイナーイ
.NETは?
532デフォルトの名無しさん:02/07/03 09:21
つか、.NETにしろよ。いっそC#とか。
533528:02/07/03 09:53
>>531-532
悲しいかなWindows98なんですよ。98だとダメですよね?<.NET
つーか、今Professionalネット購入しようとMSから紹介されてるショップ探したけど
どこも売ってない。.NETばっか。パソコン買わなきゃダメってこと?
>>533
OS買えよ・・・
535528:02/07/03 10:06
>>534
98年モデルで、メモリだって目一杯増設してても128MBだし
買い換える方向で考えます。出費痛すぎ。(涙
みんなありがとう。
じゃあラーニングエディションでがんばれば?
コンポーネントに頼らずAPIでゴリゴリ実装。
質問です
CreateProcessでアプリを起動して、アプリが起動中かどうか
判定したいのですが、メモ帳、電卓、エクセル、ワードなどは
うまくいくのですが、ワードパッドだけうまくいきません。
どうもワードパッドだけprocess_end_code_に違う値が返ってくるの
ですがこれは仕様ですか?それともバグですか?

以下ソース

Public process_info As Boolean
Public Const STATUS_PENDING = &H103&
Public Const STILL_ACTIVE = STATUS_PENDING

CreateProcess_ = CreateProcess(vbNullString, path_app, _
ByVal 0&, ByVal 0&, 1&, &H200, _
ByVal 0&, vbNullString, startupinfo_, process_information_)

GetExitCodeProcess_ = GetExitCodeProcess(process_information_.hProcess, process_end_code_)
If process_end_code_ = STILL_ACTIVE Then
process_info = True  '起動中
else
process_info = False  '起動していない
End If
>>537
そんなもん同じ値返せなんてどこにも規定されてない。

バグとか軽々しくほざくな。
539537:02/07/03 10:58
>>538
なんか私の書き方が悪かったようで。
確認したかったことは
ワードパッドがこの値を返してくるのが仕様なのか?
それとも私のソースにおかしい所があってワードパッドが
正しい値を返していないのか?
また、ワードパッドがこういうものならば
何か別の方法でチェックできないか?
と聞きたかったのです。

だからここでいってるバグって言うのは私のソースのことであって
ワードパッドにバグが!!と言いたかったわけではないんです。
540デフォルトの名無しさん:02/07/03 11:43
質問です。
いまVBで日本語打とうとしたら、”A”付近のキーに触ってしまい、
それから日本語を打つと、
■■■■■■■■■■
のように黒く表示されてしまいます。Enterを押せば一応読めるのですが、
どうやら、アンダーラインが■になってしまったようです。
ほかのアプリは影響ありません。

どうしたら直るでしょうか?おねがいします。
541デフォルトの名無しさん:02/07/03 12:18
拡張子exeをzipに変換ってどうやるんでしょうか?
>>541
それは純粋に拡張子を変換する方法を聞いてるのか?
それともzipに圧縮するソフトを作りたくて聞いてるのか?



まさか自分で作ったexeをzipで配布したいという事じゃないだろうな?
>>541
下記のどれかを選べ
1.renameする。
2.統合アーカイバを見に行く
3.ベクターへ行く
544デフォルトの名無しさん:02/07/03 13:25
バイナリ値変更→保存について

既存のファイルに改行コードを付加したり
取り除いたりする場合、
バイナリ形式でファイルを開くのは分かるのですが、
その後の対応方法が分かりません(改行コードを付加、削除→保存まで)

あと、指定アドレスの場所を参照したい場合は
どのようにしたら良いのでしょうか?
>>544
Cで書いたプログラムをVBで実行するにはどのように記述したら良いんで消化?
分からない・・・

>546
shellすりゃいいじゃん
549あきら:02/07/03 15:11
誰かVC++で足し算のできるWINDOWS application作っていただけませんか?
初心者なので意味がわかりません。お願いします。
>>549
自分の勉強は自分でしなさい。
551即レス ◆POP.SOKU :02/07/03 15:42
>>522
各場面で微妙に意味は違うが、
基本的に一括でデータを更新すること。
もしくはその為のプログラム。

>>524
VBだけじゃ無理っぽいな。
C使えるならフックが使えるが。

>>526
無いよ。

>>537
起動直後にExitCodeを取得しようと
してるからじゃないか?
WaitForInputIdleつかってみれ。

(その場合は他のアプリでも
STILL_ACTIVE以外が返ってくるんだが。)

>>541
?

>>544
バイナリデータなら、
Redimでサイズ変更、位置ずらして追加。
Killで削除、Open~Putで保存。

>指定アドレスの場所を参照
Seekのことか?

>>546
?

>>549
VC++で電卓作れ、ってことでしょ。

>作っていただけませんか?
やだ。
552デフォルトの名無しさん:02/07/03 15:53
Windows2000でVB6.0をインストールして使おうとしたら
実行>>開始 
とすると、突然画面が真っ暗になって再起動がかかります。

あるいはスレ違いかも知れませんが、VB6.0をつかっていて
こういった症状を経験したことのある方、ご助言賜りたく。
>552
とりあえずSP5当てれ。
554デフォルトの名無しさん:02/07/03 16:23
>>553
行けました!
神様ありがとう!!
>>554
まじかよ!!!
556554:02/07/03 16:36
>>555
マジです!
おまけにOffice2000でフォントを切り替えようとすると
再起動がかかるという不具合も直りました。
(これはWindows2000スレで質問出していたのですが)

いやぁ〜助かりました。
557540:02/07/03 20:42
だれかー>>540もお願いします。

似たような症状の人いませんか?
>>540
情報不足すぎw。
即効で確実な方法だけ知りたいなら、マシンごと買い換えろ。
それでもだめなら宗教かえてみたら?
559500:02/07/03 21:31
>>558
私も情報不足ですか?
真言宗から他宗派へ逝くべき?
560デフォルトの名無しさん:02/07/03 22:16
>>540
言語かフォントの設定変えれば?
ACCESSデータベースを使って複数プログラム(プロジェクト)を作成
しましたが、プログラムが十数本になったため、これらを起動する
メニュー画面を作りました。しかし、shell関数で各々のEXEを実行
しているため、使っていて動きが不自然です。
このような複数プロジェクトをスムーズに動かすメニューの作り方
にどのような方法があるか教えてください。
ちなみに一つのプロジェクトで複数のフォーム、データレポートを
使っています。
>>540
WindowsフォルダにttfCacheってのがあったら
それ削除して再起動してみたら?
あまりにも有名な対処方なんでもうやってるかもしれんけど。
>>500
VB.NETはまだ使ったことがないからTcpListenerクラスはよく知らないけど
Connectedってのは「接続できた」っていう情報しかとれないんじゃない?
「接続されている」という意味ではないと思うんだけど。
TCPだと接続されているかどうかを「確実に」確認するのは
原理的に無理だと思うし。

TCPだとクライアントの方は終了するときちゃんとしてる?
クライアントがCloseしてすぐ終了したりすると
サーバ側は切れたことを確認できないで。
(クラ「切断するで〜」→サバ「ほいな。じゃ切るでー」→クラ「ほいな」で
 TCPは終了するからさぁ。最後の「ほいな」がないと切れないんよね)

通信がなければタイムアウトで切っちゃうか、
送ってみてダメだったらダメって判断するしかないと思うなぁ。
まぁ詳しいことは池田さんあたりに聞いてみてよ。
たぶん救ってくれるw
564即レス ◆POP.SOKU :02/07/04 01:03
>>540
フォントの設定日本語以外になってるんじゃないか?
この前どうしてもフォームに日本語が出せなくて
さんざん悩んだ結果、フォームの日本語設定が
バルト語になってたことがあるぞ。

一人で笑っちゃったよ。バルト語って何国の言葉なんだ。

>>500
NETはやってないのでパス。

>>561
あらかじめ表示させずに起動しておいて、
必要な時に表示するとか。

ただプロセスは起動するだけでかなりのリソースを使う。
Accessなんか十数個も起動したら不自然になるの
当たり前だぞ。
>バルト語
リトアニア・ラトビアなどバルト海沿岸部諸語
>>565
そこー、マジレスしないように!
567540:02/07/04 08:43
>>560さん>>562さん即レスさんレスありがとうございます
ttfcache消しました、でもなおらず。
フォント、ってMSゴシックとかですよね、
MS明朝とかにしてもうまくいかず、、、

パスワード入力時のように、入力しても見えない、でも、漢字に変換せずに
エンターを押して、漢字変換候補を決定すれば見えるようになる、
しかもほかのアプリは正常に漢字変換できる、、、

かなーり変な感じです。
とりあえず、仕方ないので再インストールします
ありがとうございました。
568デフォルトの名無しさん:02/07/04 10:08
この仕様、どうよ!?
過去に書いたソース、全部チェックしなくちゃならん。
VBをWin95,98,2000から使ってた人は要注意です。

この仕様のどこが一般的なのか小一時間(以下略)。

ttp://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fjp418%2f6%2f91.asp

【抜粋】

Windows XP に含まれているオートメーション ライブラリ 3.50 環境では、Format 関数は、
丸めの対象となる数値が 5 の 場合、最も一般的である 「丸めの対象とな る一桁前の数
値が偶数であれば繰り下げ、奇数であれば繰り上げる」 という方法で数値の丸めの処理
を行います。 Windows XP 環境において Format 関数は以下のように動作します。

例:

Format("0.5", "#,##0") '0 が返ります
Format("1.5", "#,##0") '2 が返ります
Format("2.5", "#,##0") '2 が返ります
Format("3.5", "#,##0") '4 が返ります
569即レス ◆POP.SOKU :02/07/04 10:33
>>567
んにゃ、フォントの文字セットのこと。

>>568
ありゃ、ほんとだ。

まあCLngとかでは一般的な処理だからねえ。
四捨五入する時はint(x+0.5)ってやってたしなあ。
570デフォルトの名無しさん:02/07/04 10:39
Visual Basic 6.0
Windows2000
でUnicodeファイルを作成しようしているんですが、
下のように、全角文字をファイルに出力すると
どうしても、文字化けしてしまいます。

Dim strUNICODE As String
Dim byteCHAR() As Byte
strUNICODE = "3042" '←「あ」
Open "output.txt" For Binary As #1

byteCHAR = ChrW("&H" & strUNICODE)

Debug.Print byteCHAR 'デバッグしてみると「あ」とちゃんと表示される
Put #1, , byteCHAR 'ファイルの出力「BO」と表示される

Close #1

全角文字をUnicodeでファイルに出力する方法ってあるんでしょうか?
知っている方いましたら、教えてください。
よろしくお願いします。
571即レス ◆POP.SOKU :02/07/04 10:43
>>570
Dim strUNICODE As String
Dim byteCHAR() As Byte
Dim UnicodeHead(1) As Byte'ここと
UnicodeHead(0) = &HFF'ここ
UnicodeHead(1) = &HFE'ここ
strUNICODE = "3042" '←「あ」
Open "c:\output.txt" For Binary As #1

byteCHAR = ChrW("&H" & strUNICODE)

Debug.Print byteCHAR 'デバッグしてみると「あ」とちゃんと表示される
Put #1, , UnicodeHead'ここを追加
Put #1, , byteCHAR 'ファイルの出力「BO」と表示される

Close #1
572 :02/07/04 11:12
Rndで、0〜10まで、小数点第2位以下を消して乱数を発生させたいです。
(0,1などOK。0,01はだめ。)
こうやってもできないのですが、どうやればいいのでしょうか?

cur = Rnd * 10
Label3(uma).Caption = cur - (cur Mod 0,1)
>>572
Dim RndValue As Double
RndValue = Int(Rnd * 100) / 10
MsgBox RndValue
574即レス ◆POP.SOKU :02/07/04 11:15
名前入れ忘れ。

そろそろ2chブラウザでも使うかなあ。
でも使うと2ch止められないんだよなあ。
575 :02/07/04 11:19
>>573

サンキューです。
ついでにもう一つやることができたのですが、上のパターンで、1〜10までの乱数を発生させるにはどうすればいいのでしょうか?
つまり0〜0.9までは、省きたいのです。
576 :02/07/04 11:19
あ、+1すればいいですね。
変な質問申し訳ありませんでした。
577デフォルトの名無しさん:02/07/04 11:51
VBに引数をつけて、起動した場合、
引数は、どうやって参照するですか?
>>577
command
>577
Command$
ケコーン
581デフォルトの名無しさん:02/07/04 11:54
>578>579
ありがとう、さっそくやってみます。
582500:02/07/04 12:39
>>563
書込みありがとうございます!

Socket.Connected
の解説によると


「プロパティ値
Socket がリモート リソースに接続されている場合は true 。
それ以外の場合は false 。

解説
Socket の接続状態を取得します。このプロパティは Socket の
最新の既知の状態を返します。
false を返す場合、 Socket は一度も接続されていないか、接続が切断されています。
true を返す場合、 Socket は前回の I/O 操作時に接続されていました。

メモ Connected が true を返した場合でも、 Socket がまだ Connected である保証はありません。」
となってます。
最新の既知の情報、ということだったんで、確認できるのかなぁと思ってたんですが...

クライアントの切断は、VB6で作ったプログラムでWinsock.closeで
切断処理しとります。

やっぱポーリングとかで対処するしかないんでしょうか??

ちなみに池田氏とは??
583デフォルトの名無しさん:02/07/04 12:50
VisualBasic.netの認証ってOfficeXPやWindowsXPと同じようなかんじですか?
認証自体面倒くさくていやなのですが、都合上、PCの中身(CPUなど)をよく取り替えるので、
WindowsXPのような認証だと非常に困るのです・・・。
そこの所どうなっているのかご教授ください。
また、認証を回避する方法が、すでに存在しているのかどうか教えてください。
お願いいたします。
584570:02/07/04 12:58
>>571
ありがとうございます。
それでやったらうまくいきました。
Byte Order Markってやつなんですね・・・。
勉強しなおします。
585546:02/07/04 13:18
分かりにくくてスマソ・・・
えーとですねVC++でタイピングプログラムを作ったんですが、
それをVBを使って動かせるようにしなさいと先生に言われたのです。
が、
VBで画面レイアウトを作って、
それから個々にCのプログラムから機能分担させる所でお手上げです・・・

もう、何が何やら/(´Д`;)?
>>585
そんなん自動でバシッとやってくれるような方法なんてありゃせん。
コツコツ移植しなされ。
>>585
その状態ならなんか本を買うならWebなりで簡単にでも
VBの基礎を勉強した方がいいと思われ。
588即レス ◆POP.SOKU :02/07/04 13:25
>>585
なら、VBのShellでそのVCのアプリを起動するってのは?
一応「VBを使って動かせるようにしなさい」を守ってるぞ。(w

まじめに移植するんならどれぐらい複雑に作ってあるかにもよるが
一から作り直したほうが早いだろうな。

まあとりあえずVBの初心者本ぐらいは読んだらどうだ?
589546:02/07/04 13:30
>586
いや、逐一書きこまなきゃ逝けないことは分かるんですが・・・

>587
ですね、いきなり言われて、ただがむしゃらに突っ走ってるんですが、
VBの知識が無さすぎです。

唯一自力で書けるのがunload me・・・

逝ってきます

586さん587さんご迷惑おかけしました。
教科書でも読んでがむばります。
590546:02/07/04 13:39
>588
ありがd

shellは駄目っていわれました・・・
はぁ、なんでグループ開発の授業なのに私しかプログラム組んでないんだろう
愚痴っても仕方ないですけど

一人は辛い
591即レス ◆POP.SOKU :02/07/04 13:45
>>590
じゃあCreateProcess...キリないから止めよ。

VBはPGの達人にも素人さんにも敷居が低いのが
いい所だからな。すぐに出来るようになるさ。

ま、がんばれ。
VBでバイナリエディタを開発するときに必要な知識を得るにはどうしたら良いでしょう?
サンプルソースがあれば手っ取り早いのですが…
バイナリファイルのリード/ライトでええやん?
あと文字コードくらいか...
もちろん、一般的なVBの知識はあるという前提の上でだけど。
>>593
複雑な機能はいらないです。
バイナリファイルのリード/ライトの構造は分かるのですが、
出回っているバイナリエディタに、望んでいる機能が無くて困っています。
文字コードは分かりません。
>>594
望んでる機能がわかってるのならそれを作れば?
もう来んなボケカス
596デフォルトの名無しさん:02/07/04 19:43
VBからExcelのシートをいじってるのですが、
Excelの選択範囲を扱う、
「Selection.○○」
ってのが使えないので難儀しています。
多分、どのシートを選択しとんねん、みたいなことだろうと思うのですが、
「Workbook.Worksheets("Sheet1").Selection」
って出来ないので指定する方法が分かりません。
無理なんでしょうか。
おながいします。
>>596
それ、多分あんたが思ってる機能と違うから。
詳しい事はヘルプにもろ出てるからそれ見ろコンチクショウ
そんでVBじゃなくてVBA
598596:02/07/04 20:20
>>597
すみません、書き方悪かったですね。
ええと、VB6からExcelの参照設定入れてやってるのです。

ExcelからAlt+F11のVBEで書けば、自らのSheetなので、
Selectionで選択範囲を参照出来るのですが、
VB6からだと、外部からの参照というせいか、
Selectionで選択範囲を取得できないのです。
>>598
VBからExcelを操作する方法は知らないが、WorkSheetオブジェクトには
Selectionメソッドはない。
600596:02/07/04 21:15
まずは600!っと。

>>599
ごめん、それ忘れて下さい。
そういう感じにどのSheetのものか指定できると出来るのにな、ってことです。
601599:02/07/04 21:17
Selectionはプロパティだった。訂正しとく。
>>600
それはよくわからん。スマソ。
リテラルに指定するのじゃなくて、いったんバリアントに参照を
放り込んでその変数に対してSelectionを指定
それでできなければ
名前じゃなくてインデックスか性吸う痴で指定するとできるかもしらん。
できんかもしらん。ようわからん。
603山太郎:02/07/04 22:55
SelectionはExcelのApplicationオブジェクトのプロパティなので、

Set ex = New Excel.Application ってやった後なら
ex.Selection って感じで参照できるにょ。

アプリケーション中でSelectできるのは1箇所だけだから、
どのシートってのは指定する必要無し。
604デフォルトの名無しさん:02/07/04 23:31
上司に
「VBでドキュメントビューアーキテクチャ」
しろっていわれました。
VCにはあるみたいだけど
VBでやろうと思ったら
ちゃんとドキュメントクラス作って・・・
ってやらんとだめなんですか?

何かいい案ありませんか?
>>604
まずはドキュメントビューアーキテクチャがなんなのかを勉強しろ
606      :02/07/04 23:35
なぜ vb やの
>>605
それにコントローラを加えれば

DCV?
608604:02/07/04 23:38
>>605
C/SでDBと接続するシステムなんだけど
つまり必要な情報をDBから取ってきて
フォームとは別にクラスかなんかに保持しておくんだよね。

フォーム(ビュー)→クラス(ドキュメント)→DB

こんなかんじであってる?
ドキュメントビューアーキテクチャはプログラムの方法論。
言語は関係ないだろ
>>608
要はロジックとビューを切り離せって事だろ。
最近良くやるよ。
でも、それやるとユーザインターフェース作るのが面倒になる罠。
フォームモジュールにダラダラSQL書くなっつー事でおけ?
>>611
クラス作ってカプセル化しなされ。
その上司が単にDocument-View言ってみたかっただけちゃうんかと(
614604:02/07/05 00:20
>>611
それだけじゃ足りないような・・・

とりあえずやろうとしてるのは

Form1.frm,Form1.bas,Form1_DOC.cls,DBAccess.dsr
をつかって

1.DataEnvironment(DBAccess.dsr)を使ってDBからデータ取得
2.ドキュメントクラス(Form1_DOC.cls)にデータを保持
3.Form1.basで、ドキュメントクラスから
表示するデータを取り出し、Form1.frmに表示

こんなかんじだと認識したんだけど・・・
DB使うのに、データをクラスで保持するんじゃDBの機能半減だな

端末がデータが欲しい時に、クラスのデータとDBのデータが違ってしまう場合が
考えられるし、データ更新時のロックとかは?

DBへのインタフェースがクラスである事は良いと思うけど、
C/S型のシステムでデータの保持にクラスを使うのは・・・。
検索や抽出はすべてクラスのデータから行うの?
616604:02/07/05 01:25
>>615
画面を表示したり、更新ボタンを押すたびに
DBに接続するつもりだから・・・

DBの内容をフォームに表示する時に
一緒にクラスに保存しておく

そうすれば、更新するときに
元の値と違うものだけを更新すればよくなる。

>データ更新時のロックとかは?
これは結局更新日時見たりせんといかんと思うけど。

>検索や抽出はすべてクラスのデータから行うの?
検索はDBからしてそのたびにクラスの内容を書き換えるかんじ
抽出はクラスからする。
>>615
> DB使うのに、データをクラスで保持するんじゃDBの機能半減だな
>
> 端末がデータが欲しい時に、クラスのデータとDBのデータが違ってしまう場合が
> 考えられるし、データ更新時のロックとかは?
クラスで保持するかしないに関係なく、問題点・解決策は同じだと思うが。
>>595
>必要な知識を得るにはどうしたら
って聞いてるだろ
日本語の勉強してるのか???
頭大丈夫か?
>>618
ヘルプ読むなりネット検索するなり人に聞くなりすりゃいいじゃん。
んな事もわからんとは君もちょっと大丈夫かって感じだな。
>>595はいきなりキレすぎだけど。
つーか望んでいる機能が無くて困ってるなら、それについて聞けばいいのに。
>>619
>ヘルプ読むなりネット検索するなり人に聞くなり
もちろんやっている
>望んでいる機能
先に基礎知識を入れたい
621即レス ◆POP.SOKU :02/07/05 10:00
>>592
バイナリエディタは俺も作ったことがあるが
別に何も特別な知識は必要無いぞ。

>>594
その望んでる機能が何か言わんと返事のしようが無い。
>>620
"もちろんやっている"なら基礎知識は当然わかってるものだと思うのだけれども。
まあ"必要な知識を得るにはどうしたらいいか"もわかってるようなので
これで解決だね。
>>621
お願いします。

1.指定アドレスから○○h毎にデータを取得し修正。<−−複数操作可
尚、入力データチェック機能付加
2.変更データを別画面にて複数入力しておき、
変更前内容が現データと同じか比較、同じ内容なら変更値を入れる
一括変換と個別変換の機能付加
3.指定アドレス範囲をBMP化(サイズ指定可、予測サイズ表示)
4.変更データのライブラリ化

バイナリエディタの機能は1部作成しました
1.テキストボックス上に00〜0Fx00〜0Fのデータ配置
2.値(00)をダブルクリックすると別画面が表示され値変更可
3.ファイル読込、保存
4.ファイルサイズ表示

↑のを少し変更したいと思っています。
1.アドレス位置表示
00000000
00000001
00000002
と表示される部分をテキストボックスで作成しましたが、
これのアドレス管理方法が分かりません。<−−画面スクロール時の対応不明
00〜0Fx00〜0Fのデータとの連同(画面スクロール)方法も分かりません。
2.00〜0Fx00〜0Fのデータ
現在テキストボックスで
00 01 02 〜 0F
00 01 02 〜 0F
と表示させているのですが
値を編集するには値(00)をダブルクリックしなければ変更できません。
これを値(00)を直接変更できるようにしたいのと
00 01のスペース部分は選択できないようにしたい。

>623
まずこのうんこを食え。話はそれからだ。
625即レス ◆POP.SOKU :02/07/05 11:26
>>621
むう、難解な文章だな。よく分からん。

とりあえずVBの基礎は大体知ってると仮定するぞ。
んで、表示部分はテキストボックスなんだな?
では。

1.Get,Put
2.入力部(テキストボックスなど)、Get,Put
3.GetDC,BitBlt,ピクチャボックス,SavePicture
4.それ用のデータを持っとく。ReDimとかで。

あと普通バイナリエディタなんかの表示部分は
PictureBoxかFormに直接描くんだが。
626即レス ◆POP.SOKU :02/07/05 11:36
>>621>>623だたよ。てへ。
現在アクセス2000を使用しております
そこでクエリについてのしつもんですが、
2つクエリをつかって結果をもとめています。
ひとつめのクエリはクロス集計クエリを使用しており
2つ目は選択クエリを使用しています。
そこで一つ目のクロス集計の内容をクエリ2に反映させているわ
けですが、
クエリ2で
「1: IIf(IsNull([クエリ1のクエリ名].[1]),
   0,([クエリ1のクエリ名].[1]))」
上記構文でクエリ1の「1」というフィールドが
NULLの場合は0を配置しております。
そこでそのクエリ1の「1」というフィールドが無い場合も0を既定で配置したいのですが、
なにか良い方法はないのでしょうか?
クエリ1のフィールドは「1」から「10」まであり
クロス集計でその値をもとめています。しかしもしクロス集計で集計でフィールドがある場合はいいのですが、無い場合もあるのです。
そのときの処理をおこないたいのですが・・・・
アドバイスの方宜しくお願いします。
>>627
スレ違い。
VB6.0SP5.0についての質問ですが、
VB6.0からテキストファイルにADOまたは
DAOを仕様してあたかもアクセスを仕様するかのように
データをあつかいたいのですが、なにかいい方法はありませんか?
宜しくお願いします
>>623
よく意味が理解できないのだけれども
2のテキスト編集処理はSelStart等を使えばなんとかなりそうな予感。
たとえばテキストChange時に
ss = txt.SelStart
Select Case ss Mod 3
Case 0
txt.Text = Left$(txt.Text, ss - 1) & " " & Mid$(txt.Text, ss + 2)
txt.SelStart = ss
  ・
  ・
てな感じで。再帰防止とSelLengthを常に0にするのも忘れずに。
631デフォルトの名無しさん:02/07/05 16:03
Delphiみたいに使用してない変数を警告でだしてはくれないでしょうか?
地道に検索かけて消すしかないんでしょうか?
>>631
メニュー>ツール>オプション
「編集」タグ 「変数の宣言を強制する」にチェックを入れる。
633631:02/07/05 16:21
>>632
そうじゃなくて・・・宣言されてるけど使用されてない変数の
事なんですが・・・
>>629
テキストファイルを読み込む
     ↓
ACCESSに書き出す
     ↓
ACCESSを読み込む
     ↓
ADO、DAOで扱える
     ↓
   (゚д゚)ウマー
>>633
俺は地道に検索してる
636デフォルトの名無しさん :02/07/05 17:27
こんばんは!

WMIクラスを使って、CPUの温度とパケットの流れなどを監視したいのですが、
CIM、WIMをMSDNで探して見て実際にデータを取得したりしましたが
うまくできません。

クラスとプロパティ どなたか知っている方おられませんか?
637デフォルトの名無しさん:02/07/05 18:30
新しいフォームを動的に生成したいんです。
どうやればいいですか?
毎回フォームの内容はほぼ同じで
一部のLabelとかだけの表示が変わるのですが。
同時に2つ3つと開かれる場合もあります。
638デフォルトの名無しさん:02/07/05 18:58
テキスト形式のデータファイルを一行ずつ配列に読み込んでゆくには
どうしたら良いのでしょうか?
たとえばこんな

x y z
1 2 4
4 4 7
5 6 8
9 7 8
2 7 9
......

ど素人なものでどなたかお教え願います。m(_ _)m
>>636
データ取得がうまくできないのか
データを取得したりしたけど他のことがうまくいかないのか
どっちなんだろう。
640デフォルトの名無しさん:02/07/05 18:59
はじめてVBに手を染めようかと思ってるのですが
ttp://imode.fec.co.jp/newbook/
この本って使えますか?

ちなみにプログラム経験はN88BASIC以来のド素人です
>>637
Private Sub Command1_Click()
Dim a As Form2
Set a = New Form2
a.Show
後は自分で。
>>638
Dim FileNo As Long
Dim i As Long
Dim a() As String

FileNo = FreeFile
Open ファイルパス For Input As #FileNo
i = 0
While Not EOF(FileNo)
ReDim Preserve a(i) As String
Input #FileNo, a(i)
i = i + 1
Wend
1行毎にReDim Preserveしちゃうの?
巨大ファイルだとやばそうな。
改行コードでSplitしたほうがよくないかな。
しらんけど。
644636です。:02/07/05 21:23
スレくれたみなさんありがとう。

>>639
データの読み込み自体がうまくいきません。
>>638
>While Not EOF(FileNo)
ということは、改行コードをデータファイル
から無くしてつかうんですね。
>>643
データ数は3*4000ぐらいなのですが....まずいでしょうか?
645637:02/07/05 21:55
>>641
わざわざコードまで出してくれてマジサンクス。
あとはそれを動的配列にして
Redimしてやってからそれで新規フォーム呼び出せばいいのかな?
と聞く前に試せ、だったっけ。やってみます。
646195:02/07/05 22:14
これ、↓いったい何やっているかわかる方いませんか?
(ああ、わけわからん....)

For I = 1 To 256
Mid(Str, I, 1) = " "
Next I
For I = 10 To 250 Step 10
Mid(Str, I - 2, 3) = "0.0"
Next I
While...Wend と Do While...Loop との違いって何ですか?
>>646
Str の中身は?
>>646
固定長ファイルの1レコードを編集しているのかな?
>>646
それの1〜3行目を書いた奴にString関数の存在を教えてやれ。
話はそれからだ。
651195:02/07/05 22:32
>>648>>649>>650
レス感謝です。
終電近いので取り急ぎお礼まで
(今日は帰るぞ)
>>646

>>650の言う事に非常に同意なのだが、仮にマジ知らなかったとしても
こうすりゃいいじゃん

Str = Space( 9 )
For I = 1 to 25
  Str = Str + Space( 7 ) + "0.0" //あるいは Str = Str + Format( " 0.0" , 0# )
Next I

上のFormatのスペースは7個

なんで最初の数値の前にスペースが9なのかはしらんが。
653教えて:02/07/05 23:46
Form1とForm2があって
Form1からForm2を呼び出してやるんですが
Form2にはタイマーコントロールがあって、
Form2がunloadされた後でもまだタイマーが働いてしまっています。

Form2を消す際にはちゃんと
Timer1.Enabled = False
Timer1.Interval = 0
Unload Form2
とやっているんですが。こんなもんですか。対処法ありますか?
654教えて:02/07/05 23:46
あげあす
>>653
unloadあれた後、
Form2をロードしちゃってない?
Form2.xxx=○○○ とか。
>>652
たしか、文字列を確保してMIDで代入した方が速いってのがなかったっけ?
どれくらい効果があるか知らんが。
それに振り回されてわかりにくいコードを書いてるんじゃない。
657デフォルトの名無しさん:02/07/06 03:07
ある変数にフルパスを入れるのですが
それがファイルかディレクトリかを
調べるにはどうしたらよいでしょうか?

Perlでいう
if (-d $name){〜}
という処理がしたいんです
Dir(name & "\.") とか。
fso
>>656
初期化処理のようであり、それだと多分処理の開始時に一回しか通らないから
ほとんど効果無いと思うけど。
>>652
String() 知らない奴は多分 Space() も知らないと思うけど...。
662デフォルトの名無しさん:02/07/06 09:34
フォームにpictureを貼るとき、普通に貼ると、その絵が画面左上にだけ表示されます。
このとき、同じpictureを同じ大きさで、画面全体に複数貼るにはどうすればいいのでしょうか?
>>662
そう言うこと言うからVBがバカにされる。
実行したときにユーザが画面のサイズを変更できなくする方法はありますか?
>>664 ユーザが画面のサイズを触る前に落ちる
画面サイズを変えるとは。
1.自分で作ったソフトのウインドウのサイズを変える
2.ディスプレイの解像度を変える
3.15インチモニタを17インチモニタに変える
どれだ。
667 :02/07/06 13:25
>>666
3です。
よろしくおながいします。
668即レス ◆POP.SOKU :02/07/06 13:29
>>662
PictureBoxをコントロール配列にして
Loadで読みこんでVisible=true。
お勧めはしない。

>>667
むう、難しいな。
確かに難しいな・・・
670デフォルトの名無しさん:02/07/06 14:29
ちょっと前にフォームを動的に生成したいと質問した奴です。
あれで確かにフォームを動的に生成できたんですが
なぜかデバッグ時にはちゃんとなってるのに
EXEを作ってそれを実行すると不具合がでます。
 詳しく言うと、動的にフォームを生成して、
それを縦に並べるように位置をそれぞれずらしてやってるんですが
デバッグ時にはちゃんとそれぞれが並び、完璧な動作なのですが、
EXEを作って実行するとどうしても位置が変更されずに
全てのフォームが同じ位置に来て、並べ替えられてません・・・。
コードは全く同じものなのですが。何故こんなことに??
671 :02/07/06 14:48
コードを書いてみ>670
672デフォルトの名無しさん:02/07/06 14:50
(.frm)
Private Sub Command1_Click()
Dim a As Form2
Set a = New Form2
a.Top = H
a.Left = 50
a.Show
H = H + 500
End Sub

(.bas)
Public H As Long
673670:02/07/06 15:03
>>672は私ではないですが
かなり似てます。ほとんど同じで、数字とかが違うだけ。
672さんがこれを予測してきたってことはこれだとダメな要因があるのかな?
674デフォルトの名無しさん:02/07/06 15:27
>>673
タイミングの問題かも知れんが、
試しに↓こうしてみ。


(Form1)
Private Sub Command1_Click()
  Dim a As Form2
  Set a = New Form2
  XL=50
  YL=H
  a.Show
  H=H+50
End Sub


(Form2)
Private Sub Form2_Load
  Me.left=XL
  Me.top=YL
End Sub

(..bas)
Public H As Long
Public XL As Long
Public YL As Long
675670:02/07/06 15:43
>>674
う〜む・・・
それも今試してみましたが、
やはりデバッグではちゃんと位置が設定されるのに
実行ファイルを作ってそれを実行した場合は同じ位置に複数が来ちゃいます。
どういうことなんだろう・・・(;´Д`)
676デフォルトの名無しさん:02/07/06 16:29
>>675
VB6とVB.NET
両方デバック環境と実行ファイル両方試したけど
ちゃんと縦に並ぶけどな・・・

677デフォルトの名無しさん:02/07/06 16:32
VB+オラクルが出来るとかよく聴きますが、これはようするに実務では
どんな事が出来るのですか?
678デフォルトの名無しさん:02/07/06 16:56
buroburo
679670:02/07/06 17:11
あ〜、わかったわかった(w
デバッグ時とテスト時ではWindowのClassが違うのね・・・。
そのせいでうまく行ってなかったんみたいで、
今試しに直したのやってみたらちゃんと動いたです。
680670:02/07/06 17:12
WindowClassがデバッグ時と本実行時とでは違うのが原因でした・・・
いろいろと手間かけさせてすみませんでした。
どうもありがとうございました。
681670:02/07/06 17:12
WindowClassが本実行時とデバッグ時とでは違うのが原因
だったみたいです。ありがとうございました。
682670:02/07/06 17:18
WindowClassがアレだったみたいです。
683670:02/07/06 17:18
WindowClassです。
684670:02/07/06 17:18
WC。
685670:02/07/06 17:30
(w
686670:02/07/06 17:49
v
687670:02/07/06 17:54
688677:02/07/06 18:33
どこから「VB+オラクル」なんて質問考えたの?
沢山あり過ぎて答えようがないが。。。
求人広告だろ
690しつも〜ん:02/07/06 19:33
Formの上にマウスカーソルがあるときだけ
Formの色を変えたいです。MouseMoveでやってみたんですが
そうするとFormの上に乗ったときっていうのは判定できるんだけど
Formの上からカーソルが離れたときに元の色にもどすっていうのは
どうやってやればいいんでしょう?
VB6 w2kです。
>>690
だからVB厨はバカにされる。。。
きもちわりぃインターフェースだな。
>>691
あんまり言うとお前がVB厨をバカにしていると思われちゃうぞ。
694しつも〜ん:02/07/06 19:40
>>691-692
センスが悪いのはわかってます・・・
そういうの以前にどうやればできるのかなぁって
ただそれだけなんですよ。ご教授お願いします
>>690
WindowFromPoint使え。でもそのインターフェースはおすすめできない。
どうせ、面倒くさがりユーザーの要望じゃ?
VBなら簡単に色々試せるからやってみるのも勉強!
>>697
>VBなら簡単に色々試せるからやってみるのも
異様に制限があると思うが。
>>695
日本語じゃないのでわかりません。と言ってみるテスト。
>>698
今回はたいして関係ない。
キャプチャーで出きる?
>>699
張ったの俺なんだけどアレ何語・・・?

って言うかコード部分は普通に参考になる罠。
703 :02/07/06 19:51
>>702
ドイツ語だろ。読めなくても何語かぐらい分かれよ!
704デフォルトの名無しさん:02/07/06 20:04
VBで2〜3秒処理止めたいのですが、どのAPI使えば良いのでしょうか。
>>704
検索しろ
>>705
なるほど、そのテがあったか(w
>>704
死ね、カスが!
708>>704:02/07/06 20:11
Sleep
709704:02/07/06 20:29
>>707
調子に乗んなハゲ!
710デフォルトの名無しさん:02/07/06 20:47
このスレは、VBヲタ罵り合いスレになりました。
711デフォルトの名無しさん:02/07/06 20:48
質問のグローバルすぎに喧嘩売りましょう・!
まぁ、こういうのは定期的にあるイベントみたいなもんだ。
713デフォルトの名無しさん:02/07/06 20:57
>>704
timer
714デフォルトの名無しさん:02/07/06 21:07
俺もたいしたPGじゃないからなんとなく分るよ
質問の押えるポイントで悩むから。
715>>704:02/07/06 21:07
dim N as Long
716>>704:02/07/06 21:10
For N = 0 to 500000 step 1
Next N

これで2〜3秒とまると思うが(w
どうしてもAPIキボンなら、こういう関数作って見れば?
まず Declare Function GetTickCount Lib "kernel32" () As Long を
宣言しておけよ。んで↓

Public Function Wait(ByVal t As Long)
Dim At_0 As Long, At_1 As Long
At_0 = GetTickCount
At_1 = At_0
While ((At_1 - At_0) < t)
At_1 = GetTickCount
DoEvents
Wend
End Function

Sleepとほぼ同じことするWait関数が自作でできあがり〜。
よかったね。VB5だとSleepないから実用的です。
>>716
SleepはAPI
>>717
ヽ(;´Д`)ノ イッテキマス
でもあれだよねSleepくらいVBならステートメントとして取り込んでもよさそうなものなのにね。
>VBならステートメントとして取り込んで
こんな発想しなくちゃ逝けないのがVBの問題。
>>720
ただバカにしたいだけなら、恥かくからやめとけ。
ステートメントなんて言葉ずいぶん久しぶりに聞いたような気がする
>>722
VBでもCでも普通に使われていますが何か?
724デフォルトの名無しさん:02/07/06 23:06
>>716
ネイティブコンパイル時、空ループは削除されるのでは?
Pコードでコンパイルするのかな。
>>724
「整数の桁あふれチェックを削除」が無効な場合(デフォルト)
空ループでも削除されない。一回ごとに桁あふれチェックをするから。
「整数の桁あふれチェックを削除」(他にもいるかも知れん)が有効なら削除される。
たぶんな。昔軽く調べたときはそうだった。
【老若】VB.net質問スレ【男女】
http://pc.2ch.net/test/read.cgi/tech/1025848458/24
DQNハケーン
>>726
なんでわざわざここに書き込むんだ?
728 :02/07/07 01:05
実行したときに、ユーザがソフトのウインドウのサイズを変えることができないようにするにはどうすればいいのでしょうか?
>728
Windowメッセージを実行しないようにする。
730   :02/07/07 01:24
>>729

それはどうやればいいのでしょうか?
調べたんですが・・・
>>728
固定ダイアログとかにすればいいじゃん。
732デフォルトの名無しさん:02/07/07 01:27
宗男に相談すればいいじゃん。
>>728
サブクラス化
734デフォルトの名無しさん:02/07/07 02:26
>>728
サイズを変更を察知して、落ちればいい
735チョットよろしいでしょうか?:02/07/07 02:36
私はプログラムについて
知識はありません。
それで皆さんにお尋ねしたいのですが
次の板のスレッドでアンチウイルスソフトが
反応しました。
http://news.2ch.net/test/read.cgi/newsplus/1025949937/l50
の833に次の一文
c.Copy(dirsystem&”¥りゅうすけ.TXT.vbs”)
とあり、それが原因らしいのです(念のため大文字にしました)
つまり掲示板をブラウザが読み込んだだけで感染すみたいです。
ILOVEYOUウイルスの一文らしいのですが、
これはどう作動してしまうのでしょうか?
詳しい方お願いします。
>>735
頭悪いなら黙ってろ。
>>736
↑釣られるバカが一人頭悪いとわめいてもなぁ
クックック
738デフォルトの名無しさん:02/07/07 05:13
a2という数値を入れる変数があります。
su0という数値を入れる変数、(今は2が入ってるとする)があります。
aというただの文字があります。

su0とaを使ってa2の中に入ってる数値を表したいのですが、できるのでしょうか?
"a" & su0とやっても、a2とでて、a2の中身がでません。

配列使え
740デフォルトの名無しさん:02/07/07 12:52
VB6.0を使ってます。
Labelに自分のホームページへのリンクを張りたいのですが
どのようにすればよいのでしょうか?
>>740
どうぞ御勝手に。
>>738
>aというただの文字があります。
ただの文字って何?
>>738
Script Control使うとか。
でも、普通はそんなの必要ない。
>>738
読み飛ばしてたけどすごい質問だなー
>>745
リフレクションって使えるの?VBで。

>>738
君の才能はすごい。その辺のVB厨とは比較にならない。
君はすぐにでもC言語の勉強を始めた方が良い。
期待しているよ。
747デフォルトの名無しさん:02/07/07 15:46
顧客管理システム等をVB等で作るには、それを必要としている会社まで出向いて
作らなきゃいけないのですか?
あと顧客管理システムを作る為の知識はどんな事を知ってなければ
いけませんか?
>>747
PGには人権がないので出向して作らなければなりません。
ご愁傷様です。
749デフォルトの名無しさん:02/07/07 16:18
VBの否定演算子ってありますか?
!=じゃ無理ですよね。

「VB・否定演算子」で検索してもでないのですが・・・

<>
NOTは?
752デフォルトの名無しさん:02/07/07 16:58
>>738
a2をa(2)と宣言したら、多分やりたことはできるとおもう。
753即レス ◆POP.SOKU :02/07/07 17:16
>>720
むしろVBのいいところだと思うが。

>>728
1.リサイズ時のメッセージ(WM_GETMINMAXINFO)を取って
ウィンドウリサイズ可能領域を指定する(サブクラス化)
2.固定ウィンドウにする

2が楽。

>>735
誤作動らしいな。

>>738
言いたいことをそのままやるのは無理。
(俺もガキの頃同じ事で1週間ぐらい
悩んだ覚えがある。あれはBASICだったが。)
普通は配列なりユーザー定義型なり使う。

>>747
会社と自分の立場によるが基本的に客との
やり取りは必須なのでそちらの方が早い、
となればその可能性もあるかもな。

>どんな事を知ってなければ
DB系。
a=1

for i 0 To 5
next i

forを使うときに、たとえばaが1なら
next i

a=0なら
iをi+1しないで、もう一度同じiを繰り返すようにはできないでしょうか?
755即レス ◆POP.SOKU :02/07/07 17:35
よくない書きかただが

dim a&,i&
a=1

for i=0 to 5
if a=1 then i=i-1
next i

って感じになる。
>>755

なるほど、凄くよくわかりました。
どうもです。
757デフォルトの名無しさん:02/07/07 19:51
cで言うscanf見たいなものはありますか?

a=10000として、
ユーザから1000って入力されたら、a-1000するようなプログラムを作りたいのですが・・・
758デフォルトの名無しさん:02/07/07 19:55
>>747
出向しないで出来るなら世話ないよな・・
客先と請負側がちゃんと仕様出しでかみ合ってれば
可能だけど、それでも問い合わせはかなり多くなる
と思うよ!
完全な請負(持ち帰りってやつ)ってリスキーだと思ってる。。。
>>757
>ユーザから1000って入力されたら
やり方に激しく依存。
>>754
For文の原則から離れるループの仕方をしたいならDo〜Loopを使え。

>>757
コンソールアプリじゃないんだからTextBoxとか使え。
VBとは?から勉強しなおすべし。
761ごみレス ◆WuzDVM0M :02/07/07 21:26
inputboxとか。
>>754
aがその他の値のときはどうするんかい?
>>762
ハァ?
突っ込んでるつもりかもしらんがボケてるぞ
764デフォルトの名無しさん:02/07/07 22:33
つっこみぼけ
765即レス ◆POP.SOKU :02/07/07 23:10
>>757
どういう環境でやりたいのか分からんが
コンソールアプリならVBでは作れないので無い。

普通のアプリならInputBoxかTextBoxだな。

>>764
それを言うならノリツッコミだろう。
>>746
TypeLib Informationを参照設定すればリフレクションと同じようなことができる。
もちろん、この場合は配列やコレクション等を使用したほうがいいのは言うまでもないがな。
767non ◆0ZJLRmVw :02/07/08 02:47
やりたいことがありますがどうしても出来ないので質問です。
環境:VB6pro windowsXP
外部アプリケーションの中で、取得したい文字列があります。
それが標準のラベルとかなら、ウィンドウハンドルを取得して
Gettextでしたっけ?そんなんで文字列を取得できますよね。
ですがそれがWindowハンドルを持っていない、
つまり表面的に文字をそこに絵のように書かれている場合は
その文字列を取得できません。
ちなみにその文字列は動的に変わるのであらかじめ画像が用意されている
などということではありません。
多分内部で

いろんな処理
結果がでる
結果の文字列をプリントアウト
で、そのプリントアウトされた文字列がWindowに表示されている

とやっているんでしょう。その「結果の文字列」を
VBアプリ上から取得したいんですよ。ムズカシイでしょうか。
それとも根本的に無理でしょうか。その別アプリのメモリ内を探る
とかで出来るのでしょうか。よろしくおねがいします。
768デフォルトの名無しさん:02/07/08 07:09
>767
画像というのは確実?
Spyツールで調べてみた?

その場合、もしその文字列のフォントがわかってたら、
それで解析するほうが他アプリのメモリを探るよりはずっと楽。
>>767
そりゃ無理だろうと思ったけど、無理でもないのか?
VBのLabelなんかはWindows標準じゃないから、ウィンドウハンドルもないし、
RoboWordでも取れないだろうと思ったら、普通に広えた。


770non ◆0ZJLRmVw :02/07/08 12:52
>>768
画像というかPaintPictureで書いたような感じでしょうか。
Spy++使って調べてみても対象にならないので確実かと。
フォントは標準のゴシックでサイズ9っぽいです。
それで解析も出来るハズですけど
そうすると画面内にその文字部分が表示されてないと無理だしなぁ。
当然最小化されてたりしても出来ないわけだし・・・。

>>769
そうなんですよね。でもあの文字列(数字なんですけど)が
どうしても拾えない・・・Spy++が糞だとは思えないし。

やっぱムズいのか(;´Д`) 別の方法考えようかな。
ロボはどうやって取ってんだろうな
ロボ・・・?
ListViewにAddすると当然追加、されますよね。
追加ではなく、一番最初に挿入して項目を追加したいんですけど
どうやればいいでしょう?
774デフォルトの名無しさん:02/07/08 15:28
遅いレスですが

>>652
>>656
>>656
>>661

ありがとうございます。

STRING()もSPACE()も解りませぬ.....。
ぶっちゃけ、Fortranで生成したデータ
ファイルを読み込むのですが、Fortran
データは半角スペースを1文字としてい
るのです。それでややこしくなっている
のだと思うのですが.....。

time=0
^^^^2^^^31^^^^5^^^^27
^^^^1^^^^1^19190.631^^5895.402^^^^24.312

("^"は半角スペースのつもり)

というデータを読み込むのに

Line Input #1, Msg
TypAA.Time = Left(Msg, 6)
IMAX = CInt(Mid(Msg, 5, 5))
JMAX = CInt(Mid(Msg, 10, 5))

としているとIMAXとJMAXが読み込めず"型が一致しません"
となります。
775デフォルトの名無しさん:02/07/08 15:53
VBでデータベース系の仕事しようとしたら、どんな事勉強したらいいの?
776デフォルトの名無しさん:02/07/08 16:01
c
>775
VBでデータベースを扱う方法を勉強すれ。
VBで○○データベース、みたいな本はゴマソと出版されている。
778横レスすまんが:02/07/08 16:28
VBでデータベース処理するのにもデータベース設計の知識は持っていなければ
いけませんか?
>>774
MSG = "^^^^2^^^31^^^^5^^^^27"の時、
Mid(Msg, 5, 5)は"2^^^3"になります。
これでおわかり?
780195:02/07/08 16:46
>>779
ありがとうございます。
解りました。
なんかすごくアフォなことやってました......。
>778
正規化の方法とか、適切なインデックスとか、
その辺は知っておいた方が良いでせぅ。
ふふっふ
書ける・・・書けるぞぉぉおぉぉぉ
さらに書けるようになったな!しかし、...書かせん!
785質問:02/07/08 19:26
コマンドとテキストボックスとラベルとイメージとタイマーを使ってできる
なにかおもしろいプログラムを教えてください
発想力がないので
もしよかったらコードもおながいします
>>785
宿題は自分でやれ
おぅ
788デフォルトの名無しさん:02/07/08 20:11
トランプのスピードを作りたい
教えれ
>>788
スピードとはなんだ教えれ
790ごみレス ◆WuzDVM0M :02/07/08 20:16
>>788
まずはトランプの画像からかな?
コンピュータ相手に勝てそうにないな。(w
791デフォルトの名無しさん:02/07/08 20:21
>>789
俺もよく知らん
「作れ」と言われただけなのだ
とりあえず、誰かルール教えれ

>>790
画像はできた。
793デフォルトの名無しさん:02/07/08 20:25
>>792
御苦労
感謝する
こんなの見つけた。
いまいちよくわからん。
ttp://www5b.biglobe.ne.jp/~k3-home/box/speed/
795デフォルトの名無しさん:02/07/08 20:39
ルールは理解した
これから作ってこようと思う
者供、達者でな
mazu 733 ni kotaete agete.
Oops! my miss take.
733 -> 773
798即レス ◆POP.SOKU :02/07/08 20:59
>>773
ListVIew.ListItems.Add 0, ...
>>798
Thank you. I do not forget your thing.
800デフォルトの名無しさん:02/07/08 23:03
>>770
常駐して、メッセージをフックしたら?
801non ◆0ZJLRmVw :02/07/08 23:16
>>800
正直、わからんので無理(;´Д`)
むずいよー助けてママン〜。
802773:02/07/08 23:17
>>798
できねぇじゃねぇかYO!
範囲外とかイワレチャウゾ!
最初は項目がない状態でそうなるのかと思って
0の場合以外って条件にして、確かにその条件だけど
範囲外とでるぞ!ヽ(`Д´)ノウワァァァン!!
>>799
>I do not forget your thing.
「あなたのことは忘れない。」といいたいのだろうが、
     ~~~~
your thingじゃなくyouでいいんだぞ。
ブロックげーむをつくったけどキー操作がなんかうまくいかない。
スタートボタン(コマンド)を押してからはじめるので、フォーカス(?)
がピクチャーにないからピクチャーのキーダウンがうまく動かないんですけど
どうしたらいいです
805即レス ◆POP.SOKU :02/07/09 00:19
>>802
悪り、1だった。

>>804
PictureBox.SetFocus

ただ、ゲームなら普通はGetKeyStateとかで
フォーカスやイベントが関係ない取得の仕方をする。
806デフォルトの名無しさん:02/07/09 01:37
VBで2重配列ってできますか?
またはそれに近いことはできますか?
>>806
2重配列?
二次元配列なら可能だが。
>>804
即レスのいうように
コマンドボタン押したときにピクチャボックスにSetFocusだな。

コマンドボタンにフォーカスあってもOKだったっけ?>GetKeyState

>>806
ジャグ配列(配列の配列)のことなら、
Array関数を使うか、Collectionを使う。
809即レス ◆POP.SOKU :02/07/09 08:55
>>808
だいじょぶ

>>806
ユーザー定義型で配列入れてそのユーザー定義型を
配列で宣言する、とか。
810デフォルトの名無しさん:02/07/09 11:00
ListViewコントロールで右クリックをしたアイテムを
選択されているアイテム(SelectedItem)になる様に
したいのですが、どうすれば良いのでしょうか?

ListView_MouseDownでx,y座標は取れる様ですが、
ここからアイテムのindexを取る方法がわからなくて・・・
811☆おながいモナ:02/07/09 11:22
Windows98se、VB5、office97、IE5 という環境です。

Dir()関数なんですが、

Dir("C:\WINDOWS\Favorites", vbDirectory)

とするとフォルダを見つけることが出来ません。
その他いろいろとやってみたのですが、システムフォルダ関係で
見つけることの出来ないフォルダがいくつかありました。
これにはなにか訳があるのでしょうか?

仕様としては入力されたパスのフォルダの存在チェックをしています。

おながいします。
812デフォルトの名無しさん:02/07/09 11:26
Win2000、VB6SP5、OFFICE97環境です。

EXCELのグラフでデータポイントにマウスを重ねるとToolTipが
表示されますが、MSChartコントロールでそれを実現するには
どうすればいいのでしょうか。
>>811
ファイルを調べるAPIがあるからそっちを使ってみたら?

>>812
ToolTipText プロパティを調べてみれ
814☆おながいモナ:02/07/09 12:00
>>813
はい。API調べてみます。
でも何でパス取れないんでしょう?

Dir("C:\WINDOWS\Favorites\Program", vbDirectory)はOK。
Dir("C:\WINDOWS\Temporary Internet Files", vbDirectory)はダメ。

ん〜。。。
815:02/07/09 13:03
Dir("C:\WINDOWS\Favorites¥*.*", vbDirectory + vbHidden + vbSystem)
816悩み大学生:02/07/09 13:07
先日、講義で下記の質問に答えるよう当てられてしまいました。
本日13:30より講義があります。
そこでどなたかお助けください。

(DATA1) * 5 を (DATA2) に入れる (シフト命令を使うこと)

という問題なのですが
”SLAを使えばいいのですか?”
と先生に聞いたら
”もっと簡単な方法があるよ”
とのこと。僕の知識では見当が付きません。
そなたかヒントをお願いします。
いっぱいいっぱいです。
817悩み大学生:02/07/09 13:10
↑Z80CPU のアセンブリ言語です
>816
スレ違いだボケ
>>816
x*5というのは、(x*10)/2であって、
/2はシフトすればいいって、そういうことではない?
二つ左シフトしたものともとのを足せば5倍
821812:02/07/09 13:34
>>813
以下で解決しました。ありがとうございました。

Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer)

   With MSChart1
      .Column = Series
      .Row = DataPoint
      .ToolTipText = .Plot.SeriesCollection(Series).LegendText & " " & .Data
   End With

End Sub

もう1つ、このときのX軸のラベルの値を取得するにはどうすればいいですか?
ToolTipTextプロパティにその情報も付加したいと考えています。
822即レス ◆POP.SOKU :02/07/09 14:00
>>810
Set ListView1.SelectedItem = ListView1.ListItems(1)
じゃ駄目なのか?

>>816
Pentiumなら
lea eax,[eax*4+eax]
が一番簡単だろうがz80は知らん。
勉強の為、現在、エクスプローラ ライクな物を作ってみようと
TreeViewコントロールに挑んでいるのですが、
コントロールがIndentationプロパティを全く認識してくれません。
このプロパティは各ノードにおけるインデント幅の事ですよね?
デザイン時に設定しても動的に設定してもダメでした。
どなたか解決法をご教授お願いします

開発環境は、VB6.0、Win98se、Office2000
ocxは、common controls 6.0(sp4) です
>>821
ColumnLabel プロパティを調べてみれ


つうか、コントロールのプロパティをもっとよく見よう。
825812:02/07/09 15:10
>>824
例えばX軸が日付、Y軸が0〜100%のグラフがあるとします。
7月が80%だった場合、その部分のDataPointをクリックしたら
ToolTipTextプロパティに"7月 80%"というように設定したい
のです。

ColumnLabelプロパティではこの”7月”って情報は取れませんよね。
826☆おながいモナ:02/07/09 15:12
>>815
!!!
いけましたよっ!
コピペしたらダメだったから?と思ってたら¥でしたよ。

ありがと〜!ありがと〜!
名も無き貴方よありがと〜
827:02/07/09 15:20
>>823
新しくTreeViewを追加して、そのIndentationが変えられるかやってみて。

>>826
全角だったか。ごめん(~~;
828☆おながいモナ:02/07/09 15:35
折角なのでもうひとつお伺いしたいです。

あるフォルダをコピーする(配下のフォルダもファイルも全部)処理って簡単にできないでしょうか?
今のままだと配下のフォルダを検索して、作成して、その配下を検索して・・・・
ってなんか大変な事になりそうなのです。

おね(な)がいします。
>>828
再起
830☆おながいモナ:02/07/09 15:45
>>829
ぎょぇ。それだけは御勘弁を〜。
831810:02/07/09 15:57
>>822
すみません。ListView1.ListItems(1) の"1"の部分をどうやって
取ればよいのか分からないのです。。。

832☆おながいモナ:02/07/09 16:28
できましたぁ〜。

'ファイルシステムオブジェクトの参照
Set mobjFileSystem = CreateObject("Scripting.FileSystemObject")

'フォルダのコピー
mobjFileSystem.CopyFile mstrLoclPath & "\*.*", mstrServPath & "\"   '全ファイルコピー
mobjFileSystem.CopyFolder mstrLoclPath & "\*.*", mstrServPath & "\"  '全フォルダコピー

こんなんでうまくいけました。
よかったよかった。
833デフォルトの名無しさん:02/07/09 18:06
KeyPressでウインドウズボタン(スタート起動ボタン)がイベントとしてとれないのですが、
どうすればこのボタンが押されたときのイベントをとることができますか?

それかこのウインドウズボタンを一時的に使用不可にしたいんですがどうすればいいのでしょうぱ?
>>833
とりあえずKeyPressじゃだめだろうなぁ。せめてKeyDownとか。
でも、キーボードフックとかも考えないといけないのかも。
Winキーが無いパソコンを使ってるので試せないけど。
835823:02/07/09 19:16
>>827
新たなプロジェクトを作成しTreeViewを追加したところ、きちんと利きました。
そしてその後、先程まで開発していたプロジェクトに戻ってみたら、
何故かIndentationが利くようになっていました(直っていました)…
原因不明です。 何らかの細かいトラブルだったのでしょうか?
疑問は残るものの、それ以降に同じ現象は再発しませんでしたので解決です!
>>827さん、ありがとうございました!!
>>833
VBの範囲にあらず。
VBでイベントが発生する時点では、
Windowsの処理としては当にWindowsキーの処理は済んでいるからね。

>>833 >>834
Ctrl+Escもあるぞ。
837デフォルトの名無しさん:02/07/09 20:32
>>834 >>836
レスありがとうございます。

結局のところVBではWindowsキーを押したことによってスタートを表示させないような
処理は無理のようですね。
なんとかならんかなーこのWindowssボタン。
>>837
窓使いの憂鬱とかそれに類するソフト使えばいいじゃん。
>>833=837

KeyDown
KeyCode = 91
Shift = 0
---
KeyUp
KeyCode = 91
KeyUp = 0
---
KeyDown
KeyCode = 92
Shift = 0
---
KeyUp
KeyCode = 92
KeyUp = 0
---

FormのKeyDown、KeyUpならイベント取れるみたいだよ。
91が左側、92が右側のWindowsキー
>>839
補足。ただそれからWindowsキーを無効に出来るかどうかは知らない。
842デフォルトの名無しさん:02/07/09 21:06
おお!露骨にあるじゃないすか!
みなさんどうもありがとうございました。
試してみますデス。
844 :02/07/09 21:20
strcomp 関数の使い道は?
等号、不等号で比較・判定しちゃイカンの?
845デフォルトの名無しさん:02/07/09 21:27
>>843
ありがとうございます。
846:02/07/09 22:06
>>844
大文字・小文字を区別しない比較ができる。
847デフォルトの名無しさん:02/07/09 22:09
すみません、質問させてください。DBGridを使っているのですが、
ClearFields メソッドというのがどういうものなのかよく分かりません
一度表示させたデータ内容を規定値(初期値?)に戻す…
というようなヘルプを読んだのですが、
Object.ClearFieldsとコーディングしても表示内容に変化がありません。
使い方自体が間違っているのでしょうか…
どのような場合に有効なメソッドなのか、ご存知の方教えてください。
よろしくお願いします。
環境はVB6.0+Oracle8iです
>>847
検索すれば?
849まぐ ◆M3nDnyr2 :02/07/09 22:14
今あるフォームをアクティブにしたまま
新しいFormをLoadしたいです。
Loadすると勝手に新しいWindowにフォーカスが移るので・・・。
どうやったらいいでしょうか。
移らないようにするのでもOKですし、
実質もとのWindowがアクティブに瞬間的に戻るのでもOKです。
VB6 Win2K おねがいします。
850847:02/07/09 22:15
>>848
はい、したんですけどわからなかったのです。
検索の仕方がなってないんでしょうかね?
>>850
検索しても見つからなかったのか、読んでも理解できなかったのか。
852847:02/07/09 22:20
>>850
両方です。
ヘルプを読んでもいまいち理解できず、検索しても。
適切かと思われるページをヒットさせることができませんでした。ウチュ。
>>849
やりたいことと違うかもしれないが、
新しいFormのActivateイベントで元のFormにフォーカス移動とか
>>852
なんでわからないものを使おうとするんだ?
855即レス ◆POP.SOKU :02/07/09 22:28
>>831
ああ、x,yからListViewのIndexを取得したいのか。
悪い、何が言いたいのか解らんかった。
んじゃSendMessageでLVM_GETITEMPOSITIONだ。

>>844
LikeをOptionに関係なく使用したい時に
使うと認識してたが。

>>847
「ClearFields メソッドは、グリッドを既定のレイアウトに復元します。」
By MSDN

ということらしいな。使ったこと無いので詳しくは解らんが。

>>849
Load 新しいForm
ShowWindow 新しいForm.hWnd, SW_SHOWNA

もうちょい楽な方法があるかも。ないかも。
856804:02/07/09 22:31
>>805
>>808
ありがとうございます☆彡!♪ちゃんとできたのでうれしいデース!!
857847:02/07/09 22:34
>>854
DBGridの内容をクリアする方法を探しています。
で、ClearFieldsって名前からして使えそうなメソッドかと思ったので
調べてみたんですがわからず、悲しくなってここに来ました…

自分の能力に余ることはしないほうが良いですね。
ありがとうございました…
>>857
そういう意味で言ったんじゃないけどね。やめてすむのなら
それはそれでいいかもしれないけど。
結論から言えばClearFieldsではあなたのやりたいことはできないと思うよ。
VB6で開発はwin2000でおこなぃ、配布先はwin98以降となります。

テキストファイルのREAD、WRITE処理について質問です
オブジェクト(FileSystemObject)を生成して処理する方法と
Open/読み込み/書き込み命令を使用する方法の2通りあるようですが
どちらを使用すべきでしょうか?
860844:02/07/09 23:34
>846 >855
サンクス。
もっと勉強せなアカンね、俺。
861816:02/07/09 23:41
>819 >820
アドバイスありがとうます。
すみません、スレ違いでVBのスレでZ80の事を
聞いてしまったのに答えていただいて...
>822
カリキュラムが古いのでZ80の講義や実習が
未だに存在してます。
862VB頑張ろう:02/07/09 23:48
VBの質問なんですが、Timer関数でストップウォッチを作ったとします。
経過時間を表示する時に、60秒で1分に繰り上げる表示の仕方が分かりません。
Formatを使って表示形式を変えると思うのですが、どのようにすれば良いのか
が分かりません。
ご教授お願いしますm(_ _)

違うスレで質問してしまった・・鬱だ・・
>>862
60で割ると商が分、余りが秒
864VB頑張ろう:02/07/09 23:58
あっ、なるほど!
>>863
マジで感謝です。本当にありがとうございますm(_ _)m
初々しいねぇ
866デフォルトの名無しさん:02/07/10 00:10
>>865
俺もそう思った。
「余りってどうやって求めるんですか?」
とか聞いてこないかな・・・
とすら思った。w
つうかこれはVB以前の問題・・・。
>>857
DBGridって通常データコントロールでデータベースとコネクトして使用する場合が
多いと思うんだけど、データは何なの?
データベースでないデータでグリッドを使用したい場合、FlexGridとかの方が
使いやすいと思われます。

>>859
自分が使いやすい方を選ぶべし。

そして俺ならOpenを選ぶ。
>>849
簡単なのは新しいフォームをShowした時に、元のウィンドウへSetFocus。
この時元のウィンドウを保証しておかないと、無い場合エラーになる予感。

もちろんだがモーダルなら無理だ。
オレもopen binary access
変なコードが入ってると(00-10のどれか)シーケンシャルで読んでたら
テキストファイルが終わりだと勘違いされて困ったことになったこと
あったヨ。ファイルサイズもチェックしたほうが良いみたい。
871857:02/07/10 02:08
>>868
Oracleです。接続は・・・すみません、ちょっと今わからないのですが
SQL文の結果Setを表示させる形で使用しているのですが、
SELECT結果が取得されない場合にGrid部分をフィールド名だけ残して
クリアするような処理にしたいのです。

なにぶん不勉強なので思うように行かず行き詰まってます。
大分的外れを突き進んでいるのかと…。
明日にでも、もう一度処理を見直して見ます。

>>858さんも、ありがとうございました。
おやすみなさいです。
872ごん:02/07/10 02:34
ttp://sun1.interq.or.jp/chat/applet/chat.html
ここのチャットでアスキアート出すやりかた教えてください
お願いします!
>>872
マルチ氏ね。
前にマ板にもいただろ。
>>871
OracleだったらODBCとかでコネクトしているんだろう。

そいでもって、確かDBGridは、データベースとの連結モードではフィールドだけの表示は
出来なかったはず。
FlexGridなら簡単に出来るけど。。。

なんで出来ないかは正確には知りません。
DBGridはカレントレコードを外すことが出来ないためなのかな?

だもんでDataModeをBoundからUnBoundにすればレコード行は表示されないはず。
しかし、このDataModeはプログラム実行時に設定の変更はできなかったはず。

なのでどうするか?
簡単なのは、DataModeがUnBoundのDBGridを普段非表示で置いておき、
SELECTの結果が取得されない時にはDataModeがBoundのDBGridと
入れ替えて表示するとか・・・。

DBGridの縦幅をフィールド分の大きさに縮めてしまうとか・・・。

もっと正攻法のやり方が実は隠されているかも知れませんので、
まだあきらめずに探すのも良いかもねー。
875デフォルトの名無しさん:02/07/10 11:52
VBScriptで時間の比較をしたいんだけど
たとえば「5:00」というデータがあって
その時間を現在のシステムの時間と比較して
当日か翌日かを判別したい。

例えば現在のシステム時間が「2002/07/10 11:40」とすると
データが00:00〜11:39の間は翌日(2002/07/11)
データが11:40〜23:59の間は当日(2002/07/10)

なので「5:00」は翌日です、みたいな。
>>875
すりゃいいじゃん。
877デフォルトの名無しさん:02/07/10 12:11
えーと、質問したいんですが ひとつのコマンドボタンで2つのプログラム
を動かすことはできるんでしょか?スタートボタンで信号と車を同時に動かすように
したいんです ストップボタンで両方がとまるように 
すんません リア房なんでぜんぜんわかんないっす・・・
プログラムおしえてくださいましーー
>>877
できる。
信号は電気関連、車は機械工学関連かな。
880195:02/07/10 12:16
line input としているのに、改行コードで次の行へ移らず、そのまま
何もデータの無い領域を読み込んでいってしまうのですが、どうしたら
いいのでしょうか?
881877:02/07/10 12:27
>>878
おしえてください おねがいします
>>881
まずどこまでやったか教えろ。
883デフォルトの名無しさん:02/07/10 12:30
>>882オブジェクトはつくりました。コードがぜんぜんわからないんです・・・
タイマー2つつくったりはしたんですが 信号は動いても一つのボタンで車まで
うごかなくてこまってるんです・・
>>883
ガソリン入れろ
>>884
不覚にもワラタ
886デフォルトの名無しさん:02/07/10 12:55
887即レス ◆POP.SOKU :02/07/10 13:02
>>875
"05:00"<"11:40"でも
#05:00#<#11:40#でも
判断できるはずだが。

>>877
信号と車を動かすオブジェクトを作ってそっちを呼び出すか
一つのタイマーイベントで両方動かす。

>>880
改行コードが間違ってるんじゃないか?

>>886
マルチはよくないですね。:-)
888875:02/07/10 13:22
Dateから11:40のように時間を抜くのはどうするのでしょうか。
889即レス ◆POP.SOKU :02/07/10 13:23
>>888
Format$(MyDate,"nn:ss")
とか、
(MyDate-Int(MyDate))*24*60*60で秒、とか。
890875:02/07/10 13:50
>>即レスさん

出来ました 助かりました ありがとう

俳句で感謝ですっ!!
891263:02/07/10 14:36
>>890
季語がねえぞゴルァ!
892デフォルトの名無しさん:02/07/10 15:10
Denpyoman1.5で質問あるんだが
DataMatrix使って値をいれるとメモリリークしない?

こちらの環境は
VB6Pro SP5
Windows2000 SP2

'こんなことやると
'一回で200KB近くリークするんだが…。
For i = 0 To 9999
DpDenpyo1.DataMatrix("hoge", 0) = i
Next i
893デフォルトの名無しさん:02/07/10 15:10
VB6なんですが最近
"0x04246c81" の命令が "0x04246c81" のメモリを参照しました。メモリが "read" になることはできませんでした。

プログラムを終了するには [OK] をクリックしてください"
と怒られます。私のプログラムの問題でなく
VB自体の問題のようなのですが、再インスコ必至ですか?
>893
サービスパックは?
あとOSは?
895893:02/07/10 16:25
>>894
SP5
WinXP れす。
>895
そもそもVS6ってXPが正式動作環境に入ってたっけ?
897893:02/07/10 16:44
>>896
Σ(゚д゚lll)
ドトネト買えってか・・・。
>>896
VB5は動くぞ?
899デフォルトの名無しさん:02/07/10 16:55
DataComboの8行表示を変更することはできますか?
データが8件未満のときは、その件数に行数を合わせたいのですが・・・。
>898
VB6も動くの知ってるけど、正式動作環境ではないから
何が起きても文句は言えないという罠
VB6動かしたくらいで怒られるようじゃXPにしてもあんまりだろ。

>>893
何の処理をしているとこで、出てるか検討つく?
サードパーティーのコントロールとか使ってませんか?
902:02/07/10 17:51
>>893
俺も前に同じ事があった気がする(W2Kにて)
最近ってことは前は動いてたんでしょ?
ならXPだからって訳ではないんじゃ
とりあえずVB入れ直してみればいいじゃん
悩んでるよりその方が早いと思フ
904大学生:02/07/10 20:11
すいません質問です。
学校の課題でVB0.5でカレンダー作るのが出たんですが日付を7×6に張ったラベルに
表示する方法がまったく分かりません。教えてくんですみませんが誰か教えてもらえると光栄至極です。
905大学生:02/07/10 20:12
すみません5.0の間違いです。
>>904
カレンダーコントロールが存在する罠。反則か? (w

ラベルをコントロール配列にすれ
907大学生:02/07/10 20:27
>>906
それは6.0から登場です。
コントロール配列にしてコードはどうすればいいんですか?
関数を呼ぶ時にformを引数に設定する事は出来ないのでしょうか?
いっぱいあるtextやらcomboboxやらを引数に設定するしかない?
909デフォルトの名無しさん:02/07/10 20:37
>>907
関数内でindexの値を使え
>>907
あれ?そうだったっけ。

色々方法はあるだろうけど、Weekday関数とか使って工夫すれば良いでしょ。
>>904
日付と時刻のプロパティ呼び出すとか
912195:02/07/10 21:12
レスくれたみなさんありがとう。
なんとか要求は満たしました。

(はぁ〜帰って寝よ)
>>912
Σ(゚д゚lll)ガーン
6/25から家に帰ってないのか!!
914デフォルトの名無しさん:02/07/10 22:45
Windows2000質問スレッド Part28 にて質問したのですが
内容がこちらの方がよいと指示されましたので書き込み致します。
向こうとの2重書き込みお許しください。

ロボット型サーチエンジンにてサイトを検索してみたのですが
CTRL+Zでのヒット率が高いのと私の絞込みが悪いせいで
どうも目的の情報にたどりつけません。

現象
95・98でVBで作成したアプリケーションにて
リッチテキスト部分での編集時のCTRL+Zの動きは
【一文字ずつ復帰した】のですが
2000に同アプリケーションをインストールすると
【操作内容がごっそり復帰する】のです。

文字を
AAAAAAAAAAAAAAAAA
と入力してバックスペースで一文字づつ消した場合に
【バックスペースを操作してる単位?】でごっそり戻る場合と
【一文字づつ】戻る場合と
2種類あると思うのです。

アプリケーションによってCTRL+Zの動きが違うのであれば
最悪、レジストリ等の編集にて【一文字単位】の復帰にしたいのですが。
(WORDとメモ帳では動きが違う等)

「これは!」と思う方がいらっしゃいましたらご教授願いたいのです。
説明不足・文章力不足等の不手際がございますがよろしくお願いいたします

915 ◆5glB3gAo :02/07/11 00:01
質問でーす
VBで自分と接続されているIPを一覧表示したいのですが
どうやればいいですか?感じとしては
コマンドラインで「netstat/n」したみたいなm感じに。
接続されているIPが取れればあとはそれをリストに追加してけば
いいと思うんですが、まず接続されているIPを調べるってのがわからない・・・

Vb6SP5 Win98seです。お願いします
>>904
一、ラベルなどという軟弱なものは使うでない。
FormのLineメソッドとPrintメソッドでフォーム自身に描け。

一、WeekDay関数などという軟弱なものを使うでない。Zellerの公式をまずは導きだせ。
公式で1日の曜日を求めたならば後は並べるだけだ。

一、並べるときは余りを求めるのがコツだ。
わかっていると思うが、余りを求めるのにMod演算子などという軟弱なものを使うでないぞ。
割られる数から割る数を引きまくれ。最後に割る数より割られる数が小さくなったらそれが余りだ。

一、月末を求めるには、DateSerial関数でDateSerial(2002,7+1,0)などと
する軟弱なことはするな。計算式によって求めるもよし、古来より伝統の
「にしむくさむらい」に習うもよし。

一、うるう年の求めるのに、IsDate("2002" & "/02/29")などとするのはもってのほかだ。
「神武天皇即位紀元年数ノ四ヲ以テ整除シ得ヘキ年ヲ閏年トス
但シ紀元年数ヨリ六百六十ヲ減シテ百ヲ以テ整除シ得ヘキモノノ中
更ニ四ヲ以テ其ノ商ヲ整除シ得サル年ハ平年トス」
に従って求めよ。

では、検討を祈る。
>>916
学校の課題でそうしろって言われたんだったら
勝手に変えるのは拙いだろ。
918:02/07/11 13:22
>>914
テキストチェンジイベント時、変更内容を変数等に保存。
Ctrl+Z押下時、変更内容を元に戻す。
919デフォルトの名無しさん:02/07/11 14:30
前スレがあがってるのでage
920 :02/07/11 16:10
今高校の授業でVBやってるのですが、
先生自体が素人で、何をやっているのかサッパリな状況です。
それで、来週までの課題なんですが
テキストボックスに誕生日を入力して、
別のテキストボックスに何座かを表示させろというものなんです。
If文を多用した原始的なプログラムならできたのですが、
もっと効率のいいやり方はないでしょうか。

>>920
まず、現状のソースを開示せよ
>>920
Select caseを使えば?
>>920
あげる。漏れが昔作ったソース。汚いけど。

Function getZodiac(m As Long, d As Long)
Const Cap As String = "磨羯宮(山羊座: Capricorn)"
Const Aqu As String = "宝瓶宮(水瓶座: Aquairus)"
Const Pis As String = "双魚宮(魚座: Pisces)"
Const Ari As String = "白羊宮(牡羊座: Aries)"
Const Tau As String = "金牛宮(牡牛座: Taurus)"
Const Gem As String = "双子宮(双子座: Gemini)"
Const Cen As String = "巨蟹宮(蟹座: Cencer)"
Const Leo As String = "獅子宮(獅子座: Leo)"
Const Vir As String = "処女宮(乙女座: Virgo)"
Const Lib As String = "天秤宮(天秤座: Libra)"
Const Sco As String = "天蝎宮(蠍座: Scorpio)"
Const Sag As String = "人馬宮(射手座: Sagittarius)"
Select Case m
Case 1: If d < 20 Then getZodiac = Cap Else getZodiac = Aqu
Case 2: If d < 19 Then getZodiac = Aqu Else getZodiac = Pis
Case 3: If d < 21 Then getZodiac = Pis Else getZodiac = Ari
Case 4: If d < 20 Then getZodiac = Ari Else getZodiac = Tau
Case 5: If d < 21 Then getZodiac = Tau Else getZodiac = Gem
Case 6: If d < 22 Then getZodiac = Gem Else getZodiac = Cen
Case 7: If d < 23 Then getZodiac = Cen Else getZodiac = Leo
Case 8: If d < 12 Then getZodiac = Leo Else getZodiac = Vir
Case 9: If d < 23 Then getZodiac = Vir Else getZodiac = Lib
Case 10: If d < 24 Then getZodiac = Lib Else getZodiac = Sco
Case 11: If d < 23 Then getZodiac = Sco Else getZodiac = Sag
Case 12: If d < 22 Then getZodiac = Sag Else getZodiac = Cap
End Select
End Function
924デフォルトの名無しさん:02/07/11 18:58
プロジェクトエクスプローラの中をネスト状にしたいんだけど
どうしたらいいの フォームや標準モジュール単位でしかフォルダが生成されない状況です
教えてアミーゴ
>>920
こ〜ゆ〜パターンもあるぞ
このままでも動くけど、エラー処理とかしておくともっと便利になる

Option Explicit

'info
'txt誕生日………入力値 例:10/01 "/"は自動表示の設定を入れておく
'txt星座…………出力値
'
'入力規制はしていないので、テキストボックスに設定しておく。
'Formの右クリック表示も解除
'間違った入力はエラーメッセージを出す

Private Sub 誕生日ボタン_Click()

Dim date_select As Long
date_select = DateValue(txt誕生日)

Select Case date_select

Case 37336 To 37365
txt星座 = "おひつじ座"
Case 37366 To 37396
txt星座 = "おうし座"
Case 37397 To 37428
txt星座 = "ふたご座"
Case 37429 To 37459
txt星座 = "かに座"
Case 37460 To 37490
txt星座 = "しし座"
Case 37491 To 37521
txt星座 = "おとめ座"
Case 37522 To 37552
txt星座 = "てんびん座"
Case 37553 To 37581
txt星座 = "さそり座"
Case 37582 To 37611
txt星座 = "いて座"
Case 37612 To 37621, 37257 To 37275
txt星座 = "やぎ座"
Case 37276 To 37305
txt星座 = "みずがめ座"
Case 37306 To 37335, 47150
txt星座 = "うお座"

End Select

End Sub
でもさ、何月の何日までが何座かなんて
毎年微妙に違うだろ。天文年鑑のたぐいを読むまでも無く。
そこまで計算するプログラムならたいしたもんだ。
占いの本なんかはいい加減で毎年不変だが。
927質問:02/07/11 21:50
1〜9の数をエンドレスに回転させる方法ってありますか?
スロットのような感じで
タイマーをどのように使えばできるか知りたいです
簡単にでいいので教えてくださいです^^
N=N+1
Label1.Caption = N
if N = 10 then N=0
↑をタイマーで。
Nはちゃんと宣言してからな。
この為のStatic
931915:02/07/11 22:28
頼むから土下座するからだれかヒントでもくれ・・・。
あれからもずっと探しつつ検索しつつ放浪しつつ試しつつ漁りつつ
がんがってみたけどいまだに不明。もうちっとがんばるけど。
932デフォルトの名無しさん:02/07/11 22:30
>>928
arigatou
933デフォルトの名無しさん:02/07/11 23:05
>>931
netstat > app.path & "\temp.txt"
とかってやって、そのテキスト読み込めばいいだろ。
934デフォルトの名無しさん:02/07/11 23:05
土下座わすれんなヨw
935915:02/07/11 23:22
m(_ _)m どうもありがとうございました大佐!
じゃぁ足りないのはわかってるので・・・。
ttp://members.tripod.co.jp/xaxaxax/dogeza.jpg
あんま土下座じゃないですがこれで納得してくださいな・・・。
でわ、解決したっぽいので試してみます。
ありがとうございました。
>>933
うっそ。どうやってやるの?
>>933
出来そうでそれ出来なさそうだがどうやるつもり?
そもそもプロンプトで出た結果をVBで取得できたっけ??
938933:02/07/12 00:42
shellでもって起動してテキストに出力させてるだけだろ。
それを読み込めば結果が得られるじゃねえか。

なんだ「プロンプトで出た結果をVBで取得できたっけ?? 」って。
わからんならやってみれ。
DOMプロンプト開いて
netstat > c:\temp.txt
ってやってみれや。
netstatの結果が書かれたテキストがc:\temp.txtに出来るだろうが。
それを読み込めばプロンプトの結果が得られたのと同じだろ?
それらの処理をVB上でやればいいだけだろうが。
netstatの終了監視をわすれんなよっと。
939937:02/07/12 00:47
あ、、、なるほど。盲点だった。
「VBの機能、コードでプロンプトの結果をファイルに書き出す」
のではなく
「VBによってDOSを開いて、そのDOSの機能でファイルに結果を書き出す」
のね。ちょっと気づかなかった。
改めて938を尊敬。
>>915
IP Helper APIで取得できるんじゃない?
941940:02/07/12 06:18
>>915
ぐぐったらあったよ
http://xcorp.saposen.com/cemetery/netstat.html
ソースまである。
942デフォルトの名無しさん:02/07/12 10:46
VB5なんですけど、テキストボックスのAlignmentプロパティを実行時に変更しなければ
ならない要求をされました。
(半角数字の場合右寄せ、その他の場合左寄せ)

で、Alignmentは実行時に変えられないらしいので、SetWindowLongを使って変えてみ
たのですが、反映されません。
このやり方じゃだめなのでしょうか?

なにかいい方法知ってる方がいらっしゃったらよろしくお願いします。
943:02/07/12 10:52
>>942
テキストボックスを2個重ねてVisibleを切り替える。
944デフォルトの名無しさん:02/07/12 11:12
>>943

それも考えたのですが、ちょっとよろしくない事情があるのと、スマートではないので、
他の手段を探したのです。

でも、それしかないんだったらそうするしかなさそうですね・・・

いずれにしてもありがとうございました。
945根芽樹:02/07/12 11:34
指定したフォルダ(ドライブ)及びその全サブフォルダのうち、
指定した拡張子(複数指定可)のファイルが存在するフォルダ(ドライブ)を
列挙するにはどうするのが良い(速い)のでしょうか。
よろしくお願いします。
946920:02/07/12 13:14
>>923
>>925
アリガd
>>945
Dir関数
( ´_ゝ`)フーン
? VarType(Array(1, 1.0, "1")(0))
vbInteger

? VarType(Array(1, 1.0, "1")(1))
vbDouble

? VarType(Array(1, 1.0, "1")(2))
vbString
>>945
Dir使うしかない。
Dirは再帰的に使えないから
一時的に変数にでもぶちこんでから
それを再起で使えばOK。
一度関数つくっちゃえばそれの使いまわしなので楽勝。
っていうかそういう関数自体がそこらへんでコード配布されてる。
再起 → 再帰
952がもー ◆TLfIN.Ro :02/07/12 17:44
VB5です。
Dir()関数なんですが、ネットワーク上のフォルダ参照で躓いています。
Win98ならちゃんとフォルダ名が帰ってくるのに、
2000やNTでは「パスがみつかりません。」というエラーになります。

administrator権限でログインしてます。
対象フォルダには権限がかけられていません。

助けてあげてください。お願いします。
953デフォルトの名無しさん:02/07/12 22:54
VB初心者本でおすすめってありますか?
いまさら6.0の本を探しているんですけど。
初級シスアドは持ってるけどプログラムは初めてってレベルです。
>>949
これはなにか言いたいのだろうか・・・? 誰かへのレス?
>>953
俺の場合は図書館で手当たり次第に借りてきて読んだ。
買った本もあるけど、この手の本は使わなくなるのでもったいない。
956デフォルトの名無しさん:02/07/13 01:04
>>953
誰にもベストって本はないのよ。
本屋で立ち読みして、自分で決めるべし。
サンプルコードが自分の好みに合ってるのがいいと思う。
漏れ的には星座盤とかが好きだったけど、これは万人向きではない。
>956に同意。
んで、本の後半を見て、どこまでやっているかを確認するといい。
ゲーム作りたいのにテキストファイル操作で終わってるんじゃ役に立たない。
958即レス ◆POP.SOKU :02/07/13 17:24
>>893
VBが終了した時に出るならAPIで範囲外の所を
少し(その瞬間にアクセス違反が出ない程度に)
読み書きした時に出ることがある。

>>899
SetWindowPosで高さを指定してやれば
ComboBoxは調節出来る。DataComboも出来るはず。

>>908
普通に
function hoge(frmParam as form1)とか
function hoge(frmParam as Object)とかでできるはずだが。

>>926
そうなのか。知らんかった。

>>942
MultiLine=Trueにしろ、と書いてあったが
ちょっとやってみたら普通に設定できたぞ。
VB6だからか?

>>949
面白い使い方だな。

>>952
Explorerその他では見れるのか?
959デフォルトの名無しさん:02/07/13 21:36
VB6です。
VBのインストールされていない仕事場の端末に、
家で作ったVBのexe(まだ完成してないですが)を入れようと思うのですが、
ちまたで配布されているVB6ランタイムと、
使った参照設定、コンポーネントの下に表示されるOCXを
exeと同じフォルダに全部ブチこめば動くのですか?

ディストリビューションウィザードは使わない方向でおながいします。
960ななし@ネタです。:02/07/13 21:45

StrConv("始", vbWide) = "女台"
にならないのはどうしてでしょうか?(^^;

「ヒネリが足らない」、「座布団没収」等、手厳しいご意見を
お待ちしておりマス。m(_ _;;)m
961デフォルトの名無しさん:02/07/13 21:47
VBScriptでCSVからファイル名を読み込みサーバーにFTPするプログラムを教えてください。
そん時にディレクトリが無い場合にディレクトリ作成ロジックも加えて欲しいです。
お願いします。
>>961
丸投げはヤメレ。
963即レス ◆POP.SOKU :02/07/13 21:50
>>959
・VB6ランタイムはMSVBVM60.dllとvb6jp.dllがいる。
 (vb6jpはMSVBVM60と同じフォルダにないといけない)
・OCXはregsvr32で登録しないといけない。
・DLLやOCXがなんか参照してたら当然それもいる。

ぐらいかな。
964即レス ◆POP.SOKU :02/07/13 21:51
>>961
大雑把すぎ。

>>960
なんかイマイチ。
965デフォルトの名無しさん:02/07/13 22:00
CSVからファイルを読み込むまでは出来たのですが。
そこからサーバーへFTPするロジックが解りません。
ついでにFTPしたさいにサーバー側にディレクトリが無い場合どうすれば?
javaでやろうとしたら大変なことになりました。。。
サーバーへFTPするロジック















(´ー`)y-~~~
(´Д`)y─┛~~
(゚д゚) ・・・。
(゚−゚) ・・・。
(´ー`) ・・・ぅ
( ´,_ゝ`)プッ
967959:02/07/13 22:07
>>963
詰まるところ、ディストリビューションウィザードを使えということですか。
968即レス ◆POP.SOKU :02/07/13 22:19
>>965
Inetコントロール使っとき。
使い方はMSDN参照。

>>967
それが一番無難かな。
別に自前でも作れるけど。
969ななし:02/07/13 22:51
>>968

趣味ならともかく、仕事なら、インストーラの自作は手間が掛かり過ぎて
割に合わないんじゃないでしょうか?

レジストリが汚れるからVB嫌い!ってのは、今更・・・・だし、板違いだし、
荒れるし、Del厨呼ばわりされかねないので、自粛しますが。(^^;;
970即レス ◆POP.SOKU :02/07/13 23:15
>>969
一人〜数人ぐらいで作ったアプリなら大した手間ではないよ。
やるこたファイルコピーとショートカット作成、ログの保存
ぐらいだからな。

>レジストリが汚れるからVB嫌い
いじらんでも使えるぞ。
971ななし@自己ツッコミ:02/07/13 23:20

> レジストリが汚れるからVB嫌い!

COMを否定してるようにも読み取れたり・・・。
>>970
俺にもそれ教えておくれ。
・例えば、元々あるコントロールとFlexGridだけ使ったアプリの場合、
ベクターで配布されてるランタイムに入ってるDLL,OCXと
MSFLXGRD.OCXだけ%SystemRoot%に入れたら良いのか。
・レジストリの書き換えはどういう時に必要なのか。
973即レス ◆POP.SOKU :02/07/13 23:36
>>972
OCXを使う場合は登録しないと使えない。
=OCXファイルの追加とレジストリへの登録が必要。

いじらんでも使えるぞ、ってのは標準の
コントロールだけ使ったら、って事ね。

※)Win95OSR2以降の話。Win95はOLEのバージョンが
古いのでOLEAUT32やらなんやらも書き換える必要がある。

Win95時代はPC触ってなかったのでよく分からんが。
974ななし@自己ツッコミ:02/07/13 23:44

> いじらんでも使えるぞ、ってのは標準の
> コントロールだけ使ったら、って事ね。

VB5.0で作った、標準コントロールのみのアプリ(バイナリファイルをFDサイズに
分割するだけのもの)を95OSR1(Office4.Xがインストールされている)環境に
コピペしたら、問題なく動いた記憶があります。

ただし、TextBoxのAlignment = Rigtht が無視されて、左寄せになってました。(W
975デフォルトの名無しさん:02/07/13 23:49
まったく初心者で悪いんですが、どなたか教えて頂きたいです。

ディレクトリリストボックスを選択させて
そのディレクトリ内にある画像をサムネイルで別の新しいFormで表示させたいのですが、
それだと、Formがloadされた時にある程度の数のサムネイルを表示、
さらに縦のスクロールバーでページを切り替えて次のサムネイルの表示を
表示、って方法しか思いつかないんですが、
これだとフォームをロードした時、スクロールバーを移動させたとき、
の二回コードを書かないといけないんですが、
これを一回に収める方法無いんでしょうか?
もしくは、これ以外に簡単な方法あればぜひ教えて頂きたいです。

本当に困ってるので、親切な方よろしくお願いします・・・。
976即レス ◆POP.SOKU :02/07/13 23:56
>>974
ああ、俺のはVB6の話だわ。

>>975
サムネイル表示をサブルーチンにして
引数で表示位置やファイル名を渡す、とか。
977デフォルトの名無しさん:02/07/14 00:53
 凄く単純な質問で悪いんですが、ファイルの絶対パスをStringで持っているとき、そのファイル
を削除するにはどうすればいいんでしょうか?
kill ファイルの絶対パスが入ってるstring型変数
979デフォルトの名無しさん:02/07/14 00:57
>>978
ありがとうございます!
>>974
>ただし、TextBoxのAlignment = Rigtht が無視されて、左寄せになってました。(W
Win95のときは、MultiLine=Trueにしとかないと無視されるからねぇ。
OS限定しない場合は、MultiLine=TrueとEnter無視の処理は入れんとね。
あれ?新スレどこ?
982VB:02/07/14 14:51
音楽のコードを空欄に記入して
ボタンを押したら
その音符が出てくるような
プログラムを作りたいんですが
どうしても出来ません。
教えていただけませんでしょうか。
>>982
まず貴方が何処の部分で躓いているのかが解らないので
レスのしようがありません
>>982
○投げなら金だせ
985:02/07/14 15:21
>>ALL
おまえらいい加減VB6やめたら?VB.net安いんだからさ。
俺はVBやってないよ。
ここに来るおヴァカさんな質問の数々を眺めて
「下には下がいるもんだな」と自分を慰めるために来てる。
>>985
勉強・趣味ははVB.net(or C#)でいいだろう。
でも仕事じゃVB6をすぐにやめるわけにはいかない。
988即レス ◆POP.SOKU :02/07/14 17:26
>>982
流れとしては楽譜の絵を作って、コードを解析して音符にして、
音符の種類と楽譜に対する位置を計算して描画、って感じになる。
>>982
(・∀・)ニヤニヤ

>>985
Me以前では.Net使えませんが何か?
Me以前っつったら、2000も入らないか?
まぁ、微妙な言い回しであるが。


しかも、使えないわけじゃないだろう。
使えるけど機能が制限されるのであって。
次スレは?
992デフォルトの名無しさん:02/07/14 18:56
ListBoxのStyleをCheckBoxにして使っています。
チェックがついているかついていないかは
Selectedプロパティで取得できるのですが、
設定ができません。
(設定できません=SelectedプロパティをTrueにしても、選択されるだけでチェックがつきません)
チェックを付けるようにするにはどのようにコードを書けばいいのでしょうか。
早く新スレ立てろよぶび厨。
>>992
checkedじゃなかったっけ?
995デフォルトの名無しさん:02/07/14 19:20
>>994
ListBoxにはcheckedプロパティないです。
ListViewにはあるんですが。
>>995
value=1
997994=996:02/07/14 19:25
久しぶりにVB5立ち上げたよ。懐かしい
998994=996:02/07/14 19:26
>>998
次スレよろ
999デフォルトの名無しさん:02/07/14 19:28
valueプロパティもないような・・・。
1000994=996:02/07/14 19:30
>>999
しまった。リストボックスか
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。