![]() |
Wahlweise Code abarbeiten
Hallo, gibt es eine Moeglichkeit wahlweise Code auszufuehren? Soetwas in folgender Form:
Code:
also entweder eine For-Schleife oder eine repeat until Schleife?
begin
if choice = true then {for i = 0 to Max do for j = 0 to Max do begin} else {repeat} Berechnungen ... if choice = true then {end;} else {until ...} end; Gutelo end; |
AW: Wahlweise Code abarbeiten
Natürlich.
Delphi-Quellcode:
Bitte gewöhn Dir gar nicht erst an, auf true oder false abzufragen, das kann zu unerwarteten Ergebnissen führen.
if Bedingung then
begin MachWas; end else begin MachWasAnderes; end; |
AW: Wahlweise Code abarbeiten
lol, das ist ein einfacher if-then-else Zweig, ich will aber viel code entweder mit einer geschachtelten For-Loop oder mit einer repeat-until schleife abarbeiten ohne den langen Code doppelt zu schreiben.
Der Code-Schnipsel soll nur die Idee verdeutlichen und ist kein richtiger Code |
AW: Wahlweise Code abarbeiten
Hä? Dann schreib Dir halt eine Routine mit der einen und eine mit der anderen Schleife und ruf die wahlweise auf.
|
AW: Wahlweise Code abarbeiten
Koennte ich, aber da es ein paar hundert Zeilen Code sind wuerde ich eine Alternative Loesung bevorzugen, anstatt das alles doppelt zu haben. Den abzuarbeitenden Code in eine Unterfunktion zu packen moechte ich auch nicht da der Funktionsaufruf zu viel Zeit kostet. Die Schleifen werden ein paar Millionen mal durchlaufen.
|
AW: Wahlweise Code abarbeiten
Aber das mit der Funktion ist nunmal der gängige Weg.
Du kanns natürlich beides in die Repeat-/Whileschleife schreiben. Und dann zum Anfang der Schleife jeweil etwas Anderes/unterschiedliches machen. Wenn "choice", dann zählst du da eben "manuell" deine beiden Variablen hoch. |
AW: Wahlweise Code abarbeiten
Zitat:
|
AW: Wahlweise Code abarbeiten
Zitat:
Vorschlag: Zeig uns, was Du da millionenfach ausrechnen musst. Wir haben genügend Performancegurus und Programmierexperten, die Dir hier helfen können. |
AW: Wahlweise Code abarbeiten
Zitat:
Delphi-Quellcode:
if choice then
for i = 0 to Max do for j = 0 to Max do {$I MeineBerechnung} else repeat {$I MeineBerechnung} until xxx Ansonsten gebe ich meinen Vorrednern recht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz