ich habe im Internationalen Forum folgenden Code gesehen:
Code: Alles auswählen
function TPropGridFileNamePropertyEditor.GetAttributes: TPropertyAttributes;
begin
Exit([paDialog, paRevertable, paReadOnly]);
end;
Viele Grüße
Bernd
Code: Alles auswählen
function TPropGridFileNamePropertyEditor.GetAttributes: TPropertyAttributes;
begin
Exit([paDialog, paRevertable, paReadOnly]);
end;
Code: Alles auswählen
Result:=x;
Exit;
Na ja ist wohl irgendwie an mir vorbei gegangen. Ich hab es aber auch nicht vermisstExit mit Funktions-Rückgabewert gibt's meines Wissen seit Delphi 1.
An mir auch. Allerdings war ich die meiste Zeit mit Delphi 7 aktiv, und da gab es "exit(xxx)" definitiv noch nicht. Gerade getestet:wennerer hat geschrieben: Mo 20. Dez 2021, 17:23Na ja ist wohl irgendwie an mir vorbei gegangen.Exit mit Funktions-Rückgabewert gibt's meines Wissen seit Delphi 1.
Code: Alles auswählen
function Test(a: Integer): String;
begin
if a > 0 then
exit('> 0')
else
exit('<= 0');
end;
Es ist schon sehr nützlich wenn man dem break fast break even prinzip folgen will, und sehr viel code der form:Winni hat geschrieben: Mo 20. Dez 2021, 16:51 Obiges Beispiel scheint aber von einem C-Umsteiger zu sein, der eine zweite Zeile und leserlichen Code nicht ertragen kann ....
Code: Alles auswählen
if condition then
Exit(ErrorCode);
Code: Alles auswählen
if condition then
begin
Result := ErrorCode;
Exit;
end;
Code: Alles auswählen
begin
....
exit (234);
end.
Da muss icj ganz klar widersprechen. Der grund warum goto als schlechter stil gilt ist nicht weil man damit einen jump macht, sondern weil goto zusätzliche Komplexität einführtfliegermichl hat geschrieben: Mo 20. Dez 2021, 20:27 So richtig sauberer Stil ist das mit exit aber nicht (Mit oder ohne Rückgabe)
Das ist so wie mit Label und goto, die man zwar verwenden kann aber nicht sollte.
Code: Alles auswählen
while condition1 do
begin
// code
if errorcondition then
Exit(ErrorCode);
// code
end;
// code
Result := ...
Code: Alles auswählen
while not failure and condition1 do
begin
// code
if errorcondition then
begin
Result := ErrorCode;
Failure := True;
end
else
begin
// code
end;
end;
if Not Failure then
begin
// code
Result := ...
End;
Code: Alles auswählen
function allowed (newX,newY : Integer) : boolean;
var xx,yy: integer;
begin
result := false;
for xx := 0 to 3 do
for yy := 0 to 3 do
if tet[xx,yy] then
if field[xx+newX,yy+newY] <> clWhite then exit;
result := true;
end;
Code: Alles auswählen
procdure abc;
procedure def;
begin
....
exit (abc);
end;
begin // abc
....
def;
end;