Global değişken tanımlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Global değişken tanımlama

Mesaj gönderen akuyumcu63 »

merhaba arkadaşlar;
delphi 7 kullanıyorum. bir programın bütün unitlerinde geçerli olabilen yada programın her tarafında değerine ulaşabileceğim bir değişken tanımlamak istiyorum bunu nasıl yapabilirim.

kolay gelsin,
İsteyen, yapabildiğinden daha fazlasını yapar.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Global değişken tanımlama

Mesaj gönderen ikra »

form1 in public kismina tanimladigin bir degiskene, yine form1 in unitini ekledigin her bir unitten ulasabilirsin. yada implementation satirinin altina tanimladigin degiskenlere, diger unitlerden, degiskenin tanimlandigi uniti ekleyerek ulasabilirsin.
kıdemsiz üye
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: Global değişken tanımlama

Mesaj gönderen akuyumcu63 »

çok teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Global değişken tanımlama

Mesaj gönderen mrmarman »

Çözüm sunulmuş ama bir tane önerim olacak.

Global değişkenin hangi unit'de tanımlandığını unutma durumu ( unutmak ne sorun yaratır, aslında sorun yaratmaz sadece bir süre sonra atıl kalırsa diye el altında bulunmasında fayda var ) GlobalDegiskenler.PAS şeklinde bir unit oluşturup burada biriktirmek, hatta gruplayarak benzer amaçlı değişken veya Type tanımlarını göz önünde turmak, ihtiyaç olduğunda ilk akla gelecek unit olması açısından önermek istedim. Kendi projelerimde böyle uyguluyorum şahsen kolaylığına alıştım nedenle tavsiye ediyorum.

Global değişkenlerin de başlarına küçük bir harf ifade ekleyerek bunun global bir değişken olduğunu bize hatırlatmasını sağlamak da uyguladığım ve kolaylığını gördüğüm önemli faydalarında birisi. Mesela kendi uygulamalarımda başına küçük x harfi koyuyorum.

Kod: Tümünü seç

xBoyut, xGenislik, xPozisyon : Integer;
gibisinden. Başındaki x bana bu değişkeni GlobalDegiskenler.PAS unitinde arayacağımı bildiriyor.

teşekkürler.
Resim
Resim ....Resim
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: Global değişken tanımlama

Mesaj gönderen akuyumcu63 »

önerileriniz gayet mantıklı teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Global değişken tanımlama

Mesaj gönderen neu84 »

mrmarman yazdı:Çözüm sunulmuş ama bir tane önerim olacak.

Global değişkenin hangi unit'de tanımlandığını unutma durumu ( unutmak ne sorun yaratır, aslında sorun yaratmaz sadece bir süre sonra atıl kalırsa diye el altında bulunmasında fayda var ) GlobalDegiskenler.PAS şeklinde bir unit oluşturup burada biriktirmek, hatta gruplayarak benzer amaçlı değişken veya Type tanımlarını göz önünde turmak, ihtiyaç olduğunda ilk akla gelecek unit olması açısından önermek istedim. Kendi projelerimde böyle uyguluyorum şahsen kolaylığına alıştım nedenle tavsiye ediyorum.

Global değişkenlerin de başlarına küçük bir harf ifade ekleyerek bunun global bir değişken olduğunu bize hatırlatmasını sağlamak da uyguladığım ve kolaylığını gördüğüm önemli faydalarında birisi. Mesela kendi uygulamalarımda başına küçük x harfi koyuyorum.

Kod: Tümünü seç

xBoyut, xGenislik, xPozisyon : Integer;
gibisinden. Başındaki x bana bu değişkeni GlobalDegiskenler.PAS unitinde arayacağımı bildiriyor.

teşekkürler.

Öneriniz için tşk ederim.. Bahsettiginiz gibi bir unitte global degişkenleri tutunca herhangi bir formdan çagırıldıgında ve degeri degiştirildiginde bu deger yine o unitin içinde oluyor dimi?
Bir Record Type ım var, bunu ana formumda tanımladım, başka bi formdan çagırıp array olarak deger yüklemem gerek. Bu record type ı çagırdıgım formda mı yoksa anaformumda mı
var Musteri:MyRecordType; yada var Musteri: Array of MyRecordType; gibi tanımlamam lazım?.. Yoksa sizin dediginiz gibi bi global unit oluşturup orada mı tanımlamam gerek.. Şimdiden tşk ederim cevap için...

Kod: Tümünü seç

      
 type
  MyRecordType=record
    Ad:string;
    Soyad:string;
    end;
Cevapla