//INI parser in C--, GPL licence. //Leency - 2012 #define COMMENT 0 #define SECTION 1 #define PARAM 2 #define OPTION 3 char NOTIFY_PATH[7]="@notify"; void GetIni(byte onload) { byte section[32]='', parametr[32]='', option[256]='', InfType=0; word bukva[1]; int errornum; dword buff, fsize, tj; //читаем файл buff = malloc(1048576); IF (onload==1) copystr(".ini", #program_path+strlen(#program_path)); ReadFile(0, 1048576, buff, #program_path); IF (EAX<>6) //если файла с настройками нет в папке с программой смотрим в папке по-умолчанию ReadFile(0, 1048576, buff, "/sys/File managers/Eolite.ini"); IF (EAX<>6) //если файла с настройками тупо нет печалька { IF (onload==1) RunProgram(#NOTIFY_PATH, "Eolite.ini not found. Defaults will be used."); IF (onload==0) goto RUN_AS_PROGRAM; } fsize=EBX; //парсим его for (tj=0; tj=0) Line_ReDraw(0xFF0000, curbtn); Pause(5); RunProgram(#NOTIFY_PATH, #error); //DrawBar(192,onTop(0, BUTTON_HEIGHT+7),onLeft(27,192),BUTTON_HEIGHT,0xFF0000); //WriteText(205,onTop(-5, BUTTON_HEIGHT+7),0x80,0xFFFFFF,#error,0); }