Merhaba
bir cihazdan byte olarak veri geliyor mesela #1 diye
ben sadece 1 olarak almak istiyorum. verideki # si silem lazım.
bunu deneyince boş geliyor.
s.a.
cihazdan size gelen verinin "1" (yazıyla "Bir" ASCII olarak "49") olduğuna eminmisiniz?
cihazdan gelen veri ASCII olarak "1" e benziyor. bununda cihaz için özel bir anlamı var gibi.
cihazın kitapçıklarını (tabi eğer varsa) bir kontrol edin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
cihazdan veriyi lney com. ile okuyorum. oda bana string olarak bir değer döndürüyor. F7 ile progrmamı takip ediyorum. bakıyorum stringin içinde #2 var.
# işareti ascii kod tablosundaki numarasını veriyor.
#13 enter
#27 esc tuşlarının kodları.
cihazı kitapçığına bakmanızı öneriyorum. # ile başlayan rakamların özel anlamları vardır. ne anlama geldiğini ordan bulabilirsiniz.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Birazdaha açıklayım. burada sayı geldiği kesin. gelen sayıda 2. Bunu cihala birlikte verilen c # programından görebiliyorum. Onlar bu işi bitconvert in alt fonksiyonları ile çözmüş. Bende #32 den sonra gelen sayıları okuyabiliyorum. fakat # 32 den öncekileri okuyamıyprum. biraz anormal bir durum. Ascii kodları ile
Aynı veriden word, dobleword karekterle geliyor. Bunu ben önce hexedecima e çeviriyorum sonrada sayıya. dobleword gelince gelen verinin uzunluğu 8 karekter oluyor. word gelince 6 karekter oluyor. bu şekilde ayrımı yapabiliyorum. dubleword okumada sorun yok. wordler 6 karekter geliyor. ben 32 den küçük sayıları okyamıyorum.
var
b: byte;
s, ss: string;
begin
s := #2;
b := ord(s[0]); // convert to a byte value = 2
ss := inttostr (b); // convert binary to decimal string = '2'
...