GET_CHAR

Lesen eines Zeichenwerts an der angegebenen Position in einer Zeichenkette

Diese Funktion ruft den 8-Bit-Zeichenwert von sString ab, wobei iPosition die Position des Zeichens in der Zeichenkette angibt und 1 das erste Zeichen der Zeichenkette ist.

Das untere Byte des Ergebnisses enthält den Byte-Wert, die oberen Bytes des Ergebnisses werden mit Nullen aufgefüllt.

Eingang

sString (STRING)

Zeichenkette, aus der das Zeichen entnommen wird

iPosition (INT, DINT, UINT, UDINT)

Die Position des erhaltenen Zeichens, wobei 1 das erste Zeichen der Zeichenkette ist, muss größer oder gleich 1 sein.

Ausgang

Unnamed output (WORD, DWORD)

Der Ergebnisbyte-Wert, wobei die oberen Bytes mit Nullen aufgefüllt werden.

Anmerkungen

  • Bitte überprüfen Sie die Gültigkeit der Eingabedaten, da Control FPWIN Pro7 die Gültigkeit der Daten, auf die zugegriffen wird, nicht überprüft.

  • Bitte überprüfen Sie, ob die angegebene Position die maximale Anzahl von Zeichen nicht überschreitet oder höher ist als die aktuelle Anzahl von Zeichen.

Anmerkung

Um die beste Leistung zu erzielen, verwenden Sie bitte so oft wie möglich konstante Eingabewerte!

Verwandte Themen

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bStart: BOOL:=FALSE;
		sInputString: STRING[32]:='ABCDabcd';
		wCharvalue: WORD:=16#61;
	END_VAR

KOP-Rumpf

Wenn die Variable bStart auf TRUE gesetzt wird, wird die Funktion ausgeführt.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,3,1,5,3,);
B(B_F,E_GET_CHAR!,,14,0,21,5,,?DEN?DsString?DiPosition?AENO?C);
B(B_VARIN,,sInputString,12,2,14,4,);
B(B_VAROUT,,wCharvalue,21,2,23,4,);
B(B_VARIN,,2,12,3,14,5,);
L(1,0,1,5);
L(1,2,3,2);
L(5,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

if (bSTart) then
	wCharvalue:=GET_CHAR(sInputString, 2);
end_if;

Letzte Änderung: 2025-03-12Feedback zu dieser SeitePanasonic Hotline