Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 2.02 Добавлены файловые операции (чтение запись в текстовый файл)

Страниц (14): В начало « ... 6 7 8 9 10 11 12 13 [14]
 

131. Kibor - 04 Марта, 2026 - 06:13:39 - перейти к сообщению
 Zireael пишет:
Kibor, если включить отладку и запустить скрипт:
CODE:
kiborlog(0, "debug: WindowsInit Start", 5, 5, 300, 250);
WindowsInit();
kiborlog(0, "debug: WindowsInit End", 5, 5, 300, 250);

function ContextSave()
{
string patch = "D:\2025-12-5-LW.txt";

int fileResult = fopen(patch, "w");
if (fileResult != 0)
{
fwrite("hhh");
fwrite(ENDL);
fclose();
}
}

function WindowsInit()
{
kiborlog(0, "WindowsInit", 5, 5, 300, 250);
}

В отладчике:
Цитата:
kiborlog ( 0 , " debug: WindowsInit Start " , 5 , 5 , 300 , 250 )
WindowsInit ( )
fwrite ( ENDL )
kiborlog ( 0 , " debug: WindowsInit End " , 5 , 5 , 300 , 250 )

Что там делает fwrite ( ENDL ) если функция ContextSave не вызывается?




Поправил. Обновил.
132. kompposter2014 - 09 Марта, 2026 - 03:29:53 - перейти к сообщению
В последнем обновлении, для меня перестало работать запись в файл

fopen(filetPath, "w" )
Вместо того чтобы перезаписывать это, каждый раз дописывает в конец файла

так как пишу JSON, то при последующем чтении parserjson(JsonContext, json);
кибор крашится и вылетает, без какой-либо ошибки на этой строчке в отладке

JSON задублирован несколько раз, вероятно из-за этого ошибка парсера JSON

Я не понимаю, в логах где я дописываю логи в конец это работает, если поменяю флаг, будет всегда одна строка в файле, если пробую перезаписывать JSON он дописывает. Вероятно я чтото не замечаю, пока не нашёл причину.
133. kompposter2014 - 09 Марта, 2026 - 06:11:48 - перейти к сообщению
Пример кода, который дописывает 3 раза

Уверен я что-то не правильно делаю, если кто-то видит подскажите пожалуйста

CODE:
SaveFileTest();
SaveFileTest();
SaveFileTest();

function SaveFileTest() {
string filetPath = "E:\test.json";
if (fopen(filetPath, "w") != 0) {
int i = 0;

string json;
json = json + "{^r^n ^"State^": {^r^n^r^n }^r^n";

fwrite(json);
fclose();
}
}

(Добавление)
Проблему нашёл

string json = "";

Не инициализирована, если инициализировать как пустая строка, то всё будет ок.
Не знаю моя это проблема или, но пусть будет на форуме, может пригодится кому Язычок
134. Zireael - 09 Марта, 2026 - 09:25:03 - перейти к сообщению
 Цитата:
"{^r^n ^"State^": {^r^n^r^n }^r^n";

Две открывающие скобки и одна закрывающая. В итоге некорректный json.
135. kompposter2014 - 09 Марта, 2026 - 09:36:26 - перейти к сообщению
 Zireael пишет:
 Цитата:
"{^r^n ^"State^": {^r^n^r^n }^r^n";

Две открывающие скобки и одна закрывающая. В итоге некорректный json.


Это просто обрезанная строка для сохранения, не влияет на баг, можно сохранять один символ, задублируется 3 раза

Powered by ExBB FM 1.0 Final