Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Без описания
resident
Отправлено: 31 Августа, 2023 - 22:40:41
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




Как создать файл с параметрами?
В оригинале идёт как
#include "settings.txt";
auth_type="mgl"; //способ авторизации: mgl или email
check_tasks=1; // проверять задания
check_mag=1; // проверять магазин

но в собранный exe файл сразу скомпилировался.
Допустим читать файл построчно и разбирать что там написано, но как потом присвоить переменным значения? Например получу key="check_mag" val="1" и сделать что-то типа eval(key+"="+val);
 
 Top
Zireael
Отправлено: 01 Сентября, 2023 - 02:40:19
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4420
Дата рег-ции: Нояб. 2017  
Репутация: 584




Обычно используются файлы ini.
Запись:
CODE:
external (INT, "WriteINI", "WritePrivateProfileStringA", "kernel32.dll");

string Path = pathfolder()+"settings.ini";

string auth_type = "mgl";
int check_tasks = 0;
int check_mag = 1;

WriteINI("Settings", "auth_type", auth_type, Path);
WriteINI("Settings", "check_tasks", format(check_tasks), Path);
WriteINI("Settings", "check_mag", format(check_mag), Path);

start(Path);

Чтение:
CODE:
external (INT, "ReadINI", "GetPrivateProfileStringA", "kernel32.dll");

string Path = pathfolder()+"settings.ini";
char arr[256];

ReadINI("Settings", "auth_type", 0, address(#arr[0]), sizearray(arr), Path);
string auth_type = format(#arr[0]);

ReadINI("Settings", "check_tasks", 0, address(#arr[0]), sizearray(arr), Path);
int check_tasks = formatsn(format(#arr[0]));

ReadINI("Settings", "check_mag", 0, address(#arr[0]), sizearray(arr), Path);
int check_mag = formatsn(format(#arr[0]));

messagebox(auth_type);
messagebox(check_tasks);
messagebox(auth_type);
 
 Top
resident
Отправлено: 01 Сентября, 2023 - 14:18:21
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




Смысл тягать библиотеку, ничего она не даёт, проще регуляркой пройти и потом с условиями так же назначить значения переменным.
parserjson вот создаёт переменную из строки с нужными объектами, но формат не особо человекочитаем. Вот из ini сделать json и его распарсить вроде норм получается.
 
 Top
resident
Отправлено: 05 Сентября, 2023 - 00:30:26
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 72
Дата рег-ции: Янв. 2023  
Репутация: 0




CODE:
string resp;
string P;
string json;

if(fopen(path+"\settings.txt", "r")!=0) {
while(freadline(resp)) {
regexreplace(1, #P, resp, "([a-z_]+)+=(.+);.*","^"$1^":^"$2^"");
if(size(json)>0) json=json+",";
json=json+P;
}
fclose();
} else {
messagebox("Файл settings.txt не найден");
}
json="{"+json+"}";
parserjson(settings,json);
messagebox(settings.auth_type);


параметры без кавычек
auth_type=email; //способ авторизации: mgl или email
check_tasks=1; // проверять задания
check_mag=1; // проверять магазин
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by