Хранение и извлечение файлов в Blockly Web

Я хочу использовать Blockly для выполнения некоторых вычислений, а затем генерировать текстовые файлы (в отличие от экспорта кода в JavaScript, Python, PHP и т. д.).

Я не вижу очевидного способа создать свои собственные блоки для этого в Blockly, поэтому с помощью AppInventor (версия: nb168) я заработал, храня и извлекая файлы в грубом тестовом приложении на своем планшете Android. В режиме AppInventor/Designer нажатие кнопки Storage/File создает «невидимый компонент для хранения и извлечения файлов. Используйте этот компонент для записи или чтения файлов на вашем устройстве». Затем в режиме AppInventor/Blocks щелчок по значку «Файл1» дает доступ к 7 «блокам типов файлов», например. AppendToFile, Delete, ReadFrom, SaveFile и т. д.

Можно ли создать аналогичные «блоки типов файлов» для использования в Blockly Web?

У меня ограниченные знания в области программирования, поэтому буду признателен за простые ответы, пожалуйста. Спасибо, Пит.


person CNC_Pete    schedule 03.06.2018    source источник


Ответы (1)


Эндрю Н. Маршалл из Google/Blockly сказал мне следующее:

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

... Я бы начал понимать, какие функции JavaScript вам доступны. Попытка создать строку и сохранить ее через диалог загрузки...

Это означает, что содержимое «файла» на самом деле просто строка в памяти, переменная JavaScript. У нас есть много блоков «Текст», которые могут выполнять различные операции со строками. Если этого достаточно, вам понадобится только один новый блок, чтобы идентифицировать строковую переменную и инициировать процесс загрузки.

В противном случае вам нужно подумать о том, какие блоки вам нужны и как они работают. Они могут работать с определенной переменной в виртуальной машине JavaScript, не обязательно отображаемой как переменная для Blockly.

В любом случае вам нужно научиться создавать блок и приложение Blockly. У нас есть лаборатория кода, которая проведет вас через все этапы. Вы узнаете, как каждый блок генерирует строку кода, и в вашем случае этот код будет связан с кодом загрузки, о котором я упоминал ранее».

Итак, я продолжу — я просто хотел убедиться, что моя цель действительно достижима, прежде чем начать. Спасибо, Пит.

person CNC_Pete    schedule 11.06.2018
comment
Я одобряю этот пост. - person Anm; 14.06.2018