2010年12月15日

delphi 内存管理,定期释放。

摘要: 创建一个定时器,设置每隔N秒触发一次,也就是每隔多久进行一次内存清除!ClearMemoryThread单元代码如下: 阅读全文

posted @ 2010-12-15 00:11 Delphi2010_老赵 阅读(1598) 评论(0) 推荐(0) 编辑

Delphi 遍历所有目录和子目录下的文件名(可按后缀名遍历)

摘要: procedure EnumFileInQueue(path: PChar; fileExt: string; fileList: TStringList); var searchRec: TSearchRec; found: Integer; tmpStr: string; curDir: string; dirs: TQueue; ... 阅读全文

posted @ 2010-12-15 00:08 Delphi2010_老赵 阅读(12428) 评论(2) 推荐(1) 编辑

2010年12月14日

Delphi 运行错误信息。

摘要: ******************************** 运 行 错 误 信 息 ** 运行时出现的错误信息形式为: ** Run-time error nnn at xxxx ** 其中 nnn 是运行时的错误编号 ** xxxx 是运行时的错误地址 ********************************运行时的错误分为以下三类:* I/O错误:错误编号为100-149编号 说明---------------------------------------------------------100 磁盘读错误,若要对超过格式文件尾进行读取时101 磁盘写错误,若磁盘满时,由 阅读全文

posted @ 2010-12-14 23:57 Delphi2010_老赵 阅读(854) 评论(0) 推荐(0) 编辑

如何用 Delphi 创建系统服务程序?

摘要: Windows 2000/XP和2003等支持一种叫做"服务程序"的东西.程序作为服务启动有以下几个好处:(1)不用登陆进系统即可运行.(2)具有SYSTEM特权.所以你在进程管理器里面是无法结束它的.笔者在2003年为一公司开发机顶盒项目的时候,曾经写过课件上传和媒体服务,下面就介绍一下如何用Delphi7创建一个Service程序.运行Delphi7,选择菜单File--New--Other---Service Application.将生成一个服务程序的框架.将工程保存为ServiceDemo.dpr和Unit_Main.pas,然后回到主框架.我们注意到,Service有几个属性 阅读全文

posted @ 2010-12-14 11:50 Delphi2010_老赵 阅读(8071) 评论(3) 推荐(2) 编辑

一些算法概念。

摘要: 下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或线上游戏的BOT的移动计算上。该算法像Dijkstra算法一样,可以找到一条最短路径;也像BFS一样,进行启发式的搜索。Beam Search束搜索(beam 阅读全文

posted @ 2010-12-14 11:34 Delphi2010_老赵 阅读(437) 评论(0) 推荐(0) 编辑

Indy10记录及其他类型的传送

摘要: idTcpClient及IdTcpServer传送记录时的方法:先将记录转换成TBytes,使用RawToBytes及BytesToRaw函数。这两个函数包含在IdGlobal单元中。另外,在接收或发送的时候用到TIdContext类,这个类包含在IdConText单元中。举例(TcpClient及TcpServer):记录:客户端:服务端://以上在Uses中要增加以下两个单元 阅读全文

posted @ 2010-12-14 11:29 Delphi2010_老赵 阅读(3041) 评论(0) 推荐(0) 编辑

Delphi 2010 下的 Indy UDP 读取发送范例。

摘要: 首先新建服务端。  如下图所示建立工程:代码如下:[代码]代码如下:[代码]客户端:事实上,上述客户端的TTimer控件是完全没有必要使用的。  当我们对IdUDPClient使用Broadcast方法后,一旦与服务端通讯成功,IdUDPClient自动会得到来自服务端的返回值。  如果通讯失败,在IdUDPClient.ReceiveTimeout所设定的事件后终止响应,所以我们可以吧延迟事件稍微设长一点。  于是客户端代码可以简单的写成:如此即可完成与服务端的通讯。  ============================================================= 阅读全文

posted @ 2010-12-14 11:19 Delphi2010_老赵 阅读(7779) 评论(0) 推荐(0) 编辑

2010年12月10日

Delphi中任务调度的模拟多线程/任务。

摘要: [代码] 阅读全文

posted @ 2010-12-10 13:31 Delphi2010_老赵 阅读(906) 评论(0) 推荐(0) 编辑

2010年11月30日

封装 MSComm 串口读取功能到 DLL 中。

摘要: 要注意的是:1,据说D2010之后的,出于安全和兼容性的考虑,DLL无法传送string类型,而改用PChar;2,数据通过参数传回并保存,否则会被释放掉;3,参数变量定义成record比较好;记得用指针;DLL代码:[代码]主程序调用:[代码] 阅读全文

posted @ 2010-11-30 14:03 Delphi2010_老赵 阅读(3378) 评论(0) 推荐(1) 编辑

DLL中使用字符串时的注意事项。

摘要: 前段时间,我自己写了一个很简单的DLL,就输出一个字符串,静态调用正常,动态调用出错。到处提问,错在哪里了??【出错时,程序直接关闭退出,没有任何提示。】主程序:[代码]DLL部分:[代码]后来在大富翁论坛提问,无解。结果看到了其他人提问:我知道Delphi DLL 中的参数不能是string类型。我想问,如果DLL中有窗体,在窗体的过程中能否使用string类型和动态数组呢?如果可以的话,需要注... 阅读全文

posted @ 2010-11-30 13:52 Delphi2010_老赵 阅读(2999) 评论(0) 推荐(0) 编辑

导航