Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#71

AW: Warteschlange realisieren

  Alt 14. Mai 2012, 17:38
Du brauchst weder MySchlange noch MyRec als private Felder oder globale Variablen. Nochmal in der Zusammenfassung (Implementation von TSchlange ausgelassen):
Delphi-Quellcode:
type
  Tperson = record
    Name:string;
    id:integer;
  end;

  Tschlange = class
  private
    next,max:integer;
    schlange : array [1..10] of tperson;
  public
    function einfuegen(x:tperson):boolean;
    constructor create;
  end;

  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    (* FSchlange gehört jetzt dem Formular und ist auch nur von dem zu erreichen *)
    FSchlange: TSchlange;
  public
    { Public declarations }
  end;

//...

procedure TForm1.FormCreate(Sender: TObject);
begin
  (* Instanz anlegen *)
  FSchlange := TSchlange.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  (* Instanz freigeben*)
  FSchlange.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  MyRec: TPerson;
begin
  MyRec.Name := Edit1.Text;
  MyRec.id := StrToInt(Edit2.Text);
  FSchlange.einfuegen(MyRec);
end;
So einfach kann das sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat