VBプログラマ質問スレ(6.0以前) Part53at TECH
VBプログラマ質問スレ(6.0以前) Part53 - 暇つぶし2ch2:デフォルトの名無しさん
07/08/21 22:26:25
[VB6、WindowsXP]
リストボックスにカーソルがある時に
↑↓キー以外にも←→キーでも選択行が変わりますが
←→キーで選択行を変更したくない場合は
どのようにすれば良いのでしょうか?
プロパティかなにかで止められないでしょうか?


3:デフォルトの名無しさん
07/08/22 16:05:42
ヒント:keydownイベント

4:デフォルトの名無しさん
07/08/22 16:14:04
>>3
キーダウンイベント有無関係ナシに
リストボックスのIndexは移動しないか?

イベントで動いた分強制的に戻すなら・・・

5:デフォルトの名無しさん
07/08/22 17:27:44
KeyDownイベントで「お前なんか無かったことにしてやるー」とするのが簡単

6:デフォルトの名無しさん
07/08/22 17:31:43
>>4
はい。キーイベント関係なしに動きます。
強制的に戻そうにも、タイミング的にどうすれば良いものか。。。
実はずっと探してはいたのですが、リストボックスコントロールの
制御後にイベントを発生させることができれば可能だとは思います。
しかし、コーディング的にはすっきりしません。

別の方法も模索中ですが、横スクロールバーを追加すると、
←→を押していると左右に少しずつ移動し(格好悪い)て、
一番端に来るとやっぱり上下に移動してしまいます。。。
この方法ではできませんでした。
なんとかならないものでしょうか(泣)

7:デフォルトの名無しさん
07/08/22 17:35:07
>5
なかったことにしてやりたいですw
もしかして私は何か間違ってるでしょうか?
KeyDownとは無関係にリストボックスの上下移動をしているように思います


8:デフォルトの名無しさん
07/08/22 19:34:30
はぁ…
結構頻出なんだけどな

Option Explicit
Private WithEvents lstbox As ListBox
Private Sub Form_Load()
Dim i As Long
Set lstbox = Me.Controls.Add("VB.ListBox", "lstox")
With lstbox
.Move 0, 0, 3000, 5000: .Visible = True
For i = 1 To 100: .AddItem i: Next
End With
End Sub

Private Sub lstbox_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyLeft Then KeyCode = 0
End Sub


9:2
07/08/22 19:44:02
>>8
申し訳ありません。
いろいろやって、自分でも結論が出ました^^;
やはり間違っていたようで、キーイベントで拾って処理する事ができました。
おっしゃる通り、keycodeを0にすれば良かったです。
昨日から何度も目にしていたのですが、リストボックスの制御する事で
頭がいっぱいになっておりました><;
本当に申し訳ありませんでした。

10:デフォルトの名無しさん
07/08/22 23:37:56
COM コンポーネントを生成するのに
New するのと CreateObject を使うのと、何か違いはあるのでしょうか?
パフォーマンスに差があったりしますか?

11:デフォルトの名無しさん
07/08/23 00:18:13
プロジェクトのプロパティの「デバッグ」タブに
「使用中のブラウザに表示する」というチェックボックスがありますが、
これは何なんでしょうか?

12:デフォルトの名無しさん
07/08/23 00:43:01
>>10
URLリンク(homepage1.nifty.com)

13:デフォルトの名無しさん
07/08/23 07:17:01
[VB6、WindowsXP]
VBでCOMコンポーネントを作成していて
DLLが置いてあるディレクトリにあるファイルを読み込む必要があるのですが
自分がインストールされているディレクトリのパスを取得する方法はありますでしょうか?


14:デフォルトの名無しさん
07/08/23 10:49:02
つ「Appオブジェクト」      ~~~(App.Path)

15:デフォルトの名無しさん
07/08/24 00:15:46
フォームからフォーカスが外れたときなのですが、
LostFocusイベントで取得するのはムリでしょうか?

16:デフォルトの名無しさん
07/08/24 02:14:41
ブレークポイント置いて調べりゃいい

17:デフォルトの名無しさん
07/08/24 13:11:06
ASPから使うActiveX DLLを開発しています。
できることならWebサーバにもVBを入れてこのDLLをデバッグしたいのですが、
本番サーバと環境に違いが出てしまうので、サーバにはインストールできません。
ASPからDLLが呼びだされたときに、他のマシンにインストールしたVBを使って
フックしてデバッグすることはできないでしょうか?

18:デフォルトの名無しさん
07/08/24 16:36:31
[VB6,WindowsXP]
一度読み込んだ写真を再度表示する際は、
高速に表示できるような処理を行いたいと考えています。
どなたかご存知であれば、ヒントご教示願います。

[詳細]
フォルダから読み込んだ写真ファイルをリストボックスに表示させ、
リストボックスの選択した写真をイメージプロパティに表示させています。
(2メガ程度の写真を数百枚扱います)
一度読み込んだ写真を再度表示する際に、Image1.Picture = LoadPicture(List1)
としていますが、これだと再読み込みになってしまい表示が遅いです。
Image1.Pictureの値には「923075963」のような数値が入っているので、
これを使えないかと思い、いろいろ調査してみましたが、わかりませんでした。

19:デフォルトの名無しさん
07/08/24 19:06:53
>>18
VB6に向かない仕事だと思う。
またVB6以外を使うとしても根本的は解決法はない。
せいぜい「直前にみた画像」を数枚メモリにキャッシュしておく程度の
工夫しかできないと思う。

というか、数メガ程度の画像の読み込みが遅いってことはそもそもないと思うんだけどどうだろう。

どうでもいいけど言葉は正確に使うべきだし使おうとすべきだ。
君の文章にはやたらと「読み込んだ」という表現が出てくるが、
いったいどういう意味でその「読み込んだ」という言葉を使っているのだろう。

20:18
07/08/24 21:06:25
>>19
レスありがとうございます
そうですか。解決法は無いのですか。。。><

>というか、数メガ程度の画像の読み込みが遅いってことはそもそもないと思うんだけどどうだろう。
これは300K程度の軽いものに比べて遅いという意味です。
自作のPGで、一度表示した写真を
Set Image2.Picture = Image1.Picture
のように別のイメージプロパティからセットすると、表示が早かったので
Image1.Pictureの情報がメモリか何かに格納されているのでは無いかと思いました。
それならフォルダ内の写真をメモリに先読みすれば良いのかなと思った次第です。

>いったいどういう意味でその「読み込んだ」という言葉を使っているのだろう。
Image1.Picture = LoadPicture(List1)のような事を指しています。
「読み込んだ」だと表示されていない印象を受けるので、「表示」と書けば良かったと思います。

結果として、私の思っていたような事はできないものとして、
裏処理として、写真枚数だけイメージプロパティを追加する処理を
試してみたいと思います。(非常に重くなりそうな予感ですが。。。)
どうもありがとうございました。(^^)

21:デフォルトの名無しさん
07/08/24 21:10:40
>>18
Pictureオブジェクトをコレクションか何かで持っておいて
set image1.picutre = obj
とかやればいいんじゃない?
でも、これだと数百枚x2Mじゃ問題あるので
キャッシュアルゴリズムやリングバッファのようなものを実装する必要があるかな

22:18
07/08/24 21:11:01
間違えましたw
イメージプロパティ追加じゃなくて、メモリにキャッシュでしたw


23:デフォルトの名無しさん
07/08/24 21:11:44
あれ、なんか書き込んでる最中に解決してたかw

24:18
07/08/24 21:13:19
>>21
キャッシュアルゴリズムやリングバッファですか~
早速調査してみます。
レスありがとうございます(^^)

25:18
07/08/24 21:14:46
>>23
どうやらそのようですw
後は私のがんばり次第という事で、締めくくりたいと思います(^^)

26:デフォルトの名無しさん
07/08/24 22:13:31
こいつの言い方、すごくムカつくな

27:デフォルトの名無しさん
07/08/24 23:48:07
VBのテキストボックスに入力した情報をエクセルで出力するにはどうすれば良いですか?

28:デフォルトの名無しさん
07/08/25 02:30:00
藻前等前スレ埋めれ。
まだ952だぞ。

29:デフォルトの名無しさん
07/08/25 15:45:07
>>27
手っ取り早いのはCSV形式で保存させてしまうこと。
後何か聞きたいことがあるなら前スレ使って。
スレリンク(tech板)

30:デフォルトの名無しさん
07/08/25 18:27:58
>>27
ほい
URLリンク(www.bcap.co.jp)

31:デフォルトの名無しさん
07/08/25 22:21:50
[VB6、WindowsXP]

Dim a(,) As Integer
a= New Integer(,) {0,300,400,400,500,600,700,800}
           {400,500,700,800,1000,1200,1300,1500}
           {700,1000,1300,1600,2000,2000,2000,2000}
           {1300,2000,2000,2000,2000,2000,2000,2000}

ローカルレベルでこのように配列を宣言したのですが
・配列初期化子の次元が少なすぎます。
・構文エラーです。
とエラーが出てしまいます。
この宣言、初期化の仕方のどこがおかしいのでしょうか?

32:デフォルトの名無しさん
07/08/25 22:26:03
>>31
ほんとにVB6か?

33:デフォルトの名無しさん
07/08/25 22:33:07
>>32
え~と間違えましたVB2005です。すみません

34:デフォルトの名無しさん
07/08/25 22:49:26
VBは2005になってもやっぱり _ で継続行にしないといかんのな。
そろそろやめてほしい。

35:デフォルトの名無しさん
07/08/26 01:02:07
VB勉強しはじめて間もない者です。
配列には数値以外にも画像を格納する事ができるんですよね?
.gif画像を格納したいんですけど
数値を格納する時と違ってどのように書けばよいのでしょうか。




36:デフォルトの名無しさん
07/08/26 01:14:20
>>35
今からでも遅くは無い
VBはやめとけ
他の言語にしろ

37:デフォルトの名無しさん
07/08/26 01:17:43
初心者です。
クラスとコレクションの違いを教えてください。

38:デフォルトの名無しさん
07/08/26 01:18:07
>>29-30
ありがとうございます

39:デフォルトの名無しさん
07/08/26 01:21:12
>>36
やめたほうがいいと思う理由はなんですか?

40:デフォルトの名無しさん
07/08/26 01:25:05
>>35
>>37
初心者ということが、決して免罪符にならにということは覚えておいた方がいい

とりあえず、オブジェクト指向の本を読んでクラスについて勉強を
コレクションはとりあえず、忘れてOK

41:デフォルトの名無しさん
07/08/26 02:56:17
>>35を誰かお願いします;;

42:デフォルトの名無しさん
07/08/26 03:43:38
>>41
つ「GetObject」 「gif フォーマット」

43:デフォルトの名無しさん
07/08/26 10:12:36
>>41
その書き方だと何をしたいのかがわからないんだよ
初心者だから説明のしかたがわからないというのはわかるんだけど
配列にgifファイルをどのような形で保存したいと思っているのか?
pictureオブジェクト?ファイル内容をそのまま?展開したビットマップ?
せめて、その配列を用いて何がしたいのかを書いてくれ

44:デフォルトの名無しさん
07/08/26 10:39:00
というか、初心者が(基本的な内容の学習を欠いたまま)「自分のやりたいこと」に向かって
直線的に進もう、という態度がそもそも間違い。

45:デフォルトの名無しさん
07/08/26 12:11:19
IDEでデバッグ実行しているとき以外にもなんらかの方法で
Debug.Printの出力を表示させることはできないでしょうか?

46:デフォルトの名無しさん
07/08/26 16:04:45
>>45
debug.printはやったこと無いのでわからんが
OutputDebugStringなら出力できるよ
VC6持ってればの話だけど

47:デフォルトの名無しさん
07/08/27 15:17:27
実行時にならどこかにログを吐かせるんだが。そうじゃないのかな?

48:デフォルトの名無しさん
07/08/27 18:29:55
OutputDebugStringはできたので、Debug.Printも同様な方法があるんじゃないかと
思って聞いてみたのですが。
Debug.Printを入れた時と消したときで、コンパイルしてできたexeファイルに差異がありますし。

49:デフォルトの名無しさん
07/08/27 22:54:45
ちょっとお尋ねしたいのですが、
VB6で特定のフォームを表示しているフォームのすぐ背面に
持ってくることは可能でしょうか?
ウインドウズ任せでなく、任意の表示順にしたいのですが、
なかなかいい方法が見つからなくて困っています。
よろしくお願い致します。

50:デフォルトの名無しさん
07/08/27 23:01:14
VBでサムネイルを作る最も良い方法を教えてください。
よろしくお願いします、

51:デフォルトの名無しさん
07/08/27 23:29:24
>>49
つ「Moveメソッド」「Zorder」


52:デフォルトの名無しさん
07/08/27 23:30:39
>>50
つ「StretchBlt」

53:デフォルトの名無しさん
07/08/27 23:31:52
>>49
win32APIのSetWindowsPosを使う

>>50
まず、そのサムネイルはどのような形でVBから扱えるのかを教えて

54:デフォルトの名無しさん
07/08/29 15:39:25
>>前スレ998
終わったスレは邪魔にしかならない。
とっととDAT落ちするように埋めることの何が悪い。

今後もアクセスされるべき重要な情報があれば、
とっくにどっかの誰かが引用なりなんなりしてるわ。


55:デフォルトの名無しさん
07/08/29 15:59:33
980越えていれば24時間ほど書き込み無ければ自動的に落ちるが中途半端に埋める馬鹿で延命
遅いスレで950で次を立てると両方のスレでグダグダ
次スレを立てるタイミングを考えろ糞野郎って事だ

56:デフォルトの名無しさん
07/08/29 16:05:06
まあまあ
VBを愛する者同士仲良くしようZE☆

57:デフォルトの名無しさん
07/08/30 21:14:38
すみません、ちょっとお伺いしたいのですが、例えばフォームにテキストボックスを2つ(Text1、Text2)、
マスクエディットコントロールを2つ(MaskEdBox1、MaskEdBox2)を貼り付けただけのものを起動させ、
別途作ったプログラムからAPIを使ってこのフォームのコントロールに値を入力したいと考えています。
その場合まずFindWindowでフォームのウインドウハンドルを取得して、その子ウインドウ(コントロール)
のハンドルをGetWindowで取得するところまではできたのですが、取得したハンドルが4つのコントロール
のどれにあたるのかの判別方法がよくわからないのです。
GetWindowTextを使うとテキストボックスであればデザイン時に設定しておいたTextプロパティの値が取得
できるようなのですが、マスクエディットコントロールにはTextプロパティが無いようなので何も取得出来ず、
判別が出来ませんでした。
今はGetWindowPlacementでウィンドウの描画位置を取得して何とか判別できるようになったのですが、これ
だとフォームのデザインを変更するたびに別途作ったほうのプログラムも修正しなければなりません。
もし何かもっとスマートなやり方がお解かりになる方がおりましたらどうかご教授願えないでしょうか?
どうぞよろしくお願い致します。


58:デフォルトの名無しさん
07/08/30 23:32:21
>>57
長いからななめ読みし貸してない
とりあえずMSDNはみた?

59:デフォルトの名無しさん
07/08/30 23:44:58
>>58
はぁ?何が言いたいんですか?

60:デフォルトの名無しさん
07/08/31 00:43:34
>>57
>もし何かもっとスマートなやり方がお解かりになる方がおりましたらどうかご教授願えないでしょうか?

君は一つ一つの文を短くしたほうが良いよ。

61:デフォルトの名無しさん
07/08/31 10:20:55
>>57
一つ聞きたいけど、MaskEdBoxに値を入力しているのはどうやってやってるの?
GetWindowTextが出来ないんじゃ、SetWindowTextも出来ないのでは?

62:デフォルトの名無しさん
07/08/31 11:04:00
>>57
VB側プログラムが普通の作りなら
GetWindowLong(hwnd, GWL_ID)
で特定できる可能性はある

VB側プログラムを自由に変更できるならSetPropでプロパティを付けておけばよい

63:デフォルトの名無しさん
07/08/31 11:29:06
特定するだけなら、62の方法でいいな
もしくはGetWindowLongで、UserDataを与えておくとか

64:デフォルトの名無しさん
07/08/31 11:29:52
間違えた、SetWindowLong

65:57
07/08/31 19:42:01
>>61
SetWindowTextは別アプリに対しては使えないそうです。別アプリの場合はSendMessageのWM_SetTextで
やるみたいです。
でも確かにマスクエディットにはTextプロパティがないので、仕方がないのでSendMessageのWM_KeyDown
で1文字ずつ送ろうと思ってます。まだ試していませんが。。。

>>62
おっしゃられているウインドウのIDというのが難しくてよくわかりません。
ここのサイト(URLリンク(www.winapi-database.com))でGetWindowLongのサン
プル(マウスカーソルの位置にあるウインドウの情報を得るもの)をダウンロードして、コントロールを色々貼り付
けてテストしましたが、GWL_IDはテキストボックスだとText1とText2でそれぞれ違う値になるのですが、コンボボ
ックスだと全部同じ値になってしまい、これだと判別出来ないのでは?と思いました。というかそもそもウインドウ
のIDというものがどういう使われ方をするものなのかがわからないのでそれ以前の問題なのですが。。。

>>63
同じ理由でUserDataというのもよくわかりませんw
できればフォーム側のプログラムに手は加えたくないです。


お答え頂いたみなさんどうもありがとうございます。
ご提示頂いた方法を調べる過程で色々と勉強になりました。
一応GetWindowPlacementでやりたいことは実現出来ているので、もっと良い方法は気長に探そうと思います。


66:デフォルトの名無しさん
07/09/01 17:43:48
>>65
だから、とりあえずMSDNオンライン見れと:
URLリンク(msdn2.microsoft.com)

67:デフォルトの名無しさん
07/09/01 18:35:45
[XP,VB6]
初心者質問で申し訳ありませんが、調べてもわからなかったので、
教えて頂けますか?

[質問]
FORM_LOADの時にsetfocusすると
「プロシージャ呼び出し、または引数が不正」となり処理中止します。
ある条件の場合はフォーカスを変えたいのですが、
この場合、tabindexなどを全て変更したりする必要があるのでしょうか?
また別の方法があるでしょうか?
これに付随して、IMEプロパティもオフにしたいのですが、
リストビューに存在しないので設定方法がわかりませんでした。

宜しくお願い致します。

68:デフォルトの名無しさん
07/09/01 19:06:48
>>67
Load時はまだオブジェクトが出来ていな状態だから、
TabIndexを一番低い値にするとか、
ロードした後にsetfocusするとかしかない

69:デフォルトの名無しさん
07/09/02 00:24:38
>>67
もしくはForm_Activeで出来るかな。試してないのでよろしく

70:デフォルトの名無しさん
07/09/02 00:41:07
form.show
form.setfocus

71:67
07/09/02 04:31:38
>>68 >>69 >>70
みなさんありがとうございます。
70さんの方法で、
Form1.Show
ListView1.SetFocus
とすれば、ロード時のセットフォーカス実現できました!
showすれば良かったのですね^^
ありがとうございました!

72:デフォルトの名無しさん
07/09/02 16:27:07
フォルダにあるテキストをリストボックスに表示しているのですが<BR>
リストボックスでテキストをダブルクリックして表示させることはできますか?<br>
また、サンプルプログラムとかありますか?

73:デフォルトの名無しさん
07/09/02 17:06:26
>>72
> フォルダにあるテキストをリストボックスに表示しているのですが<BR>
> リストボックスでテキストをダブルクリックして表示させることはできますか?<br>
> また、サンプルプログラムとかありますか?

フォルダにアルテキストを(リストボックスに)表示させているのに、
なんで、ダブルクリックして表示させにゃならんの?不思議

74:デフォルトの名無しさん
07/09/02 22:51:07
>>72
意味不明だからもうちょっと分かり易く、やりたいことを具体的に日本語でOK。


75:デフォルトの名無しさん
07/09/02 23:53:12
イントラネットに接続されている機器のIPアドレスをMacアドレスを
指定して習得したいのですが可能ですか?
サンプルなどありましたら、提供していただけると助かります。

76:デフォルトの名無しさん
07/09/03 00:25:08
>>75
参考:
rarpに対応して撥ねない機器なら、rarpを使ってできるかも?

77:デフォルトの名無しさん
07/09/03 01:17:14
>>72
リストボックス内にテキスト形式のファイル名でもリスト表示しているのか?
でテキストボックスに選択したテキストファイルの内容を表示?
つ「DblClickメソッド」
優しすぎるか?

78:デフォルトの名無しさん
07/09/03 14:36:25
ファイルの削除にKILLコマンドを使うのはお薦めできないらしいのですが
どのような理由か教えてください。

79:デフォルトの名無しさん
07/09/03 20:59:02
>>78
よく分からないけど、指定されたファイルがなかったら or 削除出来なかったらエラーが出るくらいしか思いつかん
on error ~で引っかけて対処しておけばエラーで止まることもないから俺は使ってるけど

80:デフォルトの名無しさん
07/09/04 01:10:23
そういえば、VBでKillコマンドって使ったこと無いな
なんかkillっていうと、プロセスの強制終了ってイメージがある

81:デフォルトの名無しさん
07/09/04 02:51:33
>>78
今の今まで聴いたことが無い
ソース見せてくれ

82:デフォルトの名無しさん
07/09/04 09:01:32
そういえばなにげにFSOつかうよな・・・・
確かFSOは条件少し指定できたっけ?
忘れたが

83:78
07/09/04 09:17:33
>>79-81
レスありがとうございます。

>>79
ファイルが無いとか、ロックされているケースは私もon error で対処しています。
これだけの問題ならKILLを使いたいと思います。

>>81
「kill vb  ファイル 削除 (お勧めしません)」 でググってみて下さい。
ちなみにそのサイトでは、
System.IO.File クラスの Delete メソッドを使用する事がお薦めのようです。

この方法は、Microsoft Scripting Runtimeにチェックを入れたり、
インスタンスの生成や、使用後の参照の開放等、手続きが面倒なので
KILLを使いたいのですが深刻なバグがあるのなら、
Deleteを使用した方が良いと思い、質問させて頂きました。




84:83(78)
07/09/04 09:21:32
すいません間違えました。
>>82さんの言うFSOでした。

正 FileSystemObject (FSO) の DeleteFile メソッドを使用する事がお薦めのようです。
誤 System.IO.File クラスの Delete メソッドを使用する事がお薦めのようです。




85:デフォルトの名無しさん
07/09/04 10:34:51
Killで問題になるとすればユニコードのみの文字を使ったファイル名かな

86:デフォルトの名無しさん
07/09/04 11:08:18
FSOはWindowsScriptHostについてくるコンポーネントだっけ?
VB6標準のじゃないってことを理解して使ってればOKだけど
客先に入れたら動かんってことも結構ある。

87:デフォルトの名無しさん
07/09/04 12:19:40
>>86
インストーラー作れば問題ないな
というか、VBで作ったソフトの場合インストーラー必須じゃない?

88:デフォルトの名無しさん
07/09/04 12:21:13
ライセンス上問題だと思いますが。。

89:デフォルトの名無しさん
07/09/04 13:00:48
FSOは再配布出来ないのか
じゃあ、IExx必須とやるしかないな

90:デフォルトの名無しさん
07/09/04 14:24:35
あの、日本語を指摘するかたはそれでもプログラマーですか
コードの「読み」書きが最も大切だと習わなかったのですかね

91:デフォルトの名無しさん
07/09/04 14:44:54
仕様と違ってたらそのプログラムは使えん。
日本語が不自由な奴が仕様を正しく理解できるとは思えん。

>>90 みたいなプログラマーはいらん。

92:デフォルトの名無しさん
07/09/04 16:23:04
フォルダ単位を実行する時はFSOで
内部で作る作業ファイルとかはKILLだな

KILLは確かに好ましくないって聞いてるけど
楽なんだよな('A`)

93:デフォルトの名無しさん
07/09/04 17:25:42
>>89
WSH単体のインストーラも公開されている。

しかもWindows 98/2k以上には何らかのバージョンがインストール済みなので、
バージョンの違いに頭を抱えなくて済むならそれでいい。

94:デフォルトの名無しさん
07/09/04 17:26:21
>>91
その言い草はなんです!
あなたみたいなプログラマー(かどうかも疑わしい)こそいりません

95:デフォルトの名無しさん
07/09/04 17:26:45
>System.IO.File クラスの Delete メソッドを使用する事がお薦めのようです。
VB6じゃない

96:デフォルトの名無しさん
07/09/04 17:27:22
ごめん後のレス見てなかった

97:デフォルトの名無しさん
07/09/04 17:47:41
>>94
人の日本語にはケチをつけるのかw

98:デフォルトの名無しさん
07/09/05 12:00:52
[XP,VB6]
宜しくお願いします
エクスプローラからフォルダをVBで作成したツールにドラッグし、
ツール側で内容を読み込んでいるのですが、
ドラッグされた際に、エクスプローラよりも背面になっています。
なんとか前面に表示させたいのですが、良い方法があればお教え願えますか?


99:デフォルトの名無しさん
07/09/05 17:14:29
常にウインドウを手前に表示したいってこと?
Win32APIのSetWindowPosできたはず
VB6 SetWindowPosでぐぐればサンプルみつかる

100:デフォルトの名無しさん
07/09/05 17:41:48
>>98
ドラッグ先の自作アプリが手前にあり、エクスプローラが後ろにいる状態で
エクスプローラのファイルをドラッグ&ドロップしても、自アプリが後ろに来ちゃうって事?
それとも、一度エクスプローラをカレントにしてからと言う事?

101:デフォルトの名無しさん
07/09/05 18:18:36
普通にどこかのコントロールにSetFocusすればいいはず

102:98
07/09/06 12:32:23
返事遅れて申し訳ありません
常に前面では無く、エクスプローラから
フォルダをドラッグされて、処理する場合に前面に表示したかったのです
あと100さんのご質問の答えとしてはカレントにしてからとなります

結果として101さんのお答えで実現できました!
みなさんありがとうございました^^


103:デフォルトの名無しさん
07/09/07 10:18:00
VB2005について質問があるのですが、どのスレッドで聞けばよろしいでしょうか?
初心者です。


104:デフォルトの名無しさん
07/09/07 12:16:03
[XP、VB6]
質問があります。
現在イメージボックスを使用して画像を表示しているのですが、
画像の上に文字を表示して保存したいと考えています。
ピクチャーボックスであればすぐできると思いますが、
こちらだとボックスの大きさがコロコロ変わるので困ります。
(Stretchのようにサイズ変更されずに圧縮してくれれば良いのですが)
宜しくお願い致します。

105:デフォルトの名無しさん
07/09/07 12:42:44
イメージボックスって何?Imageコントロールの事か?

106:デフォルトの名無しさん
07/09/07 12:48:07
ここで良いよ>>103

107:104
07/09/07 12:57:22
>>105
すいません。Imageコントロールの事です^^;

108:デフォルトの名無しさん
07/09/07 19:21:04
>>107
ピクチャーボックスを使えば、すぐ出来るとの事なので
画面表示にはImageコントロールを使って
ピクチャーボックスをvisible=falseにして、文字描画と保存処理を行えばよいのでは?
pictureオブジェクトは、set picturebox.picture = image.pictureで共有できる
ただ、文字を書き込むってAPI使わんでもスグ出来たかどうかちょっと疑問だが

109:104
07/09/08 07:04:47
>>108
レスありがとうございます。
実は一度考えた方法なのですが、ピクチャーボックスの幅が自動で
大きくなってしまったり、元の画像の大きさを縮小したりできなかったので
諦めていました。
ピクチャーボックスへの文字描画は
Picture1.CurrentX = 800 'X座標
Picture1.CurrentY = 30 'Y座標
Picture1.Picture = Image1.Picture '画像取り込み
Picture1.Print "2007/09/08 06:58:14" '文字表示
とかやれば一応文字が反映されています。
あとはsavepictureかなにかやれば良いのだろうと思います。
もう一つ問題があって、現在Imageコントロールを使っていると言いましたが
写真を一枚一枚処理するのでは無く、複数枚の写真をいっきに処理
しなければなりません。なのでピクチャーボックスで一つずつ処理する方法では
実現が難しいという事もあります。(でも、できない事は無いと思います)

110:デフォルトの名無しさん
07/09/08 09:37:50
>>109
事前に処理するファイルパスを変数に入れておいてループ取り出しながら繰り返せばいいんでなくて?
絶対に複数の画像を同時に処理しなければならない理由とかあるの?

111:デフォルトの名無しさん
07/09/08 10:56:35
質問があります。

VBScriptで時刻を表示させる時に 午前10時以前でも "9:xx:xx" ではなく "09:xx:xx" と、ゼロを入れて2桁で時間を表示したいのですが、なにか表示形式指定のオプションみたいなものがあるのでしょうか?

それとも時間、分、秒と別々に取得して自前の関数で補正しないとだめでしょうか?

112:デフォルトの名無しさん
07/09/08 11:03:56
>>109
その方法で、ビットマップに文字列が保存されるかなぁと疑問だったんだが出来るならいいけど
複数枚の写真が、動画のようなもので時間的に余裕が無いということだろうか?
それともバッチ処理のように、ファイルを連続でということなら>>110が書いているような方法で良い訳だが

ちなみに時間短縮ならAPIを使って、DCを自分で作って(CreateCompatibleDCなど)
そこにimage.picture.handleを選択して(SelectObject)
文字列を書き込んで(TextOut など)
って事をすれば良い
こうするととりあえず、DCを画像ごとに生成する必要が無いのでちょっとは早くなるかも

113:デフォルトの名無しさん
07/09/08 11:15:17
>>111
VBSはformat使えないし、formatdatetimeがヘボだから
自分で関数作るのがいいかもね

114:デフォルトの名無しさん
07/09/08 11:36:04
>>113
レスどうもありがとうございます。

なるほど~そうですか。そしたらこんな感じで自分で作ってみました

今までは
MsgBox ( Time )
で実行結果 "9:12:34"だったのを、

MsgBox( Right( "0" & Hour( time ) ) & ":" & Right( "0" & Minute( time ) ) & ":" & Right( "0" & Second( time ) ) )
として、実行結果"09:12:34"になるようにしました
とりあえずこれで^^;

どうもありがとうございました

115:デフォルトの名無しさん
07/09/08 11:47:18
Right(xxx,2)では?と一応突っ込んでおくがw

116:114
07/09/08 11:57:16
あ~ 失礼しました^^;
おっしゃるとおり
MsgBox( Right( "0" & Hour( time ),2 ) & ":" & Right( "0" & Minute( time ),2 ) & ":" & Right( "0" & Second( time ),2 ) )
でした!

あとちなみに
MsgBox FormatDateTime( Time, vbShortTime ) & ":" & Right( Minute( Time ), 2 )
でもなりました

もう少し短くならないかな^^;

117:デフォルトの名無しさん
07/09/08 12:05:23
>>116
Windowsの”地域と言語のオプション”で左右されそうな希ガス

118:デフォルトの名無しさん
07/09/08 12:09:37
>>116
短くするよりも、精度上げた方がいいけどね
time関数は一度しか使わないで、戻り値を変数に入れてからの方が良いよ

119:114
07/09/08 12:13:05
>>117-118
まじですか

そしたら
Dim aTime
aTime = Time
で、
MsgBox( Right( "0" & Hour( aTime ),2 ) & ":" & Right( "0" & Minute( aTime ),2 ) & ":" & Right( "0" & Second( aTime ),2 ) )
って感じにしました

勉強になりますm(_ _)m

120:デフォルトの名無しさん
07/09/08 13:37:53
>>109
一応、ピクチャボックスに書き加えたものまで含めて保存したい場合は、
Picture1.PictureでなくてPicture1.Imageの方を保存ね。

121:デフォルトの名無しさん
07/09/08 19:03:46
VBから他の言語へ「とらば~ゆ」するのって、簡単ですか?
基本的なアルゴリズムが理解できてとOSの知識があればOKだと思うんですが。


122:デフォルトの名無しさん
07/09/08 19:15:33
>>121
問題ないんじゃない
PCの知識も必要かもしれないが

123:デフォルトの名無しさん
07/09/08 19:30:00
VBしかできない奴のほうがどうかしてる

124:デフォルトの名無しさん
07/09/08 20:56:57
>121
他の言語に移行できないヤツはVBも理解できていない

125:デフォルトの名無しさん
07/09/08 22:25:54
インターネット トランスファコントロールで
動画ファイルをダウンロードするのはどうしたらいいのですか?
text,jpg,zipなんかはできるんですけど
なぜか動画は同じ方法ではダウンロードできません
もしかしたらこのコントロールではむりですか
参考になるヒントなど教えてください。

126:デフォルトの名無しさん
07/09/08 23:00:39
動画にも色々あるんだが

127:デフォルトの名無しさん
07/09/08 23:16:28
すまん
.flvファイルです

128:デフォルトの名無しさん
07/09/08 23:39:07
>>127
flvか
ダウンロードの方法は、保存支援サイトが何をやってるか見ればわかるだろう

129:デフォルトの名無しさん
07/09/09 01:51:16
やりかたは変わらない。
DL厨対策に動画のURLの取得が一筋縄でいかないようになっているだけ。

130:デフォルトの名無しさん
07/09/09 09:17:20
なるほどこのコントロールでできるのですか
もう少しじっくりコードを見直してみます。

131:デフォルトの名無しさん
07/09/09 10:36:27
VB6からVB2005に以降したのですが、
VB6のときにあった、ディストリビューションウィザードがなくなって
セットアップディスクが作成できなくて困ってます。
別のツールかなにかで作るのでしょうか?
お勧めがあったら教えてください。

132:デフォルトの名無しさん
07/09/09 11:26:36
>>131
VSI (Visual Studio Installer)

133:132
07/09/09 11:27:41
ごめんこれはVB6だった。
VB2005は知らんです。

134:109
07/09/09 18:07:15
>>110
>>112
>>120
レスありがとうございます。
申し訳ありません。話がややこしくなってしまいました。
いっきに処理しなければならないのは忘れて下さい。
私が勘違いしていました。
おっしゃる通りバッチのような感じで処理できます。

ポイントとしては、
・現在Imageコントロールを使っているので、Imageで文字描画できないか
・Pictureボックスしか無ければ、仕方ないけど、ImageのStrechみたいな
 ボックスの大きさを固定しつつ圧縮する技はないか

以上2点です。

Pictureボックスの大きさを気にするのには理由があります。
処理する前にどの位置に日付を描画するのかを目視したいからです。
写真によっては文字の位置や色なども変えなければ見えませんので。
その為、ボックスの大きさは常に一定で、
Imageのような画像のサイズ圧縮が必要になります。

135:デフォルトの名無しさん
07/09/09 23:59:38
>>134
自分はImage嫌いなのでPictureを二つ用意する。一つは非表示で元画像(等倍)。
表示用にはStretchBltかスクロールバーで表示する。

136:134
07/09/10 10:04:06
>>135
レスありがとうございます。
基本的な事で申し訳ありませんが、
ピクチャー1のAutoSizeをTrueにすると、
写真が大きい場合、ピクチャー1が画面上からはみ出るのですが
これをピクチャー2にコピーしてもうまくいきません。
また、AutoSizeをFalseにすると、写真が小さく表示され、やはり無理です。
どのように対処されていますか?

137:デフォルトの名無しさん
07/09/10 10:15:53
ステータスバーのSimpleTextの文字色、変える方法ってある?


138:デフォルトの名無しさん
07/09/11 01:57:56
>>136
元画像AutoSize=True
手法1(Stretch):StretchBltを使って表示画像に転送
手法2(ScrollBar):表示位置(原点)を保持しておいてスクロールバーを移動させるたびにBitBlt
手法1の場合完結しているが小さい場合に見づらい。
手法2の場合どんなサイズでも擬似的に表示できる。その代わり制御が少し面倒。

他にも色々あるだろうけど、原寸そのままに表示できない場合は、小さくするか
一部だけ表示させるしかないでしょ。

139:デフォルトの名無しさん
07/09/11 21:28:45
VB6で、WinSockコントロールを使ってのソケット通信について質問します

フォームにWinSockコントロールを複数貼り付けたり
Win32APIのWinSock関係を直接操作したりすることなく
複数クライアントとの同時通信などと言うものは可能なのでしょうか?

WinSockコントロールはひとつのインスタンスでひとつのコネクションしかもてなかったと思うのですが・・・
いかがなものでしょうか

140:デフォルトの名無しさん
07/09/11 21:31:08
>139
でけます。
WinSockコントロールを配列にして扱うサンプルがMSDNにあるでよ

141:デフォルトの名無しさん
07/09/11 21:56:09
>>140
ありがとうございます
MSDN漁って見つけることができました。

142:136
07/09/12 00:43:16
>>138
色々と情報を頂いて、頑張ってはみたのですが、
私では実現できないようですので、残念ですが今回は諦めます。
お時間頂いてありがとうございました。

143:デフォルトの名無しさん
07/09/12 23:11:43
今VBで2chに書き込むプログラム作ろうとしているのですが、どうにも駄目です。
winsockを使用して作ってます。
スレの取得はできるようになったのですが、書き込みの方法がわかりません。
特にクッキーの設定の部分がわかりません。

助けてください。

144:デフォルトの名無しさん
07/09/12 23:42:59
>>143
迷惑だからやめてください

145:デフォルトの名無しさん
07/09/13 04:54:56
>>143
HTTPべんきょうしてください

146:デフォルトの名無しさん
07/09/13 09:13:32
>>143
本当にやる気があるならmonazillaで調べて自分で解決してください
俺はそこで調べて誰にも聞かずにdat取得、スレ書き込みまでできました(スレたてはテストの都合上作成も試みていない)

147:デフォルトの名無しさん
07/09/14 20:20:32
Dim a As New WshShell
a.Run "lame.exe -b 192"

みたいな感じでコマンドプロンプトで実行させるプログラム自体は起動できるんですが、
実行中はコマンドプロンプトに制御が移ってしまうのが嫌で、
VB側で実行中のパラメータとかを直接受け取ることって何の関数を使えば出来ますか?
コマンドライン型のアプリケーションを完全にこっちで制御したいんです

148:デフォルトの名無しさん
07/09/14 20:35:33
色々ぐぐってみたら何となく分かりました。
URLリンク(support.microsoft.com)
コンソールウィンドウを表示させればいいのかな?でもこれだと表示させるだけで
パラメータも受け取れないし・・・WshShell使うのと変わらないですね。。

149:デフォルトの名無しさん
07/09/15 12:03:16
>>147
自作プログラムなら幾らかやりようがあるけど、既製品はまず無理。
作るときは製品のドキュメントをよく読んでいくしかない。

150:デフォルトの名無しさん
07/09/15 12:39:15
>>147
プログラムが終了するまで自プログラムが停止してしまうということだけなら、
3つ目の引数にFalseを指定すれば解消できる。

今度は終了を検地できないけどね。

a.Run "lame.exe -b 192", 1, False

URLリンク(msdn.microsoft.com)

151:デフォルトの名無しさん
07/09/15 23:35:54
>>150
それなら出来るんですけど、自分のしたいことはコマンドライン型のEXEを、
実行中にパラメータを取得したいんです。具体的にはLameなら実行中のパーセンテージを
こっち側のプログラムで取得して、自作のフォームにプログレスバーとして表示したり、完全に制御したいんです。

>>149
既製品は無理なんですか?それはVBの限界ってことでですかね?
例えば変換君のフロントエンドなんかは、ffmpegのパラメータを実行中に取得してるみたいで・・・同じことをしたいんですが、
VBではどんなAPIを使用しても不可能ですか?

152:デフォルトの名無しさん
07/09/16 01:21:56
>>151
そりゃきっとVBで可能だとしても、やるとかえって大変ですよ。
他の開発言語・ツールを使った方がいいと思います。
え?なにがいいかって?馬鹿野郎よくググれ。

153:デフォルトの名無しさん
07/09/16 11:17:54
LAMEの画面出力は、プログラムから解析されるような出来になっていないので、
そういう用途ならLAME_ENC.DLLか何かを使ったほうがいいと思う。
VBからどれくらい扱えるかはわからないけど。

154:デフォルトの名無しさん
07/09/16 14:38:44
フォルダにあるテキストのテキスト名をリストボックスに表示して、
テキスト名を選択したときにテキストの内容をテキストボックスに
標示させたいのですが、パスがわかりません。


155:デフォルトの名無しさん
07/09/16 15:12:19
>>154
何をしたくて何が分からないのか分かりません

156:デフォルトの名無しさん
07/09/16 15:21:43
>>154
つ「App.Path」
つ「CommonDialogBox」

157:デフォルトの名無しさん
07/09/16 15:49:28
>>155
>>156
回答ありがとうございます。
デスクトップ上にあるフォルダの中のファイルをListViewで表示してます。
ListViewで表示しているファイル名をStreamReaderを使用してテキストの内容を
ラベルに表示させたいです。
ファイル名を時間にしていますので、ファイル名のパスを指定できません。




158:デフォルトの名無しさん
07/09/16 16:04:09
>157
> ファイル名を時間にしていますので、ファイル名のパスを指定できません。
???

159:デフォルトの名無しさん
07/09/16 16:18:44
ゆとりは理由にならない根拠で結果を導き出すから困る
取り付く島がないじゃないか

160:デフォルトの名無しさん
07/09/16 16:38:23
パス名を現在の時間にしており、変更しているからです。

161:デフォルトの名無しさん
07/09/16 16:55:20
変更しているのは誰?
自身のプログラム内なら、ファイル名生成のルーチンから
ファイル名を横取って来ればいい。

162:デフォルトの名無しさん
07/09/16 17:03:47
VB2005を使用してます。
複数あるプログラムをボタンをクリックした時にCheckboxにチェックが
あるときは起動してチェックがないときは起動しないプログラムを
作成したいのですが、方法とコードなどありましたら、ご教授ください。

163:デフォルトの名無しさん
07/09/16 17:07:24
>>161
回答ありがとうございます。
また、ListViewで選択しているファイルののパスを指定する場合の
方法はありますでしょうか?

164:デフォルトの名無しさん
07/09/16 20:26:50
>>162
想像できない

165:デフォルトの名無しさん
07/09/16 21:33:42
PINGを定期的に行う、プログラムを作成したいのですが、
いいサンプルプログラムとかありますか?

166:デフォルトの名無しさん
07/09/17 01:05:24
連休中の宿題か?
ガキでなければキチガイばっかりだなw

167:デフォルトの名無しさん
07/09/17 08:58:54
>>163
ListViewにファイル名を入れる時はどうやってそのファイル名を取得したの?
俺がListViewにファイル名を入れる時は、そのファイル群が置いてあるフォルダを指定し、
検索してフルパスを取得し、ファイル名だけ抜き出して表示させるが
この過程においてファイルのパスが分からないという問題は起きないわけだが
どう考えてパスが分からないと導き出した?

これで意味が分からないならもう一度勉強し直した方がいいよ

168:デフォルトの名無しさん
07/09/17 10:47:43
ググったりしましたがわからなかったので質問です。
私はDEL使いなんですが、会社で前任者が作ったVBソフトのメンテをやることになりました。
内容はimageコントロールの画像の表示方法に関することです。
なにしろ、VBはVBA程度の知識しかないので

カードデータベース風の情報管理ソフトです。
フォームにimageコントロール(以下イメコン)があります。
利用者は自分で撮影したデジカメ写真をフォームに登録して表示させることができます。
しかし、stretch=trueにするとイメコンのサイズに変形されるしfalseにすると一部分しか表示されません。
そこで、フォーム上のイメコンのサイズで収まるようにアスペ比を一定に縮小させる、または、元サイズのままスクロールできるようにしたいんですが、
どうすればいいんですか?

それと、imageコントロールとpictureコントロールの違いって何ですか?

169:デフォルトの名無しさん
07/09/17 11:40:31
>>168
アスペクト比一定なら、元画像の縦横サイズとImageの縦横それぞれの倍率を取って倍率の小さい方で
縦横同じ倍率で縮小すればいい。
スクロールする場合は表示位置(x,y)を保持して、スクロールバーの値が変わったときに表示サイズの
縦横分だけ抜き出して表示。スクロールバーの値の範囲は0から元画像の幅-表示サイズの幅
>imageコントロールとpictureコントロールの違い
これくらいは自分で調べてくれ

170:デフォルトの名無しさん
07/09/17 13:26:51
>>168
IPictureDispに画像を保持してRenderメソッドでPicturBoxに描く。

171:デフォルトの名無しさん
07/09/20 10:17:30
質問です。[VB6,WindowsXP]

ボタンを押して始まる処理の中で、DoEventとSleepを使ってかなり長いループを作って
これを実行している最中に右上の[×]で終了させるとボタンの処理が遠い世界に旅立つので
フォームのQueryUnloadで「End」を書いて終了させているのだけど、何か間違っている気がしてならないです。

これで問題はないものでしょか?


172:デフォルトの名無しさん
07/09/20 10:37:31
>>171
End命令は即座にVBの実行を停止する命令で、FormのunloadやTerminate、
オブジェクトのTerminateイベントの処理をすべてバイパスする。
ActieX(COM)のアンロード処理も省かれるので、
アウトプロセスサーバーを使ってる場合にActiveX.EXEのプロセスが終了しない。
これらのことが問題にならないなら使っていいよ。

173:デフォルトの名無しさん
07/09/20 11:33:16
>>172
ありがとうございます~

えーと、やっているのはAPIによるPCIボードのアクセスとシリアルの入出力。
シリアルは閉じるとして、APIのほうはClose命令があるのでソレを発行しておけばよいかな…

あと万全を期すため?
EndをQueryUnloadからUnload最後に移動かしら。


174:デフォルトの名無しさん
07/09/20 13:12:48
「これからこのプログラムは強制終了するお」っていうのをフラグ立てて、
遠い世界へ旅立つループ処理に教えてあげてループ処理を抜けさせるようにすれば?

175:デフォルトの名無しさん
07/09/20 13:36:56
>>174
その時は遠い世界へ旅立つループ処理が終わるのを待ってあげないとダメなので本末転倒なんだぜ?

176:デフォルトの名無しさん
07/09/20 14:25:03
>>173
自分の場合メッセージボックスを出してループだけ抜けさせて、Unloadイベントをキャンセル。
改めてユーザー側にもう一度終了させるようにした。
下手に一括でやろうとしてプロセスが残るより安心。

177:デフォルトの名無しさん
07/09/20 15:51:33
>>174-176
あー。ループのほうでトラップ(?)するというのはスッポリ抜けてたす。

ループでフラグ立て→[×]→フラグでUnloadキャンセル→ループ内で「フラグ消し→Unload Me→Exit sub」
とやってみた。

それっぽくなった。
こっちのほうが幸せっぽいかな。

178:デフォルトの名無しさん
07/09/20 19:00:13
遠い世界に旅だつ、とかなんの意味だかさっぱり分からん。
ダメな奴は本当なにやらしてもダメだな。人に通じる文章すらちゃんと書けないのか。

ループでDoEventsなんて、VBプログラマが嘲笑されるときのネタの定型だぞw
しかもなんでSleepかますの?
Sleepの意味分かってるのかねw

179:デフォルトの名無しさん
07/09/20 19:03:55
は?DoEventsはループの中でしかつかわねーしアホか

180:デフォルトの名無しさん
07/09/21 00:35:49
しかし>>178さんは昔からずーっとこのスレでがんばってるなあ。
久しぶりにのぞいてみたけど健在で驚いたよ。

181:デフォルトの名無しさん
07/09/21 09:34:37
>>169
ありがとう。

画像を定比で縮小することはできた。
だけど、スクロールバーで足踏み。

スクロールバーを動かすと確かに図形も動くけど、元の画像がそのまま移動するだけ。
つまり画像を左にスクロールすると、右側には、今まで見えていなかった画像が現れるのではなく、ただのブランクになる

もうわけわからん~

182:デフォルトの名無しさん
07/09/21 11:13:42
デバイスの安定待ちとかの十数msもタイマーか何かに逃げないといけないものなのか?

183:デフォルトの名無しさん
07/09/21 11:41:31
MsgWaitForMultipleObjectsは使うがSleepは使わないな

184:169
07/09/21 12:11:18
>>181
手抜き説明。書き殴りだからあっているかどうか不明

[Form1]
'元画像をPicture1に表示、表示用画像にPicture2を用意
'簡単のためScaleModeはPixelで統一
'スクロールバーの値を利用する
Private Sub HScroll1_Change()
'HScroll1の値の範囲は0からPicture1.Width-Picture2.Width
Bitblt Picture2.hdc,0,0,Picture2.Width,Picture2.Height, _
    Picture1.hdc,HScroll1.Value,VScroll1.Value, _
    vbSrcCopy
End Sub

Private Sub VScroll1_Change()
'VScroll1の値の範囲は0からPicture1.Height-Picture2.Height
Bitblt Picture2.hdc,0,0,Picture2.Width,Picture2.Height, _
    Picture1.hdc,HScroll1.Value,VScroll1.Value, _
    vbSrcCopy
End Sub
元画像と表示画像、スクロールバーの値について適当な絵と値を書いて考えてみれ
これでカネ稼ぐんだろうから、少しは苦労しなよ。こんなのは基礎だぞ~

185:デフォルトの名無しさん
07/09/21 13:29:26
VB6.0でFarPoint SPREAD 3.0を使ってプログラムしています

SpreadPreviewを貼り付けたフォームでKeyPreviewをTrueにして
フォームのKeyDownイベントをトラップしていると
SpreadPreviewにフォーカスが有る時に
一度しか押していないキーのイベントが2度発生してしまいます

この症状の解決方法などご存知の方はいらっしゃいませんでしょうか

186:デフォルトの名無しさん
07/09/21 13:59:43
>>185
そういう質問はメーカーに問い合わせるのが先だ

187:デフォルトの名無しさん
07/09/21 14:12:24
KeyDownとKeyUpが走っちゃうって話?

188:185
07/09/21 15:01:14
>>186
確かに・・・orz

>>187
KeyDownしかプロシージャ追加して無いんで、KeyUpは関係ないと思いたいんですが・・・

189:デフォルトの名無しさん
07/09/22 01:20:02
>>184

丁寧にすまん。 じっくり勉強させてもらうわ。

だけど、

> これでカネ稼ぐんだろうから、少しは苦労しなよ。こんなのは基礎だぞ~

いや、だから、俺はdel使いであってVBなんて知らないの。
ただ前任者の尻ぬぐいをしてるだけだって。


190:184
07/09/22 17:31:37
>>189
Bitbltの変数足りないかも分からんのでヘルプ見直しておくれ。すまん
>前任者の尻ぬぐいをしてるだけだって
よーく分かるwだが、調べれば結構載っているからな。がんばり~

191:デフォルトの名無しさん
07/09/22 23:47:04

>いや、だから、俺はdel使いであってVBなんて知らないの。
>ただ前任者の尻ぬぐいをしてるだけだって。

回答になってねぇよwwwww
DEL使いとかじゃなくって社会人かどうか疑いたくなるなwwww

192:デフォルトの名無しさん
07/09/23 01:08:33
>>191
だよなwwwww
俺もお前のこと疑うぜwwwwwwwwwうぇwww

193:デフォルトの名無しさん
07/09/23 15:23:34
>>192
だよなwwwww
俺もお前のこと疑うぜwwwwwwwwwうぇwww

194:189
07/09/23 21:59:28
>>191
> 回答になってねぇよwwwww
> DEL使いとかじゃなくって社会人かどうか疑いたくなるなwwww

すれちになるからあまり深入りしたくないが、ニートのおまえには言われたくねーよ。
うちは別にソフトベンダーでも何でもなくて、業務用アプリを担当部署ごとに作ってるだけ。

仕様書も何もなく放置されていたバグだらけのソフトを、君もプログラミングできるなら何とかしてくれ
っていわれてメンテする羽目になっただけだ。


195:デフォルトの名無しさん
07/09/23 22:07:22
>>194
「del使い」じゃなくて「DEL使い」って逝っちゃってるんだから,見逃してやろうぜ・・・

196:デフォルトの名無しさん
07/09/23 22:17:24
const int * a;
const * int a;
* const int a;
int * const a;
* int const a;
違いを教えて下さい

197:デフォルトの名無しさん
07/09/23 22:24:28
その前にVBとcの違いを知るべきではないだろうか

198:デフォルトの名無しさん
07/09/23 22:25:27
>196
書き方が違うだけで全て同じものです

199:デフォルトの名無しさん
07/09/23 23:10:46
>>198

ありがとうございました。
なぞが解けました

200:デフォルトの名無しさん
07/09/23 23:38:48
cdeclプログラム(BSD用バイナリ配布)をみれ

201:デフォルトの名無しさん
07/09/24 00:34:50
>>196
もしCのことならここ読め。
URLリンク(kmaebashi.com)

202:デフォルトの名無しさん
07/09/24 01:26:56
つうか
んっとにカスばっかりだな
お前らのうちどんだけが本当のPGとかSEなんだよw


203:デフォルトの名無しさん
07/09/24 01:28:12
だってVBスレだよ

204:デフォルトの名無しさん
07/09/24 09:37:17
ネタ質問には全力ボケで返す、基本だろ?空気嫁よw

205:デフォルトの名無しさん
07/09/24 17:42:14
VB5.0でフォルダ名の変更ってどうやってやるのでしょうか??
フォルダ名をリネームするプログラムを作りたいんです
ファイル名の変更は出来たんだけど・・・
どなたか教えてください

206:デフォルトの名無しさん
07/09/24 18:03:42
FilesystemObjectつかえばいいんじゃね?

207:デフォルトの名無しさん
07/09/24 19:41:58
>>205
nameステートメント使えばいいんでね?

208:デフォルトの名無しさん
07/09/24 21:20:42
イントラネット内に接続されているコンピュータのIPアドレスを
取得したいのですが可能でしょうか?
iphlpapi.dllを使用すれば可能とのことだったのですがコードが
分かりません。



209:デフォルトの名無しさん
07/09/24 23:50:22
使用環境はExcel VBAなんですが、Excelのスレだとスレ違いになるっぽいのでこちらに質問します。
フォルダパスの文字列の"開始"という文字を"完了"に置き換えたいのですが

現在はパス名をセルに一度書き込んでから
エクセルのReplace関数でセルの文字を置き換え、それをコピー先のパス名として変数に代入する
みたいな感じでやってます。
コードはこんな感じです。

Cells(1, 1).Value = myStDir
Cells(1, 1).Replace What:="完了", Replacement:="開始"
myEnDir = Cells(1, 1).Value
myFso.CopyFolder myEnDir, myStDir, True

これでも動く事は動くんですが、VB上で変数の文字列の一部を置換する事はできるんでしょうか。

210:デフォルトの名無しさん
07/09/25 00:02:42
ヘルプ見ろよ。
VBの文字列関数なんて数が知れてるじゃないか

211:デフォルトの名無しさん
07/09/25 00:20:43
できました・・・・
myEnDir = Replace(myStDir, "完了", "開始")
何かReplaceはVBで使えないって思い込んでました・・申し訳ない・・

212:デフォルトの名無しさん
07/09/25 01:33:11
>>208
どんな感じのネットワークかわからんから,正直何も言えない

まあpingが通るなら単純にネットワーク内に存在する可能性のあるのIPアドレスにpingを送ってみればいいかもな

213:デフォルトの名無しさん
07/09/25 13:20:33
VB6.0の本が売ってません。

214:デフォルトの名無しさん
07/09/25 13:38:34
つブックオフオンライン

215:デフォルトの名無しさん
07/09/25 15:16:45
>>214
いいのがあるか探してみるよ。

216:デフォルトの名無しさん
07/09/25 17:07:49
PCサロン板でこちらを紹介していただいてやってきました。

InputMan7.0を購入して、今まで使用していたVer6.5から7.0に移そうと移
行ツールを試してみたのですが、できるコントロールとできないコントロ
ールにわかれてしまいました。
BOC社のサイトで調べてみるとTab上にあるコントロールは認識しないよう
なFAQを見つける事ができ、最新版をDLすれば解決するとありました。
早速DLして再度移行ツールを実行してみたのですが、やはりエラーになり
思うような結果が得られませんでした。
この他に、上手く移行できたものでも勝手にフォントサイズが変わってし
まう(小さくなる)という現象がおきてしまいました。

何か原因をご存知の方がいましたら是非教えてください。
OSはVISTAでVBは6.0です。

217:デフォルトの名無しさん
07/09/25 17:15:16
BOC社に問い合わせるのが先

218:デフォルトの名無しさん
07/09/25 18:53:46
> OSはVISTAでVBは6.0です。

219:デフォルトの名無しさん
07/09/25 19:03:53
>>218
言いたい事はわかるけど気になったからBCC社のHP見てきた

>[必要システム]
>Visual Basic 6.0日本語版(Windows 95/98/Me/NT 4.0/2000/XP/Server 2003/Vista)

一応Vista対応謳ってるから>>217でFAだな。

220:デフォルトの名無しさん
07/09/26 16:32:19
VB6/ADODBのしっかりしたリファレンスのサイトか本ありませんか?

221:デフォルトの名無しさん
07/09/26 16:37:46
ソース中にUnicode文字列リテラルを入れるにはどう書けばいいんでしょうか?
IDEのテキストエディタにU+9B73などをコピペすると化けてしまったんですが…

222:デフォルトの名無しさん
07/09/26 19:00:44
>>221
VBってコンパイラもエディタもS-JISしか対応してないんじゃないの?
むしろそんなことができたら怖いと思うがw

223:デフォルトの名無しさん
07/09/26 20:11:35
>>220
MSDN
URLリンク(msdn.microsoft.com)

224:デフォルトの名無しさん
07/09/27 00:24:15
>>223
MSDNって読みづらくないですか?
でも、なんとか頑張って読んでみようと思います。
ありがとうございました。

225:デフォルトの名無しさん
07/09/27 01:41:48
>>224
辞書引くのって難しくないですか?

まで読んだ

226:デフォルトの名無しさん
07/09/27 10:00:11
リファレンスとして使いにくいと思うのは少数派?

227:デフォルトの名無しさん
07/09/27 10:56:28
>220
技術評論社の本
URLリンク(www.gihyo.co.jp)
VBの言語仕様をしっかり解説してるのがいいと思う。
ADODBについては微妙だけど。

買っちゃいけないのは、いわゆるHowTo本。
サンプルコードがいっぱい載ってるような奴ばかり読んでると、
コピペしかできないなんちゃってプログラマになりやすい。


228:デフォルトの名無しさん
07/09/27 12:40:56
>>224
なんだ入門書みたいなものが欲しかったのか。
URLリンク(www.microsoft.com)
これの「開発編 No.3 ADO 2.6 入門 」どうぞ。

229:デフォルトの名無しさん
07/09/27 15:41:03
すみません。
ちょっとお聞きします。
任意の期間を設定して、その期間内はForm1へ
期間外はForm2へ
としたいのですが、どうすればいいのでしょうか?

230:デフォルトの名無しさん
07/09/27 15:50:54
何を言ってるんだお前は

231:デフォルトの名無しさん
07/09/27 16:56:03
ifかSelectでダメなのか?


???

232:229
07/09/27 16:57:07
本当にすみません。
もうちょっと勉強して出直します><

233:デフォルトの名無しさん
07/09/27 18:15:59
VB6には連想配列はないですか?

234:デフォルトの名無しさん
07/09/27 18:19:27
Collection使えばいいんじゃね?

235:デフォルトの名無しさん
07/09/27 18:24:00
Dictionaryでもいいんじゃね?

236:デフォルトの名無しさん
07/09/28 10:47:18
Dictionary は Microsoft Scripting Runtime を参照設定すると
使えますぜ?

237:デフォルトの名無しさん
07/09/28 11:06:15
mscorlib.dllを参照設定するとHashtableが使えますぜ?

238:デフォルトの名無しさん
07/09/28 11:20:04
いやいや専用クラスをイチから自作が最強っしょ?

239:デフォルトの名無しさん
07/09/28 11:41:17
そこでVB8のとうじょうです

240:デフォルトの名無しさん
07/09/28 14:19:07
Dim test As New Collection
test.Add "テスト","test"
For Each test2 In test
Debug.Print test2
Next

この時に、"テスト"は取れますが"test"を取得する方法がわかりません。

241:デフォルトの名無しさん
07/09/28 14:48:00
CollectionからKeyを取得する方法はありません

242:デフォルトの名無しさん
07/09/28 19:20:59
それではRecordsetを使いましょうか?

243:デフォルトの名無しさん
07/09/28 23:24:36
外部に依存してもいいならScripting.Dictionaryとかでおk
イヤならCollection2つ使って自作

244:デフォルトの名無しさん
07/09/29 18:00:06
[VB6 WindowsXP]

VB6&CAPICOMについて質問させてください。

VB6からCAPICOMを利用して、
ファイルの復号化を行おうとしています。

アルゴリズムはAESで、
暗号化は別の言語で施されており、
暗号化時に使用した
鍵とベクトルの情報はわかっている状態です。

MSDNや
URLリンク(www.netacademia.net)
こちらのサイトのサンプルを見ながら
復号化ロジックをVB6で実装しようとしているのですが、
なかなかうまくいきません。

サンプルを見た限りでは
鍵の設定は SetSecretメソッドで行っているようなのですが、
ベクトルの設定はどこで行えばよいのでしょうか。

何卒ご教授のほどよろしくお願いいたします。



245:baka ◆Jgn6bakat.
07/09/29 19:02:56
1



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch