Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem mit Zufalls zahlen!

  Alt 5. Mär 2005, 13:19
Zitat von Binärbaum:
Zitat von sniper_w:
Delphi-Quellcode:
for i:=0 to random(Q.Count) do
        Q.Push(Q.Pop);
   LogForm.APPEND('Tmaze.RandomTQueueItem: Zufälliges element:'+inttostr(i)+' aus:'+inttostr(Q.Count),0);
Variable i ist nach der Schleife undeffiniert. (Delphi ist nicht halt C )
Also i ist nach der Schleife nicht undefiniert, sondern hat (hier im Beispiel) den Wert random(Q.Count)+1. Eine Schleifenvariable ist nach Ende der Schleife um eins größer als die Obergrenze der Laufvariable (bzw. bei DOWNTO um eins kleiner).
Das ist aber reiner Zufall. Oder warum sagt mir mein Compiler bei diesem Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
begin
  for i := 0 to 9 do
  begin
    Listbox1.Items.Add(IntToStr(i));
  end;
  ShowMessage(IntToStr(i));
end;
Zitat:
[Warning] Unit1.pas(35): FOR-Loop variable 'i' may be undefined after loop
Warnung gibt der Compiler nicht nur zur Unterhaltung des Programmierers aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat