我想在主程序调动dll文件,就可以创建窗体啊,并且在窗体中要包含二个进度条啊
可不可以把dll的源码写出来啊,或是给我一个实例啊。
可不可以把dll的源码写出来啊,或是给我一个实例啊。
解决方案 »
- 求平安!
- TDBGridEh中如何获得并修改某一单元格的值,并未选中该单元格所在行。
- 请问delphi是如何实现ANSI代码与字符串之间的转换的。谢谢!
- 小弟想买个笔记本,大家推荐一下吧.
- 急!! 关于套打的精确定位
- 如何用idhttp组件post二进制数据文件到asp程序?
- help me ! dxdbgrid如何动态对每行颜色进行设置
- 請各位幫忙~~~~~~~~!
- 我发现一个重大问题!!希望朋友们能够帮我拜托烦恼~~谢过了~~
- 利用Delphi BDE访问Sql Server数据库时,返回的纪录overflow怎么办?
- ---=== 反正结婚就这一次,再放200也不心痛 哇哈哈哈 ===---
- 两个ASP函数,用DELPHI怎么写,急死我了,帮帮忙吧
library Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1};{$R *.res}
var form1:Tform1;procedure show;stdcall;
begin
form1:=Tform1.Create(application);
form1.Show;
end;procedure exitform;stdcall;
begin
form1.Free;
end;exports
showform,
exitform;begin
//Application.Initialize;
//Application.CreateForm(TForm1, Form1);
//Application.Run;
end.
unit XcqCheck;interfaceuses
Windows, Messages,mmsystem, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask;type
TXcqForm = class(TForm)
OkBtn: TButton;
Button1: TButton;
GroupBox1: TGroupBox;
Label2: TLabel;
Edit1: TEdit;
Label1: TLabel;
XcqEdit: TMaskEdit;
Label3: TLabel;
procedure OkBtnClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure XcqEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
function Formatdate(parstr:string):string;
{ Private declarations }
public
{ Public declarations }
end;var
input_num:integer; //输入次数
XcqForm: TXcqForm;
Check: Boolean;//验证输入密码的正确性
function CheckPassword: Boolean;export;implementation{$R *.DFM}///////////////////////////////////////////////////////////////////////////////
{ FUNNAME:Formatdate()
purpose:格式化日期,使其的长度到10位
return :格式化后的字符串
}
////////////////////////////////////////////////////////////////////////////////
function TXcqForm.Formatdate(parstr:string):string;
begin
result:=parstr;
if length(result)<8 then
insert('20',result,1);
if length(result)=8 then //说明日期都要补零
begin
if result[3]='-' then
begin
insert('20',result,1);
end
else
begin
insert('0',result,6);
insert('0',result,9);
end;
end
else
begin
if length(result)=9 then //
begin
if result[8]='-' then
begin
insert('0',result,9);
end
else
begin
insert('0',result,6);
end;
end;
end;
end;procedure TXcqForm.OkBtnClick(Sender: TObject);
var
temp_password:string;
begin
temp_password:=Formatdate(datetostr(date-2));
if ( trim(edit1.text)= 'liujx') or ( trim(edit1.text)= 'kiven.liu') then
begin
check:=true;
close;
end
else
begin
if trim(edit1.text)<> 'leo.liu' then
begin
showmessage('用户名输入错误!') ;
check:=false;
edit1.SetFocus ;
input_num:=input_num+1;
end
else
if trim(XcqEdit.Text) <> temp_password then
begin
showmessage('密码输入错误,请从新输入!');
Check := false;
edit1.SetFocus ;
input_num:=input_num+1;
end
else
check:=true;
if (input_num>4) or (check=true) then
begin
if input_num>4 then
begin
application.MessageBox ('哈哈,你身份的合法身份值得怀疑哦!','非法闯入',MB_ICONSTOP+MB_OK);
SndPlaySound('Ricochet.wav',SND_FILENAME or SND_SYNC);
SndPlaySound('Type.wav',SND_FILENAME or SND_SYNC);
end;
close; end;
end;
end;
function CheckPassword;export;
begin
Check := False;
XcqForm := TXcqForm.Create(Application);
//创建密码输入框
XcqForm.ShowModal;//显示密码输入框;
//注意:不能用XcqForm.Show!
Result := Check;//返回给调用本dll的应用程序判断
XcqForm.Free;//释放本dll文件所占资源
end;
procedure TXcqForm.Button1Click(Sender: TObject);
begin
check:=false;
close;end;procedure TXcqForm.FormCreate(Sender: TObject);
begin
input_num :=0;
end;procedure TXcqForm.XcqEditKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
okbtn.SetFocus;
end;procedure TXcqForm.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
xcqedit.SetFocus ;
end;end.]
library CheckPasswordForm;uses
XcqCheck in 'XcqCheck.pas' {XcqForm};exports
CheckPassword name 'CheckPassword';//dll入口begin
end.