kullanıcı adı ve şifre ekranı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
iqprog

Mesaj gönderen iqprog »

bir başka seçenek de şu, bir uygulamada kullandım çok da iş gördü.

ana formu giriş form gibi de kullanabilirsin. ana forma bi panel koy içine de kullanıcı adı şifre etiket ve kutularını. açılışta panel görünsün ana formdaki diğer işlemlerin yapılmasını engelle. kullanıcı girişi başarılı ise ana formdaki diğer işlemleri görünür ve çalışır kıl ve paneli görünmez yap.
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen nodetail »

Arkadaşlar konu hortlatıyorum ama, uzun zaman sonra bir uygulama yazmam gerekti sanırım çok ara vermişim.
şifre ekranlı bir uygulama;
ana_form ve password_form açılışta create ediliyor.
aplication.run'dan önce password_form showmodal oluyor.
password_form system simgeleri kapalı (tamam, iptal butonları var sadece), şifre doğru ise ana_for.show ile açılıyor.
password_form'un onClose olayı action:=caFree

buraya kadar sorun yok! (eksik varsa müdehale rica olunur)
sorun şu password_form açıkken kullanıcı Alt+F4 yaparsa password_form gidiyor ve ana_form açılıyor (yani programa girmiş oluyor)
nerede neyi kaçırıyorum ben.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen aslangeri »

password formun showdialogundan gelen sonucu (dialogresult du yanlış hatırlamıyorsam) kontrol edin.
dialogresul "ok" ise devam edin. değilse application.run çalışmasın, çalşmayacağı için de program açılmaz...
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen nodetail »

if Password_Form.ModalResult<>mrOK then Application.Terminate;
if Password_Form.ShowModal<>mrOK then Application.Terminate;

bunları denedim ancak mrOK için undeclared identifier 'mrOK' hatası alıyorum
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen ihalilcoban »

Merhaba.

Project-->View Source kısmını

Kod: Tümünü seç

   Application.CreateForm(TAna_Form, Ana_Form);
   Giris_Formu:=TGiris_Formu.Create(nil);
   Giris_Formu.ShowModal;
   Application.ProcessMessages; //Giriş Formunu ekranda göster
   Application.Run;
şeklinde düzenleyiniz.

Sonrasında;

password_form'un onClose olayına Ana_Form.Destroy; kodunu ekleyiniz.

Bu şekilde istediğiniz gibi çalışması gerekir.

İyi çalışmalar.
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen ertank »

nodetail yazdı: 10 Kas 2020 05:20 if Password_Form.ModalResult<>mrOK then Application.Terminate;
if Password_Form.ShowModal<>mrOK then Application.Terminate;

bunları denedim ancak mrOK için undeclared identifier 'mrOK' hatası alıyorum
Merhaba,

Application.Run olmadan önce Application.Terminate çalıştırabileceğinizi sanmıyorum.

Bu nedenle şahsen DPR içinde değil. MainForm.OnCreate içinde şifre işlemlerini yapmayı daha uygun buluyorum.
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen nodetail »

ertank yazdı: 10 Kas 2020 06:10
nodetail yazdı: 10 Kas 2020 05:20 if Password_Form.ModalResult<>mrOK then Application.Terminate;
if Password_Form.ShowModal<>mrOK then Application.Terminate;

bunları denedim ancak mrOK için undeclared identifier 'mrOK' hatası alıyorum
Merhaba,

Application.Run olmadan önce Application.Terminate çalıştırabileceğinizi sanmıyorum.

Bu nedenle şahsen DPR içinde değil. MainForm.OnCreate içinde şifre işlemlerini yapmayı daha uygun buluyorum.
Test için yapmıştım onu ama sonuçta undeclared identifier 'mrOK' verdi
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen nodetail »

ihalilcoban yazdı: 10 Kas 2020 06:08
password_form'un onClose olayına Ana_Form.Destroy; kodunu ekleyiniz.
Ana_Form'u mu yoksa Password_Form'u mı Destroy edicez
nodetail
Üye
Mesajlar: 74
Kayıt: 04 Eki 2008 10:30

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen nodetail »

ihalilcoban yazdı: 10 Kas 2020 06:08
Dediğin gibi yaptım çok sağol yalnız şuan şifre doğru girilince her iki formda gidiyor.
Ana_Form.Show olarak açıyorum normalde.
ihalilcoban
Üye
Mesajlar: 121
Kayıt: 10 Ara 2015 10:39

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen ihalilcoban »

Merhaba.

Ana formunuzu show yapıp şifre formunuzun visiblesini false yapabilirsiniz.
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: kullanıcı adı ve şifre ekranı

Mesaj gönderen sunye »

Merhaba,

Kod: Tümünü seç

  Application.Initialize;
  FSplash := TFSplash.Create(nil) ;
  FSplash.Show;
  FSplash.Update;
  Application.MainFormOnTaskbar := True;
  Application.Title := 'edaSYNC - Netsis Data Aktarım';
  Application.CreateForm(TFMain, FMain);
  Application.ProcessMessages;
  Application.CreateForm(TFLogin, FLogin);
  Application.Run;
  

Kod: Tümünü seç

procedure TFLogin.FormShow(Sender: TObject);
begin
  Application.ProcessMessages;
  FLogin.BringToFront;
  EDTSifre.SetFocus;
  FSplash.Hide;
  FSplash.Free;
  FSplash:=Nil;
end;

Kod: Tümünü seç

    
procedure TFLogin.FormCreate(Sender: TObject);
begin
  FLogin.Position:=poScreenCenter;
  FMain.MNUIslemler.Visible:=False;
    
Şifre doğru ise

Kod: Tümünü seç

  
  FMain.MNUIslemler.Visible:=True;
  FMain.MNUIslemler.Active:=True;
  FLogin.Close;
veya login ekranını form yerine ana formda panel içine alıp
panel1.visible:=False / True ile de yapabilirsin.
Bildiğim tek şey, hiç bir şey bilmediğim.
Cevapla