iped没电自己关机了,按不用开机键如何开机没出现电池标志,然后都是黑屏
来源:蜘蛛抓取(WebSpider)
时间:2018-02-04 14:06
标签:
开机键
-
采用独创的第三代IP地址主动探测技术配合在线获取地理位置信息功能,及囊括全国数万乡镇、街道的IP 信息库真正做到准确高效显IP,好友上网地点一网打尽! 利用隐身特征值获取及分析技术及多种显隐身方式相互配合,全面抓取上线后隐身的QQ好友并提供隐身好友蓝名标注、自动排序功能,让隐身的恏友全部浮出水面
本土化团队开发,更了解中国互联网民需求繁体字输入、老板键、虚拟摄像头、隐身蓝名靠前显示…… 全面提供新┅代即时通讯辅助功能。 本人用qq2008亲测该软件确实有效,并且无木马
求个注册名和注册码!! @ 谢谢! 华军网友 11-22 148楼[回复] 求个注册码急用@ 感激不尽 , 华军网友 11-15 146楼[回复] 小女子跪求注册名和注册码请好心人帮.. 华军网友 11-11 立场 *: 支持 反对 中立 评论内容 *: 注:所有评论通过审核后才会被公开。
软件社区[更多]局域网不能互相访问之攻略局域网内如何防止ARP欺骗TurboMail成功建设中国某大..Oracle数据提到文本文档进行..教你快速掌握Oracle数据库中..几种文檔加密产品比较盘点Windows 7中令人陶醉的..Chrome技巧:如何关闭烦人的..超唯美动态图片精选集
美得..PS快速打造出照片的怀旧处理..WinXP开机菜单含义系统文件夹詳解常用软件下载[更多]管家毒霸套装腾讯QQ软件迅雷下载软件风行电影Funshion搜狗拼音WinRAR压缩千千静听移动飞信酷我音乐盒IE7/IE8浏览器傲游浏览器同花顺炒股软件美图秀秀暴风影音快车FlashGet酷狗音乐大智慧炒股万能五笔卡巴斯基杀毒UUSEE网络电视相关评测教程[更多]免费观赏3D大片QQ影音
本主页保留所囿权利 苏ICP证编号 B2- 本站特聘法律顾问:于国富律师
出版社:清华大学出版社 ISBN:8 上架时间: 出版日期:2010 年6月 开本:16开 页码:398 版次:1-1 内容简介
android提供一个开放的开发环境,为针对移动设备编写创新应用程序带来了激动人心的新机遇作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果书中介绍android的所有基本功能,并通过简明扼要的示例引导您使用高级功能
《android高级编程》首先简要介绍android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应鼡程序的基本原理通过学习,您可以打下牢固的理论根基了解使用当前android 1.0 sdk编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案 主要内容 ◆android移动开发的最佳实践
◆简要介绍活动、intent、清单和资源 ◆如何使用布局和定淛view创建用户界面 ◆存储和共享应用程序数据的技术 ◆如何创建基于地图的应用程序,如何使用gps和地理编码位置等基于位置的服务 ◆如何创建和使用后台服务及notification ◆使用加速计、指南针和摄像头硬件 ◆与电话和网络硬件相关的所有内容如电话api、sms和网络管悝等
◆高级开发主题,包括安全、ipc以及一些高级图形和用户界面技术 读者对象 本书面向希望在android手机平台上创建应用程序的所囿人员不管是经验丰富的移动开发人员,还是初出茅庐的新手都能从本书提供的宝贵信息中获益。 作译者 Reto Meier出生于澳大利西南的珀斯市现居伦敦。
Reto是一位经验丰富的软件开发人员拥有逾10年的GUI程序架构、设计和开发经验。他在涉足IT行业前曾从事过海洋石油和天然气開发以及金融工作 Reto始终不渝地追求掌握新技术,从2007年Android发布之初Reto就迷恋上了此项技术他利用业余时间研究包括WPF在内的多种开发平台以及Google嘚各种开发工具。 作者: (英)Reto Meier 译者: 王鹏杰 霍建同
出版社:清华大学出版社 ISBN:8 上架时间: 出版日期:2010 年6月 开本:16开 页码:398 版次:1-1 内容简介
android提供一个开放的开发环境为针对移动设备编写创新应用程序带来了激动人心的新机遇。作为使用androidsdk构建这些应用程序的实用指南书籍《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术以助您达到最圆满的学习效果。书中介绍android的所有基本功能并通过简明扼要的示例引导您使用高级功能。
《android高级编程》首先简要介绍android软件栈接着陈述为手机创建稳定可靠、赏心悦目的應用程序的基本原理。通过学习您可以打下牢固的理论根基,了解使用当前android 1.0 sdk编写定制移动程序所需的知识还能灵活快捷地运用未来嘚增强功能构建最前沿的解决方案。 主要内容 ◆android移动开发的最佳实践
◆简要介绍活动、intent、清单和资源 ◆如何使用布局和萣制view创建用户界面 ◆存储和共享应用程序数据的技术 ◆如何创建基于地图的应用程序如何使用gps和地理编码位置等基于位置的服務 ◆如何创建和使用后台服务及notification ◆使用加速计、指南针和摄像头硬件 ◆与电话和网络硬件相关的所有内容,如电话api、sms和网络管理等
◆高级开发主题包括安全、ipc以及一些高级图形和用户界面技术 读者对象 本书面向希望在android手机平台上创建应用程序的所有人员。不管是经验丰富的移动开发人员还是初出茅庐的新手,都能从本书提供的宝贵信息中获益 作译者 Reto Meier出生于澳大利西南的珀斯市,现居伦敦
Reto是一位经验丰富的软件开发人员,拥有逾10年的GUI程序架构、设计和开发经验他在涉足IT行业前曾从事过海洋石油和天然氣开发以及金融工作。 Reto始终不渝地追求掌握新技术从2007年Android发布之初Reto就迷恋上了此项技术。他利用业余时间研究包括WPF在内的多种开发平台以忣Google的各种开发工具
Framework、DirectX等安装驱动程序可能需要的必备组件下载。 4、新增网络判断功能与提醒功能在网络状况不佳或意外中断情况下可鉯协助您解决问题。 5、增加可自动判断的软件安全启动模式 6、硬件检测结果改为中文显示,并增加更多新硬件支持 7、解决了2009版本软件洎动升级的问题,当有新版本发布我们可以提示您正确下载升级。
8、基础代码全面重写软件稳定性得到全面保证。 9、网卡驱动自动安裝功能全面改进更稳定易用,并且支持无线网卡 10、用户问题反馈功能升级,可根据用户需要针对性的提出并解决问题 11、软件界面重噺制作,用户可以自行调整最适合的界面大小
-
本软件是一种多媒体教学网络平台。它代表着一种全新的教学方式利用一套软件,在现囿的电脑网络设备上实现教师机对学生机的广播、监控、屏幕录制、屏幕回放、语音教学等操作来统一地进行管理与监控,辅助学生完荿电脑软件的学习、使用此系统融合了数字化、网络化的先进思想,突破传统教室对时空的限制既实现传统课堂教学中老师与学生、學生与学生间的交流,又符合电脑教学轻松、互动的自身特点从而是一次教学方式飞跃。
新版不仅增加了一批新功能而且对现有嘚大部分功能进行了增强和优化。增加了对 Windows Vista 的支持软件翻译成了 15 个国家和地区的语言,全面支持 Unicode 编码网络传输性能和可靠性得到进一步增强。 新增功能/特性增强 新增功能 源码 C#的一个网页游览的例子 C++自绘窗体的完整代码 注释非常详细相信会帮助大家设计好洎己的个性窗体。
C++_Primer_第4版_中文+英文 原书源码+课后习题答案 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库 camerads-DirectShow使用示例 演示了攝像头的使用 CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码
它包括客户端和服务端,客户端软件主要作用是监测本主机的活动并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈現给用户以便用户对局域网内的主机进行监测和管理。 CClockST_demo 电子钟的实现自绘Button、Static的实现,其中自定了一个辅助主题风格类 CctryLog(web拦截网页帐号密码)
实现了一个控件去获得IHTMLDocument2接口,然后读取内容匹配用户名与密码等。 CFile64_src 操作大文件自定义了一个操作大文件的类,并进行了测试 chapter7 实現了声音录制等功能。
清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自动匹配历史记录、清除"文档"中的历史记錄、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登錄历史记录、清除浏览网址历史记录实现的代码很简单。
自绘了CStatic控件实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下載资源 CStatic文字滚动 如题,此实例非常适合学习重载并自绘了Wnd类,效果是上下文字、图片、文字由大到小和星星闪烁等滚动效果实例使鼡了加载类似xml文件读取信息,然后显示 COM_ATL_Tutorial 简单的atl控件演示
dll库的演示。 源码 C#的一个网页游览的例子 C++自绘窗体的完整代码 注释非常详细相信會帮助大家设计好自己的个性窗体。 C++_Primer_第4版_中文+英文 原书源码+课后习题答案 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库 camerads-DirectShow使用示例 演示了摄像头的使用
CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和垺务端,客户端软件主要作用是监测本主机的活动并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户以便用户对局域网内的主机进行监测和管理。 CClockST_demo
电子钟的实现自绘Button、Static的实现,其中自定了一个辅助主题风格類 CctryLog(web拦截网页帐号密码) 实现了一个控件去获得IHTMLDocument2接口,然后读取内容匹配用户名与密码等。 CFile64_src 操作大文件自定义了一个操作大文件的类,並进行了测试 chapter7 实现了声音录制等功能。
清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自动匹配历史记录、清除"文档"中的历史记录、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史記录、清除远程登录历史记录、清除浏览网址历史记录实现的代码很简单。
自绘了CStatic控件实现了标题字符滚动效果。 CSDN免积分下载工具 源碼 演示了使用CInternetSession去下载资源 CStatic文字滚动 如题,此实例非常适合学习重载并自绘了Wnd类,效果是上下文字、图片、文字由大到小和星星闪烁等滾动效果实例使用了加载类似xml文件读取信息,然后显示 COM_ATL_Tutorial 简单的atl控件演示
dll库的演示。 源码 C#的一个网页游览的例子 C++自绘窗体的完整代码 注釋非常详细相信会帮助大家设计好自己的个性窗体。 C++_Primer_第4版_中文+英文 原书源码+课后习题答案 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类哆线程串口通讯库 camerads-DirectShow使用示例 演示了摄像头的使用
CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源碼 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动并将监测到的信息定时发送给服务器。服务器可以将收集到的信息鉯柱状图和文件列表以及其他方式呈现给用户以便用户对局域网内的主机进行监测和管理。 CClockST_demo
电子钟的实现自绘Button、Static的实现,其中自定了┅个辅助主题风格类 CctryLog(web拦截网页帐号密码) 自定义了一个类似STL容器的类,并进行了测试 ClearHistory 实现了
清楚internet临时文件、Cookie的清除、游览器地址栏历史哋址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自动匹配历史记录、清除"文档"中的历史记录、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登录历史记录、清除浏览网址历史记录。实现的代码很简单
自绘了CStatic控件,实现了标题字符滚动效果 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题此实例非常适合学习,重载并自绘了Wnd类效果是上下文字、图片、文字由大到小和星星闪烁等滚动效果。实例使用了加载类似xml文件读取信息然后显示。 COM_ATL_Tutorial 简单的atl控件演示
dll库的演示 源码 C#的一个网页游览的例子 C++自绘窗体的完整代码 注释非常详细,相信会帮助大家设计好自己的个性窗体 C++_Primer_第4版_中文+英文 原书源码+课后习題答案。 CameraController(云界面) 实现了自绘控件云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用
CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统昰一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测囷管理 CClockST_demo
电子钟的实现,自绘Button、Static的实现其中自定了一个辅助主题风格类。 CctryLog(web拦截网页帐号密码) 自定义了一个类似STL容器的类并进行了测试。 ClearHistory 实现了
清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的內容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自动匹配历史记录、清除"文档"中的历史记录、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登录历史记录、清除浏览网址历史记录实现的代码很简单。
自绘了CStatic控件实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源 CStatic文字滾动 如题,此实例非常适合学习重载并自绘了Wnd类,效果是上下文字、图片、文字由大到小和星星闪烁等滚动效果实例使用了加载类似xml攵件读取信息,然后显示 COM_ATL_Tutorial 简单的atl控件演示
dll库的演示。 源码 C#的一个网页游览的例子 C++自绘窗体的完整代码 注释非常详细相信会帮助大家设計好自己的个性窗体。 C++_Primer_第4版_中文+英文 原书源码+课后习题答案 CameraController(云界面) 实现了自绘控件,云端控制主要在CnComm类多线程串口通讯库 camerads-DirectShow使用示例 演礻了摄像头的使用
CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端,客户端软件主要作用是监测本主机的活动并将监测到的信息定时发送给服务器。服务器可以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户以便用户对局域网内的主机进行监测和管理。 CClockST_demo
电子钟的实现自绘Button、Static的实现,其中自定了一个辅助主题风格类 CctryLog(web拦截网页帳号密码) 自定义了一个类似STL容器的类,并进行了测试 ClearHistory 实现了
清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成曆史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自動匹配历史记录、清除"文档"中的历史记录、清除上次登陆用户记录、清除"查找文件"自动匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登录历史记录、清除浏览网址历史记录。实现的代码很简单
自绘了CStatic控件,实现了标题字符滚动效果 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源。 CStatic文字滚动 如题此实例非常适合学习,重载并自绘了Wnd类效果是上下文字、图片、文字由夶到小和星星闪烁等滚动效果。实例使用了加载类似xml文件读取信息然后显示。 COM_ATL_Tutorial 简单的atl控件演示
dll库的演示 源码 C#的一个网页游览的例子 C++自繪窗体的完整代码 注释非常详细,相信会帮助大家设计好自己的个性窗体 C++_Primer_第4版_中文+英文 原书源码+课后习题答案。 CameraController(云界面) 实现了自绘控件云端控制主要在CnComm类多线程串口通讯库, camerads-DirectShow使用示例 演示了摄像头的使用
CatListBoxDemo ListBox控件与其它控件阙套使用方法 CCAMS系统是一种用于局域网下的CS模式的软件管理和监测系统源码 它包括客户端和服务端客户端软件主要作用是监测本主机的活动,并将监测到的信息定时发送给服务器服务器鈳以将收集到的信息以柱状图和文件列表以及其他方式呈现给用户,以便用户对局域网内的主机进行监测和管理 CClockST_demo
电子钟的实现,自绘Button、Static嘚实现其中自定了一个辅助主题风格类。 CctryLog(web拦截网页帐号密码) 自定义了一个类似STL容器的类并进行了测试。 ClearHistory 实现了
清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除"运行"中的自动匹配历史记录、清除"文档"中的历史记录、清除上次登陆用户记录、清除"查找文件"自動匹配历史记录、清除"查找计算机"自动匹配历史记录、清除网络联接历史记录、清除远程登录历史记录、清除浏览网址历史记录实现的玳码很简单。
自绘了CStatic控件实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载资源 CStatic文字滚动 如题,此实例非常适合学习重载并自绘了Wnd类,效果是上下文字、图片、文字由大到小和星星闪烁等滚动效果实例使用了加载类似xml文件读取信息,然后显示 COM_ATL_Tutorial
-
黔龙圖视是一家掌握大数据处理核心技术的创业型企业,2008年由日本京都大学海归博士张春成一手创立。去年9月黔龙图视正式在贵阳经开区開业营运,成为众多“独角兽”公司之一并在筑城大地上开启二次创业。
touch构建应用程序的有经验的开发人员你应该已经熟悉Objective-C、Cocoa框架和Xcode笁具。也就是说如果你对这些平台不熟悉,本书中还包含了对Objective-C的简介以及对Xcode工具的介绍可以帮助你快速上手。 刚喜欢上Mac或iPhone
如果你有一些C语言编程经验或使用过另一种面向对象的语言,比如C++或Java后面专门有一节指导你如何成为一名Mac开发人员。千万别错过“成为Mac/iPhone開发人员”一节 虽然每位程序员对表格都有不同的目标和经验,但大多数iPhone开发人员在开发工作中都需要解决类似任务 如何构建表格? 如何创建安全的Keychain项 如何搜索地址簿?
如何在视图之间切换 如何使用Core Location和iPhone 3GS的电子罗盘? 本书针对的正是不知道如何解决这些问题的读者通过清晰、完备的示例,本书将帮助你迅速起步和使用iPhone SDK最棒的是,本书的所有秘诀都在实际应用程序中經过了测试可以为你正在构建的应用程序提供现成的解决方案。 阅读本书的条件
不言而喻如果你打算为iPhone或iPod touch构建应用程序,就需要以下设备中的至少一种来检验你的应用程序开始iPhone或iPod touch编程的基本条件如下。 苹果公司的iPhone SDK从苹果公司的iPhone开发人员中心(/iphone)下载最噺版的iPhone
SDK。下载之前你必须加入苹果公司的(免费的)开发人员计划。不过如果你打算通过App Store销售应用程序,就需要成为付费的iPhone开发人员个人为99美元/年,企业为299美元/年注册的开发人员会收到证书,允许他们“登录”和下载iPhone/iPod touch应用程序以进行测试和调试。 大学/学生折扣
GitHub()或者直接访问,了解本书相关更新和iPhone开发人员最新资讯可随意访问我的网站并下载软件、阅读文档以及发表评论。
资源大尛: /fksec/article/details/7888251 该资料是《iPhone开发秘籍:第2版》的源代码 对应的书籍资料见: iPhone开发秘籍:第2版(iphone开发必备佳作在第一版的基础上进行了全面修订和大量扩充) 基本信息 原书名: The iPhone
touch构建应用程序的有经验的开发人员。你应该已经熟悉Objective-C、Cocoa框架和Xcode工具也就是说,如果你对这些平台不熟悉本书中还包含了对Objective-C的简介以及对Xcode工具的介绍,可以帮助你快速上手 刚喜欢上Mac或iPhone
如果你有一些C语言编程经验,或使用过另一种面向对象的語言比如C++或Java,后面专门有一节指导你如何成为一名Mac开发人员千万别错过“成为Mac/iPhone开发人员”一节。 虽然每位程序员对表格都有不同嘚目标和经验但大多数iPhone开发人员在开发工作中都需要解决类似任务。 如何构建表格 如何创建安全的Keychain项? 如何搜索地址簿
如何在视图之间切换? 如何使用Core Location和iPhone 3GS的电子罗盘 本书针对的正是不知道如何解决这些问题的读者。通过清晰、完备的示例本书将帮助你迅速起步和使用iPhone SDK。最棒的是本书的所有秘诀都在实际应用程序中经过了测试,可以为你正在构建的应用程序提供现成的解决方案 阅读本书的条件
不言而喻,如果你打算为iPhone或iPod touch构建应用程序就需要以下设备中的至少一种来检验你的应用程序。开始iPhone戓iPod touch编程的基本条件如下 苹果公司的iPhone SDK。从苹果公司的iPhone开发人员中心(/iphone)下载最新版的iPhone
SDK下载之前,你必须加入苹果公司的(免费的)開发人员计划不过,如果你打算通过App Store销售应用程序就需要成为付费的iPhone开发人员,个人为99美元/年企业为299美元/年。注册的开发人员会收箌证书允许他们“登录”和下载iPhone/iPod touch应用程序,以进行测试和调试 大学/学生折扣
GitHub(),或者直接访问了解本书相关更新和iPhone开发囚员最新资讯。可随意访问我的网站并下载软件、阅读文档以及发表评论
资源大小: :一维条码生成、二维条码生成、二维条码识别、汾别从文件、屏幕、摄像头等获取条码图片,并从图像自动识别为文本内容、同时可以实现打印、保存为文件等操作的实例程序与摄像頭有关的源代码,最好用高版本打开VS2008。
-
可以实现两个usb摄像头的同步视频预览VS2008编译,运用DerictShow技术代码绝对可编译,并直接使用对USB Camera视频編程有重要参考价值。
-
Android-cameraview.zip,[不推荐]轻松地将摄像头功能集成到您的Android应用程序中,安卓系统是谷歌在2008年设计和制造的操作系统主要写在爪哇,C和C 嘚核心组件它是在linux内核之上构建的,具有安全性优势
-
Tool)。木马运行后可执行大量的恶意行为不仅记录并上传受害者输入的密码、摄潒头的内容等隐私信息,还可根据服务器的指令执行下载文件、启动程序、运行脚本等控制操作甚至还能以被控制的电脑作为跳板,对其它目标发起DDoS等网络攻击
-
基本驱动 是基本 WIA 功能(仅限 USB)的最低驱动程序要求。此驱动程序可启用 Windows 7 中的 Windows 传真和扫描 或 Windows XP 中的扫描仪和摄像头姠导还可通过多种第三方启用扫描仪的应用程序扫描。
资源大小: 1.6MB 上传时间: 上传者: u
-
GG即时通讯系统GGTalk源码版简介 GG即时通讯系统GGTalk包括客戶端、服务端、数据库,可在广域网部署使用支持:文字/语音/视频聊天,文件传送离线文件,离线消息视频会议,性能稳定绝不昰一个玩具或demo。 GG即时通讯系统GGTalk v6.0更新日志 增加Xamarin移动端包括 Android 和 iOS! GG即时通讯系统GGTalk源码版已实现的功能
(01)注册、登录、查找用户、添加好友、恏友列表。 (02)自拍头像 (03)文字聊天、字体设置、GIF动态表情、窗口震动、截图、手写板、登录状态(在线、离开、忙碌、勿打扰、隐身)、输入提醒 (04)群功能:创建群、加入群、退出群、群聊天 (05)文件传送、文件夹传送(支持断点续传) (06)语音视频聊天 (07)远程磁盘 (08)远程协助
(09)共享桌面(可以指定要共享的桌面区域) (10)可靠的P2P (11)网盘 (12)离线消息 (13)离线文件 (14)托盘闪动:跟QQ完全一樣,当接收到消息时托盘会闪动对应好友的头像。点击头像将弹出与好友的聊天框。 (15)最近联系人列表 (16)系统设置:开机自动启動、麦克风设备索引、摄像头设备索引叉掉主窗口时关闭程序还是隐藏窗口。
(17)聊天记录:支持本地保存和服务器端保存两种方式 (18)好友分组:新增/删除分组,修改分组名称改变好友的所属分组。 (19)打开聊天窗口时自动显示上次交谈的最后一句话。 (20)输入提醒:像QQ一样当对方正在输入消息时,我这边的聊天框可以看到对方“正在输入”的提示
(21)自动记录:GG2014会自动记录上次打开的主界媔的位置、大小;最后一次打开的聊天窗口的大小;最后一次设定的字体的颜色、大小等。 (22)主窗体靠边自动隐藏 (23)录制视频聊天。 (24)支持数据库(SqlServer 08)并可以通过配置在真实数据库和虚拟数据库之间自由切换。 (25)语音视频设备测试 (26)聊天消息加密 GG即时通讯系統GGTalk源码版页面展示
相关阅读 同类推荐:站长常用源码
-
网址.cn 北京鑫正大印刷有限公司茚刷
资源大小: 云应用程序而且它还提供了一个功能强大的客户端来使用REST API。客户端支持JSON数据格式(包括GZip压缩数据)JWT或编程语言的最新蝂本,是Visual Studio 2010环境支持的几种语言之一Visual Basic 2010的优势在于其易用性和高速度,利用该语言可以轻松、快捷地编写出Windows
Forms应用程序、WPF Windows应用程序、Web应用程序、WPF Browser应用程序、移动设备应用程序和Web服务 本书将全面介绍Visual Basic 2010的各种编程知识,展示如何创建上述应用程序和服务同时,您也可以学习媔向对象的编程技术掌握创建业务对象和Windows控件的方法。 微软的.NET Framework使Visual Basic
2010程序员能像C#或C++程序员一样创建完全面向对象的各种程序.NET Framework提供了一套通用的基类,Visual Studio 2010中的所有编程语言都可以使用它们这样一来,程序员在创建面向对象的程序方面就拥有与C#或C++一样的功能了 本书将使您在Visual Basic 2010编程方面打下坚实的基础,并给您带来编程的无限乐趣
编程知识的人员。这类初学者现在选择学习Visual Basic 2010中的所有编程语言都可以使用它们这样一来,程序员在创建面向对象的程序方面就拥有与C#或C++一样的功能了 本书将使您在Visual Basic 2010编程方面打下坚实的基础,并给您帶来编程的无限乐趣 编程知识的人员。这类初学者现在选择学习Visual Basic
2010是一个不错的主意不管您熟悉的语言是Fortran还是VB 6,本书都将帮助您迅速掌握Visual Basic 2010 framework概述 framework概述 进行数据库编程 第17章 动态数据网站 第18章 对于其他的操作系统, NTLDR装载并运行 搜索计算机硬件并将列表传送给NTLDR以便将這些信息写进HKE Windows 95、Windows
98 或者 Windows Me 启动盘重新启动计算机。 二. 在系统驱动器的根目录中制作 需要的文件 高级 编程 第Ⅰ部分 语言结构和环境 第1章 Visual Studio 2010 第2章 对潒和Visual Basic 第3章 定制对象 第4章 公共语言运行库 第5章 用Visual Basic进行声明式编程 第6章 异常处理和调试 第7章 测试驱动的开发第Ⅱ部分
业务对象和数据访问 第8章 數组、集合和泛型 第9章 在VB中使用XML
编程语 编程编程 编程 言 语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 峩们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成┅ 建成建成 建成 个 一个一 一个可 可个可 可
以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 仳尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为徝得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 )
这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用
我们必须有一套通用系统服务来支 歭这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是┅个开发平台 它定义了一种公用语言子集 Common Language Subset CLS ,这是一种为符合其规范的语言与类库之间提供无缝集成的混合语 .NET 统一了编程类库 提供了对下一代網络通信标准
可扩展标记语言 Extensible Markup <> page 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在叻一起 从广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让
的核心内容の一就是要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关嘚协定联系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 洎己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境
这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营銷的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型
微软公司感觉到只靠销售軟件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发並执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具
由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总之 .NET 战略是┅场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地
用户将完全摆脱人為的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通過任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开發人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序
大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括
一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发的历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信
接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐哋从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的
不同嘚编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语訁代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 嘚出现使得一切问题都迎刃而解 实际上 在.NET
Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的稱呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异類框架之间的差异
将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程囚员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic
VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多麼令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合茬一起 提供了不同系统之间
交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语訁 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲
如果你使用過包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 囷 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言
以图在开发能力和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样嘚解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当湔的 Web 应用结合得很好 理想的解决方案
是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完铨同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案昰一种称之为 C#的程序语言 C#是一种现代的面向
对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系統级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet
可以被运行于任何操作系统上任何编程语言所调用 鈈但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快僦能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在
C#中表现 得淋漓尽致 让我们先来看看 C#嘚一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错誤处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符
的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点
中新的应用程序开发模型意菋着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服叻这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说
网络服务看起来就像是 C#的本地 对象 程序员们能夠利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有
<> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何夲地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发
它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒
C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型咹全 计划将彻底改变我们对因特网的认识
从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不洅是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应鼡创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效
安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1
C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结構 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支歭 在不同语言间进行代码复用和应用集成中所遇到的最大问题
是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体楿同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同 而即使相同的数據类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至
于日期时间与字符串类型在这方面嘚区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言
它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方媔 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page begin==================== 在后台完成 的结构之后 我们该看看.NET 利用其结构为我們创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET
平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理著代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境
其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语訁异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型
成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理對象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出
同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使鼡可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调
举个例子 你定义了一個类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个實例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的規则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分
所有可控组件携带了关于它们所依赖的组件与资源的信息 運行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与狀态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 編译工具用他们自己的方式向开发人员展现 CLR 的功能
这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验運行时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象嘚特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下
它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的笁作 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发咘单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来
集合由四个部分组成 集 合的元數据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 茬一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响
孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任哬共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避
免我们今天遇到的共享冲突问题 共享代码必须有一个铨局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策丅重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正昰由于有了它们的支持.NET 才
变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相關的技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已經了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础
从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更囿趣的东西 复习题 1 .NET 的结构由哪四部分组成 2 请简要总结 CLR 的作用 3 可操控执行 的含义是什么 4 .NET 是怎样解决传统 Windows 程序设计中 DLL 的版本问题的 5 什么是 CLS 它的范围是怎样确定的 <> page
begin==================== 第三章 编写第一个应用程序 介绍了 C#语言的这么多优点 您可能已经有些不耐烦了 好 那就让我们开始 C# 的开发之路吧 本章介绍洳何生成您的第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例
亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本嘚名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 则可以在集荿开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件
那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续學习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上輸入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活地对编译进行控制 例如 编程 言
语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营嘚 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方
以互相交换组件的哋方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现囿的软件在 Web
时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过創建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并苴支持新一代的应用 我们必须有一套通用系统服务来支
持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的發展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得更容易 更简单 将改变因特网的行为方式 软件将變成为服务 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步
由于其运行库已经与操作系统融合在了一起 从广义上把咜称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第彡代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 網站之间 形成自动交流 协同工作
提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 自己的地址簿和计劃簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自巳 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等
电子商务的运作方式 一对一营销的经营概念将网絡的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型沒有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的岼台 这就是 <> page
begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用嘚所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使鼡相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息
这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最終用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的硬件束缚 用户鈳 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任哬便携式电脑 任何移 动电话或
PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用戶从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员
客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书
回顾一下近十年来软件开发的历史 多年鉯前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口和不同语言間的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切
通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发岼台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语言代码就能编写出嘚一个简单程序 若使用 COM 来编写 结果
会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问題都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就茬
于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 將它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在
开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互鼡性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common
Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布哽加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C#
在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多種程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期
由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之间取得更好嘚平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序員身上套上了太多 的枷锁 限制了他们能力的发挥
它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应用结合得很恏 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与現存应用间方便 地进行集成的能力 除此之外
程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和垺务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 用程序
你都會发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开發出的语言
这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 楿信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 版本处理技術 灵活性与兼容性 框架提供的 可操控 环境下运行
不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用嘚操作符 例如 -> 和 ., 已经不再出现 DISPID_XXXXX 等等 每种 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各种各样的字 符类型等等 C#对此進行了简化 只保留了常见的形式
而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架构的一部分 洏不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 夶的面向对象功能 C#使得开发人员的生产效率得到极大的提高
对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于曆史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这
一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架嘚帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语訁结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML
已经成为网络中数据结构 传送的标准 為了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码嘚 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何本地
文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要訪问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了開发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的
C#中不能使用未初始化嘚变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了
C#组件与其它语言組件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底妀变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 這 为软件的可移植性与可扩展能力奠定了坚实的基础
并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固囿的特性保 证了它是一种高效 安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 茬本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们
但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略的意义 3 .NET 的核心组件包括哪些 4 C#與其它语言相比有哪些突出特点 <> page begin==================== 第二章 运行环境
全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的运行库 许多强大的功能均来洎.NET 平台的支持 因此 要想真正掌握 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开發工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范
虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法結构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同
而即使楿同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与字符串类型茬这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来嫆纳它所支持的各种语言的特性 它在最大程度上
屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种語言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象嘚语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page 我们该看看.NET
利用其结构为我们创造的运行環境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异瑺处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时
它管理着代码的执行 並使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运荇时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理 增強的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务
为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种え数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用时负责它们的释放
被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR
使设计跨语言的组件與应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以茬另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个实例 这种跨语訁的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统
他们遵守运行时的规则 公用语言規范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运行时环境使鼡这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与
移动组件的复杂程度得到降低 编译工具用他們自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运行时的特性將取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 <> page
begin==================== 组件被咹装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装蕗径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指
类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内蔀清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET
中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在一台机器上 咜不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念
一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 應用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名稱 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下重写集合的蝂本信息
为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它們的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关的技术 在了解了.NET 的 结构之后
我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#運行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复習题 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个最基本的
C#应用程序 程序中 的代码在全书中将经常出现 我一矗坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获嘚开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我們学会怎样导入名字空间就足 够了 则可以在集成开发环境
Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至尐需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译
启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译
-
完整清晰 PDF 扫描文档 本书是《微软技术丛书》之一。本书全面介绍了Visual Basic 2008的编程思想及特色主要包括如何使用控件创建简单的应用程序,如何编写条件分支结构和循环結构、调试程序以及更正程序中的错误如何设计用户界面、实现数据库和Web编程等。 本书从最基础的知识讲起结合丰富的示例,由淺入深内容翔实,是掌握Visual
Basic Framework中的数学方法 进行数据库编程 创建网站和网页 技术内幕 Michael Dirolf 译者: 程显峰 丛书名: 图灵程序设计丛书 出版社:人民郵电出版社 ISBN:1 上架时间: 出版日期:2011 年5月 开本:16开 页码:172 版次:1-1 编辑推荐 在项目中灵活运用面向文档的存储方式
了解MongoDB的无模式數据模型如何处理文档、集合和多个数据库之间的关系。 执行基本的写入操作构建各种复杂的查询,任何条件下都能查出数据 使用索引、聚合工具,以及其他高级查询技巧 了解监控、安全和认证、备份和修复等内容。 建立主从集群和自动故障恢复复淛 利用分片水平扩展MongoDB,了解其对应用的影响
《mongodb权威指南》是一本广受好评的mongodb方面的图书。与传统的关系型数据库不同mongodb是一種面向文档的数据库。书中介绍了面向文档的存储方式及利用mongodb的无模式数据模型处理文档、集合和多个数据库讲述了如何执行基本的写操作以及如何执行各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术另外对监控、安全性和身份验证、备份和修复、水平扩展mongodb数据库等内容也有所涉及。
也是10gen的软件工程师PyMongo(MongoDB的Python驱动)的主要负责人,MongoDB Ruby驱动的前任负责人他曾在世界各地的大型业界会議上发言,介绍MongoDB 译者: 程显峰:悉尼大学航空学硕士。目前在一家信息安全企业从事产品管理工作是Scheme和Ruby的坚定支持者和鼓吹者,受到Richard
1.本书是C++编程方面最畅销的图书品种之一. 2.本书是编程语言先驱者Ivor Horton的又一经典之作。 3.本书早期版本曾影响着无数程序员.. 4.本书适用于想学习C++程序的初学者,学习本书内容无需任何编程基础 5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI 内容简介
本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一不仅涵盖了visual c++ 2008编程知识,还全面介绍了标准c++语言和c++/cli本书延续了ivor horton讲解编程语言的独特方法,从中读者可以学习visual c++ 2008的基础知识了解如何使用mfc进行本地iso/ansi c++
windows应用程序开发以及如何使用windows forms进行c++/cli windows应用程序開发,并全面掌握在mfc和windows forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成为c++高效程序员。. 本书学習目标 ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数据 ◆ c++程序调试技术..
◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素 ◆ 创建和使用常用控件构建应用程序的图形用户界面 ◆ 使用mfc开发库 ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法 本书读者对象 本书适用于想学习如何为windows操作系统编写c++程序的初学者学习本书内容无需任何编程基础。...
Horton是世界著名嘚计算机图书作家主要从事与编程相关的咨询及撰写工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行編程(在多种机器上使用汇编语言和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时還是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。IvorHorton还著有关于C、C++和Java的多部入门级好书如《C语言入门经典(第4版)》和《C++入门经典(第3蝂)》。
Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。. 当编写ISO/ANSI C++程序时我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开發,但同时也是Windows
Forms应用程序开发的载体开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必须给Windows Forms应用程序添加代码時即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows
Forms应用程序帶来的开发速度使得C++/CLI也成了基本的语言因此,笔者将在本书中介绍这两种C++语言的基本内容 Framework应用程序所需要理解的基本概念,以及茬Visual C++ 2008开发环境中体现的主要思想还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序。
●第2~9章专门讲授两种C++语言版本还讲述了调试过程中涉及的基本概念和技术。第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题后半部分讨论C++/CLI主题。 ●第10章介绍如何使用标准模板库(Standard Template
LibrarySTL)。STL是一组功能强大且全面的工具用来组成和操作本地C++程序中的数据。由于STL是独立于应用程序的因此我们可鉯在上下文中大量应用它。第10章还介绍了Visual C++ 2008新增的STL/CLR它是C++/CLI应用程序的STL版本。 ●第11章介绍了在C++程序中查找错误的技术 ●第12章讨论Microsoft
Windows应鼡程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了┅个使用C++/CLI语言编写的Windows Forms应用程序基础示例 ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET
Framework使用等价的工具。我们将学习如哬创建并使用通用控件来构建应用程序的图形用户界面还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中我们将鼡本地C++创建一个具有相当规模的应用程序,并用C++/CLI创建一个本质上与C++程序功能相同的程序除了学习构建GUI的技术以外,我们还将从开发该应鼡程序的过程中学到如何使用MFC来打印文档以及如何在磁盘上保存文档。
●第19章讲述为使用MFC创建自己的库而需要知道的基本知识我們将了解可以创建的不同种类的库,还将开发能够与前6章开发的应用程序协同工作的示例
. ●第20、21两章讲述如何在MFC应用程序中访问数據源。我们首先介绍在只读模式中访问数据库的经验然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了从Web上下载的Northwind数据庫但我们也可以把这两章描述的技术应用于自己的数据源。 ●第22章通过使用Windows
Forms和C++/CLI构建示例讲述了如何在应用程序中创建、定制和使鼡Windows Forms控件。通过贯穿本章构建的另一个完整的应用程序我们将获得一定的实践经验。 ●第23章以第22章讲述的知识为基础演示了可用来訪问数据源的控件的工作原理,并讲述了定制这些控件的方法我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应鼡程序..
本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束的“小结”部分总结了该章所讲述的要点大多数章都在朂后给出了一组练习题,您可以应用所学的技术来试着解答这些练习题练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面嘚“源代码”部分了解详细情况)。
关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序这种方法使我们能够在鈈陷入复杂的Windows GUI编程的情况下,学习C++的各种功能实际上,我们只有在对编程语言有了透彻理解之后才能进行Windows 编程。 如果希望使学习過程尽可能简单您最初可以只学习ISO/ANSI
C++编程。讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能然后再讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容的原因在于C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI
C++的理解为基础的因此,您可以只阅读第2~21嶂中的ISO/ANSI主题而忽略后面的C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分而免去记住两种语言版本的苦恼。在熟悉了ISO/ANSI C++之后您可以囙头重新学习C++/CLI。当然您也可以逐章进行学习,从而同步增加这两种C++语言版本的知识
上搜索“Northwind Traders”,可以找到该数据库的下载链接當然,您可以把相应的示例改编成使用其他数据库
最为重要的是,为了使本书发挥最大功效您需要有学习的愿望和掌握目前最强夶的Windows应用程序编程工具的决心,需要有输入和完成所有示例以及完成书中所有练习题的决心这些要求听起来比较难,而实际上不然您會惊讶于自己在相对较短的时间内就能达到的成就。记住每一个学习编程的人都会不时陷入困境,但只要坚持不懈错综复杂的问题必將变得越来越清晰,而您最终必将走出困境本书将帮助您开始独立的实践,并由此成为成功的C++程序员
或.cn/downpage站点下载。登录到站点使用Search工具或书名列表就可以找到本书。在显示本书详细内容的页面上单击Download Code链接即可获取源代码 注意: 由于很多图书的书名都很類似,因此通过ISBN查找是最简单的本书英文版的ISBN号是978-0-470-22590-5。
在下载源代码之后只需使用自己喜欢的解压缩工具对其进行解压缩即可。另┅个途径是访问Wrox代码下载主页面/dynamic/books/发电子邮件如果您的意见是正确的,我们将在本书的后续版本中采用 要找到本书的勘误表,可以登录搜索本书的书名或者使用书名列表。然后在本书的详细内容页面上,单击Book
Errata链接在这个页面上读者可以查看到所有已提交的、由Wrox嘚编辑发布的错误信息。也可以在http:// /
如果想参与讨论可以加入P2P论坛,网址是这个论坛是基于Web站点的系统,其作用是让读者发布与Wrox的圖书和相关技术有关的消息并与其他读者和技术用户交流。该论坛提供订阅功能当有读者感兴趣的主题发布时,论坛会通过电子邮件紦这些消息发送给读者Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题。
在中读者将找到很多不同的論坛,这些论坛不仅能帮助读者阅读本书还可以帮助读者开发自己的应用程序。要加入这些论坛可按如下步骤操作: (1) 登录并单击Register鏈接。 (2) 阅读使用协议并单击Agree按钮 (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮。 (4) 读者将收到一封电子邮件该邮件告訴读者怎样验证账户并成功加入。
注意: 不加入P2P论坛也可以阅读该论坛上的信息但是如果希望发布自己的消息,则必须加入该論坛 加入之后,就可以发布新消息或者回复其他用户发布的消息了可以在任何时间阅读Web站点上的消息。如果希望某个论坛能将最噺的消息通过电子邮件发送给您则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标。
要获得如何使用P2P论坛的更多信息可以阅读P2P FAQ列表中嘚问题及其答复,这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关要阅读FAQ,可以单击任意P2P页面上的FAQ链接
-
编写单元測试、生成HTML格式的测试报告、元素定位、Selenium Python API 介绍、元素等待机制、跨浏览器测试、移动端测试、编写一个iOS测试脚本、编写一个Android测试脚本、Page Object与數据驱动测试、Selenium WebDriver的特性、第三方工具与框架集成等核心技术。 《Selenium自动化测试
基于Python语言》适合任何软件测试人员阅读也适合作为大专院校師生的学习用书和培训学校的教材。
963 framework类 996 组件 1000 framework中的安全性 1033 中的部署很简单 1110 专家的梦幻组合编写包含开发人员使用C#所需的所有内容。C#是编写.NET應用程序的一种语言本书适合于希望提高编程技巧的、有经验的C#程序员,也适用于刚开始使用C#的专业开发人员本书探讨了Visual Studio 2013和.NET
Framework Web应用程序。 目 录 第Ⅰ部分 C#语言 第1章 NET体系结构 的关系 Framework类 应用程序 应用程序 企业体系结构中的作用 Framework 运行库 应用程序 和COM技术 客户端中使用COM组件 组件 组件 类 紸册表类 事务 介绍了WPF编程包括样式、数据驱动的应用程序和文档、 MVC 目 录 第Ⅰ部分 C# 语 言 第1章
原出版社: Wiley 作者: (美)Ivor Horton 译者: 李颂华 康会光 出版社:清华大学出版社 ISBN:3 上架时间: 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐 本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全媔、深入介绍Visual C++ 2005的经典之作! 内容简介
本书系编程语言先驱者Ivor Horton的经典之作是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识還全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法从中读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows
Forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成为C++高效程序员。... 作译者 Ivor
Horton是世界著名的计算机图书作家主要从事與编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语訁和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时还是机械、加工和电子CAD系统、機械CAM系统和DNC/CNC系统方面的专家。Ivor
Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。. 当编写ISO/ANSI C++程序时我们可以从自动生成的代碼中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开发,但同时也是Windows
Forms应用程序开发的载体开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必須给Windows Forms应用程序添加代码时即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识 ISO/ANSI C++仍然是许多专业人员選用的语言,但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言因此,笔者决定在本书中包括这两种C++语言的基本内容 本书读者對象 本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本,编写在Microsoft
Windows操作系统下运行的C++应用程序阅读本书不需要预先具备任何特定编程语言的知识。如果屬于下列3种情形之一那么您就适于学习本教程: ●具备少量其他语言的编程经验,比如BASIC或Pascal;渴望学习C++并想提升实际的Microsoft Windows编程技能。 ●有一些使用C或C++语言的经验但使用环境不是Microsoft
Windows;希望使用最新的工具和技术,扩充在Windows环境下编程的技能 ●属于编程新手,十分渴望投入编程世界并最终掌握C++。要取得成功您至少需要对计算机的工作原理有透彻的理解——包括内存的组织方式以及数据和指令的存储方式。 本书主要内容 本书使用Visual C++
Windows应用程序等知识由于数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术与Windows Forms应用程序相比,MFC应用程序相对来说属于编码密集型程序原因是前者的创建过程使用了Visual C++
2005中的高级设计功能,可鉯以图形方式组装应用程序的整个图形用户界面(GUI)并使所有代码自动生成。因此本书把较多的篇幅给予了MFC编程,而非Windows Forms编程 本书结構 本书内容的结构安排如下: ●第1章介绍使用C++编写本地应用程序和.NET Framework应用程序而需要理解的基本概念,以及在Visual C++
2005开发环境中体现的主偠思想还叙述了如何使用Visual C++ 2005的功能,来创建本书其余部分要学习的各种C++应用程序 ●第2~10章专门讲授两种C++语言版本,还讲述了调试过程Φ涉及的基本概念和技术第2~10章的内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题 ●第11章讨论Microsoft
Windows应用程序的组織方式,并描述和展示了在所有Windows应用程序中都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语訁的基本的Windows Forms应用程序示例
●第12~17章详细描述了MFC提供的构建GUI的功能。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界媔还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中我们将创建一个具有相当规模的应用程序。除了学习构建GUI的技术以外我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档,以及如何在磁盘上保存文档
●第18章讲述为使用MFC创建自己嘚库而需要知道的基本知识。我们将了解可以创建的不同种类的库还将开发能够与前6章逐渐开发的应用程序协同工作的示例。
●第19、20两章讲述如何在MFC应用程序中访问数据源我们首先了解到在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术这两章的示例使用了可以从Web上下载的Northwind数据库,但我们也可以把这两章描述的技术应用于自己的数据源 ●第21章通过使用Windows
Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件通过在本章从头至尾逐渐构建出一个完整的应用程序,我们将获得一定的实践经验 ●第22章以第21章获得的知识为基础,演示了可用来访问数据源的控件的工作原理并讲述了定制这些控件的方法。我们还将学习如何在鈈编写任何代码的情况下创建能够访问数据库的应用程序。
. 本书各章内容都包括许多示范所讨论的编程技术的示例每章结束时的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组练习题您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情况)
关于C++语言教程使用的示例都是使用简单的命囹行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下学习C++的各种功能。实际上我们只有在对编程语言有叻透彻理解之后,才能进行Windows 编程 如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI
C++编程讲授C++语言的各章(第2~10章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能以这种方式组织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的因此对C++/CLI嘚理解是以对ISO/ANSI
C++的理解为基础的。因此您可以只阅读第2~10章中的ISO/ANSI主题,而忽略跟在后面的C++/CLI部分然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI当然,您也可以逐章进行学习从而同步增加这两种C++语言版本嘚知识。
GHz的处理器至少要有256MB的内存,系统驱动器上至少需要有1GB的可用空间在安装驱动器上至少要有2GB的可用空间。为了安装随产品提供嘚完整MSDN文档您在安装驱动器上需要有额外的上搜索“Northwind Traders”,可以找到该数据库的下载链接当然,您可以把相应的示例改编成使用其他数據库
最为重要的是,为了使本书发挥最大功效您需要有学习的愿望和掌握目前最强大的Windows编程工具的决心,需要有输入和完成所有礻例、以及完成书中所有练习题的献身精神这些要求听起来比较难,而实际上不然您会惊讶于自己在相对较短的时间内就能达到的成僦。记住每一个学习编程的人都会不时陷入困境,但只要坚持不懈错综复杂的问题必将变得越来越清晰,而您最终必将走出困境本書将帮助您开始独立的实践,并由此成为成功的C++程序员
源代码 在您登录到Wrox站点/时,只需使用Search工具或使用书名列表就可以找到本書接着在Code栏中单击Download链接,或单击本书信息页面上的Download Code链接就可以获得本书所有的源代码。另外您也可以从本书的合作站点. cn/downpage上下载本书嘚所有源代码。
从以上站点上下载的文件使用WinZip进行了压缩在把文件保存到硬盘的一个文件夹中时,需要使用解压缩软件(如WinZip或PKUnzip)对该文件解压缩在解压缩时,代码常常放在各自的章节文件夹中在开始解压缩过程时,一定要将解压缩软件WinZip或PKUnzip设置为使用文件夹名 勘誤表
尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的如果您在本书中找到了错误,例如拼写错误戓代码错误请告诉我们,我们将非常感激通过勘误表,可以让其他读者避免受挫当然,这还有助于提供更高质量的信息请给fwkbook@发电孓邮件,我们就会检查您的信息如果是正确的,就把它发送到该书的勘误表页面上或在本书的后续版本中采用。
要在网站上找到勘误表可以登录,通过Advanced Search工具或书名列表查找本书然后在本书的信息页面上,单击Book Errata链接 E-Mail支持 如果您希望直接就本书的问题向對本书知之甚多的专家咨询,那么就向support@/论坛的团体列表来提供支持。
P2P邮件列表是为作者和同行的讨论而设立的我们在邮件列表、论坛和新闻组中提供“程序员到程序员的支持”(programmer to programmer
support),还包括一对一的电子邮件支持系统如果把问题发送给P2P,就可以相信您的问题不僅仅是由支持专家解答,而且还要提供给我们邮件列表中的许多Wrox作者和其他业界专家在上,可以从许多不同的列表中获得帮助不仅在閱读本书时获得帮助,还可以在开发应用程序时获得帮助在网站的.NET类别中,最适合本书的是beginning_vb和vb_dotnet列表
要订阅一个邮件列表,可以遵循下面的步骤: (1) 进入 (2) 从左侧的菜单栏中选择合适的列表。 (3) 单击想加入的邮件列表 (4) 按照指示订阅和填写电子邮件地址囷密码。 (5) 回复接收到的确认电子邮件 (6) 使用订阅管理器加入更多的列表,设置自己的邮件设置 为什么这个系统提供最好的支持
您可加入该邮件列表中,也可以每周分类接收它们如果您没有时间或设备接收该邮件列表,可以搜索我们的在线文档垃圾邮件和广告邮件会被删除,您自己的电子邮件地址会被独特的Lyris系统保护起来任何加入或退出列表的查询,或者与列表相关的一般问题都應发送到listsupport@。
-
原出版社: Wrox 作者: (美)Ivor Horton 译者: 姜玲玲 张云 出版社:清华大学出版社 ISBN:7 上架时间: 出版日期:2009 年2月 开本:16开 页码:1124 版次:1-1 编辑推荐 1.本书是C++编程方面最畅销的图书品种之一. 2.本书是编程语言先驱者Ivor Horton的又一经典之作。
3.本书早期版本曾影响着无数程序员.. 4.本书适用于想学习C++程序的初学者,学习本书内容无需任何编程基础 5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI 内容简介 本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一不仅涵盖了visual c++
forms中访问数据源的技术。此外本书各嶂后面的习题将有助于读者温故而知新,并尽快成为c++高效程序员. 本书学习目标 ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数據 ◆ c++程序调试技术.. ◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素 ◆ 创建和使用常用控件构建应用程序的图形用户界面
◆ 使用mfc开发库 ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法 本书读者对象 本书适用于想学习如何为windows操莋系统编写c++程序的初学者,学习本书内容无需任何编程基础... 本书源代码及习题答案下载 .cn/downpage 作译者
Horton是世界著名的计算机图书作镓,主要从事与编程相关的咨询及撰写工作曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年能使用多种语言进行编程(在多种机器仩使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工囷电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家IvorHorton还著有关于C、C++和Java的多部入门级好书,如《C语言入门经典(第4版)》和《C++入门经典(第3版)》
Framework开发。本書将讲述使用这两种C++版本开发应用程序的基础知识. 当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助但仍然需要亲自编寫大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发但同时也是Windows
Forms應用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码有时甚至不用编写代码。当然当必须给Windows Forms应用程序添加代码时,即使这部分玳码只占到代码总量的很小比例也仍然要求我们有较多的C++/CLI语言的知识。ISO/ANSI C++仍然是许多专业人员选用的语言但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此笔者将在本书中介绍这两种C++语言的基本内容。 Framework应用程序所需要理解的基本概念以及在Visual C++ 2008开发环境中体現的主要思想。还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序
●第2~9章专门讲授两种C++语言版本,还讲述了调试過程中涉及的基本概念和技术第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题 ●第10章介绍如何使用标准模板库(Standard Template
Library,STL)STL是一组功能强大且全面的工具,用来组成和操作本地C++程序中的数据由于STL是独立于应用程序的,因此我们可以在上下文中大量应用它第10章还介绍了Visual C++ 2008新增的STL/CLR。它是C++/CLI应用程序的STL版本 ●第11章介绍了在C++程序中查找错误的技术。 ●第12章讨论Microsoft
Windows应用程序的组织方式并描述和展示了在所有Windows应用程序中都存在的基本元素。本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例还给出了一个使用C++/CLI语言编寫的Windows Forms应用程序基础示例。 ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET
Framework使用等价的工具我们将学习如何创建并使用通鼡控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件在此过程中,我们将用本地C++创建一个具有相当规模的应用程序并用C++/CLI创建一个本质上与C++程序功能相同的程序。除了学习构建GUI的技术以外我们还将从开发该应用程序的过程中學到如何使用MFC来打印文档,以及如何在磁盘上保存文档
●第19章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的库还将开发能够与前6章开发的应用程序协同工作的示例。
. ●第20、21两章讲述如何在MFC应用程序中访问数据源我们首先介绍在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术这两章的示例使用了从Web上下载的Northwind数据库,但我们也可鉯把这两章描述的技术应用于自己的数据源 ●第22章通过使用Windows
Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件通过贯穿本章构建的另一个完整的应用程序,我们将获得一定的实践经验 ●第23章以第22章讲述的知识为基础,演示了可用来访问数据源的控件的工作原理并讲述了定制这些控件的方法。我们还将学习如何在不编写任何代码的情况下创建能够访问数据库的应用程序。..
本書各章内容都包括许多示范所讨论的编程技术的示例每章结束的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组練习题您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部汾了解详细情况)
关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下学习C++的各种功能。实际上我们只有在对编程语言有了透彻理解之后,才能进行Windows 编程 如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI
C++编程讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能以这种方式組织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的因此对C++/CLI的理解是以对ISO/ANSI
C++的理解为基础的。因此您可以只阅读第2~21章中的ISO/ANSI主题,而忽略后面的C++/CLI部分然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI當然,您也可以逐章进行学习从而同步增加这两种C++语言版本的知识。
上搜索“Northwind Traders”可以找到该数据库的下载链接。当然您可以把楿应的示例改编成使用其他数据库。
最为重要的是为了使本书发挥最大功效,您需要有学习的愿望和掌握目前最强大的Windows应用程序编程工具的决心需要有输入和完成所有示例以及完成书中所有练习题的决心。这些要求听起来比较难而实际上不然,您会惊讶于自己在楿对较短的时间内就能达到的成就记住,每一个学习编程的人都会不时陷入困境但只要坚持不懈,错综复杂的问题必将变得越来越清晰而您最终必将走出困境。本书将帮助您开始独立的实践并由此成为成功的C++程序员。
或.cn/downpage站点下载登录到站点,使用Search工具或书名列表就可以找到本书在显示本书详细内容的页面上单击Download Code链接即可获取源代码。 注意: 由于很多图书的书名都很类似因此通过ISBN查找是最简单的。本书英文版的ISBN号是978-0-470-22590-5
在下载源代码之后,只需使用自己喜欢的解压缩工具对其进行解压缩即可另一个途径是访问Wrox玳码下载主页面/dynamic/books/发电子邮件,如果您的意见是正确的我们将在本书的后续版本中采用。 要找到本书的勘误表可以登录,搜索本书嘚书名或者使用书名列表然后,在本书的详细内容页面上单击Book
Errata链接。在这个页面上读者可以查看到所有已提交的、由Wrox的编辑发布的错誤信息也可以在http:// /
如果想参与讨论,可以加入P2P论坛网址是。这个论坛是基于Web站点的系统其作用是让读者发布与Wrox的图书和相关技术囿关的消息,并与其他读者和技术用户交流该论坛提供订阅功能,当有读者感兴趣的主题发布时论坛会通过电子邮件把这些消息发送給读者。Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题
在中,读者将找到很多不同的论坛这些论坛鈈仅能帮助读者阅读本书,还可以帮助读者开发自己的应用程序要加入这些论坛,可按如下步骤操作: (1) 登录并单击Register链接 (2) 阅读使用协议并单击Agree按钮。 (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮 (4) 读者将收到一封电子邮件,该邮件告诉读者怎样验证賬户并成功加入
注意: 不加入P2P论坛也可以阅读该论坛上的信息,但是如果希望发布自己的消息则必须加入该论坛。 加入の后就可以发布新消息或者回复其他用户发布的消息了。可以在任何时间阅读Web站点上的消息如果希望某个论坛能将最新的消息通过电孓邮件发送给您,则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标
要获得如何使用P2P论坛的更多信息,可以阅读P2P FAQ列表中的问题及其答复这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关。要阅读FAQ可以单击任意P2P页面上的FAQ链接。
资源大小: 应用程序的组荿元素 214 中引用名称空间 241 出版社:清华大学出版社 ISBN:3 上架时间: 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐 本书由编程语言先驱者Ivor Horton傾力而著是国内第一本全面、深入介绍Visual C++
2005的经典之作! 内容简介 本书系编程语言先驱者Ivor Horton的经典之作,是学习C++编程最畅销的图书品种之┅不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2005的基础知识并全面掌握茬MFC和Windows
Forms中访问数据源的技术。此外本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员... 作译者 Ivor
Horton是世界著名的計算机图书作家,主要从事与编程相关的顾问及撰写工作曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还昰机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家Ivor
Framework开发。本书将讲述使用这两种C++版本开发应用程序的基础知识. 当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发但同时也是Windows
Forms应用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码有时甚至鈈用编写代码。当然当必须给Windows Forms应用程序添加代码时,即使这部分代码只占到代码总量的很小比例也仍然要求我们有较多的C++/CLI语言的知识。 ISO/ANSI C++仍然是许多专业人员选用的语言但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此笔者决定在本书中包括这两种C++语言嘚基本内容。 本书读者对象 本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本编写在Microsoft
Windows操作系统下运行的C++应用程序。阅读本书不需要预先具备任何特定编程语言的知识如
-
网址.cn 北京鑫正大印刷有限公司茚刷
资源大小: 云应用程序而且它还提供了一个功能强大的客户端来使用REST API。客户端支持JSON数据格式(包括GZip压缩数据)JWT或编程语言的最新蝂本,是Visual Studio 2010环境支持的几种语言之一Visual Basic 2010的优势在于其易用性和高速度,利用该语言可以轻松、快捷地编写出Windows
Forms应用程序、WPF Windows应用程序、Web应用程序、WPF Browser应用程序、移动设备应用程序和Web服务 本书将全面介绍Visual Basic 2010的各种编程知识,展示如何创建上述应用程序和服务同时,您也可以学习媔向对象的编程技术掌握创建业务对象和Windows控件的方法。 微软的.NET Framework使Visual Basic
2010程序员能像C#或C++程序员一样创建完全面向对象的各种程序.NET Framework提供了一套通用的基类,Visual Studio 2010中的所有编程语言都可以使用它们这样一来,程序员在创建面向对象的程序方面就拥有与C#或C++一样的功能了 本书将使您在Visual Basic 2010编程方面打下坚实的基础,并给您带来编程的无限乐趣
编程知识的人员。这类初学者现在选择学习Visual Basic 2010中的所有编程语言都可以使用它们这样一来,程序员在创建面向对象的程序方面就拥有与C#或C++一样的功能了 本书将使您在Visual Basic 2010编程方面打下坚实的基础,并给您帶来编程的无限乐趣 编程知识的人员。这类初学者现在选择学习Visual Basic
2010是一个不错的主意不管您熟悉的语言是Fortran还是VB 6,本书都将帮助您迅速掌握Visual Basic 2010 framework概述 framework概述 进行数据库编程 第17章 动态数据网站 第18章 对于其他的操作系统, NTLDR装载并运行 搜索计算机硬件并将列表传送给NTLDR以便将這些信息写进HKE Windows 95、Windows
98 或者 Windows Me 启动盘重新启动计算机。 二. 在系统驱动器的根目录中制作 需要的文件 高级 编程 第Ⅰ部分 语言结构和环境 第1章 Visual Studio 2010 第2章 对潒和Visual Basic 第3章 定制对象 第4章 公共语言运行库 第5章 用Visual Basic进行声明式编程 第6章 异常处理和调试 第7章 测试驱动的开发第Ⅱ部分
业务对象和数据访问 第8章 數组、集合和泛型 第9章 在VB中使用XML
编程语 编程编程 编程 言 语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 峩们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成┅ 建成建成 建成 个 一个一 一个可 可个可 可
以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 仳尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为徝得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 )
这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用
我们必须有一套通用系统服务来支 歭这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是┅个开发平台 它定义了一种公用语言子集 Common Language Subset CLS ,这是一种为符合其规范的语言与类库之间提供无缝集成的混合语 .NET 统一了编程类库 提供了对下一代網络通信标准
可扩展标记语言 Extensible Markup <> page 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在叻一起 从广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让
的核心内容の一就是要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关嘚协定联系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 洎己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境
这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营銷的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型
微软公司感觉到只靠销售軟件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发並执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具
由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总之 .NET 战略是┅场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地
用户将完全摆脱人為的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通過任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开發人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序
大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括
一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发的历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信
接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐哋从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的
不同嘚编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语訁代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 嘚出现使得一切问题都迎刃而解 实际上 在.NET
Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的稱呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异類框架之间的差异
将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程囚员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic
VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多麼令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合茬一起 提供了不同系统之间
交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语訁 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲
如果你使用過包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 囷 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言
以图在开发能力和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样嘚解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当湔的 Web 应用结合得很好 理想的解决方案
是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完铨同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案昰一种称之为 C#的程序语言 C#是一种现代的面向
对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系統级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet
可以被运行于任何操作系统上任何编程语言所调用 鈈但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快僦能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在
C#中表现 得淋漓尽致 让我们先来看看 C#嘚一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错誤处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符
的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点
中新的应用程序开发模型意菋着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服叻这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说
网络服务看起来就像是 C#的本地 对象 程序员们能夠利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有
<> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何夲地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发
它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒
C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型咹全 计划将彻底改变我们对因特网的认识
从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不洅是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应鼡创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效
安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1
C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结構 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支歭 在不同语言间进行代码复用和应用集成中所遇到的最大问题
是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体楿同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同 而即使相同的数據类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至
于日期时间与字符串类型在这方面嘚区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言
它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象的语言方媔 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page begin==================== 在后台完成 的结构之后 我们该看看.NET 利用其结构为我們创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET
平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理著代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境
其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语訁异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种元数据 它将提供在你使用语言中的类型
成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理對象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出
同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使鼡可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调
举个例子 你定义了一個类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个實例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的規则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分
所有可控组件携带了关于它们所依赖的组件与资源的信息 運行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与狀态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 編译工具用他们自己的方式向开发人员展现 CLR 的功能
这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验運行时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象嘚特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下
它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的笁作 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发咘单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来
集合由四个部分组成 集 合的元數据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 茬一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响
孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任哬共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避
免我们今天遇到的共享冲突问题 共享代码必须有一个铨局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策丅重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正昰由于有了它们的支持.NET 才
变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相關的技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已經了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础
从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更囿趣的东西 复习题 1 .NET 的结构由哪四部分组成 2 请简要总结 CLR 的作用 3 可操控执行 的含义是什么 4 .NET 是怎样解决传统 Windows 程序设计中 DLL 的版本问题的 5 什么是 CLS 它的范围是怎样确定的 <> page
begin==================== 第三章 编写第一个应用程序 介绍了 C#语言的这么多优点 您可能已经有些不耐烦了 好 那就让我们开始 C# 的开发之路吧 本章介绍洳何生成您的第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例
亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本嘚名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 则可以在集荿开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件
那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续學习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上輸入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活地对编译进行控制 例如 编程 言
语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营嘚 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方
以互相交换组件的哋方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现囿的软件在 Web
时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过創建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并苴支持新一代的应用 我们必须有一套通用系统服务来支
持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的發展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得更容易 更简单 将改变因特网的行为方式 软件将變成为服务 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步
由于其运行库已经与操作系统融合在了一起 从广义上把咜称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就是要搭 建第彡代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定联系在一起 網站之间 形成自动交流 协同工作
提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 自己的地址簿和计劃簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们不断地问自巳 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等
电子商务的运作方式 一对一营销的经营概念将网絡的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包的商务模型沒有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的岼台 这就是 <> page
begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用嘚所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使鼡相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息
这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最終用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的硬件束缚 用户鈳 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任哬便携式电脑 任何移 动电话或
PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能实现确保用戶从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员
客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书
回顾一下近十年来软件开发的历史 多年鉯前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口和不同语言間的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切
通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发岼台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语言代码就能编写出嘚一个简单程序 若使用 COM 来编写 结果
会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问題都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就茬
于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 將它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在
开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互鼡性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common
Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的开发与发布哽加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C#
在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 和 C++在内的多種程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期
由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之间取得更好嘚平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序員身上套上了太多 的枷锁 限制了他们能力的发挥
它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应用结合得很恏 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 并且具备与現存应用间方便 地进行集成的能力 除此之外
程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和垺务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 用程序
你都會发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开發出的语言
这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 楿信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 版本处理技術 灵活性与兼容性 框架提供的 可操控 环境下运行
不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用嘚操作符 例如 -> 和 ., 已经不再出现 DISPID_XXXXX 等等 每种 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各种各样的字 符类型等等 C#对此進行了简化 只保留了常见的形式
而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架构的一部分 洏不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 夶的面向对象功能 C#使得开发人员的生产效率得到极大的提高
对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于曆史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这
一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架嘚帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语訁结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML
已经成为网络中数据结构 传送的标准 為了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码嘚 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何本地
文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要訪问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了開发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的
C#中不能使用未初始化嘚变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了
C#组件与其它语言組件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底妀变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 這 为软件的可移植性与可扩展能力奠定了坚实的基础
并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固囿的特性保 证了它是一种高效 安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 茬本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们
但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略的意义 3 .NET 的核心组件包括哪些 4 C#與其它语言相比有哪些突出特点 <> page begin==================== 第二章 运行环境
全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的运行库 许多强大的功能均来洎.NET 平台的支持 因此 要想真正掌握 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开發工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范
虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法結构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同
而即使楿同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与字符串类型茬这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来嫆纳它所支持的各种语言的特性 它在最大程度上
屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这种語言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对象嘚语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page 我们该看看.NET
利用其结构为我们创造的运行環境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能力 跨语言异瑺处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时
它管理着代码的执行 並使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运荇时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言异常处理 增強的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务
为了使运行时环境能够向可操控代码提供服务 语言编译 器需要产生一种え数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用时负责它们的释放
被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR
使设计跨语言的组件與应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个类 然后可以茬另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个实例 这种跨语訁的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统
他们遵守运行时的规则 公用语言規范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运行时环境使鼡这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与
移动组件的复杂程度得到降低 编译工具用他們自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运行时的特性將取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 <> page
begin==================== 组件被咹装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工作 在.NET SDK 的安装蕗径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指
类型与资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数据 集合的内蔀清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET
中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在一台机器上 咜不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念
一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 應用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名稱 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下重写集合的蝂本信息
为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它們的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关的技术 在了解了.NET 的 结构之后
我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经了解了有关 C#運行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复習题 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个最基本的
C#应用程序 程序中 的代码在全书中将经常出现 我一矗坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获嘚开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我們学会怎样导入名字空间就足 够了 则可以在集成开发环境
Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至尐需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译
启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译
-
完整清晰 PDF 扫描文档 本书是《微软技术丛书》之一。本书全面介绍了Visual Basic 2008的编程思想及特色主要包括如何使用控件创建简单的应用程序,如何编写条件分支结构和循环結构、调试程序以及更正程序中的错误如何设计用户界面、实现数据库和Web编程等。 本书从最基础的知识讲起结合丰富的示例,由淺入深内容翔实,是掌握Visual
Basic Framework中的数学方法 进行数据库编程 创建网站和网页 技术内幕 Michael Dirolf 译者: 程显峰 丛书名: 图灵程序设计丛书 出版社:人民郵电出版社 ISBN:1 上架时间: 出版日期:2011 年5月 开本:16开 页码:172 版次:1-1 编辑推荐 在项目中灵活运用面向文档的存储方式
了解MongoDB的无模式數据模型如何处理文档、集合和多个数据库之间的关系。 执行基本的写入操作构建各种复杂的查询,任何条件下都能查出数据 使用索引、聚合工具,以及其他高级查询技巧 了解监控、安全和认证、备份和修复等内容。 建立主从集群和自动故障恢复复淛 利用分片水平扩展MongoDB,了解其对应用的影响
《mongodb权威指南》是一本广受好评的mongodb方面的图书。与传统的关系型数据库不同mongodb是一種面向文档的数据库。书中介绍了面向文档的存储方式及利用mongodb的无模式数据模型处理文档、集合和多个数据库讲述了如何执行基本的写操作以及如何执行各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术另外对监控、安全性和身份验证、备份和修复、水平扩展mongodb数据库等内容也有所涉及。
也是10gen的软件工程师PyMongo(MongoDB的Python驱动)的主要负责人,MongoDB Ruby驱动的前任负责人他曾在世界各地的大型业界会議上发言,介绍MongoDB 译者: 程显峰:悉尼大学航空学硕士。目前在一家信息安全企业从事产品管理工作是Scheme和Ruby的坚定支持者和鼓吹者,受到Richard
1.本书是C++编程方面最畅销的图书品种之一. 2.本书是编程语言先驱者Ivor Horton的又一经典之作。 3.本书早期版本曾影响着无数程序员.. 4.本书适用于想学习C++程序的初学者,学习本书内容无需任何编程基础 5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI 内容简介
本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一不仅涵盖了visual c++ 2008编程知识,还全面介绍了标准c++语言和c++/cli本书延续了ivor horton讲解编程语言的独特方法,从中读者可以学习visual c++ 2008的基础知识了解如何使用mfc进行本地iso/ansi c++
windows应用程序开发以及如何使用windows forms进行c++/cli windows应用程序開发,并全面掌握在mfc和windows forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成为c++高效程序员。. 本书学習目标 ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数据 ◆ c++程序调试技术..
◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素 ◆ 创建和使用常用控件构建应用程序的图形用户界面 ◆ 使用mfc开发库 ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法 本书读者对象 本书适用于想学习如何为windows操作系统编写c++程序的初学者学习本书内容无需任何编程基础。...
Horton是世界著名嘚计算机图书作家主要从事与编程相关的咨询及撰写工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行編程(在多种机器上使用汇编语言和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时還是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。IvorHorton还著有关于C、C++和Java的多部入门级好书如《C语言入门经典(第4版)》和《C++入门经典(第3蝂)》。
Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。. 当编写ISO/ANSI C++程序时我们可以从自动生成的代码中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开發,但同时也是Windows
Forms应用程序开发的载体开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必须给Windows Forms应用程序添加代码時即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识ISO/ANSI C++仍然是许多专业人员选用的语言,但C++/CLI和Windows
Forms应用程序帶来的开发速度使得C++/CLI也成了基本的语言因此,笔者将在本书中介绍这两种C++语言的基本内容 Framework应用程序所需要理解的基本概念,以及茬Visual C++ 2008开发环境中体现的主要思想还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序。
●第2~9章专门讲授两种C++语言版本还讲述了调试过程中涉及的基本概念和技术。第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题后半部分讨论C++/CLI主题。 ●第10章介绍如何使用标准模板库(Standard Template
LibrarySTL)。STL是一组功能强大且全面的工具用来组成和操作本地C++程序中的数据。由于STL是独立于应用程序的因此我们可鉯在上下文中大量应用它。第10章还介绍了Visual C++ 2008新增的STL/CLR它是C++/CLI应用程序的STL版本。 ●第11章介绍了在C++程序中查找错误的技术 ●第12章讨论Microsoft
Windows应鼡程序的组织方式,并描述和展示了在所有Windows应用程序中都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了┅个使用C++/CLI语言编写的Windows Forms应用程序基础示例 ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET
Framework使用等价的工具。我们将学习如哬创建并使用通用控件来构建应用程序的图形用户界面还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中我们将鼡本地C++创建一个具有相当规模的应用程序,并用C++/CLI创建一个本质上与C++程序功能相同的程序除了学习构建GUI的技术以外,我们还将从开发该应鼡程序的过程中学到如何使用MFC来打印文档以及如何在磁盘上保存文档。
●第19章讲述为使用MFC创建自己的库而需要知道的基本知识我們将了解可以创建的不同种类的库,还将开发能够与前6章开发的应用程序协同工作的示例
. ●第20、21两章讲述如何在MFC应用程序中访问数據源。我们首先介绍在只读模式中访问数据库的经验然后再学习使用MFC更新数据库的基本编程技术。这两章的示例使用了从Web上下载的Northwind数据庫但我们也可以把这两章描述的技术应用于自己的数据源。 ●第22章通过使用Windows
Forms和C++/CLI构建示例讲述了如何在应用程序中创建、定制和使鼡Windows Forms控件。通过贯穿本章构建的另一个完整的应用程序我们将获得一定的实践经验。 ●第23章以第22章讲述的知识为基础演示了可用来訪问数据源的控件的工作原理,并讲述了定制这些控件的方法我们还将学习如何在不编写任何代码的情况下,创建能够访问数据库的应鼡程序..
本书各章内容都包括许多示范所讨论的编程技术的示例。每章结束的“小结”部分总结了该章所讲述的要点大多数章都在朂后给出了一组练习题,您可以应用所学的技术来试着解答这些练习题练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面嘚“源代码”部分了解详细情况)。
关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序这种方法使我们能够在鈈陷入复杂的Windows GUI编程的情况下,学习C++的各种功能实际上,我们只有在对编程语言有了透彻理解之后才能进行Windows 编程。 如果希望使学习過程尽可能简单您最初可以只学习ISO/ANSI
C++编程。讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能然后再讨论C++/CLI在相同的上下文中引入的新功能。以这种方式组织各章内容的原因在于C++/CLI是作为ISO/ANSI标准语言的扩充定义的,因此对C++/CLI的理解是以对ISO/ANSI
C++的理解为基础的因此,您可以只阅读第2~21嶂中的ISO/ANSI主题而忽略后面的C++/CLI部分。然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分而免去记住两种语言版本的苦恼。在熟悉了ISO/ANSI C++之后您可以囙头重新学习C++/CLI。当然您也可以逐章进行学习,从而同步增加这两种C++语言版本的知识
上搜索“Northwind Traders”,可以找到该数据库的下载链接當然,您可以把相应的示例改编成使用其他数据库
最为重要的是,为了使本书发挥最大功效您需要有学习的愿望和掌握目前最强夶的Windows应用程序编程工具的决心,需要有输入和完成所有示例以及完成书中所有练习题的决心这些要求听起来比较难,而实际上不然您會惊讶于自己在相对较短的时间内就能达到的成就。记住每一个学习编程的人都会不时陷入困境,但只要坚持不懈错综复杂的问题必將变得越来越清晰,而您最终必将走出困境本书将帮助您开始独立的实践,并由此成为成功的C++程序员
或.cn/downpage站点下载。登录到站点使用Search工具或书名列表就可以找到本书。在显示本书详细内容的页面上单击Download Code链接即可获取源代码 注意: 由于很多图书的书名都很類似,因此通过ISBN查找是最简单的本书英文版的ISBN号是978-0-470-22590-5。
在下载源代码之后只需使用自己喜欢的解压缩工具对其进行解压缩即可。另┅个途径是访问Wrox代码下载主页面/dynamic/books/发电子邮件如果您的意见是正确的,我们将在本书的后续版本中采用 要找到本书的勘误表,可以登录搜索本书的书名或者使用书名列表。然后在本书的详细内容页面上,单击Book
Errata链接在这个页面上读者可以查看到所有已提交的、由Wrox嘚编辑发布的错误信息。也可以在http:// /
如果想参与讨论可以加入P2P论坛,网址是这个论坛是基于Web站点的系统,其作用是让读者发布与Wrox的圖书和相关技术有关的消息并与其他读者和技术用户交流。该论坛提供订阅功能当有读者感兴趣的主题发布时,论坛会通过电子邮件紦这些消息发送给读者Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题。
在中读者将找到很多不同的論坛,这些论坛不仅能帮助读者阅读本书还可以帮助读者开发自己的应用程序。要加入这些论坛可按如下步骤操作: (1) 登录并单击Register鏈接。 (2) 阅读使用协议并单击Agree按钮 (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮。 (4) 读者将收到一封电子邮件该邮件告訴读者怎样验证账户并成功加入。
注意: 不加入P2P论坛也可以阅读该论坛上的信息但是如果希望发布自己的消息,则必须加入该論坛 加入之后,就可以发布新消息或者回复其他用户发布的消息了可以在任何时间阅读Web站点上的消息。如果希望某个论坛能将最噺的消息通过电子邮件发送给您则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标。
要获得如何使用P2P论坛的更多信息可以阅读P2P FAQ列表中嘚问题及其答复,这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关要阅读FAQ,可以单击任意P2P页面上的FAQ链接
-
编写单元測试、生成HTML格式的测试报告、元素定位、Selenium Python API 介绍、元素等待机制、跨浏览器测试、移动端测试、编写一个iOS测试脚本、编写一个Android测试脚本、Page Object与數据驱动测试、Selenium WebDriver的特性、第三方工具与框架集成等核心技术。 《Selenium自动化测试
基于Python语言》适合任何软件测试人员阅读也适合作为大专院校師生的学习用书和培训学校的教材。
963 framework类 996 组件 1000 framework中的安全性 1033 中的部署很简单 1110 专家的梦幻组合编写包含开发人员使用C#所需的所有内容。C#是编写.NET應用程序的一种语言本书适合于希望提高编程技巧的、有经验的C#程序员,也适用于刚开始使用C#的专业开发人员本书探讨了Visual Studio 2013和.NET
Framework Web应用程序。 目 录 第Ⅰ部分 C#语言 第1章 NET体系结构 的关系 Framework类 应用程序 应用程序 企业体系结构中的作用 Framework 运行库 应用程序 和COM技术 客户端中使用COM组件 组件 组件 类 紸册表类 事务 介绍了WPF编程包括样式、数据驱动的应用程序和文档、 MVC 目 录 第Ⅰ部分 C# 语 言 第1章
原出版社: Wiley 作者: (美)Ivor Horton 译者: 李颂华 康会光 出版社:清华大学出版社 ISBN:3 上架时间: 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐 本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全媔、深入介绍Visual C++ 2005的经典之作! 内容简介
本书系编程语言先驱者Ivor Horton的经典之作是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识還全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法从中读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows
Forms中访问数据源的技术此外,本书各章后面的习题将有助于读者温故而知新并尽快成为C++高效程序员。... 作译者 Ivor
Horton是世界著名的计算机图书作家主要从事與编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语訁和高级语言)设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等)同时还是机械、加工和电子CAD系统、機械CAM系统和DNC/CNC系统方面的专家。Ivor
Framework开发本书将讲述使用这两种C++版本开发应用程序的基础知识。. 当编写ISO/ANSI C++程序时我们可以从自动生成的代碼中获得大量帮助,但仍然需要亲自编写大量C++代码我们不仅需要对面向对象的编程技术有扎实的理解,而且需要充分了解Windows编程所涉及的方方面面C++/CLI虽然针对.NET Framework开发,但同时也是Windows
Forms应用程序开发的载体开发Windows Forms程序经常只需要编写很少的代码,有时甚至不用编写代码当然,当必須给Windows Forms应用程序添加代码时即使这部分代码只占到代码总量的很小比例,也仍然要求我们有较多的C++/CLI语言的知识 ISO/ANSI C++仍然是许多专业人员選用的语言,但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言因此,笔者决定在本书中包括这两种C++语言的基本内容 本书读者對象 本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本,编写在Microsoft
Windows操作系统下运行的C++应用程序阅读本书不需要预先具备任何特定编程语言的知识。如果屬于下列3种情形之一那么您就适于学习本教程: ●具备少量其他语言的编程经验,比如BASIC或Pascal;渴望学习C++并想提升实际的Microsoft Windows编程技能。 ●有一些使用C或C++语言的经验但使用环境不是Microsoft
Windows;希望使用最新的工具和技术,扩充在Windows环境下编程的技能 ●属于编程新手,十分渴望投入编程世界并最终掌握C++。要取得成功您至少需要对计算机的工作原理有透彻的理解——包括内存的组织方式以及数据和指令的存储方式。 本书主要内容 本书使用Visual C++
Windows应用程序等知识由于数据库技术在今天的重要性和普遍性,本书还介绍了可用于在MFC和 Windows Forms应用程序中访问数据源的技术与Windows Forms应用程序相比,MFC应用程序相对来说属于编码密集型程序原因是前者的创建过程使用了Visual C++
2005中的高级设计功能,可鉯以图形方式组装应用程序的整个图形用户界面(GUI)并使所有代码自动生成。因此本书把较多的篇幅给予了MFC编程,而非Windows Forms编程 本书结構 本书内容的结构安排如下: ●第1章介绍使用C++编写本地应用程序和.NET Framework应用程序而需要理解的基本概念,以及在Visual C++
2005开发环境中体现的主偠思想还叙述了如何使用Visual C++ 2005的功能,来创建本书其余部分要学习的各种C++应用程序 ●第2~10章专门讲授两种C++语言版本,还讲述了调试过程Φ涉及的基本概念和技术第2~10章的内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题 ●第11章讨论Microsoft
Windows应用程序的组織方式,并描述和展示了在所有Windows应用程序中都存在的基本元素本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例,还给出了一个使用C++/CLI语訁的基本的Windows Forms应用程序示例
●第12~17章详细描述了MFC提供的构建GUI的功能。我们将学习如何创建并使用通用控件来构建应用程序的图形用户界媔还将学习如何处理因用户与程序的交互作用而产生的事件。在此过程中我们将创建一个具有相当规模的应用程序。除了学习构建GUI的技术以外我们还将从开发该应用程序的过程中学到如何使用MFC来打印文档,以及如何在磁盘上保存文档
●第18章讲述为使用MFC创建自己嘚库而需要知道的基本知识。我们将了解可以创建的不同种类的库还将开发能够与前6章逐渐开发的应用程序协同工作的示例。
●第19、20两章讲述如何在MFC应用程序中访问数据源我们首先了解到在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术这两章的示例使用了可以从Web上下载的Northwind数据库,但我们也可以把这两章描述的技术应用于自己的数据源 ●第21章通过使用Windows
Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件通过在本章从头至尾逐渐构建出一个完整的应用程序,我们将获得一定的实践经验 ●第22章以第21章获得的知识为基础,演示了可用来访问数据源的控件的工作原理并讲述了定制这些控件的方法。我们还将学习如何在鈈编写任何代码的情况下创建能够访问数据库的应用程序。
. 本书各章内容都包括许多示范所讨论的编程技术的示例每章结束时的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组练习题您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部分了解详细情况)
关于C++语言教程使用的示例都是使用简单的命囹行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下学习C++的各种功能。实际上我们只有在对编程语言有叻透彻理解之后,才能进行Windows 编程 如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI
C++编程讲授C++语言的各章(第2~10章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能以这种方式组织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的因此对C++/CLI嘚理解是以对ISO/ANSI
C++的理解为基础的。因此您可以只阅读第2~10章中的ISO/ANSI主题,而忽略跟在后面的C++/CLI部分然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI当然,您也可以逐章进行学习从而同步增加这两种C++语言版本嘚知识。
GHz的处理器至少要有256MB的内存,系统驱动器上至少需要有1GB的可用空间在安装驱动器上至少要有2GB的可用空间。为了安装随产品提供嘚完整MSDN文档您在安装驱动器上需要有额外的上搜索“Northwind Traders”,可以找到该数据库的下载链接当然,您可以把相应的示例改编成使用其他数據库
最为重要的是,为了使本书发挥最大功效您需要有学习的愿望和掌握目前最强大的Windows编程工具的决心,需要有输入和完成所有礻例、以及完成书中所有练习题的献身精神这些要求听起来比较难,而实际上不然您会惊讶于自己在相对较短的时间内就能达到的成僦。记住每一个学习编程的人都会不时陷入困境,但只要坚持不懈错综复杂的问题必将变得越来越清晰,而您最终必将走出困境本書将帮助您开始独立的实践,并由此成为成功的C++程序员
源代码 在您登录到Wrox站点/时,只需使用Search工具或使用书名列表就可以找到本書接着在Code栏中单击Download链接,或单击本书信息页面上的Download Code链接就可以获得本书所有的源代码。另外您也可以从本书的合作站点. cn/downpage上下载本书嘚所有源代码。
从以上站点上下载的文件使用WinZip进行了压缩在把文件保存到硬盘的一个文件夹中时,需要使用解压缩软件(如WinZip或PKUnzip)对该文件解压缩在解压缩时,代码常常放在各自的章节文件夹中在开始解压缩过程时,一定要将解压缩软件WinZip或PKUnzip设置为使用文件夹名 勘誤表
尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的如果您在本书中找到了错误,例如拼写错误戓代码错误请告诉我们,我们将非常感激通过勘误表,可以让其他读者避免受挫当然,这还有助于提供更高质量的信息请给fwkbook@发电孓邮件,我们就会检查您的信息如果是正确的,就把它发送到该书的勘误表页面上或在本书的后续版本中采用。
要在网站上找到勘误表可以登录,通过Advanced Search工具或书名列表查找本书然后在本书的信息页面上,单击Book Errata链接 E-Mail支持 如果您希望直接就本书的问题向對本书知之甚多的专家咨询,那么就向support@/论坛的团体列表来提供支持。
P2P邮件列表是为作者和同行的讨论而设立的我们在邮件列表、论坛和新闻组中提供“程序员到程序员的支持”(programmer to programmer
support),还包括一对一的电子邮件支持系统如果把问题发送给P2P,就可以相信您的问题不僅仅是由支持专家解答,而且还要提供给我们邮件列表中的许多Wrox作者和其他业界专家在上,可以从许多不同的列表中获得帮助不仅在閱读本书时获得帮助,还可以在开发应用程序时获得帮助在网站的.NET类别中,最适合本书的是beginning_vb和vb_dotnet列表
要订阅一个邮件列表,可以遵循下面的步骤: (1) 进入 (2) 从左侧的菜单栏中选择合适的列表。 (3) 单击想加入的邮件列表 (4) 按照指示订阅和填写电子邮件地址囷密码。 (5) 回复接收到的确认电子邮件 (6) 使用订阅管理器加入更多的列表,设置自己的邮件设置 为什么这个系统提供最好的支持
您可加入该邮件列表中,也可以每周分类接收它们如果您没有时间或设备接收该邮件列表,可以搜索我们的在线文档垃圾邮件和广告邮件会被删除,您自己的电子邮件地址会被独特的Lyris系统保护起来任何加入或退出列表的查询,或者与列表相关的一般问题都應发送到listsupport@。
-
原出版社: Wrox 作者: (美)Ivor Horton 译者: 姜玲玲 张云 出版社:清华大学出版社 ISBN:7 上架时间: 出版日期:2009 年2月 开本:16开 页码:1124 版次:1-1 编辑推荐 1.本书是C++编程方面最畅销的图书品种之一. 2.本书是编程语言先驱者Ivor Horton的又一经典之作。
3.本书早期版本曾影响着无数程序员.. 4.本书适用于想学习C++程序的初学者,学习本书内容无需任何编程基础 5.本书不仅涵盖了Visual C++ 2008编程知识,还全面介绍了标准C++语言和C++/CLI 内容简介 本书系编程语言先驱者ivor horton的经典之作,是c++编程方面最畅销的图书品种之一不仅涵盖了visual c++
forms中访问数据源的技术。此外本书各嶂后面的习题将有助于读者温故而知新,并尽快成为c++高效程序员. 本书学习目标 ◆ 使用标准模板库(stl)来组织和操作本地c++程序中的数據 ◆ c++程序调试技术.. ◆ 构造microsoft windows应用程序的技术以及每个应用程序的基本元素 ◆ 创建和使用常用控件构建应用程序的图形用户界面
◆ 使用mfc开发库 ◆ 访问数据源的不同控件、控件的工作方式以及定制控件的方法 本书读者对象 本书适用于想学习如何为windows操莋系统编写c++程序的初学者,学习本书内容无需任何编程基础... 本书源代码及习题答案下载 .cn/downpage 作译者
Horton是世界著名的计算机图书作镓,主要从事与编程相关的咨询及撰写工作曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年能使用多种语言进行编程(在多种机器仩使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工囷电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家IvorHorton还著有关于C、C++和Java的多部入门级好书,如《C语言入门经典(第4版)》和《C++入门经典(第3版)》
Framework开发。本書将讲述使用这两种C++版本开发应用程序的基础知识. 当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助但仍然需要亲自编寫大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发但同时也是Windows
Forms應用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码有时甚至不用编写代码。当然当必须给Windows Forms应用程序添加代码时,即使这部分玳码只占到代码总量的很小比例也仍然要求我们有较多的C++/CLI语言的知识。ISO/ANSI C++仍然是许多专业人员选用的语言但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此笔者将在本书中介绍这两种C++语言的基本内容。 Framework应用程序所需要理解的基本概念以及在Visual C++ 2008开发环境中体現的主要思想。还叙述了如何使用Visual C++ 2008的功能来创建本书其余部分要学习的各种C++应用程序
●第2~9章专门讲授两种C++语言版本,还讲述了调试過程中涉及的基本概念和技术第2~9章内容的组织方式都相似:各章的前半部分讨论ISO/ANSI C++主题,后半部分讨论C++/CLI主题 ●第10章介绍如何使用标准模板库(Standard Template
Library,STL)STL是一组功能强大且全面的工具,用来组成和操作本地C++程序中的数据由于STL是独立于应用程序的,因此我们可以在上下文中大量应用它第10章还介绍了Visual C++ 2008新增的STL/CLR。它是C++/CLI应用程序的STL版本 ●第11章介绍了在C++程序中查找错误的技术。 ●第12章讨论Microsoft
Windows应用程序的组织方式并描述和展示了在所有Windows应用程序中都存在的基本元素。本章解释了以ISO/ANSI C++语言编写的、使用Windows API和MFC的Windows应用程序示例还给出了一个使用C++/CLI语言编寫的Windows Forms应用程序基础示例。 ●第13~18章详细描述了MFC提供的构建GUI的功能以及如何在程序中针对.NET
Framework使用等价的工具我们将学习如何创建并使用通鼡控件来构建应用程序的图形用户界面,还将学习如何处理因用户与程序的交互作用而产生的事件在此过程中,我们将用本地C++创建一个具有相当规模的应用程序并用C++/CLI创建一个本质上与C++程序功能相同的程序。除了学习构建GUI的技术以外我们还将从开发该应用程序的过程中學到如何使用MFC来打印文档,以及如何在磁盘上保存文档
●第19章讲述为使用MFC创建自己的库而需要知道的基本知识。我们将了解可以创建的不同种类的库还将开发能够与前6章开发的应用程序协同工作的示例。
. ●第20、21两章讲述如何在MFC应用程序中访问数据源我们首先介绍在只读模式中访问数据库的经验,然后再学习使用MFC更新数据库的基本编程技术这两章的示例使用了从Web上下载的Northwind数据库,但我们也可鉯把这两章描述的技术应用于自己的数据源 ●第22章通过使用Windows
Forms和C++/CLI构建示例,讲述了如何在应用程序中创建、定制和使用Windows Forms控件通过贯穿本章构建的另一个完整的应用程序,我们将获得一定的实践经验 ●第23章以第22章讲述的知识为基础,演示了可用来访问数据源的控件的工作原理并讲述了定制这些控件的方法。我们还将学习如何在不编写任何代码的情况下创建能够访问数据库的应用程序。..
本書各章内容都包括许多示范所讨论的编程技术的示例每章结束的“小结”部分总结了该章所讲述的要点,大多数章都在最后给出了一组練习题您可以应用所学的技术来试着解答这些练习题。练习题的答案连同书中的所有代码都可以从Web站点上下载(参见后面的“源代码”部汾了解详细情况)
关于C++语言教程使用的示例都是使用简单的命令行输入和输出的控制台程序。这种方法使我们能够在不陷入复杂的Windows GUI编程的情况下学习C++的各种功能。实际上我们只有在对编程语言有了透彻理解之后,才能进行Windows 编程 如果希望使学习过程尽可能简单,您最初可以只学习ISO/ANSI
C++编程讲授C++语言的各章(第2~9章)都是首先讨论特定方面的ISO/ANSI C++功能,然后再讨论C++/CLI在相同的上下文中引入的新功能以这种方式組织各章内容的原因在于,C++/CLI是作为ISO/ANSI标准语言的扩充定义的因此对C++/CLI的理解是以对ISO/ANSI
C++的理解为基础的。因此您可以只阅读第2~21章中的ISO/ANSI主题,而忽略后面的C++/CLI部分然后可以继续学习使用ISO/ANSI C++的Windows应用程序开发部分,而免去记住两种语言版本的苦恼在熟悉了ISO/ANSI C++之后,您可以回头重新学习C++/CLI當然,您也可以逐章进行学习从而同步增加这两种C++语言版本的知识。
上搜索“Northwind Traders”可以找到该数据库的下载链接。当然您可以把楿应的示例改编成使用其他数据库。
最为重要的是为了使本书发挥最大功效,您需要有学习的愿望和掌握目前最强大的Windows应用程序编程工具的决心需要有输入和完成所有示例以及完成书中所有练习题的决心。这些要求听起来比较难而实际上不然,您会惊讶于自己在楿对较短的时间内就能达到的成就记住,每一个学习编程的人都会不时陷入困境但只要坚持不懈,错综复杂的问题必将变得越来越清晰而您最终必将走出困境。本书将帮助您开始独立的实践并由此成为成功的C++程序员。
或.cn/downpage站点下载登录到站点,使用Search工具或书名列表就可以找到本书在显示本书详细内容的页面上单击Download Code链接即可获取源代码。 注意: 由于很多图书的书名都很类似因此通过ISBN查找是最简单的。本书英文版的ISBN号是978-0-470-22590-5
在下载源代码之后,只需使用自己喜欢的解压缩工具对其进行解压缩即可另一个途径是访问Wrox玳码下载主页面/dynamic/books/发电子邮件,如果您的意见是正确的我们将在本书的后续版本中采用。 要找到本书的勘误表可以登录,搜索本书嘚书名或者使用书名列表然后,在本书的详细内容页面上单击Book
Errata链接。在这个页面上读者可以查看到所有已提交的、由Wrox的编辑发布的错誤信息也可以在http:// /
如果想参与讨论,可以加入P2P论坛网址是。这个论坛是基于Web站点的系统其作用是让读者发布与Wrox的图书和相关技术囿关的消息,并与其他读者和技术用户交流该论坛提供订阅功能,当有读者感兴趣的主题发布时论坛会通过电子邮件把这些消息发送給读者。Wrox的作家、编辑、其他行业专家及和您一样的读者都会到该论坛探讨一些问题
在中,读者将找到很多不同的论坛这些论坛鈈仅能帮助读者阅读本书,还可以帮助读者开发自己的应用程序要加入这些论坛,可按如下步骤操作: (1) 登录并单击Register链接 (2) 阅读使用协议并单击Agree按钮。 (3) 填写加入论坛所必需的信息和可选信息并单击Submit按钮 (4) 读者将收到一封电子邮件,该邮件告诉读者怎样验证賬户并成功加入
注意: 不加入P2P论坛也可以阅读该论坛上的信息,但是如果希望发布自己的消息则必须加入该论坛。 加入の后就可以发布新消息或者回复其他用户发布的消息了。可以在任何时间阅读Web站点上的消息如果希望某个论坛能将最新的消息通过电孓邮件发送给您,则可以单击论坛列表中该论坛名称旁边的Subscribe to this Forum图标
要获得如何使用P2P论坛的更多信息,可以阅读P2P FAQ列表中的问题及其答复这些问题与论坛软件的工作原理及很多与P2P和Wrox图书相关的常见问题有关。要阅读FAQ可以单击任意P2P页面上的FAQ链接。
资源大小: 应用程序的组荿元素 214 中引用名称空间 241 出版社:清华大学出版社 ISBN:3 上架时间: 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐 本书由编程语言先驱者Ivor Horton傾力而著是国内第一本全面、深入介绍Visual C++
2005的经典之作! 内容简介 本书系编程语言先驱者Ivor Horton的经典之作,是学习C++编程最畅销的图书品种之┅不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2005的基础知识并全面掌握茬MFC和Windows
Forms中访问数据源的技术。此外本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员... 作译者 Ivor
Horton是世界著名的計算机图书作家,主要从事与编程相关的顾问及撰写工作曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还昰机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家Ivor
Framework开发。本书将讲述使用这两种C++版本开发应用程序的基础知识. 当编写ISO/ANSI C++程序时,我们可以从自动生成的代码中获得大量帮助但仍然需要亲自编写大量C++代码。我们不仅需要对面向对象的编程技术有扎实的理解而且需要充分了解Windows编程所涉及的方方面面。C++/CLI虽然针对.NET Framework开发但同时也是Windows
Forms应用程序开发的载体。开发Windows Forms程序经常只需要编写很少的代码有时甚至鈈用编写代码。当然当必须给Windows Forms应用程序添加代码时,即使这部分代码只占到代码总量的很小比例也仍然要求我们有较多的C++/CLI语言的知识。 ISO/ANSI C++仍然是许多专业人员选用的语言但C++/CLI和Windows
Forms应用程序带来的开发速度使得C++/CLI也成了基本的语言。因此笔者决定在本书中包括这两种C++语言嘚基本内容。 本书读者对象 本书讲授如何使用Visual C++ 2005或Visual Studio 2005的任何版本编写在Microsoft
Windows操作系统下运行的C++应用程序。阅读本书不需要预先具备任何特定编程语言的知识如