home *** CD-ROM | disk | FTP | other *** search
-
- { Routines developed by Mario A. Guerra
- MGUERRA@UCRVM2.BITNET for the public domain.
-
- Copyright Mario A. Guerra, 1991.
- }
-
- { SELECTOR - this unit has these character routines (some similar to C):
-
- Select - Asks if some character is in a defined ASCII range
- IsAlpha - Asks if a char is alpha
- IsAlnum - Asks if a char is alpha, numeric or space
- IsAscii - Asks is a char is ASCII (between 00H and 7FH)
- IsControl - Asks if a char is a control char (00H-1FH and 7FH)
- IsDigit - Asks if a char is a decimal digit
- IsGraph - Asks if a char is a graphic (21H-7EH and 80H-FEH)
- IsLower - Asks if a character is lowercase
- IsPrint - Asks if a char is printable (20H-FEH)
- IsPunct - Asks if a char is a punctuation char
- IsBlank - Asks if a character is tab, return, newline,
- vertical tab or formfeed (09H-0DH and 20H)
- IsUpper - Asks if a char is uppercase
- IsDigitH - Asks if a character is an hex digit
- IsExtend - Asks if a char is extended (80H-FFH)
-
- In all the units, the function is true if is in the range specified.
-
- In function Select, Lo is the lower value and Hi is the higher value-
-
- }
-
- Unit
- Selector;
-
- Interface
-
- Function Select (Ch : Char; Low, Hi : Byte) : Boolean;
-
- Function IsLower (Ch : Char) : Boolean;
- Function IsUpper (Ch : Char) : Boolean;
- Function IsAlpha (Ch : Char) : Boolean;
- Function IsDigit (Ch : Char) : Boolean;
- Function IsAlnum (Ch : Char) : Boolean;
- Function IsAscii (Ch : Char) : Boolean;
- Function IsControl (Ch : Char) : Boolean;
- Function IsGraph (Ch : Char) : Boolean;
- Function IsPrint (Ch : Char) : Boolean;
- Function IsPunct (Ch : Char) : Boolean;
- Function IsBlank (Ch : Char) : Boolean;
- Function IsDigitH (Ch : Char) : Boolean;
- Function IsExtend (Ch : Char) : Boolean;
-
- Implementation
-
- Function Select (Ch : Char; Low, Hi : Byte) : Boolean;
-
- Begin
- If (Ord (Ch) >= Low) And (Ord (Ch) <= Hi) then
- Select := True
- Else
- Select := False;
- End;
-
-
- Function IsLower (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, Ord('a'), Ord('z')) then
- IsLower := True
- Else
- IsLower := False;
- End;
-
- Function IsUpper (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, Ord('A'), Ord('Z')) then
- IsUpper := True
- Else
- IsUpper := False;
- End;
-
- Function IsAlpha (Ch : Char) : Boolean;
-
- Begin
- If IsLower (Ch) Or IsUpper (Ch) then
- IsAlpha := True
- Else
- IsAlpha := False;
- End;
-
- Function IsDigit (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, Ord('0'), Ord('9')) then
- IsDigit := True
- Else
- IsDigit := False;
- End;
-
- Function IsAlnum (Ch : Char) : Boolean;
-
- Begin
- If IsAlpha(Ch) Or IsDigit (Ch) Or (Ch = ' ') then
- IsAlnum := True
- Else
- IsAlnum := False;
- End;
-
- Function IsAscii (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, 0, 127) then
- IsAscii := True
- Else
- IsAscii := False;
- End;
-
- Function IsControl (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, 0, 31) Or (Ord (Ch) = 127) then
- IsControl := True
- Else
- IsControl := False;
- End;
-
- Function IsGraph (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, 33, 126) or Select (Ch, 128, 254) then
- IsGraph:= True
- Else
- IsGraph:= False;
- End;
-
- Function IsPrint (Ch : Char) : Boolean;
-
- Begin
- If IsGraph(Ch) Or (Ch = ' ') then
- IsPrint := True
- Else
- IsPrint := False;
- End;
-
- Function IsBlank (Ch : Char) : Boolean;
-
- Begin
- If (Ch = ' ') Or (Ch = Chr(09)) Or (Ch = Chr(10)) Or
- (Ch = Chr(13)) Or (Ch = Chr(12)) Or (Ch = Chr(05)) then
- IsBlank := True
- Else
- IsBlank := False;
- End;
-
- Function IsPunct (Ch : Char) : Boolean;
-
- Begin
- If IsControl (Ch) Or IsBlank (Ch) then
- IsPunct := True
- Else
- IsPunct := False;
- End;
-
- Function IsDigitH (Ch : Char) : Boolean;
-
- Begin
- If IsDigit (Ch) Or Select (Ch, Ord('A'), Ord('F')) then
- IsDigitH := True
- Else
- IsDigitH := False;
- End;
-
-
- Function IsExtend (Ch : Char) : Boolean;
-
- Begin
- If Select (Ch, 128, 255) then
- IsExtend := True
- Else
- IsExtend := False;
- End;
-
- End.
-