ProgressBarの基本的な使い方を伝授ください


@ちゃん  2005-08-26 06:03:50  No: 124451

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


検索君  2005-08-26 06:14:08  No: 124452

過去ログより

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200502/05020039.txt


@ちゃん  2005-08-26 06:44:08  No: 124453

すいません、教えてもらった、IBindStatusCallbackについても検索しても
よく分からないし、僕はVB6.0ではなく.NETですのでAsyncReadメソッドについても分かりません。
どなたか、.NETでIBindStatusCallbackか
AsyncReadメソッドにあたるメソッドを知りませんか?
応答よろしくお願いします。


ガッ  2005-08-26 07:21:44  No: 124454

ProgressBarのサンプルなら、MSDNのドカッと載ってるんとちゃう?
ググればもっと乗っかってるはず。


検索君  2005-08-26 09:04:48  No: 124455

検索の仕方が悪いんじゃない?
VB.NETだったら有名どころでも非同期処理のサンプルは載ってるよ。

http://dobon.net/vb/dotnet/internet/all.html
の「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」
で非同期バージョンを使えばいいんじゃない?


検索君  2005-08-26 09:10:31  No: 124456

というか質問タイトルが内容と全然一致してない予感
ProgressBarの使い方だけなら、ガッさんの言われるように
山ほどサンプルがある。

タイトルはダウンロード中の経過を表示するには?
とか非同期でダウンロードするには?とかの方が的を射てるな。


@ちゃん  2005-08-26 09:12:56  No: 124457

すいません、弱輩もので、その教えてくださったURLの内容と上のコードとをどう組み合わせたらよいのか分からないのですが。
よろしければ、具体的なソースをもらえれば大変たすかるのですが。
わがまま言ってごめんなさい。


030  2005-08-26 21:23:16  No: 124458

>すいません、弱輩もので、その教えてくださったURLの内容と上のコードとをどう組み合わせたらよいのか分からないのですが。
分からないではなく、分かろうとする気がないように思えますが。

サンプルコードまであって、実際動かしてみたらどこで何をしているのか
大体見当つくと思いますが。

プログレスバーを使ってダウンロードの経過を表示するには
全体の容量を知る必要がありますね。
次に、コールバックで取得した容量が分かれば、何パーセント
までダウンロードできたのか計算できます。
単純にその作業の繰り返しです。


@ちゃん  2005-08-26 23:14:55  No: 124459

分からないではなく、分かろうとする気がないように思えますが。
>>
具体的なソースがないと僕みたいな初心者は想像も
できないのですよ。
分かろうとする気があっても
思いつけないものなのです。


id_rsa+  2005-08-26 23:18:51  No: 124460

サンプルを見て分らなければ、本を買って自分で勉強しましょう。


特攻隊長まるるう  2005-08-26 23:33:21  No: 124461

一応、補足。
>具体的なソースがないと僕みたいな初心者は想像も
>できないのですよ。
具体的なソースとはサンプルコードの事で、既に示されている
ようですね。
それを組み合わせる想像力・ノウハウ(know-how)は他人に
説明させるものではありません。基本的なサンプル(問題集)を
いくつこなしたか?で自然と身につくものですので
>本を買って自分で勉強しましょう。
という結論になります。


通ってみた  2005-08-26 23:48:24  No: 124462

自分で提示したコードは理解できているのですかね?
できていないなら、それを理解することからはじめては?
本を買って覚えるのがセオリーではあるけど、ひとつひとつ命令をネットで検索して意味を覚えていけば、そこそこの知識はつくでしょう。

初心者を謳うなら、プログレスバー云々よりまずはそこからじゃない?

※それがわかっているのなら、プログレスバーのサンプルもわかるはずだし、結局「勉強してくれ」という回答に反論の余地はないのです


特攻隊長まるるう  2005-08-27 00:14:13  No: 124463

>ひとつひとつ命令をネットで検索して意味を覚えていけば、
あと、調べる時はまずヘルプ見ようね。ネットの検索は絞り込む
キーワードにコツがいる場合があるけど、ヘルプは[F1]キーを
押すのみです。キーワード検索もあります。
多少難しい言葉やヘンな表現や使えないサンプルプログラムが
載ってますが(←ダメじゃんw)よく読めば分かることも多いの
です。最近、WEBでのみ調べて見つかりません(分かりません)
…て言う人が増えてきた(>△<)。


@ちゃん  2005-08-27 00:54:05  No: 124464

じゃあ、手っ取り早くいいます。
僕の意図したとおりに動く
サンプルのソースをください。
理解はそのあとで深めます。


dark  2005-08-27 01:00:00  No: 124465

> 僕の意図したとおりに動く
> サンプルのソースをください。
プログラム作成依頼ならば、その手の人に頼んでください。
結構な料金でやってもらえますよ。


medaka  2005-08-27 02:47:15  No: 124466

ここでもお金払えばやってくれる人いるんじゃないかな?


マグ  2005-08-27 18:49:00  No: 124467

それで、自分で理解せずに作ろうとしない上に他人に全部、やっておもらってばかりでは、
自分の力にはなりませんし、一生、理解することも出来ませんよ。
@ちゃんさんが自分で提示したソースの流れが読めないならば、

基本を学ぶことをお勧めします。
変数・宣言・For文・IF文・イベントハンドラーの使い方。
あと、検索でAPIを調べる。
ぐらいで流れが読めるようになると思います。(@ちゃんさんの提示したソースだけ・・・・)

それと、組み合わせの仕方が分からないというのは致命的です。
どこでも、あのサンプルコードのようになっています。
それを自分の意図したとおりに改造&改良していくのですよ。
よって、組み合わせが出来ないと言う時点でかなり、致命的なことと認識してください。
改造する場合、ソース流れを読む場合でも、基本を95%ぐらい使うことになります。
だから、皆は基本を学んでくださいっと言ってます。
そして、最後ですが、もし、万が一、@ちゃんさんのご希望通り作ってくれる方がいたとしても・・・・・・
@ちゃんさん自身はソースの流れを理解しようとせずに、次々、進むでしょう。
っという気がしますが・・・・・


さるべーじ  2005-08-27 22:14:55  No: 124468

とりあえず、VB.NET2003をお使いなのであれば、
VB6時代の手法 URLDownloadToFile APIを使うより
検索君さんの提示されたページで使っている
(System.IO.StreamReader).ReadToEnd を使う方が
スタンダードだと思います。

# てゅうか最初のコードだと不必要に難しいことをやっているので
# 袋小路に入りやすいかと(T−T)

ので、今までご自分で作られたコードはちょっと置いておいて、
どぼんさんのコードをそのまま検証してみることをお勧めします。

で動作がわかったら、次は「ReadToEnd」の部分を「Read」や「ReadBlock」に
置き換えることができるかどうか検討し、その場合に動作上の特徴が
どう変わるのかを調べてみます。

たぶんこれで少しずつ読み込むことはできるようになると思いますので、
あとはProgressBarの制御と少しずつ読み込む制御をかわるがわる
行うにはどうすればいいか、と考えていくことになりますね。


ねろ  2005-08-28 00:19:35  No: 124469

弱輩 -> 若輩
問題はいかにファイルサイズを取得するかと言うことだが。
HttpWebRequest.ContentLength これで出来るのだろうか?


ささ  2005-08-28 02:40:04  No: 124470

>medaka さん、darkさん
やってもいいかも、、、とひそかに思ってたりする。
お金が出るならば、一人日(60,000円)ぐらいかな?


@ちゃん擁護派  2005-08-28 03:33:55  No: 124471

そんなこといわず皆さん、@ちゃんさんに
やさしく教えてやってください。


ささ  2005-08-28 05:39:17  No: 124472

自分で、提示したコードを理解してください。
の何処が、やさしくないのか教えていただきたいっす。

具体的なコードであるサンプルソースがあっても
尚わからないのであるならば、

> 調べる時はまずヘルプ見ようね。ネットの検索は絞り込む
> キーワードにコツがいる場合があるけど、ヘルプは[F1]キーを
> 押すのみです。キーワード検索もあります。
> 多少難しい言葉やヘンな表現や使えないサンプルプログラムが
> 載ってますが(←ダメじゃんw)よく読めば分かることも多いの

で理解してくださいというほかないのです。
もしくは、不明点を絞り込んで、再度質問するか。

上記のことを、ゼロから文章で書くと、
400字詰め原稿用紙20枚〜30枚はかけてしまいます。

四則演算しか知らない人に、
連立微分方程式を教えるのは非常に労力がかかるので
ネットや教科書で、まずは方程式を理解してください。
というのと同じです。

掲示板の回答者は、無報酬労働(ボタンティア)であって、
自分の仕事があるにもかかわらず、
ネットやヘルプを検索し、サンプルコードを記述し、
テストを行い質問の回答する。ということを努々忘れないように・・・。


マグ  2005-08-28 23:28:15  No: 124473

>一人日(60,000円)ぐらいかな?
作成依頼とかを頼んだりすると、そんなにかかるんですか?

>  そんなこといわず皆さん、@ちゃんさんに
>やさしく教えてやってください。

皆、十分、優しいですよ。
基本を学ぶとか関数とかヒントを出してくれているにも関わらず、
@ちゃんさん自身が調べたり、試したりしていない上に、
おもいっきり、他人任せのように見えるのは私だけでしょうか?

調べる方法はいくらでもありますし・・・・・
ヘルプを調べたり、ネットで検索をかけたり、本屋で立ち読みしたり、
先生に聞いたり、同級生に
聞いたりと色々ありますが・・・・・
おそらくですが、今の@ちゃんさんのレベルでしたら、本屋で立ち読みするだけでも
得られる知識が多くあると思います。


@ちゃん  2005-08-29 03:22:07  No: 124474

みんな、自分でコーディングする力が無いからヘルプで調べろとかネットで検索しろとか、、、よく言うよ。。。
ここは質問掲示板なんだから、自分で調べれるのであれば
訊く必要ないのでは?
僕は、ソースとコメントさえ教えてくれれば十分理解できるレベルなのに。
ズブの素人が一日そこらで6万って身ほどを知ったほうがいいと思う。


z  2005-08-29 03:26:05  No: 124475

60,000 / 8 = 7,500(円/h)?
税込み・諸経費込みならこんなもんかな。


@ママ  2005-08-29 03:31:36  No: 124476

夏休みはもう終わりですよ。


通ってみた  2005-08-29 03:51:28  No: 124477

ノシ 厨よさらば

>>自分でコーディングする力が無いから
>>ズブの素人

その言葉、そのままお返しいたすw

>>僕は、ソースとコメントさえ教えてくれれば十分理解できるレベル
できてないぢゃないか・・・と皆思っていると思われw


提灯  2005-08-29 04:17:23  No: 124478

知らんやつまで、知ってる振りして提灯点けてるか。


マグ  2005-08-29 04:38:54  No: 124479

>みんな、自分でコーディングする力が無いからヘルプで調べろとかネットで検索しろとか、、、よく言うよ。。。

恩を仇で返すつもりですか?
皆から見放されますよ。
もしかしたら、もう見放されてたりしてw・・・・・・

>僕は、ソースとコメントさえ教えてくれれば十分理解できるレベルなのに。

そうですか。
では、@ちゃんさんが一番、最初に提示されたソースと
検索君さんが紹介してくださった
http://dobon.net/vb/dotnet/internet/all.html
の「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」のソースの流れを具体的に記述してみてください。
ちなみにコメントをコピペするのは禁止。
どこで、何のデータを入れて、どのようなデータを受け取っているかなどを具体的に・・・・・
ソースを理解しているのであれば、このぐらい、説明できますよね。
別に分からなければ、「わかりません。」と答えてもいいんですよ(^^)。


ume  2005-08-29 05:37:16  No: 124480

みんな厨相手に大変やねぇ…
でもここは初心者の「教えてください」でログを埋めれる様な気安いサイトではありません(多分)
十分心得てください。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200507/05070118.txt


@ちゃん  2005-08-29 05:43:11  No: 124481

悔しかったら、ソースを書いてみろ(爆)
中一君たちw


ume  2005-08-29 06:03:48  No: 124482

皆さんの見解。

> 悔しかったら、ソースを書いてみろ(爆)
ソース書いて欲しければ金出すか、もっと洒落たことを出せ。
つまらない香具師はいらん。

> 中一君たちw
自演か他人かしらんが邪魔なのでそろそろ落ちろ。
wwっうぇwwwプgywww


@ちゃん  2005-08-29 06:17:40  No: 124483

簡単につられる気味みたいな子は最初からいらんよ。
ソースかけんやつほど能書が多いもんよw(ぷ


ume  2005-08-29 06:25:04  No: 124484

ウホッ、初めて釣れた!!
@ちゃんマンセーwwwwwwwっうぇうぇえwwwwwwwヤバスww


通ってみた  2005-08-29 15:48:19  No: 124485

あのさぁ・・・原理がもしわかってるのなら、コードはここにいる誰もが書ける程度のものだよ

もう一度考えてみなよ

1:落としたいファイルの大きさを調べる
2:一度に送られてくる量を調べる(もしくは現在ダウンロード完了している量を調べる)
3:2は1の何%なのか計算する
4:プログレスバーにその値を設定する

これだけだ
そしてこの方法がサンプルに載っている
つまり、答えは出ているのだよ

まだ理解できないならさようなら


マグ  2005-08-29 18:11:59  No: 124486

そうですね。
理解できないのなら、さようなら〜ですね。

最後ですが、皆も思っているかもしれませんが、
先に礼儀を身に着ける方がいいと思います。
このまま、成長したら、リアルで友人や友達を作ることが出来ません。
仕事でも、仲間を作ることも出来ないでしょう。
逆に皆に嫌われて、離れていきますよ。

@ちゃんさんの対応と傾向を見ていると、そんな気がしてきます。

単刀直入に言いますが、
私だったら、イヤです。
はっきり言って、@ちゃんさんみたいな方と友達や仲間になりたくはないです。


ななすぃ  2005-08-29 18:17:45  No: 124487

> 悔しかったら、ソースを書いてみろ(爆)
>ソースかけんやつほど能書が多いもんよw(ぷ

自己紹介乙w


ささ  2005-08-29 18:24:24  No: 124488

最後に...

> > 一人日(60,000円)ぐらいかな?
> 作成依頼とかを頼んだりすると、そんなにかかるんですか?

うちの会社に頼むと、今の作業は、一人240万/月でやってます。
一日べったりフォローして、60,000円ならば、半額程度なんだけどねぇ〜。


マグ  2005-08-29 18:30:24  No: 124489

>うちの会社に頼むと、今の作業は、一人240万/月でやってます。
>一日べったりフォローして、60,000円ならば、半額程度なんだけどねぇ〜。

高い・・・・・・・・・・
そんなにかかるなんて知りませんでした。
どのような分野の会社でもプログラマーが必ず、1人以上いるのは、
そういう理由だったんですね。
情報、ありがとうございます。


通ってみた  2005-08-29 18:33:18  No: 124490

>>一人240万/月

マジでー?
うちは150です


ささ  2005-08-29 19:10:15  No: 124491

そうかな、
ちなみに、Oracleさんから来てる人は、もっと取るよ?

> マジでー?
> うちは150です

それでも、一日べったりフォローして、60,000円
なら、3割引きだよね?いずれにせよ、安い設定なのに。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加