將目前自動化的autoIT巨集程式以副程式的方式改寫,這樣的好處是模組化
以後要修改比較容易
目前寫好之模組
1>執行HTS (自行修改路徑,"XXXXX"是登入密碼)
CallHTS("C:\JihSun\HTS2_Trade\JSCOM.EXE","XXXXX")
2> 執行台証超級大三元(自行修改路徑,"XXXXX"是登入密碼)
CallSuperTSC("C:\SuperTSC\exe\SuperTSC.exe","XXXXX")
3> 執行我我下單機(自行修改路徑)
CallAutoTrade("C:\Program Files\AutoTrade\AutoTradeTSC.exe")
使用方法:
1.將下列副程式程式碼放在原程式的最後面
Func CallAutoTrade($ATPath)
$len = StringLen($ATPath)
$var = StringLeft($ATPath,$len-17)
FileChangeDir($var)
RUN($ATPath)
EndFunc
Func CallHTS($HTSPath,$pw)
blockinput(1)
RUN($HTSPath)
Sleep("5000")
WinWait("Connetor")
WinActivate("Connetor", "")
ControlSetText("", "", "TEdit1", $pw )
Sleep("1000")
WinActivate("Connetor", "")
Send("{ENTER}")
EndFunc
Func CallSuperTSC($TSCPath,$pw)
RUN($TSCPath)
Sleep("5000")
blockinput(1)
$list = ProcessList("axis.exe")
for $i = 1 to $list[0][0]
$pID = $list[$i][1]
next
InputPW($pw)
Sleep("1000")
blockinput(0)
Send("{ENTER}")
EndFunc
Func InputPW($pw)
$len = StringLen($pw)
for $i = 1 to $len
$var = StringMid($pw,$i,1)
$var = "{" & $var & "}"
Send($var)
Next
EndFunc
2.修改原程式(原程式可變的比較精簡)
$var = IniRead("C:\xxxxxx\Rundate.ini", "RunDate", "Date", "NotFound") ;請配合Rundate.ini所在路徑自行修改
$var2 = IniRead("C:\xxxxxx\Rundate.ini", "NotRunDate", "Date", "NotFound") ;請配合Rundate.ini所在路徑自行修改
$sDate = @YEAR & "/" & @MON & "/" & @MDAY
If ((@HOUR < 14 AND @WDAY > 1 AND @WDAY < 7) OR (@WDAY == 7 AND @HOUR < 14 AND $var == $sDate)) AND ($var2 <> $sDate) Then
Sleep("80000") ; 等候80秒
CallHTS("C:\JihSun\HTS2_Trade\JSCOM.EXE","XXXXX") ; (自行修改路徑,"XXXXX"是登入密碼)
Sleep("20000") ; 等候20秒
CallAutoTrade("C:\Program Files\AutoTrade\AutoTradeTSC.exe") ; (自行修改路徑)
EndIf
if ((@WDAY = 7 AND $var <> $sDate) OR (@WDAY = 1) OR ($var2 == $sDate)) And (@HOUR >= 8 And @HOUR < 9) then
Sleep("20000") ; 等候20秒
Shutdown (8) ; 關機
EndIf
;副程式放置處
;..
;..
PS:如果要執行台証超級大三元 只要把上面CallHTS改成CallSuperTSC,路徑密碼改一下即可
其他的執行程序如執行Excel,或自行要加上的程式,建議自行練習寫看看,autoit真的不會很難
學起來對自己一定很有幫助的,
如有自己寫的擴充模組也請各位朋友不吝分享,造福一下大家.
引用自 http://tw.myblog.yahoo.com/autotrade-168/article?mid=222&next=5&l=f&fid=7
留言列表