delphi制作登陆窗体
delphi登陆窗体的制作,就我知道的,可以有两种方法,一种是在工程文件中实现登陆窗体的动态调用,另一种就是在主窗体的OnCreate事件中动态创建登陆窗体,两种方法都需要将主窗体设置为Auto-create form,将登陆窗体设置为 Availabel form.
登陆窗体: Form1; 主窗体: Mainfrm;
一.在工程文件中实现动态创建登陆窗体(网上资料提供):
可以在Form1中Public部分添加一个变量,可以是integer类型,或者boolean型,用来判断是什么时候可以让主窗体显示,类似:
public
frm_show : integer;
登陆窗体中,"登陆"按钮的实现:(关于密码和用户名的判断部分只做简单设置)
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from login where username=:username and password=:password');
parambyname('username').AsString := trim(edit1.Text);
parambyname('password').AsString := trim(edit2.Text);
open;
if isempty then
begin
showmessage('请核对您的用户名和密码信息!');
frm_show := 0;
end
else
begin
frm_show:= 1;//当成功时,frm_show设置为1,之后form1也将关闭.
form1.Close;
end;
end;
end;
再看看工程文件:(project -> view soruce)
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
mainfrm in 'mainfrm2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
form1 := tform1.Create(application);
form1.ShowModal;
if form1.frm_show = 1 then//frm_show设置为public,可在此调用
Application.CreateForm(Tmainfrm2, mainfrm2);
Application.Run;
end.
上述方法不牵涉主窗体代码部分.
二.在主窗体的OnCreate事件部分添加对登陆窗体的动态创建:
主窗体:
procedure Tmainfrm.FormCreate(Sender: TObject);
begin
form1 := tform1.Create(application);
form1.ShowModal;
end;
登陆窗体:
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
sql.Clear;
sql.Add('select * from login where username=:username and password=:password');
parambyname('username').AsString := trim(edit1.Text);
parambyname('password').AsString := trim(edit2.Text);
open;
if isempty then
showmessage('请核对您的用户名和密码信息!')
else
form1.Close;
end;
end;
上述的两种方法是借一位网友的问题才想起来做的.一开始我使用的第二种方法,可是运行的时候总提示内存不够等问题.换了第一种方法运行ok后再换用第二种方法后竟然也运行ok~这破电脑是该换了...
delphi制作登陆窗体的更多相关文章
- Delphi制作DLL
一.开使你的第一个DLL专案 1.File->Close all->File->New﹝DLL﹞ 代码: //自动产生Code如下 library Project2; //这有段废话 ...
- Delphi制作图像特殊显示效果
Delphi制作实现图像的各种显示效果,比如百叶窗.渐变.淡入淡出.水平交错.雨滴效果等,用鼠标点击“打开图像”按钮,可以选择图像文件导入到窗体中:点击其它各个按钮,可以实现图像显示特效,例如:点击“ ...
- 用Delphi制作DLL
一.开使你的第一个DLL专案 1.File->Close all->File->New﹝DLL﹞代码: //自动产生Code如下 library Project2; //这有段 ...
- Delphi : 制作程序启动欢迎界面
制作欢迎界面的代码,大家参考 登陆窗体命名為:loginform.找到工程文件(Project -> View Source),找到如下代碼部分:begin Application.Init ...
- C# WinForm 关闭登陆窗体后进程还再内存怎么办?
问题:我们通常再制作WinForm应用程序的时候,运行程序的第一个窗口一般是登陆窗口.代码如下: 那么这种方式有一个弊端,这种启动方式,其实就是把登陆窗口设置为主窗体.因此,再登陆后,我们通常是调用H ...
- Delphi制作QQ自动登录器源码
Delphi制作QQ自动登录器源码 http://www.cnblogs.com/sunsoft/archive/2011/02/25/1964967.html 以TM2009为例,检查了一下,未登 ...
- 无废话ExtJs 入门教程七[登陆窗体Demo:Login]
无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...
- C/S模式开发中如何利用WebBrowser控件制作导航窗体
原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见 ...
- Delphi中的窗体创建与销毁
Delphi中的窗体,有模式窗体与非模式窗体两种.两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示.当显示模式窗体的时候你是不能操作本程序的其他窗体的,你不能把焦 ...
随机推荐
- OpenCV——Harris、Shi Tomas、自定义、亚像素角点检测
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- OpenCV——图像的深度与通道数讲解
矩阵数据类型: – CV_(S|U|F)C S = 符号整型 U = 无符号整型 F = 浮点型 E.g.: CV_8UC1 是指一个8位无符号整型单通道矩阵, CV_32FC2是指一个32位浮点型双 ...
- H.264从SPS中提取视频宽高
H.264有两种封装模式: (1)annexb模式:传统模式,使用start code来分隔NAL, SPS和PPS是在ES流的头部: (2)mp4模式:没有start code,使用NALU长度(固 ...
- js 产生随机数
这里整理了几个产生随机数的方法: 1.generateUUID() //获取一个唯一数 function generateUUID() { var d = new Date().getTime(); ...
- 如何在Drupal7中用代码批量创建节点、评论和分类
最近,我忙于一个网站迁移工作.网站是使用某个老式CMS建立的,有一定数量的文章.不同的分类数据和用户评论.我的团队被雇来把这些数据从这个浪费人力物力的老式CMS上完整的迁移到功能更现代的开源Drupa ...
- STM32 低功耗 调试心得
MCU在进入STOP模式的时候,GPIO的状态都是保持在进入低功耗模式之前的状态,在最小系统中,MCU的GPIO都是悬空的,所以设置为何种状态都不会影响到功耗.但当连接到外设后,外设的电平状态和所连接 ...
- [SDOI2009]HH的项链 BZOJ1878
分析: 听说是莫队裸题,很显然,我并不喜欢莫队. 我们可以考虑将询问离线,以右端点排序,之后从1枚举到n,依次树状数组中修改i和last[i],之后当i==询问的右节点时,find一下答案就可以了. ...
- Android开发——RecyclerView特性以及基本使用方法(一)
)关于点击事件,没有像ListView那样现成的API,但是自己封装起来也不难,而且我们使用ListView时,如果item中有可点击组件,那么点击事件的冲突也是一个问题,而在RecyclerView ...
- 微信小程序之路由
1. 路由方式 路由方式 触发时机 路由前页面 路由后页面 初始化 小程序打开的第一个页面 onLoad, onShow 打开新页面 调用 API wx.navigateTo 或使用组件 onHide ...
- LeetCode Container With Most Water (Two Pointers)
题意 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...