📄 register.gml
字号:
<sys include=$.\style\mainstyle.gml>
#ifndef REGSTYLE
#define REGSTYLE
<style>
.注册文字:text{
font=黑体,9,18;color=#DFDFDF
anti=1;
// bk=shadow(0,180,1,1,1);
}
.reg文字按钮:text{
font=黑体,12,20,800;color=#FFFFFF;anti=1;italic=1;iconsrc=8;
// OnCreate#icon={<MenuIcon>};
OnCreate#icon={<: picon=new MenuIcon{src="$[iconsrc]";}>};
OnMouseOver={<: bk=roundbar(#2689AF,11,#0066AF,-9,-1);bk#t=shadow(0,255,0,0,2,2)>};
OnmouseOut={<: bk=null;bk#t=null>};
}
.注册通讯:基本通讯{
port=10020;
OnConnected={<: eve=注册;>};
on注册={<: ptextid.src="正在注册..";ptextid.show=1;send=#e,register,$[exdata];>};
}
.注册输入:wedit{
font=Fixedsys,14;
textcolor=#66FF99;
bkcolor=#006633;
// bk=shadow(0,160,0,0,3,3);
size=160,16;maxnum=16;
OnEnter={<: eve=Write;pid.eve=开始注册>};
OnDestroy={<: eve=Write>};
selno=0;
}
.reg用户名输入:注册输入{
src="";
ctrl=timer(100,active);
}
.EMail输入:注册输入{
// src="internet@371.net";
}
.reg用户密码输入:注册输入{
password=1;
// src="aaa";
// OnCreate={<: src=*regstr(loginpass,"");>};
}
.出生日期输入:注册输入{
src=1981-08-20;
}
.提示文字:text{
color=#009C8C;
}
.注册页:div{
name=注册;
size=460,400;//class=dragclass;
class=centerclass;
path=stepin(-800,0,3);bk=round4_3(#006969,16,#205353);
bk#line1=round(#002323,16,1,2,2);
m_socketid=0;
OnClose={<: ctrl=null;ifobj(m_socketid)={m_socketid.del=1;m_socketid=0};
path=stepto(0,-600,5);Onpathend={<: del=1;>}>};
onCreate={<face标题文字 pos=EDIT#189,7;src=新用户注册;>
<注册文字 pos=EDIT#69,42;src=用户名;>
<注册文字 pos=EDIT#31,70;src=E-Mail地址;>
<注册文字 pos=EDIT#84,98;src=密码;>
<注册文字 pos=EDIT#49,126;src=密码确认;>
<注册文字 pos=EDIT#47,156;src=出生日期;>
<注册文字 pos=EDIT#58,207;src=肖像;>
<注册文字 pos=EDIT#58,238;src=性别;>
<注册文字 pos=EDIT#56,267;src=省份;>
// <注册文字 pos=EDIT#80,143;src=真实姓名;>
<注册文字 pos=EDIT#229,211;src=教育程度;>
<注册文字 pos=EDIT#265,241;src=行业;>
<注册文字 pos=EDIT#264,269;src=职位;>
<注册文字 pos=EDIT#248,299;src=月收入;>
<注册文字 pos=EDIT#19,298;src=婚姻状况;>
<提示文字 pos=EDIT#302,41;srcex=3-16个字符\r\n 不允许出现特殊符号;>
<提示文字 pos=EDIT#302,75;srcex=合法的Email信箱\r\n 如:internet@371.net;>
<提示文字 pos=EDIT#304,106;srcex=3-16个字符>
<提示文字 pos=EDIT#302,133;srcex=两个密码输入要一致>
<提示文字 pos=EDIT#303,162;srcex=合法的日期\r\n 如:1981-08-20>
<reg文字按钮 pos=EDIT#288,362;src=注册;onclick={<: pid.eve=开始注册>};>;
<reg文字按钮 pos=EDIT#382,362;src=返回;iconsrc=q;onclick={<: pid.eve=close>};>
<: m_nameid=new reg用户名输入{pos=EDIT#130,43;dbname=username;writekind=input;errptstr="用户名"};
m_psexid=new 性别输入{pos=EDIT#101,239;dbname=sex;writekind=no;errptstr="性别";fixw=60;
OnClick={<: plist=new selectList{size=25,40;item=男,女}>};
};
m_emailid=new EMail输入{pos=EDIT#130,73;dbname=email;writekind=email;errptstr="Email";};
m_pass1id=new reg用户密码输入{pos=EDIT#130,100;dbname=pass;writekind=input;errptstr="密码";
};
m_pass2id=new reg用户密码输入{pos=EDIT#130,127;}
m_出生=new 出生日期输入{pos=EDIT#131,158;dbname=birthday;writekind=date;errptstr="出生日期";};
m_肖像=new icon输入{pos=EDIT#116,222;dbname=icon;writekind=肖像no;errptstr="肖像";};
m_psid=new select输入{pos=EDIT#100,270;dbname=state;writekind=txt;errptstr="省份";fixw=60;
OnClick={<: plist=new selectList{size=260,100;item=安徽,北京,重庆,福建,甘肃,广东,广西,贵州,海南,河北,黑龙江,河南,湖北,湖南,内蒙古,江苏,江西,吉林,辽宁,宁夏,青海,山西,陕西,山东,上海,四川,天津,西藏,新疆,云南,浙江,其他}>};
};
// m_truenameid=new reg用户名输入{pos=EDIT#170,147;};
m_edid=new select输入{pos=EDIT#314,214;dbname=education;writekind=txt;errptstr="教育程度";
OnClick={<: plist=new selectList{size=125,120;item=小学,初中,高中,中专,专科,大学,研究生,博士,博士以上,其他}>};
};
m_wordid=new select输入{pos=EDIT#313,243;dbname=career;writekind=txt;errptstr="行业";
OnClick={<: plist=new selectList{size=132,120;item=机关,商业,农业,渔业,林业,畜牧业,科研,教育,交通,文化,娱乐,体育,健康,医疗,矿业,制造业,学生,自由,其他}>};
};
m_wid=new select输入{pos=EDIT#313,272;dbname=job;writekind=txt;errptstr="职位";
OnClick={<: plist=new selectList{size=125,80;item=总经理,董事长,经理,主管,工程师,职员,退休,学生,其他}>};
};
m_收入id=new select输入{pos=EDIT#313,301;dbname=salary;writekind=txt;errptstr="月收入";
OnClick={<: plist=new selectList{size=90,130;ypos=ypos-100;item=1000以下,1000-2000元,2000-3000元,3000-5000元,5000-7000元,7000-9000元,9000-10000元,10000元以上}>};
};
m_婚id=new select输入{pos=EDIT#101,299;dbname=marriage;writekind=no;errptstr="婚姻状况";fixw=60;
OnClick={<: plist=new selectList{size=40,40;item=已婚,未婚}>};
}
>
}
OnDestroy={<: ifobj(m_socketid)={m_socketid.del=1;m_socketid=0;}>};
效验ok=0;alltxt="";errstr=ok;
On效验={<: alltxt=$[m_nameid.src],$[m_pass1id.src];
switch(m_pass1id.src){
case $[m_pass2id.src]:
效验ok=1;errstr=ok;
break;
default:
效验ok=0;errstr="密码输入不一致";
break;
}
enumsub={<: switch(writekind){
case email:
if=(pid.效验ok && veremail<1)?{pid.效验ok=0;pid.errstr="Email输入错误";};
pid.alltxt[-1]=*dbname;
pid.alltxt[-1]=*src;
break;
case date:
if=(pid.效验ok && verdate<1)?{pid.效验ok=0;pid.errstr="日期输入错误";};
pid.alltxt[-1]=*dbname;
pid.alltxt[-1]=*src;
break;
case input:
if=(pid.效验ok && verstr(3)<1)?{pid.效验ok=0;pid.errstr=*errptstr;pid.errstr[-1]="输入错误";};
pid.alltxt[-1]=*dbname;
pid.alltxt[-1]=*src;
break;
case txt:
if=(pid.效验ok && selno<0)?{pid.效验ok=0;pid.errstr=*errptstr;pid.errstr[-1]="没有选择";};
pid.alltxt[-1]=*dbname;
pid.alltxt[-1]=*src;
break;
case no:
if=(pid.效验ok && selno<0)?{pid.效验ok=0;pid.errstr=*errptstr;pid.errstr[-1]="没有选择";};
pid.alltxt[-1]=*dbname;
pid.alltxt[-1]=*selno;
break;
case 肖像no:
// if=(pid.效验ok && selno<0)?{pid.效验ok=0;pid.errstr=*errptstr;pid.errstr[-1]="没有选择";};
pid.alltxt[-1]=*dbname;
if=(pid.m_psexid.selno)?{tmpno=(1000+selno);pid.alltxt[-1]=*tmpno;}:{pid.alltxt[-1]=*selno;};
break;
}>
}
>};
On开始注册={<: eve=效验;if=(效验ok)?{eve=begin注册}:{eve=效验失败,(errstr);};>};
// exdata="email,$[m_emailid.src],birthday,$[m_出生.src],icon,$[m_肖像.selno],sex,$[m_psexid.selno],state,$[m_psid.src],education,$[m_edid.src],career,$[m_wordid.src],job,$[m_wid.src],salary,$[m_收入id.src],marriage,$[m_婚id.selno]";};
on效验失败={<: ctrl=null;><sysdlg src=效验失败:$[ep0];pid=desktop;ctrl=timer(3000,del);
OnLButtonDownBefore={<: del=1>};mousemsg=1;ptmsg="close"></sysdlg>};
Onbegin注册={<: ifobj(m_socketid)={m_socketid.del=1;m_socketid=0};?*alltxt;
m_socketid=new 注册通讯{username=$[m_nameid.src];userpass=$[m_pass1id.src];exdata="$[alltxt]";}
ctrl=timer(10000,注册失败,注册失败:服务器超时);
show=0;>};
on注册成功={<: ctrl=null;regstr(loginname)=$[ep0];regstr(loginpass)=$[ep1];>
<:desktop eve=注册成功>
};
on注册失败={<: ctrl=null;ifobj(m_socketid)={m_socketid.del=1;m_socketid=0}><sysdlg src=$[ep0];pid=desktop;onclick={<:$[id] show=1>}></sysdlg>
};
}
.selectListText:text{
autopos=1;bk#4=shadow(#002323,255,0,0,2);
color=#FFFFFF;no=0;
Onclick={<: pid.eve=Settext,$[src],$[no]>};
OnMouseOver={<: color=0;bk=roundbar(#99FCDC,4,#006633,-3,-1);>};
OnmouseOut={<: color=#FFFFFF;bk=null;>};
}
.selectList:div{
size=220,130;
pos=pid.xpos+10,pid.ypos+pid.height;
ptext=*pid;
pid=*pid.pid;zorder=top;
bkimg=round4_3(#0ABDAF,5,20,-2,-5);
Oncreate#2={<: autosubpos=vertmax(4,1,height-12,42,0);>};
Oncreate={<: itemnum=0;while(itemnum<item[]){
pt=new selectListText;
pt.src=*item[itemnum];
pt.no=*itemnum;
itemnum=(itemnum+1);
};
paramctrl=timer(100,RegMouse);>};
OnRegMouse={<: mousemsg=1;>};
OnLButtonDownEnd={<: if=(1-ifmouseover)?{mousemsg=0;del=1}>};
OnSettext={<: ptext.src=$[ep0];ptext.selno=$[ep1];del=1>}
}
.select输入:text{
//font=Fixedsys,14;
color=#064F29;
bk=roundbar(#739986,3,#638976,-2,-1);
selno=-1;
src="请选择..."
fixw=120;
ifchg(src)={<: width=fixw>};
Oncreate={<: width=fixw;>};
OnMouseOver={<: bk=roundbar(#ACECCF,3,#638976,-2,-1);>};
OnmouseOut={<: bk=roundbar(#739986,3,#638976,-2,-1);>};
}
.manicon:human{
zorder=auto;
iconnum=0;//bk=color(0);
framemap=1,0,3,2,4,5;
loadingtxt="正在\r\n下载";
imgname=man,wman;
sexno=0;
OnSetSrc={<: mutisrc=walk('$.\..\imgs\manmode\$[manimgname]\man.gif#mask,2,4,32,32,$[px],$[py],16,26',4)>};
OnSeticon={<: selno=*ep;iconnum=*ep;manimgname=*imgname[sexno];px=((iconnum%16)*64);py=((iconnum/16)*128);eve=SetSrc;>}
OnCreate={<: eve=Seticon,0>};
}
.icon输入:manicon{
forwordto=0,100;
bk=roundhalf(#FFFFCC,3,#006666,-2,-2);
ctrl=loop(anisteps,0,1,1,80);
selno=0;
OnClick={<maniconList sexno=$[sexno]>};
OnSexchg={<: sexno=$[ep0];manimgname=*imgname[sexno];eve=Seticon,0;>};
}
.性别输入:select输入{
selno=0;
src="男";
ifchged(selno)={<: pid.m_肖像.eve=sexchg,$[selno]>};
}
.maniconitem:manicon{
autopos=1;
forwordto=0,100;
Onclick={<: pid.eve=Seticon,$[selno]>};
OnMouseOver={<: bk=roundbar(#99DCAC,3,#006666,-3,-3);ctrl=loop(anisteps,0,1,1,180);>};
OnmouseOut={<: bk=null;ctrl=null>};
}
.maniconList:div{
size=370,204;
pos=pid.xpos-40,pid.ypos+pid.height-70;
pfobj=*pid;
pid=*pid.pid;zorder=top;
bkimg=roundbar(#5A9D8F,9,20,-2,-5);
sexno=0;
Oncreate#2={<: autosubpos=vertmax(4,1,height-12,33,1);>};
Oncreate={<: itemnum=0;while(itemnum<64){
pt=new maniconitem{sexno=$[sexno]};
pt.eve=Seticon,(itemnum);
itemnum=(itemnum+1);
};
paramctrl=timer(100,RegMouse);>};
OnRegMouse={<: mousemsg=1;>};
OnLButtonDownEnd={<: if=(1-ifmouseover)?{mousemsg=0;del=1}>};
OnSeticon={<: pfobj.eve=seticon,$[ep0];del=1>}
}
</style>
#endif
#ifdef MAINGML
<img src=$.\images\indexbk.jpg;ctrl=loopt(1,alpha,0,255,8,20);
OnExit={<:desktop eve=exit>};
OnOut={<: ctrl=loopt(1,alpha,255,0,8,20,exit);>}>
<img src=$.\images\kele8icon.jpg#autoalpha,2,1;ctrl=loopt(1,alpha,0,255,8,20);pos=EDIT#36,78;
OnOut={<: ctrl=loopt(1,alpha,255,0,8,20,exit);>}>
<注册页></注册页>
<:desktop on注册成功={<: exec=$.\root.gml;>}
bkimg=color(0);
>
//<manicon name=mainman;pos=120,100;ctrl=loopcmd(-1,10,200,{<: eve=Seticon,$[(rand(64))]>});>
//<:desktop OnClick={<:mainman walk=gotopos($[mousexpos],$[mouseypos],51,15)>}>
#else
<注册页 eve=size;OnClose#2={<: &desktop.retdiv.eve=in>}></注册页>
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -