All pastes #12246 Raw Edit

Someone

public text v1 · immutable
#12246 ·published 2005-05-20 12:50 UTC
rendered paste body
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.