img
油田注水系统

油田注水的目的是为了保持油田能量,保持油层压力,提高供液能力,降低原油递减率。 人工来调节注水量的控制精度差,注水量调解难度大,工作量大,研究注水自动控制有重要意义。同时由于注水井位于野外,需解决供电和通讯问题

img
达内学习笔记----SMARTY笔记.docx

本文档是关于SMARTY的笔记,知识点归纳的很全,是在听了达内的老师和兄弟连的老师之后才整理出来的,相信通过该份笔记,学习smarty引擎可以不用再需要其他的笔记。 配有知识点总结 学习过程中写的案例 学习心得 一、PHP分配给模板的变量 二、配置文件中给模板的变量 三、模板中存在的保留变量 四、常量的访问方式 五、注释: 六、创建公共程序 七、函数 八、块:函数的另一种形式 九、通过SMARTY插件的功能加入函数和块 十、SMARTY中的变量调解器 十一、Smarty内建函数 十三、运用SMARTY自动创建表单标签 目录是按学习进度自己整理的,可能不很规范,但是内容绝对经典

img
Delphi串口及语音传真高级编程随书光盘

  编写一本串口及语音传真编程方面书籍的想法,是在编写语音自动应答系统时产生的。该系统的作用是通过语音Modem来把谈话内容录制下来.并能提示对方。虽然目前已有现成的软件,但用于商业用途的收费不菲,而且也有种种先天不足(如:不能判断对方是否挂机、无人接听、忙音、静音等) ,又不能集成在应用软件中.于是提出编写一个实用的自动应答系统。开始编写时头脑还是一片空白,只知道用语音AT命令可以实现这些功能.但是这些命令很繁杂,而且不同型号的调制调解器也许需要用不同的AT命令.很难实现兼用性;虽然TAPI可以实现,且兼用性不错,但找遍了书店和国内的网站都未找到详细完整的资料;另外在介绍语音、传真格式的转换等方面需要编写大量的代码:一些现成的免费控件如MSCOMM、SP-COMM,虽然也可以实现一些简单的功能. 但这只是AT命令的扩展. 功能有限. 很难满足语音、传真高级编程的需求.因此考虑到利用其他第三方组件。   组件APRO就是首选,它封装了TAPI函数.提供APF打印驱动环境,转换文件为传真文件格式、拨号控件、终端控件、FTP控件等,可以实现呼叫中心、Fax系统,实现语音E-mail更简单,为GSM提供SMS服务等。   虽然如此.结合我国电信标准和Modem硬件的实际情况,还是需要部分修改APRO组件的代码,用语音识别的方法解决了在"语音"模式中不能判断对方是否挂机、无人接听、忙音、静音等("数据"模式本来就可以判断) ,修正了"传真"模式中部分内置Modem上不能收发传真的错误,成功地解决了国内语音、传真编程中的核心问题。   本书介绍利用APRO实现的电话自动应答系统.提供拨打电话或接听来电,播放、录制语音,检测、收集话机按键功能,还可以自动检测对方是否挂断等.是国内少有的功能较全的基于Modem 电话语音软件;此外,还在修正了APRO 传真模式的错误的前提下,编写了传真的收发、文件传输应用软件。   本书对组件的属性、方法、事件不是单纯的描述,而是有丰富的实例,并对实例进行深入剖析,更易于理解,以便让读者迅速地编出实用的程序,透彻地理解语音传真编程的实现方法。

img
三星B309最新固件

最新的b309固件集成qq和qq浏览器 三星b309刷机全介绍 在“三星手机官方”下载驱动就行 也就是“新同步”安装目录里的“USB Drivers”里的文件 这就是驱动 刷机(改成“带QQ版”或“无QQ版”) 这“带QQ版”去除QQ软件占用的空间 空间只有100KN——无QQ版空间有570KB +请根据需要更换版本 注意:改版会还原手机(清空内存 设置 联系人等等) 先下载本论坛贴里的<三星B309 刷机教程和平台再附上一份带手机QQ的资料> 《SamsungPst》软件 别改安装目录 下载本贴附件1001141054fe5c99e7e2008bb5.rar 先安装软件(解压文件里的SamsungPst和SamsungPST_B309 For China都要安装) 要先下载驱动 压缩包中有USB 进入C:\Program Files\Samsung Electronics\SamsungPST,运行Samsung PST,双击B309。 如果解锁点击左边的setting,再点Read From Phone,密码就会读出来, 点SW刷机功能键 再点击OPEN File 选择刷机包(是压缩包里BIN文件 解压再选出来) B309_China_CTC_CI01_autoRebuild.bin这是“无QQ版”刷机包 B309_China_CTC_DA23_AutoRebuild.bin这是“带QQ版”刷机包 关机充电状态下,同时按“9”+“开关键” 进入升级模式 选好需要刷机包后点按Start Software Download图标,计算机显示升级的百分率进程。。 加载完后刷机成功 内存清理完毕 根据<三星B309用Qpst建立Ringer文件夹=可以增加铃声(已成功!) >此贴写出详细过程 下载QPST2.7汉化版 这个百度搜索就有 待机下输入*#2739#,进入打开端口画面, 有个打开端口的选择,但要输入密码,pin为“*#67367678#”,存储后自动退出。 右键点“我的电脑”——硬件——设备管理器——调制调解器——右键点击驱动 打开设置——记录“调制调解器”页面的端口(如COM3) 没用调制调解器那就是驱动没装好 然后运行Qpst configuration,添加端口,点击add new port,第一个框输入端口号(比如CMO3) 这时可以看到的软件框里,相应的COM端口就有了手机代码显示而不是其他端口的no phone,关闭Qpst configuration。注:如果添加的端口仍然是 no phone,重新启动软件和重新连接一下手机一般可以正常显示。 也就是说看刚加入的端口(如COM3)后面的Phone 不是NO Phone 而是一排数字 那样就QPST和手机连接成功了 运行Qpst "EFS explorer",即可进入手机内的文件目录树,手机待机连接QPST 删除键(右键点击文件倒数第二个就是的)就不好用了

img
三星b309刷机全介绍

三星b309刷机全介绍 在“三星手机官方”下载驱动就行 也就是“新同步”安装目录里的“USB Drivers”里的文件 这就是驱动 刷机(改成“带QQ版”或“无QQ版”) 这“带QQ版”去除QQ软件占用的空间 空间只有100KN——无QQ版空间有570KB +请根据需要更换版本 注意:改版会还原手机(清空内存 设置 联系人等等) 先下载本论坛贴里的<三星B309 刷机教程和平台再附上一份带手机QQ的资料> 《SamsungPst》软件 别改安装目录 下载本贴附件1001141054fe5c99e7e2008bb5.rar 先安装软件(解压文件里的SamsungPst和SamsungPST_B309 For China都要安装) 要先下载驱动 压缩包中有USB 进入C:\Program Files\Samsung Electronics\SamsungPST,运行Samsung PST,双击B309。 如果解锁点击左边的setting,再点Read From Phone,密码就会读出来, 点SW刷机功能键 再点击OPEN File 选择刷机包(是压缩包里BIN文件 解压再选出来) B309_China_CTC_CI01_autoRebuild.bin这是“无QQ版”刷机包 B309_China_CTC_DA23_AutoRebuild.bin这是“带QQ版”刷机包 关机充电状态下,同时按“9”+“开关键” 进入升级模式 选好需要刷机包后点按Start Software Download图标,计算机显示升级的百分率进程。。 加载完后刷机成功 内存清理完毕 根据<三星B309用Qpst建立Ringer文件夹=可以增加铃声(已成功!) >此贴写出详细过程 下载QPST2.7汉化版 这个百度搜索就有 待机下输入*#2739#,进入打开端口画面, 有个打开端口的选择,但要输入密码,pin为“*#67367678#”,存储后自动退出。 右键点“我的电脑”——硬件——设备管理器——调制调解器——右键点击驱动 打开设置——记录“调制调解器”页面的端口(如COM3) 没用调制调解器那就是驱动没装好 然后运行Qpst configuration,添加端口,点击add new port,第一个框输入端口号(比如CMO3) 这时可以看到的软件框里,相应的COM端口就有了手机代码显示而不是其他端口的no phone,关闭Qpst configuration。注:如果添加的端口仍然是 no phone,重新启动软件和重新连接一下手机一般可以正常显示。 也就是说看刚加入的端口(如COM3)后面的Phone 不是NO Phone 而是一排数字 那样就QPST和手机连接成功了 运行Qpst "EFS explorer",即可进入手机内的文件目录树,手机待机连接QPST 删除键(右键点击文件倒数第二个就是的)就不好用了 手机关机充电连接QPST就可以随便删除文件 注:乱删等于手机完蛋

img
摩托罗拉 ROKR E6刷机教程

摩托罗拉 ROKR E6刷机教程 一、前期准备工作 1、安装随机光盘的Motorola Phone Tools 2、将手机的usb设置成“调制调解器”模式,下面的操作, 除非特别提示,请一直设置成这模式。 3、将手机与电脑连接,打开Motorola Phone Tools,将电 脑与手机的电话本(可曾选日程等)同步,成功的话会看到手机 多少个电话与电脑同步了,如果这一步没完成,别往下看了。 二、刷机文件下载及安装 1、驱动Motorola_End_User_Driver_Installation让电脑识别手机下载, 目前最新版:驱动Motorola_End_User_Driver_Installation_2.7.6 2、RSD_LITE_3.9(刷机工具)下载安装. 3、就是准备刷机包 下载(可以理解成windows2000、winxp等操作 系统)一般原机操作系统是大陆行货R533_G_11.11.10p, 港货是R533_G_11.10.54R等...... 三、准备刷机 1、运行电脑程序列表的“开始-程序-Motorola Driver Installer--Motorola Driver Installer.exe”这文件就如电源 开关,一会卸载一会安装的,无论打开的时候它干什了 记得点updatedrivers选项, 然后点右边的Start,就能看到稀哩哗啦的又将驱动 程序安装一次:) 2、电脑会提示找到很多设备,安装就如电脑其它即插即用的硬 件安装一样,xp会首先问要不要去网络找驱动,选暂时不,然后就问 你自动寻找还是手动寻找,选自动,一般都能顺利找到并提示可以正 常使用了(设备有很多,要重复好多次,我都觉得好烦,一会刷机的 过程也许会出项同样问题,照这办法做。)最后退出。(注意:手机与 电脑一直连接上,不要中断) 3、打开RSD Lite 3.9 "filename"就是找你要刷的那个刷机包*.sbf ,打开会在右边看到要刷的版本,此时程序应该找到电话了, 在device 能看到电话里的版本(没有的话,点击show device, 有时候快有时候慢,直道出现为止) 四、刷机 1、点击start,估计要十几分钟吧,progress才能到100%,此时基 本上是没提示或者提示失败的了(实际上是刷了第一部分), 有看到progress在稀哩哗啦变动,等吧一直重复4次100%..... 最后能看到Result是pass,恭喜你! (在刷机过程中,可能会找到新的驱动,一律点是即可) 2、关闭RSD Lite 3.9,拔手机,关机,开机,看看是否正常 (例如输入www008w看看是不是两个都一样了, 我的是AHBN-11.12.09P最终完美版。 五、享受成果时刻 1、同步电话本:将手机与电脑连接,打开Motorola Phone Tools, 按同步,成功就能将原来的电话恢复到手机中。 2、其它个性设置:例如铃声、分类铃声、图片视频存放位置等等 全部要重新设置,相当于你新买一个有你电话本的手机一样。 看懂了吗?不懂再看下面的 1,首先安装刷机软件 RSD_LITE_3.9z 驱动Motorola_End_User_Driver_Installation_2.7.6 刷机包 下载 2,关机状态下,按右侧照相键加开机键进入刷机模式,把USB连接到手机和电脑 (也可以开机状态将手机的usb模式设置成“调制调解器”模式) 3,电脑会提示找到新硬件,要求安装驱动,选择1“从列表或指定位置安装”》》2下一步 4,选择驱动位置(默认安装位置为C:\Program Files\Common Files\Motorola Shared\MotPCSDrivers\Electra Drivers) 5,其他驱动也按照上面方法安装,直到不提示找到新硬件 ((在这里说一下,有的手机的驱动电脑会自动安装好 当然就没提示了)) 6,打开RSD刷机软件,找到E6刷机包 7,点击刷机1(start)开始刷机[其中2的位置(progress)将看到刷机状态,将走2次百分比,当2次百分比走完以后E6会自动开机] 最后这个是比较清楚的了

img
桌面锁小工具

程序功能:   用于电脑使用者在临时离开电脑时,暂时将电脑桌面进行锁定,防止他人进行操作。 程序特点:   一、桌面锁定后,在输入正确密码解除锁定前,操作员将无法对计算机内的其他程序进行操作。   二、桌面锁定状态下,没有正确密码将无法解锁,即使非法关机进行强制重启,在重启系统后,本程序将会继续运行,计算机仍然会处于锁定状态。   三、操作员可根据个人喜好,设置程序的图片背景、透明度等,相关操作都可通过程序左上角的控制条来实现(按下Ctrl键,将鼠标滑到屏幕左上角,即可出现控制条)。 作用方法: 一、程序解锁: 1、直接在键盘上输入密码,然后按回车键解锁。 2、操作员可将鼠标移到屏幕的左上角,此时程序将会滑出控制条,用鼠标单击控制条左边第一个图标,在屏幕的右上角将会显示解锁框,操作员只须在解锁框内输入正确密码,然后单击解除锁定按钮,即可退出本程序。(同时可以在此处更改用户密码)   二、背景图片及透明度设置:操作员单击控制条上的更换图片图标(左起第二个),屏幕的右下角将会显示图片选择框,操作员可根据个人喜好选择相应的图片即可;控制条的中间有个透明度调解进度条,操作员用鼠标托动其滑块即可更改程序的透明度。 注  意:   程序在运行时将会把自身写入到注册表,以便非法关机后可自动运行,如果有其他软件阻止的话,请解除,不要拒绝写入。

img
简易程序交通事故认定书制作助手

《简易程序交通事故认定书制作助手》帮助 http://10.140.62.233/Article/ShowClass.asp?ClassID=56 章 凌 《简易程序交通事故认定书制作助手》(以下简称《助手》)是江西省公安厅交警总队直属四支队的章凌同志在科技创新之路上的又一次重要成果。该软件的推出,让我们在简易程序交通事故认定书制作的工作上无论在速度上还是规范性上都有了很大的飞越,是对传统制作方法的一次升级。《助手》具有数据存储、智能加入违法条款、智能转换数字到金额、事故模板存储(一次性替换)、一键生成、全自动排版、事故案卷自动保存、法律法规查询等功能。另外它还具有直接运行无需安装、界面友好、体积小巧、操作简单、快速输入、校验数据等众多优点,运行效果良好,受到了交警同行们的广泛欢迎。它绝不仅仅是对认定书模板进行简单地套打,更是作者本人做为一线执法者经验与科技的完美结合,下面就其主要功能及其操作方法向同志们作个简单的介绍。 一、目前简易程序道路交通事故认定书制作现状 由于从“公安交通管理综合应用平台”中直接打印出来的简易程序交通事故认定书格式不规范,登录、制作、修改起来也较为麻烦,所以事故处理民警一般不从系统里直接制作,而是另外再重新制作电子表格。当然,大多数情况下民警也不会从零开始,他们会在以往的事故认定书上直接修改。由于是人工操作,加上处理表格的水平不齐,最终制作出来的事故认定书也是各式各样,有的不尽人意。主要表现在:字体前后不一致,字体大小、行间距、表格样式不规范、不统一等等。当然或许还存在一些错误,例如:身份证号码输错,当事人的姓名、车号并没有出现在“交通事故事实及责任”一栏里。以上种种表现,严重影响着事故认定书作为法律文书的严肃性与规范性,也制约着我们的办事效率。 至于在制作速度上,传统的方法从寻找以往的认定书,到替换基本信息及违法条款,再到修改其他内容等,整个过程大概需要15-20分钟左右。 二、《助手》运行情况 运行《助手》首先确保电脑安装了“Microsoft Office Word 2003”程序,如果没有安装,请到http://10.140.50.1/Soft/ShowSoftDown.asp?UrlID=1&SoftID=122下载Office安装包“OFFICE2003.rar”解压,双击“SETUP.EXE”安装。 经作者测试,在存在已有模板的情况下,使用《助手》一条简易程序事故信息录入不到5分钟;经试用反馈,大部分民警录入简易程序事故信息在8分钟左右,如果熟练使用,完全可以控制在5分钟之内。 使用《助手》,民警只需要填入相关数据即可,无需制作表格,无需考虑表格是否规范。根据当事人多少增减行、根据内容调整栏高、空白栏是否划斜线等等过程《助手》都考虑到了,而且软件会自动校验数据的准确性,民警劳动强度减小,工作效率至少提高3-4倍。当前我大队每年适用简易程序处理的道路交通事故约为100起,预计待车流量增大之后平均2-3天处理一起。某些车流量较大的大队几乎每天都会接处简易程序交通事故,所以使用《助手》的意义是很明显的。 三、《助手》操作步骤 打开软件,第一次使用《助手》软件自动会在运行目录下新建一个配置文件夹,以后所有的软件数据及配置信息都存于此文件夹,若需移动软件位置,最好同时移动“制作助手配置”文件夹,才能保持使用上的连贯性。 可以通过“程序”→“打开配置文件夹” 菜单来快速打开该文件夹。 处理一条数据,软件只需要一个大步骤:添加数据。 四、添加、修改数据及设置认定模板 添加\修改数据窗口的界面如下: 当您把鼠标移动到窗口中的某个组件时下方会出现对该组件的描述,在其他窗口中也有类似提示。具体如下: (一)基本信息输入框 当您添加过一条数据之后,软件会记忆输入过的内容,单击某个输入框就会出现,可单击快速加入。 当您单击该输入框后再单击鼠标右键会跳出操作菜单。“导出”:将当前输入框中的内容导出到右边“交通事故事实及责任”及“损害赔偿调解结果”(以下简称“两栏”)中被选中的位置(快捷键G)。“复制”:复制当前输入框的所有内容(快捷键C)。“粘贴”:略(快捷键V)。“删除”:删除当前输入框中所有内容(快捷键D)(提示:善用快捷键将大幅提升您的操作速度)。 “事故编号”:随便选中事故编号中的某一部分,按右侧调节按钮增减数值,若未选择,则增减末位。必填。 “事故时间”:双击取现在时刻。鼠标移至其中某个数值,再按右侧调节按钮可以增减数值。必填。 “事故地点”:这是一个有下拉列表的输入框,单击下方红色“设置下拉列表”可以设置常用的地点,其它红色标注的输入框也有类似功能。必填。 这些红色标注的输入框有支持“首拼、全拼模糊匹配”。例如:若“交警1”的下拉列表中有“章凌”这个民警,您只要输入“zl”或者“zhang”再或者“ling”再回车其内容就会变成“章凌”。 “天气”:必填。 “认定日期”:双击会取事故日期(事故时间不为空)或当前日期(事故时间为空)。 “交警1”:可设置常用交警姓名,简易程序交通事故需至少一名交警处理,这里必填。 “交警2”:选填。 “当事人”:最多只允许4个当事人。必填。下面是查看、增加、删除当事人的按钮。通过单击最下方的人物头像也可以快速切换到当事人。 “联系电话”:选填。 “交通方式”:必填 “车型”:必填,除非“交通方式”为“行人”时可以不填。 “车牌号”:可以选择下拉列表,也可以首拼或全拼输入省份简称,例如输入“g”或“gan”后再回车,都可变成“赣”。必填,除非“交通方式”为“行人”。 “保险凭证号”:选填。 (二)“交通事故事实及责任”与“损害赔偿调解结果”输入框 单击鼠标右键可以弹出操作菜单和右侧的操作按钮功能大致相同,可以对两个输入框分别操作。 “插入替换内容”可以插入 “【事故时间】”、“【事故地点】”、“【当事人】”等短语,单击该短语,软件自动选中其内容。只要单击 按钮,这些类似“【……】”的短语就可以被左侧输入的基本信息所替换。如果有多个当事人,请手工输入“【当事人1】”、“【当事人2】”、“【车牌1】”、“【车牌2】”等短语。在认定模板窗口也有这样的功能,便于同类事故快速输入。 这里着重介绍一下“ ”——“快速定位违法条款”按钮。假如“交通事故事实及责任”一栏中出现格式如《……》第……条:“……”的内容时,按此钮将会快速选择这些内容,以方便同志们快速查看、修改违法条款。当然如果再结合法规窗口中的“名称条款项”按钮一起操作的话,会更加方便(后面会讲到)。 (三)损害赔偿调解结果 在这个栏中也有一个按钮“ ”——“数字到金额转换按钮”,点击一段数字(随便点哪里,只要挨着数字就行),再点击此按钮,自动将半角阿拉伯数字转化为大写人民币金额(支持加法运算)。 可点击主菜单“设置”→“基本设置”(旁边也有 )来设定转换规则。 (四)按钮 “安全法”和“实施条例”: 打两部常用的法律,界面如下。 查找功能分为“向上”与“向下”查找。查找技巧:查找“一百二十一”可在小键盘上输入“121*”或“121-”再回车,便于查找法律条文。在窗口内左键双击可快速切换法律,右键操作。 右侧的滑块可以调节该窗口的透明度。 右下方有一组按钮。“名称与条款项”:单击法律文本主内容的任何位置,再单击“名称与条款项”按钮可智能替换掉添加\修改窗口中“交通事故事实及责任”输入框中被定位的违法条款或被选择的内容,如果添加\修改窗口未打开,则复制该条款。 :与前述相同按钮功能一致。“总在最前”:让法律窗口保持在最前,方便查阅。 右键菜单。其中,“资料名称”:仅复制该法律资料的名称。“导出文本”:将该法律导出为文本文件。“退出”:关闭窗口。右边的“X”代表此功能的快捷键。 左键双击菜单。便于快速切换到其他法律。 “复制”:略。 “删除”:删除所选择的内容,若未选中文字,则删除本行文字。 “剪切”:略。 “粘贴”:略。在两栏中分别双击鼠标也可以实现粘贴功能。 “全选”:略。 “查找替换”: “另起一行”:略。 “重做”:略。 “撤销”:略。 “信息替换”: ,替换“【事故时间】”、“【事故地点】”、“【当事人】”等短语,前已述。 “基本设置”: ,同主窗口中的 菜单及 功能一样,打开设置窗口。 1、单位名称:略。2、加入“(简易程序字样)”:决定是否在认定书题头中加入“(简易程序)” 。“在空白栏中画斜线”:略。3、“事实及责任”及“调解结果”的样式:“首行间距”——0-24的整数(可按调节按钮调节数值)。“行间距”——不大于2并且不小于0.8的小数或整数。“栏高调整规则”——“根据内容分配”:根据两栏的行数不同来分别确定两栏的高度。“平均分配”:两栏的高度相等(“事实及责任”内容优先)。4、“被替换文字颜色”:设置“【当事人1】”、“【当事人2】”、“【车牌1】”、“【车牌2】”等短语被实际信息替换后的颜色,默认为蓝色。5、数字转金额规则:略。6、“添加\修改数据时进行数据校验”:决定是否在添加\修改数据前对数据进行校验。校验规则有:主要信息栏不能为空、身份证号码校验、输入的主要信息必须在“交通事故事实及责任”中出现等等。默认是勾选的,这有利于确保输入的信息的完整性。 下面一排按钮。 “修改”(“添加”):略 “设置下拉列表”:在有下拉列表的输入框中单击后会打开下拉列表设置窗口,可以自定义这些下拉列表的选项(红色标注的输入框),比如“事故地点”、“天气”、“交通方式”、“车型”等,方便选择。(每一段为一个选择项。) “认定模板”:打开“认定模板”窗口,可以设置常用的两栏内容模板。单击“导出”按钮 ,可以同时导出两栏内容到“添加\修改窗口”中对应的两栏,在左侧列表窗口中右键“导出”也是一样的。分别在两栏中双击鼠标左键可以单独导出。右键菜单的“插入”可以插入固定短语(前已述),这些短语可以在“添加\修改窗口”中一次性被替换掉。 :(前已述)。 五、制作认定书 添加或修改完一条事故信息之后再制作事故认定书,制作过程非常简单,点击一条信息,按空格键,一键OK。当然也可以点击主窗口右下方的“制作认定书”按钮 。制作完的认定书软件将自动命名并保存在“制作助手配置”文件夹内。 生成的认定书格式已作规范,无论内容多少都会保持在一页,“当事人”与“交通警察”的横线将随着事故信息而随之发生改变。 六、其他功能 (一)打印有关交通事故处理的空白法律文书 (二)软件界面样式设置 (三)打开常用法律及事故处理资料 (四)打开计算器 (五)常用内网链接 七、《助手》的不足及其他声明 (一)《助手》为离线简易程序认定书制作工具,不适用一般程序,暂时不能连接内网直接获取驾驶员姓名、车型及车辆品牌等信息。 (二)软件不支持自动更新,请及时关注并下载。发布更新地址:江西省交警总队直属四支队第四大队网页软件下载栏 http://10.140.62.233/Article/ShowClass.asp?ClassID=56 (三)特别说明:由于《助手》开发语言的缺陷,可能导致某些杀毒软件将软件误杀。解决方法:利用杀毒软件的“排除”功能(或叫“例外”、“信任”等,就是不对本软件进行扫描)将本软件的名称“助手2.0.exe”加入其中(有的可以使用通配符“助手*.exe”),让杀毒软件信任本软件,有些还要针对“实时扫描”、“手动扫描”、“预设扫描”、“默认进程”、“低\高风险进程”等多个扫描方式分别做排除。在做这些排除之前如要运行软件,请将杀毒软件暂时关闭。以McAfee为例: 1、 。2、 。3、 4、 。5、 。6、 (四)由于个人能力和精力所限,其他的错误、BUG、缺限在所难免,软件的功能还有很大提升空间,欢迎同志们提出宝贵的意见。 (五)软件需要注册。 声明:编写《助手》耗时2月有余,请尊重作者劳动成果,严禁采用任何方式对软件进行修改、反编译、破解等操作。对使用本软件造成的一切后果由使用者承担,如果您选择注册视为阅读并接受本《帮助》所有内容。 八、作者简介 章凌,江西省交警总队直属四支队第四大队副大队长,代表作有《交警电子笔录》、《交警行政处罚案卷制作软件》、《高速交警电子提醒簿》、《简易程序交通事故认定书制作助手》等,电话:15079518998、E-mail:jxfinest@126.com。 二○一二年六月

img
PlusWell热备软件

(一)PlusWell Cluster Cluster容错软件原理 1.PlusWell Cluster Cluster容错软件定义、特性、资源保护 PlusWell Cluster Cluster 容错软件提供了一个完全容错的软件解决方案,并提供数据、应用程序和通信资源的高度可用性。PlusWell Cluster容错软件不需要任何特别的容错硬件,并访问特定节点的配置数据。PlusWell Cluster容错软件会自动地提供错误检测和现场恢复。 在出现故障的情况下,PlusWell Cluster容错软件会将保护资源自动转换到一个根据预先设定好优先权的系统。在实际进行切换用户时, 会经历一个十分短暂的休眠,但是,当系统完成了切换操作后,PlusWell Cluster容错软件会在所选择的节点上自动地恢复操作。 可以被PlusWell Cluster容错软件保护起来的资源是: 卷(Volume) IP 地址 共享文件 管理器服务器名称 应用程序 定义的用户 2、心跳故障检测Heartbeat PlusWell Cluster容错软件在集群节点间保持着间歇的通信信号,也叫做心跳信号,是错误检测的一个机制。即通过每一个通信路径,在两个对等系统之间进行周期性的握手,如果连续没有收到的心跳信号到了一定的数目,PlusWell Cluster 容错软件就把这条路径标示为失效(红色)。 如果你只定义了一条通信路径,当PlusWell Cluster 容错软件把这唯一的一条通信路径标为失效时, PlusWell Cluster容错软件便立即开始恢复过程。然而,如果你有冗余路径, PlusWell Cluster容错软件能够通过第二条路径确定是系统故障还是只是通信路径有问题。如果PlusWell Cluster 容错软件开启优先级第二的通信路径并收到了心跳信号,它就不开始failover恢复,只需要把第一条通信路径标成红色(失效),作为信号告诉你需要修复有故障的路径。 一般情况下PlusWell Cluster容错软件 只在下列事件发生时,启动系统恢复功能: 所有的通信路径故障。如果所有节点都没能收到心跳信号, 把所有通信路径都标为失效, PlusWell Cluster 容错软件开始安全检查。 安全检查失败。当所有通信路径故障时,PlusWell Cluster容错软件向整个网络发出安全检查信号。如果信号指出配对系统还“活”着的时候,PlusWell Cluster容错软件不启动Failover。如果安全检查没从配对节点返回信号,PlusWell Cluster容错软件就开始Failover。 因而,为了减少由于潜在的通讯错误所引起的不必要的系统切换,建议您使用不同介质的多条通信路径。 通信路径 ?? PlusWell Cluster容错软件支持在节点之间和心跳通讯中,使用如下通讯路径: (1) socket,即套接字。你使用任何的网络硬件接口,只要它能够支持TCP/IP的通讯协议。这样的硬件包括:以太网、快速以网。 (2)串行口 在PlusWell Cluster容错软件配置中, 你应当配置有一个串行口通信路径。串口通信路径需要利用RS232的拟调解线路来与PlusWell Cluster容错软件系统相连接。 PlusWell Cluster 容错软件假定当通过心跳信号检测其它服务器失败时,则认为此服务器是关闭的。因此,为了避免不必要的失效切换,最好建立两种以上独立的物理路径,使用至少两种心跳。 例如,如果两个服务器被一个串口连接起来,并且,从属服务器来的心跳信号无法被主服务器所检测到,则下面之一是可能引起这一现象的原因: 服务器的RS-232卡或者端口失败 电缆失效 主服务器暂时挂起 主服务器失败 失效切换只可能在最后一种情况下才发生。因此,节点间的多种通信路径可以帮助避免不必要的失效切换。 (二)PlusWell Cluster容错软件配置示范 软件、硬件配置 a、软件:PlusWell Cluster 容错软件。 b、硬件:服务器可以是任何Intel基础上的平台, Server的型号、配置不必一致,只需硬件平台能保证Windows NT/2K/Linux/Unix运行;磁盘阵列正常使用。

img
三星B309电信手机刷机资料和工具

1.驱动下载   在“三星手机官方”下载驱动就行 也就是“新同步”安装目录里的“USB Drivers”里的文件 这就是驱动   2.刷机(改成“带QQ版”或“无QQ版”)   这“带QQ版”去除QQ软件占用的空间 空间只有100KN——无QQ版空间有570KB +请根据需要更换版本   注意:改版会还原手机(清空内存 设置 联系人等等)   先下载本论坛贴里的<三星B309 刷机教程和平台再附上一份带手机QQ的资料> 《SamsungPst》软件 别改安装目录   下载本贴附件1001141054fe5c99e7e2008bb5.rar   先安装软件(解压文件里的SamsungPst和SamsungPST_B309 For China都要安装)   要先下载驱动 压缩包中有USB   进入C:\Program Files\Samsung Electronics\SamsungPST,运行Samsung PST,双击B309。   [attach]48705[/attach]   如果解锁点击左边的setting,再点Read From Phone,密码就会读出来,   点SW刷机功能键   再点击OPEN File 选择刷机包(是压缩包里BIN文件 解压再选出来)   B309_China_CTC_CI01_autoRebuild.bin这是“无QQ版”刷机包   B309_China_CTC_DA23_AutoRebuild.bin这是“带QQ版”刷机包   关机充电状态下,同时按“9”+“开关键” 进入升级模式   选好需要刷机包后点按Start Software Download图标,计算机显示升级的百分率进程。。   加载完后刷机成功 内存清理完毕   3.上传图片(PNG格式)和铃声(MID格式) 可以用手机录音的QCP格式做铃声,效果更好一些 ,就是有一些变调。   根据<三星B309用Qpst建立Ringer文件夹=可以增加铃声(已成功!) >此贴写出详细过程   下载QPST2.7汉化版 这个百度搜索就有   待机下输入*#2739#,进入打开端口画面,有个打开端口的选择,但要输入密码,pin为“*#67367678#”,存储后自动退出。   右键点“我的电脑”——硬件——设备管理器——调制调解器——右键点击驱动 打开设置——记录“调制调解器”页面的端口(如COM3)   没用调制调解器那就是驱动没装好   然后运行Qpst configuration,添加端口,点击add new port,第一个框输入端口号(比如CMO3)   这时可以看到的软件框里,相应的COM端口就有了手机代码显示而不是其他端口的no phone,关闭Qpst configuration。注:如果添加的端口仍然是 no phone,重新启动软件和重新连接一下手机一般可以正常显示。   也就是说看刚加入的端口(如COM3)后面的Phone 不是NO Phone 而是一排数字 那样就QPST和手机连接成功了   运行Qpst "EFS explorer",即可进入手机内的文件目录树,手机待机连接QPST 删除键(右键点击文件倒数第二个就是的)就不好用了   手机关机充电连接QPST就可以随便删除文件 注:乱删等于手机完蛋   添加图片目录:在brew/mod/目录下新建目录10888,B309只支持png格式,大小为128*128,拷贝可用拖拽的方法,没有复制右键菜单。完成后在手机菜单--我的文件--图片--下载图片中可以找到。(找不到PNG格式的可以用128x128的图片 再用系统自带的画图工具打开 再另存为PNG格式 这样也可以用   添加铃声目录:在sap目录下新建目录user,在user目录下新建目录sound,这个可以一步操作完成:右键点sap--new--Qpst "EFS directory...,在添加目录对框中输入:/sap/user/sound,OK。到这一步要重启手机才能完成最一步操作,重启手机和explorer"后,在sound目录下建立Ringer目录,完成铃声目录的建立。同样采用拖拽的方法将PC中的MID铃声拉进Ringer目录,该机只支持MID格式铃声,而且不支持中文名。上传的铃声可以在手机菜单--我的文件--声音--下载声音中找到,可以设置为手机铃声。   可以用手机录音QCP格式做铃声 更好一些 目录就在MID旁边   4.手机软件的麻烦pojie可用方法(个人测试)   这个手机可以下载一些BREW软件   用QPST打开手机 QPST的brew的mif里的文件是下载的每个下载了的软件启动程序——启动程序 包括收费等   也就是说下载5分钟免费软件 然后pojie他的启动程序 5分钟的就成无限制的免费了 也可以把启动程序替换成别人12元下载免费的启动程序   这样就可以免费下东西喽 不过我不会pojie 所以只能替换启动程序 呵呵   在QPST的brew的mod里的与启动程序同名的文件夹是软件的组件 花点流量就行 发太麻烦了

img
宏昌决策管理系统

管 理 信 息 系 统 需 求 分 析 书 本分析书版权归深圳科华公司所有, 任何个人、公司及机构未经授权,不得拷贝、影印、发表 文档编号:KEHUA(SL)- 目 录 系统目标 -----------------------------------------------3 系统构建 - 功能模块/设计重点/信息流程/系统角色 ---------3 2.1功能模块 ----------------------------------------------------------3 2.2设计重点 ----------------------------------------------------------3 2.3信息流程 ----------------------------------------------------------4 2.4系统角色 ----------------------------------------------------------5 系统构建 - 数据对象 ------------------------------------6 3.1基本类对象 --------------------------------------------------------6 3.1.1供应商 ----------------------------------------------------------6 3.1.2客户 ------------------------------------------------------------7 3.1.3员工 ------------------------------------------------------------7 3.1.4设备 ------------------------------------------------------------8 3.1.5电石 ------------------------------------------------------------9 3.1.6物料 ------------------------------------------------------------9 3.2业务类对象 --------------------------------------------------------9 3.2.1电石生产情况 ----------------------------------------------------9 3.2.2物耗情况 --------------------------------------------------------9 3.2.3作业情况 --------------------------------------------------------10 3.2.4库存情况 --------------------------------------------------------11 3.2.5物料供应情况 ----------------------------------------------------12 3.2.6电石销售情况 ----------------------------------------------------13 3.2.7电石结算情况 ----------------------------------------------------13 3.3查询分析类对象 ----------------------------------------------------13 3.3.1生产类分析 ------------------------------------------------------13 3.3.2库存类分析 ------------------------------------------------------13 3.3.3销售类分析 ------------------------------------------------------14 3.4系统类对象 --------------------------------------------------------14 3.4.1系统基本数据 ----------------------------------------------------14 3.4.2系统参数 --------------------------------------------------------15 3.4.3系统角色权限 ----------------------------------------------------15 3.4.4操作日志 --------------------------------------------------------16 3.4.5用户环境 --------------------------------------------------------16 系统设计原则及平台选择 ---------------------------------17 第五章 附则 ---------------------------------------------------17 系统目标 以重视量化管理和决策的快速反应为出发点,从宏观上加强昌宏化工的生产,库存、销售各环节的动态控制,对降低经营风险,优化经济效益,增强公司竞争力具有重要意义。 经过多年的实践,昌宏化工已经形成了一套比较合理的管理制度和有效的运作机制。在此基础上,本系统目标定位为:构造一个基于INTERNET的管理信息平台。一方面提供快速便捷的通道用于昌宏化工到集团总部的管理信息流,一方面提供INTERNET范围内的灵活方便的可访问性,从而确保集团总部能够快速准确的把握昌宏化工的经营运作状况,为决策的有效性和及时性提供坚实的基础。 第二章 系统构建 -功能模块/设计重点/信息流程/系统角色 2.1本系统按功能划分为以下系统模块: 图1 数据采集系统 -按照总部的要求,采集昌宏化工的生产/库存/销售各环节的信息 分析报警系统 -支持生产分析/库存分析/质量分析/回款分析等 系统管理 -用户环境支持,权限管理/操作日志支持,数据备份/转储/清除等支持 2.2为保证系统目标的实现,本系统解决方案的设计重点: 精细构造面向决策分析的数据模型 灵活的分析和报警支持 支持INTERNET访问 严格按系统角色控制可访问的信息范围 采用多层分布式架构,提供应用层标准接口, 为用户IT整体规划和集成提供支持。 2.3信息流程 本系统以实现当前明确的管理目标作为确定系统边界和精细程度的首要依据, 适当兼顾面向未来的统一规划要求。 本系统构建的信息流仅是实际业务流所包含的信息的一个有限反映,以昌宏化工经过加工处理后的数据作为主要数据源,并未包含实际业务流中最底层的明细数据。 图2 – 信息流程 信息流中所关注的信息分类: 电石生产数据 物耗数据 作业数据 库存数据 物料供应数据 电石销售数据 图3 – 系统对象关系 2.4系统角色 本系统关注的角度以信息流处理中的角色分析为主。 各部门相关员工在系统中承担一个或多个系统角色,系统为各角色的分工/协作提供各种支持和控制。每一个用户帐户属于一个或多个系统角色, 从而获得相应的缺省权限。 2.4.1生产数据管理员 角色定位:录入生产相关的数据 缺省权限: 创建/修改/确认/作废 -> [电石生产情况] 创建/修改/确认/作废 -> [物耗情况] 创建/修改/确认/作废 -> [作业情况] 创建/修改/确认/作废 -> [库存情况] 创建/修改/确认/作废 -> [物料供应情况] 创建/修改/暂停使用/作废 -> [供应商] 创建/修改/暂停使用/作废 -> [客户] 查询相关信息 2.4.2销售数据管理员 角色定位:录入生产相关的数据 缺省权限: 创建/修改/确认/作废 -> [电石销售情况] 创建/修改/确认/作废 -> [电石结算情况] 查询相关信息 2.4.3系统管理员 角色定位:控制协调各环节的运作,保证系统有序运转 缺省权限: 创建/修改/暂停使用/作废 -> [员工] 创建/修改/暂停使用/作废 -> [设备] 创建/修改/暂停使用/作废 -> [电石] 创建/修改/暂停使用/作废 -> [物料] 创建/暂停使用/作废 -> [系统基本数据] 修改 -> [系统参数] 授权/取消授权 -> [系统角色权限] 查询各种信息 系统数据的备份和存档 定期清理系统历史数据 2.4.4信息查询者缺省权限 查询系统各种对象和分析报表 第三章 系统构建 – 数据对象 3.1基本类对象 指系统中各种交易的参与者或交易物本身或管理上所关注的重要资源。例如供应商、客户、员工、设备、电石、物料等。 3.1.1供应商 -支持供应商分类管理; 3.1.1.1信息定义 栏目名称 栏目说明 代码 用于唯一标识供应商 名称 供应商名称 类型 供应商类型 联系人 联系人 联系电话 联系电话 状态 {正常,暂停交易,已作废} -由所进行的功能操作来控制 备注 备注 3.1.1.2功能操作 <创建> - 创建一个新的供应商 <修改> - 修改一个供应商的资料 <暂停交易> - 标志一个供应商暂停交易 <作废> - 作废一个供应商 <浏览> - 浏览供应商 <打印> - 打印供应商 3.1.2客户 -支持客户分类管理; 3.1.2.1信息定义 栏目名称 栏目说明 代码 用于唯一标识客户 名称 客户名称 类型 客户类型 联系人 联系人 联系电话 联系电话 状态 {正常,暂停交易,已作废} -由所进行的功能操作来控制 备注 备注 3.1.2.2功能操作 <创建> - 创建一个新的客户 <修改> - 修改一个客户的资料 <暂停交易> - 标志一个客户暂停交易 <作废> - 作废一个客户 <浏览> - 浏览客户 <打印> - 打印客户 3.1.3员工 -访问此系统的员工的信息;系统据此控制相关信息访问范围; 3.1.3.1信息定义 栏目名称 栏目说明 代码 用于唯一标识员工 名称 员工名称 类型 员工类型 – 系统可由此控制相关信息访问范围 部门 员工部门 – 系统可由此控制相关信息访问范围 域帐户 员工用以访问系统的帐户,系统由此识别访问者的相关信息 状态 {正常,暂停使用,已作废} -由所进行的功能操作来控制 备注 备注 3.1.3.2功能操作 <创建> - 创建一个新的员工 <修改> - 修改一个员工的资料 <暂停使用> - 标志一个员工暂停使用 <作废> - 作废一个员工 <浏览> - 浏览员工 <打印> - 打印员工 3.1.4设备 -支持设备分类管理;主要用于定义电石炉; 3.1.4.1信息定义 栏目名称 栏目说明 代码 用于唯一标识设备 名称 设备名称 类型 设备类型 使用寿命 使用寿命 状态 {正常,暂停使用,已作废} -由所进行的功能操作来控制 备注 备注 3.1.4.2功能操作 <创建> - 创建一个新的设备 <修改> - 修改一个设备的资料 <暂停使用> - 标志一个设备暂停使用 <作废> - 作废一个设备 <浏览> - 浏览设备 <打印> - 打印设备 3.1.4.3设备目录 代码 名称 类型 备注 S001 电炉#1 电炉类 S002 电炉#2 电炉类 S003 电炉#3 电炉类 3.1.5电石 -支持电石分类管理;昌宏化工目前产品-电石仅需要支持按品质分类; 3.1.5.1信息定义 栏目名称 栏目说明 代码 用于唯一标识电石 名称 电石名称 类型 电石类型 状态 {可用,暂停使用,已作废} -由所进行的功能操作来控制 备注 备注 3.1.5.2功能操作 <创建> - 创建一个新的电石 <修改> - 修改一个电石的类型/备注 <作废> - 作废一个电石 <浏览> - 浏览电石 <打印> - 打印电石 3.1.6物料 -支持物料分类管理-原料/辅料/能耗; 3.1.6.1信息定义 栏目名称 栏目说明 代码 用于唯一标识物料 名称 物料名称 类型 物料类型 规格 规格 状态 {可用,暂停使用,已作废} -由所进行的功能操作来控制 备注 备注 3.1.6.2功能操作 <创建> - 创建一个新的物料 <修改> - 修改一个物料的类型/备注 <作废> - 作废一个物料 <浏览> - 浏览物料 <打印> - 打印物料 3.1.6.3物料目录 代码 名称 类型 备注 Y001 石灰 原料类 Y002 电极糊 原料类 Y003 焦碳 原料类 Y004 白煤 原料类 F001 吹氧管 辅料类 F002 锷板 辅料类 F003 碳精棒 辅料类 F004 锅子 辅料类 F005 锅耳 辅料类 F006 锅底 辅料类 F007 圆钢 辅料类 N001 电炉电 能耗类 N002 动力电 能耗类 3.2业务类对象 指业务运转流程中系统用以描述各种交易和业务的数据对象。 业务类对象的分析以面向管理分析/报警为指导原则。 本系统所包括的业务类对象均由相关部门每日对基础数据加以处理后,录入本系统。 3.2.1电石生产情况 -每日电石产量质量数据 3.2.1.1信息定义 栏目名称 栏目说明 日期 日期 炉号 炉具编号 班次 班次 炉次 炉次 锅数 锅数 优级品 T 一级品 T 合格品 T 产量小计 系统自动控制 平均发气量 L/KG 发气量小计 KL PH3 % H2S % 颗粒度 MM 优级品率 % 一级品率 % 合格品率 % 总合格率 % 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.1.2功能操作 <创建> - 创建一个新的电石生产情况 <修改> - 修改一个电石生产情况 <确认> - 确认一个电石生产情况 <作废> - 作废一个电石生产情况 <浏览> - 浏览电石生产情况 <打印> - 打印电石生产情况 3.2.2物耗情况 -每日物耗,包括原料/辅料/能耗 3.2.2.1信息定义 栏目名称 栏目说明 日期 日期 炉号 炉具编号 物料类型 物料类型 物料编号 物料编号 物料名称 系统自动控制 单位 单位 用量 用量 本期单耗 系统自动控制 上期单耗 系统自动控制 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.2.2功能操作 <创建> - 创建一个新的物耗情况 <修改> - 修改一个物耗情况 <确认> - 确认一个物耗情况 <作废> - 作废一个物耗情况 <浏览> - 浏览物耗情况 <打印> - 打印物耗情况 3.2.3作业情况 -每日设备运转情况/安全情况 3.2.3.1信息定义 栏目名称 栏目说明 日期 日期 炉号 炉具编号 生产时间 H 停电时间 H 作业率 % 停电次数 次 停电原因 停电原因 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.3.2功能操作 <创建> - 创建一个新的作业情况 <修改> - 修改一个作业情况 <确认> - 确认一个作业情况 <作废> - 作废一个作业情况 <浏览> - 浏览作业情况 <打印> - 打印作业情况 3.2.4库存情况 -每日库存情况 3.2.4.1信息定义 栏目名称 栏目说明 日期 日期 物料类型 物料类型 物料编号 物料编号 物料名称 物料名称 单位 单位 数量 数量 品质等级 品质等级 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.4.2功能操作 <创建> - 创建一个新的库存情况 <修改> - 修改一个库存情况 <确认> - 确认一个库存情况 <作废> - 作废一个库存情况 <浏览> - 浏览库存情况 <打印> - 打印库存情况 3.2.5物料供应情况 -每日物料供应情况 3.2.5.1信息定义 栏目名称 栏目说明 日期 日期 物料类型 物料类型 物料编号 物料编号 物料名称 物料名称 单位 单位 数量 数量 扣减 扣减 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.5.2功能操作 <创建> - 创建一个新的物料供应情况 <修改> - 修改一个物料供应情况 <确认> - 确认一个物料供应情况 <作废> - 作废一个物料供应情况 <浏览> - 浏览物料供应情况 <打印> - 打印物料供应情况 3.2.6电石销售情况 -每日电石销售情况 3.2.6.1信息定义 栏目名称 栏目说明 日期 日期 客户编号 客户编号 客户名称 客户名称 包装类型 包装类型 单位 单位 实发数 实发数 皮磅差 皮磅差 加磅差 加磅差 结算数 结算数 发出品质等级 发出品质等级 认定品质等级 认定品质等级 价格 价格 扣减量 扣减量 升降级 升降级 运单号 运单号 运费 运费 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.6.2功能操作 <创建> - 创建一个新的电石销售情况 <修改> - 修改一个电石销售情况 <确认> - 确认一个电石销售情况 <作废> - 作废一个电石销售情况 <浏览> - 浏览电石销售情况 <打印> - 打印电石销售情况 3.2.7电石结算情况 -每日电石结算情况 3.2.7.1信息定义 栏目名称 栏目说明 日期 日期 客户编号 客户编号 客户名称 客户名称 本期金额 本期金额 资金回收 资金回收 欠款-应收 欠款-应收 欠款-估计 欠款-估计 欠款-财务 欠款-财务 付款方式 付款方式 状态 {待确认,已确认,已作废} -由所进行的功能操作来控制 备注 备注 3.2.7.2功能操作 <创建> - 创建一个新的电石结算情况 <修改> - 修改一个电石结算情况 <确认> - 确认一个电石结算情况 <作废> - 作废一个电石结算情况 <浏览> - 浏览电石结算情况 <打印> - 打印电石结算情况 3.3查询分析类对象 查询用于支持各种数据的查找/统计/分析。 本系统对分析/报警的支持,最终均以查询的方式予以表示。 如果这些数据需要打印,那么就形成报表。查询以数据列表形式/图形形式显示结果,报表以通用的打印预览格式显示数据。 3.3.1生产情况分析 分析报警对象 X轴 Y轴 报警线? 说明 3.3.2库存情况分析 分析报警对象 X轴 Y轴 报警线? 说明 3.3.3销售情况分析 分析报警对象 X轴 Y轴 报警线? 说明 磅差分析 日 磅差 - 重量 YES 磅差率分析 日 磅差率 - % YES 灰份分析 日 灰份 YES ? 销售回款分析 日 应收/已收 YES 销售回款率分析 日 回款率 - % YES 发运分析 日/周/月 发运数量/计划 YES 发运完成率分析 日 发运完成率报 - % YES 发气量分析 日 需方/我方 YES 升级率分析 日 升级率 - % YES 降级率分析 日 降级率 - % YES 3.4系统类对象 包括系统基本数据/系统参数/权限管理/操作日志等 3.4.1系统基本数据 3.4.1.1信息定义 栏目名称 栏目说明 代码 用于唯一标识系统基本数据 名称 系统基本数据名称 类型 系统基本数据类型 取值 系统基本数据取值 状态 {正常,暂停使用,已作废} 备注 备注 3.4.1.2功能操作 <创建> - 创建一个新的自定义类系统基本数据的取值 <暂停使用> - 标志一个自定义类系统基本数据的取值暂停使用 <作废> - 作废一个自定义类系统基本数据的取值 3.4.1.3基本数据一览表 名称 类型 取值 部门 自定义类 {昌宏化工,供销部,财务部,企管部, . . .} 员工类型 自定义类 . . . . . . 供应商类型 自定义类 {A类,B类,C类. . . . . .} 客户类型 自定义类 . . . . . . 设备类型 自定义类 . . . . . . 电石类型 自定义类 . . . . . . 物料类型 自定义类 {原料,辅料,能耗,. . . . . .} 重量单位 自定义类 {吨,公斤. . .} 质量等级 自定义类 {优等品,一级品,. . .} 包装类型 自定义类 {箱装,桶装,袋装,散装 . . .} 石灰品质指标 自定义类 {Gao,有效Gao,Mgo,酸不溶物,生过烧} 炭材品质指标 自定义类 {固定碳,外水份,水份,灰芬,挥发份} 3.4.2系统参数 3.4.2.1信息定义 栏目名称 栏目说明 代码 用于唯一标识系统参数 名称 系统参数名称 取值 系统参数取值 备注 备注 3.4.2.2功能操作 <修改> - 修改一个系统参数取值,系统参数由系统管理员控制调整 3.4.2.3系统参数一览表 名称 类型 取值 说明 一次读取记录数上限 系统类 1000 用于系统性能调解 当前会计期间-开始 系统类 2003-05-01 用于库存月结处理 当前会计期间-截止 系统类 2003-05-31 用于库存月结处理 公司名称 系统类 宜宾昌宏集团有限公司 用于报表打印 联系电话 系统类 0831-8888888 用于报表打印 枯水期 系统类 11-02 用于定义枯水期 优等品-发气量 下限指标 品质类 用于质检等级判断 优等品-乙炔中磷化氢上限指标 品质类 用于质检等级判断 一等品-发气量 下限指标 品质类 用于质检等级判断 一等品-乙炔中磷化氢上限指标 品质类 用于质检等级判断 合格品-发气量 下限指标 品质类 用于质检等级判断 合格品-乙炔中磷化氢上限指标 品质类 用于质检等级判断 乙炔中硫化氢指标上限 品质类 用于质检等级判断 粒度下限 品质类 用于质检等级判断/粒度扣减 粒度上限 品质类 用于质检等级判断/粒度扣减 产量报警指标 分析类 用于分析/报警 电石质量报警指标 分析类 用于分析/报警 物耗报警指标 分析类 用于分析/报警 作业报警指标 分析类 用于分析/报警 物料供应报警指标 分析类 用于分析/报警 物料质量报警指标 分析类 用于分析/报警 销售磅差报警指标 分析类 用于分析/报警 销售磅差率报警指标 分析类 用于分析/报警 销售灰份报警指标 分析类 用于分析/报警 销售回款报警指标 分析类 用于分析/报警 销售回款率报警指标 分析类 用于分析/报警 销售发运报警指标 分析类 用于分析/报警 销售发运完成率报警指标 分析类 用于分析/报警 销售发气量报警指标 分析类 用于分析/报警 销售升级率报警指标 分析类 用于分析/报警 销售降级率报警指标 分析类 用于分析/报警 销售灰份报警指标 分析类 用于分析/报警 3.4.3系统角色权限 3.4.3.1信息定义 栏目名称 栏目说明 系统角色 系统角色 对象类型 那种对象类型 操作类型 操作类型 是否授权 是否授权 备注 备注 3.4.3.2功能操作 <授权> - 对某对象的某操作授权给某系统用户 <取消授权> - 对某对象的某操作取消授权给某系统用户 3.4.4操作日志 3.4.4.1信息定义 栏目名称 栏目说明 操作时间 系统自动控制 操作员 系统自动控制 对象种类 系统自动控制 操作类型 系统自动控制 具体对象 系统自动控制 SQL 系统自动控制 备注 系统自动控制 3.4.4.2功能操作 <创建> - 创建一个操作日志 3.4.5用户环境 -用于支持用户操作友好方便性 3.4.5.1信息定义 栏目名称 栏目说明 操作时间 系统自动控制 操作员 系统自动控制 对象种类 系统自动控制 环境ID 系统自动控制 环境特征 系统自动控制 备注 系统自动控制 3.4.5.2功能操作 <创建> - 创建一个用户环境 <更新> - 更新一个用户环境 第四章 系统设计原则及平台选择 4.1 系统设计原则 采用MS .NET多层分布式架构 重视用户IT整体规划的要求,提供应用层标准接口和部分数据字典 适应未来管理的可能需求, 重视系统构造的弹性 遵循用户界面友好性、实用性和安全性相结合的原则 4.2 系统平台 基于MS Windows 2000平台 基于COM+应用服务器 基于MS IIS WEB服务器 基于MS SQL Server 2000数据库服务器 开发平台为MS Visual Studio

img
天行听书V5.2.2

天行听书应用捷通华声“灵云”平台语音合成,语音识别技术能力,是一款专业的阅读听书软件,让您轻松体验“所读即听”的语音阅读世界,从此阅读不再只靠双眼. 天行听书亮点推荐: 【舒适的听书体验】 捷通华声是国内顶尖的语音合成技术公司,其语音合成效果达到了真人发声的水平,天行听书应用捷通华声“灵云”平台的语音合成能力,具备自然的真人朗读声音,更可以根据您的爱好选择您喜欢的音色,根据您的习惯调节朗读速度,自定义您的听书模式. 【舒适的阅读体验】 您可以根据您的阅读环境,阅读习惯及以前的阅读记忆调节阅读进度,设置书签,调解背景亮度,设置字体大小以及阅读背景图案,自定义您的阅读模式. 【准确的语音搜索体验】 支持语音搜索功能,动动口便可以快速找到您的本地书籍或在线书城的书籍. 【海量的图书资源】 您可以在天行听书在线书城的海量图书资源中找到您想听想读的书籍,无需下载后再传到软件中,搜到即所得,让您尽早享受阅读和听书的乐趣. 天行听书,其实阅读可以不靠眼的! 天行汇通公司专注发展拥有智能人机交互(HCI)技术特色的移动应用产品,也欢迎您体验最新推出的小唐龙司机助手,天行输入法.小唐龙司机助手帮助司机开车打电话,动口不动手,不用担心史上最严交规,帮助您安全开车千万里!天行输入法应用捷通华声“灵云”平台手写识别,语音识别技术能力,支持竖屏叠写,横屏连写,语音输入和键盘输入,让您轻松享受手写输入的舒适,语音输入的便捷. 天行,我看行! 更多了解,欢迎大家访问 灵云:http://www.hcicloud.com 天行:http://www.tianxing.com 微博:@天行听书 V5.2.2新版本特性: 1) 增加了听书定时功能。 2) 修改部分手机“返回听书位置”时,会返回第一页的问题。 3) 修改部分手机阅读时不标绿阅读内容且也无法自动翻页的问题。

img
Delphi6开发人员指南-正文1

本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点 译者序\r\n序言\r\n前言\r\n作者介绍\r\n\r\n第一部分 基本知识\r\n\r\n第1章 Delphi编程简介\r\n\r\n1.1 Delphi的产品家族介绍\r\n1.2 认识Delphi\r\n1.2.1 可视化开发环境的特性\r\n1.2.2 编译器速度和编译后代码执行效率\r\n1.2.3 编程语言的功能和复杂性的对立\r\n1.2.4 数据库结构的灵活性和可扩展性\r\n1.2.5 实现机制对设计和使用模式的增强\r\n1.3 历史回顾\r\n1.3.1 Delphi 1\r\n1.3.2 Delphi 2\r\n1.3.3 Delphi 3\r\n1.3.4 Delphi 4\r\n1.3.5 Delphi 5\r\n1.3.6 Delphi 6\r\n1.4 Delphi IDE环境\r\n1.4.1 主窗口\r\n1.4.2 主菜单\r\n1.4.3 Delphi工具栏\r\n1.4.4 组件选项板\r\n1.4.5 窗体设计器\r\n1.4.6 对象观察器\r\n1.4.7 代码编辑器\r\n1.4.8 代码浏览器\r\n1.4.9 对象层次图\r\n1.5 项目源文件概述\r\n1.6 应用程序简介\r\n1.7 事件处理机制的优势\r\n1.8 快速原型化\r\n1.9 可扩展的组件和环境\r\n1.10 必须掌握的10种IDE功能\r\n1.11 小结\r\n\r\n第2章 Object Pascal语言\r\n\r\n2.1 注释\r\n2.2 扩展过程和函数特性\r\n2.2.1 函数调用中的圆括号\r\n2.2.2 重载\r\n2.2.3 缺省参数值\r\n2.3 变量\r\n2.4 常量\r\n2.5 运算符\r\n2.5.1 赋值运算符\r\n2.5.2 比较运算符\r\n2.5.3 逻辑运算符\r\n2.5.4 数学运算符\r\n2.5.5 按位运算符\r\n2.5.6 增/减量运算\r\n2.5.7 “计算-赋值”运算符\r\n2.6 Object Pascal类型\r\n2.6.1 类型比较\r\n2.6.2 字符类型\r\n2.6.3 字符串\r\n2.6.4 变体类型\r\n2.6.5 货币类型\r\n2.7 用户自定义类型\r\n2.7.1 数组\r\n2.7.2 动态数组\r\n2.7.3 记录\r\n2.7.4 集合\r\n2.7.5 对象\r\n2.7.6 指针\r\n2.7.7 类型别名\r\n2.8 类型转换和强制类型转换\r\n2.9 字符串资源\r\n2.10 条件判断语句\r\n2.10.1 if语句\r\n2.10.2 case语句\r\n2.11 循环\r\n2.11.1 for循环\r\n2.11.2 while循环\r\n2.11.3 repeat..until循环\r\n2.11.4 Break()过程\r\n2.11.5 Continue()过程\r\n2.12 过程和函数\r\n2.13 作用域\r\n2.14 单元\r\n2.14.1 uses子句\r\n2.14.2 单元循环引用\r\n2.15 包\r\n2.15.1 使用Delphi包\r\n2.15.2 包的语法格式\r\n2.16 面向对象编程\r\n2.17 使用Delphi对象\r\n2.17.1 声明和实例化\r\n2.17.2 析构\r\n2.17.3 方法\r\n2.17.4 方法的类型\r\n2.17.5 属性\r\n2.17.6 可见区域说明符\r\n2.17.7 友元类\r\n2.17.8 对象的秘密\r\n2.17.9 TObject:所有对象的祖先\r\n2.17.10 接口\r\n2.18 结构化异常处理\r\n2.18.1 异常类\r\n2.18.2 异常执行流程\r\n2.18.3 异常的再激活\r\n2.19 运行时信息\r\n2.20 小结\r\n\r\n第3章 理解Windows消息\r\n\r\n3.1 什么是消息\r\n3.2 消息的类型\r\n3.3 Windows消息系统的工作方式\r\n3.4 Delphi的消息系统\r\n3.5 消息的处理\r\n3.5.1 消息处理:并非无约定\r\n3.5.2 为Result消息值赋值\r\n3.5.3 TApplication类型的OnMessage事件\r\n3.6 发送自己的消息\r\n3.6.1 Perform()方法\r\n3.6.2 SendMessage()和PostMessage()API函数\r\n3.7 非标准消息\r\n3.7.1 通知消息\r\n3.7.2 内部VCL消息\r\n3.7.3 用户定义消息\r\n3.8 剖析VCL的消息系统\r\n3.9 消息和事件之间的关系\r\n3.10 小结\r\n\r\n第二部分 高级技术\r\n\r\n第4章 编写可移植代码\r\n\r\n4.1 版本兼容的共性\r\n4.1.1 版本判断\r\n4.1.2 单元、组件和包\r\n4.1.3 关于IDE的讨论\r\n4.2 Delphi和Kylix兼容性\r\n4.2.1 Linux中不具备的特性\r\n4.2.2 编译器和语言特性\r\n4.2.3 平台相关特点\r\n4.3 Delphi 6的新特性\r\n4.3.1 变体变量\r\n4.3.2 枚举类型\r\n4.3.3 $IF指示符\r\n4.3.4 潜在的二进制DFM的不兼容\r\n4.4 从Delphi 5升级\r\n4.4.1 可写的类型常量\r\n4.4.2 Cardinal一元取反操作\r\n4.5 从Delphi 4升级\r\n4.5.1 RTL问题\r\n4.5.2 VCL问题\r\n4.5.3 Internet开发主题\r\n4.5.4 数据库问题\r\n4.6 从Delphi 3升级\r\n4.6.1 无符号32位整数\r\n4.6.2 64位整数\r\n4.6.3 Real类型\r\n4.7 从Delphi 2升级\r\n4.7.1 Boolean类型的改变\r\n4.7.2 ResourceString\r\n4.7.3 BTL的改变\r\n4.7.4 TCustomForm\r\n4.7.5 GetChildren()\r\n4.7.6 自动化服务器\r\n4.8 从Delphil升级\r\n4.9 小结\r\n\r\n第5章 多线程技术\r\n\r\n5.1 阐述线程\r\n5.1.1 多任务的类型\r\n5.1.2 在Delphi应用程序中使用多线程\r\n5.1.3 线程的滥用\r\n5.2 TThread对象\r\n5.2.1 TThread基础\r\n5.2.2 线程实例\r\n5.2.3 线程终止\r\n5.2.4 和VCL同步\r\n5.2.5 应用程序Demo\r\n5.2.6 优先级和调度\r\n5.2.7 线程的挂起和恢复\r\n5.2.8 线程中的计时\r\n5.3 管理多线程\r\n5.3.1 线程局部存储\r\n5.3.2 线程同步\r\n5.4 多线程应用程序范例\r\n5.4.1 用户界面\r\n5.4.2 搜索线程\r\n5.4.3 调整优先级\r\n5.5 多线程访问BDE\r\n5.6 多线程图形操作\r\n5.7 纤程\r\n5.8 小结\r\n\r\n第6章 动态链接库\r\n\r\n6.1 何谓DLL\r\n6.2 静态链接和动态链接\r\n6.3 为何要用DLL\r\n6.3.1 多个应用程序共享代码、资源和数据\r\n6.3.2 隐藏实施细节\r\n6.4 创建和使用DLL\r\n6.4.1 数美分(简单的DLL)\r\n6.4.2 通过DLL显示模式窗体\r\n6.5 通过DLL显示无模式窗体\r\n6.6 在Delphi应用程序中使用DLL\r\n6.7 显式调用DLL\r\n6.8 动态链接库的入口/出口函数\r\n6.8.1 进程和线程的初始化和结束标准函数\r\n6.8.2 DLL入口/出口示例\r\n6.9 DLL中的异常\r\n6.9.1 在16位Delphi中捕捉异常\r\n6.9.2 异常和Safecall指示符\r\n6.10 回调函数\r\n6.10.1 使用回调函数\r\n6.10.2 绘制Owner-Draw列表框\r\n6.11 通过DLL调用回调函数\r\n6.12 共享不同进程中的DLL数据\r\n6.12.1 创建共享内存的DLL\r\n6.12.2 使用共享内存的DLL\r\n6.13 从DLL中输出对象\r\n6.14 小结\r\n\r\n第三部分 数据库开发\r\n\r\n第7章 Delphi数据库体系结构\r\n\r\n7.1 数据库类型\r\n7.2 数据库体系结构\r\n7.3 连接到数据库服务器\r\n7.3.1 数据库连接概述\r\n7.3.2 建立数据库连接\r\n7.4 操作数据集\r\n7.4.1 打开及关闭数据集\r\n7.4.2 导航数据集\r\n7.4.3 管理数据集\r\n7.4.4 数据集状态\r\n7.5 操作字段\r\n7.5.1 字段值\r\n7.5.2 字段数据类型\r\n7.5.3 字段名称及号码\r\n7.5.4 管理字段数据\r\n7.5.5 操作BLOB字段\r\n7.5.6 过滤数据\r\n7.5.7 搜索数据集\r\n7.5.8 关键字查找\r\n7.5.9 使用数据模块\r\n7.5.10 查找、范围及过滤器演示\r\n7.5.11 书签\r\n7.6 小结\r\n\r\n第8章 用dbExpress进行数据库开发\r\n\r\n8.1 使用dbExpess\r\n8.1.1 单向、只读数据集\r\n8.1.2 dbExpress与BDE比较\r\n8.1.3 dbExpress支持跨平台开发\r\n8.2 dbExpress组件\r\n8.2.1 TSQLConnection\r\n8.2.2 TSQLDataset\r\n8.2.3 显示查询结果\r\n8.2.4 向后兼容组件\r\n8.2.5 TSQLMonitor\r\n8.3 设计可编辑的dbExpress应用程序\r\n8.4 部署dbExpress应用程序\r\n8.5 小结\r\n\r\n第9章 用dbGo for ADO进行数据库开发\r\n\r\n9.1 dbGo介绍\r\n9.2 Mcrosoft的统一数据访问策略概述\r\n9.3 OLE DB、ADO、ODBC概述\r\n9.4 使用dbGo for ADO\r\n9.4.1 为ODBC建立OLE DB提供者\r\n9.4.2 Access数据库\r\n9.5 dbGo for ADO组件\r\n9.5.1 TADOConnection\r\n9.5.2 建立数据库连接\r\n9.5.3 回避/替代登录提示\r\n9.5.4 TADOCommand\r\n9.5.5 TADODataset\r\n9.5.6 类似BDE的数据集组件\r\n9.6 事务处理\r\n9.7 小结\r\n\r\n第四部分 基于组件的开发\r\n\r\n第10章 组件体系:VCL和CLX\r\n\r\n10.1 关于新的CLX\r\n10.2 何谓组件\r\n10.3 组件的层次结构\r\n10.3.1 非可视组件\r\n10.3.2 可视组件\r\n10.4 组件结构\r\n10.4.1 属性\r\n10.4.2 属性的类型\r\n10.4.3 方法\r\n10.4.4 事件\r\n10.4.5 流式属性\r\n10.4.6 所有权\r\n10.4.7 父子关系\r\n10.5 可视组件的继承关系\r\n10.5.1 TPersistent类\r\n10.5.2 TPersistent方法\r\n10.5.3 TComponent类\r\n10.5.4 TControl类\r\n10.5.5 TWinControl和TWidgetControl\r\n10.5.6 TGraphicControl类\r\n10.5.7 TCustomControl类\r\n10.5.8 其他类\r\n10.6 运行期类型信息\r\n10.6.1 TypInfo.pas单元:运行类型信息的定义者\r\n10.6.2 获取类型信息\r\n10.6.3 获得方法指针的类型信息\r\n10.6.4 获取有序类型的类型信息\r\n10.6.5 通过RTTI为属性赋值\r\n10.7 小结\r\n\r\n第11章 编写VCL组件\r\n\r\n11.1 组件设计基础\r\n11.1.1 决定是否应编写组件\r\n11.1.2 编写组件的步骤\r\n11.1.3 确定祖先类\r\n11.1.4 创建组件单元\r\n11.1.5 创建属性\r\n11.1.6 创建事件\r\n11.1.7 创建自定义方法\r\n11.1.8 构造函数和析构函数\r\n11.1.9 注册组件\r\n11.1.10 测试组件\r\n11.1.11 提供组件图标\r\n11.2 组件示例\r\n11.2.1 扩展Win32组件包装器的性能\r\n11.2.2 TddgRunButton:创建属性\r\n11.3 TddgButtonEdit:一个容器组件\r\n11.3.1 设计决策\r\n11.3.2 显露属性\r\n11.3.3 显露事件\r\n11.3.4 TddgDigitalClock:创建组件事件\r\n11.3.5 把窗体添加到组件面板\r\n11.4 小结\r\n\r\n第12章 高级VCL组件构造技术\r\n\r\n12.1 伪可视组件\r\n12.1.1 扩展提示功能\r\n12.1.2 创建一个THintWindow派生类\r\n12.1.3 椭圆型窗口\r\n12.1.4 激活THintWindow派生窗口\r\n12.1.5 运用TDDGHintWindow\r\n12.2 动态组件\r\n12.2.1 滚动字幕组件\r\n12.2.2 编写组件\r\n12.2.3 在屏幕以外的位图上绘制\r\n12.2.4 描绘组件\r\n12.2.5 让组件“动起来”\r\n12.2.6 测试TddgMarquee组件\r\n12.3 编写属性编辑器\r\n12.3.1 创建一个继承的属性编辑器对象\r\n12.3.2 将属性作为文本进行编辑\r\n12.3.3 注册新的属性编辑器\r\n12.3.4 利用对话框将属性作为整体进行编辑\r\n12.4 组件编辑器\r\n12.4.1 TComponentEditor\r\n12.4.2 一个简单的组件\r\n12.4.3 一个简单的组件编辑器\r\n12.4.4 注册组件编辑器\r\n12.5 对非公开的组件数据执行流操作\r\n12.5.1 定义属性\r\n12.5.2 DefineProperty()的例子\r\n12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例\r\n12.6 属性类别\r\n12.6.1 类别类\r\n12.6.2 自定义类别\r\n12.7 组件列表:TCollection和TCollectionItem\r\n12.7.1 定义TCollectionItem类:TRunBtnItem\r\n12.7.2 定义TCollection类:TRunButtons\r\n12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons\r\n12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表\r\n12.8 小结\r\n\r\n第13章 CLX组件开发\r\n\r\n13.1 何谓CLX\r\n13.2 CLX的体系结构\r\n13.3 移植问题\r\n13.4 组件示例\r\n13.4.1 TddgSpinner组件\r\n13.4.2 设计期增强工具\r\n13.4.3 组件引用和图像列表\r\n13.4.4 CLX数据感知组件\r\n13.5 CLX设计编辑器\r\n13.6 包\r\n13.6.1 命名约定\r\n13.6.2 运行期包\r\n13.6.3 设计期包\r\n13.6.4 单元注册\r\n13.6.5 组件位图\r\n13.7 小结\r\n\r\n第14章 充分发挥包的作用\r\n\r\n14.1 为何要用包\r\n14.1.1 精简代码\r\n14.1.2 发布更小的应用程序--应用程序分割\r\n14.1.3 组件容器\r\n14.2 为何不用包\r\n14.3 包的类型\r\n14.4 包文件\r\n14.5 使用运行期包\r\n14.6 把包安装到Delphi IDE中\r\n14.7 创建包\r\n14.7.1 包编辑器\r\n14.7.2 包设计方案\r\n14.8 包的版本化\r\n14.9 包编译器指示符\r\n14.10 包的命名约定\r\n14.11 使用运行期(插件)包的可扩展应用程序\r\n14.12 从包中导出函数\r\n14.13 获取包的信息\r\n14.14 小结\r\n\r\n第15章 COM开发\r\n\r\n15.1 COM基础\r\n15.1.1 COM2组件对象模型\r\n15.1.2 COM、ActiveX和OLE之间的对比\r\n15.1.3 术语\r\n15.1.4 ActiveX的优势\r\n15.1.5 OLE 与OLE 2的对比\r\n15.1.6 结构化存储\r\n15.1.7 统一数据传输\r\n15.1.8 线程模式\r\n15.1.9 COM+\r\n15.2 COM与Object Pascal\r\n15.2.1 接口\r\n15.2.2 使用接口\r\n15.2.3 HResult返回类型\r\n15.3 COM对象和类工厂\r\n15.3.1 TComObject和TComObject-Factory\r\n15.3.2 in-process COM服务器\r\n15.3.3 创建in-proc COM服务器实例\r\n15.3.4 out-of-process COM服务器\r\n15.4 聚合\r\n15.5 分布式COM\r\n15.6 Automation\r\n15.6.1 IDispatch\r\n15.6.2 类型信息\r\n15.6.3 后期绑定与早期绑定的对比\r\n15.6.4 注册\r\n15.6.5 创建Automation服务器\r\n15.6.6 创建Automation控制器\r\n15.7 高级Automation技术\r\n15.7.1 Automation事件\r\n15.7.2 Automation集合\r\n15.7.3 类型库新增接口类型\r\n15.7.4 二进制数据的交换\r\n15.7.5 后台:COM的语言支持\r\n15.8 TOleContainer\r\n15.8.1 一个简单的示例程序\r\n15.8.2 一个较为复杂的示例程序\r\n15.9.4 小结\r\n\r\n第16章 Windows外壳编程\r\n\r\n16.1 托盘图标组件\r\n16.1.1 API\r\n16.1.2 处理消息\r\n16.1.3 图标及提示\r\n16.1.4 鼠标点击\r\n16.1.5 隐藏应用程序\r\n16.1.6 托盘图标应用程序示例\r\n16.2 应用程序桌面工具栏\r\n16.2.1 API\r\n16.2.2 TAppBar:AppBar的窗体\r\n16.2.3 使用TAppBar\r\n16.3 外壳链接\r\n16.3.1 获取IShellLink实例\r\n16.3.2 使用IShellLink\r\n16.3.3 创建一个外壳链接\r\n16.3.4 获取及设置链接信息\r\n16.3.5 示例程序\r\n16.4 外壳扩展\r\n16.4.1 COM对象向导\r\n16.4.2 复制钩子处理器\r\n16.4.3 环境菜单处理器\r\n16.4.4 图标处理器\r\n16.4.5 信息提示处理器\r\n16.5 小结\r\n\r\n第17章 使用Open Tools API\r\n\r\n17.1 Open Tools接口\r\n17.2 使用Open Tools API\r\n17.2.1 简单的向导\r\n17.2.2 Wizard向导\r\n17.2.3 DDG Search\r\n17.3 窗体向导\r\n17.4 小结\r\n\r\n第五部分 企业开发\r\n\r\n第18章 使用COM+/MTS开发事务程序\r\n\r\n18.1 什么是COM+\r\n18.2 使用COM的原因\r\n18.3 服务\r\n18.3.1 事务\r\n18.3.2 安全\r\n18.3.3 及时激活\r\n18.3.4 队列组件\r\n18.3.5 对象缓冲池\r\n18.3.6 事件\r\n18.4 运行期\r\n18.4.1 注册数据库(RegDB)\r\n18.4.2 配置组件\r\n18.4.3 运行环境(Contexts)\r\n18.4.4 Neutral线程\r\n18.5 创建COM+应用程序\r\n18.5.1 目标:规模\r\n18.5.2 执行环境\r\n18.5.3 有状态(Stateful)和无状态(Stateless)\r\n18.5.4 生命周期管理\r\n18.5.5 COM+应用程序的组织\r\n18.5.6 有关事务的思考\r\n18.5.7 资源\r\n18.6 Delphi中的COM+\r\n18.6.1 COM+向导\r\n18.6.2 COM+框架\r\n18.6.3 Tic-Tac-Toe:一个简单的应用程序\r\n18.6.4 调试COM+应用程序\r\n18.7 小结\r\n\r\n第19章 CORBA开发\r\n\r\n19.1 CORBA特性\r\n19.2 CORBA体系结构\r\n19.2.1 OSAgent\r\n19.2.2 接口\r\n19.3 接口定义语言\r\n19.3.1 基本类型\r\n19.3.2 用户定义类型\r\n19.3.3 别名\r\n19.3.4 枚举\r\n19.3.5 结构\r\n19.3.6 数组\r\n19.3.7 序列\r\n19.3.8 方法参数\r\n19.3.9 模块\r\n19.4 银行案例\r\n19.5 复杂数据类型\r\n19.6 Delphi、CORBA和Enterprise Java Beans(EJB)\r\n19.6.1 Delphi程序员EJB速成\r\n19.6.2 EJB是一种特殊的组件\r\n19.6.3 EJB在容器中运行\r\n19.6.4 EJB具有预定义的API\r\n19.6.5 Home(本地)接口和Remote(远程)接口\r\n19.6.6 EJB的类型\r\n19.6.7 配置JBuilder 5以开发EJB\r\n19.6.8 创建一个简单的“Hello'world” EJB\r\n19.7 CORBA和Web Services\r\n19.7.1 创建Web Service\r\n19.7.2 创建SOAP客户端应用程序\r\n19.7.3 添加CORBA客户端代码至Web Service中\r\n19.8 小结\r\n\r\n第20章 BizSnap开发:基于SOAP的Web Services\r\n\r\n20.1 Web Services\r\n20.2 SOAP\r\n20.3 编写Web Service\r\n20.3.1 TWebModule\r\n20.3.2 定义一个可调用接口\r\n20.3.3 实现一个可调用接口\r\n20.3.4 测试Web Service\r\n20.4 从客户端调用Web Service\r\n20.4.1 为远程可调用对象产生一个输入单元\r\n20.4.2 使用THTTPRIO组件\r\n20.5 小结\r\n\r\n第21章 DataSnap开发\r\n\r\n21.1 创建多层应用程序的机制\r\n21.2 多层体系结构的优点\r\n21.2.1 集中商业逻辑\r\n21.2.2 瘦客户结构\r\n21.2.3 自动错误调解\r\n21.2.4 公文包模型\r\n21.2.5 容错性\r\n21.2.6 负载平衡\r\n21.3 典型的DataSnap结构\r\n21.3.1 服务器\r\n21.3.2 客户端\r\n21.4 使用DataSnap创建应用程序\r\n21.4.1 创建服务器\r\n21.4.2 创建客户端\r\n21.5 更多增强应用程序健壮性的措施\r\n21.5.1 客户端优化技术\r\n21.5.2 应用程序服务器技术\r\n21.6 实例\r\n21.7 Client Dataset组件的更多特性\r\n21.8 典型错误\r\n21.9 配置DataSnap应用程序\r\n21.9.1 发放许可证\r\n21.9.2 DCOM配置\r\n21.9.3 文件配置\r\n21.9.4 Internet配置考虑(防火墙)\r\n21.10 小结\r\n\r\n第六部分 Internet开发\r\n\r\n第22章 ASP开发\r\n\r\n22.1 理解活动服务器对象\r\n22.2 活动服务器对象向导\r\n22.2.1 类型库编辑器\r\n22.2.2 新方法\r\n22.2.3 ASP Response对象\r\n22.2.4 第一次运行\r\n22.2.5 ASP Request对象\r\n22.2.6 重新编译活动服务器对象\r\n22.2.7 再次运行活动服务器对象\r\n22.3 ASP Session、Server和Application对象\r\n22.4 活动服务器对象及数据库\r\n22.5 活动服务器对象及NetCLX支持\r\n22.6 调试活动服务器对象\r\n22.6.1 使用MTS调试活动服务器对象\r\n22.6.2 采用Windows NT 4调试\r\n22.6.3 采用Windows 2000调试\r\n22.7 小结\r\n\r\n第23章 WebSnap开发\r\n\r\n23.1 WebSnap的特性\r\n23.1.1 多个Webmodule\r\n23.1.2 服务器执行脚本\r\n23.1.3 TAdapter(适配器)组件\r\n23.1.4 多种调度方法\r\n23.1.5 Page producer(页面生成器)组件\r\n23.1.6 会话管理\r\n23.1.7 登录服务\r\n23.1.8 用户跟踪\r\n23.1.9 HTML管理\r\n23.1.10 文件上传服务\r\n23.2 websnap开发\r\n23.2.1 应用程序的设计\r\n23.2.2 为应用程序添加功能\r\n23.2.3 导航菜单栏\r\n23.2.4 登录\r\n23.2.5 管理用户偏好数据\r\n23.2.6 在会话之间保存偏好数据\r\n23.2.7 图像处理\r\n23.2.8 显示数据\r\n23.2.9 将应用程序转换为ISAPI DLL\r\n23.3 高级话题\r\n23.3.1 LocabFileServices(文件定位服务)\r\n23.3.2 文件上传\r\n23.3.3 包含定制模板\r\n23.3.4 在TAdapterPageProducer中定制组件\r\n23.4 小结\r\n\r\n第24章 无线开发\r\n\r\n24.1 开发技术的发展:回顾\r\n24.1.1 20世纪80年代以前:庞然大物时代\r\n24.1.2 20世纪80年代后期:桌面数据库应用程序\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.2.1 移动电话\r\n24.2.2 palmos设备\r\n24.2.3 Pocket PC\r\n24.2.4 RIM BlackBerrv\r\n24.3 无线电技术\r\n24.3.1 GSM、CDMA和TDMA\r\n24.3.2 CDPD\r\n24.3.3 3G\r\n24.3.4 GPRS\r\n24.3.5 蓝牙\r\n24.3.6 802.11\r\n24.4 基于服务器的无线数据技术\r\n24.4.1 SMS\r\n24.4.2 WAP\r\n24.4.3 I-mode\r\n24.4.4 PQA\r\n24.5 无线用户体验\r\n24.5.1 环路选择网络和数据包选择网络\r\n24.5.2 无线并非Web\r\n24.5.3 窗体因素的重要性\r\n24.5.4 数据输入和导航技术\r\n24.5.5 M-Commerce\r\n24.6 小结 本书至今已增订到第5版,在7年的时间中,本书不断完善,为了写作本书,很多人对此付出了相当多的精力。Xavier和Steve是最早的Borland Delphi开发小组成员,本书是他们结合15年的Delphi开发经验写成的。在本书中,我们可以感受到作者的努力精神,正是这种精神,让Delphi开发从书成为世界上最畅销的Delphi书籍,并两次获得Delphi读者最佳选择奖。这本书由开发人员撰写,同时也供开发人员阅读。 本书建立在《Delphi 5开发人员指南》基础之上,理想状况下,我们希望本书包括《Delphi 5开发人员指南》的全部章节和所有新内容。但是《Delphi 5开发人员指南》一书本身太厚,为了给Delphi 6新特性的讨论留下足够空间,我们只抽取了其中的部分章节,再加上Delphi 6的新特性讨论,新书就这样展现在大家面前。 本书包括了一些全新章节,许多章节是《Delphi 5开发人员指南》对应章节的扩展。但在《Delphi 5开发人员指南》中介绍的内容还是极其有用的。因此我们在本书配套光盘中附带了整个电子版的《Delphi 5开发人员指南》,每个章节单独地用PDF格式存储。在电子版的封面中包含了《Delphi 5开发人员指南》的目录表,读者可以在其中查找感兴趣的章节。对读者而言,可谓一举两得。 本书分成六部分。第一部分,“基础知识”,讲述了Delphi编程必要的基础知识。第二部分,“高级技术”,讨论了一些通用的高级开发主题,例如线程和动态链接库。第三部分,“数据库开发”,从多个层面上讨论了Delphi数据库访问主题。第四部分,“基于组件的开发”,讨论了关于VCL、CLX、包、COM和Open Tools API开发问题。第五部分,“企业开发”,其中讨论了开发企业级应用程序需要的实践知识,包括COM+、COBRA、SOAP/BizSnap和DataSnap。最后,第六部分,“Internet开发”,演示了使用Delphi开发Internet和无线应用程序的技术。 本书面向的读者 书如其名,本书是面向开发人员的。如果读者是一位开发人员,并且使用Delphi,那就需要拥有一本这样的书。本书面向3类读者: ■希望将技术提高一个层次的Delphi开发人员。 ■熟悉Pascal、C/C++、Java或Basic,并希望开始使用Delphi的程序员。 ■希望最大限度利用Delphi来研究其中先进特性和隐含特性的程序员。 本书使用的约定 本书使用了下列约定: ■代码行、命令、声明、变量、程序输出以及任何屏幕内容都用计算机打印字体显示。 ■需要读者输入的内容用粗体显示。 ■语法描述中的占位符用斜体表示。 ■技术术语在文章中第一次出现或者用于强调重点时,用斜体表示。 ■程序或过程用在其名后加上一对圆括号表示。虽然这不是标准Pascal风格,但是有助于和属性、变量和类区分。 各章都有一些注意、提示和警告,为了方便阅读,用特殊的字体标出。 本书配套光盘中有书中所有的源代码和项目文件,同时还有一些本书中尚未提到的源代码示例。此外,光盘中还包括一些第三方组件和工具的使用版。 Delphi 6开发指南网站 请访问网站http://www.xapware.com/ddg并且加入《Delphi 6开发人员指南》会员,从而得到本书的额外信息。读者也可以加入我们新闻邮件的邮件列表,并访问我们的讨论组。 写作本书的缘由 有人会问,是什么驱使我们编写本书的。这很难解释,但是当看到其他开发人员仍然将标满了注解、且被翻阅得破烂不堪的《Delphi 5开发人员指南》视为至宝时,就感到一切付出都是值得的。 完成本书的写作后,现在我们可以稍微轻松下来并愉快地编写一些Delphi程序。本书开始讲述的节奏比较慢,但是会迅速深入到Delphi的高级主题中,不过读者应该能够适应这种节奏。如果读者意识到了这一点,说明您已经通读了本书,并且具有了足够的Delphi方面的知识与技术,也许已经可以被称作Delphi专家了

img
Delphi6 开发人员指南封面目录

本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点 译者序\r\n序言\r\n前言\r\n作者介绍\r\n\r\n第一部分 基本知识\r\n\r\n第1章 Delphi编程简介\r\n\r\n1.1 Delphi的产品家族介绍\r\n1.2 认识Delphi\r\n1.2.1 可视化开发环境的特性\r\n1.2.2 编译器速度和编译后代码执行效率\r\n1.2.3 编程语言的功能和复杂性的对立\r\n1.2.4 数据库结构的灵活性和可扩展性\r\n1.2.5 实现机制对设计和使用模式的增强\r\n1.3 历史回顾\r\n1.3.1 Delphi 1\r\n1.3.2 Delphi 2\r\n1.3.3 Delphi 3\r\n1.3.4 Delphi 4\r\n1.3.5 Delphi 5\r\n1.3.6 Delphi 6\r\n1.4 Delphi IDE环境\r\n1.4.1 主窗口\r\n1.4.2 主菜单\r\n1.4.3 Delphi工具栏\r\n1.4.4 组件选项板\r\n1.4.5 窗体设计器\r\n1.4.6 对象观察器\r\n1.4.7 代码编辑器\r\n1.4.8 代码浏览器\r\n1.4.9 对象层次图\r\n1.5 项目源文件概述\r\n1.6 应用程序简介\r\n1.7 事件处理机制的优势\r\n1.8 快速原型化\r\n1.9 可扩展的组件和环境\r\n1.10 必须掌握的10种IDE功能\r\n1.11 小结\r\n\r\n第2章 Object Pascal语言\r\n\r\n2.1 注释\r\n2.2 扩展过程和函数特性\r\n2.2.1 函数调用中的圆括号\r\n2.2.2 重载\r\n2.2.3 缺省参数值\r\n2.3 变量\r\n2.4 常量\r\n2.5 运算符\r\n2.5.1 赋值运算符\r\n2.5.2 比较运算符\r\n2.5.3 逻辑运算符\r\n2.5.4 数学运算符\r\n2.5.5 按位运算符\r\n2.5.6 增/减量运算\r\n2.5.7 “计算-赋值”运算符\r\n2.6 Object Pascal类型\r\n2.6.1 类型比较\r\n2.6.2 字符类型\r\n2.6.3 字符串\r\n2.6.4 变体类型\r\n2.6.5 货币类型\r\n2.7 用户自定义类型\r\n2.7.1 数组\r\n2.7.2 动态数组\r\n2.7.3 记录\r\n2.7.4 集合\r\n2.7.5 对象\r\n2.7.6 指针\r\n2.7.7 类型别名\r\n2.8 类型转换和强制类型转换\r\n2.9 字符串资源\r\n2.10 条件判断语句\r\n2.10.1 if语句\r\n2.10.2 case语句\r\n2.11 循环\r\n2.11.1 for循环\r\n2.11.2 while循环\r\n2.11.3 repeat..until循环\r\n2.11.4 Break()过程\r\n2.11.5 Continue()过程\r\n2.12 过程和函数\r\n2.13 作用域\r\n2.14 单元\r\n2.14.1 uses子句\r\n2.14.2 单元循环引用\r\n2.15 包\r\n2.15.1 使用Delphi包\r\n2.15.2 包的语法格式\r\n2.16 面向对象编程\r\n2.17 使用Delphi对象\r\n2.17.1 声明和实例化\r\n2.17.2 析构\r\n2.17.3 方法\r\n2.17.4 方法的类型\r\n2.17.5 属性\r\n2.17.6 可见区域说明符\r\n2.17.7 友元类\r\n2.17.8 对象的秘密\r\n2.17.9 TObject:所有对象的祖先\r\n2.17.10 接口\r\n2.18 结构化异常处理\r\n2.18.1 异常类\r\n2.18.2 异常执行流程\r\n2.18.3 异常的再激活\r\n2.19 运行时信息\r\n2.20 小结\r\n\r\n第3章 理解Windows消息\r\n\r\n3.1 什么是消息\r\n3.2 消息的类型\r\n3.3 Windows消息系统的工作方式\r\n3.4 Delphi的消息系统\r\n3.5 消息的处理\r\n3.5.1 消息处理:并非无约定\r\n3.5.2 为Result消息值赋值\r\n3.5.3 TApplication类型的OnMessage事件\r\n3.6 发送自己的消息\r\n3.6.1 Perform()方法\r\n3.6.2 SendMessage()和PostMessage()API函数\r\n3.7 非标准消息\r\n3.7.1 通知消息\r\n3.7.2 内部VCL消息\r\n3.7.3 用户定义消息\r\n3.8 剖析VCL的消息系统\r\n3.9 消息和事件之间的关系\r\n3.10 小结\r\n\r\n第二部分 高级技术\r\n\r\n第4章 编写可移植代码\r\n\r\n4.1 版本兼容的共性\r\n4.1.1 版本判断\r\n4.1.2 单元、组件和包\r\n4.1.3 关于IDE的讨论\r\n4.2 Delphi和Kylix兼容性\r\n4.2.1 Linux中不具备的特性\r\n4.2.2 编译器和语言特性\r\n4.2.3 平台相关特点\r\n4.3 Delphi 6的新特性\r\n4.3.1 变体变量\r\n4.3.2 枚举类型\r\n4.3.3 $IF指示符\r\n4.3.4 潜在的二进制DFM的不兼容\r\n4.4 从Delphi 5升级\r\n4.4.1 可写的类型常量\r\n4.4.2 Cardinal一元取反操作\r\n4.5 从Delphi 4升级\r\n4.5.1 RTL问题\r\n4.5.2 VCL问题\r\n4.5.3 Internet开发主题\r\n4.5.4 数据库问题\r\n4.6 从Delphi 3升级\r\n4.6.1 无符号32位整数\r\n4.6.2 64位整数\r\n4.6.3 Real类型\r\n4.7 从Delphi 2升级\r\n4.7.1 Boolean类型的改变\r\n4.7.2 ResourceString\r\n4.7.3 BTL的改变\r\n4.7.4 TCustomForm\r\n4.7.5 GetChildren()\r\n4.7.6 自动化服务器\r\n4.8 从Delphil升级\r\n4.9 小结\r\n\r\n第5章 多线程技术\r\n\r\n5.1 阐述线程\r\n5.1.1 多任务的类型\r\n5.1.2 在Delphi应用程序中使用多线程\r\n5.1.3 线程的滥用\r\n5.2 TThread对象\r\n5.2.1 TThread基础\r\n5.2.2 线程实例\r\n5.2.3 线程终止\r\n5.2.4 和VCL同步\r\n5.2.5 应用程序Demo\r\n5.2.6 优先级和调度\r\n5.2.7 线程的挂起和恢复\r\n5.2.8 线程中的计时\r\n5.3 管理多线程\r\n5.3.1 线程局部存储\r\n5.3.2 线程同步\r\n5.4 多线程应用程序范例\r\n5.4.1 用户界面\r\n5.4.2 搜索线程\r\n5.4.3 调整优先级\r\n5.5 多线程访问BDE\r\n5.6 多线程图形操作\r\n5.7 纤程\r\n5.8 小结\r\n\r\n第6章 动态链接库\r\n\r\n6.1 何谓DLL\r\n6.2 静态链接和动态链接\r\n6.3 为何要用DLL\r\n6.3.1 多个应用程序共享代码、资源和数据\r\n6.3.2 隐藏实施细节\r\n6.4 创建和使用DLL\r\n6.4.1 数美分(简单的DLL)\r\n6.4.2 通过DLL显示模式窗体\r\n6.5 通过DLL显示无模式窗体\r\n6.6 在Delphi应用程序中使用DLL\r\n6.7 显式调用DLL\r\n6.8 动态链接库的入口/出口函数\r\n6.8.1 进程和线程的初始化和结束标准函数\r\n6.8.2 DLL入口/出口示例\r\n6.9 DLL中的异常\r\n6.9.1 在16位Delphi中捕捉异常\r\n6.9.2 异常和Safecall指示符\r\n6.10 回调函数\r\n6.10.1 使用回调函数\r\n6.10.2 绘制Owner-Draw列表框\r\n6.11 通过DLL调用回调函数\r\n6.12 共享不同进程中的DLL数据\r\n6.12.1 创建共享内存的DLL\r\n6.12.2 使用共享内存的DLL\r\n6.13 从DLL中输出对象\r\n6.14 小结\r\n\r\n第三部分 数据库开发\r\n\r\n第7章 Delphi数据库体系结构\r\n\r\n7.1 数据库类型\r\n7.2 数据库体系结构\r\n7.3 连接到数据库服务器\r\n7.3.1 数据库连接概述\r\n7.3.2 建立数据库连接\r\n7.4 操作数据集\r\n7.4.1 打开及关闭数据集\r\n7.4.2 导航数据集\r\n7.4.3 管理数据集\r\n7.4.4 数据集状态\r\n7.5 操作字段\r\n7.5.1 字段值\r\n7.5.2 字段数据类型\r\n7.5.3 字段名称及号码\r\n7.5.4 管理字段数据\r\n7.5.5 操作BLOB字段\r\n7.5.6 过滤数据\r\n7.5.7 搜索数据集\r\n7.5.8 关键字查找\r\n7.5.9 使用数据模块\r\n7.5.10 查找、范围及过滤器演示\r\n7.5.11 书签\r\n7.6 小结\r\n\r\n第8章 用dbExpress进行数据库开发\r\n\r\n8.1 使用dbExpess\r\n8.1.1 单向、只读数据集\r\n8.1.2 dbExpress与BDE比较\r\n8.1.3 dbExpress支持跨平台开发\r\n8.2 dbExpress组件\r\n8.2.1 TSQLConnection\r\n8.2.2 TSQLDataset\r\n8.2.3 显示查询结果\r\n8.2.4 向后兼容组件\r\n8.2.5 TSQLMonitor\r\n8.3 设计可编辑的dbExpress应用程序\r\n8.4 部署dbExpress应用程序\r\n8.5 小结\r\n\r\n第9章 用dbGo for ADO进行数据库开发\r\n\r\n9.1 dbGo介绍\r\n9.2 Mcrosoft的统一数据访问策略概述\r\n9.3 OLE DB、ADO、ODBC概述\r\n9.4 使用dbGo for ADO\r\n9.4.1 为ODBC建立OLE DB提供者\r\n9.4.2 Access数据库\r\n9.5 dbGo for ADO组件\r\n9.5.1 TADOConnection\r\n9.5.2 建立数据库连接\r\n9.5.3 回避/替代登录提示\r\n9.5.4 TADOCommand\r\n9.5.5 TADODataset\r\n9.5.6 类似BDE的数据集组件\r\n9.6 事务处理\r\n9.7 小结\r\n\r\n第四部分 基于组件的开发\r\n\r\n第10章 组件体系:VCL和CLX\r\n\r\n10.1 关于新的CLX\r\n10.2 何谓组件\r\n10.3 组件的层次结构\r\n10.3.1 非可视组件\r\n10.3.2 可视组件\r\n10.4 组件结构\r\n10.4.1 属性\r\n10.4.2 属性的类型\r\n10.4.3 方法\r\n10.4.4 事件\r\n10.4.5 流式属性\r\n10.4.6 所有权\r\n10.4.7 父子关系\r\n10.5 可视组件的继承关系\r\n10.5.1 TPersistent类\r\n10.5.2 TPersistent方法\r\n10.5.3 TComponent类\r\n10.5.4 TControl类\r\n10.5.5 TWinControl和TWidgetControl\r\n10.5.6 TGraphicControl类\r\n10.5.7 TCustomControl类\r\n10.5.8 其他类\r\n10.6 运行期类型信息\r\n10.6.1 TypInfo.pas单元:运行类型信息的定义者\r\n10.6.2 获取类型信息\r\n10.6.3 获得方法指针的类型信息\r\n10.6.4 获取有序类型的类型信息\r\n10.6.5 通过RTTI为属性赋值\r\n10.7 小结\r\n\r\n第11章 编写VCL组件\r\n\r\n11.1 组件设计基础\r\n11.1.1 决定是否应编写组件\r\n11.1.2 编写组件的步骤\r\n11.1.3 确定祖先类\r\n11.1.4 创建组件单元\r\n11.1.5 创建属性\r\n11.1.6 创建事件\r\n11.1.7 创建自定义方法\r\n11.1.8 构造函数和析构函数\r\n11.1.9 注册组件\r\n11.1.10 测试组件\r\n11.1.11 提供组件图标\r\n11.2 组件示例\r\n11.2.1 扩展Win32组件包装器的性能\r\n11.2.2 TddgRunButton:创建属性\r\n11.3 TddgButtonEdit:一个容器组件\r\n11.3.1 设计决策\r\n11.3.2 显露属性\r\n11.3.3 显露事件\r\n11.3.4 TddgDigitalClock:创建组件事件\r\n11.3.5 把窗体添加到组件面板\r\n11.4 小结\r\n\r\n第12章 高级VCL组件构造技术\r\n\r\n12.1 伪可视组件\r\n12.1.1 扩展提示功能\r\n12.1.2 创建一个THintWindow派生类\r\n12.1.3 椭圆型窗口\r\n12.1.4 激活THintWindow派生窗口\r\n12.1.5 运用TDDGHintWindow\r\n12.2 动态组件\r\n12.2.1 滚动字幕组件\r\n12.2.2 编写组件\r\n12.2.3 在屏幕以外的位图上绘制\r\n12.2.4 描绘组件\r\n12.2.5 让组件“动起来”\r\n12.2.6 测试TddgMarquee组件\r\n12.3 编写属性编辑器\r\n12.3.1 创建一个继承的属性编辑器对象\r\n12.3.2 将属性作为文本进行编辑\r\n12.3.3 注册新的属性编辑器\r\n12.3.4 利用对话框将属性作为整体进行编辑\r\n12.4 组件编辑器\r\n12.4.1 TComponentEditor\r\n12.4.2 一个简单的组件\r\n12.4.3 一个简单的组件编辑器\r\n12.4.4 注册组件编辑器\r\n12.5 对非公开的组件数据执行流操作\r\n12.5.1 定义属性\r\n12.5.2 DefineProperty()的例子\r\n12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例\r\n12.6 属性类别\r\n12.6.1 类别类\r\n12.6.2 自定义类别\r\n12.7 组件列表:TCollection和TCollectionItem\r\n12.7.1 定义TCollectionItem类:TRunBtnItem\r\n12.7.2 定义TCollection类:TRunButtons\r\n12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons\r\n12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表\r\n12.8 小结\r\n\r\n第13章 CLX组件开发\r\n\r\n13.1 何谓CLX\r\n13.2 CLX的体系结构\r\n13.3 移植问题\r\n13.4 组件示例\r\n13.4.1 TddgSpinner组件\r\n13.4.2 设计期增强工具\r\n13.4.3 组件引用和图像列表\r\n13.4.4 CLX数据感知组件\r\n13.5 CLX设计编辑器\r\n13.6 包\r\n13.6.1 命名约定\r\n13.6.2 运行期包\r\n13.6.3 设计期包\r\n13.6.4 单元注册\r\n13.6.5 组件位图\r\n13.7 小结\r\n\r\n第14章 充分发挥包的作用\r\n\r\n14.1 为何要用包\r\n14.1.1 精简代码\r\n14.1.2 发布更小的应用程序--应用程序分割\r\n14.1.3 组件容器\r\n14.2 为何不用包\r\n14.3 包的类型\r\n14.4 包文件\r\n14.5 使用运行期包\r\n14.6 把包安装到Delphi IDE中\r\n14.7 创建包\r\n14.7.1 包编辑器\r\n14.7.2 包设计方案\r\n14.8 包的版本化\r\n14.9 包编译器指示符\r\n14.10 包的命名约定\r\n14.11 使用运行期(插件)包的可扩展应用程序\r\n14.12 从包中导出函数\r\n14.13 获取包的信息\r\n14.14 小结\r\n\r\n第15章 COM开发\r\n\r\n15.1 COM基础\r\n15.1.1 COM2组件对象模型\r\n15.1.2 COM、ActiveX和OLE之间的对比\r\n15.1.3 术语\r\n15.1.4 ActiveX的优势\r\n15.1.5 OLE 与OLE 2的对比\r\n15.1.6 结构化存储\r\n15.1.7 统一数据传输\r\n15.1.8 线程模式\r\n15.1.9 COM+\r\n15.2 COM与Object Pascal\r\n15.2.1 接口\r\n15.2.2 使用接口\r\n15.2.3 HResult返回类型\r\n15.3 COM对象和类工厂\r\n15.3.1 TComObject和TComObject-Factory\r\n15.3.2 in-process COM服务器\r\n15.3.3 创建in-proc COM服务器实例\r\n15.3.4 out-of-process COM服务器\r\n15.4 聚合\r\n15.5 分布式COM\r\n15.6 Automation\r\n15.6.1 IDispatch\r\n15.6.2 类型信息\r\n15.6.3 后期绑定与早期绑定的对比\r\n15.6.4 注册\r\n15.6.5 创建Automation服务器\r\n15.6.6 创建Automation控制器\r\n15.7 高级Automation技术\r\n15.7.1 Automation事件\r\n15.7.2 Automation集合\r\n15.7.3 类型库新增接口类型\r\n15.7.4 二进制数据的交换\r\n15.7.5 后台:COM的语言支持\r\n15.8 TOleContainer\r\n15.8.1 一个简单的示例程序\r\n15.8.2 一个较为复杂的示例程序\r\n15.9.4 小结\r\n\r\n第16章 Windows外壳编程\r\n\r\n16.1 托盘图标组件\r\n16.1.1 API\r\n16.1.2 处理消息\r\n16.1.3 图标及提示\r\n16.1.4 鼠标点击\r\n16.1.5 隐藏应用程序\r\n16.1.6 托盘图标应用程序示例\r\n16.2 应用程序桌面工具栏\r\n16.2.1 API\r\n16.2.2 TAppBar:AppBar的窗体\r\n16.2.3 使用TAppBar\r\n16.3 外壳链接\r\n16.3.1 获取IShellLink实例\r\n16.3.2 使用IShellLink\r\n16.3.3 创建一个外壳链接\r\n16.3.4 获取及设置链接信息\r\n16.3.5 示例程序\r\n16.4 外壳扩展\r\n16.4.1 COM对象向导\r\n16.4.2 复制钩子处理器\r\n16.4.3 环境菜单处理器\r\n16.4.4 图标处理器\r\n16.4.5 信息提示处理器\r\n16.5 小结\r\n\r\n第17章 使用Open Tools API\r\n\r\n17.1 Open Tools接口\r\n17.2 使用Open Tools API\r\n17.2.1 简单的向导\r\n17.2.2 Wizard向导\r\n17.2.3 DDG Search\r\n17.3 窗体向导\r\n17.4 小结\r\n\r\n第五部分 企业开发\r\n\r\n第18章 使用COM+/MTS开发事务程序\r\n\r\n18.1 什么是COM+\r\n18.2 使用COM的原因\r\n18.3 服务\r\n18.3.1 事务\r\n18.3.2 安全\r\n18.3.3 及时激活\r\n18.3.4 队列组件\r\n18.3.5 对象缓冲池\r\n18.3.6 事件\r\n18.4 运行期\r\n18.4.1 注册数据库(RegDB)\r\n18.4.2 配置组件\r\n18.4.3 运行环境(Contexts)\r\n18.4.4 Neutral线程\r\n18.5 创建COM+应用程序\r\n18.5.1 目标:规模\r\n18.5.2 执行环境\r\n18.5.3 有状态(Stateful)和无状态(Stateless)\r\n18.5.4 生命周期管理\r\n18.5.5 COM+应用程序的组织\r\n18.5.6 有关事务的思考\r\n18.5.7 资源\r\n18.6 Delphi中的COM+\r\n18.6.1 COM+向导\r\n18.6.2 COM+框架\r\n18.6.3 Tic-Tac-Toe:一个简单的应用程序\r\n18.6.4 调试COM+应用程序\r\n18.7 小结\r\n\r\n第19章 CORBA开发\r\n\r\n19.1 CORBA特性\r\n19.2 CORBA体系结构\r\n19.2.1 OSAgent\r\n19.2.2 接口\r\n19.3 接口定义语言\r\n19.3.1 基本类型\r\n19.3.2 用户定义类型\r\n19.3.3 别名\r\n19.3.4 枚举\r\n19.3.5 结构\r\n19.3.6 数组\r\n19.3.7 序列\r\n19.3.8 方法参数\r\n19.3.9 模块\r\n19.4 银行案例\r\n19.5 复杂数据类型\r\n19.6 Delphi、CORBA和Enterprise Java Beans(EJB)\r\n19.6.1 Delphi程序员EJB速成\r\n19.6.2 EJB是一种特殊的组件\r\n19.6.3 EJB在容器中运行\r\n19.6.4 EJB具有预定义的API\r\n19.6.5 Home(本地)接口和Remote(远程)接口\r\n19.6.6 EJB的类型\r\n19.6.7 配置JBuilder 5以开发EJB\r\n19.6.8 创建一个简单的“Hello'world” EJB\r\n19.7 CORBA和Web Services\r\n19.7.1 创建Web Service\r\n19.7.2 创建SOAP客户端应用程序\r\n19.7.3 添加CORBA客户端代码至Web Service中\r\n19.8 小结\r\n\r\n第20章 BizSnap开发:基于SOAP的Web Services\r\n\r\n20.1 Web Services\r\n20.2 SOAP\r\n20.3 编写Web Service\r\n20.3.1 TWebModule\r\n20.3.2 定义一个可调用接口\r\n20.3.3 实现一个可调用接口\r\n20.3.4 测试Web Service\r\n20.4 从客户端调用Web Service\r\n20.4.1 为远程可调用对象产生一个输入单元\r\n20.4.2 使用THTTPRIO组件\r\n20.5 小结\r\n\r\n第21章 DataSnap开发\r\n\r\n21.1 创建多层应用程序的机制\r\n21.2 多层体系结构的优点\r\n21.2.1 集中商业逻辑\r\n21.2.2 瘦客户结构\r\n21.2.3 自动错误调解\r\n21.2.4 公文包模型\r\n21.2.5 容错性\r\n21.2.6 负载平衡\r\n21.3 典型的DataSnap结构\r\n21.3.1 服务器\r\n21.3.2 客户端\r\n21.4 使用DataSnap创建应用程序\r\n21.4.1 创建服务器\r\n21.4.2 创建客户端\r\n21.5 更多增强应用程序健壮性的措施\r\n21.5.1 客户端优化技术\r\n21.5.2 应用程序服务器技术\r\n21.6 实例\r\n21.7 Client Dataset组件的更多特性\r\n21.8 典型错误\r\n21.9 配置DataSnap应用程序\r\n21.9.1 发放许可证\r\n21.9.2 DCOM配置\r\n21.9.3 文件配置\r\n21.9.4 Internet配置考虑(防火墙)\r\n21.10 小结\r\n\r\n第六部分 Internet开发\r\n\r\n第22章 ASP开发\r\n\r\n22.1 理解活动服务器对象\r\n22.2 活动服务器对象向导\r\n22.2.1 类型库编辑器\r\n22.2.2 新方法\r\n22.2.3 ASP Response对象\r\n22.2.4 第一次运行\r\n22.2.5 ASP Request对象\r\n22.2.6 重新编译活动服务器对象\r\n22.2.7 再次运行活动服务器对象\r\n22.3 ASP Session、Server和Application对象\r\n22.4 活动服务器对象及数据库\r\n22.5 活动服务器对象及NetCLX支持\r\n22.6 调试活动服务器对象\r\n22.6.1 使用MTS调试活动服务器对象\r\n22.6.2 采用Windows NT 4调试\r\n22.6.3 采用Windows 2000调试\r\n22.7 小结\r\n\r\n第23章 WebSnap开发\r\n\r\n23.1 WebSnap的特性\r\n23.1.1 多个Webmodule\r\n23.1.2 服务器执行脚本\r\n23.1.3 TAdapter(适配器)组件\r\n23.1.4 多种调度方法\r\n23.1.5 Page producer(页面生成器)组件\r\n23.1.6 会话管理\r\n23.1.7 登录服务\r\n23.1.8 用户跟踪\r\n23.1.9 HTML管理\r\n23.1.10 文件上传服务\r\n23.2 websnap开发\r\n23.2.1 应用程序的设计\r\n23.2.2 为应用程序添加功能\r\n23.2.3 导航菜单栏\r\n23.2.4 登录\r\n23.2.5 管理用户偏好数据\r\n23.2.6 在会话之间保存偏好数据\r\n23.2.7 图像处理\r\n23.2.8 显示数据\r\n23.2.9 将应用程序转换为ISAPI DLL\r\n23.3 高级话题\r\n23.3.1 LocabFileServices(文件定位服务)\r\n23.3.2 文件上传\r\n23.3.3 包含定制模板\r\n23.3.4 在TAdapterPageProducer中定制组件\r\n23.4 小结\r\n\r\n第24章 无线开发\r\n\r\n24.1 开发技术的发展:回顾\r\n24.1.1 20世纪80年代以前:庞然大物时代\r\n24.1.2 20世纪80年代后期:桌面数据库应用程序\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.2.1 移动电话\r\n24.2.2 palmos设备\r\n24.2.3 Pocket PC\r\n24.2.4 RIM BlackBerrv\r\n24.3 无线电技术\r\n24.3.1 GSM、CDMA和TDMA\r\n24.3.2 CDPD\r\n24.3.3 3G\r\n24.3.4 GPRS\r\n24.3.5 蓝牙\r\n24.3.6 802.11\r\n24.4 基于服务器的无线数据技术\r\n24.4.1 SMS\r\n24.4.2 WAP\r\n24.4.3 I-mode\r\n24.4.4 PQA\r\n24.5 无线用户体验\r\n24.5.1 环路选择网络和数据包选择网络\r\n24.5.2 无线并非Web\r\n24.5.3 窗体因素的重要性\r\n24.5.4 数据输入和导航技术\r\n24.5.5 M-Commerce\r\n24.6 小结 本书至今已增订到第5版,在7年的时间中,本书不断完善,为了写作本书,很多人对此付出了相当多的精力。Xavier和Steve是最早的Borland Delphi开发小组成员,本书是他们结合15年的Delphi开发经验写成的。在本书中,我们可以感受到作者的努力精神,正是这种精神,让Delphi开发从书成为世界上最畅销的Delphi书籍,并两次获得Delphi读者最佳选择奖。这本书由开发人员撰写,同时也供开发人员阅读。 本书建立在《Delphi 5开发人员指南》基础之上,理想状况下,我们希望本书包括《Delphi 5开发人员指南》的全部章节和所有新内容。但是《Delphi 5开发人员指南》一书本身太厚,为了给Delphi 6新特性的讨论留下足够空间,我们只抽取了其中的部分章节,再加上Delphi 6的新特性讨论,新书就这样展现在大家面前。 本书包括了一些全新章节,许多章节是《Delphi 5开发人员指南》对应章节的扩展。但在《Delphi 5开发人员指南》中介绍的内容还是极其有用的。因此我们在本书配套光盘中附带了整个电子版的《Delphi 5开发人员指南》,每个章节单独地用PDF格式存储。在电子版的封面中包含了《Delphi 5开发人员指南》的目录表,读者可以在其中查找感兴趣的章节。对读者而言,可谓一举两得。 本书分成六部分。第一部分,“基础知识”,讲述了Delphi编程必要的基础知识。第二部分,“高级技术”,讨论了一些通用的高级开发主题,例如线程和动态链接库。第三部分,“数据库开发”,从多个层面上讨论了Delphi数据库访问主题。第四部分,“基于组件的开发”,讨论了关于VCL、CLX、包、COM和Open Tools API开发问题。第五部分,“企业开发”,其中讨论了开发企业级应用程序需要的实践知识,包括COM+、COBRA、SOAP/BizSnap和DataSnap。最后,第六部分,“Internet开发”,演示了使用Delphi开发Internet和无线应用程序的技术。 本书面向的读者 书如其名,本书是面向开发人员的。如果读者是一位开发人员,并且使用Delphi,那就需要拥有一本这样的书。本书面向3类读者: ■希望将技术提高一个层次的Delphi开发人员。 ■熟悉Pascal、C/C++、Java或Basic,并希望开始使用Delphi的程序员。 ■希望最大限度利用Delphi来研究其中先进特性和隐含特性的程序员。 本书使用的约定 本书使用了下列约定: ■代码行、命令、声明、变量、程序输出以及任何屏幕内容都用计算机打印字体显示。 ■需要读者输入的内容用粗体显示。 ■语法描述中的占位符用斜体表示。 ■技术术语在文章中第一次出现或者用于强调重点时,用斜体表示。 ■程序或过程用在其名后加上一对圆括号表示。虽然这不是标准Pascal风格,但是有助于和属性、变量和类区分。 各章都有一些注意、提示和警告,为了方便阅读,用特殊的字体标出。 本书配套光盘中有书中所有的源代码和项目文件,同时还有一些本书中尚未提到的源代码示例。此外,光盘中还包括一些第三方组件和工具的使用版。 Delphi 6开发指南网站 请访问网站http://www.xapware.com/ddg并且加入《Delphi 6开发人员指南》会员,从而得到本书的额外信息。读者也可以加入我们新闻邮件的邮件列表,并访问我们的讨论组。 写作本书的缘由 有人会问,是什么驱使我们编写本书的。这很难解释,但是当看到其他开发人员仍然将标满了注解、且被翻阅得破烂不堪的《Delphi 5开发人员指南》视为至宝时,就感到一切付出都是值得的。 完成本书的写作后,现在我们可以稍微轻松下来并愉快地编写一些Delphi程序。本书开始讲述的节奏比较慢,但是会迅速深入到Delphi的高级主题中,不过读者应该能够适应这种节奏。如果读者意识到了这一点,说明您已经通读了本书,并且具有了足够的Delphi方面的知识与技术,也许已经可以被称作Delphi专家了

img
Delphi6开发人员指南-正文2

本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点 译者序\r\n序言\r\n前言\r\n作者介绍\r\n\r\n第一部分 基本知识\r\n\r\n第1章 Delphi编程简介\r\n\r\n1.1 Delphi的产品家族介绍\r\n1.2 认识Delphi\r\n1.2.1 可视化开发环境的特性\r\n1.2.2 编译器速度和编译后代码执行效率\r\n1.2.3 编程语言的功能和复杂性的对立\r\n1.2.4 数据库结构的灵活性和可扩展性\r\n1.2.5 实现机制对设计和使用模式的增强\r\n1.3 历史回顾\r\n1.3.1 Delphi 1\r\n1.3.2 Delphi 2\r\n1.3.3 Delphi 3\r\n1.3.4 Delphi 4\r\n1.3.5 Delphi 5\r\n1.3.6 Delphi 6\r\n1.4 Delphi IDE环境\r\n1.4.1 主窗口\r\n1.4.2 主菜单\r\n1.4.3 Delphi工具栏\r\n1.4.4 组件选项板\r\n1.4.5 窗体设计器\r\n1.4.6 对象观察器\r\n1.4.7 代码编辑器\r\n1.4.8 代码浏览器\r\n1.4.9 对象层次图\r\n1.5 项目源文件概述\r\n1.6 应用程序简介\r\n1.7 事件处理机制的优势\r\n1.8 快速原型化\r\n1.9 可扩展的组件和环境\r\n1.10 必须掌握的10种IDE功能\r\n1.11 小结\r\n\r\n第2章 Object Pascal语言\r\n\r\n2.1 注释\r\n2.2 扩展过程和函数特性\r\n2.2.1 函数调用中的圆括号\r\n2.2.2 重载\r\n2.2.3 缺省参数值\r\n2.3 变量\r\n2.4 常量\r\n2.5 运算符\r\n2.5.1 赋值运算符\r\n2.5.2 比较运算符\r\n2.5.3 逻辑运算符\r\n2.5.4 数学运算符\r\n2.5.5 按位运算符\r\n2.5.6 增/减量运算\r\n2.5.7 “计算-赋值”运算符\r\n2.6 Object Pascal类型\r\n2.6.1 类型比较\r\n2.6.2 字符类型\r\n2.6.3 字符串\r\n2.6.4 变体类型\r\n2.6.5 货币类型\r\n2.7 用户自定义类型\r\n2.7.1 数组\r\n2.7.2 动态数组\r\n2.7.3 记录\r\n2.7.4 集合\r\n2.7.5 对象\r\n2.7.6 指针\r\n2.7.7 类型别名\r\n2.8 类型转换和强制类型转换\r\n2.9 字符串资源\r\n2.10 条件判断语句\r\n2.10.1 if语句\r\n2.10.2 case语句\r\n2.11 循环\r\n2.11.1 for循环\r\n2.11.2 while循环\r\n2.11.3 repeat..until循环\r\n2.11.4 Break()过程\r\n2.11.5 Continue()过程\r\n2.12 过程和函数\r\n2.13 作用域\r\n2.14 单元\r\n2.14.1 uses子句\r\n2.14.2 单元循环引用\r\n2.15 包\r\n2.15.1 使用Delphi包\r\n2.15.2 包的语法格式\r\n2.16 面向对象编程\r\n2.17 使用Delphi对象\r\n2.17.1 声明和实例化\r\n2.17.2 析构\r\n2.17.3 方法\r\n2.17.4 方法的类型\r\n2.17.5 属性\r\n2.17.6 可见区域说明符\r\n2.17.7 友元类\r\n2.17.8 对象的秘密\r\n2.17.9 TObject:所有对象的祖先\r\n2.17.10 接口\r\n2.18 结构化异常处理\r\n2.18.1 异常类\r\n2.18.2 异常执行流程\r\n2.18.3 异常的再激活\r\n2.19 运行时信息\r\n2.20 小结\r\n\r\n第3章 理解Windows消息\r\n\r\n3.1 什么是消息\r\n3.2 消息的类型\r\n3.3 Windows消息系统的工作方式\r\n3.4 Delphi的消息系统\r\n3.5 消息的处理\r\n3.5.1 消息处理:并非无约定\r\n3.5.2 为Result消息值赋值\r\n3.5.3 TApplication类型的OnMessage事件\r\n3.6 发送自己的消息\r\n3.6.1 Perform()方法\r\n3.6.2 SendMessage()和PostMessage()API函数\r\n3.7 非标准消息\r\n3.7.1 通知消息\r\n3.7.2 内部VCL消息\r\n3.7.3 用户定义消息\r\n3.8 剖析VCL的消息系统\r\n3.9 消息和事件之间的关系\r\n3.10 小结\r\n\r\n第二部分 高级技术\r\n\r\n第4章 编写可移植代码\r\n\r\n4.1 版本兼容的共性\r\n4.1.1 版本判断\r\n4.1.2 单元、组件和包\r\n4.1.3 关于IDE的讨论\r\n4.2 Delphi和Kylix兼容性\r\n4.2.1 Linux中不具备的特性\r\n4.2.2 编译器和语言特性\r\n4.2.3 平台相关特点\r\n4.3 Delphi 6的新特性\r\n4.3.1 变体变量\r\n4.3.2 枚举类型\r\n4.3.3 $IF指示符\r\n4.3.4 潜在的二进制DFM的不兼容\r\n4.4 从Delphi 5升级\r\n4.4.1 可写的类型常量\r\n4.4.2 Cardinal一元取反操作\r\n4.5 从Delphi 4升级\r\n4.5.1 RTL问题\r\n4.5.2 VCL问题\r\n4.5.3 Internet开发主题\r\n4.5.4 数据库问题\r\n4.6 从Delphi 3升级\r\n4.6.1 无符号32位整数\r\n4.6.2 64位整数\r\n4.6.3 Real类型\r\n4.7 从Delphi 2升级\r\n4.7.1 Boolean类型的改变\r\n4.7.2 ResourceString\r\n4.7.3 BTL的改变\r\n4.7.4 TCustomForm\r\n4.7.5 GetChildren()\r\n4.7.6 自动化服务器\r\n4.8 从Delphil升级\r\n4.9 小结\r\n\r\n第5章 多线程技术\r\n\r\n5.1 阐述线程\r\n5.1.1 多任务的类型\r\n5.1.2 在Delphi应用程序中使用多线程\r\n5.1.3 线程的滥用\r\n5.2 TThread对象\r\n5.2.1 TThread基础\r\n5.2.2 线程实例\r\n5.2.3 线程终止\r\n5.2.4 和VCL同步\r\n5.2.5 应用程序Demo\r\n5.2.6 优先级和调度\r\n5.2.7 线程的挂起和恢复\r\n5.2.8 线程中的计时\r\n5.3 管理多线程\r\n5.3.1 线程局部存储\r\n5.3.2 线程同步\r\n5.4 多线程应用程序范例\r\n5.4.1 用户界面\r\n5.4.2 搜索线程\r\n5.4.3 调整优先级\r\n5.5 多线程访问BDE\r\n5.6 多线程图形操作\r\n5.7 纤程\r\n5.8 小结\r\n\r\n第6章 动态链接库\r\n\r\n6.1 何谓DLL\r\n6.2 静态链接和动态链接\r\n6.3 为何要用DLL\r\n6.3.1 多个应用程序共享代码、资源和数据\r\n6.3.2 隐藏实施细节\r\n6.4 创建和使用DLL\r\n6.4.1 数美分(简单的DLL)\r\n6.4.2 通过DLL显示模式窗体\r\n6.5 通过DLL显示无模式窗体\r\n6.6 在Delphi应用程序中使用DLL\r\n6.7 显式调用DLL\r\n6.8 动态链接库的入口/出口函数\r\n6.8.1 进程和线程的初始化和结束标准函数\r\n6.8.2 DLL入口/出口示例\r\n6.9 DLL中的异常\r\n6.9.1 在16位Delphi中捕捉异常\r\n6.9.2 异常和Safecall指示符\r\n6.10 回调函数\r\n6.10.1 使用回调函数\r\n6.10.2 绘制Owner-Draw列表框\r\n6.11 通过DLL调用回调函数\r\n6.12 共享不同进程中的DLL数据\r\n6.12.1 创建共享内存的DLL\r\n6.12.2 使用共享内存的DLL\r\n6.13 从DLL中输出对象\r\n6.14 小结\r\n\r\n第三部分 数据库开发\r\n\r\n第7章 Delphi数据库体系结构\r\n\r\n7.1 数据库类型\r\n7.2 数据库体系结构\r\n7.3 连接到数据库服务器\r\n7.3.1 数据库连接概述\r\n7.3.2 建立数据库连接\r\n7.4 操作数据集\r\n7.4.1 打开及关闭数据集\r\n7.4.2 导航数据集\r\n7.4.3 管理数据集\r\n7.4.4 数据集状态\r\n7.5 操作字段\r\n7.5.1 字段值\r\n7.5.2 字段数据类型\r\n7.5.3 字段名称及号码\r\n7.5.4 管理字段数据\r\n7.5.5 操作BLOB字段\r\n7.5.6 过滤数据\r\n7.5.7 搜索数据集\r\n7.5.8 关键字查找\r\n7.5.9 使用数据模块\r\n7.5.10 查找、范围及过滤器演示\r\n7.5.11 书签\r\n7.6 小结\r\n\r\n第8章 用dbExpress进行数据库开发\r\n\r\n8.1 使用dbExpess\r\n8.1.1 单向、只读数据集\r\n8.1.2 dbExpress与BDE比较\r\n8.1.3 dbExpress支持跨平台开发\r\n8.2 dbExpress组件\r\n8.2.1 TSQLConnection\r\n8.2.2 TSQLDataset\r\n8.2.3 显示查询结果\r\n8.2.4 向后兼容组件\r\n8.2.5 TSQLMonitor\r\n8.3 设计可编辑的dbExpress应用程序\r\n8.4 部署dbExpress应用程序\r\n8.5 小结\r\n\r\n第9章 用dbGo for ADO进行数据库开发\r\n\r\n9.1 dbGo介绍\r\n9.2 Mcrosoft的统一数据访问策略概述\r\n9.3 OLE DB、ADO、ODBC概述\r\n9.4 使用dbGo for ADO\r\n9.4.1 为ODBC建立OLE DB提供者\r\n9.4.2 Access数据库\r\n9.5 dbGo for ADO组件\r\n9.5.1 TADOConnection\r\n9.5.2 建立数据库连接\r\n9.5.3 回避/替代登录提示\r\n9.5.4 TADOCommand\r\n9.5.5 TADODataset\r\n9.5.6 类似BDE的数据集组件\r\n9.6 事务处理\r\n9.7 小结\r\n\r\n第四部分 基于组件的开发\r\n\r\n第10章 组件体系:VCL和CLX\r\n\r\n10.1 关于新的CLX\r\n10.2 何谓组件\r\n10.3 组件的层次结构\r\n10.3.1 非可视组件\r\n10.3.2 可视组件\r\n10.4 组件结构\r\n10.4.1 属性\r\n10.4.2 属性的类型\r\n10.4.3 方法\r\n10.4.4 事件\r\n10.4.5 流式属性\r\n10.4.6 所有权\r\n10.4.7 父子关系\r\n10.5 可视组件的继承关系\r\n10.5.1 TPersistent类\r\n10.5.2 TPersistent方法\r\n10.5.3 TComponent类\r\n10.5.4 TControl类\r\n10.5.5 TWinControl和TWidgetControl\r\n10.5.6 TGraphicControl类\r\n10.5.7 TCustomControl类\r\n10.5.8 其他类\r\n10.6 运行期类型信息\r\n10.6.1 TypInfo.pas单元:运行类型信息的定义者\r\n10.6.2 获取类型信息\r\n10.6.3 获得方法指针的类型信息\r\n10.6.4 获取有序类型的类型信息\r\n10.6.5 通过RTTI为属性赋值\r\n10.7 小结\r\n\r\n第11章 编写VCL组件\r\n\r\n11.1 组件设计基础\r\n11.1.1 决定是否应编写组件\r\n11.1.2 编写组件的步骤\r\n11.1.3 确定祖先类\r\n11.1.4 创建组件单元\r\n11.1.5 创建属性\r\n11.1.6 创建事件\r\n11.1.7 创建自定义方法\r\n11.1.8 构造函数和析构函数\r\n11.1.9 注册组件\r\n11.1.10 测试组件\r\n11.1.11 提供组件图标\r\n11.2 组件示例\r\n11.2.1 扩展Win32组件包装器的性能\r\n11.2.2 TddgRunButton:创建属性\r\n11.3 TddgButtonEdit:一个容器组件\r\n11.3.1 设计决策\r\n11.3.2 显露属性\r\n11.3.3 显露事件\r\n11.3.4 TddgDigitalClock:创建组件事件\r\n11.3.5 把窗体添加到组件面板\r\n11.4 小结\r\n\r\n第12章 高级VCL组件构造技术\r\n\r\n12.1 伪可视组件\r\n12.1.1 扩展提示功能\r\n12.1.2 创建一个THintWindow派生类\r\n12.1.3 椭圆型窗口\r\n12.1.4 激活THintWindow派生窗口\r\n12.1.5 运用TDDGHintWindow\r\n12.2 动态组件\r\n12.2.1 滚动字幕组件\r\n12.2.2 编写组件\r\n12.2.3 在屏幕以外的位图上绘制\r\n12.2.4 描绘组件\r\n12.2.5 让组件“动起来”\r\n12.2.6 测试TddgMarquee组件\r\n12.3 编写属性编辑器\r\n12.3.1 创建一个继承的属性编辑器对象\r\n12.3.2 将属性作为文本进行编辑\r\n12.3.3 注册新的属性编辑器\r\n12.3.4 利用对话框将属性作为整体进行编辑\r\n12.4 组件编辑器\r\n12.4.1 TComponentEditor\r\n12.4.2 一个简单的组件\r\n12.4.3 一个简单的组件编辑器\r\n12.4.4 注册组件编辑器\r\n12.5 对非公开的组件数据执行流操作\r\n12.5.1 定义属性\r\n12.5.2 DefineProperty()的例子\r\n12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例\r\n12.6 属性类别\r\n12.6.1 类别类\r\n12.6.2 自定义类别\r\n12.7 组件列表:TCollection和TCollectionItem\r\n12.7.1 定义TCollectionItem类:TRunBtnItem\r\n12.7.2 定义TCollection类:TRunButtons\r\n12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons\r\n12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表\r\n12.8 小结\r\n\r\n第13章 CLX组件开发\r\n\r\n13.1 何谓CLX\r\n13.2 CLX的体系结构\r\n13.3 移植问题\r\n13.4 组件示例\r\n13.4.1 TddgSpinner组件\r\n13.4.2 设计期增强工具\r\n13.4.3 组件引用和图像列表\r\n13.4.4 CLX数据感知组件\r\n13.5 CLX设计编辑器\r\n13.6 包\r\n13.6.1 命名约定\r\n13.6.2 运行期包\r\n13.6.3 设计期包\r\n13.6.4 单元注册\r\n13.6.5 组件位图\r\n13.7 小结\r\n\r\n第14章 充分发挥包的作用\r\n\r\n14.1 为何要用包\r\n14.1.1 精简代码\r\n14.1.2 发布更小的应用程序--应用程序分割\r\n14.1.3 组件容器\r\n14.2 为何不用包\r\n14.3 包的类型\r\n14.4 包文件\r\n14.5 使用运行期包\r\n14.6 把包安装到Delphi IDE中\r\n14.7 创建包\r\n14.7.1 包编辑器\r\n14.7.2 包设计方案\r\n14.8 包的版本化\r\n14.9 包编译器指示符\r\n14.10 包的命名约定\r\n14.11 使用运行期(插件)包的可扩展应用程序\r\n14.12 从包中导出函数\r\n14.13 获取包的信息\r\n14.14 小结\r\n\r\n第15章 COM开发\r\n\r\n15.1 COM基础\r\n15.1.1 COM2组件对象模型\r\n15.1.2 COM、ActiveX和OLE之间的对比\r\n15.1.3 术语\r\n15.1.4 ActiveX的优势\r\n15.1.5 OLE 与OLE 2的对比\r\n15.1.6 结构化存储\r\n15.1.7 统一数据传输\r\n15.1.8 线程模式\r\n15.1.9 COM+\r\n15.2 COM与Object Pascal\r\n15.2.1 接口\r\n15.2.2 使用接口\r\n15.2.3 HResult返回类型\r\n15.3 COM对象和类工厂\r\n15.3.1 TComObject和TComObject-Factory\r\n15.3.2 in-process COM服务器\r\n15.3.3 创建in-proc COM服务器实例\r\n15.3.4 out-of-process COM服务器\r\n15.4 聚合\r\n15.5 分布式COM\r\n15.6 Automation\r\n15.6.1 IDispatch\r\n15.6.2 类型信息\r\n15.6.3 后期绑定与早期绑定的对比\r\n15.6.4 注册\r\n15.6.5 创建Automation服务器\r\n15.6.6 创建Automation控制器\r\n15.7 高级Automation技术\r\n15.7.1 Automation事件\r\n15.7.2 Automation集合\r\n15.7.3 类型库新增接口类型\r\n15.7.4 二进制数据的交换\r\n15.7.5 后台:COM的语言支持\r\n15.8 TOleContainer\r\n15.8.1 一个简单的示例程序\r\n15.8.2 一个较为复杂的示例程序\r\n15.9.4 小结\r\n\r\n第16章 Windows外壳编程\r\n\r\n16.1 托盘图标组件\r\n16.1.1 API\r\n16.1.2 处理消息\r\n16.1.3 图标及提示\r\n16.1.4 鼠标点击\r\n16.1.5 隐藏应用程序\r\n16.1.6 托盘图标应用程序示例\r\n16.2 应用程序桌面工具栏\r\n16.2.1 API\r\n16.2.2 TAppBar:AppBar的窗体\r\n16.2.3 使用TAppBar\r\n16.3 外壳链接\r\n16.3.1 获取IShellLink实例\r\n16.3.2 使用IShellLink\r\n16.3.3 创建一个外壳链接\r\n16.3.4 获取及设置链接信息\r\n16.3.5 示例程序\r\n16.4 外壳扩展\r\n16.4.1 COM对象向导\r\n16.4.2 复制钩子处理器\r\n16.4.3 环境菜单处理器\r\n16.4.4 图标处理器\r\n16.4.5 信息提示处理器\r\n16.5 小结\r\n\r\n第17章 使用Open Tools API\r\n\r\n17.1 Open Tools接口\r\n17.2 使用Open Tools API\r\n17.2.1 简单的向导\r\n17.2.2 Wizard向导\r\n17.2.3 DDG Search\r\n17.3 窗体向导\r\n17.4 小结\r\n\r\n第五部分 企业开发\r\n\r\n第18章 使用COM+/MTS开发事务程序\r\n\r\n18.1 什么是COM+\r\n18.2 使用COM的原因\r\n18.3 服务\r\n18.3.1 事务\r\n18.3.2 安全\r\n18.3.3 及时激活\r\n18.3.4 队列组件\r\n18.3.5 对象缓冲池\r\n18.3.6 事件\r\n18.4 运行期\r\n18.4.1 注册数据库(RegDB)\r\n18.4.2 配置组件\r\n18.4.3 运行环境(Contexts)\r\n18.4.4 Neutral线程\r\n18.5 创建COM+应用程序\r\n18.5.1 目标:规模\r\n18.5.2 执行环境\r\n18.5.3 有状态(Stateful)和无状态(Stateless)\r\n18.5.4 生命周期管理\r\n18.5.5 COM+应用程序的组织\r\n18.5.6 有关事务的思考\r\n18.5.7 资源\r\n18.6 Delphi中的COM+\r\n18.6.1 COM+向导\r\n18.6.2 COM+框架\r\n18.6.3 Tic-Tac-Toe:一个简单的应用程序\r\n18.6.4 调试COM+应用程序\r\n18.7 小结\r\n\r\n第19章 CORBA开发\r\n\r\n19.1 CORBA特性\r\n19.2 CORBA体系结构\r\n19.2.1 OSAgent\r\n19.2.2 接口\r\n19.3 接口定义语言\r\n19.3.1 基本类型\r\n19.3.2 用户定义类型\r\n19.3.3 别名\r\n19.3.4 枚举\r\n19.3.5 结构\r\n19.3.6 数组\r\n19.3.7 序列\r\n19.3.8 方法参数\r\n19.3.9 模块\r\n19.4 银行案例\r\n19.5 复杂数据类型\r\n19.6 Delphi、CORBA和Enterprise Java Beans(EJB)\r\n19.6.1 Delphi程序员EJB速成\r\n19.6.2 EJB是一种特殊的组件\r\n19.6.3 EJB在容器中运行\r\n19.6.4 EJB具有预定义的API\r\n19.6.5 Home(本地)接口和Remote(远程)接口\r\n19.6.6 EJB的类型\r\n19.6.7 配置JBuilder 5以开发EJB\r\n19.6.8 创建一个简单的“Hello'world” EJB\r\n19.7 CORBA和Web Services\r\n19.7.1 创建Web Service\r\n19.7.2 创建SOAP客户端应用程序\r\n19.7.3 添加CORBA客户端代码至Web Service中\r\n19.8 小结\r\n\r\n第20章 BizSnap开发:基于SOAP的Web Services\r\n\r\n20.1 Web Services\r\n20.2 SOAP\r\n20.3 编写Web Service\r\n20.3.1 TWebModule\r\n20.3.2 定义一个可调用接口\r\n20.3.3 实现一个可调用接口\r\n20.3.4 测试Web Service\r\n20.4 从客户端调用Web Service\r\n20.4.1 为远程可调用对象产生一个输入单元\r\n20.4.2 使用THTTPRIO组件\r\n20.5 小结\r\n\r\n第21章 DataSnap开发\r\n\r\n21.1 创建多层应用程序的机制\r\n21.2 多层体系结构的优点\r\n21.2.1 集中商业逻辑\r\n21.2.2 瘦客户结构\r\n21.2.3 自动错误调解\r\n21.2.4 公文包模型\r\n21.2.5 容错性\r\n21.2.6 负载平衡\r\n21.3 典型的DataSnap结构\r\n21.3.1 服务器\r\n21.3.2 客户端\r\n21.4 使用DataSnap创建应用程序\r\n21.4.1 创建服务器\r\n21.4.2 创建客户端\r\n21.5 更多增强应用程序健壮性的措施\r\n21.5.1 客户端优化技术\r\n21.5.2 应用程序服务器技术\r\n21.6 实例\r\n21.7 Client Dataset组件的更多特性\r\n21.8 典型错误\r\n21.9 配置DataSnap应用程序\r\n21.9.1 发放许可证\r\n21.9.2 DCOM配置\r\n21.9.3 文件配置\r\n21.9.4 Internet配置考虑(防火墙)\r\n21.10 小结\r\n\r\n第六部分 Internet开发\r\n\r\n第22章 ASP开发\r\n\r\n22.1 理解活动服务器对象\r\n22.2 活动服务器对象向导\r\n22.2.1 类型库编辑器\r\n22.2.2 新方法\r\n22.2.3 ASP Response对象\r\n22.2.4 第一次运行\r\n22.2.5 ASP Request对象\r\n22.2.6 重新编译活动服务器对象\r\n22.2.7 再次运行活动服务器对象\r\n22.3 ASP Session、Server和Application对象\r\n22.4 活动服务器对象及数据库\r\n22.5 活动服务器对象及NetCLX支持\r\n22.6 调试活动服务器对象\r\n22.6.1 使用MTS调试活动服务器对象\r\n22.6.2 采用Windows NT 4调试\r\n22.6.3 采用Windows 2000调试\r\n22.7 小结\r\n\r\n第23章 WebSnap开发\r\n\r\n23.1 WebSnap的特性\r\n23.1.1 多个Webmodule\r\n23.1.2 服务器执行脚本\r\n23.1.3 TAdapter(适配器)组件\r\n23.1.4 多种调度方法\r\n23.1.5 Page producer(页面生成器)组件\r\n23.1.6 会话管理\r\n23.1.7 登录服务\r\n23.1.8 用户跟踪\r\n23.1.9 HTML管理\r\n23.1.10 文件上传服务\r\n23.2 websnap开发\r\n23.2.1 应用程序的设计\r\n23.2.2 为应用程序添加功能\r\n23.2.3 导航菜单栏\r\n23.2.4 登录\r\n23.2.5 管理用户偏好数据\r\n23.2.6 在会话之间保存偏好数据\r\n23.2.7 图像处理\r\n23.2.8 显示数据\r\n23.2.9 将应用程序转换为ISAPI DLL\r\n23.3 高级话题\r\n23.3.1 LocabFileServices(文件定位服务)\r\n23.3.2 文件上传\r\n23.3.3 包含定制模板\r\n23.3.4 在TAdapterPageProducer中定制组件\r\n23.4 小结\r\n\r\n第24章 无线开发\r\n\r\n24.1 开发技术的发展:回顾\r\n24.1.1 20世纪80年代以前:庞然大物时代\r\n24.1.2 20世纪80年代后期:桌面数据库应用程序\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.2.1 移动电话\r\n24.2.2 palmos设备\r\n24.2.3 Pocket PC\r\n24.2.4 RIM BlackBerrv\r\n24.3 无线电技术\r\n24.3.1 GSM、CDMA和TDMA\r\n24.3.2 CDPD\r\n24.3.3 3G\r\n24.3.4 GPRS\r\n24.3.5 蓝牙\r\n24.3.6 802.11\r\n24.4 基于服务器的无线数据技术\r\n24.4.1 SMS\r\n24.4.2 WAP\r\n24.4.3 I-mode\r\n24.4.4 PQA\r\n24.5 无线用户体验\r\n24.5.1 环路选择网络和数据包选择网络\r\n24.5.2 无线并非Web\r\n24.5.3 窗体因素的重要性\r\n24.5.4 数据输入和导航技术\r\n24.5.5 M-Commerce\r\n24.6 小结 本书至今已增订到第5版,在7年的时间中,本书不断完善,为了写作本书,很多人对此付出了相当多的精力。Xavier和Steve是最早的Borland Delphi开发小组成员,本书是他们结合15年的Delphi开发经验写成的。在本书中,我们可以感受到作者的努力精神,正是这种精神,让Delphi开发从书成为世界上最畅销的Delphi书籍,并两次获得Delphi读者最佳选择奖。这本书由开发人员撰写,同时也供开发人员阅读。 本书建立在《Delphi 5开发人员指南》基础之上,理想状况下,我们希望本书包括《Delphi 5开发人员指南》的全部章节和所有新内容。但是《Delphi 5开发人员指南》一书本身太厚,为了给Delphi 6新特性的讨论留下足够空间,我们只抽取了其中的部分章节,再加上Delphi 6的新特性讨论,新书就这样展现在大家面前。 本书包括了一些全新章节,许多章节是《Delphi 5开发人员指南》对应章节的扩展。但在《Delphi 5开发人员指南》中介绍的内容还是极其有用的。因此我们在本书配套光盘中附带了整个电子版的《Delphi 5开发人员指南》,每个章节单独地用PDF格式存储。在电子版的封面中包含了《Delphi 5开发人员指南》的目录表,读者可以在其中查找感兴趣的章节。对读者而言,可谓一举两得。 本书分成六部分。第一部分,“基础知识”,讲述了Delphi编程必要的基础知识。第二部分,“高级技术”,讨论了一些通用的高级开发主题,例如线程和动态链接库。第三部分,“数据库开发”,从多个层面上讨论了Delphi数据库访问主题。第四部分,“基于组件的开发”,讨论了关于VCL、CLX、包、COM和Open Tools API开发问题。第五部分,“企业开发”,其中讨论了开发企业级应用程序需要的实践知识,包括COM+、COBRA、SOAP/BizSnap和DataSnap。最后,第六部分,“Internet开发”,演示了使用Delphi开发Internet和无线应用程序的技术。 本书面向的读者 书如其名,本书是面向开发人员的。如果读者是一位开发人员,并且使用Delphi,那就需要拥有一本这样的书。本书面向3类读者: ■希望将技术提高一个层次的Delphi开发人员。 ■熟悉Pascal、C/C++、Java或Basic,并希望开始使用Delphi的程序员。 ■希望最大限度利用Delphi来研究其中先进特性和隐含特性的程序员。 本书使用的约定 本书使用了下列约定: ■代码行、命令、声明、变量、程序输出以及任何屏幕内容都用计算机打印字体显示。 ■需要读者输入的内容用粗体显示。 ■语法描述中的占位符用斜体表示。 ■技术术语在文章中第一次出现或者用于强调重点时,用斜体表示。 ■程序或过程用在其名后加上一对圆括号表示。虽然这不是标准Pascal风格,但是有助于和属性、变量和类区分。 各章都有一些注意、提示和警告,为了方便阅读,用特殊的字体标出。 本书配套光盘中有书中所有的源代码和项目文件,同时还有一些本书中尚未提到的源代码示例。此外,光盘中还包括一些第三方组件和工具的使用版。 Delphi 6开发指南网站 请访问网站http://www.xapware.com/ddg并且加入《Delphi 6开发人员指南》会员,从而得到本书的额外信息。读者也可以加入我们新闻邮件的邮件列表,并访问我们的讨论组。 写作本书的缘由 有人会问,是什么驱使我们编写本书的。这很难解释,但是当看到其他开发人员仍然将标满了注解、且被翻阅得破烂不堪的《Delphi 5开发人员指南》视为至宝时,就感到一切付出都是值得的。 完成本书的写作后,现在我们可以稍微轻松下来并愉快地编写一些Delphi程序。本书开始讲述的节奏比较慢,但是会迅速深入到Delphi的高级主题中,不过读者应该能够适应这种节奏。如果读者意识到了这一点,说明您已经通读了本书,并且具有了足够的Delphi方面的知识与技术,也许已经可以被称作Delphi专家了

img
调解背景音量.zip

调解背景音量.zip,背景音乐,一种macOS音频实用程序:自动暂停您的音乐,设置单个应用的音量并录制系统音频。

img
论文研究-基于政务知识的服务集成模型和服务集成方法....

分析电子政务应用集成发展的五个阶段以及当前面临的主要问题。针对电子政务领域应用的特殊性,提出了适合电子政务应用集成的知识本体模型,该模型具有基于规则推理和面向场景导航等特点。在服务集成模型的基础上,还提出一种服务集成方法。该方法通过场景导航、服务组合和服务调解等三个步骤实现Web服务的自动集成。利用该服务集成模型和方法可以有效解决传统服务集成模型在规则描述和推理能力方面、目标发掘方面以及服务自动组合能力上的不足。

img
maven window下安装包

maven window下安装包 易学笔记-maven教程目录 第1章:Maven概述/1.1 Maven的概念 第1章:Maven概述/1.2 Maven的功能 第1章:Maven概述/1.3 与其它构建相比/1.3.1 Make 第1章:Maven概述/1.3 与其它构建相比/1.3.2 Ant 第2章:Maven的安装/2.1 Window下的安装 第2章:Maven的安装/2.2 Linux下的安装 第3章:Maven使用入门/3.1 编写POM 第3章:Maven使用入门/3.2 编写源代码 第3章:Maven使用入门/3.3 编写测试代码 第3章:Maven使用入门/3.4 打包 第3章:Maven使用入门/3.5 发布 第5章:坐标和依赖/5.2 坐标详解 第5章:坐标和依赖/5.3 举例:发邮件模块的POM.xml文件 第5章:坐标和依赖/5.4 依赖的配置 第5章:坐标和依赖/5.5 依赖范围 第5章:坐标和依赖/5.6 传递性依赖 第5章:坐标和依赖/5.7 依赖调解 第5章:坐标和依赖/5.8 可选依赖 第5章:坐标和依赖/5.9 最佳实践/5.9.1 排除依赖 第5章:坐标和依赖/5.9 最佳实践/5.9.2 依赖属性使用变量 第5章:坐标和依赖/5.9 最佳实践/5.9.3 依赖关系查看 第6章:仓库/6.1 何为Maven仓库 第6章:仓库/6.2 仓库的布局 第6章:仓库/6.3 仓库的分类 第6章:仓库/6.3 仓库的分类/6.3.1 本地仓库 第6章:仓库/6.3 仓库的分类/6.3.1 本地仓库/6.3.1.1 setting.xml文件路径 第6章:仓库/6.3 仓库的分类/6.3.2 远程仓库(超级POM) 第6章:仓库/6.3 仓库的分类/6.3.3 私服 第6章:仓库/6.4 远程仓库的配置 第6章:仓库/6.4 远程仓库的配置/6.4.1 远程仓库验证 第6章:仓库/6.4 远程仓库的配置/6.4.2 部署构建到远程仓库(如:私有仓库) 第6章:仓库/6.5 快照版本 第6章:仓库/6.6 从仓库解析依赖的机制 第6章:仓库/6.7 镜像 第6章:仓库/6.8 仓库搜索服务/6.8.1 Nexus搜索 第6章:仓库/6.8 仓库搜索服务/6.8.2 Jarvana搜索 第6章:仓库/6.8 仓库搜索服务/6.8.3 MVNbrowser搜索 第6章:仓库/6.8 仓库搜索服务/6.8.4 MVNrepository搜索(可用) 第6章:仓库/6.8 仓库搜索服务/6.8.5 阿里仓库搜索(可用) 第7章:生命周期和插件/7.1 何为生命周期 第7章:生命周期和插件/7.2 生命周期详解/7.2.1 三套生命周期 第7章:生命周期和插件/7.2 生命周期详解/7.2.2 clean生命周期 第7章:生命周期和插件/7.2 生命周期详解/7.2.3 default生命周期 第7章:生命周期和插件/7.2 生命周期详解/7.2.4 site生命周期 第7章:生命周期和插件/7.2 生命周期详解/7.2.5 命令行和声明周期 第7章:生命周期和插件/7.3 插件目标 第7章:生命周期和插件/7.4 插件绑定 第7章:生命周期和插件/7.4 插件绑定/7.4.1 内置绑定 第7章:生命周期和插件/7.4 插件绑定/7.4.2 自定义生命周期和插件的绑定 第7章:生命周期和插件/7.5 插件配置/7.5.1 命令行插件参数设置 第7章:生命周期和插件/7.5 插件配置/7.5.2 POM文件中进行插件参数设置 第7章:生命周期和插件/7.5 插件配置/7.5.3 POM文件中进行插件任务设置 第7章:生命周期和插件/7.6 获取插件信息/7.6.1 在线插件信息 第7章:生命周期和插件/7.6 获取插件信息/7.6.2 命令行获取插件信息 第7章:生命周期和插件/7.7 从命令行调用插件 第7章:生命周期和插件/7.8 插件解析机制/7.8.1 插件仓库 第7章:生命周期和插件/7.8 插件解析机制/7.8.2 插件的默认groupID和自定义groupID 第7章:生命周期和插件/7.8 插件解析机制/7.8.3 解析插件版本 第7章:生命周期和插件/7.8 插件解析机制/7.8.4 解析插件前缀 第8章:聚合和继承/8.2 聚合:解决一起发布的问题 第8章:聚合和继承/8.3 继承/8.3.1 解决POM文件重复定义问题 第8章:聚合和继承/8.3 继承/8.3.2 可继承的POM元素 第8章:聚合和继承/8.3 继承/8.3.3 依赖管理 第8章:聚合和继承/8.3 继承/8.3.4 插件管理 第8章:聚合和继承/8.4 聚合与继承的关系 第8章:聚合和继承/8.5 约定优于配置 第8章:聚合和继承/8.6 反应堆/8.6.1 反应堆的构建顺序 第8章:聚合和继承/8.6 反应堆/8.6.2 剪切反应堆 第9章:使用Nexus创建私服/9.2 安装Nexus 第9章:使用Nexus创建私服/9.3 Nexus的仓库和仓库组/9.3.1 Nexus的内置仓库 第9章:使用Nexus创建私服/9.3 Nexus的仓库和仓库组/9.3.2 Nexus仓库分类的概念 第9章:使用Nexus创建私服/9.3 Nexus的仓库和仓库组/9.3.3 创建Nexus宿主仓库 第9章:使用Nexus创建私服/9.3 Nexus的仓库和仓库组/9.3.4 创建Nexus代理仓库 第9章:使用Nexus创建私服/9.3 Nexus的仓库和仓库组/9.3.5 创建Nexus仓库组 第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/9.4.1 自动下载索引文件 第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/9.4.2 手工下载索引文件 第9章:使用Nexus创建私服/9.4 Nexus的索引和构件搜索/9.4.3 构件搜索 第9章:使用Nexus创建私服/9.5 配置MAVEN从Nexus下载构件/9.5.1 单个POM文件形式(适合单个项目) 第9章:使用Nexus创建私服/9.5 配置MAVEN从Nexus下载构件/9.5.2 setting.xml方式(适合所有项目) 第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.1 Nexus的访问控制模型 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.1 创建仓库 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.2 创建仓库目标(请求路径过滤) 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.3 系统预设权限(不可修改) 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.4 自定义权限(基于仓库和仓库目标) 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.5 系统预设角色 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.6 自定义创建角色并绑定权限 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.7 创建用户并绑定角色 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.8 有权限用户部署构件 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.9 无权限用户部署构件 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为项目分配独立的仓库/9.7.2.10 从仓库获取自定义构件 第10章:使用Maven进行测试/10.1 maven-surefire-plugin插件/10.1.1 概念 第10章:使用Maven进行测试/10.1 maven-surefire-plugin插件/10.1.2 测试用例所在的目录 第10章:使用Maven进行测试/10.2 测试要求添加的依赖 第10章:使用Maven进行测试/10.3 新建要测试的工程 第10章:使用Maven进行测试/10.4 跳过测试/10.3.1 命令行跳过测试 第10章:使用Maven进行测试/10.4 跳过测试/10.3.2 配置插件跳过测试 第10章:使用Maven进行测试/10.4 跳过测试/10.3.3 命令行跳过测试以及跳过测试代码编译 第10章:使用Maven进行测试/10.4 跳过测试/10.3.4 配置插件跳过测试以及跳过测试代码编译 第10章:使用Maven进行测试/10.5 动态指定要测试的类/10.5.1 指定若干个类 第10章:使用Maven进行测试/10.5 动态指定要测试的类/10.5.2 *模糊匹配 第10章:使用Maven进行测试/10.6 包含或者排除指定测试用例/10.6.1 包含测试用例 第10章:使用Maven进行测试/10.6 包含或者排除指定测试用例/10.6.2 排除测试用例 第10章:使用Maven进行测试/10.7 测试报告/10.7.1 基本测试报告/10.7.1.1 txt版本 第10章:使用Maven进行测试/10.7 测试报告/10.7.1 基本测试报告/10.7.1.2 XML版本 第10章:使用Maven进行测试/10.7 测试报告/10.7.2 测试覆盖率/10.7.2.1 概念 第10章:使用Maven进行测试/10.7 测试报告/10.7.2 测试覆盖率/10.7.2.2 举例 第10章:使用Maven进行测试/10.8 打包测试代码/10.8.1 概念 第10章:使用Maven进行测试/10.8 打包测试代码/10.8.2 插件配置 第10章:使用Maven进行测试/10.8 打包测试代码/10.8.3 执行打包操作 第10章:使用Maven进行测试/10.8 打包测试代码/10.8.4 引用测试jar包 第11章:用Maven管理项目版本/11.1 版本分类/11.1.1 快照版本 第11章:用Maven管理项目版本/11.1 版本分类/11.1.2 发行版本 第11章:用Maven管理项目版本/11.2 版本号格式约定 第11章:用Maven管理项目版本/11.3 版本状态/11.3.1 主干、分支、标签 第11章:用Maven管理项目版本/11.3 版本状态/11.3.2 状态图 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.1 插件:maven-release-plugin 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.2 新建maven项目 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.3 将项目保存到SVN(SVN:版本管理工具) 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.4 在POM中配置SVN地址 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.5 在POM中配置/11.4.5.1 发布插件以及标签的基础目录 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.5 在POM中配置/11.4.5.2 发布到私有仓库配置 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.6 release:prepare:发布前检查/11.4.6.1 出现错误的情形 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.6 release:prepare:发布前检查/11.4.6.2 成功检查通过的情形 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.6 release:prepare:发布前检查/11.4.6.3 检查通过后创建的新文件 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.6 release:prepare:发布前检查/11.4.6.3 检查通过后修改POM文件 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.7 release:rollback:回滚 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.8 release:perform:执行发布新版本 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.9 实例完整源代码 第12章:编写自定义插件/12.1 自定义插件的步骤 第12章:编写自定义插件/12.2 注解说明/12.2.1 @Mojo:定义插件属性 第12章:编写自定义插件/12.2 注解说明/12.2.2 @Parameter:获取pom.xml文件中属性 第12章:编写自定义插件/12.3 编写插件实例:统计代码行数/12.3.1 插件项目原型 第12章:编写自定义插件/12.3 编写插件实例:统计代码行数/12.3.2 实现AbstractMojo类 第12章:编写自定义插件/12.3 编写插件实例:统计代码行数/12.3.3 实例完整源代码 第12章:编写自定义插件/12.3 编写插件实例:统计代码行数/12.3.4 将插件安装到仓库 第12章:编写自定义插件/12.3 编写插件实例:统计代码行数/12.3.5 插件测试 第12章:编写自定义插件/12.4 使用自定义插件/12.4.1 在新建的Maven项目中引用自定义插件 第12章:编写自定义插件/12.4 使用自定义插件/12.4.2 测试自定义插件 第12章:编写自定义插件/12.4 使用自定义插件/12.4.3 实例完整源代码 第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.1 概念 第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.2 项目原型分类 第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.3 命令行生成默认的项目原型 第13章:使用Maven生成项目原型/13.1 Maven项目原型/13.1.4 命令行生成的web项目原型 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.1 自定义项目原型结构组成 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.2 命令行生成项目原型项目 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.3 要生成的Maven项目的POM.xml文件 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.4 archetype.xml描述符文件 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.5 将原型项目上传到私有仓库 第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.6 按照项目原型生成Maven工程 第14章:灵活的构建/14.1 Maven的属性/14.1.1 概念 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.1 内置属性 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.2 project属性 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.3 自定义属性(properties) 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.4 Setting文件属性 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.5 JAVA系统属性 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.6 环境变量属性 第14章:灵活的构建/14.2 Maven属性的使用/14.2.1 直接在POM文件中使用 第14章:灵活的构建/14.2 Maven属性的使用/14.2.2 使用注解:Parameter 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.1 打开属性解析 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.2 属性解析使用举例 第14章:灵活的构建/14.2 Maven属性的使用/14.2.3 属性解析/14.2.3.3 实例完整源代码 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.1 属性文件概念 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.2 命令行激活 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.3 setting文件激活 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.4 系统属性存在时激活 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.5 系统属性等于某个值时激活 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.6 根据操作系统激活 第14章:灵活的构建/14.3 激活属性文件的方法/14.3.7 默认激活 第14章:灵活的构建/14.4 profile文件的种类/14.4.1 本项目下 第14章:灵活的构建/14.4 profile文件的种类/14.4.2 setting.xml中