版本更新問題Part2 |
答題得分者是:pcboy
|
kk714
一般會員 發表:4 回覆:14 積分:3 註冊:2004-11-02 發送簡訊給我 |
之前問的版本更新有幾個小疑問…
試很久都解決不了… 所以又上來問前輩們了… 我有加一個panel…是用來顯示現在狀態的… 不管有新版本下載中或版本是最新的都想在panel中顯示… 不曉得是不是因為有Application.Terminate;的關係 panel都不會顯示,好像都在背景作業完後就自動關閉了… 請問有可以讓panel顯示的方法嘛? 這樣使用者才知道現在是什麼情形!^^" 另外就是在讀取完本機的version.txt檔後 他會自己把server上的version檔的內容寫進client端的version.txt 不過我卻找不到這行… 可以在比對完後不要寫入client端的version.txt中嘛 他在下載新檔後就會有新版的version.txt了 如果他以不正常程序結束程式…也沒安裝新版的 那他的version.txt不就和server上的一樣了嘛… 這樣他也沒有更新成功呢…是 ^^以下為修改後的程式碼 procedure TForm1.FormCreate(Sender: TObject); var fs: TFileStream; Dir : String; Now_Version, New_Version : String; begin //讀取目前版本 Memo1.Lines.LoadFromFile('Version.txt'); Now_Version:=Memo1.Lines[0]; // 取得網站上 Version.txt 中紀錄的版本 try Dir:=GetCurrentDir '\Version.txt'; fs := TFileStream.Create(Dir, fmCreate); IdHTTP1.Get('http://123.123.123.123/Version.txt', fs); finally fs.Free; end; Memo2.Lines.LoadFromFile('Version.txt'); New_Version:=Memo2.Lines[0]; // 如果有新版,下載新版,並執行安裝。 if StrToInt(now_version) < StrToInt(new_version) then begin try Panel1.Caption :='偵測到新版本,下載並安裝'; // 下載後程式存放的路徑和檔名 Dir:=GetCurrentDir '\new.exe'; fs := TFileStream.Create(Dir, fmCreate); // 下載路徑 IdHTTP1.Get('http://123.123.123.123/new.exe', fs); finally fs.Free; ShellExecute(handle, 'Open', PChar('new.exe'), Nil, Nil, SW_SHOWNORMAL); Application.Terminate; end; end; // 如果沒新版 if StrToInt(now_version) = StrToInt(new_version) then begin Panel1.Caption :='您程式為最新版本'; ShellExecute(handle, 'Open', PChar('test.exe'), Nil, Nil, SW_SHOWNORMAL); Application.Terminate; end; end; |
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
> 另外就是在讀取完本機的version.txt檔後
> 他會自己把server上的version檔的內容寫進client端的version.txt > 不過我卻找不到這行… Dir:=GetCurrentDir '\Version.txt'; // 抓下來的檔案寫到 目前目錄 (GetCurrentDir), 檔案名稱 Version.txt fs := TFileStream.Create(Dir, fmCreate); IdHTTP1.Get('http://123.123.123.123/Version.txt', fs); 不要寫入 Client 端的 Version.txt , 您可以換一個檔案名稱 或者將上面三行改成下面一行 Memo1.Text:=IdHTTP1.GetIdHTTP1.Get('http://123.123.123.123/Version.txt');
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
kk714
一般會員 發表:4 回覆:14 積分:3 註冊:2004-11-02 發送簡訊給我 |
|
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
kk714
一般會員 發表:4 回覆:14 積分:3 註冊:2004-11-02 發送簡訊給我 |
|
kk714
一般會員 發表:4 回覆:14 積分:3 註冊:2004-11-02 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
kk714
一般會員 發表:4 回覆:14 積分:3 註冊:2004-11-02 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |