易截截图软件、单文件、免安装、纯绿色、仅160KB

用Delphi开发数据库应用程序的常用方式

用Delphi开发数据库应用,一般会涉及到闪屏(Splash)、登录窗口、主数据模块(或主数据库连接)以及主窗口。通常在项目文件中,splash窗口显示过,一些需要加载的资源、窗口加载过后,Application.Run之前,进行用户登录。
//测试CSDN博客对DELPHI代码的支持
program TEST;
uses
Forms,
Windows,
MainF in 'MainF.pas' {frmMain},
SplashF in 'SplashF.pas' {frmSplash},
mainDM in 'mainDM.pas' {dmMain: TDataModule},
LoginF in 'LoginF.pas' {frmLogin};
{$R *.RES}
var
frmMain: TfrmMain;
dmMain: TdmMain;
begin
Application.Initialize;
//显示封面
SplashF.Show;
try
//创建需要的资源
Application.CreateForm(TdmMain, dmMain);
Application.CreateForm(TfrmMain, frmMain);
//...
finally
SplashF.Close;
end;
if LoginF.Login() then //呼叫登录窗口
Application.Run;
end.

此时,可能用到的数据连接已经建立起来了,登录就可以进系统。
LoginF.pas
unit LoginF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons;
type
TfrmLogin = class(TForm)
pnl1: TPanel;
edUserName: TEdit;
lblUserName: TLabel;
edPasswd: TEdit;
lblPasswd: TLabel;
btnOK: TBitBtn;
btnCancel: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure btnOKClick(Sender: TObject);
private
FTryTimes: Integer;
function CheckUserInfo(AUserName, APassword: string): Boolean;
public
end;
function Login: Boolean; //登录函数
implementation
{$R *.DFM}
function Login: Boolean;
begin
//动态创建登录窗口
with TfrmLogin.Create(nil) do
begin
//只有返回OK的时候认为登录成功
Result := ShowModal() = mrOk;
Free;
end;
end;
function TfrmLogin.CheckUserInfo(AUserName, APassword: string): Boolean;
begin
//验证
Result := (AUserName = 'lihd' ) and (APassword = 'P@ssw0rd');
end;
procedure TfrmLogin.FormCreate(Sender: TObject);
begin
//尝试登录的次数,初始化为0
FTryTimes := 0;
end;
procedure TfrmLogin.btnOKClick


相关文档:

Delphi 中Md5获取(Indy 9)







在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法。而不需要再去找其它的
DLL或是Pas了。
在Uses单元中引用 IdHashMessageDigest,IdGlobal, IdHash 单元,再写如下代码即可以达到MD5的实现。
示例代码
procedure TForm1.Button1Click(Sen ......

delphi实现字符串中数字的判断及相应数字累加

最近面试了一家企业,下面有一道从来没有想过的问题,当时有思路,不过写不出来.回来后,调试了一下,发现还是有难度的,写上来看大家是否还有更优化的写法,欢迎讨论:
下面实现将字符串"10ad200d3" 中的数字合计,10+200+3=213
var s1:string;
var i:integer;
var n1:integer;
var tem1: string;
var tem2:integer;
  ......

Delphi的HashTable

{-----------------------------------------------------------------------------
 Unit Name: HashTable
 Author:    LiuHeng
 Date:      2010-04-13
 Purpose:   封装Delphi的HashTable
 History:
------------------------------- ......

delphi线程池【转】


[code=Delphi(Pascal)]
unit uThreadPool;
{  aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }
interface
uses
  Windows,
  Classes;
// 是否记录日志
// {$DEFINE NOLOGS}
type
  TCriticalSection = class(TObject)
  protected
    FSec ......

用DELPHI创建DLL文件,封装窗体的实现方法实例

虽是原创,但是是参考过别人的作品,然后自己重新写的,目的是要给初学者一个更容易明白。
用DELPHI创建DLL文件,封装窗体的实现方法实例:
即一个程序不再是单一的一个EXE文件了,而是由一个EXE文件加N个DLL文件组成,这样做的原因是方便以后的维护与更新,也是跨平台开发的重要一步。
1, 打开DELPHI,新建一个Dl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号