Delphi
文章平均质量分 78
zhenghui1
这个作者很懒,什么都没留下…
展开
-
delphi中exit,abort,break,continue 的区别
exit: 退出函数体abort: 遇到异常,安静处理,就是不显示不提示break: 退出当前循环体,包括for ,while, repeat等循环体continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行 Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。Abort 是从 EAbort 过来的,可以激发 exception,其实质原创 2010-04-27 09:10:00 · 3295 阅读 · 0 评论 -
Delphi中单链表操作
单链表顾名思义就是每一个元素只有一个一个直接前驱和一个直接后驱,链表中的每一个元素称为节点,一个节点包括数据区和指针区,数据区即存储数据的部分,指针区即下一个节点的存储地址,操作链表主要就是操作节点的指针区,链表在内存中存储不是连续的,也不是一次性分配和释放的,用链表可以方便的插入和删除元素。下面是一个用Delphi控制台程序写的单链表的增删改查程序。用Delphi新建一个控制台应用程序,源码原创 2011-10-28 23:30:52 · 1716 阅读 · 0 评论 -
Delphi中二叉树的学习
二叉树是树结构中的一种,任意树都能很容易的转换成相应的二叉有序树,二叉树的存储和算法相对简单,存储效率高。二叉树是n(n>=0)个结点的有限集合,它或者为空集(n=0),或者是由一个根结点和两个互不相交的分别称为根的左子树和右子树组成。二叉树是由根结点、左子树、右子树三个基本单元,相应的遍历算法也有三种,一下是根据C语言改编的Delphi的二叉树实现及遍历算法。打开Delphi,选择File-原创 2012-01-08 23:12:52 · 3099 阅读 · 0 评论 -
Delphi中CxGrid控件使用总结
(注版本为DevExpr_v46)1. CxGrid汇总功能① OptionsView-Footer设置为True,显示页脚 ② CxGrid的Summary选项卡定义要汇总的列和字段名及汇总方式,Footer选项卡定义单个汇总,Default For Groups定义按组汇总。OptionsView-GroupFooters设置为gfAlwaysVisible则显示按组原创 2012-09-23 10:35:46 · 11255 阅读 · 1 评论 -
Delphi 中线程的初级学习
Delphi把多线程相关的API封装在TThread这个类中,可以方便实现多线程运用。按住Ctrl就可以看到TThread类源码。由于TThread是一个抽象类,所以不能直接创建实例,要创建其派生类的实例。一般的使用流程是这样的:1、先新建一个以TThread为父类的派生类;2、覆盖构造函数,将特定的参数传递进来,保存为类的私有变量;3、覆盖Execute方法,将线程要实现的操作放原创 2010-09-08 23:04:00 · 764 阅读 · 0 评论 -
Delphi中文件操作
Delphi中磁盘文件主要分为文本文件、有类型文件和无类型文件,对文件的读写操作,Delphi已经封装了许多函数这里不再讨论,下面主要是研究一下文件搜索所用到的几个函数,也算是对近来文件学习的一个总结。(1)FindFirst:寻找第一个特定路径中符合文件属性的对象实例,如果查找成功则返回0,否则返回错误代码。声明如下:function FindFirst(const Path:strin原创 2012-10-28 20:26:12 · 1320 阅读 · 0 评论 -
Delphi控制编辑类控件不能粘贴
在一些C/S软件和登录网站输入账号密码时经常只能进行输入,而不让用户直接粘贴,防止上次用户登录账号没清除,下一个用户直接粘贴该账号而导致账号信息泄露,刚好在公司开发中要实现该功能,下面记录下在Delphi中实现该功能的方法。粘贴主要是利用了windows的剪贴板功能,因此清除剪贴板中内容即可实现。打开Delphi,新建一个应用程序,在窗体上放置2个Edit控件和一个popupmenu控件。窗体原创 2013-02-02 17:56:36 · 3516 阅读 · 1 评论 -
Delphi中ADO查询多表更新单表解决方法
学Delphi也好久了,但一直没怎么总结,这不好久没弄ADO了,趁这个星期一直看公司的代码,自己也来实践一下。以前一直用ADO操作单表,一直没怎么弄过ADO操作多表的程序,不自己实践一下还真不知道操作多表时有要注意的地方。下面是一个例子。第一步,新建一个测试库Test,表结构如下:第二步,新建一个Delphi应用程序,在界面上放置adoconnection和adoq原创 2013-04-21 23:17:06 · 6482 阅读 · 1 评论 -
DBGridEh控制单元格显示以及存储过程 触发器和视图以及事务的使用
做Delphi数据库开发也已经几年了,但是对ADO的一些高级应用和DBGridEh的使用一直不太熟练,趁着这周刚好双休,自己做了一个Demo,算是一个小的总结吧,也方便以后应用可以随时查阅。DBGridEh是Ehlib控件包中的一个,比起Delphi自带的DBGrid好用不少,一般也是数据库显示常使用的表格控件之一。要控制DBGridEh的单元格显示主要使用OnGetCellParams或者OnD原创 2013-07-21 22:07:43 · 3426 阅读 · 1 评论 -
Delphi中dxTreelist控件的使用
最近公司项目中用到dxTreelist控件,以前没怎么用过这个控件,该控件比TreeView功能更强大,要完全掌握还真不容易,下面是我个人做的一个Demo,对该控件进行增删改遍历操作,以便自己以后忘了使用方法随时可以查吧。1.首先新建一个数据库。 打开SQL Server2005,新建数据库TreeTest,新建表DeviceTab,表的字段设计如下:原创 2011-07-04 22:30:51 · 12058 阅读 · 3 评论 -
TreeView结合数据库的递归调用
1用Access建一个数据库 数据库名book 表名bk 字段如下id caption parentid1 书籍列表 82 文学 13 计算机技术 14 三重门 25 编程 36 Java 57 C原创 2010-08-12 17:55:00 · 1190 阅读 · 0 评论 -
Delphi中Json格式读写
Json是一种轻量级数据传输格式,广泛应用互联网和各应用中,json主要采用键值对来表示数据项,多个数据项之间用逗号分隔,也可以用于数组。下面注重介绍一下在delphi中使用json,在delphi中使用json常用superobject单元文件,该文件可以在网上下载,最初接触json是在2011年,好久没用这不刚好有项目要用到又折腾了好久,下面做了一个简单的Demo,方便以后忘了能随时查看,具体原创 2014-05-29 00:05:58 · 61000 阅读 · 3 评论 -
TStringlist自定义排序
TStringlist顾名思义就是字符串列表,一般用来存储字符串,当然也可以用来存储对象类型,是delphi开发中经常使用的一个类,关于它的详细用法可以参看万一老师的博客,下面主要是记录我在使用中碰到的一个问题,一下是一段代码。program StringlistCmp;{$APPTYPE CONSOLE}uses SysUtils, Classes;原创 2014-06-21 14:22:14 · 10151 阅读 · 0 评论 -
Delphi中DLL的其他应用
1.DLL的入口函数和出口函数 在编写DLL时可以在DLL项目文件的begin..end之间加入DLL的进入口函数和出口函数,全局变量DLLProc是一个过程指针,指定入口/出口函数,初始值为nil,只需将自己的出入口函数赋值给它即可,自己的出入口函数必须传入一个DWord原创 2011-07-19 22:45:50 · 5843 阅读 · 1 评论 -
Delphi中流类的学习(一)
最近不怎么忙,看了一下万一老师的delphi博客学习了一下delphi中的流类。写一下我对delphi流的总结已助以后参考。流就是一段数据或一块内存,在面向对象的编程语言像Java和C#等里面都有这个类,操作流时我们不用关心里面的数据是啥,只需知道流的当前位置和流的大小即可。下面重点说一下Delphi中的流类。1.Delphi中流类的层次图 TStream类为所有流类的父类,原创 2011-06-08 22:39:00 · 2731 阅读 · 0 评论 -
delphi中Ihtmldocument2接口的使用
MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的所有元素. MSHTML对象模型是由一些对象和集合组成的.处于根部的是HTML,描述了打开页面的1个窗口,包括一系列集合和对象。如Frames集合,History,Location,Navigator,Document,Vi—sum,Event对象等.其中描述呈现在客原创 2010-04-27 17:11:00 · 10629 阅读 · 0 评论 -
Delphi bookmark使用
关于书签(BookMark)操作; 书签操作主要用于在表中快速地定位记录指针,在应用程序中常常要保存记录指针所在的位置,在进行其他处理之后,希望能快速地返回到先前指针所在的位置,此时,使用书签将显得特别有用。有关书签操作,Delphi提供了三个方法,它们是: ● GetBookMark ● GotoBookMark ● FreeBokMark转载 2010-04-27 09:46:00 · 9523 阅读 · 0 评论 -
Delphi中鼠标的形状
procedure TForm2.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Screen.Cursor := -2; end; const crDefault = TCursor(0); crNone = TCursor(-1); cr转载 2010-04-27 09:20:00 · 3368 阅读 · 2 评论 -
用Servers组件控制Word
1)控制Word的Servers组件简介<br />在Delphi中控制Word的组件主要有WordApplication和WordDocument等。<br />WordApplication对象主要用于启动并建立对Word的连接,并对打开Word时的有关内容进行设置。WordDocument对象主要作用于Word文档,它与WordApplication关联配合对Word文档进行操作。<br />Servers组件调用Word的实例。该实例主要作用是编辑Delphi中的memo文本,并能够调用Word中的原创 2010-07-10 22:59:00 · 1680 阅读 · 0 评论 -
IsDBCSLeadByte函数
IsDBCSLeadByte函数用于用于判断一个字符是不是多字节字符,如果是返回一个非零数,如果不是返回零,利用它可以对字符串进行处理。下面用此函数提取汉字1”文件”—“new”—“Application”在窗体放置一个Edit 一个Label 一个Button按钮,设置Button的caption为提取汉字。2双击Button输入如下代码:procedure TForm1.Button1Click(Sender: TObject);var len,j:integer; s:string; str:s原创 2010-08-05 13:16:00 · 8433 阅读 · 0 评论 -
Delphi中处理汉字的方法
在Delphi中一个汉字占两个字节,各种字符串处理函数,直接处理字符串中汉字时经常会发生乱码或不显示。我在处理时也是弄了半天,到处找资料,一下是找到的几种处理方法。在Delphi7下测试通过。一.中文所用的字符全是双字节字符,英文所用的字节全是单字节字符,也就是mbSingleByte。本实例是用ByteType()函数返回字符串指定位置上的字符,如果不是mbSingleByte,则表示为双字节字符。主要代码如下: procedure TForm1.Button1Click(Sender: TObject)原创 2010-08-27 15:20:00 · 10097 阅读 · 0 评论 -
DELPHI中四种EXCEL访问技术实现
一ADO方式访问Excel文件转载 2010-08-27 13:15:00 · 11693 阅读 · 0 评论 -
Delphi6编译错误大全(转)
Delphi中错误包括编译错误和运行时错误,下面是在网上找的错误大全以方便查找。编译错误信息<br /><br /><br />';' not allowed before 'ELSE' ElSE前不允许有“;”<br /><br />'' clause not allowed in OLE automation section 在OLE自动区段不允许“”子句<br /><br />'' is not a type identifier 不是类型标识符<br /><br />'' not previousl转载 2010-09-01 14:44:00 · 1053 阅读 · 0 评论 -
DLL中封装窗体
<br />在DLL中可以封装窗体,需要解决的关键问题在于DLL中的Application对象和调用的Application对象是有区别的。对于一般的应用程序来说,Application 对象是 VCL 固定的,一般不需要修改Application对象指针。但是在 DLL中,使用窗体或者使用 Application对象时,必须使 DLL的 Application和调用程序一样,这样才不至于混淆。如果不修改 Application 对象,那么应用程序退出的时候,可能会出现错误。例如使用如下代码在调用程序中导出转载 2010-10-14 12:49:00 · 3485 阅读 · 0 评论 -
cxImageCombobox使用
<br />delphi中DevExpress组件中的cxImageCombobox功能很强大,近几天同事测试,问题都出在它,于是研究了一番。<br /> <br />新建一个应用程序,拖2个cxImageComboBox在窗体上,然后加一个button。<br />设置属性如下<br /> name value<br />cxImageComboBox1 editValue=0 type=Shortint<br />原创 2010-12-23 14:50:00 · 2980 阅读 · 0 评论 -
Delphi调用WebService
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。在Delphi中调用Webservice服务比较简单,具体过程如下.1.利用Delphi提供的WebServices Importer功能来引入服务器端的WSDL。打开Delphi7,选择file-new-other,点击WebService选项卡。选中WSDL Importer点击OK,出现WSDL Importer向导。输入WSDL地址,测试地址为http://ww原创 2011-03-03 11:14:00 · 8925 阅读 · 5 评论 -
简单的delphi停泊窗口制作
可停泊窗口在office系列软件及delphi和vb等软件中经常见到,通过停泊窗口可以改善界面的美观效果。在delphi中创建可停泊窗口比较简单,基本分为两个步骤:一建立停泊区即可以防止停泊对象的区域继承TWinControl的控件都可以做为停泊区,只需设置它的DockSite和Autosize属性,DockSite设置为true即可以接受停靠,autosize设置为True时当停泊对象离开停泊区时停泊区会自动改变大小。原创 2011-04-02 11:13:00 · 1626 阅读 · 0 评论 -
利用自定义事件实现不同窗体间的通讯
<br /> 要实现子窗体与父窗体之间的通讯,有多种方法(比如:重载子窗体的构造函数,将父窗体的引用作为参数传递给子窗体)。下面我要介绍的是利用自定义事件的方法,它能够最大程度的避免模块之间的耦合,充分体现面向对象的优点。<br /> <br /><br />下面是实现代码:<br /> <br />Unit2 //子窗体<br /> <br />type<br /> //声明自定义事件的类型(类似于C#中的委托)<br /> TMyEventHandle = procedure (Sender: T转载 2011-06-01 22:37:00 · 1036 阅读 · 0 评论 -
快速排序算法
快速排序算法代码原创 2016-01-24 17:41:06 · 1458 阅读 · 0 评论