AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Case-Statement für Float-Werte

Ein Thema von Andreas L. · begonnen am 15. Jun 2020 · letzter Beitrag vom 17. Jun 2020
 
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Case-Statement für Float-Werte

  Alt 15. Jun 2020, 11:01
Delphi-Version: 10.3 Rio
Hallo,
ich habe gerade ein simples Case-Statement mit Single-Werten geschrieben. Leider kann ich es nicht kompilieren. Die Meldung lautet:
Zitat:
E2001 Ordinaltyp erforderlich
Mir ist klar das ein Single kein Ordinal-Typ ist. Aber es kann doch nicht sein das man kein Case auf Float anwenden kann? Wie kann ich das Problem lösen? Gibt es irgendeine Funktion dafür (wie z.B. CharInSet, etc.), muss das über RTTI gemacht werden oder komme ich um einfache If-Abfragen nicht vorbei?

So habe ich es versucht:
Delphi-Quellcode:
  TibZoomFactorPercent = (
    Custom,
    Percent10,
    Percent25,
    Percent50,
    Percent75,
    Percent100,
    Percent125,
    Percent150,
    Percent175,
    Percent200,
    Percent250,
    Percent300,
    Percent400,
    Percent500
  );

function TfrmEditor.GetZoomFactorAsPercent(
  AZoomFactor: Single = 1): TibZoomFactorPercent;
begin
  Result := TibZoomFactorPercent.Custom;
  case AZoomFactor of // Hier tritt der Fehler auf...
    0.10: Result := TibZoomFactorPercent.Percent10;
    0.25: Result := TibZoomFactorPercent.Percent25;
    0.50: Result := TibZoomFactorPercent.Percent50;
    0.75: Result := TibZoomFactorPercent.Percent75;
    1: Result := TibZoomFactorPercent.Percent100;
    1.25: Result := TibZoomFactorPercent.Percent125;
    1.50: Result := TibZoomFactorPercent.Percent150;
    1.75: Result := TibZoomFactorPercent.Percent175;
    2: Result := TibZoomFactorPercent.Percent200;
    2.50: Result := TibZoomFactorPercent.Percent250;
    3: Result := TibZoomFactorPercent.Percent300;
    4: Result := TibZoomFactorPercent.Percent400;
    5: Result := TibZoomFactorPercent.Percent500;
  end;
end;
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 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 by Thomas Breitkreuz