Hallo,
ich würde einem Broker gerne eine Zuteilungsstrategie zuweisen. Dieser soll anhand einer Tabelle mit unbefriedigten Importern den richtigen Importer auswählen.
Wie schreibe ich in meiner Methode, dass er nach dem FILO-Prinzip (First-In-Last-Out) arbeiten soll?
Ich habe bisher:
(obj : object; -- Importer
typ : integer) -- Importertyp (0=Entstörimporter, 1=Rüstimporter, 2=Bearbeitungsimporter, 3=Transportimporter)
is
zuExportierendeWerker : table;
testImportErfolgreich : boolean;
TabelleUnbefriedigteImporter: table;
i: integer;
obj1: object;
do
zuExportierendeWerker.create;
TabelleUnbefriedigteImporter.create;
-- Tabelle erstellen mit unbefriedigten Importern
?.holeUnbefriedigteImporter(TabelleUnbefriedigteImporter);
-- Tabelle solange durchsuchen, bis letztes Element in Tabelle gefunden wurde
for i:=1 to TabelleUnbefriedigteImporter.yDim loop
-- Gefundener Importer wird auf Object überschrieben
obj1:=TabelleUnbefriedigteImporter[1,i];
-- Wenn weiterer Importer mit größerer yDim gefunden wird, wird dieser auf Object überschrieben
if TabelleUnbefriedigteImporter[1,i+1].leer = false then
obj1:=TabelleUnbefriedigteImporter[1,i];
end;
-- Testen, ob das Object vermittelt werden kann
testImportErfolgreich := ?.testImportfür(obj1, tabelleUnbefriedigteImporter[2,i], zuExportierendeWerker);
-- Dienst wird bedient, falls die Kapazität des Exporters ausreicht
if TestImportErfolgreich = true then
?.belegemit(obj1, TabelleUnbefriedigteImporter[2,i], zuExportierendeWerker);
return;
end;
next;
end;
Stimmt das oder funktioniert das nicht?
Danke!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP