Спасибо большое. Еще один вопросик. У меня есть процедура загрузки из файла. Компилятор ругается на несовместимость типов. Как исправить незнаю.
Код:
procedure TRam.LoadFile (const FileName: string);
var
f: TextFile;
s,st,st2,st3,name: string;
i,cop,j,g: integer;
Shelf: TSegment;
Page: TPage;
flag: Boolean;
begin
Clear;
AssignFile(f,FileName); // открыли файл
Reset(f);
while not Eof(f) do // цикл сборки массива
begin
Readln(f,s);
if s = ''then Continue;
i:=AddSegment(StrToInt(s)); // вот тут ошибка.
if i < 0 then Continue;
Shelf:= FRam[i];
while not Eof(f) do
begin
name:='';
flag:=false; // переменная введена для разбиения строки на "Номер страницы" и "Состояние"
st3:='';
cop:=0;
Readln(f,s);
if s =''then Break;
for j:= 1 to Length(s) do
begin
st:= copy(s,j,1); // копируем по одному символу из строки для дальнейшей обработки
if st <> '*' then name:=name + st else begin flag:=true; break; end;
end;
if flag = true then begin // flag = True-
for g:= j+1 to Length(s) do
begin
st2:=copy(s,g,1);
st3:=st3+st2; // собираем строку: состояние
end; flag:=false end;
cop:=strtoint(st3); // преобразуем тип
Page:=TPage.Create(cop,true); // создали информационный объект
Shelf.AddTPage(Page); // добавили его
end;
end;
CloseFile(f); // закрыли файл
end;
Я поминаю, STrToInt преобразует число в строку, но грешу на то, что AddSegment с 2 входными параметрами Segment:TSegment - а это сегмент и Index:Integer - это число.