Показать сообщение отдельно
Старый 05.04.2013, 03:11
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 10  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от namespaces Посмотреть сообщение
Да я подумал лучше хранить в XML и разбить вопросы по категориям, чтобы при дальнейшем на загружать все вопросы пачками. Только при выборе категории загружать все его вопросы, и освобождать память после перехода на другой и т.д.
У Вас хотя бы 10 000 вопросов есть? Если нет, то при современном интернтете и объемах памяти даже не заморачивайтесь - грузите сразу и не выгружайте.
Однако если если есть картинки - можно сделать ссылки в xml - и грузить только при отображении вопроса, или блока вопросов.

Цитата:
Можно поподробнее, что вы имеете ввиду насчет Excel, и как будут потом импортироваться данные из Excel?
Это актуально только если ответственный за набор вопросов человек не хочет писать в xml. Иначе, спокойно получаем от него xml-ку и не создаём себе геморроя.

Если человек хочет Excel:

Самый тупой способ - это взять, экспортнуть таблицу с вопросами в coma-separated или tab-separated текст. Впринципе, разделённый табами текст и просто при вставке ячеек в блокнот получается.
Сохранить его в txt формате. А дальше читать прямо в as3 и парсить через split("\n")/split("\t")
Проблемы будут с переносами строк. С tab-separated-текстом я не знаю что делать - только заменять переносы на ^ в Excel.
Второй недостаток - надо копипастить или экспортировать вручную (выбирая в какое место сохранить txt-файл), а не просто нажать ctl-s и запустить генератор, кликнув по ярлыку батника в панели быстрого запуска или набрав комманду в постоянно висящей консоли.

Второй способ - генерация xml скриптом по содержимому ячеек, встроенным в Excel (VisualBasic)
Можно завернуть содержимое ячейки в <![CDATA[ ]]>, тогда переносы сохранятся.
Оооочень медленно. У нас справочник из 20 листов с от силы 100-ю записями на лист конвертился 10 минут(!)
Просто медленный доступ к ячейке.

Третий способ - конвертация с C# и библиотекой EPPlus.dll и ExcelLibrary.dll (ни через какие OLE и com'ы - иначе те же тормоза). Читает формат напрямую. Тот же справочник конвертился не за 10 минут а за 4 секунды. Поразбираться, конечно придётся, но это не сложнее, чем разобраться с VisualBasic.

Я не советую прямо всё бросать и писать генератор - лучшая работа та, которую не надо делать. Просто обрисовал расклад.