![]() |
Re: Schleifendurchlauf abbrechen
Naja, das stammt nicht via Copy & PAste aus dem Quelltext, sondern ist, da nur ein kleines Beispiel, gleich im Browser getippt. Werde mich bessern :)
|
Re: Schleifendurchlauf abbrechen
Zitat:
Delphi-Quellcode:
In den allermeisten Fällen gibt es elegantere Lösungen, die vielleicht langweiliger zu lesen sind, aber genau das macht gut wartbaren Code aus.
procedure GanzLangeProzedur(const Bedingung: boolean);
begin if (Bedingung = False) then exit; [ganz lange Berechnungen] end; |
Re: Schleifendurchlauf abbrechen
Zitat:
|
Re: Schleifendurchlauf abbrechen
Naja, ich kann es dir nun schwer erläutern, aber mir scheint es für diesen Fall weitaus logischer.
Du kannst alles mit "if..then" und "loop(repeat)..until" machen, alle anderen Kontrollstrukturen sind meines Wissens nach redundant, trotzdem gibt es sie (for, while,case,else). Mit ist klar, das ich jede if Entscheidung nach postitiver Logik auswerten und abarbeiten kann. Aber ebenso kann ich sie nach negativer Logik auswerten, und dann nicht abarbeiten. Nach den Gesetzen der Logik gibt es immer das Paar (Pseudocode) {IF a = wahr DO} und {IF a = falsch DO NOT} Es reicht eines von beiden, der bequemlichkeit halber hat man aber beide. Ich würde die Mächtigkeit von Delphi nicht beschneiden, wenn es break und continue nicht gäbe (wenn wir das ausdiskutieren wollen bitte in nem neuen Thread, der beweis wird lang). Aber ich habe die Mittel, und wenn es MIR(!) offensichtlicher erscheint nutze ich mal das eine, mal das andere. @rwachtel ja, Sprünge sind fieß, aber genau in dem Fall den du ansprichst nutze ich sie, um Schleifen und Prozeduren am Anfang zu verlassen, und nicht mit unsinnigen Parametern durchzulaufen. |
Re: Schleifendurchlauf abbrechen
der verfasser dieses threads sollte sich vllt mal die hilfe zu rate ziehen und einfach mal auf break() continue() bzw for und while nen F1 drüggn...
dann ersparen wir uns mutmaßungen über irgendwelche unvollständigen codeschnipsel die von irgendwo her einfach in vorhandenen code eingefügt werden ... |
Re: Schleifendurchlauf abbrechen
Klar ist es letztendlich deine Entscheidung, was du wählst. Nur wie rwachtel es ja schon gesagt hat, wird Code mit breaks, exits und continues immer recht schnell schwer verständlich. Daher sollte man das wirklich nur dann verwenden, wenn es nicht - oder nur sehr schwer - anders geht. Und da dein Problem - zumindest so, wie du es bisher geschildert hast - meiner Meinung nach am einfachsten über "<>" zu lösen ist, hab ich das jetzt halt vorgeschlagen. Ich würds so machen, du mußt natürlich nicht. Nur daß es nicht sinnvoll ist, wollte ich nicht auf mir sitzen lassen :mrgreen:
|
Re: Schleifendurchlauf abbrechen
@ barf00s
Dieser Post zum jetztigen Diskussionsfortschritt ist in seiner Gesammtheit völlig redundant. @ leddl Eben, und bei mir ist es nur schwer und umständlich zu vermeiden. Es war ein Fehler von mir, ein Beispiel anzugeben, welches kaum etwas mit meinem Probblem zu tun hat, sondern einzig und allein verdeutlichen sollte was ich tun möchte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:39 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