Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как записать в процесс число ?

Страниц (6): « 1 2 3 [4] 5 6 »
 

31. Kibor - 03 Марта, 2019 - 10:05:17 - перейти к сообщению
 konctantin777 пишет:
Но потом перестаёт записывать.

 Kibor пишет:
Проверьте или у вас массив маски не затирается где то чем то другим. Это может быть если где то идет запись в не выделенную память.

codhex заполняет 4 байта. А массив zz выделен на 2
Он затирает начало массива poisk

 Цитата:

char zz[2];


char poisk[32]={65 , 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // ee??


messagebox (poisk[0]);

//Тут будет затерт начало массива poisk, так как он объявлен сразу за массивом zz и то что не влезло в zz будет записано дальше. В массив poisk
codhex(8, #zz[0]);
codhex(222, #zz[1]);

messagebox (poisk[0]);
32. konctantin777 - 03 Марта, 2019 - 12:00:25 - перейти к сообщению
+ Подскажите как вставить переменные ? Не работает...
int dd=14;
char poisk[32]={dd , 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // êëþ÷
33. Zireael - 03 Марта, 2019 - 12:13:00 - перейти к сообщению
 Цитата:
как вставить переменные ?

CODE:
int dd=14;
char poisk[32]={formatic(dd), 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
messagebox(formatci(poisk[0]));
34. konctantin777 - 03 Марта, 2019 - 13:14:19 - перейти к сообщению
 Zireael пишет:
 Цитата:
как вставить переменные ?

CODE:
int dd=14;
char poisk[32]={formatic(dd), 0, 0, 0, 19, 0, 0, 0, 19, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
messagebox(formatci(poisk[0]));


Спасибо !
(Добавление)
codhex заполняет 4 байта. А массив zz выделен на 2
Он затирает начало массива poisk

Сделал char zz[4]; и поставил после poisk. Всё равно не пишет. И показывает то что стабильно находит адрес
35. Kibor - 03 Марта, 2019 - 13:27:58 - перейти к сообщению
 konctantin777 пишет:
Сделал char zz[4]; и поставил после poisk. Всё равно не пишет. И показывает то что стабильно находит адрес

Ага.
А что ожидалось когда
codhex(222, #zz[1]); принимает указатель не на начало массива , а на второй элемент? И считаться 4 байта будет не с начала а со второго индекса.
тут уж 5 байт выделяйте.
36. konctantin777 - 03 Марта, 2019 - 13:35:09 - перейти к сообщению
Попробовал и 5 сделать и 10- всё равно беда... Сделайте в виз редактор )))
37. Kibor - 03 Марта, 2019 - 14:07:20 - перейти к сообщению
 konctantin777 пишет:
всё равно беда

Что значит беда?
Я дал ответ на конкретную проблему в вашем именно случае и выложенном коде.
И я выложил код и прокомментировал где проблема и почему.
Запустите тот код как есть и затем укажите размерность массива 5.
Беда осталась?
Если беда в вашем где то коде, то причина в чем то еще у вас.
38. konctantin777 - 03 Марта, 2019 - 14:27:54 - перейти к сообщению
Сделал :
char zz[4];
char za[4];

textout(0,10,10, ""+format(count),0);
codhex(14, #zz[0]);
codhex(155, #za[0]);
pause(100);
writememory(#zz[0], 1, adr[0]+16, prc);
pause(100);
writememory(#za[0], 1, adr[0]+12, prc);

Показывает, что находит, но не записывает. Подскажите ошибку ?
39. Zireael - 03 Марта, 2019 - 14:28:57 - перейти к сообщению
 Цитата:
Показывает, что находит

Может адрес не тот.
40. Kibor - 03 Марта, 2019 - 14:44:49 - перейти к сообщению
 konctantin777 пишет:
Показывает, что находит, но не записывает

Что и где находит? И куда не записывает?
Вы в CE смотрели как меняется значение по адресу куда записывается?
messagebox (adr[0]+16);

Powered by ExBB FM 1.0 Final