当前位置: 100md首页 > 电子书籍 > 资料下载2019
编号:41720
《TclxTk入门经典(第2版)》.(美)奥斯德奥特,琼斯.扫描版.pdf
http://www.100md.com 2015年3月20日
《Tcl,Tk入门经典(第2版)》(Tcl and the Tk toolkit, 2nd Edition)扫描版[PDF]
第1页
第5页
第17页
第29页
第38页

    参见附件(21740KB,564页)。

    中文名: Tcl/Tk入门经典(第2版)

    原名: Tcl and the Tk toolkit, 2nd Edition

    别名: Tcl,Tk

    作者: (美)奥斯德奥特琼斯

    译者: 张无章

    资源格式: PDF

    版本: 扫描版

    出版社: 清华大学出版社

    书号: 9787302235170

    发行时间: 2010年10月01日

    地区: 大陆

    语言: 简体中文

    Tcl/Tk入门经典 简介:

    Tcl/Tk入门经典 内容介绍:

    《Tcl/Tk入门经典》
介绍了Tcl语言、Tk工具集以及Tcl和C语言结合编程。《Tcl/Tk入门经典》的第I部分首先介绍了Tcl语言的基本概念和基础知识。第II部分集中介绍如何使用Tk工具集开发图形用户界面。第Ⅲ部分讲解了如何结合Tcl和C语言进行程序开发。

    《Tcl/Tk入门经典》原第一作者是Tcl的创造者,所以本书内容覆盖了Tcl语言的主要方面,且示例程序丰富,大部分示例代码可在Tcl安装目录的demos目录中找到。《Tcl/Tk入门经典》适用于Tcl语言的初学者,也适用于希望了解Tcl 8.5版和Tk 8.5版新特性的读者。

    Tcl/Tk入门经典 内容截图:

    Tcl/Tk入门经典 目录:
第Ⅰ部分 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

    Tcl/Tk入门经典