在DELPHI7中如何按照关键字批量搜索Tembeddedwb控件的文本内容

job_zjw 2016-02-18 06:20:38
本人在delphi7中利用Tembeddedwb控件的searchstring函数批量进行网页关键字搜索,网页内容是存储在mysql数据库中的longtext类型字段,为什么我写了
memerystream.postion:=0;
Tembeddedwb.loadfromstream(memerystream);
if Tembeddedwb.searchstring('有一些') then
begin
......
end;
却无法执行begin。。end中的代码段。
另外,请问各位大侠有没有关于Tembeddedwb控件的函数使用说明,谢谢!
...全文
624 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
job_zjw 2016-02-28
  • 打赏
  • 举报
回复
memorystream内存流写了,但任然无法Searchstr, 另外htmlcode查看了也没有问题, 现在我变通的处理了,将memorystream转换成stringstream,然后自己写了一个模式匹配的查找算法, 解决了该问题,但新的问题又来了,有部分HTMLCODE是GB2312的解码方式,有部分HTMLCODE是UTF8的解码方式,而我的模式匹配查找算法统一用ansitoUTF8的转换函数查找,这样的话有些非UTF8的编码方式仍然不能用模式匹配的方式比较查找,我想把HTMLCODE统一转成UTF8编码方式再进行模式匹配,请问各位大侠有没有做过HTMLCODE转UTF8的函数。
fhfanxin 2016-02-23
  • 打赏
  • 举报
回复
memo显示HTMLCode试试看
fhfanxin 2016-02-23
  • 打赏
  • 举报
回复
memerystream Write 你有写入东西在内存流吗? 纯粹消灭零回复
TEmbeddedWB是一个很好的IE编程控件,现支持Delphi2009! =================================== Version 14.66.1 =================================== This version adds some constants for IE8, D2009 compatibility and includes some fixes / changes. * file EWB.inc: Added D2007, D2009 defines. {$IFDEF DELPHI_13_UP} {$ELSE} {$ENDIF} * EWBCore.pas: EnableThemes is set to True by default (I think this makes sense) -> UserInterfaceOptions := [EnableThemes]; * unit TEmbeddedWB.pas - Removed the Wait() in TEmbeddedWB.GetFrame as it could block - Modified Visible Property to work properly. Instead of TControl(TEmbeddedWB).Visible you can write TEmbeddedWB.Visible - Bsalsa UserAgent is not automatically set anytime anymore as it causes some problems. -> Modified SetUserAgent. Renamed RemoveUserAgent to RestoreUserAgent - Fix: Handle M_GETDLGCODE message in TEmbeddedWB.WndProc * unit IEConst: - Added constants that are missing in previous delphi versions: BINDSTATUS_COOKIE_SENT = BINDSTATUS_ACCEPTRANGES + 1; BINDSTATUS_COMPACT_POLICY_RECEIVED = BINDSTATUS_COOKIE_SENT + 1; BINDSTATUS_COOKIE_SUPPRESSED = BINDSTATUS_COMPACT_POLICY_RECEIVED + 1; BINDSTATUS_COOKIE_STATE_UNKNOWN = BINDSTATUS_COOKIE_SUPPRESSED + 1; BINDSTATUS_COOKIE_STATE_ACCEPT = BINDSTATUS_COOKIE_STATE_UNKNOWN + 1; BINDSTATUS_COOKIE_STATE_REJECT = BINDSTATUS_COOKIE_STATE_ACCEPT + 1; BINDSTATUS_COOKIE_STATE_PROMPT = BINDSTATUS_COOKIE_STATE_REJECT + 1; BINDSTATUS_COOKIE_STATE_LEASH = BINDSTATUS_COOKIE_STATE_PROMPT + 1; BINDSTATUS_COOKIE_STATE_DOWNGRADE = BINDSTATUS_COOKIE_STATE_LEASH + 1; BINDSTATUS_POLICY_HREF = BINDSTATUS_COOKIE_STATE_DOWNGRADE + 1; BINDSTATUS_P3P_HEADER = BINDSTATUS_POLICY_HREF + 1; BINDSTATUS_SESSION_COOKIE_RECEIVED = BINDSTATUS_P3P_HEADER + 1; BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = BINDSTATUS_SESSION_COOKIE_RECEIVED + 1; - Added IE8 constants: BINDSTATUS_COOKIE_DATA = BINDSTATUS_SSLUX_NAVBLOCKED + 1; //IE8 BINDSTATUS_SERVER_MIMETYPEAVAILABLE = BINDSTATUS_COOKIE_DATA + 1; //IE8 BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = BINDSTATUS_SERVER_MIMETYPEAVAILABLE + 1; //IE8 BINDSTATUS_64BIT_PROGRESS = BINDSTATUS_SNIFFED_CLASSIDAVAILABLE + 1; //IE8 * unit IEDownloadTools: - Added the new IE8 results to the function BindStatusText: BINDSTATUS_COOKIE_DATA: Result := 'Cookie headers have been received'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_SERVER_MIMETYPEAVAILABLE: Result := 'Server''s authoritative MIME type reported'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_SNIFFED_CLASSIDAVAILABLE: Result := 'Class identifier (CLSID) generated from authoritative Content-Type HTTP response header'; //IE8 - Attention: This documentation is preliminary and is subject to chang BINDSTATUS_64BIT_PROGRESS: Result := 'Download progress values are above the maximum 32-bit file size limit.'; //IE8 - Attention: This documentation is preliminary and is subject to chang * Various changes to make it D2009 compatible
Delphi第三方控件EmbeddedWB,这是一个不错的浏览器控件,比Delphi自带的Webbrowser要强悍 EmbeddedWB安装方法: 1.下载压缩包,飘易下载的是EmbeddedWB v14.67.0版本,下载地址:http://www.delphifans.com/SoftView/SoftView_2705.html。 2.解压整个压缩包到 lib\EmbeddedWB 下; 3.复制 lib\EmbeddedWB 下的Packages目录EmbeddedWebBrowser_D2007.dpk(因为飘易使用的是DELPHI2007)到Source目录里; 4.用Delphi7开发环境打开 EmbeddedWebBrowser_D2007.dpk 文件,按Optios按钮,作如下调整: Directories/Conditionals标签Unit Output Dir=“D:\Program Files\CodeGear\RAD Studio\5.0\lib\EmbeddedWB\Source”(具体路径自行决定); 5.按Compile 再按Install; 6.不要保存变化了的dpk文件及压缩包; 7.在具体的编译工程时,需检查该源目录(D:\Program Files\CodeGear\RAD Studio\5.0\lib\EmbeddedWB\Source)在 Delphi IDE 的 "Search Path" 路径里(Project -> Options -> irectories/Conditionals -> Search Path); 如果没有,添加这个源目录路径。否则,在使用该控件的时候,出现“File not found: 'SHDocVw_EWB.dcu'” 错误。 8.可以正常使用了。 这里还有一篇别人的“Embedded Web Browser Delphi组件的安装”,不过是把TEmbeddedWB控件安装到 Delphi7 里的。 下面是D2005 installing steps:1.After downloading Unzip the package. 2. Put the folder that contain the package in the path "..:\Borland\BDS\3.0\lib" 3. Open Delphi IDE and press in the menu bar On: File --> "Open" In the open dialog navigate to the path where you store your package to the source folder("..:\Borland\BDS\3.0\lib\EmbeddedWB_D2005\Source"). 5.Choose file name "EmbeddedWebBrowser_D2005.dpk" and press open. 6.In the project manager (in the right corner) point with your mouse on the top file ("EmbeddedWebBrowser_D2005.bdsproj"). Then Right click and choose "Build" 7. And last In the same file & menu Press install. 8. Do not save the package changes. 9. You should make sure that the source folder is in the Delphi IDE "Search Path". If not You must add it.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧