Unsere Partner:

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner

DIAdem-Forum.de Partner






Stellenangebote:
Entwicklungsingenieur Messtechnik und Fahrzeugelektronik (m/w)
Planung und Durchführung von Projekten im Bereich NFZ-Messtechnik
MBtech Group GmbH Co. KGaA
Magstadt, Sindelfingen bei Stuttugart, Stuttgart
Versuchsingenieur innovative Chassissysteme (m/w)
Erprobung von Chassissystemen, Koordination des Aufbaus von Aggregateträgern
MBtech Group GmbH Co. KGaA
Magstadt
Laboringenieur / Messtechnikingenieur mit Labview (w/m)
Entwicklung und Auslegung von Versuchsaufbauten
Brunel GmbH
Frankfurt/Offenbach
Versuchsingenieur Chassis Erprobung (m/w)
Grundsatzuntersuchungen, Fahrversuche und Freigabeuntersuchungen im Fahrwerkbereich
MBtech Group GmbH Co. KGaA
Magstadt
Applikationsingenieur Abgasnachbehandlung / SCR Dosiermodul (m/w)
Spezifikation, Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung
MBtech Group GmbH Co. KGaA
Fellbach
Entwicklungsingenieur Getriebemechatronik (m/w)
Getriebe und Hybrid Aufgabenstellungen
MBtech Group GmbH Co. KGaA
Fellbach, Stuttgart
Entwicklungsingenieur Fahrzeugapplikation Verbrennungsmotor (m/w)
Applikation, Test und Validierung von Motorsteuergerät-Funktionen auf den Gebieten Fahrbarkeit und Regelungssysteme
MBtech Group GmbH Co. KGaA
Fellbach
Applikationsingenieur Abgasnachbehandlung /-OBD Otto (m/w)
Applikation, Test und Validierung von Softwarefunktionen der Abgasnachbehandlung / - OBD
MBtech Group GmbH Co. KGaA
Fellbach
Versuchsingenieure / Produktionsingenieure (m/w)
Prozessentwicklung, Versuchswesen in den Bereichen Messtechnik, Elektronik, Getriebetechnik
über Steinbach Partner Executive Consultants
Region Stuttgart und Unterfranken
Versuchsingenieur Betriebsfestigkeit (m/w)
Auswerten von Messdaten, Erstellung von Autosequenzen
MBtech Group GmbH Co. KGaA
Wörth, Untertürkheim
Versuchsingenieur (m/w) Sonderversuch
Entwicklung neuer Testmethoden im Sonderversuch
Continental AG
Hannover
Test Engineer (m/w)
Durchführung und Analyse von Versuchen an PKW-Innenraumkomponenten
Johnson Controls Automotive Experienc über Scheerer Werbung GmbH
Burscheid

Stand: 11:04:55 06.02.2012



.
 
Antwort schreiben 
 
Themabewertung:
  • 3 Bewertungen - 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.)
Beitrag #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: 552)
___________________________________________________________
DIAdem 11.0

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

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

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren



13.11.2008, 14:11
Beitrag #2
DIAdem-Version: 10.2, 11.1, 2010 und auf alten CD's runter bis 3.0
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Vielen Dank Carpe_DIAdem für dieses super Tutorial!


(13.11.2008 13:10)Carpe_DIAdem schrieb:  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.

Zwei Tipps fallen mir dazu noch ein:
[Strg]+['] ermöglicht das Kommentieren von mehreren Zeilen gleichzeitig (hab ich erst heute hier im Forum gelernt Smile)
[Strg]+[Shift]+['] hebt den Kommentar auf
[TAB] rückt eine (oder mehrere!) Zeilen nach rechts und
[Shift]+[TAB] nach links ein.

Ich freue mich auf mehr solcher Beiträge

Gruß
Bruno

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.11.2008, 13:31
Beitrag #3
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Hallo Bruno,

stimmt - das gehört auch noch in die Tripps nd Tricks. Ich werde es bei mir ergänzen.

Danke!

Carpe DIAdem

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.12.2008, 14:50
Beitrag #4
DIAdem-Version: 2010 (11.2), 2011
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1995
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Als Programmierer der alten Schule werde ich mich jetzt doch mal intensiv mit Klassen und Objekten beschäftigen müssen. Die Überabe von Objekten als Parameter hat schon was.

@Carpe DIAdem
Wenn die Beispiele (SUD-Dialoge) jetzt auch noch unter DIAdem 10.2 laufen würden (zumindest noch ein paar Monate) hätte das einen gewissen Charm Wink

Gruß Voyager

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2008, 10:49
Beitrag #5
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Hallo Voyager,

auf vielfachen Wunsch habe ich das Dialog-Beispiel auch für DIAdem 10.2 angehängt (siehe oben).

Carpe DIAdem

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.12.2008, 18:08
Beitrag #6
DIAdem-Version: 2010 (11.2), 2011
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1995
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

@carpe
Vielfachen Dank!!!

@Alle
Schöne erholsame Weihnachten und einen guten Rutsch in ein garantiert sehr interessantes DIAdem-Jahr 2009

wünscht Voyager

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2009, 10:38
Beitrag #7
DIAdem-Version: 2010 (11.2), 2011
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1995
HEX-Werte angeben

Die Syntax zur direkten HEX-Wert-Eingabe stammt in DIAdem noch aus der guten alten Pascal-Zeit. So ist es in den meisten Eingabedialogen und Tabellen möglich, Hexadezimaleingaben mit einem vorangestellten "$" zu machen. Auch in der AUT-Syntax gilt dies bei Wertzuweisungen (z.B. L1 := $10).
In VBS ist ungewohnterweise "&H" voranzustellen (z.B. L1 = &H10).

Gruß,
Voyager (der auch ein Weilchen gesucht hat)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.03.2009, 16:09
Beitrag #8
DIAdem-Version: 2010 (11.2), 2011
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1995
Hilfsvariablen vom Typ Variant

An dieser Stelle möchte ich die Freunde der guten alten Hilfsvariablen (z.B. L1, R2, T6, ...) darauf hinweisen, dass es mit O1 ... O10 auch Hilfsvariablen vom Typ Variant gibt.
Mit diesen Dingern lassen sich dann auch Objekte, Klassen, ... vorzugsweise für Tests einfach global verwenden.
Diese Variablen sind momentan weder im Taschenrecher, noch im Hilfsvariablendialog zu finden. Auch in der Hilfe sind sie nur direkt mit O1 bis O10 zu finden.

Gruß Voyager

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2009, 10:53
Beitrag #9
DIAdem-Version: alle
DIAdem-Sprachversion: DE/EN
DIAdem Erfahrung seit: 1995
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Hallo Voyager,

zu Testzwecken kann man sie sicherlich einsetzen, aber aus oben genannten Gründen („Sprechende“ Variablenamen) kann man sie nur bedingt empfehlen.

Carpe DIAdem

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.04.2010, 15:42 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2010 17:33 von chaosyeti.)
Beitrag #10
DIAdem-Version: 11.1
DIAdem-Sprachversion: DE
DIAdem Erfahrung seit: 1996
RE: Hinweise und Tipps und Tricks bei der Script-Erstellung

Moin!

(13.11.2008 14:11)Bruno schrieb:  Vielen Dank Carpe_DIAdem für dieses super Tutorial!

Zwei Tipps fallen mir dazu noch ein:
[Strg]+['] ermöglicht das Kommentieren von mehreren Zeilen gleichzeitig (hab ich erst heute hier im Forum gelernt Smile)
[Strg]+[Shift]+['] hebt den Kommentar auf
[TAB] rückt eine (oder mehrere!) Zeilen nach rechts und
[Shift]+[TAB] nach links ein.

Ich freue mich auf mehr solcher Beiträge

Gruß
Bruno
Daß einen Short Cut mit den Hochkommata ' gibt, war mir auch neu.

Ich weiß, daß es auch eine Tastenkombination gibt, alle vorhandenen Haltepunkte ([F9] für zeilenweise an/aus) in einem Script wieder zu entfernen. Ich hab sie nur vergessen... Kennt sie jemand?

Ansonsten schließe ich mich Bruno mit dem Lob an. Smile
Wär noch cooler, Carpe DIAdem, wenn Du die zusätzlichen Tipps (z.B. eben diese Short Cut-Kombinationen) oben mit in Deinen ersten Beitrag aufnehmen könntest! Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu: