Değişkenler in Tanımı

Bildiğim ve öğrendiğim kadarıyla burda değişkenleri anlatıcam.
Bilinmesi gereken tek şey, değişkenler önemlidir! :D

Değişken, ingilizcesi Variable, dediğimiz şey;
programlama yaparken, komutlara veya nesnelere, kısaca elle tutulur gözle görülür türden olaylara yapıştırdığımız etikettir kısaca. Bunun dışında kullanacağımız değerlerede bu etiketi yapıştırırız. Kısacanın kısacası işimize yarıyacak şeyleri değişkenlerle belirtiriz.


Autoit de değişken, $ sembolü ile başlar, tüm dillerde böyle değildir bilinmesi gerek. Mesela visual basicde başına bişey koymaya gerek yoktur, normal yazı gibi yazarsın, neyse konumuz autoit de değişkenler vb i bi kenara atalım.

Değişkenler, adı üstünde değiştirilmek için vardır :P Yani değiştirmek istediğimiz, sonradan etkileşime girmek istediğimiz komuta, değere, değişken etiketi yapıştırırız, sen böyle kal ben seni sonra değiştiricem deriz :P

$var
bu autoit de bir değişkendir. $ sembolümüz, geriside değişkene verdiğimiz isimdir. Bu değişken hiçbir değere veya komuta etiketlendirilmemiştir, eğer bu şekilde scriptimize eklersek sadece var olduğunu biliriz, yani değeri koca bir 0 dır :)
$var = 1
bu ise değere sahip bir değişkendir, görüldüğü gibi 1 e eşitlenmiştir. Bunu scriptimizin içinde kullanmak istersek misal olarak, msgbox(0,"",$var) yazdığımızda mesaj kutusu bize 1 cevabını vericektir, bilakis :D 1 in yerine "selam" tarzı birşey yazarsak, mesaj kutusunda selam yazıcaktır. ( düz yazı girerken "" işaretleri arasında koymamız gerektiğini biliyoruz.)
$var1 = 2
$var2 = 3
Burada 2 değişkenimiz var görüldüğü gibi, şimdi nasıl kullanırız bu değişkenleri anlatmama pek gerek yok ama, msgbox(0,"",$var1 + $var2) yazdığımızda mesaj kutusu 5 cevabını vericektir, umarım açıklayıcı olmuştur.
$var1 = 2
$var2 = 3
$var3 = 4
$var4 = 1
Yukarıdaki örneğe bide böyle bi komplex yazmak istedim, eğer bunların hepsini toplamak istiyorsak yapıcağımız şey basittir; msgbox(0,"",$var1+$var2+$var3+$var4). Veya daha komplexe girmemiz gerekebilir, misal olarak 1. ve 2. değişkeni toplayıp, 3. ve 4. değişkeni çıkararak 2 sinin farkını bulmak istiyoruz, o zaman bu işlemleri başka bir değişkenle sağlıklı bir şekilde etiketlendiririz, çünkü mesaj kutusuna direkt olarak bunu yazmamız kafamızı karıştırır, işimizi zorlaştırır.
$var1 = 2
$var2 = 3
$var3 = 4
$var4 = 1
$1arti2 = $var1 + $var2
$3eksi4 = $var3 - $var4
$sonuc = $1arti2 - $3eksi4

msgbox(0,"",$sonuc)
görüldüğü gibi çok basit, değerli değişkenlere örnek bu kadar yeterlidir heralde :)

Şimdi nesnelere ve komutlara verebilceimiz değişkenlerden birkaç örnek verelim.

$buttonum = guictrlcreatebutton("aç",100,100,100,100)
Burada yaptığımız şey, oluşturduğumuz aç buttonuna $buttonum etiketini takmakdır, şimdi bunu yaptık elimize negeçti ? :) cevabı basit. Diyelimki scriptimiz bu tuşa bastıktan sonra bir program açıyor ve açıldıktan sonra birdaha bu tuşa basılmasını istemiyoruz. O halde etiketten bu tuşa ulaşıcaz ve tuşu iptal edicez, bunun için kullanıcağımız komut şudur;
Guictrlsetstate($buttonum,$GUI_DISABLE)
açıklayıcı olmuştur umarım. ($gui_disable kafanızı karıştırmasın, o scriptin genel bi işlevidir, onu biz yapmadık tanımlamadık yani script onu kendi tanıyor :).)

Aklıma geleni kadarıyla son bir örnek vermem gerekirse, oda komuttan olsun;

$programim = Run("x.exe","",@SW_SHOW,$STDIN_CHILD + $STDOUT_CHILD)
Burada STD komutu için programımızı açtık, bu demek oluyorki std komutuyla daha sonra bu programa doğrudan erişicez, erişimde vericeğimiz örnek komut ise şu şekilde;
StdinWrite($programim,"USER " & $User & @CRLF)
burada yaptığımız şey açtığımız programı doğrudan kullanmak, doğrudan nasıl eriştrik ? görüldüğü gibi etiket yardımıyla :)

Bilmemiz gereken en önemli şeylerden biriside, değişkenleri doğru tanıtmaktır.
eğer bir değişkeni scriptin farklı yerlerinde, yani farklı fonksiyonlar içinde, sürekli kullanıcaksak, değişkeni dizilişde en üstte başına Dim koyarak tanıtmalıyız, dim ey bütün script! tanı beni! demektir :D. Örnek olarak 2 fonksiyonumuz var diyelim, ve bu 2 fonksiyondada aynı değişkeni kullanıcaz, o halde 2 fonksiyonunda bu değişkeni bilmesi, tanıması gerekir. Bunu uzun yoldan her fonksiyonun içinde tanıtarak yaparız, şu şekilde;
Func test()
$var = 1
msgbox(0,"",$var)
Endfunc

Func test2()
$var = 1
msgbox(0,"",$var)
Endfunc
burada değişkeni 2 fonksiyondada kullanabilmek için ayrı ayrı tanıttık, ancak bu işin daha sağlıklı, dolandırmayan ve basit yolu vardır, hepsine ayrı ayrı tanıtmaktansa 1 kere yaparız tam tanıtırız :) oda şu şekilde;
Dim $var = 1

Func test()

msgbox(0,"",$var)
Endfunc

Func test2()
msgbox(0,"",$var)
Endfunc
unutmamamız gereken değişkeni kullanıcağımız satıra göre, daha üst satırda tanıtmaktır. Dim biraz daha detaylı gibidir, yerine Global de kullanılabilir, ama sonucta ikiside aynı işi görür.

Değişken (variable), bir çok açıdan işinizi kolaylaştırır, kafanızın karışmasını engeller, scriptinizi düzene sokar, neyin nerede olduğunu ne işe yaradığını bilirsiniz. Bunun için değişken oluşturmaktan kaçınmayın, bol bol değişken kullanın :P Anlattıklarım, değişkenlerin temelini anlamaya yardımcı olucaktır, şimdilik aklıma geleni bu kadar.

1 yorum:

313 dedi ki...

Ufak bir örnek daha, değişkeni mesaj kutusunda text ile birlikte kullanmak için method & :)
örnek :
$var = "12345"
Msgbox(0,"","Birdne beşe : "&$var)
msgbox(0,"","Sayılar : "&$var&" böyle..")

Yorum Gönder