Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы / Laba10 / file
.pas 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.
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