[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 11/28 15:34 / Filesize : 67 KB / Number-of Response : 246
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

VBプログラマ質問スレ(6.0以前) Part53



1 名前:デフォルトの名無しさん mailto:sage [2007/08/21(火) 12:40:16 ]
ここは 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/

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


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

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

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

20 名前:18 [2007/08/24(金) 21:06:25 ]
>>19
レスありがとうございます
そうですか。解決法は無いのですか。。。><

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

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

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

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

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


23 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 21:11:44 ]
あれ、なんか書き込んでる最中に解決してたかw

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

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

26 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 22:13:31 ]
こいつの言い方、すごくムカつくな

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



28 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 02:30:00 ]
藻前等前スレ埋めれ。
まだ952だぞ。

29 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 15:45:07 ]
>>27
手っ取り早いのはCSV形式で保存させてしまうこと。
後何か聞きたいことがあるなら前スレ使って。
pc11.2ch.net/test/read.cgi/tech/1179563617/

30 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 18:27:58 ]
>>27
ほい
www.bcap.co.jp/hanafusa/VBHLP/excel1.htm

31 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 22:26:03 ]
>>31
ほんとにVB6か?

33 名前:デフォルトの名無しさん [2007/08/25(土) 22:33:07 ]
>>32
え〜と間違えましたVB2005です。すみません

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

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




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

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



38 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 01:18:07 ]
>>29-30
ありがとうございます

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

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

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

41 名前:デフォルトの名無しさん [2007/08/26(日) 02:56:17 ]
>>35を誰かお願いします;;

42 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 03:43:38 ]
>>41
つ「GetObject」 「gif フォーマット」

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

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

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

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

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



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

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

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

51 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 23:29:24 ]
>>49
つ「Moveメソッド」「Zorder」


52 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 23:30:39 ]
>>50
つ「StretchBlt」

53 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 23:31:52 ]
>>49
win32APIのSetWindowsPosを使う

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

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

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


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

56 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 16:05:06 ]
まあまあ
VBを愛する者同士仲良くしようZE☆

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




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

59 名前:デフォルトの名無しさん mailto:sage [2007/08/30(木) 23:44:58 ]
>>58
はぁ?何が言いたいんですか?

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

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

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

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

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

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

64 名前:デフォルトの名無しさん mailto:sage [2007/08/31(金) 11:29:52 ]
間違えた、SetWindowLong

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

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

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


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


66 名前:デフォルトの名無しさん mailto:sage [2007/09/01(土) 17:43:48 ]
>>65
だから、とりあえずMSDNオンライン見れと:
msdn2.microsoft.com/en-us/library/ms633591.aspx

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

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

宜しくお願い致します。



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

69 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:24:38 ]
>>67
もしくはForm_Activeで出来るかな。試してないのでよろしく

70 名前:デフォルトの名無しさん mailto:sage [2007/09/02(日) 00:41:07 ]
form.show
form.setfocus

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

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

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

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

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


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

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

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



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

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

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

81 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 02:51:33 ]
>>78
今の今まで聴いたことが無い
ソース見せてくれ

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

83 名前:78 mailto:sage [2007/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) mailto:sage [2007/09/04(火) 09:21:32 ]
すいません間違えました。
>>82さんの言うFSOでした。

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




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

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

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



88 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 12:21:13 ]
ライセンス上問題だと思いますが。。

89 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 13:00:48 ]
FSOは再配布出来ないのか
じゃあ、IExx必須とやるしかないな

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

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

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

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

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

93 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 17:25:42 ]
>>89
WSH単体のインストーラも公開されている。

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

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

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

96 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 17:27:22 ]
ごめん後のレス見てなかった

97 名前:デフォルトの名無しさん mailto:sage [2007/09/04(火) 17:47:41 ]
>>94
人の日本語にはケチをつけるのかw



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


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

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

101 名前:デフォルトの名無しさん mailto:sage [2007/09/05(水) 18:18:36 ]
普通にどこかのコントロールにSetFocusすればいいはず

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

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


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


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

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

106 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 12:48:07 ]
ここで良いよ>>103

107 名前:104 [2007/09/07(金) 12:57:22 ]
>>105
すいません。Imageコントロールの事です^^;



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

109 名前:104 [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 09:37:50 ]
>>109
事前に処理するファイルパスを変数に入れておいてループ取り出しながら繰り返せばいいんでなくて?
絶対に複数の画像を同時に処理しなければならない理由とかあるの?

111 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 10:56:35 ]
質問があります。

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

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

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

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

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

114 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 11:47:18 ]
Right(xxx,2)では?と一応突っ込んでおくがw

116 名前:114 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 12:05:23 ]
>>116
Windowsの”地域と言語のオプション”で左右されそうな希ガス



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

119 名前:114 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 13:37:53 ]
>>109
一応、ピクチャボックスに書き加えたものまで含めて保存したい場合は、
Picture1.PictureでなくてPicture1.Imageの方を保存ね。

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


122 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 19:15:33 ]
>>121
問題ないんじゃない
PCの知識も必要かもしれないが

123 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 19:30:00 ]
VBしかできない奴のほうがどうかしてる

124 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 20:56:57 ]
>121
他の言語に移行できないヤツはVBも理解できていない

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

126 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:00:39 ]
動画にも色々あるんだが

127 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:16:28 ]
すまん
.flvファイルです



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

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

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

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

132 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 11:26:36 ]
>>131
VSI (Visual Studio Installer)

133 名前:132 mailto:sage [2007/09/09(日) 11:27:41 ]
ごめんこれはVB6だった。
VB2005は知らんです。

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

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

以上2点です。

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

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

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

137 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 10:15:53 ]
ステータスバーのSimpleTextの文字色、変える方法ってある?




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

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

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

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

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

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

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

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

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

助けてください。

144 名前:デフォルトの名無しさん mailto:sage [2007/09/12(水) 23:42:59 ]
>>143
迷惑だからやめてください

145 名前:デフォルトの名無しさん mailto:sage [2007/09/13(木) 04:54:56 ]
>>143
HTTPべんきょうしてください

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

147 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 20:20:32 ]
Dim a As New WshShell
a.Run "lame.exe -b 192"

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



148 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 20:35:33 ]
色々ぐぐってみたら何となく分かりました。
support.microsoft.com/default.aspx?scid=http://www.microsoft.com/JAPAN/support/kb/articles/JP171/6/54.asp
コンソールウィンドウを表示させればいいのかな?でもこれだと表示させるだけで
パラメータも受け取れないし・・・WshShell使うのと変わらないですね。。

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

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

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

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

msdn.microsoft.com/library/ja/script56/html/wsmthrun.asp

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

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

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

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

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


155 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 15:12:19 ]
>>154
何をしたくて何が分からないのか分かりません

156 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 15:21:43 ]
>>154
つ「App.Path」
つ「CommonDialogBox」

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






158 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 16:04:09 ]
>157
> ファイル名を時間にしていますので、ファイル名のパスを指定できません。
???

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

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

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

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

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

164 名前:デフォルトの名無しさん mailto:sage [2007/09/16(日) 20:26:50 ]
>>162
想像できない

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

166 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 01:05:24 ]
連休中の宿題か?
ガキでなければキチガイばっかりだなw

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

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



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

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

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

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

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

171 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 10:17:30 ]
質問です。[VB6,WindowsXP]

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

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


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

173 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 11:33:16 ]
>>172
ありがとうございます〜

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

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


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

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

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

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

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

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



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

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

179 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 19:03:55 ]
は?DoEventsはループの中でしかつかわねーしアホか

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

181 名前:デフォルトの名無しさん [2007/09/21(金) 09:34:37 ]
>>169
ありがとう。

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

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

もうわけわからん〜

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

183 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 11:41:31 ]
MsgWaitForMultipleObjectsは使うがSleepは使わないな

184 名前:169 mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 13:29:26 ]
VB6.0でFarPoint SPREAD 3.0を使ってプログラムしています

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

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

186 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 13:59:43 ]
>>185
そういう質問はメーカーに問い合わせるのが先だ

187 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 14:12:24 ]
KeyDownとKeyUpが走っちゃうって話?



188 名前:185 mailto:sage [2007/09/21(金) 15:01:14 ]
>>186
確かに・・・orz

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

189 名前:デフォルトの名無しさん [2007/09/22(土) 01:20:02 ]
>>184

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

だけど、

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

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


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

191 名前:デフォルトの名無しさん [2007/09/22(土) 23:47:04 ]

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

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

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

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

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

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

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


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

196 名前:デフォルトの名無しさん [2007/09/23(日) 22:17:24 ]
const int * a;
const * int a;
* const int a;
int * const a;
* int const a;
違いを教えて下さい

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



198 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 22:25:27 ]
>196
書き方が違うだけで全て同じものです

199 名前:デフォルトの名無しさん [2007/09/23(日) 23:10:46 ]
>>198

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

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

201 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:34:50 ]
>>196
もしCのことならここ読め。
ttp://kmaebashi.com/programmer/pointer.html

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


203 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:28:12 ]
だってVBスレだよ

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

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

206 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:03:42 ]
FilesystemObjectつかえばいいんじゃね?

207 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:41:58 ]
>>205
nameステートメント使えばいいんでね?



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



209 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 00:02:42 ]
ヘルプ見ろよ。
VBの文字列関数なんて数が知れてるじゃないか

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

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

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

213 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:20:33 ]
VB6.0の本が売ってません。

214 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 13:38:34 ]
つブックオフオンライン

215 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 15:16:45 ]
>>214
いいのがあるか探してみるよ。

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

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

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

217 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 17:15:16 ]
BOC社に問い合わせるのが先



218 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 18:53:46 ]
> OSはVISTAでVBは6.0です。

219 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 16:32:19 ]
VB6/ADODBのしっかりしたリファレンスのサイトか本ありませんか?

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

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

223 名前:デフォルトの名無しさん mailto:sage [2007/09/26(水) 20:11:35 ]
>>220
MSDN
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpado260/htm/mdmscstreamspersistence.asp

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

225 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 01:41:48 ]
>>224
辞書引くのって難しくないですか?

まで読んだ

226 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 10:00:11 ]
リファレンスとして使いにくいと思うのは少数派?

227 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 10:56:28 ]
>220
技術評論社の本
www.gihyo.co.jp/books/syoseki.php/4-7741-0859-6
VBの言語仕様をしっかり解説してるのがいいと思う。
ADODBについては微妙だけど。

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




228 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 12:40:56 ]
>>224
なんだ入門書みたいなものが欲しかったのか。
www.microsoft.com/japan/technet/prodtechnol/sql/2000/evaluate/exercises.mspx
これの「開発編 No.3 ADO 2.6 入門 」どうぞ。

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

230 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 15:50:54 ]
何を言ってるんだお前は

231 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 16:56:03 ]
ifかSelectでダメなのか?


???

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

233 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 18:15:59 ]
VB6には連想配列はないですか?

234 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 18:19:27 ]
Collection使えばいいんじゃね?

235 名前:デフォルトの名無しさん mailto:sage [2007/09/27(木) 18:24:00 ]
Dictionaryでもいいんじゃね?

236 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 10:47:18 ]
Dictionary は Microsoft Scripting Runtime を参照設定すると
使えますぜ?

237 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 11:06:15 ]
mscorlib.dllを参照設定するとHashtableが使えますぜ?



238 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 11:20:04 ]
いやいや専用クラスをイチから自作が最強っしょ?

239 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 11:41:17 ]
そこでVB8のとうじょうです

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

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

241 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 14:48:00 ]
CollectionからKeyを取得する方法はありません

242 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 19:20:59 ]
それではRecordsetを使いましょうか?

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

244 名前:デフォルトの名無しさん [2007/09/29(土) 18:00:06 ]
[VB6 WindowsXP]

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

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

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

MSDNや
ttps://www.netacademia.net/tudastar/default.aspx?upid=2781
こちらのサイトのサンプルを見ながら
復号化ロジックをVB6で実装しようとしているのですが、
なかなかうまくいきません。

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

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



245 名前:baka ◆Jgn6bakat. [2007/09/29(土) 19:02:56 ]
1







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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