Oberon || Library || Module Index || Search Engine || Definition || Module
TYPE String = POINTER TO StringRec;
TYPE StringRec =
   RECORD
      (Disciplines.ObjectRec)
      (* read-only *)
      len: Streams.Count;
      hashval: LONGINT;
   END;
TYPE Domain = POINTER TO DomainRec;
TYPE DomainRec = RECORD (Disciplines.ObjectRec) END;
VAR std: Domain; (* default domain *)
PROCEDURE CreateDomain(VAR domain: Domain);
PROCEDURE Init(VAR s: Streams.Stream);
PROCEDURE Close(s: Streams.Stream; VAR string: String);
PROCEDURE CloseD(s: Streams.Stream; domain: Domain; VAR string: String);
PROCEDURE Create(VAR string: String; s: ARRAY OF CHAR);
PROCEDURE CreateD(VAR string: String; domain: Domain; s: ARRAY OF CHAR);
PROCEDURE Open(VAR s: Streams.Stream; string: String);
PROCEDURE Compare(string1, string2: String) : INTEGER;
PROCEDURE Write(s: Streams.Stream; string: String);
PROCEDURE Extract(VAR s: ARRAY OF CHAR; string: String);
Compare returns an integer less than zero, equal to zero, or greater than zero if string1 is less than, equal, or greater than string2. Both strings may be of different domains.
Write copies string to s and returns the number of bytes written in s.count. Extract copies string to the character array s. The resulting string is guaranteed to be 0X-terminated.
PROCEDURE PutString(VAR string: ConstStrings.String;
                    buf: ARRAY OF CHAR);
   VAR
      s: Streams.Stream;
BEGIN
   ConstStrings.Init(s);
   Write.StringS(s, buf);
   ConstStrings.Close(s, string);
END PutString;
GetString copies the value of string into buf:
PROCEDURE GetString(string: ConstStrings.String;
                    VAR buf: ARRAY OF CHAR);
BEGIN
   ConstStrings.Open(s, string);
   Strings.Read(buf, s);
   Streams.Release(s);
END GetString;
Oberon || Library || Module Index || Search Engine || Definition || Module