Inhaltsverzeichnis
Die Scriptsprache
Besonderheiten
Die Nettalk-Scriptsprache verwendet die selben Syntax wie andere Basic-Dialekte. Dabei sind allerdings einige Einschränkungen zu beachten:
- Es können nicht mehrere Befehle mit einem Doppelpunkt getrennt in einer Zeile verwendet werden.
- Es steht ausschließlich die Do/Loop-Schleife zu Verfügung.
- Es gibt keine 'Static'-Dekleration für Variablen.
- Es gibt nur einen universellen Variablen-Typ wie bei vbScript. (Nach der Deklaration mit Dim enthält die Variable einen leeren String)
- Es werden keine Zeilennummern oder Zeilenmarken unterstützt.
- Arrays sind grundsätzlich eindimensional, sie werden nicht deklariert und gelten grundsätzlich im ganzen Scriptteil. An Stelle eines Indexes kann auch ein Key in form eines Strings verwendet werden.
Beispiele
Prozeduren und Variablen
#NewScriptBegin Script1 'Variable Testvar1 im Script1 verfügbar machen Dim Testvar1 'Variable Testvar2 im allen Sctipten verfügbar machen Public Testvar2 Sub StartTest() Testvar1="Test-Text" Testvar2="Noch ein Test-Text" MsgBox "Test2 in Script1" 'Aufrufen von Test1 in Script1 Test1 'Aufrufen von Test1 in Script2 Script2.Test1 End Sub Sub Test1() MsgBox "Test1 in Script1 (" + Testvar1 + ")" End Sub #NewScriptBegin Script2 Sub Test1() MsgBox "Test1 in Script2 (" + Testvar2 + ")" End Sub
Funktionen und Argumente
#NewScriptBegin Script1 Sub StartTest() MsgBox "Test2 in Script1" 'Aufrufen von Test1 in Script1 Test1 "Hanz", "Egon" 'Aufrufen von Test1 in Script2 TempText = Script2.Test1("Test...") MsgBox TempText End Sub Sub Test1(Text1, Text2) MsgBox "Test1 in Script1 (" + Text1+ " und " + Text2 + ")" End Sub #NewScriptBegin Script2 Function Test1(Text) Test1 = "Text aus Test1 in Script2 (" + UCase(Text) + ")" End Sub
Aufrufen von Scriptteilen
Um Prozeduren und Funktionen per Hand in Nettalk aufzurufen gibt es den Befehl /call
, /calc
oder einfach ein “?“.
Folgende drei Aufrufe bewirken alle das Selbe:
/call Test1 Hanz Egon /calc Test1("Hanz", "Egon") ?Test1("Hanz", "Egon")
Wie man sieht kann das “?“ genau wie /calc
verwendet werden. Besonderheiten von “?“ sind die Modifikationen “?#“ und “?@“. Während das einfache “?“ den Rückgabewert einer Funktion nur dem Benutzer anzeigt, versendet “?#“ den Rückgabewert und “?@“ versendet den Rückgabewert mit dem Funktionsaufruf.
Beispiele:
?@Test1("Hanz", Str(32*1024)) ?5+8 ?#5+2^8 /calc 7*7+5
Da dem Befehl /call
die Argumente ohne Anführungszeichen angegeben werden, kann maximal ein String mit Leerzeichen übergeben werden in dem dieser durch ein “:“ markiert wird. Zudem zeigt /call
keine Rückgabewerte an.
Beispiel für einen String mit Leerzeichen:
/call Test3 Hanz Egon Marta :Dies ist ein Texttext mit Leerzeichen
Sie befinden sich hier: start » nettalk » scripting » scriptsprache