WinCC String Variable in Grossbuchstaben änden

JesperMP

Well-known member
Beiträge
6.484
Punkte Reaktionen
1.222
Wenn ASCII Code > 90 dann ASCII-Code minus 32 rechnen - sofern Du sicher bist, daß Du nur Buchstaben vorliegen hast...

Die Grossbuchstaben A - Z liegen zwischen 65 - 90 (Dezimal)
Die Kleinbuchstaben a - z liegen zwischen 97 - 122 (Dezimal)
Vielleicht
charval := CHAR_TO_INT(char);
IF charval >=97 AND charval <= 122 THEN
newchar := INT_TO_CHAR(charval - 32)
END_IF ;
 

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.439
Punkte Reaktionen
5.121
Thema HMI/WinCC:
Wo willst Du den String in Großbuchstaben wandeln? In VBS gibt es die Funktion UCase.

Harald
 

Heinileini

Well-known member
Beiträge
4.221
Punkte Reaktionen
864
Hallo, am liebsten wäre mir ein vb Skript was ich nach der Eingabe ausführe..
Das meinte Harald alias @PN/DP doch mit "In VBS gibt es die Funktion UCase."!
VBS-Beispiele:
StringGross = UCase(StringIrgendwie)
StringKlein = LCase(StringIrgendwie)
StringErsterGrossRestKlein = Left(UCase(StringIrgendwie),1) & Mid(LCase(StringIrgendwie),2)
IstBuchstabe = Char = "ß" Or UCase(Char) <> LCase(Char)

Übrigens werden auch die Umlaute als Buchstaben behandelt, was beim zuvor gezeigten CodeSchnippsel nicht der Fall ist.
Noch übrigenser, das 'ß' ist (und bleibt) ein KleinBuchstabe.
 
Zuletzt bearbeitet:

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.439
Punkte Reaktionen
5.121
é è É È ô Ô... u.Ä. sind auch Buchstaben ... in manchen Sprachen gibt es auch noch Æ Ð Ø ø ă ę ...

Harald
 
OP
S

sps-aimoehl

Member
Beiträge
13
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Das meinte Harald alias @PN/DP doch mit "In VBS gibt es die Funktion UCase."!
VBS-Beispiele:
StringGross = UCase(StringIrgendwie)
StringKlein = LCase(StringIrgendwie)
StringErsterGrossRestKlein = Left(UCase(StringIrgendwie),1) & Mid(LCase(StringIrgendwie),2)
IstBuchstabe = Char = "ß" Or UCase(Char) <> LCase(Char)

Übrigens werden auch die Umlaute als Buchstaben behandelt, was beim zuvor gezeigten CodeSchnippsel nicht der Fall ist.
Noch übrigenser, das 'ß' ist (und bleibt) ein KleinBuchstabe.
Danke, diese Antwort hat funktioniert
 

Heinileini

Well-known member
Beiträge
4.221
Punkte Reaktionen
864
é è É È ô Ô... u.Ä. sind auch Buchstaben ... in manchen Sprachen gibt es auch noch Æ Ð Ø ø ă ę ...
Ja, leider ist das Thema sehr sprachenabhängig, Harald.

Und der TE kann sich glücklich schätzen, wenn er das Problem mit VBS lösen kann. Das dürfte sich recht gut mit dem Thema Buchstaben auskennen. Auf jeden Fall besser, als man es selbst hinbekommt, wenn man auf die Schnelle etwas entsprechendes in SCL, ST oder ... realisieren möchte.

Wenn ich auf meine Tastatur blicke, würde ich sogar die Zeichen µ, @ und € mindestens in die "GrauZone" zwischen Buchstaben und Sonderzeichen rücken wollen.
 

PN/DP

User des Jahres 2011 - 2013; 2015 - 2017; 2020
Beiträge
17.439
Punkte Reaktionen
5.121
Ja, leider ist das Thema sehr sprachenabhängig
Für welche Sprache(n) oder welchen Zeichenvorrat die Großbuchstaben-Wandlung funktionieren soll, hat der TE ja nicht angegeben, vielleicht ist es auch (noch) nicht klar? Da ist es besser, gleich eine Methode zu wählen, die auch die unvorhergesehenen Fälle mit abdeckt. Besonders wenn der String von einer Benutzereingabe stammt... was die Benutzer eingeben/können ist wirklich unvorhersehbar.

Harald
 
Oben