Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Schleifenabbruch in SimTalk (sicherlich einfach für Simulator und Co.)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Schleifenabbruch in SimTalk (sicherlich einfach für Simulator und Co.) (3605 mal gelesen)
SimulationFlo1412
Mitglied
Student

Sehen Sie sich das Profil von SimulationFlo1412 an!   Senden Sie eine Private Message an SimulationFlo1412  Schreiben Sie einen Gästebucheintrag für SimulationFlo1412

Beiträge: 1
Registriert: 06.12.2006

erstellt am: 06. Dez. 2006 20:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,
ich habe eine Studentenlizenz von eM-Plant 7.0.2 und bin in SimTalk gerade auf folgendes Problem gestossen.
Ich habe 3 While - Schleifen. Eine While-Schleife umgibt die anderen beiden.

Codeausschnitt:

Code:

while true loop
while actPeriod-periodCounter > 0 and
              periodCounter*storageCosts < addCapacityCosts loop

  if capacityCheck(actPeriod-periodCounter,0) then
    return actPeriod-periodCounter;
  else
periodCounter:= periodCounter + 1;
  end;
end;

  while actPeriod-periodCounter > 0 and -- usw. loop

if capacityCheck(basisPeriod,1) then
Ageing := false;
else
Ageing:= true;
end;

if Ageing then
periodCounter:= periodCounter + 1;
basisPeriod:= basisPeriod - 1;
AgeingFactor:= AgeingFactor +1 ;

-- hier
else
  return basisPeriod;
end;
  end;
end;


Hier meine Frage: an der Stelle die ich mit dem Kommentar hier vermerkt habe möchte ich die If-Anweisung bzw. die Schleife verlassen. Gibt es in SimTalk eine break- Anweisung oder eine goTo ähnlich wie in anderen Programmiersprachen. Habe in der Hilfe nichts gefunden. Nur die geheZuZeile(Integer) aber die Funktioniert irgendwie nicht.
Über eure Hilfe würde ich mich sehr freuen.
Vielen Dank schon mal im Vorraus.

Flo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 06. Dez. 2006 22:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

ab 7.5 gibt es die Funktion "exitloop".

Da Du mit 7.0.2 arbeitest, wuerde ich Dir die

repeat
.
.
.
until "Abbruchkriterium=true"   Schleife empfehlen.

Ueber das individuelle Abbruchkriterium kannst Du selbst bestimmen, wann die Schleife beendet wird.

------------------
Der Simulator

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz