UpdateButton: TButton;
IdHTTP: TIdHTTP;
IdAntiFreeze: TIdAntiFreeze;
+ NightBuildCheckButton: TButton;
procedure UpdateButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
+ procedure NightBuildCheckButtonClick(Sender: TObject);
private
{ Private \90é\8c¾ }
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 \90é\8c¾ }
end;
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;
+//! \83A\83b\83v\83f\81[\83g\91Î\8fÛ\8am\94F
+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;
value := GikoSys.GzipDecompress(ResStream,
IdHTTP.Response.ContentEncoding);
downResult.Text := value;
- newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'version' ],
+ if (nightbuild) then begin
+ ResultMemo.Lines.Add('\8dÅ\90V\82Ìnight build\82Í\81A' + downResult.Values[ 'n_version' ]);
+ newest.Text := MojuUtils.CustomStringReplace(downResult.Values[ 'n_version' ],
'.', #10, false);
+ end else begin
+ ResultMemo.Lines.Add('\8dÅ\90V\82Ì\83M\83R\83i\83r\82Í\81A' + 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('\90V\82µ\82¢\83M\83R\83i\83r\82ª\82 \82è\82Ü\82·\81B\83_\83E\83\93\83\8d\81[\83h\82ð\8aJ\8en\82µ\82Ü\82·\81B' + downResult.Values[ 'url' ]);
+ newgiko := false;
+ // night build\82Í\81A\83r\83\8b\83h\94Ô\8d\86\82¾\82¯\82Å\94»\92è\82·\82é
+ 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, '\90V\82µ\82¢\83M\83R\83i\83r\82ª\82 \82è\82Ü\82·\81B\83_\83E\83\93\83\8d\81[\83h\82µ\82Ü\82·\82©\81H', '\8dX\90V\8am\94F',
+ MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
- DonwloadUpdate(Trim(downResult.Values[ 'url' ]));
+ ResultMemo.Lines.Add('\90V\82µ\82¢\83M\83R\83i\83r\82ª\82 \82è\82Ü\82·\81B\83_\83E\83\93\83\8d\81[\83h\82ð\8aJ\8en\82µ\82Ü\82·\81B' + downResult.Values[ 'url' ]);
+ DonwloadUpdate(Trim(downResult.Values[ 'url' ]));
+ end;
end else begin
ResultMemo.Lines.Add('\8d¡\82Ì\83M\83R\83i\83r\82ª\8dÅ\90V\82Å\82·\81B');
end;
ResultMemo.Lines.Clear;
end;
+procedure TUpdateCheckForm.NightBuildCheckButtonClick(Sender: TObject);
+begin
+ if GikoUtil.MsgBox(Handle, '\90³\8e®\83\8a\83\8a\81[\83X\94Å\82Å\82Í\82 \82è\82Ü\82¹\82ñ\82ª\82æ\82ë\82µ\82¢\82Å\82·\82©\81H', '\8dX\90V\8am\94F',
+ MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = ID_YES then begin
+ CheckUpdate(true);
+ end;
+end;
+
end.