Modül
İçerikler
Dizin 🔎︎

# Değişkenlerin Kullanımı

LibreOffice Basic'de değişkenlerin temel kullanımı açıklanmaktadır.

## Değişken Tanımlayıcıları için Adlandırma Kuralları

Bir değişken ismi en fazla 255 karakter içerebilir. Değiken isminin ilk karakteri bir A-Z ya da a-z harfi olmalıdır. Sayılar da değişken ismine dahil edilebilir. Alt çizgi ("_") dışında noktalama işaretlerine ve özel karakterlere izin verilmez. LibreOffice Basic'te değişken tanımlayıcılar büyük-küçük harf duyarlı değildir. Değişken isimleri boşluk içerebilir ancak bu durumda köşeli parantezlerle kapatılmalıdır.

Değişken kimlikleri için örnekler:

    MyNumber=5
| Doğru
    MyNumber5=15
| Doğru
    MyNumber_5=20
| Doğru
    My Number=20
| Geçerli değil, boşluk içeren değişkenler köşeli parantez içine alınmalı
    [My Number]=12
| Doğru
    DéjàVu=25
| Geçersiz, özel karakterler kullanılamaz
    5MyNumber=12
| Geçersiz, değişken bir sayı ile başlayamaz
    Number,Mine=12
| Geçerli değil, noktalama işareteleri kullanılamaz

## Değişken Bildirimleri

LibreOffice Basic'te bir değişkeni açıkça belirtmek zorunda değilsiniz. Bir değişken bildirimi Dim ifadesi ile yapılabilir. İsimleri virgülle yırarak bir seferde birden fazla değişken bildirebilirsiniz. Değişken tipi tanımlamak için, ya isimden sonra tip-bildirim işareti ya da uygun anahtar kelimeyi kullanın.

Değişken tanımlamaları için örnekler:

    Dim a$
| "a" değişkenini bir Dizi olarak tanımlar
    Dim a As String
| "a" değişkenini bir Dizi olarak tanımlar
    Dim a$, b As Integer
| Bir değişkeni karakter dizisi, bir değişkeni de Tamsayı olarak tanımlar
    Dim c As Boolean
| c adında TRUE ya da FALSE değer alabilen Boolean değişken tanımlar

Bir anahtar sözcük yerine bir bildirimde kullanılmış olsa bile, her zaman değişken bildirirken tip bildirim karakterini kullanmanız çok önemlidir. Bu yüzden aşağıdaki durumlar geçersizdir:

    Dim a$
| "a"'yı bir Dizi olarak tanımlar
    a="TestString"
| Atlanmış tip bildirimi: "a$="

Bir değişkeni belli bir tipte bildiğiniz zaman aynı isimle başka bir tipte bir değişken bildiremesiniz!

### Değişken Tanımlarının Zorunlu Kılınması

Değişkenlerin tanımlanmasını zorunlu kılmak için, aşağıdaki komutu kullanın:

    Option Explicit

Option Explicit ifadesi ilk SUB ' dan önce modül içindeki ilk satır olmak zorundadır. Genellikle, sadece dizilerin açıkça tanımlanması gerekmektedir. Diğer tüm değişkenler tip-tanımlama karakterine göre tanımlanır, veya - eğer belirtilmediyse - Single varsayılan tipinde olduğu gibi.

## Değişken Tipleri

LibreOffice Basic dört değişken sınıfını destekler:

- Numeric değişkenler sayı değerleri içerir. Bazı değişkenler büyük ya da küçük sayıları, diğerleri de kayan-noktalı ya da kesirli sayıları depolamak için kullanılır.

- String değişkenler karakter dizisi içerir.

- Boolean değişkenler TRUE ya da FALSE değer içerir.

- Nesne değişkenleri bir belge içinde tablolar ve belgeler gibi, değişken türünün farklı nesnelerini depolayabilir.

### Tam Sayı Değişkenleri

Tam sayı değişkenler -32768 ile 32767 arasındadır. Eğer bir kayan-noktalı değeri tamsayı değişkene atarsanız, ondalık kısım bir sonraki tam sayıya yuvarlanır. Tam sayı değişkenler yordamlarda hızlıca hesaplanır ve döngülerde sayaç değişkeni olarak uygundur. Bir tam sayı değişkeni sadece iki byte belleğe ihtiyaç duyar. "%" tip-bildirim karakteridir.

    Dim Variable%

    Dim Variable As Integer

### Uzun Tam Sayı Değişkenleri

Uzun tamsayı değişkenler -2147483648 ile 2147483647 aralığındadır. Eğer kayan-noktalı bir değeri uzun tam sayı değişkene atarsanız, ondalık kısım bir sonraki tam sayı değere yuvarlanır. Uzun tamsayı değişkenleri yordamlarda hızlıca hesaplanır ve büyük değerler için döngülerde sayaç değişkeni olarak kullanılmaya uygundur. Bir uzun tam sayı değişkeni dört byte belleğe ihtiyaç duyar. "&" tip-bildirim karakteridir.

    Dim Variable&

    Dim Variable As Long

### Ondalıklı Değişkenler

Ondalık değişkenler pozitif, negatif sayılar veya sıfır değeri alabilir. Duyarlılık 29. basamağa kadardır.

Ondalık sayılar için önek olarak artı (+) veya eksi (-) işaretleri kullanılabilir. ( boşluklu ya da boşluksuz ).

Bir ondalık sayı bir tamsayı değişkenine atanmışsa, LibreOffice Basic ondalıklı sayıyı aşağı veya yukarıdaki bir değere yuvarlar.

### Tekil Değişkenler

Tekil değişkenler 3.402823 x 10E38 ile 1.401298 x 10E-45 arasında negatif veya pozitif değerler alabilir. Tekil değişkenler kayan noktalı değişkenlerdir, sayının ondalık olmayan kısmı arttıkça ondalık hassasiyet azalır. Tekil değişkenler ortalama hassasiyetteki matematiksel hesaplamalar için uygundur. Hesaplamalari Tamsayı değerlerden daha fazla zaman gerektirir, fakat Çift değişkenlerle yapılan hesaplamalardan daha hızlıdır. Bir Tekil değişken 4 bayt hafıza gerektirir. Tip bildirim karakteri ünlem işaretidir "!".

    Dim Variable!

    Dim Variable As Single

### Çift Değişkenler

Çift Değişkenler 1.79769313486232 x 10E308 ile 4.94065645841247 x 10E-324 arasında negatif veya pozitif değerler alabilir. Çift değişkenler kayan noktalı değişkenlerdir, sayının ondalık olmayan kısmı arttıkça ondalık hassasiyet azalır. Çift değişkenler kesin hesaplamalar için uygundur. Hesaplamalar Tekil değişkenlerinkinden daha fazla zaman gerektirir. Bir Çift değişken 8 bayt hafıza gerektirir. Tip bildirim karakteri numaralandırma işaretidir "#".

    Dim Variable#

    Dim Variable As Double

### Para Birimi Değişkenleri

Para Birimi değişkenleri 64-bit sayılar şeklinde (8 bayt) dahili olarak depolanır ve 4 ondalık kısım ile 15 ondalık olmayan kısımdan oluşan sabit ondalıklı sayılar şeklinde gösterilir. Değer aralığı -922337203685477,5808'den +922337203685477,5807'ye kadardır. Para birimi değerlerinin yüksek hassasiyetle hesaplanması için kullanılırlar. Tip bildirim karakteri "@" işaretidir.

    Dim Variable@

    Dim Variable As Currency

### Dizi Değişkenleri

Dizi değişkenleri 65,535 karaktere kadarlık karakter dizilerini barındırır. Her karakter kendine karşılık gelen Unicode değeri olarak depolanır. Dizi değişkenleri programlardaki kelime işlemleri için veya 64 Kilobayt uzunluğa kadar, basılamaz karakterlerin geçici olarak depolanması için uygundur. Dizi değişkenlerini saklamak için gerekli hafıza değişkendeki karakter sayısına bağlıdır. Tür bildirim karakteri "$" işaretidir.

    Dim Variable$

    Dim Variable As String

### Mantıksal Değişkenler

Boolean değişkenleri iki değerden sadece birini depolar: DOĞRU ya da YANLIŞ. Sadece 0 YANLIŞ, diğer tüm değerler DOĞRU kabul edilir.

    Dim Variable As Boolean

### Tarih Değişkenleri

Tarih değişkenleri sadece dahili biçimde depolanan tarih ve zaman değerlerini içerir. Değişkenler Tarih değişkenine Dateserial, Datevalue, Timeserial ya da Timevalue ile atanırlarve otomatik olarak dahili formata dönüştürülürler. Tarih değişkenleri Day, Month, Year or the Hour, Minute, Second fonksiyonları kullanılarak normal sayılara dönüştürülürler. Dahili biçim iki sayı arasındaki farkı hesaplayarak tarih/zaman karşılaştırması yapabilir. Bu değişkenler sadece Date anahtar kelimesiyle tanımlanabilir.

    Dim Variable As Date

## Değişkenlerin Başlangıç Değerleri

Değişkenler tanımlandıklarında otomatik olarak "Null" değerini alırlar. Aşağıdaki kurallara dikkat edin:

Sayısal değişkenlere tanımlandıklarında otomatik olarak "0" değeri atanır.

Tarih değişkenleri dahili olarak 0 değerine atanır; aynı şekilde Gün, Hafta, Yıl ya da Saat, Dakika, Saniye fonksiyonlarıyla da değeri "0" a dönüşür.

Karakter dizisi değişkenleri tanımlandığında, boş bir ("") karakter dizisi atanır.

## Diziler

LibreOffice Basic özel bir değişken tipi tarafından tanımlanmış tek veya çok boyutlu dizileri tanır. Diziler programlardaki listeleri ve tabloları düzenlemek için uygundur. Bir dizinin özel öğeleri sayısal bir indeksle adreslenebilir.

Diziler Dim durumu ile tanımlanmak zorundadır. Bir dizinin dizin aralığını tanımlamanın farklı yolları vardır:

    Dim Text$(20)
| 21 eleman 0'dan 20'ye kadar numaralandı
    Dim Text$(5,4)
| 30 eleman (6 x 5 lik bir matris elemanları)
    Dim Text$(5 To 25)
| 21 eleman 5'ten 25'e kadar numaralandı
    Dim Text$(-15 To 5)
| 21 eleman (0 dahil), -15'ten 5'e kadar numaralandı

Dizin aralığı pozitif ve negatif sayılar içerebilir.

## Sabitler

Sabitler değişmez bir değere sahiptir. Programda bir kere tanımlanırlar ve tekrar tanımlanamazlar:

    Const ConstName=Expression