Pascal

Moderators: None (Apply to moderate this forum)
Number of threads: 4095
Number of posts: 14004

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
error message using turbo pascal Posted by Ak47 on 21 Jun 2006 at 5:03 AM
Hi every one this my first time on this forum. i was wondering if you can help me. i am doing this computing course. part of my course is turbo pascal 7.0.
i am having this problem;

i can't able to show an error message when the user enters string character instead of integer, or real numbers(were integer numbers are needed to be entered by the user).

i also need a error message when the user enters Integer or real numbers instead of string characters(were string character are needed to be entered by the user).

i have included the program that i have writtten. i would be grateful if any one can help me.
****************************************************************************************************************************
Program Magic_Carpet_Company;
uses crt;
const
R=10.00;
B=15.00;
G=20.00;
Type TABLE=record
TIT:String;
NUM:integer;
COL:String;
PRICE:real;
END;

type ORDER=record
TITLE:STRING;
ORD_NUM : integer;
COLOUR : string;
QUANT : REAL;
TOTAL : Real;
END;

var
TTitle: array[1..4,1..3] of Table;
INPUT:ARRAY[1..2,1..4]OF ORDER;

CHOICE:INTEGER;
PROCESS,PROCESS_C:string;
NUM:INTEGER;
pw:string;
LENGTH,WIDTH:REAL;
File_Order,FILE_ORDER_2:text;
LINE:STRING;

PROCEDURE PASSWORD;
begin
clrscr;
REPEAT
TEXTCOLOR(WHITE);
gotoxy(20,10);
writeln('Please Enter The Password');
gotoxy(25,11);
readln(pw);
clrscr;
if pw <>'MAGIC' then
TEXTCOLOR(108);
writeln('~~ PLEASE TRY AGAIN ~~ ');
UNTIL PW='MAGIC';
clrscr;
END;

PROCEDURE COL_TABLE;
begin

TTITLE[1,1].TIT:=('No:');
TTITLE[1,2].TIT:=('Colour:');
TTITLE[1,3].TIT:=(' Price sq mtrs:');
TTITLE[2,1].NUM:=1;
TTITLE[2,2].COL:=('RED');
TTITLE[2,3].PRICE:=10.00;
TTITLE[3,1].NUM:=2;
TTITLE[3,2].COL:=('BLUE');
TTITLE[3,3].PRICE:=15.00;
TTITLE[4,1].NUM:=3;
TTITLE[4,2].COL:=('GREEN');
TTITLE[4,3].PRICE:=20.00;
WRITELN;


WRITE(TTITLE[1,1].TIT:12);
WRITE(TTITLE[1,2].TIT:20);
WRITELN(TTITLE[1,3].TIT:30);

WRITE(TTITLE[2,1].NUM:12);
WRITE(TTITLE[2,2].COL:20);
WRITELN(TTITLE[2,3].PRICE:30:2);

WRITE(TTITLE[3,1].NUM:12);
WRITE(TTITLE[3,2].COL:20);
WRITELN(TTITLE[3,3].PRICE:30:2);

WRITE(TTITLE[4,1].NUM:12);
WRITE(TTITLE[4,2].COL:20);
WRITE(TTITLE[4,3].PRICE:30:2);
WRITELN;
WRITELN;
END;

PROCEDURE GET_DATA;
BEGIN
REPEAT
TEXTCOLOR(WHITE);
WRITELN('~~ PLEASE CHOOSE A NUMBER FOR THE COLOUR, FROM THE MENUE ~~');
READLN(NUM);
IF (NUM<>1) THEN
IF (NUM<>2) THEN
IF (NUM<>3) THEN
TEXTCOLOR(108);
WRITELN('~~ WRONG NUMBER PLEASE TRY AGAIN ~~');
TEXTCOLOR(WHITE);
UNTIL (NUM=1) OR (NUM=2) OR (NUM=3);
CLRSCR;

WRITELN('~~ PLEASE ENTER ORDER NO.~~');
READLN(INPUT[2,1].ORD_NUM);
CLRSCR;
Writeln('What is the Length in meters ?');
Writeln(' ^ _________________');
Writeln(' | | |');
Writeln(' | | |');
Writeln(' | | |');
Writeln(' V |_________________|');
readln(length);
CLRSCR;
Writeln('What is Width in meters?');
Writeln(' <---------------->');
Writeln(' _________________');
Writeln(' | |');
Writeln(' | |');
Writeln(' | |');
Writeln(' |_______________ _|');
Readln(Width);
CLRSCR;
END;

PROCEDURE CALCULATION;
begin

IF NUM=1 THEN
INPUT[2,2].COLOUR:='RED';
IF NUM=1 THEN
INPUT[2,3].QUANT:=(LENGTH*WIDTH);
IF NUM=1 THEN
INPUT[2,4].TOTAL:=(R*INPUT[2,3].QUANT);

IF NUM=2 THEN
INPUT[2,2].COLOUR:='BLUE';
IF NUM=2 THEN
INPUT[2,3].QUANT:=(LENGTH*WIDTH);
IF NUM=2 THEN
INPUT[2,4].TOTAL:=(B*INPUT[2,3].QUANT);

IF NUM=3 THEN
INPUT[2,2].COLOUR:='GREEN';
IF NUM=3 THEN
INPUT[2,3].QUANT:=(LENGTH*WIDTH);
IF NUM=3 THEN
INPUT[2,4].TOTAL:=(G*INPUT[2,3].QUANT);

END;

PROCEDURE TEMP_DISPLAY;
BEGIN
REPEAT
TEXTCOLOR(WHITE);
WRITELN('~~ THIS IS WHAT YOU HAVE ENTERED ~~');
WRITELN;
writeln('ORDER NO:',INPUT[2,1].ORD_NUM);
writeln('COLOUR:',INPUT[2,2].COLOUR);
Writeln('Quauntity(p.s.m):',INPUT[2,3].QUANT:2:2);
writeln('TOTAL PRICE ','',INPUT[2,4].TOTAL:2:2);
writeln;
WRITELN('******************************************************');
WRITELN(' ~~ DO YOU WANT TO PROCESS ? ~~');
WRITELN('*****************************************************');
WRITELN('_____________________________________________________');
WRITELN('TO PROCESS AND MOVE TO NEXT RECORD TYPE = Y ');
WRITELN('_____________________________________________________');
WRITELN('TO PROCESS AND DISPLAY ALL RECORDS SO FAR TYPE = D');
WRITELN('_____________________________________________________');
WRITELN('NOT TO PROCESS AND START A NEW RECORD TYPE = P');
WRITELN('_____________________________________________________');
WRITELN('NOT PROCESS AND CLOSE FOR THE DAY, TYPE = C');
WRITELN('_____________________________________________________');
READLN(PROCESS);
CLRSCR;
IF PROCESS <>'Y' THEN
IF PROCESS <>'D' THEN
IF PROCESS <>'P' THEN
IF PROCESS <>'C' THEN
TEXTCOLOR(108);
WRITELN('*************************************************************');
WRITELN('~~~ YOU HAVE ENTERED THE WRONG LETTER ~~ PLEASE TRY AGAIN ~~~');
WRITELN('*************************************************************');

UNTIL (PROCESS='Y') OR (PROCESS='D') OR (PROCESS='P') OR (PROCESS='C');
CLRSCR;
IF (PROCESS='P')OR (PROCESS='Y') THEN
WRITE('PLEASE PRESS ENTER');
TEXTCOLOR(WHITE);
IF PROCESS='C'THEN
TEXTCOLOR(108);

IF PROCESS='C'THEN
WRITELN('~~ PLEASE RE TYPE "C" TO CONFIRM THAT CLOSE OF THE DAY OR ~~');
IF PROCESS='C'THEN
WRITELN('~~ PRESS ENTER TO RETURN TO MAIN MENU ~~');
IF PROCESS='C'THEN
PROCESS:=PROCESS_C;
IF PROCESS='C'THEN
READLN(PROCESS_C);

TEXTCOLOR(WHITE);
END;

PROCEDURE INPUT_FILE__BACK_UP;
BEGIN
ASsign(file_order,'H:\order.txt');
APPEND(FILE_ORDER);
ASsign(file_order_2,'H:\order.BAK');
APPEND(FILE_ORDER_2);

ASsign(file_order,'H:\order.txt');
APPEND(FILE_ORDER);
IF (PROCESS='Y')OR (PROCESS='D') THEN
write(FILE_ORDER,INPUT[2,1].ORD_NUM:8);
IF (PROCESS='Y')OR (PROCESS='D') THEN
write(FILE_ORDER,INPUT[2,2].COLOUR:16);
IF (PROCESS='Y')OR (PROCESS='D') THEN
Write(FILE_ORDER,INPUT[2,3].QUANT:20:2);
IF (PROCESS='Y')OR (PROCESS='D') THEN
writeLN(FILE_ORDER,INPUT[2,4].TOTAL:20:2);
RESET(FILE_ORDER);

ASSIGN(file_order_2,'H:\order.BAK');
REWRITE(FILE_ORDER_2);
IF (PROCESS='D') THEN
WRITELN('THIS IS THE RECORDS THAT HAVE BEEN PROCESSED');
IF (PROCESS='Y')OR (PROCESS='D') THEN
WHILE NOT EOF(FILE_ORDER) DO
BEGIN
IF (PROCESS='Y')OR (PROCESS='D') THEN
READLN(FILE_ORDER,LINE);
IF (PROCESS='Y')OR (PROCESS='D') THEN
WRITELN(FILE_ORDER_2,LINE);
IF (PROCESS='D') THEN
WRITELN(LINE);
END;

close(file_order);
CLOSE(FILE_ORDER_2);
WRITELN;
WRITELN;
IF (PROCESS='D') THEN
WRITELN('______________________________________');
IF (PROCESS='D') THEN
WRITELN('~~ PLEASE PRESS ENTER TO CONTINUE ~~');
IF (PROCESS='D') THEN
WRITELN('______________________________________');
IF (PROCESS='D') THEN
WRITELN('~~ OR CLOSE OF THE DAY TYPE = C ~~');
IF (PROCESS='D') THEN
WRITELN('______________________________________');
READLN(PROCESS_C);
CLRSCR;
END;

BEGIN
PASSWORD;
REPEAT
COL_TABLE;
GET_DATA;
CALCULATION;
TEMP_DISPLAY;
INPUT_FILE__BACK_UP;
UNTIL (PROCESS_C='C');
TEXTCOLOR(108);
WRITELN('CREATED BY MUHAMMAD ABUL AKBAR');
WRITELN('GOOD BYE');

READLN;
end.
Report
Re: error message using turbo pascal Posted by zibadian on 21 Jun 2006 at 5:08 AM
: Hi every one this my first time on this forum. i was wondering if you can help me. i am doing this computing course. part of my course is turbo pascal 7.0.
: i am having this problem;
:
: i can't able to show an error message when the user enters string character instead of integer, or real numbers(were integer numbers are needed to be entered by the user).
:
: i also need a error message when the user enters Integer or real numbers instead of string characters(were string character are needed to be entered by the user).
:
: i have included the program that i have writtten. i would be grateful if any one can help me.
: ****************************************************************************************************************************
: Program Magic_Carpet_Company;
: uses crt;
: const
: R=10.00;
: B=15.00;
: G=20.00;
: Type TABLE=record
: TIT:String;
: NUM:integer;
: COL:String;
: PRICE:real;
: END;
:
: type ORDER=record
: TITLE:STRING;
: ORD_NUM : integer;
: COLOUR : string;
: QUANT : REAL;
: TOTAL : Real;
: END;
:
: var
: TTitle: array[1..4,1..3] of Table;
: INPUT:ARRAY[1..2,1..4]OF ORDER;
:
: CHOICE:INTEGER;
: PROCESS,PROCESS_C:string;
: NUM:INTEGER;
: pw:string;
: LENGTH,WIDTH:REAL;
: File_Order,FILE_ORDER_2:text;
: LINE:STRING;
:
: PROCEDURE PASSWORD;
: begin
: clrscr;
: REPEAT
: TEXTCOLOR(WHITE);
: gotoxy(20,10);
: writeln('Please Enter The Password');
: gotoxy(25,11);
: readln(pw);
: clrscr;
: if pw <>'MAGIC' then
: TEXTCOLOR(108);
: writeln('~~ PLEASE TRY AGAIN ~~ ');
: UNTIL PW='MAGIC';
: clrscr;
: END;
:
: PROCEDURE COL_TABLE;
: begin
:
: TTITLE[1,1].TIT:=('No:');
: TTITLE[1,2].TIT:=('Colour:');
: TTITLE[1,3].TIT:=(' Price sq mtrs:');
: TTITLE[2,1].NUM:=1;
: TTITLE[2,2].COL:=('RED');
: TTITLE[2,3].PRICE:=10.00;
: TTITLE[3,1].NUM:=2;
: TTITLE[3,2].COL:=('BLUE');
: TTITLE[3,3].PRICE:=15.00;
: TTITLE[4,1].NUM:=3;
: TTITLE[4,2].COL:=('GREEN');
: TTITLE[4,3].PRICE:=20.00;
: WRITELN;
:
:
: WRITE(TTITLE[1,1].TIT:12);
: WRITE(TTITLE[1,2].TIT:20);
: WRITELN(TTITLE[1,3].TIT:30);
:
: WRITE(TTITLE[2,1].NUM:12);
: WRITE(TTITLE[2,2].COL:20);
: WRITELN(TTITLE[2,3].PRICE:30:2);
:
: WRITE(TTITLE[3,1].NUM:12);
: WRITE(TTITLE[3,2].COL:20);
: WRITELN(TTITLE[3,3].PRICE:30:2);
:
: WRITE(TTITLE[4,1].NUM:12);
: WRITE(TTITLE[4,2].COL:20);
: WRITE(TTITLE[4,3].PRICE:30:2);
: WRITELN;
: WRITELN;
: END;
:
: PROCEDURE GET_DATA;
: BEGIN
: REPEAT
: TEXTCOLOR(WHITE);
: WRITELN('~~ PLEASE CHOOSE A NUMBER FOR THE COLOUR, FROM THE MENUE ~~');
: READLN(NUM);
: IF (NUM<>1) THEN
: IF (NUM<>2) THEN
: IF (NUM<>3) THEN
: TEXTCOLOR(108);
: WRITELN('~~ WRONG NUMBER PLEASE TRY AGAIN ~~');
: TEXTCOLOR(WHITE);
: UNTIL (NUM=1) OR (NUM=2) OR (NUM=3);
: CLRSCR;
:
: WRITELN('~~ PLEASE ENTER ORDER NO.~~');
: READLN(INPUT[2,1].ORD_NUM);
: CLRSCR;
: Writeln('What is the Length in meters ?');
: Writeln(' ^ _________________');
: Writeln(' | | |');
: Writeln(' | | |');
: Writeln(' | | |');
: Writeln(' V |_________________|');
: readln(length);
: CLRSCR;
: Writeln('What is Width in meters?');
: Writeln(' <---------------->');
: Writeln(' _________________');
: Writeln(' | |');
: Writeln(' | |');
: Writeln(' | |');
: Writeln(' |_______________ _|');
: Readln(Width);
: CLRSCR;
: END;
:
: PROCEDURE CALCULATION;
: begin
:
: IF NUM=1 THEN
: INPUT[2,2].COLOUR:='RED';
: IF NUM=1 THEN
: INPUT[2,3].QUANT:=(LENGTH*WIDTH);
: IF NUM=1 THEN
: INPUT[2,4].TOTAL:=(R*INPUT[2,3].QUANT);
:
: IF NUM=2 THEN
: INPUT[2,2].COLOUR:='BLUE';
: IF NUM=2 THEN
: INPUT[2,3].QUANT:=(LENGTH*WIDTH);
: IF NUM=2 THEN
: INPUT[2,4].TOTAL:=(B*INPUT[2,3].QUANT);
:
: IF NUM=3 THEN
: INPUT[2,2].COLOUR:='GREEN';
: IF NUM=3 THEN
: INPUT[2,3].QUANT:=(LENGTH*WIDTH);
: IF NUM=3 THEN
: INPUT[2,4].TOTAL:=(G*INPUT[2,3].QUANT);
:
: END;
:
: PROCEDURE TEMP_DISPLAY;
: BEGIN
: REPEAT
: TEXTCOLOR(WHITE);
: WRITELN('~~ THIS IS WHAT YOU HAVE ENTERED ~~');
: WRITELN;
: writeln('ORDER NO:',INPUT[2,1].ORD_NUM);
: writeln('COLOUR:',INPUT[2,2].COLOUR);
: Writeln('Quauntity(p.s.m):',INPUT[2,3].QUANT:2:2);
: writeln('TOTAL PRICE ','',INPUT[2,4].TOTAL:2:2);
: writeln;
: WRITELN('******************************************************');
: WRITELN(' ~~ DO YOU WANT TO PROCESS ? ~~');
: WRITELN('*****************************************************');
: WRITELN('_____________________________________________________');
: WRITELN('TO PROCESS AND MOVE TO NEXT RECORD TYPE = Y ');
: WRITELN('_____________________________________________________');
: WRITELN('TO PROCESS AND DISPLAY ALL RECORDS SO FAR TYPE = D');
: WRITELN('_____________________________________________________');
: WRITELN('NOT TO PROCESS AND START A NEW RECORD TYPE = P');
: WRITELN('_____________________________________________________');
: WRITELN('NOT PROCESS AND CLOSE FOR THE DAY, TYPE = C');
: WRITELN('_____________________________________________________');
: READLN(PROCESS);
: CLRSCR;
: IF PROCESS <>'Y' THEN
: IF PROCESS <>'D' THEN
: IF PROCESS <>'P' THEN
: IF PROCESS <>'C' THEN
: TEXTCOLOR(108);
: WRITELN('*************************************************************');
: WRITELN('~~~ YOU HAVE ENTERED THE WRONG LETTER ~~ PLEASE TRY AGAIN ~~~');
: WRITELN('*************************************************************');
:
: UNTIL (PROCESS='Y') OR (PROCESS='D') OR (PROCESS='P') OR (PROCESS='C');
: CLRSCR;
: IF (PROCESS='P')OR (PROCESS='Y') THEN
: WRITE('PLEASE PRESS ENTER');
: TEXTCOLOR(WHITE);
: IF PROCESS='C'THEN
: TEXTCOLOR(108);
:
: IF PROCESS='C'THEN
: WRITELN('~~ PLEASE RE TYPE "C" TO CONFIRM THAT CLOSE OF THE DAY OR ~~');
: IF PROCESS='C'THEN
: WRITELN('~~ PRESS ENTER TO RETURN TO MAIN MENU ~~');
: IF PROCESS='C'THEN
: PROCESS:=PROCESS_C;
: IF PROCESS='C'THEN
: READLN(PROCESS_C);
:
: TEXTCOLOR(WHITE);
: END;
:
: PROCEDURE INPUT_FILE__BACK_UP;
: BEGIN
: ASsign(file_order,'H:\order.txt');
: APPEND(FILE_ORDER);
: ASsign(file_order_2,'H:\order.BAK');
: APPEND(FILE_ORDER_2);
:
: ASsign(file_order,'H:\order.txt');
: APPEND(FILE_ORDER);
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: write(FILE_ORDER,INPUT[2,1].ORD_NUM:8);
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: write(FILE_ORDER,INPUT[2,2].COLOUR:16);
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: Write(FILE_ORDER,INPUT[2,3].QUANT:20:2);
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: writeLN(FILE_ORDER,INPUT[2,4].TOTAL:20:2);
: RESET(FILE_ORDER);
:
: ASSIGN(file_order_2,'H:\order.BAK');
: REWRITE(FILE_ORDER_2);
: IF (PROCESS='D') THEN
: WRITELN('THIS IS THE RECORDS THAT HAVE BEEN PROCESSED');
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: WHILE NOT EOF(FILE_ORDER) DO
: BEGIN
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: READLN(FILE_ORDER,LINE);
: IF (PROCESS='Y')OR (PROCESS='D') THEN
: WRITELN(FILE_ORDER_2,LINE);
: IF (PROCESS='D') THEN
: WRITELN(LINE);
: END;
:
: close(file_order);
: CLOSE(FILE_ORDER_2);
: WRITELN;
: WRITELN;
: IF (PROCESS='D') THEN
: WRITELN('______________________________________');
: IF (PROCESS='D') THEN
: WRITELN('~~ PLEASE PRESS ENTER TO CONTINUE ~~');
: IF (PROCESS='D') THEN
: WRITELN('______________________________________');
: IF (PROCESS='D') THEN
: WRITELN('~~ OR CLOSE OF THE DAY TYPE = C ~~');
: IF (PROCESS='D') THEN
: WRITELN('______________________________________');
: READLN(PROCESS_C);
: CLRSCR;
: END;
:
: BEGIN
: PASSWORD;
: REPEAT
: COL_TABLE;
: GET_DATA;
: CALCULATION;
: TEMP_DISPLAY;
: INPUT_FILE__BACK_UP;
: UNTIL (PROCESS_C='C');
: TEXTCOLOR(108);
: WRITELN('CREATED BY MUHAMMAD ABUL AKBAR');
: WRITELN('GOOD BYE');
:
: READLN;
: end.
:
Checking if an entered value is an integer is quite simple. Assume the value is an integer, then check if none of the characters lies outside the 0..9 range. Here's the code:
  IsInt := true;
  for i := 1 to Length(s) do
    if not (s[i] in ['0'..'9']) then
      IsInt := false;
  if IsInt then
    convert s to integer and use it
  else
    show error.

Proving that a string is a real value goes along similar lines.
Report
Re: error message using turbo pascal Posted by Ak47 on 22 Jun 2006 at 8:34 AM

: Checking if an entered value is an integer is quite simple. Assume the value is an integer, then check if none of the characters lies outside the 0..9 range. Here's the code:
:
:   IsInt := true;
:   for i := 1 to Length(s) do
:     if not (s[i] in ['0'..'9']) then
:       IsInt := false;
:   if IsInt then
:     convert s to integer and use it
:   else
:     show error.
: 

: Proving that a string is a real value goes along similar lines.
:
______________________________________________________________________

Hi thanks for helping me i tried using the codes you gave on its own writting a small program and it works when it string.

but when add it to my main program it doesnt work.
i did
IsInt:=boolean.

when i put it on my program it doesnt work an error comes up error 39:Ordinal expression expected

this happens when

PROCEDURE GET_DATA;
var
IsInt:Boolean;
i:integer;
num:integer;
BEGIN
REPEAT
TEXTCOLOR(WHITE);
WRITELN('~~ PLEASE CHOOSE A NUMBER FOR THE COLOUR, FROM THE MENUE ~~');
READLN(NUM);
IsInt:=true;
for i:=1 to length(num);
if not (num[i] in ['0'..'9']) then
IsInt:=false;
IF (NUM<>1) THEN
IF (NUM<>2) THEN
IF (NUM<>3) THEN
TEXTCOLOR(108);
WRITELN('~~ WRONG NUMBER PLEASE TRY AGAIN ~~');
TEXTCOLOR(WHITE);
UNTIL (NUM=1) OR (NUM=2) OR (NUM=3);
_____

i would be greatful if you assist me. I am really trying to improve my program because i am going to start uni for computer science this september.
if you can give any advice on any other books or website to improve programming for the summer.
thanks





Report
Re: error message using turbo pascal Posted by zibadian on 22 Jun 2006 at 11:14 AM
:
: : Checking if an entered value is an integer is quite simple. Assume the value is an integer, then check if none of the characters lies outside the 0..9 range. Here's the code:
: :
: :   IsInt := true;
: :   for i := 1 to Length(s) do
: :     if not (s[i] in ['0'..'9']) then
: :       IsInt := false;
: :   if IsInt then
: :     convert s to integer and use it
: :   else
: :     show error.
: : 

: : Proving that a string is a real value goes along similar lines.
: :
: ______________________________________________________________________
:
: Hi thanks for helping me i tried using the codes you gave on its own writting a small program and it works when it string.
:
: but when add it to my main program it doesnt work.
: i did
: IsInt:=boolean.
:
: when i put it on my program it doesnt work an error comes up error 39:Ordinal expression expected
:
: this happens when
:
: PROCEDURE GET_DATA;
: var
: IsInt:Boolean;
: i:integer;
: num:integer;
: BEGIN
: REPEAT
: TEXTCOLOR(WHITE);
: WRITELN('~~ PLEASE CHOOSE A NUMBER FOR THE COLOUR, FROM THE MENUE ~~');
: READLN(NUM);
: IsInt:=true;
: for i:=1 to length(num);
: if not (num[i] in ['0'..'9']) then
: IsInt:=false;
: IF (NUM<>1) THEN
: IF (NUM<>2) THEN
: IF (NUM<>3) THEN
: TEXTCOLOR(108);
: WRITELN('~~ WRONG NUMBER PLEASE TRY AGAIN ~~');
: TEXTCOLOR(WHITE);
: UNTIL (NUM=1) OR (NUM=2) OR (NUM=3);
: _____
:
: i would be greatful if you assist me. I am really trying to improve my program because i am going to start uni for computer science this september.
: if you can give any advice on any other books or website to improve programming for the summer.
: thanks
:
You should make num a string for this code to work. Then you can use Val() to convert the string into an integer.
Also please indent your code, it makes it much easier to read.
Report
Re: error message using turbo pascal Posted by Ak47 on 26 Jun 2006 at 11:51 AM
Thanks i got the idea and it does work now. Thanks alot you have been a great help (Yeh it is kinda simple)
Thank You



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.