home *** CD-ROM | disk | FTP | other *** search
- PROGRAM UCASE;{$P,C-,M-,F-}
- {$I+}
- TYPE
- $STRING0 = STRING 0;
- $STRING80 =STRING 80;
- $STRING255 = STRING 255;
-
- VAR
- DATA:$STRING80;
- FUNCTION LENGTH(x:$STRING255):INTEGER;EXTERNAL;
- PROCEDURE SETLENGTH(VAR X:$STRING0; Y:INTEGER);EXTERNAL;
-
- {function to convert a string of maximum length = 255 to all upper
- case letters, and return the converted string..corresponds to the BASIC
- command UCASE$.
- requires pascal/z's external functions, length and setlength}
-
- FUNCTION UCASE(X:$STRING255):$STRING255;
- LABEL 1;
- VAR
- I,LEN,ASCII:INTEGER;
- UCASEX:$STRING255;
-
- BEGIN
- SETLENGTH(UCASEX,0);
- LEN:=LENGTH(X);
- IF (LEN = 0) OR (LEN > 255) THEN GOTO 1;
-
- FOR I:=1 TO LEN DO
-
- IF (ORD(X[I]) > 96) AND (ORD(X[I]) < 123) THEN
- APPEND(UCASEX,CHR(ORD(X[I])-32)) ELSE
- APPEND(UCASEX,X[I]);
-
- {97 represents a little 'a' and 122 a little 'z'..32 is the offset between
- a capital and a little letter in ascii code}
-
- UCASE:=UCASEX;
- 1: {immediate exit upon fatal error}
-
- END;
-
- Begin
- end.