(转)table.unique()函数功能:文本去重复,分割保存
By
admin
at 2018-08-03 • 0人收藏 • 1529人看过
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=394;bottom=469;acceptfiles=1) winform.add( button={cls="button";text="去重复";left=298;top=28;right=380;bottom=65;z=2}; button2={cls="button";text="分割";left=295;top=286;right=377;bottom=323;z=4}; edit={cls="edit";left=5;top=7;right=283;bottom=462;autohscroll=false;edge=1;multiline=1;vscroll=1;z=1}; edit2={cls="edit";text="100";left=341;top=250;right=387;bottom=269;edge=1;num=1;z=5}; static={cls="static";left=302;top=81;right=372;bottom=100;bgcolor=10789024;color=32768;z=3}; static2={cls="static";text="分割行数";left=287;top=251;right=340;bottom=266;transparent=1;z=6} ) /*}}*/ import fsys.dlg winform.show() winform.edit.limit = -1//去掉文本框字符数限制 winform.onDropFiles = function(files){//接收拖放的文件 for(i=1;#files;1){//支持拖放多个文件 winform.edit.appendText(string.trim(string.load(files[i]),'\r\n')+'\r\n')//去掉多余的\r\n } winform.static.text = winform.edit.lineCount } winform.button.oncommand = function(id,event){ var tmptab = string.split(winform.edit.text,'<\r\n>')//分割文本到数组 tmptab = table.unique(tmptab)//利用库函数去重复-_- winform.edit.text = string.join(tmptab,'\r\n')//把字符数组串起来 winform.static.text = winform.edit.lineCount } winform.button2.oncommand = function(id,event){ if(!#winform.edit.text || !#winform.edit2.text) return ;//逗我呢,没数据就早点返回 var filename = fsys.dlg.save("文本文件|*.txt","保存数据") if(filename){//在文件对话框输入了文件名字且点击了保存按钮 var splittab = io.splitpath(filename)//拆分文件名 var tmptab = string.split(winform.edit.text,'<\r\n>')//分割文本到数组 var savetab = {}//用来存储数据 var filei = 1//用来计数 for(i=1;#tmptab;1){ table.push(savetab,tmptab[i]) if(i % winform.edit2.text == 0){//到指定行数了,开始写出保存 string.save(string.concat(splittab.dir,splittab.name,filei,".txt"), string.join(savetab,'\r\n')) savetab = {}//重定义 filei++//增加计数 } } string.save(string.concat(splittab.dir,splittab.name,filei,".txt"), string.join(savetab,'\r\n')) winform.msgbox("保存完毕")//打完收功 } } win.loopMessage();
转自某K....
登录后方可回帖