加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VC6.0精通

VC6.0精通.pdf

VC6.0精通

1013354319
2012-09-08 0人阅读 举报 0 0 暂无简介

简介:本文档为《VC6.0精通pdf》,可适用于人文社科领域

VisualC从入门到精通〔美〕JohnPaulMueller著希望图书创作室译本书配套光盘内容包括:与本书配套的中文版电子书送“精通VisualC”多媒体学习软件北京希望电脑公司北京希望电子出版社内容提要VisualC是Microsoft公司最新出品的C开发工具。本书以详实的内容、精选的示例全面介绍了VisualC的新特性以及如何在软件开发过程中运用这些新特性。全书共分五部分:第一部分介绍VisualC的基础知识和基本概念第二部分介绍数据库编程方法第三部分阐述Internet编程第四部分说明创建应用程序时应该考虑的安全性问题、普通格式和HTML格式帮助文件的创建方法以及应用程序安装盘的建立与分发第五部分是附录介绍了ActiveX和OCX组件资源、在线资源以及本书涉及到的一些技术术语。本书内容覆盖了开发完善的应用程序所需的各种知识同时书中给出了大量与VisualC编程相关的站点和讨论组地址这些地址是真正的VisualC程序员上网的站点。本书对已经具有VisualC编程经验的读者是很好的升级指导书。对初学VisualC的读者来说利用本书也可以很快入门迅速达到中级甚至高级VisualC程序员的水平。该书对从事VisualC开发与应用的广大科研人员、高校相关专业师生均不失为一本重要的自学、教学参考书。本书配套光盘的内容是:与本书配套的中文版电子书送“精通VisualC”多媒体学习软件。需购本书和配套光盘或需技术支持的读者可直接与或传真至北京海淀信箱书刊部(邮编)联系。版权声明本书英文版原名为“VisualCfromtheGroundup”,由McGrawHill公司出版版权归McGrawHill公司所有。本书中文简体字版由McGrawHill公司授权出版。未经出版者书面许可本书的任何部分均不得以任何形式或任何手段复制或传播。VisualC从入门到精通〔美〕JohnPaulMueller著希望图书创作室译责任编辑陆卫民北京希望电脑公司北京希望电子出版社出品北京海淀路号()新华书店、新华书店音像发行所发行、各地书店、软件专卖店经销*****年月第版年月第次印刷开本:×印张:字数:千字印数:~新出音管号ISBNXTP·定价:元(CD含配套书)作者简介JohnMueller是位自由作家和技术编辑。到现在为止他已经编著了部著作撰写了近篇论文。其讨论主题覆盖了从网络到人工智能、从数据库管理到高级编程的广阔领域。VisualStudio程序员指南和WindowsNTWeb服务器手册是他近期作品中的两部。他在技术编辑方面的经验使他已经帮助了位以上的作者提炼了他们的手稿。除了撰写著作之外JohnMueller还为DataBasedAdvisor和CoastCompute两本杂志做技术编辑服务。作为计算机界认证领域的知名专家他还在像CertifiedProfessionalMagazine这样的杂志上发表与认证相关的文章。当John不在计算机旁工作时你会在他的工作间找到他。他是位干劲十足的木匠和蜡烛制作者不管在哪天下午他都会或工作在车床旁或把做好的物品放置到书架上。他最新的工艺项目之一是制作甘油肥皂这是制作礼品篮的好材料。读者可以通过jmuellermwtnet在Internet上与John联系John目前正在建立新的Web站点:http:www:mwtnet~jmueller。随意到这些站点看一看、并提些改进建议吧!OsborneMcGrawHillTenthStreetBerkeley,CaliforniaUSA致谢感谢我的妻子Rebecca是她与我一起完成了本书。如果没有她查找和编辑本书中的某些信息(特别是索引部分)我真不知道是否能够写出这部书。她还详细校对了本书的初稿和终稿。感谢本书的技术编辑GregGuntle他大大增强了本书所用材料的准确性和深度。我的代理人MattWagner保证我得到了第一份合同并处理了绝大多数作者都没有深思的许多出版细节。Microsoft技术支持人员回答了我许多提问进一步丰富了本书同时也使我更快地掌握了VisualC。与此同时我还要感谢访问Internet各种各样新闻组的人们他们协助提供了C编程技巧的内幕特别是他们提供了如何使用OLEDB和ADO的技巧。最后我要感谢WendyRinaldiNancyMclaughlinKathrynHashimoto以及Osborne的全体工作人员在他们的帮助下本书得以问世。我特别要感谢在事情意外不顺利时Wendy所具备的耐心。译者序VisualC是MicrosoftVisualStutio套装软件的一个有机组成部分。虽然在构造大多数常规应用程序方面VisualC没有市场上常见的快速开发工具(比如PowerBuilderDelphiVisualBasic)的开发效率高但在速度和代码大小要求较高的场合(比如设备驱动程序等)它依然是首选的开发工具之一。VisualC在以前版本的基础上又增加或增强了许多特性。除了当今的每个开发工具都不可或缺的Internet特性外ADO数据绑定、ATL复合控件、AutoCompletion、编辑和继续特性、OLEDB提供者模板、延迟加载移入以及新的调试特性等都给VisualC增色不少。本书作者在熟练使用VisualC的基础上充分听取各阶层读者对本书先前版本的意见和建议阅读了Internet上有关VisualC的大量内容并与Microsoft的技术人员进行了充分交流最终成就了这部著作。本书分为五个部分:第一部分介绍VisualC的基础知识和基本概念第二部分介绍数据库编程方法第三部分阐述Internet编程第四部分说明创建应用程序时应该考虑的安全性问题、两种格式的帮助文件的创建方法以及应用程序的分发第五部分是附录介绍了ActiveX和OCX组件资源、在线资源以及本书涉及到的一些技术术语。除了详实的技术细节外本书也为读者提供了大量的与VisualC相关的Internet站点。通过这些地址读者不仅能够了解VisualC的更多内容及发展趋势参加一些讨论组提高自己的技术水平同时也避免了读者在Internet上大海捞针般地艰难搜寻VisualC的相关材料。本书不仅适用于初学VisualC的新手对已经熟练运用VisualC以前版本的高手来说也是一本不可多得的参考资料。本书由张长富、栾开春、彭涛、张建安、黄石海、姚燕、李匀、黄中敏、陈华等翻译最后由张长富统稿。参加翻译、录入、校对和资料搜集工作的还有:陈聪、崔立模、宋斌、张剑宇、夏桂娟、王志宏、王锋、张兵、李鹰、王丰、冯桂林、严苏娅、龚楚奇、欧阳志、郝晓伟、苏春波、王刚、李林。翻译过程中得到了享受政府特殊津贴的专家张福林先生的热情指导和帮助在此深表感谢。由于译者水平所限欢迎读者批评指正。张长富,引言长期使用MicrosoftVisualC的任何人都会感受到该产品的巨大变化。Microsoft花了很大的力气来提高VisualC这一最新版本的易用性。然而对VisualC程序员来说编写程序依然是艺术成分多于科学成分。就在Microsoft创建新的向导把一个领域的隐秘(比如这个VisualC版本中改进的ATL向导)暴露于世的同时某些新技术又把新的隐秘加入到了VisualC中(比如OLEDB和ADO支持等)。不断的变化也是你需要另一本C参考书的原因。Microsoft不断地向VisualC中增加新特性。虽然本书不能从理论上介绍更多的C基本编程知识但它将会告诉你如何使用Microsoft新增的新特性。例如你会在本书中找到VisualC新版本中包含的大量ActiveX和其它与Internet相关的特性。在VisualC的每一次版本更新中Internet的主导地位都进一步得到了增强x版也不例外。正是人们对速度的渴求驱使VisualC使用某些Internet部件。从Internet上下载大型应用程序不是有效的用户选择用户需要小型、快速的应用程序。听起来很熟悉是不是?我们将花费大量的篇幅讲述如何把VisualC的优势最佳地应用到当今Internet驱动的编程环境中。ActiveX是用户与分布在Internet上的应用程序进行交互的方法之一。它为Web网主带来了吸引潜在访问者的更多工具。在许多情况下你可以得到各种功能而无须编写一行代码。很显然第一个要问的问题是“谁关心这些事呢”?答案是想开发内联网或Internet站点的所有公司。一项最近的调查表明当今的公司正在部署Internet上的应用的公司声称他们将在未来的六个月中部署Internet应用的公司计划在一年内部署Internet应用(总的百分比达到)。显然人们对Internet上的应用兴趣很大。这个版本的VisualC还包括了支持应用程序中嵌入浏览器功能。你可以在多种场合使用浏览器支持功能包括在你的Web服务器上放置帮助文件以便用户在需要的时候就能访问它们。想一想把桌面帮助浏览器置入应用程序中带来的好处吧。单单支持电话的减少所带来的好处就足以说明应该把浏览器置入应用程序中。这一浏览器支持功能还使旅途中的雇员能够向公司上载数据和从公司下载诸如最新的销售统计以及情况分析之类的信息。为什么Internet会成为这样一种炙手可热的环境呢?另一项调查询问商业客户为什么他们要使用Internet提供某种类型的增值服务或为雇员提供更好的信息访问。被调查者中的人认为Internet易于使用。访问Internet上海量信息所要完成的一切工作就是找个ISP(Internet服务提供商)和浏览器。浏览器在安装上并不比任何其它Windows应用困难并且有时候还要容易些。而且有些ISP提供了自动化程度很高的安装程序用户只需要提供姓名、地址以及诸如信用卡号码这样的付帐信息即可。例如我最近使用过的PacificBell安装程序自动创建Windows下我所需要的连接然后拨号登录到它们的Web站点来帮助我查找最佳的访问号码并在检查了另一个Web站点后完成安装过程。基于用户使用Internet的统计数据Microsoft正投资于把分布式数据库支持添加到VisualC中。本书中介绍的OLEDB和ADO将会告诉你Microsoft如何把建立与数据库的连接变得更加容易些而无论这些数据库放置在什么地方。如果OLEDB连接的提供商允许的话你甚至可以在Internet建立与数据库的连接。显然如果说易于使用是人们选择使用Internet的原因之一的话那么许多公司都会有许多使用Internet的其它原因。然而调查中发现使用Internet还有其它原因包括增加了可用性()、利用了现有基础设施()、成本()以及易于维护()。这项调查允许读者进行多项选择因此会有上述的百分比。Internet起到了信息中心仓库的作用并且或许是绝大多数公司为远程雇员提供访问公司数据库的最佳途径。任何程序员都知道代码已经能够运行并不足以说明应用程序已经编写完成。还有许多美学方面的考虑。比如可以编写出运行速度更快的代码也可以缩减可执行代码的长度。事实上编写小型、紧凑代码是专家级程序员的标志。这是个极为重要的目标贯穿于本书的主题就是如何精炼每一行代码。编程语言的选择决定了程序员在应用程序中都能完成哪些工作以及以怎样的速度完成这些工作。VisualC一向以灵活著称:理论上使用VisualC可以完成任何任务并且不会让你的代码变得像意大利式细面条那样乱做一团。C还以正确使用时能够创建出运行速度极快的应用程序而著称。然而这些高度的灵活性和快的速度经常给初出茅庐的程序员带来麻烦也经常形成微妙的故障。许多VisualC的反对者也指出使用这种语言时需要很长的开发周期这是使用诸如VisualBasic之类的RAD(快速应用开发)语言进行编程的用户注意不多的事实。有些人走得远了些声称C的日子屈指可数。快速的计算机并不像以前那样需要既小且快的代码。而且随着应用程序越来越复杂在合理的时间期限内完成应用程序是基本的要求。C应用程序过长的开发和调试周期确实有点不适应当今的应用程序开发环境。对C程序员来说幸运的是有些编程任务RAD语言永远也代替不了C。即使RAD语言已经取代C来开发某些类型的应用程序但对操作系统服务或设备驱动程序来说程序员依然需要编写简短、紧凑的代码。完成相对底层任务、需要反复执行的代码的编制依然是C程序员的工作领域。本书概要我已经有点伤害你的好奇心了现在就让我们看一看本书的主要内容吧。本书分四个重点:通用应用程序编程、与Internet相关的编程、数据库编程以及应用程序打包。当然我们也要花点时间讲述编程基础。例如我们将考察一下最新版的VisualC都提供了哪些界面元素以及新的编程特性。本书的通用应用程序编程一节将向你展示如何使用MFCAppWizard创建基本的应用程序。我们不花许多时间来研究创建特定类型应用程序的细节但将讲述创建MFCAppWizard提供的各种类型的应用程序的方法。显然在本节中我假定读者已经具备了一定的C编程经验。当然我会介绍创建应用程序本身的详细做法但读者应该知道一些C的基本概念特别是语言元素方面的知识。数据库编程示例将为已经知道一些数据库基本知识的读者提供丰富的信息。如果你还不知道什么是表、还没有坚实地掌握关系数据库的理论那么在阅读本书第二部分之前需要花点时间先熟悉一下上述内容。我们将研究使用C操作数据库的基本技巧你也将理解ODBC(OpenDatabaseConnectivity开放数据库互连)OLEDB(ObjectLinkingandembeddingdatabase对象链接与嵌入数据库)ADO(ActiveXDataObjectActiveX数据对象)以及DAO(DataAccessObject数据访问对象)之间的差别。我们甚至还各花了一章的篇幅来讲述ODBC和ADO数据库编程。Internet编程实际上从本书的第一部分就开始讲述了。这里研究了如何创建基于HTML的应用程序。第二部分将讨论如何创建跨越Internet的数据库连接然而这里我们并没有考察任何实际的实例代码。第三部分是介绍Internet的中心章节我们将以中级程序员的水平来研究ActiveX编程。如果你只是个初级程序员那么会发现某些概念有点难以理解。然而某些章节比如第章讲述的HTML编程将会为各层次的程序员提供帮助。另外第三部分将向读者展示如何使用ActiveXDocument(ActiveX文档)ISAPIFilter(ISAPI过滤器)以及ISAPIExtension(ISAPI扩展)。在第四部分我们将讨论从安全性问题到把帮助文件组合在一起的方方面面的内容。实际上我们还要探讨VisualC中使用帮助文件的两种不同技巧:标准的帮助文件和Microsoft正在其产品中使用的新型HTML帮助文件。你还将学习发行应用程序的方法即使在企业环境中这也是一项不可或缺的任务。通过本书你将会深入理解C编程语言虽然它还不至于让你成为一名C编程高手。本书中你不会找到很多初级的编程知识但具备一定C编程技能的任何人都会理解本书的内容。积极建议读者已经具备MicrosoftVisualC的一定知识原因在于所有的示例都以VisualC作为基础。即使我们把示例控制在基本编程技巧的范围内也依然需要编写OCX或DLL的知识。如果在你阅读本书之前已经掌握了一些底层编程知识那么你就会很快地学会掌握提供的各种信息。再说一句本书包含了一些“课程复习”风格的示例但它们也没有提供很多的初级信息。当然上面介绍的仅仅是本书的概貌在这本书中你会找到能够把VisualC的功能发挥得淋漓尽致的各种各样的有用技巧和提示。本版著作的新内容本书新内容想法的产生主要有三个来源。首先我花了大量的时间阅读读者发送来的电子邮件。读者的电子邮件对我编著的每一部书籍都显著地丰富了其内容。第二VisualC本身为我提供了一些想法。我必须在本书中覆盖VisualC的所有新特性。最后我花了大量的时间阅读各种VisualC新闻组以查找新的消息线索。某些消息线索十分正规它们指出了人们使用VisualC经常遇到的问题。第章的绝大部分内容都是全新的。我重新编写了第章以便提供本版VisualC的各种新特性的完整概览。另外本章的某些部分重新进行了排版以便能够以更便于阅读的形式向用户提供信息。我竭力以更佳的方式安排插文和表格让读者能够更快速地找到所需信息。某些读者抱怨说在本书的先前版本中我过多地讲述语言的新特性而忽略了普通的编程需要。在本版中你会发现大大增强了普通应用程序编程材料。第章和第章中提供了几节新材料并提供了一个新的示例程序。本书的数据库部分已经进行了几个方面的修订。虽然DAO依然是一种可靠的技术然而它已经过时了。我使用新的OLEDB和ADO技术取代了先前书中的DAO一节。另外阐述数据库的章节着重介绍如何通过Web服务器连接到数据库上而不是介绍如何通过传统的网络路由器连接到数据库上。本书的Internet部分也包含了与新技术和改进技术相关的信息。例如在第章中讨论了COM。我还提供了一些ActiveTemplateLibrary(ATL活动模板库)的信息。本书Internet部分最大的变化出现在第章。许多读者表示他们希望看到有关ISAPI的更详细材料希望找出如何利用ISAPI更有效地使用Web服务器。这一章提供了ISAPI的更多信息和两个新的编程示例其中的第二个ISAPI过滤器示例显示了如何给你的Web服务器增加安全功能。本书的第五部分也有许多变化其中最明显的改变是第章讨论的基于HTML的帮助。在这里你不仅能够学会如何创建基于HTML的帮助而且也将学会如何把这种帮助添加到你的应用程序中。除了可以提供更佳的帮助信息外你还会发现安全方面和打包方法的更新。总而言之这部分的更新内容可以帮助你向使用你开发的应用程序的人们提供更多、更好的应用程序支持。系统需求如果你只是对本书的第一、第二以及第四部分感兴趣那么阅读本书所需的一切就是一份MicrosoftVisualC的拷贝。由于我在每个示例中都试图使用VisualC的新特性因此在绝大多数情况下你都不能使用该产品的老版本(对某些示例来说VisualC勉强能用)。无论你使用何种版本的Windows一定要确保安装了最新的补丁包和服务包。在测试本书的示例时我使用的是Windows的OSR版本和安装了服务包的WindowsNT。如果你打算使用第章的Internet信息服务器(InternetInformationServerIIS)示例那么一定要安装WindowsNTServer并使用服务包进行升级。你还需要在服务器上运行IIS。某些示例代码根本不能与以前版本的IIS一起工作。第章中的所有示例均假定你使用的是功能完备的IIS而不是其它的替代品。注释本书中你将学习的许多概念在联机文档中根本就没有。某些概念十分新颖它们只在一些有选择的Web站点上出现。对这样的信息本书将采用技巧或注释的方式告诉读者它们的地址。另外有些材料Microsoft只通过像MSDN订户这样的有选择渠道进行发布。其它一些信息则未被公开除了在新闻组中某些人偶然发现这些特性外在其它的任何地方你都找不到它们。你还需要一台运行Windows或WindowsNT的计算机作为工作站。你的Web服务器和工作站都要求有足够的内存和其它资源以支持本书中用到的各种工具。也就是说在绝大多数情况下你的计算机的最低配置应该是MHz的PentiumMMX、MB内存、至少GB的硬盘空间。虽然你可以降低上述配置在编写和测试代码时低端计算机会很快让你陷入泥潭之中。我已经在PentiumMHzMB内存的计算机上运行过VisualC但性能让人感到恐怖。本书使用的约定本节讨论用法约定。在我们研究匈牙利表示法和如何使用这种表示法时我们将讨论编程约定。本书使用下述约定:<Filename>当方括号括住某个值、某个开关或某个命令时表示该项是个可选项。只有当你想用相应的值、开关或命令提供的功能时才需要把该项包括到命令行或对话框域中<Filename>尖括号中间的变量名是个需要使用实际值代替的名称。你看到的变量名通常是提示词语你需要提供相应的信息。对左边的示例来说它表示你需要提供一个文件名。在键入对应值时千万不要键入尖括号续表全部为大写字母在三种情况下你会看到全部是大写字母:命令、文件名以及大小写敏感的登记项。通常在DOS提示符、PIF文件域、Run对话框域中键入命令。如果你在其它地方看到了全大写字母你可以安全地假定它们是大小写敏感的登记项或像文件名这样的其它一些值File|Open菜单和从菜单中进行的选择。“File|Open”表示“访问File菜单并选择Open菜单项”斜体字在三种场合你会看到斜体文字:新词、多值项以及不确定的值。无论何时当实际值未知时总使用斜体字表示这个值。书中在多个值都可能正确的情况下也使用斜体字印刷例如书中你会看到FILExxxx它表示相应值可以是FILE到FILE之间的任何值等宽字体文字将要在宏中输入的文本或在命令行上键入的文本与解释它们的文字区分开来是相当重要的本书使用等宽字体来区分两者。当你看到等宽字体的文字时就表示这些信息要出现在宏中包含在像CONFIGSYS或AUTOEXECBAT这样的系统文件中或者是需要在命令行上键入的文本。你甚至会看到Windows命令中的开关也使用这种风格的文本。还有一种情况使用等宽字体格式的文本。每一个代码列表均使用等宽字体这样更易于阅读。使用等宽风格的文本还使得易于在文本中增加某些东西比如代码示例中的缩进标志本书采用了许多帮助读者区分不同类型信息的标志。下文描述了各标志的用途。注释注释告诉读者一些有趣的事实它们并不影响读者使用本书的其它信息。我使用注释向读者提供一些在使用VisualC、WindowsNT或Windows时收集到的一些有用信息。技巧每个人都喜欢技巧原因在于它们会告诉读者一些完成某项任务时以前或许从未想到的方法。技巧框还提供了完成某项任务的另一条途径读者或许会认为这一条途径比正文中提到的方法更好。警告它表示你要留神了。警告几乎总是要告诉读者如果你要完成某项操作(或不能完成其它操作)时将会引发某些系统破坏或数据损坏。在你执行警告词语之后的任何指令之前一定要确保彻底地理解了这个警告。Web链接Internet包含了丰富的信息但最低限度上说找到这些信息是比较困难的。Web链接帮助读者在Internet上找到能够提高读者编程能力或能够学到新的编程技巧的新的信息资源。读者还会发现一些新闻组的Web链接它告诉你在什么地方可以找到谈论VisualC的其他人群。最后Web链接还会帮助读者找到一些能够使编程工作比以前更快、更容易的实用程序。可移植性保证代码能够在各种情况下和各种平台上运行总是个美好的理想。当你看到这个标志时它提醒你一些把代码或可执行文件从一台机器上迁移到另一台机器上时可能存在的问题。如果你的代码要在多台不同类型的机器上运行或要在多种操作系统环境中运行的能力对你来说十分重要的话一定要特别留意这种类型的标志。高级技巧高级技巧框中包含了一些额外的信息即使你不知道这些信息也并不影响你编写出优质的程序。高级技巧框为中级和高级程序员提供了一些有趣的资料他们可以使用这些资料来增强其应用程序的功能或提高自己的生产效率。本书中读者还会看到各种旁注。它们描述了在你开始某个过程或完成其它任务前应该记住的一段信息。旁注还包含了一些诸如文件位置或应该查看某个示例程序的某些内容这样有用的琐碎信息。在绝大多数情况下旁注是简单实用的信息宝藏你可以利用它提高你的整体编程水平。匈牙利表示法概述密码间谍电影和其它各种人类活动的基本素材。当你第一次看到匈牙利表示法时你可能会把它当成另一种密码。该表示法包含了密码的一切要素其中包括一系列不得不解码的神秘字符以及使用时几乎不能破译的结果。然而不久你就会明白这是其他程序员的秘密代码而不是本书中使用的匈牙利表示法。匈牙利表示法可以为你节省大量的时间和精力。在编程方面花过大量时间的任何人都知道当阅读以前自己编写的代码或阅读其他人编写的代码时好的文档是无价之宝。这也正是匈牙利表示法要为你完成的任务文档化代码。对匈牙利表示法的清晰理解将有助于你从本书的示例以及Microsoft(以及其他厂商)的手册中学到更多深入的东西。每一个Windows编程语言厂商都在其手册中使用某种形式的匈牙利表示法。另外相同的概念同样适用于诸如VisualFoxProDelphi以及VisualBasic这样的编程语言。即使语言本身完全不同但使用匈牙利表示法编写出的代码超越了编程语言而具备一定的相似性。那么严格讲起来什么是匈牙利表示法呢?匈牙利表示法是一种告诉其他人你准备如何使用变量的表示方法。知道了变量要干些什么经常有助于解释代码本身。例如如果我告诉你某个特定变量保存了某个窗口的句柄那么这就比变量只简单地是个变量提供了更多的信息。理解了该变量将操作窗口后你就可以解释代码了。这种变量命名系统第一阶段的开发工作是由Microsoft公司的CharlesSimonyi完成的。他把这种命名系统称做匈牙利表示法(HungarianNotation)我们在这里就使用这种称呼。你可以从许多地方获取CharlesSimonyi著作的副本包括BBS和Internet上的某些Microsoft编程站点(像CompuServer这样的许多联机服务也以各种形式提供匈牙利表示法的副本)。其他开发人员对Simonyi的研究成果做了进一步的增强。例如Xbase程序员使用他们自己特殊版本的匈牙利表示法。这种表示法表达了Xbase提供的不同类型的变量。FreshTechnologies的RobertADifalco出版了匈牙利表示法的Xbase增强版本。在某些针对DBMS的BBS上以及CompuServer的ComputerAssociatesClipper论坛上你都可以找到这位作者的作品。本节讲述的基本概念在前面提到的两个文档中你都可以查阅到表达形式上可能会有所不同。本节旧话重提的目的是为了让你准确地理解我所采用的约定的意义并说明在你的代码中应该如何最佳地使用它们。在你的代码中采用这种命名法的原因有四个:帮助记忆值这种表示法有助于更容易地记住变量的名称在团队项目中这是个要认真考虑的重要事情。提供建议值你或许并不是唯一要修改你的代码的人。如果你正在开发一个团队项目的话小组中的其他成员最起码也要看一看你编写的代码。使用这些约定有助于其他开发人员理解你的代码。一致性程序员的工作成果通常并不仅仅体现在效率和功能方面而且也体现在编写出的代码是否能够被其他程序员轻易地读懂。使用这些约定有助于在不同的项目中保持一致的代码风格。利用你所使用的约定其他程序员也可以轻易地加入到修改或编写代码的行列中。加快判断速度在商业化世界中创建和修改代码的速度经常会决定特定项目的成功程度。使用一致的代码将减少你花在猜测其他人创建的变量或函数意义方面所需的时间。这一判断时间的减少也就增加了你用于有效地开发产品的时间。上面已经讲述了为什么应该使用匈牙利表示法现在让我们看一看本书中准备如何应用这一表示法吧。我将按照下节阐述的规则命名变量。在命名数据库字段或其它与值相关的结构时我也将使用这些规则。另外只要匈牙利表示法有助于更清晰地表达函数和过程的意义这些函数和过程的命名也将使用下节中介绍的规则。规则:使用变量前缀变量命名时总使用一个或两个小写字母作为变量名前缀以指明变量的类型。绝大多数情况下变量名前缀使用变量类型的第一个字母因此可以轻易地记住应该使用哪个字母。下面的示例显示了VisualBasicDelphi以及C语言中普遍使用的前缀字母(Windows中有成千上万种文字组合没有在这里列出)。下表也提供了几个数据库专用的修饰符:aArraycCharacterdDatedblDoubledcDeviceContextdwDoubleWordfFlag,Boolean或LogicalhHandleiIntegerinstInstancelLongliLongIntegerlpLongPointmsgMessagenNumericoObjectpalPalettepsz指向以零结尾的字符串的指针(Pointer)ptr指针(与其它类型变量一起使用时也可以使用p比如psz)rReal续表rcRectanglergbRed,Green,Blue(红、绿、蓝颜色变量)rsrcResourcesglSinglesiShortIntegerszZeroTerminatedStringuUnsigneduiUnsignedInteger或BytewWordwndWindow规则:标识状态变量某些变量用于指明像数据库、字段或控件这样的对象的状态。这些变量甚至可以保存其它变量的状态。告诉其他程序员某个变量用于监视某个对象的当前状态有助于他们理解这些变量在程序中的意义。你可以使用下面的三字母修饰符之一来指明该变量是状态变量:New新的状态Sav已保存状态Tem临时状态规则:应用标准修饰符标准修饰符几乎可以让其他人立即看清楚变量的用途。标准修饰符不提供变量的类型信息但它们说明了一个变量与其它变量之间的关系。例如使用Clr修饰符将会告诉阅读程序的人该变量以某种方式用于操作颜色。你甚至可以把多个修饰符组合起来以进一步说明变量的作用并描述清楚应该如何使用这个变量。例如cClrCrs是个字符型变量它用于确定光标的显示颜色。使用一到三个这样的修饰符通常就足以描述清楚变量的用途了。下面列出的修饰符是应用最普遍的一些修饰符:ArArrayAttrAttributeBBottomClrColorColColumnCrsCursorDbfDatabaseFile(数据库文件)FFirstFileFileFldFieldLLastLeftMsgMessageNameNameNtxIndexFile(索引文件)RrightRecRecordNumber(记录号)续表RetReturnValue(返回值)ScrScreenStrStringTTopXRowYColumn规则:添加描述性文字当你清楚地定义了变量的内容和用途后就可以使用一些描述性的文字进一步精化这些定义。例如你可以把指向用于保存雇员姓名的字符串的长型指针变量定义为:lpszEmpName。这个变量的前两个字母告诉我们它是个长型指针紧接着的两个字母告诉我们这是个以零(或空)结尾的字符串其余的字母告诉我们它是个雇员姓名(请注意在这个示例中我使用了标准修饰符Name)。在代码中看到这样的变量名让人一眼就可以看出其类型和用途。规则:创建多个变量时不时就会遇到在某个特定模块中使用一个变量并不能够满足每一种需要的情况。多数情况下你会想到创建同种类型的多个变量并用数字来区分这些变量。当然你也可以使用下面的这种有意义的数字指示符来说明各变量的功能:状态指针引用比如cSavClrcSavClr⋯Max限制上界比如nFldMax指明字段的最大个数Min限制下界比如nRecMin指明记录的最小个数Ord某种类型的顺序号目录引言本书概要本版著作新内容系统需求本书使用的约定第一部分第二部分第三部分第四部分第五部分第一部分VisualC基础返回总目录目录第章VisualC引论为什么要用VisualC本版VisualC的新特性一些缺陷考察界面元素第章建立基本应用程序了解应用程序类型编写控制台应用程序编写基于对话框的应用程序编写单文档应用程序编写基于HTML文档的应用程序第章理解VisualC的资源定制使用应用程序向导生成的应用程序所用的资源使用加速键和菜单使用工具条第章VisualC引论只有真正的程序员才使用VisualC。反过来则并不见得如此。最近似乎有许多专业的程序员放弃了使用这一语言而改用了其它产品提供的RAD(快速应用开发)环境。许多人认为VisualC太古老、太烦琐、学起来太困难了。说句实在话VisualC的学习周期确实比其它语言要长。可以很轻易地引入需要花上数小时才能排除的微妙错误这一事实一点也无助于提高程序员的开发效率。然而让我们先把这些负面缺陷暂时放到一边来看一看VisualC具备的长处。使用VisualC主要的原因之一就在于它的灵活性。你可以彻底地控制整个开发环境。其它语言则更多地趋向于庇护程序员当要做一些基本的东西时它们会做得很好。不幸的是当你需要使用像C这样的语言删除编程中的繁文缛节并把任务完成时这种保护作用就变成了开发工作的障碍。长期以来VisualC一直拥有能够创建短小高效程序的美誉。使用这种语言编写的程序几乎可以与用汇编语言编写的程序达到相同的运行速度并且避免了汇编语言存在的各种问题。C实际上是介于汇编语言中寄存器编程的神秘莫测和像Pascal这种保护型编程环境方便性之中间难度的语言。C是编写诸如操作系统、设备驱动程序以及动态链接库(DLL)的强大语言这一点不会不引起你的注意这三种领域代码的开发依然是VisualC的主战场。VisualC生成的短小、快速的代码在操作系统类对时间要求很高的系统中获得了极高的赞誉。到现在为止我告诉你的一切你可能已经在其它书籍中看过无数遍了。下面就让我讲一些这个版本的VisualC中独有的内容。Microsoft添加到这个版本的VisualC中的最新特性之一是更佳的原型能力这一点通过增强的向导来实现。现在这个特性还不能把VisualC提升到像VisualBasic向导相同的水平上但它确实减少了开发应用程序的入门时间这是个深受欢迎的变化。另外增强的向导使得这个版本的VisualC比以前版本更为友好(本章的后续部分我将全部用于介绍VisualC的其它新特性)。VisualC也是编写ActiveX控件以及像ISAPI(Internet服务器应用程序接口)扩展和ISAPI过滤器这样针对IIS的专用代码的理想编程环境。即使对属于快速应用程序开发环境中的应用程序编程来说也没有人愿意花时间从Internet上下载一个巨型控件也同样没有人愿意让慢速的过滤器加重Web服务器的负担。VisualC可以生成人们真正想要的简短可执行文件。另外VisualC提供的额外灵活性也使得编写这些类型的应用程序更加容易些。本书中我们将花些时间来研究ActiveX控件因此这里我就不再多讲了。我还为使用Web服务器的人们准备了几个ISAPI扩展和ISAPI过滤器的示例。VisualC擅长的另一领域是数据库编程。我并不是说要使用VisualC编写一个功能完备的仓储控制系统那样确实要花去很长的时间。然而Internet用户也确实需要访问数据库管理者那里的数据。VisualC能够在不比RAD语言多多少编程的情况下提供快速的数据库访问。为什么要用VisualC我们已经研究了作为编程语言为什么要使用C的一般性问题。然而对你想生成Windows应用程序时为什么要使用VisualC却谈论得不多。最基本的原因很好理解:由于Microsoft是Windows的生产厂商那里的人们当然最清楚地知道该操作系统内部的东西是如何运行的。在MFC(Microsoft基础类库)的WindowsAPI钩子中你会找到这些内幕知识。VisualC还提供了许多在其它产品中或许找不到的特性。尽管你可以通过构建自己的工具来克服其它产品存在的任何缺点但为什么非要从头造车轮呢?本书中我们讨论最多的两个特性是数据库编程和ActiveX编程两者都包括控件和文档。我们还将讲述与Internet相关的主题比如ISAPI以及新的应用类型比如基于HTML的应用。VisualC让你能够在一个产品中访问所有这些技术而无须购买第三方的产品。持久性是使用VisualC的另一个原因。与我聊过天的一些程序员关心计算机界某些公司的未来。他们为这些公司以后不能对其产品提供支持而深感担忧。开发人员不仅今天需要、而且未来也需要得到强有力的支持。由于C的每种实现都存在一些细微的差别特别是在你使用厂商提供的特有特性的情况下你的应用程序确实与开发工具产品的命运联系在一起了。我们可以负责地说在不远的将来Microsoft不会跑到哪儿去使用它的产品就意味着你总可以升级到更好的产品当然要在这些产品发行的时候。本版VisualC的新特性近来软件开发界流传的一个词是Internet。你现在见到的每个产品都具备某些与Internet相关的小玩意儿VisualC也不例外。在本书中我们将考察与Internet相关的新特性和升级特性。表列出了VisualC新特性的完整列表并显示了哪些版本包含这些新特性(显然企业版包含的特性最完整)。在随后的段落中你会找到VisualCInternet特有特性的概览从而决定VisualC如何最佳地来满足你的Internet、桌面以及数据库编程的需要。表VisualC版本之间特性比较特性学习版(标准版)专业版企业版活动模板库(ATL)XXX应用分发许可XXXAppWizard和数据源XXX通过OLEDB进行的ASA数据库访问XAutoCompletion(自动完成语句)XXX客户服务器应用开发X续表代码优化和剖析器XX创建定制化应用向导XX数据绑定控件(RemoteData)XX扩展的存储过程向导XInstallShieldXXInternet信息服务器(IIS)XMFC数据绑定XXMFC数据库类(DAOODBC以及文件IO)XXXMFC数据库类(OLEDB和ADO)也称做OLEDB模板XXMicrosoftTransactionServer(MTS)X代理服务器X远程自动化部件X远程数据对象(RDO)XXSNA服务器XSQL数据库工具XXSQL编辑、调试以及存储过程调试X续表SQLServerDeveloper版和服务包X

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

VC6.0精通

仅供在线阅读

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利