function DeleteNode(var Node:TNode):TNode;
var
preNode,nextNode:TNode;
begin
Result:=nil;
preNode:=Node;
if preNode.Value='key' then
begin
Result:=preNode;
Node:=preNode.Next;
Exit;
end;
nextNode:=Node.Next;
while nextNode<>nil do
if nextNode.Value='key' then
begin
preNode.Next:=nextNode.Next;
Dispose(nextNode);
Result:=nextNode;
Break;
end
else begin
preNode:=nextNode;
nextNode:=nextNode.Next;
end;
end;