现在,DATASNAP倾向于使用JSON作为统一的数据序列格式,以期达到跨平台的效果。于是使用JSON便成为热点。unit uJSONDB; interface uses SysUtils, Classes, Variants, DB, DBClient, SuperObject, Dialogs; Read More
posted @ 2016-03-02 23:45
findumars
Views(714)
Comments(0)
Diggs(0)
完全自定义窗体风格的实现 最小化到任务栏postmessage(Self.Handle,WM_SYSCOMMAND,SC_MINIMIZE,0); 最大化或还原procedure Tf_MainForm.RzToolButton1Click(Sender: TObject);var abd: TAp Read More
posted @ 2016-03-02 23:43
findumars
Views(895)
Comments(0)
Diggs(0)
program Monitor; // {$APPTYPE CONSOLE} uses Winapi.Windows, System.SysUtils, ProcLib in 'ProcLib.pas'; var Mutex: HWND; const c_AppName = 'server.exe' Read More
posted @ 2016-03-02 23:41
findumars
Views(399)
Comments(0)
Diggs(0)
对于一些小文件,用普通的文件流就可以很好的解决,可是对于超大文件,比如2G或者更多,文件流就不行了,所以要使用API的内存映射的相关方法,即使是内存映射,也不能一次映射全部文件的大小,所以必须采取分块映射,每次处理一小部分。 先来看几个函数 CreateFile :打开文件 GetFileSize Read More
posted @ 2016-03-02 23:39
findumars
Views(2007)
Comments(1)
Diggs(0)
线程池的概念 单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中,一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出。这就是即时创建,即时销毁的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务执行时间很短,而 Read More
posted @ 2016-03-02 23:39
findumars
Views(320)
Comments(0)
Diggs(0)
// 定义结构体 typeTmyRec= recordname:string[10];password:string[10];end; function RawToBytes(const AValue; const ASize: Integer): TBytes;beginSetLength(Res Read More
posted @ 2016-03-02 23:38
findumars
Views(431)
Comments(0)
Diggs(0)
unit Unit2;interfaceusesSystem.Classes, Windows, Messages;constWM_DO = WM_USER + 1;typeTDemoThread = class(TThread)private{ Private declarations }prot Read More
posted @ 2016-03-02 23:37
findumars
Views(446)
Comments(0)
Diggs(0)
一,首先引入“mmsystem”单元。 二,启动定时器: var MMTimerID: Integer; // 定时器ID MMTimerID := timeSetEvent(1000, 0, @TimerProc, 0, TIME_PERIODIC); 三,定时器过程代码: procedure T Read More
posted @ 2016-03-02 23:36
findumars
Views(482)
Comments(0)
Diggs(0)
如果我们不加上"/silent",那么Delphi在安装和卸载NT服务程序时候,都会出现一个提示信息,不希望出现这个提示信息,那么使用如下命令: 1,安装:“你的nt程序 /install /silent”。 2,卸载:“你的nt程序 /uninstall /silent”。 这是Delphi中注册 Read More
posted @ 2016-03-02 23:35
findumars
Views(222)
Comments(0)
Diggs(0)
我今天把一个原来是Delphi2007的工程升级到了Delphi XE2,在编译ralease版本时候,发现无法添加UAC,我觉得可能是升级的原因,随后我用XE2新建了一个工程,但是在编译ralease版本时候,发现仍然无法添加UAC,但是debug版本可以加入UAC。通过多次尝试依然无法解决,最后 Read More
posted @ 2016-03-02 23:33
findumars
Views(255)
Comments(0)
Diggs(0)
我在NT Service里,使用delphi的CompareDate函数出错,我怀疑这个函数有bug,总是说我的参数多了'',所以没办法自己弄了一个! [delphi] view plain copy { //功能:比较日期 //参数: //a:比较的日期,格式(2013-07-23) //b:要比 Read More
posted @ 2016-03-02 23:32
findumars
Views(231)
Comments(0)
Diggs(0)
在win7下,开发的程序有的时候莫名其妙就不能正常工作了,其实都是因为权限不够,要想能够正常运行,就需要获得管理员权限,这就需要处理UAC。具体方法如下: 一,制作“uac.manifest”文件。新建一个名为“uac.manifest”的文件,在里面加入如下内容: [plain] view pla Read More
posted @ 2016-03-02 23:32
findumars
Views(627)
Comments(0)
Diggs(0)
Gmail真的是一个很好的邮箱,一直是我的最爱!它有一个很独特的功能-别名,用这个功能,我们就可以把一个 邮箱当成很多个邮箱来使用了! 1.Gmail 不提供传统别名 ,但是你可以收到发送到 your.username+any.alias@gmail.com(您的用户名+任意别名@gmail.com Read More
posted @ 2016-03-02 23:31
findumars
Views(2399)
Comments(0)
Diggs(0)
其实不论什么方法,归根揭底都是通过传递对象的指针来达到效果的。 方法一: procedure SendString(strMSG: string);var Data: tagCOPYDATASTRUCT; pBuf: PChar;begin GetMem(pBuf, Length(strMSG) + Read More
posted @ 2016-03-02 23:28
findumars
Views(552)
Comments(0)
Diggs(0)
关于延迟时间的一点智慧 一般的做法: Sleep(2000); // 延迟2秒此种做法有俩个弊端:(1)如果实际需要的延迟时间不需要2秒,则明显有延迟时间浪费;(2)如果实际需要的延迟时间超过2秒,则很可能发生不可预料的错误。 改进的做法: repeat Sleep(10); until FileE Read More
posted @ 2016-03-02 23:27
findumars
Views(252)
Comments(0)
Diggs(0)
procedure SplitFile(FileName : TFileName; FilesByteSize : Integer) ;// FileName == file to split into several smaller files// FilesByteSize == the siz Read More
posted @ 2016-03-02 23:26
findumars
Views(254)
Comments(0)
Diggs(0)
如果WINDOWS系统的短日期格式为“yyyy/m/d”,执行下面的代码会报错:2013-01-29 00:00:00不是合法的日期procedure TFrmQuerySale.FormShow(Sender: TObject);varsDate: string;begininherited;// Read More
posted @ 2016-03-02 23:24
findumars
Views(1313)
Comments(0)
Diggs(0)
//////////////////////////////////////////////////////////////////////////////////功能: STRING 的内容流化到 OLEVARIANT 中//参数:///////////////////////////////// Read More
posted @ 2016-03-02 23:23
findumars
Views(846)
Comments(0)
Diggs(0)
对于守护中间件是非常有用的。中间件不可能绝对的稳定而不出问题,中间件有可能因比较严重的错误导致当机或者进程被人为地错误地关闭了中间件。 有了这个自动守护进程的存在,这一切的问题都可以迎刃而解。 program Monitor; // {$APPTYPE CONSOLE} usesWinapi.Win Read More
posted @ 2016-03-02 23:22
findumars
Views(455)
Comments(0)
Diggs(0)
DELPHI XE7 的新功能列表里面增加了并行库System.Threading, System.SyncObjs。 为什么要增加新的并行库? 还是为了跨平台。以前要并行编程只能从TThread类继承进行多线程处理,大家知道TThread类是从WINDOWS的线程API封装起来的,它封装的是WIN Read More
posted @ 2016-03-02 23:19
findumars
Views(450)
Comments(0)
Diggs(0)

浙公网安备 33010602011771号