unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) Ename: TEdit; Evname: TEdit; Badd: TButton; Label1: TLabel; Bins: TButton; ListBox1: TListBox; Bausgabe: TButton; UpDown1: TUpDown; procedure BaddClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BinsClick(Sender: TObject); procedure BausgabeClick(Sender: TObject); procedure UpDown1Click(Sender: TObject; Button: TUDBtnType); private { Private-Deklarationen } public { Public-Deklarationen } end; type Peintrag = ^Teintrag; Teintrag = record last,next: Peintrag; name,vname: string[22]; end; var Form1: TForm1; Plistend,Pcurrent: Peintrag; implementation {$R *.dfm} procedure TForm1.BaddClick(Sender: TObject); var Pneu: Peintrag; begin UpDown1.Max:=UpDown1.Max+1; if Pcurrent^.last <> nil then begin New(Pneu); Plistend^.next:=Pneu; end else begin Pneu:=Pcurrent; UpDown1.Min:=1; end; Pneu^.name:=Ename.Text; Pneu^.vname:=Evname.Text; Pneu^.next:=nil; Pneu^.last:=Plistend; Plistend:=Pneu; UpDown1.Position:=UpDown1.Max; label1.Caption:=inttostr(updown1.Position); Pcurrent:=Plistend; end; procedure TForm1.FormCreate(Sender: TObject); begin New(Pcurrent); Pcurrent.name:='Beginn: Liste'; Pcurrent^.last:=nil; Pcurrent^.next:=nil; Plistend:=Pcurrent; end; procedure TForm1.BinsClick(Sender: TObject); var Pneu: Peintrag; begin if Pcurrent^.last <> nil then begin New(Pneu); PCurrent^.next:=Pneu; end else Pneu:=Pcurrent; Pneu^.name:=Ename.Text; Pneu^.vname:=Evname.Text; Pneu^.next:=PCurrent^.next; Pneu^.last:=PCurrent; if Pneu^.next = nil then Plistend:=Pneu; UpDown1.Max:=UpDown1.Max+1; UpDown1.Position:=UpDown1.Position+1; label1.Caption:=inttostr(updown1.Position); PCurrent:=Pneu; end; procedure TForm1.BausgabeClick(Sender: TObject); var Ptemp: Peintrag; begin // Ptemp:=Pliststart^.next; repeat listbox1.Items.Add(Ptemp^.name+', '+Ptemp^.vname); Ptemp:=Ptemp^.next; until Ptemp = nil; end; procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType); begin if Button = btNext then Pcurrent:=Pcurrent^.next else Pcurrent:=Pcurrent^.last; Ename.Text:=Pcurrent^.name; Evname.Text:=Pcurrent^.vname; label1.Caption:=inttostr(updown1.Position); end; end.