|
|

ycIDE - 开发测试版 v0.0.5-beta.9(2026-07-15)
新增功能
-
[新增] 分割文本 能用了,返回数组的命令有救了:此前 分割文本 的定义整条都是别的命令的(挂着"数据源.分解"的行号/列号参数、返回值标成"无返回值"),实现也只是个永远返回空数组的占位桩 —— 写了等于没写。现在补上了数组返回机制,分割文本 是第一个真正跑起来的:
.局部变量 结果, 文本型, , "0"
结果 = 分割文本 (“甲,乙,丙”, “,”) ' 结果[1]=甲 结果[2]=乙 结果[3]=丙
复制数组 (结果, 分割文本 (“x,y”, “,”)) ' 帮助里的规范用法也支持
- 语义逐条照帮助文件做:分隔符省略→默认半角逗号;分隔符给空文本→整段不分割;待分割文本为空→空数组;给了"要返回的子文本数目 n"→最多 n 段、末段是余下全文。
- 同批修好的还有
取配置节名(读 ini 的所有节名)与 多文件对话框(一次选多个文件,返回文件全路径数组) —— 这两条此前也是桩,分别返回写死的 "default" 和空文本。
取选中项 改名为 取所有被选择项目:这是它在易语言里的真名(此前的名字是编的)。真实现其实一直都在,只是名字对不上、提示面板找不到它。
-
[新增] "拼音处理"整类 5 条命令全部能用了:取所有发音、取发音数目、取拼音、取声母、取韵母 —— 此前全是占位桩,取发音数目 不管什么字都返回 1,取拼音/取声母/取韵母 分别返回写死的 "PY"/"SM"/"YM"。现在内置了 6763 个国标(GB2312)汉字的拼音表,多音字 699 个:
取所有发音 (“行”) ' → {“xing”, “hang”, “heng”} 常用音排在第一个
取发音数目 (“长”) ' → 2
取拼音 (“长”, 2) ' → “zhang”
取声母 (“重”, 1) ' → “zh” 取韵母 (“重”, 1) → “ong”
- 照帮助文件的语义:只取文本首部的第一个汉字;不是国标汉字就返回空数组/0/空文本;索引一基。
问题修复
-
[修复] 多音字命令搜不到(用户反馈:#换行符 只能用 #hxf 搜到,按正确读法敲 #hhf 反而搜不到)。原因是补全匹配对每个汉字只认一个"常用音"——"行"的常用音是 xíng,可 换行符 里它读 háng。现在多音字的每种读法都能搜到(hxf 和 hhf 都行,全拼 huanxing/huanhang 也都行)。
- 全量扫描了 925 个命令/常量/控件成员名,共 18 个受影响,现已一并修好:
- 行(xíng/háng):
#换行符、插入文本行、插入行、读入一行、加入行、取行高、写文本行、置行高、是否允许多行、允许多行表头
- 重(zhòng/chóng):
#重试钮、#重试取消钮、#放弃重试忽略钮、取重复文本、取重复字节集、重新查询
- 奇(qí/jī):
#仅打印奇数页 · 调(tiáo/diào):DLL命令调用转向
-
[修复] 写 对象.移动(…) 这类命令以前能编过、跑起来却是错的:提示列表里有一批名字以"对象."开头的命令(对象.移动、对象.获取焦点、对象.发送信息 等 24 条)。这个"对象."在易语言的帮助里只是个占位符(代表"任意对象"),并不是真能写出来的命令名——但它们混进了命令列表,补全能补出来,写出来还能编过,然后调用时少传一个参数(对象本身),运行结果是错的。现在写这种形式会直接报错并告诉你正确写法:
对象.移动 (1, 2, 3, 4)
→ “对象.移动”是对象成员命令,不能这样直接调用;请写成「控件名.移动(…)」的形式
- 注:
按钮1.移动(…) 这种正确写法目前仍会提示"暂不支持在代码中调用"——这些控件方法还没接上,是另一件待做的功能,本次只是先把上面那条会出错的歪路堵死。
-
[修复] 【重要】"变量操作"族 5 条命令以前全是错的:赋值、连续赋值、交换变量、强制交换变量、数组清零 —— 这些命令要按引用改写你的变量,但支持库内部收到的其实是"变量值的文字形式",连变量地址都不是;实现里则把收到的指针当数据直接写进去。两头都错,结果就是这 5 条要么没反应、要么写坏数据。现已修好——命令实现仍在支持库里,只是编译器改为把"变量地址 + 类型标记"一起交过去(类型编译期本来就知道,而光给一个地址支持库无从判断该按整数还是文本去赋值)。5 条都真的生效了:
赋值 (计数, 7) ' 计数=7
连续赋值 (5, a, b, c) ' a=b=c=5 (注意这条的参数顺序:值在前)
交换变量 (a, b) ' 整数/文本都能换
数组清零 (数组) ' 成员全置零,成员数不变
- 顺带修好
赋值 的命令定义也是张冠李戴的(提示面板显示的是 〈逻辑型〉(欲写入数据, 成员索引),实为 〈无返回值〉(被赋值的变量, 值)),连续赋值 的尾参现在也能重复添加了。
- 传字面量给这些命令(如
交换变量 (1, 2))现在会明确报"需要变量作为参数",而不是编译时抛一串 C++ 报错。
-
[修复] 取统一文本长度 的"转换到宽文本"开关以前完全不认(和 取统一文本 同一个毛病);字符/到短整数/指针到文本 的参数与返回宽度也已与帮助对齐。
-
[修复] 【重要】往文本数组里存值以前根本编译不过:加入成员 (文本数组, "甲") 和 文本数组 [1] = "甲" 这两种最常见的写法都会编译报错(no matching conversion from 'YC_TEXT')——也就是说文本数组建好了却存不进东西。现已修好。
-
[新增] "字节集数组"能用了:可以 .局部变量 数据, 字节集, , "0" 声明,加入成员/插入成员/下标读写/取数组成员数/复制数组/调试输出 都支持。同时 分割字节集 也真正实现了(此前是永远返回空数组的桩)。
-
| [修复] 【重要】字节集以前装不了二进制数据 —— 遇到 0 字节就整条截断。支持库内部一直把字节集当"以 0 结尾的字符串"在传,可字节集本来就是任意二进制。后果是一大批命令在真实数据上直接是错的: |
你写的 |
以前的结果 |
现在 |
取字节集长度 (取空白字节集 (5)) |
0 |
5 |
取字节集长度 (文本到UTF16 (“A”)) |
1 |
4 |
写到文件 一段含 0 字节的数据再 读入文件 |
只剩第一个 0 之前的部分 |
原样 |
置字节集内整数 (字节集, 0, 值) 后读回 |
恒为 0(改动被丢弃) |
真的写进去了 |
到字节集 (“A”) + 到字节集 (“B”) |
编译报错 |
正常连接 |
- 现已把字节集改成按长度传递,读写二进制文件、UTF16 编码转换、图片/网络数据这些场景才真正可用。涉及 34 条命令(取字节集长度/左边/右边/中间、寻找/倒找、替换、取空白/取重复、指针到字节集、取/置字节集内整数、读入/写到文件、读入/写出/插入字节集、文本到UTF8/UTF16 与反向、取统一文本、分割字节集 等)。
- 顺带修好的:
文本到UTF8 以前没按帮助加"结束零字符";取统一文本 的"转换到宽文本"/"添加结束零字符"两个开关以前完全不认(帮助说省略时默认都为真,实际按假处理);取字节集数据 的类型常量以前整个错位(帮助是 1=字节型/2=短整数型/3=整数型/4=长整数型…,实现却按 1=整数/2=小数/3=双精度);置字节集内整数 以前写越界不做任何检查(缓冲区溢出)。
-
[修复] 调用还没实现的数组命令,现在会直接告诉你"尚未实现",不再静默返回垃圾值(而不是像以前那样看着能编过、跑起来拿到一个乱数)。数组元素类型现支持 整数族 / 小数族 / 文本型 / 字节集 四类,其它类型会明确报出来。
-
[修复] 另有 3 个命令的定义也张冠李戴(同一个原因,提示面板显示的参数/返回值全是别的命令的)→ 已按帮助文档改回:
- 画板.取图片:此前显示"无参数"→ 实为
〈字节集〉([输出宽度],[输出高度])
- 选择列表框.选中项目:此前是
〈整数型〉(欲选择的项目文本) → 实为 〈逻辑型〉(项目索引,[选择状态])
- 打印机.置自定义纸张类型:此前是
〈文本型数组〉(纸张定义) → 实为 〈逻辑型〉(名称,宽,高,[上/下/左/右边距])
-
[修复] 打开文件 命令的定义完全是错的(重要):命令提示里显示的是「ODBC数据源连接文本 / 是否只读 / 不显示ODBC连接对话框」、返回逻辑型、归类到「控制台操作」—— 那其实是「外部数据库.打开」的说明。现已按帮助文档改回:〈整数型〉打开文件(文本型 欲打开的文件名称,[整数型 打开方式],[整数型 共享方式]),归类「文件读写」,成功返回文件号。
- 同时修正了它的实际行为:
#写出 / #重写 / #改写 / #改读 此前全是错的(#重写 变成了追加而不是清空、#改写 / #改读 直接退化成只读、省略「打开方式」也变成只读)→ 现在六种方式都按帮助文档语义执行;「共享方式」也真正生效了(此前被完全忽略),#禁止读 / #禁止写 / #禁止读写 会实际限制其它进程。
-
[修复] 在展开的参数行上按回车,光标(焦点)会丢失,键盘导航直接断掉、必须回头点鼠标 → 现已修正。回车规则统一为:
- 可重复参数(如
加入文本、写出文本、调试输出 的最后一个参数):回车就新增一行,不管当前值是否为空、按几次加几行;想退出按 Esc 或点别处。
- 不可重复参数:回车依次前进到下一个参数;到最后一个参数再回车 → 光标落到下一行代码继续编辑(此前会直接丢焦点,所有命令都受影响、不只可重复参数)。
-
[修复] 光标正停在某个参数行上时,这一行没法被多选(只能先把焦点挪开才选得中),导致回车新增出来的空参数行想选中删掉却选不了 → 现在Ctrl / Shift 点选和直接按住左键拖过去都能选中它,选中后按 Delete 即可删除。(在正在编辑的那行里按住左键拖动:拖出输入框才转为跨行多选,在框内拖仍是正常选文字。)
ycIDE - 开发测试版 v0.0.5-beta.8(2026-07-15)
新增功能
- [新增] 可以一次加入多个值了(参数可重复的命令):在展开的参数行上按回车就会追加下一个值行,照易语言"依次执行"的语义逐个生效。
- 编辑框:
编辑框1.加入文本("甲", "乙", "丙") —— 三个都会依次追加到编辑框末尾。
- 文件/输出类:写出文本、写文本行、插入文本、插入文本行、写出字节集、插入字节集、标准输出、输出调试文本、写出数据 也都支持一次给多个值。
- (此前这些命令只认第一个值,多填的会被丢掉或直接报"参数数量不匹配"。)
问题修复
- [修复] 日期时间相关命令结果不对(重要):
取现行时间、取年份 / 取月份 / 取日 / 取小时 / 取分钟 / 取秒、增减时间、取时间间隔 等一批命令,此前内部按错误的数据宽度传递,取到的是垃圾值 → 现已全部修正。日期时间型变量本身也修正为正确的存储方式。
- [修复]
相加、等于 / 不等于 / 大于 / 小于 / 大于或等于 / 小于或等于 这几个命令结果不对 → 现已修正(注意:这几个命令目前按数值语义处理,暂不支持文本形态如 相加("a","b") 文本连接)。
- [修复]
写出数据 命令定义错误(缺少"文件号"参数、返回值标注错误)→ 已按帮助文档修正为 写出数据(文件号, 数据…),返回逻辑型。
|
|