LWORD_TO_BASE36STR
Die Funktion konvertiert eine Dezimalzahl in einen Base36-String (Basis 16). Bei Zahlen mit Basis 16 werden zur Darstellung neben den Ziffern 0-9 ebenso die Buchstaben A-Z verwendet.
FUNCTION LWORD_TO_BASE36STR : T_MaxString
VAR_INPUT
VAR_INPUT
in : LWORD;
iPrecision : INT;
bLoCase : BOOL;
END_VAR
in: Die zu konvertierende Dezimalzahl.
iPrecision: Minimale Anzahl der erscheinenden Stellen (digits). Ist die tatsächliche Anzahl der signifikanten Stellen kleiner als der iPrecision-Parameter, dann wird der resultierende String links mit Nullen aufgefüllt. Ist die Anzahl der signifikanten Stellen größer als der iPrecision-Parameter, dann wird der resultierende String nicht abgeschnitten! Haben der iPrecision-Parameter und der in-Parameter den Wert Null, dann ist der resultierende String ein Leerstring.
bLoCase: Dieser Parameter bestimmt, ob Klein- oder Großbuchstaben bei der Konvertierung benutzt werden sollen. FALSE => "ABCDEFXY", TRUE => "abcdefxy".
Beispiel:
PROGRAM MAIN
VAR
s1 : STRING;
s2 : STRING;
s3 : STRING;
s4 : STRING;
nCnt : LWORD;
END_VAR
nCnt := 43981;
s1 := LWORD_TO_BASE36STR( nCnt, 1, FALSE );
s2 := LWORD_TO_BASE36STR( nCnt, 1, TRUE );
nCnt := 15;
s3 := LWORD_TO_BASE36STR( nCnt, 4, FALSE );
nCnt := 0;
s4 := LWORD_TO_BASE36STR( nCnt, 0, FALSE );
Das Ergebnis:
s1 = 'XXP'
s2 = 'xxp'
s3 = '000F'
s4 = ''
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.4024 | PC oder CX (x86, x64, ARM) | Tc2_Utilities (System) >= 3.3.47.0 |