
delphi
云烟,不再年轻
积累是一个漫长的过程,它足以可以让你写出N本书的内容
展开
-
利用dbExpress创建Oracle数据库应用程序
一、概述 在本文中我将演示如何在Delphi6/7用 dbExpress组件连接到Oracle9.2.1.0后端数据源 ,一步一步地实现数据库应用程序的简单编程,希望能对初学者有所帮助,原创 2006-10-24 21:08:00 · 3494 阅读 · 0 评论 -
Delphi调用SQL分页存储过程实例 [转]
//-----下面是一个支持任意表的 SQL SERVER2000分页存储过程//----分页存储过程开始创建-----------------------------------------------------------------------------------------------------------IF EXISTS (SELECT name FROM sysobj原创 2006-10-25 08:25:00 · 1677 阅读 · 1 评论 -
从网上得知的一些delphi经典书籍
delphi 精要-比较适合初学者(第一次觉得买对了的书)delphi开发人员指南(一套系统的教程,老外的书,可惜很难买到,只有电子版)delphi深度历险(看了叫人容易产生兴趣,讲的与众不同,可惜很难买到,只有电子版)delphi深度探索(适合delphi高手,有很多一般书上没有的东东)参透delphi(这本书写的不错,全面并且深入,适合初学者成长为高手)delphi高手突破原创 2006-06-14 22:28:00 · 3666 阅读 · 0 评论 -
通过 DB2 表为 Delphi 产生动态的数据输入窗体
本文检查了 IBM DB2 Universal Database 的元数据,以便动态构建视图和窗体,其中包括如何动态生成新的 CLX 窗体,以及将窗体流化(stream)为 Delphi .pas 和 .xfm 文件,并准备将它们添加到 Kylix 和 Delphi CLX 项目中。简介在 上一篇文章中,我检查了 IBM® DB2® Universal Database™(UDB)的元数据,以原创 2006-10-29 21:06:00 · 2867 阅读 · 0 评论 -
CheckListBox 显示 dbgrideh1 的 columns 中的信息
用ListBox1或CheckListBox 获取用ADO 连接的表字段问题!!!请教了! 浏览:139原创 2006-10-29 22:35:00 · 2641 阅读 · 0 评论 -
delphi 精要-读书笔记(内存分配释放)
1.内存分为三个区域:全局变量区,栈区,堆区全局变量区:专门存放全局变量栈区:分配在栈上的变量可被栈管理器自动释放堆区:堆上的变量内存必须人工去释放2.指针类变量指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般要使用一些代码来完成内存分配3.动态分配内存的函数和过程procedure GetMem(Var P:原创 2006-06-14 22:05:00 · 2500 阅读 · 0 评论 -
对inherited的一点理解
inherited不光是用在override之后的它的完整语法是inherited XXX(ParamList);上面的语法表示调用父类的方法XXX, ParamList是参数列表如果直接使用inherited,没有指定方法名和参数,那么就会调用父类的同名方法原创 2006-06-28 19:56:00 · 2280 阅读 · 0 评论 -
delphi 中的流
什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。 下面,笔者通过四个实例:EXE文件加密器、电子贺卡、原创 2006-11-20 19:55:00 · 1498 阅读 · 0 评论 -
Delphi控制Excel自动生成报表
Delphi控制Excel的方法 1 创建Excel文件 要在Delphi中控制Excel,就必须用到OLE自动化。现在一般采用OLE2来创建OLE对象,当激活一个OLE对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。创建Excel文件时,先创建一个OLE对象,然后在对象中建立工作表worksheet,如函数createExcel原创 2006-11-29 21:09:00 · 2255 阅读 · 0 评论 -
动态创建cxGrid
public { Public declarations } tvTemp: TcxGridDBTableView; lTemp: TcxGridLevel; gdTemp: TcxGrid; end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sende原创 2006-12-16 22:22:00 · 2610 阅读 · 1 评论 -
TStringList高级用法(分隔符)
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex先看第一个:CommaText。怎么用呢?用代码说话:const constr :String原创 2007-02-02 22:35:00 · 3965 阅读 · 0 评论 -
如何避免TStringList里的Items雷同?
问题:如何避免TStringList里的Items雷同?解答:利用属性Duplicates来做避免: var sl : TStringList;begin sl := TStringList.Create; with sl do begin Sorted := True; Duplicates := dupIgnore; //原创 2007-02-02 22:38:00 · 1431 阅读 · 0 评论 -
Delphi2007使用心得
By neoyao, 2007/04/05 说实话,经过1天的使用,感觉Delphi2007真是太爽了,我先小结几点,各位后续使用的心得再陆续跟上!1、 关于IDE启动速度Delphi2007的IDE速度相比BDS2006,只能用一个字形容:“快”!例如我目前安装了如下控件:Appcontrols、Ehlib、Raize、Sdac、TmsPack等等,机器是IBM ThinkPad转载 2007-07-28 01:05:00 · 4889 阅读 · 2 评论 -
Delphi2007 体验
Delphi2007 for Win32一些技术亮点:1、 IDE工具采用.Net2.0来编写,安装时候需要.Net FrameWork2.0,但编译出来的Exe是纯正的Win32程序,发布不需要.Net FrameWork2.0。新IDE采用.Net FrameWork2.0是为了更好的统一IDE平台,利用.Net的反射、泛型等高级特性,节省编写IDE时间。新的IDE确实比D7启动还要快,大概是转载 2007-07-28 00:49:00 · 1885 阅读 · 0 评论 -
将 d2007 的项目移回 d7 中的方法
1. 项目必须有源码,只有 dcu 的不行2. 保证 d7 中已安装了用到的控件3. 删掉项目中的 res 文件,只删系统生成的,自己加上去的没关系4. 用 d7 打开项目,点击 ignore all5. 点击全部构建,点击编译。转载 2007-07-28 01:10:00 · 1339 阅读 · 2 评论 -
将大容量XML用bulkload批量导入sql server 2000数据库
procedure TForm1.Button1Click(Sender: TObject);var ObjBL, ObjConn: OleVariant;begin ObjBL := CoSQLXMLBulkLoad.Create; ObjConn := CoConnection.Create; ObjConn.Provider := SQLOLEDB; ObjConn.Open(原创 2007-08-20 20:44:00 · 2447 阅读 · 0 评论 -
一个简单的,适应多种数据库之间存取操作的数据库访问层
大家在进行数据库访问的时候,经常会将自己常用的一些写成函数的形式, 但如果是不同类型的数据库,或者想转换数据库类型,就比较麻烦了,此处提供了三个对象.TDataAccess为基类.TServerAccess为ADO类型的,TClientAccess为BDE类型的, 这几个都有点不太舒服的地方,就是没有提供初始化委托函数,而是用一个INITALL来进行初始化,大家可以自己改进,这只是我们应用的一个原创 2007-08-29 18:56:00 · 1647 阅读 · 1 评论 -
Delphi程序设计之--惯用法
Delphi --技巧探索: { No. 1 }创建模式窗体的句子:class procedure TMyForm.RunForm(AObj1, AObj2: TObject);varvForm: TMyForm;beginvForm := TMyForm.Create(Application);with vForm doTry InitForm(AObj1, AObj2); ShowModal原创 2007-08-29 18:29:00 · 1957 阅读 · 0 评论 -
Delphi2007 下安装ActiveX控件
此英文文章来自codegear官方网站,但是是讲在BDS2006 下如何安装,我在delphi 2007下用此方法,一样通过,原文如下 Description:How to import an ActiveX control in BDS 2006?Answer/Solution:Heres the procedure for importing and installing原创 2007-09-03 19:44:00 · 6612 阅读 · 0 评论 -
在 Delphi 6 中使用 Hashtable
Java 中的 Hashtable 类小巧好用,尤其是因为采用了哈希算法,查找的速度奇快。后来因工作需要,使用 Delphi 实施一些项目,特别不习惯没有哈希表的日子。于是决定自己动手做一个。 不必白手起家,Delphi 中有一个 THashedStringList 类,它位于 IniFiles 单元中。它里面有一个不错的哈希算法,解决冲突的机制是“链地址”。把这个类改装改装,就成了自己的了。新原创 2007-09-05 20:10:00 · 2176 阅读 · 1 评论 -
谁说Delphi没有哈希?--Delphi中,TStringList和THashedStringList的性能对比
曾经看到很多人在嚷嚷Delphi没有哈希表,这些人的动手意识姑且不论,却还有很多人以此来证明Delphi比别的语言垃圾,实在是...好,牢骚打住,转接正题。TStringList是我们常用的字符串列表类型,用法就不在这里赘述,但是,在数据其项数增多时,其搜索(主要是name/key搜索和indexof搜索)性能会急剧下降,原因是TStringList的内部存储使用了链表形式,而搜索操作使用转载 2007-09-05 20:19:00 · 4017 阅读 · 0 评论 -
带按钮的CxGrid
使用 CxGrid 制作出类似于网页上的数据表格效果,每条记录后都能带有按钮。通过按钮去控制指定的记录。程序截图:关键的设置在 DFM 中:object Form1: TForm1 Left = 0 Top = 0 Caption = Form1 ClientHeight = 217 ClientWidth = 460 Color = clB转载 2007-09-17 19:53:00 · 4150 阅读 · 0 评论 -
面向对象的数据库编程 O/R Mapping
1.2.1 什么是O/R Mapping如果我们采用面向对象的思想进行系统的分析设计,那么数据库采用关系型数据库就会存在对象模型和关系模型两者之间“不匹配”这个不容忽视的问题。面向对象设计和关系型数据库设计存在很大的不同。对象模型基于软件工程的一些原理,面向对象设计的理论包括封装、关联、聚合、继承、多态,而关系模型主要针对数据的存储。我们希望通过面向对象的设计方式来完成业务流程,这一点可以实现转载 2007-09-23 21:44:00 · 2340 阅读 · 0 评论 -
DELPHI中使用RTTI
运行期类型信息(RTTI)是一种语言特征,能使应用程序在运行时得到关于对象的信息。 运行期类型信息(RTTI)是一种语言特征,能使应用程序在运行时得到关于对象的信息。RTTI是Delphi的组件能够融合到IDE中的关键。它在IDE中不仅仅是一个纯学术的过程。 由于对象都是从TObject继承下来的,因此,对象都包含一个指向它们的RTTI的指针以及几个内建的方法。下原创 2007-09-25 21:41:00 · 4572 阅读 · 0 评论 -
telnet的工作原理及命令
工作原理: 当你用Telnet登录进入远程计算机系统时,你事实上启动了两个程序,一个 叫Telnet客户程序,它运行在你的本地机上;另一个叫Telnet服务器程序,它运 行在你要登录的远程计算机上。本地机上的客户程序要完成如下功能: 1 、建立与服务器的TCP 联接; 2 、从键盘上接收你输入的字符; 3 、把你输入的字符串变成标准格式并送给远程服务器; 4 、从远程服务器接收输出的信息; 5 、原创 2007-10-23 15:55:00 · 19820 阅读 · 0 评论 -
绘制玻璃效果
LinZhenqun2007-10-5 前言 现代软件对于用户体验的要求越来越高,特别是对于界面,当人们不再喜欢泛味的经典风格时,渐变效果的界面出来了,这一点在Office2003可以体显出来。但现在,渐变效果似乎也不能满足审美要求了,越来越多的软件尝试用玻璃效果来呈现,Vista整个就是玻璃的界面。 玻璃效果的实现大多采用图片的方式,对于资源是很大的浪转载 2007-10-23 15:08:00 · 2175 阅读 · 0 评论 -
彩票36选7
每一次选出的数不重复procedure TfrmMain.RandomGel6; var Int36 array[1..36]of integer; i,j,Num:integer; SL:string; tmp: Integer; begin Randomize; for i:=1 to 36 do Int36 := i; Num:=36;原创 2007-10-23 16:52:00 · 1799 阅读 · 0 评论 -
用DELPHI的RTTI实现数据集的简单对象化
在《强大的DELPHI RTTI--兼谈需要了解多种开发语言》一文中,我说了一下我用DELPHI的RTTI实现了数据集的简单对象化。本文将详细介绍一下我的实现方法。 首先从一个简单的例子说起:假设有一个ADODataSet控件,连接罗斯文数据库,SQL为: select * from Employee 现在要把它的内容中EmployeeID, FirstName, Las转载 2007-09-25 21:08:00 · 1949 阅读 · 0 评论 -
数据库的一种完全面向对象设计模式
1.1 完全面向对象和非完全面向对象 面向对象(OO)方法这个名字早已深入人心,它的科学性和合理性也已毋庸置疑。人们动辄将自己开发的软件冠以“采用面向对象方法设计”以示其先进性就是一个极好的证明。然而,一个先进的方法学必须有相应的工具支持才能实现,它的概念和方法如不落实程序实现上,就不能真正掌握它的精髓而在实践中运用。诚然,SmallTalk语言已被公认是一个面向对象语言,但是它对于开转载 2007-09-25 22:09:00 · 3385 阅读 · 1 评论 -
回调函数的理解及运用
首先申明:我是菜鸟,我只不过想把困绕了我很长时间的问题的解决方案发表出来,免得以后我又忘记,同时给还不知道这些小知识的同僚一些帮助。各位不要笑我的浅薄。同时为了表示我的低级,我会很罗嗦的讲一些基本的东西,这些都是我的理解,很不准确。用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是回调函数。我的理解是这样的:回调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows原创 2007-10-10 21:54:00 · 1433 阅读 · 0 评论 -
如何用delphi实现短信同步接口
我讲移动的短信同步接口用delphi实现 首先来说说什么是同步接口,就是移动的短信,如果有一个手机定制了公司某个栏目上,移动会通过一个www.的地址,post过来一个xml的文档 移动的IVR,或联通的 都要求有这样的接口,用于处理用户的定制以即取消请求。 而我们所实现的就是做一个WWW的服务器,接收这个XML文档,然后分析,对自己的数据做更新,然后回复一个XML文档 大家不要一看到WWW就想到I原创 2007-11-01 14:56:00 · 1749 阅读 · 0 评论 -
多线程编程中的技巧
(1)创建线程MsgThread := TMsgThread.Create(False) ; //创建并执行线程MsgThread := TMsgThread.Create(True) ; //创建线程后挂起constructor Create(CreateSuspended: Boolean); 中的参数CreateSuspended表示创建后是否挂起线程。(2)设置线程里没有设置循环转载 2007-11-01 15:48:00 · 1196 阅读 · 0 评论 -
delphi 7的TSeverSocket和TClientSocket组件哪里去了
TClientSocket 本来是D5默认安装的,但是D7使用的Indy组件后,就没有默认安装了,如果你喜欢这个组件,可以在D7的安装目录bin文件夹找到dclsockets70.bpl组件包,安装上去就OK了.rtl70.bpl是TCientSocket和TServerSocket必需的运行包.原创 2007-11-02 10:02:00 · 5216 阅读 · 1 评论 -
分布式多层数据库开发(1)
分布式多层数据库开发 第一节 分布式多层数据库开发简介Delphi提出的MIDAS(Multi-Tier distributed Application Services Suite多层分布式应用服务器组),是把原来Two- Tier数据连接放到了服务器端的COM组件上,客户端只剩下了执行文件和MIDAS.DLL,前台和服务器上的COM组件,通过DCOM机制互相沟通。这个多的一层,称为原创 2007-10-17 09:59:00 · 1621 阅读 · 0 评论 -
分布式多层数据库开发(2)
放一个Toolbar加入四个按钮。然后把Standard--àActionList加入进去。 在ActionList上右键,选:Action List Editor 多层数据库中的一个例子在“客户端-2”中。其中写入和退出在Standard Action 内找不到,需要自己编,在ToolBar1内再加入两个Button,写:procedure原创 2007-10-17 10:02:00 · 1289 阅读 · 0 评论 -
分布式多层数据库开发(3)
第六节 服务器端进行客户计数 除了上面的功能外,这个程序还加上了一个在线用户以及查询用户统计的功能。由于这个应用程序执行模式是 Multiple Instance执行模式,所以当某个前台第一次连上线后,应用程序服务器会激活RemoteDataModule的事件程序,而断线后又会执行OnDestroy事件程序,因此就可以用这两个事件计算连上服务器的用户个数。至于Query个数的计算,则由TQ原创 2007-10-17 10:04:00 · 1352 阅读 · 0 评论 -
Delphi多层分布计算应用服务技术-MIDAS
当今信息技术部门所面临的困境是如何能够创建通向未来的、无中断的、跨越LAN、WAN 和Internet平台的分布式应用结构,以满足复杂的、不断发展变化的业务需求,同时又能确保企业在系统、应用、信息及人员上的投资。能够适应这种困境的结构是多层分布式计算体系结构。多层体系结构能够在低费用的条件下比现行的PC LAN 、二层客户/服务器或主机/终端应用结构能够提供更好、更及时的信息。多层分布计算应用服务转载 2007-10-17 10:33:00 · 1595 阅读 · 0 评论 -
三层服务器程序源码样例
一、三层服务器程序的建立 提前说明: (1)建立一个基本的服务器程序和一个客户端程序,返回一个动态查询的数据给客户端。 (2)服务器上的Query1的SQL语句是从客户端传过来的。 (3)基于BDE和Oracle数据库的三层。 1、新建立一个项目,在项目加入一个远程数据模块“Remote Data”,名称为:ZDRHYJServer。 2、在ZDRHYJServer中加入一个DataBase1控件原创 2007-10-17 15:02:00 · 2079 阅读 · 0 评论 -
什么是IP数据包
“包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层的内容来传输,所以在局域网中,“包”是包含在“帧”里的。 名词解释:OSI(Open System Interconnection原创 2007-11-07 11:04:00 · 4342 阅读 · 3 评论 -
ip数据包 Delphi_VCL组件开发及应用
提问:书上说ip数据包是包头+数据+校验。但是怎样处理包内的数据却没有说过, 特别是包长不定时,不知道那位有这方面的资料。3x 问题点数:0、回复次数:5 1 楼 回复于 2001-05-11 17:00:00 得分 0 看看IP报头的数据格式,里面包含了包内数据的长度,其中还有协议号码指明数据该给谁处理(TCP、UDP、ICMP等)。 ip报头就是一个外原创 2007-11-07 11:18:00 · 1327 阅读 · 0 评论