powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / 2-х значное в unsigned char
33 сообщений из 33, показаны все 2 страниц
2-х значное в unsigned char
    #33953657
Требуется реализовать возможность записи любого десятиричного числа в переменную типа unsigned char. Подскажите как? Числа могут динамически изменяться(т.е. число не постоянное). Наверно придется использовать BCD. )))
Только как?
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33953750
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
unsigned char c;
int a, b;

a =  3 ;
b =  6 ;

c = (a <<  4 ) | b;
printf("%x\n", c);

a = c >>  4 ;
b = c & 0xf;
printf("a=%d b=%d\n", a, b);
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33954905
White Owl
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
unsigned char c;
int a, b;

a =  3 ;
b =  6 ;

c = (a <<  4 ) | b;
printf("%x\n", c);

a = c >>  4 ;
b = c & 0xf;
printf("a=%d b=%d\n", a, b);


Это перевод в BCD?
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955077
Извиняюсь за глупый вопрос, но что-то я не догоняю.
Как число 52 передать в переменную типа Unsigned char простым бинарным числом
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955114
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек Пч> Как число 52 передать в переменную типа Unsigned char
Пч> простым бинарным числом
unsigned char c = 52;
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955133
Карабас Барабас Полный чайничек Пч> Как число 52 передать в переменную типа Unsigned char
Пч> простым бинарным числом
unsigned char c = 52;
Posted via ActualForum NNTP Server 1.3
А разве Char не один байт вмещает?
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955149
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничекА разве Char не один байт вмещает?один конечно
и что ? сколько байт займут твои 52 ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955175
Есть функция, вызываемая из dll
Код: plaintext
extern "C" int __declspec(dllexport) __stdcall ReadBlock(unsigned char* Data, TUID &UID, unsigned char Block, unsigned char KSet);

Необходимо в memo вывести результат "Data" - 16 байт,
но у меня выводит не то что надо.

Делаю вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
TUID UID;
unsigned char* Data;
unsigned char Block =  52 ;
unsigned char KSet =  1 ;
GetUID(&UID);//Здесь всё нормально

Data = new char[ 16 ];
Edit->Text = IntToStr(ReadBlock(Data, UID, Block, KSet));

Подскажите, в чём ошибка.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955193
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек
х его з, в чём у тебя ошибка

что делает ReadBlock ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955206
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берешь по байту из даты, конвертишь его в число и добавляешь в мемо. При помощи sprintf можешь конвертить в любой вид - десятиричный, шестнадцатиричный...
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955230
Карабас Барабас Полный чайничек
х его з, в чём у тебя ошибка

что делает ReadBlock ?
Posted via ActualForum NNTP Server 1.3
Читает данные из USB устройства. А так вообще есть ошибки на "правильность употребления переменных", так грубо скажем .
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955242
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек
а вызываешь функцию правильно ? в смысле объявил её правильно ? Точно __stdcall ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955262
Карабас Барабас Полный чайничек
а вызываешь функцию правильно ? в смысле объявил её правильно ? Точно __stdcall ?
Posted via ActualForum NNTP Server 1.3
Не совсем понял вопроса. У меня была dll и файл-описание основных функций и структур данных (***.h). Я сделал этому файлу include и сразу написал то, что изложил выше.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955268
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек Пч> Не совсем понял вопроса. У меня была dll и файл-описание
Пч> основных функций и структур данных (***.h). Я сделал
Пч> этому файлу include и сразу написал то, что изложил выше
и всё же раз таинственная ошибка происходит, значит: а. функция кривая, б. ты что-то делаешь не так
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955273
Карабас Барабас Полный чайничек Пч> Не совсем понял вопроса. У меня была dll и файл-описание
Пч> основных функций и структур данных (***.h). Я сделал
Пч> этому файлу include и сразу написал то, что изложил выше
и всё же раз таинственная ошибка происходит, значит: а. функция кривая, б. ты что-то делаешь не так
Posted via ActualForum NNTP Server 1.3
Ошибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955293
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек Пч> Ошибка не таинственная. Функция в случае удачи должна
Пч> возвратить 0 , a выдает -1
Ну я и говорю - таинственная. Что означает -1 ?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955329
Карабас Барабас Полный чайничек Пч> Ошибка не таинственная. Функция в случае удачи должна
Пч> возвратить 0 , a выдает -1
Ну я и говорю - таинственная. Что означает -1 ?
Posted via ActualForum NNTP Server 1.3
Этого я и сам не знаю)) Спасибо за помощь
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955402
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955533
Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955553
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.

Отсюда вывод? Правильно - определить какие параметры не вызовут ошибку и проверить, что они действительно передаются.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955594
Akh Полный чайничек Akh Полный чайничекОшибка не таинственная. Функция в случае удачи должна возвратить 0 , a выдает -1

Ошибка параметров или ошибка состояния.
Если бы я был уверен, что это ошибка состояния, я бы топик не завел.

Отсюда вывод? Правильно - определить какие параметры не вызовут ошибку и проверить, что они действительно передаются.
Как определить. Разработчик сказал, что в Block передается число в бинарной форме (от 0 до 60) , а в KSet в той же форме или 0 или 5.А как узнать, что они действительно передаются. Библиотеку разрабатывал не я.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955608
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955649
Карабас Барабас Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Posted via ActualForum NNTP Server 1.3
Да я с ним уже связался. Примеров у него пока точно нет.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955667
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек Карабас Барабас Полный чайничекРазработчик сказал
Дак если есть связь с разработчиком - покажи ему код и спроси, что не так. Или стребуй с него примеры работы с библиотекой.
Да я с ним уже связался. Примеров у него пока точно нет.

Тогда, возможно, ошибка в процедуре.
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955817
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может в этом проблема:

1.
Полный чайничекКак определить. Разработчик сказал, что в Block передается число в бинарной форме (от 0 до 60) , а в KSet в той же форме или 0 или 5 .А как узнать, что они действительно передаются. Библиотеку разрабатывал не я.
А ты передаёшь:
unsigned char KSet = 1;

2.
extern "C" int __declspec(dllexport) __stdcall ReadBlock(unsigned char* Data, TUID &UID , unsigned char Block, unsigned char KSet);

А у тебя:
TUID UID;
....
Edit->Text = IntToStr(ReadBlock(Data, UID , Block, KSet));
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33955830
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K.ReadBlock(unsigned char* Data, TUID &UID,

DK> А у тебя:
DK> TUID UID;
DK> ....
DK> Edit->Text = IntToStr(ReadBlock(Data, UID, Block, KSet));дак вроде верно всё, ссылка и передаётся
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956037
А ещё такой вопрос
У меня на форме 16 компонент TEdit с именами от edtByte0 до edtByte15.
Результатом выполнения следующего кода я думал будет заполнение всех Edit нулями,а у меня произошло заполнение только первых двух и ещё одного в середине и то не нулями. В чем суть?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
for (int i =  0 ;i <  16 ; i++ ){
   Data[i] =  0 ;
}

for (int i =  0 ;i < 16 ;i++){
   TEdit *edtByte = dynamic_cast<TEdit*>(frmMain->FindComponent("edtByte" + IntToHex(i,  1 )));
   edtByte->Text =Data[i];
}
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956044
Полный чайничекА ещё такой вопрос
У меня на форме 16 компонент TEdit с именами от edtByte0 до edtByte15.
Результатом выполнения следующего кода я думал будет заполнение всех Edit нулями,а у меня произошло заполнение только первых двух и ещё одного в середине и то не нулями. В чем суть?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
for (int i =  0 ;i <  16 ; i++ ){
   Data[i] =  0 ;
}

for (int i =  0 ;i < 16 ;i++){
   TEdit *edtByte = dynamic_cast<TEdit*>(frmMain->FindComponent("edtByte" + IntToHex(i,  1 )));
   edtByte->Text =Data[i];
}


Код: plaintext
IntToHex(i,  1 )
заменил на
Код: plaintext
IntToStr(i)
,
разницы нет
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956085
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Dmitrii K.ReadBlock(unsigned char* Data, TUID &UID,

DK> А у тебя:
DK> TUID UID;
DK> ....
DK> Edit->Text = IntToStr(ReadBlock(Data, UID, Block, KSet));дак вроде верно всё, ссылка и передаётся
Posted via ActualForum NNTP Server 1.3
Да, верно, эт я уже сылки подзабыл (
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956120
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничекА ещё такой вопрос


Код симовла 0 - не 0, а 0x30.
Передавать надо стоку, последний символ должен быть нулем.
Не теряй указатели не едиты, потом пригодятся
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956546
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный чайничек
Пч> for (int i = 0;i <16;i++){
Пч> TEdit *edtByte =
Пч> dynamic_cast<TEdit*>(frmMain->FindComponent("edtByte" +
Пч> IntToHex(i, 1)));
Пч> edtByte->Text =Data ;
Пч> }

во-первых, ты не проверяешь результат динамиккаст, он можеи быть 0, вылетит по АВ.
во-вторых, я бы сделал так: поставил у нужных едитов Tag= скажем -1, потом в цикле по компонентам формы приводишь динамически каждый компонент к TEdit и если приведется, то смотришь на его таг и присваивай текст, если таг= -1
так ты всё сделаешь за один цикл, а у тебя получается вложенные циклы, потому что внутри FindComponent реализуется именно так.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33956551
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkhКод симовла 0 - не 0, а 0x30.
IntToStr(0) == "0"
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
2-х значное в unsigned char
    #33959173
Спасибо за помощь - во всём разобрались! Библиотеку не ту подсунули . Надо было на USB Device, а дали на COM
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / 2-х значное в unsigned char
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]