Türkçe Programlama Dili — v14
Anthropic Claude · AcizBirKul (Kadir Çakmak)
Dosya
Düzenle
📦 Kütüphane
🧙 Sihirbaz
📦 Lib Aktar
🐛 Debug
Yardım

— henüz çalıştırılmadı —

Henüz değişken yok.

🎓 Hazır Örnekler
📌 1. Veri Tipleri
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.

🔀 2. Koşul İfadeleri
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 == != < > <= >=
📐 5b. Yapı (Struct)
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.

🔁 3. Döngüler
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
🔧 4. Fonksiyonlar
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.

🏗️ 5. Sınıflar (OOP)
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
⚡ 6. Switch / Durum
Durum renk Durum "kirmizi": Yaz("Dur!"); Kes; Durum "yesil": Yaz("Geç!"); Kes; Diger: Yaz("Bekle"); DurumBitti
🛡️ 7. Hata Yakalama
Dene Sayi sonuc = 10 / 0; Yakala hata Yaz("Hata: " + hata); DeneBitti
📝 8. Metin Fonksiyonları
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"
📦 9. Dizi Fonksiyonları
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"
🔢 10. Matematik Fonksiyonları
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?
🕐 11. Tarih ve Saat
Simdi() // "16.04.2026 07:45:00" TarihGun() // → 16 TarihAy() // → 4 TarihYil() // → 2026 SaatSaat() // → 7 SaatDakika() // → 45 SaatSaniye() // → 0 ZamanDamgasi() // milisaniye (Unix)
🔍 12. Regex (Düzenli İfade)
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
💾 13. Veri Saklama (LocalStorage)
DepoBilgiAyarla("anahtar", "değer"); DepoBilgiOku("anahtar") // → "değer" DepoBilgiSil("anahtar"); CerezAyarla("isim","Ali",7); // 7 gün CerezOku("isim") // → "Ali"
📡 14. JSON ve Web
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
🪟 15. GUI Bileşenleri
// 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");
⏱️ 16. Zamanlayıcı
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.

🔊 17. Ses
Ses ses; SesNotaCal(ses, 440, 0.5, 0.3); // frekans, ses, süre SesEfekti(ses, "bip"); // bip,alarm,zil,ding,patlama SesKapat(ses);
⌨️ 18. Girdi / Çıktı
Yaz("Konsola yaz"); // konsol çıktısı Mesaj("Popup göster"); // alert penceresi Metin ad = Oku("Adın?"); // kullanıcıdan al
🎨 19. Renk İsimleri
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)"
💡 20. Kısayollar
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
🗄 21. Veritabanı — VTAc (SQLite) ve VTOAc (Offline Türkçe SQL)
// ════════════════════════════════════════════════════════ // 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.

🖼️ 22. Resim Gömme (Base64)
// 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.

📂 23. Dosya Akımı (Binary)
// 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();
🪟 24. Pencere Kontrol Metodları
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
⌨️ Girdi Bekleniyor
📦 Projeyi Derle → HTML
📄 Modül Ekle
🧙 Proje Sihirbazı
Birkaç adımda hazır proje oluştur
Proje tipini seç:
💻KonsolMetin tabanlı program
🪟PencereGörsel arayüz
🎮OyunKanvas + zamanlayıcı
🌐Web / APIVeriCek ile API
Oluşturulacak kod:
🐛
Hazır — breakpoint için satır numarasına tıkla
KOD  ● Breakpoint  ▶ Aktif satır
📊 DEĞİŞKENLER
— henüz yok —
📍 KONUM
🖥 ÇIKTI
🖼️ GUI Form Tasarımcısı
Satır 1, Sütun 1 UTF-8
TürkçeKod v14 🇹🇷
⬛ VS2022 Dark
⬜ VS2022 Light
🟨 Monokai
🟣 Dracula
🌊 Solarized Dark