Christian Lassas
Level-1
- Beiträge
- 2
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Moin,
wie shrimps in #2 schon geschrieben hat, wäre das mit einem Platzdate-DB und einem zweidimensionalem Array sehr charmant zu lösen.
Dafür müsstest du als erstes einen DB bestehend aus Array[1..5,1..5] of Bool erstellen
Der erste Bereich des Arrays repräsentiert deine X-Koordinaten, der zweite deine Y-Koordinaten.
-> ist der Bool-Eintrag true, dann ist das Fach belegt.
Anhang anzeigen 41373
Dein FC müsste in SCL jetzt z.B. so aussehen, dass du zwei ineinander geschachtelte FOR-Schleifen verwendest, in der äußeren zählst du bspw. die Y-Koordinaten hoch, in der inneren die X-Koordinaten.
Hast du ein freies Feld gefunden, dann gibst du die Schleifenzähler als Koordinaten aus deinem Baustein heraus.
Anhang anzeigen 41374
Das wäre mal ein mögliches Vorgehen. Dazu kannst du deinen DB remanent machen, dann behält er auch beim Ausschalten, deine aktuelle Belegung.
Den FC könntest du noch mit einem Start-Eingang versehen, um ihn einmal vor deiner Positionierung zu starten.
Den Fall, wenn kein Fach frei ist, musst du gesondert behandeln -> was soll dann passieren (z.B. Störung "Lager ist voll" anzeigen)
Hallo, deine Lösung ist sehr elegant,
wie schreibt dein Programm ein true in den Array? Das klappt bei mir leider nicht.
Schöne Grüße Christian