Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Binärwert in ByteField einfügen (https://www.delphipraxis.net/39734-binaerwert-bytefield-einfuegen.html)

TomDooley 7. Feb 2005 08:33


Binärwert in ByteField einfügen
 
Hallo

Ich habe in einem SQL-Server eine Tabelle zu befüllen, deren Felder vom Typ "binary" sind. In einem zugehörigen ADODataSet werden Binär-Felder als TBytesField dargestellt. Ich habe nun aus einer anderen Tabelle die "String-Form" dieses Binärfeldes (Wert wird so angezeigt, wenn Spalte osql ausgelesen wird). Meine Frage ist nun, wie ich meinen Wert in einen Binärwert bzw. TBytesField-Wert konvertieren kann....

Ich hätte eigentlich gedacht, dass ich wie folgt vorgehen kann:

Binär-Wert ausgelesen über osql: OxBE597560

Delphi-Quellcode:
bf : TBytesField;
bf.AsString := 'BE597560';
Leider bekomme ich dadurch aber einen anderen Wert. Was mache ich falsch? Kann mir jemand einen Tip geben?

Danke und Gruss

Tom

shmia 7. Feb 2005 10:34

Re: Binärwert in ByteField einfügen
 
Zitat:

Zitat von TomDooley
Ich habe in einem SQL-Server eine Tabelle zu befüllen, deren Felder vom Typ "binary" sind. In einem zugehörigen ADODataSet werden Binär-Felder als TBytesField dargestellt. Ich habe nun aus einer anderen Tabelle die "String-Form" dieses Binärfeldes (Wert wird so angezeigt, wenn Spalte osql ausgelesen wird). Meine Frage ist nun, wie ich meinen Wert in einen Binärwert bzw. TBytesField-Wert konvertieren kann....

Ich hätte eigentlich gedacht, dass ich wie folgt vorgehen kann:

Binär-Wert ausgelesen über osql: OxBE597560

Delphi-Quellcode:
bf : TBytesField;
bf.AsString := 'BE597560';
Leider bekomme ich dadurch aber einen anderen Wert. Was mache ich falsch? Kann mir jemand einen Tip geben?

Du musst die Daten schon binär im String reingeben:
Delphi-Quellcode:
bf : TBytesField;
bf.AsString := #$BE#$59#$75#$60; // als hartcodierte Konstanten
// oder auch
data := 'BE597560';
bf.AsString := HexStringToStr(data);
PS: in der Code-Library findet sich dazu eine komplette Lösung.

TomDooley 7. Feb 2005 13:04

Re: Binärwert in ByteField einfügen
 
:dancer:

Das ist aber haargenau das, was ich gesucht habe!

Besten Dank

:thumb:

TomDooley 9. Feb 2005 10:41

Re: Binärwert in ByteField einfügen
 
:drunken:

Das was hier stand hat sich erledigt... Sorry, mein Fehler!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 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