# Zeilenumbruch in einem Skript im Wincc



## PeterGötz (3 November 2010)

Hallo

wie kann ich in einem VB-Skript einen Zeilenumbruch tätigen ohne dass die Syntax meiner Logik leidet. Meine Ausdrücke sind teilweise recht lange, und daher schlecht lesbar.

Beispiel:
If Not SmartTags("E_Hubtisch_belegt") And Not (SmartTags("E_Hub_Senken_Aus") Or SmartTags("E_Hub_AbgabeRollbahn")) Then

Obiger Ausdruck wird im WinCC einzeiglig dargestellt, und muss um diesen Lesen zu können immer horizontal gescrollt werden.
Geht die Programmierung eines Ausdruckes in WinCC in einem VB-Skript auch mehrzeilig? Wenn ja, wie?

Gruß Peter Götz


----------



## Verpolt (3 November 2010)

```
If Not SmartTags("E_Hubtisch_belegt") 
   And Not (SmartTags("E_Hub_Senken_Aus") 
   Or SmartTags("E_Hub_AbgabeRollbahn")) 
Then
```

geht das so nicht?


----------



## volker (3 November 2010)

normal mit nem unterstrich.
versuchs mal so

```
If Not SmartTags("E_Hubtisch_belegt")_ 
   And Not (SmartTags("E_Hub_Senken_Aus")_ 
   Or SmartTags("E_Hub_AbgabeRollbahn")) 
Then
```


----------



## PeterGötz (3 November 2010)

Nein so geht das nicht:
Beispiel unten was funktioniert, wenn auch logik nicht sinnvoll aber Syntax stimm:

If (SmartTags("E_61_6") Or SmartTags("E_61_3")Or SmartTags("E_61_4")) And SmartTags("E_61_5") Then
End If

Die Syntaxprüfung zeigt keine Fehler in obiger Zeile.  (Bis Then steht alles in einer Zeile).

If (SmartTags("E_61_6") Or SmartTags("E_61_3")Or SmartTags("E_61_4"))
  And SmartTags("E_61_5") Then
End If 

Hier ist nun vor dem AND ein Zeilenumbruch eingefügt. Bei der Syntaxprüfung meldet WinCC in roter Schrift   'THEN' erwartet in Zeile 5, Spalte 70


Es gibt ein Zeilenumbruchzeichen bzw. Verlängerungszeichen im Basic. Wie lautet es und funktioniert es auch im WINcc Skripten?


----------



## PeterGötz (3 November 2010)

Danke VOLKER

mit dem Unterstrich funktioniert es.  Nochmals DANKE.


----------



## mystone (15 April 2014)

Hallo zusammen,

ich schließe mich der Frage des Zeilenumbruchs in WinCC bei einem VB-Script an. 
Jedoch möchte ich einen Text dynamisieren (Runtime).

Ich möchte anhand eines Bits zwei Texte anzeigen: Parameter gespeichert und Parameter unterschiedlich.
Allerdings mit "Enter" etwa so:

 Parameter 
gespeichert 

Parameter
unterschiedlich

Das Script wird bei einem Element (Statischer Text) der Eigenschaft "Text" zyklisch ausgeführt.
Derzeit sieht es so aus: 

```
Function Text_Trigger(ByVal Item)

If HMIRuntime.Tags("HMI_Auswahl_Anzeige_Ladegeraet_Vergleich").Read = False Then
Item.Text = "Parameter_gespeichert"

Else 
Item.Text = "Parameter_unterschiedlich"
End If 

End Function
```

Wie/Wo muss der Unterstrich hin? Jedenfalls nicht innerhalb der " " da er ansonsten als Text mit ausgegeben wird.




Vielen Dank
michstein


----------



## Larry Laffer (15 April 2014)

Hallo,
die gegebene Antwort hat mit deiner Problematik nichts zu tun.
Du mußt eine Zeilenschaltung in dein Label bekommen. Das geht wahrscheinlich mit Shift-Enter oder Alt-Enter.

Gruß
Larry


----------



## mystone (15 April 2014)

Schon, aber wie geht eine Zeilenschaltung in VBS, sodass ich diese in Runtime angezeigt bekomme?

MFG michstein


----------



## ducati (15 April 2014)

probier mal \n

...


----------



## mystone (15 April 2014)

Hallo,

Also alles was zwischen den " " steht, also auch ein \n etc.... wird demnach als Text dargestellt und nicht als Sonderzeichen/Befehl erkannt.
Es muss doch einen Weg geben, dem Editor mitzuteilen, dass hier ein Absatz hingehört.

MFG


----------



## Krumnix (15 April 2014)

Bei VBS heißt das vbCrLf.
Zu verwenden: "Text Zeile 1" &vbCrLf "Text Zeile 2".....


----------



## mystone (15 April 2014)

Sooo,

danke Krumnix, fast korrekt, beim Text in der 2. Zeile muss noch ein & davor.

es Lautet:

```
Item.Text = "Parameter" &vbCrLf &"gespeichert"
```

Danke
michstein


----------



## Krumnix (16 April 2014)

Stimmt  Fipptehler


----------



## mystone (16 April 2014)

Kommt vor ;-)

Danke nochmals, klappt jetzt wunderbar mit dem Zeilenumbruch.


----------

