摘要: 初学DelphiI的人,由于各种原因,对DelphiI中的许多概念不能很好的理解,并由此带来了许多的问题,或者是开发出的程序稳性不好,一会能运行,一会又不能运行;或者是遇到一个问题久思不得其解,还误以为是DelphiI自身的BUG,等等这些,浪费了我们大量的时间、精力,也影响了我们的开发效率。 那么如何才能避免这些错误了,尽量少走弯路了?笔者从事DelphiI开发多年,下面就把我的经验总结... 阅读全文
posted @ 2009-03-04 15:38 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 每个程序都有自己的生存空间,在Windows系统中你可以在任何时候让你的程序执行一些操作,还可以触发消息,触发的消息分为三种,一是操作你程序的界面,onClick,onMouseMove等等,另外一个可以使用Windows的消息机制来捕获一些系统消息,但是如果你想在任何时候监控任何程序的情况那可能你就会选择HOOK来实现了,虽然还有其他方法,但不得不承认,HOOK是一个比较简单解决问题的途径。... 阅读全文
posted @ 2009-03-04 15:32 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(192) 评论(0) 推荐(0) 编辑
摘要: "一个优秀的Delphi程序员,不仅要会写控件,还要会使用控件。" 我还是一个半瓢水的程序员,因此目前为止我所能努力达到的境界是: 一个半瓢水的程序员,管他会不会写控件,只要能拿来改就可以了。 使用过Delphi的朋友都知道,我们在设计Delphi应用程序的某一功能时总是希望能够有现成的第三方免费控件可以拿来使用。但实际情况往往是,网上的控件确实种类繁多,优秀作品也数不胜数,但真正... 阅读全文
posted @ 2009-03-04 15:25 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 在微软软件帝国的呐喊声中,VB.net和VC#.net在短时间内拥有了一大批FANS。能在开发工具领域和微软一决高下的Borland公司也不甘示弱把Delphi“打扮”的漂漂亮亮的,让我们这些坚定的D迷依旧信心满满,坚守这块阵地。一些对Pascal语法情有独钟或对VCL爱慕非凡的新生力量也加入了我们阵营之中,新加入的同志大多以开发数据库类的软件做为初始的一步,这样对“数据感知”控件了解成为... 阅读全文
posted @ 2009-03-04 15:22 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径。然而,这些程序在发布的同时,面临ActiveX控件注册问题。 解决途径:一、用安装程序制作打包文件,往往会给增加程序本身的大小,系统重装时,则必须重新安装它;二、用程序本身进行代码编写函数的形式处理它。 使用方法分为两种: 一、直接把可视... 阅读全文
posted @ 2009-03-04 15:19 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 本实例演示如何在程序中动态修改屏幕的分辨率,并且不需要重新启动计算机就可以生效。 向窗体上添加两个Button控件,设计完成的主界面如图1所示。 图1 主界面 在程序中添加一个自定义函数DynamicResolution,它有两个参数,分别对应于水平和垂直方向的分辨率,并且该函数有一个BOOL类型的返回值,通过判断返回值可以判断DynamicResolution函数是否正确执行。D... 阅读全文
posted @ 2009-03-04 15:12 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(317) 评论(0) 推荐(0) 编辑
摘要: Delphi提供了功能强大的 DBGrid组件,以方便进行数据库应用程式设计。不过如果我们仅仅利用DBGrid组件,每一个获得焦点(Grid)只是个简单的文本编辑框,不方便用户输入数据。Delphi也提供了一些其他数据组件来方便用户输入,比如DBComboBox,DBCheckBox等组件,但这些组件却没有DBGrid功能强大。Delphi能不能象Visual Foxpro那样让DBGrid中获得... 阅读全文
posted @ 2009-03-04 15:10 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 查看驱动器时,往往需要知道驱动器是属于什么类型的,才能进行读写操作,具体实现方法请看下面的程序: var x:integer;driver:pchar;begindriver:=f:\;x := GetDriveType(driver);Case x of2: Label1.Caption := 该驱动器是可移动驱动器;3: Label1.Caption := 该驱动器是固定驱动器;4: ... 阅读全文
posted @ 2009-03-04 14:58 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 在本文中我将提供一个简便的过程(Procedure)来解决上面的问题,它能够在程序运行时自动固定TDBGrid中所显示列的宽度。 首先,在TForm的OnCreate事件中添加下面的代码: Procedure TForm1.FormCreate(Sender: TObject); begin //在Tag属性中设置需要自动调整的列的最小宽度(固定值) //这里将列宽值设为4... 阅读全文
posted @ 2009-03-04 14:57 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 现在的显示分辨率是越来越高了,以至于是多少都搞不清楚,程序也往往需要知道分辨率才能合理安排窗体,所以要得到显示分辨率,下列的程序帮你忙: varx:longint;a:string;beginx := GetSystemMetrics(SM_CXSCREEN);Str(x,a);Label1.Caption := 显示器水平分辨率 + a;x := GetSystemMetrics(SM_... 阅读全文
posted @ 2009-03-04 14:55 DELPHI&.NET初学者[TECSOON WENDAY] 阅读(176) 评论(0) 推荐(0) 编辑