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

Страница 209 из 211: « 1 ... 205 206 207 208 [209] 210 211 »

 albertnet3:
16.08.12, 02:55
 hi, anyone can help me with my problem
I written it for w705 r1ga031

Код: 
#define UI_SECRET_SEQ_DETECTED_EVENT 0x72DA

-Z(CODE)CONVINATION_COUNT_ACTION = 15A049B4

        RSEG CONVINATION_COUNT_ACTION
        DATA
        DCD CharacterConvination, 0x5, ExtraProtection

        RSEG    CODE
        CODE16
CharacterConvination: 
       DCD  0x0F, 0x0F, 0x22, 0x23, 0x0B //;<<*#>
    
        EXTERN    ExtraProtection

extern "C"
void ExtraProtection(BOOK* book, GUI* gui)
{
  int type;
  PDB_DATA* data = GetData();
  LoadData(data);
    if(data->FileData.Enabled6)
    {

      data->FileData.Enabled6 = 0;
      type = 1; //show message On /*type = 0 show other message*/
    }
    else
    {
      data->FileData.Enabled6 = 1;
       type = 2; //show message Off
    }
    data->FileData.Enabled6 = data->setting.PROTEC;
    SaveData();
    MessageSound(book, type);
    UI_Event(UI_SECRET_SEQ_DETECTED_EVENT);
}


with this code reboot my phone at moment to turn On!
I'm doing wrong for get the reboot result by this code?
I need written a file, for set in other place on/off

 E1kolyan:
16.08.12, 18:05
 Не так ли должно быть?

Код:
CharacterConvination: 
       DCB  0xF, 0, 0xF, 0, 0x22, 0, 0x23, 0, 0xB, 0, 0 //;<<*#>


 den_po:
16.08.12, 20:47
 чтобы разместить данные по нужному адресу, не обязательно ассемблер использовать.

#pragma location=0x12345678
const static char somearray[]={0,1,2,3};

либо

_Pragma("location=0x12345678") const static char somearray[]={0,1,2,3};

либо плохой вариант, хотя и рабочий

const static char somearray[] @ 0x12345678 ={0,1,2,3};

а чтобы данные линковались при отсутствии обращений, нужно добавлять ключевое слово __root:

_Pragma("location=0x12345678") __root const static char somearray[]={0,1,2,3};


и ещё. это "создание патчей", а не "создание эльфов" :-P


Добавлено 16.8.12 21:48

да, static - не обязательно. это я по привычке.


Добавлено 16.8.12 21:49

в общем, самый предпочтительный вариант:

_Pragma("location=0x12345678") __root const char somearray[]={0,1,2,3};

 awg:
16.08.12, 20:59
 Вот блин, когда я чему то хотел научится, мне тык на разжевывали! Пользуйтесь господа, пользуйтесь!

 albertnet3:
17.08.12, 04:41
 E1kolyan, den_po, ok, thanks for help me, other problem.
if I try this work:
Код: 
extern "C"

    void ExtraProtection(BOOK* book, GUI* gui)
{
  int type;
  PDB_DATA* data = GetData();
  //LoadData(data);
  data->FileData.Enabled = data->setting.PROTEC;
  
    if(data->FileData.Enabled)
    {

      data->FileData.Enabled = 0;
      type = 1; //show message On type = 0 show other message
    }
    else
    {
      data->FileData.Enabled = 1;
       type = 2; //show message Off
    }
    
    SaveData();
    MessageSound(0, type);
    UI_Event(UI_SECRET_SEQ_DETECTED_EVENT);
}

show Message On/Off but in this not set the state:
Код: 
extern "C"
__thumb void CreateProtection(DYNAMIC_MENU_ELEMENT* dme)
{
  switch (DynamicMenu_GetElementMsg(dme))
  {
  case MENU_onCall: Myparchebook(); break;
  case MENU_onText:
    DynamicMenu_SetElement_SecondLineText(dme, TextID_Create("On/Off Delete",ENC_LAT1,TEXTID_ANY_LEN));
    break;
  case MENU_onState:
    int state;
      PDB_DATA* data = GetData();
      LoadData(data);
          if(data->setting.PROTEC) state = 0; else state = 1;
    DynamicMenu_SetElement_UnavailableState(dme,state);
    DynamicMenu_SetElement_UnavailableText(dme, TextID_Text(ID_UNAVAILABLE));
    break;
  }


any idea for what this not setting the state?
Код: 

typedef struct _SETTING_DATA
{
  int PROTEC;
}SETTING_DATA;

typedef struct _FILE_DATA
{

  int Enabled;
}FILE_DATA;

typedef struct _PDB_DATA
{
  SETTING_DATA setting;
  FILE_DATA FileData;
}PDB_DATA;

void SaveData()
{
    PDB_DATA* data = GetData();
    data->setting.PROTEC = data->FileData.Enabled;
    int f = _fopen(FILE_PATH, FILE_NAME, FSX_O_WRONLY, FSX_S_IWRITE|FSX_S_IREAD, 0);
    if(f >= 0) fwrite(f, &data->setting, sizeof(SETTING_DATA));
    fclose(f);
}

void LoadData(PDB_DATA* data)
{
  int f = _fopen(FILE_PATH, FILE_NAME, FSX_O_RDONLY, FSX_S_IWRITE|FSX_S_IREAD, 0);
  if(f >= 0) fread(f, &data->setting, sizeof(SETTING_DATA));
  fclose(f);
}


Прикрепленный к сообщению файл:

scr21-24-16.png scr21-24-16.png (40.49 kb; 127 hits) Скачать файл
scr21-24-22.png scr21-24-22.png (39.80 kb; 130 hits) Скачать файл

 Metaler:
02.09.12, 23:28
 не пойму в чём причина: поставил родной шрифт, теперь все метки, что зашиты в эльф отображаются вроде этого - "тест утф8"
В прошлой версии было всё нормально. Сейчас компилю старую версию - один фиг крякозябры.
Использую так Код:
GuiObject_SetTitleText(mbk->main_gui, TextID_Create( L"BB-коды", ENC_UCS2, TEXTID_ANY_LEN ));


 Vov4ик:
02.09.12, 23:47
 Metaler, мультибайт суппорт стоит галочка?

 den_po:
02.09.12, 23:48
 Metaler, писал:
тест утф8

невооружённым глазом виден утф8. когда иар научился понимать утф8? исходник должен быть в анси

 Metaler:
02.09.12, 23:56
 den_po, эта строка вообще не от туда, только для примера. Исходники в ansi

 den_po:
03.09.12, 00:03
 Metaler, то есть "у меня такая проблема, но не такая"?
если у тебя с родным шрифтом буквы перестали нормально отображаться, значит у тебя эльф без юникода.

до сих пор [цензура] шрифты для "исправления кириллицы" используют
Страница 209 из 211: « 1 ... 205 206 207 208 [209] 210 211 »

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

© 2005-2018 supertrubka.org