Создание Эльфов : Эльфостроение : Форум |
Страница 143 из 211: « 1 ... 139 140 141 142 [143] 144 145 146 147 ... 211 » |
Rc: |
04.08.10, 12:14 |
lexa4311 писал: а как из char получить int? Код: char* str; int i,x,q; i=strlen(str)-1; while ((i) >= 0 ) { x+=(str[i]-0x30)*q; q=q*10; i--; } Только для целых чисел, для дробных немного по другому будет. В этом коде из ASCII кода символа вычитается 0x30. По таблице с 0x30 по 0x39 идут цифры 0-9, значит при вычитании получим нужную цифру. |
lexa4311: |
04.08.10, 13:12 |
Rc, спс, думал, так и придётся, раз функи нету |
Pavlus: |
04.08.10, 13:31 |
Rc, наоборот так-же? |
arban: |
04.08.10, 13:47 |
char весит 1 байт, int - 4. Разница только в этом. Для даты и времени не нужны огромные значения, поэтому используется char |
CTFMoN: |
04.08.10, 14:21 |
Подскажите, пожалуйста, как сделать полный перехват нажатия клавиши на ГЭ. Вот код: Код: int onKeyPress(int key, int r1 , int mode) { if(isKeylocked()==0) //проверка на блокировку клавы { if(key==19) // код клавиши "0" { if (mode==KBD_SHORT_PRESS) { MessageBox(EMPTY_SID,int2strID(sizeof(wtmp)), NOIMAGE, 1, 5000,0); } return(-1);// блокировка стандартного обработчика клавиш. } } return(0); } int main() { ModifyKeyHook(onKeyPress,1); return 0; } При нажатии на "0" MessageBox появляется, но стандартный обработчик клавиш не блокируется (начинаеться ввод номера). Подскажите, что я делаю не так. Зарание спасибо. |
Rc: |
04.08.10, 16:32 |
CTFMoN, для некоторых клавиш такой способ отключения не работает |
Pavlus: |
04.08.10, 18:07 |
А как понять, что юзер сейчас видит режим ожидания? |
DuMOHsmol: |
04.08.10, 18:22 |
Pavlus писал: А как понять, что юзер сейчас видит режим ожидания? Код: if (Display_GetTopBook(0) == Find_StandbyBook()) { ... } |
CTFMoN: |
04.08.10, 23:14 |
Я использую код из WIKI для получения имени контакта из телефонной книги, но функция AB_READSTRING возвращает 0 (что говорит об ошибке). Подскажите, пожалуйста, что я делаю не так. Код: AB_STR_ITEM * st = new AB_STR_ITEM; AB_GET_STRUCT abs; int i = 0; short* abd = (short*)get_AB_ITEMS_DESC(); while(i!=AB_ITEM_FPI) { if ( abd[ AB_ITEM_DESC_NUM_DISPLACE/sizeof(short) ] == AB_ITEM_FIELD_NAME ) break; abd += AB_ITEM_DESC_SIZE/sizeof(short); i++; } abs.unk_02 = 2; abs.rec_num = 1; int num = GetABRecNum(&abs); int ret=AB_READSTRING( st, num, abd[ AB_ITEM_DESC_ID_DISPLACE/sizeof(short) ] ); int name = AB_NAME_ITEM2StrID(st); MessageBox(EMPTY_SID,int2strID(ret), NOIMAGE, 1, 5000,0); |
yr4ik: |
05.08.10, 23:04 |
lexa4311, При проигровании книга создается. |
Страница 143 из 211: « 1 ... 139 140 141 142 [143] 144 145 146 147 ... 211 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1420 © 2005-2018 supertrubka.org |