Thema: Delphi Break/Exit verwenden?

Einzelnen Beitrag anzeigen

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, 09: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