欢迎来到天天文库
浏览记录
ID:41994400
大小:66.00 KB
页数:6页
时间:2019-09-05
《软件工程概论教学资料:浏览器x的部分源代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、附录六部分源代码1、浏览完成浏览器必需的浏览功能。//#include#pragmahdrstopincludeHCWin.hH#include//#pragmapackage(smart_init)#pragmalinkuSHDocVw_OCX"#pragmaresourceTForm1*Form1;//_fastcallTForm1::TForm1(TComponent*Owner):TForm(Owner){〃设置浏览器起始页面〃空白页TVariant*starturl=newTVariant(CppWebBrowserl->
2、Path+"blankM);CppWebBrowserI->Navigate2(starturl);}//void_fastcallTForml::CppWebBrowserlBeforeNavigate2(TObject^Sender,LPDISPATCHpDisp,TVariant*URL,TVariant*Flags,TVariant^TargetFrameName,TVariant*PostData,TVariant^Headers,TOLEBOOL^Cancel){〃修改地址栏为当前页面网址AddrBar->Text=*URL;}//void_fastcallTF
3、orml::StartBrowseClick(TObject^Sender){〃按钮go;浏览〃鼠标点击按钮,开始浏览地址栏中请求网页〃默认,回车键TVariant*url=newTVariant(AddrBar->Text);CppWebBrowserI->Navigate2(url);}//void_fastcallTForm1::stopClick(TObject^Sender){〃按钮stop;停止〃鼠标点击按钮,停止当前浏览请求CppWebBrowserl->Stop();1//void_fastcallTForm1::refreshClick(TObject^S
4、ender){〃按钮refresh;刷新〃鼠标点击按钮,刷新当前显示页面CppWebBrowser1->Refresh();//void_fastcallTForml::backClick(TObject^Sender)〃按钮vv;后退〃鼠标点击按钮,访问历史链表中的后一网页CppWebBrowserl->GoBack();}//void_fastcallTForm1::forwardClick(TObject^Sender){〃按钮>>;前进〃鼠标点击按钮,访问历史链表中的前一网页CppWebBrowser1->GoForward();}//void_fastcallTF
5、orml::homeClick(TObject^Sender){〃按钮home:主页〃鼠标点击按钮,显示IE默认主页CppWebBrowser1->GoHome();}//2、Htip请求消息类Http请求消息的分析和构造。下面的代码实现了类中基本功能一一获取请求消息,并分析其urL//AnsiStringreq;//http-request;请求消息AnsiStringreqA;//requestaddress;请求文件对象urlintspos=0;〃临时变量〃从服务器端口获取请求消息的报文req=Socket->ReceiveText();〃从报文中分离出请求的urlr
6、eqA=req;spos=req.Pos(Hn);spos++;reqA=req.SubString(spos,req.Length()-spos);spos=reqA.Pos("");spos-・;reqA=reqA.SubString(1,spos);//3、Http响应消息类Http响应消息的分析和构造。下面的代码实现了类屮基本功能一一获取,构造完整的响应消息,并发送。//AnsiStringreqA;//requestaddress;请求文件刈像urlAnsiStringrep,reph,repb;//http-response;n
7、q
8、应消息包二头+体//resp
9、onsehead;响应消息包头//responsebody;响应消息文件体〃从Web上获取响应消息TNMHTTP*HTTP1=newTNMHTTP(O);HTTPl->Get(reqA);reph=HTTPl->Header;repb=HTTP1->Body;free(HTTP1);rep=reph+repb;〃向浏览器发送响应消息Socket->SendText(rep);//4、缓存文件类与硕盘缓存目录、文件相关的创建和读写操作。下面的代码实现了类中基本功能一一硬盘缓存目录、文件相关的创建和读写操作//Ansi
此文档下载收益归作者所有