Как сохранить данные из текстового поля в файл на iOS и Android из LiveCode?

У меня есть различные текстовые поля в стеке LiveCode, которые я пытаюсь сохранить на своем мобильном устройстве. Я пробовал разные методы, но пока ни один из них не работает. Основной скрипт, который я использую, пытаясь использовать с кнопки:

on mouseUp
  put field "name" into ("file:"&specialFolderPath("engine")&"/name.txt")
end mouseUp

Кажется, это не работает, как будто я пытаюсь отладить купол с помощью -

 on mouseUp
  answer there is a file ("file:"&specialFolderPath("engine")&"/name.txt")
 end mouseUp

Он всегда возвращает ложь. Не могли бы вы дать мне несколько указателей на то, что мне не хватает в моем приведенном выше сценарии. Спасибо.


person LiveCode Support    schedule 25.03.2014    source источник
comment
Не используйте двигатель. Вместо этого используйте документы.   -  person Mark    schedule 25.03.2014


Ответы (2)


Вы не можете писать в папку двигателя на мобильных устройствах. Вместо этого вы должны использовать папку документов:

on mouseUp
  put field "name" into URL ("file:" & specialFolderPath("documents") & "/name.txt")
end mouseUp

Вы также можете написать в specialFolderPath("cache"), если файл является временным и вам не нужна его резервная копия. iOS также предоставляет вам опцию specialFolderPath("temporary").

person Devin    schedule 25.03.2014

И Девин, и Марк правы. Папка движка недоступна для записи на мобильном телефоне, поэтому вам нужно будет выбрать альтернативное место для записи (например, «Документы»).

Однако изменение пути не решит эту проблему полностью, так как в сценарии отсутствует ключевое слово URL. Без этого файл не будет создан и будет возвращена ошибка компиляции.

Полный правильный рабочий скрипт будет выглядеть примерно так:

put field "name" into url ("file:" & specialFolderPath("documents") & "/name.txt")
person Neil Roger    schedule 28.03.2014
comment
Спасибо, что заметил мою ошибку, Нил. Исправленный пример в моем исходном ответе. - person Devin; 05.05.2014