Login窗口不能调用主窗口的控件,要用自己的控件。


procedure TUniLoginForm1.UniLoginFormCreate(Sender: TObject);
begin//数据库连接
FDQuery2.Connection := FDConnection2;
FDConnection2.LoginPrompt:=false; //取消登录提示框
FDConnection2.Open('DriverID=SQLite;Database=test1.Sqlite3.db');
end; procedure TUniLoginForm1.UniButton1Click(Sender: TObject);
begin//登录 查询 判断
FDQuery2.Open(' select aid from aTable where UserName= ''' +
UniEdit1.Text + ''' and UserPassword= ''' // 用户名
+ UniEdit2.Text // 密码
+ ''';');
if FDQuery2.RecordCount = then begin
ShowMessage('Incorrect Username or Password!') ;
exit
end;

在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;

登录背景图片设置 :


如果LoginForm的背景要添加文本,两个设置

1]BorderStyle设为bsNone

2]WindowState设为wsMaximized

然后再在界面上添加文本

UniGUI之Login窗口(10)的更多相关文章

  1. UniGUI的TUniLoginForm窗口自定义背景色和背景图片

    雨田家园 UniGUI的TUniLoginForm窗口自定义背景色 uniGUI的TUniLoginForm类创建的登录窗口默认是不带颜色,可以自定义css风格来改变背景颜色. 一般是通过在UniSe ...

  2. UniGUI的TUniLoginForm窗口自定义背景色

    uniGUI的TUniLoginForm类创建的登录窗口默认是不带颜色,可以自定义css风格来改变背景颜色. 一般是通过在UniServerModule中,在CustcomSS属性中,修改extjs的 ...

  3. uniGUI之新窗口uniForm(19)

    然后 保存,在这里 重命名窗口 //主窗口 调用 // NewForm2.UniForm1.Show() ; //非阻塞 NewForm2.UniForm1.ShowModal();//阻塞 //子窗 ...

  4. uniGUI学习汇总

    UniGUI之UniLabel(31) uniGUI之自定义JS事件动作ClientEvents(30) uniGUI之文件下载(29) uniGUI之FDQuery(28) uniGUI之UniPo ...

  5. 【Spark深入学习 -10】基于spark构建企业级流处理系统

    ----本节内容------- 1.流式处理系统背景 1.1 技术背景 1.2 Spark技术很火 2.流式处理技术介绍 2.1流式处理技术概念 2.2流式处理应用场景 2.3流式处理系统分类 3.流 ...

  6. EXT-JS 6演示样例程序-Login演示样例程序

    1.        用Sencha Cmd生成应用程序模版 sencha -sdk /path/to/ExtSDK generate app -classic TutorialApp./Tutoria ...

  7. VCL to UniGUI Migration Wizard

    Free Evaluation Edition of The Automatic Migration Scripting Wizard For Converting Legacy Delphi Cod ...

  8. UniGUI设置背景图片(09)

    主要是Background和LoginBackground属性, 类似地Login窗口背景图也可这样修改 UniServerModule.MainFormDisplayMode:=  mfPage;/ ...

  9. OneThink学习笔记02----数据字典(即OneThink项目数据库里的表及其字段)

    action 字段 类型 注释 id int(11) unsigned 自增主键 name char(30) 行为唯一标识 title char(80) 行为说明 remark char(140) 行 ...

随机推荐

  1. Jmeter变量嵌套的方法

    jmeter中变量的嵌套一般有两种方式 1,调用__V函数 { "phone": "${phone}", "xxId": "${_ ...

  2. Hybrid App 开发快速指南

    链接:https://blog.csdn.net/valada/article/details/81639658

  3. Android如何运行他人工程

    首先新建一个本地的新工程做对比,用记事本打开以下的几个工程文件,把本地工程文件的内容覆盖掉他人工程的文件内容,注意只覆盖两个工程共有的内容条目即可,不要删掉他人工程的其他依赖!(具体哪几个文件本人还没 ...

  4. java用JSONObject生成json

    Json在前后台传输中,是使用最多的一种数据类型.json生成的方法有很多,自己只是很皮毛的知道点,用的时候,难免会蒙.现在整理下 第一种: import net.sf.json.JSONArray; ...

  5. django登陆界面报错InternalError at /admin/polls/question/add/

    登陆界面报错信息如下: 改为输入英文,正确

  6. laravel 报错The Mix manifest does not exist.

    这是因为我们在 resources/views/layouts/app.blade.php 中使用 mix() 方法,而我们还未运行 Laravel Mix 进行编译,找不到 mix-manifest ...

  7. Mongodb 分片原理

    1.主从mongodb 模式 类似,MySQL的主从配置  参照:https://blog.csdn.net/liusong0605/article/details/11551699 mongoDB有 ...

  8. 获取天气预报java代码

    import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.IOException; imp ...

  9. 牛客大数加法-A+B

    题目描述实现一个加法器,使其能够输出a+b的值.输入描述:输入包括两个数a和b,其中a和b的位数不超过1000位.输出描述:可能有多组测试数据,对于每组数据,输出a+b的值.示例1输入2 610000 ...

  10. web优化(一 前端)

    当我们在浏览器地址栏中输入一个URL的时候,网页开始请求,我们在页面上看到的内容就是许多个HTTP请求从服务器返回的数据展示,这些展示的快慢很大程度依赖前端的优化,怎样做好前端的优化,我这里总结了几点 ...