VBScript-Ecke

ftComputing : Programme für die fischertechnik-Interfaces und -konstruktionskästen
  
ftComputing.de
Home
Back
Links
Impressum
Bonsai
Mail

 

Hinweise zum Einsatz von Scriptsprachen

VBScript

ist eine von Microsoft entwickelte Scriptsprache, die eine Alternative zu JavaScript (Microsoft JScript) sein soll. Sie entspricht im Aufbau einer vereinfachten Version von Visual Basic. Im Einsatz als Scriptsprache in HTML-Dokumenten (Ausführung durch den Browser (Internet Explorer 4.0 und höher) hat sich VBScript nicht gegen das Paar JavaScript/JScript durchsetzen können (keine Unterstützung durch NetScape). VBScript kann aber auf dem Rechner des Anwenders außerdem im Zusammenspiel mit dem Windows Scripting Host als komfortable Sprache zur Formulierung von Batch-Jobs (Programmen zur Erledigung von organisatorischen Systemaufgaben) eingesetzt werden.

VBScript hat den großen Vorteil kostenlos zur Verfügung zu stehen und ist mit einem einfachen Editor (NotePad) editierbar. Zur Ausführung des Scripts reicht ein Klick auf die entsprechende Datei, Ein Übersetzungslauf ist nicht erforderlich. Also ideal um mal in das Programmieren hineinzuschnuppern. Hier ein Beispiel :

Probieren

Ersteinmal AmpelSCR.ZIP herunterladen, Internetverbindung abschalten und nach AmpelVBS.TXT registrieren. Serielles Interface an COM1 anschließen, Ampel ans Interface anbauen.

Und dann auf START drücken. Am einfachsten ist es offline (Also vorher auch noch im Browser die Seite mit Datei speicher unter ... speichern.

fischertechnik mit seriellem Interface an COM1 : Verkehrsampel
Lampenbausteine Grün (an M1), Gelb (M2) und Rot(M3) an Grundbausteine anstecken, am Interface befestigen und Verkabeln.

Fehler

Und wenns dann trotzdem nicht läuft :

  1. Ablauf nur unter Internet Explorer ab Version 4 möglich
  2. Der Internet Explorer ist sicherheitsempfindlich unter Ansicht | Internetoptionen | Sicherheit | Angepaßt vorübergehend alle ActiveX Einträge (am Anfang der Liste) auf Fragen setzen.
  3. Jetzt müßte der Browser fragen. "Ja"-Sagen.
  4. Wird MSVBVM50.DLL vermißt, kontrollieren ob installiert. Ggf. von Windows CD installieren oder wenn MSVMVB60.DLL vorhanden ist FishN632.ZIP herunterladen. Set ft = CreateObject("FishN632.clsFishFace") anpassen. Quelltext anzeigen der HTML-Seite : Rechts-Klick, Das VBScript-Programm steht am Anfang der Seite.
  5. Ist das Interface wirklich an COM1 angeschlossen (sonst ft.OpenInterface "COM2")
  6. Ist es vielleicht ein paralleles Interface (ft.OpenInterface. "LPT1" (oder LPT2), Drucker ausschalten.
  7. Der Betrieb des parallelen Interfaces unter Win NT ist nur mit FishN632.ZIP möglich, Anpassen siehe oben.
  8. Läuft immer noch nicht : Spannungsversorgung kontrollieren.

Jetzt müßte es aber laufen, sonst ulrich.mueller@owl-online.de

Programm-Details

Was ist da gelaufen. Eine normale HTML-Seite mit einem Formular-Feld und einem START-Button über den ein VBScript-Programm aufgerufen wurde.

VBScript ist eine ganz normale Programmiersprache : eine abgemagerte Version von Visual Basic dem das "Visual" fehlt. Und die Selbständigkeit, es braucht eine Umgebung in der es ablaufen kann, das kann z.B. der Internet Explorer sein. Aber auch der Windows Scripting Host (WSH). Der WSH wird standardmäßig mit Windows 98 (und 2000) installiert (weitere (kostenlose) Installationsmöglichkeiten siehe unten). Hier ist die Umgebung unsichtbar, ein Klick auf die VBScript-Datei reicht.

Das VBScript-Programm ist eine ganz normale Text-Datei, die mit NotePad (Editor) editiert werden kann. Also Editieren, Speichern, Run. Das Ampel-Programm (AmpelMini.VBS) sieht so aus :

Const cLampeRot = 3, cLampeGelb = 2, cLampeGruen = 1
Const cLampeAus = 0, cLampeEin = 1
Dim ft, i

Set ft = CreateObject("FishF532.clsFishFace")
ft.OpenInterface "COM1"

For i = 1 to 3
ft.SetMotor cLampeGruen, cLampeAus
ft.SetMotor cLampeGelb, cLampeEin
ft.WaitForTime 300
ft.SetMotor cLampeGelb, cLampeAus
ft.SetMotor cLampeRot, cLampeEin
ft.WaitForTime 1000
ft.SetMotor cLampeGelb, cLampeEin
ft.WaitForTime 300
ft.SetMotor cLampeRot, cLampeAus
ft.SetMotor cLampeGelb, cLampeAus
ft.SetMotor cLampeGruen, cLampeEin
ft.WaitForTime 800
Next

ft.CloseInterface

  1. Zuordnen von symbolischen Namen für die Lampen (Const ...)
  2. Erstellen einer Verbindung zum FishFace-ActiveX (Set = ft ...
  3. Verbindung zum Interface
  4. Durchlauf von drei Ampelphasen (For ... Next)
  5. Schalten der Lampen mit WaitForTime für die Einschaltdauer
  6. Schließen der Verbindung zum Interface

Was braucht man nun

für das VBScript Programmieren (neben einer gesunden Portion Neugier) :

  1. Den Windows Scripting Host (WSH aktuelle Version 2.0, Dateiversion 5.1, Nov 99). Bei Windows 98 standardmäßig installiert (ggf. nachinstallieren Menü : Start | SystemSteuerung | Software | WindowsSetup | Zubehör | Details | Windows Scripting Host. Für Windows 95 und Windows NT4 bei  Microsoft kostenlos herunterladen. Päckchen ste51de.exe (Stand Nov 99)
  2. VBScript (aktuell Version 5.1 (Nov 99)) wird mit dem Internet Explorer installiert, ist auch im Päckchen ste51de.exe enthalten.
  3. Dokumentation zu WSH und VBScript gibt es auch (die aktuellen allerdings z.Zt. (Nov 99) nur in englisch) auf www.microsoft.com/scripting ein wenig suchen. Buch : Microsoft Press : Günter Born - Inside Windows Host, 79 DM (Hier hörts dann mit kostnlos auf).
  4. Und dann gibt es da noch einen (kostenlosen) Debugger www.microsoft.com/scripting/debugger . Mit dem Debuggen unter Windows NT und WSH 2.0 hab ich da so meine Schwierigkeiten, aber er kommt mit einem Editor, der Zeilennummern anzeigt, da spart das Zeilenzählen beim Debuggen.
  5. Last not least : es gibt auch ein FishFace-Handbuch.

Und nun noch die JScript-Variante nur für diejenigen, die sich beim Homepage-Basteln schon mit JavaScript beschäftigt haben :

JScript

ist eine von Microsoft entwicklete Scriptsprache, die zu großen Teilen dem von NetScape favorsierten und von ECMA genormten JavaScript entspricht, aber immer dann wenns spannend wird seine Eigenständigkeit beweist. Auch NetScape gibt sich da alle Mühe : ActiveX-Elemente (hierFishF532.DLL) werden von JavaScript eisern ignoriert. Sonst gilt das für VBS gesagte und ist auch in AmpelSCR.ZIP verpackt.

Was geht : Windows Scripting Host(WSH, Microsoft) mit JScript(Microsoft) und der Internet Explorer(Microsoft) mit JScript(Microsoft). Natürlich mit ein paar kleinen Abweichungen gegenüber der VBScript-Losung (neben den direkten Spracheigenheiten). Ich habe unter Windows NT 4.0 SP4 mit WSH 2.0, JScript 5.1 und dem Internet Explorer 4.01 und unter Windows 98 (Version 1)  mit WSH 1.0? und JScript 3.0? getestet.