软件与程序设计
-
Visual Basic程序设计基础段银田 陈勇孝 郎洪本书是根据教育部提出的高等学校非计算机专业计算机基础教学三层次要求组织编写的教材。本书主要讲授VisualBasic的基本概念和程序设计方法。本书避开VB语言一些复杂内容,精选VB中的一些基本功能和程序设计方法并结合实例进行介绍。使学生通过对这些主要功能与方法的学习训练,能抓住要领,为实际的程序开发打下基础。本书选材适中,例题、习题丰富,可作为高等学校程序设计课程的教材。本书作者可提供教学辅导盘。 -
Delphi4.0/5.0类参考详解秦绪佳,张济,袁野编著本书是Delphi 4.0/5.0语言参考手册中的一本。本书内容包括了进行一般应用程序设计所要使用的类。书中详尽地介绍了Delphi 4.0/5.0类及中的属性、方法和事件,还详细了介绍了过程和函数以及变量、数据类型、语句等,对读者的编程有很好的参考价值。 -
MFC应用开发教程(美)[V.布罗奎德]Vic Broquard著;汪泳等译;汪泳译简介本书适用于已经具备了MFC编程的基础知识,而又渴望扩充自己的能力和知识的读者。书中提供了众多的方法和技术,用于处理文档-视图体系结构、打印和预览、树形控件和列表控件、控制栏和对话栏、图形图像处理和调色板操作、数据库访问对象(DAO)类,以及增强型元文件。丰富的Internet类是VisualC十十5.0的新特性,在本书最后一章中,我们将介绍这些新特性并学习如何编写文件传输协议(FTP,filetransferprotocol)浏览器。在所给范例中,有些使用了App和Class向导,有些未用。所有的例子程序都是非常实用的应用程序,而不是小代码段,它们展示了如何把整个应用程序组合在一起。此外,我们还将讨论有效地利用系统注册表(systemRegistry)的各种方法。让我们以打印和与之相关的预览操作为例来看一下MFC的作用。在商业应用程序中,打印报表通常是应用程序中最重要的功能。在很多这类应用程序中,用户界面和程序操作仅仅是为打印作准备。无论是基于文字、基于图形,还是二者的结合,只要报表对你的应用程序而言是重要的,本书都可以助你一臂之力。本书将通过6个重要的范例演示如何处理打印/预览操作,它们分别适用于从文字到图形的每一种不同的应用。本书主要讲述MFC的中级技巧,例如如何用CListCtrl和字体枚举来创建字体选择控件,如何使用CTreeCtrl和ABC字符宽度,以及单词的换行技术。书中还深入地讲述了映射模式,列举了很多文本和图形缩放的例子,也浏览了CPtrArray和CObjList容器类。前七章主要讲述各种文档-视图(Document-View)结构的实现,并演示了序列化的方法。图形操作包括用世界坐标系来缩放、裁剪以及滚动位图(bmp)文件。另外,还深入讨论了颜色调色板,内容包括Identitypalettes,如何转换为灰度图像或者如何完成颜色调整。也涉及了WYSI-WYG操作。第8章和第9章利用新的DAO类来更新和查询MicrosoftAccess数据库,生成了精美的报表,并为树形控件和列表控件提供数据。第10章专门讲述了控制栏、对话栏和工具箱。在一个DAO例子中甚至还有动态分配二维数组的操作。第12章对增强型元文件做了一个综合考察。最后一章演示了用新的Internet类写一个FTP浏览器的方法。各章中的提示讲述的是如何有效地使用系统注册表(SystemRegistry),代替原来的位于Windows文件夹中的旧风格ini文件。如果读者不是MFC的中级程序员,但对WIN32风格的编程非常熟悉,那么本书也是一个学习MFC类方法的很有价值的工具,因为书中经常回顾一些主要的函数和方法,这些函数和方法将会非常有用。在刚开始的几章中,作者总是给出基本的C语言风格函数和与之对应的MFC的类和方法,这是因为MFC编程者总要借助WIN32编码。当使用增强型元文件的时候,这种情况就非常明显了。不要因为学习的是一些小的例子程序就感到烦恼。所有的中级MFC应用程序都可以在Windows95和WindowsNT平台运行。如果你在Windows3.1平台作开发工作,那么绝大多数概念仍然适用,只是读者需要对代码作一些改动,二者最大的差异在内存模式和体系结构方面。虽然书中简要介绍了C语言风格打印机的Escape打印代码,但是在打印方面主要的重点工作仍然是由MFC类封装起来的代码完成。作者使用了所有的标准的Print,PrintSet-up,PrintPreview和PageSetup对话框,还分别讨论了文档-视图(Doc-View)结构的应用程序和非文档视图(nonDoc-View)结构的应用程序的打印。演示了用于打印文本和图形的各种技巧,包括很多用于打印时缩放bmp文件的方法。还涉及了利用从MicrosoftAccess数据库中获得数据,来生成可打印的报表的方法。读者将会从中学到创建、使用、缩放和打印增强型元文件的方法。对于文本来讲,字体的问题很突出,所以我们一开始就讨论字体的细节,包括ChooseFonts公共对话框和CListCtrl字体枚举控件,类似在商业字处理器中用到的那样。本书甚至也在一定程度上涵盖了对话框和自动数据传输。本书中还有6个以PrintingSituation#n作为开头的部分。为了便于快速参考。它们分别简洁地定义在程序例子中用到的打印过程的各个方面。对于编码风格,有两点要注意。作者讲授编程课程已有16年以上的历史了就像读者已经意识到的那样,Wind0ws编程涉及大量的标识符、关键值和API以及类的成员函数。名字空间的复杂程度除了编写操作系统外,超过了任何一个作者所见过的程序。那些必须的名字和标识符的数量之多,除了让读者不知所措外,没有其他的意义。实际上,我仍然记得在我第一次教Windows编程的学期中,花了很多的时间来试图解决哪些名字是必须精确编码的,哪些是可以任意控制的。本书的一个主要特点是,读者哪些名字是必须照原样输入的,比如MFC类的一部分,而哪些名字是可以任意控制的。所有用户定义的变量名称一般都是小写——如果是小写的话,那么应该可以由读者自己来命名。只有两个例外,一个是#define定义的名字,根据一般的编程约定,总是大写;另一个例外就是类成员函数名称,字母是大写的。另一个在示例中识别名字代码的办法是:如果名字使用的是匈牙利记法(Hungarian),那么它就是MFC的专用名字;如果不是,那就是程序员自己定义的名字。读者在自己的代码中可以用任何一种自己熟悉的命名约定,但是如果你参考本书的命名约定的话,可以免去或基本免去对名字的猜测之苦。当用ClassWizard生成代码时,类的成员的名字都用m开头,本书也采用了这种方法。作者对所有的代码都作了详细的归档处理。可以肯定地说,这些代码都是可读的,并且是可维护的。关于版权这里要说一句:书中的例子程序和代码,读者可以随意使用,不需要许可证。但是如果没有随意改变我的代码的话,能够对我说声谢谢可能会更好。当然,我对例子程序中的任何不好的影响都不负责——如果使用,就自己负责。我的mail地址是:Broquard@flink.com。请注意,本书是学习者的手册,不是专用的参考手册。因此,需要查询文档或者是“On—LineBooks”,因为那些编程人员会给你的产品提供参考或者更深入的细节。软件要求读者可以在WindoWs95或者是WindowsNT下,用MicrosoftVisualC十十5.0或者是更高的版本,编译运行所有的例子程序。在这里,编译链接用的是版本5.0。光盘中的发行版在建立的时候,用的是静态链接,这样就不需要再加载这个版本的MFCDLL。另外,也可以在版本4.2下编译所有的例子程序(除了最后一章中的Internet例子程序)。在发行版5.0中有哪些新的东西MFC5.0中新的项目包括Internet类,封装在WinInetWin32接口中。用这些新的类来访问网络是件非常容易的事情。同时也要注意,发行版本越小,执行的速度越快。全部的MFC都已经在速度上做了很大的优化。版本5.0也包括对ActiveX控件(OLE2和COM)的大量的新的支持,但是这已经超出了本书讨论的范围。配套光盘上的例子程序本书光盘上面有本书所有的例子程序的完整代码。由于篇幅的原因,本书中只节选了相关的部分。附录C中讲述了如何安装和使用光盘。所有的例子程序都包含可执行的版本和源文件以及工程文件。主要的子目录是IntermediateMFC。可执行程序的发行版在\Intermedi-ateMFC\Bin文件夹中,这样读者不需要在运行这些程序之前编译这些例子。但是,如果读者想在运行安装程序之前,就运行这些程序,还是请先阅读光盘上的readme文件,文件中将讲述如何正确的初始化系统注册表(SystemRegistry)。每一个例子程序都位于独立的文件夹中。文件夹的命名约定是PgmNNL,这里NN是章节号而L是字母,它用来区分一章中的多个程序。因此,名字为Pgm05b的文件夹包含的是第5章的第二个例子程序。\IntermediateMFC\Bmp文件夹中有一些bmp文件,这些文件在所有的程序中都会用到。一些可以查询的其他资源下面是一些关键的中级或者高级的MFC参考书。Blaszczak,M.《TheRevolutionaryGuidetoMFC4ProgrammingwithVisualC十十》,Chicago,IL:Wrox,1996。这本必备的书有大量的有用信息,特别是关于OLE的部分。ISBN1-874416-92-3Schmitt,D.《ExtendingtheMFCLibrary》,Reading,MA:AddisonWesley,1996。这本书为读者演示如何编写自己的MFC扩展类,甚至把它们变成DLL或者是OCX。ISBN0-201-48946-5Shepherd,G.和Wingo,S.《MFCInternals》,Reading,MA:AddisonWesley,1996。这本必备的书涵盖了MFC的内部设计,给读者一个更好的机会来继续阅读MFC源码本身。ISBN0-201-40721-3。Internet站点是免费的,并且也是不可缺少的。MicrosoftDeveloperNetworkOnLine:www.microsoft.com/msdn/default.htm.经过免费的登记过程之后,读者就可以浏览大量的MSDN资源了。 -
PERL语言入门(美)RandalL.Schwartz,(美)TomChristiansen著;洪峰译;洪峰译和许多其他事物一样,Perl成功带有一点偶然的万分。Perl的创建人Larry Wall当初只想创造一个具备C语言功能、却不像C那么麻烦的程序语言。它必须擅长处理字符串,用最简单的方式处理文件与进程,取代基本些UNIX传统的实用程序。如今,Perl成为WWW上应用普遍的脚本语言,也是UNIX平台上最受欢迎的语言之一。本书第二版添加了CGI设计、Library模块与Perl的面向对象的特性等内容,每章之衙附加有习题与完整解答,是学习Perl语言最适宜的入门教材。内容包括:Perl基本快速入门介绍Perl的长特性及能力简短的程序范例每个主题都以程序范例说明利用Perl管理数据库用Perl设计CGI程序 -
VISUAL BASIC 6.0多媒体与因特网应用朱锦坤,纪哲锐编著本书特点:·强调实用,通过应用实例进行教学是本书的特色·例题丰富,知识含量高,技术含量更高·VisualBasic6.0基石出篇简明扼要·多媒体应用篇生动引人·Internet应用篇精心设计·帮助读者掌握DHTML网页设计技术,实用性强本书的第一篇是VisualBasic6.0基础篇,第二篇是多媒体应用篇,第三篇是Internet应用篇。应用是本书的主旋律。本书例题丰富,知识含量高,技术含量高,文字明白流畅、简洁、规范,版面秀丽,力求科学与艺术的高度统一。第二篇以多媒体应用为重点,还包含其他的应用如语音合成技术、色彩分离技术等,都是极具实用价值的技术。多媒体应用实例如“Einstein火车”、电子相册达到商品化水平,可以当作模板使用。第三篇的Internet应用介绍了当今灸手可热的DHTML网页设计技术。介绍的是经过实践的真知,极具可操作性,上机能通过,“打包能上网”。本书配套光盘提供全部例题程序、另加例题程序及多媒体素材库。本书适合VB编程初学者、软件开发人员、科研人员以及大专院校师生使用,也可以作为各类培训班教材、计算机应用专业选修课教材,或教学参考书。 -
红典网页设计纪红兵,高学农著本书从普能的用户角度出发、从实用的角度出发,首先介绍了Internet有一些基础知识,然后描述了现今最新的一些浏览和制作网页的工具,接着讲解了HTML语言和JavaScript脚本语言,最后举了网页制作的实例。 -
Delphi 4.0/5.0高级类参考详解张济,袁野,王秀娟编著本书是Delphi 4.0/5.0的语言参考手册中的一本,别一本书是《Delphi 4.0/5.0高级类参考详解》,用来配合本书的使用。本书内容包括了进行一般应用程序设计所要使用的类。详尽地介绍了类及类中的属性,方法和事件;还详细介绍了过程和函数以及变量、数据类型、语句等,对读者的编程有很好的参考价值。本书内容翔实,是一套极好的语言参考手册,适合广大Delphi程序开发人员使用。 -
Visual Basic6.0中文版参考详解李怀明,骆原,王育新编著Visual Basic 6.0中文版是微软公司最新推出的可视化编程工具,是Visual Basic语言的最新版本。本书详尽地介绍了Visual Basic 6.0中文版的语句和运算将、属性、方法、事件、函数以及对象(包括控件和集合)。这些内容的索引包含在目录中,按字母的顺序排序,以便用户查找。本书内容全面、结构清晰、语言通俗易懂,是使用该软件编程人员的必备工具书。本书适合于使用该软件的初级用户,也适合于使用该软件的专业编程人员。 -
Visual C++ 6.0程序设计乔林等编著内容简介本书用多个程序实例介绍了VisualC++程序的编制方法。内容包括:类型转换、00P程序设计、继承与重载、多态性与动态联编、列表与视图、格式化文本、属性编辑、打印、多任务与多线程等内容。本书适合计算机软件开发人员和一般计算机爱好者使用。 -
COM原理与应用潘爱民著本书不仅介绍了C0M的基本原理及其扩展知识,还讲述了MTS及COM+的一些知识。全书分为三部分,第一部分为C0M基础,第二部分为C0M扩展,第三部分为COM应用与发展,介绍了组件化程序设计思想以及多层软件结构模型。读者在学习了COM的基本原理之后,结合MTS和C0M+所倡导的一些概念,就可以从更高的层次来理解和使用C0M及C0M+了。片断:nbsp;C0M,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的方式进行交互。C0M既提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语言,所以COM也可以是不同语言协作开发的一种标准。即使读者对COM还不太了解,我想读者对OLE(objectlinkingandembed出ng,对象链接和嵌入)应该不会陌生。OLE技术以COM规范为基础,OLE充分发挥了COM标准的优势,使Windows操作系统上的应用程序具有极强的可交互性。如果没有OLE的支持,Win-dows操作系统则会逊色很多。但是,C0M规范并不局限于OLE技术,实际上,OLE技术只是COM的一个应用而已,这几年,网络技术飞速发展,OLE技术在进行网络互连时显示出了很大的局限性,而C0M则表现出了极强的适应能力,因此,这两年伴随着网络的发展,COM也得到了展示的机会。继OLE之后,Microsoft又推出了一系列以COM为基础的技术,并统称为ActiveX技术,这也充分说明了COM的应用价值。本章将对COM作概括性的论述,使读者对COM有一个基本的认识。1.1COM的起源作为组件化软件模型,COM的发展过程非常有趣。Microsoft最初并没有刻意发展一种组件化系统,但是,随着桌面窗口系统中应用程序之间的交互不断深入,就在0LE技术的发展过程中产生了COM。而且后来进一步的发展表明,COM所定义的组件标准其广泛性远远超过了OLE所具有的能力,因此,从这个意义上讲,在组件化软件发展进程中,Microsoft走了一条捷径。从一开始,C0M就具有很好的应用前景。可是,在这几年软件发展过程中,虽然COM能很好地胜任组件化软件的模型标准,但实际进展并不顺利。我想,原因可能在于0LE技术太复杂,OLE程序太复杂,一般人难以窥探到OLE的底层,尤其是通过OLE来学习C0M,那更是本末倒置了,所以我们也可以说OLE掩盖了COM技术,甚至OLE的一些缺点掩盖了C0M的优点。不过这种情况已经有了很大的好转,人们逐渐意识到C0M符合了当前软件业的发展需要,用COM进行软件架构是一种理想的应用方案。而且,脱离开0LE之后,COM自身又得到了很大的发展,现在已经遍布于Microsoft的各种软件产品中。1.1.1OLE的发展历史从字面上来看,OLE所表达的是复合文档(compounddocument)的概念,而且,OLE的第一个版本即OLE1也仅限于此。需要指出的是,在OLE1中,组件程序和客户程序之间进行通信并没有使用COM规范,而是使用了一种被称为动态数据交换(DDE,DynamicDataExchange)的机制,DDE建立在Windows操作系统的消息机制基础上,其最大的缺点是效率低,而且稳定性不好,使用也不够方便。DDE的这些缺陷也限制了OLE1的发展,于是,在第二个OLE版本即OLE2中,Microsoft重新编写了底层代码,放弃了DDE,采用了新的COM模型,因此,OLE2成了第一个用COM架构的软件系统。由于采用了COM,OLE2比OLE1效率更高,稳定性和灵活性有了很大提高。在以后OLE的发展过程中,由于采用了COM作为其底层结构,使用COM接口(inter-face)作为程序之间通信的标准,因此,OLE模块定制和扩充变得非常方便。这里我顺便提一下软件版本的升级方式。一般的应用系统在升级版本时,往往用新的软件模块全部替换老的程序模块,因此,升级就意味着全部更新,例如OLE2对0LE1进行升级,不仅软件模块作了替换,连基本技术也变了。但是在OLE2之后,由于采用了组件化的软件模型,因此,每一个底层模块可以单独升级,而且在原来软件模块的基础上,可以添加新的组件模块而不需要改变原有的组件模块。因此,在0LE2之后,0LE技术不再局限于“对象链接和嵌入”,不再局限于复合文档,而变成了在桌面系统上进行程序通信的一个技术统称。因此,当人们正在等待“OLE3”出现的时候,OLE已经不再是最初的OLE了。并且,用户计算机中的0LE系统也正悄悄地在进行更新。1.1.2组件的产生在计算机软件发展的早期,一个应用系统往往是一个单独的应用程序。应用越复杂,程序就越庞大,系统开发的难度也就越大。而且,一旦系统的某个版本完成以后,在下个版本出来之前,应用程序不会再有所改变。而对于庞大的程序来讲,更新版本的周期很长,在两个版本之间,如果由于操作系统发生了变化,或者硬件平台有了变化,则应用系统就很难适应这样的变化。所以这类单体应用程序已经不能满足计算机软硬件的发展需要。从软件模型角度来考虑,一个很自然的想法就是把一个庞大的应用程序分成多个模块,每一个模块保持一定的功能独立性,在协同工作时,通过相互之间的接口完成实际的任务。我们把每一个这样的模块称为组件,一个设计良好的应用系统往往被切分成一些组件,这些组件可以单独开发,单独编译,甚至单独调试和测试。当所有的组件开发完成后,把它们组合在一起就得到了完整的应用系统。当系统的外界软硬件环境发生变化或者用户的需求有所更改时,并不需要对所有的组件进行修改,而只需对受影响的组件进行修改,然后重新组合得到新的升级软件。图1.1体现了这样的一个升级过程。
