ProgressBarでダウンロードした%だけ経過%を表示したり、プログレスバーにダウンロードした値だけ表示を増やしていくといった基本的な使用のしかただと思いますが、当方の知識不足でどうしても書けません。
どなたか、御教授してもらえませんか?
よろしくお願いします。出来ているコードは以下までです。
どこをどのように書き直せばよろしいのでしょうか?
Private Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" (ByVal pCaller As Integer, _
ByVal szURL As String, ByVal szFileName As String, _
ByVal dwReserved As Integer, ByVal lpfnCB As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SaveFileName As String
Dim DownloadFile As String
Dim Ret As Decimal
Dim i As Integer
DownloadFile = TextBox1.Text
SaveFileName = "C:\" & TextBox2.Text & ".avi"
Ret = URLDownloadToFile(0, DownloadFile, SaveFileName, 0, 0)
For i = ProgressBar1.Minimum To ProgressBar1.Maximum
ProgressBar1.Value = i
Label1.Text = "完了した処理:" & CStr(i) & "%"
Me.Update()
Next i
If Ret = 0 Then
MsgBox("ダウンロードできました。")
Else
MsgBox("エラーが発生しました。")
End If
End Sub
過去ログより
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200502/05020039.txt
すいません、教えてもらった、IBindStatusCallbackについても検索しても
よく分からないし、僕はVB6.0ではなく.NETですのでAsyncReadメソッドについても分かりません。
どなたか、.NETでIBindStatusCallbackか
AsyncReadメソッドにあたるメソッドを知りませんか?
応答よろしくお願いします。
ProgressBarのサンプルなら、MSDNのドカッと載ってるんとちゃう?
ググればもっと乗っかってるはず。
検索の仕方が悪いんじゃない?
VB.NETだったら有名どころでも非同期処理のサンプルは載ってるよ。
http://dobon.net/vb/dotnet/internet/all.html
の「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」
で非同期バージョンを使えばいいんじゃない?
というか質問タイトルが内容と全然一致してない予感
ProgressBarの使い方だけなら、ガッさんの言われるように
山ほどサンプルがある。
タイトルはダウンロード中の経過を表示するには?
とか非同期でダウンロードするには?とかの方が的を射てるな。
すいません、弱輩もので、その教えてくださったURLの内容と上のコードとをどう組み合わせたらよいのか分からないのですが。
よろしければ、具体的なソースをもらえれば大変たすかるのですが。
わがまま言ってごめんなさい。
>すいません、弱輩もので、その教えてくださったURLの内容と上のコードとをどう組み合わせたらよいのか分からないのですが。
分からないではなく、分かろうとする気がないように思えますが。
サンプルコードまであって、実際動かしてみたらどこで何をしているのか
大体見当つくと思いますが。
プログレスバーを使ってダウンロードの経過を表示するには
全体の容量を知る必要がありますね。
次に、コールバックで取得した容量が分かれば、何パーセント
までダウンロードできたのか計算できます。
単純にその作業の繰り返しです。
分からないではなく、分かろうとする気がないように思えますが。
>>
具体的なソースがないと僕みたいな初心者は想像も
できないのですよ。
分かろうとする気があっても
思いつけないものなのです。
サンプルを見て分らなければ、本を買って自分で勉強しましょう。
一応、補足。
>具体的なソースがないと僕みたいな初心者は想像も
>できないのですよ。
具体的なソースとはサンプルコードの事で、既に示されている
ようですね。
それを組み合わせる想像力・ノウハウ(know-how)は他人に
説明させるものではありません。基本的なサンプル(問題集)を
いくつこなしたか?で自然と身につくものですので
>本を買って自分で勉強しましょう。
という結論になります。
自分で提示したコードは理解できているのですかね?
できていないなら、それを理解することからはじめては?
本を買って覚えるのがセオリーではあるけど、ひとつひとつ命令をネットで検索して意味を覚えていけば、そこそこの知識はつくでしょう。
初心者を謳うなら、プログレスバー云々よりまずはそこからじゃない?
※それがわかっているのなら、プログレスバーのサンプルもわかるはずだし、結局「勉強してくれ」という回答に反論の余地はないのです
>ひとつひとつ命令をネットで検索して意味を覚えていけば、
あと、調べる時はまずヘルプ見ようね。ネットの検索は絞り込む
キーワードにコツがいる場合があるけど、ヘルプは[F1]キーを
押すのみです。キーワード検索もあります。
多少難しい言葉やヘンな表現や使えないサンプルプログラムが
載ってますが(←ダメじゃんw)よく読めば分かることも多いの
です。最近、WEBでのみ調べて見つかりません(分かりません)
…て言う人が増えてきた(>△<)。
じゃあ、手っ取り早くいいます。
僕の意図したとおりに動く
サンプルのソースをください。
理解はそのあとで深めます。
> 僕の意図したとおりに動く
> サンプルのソースをください。
プログラム作成依頼ならば、その手の人に頼んでください。
結構な料金でやってもらえますよ。
ここでもお金払えばやってくれる人いるんじゃないかな?
それで、自分で理解せずに作ろうとしない上に他人に全部、やっておもらってばかりでは、
自分の力にはなりませんし、一生、理解することも出来ませんよ。
@ちゃんさんが自分で提示したソースの流れが読めないならば、
基本を学ぶことをお勧めします。
変数・宣言・For文・IF文・イベントハンドラーの使い方。
あと、検索でAPIを調べる。
ぐらいで流れが読めるようになると思います。(@ちゃんさんの提示したソースだけ・・・・)
それと、組み合わせの仕方が分からないというのは致命的です。
どこでも、あのサンプルコードのようになっています。
それを自分の意図したとおりに改造&改良していくのですよ。
よって、組み合わせが出来ないと言う時点でかなり、致命的なことと認識してください。
改造する場合、ソース流れを読む場合でも、基本を95%ぐらい使うことになります。
だから、皆は基本を学んでくださいっと言ってます。
そして、最後ですが、もし、万が一、@ちゃんさんのご希望通り作ってくれる方がいたとしても・・・・・・
@ちゃんさん自身はソースの流れを理解しようとせずに、次々、進むでしょう。
っという気がしますが・・・・・
とりあえず、VB.NET2003をお使いなのであれば、
VB6時代の手法 URLDownloadToFile APIを使うより
検索君さんの提示されたページで使っている
(System.IO.StreamReader).ReadToEnd を使う方が
スタンダードだと思います。
# てゅうか最初のコードだと不必要に難しいことをやっているので
# 袋小路に入りやすいかと(T−T)
ので、今までご自分で作られたコードはちょっと置いておいて、
どぼんさんのコードをそのまま検証してみることをお勧めします。
で動作がわかったら、次は「ReadToEnd」の部分を「Read」や「ReadBlock」に
置き換えることができるかどうか検討し、その場合に動作上の特徴が
どう変わるのかを調べてみます。
たぶんこれで少しずつ読み込むことはできるようになると思いますので、
あとはProgressBarの制御と少しずつ読み込む制御をかわるがわる
行うにはどうすればいいか、と考えていくことになりますね。
弱輩 -> 若輩
問題はいかにファイルサイズを取得するかと言うことだが。
HttpWebRequest.ContentLength これで出来るのだろうか?
>medaka さん、darkさん
やってもいいかも、、、とひそかに思ってたりする。
お金が出るならば、一人日(60,000円)ぐらいかな?
そんなこといわず皆さん、@ちゃんさんに
やさしく教えてやってください。
自分で、提示したコードを理解してください。
の何処が、やさしくないのか教えていただきたいっす。
具体的なコードであるサンプルソースがあっても
尚わからないのであるならば、
> 調べる時はまずヘルプ見ようね。ネットの検索は絞り込む
> キーワードにコツがいる場合があるけど、ヘルプは[F1]キーを
> 押すのみです。キーワード検索もあります。
> 多少難しい言葉やヘンな表現や使えないサンプルプログラムが
> 載ってますが(←ダメじゃんw)よく読めば分かることも多いの
で理解してくださいというほかないのです。
もしくは、不明点を絞り込んで、再度質問するか。
上記のことを、ゼロから文章で書くと、
400字詰め原稿用紙20枚〜30枚はかけてしまいます。
四則演算しか知らない人に、
連立微分方程式を教えるのは非常に労力がかかるので
ネットや教科書で、まずは方程式を理解してください。
というのと同じです。
掲示板の回答者は、無報酬労働(ボタンティア)であって、
自分の仕事があるにもかかわらず、
ネットやヘルプを検索し、サンプルコードを記述し、
テストを行い質問の回答する。ということを努々忘れないように・・・。
>一人日(60,000円)ぐらいかな?
作成依頼とかを頼んだりすると、そんなにかかるんですか?
> そんなこといわず皆さん、@ちゃんさんに
>やさしく教えてやってください。
皆、十分、優しいですよ。
基本を学ぶとか関数とかヒントを出してくれているにも関わらず、
@ちゃんさん自身が調べたり、試したりしていない上に、
おもいっきり、他人任せのように見えるのは私だけでしょうか?
調べる方法はいくらでもありますし・・・・・
ヘルプを調べたり、ネットで検索をかけたり、本屋で立ち読みしたり、
先生に聞いたり、同級生に
聞いたりと色々ありますが・・・・・
おそらくですが、今の@ちゃんさんのレベルでしたら、本屋で立ち読みするだけでも
得られる知識が多くあると思います。
みんな、自分でコーディングする力が無いからヘルプで調べろとかネットで検索しろとか、、、よく言うよ。。。
ここは質問掲示板なんだから、自分で調べれるのであれば
訊く必要ないのでは?
僕は、ソースとコメントさえ教えてくれれば十分理解できるレベルなのに。
ズブの素人が一日そこらで6万って身ほどを知ったほうがいいと思う。
60,000 / 8 = 7,500(円/h)?
税込み・諸経費込みならこんなもんかな。
夏休みはもう終わりですよ。
ノシ 厨よさらば
>>自分でコーディングする力が無いから
>>ズブの素人
その言葉、そのままお返しいたすw
>>僕は、ソースとコメントさえ教えてくれれば十分理解できるレベル
できてないぢゃないか・・・と皆思っていると思われw
知らんやつまで、知ってる振りして提灯点けてるか。
>みんな、自分でコーディングする力が無いからヘルプで調べろとかネットで検索しろとか、、、よく言うよ。。。
恩を仇で返すつもりですか?
皆から見放されますよ。
もしかしたら、もう見放されてたりしてw・・・・・・
>僕は、ソースとコメントさえ教えてくれれば十分理解できるレベルなのに。
そうですか。
では、@ちゃんさんが一番、最初に提示されたソースと
検索君さんが紹介してくださった
http://dobon.net/vb/dotnet/internet/all.html
の「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」のソースの流れを具体的に記述してみてください。
ちなみにコメントをコピペするのは禁止。
どこで、何のデータを入れて、どのようなデータを受け取っているかなどを具体的に・・・・・
ソースを理解しているのであれば、このぐらい、説明できますよね。
別に分からなければ、「わかりません。」と答えてもいいんですよ(^^)。
みんな厨相手に大変やねぇ…
でもここは初心者の「教えてください」でログを埋めれる様な気安いサイトではありません(多分)
十分心得てください。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070118.txt
悔しかったら、ソースを書いてみろ(爆)
中一君たちw
皆さんの見解。
> 悔しかったら、ソースを書いてみろ(爆)
ソース書いて欲しければ金出すか、もっと洒落たことを出せ。
つまらない香具師はいらん。
> 中一君たちw
自演か他人かしらんが邪魔なのでそろそろ落ちろ。
wwっうぇwwwプgywww
簡単につられる気味みたいな子は最初からいらんよ。
ソースかけんやつほど能書が多いもんよw(ぷ
ウホッ、初めて釣れた!!
@ちゃんマンセーwwwwwwwっうぇうぇえwwwwwwwヤバスww
あのさぁ・・・原理がもしわかってるのなら、コードはここにいる誰もが書ける程度のものだよ
もう一度考えてみなよ
1:落としたいファイルの大きさを調べる
2:一度に送られてくる量を調べる(もしくは現在ダウンロード完了している量を調べる)
3:2は1の何%なのか計算する
4:プログレスバーにその値を設定する
これだけだ
そしてこの方法がサンプルに載っている
つまり、答えは出ているのだよ
まだ理解できないならさようなら
そうですね。
理解できないのなら、さようなら〜ですね。
最後ですが、皆も思っているかもしれませんが、
先に礼儀を身に着ける方がいいと思います。
このまま、成長したら、リアルで友人や友達を作ることが出来ません。
仕事でも、仲間を作ることも出来ないでしょう。
逆に皆に嫌われて、離れていきますよ。
@ちゃんさんの対応と傾向を見ていると、そんな気がしてきます。
単刀直入に言いますが、
私だったら、イヤです。
はっきり言って、@ちゃんさんみたいな方と友達や仲間になりたくはないです。
> 悔しかったら、ソースを書いてみろ(爆)
>ソースかけんやつほど能書が多いもんよw(ぷ
自己紹介乙w
最後に...
> > 一人日(60,000円)ぐらいかな?
> 作成依頼とかを頼んだりすると、そんなにかかるんですか?
うちの会社に頼むと、今の作業は、一人240万/月でやってます。
一日べったりフォローして、60,000円ならば、半額程度なんだけどねぇ〜。
>うちの会社に頼むと、今の作業は、一人240万/月でやってます。
>一日べったりフォローして、60,000円ならば、半額程度なんだけどねぇ〜。
高い・・・・・・・・・・
そんなにかかるなんて知りませんでした。
どのような分野の会社でもプログラマーが必ず、1人以上いるのは、
そういう理由だったんですね。
情報、ありがとうございます。
>>一人240万/月
マジでー?
うちは150です
そうかな、
ちなみに、Oracleさんから来てる人は、もっと取るよ?
> マジでー?
> うちは150です
それでも、一日べったりフォローして、60,000円
なら、3割引きだよね?いずれにせよ、安い設定なのに。
ツイート | ![]() |