Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » проблема с сохранением файла настроек в собранном ехе

Страниц (1): [1]
 

1. Geoteh - 24 Декабря, 2023 - 01:51:41 - перейти к сообщению
столкнулся с таким что данный код
CODE:
char c[256];
int check2, check3, check4;
string edit0;
string combo0;

check2=getcontrol(CHECK_2);
check3=getcontrol(CHECK_3);
check4=getcontrol(CHECK_4);
edit0=getcontrol(EDIT_0);
combo0=getcontrol(COMBO_0);

if (fopen (format(#c[0])+"\configG.ini", "w")!=0)
{
fwrite(check2);fwrite (ENDL);
fwrite(check3);fwrite (ENDL);
fwrite(check4);fwrite (ENDL);
fwrite(edit0);fwrite (ENDL);
fwrite(combo0);fwrite (ENDL);
fclose();
}


/////////////////////////////////


INITDIALOG
{
external(INT, "GetEnvironmentVariable", "GetEnvironmentVariableA", "Kernel32.dll");
GetEnvironmentVariable("USERPROFILE", address(#c[0]), sizearray(c));

if (fopen (format(#c[0])+"\configG.ini", "r")!=0)
{
fread(check2);
fread(check3);
fread(check4);
freadline(edit0);
freadline(combo0);

fclose();

sendcontrol(CHECK_2, check2);
sendcontrol(CHECK_3, check3);
sendcontrol(CHECK_4, check4);
sendcontrol(EDIT_0, edit0);
sendcontrol(COMBO_0, combo0);

}
}


CREATE_INTERFACE
{
DIALOG "Название окна" 237 180 //РазмерX РазмерY
BUTTONSCRIPT "Запустить" 125 121 100 25 //ПозицияX ПозицияY РазмерX РазмерY
//Добавление контролов управления ......

EDIT_0 "Текст по умолчанию" 10 8 120 18 //ПозицияX ПозицияY РазмерX РазмерY
CHECK_2 0 /*Выключена*/ "Включить опцию 1" 10 30 105 18 //ПозицияX ПозицияY РазмерX РазмерY
CHECK_3 0 /*Выключена*/ "Включить опцию 2" 10 50 105 18 //ПозицияX ПозицияY РазмерX РазмерY
CHECK_4 0 /*Выключена*/ "Включить опцию 3" 10 70 105 18 //ПозицияX ПозицияY РазмерX РазмерY

COMBO_0 0 /*Начальный выбор*/ "Выбор строки 1" | "Выбор строки 2" | "Выбор строки 3" 10 90 212 200 //ПозицияX ПозицияY РазмерX РазмерY_выпадающий список

}


при запуске с киборга работает как нужно но когда я собираю его в ехе он перестает срабатывать, с кодом на проверку
CODE:
int result = fopen (format(#c[0])+"\configG.ini", "w");
messagebox(result); // если файл открылся, будет число больше 0
if (result != 0)

с киборга он возвращает fopen а с ехе вообще не чего не происходит

Забыл добавить что первый запуск он все заполнил но после того как я удалил этот файл настроек он перестал работать и больше не хочет на него реагировать дальше если я с киборга его запускаю и выставляю что нужно он его не понимает
2. Geoteh - 24 Декабря, 2023 - 04:42:09 - перейти к сообщению
Странно это все получается, этот код что выше работает а вот когда его использую с основной скриптом там он не хочет работать
3. Zireael - 24 Декабря, 2023 - 05:11:19 - перейти к сообщению
 Цитата:
а вот когда его использую с основной скриптом там он не хочет работать

А где в скрипте находится сохранение настроек?
Выводите messagebox в блоке где сохраняется файл. Если сообщения не будет, значит скрипт не доходит до того места где сохраняются настройки.
Или выкладывайте неработающий код.
4. Geoteh - 25 Декабря, 2023 - 02:47:37 - перейти к сообщению
 Zireael пишет:
выкладывайте неработающий код


файл виз. редактора
5. Zireael - 25 Декабря, 2023 - 02:59:12 - перейти к сообщению
Блок с кодом, к которому нет связей, не будет выполняться.
6. Geoteh - 25 Декабря, 2023 - 03:55:34 - перейти к сообщению
 Zireael пишет:
Блок с кодом, к которому нет связей, не будет выполняться.

не совсем понял это как ? там с блока кода к старту перейти нельзя и делал как по учебнику блок кода с CREATE_INTERFACE просто где ни будь и от блока старт остальное
(Добавление)
сейчас после блока старт сделал переход не в скрипт а в проверку такую
CODE:
int result = fopen (format(#c[0])+"\configG.ini", "w");
messagebox(result); // если файл открылся, будет число больше 0
if (result != 0)
и вот что отладчик показывает
7. Zireael - 25 Декабря, 2023 - 04:52:23 - перейти к сообщению
Это из блока кода, перенести в блок Start:
CODE:
check2=getcontrol(CHECK_2);
check3=getcontrol(CHECK_3);
check4=getcontrol(CHECK_4);
check5=getcontrol(CHECK_5);
check6=getcontrol(CHECK_6);
check7=getcontrol(CHECK_7);
check8=getcontrol(CHECK_8);
check9=getcontrol(CHECK_9);
check10=getcontrol(CHECK_10);
check11=getcontrol(CHECK_11);
check12=getcontrol(CHECK_12);
edit0=getcontrol(EDIT_0);
combo0=getcontrol(COMBO_0);
combo1=getcontrol(COMBO_1);

if (fopen (format(#c[0])+"\configGold.ini", "w")!=0)
{
fwrite(check2);fwrite (ENDL);
fwrite(check3);fwrite (ENDL);
fwrite(check4);fwrite (ENDL);
fwrite(check5);fwrite (ENDL);
fwrite(check6);fwrite (ENDL);
fwrite(check7);fwrite (ENDL);
fwrite(check8);fwrite (ENDL);
fwrite(check9);fwrite (ENDL);
fwrite(check10);fwrite (ENDL);
fwrite(check11);fwrite (ENDL);
fwrite(check12);fwrite (ENDL);
fwrite(edit0);fwrite (ENDL);
fwrite(combo0);fwrite (ENDL);
fwrite(combo1);fwrite (ENDL);
fclose();
}
8. Geoteh - 25 Декабря, 2023 - 05:04:28 - перейти к сообщению
теперь все работает Радость спасибо большое Прыгаю до потолка Прыгаю до потолка

Powered by ExBB FM 1.0 Final