MODULE TUStrAssign; (* UString whole-string assignment: U"..." copies into a 1-D ARRAY OF UCHAR by content (count-clamped, 0-codepoint terminator). Exit 63. *) VAR ExitCode : INTEGER; VAR a : ARRAY [0 .. 7] OF UCHAR; VAR b : ARRAY [0 .. 1] OF UCHAR; CONST Term = 0; BEGIN a := U"hi"; IF a[0] = U'h' THEN ExitCode := ExitCode + 1 ELSE ExitCode := 100 END; IF a[1] = U'i' THEN ExitCode := ExitCode + 2 ELSE ExitCode := 101 END; IF UORD(a[2]) = Term THEN ExitCode := ExitCode + 4 ELSE ExitCode := 102 END; (* capacity 2: U"abc" truncates to 2 codepoints *) b := U"abc"; IF b[0] = U'a' THEN ExitCode := ExitCode + 8 ELSE ExitCode := 103 END; IF b[1] = U'b' THEN ExitCode := ExitCode + 16 ELSE ExitCode := 104 END; (* non-ASCII codepoint round-trips *) a := U"hé"; IF a[1] = U'é' THEN ExitCode := ExitCode + 32 ELSE ExitCode := 105 END END TUStrAssign.