program Consoleprog;
{$mode objfpc}{$H+}
uses
crt, sysutils
{ you can add units after this };
Type
Tperson = Record
Fname, Lname : String;
Age, Billet : Integer; //Billet is their room and bed.
Gender : Char;
InDate, OutDate : TDate; //Date they sign in and out.
InTime, OutTime : TTime; //Time they sign in and out.
end;
var
GResident : array[1..300] of Tperson;
Recs, Recds : Integer;
procedure OutputFile;
var
Filename: Textfile;
Recds : Integer;
Begin
assignfile(Filename, 'TextFile.txt');
try
rewrite(Filename);
for Recds:= 1 to Recs Do
Begin
WriteLn(Filename, GResident[recds].Fname);
WriteLn(Filename, GResident[recds].Lname);
WriteLn(Filename, GResident[recds].Age);
WriteLn(Filename, GResident[recds].Billet);
WriteLn(Filename, GResident[recds].Gender);
WriteLn(Filename, GResident[recds].InDate);
WriteLn(Filename, GResident[recds].InTime);
WriteLn(Filename, GResident[recds].OutDate);
WriteLn(Filename, GResident[recds].OutTime);
ReadLn(GResident[recds].Fname);
ReadLn(GResident[recds].Lname);
ReadLn(GResident[recds].Age);
ReadLn(GResident[recds].Billet);
ReadLn(GResident[recds].Gender);
ReadLn(GResident[recds].InDate);
ReadLn(GResident[recds].InTime);
ReadLn(GResident[recds].OutDate);
ReadLn(GResident[recds].OutTime);
end;
close(Filename);
except
WriteLn('File Error - Please Check Your File');
end;
end;
procedure InputFile;
Var
Filename: Textfile;
Recds : Integer;
Begin
assignfile(Filename, 'TextFile.txt');
Recds:=1;
try
reset(Filename);
while not eof(Filename) do
begin
ReadLn(Filename, GResident[recds].Fname);
ReadLn(Filename, GResident[recds].Lname);
ReadLn(Filename, GResident[recds].Age);
ReadLn(Filename, GResident[recds].Billet);
ReadLn(Filename, GResident[recds].Gender);
ReadLn(Filename, GResident[recds].InDate);
ReadLn(Filename, GResident[recds].InTime);
ReadLn(Filename, GResident[recds].OutDate);
ReadLn(Filename, GResident[recds].OutTime);
WriteLn(GResident[recds].Fname);
WriteLn(GResident[recds].Lname);
WriteLn(GResident[recds].Age);
WriteLn(GResident[recds].Billet);
WriteLn(GResident[recds].Gender);
WriteLn(GResident[recds].InDate);
WriteLn(GResident[recds].InTime);
WriteLn(GResident[recds].OutDate);
WriteLn(GResident[recds].OutTime);
Recds:=Recds+1;
end; {while}
Recs:=Recds;
close(Filename);
except
WriteLn('File Error - Please Check Your File');
end; {try}
end; {proc InputFile}
Procedure MakeNewfile;
Begin
GResident[1].Fname :='Taylor';
GResident[1].Lname :='Swift';
GResident[1].Age :=33;
GResident[1].Billet :=1989;
GResident[1].Gender :='F';
GResident[1].InTime :=StrToDateTime('13:30:34'); // This is here to show that
// there's no problem with time.
GResident[1].InDate :=Now;
WriteLn(now); // This works.
WriteLn('This is Now: ', datetostr(now)); // This does too.
WriteLn('This is Nothing'); // Nothing wrong here.
WriteLn('Now This is Now:', StrToDate(datetostr(now))); // What??
WriteLn('This is also Nothing'); // This is here to show that the
// problem occured before this line.
GResident[1].InDate :=StrToDateTime('24-Jan-23');
GResident[1].OutDate:=StrToDateTime('2/17/22');
GResident[1].OutTime:=StrToDateTime('15:50');
GResident[2].Fname :='Scarlett';
GResident[2].Lname :='Johansson';
GResident[2].Age :=38;
GResident[2].Billet :=1984;
GResident[2].Gender :='F';
GResident[2].InDate :=StrToDateTime('11/22/1984');
GResident[2].InTime :=StrToDateTime('13:30');
GResident[2].OutDate:=StrToDateTime('2/17/22');
GResident[2].OutTime:=StrToDateTime('15:50');
GResident[3].Fname :='Gal';
GResident[3].Lname :='Gadot';
GResident[3].Age :=37;
GResident[3].Billet :=1985;
GResident[3].Gender :='F';
GResident[3].InDate :=StrToDateTime('4/30/1985');
GResident[3].InTime :=StrToDateTime('13:30');
GResident[3].OutDate:=StrToDateTime('2/17/22');
GResident[3].OutTime:=StrToDateTime('15:50');
{Recs :=3;
For recds:= 1 to Recs do
Begin
WriteLn(GResident[Recds].Fname,' ',GResident[Recds].Lname);
WriteLn(GResident[Recds].Age,' ', GResident[Recds].Billet);
WriteLn(GResident[Recds].Gender);
WriteLn('This is InDate: ',FormatDateTime('dd mmm yy',GResident[Recds].InDate));
WriteLn('This is InTime: ',FormatDateTime('hh:nn',GResident[Recds].InTime));
WriteLn('This is OutDate: ',FormatDateTime('dd mmm yy',GResident[Recds].OutDate));
WriteLn('This is OutTime: ',FormatDateTime('hh:nn',GResident[Recds].OutTime));
WriteLn;
end;
}
end; {proc MakeNewfile}
begin
MakeNewfile;
WriteLn('Press <Enter> To Quit');
ReadLn;
end.