<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[新爸的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/inspirewang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; inspirewang]]></copyright><item><title><![CDATA[AI应用：TCL集成DeepSeek对话功能]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/148310054</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/148310054</guid><author>inspirewang</author><pubDate>Thu, 29 May 2025 15:30:08 +0800</pubDate><description><![CDATA[本文介绍了如何将DeepSeek对话功能集成到TCL应用程序中的具体步骤。首先需要在DeepSeek开放平台注册账号、创建API Key并完成充值；其次准备TCL开发所需的http、tls和json::write库；然后通过编写TCL代码实现与DeepSeek API的交互，包括构造请求头、处理JSON数据格式等关键环节；最后展示了在WXTextEditer软件中成功集成该功能的示例。整个过程表明TCL能够较简便地实现与DeepSeek对话功能的对接，为开发者提供了AI能力扩展的可行方案。]]></description><category></category></item><item><title><![CDATA[TCL中字符串与列表的区别一]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/148130792</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/148130792</guid><author>inspirewang</author><pubDate>Thu, 22 May 2025 10:27:45 +0800</pubDate><description><![CDATA[从上面的示例我们就能很清楚的发现实际上把字符串直接当做列表使用是存在很大的安全隐患的。在我们的实际应用中我们需要牢记上面的问题，切不可偷懒，一定要用正确的数据结构去处理数据。新爸持续将工作中遇到的各种奇怪问题分享给大家，希望大家能从中有所收获。]]></description><category></category></item><item><title><![CDATA[TCL中的队列数据结构]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/148119445</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/148119445</guid><author>inspirewang</author><pubDate>Wed, 21 May 2025 17:04:44 +0800</pubDate><description><![CDATA[TCL语言的核心模块并未定义复杂的数据结构，但通过官方提供的tcllib库，用户可以扩展使用如队列（queue）等数据结构。队列是一种遵循先进先出（FIFO）原则的线性数据结构，广泛应用于任务调度、缓冲区管理、广度优先搜索（BFS）和请求处理等场景。tcllib库中的struct::queue子库提供了队列的实现，支持创建队列、入队、出队和获取队列大小等操作。TCL语言的丰富库资源使其功能不断扩展，有望成为与Python等语言相媲美的编程工具。]]></description><category></category></item><item><title><![CDATA[TCL中的线程]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/148000942</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/148000942</guid><author>inspirewang</author><pubDate>Fri, 16 May 2025 12:23:43 +0800</pubDate><description><![CDATA[TCL通过导入Thread库实现多线程控制，其线程模型允许每个线程下创建多个解释器，解释器间环境物理隔离。线程创建使用thread::create命令，并可初始化运行脚本。线程交互包括同步和异步执行脚本、广播脚本、等待线程结束等操作。Thread库还提供线程信息获取、同步机制和队列管理功能。使用线程时需注意同步模式可能导致的锁死问题，异步模式则需确保数据一致性和执行有序性。合理设计线程交互逻辑是避免问题的关键。]]></description><category></category></item><item><title><![CDATA[TCL使用ffmpeg实现桌面录屏]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147986348</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147986348</guid><author>inspirewang</author><pubDate>Thu, 15 May 2025 17:14:54 +0800</pubDate><description><![CDATA[本文介绍了如何在TCL中调用FFmpeg实现桌面录屏功能。FFmpeg是一个强大的开源音视频处理工具，支持多种命令操作。文章首先详细解释了在Windows系统下使用FFmpeg进行桌面录屏的命令语法，包括帧率设置、编码器选择、分段输出等参数。接着，通过TCL的管道通信机制，展示了如何封装FFmpeg命令并实现录屏功能。示例代码中定义了一个startRecordScreen函数，通过创建管道与FFmpeg进程通信，控制录屏的开始与结束。本文展示了TCL与FFmpeg结合的高效应用，体现了TCL代码的简洁性。]]></description><category></category></item><item><title><![CDATA[SQLite数据库更新订阅]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147952008</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147952008</guid><author>inspirewang</author><pubDate>Wed, 14 May 2025 14:10:11 +0800</pubDate><description><![CDATA[本文介绍了如何在TCL中使用SQLite数据库的update_hook命令实现数据库更新订阅。通过update_hook命令，可以将数据库的更新操作与回调函数绑定，回调函数接收更新类型、数据库名称、表名和行号等参数，从而准确判断更新的具体信息。文章还展示了如何通过事件总线模式分发和订阅这些更新事件，使得不同模块能够响应数据变化。整个过程代码简洁，易于实现，适合在MVC等模式中应用。]]></description><category></category></item><item><title><![CDATA[SQLite数据库与TCL]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147948298</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147948298</guid><author>inspirewang</author><pubDate>Wed, 14 May 2025 11:52:11 +0800</pubDate><description><![CDATA[上面我们已经给出了基本的在TCL中使用sqlite3库操作sqlit数据库的方法，如果你还有更多疑问，请尽量参考官方提供的。]]></description><category></category></item><item><title><![CDATA[TK中的canvas控件]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147928279</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147928279</guid><author>inspirewang</author><pubDate>Tue, 13 May 2025 17:23:41 +0800</pubDate><description><![CDATA[TCL/TK是我们看到的TCL与TK的名称上的关系，实际上TK是基于TCL创建的一套图形系统，他们都是可以跨平台的。TK还是Python等语言默认使用的图形系统。根据新爸对TK的使用经验，TK实际上是一个不错的跨平台图形系统，它有一些丰富的控件和一套便捷的窗口管理逻辑组成。今天我们就来介绍一下TK中的画板控件：canvas。上图是新爸利用业余时间使用TCL/TK开发的一个游戏，它模仿了金典的坦克大战游戏。其中左侧中心区域为游戏显示控制区域，它使用的就是TK中的canvas控件。]]></description><category></category></item><item><title><![CDATA[TCL代码编辑器]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147727722</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147727722</guid><author>inspirewang</author><pubDate>Tue, 06 May 2025 10:44:53 +0800</pubDate><description><![CDATA[该编辑器暂时只支持Windows环境下运行。是一个64位的应用程序，它支持TCL语法高亮显示、TCL脚本编辑、TCL语法提示以及单脚本调试功能。本身使用TCL/TK开发，封装了Tcl8.6.13和 Tk8.6.13的解释器和一些基本运行环境。它是一个单ExE运行文件，依赖一个配置文件system_configure.tcl，该配置文件用于记录WXTextEditer运行的一些配置信息和历史文件信息。]]></description><category></category></item><item><title><![CDATA[TCL中的数组：array]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/147296890</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/147296890</guid><author>inspirewang</author><pubDate>Thu, 17 Apr 2025 13:01:39 +0800</pubDate><description><![CDATA[理解TCL中array数据结构并不难，但是想要用好它还需要有一定的经验做支撑。如果大家在使用TCL时有什么疑难困惑，欢迎大家咨询新爸，新爸将根据自己的经验和掌握的知识给大家作出可靠的解答。]]></description><category></category></item><item><title><![CDATA[TCL脚本解析一]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/142139946</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/142139946</guid><author>inspirewang</author><pubDate>Wed, 11 Sep 2024 16:14:35 +0800</pubDate><description><![CDATA[TCL脚本是开发人员对软件进行功能扩展的工具，通常我们不需要编写代码对TCL脚本进行解析，因为TCL解释器自带了命令可以解释执行TCL脚本。但是有些特定情况下，我们依然需要编写解析TCL脚本的代码，例如编写新的TCL解释器。下面我们将详细阐述如何解析TCL脚本。]]></description><category></category></item><item><title><![CDATA[TCL命令解析之：switch命令解析]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/141167599</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/141167599</guid><author>inspirewang</author><pubDate>Tue, 13 Aug 2024 17:28:33 +0800</pubDate><description><![CDATA[switch命令是TCL中重要的逻辑控制命令，它实现了丰富的多分支条件控制逻辑。TCL的switch命令与C语言的switch语句功能稍有不同，虽然他们都实现了多条件控制逻辑，但是条件的匹配方式不同，条件执行的控制逻辑也有不同。?options??...??options?string?...?它有两种形式，一种是分支逻辑被大括号括起来，一种是没有大括号括起来。这两种都是合法的，但是我们通常建议使用带大括号的语法。]]></description><category></category></item><item><title><![CDATA[TCL命令解析之：命令中的子命令解析]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/140955957</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/140955957</guid><author>inspirewang</author><pubDate>Tue, 06 Aug 2024 20:15:00 +0800</pubDate><description><![CDATA[从内到外：如果命令的嵌套有很多层，那么命令的执行顺序是从最内层子命令开始执行，然后到它的外一层命令执行，这样一直到最外层命令的执行。注意：上述代码只是为了实现本课中命令中子命令的解释执行而设计的，并未完整实现对命令的解释执行，因此在很多情况直接使用上述代码解释执行TCL命令会出错。从左到右：是指在TCL的命令解析时，属于同一层级的子命令的执行顺序是按照从左到右的顺序依次执行的（从严格的角度来说，除了多线程以外，没有可以同时执行的命令）。上述命令几包含了多层子命令的嵌套，也包含了同层子命令有多个命令的情况。]]></description><category></category></item><item><title><![CDATA[TCL与Python的命令行交互]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/139744202</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/139744202</guid><author>inspirewang</author><pubDate>Mon, 17 Jun 2024 15:25:24 +0800</pubDate><description><![CDATA[通过上述命令和函数，我们就已经实现了TCL应用程序创建Python解释器，并与之建立了管道通信，同时还能监控其标准输出通道输出的数据，同时将标准错误通道映射到TCL解释器的标准错误通道中。Python语言当前的应用远比TCL语言火热的多，它有这丰富的第三方库和庞大的开发群体，所以在很多应用场景中，Python都有着丰富的资源可以使用。管道通信（Pipe）是TCL支持的众多应用程序间通信中的一种，通过这种方式可以打通两个应用程序间的标准输入、标准输出和标准错误通道。]]></description><category></category></item><item><title><![CDATA[TCL语法详解之foreach语句]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/139609612</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/139609612</guid><author>inspirewang</author><pubDate>Tue, 11 Jun 2024 22:28:21 +0800</pubDate><description><![CDATA[从语法定义中，我们可以得出一个结论：将foreach语句看做一个字符串列表时，列表的第一个元素（foreach）是foreach命令的关键字、最后一个元素（body）是foreach语句循环执行的语句块、其余元素是以键值对形式出现的可被遍历的数据（定义的列表中取出对应数量的元素，并赋值给这些变量，这个过程类似于执行了lassign命令，每次取出的值不会出现在foreach循环的下一次取值的操作中。定义的代码块执行时使用空值进行运算。foreach循环的次数取决于命令定义的键值对中能够取值次数最多的那一对。]]></description><category></category></item><item><title><![CDATA[TCL语法详解之if语句]]></title><link>https://blog.youkuaiyun.com/inspirewang/article/details/139536401</link><guid>https://blog.youkuaiyun.com/inspirewang/article/details/139536401</guid><author>inspirewang</author><pubDate>Fri, 07 Jun 2024 22:53:52 +0800</pubDate><description><![CDATA[这段代码定义的函数实现了对if命令的解释执行。我们每次遍历的三个元素（除了最后的else逻辑分支外）依次分别是“关键字”（if或者elseif）、“逻辑判断语句”（一个返回值为1或者0的命令、表达式或者变量）以及“判断语句”值为1时需要执行的“逻辑语句块”。当我们了解了if命令的解释执行步骤之后，我们也可以设计类似if语句的新的逻辑控制语句，希望我们的读者能够灵活应用，开拓思维，创造创新。第二种语法则是if语句的一种多分支判断逻辑结构，它的每个判断分支逻辑都互斥，同时在语法上它也有一个判断顺序的存在。]]></description><category></category></item></channel></rss>