PDA

View Full Version : پنجره درخواست رمز ورود به برنامه



MOJTABAATEFEH
جمعه 18 دی 1388, 00:07 صبح
من برخي از برنامه هام رمز ورود مي خوان و فرم اصلي برنامه را فرم دريافت رمز ورود قرار مي دم پس با بستن اون پنجره برنامه Terminate ميشه پس نميشه اون رو بست و كار را ادامه داد وقتي كاربر رمز رو درست وارد كرد پنجره رمز را Hide و فرم بعدي رو نمايش مي دم آيا اينكار درست هست؟ يا اينكه بايد يك بلاي ديگه سر پنجره دريافت رمز بيارم به غير از Hide كردن؟

با تشكر

vcldeveloper
جمعه 18 دی 1388, 00:51 صبح
لزومی نداره فرم دریافت رمز را فرم اصلی قرار بدید.

1- فرم که بصورت دایالوگ باکس نمایش داده بشه، طراحی کنید، مثلا:

interface

type
TLoginForm = class(TForm)
edtUserName : TEdit;
edtPassword : TEdit;
btnOK : TButton;
btnCancel : TButton;
procedure btnOKClick(Sender: TObject);
protected
function ValidatePassword: Boolean; virtual;
public
class function Execute: Boolean;
end;

implementation

class function TLoginForm.Execute: Boolean;
begin
with TLoginForm.Create(nil)
try
Result := ShowModal = mrOK;
finally
Free;
end;
end;

procedure TLoginForm.btnOKClick(Sender: TObject);
begin
if ValidatePassword then
Self.ModalResult := mrOK
else
begin
ShowMessage('Invalid password!');
Self.ModalResult := mrNone;
end;
end;

function TLoginForm.ValidatePassword: Boolean;
begin
Result := edtPassword.Text = '123';
end;



2- به صورت زیر در فایل DPR پروژه آن را استفاده کنید:

if TLoginForm.Execute then
begin
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end;

benyaminrahimi
جمعه 18 دی 1388, 01:23 صبح
لزومی نداره فرم دریافت رمز را فرم اصلی قرار بدید.

1- فرم که بصورت دایالوگ باکس نمایش داده بشه، طراحی کنید، مثلا:

interface

type
TLoginForm = class(TForm)
edtUserName : TEdit;
edtPassword : TEdit;
btnOK : TButton;
btnCancel : TButton;
procedure btnOKClick(Sender: TObject);
protected
function ValidatePassword: Boolean; virtual;
public
class function Execute: Boolean;
end;

implementation

class function TLoginForm.Execute: Boolean;
begin
with TLoginForm.Create(nil)
try
Result := ShowModal = mrOK;
finally
Free;
end;
end;

procedure TLoginForm.btnOKClick(Sender: TObject);
begin
if ValidatePassword then
Self.ModalResult := mrOK
else
begin
ShowMessage('Invalid password!');
Self.ModalResult := mrNone;
end;
end;

function TLoginForm.ValidatePassword: Boolean;
begin
Result := edtPassword.Text = '123';
end;



2- به صورت زیر در فایل DPR پروژه آن را استفاده کنید:

if TLoginForm.Execute then
begin
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end;


کد نويسي زيبايي بود من که لذت بردم:تشویق: