rendered paste bodyunit 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);
Pneu^.next:=PCurrent^.next;
PCurrent^.next:=Pneu;
end
else
begin
Pneu:=Pcurrent;
Pneu^.next:=PCurrent^.next;
end;
Pneu^.name:=Ename.Text;
Pneu^.vname:=Evname.Text;
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.