
Delphi
chinmusam
懒散的人
展开
-
delphi创建具有托盘的服务程序(service)
Windows 2000/XP和2003等支持一种叫做"服务程序"的东西.程序作为服务启动有以下几个好处: (1)不用登陆进系统即可运行. (2)具有SYSTEM特权.所以你在进程管理器里面是无法结束它的. 笔者在2003年为一公司开发机顶盒项目的时候,曾经写过课件上传和媒体服务,下面就介绍一下如何用Delphi7创建一个Service程序. 运转载 2014-02-25 21:37:55 · 7741 阅读 · 1 评论 -
如何进行Word document内容替换
本文转载:http://www.delphidabbler.com/tips/136 How to replace text in a Word document Here's how to use OLE automation for MS Word and replace some text string in any document.use ActiveX, ComObj;转载 2012-08-17 01:11:02 · 4644 阅读 · 0 评论 -
Delphi自定义消息应用
本文转载: http://hi.baidu.com/piaoliuxia/blog/item/d31085de7b1c435cccbf1ad8.htmlinterfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;c转载 2012-07-03 13:38:41 · 694 阅读 · 0 评论 -
使窗体在任务栏不显示
//使窗体在任务栏不显示 ShowWindow(Application.Handle, SW_HIDE); SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWIN转载 2012-05-14 17:15:52 · 654 阅读 · 0 评论 -
delphi指针
因为框架的限制,有这样的需要:在A1工程中的A单元中定义一个全局方法,在B1工程中的B单元中回调A1工程中的A单元的这个方法以达到处理的目的。大致代码如下: 调用之处需要用到的 CallYourName :=function(aParam:string):string;stdcall; QueryName:CallYourName; Name := QueryNa原创 2012-05-28 10:43:20 · 391 阅读 · 0 评论 -
Delphi API
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举转载 2012-05-10 15:07:47 · 3118 阅读 · 0 评论 -
Delphi7中存储unicode的BUG
Delphi7中存储unicode的BUG?近日,在用delphi7做unicode的程序时发现了这样一个问题,就是使用TADOCommand组件执行sql语句时,如果sql语句中有unicode字符,存储在数据库里会出现乱码,使用TTntADOQuery也是一样(使用参数方式不会出现乱码,这里只讨论纯sql的方式)。但是TADOCommand本身是支持widestring的呀,Comma转载 2012-05-04 14:41:29 · 1380 阅读 · 0 评论 -
Delphi TClientDataSet的使用技巧
1. TClientDataSet、TDataSetProvider的使用技巧ClientDataSet是一个功能强大的类,通过在内存中模拟表格,实现了其它数据集组件所不具备的强大功能。TClientDataSet从类的继承关系上来看,是TDataSet这个抽象类的子类,所以我们可以在TDataSet这个抽象层次上对其进行我们熟悉的操作,比如导航、排序、过滤、编辑。要注意的是,TCli转载 2012-03-31 13:58:09 · 16259 阅读 · 0 评论 -
ListView修改列
本文转载:http://hi.baidu.com/letwin/blog/item/1356262236f90faf4623e89b.html 实现思路:双击时找到当前选择的行,并通过列遍历找到具体的列,找到行列就可以定位单元格了,然后读出来数据到Edit,同时设置Edit显示,当离开Edit时把具体的值写回ListView。 窗体的试验控件如下: object LV: TL转载 2011-12-30 16:00:23 · 887 阅读 · 0 评论 -
Delphi开发经验谈(转)
Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件。安装好Delphi 7后,应立即安装Delphi 7 Update Pack 1,Delphi 2007则建议尽量安装最新的版本。工欲善其事,必先利其器,为了提升开发效率,为了能更加得心应手的处理接下来的开发工作,我们有必要安装一些有用的开发辅助工具转载 2012-01-14 09:15:30 · 816 阅读 · 0 评论 -
TreeView使用
本文转自:http://blog.youkuaiyun.com/ati82/article/details/1452108 TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。一、针对TTreeNodes,也就是 TreeView.Items,有这些属性:1、count,节点个数。2、ite转载 2011-12-20 19:43:20 · 466 阅读 · 0 评论 -
cxGrid使用方法汇总
cxGrid缺少文档,虽然功能强大,但摸索起来也很花时间,下面将碰到过的问题与技巧一一拷贝如下,以备查阅:1.获取选中的某一行的序号: cxgTV.DataController.GetSelectedCount; //1.cxgTV 是cxGrid的DBTableView //2.GetSelectedCount 是选中的行总数(cxGrid的行可多选) var转载 2012-09-05 11:03:43 · 862 阅读 · 0 评论 -
Delphi 显示选择文件夹对话框 (有新建按钮)
Delphi 显示选择文件夹对话框 (有新建按钮) 附实例uses ShlObj选择文件夹对话框。入口参数:Handle:调用者句柄Caption:对话框标题InitFolder:初始文件夹;SelectedFolder:返回选择结果返回值:如果用户选择了路径并确定,返回True。并由SelectedFolder返回选择结果。否则返回False}截图:转载 2013-01-08 18:16:53 · 5249 阅读 · 0 评论 -
Delphi 7下最小化到系统托盘
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:123456789_NOTIFYICONDATAA = record cbSize: DWORD; Wnd: HWND; uID:转载 2014-02-25 21:44:37 · 1388 阅读 · 0 评论 -
使用delphi 开发多层应用(三)Delphi常用多层框架介绍
注:本文转载http://www.cnblogs.com/xalion/archive/2012/01/18/2325418.html 使用delphi 开发多层应用(三)Delphi常用多层框架介绍 目前在delphi 开发多层应用的框架基本上集中在以下几种,每种开发框架都有自己的优缺点,没有最好的,大家可以根据自己的实际需求选择相应框架,我把我本人在使用几种框架的体会转载 2013-09-28 13:04:14 · 8101 阅读 · 1 评论 -
stcall的作用
写了一个treeView控件的排序函数,最后在调用此函数时,一直报错,反复检查代码,没发现有变量内存泄漏的问题,最后查到的原因是,所写的排序函数在声明时,没有在函数声明的最后写stcall;代码最初形如:function MySort(Node1, Node2: TTreeNode; lParam: Integer): Integer;//声明自己的排序方法,声明的是全局 在调用时原创 2013-08-05 22:02:30 · 1426 阅读 · 0 评论 -
Bitmap image is not valid
触发方法: 1.从数据库表中找到记录,将图片字段导出成一文件, 2.将此文件加载到一个Image控件中,便会提示标题的错误提示,加载不成功。代码: //1.从数据库导图片字段另存为一文件TBlobField(adoQuery.FieldByName('Content')).SaveToFile(FileName);//2.使用image控件加载显示Image1.Pict原创 2013-06-25 11:54:25 · 11380 阅读 · 0 评论 -
delphi字符串
Delphi 中的字符串一、Delphi 2009 之前的字符串(不支持 Unicode): Delphi 2009 之前的字符串分为 3 种:ShortString、AnsiString、WideString。【ShortString】 ShortString 是一种比较古老的 Pascal 字符串格式,它最多只能容纳 255 个字节的字符。当我们声明一个 Short转载 2013-05-24 00:21:56 · 4442 阅读 · 0 评论 -
将Label的Caption内容竖向显示
一直以为Label控件的caption内容不能够竖向显示,当用有此要求时,往往采用了其它控件实现,但它是能够做到的,方法:1.在属性编辑器中,点击caption后面的小按钮,会弹出一个caption编辑器(若没有小按钮,请换成delphi2007试下)。2.将内容按每行一个字的方式进行输入即可。在每一行结尾请敲打键盘上的Enter键进入到下一行。3.点击保存即可实现。 实现的原原创 2013-04-18 09:56:59 · 3908 阅读 · 0 评论 -
Assigned 用法
Delphi中使用Assigned 用法 2010-02-24 09:17:34| 分类:delphi7 | 标签: |字号大中小 订阅1.根據 Delphi 指令參考手冊中說明:Assigned 函式在參數不為nil時傳回True,表示指针已经指到某个内存地址,这个内存地址可能是一个对象地首地址,也可能在函数或过程中,声明一个指针变量转载 2013-04-12 08:53:46 · 2769 阅读 · 0 评论 -
Delphi中虚拟方法表和动态方法表
Delphi中所有类都直接或者间接派生于TObject,一个TObject的实例:Object(对象)实际上是一个4字节的指针。该指针指向对象的实际数据区(Object Data)。对象的数据区划分很多的小区域,这些区域分为两部分:(1)前4个字节存放一个指针,该指针指向另一个地址区域。(2)其余小区域分别存放对象的各种数据成员。 前四个字节字节的指针指向另一地址区域即“虚拟方法表转载 2013-03-02 09:48:12 · 847 阅读 · 0 评论 -
Format函数的用法
Format是一个很常用,却又似乎很烦的方法首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍:functio转载 2013-03-02 09:12:59 · 2885 阅读 · 0 评论 -
Delphi中的回调函数
我的处理办法是:将回调写成全局方法,然后赋值调用(测试时使用的回调函数写成类的方法,在回调时,此类对象又不存在!)。全局方法中用到的窗体对象必须要对象存在!下面是网上资料:Delphi中的回调函数回调函数回调(CallBack)函数就是一种两个对象之间的通知方法。被通知者事先约定好发生某种情况时的处理函数,在该情况发生时发起通知者调用该处理函数以完成回调。举例来说,A是一个函数,B转载 2013-02-22 11:13:56 · 3231 阅读 · 0 评论 -
Delphi 2007下安装GraphicEx组件
GraphicEx只提供了pas源程序,在D6/D7时,可以直接利用Component-Install Component菜单导入,可是在Delphi 2007下没有了这个菜单。查了CodeGear的这篇文档:How to import Delphi win 32 component *.pas file in Delphi 2005后,按步骤成功的添加了GraphicEx组件。1、在Delp转载 2011-12-18 15:17:58 · 2192 阅读 · 0 评论 -
Delphi中debug版和release版两种配置编译选项
//(* 本文出处:南山古桃(nsgtao)的百度空间:http://hi.baidu.com/nsgtao/ *)预编译{$DEFINE TEST}{$IFDEF TEST}CODE........{$ENDIF}需要在调试的时候, 启用某些编译选项,启动莫些代码。 而在发给用户的时候, 启用另外一些编译选项,不使用某些代码。 有办法保存两转载 2011-11-11 10:18:58 · 6264 阅读 · 0 评论 -
无法启动 Visual Studio 的 Localhost Web 服务器
网上给出了答案:项目属性配置不正确。我的解决:工程项目名称上,鼠标右键,属性:1.web项:启动操作,修改为:特定页。特定页内容修改为网站的默认页,我的则是Default.aspx。 服务器,修改为:使用IIS web服务器,url是我的项目名称路径。我的是http://localhost/KISCService KISCService是我的工程文原创 2011-11-05 16:54:58 · 5579 阅读 · 1 评论 -
CxGrid 改变某行或单元格的颜色
cxGridDBTableView的OnCustomDrawCell事件<br /><br />行:<br />ACanvas.Font.Color:=RGB(255,0,0); <br /><br />单元格:(在列的单元格的OnCustomDrawCell中)<br /><br />acanvas.canvas.brush.color := RGB(255,0,0); <br />acanvas.fillrect(aviewinfo.bounds);转载 2011-05-27 13:05:00 · 2083 阅读 · 0 评论 -
fast report 的使用说明
fast report 的使用说明<br />1. TfrxDBDataset <br /> <br /> TfrxUserDataset 数据存取元件。<br /> FastReport 使用这些元件读取及参考数据库的字段,这两个元件都源于 “TfrxDataSet” 并继承其大部分的功能。 TfrxUserDataSet 元件允许构建未连接到数据库的报表,而由其它来源接收数(据如:数列、文件等)。在此同时,程序员仅需提供浏览此数据集的功能,资料接收并非由此元件执行,而是用转载 2011-03-28 20:56:00 · 5753 阅读 · 0 评论 -
fr3报表的一点小总结
<br />fr3的明细表格设置:<br /><br />1.MasterData里面的竖线属性:stretch.<br />2.MasterData本身的属性:stretch,keep child together.<br />3.MasterData最下面的横线的属性:去掉stretch即可。<br />4.以上三点设置后,可打印出一个明细按需变化的四方表格出来。<br /><br />5.如果是按标题分组打印,若某一分组后要打印二页,则第二页若想出现分组标题,则在分组页上如下设置:<br /> gr原创 2011-03-08 17:06:00 · 7982 阅读 · 0 评论 -
Delphi中实现文件拷贝的三种方法 (收藏)
<br />1.利用Windows API:<br />CopyFile(lpExistingFileName, lpNewFileName: PChar; bFailIfExists: BOOL): BOOL<br /> <br />procedure TFrmMain.Button1Click(Sender: TObject);<br />var<br /> sSo: string;<br />begin<br /> with TOpenDialog.Create(nil) do<br /> be转载 2010-12-19 02:58:00 · 7251 阅读 · 0 评论 -
delphi 关于 "高位" 与 "低位"
<br />本话题会涉及到: Lo、Hi、HiByte、LoWord、HiWord、MakeWord、MakeLong、Int64Rec<br />--------------------------------------------------------------------------------<br /><br />譬如有一个 Cardinal 类型的整数: 1144201745<br />其十六进制的表示是: $44332211<br />其二进制表示是: 01000100 00110011转载 2010-09-09 00:02:00 · 2445 阅读 · 0 评论 -
Delphi 的编译指令(1): $DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF
Delphi 的编译指令(1): $DEFINE、$UNDEF、$IFDEF、$ELSE、$ENDIF <br />本文转自:http://www.cnblogs.com/awei0611/archive/2009/02/26/1398459.html<br /> <br />一个程序从无到有的过程是这样的: 编辑代码 -> 预处理 -> 编译(成dcu等) -> 链接(为exe等).<br /><br />什么是预处理? <br />譬如 VCL 中有很多代码是兼容 Linux 的, 在 Windows原创 2010-09-20 15:38:00 · 818 阅读 · 0 评论 -
EXCEL中套打格式设置
<br />某个EXCEL需要套打,而这个EXCEL中的所有数据都是某应用系统自动用某个EXCEL模版导出来,导出的结果EXCEL表格需要实现套打功能,那么如何设置套打?<br /> EXCEL套打就是自动根据内容大小设置打印区域的问题。<br /> 举例:<br /> 1.打开EXCEL模版<br /> 2.在SHEET名称(最下面的SHEET名没有取名的话默认是sheet1)上鼠标右键,选“查看代码”。<br /> 3.进入VBA编程环境中后,在VBAProject中双击Thi原创 2010-08-03 10:41:00 · 14307 阅读 · 0 评论 -
获取 Windows 版本号单元
<br />本文来自delphi盒子。作者:Popzone<br /> <br /> <br />unit uWindowsVersion;<br /><br />interface<br /><br />uses<br /> Windows, SysUtils;<br /><br />const<br /> TStrWindowsVersion : array [0..8] of String = ('Windows 3.x',<br /> 'Windows 95',<br />转载 2010-07-20 13:50:00 · 1370 阅读 · 0 评论 -
Excel使用VBA动态设置打印区域
<br />说明:本设置是实现Excel在一打开的瞬间便实现自动设置打印区域功能。<br /> <br /> <br />假设本Excel的格式是:<br />1.标题是从第一行至第七行;列是从第A列至L列<br />2.从第八行开始,便是动态变化的行数据<br /> <br />那么,要设置本动态Excel的打印区域:<br />1.打开Excel,鼠标右键Sheet名,点选“查看代码”。<br />2.双击“ThisWorkBook”字样,光标进入了代码编辑区。<br />3.可直接贴入如下代码:<br原创 2010-07-05 20:46:00 · 26151 阅读 · 1 评论 -
什么是多态?
多态的本质就是将子类类型的指针赋值给父类类型的指针。多态则是为了实现另一个目的——接口重用! 多态性,这个面向对象编程领域的核心概念,本身的内容博大精深,要以一文说清楚实在是不太可能。加之作者本人也还在不断学习中,水平有限。因此本文只能描一下多态的轮廓,使读者能够了解个大概。如果有描的不准的地方,欢迎指出,或与作者探讨(作者Email:nicrosoft@sunistudio.c转载 2010-04-18 00:41:00 · 726 阅读 · 0 评论 -
Delphi接口使用实例介绍
对于Object Pascal语言来说,最近一段时间最有意义的改进就是从Delphi3开始支持接口(interface),接口定义了能够与一个对象进行交互操作的一组过程和函数。对一个接口进行定义包含两个方面的内容,一方面是实现这个接口,另一方面是定义接口的客户。一个类能实现多个接口,即提供多个让客户用来控制对象的“表现方式”。 正如名字所表现的,一个接口就是对象和客户通信的接口。这个概念像转载 2011-06-16 17:37:00 · 3473 阅读 · 0 评论 -
将分组页进行按分组页码从重从头显示并统计总页数
上面为界面设计,进行简单的布属var OLine:Integer; OPage:Integer; TPage:Array of Integer;procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);var Old:Integer;begin //如果选择了每页重复打组头的话,必须加这一句。 if Oline=转载 2011-06-23 20:04:00 · 2729 阅读 · 1 评论 -
用iis发布网站
1.安装iis(网络上下载iis安装包,5.1版本适合sp3,我的系统是sp3的,安装无数次都没问题)解压iis安装包点击→ 添加删除windows组件选中→ Internet信息服务(iis)点击详细信息 全部勾选 (Internet信息服务(iis)的子组件)点击下一步→浏览到你的安装包,开始安装。 如果弹出提示 就在iis安装包里选中要安装的文件,好像有什么.dll的文件转载 2011-11-04 16:12:48 · 616 阅读 · 0 评论 -
delphi的指针
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人 产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今 的ObjectPascal,可以说在指针运用上,丝毫不会逊色于C语言的指针。以下内容分为八个转载 2011-10-23 17:24:16 · 388 阅读 · 0 评论