编程技术
阳光小飞鱼
这个作者很懒,什么都没留下…
展开
-
delphi listview自绘图形
自画TlistView带进度条的Item TListView的Item条一般是由系统自画的,但电驴就实现了自画,使之看起来很漂亮,我们用DELPHI也可以实现! 首先要引用CommCtrl单元,这是TListView底层控制单元:uses CommCtrl; //画状态条procedure DrawSubItem(LV: TListView; Item: TL转载 2015-08-20 23:45:58 · 4917 阅读 · 0 评论 -
Delphi EmbeddedWB 遍历Frames并执行子frame的js脚本
var wDoc:IHTMLDocument2; wc:IHTMLWindow2; Dispatch:IDispatch; begin //遍历emWb:TEmbeddedWB的Frames if emWb begin转载 2015-03-22 15:38:53 · 1136 阅读 · 0 评论 -
HTML技巧-嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方
文地址:HTML技巧-嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方法作者:德尔斐-清风在网页嵌入QQ+MSN+淘宝旺旺+Gtalk快速对话框官方代码的方法 1.如何在网页上显示腾讯QQ在线洽谈?QQ在线咨询代码(qq在线交谈代码/qq在线客服代码/qq在线状态代码/qq在线客服代码)(将123456换成你的号码,site后面换成你的网站就转载 2015-03-22 15:10:34 · 3954 阅读 · 0 评论 -
delphi 实现URL编码解码函数
最近在写网页抓取程序时候,很多时候需要对字符进行URL编码,其实URL编码就是将每个字节用16进制的文本表示,前边在家上%,了解了这一点,那么写个函数就很简单了,于是就随手写了个两个简单的函数对字符进行URL编码解码。 //加码function URLencode(str:string):string;var i:integer; temp:string;begin转载 2015-03-22 15:08:43 · 2011 阅读 · 0 评论 -
Delphi XE6 原生解析json
Delphi XE5带了system.json单元,原生提供了json支持类。下面是解析json用法说明:最简单的JSON大致像这样{ "date":"周二(今天, 实时:12℃)", "dayPictureUrl":"http://api.map.baidu.com/images/weather/day/duoyun.png",转载 2015-03-22 15:49:03 · 7077 阅读 · 2 评论 -
delphi RichEdit控件中插入GIF动画表情
delphi在RichEdit控件中插入GIF动画表情在UDP即时通讯软件中实现类似于QQ的动画表情,在richEdit控件中插入gif动画表情。发送的时候将表情转为命令,接收之后,再将命令转换为相应的动画表情。需要引用一个QQ的DLL,文件在附件中。将此DLL导入到DELPHI中。unit URichEdit;interfaceusesWindows, Mes转载 2015-03-22 15:43:25 · 1781 阅读 · 0 评论 -
Delphi 模拟网站验证码
function TfrmLabelPages.PwdImg(img: Timage): string; var I,j,k: Integer; vPoint: TPoint; vLeft: Integer; arrStr:array [1..36]of string ; strRe转载 2015-03-22 15:38:05 · 645 阅读 · 0 评论 -
Delphi IDHTTP用法详解
一、IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快、更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入IDHttp procedure InitHttp(); begin http转载 2015-03-22 15:33:00 · 905 阅读 · 0 评论 -
Delphi-XE5-手势操作-Gestures-使用方法
Delphi-XE5-手势操作-Gestures-使用方法一、首先转载一下别人的方法介绍:今天尝试了TTabControl的使用。在很多Android的app中,首次启动时都使用选项卡模式进行产品介绍,用户通过向左滑动,改变选项卡。在xe5下这项工作由TTabControl控件完成,如下图: 1、TTabControl外观TTabContro转载 2015-03-22 15:19:43 · 4869 阅读 · 0 评论 -
Delphi 根据经纬度计算地球上两点之间的距离
EARTH_RADIUS = 6378137.0; //单位M function getRad(d: Double): Double; begin Result := d * PI / 180.0; end; function GetFlatternDistance(lat1, lng1转载 2015-03-22 15:35:41 · 1128 阅读 · 0 评论 -
Delphi 实现简易语音发音(基于TTS方式)
uses Comobj; procedure TForm1.Button1Click(Sender: TObject); var voice: OLEVariant; begin voice := CreateOLEObject('SAPI.SpVoice'); voice.Speak('Hello World!', 0);转载 2015-03-22 15:19:28 · 1994 阅读 · 0 评论 -
一个线程安全的轻量级的日志类
做服务类应用,总要输出日志,便于调试及掌握应用服务器的运行状态,在界面上显示日志内容,就要访问VCL可视控件,因此,输入日志的代码,一定要线程安全,才不会在写日志时,让应用产生AV错误。下面是基于网友梧桐树下Logger1.0版做的修改,适用于DelphiXE6。附了完整代码。使用时请保留原始信息。下面是具体的调用方法:1.建立log对象,并指定显示的控件。 log :=转载 2015-03-22 15:46:23 · 654 阅读 · 0 评论 -
Delphi destroy, free, freeAndNil, release 函数的区别
1、form.free直接释放资源后,调用OnDestroy事件,但是没有将form指针改为nil 2、form.release 等待资源不再使用后释放资源,同样不修改form指针为nil,所以在destroy中最好使用 release进行资源释放操作。 3、局部变量释放资源时,可以考虑用freeandnil()释放资源,这样效率会高些,能转载 2015-03-22 15:38:56 · 833 阅读 · 0 评论 -
Delphi RichEdit的实现MSN / QQ 中的动画表情
unitUnit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ActiveX,ComCtrls,RxRichEd,ImageOleLib_TLB;//RxRichEd单元是Rxlib下的RxRichEd转载 2015-03-22 15:42:25 · 850 阅读 · 0 评论 -
delphi将图片存储到sql server 2005
sql server 2005 字段类型为 image delphi使用的单元为jpeg, db, dbtables;delphi 存储图片代码片段procedure TForm1.btnPostClick(Sender: TObject);var lMemoStream : TMemoryStream; jpg : TJpegImage;begin lM转载 2015-08-20 23:48:20 · 716 阅读 · 0 评论 -
Delphi编写天气预报查询小程序(IXMLHttpRequest版)
其实那些内置天气预报功能的软件的天气预报功能也都是来源于网上!因为也没有哪个软件公司会自己去架一个气象站了哈哈,现在我就来说说如何通过互联网上的信息来获取天气情况! 目前能查询天气的网站有不少,比较有名的有中国天气网与Google天气,大部分站点与大部分软件的天气预报数据也都是来源于中国天气网!因为中国天气网是中国气象局相关的,所以他的数据会更准确一些!查阅本文信息时,假设读者熟悉http协议转载 2015-03-22 15:54:36 · 2588 阅读 · 0 评论 -
刷新dbgrid 而不失去当前行位置
http://www.delphishare.com/?/1207-1-0-1-1.htmlhttp://delphi.about.com/od/delphitips2008/qt/dbgrid_row_pos.htmgoogle翻译并整理我们有一个Delphi的数据库应用程序,上面有个DBGrid和一个数据集: DBGrid是用来显示来自数据集(查询或表)的数据,根据设计,当转载 2015-03-22 15:52:30 · 3626 阅读 · 0 评论 -
让Delphi的DataSnap发挥最大效率
一个DataSnap的应用程序由两个层组成:DataSnap服务器,它有一个带有一个或者更多DataSetProvider组件的远程数据模块;DataSnap客户端,它带有一个xxxConnection组件和一个或者多个连接到DataSetProviders的ClientDataSets。你可以不使用ClientDataSet而换用XMLBroker组件,后者是专门用在InternetExpres转载 2015-03-22 15:51:43 · 4456 阅读 · 0 评论 -
delphi 获取某个页面所有的链接
USER MSHTML procedure TfrmWebEmail.btn5Click(Sender: TObject); var Doc: IHTMLDocument2; Len: Integer; item: OleVariant; all: IHTMLElementCollection;转载 2015-03-22 15:37:04 · 747 阅读 · 0 评论 -
Delphi 的绘图功能
//TPen 的主要属性有四: Color、Width、Style、Mode {Color: 颜色} {Width: 宽度; 默认是 1; 如果赋予 {Style: 样式; Delphi 定义了笔样式枚举 TPenStyle, 包含以下样式:} psSolid = 0; {实线}转载 2015-03-22 15:34:15 · 2234 阅读 · 0 评论 -
Delphi 三种气泡提示效果
一、方法一说明:这个效果不好,鼠标必须放在按钮上,气泡提示才可以出来,如果鼠标在按钮的范围之外, 用回车键点击按钮也不会激活气泡提示。unitUnit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,Dialogs, StdCtr转载 2015-03-22 15:11:26 · 4813 阅读 · 1 评论 -
cxGrid使用汇总
1. 去掉cxGrid中台头的Box解决:在tableview1的ptionsview的groupbybox=false; ***************************************************************************** 2.统计功能解决:(1) tableviewtableview1的optionsview转载 2015-03-22 15:05:49 · 1950 阅读 · 0 评论 -
Delphi中带缓存的数据更新技术
一. 概念 在网络环境下,数据库应用程序是c/s或者是多层结构的模式。在这种环境下,数据库应用程序的开发应当尽可能考虑减少网络数据传输量,并且尽量提高并发度。基于这个目的,带缓存的数据更新技术应运而生,其大致过程就是:应用程序将数据库中数据提取到客户端的缓冲区,在缓冲区中完成数据的修改、更新、以及新数据的插入等操作;等操作完成之后,在一个合适的时间,一次性的将数据提交给数据库,从而大大减转载 2015-03-22 15:53:05 · 5473 阅读 · 0 评论 -
cxgrid对经过筛选过的数据的选择(反选)
// 下面这个主要是对查询出来的数据, 经过筛选后得到的数据中进行反选操作,然后对选择的数据进行修改(全选或选择一部分也可以根据些代码修改)Screen.Cursor := crHourGlass; cxGrid2DBTableView1.DataController.GotoFirst; for i := 0 tocxgrid2DBTableView1.DataContr转载 2015-03-22 15:12:01 · 1592 阅读 · 0 评论 -
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。 HASH JOIN MERGE JOIN NESTED LOOP" title="多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP" height="333" width转载 2015-03-22 15:12:58 · 646 阅读 · 0 评论 -
Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值
cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号cxGrid1DBTableView1.Controller.FocusedRow 当前行cxGrid1DBTableView1.Controller.FocusedColumn 当前列cxGrid1DBTableView1.Controller.FocusedColumnInde转载 2015-03-22 15:12:11 · 512 阅读 · 0 评论 -
SQLSERVER 存储过程分页算法研究(支持千万级)
1.“俄罗斯存储过程”的改良版 CREATE procedure pagination1 (@pagesize int, --页面大小,如每页存储20条记录 @pageindex int --当前页码) as set nocount on begin declare @indextable table(id int identity(1,1),nid int) --定义表变量 declare @P转载 2008-12-28 22:22:00 · 700 阅读 · 0 评论 -
实现千万级数据的分页显示--整理资料并测试
/* 名称:spAll_DeleteNoneUnique 输入:要查询的表名和字段列表 输出: 调用: 说明:实现千万级数据的分页显示!--可以在5秒内获取1448万条记录里的第1200页的100条记录,雄不? 作者:铁拳 邮件: 网站:http://www.wellknow.net 更新:20040610 支持:http://bbs.wellknow.net 版权:转述时请注明来源:用思维创造未转载 2009-01-16 00:59:00 · 681 阅读 · 0 评论 -
[delphi] 直接操作Socket API写木马其实很简单(监听篇)
PrettySky原创,转载注明出处和作者是个好习惯。记得在我刚接触Delphi编程不久的时候,对编写木马特别感兴趣,我尝试过,不过我写的服务器端木马特别大,究其原因?因为我像开发GUI程序那样搞服务器端,有窗口、摆控件,这样做出来肯定大。当时我寻找一种轻便的方法,现在我实现了--直接操作Socket API。这一篇我打算只讲监听部分,也就是说直接操作Socket API构建木马服务器端,并支持多转载 2008-09-25 05:06:00 · 4652 阅读 · 0 评论 -
将dll从进程模块列表中移除并保持正常运行
将dll从进程模块列表中移除并保持正常运行,这玩意想想是挺简单,n久前byshell就用了,简单的思路就是给当前的dll内存映像做份拷贝,然后跳到那份拷贝的地址空间的代码,回头free掉原来的dll,然后马上用VirtualAlloc在原基址上申请块同样大小的空间,并将那份拷贝还原回去,再跳回去执行。完。代码写完后再实际程序中应用后发现问题,一旦调用到malloc或new的话就会崩溃,转载 2008-09-15 18:20:00 · 701 阅读 · 0 评论 -
列举系统服务,停止启动所选服务
FileName: Unit1.pas 功用: 列举系统服务,停止和启动所选服务,设置服务启动类型 最后更新: 2005-04-20 日期: 2005-04-19 作者: yanxizhen yanxizhen#163.com }unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphi转载 2008-09-15 17:56:00 · 624 阅读 · 0 评论 -
用Delphi编写一个Svchost.exe调用的DLL模块
这个模块的代码在网上流传的是用C写的,这里用Delphi写的一个DLL,可以自己扩充各种功能. { 文件名: ServiceDll.dpr 概述: 替换由svchost.exe启动的某个系统服务,具体服务由全局变量 ServiceName 决定. 经测试,生成的DLL文件运行完全正常. 测试环境: Windows 2003 Server + Delphi 7.0 代转载 2008-09-15 18:23:00 · 1160 阅读 · 0 评论 -
在dll中delphi中封装窗体
dll工程 library FormDLL;{ Important note about DLL memory management: ShareMem must be the first unit in your librarys USES clause AND your projects (select Project-View Source) USES clause i转载 2008-09-15 18:18:00 · 476 阅读 · 0 评论 -
使TStringGrid自适应宽度
procedure AutoFitable(AGrids: TStringGrid);//传入TStringGrid对像即可, 2004/10/28,CoolSlobvarI, J: Integer;MaxLenRow: Integer;CurRowLen: Integer;begininherited;for J := 0 to AGrids.ColCount - 1 dobegin M转载 2008-09-15 18:17:00 · 688 阅读 · 0 评论 -
DBGrid的分类颜色显示
这两天在csdn里转转,发现很多人问关于DBGRID或DBGRIDEH的分类显示的问题,今天闲下来,就这个问题聊两句。实际上对于DBGRID的自画,delphi 提供了两个事件供我们使用,一个是画行的:OnDrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);另一个是画列的:O转载 2008-09-15 18:16:00 · 1373 阅读 · 0 评论 -
给Listview加上进度条
procedure TMainForm.FormShow(Sender: TObject);var I: Integer; ProBar: TGauge; Li: TListItem;begin for I := 0 to DataListView.Items.Count - 1 do begin Li := DataListView.Items[I];转载 2008-09-15 18:14:00 · 1892 阅读 · 0 评论 -
DELPHI存储过程调用
网上对该问题的帖子很多,但是经常不是很全面,笔者在使用时也遇到了很多实际问题,比如参数不存在啊、类型没有引用啊等等。下面我尽量细致地来通过例子实现一下,如果还有不正确的地方,希望得到高手指点,有兴趣的可以和我一同探讨。zyf0808@yeah.net。QQ:65127444 首先,我们使用一种简单的方式,即通过控件的方式来定义存储过程和数据源。新建一个单元,命名为:DataMConn,在加转载 2009-06-06 17:10:00 · 3389 阅读 · 0 评论 -
Vista下服务与桌面互交
Vista下服务与桌面互交 本来在Vista之前服务与桌面互交是一件很容易的事情,自从Vista把服务都挪到Session 0 中运行去而且不可以跨Session之后,问题就复杂了许多,有时候我就在想这些问题是否真的不得不解决而且似乎对于安全并未带来多大提升的更改总是让人头疼,Google了一些文档,抄袭了不少代码我是如下实现的 这个函数抄自winehq网站,顺便不得不说一下wi转载 2009-06-14 18:36:00 · 733 阅读 · 0 评论 -
模拟点击网页广告源代码
{模拟点击网页广告源代码 By 雪落的瞬间BLOG [url]http://hi.baidu.com/cipherteam/[/url]BBS [url]http://www.killabc.cn[/url] QQ 418880764发送消息,删除COOKIE,HIV过主动.由于代码写于07年好像 没去考虑体积所以其它 自己看}unit Unit1;{$R copyrightA.res}int转载 2009-06-14 18:56:00 · 2541 阅读 · 0 评论 -
Delphi 2010 新增功能之: IOUtils 单元(6): TPath(结构体) 的方法与属性
以后路径相关的处理, 用 IOUtils.TPath 就很方便了.//较常用的方法:TPath.GetTempPath; {获取临时文件夹路径}TPath.GetTempFileName; {获取一个临时文件名}TPath.GetPathRoot(); {提取盘符, 如: c:\}T转载 2015-03-21 22:38:14 · 709 阅读 · 0 评论