Здесь Disk — номер диска; Sector — номер дискового сектора, с которого начинается запись информации; Count — количество записываемых секторов; Buffer ~ переменная любого типа, содержимое которой требуется записать на диск.

Как и в случае использования процедуры SetFATItem, требуется тщательно проверить параметры обращения к этой процедуре перед запуском программы на счет. Запись в ошибочно указанный сектор может привести к непоправимым последствиям.

3.3.2. Тестовая программа

В следующей программе иллюстрируется применение некоторых из содержащихся в модуле F_Disk подпрограмм. Программа запрашивает имя любого уже существующего на диске текстового файла и осуществляет вывод его содержимого на экран дисплея.

Uses DOS,F_Disk;

var

Name: string;

Text: array [1..512] of Char;

k,j : Word;

N : Word;

DI : TDisk;

Item: Dir Type;

Disk: Byte;

Sec : Word;

begin

GetListDisk(Disks); {Формируем список дисков} repeat

Write('Введите имя файла '+

'(или нажмите Enter для выхода): ');

ReadLn(Name);

if Name <> '' then begin

Name := FExpand(Name); {Полное имя файла} Disk := GetDiskNumber(Name[1]);

GetDiskInfo(Disk,DI) ;

GetDirItem(Name,Item); /Элемент каталога} if not Disk_Error then with Item do begi-n

Sec := GetSector(Disk,FirstC); {Номер 1-го

сектора файла} j := 0; {Количество прочитанных секторов} if not Disk_Error then

repeat {Цикл печати файла} ReadSector(Disk,Sec,1,Text; ;

if Size < 512 then N := Size

else N :° 512;