Zitat von
shmia:
Ich hab zwar jetzt nicht verstanden, weshalb im String s der Wert '3000' steht,
obwohl er eigentlich #$30#$75#$00#$00 sein müsste, aber egal.
Beim Schreiben wird anscheinend mit Blanks aufgefüllt, das ist dein Hauptproblem.
Dann versuch mal:
adstable.FieldByName('Anzahl').SetData(@s[1], True);
So kann man die Daten direkt setzen, ohne dass die interne Methode DataConvert() aufgerufen wird.
Ja, genau das mit der Formatierung ist mein Problem.
Ich habe besagtes Array
var x : array[1..4] of byte;
s : string;
X[1] ist #30
X[2] ist #75
X[3] und x[4] sind #0
Wenn ich
Delphi-Quellcode:
s:=char(x[1])+char(x[2])+char(x[3])+char(x[4]);
adstable1.FieldByName('Anzahl').SetData(@s, True);
mache, dann habe ich immer noch nur eine length(adstable1anzahl.value) von 2 (nicht von 4) und es ist immer noch mit BLANK aufgefüllt.
Kannst du mir sagen, was ich falsch mache ?