Solved

error in expression

Posted on 2000-04-11
5
216 Views
Last Modified: 2010-04-16
It's giving me an error in expression on this line: if ord(str[i]) > = 'A'

var
    state: string;
    capital : string;
    Statefile: text;
    states: text;
    tries: integer;
    guess: string;
    correct_guess: integer;
    correct_state: string;


procedure GETDATA (var localStatefile: text;
                   var localstate: string;
                   var localcapital: string);
   begin
      readln (localStatefile, localstate);
      readln (localStatefile, localcapital);
   end; {GETDATA}


procedure GUESS_CAPITAL (var tries: integer;
                         guess: string;
                         var localcorrect_guess: integer);

   begin{GUESS_CAPITAL}
      tries := 0;
     repeat
       tries := tries + 1;
       write ('Give capital of ', state, ' ' );
       readln (guess);
     until (guess = capital) or (tries = 4);
      if guess = capital then
         begin
           writeln ('Nice work. You got it on try ', tries);
           inc(localcorrect_guess);
             if tries = 1 then
                writeln (states, guess);
         end
      else
          begin{until}
           writeln ('You did not get it in 4 tries or less');
           writeln ('The correct answer is ', capital);

     end;{until}
  end; {GUESS_CAPITAL}

procedure GUESSES (localcorrect_guess: integer);
   begin
     writeln ('You have guessed ' ,localcorrect_guess, ' states in 4 or fewer tries ');
   end;{GUESSES}


procedure Tolower (var str: string);
 var i: integer;
   begin
      for i:= 1 to length (str) do
         if ord(str[i]) > = 'A' and ord(str[i]) < = 'Z' then
             str[i] = chr(ord(str[i] - 'A' + 'a'))
   end; {tolower}


begin {main}
     assign (Statefile, 'A:\state2.dat');
     reset (Statefile);
     assign (states, 'A:\state3.dat');
     rewrite (states);
     correct_guess:= 0;
     while not seekeof (Statefile) do
       begin
         GETDATA (Statefile, state, capital);
         GUESS_CAPITAL (tries, guess, correct_guess);
         GUESSES (correct_guess)
         Tolower (str)
       end;
     close (Statefile);
     close (states);
     reset (states);
     writeln ('Great! You got these states in 1 try: ');
        while not eof (states) do
          begin
             readln (states, correct_state);
             writeln (correct_state);
          end;
     close (states)
end.
0
Comment
Question by:kazooie21
5 Comments
 

Expert Comment

by:mathought
ID: 2705481
10 points?!
0
 

Author Comment

by:kazooie21
ID: 2705721
Adjusted points from 10 to 30
0
 
LVL 6

Expert Comment

by:My name is Mud
ID: 2706740
If Ord(Str[I]) >= Ord('A')
0
 
LVL 6

Accepted Solution

by:
My name is Mud earned 30 total points
ID: 2706773
If Ord(Str[I]) >= Ord('A')
0
 
LVL 3

Expert Comment

by:vikiing
ID: 2718854
Ord() function returns a number, not a character. That's why you can't compare against 'A'.

Besides that, you can simplify some things; convert to lower case with this code:

if str[i] in ['A'..'Z'] then str[i] = chr(ord(str[i])+32);

Better than that: as you're doing comparisons only, use all capital letters and use the already-built-in UpCase() function instead.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Cloud-based technologies and services will continue to grow in popularity in 2017 thanks to the simple, scalable and cost-effective solutions they deliver. Here are three areas where cloud adoption is poised to really take off.
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now