لزومی نداره فرم دریافت رمز را فرم اصلی قرار بدید.
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;