Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Schleife Zählt Falsch, versteht einer warum ?

  Alt 15. Jan 2009, 08:10
Delphi-Quellcode:
Var
 j: Integer;
als Lokale Variable

der Rest Global
Delphi-Quellcode:
Const
  StringLength = 9;
    arr: Array[0..4, 1..9] Of char = (
      '12531 1 1',
      '34109 1 1',
      '9-342 2 2',
      '39458 2 2',
      '51545 2 2'
      );


Var
  valid: Array[0..high(arr), 1..6] Of integer;
  tmpres: String[5];
Der Irrwitz ist das wenn ich
Delphi-Quellcode:

if ( i < 0) or ( i > 4 ) then raise exception.create( 'fehler');
kommt die AV nicht.

Wenn ich aber ein d := False einbaue dann stimmts wieder

Delphi-Quellcode:
        // 1. Check ob irgend ein Rotes Feld ist, wenn ja abbruch
        For j := 0 To high(arr) Do Begin
          If Valid[j, length(arr[0]) - 3] = 2 Then Begin
            c := false;
            d := false; // <-- Das eingefügt und es stimmt wieder
            break;
          End;
          // Check ob wirs geschafft haben..
          If arr[j, stringlength - 2] <> '0Then d := false;
        End;
@worker

ja alle schleifen laufen Rückwärts wenn der Kompiler merkt das die Laufrichtung egal ist. das macht er weil er sie damit dann schneller laufen lassen kann. Das ansich stört auch nicht. Nur eben das er bei 5 begint.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat