![]() |
Delphi-Version: 10.4 Sydney
Ungewohntes Konstrukt
Hi zusammen
Ich setze in einer TGridPanel-Testanwendung ![]() Dabei bin ich auf ein eher ungewöhnliches Konstrukt gestossen:
Delphi-Quellcode:
Dabei denke ich, hat weder rowCount noch ColCount hier einen bestimmten Einfluss. Die Anweisung könnte genausugut heissen:
for i := 0 to -1 + rowCount * colCount do
begin ... end;
Delphi-Quellcode:
Zumindest würde ich dies als wesentlich lesbarer erachten als die erste Form und die inzwischen ja verpönten with-Blöcke. Als ich die eliminieren wollte, hab ich einige Verständnisfehler gemacht, so dass am Schluss gar nichts mehr lief...
rw := rowCount * colCount;
for i := 0 to RW -1 do begin ... end; Gruss Delbor |
AW: Ungewohntes Konstrukt
Ich würde eher so schreiben, aber das ist Geschmacksache.
Delphi-Quellcode:
So sparsam und übersichtlich wie "with" dort eingesetzt wurde, kann man auch nichts gegen sagen.
for i := 0 to rowCount * colCount - 1 do
{...} |
AW: Ungewohntes Konstrukt
Da gebe ich dir recht. Aber eien Variable zu nutzen uisit denncoh überflüssig um es besser lesbar zu machen. Ich würde sowas immer so schreiben:
Delphi-Quellcode:
for i := 0 to (rowCount * colCount) - 1 do // die () sind eigentlich überflüssig, helfen aber der Lesbarkeit begin ... end; |
AW: Ungewohntes Konstrukt
Zitat:
|
AW: Ungewohntes Konstrukt
Hi Blub
Zitat:
Auch sparsam eingesetzte with-Blöcke können Quellen schwer auffindbarer fehler sein:
Delphi-Quellcode:
Zugegeben, dieser Fehler dürfte so wohl eher einem Anfänger unterlaufen. Aber so kannst du auch vollkommen überflüssige Codezeilen einsparen und erhöhstdabeidie Lesbarkeit:
with PanelX do begin
Caption := 'XXXXXXXXXX'; Length := 555; Text := Caption +'2'; end; Zitat:
Übrigens ist dies wohl eine der wenigen Situationen, wo Copy&Paste ("PanelX.") erlaubt, bezw. sinnvolll ist. ist. Aber schlussendlich: jedem das Seine... Zitat:
Gruss Delbor |
AW: Ungewohntes Konstrukt
Zitat:
Delphi-Quellcode:
verhindert darüber hinaus auch noch die Möglichkeit einer Inspektion der Variablenwerte im Debugger.
With ... End;
Gruß, Andreas |
AW: Ungewohntes Konstrukt
Delphi-Quellcode:
var P := PanelX; // oder sonstwas ... seit 10.4
P.Caption := 'XXXXXXXXXX'; P.Length := 555; P.Text := P.Caption +'2'; |
AW: Ungewohntes Konstrukt
Die Inline Variablen Deklaration geht auch schon seit 10.3.3, wenn
mann dann die ErrorInsight Fehler die das verursacht ignoriert ;-) Ab 10.4 sind die dann aber weg, weshalb die 10.4 Empfehlung natürlich verständlich ist. ;-) |
AW: Ungewohntes Konstrukt
und vorgestellt wurde es ja auch erst 10.4, al s eines der neusten coolsten features :angle:
aber beser als ein with ist es definitiv. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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