TC官方合作论坛

 找回密码
 立即注册
查看: 4777|回复: 18

[其他] 虎牙TC学习,源码借鉴记录帖

  [复制链接]
发表于 2019-11-13 10:28:03 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 年迈的虎牙丶 于 2019-11-25 19:30 编辑



列表框实现树型框效果(原创作者:zxczxc1968531

QQ截图20191113101734.jpg
  1. 变量 人员信息=数组()
  2. 功能 填充信息(数组信息,展示方式="打开",是否追加="否")
  3.     变量 值,key
  4.     变量 值1,key1
  5.     如果(是否追加=="否")
  6.         列表框选项清空("列表框1")
  7.     结束

  8.     遍历(变量 i = 0; i < 数组大小(人员信息); i++)
  9.         数组获取元素(人员信息,i,值,key)
  10.         如果(展示方式=="打开")
  11.             列表框增加文本("列表框1","☟ "&key)
  12.             遍历(变量 ii = 0; ii < 数组大小(值); ii++)
  13.                 数组获取元素(值,ii,值1,key1)
  14.                 列表框增加文本("列表框1","    ● "&key1)   
  15.             结束
  16.         否则
  17.             列表框增加文本("列表框1","☞ "&key)
  18.         结束
  19.     结束
  20.    
  21.    
  22. 结束

  23. 功能 按钮0_点击()
  24.     //这里添加你要执行的代码
  25.     人员信息["指挥中心"]=数组()
  26.     人员信息["指挥中心"]["张三"]=数组()
  27.     人员信息["指挥中心"]["张三"]["年龄"]="28"
  28.     人员信息["指挥中心"]["张三"]["入职时间"]="2018-02-16"
  29.     人员信息["指挥中心"]["张三"]["照片"]="xuqi.png"
  30.    
  31.     人员信息["指挥中心"]["李四"]=数组()
  32.     人员信息["指挥中心"]["李四"]["年龄"]="27"
  33.     人员信息["指挥中心"]["李四"]["入职时间"]="2018-02-16"
  34.     人员信息["指挥中心"]["李四"]["照片"]="xuqi.png"
  35.     人员信息["网安大队"]=数组()
  36.     人员信息["网安大队"]["王二"]=数组()
  37.     人员信息["网安大队"]["王二"]["年龄"]="26"
  38.     人员信息["网安大队"]["王二"]["入职时间"]="2018-02-16"
  39.     人员信息["网安大队"]["王二"]["照片"]="xuqi.png"
  40.    
  41.     人员信息["网安大队"]["麻子"]=数组()
  42.     人员信息["网安大队"]["麻子"]["年龄"]="25"
  43.     人员信息["网安大队"]["麻子"]["入职时间"]="2018-02-16"
  44.     人员信息["网安大队"]["麻子"]["照片"]="xuqi.png"
  45.    
  46.     填充信息(人员信息,"关闭")
  47. 结束
  48. 功能 按钮1_点击()
  49.     //这里添加你要执行的代码
  50.     //这里添加你要执行的代码
  51.     人员信息["指挥中心"]=数组()
  52.     人员信息["指挥中心"]["张三"]=数组()
  53.     人员信息["指挥中心"]["张三"]["年龄"]="28"
  54.     人员信息["指挥中心"]["张三"]["入职时间"]="2018-02-16"
  55.     人员信息["指挥中心"]["张三"]["照片"]="xuqi.png"
  56.    
  57.     人员信息["指挥中心"]["李四"]=数组()
  58.     人员信息["指挥中心"]["李四"]["年龄"]="28"
  59.     人员信息["指挥中心"]["李四"]["入职时间"]="2018-02-16"
  60.     人员信息["指挥中心"]["李四"]["照片"]="xuqi.png"
  61.     人员信息["网安大队"]=数组()
  62.     人员信息["网安大队"]["王二"]=数组()
  63.     人员信息["网安大队"]["王二"]["年龄"]="28"
  64.     人员信息["网安大队"]["王二"]["入职时间"]="2018-02-16"
  65.     人员信息["网安大队"]["王二"]["照片"]="xuqi.png"
  66.    
  67.     人员信息["网安大队"]["麻子"]=数组()
  68.     人员信息["网安大队"]["麻子"]["年龄"]="28"
  69.     人员信息["网安大队"]["麻子"]["入职时间"]="2018-02-16"
  70.     人员信息["网安大队"]["麻子"]["照片"]="xuqi.png"
  71.    
  72.     填充信息(人员信息,"打开","是")
  73.    
  74.    
  75.    
  76.    
  77. 结束



  78. 功能 列表框1_左键双击()
  79.     //这里添加你要执行的代码
  80.     变量 列表行数=列表框获取选项个数("列表框1")
  81.     变量 当前文本=列表框获取选中文本("列表框1")
  82.     变量 当前选项=列表框获取选项("列表框1")
  83.     变量 头文字=字符串截取左侧(当前文本,1)
  84.     变量 当前主项
  85.     变量 设置内容
  86.     变量 删除数组=数组()
  87.     变量 选项文字
  88.     变量 序号
  89.     变量 主项名称
  90.     变量 值,key
  91.    
  92.     选择(头文字)
  93.         条件 "☟"
  94.         调试输出("关闭主项 [ "&当前文本&" ]")  
  95.         设置内容=字符串替换(当前文本,"☟","☞")
  96.         列表框删除选项文本("列表框1",当前选项)
  97.         列表框插入文本("列表框1",设置内容,当前选项)
  98.         列表框设置选项("列表框1",当前选项)
  99.         序号=当前选项+1
  100.         循环(序号<列表行数)
  101.             选项文字=列表框获取文本("列表框1",序号)
  102.             //调试输出(选项文字)
  103.             如果(字符串截取左侧(选项文字,1)=="☟" || 字符串截取左侧(选项文字,1)=="☞" || 选项文字=="")
  104.                 跳出
  105.             否则
  106.                 列表框删除选项文本("列表框1",序号)
  107.                 序号--
  108.             结束
  109.             序号++
  110.         结束
  111.         
  112.         
  113.         条件 "☞"
  114.         调试输出("打开主项[ "&当前文本&" ]")  
  115.         设置内容=字符串替换(当前文本,"☞","☟")
  116.         列表框删除选项文本("列表框1",当前选项)
  117.         列表框插入文本("列表框1",设置内容,当前选项)
  118.         列表框设置选项("列表框1",当前选项)
  119.         
  120.         主项名称=字符串截取(设置内容,2,字符串长度(设置内容))
  121.         序号=当前选项+1
  122.         遍历(变量 i = 0; i < 数组大小(人员信息[主项名称]); i++)
  123.             数组获取元素(人员信息[主项名称],i,值,key)
  124.             //调试输出(key)
  125.             列表框插入文本("列表框1","    ● "&key,序号)
  126.             序号++
  127.         结束
  128.         
  129.         
  130.         
  131.         
  132.         默认
  133.         当前文本=字符串修剪(当前文本,"    ● ")
  134.         遍历(变量 i =当前选项-1 ; i >= 0; i--)
  135.             选项文字=列表框获取文本("列表框1",i)
  136.             如果(字符串截取左侧(选项文字,1)=="☟" || 字符串截取左侧(选项文字,1)=="☞")
  137.                 当前主项=字符串截取(选项文字,2,字符串长度(选项文字))
  138.                 跳出
  139.             结束
  140.         结束
  141.         
  142.         
  143.         调试输出("选中主项[ "&当前主项&" ]的子项 [ "&当前文本&" ]")  
  144.         
  145.         消息框(人员信息[当前主项][当前文本])
  146.         
  147.         
  148.     结束
  149.    
  150.    
  151. 结束
复制代码

评分

参与人数 2威望 +20 金币 +10 收起 理由
420130 + 10 + 10 感谢分享!希望你能继续分享~!感谢!!!.
花开千树 + 10 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-11-13 10:38:19 | 显示全部楼层
利用DLL实现自由拖动改变窗口大小(原创作者:zxczxc1968531)
  1. 功能 实现窗口可调大小_初始化()
  2.     改变窗体属性()
  3. 结束
  4. 功能 改变窗体属性()
  5.     //    .DLL命令 设置窗口信息_, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息  指定数据的前一个值
  6.     //    .参数 窗口句柄, 整数型, , hwnd,欲为其取得信息的窗口的句柄
  7.     //    .参数 窗口信息值, 整数型, , nIndex,请参考GetWindowLong函数的nIndex参数的说明
  8.     //    .参数 窗口信息新值, 整数型, , dwNewLong,由nIndex指定的窗口信息的新值
  9.     //设置窗体属性:大小可变+有标题栏+标题栏控制菜单+最小化按钮+最大化按钮;参考TC帮助文档附录常量大全
  10.     动态库调用("user32.dll", "long", "SetWindowLongA", "int", 窗口获取自我句柄(), "int", -16, "long", WS_THICKFRAME + WS_CAPTION + WS_SYSMENU + WS_MINIMIZEBOX + WS_MAXIMIZEBOX + WS_EX_TRANSPARENT)
  11. 结束
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-13 10:46:31 | 显示全部楼层
利用win32 api实现窗口无边框 TC7.0专用(原创作者:13857750526
QQ截图20191113103249.jpg
  1. dllcall("user32.dll","int","SetWindowLongA","int",windowgetmyhwnd(),"int",-20,"int",256)
  2. dllcall("user32.dll","int","SetWindowLongA","int",windowgetmyhwnd(),"int",-16,"int",524288)
复制代码
这样写不会有阴影出现
主要是改了一下函数后的那个常量,顺便附一张常量表

27540322703734.jpg 如想详细了解SetWindowLongA,上MSDN  【docs.microsoft。com/zh-cn/windows/win32/api/winuser/nf-winuser-setwindowlonga?redirectedfrom=MSDN】


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-14 13:48:40 | 显示全部楼层
本帖最后由 年迈的虎牙丶 于 2019-12-4 20:25 编辑

简单利用编辑框制作 脚本运行日志

  1. 功能 日志输出(内容)
  2. 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&当前时间()&":"&内容&"\r\n")
  3. 窗口发送消息(控件获取句柄("编辑框0"),277,7,0)
  4. 结束
复制代码
下面代码设计时间 提取分秒

  1. 功能 日志输出(内容)
  2.    
  3.     变量 sj=当前时间()
  4.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&时间时(sj)&":"&时间分(sj)&":"&时间秒(sj)&"==>>"&内容&"\r\n")
  5.     窗口发送消息(控件获取句柄("编辑框0"),277,7,0)
  6. 结束
复制代码
  1. 功能 写日志(内容)
  2.     变量 原有内容,位置,长度,字符集
  3.     如果(内容!="")
  4.         原有内容=编辑框获取文本("编辑框2")
  5.         如果(内容!="")
  6.             位置=字符串查找(原有内容,"\r\n")
  7.             如果(位置>0)
  8.                 长度=字符串分割(原有内容,"\r\n",字符集)
  9.             结束
  10.             原有内容=原有内容&"\r\n"&内容
  11.         否则
  12.             原有内容=内容  
  13.         结束
  14.         编辑框设置文本("编辑框2",原有内容)
  15.         如果(长度>=6) //6表示显示6行
  16.             窗口发送消息(控件获取句柄("编辑框2"),#0115,7,0)
  17.         结束
  18.     结束
  19. 结束
复制代码
执行编辑框内的代码
编辑框如果是鼠标移动   比如 坐标移动(200,300)
  1. 变量 编辑框内容 = "坐标移动(200,300)"
  2.    
  3.     如果(字符串查找(编辑框内容,"坐标移动") != -1)
  4.         变量 坐标
  5.         字符串分割(字符串移除(字符串移除(编辑框内容,1,假),5,真),",",坐标)
  6.         鼠标移动(坐标[0],坐标[1])
  7.     结束
复制代码
编辑框如果是功能命令

  1. 如果(编辑框获取文本("编辑框0") == "打开地图()")
  2.         打开地图()
  3.     结束
复制代码


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-15 16:33:29 | 显示全部楼层
本帖最后由 年迈的虎牙丶 于 2019-11-25 19:40 编辑

复选框与列表框的联动重点  重点 重点:做判断的时候,需要两个=;作为赋值的时候,需要一个=
Gif_20191115162212.gif
  1. 功能 复选框0_点击()
  2.     变量  状态=复选框获取状态("复选框0")
  3.     如果 (状态==真)//标重点 [做判断的时候,需要两个=;作为赋值的时候,需要一个=]
  4.         变量 内容=复选框获取文本("复选框0")
  5.         变量 行数=列表框获取选项个数("列表框1")
  6.         列表框插入文本("列表框1",内容,行数+1)
  7.     否则
  8.         变量  a=列表框获取选项个数("列表框1")
  9.         调试输出(a)
  10.         for(变量 i=0;i<a;i++)
  11.             变量 内容=列表框获取文本("列表框1",i)
  12.             调试输出(内容)
  13.             如果(内容==复选框获取文本("复选框0"))
  14.                 调试输出("找到了"&内容&"位置是"&i)
  15.                 列表框删除选项文本("列表框1",i)
  16.             结束
  17.         结束
  18.     结束
  19. 结束
复制代码
  1. 功能 增减(a,b)
  2.     变量  状态=复选框获取状态(a)
  3.     如果 (状态==真)
  4.         变量 内容=复选框获取文本(a)
  5.         变量 行数=列表框获取选项个数(b)
  6.         列表框插入文本(b,内容,行数+1)
  7.     否则
  8.         变量  个数=列表框获取选项个数(b)
  9.         调试输出(个数)
  10.         for(变量 i=0;i<个数;i++)
  11.             变量 内容=列表框获取文本(b,i)
  12.             调试输出(内容)
  13.             如果(内容==复选框获取文本(a))
  14.                 调试输出("找到了"&内容&"位置是"&i)
  15.                 列表框删除选项文本(b,i)
  16.             结束
  17.         结束
  18.     结束
  19.    
  20. 结束


  21. 功能 复选框0_点击()
  22.     增减("复选框0","列表框1")
  23. 结束
复制代码



回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-18 21:44:02 | 显示全部楼层
本帖最后由 年迈的虎牙丶 于 2019-11-18 21:52 编辑

下拉框二级联动

  1. 功能 测试(主,副,数量)
  2.     数量=数量+1
  3.     变量 下拉框分类=下拉框获取文本(主)
  4.     如果(数量>0)
  5.         下拉框选项清空(副)
  6.         遍历(变量 i = 1; i <数量 ; i++)
  7.             下拉框增加文本(副,下拉框分类&"-"&i)
  8.         结束
  9.         下拉框设置选项(副,0)
  10.     结束
  11. 结束

  12. 功能 计时器_初始化()
  13.     测试("主1","副1",10)
  14.     测试("主2","副2",10)
  15.     测试("主3","副3",10)
  16.     测试("主4","副4",10)
  17. 结束
复制代码
182717nibpg8r8orl11inb.png

列表框 二级联动
  1. 功能 列表框0_左键双击()
  2.     变量 选中任务 = ""
  3.     选中任务 = 列表框获取选中文本("列表框0")
  4.     变量 几行 = 列表框获取选项个数("列表框1")
  5.     列表框插入文本("列表框1",选中任务,几行 + 1)
  6. 结束

  7. 功能 列表框1_左键双击()
  8.     变量 序号=列表框获取选项("列表框1")
  9.     列表框删除选项文本("列表框1",序号)
  10. 结束

  11. 功能 按钮6_点击()
  12.     变量 选中任务 = ""
  13.     选中任务 = 列表框获取选中文本("列表框1")
  14.     变量 序号=列表框获取选项("列表框1")  
  15.     列表框删除选项文本("列表框1",序号)
  16.     列表框插入文本("列表框1",选中任务,序号 - 1)
  17.     列表框设置选项("列表框1",序号 - 1)
  18. 结束

  19. 功能 按钮7_点击()
  20.     变量 选中任务 = ""
  21.     选中任务 = 列表框获取选中文本("列表框1")
  22.     变量 序号=列表框获取选项("列表框1")  
  23.     列表框删除选项文本("列表框1",序号)
  24.     列表框插入文本("列表框1",选中任务,序号 + 1)
  25.     列表框设置选项("列表框1",序号 + 1)
  26. 结束

  27. 功能 按钮8_点击()
  28.     列表框选项清空("列表框1")
  29. 结束
复制代码



144945ntttzilbuwit5tiw.png


下拉框应用

  1. 变量 线程ID,省的名字,市的名字,县的名字,个数

  2. 功能 下拉框0_选择改变()
  3.     线程开启("获取市","")
  4. 结束
  5. 功能 下拉框1_选择改变()
  6.     线程开启("获取县","")
  7. 结束

  8. 功能 获取市()
  9.     下拉框选项清空("下拉框1")
  10.     下拉框增加文本("下拉框1","地级市")
  11.     下拉框设置选项("下拉框1",0)
  12.     下拉框选项清空("下拉框2")
  13.     下拉框增加文本("下拉框2","市、县级市")
  14.     下拉框设置选项("下拉框2",0)
  15.     省的名字=下拉框获取文本("下拉框0")
  16.     市的名字=文件读配置(省的名字,省的名字,"rc:\\2222.txt")
  17.     //调试输出(市的名字)
  18.     变量 retarr
  19.     变量 n = 字符串分割(市的名字,"|",retarr)
  20.     遍历(变量 i=0;i < n;i++)
  21.         // 消息框(retarr[i])
  22.         //调试输出(retarr[i])
  23.         下拉框增加文本("下拉框1",retarr[i])
  24.     结束
  25.    
  26. 结束

  27. 功能 获取县()
  28.     下拉框选项清空("下拉框2")
  29.     下拉框增加文本("下拉框2","市、县级市")
  30.     下拉框设置选项("下拉框2",0)
  31.     市的名字=下拉框获取文本("下拉框1")
  32.     县的名字=文件读配置(市的名字,市的名字,"rc:\\2222.txt")
  33.     调试输出(县的名字)
  34.     变量 retarr
  35.     变量 n = 字符串分割(县的名字,"|",retarr)
  36.     遍历(变量 i=0;i < n;i++)
  37.         // 消息框(retarr[i])
  38.         // 调试输出(retarr[i])
  39.         下拉框增加文本("下拉框2",retarr[i])
  40.     结束
  41. 结束




  42. 功能 省_初始化()
  43.     //这里添加你要执行的代码
  44.     下拉框设置选项("下拉框0",0)
  45.     下拉框设置选项("下拉框1",0)
  46.     下拉框设置选项("下拉框2",0)
  47. 结束
复制代码


QQ截图20191118214313.png


回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-25 19:28:22 | 显示全部楼层

从硬盘里遍历出某个文件夹
知识点:①开始按钮的制作②文件搜索
  1. 变量 线程句柄=0
  2. 功能 开始_点击()
  3.     如果(线程句柄==0)
  4.         线程开启("操作","")
  5.         按钮设置文本("开始","暂停")
  6.     否则
  7.         线程关闭(线程句柄)
  8.         按钮设置文本("开始","开始")
  9.     结束
  10. 结束

  11. 功能 操作()
  12.     变量 文件名=编辑框获取文本("编辑框0")
  13.     变量 路径=浏览框获取文本("浏览框0")
  14.     变量 结果=搜索(路径,文件名)
  15.     如果(结果)
  16.         标签设置文本("结果",结果)
  17.     否则
  18.         标签设置文本("结果","没找到")
  19.     结束
  20.     按钮设置文本("开始","开始")
  21. 结束

  22. 功能 搜索(路径,文件名)
  23.     变量 文件保存数组=数组(),文件夹保存数组=数组()
  24.     如果(文件遍历(路径,文件保存数组,文件夹保存数组))
  25.         变量 大小=数组大小(文件夹保存数组)
  26.         遍历(变量 i = 0; i < 大小; i++)
  27.             如果(文件名==文件夹保存数组[i])
  28.                 返回 路径&"\"&文件夹保存数组[i]
  29.             结束
  30.             变量 返回值=搜索(路径&"\"&文件夹保存数组[i],文件名)
  31.             如果(返回值)
  32.                 返回 返回值
  33.             结束
  34.         结束
  35.     结束
  36.     返回 假
  37. 结束
复制代码
QQ截图20191125192005.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-30 22:15:59 | 显示全部楼层
本帖最后由 年迈的虎牙丶 于 2019-12-10 10:36 编辑

二级按钮.rar (1.66 MB, 下载次数: 18)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-30 22:29:22 | 显示全部楼层
语音播报.rar (1.92 MB, 下载次数: 36)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-30 22:32:09 | 显示全部楼层
本帖最后由 年迈的虎牙丶 于 2019-12-10 10:41 编辑

SkinH_EL.rar (702.57 KB, 下载次数: 18)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-10 02:11 , Processed in 0.134609 second(s), 28 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表