Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
28.06.2014
Размер:
3 Кб
Скачать
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