ボタンをクリックすると、新たに別のフォームが表示される際、ログイン画面を表示し、IDとパスワードを入力されるようにさせる方法を探しています。DBにつなぐときにはDataBaseコンポーネントのログインプロンプトを制御して上記のようなことをできるのですが、フォームを開くときにはできません。どのようにやればいいのか、知っている方いますか?また、IDとパスワードを複数設定することに関しても、方法を教えていただければ幸いです。
こんな感じでは?
ちゃんとやるなら暗号化とか必要でしょうけど。
Form1 : もとのフォーム
Form2 : 入力ダイアログ
Form3 : 目的のフォーム
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm2.Button1Click(Sender: TObject);
var
ID, Pass : string;
begin
//IDとPassを定義
ID := 'ID';
Pass := 'Pass';
//照合
if (edit1.text = ID) and (edit2.text = Pass) then begin
Form2.ModalResult := mrOk;
Form3.Show;
end else begin
showmessage('不正な ID または Pass');
end;
ログインダイアログだけでしたら,こんな方法もあります.
参考までに.少なくてもDelphi6 Proにはあります.
http://docwiki.embarcadero.com/VCL/ja/DBLogDlg.TLoginDialog
procedure TForm1.Button1Click(Sender: TObject);
var
ALog : TLoginDialog; //usesにDBLogDlgが必要
begin
ALog := TLoginDialog.Create(Self);
try
ALog.Caption := 'ログインフォーム';
ALog.Label3.Caption := 'Form2へのログイン';
ALog.UserName.Text := 'Your Name';
ALog.Password.Text := 'ABCDE';
if ALog.ShowModal = mrCancel then begin
ShowMessage('キャンセルされました');
end else begin
// OKの時の処理
end;
finally
FreeAndNil(ALog);
end;
end;
ツイート | ![]() |