Şifre Ekranı

PAIN_KILLER
30-05-2007, 09:53   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
149 mesaj
Kayıt Tarihi:Kayıt: Mar 2006

Şifre ekranı konusunda :
Bildiğiniz gibi şifre ekranını program gösterilmeden ekrana getirmeniz gerek bunun için genellikle formun on show olayına:
sifreekrani.showmodal diye yazılır.
Ama olmaz!!!  Geniş bir program yazıyorsanız (örn register isteyen bir program) bu yöntemle çok kolay programınız kırılır.
Çünkü bütün formlar create edilmiş durumdadır. Yani programın istediğimiz formu yazdığımız başka bir programla gösterile bilir.
(findwindow ve show window komutları ile)

Bunu önlemek için şifre ekranını formlar create edilmeden göstermeniz gerekir.  
project\view source ye girerek aşağıdaki değişiklikleri yapın

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {anaform},
  Unit1 in 'Unit2.pas' {sifreekrani};

{$R *.res}

begin
  Application.Initialize;
  sifreekrani:=tsifreekrani.Create(application);  
  sifreekrani.showmodal; //burada gösteriyoruz.

  Application.CreateForm(Tanaform, anaform);

  sifreekrani.free;//hafızdan temizliyoruz.
  Application.Run;
end.


Burada showmodal ile göstermeniz önemli; sifreekrani formu kapatılıncaya kadar  hiç bir işlem yapmaz.
Şifre yanlışsa halt; ile programı kesebiliriz.
Şifre doğru ise sadece sifreekrani.close dememiz yeterli.

Örnek olarak: http://byjeepower.googlepages.com/Sifre.zip

Saygılar...

Son Düzenleme: PAIN_KILLER ~ 30 Mayıs 2007 09:58
saymex
02-06-2007, 12:19   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
298 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

painkiller teşekkürler arkadaşım
ya ben senden bişi isteyecem özeline bakarsan sevinirim
bu kadar bilgili olduğuna göre bunuda çözersin
neden burada sormuyorsun deme özel :D

PAIN_KILLER
02-06-2007, 23:18   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
149 mesaj
Kayıt Tarihi:Kayıt: Mar 2006

Neymiş o özel olan söylede bilelim.

saymex
03-06-2007, 12:03   |  #4  
Yıllanmış Üye
Teşekkür Sayısı: 0
298 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

kardeşim sana söyledim ya özeline bak diye