[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]


{*********************************************************************}
PROGRAM StrCompare;             { Jan 23/94, Greg Estabrooks.         }
USES CRT;                       { IMPORT Clrscr,WriteLn.              }
VAR
   SubName :STRING;             { Holds the Subject name entered.     }

FUNCTION StrCmp( Str1,Str2 :STRING ) :BOOLEAN;
                            { Case InSensitive Routine to compare two }
                            { strings.                                }
VAR
   StrPos   :BYTE;              { Current position within Strings.    }
   CmpResult:BOOLEAN;           { Result of comparison.               }
BEGIN
  CmpResult := TRUE;            { Initialize 'CmpResult' to TRUE.     }
  IF Length(Str1) <> Length(Str2) THEN { If not same length then don't}
    CmpResult := FALSE                 { Bother converting case and   }
                                       { compareing.                  }
  ELSE
    BEGIN
      StrPos := 0;              { Initialize 'StrPos' to 0.           }
      REPEAT                    { Loop until every char checked.      }
        INC(StrPos);            { Point to next char.                 }
        IF UpCase(Str1[StrPos]) <> UpCase(Str2[StrPos]) THEN
         BEGIN
           CmpResult := False;  { If there not the same then return   }
                                { a FALSE result.                     }
           StrPos := Length(Str2); { Now set loop exit condition.     }
         END;
      UNTIL StrPos = Length(Str2);
    END;
  StrCmp := CmpResult;
END;{StrCmp}

BEGIN
  Clrscr;                       { Clear away the screen.              }
  Write(' Name of subject ? :');{ Prompt user for subject name.       }
  Readln(SubName);              { Now get users input.                }
  IF StrCmp('English',SubName) THEN { If there the same then tell user}
    Writeln('You chose ENGLISH')
  ELSE                          { If not then ..............          }
    Writeln('Unknown Subject!',^G);{Tell user its unknown.            }
END.{StrCompare}
{*********************************************************************}

[Back to STRINGS SWAG index]  [Back to Main SWAG index]  [Original]