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

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

■ このスレッドは過去ログ倉庫に格納されています
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。
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
まずは深呼吸してから、質問の仕方を考え直せ。
■ このスレッドは過去ログ倉庫に格納されています