Einzelnen Beitrag anzeigen

Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#1

Schleife läuft rückwärts trotz Verwendung der Zählvariable

  Alt 26. Apr 2006, 14:08
Moin...


Eine meiner for-Schleifen läuft rückwärts, obwohl die Schleifenvariable verwendet wird.
Seit wann optimiert der Compiler sowas?
Der Switch steht übrigens auf Verwendung von SetRange...

TblMSys ist eine TTable (Paradox)
MSysInfo ist eine TKbmMemoryTable (Speichertabelle)

Es handelt sich um Delphi 7 Enterprise.

Delphi-Quellcode:
const
  LoadFields : Array[0..6] of String = ('SO', 'KO', 'ST', 'KT', 'AT', 'LA', 'FG');


      for Loop := 1 to Length(LoadFields) do
      begin
        {$IFDEF DB_MSSQL}
          TblMSys.SQL.Text := 'SELECT * FROM Z4MSYS WHERE ART=''' + LoadFields[Loop - 1] + '''';
          TblMSys.Open;
        {$ELSE}
          TblMSys.SetRange([LoadFields[Loop - 1]], [LoadFields[Loop - 1]]);
        {$ENDIF}
        while not TblMSys.Eof do
        begin
          MSysInfo.Append;
          MSysInfo.FieldByName('ART').asString := TblMSys.FieldByName('ART').asString;
          // Noch ein paar Felder...
          MSysInfo.FieldByName('F1').asString := TblMSys.FieldByName('F1').asString;
          MSysInfo.Post;
          TblMSys.Next;
        end;
      end;
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat