Delphi
文章平均质量分 81
qi_jianzhou
IT 行业的软件工程师
展开
-
RTTI练习代码
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,typinfo; type PParamRecord =^TParamRecord; TParamRecord = record fl原创 2006-04-06 14:36:00 · 703 阅读 · 0 评论 -
用消息来处理鼠标中轮滚动时水平滚动条移动 --别人对我的帮助
问题:150 分求一段消息代码,熟悉消息处理的高手请进(用消息来处理鼠标中轮滚动时水平滚动条移动) ( 积分:150, 回复:12, 阅读:92 )分类:IDE/使用技巧 ( 版主:luyear, menxin ) 来自:qi_jianzhou, 时间:2006-4-12原创 2006-04-13 17:06:00 · 1981 阅读 · 1 评论 -
我用消息来处理 Dbgrid 鼠标中轮滚动消息的总结
以前看到别人做过这样一个功能:1。用 DbGrid 来显示数据,数据很多,当我滚动鼠标中轮时,数据不是向下滚动,而是水平方向上滚动,当时感到很奇怪,这是怎么实现的呢?2。还有就是Dbgrid 不支持滚动中轮时,记录也滚动,而别人也做出这个来了,这是怎么实现的呢?我一直带着这两个问题,但总没有时间解决,有一天在大富翁上看到了一篇 DBGrid 使用大全 里讲到如何实现我的第二个问题(可能也讲到了原创 2006-04-13 17:09:00 · 1850 阅读 · 2 评论 -
VCL分析方法
最近一段时间似乎流行源码分析:)我也来谈谈在过去一段时间里对VCL源码的分析方法方面的一点体会,本文将不探讨VCL类库的构架和设计模式方面的东本,只是以我们常见的控件属性/方法的实现过程作简单的说明,希望对初学者有所帮助VCL分析方法例:TButton.Caption属性的由来(本文仅以此献给DELPHI初学者) 用过一段时间DELPHI的朋友,都会对VCL源码感兴趣。本人也常常在各大论转载 2006-04-12 13:17:00 · 820 阅读 · 0 评论 -
ShGetFileInfo 来分别取得程序的大小图标
利用了 shellapi 中的 TShFileInfo 以及 ShGetFileInfo 来分别取得程序的大小图标unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;type原创 2006-04-18 17:47:00 · 1897 阅读 · 0 评论 -
学用钩子函数
学用钩子函数 钩子函数并不是什么高深的技术,在Microsoft的Win32 SDK手册上就有记述。不过很可惜秉承M$的一贯风格,要看懂可是不容易的事!而且它的例子是使用SDK写的,又不完整!这就让我们这些用只会Delphi的程序员更看不懂了。不过用钩子函数是很有用的,例如鼠标钩子可以拦截下所有的鼠标消息的。 前段时间我写我的第一个软件《聊天快贴》的时候,学习了一下鼠标钩子函数,转载 2006-09-04 13:19:00 · 2173 阅读 · 0 评论 -
我的一个时钟控件源代码
unit ddgclock;interface uses windows,classes,sysutils,extctrls,messages,controls,forms; type TTimerEvent = Procedure (Sender:TObject;DDGTime:TdateTime) of object; TddgdigitalClock=clas原创 2006-04-21 13:42:00 · 1017 阅读 · 0 评论 -
从数据库中读数据建立菜单
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, ADODB, StdCtrls;type PMenuRecord = ^TMenuRecord; TMenuRecord = Record原创 2006-04-21 17:15:00 · 1066 阅读 · 0 评论 -
extractIcon取得应用程序的图标
procedure GetExeIcon(FileName:string);var icon:Ticon;begin icon := TIcon.create; try icon.handle := extractIcon(hInstance,pchar(FileName),0); finally icon.free; end;end;附 ExtarctIcon 的联机原创 2006-04-18 17:45:00 · 2527 阅读 · 0 评论 -
用 VC5 控制 Windows 任务栏图标
用 VC5 控制 Windows 任务栏图标 通过在Windows任务栏中设置图标,我们可以有效控制系统和程序中最常用功能,使用户实时观察应用程序的工作状态。Windows 95、98中已经有设备状态、系统时钟、计划任务以及中文输入法程序等,其他应用程序中也有,如调制解调器通信状态、后台打印任务的执行状态、解霸五中的VCD自动侦测状态、屏幕抓图程序的控制状态以及其他后台任务转载 2006-04-21 13:47:00 · 1681 阅读 · 0 评论 -
美化你的菜单
美化你的菜单TechnoFantasy www.applevb.com Windows下的很多程序都有十分漂亮的菜单,例如Windows“开始”菜单左方从上到下的长条形的Windows Banner 又或者是向Word那样在每一个菜单条左边都有一个小图标,看到这些很Cool的菜单,你是否觉得自己的菜单显得单调乏味呢?不需要第三方控件,利用Delphi就可以实现上面的功能。 如果要转载 2006-04-21 17:13:00 · 996 阅读 · 0 评论 -
FindVCLWindow 函数
今天网友给了一段代码,发现里面有个 FindVclWindow 的方法,查了查 delphi的帮助Returns the windowed control, if any, at the specified location.UnitControlsCategorymouse handling utilitiesfunction FindVCLWindow(const Po原创 2006-04-12 16:11:00 · 1294 阅读 · 0 评论 -
Delphi对XML的支持TXMLDocument类-2
看完了基础知识,下面就实践以下吧本实例应用了MS的MSXML2_TLB,请自行查找下载//用于读写XML的最简单的单元unit XMLPurserUnit;interfaceuses SysUtils, Classes, Windows, ActiveX, MSXML2_TLB;type //本例子通过DOM方式演示XML文件的读写过程 TDOMXMLpurser=cla转载 2006-04-12 15:18:00 · 1537 阅读 · 0 评论 -
format函数的使用
function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas功能 返回按指定方式格式化一个数组常量的字符形式说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解"%" [索引 ":"] ["-"] [宽度] ["." 摘要] 类型Format(x=转载 2006-04-06 15:01:00 · 845 阅读 · 0 评论 -
用存储过程自动建表(表名不限)
一个网友想做一个每新建一个用户就为该用户建一张表的例子。我就为他写下了下面的过程及如何调用存储过程的方法以供参考 CREATE PROCEDURE autoCreateTable @tableName char(10) ASexec( create table +@tableName+ ( ID int identity(1,1)原创 2006-04-10 09:21:00 · 1370 阅读 · 0 评论 -
关于 TSpsistent中 Assign方法及 AssignTo方法的说明
前几天做试着做了一个很简单的控件(是按 d5 开发人员指南来做的)这个控件用到了一个从 TPersistent 继承下来的类type TSomeObject = class(TPersistent) private FProp1:integer; FProp2:string; public procedure Assign(source:TPe原创 2006-04-10 11:38:00 · 2595 阅读 · 1 评论 -
DBGrid 使用大全
在 Delphi 语言的数据库编程中,DBGrid 是显示数据的主要手段之一。但是 DBGrid 缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化DBGrid 外观的目的。通过编程,我们可以改变 DBGrid 的表头、网格、网格线的前景色和背景色,以及相关的字体的大小和风格。 以下的示例程序演示了对 DBGrid 各属性的设置,使 Delphi 显示的表格就原创 2006-04-13 17:10:00 · 3757 阅读 · 0 评论 -
delphi 帮助里的 RoundTo 的帮助
Rounds a floating-point value to a specified digit or power of ten using 揃anker抯 rounding?UnitMathCategoryArithmetic routinestype TRoundToRange = -37..37;function RoundTo(const AValue: Doubl原创 2006-04-10 16:46:00 · 1645 阅读 · 0 评论 -
Windows编程参考--消息
Windows编程参考--消息消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是转载 2006-04-10 17:02:00 · 991 阅读 · 1 评论 -
深入消息机制
Windows编程和Dos编程,一个很大的区别就是,Windows编程是事件驱动,消息传递的。所以,要学好Windows编程,必须对消息机制有一个清楚的认识,本文希望能够对消息的传递做一个全面的分析。 什么是消息? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一转载 2006-04-12 11:11:00 · 1012 阅读 · 0 评论 -
Delphi对XML的支持TXMLDocument类-3
2.5 缩简句法这是一些使用缩简句法的地址路径例子:para 选择上下文节点的 para 元素孩子* 选择上下文节点的所有的元素孩子text() 选择上下文节点的所有的正文节点孩子@name 选择上下文节点的 name 属性@* 选择上下文节点的所有的属性para[1] 选择上下文节点的第一个 para 孩子para[last()] 选择上下文节点的最后一个 para转载 2006-04-12 15:19:00 · 1507 阅读 · 0 评论 -
DBGrid 中的数据导出到文本文件
function DBGridToTxt(aDBGrid:TDBGrid;isTitle:boolean):boolean;var s:string; FileName:string; sTemp:TSTrings; i : integer; j : integer; SFD:TSaveDialog; RecNo:integer;begin SFD:=TSaveDialog.C原创 2006-04-14 11:51:00 · 1129 阅读 · 0 评论 -
自定义组件注册的问题
我按照 d5 开发人员指南上的例子写了一个组件,但无法注册到面板上注册时没有任何的错误,但就是不能注册到面板上先看没有改前的程序unit HalfM; interfaceuses classes,windows,extctrls,sysutils,Controls; type TTimeEvent = procedure (Sender:TObject;theTime原创 2006-04-10 16:26:00 · 771 阅读 · 0 评论 -
delphi中的Format函数详解
delphi中的Format函数详解作者: sdjxmikill 标题: delphi中的Format函数详解 Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明: function Format(const Format: string; const Args: array of const)转载 2006-09-04 13:17:00 · 2001 阅读 · 0 评论 -
dll 中传递 adoConnection 的例子
前几天看以别人用 dll 来传 DataBase 的连接 , 我想试试能不能用 dll 来传 Adoconnection 呢?发现 Adoconnection 没有 handle 这个属性,这怎么传呀?上网问了问也没有问出什么来,也就这样放着,今天上网看了一个网友问同样一个问题,嗯,刚好看到一篇有关 dll 中传对象的文章,又找出来 看了看,呵呵,正好是关于怎么传 adoconnec原创 2006-04-24 17:38:00 · 1371 阅读 · 0 评论 -
2006-4-29——用 HookMainWindow 来截获消息
截获应用程序的另一个方法是用 application.HookMainwindow 的方法来截获,这个同样不也不能截获 sendMessage 中的消息它的原理是把自定义的消息处理过程插入到 application.WndProc 方法前,这样就可以对消息进行处理了application 的 HookMainWindow 的定义为procedure TApplication.H原创 2006-04-29 15:55:00 · 1620 阅读 · 0 评论 -
Virtual-Key Codes 虚拟键码
Virtual-Key Codes --------------------------------------------------------------------------------The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard e原创 2006-08-25 09:30:00 · 1295 阅读 · 0 评论 -
获取键盘的按键(Hook)
下面这段程序是我从网上找到的,有几处不明白的地方,请教一下 function KeyboardHookHandler(iCode : Integer;WParam : WPARAM;lParam :LPARAM) : LRESULT ;stdcall ; export; const _KeyPressMask = $80000000 ; { 这里是定义了一个常量,我看了看,主要是原创 2006-08-25 09:33:00 · 2842 阅读 · 2 评论 -
VCL中网格控件原理分析
VCL中网格控件原理分析lxpbuaa(桂枝香在故国晚秋)2004-9-15 网格(Grid)控件,可直观描述二维信息。因此它具有横向和纵向二轴,就是一个二维表格。一、类继承结构图 TCustomGrid / /TCustomDrawGr原创 2007-08-10 15:08:00 · 1051 阅读 · 0 评论 -
Delphi用拼音首字符序列实现检索功能
日常工作和生活中我们经常使用电子记事本查找个人通讯录信息,或在单位的应用程序中查询客户档案或业务资料,这个过程中往往需要输入大量的汉字信息,对于熟悉计算机的人这已经是一件头疼的事,那些不太熟悉计算机或根本不懂汉字输入的用户简直就望而生畏。作为对数据检索技术的一种新的尝试,作者探索使用汉字拼音的首字符序列作为检索关键字,这样,用户不必使用汉字,只须简单地键入要查询信息的每个汉字的拼音首字符即可。比如转载 2007-08-10 15:14:00 · 1363 阅读 · 0 评论 -
delphi 编译指令与说明
作者: 钱达智(Wolfgang Chien) wrote on 1996.12.15-19E-mail: wolfgang@ms2.hinet.netWWW: http://www.aaa.hinet.net/delphi/~chien.htm{$IFDEF WIN32} -- 这可不是批注喔!对于Delphi来说﹐左右大括号之间的内容是批注﹐然而「{$」(左括号后紧接着货币符号)对于Comp转载 2007-09-05 15:57:00 · 2144 阅读 · 0 评论 -
iphelp-Dephi中编程控制系统IP配置
摘 要:主要论述了如何运用Delphi编程实现自动释放、自动获得本地系统所有动态IP地址,以及在Delphi中如何使用Netsh.exe实用程序更改网络配置信息,并给出了相应的示例程序。 关键词:Delphi,IP地址,Netsh 一、 引言 随着Internet的普及,网络安全问题日益突出,根据国家有关部门的政策,在大多数安全程度要求高的机关单位都建立了物理隔离的内、外转载 2007-09-06 16:00:00 · 1427 阅读 · 0 评论 -
delphiX 使用
Delphi作为一种方便的可视化程序设计语言,一 直非常受大家喜爱。但它在图形处理、3D表现等方面 不很让人满意。如果说你要开发一个Windows95下的 3D游戏,你会用什么工具呢?DirectX!不少人会不加 思索地答道。 然而接触过DirectX的朋友们都知道它 内部的结构复杂,一般来说结合VC开发是一个理想 的组合。而要在Delphi中利用DirectX SDK真是难上转载 2007-09-13 11:36:00 · 1334 阅读 · 0 评论 -
数字转换为大小
把金额转为大小的代码 { 该代码摘自大富翁: 吕雪松的 有改动 } function ToDaxie(Money : double) : string; var XiaoXie,DaXie : String; DaXie1:array [0..9] of string; Buf,TmpBuf : string; I : integer; P :转载 2007-09-19 10:46:00 · 809 阅读 · 0 评论 -
取得每个月的最后一天,以下是试验用到的代码
现在用到要取得月中的最后一天,在 sql 中用 2007-02-30 这个日期试了一下,出错了,所以必须用有效的日期,以下的代码是试验用到的 procedure TForm1.Button1Click(Sender: TObject);var fisc:string; ss : string; m1,m2:Tdatetime; nextMonth:tdatetime; curMo原创 2007-11-01 11:08:00 · 883 阅读 · 0 评论 -
DELPHI的奇异菜单的编写
Custom Menus, Text, Lines / Delphi 4, 5自定义菜单,文本,线/ Delphi 4, 5Fancy Menus, etc. 奇异菜单,等等Custom Menus, Rotated Text, and Special Lines 自定义菜单,旋转文本,和特殊的线条Before Delphi 4, it was difficult to customize a转载 2008-02-13 16:54:00 · 974 阅读 · 0 评论 -
关闭打印报表后出现无效句柄
在用 QuickReport 打印报表时,用的是 preveiwModal ,但关闭时出现了无效的句柄的提示,但我的代码里没有错误呀,这是怎么回事呢?后来再测,出现了一个什么 RichEdit.dll 的错误提示,我试着 DbRichEdit 来删除,再编译运行,呀没有错误了,可能这是 quickReport 本身的错误吧原创 2006-07-31 10:11:00 · 1247 阅读 · 0 评论 -
我的一段 delphi 控制 Excel 的代码
需要把数据导出到 Excel 中学会录制宏,帮助很大{ 保存成 excel }procedure TFormPayBank.FSaveExcel(ds:TDataSet;haveWidth:boolean);var ExcelApp: Variant; r,c:integer; // row column rc:integer;begin //r := 1; //c :=原创 2006-07-11 16:20:00 · 958 阅读 · 0 评论 -
消息_API —— 访问其它程序中的控件
2006-4-28今天用到了 EnableWindow 这个 api 函数,该函数的目的是把窗体或控件的 Enable (允许)状态改变函数原形:BOOL EnableWindow( HWND hWnd, // handle to window BOOL bEnable // flag for enabling or disabling input );其中hW原创 2006-04-28 13:54:00 · 1156 阅读 · 0 评论 -
窗体的子类化
子类化的学习去年就看了看子类化,但当前的水平很低,许多的东西还不明白,今天又看了看子类化,有了一个大概的了解所谓的子类化,是指用自己的一个消息处理过程去替换指定的窗体的消息处理过程,当处理的消息不符合要求时,要用原来的消息处理过程继续处理其中 application 有一个 OnMessage 的消息处理过程定义为 TMessageEvent = procedure (v原创 2006-04-29 15:09:00 · 1017 阅读 · 0 评论