UniGUI之Login窗口(10)

在UniGUI的CHM帮助里读到的。

一定要新建一个其他空白的工程,然后再添加LoginForm


LoginForm 是另一种特殊的表单类型, 仅用于登录目的。

UniGUI之Login窗口(10)_第1张图片

  UniGUI之Login窗口(10)_第2张图片

 UniGUI之Login窗口(10)_第3张图片

 此操作将创建一个与常规窗体外观相同的空白 LoginForm:


UniGUI之Login窗口(10)_第4张图片

 

 LoginForm 是一个名为 TUniLoginForm 的内置类的后代.每个应用程序只能有一个 LoginForm。 添加 LoginForm 后, 应用程序将在新会话开始时显示此窗体。 您需要添加控件、事件处理程序和所需的所有内容, 以实现所需的功能。 登录行为是使用窗体的 ModalResult 控制的。 如果 LoginForm 返回mrOK,则表示成功登录, 将创建并激活新 MainForm。 当 ModalResult 返回 mrCancel 时, 它将终止会话。 如果我们使用只有两个按钮的表单 (一个用于成功登录, 另一个用于失败), 下面的代码将执行以下操作:

procedure TUniLoginForm1.UniButton1Click(Sender: TObject);
begin
  ModalResult := mrOK;  // Login is valid so proceed to MainForm
end;
 
procedure TUniLoginForm1.UniButton2Click(Sender: TObject);
begin
  ModalResult := mrCancel; // Invalid Login exit from app
end;

一旦用户登录并显示 MainForm, 就有两种方法可以终止会话。 您可以终止会话并返回到 LoginForm, 将mrOK作为 ModalResult 返回, 或通过返回mrCancel终止会话。 出于安全原因, 现有会话总是在显示 LoginForm 之前终止, 即每个新登录都启动一个新会话。


保存登录信息七天。

  if sameText(UniEdit1.Text, 'demo1') and sameText(UniEdit1.Text, 'demo1') then
  begin
    UniMainModule.LoggedUser := UniEdit1.Text;
    if UniCheckBox1.Checked then
    begin
      UniApplication.Cookies.SetCookie('_loginname', UniEdit1.Text, Date + 7.0); // Expires 7 days from now
      UniApplication.Cookies.SetCookie('_pwd', UniEdit2.Text, Date + 7.0);
    end;

    ModalResult := mrOK;
  end;

 

 

你可能感兴趣的:(UniGUI之Login窗口(10))