磕码小站

这个世界这么美好,还有好多代码没写过.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  7 随笔 :: 0 文章 :: 0 评论 :: 1185 阅读

aardio 版本 : v35.70.10

代码演示

点击查看代码
import win.ui;
/*DSG{{*/
var mainForm = win.form(text="密码生成小工具";right=439;bottom=263)
mainForm.add(
button={cls="button";text="生成密码";left=296;top=200;right=400;bottom=232;db=1;dr=1;z=10};
excludeCharacters={cls="edit";left=136;top=72;right=400;bottom=96;disabled=1;dl=1;dr=1;dt=1;edge=1;z=12};
groupbox2={cls="groupbox";text="密码生成器";left=8;top=8;right=432;bottom=256;db=1;dl=1;dr=1;dt=1;edge=1;z=1};
isDigits={cls="checkbox";text="0-9";left=264;top=40;right=320;bottom=64;dr=1;dt=1;z=8};
isExclude={cls="checkbox";left=112;top=72;right=128;bottom=96;dl=1;dt=1;z=11};
isLowerCase={cls="checkbox";text="a-z";left=112;top=40;right=168;bottom=64;dl=1;dt=1;z=6};
isSpecialCharacters={cls="checkbox";text="!@#$%";left=344;top=40;right=400;bottom=64;dr=1;dt=1;z=9};
isUpperCase={cls="checkbox";text="A-Z";left=192;top=40;right=248;bottom=64;dl=1;dr=1;dt=1;z=7};
passLengthTrackBar={cls="trackbar";left=112;top=104;right=336;bottom=134;db=1;dl=1;dr=1;dt=1;max=30;min=0;z=13};
passLengthTrackLabel={cls="static";left=352;top=112;right=392;bottom=136;db=1;dr=1;dt=1;transparent=1;z=14};
passwordResult={cls="edit";left=112;top=144;right=400;bottom=168;db=1;dl=1;dr=1;edge=1;z=15};
static2={cls="static";text="所用字符";left=24;top=40;right=96;bottom=64;center=1;dl=1;dt=1;transparent=1;z=2};
static3={cls="static";text="排除字符";left=24;top=72;right=96;bottom=96;center=1;dl=1;dt=1;transparent=1;z=3};
static4={cls="static";text="密码长度";left=24;top=112;right=96;bottom=136;center=1;db=1;dl=1;dt=1;transparent=1;z=4};
static5={cls="static";text="返回结果";left=24;top=144;right=96;bottom=168;center=1;db=1;dl=1;transparent=1;z=5}
)
/*}}*/

var lowerCase= "abcdefghijklmnopqrstuvwxyz";
var upperCase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var digits = "0123456789";
var specialCharacters = "!@#$%";

// 获取滑块长度
mainForm.passLengthTrackBar.oncommand = function(id,event,pos){
	if( event == 0x8/*_TB_ENDTRACK*/ ){
		mainForm.passLengthTrackLabel.text = owner.pos;
	}
}


// 生成密码
mainForm.button.oncommand = function(id,event){
	var characters = "";
	
	if (mainForm.isLowerCase.checked) { characters += lowerCase; }
 	if (mainForm.isUpperCase.checked) { characters += upperCase; }
 	if (mainForm.isDigits.checked) { characters += digits; }
 	if (mainForm.isSpecialCharacters.checked) { characters += specialCharacters; }
 	
 	if (characters == string.Empty)
  	{
  		mainForm.msgbox("开玩笑?什么都不选让我给你生成。");
      	return ;
  	}
  	
  	var excludeChecked = mainForm.isExclude.checked;
  	var excludeList = mainForm.excludeCharacters.text;
  	
  	if(excludeChecked && string.len(excludeList) > 0){
  		characters = string.replace(characters,"["+mainForm.excludeCharacters.text+"]","")
  	}
  
  	// 随机生成选择位数的密码
  	mainForm.passwordResult.text = string.random(mainForm.passLengthTrackBar.pos,characters);
  	
}

mainForm.isExclude.oncommand = function(id,event){
	if (owner.checked) {
		mainForm.excludeCharacters.disabled = false;
	}
	else {
		mainForm.excludeCharacters.disabled = true;
	}	
}

mainForm.show();
return win.loopMessage();

posted on   runbrick  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示