Chr(170) <> #170

1

Witam,
mam problem tego typu, że wysyłam zapytania do urządzenia na zasadzie COM.PutString( #170#85...)
Problem jest taki, że w jednym zapytaniu muszą podawać własne wartości zależne od tego co wpisze użytkownik i niestety funkcja Chr( a ) nie jest tym samym co #a. Czy znacie jakąś funckcję która zwróca takie same wyniki.

0

?

  if chr(170)=#170
    then showmessage('to to samo.');

no, chyba że Tobie chodzi o to ze w stringu ma byc to podane?:

s:='ala#32ma kota';
0

Powiem tak urządzenie odpowiada mi na zapytanie #170#85#07... natomiast zapytanie Chr(170) + #85#07... już nie. Wartość Ord obu i Chr(170) i #170 jest taka sama ale znaki reprezentowane poprzez showmessage są różne. Ogólnie nie mam pomysłu.

0

Ok, rozwiązałem problem. Jeżeli ktoś kiedykolwiek będzie miał taki problem to rozwiązaniem jest użycie funkcji AnsiChar. AnsiChar(170) = #170 i pod względem reprezentowanego znaku jak i wartości Ord.

pozdrawiam

0

A czy Kolega czasem nie kodzi w środowisku Unicode'owym (Delphi in [2009..XE2])? Jeśli tak, to należałoby zamiast Chr(170) dać AnsiChar(170), nieprawdaż?

1 użytkowników online, w tym zalogowanych: 0, gości: 1