Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen, ob Variable ein Wert zugewiesen wurde (https://www.delphipraxis.net/119768-pruefen-ob-variable-ein-wert-zugewiesen-wurde.html)

Spanky 31. Aug 2008 10:38


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?

mkinzler 31. Aug 2008 10:41

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

Spanky 31. Aug 2008 10:43

Re: Prüfen, ob Variable ein Wert zugewiesen wurde
 
Ok! Das geht natürlich auch. :wink:
Danke!

himitsu 31. Aug 2008 15:58

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.

toms 31. Aug 2008 16:12

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

grenzgaenger 31. Aug 2008 16:50

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:
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;
somit kannst du einfach auf NULL abfragen oder deine daten einfach zurücksetzen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz