SuperTalk
SuperTalk är skriptspråket som används i SuperCard . SuperTalk är en ättling till HyperTalk .
Tillägg till HyperTalk basspråk
Ytterligare syntax
En av de mest kraftfulla funktionerna som SuperCard lägger till HyperTalk-språket är användaregenskaper . Där HyperTalk hade en fast uppsättning egenskaper på sina objekt, kan SuperCard-skriptare använda define property propName
för att lägga till nya egenskaper till knappar och fält. Dessa egenskaper kan innehålla godtycklig text (inklusive siffror och objektreferenser, som också representeras med text i xTalks), och till och med dumpar av hela filer.
SuperTalk tillhandahåller flera varianter av HyperTalks svars-
och svarsfilkommandon
, som låter en välja flera objekt från en lista, välja en ikon från alla tillgängliga ikoner, välja ett MIDI-instrument att spela ljud med, eller välja en fil med ett bildformat som stöds (inklusive en förhandsvisning), eller diskar och mappar. Till skillnad från HyperTalks dialogrutor ändrar inte SuperTalks svars- och frågadialoger alla storlek dynamiskt för att hålla mer text. Men eftersom SuperCard tillåter att ha kort (dvs "sidor") i fönster av godtyckliga typer, kan man enkelt bygga en egen dialog som är tillräckligt stor. SuperTalk har också ett varningskommando
som visar vanliga systemvarningsfönster och -blad, inklusive standardsystemikoner.
Ett switch-kommando är tillgängligt för mer läsbarhet i komplexa villkor, och olika typer av media kan spelas in (t.ex. skärmgrepp på ett kort, ljud och QuickTime-filmer). Det finns också ett klonkommando
som är likvärdigt med att kopiera och klistra in men lämnar klippbordet oförändrat, ett uppräkningskommando som skapar globala variabler med sekventiella heltalsvärden, och nyligen lades MetaCards välbekanta upprepning för varje objekt x-kommando för att iterera genom listor .
SuperCard erbjuder också undantagshantering med hjälp av en try
-sats med tillhörande throw
-kommando.
Skillnader och oförenligheter
SuperTalk kom med en felsökning på källnivå långt före HyperCard, men SuperTalk-felsökningen är ett modalt fönster och låter dig inte ställa in brytpunkter genom att bara klicka bredvid en rad. Ett speciellt spårningskommando
används för att komma in i debuggern, där man sedan kan se den kodrad som körs för närvarande, exekvera kommandon, utvärdera uttryck etc. På grund av detta måste SuperTalk-debuggern vara explicit påslagen istället för att vara tillgänglig direkt när ett skriptfel uppstår.
visuella effekter
är lite strängare i sin syntax, men stöder i utbyte många ytterligare övergångseffekter, inklusive QuickTime-övergångar och speciella plug-in-moduler (lagrade i datagaffelresurser av typen TRAN )
. En speciell typ av externt kommando som inte laddas ur och som kan äga ett fönster har lagts till. Dess typ är XRTN
. Det skiljer sig märkbart från XCMD-protokollet och använder inte heller xWindoid-protokollet som senare introducerades för att lägga till fönster till HyperTalk.
SuperTalk använder också ett startkommando
för att starta externa applikationer, som skiljer sig från HyperTalks öppna
kommando, som SuperTalk använder för att öppna sina olika fönster (HyperTalk avvek här genom att använda go to stack "foo" i nytt fönster
).
Rikare objektmodell
Naturligtvis exponerar SuperTalk också SuperCards utökade objektmodell, vilket gör det möjligt att skapa skjutreglage, rullningslister, förloppsindikatorer och andra skalor, skriptbar måla och rita grafik, och inbyggda listbox och förstklassiga menyobjekt. Flera fönster med flera stilar (modal panel, icke-modal, rullande, ändra storlek..., flytande paletter) är också tillgängliga och fokus och aktiveringsomfång kan modifieras under full skriptkontroll.
Avvikelser
Vissa delar av SuperCard avviker från HyperTalks engelska. Detta inkluderar alert-
kommandot, som försökte efterlikna den lite obekväma syntaxen för svarskommandot lite
för mycket. Det verkar också som att ett antal XCMDs med tiden helt enkelt rullades in i motorn som inbyggda kommandon, vilket bibehöll den inte särskilt minnesvärda hanterarens anropssyntax. Det mest uppenbara fallet här är filmfunktionen
, där filmer typ "osynligt fästs på" ett fönster istället för att implementeras som riktiga kontroller som reglage eller andra element. Det finns också vissa egenskaper som styr allmänt programbeteende som är en-till-en-översättningar av de underliggande system-API:erna, t.ex. för att använda "utseendehanterare" (temamotorn i Mac OS 9).