📄 introscn.pas
字号:
end;
EdChgCurrentPw := TEdit.Create (FrmMain.Owner);
with EdChgCurrentPw do begin
Parent := FrmMain; Height := 16; Width := 137; Left := nx+239; Top := ny+149;
BorderStyle := bsNone; Color := clBlack; Font.Color := clWhite; MaxLength := 10;
PasswordChar := '*'; Visible := FALSE; OnKeyPress := EdNewIdKeyPress; OnEnter := EdNewOnEnter;
Tag := 12;
end;
EdChgNewPw := TEdit.Create (FrmMain.Owner);
with EdChgNewPw do begin
Parent := FrmMain; Height := 16; Width := 137; Left := nx+239; Top := ny+176;
BorderStyle := bsNone; Color := clBlack; Font.Color := clWhite; MaxLength := 10;
PasswordChar := '*'; Visible := FALSE; OnKeyPress := EdNewIdKeyPress; OnEnter := EdNewOnEnter;
Tag := 12;
end;
EdChgRepeat := TEdit.Create (FrmMain.Owner);
with EdChgRepeat do begin
Parent := FrmMain; Height := 16; Width := 137; Left := nx+239; Top := ny+208;
BorderStyle := bsNone; Color := clBlack; Font.Color := clWhite; MaxLength := 10;
PasswordChar := '*'; Visible := FALSE; OnKeyPress := EdNewIdKeyPress; OnEnter := EdNewOnEnter;
Tag := 12;
end;
end;
destructor TLoginScene.Destroy;
begin
inherited Destroy;
end;
procedure TLoginScene.OpenScene;
var
i: integer;
d: TDirectDrawSurface;
begin
CurFrame := 0;
MaxFrame := 10;
LoginId := '';
LoginPasswd := '';
with EdId do begin
Left := 350;
Top := 259;
Height := 16;
Width := 137;
Visible := FALSE;
end;
with EdPasswd do begin
Left := 350;
Top := 291;
Height := 16;
Width := 137;
Visible := FALSE;
end;
BoOpenFirst := TRUE;
FrmDlg.DLogin.Visible := TRUE;
FrmDlg.DNewAccount.Visible := FALSE;
NowOpening := FALSE;
PlayBGM (bmg_intro);
end;
procedure TLoginScene.CloseScene;
begin
EdId.Visible := FALSE;
EdPasswd.Visible := FALSE;
FrmDlg.DLogin.Visible := FALSE;
SilenceSound;
end;
procedure TLoginScene.EdLoginIdKeyPress (Sender: TObject; var Key: Char);
begin
if Key = #13 then begin
Key := #0;
LoginId := LowerCase(EdId.Text);
if LoginId <> '' then begin
EdPasswd.SetFocus;
end;
end;
end;
procedure TLoginScene.EdLoginPasswdKeyPress (Sender: TObject; var Key: Char);
begin
if (Key = '~') or (Key = '''') then Key := '_';
if Key = #13 then begin
Key := #0;
LoginId := LowerCase(EdId.Text);
LoginPasswd := EdPasswd.Text;
if (LoginId <> '') and (LoginPasswd <> '') then begin
//拌沥栏肺 肺弊牢 茄促.
FrmMain.SendLogin (LoginId, LoginPasswd);
EdId.Text := '';
EdPasswd.Text := '';
EdId.Visible := FALSE;
EdPasswd.Visible := FALSE;
end else
if (EdId.Visible) and (EdId.Text = '') then EdId.SetFocus;
end;
end;
procedure TLoginScene.PassWdFail;
begin
EdId.Visible := TRUE;
EdPasswd.Visible := TRUE;
EdId.SetFocus;
end;
function TLoginScene.NewIdCheckNewId: Boolean;
begin
Result := TRUE;
EdNewId.Text := Trim(EdNewId.Text);
if Length(EdNewId.Text) < 3 then begin
//FrmDlg.DMessageDlg ('拌沥捞 酒捞叼绰 利绢档 3臂磊 捞惑捞绢具 钦聪促.', [mbOk]);
Beep;
EdNewId.SetFocus;
Result := FALSE;
end;
end;
function TLoginScene.NewIdCheckSSno: Boolean;
var
str, t1, t2, t3, syear, smon, sday: string;
ayear, amon, aday, sex: integer;
flag: Boolean;
begin
Result := TRUE;
str := EdSSNo.Text;
str := GetValidStr3 (str, t1, ['-']);
GetValidStr3 (str, t2, ['-']);
flag := TRUE;
if (Length(t1) = 6) and (Length(t2) = 7) then begin
smon := Copy(t1, 3, 2);
sday := Copy(t1, 5, 2);
amon := Str_ToInt (smon, 0);
aday := Str_ToInt (sday, 0);
if (amon <= 0) or (amon > 12) then flag := FALSE;
if (aday <= 0) or (aday > 31) then flag := FALSE;
sex := Str_ToInt (Copy(t2, 1, 1), 0);
if (sex <= 0) or (sex > 2) then flag := FALSE;
end else flag := FALSE;
if not flag then begin
Beep;
EdSSNo.SetFocus;
Result := FALSE;
end;
end;
function TLoginScene.NewIdCheckBirthDay: Boolean;
var
str, t1, t2, t3, syear, smon, sday: string;
ayear, amon, aday, sex: integer;
flag: Boolean;
begin
Result := TRUE;
flag := TRUE;
str := EdBirthDay.Text;
str := GetValidStr3 (str, syear, ['/']);
str := GetValidStr3 (str, smon, ['/']);
str := GetValidStr3 (str, sday, ['/']);
ayear := Str_ToInt(syear, 0);
amon := Str_ToInt(smon, 0);
aday := Str_ToInt(sday, 0);
if (ayear <= 1890) or (ayear > 2101) then flag := FALSE;
if (amon <= 0) or (amon > 12) then flag := FALSE;
if (aday <= 0) or (aday > 31) then flag := FALSE;
if not flag then begin
Beep;
EdBirthDay.SetFocus;
Result := FALSE;
end;
end;
procedure TLoginScene.EdNewIdKeyPress (Sender: TObject; var Key: Char);
var
str, t1, t2, t3, syear, smon, sday: string;
ayear, amon, aday, sex: integer;
flag: Boolean;
begin
if (Sender = EdNewPasswd) or (Sender = EdChgNewPw) or (Sender = EdChgRepeat) then
if (Key = '~') or (Key = '''') or (Key = ' ') then Key := #0;
if Key = #13 then begin
Key := #0;
if Sender = EdNewId then begin
if not NewIdCheckNewId then
exit;
end;
if Sender = EdNewPasswd then begin
if Length(EdNewPasswd.Text) < 4 then begin
//FrmDlg.DMessageDlg ('厚剐锅龋绰 4臂磊 捞惑捞绢具 钦聪促.', [mbOk]);
Beep;
EdNewPasswd.SetFocus;
exit;
end;
end;
if Sender = EdConfirm then begin
if EdNewPasswd.Text <> EdConfirm.Text then begin
//FrmDlg.DMessageDlg ('厚剐锅龋 犬牢捞 撇啡嚼聪促. 促矫 涝仿窍绞矫坷.', [mbOk]);
Beep;
EdConfirm.SetFocus;
exit;
end;
end;
if (Sender = EdYourName) or (Sender = EdQuiz1) or (Sender = EdAnswer1) or
(Sender = EdQuiz2) or (Sender = EdAnswer2) or (Sender = EdPhone) or
(Sender = EdMobPhone) or (Sender = EdEMail)
then begin
TEdit(Sender).Text := Trim(TEdit(Sender).Text);
if TEdit(Sender).Text = '' then begin
Beep;
TEdit(Sender).SetFocus;
exit;
end;
end;
if (Sender = EdSSNo) and (not EnglishVersion) then begin //茄惫牢 版快.. 林刮殿废锅龋 埃帆 盲农
if not NewIdCheckSSno then
exit;
end;
if Sender = EdBirthDay then begin
if not NewIdCheckBirthDay then
exit;
end;
if TEdit(Sender).Text <> '' then begin
if Sender = EdNewId then EdNewPasswd.SetFocus;
if Sender = EdNewPasswd then EdConfirm.SetFocus;
if Sender = EdConfirm then EdYourName.SetFocus;
if Sender = EdYourName then EdSSNo.SetFocus;
if Sender = EdSSNo then EdBirthDay.SetFocus;
if Sender = EdBirthDay then EdQuiz1.SetFocus;
if Sender = EdQuiz1 then EdAnswer1.SetFocus;
if Sender = EdAnswer1 then EdQuiz2.SetFocus;
if Sender = EdQuiz2 then EdAnswer2.SetFocus;
if Sender = EdAnswer2 then EdPhone.SetFocus;
if Sender = EdPhone then EdMobPhone.SetFocus;
if Sender = EdMobPhone then EdEMail.SetFocus;
if Sender = EdEMail then begin
if EdNewId.Enabled then EdNewId.SetFocus
else if EdNewPasswd.Enabled then EdNewPasswd.SetFocus;
end;
if Sender = EdChgId then EdChgCurrentPw.SetFocus;
if Sender = EdChgCurrentPw then EdChgNewPw.SetFocus;
if Sender = EdChgNewPw then EdChgRepeat.SetFocus;
if Sender = EdChgRepeat then EdChgId.SetFocus;
end;
end;
end;
procedure TLoginScene.EdNewOnEnter (Sender: TObject);
var
hx, hy: integer;
begin
//腮飘
FrmDlg.NAHelps.Clear;
hx := TEdit(Sender).Left + TEdit(Sender).Width + 10;
hy := TEdit(Sender).Top + TEdit(Sender).Height - 18;
if Sender = EdNewId then begin
FrmDlg.NAHelps.Add ('登录ID由字母或数字组成。');
FrmDlg.NAHelps.Add ('必须以字母打头.');
FrmDlg.NAHelps.Add ('长度至少是4位.');
FrmDlg.NAHelps.Add ('不能和其他玩家的登录ID重复。');
{
FrmDlg.NAHelps.Add ('茄臂/康绢/箭磊狼 炼钦栏肺 父甸');
FrmDlg.NAHelps.Add ('荐 乐嚼聪促.');
FrmDlg.NAHelps.Add ('4臂磊 捞惑栏肺 涝仿窍绞矫坷.');
FrmDlg.NAHelps.Add ('拌沥篮 霸烙惑狼 某腐磐 捞抚捞');
FrmDlg.NAHelps.Add ('酒聪哥 "固福狼傈汲2"狼 技拌肺');
FrmDlg.NAHelps.Add ('甸绢啊绰 凯艰客 鞍篮 开劝阑 茄');
FrmDlg.NAHelps.Add ('促绊 积阿窍矫搁 亮摆嚼聪促.');
FrmDlg.NAHelps.Add ('');
FrmDlg.NAHelps.Add ('啊瓷窍搁 霸烙惑狼 某腐磐 捞抚');
FrmDlg.NAHelps.Add ('苞 促弗 捞抚阑 荤侩窍矫绰 巴捞');
FrmDlg.NAHelps.Add ('亮嚼聪促.');
}
end;
if Sender = EdNewPasswd then begin
FrmDlg.NAHelps.Add ('密码至少4位,由字母或数字组成。');
{
FrmDlg.NAHelps.Add ('厚剐锅龋绰 4臂磊 捞惑栏肺 涝仿');
FrmDlg.NAHelps.Add ('窍咯具 窍哥, 茄臂/康巩/箭磊/漂');
FrmDlg.NAHelps.Add ('荐巩磊甫 捞侩窍咯 父甸 荐 乐嚼');
FrmDlg.NAHelps.Add ('聪促. 厚剐锅龋甫 镭绢 滚府霸登');
FrmDlg.NAHelps.Add ('搁 霸烙阑 窍角 荐 绝栏骨肺 馆');
FrmDlg.NAHelps.Add ('靛矫 扁撅窍矫扁 官而聪促.');
FrmDlg.NAHelps.Add ('肚茄, 厚剐锅龋甫 呈公 奖霸 父');
FrmDlg.NAHelps.Add ('甸绢辑 拌沥阑 酪绢滚府绰 版快啊');
FrmDlg.NAHelps.Add ('辆辆 乐嚼聪促. 啊瓷窍搁 康巩苞');
FrmDlg.NAHelps.Add ('箭磊甫 去侩窍咯 磊脚父捞 酒绰');
FrmDlg.NAHelps.Add ('厚剐锅龋甫 涝仿窍矫扁 官而聪促.');
}
end;
if Sender = EdConfirm then begin
FrmDlg.NAHelps.Add ('重新输入一遍密码。');
FrmDlg.NAHelps.Add ('两次输入的密码必须一致.');
{
FrmDlg.NAHelps.Add ('涝仿捞 官弗瘤 促矫 茄锅 涝仿窍');
FrmDlg.NAHelps.Add ('咯 犬牢钦聪促.');
}
end;
if Sender = EdYourName then begin
FrmDlg.NAHelps.Add ('你的真实姓名.');
{
FrmDlg.NAHelps.Add ('寸脚狼 捞抚阑 涝仿窍绞矫坷.');
}
end;
if Sender = EdSSNo then begin
FrmDlg.NAHelps.Add ('身份证号码');
FrmDlg.NAHelps.Add ('必须输入真实的身份证号码');
{
FrmDlg.NAHelps.Add ('寸脚狼 林刮殿废锅龋甫 涝仿窍绞');
FrmDlg.NAHelps.Add ('矫坷. 抗) 720101-146720');}
end;
if Sender = EdBirthDay then begin
FrmDlg.NAHelps.Add ('输入您的生日');
FrmDlg.NAHelps.Add ('例如 1980/01/01');
{
FrmDlg.NAHelps.Add ('寸脚狼 积斥岿老阑 涝仿窍绞矫坷');
FrmDlg.NAHelps.Add ('抗) 1977/10/15');}
end;
if Sender = EdQuiz1 then begin
FrmDlg.NAHelps.Add ('密码问题一');
FrmDlg.NAHelps.Add ('.');
FrmDlg.NAHelps.Add ('');
{
FrmDlg.NAHelps.Add ('寸脚父捞 舅 荐 乐绰 龙巩阑 涝');
FrmDlg.NAHelps.Add ('仿 窍绞矫坷.');
FrmDlg.NAHelps.Add ('');
}
end;
if Sender = EdAnswer1 then begin
FrmDlg.NAHelps.Add ('问题1的回答');
FrmDlg.NAHelps.Add ('.');
{
FrmDlg.NAHelps.Add ('困 龙巩俊 措茄 翠阑 涝仿窍绞矫');
FrmDlg.NAHelps.Add ('坷.');}
end;
if Sender = EdQuiz2 then begin
FrmDlg.NAHelps.Add ('寸脚父捞 舅 荐 乐绰 龙巩阑 涝');
FrmDlg.NAHelps.Add ('仿 窍绞矫坷.');
FrmDlg.NAHelps.Add ('');
end;
if Sender = EdAnswer2 then begin
FrmDlg.NAHelps.Add ('困 龙巩俊 措茄 翠阑 涝仿窍绞矫');
FrmDlg.NAHelps.Add ('坷.');
end;
if (Sender=EdYourName) or (Sender=EdSSNo) or (Sender=EdQuiz1) or (Sender=EdQuiz2) or (Sender=EdAnswer1) or (Sender=EdAnswer2) then begin
FrmDlg.NAHelps.Add ('捞 沥焊甫 倾困肺 涝仿茄 版快俊');
FrmDlg.NAHelps.Add ('惯积且 荐 乐绰 葛电 巩力绰 夯');
FrmDlg.NAHelps.Add ('牢捞 氓烙廉具 钦聪促.');
FrmDlg.NAHelps.Add ('');
FrmDlg.NAHelps.Add ('捞 沥焊甫 倾困肺 扁力窍看阑 版');
FrmDlg.NAHelps.Add ('快, 父老俊 版快 拌沥阑 盒角窍');
FrmDlg.NAHelps.Add ('看阑矫俊 夯牢 犬牢捞 阂啊瓷窍');
FrmDlg.NAHelps.Add ('骨肺 拌沥阑 促矫 茫瘤 给窍霸 ');
FrmDlg.NAHelps.Add ('邓聪促');
end;
if Sender = EdPhone then begin
FrmDlg.NAHelps.Add ('楷遏 啊瓷茄 傈拳 锅龋甫 利栏绞');
FrmDlg.NAHelps.Add ('矫坷.');
end;
if Sender = EdMobPhone then begin
FrmDlg.NAHelps.Add ('捞悼 傈拳 锅龋甫 利栏绞矫坷.');
end;
if Sender = EdEMail then begin
FrmDlg.NAHelps.Add ('夯牢捞 流立 罐栏角 荐 乐绰 ');
FrmDlg.NAHelps.Add ('E-Mail 林家甫 涝仿窍绞矫坷.');
FrmDlg.NAHelps.Add ('霸烙狼 诀单捞飘 惑炔 棺 蜡侩茄');
FrmDlg.NAHelps.Add ('沥焊甫 罐酒 焊角 荐 乐嚼聪促.');
end;
end;
procedure TLoginScene.HideLoginBox;
begin
//EdId.Visible := FALSE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -