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,
Global değişken tanımlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Global değişken tanımlama
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: Global değişken tanımlama
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
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: Global değişken tanımlama
Çö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. gibisinden. Başındaki x bana bu değişkeni GlobalDegiskenler.PAS unitinde arayacağımı bildiriyor.
teşekkürler.
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;
teşekkürler.
-
- Üye
- Mesajlar: 386
- Kayıt: 02 Tem 2007 09:43
Re: Global değişken tanımlama
önerileriniz gayet mantıklı teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Re: Global değişken tanımlama
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.gibisinden. Başındaki x bana bu değişkeni GlobalDegiskenler.PAS unitinde arayacağımı bildiriyor.Kod: Tümünü seç
xBoyut, xGenislik, xPozisyon : Integer;
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;