On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 134
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 25.03.11 13:34. Заголовок: Экспорт данных в XML


Предыдущая прога уже готова и отлично работает. Но шефу надо выводить данные в универсальный формат обмена данными XML, причём с несколькими уровнями иерархии. Как заставить Harbour работать с форматом XML? Моя среда: BCC55+harbour+MiniGUI Extended

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 22 , стр: 1 2 All [только новые]


Администратор




Пост N: 1860
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.03.11 13:53. Заголовок: Я использую класс из..


Я использую класс из hwgui
Этот же класс есть в поставке minigui: source\hbxml

В harbour есть библиотечка contrib\hbmxml
В xHarbour есть класс TXmlDocument, он же есть и в Harbour

Выбирай - не хочу

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 135
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 25.03.11 14:08. Заголовок: Спасибо большое! Но..


Спасибо большое!

Но где бы документацию взять?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 1861
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 25.03.11 14:23. Заголовок: Документации как так..


Документации как таковой по этим классам нет
Но классы несложные, примеры их использования имеются, и этого вполне достаточно для их освоения

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 144
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 27.03.11 11:46. Заголовок: Я использую уже давн..


Я использую уже давно - посмотрите фрагмент моего кода, может поможет
"...
oXmlDoc := TXmlDocument():New('<?xml version="1.0" encoding="windows-1251" ?>')

oXmlRoot := TXmlNode():new(0,"DECLAR",{ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", ;
"xsi:noNamespaceSchemaLocation" => aTBL[nT]+".xsd" }

oXmlDoc:oRoot:addBelow( oXmlRoot )

oXmlHead := TXmlNode():new(0, "DECLARHEAD" )
oXmlRoot:addBelow( oXmlHead )
oXmlHead:addBelow( TXmlNode():new(0, "VER",,"1.1") )
..."

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1722
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.11 16:56. Заголовок: krutoff пишет: посм..


krutoff пишет:

 цитата:
посмотрите фрагмент моего кода, может поможет



Ничего не понятно. Дайте хоть первоначальную информацию....
Зачем как и почему. А лучше тестовый пример маленький, выгрузка базы например.
Заранее спасибо !

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 9
Зарегистрирован: 08.02.11
ссылка на сообщение  Отправлено: 29.03.11 01:52. Заголовок: я в былые времена на..


я в былые времена начала XML делал файлы для налоговой как обычный текстовый файл с последовательным созданием тэгов

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2063
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 29.03.11 06:43. Заголовок: Andrey пишет: Дайте..


Andrey пишет:

 цитата:
Дайте хоть первоначальную информацию....


http://www.rsdn.ru/article/xml/xml-1.xml

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1723
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.03.11 21:22. Заголовок: Dima пишет: http://..


Dima пишет:

 цитата:
http://www.rsdn.ru/article/xml/xml-1.xml


Спасибо !

А дальше ? По примеру ?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 12
Зарегистрирован: 03.09.09
ссылка на сообщение  Отправлено: 31.03.11 16:16. Заголовок: Не знаю или актуальн..


Не знаю или актуально, но еще как вариант через DOMDocument.
Типа так (заполнение данными шаблона XML) :

xmlDoc := CreateObject( "Msxml2.DOMDocument.6.0" )
xmlDoc:async := FALSE
xmlDoc:load("Test.xml" )
xmlErr := xmlDoc:parseError
IF xmlErr:errorCode <> 0
MsgExclamation( "Ошибка, код: " + AllTrim( Str( xmlErr:errorCode ) ) )
RETURN .f.
ENDIF

objNodeList := xmlDoc:getElementsByTagName("Tag1" )
objNodeList:item( 0 ):text = "Значение для Tag1"
....
....
// создать элемент
newElem := xmlDoc:createElement( "SECPARAM" )
objNodeList1:appendChild( newElem )
objNodeList1:lastChild:text = "Значение"

....
xmlDoc:async := FALSE
xmlDoc:validateOnParse := TRUE
xmlDoc:save( "fileOut" )



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 67
Зарегистрирован: 05.11.05
ссылка на сообщение  Отправлено: 27.05.11 14:09. Заголовок: А загрузить базу так..


А загрузить базу так можно? Могу я с помощью xHarbour взять из интернета файл и прочитать из него данные в программу?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 341
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 17.05.24 15:38. Заголовок: krutoff пишет: Я и..


krutoff пишет:

 цитата:

Я использую уже давно - посмотрите фрагмент моего кода, может поможет
"...
oXmlDoc := TXmlDocument():New('<?xml version="1.0" encoding="windows-1251" ?>')

oXmlRoot := TXmlNode():new(0,"DECLAR",{ "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", ;
"xsi:noNamespaceSchemaLocation" => aTBL[nT]+".xsd" }

oXmlDoc:oRoot:addBelow( oXmlRoot )

oXmlHead := TXmlNode():new(0, "DECLARHEAD" )
oXmlRoot:addBelow( oXmlHead )
oXmlHead:addBelow( TXmlNode():new(0, "VER",,"1.1") )
..."



Это хорошо, но как это сделать в ДОСявом Клиппере? Как только сейчас выяснилось, шефу нужен уже даже не PDF, а электронный документ особого формата. Пока что удалось выяснить, что это XML. Такая вот хрень, примерно.
Скрытый текст


ubl - Universal Business Language, частный случай XML. Просто выпечатывать в текстовый файл из-под DOSa -- будут проблемы с ESC. Времени на нормальную портировку на Винду и Harbour у меня нет -- шеф хочет, чтобы я сделал всё до конца июня. А прога там огромная -- на 2,5 мега одних исходников. Портировка займет в лучшем случае год.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1611
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 17.05.24 15:42. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Просто выпечатывать в текстовый файл из-под DOSa -- будут проблемы с ESC


Какие проблемы с ESC?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4573
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.05.24 16:50. Заголовок: Dr. Oldwarez пишет н..


Dr. Oldwarez пишет
 цитата:
но как это сделать в ДОСявом Клиппере?


Как всегда в clipper, делаете txt файл[ы] структуры документов xml со всеми тэгами, в них выражения для данных. Читаете построчно и выделяете выражение в тэге, выполняете его, результат на выход в тэг.
Например вариант Скрытый текст

Секцию строк документа <Invoice-Lines>...</Invoice-Lines>, выделена цветом читаете в цикле на документостроки своих документов. Строки с "^-" в тэгах могут быть выкинуты вместе с тэгами или делаться пустыми по вашей ситуации, например
<CodeByBuyer>^-</CodeByBuyer> на выход может давать
<CodeByBuyer></CodeByBuyer> или не давать тэг на выход целиком.
NR_2, ..., OH_2, ..., OP_1, ..., LN_16, LN_11, ..., OS_4, OS_6 ... - это поля dbf

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4173
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 17.05.24 18:56. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Это хорошо, но как это сделать в ДОСявом Клиппере?



Но вот зачем эти мучения ? Не проще ли пересобрать клиппер-программу под терминальное 32-х битное приложение Харбор, которое прекрасно будет работать под winxp и старше ? И сразу же откроется целый новый мир, в том числе работа с xml, и много чего еще ? И ads там поддерживается

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 342
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 17.05.24 21:48. Заголовок: Pasha пишет: Но вот..


Pasha пишет:

 цитата:
Но вот зачем эти мучения ? Не проще ли пересобрать клиппер-программу под терминальное 32-х битное приложение Харбор, которое прекрасно будет работать под winxp и старше ? И сразу же откроется целый новый мир, в том числе работа с xml, и много чего еще ? И ads там поддерживается



Если прога большая, то на начальном этапе, можно собрать и отдельные модули на Харборе, которые решают локальные задачи и вызывать их из основной

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 342
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 21.05.24 12:29. Заголовок: MIKHAIL пишет: Но ..


MIKHAIL пишет:

 цитата:

Но вот зачем эти мучения ? Не проще ли пересобрать клиппер-программу под терминальное 32-х битное приложение Харбор, которое прекрасно будет работать под winxp и старше ? И сразу же откроется целый новый мир, в том числе работа с xml, и много чего еще ? И ads там поддерживается



Хорошо, попробую, просто там ещё CATOOLS, OSLIB, VOUCH32 и внутренняя клиперная библиотека, исходники которой пока не найдены. Но, я так понял, достаточно те же файлы перелинковать под Harbour и будет уже нормальная консольная программа, способная работать не только на древней хрюше, но и на семерке и десятке. К которой я потом смогу прикрутить и FastReport, и hbxml, и, впоследствии, MiniGUI.
И ещё один вопрос: что лучше - Harbour или xHarbour? В чём вообще между ними разница?

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

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7758
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.24 17:41. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Вот тут написано, что xHarbour лучше из-за бОльшей совместимости со старыми библиотеками, что для меня важно.


Это я писал раньше, тогда xHarbour был лучше.
Сейчас перешёл на MiniGui и использую Harbour.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1731
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 21.05.24 18:39. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Вот тут написано


Там комментарии от 2017 года

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 343
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 22.05.24 11:13. Заголовок: PSP пишет: Это я ..


PSP пишет:

 цитата:


Это я писал раньше, тогда xHarbour был лучше.
Сейчас перешёл на MiniGui и использую Harbour.



Хорошо, я понял. Тогда, где взять Harbour посвежее, а то последняя стабильная версия -- от 2013 года. И какой компилятор к нему брать? Я лично за Borland -- он проворнее, чем MinGW, портированный из Линукса. MiniGUI я займусь чуть позже, а вот FastReport и Advantage Database Server нужны прямо сейчас. В переходный период FastReport должен вызываться прямо из консоли и оттуда выдавать требуемые PDFки с красивыми картинками.

Но тут вот написано, что Borland поддерживается только частично:


 цитата:
win
mingw - MinGW GNU C 3.4.2 and above
mingw64 - MinGW GNU C x86-64
msvc - Microsoft Visual C++
msvc64 - Microsoft Visual C++ x86-64
msvcia64 - Microsoft Visual C++ IA-64 (Itanium)

win (partial support, SOME FEATURES MAY BE MISSING)
clang - Clang
watcom - Open Watcom C/C++
bcc - Borland/CodeGear/Embarcadero C++ 4.x and above
bcc64 - Embarcadero C++ 6.5 and above
icc - Intel(R) C/C++
iccia64 - Intel(R) C/C++ IA-64 (Itanium)
pocc - Pelles C 4.5 and above
pocc64 - Pelles C x86-64 5.0 and above
xcc - Pelles C for xhb



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1732
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 22.05.24 11:52. Заголовок: https://kresin.ru/ha..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4574
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 22.05.24 12:23. Заголовок: http://github.com/ha..

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1613
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.05.24 15:57. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Но тут вот написано, что Borland поддерживается только частично:


У борландовского компилятора проблемы с ssh (openssh, libssh2), других я не помню. Сам им пользуюсь - кроме тех случаев, когда нужен ssh.

Спасибо: 1 
ПрофильЦитата Ответить
Ответов - 22 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 60
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет