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();
本文来自博客园,作者:runbrick,转载请注明原文链接:https://www.cnblogs.com/l5wg/p/17939988
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现