Betik editörü
Betikler bölümünde betik ekleme, kod alanının özellikleri, derleme (F9), başvuru paneli, örnek kodlar ve dosya alma / verme.
Betikler bölümü
Proje gezgininde Betikler bölümü iki parçalıdır: üstte betiklerin tablosu, yanda ya da altta seçili betiğin Betik Kodu alanı. Tablo, tablo editörünün ortak davranışını kullanır (satır ekleme, çoğaltma, silme, sıralama, grup, Excel).
1234567- Ad — betiğin adı (benzersiz).
- Dil — VBS, C, JavaScript ya da Python.
- Tür — dile göre Modül, Aksiyon, Fonksiyon …
- Derle (F9) — söz dizimini ve kuralları denetler.
- Başvuru — nesne ve işlev paneli.
- Prosedür listesi — seçilen prosedüre gider.
- Durum şeridi — söz dizimi sonucu; hatada konumu gösterir.
Tablo kolonları
- Ad
- Betiğin adı. Harf ya da
_ile başlar; harf, rakam ve_içerir (Türkçe harfler serbesttir). Ad benzersiz olmalıdır. VBS modülünde ve Python'da ad, varsayılan prosedür / işlev adıdır; C başlık dosyasında dosya adıdır (Ad.h). - Dil
- VBS, C, JavaScript ya da Python. Kod henüz başlangıç şablonundaysa dil değişince şablon yeniden üretilir; yazdığınız kod korunur.
- Tür
- Dile göre: VBS ve Python için Modül / Aksiyon; C için Proje işlevleri / Aksiyon / Başlık dosyası; JavaScript için Fonksiyon / Genel modül. Ayrıntı: Betiklere genel bakış.
- Parametreler
- Yalnızca JavaScript fonksiyonlarında kullanılır (virgülle ayrılmış parametre adları, ör.
deger). Diğer dillerde hücre kilitlidir; parametreler kodda yazılır. - Açıklama
- Serbest not.
Kod alanı
Kod alanı dış kütüphane kullanmayan, ürünün kendi editörüdür.
| Özellik | Davranış |
|---|---|
| Renklendirme | Dile göre anahtar sözcük, dizgi, sayı, yorum ve hazır işlev adları ayrı renklenir. |
| Satır numarası | Soldaki oluk satırları numaralar. Hatalı satır kırmızı, uyarılı satır sarı işaretlenir; işaretin üzerine gelince ileti görünür. |
| Girinti | Sekme seçili satırları girintiler, Shift+Sekme geri alır. Enter önceki satırın girintisini korur; If … Then, Sub, { gibi bloklardan sonra bir kademe içeri girer. |
| Yorum | Ctrl+/ seçili satırları yorumlar ya da yorumdan çıkarır (VBS: ', Python: #, C ve JavaScript: //). |
| Canlı denetim | Yazmayı bıraktıktan kısa süre sonra söz dizimi denetlenir. Alt şeritte Söz dizimi doğru ya da hatanın Satır N, sütun M konumu ve iletisi görünür; şeride tıklayınca hatalı satıra gidilir. Birden çok hata varsa her tıklama bir sonrakine geçer. |
| Prosedür / işlev listesi | VBS, C ve Python'da araç satırındaki liste koddaki prosedürleri, işlevleri (Python'da sınıfları da) sayar; seçince o satıra gider. JavaScript'te bu satır yoktur. |
| Boş iskelet ekleme | Araç satırındaki Sub / Function (VBS), İşlev (C), def / class (Python) düğmeleri kodun sonuna boş bir iskelet ekler. |
| Kaydetme ve geri alma | Kod alandan çıkılınca projeye işlenir; bir düzenleme oturumu tek Geri al adımıdır. |
Derleme (F9)
Derleme, betiği çalıştırmaz; söz dizimini ve projeyle ilgili kuralları denetler. Derle düğmesi ya da F9 seçili betiği, Tümünü derle düğmesi ya da Ctrl+Shift+B bütün betikleri derler. Sonuç kod alanının altındaki çıktı panelinde listelenir.
123- Özet — hata, uyarı sayısı ve sonuç.
- Hata — tıklayınca satıra gidilir.
- Uyarı — projede olmayan tag adı.
- Özet satırı Başarılı ya da Başarısız yazar; yanında hata, uyarı ve bilgi sayıları görünür. Yalnızca uyarı varsa derleme başarılıdır.
- Kodu değiştirince çıktı eski işaretlenir: kod değişti — yeniden derleyin (F9).
- Çıktı panelini sağ üstteki × kapatır.
- Tümünü derle betikler arasında ilk hatalı betiği seçer; çıktıda önce bütün hatalar, sonra uyarılar listelenir.
| Dil | Derlemede denetlenenler |
|---|---|
| VBS | Söz dizimi (hatalar Türkçe); hiçbir modülde tanımlı olmayan prosedür ya da değişken adı; projede olmayan sabit adlı tag (Tags("…"), SmartTags("…")); desteklenmeyen CreateObject nesnesi; izni kapalı veritabanı / program / dosya nesnesi; Execute, Eval, GetObject, GetRef ve HMIRuntime.Logging gibi desteklenmeyen üyeler; iki modülde aynı prosedür adı (hata). |
| JavaScript | Söz dizimi (Live'ın kodu derlediği biçimde; V8 iletileri Türkçeye çevrilir); Tag. ve Sayfa. altında olmayan işlev adı; projede olmayan sabit adlı tag ve sayfa; HMIRuntime, SmartTags, ScreenItems kullanımı (bunlar VBS nesnesidir). |
| C | Derleme hataları ve uyarıları (tanımsız işlev çağrısı dahil); bulunamayan #include (hata); projede olmayan tag, sayfa ve nesne adı; izni kapalı dosya / program işlevi; bu sürümde desteklenmeyen işlev ve karşılığı olmayan DLL işlevi; iki C kaynağında aynı proje işlevi adı ve giriş işlevi belirsiz aksiyon (hata). |
| Python | Söz dizimi; tanımsız ad; projede olmayan tag, sayfa ve nesne; izni kapalı veritabanı / program / dosya kullanımı; bu sürümde olmayan yerleşik, modül ya da HMIRuntime üyesi; karışık girinti; ulaşılamayan kod; kullanılmayan import (bilgi). |
Aynı kurallar F7 Projeyi denetle listesinde de görünür. İlk söz dizimi hatası tablodaki Ad hücresini de işaretler.
Başvuru paneli
Başvuru düğmesi VBS, C ve Python'da sağ tarafta bir panel açar. Panel dile göre sekmelere ayrılır; arama kutusu bütün sekmelerde arar. Satıra tıklayınca örnek, imlecin olduğu yere eklenir; değiştirmeniz gereken yer seçili gelir. Panelin açık ya da kapalı durumu hatırlanır. JavaScript için başvuru paneli yoktur.
123- Sekmeler — Nesneler, İşlevler, Dış nesneler, Kalıplar, Desteklenmeyen.
- Arama — bütün sekmelerde arar.
- Başvuru satırı — tıklayınca örnek imlece eklenir.
| Dil | Sekmeler |
|---|---|
| VBS | Nesneler, İşlevler, Dış nesneler, Kalıplar, Desteklenmeyen |
| C | Tag işlevleri, Nesne işlevleri, Sistem, C kitaplığı, DLL karşılıkları, Kalıplar, Desteklenmeyen |
| Python | Tag, Sayfa ve nesne, Sistem, Dış dünya, Dil, Yerleşik işlevler, Kitaplık, Kalıplar, Desteklenmeyenler |
İzin gerektiren gruplar (Veritabanı, Program, Dosya) başlıklarında izni açık ya da izni kapalı rozeti taşır.
Örnek kodlar
Örnekler düğmesi (tablonun araç çubuğunda Örnek kodlar…) hazır örneklerin galerisini açar. Galeride VBS (30), C (32), JavaScript (17) ve Python (51) örneği vardır; örnekler konulara göre gruplanır (tag okuma / yazma, koşul ve döngü, hesap, tarih ve saat, rapor, sayfa ve nesneler, operatör, veritabanı / dosya / program, betik yapısı, Python dili).
12345- Dil — VBS, C, JavaScript, Python.
- Konu grupları — örnekleri süzer.
- Örnek listesi — rozetler türü ve gereken izni gösterir.
- Önizleme — salt okunur renkli kod.
- Ne yapar / Nasıl bağlanır / Gerekenler
- Önizlemede örneğin kodu, Ne yapar, Nasıl bağlanır ve Gerekenler (tag, sayfa, nesne, rapor, izin) bölümleri görünür; projede eksik olanlar işaretlenir.
- Projeye ekle örneği yeni betik olarak ekler. Ad çakışırsa
_2,_3eki verilir. İsteğe bağlı olarak eksik tag'ler dahili tag olarak eklenir. Örnek kapalı bir izin gerektiriyorsa Studio sorar; izin kendiliğinden açılmaz. Ekleme tek Geri al adımıdır. - İmlece ekle örneği açık betikte imlecin olduğu yere koyar; yalnızca açık betik aynı dildeyse etkindir.
- Kodu kopyala örneği panoya alır.
Örneklerin açıklamalı dökümü: Betik örnekleri.
Dosyadan al, dosyaya ver
Tablonun araç çubuğundaki Dosyadan al… betik dosyasını betik olarak ekler; dosyalar tablonun üzerine sürüklenip de bırakılabilir. Dosyaya ver… seçili betikleri dosyaya yazar.
| Uzantı | Dil |
|---|---|
.vbs, .bas, .txt | VBS (.txt içeriği C'ye ya da Python'a benziyorsa o dil sayılır) |
.c, .h | C (.h başlık dosyası olur) |
.js | JavaScript |
.py | Python |
- Dosya adının sonundaki
_bmo(modül) ya da_bac(aksiyon) eki VBS ve Python'da türü belirler ve betik adına alınmaz. Ek yoksa tür koddan anlaşılır. - Aynı adda betik varsa tek soru sorulur: Üzerine yaz, Yeni adla ekle ya da Vazgeç. Bütün içe aktarma tek Geri al adımıdır.
- Dosya UTF-8 (BOM'lu ya da BOM'suz), UTF-16 ya da Türkçe ANSI (Windows-1254) olabilir.
Betiği çalıştırmak için bağlama
Betik tek başına çalışmaz; bir olaya, göreve ya da reçete aktarımına bağlanır. Olayda Betik çalıştır işlevinde betik ve (varsa) prosedür seçilir; görevde Çalıştırılacak betik ve Prosedür / İşlev kolonları kullanılır. Seçilen prosedür betikte yoksa Studio Sorunlar listesinde uyarır (Python'da kesin hata sayar). Ayrıntı: Betik nerelerden çalışır.
Sınırlar ve dikkat edilecekler
- Otomatik tamamlama, kesme noktası ve adım adım çalıştırma yoktur.
- Derleme betiği çalıştırmaz; çalışma zamanı hataları (sıfıra bölme, olmayan nesne) ancak Live'da ortaya çıkar ve olay günlüğüne yazılır.
- Dil motoru yüklenemezse derleme motoru yüklenmedi: söz dizimi denetlenemedi uyarısı verir; kod yine de kaydedilir.