Saturday, September 10, 2011

小程序汇报多伦多油价

程序员的好处就是可以编程序。在加拿大做程序员的华人有很多做QA的,可能听说过AutoIT,本人虽然不是QA,却也用AutoIT编过很多script。AutoIT虽然不是OpenSource(呈经是,而且和HotKey有很多渊源,以后有机会再介绍),但确实是100% freeware,不必担心Adware、病毒、木马或后门。可以从此处下载:http://www.autoitscript.com 很多加拿大人特别是多伦多的都知道两个关于油价的网站(俺不是做广告的,只是油商实在太黑):
http://tomorrowsgaspricetoday.com
http://www.torontogasprices.com
第一个网站通常每天下午四点半后会公布预估的明天的油价。第二个网站是由网友们发布的各油站实时油价。大多加油站现在都follow第一个网站的预估价,所以各油站差价不大,不值得为便宜几毛钱跑到很远的油站去加油。问题是有时一忙就忘了回家前check油价,所以我就用Task Scheduler定时运行一个程序返回明日油价。这个AutoIT script程序如下:
#include <ie.au3>
$oIE = _IECreate("http://tomorrowsgaspricetoday.com/toronto-gas-prices.html?city=133",0,0,1,1)
$sHtml = _IEBodyReadHTML($oIE)
$money =StringRegExp($sHtml, "class=predication_gasoline_litre_pro_01>([\d\.]*)", 3)
$trend =StringRegExp($sHtml, "images/gas_arrow_(\w+).gif", 1)
_IEQuit($oIE)
$text="Hi, the gas price is going " & $trend[0] & " " & $money[1] & "cents to " & $money[0] & " cents"
msgbox(0, "Tomorrow Gas Price", $text)
如果想来点有趣的,可以让程序说话,只需在msgbox之前加两句:
$o_speech = ObjCreate ("SAPI.SpVoice")
$o_speech.Speak ('<rate speed="-2"><pitch middle="-10">' & $text & '</pitch></rate>', 8)
你可以调整speed和pitch来改变声调。Toronto的城市编号是133,其它城市需修改程序。
编译好的可执行程序上载到fileserve: File name: gas.zip
File size:314.8 KB

0 Comments:

Post a Comment