type
TMember = record
Name : string[50];
eMail : string[30];
Posts : LongInt;
end;
var Members : array[1..50] of TMember;
var F : file of TMember;
AssignFile(F, 'Members.dat')
var F : file of TMember;
begin
AssignFile(F,'members.dat');
Rewrite(F);
try
for i:= 1 to 50 do
Write (F, Members[i]);
finally
CloseFile(F);
end;
end;
var Member: TMember
F : file of TMember;
begin
AssignFile(F,'members.dat');
Reset(F);
try
while not Eof(F) do begin
Read (F, Member);
{ DoSomethingWithMember; }
end;
finally
CloseFile(F);
end;
end;
{go back to the beginning - the first record}
Seek(F, 0);
{go to the 5-th record}
Seek(F, 5);
{Jump to the end - "after" the last record}
Seek(F, FileSize(F));
procedure ChangeEMail
(const RecN : integer; const NewEMail : string);
var DummyMember : TMember;
begin
{assign, open, exception handling block}
Seek(F, RecN);
Read(F, DummyMember);
DummyMember.Email := NewEMail;
{read moves to the next record, we have to
go back to the original record, then write}
Seek(F, RecN);
Write(F, DummyMember);
{close file}
end;