Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/155: Рейтинг темы: голосов - 155, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304

перекодировка содержимого поля в ХТМЛ-формат

24.02.2008, 13:13. Показов 28499. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
чтобы текст введёный ползователем перекодировался в формат ХТМЛ(тоесть ентеры в поле стали <br>, текст выделеный цветом заключился в тег <font>, выравниванеи опредилилось div-ами), нужно текст написать в RichText поле и єто поле показать на форме.

А вот если хочется генерить содержимое ХТМЛ-страницы скриптом (в преременную толкать значения полей и выводить их через print, или Сomputed поле), то удобства RichText теряются ведь значение поля получается через notesItem.Text, и оно в формате просто текст (слёт другой информации типа картинок и аттачей игнорируем).

Вот мне и интересно возможно ли какимто методом получить текст в формате ХТМЛ, есть ли стандартные функции перекодировки, или хитрые методы?

очень не хочется верить что для решения такой задачи необходимо делать собственный парсер.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.02.2008, 13:13
Ответы с готовыми решениями:

Отправка содержимого поля в файл при нажатии кнопки без потери этого содержимого с поля
Привет всем!) Я отправляю содержимое textarea в файл при нажатии кнопки, после нажатия на кнопку содержимое стирается с этого поля. Как...

Перекодировка содержимого текстового файла в Win-1251 и запись результата в новый файл с именем компьютера
Добрый день, подскажите пожалуйста... стоит задача написать bat, который будет собирать информацию о системе... то есть systeminfo. Втыкая...

Моментальное изменение содержимого поля, после изменения другого поля
Всем привет. Есть страничка на JSF(Java), где находится несколько полей, в которых указывается время в миллисекундах. Нужно рядом с каждым...

18
totusDmypr
24.02.2008, 13:26
A NotesRichTextStyle.PassThruHTML чем вам не угодил ? ))
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 13:33
NotesRichTextStyle.PassThruHTML - это флаг который указывает что содержимое РТ поля чистый ХТМЛ, и его не ненадо перекодировать при отбражении в веб. и как он может помоч в данной задче?
0
totusDmypr
24.02.2008, 13:43
Ааа, все понятно..Ну это уж вряд ли, скорее всего без парсера не обойтись, только зачем собственный ? У Lotus Domino есть замечательный sax-парсер, немножко корректив для обработчика ошибок - и будет без проблем парсить и html
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:00
Если в нотес-клиенте пользователь вводит все в РТ поле и Вам в ВЕБе это нужно показать в таком же виде (разны шрифты и т.д), то достаточно на форму для ВЕБа влепить CFD поле со значением вычисляемым из этого РТ поля. Все данные будут отображаться в нормальном виде.. мало того, есоли в РТ поле у вас картинка - то картинка тоже будет отображаться в этом РТ поле...
0
totusDmypr
24.02.2008, 14:05
Цитата Сообщение от Sandr
Если в нотес-клиенте пользователь вводит все в РТ поле и Вам в ВЕБе это нужно показать в таком же виде (разны шрифты и т.д), то достаточно на форму для ВЕБа влепить CFD поле со значением вычисляемым из этого РТ поля. Все данные будут отображаться в нормальном виде.. мало того, есоли в РТ поле у вас картинка - то картинка тоже будет отображаться в этом РТ поле...
Я извиняюсь..А что такое CFD-поле ?
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:18
LotusDnepr

Computed for display

:o
0
totusDmypr
24.02.2008, 14:25
Цитата Сообщение от Sandr
LotusDnepr

Computed for display

:o
Ааааа :P Однако интересный факт. Я и понятия не имел об этой особенности вычисляемых полей
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 14:29
не, в том то и дело шо мне нада вывести значения через скрипт...



Цитата Сообщение от LotusDnepr
У Lotus Domino есть замечательный sax-парсер, немножко корректив для обработчика ошибок - и будет без проблем парсить и html
можно по подробнее про этот парсер, чтото я немугу понять куда копать
0
24.02.2008, 14:40
Цитата Сообщение от lionk
не, в том то и дело шо мне нада вывести значения через скрипт...



можно по подробнее про этот парсер, чтото я немугу понять куда копать
Копать нужно в сторону замечательного лотусного класса NotesSaxParser, в хэлпе все про него написано..Фишка в том, что он, как и всякий нормальный парсер, справляется только с well-formed XML, и чтобы заставить его парсить html, нужно немножко извратиться за счет обработчика ошибок, ну а степень извращения зависит от конкретных условий и желаемого результата
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:49
Цитата Сообщение от lionk
не, в том то и дело шо мне нада вывести значения через скрипт...
Простите, но вывести куда? И как это через скрипт?


Кстати, обратившись к этому CFD полю с помощью javaScript (например к outerHTML поля) вы получите полный HTML сорс этого поля...

ЗЫ: можно вообще РТ поле показывать... есть у него такое свойство display using HTML при Web Access...
0
24.02.2008, 14:53
Насколько я понял, уважаемый lionk собирается скриптом эмулировать ввод пользователем текста, используя в скрипте традиционные уишные операции типа Copy-Past, а потом все это конвертить в html для просмотра в веб...Честно говоря, и сам не понимаю целесообразности этих действий
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 15:05
ну при открытии страницы в вебе запускается агент, который переберает содержимое поля, в этом поле есть метки(теги) который этот агент должен подменить на значение определённых полей из других документов.
там есть РТ поля и хочется чтобы выводился отформатированый красивый текст.
тоесть механизма ЦФД поля нехватает.

ну допустим я через NotesSaxParser зделаю правельный XML. а как потом перегнать эго в HTML?
гланды через анус удалять я нехоу :o
0
24.02.2008, 15:19
Парсер не предназначен для того, чтобы выводить XML, это прерогатива другого класса - NotesDXLExporter, задача парсера - работа с уже готовым XML. В общем смысл уловил..Значит, страница закачивается из веба через ретривер и есть notesdocument с данными Domino, нужно только перенести его содержимое в RTF, подменив некоторые теги, так ? Если так, могу дать наводку
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 15:55
Программер
не совсем, или совсем не так :o
(упрощяю)
есть РТ поле которое нужно вывести в вебе, его можно вывести только скриптом присвоив зачение этого поля другому полю, которое находится на веб форме что открывается. нужно чтобы значение РТ поля выводилось в формате ХТМЛ(тоесть ентеры заменены тегами <br>).
понятно что при простом присвоении (ctxdoc.outfield=rtitem.text) этого не произойёт. значит нужно зделать перекодировку(замену). чтото типа (ctxdoc.outfield=CONV_FUNC(rtitem.text) ), вопрос какой код забить в эту функцию?

как я понял есть два пути либо самому разбирать содержимое РТ поля и както пересобрать строку, либо использовать NotesSaxParser, получив из РТ поля XML, но для меня остаётся загадкой как этот XML вывести на страницу в удобном для пользователей виде.
0
24.02.2008, 16:28
Ну дак это ж проще пареной репы, здесь и парсить-то и нечего ). Вот:

Sub Click(Source As Button)
Dim NUIWS As New NotesUIWorkspace
Set ND=NUIWS.CurrentDocument.Document
Set NRTI=ND.GetFirstItem("BODY") ваше поле с тестом юзера
TextStr$=NRTI.Values
StrArray=Split(TextStr$,Chr(13))
For i%=1 To Ubound(StrArray)
StrArray(i%)="<br>"+Strright(StrArray(i% ),Left(StrArray(i%),1))
Next
HTMLStr$=Implode(StrArray)
End Sub

Концепция такова - берете текст из RTF, расчленяете его на массив стрингов, разделенных знаком переноса строки, и подменяете знак перноса (Chr(13)) на символ "<br>", потом собираете строку заново и имеете готовый html-текст, который можно поместить в другой RTF
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 16:34
а управление цветом текста, выравниванием, кегелем и гарнитурой шрифта(arial, tahoma)?
с <br> єто самый простой вариант, неужели нет какойто незадокументированой функции :o, эх меты... мечты.
0
24.02.2008, 16:45
Есть такая идея - копировать текст поля в вордовский OLE, а уж там в посимвольном цикле определять форматирование каждого элемента, пользуясь вордовским Visual Basic и превращать в HTML, занятие в общем довольно хлопотное, но иного пути пока не предвижу )
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 18:17
эх.. попросить надо бы админов, шоб смайлик "застрелите меня" добавили...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2008, 18:17
Помогаю со студенческими работами здесь

При изменении содержимого 1-го поля изменяется содержимое 2-го текстового поля.
На Web-форме имеются два текстовых поля. При изменении содержимого 1-го поля изменяется содержимое 2-го текстового поля. Private Sub...

Вывод содержимого объекта в JSON формат
В общем есть у меня объект, в котором есть поле, которое представляет из себя массив из 25 элементов другого объекта, у которого в свою...

Сохранение содержимого image в векторный формат
Если кто нибудь знает легкий вариант подскажите пожалуйста новичку,сложные варианты где все замудрено не скидывайте.

Формат поля
Форумчане подскажите, как указать в свойства отчета &quot;Формат поля&quot; чтобы если ячейка принимает значение ноль после десятичной запятой (как у...

Формат поля
Подскажите, пожалуйста, можно ли и если да, то как задать формат поля. Мне нужно поля для ввода и хранения ИП-адреса. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru