tüm programa tek kod..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
interboy
Üye
Mesajlar: 84
Kayıt: 18 Mar 2005 02:52

tüm programa tek kod..

Mesaj gönderen interboy »

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ı???
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

TApllication nesnesini kullanarak yapabilirsiniz.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

- Umarım bir cümlede ifade edebilirim. Karışık gelirse söyle... :oops:

- 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...
Resim
Resim ....Resim
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

veya, formların inherited özelliğini kullanabilirsiniz...
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

s.a.

iyi çalışmalar...

@OĞUZ hocam formun inheridet özelliğini nasıl kullanabiliriz? biraz açabilir misiniz?[/quote]
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

3 yada 4 nolu seminerlerin sunularına bakabilirsiniz.
ÜŞENME,ERTELEME,VAZGEÇME
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Gökmen abinin dediği gibi bu seminerlerde detaylı bir şekilde anlatıldı. İzledikten sonra anlamadığınız yer olursa sorun, elimizden geldiği kadar yardım ederiz...
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

s.a.

ilginize teşekkür ederim...

konu 3. seminerde geçiyor

yanlız uygulamayı tam olarak anlayamadım... :oops:

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)
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

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.
Kullanıcı avatarı
interboy
Üye
Mesajlar: 84
Kayıt: 18 Mar 2005 02:52

??

Mesaj gönderen interboy »

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
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

@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

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;

2. form

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;


Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: ??

Mesaj gönderen sadettinpolat »

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
yaw @interboy kardeşim. senin istediğin olayı ben sorunun hemen ardından vermiştim. hiç incelemedin galiba...

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;
hangi formda olursan ol f8 tuşuna bastığın zaman burdaki kodlar çalışır...
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
interboy
Üye
Mesajlar: 84
Kayıt: 18 Mar 2005 02:52

danke

Mesaj gönderen interboy »

arkadaşlar tşk ederim.
sadettinpolat hocam kusura bakma atlamışım:)
kolay gelsin..
Cevapla