delphi
摘要: 除了可以向ie中添加自定义菜单外,我们还可以向ie的工具条上添加自定义的按钮。自定义按钮同自定义菜单com扩展的实现几乎一样, 除了在注册时需要添加的注册表项不同。 注意:同菜单扩展一样,自定义的按钮扩展也必须是ie5及以后的版本才支持。
摘要: ie的面板实际就是嵌入到ie浏览器中的子窗体。面板有两种显示模式,一种是垂直显示在浏览器的左侧,一种是水平显示在浏览器的下方。ie浏览器内置提供了很多的标准面板,如收藏夹和搜索面板这些是垂直的面板,而每日提示和讨论面板则是水平的面板。
摘要: 向ie中添加的自定义菜单,可以被用来执行可执行文件,脚本语言和com对象的方法,对于前两种执行方式,相对比较简单,只需要对注册表进行编程就可以了,但是能够执行的功能非常有限,而使用com组件扩展ie菜单则相对复杂,但是能够执行的功能也相对是最强大的,所以下面我就主要介绍基于com的菜单扩展方式,还要注意的一点是只有ie5及以后的版本才支持菜单的扩展。
摘要: ie除了允许我们添加自定义的主菜单外,还允许在右键菜单中添加自定义的菜单,。很多著名的网络软件如网络蚂蚁,、网际快车等都在右键菜单中添加了可以用来下载文件的快捷菜单。ie的右键菜单扩展同其它com扩展不太一样,其它扩展只要在注册表中填写一定的配置信息就可以使用了,而右键菜单扩展必须由一个javascript脚本来创建并调用其中的方法。由于我们的com组件必须能从脚本语言中创建,因此右键菜单扩展的必须是一个automation(自动化)组件,也就是说除了iunknown接口外,还必须支持idispatch接口。幸好,delphi提供了内置的自动化com组件的支持,我们只需要从tautoobject而不是标准的tcomobject派生com组件就可以了。
摘要: 今天帮别人解决一个关于 base64 编解码的问题,竟然发现 delphi 自带了 base64 编解码的单元,叫 encddecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因。
摘要: shellexecute是windows的api函数,功能是执行可执行文件(exe)或任何关联文件(doc、txt、xls等)。但 shellexecute是异步执行的,也就是说,不管执行的程序是否成功运行,运行的时间是长是短,shellexecute函数都会立即返回。这样虽然可以很好地完成执行程序的工作,但却会给后续的工作带来麻烦。
摘要: 最近做个程序,需要将dbf和文本文件互相转换,也就是将dbf按表结构将字段和数据导成txt文件,再将txt文件导入其他的dbf表中。在 foxpro中完成这些工作简直太容易了,但很多功能必须用delphi实现。虽然可以用foxpro做个小程序,然后再用delphi调用,但比较麻烦。因此,可以用delphi通过调用com组件的方式直接执行foxpro命令来实现
摘要: 运行java程序(swing或swt的桌面程序)可以直接执行.class文件或将所有的.class文件及相关的其他文件压缩成.jar文件,然后使用javaw -jar my.jar来运行程序(其中my.jar是一个jar文件名,可以是任何指定的jar文件)。但在windows下,用户习惯直接运行一个exe来执行程序。在网上有很多程序可以将my.jar或.class文件直接转换成exe文件。但很多都是将jar或.class文件放到exe里成,这样不太方便。有些工具,如javalauncher可以使用一个exe程序(用c语言写的)来调用jar文件。但有时需要在运行程序之间做些其他的工具,例如,在客户端动态从服务端下载最新版本的程序。因此,在本文将使用delphi2009实现一个简单的可以调用jar文件的程序,读者可以对这个程序进行任何扩展,本文还提供了该程序的源代码和exe文件。
摘要: 在通常情况下使用delphi设计程序,都是将字符串、图像等资源直接使用delphi提供的vcl控件加到*.dfm中,这样做会合修改这些资源时带来不便,如果资源被多次引用,这些资源在程序启动时都被加载到内存中,非常耗费系统资源。因此,这就需要一种新的引用资源的文件:资源文件。资源文件就是将一些资源,如字符串、图像等信息进行编译,然后在程序中引用编译后的资源文件,最后和源程序一起编译生成可执行文件。由于在资源文件中的资源是在需要时加载,因此,比较节省系统资源,而且,如果要做国际化版本的系统,只需要将资源文件一换,重新编译即可。下面就详细介绍delphi中资源文件的建立和使用。
摘要: 在面向对象语言中,用两种方法建立类的实例:静态建立和动态建立。静态建立就是在程序中显式地建立类的实例,如c1 = tclass1.create()。而动态建立是在只知道类名的前题下建立类的实例。动态建立在实现上要比静态建立更灵活,因为动态建立无需引用被建立类,并且更容易实现如多态等面向对象特性。