Hello,
io have modified my code but however my search procedure is not working, hence i am gettin run time error 2. Could you help me please.
PROGRAM AutomaticCheckin(INPUT,OUTPUT);
USES WinDos, WinCrt;
CONST
MaxChar=20;
TYPE
TextString=PACKED ARRAY [0..MaxChar-1] OF CHAR;
dates = RECORD
day :word;
month :word;
year :word;
END;
times = RECORD
hrs:word;
min:word;
END;
StaffDetails= RECORD
Name :TextString;
Username :TextString;
Password :TextString;
time :times;
date :dates;
END;
StaffFile = FILE OF StaffDetails;
VAR
time : STRING;
Name : STRING;
Username : STRING;
TeachTime : times;
TeacherDate : dates;
y, m, d, dow : Word;
h, min, sec, hund : Word;
StaffRecord : StaffDetails;
staff,temporary : staffFile;
choice1 : CHAR;
reply : CHAR;
Found : boolean;
location : INTEGER;
FUNCTION LeadingZero(w : Word) : STRING;
VAR
s : STRING;
CONST
days : ARRAY [0..6] OF STRING[9] =
('Sunday','Monday','Tuesday',
'Wednesday','Thursday','Friday',
'Saturday');
BEGIN
Str(w:0,s);
IF Length(s) = 1 THEN
s := '0' + s;
LeadingZero := s;
END;
{*****************************************************************************************}
PROCEDURE dat(VAR y, m, d, dow : Word );
BEGIN
GetDate(y,m,d,dow);
Writeln('Today is ' ,
m:0, '/', d:0, '/', y:0);
GOTOXY(15,9);
WRITELN('Your sign in was successful!');
END;
{*****************************************************************************************}
PROCEDURE tim(VAR h:word;VAR min:word);
BEGIN
BEGIN
GetTime(h,min,sec,hund);
Writeln('It is now ',LeadingZero(h),':',
LeadingZero(min),':',LeadingZero(sec),
'.',LeadingZero(hund));
END;
END;
{**********************************************************************************************************}
PROCEDURE tell;
BEGIN
clrscr;
WRITELN('Enter Your name');
WRITELN('Enter your');
WRITELN('Enter you password');
WRITELN('Please re-type your password');
gotoxy(39,3);
READLN (name);
WRITELN;
gotoxy(43,5);
READLN (username);
WRITELN;
gotoxy(43,7);
READLN (**********);
WRITELN;
gotoxy(51,9);
READLN (**********);
WRITELN;
WRITELN;
gotoxy(53,14);
READLN (reply);
clrscr;
END;
{*******************************************************************************************}
PROCEDURE Search(Username:STRING;VAR found:Boolean;VAR location:INTEGER);
VAR index : INTEGER;
BEGIN
RESET(staff);
WHILE NOT EOF (staff) OR Found = true DO
BEGIN
RESET(staff);
index:=1;
IF Username = Username [index] THEN
BEGIN
Found:= True;
location := index
END
ELSE
IF Username<>Username[index] THEN
BEGIN
found:= false;
index:= index+1
END;
END;
IF found= true THEN
WRITELN('Your File was found!')
ELSE If found= false THEN
WRITELN('Your file was not found.Please try again!');
END;
{***************************************************************************************************}
PROCEDURE morningam (VAR TeachDate:dates; TeachTime:times);
BEGIN
IF h > 8 THEN
BEGIN
WRITELN('Why are you so late today?');
WRITELN;
WRITELN;
END
ELSE IF h < 8 THEN
BEGIN
WRITELN ('Congradulations you are early today!');
END
ELSE
CLRSCR;
END;
{*******************************************************************************************************************}
PROCEDURE Eveningpm (VAR TeachDate:dates; TeachTime:times);
BEGIN
IF h >1 THEN
BEGIN
WRITELN ('You are late!');
WRITELN;
END
ELSE IF h >1 THEN
BEGIN
WRITELN('Wonderful, you early this afternoon');
END
ELSE
CLRSCR;
END;
{*******************************************************************************************************************}
PROCEDURE registration(VAR staff:StaffFile; StaffRecord:StaffDetails; TeachDate:dates; TeachTime:times);
BEGIN
WRITELN('Regristration.');
WRITELN (' Input the following details inorder to register.');
WRITELN;
WITH StaffRecord DO
BEGIN
tell;
END;
IF
reply = 'Y' THEN
BEGIN
CLRSCR;
tell;
END
ELSE IF reply= 'y' THEN
BEGIN
CLRSCR;
tell;
END;
IF reply= 'N' THEN
BEGIN
WRITELN ('&**&*&*&*&**&*&*&*&*&*&&&*&*&*&&&*&*&*&*&*& ');
WRITELN ('This is your staffrecord * ');
WRITELN ('Your registration was successful at * ');
READLN;
Gotoxy(15,7);
tim(h,min);
BEGIN
Gotoxy(20,8);
dat( y, m, d, dow );
END;
END
ELSE IF reply='n'THEN
BEGIN
WRITELN ('&**&*&*&*&**&*&*&*&*&*&&&*&*&*&&&*&*&*&*&*& ');
WRITELN ('This is youstaffrecord');
WRITELN ('Yourregistration was successful ');
Gotoxy(15,7);
WRITELN;
tim(h,min);
WRITELN;
BEGIN
Gotoxy(20,8);
WRITELN;
dat( y, m, d, dow );;
END;
END ;
RESET(staff);
{END;}
END;
{******************************************************************************}
PROCEDURE TextInput (VAR item: TextString);
CONST
space=CHAR(32);
VAR
index: INTEGER;
BEGIN
FOR index:=0 TO MaxChar-1 DO
IF EOLN THEN
item [index]:= space
ELSE
Read (item[index]);
READLN;
END;
{**********************************************************************************}
PROCEDURE FieldInputa (VAR staff:StaffFile; StaffRecord:StaffDetails; TeachDate:dates; TeachTime:times);
CONST
No='N';
VAR temporary:Stafffile;
found:BOOLEAN;
reply:CHAR;
BEGIN
Gotoxy(28,1);
WRITELN('input the following details');
Gotoxy(28,3);
WRITELN;
WITH StaffRecord DO
BEGIN
CLRSCR;
WRITELN('&**&&**&&**&&**&&*&&** ');
WRITELN('BISHOPS High School');
WRITELN('Automatic Checkin');& ');
WRITELN(' name=> ');
WRITELN('username=>');
WRITELN('password=>');
gotoxy(33,7);
Write;TextInput(Name);
gotoxy(38,9);
Write;TextInput(username);
gotoxy(38,11);
Write; TextInput(password);
{ search(Username,found,location); }
END;
CLRSCR;
END;
{*************************************************************************}
PROCEDURE FieldInputb (VAR staff:StaffFile; StaffRecord:StaffDetails; TeachDate:dates; TeachTime:times);
VAR temporary:Stafffile;
VAR y, m, d, dow : Word ;
found:BOOLEAN;
letter:INTEGER;
CONST
No='N';
BEGIN
REPEAT
FieldInputa ( staff ,StaffRecord, TeachDate, TeachTime);
CLRSCR;
WRITELN('*/*/*/*////*/*/*/*//*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/');
WRITELN('* *');
WRITE ('* Did you make an error?Would you like to re-enter your data?Y(es) or N(o) *');
Gotoxy(33,5);
READLN(reply);
IF reply = 'y' THEN
FieldInputa(staff, StaffRecord, TeachDate,TeachTime)
ELSE IF
reply= 'Y' THEN
FieldInputa(staff, StaffRecord, TeachDate, TeachTime)
ELSE IF reply = 'N' THEN
WRITE('/*/*/*/*/*/Your sign in was successful!/*/*/*/*/*');
WRITELN;
WRITELN;
BEGIN
GetDate(y,m,d,dow);
Writeln('Today is ' ,
m:0, '/', d:0, '/', y:0);
END;
BEGIN
GetTime(h,min,sec,hund);
Writeln('It is now ',LeadingZero(h),':',
LeadingZero(min),':',LeadingZero(sec),
'.',LeadingZero(hund));
END;
REPEAT
WRITELN;
WRITELN('If it is morning, enter 1 or if it is afternoon enter 2');
READLN(letter);
If letter = 1 THEN
morningam( TeachDate, TeachTime)
ELSE IF letter = 2 THEN
BEGIN
WRITELN;
eveningpm( TeachDate, TeachTime);
WRITELN('Press Enter');
END
ELSE
WRITELN('ERROR');
READLN;
UNTIL letter < 3;
UNTIL reply= 'N';
END;
{******************************************************************************************}
BEGIN {mainscreen}
ASSIGN(staff,'a:staff');
ASSIGN(temporary,'a:temporary');
Gotoxy(28,1);
{ //| ,|
//,/ -~ |
// / | _-~ / ,
/'/ / / _-~ _/_-~ |
( ( / /' _ -~ _-~ ,/'
\~\/'/| __--~~__--\ _-~ _/,
,,)))))));, \/~-_ __--~~ --~~ __/~ _-~ /
__))))))))))))));,>/\ / __--~~ \-~~ _-~
-\(((((''''(((((((( >~\/ --~~ __--~' _-~ ~|
--==//////(('' . `)))))), / ___---~~ ~~\~~__--~
))| @ ;-. (((((/ __--~~~'~~/
( `| / ) )))/ ~~~~~__\__---~~__--~~--_
| | | (/ ---~~~/__-----~~ ,;::' \ ,
o_); ; / ----~~/ \,-~~~\ | /|
; ( ---~~/ `:::| |;| < >
| _ `----~~~~' / `:| \;\_____//
______/\/~ | / / ~------~
/~;;.____/;;' / ___----( `;;;/
/ // _;______;'------~~~~~ |;;/\ /
// | | / | \;;,\
(<_ | ; /',/-----' _>
\_| ||_ //~;~~~~~~~~~
`\_| (,~~
\~\
~~ }
WRITELN('Welcome to BISHOPS HIGH SCHOOL.');
WRITELN('Are you registering for the first time? Y(es) or N(o)');
READLN (choice1);
IF Choice1 = 'Y' THEN
registration(staff, StaffRecord, TeacherDate, TeachTime)
ELSE IF Choice1= 'y' THEN
registration (staff, StaffRecord,TeacherDate, TeachTime)
ELSE IF choice1 = 'N' THEN
BEGIN
FieldInputb ( staff,StaffRecord,TeacherDate,TeachTime);
WRITELN ('Goodbye,have a nice day.');
DONEWINCRT;
END
ELSE IF choice1='n' THEN
FieldInputb ( staff,StaffRecord,TeacherDate,TeachTime);
WRITELN ('Goodbye,have a nice day.');
DONEWINCRT;
END.