Autoplay Media Studio Eğitimi 1

Konusu 'AutoPlay Media Studio Öğreniyorum' forumundadır ve guclusat tarafından 21 Aralık 2018 başlatılmıştır.

  1. guclusat
    Offline

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    11.151
    Ödül Puanları:
    63
    DEĞİŞKENLER (Variable)

    * Değişkenler için programlamada yapı taşları diyebiliriz. Değişkenleri içlerine veri depolamak, daha sonra depoladığımız verileri istersek değiştirmek, başka değişken veya değerlerle birleştirmek, ekrana yazdırmak, hesaplama yapmak gibi bir çok işlemde kullanabiliriz.

    Örnek:


    isim = "ahmet"



    Burda isim değişkenine ahmet değerini depoladık. Şimdi bunu istediğimiz yerde kullanabiliriz.

    Dialog.Message("Adamın ismi:", isim)

    Bu kod ekrana ahmet değerini yazdıracaktır. İstersek

    Dialog.Message("Adamın ismi:", "ahmet")



    kodunuda kullanabilirdik, sonuç değişmezdi fakat, programlamada ilerledikçe çok uzun değerler, birleştirilmesi gereken değerler gibi olaylarla çalışmaya başladığınız zaman değişken olayının işinizi çok kolaylaştıracağını göreceksiniz. Örneğin 10 sayfalık bir projede her sayfada bir INI dosyasından veri alacaksınız. INI dosyasıda diyelimki C:\Documents and Settings\selami\desktop\programlar\adresler.ini adresinde. Burdan veri çekmek için her sayfadaki kodu şu şekilde kullanmanız gerekiyor:

    INIFile.GetValue("C:\\Documents and Settings\\selami\\desktop\\programlar\\adresler.ini", "Ev", "adres1")



    fakat her kodda bu kadar uzun yol kullanmak yerine şu şekilde yapsaydık daha derli toplu bir görüntü oluşurdu:

    sDosyaYolu = "C:\\Documents and Settings\\selami\\desktop\\programlar\\adresler.ini";

    INIFile.GetValue(sDosyaYolu, "Ev", "adres1")



    Gördüğünüz gibi sadece değişkenimizi yazdık ve veriyi çektik.

    * Değişkendeki veriyi, kendine ekleme yaparakda değiştirebiliriz.

    Örnek:

    sayi = 10
    sayi = sayi + 10



    Bu şekilde yaptigimiz zaman ilk satirda sayi degiskenine 10 sayısını depolarız ve ikinci satırda sayi degiskenini 10 ile toplayip depoladigi veriyi degistirebiliriz.

    *** Global Functionsda örneğin isim = "selami" değişkenini tanımladıktan sonra projenin başka yerinde isim değişkenine başka bir veri depolarsak son depoladığımız veri geçerli olmaktadır.


    a = 10;
    b = a;
    Dialog.Message("değer", B);



    Bu örnektede b değişkenine a değişkenini depoluyoruz, a değişkenine daha önce 10 değerini depoladığımız için b değişkenini ekrana yazdırdığımızda karşımıza 10 değeri gelecektir.


    *** Değişkenler sayı ile başlayamaz, operatorler isimleri kullanilamaz, boşluk karakteri kullanılamaz ve değişkenlerde türkçe karakter kullanılamaz!.

    Hatalı değişkenlere örnekler:

    1
    1data
    %MyValue%
    $strData
    for
    local
    _FirstName+LastName_
    User Name




    NUMARALAR (number)

    Numaralar Numerik değerlerdir. AMS de kullanılabilecek geçerli numara örnekleri şunlardır:

    4 4. .4 0.4 4.57e-3 0.3e12





    DEĞERLER (string)

    Değerlerden sıkça bahsettik, şimdi ne olduğuna bakalım. Değerler, birleşik karakterlerdir. Örneğin “Joe2” 4 karakterli bir değerdir. Büyük J ile başlar, 2 sayısı ile biter. Karakter sınırı yoktur, bir kelimeden, bir cümleden yada bir kitabı tamamen içerebilir.

    Değerler her zaman "" karakterleri içinde gösterilir:

    isim = "selami"
    sehir = "istanbul"
    adres = "12 nolu sk. 78. cadde"




    Eğer değerlerin için "" tırnak işareti kullanmak istiyorsanız kullanacağınız tırnak işaretlerinden önce \ karakterini kullanmanız gerekir:

    cumle = "Orda bir köy var uzakta, Köyün ismi \"abacılar köyü\" dür."



    Bu şekilde kullanılmazsa syntax hatası verir.

    Değerlerin içinde satırlar kullanmak isterseniz \n ibaresini kullanmanız gerekir:

    Lines = "Line one.\nLine two.\nLine three";
    Dialog.Message("Here is the String", Lines);



    http://www.indigorose.com/webhelp/a..._guide/ams60_scripting_three_lines_dialog.png

    Dosya yolu belirtirken \ karakterinden iki adet kullanmanız gerekir.

    dosya_yolu = "C:\\Program Files\\MSN\\msn.exe"



    Eğer değer sadece sayı içeriyorsa ams bunu direk sayıya dönüştürecektir.

    a = "10" + 1 -- sonuç 11 olacaktır.



    Ama değerin kendi içinde hesaplama yaptırılamaz.

    a = "10+1" -- ekrana yazdırıldığında 10+1 olarak görünecektir.

    a = 10+1 -- hesaplamada doğru yol budur.





    FONKSİYONLAR (function)

    Büyük projelerinizde kod karmaşından kurtulmak için yardımınıza koşacak aracımız fonksiyonlardır. Hazırlayacağınız fonksiyon kodlarıyla, aynı kodları tekrar tekrar kullanmaktan kurtursunuz. Kullanımı şu şekildedir:

    function fonksiyon_adı (argümanlar)
    fonksiyon kodları
    return dönüş_değeri;
    end



    Örnek:

    function hosgeldin()
    Dialog.Message("merhaba","Hoşgeldiniz!");
    end



    Programın giriş bölümüne

    hosgeldin()

    kodunu yazdığınız zaman Dialog penceresini açıp hoşgeldiniz diyecektir. Tabi bu basit bir örnek. Sınırı hayalgücünüzle doğru orantılıdır...



    TABLOLAR (table)

    Tablolar indekslenmiş değerleri liste halinde tek bir isimde depolamanın en güçlü ve kolay yoludur.

    Örnek:

    isimler = {"Ahmet", "Selami", "Mustafa"}

    Dialog.Message("Tablodaki ikinci kişi:", isimler[2])



    bu kod ekrana selami ismini yazdıracaktır. çünkü isimler[2] dediğimizde isimler tablosunda 2. sıradaki değeri alacaktır.

    İkinci tablolama şekli:

    tSarkici = {}
    tSarkici.isim = "şebnem"
    tSarkici.soyisim = "ferah"
    tSarkici.yas = "35"

    Dialog.Message(tSarkici.isim, tSarkici.soyisim)



    bu kod şebnem ve ferah değerlerini yazdıracaktır.

    Tablolamada şöyle bir yazım tarzı daha vardır;

    tVeriler = {Meyve="Elma",Renk="Kırmızı"}
    Dialog.Message("", tVeriler.Meyve);



    AMS8'de pairs espriside bu tablolardaki Meyve ve Renk yazılarını göstermemizi sağlıyor..

    pairs argümanını şu şekildede kullanabiliriz:

    tMeyveler = {"Elma", "Armut", "Portakal"}

    for i in pairs(tMeyveler) do
    Dialog.Message("Meyveler:", tMeyveler)
    end



    Bu kodu çalıştırdığımız zaman tMeyveler tablosundaki öğeleri sırayla ekrana yazdıracaktır. i argümanının esprisi daha öncede belirttiğimiz gibi tablonun içindeki öğelerin indeks numaralarıdır.



    KONTROL YAPILARI (KOŞULLANDIRMA)

    Kodlarınıza koşullar ve kontrol yapıları ile yön verebilirsiniz.

    Kontrol Yapı operatorleri if, while, repeat ve for'dur.

    - if

    eğer anlamına gelen if ile koşullandırma yapıyoruz. Yapısı basitçe şu şekildedir:

    if şartlandırma then
    koşul gerçekleşirse çalışacak kodlar
    end




    Örnek:

    x = 50;
    if x > 10 then -- eğer x 10 sayısından büyükse
    Dialog.Message("result", "x, 10'dan büyüktür"); -- mesajı görüntüle.
    end



    else operatoru ile koşullandırmamıza şartlar koşabiliriz:

    x = 50;
    if x > 10 then -- eğer x 10 sayısından büyükse
    Dialog.Message("result", "x, 10'dan büyüktür"); -- mesajı görüntüle.
    else -- değilse
    Dialog.Message("result", "x, 10'dan küçüktür"); -- mesajı görüntüle.
    end



    elseif kullanarak koşullandırmamızdaki doğru sonuca ulaşınca çalıştırılacak kodları belirleyebiliriz:

    x = 5;
    if x == 10 then
    Dialog.Message("", "x eşittir 10");
    elseif x == 11 then
    Dialog.Message("", "x eşittir 11");
    elseif x == 12 then
    Dialog.Message("", "x eşittir 12");
    else
    Dialog.Message("", "x eşit değildir 10/11/12 ");
    end



    eğer x ordaki hiç bir sayıya eşit olmadığı için else den sonraki eşit değildir mesajı görüntülenecektir. fakat x = 10 olsaydı ilk mesaj, 11 olsaydı 2. mesaj, 12 olsaydı 2. mesaj görüntülenecekti.



    - While

    While döngüsü, koyduğumuz şart yerine gelene kadar kodu tekrarlayacaktır. Basit yapı şu şekildedir:

    while şartlandırma do
    çalıştılacak kodlar
    end



    Örnek:

    a = 1;
    while a < 10 do
    a = a + 1;
    end



    Bu kodda a = a + 1 kodu 9 defa çalıştırılacaktır. Çünkü şartımızda a < 10 (a 10'dan küçükse) dedik ve a = 1, yani 10 sayısına ulaşmak için 9 kere 1 ile toplamamız gerekiyor a = a + 1 dediğimizde a+1+1+1+1+1+1+1+1 şeklinde çalışacak ve sayı 10'a ulaşında duracaktır.


    while döngüsü esnasında yine şartlandırma yaparak break argümanı ile döngüyü durdurmak mümkün.

    count = 1;
    while count < 100 do -- count 100 den küçükse yap
    count = count + 1; -- count'a 1 ekle
    if count == 50 then -- eğer count 50'ye eşitse
    break; -- döngüyü durdur
    end
    end



    count 50 sayısına ulaştığında break argümanı döngüyü durduracaktır.



    - For

    for ifadesi kısaca kod tekrarı yaparken kullanılır. Basitçe yapısı şu şekildedir:

    for değişken = başlama, durma, adım do
    çalışacak kodlar
    end




    Örnek:

    for i = 1,10,1 do
    Dialog.Message("Number", i);
    end



    Burda i harfi döngüde dönen sayıyı belirtir. i=1,10,1 şu demektir;

    i = döngü sayısı
    1 = başlangıç
    10 = bitiş
    1 = adım


    yani 1 den 10 a kadar 1'er 1'er say ve i harfinde depola

    daha sonrada Dialog.Message("Number", i); yazarak dialogda sayıları gösterir.

    Bitiş sayısı kaç ise o sayıya kadar döngü tekrarlanır.



    - repeat:

    Repeat döngüsü for döngüsüne çok benzerlik göstermektedir. Verilen koşulu until şartlandırmasına kadar tekrar eder.

    Örnek:

    x = 50;

    repeat

    x = x + 1; - altta x >= 100 diye koşul koyduk bu koşul sağlanana kadar x'in üzerine bir ekleyecek..

    until

    x >= 100 - koşulumuz x değişkeni 100e eşit olursa veya büyük olursa bu koşul sağlanınca döngü duracak



    *** break argümanı for döngüsünde, repeat döngüsünde ve while döngüsünde döngüyü durdurmak için kullanılır.



    OPERATORLER

    - Aritmetik Operatorler:

    Aritmetik Operatorler Matematiksel işlemlerde kullanılır. Şu operatorler desteklenmektedir:

    + (toplama)
    - (çıkarma)
    * (çarpma)
    / (bölme)
    % (yüzde)
    ^ (üssü)
    unary - (olumsuzluk)


    Örnek:

    a = 5 + 2; -- 5+2 yi topla ve a değişkeninde depola
    b = a * 100; -- a değişkeninde depolanan sayıyı 100 ile çarp
    Dialog.Message("Sonuç:", B) -- b'yi yazdır



    Denediğiniz zaman 700 sonucu çıktığını göreceksiniz.



    - İlişkisel Operatorler:

    İlişkisel operatorler iki değeri karşılaştırmak için kullanılır. Şu operatorler desteklenmektedir:

    > (Büyükse)
    < (Küçükse)
    <= (küçükse yada eşitse)
    >= (büyükse yada eşitse)
    ~= (eşit değilse)
    == (eşitse)


    Örnek:

    a = 5
    b = 1

    if a > b then -- eğer a, b'den büyükse
    Dialog.Message("Sonuç:", "a, b'den büyüktür.")
    end



    Kod bu şekilde çalıştırıldığında "a, b'den büyüktür" şeklinde bir dialog penceresi çıkacaktır. a ve b deki sayılar yer değiştirildiğinde hiç bir yanıt vermeyecektir. Kodlamada büyük-küçük harf duyarlılığına dikkat ediniz. Şöyleki;

    "ahmet" == "ahmet" -- eşittir
    "Ahmet" == "ahmet" -- eşit değildir.





    - Yerel Operatorler:

    Yerel operatorler Boolean işlemlerde kullanılır. (Boolean'in tam bir türkçe karşılığı yok, true veya false alan değerler diyoruz kısaca. Yani bu işlemlerin sonucunda geri dönen değer true yada false dır.). Desteklenen operatorler şunlardır:

    and (and içeren değerler aynı dönüşü vermelidir)
    or (or içeren değerlerden en az biri istenen dönüşü vermelidir)
    not (değerin zıttını verir)


    *** Burdan nil operatorunede değinmek isterim. nil demek boş, geçersiz demektir. yani a = nil derseniz a'nın karşılığında birşey dönmez. Global Functions'da boş bir değer tanımlamak ve daha sonradan bunun içine farklı veriler depolamak için bu tekniği kullanabilirsiniz. Bu bilgi kenarda kalsın.



    a = true;
    b = false;
    c = a and b; -- c değişkenine false değeri depolanır. a = true olsada b = false'dır çünkü.
    d = a and nil; -- d değişkenine false depolanır.
    e = not b; -- b = false olduğu için not operatörüde zıttını vereceği için e değişkenine true depolanır.



    Dialog.Message("Sonuç:", e) derseniz sonucu göreceksiniz.

    Örnek:

    a = true;
    b = true;

    if a and b then -- eğer a ve b true ise
    Dialog.Message("Sonuç:", "tüm değerler: true")
    else -- değilse
    Dialog.Message("Sonuç:", "bazı değerler false içeriyor!")
    end



    Yukarıdaki örnekte tüm değerler true mesajını alırsınız. Eğer a yada b değerlerinden birini false yaparsanız ikinci mesajı alırsınız. Eğer a and b yerine a or b derseniz değerlerden herhangi birinin true olması, tüm değerler true mesajını almanız için yeterlidir.



    - Uzunluk Operatoru:

    Bu operator yani #, değerin karakter uzunluğunu alır ve yazdırır.

    Örnek:

    nLength = #"Hey"; -- nLength değişkenine Hey kelimesinin karakterlerini sayar ve depolar (Yani 3)





    NOTLAR:

    Her zaman kullandığımız fakat ayrıntılarına pek değinmediğimiz şeylerden burda bahsedelim...



    - Birleştirme:

    Birleştirmeden kastımız; iki değerin, iki değişkenin yada iki komutun birleştirilmesidir. Bu argümanları birleştirmek için ..kullanılır. Örneğin;

    x = "ali"
    y = "veli"

    Dialog.Message("İsim:" x .. y)

    dediğimiz zaman ekrana aliveli şeklinde yazdıracaktır. eğer x .. " " .. y deseydik ekrana ali veli şeklinde yazdıracaktır. Yani iki değerin arasında boşluk koyduk.
     
Yüklüyor...

Sayfayı Paylaş

  1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız.
    Notu Gizle
  1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız.
    Notu Gizle