Tcl/Tk入门经典txt,chm,pdf,epub,mobi下载 作者:John K. Ousterhout/Ken Jones 出版社: 清华大学出版社 原作名: Tcl and the Tk Toolkit (2nd Edition) 译者:张元章 出版年: 2010-10 页数: 540 定价: 69.00元 装帧: 平装 ISBN: 9787302235170 内容简介 · · · · · ·《Tcl/Tk入门经典(第2版)》介绍了Tcl语言、Tk工具集以及Tcl和C语言结合编程。《Tcl/Tk入门经典(第2版)》第I部分首先介绍了Tcl语言的基本概念和基础知识。第II部分集中介绍如何使用Tk工具集开发图形用户界面。第Ⅲ部分讲解了如何结合Tcl和C语言进行程序开发。《Tcl/Tk入门经典(第2版)》原第一作者是Tcl的创造者,所以《Tcl/Tk入门经典(第2版)》内容覆盖了Tcl语言的主要方面,且示例程序丰富,大部分示例代码可在Tcl安装目录的demos目录中找到。 《Tcl/Tk入门经典(第2版)》适用于Tcl语言的初学者,也适用于希望了解Tcl 8.5版和Tk 8.5版新特性的读者。 目录 · · · · · ·第Ⅰ部分 Tcl语言第1章 Tcl和Tk概览 3 1.1 从这里起步 3 1.2 用Tk编写"Hello, world!"程序 5 1.3 脚本文件 7 1.3.1 在Unix和Mac OS X中 · · · · · ·() 第Ⅰ部分 Tcl语言 第1章 Tcl和Tk概览 3 1.1 从这里起步 3 1.2 用Tk编写"Hello, world!"程序 5 1.3 脚本文件 7 1.3.1 在Unix和Mac OS X中 运行脚本 7 1.3.2 在Windows中执行脚本 8 1.3.3 在交互式解释器中运行脚本 8 1.4 变量与替换 8 1.5 控制结构 9 1.6 关于Tcl语言 11 1.7 事件绑定 12 1.8 Tcl和Tk的更多功能 14 第2章 Tcl语言的语法 16 2.1 脚本、命令和单词 16 2.2 处理命令 16 2.3 变量替换 18 2.4 命令替换 19 2.5 反斜线替换 20 2.6 双引号引用 21 2.7 大括号引用 22 2.8 参数展开 24 2.9 注释 25 2.10 正常返回和异常返回 26 2.11 有关替换的更多信息 27 第3章 变量 29 3.1 本章出现的命令 29 3.2 简单变量和set命令 30 3.3 Tcl的内部数据存储 30 3.4 数组 31 3.5 变量替换 32 3.6 多维数组 33 3.7 查询数组的元素 34 3.8 incr命令和append命令 35 3.9 移除变量:unset和array unset 36 3.10 预定义变量 36 3.11 其他变量功能预览 37 第4章 表达式 38 4.1 本章出现的命令 38 4.2 数值操作数 38 4.3 操作符及其优先级 39 4.3.1 算术操作符 40 4.3.2 关系操作符 40 4.3.3 逻辑操作符 41 4.3.4 按位操作符 41 4.3.5 选择操作符 41 4.4 数学函数 42 4.5 替换 43 4.6 字符串操作 44 4.7 列表操作 45 4.8 类型与转换 46 4.9 精度 46 第5章 字符串操作 47 5.1 本章出现的命令 47 5.2 取得字符:string index 和string range 50 5.3 长度、大小写转换、裁剪以及重复 50 5.4 简单搜索 51 5.5 字符串比较 51 5.6 字符串置换 52 5.7 确定字符串类型 53 5.8 用format创建字符串 54 5.9 用scan解析字符串 56 5.10 通配符样式的模式匹配 57 5.11 使用正则表达式进行模式匹配 58 5.11.1 正则表达式的原子 58 5.11.2 正则表达式的分支和量词 61 5.11.3 逆向引用 62 5.11.4 非捕获子表达式 62 5.11.5 regexp命令 62 5.12 使用正则表达式进行替换 63 5.13 字符集专题 64 5.13.1 字符编码和操作系统 65 5.13.2 编码和通道输入/输出 65 5.13.3 转化字符串的编码格式 66 5.14 消息目录 66 5.14.1 使用消息目录 66 5.14.2 创建本地消息文件 67 5.14.3 在源字符串和翻译字符串中 使用转换符 68 5.14.4 在命名空间中使用 消息目录 69 5.15 二进制字符串 69 第6章 列表 73 6.1 本章出现的命令 73 6.2 基本列表结构与lindex 和llength命令 74 6.3 创建列表:list、concat和lrepeat 76 6.4 修改列表:lrange、linsert、lreplace、 lset和lappend 77 6.5 从列表中取得元素:lassign 79 6.6 搜索列表:lsearch 79 6.7 排序列表:lsort 80 6.8 在字符串和列表之间转化:split 与join 81 6.9 用列表创建命令 82 第7章 字典 84 7.1 本章出现的命令 84 7.2 基本字典结构与 dict get命令 86 7.3 创建和更新字典 88 7.4 检测字典:子命令size、exists、 keys和for 89 7.5 更新字典中的值 90 7.6 使用嵌套字典 92 第8章 流程控制 96 8.1 本章出现的命令 96 8.2 if命令 97 8.3 switch命令 98 8.4 循环命令:while、for和foreach 100 8.5 循环控制:break与continue 101 8.6 eval命令 102 8.7 从文件运行:source 103 第9章 过程 104 9.1 本章出现的命令 104 9.2 过程基础:proc与return 105 9.3 局部和全局变量 106 9.4 参数变量的数目和默认设置 106 9.5 传引用调用:upvar 107 9.6 创建新的控制结构:uplevel 109 9.7 应用匿名过程 110 第10章 命名空间 112 10.1 本章出现的命令 112 10.2 在命名空间中处理Tcl脚本 114 10.3 操作限定名称 116 10.4 在命名空间中导出和导入命令 117 10.5 检查命名空间 118 10.6 有关集合命令 119 10.6.1 基本的集合命令 119 10.6.2 在集合命令中设置 集合命令 120 10.6.3 控制集合命令的设置 121 10.6.4 管理集合unknown 子命令 121 10.7 访问其他命名空间的变量 123 10.8 名称解析路径的控制 124 第11章 访问文件 126 11.1 本章出现的命令 126 11.2 操纵文件和目录名 128 11.3 当前工作目录 130 11.4 列出目录的内容 130 11.5 处理磁盘上的文件 132 11.5.1 创建目录 132 11.5.2 删除文件 132 11.5.3 复制文件 133 11.5.4 重命名和移动文件 133 11.5.5 文件信息命令 134 11.5.6 处理名称怪异的文件 135 11.6 读写文件 135 11.6.1 基本文件I/O 135 11.6.2 输出缓冲区 137 11.6.3 处理各平台的行 结束约定 137 11.6.4 管理字符编码集 139 11.6.5 处理二进制文件 139 11.6.6 随机访问文件 139 11.6.7 复制文件内容 140 11.7 虚拟文件系统 142 11.8 系统调用中的错误 143 第12章 进程间通信 144 12.1 本章出现的命令 144 12.2 用exit终止Tcl进程 145 12.3 用exec调用子进程 146 12.4 命令管线的输入输出 148 12.5 配置通道选项 149 12.5.1 通道阻塞模式 149 12.5.2 通道的缓冲模式 150 12.6 事件驱动的通道交互 150 12.6.1 用vwait进入Tcl 事件循环 151 12.6.2 注册文件事件处理器 151 12.7 进程ID 153 12.8 环境变量 153 12.9 TCP/IP套接字通信 153 12.9.1 创建客户通信套接字 154 12.9.2 创建服务器套接字 155 12.10 向Tcl程序发送命令 157 12.10.1 send基础 157 12.10.2 应用程序名称 157 12.10.3 有关send的安全问题 158 第13章 错误与异常 159 13.1 本章出现的命令 159 13.2 在出现错误后会发生什么 160 13.3 由Tcl脚本生成错误 161 13.4 用catch捕获错误 161 13.5 异常概述 162 13.6 后台错误与bgerror 164 第14章 创建与使用Tcl脚本库 166 14.1 本章出现的命令 166 14.2 load命令 168 14.3 库的使用 168 14.4 自动加载 168 14.5 包 170 14.5.1 包的使用 170 14.5.2 包的创建 170 14.5.3 使用::pkg::create 172 14.5.4 包的安装 172 14.5.5 包的实用命令 172 14.6 Tcl模块 173 14.6.1 使用Tcl模块 173 14.6.2 安装Tcl模块 174 14.7 把脚本打包为Starkit 175 14.7.1 安装Tclkit 176 14.7.2 创建Starkit 176 14.7.3 创建平台相关的可执行 文件 178 第15章 Tcl内部管理 179 15.1 本章出现的命令 179 15.2 时间延迟 183 15.3 时间和日期操作 184 15.3.1 产生可读的时间 和日期字符串 184 15.3.2 扫描可读的时间 和日期字符串 186 15.3.3 进行时间计算 187 15.4 运行计时命令 188 15.5 info命令 188 15.5.1 有关变量的信息 188 15.5.2 有关过程的信息 189 15.5.3 有关命令的信息 190 15.5.4 Tcl解释器版本及其 他运行环境信息 191 15.6 对简单变量的跟踪操作 191 15.7 跟踪数组变量 194 15.8 重命名和删除命令 194 15.9 跟踪命令 195 15.10 未知命令 197 15.11 从解释器 198 15.11.1 命令别名 200 15.11.2 安全从解释器 和隐藏命令 201 15.11.3 解释器之间的传输通道 202 15.11.4 为解释器设定限制 203 第16章 历史 205 16.1 本章出现的命令 205 16.2 历史列表 206 16.3 描述事件 206 16.4 从历史列表中再次执行命令 207 16.5 利用unknown实现的快捷方式 207 16.6 当前事件号:history nextid 208 第Ⅱ部分 编写Tk脚本 第17章 Tk入门 211 17.1 窗口系统简介 211 17.2 组件 213 17.3 应用、顶层组件和屏幕 214 17.4 脚本和事件 215 17.5 创建和删除组件 216 17.6 几何管理器 216 17.7 组件命令 217 17.8 互连命令 218 第18章 Tk组件概览 219 18.1 组件基础 219 18.2 框架 221 18.2.1 浮雕选项 221 18.2.2 屏幕距离选项 221 18.3 颜色选项 222 18.4 顶层 223 18.5 标签 223 18.5.1 文本选项 223 18.5.2 字体选项 224 18.5.3 图像选项 224 18.5.4 复合选项 225 18.6 标签框架 225 18.7 按钮 226 18.7.1 复选按钮 226 18.7.2 单选按钮 227 18.7.3 菜单按钮 228 18.8 列表框 229 18.9 滚动条 229 18.9.1 移动单个的组件 230 18.9.2 多个组件的同步滚动 231 18.10 标尺 232 18.11 输入框 233 18.11.1 输入框组件 233 18.11.2 调节框 234 18.11.3 show选项 234 18.11.4 验证 235 18.12 菜单 236 18.12.1 下拉菜单 237 18.12.2 级联菜单 238 18.12.3 键盘遍历和快捷键 239 18.12.4 针对平台的菜单 240 18.12.5 弹出式菜单 240 18.13 分栏窗口 241 18.14 标准对话框 243 18.15 其他的常见选项 244 18.15.1 组件状态 244 18.15.2 组件尺寸选项 244 18.15.3 锚定选项 245 18.15.4 内部补白 245 18.15.5 光标选项 246 第19章 主题组件 247 19.1 比较经典组件和主题组件 247 19.2 组合框 249 19.3 记事本 249 19.4 进度条 251 19.5 分隔符 252 19.6 尺寸控制柄 252 19.7 目录树 252 19.7.1 管理目录树条目 252 19.7.2 控制目录树的列和标题 255 19.7.3 目录树条目选择管理 256 19.7.4 目录树条目标记 257 19.8 主题组件状态 258 19.9 主题组件样式 259 19.9.1 使用主题 260 19.9.2 样式的元素 260 19.9.3 创建和配置样式 261 19.10 其他标准主题组件选项 263 第20章 字体、位图和图像 264 20.1 本章出现的命令 264 20.2 font命令 265 20.2.1 控制和使用命名字体 266 20.2.2 其他的字体应用 269 20.2.3 字体描述 269 20.3 image命令 270 20.3.1 位图图像 271 20.3.2 相片图像 271 20.3.3 图像和命名空间 275 第21章 几何管理器 277 21.1 本章出现的命令 277 21.2 几何管理器概览 278 21.3 网格管理器 279 21.3.1 grid命令和-sticky选项 282 21.3.2 跨行和跨列 283 21.3.3 拉伸行为与-weight 和-uniform选项 283 21.3.4 相对位置字符 284 21.4 打包器 285 21.4.1 pack命令和-side选项 287 21.4.2 充满 288 21.4.3 扩充 288 21.4.4 锚定 290 21.4.5 打包顺序 290 21.5 补白 291 21.6 定位器 291 21.7 层级结构几何管理 292 21.8 组件堆栈顺序 293 21.9 其他几何管理器选项 294 21.10 Tk里的其他几何管理器 295 第22章 事件和绑定 297 22.1 本章出现的命令 297 22.2 事件 298 22.3 bind命令概览 299 22.4 事件模式 300 22.5 事件序列 301 22.6 脚本中的置换 301 22.7 解决冲突 302 22.8 事件绑定层级结构 303 22.9 事件何时被处理 304 22.10 命名虚拟事件 305 22.11 生成事件 307 22.12 逻辑动作 308 22.13 绑定的其他用途 310 第23章 画布组件 311 23.1 画布基础:条目和类型 311 23.2 控制带标识符和标记的条目 313 23.3 绑定 315 23.4 画布滚动 318 23.5 生成Postscript 319 第24章 文本组件 321 24.1 文本组件的基本原理 321 24.2 文本索引与记号 323 24.3 搜索与替换 324 24.4 文本标记 325 24.4.1 标记选项 326 24.4.2 标记优先级 328 24.4.3 标记绑定 328 24.5 虚拟事件 329 24.6 嵌入式窗口 329 24.7 嵌入图像 330 24.8 撤销 331 24.9 同级文本组件 334 第25章 选择与剪贴板 336 25.1 本章出现的命令 336 25.2 选择、检索和类型 337 25.3 定位和清除选择 338 25.4 用Tcl 脚本提供选择 339 25.5 clipboard命令 340 25.6 拖曳和释放 341 第26章 窗口管理器 342 26.1 本章出现的命令 342 26.2 窗口尺寸 344 26.3 窗口位置 346 26.4 网格化窗口 346 26.5 窗口状态 347 26.6 装饰 348 26.7 特殊处理:瞬态、组 和覆盖-重定向 349 26.8 针对系统的窗口属性 349 26.9 可停靠的窗口 350 26.10 关闭窗口 351 26.11 会话管理 352 第27章 焦点、模态交互 与自定义对话框 353 27.1 本章出现的命令 353 27.2 输入焦点 354 27.2.1 焦点模式:显式与隐式 354 27.2.2 设置输入焦点 355 27.2.3 查询输入焦点 355 27.3 模态交互 356 27.3.1 攫取 356 27.3.2 局部和全局攫取 357 27.3.3 攫取中的键盘处理 357 27.3.4 等待:tkwait命令 358 27.4 自定义对话框 359 第28章 更多配置选项 363 28.1 本章出现的命令 363 28.2 选项数据库 364 28.3 选项数据库条目 364 28.4 RESOURCE_MANAGER 属性和.Xdefaults文件 365 28.5 选项数据库的优先级 366 28.6 option命令 367 28.7 configure组件命令 367 28.8 cget组件命令 368 第29章 关于Tk的其他内容 369 29.1 本章出现的命令 369 29.2 删除组件 370 29.3 update命令 370 29.4 关于组件的信息 371 29.5 tk命令 371 29.6 Tk控制的变量 372 29.7 响铃 373 第Ⅲ部分 C语言中Tcl应用程序的编写 第30章 Tcl与C语言的集成原理 377 30.1 Tcl与C:如何选用 378 30.2 资源名称--把C结构 连接到Tcl 379 30.3 "面向动作"与"面向对象" 380 30.4 描述性信息 381 第31章 解释器 382 31.1 本章出现的函数 382 31.2 解释器概述 383 31.3 简单的Tcl 应用程序 384 31.4 删除解释器 385 31.5 多重解释器 385 第32章 Tcl对象 387 32.1 本章出现的函数 387 32.2 字符串对象 390 32.3 数值对象 390 32.4 从对象中获取C语言数据 391 32.5 Tcl对象的动态本质 391 32.6 字节数组 392 32.7 复合对象 392 32.8 引用计数 393 32.9 共享对象 393 32.10 新的对象类型 394 32.11 解析字符串 395 32.12 内存分配 395 第33章 处理Tcl代码 397 33.1 本章出现的函数 397 33.2 处理Tcl代码 398 33.3 动态创建脚本 399 33.4 Tcl表达式 400 第34章 访问Tcl变量 401 34.1 本章出现的函数 401 34.2 设置变量值 403 34.3 读取变量 404 34.4 删除变量 405 34.5 链接Tcl和C变量 405 34.6 设置与删除变量跟踪 407 34.7 跟踪回调 407 34.8 全数组跟踪 409 34.9 多重跟踪 409 34.10 删除回调 409 第35章 创建新的Tcl命令 411 35.1 本章出现的函数 411 35.2 命令函数 413 35.3 注册命令 414 35.4 结果协议 416 35.5 Tcl_AppendResult 416 35.6 Tcl_SetResult和interp->result 416 35.7 clientData和删除回调 418 35.8 删除命令 420 35.9 获取与设置命令参数 420 35.10 Tcl过程如何工作 422 35.11 命令跟踪 423 第36章 扩展包 424 36.1 本章出现的函数 424 36.2 Init函数 425 36.3 包 425 36.4 命名空间 426 36.5 Tcl占位符 426 36.6 ifconfig扩展包 427 第37章 嵌入Tcl 433 37.1 本章出现的函数 433 37.2 将Tcl添加到应用程序 433 37.3 初始化Tcl 434 37.4 创建新的Tcl外壳 435 第38章 异常 437 38.1 本章出现的函数 437 38.2 完成代码 438 38.3 设置errorCode 440 38.4 管理返回的选项字典 441 38.5 在errorInfo中添加堆栈跟踪 441 38.6 TcL_Panic 444 第39章 字符串工具 445 39.1 本章出现的函数 445 39.2 动态字符串 449 39.3 字符串匹配 452 39.4 正则表达式匹配 453 39.5 处理字符编码 454 39.6 处理Unicode和UTF-8字符串 455 39.7 命令完整性 457 第40章 哈希表 459 40.1 本章出现的函数 459 40.2 关键字和值 461 40.3 创建和删除哈希表 461 40.4 创建条目 462 40.5 查找已存在的条目 463 40.6 搜索 464 40.7 删除条目 465 40.8 统计 465 第41章 列表和字典对象 467 41.1 本章出现的函数 467 41.2 列表 469 41.3 字典 471 第42章 通道 475 42.1 本章出现的函数 475 42.1.1 基本通道操作 475 42.1.2 通道注册函数 478 42.1.3 通道属性函数 478 42.1.4 通道查询函数 479 42.1.5 通道类型定义函数 480 42.2 通道操作 480 42.3 注册通道 482 42.4 标准通道 484 42.5 创建新的通道类型 484 42.5.1 创建自定义通道实例 485 42.5.2 堆叠通道 485 42.5.3 ROT13通道 486 第43章 事件处理 492 43.1 本章出现的函数 492 43.2 通道事件 493 43.3 时间处理器 495 43.4 休眠回调 496 43.5 调用事件调度器 497 第44章 文件系统的交互 500 44.1 Tcl文件系统函数 500 44.2 虚拟文件系统 502 第45章 操作系统工具 503 45.1 本章出现的函数 503 45.2 进程 504 45.3 收割子进程 506 45.4 异步事件 507 45.5 信号名称 509 45.6 退出与清理 509 45.7 其他 510 第46章 线程 511 46.1 本章出现的函数 511 46.2 线程安全 512 46.3 构建支持线程的Tcl 512 46.4 创建线程 512 46.5 终止线程 513 46.6 互斥体 513 46.7 条件变量 514 46.8 其他 515 第47章 构建Tcl及其扩展 517 47.1 构建Tcl和Tk 517 47.1.1 在Unix中构建Tcl 和Tk 518 47.1.2 在Mac OS上构建Tcl 和Tk 519 47.1.3 在Windows中构建Tcl 和Tk 519 47.2 Tcl扩展架构(TEA) 520 47.2.1 TEA标准配置选项 521 47.2.2 TEA扩展包的目录结构 521 47.2.3 定制aclocal.m4文件 522 47.2.4 定制configure.in文件 522 47.2.5 定制Makefile.in文件 525 47.2.6 在Windows中构建 扩展包 525 47.3 构建嵌入的Tcl 525 第Ⅳ部分 附录 附录A 安装Tcl和Tk 529 A.1 版本 529 A.2 Tcl发布包 529 A.3 ActiveTcl 530 A.4 Tclkit 530 A.5 用发布的源码编译Tcl/Tk 530 附录B 扩展包和应用程序 531 B.1 获取和安装扩展包 531 B.1.1 手动安装扩展包 531 B.1.2 为ActiveState TEApot 档案库安装扩展包 531 B.2 TkCon扩展控制台 533 B.3 标准Tcl库:Tcllib 533 B.4 Img提供的额外的图形格式 534 B.5 Snack提供的声音支持 534 B.6 面向对象的Tcl 534 B.7 多线程Tcl脚本 535 B.8 XML编程 535 B.9 数据库编程 536 B.10 整合Tcl和Java 536 B.11 SWIG 537 B.12 Expect 537 B.13 扩展Tcl 538 附录C Tcl资源 539 C.1 在线资源 539 C.2 书籍 540 附录D Tcl源码发布许可 541 · · · · · · () |
作者的思维的天马行空
以后一直来!
回转曲折,坎坷不平
给了我一个近乎完美的解释。