v(・∀-)b VBプログラマ質問スレ(6.0以前) Part25
936 :
デフォルトの名無しさん:03/06/09 10:16
>>902 >>903 どうもありがとうございます。
コールバック関数はどのように使えばよいでしょうか?
>>783 VBだけでどんなプログラムも作れるからVBで設計しよう、というと
馬鹿にされるどころか嫌われるよ。とくにエンタープライズ系では。
オブジェクト指向言語でやっているところをアセンブラでやれ、と押し付けられちゃたまらんからね。
関数のアドレスセットして、呼び出されるの待つだけ。
939 :
デフォルトの名無しさん:03/06/09 11:18
すいません、新すれのほうに書き込んでしまいました。
質問内容は以下のとおりです。
ファイル変更をフックしようと思い
ReadDirectoryChangesW API を調べているのですが
なかなか VB でのサンプルが見つかりません。
もしVBで組んだことある方がいましたら
多少の手解きお願いできませんでしょうか?
>>935 ありがとう。
よく考えたら、(2)の方もVariantにする必然性がないですね。
個別の型指定(String()、Long()等々)で問題なく動作しました。
配列を返すと最初から決まってるなら、Variantにしない方がいいみたい。
Hoge() → Hoge型の配列を受けられる。
Hoge → Hoge型の変数は受けられるがHoge型の配列は受けられない。
Variant → 配列も配列以外のオブジェクトも代入可能。
Variant() → 配列は受けられるが、配列でない変数は受けられない?(未確認)
つうことで、sage
厨な質問ですいません。
datagridオブジェクトは、貼り付けたフォームがロードされたとき、
1行分しか見えてませんよね。それを初期状態だとすると、
いったん何かデータを読み込んだものを、もう一度その状態に
戻すことは出来るのでしょうか?
943 :
デフォルトの名無しさん:03/06/09 14:57
GetMetaFileBitsEx で lpvData に Null 又は 0 を指定しとるのだが
データを格納するために必要なバイト数というのが取得できん
予め大きなサイズを割り当てれば関数自体は成功するが後味悪い
やり方教えてくれ
945 :
デフォルトの名無しさん :03/06/09 15:28
質問です。
ホームページをアップするのに、
どこかの本を参考に下記のコードでやってますが、非常に遅いです。
いくつものファイルを転送するとかなりの時間がかかります。
FTPソフトで転送するととても早いのですが、
何か技があるのでしょうか?
. With objInet
. .URL = "
ftp://*********"
. .UserName = "******"
. .Password = "******"
.
. .Execute , "CD ********"
. Do While .StillExecuting = True
. DoEvents
. Loop
.
. .Execute , "PUT index.html index.html"
. Do While .StillExecuting = True
. DoEvents
. Loop
. End With
946 :
デフォルトの名無しさん:03/06/09 16:02
DoEvents を全部コメントアウトしてやったらどう?
948 :
デフォルトの名無しさん :03/06/09 16:06
>>946 これでいいんですか?
誤動作しません?
. .Execute , "CD ********"
. Do While .StillExecuting = True
. ' DoEvents 'コメントにする
. Loop
.
. .Execute , "PUT index.html index.html"
. Do While .StillExecuting = True
. ' DoEvents 'コメントにする
. Loop
950!
>>945 ファイルを転送するごとにログインしなおしとかしてない?
>>945 マルチスレッドにして5つくらい一気に平行してUPするようにしたらどうよ?
>>946 あんまり意味ないと思われ。むしろCPU使用率が増えて逆に遅くなる可能性も。
>>948 DoEventsで処理が割り込まれる可能性が無いから、こっちの方が誤動作しにくい。
ただし処理速度にはなんの影響も無いか少し遅くなるかも知れない。
.StillExecutngでグルグル待つやり方(ビジーウェイト)はやめて、StateChangedを
使った方法がいいと思う。プログラムの構造が大きく変わりそうで面倒なら、
せめてDoEventsの前に10ミリ秒ぐらいSleepを置いた方がいい。
でも遅い原因は他にあると思われる。
>>952 FTPサーバーにマルチでログインするつもりか?
955 :
デフォルトの名無しさん:03/06/09 20:55
あまり有効なのはないのでしょうか?
FTPソフトだと問題ないのはなぜでしょう?
遅いって転送し始めるまで時間がかかるの?それとも転送速度が遅いの?
958 :
デフォルトの名無しさん :03/06/09 21:27
>>957 はっきり調べてませんが
ひとつひとつの.ExecuteからDoEventsを抜けてくるのが遅いです。
ねむくなるスレだ
>>958 StateChanged方式に変えてみたら?
あっち・・・・あのスレか。
>>962 VB厨がVB厨と言われるゆえん。
Win32システムプログラミングぐらい読めよ。
>>959 あんた、こっちでそんな事言っていると煽りだといわれるぞ。
あっちでいえ。
966 :
デフォルトの名無しさん :03/06/09 21:37
>>960 StateChanged方式を教えてください。
>>964 もういいよ。あっていでやれ。
これ以上ここに書きこするなら荒らしとみなす。
>>966 途中まで出いいからやってから分からないことろを書いてね。
たぶんそれじゃレスつかないと思うけど。
あと無駄な空行いれてあげるのもやめたほうがいいよ。
偽者扱いされるのがオチだから。
971 :
デフォルトの名無しさん:03/06/09 21:40
VB初心者スレを質問スレと勘違いして質問してしまいましたので
再度こちらで質問させて下さい。
ファイル名に今日の日付が入ったファイルを作成したいので、
日付から、例えば2003.06.09という文字列を作って
文字列の変数に入れたいのですが、
どのように書けばよろしいのでしょうか?
>>970 はい。がんばります。すみませんでした。
>>971 Format$(Date(),"yyyy.mm.dd")
976 :
デフォルトの名無しさん :03/06/09 21:45
>>970 StateChanged がなんだかもわかりません。
参考になるサイトを紹介していただければ、勉強してみます。
なんかスレのびていると思ったら粘着煽り厨が出現してるのか。
980 :
デフォルトの名無しさん :03/06/09 21:49
埋めるぞコルァ!
ゴルァゴルァ
モララララララァ
おまんこやりたい