Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.034 Beiträge
 
Delphi 12 Athens
 
#2

AW: Variable ist möglicherweise nicht initialisiert worden

  Alt 5. Feb 2019, 08:52
Ist der Compiler nicht intelligent genug, die For-Schleife und das den Schleifenzähler bedingende Case in eine Verbindung zu setzen?
Nein, in diesem Fall nicht. Ist ja auch nicht ganz einfach, oder hast du auf Anhieb einen entsprechenden Algorithmus parat?

Würden für die Grenzen der For-Schleife Variablen verwendet, wäre es sogar noch komplizierter. Dann müsste man die Belegung der Variablen analysieren.

Es sollte aber gehen, wenn du in das case einen else-Zweig mit einer Exception einbaust.

Delphi-Quellcode:
      case I of
        1: LEncoding := TEncoding.ANSI;
        2: LEncoding := TEncoding.ASCII;
        3: LEncoding := TEncoding.BigEndianUnicode;
        4: LEncoding := TEncoding.Unicode;
        5: LEncoding := TEncoding.UTF7;
        6: LEncoding := TEncoding.UTF8;
      else
        raise EProgrammerNotFound.Create('WTF?');
      end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat