2014年4月2日

通信服务器哈希Socket查找(Delphi)

摘要: 在Socket通信服务器的开发中,我们经常会需要Socket与某个结构体指针进行绑定。当连接量很大时,意味着需要个高效的查找方法Delphi中提供了哈希算法类,以此类为基础,修改出Socket专用Map类。源码下载 http://files.cnblogs.com/lwm8246/uSocketHash.rar 1 unit uSocketHash; 2 3 //2014-03-29 17:05 4 //QQ 287413288 5 6 interface 7 8 uses SyncObjs; 9 10 type 11 {$IF CompilerVersion ... 阅读全文

posted @ 2014-04-02 16:53 歼10 阅读(951) 评论(0) 推荐(0) 编辑

时间轮算法的定时器(Delphi)

摘要: 源码下载 http://files.cnblogs.com/lwm8246/uTimeWheel.rarD7,XE2 编译测试OK 1 //时间轮算法的定时器 2 //2014-02-23 14:54 QQ 287413288 3 4 unit uTimeWheel; 5 6 interface 7 8 uses 9 Windows,Classes,SysUtils,SyncObjs; 10 11 type 12 PTWItem=^TTWItem; 13 TTWItem=record 14 UserData:Pointer; //用户数据 15 ... 阅读全文

posted @ 2014-04-02 12:50 歼10 阅读(1655) 评论(0) 推荐(0) 编辑

2014年4月1日

环形缓冲区实现类(Delphi)

摘要: 环形缓冲区的用途及原理可以去百度资料狠多的,这里就不介绍了。直接贴代码.代码分别用D7,XE2编译测试源码下载 http://files.cnblogs.com/lwm8246/uCircleBuffer.rar 1 //环形缓冲区实现类 2 //2014-03-20 16:20 3 //QQ 287413288 4 unit uCircleBuffer; 5 6 interface 7 8 uses 9 Windows,Classes; 10 11 type 12 TCircleBuffer=class 13 private 14 FMS:TMe... 阅读全文

posted @ 2014-04-01 11:35 歼10 阅读(1556) 评论(0) 推荐(1) 编辑

2013年8月18日

ADSL_自动拨号源码(Delphi),已经测试通过

摘要: 下载地址: http://files.cnblogs.com/lwm8246/ADSL_%E8%87%AA%E5%8A%A8%E6%8B%A8%E5%8F%B7.rar 阅读全文

posted @ 2013-08-18 18:35 歼10 阅读(897) 评论(2) 推荐(0) 编辑

2013年8月16日

Ado访问sqlserver 端口号非1433时 连接串的写法

摘要: Provider=SQLOLEDB.1;Persist Securit... 阅读全文

posted @ 2013-08-16 23:29 歼10 阅读(1060) 评论(1) 推荐(1) 编辑

2013年8月15日

DrawGrid 做图片显示 代码简单 参考性强 (Delphi7)

摘要: 运行效果图源码 http://files.cnblogs.com/lwm8246/DrawGrid_demo.rarprocedure TfrmMain.GridDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);var ACanvas:TCanvas; R:TRect; Bmp:TBitMap;begin ACanvas := Grid.Canvas; ACanvas.Brush.Color := clGreen; Bmp := GetPicture(ACol,AR... 阅读全文

posted @ 2013-08-15 23:13 歼10 阅读(3328) 评论(1) 推荐(0) 编辑

2013年8月14日

GMT 时间格式转换到 TDateTime (Delphi)

摘要: 1 //GMT 时间格式转换到 TDateTime 2 //忽略时区 3 function GMT2DateTime(const pSour:PAnsiChar):TDateTime; 4 5 function GetMonthDig(const Value:PAnsiChar):Integer; 6 const 7 MonthDig:array[1..12] of PAnsiChar = 8 ( 9 'Jan','Feb','Mar','Apr','May','Jun','Jul' 阅读全文

posted @ 2013-08-14 22:25 歼10 阅读(2404) 评论(2) 推荐(1) 编辑

2012年11月6日

.一个堆栈类的实现(原创)

摘要: 模拟堆栈的实现,线程安全,速度快,开销小//堆栈的实现 2012-11-04unit sfStacks;interface{$DEFINE MULTI_THREAD_QUEUE} //线程安全版本{$IFDEF MULTI_THREAD_QUEUE}uses Windows;{$ENDIF}type TsfStack=class private FStackSize:Integer; FBuff:Pointer; {$IFDEF MULTI_THREAD_QUEUE} FCS:TRTLCriticalSection; {$ENDIF} FPosition:... 阅读全文

posted @ 2012-11-06 01:36 歼10 阅读(579) 评论(0) 推荐(0) 编辑

.DateTimeToStr函数专用优化版

摘要: 为了在日志文件中写入标准格式的时间。要将时间(Now() 转换到字符格式 "YYYY-MM-DD hh:mm:ss zzz"就编写了此函数,delphi系统自身也带了转换函数 formatDateTime('YYYY-MM-DD hh:mm:ss zzz',Now())也可以实现此功能。考虑到我这个是固定格式的转换函数,作进一步的优化。//实际测试效果运行 1,000,000 次 FormatDateTime()===>2825ms sfNowToBuf() ==>545procedure sfNowToBuf(const OutBuf:PCha 阅读全文

posted @ 2012-11-06 01:32 歼10 阅读(1399) 评论(2) 推荐(1) 编辑

简单的缓冲区助手类

摘要: //代码修改于 ICS 网络通信控件 中的TBuff类 在某些有性能要求的地方,我们会开辟一块缓冲区,也就是分配一块内存,数据在都在此内存中操作,避免频繁的内存分配释放操作。尤其在写服务器端程序时,这点显得非常重要,如果是普通的客户端程序,本文所说的方法,就不要考虑了,毕竟是操作有些繁琐。这个助手类的目的是提高性能,同时还有个特点,助手类内部会进行内存边界的检测,保证在往缓冲区内写数据的时候,不会发生溢出,听过说 著名的“缓冲区溢出”攻击吧。另外一个特点是,缓冲区的大小是在创建的时候,一次分配好,而不能进行修改。目的是配合内存池使用,减少内存碎片的产生。但类的内部提供了,动态改变缓冲区大小的功 阅读全文

posted @ 2012-11-06 01:25 歼10 阅读(324) 评论(0) 推荐(0) 编辑

导航