Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Wie kann ich die 4Bytes eines Single-Wertes auslesen!


DracoBlue - Fr 11.07.03 14:48
Titel: Wie kann ich die 4Bytes eines Single-Wertes auslesen!
ok,

also Wenn ich in delphi eine Variable vom Typ Single vereinbare, weiss ich, dass diese 4 Bytes groß ist und einen Wert hat.

Ich möchte jetzt aber genau diese 4 Bytes auslesen, als einzele Bytes.

Mfg, DracoBlue

PS : Sonst muss ich den SingleWert immer irgendwie vereinfachen, dass er auf einen 4Byte Integerwert passt und ihn danach wieder zu einem SingleWert machen durch Multiplizieren und Runden, und das ist VIEL zu umständlich.


Delete - Fr 11.07.03 14:56

Das ist doch wohl ´n Witz, oder?
Zitat:
Siehe Thema!


Was ist das für ein Single-Wert?
Woher kommt er?
Bist du sicher, dass es ein Single-Wert ist?

usw. - Alles Fragen, die IMHO für die korrekte Beantwortung notwendig sind. Ansonsten wird hier in zig Postings sinnlos rumgeraten, bis du am Schluss dann (endlich) verrätst, dass es sich um einen Fall handelt, an den bis dahin keiner gedacht hat.

Sorry, aber ich bin für´s Löschen von solchen Beiträgen.
Wenn du dein erstes Posting bitte umformulierst, darf ein Mod dies hier gern entfernen.


mortus - Fr 11.07.03 15:23

naja vielleicht meinst du ja sowas hier:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
function GetSingleBytes(sWert: Single): string;
type
 PByteArray = ^TByteArray;
 TByteArray = array[0..3of Byte;

var
 pByte:   PByteArray;
 tByte:   ^Byte;
 Counter: Integer;

begin
        tByte:=@sWert;
        result:='';

        for counter:=0 to SizeOf(Single)-1 do
        begin
         result:=result+IntToHex(tByte^,2)+' ';
         Inc(tByte,sizeof(Byte));
        end;

        // oder so :

        pByte:=@sWert;
        result:='';
        for counter:=Low(pByte^) to High(pByte^) do
        result:=result+IntToHex(pByte^[counter],2)+' ';
end;


Moderiert von user profile iconTino: Delphi-Tags hinzugefügt.


DracoBlue - Fr 11.07.03 15:27

thx, das hab ich gesucht!

Mfg, DracoBlue