VS中“解析多义性对话框”

高飞的菜鸟 2010-10-13 03:55:59
近日研究一份师兄的代码,代码中所需要的库文件都下载好并添加了引用,然而在代码中右键选“转到定义”时,弹出了“解析多义性”对话框,来选择变量定义的地址,其中的很多路径并不是我电脑中的路径,项目也因此而无法编译通过,请问大家如何将没用的引用路径去掉呢?谢谢
...全文
219 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
高飞的菜鸟 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qf17331733 的回复:]
我觉得应该一个一个改路径~
[/Quote]
如何一个个的改呢?
qf17331733 2010-10-13
  • 打赏
  • 举报
回复
我觉得应该一个一个改路径~
此文档包括 WinRAR 多功能综合压缩文件管理器

WinRAR 功能:

* WinRAR 引入了一个原创的压缩算法。它提供了比其它 PC 压缩工具更高
的压缩率,特别适用于处理可执行文件,对象库,大的文本文件等。

* WinRAR 提供了一个可选的,对多媒体数据高度优化的压缩运算法。

* WinRAR 支持文件和压缩文件大小超过 9,223,372,036,854,775,807 字节,
大约 9000PB。压缩文件的数目适用于所有实际用途,没有限制。

* WinRAR 对 RAR 和 ZIP 2.0 格式压缩文件提供完整支持,并可以解压 CAB、
ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO、Z、7Z 等压缩文件。

* WinRAR 支持 NTFS 的文件安全和数据流。

* WinRAR 提供了经典窗口交互界面和命令行界面。

* WinRAR 提供了创建“固实”压缩文件的功能,这种格式相对于普通方式能
够使压缩率提高10% - 50%,当压缩大量小文件时更加显著。

* WinRAR 提供了使用默认或外部自解压模块来创建或修改自解压压缩文件的
能力。

* WinRAR 提供了创建多卷自解压格式压缩文件的能力。

* WinRAR 提供了许多服务功能,例如设置密码,添加压缩文件和文件注释。
甚至压缩文件的物理损坏也可能修复。并且压缩文件可以被锁定,以防止
后来被改变。用户身份校验信息可作为附加安全特性被添加,并且 WinRAR
将保存最后更新和压缩文件名的信息。


WinRAR - 最新版本的最新更新

版本 3.70 beta 8

1. 错误修正:

a) WinRAR 外壳扩展无法在 Windows NT 4.0 运行;

b) 在命令行模式下, 当解压缩 ZIP 文件时 WinRAR 返回“写入错误”(数值 5) 代
码。这种情况下, 它应该返回“创建出错”(数值 9)。


版本 3.70 beta 7

1. 错误修正:

a) unrar.exe 的 -ioff 开关无效;

b) WinRAR 3.70 beta 在处理文件扩展名短缺的卷 (如 .rar, .002, .r03) 时失败。
当你精确地指定了下一卷的名称后, 它仍会继续询问;

c) WinRAR 外壳扩展在 Windows 95 下无效。


版本 3.70 beta 6

1. 错误修正:

a) WinRAR 外壳不允许对锁定的 RAR 卷创建恢复卷。现在恢复卷对锁定的和非锁定的
RAR 卷都可用;

b) WinRAR 对文件大小超过 4 GB 的 UDF ISO 文档文件显示错误的大小。这些文件
可以被正确解压,但是在列表窗口显示的大小不正确。


版本 3.70 beta 5

1. 错误修正:

a) 当解压 TAR 压缩文件时, 如果解压的文件名长度超过 100 个字符 WinRAR 3.70
beta 版本会裁切解压的名称一个字符;

b) WinRAR 3.70 beta 版本解压超过 100 卷的分卷 RAR 卷, 并且使用旧格式的命名策
略时不能正确解压。


版本 3.70 beta 4

1. 在创建自解压压缩文件时的“高级自解压选项”的“高级”页面新的“请求管理员访
问权限”选项, 允许在 Windows Vista 启动时请求管理员访问权限。

此选项的等价命令行是 -iadm 开关。

2. 纠正在 Windows 9x/Me 外壳扩展的 DBCS 编码(日语, 汉语, 等。)的支持。

3. 纠正一个从超过 4 GB 的 UDF ISO 映象文件解压文件的错误。


版本 3.70 beta 3

1. WinRAR 设置可以在注册表键 HKEY_CURRENT_USER\Software\WinRAR\Paths 设置字符
串值 "AppData" 来覆盖默认的 %appdata%\WinRAR 路径。

例如,如果要保存主题文件到 WinRAR 文件夹,设置 "c:\Program Files\WinRAR" 到
此值。

2. 当解压 UDF ISO 文件时总计进度条被显示。

3. 在上一版本,在 Windows Vista 里,当选择了一个新的 WinRAR 主题时压缩文件的图
标不改变。

4. 当生成的压缩文件是自解压的并且压缩文件大小超过 4 GB,WinRAR 显示一个警告。
Windows 不能运行应用程序。
of such size.

5. 修正 ISO 处理的代码。

版本 3.70 beta 2

1. 压缩对话框“模式”和“取消”按钮被交换。

2. 错误修正:

a) beta 1 可能会把从 ISO 9660 压缩文件解压文件的文件名剪裁一个字符;

b) 打开“Windows 进度条”选项则在转换压缩文件窗口进度条不能正确工作;

c) 如果 setting.reg 在 %appdata%\WinRAR 文件夹不存在“加载 WinRAR 设置自”
对话框不显示。


版本 3.70 beta 1

1. 数个 Windows Vista 兼容修改:

a) 帮助格式从旧的 HLP 改变为新的基于 CHM 的 HTML;

b) GUI 自解压模块如果在当前用户帐号下不能创建目标文件夹会尝试请求管理员权限;

c) 日志文件 rar.log 和 WinRAR 主题文件存储在 %APPDATA%\WinRAR 文件夹,代替
WinRAR 程序文件夹。

到处的设置文件 settings.reg 默认也被保存到 %APPDATA%\WinRAR 文件夹, 但是
也可以在“保存 WinRAR 设置”和 “加载 WinRAR 设置” 对话框选择其他的文件
夹。

WinRAR 在它的 program files 文件夹和 %APPDATA%\WinRAR 搜索注册文件和
settings.reg;

d) WinRAR 外壳整合 Vista 兼容修改。

2. 添加对 ISO 13346 (UDF) 文件格式的支持。此格式被频繁用于 DVD 光盘的 ISO 映象。

3. 添加对 ISO 9660 的 Unicode 支持, 这样 WinRAR 可以更好地处理非英语文件名的
.iso 文件。

4. 在显示压缩和解压进程的对话框的设计改变:

a) 提供更多的空间用于文件名, 允许较长的名称;

b) 在单独行显示当前压缩文件名, 允许比以前更长的压缩文件名;

c) 当压缩时, 在空行显示当前的压缩率;

d) 它可以使用标准的 Windows 和 经典的 WinRAR 进度条。在 WinRAR 的“设置/常
规”对话框打开“Windows 进度条”选项。如果某些 Windows 可视化风格被激活
默认此选项是打开的,如果选择 Windows 经典主题则关闭。

Windows 进度条仅有两种颜色, 所以他们不能指示当前的压缩率。但是现在压缩
率显示在一个单独的行;

e) "模式..." 按钮移到窗口的底部。

5. GUI 自解压模块支持下列命令开关:

-d<路径> 设置目标路径
-p<密码> 指定一个密码
-s 缄默安装, 全部隐藏
-s1 和 -s 相同
-s2 缄默模式, 隐藏启动对话框
-sp<参数> 指定安装程序的参数

6. GUI 自解压模块不像以前的版本, 它不传递整个命令行给安装程序。如果你需要获得
自解压模块的整个命令行, 解析包含此命令行的 sfxcmd 环境变量。

7. 新的开关 -sc<字符集>[对象] 允许指定列表文件和压缩包注释文件的字符集。它代替
RAR 3.60 的 -fcu 开关, -fcu 开关从支持的开关列表移除。现在你需要指定
-scuc 代替 -fcu 使用 Unicode 注释。不像 -fcu, -sc 允许支持 OEM 和 ANSI 字符
集。

8. 文件菜单新的“保存压缩文件副本为...”命令。
此命令可以用在你从 Internet 直接用 WinRAR 打开压缩文件, 而你又希望把它保存
到本地硬盘时、

9. “自动换行”命令添加到 WinRAR 内部查看器的“查看”菜单, 这样你可以改变打
开的查看器窗口的换行模式。

此选项的状态在查看会话间不保存。如果你需要改变默认的自动换行模式, 使用
WinRAR “设置/查看器”对话框

10. “关联配置文件”对话框添加“上移”和“下移”按钮。
使用这些按钮, 你可以改变选择配置文件在列表的位置。

11. 当添加恢复记录时会显示操作进度。

12. 如果 WinRAR 被最小化到状态栏并且鼠标移动到它的图标上, WinRAR 显示关于当前
操作进度的消息。在以前的版本它仅包括完成的百分比, 现在它也包含剩余时间
的信息。

13. 当对最新创建的 RAR 卷计算 CRC32 控制和时, 控制台 RAR 显示 "计算控制和" 消
息。以前的版本也计算卷控制和, 但不显示。

14. 在“文件”菜单的压缩文件历史列表允许 Unicode 名称, 提供对非英语压缩文件
名的更多的支持。

15. 在控制台 RAR 和 UnRAR 密码处理模块的堆栈溢出问题被修正。GUI WinRAR 不受
影响。我们感谢 iDEFENSE LABS 报告此错误。


版本 3.62

1. 错误修正:

a) 在 WinRAR 的处理 7-Zip 压缩文件模块的堆栈溢出问题被修正;

b) WinRAR GZip 模块在解压 GZip 压缩文件时可能设置错误的文件日期。



版本 3.61

1. 纠正在多线程文本压缩模块的错误, 在某些环境下会导致损害的压缩数据。

此错误仅存在于 WinRAR 3.60 的多线程模式。 其他平台的 RAR 版本不受影
响。

2. 解决了一个 WinRAR 3.60 在 Windows 95 的一个兼容性问题。


版本 3.60

1. 多线程版本的 RAR 压缩算法提高了在有数个 CPU、多核心 CPU 和使用超线
程技术的处理器的计算机上的压缩速度。多线程默认被启用,但是你可以在
“设置”对话框的“常规”部分禁用它。

在命令行模式你可以使用 -mt<线程> 开关控制多线程。

2. WinRAR 可以显示文件夹树面板来在磁盘和文件夹目录导航。使用“选项/
文件夹树”子菜单启用文件夹树。它能在文件和压缩文件管理模式下被单独
配置。

文件夹树代替了以前在“文件”菜单的“浏览文件夹”命令并使用了它的
Ctrl+T 键盘快捷键。

3. 新的 WinRAR “重命名”命令也能处理 ZIP 压缩文件了。以前版本仅能处理
RAR 压缩文件。

4. 添加了对使用 "-lh7" 算法创建的 LZH 压缩文件的解压。

5. 在“设置/压缩”对话框新的“从解压路径移除重复的文件夹”选项。

如果此选项打开,你解压的压缩文件的根目录没有文件而只有一个“somename”
文件夹并且目标文件夹是新建的或空的并以 '/somename' 结尾, WinRAR 会
从 'somename/somename' 的结果路径排除一个 'somename'。

6. 在“设置/压缩”对话框的新的“定义卷大小...”按钮。此按钮激活“定义
卷大小”对话框。这里你可以自定义预定义的卷大小,和压缩对话框的“分
割卷, 单位字节”关联。

7. 对某些数据类型 RAR 生成压缩文件的速度增加。根据数据的类型和大小,压
缩文件会减小 5 - 15%。

8. 在解压对话框和命令行的 -or 开关的新的“自动重命名”选项来自动重命名
同名文件已经存在的解压文件。你也可以从覆盖确认提示选择“全部重命名”
按钮直接启用自动重命名模式。

重命名文件将得到象 'filename(N).txt' 的名字,'filename.txt' 的位置
是原始的文件名,'N' 是数字。

9. 在解压对话框的“高级”部分的“设置修改时间”选项也可用于 ZIP 压缩文
件。以前它仅可用于 RAR 压缩文件来修改。

10. “多线程”选项添加到“性能和硬件测试”命令,这样你可以比较常规和
多线程版本的 RAR 压缩算法的性能。

11. 新的 'ch' (改变压缩文件参数) 命令行模式命令。它的目的是应用开关
-av, -tl and -cl 到压缩文件。

12. 新的 'cv' 命令行模式命令。它提供命令行界面到 WinRAR 的 "转换压缩文
件" 命令。它仅支持 winrar.exe,而不支持 rar.exe。

13. 新的命令行 -sl<大小> 和 -sm<大小> 开关设置处理的文件的大小限制。

14. 新的命令行 -fcu[文件] 开关允许从 Unicode 文件读取压缩文件注释。它
允许修改 "cw" 命令的行为,设置注释输出格式为 Unicode。

15. 当使用不带参数的 -ms 开关时,7Z 添加到不压缩存储的格式列表

16. 开关 -e[+]<属性> 现在被大多数命令行操作,包括解压和删除文件,支持。
以前它仅被压缩命令支持。

17. 在压缩对话框的压缩文件名,在解压对话框的目标路径 ,在 WinRAR
设置的“压缩”和“路径”页的文件夹名都允许使用环境变量。例如,你可
以在“临时文件文件夹” 区域输入 '%temp%'。


版本 3.51

1. 错误修正:

a) 修正两个问题,可能被特别制作的 ACE 和 UUE/XXE 压缩文件所利用;

b) 以前的版本不能删除某些临时文件;

c) WinRAR 在命令行处理非常长(超过 1024 个字符)的压缩文件名参数
时崩溃。


版本 3.50

1. 现在可以通过安装界面主题来改变 WinRAR 的外观了。主题文件在
http://www.rarlab.com/themes.htm 下载

主题文件是一个 RAR 压缩文件, 可以在 WinRAR 内打开主题来安装。你
可以使用“选项/主题”菜单管理已经安装的主题。

2. WinRAR 支持解压缩使用 Zip64 格式扩展创建的 ZIP 压缩文件。Zip64
被引入来移除 ZIP 格式在压缩文件大小方面的限制。

3. 添加多卷(多部分) CAB 压缩文件支持。

4. 在解压对话框的“高级”部分的新选项:

a) “删除压缩文件”选项允许删除已经解压的压缩文件;

b) “检查认证信息”选项控制处理 RAR 压缩文件内的认证信息。

5. 在压缩对话框的“高级”部分和解压对话框的“如果其它 WinRAR 副
本正激活则等待”选项。

如果被启用, 它会在其它 WinRAR 副本正在创建、修改或解压压缩文件
时等待, 并在其它 WinRAR 任务完成后再开始操作。如果你要执行数个
压缩或解压缩任务, 队列执行能帮助减少磁盘定位的次数并提高整体性
能。

6. WinRAR 可以整合到 Windows 关联菜单,也可以用在 Windows x64
系统

7. 自解压模块:

a) 自解压模块不再使用 UPX 压缩, 所以它们现在比较大。 UPX 压缩
可能会导致反病毒软件的众多错误警告。如果你需要压缩的模块, 你
可以从 http://upx.sourceforge.net 获得 UPX 并压缩 WinRAR 文
的 *.sfx 文件;

b) 默认的自解压图片可以使用自定义位图文件替换。你可以或者使用
“高级压缩选项”对话框的“文本和图标”的“从文件加载自解压图
片”或者是使用 -iimg<名称> 命令行开关来执行它。注意控制台
RAR 不支持 -iimg, 仅图形界面 WinRAR 能识别它。此选项不支持
Windows 95, 98 和 Me。如果你使用 UPX 压缩过的自解压模块也不
能使用它。

c) 可以指定用户自定义超过 32x32 大小和任何颜色数的自解压图标。
和上一条目一样,此改进仅可用于未使用 UPX 压缩的自解压模块并
且你的操作系统不是 9x/Me;

d) DOS.SFX 模块移动到 RAR/DOS32 发布。如果你需要使用 WinRAR
创建 DOS 自解压文件, 只需要把 DOS.SFX 复制到 WinRAR 文件夹。

8. “向导”命令允许在创建或更新压缩文件时指定密码。

9. 上一个 WinRAR 版本如果用户在 *.exe, *.htm 文件上按下 Enter 或
双击解压时会解压全部的压缩文件内容。现在可以定义要全部解压的文件
的掩码。这些掩码可以在“设置”对话框的“查看器”页输入。例如, 如
果你要在你在压缩的 HTML 文件上双击时仅解压光标下的一个文件, 则从
此区域移除“*.htm *.html”。

10. WinRAR 支持的压缩格式附加的文件扩展名可以在“设置”对话框的“综
合”页的“用户自定义压缩文件扩展名”区域指定。例如, 如果你有扩展
名是“.001”的 RAR 格式的文件, 你可以在这里输入“001”来把它关联
到 WinRAR。

11. 在“设置”对话框的“文件列表”页新的“彩色显示加密的或压缩的 NTFS
文件”。

12. 在“设置”对话框的“常规”页和工具栏鼠标右键菜单新的“锁定工
具栏”选项。“锁定工具栏”防止意外的工具栏移动和改变大小。

13. “修复”和“解压”命令用下划线来代替无效字符(冒号、问号标记等)也
可用于 ZIP 压缩文件的文件名。以前的 WinRAR 仅对 RAR 压缩文件使
用它。

14. 新的 -n<掩码> 和 -n@<列表文件> 开关设置附加的包含过滤器, 仅匹配掩
码的文件才被处理。

15. 新的 -id[c,d,p,q] 开关。增强以前可用的 -idp 开关(禁用百分比提示),
开关 -idc, -idd 和 -idq 支持控制台 RAR 隐藏版权信息、“完成”信息
和所有信息消息。

16. 开关 -e+<属性> 允许指定文件包含属性掩码。例如, 你可以使用 -e+h 开
关来仅压缩隐藏属性的文件。

17. 在压缩时开关 -ver[n] 也支持选项 'n' 参数。它限制文件版本的最大数字。

18. 如果一个已经存在的文件的短文件名和一个正在压缩的文件的长文件名相同,
WinRAR 会在压缩前修改已经存在文件的短文件名。在这样的情况下即使长
文件名不同, 以前的版本也会提示覆盖已经存在的文件。

19. 安全性更改:

a) WinRAR 外壳不允许运行 *.pif 文件。压缩的 PIF 文件是计算机病毒传播
的典型方式之一;

b) WinRAR 外壳允许运行名字有 5 个或以上连续空格的文件, 例如,
"calc.txt .exe"。病毒频繁地添加这样的空格来迷惑用户并隐藏真实
的扩展名。当在文件列表显示这样的文件的名字时 WinRAR 外壳移除这些
不在开头和结尾的连续的空格。

20. 在 Windows XP WinRAR 在文件列表使用不同的颜色来高亮显示存储的卷,
和在 Windows 资源管理器一样。


版本 3.42

1. 修复在 WinRAR 图形界面的“删除”命令的缓冲区溢出错误, 它可能在损
坏的压缩文件删除文件时引起崩溃。


版本 3.41

1. 此版本的错误修正:

a) 对已存在的 RAR 固实压缩文件添加新文件时, RAR 3.40 的压缩率比
RAR 3.30 的低;

b) WinRAR “修复”命令在修复损坏的 ZIP 压缩文件时崩溃。

2. 如果压缩的 Unicode 名无效, RAR 的 “l”和“v”命令将显示 ASCII 文件
名, 而不是损坏的 Unicode 文件名。


版本 3.40

1. “最快”(-m1) RAR 压缩模式被修改提供更高的压缩速度和较低的压缩率。
这在如有规律的备份等需要高速度的操作时有用。

你可以通过选择 64K 的字典来代替默认的 4MB 的字典来提高“最快”压缩
的速度。

2. WinRAR 可以解压缩由 Unix 'compress' 工具创建的压缩文件。像 GZIP 和
BZIP2 压缩文件, WinRAR 使用一步打开 tar.Z 和 .taz 文件,所以用户不
需要手动解压 .tar。

3. WinRAR 可以解压缩由 7-Zip 创建的压缩文件(.7z 文件)。“查找”命令不
支持此压缩文件类型。

4. 在 WinRAR 设置新的“安全”对话框:

a) “从解压排出的文件类型”选项防止解压有潜在危险的文件,像 .exe,
.scr 和 .pif;

b) “提示选择病毒扫描软件”选项修改“扫描压缩文件内的病毒”命令的
动作。如果你希望跳过病毒扫描选择对话框则你可以关闭它。

5. 新的命令行开关 -ep3 允许保存和恢复包括盘符的完全的文件路径。

WinRAR 外壳等于 -ep3 开关的是在压缩对话框的“文件/文件类型”页和
解压对话框“高级/文件路径”页的“解压绝对路径”的选项“存储包括
盘符的完全路径”。

6. 你可以选择和压缩在 WinRAR 外壳“我的电脑”的磁盘目录。只要在
WinRAR 的地址栏“我的电脑”,选择要压缩的磁盘并点击“添加”。
如果你选择超过一个项目,WinRAR 会自动设置“存储包含盘符的完全路
径”压缩模式。

7. 如果你在 Windows 资源管理器的“我的电脑”视图选择多个磁盘,并从关
联菜单启动压缩,WinRAR 在压缩它们时会自动设置“存储包含盘符的完全
路径”模式。

8. 新的命令行开关 -oc 在解压时恢复 NTFS“压缩”属性。RAR 在创建压缩
文件时总是保存“压缩”属性,但如果不指定 -oc 开关则不会恢复它。

WinRAR 外壳等价 -oc 开关的是在解压的“高级”部分的“设置压缩属
性”选项。

9. 从此版本的 RAR 开始卷包含卷号区。

如果压缩文件由 WinRAR 3.40 或更高版本创建,你可以在“信息”对话框
的顶行和地址栏查看卷号。

在命令行模式使用 'L' 和 'V' 命令在所有卷信息行显示卷号。

此功能在原始卷名丢失,而你需要重命名卷来纠正名字时有用。

10. 命令 'L' 和 'V' 在压缩文件列表显示 NTFS“压缩”属性。

11. 开关 -ag 可以包含一个 '{' 和 '}' 内字符的可选文本。此文本被插入到
压缩文件名。例如: -agHH{hours}MM{minutes}

同一功能在 WinRAR 压缩对话框的“由掩码生成压缩文件名”区域也被支持。

12. 如果开关 -ac 被指定,RAR 不会重置这些文件的“存档”属性,它们的大
小和修改时间在启动压缩操作后被改变。

所以在把加到压缩文件后和清除“存档”属性前修改的文件会包含到下一
个增加的备份。对于 WinRAR 图形界面选项的“压缩后清除存档属性”
命令相同。

13. 如果你在压缩文件的子文件夹使用“添加到收藏夹”命令,WinRAR 会保
存此子文件夹并在访问此收藏夹条目时恢复它。以前的版本只能存储压缩文
件的根目录。

14. 当你编辑压缩文件时,WinRAR 在检测到文件被修改后立即提示更新它们。
以前的版本在更新改变的文件前等待外部编辑器的退出。

15. 如果你拖动一个压缩文件到 WinRAR 的地址栏或工具栏上,WinRAR 会显示
它的内容,即使正在打开着其他压缩文件。以前版本会把拖动的压缩文件添
加到浏览的文件

如果你需要把它添加到浏览的压缩文件时,你仍然可以拖动压缩文件到文
件列表

16. 纠正了对损坏的 LZH 压缩文件的处理,避免了当读取损坏的 LZH 文件头时
可能的崩溃。

17. RAR 和 WinRAR 在修复一个包含恢复记录的压缩文件时显示操作进度。
Tcl_TK编程权威指南pdf 内容简介回到顶部↑Tcl/Tk是第一种能通过Windows、Macintosh和Solaris等主要平台处理企业级任务的脚本语言。本书共分为55章,依次详细讲述了Tcl基础、Tcl高级特性、TK基础、TK组件、TK详解、C语言编程、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了Tcl/Tk编程,是读者掌握Tcl/Tt的必备参考书。 本书适合各个层次的读者阅读。 目录回到顶部↑第1部分 tcl基础 第1章 tcl的基本知识 tcl命令 hello,world! 变量 命令替换 数学表达式 反斜杠替换 使用花括号和双引号进行分组 过程 一个阶乘的例子 更多有关变量的知识 更多有关数学表达式的内容 注释 有关替换与分组的总结 要点 参考 第2章 开始使用 source命令 unix上的tcl脚本程序 .windows 95的开始菜单 macintosh与resedit console命令 命令行变元 预定义变量 第3章 cgi应用程序--顾客留言簿 html简介 使用cgi创建动态页面 guestbook.cgi脚本程序 定义表单以及处理表单数据 cgi.tcl软件包 接下去的几步 第4章 tcl的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 相关章节 第6章 控制结构命令 if then else switch while foreach for break与continue catch error return 第7章 过程与作用域 proc命令 使用rename来改变命令名 作用域 global命令 通过upvar以名字进行调用 使用upvar来处理变量别名 第8章 tcl数组 数组的语法 array命令 使用数组来构建数据结构 第9章 对文件和程序的操作 使用exec运行程序 file命令 跨平台的文件命名方式 操作文件和目录 文件属性 对i/o命令的总结 打开文件用于i/o操作 读写操作 当前目录-cd和pwd 使用glob来匹配文件名 exit和pid命令 环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级正则表达式(are) 语法总结 regexp命令 rgsub命令 使用regsub将数据转换为程序 其他使用正则表达式的命令 第12章 脚本库及软件包 确定软件包的位置:auto-path变量 使用软件包 对软件包加载的总结 package命令 基于文件tclindex的库 unknown命令 方便交互 tclshell的库环境 编码风格 第13章 反射与调试 clock命令 info命令 跨平台支持 跟踪变量的值 交互式命令历史记录 调试 scriptics的tclpro 其他工具 性能调校 第14章 名字空间 使用名字空间 名字空间变量 命令查找 嵌套名字空间 过程的进口与输出 回调与名字空间 内省(introspection) namespace命令 转换现有的软件包以使用名字空间 [incrtcl]对象系统 注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 服务器端套接字 回送(echo)服务 使用http获取一个url http软件包 基本认证 第18章 tclhttpd web服务器 将 tclhttpd与你的应用程序集成 域处理程序 应用执导的url 文档类型 html+tcl模板 表单处理程序 编程参考 标准应用执导(application-dirct)的url tclhttpd发行版 服务器配置 第19章 多解释器与 safe-tcl interp命令 创建解释器 安全解释器 命令别名 隐藏命令 替换 从安全解释器执行i/o操作 安全基础 安全策略 第20章 safe-tk与浏览器插件 子解释器的tk 浏览器插件 安全策略与浏览器插件 配置安全策略 第3部分 tk基础 第21章 tk的基本知识 th的hello,world! tk组件的命名 配置tk组件 tk组件属性与资源数据库 tk命令概要 第22章 tk实例解析 execlog example browser tcl shell 第23章 打包摆放布局管理器(pack) 朝一侧摆放 水平与垂直难叠 空腔模型( cavity model) 打包摆放空间(packing space)与显w空间(display space) 尺寸调整与一expand 挂靠 摆放顺序 选择用于摆放的父组件 取消一个组件的摆放 打包器总结 窗口的堆叠顺序 第24章 栅格摆放布局管理器( grid) 一种基本栅格 跨行列摆放 行列约束 grid命令 第25 章定位摆放布局管理器( place) place的基础知识 面板管理器 place命令 第26章 将命令与事件编联 bind命令 bindtags命令 事件的语法 修饰符 事件序列 虚拟事件 事件关键词 第4部分 tk组件 第27章 按钮与菜单 按钮命令与作用域问题 与tcl变量关联的按钮 按钮属性 按钮操作 菜单和菜单按钮 键盘遍历 操纵菜单和菜单条目 菜单属性 通过名字来指定菜单的软件包 第28章 资源数据库 有关资源的介绍 加载选项数据库 添加单一的数据库条目 存取数据库 用户定义的按钮 用户定义的菜单 第29章 简单的tk组件 框架组件与顶层窗口 标签组件 消息组件 标尺组件 bell命令 第30章 滚动条 使用滚动条 滚动条协议 滚动条组件 第31章 输入条组件 使用输入条组件 输入条组件 第32章 列表框组件 使用列表框组件 列表框组件的编联 列表框组件的属性 第33章 文本组件 文本索引 文本标记 文本标签 文本信息的选择( selection) 标签的编联 文本搜索 嵌入组件 图片的嵌入 查看文本组件的内部信息 文本组件的编联 文本组件的操作 文本组件的属性 第34章 画布组件 画布坐标 hello, world! 最小和最大标尺的例子 画布对象 画布组件的操作 产生postscript输出 画布组件的属性 建议 第5部分 tk详解 第35章 选择和剪贴板 选择模型 selection命令 clipboard命令 选择处理程序 第36章 焦点、焦点的捕获和对话框 标准对话框 定制对话框 使用update命令实现动画 第37章 tk组件的属性 配置属性 尺寸 边界与浮雕效果 焦点的高亮显示 补自(padding)与挂靠(anchor) 第38章 颜色、图片和鼠标指针 颜色 色彩映射与视频种类 位图和图片 文本插入光标 鼠标指针 第39章 字体与文本属性 字体命名 x字体名 字模 font命令 文本属性 栅格化、尺寸调整和布局 一个字体选择应用程序 第40章 send send命令 发送者脚本 通信进程 通过套接字来实现远程eval 第41章 窗口管理器与窗口信息 win命令 winfo命令 tk命令 第42章 管理用户首选项 应用默认设置文件 定义首选项 首选项的用户界面 管理首选项文件 跟踪对首选项变量的修改 对该软件包的改进 第43章 一种操作编联的用户界面 一对协调工作的列表框 编辑界面 保存与加载编联 第6部分 c语言编程 第44章 c语言编程与tcl 基本概念 创建可加载软件包 一个用c语言实现的命令过程 blob命令的例于 字符串与国际化 tolmain和tcl-applnit tk_main 事件循环 从c调用脚本 第45章 编译tci及扩展模块 标准目录结构 从源代码建立tci 使用占位函数库(stub library) 使用autoconf 扩展模块范例 makefile.in 第46章 使用c语言编写tk组件 初始化扩展模块 组件的数据结构 组件的类命令 组件实例命令 配置和重新配置属性 指定组件属性 时钟的显示 窗口事件过程 最后的清除工作 第47章 c函数库概览 tclc函数库概览 tk c函数库概览 第7部分 各版本之间的差异 第48章 tcl 7.4/tk 4.0 wish 过时废弃的功能 cgct操作 输入焦点的高亮显示 编联 滚动条接日 pack info 焦点 send命令 按钮的内部补白 单选按钮的值 输入条组件 菜单 列表框 没有了geometry属性 文本组件 颜色属性 颜色分配与tk colormodel 画布组件的scrollincrement 选择 bell命令 第49章 tcl 7.5/tk 4.1 跨平台脚本 clock命令 load命令 package命令 多个foreach循环变量 事件循环从tk转移到了tcl 网络套接字 多解释器与safe-tcl grid布局管理器 文本组件 输入条组件 第50章 tcl7.6/tk 4.2 更多的file操作 虚拟事件 标准对话框 新的grid布局管理器 macintosh的unsupportedl命令 第51章 tcl/tk 8.0 tcl编译器 名字空间 safe-tcl 新的lsort tcl_precision变量 2000年约定 http软件包 串行线i/o 独立于平台的字体 tk scaling命令 应用程序的嵌入 本地化菜单与菜单条 cde的边界宽度 本地化的按钮和滚动条 文本组件的图片 destroy不再产生错误 grid rowconfigure 补丁版本 第52章 tcl/tk 8.1 unicode与国际化 线程安全 高级正则表达式 新字符串命令 dde扩展模块 杂类 第53章 tcl/tk 8.2 trf补丁 更快的字符串操作 空数组名 浏览器插件的兼容性 第54章 tcl/tk 8.3 关于tcl的修改建议 关于tk的改动建议 第55章 有关本书的cd-rom ↓展开全部内容 序言回到顶部↑Tcl为工具命令语言(Tool Command Language)的缩写。它其实是指两样东西:一种脚本语言,以及该脚本语言的解释器。该解释器可以很容易地嵌入到你的应用程序。Tcl和与之关联的图形用户界面工具包(Tk)是由加州大学的John Ousterhout教授设计并编写的。尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序自由使用这个软件包。Tcl解释器已经从Unix平台移植到了DOS、Windows、OS/2、NT以及Macintosh环境,而TK工具包也从X window系统移植到了Windows和Macintosh环境。 1988年,当我在Berkeley做ousterhout教授的博士生时,第一次听说了Tcl。我们当时正在设计一种名为Sprite的网络操作系统。同学们在努力编制一个新式的内核程序,而John编写了一个新的编辑器和终端仿真程序。他使用Tcl作为这两种工具的命令语言,这样用户就可以定义菜单或者对那些程序进行定制。那时还处在使用X10的时代,他计划编写一个基于Tcl的X工具包,以使程序之间通过Tcl命令进行通信,彼此相互协作。对我来说,这种工具之间的相互协作就是Tcl的实质。 这种早期的设想就是让应用程序由包含编译代码的大块实体和一小部分用于进行配置和编写高级命令的Tcl代码组成。John的编辑器皿,还有终端仿真程序tx就遵循了这种模式。虽然这种模式仍然是有效的,但结果表明用Tcl来编写整个应用程序也是可能的。这是因为Tcl/Tk的shell程序wish提供了对其他程序、文件系统和网络套接字的存取功能,同时还能够创建图形用户界面。不管怎样,现在发现包含几千行Tcl脚本的应用程序并不稀奇。 我编写这本书的原因就是,虽然自己觉得使用Tcl与Tk既有乐趣又高效,但是也有令人头痛的时候。此外,在Xerox PARC工作,那里有许多语言和系统上的专家,我不得不强迫自己去理解Tcl/Tk的长处和弱点。我的许多同事都在他们的项目采用了Tcl和Tk,但是他们也很快指出了它的缺点。因此,我就总结了一套编程技巧以充分利用Tcl/Tk的强大功能,同时回避一些棘手的问题。这本书就是一本帮助你最大限度地利用Tcl/Tk并回避一些我所经历过的令人头痛的问题的实用编程指南。 我接触Tcl语言大概已经有10年的时间了,而本书的第一版也已经出版5年了。在过去的几年,我一直在John Ousterhout的手下工作,最初是在Sun微系统公司,而现在是在Scriptics公司。我一直使自己在很大程度上保持着一个Tcl程序员的角色,而我们工作组的其他人员则埋头于Tcl本身的C语言实现。我创建的应用程序有HTML编辑器、EMAIL比用户接口程序、Web服务器以及用户数据库,我们的商务应用就建立在它们的基础上。这些经历在本书有所反映。本书的大部分内容是有关Tcl脚本编程的,而有关使用C语言来创建Tcl扩展模块的内容没有着重讲述。我有幸一直参与Tcl核心技术的开发活动,希望通过本书能够将自己使用Tcl时获得的切身体会表达出来。 为什么要使用Tcl 作为一种脚本语言,Tcl与其他的Unix shell语言,如Bourne Shell(sh)、C Shell(csh)、Korn Shell以及Perl类似。Shell程序可以让你执行其他的程序。它们提供了足够的可编程特性(变量、流程控制和过程),使你可以将现有程序组装成符合自己需要的复杂的脚本程序。Shell程序非常适用于一些日常任务的自动化处理工作。 Tcl解释器可以很容易地添加到你的应用程序,这种能力将它与其他的shell语言区分开来。Tcl扮演了一种扩展语言的角色,用来配置和定制应用程序。你没有必要再去为自己的新应用程序发明一种命令语言,或是费力为自己的工具提供某种用户可编程特性。其实,你可以通过添加一个Tcl解释器,来将自己的应用程序组织成一组操作原语,并使用这些原语来构造最符合用户需求的脚本程序。这样还可以允许其他的程序通过编程来控制你的应用程序,以使套装应用程序能够很好地在一起工作。 Tcl的C函数库拥有清晰的接口而且便于使用。该函数库实现了基本的解释器,它有一套实现变量、流程控制和过程的核心脚本命令,而且还有一组用来存取操作系统服务以运行其他程序、存取文件系统和使用网络套接字的命令。Tcl和Tk提供了一台可以在UNIX、Windows和Macintosh环境可移植的"虚拟机"。 因为你的应用程序可以定义新的Tcl命令,所以Tcl虚拟机是可扩展的。这些命令与你的应用程序所提供的C或C++过程关联。结果应用程序就分割成一组用编译语言编写的原语,并输出成为相应的Tcl命令。使用Tcl脚本程序可以将这些原语组装成完整的应用程序。脚本语言层可以存取与shell类似的功能以运行其他的程序,可以存取文件系统,还可以直接通过自己定义的Tcl命令来调用应用程序编译的代码部分。此外,从C编程的层面上来说,你还可以调用Tcl脚本程序、设置和询问Tcl变量,甚至跟踪Tcl解释器的执行。 在Internet上有许多可自由使用的Tcl扩展模块。许多扩展模块都包含了一个提供某种新功能的C函数库,以及该函数库的Tcl接口。这样的例子包括数据库存取、电话控制、MIDI控制器存取,还有expect,它为控制交互式程序增加了一组Tcl命令。 最为著名的扩展模块就是Tk,这是一种图形用户界面工具包。Tk定义了用来创建和操作用户界面组件的Tcl命令。这种基于脚本的用户界面编程方法有三个好处: . 由于快速的响应周期,所以开发迅速,不存在漫长的编译等待过程。 . Tcl命令提供了一种比绝大多数由标准C函数库实现的用户界面工具包更为高级的接口。它只需一小组命令就可以定义简单的用户界面,同时又可以对用户界面进行细化以恰当地实现每一个细节。快速的响应周期又为这种细化过程提供了帮助。 用户界面处理可以从你的应用程序的其余部分分离出来。因而开发人员能够专心致志地实现应用程序的核心部分,然后再颇为轻松地构建出用户界面。Tk组件的核心功能通常能够满足你所有的用户界面需求。不过,你还可以用C语言来编写定制的Tk组件,而且网上还有许多大家提供的Tk组件可以使用。 还有其他可以用做扩展语言的选择,这包括VisualBasic、Scheme、Elisp、Perl;Python和Javascript等,你可以依照个人喜好从进行选择。Tcl拥有简单的结构,而且还有些地方类似于C语言,可以通过编制C过程来增添新的Tcl原语。Tcl非常易学,许多有关用户使用Tcl在很短的时间内(例如几个星期)就完成了相当难度的项目,并且他们以前压根就没有接触过Tcl。 当本书第一次出版时,Java轰动了计算机界。Java是一种极为优秀的系统编程语言,长远来看还有可能代替C和C什语言。这对Tcl来说挺好,它在设计时就被用来将由任意系统编程语言编写的构件粘连起来。Tcl过去被设计与C语言一起工作,但是现在已经被改造成能够与Java虚拟机一起工作。在我们提到"C或C++"的地方,现在也可以说"C、C++或Java"了,但是对于Java来说,其细节上还多少存在些差异。这本书并没有描述TcVJava接口,但是你可以在CD-ROM上找到TclBlend。TclBlend将Java虚拟机加载到你的Tc3应用程序并允许你调用Java方法,它还可以让你使用Java而不是C或C十十来实现Tcl命令。 Javascript是一种来自于Netscape的语言,它被设计用来编写与w曲页面进行交互的脚本程序。由于Netscape的广泛使用,Javascript就显得很重要,然而Tcl提供了一种更为通用的脚本方案,可以在更为广泛的范围使用。Tcl/Tk的Web浏览器插件提供了一种在浏览器运行Tcl的方式,结果使得Tcl更像是一种Java的替代品而不是Javascript的替代品。该插件可以让你在浏览器执行Tcl应用程序,而Javascript则为你提供了对浏览器和HTML显示的精细控制。这种插件将在第20章有所描述。TcI与Tk的版本 Tcl与Tk仍在继续演变。请参看http://www.beedub.com/book/来了解有关最新的Tcl版本的更新和消息。由于历史原因,Tcl与Tk曾各有各的版本号,但是它们成对发行,并一起工作。这本书的原始版本基于Tcl7.4和Tk 4.0并有几处引用了Tk 3.6的功能。第三版已经进行了更新,它反映了直到Tcl/Tk8.2以来所增添的各种新特性: . Tcl7.5和Tk 4.1的最终发布在1996年5月。这些版本的特点是将Tk移植到了Windows和Macintosh环境。它引入了Safe-Tcl安全机制,以支持网络小应用程序(Applet)的 .安全执行。它还提供了对网络套接字的支持以及一种新的输入输出(I/O)子系统,以支持高性 能的事件驱动I/O。 . Tcl7.6和Tk4.2的最终发布是在1996年的10月。这些版本包含了对S池-Tcl的改进,以及对在Tk 4.1引进的grid布局管理器的改进。跨平台的支持包括虚拟事件(例如,以<<Copy>>宋代表<Control-c>=、标准对话框,还有更多的文件操作命令。 . Tcl 7.7和Tk 4.3是内部版本,用于开发NetscapeNavigator和MicrosoftInternetExplorer Web浏览器的Tcl/Tk插件。它们的开发工作实际上与Tcl7.6和Tk 4.2并行进行。Tcl/Tt插件已经发布了许多各种平台上的版本,其包括Solaris/SPARC、Solaris/INTEL、SunOS、Linux、Digital UNIX、IRIX、HP/UX、Windows95、Windows NT以及Macintosh。该浏览器插件支持Web页面的Tcl小应用程序(Applet),同时使用Safe-Tcl复杂的安全机制来提供安全保证。 . Tcl8.0为Tcl新增了一个运行时用的编译器,这个编译器提供了数倍于Tcl脚本的执行速度。Tcl8.0支持内嵌空字符的字符串。编译器对脚本来说是透明的,但是扩展模块编写入员需要学习一些新的C API才能发挥它的潜力。由于John Ousterhout从Sun微系统公司到了Scriptics公司,发布8.0版的时间推迟了几年。广泛使用的版本8.0p2是在1997年完成的,但是最终的补丁版本8.0.5直到1999年春才发布。 . 在8.0时,Tk更改了版本号以与Tcl相匹配。Tk 8.0包含了一种新的独立于平台的字体机制,它还包含了本地化菜单和菜单条,以及更多的本地化组件,它们在Windows和Macintosh上拥有更好的本地化外观。 Tcl/Tk8.1新特性主要包括对Unicode的完整支持,以及线程安全,这样你就可以将Tcl嵌入到多线程的应用程序。Unicode是一种新的正则表达式引擎,它提供了在Perl5所能找到的所有功能。Tk为找到正确的用于显示Unicode字符的字体完成了卓越的工作,它还增加了一种信息目录设施,这样你就可以编写国际化的应用程序。Tcylk 8.1的发布史还包括了Sun到Scriptics的过渡。第一个alpha版本完成于1997年秋,而最终的补丁版本完成于1999年5月。 Tcl/Tk 8.2主要是一个进行bug修正和稳固化的版本。它对TclC函数库API进行了几处微小增补,这样无须核心补丁程序也能支持更多的扩展模块。Tcl/Tk 8.2很快在1999年夏进入最终版本。 谁应当阅读本书 本书不仅适用于熟练的编程人员,同样也适用于初学者。对于初学者和熟练编程人员来说,我建议大家仔细学习一下策1章"Tcl的基本知识"。Tcl的编程模型被设计成一种简单的模式,它与许多编程语言存在差异。该模型基于字符串替换,你对这一点的正确理解很重要,这样才能避免在复杂情况下遇到麻烦。这本书的其余部分则包含了演示如何高效地使用Tcl与Tt的例子。每一章都有对其所描述的Tcl命令和Tk组件进行总结的表格,以供参考。 本书假定你有一些编程经验,但是你如果是个彻头彻尾的新手也能够读下去。对Unix shell的了解将会对你有所帮助,但这并不是必须的。在那些涉及Windows系统的地方,我会提供一些背景信息。第2章详细描述了在UNIX、Windows和Macintosh上使用Tcl与Tk的内容。 如何阅读本书 本书最好能在上机实习使用,可以在计算机上尝试一下书的例子。Tcl与Tk的命令手册尽管完整但却缺少上下文的的相关信息和例子,本书就试图填补在简明手册与现有的文档化或没有很好文档化的Tcl程序之间的空隙。 我推荐使用联机手册来查阅有关的Tcl/Tk命令。它为每个命令都提供了详细的参考指南,但是它没能提供完整的细节,这在每一次发布的版本都有所不同。HTML版本的联机手册可以在随书的CD-ROM找到。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧