Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi For-do Schleife mit Sprung (https://www.delphipraxis.net/13032-do-schleife-mit-sprung.html)

Niels 9. Dez 2003 18:32

Re: For-do Schleife mit Sprung
 
Zitat:

Zitat von Luckie
..., mit einem Trick geht es)...

Wie? :gruebel:

phlux 9. Dez 2003 18:41

Re: For-do Schleife mit Sprung
 
Genau Luckie zauber mal was aus deinem Hut (oder der roten Mütze :xmas: ) :)

Luckie 9. Dez 2003 18:48

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;

nailor 9. Dez 2003 19:56

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:

phlux 9. Dez 2003 19:58

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??

nailor 9. Dez 2003 20:07

Re: For-do Schleife mit Sprung
 
Ja. jedem Menschen fällt auf, dass

Delphi-Quellcode:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@i^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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!

phlux 9. Dez 2003 20:16

Re: For-do Schleife mit Sprung
 
Vielen dank für diesen wertvollen Post, ich werd ihn mir einrahmen :D :thumb:

nailor 9. Dez 2003 20:36

Re: For-do Schleife mit Sprung
 
ich helfe, wo ich kann! PS: Nicht überreiben, irgendwann meckert Delphi von wegen "zu lange Zeile"

Niels 9. Dez 2003 20:40

Re: For-do Schleife mit Sprung
 
Was man eventuell dann beachten sollte, dass die schleife

Delphi-Quellcode:
for i := m to n do
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.

MfG Niels

HAF4ever 9. Dez 2003 21:29

Re: For-do Schleife mit Sprung
 
Zitat:

Zitat von phlux
Meines wissens nach darf man die Schleifenvariable nicht innerhalb der Schleife verändern :mrgreen:

das kann ganz schön lustig werden ...
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 19:04 Uhr.
Seite 2 von 4     12 34      

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