--- a/StringsLib.mod
+++ b/StringsLib.mod
@@ -15,6 +15,8 @@
   (* 16.01.18, MRi: Zusammenfuegen von StrUtils und StringsLib              *)
   (* 25.03.18, MRi: PosChar eingefuegt                                      *)
   (* 30.03.18, MRi: CapChar eingefuegt                                      *)
+  (* 29.06.18, MRi: AppendChar eingefuegt                                   *)
+  (* 03.07.18, MRi: SubString eingefuegt                                    *)
   (*------------------------------------------------------------------------*)
   (* Ref.: Lins, Charles; "The Modula-2 software component library Vol. 1"  *)
   (*       Springer, Berlin (1988)                                          *)
@@ -23,7 +25,7 @@
   (* Licence        : GNU Lesser General Public License (LGPL)              *)
   (*------------------------------------------------------------------------*)
 
-  (* $Id: StringsLib.mod,v 1.1 2015/09/13 20:48:42 mriedl Exp mriedl $ *)
+  (* $Id: StringsLib.mod,v 1.3 2018/07/03 07:51:09 mriedl Exp mriedl $ *)
 
 PROCEDURE Length(Str : ARRAY OF CHAR) : CARDINAL;
 
@@ -35,10 +37,6 @@
         INC(i);
       END;
       RETURN i;
-(*
- *    Str[HIGH(Str)+1]:=0C; (* Sicherheit ! *) 
- *    i:=0; WHILE (Str[i] # 0C) DO INC(i); END; RETURN i;
- *)      
 END Length;
 
 PROCEDURE Delete(VAR Str     : ARRAY OF CHAR;
@@ -80,6 +78,31 @@
         INC(i);
       END;
 END Insert;
+
+PROCEDURE SubString(VAR Quelle : ARRAY OF CHAR;
+                        s,e    : CARDINAL;
+                    VAR SubStr : ARRAY OF CHAR);
+
+          VAR i,j : CARDINAL;
+BEGIN
+      j:=0;
+      IF NOT ((e < s) OR (e > LENGTH(Quelle)) OR ((e-s+1) > HIGH(SubStr))) THEN
+        FOR i:=s TO e DO SubStr[j]:=Quelle[i]; INC(j); END;
+      END;
+      SubStr[j]:=0C;
+END SubString;
+
+PROCEDURE AppendChar(VAR str  : ARRAY OF CHAR;
+                         char : CHAR);
+
+          VAR l : CARDINAL;
+BEGIN
+      l := Length(str);
+      IF (l+1 <= HIGH(str)) THEN
+        str[l] := char;
+        str[l+1]:=0C;
+      END;
+END AppendChar;
 
 PROCEDURE Append(VAR Str1 : ARRAY OF CHAR;
                      Str2 : ARRAY OF CHAR);