Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zu hoher Wertebereich (https://www.delphipraxis.net/23273-zu-hoher-wertebereich.html)

CReber 31. Mai 2004 21:12


Zu hoher Wertebereich
 
Ich möchte einen Wert auslesen aus der Registry aber ich denke der Wertebereich für ReadInteger ist zu hoch... Was mach ich nu? :)

Delphi-Quellcode:
  try
    wertint:=regist.ReadInteger('SystemPages');
  except
    on e:exception do
  end;
  if (wertint=4294967295) then

Chewie 31. Mai 2004 21:18

Re: Zu hoher Wertebereich
 
Was passiert denn bzw. welche Fehlermeldung kriegst du denn angezeigt?

CReber 31. Mai 2004 21:19

Re: Zu hoher Wertebereich
 
wertint nimmt den Wert -1 an

Christian Seehase 31. Mai 2004 21:25

Re: Zu hoher Wertebereich
 
Moin Honkibonk,

wenn Du die Variable in die Du den Wert einliest als DWORD deklarierst dürfte es kein Problem geben.
Zur Not kannst Du ja noch einen Typecast auf DWORD machen.

Delphi-Quellcode:
dwWert := DWORD(R.ReadInteger('...'));

Christian Seehase 31. Mai 2004 21:28

Re: Zu hoher Wertebereich
 
Moin Honkibonk,

was bei 32 Bit ohne Vorzeichen 4294967295 ist, ist -1 mit Vorzeichen.

CReber 31. Mai 2004 21:31

Re: Zu hoher Wertebereich
 
Danke das funktioniert !

Delphi-Quellcode:
regist.WriteInteger('SystemPages',4294967295);
Das funktioniert zwar auch so aber er sagt noch nebenbei

"[Warnung] WinTweaks.pas(180): Konstantenausdruck verletzt untere Grenzen"

Christian Seehase 31. Mai 2004 21:34

Re: Zu hoher Wertebereich
 
Moin Honkibonk,

dann schreib's doch so:

Delphi-Quellcode:
regist.WriteInteger('SystemPages',integer(4294967295));


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:43 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