(转)table.unique()函数功能:文本去重复,分割保存

By admin at 2018-08-03 • 0人收藏 • 1544人看过
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....

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...