Einzelnen Beitrag anzeigen

Benutzerbild von Kurt56
Kurt56

Registriert seit: 6. Apr 2005
Ort: Wedemark
47 Beiträge
 
Delphi XE8 Professional
 
#7

Re: Stringfield in Datenbank; EIN Byte ÄNDERN

  Alt 26. Sep 2007, 16:59
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 ?
Kurt
  Mit Zitat antworten Zitat