在UniGUI的CHM帮助里读到的。
一定要新建一个其他空白的工程,然后再添加LoginForm
LoginForm 是另一种特殊的表单类型, 仅用于登录目的。
此操作将创建一个与常规窗体外观相同的空白 LoginForm:
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;