AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Break/Exit verwenden?

Ein Thema von Pseudemys Nelsoni · begonnen am 11. Mai 2005 · letzter Beitrag vom 11. Mai 2005
 
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Break/Exit verwenden?

  Alt 11. Mai 2005, 08:37
Ob ich break oder exit nehme, kommt immer drauf an. Meistens sucht man ja was in einer Schleife. Da ich es vorziehe, immer nur eine Aufgabe in einer Routine laufen zu lassen, käme die Suche in eine eigene Funktion:
Delphi-Quellcode:
Function Suche (Was : TDing) : TResult;
Begin
  For Result := 0 To Anzahl do
    If Dinge[Result] = Was then
      exit;
  Result := -1
End;
Vorteil, ich kann auch elegant temorär Speicher alloziieren und über Try..Finally freigeben
Delphi-Quellcode:
Function Suche (Was : TDing) : TResult;
Begin
  S := TStringlist.Create;
  Try
    For Result := 0 To Anzahl do
      If Dinge[Result] = Was then
        exit;
    Result := -1
  Finally
    S.Free // Wird auch bei exit aufgerufen
    End;
End;
break dagegen beendet die Schleife einfach. Das macht eigentlich nur Sinn, wenn ich gegen meine Doktrin, 'pro Aufgabe eine Funktion' verstosse, was natürlich vorkommt, weil z.B. zwei kurze Schleifen hintereinander, deren Sinn sonnenklar, natürlich nicht in zwei lokale Pupselprozeduren geschmissen werden. Irgendwann is ja auch man gut mit Refactoring.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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-2025 by Thomas Breitkreuz