function DelReg(Index: Cardinal): Boolean;
var hFile, Pos, Dummy: Cardinal; var Last: TRegistro;
begin
hFile := CreateFile('archivo.dat', GENERIC_READ + GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
Result := hFile <> INVALID_HANDLE_VALUE;
if not Result then Exit; Result := Index < (GetFileSize(hFile, nil) div SizeOf(TRegistro));
if not Result then begin
CloseHandle(hFile);
Exit;
end;
Pos := SetFilePointer(hFile, -SizeOf(Last), nil, FILE_END); ReadFile(hFile, Last, SizeOf(TRegistro), Dummy, nil); SetFilePointer(hFile, Index * SizeOf(Last), nil, 0); WriteFile(hFile, Last, SizeOf(Last), Dummy, nil); SetFilePointer(hFile, Pos, nil, 0); SetEndOfFile(hFile); CloseHandle(hFile);
end;