diff --git a/txt2table.aardio b/txt2table.aardio index cb2b608..b56bdc8 100644 --- a/txt2table.aardio +++ b/txt2table.aardio @@ -25,18 +25,17 @@ plusRight={cls="plus";left=784;top=64;right=804;bottom=84;bgcolor=-5197169;font= +完成行合并功能 --待完成行合并后垂直居中功能 *修复列宽bug ++添加\\r转义 +*修复\-结尾的bug? ***/ import console winform.editOri.text = /*** -阶段 逻辑信道 子帧类型 子帧简写 使用时隙类型 时隙简写 -初始\r建网阶段 搜索逻辑信道 \- \- 初始搜索子帧 SearchSFrm 长搜索时隙 SRSlot -\| 同\r步\r逻\r辑\r信\r道 自举子帧 BootSFrm 同步时隙 CS -\| 自举应答子帧 RBootSFrm 同步时隙 CR - 参数分发子帧 PSFrm 同步时隙 CP -入网周期帧阶段 同步逻辑信道 勤务同步子帧 SyncSFrm 同步时隙 S -\| 业务逻辑信道 数据子帧 DataSFrm 基本数据时隙 D - 信令逻辑信道 信令子帧 CSFrm 基本数据时隙 C +列一 列二 列三 列四 列五 +"\|"表示下行与前行合并 "\-"表示后列与前列合并 \- \- SRSlot +\| "\\r"\r表\r示\r换\r行 自举子帧 BootSFrm NEW +\| 自举应答子帧 RBootSFrm 同步时隙 \| + 参数分发子帧 PSFrm \- \- ***/ /*** @@ -48,7 +47,7 @@ winform.editOri.text = /*** winform.combobox.items = {"空白字符";"制表符";"空格"} winform.combobox.selIndex =1 -align = "" +align = "Center" @@ -86,7 +85,8 @@ str2xls = function(str,ss,s,c){ var rr = 1; //console.dump(v) for(i=1;Cmax[#Cmax];1){//#tmp[1]获取最大列而非#v是避免遗漏空列 - var x = string.splitEx(v[i]==null?" ":v[i],"\\r"); //||代表元素换行 + var x = string.splitEx(v[i]==null?" ":v[i],"!\\\\r"); //||代表元素换行 + x = table.map(x,lambda(v,k) string.replace(v,"@\\r","\r") )//去掉\\转义 table.push(a,x) if(rr<#x){//当前行内排序,找出最大的子行数 @@ -319,12 +319,15 @@ str2xls = function(str,ss,s,c){ //check how many cells to compose var k = 1; var w = UserWmax[j]+UserWmax[j-1]; - while(xd[i][j+k][2] == "\-"){ - //console.log(k) - xd[i][j+k][2] = "" - w += UserWmax[j+k] - if(k!=#arg[1]){ - k += 1 + //未能处理最后一列全为\-的情况,暂用try跳过 + try{ + while(xd[i][j+k][2] == "\-"){ + //console.log(k) + xd[i][j+k][2] = "" + w += UserWmax[j+k] + if(k!=#arg[1]){ + k += 1 + } } }