SuperTalk - SuperTalk

SuperTalk kullanılan betik dili SuperCard. SuperTalk, soyundan gelen HyperTalk.

HyperTalk temel dilinin uzantıları

Ek sözdizimi

SuperCard'ın HyperTalk diline eklediği en güçlü özelliklerden biri, kullanıcı özellikleri. HyperTalk'un nesnelerinde sabit bir özellik kümesi olduğu durumlarda, SuperCard betikleri özelliği tanımla propName düğmelere ve alanlara yeni özellikler eklemek için komut. Bu özellikler rastgele metin (sayılar ve nesne referansları dahil, bunlar xTalks'ta metin kullanılarak da temsil edilir) ve hatta tüm dosyaların dökümlerini içerebilir.

SuperTalk, HyperTalk'un birkaç varyasyonunu sunar. Cevap ve cevap dosyası Bir listeden birkaç öğe seçmenize, mevcut tüm simgelerden bir simge seçmenize, birlikte ses çalmak için bir MIDI enstrümanı seçmenize veya desteklenen bir görüntü formatında (önizleme dahil) bir dosya veya diskler ve klasörler seçmesine izin veren komutlar. HyperTalk'ın iletişim kutularından farklı olarak, SuperTalk yanıtlama ve sorma iletişim kutularının tümü daha fazla metin tutmak için dinamik olarak yeniden boyutlandırılmaz. Bununla birlikte, SuperCard rastgele tip pencerelerde kartlara (yani "sayfalar") izin verdiğinden, yeterince büyük kendi diyaloğunu kolayca oluşturabilirsiniz. SuperTalk ayrıca bir uyarmak standart sistem simgeleri dahil olmak üzere standart sistem uyarı pencerelerini ve sayfalarını görüntüleyen komut.

Karmaşık koşullarda daha fazla okunabilirlik için bir anahtar komutu mevcuttur ve çeşitli medya türleri kaydedilebilir (örneğin, bir kartın ekran görüntüsü, ses ve QuickTime filmleri). Ayrıca bir klon kopyalamaya ve yapıştırmaya eşdeğer olan ancak panoyu değiştirmeden bırakan komut, sıralı tam sayı değerleriyle global değişkenler oluşturan bir numaralandırma komutu ve son zamanlarda MetaCard'ın tanıdık her öğe için tekrarlayın x listelerde yineleme komutu eklendi.

SuperCard ayrıca şunları sunar: istisna işleme kullanarak Deneyin ilişkili ifade atmak komut.

Farklılıklar ve uyumsuzluklar

SuperTalk, HyperCard'ın çok ilerisinde kaynak düzeyinde bir hata ayıklayıcı ile birlikte geldi, ancak SuperTalk hata ayıklayıcı kalıcı bir penceredir ve yalnızca bir satırın yanına tıklayarak kesme noktaları belirlemenize izin vermez. Özel bir iz komutu, hata ayıklayıcıya girmek için kullanılır; burada o anda çalıştırılan kod satırını görüntüleyebilir, komutları çalıştırabilir, ifadeleri değerlendirebilir vb. Bu nedenle, SuperTalk hata ayıklayıcısının bir komut dosyası hatası olduğunda hemen kullanılabilir olmak yerine açıkça açılması gerekir. oluşur.

görsel efekt komut sözdiziminde biraz daha katıdır, ancak karşılığında QuickTime geçişleri ve özel eklenti modülleri (türdeki veri çatalı kaynaklarında saklanan) dahil olmak üzere çok sayıda ek geçiş efektini destekler. TRAN). Yüklenmeyen ve pencere sahibi olabilen özel bir tür harici komut eklendi. Türü XRTN. XCMD protokolünden önemli ölçüde farklıdır ve ayrıca daha sonra HyperTalk'a pencere eklemek için tanıtılan xWindoid protokolünü kullanmaz.

SuperTalk ayrıca bir başlatmak HyperTalk'un uygulamasından farklı olarak harici uygulamaları başlatmak için komut açık SuperTalk'un çeşitli pencerelerini açmak için kullandığı komut (HyperTalk burada, Git -e yığın "foo" içinde yeni pencere).

Daha zengin nesne modeli

Tabii ki SuperTalk ayrıca SuperCard'ın genişletilmiş nesne modelini ortaya çıkararak kaydırıcılar, kaydırma çubukları, ilerleme göstergeleri ve diğer ölçekler, komut dosyası yapılabilir boyama ve çizim grafikleri ve yerel liste kutusu ve birinci sınıf menü nesneleri oluşturmayı mümkün kılar. Birkaç stile sahip birden çok pencere (modal panel, modal olmayan, kaydırma, yeniden boyutlandırılabilir ..., kayan paletler) da mevcuttur ve odak ve etkinleştirme kapsamı tam komut dosyası kontrolü altında değiştirilebilir.

Sapmalar

SuperCard'ın bazı kısımları HyperTalk'un İngilizceye benzerliğinden farklıdır. Bu şunları içerir: uyarmak komutun biraz garip sözdizimini taklit etmeye çalışan Cevap biraz fazla komut verin. Ayrıca, zamanla bir dizi XCMD'nin motora yerleşik komutlar olarak basitçe aktarıldığı ve pek akılda kalıcı olmayan işleyici çağrısı sözdiziminin korunduğu görülüyor. Buradaki en bariz durum, film işlev, filmlerin kaydırıcılar veya diğer öğeler gibi gerçek kontroller olarak uygulanmak yerine bir pencereye "görünmez bir şekilde yapıştırıldığı". Ayrıca, temel sistem API'lerinin bire bir çevirileri olan genel uygulama davranışını kontrol eden bazı özellikler de vardır, örn. "görünüm yöneticisi" kullanmak için (Mac OS 9'daki tema motoru).