Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7696 → Rev 7983

/programs/develop/oberon07/Source/STRINGS.ob07
1,7 → 1,7
(*
(*
BSD 2-Clause License
 
Copyright (c) 2018-2019, Anton Krotov
Copyright (c) 2018-2020, Anton Krotov
All rights reserved.
*)
 
13,6 → 13,7
PROCEDURE append* (VAR s1: ARRAY OF CHAR; s2: ARRAY OF CHAR);
VAR
n1, n2, i, j: INTEGER;
 
BEGIN
n1 := LENGTH(s1);
n2 := LENGTH(s2);
32,13 → 33,12
END append;
 
 
PROCEDURE reverse* (VAR s: ARRAY OF CHAR);
PROCEDURE reverse (VAR s: ARRAY OF CHAR);
VAR
i, j: INTEGER;
a, b: CHAR;
 
BEGIN
 
i := 0;
j := LENGTH(s) - 1;
 
172,6 → 172,27
END space;
 
 
PROCEDURE cap (VAR c: CHAR);
BEGIN
IF ("a" <= c) & (c <= "z") THEN
c := CHR(ORD(c) - 32)
END
END cap;
 
 
PROCEDURE UpCase* (VAR str: ARRAY OF CHAR);
VAR
i: INTEGER;
 
BEGIN
i := 0;
WHILE (i < LEN(str)) & (str[i] # 0X) DO
cap(str[i]);
INC(i)
END
END UpCase;
 
 
PROCEDURE StrToInt* (str: ARRAY OF CHAR; VAR x: INTEGER): BOOLEAN;
VAR
i, k: INTEGER;
276,21 → 297,21
u := ORD(c)
 
|0C1X..0DFX:
u := LSL(ORD(c) - 0C0H, 6);
u := (ORD(c) - 0C0H) * 64;
IF i + 1 < srclen THEN
INC(i);
INC(u, ORD(BITS(ORD(src[i])) * {0..5}))
INC(u, ORD(src[i]) MOD 64)
END
 
|0E1X..0EFX:
u := LSL(ORD(c) - 0E0H, 12);
u := (ORD(c) - 0E0H) * 4096;
IF i + 1 < srclen THEN
INC(i);
INC(u, ORD(BITS(ORD(src[i])) * {0..5}) * 64)
INC(u, (ORD(src[i]) MOD 64) * 64)
END;
IF i + 1 < srclen THEN
INC(i);
INC(u, ORD(BITS(ORD(src[i])) * {0..5}))
INC(u, ORD(src[i]) MOD 64)
END
(*
|0F1X..0F7X: