-> Hier kostenlos registrieren
Hallo zusammen,
1500er CPU
TIA V16
ich habe folgende Aufgabe
In einem String sollen Zeichen gelöscht und ausgetauscht werden. Der String lautet: „Max Mustermann – Telefon: +49 421 626758-0“ . Alle Kleinbuchstaben sind in Großbuchstaben umzuwandeln. 2. Alle Leerzeichen werden durch Unterstriche ersetzt. 3. Alle weiteren Zeichen, die keine Buchstaben sind, sind zu entfernen. Das Ergebnis sollte so aussehen: MAX_MUSTERMANN_TELEFON__
Ich habe es folgendermaßen versuch zu lösen:
#sourceString := 'Max Mustermann – Telefon: +49 421 626758-0';
#resultString:= '';
FOR #i := 1 TO LEN(#sourceString) DO
IF ('a' <= #sourceString[#i]) AND (#sourceString[#i] <= 'z') THEN
// Umwandlung von Kleinbuchstaben in Großbuchstaben und dann in BYTE
#resultString := CONCAT(IN1 := #resultString, IN2 := STRING_TO_CHAR(CHAR_TO_BYTE(#sourceString[#i])) - 'a' + 'A');
IF #sourceString[#i] = ' ' THEN
// Ersetzen von Leerzeichen durch Unterstriche
#resultString := CONCAT(IN1 := #resultString, IN2 := '_');
ELSIF ('A' <= #sourceString[#i]) AND (#sourceString[#i] <= 'Z') THEN
// Hinzufügen von Großbuchstaben
#resultString := CONCAT(IN1 := #resultString, IN2 := #sourceString[#i]);
ELSE
;
// Entfernen aller anderen Zeichen
END_IF;
END_IF;
END_FOR;
Mit dieser Zeile habe ich Schwierigkeiten: #resultString := CONCAT(IN1 := #resultString, IN2 := STRING_TO_CHAR(CHAR_TO_BYTE(#sourceString[#i])) - 'a' + 'A');
Das Char_to_Byte wird nicht akzeptiert. Folgender Fehltertext wird ausgegeben: Parameter der Funktion oder des Funktionsbausteins stimmen nicht.
Bitte keine komplett neuen Lösungsansätze. Würde gerne diese Programm zum laufen bringen.
1500er CPU
TIA V16
ich habe folgende Aufgabe
In einem String sollen Zeichen gelöscht und ausgetauscht werden. Der String lautet: „Max Mustermann – Telefon: +49 421 626758-0“ . Alle Kleinbuchstaben sind in Großbuchstaben umzuwandeln. 2. Alle Leerzeichen werden durch Unterstriche ersetzt. 3. Alle weiteren Zeichen, die keine Buchstaben sind, sind zu entfernen. Das Ergebnis sollte so aussehen: MAX_MUSTERMANN_TELEFON__
Ich habe es folgendermaßen versuch zu lösen:
#sourceString := 'Max Mustermann – Telefon: +49 421 626758-0';
#resultString:= '';
FOR #i := 1 TO LEN(#sourceString) DO
IF ('a' <= #sourceString[#i]) AND (#sourceString[#i] <= 'z') THEN
// Umwandlung von Kleinbuchstaben in Großbuchstaben und dann in BYTE
#resultString := CONCAT(IN1 := #resultString, IN2 := STRING_TO_CHAR(CHAR_TO_BYTE(#sourceString[#i])) - 'a' + 'A');
IF #sourceString[#i] = ' ' THEN
// Ersetzen von Leerzeichen durch Unterstriche
#resultString := CONCAT(IN1 := #resultString, IN2 := '_');
ELSIF ('A' <= #sourceString[#i]) AND (#sourceString[#i] <= 'Z') THEN
// Hinzufügen von Großbuchstaben
#resultString := CONCAT(IN1 := #resultString, IN2 := #sourceString[#i]);
ELSE
;
// Entfernen aller anderen Zeichen
END_IF;
END_IF;
END_FOR;
Mit dieser Zeile habe ich Schwierigkeiten: #resultString := CONCAT(IN1 := #resultString, IN2 := STRING_TO_CHAR(CHAR_TO_BYTE(#sourceString[#i])) - 'a' + 'A');
Das Char_to_Byte wird nicht akzeptiert. Folgender Fehltertext wird ausgegeben: Parameter der Funktion oder des Funktionsbausteins stimmen nicht.
Bitte keine komplett neuen Lösungsansätze. Würde gerne diese Programm zum laufen bringen.
Zuletzt bearbeitet: