[ darko_sudarov @ 17.03.2014. 21:42 ] @
Pozdrav svima,
Na koji nacin mogu da prevedem polje iz baze [binary](20) (vrednost u polju je npr 0x06D18F2E949EA381936F03B112D5BB2E43F710C9) u string u Embracadero C++?

[Ovu poruku je menjao darko_sudarov dana 18.03.2014. u 09:45 GMT+1]
[ Rapaic Rajko @ 18.03.2014. 10:08 ] @
Nisi dovoljno odredjen u pitanju: STA treba da predstavlja string?

Red velicine prikazanog broja je negde oko 2^(40*4); najveci integer koji sam dosad video . Dakle, string treba da prikaze - sta? Decimalni broj do zadnje (tacne) cifre, ili decimalni broj s eksponentom, ili nesto trece?

Pozz
[ darko_sudarov @ 18.03.2014. 14:36 ] @
Pozdrav,

Treba da rezultat upita DM->cdskod->FieldByName("kod_terminala")->As???? .... ne znam sta prevedem u string. tj ako u bazi pise 0x06D18F2E949EA381936F03B112D5BB2E43F710C9 rezultat treba da bude 06D18F2E949EA381936F03B112D5BB2E43F710C9.
[ Rapaic Rajko @ 18.03.2014. 18:22 ] @
Koji je tip field

Code:
DM->cdskod->FieldByName("kod_terminala")


odnosno, koja je vrednost property-ja .DataType tog field-a?

Pozz
[ darko_sudarov @ 19.03.2014. 06:36 ] @
DM->cdskod->FieldByName("kod_terminala")->AsBytes sam pokusao ali nisam siguran da je dobar tip. U bazi je tip [binary](20) i ne znam koji bi mu najvise odgovarao u c++.
[ Rapaic Rajko @ 19.03.2014. 10:32 ] @
Ne, nisi me razumeo.

Stavi breakpoint na liniju

Code:
DM->cdskod->FieldByName("kod_terminala")->AsBytes


i zatim u debug/watch prozoru otkucaj sledece

Code:
DM->cdskod->FieldByName("kod_terminala").DataType


i vidi sta pise u Value edit-u debug prozora.

Cilj je da saznamo koja je interna (CBuilder?) prezentacija field-a iz baze, prema tome cemo videti kako izvuci zeljeni string.

Pozz
[ Burgos @ 19.03.2014. 12:01 ] @
Pa, ako možeš da ga dohvatiš kao niz bajtova, zašto samo ne prođeš kroz svaki bajt i ne ispišeš njegovu vrednost u sa dva znaka u heksadecimalnom sistemu?
[ darko_sudarov @ 19.03.2014. 12:08 ] @
Napise 12 /* ftBytes */
[ Rapaic Rajko @ 19.03.2014. 12:43 ] @
Aha, to je znaci TBytesField, koji je izveden od TBinaryField.

Pogledaj po help-u CBuilder-a za navedene klase, ima primera, ne bi trebalo da bude problema kod konverzije u string. (cak postoji izveden/override property TBinaryField.AsString(), proveri kako radi)

Pozz
[ darko_sudarov @ 19.03.2014. 16:35 ] @
Pokusao sam ovako ali u drugom redu pukne u run time
Code:

TBinaryField *tb ;
tb->AsBytes = DM->cdskod->FieldByName("kod_terminala")->AsBytes;
cxTextEdit11->Text = tb->AsString ;

Imas neku ideju?
[ Rapaic Rajko @ 19.03.2014. 21:35 ] @
Mislim da tema treba da se prebaci u podforum "C/C++ za pocetnike".

Pozz
[ darko_sudarov @ 20.03.2014. 07:54 ] @
Nisi me razumeo.

Mislio sam na neku ideju kako da resim problem ili ako znas resenje napisi ga.
Post je pogledalo oko 500 ljudi i jedino ti i Burgos ste se ukljucili sto znaci da oko 498 ljudi ne zna odgovor a mozda im nekada zatreba kao sto sada treba meni.

Pozz
[ glorius @ 20.03.2014. 14:52 ] @
Citat:
darko_sudarov: Pokusao sam ovako ali u drugom redu pukne u run time
Code:

TBinaryField *tb ;
tb->AsBytes = DM->cdskod->FieldByName("kod_terminala")->AsBytes;
cxTextEdit11->Text = tb->AsString ;

Imas neku ideju?


Nisi inicijalizovao tb...