トップページ⇒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。
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
テキストボックス中の点滅する縦線を何と言うのですか?
■ このスレッドは過去ログ倉庫に格納されています