トップページ⇒tech
1001コメント310KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001HTML化チェック済みNGNG

  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/

VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
00021NGNG
立てますた。
0003デフォルトの名無しさんNGNG
6.0のWebBrowserは.netでは何て言うのでしょうか?

≫1乙
00041NGNG
暇なんで滑り込んでおくか。



    ズザー

 __('A`)こ=  ==3


>>3
>>1見てよ。せっかくリンク先チェックしてんのに。
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/
0005デフォルトの名無しさんNGNG
>>1
乙age

つーか、Part22の.Netスレが立ってるよ…。
分岐?
0006デフォルトの名無しさんNGNG
単に重複でしょ。
0007デフォルトの名無しさんNGNG
この際.net用はあっちにすれば?
0008デフォルトの名無しさんNGNG
それじゃ
【老若】VB.net質問スレ【男女】 (Part2)
の立場がない。
0009デフォルトの名無しさんNGNG
こっちはhtml化チェックもしてあるしな。
0010デフォルトの名無しさんNGNG
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030118232845.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030119190214.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030119181015.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030126100219.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030126230519.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030211182515.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030214001135.jpg
ttp://www.kai10.com/tenko/cgi-bin/img-box/img20030216173952.jpg

0011デフォルトの名無しさんNGNG
つーか、VBスレ自体もういらねーよ。
馬鹿が使うVBなんて、、、、さ
0012デフォルトの名無しさんNGNG
>>11
やーい、バ〜カ。
0013デフォルトの名無しさんNGNG
VB6でクラス中心でプログラムしてる奴って実際どれだけいるんだろ?
0014デフォルトの名無しさんNGNG
クラスは使うけど中心ではないよ。
0015デフォルトの名無しさんNGNG
>>13
俺は積極的にクラス&ユーザーコントロール使う手法で
プログラムしてるよ
0016ひきプロNGNG
VBのOCXって他の開発環境で再利用できないんでしょうか?
検索したらDelphiからVBに張る方法ばっかりでてきて
0017デフォルトの名無しさんNGNG
>>13
自分の担当がDLL,OCX作成中心なので必然的にクラス・ユーザコントロール中心に設計するようになってる。

>>16
できないことはないんじゃない? 普通のコントロールと同じように扱えば。
ただVC/DelphiでできなくてVBしかできない処理というのがきわめて少ない以上、あまり需要の無い方法なのかも。
他の環境については知らん。
0018ひきプロNGNG
>>17
ほおほ、ありがとうございます。
いつもVBで開発してるので、もしVBからしかOCXが
使えないんだったら意味ないかなーと思ってました。
確かにVBで作ったのを他の環境で使うって事はなさそうですね。
今まで気にしてなかったんですがVCでもOCX作れるんですか。
VCで作る方法を探してみます
0019デフォルトの名無しさんNGNG
>>13
おれはそうだな。複数インスタンスを作成すると効率がいいことが多いから。
0020デフォルトの名無しさんNGNG
>>13
漏れはクラス中心に設計してるよ。
クラス、ユーザーコントロール、(クラスとしての)フォーム…。
作業の切り分けやインスタンスの管理が楽だからね。

ただ、作業員で入ったおじちゃん&おばちゃんプログラマが勝手に、
標準モジュールに書き換えられたり、フォームにベタ書きされたりすることも、しばしば。
設計は守ってくれって言うと、
「何で、フォームとモジュールでできることを、わざわざクラス・コントロール使わないかんねん!!
 このド素人が!!VBにはVBのやり方があるんや。
 クラスやコントロールなんてオマケやぞ。」
と集団で一喝されました。あ〜痛い痛い(w
0021デフォルトの名無しさんNGNG
>>20
どんなコードにケチを付けられたのかわからないけど

| VBにはVBのやり方があるんや。
| クラスやコントロールなんてオマケやぞ。

クラスやコントロールを使わないのがVBのやり方だというのは賛成できないな。
16ビットVB時代の古い頭では理解できないのだろう。
0022デフォルトの名無しさんNGNG
アロハPC1を使って電話の着信からDB検索して
顧客情報を表示というプログラムを作成しているのですけど
VBのサンプルってどこかに落ちてないですか?
0023ひきプロNGNG
http://www1.sphere.ne.jp/nikko-ew/seihin/alohapc1/alohapc1_specifications.pdf
8ページ目に仕様が

MSCommコントロールを使うと何とかなるかも知れませんね。
0024デフォルトの名無しさんNGNG
>>20
俺は ActXとかDllとかOCXを作らない場合にはクラスの使い道って知らん。
業務上ActX毎の単体処理になるんで、インターフェース以外は使ってなかった。
 が
最近、内部のテーブルとして使えばパブリック引数に渡せるなぁ・・て利用中。
(メモリ展開させて)
しかし、データプールとしてのみで、処理は持たせてない。正しい使い方ってなんだろう・・
0025ひきプロNGNG
そういえばクラスってリスト構造とか木構造とか
作れますよね。
002620NGNG
>>21
クラスの処理なんか、まさにUMLのクラス図みたいなものだよ。
そのクラスをコレクションにするクラスをラップした、ごくごくフツーのクラスモジュール。
コントロールもいくつものコントロールの処理を統一化した、
インターフェース処理を含めた、またクラス図みたいなものだよ。
そりゃ、たしかに使わなくてもできるが、
何も、多次元配列とSelect〜Case〜の山に書き換えることも無いだろうに。

>>24
漏れはクラス・コントロール自体に特別すごい処理は持たせないよ。
あくまで、存在の切り分け上含まれるプロパティ・メソッド・ファンクション・イベントが乗っかるだけ。
アプリ内のDLL・OCXの配置に近い使い方もするな。
生成すべき形が明確な場合はクラス化するようにしてる。
0027デフォルトの名無しさんNGNG
Form1.visible=Falseにするとクラスになりますた。
0028デフォルトの名無しさんNGNG
.。o(見えててもクラスなんだが...)
002921NGNG
>>25
作れるけど、インスタンスの寿命とかを考えないとハマるおそれあり。

>>26
OOを理解できないオールドタイプか>20のまわり

>>27
ポカーン(AA略
0030デフォルトの名無しさんNGNG
>20に書かれてるおじちゃんたち、ドトネトに移行したら喜びそうだね。
0031ひきプロNGNG
>>29
そうですよね、適当に作ったら解放されないで
メモリ上に残ってしまいそうですね。
003220NGNG
>>29
まさにオールドタイプ。
RDBもほとんど意識して無い。
昔、Accessのマスタテーブルの作成をお願いしたら、
テーブルごとに別ファイルにされた。
「CSVはこうなってるだろ。」と言われたよ。
オイオイ、何のためのDBだよと…。

>>30
たぶん永遠に旧VBマンセーのままのような気がする。
ドトーネトは駄作、使い物にならんと言い張って。
0033デフォルトの名無しさんNGNG
>>31
適当に「つかったら」だろ。明示的に解放するのが普通の使い方じゃないか。

おれはRecordset,XMLやFileSysmteObjectは、それ専用のラッパークラスを
作ってる。バージョンの違いもこのクラスの中で吸収できるし、エラーも
大部分吸収できる。
0034デフォルトの名無しさんNGNG
VB.NETはフォームに貼るだけで使えるActiveXコンポーネントが多そうだから初心者のオレはほしい。カレンダーコントロールとかあるからうるう年の計算とかプログラミングする必要ないし。
0035デフォルトの名無しさんNGNG
>>34
VB6のDTPickerはダメなん?
0036デフォルトの名無しさんNGNG
業務系でDTPickerいいよなぁ。古い部分がCalendar使ってたけど・・あれは酷いw
003734NGNG
>>35-36
34の意味はカレンダーのことというより
いろいろなコントロールがVB6よりありそうだなーっということでよろしこ
0038ひきプロNGNG
>>33
確かに…。インスタンスの解放をVBに任せる
癖が付いてました。

ラッパークラスって良さそうですね。
何度もエラー処理とか解放とかしてると
いつか間違えてしまいそうだし。
0039デフォルトの名無しさんNGNG
\hoge\hoge2\hoge3\ というデータがあって、
この通りのフォルダを掘るにはどうしたらいいでしょうか
0040デフォルトの名無しさんNGNG
shell("mkdir .\hoge")
shell("mkdir .\hoge\hoge2")
shell("mkdir .\hoge\hoge2\hoge3")
0041デフォルトの名無しさんNGNG
>39
頭からループ回しながら、
Dirで確認して、無ければ掘る。
0042デフォルトの名無しさんNGNG
俺なら手抜きして on error でエラー処理抜かしちゃうがな。
004333NGNG
>>38
ですね。Recordsetオブジェクトとか、本にも適当に書かれてることが多いんで
後でリファレンス見て使い方が間違ってたーっていうときにも修正が楽です。
「VB6 Error Coding & Layering」って本からこのやり方にしました。
0044ひきプロNGNG
>>43
英語の本ですか(;´Д`
ラッパークラスについていろいろ検索してみようと
思います。ありがとうございました。
0045デフォルトの名無しさんNGNG
WebBrowserコントロール上でのマウスクリックをとりたいです。
どうすればいいでしょうか?
004633NGNG
>>45
SubClass .... かな....
0047968 正規表現が完成した ◆HLRHHB4j46 NGNG
文字列
 あああwww.uploader.com/folder001/いいい
からアドレスらしき文字列を抽出するプログラム。
VBで実際に動かすと
www.uploader.com/folder001/
という文字列を抽出できる。
0048968 ◆HLRHHB4j46 NGNG
'On Error Resume Next
Dim RegEx As Object, Match As Object, Matches As Object
Dim StrPattern, StrSource, Str1 As String
Set RegEx = CreateObject("VBScript.RegExp")
If Err Then
MsgBox "エラー"
Else
'実験用Patternメモ
'"[^a-zA-Z0-9]""[a-zA-Z_0-9]|/""[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+""w+\...+\/.+[^!#-;=?-~]"
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
RegEx.Pattern = StrPattern '検索パターンを設定
RegEx.IgnoreCase = True '大文字と小文字を区別しないように設定
RegEx.Global = True '文字列全体を検索するように設定
StrSource = "あああwww.uploader.com/folder001/いいい" '検索対象の文字列
Set Matches = RegEx.Execute(StrSource) '検索を実行
Debug.Print "--------------"
Str1 = ""
For Each Match In Matches
Str1 = Str1 & Match
'Debug.Print "一致する文字列が見つかった位置は、" & Match.FirstIndex & " です。"
Debug.Print "一致した文字列は、" & Match.Value & " です。"
Next
Debug.Print "それぞれの文字を結合してURL生成" & vbCrLf & Str1
End If
0049968 ◆HLRHHB4j46 NGNG
↑プログラムおわり
----------------------------
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
と
StrSource = "あああwww.uploader.com/folder001/いいい" '検索対象の文字列
をいろいろ変えると他の目的にも使える。
StrPatternの値はここを参考にする。
ttp://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
0050デフォルトの名無しさんNGNG
日本語ドメインの中の人も大変だな
0051968 ◆HLRHHB4j46 NGNG
上のプログラムを実行する前に
Microsoft VBScript Regular Expressions
を参照設定に追加する。
0052968 ◆HLRHHB4j46 NGNG
>>50
前スレまで正規表現サバーリわからなかったからそれなりに苦労した。
0053968 ◆HLRHHB4j46 NGNG
URLには_もつかわれることがあるので
StrPattern = "[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+"
に|_を追加してみた。
StrPattern="[a-zA-Z0-9]|\.|\&|\%|\=|\/|\+|_"

URLに使われそうな文字が見つかるたびに追加していく。
0054968 ◆HLRHHB4j46 NGNG
つまり、
_を追加したことにより、
www.vb_net/
というようなURLもひろえる。
0055デフォルトの名無しさんNGNG
>>54
http://member.nifty.ne.jp/moha/rfc/rfc2396j.txt
0056968 ◆ExGQrDul2E NGNG
>>55
見てきた。その資料より抜粋。
";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" | "$" | "," | "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"
追加しなければならない文字がたくさんあるなあ。
0057デフォルトの名無しさんNGNG
6.0のWebBrowserは.netでは何て言うのでしょうか?

0058デフォルトの名無しさんNGNG
>>57
まだやってるのか・・・
http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&c2coff=1&q=%22VB.net%22+webbrowser&lr=lang_ja
0059デフォルトの名無しさんNGNG
>>58
誰もこたえてくれないんで・・・。
0060デフォルトの名無しさんNGNG
>>39
MakeSureDirectoryPathExists ってAPI
0061デフォルトの名無しさんNGNG
いまさらなんですが
VBの線描画(Line,Pen)について
実線以外の線(点線,破線など)の
線幅を変更して描画する方法を
教えてください。
0062デフォルトの名無しさんNGNG
>>61
正攻法 -> LineDDA API

0063デフォルトの名無しさんNGNG
おまえら質問汁!
0064デフォルトの名無しさんNGNG
土日は質問少ないんだよなぁ…。ヒマだね。
006561NGNG
>>62
サンクス.試してみます
0066デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0067デフォルトの名無しさんNGNG
VB畑でつかまえて
0068デフォルトの名無しさんNGNG
リーチ一発VB
0069デフォルトの名無しさんNGNG
少しは目立つように上げるべし!
0070デフォルトの名無しさんNGNG
いや、馬鹿言語に目立たれるとうざいのでsageてくださいよ
0071デフォルトの名無しさんNGNG
sendkeysでWindowsキーって送れませんか?

WinampをWindowsキーで操作できるプラグイン入れて、
他のPCからTCP/IPでWinampを遠隔操作できる
ソフトを作りたいんですが。
0072デフォルトの名無しさんNGNG
>>71
送れますよ。
0073デフォルトの名無しさんNGNG
>>いや、送れない。
0074デフォルトの名無しさんNGNG
ガーソ
ミ田キー = "^{ESC}" と思ってたのに、、、
0075デフォルトの名無しさんNGNG
>>74
"^({ESC}F)" != Windowsキー+F
0076デフォルトの名無しさんNGNG
VBkey+任意のキー
例:
VBKeyE
VBKeyRight
0077デフォルトの名無しさんNGNG
失礼します。VB超超初心者です。
ツールバーのボタンにwordなどのように
画像を表示したいのに、できません。
方法はわかるのですが、その画像ファイル(イメージリスト?)を
どこから持ってくるのか全くわかりません。
コンポーネントもざっと調べてみたのですが・・・。
(↑見当違いですか?)
イメージリストがどこにあるか教えてください。
馬鹿らしい質問かもしれませんが、宜しくお願いします。

0078デフォルトの名無しさんNGNG
>>77
たしか本に載ってた記憶があるが、本が見つからないのでオレには答えられない
0079デフォルトの名無しさんNGNG
私も超初心者ですみませんが、
getobject(,"InternetExplorer.Application")を使って、
開いてるIEを扱おうとすると、
普通のPC内のフォルダにつながっちゃうんですけど、
どうすればいいでしょうか、教えてください。
0080デフォルトの名無しさんNGNG
>>77
はあまり反応がイクナイ
0081デフォルトの名無しさんNGNG
>>77
イメージリストは自分でフォームに設置しないといけないです。
Windows Common Controls6.0にあります。
0082デフォルトの名無しさんNGNG
VBのdeclare functionってやってDLLを利用するとき、DLL側の呼び出し規約は
cdeclを使えますか?stdcallは使えるのですか?VBでは呼び出し規約はどういう
扱いになっていますか?
0083デフォルトの名無しさんNGNG
>>82
stdcallしか使えないと思ったが…よく覚えてない。
008477NGNG
>>81
ありがとうございました!!
早速やってみます!!
0085再び77ですみません…。NGNG
イメージリストを設置するところまでは無事できました!!
でもいざ画像の挿入をしようと思っても肝心の画像
(プリンタとか開いてるフォルダ等の画像)がどこにあるのか・・・
本にはそこまでは書いてなくてわかりませんでした。
一応HDD内は検索してみたのですがありませんでした。
DLとかするものなんですか?
0086デフォルトの名無しさんNGNG
>>85
CDに入ってますよ
008777NGNG
>>86
はぁ〜やっと見つけました…
本当にありがとうございました!!
0088デフォルトの名無しさんNGNG
メニューエディタを使ってメニューをつくるときに、
開く
終了
のように縦にメニューを表示させるのはできますが、
開く 終了
のようにメニューバーの中に2つの項目を横並びに配置する方法がわかりません。
0089デフォルトの名無しさんNGNG
>88

                    ,イ^i
                   ,イ::::  l
                  /::::::::   l
                 /::::::::::    {       /|
               /::::::::      `-、_  /:: {
              /:::::::::::    /       ̄  __ l
             ./:::::::::::         :::::\:::... \ i
             /:::::::::::          ::::::::::\:::: 、 {
             |:::::::::::.            :::::::::_ゝ:::  !
             |::::::::::::.       ):.`ー..____' /:::  |
             .l:::::::::::::.         ヽー─フ::   /   プッ
             ヽ::::::::::. ___           ,/
               \::/`ー---‐^ヽ        /
                l:::      l         /
           _ /,--、l::::.      ノ       l
       ,--、_ノ:: `ー'::   、ミー---‐,,l        \
      ,/   :::         i ̄ ̄  |         \
     /:::::::.        l:::    l:::::::   l           \
    l:::::::::::.   l:::    !::    |:::::::   l            \
    |:::::::::l::::  l:::    |::    l:::::     l              l
    |::::::::::l:::.   }:::   l:::::,r-----    l               l
    ヽ::::::::l::::   ト:;;;;;;;/-/__...........  /
    /\::::`ー‐'  / l__l;;;;;;;;;;;/
  /   `           /

0090デフォルトの名無しさんNGNG
>>88
ヘルプ嫁。
0091デフォルトの名無しさんNGNG
(*´д`*)アハァ…
009288 ◆D24s65nhoU NGNG
>>89-91
ヘルプに載ってないテクニックが必要なようで載っていませんでした。
メニュエディターを開いた後の手順を細かく教えてくれたらうれCです。
0093デフォルトの名無しさんNGNG
>>92
テクニックって、、、
たとえば
ファイル(F)
 開く
 終了
というようなものを
ファイル(F)
 開く | 終了
のような感じにするのでしょうか?
009488 ◆D24s65nhoU NGNG
>>93
(青いタイトルバー)ソフト名
(灰色メニューバー)開く 終了
としたいんです。
0095デフォルトの名無しさんNGNG
>>94
ヘルプも真面に読めないのかスカタン
0096!88NGNG
>>95
見付けられなかったけど、どのあたりに載っているか教えていただけますか?
0097!88NGNG
>>94を読み間違っていた...寝よう
0098デフォルトの名無しさんNGNG
あまりに簡単なので釣りとしか思えんが・・・確かにメニューエディタは
とっつきにくいかもしれないね。

「・・・・」がメニューの階層なのでそれを「←」ボタンで取っ払えばいいってだけ。
009988 ◆D24s65nhoU NGNG
>>98
ありがとうございます。
開く 終了
と横並びに表示する場合も
メニューエディタでは
開く
終了
と縦に登録していくんだなと気がつきました。
0100デフォルトの名無しさんNGNG
えっ、釣りじゃなかったのか
0101デフォルトの名無しさんNGNG
言われてみれば確かに、あのメニューエディタはVBらしからぬ作りだよな・・・
0102デフォルトの名無しさんNGNG
うむ、VB.NETのメニュー作成方法みたいじゃないと
Visualではないね。
0103デフォルトの名無しさんNGNG
よろしくお願いします。
汎用機で作成されたデータファイルをExcelに渡す処理を考えています。

汎用機からWindows上に落としてきてきた(この間に文字コードの変換をしています)
テキストファイルの中の、指定した行のiバイト目からjバイトを抜き出す
(その後エクセルに渡す)、という処理で詰まっております。
(この"iバイト目からjバイト"というのは汎用機側の印刷パラメータです。)
対象となる行には数値、日本語が混在しています。i,jは表の項目ですので増加していきます。

Mid,MidB関数で引数にi,jを指定してやればよかろと思っていたのですが、
汎用機側では数値は1バイト、日本語は2バイトで扱っており
Windows上では全て2バイトで扱っているのでこれだと抜き出す時に誤差が生じてしまいます。

で、バイナリで開いて先頭から順次読み込んでやればいいかなと足りない頭で考えたました。
以下、足りない頭で考えたルーチンです。
1.対象行(テキスト)をバイナリで作業ファイルに書き込む
2.作業ファイルをバイナリで指定したバイト数だけ読み込み、配列で宣言したByte型変数に格納

とここまでやったのですが、これを元の数値や日本語に戻すにはどうしたらいいでしょうか
よろしくお願いします。
0104デフォルトの名無しさんNGNG
超FAQです。
LenBとStrConvでドゾ。
0105デフォルトの名無しさんNGNG
VBでマルチキャストの送受信を行うべく、
With Winsock1
.Protocol = sckUDPProtocol
.Bind 20002
.RemoteHost = "233.0.0.0"
.RemotePort = 20002
End with
と設定して、他マシンからのマルチキャストを受信してるんですけど、
Winsock1_DataArrivalイベントが発生しません。
試しにVCで作ったマルチキャスト送受信プログラムで受信してみるとうまく受信できました。
VBで受信するには他に何か設定が必要なんでしょうか?
ちなみに、この設定のままWinsock1.SendDataで文字列を送信してみたら、
マルチキャストの送信は、できました。
0106デフォルトの名無しさんNGNG
 VBでHP作ったんですけど、アップロードの仕方が分かりません。
誰か教えてください。
0107デフォルトの名無しさんNGNG
>>105
私の環境では完璧に動きまする…。
Win2ksp3/VB6sp5。
VBにSPはあてた? Winsock.ocxにバグあった気がする。

あと、コード中で入れるんじゃなく、プロパティーページで
Bind以外を設定するとどうなる?
なんか別の所で変なことやってるのかもしれないし。
0108105NGNG
>>107
動きましたか。うちの環境はWin2k VB6SP5です。
ちょっといろいろ設定見直してみて、また来ます
0109デフォルトの名無しさんNGNG
>>103
「バイト型配列から日本語含めた文字列への変換」でいいのね。
バイト型配列を「byteArray()」とすると、

Dim strBuf As String
strBuf = StrConv(byteArray(),vbUnicode)

でいけるはず。何も見ないで書いたので綴り間違ってるかも。
ためしてみてちょ。
0110デフォルトの名無しさんNGNG
マウスカーソルの位置を強制的に固定したいのですが
マウスの位置のプロパティってありますか?
0111デフォルトの名無しさんNGNG
ClipCursorだったかな
0112デフォルトの名無しさんNGNG
ごめん
よく調べたらあった。>MouseCol、MouseRow プロパティ
0113デフォルトの名無しさんNGNG


       / ̄ ̄ヽ     / ̄ ̄ヽ
       l i'´~`ヽ|   l /~`ヽ |
       ヽ.\  ,レ-――-'<、 _ノ /
         `‐/_____\- '         人_ト、__ノ、_,ヘノ\_ノヽノ、
          / ,-、      ,-、 ヾ、       人/                \__
           l  ,..、       ,..、  l     _ノ                    (
     __l  i 0} ,.●、 !0 i  l__  _)
  / ̄| | . |  `~ /___\`~´   |  | __ノ 絶対に許さんぞ>106!!!!!!!
/     | | |l    ‘-イ !_|_!`r’     !|  | ノ
\\   | |. |`、   r{     h   ,/リ <    じわじわとなぶり殺しにしてくれる!!!!!!!
  \\.| |   ヾ\ ヽ二ニ二.ノ  /〃 |  )
、   \ノ^,ニ‐-ァ  ̄`ー-----一' ̄/  | ^ヽ
\  // ,/⌒i、_\\_____//  .|  |  ⌒)
   {   i   |  iヽ`ー-----― '    |  |    ̄ヽヘ/⌒ヽ/\i'\へ/⌒Yヽ'^

0114デフォルトの名無しさんNGNG
ユーザーの環境によっては
Date関数が
2003/02/03
ではなく
2003/2/3
という値を返すことはあるのでしょうか?
0115>>103 ですNGNG
>>104
>>109

レスありがとうございました。
StrConv関数のヘルプは散々見ていたのに、引数のvbUnicodeを見落としていますた。
これからテストしてみます!!!
0116デフォルトの名無しさんNGNG
>>114
心配ならFormat使え。
0117デフォルトの名無しさんNGNG
>>114
前提が間違ってるぞ。
そもそもDate関数は文字列を返すものじゃなく、Date型を返すもの。
文字列型へ代入した時の形式は、そのマシンの「地域のオプション」の日付形式の設定に
左右される。決まった形式で欲しいならFormat関数を使うのが吉。
0118114NGNG
>>116-117
ありがとうございます。
Format関数は使ったこと無いけどマスターしてみます。
0119114 成功しましたNGNG
Format(Date, "yyyy/mm/dd")
0120デフォルトの名無しさんNGNG
>>117
でも漏れなんかは、N88BASIC時代の人で、Date$とかTime$に慣れてたから
結構そのままやってて、意図しない書式が返ってきたりして面食らったことがあるな。
0121デフォルトの名無しさんNGNG
アプリケーションにエラーが出ていないか監視したいのですが、
どうやればいいのでしょうか?
0122デフォルトの名無しさんNGNG
この3つで使われているapigid32.dllってのを、標準のwin32APIに置き換えることはできますでしょうか?
copymovememoryとか、該当しそうなAPIがあるので・・・

Public Declare Sub agCopyData Lib "apigid32.dll" (Source As Any, Dest As Any, ByVal nCount As Long)
Public Declare Function agGetAddressForObject Lib "apigid32.dll" (Object As Any) As Long
Public Declare Function agGetStringFromLPSTR Lib "apigid32.dll" (ByVal src As String) As Long

0123デフォルトの名無しさんNGNG
>>121
On Error ステートメントか?

>>122
そもそもそのソースがどこから出てきたか説明するのが筋だと思うが・・・
ググッてみたところ、ダニエル・アップルマンの本のおまけでついていたDLLみたいだな。
それら関数の動作の詳細も書かずにできるかどうかと問われてもどうか?って
感じだが、その関数の中でやってるのと同じことをやればできるだろうw
一応マジレス。
0124122NGNG
>123
いやぁ、apigid32.dllは持っているのですが、あまりユーザの環境に入れたくないですよね、余計なDLLは。
というわけで、標準のWin32APIに置き換えはできないかなと思って質問してみました。
ありがとうございます。
0125121NGNG
>>123
VB6で作成した実行ファイルを起動していると
アプリケーションエラーがでてしまいます。
で、エラーが出たらそのアプリケーションを再起動したいのです。
0126デフォルトの名無しさんNGNG
http://www.agemasukudasai.com/bloom/
0127デフォルトの名無しさんNGNG
>>125
なぜそのアプリのバグを取ろうって発想にならないんだろ・・・ (´д`;)
FindWindowあたりでできそうな気はするが。
0128なNGNG
>>119
「/」 は地域のオプションの区切り記号に置き換えられるので、
それだと期待通りに動作しない場合があります。

Fromat(Date,"yyyy\/mm\/dd") が正解です。
0129114NGNG
>>128
むぅ。盲点でした。
世界中のVBアプリにこの手のバグがあるような悪寒を感じてしまいました。
0130デフォルトの名無しさんNGNG
すみません、くだらない質問ですが
あんまり簡単すぎて?探しても記述を見つけられないのでお願いします。

1.Space"$"(number)のように、関数の後ろに"$"が入るのはどういう意味を表していますか?
2.myarry() as integer のように、配列の括弧内が空白というのはどういう意味ですか?

よろしくお願いします。

0131デフォルトの名無しさんNGNG
>>130
ヘルプ読めばどっちも書いてあると思うが。
関数名に $ がつくのは、返り血を文字列型で返す関数。
$を省略すると、Variant型で返るので、パフォーマンスのためには
$をつけた方がいいとよく言われる。

myarry()のように空白の配列は、動的配列という。
ReDim myarray(256) などのようにして、コード中で配列の要素数を変更
したい時に使う。
0132デフォルトの名無しさんNGNG
>>131
積年の謎が解けました。
ReDimのヘルプ引いたら意味が分かりました。
ありがとうございます!!!
0133デフォルトの名無しさんNGNG
横からスマソ。
>>130-131
関数定義の段階で
Function Space(number) as String
とやっておけば、関数名に $ をつけなくても返り値は String が保証されるんですよね?
0134デフォルトの名無しさんNGNG
>>113
Yes. その辺は変数定義と一緒。
0135134NGNG
×>>113
○>>133
0136デフォルトの名無しさんNGNG
my性器
0137デフォルトの名無しさんNGNG
覚えるより忘れる方が早い人はどうすればいいんですか?
0138デフォルトの名無しさんNGNG
>>137
氏ね。
0139138NGNG
>>134
ありがとうございます。
0140デフォルトの名無しさんNGNG
>>137
電脳化させろ。
0141137NGNG
>>140
どういう意味?
0142137 ◆V1kwoShQaI NGNG
>>140
むずかしそうな話だからしばらく電脳化についてはいいや。
とにかく昔の自分のコードをわざわざみないと今現在何も作れない自分がいるのがかなすぃ。
0143デフォルトの名無しさんNGNG
>>142
そんな君にはオブジェクト指向&デザインパターン。
コードを見なきゃつくれない→自作のライブラリを使えばすぐできる。(※)
へとステップアップだ!

※自作のライブラリを使わなきゃつくれない、、、とも言う。
0144137 ◆V1kwoShQaI NGNG
>>143
ようするに普段から再利用可能でコピペで使えるようなプログラミングを心がけなさいということだね。
あとは貼り付けてつかえるActibeXコンポーネントをうまくつかうっと。
未だに変数名もばらばらにつけてるオラには再利用ライブラリはムリポ。
0145デフォルトの名無しさんNGNG
>>144
漏れが恐ろしいほどコメントつけまくるのは
他人がコード見たときの理解を助けるため・・・ではなく、
自分が後から見たときに分かるようにするためだ。

「この変数なんだっけ?(*´д`*)」
0146137 ◆V1kwoShQaI NGNG
>>145
なるほど。オレも変数についてコメント書くことがあるな。英単語の意味を。
Dim Int1 as Integer 'integer=整数という意味
0147デフォルトの名無しさんNGNG
>>145
俺も4年ごしでやってるシステムの根幹部分なんて
自分で組んだのにすっかり忘れてるよ・・・ (*´д`*) アハァ
やっぱコメントは大事だね。
でも自分で書いたソースって、やっぱ他人の書いたソースよりも
はるかに理解がしやすい。
あ、いいソース書いてるって意味じゃなくねw
やっぱ組み方のクセみたいなものがあるから理解しやすいんだと思う。
0148デフォルトの名無しさんNGNG
そろそろお昼ねタイムだ
0149デフォルトの名無しさんNGNG
失礼します。
メニュー項目をクリックすることでテキストボックスの
横スクロールバーの有無を切り替えたいのですが、
スクロールバーは新しく値を設定する事ができない、
と言われてしまいます。
どうすればメニューのクリックで
スクロールバーを切り替えられますか?
(Windowsメモ帳の「右端で折り返す」みたいな感じです)
0150デフォルトの名無しさんNGNG
>>149
あらかじめスクロールバーのあるのと無いのと2つ用意しておいて、
メニュークリック時に表示・非表示を切り替えるとか。
もちろん切り替え時に内容は同期取ってね。
0151デフォルトの名無しさんNGNG
すいません、スタンダードでも自分の作ったアプリ配布できるますか?
0152149NGNG
>>150
ありがとうございます!!

そういう手も考えてはみたのですが、
何せものすごい初心者なもので…。
その、同期を取るのをどうしたらよいかがわかりません。
本にも載ってないしヘルプファイルも参照できない状態なので、
どうか教えていただけないでしょうか?
宜しくお願いします。
0153デフォルトの名無しさんNGNG
>>152
ヘルプないなら、MSDNオンラインを利用すれ。
ttp://www.microsoft.com/japan/msdn/library/
ちなみに同期を取るとは、下記みたいな感じ。
あんまり答えモロは書きたくないが、簡単すぎるのでたまにはまんま載せてみた。

Private Sub Command1_Click()
If Text1.Visible = True Then
Text2.Text = Text1.Text
Text1.Visible = False
Text2.Visible = True
Else
Text1.Text = Text2.Text
Text1.Visible = True
Text2.Visible = False
End If
End Sub
0154デフォルトの名無しさんNGNG
>>152

sub メニューを押した
  if text1.visible then
    text2.text = text1.text
    text2.visible = false
    text1.visible = true
  else
    '反対のことをする
  end if
end sub

こんな感じー。
つーか漏前、なんでヘルプが無いんだYo!
0155デフォルトの名無しさんNGNG
負けた(ρ_;)クヤシイ
0156デフォルトの名無しさんNGNG
>>154
割れ物でMSDNのディスクがないと思われ。
0157149NGNG
>>153-154
何から何まで本当にありがとうございます!!
今度からMSDNオンラインを見てみますね!!
それでもわからなかったらまたよろしくお願いします。

>>156
その通りなんです…
0158デフォルトの名無しさんNGNG
>>157
割れ厨かよ。答えなきゃ良かった。氏ね。
0159デフォルトの名無しさんNGNG
漏れなんか、CD-ROM割れてしまって、バックアップなんか取ってないから
MSDNみれないんだじょ。マイクロソフトのサイトみてますが。

これぞ本物の「割れ」・・・・
0160デフォルトの名無しさんNGNG
>>157
通報スマスタ

>>159
MSのサイトで交換の受付ってなかったっけ…。
あっても、今更古いMSDN来ても困る罠。
MSDN付.net買うが宜し。VS6用も入ってるでしょ。
0161デフォルトの名無しさんNGNG
すみません。
VB6のプログラム作成ソフトってフリーで落ちてないんですか?
0162デフォルトの名無しさんNGNG
>>161
頭大丈夫?
0163デフォルトの名無しさんNGNG
>>161
モデラーのこと言ってんのか?
どっちにしろ、自分の考えを表現するためには、
作成ソフト自体を自作しなければ難しいぞ。
0164ひきプロNGNG
何年か前にVBの体験版とサービスパックを使って
無理矢理EXEを作成するとかいう裏技ありましたね
0165デフォルトの名無しさんNGNG
>>161
ソースだけならメモ帳でも書けるぞ
0166デフォルトの名無しさんNGNG
Form1.Showを実行するとForm1.VisibleがFalseでも画面に表示されるのだけれどこれで正常ですか?
0167デフォルトの名無しさんNGNG
>>166
正常
0168166NGNG
>>167さん
ありがとうございます。
0169デフォルトの名無しさんNGNG
>>166-168 (*´∀`*) ホ〜ノボノ♪
0170デフォルトの名無しさんNGNG
VBプロジェクトをRBプロジェクトに変換

http://www.realbasic.com/
0171デフォルトの名無しさんNGNG
VBScriptで
"ゴルァ"
と""も含めて表現したい場合、

document.write "??? "
???にはどう書けばよいのでしょうか・・・
0172ひきプロNGNG
"""ゴルァ"""
0173デフォルトの名無しさんNGNG
ぬおー、できたー アリガトゴザイマス
0174寒NGNG
VB6のLogEventで出力されるログの
"ソース"※ を変更できる方法ってありますか?

※イベントビューアで見れる項目名"ソース"

過去ログ検索する前のカキコ スマソ。
0175デフォルトの名無しさんNGNG
>>174
過去ログみてから発言しましょうね。
心得
壱.質問する前に過去ログにも目を通してみる。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
弐.質問する前に MSDN などで調べてみる。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
0176デフォルトの名無しさんNGNG
>>165
ロジックはともかく、GUIをメモ帳でコーディングするのは生産性が恐ろしく低い罠・・・。
0177デフォルトの名無しさんNGNG
CreateWindowでフォームもコントロール作れ。
だったらCレベルの生産性は維持できるだろ。
0178デフォルトの名無しさんNGNG
WebBrowserコントロールでMouseMoveのようなのできないですかね?
0179デフォルトの名無しさんNGNG
誰か、わかりやすくコールバックメソッドを使った非同期通知のやり方を教えておくれ。
イベント通知だとイベント処理メソッドの処理が終わらないと一方が止まってしまうので
困ってしまってね。Coffeeサンプルは複雑で漏れにはわからん。

ヘルプ嫁・・・・はいはい
0180デフォルトの名無しさんNGNG
ピクチャーボックスに文字を出力するのは
Print Picture1 "aiueo"
だと失敗したんだけど・・・正解をキボンヌ。
0181ひきプロNGNG
Picture1.Print "aiueo"
0182180NGNG
>>181
ありがとう。微妙におしかった。
0183デフォルトの名無しさんNGNG
>>182
見た目は微妙だが、
考え方は180度間違っている。
0184105NGNG
すいません、やはりマルチキャストの受信だけができません。
UDPを使って、お互いのIPをRemoteHostに設定して
ユニキャストで文字列のやりとりはできるし、
マルチキャストを使っての送信はできる(確認は受信側でVC製の別のマルチキャスト受信ソフトで行った)のですが…
>>105の設定だけではだめなんでしょうか?
0185182NGNG
>>183
オブジェクト メソッド 引数の順で書いていけばよかったと今頃思った。
0186デフォルトの名無しさんNGNG
win98でMicrosoft Windowless Controls 6.0のWL コンボ ボックスを使った
プログラムを作ったのですが、windows2000とXPで、実行しようとすると
「コンポーネントMSWLESS.OCXまたはその依存関係のひとつが適切に
登録されていません。ファイルが存在しないか、あるいは不正です。」
とエラーが出て実行できなかったらしいです。 
どうすれば解決できるでしょうか?
0187デフォルトの名無しさんNGNG
珍しいとは思うけどAccessとの絡みで質問でつ。

Accessのテーブルデータと連携した画面を作っています。
MSHFlexGridにDetaSourxeを設定してデータを表示させるまでは
できるのですが、その中からユーザに選択させるために
左側にチェックボックスを並べたいのです。
普通に並べても、FlexGridのデータをスクロールバーで上下させてしまうと
チェックボックスの選択と同期が取れなくなってしまうし、
かといってテーブルに選択の列を追加しても
DBデータと連携できるチェックボックスコンポーネントなんてないし。

理想は、FlexGridの横一列とチェックボックスを対応付けて
スクロールバーに連携させ、かつ離れた列の複数選択を可能にすることです。
どうにか方法ないものでしょうか?
素直にFlexGridのセルをクリックして選択させたほうが楽でしょうか?
0188デフォルトの名無しさんNGNG
>>184
スマソ、ブロードキャストと勘違いしてた…。
マルチキャストを受信するには、アプリケーションからOSにその旨登録しないと
駄目みたいな様子なので、API使うか何かする必要があるような感じ?
IGMPがどうたらこうたら…。
漏れにはお手上げ(ρ_;)
0189189 ◆7WYWM3doQ. NGNG
プログラミングしてるとオレって天才と思うときがたびたびある。
0190デフォルトの名無しさんNGNG
そう思うことは個人の自由だから何も言わないが、
それを公言するのは人間としてなんか間違っていると思う
0191デフォルトの名無しさんNGNG
つまり、




(・A・)イクナイ!





0192デフォルトの名無しさんNGNG
MXって何ですか?
0193デフォルトの名無しさんNGNG
GeForc(ry
0194デフォルトの名無しさんNGNG
>>189
少なくともVB使ってたら思わないな...
0195デフォルトの名無しさんNGNG
>192
アレだろ、ごつごつしたタイヤのオートバイで天高くジャンプしたりする競技?
0196デフォルトの名無しさんNGNG
VBで関数ポインタを呼び出すにはこうすればいいと分かったのですが、
CallWindowProcは引数が4つ余計です。他に良いAPIはありませんか?

Option Explicit

Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Sub main()
Dim adr(2) As Long
adr(0) = AddPtr(AddressOf func0)
adr(1) = AddPtr(AddressOf func1)
adr(2) = AddPtr(AddressOf func2)

Dim i As Long
For i = 0 To 2
Call CallWindowProc(adr(i), 0, 0, 0, 0)
Next i
End Sub

Public Function AddPtr(ByVal Address As Long) As Long
AddPtr = Address
End Function

Public Function func0(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func0"
End Function
Public Function func1(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func1"
End Function
Public Function func2(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Debug.Print "func2"
End Function
0197デフォルトの名無しさんNGNG
>>196
EnumWindowとか、SetTimerとか試してみたら?
つーか、なんでパラメータを無視するんだよぅ(笑
0198デフォルトの名無しさんNGNG
>>197
EnumWindowで出来ます? SetTimerはタイムラグがありそうだし、
TIMERPROC型がWNDPROCと同じ個数の引数なので意味なさそうです。

> つーか、なんでパラメータを無視するんだよぅ(笑
だって、この場合必要ないし。


たいした問題じゃないんですが、名前を変更してみました。
これで一見、「どうやってるんだ?」って思わせられるはず(w
Option Explicit

Public Declare Function CallFunc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal Param1 As Long, ByVal Param2 As Long, ByVal Param3 As Long, ByVal Param4 As Long) As Long

Sub main()
Dim adr As Long
adr = FuncPtr(AddressOf func)

Debug.Print "ret:" & CallFunc(adr, 0, 0, 0, 0)
End Sub

Public Function FuncPtr(ByVal Address As Long) As Long
FuncPtr = Address
End Function

Public Function func(ByVal Param1 As Long, ByVal Param2 As Long, ByVal Param3 As Long, ByVal Param4 As Long) As Long
Debug.Print "func"
func = 1
End Function
0199名無しさんだよもん ◆ZAYX.QGihc NGNG
CallWindowProcはメッセージのフックで使うのが普通
(引数がSendMessageと同じところに注目)

例えば func(param1 As String, param2 As Object) の様な引数を持った関数はVBでは呼べません

言い切ってしまえば VB で関数ポインタは扱えません
関数ポインタを呼び出す部分をCでDLLするしか方法は...(以下省略
0200デフォルトの名無しさんNGNG
>>198
いまいち意図がつかみにくいけど、要するに関数のポインタを変数に入れて、
コールバックで扱いたい、ってこと?
こんな感じかい?

Option Explicit
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long

Sub main()
  Dim ptrFunc As Long
  
  ptrFunc = FuncPtr(AddressOf TimerProc)
  Call SetTimer(0, 0, 1000, ptrFunc)  ' AddressOf TimerProc)'本来はこっちの書き方

End Sub

Function FuncPtr(ByVal AddressOfFunc As Long) As Long
  
  FuncPtr = AddressOfFunc

End Function

Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)
  
  Call KillTimer(0, idEvent)
  Debug.Print dwTime

End Sub
0201デフォルトの名無しさんNGNG
>>199
> 例えば func(param1 As String, param2 As Object) の様な引数を持った関数はVBでは呼べません
そういう時はね、StrPtrやObjPtrでアドレス値に変換してから
呼び出し先でアドレスをローカル変数に代入すればいいんだよ。
0202デフォルトの名無しさんNGNG
タイプライブラリって何ですか?
0203デフォルトの名無しさんNGNG
>202
ほれ。
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E3%82%BF%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%A8%E3%81%AF
0204デフォルトの名無しさんNGNG


:::::::::::/           ヽ::::::::::::
:::::::::::|  ば  じ  き  i::::::::::::
:::::::::::.ゝ か   つ   み  ノ::::::::::: 
:::::::::::/  だ  に  は イ:::::::::::::
:::::  |  な。       ゙i  ::::::
   \_         ,,-'
――--、..,ヽ__  _,,-''
:::::::,-‐、,‐、ヽ. )ノ      _,,...- 
:::::_|/ 。|。ヽ|-i、      ∠_:::::::::
/. ` ' ● ' ニ 、     ,-、ヽ|:::::::::
ニ __l___ノ     |・ | |, -、::
/ ̄ _  | i     ゚r ー'  6 |:: ←>202
|( ̄`'  )/ / ,..    i     '-
`ー---―' / '(__ )   ヽ 、   
====( i)==::::/      ,/ニニニ
:/     ヽ:::i       /;;;;;;;;;;;;;;;;
0205名無しさんだよもん ◆ZAYX.QGihc NGNG
>>201 その方法があったのね...

フックとStrPtr思い出したんだが
過去に『TextBoxにタブが入力されたら半角スペースに変換』たる機能を作ろうとした
ペーストされた時・外部アプリからの変更も考えて フックし

�@ コールバックの引数(ペーストされる文字列のアドレス)をStringに MoveMemory
   ↓
�A String のタブを半角スペースに置換
   ↓
�B �Aの結果を�@のアドレスに入れる(StrPtrを使って)

という方法でやってみたのだが
文字列のサイズが小さいと成功し大きいと失敗(異常終了)します
違うやり方があったら教えてくれ

『入力されたら半角スペースに変換』は簡単なのだが...
0206デフォルトの名無しさんNGNG
>>205
その方法ってAPI呼び出すときに使ってるだろ。
0207デフォルトの名無しさんNGNG
Form1とForm2を持っているソフトのexeファイルを作ると、
exeファイルのアイコンがForm1のアイコンになっちゃうんだけど、
Form2のアイコンをexeに表示させるにはどうすればいいの?
エクスプローラでexeを見てみるとForm1のアイコンしかexeのアイコンとしては表示できないみたい。
0208ひきプロNGNG
EXEを作る時に
オプション → アプリケーション → アイコン
で変更
0209デフォルトの名無しさんNGNG
今更ながら、VS6(VB6だけでもいいけど)を買おうと思うんですけど、
もう入手困難?
昔の会社でVB6使ってたけど、転職した会社になかったので
(ソフトハウスではないですので当然ですが)
どーせなら、VB6を買って、アップ版のVS.NETを買おうと
思ってるので。

もし、通販できるサイトがあれば教えてくださいませ
0210207NGNG
>>208
本当にこんなことができたなんて。
すごい!すごすぎる!
0211デフォルトの名無しさんNGNG
http://store.prod-one.co.jp/ms/dept.asp?dept%5Fid=23
0212もう一度書かせて下さい。NGNG
win98でMicrosoft Windowless Controls 6.0のWL コンボ ボックスを使った
プログラムを作ったのですが、windows2000とXPで、実行しようとすると
「コンポーネントMSWLESS.OCXまたはその依存関係のひとつが適切に
登録されていません。ファイルが存在しないか、あるいは不正です。」
とエラーが出て実行できなかったらしいです。 
どうすれば解決できるでしょうか?

0213デフォルトの名無しさんNGNG
>>211
どうもありがとう!
0214デフォルトの名無しさんNGNG
VBでzipファイルを解凍するプログラムをキボンヌ
0215デフォルトの名無しさんNGNG
>>214
統合アーカイバプロジェクトに行け(´ー`)
サンプルがたくさん落ちてるぞ。

inflateまで自前で実装したいなら茨の道っていうか漏前には無理。
0216ひきプロNGNG
>>212
アプリのフォルダにMSWLESS.OCXを開発環境からコピーすれば
動くようになると思います。
>>214
http://www.google.co.jp/search?q=zip%E8%A7%A3%E5%87%8DVB&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0217214NGNG
>>215-216
キミたちがクレタほんのちょっとの情報だけでオレはつくる!グヘヘ
0218214NGNG
>>217
偽者は引っ込んでください。

>>215-216
ありがとうございます。
0219デフォルトの名無しさんNGNG
ここ数日ム板にも厨房が増えたな。やっぱ春休みか。
0220デフォルトの名無しさんNGNG
質問者はなるべくトリップをつけよう!
0221デフォルトの名無しさんNGNG
化学物質だらけの世の中だから生まれつき変な人増えてもおどろくなかれ
0222214 zip ◆IKup9Hv/8E NGNG
おーう、できたぞ。
zip解凍先フォルダの指定がこのときは解凍できずになやみになやんだ。
Outdir = App.Path
だがしかし、unzip32.dllで大事なのは、解凍先フォルダの指定でフォルダ文字列の最後に\をつけることだ。
Outdir = App.Path & "\"
とすれば見事に解凍できる。
覚えておくといいぞ、これからVBでzipを扱うのに興味を持ったヤシは。
0223デフォルトの名無しさんNGNG
>>222
そのソースだとダメな場合がある(だろう)ってのを覚えておいたほうがいいぞ。
どういう場合にダメなのかは自分で考えるように。
0224214 zip ◆IKup9Hv/8E NGNG
>>223
はっきりいわないと世界中のソフトがバグをかかえたままになるぞ。
なにが悪いんだ?
0225214 zip ◆IKup9Hv/8E NGNG
>>223
Right関数使えとかいうだろうな。
0226デフォルトの名無しさんNGNG
>>224
まともなプログラマはそんなソース書かないから大丈夫だw
自分で考えろって言ってるのに2分で即レスとはすげーヤシだな。
ちなみにRight関数は”あまり”関係ない。
0227214 zip ◆IKup9Hv/8E NGNG
>>226
今のオレには考えてもなにも思い浮かばん。こたえをズバリ言ってくれ。
0228デフォルトの名無しさんNGNG
つーかな、App.Pathの仕様が腐ってるだけともいえるな。
いちいち面倒だってば。
0229214 zip ◆IKup9Hv/8E NGNG
>>228
App.path vb バグ
で検索しても情報がなかったからオレは気にせずにApp.Pathを使うことにする。
0230デフォルトの名無しさんNGNG
>>227
断る

>>228
たしかに・・・
俺は最近は手抜きして、その手の処理にはFSO使うことが多い。何かと便利だし。
0231デフォルトの名無しさんNGNG
バグと仕様の区別もつかないアフォが一匹紛れ込んでるわけだが。
0232214 zip ◆IKup9Hv/8E NGNG
けっ。FSOはノートンに実行許可を与えないと使えないぜ。ノートンが反応すればユーザはそれだけで
いいソフトにも拒否反応を示すというのは事実だ。
0233デフォルトの名無しさんNGNG
C:\ で実行すると、App.Path は C:\ になる。
C:\hoge\ で実行すると、App.Path は C:\hoge になる。

ルートで実行するやつなんかシラネ、って考えなら問題なし。
0234デフォルトの名無しさんNGNG
初心者スレだし、ヒントくらい出すか。

*い ろ ん な と こ ろ で* App.Path

以上。
0235234NGNG
>233
ぎゃふん
0236214 zip ◆IKup9Hv/8E NGNG
>>233
おれはApp.Pathの戻り値の右端に\があるかどうかを求めればいい。
という考えで上記事にRight関数の名を出したわけだから、なにげにもうこちらも解決してたってわけだな。
0237214 zip ◆IKup9Hv/8E NGNG
>>230-235
というわけでごくろうさま。
0238デフォルトの名無しさんNGNG
今日はさむいな
             ∧_∧
         .:' ': :..,, .( ´A` )  、_,..ノ⌒ヽ、,
         ゙::...::゙" (ヾ.,,三,.彡'_,,... -‐、.,, 彡
               ヽ くV > ヽ、 \   ゙"
              ヽ<iゝ  l>  )
               〉・ ・ / ./
                 / ・ ・ \イ         、
                  ∧     'i,         〈キ〉
             / 人     'i,         `'
            ,/ / /'i,     ヽ
             l' i'ヽ(  ヽ     >
           / ,|⌒l   |'i,  /
           ヽノ  l   ! レ''.              ,-、,
               |  |                く_ツ
              | .|
              _/  l
    ,.-'l           (___/
    ゝ '
0239デフォルトの名無しさんNGNG
餌を与えるのも程々にしましょう >ALL
まだ間違ってるようだが、本人納得してるようなので放置しよう・・・
0240デフォルトの名無しさんNGNG
>>214
いくつか重要な事実をおしえてくれてるね。おれは感謝してるよ。
0241デフォルトの名無しさんNGNG
Public Function AddBackSlash(Byval strPath As String) As String
If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"
AddBackSlash = strPath
End Function
0242デフォルトの名無しさんNGNG
ノートンか、なるほど。
0243214 ◆IKup9Hv/8E NGNG
>>241
もう消える。
0244デフォルトの名無しさんNGNG
ジサクジエンの悪寒・・・ (´д`;)
0245デフォルトの名無しさんNGNG
>237

>238

この流れで話はおわりとおもたのに・・・・。
0246214再び ◆IKup9Hv/8E NGNG
Unzip32.dllはスペースを含んだフォルダにzipファイルがあると解凍できないようなんだが
みんなもそうだろうか?
0247214 ◆IKup9Hv/8E NGNG
そぅいえば
Unzipするときにパラメータを渡すが、パラメータはスペースで区切っていたな。
つまりパラメータ用デリミッタのスペースとフォルダ名のスペースが混ざったいると。
さてどうしたものか。
0248214 ◆IKup9Hv/8E NGNG
パラメータをダブクォで囲ってみる。
0249214 ◆IKup9Hv/8E NGNG
うまくいった。
0250212NGNG
>>216
ありがとうございます。さっそく相手にメールで送って試してもらいます。
0251214 ◆IKup9Hv/8E NGNG
App.pathの詳細とInetコントロールやその他の手段でRefererを変更する方法をキボンヌ。
0252デフォルトの名無しさんNGNG
前スレにもこんなのがいたな
同一人物か?
0253デフォルトの名無しさんNGNG
すみません。めっちゃ素人の質問させてもらいます

ある文字列○○○の右から数個目のアルファベットを
アルファベットよって任意の数字をあたえる
プログラムってどうすればいいんですか?

例
○○○○○(単語)の右から3つ目のアルファベットが
A、b、c…1
d、e、f…2
その他…3
にしたい場合


本当お手数かけてすみません
0254デフォルトの名無しさんNGNG
str = "AbCdEf"
rightOne = Left(Right(str, 3), 1)

あとはてめえでやれ。

0255デフォルトの名無しさんNGNG
(・◇・)アヤヤー
0256デフォルトの名無しさんNGNG
>>253
素直にコードにするとこうなるわけだが

Select Case Mid$("ここに対象となる文字列", 3, 1)
Case "A", "b", "c"
hoge = 1
Case "d", "e", "f"
hoge = 2
Case Else
hoge = 3
End Select
0257253NGNG
>>254
>>256
何となくわかりました。
お手数かけてすみません

本当すぐおしえていただきありがとうございました
0258デフォルトの名無しさんNGNG
>>252
性器表現と同じお方のようだ
0259デフォルトの名無しさんNGNG
イベントの意味を優しく教えて下さい。
0260デフォルトの名無しさんNGNG
>>259
トイレでブツがぼっとんすればはねかえりがある、それがイベントだ
0261デフォルトの名無しさんNGNG
>>260
余計意味がわからなくなりそうなのですが・・・。
0262デフォルトの名無しさんNGNG
Form1 が ロード された
Form1 が 表示 された
Command1 が クリック された

こういうのがイベント
0263デフォルトの名無しさん NGNG
>>260
お前が「トイレでブツがぼっとん」しても
俺には「はねかえり」を感知できない。

よってそれはイベントではない。
0264デフォルトの名無しさんNGNG
>>261
オブジェクトでクライアントに有益な事象が発生したときに、クラスからクライアントへ通知する方法のこと
0265デフォルトの名無しさんNGNG
コンピュータに何かが起こればそれはすべてイベント
0266デフォルトの名無しさんNGNG
>>262がわかりやすい
0267デフォルトの名無しさんNGNG
>>265
アキュームレータがインクリメントされるのもイベントが?
0268デフォルトの名無しさんNGNG
サイモンとガーファンクルが来る、コンサートやる。これがイベント
0269265NGNG
>>267
VB限定のイベントという意味では、VBにとってはイベントでない、といえる。
0270デフォルトの名無しさんNGNG
壁がはがれた。色を塗りなおす。これがペイント。
0271253NGNG
質問君でごめんなさい
ある単語(例えば「opendata」)という言葉から
あるアルファベット(例えば「o、a」)の数の合計を数えるプログラムってどうすればいいんですか?

本当2回もすみません!!
0272デフォルトの名無しさんNGNG
イベントってイベントドリブンの略じゃねーの?
0273デフォルトの名無しさんNGNG
>>271
あなたの近くに何十人もわかる人がいるが、回答者は、自分以外の誰かが答えるだろうと思って自分では回答を見合わせている状態なのだ。
0274デフォルトの名無しさんNGNG
>>273
本当簡単な質問ですみません
独学でプログラム作り始めたんですけど
参考書のここまでのってなく詰まってしまって…
0275273NGNG
>>274
これは必ず答えが返ってくる質問だから、長い間待ってればだいじょぶ。
目的を達成する方法が何通りもありすぎてどれにしようかみんな迷っていると。
0276デフォルトの名無しさんNGNG
>>232

>FSOはノートンに実行許可を与えないと使えないぜ。
というのは、VB6.0で作った標準EXEの中で
FSO使うのもダメですか?
それともVBSの話でしょうか?
0277232NGNG
>>276
コンパイル後のexeファイルに関しては、
exeのバイナリパターンをノートンが危険だと感じたときだけ反応する。
vbsなんかだと
Dim FS
Set FS = CreateObject("Scripting.FileSystemObject")
FS.deletefile "aaa.txt"
これだけで警告画面が出ちゃうけど、
スクリプトでなくコンパイルしたファイルシステムオブジェクトならよっぽどのプログラム以外は反応しない。
何しろ頻繁に反応するのはノートンのオプションのスクリプト遮断機能だからコンパイルしたファイルは
DeleteFileメソッド程度では反応しない。
0278デフォルトの名無しさんNGNG
>>271
'Len関数をつかって単語の文字数を求める Len("opendata") = 8 この8を単語内の一文字ずつを比較するときのループプログラムで使う。
'o p e n d a t a
'のそれぞれの文字がoまたはaに一致するかどうかを比較する。
Dim i As Integer 'ループカウンタ
Dim n As Integer 'opendataに含まれているoとaの合計数
Dim S As String '一時的に文字を入れておく文字用変数
'Mid関数で一文字ずつ取り出していく。
'Mid("opendata",a,b)というのはopendataのa文字目からb文字取り出すという意味。
'だからMid("opendata",1,1)はopendataの1文字目から1文字だけ取り出すという意味で、1文字目から1文字目だけ取り出すとそれはoという文字になる。
'したがってS=Mid("opendata",1,1)となっているときは文字列変数Sにはoという文字が入っている。
'変数Sがoまたはaであるかどうかは
'If UCase(S)="o" or UCase(S)="a" then
'n=n+1
'End if
'のようにIF文を使って文字が同じかどうかを比較する。
'LCaseは大文字を小文字に変換する関数で、OpenDataというような大文字小文字が混じっている場合に対処する。
'大文字のAと小文字のaは違うものだからだ。
'大文字小文字の区別をつけたいときはLCace関数やUCase関数は使わないようにする。全角文字対処については省略。
For i = 1 To Len("opendata")
S = Mid("opendata", i, 1)
If LCase(S) = "o" Or LCase(S) = "a" Then
n = n + 1
End If
Next
Form1.Caption = n
'この方法のほかにInStr関数を使ったり正規表現を使ったりする方法がある。
0279276NGNG
>>277
返答どうもありがとうございます。
これで安心して寝れます。
(ちょうど最近仕事で、FSOを使ったプログラムを書いたので。)
0280277NGNG
>>279
詳細はノートン作成会社シマンテックに問い合わせないとなんともいえないけど体験的にはそんなかんじ。とにかくどういたしました。
0281105NGNG
>>188
Winsock.dllのAPIをコールする必要があるということですね。
それがわかっただけでも大収穫です。ありがとうございました。
0282278NGNG
>>271
281のプログラムは汎用性がないから、281のを多少なりとも改良すべし。
0283278 訂正NGNG
>>271
278のプログラムは汎用性がないから、278のを多少なりとも改良すべし。
0284デフォルトの名無しさんNGNG
すみません。初心者です。
VB6.0のData Reportですが自分のマシンでレポート込みのEXEを作成し
配布しようとした所別のマシン(VBはインストールされていません)で
「実行時エラー713
アプリケーション定義、またはオブジェクト定義のエラーです。」
と表示されたのですが、
Runtimeか何かをインストールしなくてはいけないのでしょうか。
すみませんが教えて頂けないでしょうか。
0285デフォルトの名無しさんNGNG
>>284
初心者は余計。
ちゃんとディストリビューションウィザードとか使ってセットアップした?
EXEだけ持っていっても、そりゃ動かんよ。
0286デフォルトの名無しさんNGNG
マウスを無効にすることってできますか?
EnableWindowってのだとキーボードもだめになっちまう
0287デフォルトの名無しさんNGNG
>>286
サブクラス化でマウス関係のメッセージを全部握りつぶす
0288286NGNG
>>287
やっぱそれしかないのか・・・
0289デフォルトの名無しさんNGNG
>>288
それでできると思ってたなら最初から手間を惜しまずに書きんさい。
無駄な解答しなくて済むから。
0290253NGNG
>>278
わかりやすく教えて下さってありがとうございました
これでなんとか出来そうです。

本当、わざわざ長文を書いてまで説明していただいて
感謝の2文字で一杯です。
0291デフォルトの名無しさんNGNG
>>286 で
スクリーンセーバアみたいにマウスポインタ消す。じゃだめかな
0292デフォルトの名無しさんNGNG
>286

マウスを抜け
0293278NGNG
>>290
了解。
0294294NGNG
>>292
了解。
0295284NGNG
>>285

ありがとうございます!試してみます。
0296デフォルトの名無しさんNGNG
FSOでショートカット作ろうとしたらノートン反応するよ。
0297デフォルトの名無しさんNGNG
ノートンはいい迷惑だなっと
0298デフォルトの名無しさんNGNG
VB6で、クラスのPublicプロシージャの引数に構造体を使おうとしたら、

「パブリックオブジェクトモジュールで定義されたパブリックユーザー定義型に限り、
クラスモジュール内のパブリックプロシージャの引数または戻り値、
またはパブリックユーザー定義型の要素として使用することができます。」と

エラーメッセージが出てしまいました。
今は標準モジュール内にPublicで構造体を定義しているのですが、
クラス内に定義しても

「プライベートオブジェクトモジュール内ではパブリックのユーザー定義型は
定義できません」

とエラーが出てしまいます。
クラスのPublicなプロシージャの引数に構造体を使うのは無理なのでしょうか?
0299デフォルトの名無しさんNGNG
>>298
標準モジュールのOption Explicitのすぐ下あたりに記述してみ
0300デフォルトの名無しさんNGNG
>>298
ActiveXのパブリッククラスに記述してみ
0301デフォルトの名無しさんNGNG
>298
Friendキーワードを調べよ。
0302298NGNG
>>299
今現在その状態でした。
「プライベートオブジェクトモジュール内ではパブリックのユーザー定義型は
定義できません」 のエラーが出てしまいます。

>>300
プロジェクトのタイプをActiveX EXE、クラスをPublicにして、
スタートモードを独立型にしたらエラーが出なくなりました。
ありがとうございました。
0303298NGNG
>>301
プロジェクトタイプを変更しないでもFriendキーワードでもうまくいきました。
ありがとうございます。
0304304NGNG
僕のVBは♂みたいですがみなさんのはどうですか?
0305デフォルトの名無しさんNGNG
XPユーザーならやってみる価値あり

1.適当なフォルダにあるEXEファイルを右クリック→[スタート]メニューにアイコンを追加を選択
2.先ほどのEXEファイルがあるフォルダ自身の名前を変更する
3.スタートメニューを開いて上記の手順で追加したリンクを右クリック→プロパティを選択
4.無効なリンクになっているので、[変更]ボタンを押す
5.該当ファイルの変更後の正しい場所を指定する
6.・・・なにぃ!!

 感想きぼんぬ

   ※ 一人でニヤニヤした後は設定を元に戻しておきましょう
0306デフォルトの名無しさんNGNG
>>305
試すのめんどくさい。
オチだけ教えて。
0307デフォルトの名無しさんNGNG
なんかアプリが起動するとかしないとか。
0308デフォルトの名無しさんNGNG
いまさらこういうコピペをにやけながら貼ってるヤシがいるかと思うと
頭が痛くなってくるな
0309デフォルトの名無しさんNGNG
VBscriptでテキストファイルの整形や保存などをしたいのですが、
できますでしょうか?
もしできるなら参考になりそうなHPを知ってたら教えていただけないでしょうか?
0310ひきプロNGNG
>309
http://www.roy.hi-ho.ne.jp/mutaguchi/wsh/refer/lesson15.htm
こういうのはどうでしょ
0311309NGNG
>>310
ありがとうございまーす。勉強してみます。
0312デフォルトの名無しさんNGNG
>>301
友達のいないオレにどうしろと?
0313デフォルトの名無しさんNGNG
標準モジュールからフォーム内のプロシジャーへユーザー定義型を渡すとエラーが出ました。
MSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡されるプロシージャはプライベートである必要があります。」
とかいてあります。
この場合皆さんどうされますか?
1.ユーザー定義型をパブリックにしてしまう。
2.標準モジュールから呼ぶのをあきらめて、ユーザー定義型をフォーム内でモジュールレベルOrローカルレベルで定義し、フォーム内からそのプロシジャーを呼び出す。
3.ほかに方法があるぞこら!教えてやるよしかたねぇなぁ

どれですか?
0314デフォルトの名無しさんNGNG
>>313
クラスを使う
0315デフォルトの名無しさんNGNG
>314

な・・・なるほど・・・・。
しかしユーザー定義型は何でこういう制限があるのだろうか・・・。
ユーザー定義型の使うところがなくなる・・・。
0316デフォルトの名無しさんNGNG
>313
ちょっと前にFriendって話が出てる訳なのだが。
0317デフォルトの名無しさんNGNG
>>315
COM絡みだと思う。ユーザー定義型は特殊な型だからね。
ちなみにクラスはすべてオブジェクト型
0318デフォルトの名無しさんNGNG
>316

いや、あれはクラスにユーザー定義型が渡せないっていってるんでしょ?
私がいってるのはフォームにユーザー定義型が渡せないといってる。
MSDNに書いてある制限だ。
MSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡されるプロシージャはプライベートである必要があります。」
って書いてるんだぞ?
フレンド使えるなんてどこに書いてる?「フォームは一種のクラスみたいなもんだ」見たいな中途な知識でいってるんじゃないのか?
ああ?ああ?ああ?

>317

それはCの構造体とも若干違うところがあるからということでしょうか・・・。
0319デフォルトの名無しさんNGNG
> 「フォームは一種のクラスみたいなもんだ」
極普通の知識じゃん。
0320デフォルトの名無しさんNGNG
>319

そこにフォーム内のプロシジャーにユーザー定義型を渡させないという知識がないから>316の発言になる
これが中途な知識からくる>316の発言ということだろ?
文章読解能力乏しいやつがいるな。
しったか君もいるしw
とんだ大恥かいちゃったなw
0321デフォルトの名無しさんNGNG
すいませんが、質問があります。
クリスタルレポート7を使ってレポート印刷しているのですが
mdb形式のODEC接続から、SQLServerのADO接続に変更
する際、できるだけクリスタルレポート自体はさわらずに
VBのソース内で変更する方法はあるのでしょうか?

今とりあえず
  CReport1.Connect = "DSN=" & DBNAME & ";UID=" & USER & ";PWD=" & PASS

で接続はできてるようなんですが、クエリの抽出結果のレコードセットなどは
当然ながら反映されていません。
Datasourceを使ってみましたが、うまくいきませんでした。

どうすれば変更できるでしょうか?
0322デフォルトの名無しさんNGNG
>>321
レポート側変えないと無理かと。
0323309NGNG
VBscriptってlistboxやcomboxは使えないのでしょうか?
0324デフォルトの名無しさんNGNG
>>323
コンボボックスはHTMLタグでつくり、コンボボックスの内容はVBScriptで出力できる。
0325309NGNG
>>324
わかりやした。ども。
0326デフォルトの名無しさんNGNG
>>305

ここにも貼ってるのか。
↓解決法
http://pc2.2ch.net/test/read.cgi/win/1043764586/l50
0327デフォルトの名無しさんNGNG
オーナーWindowに対してModalでないメッセージボックスって作れます?

一応、APIのMessageBoxA の第1引数(HWnd)をゼロにしたら、それっぽいように
見えるのですが、なんかインチキくさくて正しいコーディングとは思えないし、
常に最前面に表示させることができず、オーナーWindow(メモ帳です)をクリック
すると背後に隠れてしまいます。
0328デフォルトの名無しさんNGNG
>>327
補足です。イメージとしては、メモ帳の「検索」画面のような感じです。
要するに、常にオーナーWindowの前面に表示されるが、表示されている
間もオーナーの操作は可能・・・。
0329デフォルトの名無しさんNGNG
Shell で"mailto:Address?Subject=Title"を呼ぶと、「通常使うメールソフト」に
宛先と標題が記入済みの状態で起動できますが、本文にもテンプレートを初期値で
設定した状態で起動することは可能でしょうか?

特定のメーラ(OEとか)限定なら、SendMessageを駆使してできそうな気もするんです
が、「どのメールソフトでも」対応できる方法が可能かどうかわかりません。

ご存知の方、コメントください。
0330デフォルトの名無しさんNGNG
>>328
独自のフォームでいいの?
それなら、
  Form2.Show , Form1
みたいな感じでok。Form2は常にForm1より前面に表示されるはず。

MsgBoxでやる方法はシラネ。
MessageBoxのhWnd=NULLで問題無しならそれでいいんじゃない?
0331ひきプロNGNG
>329
http://www5e.biglobe.ne.jp/~access_r/hp/html/html_016.html
どうでしょか?OEならできそうな予感
0332デフォルトの名無しさんNGNG
>>331,329
OEならbodyでできるね。
でも、Shellでできたっけ? APIのShellExecuteじゃないと駄目じゃない?
0333ひきプロNGNG
>>332
うちの環境ではまずShell "mailto:Address?Subject=Title"が
呼び出せませんでした藁
329さん、どうやってるんだろうか。
0334デフォルトの名無しさんNGNG
2000/XPはしらないけど
Shell "start mailto:Address?Subject=Title"
で動いたかも
0335デフォルトの名無しさんNGNG
Shell "C:\temp.txt"
でファイルは開けるわけ?
0336デフォルトの名無しさんNGNG
みんな学校でVB勉強したの?
0337あNGNG
>336
半年前から仕事場で使い出した。
こっからどう話しが展開するの?
0338デフォルトの名無しさんNGNG
>335

ひらかない
0339316NGNG
>320
たしかにMSDNには
「フォーム モジュールで引数をユーザー定義型として渡す場合、引数を渡される
プロシージャはプライベートである必要があります。」
と書いてあるが、
「Friendであってはいけません」
と書いてはいない。

で、「フォームは一種のクラスみたいなもん」ではなく、明確にクラスだよ。
当然、Friendでプロシージャを定義することも出来る。
俺が中途半端な知識で物を言っているかどうか、試してみればすぐに分かるだろうに・・・
0340335NGNG
>>338
エクスプローラでファイルをクリックするみたいにはいかないんだのぅ。
0341329NGNG
>>330
コメントありがとうございます。
自アプリではなく、外部アプリ(メモ帳)をオーナーとするメッセージボックスを
出したいのです。(しかも、事情があって、VBではなく、AccessのVBAで)

>>331-332
ありがとうございます。後で調べてみます。(結果は後日・・・)

>>334
9x系ならそれで正解。
NT系ではStartコマンドが内部コマンドなので、
Shell(Environ("ComSpec") & " /C mailto:Address?Subject=Title", vbHide)
としないといけません。
0342329NGNG
>>331-332

ブラウザの A href ........ タグからは起動できるんですが、Shellからだと、
body以下を有効なコマンドとして認識しないようです。
(メールソフトは起動するが、本文が入らない)
でも、タグで実行できるなら、何か別の方法がありそう。

土日にでもゆっくり考えて見ます。
0343デフォルトの名無しさんNGNG
質問です。
テキストボックスにH2O等の化学記号の数字を小さくし入力、
表示させる事は可能でしょうか?
簡単に出来そうで難しいのですが・・・。
0344デフォルトの名無しさんNGNG
>>343
テキストボックスだと普通は無理
小さい文字を表示できるフォントを使うか
リッチテキストあたりをつかえ
0345デフォルトの名無しさんNGNG
>>344
ありがとうございます。
0346ひきプロNGNG
>>342
一回実験的にやってみたら、332さんのおっしゃる通り
ShellExecuteを使うとbody以下も認識しましたよ。(Win2000の時)
0347329NGNG
>>346
ありがとうございます。これで解決かな?
0348デフォルトの名無しさんNGNG
>339

    ||
    ||
  ∧||∧
  ( / ⌒ヽ 
   | |   | 
   ∪ / ノ
    | ||
    ∪∪
0349デフォルトの名無しさんNGNG
で、結局フレンドって何?
0350デフォルトの名無しさんNGNG
>>349
友達。
0351デフォルトの名無しさんNGNG
>>349

ここ↓を読めばわかるかも(w

ttp://www.hyuki.com/dp/cat_Memento.html
0352デフォルトの名無しさんNGNG
VBユーザにメメントパターン。


幼児にチェーンソーを持たせるような感覚だ。
0353デフォルトの名無しさんNGNG
幼児じゃなきゃいいじゃん。
0354デフォルトの名無しさんNGNG
>>353
幼児である率は高い。
0355デフォルトの名無しさんNGNG
そしてのその原因がチェーンソーに興味を持った幼児から
説明なしにいつまでもチェーンソーを取り上げること。
ナイフはキケンだからと取りあげナイフを使えない子供を
育てる親にならないようにしよう。
0356デフォルトの名無しさんNGNG
チェーンソーは取り上げた方がいいぞ。
0357デフォルトの名無しさんNGNG
>>355
その通りだ。でも、多分腕なくなるぞ。初めはハサミから、次はカッターナイフと教え方にもいくつか方法があると思うんだ。
0358デフォルトの名無しさんNGNG
テキストで値を入れて計算したいのですが、
Text3 = Text1 + Text2
このようにすると
123 + 456 = 123456
と言うように数値を足すのではなく、文字を繋ぎ合わせる形になってしまいます。

Text3 = Text1 * 1 + Text2 * 1
このように * や / を式の中に入れれば
123 + 456 = 579
とちゃんと計算してくれるのですが、+のみでやるにはどうすればいいでしょうか?
0359デフォルトの名無しさんNGNG
>>358
「型」について勉強。
0360デフォルトの名無しさんNGNG
>>357
その通りだ。だが単に取り上げるだけじゃいつまでも使えるようにはならない。
問題があるならまず何が問題かを説明し納得させ、一番良い方法を提示するのが一番大事だ。
自分の基準で決め、結論だけを言い、それに従わせようとする奴が多すぎる。
目標は使えるようになる事だということを忘れてはならない。
0361デフォルトの名無しさんNGNG
>>360
うむ、言いたいことはよくわかる。

>説明し納得させ

しかし、ここでの問題は物の切り方を尋ねる子供にチェーンソーを提示したと言うことではないだろうか?
刃物の特性を示すにはあまりにも強力で熟練を要する道具ではないか。
0362デフォルトの名無しさんNGNG
>>360
初心者には、まずはサブクラス化を習得させるべき、という結論でよろしいでつか?(禿違
0363デフォルトの名無しさんNGNG
>>358
オレでも分かるぞ。
とりあえず本屋逝って
「バカでも分かる簡単VisualBasic」の類のテキスト買ってこい。
またはMSDNで「データ型」と引け。
0364デフォルトの名無しさんNGNG
>>361
尋ねたのが子供だとは限らない。
0365デフォルトの名無しさんNGNG
>>364
公園で遊んでいる者の大半を子供と定義してもそれほど差し支えはないだろう。
0366デフォルトの名無しさんNGNG
>339は問い詰められるべきなの?
厨房なのでわかりません。
0367デフォルトの名無しさんNGNG
>>365
VB=公園という例えはふさわしくない。
0368デフォルトの名無しさんNGNG
>>367
他に何かあるか?
0369デフォルトの名無しさんNGNG
放射性廃棄物貯蔵庫の上に作られた公園。
0370デフォルトの名無しさんNGNG
>>368
C++やJavaだとどう例えるか? それと同じだ。
0371デフォルトの名無しさんNGNG
>>370
Java:全寮制高校
それなりのコミュニティはあるものの所詮は箱庭。外部との接触は制限される。きれい事のまだまだ通用する世界。

C++:社会
何をやっても良い。しかしすべてが自己責任だ。強力だがかなりシビアな世界といえる。
0372デフォルトの名無しさんNGNG
ネタはマ板で。
0373デフォルトの名無しさんNGNG
    _, ._
  ( ゜ Д゜)
0374358NGNG
Dim X As Integer, Y As Integer, Z As Integer
X = Text1.Text
Y = Text2.Text
Z = X + Y
Text3.Text = Z

これで正しい?
もっと効率いいやり方あるかな?
0375デフォルトの名無しさんNGNG
>>362
その前に動的配列とコレクションを憶えさせれ(w
0376デフォルトの名無しさんNGNG
>>374
X = Val(Text1.Text)
Y = Val(Text2.Text)
Z = X + Y
Text3.Text = CStr(Z)

初心者のくせに効率なんか求めるな!
0377デフォルトの名無しさんNGNG
http://www.pink-angel.jp/betu/index.html
★いらっしゃいませ!!ようこそココへ★
0378デフォルトの名無しさんNGNG
>>374
それでよしかと思われます。
0379デフォルトの名無しさんNGNG
> 初心者のくせに効率なんか求めるな!
問題ないだろ。
0380358NGNG
�d
0381デフォルトの名無しさんNGNG
>>378
暗黙のキャストに慣れると、C はとうぶん出来ない。
0382デフォルトの名無しさんNGNG
Cにも暗黙のキャストはありますが何か?
0383366NGNG
誰かぁ>366ぅ
0384デフォルトの名無しさんNGNG
解答の催促するヤシうざい
0385デフォルトの名無しさんNGNG
クラスモジュールでこうすんのと

Private B As Long
Public Property Let A(ByVal C As Long)
    B = C
End Property
Public Property Get A() As Long
    A = B
End Property

こうすんの何が違うの?

Public A As Long
0386デフォルトの名無しさんNGNG
>>385
おんなじ
0387デフォルトの名無しさんNGNG
>>386
ありがと
もひとつ!>>385のように値の設定・取得だけやる分には
どっちを使ったほうがいいんでしょう?
0388デフォルトの名無しさんNGNG
>386
ヲイヲイ
0389デフォルトの名無しさんNGNG
>>387
意味よくわかんね。

>>386の補足、まったく同じじゃないね。
■クラス外からアクセスする場合
まったく同じ。

■クラス内からアクセスする場合
・Meをつけると、上も下も外部からのアクセス=プロパティ経由=クラス外からの
アクセスと同等になる。
・Meをつけない場合、上はAでアクセスするとプロパティ経由、Bでアクセスすると
メンバ変数経由。下はメンバ変数経由と同等になる。メンバ経由の方が速度は速い。
0390デフォルトの名無しさんNGNG
>>385
通常はフィールド変数はプライベートにして、プロパティでアクセスするのが基本。

同じに見えても、プログラム組んでいく上では基本が大事だと覚えるべし。
それなりに理由がある。
0391デフォルトの名無しさんNGNG
>>390
> 通常はフィールド変数はプライベートにして、プロパティでアクセスするのが基本。
それJavaの話。VBでは特にプロパティのLet、Get内でなにもしないなら
パブリック変数で十分。
0392デフォルトの名無しさんNGNG
Private B As Long
Public Property Let A(ByVal C As Long)
B = C
End Property
Public Property Get A() As Long
A = B
End Property

こうすんの何が違うの?

Public A As Long


この例の場合は結果はほぼ同じ。

Private B As Long
Public Property Let A(ByVal C As Long)
B = C
End Property

こうすることで読み取り専用プロパティが書けたり、

Private B As Long
Public Property Get A() As Long
A = GetNankaData(B)
End Property

の様にプロパティの内容をダイナミックに生成したり出来る。
0393デフォルトの名無しさんNGNG
>>391
アホがいますな。
0394デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0395デフォルトの名無しさんNGNG
>>393
まぁ論理的に考えてみろって。
0396デフォルトの名無しさんNGNG
>>395
いや、お前がな。 
0397デフォルトの名無しさんNGNG
VBのお子ちゃま仕様が、
>>391のような甘ったれた厨房レベルプログラムのできる程度の人を量産している。
もし、>>391が社会人で業務でVBを使っていて、
部下にそのように教えていたとすると、最大の被害者はその部下かもな。
0398デフォルトの名無しさんNGNG
>>397
VBの仕様は関係ねーだろ。
0399デフォルトの名無しさんNGNG
    _, ._
  ( ゜ Д゜)
0400デフォルトの名無しさんNGNG
結果だけが重視される詰め込み型教育の悪影響がここにも・・・
0401デフォルトの名無しさんNGNG
俺は391の意見に賛成。もちろん
>プロパティのLet、Get内でなにもしないなら
場合ってのが前提だけどな。
無論オブジェクト指向的に間違ってるってのは分かるが、
それより実行速度や簡潔性を取りたいケースも多い。
0402デフォルトの名無しさんNGNG
しかし、>385の質問は
>「何が違うの? 」
であって、それに対し
>「同じ」
と答えるのはあきらかに間違っている。

ところで、Javaにもプロパティって考え方あるの?
0403385NGNG
皆様どーもです
いやぁ勉強になります
結論は同じじゃないけどこの場合で使うにはどっちゃでもいいようですね

皆様のカキコからこんなんも参照できますた
http://www.microsoft.com/japan/developer/library/VBCon98/vbconproperties.htm
http://www.microsoft.com/japan/developer/library/VBCon98/vbconpropertyproceduresvspublicvariables.htm
0404デフォルトの名無しさんNGNG
>>401
VB5以降は外部からのアクセスは自動でGet/Let相当の動作になったと思うが記憶違いかもしれない。
0405デフォルトの名無しさんNGNG
利便性や簡潔性だけ求めて、
仕様変更や情勢の変化が起こった際に泣きを見てる香具師が多いのも事実。
そんな香具師らは平気な顔をして
「徹夜して対処するから大丈夫。」
笑っちゃうね。最初からもう少し掘り下げて考えて作れば、徹夜する必要も無いのにね。
1日長く考えても、そのような対応を含めると、長く考える方が有利の場合が多い。
日本って馬鹿だから、そこら辺の研究考察時間を開発の工期見積に含めないよね。
正しくないとしても知ってるやり方で、早くできるのが一番偉いと勘違いしてるみたい。
0406デフォルトの名無しさんNGNG
質問です。ただいまwinsockをつかって、簡単な、サーバとクライア
ントのソフトを作っております。で、まだLAN内でしか試していないので
すが、IPアドレスを入れれば、インターネットでつながった先のパソコン
とも通信できるのでしょうか?本当にくだらない質問ですいませんがおねが
いします。
あと、ファイルに数値を保存したいのですが、その数値と同じレコードに入れ
というような風にするにはどうすればいいでしょうか?(例えば最初に1が
きたら最初の場所に、次に13が来たら13の所に、そこで5が来たら5の所
にというような風に、で、後で先頭から順に正しい順番(1,5,13)で出力したい)
アイデアお待ちしております。
0407デフォルトの名無しさんNGNG
>>405
プロパティ一つで何を熱くなってるんだおまいは?
なんか鬱憤たまってるみたいだが、そういう文句は自分の現場で言え。
0408デフォルトの名無しさんNGNG
>406
1.試してみればいいだけの話でわ?
2.素直にRDB使ったら?
0409デフォルトの名無しさんNGNG
>>405
>日本って馬鹿だから
アイタタタタ・・・
ほかのどの国で経験積んできたんだろw
0410デフォルトの名無しさんNGNG
>>402
よく知らないが、考え方は同じでアクセッサメソッドってやつでしょ。
0411デフォルトの名無しさんNGNG
>>406
基本的に繋がる。ルーターや火壁によって蹴られる可能性もあるが。

0412デフォルトの名無しさんNGNG
>>409
日本で経験積んでもちょっと回りを見回すだけで日本が馬鹿って分かりますよ。
0413デフォルトの名無しさんNGNG
それは日本がバカなのではなく、おまいの現場がDQN揃い(ry
0414デフォルトの名無しさんNGNG
>406
そのPCにPingが届くのであれば、繋がると考えてオケ。

>412
ほほぅ、ちょっと回りを見渡すだけで日本が見えるのですか。
すごい視力ですね。
0415デフォルトの名無しさんNGNG
>>412
止めとけって。
>>414みたいな視野の狭いヲサーンプログラマ(ともいえないレベル)の人間が反応するぞ。
自分たちのやってきたことを否定されてるんだから、
反応しないはずも無いが。
0416デフォルトの名無しさんNGNG
これほど露骨なジサクジエンも珍しいわけだが・・・ (´д`;)
つーか そこまで”オブジェクト指向的”であることにこだわるヤシが
VBを使ってて発狂しないのか疑問だw
結局この手のもんはトレードオフでしょ。
速度や利便性を取りたい場合もあるし、将来の拡張性のために
あえて今は必要なくても冗長に書くこともある。
使い分けのできないヤシ、どういう場合だろうとどっちかに決めつけて
融通の利かないヤシがDQN
0417デフォルトの名無しさんNGNG
>>414
Pingが届かなくてもつながる場合があるし、届いてもつながらない場合もあるぞ。
適当な事いうなよ。
0418414NGNG
>415
ほほぅ、やはり日本を語る人の視野のスケールは違いますなw

>417
いやだから、絶対繋がるとは書いてないじゃん・・・
ここでネトワクの細かい話までするのはそれこそスレ違いだし、
そんな話して>406が理解できるとは思えん。
曖昧な書き方したのは悪かったよ。
0419デフォルトの名無しさんNGNG
>>414
> ほほぅ、ちょっと回りを見渡すだけで日本が見えるのですか。
誰が見えるって? 見えるわけないだろ(藁
0420デフォルトの名無しさんNGNG
>>418
> そんな話して>406が理解できるとは思えん。
所詮あんたの思い込み。
0421デフォルトの名無しさんNGNG
>419
そうですか。じゃあ、それなのに日本を語るのは間違いでは?

>420
そうだね。たしかに私の仮定だった。
つっこみはもういいから、君が>406にしっかりと説明してあげてよ。
0422デフォルトの名無しさんNGNG
ちなみに漏れは390しか書いてないわけだが・・・・

ちなみに漏れは「通常は」と書いたわけであって、絶対そうしろとは書いてない。

ただ、プロパティというのは非常にうまい仕組みなので、それを使わない手はないと思う。
パブリック変数に一度してしまうと、後々面倒なことになる場合もあって、余程のことが
ない限り、やめといた方が無難だと思う。
0423デフォルトの名無しさんNGNG
叩かれているのは>390ではなく>391と>405だと思われ。
0424デフォルトの名無しさんNGNG
>>422
パブリック変数にしても外部からのインタフェースを変えることなく
プロパティに変更できる便利さ。
0425デフォルトの名無しさんNGNG
もうその話はいいじゃん。
結局それぞれのポリシーの問題だし。
それにこれ以上いじくると荒らしに変貌しかねん。
0426デフォルトの名無しさんNGNG
何回>>390を読み直しても、正論だと思うが、なんでこんなに荒れるのだ?
0427デフォルトの名無しさんNGNG
質問でつ。
デバッガでスタックトレースを見るにはどうすればいいんでしょうか。
0428デフォルトの名無しさんNGNG
>426
>385の質問に
>390が正論を言ったのだが、>391が反論。
最初は>391が叩かれていたのだが、
で>405あたりのオブジェクト指向狂信者が暴れだした。

ってところだろ。
0429デフォルトの名無しさんNGNG
質問です。

Int()関数と同じ働きをするREALbasic用の関数をご存じですか?
REALbasicにはFloor()とRound()とCeil()というものがあるのですが
どれも微妙に違うみたいなんです。
0430デフォルトの名無しさんNGNG
>>402
>ところで、Javaにもプロパティって考え方あるの?
Beanではクラスに

Get〜
Set〜

と言うメソッドを〜というプロパティと見なしたりする。
0431デフォルトの名無しさんNGNG
classA.B というパブリック変数かプロパティーがあって、

sub hoge(byref fuga)
  fuga = hage
end sub
という参照渡しで値をいじる関数があった時、

  hoge classA.B

ってやると結果が腐る、ってのなかったっけ?
パブリック変数の時はclassA.Bはhageになるが、プロパティーの時は
変更されないとかそんな感じの。
そんなことするなヴォケ、って思うけど(笑
0432デフォルトの名無しさんNGNG
>>431
そりゃそうだ。パブリック変数=プロパティGET=メンバ変数とかからの
メソッドの戻り値を変更してもメンバ変数自体が代わることはない。
ようするにhoge Val(a)とやってもaの内容が変わらないのと一緒。
0433432NGNG
> パブリック変数の時はclassA.Bはhageになるが、プロパティーの時は
> 変更されないとかそんな感じの。
ちょっとここ見落としていた。
パブリック変数の場合はクラス内から(Meをつけずに)アクセスした場合は
メンバ変数と同等。クラス外もしくはMeをつけた場合はプロパティ経由と同等。
なのでそういう結果になる。
0434デフォルトの名無しさんNGNG
VB6で実験してみた結果、クラスのパブリック変数を外部から呼ぶ時は
Property Let/Getと同じ動作になると分かったよ。

というわけで、クラスの外部から見た場合はパブリック変数とLet/Getの
違いは全くないということでいいかな。
0435デフォルトの名無しさんNGNG
クラスモジュールにパブリック変数を宣言して、
そのクラスを別のクラスでImplementsすると、
パブリック変数をProperty Let/Get扱いになるでしょ。
0436デフォルトの名無しさんNGNG
容易に理由はわかると思うけどクラスにパブリック変数を置いてクラス内から
MeつきとMeなしアクセスしたときの速度を比べるとMeなしの方が速い。
もちろんフォームもクラスの一種なのでMeなしでアクセスした方が速いのだが、
面白いことにフォーム内のコントロールに限っては同じ。
コントロールは特殊な扱いなのだろう。
0437デフォルトの名無しさんNGNG
>>346
動作確認できました。
おかげさまで、解決・・・・のはずが、今度は本文に改行をいれる方法が
わからなくて、悩んでたりする。(w
vbCrLfとか、<BR>とか試してみたんですが・・・。

ご存知の方、コメントください。
0438デフォルトの名無しさんNGNG
>>437

>>331氏が提示してくれたURLに

「改行する際には、「%0D%0A」を指定してください。」と書いてありました。

申し訳ない。m(_ _)m

これで、OEについては完全解決。
あとは、Becky!等での動作確認だけです。
0439デフォルトの名無しさんNGNG
リストボックスとチェックボタンが一つずつあったとする。
リストボックスのMultiselectは2の拡張スタイルにしており、
リストボックスには複数のリストが登録されていて、
チェックボタンにチェックを入れたときに、そのリストボックスの
全ての項目が青色に反転するようにしたい(つまり、全ての項目を
選択したと同じに)。


どなたかご教授おねがいします。
0440デフォルトの名無しさんNGNG
>>439

Dim i As Long

For i = 0 To ListBox.ListCount - 1
ListBox.Selected(i) = True
Next

あまり説教じみたことは言いたくないのだが、とにかく、ヘルプとオブジェクトブラウザと
インテリセンス(入力補完)機能を使いこなすことを心がけよう。
(せっかくの便利な機能を使わないのでは、RADツールを使う意味がない)
慣れれば、新しいことをやるときにも戸惑わず、迅速に対応できる。

それでは、がんばってね。
0441デフォルトの名無しさんNGNG
>>440
>インテリセンス(入力補完)機能を使いこなすことを心がけよう。

若いうちから何言ってんだ。
0442デフォルトの名無しさんNGNG
>>440
教えてもらってこんなことを言うのもなんだが、、、
俺の言っていることをよく読め。
そして自分で書いたプログラムを一度実行してから
人に言え。
この低脳が。マジで頭にきたぜ。
0443デフォルトの名無しさんNGNG
偽者が煽りだした(藁
0444デフォルトの名無しさんNGNG
>>427
停止中にCtrl+L
もっと細かいレベルで見たいならネイティブコードコンパイル時にデバッグ情報を生成してVCとかを使ってみる。
0445デフォルトの名無しさんNGNG
>>444
なぁなぁ。VBのデバッグ情報上手く使えないような気がするのは気のせい?
0446デフォルトの名無しさんNGNG
>>445
うまく使いこなせない?
0447デフォルトの名無しさんNGNG
>>446
VCで読み込んでも行がずれたりしない?
つーかファイル名とかのせいで素直に読み込んでくれなくなかった?
0448デフォルトの名無しさんNGNG
>>444
おぉthanx
0449Not 440NGNG
(439)442 が怒っている理由を考えてみた。
おそらくリストが4万項目あると見た。
0450デフォルトの名無しさんNGNG
VBでnetstatコマンドみたいに、ネット接続してるプロセス一覧を取得する事って
可能ですか?
ファイアーウォールもどきみたいに任意のプロセスの接続を停止させたりしたいんですが...
0451デフォルトの名無しさんNGNG
Visual Basic 6.0 SP3 Professional Edition のディストリビューションウィザードで
「予期せぬエラー457 このキーは既にコレクションの要素に割り当てられています」と
表示され、パッケージができません。
どなたか対処法もしくは原因しりませんか?
0452デフォルトの名無しさんNGNG
VB.NETで、ポインタ変数があり、そのアドレスが示す先に取り出したい8バイト
の値があるのですが、どうやれば取り出すことができますか?
0453デフォルトの名無しさんNGNG
>>452
>VB.NETで、ポインタ変数があり

ありません。
0454デフォルトの名無しさんNGNG
>>453
あったよ!!??
0455デフォルトの名無しさんNGNG
>>452
ここは.Net以外のVBスレなので、ここで聞いてもCopyMemory dst(0),byval srcPtr しれ、
としか返ってこないと思われ。
>>1のリンクからVB.Netスレでドゾ。
0456439NGNG
俺は全ての項目が選択され、青色に反転している状態にしたいのだ。
0457デフォルトの名無しさんNGNG
変なヤシが居るみたいだが、>>440のコードちゃんと動くよなぁ…。
まさか、List1.ListIndexが複数になる方法を探してるとかか?

つーか、偽物に反応してもしゃーないか…。
0458デフォルトの名無しさんNGNG
俺は全ての駄レスが削除され、質問・回答のみの状態にしたいのだ。
0459439NGNG
俺は変な日本語を書いているのか???

変な奴らが多い・・・・・。
0460デフォルトの名無しさんNGNG
>>458
無理。なぜなら2chだから。
0461デフォルトの名無しさんNGNG
オプションボタンをクリックしたときに、Shiftキーを
押したことにすることって出来るのかな?
0462444NGNG
>>445
普通に使えていたけど?
ビルド後にソースコードいじったりしてないよね?
あとコンパイルするときは最適化は当然はずしていると。
0463デフォルトの名無しさん NGNG
VB開発者は

アメリカでは、VBはプロ用
ジャパンでは、VBは素人用

という地位だそーです(.net magazine 4月号より)。
0464デフォルトの名無しさんNGNG
>>463
その勘違いが日本のVBユーザの技術不足を招いているんだろうね。
0465デフォルトの名無しさんNGNG
どの勘違いが?
0466デフォルトの名無しさんNGNG
>>464
素人が使う−>バカなので技術の積み重ねがない−>素人のまま−>どんどん素人が増える

悪循環だな。
0467デフォルトの名無しさんNGNG
まぁ、全角で「−>」こう書くほど馬鹿じゃないだろうがな。
糞見づらい。
0468デフォルトの名無しさんNGNG
>>467
慣れれば楽。
0469デフォルトの名無しさんNGNG
>>466
ちょっと違うよ。
馬鹿が使いやすい−>バカなので技術の積み重ねがない−>馬鹿のまま−>VBをかじった馬鹿がどんどん増える

やはり悪循環だな。
0470デフォルトの名無しさんNGNG
ここでは同じ質問を3回してようやく本当に知りたいんだなとわかる
0471デフォルトの名無しさんNGNG
すいません、いま仕事で各PCからプリンターに出力した件数を格納するソフトを作成しています。
それで、その出力したもののなかで、特定のソフトのものだけを抽出したいのですが、
これをジョブ名で特定しようとしたら他のソフトとジョブ名がかぶっちゃってたのです。
2ちゃんねらーのみなさま
なんとかして特定のソフトのみから打ち出したもののみをカウントする方法はありませんでしょうか?
0472デフォルトの名無しさんNGNG
>>461
SendKeys
0473デフォルトの名無しさんNGNG
Sub AAA()
Dim i
BBB
End Sub
-------------
Sub BBB()
Dim i
End Sub
------------
というように、あるプロシージャが別のプロシージャを呼ぶときに、両方で同じ名前の変数を使っちゃっても大丈夫なようなんだけど気のせい?
つまりAAAのiとBBBのiが独立に働いてくれてるような気がする。
0474デフォルトの名無しさんNGNG
>>473
変数の宣言レベルについて勉強しる。
0475デフォルトの名無しさんNGNG
>>474
スコープって言った方がいいと思う
0476473NGNG
>>474-475
スコープといってもダブっているiは気になるもの。
AAAのiの期限が切れてないうちにBBBのiを使えるということは、
VBはAAA.iとBBB.iという感じで複数箇所のiを分けて使っていてくれているようだ。
0477デフォルトの名無しさんNGNG
i++
のところでエラーが出た。
0478デフォルトの名無しさんNGNG
このスレには30歳以上が多いと見た
0479デフォルトの名無しさんNGNG
>>476
N88BASICでも使え
0480476NGNG
>>479
もういい。
0481デフォルトの名無しさんNGNG
>>476
スコープの意味を 100 万回調べれ。
0482デフォルトの名無しさんNGNG
>>476
山口さんちのツトム君と関口さんちのツトム君は別人ということだ。
0483476 ◆0d6Ohf/jLo NGNG
>>481-482
ローカルスコープの意味を知るのは簡単だ。
問題は
Call BBB
が単なるインクルードでないことだな。現在の位置にある情報を置いてけぼりにして別の場所にジャンプする、という感じだ。
0484デフォルトの名無しさんNGNG
一体誰が

Call BBB

をインクルードだと言ったの?
0485476 ◆0d6Ohf/jLo NGNG
>>484
だれもイワンが。
勝手にそう思い込むヤツがここにいただけの話。
0486デフォルトの名無しさんNGNG
>>472
初心者にSendKeysを奨めるのって、親切そうに見えてウラに悪意が感じられる(w

# keybd_event じゃダメ?
0487デフォルトの名無しさんNGNG
>>485
凄い勢いで馬鹿
0488476 ◆0d6Ohf/jLo NGNG
>>485
ひょっとしたらオレみたいのがいろんなソフトのバグを発見できるんだな。
0489476 訂正 ◆0d6Ohf/jLo NGNG
>>487へ
0490 NGNG
プロジェクトを削除したいんだけどさ、〜.vbpと 〜.vbwを削除すればいいの?
0491デフォルトの名無しさんNGNG
なんかいきなりトリップつけ出した偽476が煽っているみたいだが無視するがよろし。
0492デフォルトの名無しさんNGNG
>>490
意味不明。
Formだけ取り出したいなら.frmだけ隔離しる。
0493デフォルトの名無しさんNGNG
>>490
何がやりたいのかいまいちわからないけど、プロジェクトファイルを消したいのなら
それでいいんじゃないの?
0494デフォルトの名無しさんNGNG
もうすっかり春です
0495 NGNG
>>493
あんがと
0496476 ◆0d6Ohf/jLo NGNG
たくさんの大麻コントロールやDoEventsを使うとシングルスレッドのVBをマルチスレッドのような感じにできるみたいだがどうよ?
0497デフォルトの名無しさんNGNG
>>496
そら、マルチタスクってタイマー割り込みが元だからなぁ。
0498デフォルトの名無しさんNGNG
VB1.0でマターリと勉強してるんですが、なんか使いにくいです
もうこんな馬鹿らしいことは止めにします
0499476 ◆0d6Ohf/jLo NGNG
>>497
その裏技的割り込みで、
Timer1イベント。Inet1.OpenURLでjpgをダウンロードしつつ、
Timer2イベント。Inet2.OpenURLでzipをダウソできたりできそう。
0500デフォルトの名無しさんNGNG
>>498 ずいぶんと古いOS使ってるな(プ
0501デフォルトの名無しさんNGNG
>>499
でも、問題は非プリエンティブって事だな。

どこかで時間のかかる処理を入れると他のタイマーイベントの発生が遅れる。
まぁ、そのためのDoEventsか。

そう言えば、DoEventsした後に同じタイマーのイベントが発生したらややこしい気もするなぁ・・・。
再入可能をしっかり頭に入れて設計しないとはまりそう。
0502邪神476 ◆0d6Ohf/jLo NGNG
>>501
オレもややこしくなるとは思ってた。

またあとであばれる。
〜476さん外出中〜
0503デフォルトの名無しさんNGNG
リアルタイムシステムをVBで作るなよな〜
Windows自体もあやしいのに。
0504デフォルトの名無しさんNGNG
>>503
>リアルタイムシステムをVBで作るなよな〜

普通にそんな奴はいない。
0505デフォルトの名無しさんNGNG
>>504
ごめんなさい。
自分の思ったとおりに、見せようと思えばリアルタイムではなく、
台本を作って映画のようにプログラムを作らなければいきません。
と言いたかったのです。
0506デフォルトの名無しさんNGNG
>>505
>Windows自体もあやしいのに。

より、彼はハードリアルタイムかかなりシビアなソフトリアルタイムなシステムのことを言ってるんだと思われ。

騙ってまで設計の話に持って行こうとする理由がわからん。
0507471NGNG
だれか>>471の質問を答えることのできるかた教えてください(><
0508世直し一揆(コピペ推奨)NGNG
<血液型A型の一般的な特徴>(見せかけのもっともらしさ(偽善)に騙されるな!!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」(「世間」と言っても、同じA型を中心とした一部の人間の動向に過ぎないのだが・・・)、了見が狭い)
●他人に異常に干渉し、しかも好戦的でファイト満々(キモイ、自己中心、硬直的でデリカシーがない)
●妙に気位が高く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはた
いてい、内面的・実質的に負けている)
●本音は、ものすごく幼稚で倫理意識が異常に低い(人にばれさえしなければOK!)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者にはへつらい、弱い者に対してはいじめる)
●あら探しだけは名人級でウザイ(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため性格がうっとうしい(根暗)
●単独では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者、狭量)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、人の目を異常に気にする(「〜みたい」とよく言う、
世間体命)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度
も言ってキモイ)
●表面上協調・意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をしストレスを溜めておきながら、他人に猛烈に嫉妬
する(不合理な馬鹿)  
●後で自分の誤りに気づいても、強引に筋を通し素直に謝れない(切腹するしかない!)●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。包容力がなく冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(例:「俺のほうが男
前やのに、なんでや!(あの野郎の足を引っ張ってやる!!)」)
0509デフォルトの名無しさんNGNG
あまりにもタイマーにこだわっているもので、
ごめんなさい。
spawnすればいいな。
0510デフォルトの名無しさんNGNG
VBのタイマーは、割り込みではないから再入処理は考えなくても可。
コードの実行中には、タイマーは起動すらしません。

リアルタイム処理をやりたい場合は、Interval値を少なめにしておいて、
(たとえばInterval=10)
以下のように自前で実行タイミングを管理すればOK。


'一秒に1回の割合で動く処理の場合
Sub Timer1_Timer()
  Static Old as String

  If Time$ <> Old Then
    Old = Time$
    'ここに目的の処理を書く
  End If
End Sub
0511デフォルトの名無しさんNGNG
>>510
いや、途中でdoeventしたときのお話。
0512デフォルトの名無しさんNGNG
IEみたいな移動できるツールバーってできないんですか?
どなたかお願いします
0513デフォルトの名無しさんNGNG
>>512
こもんこんとろーるず-3のCoolBarのことですか?
0514デフォルトの名無しさんNGNG
>513
どうもありがとうございます
でも使い方が
0515デフォルトの名無しさんNGNG
Google逝k
0516デフォルトの名無しさんNGNG
"aaa + bbb" と言う文字列入力に対して、
変数aaaと変数bbbを合計した数値を出力する方法は無いでしょうか?
ただし、変数名(aaaやbbb)は、
別途に初期化された内、どの変数が指定されてくるか判らないとして。
(aaa + ccc とかもありえる)
よろしくお願いします。
0517デフォルトの名無しさんNGNG
>>516
よく分からないが、別途サブルーチン作って引数として渡せばいいんじゃん?
0518デフォルトの名無しさんNGNG
>>516
直接可能なやり方は知らぬが。
CallByName と Property を使って誤魔化せるかな
めんどくさいが。
0519デフォルトの名無しさんNGNG
>>516
文字列がかならずaaa+bbbという7文字で、さらに数字部分が001のような3桁表示と決まってるなら、Left関数とRight関数を使って、左から3文字、右から3文字抜き出すのが一番簡単だ。
0520516NGNG
レスありがとうございます。

>>517
そうです。引数などで渡して、その内容を判別させたいのです

>>518
CallByName・・
どうするにしてもクラスとかを一つ作ってからかぁ、たしかにめんどそうですねぇ
使った事無いのでてさぐりですが。

>>519
いえ、aaaなどは数字では無く、
正に英字の"aaa"などの文字列が来ます。
それを読み、aaaならば、
実際にプログラム内に持ってる変数「aaa」の内容を参照して……
とかしたいので、文字列とを内部変数と結びつける・・というかなんというか、そういう風なやり方知りませんでしょうか?


やはり、変数名を決めて、全てのパターンでif〜とかしかないんでしょうか・・
0521デフォルトの名無しさんNGNG
というか、そんな仕様でいいのかと。
0522ひきプロNGNG
>>520
type VAR_T
  name as string
  var as long
end type
みたいな構造体を作って、
Dim a(100) as VAR_T
で変数作成、実際にいじる時はループでnameを探すとか
0523デフォルトの名無しさんNGNG
コレクション作ってKeyに文字列突っ込め。
0524ひきプロNGNG
あー、コレクションだったら無尽蔵に要素を増やせそうですね。
管理する手間もなさそうだし
0525質問者代理NGNG
コレクション?
key?
両方ともよくわからないけど
aaa+bbbをどうプログラミングしていけばいいの?
0526デフォルトの名無しさんNGNG
前にも質問したんだけど
やっぱり分からない…だれか助けてくだされ(´・ω・`)

DBのテーブルに連結したMSHFrexGridの横に
チェックボックスを縦に並べて
ユーザに選択させる画面を作りたいんだけど
チェックボックスの状態とグリッドの各列を対応付けるいい方法が思いつかない。
グリッドがスクロールしたらチェックボックスの内容も
スクロールさせないといけないし…
マウス関係のイベントかタイマーでグリッドの表示してる部分(データセット内での位置)を
常に監視するしかないのかなぁ?
0527デフォルトの名無しさんNGNG
VB.NETのDBGridだとセルにチェックボックスが表示できる。
VBは捨てよう。
0528デフォルトの名無しさんNGNG
チェックボックス風の絵の切り替えではダメっすか?

0529 NGNG
>>526
リストボックスで代用すればいいよ。同時スクロールはAPI使うけども。
API使えないんなら、やめとき。
0530デフォルトの名無しさんNGNG
こんな時間に即レスサンクスコ。・゚・(ノД`)・゚・。

>>527
おぉなるほど!
…って残念ながら無理でつ
業務系アプリだしそんな許可おりないのさ。
なんとかVB6で…((((((^_^;)

>>528
ん〜結局は選択した時点でそのボックスがどのデータを指しているかを
知りたいのです。
Grid1画面分で表示できる件数ならなんとかなるけど、それ以上の件数で
スクロールバーで上下させられるとどうしようもなくてΣ(゚Д゚;≡;゚Д゚)アワアワ

FlexGridには「今表示しているデータの範囲」を知る手段が無いですよね?。
0531続いて526NGNG
>>529
なんつーかナイスアイデア!
かなりの手間になりそうですが、仕様決まってるから仕方ないか…
0532デフォルトの名無しさんNGNG
>>516 , >525
Dim vbs As Object
Set vbs = CreateObject("MSScriptControl.ScriptControl")
vbs.Language = "VBScript"
vbs.ExecuteStatement "aaa=1"
vbs.ExecuteStatement "bbb=2"
vbs.ExecuteStatement "ccc=3"
Label1.Caption = vbs.eval("aaa + bbb")
Label2.Caption = vbs.eval("aaa + ccc")
'過去ログから引っ張り出してきた、、、
0533デフォルトの名無しさんNGNG
追記するほどでもないけど
vbs.ExecuteStatement "aaa=" & CStr(a)
などで動的に数値は変えられるし、
Microsoft Script Control 1.0 の方を使っても作りやすいかも。
#Win95でうごいたっけかな、コレ
0534デフォルトの名無しさんNGNG
>>408
ありがとうございました。また質問ですが、RDBとは?なんでしょうか?
ヘルプを見てみましたがよくわかりませんでした。よろしければ教えてくだ
さい。
あと、WINSOCKでlistenメソッドで接続待ちをしていれば、特にイン
ターネットに接続する処理などをしなくても接続する事ができるのでしょう
か?
0535デフォルトの名無しさんNGNG
質問です。アウトプロセスで呼び出したactivex.exeの方から呼び出し元の
関数や変数を使うにはどうすればよいのでしょう?教えて!!
0536デフォルトの名無しさんNGNG
>>534
1 RDB Relational Data Base
2 試してみればいいだけの話でわ?
0537デフォルトの名無しさんNGNG
>>535
インターフェースを用意する。
0538デフォルトの名無しさんNGNG
Right関数ではまっているのですが

strTmp = "あ1い"
strTmp = StrConv(strTmp,vbFromUnicode)

strTmpEven = LenB(strTmp,3)
strChar = Right(strTmpEven,1)

この場合にstrCharに1文字読み込んで
最後が全角文字か判定したいのですが
strCharに"1"が入ってきません
Right関数をしようした場合の1文字ってのは
文字コード変換しても2バイト分取られるものなんですか?

環境はVB6,win2000です。

0539デフォルトの名無しさんNGNG
> strTmpEven = LenB(strTmp,3)

(゚Д゚)ハァ?
0540デフォルトの名無しさんNGNG
>>538
なんかものすごい勘違いが含まれてる気がするがw

  Debug.Print LenB(StrConv("A",vbFromUnicode))
  Debug.Print LenB(StrConv("あ",vbFromUnicode))

この違いを考えてみれ。
0541デフォルトの名無しさんNGNG
>>537
インターフェイスを用意するというのがよく分かりません。できれば
具体的に教えて頂けるとうれしいです。
0542デフォルトの名無しさんNGNG
>>538
やりたい事は
LenB(Right("あ1い", 1))
だけちゃうのん?
0543デフォルトの名無しさんNGNG
>>542
LenB(Right("あ1い2", 1))
0544538NGNG
>>539
>>540
>>542

激しくタイプミスでした

strTmp = "あ1い"
strTmp = StrConv(strTmp,vbFromUnicode)

strTmpEven = LeftB(strTmp,3)
strChar = Right(strTmpEven,1)

だった

0545デフォルトの名無しさんNGNG
>>544
あんた本当に >>540 見てる?
0546デフォルトの名無しさんNGNG
>>544 は仕様説明が十分でない
「二文字目」を取りたいなら "あ1い" -> "1", "abcde" -> "b"
strChar = Mid(strTmp,2,1)
「SJIS3バイト目」を取りたいなら "あ1い" -> "1", "abcde" -> "c"
strChar = StrConv(MidB(StrConv(strtmp, vbFromUnicode), 3, 1), vbUnicode)
0547デフォルトの名無しさんNGNG
>>546
あんた >>538 見てる?
0548デフォルトの名無しさんNGNG
海栗 <> 筋
0549デフォルトの名無しさんNGNG
>>548
あんたぬるぽ?
0550538NGNG
こういう問題なんだけど?

dim hoge as String

hoge = "aあ"
hoge = StrConv(hoge,vbFromUnicode)
debug.print LenB(Right(hoge,1))
'Sjisに変換した文字列より1文字取得する
'1文字なので"あ"を取得しLenBに渡す
'結果は2


hoge = "あa"
hoge = StrConv(hoge,vbFromUnicode)
debug.print LenB(Right(hoge,1))
'Sjisに変換した文字列より1文字取得する
'1文字なので"a"を取得しLenBに渡すのかと思ったら
'Rightは"a"を返さず2バイト返している
'結果は2

hoge = "a"
hoge = StrConv(hoge,vbFromUnicode)
debug.print LenB(Right(hoge,1))
'Sjisに変換した文字列より1文字取得する
'1文字しか無いからか"a"を取得しLenBに渡している
'結果は1

ていうことなんだけど
0551デフォルトの名無しさんNGNG
>>550
もしかして、Right が SJIS を考慮してくれると思ってるの?
Right は Unicode を想定してるから強制的に終端 2 byte を返すよ。
最後の例で 1 になってるのは、単にもともと Right にかける前の文字列長が
1 byte だから。
0552デフォルトの名無しさんNGNG
>>541
こんな感じ。

'----呼出元 Module1
Public TEST2B As String

Public Sub Main()
 Dim TEST3 As New Class2
 TEST2B = "ヅら"
 Set TEST3.C1 = New Class1
 TEST3.TEST
End Sub

Public Sub TEST1B()
 MsgBox "ふが!!"
End Sub

0553デフォルトの名無しさんNGNG

'----呼出元 Class1
Public Sub TEST1()
 Module1.TEST1B
End Sub
Public Property Get TEST2()
 TEST2 = Module1.TEST2B
End Property


'----呼出先 Class2
Public C1 As Object

Public Sub TEST()
 C1.TEST1
 MsgBox C1.TEST2
End Sub

普通は呼出元の値→呼出先のオブジェクトのプロパティに設定
呼出元のプロシージャ呼出→呼出先のイベントに反応とかする方が自然かな。
0554551NGNG
補足。

> 最後の例で 1 になってるのは、単にもともと Right にかける前の文字列長が
> 1 byte だから。

つまり、Len(Right("123", 5)) が 5 ではなく 3 になるのと同じ事。
0555550NGNG
>>551
あー文字コード変換しようが
Rightは1文字 = 2byteで処理するってことね

一度Unicodeに戻してからRightして
帰って来た値をsjisにしてLenBしたら出来たよ
サンクス
0556デフォルトの名無しさんNGNG
> 一度Unicodeに戻してからRightして

激しく意味ねー
>>540 はどうなったんだよ
0557デフォルトの名無しさんNGNG
ascとかじゃダメなんでしょかね
0558デフォルトの名無しさんNGNG
ニガサンヨ♪
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>549
0559550NGNG
>>556
  Debug.Print LenB(StrConv("A",vbFromUnicode))
  Debug.Print LenB(StrConv("あ",vbFromUnicode))
が1と2を返すのは最初から解ってるんだよ

SJISでRight関数使っても正確に1文字取れない
RightBではバイトで取得する、オレはバイト単位では受け取りたくない

Unicodeに戻さないとRightは正常に動作しない仕様になっている
SJISの状態で1文字取得できる関数が有ったら教えてくれ
0560デフォルトの名無しさんNGNG
>>559
????
asc(Right(str, 1))
が0〜255なら半角
それ以外なら全角じゃないの?
#半角全角という分け方もアレだが。
0561デフォルトの名無しさんNGNG
>>559
>   Debug.Print LenB(StrConv("A",vbFromUnicode))
>   Debug.Print LenB(StrConv("あ",vbFromUnicode))
> が1と2を返すのは最初から解ってるんだよ

なら最初から書け。

> SJISの状態で1文字取得できる関数が有ったら教えてくれ

文字列を SJIS で持っていなければならない状況というのがわからんのだが・・・。

しかし、「関数」 だの 「教えてくれ」 だの言うあたり、自分で調べたり作ったりする
つもりは全く無いのね。

1 バイト目が &H81 〜 &H9F または &HE0 〜 &HFC
2 バイト目が &H40 〜 &H7E または &H80 〜 &HFC
これで判定しなさい。
0562デフォルトの名無しさんNGNG
文字列をSJISメインで扱いたいならByte型配列に入れればよい。
0563550NGNG
>>561
> なら最初から書け。

的はずれな質問して何怒ってるの?

>文字列を SJIS で持っていなければならない状況というのがわからんのだが・・・。
バカかおまえは?
"dD"とか全角半角混在してる文字列からバイトで取得するのにどうやってUnicodeで取得するんだ?
Debug.print LenB("あ")
Debug.print LenB("A")
として違う値が取れるのか?

> しかし、「関数」 だの 「教えてくれ」 だの言うあたり、自分で調べたり作ったりする
> つもりは全く無いのね。

お前は共通に有ったりしても自分で関数を作るのか?
用意されている物があればそれを使うのが普通

もう解決してるからおまえは書かなくていいよ(ワラ
0564550NGNG
>>560
ASCをつかってもいいんですけど
そのRightが正しく1文字を返さないんですよSJISだと
0565デフォルトの名無しさんNGNG
春ですなあ
0566デフォルトの名無しさんNGNG
>>564
申し訳ないが、ascを使って正しく一文字返さないコードをだしてくれないでしょうか?
0567デフォルトの名無しさんNGNG
正直、550 が何に癇癪起こしてるのかわかんねー。
551 も書かなきゃ良かった。
0568デフォルトの名無しさんNGNG
>>563
> > なら最初から書け。
>
> 的はずれな質問して何怒ってるの?

そりゃ怒るでしょ。
ひょっとしてあんた、礼儀を知らないヒッキーさんですか?
0569デフォルトの名無しさんNGNG
ぬるぽキタ━━━━━(゚∀゚)━━━━━!!!!
0570デフォルトの名無しさんNGNG
>>566
>>544 を見れば、何でこんなアフォな話になったかわかる。
0571デフォルトの名無しさんNGNG
以下のようなソースで優先度を上げてプログラムを実行したいのですが

Declare Function GetCurrentThread Lib "kernel32" () As Long
Declare Function GetThreadPriority Lib "kernel32" (ByVal hThread As Long) As Long
Declare Function SetThreadPriority Lib "kernel32" (ByVal hThread As Long, ByVal nPriority As Long) As Long
Public Const THREAD_PRIORITY_HIGHEST = 2

ソース
Dim Get_TH As Long
Dim Get_PR As Long
Dim Set_TH As Long
Dim Set_PR As Long
Dim Set_RC As Long

Get_TH = GetCurrentThread
Get_PR = GetThreadPriority(Get_TH)
Set_TH = Get_TH
Set_PR = THREAD_PRIORITY_HIGHEST
Set_RC = SetThreadPriority(Set_TH, Set_PR)

実行後、タスクマネージャみても上がってないょ(´・ω・`)

MSDN見ると
Windows NT: このハンドルは、THREAD_SET_INFORMATION アクセスを持っていなければなりません。

って書いてあるんだけど、これに関して調べても見つからないょ・・・

解かる人いませんか?
0572571NGNG
あ、環境はWin2000(SP2)+VB6(SP5)です。
0573デフォルトの名無しさんNGNG
>>571
スレッドを作るときに設定できるアクセス権の話?
既に存在するスレッドのアクセス権を変更できるかは知らんけど。
0574デフォルトの名無しさんNGNG
>>573
スレッドって、マルチタスクOSで言うところのスレッドのこと?
それとも、BBSのスレッドのこと??
0575デフォルトの名無しさんNGNG
>>574
お前ここにスレ立てるときアクセス権なんぞ設定したか?
まぁ、権利関係は確かに存在するか・・・。
0576デフォルトの名無しさんNGNG
>>575
釣れた(w

(^▽^)
0577デフォルトの名無しさんNGNG
>>576
釣れた(w

(^▽^)
0578デフォルトの名無しさんNGNG
>>577
釣れた(w

(^▽^)
0579デフォルトの名無しさんNGNG
        /  -‐‐‐‐‐‐‐--´´ ̄ ''''''''''''''''''''''''ー‐----、/
      /   ノ   ▲                 ヽ  ̄ ̄
     .i´    i´     ■  ∧               ヽ
     i    i      ■  .i.●i      ;::;:;:;:;       ヽ
    i     i     ■  ∨ノ   ,-、 ;:;:;/ノヾヽ    ;:;:i
    i     `、    ‐-   ー    ・ ;:;:;《 |  | )   ;:;:;:;::i
    i     ´´    -‐   ‐    ・ ;:;:;:《 |  | )   :;:;:;:;:;)
     i     i     ■  ∧ヽ  `‐´ ;:;丶ヽノノ    :;:;:;::i
     .i    i     .■  i.●i      ;:;;:;::       ;:;:;i 
     i、    i     ■  ∨                ノ
      ヽ   `ゞ   .▼                 /  _
       ヽ、    ‐‐‐‐‐‐‐‐‐‐、____,,,,,,,,,,,,,,,,,,,,,,,,,----‐‐‐ヽ
ニキータ
0580516NGNG
色々とありがとう御座いました(^▽^
スクリプトコントロールはつかったことないので、ためしてみようかとおもいます。
0581540NGNG
春だなぁ。
ま、風物詩と思えば腹も立たんか。

>>571
漏れが昔書いたソースだと

  hThread = GetCurrentThread()
  ret = SetThreadPriority(hThread, THREAD_PRIORITY_HIGHEST)

こんなんで動いてるな。

  hProcess = GetCurrentProcess()
  ret = SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS)

こーいうのも動いてる。Win2Ksp3+VB6sp5。
0582デフォルトの名無しさんNGNG
VBの DHtmlEdit コントロールで ボタンやテキストボックス などを
貼り付ける方法 ご存知の方いらっしゃいますか

また DHtmlEdit の使い方が説明されているHPも
お願いします
0583デフォルトの名無しさんNGNG
VB6からUnixTime(1970/01/01 から数えた秒数)を求めたり
日付時間を指定してそのUnixTimeを作ったりしたいのです。
2chのスレッドIDの決定もこれですよね。

単に秒数を求めればいいのではと思ったのですが
うるう年とかいろいろあってもうどうしたらいいやら、です。
0584583NGNG
訂正

VB6からUnixTime(1970/01/01 から数えた秒数)を求めたり
UnixTimeから日時時間を求めたりしたいのです。
(要は Date型<->UnixTime の相互変換関数が作りたい)
0585デフォルトの名無しさんNGNG
>>584
DateDiffで調べれ
0586583NGNG
>>585
時間差を秒で返させればいいのね?
ちょいと試してみます。激しく感謝。
0587デフォルトの名無しさんNGNG
  ∋8ノノハ.∩
   川o・-・)ノ <先生!こんなのがありました!
__/ /    /   
\(_ノ ̄ ̄ ̄\
||ヽ|| ̄ ̄ ̄ ̄||
 ...|| ̄ ̄ ̄ ̄||
http://saitama.gasuki.com/saitama/
0588デフォルトの名無しさんNGNG
>>583
time_t ですよね。
わたしならCでDLL作るかな。
0589ひきプロNGNG
>>583
'time_tから文字列へ変換
Public Function GetTimeString(time_t As Long) As String
Dim t As Long, leap As Long, year As Long, month As Long, day As Long, hour As Long, minute As Long, second As Long, s As String, i As Long
Dim m(1 To 12) As Long '各月の日付を入れる
m(1) = 31: m(2) = 28: m(3) = 31: m(4) = 30: m(5) = 31: m(6) = 30: m(7) = 31: m(8) = 31: m(9) = 30: m(10) = 31: m(11) = 30: m(12) = 31
t = time_t
leap = Int(((t / 31536000) + 1) / 4) 'うるう年でずれた日数の計算
year = ((t - leap) \ 31536000) '年の計算
year = year + 1970 '1970年から足す
day = ((t Mod 31536000) \ 86400) - leap '日の計算
hour = (t Mod 86400) \ 3600 '時間の計算
minute = (t Mod 3600) \ 60 '分の計算
second = (t Mod 60) '秒の計算
If (year Mod 4) = 0 Then '2月の日数を計算
m(2) = 29
If (year Mod 100) = 0 Then
m(2) = 28
If (year Mod 400) = 0 Then m(2) = 29
End If
End If
0590ひきプロNGNG
day = day + 1 '1月1日からの経過日数から月・日を求める
For i = 1 To 12
If day > m(i) Then
day = day - m(i)
Else
month = i
Exit For
End If
Next
hour = hour + 9 'UTCから日本の時間分足す
s = year & "年" & month & "月" & day & "日 " & hour & ":" & minute & ":" & second
GetTimeString = s
End Function
0591デフォルトの名無しさんNGNG
>>589
なんでお前はそんなクソ関数作るんだ?
?datediff("s",#1970/01/01 00:00:00#,#1970/01/02 00:00:00#)
?dateadd("s",86400,#1970/01/01 00:00:00#)
0592デフォルトの名無しさんNGNG
time_t = DateDiff("s", #1/1/1970#, dtmVB) - 32400 'JST - 9

これでいいんじゃなかったっけ。
0593ひきプロNGNG
ショック!
0594デフォルトの名無しさんNGNG
VBとはちょっと違う畑の質問になるかもしれませんが
とあるDLLの中の関数の名前一覧を知る方法ってないでしょうか?

VB用の関数仕様の資料はあるのに「その関数が入っているDLLの名前」だけが
書いてない…。
0595デフォルトの名無しさんNGNG
export されてんなら Dependency Walker とかで見れば。
0596594NGNG
>>595
有難うございましたm(_ _)m

ついでにもうひとつ質問なのですが
aaa.DLL内のbbbという関数について、

標準モジュールxxxで
Public Declare Function ccc Lib "aaa" Alias "bbb" _
(ByVal 引数 As String, _
) As Long
と記述し、フォームのコードで
Ret_Stats = xxx.ccc(引数)
として呼び出しているのですが、いざ実行すると「ファイルが見つかりません。"aaa"」と
エラーが出てしまいます。
一応aaa.DLLは C:\Program Files\Microsoft Visual Studio\VB98 に放り込んであるのですが
DLLってどこか特定の場所にある必要があるんでしょうか?

0597デフォルトの名無しさんNGNG
>>596
環境変数Pathにないパスなら、Declare宣言でフルパス指定しる。

Public Declare Function ccc Lib "C:\Program Files\Microsoft Visual Studio\VB98\aaa.dll" Alias "bbb" _
(ByVal 引数 As String, _
) As Long

パスが通っているフォルダに配置されているなら、

Public Declare Function ccc Lib "aaa" Alias "bbb" _
(ByVal 引数 As String, _
) As Long

で問題なし。
0598571NGNG
>>581
お返事ありがとぅ

でも、そのソース組み込んだEXE実行しても
タスクマネージャの基本優先度は通常のままだょ・・・

も う だ め ぽ (´つω・`)
0599デフォルトの名無しさんNGNG
>>598
タスクマネージャでの優先度表示はプロセスの優先度だったよーな…。
スレッドの優先度を見たいならSpi++でも使ってみて。

プロセスの優先度がまずあって、その中でスレッドの優先度が細分化
されてる、ってな感じだったかと思う。
0600デフォルトの名無しさんNGNG
>>599
sp"y"++

>>569
ガッ
0601571NGNG
うわあーいヽ(=´∇`=)ノ、できたょ!

単に
HIGH_PRIORITY_CLASS
の初期値がダメなだけでした・・・

答えてくれた方々、本当にありがとうございました
0602デフォルトの名無しさんNGNG
以下の方法が最善かと
開発環境 → Systemディレクトリ
EXE実行 → EXEファイルと同じ場所

Declare の DLL名 のところはファイル名だけでOK
0603596NGNG
>>597,602
ありが�d。
やっぱそーだよね。
でも漏れのPCだと、それやっても
同じエラーになるんだよ…なんでだろ?
0604602NGNG
>>603

もしやそのDLL VBで作ったやつ?
VBで作ったDLLは Declare で宣言できないよ
0605デフォルトの名無しさんNGNG
>>604
なぬぅ
資料によるとVB4で作ってるらしいのだが…。
(こっちの開発PCはVB6)
「参照設定」で指定しようとしても
「指定されたファイルへの参照は登録できません」
て出るし。

てことは、八方塞がり!?
0606602NGNG
>>605
もし DLLのソースがあるのなら再度コンパイル

無かったら REGSVR32.EXE でレジストリから消してから再度登録?
REGSVR32.EXE の 使い方は Windowsディレクトリ を REGSVR32.EXE で検索して実行してみぃ

ちなにに REGSVR32.EXE は ActiveX をレジストリに登録解除するも
0607583NGNG
>>588-592
何か流れで直にソースまで出てるしっ・・・
お陰で文句付けようのない動作してます。
どうもありがとうございました。
0608デフォルトの名無しさんNGNG
すみません、質問させてください。
下のような感じで、AddDataが呼ばれるたびに
構造体の動的配列の要素数を1つ増やしてデータを入れていくということをやりたいのですが、
このままだと、u(1)から値が入るようになってしまいます。
u(0)から値を代入していくにはどのようにすれば良いのでしょうか?

Type USER
x As String
y As String
End Type

Dim u() As USER

Public Sub InitData()
'初期化
ReDim u(0) As USER
End Sub

Public Sub AddData(s1 As String,s2 As String)
ReDim Preserve u(UBound(u) + 1) As USER
u(UBound(u)).x = s1
u(UBound(u)).y = s2
End Sub

String型だと初期化のところでu=Split("")とやれば空の配列が作れると言うのを
ネット上で見たのですが、構造体の場合はどうすればよいのでしょうか?
よろしくお願いします。
0609デフォルトの名無しさんNGNG
>>608
プロシージャ内に静的変数入れて、条件分けしる。
0610デフォルトの名無しさんNGNG
ReDim u(-1 to -1) As USER

とやれば、一応空(のように見える)配列ができるぞ。
あんまし意味無いけど…。
0611デフォルトの名無しさんNGNG
visual basic は買わないと手に入らないですか?
買うならいくらぐらいですか?
0612デフォルトの名無しさんNGNG
>>610
分かっていると思うけど配列の大きさは1だね。
u(-1)としてアクセスできる。
0613608NGNG
>>609
>>610

ありがとうございます。やってみます。
0614デフォルトの名無しさんNGNG
>>608
Type USER
x As String
y As String
End Type

Dim u() As USER
Dim f As Boolean

Public Sub InitData()
'初期化
ReDim u(0) As USER
f = False
End Sub

Public Sub AddData(s1 As String, s2 As String)

If f Then
  ReDim Preserve u(UBound(u) + 1) As USER
End If
u(UBound(u)).x = s1
u(UBound(u)).y = s2
f = True
End Sub
0615デフォルトの名無しさんNGNG
>>608
構造体じゃなくてクラスにしてコレクション使うって手もあるけどな。
0616608NGNG
条件分けすることによりできました。
みなさん親切にありがとうございました。
0617デフォルトの名無しさんNGNG
>>611
買わなくても手に入る場合がある。
0618デフォルトの名無しさんNGNG
そういやCCEってまだ手に入るのかな?
0619デフォルトの名無しさんNGNG
pictureをクリックした時に音を出すにはどうしたらいいですか?
0620デフォルトの名無しさんNGNG
>>619
イベントドリブンの基礎です。
0621デフォルトの名無しさんNGNG
>617

つう(r
0622デフォルトの名無しさんNGNG
>>621
>>618のフォローが理解できないなら(略
0623デフォルトの名無しさんNGNG
>>620
なんてやつですか?
0624デフォルトの名無しさんNGNG
>>623
イベントドンブリの基礎です。
C丼( = オブジェクト指向イベントドンブリ言語)で勉強してください。
0625デフォルトの名無しさんNGNG
お聞きしたいのですが
16進数のことがいまいち分からなく

a * 256
を十六進数であらわすと
a and &hFF
でいいのでしょうか。
0626デフォルトの名無しさん NGNG
>>625
Debug.Print で、お試しあそばせ
0627デフォルトの名無しさんNGNG
hex(256)
0628ひきプロNGNG
積算と論理積は同じモノではないような気が
0629デフォルトの名無しさんNGNG
お返事ありがとうございます。
まだまだ勉強が足りないようです。
実際には以下の式を16進数であらわしたいと思っています

Int(a / 65536)

BitwiseAnd(a / &h10000, &hFFFF)

この二つはおんなじ効果でしょうか?それとも微妙に数字がかわってくると考えた方がいいでしょうか。
0630デフォルトの名無しさんNGNG
>>629
REALBasicのほうで聞いては?
0631デフォルトの名無しさんNGNG
Mac板のREALbasicスレで以前お聞きしたのち
いろいろ探っていたんですが、微妙に違うのではないかと
int()関数さえあればこんな悩まなくてすむのですが,,,
0632デフォルトの名無しさんNGNG
>>625
ぜんぜん違う。

>>629
違う。
それに、BitwiseAnd()は、VB.NETの関数だろ? スレ違いだ。
0633デフォルトの名無しさんNGNG
>>631
違うのではないかという根拠は?
0,0,0,0から255,255,255,255までの数をチェックすればわかることですが。
(from REALbasicスレより)
0634632NGNG
VB.NET じゃなくて、.NET Framework か。

>>631
C言語のビット演算について調べみたら?
0635デフォルトの名無しさんNGNG
ありがとうございます。
Cのビット関数で検索してみます。
0636デフォルトの名無しさんNGNG
失礼します。VBど素人です。
Sendkeysを使わないで「元に戻す」をできるようにするには
どのようにしたら良いでしょうか。
宜しくお願いします。
0637デフォルトの名無しさんNGNG
>>636
何を元に戻すのだ
0638デフォルトの名無しさんNGNG
Sendkeys"^z" と同じことを別の方法で出来ないかということです。
0639デフォルトの名無しさんNGNG
>>638
http://www.remus.dti.ne.jp/~y-mac/teclib/textundo.htm
0640636NGNG
>>639
ありがとうございます!
0641デフォルトの名無しさん NGNG
ずっと気になってたんだけど・・・




(*´д`*)アハァ…

↑
このつの名前なんですか?
0642デフォルトの名無しさんNGNG
>>641
あなたの脳内で命名してやって下さい。
06431 ◆ExGQrDul2E NGNG
>>641
ビスケタン
半角二次元版にビスケスレがある。
0644デフォルトの名無しさんNGNG
WindowsXPProSP1 + VB6SP5 の環境で
SHGetValue で REG_DWORD の型の値を取得すると
どんな値でも0になってしまいます。

SHSetValueは正常にセットされるのですが・・・

0645デフォルトの名無しさんNGNG
SuperTagEditorみたいな直接編集できるGridは
VBでは無いのでしょうか。

FrexGridにTextbox移動させて重ねるしかないのでしょうか。
0646デフォルトの名無しさんNGNG
>>625
a shr 8
0647デフォルトの名無しさんNGNG
>>644
データとコード吊るせ! 話しはそれからだ。
0648644NGNG
ソースです。

環境はWindowsXPProSP1 + VB6SP5
testidに数値がセットされていても0が返ってきてしまいます。
よろしくお願いします。

Private Sub DispInfo()

'レジストリから値を取得
Dim lngData As Long

lngData = 0
Call SHGetValue(HKEY_CURRENT_USER, _
"Software\test", _
"testid", _
REG_DWORD, _
ByVal lngData, Len(lngData))

If lngData <> 0 Then
debug.print lngData
End If

End Sub
06491 ◆ExGQrDul2E NGNG
>>641
アポ
0650デフォルトの名無しさんNGNG
VBスレマスコットのこいつ↓
(*´д`*)アハァ…
只今、名前募集中です。

ちなみに、こんなカスタマイズどうよ?

  v(*´д`*)b <アハァ…
0651デフォルトの名無しさんNGNG
ブビタン
0652デフォルトの名無しさんNGNG
>>650
玉造
0653デフォルトの名無しさんNGNG
ブビタンいいね!
語尾はもちろん「ブビ」で。
まだまだ募集中です。
次スレの1でお披露目といきましょうか。
0654デフォルトの名無しさんNGNG
>>653
ヴォボタン
(一部地方放送禁止)

0655デフォルトの名無しさんNGNG
>>648
Len()は文字列の長さを返す。
Long型の整数に使うのは無茶苦茶。
しかし、そんなレベルでよくAPI使うなあ。
0656デフォルトの名無しさんNGNG
>>655
…?
0657655NGNG
>>648はこんなの書いてる。
Dim lngData As Long
Len(lngData)
debug.print lngData
0658デフォルトの名無しさんNGNG
>>648
何故肝心のDLL宣言を示さない!
何故戻り値を見ない!
ポインタの意味を勉強汁!

Dim lngData As Long
Dim dwRet As Long
Dim dwType As Long
Dim cbData As Long

dwType = REG_DWORD
cbData = Len(lngData)

lngData = 0
dwRet = SHGetValue(HKEY_CURRENT_USER, _
"Software\Microsoft\Dialer", _
"Folders", _
dwType, _
lngData, cbData)
0659デフォルトの名無しさんNGNG
>>655
Len 関数

指定した文字列の文字数または >> 指定した変数に必要なバイト数 << を表す長整数型 (Long) の値を返します。
0660658NGNG
>>655 ヾ(・・;)
0661デフォルトの名無しさんNGNG
>>636
KeyPressイベントでKeyAscii=26
ま、冗談だけどな。
0662デフォルトの名無しさんNGNG
Private Sub Form_Load()
  Picture1.Circle (400, 400), 400
End Sub

ってやっても円がかけません。
どうにかして直す方法はないのでしょうか?
お願いします。
0663デフォルトの名無しさんNGNG
>>662
Private Sub Form_Load()
Picture1.AutoRedraw = True
  Picture1.Circle (400, 400), 400
End Sub
0664662NGNG
>>663
ありがとうございます!
0665デフォルトの名無しさんNGNG
UserControl オブジェクトを引数として渡すには?
渡した先で次のようなんを実行したいんだけど
UserControl.Controls.Add("VB.PictureBox", "hoge")
0666655のレベルの高さに感動した!NGNG
655のレベルの高さに感動した!
0667(T_T)NGNG
なぜ、VB製のソフトは糞だと言われるのでしょうか?
0668デフォルトの名無しさんNGNG
糞ソフトの含有率が高いから。
裾野が広いから、そのぶん糞も増えるのだな。良質/糞ソフト比がとても悪い。
色遣いがものすごいソフトは大抵VBだったりするしなぁ。
プログラム技術以前の問題がある糞も多いと思われ(苦笑
0669デフォルトの名無しさんNGNG
>>668
いや、作る奴が作るとなかなか良いもんをageてくる。
たまに両ソフトがVBで悔しい思いをするよ。

S/Nが激しく低いのは同意。なぜかボタンがでかかったりな。
0670デフォルトの名無しさんNGNG
色づかいとVBは関係ねーだろw

厨房っぽいGUIは大体VB
0671デフォルトの名無しさんNGNG
VBはプログラム界のホームページビルダーだ!
0672デフォルトの名無しさんNGNG
VBで作られてた公開されている良ソフトって何かある?
0673デフォルトの名無しさんNGNG
らるち〜
 昔のワレザー必携ツール
0674デフォルトの名無しさんNGNG
未だにらるち〜がでてくるあたりに問題の根深さがありそうな気もするな…
まぁ、VBだと気づかずに使ってるアプリもけっこうありそうだけど。
0675デフォルトの名無しさんNGNG
>673
俺も同じこと考えてた。
0676デフォルトの名無しさんNGNG
極窓
0677デフォルトの名無しさんNGNG
Winのアプリの標準仕様知らん香具師が多いでしょ、
VBしかしない連中には。
一応、Windowsにもできる限り守らなきゃならない標準仕様があるのに、
VBではいとも簡単に無視できる。
よく、無茶で勉強してないGDI作って、OSのバージョンアップの際、ボロが出るソフトって多いよな。
0678デフォルトの名無しさんNGNG
   ∧_∧  / ̄ ̄ ̄ ̄ ̄
  ( ´_ゝ`)< ふーん 、でたとえばどのソフト?
  (    )  \_____
  | | |
  (__)_)
0679デフォルトの名無しさんNGNG
>>677
VCでも簡単に無視できますが、何か?
0680デフォルトの名無しさんNGNG
>>672
Winny BBS Viewer
0681デフォルトの名無しさんNGNG
>677

>一応、Windowsにもできる限り守らなきゃならない標準仕様があるのに、

                    ,イ^i
                   ,イ::::  l
                  /::::::::   l
                 /::::::::::    {       /|
               /::::::::      `-、_  /:: {
              /:::::::::::    /       ̄  __ l
             ./:::::::::::         :::::\:::... \ i
             /:::::::::::          ::::::::::\:::: 、 {
             |:::::::::::.            :::::::::_ゝ:::  !
             |::::::::::::.       ):.`ー..____' /:::  |  そんなの勝手だろ
             .l:::::::::::::.         ヽー─フ::   /   プッ
             ヽ::::::::::. ___           ,/
               \::/`ー---‐^ヽ        /
                l:::      l         /
           _ /,--、l::::.      ノ       l
       ,--、_ノ:: `ー'::   、ミー---‐,,l        \
      ,/   :::         i ̄ ̄  |         \
     /:::::::.        l:::    l:::::::   l           \
    l:::::::::::.   l:::    !::    |:::::::   l            \
    |:::::::::l::::  l:::    |::    l:::::     l              l
    |::::::::::l:::.   }:::   l:::::,r-----    l               l
    ヽ::::::::l::::   ト:;;;;;;;/-/__...........  /
    /\::::`ー‐'  / l__l;;;;;;;;;;;/
  /   `           /
0682デフォルトの名無しさんNGNG
自分の思っている、規約にそぐわないGDIを実現するため、
用途の異なるコントロールを使うヤツ多すぎ。
0683デフォルトの名無しさんNGNG
>667
・ランタイム必須
・OCXが無いと何も出来ない
・実行速度が遅い
等々。

でも、一番大きな理由は
「厨が作ったソフトの比率が異常に高い」
って事だと思われ。
0684デフォルトの名無しさんNGNG
>>681
いや、勝手なのは勝手だけど、
GDIが糞、操作性が糞、バージョンアップにも対応できない糞ソフトを作ってるのは、
オマイみたいな香具師なんだけどな。
間違った使い方した物の、規格が変わったのをM$のせいにして無いか?
0685デフォルトの名無しさんNGNG
>規約にそぐわないGDIを実現するため、規約にそぐわないGDIを実現するため、

意味が不明です。
0686デフォルトの名無しさんNGNG


                    ,イ^i
                   ,イ::::  l
                  /::::::::   l
                 /::::::::::    {       /|
               /::::::::      `-、_  /:: {
              /:::::::::::    /       ̄  __ l
             ./:::::::::::         :::::\:::... \ i   
             /:::::::::::          ::::::::::\:::: 、 {   GDIが糞なのはセンスの問題
             |:::::::::::.            :::::::::_ゝ:::  !  センスないやつは標準仕様で作れ
             |::::::::::::.       ):.`ー..____' /:::  |  あとは>684の妄想話
             .l:::::::::::::.         ヽー─フ::   /   プッ
             ヽ::::::::::. ___           ,/
               \::/`ー---‐^ヽ        /
                l:::      l         /
           _ /,--、l::::.      ノ       l
       ,--、_ノ:: `ー'::   、ミー---‐,,l        \
      ,/   :::         i ̄ ̄  |         \
     /:::::::.        l:::    l:::::::   l           \
    l:::::::::::.   l:::    !::    |:::::::   l            \
    |:::::::::l::::  l:::    |::    l:::::     l              l
    |::::::::::l:::.   }:::   l:::::,r-----    l               l
    ヽ::::::::l::::   ト:;;;;;;;/-/__...........  /
    /\::::`ー‐'  / l__l;;;;;;;;;;;/
  /   `           /
0687デフォルトの名無しさんNGNG
>667

なんどもいわれてるが、
VBは厨房でも触れるソフトだからが最大の理由だよボケ
0688デフォルトの名無しさんNGNG
GDIってグラフィックカードを統一的に扱うためのAPIじゃないの?
コントロールかなんかと(もしくはGUIと)勘違いしてる?
0689デフォルトの名無しさんNGNG
オールAPIで行け!!
0690デフォルトの名無しさんNGNG
GDI Graphics Device Interface
GUI Graphical User Interface

0691デフォルトの名無しさんNGNG
>>690
よって


規約にそぐわないGDIを実現


は、直接グラフィックカードを叩いて独自の描画用インターフェースを実装すると言うこと。
VBユーザってすげぇじゃん!





(藁
0692デフォルトの名無しさんNGNG
先生、質問でし。
超大物開発者と自負している、人が作った業務アプリですが
システムカラーとユーザーカラーが共存しています。
ウィンドウの背景を変えると、文字が見えなくなりました。
これってVBでは当たり前の仕様でしか?
0693デフォルトの名無しさんNGNG
使いやすいインターフェースなら規約に従っていようがいまいが文句ないんだけどね。
わけわからんインターフェースにする香具師いるからね。それが、考えた末の努力の
結果ならまだしも、ただ適当にやってる香具師多すぎ。<それ漏れだ(;´Д`)
0694ASP初級者NGNG
どなたか教えて下さい(ASPの件です)。
利用者のアドレス情報を収集したいのですが、
Request.ServerVariables("REMOTE_ADDR")や
Request.ServerVariables("REMOTE_HOST")
でやってもxxx.xxx.xxx.xxxの形式で収集されるのですが、
プロバイダ情報のアドレスを収集する場合のはどうすればいいのですか?
例えば東京でOCNの人からの場合はxxxxxx.tokyo.ocn.ne.jpっていう感じの情報が欲しいのです。
サイトの荒らし対策をしていまして、プロバイダ単位の規制をしたいのです・・・。
どなたかご存じの方がいらっしゃいましたら教えて下さい。
よろしくお願いします。
0695デフォルトの名無しさんNGNG
>>692
と、言うか色カスタマイズしてる内は厨房だと最近思うようになった。
0696デフォルトの名無しさんNGNG
>>693
プログラム的なインターフェースとユーザインターフェースをごっちゃに語るのいい加減にやめなさいな。
0697デフォルトの名無しさんNGNG
>>692
VBに限らず当たり前だろ
0698デフォルトの名無しさんNGNG
>>694
VBユーザって絶対的な知識の欠如が見られるよな・・・。

ホスト名とかドメイン名も知らんのにWebアプリなんぞ書けるんかいな・・・。
0699デフォルトの名無しさんNGNG
>>694
ASPスレ逝け。
0700デフォルトの名無しさんNGNG
しょうがないさ、限られた画面の中でいっぱい機能を入れるように客に要求されるから。
VBだと簡単にできるってのだけ客は認識しているから。
もう、そんなときは全て客任せ。
そういえば、Win2Kにバージョンアップしたときに、いろんな灰色が入り乱れてたのを見たときには、
思わず、笑ってしまった。
0701デフォルトの名無しさんNGNG
>>698
>VBユーザって絶対的な知識の欠如が見られるよな・・・。
で、あなたは何でこのスレに? ( ´,_ゝ`)プッ
0702デフォルトの名無しさんNGNG
色カスタマイズして見辛くするのも厨だけど、
誤操作させやすいGUIってのだけは勘弁してください。

そういえば、ある人が作ると、
どんなソフトでも、必ずCPUの占有率が100%になり続けるって人がいたよ。

0703デフォルトの名無しさんNGNG
>694

VBの問題じゃない。ドメイン名とIPの知識を持てこのチンカス
0704ASP初級者NGNG
>>699
ASPスレが見あたらなかったので、このスレに書きました。
VBScriptもOKだったので。
>>703
いろいろな参考書やサイトを回ってもう一度勉強してみます。
0705デフォルトの名無しさんNGNG
>>704
頑張れ。
0706デフォルトの名無しさんNGNG
>>704
探し方が足りん。ほれ。

==ASP== Part 2
http://pc2.2ch.net/test/read.cgi/php/1028024916/l50
0707デフォルトの名無しさんNGNG
>>706
しかし、同じ質問投げたら結局バカにされると思われ。
0708デフォルトの名無しさんNGNG
VB.NETのように、
c:\aaaというフォルダが無い状態で、
c:\aaa\bbbを一気にこしらえる技は無いでしょうか。

PATH分解して
aaa作成→bbb作成とするしかないのですか?
0709デフォルトの名無しさんNGNG
>708

ある。おまえが関数つくればいい。
0710602NGNG
>>708
API 使えないおバカさんは PATHを分解して作るのです
0711デフォルトの名無しさんNGNG
>708

>60
過去を振り返るのも大事かと…。
0712デフォルトの名無しさんNGNG
UNIX界のように、
VB厨が無い状態で、
708を一気にこらしめる技は無いでしょうか。

708を分解して
あぼーーんするしかないのですか?
0713708NGNG
>>709 ありがとう。
>>710 ありがとう。
>>711 本当にありがとう。
>>712 プッ!
0714VB初心者スレからの訪問者NGNG
Dim 708 as 2ch.tyu-bo-
Dim 713 as 2ch.tyu-bo-

set 708 = new 2ch.tyu-bo-

708.質問です = "c:\aaa\bbbを一気にこしらえる技は無いでしょうか。"

708.煽り(709, "ある。おまえが関数つくればいい。")
708.煽り(710, "API 使えないおバカさん")
708.煽り(711, "過去を振り返るのも大事かと…。")
708.煽り(712, "708を一気にこらしめる技は無いでしょうか。")

set 713 = 708

713.れす(709, "ありがとう。")
713.れす(710, "ありがとう。")
713.れす(711, "本当にありがとう。")
713.れす(712, "プッ!")



やめた。。。つまらん
0715655NGNG
>>659
そうだったのかぁ。
数値型のメモリサイズは固定で、わざわざLen()を使う必要がないから、
使われないだけだったね。
0716デフォルトの名無しさんNGNG
>715
 おまえ、何にも分かってないな(藁
0717デフォルトの名無しさんNGNG
>>715
レアケースだけど、構造体のサイズを取得するのに使いますよね。
具体的には、Win32APIのGetVersionExを使うときとか。

OsVerInfo.dwOSVersionInfoSize = Len(OsVerInfo)

Deiphiなら、

OsVerInfo.dwOSVersionInfoSize := sizeof(OsVerInfo);

みたいな感じ。
0718デフォルトの名無しさんNGNG
>>708
API関数の名前が思い出せない。
名前を知らないと、捜すのが大変かも・・・。
0719デフォルトの名無しさんNGNG
>>718
>711
0720665NGNG
お願いします
0721デフォルトの名無しさんNGNG
>>720
結局の所オブジェクト。普通に引数にしちゃって下さい。
0722デフォルトの名無しさんNGNG
MakeSureDirectoryPathExists

ただこんなのもあるらしい?
http://www.izumichan.com/newbbs/programming.html imagehlp APIである MakeSureDirectoryPathExists() で、
「2バイト目が0x5cのダブルバイト文字」で終わるフォルダを一発で作ると、
フォルダ名が化ける。
 Meや2000やXPでは出ない。

こんなのもあるらしい。
http://www.runan.net/program/tips/sdk_08_SHCreateFolders.shtml
0723デフォルトの名無しさんNGNG
良い機会だから再帰を覚えては?
プログラムの幅が広がるよ。
0724デフォルトの名無しさんNGNG
>>717
もしかして、レアケースでも何でもない??
俺は>>717のケースしか例を挙げられないのだが。

>>722
感謝。
技術評論社刊「300」シリーズ(ガリバー著)の第3巻にも確か掲載されていたが、
購入していないので・・・。(汗
0725665NGNG
>>721
'UserControl' を引数にすると
ベース クラス名の使用方法が不正です。
とエラーが出てしまいます
UserControl オブジェクトに代替するものも今のところ見つけられません
0726デフォルトの名無しさんNGNG
>>723
再帰で表現可能な処理のほとんどはループでも表現可能。
俺個人のポリシーとしては、

(1) 再帰でしか表現できない処理
(2) 再帰を使うことに明確なメリット(コードが簡潔になる、パフォーマンスが高い、など)がある

のどちらかでなければ再帰は使いたくない。
0727デフォルトの名無しさんNGNG
こんなのがわしの作ったプログラムの中にあったYO。今はもう使ってないけどね。

改行規制に引っかかるようなので、二つに分けるね。

Public Function MakeFolda(ByVal psFolda As String) As Boolean
'指定されたフォルダを作成します
'
'説明:
'ドライブ名も含めて指定します。既にあった場合は作成しません。
'ドライブがない場合や、指定できない名前等の場合はFalseを返します。
Dim sDrv As String
Dim sDir() As String
Dim sDirFull As String
Dim sFoldaName As String
Dim vNum As String
Dim iCt As Integer

On Error GoTo MakeFoldaErr:

MakeFolda = True
If Right(psFolda, 1) = "\" Then
psFolda = Left(psFolda, Len(psFolda) - 1)
End If

If Dir(psFolda, vbDirectory) <> "" Then
Exit Function
End If
0728デフォルトの名無しさんNGNG

sDrv = Left(psFolda, 2)
sDirFull = Mid(psFolda, 4)

sDir = Split(sDirFull, "\")

sFoldaName = sDrv
For iCt = LBound(sDir) To UBound(sDir)
sFoldaName = sFoldaName & "\" & sDir(iCt)
If Dir(sFoldaName, vbDirectory) = "" Then
MkDir sFoldaName
End If
Next iCt
Exit Function

MakeFoldaErr:
MakeFolda = False
End Function
0729デフォルトの名無しさんNGNG
ありゃ、空白のインデントが消えちゃった。しらなかったわ。全角スペースか。
見辛くてすまん。意味ない変数もあったりするなぁ(;´Д`)
0730デフォルトの名無しさんNGNG
>>729 そんなことより俺が突っ込みたいのはMakeFoldaって名前だ。
0731デフォルトの名無しさんNGNG
>>730
???
0732727-729NGNG
>>730
Folderでございますね。失礼いたしました。
0733デフォルトの名無しさんNGNG
>>726
うん、だからといってスタック構造作ってごちゃごちゃするのもバカらしい。
0734デフォルトの名無しさんNGNG
わざわざsplitを使うのもアホに見える
0735デフォルトの名無しさんNGNG
>>727
>On Error GoTo MakeFoldaErr:
ここで「:」はいらんだろ。
0736デフォルトの名無しさんNGNG
SetupKitの MakePathAux でいいじゃん。何をいまさら...
0737デフォルトの名無しさんNGNG
>>736
んなもん使えるか
0738727-729NGNG
いいじゃないか!いじめるな!・゚・(つД`)・゚・  

今はAPI一発だよん。不具合がある? しらんしらん
0739デフォルトの名無しさんNGNG
漏れが使ってたのはこんなのだったかな…

If Right$(OutPut, 1) <> "\" Then OutPut = OutPut & "\"
For q = InStr(OutPut, "\") To Len(OutPut)
q = InStr(q + 1, OutPut, "\")
Path = Left$(OutPut, q - 1)
If (GetAttr(Path) And vbDirectory) <> vbDirectory Then MkDir file
Next
0740デフォルトの名無しさんNGNG
×MkDir file ○MkDir Path
APIにバグあったの初めて知ったよ
0741デフォルトの名無しさんNGNG
あかん、儂もアホ晒しとる
0742デフォルトの名無しさんNGNG
>>733
この例じゃスタック構造なんかつかわんだろ。複雑に考えすぎ。
0743727-729NGNG
ガリバーの中の人も同じことしてたYO!

http://www.galliver.co.jp/writing/msdn/msdn08/
0744デフォルトの名無しさんNGNG
CommonDialogのShowOpenでファイル名を入力したいのですが
ダイアログを開くとタイマイベントなども止まってしまいます
自作するしか方法がないのでしょうか、、、
0745デフォルトの名無しさんNGNG
>>744
スレッド
0746デフォルトの名無しさんNGNG
ん?タイマイベント止まったか?
APIの方だと止まらなかった筈…
0747デフォルトの名無しさんNGNG
>>746
その間メッセージ処理が行われないんだから止まりそうなもんだけど。
0748デフォルトの名無しさんNGNG
http://www.microsoft.com/japan/developer/library/vbcon98/vbconspecialdebuggingconsiderations.htm
モーダル ダイアログ ボックスとメッセージ ボックスによるイベントの抑止
このような事態が発生するいくつかの例を次に示します。

・タイマー コントロールを持つフォームが開発環境で動作しています。
 [ツール] メニューから [オプション] を選択すると、[オプション]
 ダイアログ ボックスが開きます。このダイアログ ボックスはモーダルで
 あるので、このダイアログ ボックスを閉じるまで、タイマー コントロールの
 Timer イベントが抑止されます。

0749デフォルトの名無しさんNGNG
>>748
うおお、EXEにしたら動きました。情報ありがとうございました。
0750デフォルトの名無しさんNGNG

以下の文を繰り返し呼び出すとgCD.IDの値が0と67305472の間でいったり来たりしたんですが・・・
GETってレコードナンバーを書き換えるのですか?ヘルプには何も書いてないけど、
てっきり読み込み専用で扱ってるとおもってたんですが

Open mFN For Binary As #1 Len = Len(gCD)
Get #1, gCD.ID, gCD
Close #1
0751デフォルトの名無しさんNGNG
>>722関連の話

フォルダ参照のダイアログをAPIで出すとき
初期のフォルダ位置をコールバックで指定できるのはご存知だと思いますが
初期フォルダに半角カタカナが混ざっていると正しく表示できないのはバクですか
それともポインタに弱いVBのがバクですか

初期フォルダを直接 変数で渡すと正しく逝くのですが
0752デフォルトの名無しさんNGNG
>>750
Randomじゃないのか?と逝ってみるテスト
0753デフォルトの名無しさんNGNG
> それともポインタに弱いVBのがバクですか
厨房のような発言は止めとけ。
0754デフォルトの名無しさんNGNG
>>750
なんかとてつもなく馬鹿コードかと。
0755デフォルトの名無しさんNGNG
VB6で、フォーム(またはユーザコントロール)で
ポップアップメニューが表示されているかを検出する方法を教えて下さい。
また、表示されていた場合それをキャンセルする方法もあわせて教えて下さい。
0756デフォルトの名無しさんNGNG
先生、Openステートメントでファイルを指定する時は、絶対参照
じゃなきゃ駄目ですか?
わざわざどこにあるよって指定するよか、同じディレクトリ
のファイルを開くってしたいんだけれども。
07571 ◆ExGQrDul2E NGNG
>>756
絶対でなきゃダメ。
App.Path & "\" & "exeと同じディレクトリにあるファイル"
という感じでApp.Pathを使うと便利。
0758デフォルトの名無しさんNGNG
>>755
そもそも表示させないのが筋じゃないのかと。
0759デフォルトの名無しさんNGNG
>>755
ぱっと思いつくのはサブクラス化してメッセージを処理するとか。
閉じるのはEscキーでも送ると閉じるかな
0760デフォルトの名無しさんNGNG
>>755
検出って、メニューが出ている間に書いたコードが実行されるのでつか?
0761デフォルトの名無しさんNGNG
CBTフックを知らない人多いね。
0762デフォルトの名無しさんNGNG
>>757
カレントディレクトリのファイルなら開けるだろ
0763デフォルトの名無しさんNGNG
>>756
アフォ
0764デフォルトの名無しさんNGNG
>754

lenのこと?
これは気にしないで、binaryモードの時は無視されるから。w
まさかこれだけでとてつもなく馬鹿コードっていってるんじゃないよね?w
もしかして自分の馬鹿をさらけだしちゃった?
0765デフォルトの名無しさんNGNG
>>761
めったに使わないような気がする。
俺が見たことがあるのは、「メッセージボックスを任意位置に表示する」という
サンプルコード。(ガリバー著、技術評論社刊「300」シリーズ)
(MsgBoxに限らず、コモンダイアログ等でも可)

# しかし、VB6では動くが、VB.NETにアップグレードしたら動かない罠・・・。
# (どこが間違うとるのか、よーわからん・・・)
0766デフォルトの名無しさんNGNG
>750

自己レス。
だいたいなぞが解けた。
一度読み込むとファイルへの読み込み位置が変わるからと関係ありますね。
0767デフォルトの名無しさんNGNG
既に配布したプログラムに修正をする場合、
どのような手順でしたらよいのでしょうか?
0768デフォルトの名無しさんNGNG
まずは深呼吸してから、質問の仕方を考え直せ。
0769デフォルトの名無しさんNGNG
Webを介してデータベースにアクセスするのってどうやんの?
DB先を変える程度でローカルネットワークで作んのと同じにできないもんかな
0770デフォルトの名無しさんNGNG
>>769
モジュール化しながらしっかり組んでるならUIがFormになるだけでそこだけ書き換えればOKだと思われ。
0771デフォルトの名無しさんNGNG
>769
一般的なVB製C/Sアプリが
 クライアント(VBアプリ)←→サーバ(DB)
という形態であったのに対し、
 クライアント(ブラウザ)←→サーバ(Web/アプリサーバ)←→DB
という形態になる。
現状がどんなくみかたをしているのかにもよるが、すんなり行くとは思えない・・・

現システムをインターネット介して使いたいってだけなら、VPN使う手もあるかも。
0772デフォルトの名無しさんNGNG
>769
IPで繋げば繋がる。
壁やルーターがあったら、ポートを空け、それなりの設定をやる必要がある。
セキュはかなり落ちるぞ。

昔、遊びで家のマシンにMSDE入れて、
会社からエンプラマネージャーで繋いだことがある。
繋がるには繋がったが、家のマシンにはかなりのアッタクの痕跡があった。
0773デフォルトの名無しさんNGNG
>>772
知ったかぶるのも楽じゃないな・・・
0774デフォルトの名無しさんNGNG
外から見えるところにDBがあるというのは、
常識ではありえない仕様だ罠
0775772NGNG
>773
はぁ?何が?
実際にやったこと書いただけなんだがな。
0776デフォルトの名無しさんNGNG
>774

何も考えずにいれたら外部からアクセスできますよ。
この前のネット障害がものがたってるだろ
0777デフォルトの名無しさんNGNG
>>776
普通はそのようにしないための、
設定やファイアウォールやDMZだと思うのだが…。
0778デフォルトの名無しさんNGNG
モザイクのはずし方おしえて
0779デフォルトの名無しさんNGNG
>>778
目を細めろ
0780デフォルトの名無しさんNGNG
>778

↑↑↓↓→←→←AB
0781デフォルトの名無しさんNGNG
http://www.runan.net/program/tips/API/shell32h_SHCreateFolders.shtml

前悩んでた奴いただろ?
0782デフォルトの名無しさんNGNG
超外出
0783デフォルトの名無しさんNGNG
質問でございやす。

アプリ内で処理したCSV形式のテキスト行があり、ファイルに出力してエクセルに渡したいと考えています。
一行処理するたびにファイルに出力していたのですが、Output # だと頭に"がついてしまうため
エクセル側で展開する時にうまくいきません。
そこでバイナリで出力したのですが、今度は複数行分出力すると改行ができません。
複数行が一列に繋がってしまい、これまたうまくいきません

ケツに改行文字をくっつけてやればいいのでしょうか・・?力尽きました。
御教授よろしくお願いします。
0784デフォルトの名無しさんNGNG
>783
Write←×
Print←◎
0785デフォルトの名無しさんNGNG
>>781
>>722
0786デフォルトの名無しさんNGNG
>>781

> Alias "#165"
β版としか思えないような命名やな(w

# 舐めとるんか、MS?
0787デフォルトの名無しさんNGNG
>>786
#ではじまるのは序数指定→非公式APIってことじゃないの?
0788769NGNG
>>770-777
ありがとうございます
一から勉強しますです
0789デフォルトの名無しさんNGNG
競馬投票用ソフトJRA PATをVBで作成した外部アプリから自動入力したい
のですがSendkeyでは最初のフォーカス位置がわからないのでできません。
どうしたらいいでしょうか?
0790デフォルトの名無しさんNGNG
>>786
プッ、Cの関数名に#が使えるわけないじゃん。それ位気付けよ
0791デフォルトの名無しさんNGNG
>>790
C が何か関係あるのか?
0792デフォルトの名無しさん NGNG
テキストボックス中の点滅する縦線を何と言うのですか?
0793デフォルトの名無しさんNGNG
>>791
APIはC言語から使うことを前提に設計されている。
0794デフォルトの名無しさんNGNG
>>792
キャレット
0795デフォルトの名無しさんNGNG
>>793
>APIはC言語から使うことを前提に設計されている。
じゃあWin16がCの標準でないPascal呼出規約を使ってた理由は?

これに答えられずに>>793の様なことをほざいている場合、君は知ったかだよ。
0796デフォルトの名無しさんNGNG
>>793
GetProcAddress() の引数と C の関数名には何ら関係が無いと思ってたけど。
0797デフォルトの名無しさんNGNG
>791
ある。C以外の処理系のリンカが#を含めないかどうか言い切れなかったんでね。
まぁこの場合、APIの話しだから、あえてCの.. は外しても良かったかも知れんが...

0798792NGNG
>>794
有難うございます。
0799デフォルトの名無しさんNGNG
>>789
PATが何でできているかわからないけど、テキストボックスが相手なら、
ウィンドウハンドルを取得してWM_SETTEXT を投げればいいんじゃないかな。
0800デフォルトの名無しさんNGNG
>>794
”カーソル”もしくは”ピコピコの”だよ
0801デフォルトの名無しさんNGNG
>>795
そっちの方がメモリやディスク容量を食わないからだよ。
0802デフォルトの名無しさんNGNG
>>800
前者:ちょっとパソコン使える人
後者:バカ

なお、どちらもWindowsプログラムを行うものとしては不合格。
0803デフォルトの名無しさんNGNG
>>801
それだとどうとでも取れる。詳しく頼む。
0804デフォルトの名無しさんNGNG
>>803
スタックと言えば分かるかな?
0805デフォルトの名無しさんNGNG
>>804
「スタック」だけでは説明になってないのは分かるよな。

両者ともスタックを使用する。
0806デフォルトの名無しさんNGNG
>>805
俺だけが答えるのはしゃくだから、
C呼出規約とPascal呼出規約のスタックの処理の違いを述べよ。
調べれば分かるはずだ。
0807デフォルトの名無しさんNGNG
いつまでもスレ違いな話題を続けるな。
0808デフォルトの名無しさんNGNG
>>806
いや、知ってて絡んでるんだが。(藁

君を試してるってとこだ。
0809デフォルトの名無しさんNGNG
>>808
教えて君必死だな(藁
0810デフォルトの名無しさんNGNG
>>808
分かってて遊んでるんだが(藁
どっかからコピペすることくらいできるだろ。
0811デフォルトの名無しさんNGNG
>知らないんですね。無理しなくて良いですよ。

ほう、そう来たか。

要はPUSHとPOPがどこで行われるかってのが重要なんだよ。

と、先読みレス。
0812デフォルトの名無しさんNGNG
ぶっちゃけた話、バイナリエディタでエントリ名を書き換えて、"#" で始まる
API を作ることは可能。
そいつを呼び出す事も可能。

ただ、先頭に "#" をつけると序数として判断されてしまう仕様の VB からは
呼び出すのは無理ぽ。

とにかく、>>790 >>793 >>797 が DQN であることはわかった。
0813デフォルトの名無しさんNGNG
>>809-810
相手がDQNだと確信し、自作自演で自分の優位性を確固たる物にしようとした。
>>811
先読みキャッシュ(藁レスが相手を直撃

で、ぐぅの音もでなくなったのか。ワラタ
0814デフォルトの名無しさんNGNG
>>812
呼び出せるって言ったってGetProcAddressを使う方法だろ。
呼び出せるのに#を使ってないのがC言語で使うために
設計されているいい証拠じゃないか。それにMSDNにも次のような文がある。
> 通常、API は Windows アプリケーションを作成する
> C/C++ プログラマ用に記述されていますが、

> とにかく、>>790 >>793 >>797 が DQN であることはわかった。
まず最初に己がDQNであることを疑うんだな。

>>813
おまえもウザイ。
> >>809-810
> 相手がDQNだと確信し、自作自演で自分の優位性を確固たる物にしようとした。
だれも自作自演してねーよ。

先読みキャッシュ? あれだけヒントが出てれば誰だって分かるだろ。
他人のヒントをまって、さも始めからわかっていたような顔をするな。
自分用語作って悦になんなよ。ホント春は変な奴が多いな。
0815デフォルトの名無しさんNGNG
おまいらそろそろSTOPしとけ。
0816デフォルトの名無しさんNGNG
たびたびすまんですが質問です。
VB6でACCESSのMDBを使ってます。

ワークテーブルにレコードを挿入し、それをFlexGridで表示する、という画面を
作ったのですが、いざ実行してみると
ワークテーブルにレコードができる前に画面表示が行われてしまい、ADOの
抽出件数0件になってしまいます。
画面表示に行く前にmsgbox出してしばらく待つとレコードができててうまく動く、という次第。

レコードができるまで処理をとめる方法ってないんでしょうか?
このままでは、ループでワークテーブルの件数を監視し続けるしか……
0817デフォルトの名無しさんNGNG
>>814
> 呼び出せるって言ったってGetProcAddressを使う方法だろ。
> 呼び出せるのに#を使ってないのがC言語で使うために
> 設計されているいい証拠じゃないか。それにMSDNにも次のような文がある。

GetProcAddress() を使う以外に API を理由する手段があるのか?
まさか PE のローダーが GetProcAddress() を使ってないとでも言うのか?
API 名と C での関数名を同じにしなければならない理由があるのか?
例えば MoveMemory() なんてものはなく実際には memmove() または
RtlMoveMemory() が呼ばれるって知ってるか?

> まず最初に己がDQNであることを疑うんだな。

オマエモナー
0818デフォルトの名無しさんNGNG
> それにMSDNにも次のような文がある。
> > 通常、API は Windows アプリケーションを作成する
> > C/C++ プログラマ用に記述されていますが、

「通常」 って書いてあるだろ。>>781 が通常の話じゃない。
話を勝手に全般化するな。
0819デフォルトの名無しさんNGNG
おにぎりは 3 つ、具は梅干、しゃけ、たらこにすること。
0820デフォルトの名無しさんNGNG
>>816
ADOだとままあることなんだけど、「これ」といった対応策はないんだよね。
ループで待機するってのも、ひとつの解決策だと思うよ。
もしくは、クエリーを投げた後に、コネクションを閉じてみるなんてのはどうだろう?
0821デフォルトの名無しさんNGNG
>>817
>例えば MoveMemory() なんてものはなく実際には memmove() または
>RtlMoveMemory() が呼ばれるって知ってるか?

ヘルプに書いてあることでいばってもなぁ。
そんなことよりRtlの意味から説明してくれや、な。
0822デフォルトの名無しさんNGNG
>>818
要点は、787が言ってる通りだろ。
C/C++向けに設計されている点に変わりはないと思うが。
0823デフォルトの名無しさんNGNG
>>822
この場合の 「C/C++向けに設計されている」 いうのは、ポインタとかゼロ終端
文字列とかコールバックとかそういう機能面での話であって、リンクの方法の
話ではないんでは?
0824デフォルトの名無しさんNGNG
>>821
Rtl: Run-Time Library。以上。
0825デフォルトの名無しさんNGNG
例が悪いような。
MessageBoxAとか出しとけばいいのに。
0826デフォルトの名無しさんNGNG
>>822
要点なんかどうでもよく、>>790を徹底的に叩きたいだけかと。
0827デフォルトの名無しさんNGNG
ここまでの話題をまとめると

  ∧_∧
 ( ´∀`)< ぬるぽ
08281 ◆ExGQrDul2E NGNG
あるファイルをいったんメモリに格納して、
そのファイルをメモリから呼び出すにはどうすればいいの?
音飛びさせたくないマルティメディアファイルなんかはディスクアクセスでなくメモリアクセスを行いたい。
08291 ◆ExGQrDul2E NGNG
VBでやるには・・・
0830ひきプロNGNG
dim buffer() as byte
redim buffer(filelen(filename))
open "file" for binary as #1
  get #1,,buffer
close #1

API呼ぶ時はVerPtr(buffer)でポインタを渡す
0831ひきプロNGNG
間違えた、VarPtrだった…
08321 ◆ExGQrDul2E NGNG
>>830-831サンクス
むっ!オレがコードを理解するのは難しいが、
とにかくVBでメモリアクセスできるということが伝わってきた。
0833デフォルトの名無しさんNGNG
>>832
つぅか、

ファイルサイズ分のメモリを確保。ファイル一気書き。読む。

だけじゃん。どうでも良いけど300MBのファイルとかどうするつもりなんだろう・・・
08341 ◆ExGQrDul2E NGNG
>>833
ハードディスクにスワップした分はあきらめる。
08351 ◆ExGQrDul2E NGNG
VBでアプリを作って以下のような状態になっているとする。
---------------------
\CG(フォルダ)
a.vbp
a.frm
a.bas
a.exe
----------------
ユーザにソフトを配布しようと思いディストリビューションウィザードを使うが、
ディストリではフォルダを読み込むことができないためCGフォルダが配布できない。
フォルダを含んだインストーラを作るときはどうしてる?
0836ひきプロNGNG
インストーラで配布する必要ないと思います。
08371 ◆ExGQrDul2E NGNG
>>836
ユーザのパソコンにVBランタイムが無いときは、
ランタイムの配布と、実行ファイルの配布の2段階になっちゃうでしょ。
だからインストーラで、ランタイムの配布と実行ファイルのセットアップを一気に行いたい。
0838ひきプロNGNG
Windows95でもない限りランタイムが入ってない
ことはないでしょう。フォントが文字化けする時は
明示的にMSゴシックを指定すればいいだけだし
08391 ◆ExGQrDul2E NGNG
>>838
まあ、自作のocxなどの配布も含めた話になるとやはりシステムに必要なファイルをセットアップする作業と、
任意のフォルダに本体実行ファイルをセットアップする二段階になってしまう。
VBではできない、または、フォルダをセットアップするためのユーティリティが発売されていない、
という結論でよい?
0840ひきプロNGNG
自作のOCXはシステムフォルダに入れないでください。
アプリと同じフォルダに入ってれば使えるし。
>という結論でよい?
ダメ
08411 ◆ExGQrDul2E NGNG
>>840
ocxは例えばのはなしで、とにかくシステムにdllを別途登録しないとVBアプリが動かないことは多々あるし。
>ダメ
ということはなにかフォルダをsetup.exeや.cabファイルに含ませるための方法があるということやね。どうやるの?
0842デフォルトの名無しさんNGNG
プログラムがフォルダを作る。
08431 ◆ExGQrDul2E NGNG
>>842
それは今までやってたが、今さっきsetup.exeで方法がわかったのでやりかたをまとめてみる。
これにより、ランタイム&ソフト本体のexeファイル&ソフト本体が扱うデータファイルやフォルダ
を一回でインストールできることになり、
VBを市販の製品用のプログラミングツールとして活用できることに成功した。
ランタイムのセットアップとその他のファイルの別配布をやっているようじゃいつまでたってもフリーソフトや固定客用のアプリしかつくれないものね。
08441 ◆ExGQrDul2E NGNG
自分であみだした方法ゆえ、説明文を書くのも時間がかかる。
長らくお待ちを。
08451 ◆ExGQrDul2E NGNG
自己流ゆえ、これを試して何かが起こっても保障はしない。
0846デフォルトの名無しさんNGNG
'スレ立て日を計算
Dim dteBuilt As Date
dteBuilt = DateAdd("s", 1046354784, #1/1/1970 9:00:00 AM#)
Debug.Print dteBuilt
0847デフォルトの名無しさんNGNG
ディストリビューションウィザードには
 「ファイルの追加」( .xlsや.ini など必要ファイルを登録する)
機能があり、作成されたSetup.lst は
 「設定パスを手書きできる」
んであるわけで
 File10=@CGのファイル.jpg,$(AppPath)\CG,,,7/3/00 3:00:32 PM,49076,0.0.0.0
などと変更すると設定するファイルの置き場所が変わったり・・
( ´〜`).。o~
08481 ◆ExGQrDul2E NGNG
>>846
オレもひろゆきの発言を元にそれを書いたことがある。
>>847
オレもそれについての初心者向け解説文を書いてみた。
-----------------------
開発時のファイル構成が次のようになっているとする。
-----------------------
\File\temp.txt(データファイル)
Form1.frm
Project1.vbp
Project1.exe(コンパイルして作成した実行ファイル)
-----------------------------
今回の目的は\File\temp.txtをインストーラに含ませて、
そのインストーラ(setup.exe)が.txtファイルを
セットアップ先のフォルダの中の\Fileフォルダにインストールすることだ。

・インストーラの作成
ディストリビューションウィザードを起動して、
ディストリビューション ウィザード - 含まれるファイル
というメニューまで進んだら追加ボタンを押して
\File\temp.txt
を追加する。
ウィザードを進めて完了ボタンを押すと、
08491 ◆ExGQrDul2E NGNG
---------------------
Project1.CAB
setup.exe
SETUP.LST
---------------------
というファイルが作成される。
このsetup.exeがインストーラだ。
.CABファイルには配布用ファイルが格納されている。
今setup.exeを実行すると
\Program Files\Project1フォルダの中に、
Project1.exe
ST6UNST.LOG
temp.txt
がセットアップされる。
注目すべきは、
temp.txtは開発環境時は
\Fileフォルダにあったということだ。そしてセットアップ時にも\Fileフォルダに入れたい。
08501 ◆ExGQrDul2E NGNG
それには、
ディストリビューションウィザードが作成した
SETUP.LST
をテキストエディタで開いて編集する。
[Setup1 Files]
[email protected],$(AppPath),,,3/14/03 10:26:12 AM,2,0.0.0.0
[email protected],$(AppPath),,,3/14/03 10:50:26 AM,16384,1.0.0.0
このような場所を探す。
そして、
[Setup1 Files]
[email protected],$(AppPath)\File,,,3/14/03 10:26:12 AM,2,0.0.0.0
[email protected],$(AppPath),,,3/14/03 10:50:26 AM,16384,1.0.0.0
このように編集してみよう。
$(AppPath)
を
(AppPath)\File
にしただけだ。
そしてこの編集結果を上書き保存する。
そのあとsetup.exeを実行すると、セットアップ先のフォルダの中に
\Fileフォルダ
が作成され、そのなかにtemp.txtがあるのを確認できる。
$(AppPath)\あいうえ お\DeepSub
のように日本語フォルダやスペースを含んだフォルダや階層の深いフォルダも指定できた。
08511 その他の方法 ◆ExGQrDul2E NGNG
オリジナルの方法はzipを使った方法だ。
UNZIP32.dll
がフリーソフトなのを生かしてこれをsetupファイルに含ませてインストールし、
アプリケーションをはじめて起動したときにzipファイルを自動解凍して
必要なフォルダやファイルをセットアップする。
0852デフォルトの名無しさんNGNG
カンマCSVファイルの分解について質問です。
カンマで区切られたデータの分解には成功しているのですが、
ダブルクォーテーションマークでくくられている文字列の扱いがうまくいきません。
なんとかうまい方法はないでしょうか?
0853デフォルトの名無しさんNGNG
うち,150ファイル15Mのセットアップを一発で客先PCに設定できるようにしてるんでなぁ
system32の下に入れて共有にしたり,アプリとはまったく別のパスになったり
仕様変更で差分だけインスト・アンインストできるようにしたり
最初んころは訳解らんかったよ(今も完全とはいえん)

>>851
zipファイルの削除はちゃんとおこなっているか
UNZIP32.dllがすでに登録されていた場合にレジストリ二重登録にならないか
UNZIP32.dllは使用後に削除するかしないか,その時レジストリは大丈夫か
くらいはちょっと気になるな。
0854デフォルトの名無しさんNGNG
>>852
デバッグしたら?
0855デフォルトの名無しさんNGNG
>>852
ダブルクォーテーションも文字列になってしまうってことか?
それなら、
String = Mid(String, 2)
String = Left(String, Len(String) - 1)
とでもすりゃぁ良いのでは?
08561 ◆ExGQrDul2E NGNG
>>853
もちろんUNZIP32.dllが相手のパソコンにすでにあるかどうかのチェックも行っているし、
Windowsのバージョンの違いによる
system
system32
のどちらを使うか、という問題にも対処したあるからだいじょうぶ。
UNZIP32.dllを共有ファイルとして使用するかどうかの設定もバッチシ。
08571 ◆ExGQrDul2E NGNG
Windows9Xだとsystemフォルダーを使い、NTアーキテクチャだとsystem32にUNZIP32.dllをコピーする。
08581 ◆ExGQrDul2E NGNG
UNZIP32.dllを解凍目的(インストール目的)に使うだけならレジストリ登録とかもいらないからレジストリについて心配する必要は無い。
0859デフォルトの名無しさんNGNG
とりあえずNGワード入れといた
ExGQrDul2E
08601 ◆ExGQrDul2E NGNG
>>859
死ね
0861852NGNG
>>855
すいません。ちょっと言葉が足りなかったようです。
abc,"123,456,789" というCSVデータがあったとして、そのままカンマ区切りを
してしまうと、abc "123 456 789" というデータになってしまうのです。
"でくくられているところのカンマで区切らないやり方がどうもうまくいきません。
なんとかならないでしょうか?
0862デフォルトの名無しさんNGNG
>>861
今どうやってるかによるけど、
Wクオーテーション内かどうかのフラグを立てるだけですむのでは?
0863デフォルトの名無しさんNGNG
>>861
べたなやり方だけど、頭から1文字ずつ取っていって、
”があったらフラグON、次の”でOFFにして、ロジックで文字列くっつけていけば?
0864デフォルトの名無しさんNGNG
それしかないな。うん
0865デフォルトの名無しさんNGNG
>>861
ダブルクォートを含む文字列データはどうするんだ

と言ってみるテスト。
08661 ◆ExGQrDul2E NGNG
>>861
Windowsでもファイル名で使ってはいけない文字があるように、
CSVでも禁止文字があるだろ。
それはどんな文字だ?
0867デフォルトの名無しさんNGNG
>ExGQrDul2E
あのさ、知らない間にVBランタイムなんか入れるようなもん作らないで欲しいんだけど。
最低でもVB製って事だけは明記してくれよ。
DL回避になるから。
0868デフォルトの名無しさんNGNG
>>866
ExGQrDul2Eですか?(w
0869デフォルトの名無しさんNGNG
>>861
まともに処理させたいなら Split() を使ってはいけない。
InStr() を駆使してダブルクォーテーションをきっちり調べろ。

>>865
Excel なんかでは、ダブルクォーテーションで囲われた領域の中でダブルクォーテーション
を 2 つ並べると 1 文字のダブルクォーテーションとして認識される。
0870デフォルトの名無しさんNGNG
>>867
CSV の禁止文字? はつみみです。
0871GIFNGNG
アニメーションGIFをリソースにしたいのですが、これは可能でしょうか?
BMPしかリソースにする方法がわかりません。
またリソースにできるのでしたらどうやって使うのでしょうか?
08721 ◆ExGQrDul2E NGNG
>>867
おまえはVB使いじゃないな。
>>868
どうした?
>>870
そりゃそうだな。今回はオレがバカだった。
08731 ◆ExGQrDul2E NGNG
>>871
WebBrowserコントロールだとGIFがアニメーションする
0874デフォルトの名無しさんNGNG
>>872
おにぎりは 3 つ、具は梅干し、しゃけ、たらこにすること。
08751 ◆ExGQrDul2E NGNG
>>874
バカなオレにもわかるように言ってくれ。
0876デフォルトの名無しさんNGNG
>>872
VB使いだが問答無用でインストールされるのはいやだな。
08771 ◆ExGQrDul2E NGNG
>>876
スパイウェアとかだったらいやだけど、
アプリの動作に必要で、それ以外にはまったく影響しないdllなら勝手にインストールされても気にならないけどな。
そういう人もいるんだなあと参考にする。
08781 ◆ExGQrDul2E NGNG
2chSoft005
エロといえば森川ゆかり

ttp://www.interq.or.jp/guitar/lead/tripod-vip-eria/user-knight/a020.zip

Windowsスタートメニュー → プログラム → 2chSoft のところのショートカットを起動する。
ソフトの削除はエクスプローラではなくコントロールパネル→プログラムの追加と削除から行う。
画像は\Program Files\フォルダに入っている。
今回はjpgでなくpngファイルなので画質劣化無しの高画質だ。

↑UNZIP32.dllを実際に使ったアプリ
0879デフォルトの名無しさんNGNG
ここはあんたの日記帳じゃない。
08801 ◆ExGQrDul2E NGNG
>>879
個人のホームページの掲示板は荒らさないが、2chでは好き勝手発言させてもらっている。
0881デフォルトの名無しさんNGNG
>>877
VB のランタイム等がシステムとかに 「まったく影響しない」 事は立証できるか?
0882デフォルトの名無しさんNGNG
>>880
あんまり図に乗ってるとアク禁依頼が出るんじゃ?
08831 ◆ExGQrDul2E NGNG
>>881
それはマイクロソフトが悪い、ということにする。
08841 ◆ExGQrDul2E NGNG
>>882
実は2chをやめたく、自分では中毒でやめられないからアクセス禁止になるためにわざとあばれている。
08851 ◆ExGQrDul2E NGNG
2chに寿命を、時間を奪われているが、自分からは絶てない。
だからどうかアク禁にしてオレを楽にしてくれ。
0886アシュル ◆adhRKFl5jU NGNG
修行が足りないようだな。
08871 ◆ExGQrDul2E NGNG
>>886
はじめてみるコテハンだな。
オレのソフトのことか?
オレはデスクトップの壁紙変更ソフトも作れるぞ。
0888デフォルトの名無しさんNGNG
見えないけど異常にスレッドが伸びてるなぁ・・・
0889デフォルトの名無しさんNGNG
漏れがランタイムを勝手に入れて欲しくないのは、
VBで作られたソフトなんてロクなもんじゃないから、という理由。
0890デフォルトの名無しさんNGNG
>>884
そう自白すると誰もアク禁依頼出さなくなる罠
0891VB最強・だ・ぞ♪NGNG
ウヒンドウズインストールするときに強制的にランタイム入れるようにすれば良かったのにね
0892デフォルトの名無しさんNGNG
>889

こうなったら意地でもおまえのマシンにVBランタイムぶっこんでやる!
0893デフォルトの名無しさんNGNG
透明度を指定して描画する方法を教えてください。
0894デフォルトの名無しさんNGNG
藤本
トロ、ワンモア
0895デフォルトの名無しさんNGNG

line命令とか使うときに
透明度を指定して描画する方法を教えてください。
0896デフォルトの名無しさんNGNG
>>895
Line単体はしらないが、別のビットマップに線を書いて、
AlphaBlend のAPIで重ねるとかはダメ?
0897デフォルトの名無しさんNGNG
初歩的質問かもしれませんけど…
テキストを印刷するプログラムを作りたいんです。
で、printerオブジェクトを使えば
書体や印刷部数の設定ができることはわかったんですが、
文字の色の設定の仕方がどうしてもわからないんです。
面倒かもしれないですけど教えてください。
0898デフォルトの名無しさんNGNG
>897

オブジェクトのプロパティを見よ
0899デフォルトの名無しさんNGNG
>>897
ヘルプだと、printer.ForeColor がすぐに出てこないな・・・うちだけだろうか
0900897NGNG
>>898
> >897
>
> オブジェクトのプロパティを見よ

ん?何ていうプロパティですか?
0901897NGNG
>>899
それだ!
私もヘルプに載ってないし、入力候補にも表示されないんです。
でも試しておくべきでした。どうも失礼しました。
0902デフォルトの名無しさんNGNG
VB.NETインストールにシステムドライブの空き容量が4Gと有りますが
現在空きは400Mしか有りません。
切り直さなければならないでしょうか?
0903デフォルトの名無しさんNGNG
>>901
オブジェクトブラウザ
0904デフォルトの名無しさんNGNG
VBで0.1秒毎に正確に表示するストップウォッチを作るにはどうしたらよいでしょう。
timerプロジェクトを使い、0.1秒毎に表示するとすると、表示の処理に0.02秒ぐらい
かかるためか、誤差が出てしまいます。0.01秒毎だともっと遅くなるのでたぶん
そうでしょう。Load_From()でforを使いずっとループさせておいてtimerの処理は
変数変更のみにし、forの中のifで表示処理をするみたいなのをやりましたが、
落ちてしまいました。
0905デフォルトの名無しさんNGNG
俺はVB房だが
ちょっと、質問させてくれ
企業のシステムは生産性を考えVBで組んでいるのが大半だと思う。
同じプログラムを組むのにVBとC++では、労力が違う
では、労力を使ってC++で組むメリットって何?
0906デフォルトの名無しさんNGNG
>>905
自己満足
0907デフォルトの名無しさんNGNG
>>905
私しの会社の基幹システムはVB5ですが
ちなみに、一部上場企業です。
0908デフォルトの名無しさんNGNG
でもVC++も慣れたらVBとさほど労力に差はないけどね。
VBで作る業務システムくらいなら。
0909デフォルトの名無しさんNGNG
業務システムは、VBが一番だと聞きましたが、何か?
0910デフォルトの名無しさんNGNG
>>909
何が一番なの?
0911デフォルトの名無しさんNGNG
慣れるまでがねえ。
0912デフォルトの名無しさんNGNG
顧客にとって言語の選択は関係のない事。
コストを考え見積を検討するだろう
開発側は、コストを考えVBを選択するだろう。
(業務システムの場合)
0913デフォルトの名無しさんNGNG
システム開発で需要の多いのはVBでしょ?
0914デフォルトの名無しさんNGNG
VCはGUIとDBアクセスが面倒だからね。
0915デフォルトの名無しさんNGNG
VB.NETは使ったこと無いんですが、VB6と同じコストなんでしょうか
0916デフォルトの名無しさんNGNG
>>904
小さいアイコン位の大きさではどうか?
0917デフォルトの名無しさんNGNG
まだ、日本ではC++を使いこなせる人は少ないと聞いた。
たしかに、VBよ++のほうがいいだろう
でも、++が使いこなせないのなら,誰でも出来るVBのほうが安心。
0918デフォルトの名無しさんNGNG
? VBよ++
0919デフォルトの名無しさんNGNG
>>904
「正確に」0.1秒更新を保証する方法はない。
むしろ表示は適当な間隔で停止時の時間だけを正確に取得する方が利口だと思う。


>>905
APIをガリゴリに使ってウインドウズメッセージを自前で処理するようなコードを書くときは
素直にVC使わせろと思いました。
そこまで労力を使わせてまでVBにこだわるなよ>上司
0920デフォルトの名無しさんNGNG
Outlookで、VBAとBASPを使っているのですが、
「[email protected]」の
最初の8文字だけ(上の例だと「M0002687」)を取得するには
どうすればいいのでしょうか?


以下のようにやったのですが、

EMAILSendername = "[email protected]"
IDMag = objBasp.Match("/^(.{8}) /", EMAILSendername)
msgbox IDMag


「0」と表示されてしまいます
0921ひきプロNGNG
IDMag = Mid(str, 1, InStr(1, EMAILSendername , "@") - 1)
0922ひきプロNGNG
DMag = Mid(EMAILSendername , 1, InStr(1, EMAILSendername , "@") - 1)
間違った…
09231 ◇(略)NGNG
>>890
ワシもそうおもうだわさ。
0924デフォルトの名無しさんNGNG
VBしか使えないからVBを使うのか、楽だからVBを使うのか。
とりあえず、VBしか使えない奴のコードは見るとだいたい解るね。
0925904NGNG
>>919
お答えありがとうございました。できました。
Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
Dim start As Long, now As Long

Private Sub Form_Load()
  start=GetTickCount
End Sub

Private Sub Timer1_Timer() '間隔は100ミリ秒毎
  now=GetTickCount
  Label1.Caption=now-start
End Sub
0926デフォルトの名無しさんNGNG
Windowsの終了時にForm_Unloadでユーザーからの入力待ち(Fileのセーブをするか?など)
の時にWindowsの終了を入力が終わるまで待たせるにはどのようにすればよいのでしょう?
0927デフォルトの名無しさんNGNG
>>925
GetTickCountよりtimeGetTimeの方が正確という噂あり。
0928ひきプロNGNG
>>926
Form_Unloadの引数にCancelというのがあるので
これに1を入れるとアンロードがキャンセルされます。
しかしこの場合、QueryUnloadにこの処理を書くほうが良い気がします。
0929デフォルトの名無しさんNGNG
>>928
レスありがとうございます。
Form_QueryUnloadでCancelを1にするとWindowsの終了自体もCancelされて
しまうので都合がよくないのです。
Excelとかみたくファイルの保存のダイアログを出してSAVEが終わったら
そのままWindowsも終了してくれるとありがたいのですが・・・
0930ひきプロNGNG
QueryUnloadで、
if UnloadMode = vbAppWindows then
  '処理を書く
end if
みたいにすればウインドウズの終了時の処理が書けると思います。
Cancel=1なしで書いてみては?
0931デフォルトの名無しさんNGNG
FormのUnloadやらQueryUnloadでCancel=1にしたときに動作って
OSによってちがくない? 気のせいかな?
0932デフォルトの名無しさんNGNG
ポインタがボタンの上に来ると、ステータスバーに
そのボタンの説明が表示されるようにするには
どのようにすればよいのでしょうか。
すごく簡単なことかもしれませんが教えてください。
0933デフォルトの名無しさんNGNG
MouseMove捕らえればいいんじゃないの?
0934デフォルトの名無しさんNGNG
すみません。
DataReportに関してですが、ツールボックスでShapeという囲み線
を印刷できると思いますが、その線を太くしたいと思ってます。
プロパティを見てもそのような設定が見当たらないのですが、
Data Reportでは無理なのでしょうか?レポート専用の
開発ソフトを買わないで済ませたいのですが。
0935デフォルトの名無しさんNGNG
(*´д`*)アハァ…
0936デフォルトの名無しさんNGNG
>>932
み〜くんパパにサンプルがある。
0937932NGNG
>>933、936
ありがとうございます。
コードの書きかたがよくわかってないので不安ですが
MouseMoveでやってみます。
0938デフォルトの名無しさんNGNG
数十個のボタンが密集して配置してあります。
マウスがボタンの上を通過すると、そのボタンの色が青になります。
マウスカーソルがボタンの上にある限り、そのボタンの色は青のままです。
カーソルを他のボタンの上に移動させると、今まで青かったボタンはデフォルトの灰色に戻り、
現在マウスカーソルが乗っているボタンが青くなります。

・・・・てな感じのものを作りたいんですが、どう書けばいいんでしょう?
ボタンのMouseMoveを使えば色を変えられるんですが、カーソルが離れた際の処理が思い浮かびません。
とりあえず、それぞれのボタン.MouseMoveに、自分以外の色クリアの処理を行う処理を書いてみたんですが、
他のボタンが何十個もあるので、やたら長くなります。
VBでここらへんをスマートに解決するにはどうしたらいいんでしょうか?
0939デフォルトの名無しさんNGNG
直前に青かったボタンを覚えておけばええんでない?
0940デフォルトの名無しさんNGNG
>>938
ボタンをね、コントロール配列にすれば良いのよ(ウフッ
0941次スレのテンプレNGNG

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

v(*´д`*)b アハァ…
ブビタンがどんな厨房疑問でもやさしく答えるブビ。
ブビタンは時に私であり、時には別の人ブビ。
関連スレは>>2ブビ。

  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/test/read.cgi/tech/1044028945/
  Part22 http://pc2.2ch.net/test/read.cgi/tech/1046354784/

VB.net関連スレ
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.下ネタもたまにならOK。
六. ブビタン情報募集中。
0942デフォルトの名無しさんNGNG
次スレのテンプレが出てきて質問するのも気が引けるのですが。

MDIフォームでボタンメニューとツリービューを使いたいと思ってます。
MDIフォーム上でCoolBarを縦に使う方法を知りたいのですが、可能でしょうか?
または、上部にCoolBar、左側にPictureBoxのようなコントロールを張り付けるとか。

エクスプローラのファイルビューのところがMDIの子フォームになっているようなイメージです。

可能、不可能だけでもいいです。
CoolBarでバンドの向きとかverticalのプロパティでは駄目って事は解りました。
MDIフォーム上でイベントを拾えればそれでOKなんでつが・・・。

グレープシティ(旧文化オリエント)では出てるんですけどね。
あれって(自分的に)使いたいコントロールが少ない割にはそれなりの値段するからなぁ。
0943932NGNG
すみません。先程の、ツールバーのボタンの説明を
ステータスバーに表示するという件について質問です。
Toolbar1_MouseMoveプロシージャで、ポインタが
今どのボタンの上にあるかを

Select Case Button

Case (ボタンのキー)
StatusBar1.Panels(1).Text = "あいうえお"
:
:
End Select

というふうに書いてみました。
一つ目のボタンはうまく表示されたのですが、
残りでも一つ目のボタンと同じ文が表示されてしまいました。
(それぞれのボタンについて異なる文章を書いています)
どのようにしたら他のボタンでも正しく表示されるでしょうか?
↑ものすごく間違ったコードを
書いているかもしれませんがよろしくお願いします。
0944デフォルトの名無しさんNGNG
>>943
MouseDown イベントのヘルプよく読んで
Button 引数の意味を理解しなさい
0945944NGNG
×MouseDown
○MouseMove
0946デフォルトの名無しさんNGNG
>>921-922
そういう時のために、Left()があるのでは?


0947デフォルトの名無しさんNGNG
>>946
あれ? 突っ込まない約束でみんな来てたんじゃないの?(w
0948943NGNG
>>944
一応ヘルプは見ていたつもりでしたが…すみません。
Buttonは押されたボタンなんですね。
では、x、yの座標で位置を知らなければならないんですか?
このボタンはx=0〜いくつまで とか設定して。
0949943NGNG
↑ボタンの幅に合わせてScaleWidthを設定して
Case x=1 などとすればよいのでしょうか?
0950デフォルトの名無しさんNGNG
>>949
とにかくやってみれ。試行錯誤するのが一番勉強になるわけで。
0951名無しさんだよもん ◆ZAYX.QGihc NGNG
とりあえず次すれ

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

http://pc2.2ch.net/test/read.cgi/tech/1047743187/
0952デフォルトの名無しさんNGNG
ぬるぽがこのスレに興味を持ったようです。

  ∧_∧
 ( ´∀`)< ぬるぽ
0953943NGNG
とりあえずx座標をいちいち設定したら
横の動きには反応するようになりました。
しかしツールバーから縦方向に出たときに反応してくれない…
0954デフォルトの名無しさんNGNG
Accessの質問です。

Win32APIのDeleteMenuを使うと、アプリケーションウィンドウのコントロールメニューを
無効化できますが、この状態でも、[Alt] + [F4]のキーストロークには応答し、終了して
しまいます。コントロールメニューの表示状態に関わらず、WM_CLOSEメッセージそのもの
を受け付けなくする方法はありませんか?
(Access97なので、AddressOf演算子は使用できず、サブクラス化は不可能です)

イメージとしては、VBアプリケーションの

Private Sub Form_QueryUnload (Cancel As Integer)
Cancel = -1
End Sub

のような動作を実現したいのです。
0955デフォルトの名無しさんNGNG
ACCESS総合相談所 その7
http://pc2.2ch.net/test/read.cgi/bsoft/1043996834/
0956デフォルトの名無しさんNGNG
>>955
あっちでまともなコメントが付くとは思えない。
0957デフォルトの名無しさんNGNG
まだ終わってないからあげとくYO!
0958755NGNG
ポップアップ表示の前にESCを送ることでとりあえず回避しました。
0959デフォルトの名無しさんNGNG
ActiveXってWEBサーバがLINUXでもうごきますか?
(もちろんブラウザはIEです)

よろしければ教えてください。
0960bloomNGNG
http://www.agemasukudasai.com/bloom/
0961デフォルトの名無しさんNGNG
VB6.0です。
ListBoxのHeightは、
項目の高さの倍数分しか変更できないみたいなんですが、
これを自由なサイズに変更する方法はありませんか?
0962デフォルトの名無しさん NGNG
>ActiveXってWEBサーバ
なんですかその「WEBサーバ」のActiveXって?
Apache?
0963デフォルトの名無しさんNGNG
>>961 IntegralHeight
0964959NGNG
すみません、説明が足りませんでした。
WEBサーバはApache、OSはLinux(Redhat)です。
つまりWebサーバがIISでなくても、ブラウザがIEであれば、
ActiveXは動くのかということを知りたいのです。
0965デフォルトの名無しさんNGNG
>>964
WebサーバとActiveXの関連を教えてください。
0966959NGNG
>>965
WebサーバからActiveX(コントロール、が抜けてました)を
DLし、ActiveXを介して画像のやりとりを行います。
0967デフォルトの名無しさんNGNG
DLも画像のやりとりも通常のHTTPに則ってるのなら、サーバには関係ない話だと思うが。
0968デフォルトの名無しさんNGNG
テキストボックスのスクロールバーのValueって取得できないよね?
0969デフォルトの名無しさんNGNG
>>968
EM_GETTHUMB なんかじゃだめかい?
EM_* 系のメッセージをさがせば結構色々使えるぞ。
0970デフォルトの名無しさんNGNG
あ、TXTBOXやMSFGRIDコントロールでスクロールバーとセルがぴったり
あうようにするにはどうすればいいのでしょうか?
ネットにころがっているコードはほとんど厳密にTWIPを定義している
ようです。スクロールバーのTWIPを知る方法はないもんでしょうか?
0971デフォルトの名無しさんNGNG
>>970
SysInfo コントロールの
.ScrollBarSize じゃないのん?
0972デフォルトの名無しさんNGNG
オブジェクトのプロパティ値を取得するのに
プロパティ名を変数で指定することは出来ますか?
Dim A As String
A = "Top"
とでもして
Text1.Top の値を取得したいのよ。




0973デフォルトの名無しさんNGNG
>>972
うまいやり方は知らないけど
Label1.Caption = getpro(Text1, "Top")
などとして読み込める関数でも作っては?

Public Function getpro(ob As Object, pro As String)
Dim Ret
Select Case pro
Case "Top"
Ret = ob.Top
Case "Left"
Ret = ob.Left
Case Else
Ret = ""
End Select
getpro = Ret
End Function
0974デフォルトの名無しさんNGNG
WSHをVBSで書いているのですが、
comdlg32.ocxを使わないで
「名前を付けて保存」ダイアログを出す方法が知りたいです。

お客さんにocx等は入れたくないといわれて困ってます。
0975デフォルトの名無しさんNGNG
>>974
GetSaveFileName
0976974NGNG
>>975
ありがとうございます。

それって、comdlg32.dllですよね?

APIビューアで拾った定義をそのまま貼ったんですが、
全然動かないんですよ。
vbsだとasとか使えなくていつになってもエラーが消えないんです。

もしよかったら使い方のサンプルとかないでしょうか。
0977974NGNG
と思ったら、VBSではDeclare使えないじゃないですか。

どーしよう・・・。
0978デフォルトの名無しさんNGNG
>977
無理。開発環境Orフォームありじゃなきゃ、あのダイアログは出せない。
ActiveX作ってOCXじゃありません。って言い張るのがベストとは言わんがベター。
0979デフォルトの名無しさんNGNG
>>976-977
なんか悪いことしちゃったね。ごめん。
(VBは知ってるが、VBSはほとんど知らないもんで・・・)
0980974NGNG
当たり前の質問かもしれませんが、
VBで作ったActiveXのDLLって、

VBランタイムがなきゃ動かないですよね?
0981デフォルトの名無しさんNGNG
>>980
うん。余計酷くなるね…
0982デフォルトの名無しさんNGNG
ある程度 C か C++ がわかるなら、BCC でも拾ってくれば?
コモンダイアログのサンプルも Web に落ちてるでしょ。
0983デフォルトの名無しさんNGNG
>>973
情報Thanks!
やっぱり翻訳する関数を自作するしかないのかなぁ・・・・
0984デフォルトの名無しさんNGNG
逆コンパイルってどうやるの?
0985デフォルトの名無しさんNGNG
>>984
時間を逆回転させる
0986デフォルトの名無しさんNGNG
>980
ttp://www.seraphyware.jp/dev/prod/seraphyscripttools/
ttp://csx.jp/~tsuchiya/
コモンダイアログを出現させることの出来る、VB製でないCOMラッパー。
0987デフォルトの名無しさんNGNG
Picture1に画像を読み込ませたいんですが、コードを以下のようにしたんです。

Pricate Sub Form_Lond()
Picture1.Picture = LoadPicture("画像1.gif")
End Sub

でもエラーが出てしまうんです。

LoadPicture("画像1.gif")のところを
LoadPicture("c:\windows\デスクトップ\画像1.gif")
みたいに入れたら上手くいくんですが、はじめに書いたような方法で
表示する方法は無いのでしょうか?
おしえてください
0988デフォルトの名無しさんNGNG
>>987
ChDir
0989デフォルトの名無しさんNGNG
あるHPのハイパーリンク(そのページにあるもの全て)だけ
を何か変数に入れて表示したいのですが、
どのようなコードを書けばいいのでしょうか?
0990デフォルトの名無しさんNGNG
httpを使ってhtmlを取得。
htmlを解析してハイパーリンク先とその文字列を取得。
それを変数に代入。
0991デフォルトの名無しさんNGNG
adodbを使ってデータベース一覧させたいのですが
どうすればいいですか
テーブル一覧とフィールド一覧はできたけど
データベース一覧だけできないので誰か教えてください
0992デフォルトの名無しさんNGNG
埋め埋め
0993デフォルトの名無しさんNGNG
埋め埋め埋め
0994デフォルトの名無しさんNGNG
生き埋め 
0995デフォルトの名無しさんNGNG
(*´д`*)アハァ… VB初心者質問スレ Part23
http://pc2.2ch.net/test/read.cgi/tech/1047743187/l50
0996デフォルトの名無しさんNGNG
ume
0997デフォルトの名無しさんNGNG
梅さん
0998デフォルトの名無しさんNGNG
夢
0999デフォルトの名無しさんNGNG
ぬめり
1000デフォルトの名無しさんNGNG
しっぽり濡れて
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。