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

Страница 160 из 211: « 1 ... 156 157 158 159 [160] 161 162 163 164 ... 211 »

 den_po:
13.01.11, 07:58
 albertnet3, FindBookEx удобнее http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=4454&post_id=150311#150311

 Skorp1992:
21.01.11, 02:36
 Подскажите пожалуйста какой тип брать, при получении номера из поля ввода:
Код: 

void OnOkInputBlack(BOOK* bk, ITEM* num, int len)
{  
  List_Insert(myBook->bllist, myBook->blackcnt, num);
  myBook->blackcnt++;
  ListMenu_DestroyItems(myBook->black);
  ListMenu_SetItemCount(myBook->black, myBook->blackcnt);
  ListMenu_SetCursorToItem(myBook->black, myBook->blackcnt);
  if(myBook->add)
  {
    GUIObject_Destroy(myBook->add);
    myBook->add = 0;
  }
}

void AddBlack(BOOK *bk, GUI *)
{
  myBook->add = CreateStringInputVA(0,
                    VAR_BOOK((BOOK*)myBook),
                    VAR_STRINP_MODE(3),
                    VAR_STRINP_FIXED_TEXT(STR("Введите номер:")),
                    VAR_STRINP_NEW_LINE(1),
                    VAR_STRINP_MAX_LEN(32),
            VAR_STRINP_MIN_LEN(0),
                    VAR_STRINP_OK_ON_DIEZ(0),
                    VAR_PREV_ACTION_PROC(OnBackInputBlack),
                    VAR_OK_PROC(OnOkInputBlack),
                    0);
}


[ Редактировано Skorp1992 в 21.1.11 01:36 ]

 IronMaster:
21.01.11, 08:15
 Skorp1992,
сорсы бы внимательно смотрел которые используешь для примеров. Или хотя бы несколько сорсов посмотрел, которые используют нужную функцию.
Из букмена:
Код:
void onAccept_SI( BOOK* book, wchar_t* string, int len )


 Skorp1992:
21.01.11, 22:32
 я опять с проблемой: когда добавляю в список первый элемент, то он отображается нормально. Но если добавить еще один элемент, то все предыдущие становятся кракозяблами.
Код: 
int onLBMessage( GUI_MESSAGE* msg )
{
  int item;
  switch(GUIonMessage_GetMsg(msg))
  {
    case 1:
      item = GUIonMessage_GetCreatedItemIndex(msg);      
      GUIonMessage_SetMenuItemText(msg, Str2ID((wchar_t*) List_Get(myBook->bllist, item),0,SID_ANY_LEN));
      break;
  }
  
  return 1;
};

void OnOkInputBlack(BOOK* bk, wchar_t* num, int len)
{  
  List_InsertLast(myBook->bllist,(wchar_t*) num);
  ListMenu_DestroyItems(myBook->black);
  ListMenu_SetItemCount(myBook->black, myBook->bllist->FirstFree);
  ListMenu_SetCursorToItem(myBook->black, myBook->bllist->FirstFree);
  ListMenu_SetOnMessage(myBook->black, onLBMessage);
  DISP_DESC_SetOnKey(DispObject_GetDESC(GUIObject_GetDispObject(myBook->gui)), myOnKey1);
  if(myBook->add)
  {
    GUIObject_Destroy(myBook->add);
    myBook->add = 0;
  }
}

void AddBlack(BOOK *bk, GUI *)
{
  myBook->add = CreateStringInputVA(0,
                    VAR_BOOK((BOOK*)myBook),
                    VAR_STRINP_MODE(3),
                    VAR_STRINP_FIXED_TEXT(STR("Введите номер: ")),
                    VAR_STRINP_NEW_LINE(1),
            VAR_STRINP_MAX_LEN(32),
            VAR_STRINP_MIN_LEN(0),
                    VAR_STRINP_OK_ON_DIEZ(0),
                    VAR_PREV_ACTION_PROC(OnBackInputBlack),
                    VAR_OK_PROC(OnOkInputBlack),
                    0);
}


[ Редактировано Skorp1992 в 21.1.11 21:33 ]

 Joker XT:
22.01.11, 08:50
 а потому, что переменная num освобождается! нужно её себе копировать

wchar_t *ws = new wchar_t[len+1];
wstrcpy(ws,num);

а потом юзать уже свою

 Skorp1992:
23.01.11, 23:00
 Подскажите пожалуйста как получить имя контакта из телефонной книги?
Пример с WIKI не работает:
Код: 
AB_STR_ITEM * st = new AB_STR_ITEM;
AB_GET_STRUCT abs;
int i = 0;
 
AB_ITEM_DESC_2020 * abd = (AB_ITEM_DESC_2020*)get_AB_ITEMS_DESC();
 
//Ищем нужный ITEM_DESC
while(i!=AB_ITEM_FPI)
{
  if (abd->num==AB_ITEM_FIELD_NAME) break;
  abd++;
  i++;
}
 
abs.unk_02 = 2;
abs.rec_num = 1;
int num = GetABRecNum(&abs);
 
AB_READSTRING(st,num,abd->ID);
int name = AB_NAME_ITEM2StrID(st);


Если в функцию AB_READSTRING(st,num,abd->ID) вместо num подставлять число, то телефон уходит в ребут.

[ Редактировано Skorp1992 в 23.1.11 22:01 ]

 yr4ik:
24.01.11, 15:58
 Skorp1992,

Делал когда то эльф. Но толком не доделал а сейчас пока лень доделывать.
Вот функция для получения имени по мобильному телефону. Так же нужно сделать для домашних, факсов, рабочих и тд.
Код: 
int read_mobile_number (int k)
{
  AB_NUM_ITEM * st = new AB_NUM_ITEM;
  AB_GET_STRUCT abs;
  int i = 0;
  
  AB_ITEM_DESC_DB2020 * abd = (AB_ITEM_DESC_DB2020*)get_AB_ITEMS_DESC();
  
  //Ищем нужный ITEM_DESC
  while(i!=AB_ITEM_FPI)
  {
    if (abd->num==AB_ITEM_FIELD_N_MOBILE) break;
    abd++;
    i++;
  }
  abs.unk_02 = 2;
  abs.rec_num = k;
  int num = GetABRecNum(&abs);
  int read = AB_READPHONENBR(st,num,abd->ID);
  if(read==0) 
     return 0;
  else 
     return (AB_NUM_ITEM2StrID(st));
}


[ Редактировано yr4ik в 24.1.11 15:01 ]

 Skorp1992:
24.01.11, 17:55
 yr4ik, почему то у меня не работает( Вместо k подставлял разные числа, но функция возвращает всегда 0. Что ты передавал в функцию?

 Black_Roland:
30.01.11, 15:57
 Здравствуйте. Напишите пожалуйста простой примерчик записи текста в файл (с комментариями). Застрял сразу на fopen :( Из других исходников понял только, что первый параметр это путь к файлу, а второй имя файла. На wiki ничего нет и функция какая-то необычная. Заранее спасибо за помощь.

 yr4ik:
30.01.11, 16:58
 Black_Roland,
Смотри эльфы работающие с ini
Страница 160 из 211: « 1 ... 156 157 158 159 [160] 161 162 163 164 ... 211 »

URL этой темы:
https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=1590

© 2005-2018 supertrubka.org