[ Shon3i @ 10.12.2014. 13:39 ] @
Radim neku komunikaciju za neki fiskalni stampac, i iskreno nesto sam odlutao u pogresnom smeru..

odradio sam veci deo koda tj komunikaciju sa stampacem, znaci slanje spakovane poruke prijem poruke i komplet komunikaciju asinhrono preko com api-a, ali mi poruke koje saljem stampacu zadale veliki udarac, jednostavno ne vidim gde gresim, odnosno ne mogu da izadjem na rezim zakljucivanja.

Naime u test primeru protokola koji su dali za stampac postoje primeri, ali ja nikako da dodjem do slicnosti, i stalo me buni hi word, lo word.

Ali evo i konkretnog primera dela jedne poruke:

Kad se salje poruka za programiranje artikala, barkod mora biti duzine 8 bajtova i iz primera barkod 860124569 je prikazan kao 99 75 44 33 00 00 00 00
kako presuti iz supljeg u prazno :)

Kako nesto smestiti u 8 bajtova, i kako u opste definisati duzinu?

Molim Vas da me prosvetlite

Puno zahvalan

Nenad

[ vujkev @ 10.12.2014. 13:44 ] @
860124569 u decimalnom sistemu je 33 44 75 99 u heksadecimalnom. Pošto
HEX niz mora imati 8 bajtova i hiWord prvi u nizu okreneš taj HEX
broj, dodaš nule i dobiješ 99 75 44 33 00 00 00 00

Poz.
[ Shon3i @ 11.12.2014. 14:20 ] @
Hvala puno, znao sam da je tako neka prosta stvar ali ne baratam svaki dan sa tim pa mi je nepoznanica.

Inace ima tu i drugih paramtera recimo cena mora biti smestena u 4 bajta, onda neki drugi parametar u 2 bajta, pa mi i dalje ne ide u glavu to ogranicavanje, kako da na pravilan nacin postupim

Hvala
[ Shon3i @ 12.12.2014. 14:24 ] @
Obzirom da je VB6 jako skatljiv, prosto ne mogu opet da izadjem na rezim pa molim za pomoc.

Naime da bi fiskalni pustio periodicni izvestaj (izvestaj od datuma do datuma) potrebno je poslati datum u formi milisekunde od 1.1.2000. Kako sam ja uzeo primer 09/12/2014
izracunao da je to 471438000000 inace vrednost koja ne moze da se smesti u long. koriscenjem njihovog softwera i hvatanjem com porta dobio sam da oni stampacu pustaju sledece bitove:

02 11 5A 80 FF E4 C3 6D 00 00 00 80 FF E4 C3 6D 00 00 00 07 91 ..Z€ÿäÃm...€ÿäÃm....‘

gde je 80 FF E4 C3 6D kad se izvrne jeste decimalno 471438000000 ne uzimajuci u obzir ostale brojeve jer su tu i komanda i CRC i LEN...

Ali ja napro sto ne znam kojim funkcijama da 471438000000 pretvorim u bajtove koji ce kad se string €ÿäÃm posalje bude bas to..


Hvala