VB-Script Tester


Hallo Leute,

wer bei einer Formel für ein Beschriftungsbild oder ein Formel-Attribut mit 254 Zeichen nicht auskommt, braucht das VB-Script aus Std\vbs\functions.vbs. Da die Script-Sprache VB syntaktisch zwar nahe bei VBA angesiedelt ist, aber dennoch nicht ganz identisch ist, hat mancher Probleme, hier beim ersten Mal die richtige Syntax zu treffen.

Das Rumprobieren mit der functions.vbs:
-Änderungen in functions.vbs machen, speichern
-Beschriftungsbilder aktualisieren
ist sehr mühsam, da man keine Rückmeldung zu Syntax- oder Laufzeitfehlern bekommt.

Daher habe ich mal einen kleines Tester für VB-Scripte geschrieben.
Das ist eine kleine .exe, die Funktionen eines Scripts interpretiert und ausführt.
Dabei sollten im Script nur Function-Definitionen enthalten sein.
Man kann diese Funktionen einzeln mit POD-Parametern testen (POD...Plain old data -> Bool, Integer, Double, String, ..),
und erhält das Ergebnis angezeigt! Der Rückgabewert sollte wieder vom Type Bool, Integer, Double, String, Date oder Currency sein.

Damit kann man das Script vorher testen, bevor man es nach functions.vbs kopiert.
Leider ist das noch keine Garantie, dass es in einer Formel für ein Beschriftungsbild funktioniert.
Allplan hat da scheinbar noch einige Fehler in der Implementierung drin.
Aber zumindest Syntaxfehler kann man damit "umschiffen"...

Have Fun!

Grüße Jörg

Adjuntos (2)

Type: image/png
Descargado 227 veces
Size: 52,32 KiB
Type: application/zip
Descargado 590 veces
Size: 278,30 KiB

Grossartig!! Vielen Dank!!!

Ich habe das Testscript gleich mal ausprobiert, und einen kleinen Bug bzw. Verbesserungsvorschlag gefunden:
Bei meiner Funktion, die Unterstriche durch Zeilenumbrüche ersetzt, werden diese im "Result"-Fenster nicht angezeigt. (in Allplan aber schon)

Aber auch so ist das eine Riesenhilfe!

lg,
Stefan

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Adjuntos (1)

Type: image/jpeg
Descargado 134 veces
Size: 42,12 KiB

vbCr = "\r" = Carriage Return - (Wagenrücklauf)
vbLf = "\n" = Line feed - (Zeilenvorschub)
vbCrLf = "\r\n" = Carriage Return & Line feed

Bei einem einem Beschriftungsbild in Allplan reicht schon ein Steuerzeichen, nämlich vbCr ("\r") für den Zeilenumbruch.
In der "übrigen" Windows-Welt (so auch im Dialog des Script-Testers) braucht es dafür vbCrLf ("\r\n")!

Wenn Du also statt vbCr -> vbCrLf in Deinem Script verwendets, siehst Du das Ergebnis auch im Dialog!

Danke!
Man lernt nie aus. :-)

GEA Arquitectos S.L.P.
Calle Gerardo Diego 6A | 41013 Sevilla | Spain

Kann das Steuerzeichen in VTBs auch verwendet werden?

Gruß Jürgen
Allplan V10 bis V2024

Welches?
Wie Stefan berichtet hat reicht vbCR ("\r") im Text /VTB von Allplan aus, um einen Zeilenvorschub auszulösen.
Was vbLf("\n") oder vbCrLf("\r\n") tut, müßte man testen.

Hintergrundwissen gibts hier

Der Zeilenvorschub abe nicht in scripten sondern in Beschriftungsbildern.
Reicht da dann das "\r"

muss ich mal testen, was passiert...

@393@"\r"@415@

Gruß Jürgen
Allplan V10 bis V2024

Da fehlen die "Verbindungs-Operatoren:
@393@+"\r"+@415@

Perfekt!

Gruß Jürgen
Allplan V10 bis V2024


https://campus.allplan.com/ utiliza cookies  -  Aqui

Acéptalo