Мария Максонова
Мария МаксоноваНа сайте 17 лет (заходил 17 лет 5 дней назад)
0
1
|
Рейтинг
1
|
Редактирование бюджета
29 Апреля 2008
По договоренности
Необходимо создать несложный редактор xml-файлов на delphi. Редактор необходим для структурированного хранения достаточно объемных данных. Узлы первого уровня документа должны быть представлены вкладками, их содержимое – деревом в левой части программы. При нажатии на узел дерева в правой части показывается его содержимое с возможностью редактирования. У каждого узла есть текстовое содержимое, заголовок (который отражается в дереве слева), а так же неопределенное количество дополнительных полей, которые создает пользователь (показываются под текстовым полем справа и должны иметь возможность свернуться). Количество и наименование полей задается для всех узлов одной вкладки.
Текстовое содержимое обладает возможностью форматироваться – элементарное форматирование – выделение жирным, курсивом, подчеркивание. Другие свойства шрифтов и т. д. задаются при помощи подключаемого css файла. Узлы дерева слева могут иметь любой уровень вложенности (до 6), их можно менять местами и т. д. Если открывается узел-родитель, то в правом текстовом поле показывается содержимое всех его потомков в виде html-текста, а заголовки потомков становятся тегами h. Текст узла, у которого есть потомок, показывается перед текстами потомков. Лучше всего, если содержимое узлов-вкладок будет являться html-кодом, чтобы в главном узле дерева слева можно было просмотреть весь текст. В этом случае каждый узел луче всего обозначать тегом , чтобы была возможность при помощи css отформатировать его по своему усмотрению. Дополнительные должны иметь типы картинки (картинки копируются в папку рядом с xml-файлом и показываются в правой части экрана), текстовое поле (строка), текстовый блок, ссылка. Ссылка – выпадающий список – поле, при помощи которого можно соединить объекты xml-файла по их id. Ссылка ведет на редактирование другого объекта. При создании поля предлагается выбрать, к какой вкладке должен принадлежать выбираемый объект. В редакторе можно как открыть существующий xml-файл, так и создать новый. Так же можно распарсить по определенному параметру существующий текстовый файл (параметр задается пользователем, например, * * *). В этом случае создаются блоки, которые складываются в одну вкладку и не содержат название (либо название = первая строка). Так же необходим экспорт определенной вкладки или всего документа в html (если придерживаться моей задумки, это должно быть несложно) или txt. Неплохо бы сделать экспорт в rtf или doc. Так же необходимо внизу рабочей области программы сделать progressbar, показывающий количество символов с пробелами, но без тегов и доп. полей, в тексте вкладки. Максимальный объем указывается пользователем в свойствах вкладки, но объем текста может его привышать. Так же неплохо сделать автосохранение в xml или в txt по выбору пользователя, период – так же по выбору пользователя. Резервная копия создается в папке, где лежит программа. |