摘要: 收集的两个托盘程序:1、托盘区就是在windows的状态栏下方显示时钟、输入法状态的地方,要把你的程序显示在托盘区:下面是一个托盘类,只要把下面粘贴到文本文件中,改成TrayIcon.pas,使用时uses TrayIcon就可以了。先声明一个全局变量:var tray:TTrayNotifyIcon;然后在窗体的OnCreate事件中:tray:=TTrayNotifyIcon.Create(self);//将窗体创建为托盘tray.Icon:=application.Icon;//定义托盘的显示图标tray.IconVisible:=true;//托盘可见tray.PopupMenu:=p 阅读全文
posted @ 2014-03-09 11:06 倾天 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 手头的项目做的差不多了,交给客户,结果给出的结论是界面太难看了,至少要做成像QQ类似的界面。(目前是QQ2009界面确实还是不错的,本人也非常喜欢)。1.透明问题。要重新调整界面确实很麻烦,以前用DELPHI开发的界面都很土,和WEB真是没办法比。(我以前用的是DELPHI7),现在回想起来,DELPHI难做的原因是:没有透明控件。所有控件都是不透明的,并且大部分控件就是灰色的,一放到窗体上,就像一块膏药一样贴在上面。即使界面上放几副图片也难以和控件的那种灰灰的颜色融合起来。所以,一直在想QQ是怎么开发的。还是挺佩服腾讯那帮家伙的。后来打开DELPHI2009,竟然发现有些控件支持背景,特别是 阅读全文
posted @ 2014-01-26 11:05 倾天 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 一.要使用Codesite,需要引用csintf单元二.CodeSite的基本方法(一)AddCheckPoint方法codesite.AddCheckPoint 加入监测点(二)AddSeperator方法codesite.AddSeperator 加入分隔线,用于分离消息(三)Assert方法codesite.Assert 检测表达式的结果是否为假(四)Clear方法codesite.Clear 清除消息(五)EnterMethod方法codesite.EnterMethod 加入进入方法的标记(六)ExitMethod方法codesite.ExitMethod 加入退出方法的标记(和En 阅读全文
posted @ 2014-01-16 15:33 倾天 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 开发环境--------Delphi7是一个很经典的版本,在Win2000/XP下推荐安装Delphi7来开发软件,在Vista下推荐使用Delphi2007开发软件。安装好Delphi7后,应立即安装Delphi7UpdatePack1,Delphi2007则建议尽量安装最新的版本。工欲善其事,必先利其器,为了提升开发效率,为了能更加得心应手的处理接下来的开发工作,我们有必要安装一些有用的开发辅助工具(Delphi将此类插件以Expert命名)。首先推荐的是DelForExp这个源代码格式化工具,集成在IDE里,使用相当方便。即使我所写代码的风格非常好,但是还是免不了阅读某些人写的乱七八糟的 阅读全文
posted @ 2014-01-15 16:59 倾天 阅读(576) 评论(0) 推荐(0) 编辑
摘要: //取毫秒级时间精度(方法一): var t1,t2:int64; r1:int64; begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000);{do...}//执行要计时的代码 t2:=GetTickCount;//获取结束计数值 r1:=t2-t1;//取得计时时间,单位毫秒(ms) showmessage(inttostr(r1)); end//取毫秒级时间精度(方法二): //use DateUtils;//引用DateUtils单位 var t1,t2:tdatetime; r1:int64; b... 阅读全文
posted @ 2014-01-14 16:26 倾天 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 经过多次测试和查证,发现03server平台用delphi7.0开发的应用程序就是不支持直接调用webservice,无论这个webservice是delphi开发的还是C#开发,抑或是java开发的,都会提示下面的错误,如下图:解决方法都是把这个exe文件添加到数据执行保护的例外中,如下图:而且,大家应该都看到上面的delphi开发环境已经在安装时自动放到例外中了,因此在开发环境中按下F9运行程序是不会报上面的错的!ps:为了保证这个正在开发的系统平台兼容性,俺放弃使用webservice,取而代之直接调用aspx页面! 阅读全文
posted @ 2013-12-25 10:36 倾天 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Windows下有一个函数AnimateWindow,在Delphi自带的Win32 API Help中是找不到的.你可以在Delphi的编辑器中输入windows.等待代码向导出来,继续输入AnimateWindow就能看到确实是存在的Win32 API,它的功能是在显示或者关闭窗体的时候产生动画,如从左向右开屏,从中心向周围开屏等.语法:function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL; stdcall;参数:hWnd : 想要显示动画窗体的句柄dwTime : 动画时间数,单位毫秒dwFlags 阅读全文
posted @ 2013-12-24 17:10 倾天 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 在了解多线程之前我们先了解一下进程和线程的关系一个程序至少有一个主进程,一个进程至少有一个线程。为了保证线程的安全性请大家看看下面介绍 Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173.com/html/16747_1.html主线程又程为UI线程。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费 阅读全文
posted @ 2013-12-24 14:14 倾天 阅读(2247) 评论(1) 推荐(1) 编辑
摘要: 根据日常编程经验,得出一些Delphi中关于资源释放的体会。假如有对象Obj为TObject类型:1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil。2) Obj.Release 等待资源不再使用后释放资源,同样不修改Obj指针为Nil,所以在OnDestroy中最好使用Release进行资源释放操作。3) 局部变量释放资源时,可以考虑用FreeAndNil()释放资源,这样效率会高些,能提高内存的利用率。4) 单纯通过Assigned(Obj)判断对象是否已经创建是不够的,因为如果对象通过Free/Release进行资源释放的话,Obj指向的是 阅读全文
posted @ 2013-12-24 11:13 倾天 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 概述: ^: 指针 @: 取址 #: 十进制符 $: 十六进制符@:取址运算符;var int:integer; p:^integer;begin new(P); int:=24; p:=@int; dispose(P);end;^:指针的引用解析操作符;var pint:^integer;begin new(pint); showmessage(inttohex(integer(@pint),8)); pint^:=$ff; showmessage(inttohex(pint^,4));end;#:ASCII码值表示符;const tab_key=#9;//TAB键的ASCII值符号 ^ 有 阅读全文
posted @ 2013-11-30 09:52 倾天 阅读(312) 评论(0) 推荐(0) 编辑