ログイン画面表示(DELPHI FIVE)


SLAA  2010-02-11 19:02:18  No: 37534

ボタンをクリックすると、新たに別のフォームが表示される際、ログイン画面を表示し、IDとパスワードを入力されるようにさせる方法を探しています。DBにつなぐときにはDataBaseコンポーネントのログインプロンプトを制御して上記のようなことをできるのですが、フォームを開くときにはできません。どのようにやればいいのか、知っている方いますか?また、IDとパスワードを複数設定することに関しても、方法を教えていただければ幸いです。


ななか  2010-02-11 19:47:29  No: 37535

こんな感じでは?
ちゃんとやるなら暗号化とか必要でしょうけど。

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;


Mr.XRAY  2010-02-11 23:14:46  No: 37536

ログインダイアログだけでしたら,こんな方法もあります.
参考までに.少なくても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;


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加