博文

Delphi怎么设置系统当前输入法(2008-07-30 17:15:00)

摘要:unit ime95;
// 这些函式, 我通常是在 edit 的 ondblclick 事件中呼叫测试
interface
uses
windows, messages, sysutils, imm,
classes, graphics, controls, forms;
// 请注意, imm.pas 必须置于与本单元同一目录或
// 主选单 tools | options | library path 中的任一个目录
// imm.pas 可在 delphi 2.0 的 source目录中找到
const
nhkl_list = 20;
type
timeuiwindow = class(tcustomcontrol)
private
procedure cmtextchanged(var message: tmessage); message cm_textchanged;
protected
procedure createparams(var params: tcreateparams); override;
procedure paint; override;
public
constructor create(aowner: tcomponent); override;
procedure showcomposition(ptwhere: tpoint; const shint: string); virtual;
// function ishintmsg(var msg: tmsg): boolean; virtual;
// procedure releasehandle;
property caption;
property canvas;
property color;
end;
// 显示某一输入法的设定对话盒
function showimeconfigdialog(hkb: hkl): bool; far;
// 指定某一窗口的中英输入模式
procedure tochinese(hwindows: thandle; bchinese: boolean); ......

阅读全文(8667) | 评论:0

delpi与数据库,低层介绍(2008-07-17 17:48:00)

摘要:2、数据库
  
  在相对枯燥的理论之后,我们终于要开始接触到一些比较激动人心的实际应用了。
  数据库编程是Delphi最强大的优势之一,恐怕也很少有Delphi程序员没有接触过数据库编程的。Delphi独特的Data-Aware构件,让很多初识Delphi的人为之目瞪口呆。不需要写任何代码,在几分钟之内就可以做出一个相当精巧的数据库程序,而且在开发期就可以看到运行期的结果,这真是不可思议啊!但是,Delphi强大无比的数据库开发能力,决不仅仅限于用几个构件操纵一下DBF或是Access数据库而已。你所看到只是冰山一角。让我们仔细说来。
  数据库虽然家族庞大,但一般来说可以分为两种:文件型数据库和C/S型数据库。下面分别讨论。
  
  2.1 文件型数据库
  所谓文件型数据库,顾名思义,是基于文件的(file-based),数据被按照一定格式储存在磁盘里,使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读取 。也就是说,这种数据库的访问方式是被动式的,只要了解其文件格式,任何程序都可以直接读取,这样就使得它的安全性相当糟糕。同时,在蓬勃兴起的网络应用,文件型数据库更是难有用武之地:效率低下,不支持很多SQL命令,不支持视图、触发器、存储过程等高级功能,等等。这些特点决定了它不适合大型的工程。
  最为大家所熟悉的文件型数据库可能就是DBF(DBase/Foxbase/Foxpro)数据库,在DOS时代风靡一时,相信很多人都有过抱着一本手册苦背Foxbase命令的回忆吧!其特点是,每个Table或Index都是一个独立的文件,使用相当简单,性能还可以,安全性非常的差,但应用非常广泛(主要是DOS时代遗留下来的,哪个单位没有两个用这种东东编出来的老古董程序呢?)。它在今天还能占有一席之地,其主要原因之一是,正因为简单和使用广泛,使得对它的访问是最容易的,甚至根本无需第三方的接口,就可直接对其进行字节级的读取 。
  除此之外,还有著名的Access数据库。这是MS Office里的构件之一,和DBF数据库不同,所有的文件都被整合在一个.mdb文件中,这样就避免了数据库变大之后管理上带来的麻烦。同时它还提供密码保护功能,安全性比DBF数据库要好很多。Access数据库除了一般的文本数据之外,还擅长于对......

阅读全文(2655) | 评论:0