Создание Эльфов : Эльфостроение : Форум

Страница 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