INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.




Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Softwareentwickler (m/w) Java Entwicklung
Gaimersheim

Big Data Scientist / Analyst (m/w) Messdatenmanagement
Ingolstadt

Testingenieur (m/w) im Bereich Versuch
Eching bei München

Ingenieur (m/w) Qualitätsmanagement Datenanalyse
Aurich

Entwicklungsingenieur Gelenk- und Seitenwellen (m/w)
Affalterbach





.
 
Themabewertung:
  • 3 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

Hinweise und Tipps und Tricks bei der Script-Erstellung
13.11.2008, 13:10, (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2008, 10:46 von Carpe_DIAdem.)
#1
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
Hinweise und Tipps und Tricks bei der Script-Erstellung

Hallo zusammen,

Scripte (Applikationen) sind nur dann gute Scripte, wenn ihre Lesbarkeit - und damit einhergehend - ihre Erweiterbarkeit und Wartbarkeit einfach und leicht gewährleistet ist.
Einmal erstellte Scripte müssen immer – das zeigt die Praxis – gewartet und erweitert werden. Die nachfolgenden Hinweise sollen das Erstellen, die Pflege und Wartung von Scripten erleichtern.

Option Explicit
Erzwingt die explizite Deklaration aller Variablen in einem Script. Dadurch wird beispielsweise verhindert, dass Namen bereits bestehender Variablen falscher Schreibweise verwendet werden.

Erst Hauptprogramm, dann Funktionsdefinitionen
Es hat sich als hilfreich und besser lesbar herausgestellt, das Hauptprogramm vor den Funktionen zu definieren.

So viele Kommentare wie möglich
Wartungsarbeiten und Erweiterungen werden in erheblichem Maße durch sinnvolle Kommentare und optische Aufteilungen erleichtert.

Einrücken
Zur besseren Lesbarkeit sollten man bei IF, FOR, SELECT CASE, DO LOOP und Funktionsdefinitionen den Quellcode einrücken.

Call verwenden
Mit Call kennzeicht man den Aufruf von Funktionen und Prozeduren. Durch die damit einhergehende Klammerung der Übergabeparameter verbessert man die Lesbarkeit von Scripten.

„Sprechende“ Variablenamen
Verwendet sinngebende Namen für Variablen und Funktionsdefinitionen. (L1, R1, … sind keine sprechenden Variablen.) Ergänzt die Variablennamen durch ein vorangestelltes Zeichen, das den Datentypen repräsentiert (auch wenn VBS nur den Typen Variant kennt) und verwendet die Variablen in einem Kontext exklusiv (z. B. nur in einer SUB-Prozedur). Beispiele: dMeanSpeed, iCurrPos

Lokale Variablen verwenden
Die Fehleranfälligkeit von Scripten kann man deutlich reduzieren, indem keine – oder möglichst wenige – globalen VBS-Variablen definiert werden. Dadurch vermeidet man, dass unbeabsichtigt Werte von Variablen geändert werden oder eine Variable mehrfach zu unterschiedlichen Zwecken benutzt wird.

Keine Code-Wiederholungen
Nutzt Funktionsdefinitionen, um sich wiederholenden Code zu vermeiden. Gleicher Code, der an unterschiedlichen Stellen eingesetzt wird, muss bei Erweiterungen unnötig oft angepasst und geändert werden.

Übergabeparameter anstelle von globalen Variablen
Wie oben beschrieben, sollte auf globale Variablen weitestgehend verzichten werden. Um Informationen zwischen Funktionen auszutauschen, übergebt den Funktionen Parameter.

Modularisieren von Scripten
Das Aufteilen von größeren Applikationen auf mehrere VBS-Dateien ist durchaus üblich und sinnvoll. Vielfach erleichtert diese Modularisierung den Aufwand bei Wartungsarbeiten und Erweiterungen. Verwendet ScriptInclude, um auf Funktionen in anderen VBS-Dateien zuzugreifen. Der Aufruf erfolgt über den Funktionsnamen. Kennzeichet solche Funktionsbibliotheken mit SubSequence, damit die Funktionen der Bibliothek nur aus anderen Scripten aufrufbar sind.

Syntax von ScriptInclde
Eine VBS-Datei mit Sub- und Function-Prozeduren wird im Hauptscript mit dem Befehl ScriptInclude bekannt gemacht. Danach sind alle dort definierten Prozeduren über ihren Namen nutzbar.

Hinweis: ScriptInclude ist in jedem Fall einem ScriptStart vorzuziehen. Mit jedem ScriptStart wird eine quasi neue Script-Engine aktiviert und es werden jedes Mal bestimmte Prüfungen und Plausibilitätstests durchgeführt. Das kostet Zeit. Einer der wenigen sinnvollen Einsätze für ScriptStart ist die DIAdem-Kommandozeile (/CScriptStart(…)).
Siehe angehängtes Beispiel: Scripte_einbinden.ZIP

Informationsaustausch zwischen VBScript und SUD per Objekt
Prinzipiell bestehen zwei Möglichkeiten, Informationen zwischen einem Script und einem SUD-Dialog auszutauschen: mit globalen Variablen oder als Objekt-Parameter beim Aufruf des Dialogs. Wir empfehlen die Parameter-Variante.
Zunächst definiert man ein Klassen-Objekt, das alle auszutauschenden Informationen beinhaltet und initialisiert das Objekt. Beim SUD-Aufruf wird das Objekt als Parameter übergeben. Im SUD-Dialog definiert man eine SUD-globale Objekt-Variable. In der Dialoginitialisierung kann man mit dem Befehl GetArgument auf die Daten zugreifen und – bevor der Dialog beendet wird – mit SetArgument die Daten aktualisieren. Die aktualisierten Informationen stehen dann im Script wieder zur Verfügung.
Siehe angehängtes Beispiel: SUD_Control.ZIP

Carpe DIAdem
___________________________________________________________
DIAdem 11.0 und 10.2

.zip   Scripte_einbinden.zip (Größe: 1,05 KB / Downloads: 1.339)
___________________________________________________________
DIAdem 11.0

.zip   SUD_Control.zip (Größe: 4,15 KB / Downloads: 1.221)
___________________________________________________________
DIAdem 10.2

.zip   SUD_Control_10_2.zip (Größe: 4,16 KB / Downloads: 974)

Antworten


Nachrichten in diesem Thema
Hinweise und Tipps und Tricks bei der Script-Erstellung - Carpe_DIAdem - 13.11.2008, 13:10
HEX-Werte angeben - voyager - 19.01.2009, 10:38

Gehe zu: