tüm programa tek kod..
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
tüm programa tek kod..
arkadaşlar programda tüm formlarda ortak kodların olmasını istiyorum meslea program boyunca f8 basınca hesap mak... gibi şeyler. bunu bütün formlara koda olarak girmekten başka çarem varmı. tek ana forma kod yazarak mesela olşmazmı???
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Merhaba...
- Umarım bir cümlede ifade edebilirim. Karışık gelirse söyle...
- Herhangi bir forma ait Unit içerisinde veya başlıbaşına müstakil bir Unit içersindeki procedure(lar) veya fonksiyon(lar); eğer Private kısmı altında değil de Public kısmı altında tanımlanırsa; bu içinde tanımlandığı Unit'in adını diğerlerinde Uses'a eklemek ile programın o bölumlerinde de çalışması otomatik olarak sağlanmış olur...
- Umarım bir cümlede ifade edebilirim. Karışık gelirse söyle...

- Herhangi bir forma ait Unit içerisinde veya başlıbaşına müstakil bir Unit içersindeki procedure(lar) veya fonksiyon(lar); eğer Private kısmı altında değil de Public kısmı altında tanımlanırsa; bu içinde tanımlandığı Unit'in adını diğerlerinde Uses'a eklemek ile programın o bölumlerinde de çalışması otomatik olarak sağlanmış olur...
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
s.a.
ilginize teşekkür ederim...
konu 3. seminerde geçiyor
yanlız uygulamayı tam olarak anlayamadım...
proporties ile yapmaya çalıştım olmadı...
aslında uğraştığım çok önemli birşey değil de kullanmayı öğrenmek lazım...(edit nesneleri aktifken rengini farklı yapmak istedim.bu işlem içinde her formun altına kod yamak istemedim)
ilginize teşekkür ederim...
konu 3. seminerde geçiyor
yanlız uygulamayı tam olarak anlayamadım...

proporties ile yapmaya çalıştım olmadı...
aslında uğraştığım çok önemli birşey değil de kullanmayı öğrenmek lazım...(edit nesneleri aktifken rengini farklı yapmak istedim.bu işlem içinde her formun altına kod yamak istemedim)
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
Inherited (ATA ) formları da aynen bileşenler gibi düşünün (zaten TForm da bir bileşen sonuçta) .
Eğer bir form Inherited edilmiş ise yani başka bir formdan türetilmişse : türetildiği o formda olan tüm özellikleri kendine alır. İşte bu nesne tabanlı programlama oluyor.
Mesela Ata formun OnCreate olayına bir yapılmasını istediğiniz birşeyler yazdınız , artık bu formdan türetilen diğer bütün formlarda o kodu yazmanıza gerek kalmayacak ve o kod çalışacaktır..
Seminerde de hatırladığım kadarı ile OnKeyPress olayında ESC tuşuna basılınca formu kapatan bir olay yazılmıştı. Böylece türetilen diğer bütün formlarda aynı kod çalışacak yani ESC ye basıldığında formumuz kapanacak .
Bir formu Ata form yapmak için
Project --> Add To Repository ile Repository kısmına eklememiz gerekiyor, daha sonra oluşturacağımız formları New ile bu ata formu seçerek oluşturuyoruz..
Böylece projelerimizde kullanacağımız genel bir Form Ağacı oluşturabiliriz.
Eğer bir form Inherited edilmiş ise yani başka bir formdan türetilmişse : türetildiği o formda olan tüm özellikleri kendine alır. İşte bu nesne tabanlı programlama oluyor.
Mesela Ata formun OnCreate olayına bir yapılmasını istediğiniz birşeyler yazdınız , artık bu formdan türetilen diğer bütün formlarda o kodu yazmanıza gerek kalmayacak ve o kod çalışacaktır..
Seminerde de hatırladığım kadarı ile OnKeyPress olayında ESC tuşuna basılınca formu kapatan bir olay yazılmıştı. Böylece türetilen diğer bütün formlarda aynı kod çalışacak yani ESC ye basıldığında formumuz kapanacak .
Bir formu Ata form yapmak için
Project --> Add To Repository ile Repository kısmına eklememiz gerekiyor, daha sonra oluşturacağımız formları New ile bu ata formu seçerek oluşturuyoruz..
Böylece projelerimizde kullanacağımız genel bir Form Ağacı oluşturabiliriz.
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
@oguz hocam çok teşekkür ederim...
olayı şimdi anladım...
Semineri baştan sona izlemeye zamanım olmadığı için atlayarak seyrettim.
Örnek verdiğiniz yeri de arada atlamışım demekki...
Yapılması gereken iş seminerleri baştan sona seyretmek
@interboy arkadaşım
formunun PUBLIC kısmında procedure tanımla ve CTRL+SHIFT+C tuşları yardımıyla procedurenin gövdesini oluştur.Yapmak istediğin kodları yaz.
Diğer formunda IMPLEMENTATION kısmı altında " USES Form_adi " yaz..
Çagırmak istediğin yerde de sadece procedurenin adını yazman yeterli...
eğer çağırdığın orma bir değer döndereceksen FUNCTION kullanmanı tavsiye ederim...
1. form
2. form
olayı şimdi anladım...
Semineri baştan sona izlemeye zamanım olmadığı için atlayarak seyrettim.
Örnek verdiğiniz yeri de arada atlamışım demekki...
Yapılması gereken iş seminerleri baştan sona seyretmek
@interboy arkadaşım
formunun PUBLIC kısmında procedure tanımla ve CTRL+SHIFT+C tuşları yardımıyla procedurenin gövdesini oluştur.Yapmak istediğin kodları yaz.
Diğer formunda IMPLEMENTATION kısmı altında " USES Form_adi " yaz..
Çagırmak istediğin yerde de sadece procedurenin adını yazman yeterli...
eğer çağırdığın orma bir değer döndereceksen FUNCTION kullanmanı tavsiye ederim...
1. form
Kod: Tümünü seç
unit unit1;
interface
uses
Windows, Messages, SysUtils,.................
type
TForm1 = class(TForm)
public
procedure islem; //********** genel procedure bloğu
end;
...
...
implementation
procedure islem
begin
...
...
end;
Kod: Tümünü seç
unit unit2;
interface
uses
Windows, Messages, SysUtils,.................
type
TForm1 = class(TForm)
...
...
implementation
uses UNIT1;
procedure button1.click();
begin
...
...
islem; // tanımlanan PROCEDURE ÇAĞRILIYOR
...
...
end;
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: ??
yaw @interboy kardeşim. senin istediğin olayı ben sorunun hemen ardından vermiştim. hiç incelemedin galiba...interboy yazdı:arkadaşlar teşekkür ederim
ama ya ben tüm formları oluşturmuşsam.
yani ben programdaki tüm fprmları oluşturdum.ama tüm formlarda olması gereken ortak kodlar war. bunları sonradan nasıl eklerim???
kolay gelsin
forma bir tane TApplicationEvents nesnesi koy. Additional sekmesinde bulabilirsin kendisini veya Application nesnesinin OnShortCut olayını da kullanabilirsin. ikiside aynı ama sen TApplicationEvents nesnesini kullan. sonra bu nesnenin OnShortCut adlı bir olayı var. Bu olaya aşağıdaki gibi bir kod yazman senin için yeterli.
Kod: Tümünü seç
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
if msg.CharCode = vk_f8 Then
ShowMessage('a');
end;