thines01
Postaholic
2,424 posts since Oct 2009
Reputation Points: 445
Solved Threads: 402
Here is some partial code to you can use for reference.
Program SeekTest; {This program tests a binary file}
(* *)
type
RegRec = record
number: integer;
name : string;
end;
F_RR = file of RegRec;
(* *)
procedure ShowAllRecs(var fileReg: F_RR);
var i : integer;
var regSought : RegRec;
begin
for i := 2 downto 0 do
begin
seek(fileReg, i); {zero based record}
read(fileReg, regSought);
writeln(regSought.name);
end;
end;
(* *)
var
arr_reg : array [1..3] of RegRec;
fileReg : F_RR;
i : integer;
Error : integer;
regSought : RegRec;
strVal : string;
(* *)
begin
val(strVal, i, Error);
{Create a number of records to write to the file}
for i := 1 to 3 do
begin
str(i, strVal);
arr_reg[i].number := i;
arr_reg[i].name := 'fred'+strVal;
end;
{Create a new output file}
Assign(fileReg, 'RegFile.dat');
ReWrite(fileReg);
{Write a number of records to the file}
for i := 1 to 3 do
begin
write(fileReg, arr_reg[i]);
end;
{Move file pointer back to the beginning of the file}
Reset(fileReg);
{See all records in file}
ShowAllRecs(fileReg);
{Change a record}
regSought.name := 'Clarence';
seek(fileReg, 1);
write(fileReg, regSought);
{See the change}
ShowAllRecs(fileReg);
close(fileReg);
end.
thines01
Postaholic
2,424 posts since Oct 2009
Reputation Points: 445
Solved Threads: 402
thines01
Postaholic
2,424 posts since Oct 2009
Reputation Points: 445
Solved Threads: 402