Zum 1.
Warum speicherst du das Ende der Liste in einem extra Zeiger ? Reicht es nicht, wenn der arbeitszeiger auf NIL ist
?
Also..wenn ich das richtig verstehe, willst du bei Button2.click ein neues Element in deine Liste aufnehmen, oder ?
Wenn ja, hier mal ein Beispiel wie ich das machen würde:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
if (Kopf=NIL) then
begin
new(Kopf);
Aktuell := Kopf;
Aktuell^.position := 1;
Aktuell^.Inhalt := 'Kopf-Element der Liste';
end
else
begin
new(Aktuell^.next);
Aktuell^.next^.position := aktuell^.position+1;
Aktuell := Aktuell^.next;
aktuell^.Inhalt := IntToStr(Aktuell^.position)+'. Element in der Liste';
end;
p_Ausgabe_Kopf(Kopf^);
p_Ausgabe_Aktuell(Aktuell^);
end;
Den Zeiger Ende kannst du dir sparen (zumindest was ich vom Quelltext her lese), da aktuell immer der letzte Zeiger in der Kette ist
Ich hoffe das hilft dir weiter