Объясните, пожалуйста, код
Язык Delphi
Дан типизированный файл stud.dat с информацией о студентах - записей:
Так вот, есть процедура удаления выбранной записи в файле, которую я не могу понять:
k - это номер студента, т.е. номер записи, которую нужно удалить.
Как я понимаю на примере:
Например даны записи: 1 2 3 4 ; и k=2:
{1} 1 2 3 _ 4 ,где "_" - это указатель
{2} Читаем 3-ью запись
{3} 1 _ 2 3 4
{4} 1 3 _ 3 4
{5} 1 3 3 _ 4
{6} 1 3 3
Я кажется что-то неправильно понимаю, объясните пожалуйста! :tehnari_ru_117:
Язык Delphi
Дан типизированный файл stud.dat с информацией о студентах - записей:
Код:
type
...
bal=array [1..10] of real;
TStud=record
FIO: string [80];
Year: TDateTime;
MedB: bal;
Kurs: byte;
Group: byte;
end;
fil = file of TStud;
var
f:fil;
Код:
procedure TDelete.SpeedButton1Click(Sender: TObject);
var k: byte;
//удаление записи
begin
k := strtoint(edit1.Text);
reset(f);
seek(f, filesize(f) - 1); {1}
read(f, s); {2}
seek(f, k - 1); {3}
write(f, s); {4}
seek(f, filesize(f) - 1); {5}
truncate(f); {6}
closefile(f);
displayall(MainForm.SGstud);
Delete.close;
end;
Как я понимаю на примере:
Например даны записи: 1 2 3 4 ; и k=2:
{1} 1 2 3 _ 4 ,где "_" - это указатель
{2} Читаем 3-ью запись
{3} 1 _ 2 3 4
{4} 1 3 _ 3 4
{5} 1 3 3 _ 4
{6} 1 3 3
Я кажется что-то неправильно понимаю, объясните пожалуйста! :tehnari_ru_117: