Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi fehler bei ganz simpler konstruktion (https://www.delphipraxis.net/29775-fehler-bei-ganz-simpler-konstruktion.html)

glkgereon 14. Sep 2004 15:46


fehler bei ganz simpler konstruktion
 
hm, ja ich hab einen fehler bei einer im prinzip total simplen konstruktion einen fehler


Delphi-Quellcode:
for i:=1 to SpinEdit1.Value do
  ListBox1.Items.Add(inttostr(werte[i]));
werte is ein array of integer
vorher kam das: setlength(werte,SpinEdit1.Value);

es kommt das debugger-fenster
dadrin is ein push-befehl markiert...

hat eioner ne ahnung wo das dran liegt?

scp 14. Sep 2004 15:47

Re: fehler bei ganz simpler konstruktion
 
Delphi-Quellcode:
for i:=0 to SpinEdit1.Value-1 do
  ListBox1.Items.Add(inttostr(werte[i]));
Ein dynamischer Array beginnt mit 0.

glkgereon 14. Sep 2004 15:48

Re: fehler bei ganz simpler konstruktion
 
sorry, selber fehler

selbst bei ner neuen variable, wo ich am anfang value reintue, und dann am ende auch benutze isses dasselbe, spinedit1.value wurde also nicht verändert

Sharky 14. Sep 2004 15:48

Re: fehler bei ganz simpler konstruktion
 
Dynamische-Array beginnen bei 0.
So sollte es gehen:
Delphi-Quellcode:
for i:= to SpinEdit1.Value-1 do
  ListBox1.Items.Add(inttostr(werte[i]));

Luckie 14. Sep 2004 15:48

Re: fehler bei ganz simpler konstruktion
 
Ohne genauere Informationen und in anbetracht der Tatsache, dass mir tommie-lie immer noch nicht meine Glaskugel zurückgegeben hat, würde ich mal sagen, dass es den Wert wert[SpinEdit1.Value] nicht gibt.

Sharky 14. Sep 2004 15:49

Re: fehler bei ganz simpler konstruktion
 
Zitat:

Zitat von glkbkk
sorry, selber fehler

Wo füllst Du denn dein Array? Zeig mal etwas mehr code ;-)

scp 14. Sep 2004 15:51

Re: fehler bei ganz simpler konstruktion
 
Genau. Bau mal
Delphi-Quellcode:
If (SpinEdit1.Value > length(werte)) then
  ShowMessage('Da ist der Fehler');
ein.

glkgereon 14. Sep 2004 15:53

Re: fehler bei ganz simpler konstruktion
 
die entscheidenden auszüge

Delphi-Quellcode:
setlength(werte,SpinEdit1.Value);
for i:=0 to SpinEdit1.Value-1 do werte[i]:=random(SpinEdit2.Value);
QuickSort(werte,0,high(werte));
for i:=0 to SpinEdit1.Value-1 do
  ListBox1.Items.Add(inttostr(werte[i]));
quicksort (abgeschrieben):

Delphi-Quellcode:
procedure TForm1.QuickSort(var a: array of Integer; lo, hi: integer);
var i, j, h, x: integer;
begin
  // lo ist der unterste Index, hi ist der oberste Index des
  // zu sortierenden (Teil-)Feldes a
  i:=lo;
  j:=hi;
  x:=a[(lo+hi) div 2];

  //Aufteilung
  while i<=j do begin
    while a[i]<x do inc(i);
    while a[j]>x do dec(j);
    if (i<=j) then begin
      h:=a[i];
      a[i]:=a[j];
      a[j]:=h;
      inc(i); dec(j);
    end;
  end;

  // Rekursion
  if lo<j then QuickSort(a, lo, j);
  if i<hi then QuickSort(a, i, hi);
end;
//Durch Aufruf von QuickSort(a, 0, high(a)) wird das gesamte Array a sortiert.

scp 14. Sep 2004 17:39

Re: fehler bei ganz simpler konstruktion
 
Hmmm... ich kann machen was ich will, bei mir kommen bei deinem Code keine Fehler. Das Problem muss wohl an anderer Stelle liegen.

glkgereon 14. Sep 2004 18:43

Re: fehler bei ganz simpler konstruktion
 
seltsam...naja, so wichtig wars auch nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 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-2025 by Thomas Breitkreuz