progress bar example

Pierre Sahores psahores at free.fr
Thu Jul 10 08:44:30 EDT 2008


Hello,

Perhaps can this lightweight code help ?


on mouseup
    load url (Stack_to_load) with message mainstatut
   progressbark
end mouseup

on mainstatut
   if the cachedurls contains Stack_to_load then
     go url (Stack_to_load) in new window
     unload url (Stack_to_load)
   else answer "La connexion avec le serveur" && quote & "IME" & quote  
&& "est rompue." & \
       return & "Vérifiez votre configuration d'accès à" &&  
"l'internet avant" & return & "de poursuivre..."
end mainstatut

on progressbark
   set the thumbposition of sb "jauge" of stack "ime_loader" to "0"
   put "0" into aa
   repeat 20
     if urlstatus(Stack_to_load) is among the items of  
"contacted,cached" then
       add 10 to aa
       set the thumbposition of sb "jauge" of stack "ime_loader" to aa
     end if
   end repeat
end progressbark


Best Regards,
--
Pierre Sahores
mobile : 06 03 95 77 70
www.sahores-conseil.com


Le 10 juil. 08 à 13:50, Nicolas Cueto a écrit :

> Hello,
>
> A few years back, Dave Cragg was
> kind enough to explain in detail how
> to build a stack that shows the progress
> of a download (I've included his message
> below).
>
> The script works, but there's a glitch.
> When the progress-stack is called up
> only its edge can be seen. Its body,
> instead of showing a progres bar
> increasing as the download progresses,
> shows nothing but a freeze-view of whatever
> was on the screen beneath it before it
> popped open.
>
> I've tried setting buffer properties,
> but that did not work.
>
> Is there a way of getting this to work?
>
> Thank you.
>
> -- Nicolas Cueto
>
> <here's Dave Cragg's message and script>
>
> You can show status using "go" as well. libUrlSetStatusCallback works
> for both blocking (e.g. load url) and non-blocking (.e.g. get url)
> calls.
>
> Below is the script of a *very crude* progress palette. The stack
> consists of two fields (one named "url" and the other named
> "status"), and a scrollbar (progress bar) named "progress" . Name the
> stack "url_status" (or anything you want).
>
> Make this stack a substack of your main stack. Then somewhere (e.g in
> your mainstack's preopenstack handler), include the following:
>
>   start using "url_status"
>
> That's it. After that, it should work for all downloads and uploads
> (which may not be what you want).
>
> Cheers
> Dave
>
> --------------------------------------------------
> local sUrls
> ----------------------------
> on libraryStack
>   libUrlSetStatusCallback "urlCallback", the long id of me
>   palette me
>   hide me
> end libraryStack
>
> -------------------------
> on releaseStack
>   libUrlSetStatusCallback empty
>   close me
> end releaseStack
> ---------------------------
>
> on urlCallback pUrl, pStatusString
>
>   show me
>   put pUrl into field "url" of card 1 of me
>   put item 1 of pStatusString into tStatus
>   put tStatus into field "status" of card 1 of me
>   put 1 into sUrls[pUrl]
>   if tStatus is among the items of "loading,downloading,uploading"  
> then
>
>     put item 2 of pStatusString into tPart
>     put item 3 of pStatusString into tWhole
>     if tWhole <> empty then
>
>       showProgress tPart,tWhole
>     else
>       hide scrollbar "progress" of me
>       put "," && tPart && "bytes" after field "status" of card 1 of me
>     end if
>     --unlock screen
>   else if tStatus is among the items of
> "loaded,downloaded,uploaded,cached" then
>     delete local sUrls[pUrl]
>     if the visible of scrollbar "progress" of me then showProgress 1,1
>     send "hideStatus" to me in 200 milliseconds ##leave visible for
> short time
>
>   else if tStatus is among the items of "error,timeout" then
>     delete local sUrls[pUrl]
>     send "hideStatus" to me in 200 milliseconds ##leave visible for
> short time
>   else
>     hide scrollbar "progress" of me
>   end if
> end urlCallback
> -------------------------
> on showProgress pPart,pWhole
>   put the endValue of scrollbar  "progress" of me into tMax
>   set the thumbPosition of scrollbar "progress" of me to round(tMax
> * pPart / pWhole)
>   show scrollbar "progress" of me
>   wait 10 milliseconds
> end showProgress
> -----------------------
> on hideStatus
>   if keys(sUrls) is empty then
>     hide me
>   end if
> end hideStatus
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>





More information about the use-livecode mailing list