c语言实例解析精粹,关于用TNMHTTP实现在线升级,请高手帮忙解析调试,或其他实例!!!

关于用TNMHTTP实现在线升级,请高手帮忙解析调试,或其他实例!!! - 故障解答 - 电脑教程网

关于用TNMHTTP实现在线升级,请高手帮忙解析调试,或其他实例!!!

日期:2007-06-09   荐:
关于用TNMHTTP实现在线升级,请高手帮忙解析调试,或其他实例!!!function tform1.ExistNewfile:boolean;var i,iFileHandle:integer;FileDateTime:TDateTime;AppIni:TiniFile;g_path:string;url:string;files:TStrings;beginresult:=false;url:='http://yousoft.hi.com.cn/update.htm/'; //要升级的服务器g_path:=ExtractFilePath(application.ExeName); //升级程序的路径if copy(g_path,length(g_path),1)<>'\' then g_path:=g_path '\';if copy(url,length(url),1)<>'/' then url:=url '/';//下载升级信息文件tryform1.HTTPFiles.InputFileMode:= true;form1.HTTPFiles.OutputFileMode := FALSE;form1.HTTPFiles.ReportLevel := Status_Basic;form1.HTTPFiles.Body:=g_path 'update/update.ini'; //下载后保存到程序的update目录下form1.HTTPFiles.Get(url);exceptresult:=false; //'取得升级信息出错!,不用再继续exit;end;tryfiles:=TStringlist.Create; //有哪些文件?AppIni := TIniFile.Create(g_path '\update\update.ini');AppIni.ReadSections(files);for i:=0 to files.Count-1 dotryiFileHandle :=FileOpen(g_path files[i],fmShareDenyNone);FileDateTime:=FileDateToDateTime(FileGetDate(iFileHandle)); //取得文件时间FileClose(iFileHandle);//是否要下载文件if FileDateTime<strtodatetime(Appini.ReadString(files[i],'datetime','1900-1-1')) thenbeginresult:=true;break;end;exceptend;finallyAppIni.free;files.Free;end;HTTPFiles.InputFileMode := true;HTTPFiles.OutputFileMode := FALSE;HTTPFiles.ReportLevel := Status_Basic;HTTPFiles.Body:=g_path 'update/' files[i];HTTPFiles.Get(url);///////////for i:=0 to files.Count-1 do //备份文件begin//备份一份文件出来copyfile(pchar(g_path files[i]),pchar(g_path files[i] '.bak'),false);end;for i:=0 to files.Count-1 do //从update复制新文件begincopyfile(pchar(g_path 'update\' files[i]),pchar(g_path files[i]),false);end;end;procedure TForm1.Button1Click(Sender: TObject);beginExistNewfile(); //按钮点击升级end;网上有的是升级的例子,下一个改改就得了顶!!!这个就是网上下来的,不会改呀!!尤其是这两名句url:='http://yousoft.hi.com.cn/update.htm/'; //要升级的服务器g_path:=ExtractFilePath(application.ExeName); //升级程序的路径不明白
标签: