— henüz çalıştırılmadı —
Henüz değişken yok.
Sayi x = 10; // Tam sayı
Ondalik pi = 3.14; // Ondalıklı sayı
Metin ad = "Ali"; // Yazı/metin
Mantiksal ok = Dogru; // Dogru / Yanlis
Dizi liste = [1,2,3]; // Dizi (liste)
Varyant v = 42; // Her tipte değer
Tip sorgulamak için: TipAl(v) → "Sayi","Metin" vb.
Eger x > 5 Ise
Yaz("büyük");
DegilseEger x == 5 Ise
Yaz("eşit");
Degilse
Yaz("küçük");
EgerBitti
// DegilseEger zincirleme — sınırsız kullanılabilir
// Kısa yazım: (x>0) ? "pozitif" : "negatif"
// Operatörler: Ve Veya Degil == != < > <= >=
Yapi Nokta
Sayi x = 0;
Sayi y = 0;
Metin renk = "kirmizi";
Pencere pencere;
YapiBitti
Nokta p;
p.x = 10; p.y = 20;
Yaz(p.x + ", " + p.y);
Yapi = metodsuz veri kapsayıcısı. Sinif gibi tanımlanır, ama sadece alan içerir. Başlangıç değeri verilebilir. UI bileşenleri de alan olabilir.
Dongu i = 0 To 9 Adim 1 // for i=0..9
Yaz(i);
DonguBitti
Tekrarla 5 Kez // 5 kez tekrar
Yaz("merhaba");
TekrarlaBitti
Suresince x < 10 Ise // while
x++;
SuresinceBitti
// Kes; → döngüden çık | Devam; → sonraki adım
Fonksiyon topla(a, b)
Don a + b;
FonksiyonBitti
Sayi sonuc = topla(3, 7); // → 10
Fonksiyon tanımı Don ile değer döndürür. Parametresiz de olabilir.
Sinif Araba
Metin marka;
Sayi hiz;
Fonksiyon hizlan(miktar)
bu.hiz += miktar;
FonksiyonBitti
SinifBitti
Araba bmw;
bmw.marka = "BMW"; bmw.hiz = 0;
bmw.hizlan(50); Yaz(bmw.hiz); // 50
Durum renk
Durum "kirmizi":
Yaz("Dur!"); Kes;
Durum "yesil":
Yaz("Geç!"); Kes;
Diger:
Yaz("Bekle");
DurumBitti
Dene
Sayi sonuc = 10 / 0;
Yakala hata
Yaz("Hata: " + hata);
DeneBitti
Uzunluk("merhaba") // → 7
BuyukHarf("ali") // → ALİ
KucukHarf("ALİ") // → ali
MetinKes("merhaba", 0, 3) // → mer
MetinBol("a,b,c", ",") // → ["a","b","c"]
MetinDegistir("abc","b","X")// → aXc
MetinIceriyorMu("merhaba","mer") // → Dogru
MetinBosYer(" hi ") // → "hi"
MetinIndeks("merhaba","er") // → 1
MetinBaslangici("abc","ab") // → Dogru
SayiyaKonvert("42") // → 42
MetineKonvert(42) // → "42"
Dizi d = [10, 20, 30];
d[0] // → 10 (ilk eleman)
DiziEkle(d, 40) // sona 40 ekle
DiziBasaEkle(d, 5) // başa 5 ekle
DiziCikar(d, 1) // index 1'i sil
DiziUzunluk(d) // uzunluk
DiziBul(d, 20) // index bul → 1
DiziSirala(d) // küçükten büyüğe
DiziTers(d) // ters çevir
DiziDilim(d, 1, 3) // d[1..2]
DiziMetin(d, " | ") // → "10 | 20 | 30"
Rastgele(1, 100) // 1–100 arası
KareKok(16) // → 4
Kare(5) // → 25
UsKuvvet(2, 10) // → 1024
MutlakDeger(-7) // → 7
Yuvarla(3.567, 2) // → 3.57
Tavan(3.1) // → 4
Taban(3.9) // → 3
Min(5, 2, 8) // → 2
Maks(5, 2, 8) // → 8
Ortalama(10, 20, 30) // → 20
Toplam(1, 2, 3, 4) // → 10
Pi() // → 3.14159...
Sin(x) Cos(x) Tan(x) // trigonometri
ArtikMi(4) TekMi(3) // çift/tek mi?
Simdi() // "16.04.2026 07:45:00"
TarihGun() // → 16
TarihAy() // → 4
TarihYil() // → 2026
SaatSaat() // → 7
SaatDakika() // → 45
SaatSaniye() // → 0
ZamanDamgasi() // milisaniye (Unix)
EslesVarMi(metin, "[0-9]+") // sayı var mı?
EslesBul(metin, "[0-9]+") // ilk sayıyı bul
EslesTumBul(metin, "[0-9]+") // tüm sayılar (dizi)
EslesDegistir(m, "[0-9]", "*") // sayıları * yap
EslesBolum(m, "[,;]") // virgül/noktalı böl
// 3. parametre: bayrak — "i" = büyük/küçük yok say
DepoBilgiAyarla("anahtar", "değer");
DepoBilgiOku("anahtar") // → "değer"
DepoBilgiSil("anahtar");
CerezAyarla("isim","Ali",7); // 7 gün
CerezOku("isim") // → "Ali"
JSONOlustur("isim","Ali","yas",25) // JSON metin
JSONOku(jsonMetin, "isim") // → "Ali"
JSONMetineDonustur(dizi) // → JSON string
JSONDiziyeDonustur(jsonMetin) // → Dizi
VeriCek("https://api.example.com") // HTTP GET
BekleVeYap(1000) // 1 saniye bekle
// Pencere (ana kap)
Pencere pen;
pen.baslik = "Başlık"; pen.genislik = 300;
pen.yukseklik = 200; pen.arkaplan = "beyaz";
pen.Ekle(dugme1); pen.Goster();
// Düğme
Dugme btn; btn.yazi="Tıkla"; btn.x=10; btn.y=10;
btn.tiklaninca = Fonksiyon() Yaz("Tıklandı!"); FonksiyonBitti
// Etiket (metin göster)
Etiket et; et.yazi="Merhaba"; et.renk="yesil";
// Giriş Satırı
GirisSatiri gs; gs.ipucu="Adınız..."; gs.x=10; gs.y=50;
gs.enterasilinca = Fonksiyon() Yaz(gs.deger); FonksiyonBitti
// Kanvas (çizim)
Kanvas kv; kv.genislik=300; kv.yukseklik=200;
KanvasDikdortgen(kv, x, y, gen, yuk, "#renk");
KanvasDaire(kv, cx, cy, yaricap, "#renk");
KanvasCizgi(kv, x1,y1, x2,y2, "#renk", kalinlik);
KanvasMetin(kv, "yazı", x, y, "#renk", "14px Arial");
KanvasTemizle(kv); KanvasArkaplan(kv, "#renk");
Zamanlayici zm;
zm.aralik = 1000; // milisaniye
zm.her_tikta = Fonksiyon()
Yaz("Her saniye!");
FonksiyonBitti
zm.Baslat(); // Başlat
zm.Durdur(); // Durdur
⚠ Zamanlayıcı Pencere'ye eklenmez! Sadece zm.Baslat() çağırılır.
Ses ses;
SesNotaCal(ses, 440, 0.5, 0.3); // frekans, ses, süre
SesEfekti(ses, "bip"); // bip,alarm,zil,ding,patlama
SesKapat(ses);
Yaz("Konsola yaz"); // konsol çıktısı
Mesaj("Popup göster"); // alert penceresi
Metin ad = Oku("Adın?"); // kullanıcıdan al
beyaz siyah kirmizi yesil mavi sari
turuncu mor pembe gri acik_gri koyu_gri
lacivert turkuaz seffaf
// veya doğrudan: "#e63946" "rgb(255,0,0)"
Ctrl+Enter → Çalıştır
Tab → 2 boşluk girintisi
x++ x-- → 1 artır/azalt
x+=5 x-=3 x*=2 x/=4 → bileşik atama
(koşul) ? "evet" : "hayır" → ternary
// ════════════════════════════════════════════════════════
// VTAc → Gerçek SQLite (sql.js). İNTERNET ŞART.
// VTOAc → Offline Türkçe SQL motoru. İNTERNET GEREKMEZ.
// VTCalistir / VTSorgu / VTKaydet / VTKapat → ikisi için de aynı.
// ════════════════════════════════════════════════════════
// ── VTAc: SQLite (internet gerekli) ──────────────────
Varyant db = VTAc("benimVT");
VTCalistir(db, "CREATE TABLE IF NOT EXISTS kisiler (id INTEGER PRIMARY KEY AUTOINCREMENT, ad TEXT, yas INTEGER)");
VTCalistir(db, "INSERT INTO kisiler (ad, yas) VALUES ('Ali', 25)");
Dizi sonuc = VTSorgu(db, "SELECT * FROM kisiler WHERE yas > 20 ORDER BY ad");
VTKaydet(db, "kisiler.sqlite"); // .sqlite dosyası indir
VTKapat(db);
// ── VTOAc: Offline Türkçe SQL (internet gerekmez) ────
Varyant odb = VTOAc("benimVT");
// Tablo oluştur
VTCalistir(odb, "TABLO_OLUSTUR EGER_YOKSA kisiler (id SAYI BIRINCAL_ANAHTAR OTOMATIK_ARTAN, ad METIN, yas SAYI)");
// Veri ekle
VTCalistir(odb, "EKLE kisiler (ad, yas) DEGERLER ('Ali', 25)");
VTCalistir(odb, "EKLE kisiler (ad, yas) DEGERLER ('Ayşe', 30)");
// Sorgula
Dizi hepsi = VTSorgu(odb, "SEC HEPSI kisiler");
Dizi gencler = VTSorgu(odb, "SEC HEPSI kisiler NEREDE yas < 30 SIRALA yas");
Dizi ilk5 = VTSorgu(odb, "SEC HEPSI kisiler SINIR 5 ATLA 0");
// Sonuçları oku
Dongu i = 0 To DiziUzunluk(hepsi)-1 Adim 1
Varyant satir = hepsi[i];
Yaz(satir.ad + " — " + satir.yas);
DonguBitti
// Güncelle / Sil
VTCalistir(odb, "GUNCELLE kisiler AYARLA yas=26 NEREDE ad='Ali'");
VTCalistir(odb, "SIL kisiler NEREDE yas < 18");
// Kaydet (IndexedDB'ye otomatik — isteğe bağlı JSON indir)
VTKaydet(odb, "kisiler.json");
VTKapat(odb);
🔤 Türkçe SQL (VTOAc): TABLO_OLUSTUR · EKLE · DEGERLER · SEC · HEPSI · NEREDE · GUNCELLE · AYARLA · SIL · SIRALA · SINIR · ATLA · BIRINCAL_ANAHTAR · OTOMATIK_ARTAN · SAYI · METIN · ONDALIK · EGER_YOKSA · VE · VEYA · BENZER
⚠ İnternetsiz VTAc() kullanmaya kalkarsanız yorumlayıcı hemen VTOAc önerir ve durur.
// URL'den yükle (normal)
Varyant resim = ResimYukle("https://example.com/foto.png");
ResimCiz(kv, resim, 0, 0);
// URL'den yükle ve base64'e dönüştür (gömme)
Metin b64 = ResimBase64Yukle("https://example.com/foto.png");
Varyant gomulResim = ResimYukle(b64); // data:image/... URL
ResimCiz(kv, gomulResim, 0, 0);
// Kanvası base64 olarak dışa aktar
Metin veri = ResimGom(kv); // PNG base64 data URL
Metin jpeg = ResimGom(kv, "image/jpeg", 0.85); // JPEG kalite 85%
ResimBase64Yukle internet gerektirir. ResimGom ise kanvası base64'e çevirir — internet gerekmez.
// Dosya seç ve binary oku
Varyant akm = DosyaAkimi("*");
Yaz("Dosya: " + akm.ad + " (" + akm.boyut + " byte)");
// Oku(offset, kaçByte) — offset'ten itibaren N byte dizi döndürür
Dizi ilk16 = akm.Oku(0, 16); // 0. byte'tan 16 byte
Dizi sonra = akm.Oku(16, 16); // 16. byte'tan 16 byte
// OkuAralik(baslangic, bitis) — [bas, son) aralığı
Dizi aralik = akm.OkuAralik(0, 100); // 0-99 arası
// Tekil byte okuma
Sayi bayt = akm.OkuBayt(0); // 0. byte
// Metin ve satır okuma
Metin tam = akm.OkuMetin(); // tümü metin olarak
Metin satir = akm.OkuSatir(0); // 0. satır
akm.Kapat();
Pencere pen; pen.baslik = "Test";
Dugme btn; btn.yazi = "Tutamak";
pen.Ekle(btn); pen.Goster();
// Büyüt / Küçült / Normal
pen.Buyut(); // tam ekran
pen.Kucult(); // simge durumu (başlık çubuğu kalır)
pen.Geri(); // önceki boyuta dön
// Kontrol butonlarını gizle/göster
pen.KontrolGizle(); // □ − ✕ butonları gizler
pen.KontrolGoster(); // □ − ✕ butonları gösterir
// Herhangi bir bileşeni sürükleme tutamağı yap
// (pen.Goster() öncesi veya sonrası çağrılabilir)
btn.SuruklenebilirYap(pen); // btn sürüklenince pen de hareket eder
pen.SuruklenebilirYap(); // pen kendi başlığı olmasa bile sürüklenebilir