從INI 讀時間 該怎轉換?
~_~ 感謝大家用心回覆,我重新編寫一次,努力表達....一、假設「san.ini」裡,我想存放完整的時間,該如何去編輯?
舉例 我想建檔的遊戲資料為...X座標123、Y座標456、時間標籤...(2009年01月30號20時04分00秒)
===
[建築01]
X=123
Y=456
T=2009,01,30,20,04,00
~~~~~~~~~~~~~~~~~~~時間該這樣子存放嗎? 還是以、「2009|01|30|20|04|00」
ok...接續來說? 透過IniRead或是IniReadSection 兩種皆可,讀出後...
又該是怎組合成一個對比的時間單位...舉例
$Time = _NowCalcDate() <<<應該是取得完整的現在時間吧?
$T_No= ?????????????? <<<我不知道該怎把ini的資料,轉換成完整的時間,以便於對比
迴圈地方...@@ 猜想是這樣寫
While 1
$Time = _NowCalcDate()_TicksToTime($E_time1, $Hour, $Min, $Sec)
For $i = 5 to 1 Step -1
If $Time > $T_No[$i] Then
Play() ;;;呼叫自動建築....
EndIf
Next
[ 本帖最后由 ZEROBOYS 于 2009-2-1 17:20 编辑 ] 我目前的程度很慘,引部份橋段...(~_~) 看了別吐血...
ToolTip('執行中', 0, 0)
$S_time = _TimeToTicks(@HOUR, @MIN, @SEC);;;轉換毫秒制-取得現在時間
$E_time1 = $S_time
While 1
$S_time = _TimeToTicks(@HOUR, @MIN, @SEC)
_TicksToTime($E_time1, $Hour, $Min, $Sec)
If GUICtrlRead($G1) = 1 Then;;;方塊-賑災
If $S_time > $E_time1 Then
win_Call()
JN();;;賑災
$E_time1 = $E_time1 + GUICtrlRead($input1) * (60000)
_TicksToTime($E_time1, $Hour, $Min, $Sec)
GUICtrlCreateLabel("下次賑災為" & $Hour & ":" & $Min, 180, 625);格/高
EndIf
EndIf
WEnd
EndFunc ;==>Togglestart ini能贴一下么 看看什么格式的时间
还有 你要实现什么目的 再详细一点说明下吧 @@這快有人回覆,我這樣子說吧? 因為我寫不出來....
一、讀取INI的第一筆資料為2007/10/15 18:00:00 >>> 滑鼠自動點擊遊戲中的某建築物...
===
[建築];;;X座標、座標、時間標籤(得拆的好長.......)
01=123|456|2007|10|15|18|00|00 <<<我是猜大概這樣子寫
===
二、腦筋急轉彎...以我們最常看到的自動安裝管理器...
softname=7-Zip 4.63(解壓縮工具)
softpath="7-zpInstall_7-zp4.57.exe"
====這邊僅是差一個時間標籤,不然自動安裝器,也成為指定時間+安裝器
基本上的目的為...「時間到了,自動觸發&執行 某個程式&一些動作...」
但很令人我飲恨的地方是.......=.=||| 時間參數一大堆,就是看不懂怎轉換....
以「_TimeToTicks 」的來說,我已經實踐的拿來寫倒數器...
舉例: 20分鐘後 > 执行某回圈 > 执行完毕 >自动加总20分钟回去> 20分鐘後>再执行
在發問的第二篇,我就有貼出來...=.=||| 可能寫太亂,沒人看得懂...
在某大大的AU3範例中,看到疑似關鍵的地方為....
$shutdown = StringFormat("%04d/%02d/%02d %02d:%02d:%02d", $temp, $temp, $temp, $temp, $temp, $temp)
目前在猜想?把ini讀取後,也就成為$temp 0-5的可能...
然後組合成一個完整的 西元年/月/日/時/分/秒....
再找對應的系統時間標籤 去比對此值....達成判斷式
當然資料可能為01-99筆,會動用到 For....
抱歉...我技術菜菜的,無法清晰表達我的想法..請見諒
[ 本帖最后由 ZEROBOYS 于 2009-1-30 17:52 编辑 ] 基本上来说看不懂你说什么 不过看似你想得到ini里的数据 并拆分?
也许
IniRead 先读出来 然后
以 | 为分隔符 StringSplit一下这样就能得到那一串里 以|分割的每一个数据 供你使用
回复 4# ZEROBOYS 的帖子
真的看得很迷糊,非常抱歉。 這部份...前陣子通霄研究時,學會了...(雖然不是精通)我現在是疑惑要怎麼在ini存取一組完整時間標籤,好跟現在的電腦時鐘對比...
目的為
「現在時間 > 排程時間1」>>>執行
「現在時間 > 排程時間2」>>>執行
至於「排程時間」,當然得存在INI檔,就是迷糊了.....沒資料可查
原帖由 sxd 于 2009-1-30 18:19 发表 http://www.autoitx.com/images/common/back.gif
基本上来说看不懂你说什么 不过看似你想得到ini里的数据 并拆分?
也许
IniRead 先读出来 然后
以 | 为分隔符 StringSplit一下这样就能得到那一串里 以|分割的每一个数据 供你使用 这个ini是你自己建立的么?
如果是自己的那随便你存成什么样方便后面读取就行
一、假設「san.ini」裡,我想存放完整的時間,該如何去編輯?
IniWrite("C:\1.ini", "建筑", "当前时间", @YEAR & "|" & @MON & "|" & @MDAY & "|" & @HOUR & "|" & @MIN & "|" & @SEC)
[ 本帖最后由 sxd 于 2009-1-30 21:45 编辑 ] 錯愕...原來可以這樣寫@@ 看樣子有微薄希望了...
[建築]
時間=2009|01|31|01|37|12
那反向操作為? 把6個值從ini讀出來?組成一個整體時間標籤?
大概又是這樣子@@...抱歉 我笨笨的 這部份已經卡一禮拜
回复 9# ZEROBOYS 的帖子
是的,用stringsplit函数,分隔符为“|”就可以组成你要的时间“2009-01-31 01:37:12”
$NowTime=IniRead("san.ini","建築","時間","")
$Temp=StringSplit($NowTime,"|")
$NTime=$Temp&"-"&$Temp&"-"&$Temp&" "&$Temp&":"&$Temp&":"&$Temp
组合---保存
读取---拆分 :face (37):呼...花了2個禮拜,不眠不休的研究,觀念還是沒辦法串起來
這一次應該有機會完成了^.^ 感謝各位... 先关闭帖子吧 -_- 還沒搞定啊...錯愕的地方是,拼出來只是一個看起來像時間「文字」標籤...
那就是「2009/01/31 10:39」直接單獨讀出來,沒啥兩樣...
努力測試該怎將6單位拼成「等待時間標籤」,且找出 可以對應的「現在時間標籤」比對...
原帖由 ken0137 于 2009-1-31 20:38 发表 http://www.autoitx.com/images/common/back.gif
先关闭帖子吧
页:
[1]
2