![]() |
Re: For-do Schleife mit Sprung
Zitat:
|
Re: For-do Schleife mit Sprung
Genau Luckie zauber mal was aus deinem Hut (oder der roten Mütze :xmas: ) :)
|
Re: For-do Schleife mit Sprung
Abrakadabra, dreimal schwarzer Kater. Schwupps:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer; begin for i := 0 to 9 do begin Inc(Integer(Pointer(@i)^)); ShowMessage(IntToStr(i)); end; end; |
Re: For-do Schleife mit Sprung
goil! das ist ja end-praktisch. man sollte die while schleifen weglassen, die sind ja voll überflüssig :warn:
|
Re: For-do Schleife mit Sprung
Also überschreibst du nur die Stelle im Speicher (wo der Zählwert steht), ohne das der Compiler es beim kompilieren merkt??
|
Re: For-do Schleife mit Sprung
Ja. jedem Menschen fällt auf, dass
Delphi-Quellcode:
wenn man gleich viele @ wie ^s hat, wieder genau i ist. Aber der Compiler prüft sowas (zurecht) nicht nach. Allerdings habe ich immer gedacht, dass Schleifen intern anders funktionieren, und Luckies Gebastel daher eh nicht funktioniert. Aber eigentlich ist es mir ***egal, obs geht oder nicht, weil ich das (hoffentlich) nie brauchen werde!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@i^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
Re: For-do Schleife mit Sprung
Vielen dank für diesen wertvollen Post, ich werd ihn mir einrahmen :D :thumb:
|
Re: For-do Schleife mit Sprung
ich helfe, wo ich kann! PS: Nicht überreiben, irgendwann meckert Delphi von wegen "zu lange Zeile"
|
Re: For-do Schleife mit Sprung
Was man eventuell dann beachten sollte, dass die schleife
Delphi-Quellcode:
die Abbruchsbedingung (wenn man das so nennen kann) bei i = n+1 liegt. Wenn i also erstmal > i+1 ist dann hat man ne feine Endlosschleife.
for i := m to n do
MfG Niels |
Re: For-do Schleife mit Sprung
Zitat:
der compiler übersetzt das dann entweder mit einen increase and jump oder einen decrease and jump und bricht ab wenn er den wert erreicht hat bzw wenn er 0 erreicht hat ... verändert man die variable, dann könnte da ziemlich schnell eine endlos schleife daraus werden ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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 by Thomas Breitkreuz