(* Release 3.10 *) (*-------------------------------------------------------------------------* * * * WINSTR.DEF - Modula-2 far string support for Windows * * * * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. * * All Rights Reserved * * * *--------------------------------------------------------------------------*) (*# call(o_a_copy=>off,ds_eq_ss=>off,seg_name=>null) *) (*# module(implementation=>off,init_code=>off) *) (*# data(seg_name=>null,near_ptr=>off) *) DEFINITION MODULE WinStr; TYPE CHARSET = SET OF CHAR; PosLen = RECORD Pos,Len : CARDINAL; END; (*PosLen*) PROCEDURE Compare(S1,S2:ARRAY OF CHAR):INTEGER; PROCEDURE Length(S:ARRAY OF CHAR):CARDINAL; PROCEDURE Concat(VAR R:ARRAY OF CHAR;S1,S2:ARRAY OF CHAR); PROCEDURE Append(VAR R:ARRAY OF CHAR;S:ARRAY OF CHAR); PROCEDURE Copy(VAR R:ARRAY OF CHAR;S:ARRAY OF CHAR); PROCEDURE Delete(VAR S:ARRAY OF CHAR;P,L:CARDINAL); PROCEDURE Insert(VAR S1:ARRAY OF CHAR;S2:ARRAY OF CHAR;P:CARDINAL); PROCEDURE CharPos(S:ARRAY OF CHAR;C:CHAR):CARDINAL; PROCEDURE Caps(VAR S:ARRAY OF CHAR); PROCEDURE Lows(VAR S:ARRAY OF CHAR); PROCEDURE Slice(VAR R:ARRAY OF CHAR;S:ARRAY OF CHAR;P,L:CARDINAL); PROCEDURE Pos(S,P:ARRAY OF CHAR):CARDINAL; PROCEDURE NextPos(S,P:ARRAY OF CHAR;Place:CARDINAL):CARDINAL; PROCEDURE RCharPos(S:ARRAY OF CHAR;C:CHAR):CARDINAL; PROCEDURE Item(VAR R:ARRAY OF CHAR;S:ARRAY OF CHAR;T:CHARSET;N:CARDINAL); PROCEDURE ItemS(VAR R:ARRAY OF CHAR;S,T:ARRAY OF CHAR;N:CARDINAL); PROCEDURE Prepend(VAR S1:ARRAY OF CHAR;S2:ARRAY OF CHAR); PROCEDURE Subst(VAR S1:ARRAY OF CHAR;Target,New:ARRAY OF CHAR); PROCEDURE Match(Source,Pattern:ARRAY OF CHAR):BOOLEAN; (* Returns TRUE if the string in Source matches Pattern. The pattern *) (* may contain any number of the wildcard characters '*' and '?' *) (* '?' matches any single character *) (* '*' matches any sequence of charcters *) (* (including a zero length sequence) *) (* e.g. '*m?t*i*' will match 'Automatic' *) PROCEDURE FindSubStr(Source,Pattern:ARRAY OF CHAR;VAR pos:ARRAY OF PosLen):BOOLEAN; PROCEDURE IntToStr(V:LONGINT;VAR S:ARRAY OF CHAR;Base:CARDINAL;VAR OK:BOOLEAN); PROCEDURE CardToStr(V:LONGCARD;VAR S:ARRAY OF CHAR;Base:CARDINAL;VAR OK:BOOLEAN); PROCEDURE StrToInt(S:ARRAY OF CHAR;Base:CARDINAL;VAR OK:BOOLEAN):LONGINT; PROCEDURE StrToCard(S:ARRAY OF CHAR;Base:CARDINAL;VAR OK:BOOLEAN):LONGCARD; PROCEDURE StrToC(S:ARRAY OF CHAR;VAR D:ARRAY OF CHAR):BOOLEAN; PROCEDURE StrToPas(S:ARRAY OF CHAR;VAR D:ARRAY OF CHAR): BOOLEAN; END WinStr.