找回密码
 加入
搜索
查看: 3376|回复: 17

從INI 讀時間 該怎轉換?

[复制链接]
发表于 2009-1-30 16:52:02 | 显示全部楼层 |阅读模式
~_~ 感謝大家用心回覆,我重新編寫一次,努力表達....

一、假設「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]、「2009|01|30|20|04|00」

ok...接續來說? 透過IniRead或是IniReadSection 兩種皆可,讀出後...
又該是怎組合成一個對比的時間單位...舉例
$Time = _NowCalcDate()    <<<應該是取得完整的現在時間吧?
$T_No[1]= ?????????????? <<<我不知道該怎把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 编辑 ]
 楼主| 发表于 2009-1-30 16:55:52 | 显示全部楼层
我目前的程度很慘,引部份橋段...(~_~) 看了別吐血...
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
发表于 2009-1-30 17:07:51 | 显示全部楼层
ini能贴一下么 看看什么格式的时间
还有 你要实现什么目的 再详细一点说明下吧
 楼主| 发表于 2009-1-30 17:49:51 | 显示全部楼层
@@這快有人回覆,我這樣子說吧? 因為我寫不出來....

一、讀取INI的第一筆資料為2007/10/15 18:00:00 >>> 滑鼠自動點擊遊戲中的某建築物...
===
[建築];;;X座標、座標、時間標籤(得拆的好長.......)
01=123|456|2007|10|15|18|00|00    <<<我是猜大概這樣子寫
===

二、腦筋急轉彎...以我們最常看到的自動安裝管理器...
[1]
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[0], $temp[1], $temp[2], $temp[3], $temp[4], $temp[5])

目前在猜想?把ini讀取後,也就成為$temp 0-5的可能...
然後組合成一個完整的 西元年/月/日/時/分/秒....
再找對應的系統時間標籤 去比對此值....達成判斷式
當然資料可能為01-99筆,會動用到 For....

抱歉...我技術菜菜的,無法清晰表達我的想法..請見諒

[ 本帖最后由 ZEROBOYS 于 2009-1-30 17:52 编辑 ]
发表于 2009-1-30 18:19:49 | 显示全部楼层
基本上来说看不懂你说什么 不过看似你想得到ini里的数据 并拆分?

也许

IniRead 先读出来 然后

以 | 为分隔符 StringSplit  一下  这样就能得到那一串里 以|分割的每一个数据 供你使用
发表于 2009-1-30 18:33:10 | 显示全部楼层

回复 4# ZEROBOYS 的帖子

真的看得很迷糊,非常抱歉。
 楼主| 发表于 2009-1-30 20:45:40 | 显示全部楼层
這部份...前陣子通霄研究時,學會了...(雖然不是精通)
我現在是疑惑要怎麼在ini存取一組完整時間標籤,好跟現在的電腦時鐘對比...
目的為
「現在時間 > 排程時間1」>>>執行
「現在時間 > 排程時間2」>>>執行
至於「排程時間」,當然得存在INI檔,就是迷糊了.....沒資料可查
原帖由 sxd 于 2009-1-30 18:19 发表
基本上来说看不懂你说什么 不过看似你想得到ini里的数据 并拆分?

也许

IniRead 先读出来 然后

以 | 为分隔符 StringSplit  一下  这样就能得到那一串里 以|分割的每一个数据 供你使用
发表于 2009-1-30 21:42:11 | 显示全部楼层
这个ini是你自己建立的么?
如果是自己的  那随便你存成什么样  方便后面读取就行
一、假設「san.ini」裡,我想存放完整的時間,該如何去編輯?
IniWrite("C:\1.ini", "建筑", "当前时间", @YEAR & "|" & @MON & "|" & @MDAY & "|" & @HOUR & "|" & @MIN & "|" & @SEC)


[ 本帖最后由 sxd 于 2009-1-30 21:45 编辑 ]
 楼主| 发表于 2009-1-31 01:42:14 | 显示全部楼层
錯愕...原來可以這樣寫@@ 看樣子有微薄希望了...
[建築]
時間=2009|01|31|01|37|12

那反向操作為? 把6個值從ini讀出來?組成一個整體時間標籤?
大概又是這樣子@@...抱歉 我笨笨的 這部份已經卡一禮拜
发表于 2009-1-31 12:14:02 | 显示全部楼层

回复 9# ZEROBOYS 的帖子

是的,用stringsplit函数,分隔符为“|”
就可以组成你要的时间“2009-01-31 01:37:12”
发表于 2009-1-31 12:21:34 | 显示全部楼层

      $NowTime=IniRead("san.ini","建築","時間","")
     $Temp=StringSplit($NowTime,"|")
      $NTime=$Temp[1]&"-"&$Temp[2]&"-"&$Temp[3]&" "&$Temp[4]&":"&$Temp[5]&":"&$Temp[6]

发表于 2009-1-31 12:23:26 | 显示全部楼层
组合---保存
读取---拆分
 楼主| 发表于 2009-1-31 18:26:42 | 显示全部楼层
  呼...花了2個禮拜,不眠不休的研究,觀念還是沒辦法串起來
這一次應該有機會完成了^.^ 感謝各位...
发表于 2009-1-31 20:38:12 | 显示全部楼层
先关闭帖子吧
 楼主| 发表于 2009-1-31 22:41:52 | 显示全部楼层
-_- 還沒搞定啊...錯愕的地方是,拼出來只是一個看起來像時間「文字」標籤...
那就是「2009/01/31 10:39」直接單獨讀出來,沒啥兩樣...
努力測試該怎將6單位拼成「等待時間標籤」,且找出 可以對應的「現在時間標籤」比對...

原帖由 ken0137 于 2009-1-31 20:38 发表
先关闭帖子吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 20:55 , Processed in 0.077577 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表