摘要: 熟悉么?反正我是烦透了!不管他是个什么玩意,暂且把它叫做度娘的防御机制。它很烦?跳过它!怎么跳?看代码:procedure DeleteIECache(httpStr: string); // 清理IE缓存,IE.cookiesvar lpEntryInfo: PInternetCacheEntryInfo; hCacheDir: LongWord; dwEntrySize: LongWord; cachefile: string; begin dwEntrySize := 0; FindFirstUrlCacheEntry(nil, TInterne... 阅读全文
posted @ 2011-09-20 16:44 Bach 阅读(1215) 评论(1) 推荐(0) 编辑
摘要: 看了动车的报道,从来没有这样强烈的想法:好想有鬼神,好想有仙侠,好想穿越!好想有青天,好想有大侠,好想仗剑江湖! 是GJ这台机器的程序BUG?是那些肥肠满脑的蛀虫在DDOS?是怎么了?怎么感觉就和我这种程序菜鸟一样,没有做大型程序的经验,就蛮干,虽然有一个系统的样子了,但是漏洞频出? 不废话,直接上代码: var Obj:对象; Action:动作; LawIsEnabled:Boolean; begin if Obj=农民 then begin LawIsEnabled:=True; if Action=劳动 then begin Showmessage('劳动最光荣,你很光荣!&# 阅读全文
posted @ 2011-07-27 09:46 Bach 阅读(509) 评论(2) 推荐(1) 编辑
摘要: 最近用到access数据库做小软件,无奈是access对数据的批量操作没有mysql方便,曾一度傻傻地用TClientDataSet把服务器返回的xml用LoadFromStream加载进来,再For循环insert到表中,这个笨办法在数据量小的时候可以,毕竟TClientDataSet比xmlDocument用起来方便,但是数据量大,超过1000就有点不堪重负了。 首先,TClientDataSet.LoadFromStream在数据量大的时候CPU占用量大,且会造成程序无影响(本想在LoadFromStream中加入sleep()和application.ProgressMessage,. 阅读全文
posted @ 2011-07-08 10:30 Bach 阅读(6262) 评论(1) 推荐(0) 编辑
摘要: 先看看身边有哪些软件已经在用webUI:1.QQ查找窗口:2.LOL主界面:3.EC营销软件功能界面:三个例子足以说明一切:1、HTML是目前在用户体验、界面舒适度最先进的语言2、HTML所有标签都是容器,CSS调试效果方便3、最重要的一点,让做界面的去界面,写程序的去写程序吧,界面与程序分享得更彻... 阅读全文
posted @ 2014-11-17 17:06 Bach 阅读(12949) 评论(0) 推荐(0) 编辑
摘要: 2015-01-20修改:以下方法不适合delphi7,在CEF3源码中限制了delphi_14 up,对于被我误导的朋友说声抱歉在CEF1中JS调用delphi的方法已经贴过:http://www.cnblogs.com/Delphi-Farmer/archive/2013/05/17/30837... 阅读全文
posted @ 2014-11-17 15:45 Bach 阅读(11322) 评论(1) 推荐(0) 编辑
摘要: 我这里直接给他代码,是转载的大神的,具体地址忘了。(* * NeuglsWorkStudio * HTML Interface Javascript Extendtion * This unit implmented TNCJsExtented which used for extend the capablity of * javascript. * * Author : Neugls * Create time: 4/27/2011 * * Thanks for : Hen... 阅读全文
posted @ 2013-05-17 15:42 Bach 阅读(8888) 评论(1) 推荐(1) 编辑
摘要: 用惯了EmbeddedWB,不想换,但是IE内核一直存在内存泄漏问题,没办法,只有寻找替代品了。 要把用习惯的EmbeddedWB换成完全不一样的TChromium,有点挑战,特别是在资料不多,英语没过三级的情况下。未来趋势是这样,只有慢慢啃了。 首先,想到的是跨域,如果不能跨域,就没办法替代手上的成品。TChromium的跨域比想像中的简单,直接通过chrm.Browser.GetFrameNames(list);//list:tstringList;取得各个IFrame/Frame的名称(所谓名称不是指name属性,只是一个标识,在有name时,返回name,没有name时,ID ... 阅读全文
posted @ 2012-04-20 17:53 Bach 阅读(13824) 评论(4) 推荐(3) 编辑
摘要: webbrowser 跨域 阅读全文
posted @ 2012-03-22 11:53 Bach 阅读(3044) 评论(0) 推荐(1) 编辑
摘要: 问题来源如下:有一个EXE和两个DLL,用到同一个公共单元:unit UnitBpl;interface uses Classes;type TBaseClass= class of TBase; TBase=class(TPersistent) public procedure show;virtual; end;implementation{ TBase }procedure TBase.show;beginend;end.在DLL_1中:Type TMy1=class(TBase) public procedure Show;override; end;... 阅读全文
posted @ 2012-02-25 19:05 Bach 阅读(4342) 评论(0) 推荐(0) 编辑
摘要: 关于idhttp取网页源码编码问题,在这里记录最后一次的解决方法,不想再纠结下去,再也伤不起了。(本文内容均在d2010,indy10.55的环境下产生及结束)。 网上只要搜索关于idhttp取网页乱码,idyttp编码问题的文章有一大堆,试了无数,都不满意,最后再这里记录一下个人解决方法。 在IDE中写如下代码,str:=http.get(xxxxx);然后Ctrl跟踪get,会在源码中得到如下一行,也是最关键的一行:Result := ReadStringAsCharset(LResponse, Response.CharSet);很明显,idhttp想给我们做点好事,直接返回解码... 阅读全文
posted @ 2012-02-20 16:58 Bach 阅读(4274) 评论(2) 推荐(1) 编辑
摘要: 最近做一个软件,用webbrowser做软件界面,通过js的window.external调用delphi的函数实现数据库操作等功能,在需要返回值的时候,遇到问题了,来源如下图:在接口中加入一方法,传入参数为BSTR(wideString)类型,希望返回VARIANT(OLEVariant),自动生成的函数结构如下: 在***_TLB.pas中: Itest = interface(IDispatch) ['{D9941302-C827-4517-ADA0-003D176E9E9A}'] function Method1(const a: WideString): OleVa. 阅读全文
posted @ 2012-02-11 18:53 Bach 阅读(3398) 评论(3) 推荐(0) 编辑
摘要: 刚从D7转过来有点不习惯,到发贴时都没搞懂string,ansistring,widestring的区别与具体使用环境。 这里主要记录一些在D2010中使用自带INDY10.5.5 post网站的一些问题(主要用于发贴)。 首先,与大家一样,遇到的是使用TIdMultiPartFormDataStream,post中文变乱码(这个乱码不是UTF8那种乱码,是一串“口”),网上说把IdMultipartFormData.pas中的IdRead函数修改,如下:function TIdMultiPartFormDataStream.IdRead(var VBuffer: TIdBytes; ... 阅读全文
posted @ 2011-11-30 13:00 Bach 阅读(3803) 评论(2) 推荐(0) 编辑
摘要: RT。idhttp的httpOption,默认为[hoForceEncodeParams],即自动编码参数,但是idhttp自动编码有点小问题,如果参数中有" (空格)",会转成“+”,有加号会转成“ (空格)”,问题来了,如果我想提交一个参数,值为一个MD5值(MD5中很可能有“+”),在自动编码过程中,加号被编码成空格,最终导致参数错误。所以,post参数最好还是自己用函数编码,这样比较放心,附上urlEncode函数:function EncodeURL(const InputStr: string): string;var Idx: Integer;begin Re 阅读全文
posted @ 2011-10-13 13:30 Bach 阅读(2115) 评论(0) 推荐(0) 编辑