![]() |
Prüfen, ob Variable ein Wert zugewiesen wurde
Hallo,
ich habe über die Suchfunktion nichts Entsprechendes gefunden: Mit welcher Funktion kann ich prüfen, ob einer Integer, Double, usw. Variable ein Wert zugewiesen wurde? |
Re: Prüfen, ob Variable ein Wert zugewiesen wurde
Indem du diese mit einem Initialwert belegst, welcher nicht vorkommen kann, und auf diesen prüfst
|
Re: Prüfen, ob Variable ein Wert zugewiesen wurde
Ok! Das geht natürlich auch. :wink:
Danke! |
Re: Prüfen, ob Variable ein Wert zugewiesen wurde
Bei Double und Co. eignet sich vermutlich 0, NaN, INV oder NegINV recht gut ... den ein Prüfen auf eine bestimmte Zahl geht ja nicht so einfach, da bei diesen Datentypen ja fast keine Zahl ganz genau genau gespeichert werden kann und somit eine Prüfung auf genau diese Zahl nicht zuverläßig mögliich ist.
Oder einfach eine Zahl außerhalb des nötigen Zahlensystems - bei nur positiven Zahlen irgendeine Negative (z.B. -1 und dann auf x < 0 prüfen) bei Zahlen kleine als 1000 eine 9999 oder 8888 (was schön einprägsammes macht sich immer gut und dann auf > 1000 oder 5000) Also blos keine Zahlen zu dicht am nötigen/verwendeten Wertebereich und ein möglicher "hübsche" Wert. |
Re: Prüfen, ob Variable ein Wert zugewiesen wurde
Unter Umständen könnte auch ein Typ Variant verwendet werden und mit dann mit VarIsEmpty überprüft werden, ob ein Wert zugewiesen wurde.
Delphi-Quellcode:
var
q: Variant; if VarIsEmpty(q) then Label1.Caption := 'Wert nicht zugewiesen' else Label1.Caption := q |
Re: Prüfen, ob Variable ein Wert zugewiesen wurde
du kannst dir auch ein objekt schreiben, welches zusätzlich zu dem wert noch den status deiner zahl enthält ..
Delphi-Quellcode:
somit kannst du einfach auf NULL abfragen oder deine daten einfach zurücksetzen ...
type
tMyInt = class strict private fInt: integer; fNull: boolean; public property Value: integer read fInt write SetInt; property NULL boolean read fNull write SetNull; procedure Clear; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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