AGB  ·  Datenschutz  ·  Impressum  







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

Pointer & Co

Ein Thema von gibb · begonnen am 3. Mär 2010 · letzter Beitrag vom 16. Mär 2010
Antwort Antwort
Seite 4 von 4   « Erste     234   
gibb

Registriert seit: 12. Sep 2007
Ort: Bern
178 Beiträge
 
Delphi 2006 Architect
 
#31

Re: Pointer & Co

  Alt 13. Mär 2010, 00:04
hi

Hab jetzt ne 30 Tage trial auf nem Rechner installiert um zu kapieren wo meine Daten hingehen. Ein Blick auf die Daten im Record erklärt wo sie sind

http://www.abload.de/thumb/resultsnc5q.png

also, ich mir gedacht ich immitier euch und spiel einwenig mit den datentypen und habe aus den array of int ein array of smallint gemacht und kriege das hier:

Delphi-Quellcode:
  TResultIntRecord = Packed Record
    Unknown : Array[0..5] of SmallInt;//unbekanntes Tag
    NumTemps : SmallInt; //Anzahl der Temperaturen
    NumFans : SmallInt; //Anzahl der Lüfter
    NumVolts : SmallInt; //Anzahl der Spannungen
    Temps : Array[0..63] of smallint; //Werte der Temperaturen
    Fans : Array[0..63] of smallint; //Drehzahl der Lüfter
    Volts : Array[0..63] of smallint; //Werte der Spannungen
  end;
http://www.abload.de/thumb/resultskzn9.png

Jetzt zwei fragen 1. wieso verhält es sich so ? Ich hab schon geschnallt das es mit der speichergrösse zusammenhängt mit welcher sich der datentyp sich reserviert. und folglich verschieben sich die Zahlen. Gibts noch mehr das man dazu wissen sollte? wie z.b. wie finde ich heraus welcher datentyp der richtige ist ohne lang drum herum zu probieren? oder sonstige theorie... ich würde mich da gerne noch einwenig vertiefen.

Frage2: Wieso lässt er immer noch ne 0 zwischen den einträgen? Wofür ist diese da?

Gruss GIBB
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#32

Re: Pointer & Co

  Alt 16. Mär 2010, 14:55
Mit SpeedFan 4.40 funktioniert bei mir diese Struktur (bzw. stimmt mit der Anzeige in SpeedFan überein):
Delphi-Quellcode:
  TSharedMem = packed record
    Version : Word; // 2 Byte
    Flags : Word; // 2 Byte
    MemSize : Integer; // 4 Byte
    Handle : THandle; // 4 Byte
    NumTemps : Word; // 2 Byte Anzahl der Temperaturen
    NumFans : Word; // 2 Byte Anzahl der Lüfter
    NumVolts : Word; // 2 Byte Anzahl der Spannungen
    Temps : array[0..31] of Integer; // 32 * 4 Byte Werte der Temperaturen
    Fans : array[0..31] of Integer; // 32 * 4 Byte Drehzahl der Lüfter
    Volts : array[0..31] of Integer; // 32 * 4 Byte Werte der Spannungen
  end;
Es sind maximal 32 Werte je Typ.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 04:51 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