散分喽!个人主页做好了,大家支持一下!
tcl/tk语言中文网
http://tcltk.126.com
问题点数:0、回复次数:91Top
1 楼haitaoli(Free & Easy)回复于 2003-09-03 18:54:43 得分 0
no1,up~~~Top
2 楼haitaoli(Free & Easy)回复于 2003-09-03 18:58:15 得分 0
看了一下,原来是校友,支持支持支持..~~Top
3 楼ljky1998(陌上尘)回复于 2003-09-03 19:01:25 得分 0
支持!Top
4 楼menuvb(戏子,白日做梦)回复于 2003-09-03 19:01:50 得分 0
呵呵,还可以。Top
5 楼snakered(天下无敌)回复于 2003-09-03 19:05:09 得分 0
好啊Top
6 楼yunshiyu(陨石雨)回复于 2003-09-03 19:08:30 得分 0
upTop
7 楼KevinChu(朱朱)回复于 2003-09-03 19:09:08 得分 0
好,upTop
8 楼programfish(紫夜)回复于 2003-09-03 19:09:36 得分 0
up
Top
9 楼mmxxt()回复于 2003-09-03 19:17:49 得分 0
这个网站的前身是我大学毕业设计时,做的毕业设计交流站。当时做的是一个关于Tcl/Tk语言的课题,一开始自己对Tcl/Tk一无所知,只知道国内有一个生产手机的TCL:)。上网查找才发现,国内关于Tcl的资料几乎没有,各大编程论坛中,也找不到关于Tcl的讨论区,跑遍了图书馆只找到一本关于Tcl的书(电子工业出的那本组合教程)。所以,毕业设计这半年的时间,资料基本上都是一点点啃网上的英文文档,做得真的是很辛苦。后来,我做了一个毕业设计交流站,随时把自己做的程序上传与同组同学共享。当时我就想,做完了毕业设计,要做一个Tcl/Tk的中文网站,让国内更多的了解这门优秀的语言。功夫不负有心人,我的毕业论文顺利的通过了答辩,并且被收录于当年的山大优秀论文集中。这个网站也算是对我的毕业设计和大学生活做个纪念。
目前,这个网站收集的中文资料还比较少,我想,随着大家对这门语言的了解越来越多,相信会有更多的人加入到Tcl/Tk的编程者行列,同时,期待着大家的支持和帮助。欢迎大家与我联系
Top
10 楼KevinChu(朱朱)回复于 2003-09-03 19:18:22 得分 0
good,
upTop
11 楼darkocean(江城子)回复于 2003-09-03 19:20:39 得分 0
不懂。upTop
12 楼mengshui(孟水)回复于 2003-09-03 19:23:01 得分 0
关注一下Top
13 楼fupa0(跳蚤)回复于 2003-09-03 19:28:43 得分 0
upTop
14 楼warmchang(风滑过的痕迹)回复于 2003-09-03 19:47:53 得分 0
做的很好,帮你up!Top
15 楼tutu2223(tutu)回复于 2003-09-03 19:53:22 得分 0
bu cuo upTop
16 楼sadjulius(唉呦喔呀哪 今生只爱我的小琴琴哦)回复于 2003-09-04 08:43:08 得分 0
upTop
17 楼stcrane1228(狼族兄弟(LONE_WOLF))回复于 2003-09-04 08:50:59 得分 0
LOOKTop
18 楼stcrane1228(狼族兄弟(LONE_WOLF))回复于 2003-09-04 08:52:51 得分 0
不错,很简洁
绿色,很清新Top
19 楼lianxianghua(拳头)回复于 2003-09-04 09:09:35 得分 0
网页做的挺好,但是我不懂tcl/tk是做什么用的Top
20 楼willis2003(小虫)回复于 2003-09-04 22:45:23 得分 0
强烈支持!!!!!!!!!!!!!!Top
21 楼outcast(翻垃圾的猫)回复于 2003-09-04 23:09:45 得分 0
不错,就是素了点Top
22 楼cdzjhmao()回复于 2003-09-04 23:18:46 得分 0
不错Top
23 楼gisdonny(唐尼)回复于 2003-09-04 23:35:49 得分 0
upTop
24 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2003-09-05 07:59:04 得分 0
还可以吧,下载的文件怎么打开啊?Top
25 楼xiaobaihs(小白)回复于 2003-09-05 08:01:47 得分 0
还好!Top
26 楼sadblue(此情 此景 只为真情拥有 只为生命欢呼)回复于 2003-09-05 12:07:59 得分 0
upTop
27 楼sunxq(抗日统一联盟:先锋)回复于 2003-09-05 12:11:39 得分 0
支持!
Top
28 楼icedut(冰-装修进行中)回复于 2003-09-05 12:23:11 得分 0
还不错Top
29 楼sadjulius(唉呦喔呀哪 今生只爱我的小琴琴哦)回复于 2003-09-05 18:30:17 得分 0
haoTop
30 楼mmxxt()回复于 2003-09-05 21:53:49 得分 0
Tcl简介
Tcl是一种非常简单的编程语言,如果你以前曾经学过编程,那么你只要学习几个小时就可以编写出一些有趣的Tcl程序。本文将对Tcl的功能做一个大概的介绍。一般来说,读完本文之后,你就可以开始独立的编写一些简单的Tcl脚本了;不过,要想获得更全面的认识,我们建议你还是去参考几本目前已经出版的Tcl书籍。
基本语法
Tcl脚本由一些被换行符或是分号分开的命令所组成。命令都有相同的基本格式,如下面的例子所示:
expr 20 + 10
该命令计算20加10的和,并返回结果30。你可以把这个例子以及本文中的所有其它的例子键入到tclsh这样的Tcl应用程序中来验证它们;在一个命令结束后,tclsh将打印出它的结果。
每个Tcl命令都含有一个或多个被空格分开的单词,在这个例子中有4个单词:expr,20,+,和10。第一个单词是一个命令名,其余的单词是这个命令的参数。所有的Tcl命令都含有一些单词,但不同的命令对他们的参数有不同的处理方式。expr命令把它的所有参数看作是一个算术表达式,计算表达式的结果,并以字符串的形式返回结果。在expr命令中,单词之间的分隔不是很重要:同样的命令你可以写成这种形式:
expr 20+10
不过,对大部分的命令来说,单词的结构是很重要的。每个单词都会用于不同的目的。所有的Tcl命令都返回结果。如果一个命令产生了没有意义的结果,那么它将返回一个空字符串作为它的结果。
变量
Tcl允许你在变量中保存数值,并且可以在后续的命令中使用这些数值。set命令用于对变量进行读写操作。比如,下面的命令对变量x赋值为32。
set x 32
这个命令返回变量的新值。你可以让set只带一个参数来读出变量的数值:
set x
你不需要在Tcl中声明变量:变量在第一次set的时候被自动创建。Tcl变量没有类型:任何值可以赋给任何变量。
要想在一个命令中使用变量的值,可以采用变量替代,如下例所示:
expr $x*3
当一个字符$出现在一个命令中的时候,Tcl把跟在它后面的字母和数字看作是一个变量名并且将其替换成变量的值。在这个例子中,expr命令接收到的实际参数将是32*3(假设变量x在前面的例子中被set过)。你可以在任何命令的任何单词中使用变量替代,甚至对一个单词多次使用:
set cmd expr
set x 11
$cmd $x*$x
命令替代
你也可以在一个命令的参数中使用另一个命令的结果。这被称之为命令替代:
set a 44
set b [expr $a*4]
当中括号出现在一个命令中的时候,Tcl把中括号之间的所有语句看作是一组Tcl命令。Tcl对这组命令进行解释,并用结果替代中括号之间的文字。上面的例子中,第二个set命令的第二个参数将为176。
双引号和大括号
双引号允许你指定包含空格的单词。我们看下面的这个例子:
set x 24
set y 18
set z "$x + $y is [expr $x + $y]"
在这三个命令都被解释后,变量z的值将是24+18 is 42。双引号之间的所有语句作为一个单词传给set命令。此处需要注意几点(a)引号之间的命令和变量替代仍起作用,(b)引号自身不会被传给命令。如果没有引号的话,set命令会得到6个参数,这将引起错误。
花括号对单词提供另外一种组合信息的方式。它与双引号的不同之处在于:花括号内的替代不起作用:
set z {$x + $y is [expr $x +$y]}
这个命令把变量z赋值为 " $x + $y is [expr $x +$y]"。
控制结构
Tcl提供一整套控制结构包括条件,循环和过程。Tcl的控制结构只是一些将Tcl脚本作为参数的命令。下面的示例创建了一个叫做power的Tcl的过程,实现对一个数求它的n次方:
proc power {base p}{
set result 1
while {$p >0}{
set result [expr $result * $base]
set p [expr $p- 1]
}
return $result
}
这个脚本由一个简单的命令proc所组成,这个proc命令有3个参数:过程名,参数名列表和过程体。过程体是一个Tcl脚本。需要注意的是,第一行末尾的花括号和最后一行花括号之间的语句都被逐字逐句的作为一个参数传给proc。proc命令创建了一个新的叫做power的具有两个参数的Tcl命令。你可以这样来调用power:
power 2 6
power 1.15 5
当power被调用的时候,过程体就被解释了。当过程体执行的时候,它可以变量的形式进入它的参数中:base获得第一个参数,p获得第二个参数。
power过程体中包含3个Tcl命令:set,while和return。while命令完成了这个过程中的大部分工作。它有两个参数,一个表达式($p>0)和一个Tcl脚本写的主体。while命令使用与C语言相似的规则来解释它的表达式参数。如果结果是真(非零),那么它将把函数体作为脚本来执行。他不断的重复这个过程,直到最后表达式的值变为假(零)。在这个例子中,while命令的函数体将result的值与base相乘,然后减少p的值。当p的值减到零的时候,结果就包含了需要的base的n次方值。return命令的作用是退出过程,同时将变量result的值作为过程的结果返回。
命令是如何运作的?
正如你所见到的,Tcl中所有有趣的功能都是靠命令来描述的。声明是命令,表达式由可执行命令来解释,控制结构是命令,过程也是命令。
Tcl命令由3种方式来创建。一组命令由Tcl解释器自身来提供。这些命令称之为内建命令,他们包括到现在为止你已经看到的命令和更多其他的命令(见下面)。内建命令出现在所有的Tcl应用程序中。
第二组命令使用Tcl扩展机制来创建。Tcl提供许多API接口,允许你用C或C++编写一个命令过程来创建一个新的命令。然后你可以通过Tcl解释器来通知Tcl过程实现的命令名,来注册命令过程。以后只要那个特定的名称被当作Tcl命令来使用,Tcl就会调用你的命令过程来执行这个命令。其实内建命令也是使用同样的扩展机制来执行的,只不过它们的命令过程是Tcl库中的一部分。
当Tcl用于嵌入到一个应用程序中的时候,应用程序使用扩展机制把它的主要功能和Tcl结合起来,这样一来那些可用的Tcl命令就因程序的不同而不同。还有大量的扩展包可以和Tcl应用程序组合起来使用。Tk是最著名的扩展之一,它提供了许多强大的创建图形用户界面的工具。而其他的扩展则提供了面向对象的编程,数据库访问,更多的图形功能,及其他的一些特性。用Tcl来创建完整的应用程序的优势之一是它可以很方便的进行扩展,从而可以组合进新的功能或与其它的资源进行通信。
第三组命令是一些由proc命令创建的过程。比如上面创建的power命令。通常,扩展用于较低层的功能,用C语言实现比较方便;而过程用于较高层的功能,用Tcl实现比较方便。
其它的功能
Tcl除了前面的例子中所使用的命令外,还有许多其它的命令,这里举例给出一些内建的Tcl命令所具有的功能:
☆ 更多的控制结构,如if,for,foreach和switch
☆ 字符串操作,包括一个强大的规则表达式匹配工具。不定长字符串可以像数字一样被传递和操作
☆ I/O 输入输出包括磁盘,网络通信通道,和类似串口的设备中的文件。Tcl为在Internet上进行通信提供了非常方便的工具
☆ 文件管理:Tcl提供许多命令来操作文件名,读写文件属性,复制文件,删除文件,创建目录,等等
☆ 分支过程的实现:你可以使用exec命令来运行其他程序,并且可以在它们的运行过程中和它们进行通信
☆ Lists Tcl使创建数值的集合变得很容易,并且可以用许多方式来对它们进行操作
☆ 数组 你可以创建有成对的名称数值组成的结构化数值,同时可以使用不定长字符串来定义这些名称和数值
☆ 可以对时间和日期进行操作
☆ Events允许等待一定的事件发生后再触发Tcl脚本,比如一段时间的延迟或是网络通信中输入的数据变为有效
Top
31 楼netxmfm(眸)回复于 2003-09-05 22:03:11 得分 0
收藏Top
32 楼daihao2003(劉老根的根)回复于 2003-09-05 22:26:36 得分 0
支持支持支持..~~
Top
33 楼leemin(龙=虫?!!)回复于 2003-09-05 22:46:03 得分 0
支持Top
34 楼mmxxt()回复于 2003-09-06 11:47:20 得分 0
upTop
35 楼qingren(qingren)回复于 2003-09-06 12:27:06 得分 0
upTop
36 楼jimuflying(積木ψ飄)回复于 2003-09-08 12:34:22 得分 0
8错8错,收藏,支持,UPTop
37 楼yl0002(yl)回复于 2003-09-08 13:15:27 得分 0
谢谢了Top
38 楼mmxxt()回复于 2003-09-09 12:20:10 得分 0
upTop
39 楼hurrybaby(宝宝)回复于 2003-09-09 13:25:56 得分 0
看看去Top
40 楼sadjulius(唉呦喔呀哪 今生只爱我的小琴琴哦)回复于 2003-09-09 13:29:00 得分 0
upTop
41 楼warmchang(风滑过的痕迹)回复于 2003-09-09 13:38:01 得分 0
不错不错,支持楼主Top
42 楼zhouweiqi(p(^_^)q~~努力)回复于 2003-09-09 13:46:13 得分 0
markTop
43 楼gisdonny(唐尼)回复于 2003-09-09 13:53:39 得分 0
upTop
44 楼cyx616(放飞心情)回复于 2003-09-09 14:01:54 得分 0
支持!!!!
也是校友!!!Top
45 楼astroboy()回复于 2003-09-09 14:21:04 得分 0
支持,支持!Top
46 楼mmxxt()回复于 2003-09-10 12:09:29 得分 0
upTop
47 楼turbocrm(小灰狼)回复于 2003-09-10 12:28:01 得分 0
Tcl就是test common language啊,我以前写过很多这种脚本,非常简单,不过也有一些比较难用的东西。Top
48 楼xiyi168(风云)回复于 2003-09-10 14:48:41 得分 0
upupTop
49 楼mmxxt()回复于 2003-09-17 17:12:34 得分 0
upTop
50 楼ppby2002(lovewolf)回复于 2003-09-17 17:47:50 得分 0
支持Top
51 楼wangj7982(笑看风云淡)回复于 2003-09-17 17:52:24 得分 0
upTop
52 楼yingzinjun(微笑)回复于 2003-09-17 18:04:56 得分 0
没问题Top
53 楼BarryW(小红冒)回复于 2003-09-17 18:50:02 得分 0
接分快乐Top
54 楼xzx1015(山风点火)回复于 2003-09-17 18:58:08 得分 0
up
支持Top
55 楼mmxxt()回复于 2003-09-18 20:32:11 得分 0
upTop
56 楼adao2003(]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[]-[)回复于 2003-09-18 20:39:08 得分 0
强烈支持!Top
57 楼legsion(小风)回复于 2003-09-18 20:53:35 得分 0
嘿嘿,是小孙吧。怎么来了也不打招呼啊。毕业了还好吧。多联系啊。冷Top
58 楼legsion(小风)回复于 2003-09-18 20:54:27 得分 0
大家来捧场了!Top
59 楼chanet(牧师)回复于 2003-09-19 01:50:40 得分 0
分 分 分
分 分 分分分分分分分分分分分分分
分分分分分分分分分分分分 分
分 分 分分分分分分分分分分分
分 分
分分分分分分分分分分分分分分 分分分分分分分分分
分 分 分 分
分 分 分分分分分分分分分
分 分 分 分 分
分 分 分 分分分分分分分分分分分分分分分
分分 分 分分
分 分 分 分 分分分分分分分分分
分 分 分 分 分 分
分 分 分 分 分 分
分 分 分分分分分分分分分
分Top
60 楼ker0(无敌的傻瓜)回复于 2003-09-19 07:38:29 得分 0
好耶,正在学TCL,呵呵,接分Top
61 楼mmxxt()回复于 2003-09-20 18:40:19 得分 0
upTop
62 楼legsion(小风)回复于 2003-09-22 10:44:50 得分 0
upTop
63 楼eloelo()回复于 2003-09-27 21:43:19 得分 0
upTop
64 楼mmxxt()回复于 2003-09-29 20:51:45 得分 0
upTop
65 楼netxmfm(眸)回复于 2003-09-29 21:39:11 得分 0
恭喜
支持Top
66 楼dropship(光荣与梦想)回复于 2003-09-29 21:51:27 得分 0
界面不错,支持Top
67 楼mmxxt()回复于 2003-09-30 12:53:45 得分 0
upTop
68 楼intocsdn(小胖哥)回复于 2003-09-30 13:07:37 得分 0
支持ingTop
69 楼mmxxt()回复于 2003-10-09 21:01:41 得分 0
upTop
70 楼lucymm(双鱼mm♀可不可以养一滴泪,象养一朵花,春暖花开...♀)回复于 2003-10-09 21:21:07 得分 0
upupupTop
71 楼123456754321(强盗)回复于 2003-10-09 22:11:24 得分 0
topTop
72 楼hacker007()回复于 2003-10-13 00:42:47 得分 0
接分Top
73 楼mmxxt()回复于 2003-10-13 12:24:05 得分 0
up
Top
74 楼mmxxt()回复于 2003-10-13 12:24:52 得分 0
upTop
75 楼firesyang(无色无相)回复于 2003-10-13 12:50:09 得分 0
不错Top
76 楼seakingx(亚龙湾)回复于 2003-10-13 13:28:34 得分 0
不错
upTop
77 楼kingbug(上帝是个程序员)回复于 2003-10-13 20:49:50 得分 0
up
再upTop
78 楼BigBin2002(疯一样的男子)回复于 2003-10-13 20:56:49 得分 0
不错,挺简约的,佩服楼主Top
79 楼willis2003(小虫)回复于 2003-10-13 21:02:24 得分 0
不错不错
加油啊Top
80 楼lymyx(明月)回复于 2003-10-13 21:10:52 得分 0
我去看一下Top
81 楼jgl1010(`king)回复于 2003-10-13 21:41:26 得分 0
请问这个是用什么写的,只是HTML??有没有用别的什么语言啊????Top
82 楼jgl1010(`king)回复于 2003-10-13 21:42:01 得分 0
请问这个是用什么写的,只是HTML??有没有用别的什么语言啊????Top
83 楼CsdnPlayer()回复于 2003-10-13 21:57:14 得分 0
接分!Top
84 楼fengyeng(在城里飘~~~~)回复于 2003-10-14 14:56:03 得分 0
接分!Top
85 楼Risenly(仁氏)回复于 2003-10-14 16:10:47 得分 0
垃圾,Top
86 楼luixui(较洋冰)回复于 2003-10-14 16:24:13 得分 0
支持Top
87 楼callzjy2()回复于 2003-10-18 16:45:32 得分 0
接分快乐Top
88 楼mmxxt()回复于 2003-10-30 22:53:37 得分 0
upTop
89 楼saien(精益求精)回复于 2003-10-30 23:34:10 得分 0
接分啦!Top
90 楼visualcdotnet(missing connection or connectionstring)回复于 2003-11-08 01:36:16 得分 0
接分Top
91 楼guishuanglin(蓝色枫林)回复于 2003-11-08 09:32:59 得分 0
祝贺!!!!Top
92 楼mmxxt()回复于 2003-11-11 23:04:06 得分 0
upTop




