⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 introscn.pas

📁 在网上有很多传奇源程序DELPHI
💻 PAS
📖 第 1 页 / 共 4 页
字号:
   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 + -