Axapta’da değişkenler
Değişkenler kod bloğu işletilene kadar veryi tutarlar:
- Tüm değişkenler bir kapsama sahiptirler. Bu değişkenin erişilebildiği alanı ifade eder.
- Değişkenler genel bir erişim sahasına sahip olabilirler. Bunun için değişkenin classDeclerationda tanımlanması gerekir. Yada yerel bir erişim sahasına sahip olabilirler buda değişkenin method içinde tanımlanması anlamına gelir.
Değişken tanımlarken tipinin tutmak istedeğiniz veri tipiyle uyumlu olmasına dikkat etmeliyiz. Yine değişkenlere sistemde daha önce kullanılmış komut ve anahtar kelimeler dışında isimler verilebilir. Bu reserve edilen kelimelerin listesini Geliştirmeci Yardımının altında Anahtar Kelimeler başlığı altında bulabilirsiniz.
Önerilen Uygulama: Değişkenlere isim verilirken okuduğunuzda size bir anlam ifade edicek şekilde olmasına dikkat edin! |
Değişken Tanımlamak
Bütün değişkenler kullanılmadan önce tanımlanmalıdır. Bir değişken tanımlandığında belleğin bir kısmı reserve edilir. Basit bir değişken ya da nesne değişkeni tanımlası söz dizimi aynıdır.
Değişken tanımlamayı X++ kodu ile karıştıramazsınız, tanımlama kod yazılmadan önce yapılmalı.
Değişken tanımlanırken uyulması gereken üç kural vardır:
- Kod içinde herhangi bir şeyden önce değişkenler tanımlanmalı.
- Tanımla ifadelerinin sonunda noktalı virgül konmalıdır.
- Tanımlardan sonra koddan hemen önce bu blokları birbirinden ayrımak için noktalı virgül kullanılmalıdır.
NOT: Eğer derleyici noktalı virgülü bulamaz ise değişkenlerin tanımlandığı blok ile X++ kod bloğunun başladığı yerin ayrıdına varamayabilir. Eğer bir değişken tanımlamadıysanız ve kuşak imlecinden sonraki ilk satırınız noktalı virgül ile başlamıyor ise derleyici hata verecektir. Önerilen uygulama herzaman X++ kodu ilk satırından hemen önce noktalı virgül kullanmanızdır. |
Bazen bir değişken tanımlandığında varsayılan değerinden farklı bir değerde olmasını isteyebilirsiniz. X++ değişkenlerin tanımlama ifadelerinde başlatılmasını destekliyor.
int a = 10; // a is assigned the value 10
Basit Veri Tipleri
Veri Tipi | Açıklama | Örnek | Tanımlama Anahtar Kelimesi |
String | String bir karakter dizisidir. X++ stringin birçok türünü destekler: Sola hizalı, sağa hizalı , sabit uzunlukta, sabit olmayan uzunlukta.Maximum uzunluk 999 karakterdir. | Account | str |
Integer | Bilindiği üzere doğal sayıdır ve geçek sayıların noktalaması yoktur. | 1090 | int |
Real | Tam sayıdan sonra küsürat ifade edilebilir. | 3,14(US: 3.14) | real |
Veri Tipi | Açıklama | Örnek | Tanımlama Anahtar Kelimesi |
Date | Gün, ay, yıl içerir. | 24\11\59 | date |
Enum | Enum değerleri bize dahili integerlar gibi sunar. İlk elemanın değeri 0 dır ve bir sonraki 1,2 gib devam eder. İfadelerde enum değeri için karşılık geldiği integer değerini kullanbilirsiniz. | NoYes | Tanımlayabilmek için önce Base enumun tanımlanmış olması gerekir. |
Boolean | Boolean sadece True – False değerlerini içerir can only contain the values false and true. Enum değerleri False ve True X++ ta ön tanımlıdır ve derleyici bunları tanır. | TRUE | boolean |
Time | Saatleri, dakikaları, saniyeleri içerir. | 15:23:08 | timeOfDay |
utcDateTime | Yıl, ay, gün, saat, dakika, saniye içerir. | 9/28/2008 07:11:02 am | utcDateTime |
Guid | Global Unique Identifier, Herhangi bir bağlamda tekil olan referans numarasıdır. | {3F2504E0-4F89-11D3-9A0C-0305E82C3301} | guid |
Int64 | 64 bitlik integer içerir. | 5637144579 | Int64 |
Birleşik Veri Tipleri
Veri Tipi | Açıklama |
Array | Array aynı tipteki ve aynı isimdeki unsurların listesidir. |
Container | Container basit veri tipleri ve birleşik veri tiplerini içeren dinamik unsurların listesidir. |
Classes | Class değikenler ve methodlar tanımlayabildiğimiz veri tipidir. |
Tables | Bütün tablolar veri tabanında tanımlanır ve sınıf tanımları gibi kullanılabilirler. |
Basit Değişken Tanımlamak
Söz dizimi aşağıdaki gibidir:
dataType variableIdentifier;
Örnekler:
int integerVariable;
real realVariable;
str unboundStringVariable;
str 30 boundStringVariable; // contains a maximum of 30 characters
date dateVariable;
boolean booleanVariable;
Değişken Atamaları
int counter, toCount;
int fromCount = 1;
Aynı tipte birde fazla değişkeni farklı isimler vermek şartıyla tanımlayabilirsiniz.