2015-09-26 83 views
0

我想表現在以下問題象安裝過程中剩餘的時間和使用從那裏的代碼,張貼TLama:How to show percent done, elapsed time and estimated time progress?如何指定在Inno Setup中更新剩餘時間標籤的時間段?

的代碼爲我工作,所以感謝。 但是,如果您安裝更大的文件,「剩餘時間標籤」更新的時間段太快。

所以我想問一下,如何更改「剩餘時間標籤」的更新週期,以便它只更新每秒或每半秒。

在此先感謝

回答

0

使用GetTickCount記住上次更新時間。在接下來的調用CurInstallProgressChanged計算差異CurTick和更新標籤只有在差異足夠大(1000 = 1秒)

var 
    LastUpdate: DWORD; 

procedure CurInstallProgressChanged(CurProgress, MaxProgress: Integer); 
var 
    CurTick: DWORD; 
begin 
    CurTick := GetTickCount; 
    if (CurTick - LastUpdate) >= 1000 then 
    begin 
    LastUpdate := CurTick; 
    // Update labels 
    end; 
end; 
+0

謝謝,我試過了,但我做錯了什麼,因爲我沒有看到標籤了。我在'程序CurInstallProgressChanged(CurProgress,MaxProgress:Integer)中添加了以下內容:'var CurTick:DWORD; LastTick:DWORD;'和'開始 LastTick:= GetTickCount; if LastTick-CurTick = 1000 then begin ...(LABELS)'抱歉,我不擅長編程,我不知道我在做什麼錯誤:-(如果有人可以幫助我 – stonemaster

+0

我已經發布了完整的代碼,其中有更改:[鏈接](http://pastebin.com/Ym7ZteAR) – stonemaster

+0

非常感謝,這對我很有用。沒想到它很容易,真的感覺傻了... – stonemaster