?? introscn.pas
字號:
with m_EdEMail do begin
Parent := FrmMain;
Height := 16;
Width := 116;
Left := nx + 161;
Top := ny + 388;
BorderStyle := bsNone;
Color := clBlack;
Font.Color := clWhite;
MaxLength := 40;
Visible := FALSE;
OnKeyPress := EdNewIdKeyPress;
OnEnter := EdNewOnEnter;
Tag := 11;
end;
nx := SCREENWIDTH div 2 - 210 {192}{192};
ny := SCREENHEIGHT div 2 - 150{146}{150};
m_EdChgId := TEdit.Create (FrmMain.Owner);
with m_EdChgId do begin
Parent := FrmMain;
Height := 16;
Width := 137;
Left := nx+239;
Top := ny+117;
BorderStyle := bsNone;
Color := clBlack;
Font.Color := clWhite;
MaxLength := 10;
Visible := FALSE;
OnKeyPress := EdNewIdKeyPress;
OnEnter := EdNewOnEnter;
Tag := 12;
end;
m_EdChgCurrentpw := TEdit.Create (FrmMain.Owner);
with m_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;
m_EdChgNewPw := TEdit.Create (FrmMain.Owner);
with m_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;
m_EdChgRepeat := TEdit.Create (FrmMain.Owner);
with m_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
m_nCurFrame := 0;
m_nMaxFrame := 10;
m_sLoginId := '';
m_sLoginPasswd := '';
with m_EdId do begin
Left := SCREENWIDTH div 2 - 68 + 18{350};
Top := SCREENHEIGHT div 2 - 8 - 34 {259};
Height := 16;
Width := 137;
Visible := FALSE;
end;
with m_EdPasswd do begin
Left := SCREENWIDTH div 2 - 68 + 18{350};
Top := SCREENHEIGHT div 2 - 8 - 2 {291};
Height := 16;
Width := 137;
Visible := FALSE;
end;
m_boOpenFirst := TRUE;
FrmDlg.DLogin.Visible := TRUE;
FrmDlg.DNewAccount.Visible := FALSE;
m_boNowOpening := FALSE;
PlayBGM (bmg_intro);
end;
procedure TLoginScene.CloseScene;
begin
m_EdId.Visible := FALSE;
m_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;
m_sLoginId := LowerCase(m_EdId.Text);
if m_sLoginId <> '' then begin
m_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;
m_sLoginId := LowerCase(m_EdId.Text);
m_sLoginPasswd := m_EdPasswd.Text;
if (m_sLoginId <> '') and (m_sLoginPasswd <> '') then begin
//拌瀝欄肺 肺弊牢 茄促.
FrmMain.SendLogin (m_sLoginId, m_sLoginPasswd);
m_EdId.Text := '';
m_EdPasswd.Text := '';
m_EdId.Visible := FALSE;
m_EdPasswd.Visible := FALSE;
end else
if (m_EdId.Visible) and (m_EdId.Text = '') then m_EdId.SetFocus;
end;
end;
procedure TLoginScene.PassWdFail;
begin
m_EdId.Visible := TRUE;
m_EdPasswd.Visible := TRUE;
m_EdId.SetFocus;
end;
function TLoginScene.NewIdCheckNewId: Boolean;
begin
Result := TRUE;
m_EdNewId.Text := Trim(m_EdNewId.Text);
if Length(m_EdNewId.Text) < 3 then begin
FrmDlg.DMessageDlg ('登錄帳號的長度必須大于3位.', [mbOk]);
Beep;
m_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 := m_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;
m_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 := m_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;
m_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 = m_EdNewPasswd) or (Sender = m_EdChgNewPw) or (Sender = m_EdChgRepeat) then
if (Key = '~') or (Key = '''') or (Key = ' ') then Key := #0;
if Key = #13 then begin
Key := #0;
if Sender = m_EdNewId then begin
if not NewIdCheckNewId then
exit;
end;
if Sender = m_EdNewPasswd then begin
if Length(m_EdNewPasswd.Text) < 4 then begin
FrmDlg.DMessageDlg ('密碼長度必須大于 4位.', [mbOk]);
Beep;
m_EdNewPasswd.SetFocus;
exit;
end;
end;
if Sender = m_EdConfirm then begin
if m_EdNewPasswd.Text <> m_EdConfirm.Text then begin
FrmDlg.DMessageDlg ('二次輸入的密碼不一至!!!', [mbOk]);
Beep;
m_EdConfirm.SetFocus;
exit;
end;
end;
if (Sender = m_EdYourName) or (Sender = m_EdQuiz1) or (Sender = m_EdAnswer1) or
(Sender = m_EdQuiz2) or (Sender = m_EdAnswer2) or (Sender = m_EdPhone) or
(Sender = m_EdMobPhone) or (Sender = m_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 = m_EdSSNo) and (not EnglishVersion) then begin //茄憊牢 版快.. 林刮殿廢鍋齲 埃帆 盲農
if not NewIdCheckSSno then
exit;
end;
if Sender = m_EdBirthDay then begin
if not NewIdCheckBirthDay then
exit;
end;
if TEdit(Sender).Text <> '' then begin
if Sender = m_EdNewId then m_EdNewPasswd.SetFocus;
if Sender = m_EdNewPasswd then m_EdConfirm.SetFocus;
if Sender = m_EdConfirm then m_EdYourName.SetFocus;
if Sender = m_EdYourName then m_EdSSNo.SetFocus;
if Sender = m_EdSSNo then m_EdBirthDay.SetFocus;
if Sender = m_EdBirthDay then m_EdQuiz1.SetFocus;
if Sender = m_EdQuiz1 then m_EdAnswer1.SetFocus;
if Sender = m_EdAnswer1 then m_EdQuiz2.SetFocus;
if Sender = m_EdQuiz2 then m_EdAnswer2.SetFocus;
if Sender = m_EdAnswer2 then m_EdPhone.SetFocus;
if Sender = m_EdPhone then m_EdMobPhone.SetFocus;
if Sender = m_EdMobPhone then m_EdEMail.SetFocus;
if Sender = m_EdEMail then begin
if m_EdNewId.Enabled then m_EdNewId.SetFocus
else if m_EdNewPasswd.Enabled then m_EdNewPasswd.SetFocus;
end;
if Sender = m_EdChgId then m_EdChgCurrentpw.SetFocus;
if Sender = m_EdChgCurrentpw then m_EdChgNewPw.SetFocus;
if Sender = m_EdChgNewPw then m_EdChgRepeat.SetFocus;
if Sender = m_EdChgRepeat then m_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 = m_EdNewId then begin
FrmDlg.NAHelps.Add ('Your ID can be a combination of');
FrmDlg.NAHelps.Add ('characters and numbers and');
FrmDlg.NAHelps.Add ('it must be a minimum of 4 letters.');
FrmDlg.NAHelps.Add ('Your ID is not your character');
FrmDlg.NAHelps.Add ('name in the game, Choose your ID');
FrmDlg.NAHelps.Add ('carefully, because it is essential');
FrmDlg.NAHelps.Add ('to use all our services.');
FrmDlg.NAHelps.Add ('');
FrmDlg.NAHelps.Add ('We suggest you use a different');
FrmDlg.NAHelps.Add ('name from the one you would like');
FrmDlg.NAHelps.Add ('to use for your character.');
end;
if Sender = m_EdNewPasswd then begin
FrmDlg.NAHelps.Add ('Your password can be a');
FrmDlg.NAHelps.Add ('combination of characters');
FrmDlg.NAHelps.Add ('and numbers and it must be a');
FrmDlg.NAHelps.Add ('minimum of 4 letters.');
FrmDlg.NAHelps.Add ('');
FrmDlg.NAHelps.Add ('Remember that your password is');
FrmDlg.NAHelps.Add ('essential to play our game,');
FrmDlg.NAHelps.Add ('so be sure to make a note of it.');
FrmDlg.NAHelps.Add ('');
FrmDlg.NAHelps.Add ('We advise you to not use');
FrmDlg.NAHelps.Add ('a simple password');
FrmDlg.NAHelps.Add ('to avoid the risk');
FrmDlg.NAHelps.Add ('of account hacking.');
end;
if Sender = m_EdConfirm then begin
FrmDlg.NAHelps.Add ('Type password again');
FrmDlg.NAHelps.Add ('for confirmation.');
FrmDlg.NAHelps.Add ('');
end;
if Sender = m_EdYourName then begin
FrmDlg.NAHelps.Add ('Type your full name.');
FrmDlg.NAHelps.Add ('');
end;
if Sender = m_EdSSNo then begin
FrmDlg.NAHelps.Add ('Not used');
FrmDlg.NAHelps.Add ('at this time.');
FrmDlg.NAHelps.Add ('');
end;
if Sender = m_EdBirthDay then begin
FrmDlg.NAHelps.Add ('Please type your birth date, month,');
FrmDlg.NAHelps.Add ('years. ex)1975/08/21)');
FrmDlg.NAHelps.Add ('');
end;
if (Sender = m_EdQuiz1) or (Sender = m_EdQuiz2) then begin
FrmDlg.NAHelps.Add ('Please type a question only');
FrmDlg.NAHelps.Add ('you know the answer to.');
FrmDlg.NAHelps.Add ('');
end;
if (Sender = m_EdAnswer1) or (Sender = m_EdAnswer2) then begin
FrmDlg.NAHelps.Add ('please type an answer to the');
FrmDlg.NAHelps.Add ('above question.');
FrmDlg.NAHelps.Add ('');
end;
if (Sender=m_EdYourName) or (Sender=m_EdSSNo) or (Sender=m_EdQuiz1) or (Sender=m_EdQuiz2) or (Sender=m_EdAnswer1) or (Sender=m_EdAnswer2) then begin
FrmDlg.NAHelps.Add ('You are solely responsible');
FrmDlg.NAHelps.Add ('for the information you give us');
FrmDlg.NAHelps.Add ('if you use false information,');
FrmDlg.NAHelps.Add ('You will not be able to use');
FrmDlg.NAHelps.Add ('all our services.');
FrmDlg.NAHelps.Add ('Your account may be removed');
FrmDlg.NAHelps.Add ('if you provide');
FrmDlg.NAHelps.Add ('false information.');
FrmDlg.NAHelps.Add ('');
end;
if Sender = m_EdPhone then begin
FrmDlg.NAHelps.Add ('Please type in your telephone');
FrmDlg.NAHelps.Add ('number(compulsory).');
FrmDlg.NAHelps.Add ('');
end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -