Einzelnen Beitrag anzeigen

anDy2k5

Registriert seit: 18. Dez 2006
1 Beiträge
 
#1

Warteschlange einer arztpraxis

  Alt 18. Dez 2006, 22:39
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;
  Mit Zitat antworten Zitat