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

Страница 82 из 211: « 1 ... 78 79 80 81 [82] 83 84 85 86 ... 211 »

 Joker XT:
14.03.09, 10:02
 typedef struct
{
int FullVolume;
int FreeVolume;
int SizeCluster;
int AllClusters;
int AllFreeClusters;
int unk5;
int unk6; //0
int unk7; //0
}VOLUMESIZE;


int *mem3 = new int[8];
int *mem2 = new int[8];
GetVolumeSize(_T("/tpa"),mem3);
FullVolume = mem3[0];
if(GetVolumeSize(_T("/usb"),mem2)>=0) FreeVolume = mem3[2]*(mem3[5]+mem2[5]);
else FreeVolume = mem3[1];
OccupiedVolume = FullVolume-FreeVolume;

 Deitro:
14.03.09, 20:17
 Какая-то ерунда у меня с bcfg-конфигами. При компиляции любого эльфа, использующего такие конфиги (для примера хотя бы BcfgExample) и последующем запуске эльфа на телефоне создается конфиг нулевой длины. Хотя эльфы, скомпилированные другими, создают нормальные конфиги.
Возможно, какие-то особые настройки IAR нужны для нормальной компиляции эльфов с bcfg?
В файле conf_loader.cpp после строчки
Код:
unsigned int len=(char *)__segment_end("CONFIG_C")-(char *)__segment_begin("CONFIG_C");

я пробовал MessageBox'ом выводить len. Как и ожидалось, len было равно 0. Может, дело в этом "CONFIG_C"?

 UltraShot:
14.03.09, 20:17
 Deitro, установи сегмент CONFIG в опциях config_data.c

 Deitro:
14.03.09, 20:33
 UltraShot, спасибо. Неплохо бы было это где-нибудь на видном месте написать. Хотя это видимо я один отстал от жизни, а все остальные это знают :-)

 MaPkiZzz:
14.03.09, 20:34
 Deitro, тоже самое, хотел привязать бкфг к своим эльфам, но в итоге получал эту ошибку
Было уже подумал, о кривоте рук)))

 SlaveMaster:
14.03.09, 23:01
 Имется код
Код: 

  int *card = new int[8];
  int *phone = new int[8];
  GetVolumeSize((char *)_T("/card"),(VOLUMESIZE *)card);
  GetVolumeSize((char *)_T("/tpa"),(VOLUMESIZE *)phone);
  long int p = card[1]*100 /card[0];         //в надежде получить 
  long int p2 = phone[1]*100/phone[0];    //процент свободного места
  MessageBox(0x6fFFFFFF,int2strID(p),0, 1 ,5000,0);
  MessageBox(0x6fFFFFFF,int2strID(p2),0, 1 ,5000,0);


На выходе одно сообщение содержит "3", второе "-3"(в реале на карте и телефоне свободно ~ по 20%). Что не так?

 Joker XT:
14.03.09, 23:32
 VOLUMESIZE *card = (VOLUMESIZE *)malloc(sizeof(VOLUMESIZE));
VOLUMESIZE *phone= (VOLUMESIZE *)malloc(sizeof(VOLUMESIZE));
GetVolumeSize((char *)_T("/card"),card);
GetVolumeSize((char *)_T("/tpa"),phone);
long int p = card->FreeVolume ; // свободное место в байтах

 SlaveMaster:
15.03.09, 10:31
 Да не, Жень, место в байтах он нормально отображает при вышеприведённом коде, меня интересовали только проценты, вот их как ни мучился плучить не могу.. :-(
Вот как определяется длина полосок в твоём эльфе IFMD? Тоже ведь через отношение занятого ко всему объему должно?

 arban:
15.03.09, 10:55
 SlaveMaster, свободное_место / (всего / 100). Пробуй так

 SlaveMaster:
15.03.09, 12:09
 arban, пасиба, отлично работает!
Страница 82 из 211: « 1 ... 78 79 80 81 [82] 83 84 85 86 ... 211 »

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

© 2005-2018 supertrubka.org