Einzelnen Beitrag anzeigen

hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#72

AW: Warteschlange realisieren

  Alt 14. Mai 2012, 17:43
Vielen Dank :

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

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 : Tschlange;
  public
    { Public declarations }
  end;




var
  Form1: TForm1;


implementation

{$R *.dfm}


constructor tschlange.create;
 begin
  next :=10;
  max := 10;
 end;

function tschlange.einfuegen(x: tperson):boolean;
var i:integer;
begin
  //hinter dem Array kann man nichts mehr einfügen
  Result := Next >0;
  if Result then
    begin

      //Daten an aktuelle Array-Position schreiben
      schlange[Next].Name := x.Name;
      schlange[Next].Id := x.id;
      //Position abziehen
      dec(Next);


    end
     else // wenn next = 0 ist
        begin
            for i:=9 downto 1 do
            schlange[i+1]:=schlange[i];

            end;

end;





procedure TForm1.Button1Click(Sender: TObject);
var MyRec:Tperson;
begin
myrec.Name := edit1.text;
myrec.id := strtoint(edit2.text);
Fschlange.einfuegen(myrec);


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Fschlange := Tschlange.create;
end;



procedure TForm1.FormDestroy(Sender: TObject);
begin
Fschlange.Free;
end;

end.

Jetzt ist es semantisch und syntaktisch korrekt , oder ?

Das heißt , ich kann jetzt 10 Sachen in ein Array mit 10 Feldern reinhauen , oder ?
Felix

Geändert von hotkey (14. Mai 2012 um 17:45 Uhr)
  Mit Zitat antworten Zitat