Hallo,
also bei mir sieht es jetzt so aus :
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Edit1: TEdit;
private
{ Private declarations }
public
{ Public declarations }
end;
person =
record
Name:
string;
id:integer;
end;
Tschlange =
class
private
next,max:integer;
schlange :
array [1..10]
of person;
public
function einfuegen(x:person):boolean;
constructor create;
end;
var
Form1: TForm1;
implementation
constructor tschlange.create;
begin
next :=1;
max := 10;
end;
function tschlange.einfuegen(x:person):boolean;
var i:integer;
begin
schlange[next].
Name := form1.edit1.text;
for i:=1
to 9
do
schlange[next] := schlange[next+1];
end;
{$R *.dfm}
end.
Zum Beispiel kann der String Peter jetzt in allen Feldern des Arrays stehen , wie mani64 netterweise gesagt hat , Peter soll aber als erster an der Kasse stehen , aber wie gebe ich die anderen Array-Felder frei?
Ich will ja noch andere Persoenn hinzufügen.
Aaaaalso, da will ich mich auch mal hier reinhängen:
Ich verstehe die bisherige Logik so, das die Person an Position Schlange[1] an der Kasse steht und weitere Personen hinzu kommen, während Person 1 noch wartet, bis alle Artikel abgerechnet sind, weshalb Person[2], Person[3],... solange warten müssen. DEshalb muss auch der Zähler "next" immer um eins
erhöht werden. Weil Person[1] in Schlange[1] an der Kasse steht.
Erst dann eght es weiter:
Person[1] hat bezahlt:
Person[2] rückt vor auf Position 1
Person[3] rückt vor auf Position 2
...
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.