![]() |
Definieren von Byte-Bereichsüberschreitungen
Hallo,
ich habe eine Byte-Variable deklariert, welche nur Werte im Bereich zwischen 30 und 122 annehmen darf:
Delphi-Quellcode:
Leider führt die Inkrementation dazu, dass aus den zugewiesenen 120 eine 130 gemacht wird, obwohl ich das mit der Variablendeklaration eigentlich ausschließen wollte. Wie kann ich eine Byte-Variable so deklarieren, dass die Erhöhung um 10 hier die 38 liefert ? Der Wert soll also am Anfang wieder hinaddiert werden.
VAR ByteVariable : 30..122;
BEGIN ByteVariable:=120; Inc(ByteVariable, 10); END; |
Re: Definieren von Byte-Bereichsüberschreitungen
Hast du die Bereichsprüfung aktiviert?
|
Re: Definieren von Byte-Bereichsüberschreitungen
Hi,
du benötigst -, mod und + Achtung bei evtl. negativen Zwischenergebnissen! Mfg FAlter |
Re: Definieren von Byte-Bereichsüberschreitungen
Zitat:
bei einer solchen Variablen wirst du die Rechenoperationen +,-,inc selbst programmieren müssen und dabei Über- und Unterläufe berücksichtigen. Gruss Reinhard |
Re: Definieren von Byte-Bereichsüberschreitungen
Zitat:
Ich denke, dass ich da was selbst mit INC und DEC basteln muss... |
Re: Definieren von Byte-Bereichsüberschreitungen
Zitat:
Wenn du keine richtiges Exceptionhandling hast und es die App killt, dann kannst du des doch nicht Delphi anlasten - er wollte nur nach deinen Wünschen entsprechend dich über diese Überschreitung informieren. |
Re: Definieren von Byte-Bereichsüberschreitungen
In Delphi ist es die "Bereichsüberprüfung", und die ist bei mir standardseitig deaktiviert.
Ich habe nun eine REPEAT-UNTIL Schleife zur Lösung des Problems hergenommen und es funktioniert. Und fest steht: Delphi ist in keinem Fall Schuld an einer Exception, die darauf basierend verursacht wird. Das war vielleicht ein kleines Missverständnis. |
Re: Definieren von Byte-Bereichsüberschreitungen
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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