Dies ist eine alte Version des Dokuments!


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 lehren String)
  • Es werden keine Zeilennummern oder Zeilenmarken unterstützt.

Beispiele

Prozeduten 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 Befehle 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.

Für /call hingegen gillt


Eigene Werkzeuge