CalledMaggi Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 Servus, Bin gerade dabei ein Struktugramm zu machen, habe eine ganz einfache Frage: Kann ich zwei Zweige wieder zusammen fuehren, oder muss ich beide Zweige weiter fuehren? Sprich nach einer IF Abfrage. Wuerde dann so aussehen: Sorry, leider werden die space entfernt... "I" Soll der vertikale Strich in der Tabelle sein. In Tabbellen gesprochen: START IF Prepare TRUE I FALSE "nothing to do" I Prepare RUN END Oder so: START IF Prepare TRUE I FALSE RUN I Prepare END I RUN I END Vielen Dank Gruss
VaNaTiC Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 (bearbeitet) Der erste Fall ist absolut ok. Du kommst nach einer Verzweigung (if-else) wieder zurück, das ist so richtig. das erste Strukturgramm würde so im Pascal-Code ausschauen: if Bedingung then //nix zu tun bei TRUE else IrgendwasTun bei FALSE Run das Zweite würde zwar genauso funktionieren aber dagegen so ausschauen: if Bedingung then Run else begin IrgendwasTun bei FALSE Run end Und das macht man normalerweise nicht, da hier zweimal an unterschiedlichen Stellen Run gecallt wird, ohne das es wirklich Not tut. Verbessern kannst Du erstes Strukturgramm, falls wirklich bei TRUE nix zu tun sein sollte, indem Du einfach: not Bedingung als if-Abfrage notierst und ins else nix reinschreibst. Das wäre dann folgender Code: if not Bedingung then Irgendwas bei not Bedingung (früher FALSE) Run Bearbeitet 6. Februar 2009 von VaNaTiC Verbesserung vergessen reinzuschreiben
CalledMaggi Geschrieben 6. Februar 2009 Autor Geschrieben 6. Februar 2009 Hi, Vielen Dank fuer die Hilfe! Also wenn ich Dich richtig verstanden habe, dann sieht mein Struktugramm jetzt so aus: START IF NOT Prepare TEHN TRUE FALSE Prepare RUN END Un der Code dazu START; IF NOT Prepare THEN Prepare; ENDIF; RUN: END;
VaNaTiC Geschrieben 6. Februar 2009 Geschrieben 6. Februar 2009 Korrekt, wobei "if Prepare then Prepare;" komisch ist Sollten nicht die Prepare-Bedingung und der Prepare-Call eventuell unterschiedliche Bezeichnungen tragen?
CalledMaggi Geschrieben 9. Februar 2009 Autor Geschrieben 9. Februar 2009 (bearbeitet) Korrekt, wobei "if Prepare then Prepare;" komisch ist Richtig, ich habe vergessen "flg" bei der BOOL dranzuschreiben... So ists jetzt richtig: "IF NOT PrepareFlg THEN Prepare" Das flag wird gesetzt, wenn die Procedure "Prepare" aufgerufen wurde... Xiexie! (Danke!) Bearbeitet 9. Februar 2009 von CalledMaggi
CalledMaggi Geschrieben 9. Februar 2009 Autor Geschrieben 9. Februar 2009 (bearbeitet) Jaja, da war der Druck auf die Maustaste zu schnell oder die Verbindung zu langsam... :upps Bearbeitet 9. Februar 2009 von CalledMaggi
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden