From 145a7b174f53df2972f30af26c58243b65a7570d Mon Sep 17 00:00:00 2001 From: h677 Date: Sun, 5 Oct 2008 04:16:05 +0000 Subject: [PATCH] =?utf8?q?=E4=BA=BA=E6=9F=B1=E7=89=88=E6=9B=B4=E6=96=B0?= =?utf8?q?=E3=82=92=E5=88=86=E9=9B=A2=E3=80=82=20DL=E3=81=99=E3=82=8B?= =?utf8?q?=E3=81=BE=E3=81=88=E3=81=AB=E7=A2=BA=E8=AA=8DDialog=E3=82=92?= =?utf8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- UpdateCheck.dfm | 13 +++++++++++-- UpdateCheck.pas | 50 ++++++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/UpdateCheck.dfm b/UpdateCheck.dfm index f6be24c..2c33b3b 100644 --- a/UpdateCheck.dfm +++ b/UpdateCheck.dfm @@ -31,6 +31,15 @@ object UpdateCheckForm: TUpdateCheckForm TabOrder = 0 OnClick = UpdateButtonClick end + object NightBuildCheckButton: TButton + Left = 368 + Top = 8 + Width = 107 + Height = 25 + Caption = #20154#26609#29256#26356#26032 + TabOrder = 1 + OnClick = NightBuildCheckButtonClick + end end object Panel2: TPanel Left = 0 @@ -63,11 +72,11 @@ object UpdateCheckForm: TUpdateCheckForm Request.BasicAuthentication = False Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)' HTTPOptions = [hoForceEncodeParams] - Left = 400 + Left = 304 Top = 8 end object IdAntiFreeze: TIdAntiFreeze - Left = 440 + Left = 336 Top = 8 end end diff --git a/UpdateCheck.pas b/UpdateCheck.pas index 4d12e4d..fe0fa4d 100644 --- a/UpdateCheck.pas +++ b/UpdateCheck.pas @@ -15,14 +15,17 @@ type UpdateButton: TButton; IdHTTP: TIdHTTP; IdAntiFreeze: TIdAntiFreeze; + NightBuildCheckButton: TButton; procedure UpdateButtonClick(Sender: TObject); procedure FormCreate(Sender: TObject); + procedure NightBuildCheckButtonClick(Sender: TObject); private { Private éŒ¾ } function GetDesktopDir:string; function GetDownloadFilePath(FileName: String): String; function CreateShortCut(FileName, Argment, SavePath :string):boolean; procedure DonwloadUpdate(url: String); + procedure CheckUpdate(nightbuild :Boolean); public { Public éŒ¾ } end; @@ -33,17 +36,23 @@ var implementation uses GikoSystem, NewBoard, Giko, IniFiles, MojuUtils, GikoDataModule, - ActiveX, ComObj, ShlObj; - + ActiveX, ComObj, ShlObj, GikoUtil; + {$R *.dfm} procedure TUpdateCheckForm.UpdateButtonClick(Sender: TObject); +begin + CheckUpdate(false); +end; +//! ƒAƒbƒvƒf[ƒg‘Ώۊm”F +procedure TUpdateCheckForm.CheckUpdate(nightbuild :Boolean); const CHECK_URL = 'http://gikonavi.sourceforge.jp/updater/latest.txt'; var value : string; ResStream: TMemoryStream; downResult, current, newest: TStringList; + newgiko: Boolean; begin ResultMemo.Lines.Clear; Screen.Cursor := crHourGlass; @@ -70,17 +79,34 @@ begin value := GikoSys.GzipDecompress(ResStream, IdHTTP.Response.ContentEncoding); downResult.Text := value; - newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'version' ], + if (nightbuild) then begin + ResultMemo.Lines.Add('ÅV‚Ìnight build‚́A' + downResult.Values[ 'n_version' ]); + newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'n_version' ], '.', #10, false); + end else begin + ResultMemo.Lines.Add('ÅV‚̃MƒRƒiƒr‚́A' + downResult.Values[ 'version' ]); + newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'version' ], + '.', #10, false); + end; current.Text := MojuUtils.CustomStringReplace(GikoSys.Version, '.', #10, false); if newest.Count >= 2 then begin - if ( StrToInt(current[1]) < StrToInt(newest[1]) ) or - ( (StrToInt(current[1]) = StrToInt(newest[1]))) and - ((StrToInt(current[2]) < StrToInt(newest[2])) ) then begin - ResultMemo.Lines.Add('V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚ðŠJŽn‚µ‚Ü‚·B' + downResult.Values[ 'url' ]); + newgiko := false; + // night build‚́Aƒrƒ‹ƒh”ԍ†‚¾‚¯‚Å”»’è‚·‚é + if (nightbuild) then begin + newgiko := StrToInt(current[3]) < StrToInt(newest[3]); + end else begin + newgiko := ( StrToInt(current[1]) < StrToInt(newest[1]) ) or + ( (StrToInt(current[1]) = StrToInt(newest[1]))) and + ((StrToInt(current[2]) < StrToInt(newest[2])) ); + end; + if (newgiko) then begin + if GikoUtil.MsgBox(Handle, 'V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·‚©H', 'XVŠm”F', + MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin - DonwloadUpdate(Trim(downResult.Values[ 'url' ])); + ResultMemo.Lines.Add('V‚µ‚¢ƒMƒRƒiƒr‚ª‚ ‚è‚Ü‚·Bƒ_ƒEƒ“ƒ[ƒh‚ðŠJŽn‚µ‚Ü‚·B' + downResult.Values[ 'url' ]); + DonwloadUpdate(Trim(downResult.Values[ 'url' ])); + end; end else begin ResultMemo.Lines.Add('¡‚̃MƒRƒiƒr‚ªÅV‚Å‚·B'); end; @@ -203,4 +229,12 @@ begin ResultMemo.Lines.Clear; end; +procedure TUpdateCheckForm.NightBuildCheckButtonClick(Sender: TObject); +begin + if GikoUtil.MsgBox(Handle, '³Ž®ƒŠƒŠ[ƒX”Å‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ª‚æ‚낵‚¢‚Å‚·‚©H', 'XVŠm”F', + MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin + CheckUpdate(true); + end; +end; + end. -- 2.11.0