文章分类 -  Delphi应用

摘要:问题提出:写了一个数据库操作的类TDBOperate_DL,统一对数据库的操作嘛。提供了声明事务开始、提交事务和回滚事务的方法供其他类调用。TDBOperate_DL = class private ADOC:TADOConnection; ADOQ:TADOQuery; isDestroyADOC:Boolean; //是否销毁自己的ADOC? fIsInTran... 阅读全文
posted @ 2005-06-10 14:01 hingman 阅读(322) 评论(0) 推荐(0)
摘要:笔者最近开发的系统中需要写一个下载文件的功能。以前用BCB调用API写的很烦琐,忽然想起有一个API就可以搞定了,于是一大早就来搜索。这个API就是UrlDownloadToFile。不仅如此,Delphi的一些控件也可以轻松实现下载,如NMHTTP,指定NMHTTP1.InputFileMode := ture; 指定Body为本地文件名,指定Get就可以下载了。下面是详细代码,均出自CSDN。... 阅读全文
posted @ 2005-06-10 13:57 hingman 阅读(411) 评论(0) 推荐(0)
摘要:最近笔者在制作一安装程序时遇到需动态建立虚拟目录的问题,通过在网上查找相关资料,发现有很多关于用DELPHI来建立IIS的虚拟目录的例子,但都是需要加载类库,不容量调试,且对类库知识的掌握程度要求较高 。笔者就是几次调试都没通过(能力有限,知识有限呀:-(),自古通向罗马就不止一条道。通过对注册表的研究,终于让我发现了IIS在注册表中的老巢,通过N次研究(N<3)终于弄清动态建立虚拟目录的方法... 阅读全文
posted @ 2005-06-10 13:49 hingman 阅读(419) 评论(0) 推荐(0)
摘要:为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院、、歌剧院和客运站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服务。于是,卖票的服务是个接口,电影院、歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如果须要的... 阅读全文
posted @ 2005-06-10 13:45 hingman 阅读(546) 评论(0) 推荐(0)
摘要:现在很多应用都需要上传与下载大型文件,通过HTTP方式上传大文件有一定的局限性。幸好FTP作为一个非常老而且非常成熟的协议可以高效稳定地完成大文件的上传下载,并且可以完美地实现续传。就拿我写的电影服务器管理端程序来说,各种方案比较后,发现使用FTP可以完美地实现要求。但是要通过WinSocket库实现FTP比较麻烦,幸好有Indy--一个包装了大多数网络协议的组件包。 通过Indy,程序设计人员... 阅读全文
posted @ 2005-06-10 13:44 hingman 阅读(379) 评论(0) 推荐(0)
摘要:在《强大的DELPHI RTTI--兼谈需要了解多种开发语言》一文中,我说了一下我用DELPHI的RTTI实现了数据集的简单对象化。本文将详细介绍一下我的实现方法。 首先从一个简单的例子说起:假设有一个ADODataSet控件,连接罗斯文数据库,SQL为: select * from Employee 现在要把它的内容中EmployeeID, FirstName, Last... 阅读全文
posted @ 2005-06-05 00:39 hingman 阅读(460) 评论(0) 推荐(0)
摘要:一、 前言在日常网络管理时,我们常用Ping命令来测试是否能与宿主(或路由)连通。但它一般是以命令行的形式提供给我们,不仅使用不方便,而且命令执行速度较快时,常常使我们看不清执行结果。那么,有没有办法来解决这个矛盾呢?答案当然是肯定的。下面,我们将利用Delphi强大的网络编程功能来实现一个图形化的Ping程序,程序的运行界面如图1所示。程序的主要功能:在Address后的编辑框中可以输入一个计算... 阅读全文
posted @ 2005-05-18 13:46 hingman 阅读(1076) 评论(1) 推荐(0)
摘要:我们平时看到的很多软件(PhotoShop,3DMax)都会在启动画面中显示当前正在启动哪个模块,并在模块加载失败时给予提示,这样的好处是,可以让比较专业的软件使用者知道当前软件加载了哪些模块,或者在软件发生启动错误时,让用户得以反馈是启动的哪个模块时发生了,以及在长时间的软件启动过程中,让用户知道软件还在工作,避免用户对其失去信息。。。好了,说了那么多废话,就来看看我是怎么制作这样一个程序的,由... 阅读全文
posted @ 2005-05-17 17:10 hingman 阅读(341) 评论(0) 推荐(0)
摘要:Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动。 Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动。 Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏。 Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏。 Ctrl+Shift+NUM 在光标行设置最多九个临时标志号,对临时切换非常有用。 行的左边将出现一本书,封面有NUM,再按一次取消设置。 Ctrl+NUM 直接将... 阅读全文
posted @ 2005-05-13 21:54 hingman 阅读(376) 评论(0) 推荐(0)
摘要:SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROC pr__SYS_MakeDeleteRecordProc @sTableName varchar(128), @bExecute bit = 0 AS IF dbo.fnTableHasPrimaryKey(@sTableName) = 0 ... 阅读全文
posted @ 2005-05-11 15:28 hingman 阅读(700) 评论(0) 推荐(0)
摘要:利用 SHGetSpecialFolderLocation 來取得 pidl ( A pointer to an item identifier list (PIDL)), 並利用 SHGetPathFromIDList 來取得路徑, 範例如下: procedure Tform1.Button1Click(Sender: TObject); var piidl: PItemIDList; ... 阅读全文
posted @ 2005-05-11 10:22 hingman 阅读(669) 评论(0) 推荐(0)
摘要:使用COM接口 1.找到接口描述文件COMAdmin_TLB.pas 还是用了个笨办法,新建一个ActiveX Library,再新建一个COM Object,随便起个名字吧。保存。 然后选菜单View->Type Library,在右边Uses页中点右键,选择查看所有类型库,找到COM+1.0 Admin Type Library,保存。OK,在你的保存目录下有了一个COMAdmin_TLB.... 阅读全文
posted @ 2005-03-16 16:30 hingman 阅读(1817) 评论(0) 推荐(0)
摘要:In my last post I mentioned a simple way to expose a .NET class under asecure DCOM connection. That particular method works best if the class that you securely exposed through DCOM lives in your own ... 阅读全文
posted @ 2005-03-16 16:14 hingman 阅读(1269) 评论(1) 推荐(0)
摘要:Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用: 首先看它的声明: function Format(const Format: string; const Args: array of const): string; overload; 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是... 阅读全文
posted @ 2005-03-12 10:58 hingman 阅读(511) 评论(0) 推荐(0)
摘要:要用DELPHI中的ADO系列控件访问Excel数据文件,首先应该建立一些基本概念。你需要将一个Excel数据文件想象为一个关系数据库,Excel文件中的每个工作表就对应该数据库中的一个表,而工作表中的每一列当然就是表的列了。然后,按照下列面的秘诀进行就可以。 1.设置ADOConnection的ConnectionString 构造ConnectionString时,OLE... 阅读全文
posted @ 2005-02-23 10:55 hingman 阅读(1222) 评论(0) 推荐(0)
摘要:结合了数据库的结构比较和数据比较功能,使得SQL Delta成为市场上最有价值的数据库比较工具。现在只需点几下鼠标,就可以同步数据库的概要和数据,而且不需要运行Query Analyser来检查结果 下载地址:http://www.chinaz.com/download/s/11955.asp 阅读全文
posted @ 2005-02-05 13:40 hingman 阅读(1022) 评论(2) 推荐(0)
摘要:一组实现多语言的Delphi元件,通过资料字典,让你的delphi专案相同的代码支持任意国家的语言显示。 分离执行程序和多语言实现,不改变既有代码书写方式,也不改变既有delphi元件和第三方元件,开放的架构,随时注册新元件的替换函数,从而支持第三方元件随时使用。 多种格式和来源的资料字典,可以是文本的、2进制的文件格式,或者自定义文件格式,或来源于数据库;... 阅读全文
posted @ 2005-01-30 03:17 hingman 阅读(1451) 评论(2) 推荐(0)
摘要:现在很多应用都需要上传与下载大型文件,通过HTTP方式上传大文件有一定的局限性。幸好FTP作为一个非常老而且非常成熟的协议可以高效稳定地完成大文件的上传下载,并且可以完美地实现续传。就拿我写的电影服务器管理端程序来说,各种方案比较后,发现使用FTP可以完美地实现要求。但是要通过WinSocket库实现FTP比较麻烦,幸好有Indy--一个包装了大多数网络协议的组件包。 通过Indy,程序设... 阅读全文
posted @ 2005-01-30 03:13 hingman 阅读(2366) 评论(0) 推荐(0)
摘要:你的电脑有没有摄像头?看到别人用QQ玩视屏你会不会去想怎么实现的? 这里介绍使用DELPHI使用MS的AVICAP32.DLL就可轻松的实现对摄像头编程, 如果再加上你的网络编程水平,实现一个视屏聊天就不成什么问题了。 看看下面代码的代码: const WM_CAP_START = WM_USER; const WM_CAP_STOP = WM_CAP_START + 68; const WM_... 阅读全文
posted @ 2005-01-30 03:09 hingman 阅读(892) 评论(0) 推荐(0)
摘要:GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。” 1.一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。 ... 阅读全文
posted @ 2005-01-30 02:45 hingman 阅读(3936) 评论(0) 推荐(0)