Пожалуйста, помогите, никак не могу написать процедуру, то тут то там какой- то глюк выдаёт:
Код:
procedure TForm1.Del(d: string; var Poin: PNode);
var
PoinDel, r: PNode;
begin
if Poin^.Info.Name = d then
begin
PoinDel := Poin;
Poin := Poin^.Next;
Dispose (PoinDel);
end else
begin
q := Poin^.Next;
r := Poin;
while (q^.Next <> nil) do
begin
if q^.Info.Name = d then
begin
PoinDel := q^.Next;
q^.Info := PoinDel^.Info;
q^.Next := PoinDel^.Next;
Dispose (PoinDel);
Break;
end else
r := q;
q := q^.Next;
end;
if q^.Next = nil then
begin
r^.Next := q^.Next;
Dispose (q);
end;
end;
end;
Работает только еслди данный элемент в списке первый, и то в StringGrid
остальной список записывает, а в файл нет. Если же ничего не удалять, то в файл весь список записывается и потом читается корректно