Listing: 1 IMPLEMENTATION MODULE MiscFunctions; 2 3 (* 4 * ModBase 5 * Release 3.0 6 * By Don Fletcher & John McMonagle 7 * (c) Copyright 1986 - 1991 PMI 8 * P.O. Box 8402 9 * Green Bay Wi 53308 10 * All Rights Reserved 11 * 12 *) 13 14 IMPORT StrEdit; 15 16 CONST 17 Tab = 11C; 18 EOL = 36C; 19 TYPE 20 CHARSET =SET OF CHAR; ***** ^ not supported yet 21 22 PROCEDURE Trim(VAR str : ARRAY OF CHAR); ***** ^ not supported yet 23 (* Strips trailing blanks from a string *) 24 BEGIN 25 StrEdit.CutTrailingChars(' ',str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 26 END Trim; ***** ^ not supported yet 27 28 PROCEDURE Upper(VAR str : ARRAY OF CHAR); ***** ^ not supported yet 29 BEGIN 30 StrEdit.CAPstr(str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 31 END Upper; ***** ^ not supported yet 32 33 PROCEDURE Alph(c : CHAR) : BOOLEAN; 34 BEGIN 35 RETURN c IN CHARSET{'A'..'Z','a'..'z'}; ***** ^ not supported yet 36 END Alph; 37 38 PROCEDURE Digit(c : CHAR) : BOOLEAN; 39 BEGIN 40 RETURN c IN CHARSET{'0'..'9'}; 41 END Digit; 42 43 PROCEDURE AlphaNum(c : CHAR) : BOOLEAN; 44 BEGIN 45 RETURN (Alph(c)) OR (Digit(c)); 46 END AlphaNum; 47 48 PROCEDURE Punc(c : CHAR) : BOOLEAN; 49 BEGIN 50 RETURN (NOT AlphaNum(c)) AND (c>=' '); 51 END Punc; 52 53 PROCEDURE Printable(c : CHAR) : BOOLEAN; 54 BEGIN 55 RETURN c IN CHARSET{' '..'~'}; 56 END Printable; 57 58 PROCEDURE IsLower(c : CHAR) : BOOLEAN; 59 BEGIN 60 RETURN c IN CHARSET{'a'..'z'}; 61 END IsLower; 62 63 PROCEDURE IsUpper(c : CHAR) : BOOLEAN; 64 BEGIN 65 RETURN c IN CHARSET{'A'..'Z'}; 66 END IsUpper; 67 68 PROCEDURE IsSpace(c : CHAR) : BOOLEAN; 69 BEGIN 70 RETURN c IN CHARSET{' ',EOL,12C,15C,Tab}; 71 END IsSpace; 72 73 PROCEDURE FieldName(str : ARRAY OF CHAR) : BOOLEAN; 74 VAR 75 legal : BOOLEAN; 76 i : CARDINAL; 77 BEGIN 78 Trim(str); 79 i := 0; 80 WHILE (i0) AND (str[i]=0C) THEN 84 DEC(i); 85 END; 86 legal := (i<10) AND (Alph(str[0])); 87 WHILE (i>0) AND legal DO 88 legal := FieldNameChar(str[i]); 89 DEC(i); 90 END; 91 RETURN legal; 92 END FieldName; 93 94 PROCEDURE FieldNameChar(c : CHAR) : BOOLEAN; 95 BEGIN 96 RETURN (AlphaNum(c)) OR (c='_'); 97 END FieldNameChar; 98 99 END MiscFunctions. 12 errors