//转义字符串生成器 
import win.ui; 
/*DSG{{*/
var winform = win.form(parent=...; border="dialog frame";bgcolor=16496028;bottom=482;topmost=1;right=528;left=0;top=0;text="转义字符串生成器";acceptfiles=1 )
winform.add( 
btnCpyCpp={ dr=1;bottom=476;align="";text="复制到C++";left=273;color=0;top=449;acceptfiles=1;z=8;db=1;right=370;tabstop=1;cls="button" };
btnDump={ dr=1;bottom=126;align="";right=508;left=363;dt=1;top=99;acceptfiles=1;tabstop=1;color=0;text="使用\x转义符进行转换";z=1;cls="button" };
btnRestore={ dr=1;bottom=476;align="";text="还原并复制";left=158;color=0;top=449;acceptfiles=1;z=7;db=1;right=262;tabstop=1;cls="button" };
btnCpy={ dr=1;bottom=476;align="";right=466;left=385;color=0;top=449;acceptfiles=1;z=6;db=1;text="复制到AAuto";tabstop=1;cls="button" };
progress={ min=0;disabled=1;bottom=152;color=0;right=503;left=18;bgcolor=0;top=132;acceptfiles=1;tabstop=1;max=100;z=2;edge=1;cls="progress" };
static={ dl=1;bottom=118;color=0;text="AAuto在单引号中可以使用转义符表示字符串,支持二进制字符.
";left=21;dt=1;top=104;acceptfiles=1;transparent=1;right=352;tabstop=1;z=3;cls="static" };
editpath={ dr=1;dl=1;color=0;right=507;left=21;dt=1;cls="edit";bottom=87;align="";text="外部文件直接拖放到这里，然后点击转换按钮即可
也可以在这里直接输入要转换的文本";multiline=1;top=14;tabstop=1;edge=1;z=4 };
editResult={ dr=1;dl=1;vscroll=1;right=507;left=16;dt=1;db=1;cls="richedit";bottom=443;text="也可以直接将外部文件拖放到快手的代码编辑器中、使用$操作符直接包含文件。
点击编译按钮即可将外部文件嵌入AAU文件中。";multiline=1;top=168;z=5;hscroll=1;edge=1 }
)
/*}}*/
 
winform.wndproc = function(hwnd,message,wParam,lParam){
	select(message) { 
		case 0x233/*_WM_DROPFILES*/ { 
			winform.editpath.text = win.getDropFile(wParam )[1];  
		}  
	}
} 
 
import win.clip; 
winform.btnRestore.oncommand = function(id,event){
	var str = winform.editResult.text
	var str = eval(str) 
	win.clip.write( str )
	
	if(#str<1000)
		winform.editpath.text = str;
	 
	winform.static.text = "                  谢谢使用 ,已复制到剪贴板!" 
} 


winform.btnCpyCpp.oncommand = function(id,event){
	var str = string.trim(winform.editResult.text,'\'"'); 
	win.clip.write( '"' + str + '"')
} 
 

winform.btnCpy.oncommand = function(id,event){ 
	win.clip.write(winform.editResult.text) 
} 
 
winform.btnDump.oncommand = function(hwnd,event){ 
	if( winform.editpath.text == ""){
		winform.static.text = "注意,请选中或输入要编译的文件路径!"
		winform.redraw();
		return ;
	}
	
	conv = function(path,hwnd){ 
		import win;
		var fullpath = io.exist(path)
		var str = fullpath? string.load(fullpath) : path;
		str,quote = string.escape(str)  
		win.setText(hwnd,quote+str+quote); 
	}
	
	winform.static.text = "正在转换......";
	h = thread.create(conv,winform.editpath.text,winform.editResult.hwnd )  
 
 　 //加点效果
    winform.progress.hide = false;//显示进度条
	while( thread.getExitCode(h)!=0 ){ //循还从1到10
	    winform.progress.pos += 10 //增加进度 
	    win.delay(100) 
	}  
	 
	winform.progress.hide = true;//隐藏进度条
	winform.static.text = "                  谢谢使用 ,转换完成!"
	winform.redraw() 
}  

winform.show(true) 
win.loopMessage( winform );


