Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ganz dumme Frage (https://www.delphipraxis.net/172302-ganz-dumme-frage.html)

PeterPanino 24. Dez 2012 01:08

Delphi-Version: XE2

Ganz dumme Frage
 
Wieso hat die for-Schleife in Delphi eigentlich keinen step-Parameter?

Medium 24. Dez 2012 01:27

AW: Ganz dumme Frage
 
Mir fielen zwei Gründe sein: Zum einen, und das wird der Ursprung sein, gab es das im unsprünglichen Pascal wohl nicht. Da dem so war, hat man die Umsetzung in Maschinencode sehr effizient machen können, welche aber nicht mit Stepping funktionieren würde. Und wegen letzterem, und der Tatsache, dass man das Verhalten fast noch besser mit den anderen Schleifen erhalten kann, wird dazu geführt haben, dass es das auch heute nicht gibt. (Vor allem, weil TP lokale Variablen genau so wie Counter in Register optimieren kann, statt sie nur auf dem Stack zu behandeln.)
Als ich vor ~20 Jahren von Basic zu Pascal kam hatte ich das auch noch vermisst, mittlerweile ist in meinem Kopf hartverdrahtet: if delta_i <> 1 then UseLoopOperation(loRepeatUntil); :mrgreen:

Sir Rufo 24. Dez 2012 07:44

AW: Ganz dumme Frage
 
Da
Delphi-Quellcode:
for ... to ... do
eine Schleife mit einer Kopfbedingung ist, habe ich da eher
Delphi-Quellcode:
while ... do
im Kopf ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz