delphi的反射RTTI
08月05号
delphi的反射RTTI

写SQL语句是一个非常枯燥的事情,事实上凡是大量重复的东西,都是非常枯燥的。

因此我们就想到要改变,于是有人就搞出对象关系映射的框架来,Java中的Hibernate就是个活生生的例子。

c#也是不甘落后的,它搞了个EF框架,即Entity framework。

唯独还在Delphi世界里面苦苦挣扎的人,简直就是苦不堪言啊。每增加一张表,就得写每一次insert,update,select的语句,这是个多么苦逼的事情!

查看全文
条码生成与打印
09月13号
条码生成与打印

条形码或称条码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。条形码技术主要原理是利用了光的反射,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,所以当条形码扫描器光源发出的光在条形码上反射后,反射光照射到条码扫描器内部的光电转换器上,光电转换器根据强弱不同的反射光信号,转换成相应的电信号。

第一个条形码是与食品有关的,1949年美国人诺曼·伍德兰和伯尼·西尔法(Berny Silver)申请了用于食品自动识别领域的环形条形码。

查看全文
delphi实现子窗口只打开一个
07月01号
delphi实现子窗口只打开一个

在做吵吵检验科试剂管理系统的时候,我突然发现一个问题。由于我是用菜单来控制功能窗口打开的,如果用户点击两次,就打开了两个窗口,如何解决这个问题?当更换了用户,用户权限变化了的时候,如何关闭原来的窗口?

这还不简单,声明一个窗口的全局变量不就OK了么,要关闭就直接form.close就卡可以了嘛!

查看全文
一款精致的delphi皮肤控件AlphaControl
06月21号
一款精致的delphi皮肤控件AlphaControl

AlphaControl是delphi下的一款老牌的皮肤控件,目前的最新的版本号是V8.4.1,在vclskin已经停止开发的情况下,选择AlphaControl用于win32程序的界面开发,是一个不错的选择。

AlphaControl简单易用,简单到仅仅拖几个控件,就能够更换皮肤,而且原有的delphi的标准控件也可以随之变化。使用AlphaControl可以轻易的实现透明的窗口,还包括窗口的渐变动作等,虽然有一定的内存泄露问题,但是相对来说,还算可以。

查看全文
delphi实现rss时间格式与标准格式转换函数
03月24号
delphi实现rss时间格式与标准格式转换函数

随着Google Reader的终结,最近考虑做一个程序用于读取独立博客的最新文章和内容,以方便自己能够及时的获得所需要的信息。实现这样一个程序并不困难,使用xml文档读取rss的路径就ok了。但是我在将rss的时间格式,转化为标准的东八区的时候遇到了困难,delphi或者很多其他的程序语言并不存在类似的库类支持这样子的转换,万般无奈就只好自己搞了。

查看全文
支持delphi xe3的代码提示插件cnPack
02月14号
支持delphi xe3的代码提示插件cnPack

delphi的代码提示功能老实说做的不是太好,很多时候它都会失效。当然vc也是如此,但是vc有一个叫Visual Assist X插件非常好用,能够自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于提高开发过程的自动化和开发效率。网上找了半天,发现了delphi IDE的一个插件cnPack。

查看全文
delphi动态数组内存回收
11月24号
delphi动态数组内存回收

最近写的一些和LIS有关的小程序,需要在本地维护一小组的数据,于是乎用到了动态数组和结构体。之后发现消耗的内存还蛮大的,于是乎研究了一下delphi的动态数组的创建和内存释放的问题。

第一种:setLength

delphi提供的setLenth函数简单好用,可以很方便的为数组分配内存和释放。本次试验声明了一个ayy的动态数组,然后用两个按钮分别来分配和释放内存,测试代码如下:

查看全文
delphi的stringgrid与数据库
03月08号
delphi的stringgrid与数据库

老实说,很久没有用到delphi之后,很多功能都已经不太熟悉了,折腾了快两个小时,也堪堪才把stringgrid这个列表控件和adorequest数据库控件给搞好了。要实现的功能挺简单,即把数据库中的数据都放到一个列表框里面来。也许控件不是那么好用,号称rad即快速开发平台的delphi也不见的就那么高效了。

查看全文
delphi使用ADOrequest彻底断开acess数据库连接
03月01号
delphi使用ADOrequest彻底断开acess数据库连接

吵吵在检验科工作的这天就接到一个任务,即精液报告的改进,要将精子快速向前运动和慢速向前运动这个A级和B级的结果相加打印出来。打印的模板倒是可以更改,但是却无法将A级和B级的值合并起来再打印。无奈之下翻了翻数据库,看到数据库中存放了A级和B级中的精子数,所以萌生了一个想法,就是把B值加入到A值中去,然后就可以输出A为总的向前运动了。

查看全文
在 Delphi 中使用微软全文翻译的小例子
11月15号
在 Delphi 中使用微软全文翻译的小例子

uses MsXML;

{函数}
function Translate(AAppID: string; AText: string; InLanguage: string=’en’; OutLanguage: string=’zh-CHS’): string;
const
BaseUrl = ‘http://api.microsofttranslator.com/V2/http.svc/Translate?appId=%s&text=%s&from=%s&to=%s’;
var
Url: string;
req: IXMLHTTPRequest;

查看全文