![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.04.2009
Сообщений: 23
|
![]()
Задача состоит в том чтобы составить программу на делфи, в котором с xml файла вытащит значения и выполнив над ними простые арифметические операции вывести результат в другом файле) С делфи только начал знакомится! Посоветуйте с чего начать и что вообще делать?
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Инструкция для Delphi 7.
Скачиваем простой XML парсер http://www.eonclash.com/ECXML_Parser/ECXML_Parser.zip Создаем каталог "ECXMLParser", там где находится Delphi (или любой другой, по вкусу). Распаковываем в этот каталог скачанный архив. Запускаем Delphi. Закрываем загруженный проект File->Close All. Вызываем команду Open (File->Open...). Из нашего каталога выуживаем файл ECXMLParserD70.dpk Нажимаем на кнопку Compile. После компиляции нажимаем кнопку Install. В палитре компонентов должна появиться закладка с надписью "EC Test", где находятся два компонента. Закрываем проект ECXMLParserD70. На запрос "записать/не записать" отвечаем: "ни за что". Создаем новый проект. На его форму кидаем TButton, TMemo и из новой закладки компонент TECXMLParser. У компонента TECXMLParser свойство Name меняем на XML (для того чтобы была совместимость с приведенным ниже кодом), хотя такое и не обязательно, тогда в процедуре надо будет поменять XML на свое имя. К событию OnClick кнопки привязываем процедуру, где пишем такой текст: Код:
Текст представляемый свойством XMLItem.Text - и есть требуемые значения. Это и будет первое упражнение по работе с файлами XML формата. Для первых экспериментов не советую брать штатый дельфийский XML разборщик - сложновато будет и глюкавый он, на самом деле. Дальше развивать проект автору предоставляется самостоятельно. Разжевывать программы до молекул в благородных собраниях не принято, хотя и не возбраняется и, если будут проблемы с проектом, тутошний народ с охотой пояснит все что требуется и совсем не обязательно по приведенной инструкции, путей разных - море. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 05.04.2009
Сообщений: 23
|
![]()
Уважаемый Скандерберг ! Все сделал по инструкции, но у меня ен вышел компонент с названием ЕС Test!!!и следовательно не могу продолжить дальше.... Может есть другие парсеры или способы посоветуйте пожалуйста) Очень надо!
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Дело тут, по всей видимости, в терминологии. Нет такого компонента "ES Test" - есть с таким названием закладка на палитре компонентов. Закладку с этим именем и надо искать в Delphi. Наверняка, если все сделано правильно, такая закладка есть, только ее поискать надо среди всех прочих.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 05.04.2009
Сообщений: 23
|
![]()
Скандерберг, я посмотрел как ни странно но не появилась закладка) Может у меня делфи глюченный? Вы сами не сталкивались с такой задачей насчет xml ? Ссылки посмотрел которые оставил Kotofff , пробовал с исходниками повозится ошибка на ошибке выходит! Если бы кто нибудь написал инструкцию полную я бы был очень признателен этому человеку и в долгу бы не остался)
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Наверняка, Delphi не глючный. Что-то не срослось. Если вы никогда не ставили в Delphi библиотеки сторонних разработчиков, то вполне возможно не знаете что и как делать. Прочтите внимательно "инструкцию" и попробуйте сделать так как в ней сказано (и больше никак). Это единственный путь регистрации компонентов в дельфи (если это библиотека компонентов, т.е. имеем файл с расширением dpk).
И еще, Delphi никакого отношения не имеет к XML. Есть компоненты, которые могут помочь, не более того. С xml сталкивались (а кто с этим не сталкивался), но это тоже ничего не меняет, т.к. необходимо (как минимум) внедрить в Delphi компоненты, которые могут помочь с разборкой файлов формата xml ---------- "Инструкция полная" к какому предмету? По программированию или регистрации компонентов? К последнему см. выше, к первому см. книги и поиск в инете. Но самый эффективный путь - это выложить здесь исходники своего проекта. Тогда другие могут понять чего не получается и дать рекомендации. Есть еще одна фишка (возможность). В Delphi палитра компонентов (components palette с закладками (вкладками) "Standard", "Additional", "Win32", ... и пр.) служит лишь для удобства программера, не более того. Из этого вытекает, что регистрация компонентов не обязательна и любой компонент (класс) можно объявить в своей программе как переменную. В программе (место зависит от задач) создается экземпляр компонента (класса) и дальнейшая работа с таким экземпляром ничем не отличается от работы с зарегистрированным компонентом. Т.е. вы можете не парится с регистрацией вышеназванного компонента в системе Delphi. В нашем, частном случае это может выглядеть так: Код:
Правда, чтобы это заработало необходимо Delphi рассказать где находится исходный текст с классом TECXMLParser, иначе компилятор растеряется и будет приставать с грязными предложениями типа: Undeclared identifier 'TECXMLParser'. Чтобы этого избежать надо: через главное меню Project->Options... вызвать диалог, где щелкнуть вкладку (закладку) Directories/Conditionals. Найти строчку с меткой 'Search path'. Щелкнуть кнопку с многоточием. В новом диалоге тоже нажать кнопку с многоточием. Из вновь появившегося диалога выбрать каталог, где находится исходник (в нашем случае ECXMLParser.pas). После выбора каталога нажать кнопку 'Add', потом OK и снова OK. И потом уже с сознанием выполненного долга компилировать свою программу. Последний раз редактировалось Скандербег; 08.09.2009 в 04:30. Причина: "Инструкция полная" |
![]() |
![]() |
![]() |
#8 | ||
Пользователь
Регистрация: 05.04.2009
Сообщений: 23
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Еще надо добавить в текст:
Код:
Последний раз редактировалось Скандербег; 09.09.2009 в 11:39. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 05.04.2009
Сообщений: 23
|
![]()
Ок) Это заработало) Открыл в Тmemo! а как сейчас оттуда вытаскивать числа? например после слова value? и как с ними делать операции? Например сложить 2 числа?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
XML (Delphi) | VadEr | Помощь студентам | 11 | 23.06.2009 23:32 |
xml в delphi | /Arven/ | Компоненты Delphi | 0 | 23.04.2008 22:47 |
SQl+DELPHI+XML | Рома | БД в Delphi | 5 | 17.08.2007 04:21 |
Xml и Delphi | KlErik | Общие вопросы Delphi | 2 | 14.05.2007 09:54 |