Thema: Delphi Delphi Wert von Variable

Einzelnen Beitrag anzeigen

JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#1

Delphi Wert von Variable

  Alt 26. Okt 2010, 20:25
Hallo ihr,

ich programmiere in Delphi 2007 und habe da heute ein extrem komisches Phänomen festgestellt.

Hier nun erstmal der Quellcode
oben in der Klassendeklaration:
private abstaendeHorizontal : array[0..10] of array[0..1] of integer
Delphi-Quellcode:
procedure TEinwirkungenSkizze.zeichneHorizontaleBemassung;
var
  x: integer;
  vertauscht: boolean;
  sortiertesArray: array[0..10] of array[0..1] of integer;
  temp: array[0..1] of integer;

  positionY: integer;
  positionX: integer;
  anzahlBemassungen: integer;
  bla :integer;
begin
  // zeichnet die masslinien die horizontal verlaufen

  //zuerst array sortieren

  // array[laufendeNUmmer][0]= wert
  // array[laufendeNUmmer][1]=was fuer eine bemassung

  vertauscht := false;
  anzahlBemassungen:=0;
  bla:=0;
  for x := 0 to length(abstaendeHorizontal) do begin
    sortiertesArray[x][0] := abstaendeHorizontal[x][0];
    sortiertesArray[x][1] := abstaendeHorizontal[x][1];
    if (sortiertesArray[x][0] <> 0) then begin
      anzahlBemassungen := anzahlBemassungen + 1;
    // inc(bla);
    end;
  end;


  repeat
    vertauscht :=false;
    for x := 0 to length(sortiertesArray)-1 do begin
      if(sortiertesArray[x][0] > sortiertesArray[x+1][0]) then begin
        vertauscht:=true;
        temp[0]:=sortiertesArray[x][0];
        temp[1]:=sortiertesArray[x][1];
        sortiertesArray[x][0]:=sortiertesArray[x+1][0];
        sortiertesArray[x][1]:=sortiertesArray[x+1][1];
        sortiertesArray[x+1][0]:=temp[0];
        sortiertesArray[x+1][1]:=temp[1];
      end;

    end;
  until (vertauscht=false);

  // bemasungslinien zeichenn
  positionY := breiteGrundriss + ABSTAND_BEMASSUNG_ZU_ZEICHNUNG;
  positionX := STARTPUNKT_X - (schnabelLaenge - FA_3);
  adapter.moveTo(positionX, positionY);

  //linie bis ganz nach unten ziehen
  adapter.lineTo(positionX, (positionY + (ABSTAND_ZWISCHEN_BEMASSUNG * anzahlBemassungen)));
end;

So wenn mann nun bei der letzten Zeile:
adapter.lineTo(positionX, (positionY + (ABSTAND_ZWISCHEN_BEMASSUNG * anzahlBemassungen))); einen Haltepunkt setzt hat bla einen Wert von 25700. Bevor ich das bla da einegfügt habe hatte anzahlBemassungen diesen Wert. Wenn ich bla auf Klassenebene deklariere dann hat ebenfalls anzahlBemassungen den Wert 25700.

Habt ihr eine Idee was da falsch ist?
  Mit Zitat antworten Zitat