![]() |
Case mit negative Werten?
Hallo,
ich nutze folgenden "Case" unter D5 Pro
Delphi-Quellcode:
Mein Wert "iStromRange" kommt mit -2 herein aber er landet nicht auf meinem zweiten Eintrag.
case iStromRange of
-1 : eKorrekturFaktorStrom := 0.5; -2 : eKorrekturFaktorStrom := 0.25; -3 : eKorrekturFaktorStrom := 0.125; -4 : eKorrekturFaktorStrom := 0.0625; end; Klappt eine Case Schleife mit negativen Werten nicht? Gruß Holger. :gruebel: |
Re: Case mit negative Werten?
Doch, case klappt auch mit negativen Werten.
Mach mal noch folgendes:
Delphi-Quellcode:
case iStromRange of
-1 : eKorrekturFaktorStrom := 0.5; -2 : eKorrekturFaktorStrom := 0.25; -3 : eKorrekturFaktorStrom := 0.125; -4 : eKorrekturFaktorStrom := 0.0625; default ShowMessage(IntToStr(iStromRange)); end; Bei mir klappte das eben mit negativen Werten. Ansonsten ginge auch noch folgendes:
Delphi-Quellcode:
case Abs(iStromRange) of
1 : eKorrekturFaktorStrom := 0.5; 2 : eKorrekturFaktorStrom := 0.25; 3 : eKorrekturFaktorStrom := 0.125; 4 : eKorrekturFaktorStrom := 0.0625; end; |
Re: Case mit negative Werten?
Sollte funktionieren? was kommt den bei dir raus?
BTW. Es gibt keine Case-Schleife, genauso wenig wie eine If-Schleife |
Re: Case mit negative Werten?
Zitat:
Delphi-Quellcode:
case iStromRange of
-1 : eKorrekturFaktorStrom := 0.5; -2 : eKorrekturFaktorStrom := 0.25; -3 : eKorrekturFaktorStrom := 0.125; -4 : eKorrekturFaktorStrom := 0.0625; else ShowMessage(IntToStr(iStromRange)); end; |
Re: Case mit negative Werten?
Die Case "Anweisung" :-) wird einfach überlaufen.
Der Wert "eKorrekturFaktorStrom" hat den selben wert wie vor der Anweisung. (0.8333333) :wall: [edit] Das ShowMessage bringt wie zu erwarten mein -2. [/edit] |
Re: Case mit negative Werten?
Unter D2007 funktioniert es.
|
Re: Case mit negative Werten?
Wenn "eKorrekturFaktorStrom" nicht weiter verwendet wird, optimiert der Compiler es weg, sollte aber eine Medlung bringen
|
Re: Case mit negative Werten?
Das ist es!
Die Meldung hatte ich gesehen, aber ich dachte der Wert müsste trotzdem erhalten bleiben. Sobald ich den Wert verwende klappt auch die Case-Anweisung. :oops: Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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-2025 by Thomas Breitkreuz