Forum: Datenbanken
Delphi
by Kurt56,
27. Sep 2007
DataType ist "String". :pale:
Gibt es irgendeine Möglichkeit, die Physikalische Adresse des
Speicherbereiches "adstable1Anzahl.value" zu bekommen?
Also jene Speicherstelle, auf der diese verflixten 4 Byte stehen?
Dann könnte ich ja per Assembler "hart" diese Bytes löschen.
:gruebel:
Forum: Datenbanken
Delphi
by Kurt56,
26. Sep 2007
Ja, genau das mit der Formatierung ist mein Problem.
Ich habe besagtes Array
var x : array of byte;
s : string;
X ist #30
X ist #75
X und x sind #0
Forum: Datenbanken
Delphi
by Kurt56,
26. Sep 2007
Vielen Dank für deine Mühe,
aber, das hast du leider völlig mißverstanden.
Der "Kollege" hatte vor vielen Jahren, in einer mir nicht bekannten Sprache, eine Datenbank mit BTrieve kreiert
und dabei ein Datenbankfeld "vergewaltigt".
SEIN Programm speichert in einem CHAR-Datenbankfeld mit 4 Byte eine ZAHL-GEPACKT.
Aber nicht mal so einfach, sondern
Forum: Datenbanken
Delphi
by Kurt56,
26. Sep 2007
Leider wird daraus dann nicht 30 75 00 00, sondern 97 30 30 30 hex ( 'ù000' )
s := adstableAnzahl.AsString; // Feld auslesen ______________ Datenbankfeld Integer 30000 => s: ergibt s:= '30000'
StrLCopy(x.bytes, Pchar(s), 4); // auf "x" kopieren__________ x wird zu ==> '3' '0' '0' '0'
// x wird verändert
x.LongValue := x.LongValue + 100;_____________________________...
Forum: Datenbanken
Delphi
by Kurt56,
26. Sep 2007
Ich habe eine Fremdanwendung, auf die ich zugreifen muß.
Es ist eine Datenbank (BTrieve), die ich auch bearbeiten kann.
Soweit so gut. Aber der Kollege von einst hat ein Datenbankfeld definiert
Character, 4 Byte lang
in das er aber eine 4-Byte-Integerzahl BINÄR "hart" überschreibt.
Dort steht dann 00 00 00 00 für Null, oder 30 75 00 00 für 30000
WENN ich nun