谁有“在线更新”的原码和NMHttp控件 ?(100分) (100分)

  • 主题发起人 主题发起人 xumin23
  • 开始时间 开始时间
X

xumin23

Unregistered / Unconfirmed
GUEST, unregistred user!
类似于瑞星升级的那一种
xumin23@sohu.com
xumin23@sina.com
多谢!
 
程序自动更新控件 AutoUpgrader Pro。
google搜索一下~~很多地方都有。
playicq上的有源代码。
 
playicq上的有源代码。
 
找不到,哪位富翁有麻烦你给我一份
谢谢!
 
www.njkc.com.cn/down/AutoUpgrader_v4.11_For_Delphi_With_Source.rar
 
名称: 简单的在线升级的实现方法 -- 作者:徐长友
适合系统: Windows 2000 Windows XP Windows 9*/ME Windows NT
简介: 用过一般的杀毒软件,都知道,启动程序时,常会问,网上已经有新版本的,是否升级之类的提示,现在越来越多的软件都支持在线升级,
你是否也想实现这个功能?本文就是如何实现在线升级,讲述一下如何通过HTTP检测是否需要下载升级版本,并下载升级。
[ 相关贴图 ]
http://yousoft.hi.com.cn/upload/news/n20037652710.gif
[ 相关贴图 ]
http://yousoft.hi.com.cn/upload/news/n20037652827.gif
[ 相关贴图 ]
http://yousoft.hi.com.cn/upload/news/n20037652852.gif
实现步骤:
1、网站提供升级信息。
2、使用HTTP从网站下载升级信息。
3、确定是否进行升级
4、升级程序

下面我们定义一下升级信息:
[文件名1]
datetime=时间
[文件名2]
datetime=时间
存为HTML文件,如定义一个update.htm
[programe1.exe]
datetime=2003-07-06
[programe1.hlp]
datetime=2003-07-06

这里只是简单的判断一下文件的时间,如果时间比需要升级的文件时间小的,表示要下载新版本升级它。当然要做到十全十美,这是判断是不合理的,这里只作个简单的介绍。
写个fuction,判断是否有新的版本要升级

function ExistNewfile&:boolean;
var i,iFileHandle:integer;
FileDateTime:TDateTime;
AppIni:TiniFile;
g_path:string;
url:string;
files:TStrings;
begin
result:=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+‘/‘;

//下载升级信息文件
try
HTTPFiles.InputFileMode := true;
HTTPFiles.OutputFileMode := FALSE;
HTTPFiles.ReportLevel := Status_Basic;
HTTPFiles.Body:=g_path+‘update/update.ini‘; //下载后保存到程序的update目录下
HTTPFiles.Get(url);
except
result:=false; //‘取得升级信息出错!,不用再继续
exit;
end;
try
files:=TStringlist.Create; //有哪些文件?
AppIni := TIniFile.Create(g_path+‘updateupdate.ini‘);
AppIni.ReadSections(files);
for i:=0 to files.Count-1 do
try
iFileHandle :=FileOpen(g_path+files,fmShareDenyNone);
FileDateTime:=FileDateToDateTime(FileGetDate(iFileHandle)); //取得文件时间
FileClose(iFileHandle);
//是否要下载文件
if FileDateTime<strtodatetime(Appini.ReadString(files,‘datetime‘,‘1900-1-1‘)) then
begin
result:=true;
break;
end;
except
end;
finally
AppIni.free;
files.Free;
end;
end;

取得files后文件下载!httpfiles为TNMHTTP
HTTPFiles.InputFileMode := true;
HTTPFiles.OutputFileMode := FALSE;
HTTPFiles.ReportLevel := Status_Basic;
HTTPFiles.Body:=g_path+‘update/‘+files;
HTTPFiles.Get(url);

把下载后的文件复制到原程序,并备份出一份
for i:=0 to files.Count-1 do //备份文件
begin
//备份一份文件出来
copyfile(pchar(g_path+files),pchar(g_path+files+‘.bak‘),false);
end;
for i:=0 to files.Count-1 do //从update复制新文件
begin
copyfile(pchar(g_path+‘update‘+files),pchar(g_path+files),false);
end;
因为采用了TNMHTTP,文件下载的进度并不是很好控制,可以在TNMHTTP的PacketRecvd事件,确定进度
在线升级的方法就这样简单介绍了,在DELPHI6+WIN2000环境调试通过,这里我没有写出完整的代码,有兴趣可以自己写写,多加改善
在我的主页我做了演示程序,大家可以看看,网址是:http://yousoft.hi.com.cn

 
缺少NMHttp控件
 
你用的是Delphi7吧!
NMHttp控件是Delphi5、6中FastNet包中的,在Delphi7中, FastNet控件组不复存在
 
谁说NMHttp在Delphi7里面不存在?是Delphi7没有把bpl安装上去。
到Bin目录里面查看一些dpl文件,里面一定有NM的。
 
谁知道哪个bpl文件里面有NMHttp?
 
文件下载的进度并不是很好控制,我根本就控制不了啊,哪们富富能给个代码.
 
那这个就只能在DELPHI 6中编译了吗?
 
我经常在CSDN里的。感觉这里也不错啊。
 
http://www.eastspar.com/sware/updata.exe
 
to:fftou
能否将http://www.eastspar.com/sware/updata.exe的源码发给我一份,谢谢,国庆愉快!
xumin23@sina.com
xumin23@sohu.com
 
http://yousoft.hi.com.cn
上的哪个源码不错,D7编译不了,因为没有带fastnet控件,所以也就没有NMHttp,这个fastnet控件有d7版本的,呵呵,不过是收费的。
贡献点东西给大家,祝大家国庆快乐。
原来在D5、D6中的控件在D7中有些没有默认安装,大家如果需要可以自己手动安装,下面就其中的一部分bpl列表说明其中的控件:
dclact70.bpl (Borland Actionbar Components)
包括的控件:TStandardColorMap、TTwilightColorMap、TXPColorMap、TActionToolBar、TActionManager、TActionMainMenuBar、TCustomizeDlg

dclado70.blp(Borland ADO DB Components)
包括的控件:TADOCommand、TADOConnection、TADODataSet、TADOQuery、TADOStoredProc、TADOTable、TRDSConnection

dclbde70.bpl(Borland BDE DB Components)
包括的控件:TDBLookupCombo、TDBLookupList、TBatchMove、TDatabase、TNestedTable、Tquery、TSession、TStoredProc、TTable、TUpdateSQL

dclclxdb70.bpl(Borland CLX Database Components)
包括的控件:TDBCheckBox、TDBComboBox、TDBEdit、TDBImage、TDbListBox、TDBLookupComboBox、TDBLookupListBox、TDBMemo、TDBNavigator、TDBRadioGroup、TDBText、TDBGrid

dclclxstd70.bpl(Borland CLX Standard Components)
包括的控件:TActionList、TBitBtn、TSpeedButton、TCheckListBox、TAnimate、THeaderControl、TIconView、TListView、TPageControl、TProgressBar、TSpinEdit、TStatusBar、TTabControl、TTextBrowser、TTextViewer、TToolBar、TTrackBar、TTreeView、TColorDialog、TFindDialog、TFontDialog、TOpenDialog、TSaveDialog、TBevel、TControlBar、TImage、TPaintBox、TPanel、TRadioGroup、TShape、TSplitter、TTimer、TDirectoryTreeView、TFileEdit、TFileHistoryComboBox、TFileIconView、TFileListView、TFilterComboBox、TDrawGrid、TImageList、TMaskEdit、TMainMenu、TPopupMenu、TButton、TCheckBox、TComboBox、TEdit、TGroupBox、TLabel、TLCDNumber、TListBox、TMemo、TRadioButton、TScrollBar

dcldb70.bpl(Borland Database COmponents)
包括的控件:TDdataSourse、TDBCtrlGrid、TDBCheckBox、TDBComboBox、TDBEdit、TDBImage、TDBListBox、TDBLookupComboBox、TDBLookupListBox、TDBMemo、TDBNavigator、TDBRadioGroup、TDBRichEdit、TDBText、TDBGrid

dclmcn70.bpl(Borland DataSnap Connection Components)
包括的控件:TConnectionBroker、TDCOMConnection、TSharedConnection、TSimpleObjectBroker、TSocketConnection、TWebConnection、TLocalConnection

dcldbx70.bpl(Borland dbExpress Components)包括的控件:TSQLConnection、TSQLDataSet、TSQLMonitor、TSQLQuery、TSQLStoredProc、TSQLTable

dcldss70.bpl(Borland Decision Cube Components)
包括的控件:TDecisionCube、TDecisioinSource、TDecisionGraph、TDecisionGrid、TDecisionPivot、TDecisionQuery

ibevnt70.bpl(Borland Interbase Event Alerter Component)
包括的控件:TIBEventAlerter

dclnet70.bpl(Borland Internet Components)
包括的控件:TQueryTableProducer、TDataSetTableProducer、TSQLQueryTableProducer、TDataSetPageProducer、TWebDispatcher、TPageProducer、TTcpClient、TTcpServer、TUdpSocket、TXMLDocument

dclisp70.bpl(Borland Internet Solutions Pack Components)
包括的控件:TFTP、THTML、THTTP、TNNTP、TPOP、TSMTP、TTCP、TUDP

dclwbm70.bpl(Borland InternetExpress Components)
包括的控件:TInetXPageProducer、TMidasPageProducer、TXMLBroker、TXMLTransform、TXMLTransformClient、TXMLTransformProvider

dclmid70.bpl(Borland MyBase DataAccess Components)
包括的控件:TClientDataSet、TDataSetProvider

dclsmp70.bpl(Borland Sample Components)
包括的控件:TCalendar、TColorGrid、TDirectoryOutline、TGauge、TSpinButton、TSpinEdit

dclocx70.bpl(Borland Sample Imported ActiveX Controls)
包括的控件:TChartfx、TF1Book、TVtChart、TVSSpell

dcldbxcds70.bpl(Borland SimpleDataset Component(DBX))
包括的控件:TSimpleDataSet

dclsoap70.bpl(Borland SOAP Components)
包括的控件:TOPToSoapDomConvert、TSoapConnectoin、THTTPRIO、THTTPSoapPascalInvoker、THTTPReqResp、THTTPSoapDispatcher、TWSDLHTMLPublish

dclsockets70.bpl(Borland Socket Components)
包括的控件:TClientSocket、TServerSocket

dclstd70.bpl(Borland Standard Components)
包括的控件:TActionList、TApplicationEvents、TBitBtn、TSpeedButton、TCheckListBox、TCOMAdminCatalog、TAnimate、TComboBoxEx、TCoolbar、TDateTimePicker、THeaderControl、THotKey、TListView、TMonthCalendar、TPageControl、TPageScroller、TProgressBar、TRichEdit、TStatusBar、TTabControl、TToolBar、TTrackBar、TTreeView、TUpDown、TImageList、TDdeClientConv、TDdeClientItem、TDdeServerConv、TDdeServeritem、TColorDialog、TFindDialog、TFontDialog、TOoenDialog、TPageSetupDialog、TPrintDialog、TPrinterSetupDialog、TReplaceDialog、TSaveDialog、TBevel、TColorBox、TControlBar、TImage、TLabeledEdit、TPaintBox、TPanel、TRadioGroup、TShape、TSplitter、TTimer、TOpenPictureDialog、TSavePictureDialog、TScrollBox、TDrawGrid、TStringGrid、TMaskEdit、TMainMenu、TmediaPlayer、TOleContainer、TButton、TCheckBox、TComboBox、TEdit、TGroupBox、TLabel、TListBox、TMemo、TRadioButton、TScrollBar、TStaticText、TValueListEditor、TXPManifest

dclwebsnap70.bpl(Borland WebSnap Components)
包括的控件:TDataSetAdapter、TDataSetValuesList、TAdapterPageProducer、TAdapter、TApplicationAdapter、TEndUserAdapter、TEndUserSessionAdapter、TLoginFormAdapter、TPagedAdapter、TStringsValuesList、TAdapterDispatcher、TLocateFileService、TPageDispatcher、TWebAppComponents、TSessionsService、TWebUserList、TXSLPageProducer

dcl31w70.bpl(Delphi1.0 Compatibility Components)
包括的控件:THeader、TNotebook、TDirectoryListBox、TDriveComboBox、TFileListBox、TFilterComboBox、TOutline、TTabbedNotebook、TTabSet

DCLIB70.bpl(InterBase DataAccess Components)
包括的控件:TIbClientDataSet、TIBDataSet、TIBDatabase、TIBTransaction、TIBDatabaseinfo、TIBevents、TIBExtract、TIBQuery、TIBSQL、TIBSQLMonitor、TIBStoredProc、TIBTable、TIBUpdateSQL

dclindy70.bpl(Internet Direct(Indy)for D7 Property and Component Editors)
包括的控件:TIdAntiFreeze、TIdBlockCipherIntercept、TIdChargenServer、TIdChargenUDPServer、TIdDecodeMIME、TIdEncodeMIME、...

dclie70.bpl(Internet Explorer Components)
包括的控件:TWebBrowser

dclIntraweb_50_70.bpl(Intraweb 5.0 Design Package for Delphi7)
包括的控件:TIWClientSideDataset、TIWCheckBox、TIWButton、TIWEdit...

dcloffice2k70.bpl(Microsoft Office 2000 Sample Automation Server Wrapper Components)
包括的控件:TAccessApplicatoin、TAccessForm、TAccessReferences、TAccessReport、TClass_、TBinder、TExcelApplication、TExcelChart、TExcelOLEOBject、EExcelQueryTable、TExcelWorkbook、TExcelWorksheet、Tmaster、TPowerPointApplication、TPowerPointPresentation、TPowerPointSlide、TContactItem、TDistListItem、TDocumentItem、TExplorers、TFolders、TInspectors、TItems、TJournalItem、TnameSpace、TOutlookApplication、TOutlookBarGroups、TOutlookBarPane、TOutlookBarShortcuts、TPostItem、TRemoteItem、TReportItem、TTaskRequestAcceptItem、TTaskRequestAcceptItem、TTaskRequestDeclineItem、TTaskRequestItem、TTaskRequestUpdateItem、TWordApplication、TWordDocument、TWordFont、TWordLetterContent、TWordParagraphFormat

dclqrt70.bpl(QuickReport Components)
包括的控件:TQRDBImage、TQRDBRichText、TQRDBText、TQRExpr、TQRExprMemo、TQRImage、TQRLabel、TQRLabel、TQRMemo、TQRRichText、TQRShape、TQRSysData、TQRCSVFilter、TQRHTMLFilter、TQRTextFilter、TQRPreview、TQRBand、TQRChildBand、TQRCompositeReport、TQRGroup、TQRStringsBand、TQRSubDetail、TQuickRep

dclRave70.bpl(Rave Reports DE 5.0 Package)
包括的控件:TRvCustomConnection、TRvQueryConnection、TRvTableConnection、TRvDataSetConnection、TRvNDRWrite、TRvProject、TRvRenderHTML、TRvRenderPDF、TRvRenderPreview、TRvRenderPrinter、TRvRenderRTF、TRvRenderText、TRvSystem、TRvCustomConnection、TRvTableConnection、TRvDataSetConnection、TRvNDRWriter、TRvProject

dclshlctrls70.bpl(Shell Control Property and Component Editors)
包括的控件:TShellChangeNotifier、TShellComboBox、TShellListView、TShellTreeview

dcltee70.bpl(TeeChart Components)
包括的控件:TChart、TDBChart

dcltqr70.bpl(TeeChart for QuickReport Components)
包括的控件:TQRChart
 
建议使用
程序自动更新控件 AutoUpgrader Pro。
www.playicq.com有的下
那里还有一个自动升级的源码!
 
发信太慢了,playicq的要钱,给你个网址自己下吧
http://www.fixdown.com/fixdown/down.asp?id=vNNGwHNwvvdHvoNGovvcHNQHQ&amp;soft=scdown
不要告诉别人呦

。给分呀
 
你说的是什么,下不了啊。
 
后退
顶部