Delphi之快速设计(程序设计篇) (转)
Delphi之快速设计(程序设计篇) (转)[@more@]*本文涉及的所有代码均在WinNt 4、Delphi4 C/S下正确运行通过。由于Delphi采用了真正的完全面向对象方法、当今世界最快的编译器以及领先的数据库技术,特别是她对windows api的完全兼容,出色的代码自动生成能力……人们已经看到,在短短的几年当中,Delphi已在众多的开发工具中脱颖而出!正是Delphi的诸多优秀品质,使程序员能在很短的时间内开发出极具专业水准的运用软件,而所做的工作却是相当的少!正所谓Let's us make better!我们应怎样充分利用Delphi的优势来更加快速地进行程序设计程序
Delphi实用编程经验二则 (转)
Delphi实用编程经验二则 (转)[@more@] Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的windows应用程序开发工具。 下面是两则Delphi编程的实用经验,希望能与大家共享: 1?使用超文本链接标示语言(HTML)。使用Windows中的打开方式(如IE等)访问HTML文件,受系统限制太大,不够灵活。Delphi提供了THTML控件,它能调用HTML文件,但在它的属性中却没有详细说明怎样调用本机的HTML文件。其实,只要使用正确的URL格式,是能够完成这一功能的,其格式如下: file:∥<host>/<pa
将某一主机域名解析为IP地址 (转)
将某一主机域名解析为IP地址 (转)[@more@]将某一主机域名解析为IP地址。使用 WinSock 单元;过程如下:function HostToIP(Name: string; var Ip: string): Boolean;var wsdata : TWSAData; hostName : array [0..255] of char; hostEnt : PHostEnt; addr : PChar;begin WSAStartup ($0101, wsdata); try gethostname (hostName, sizeof (hostName)); StrPCopy(hostName, Name); hostEnt := gethostbyname (hostName); if Assigned (hostEnt) then if Assigned (hostEn
WINDOWS未公开函数揭密(2) (转)
WINDOWS未公开函数揭密(2) (转)[@more@] windows未公开函数揭密 这次介绍的是如何利用Windows未公开函数实现系统文件操作监视功能。利用该功能可以对Windows下的任何文件操作,包括建立文件、文件夹;删除文件;改变文件大小等操作都可以纪录在案。首先来介绍实现上面操作的两个未公开函数:SHChangeNotifyRegister和SHChangeNotifyDeregister,SHChangeNotifyRegister函数的定义如下:Declare Function SHChangeNotifyRegister Lib “shell32" Alias “#2" _(ByVal hWnd As Long, _ByVal uFlags As SHCN_ItemFlags, _ByVa
VC++实现拨号上网程序 (转)
VC++实现拨号上网程序 (转)[@more@] VC++实现拨号上网程序 在Office2000中,就用户界面丰富程度而论,word以56个工具栏(Toolbar)、50个弹出式菜单(Popup Menu)雄居首位,但excel(工具栏40个、弹出式菜单51个)和Powerpoint(工具栏43个、弹出式菜单25个)也相差不远。大多数用户可能从来没有见过所有这些工具栏,甚至许多用户不知道Office提供了这么多命令工具。 虽然我们可以用【视图/工具栏】菜单隐藏或显示一些工具栏,但这个菜单并没有列出全部的工具栏。对于Word,从【工具/自定义】菜单可以看到的工具
提取应用程序中的图标资源 (转)
提取应用程序中的图标资源 (转)[@more@]提取应用程序中的图标资源 经常看见一些软件有着美丽,光艳夺目,非常个性化的图标,曾几何时也想拥有,可苦于缺少一点点艺术细胞,只好打起妙手空空的念头。经过一天的捉摸,也找到一些门道,效果还佳,再用Delphi自带的Image Editor加以修改,彻底私有化,为我所用。洒家用此法做了一些漂亮的图标,令老友羡慕不已。好了,好东西当然不敢独享,且容我为各位慢慢道来:首先用api函数LoadLibrary(lpLibFileName: PChar): HMODULE; stdcall; 把指定的程序模块映射到调用程序的地址空间去。该
Win9x下程序间的数据传递 (转)
Win9x下程序间的数据传递 (转)[@more@]WIN9X下程序间的数据传递 大家知道在Window 9x中一个应用程序不能直接访问另一个程序的内存地址,因为WIN9x为每个运行中的进程提供了自己的虚拟空间,这起到了很好的保护作用,然而,它也使得两个程序间不能轻易的交换数据,但是这并不是说程序间就一定不能进行数据传送了,Win9x为我们提供了几个特殊的方法来实现这个目的,如通过windows消息WM_CopyData 和存储影响文件等方法。使用消息WM_CopyData传送需要传递的数据缓冲区的内存地址,前面讲过,我们不能从一个应用程序向另一个程序发送
轻松实现SINDOWS 98动态菜单 (转)
轻松实现SINDOWS 98动态菜单 (转)[@more@]轻松实现SINDOWS 98动态菜单 在windows 98中,当你第一次使用动态菜单时,一定感到非常奇妙。其实在windows 98中,较容易动态地建立整个弹出式菜单,并可将其加到一个已存在的菜单中。首先,用api函数CreatePopMenu()建立菜单,函数原型如下:HMENU CreatePopupMenu(void);该函数建立一个空菜单并返回菜单句柄。建立菜单后,使用AppendMenu()来增加菜单项目。菜单构造完成后即可将其用AppendMenu()增加到已存在的菜单中。使用CreatePopupMenu()函数建立的菜单必须被废弃。若菜单连接到一
模式设计(三:Builder模式) (转)
模式设计(三:Builder模式) (转)[@more@] builder 模式 本文中我将采用生产汽车的例子来讲解builder 模式。 考虑如下问题:我要建造一部车,我们希望将这个复杂的对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。譬如桑塔纳,帕萨特等车,采用同一各构建过程就可构建同一对象的不同表示。 比较abstract factory和builder不同点是:(1)适用问题(2)构建方式。 builder 是构造一个复杂对象; (适用问题) 一步一步的构建并最终返回一个产品; (构建方式) abstract factory 
算法设计应用实例 (转)
算法设计应用实例 (转)[@more@]½ÚÒë×ÔThe Algorithm Design ManualCopyright Steven S. Skiena All Rights Reserved Copyleft g9yuayon(¶É¶ÉÄñ) All Rights Lost <rant>ÕâÁ½ÌìVC++°æµÄËã·¨Ö®ÕùºÃ²»ÈÈÄÖ¡£¸ÕºÃ°³¿¼ÍêÒ&r
一个用VB编写的监控别人上网的软件例子 (转)
一个用VB编写的监控别人上网的软件例子 (转)[@more@]一、程序核心 本程序的核心是通过api函数获得窗口句柄并获得浏览器访问的网址,在此基础上可以实现用Winsock控件进行远程的监视和管理。 1.先创建一个工程并在窗口Form1中,并声明下面的四个API函数和两个常量: Option Explicit Private Declare Function FindWindow Lib ″user32″ Alias ″FindWindowA″ (ByVal lpCl assName As String, ByVal lpWindowName As String) As Long ′Findwindow函数的功能是找到当前运行的IE窗口的url地址的句柄 Private Declare Func
实现类似IE的打印网页功能 (转)
实现类似IE的打印网页功能 (转)[@more@] 当我们点击工具条上的“打印”按钮实现IE的打印函数功能时,发现没有“打印机安 装”对话框显示出来,程序会自动开始打印文档。这个特点也被用于microsoftword中。 在应用程序中实现这个特点,编码如下: void CMyBrowser::OnPrint() {LPOLECOMMANDTARGET pCmdTarg = NULL; m_pDisp = m_webBrowser2.GetDocument(); //get the IDispatch interface pointerASSERT(m_pDisp);m_pDisp->QueryInterface(IID_IOleCommandTarget, (LPVOID*)&pCmdTarg); //query for olecommandtarget i
源代码为你而开吗??Is Open Source for You? (转)
源代码为你而开吗??Is Open Source for You? (转)[@more@]apache, Cocoon and Linux aren't just useful programs, they're best-of-breed. Some of the more intemperate free software boosters, intoxicated by this success, claim that proprietary software is obsolete and that it's immoral to keep your source code secret. Well, maybe. Part 1 of 2.by Rick WayneIf your team is anything like mine, everyone has a nickname. In some companies, a newcomer practically needs a shadow phone book just to follow a co
也谈无标题窗口的拖放 (转)
也谈无标题窗口的拖放 (转)[@more@] 有一篇宋立波先生的文章“windows高级窗口的客户区域拖动技术及其应用”对窗口拖动技术作了大量细致的阐述,然而对我这样 一知半解的菜鸟来说,稍嫌困难,而且要处理的细节也太多,后来从微软的站点看到一个简单的方法实现,不必计算RECT,不必处理鼠标消 息的细节和窗口绘制,就能轻松实现没有标题栏的窗口移动的问题,就是使用OnNcHitTest消息。 手工增加该消息映射: 用classwizard是无法增加该消息的,在BEGIN_MESSAGE_MAP中加入消息ON_WM_NCHITTEST(),然后在头文件中加入 a
软件工程能帮多大忙? (转)
软件工程能帮多大忙? (转)[@more@]一、思想各不相同,行为却是一样的 中国的程序员多数贫寒而有大志,看到国产软件行业凋敝,拯救中国软件业的愿望便由此生根发芽。我但是,我越做就越失望。 为什么?因为胡说八道胡乱指挥“项目经理”的太多,有寡不敌众的感觉吗?不是的。胡乱指挥的人的确多,什么中文软件,什么自主知识产权,什么扶持软件产业,什么硅谷梦想,的确寡不敌众。 但这根本不重要!反过来,即使这个社会人人都是比尔.盖茨,安迪.葛洛夫,对中国的软件业的繁荣也于事无补! 对“振兴民族软件业,知识救国”的失望,是
解决你MCSE最大的困惑 (转)
解决你MCSE最大的困惑 (转)[@more@]解决你MCSE最大的困惑2001年4月12日9:32:2 启迪网 在NT 4.0系列考试中有三门课程可以使用中文考试,分别为70-58.NETworking Essentials、70-59 TCP/IP on NT 4、70-67 NT 4.0 Server。然而目前NT 4.0考试已经全部作废,新推出的Win2k系列考试中目前还没有可以使用中文考试的,但依据微软的惯例可能会在今年晚些时候推出中文的考试。 关于考MCSE是学英文还是学中文是想考认证的朋友最关心也是最困惑的问题,我们想这个问题的根源在于对那几本全英文教材和全英文考试的恐惧心理。在这之前我们想先
D版 Rational Rose 2001 完全安装手册 (转)
D版 Rational Rose 2001 完全安装手册 (转)[@more@] D版 Rational Rose 2001 完全安装手册 一.安装前的准备: 1.首先确认你已经安装了windows2000(不管哪个版本都行) 2.购买《酷软(16 IN 1)》编号43.目录:RATIONALROSE.V2001-ZENITH 下即为 Rational Rose 20014.SETUPb子目下为安装文件,crack子目下为协议文件 二.安装程序: 1.启动Rational Rose 2001的安装程序 2.连点两次"NEXT" 3.在接下来的画面中选最后一项"install product before licensing,然后点"next" 4.再点一次"NEXT" 5.同意协议再点"NEXT" 6.选安装全部内容
VC++中实现程序互斥运行 (转)
VC++中实现程序互斥运行 (转)[@more@] VC++中实现程序互斥运行 在软件的开发过程中,有时需要控制一些程序不能同时运行,也就是多个程序间互斥运行(还包括禁止同一程序运行多个实例)。针对这一问题,我们在Visual C++ 6.0中利用内存映射文件实现了多个程序间的互斥运行。 在讲述具体的编程方法之前,让我们先来看看和内存映射文件操作有关的几个重要的函数: 1)CreateFileMapping函数为指定的文件创建一个文件映射对象,该函数的原型如下: HANDLE CreateFileMapping( HANDLE hFile, // 用于映射的文
Java中的两个特殊变量this和super (转)
Java中的两个特殊变量this和super (转)[@more@] Java中的两个特殊变量this和superWayne 在Java中有两个非常特殊的变量:this和super,这两个变量在使用前都是不需要声明的。this变量使用在一个成员函数的内部,指向当前对象,当前对象指的是调用当前正在执行方法的那个对象。super变量是直接指向超类的构造函数,用来引用超类中的变量和方法。因此它们都是非常有用的变量,下面我想介绍一下this和super的使用方法。 1、this 让我们先看一段代码吧: class PersonInformation { String name,gender
HTML组件库(之一:splitter) (转)
HTML组件库(之一:splitter) (转)[@more@]HTML组件库(之一:splitter) 微软自从在浏览器大战中战胜网景后,其HTML技术逐步走向组件化,从简单的Javascript到scrptlet再到behavior技术,渐趋成熟。新版本的IE内部集成了许多很有用的behavior,在微软的站点上亦有免费的behavior库可供下载。其最新的web controls更是提供了几个强大的组件(工具栏,制表(TAB),树等)。用它们来构筑web程序倍感方便。从本文开始,我将推出一系列HTML组件的实现。这次给大家的是一个水平的splitter。(作为练习,希望大家把这个组件加上垂直方向split的