[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]