John Patten wrote:
Hi All!

I'm making a little web browser client that needs to check the contents of a file on a web server. It needs to be able to do this every 5 seconds or so in the background, and then if the contents changes in the last line of the file it is checking, it starts another process in the background. Can this be done in Rev? Would I use two stacks, one as the browser and one with the repeat loop?

I'm at a loss for what this might look like in a script?

Hi John,

Are you familiar with the "send" command? If not, I think you're about to be... ;o)


-- prep: since you're looking for a change in data values,
-- you need to store its initial value so you have something
-- to compare to
global gOriginalData


-- and the data check has to be put into motion:
on openCard
  -- store initial value
  put url "http://my.website.com/targetfile.txt"; into gOriginalData
  -- put the data check into motion
  send "checkWebFile" to me in 5 secs
end openCard


-- the data check
on checkWebFile
  -- get fresh copy of the data
  put url "http://my.website.com/targetfile.txt"; into tCurrData
  if (last line of tCurrData <> last line of gOriginalData) then
     send ("startOtherProcess" && tCurrData) to me in 1 sec
  else -- data hasn't changed, so schedule another check
     send "checkWebFile" to me in 5 secs
  end if
end checkWebFile


-- the other background process
on startOtherProcess pChangedData
  -- do your other stuff here
end startOtherProcess


The "send... in" construct 'disconnects' the calling and called handlers from each other, so the calling one can finish executing before the called one starts. And by saying "in 5 secs", you insert idle time when the UI can be refreshed & interacted with. It keeps the user from being locked out of the UI due to continuous running of code you might have if you tried using a repeat loop for data checks.

Hopefully this will get you started.


Thanks in Advance!


John Patten

--
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to