[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/01 06:17 / Filesize : 260 KB / Number-of Response : 964
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VBプログラマ質問スレ(Ver.6.0 まで) part57



1 名前:デフォルトの名無しさん mailto:sage [2011/04/30(土) 01:50:27.76 ]
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。

○ 質問者の心得
 一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
 二.VBScript、インストーラーなどはこのスレでOK。
 三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
 四.荒らしは相手しない。

○ 回答者の心得
 一.答えられない質問は無駄に罵倒せずスルー。無理するな。
 二.代用法を強制しない。
 三.回答する上で必須ではない情報をむやみに聞き返さない。
 四.荒らしは相手しない。
 五.VB情報募集中。
 六.回答は質問者が理解できるよう具体的に。

MSDN Online Japan ホーム
 www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
 msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
 www.google.co.jp/

※「まず自分で調べる」クセを身につけよう。

367 名前:デフォルトの名無しさん mailto:sage [2011/07/14(木) 23:03:26.62 ]
すいません上げてしまいました

368 名前:327 mailto:sage [2011/07/15(金) 02:41:19.28 ]
>>366
TextBox1.Text &= data(j) & ","

TextBox1.Text = TextBox1.Text & data(j) & ","


369 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 09:47:28.63 ]
>Array.Reverse(data)
こんなのVB6にあったっけ?
.netならわかるが・・・

手抜きだと
Private Sub Command1_Click()

Dim text As String
text = "ごりら,りんご,らっぱ"

Dim arr() As String
arr = Split(text, ",")

Dim i As Long

Dim changedText As String

For i = UBound(arr) To LBound(arr) Step -1
changedText = changedText & arr(i) & vbCrLf
Next

MsgBox (changedText)

End Sub

370 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 10:06:09.68 ]
>>366
そもそも配列をいちいち逆順にソートし直す必要があるのかね?
For を後ろから-1してくればいいのだとおもうが

371 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 22:47:25.91 ]
>>368-370
ありがとうございました。スレ違いだったみたいです
丁寧なご教授ありがとうございます

372 名前:デフォルトの名無しさん mailto:sage [2011/07/15(金) 23:16:24.06 ]
>質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、

これを徹底させず答えるから

373 名前:デフォルトの名無しさん mailto:sage [2011/07/22(金) 16:16:59.87 ]
保守

374 名前:デフォルトの名無しさん [2011/07/29(金) 11:58:12.94 ]
保守2


375 名前:デフォルトの名無しさん mailto:sage [2011/07/29(金) 13:50:46.57 ]
保守なんぞしなくても、この板では落ちないだろ



376 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 15:34:56.75 ]
hibari.2ch.net/news4vip/subject.txt
を取得して動的二次元配列に1行ずつ代入するにはどうしたらいいでしょうか

377 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 16:54:49.27 ]
ふつうにOPENして読み込めばOK
一気に読み込んでsplitかけるなり一行づつREDIMして読むなりそのまま使うなりご自由に

378 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 18:09:56.68 ]
splitかけるとして改行コードは何でしょうか

379 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 18:11:54.16 ]
そんな事いちいち聞くなよ

380 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 18:13:44.35 ]
vbCrLfでやってみたのですがうまくできなかったので・・・

381 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 18:33:33.59 ]
>>380
バイナリエディタで開けば、改行にどんなコードが使われているか確認できるお

382 名前:デフォルトの名無しさん mailto:sage [2011/07/31(日) 23:58:30.78 ]
>>376,378,380
かなり情報古いけどここの情報も見ておけば?きっとここに書いてあるようなところで躓くはずだから
ttp://age.s22.xrea.com/talk2ch/

383 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 00:24:54.94 ]
>>380
Dim Kaigyo$, Subject$, Subjects$()

If InStr(1, Subject$, vbNewLine) > 0 Then
 Kaigyo$ = vbNewLine
ElseIf InStr(1, Subject$, vbCrLf) > 0 Then
 Kaigyo$ = vbCrLf
ElseIf InStr(1, Subject$, vbCr) > 0 Then
 Kaigyo$ = vbCr
ElseIf InStr(1, Subject$, vbLf) > 0 Then
 Kaigyo$ = vbLf
Else
 Stop
End If
Subjects$ = Split(Subject$, Kaigyo$)

384 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 00:28:52.62 ]
>>381-383
vbLfでした!ありがとうございます!

385 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 14:13:48.49 ]
vb6ってUTF8をそのまま読めたっけか



386 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 14:16:52.32 ]
vbNewLineって使うのまずいんじゃね

387 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 14:23:44.49 ]
読んで配列に入れるだけなら問題ないんじゃね?妙な変換されたっけ?

388 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 23:38:04.61 ]

subject.txtってUTF8になったの?

389 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 23:46:36.19 ]
フォーム上にPictureBoxを配置しています
PictureBoxの角に○を書くにはどうしたらよいでしょう?
uproda.2ch-library.com/lib410514.bmp.shtml
上記が実現したいイメージです。○はペイントで書きました

390 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 02:38:42.58 ]
画像見れない

391 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 02:39:14.19 ]
Circleメソッド

392 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 02:40:41.31 ]
じゃ無理か

393 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 02:49:33.31 ]
目的や用途が不明だからよく分からんが
4つの白い四角形がそれぞれPictureBoxコントロールなのか?
でかいPictureBoxコントロールにぽつんとその四角描けば円も描けるだろうけど





394 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 09:19:39.01 ]
61,61以上のPictureBox(以下、Picture1とする)にその□を書いて、
Picture1.Circle(12, 12), 11, RGB(255, 0, 0)とすればいいんでない?
※サイズはその画像から計算

その□の角が中心点だと、その半径分だけ大きいPicture1が必要だよね?

395 名前:デフォルトの名無しさん [2011/08/03(水) 00:07:20.45 ]
Line(x, 1)-(x, 5), &hff
って高さ4ピクセルの縦線なんだよ
変な仕様だよね



396 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 00:12:10.29 ]
全然変じゃない。

ピクセルなどという、表示デバイスの都合に依存したフレームで考えてるから
変に思えるだけ。


397 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 00:47:37.40 ]
ユーザー定義もできるーVB6標準コントロールどものスケール

398 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 09:37:18.11 ]
XPでVB6SP6使ってるんですが
実行時エラー9 インデックスが有効範囲にありませんっていうエラーって
配列変数以外で起こる原因ってなんなんでしょうか?

399 名前:デフォルトの名無しさん [2011/08/03(水) 09:54:47.09 ]
>>396
じゃあ、ピクセル単位で(x1,y1)から(x2,y2)まで線を引く必要が生じた場合は
Psetを用いる以外にどのような方法が?

>>398
なんか覚えがある
もうちょっと詳しく

400 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 10:09:28.10 ]
>>399
あるプロシージャ内で配列変数は使ってなく
RDOを使用してMSSQLに対してSELECT文を実行し
OpenStaticで取得したrdoResultsetのRowCountを参照して、
RowCountが1以上だったら実処理用のプロシージャをコールするだけなんですが
コールするプロシージャはそっち側でOnErrorしてますのでコール元にエラーが返ってくることはなく
なぜか配列を使ってないコール元のプロシージャで実行時エラー9が起きてて悩んでるんです

401 名前:デフォルトの名無しさん [2011/08/04(木) 17:45:29.59 ]
>>400
あーごめん、思い出すきっかけになるかと思って聞いてみたんだけど
思い出せなくてキリ番オメとしか言ってあげられない
IDEだと発生しないエラーだっけ?
他に心当たりある人がいなければ、コールする部分をコメントアウトしてみるとか
コード1行ごとにログを出力するとかして、どこで発生してるか突き止めるしかないね

402 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 02:50:32.56 ]
vb6の不思議なとこは
関数の戻り値を関数から出るまでは何回でも変更できるし
CとかJAVAならreturnで即終了だいs

403 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 12:21:03.79 ]
>returnで即終了だいs

returnで即終了だいすけ?

404 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 17:02:26.91 ]
>>402
不思議と言うより、そこはVB6の優れているところだね
ただ、戻り値の返し方が関数名への代入ってのは頂けない
やはりここは関数名ではなく固有キーワードの方が良い

405 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 18:55:29.26 ]
cやjavaなら冒頭で戻り値用の変数用意すれば同じことできるし
VB6は戻り値設定に関数名使ってるのもだるいが
関数からの抜け出しも文字数長くてしんどい



406 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 20:47:23.43 ]
CやJavaでは、戻り値のあるなしどちらでも関数だが
VB6は片やfunction 方やsub。

これって何か意味あるかな?

407 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 21:38:00.71 ]
>>406
もともとの行番号がついていた時代のBASICには関数はなかった。
しかし関数はなかったがサブルーチンはあった。
変数はグローバルで、サブルーチンは処理をまとめただけ。
CALLはそのサブルーチンを呼び出す命令。
subはその頃から互換性を保ちながらバージョンアップしてきた時の名残。

そもそもBASICは1964年に作られた初心者用言語で
(ちなみにC言語は1972年) 今のような使われ方、機能は想定されてなかった。

このような結構名残はたくさんあって、昔のBASICは変数を定義する必要はなかった。
ただし配列を使う場合には特別に定義する命令があった。それがVB6では変数を定義するときの
キーワードのDimになっている。DimとはDimension(n次元)の略なのに…の答えがこれ

変数の型も昔のBASICにはAs Integerとかなくて、変数名の最後に
%, &, $をつけて表していた。今も使える。

VB6の不思議な仕様はたいてい昔からの名残(互換性維持のため)と考えれば理解できるよ。
初期のBASICの仕様と、それから大きく発展したQUICK BASICの仕様を調べてみたらどうかな。

408 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 22:11:16.48 ]
>>406
VBだってどっちにしろプロシージャーでしょ。

同じものを「何も返さない処理」と表現するか「無を返す関数」と表現するかの違いだが、
いずれにせよ深い意味なんてない。

数学的には後者の方が統一的で美しいけど、反面直観的ではないな。
線分を多角形の特殊形態だと言うのに近い。

409 名前:デフォルトの名無しさん mailto:sage [2011/08/08(月) 00:10:20.21 ]
.NETに以降したいけど、書き直すのが面倒です!
あの変換するの使っても結構修正箇所が。
(これは自分の作りに問題があるのだと思うけど)

というわけで、Windows7x64にVB6入れて使っている人いますか?
(XPモードじゃなくて)

410 名前:デフォルトの名無しさん mailto:sage [2011/08/08(月) 00:19:09.74 ]
一応、貼っておくか....
blogs.wankuma.com/jeanne/archive/2006/08/02/34597.aspx

411 名前:デフォルトの名無しさん mailto:sage [2011/08/08(月) 01:19:35.41 ]
一応、言っておくか....
.NETで作ってあるのもある。
自宅ではVB6だからそれを移行するのが面倒っていう話で。
というか、本題は。
>というわけで、Windows7x64にVB6入れて使っている人いますか?
>(XPモードじゃなくて)


412 名前:デフォルトの名無しさん mailto:sage [2011/08/08(月) 09:43:57.90 ]
>>406
単に Pascal に倣っただけでしょ。
「戻り値設定に関数名使ってる」のも同じ。

なんで Pascal は? って聞かれたら Wirth に聞いてくれというしかないが...。

413 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 00:55:54.03 ]
>>409
MSにガイドが有るだろ
基本はプロテクトかかってないフォルダ、つまりProgram Filesとか以外にインストールでほぼ動くよ。
やってないとは思うがシステムフォルダのパス取得は直書きしないで全部関数使う
基本32bitで動くからその辺は気にしないで大丈夫だが、
COMとかDLLとかは実際に動かしてチェックしないと解らん。
あとはVirtualStoreとかの隠しフォルダに気をつけるぐらいかな

良く解らなければUAC切れ
こいつがファイルからレジストリまでユーザー単位で仮想化してるのがおかしくなる原因だ
後は互換モードを活用する
これは過去Ver.と7のAPI対応表を持ってて裏で変換してくれる

あ、プリンタAPIとか使ってるならそいつも確認
セッション0問題とかその辺が引っかかる可能性が有る。
ドライバ関係はメーカ対応無かったりで結構泣けた

移行やったの去年だから今はもうちょっと改善されてるかも?

414 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 01:15:13.51 ]
>>413
移行できない、ではなくて、移行が面倒なんでは?
VB6製アプリが動くか、ではなくて、VB6IDE環境が動くかが知りたいたいのでは?
それに、単純にVB6のコードをVB.NETで動くようにしても、
クラス構造や例外やDBの扱いなんかが悲しいことに。

>>409
Win7(x64)で動くのかどうか知らないけど、VB6環境はXPモードでメンテのみに留めて、
メインの環境を変えちゃったほうがいいんじゃない?

415 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 18:00:56.19 ]
InputManのimTextというコントロールについて知っている人が
いたら教えてください。

imTextをマルチラインで使った場合、半角カナの単語が行末に来る場合
単語が分割されないように自動的に改行されてしまいます。
これを分割されるようにする方法はないでしょうか?
それらしいプロパティが無く困っております。

よろしくお願いします。



416 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 21:11:56.79 ]
>>415
スレ違い

あれは汎用コントロールであって、「VB6でも使える」だけで
VB6の付随品でもなければ、VB6用というわけでもない

そんな、VB6とは関係ないものの質問はNGです
お引き取り下さい

そもそも、正規に購入しているなら、サポートに問い合わせれば良いだけだ

417 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 21:17:07.41 ]
書き忘れましたが自己解決しました。

418 名前:デフォルトの名無しさん mailto:sage [2011/08/10(水) 00:51:19.04 ]
>>414
あ、>>411か、これは恥ずかしい・・・
え〜と入れてたし動いてたけど>>414が正解だと思う
細かいとこで引っかかっていちいち対応するのがめんどかった

419 名前:デフォルトの名無しさん mailto:sage [2011/08/10(水) 15:42:21.66 ]
WebBrowserコントロールに動的に生成したHTMLを
表示したいのですが、最後の行でエラーになってしまいます。
WebBrowserコントロールに生成したHTMLDocumentを
設定するにはどうしたらいいでしょうか?

Dim doc As New MSHTML.HTMLDocument
Dim html As MSHTML.HTMLHtmlElement
Set html = doc.createElement("html")
Dim head As MSHTML.HTMLHeadElement
Set head = doc.createElement("head")
Call html.appendChild(head)
Dim body As MSHTML.HTMLBody
Set body = doc.createElement("body")
Call html.appendChild(body)

Set WebBrowser1.document = doc


420 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 02:20:37.69 ]
OptionButtonコントロールの選択状態ってどう取得するのがスマートなの?
OptionButtonのClickイベントのたびに選択されたIndexを変数に保持する方法?
それとも状態を知りたいタイミングで一個一個選択された状態か確認する方法?

421 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 06:24:07.84 ]
スマートさなんてのは、人それぞれの感覚で定義が違ってくるので
君にとってスマートなやり方は、君にしか解らない

VBAスレでも似たような展開になってるが、トリッキーでもコードが短ければ
それを以てスマートと感じる奴も居れば、可読性の高さにスマートさを感じる奴も居る
はたまた、汎用性の高さや、拡張性の高さにスマートさを感じる奴も居る

いそんな取得の仕方はWeb上に腐るほどサンプルとして転がってるから
自分でいろいろ見て、自分がスマートだと思った方法を真似れば良い

以上、さようなら

422 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 08:42:51.88 ]
>>420
スマートにしたいのなら、UI部分とロジックは分離して
ロジック部分はUIを使わないでも(例えばCUIなどから)
実行できるようにするといい。

分離したロジックは別のクラスに書く


423 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 09:48:38.09 ]
>>420
なんか愚問だな。

スマートの定義は置いとくとしても、どの方法が適切かは目的しだい。
常にこの方法が適切、なんてものはない。

例えばタブページのタブのように、オプションボタンで、あるコンテナの中に
表示される中身を切り替えたいとする。
こんな時にイベントドリブン以外の方法を採用できるのか。

例えば何かを設定する画面でユーザーがOKボタンをクリックするまで変更された
設定の適用を保留したい場合、イベントドリブンを採用して、ユーザーがオプションボタンを
クリックした時点で直ちに対応する設定値を変更してしまっていいのか。

424 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 11:23:18.21 ]
以上、スマートなOptionButtonコントロールの選択状態の取得方法を知らない人たちの戯言でした

425 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 11:35:22.43 ]
それより>>419頼みますよ。



426 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 21:30:47.51 ]
>>424
その後にスマートな方法をスマートに書いていると格好良かったんだが
その1行だけだとかなり滑稽というか、君のが一番惨めな戯れ言に成り下がってるな

427 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 00:57:24.17 ]
>>425
WebBrowserコントロールのdocumentプロパティは読み取り専用ではなく設定も可能なプロパティなの?

428 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 08:38:11.07 ]
>>427
vb.netではできるので高い技術力を持ってすればできるのではないかと。
読み取り専用ごときに怯んではいけないかと。

429 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 10:30:49.72 ]
>>426
ム板で自己満足のコードも無い長文を垂れ流すのを、タワゴトと言わずして何と言おうか

430 名前:まあ、短いだけましだが> mailto:sage [2011/08/12(金) 11:27:57.51 ]
短くても戯言は戯言だし...。

431 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 21:09:59.41 ]
>>429
悔しかったの?

432 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 21:41:03.04 ]
>>425
一旦ファイルに保存しちゃおうぜ。

433 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 22:43:43.55 ]
>>432
今はそれですけど、それは無しだと思うのです。

434 名前: 【Dnewsplus1306759181466917】 [2011/08/13(土) 09:02:32.62 ]
Select Case True
Case Option1(0): Debug.? "0"
Case Option1(1): Debug.? "1"

End Select
Dim objopt As OptionButton
For Each objopt In Option1
If objopt.Value Then Debug.? objopt.Index: Exit For
Next

メモ
あと、起動時にどれかが選択状態になってしまうので
全部非選択して、ユーザーに必ず選ばせてから処理を進めたい場合は
Option1(10).Visible=False: Option1(10).Value=True
というようにダミーを隠しておくんだぬ

435 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 11:57:05.16 ]
そんな「意地悪」をする合理的理由が何もない件。



436 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 15:14:50.89 ]
好きな女の子に対しては、いじわr(ry

437 名前:デフォルトの名無しさん mailto:sage [2011/08/13(土) 16:42:20.74 ]
Private Sub Option1_Click(Index As Integer)
Option1(0).Tag = Index
End Sub

でおけ

438 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 16:06:29.96 ]
うまくググりゃちゃんと欲しかった情報とか出てくるんだな
以前は見つけられなかったけどキーワード次第で今回すんなり見つけられた


439 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 16:11:13.33 ]
俺がググるの検索順位を
いじってあげたおかげだよ。
感謝しな。

440 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 16:11:26.84 ]
うかつにここで質問して叩かれずに済んだという話

441 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 16:16:44.36 ]
>>440
2ちゃんねる初心者か?

どんな質問でも、叩く奴は叩く。
叩かれることに怯えるな。

とりあえず2ちゃんねるで聞く、そして自分で探す。
たまに2ちゃんねんるで釣れてないか確認する。
これが最も効率がいい。

2ちゃんねるはダメもとで書いて置く場所だよ。

442 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 00:53:14.25 ]
>>437
tagってそんな風に使って大丈夫なの?

443 名前: 【Dnewsplus1306759181466917】 [2011/08/16(火) 06:25:38.36 ]
前回バックアップした時点から更新されたファイルをUSBメモリにコピーして
他のPCにフォローするプログラムを作ってるのですが
何千ファイルものタイムスタンプを片っ端から見ていくのは
時間がかかるのでなんとかしたいのです

フォルダの更新日時というやつが、そのサブフォルダも含めて、
中の最新ファイル更新日時を示しているのなら、
かなり処理をはしょれるのですが、そうはなっていないようです
フォルダの更新メッセージを受け取るような常駐型ソフトではないし
何かいい方法はないですか

444 名前:デフォルトの名無しさん mailto:sage [2011/08/16(火) 08:06:00.97 ]
>>443
dir /O-D

445 名前: 【Dnewsplus1306759181466917】 [2011/08/16(火) 21:05:02.37 ]
新しい順のファイルリストをリダイレクトして先頭のタイムスタンプを・・・
う〜む



446 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 00:18:11.64 ]
素直に FindFirstFile, FindNextFile, FindClose API
を使って列挙するのがいいんじゃないかな。

時刻も同時にとれるし。

USB に全ファイルを入れてもいいなら ROBOCOPY を
使って、更新されたファイルのみコピーする方法もある。

447 名前: 【Dnewsplus1306759181466917】 [2011/08/19(金) 01:00:25.03 ]
>>446
今はDirループで列挙してますが
コンパイルすると結局そのAPI呼出しに置き換わるのではないかと思っています

毎日ファイリングしてる数百のデータファイルを、今作ってるソフトにかけると
数年前のファイルが置いてあるフォルダでも更新してないかバカみたいに探してるのが悲しい・・
これは、OSがそういう機能を提供してくれない限りしょうがないですね

448 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 01:20:33.21 ]
>>447
たしかに Dir ループは Find 〜 API を呼び出してるんだろうけど、
ファイル名しか取れないでしょ?

ファイル名をとってきて、FileDateTime 関数あたりで更新時刻を
取得してるんだよね?

Find 〜 API を直接呼べば、WIN32_FIND_DATA 構造体に更新時刻
が入ってくるので、FileDateTime 関数を呼ぶ必要がなくなるんだよ。


449 名前:デフォルトの名無しさん mailto:sage [2011/08/19(金) 08:56:08.33 ]
ローカルだとFileDateTimeを呼んでもたいしたオーバーヘッドはないが
ネットワークドライブだと環境によっては悲惨な結果になる

450 名前:デフォルトの名無しさん [2011/08/20(土) 14:06:58.70 ]
Dirはいやらしい
Dirループがネスティングできないと知っていても中で使ってる関数の先の先で使ってたりして
あと、最近発見したのはDirでUSBメモリを参照すると、USBが抜けない
某サイトで開放するためにDir ""とするんだと書いてあったが、
それでもカレントディレクトリを参照してるのか開放はしてないようだった
USBメモリを参照し終わったら、それを開放するためにHDDを参照してやらないといけないみたい

451 名前:デフォルトの名無しさん [2011/08/20(土) 15:07:48.28 ]
VB6 IDEでマウスホイールでコードをスクロールするアドインが提供されていますが、動作しません。
なぜでしょうか、今はVB6もXPも最新にしてますが、かれこれ何年も思い出す度に下記を実行しているので
VB6のspやOSやPCが原因ではないと思われます
と、ここまで書いてて自分用のセッテイングに問題があるんだなと思い
ツール→オプション→詳細→SDI開発環境のチェックを外したら動作した
なんだこれー、SDIがダメならマウスホイール使えなくてなくてもいいや

support.microsoft.com/default.aspx?scid=kb;ja;837910
1.VB6MouseWheel.EXE パッケージをダウンロード (Click!)
2.VB6MouseWheel.EXE を適当な場所に解凍 (C直下がいいかと。)
3.[スタート]→[ファイル名を指定して実行]で以下のコマンドを入力「regsvr32 (解凍先)\VB6IDEMouseWheelAddin.dll」
4.VB6.0を起動し[アドイン] →[アドイン マネージャ]
5.「MouseWheel Fix」を選択
6.[ロード/アンロード] と [起動時にロード]の項目にチェック

452 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 16:42:32.76 ]
>>451
気づいたとおり、そのアドインはSDI環境には対応してない。
以下のアドインなら、SDI環境でも使えるらしい。

ttp://homepage1.nifty.com/mtj-k/software/office_vb6/addautoscroll_vb6.html

それにしても、SDIで使ってる人いたんだね。

453 名前:デフォルトの名無しさん mailto:sage [2011/08/20(土) 19:25:22.98 ]
X wheelとかのホイール支援ソフト入れておけば使えないこともないような気がする

454 名前:デフォルトの名無しさん [2011/08/20(土) 23:32:13.58 ]
>>452
おお、SDIでも使えるんですか
後で入れてみます

SDIでないとめちゃめちゃ使い難いではないですか?
VBのIDEだけじゃなくてエクスプローラとかバイナリエディタとか・・
複数のコードウインドウの空いたエリアにあれば参照しながら打てるし

455 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 06:19:51.46 ]
MDIとSDIを取り違えてないか?



456 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 15:36:34.65 ]
VBSで質問です。
gethostnameやgethostbynameを使用して
ipアドレスの取得を行いたいのですが実行エラーになります。
使用する方法ありませんか?

457 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 16:41:26.29 ]
エラーの内容やソースも出さずに質問とは

458 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 18:31:01.46 ]
>>456
スレ違い

それはActiveXコンポーネントという汎用APIの質問であって、VBSの質問ではない
VBSの制御構文などに関する質問ならここでもOKだが、汎用APIの質問受け付けたら
キリがない(ActiveXはもちろん、Win32APIの質問も、.NET FrameworkやDirectXなどもOKになる)から
>>1の4行目に書いて有る通り、NGってことになってる

というわけでさようなら

459 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 19:07:23.00 ]
えっと、このスレは VBS は含まれますか?

460 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 19:11:59.77 ]
一応。

461 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 19:57:58.57 ]
大雑把な質問には皆エスパーして答えていることを質問者は理解すべき

462 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 21:12:10.83 ]
いやVBSはどう考えてもスレ違いだろ

463 名前:デフォルトの名無しさん mailto:sage [2011/08/21(日) 21:14:47.48 ]
と思ったけど、>>1には
>二.VBScript、インストーラーなどはこのスレでOK。
って書いてあるな。VBSそのものはここでOKらしい

464 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 00:12:22.56 ]
VBS から直接 API は呼べないので

nslookup の戻り値を取得して解析するとか
ttp://homepage1.nifty.com/MADIA/vb/vb_bbs/200608/200608_06080050.html

API をラップした ActiveX.DLL を探してくるか、VB で作成して利用するとかしかない。


465 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 02:35:55.69 ]
VB6SP&
リッチテキストボックス6(SP6)のスクロールバーを両方表示に設定してる(ScrollBars=rtfBoth)のに
水平のスクロールバーが使えない
リッチテキストボックスの横幅を越える文字は自動で改行されて表示される
どのプロパティいじれば横スクロールバー有効になるの?
(垂直スクロールバーは問題ないんだけど)



466 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 04:08:12.61 ]
>>465
ScrollBars プロパティ のヘルプ嫁。

水平スクロール バーは、RightMargin プロパティがコントロールの幅よりも
大きな値に設定されている場合に限り表示されます。
このプロパティの値は、コントロールの幅と同等か、わずかに小さいだけでも
かまいません。


467 名前:デフォルトの名無しさん mailto:sage [2011/08/22(月) 04:22:39.48 ]
>>466
トンクス
今度から真っ先にヘルプを探してみます
どうもすみませんでした






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<260KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef