AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RedProcessMemory Probleme mit DatenTyp

Ein Thema von sonny2007 · begonnen am 24. Okt 2014 · letzter Beitrag vom 24. Okt 2014
Antwort Antwort
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

RedProcessMemory Probleme mit DatenTyp

  Alt 24. Okt 2014, 15:42
Hi Delphianer,

stehe mal wieder vor einem kleinen Problem.

Ich lese ein Float ( single ) mit ReadProcessmemory aus einer mir bekannten Speicheradresse.
Anhand dieses Wert prüfe ich ob eine gewisse Bedingung erfüllt ist.

Das Problem:

Dieser Wert erhält unter ganz seltenen Umständen solche Werte.
2.453454534E39

Wie kann ich als single prüfen ob dieser Wert 0 oder nahe Null ist ?

Folgendes passiert.

Ich habe bspw. die MaxHp von einem Gegner. Diese beträgt 12345.

Diese wird mit Trunc in ein Integer gewandelt und weiter verwendet.
Ich prüfe mit isValue = 0 ob Gegner erledigt.

Das trifft auch 99,9% der Fälle zu. Doch es kommt halt in ganz selten Fällen zu diesen Fehler.
Denn in Int64 passt der Wert natürlich nicht und es wird eine Exception geworfen.

Ich möchte es nicht unbedingt mit einem Try except Block lösen.

Gibt es also eine Möglichkeit wie ich das Problem lösen kann?

Grüße
s0n
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: RedProcessMemory Probleme mit DatenTyp

  Alt 24. Okt 2014, 15:50
E39 (Exponent 39) ist jedenfalls sehr weit weg von der 0.
-E39 wäre nah dran.

Delphi-Referenz durchsuchenCompareValue, Delphi-Referenz durchsuchenSameValue, Delphi-Referenz durchsuchenIsZero, ...

Es gibt auch verschiedene Konstanten, um den Wertebereich zu prüfen.
if (f > MaxInt) or (f < MinInt) then PasstNichtInEinenInteger; oder if not InRange(f, MinInt, MaxInt) then PasstNichtInEinenInteger;
$2B or not $2B

Geändert von himitsu (24. Okt 2014 um 15:54 Uhr)
  Mit Zitat antworten Zitat
sonny2007

Registriert seit: 27. Aug 2009
39 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: RedProcessMemory Probleme mit DatenTyp

  Alt 24. Okt 2014, 18:27
Ich danke dir für die schnelle Antwort.
Werde es heute Abend testen.

Grüße
s0n
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 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