AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Byte in Speicher schreiben

Ein Thema von bundy · begonnen am 26. Apr 2006 · letzter Beitrag vom 27. Apr 2006
 
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Byte in Speicher schreiben

  Alt 26. Apr 2006, 16:09
Ich glaube du machst einen grundlegenden Fehler.

Mit welchem Programm hast du denn die Adressen gesucht?

Bei TSearch musst du ja auswählen welcher Datentyp vorliegt. Ein Integer bei Delphi belegt z.B. immer 4 Bytes (zumindest bei 32-Bit-EXEn). Dabei enthält das letzte Byte den niedrigsten Zweierpotenwert,
Code:
00000000 00000000 00000000 00001000
heisst also z.B. 8.

Du schreibst allerdings deine 200 (Binär: 01100100) einfach ins erste Byte, so dass es dann so aussieht:
Code:
 * NEU * * ALT *   * ALT *  * ALT *
01100100 00000000 00000000 00001000
und das ergibt jetzt eine unvorstellbar grosse Zahl, nämlich:
Delphi-Quellcode:
0*2^0 ALTER WERT
0*2^1 ALTER WERT
0*2^2 ALTER WERT
1*2^3 = 8 ALTER WERT
0*2^4 ALTER WERT
...
0*2^24 //das Element dass im linken Byte als erstes kommt, also am rechtesten (*g*) steht
0*2^25
1*2^26 = 67108864 (:shock:)
0*2^27
0*2^28
1*2^29 = 536870912
1*2^30 = 1073741824
0*2^31 //das linkseste also letzte Byte

somit hat der neue Leben-Integer den Wert 1677721600 (der neue, hinzugefügte) + 8 (die Ursprüngliche Anzahl, welche nicht überschrieben wurde), also insgesammt 1677721608 und nicht 200, wie du es beabsichtigt hast. Du musst den kompletten Inhalt deiner Integer-Variable auf die nächsten 4 Bytes kopieren. Du musst aber darauf achten, dass das Leben auch evtl. ein Real-Wert sein könnte, dann musst du eben den kompletten Inhalt einer Real-Variable über die nächsten Bytes kopieren.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:15 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