Delphi是美国Borland(宝兰)公司开发的工作在Windows平台下的开发工具,它的前身是在DOS下的产品Borland Turbo Pascal。Delphi是一个集成开发环境(IDE),使用的是由传统Pascal语言发展而来的Object Pascal语言。
Delphi 中的 procedure of object   其实要了解这些东西,适当的学些反汇编,WINDOWS内存管理机制,PE结构,看下李维的VCL架构剖析可以很好理解 type   TMyEvent = procedure of object; 这是一种数据类型的定义,他定义了一个可以在类中使用的函数类型 区别于 type   TMyProc = procedure; TMyEvent
这是一篇非常精彩的文章,无意中在网上发现, 比起原来《程序员》发表的开发工具大比拼更专业。 可惜不知道作者是谁,如果作者看到或者有谁知道作者, 请一定和我联系。(mail:jiangtao@csdn.net) 偶然来找一个文件,却发现这里关于vc++和delphi的讨论很是激烈。看了大家写的一些 文章,觉得有些看法正确,有些就很偏颇甚至错误(也许无知?很抱歉我这样说:-)。我 无意与任何人争论,更
// UTF-8文件写入函数 procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True); var   MemStream: TMemoryStream;   HeaderStr: String; begin   if S = '' then Exit;   MemStream := T
两种方法,一是用ADO连接,问题是Excel文件内容要规则,二是用OLE打开,但操作就没有象 操作数据库那么方便了. 一、用ADO连接: 设置属性ConnetionString  选择 Microsoft Jet 4.0 OLE DB provider  Select or enter a datasorce name -> 选择你要打开Excel文件  User name默认是Admin 密码默
用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本。   示例1(应用程序.exe,客户端安装): ;{089D6802-6CD3-4E45-B8D5-AC9ED99CE371}; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! [Setup]
//1,函数代码 {   判断字符串是否包含汉字   // judgeStr:要判断的字符串   //posInt:第一个汉字位置 } function TForm2.IsHaveChinese(judgeStr: string; var posInt: integer): boolean; var   p: PWideChar; // 要判断的字符   count: integer; // 包含
一般来说,由Delphi生成的EXE文件,要比其由它编程语言生成的体积大一些。这主要是由于使用VCL的原因(当然,VCL是有许多优点的!)  以下是减小EXE文件大小的几种途径:  01) 使用加壳工具(如 UPX,ASPack 等)  02) 使用 KOL  03) 不使用VCL来编写程序  04) 使用 ACL (API 控制库)  05) 使用 StripReloc  06) 去除运程调试信
Delphi 7连接MySql 5.5.15 1.ODBC方式     必须要先有MySql的ODBC驱动,我下载的是全安装版,包括MySql服务器、各种所支持的连接、工作台、示例数据库、文档,若是无ODBC驱动,可以到官网http://dev.mysql.com/downloads/connector/odbc/下载。 ①数据源方式     首先,确认安装了MySql的ODBC驱动,打开“控制面
Delphi中ClientDataSet的用法小结 博客分类:  Delphi         TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件。该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要。      一、TClientDataSet的基本
Delphi中ClientDataSet浅析 博客分类:  Delphi          与一般的数据集组件不同,TClientDataSet使用的技术比较特别,本着高速度、低存储需求的原则TClientDataSet的内部使用了两个数据存储源。第一个是其Data属性,这是当前内存数据的视图,反映了所有的数据改变。如果用户从数据中删除一条记录,则此记录将从Data中消失,相应地,加入一条新记录后
var aintf:_Recordset; RecordsAffected:OleVariant; begin ADOStoredProc1.Close; ADOStoredProc1.Open; aintf:=ADOStoredProc1.Recordset; ADOQuery1.Recordset:=aintf; aintf:=aintf.NextRecordset(RecordsAffect
概述:   ^: 指针   @: 取址   #: 十进制符   $: 十六进制符 @:取址运算符; var   int:integer;   p:^integer; begin   new(P);   int:=24;   p:=@int;   dispose(P); end; ^:指针的引用解析操作符; var   pint:^integer; begin   new(pint);   show
       一晃,已经3年多没有用Delphi做过大型的项目开发了。虽然期间也一直在做些小的应用。但基本没有从架构角度来考虑过Delphi。直到最近用C#把公司的软件系统从底层基本上重写了一遍,才发觉Delphi可能越走越偏了。        现如今,大家注重的是快速的企业级应用开发,Java有SSH,C#也有微软的企业库及MVC,还有就是从Java阵营复制过来的Spring.net+NHibe
       以下是在之前的公司与别人共同参与制定的Delphi开发规范(5年前了,那时用的还是Delphi7,部分规则可能有些过时,但不整理了,觉得有用的人,自己整理成适合自己的开发规范吧), 目    录 一、序言 二、通用源代码格式规则 2.1 缩格 2.2 页边空格 2.3 Begin…End 配对 2.4代码文件中通用符号含义 2.5注释写法 三、Object Pascal 3.1 括号
今天弄了半天软件打包发行相关的事,之前用的是VS自带的,后来改用VS2013,今天才知道其已经移除了打包部署功能换成第三方的打包部署软件。看了一些相关资料和自己做了些尝试觉得好麻烦就放弃了,百度了一圈发现了个神器InnoSetup用起来十分简单顺手,于是上传了本人自己找到的一个资源,然后再附带自己看后实测成功的教程于此博文之中,希望对有相同需求的人有所帮助。 资源地址:点击打开链接 博文地址:点击
CTRL+SPACE    代码补全,很好用的(先改了输入法热键) CTRL+SHIFT+C    编写申明或者补上函数 CTRL+SHIFT+↑(↓)  在过程、函数、事件内部, 可跳跃到相应的过程、函数、事件的定义(在INTERFACE和IMPLEMENTATION之间来回切换) CTRL+SHIFT+G    插入GUID CTRL+J      (弹出DELPHI语句提示窗口,选择所需语句
首先,在 [Setup]段  PrivilegesRequired=admin  然后找到INNO安装目录下的SetupLdr.e32文件(其实就是一个exe程序),使用管理员权限运行用ResHacker修改: 将程序中的Manifest内的: <requestedExecutionLevel level="asInvoker" uiAccess="false"/></requestedPrivi
转载地址:http://redboy136.blog.163.com/ 本人只有一台win主机,也借不到苹果电脑。所用通过虚拟机来解决这个问题,使用VMWare安装苹果OS。(主要要能支持虚拟化才可以) 1.在Windows下装好XE4  2.用VMWare装个Mac虚拟机(具体安装可以看这里http://unmi.cc/vmware9-install-mac-os-x-mountain-lion
一.关于Inno Setup如何在安装时播放音乐 方法(1): 在脚本编译里的[Code]与[Files]段处添加以下代码: [Code] Function mciSendString(lpszCommand: String; lpszReturnString: Integer; cchReturnLength: Integer; hwndCallback: Integer): Integer;
话说Delphi有个很强的窗体设计器,这一点让VC粉丝垂涎三尺而不可得。但是,Delphi里设计的窗体并没有自动适应屏幕分辨率的属性,也就是说,软件设计时调整完美的窗体控件布局,在不同屏幕分辨率的机器上运行时可能会变得面目全非。控件之间会相互移位,有的甚至移出窗体再也找不到了。   这个问题在网上搜索过多次,但大都依据控件方法ScaleBy或者ChangeScale。采用这两个方法进行自适应调整,
VER10  :Turbo Pascal 1 VER20  : Turbo Pascal 2 VER30  : Turbo Pascal 3 VER40  : Turbo Pascal 4 VER50  : Turbo Pascal 5 VER60  : Turbo Pascal 6 VER70  : Turbo Pascal 7 VER80  : Delphi 1 VER90  : Delphi
一个比较完整的Inno Setup 安装脚本,增加了对ini文件设置的功能,一个安装包常用的功能都具备了。 [plain]  view plain copy [Setup]   ; 注: AppId的值为单独标识该应用程序。   ; 不要为其他安装程序使用相同的AppId值。   ; (生成新的GUID,点击 工具|在IDE中生成GUID。)   AppId={{A9861883-31C5-432
delphi的取整函数round、trunc、ceil和floor    功能说明:对一个实数进行四舍五入。(按照银行家算法)  var     i, j: Integer;     j := Round(2.5); // j等于2 在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。 即当舍或入位大于或小于五时按四舍五入来处理  
Delphi 中字符串的操作很简单,但幕后情况却相当复杂。Pascal 传统的字符串操作方法与Windows 不同,Windows吸取了C语言的字符串操作方法。32位Delphi中增加了长字符串类型,该类型功能强大,是Delphi 确省的字符串类型。 字符串类型  在Borland公司的Turbo Pascal和16位Delphi中,传统的字符串类型是一个字符序列,序列的头部是一个长度字节,指示当
  Delphi以其独特的面向控件的开发方式、强大的数据库功能以及快速的编译技术,使得它自发布起即格外引人注意。随着Delphi 3提供丰富的Internet应用,Delphi日益成为最重要的软件开发工具之一,它吸引了许多原Visual Basic、Foxpro、dBase甚至C++的程序员,而这些程序员使用Delphi时需要解决的一个重要问题就是怎样利用他们原有的代码。本文将介绍Delphi与C
 Delphi 压缩图片代码 添加引用:uses JPEG; //=====================图片处理函数,将覆盖原图片文件=========================== //=====filename:图片完整路径  PressQuality: 压缩质量 Width:宽  Height:高 function CompressMainFun(filename: Strin
  原文:http://blog.csdn.net/tht2009/article/details/39545545 1、目前官网最新版本是RemObjects SDK for Delphi and all Clients - 8.1.85.1141 - Trial.exe(支持XE6,30天试用),需购买注册才有源码。 原文:http://blog.csdn.net/tht2009/articl
分类 快捷键 解释 备注 组 件 设 计 类 Escape 选择当前组件容器 Shift + Click 选择多个组件;选择窗体 Tab 选择下一个组件 Shift + Tab 选择上一个组件 方向键 选择此方向的下一个组件 Ctrl + 方向键 将所选组件的位置移动 1 个像素 Shift + 方向键 将所选组件的大小改变 1 个像素 Ctrl + Shift + 方向键 将所选组件的位置移动
不是 TColor, 是 TAlphaColor 了. TAlphaColor = type Cardinal; 还是一个整数. 四个字节分别是: AA RR GG BB(透明度、红、绿、蓝); 这和 TColor 的颜色序相反, 并增加了透明度. 在 HD 窗体上添加一个 TRectangle 和三个 TButton, 测试: //下面四种赋值方法相同 procedure TForm1.But
一、遍历 TStrings var List: TStrings; s: string; begin List := TStringList.Create; List.CommaText := 'aaa,bbb,ccc'; for s in List do ShowMessage(s); List.Free; end;