Veröffentlicht 6. Februar 200916 j 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
6. Februar 200916 j 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 200916 j von VaNaTiC Verbesserung vergessen reinzuschreiben
6. Februar 200916 j 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;
6. Februar 200916 j Korrekt, wobei "if Prepare then Prepare;" komisch ist Sollten nicht die Prepare-Bedingung und der Prepare-Call eventuell unterschiedliche Bezeichnungen tragen?
9. Februar 200916 j 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 200916 j von CalledMaggi
9. Februar 200916 j Jaja, da war der Druck auf die Maustaste zu schnell oder die Verbindung zu langsam... :upps Bearbeitet 9. Februar 200916 j von CalledMaggi
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.