Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
28.06.2014
Размер:
2.74 Кб
Скачать
unit Dynfile;
interface

type
Info = record
ch: char;
end;
Tobj = ^S;
S = record
Inf: info;
Next: Tobj; {‘«Ґ¤гойЁ© ®ЎкҐЄв}
end;
Tfile = record
start: tobj;
ind: tobj;
end;

procedure ClearFile(var Ofile: Tfile); {1) Џа®жҐ¤га  ®зЁйҐ­Ёп Ї®б«Ґ¤®ў вҐ«м­®бвЁ}
function EmptyFile(var Ofile: Tfile): boolean; {2) ”г­ЄжЁп Їа®ўҐаЄЁ, Їгбв  «Ё Ї®б«Ґ¤®ў вҐ«м­®бвм?}
function addfile(var OFile: Tfile; data: info) : boolean; {3) „®Ў ўЁвм н«Ґ¬Ґ­в ў Ї®б«Ґ¤®ў вҐ«м­®бвм}
function GotostartFile(var Ofile: tfile): boolean; {4) ЏҐаҐ©вЁ Є ЇҐаў®¬г н«Ґ¬Ґ­вг}
function Notread(var Ofile: Tfile): boolean;{5) …бвм «Ё ­ҐЇа®зЁв ­­лҐ н«Ґ¬Ґ­вл?}
function GetFile(var Ofile: Tfile; var data: Info): boolean; {6) Џа®зЁв вм ®зҐаҐ¤­®© н«Ґ¬Ґ­в}
function NextFile(var Ofile: Tfile): boolean; {7) ЏҐаҐ©вЁ Є б«Ґ¤го饬㠭ҐЇа®зЁв ­­®¬г н«Ґ¬Ґ­вг}
function ScipFile(var Ofile: Tfile): boolean; {8) Џа®ЇгбвЁвм н«Ґ¬Ґ­в}

Implementation

procedure ClearFile(var Ofile: Tfile); {1) Џа®жҐ¤га  ®зЁйҐ­Ёп Ї®б«Ґ¤®ў вҐ«м­®бвЁ}
begin
Ofile.start:=nil;
Ofile.ind:=nil;
end;

function EmptyFile(var Ofile: Tfile): boolean; {2) ”г­ЄжЁп Їа®ўҐаЄЁ, Їгбв  «Ё Ї®б«Ґ¤®ў вҐ«м­®бвм?}
begin
EmptyFile:=ofile.start=nil;
end;

function addfile(var OFile: Tfile; data:info) : boolean; {3) „®Ў ўЁвм н«Ґ¬Ґ­в ў Ї®б«Ґ¤®ў вҐ«м­®бвм}
var tmp: tobj;
begin
Ofile.inD:=Ofile.start;
if ofile.start = nil then
begin
ofile.start^.inf:=data;
ofile.start^.next:=nil;
end
else
begin
while ofile.ind^.next <> nil do ofile.ind:=ofile.ind^.next;
new(tmp);
tmp^.inf:=data;
ofile.ind^.next:=tmp;
tmp^.next:=nil;
end;
end;

function GotostartFile(var Ofile: tfile): boolean; {4) ЏҐаҐ©вЁ Є ЇҐаў®¬г н«Ґ¬Ґ­вг}
begin
if Ofile.start =nil then GotostartFile:=false
else
begin
Ofile.ind := Ofile.Start;
GotostartFile:=true
end;
end;

function Notread(var Ofile: Tfile): boolean;{5) …бвм «Ё ­ҐЇа®зЁв ­­лҐ н«Ґ¬Ґ­вл?}
begin
Notread:=ofile.ind^.next <> nil;
end;

function GetFile(var Ofile: Tfile; var data: Info): boolean; {6) Џа®зЁв вм ®зҐаҐ¤­®© н«Ґ¬Ґ­в}
begin
if Ofile.ind = nil then GetFile:=false
else
begin
data:=Ofile.ind^.inf;
GetFile:=true;
end;
end;

function NextFile(var Ofile: Tfile): boolean; {7) ЏҐаҐ©вЁ Є б«Ґ¤го饬㠭ҐЇа®зЁв ­­®¬г н«Ґ¬Ґ­вг}
begin
if ofile.ind = nil then NextFile:=false
else
begin
NextFile:=true;
ofile.ind:=ofile.ind^.next;
end;
end;

function ScipFile(var Ofile: Tfile): boolean; {8) Џа®ЇгбвЁвм н«Ґ¬Ґ­в}
begin
if (ofile.ind = nil) or (ofile.ind^.next = nil) then ScipFile:=false
else
begin
ScipFile:=true;
ofile.ind:=ofile.ind^.next^.next;
end;
end;

end.
Соседние файлы в папке Laba10