Пятница, 22 Ноября 2024, 16:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сохранение в файл и ошибка.
DarkEliphantДата: Воскресенье, 15 Февраля 2015, 20:29 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет!
Возникла у меня такая проблемка при сохранении карты. Когда нажимаю на кнопку, выскакивает окно для сохранения файла, такое как во многих виндовских прогах, ввожу имя, нажимаю сохранить, вроде все в норме, сохраняется. Но если вместо сохранить я нажму отмена ,то все крашится с ошибкой Error opening file for writing.
Код в нажатии кнопки следующий:
Код
mname=get_save_filename("MapGameMaker|*.mgm",'NewMap')
smap = file_text_open_write(mname);
{действия которые записывают данные в файл}
file_text_close(smap);

По моему игра жалуется на то что когда я нажимаю отмену, файл для записи не открылся, а команды которые идут далее просто не могут сохранить в этот файл.
Так вот, как узнать что файл не открылся, или если я не правильно понял предложите свой вариант решения. Спасибо.

Добавлено (15 февраля 2015, 20:02)
---------------------------------------------
Как это часто бывает, после того как я задаю вопрос до меня сразу доходит как его решить biggrin

Код
mname=get_save_filename("MapGameMaker|*.mgm",'NewMap')  
if mname<>""{
smap = file_text_open_write(mname);  
{действия которые записывают данные в файл}  
file_text_close(smap)};

Добавлено (15 февраля 2015, 20:19)
---------------------------------------------
Хоте нет, теперь когда нажимаю отмена все в норме, а когда сохраняю File is not opened for reading. sad

Добавлено (15 февраля 2015, 20:29)
---------------------------------------------
А не, все норм, туплю, скобку не туда поставил biggrin

YellowAfterlifeДата: Среда, 25 Февраля 2015, 19:22 | Сообщение # 2
Сейчас нет на сайте
Стоит добавить - если в файл нельзя записать данные (например, он занят другим приложением), то file_text_open_write вернет -1.
Код можно структурировать как
Код
mname = get_save_filename("MapGameMaker|*.mgm",'NewMap')
if (mname <> "") {
     smap = file_text_open_write(mname);
     if (smap >= 0) {
         // запись в файл
         file_text_close(smap);
     }
}


  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг