VB6 Hex в строке - буквальное значение горе - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь сохранить буквенное значение ascii в шестнадцатеричном FFFF, которое в десятичном виде равно 65535 и равно ÿ при записи в VB6.Я хочу сохранить это значение в буфере, который определяется как:

Type HBuff
   txt As String * 16
End Type

Global WriteBuffer As HBuff

в унаследованном коде.

Я хочу сделать что-то вроде WriteBuffer.txt = Asc(hex$(-1)), но VB6 сохраняет его как 70 Мне нужно сохранить это значение, ÿ в строке, даже если оно не для печати. ​​

как я могу это сделать?

1 Ответ

0 голосов
/ 21 декабря 2011

Я не уверен, в чем ваша проблема.

Если вы хотите сохранить символ номер 255 в строке, то сделайте так:

WriteBuffer.txt = Chr$(255)

Имейте в виду, что результат зависит от текущей локали.
ChrW$(255) нет, но может привести к тому символу, который вам не нужен.

Для справки, используемый вами код возвращает код ASCII первого символа текстового шестнадцатеричного представления числа -1. Hex(-1) равно FFFF, когда -1 набрано как Integer (что по умолчанию), поэтому вы получите код ASCII с буквой F, который равен 70.

...