Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   probleme mit For-Schleife (https://www.delphipraxis.net/11968-probleme-mit-schleife.html)

mickmack 17. Nov 2003 23:15


probleme mit For-Schleife
 
hallo zusammen,

ich habe hier ein ganz merkwürdiges Problem mit der Forschleife:
Delphi-Quellcode:
  for index:=0 to 3 do
  begin
    showmessage('hallo welt');
  end;

  showmessage(IntToStr(index));
Bei der Ausgabe nach der Schleife kommt immer 4 heraus. Warum :wiejetzt:
Was mache ich falsch? :?: Das habe ich noch nie gehabt. Kennt jemand das Problem? :?: Habe ich was verstellt? :?: Oder ist es einfach nur schon zu spät :gruebel:

MrKnogge 17. Nov 2003 23:21

Re: probleme mit For-Schleife
 
nimm statt index lieber einen anderen Namen
für deine Variable, z.B. 'f' oder 'i'.

Vile Komponennten haben eine Eigenschaft die index
heist, da kanns dann schon mal zu Problemchen kommen....

iamjoosy 17. Nov 2003 23:24

Re: probleme mit For-Schleife
 
Hi zu später Programmiererstunde,
ohne das überprüft zu haben denke ich dass Delphi ein for schleife so umsetzt:

Code:
i:=0;
while i <= 3 do
 i:=i+1

analog zu

for i=0 to 3 do
bei der obigen while Schleife wäre i nach Beendigung derselben 4

Weiss nicht genau ob das so ist, aber eben meine Vermutung.
Aber ist das für dich wichtig ?

Ich meine ist das Ergebnis nach der SChleife wichtig ?

mickmack 17. Nov 2003 23:25

Re: probleme mit For-Schleife
 
hmmm, ne daran liegt es nicht. Sind vielleicht irgendwelche Einstellungen verstellt? Anders kann ich mir das nicht erklären.

MrKnogge 17. Nov 2003 23:30

Re: probleme mit For-Schleife
 
also meines Wissens nach, wird die
Zählvariable erst nach durchlauf
der Schleife erhöht.

Aber gib dch einfach mal deine Variable in der Schleife aus....

Wormid 17. Nov 2003 23:32

Re: probleme mit For-Schleife
 
Hast Du die Warnung in deinen Compileroptionen ausgeschaltet? Bei mir kommt nämlich dies:

Zitat:

Zitat von Delphi Compiler
[Warnung] Unit1.pas(33): FOR-Schleifenvariable 'index' kann nach Durchlauf undefiniert sein

Wie es aussieht, ist nach einer Schleife nicht sichergestellt, das auch der "Wert" des letzten Durchlaufs in der Zähl-Variablen drinsteht. "index" ist also nach der Schleife als nicht initialisierte Variable zu betrachten.

Gruß

Wormid

Luckie 17. Nov 2003 23:35

Re: probleme mit For-Schleife
 
Gott sei dank. Ich dachte schon, keiner würde die Warnungen lesen. :roll:

mickmack 17. Nov 2003 23:36

Re: probleme mit For-Schleife
 
in der Schleife stimmt noch alles. Normalerweise benutze ich auch immer einen Counter innerhalb der Schleife, um dann damit weiterzuarbeiten, aber ich war mir fast sicher, dass auch schon mal so gemacht zu haben. Naja muss wohl ne Täuschung gewesen sein, denn das Argument mit der Realisierung durch die Whileschleife ist ja vollkommen einleuchtend und kommt mir auch bekannt vor :oops:
ich schiebs mal auf die späte Stunde :wink:

Aber danke für die schnelle Hilfe

MrKnogge 17. Nov 2003 23:37

Re: probleme mit For-Schleife
 
Kann man dann eigentlich (also nur mal theoretisch)
irgend eine lokale Variable fpür die for-Schleife
benutzen und danach mit dem alten Wert weiterarbeiten ?

Luckie 17. Nov 2003 23:39

Re: probleme mit For-Schleife
 
Zitat:

Zitat von mickmack
in der Schleife stimmt noch alles.

Wäre wohl auch schlimm, wenn es nicht so wäre oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.
Seite 1 von 3  1 23      

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