Diğer formların yok sayılması

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Diğer formların yok sayılması

Mesaj gönderen sako »

Başlık garip oldu ama soru şöyle:

bi şifre formum var şifreyi doğru yazınca diğer forma geçmesi ve komutları icra etmesi lazım. Ama nedense diğer formun create olayına yazdığım kodlar şifre formundayken ortaya çıkıyor. Benim istediğim bu formları iptal etmek tamamen. Yani bin isteyinceye kadar o formun hiçbir komutu çalışmasın. Sadece o form açıldığında çalışsın.. onshow olayına falan yazdım ama hata veriyor. Bİ komut varmı bu formu iptal edebilecek.

kolay gelsin...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
dervis
Üye
Mesajlar: 22
Kayıt: 12 Eki 2005 01:39

Mesaj gönderen dervis »

form2 yi programın açılışında available form yap sonra bunu 1. formdaki koşul şifre uygunsa 2.formu create et eğer 2.formdaki kodların ne yapcağını anlatırsan yardımcı olmaya çalışırım birazdaha açıklama yapmalısın
İlim bir nokta idi, onu cahiller çoğalttı......(fen,matematik,kimya,vb...)

Cahilin bilmediğini inkar etmesi adettendir....
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

Ya ikinci formda İbdataset ve onla alakalı bileşenler var, Yani kayıt girdiğim bi form. Ama bu formdaki bu IbDataset, IBTransaction ve diğer bileşenlerin formaçılınca aktif edilmesini istiyorum ve ediyorumda zaten. Ama bu aktif etme işini Form2 nin create olayına yazdığım için ilk açılışta active ediliyor ve programın açılması gecikiyor. İstediğim programın erken açılması başka bişey yok yani. E bunu da bu datasetleri program açıldıktan sonra active ederek yapabileceğimi düşünüyorum. Ama form2 nin create olayı dediğim gibi işte ilk açılışta devreye giriyor..
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
mucar
Kıdemli Üye
Mesajlar: 247
Kayıt: 17 May 2005 01:14

Mesaj gönderen mucar »

merhaba,
o zaman bi değişen oluşturusun. bu değişkenin ilk değeri false olur. sen kullanıcı onaylanırsa bu değişkenin değerini true yaparsın. oncreate olayında da bir kontrol koyarsın, şu şekilde;

Kod: Tümünü seç

if degisken then
begin
query1.open;
table1.open;
end;
Program ilk açıldığında degiskenin ilk degeri false olduğundan oncreate'in içindeki if blokuna giremeyecek. Diğer formdan kullanıcı girişi onaylanıyorsa bu değişken true olacak, ve buraya girdiğinde bu sefer bu query ve tablolar açılacak.
"Evine bakmaktan aciz olan; ilerici, üç kıtaya hükmeden ecdadın mı gerici?"
stnonstop
Üye
Mesajlar: 149
Kayıt: 22 Haz 2005 04:34

Mesaj gönderen stnonstop »

BCB kodu olarak yazacam ama tahminimce Delphide de aynıdır. Sadece yazılım kurallarına göre uyarlamak gerekir.

Kod: Tümünü seç

void __fastcall TMainForm::FormShow(TObject *Sender)
{ 
  LoginForm = new TLoginForm(Application);
  LoginForm->ShowModal();
  LoginForm->Free();
  if (! DM->IBDatabase->Connected )
  {
    Exit(0);
  }
}
Db leri Login bölümünde ayarlayıp aktifleştirirsin. Eğer dbler bağlandıysa program devam eder yoksa programdan çıkar. :)
St. NonStop
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
Cevapla