自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Delphi XE7中新并行库

Delphi XE7中增加了新的并行库,和.NET的Task和Parellel相似度99%。具体内容可以看下面的文章:http://www.delphifeeds.com/go/s/119574如果你熟悉.NET,这个功能并没有大的新意,可对Delphi程序员来说却非常实用。之前要实现多线程,唯一的办法是使用TThread类,而且过程十分繁琐。新的并行库彻底简化了这个过程。估计下一

2014-10-12 22:36:31 6810 1

原创 赞一下TMS Software 和 AdvStringGrid

很久前给Support发Email问能不能在设计期给AdvStringGrid标题加个数字标识,每次我都是自己改代码加上去。这次升级到新版本,没想到加入了这个功能:功能虽小但是非常实用,很多的事件和函数接口都是用Index的,有了这个就不用费力去对比了。真心赞一个!

2014-06-22 13:13:55 4954 5

原创 Dephi泛型generic的应用

泛型在C++, C#中已有广泛应用,Delphi自2009版本也引入泛型,典型的应用如TList,TDictionary。如果你熟悉C#,其用法十分类似。比如以前Delphi没有integer list,用泛型,我们可以这样声明:var list: TList;begin list := TList.Create; list.Add(1); list.Add(2);

2013-12-28 11:34:46 6571

原创 李维的博客

意外发现的,相信现在还在用Delphi的人大概知道李维是谁。http://gordonliwei.wordpress.com/

2013-12-17 13:10:27 9389

原创 跨平台是个Joke

很多东西号称自己跨平台,可当我们真正需要他们的时候,他们真的做到了吗?以前的平台很简单,Win32,Unix/Linux,Web,众多软件和框架号称自己跨平台,事实上也部分做到了,比如Java,我记得当年安装Oracle的Windows版就是Java写的巨丑界面,估计在linux下也是同样的代码和界面。可现在,移动平台蓬勃发展,iOS, Android, Windows Phone, 同样

2013-06-05 22:35:03 3510 3

原创 准备开源两个delphi组件,想听听大家的意见

自己写的组件中最有价值的两个,一个叫TFieldEdit,一个叫TSQLCmd上面图中的Edit, ListBox, Memo其实都同是一个组件,有统一的数据访问接口。同时TFieldEdit组件还进行数据合法性检查,比如是否required,数据类型,长度等等。支持MaskEdit,支持正则表达式验证。目前支持的数据类型有:  TDataType = (dtString, dtI

2013-05-11 02:08:48 5148 22

原创 Delphi XE4 发布,来自芝加哥开发人员会议现场消息

Delphi XE4 发布其实已经几个星期了,近来版本发布很频繁,也没有空跟踪技术细节。Embarcadero在芝加哥有两天的开发人员会议,只抽空去了下晚上的免费会议。新版本没有大的变化,主要是一些改进和完善。但有一点很清楚,Embarcadero的对Delphi的未来定位是跨平台的开发工具。原生Windows平台开发市场已经很成熟,.Net平台是微软一家再搞,

2013-05-08 13:21:11 4002

原创 Delphi的方向?

自从XE以后,Embarcadeo的着力点似乎放在了Fire Monkey和移动开发上。这看起来似乎不错,可仔细想想,未必是条正确的路。回顾历史,Delphi的边缘化和Borland当年走的方向有很大的关系。其实自.NET以后,微软放弃了原生的Win32平台开发工具,本来对Delphi是个很好机会,少了竞争。可是微软太过强大,谁也看不清未来怎么样。Borland的决定就是脚踩多条船, Linux,

2013-04-16 02:18:46 17798 24

原创 An Example of Software Application made by Delphi XE

Http://www.FutureStarSoftware.comSee screenshots in the homepage. It uses some popular components like TMS, Fast Report, JVCL etc.

2013-02-20 12:41:22 2843 1

原创 TStringList.CommaText中空格的问题

用TStringList的CommaText属性解析CSV文件非常的方便,可是如果字符串中有空格,会被像逗号一样转成新行。比如:Your Company Name,Test上面的字符应该被解析成两行,但CommaText默认会解析成:YourCompanyNameTest上网查了一下,有人说可以替换空格为特殊字符,解析完再替换回来,还有的说是VCL代码有问题

2012-08-24 23:40:17 10291 1

原创 Application.Title在Win7下失效了?

Delphi XE会默认使用Mainform的Caption作为Application的title,就是你在任务栏上看到的标题。实际上这是为兼容Vista设计的,如果你要显示自定义的标题,需要修改项目文件,begin  Application.Initialize;  Application.MainFormOnTaskbar := False; //otherwise wil

2012-08-23 05:37:44 5526

原创 Delphi XE3快要发布了

Check out this link, sorry if you can't see the video from Youtube.http://www.embarcadero.com/rad-xe3-previewAccording to the video, XE3 adds the support for Windows 8 Metro application,

2012-08-23 05:24:13 11320 3

原创 使用Prism开发Windows 8 Metro应用(Developing Windows 8 Metro Applications with Embarcadero Prism)

Metro是微软为了适应移动设备,全新开发的平台,将会部署到Windows 8和Windows Phone 8。耐人寻味的是Metro平台并不是基于.Net的,而是基于Windows原生API的。想当初.NET的目的就是解决跨系统的兼容问题,使向下兼容不再成为Windows发展的障碍。可谁知时代在变,iOS的出现使得苹果风光无限。微软向来作为操作系统市场的老大,自然不会放弃移动设备这个市场。只是原

2012-05-30 04:15:10 5130

原创 Delphi中Frame的使用方法(2)

Frame在写代码时和一般组件有什么不同呢?比如(1)中的客户信息的frame,如果想重写客户编辑按钮的click事件,会发生什么呢:procedure TBusOnSiteManager.FrameCustomerButtonEditCustomerClick(Sender: TObject);begin  inherited;  FrameCustomer.Button

2012-05-18 04:38:17 11221 1

原创 Delphi中Frame的使用方法(1)

Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了。实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然什么也不会看到。那么Frame到底是什么呢?简单来说:1. Frame是组件容器,类似Panel2. Frame在使用上类似Components组件,但并没有构造器和解析器,依赖于

2012-05-18 04:37:53 29780 6

原创 Delphi XE Refactor重构功能简单说明

如果要我只选一个升级到XE的原因,我会选重构。对用惯D7的朋友,这确实是一个非常实用的新功能,但如果你用过Visual Studio,就会发现微软早就实现了类似的功能。让人困惑的是,XE的重构子菜单有一长串,很多菜单很难直观地想像出其功能。别担心,这些都是给建模用的(比如把某个类方法转移到另外一个类),你常用到的只有几个,仔细的你会发现其实就是设了快捷键的那几个。1. Rename:

2012-01-18 06:17:28 6400 1

原创 不该偷的懒最好别偷

最近csdn密码被盗,听说还是明文存放的。我想这应该是当初做设计的人偷懒,后来的人也凑合用,最终造成悲剧。其他网站倒是罢了,作为国内一流的技术交流网站,信用影响还是挺大的。其实以前一直觉得csdn自己的技术不怎么样,论坛改来改去,后来干脆把我几年的帖子都改没了。这么多年工作中碰到类似的事情还挺多,不该偷懒时偷懒,都是给自己埋地雷和定时炸弹。即便有工期压力,也应该在后来本着重构的精神把它修复,一

2012-01-12 13:57:02 2602

原创 sql中不存在则插入记录小技巧

以前都分两步,先判断记录数: select count(*) 如果值等于0则表示不存在,然后再插入数据。其实可以用insert ...select一步完成create procedure p_add_fav_task    @taskid int,@opid varchar(10)as        insert into task_fav(taskid,opid,opdate

2012-01-12 13:40:06 4861

原创 如何控制弹出菜单向上弹出(how to control popup menu pop direction)

Popup Menu是windows组件,默认只能控制弹出点,但弹出方向是向上还是向下是系统自动控制的。如果有屏幕下方有足够的空间,默认是向下的。但有的时候需要菜单向上弹出,如图所示:以前我的做法是计算菜单高度,然后从左上角向下弹出,看似向上弹出的。可是这个菜单高度是个系统相关的东西,没有一个直接的属性在菜单弹出前得到。比如xp和vista的默认高度不一样,大字体的系统和标准字体的高度也不

2011-10-25 21:57:25 6574 3

原创 TBalloonHint气泡提示的用法(How to use TBalloonHint)

XE中提供了一个非常简单实用的气泡提示组件TBalloonHint,但怎么个用法似乎没有详细的说明,下面给大家一段演示代码//代码段1, 加载系统默认图标    FImageList := TImageList.Create(AOwner);    FImageL

2011-09-11 01:08:10 7825 2

原创 从Delphi 7升级到Delphi XE (2)

对比于Delphi 7,XE在很多细节方面做了改进,当然有些是在7和XE之间的版本中实现的,这里不作计较。1. New菜单的改进: New菜单下面有个Customize功能,可以定制哪些项目显示在New菜单下面。对于大型项目,很多新类都是从公共基类继承的,以前每次都要到项目的

2011-09-04 02:50:40 6276 4

原创 Parent属性的另类用法

Parent属性是用来控制控件的显示层次的,所有的TWinControl都有Parent属性,包括TForm。如果你设置TForm的Parent的为一个Panel,在整个Form就嵌入到Panel里了。举一个应用的例子,假设你有一个配置界面,一个有很多Page的PageControl, 又假设每个Page的逻辑不太相干,如果所有代码都写在同一个单元里,读起来就很吃力。可以利用Form的Pare

2011-09-01 08:26:39 4836 6

原创 超好用的图标搜索网站

http://www.iconfinder.com/各种尺寸,多种下载格式。以前还收藏图标,现在都在这里找了

2011-08-30 23:42:12 1444

原创 Delphi官方网站资源

开发者网络http://edn.embarcadero.com/在线帮助http://docwiki.embarcadero.com/RADStudio/en/Main_Pagein case you don't have it.

2011-08-30 04:05:08 5805

原创 Delphi XE2 新技术说明 (What's new in Delphi XE2)

今天参加了Delphi XE2的产品发布会,趁热打铁,整理下笔记,看看XE 2中到底有什么新东西。1. VCL Style如果你对Web编程很熟,VCL Style就是delphi版的css,想像一下只要换一个style,所有的按钮菜单表格都换了新的颜色和风格,十分酷。X

2011-08-28 10:12:34 14701 12

原创 Class-reference types 类引用类型--快要失传的技术

先摘一段原版的说明:A class-reference type, sometimes called a metaclass, is denoted by a construction of the formclass of typewhere type is

2011-08-28 09:24:29 4212 1

原创 从Delphi 7升级到Delphi XE

Delphi 7和XE中间有好几个版本,可都不太流行,一是因为Delphi有些边缘化,二是7在XP环境下是近乎完美的版本。市场上关于delphi的书越来越少,提供从7升级到XE介绍的资料几乎没用。这里我试着列举一下7和XE的差异和注意事项,给需要升级的朋友一些线索。1. 7和XE是可以共存的,7的工程文件是.dpr,XE的是.dproj,用XE打开dpr文件会提示升级,自动创建新的项目文件。X

2011-08-21 09:33:43 33676 3

原创 我的Delphi收藏夹,有些也许大家用的着

我的Delphi收藏夹,从Firefox导出来的,可以直接导入Firefox

2011-08-07 12:26:45 4609 1

原创 Delphi XE2 发布了

报名参加了芝加哥的8月底发布会,到时候再给大家汇报情况。

2011-08-06 05:01:03 2190

原创 国内外技术论坛的区别

上国外的论坛多了,慢慢你就会觉得国外的论坛氛围和国内很不同,最明显的是一个贴过了好几年可能都有人在讨论,很少见沙发板凳楼主真牛之类的无聊贴,大家都是在认真讨论问题。国内论坛的很多贴回复可能有几十页,看似热闹,读起来却非常吃力,还有很多很好的想法贴出来几天就沉没了。我不想讨论这

2011-08-03 10:30:10 3900 3

原创 如果有足够钱,国内能开发出Windows这样的产品吗?

这是当年我在招聘面试时出的一道的题,结果有人说可以,有人说不行。我的本意是说国内的整体软件行业的水平还无法胜任大型项目,比如要找出投资过亿的产品经理和能领导上千人的项目经理就很难。这个题目还可以延伸为如果有足够钱,国内能拍出好莱坞大片吗?能造出质量如丰田轿车吗?各位您

2011-08-03 10:15:52 1451 2

原创 如何隐藏published的属性

先看一下Delphi帮助中对Property的Override的说明:A property declaration that doesn't specify a type is called a property override. Property overrides al

2011-08-02 05:53:04 2811

原创 Delphi中对象释放的问题

写前台程序的时候经常遇到自己创建对象的情况,我们知道delphi没有类似Java的内存回收技术,所以要手动释放自己创建的对象。  大部分对象创建的时候,在create构造函数中都有一个AOwner参数,该参数用来指定对象的owner,先看一下delphi帮助中对own

2011-08-02 05:44:05 7070

原创 ADO Speed Test - ADO Query速度测试

设定TADOQuery的两个属性  CusorLoacation := clUseServer; //服务器游标  CacheSize := 100; //本地缓冲大小我用100000条在sql server上做了测试,使用默认的客户端游标,缓冲为1,执行时间为160

2011-08-02 05:41:18 1716

原创 开篇 - 一个老Delphi程序员的博客

Delphi is getting old, just like me.我是个老程序员了,也是csdn最早注册的用户之一,当年csdn论坛经过几次大的变迁,早先发的很多贴都已寻不见,后来也慢慢懒的再发新贴了。直到此时不知觉的变成了老程序员,想到以前在论坛里得到许多人的

2011-08-02 01:10:51 2551 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除