Hallo,
Ich soll im Rahmen einer Schulaufgabe eine Warteschlange für eine Arztpraxis erstellen.
Hierbei sollen Personen, die ich mit Hilfe einer INI-Datei zufällig hinzufüge, auf 4 Wartezimmer aufgeteilt werden
und zwar max. 5 Stück pro Wartezimmer (
der letzte Patient eines Wartezimmers wird mit Hilfer eines Timers alle 5 Sekunden entfernt).
Dieses Problem habe ich auch soweit lösen können, allerdings möchte ich das Programm noch etwas erweitern bzw. umstellen.
Ich würde es gern so regeln, daß Patienten eine zufällige Abarbeitungszeit zugewiesen bekommen und keinen festen Wert von 5 Sekunden und eventuell noch eine Anzeige über den der Status ersichtlich ist.
Leider stehe ich im Moment etwas auf dem Schlauch und komme nicht wirklich weiter, daher würde ich mich über eine Hilfestellung freuen.
Schon jetzt VIELEN DANK für eure Hilfe!
Hier noch der Code:
Delphi-Quellcode:
var
Form1: TForm1;
patienten:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var ini: TIniFile;
vorname: string;
nachname: string;
begin
ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
'namen.ini');
try
vorname:=ini.ReadString('Vornamen',inttostr(RandomRange(1,43)),'');
nachname:=ini.ReadString('Nachname',inttostr(RandomRange(1,43)),'');
finally
ini.free;
end;
edit1.text := vorname + ' ' + nachname;
patienten:=patienten+1;
rechnen(patienten);
if Zimmer1.Lines.Count = 5 then
if Zimmer2.Lines.Count = 5 then
if Zimmer3.Lines.Count = 5 then
Zimmer4.Lines.Add(Edit1.Text)
else
Zimmer3.Lines.Add(Edit1.Text)
else
Zimmer2.Lines.Add(Edit1.Text)
else
Zimmer1.Lines.Add(Edit1.Text);
end;
procedure TForm1.rechnen(z1:integer);
var z2:integer;
var ergebnis:integer;
begin
z2:=10;
ergebnis:=z1*z2;
edit2.text:=inttostr(ergebnis);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Zimmer1.Lines.Delete(0);
Zimmer2.Lines.Delete(0);
Zimmer3.Lines.Delete(0);
Zimmer4.Lines.Delete(0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
zimmer1.Clear;
zimmer2.Clear;
zimmer3.Clear;
zimmer4.Clear;
end;