0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
1 | |
перекодировка содержимого поля в ХТМЛ-формат24.02.2008, 13:13. Показов 28305. Ответов 18
Метки нет (Все метки)
чтобы текст введёный ползователем перекодировался в формат ХТМЛ(тоесть ентеры в поле стали <br>, текст выделеный цветом заключился в тег <font>, выравниванеи опредилилось div-ами), нужно текст написать в RichText поле и єто поле показать на форме.
А вот если хочется генерить содержимое ХТМЛ-страницы скриптом (в преременную толкать значения полей и выводить их через print, или Сomputed поле), то удобства RichText теряются ведь значение поля получается через notesItem.Text, и оно в формате просто текст (слёт другой информации типа картинок и аттачей игнорируем). Вот мне и интересно возможно ли какимто методом получить текст в формате ХТМЛ, есть ли стандартные функции перекодировки, или хитрые методы? очень не хочется верить что для решения такой задачи необходимо делать собственный парсер.
0
|
24.02.2008, 13:13 | |
Ответы с готовыми решениями:
18
Отправка содержимого поля в файл при нажатии кнопки без потери этого содержимого с поля Перекодировка содержимого текстового файла в Win-1251 и запись результата в новый файл с именем компьютера Моментальное изменение содержимого поля, после изменения другого поля При изменении содержимого 1-го поля изменяется содержимое 2-го текстового поля. |
totusDmypr
|
|
24.02.2008, 13:26 | 2 |
A NotesRichTextStyle.PassThruHTML чем вам не угодил ? ))
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
24.02.2008, 13:33 | 3 |
NotesRichTextStyle.PassThruHTML - это флаг который указывает что содержимое РТ поля чистый ХТМЛ, и его не ненадо перекодировать при отбражении в веб. и как он может помоч в данной задче?
0
|
totusDmypr
|
|
24.02.2008, 13:43 | 4 |
Ааа, все понятно..Ну это уж вряд ли, скорее всего без парсера не обойтись, только зачем собственный ? У Lotus Domino есть замечательный sax-парсер, немножко корректив для обработчика ошибок - и будет без проблем парсить и html
|
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
|
|
24.02.2008, 14:00 | 5 |
Если в нотес-клиенте пользователь вводит все в РТ поле и Вам в ВЕБе это нужно показать в таком же виде (разны шрифты и т.д), то достаточно на форму для ВЕБа влепить CFD поле со значением вычисляемым из этого РТ поля. Все данные будут отображаться в нормальном виде.. мало того, есоли в РТ поле у вас картинка - то картинка тоже будет отображаться в этом РТ поле...
0
|
totusDmypr
|
|
24.02.2008, 14:05 | 6 |
Сообщение от Sandr
|
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
|
|
24.02.2008, 14:18 | 7 |
LotusDnepr
Computed for display :o
0
|
totusDmypr
|
|
24.02.2008, 14:25 | 8 |
Сообщение от Sandr
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
24.02.2008, 14:29 | 9 |
не, в том то и дело шо мне нада вывести значения через скрипт...
Сообщение от LotusDnepr
0
|
|
|
24.02.2008, 14:40 | 10 |
Сообщение от lionk
|
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
|
|
24.02.2008, 14:49 | 11 |
Сообщение от lionk
Кстати, обратившись к этому CFD полю с помощью javaScript (например к outerHTML поля) вы получите полный HTML сорс этого поля... ЗЫ: можно вообще РТ поле показывать... есть у него такое свойство display using HTML при Web Access...
0
|
|
|
24.02.2008, 14:53 | 12 |
Насколько я понял, уважаемый lionk собирается скриптом эмулировать ввод пользователем текста, используя в скрипте традиционные уишные операции типа Copy-Past, а потом все это конвертить в html для просмотра в веб...Честно говоря, и сам не понимаю целесообразности этих действий
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
24.02.2008, 15:05 | 13 |
ну при открытии страницы в вебе запускается агент, который переберает содержимое поля, в этом поле есть метки(теги) который этот агент должен подменить на значение определённых полей из других документов.
там есть РТ поля и хочется чтобы выводился отформатированый красивый текст. тоесть механизма ЦФД поля нехватает. ну допустим я через NotesSaxParser зделаю правельный XML. а как потом перегнать эго в HTML? гланды через анус удалять я нехоу :o
0
|
|
|
24.02.2008, 15:19 | 14 |
Парсер не предназначен для того, чтобы выводить XML, это прерогатива другого класса - NotesDXLExporter, задача парсера - работа с уже готовым XML. В общем смысл уловил..Значит, страница закачивается из веба через ретривер и есть notesdocument с данными Domino, нужно только перенести его содержимое в RTF, подменив некоторые теги, так ? Если так, могу дать наводку
|
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
|
|
24.02.2008, 15:55 | 15 |
Программер
не совсем, или совсем не так :o (упрощяю) есть РТ поле которое нужно вывести в вебе, его можно вывести только скриптом присвоив зачение этого поля другому полю, которое находится на веб форме что открывается. нужно чтобы значение РТ поля выводилось в формате ХТМЛ(тоесть ентеры заменены тегами <br>). понятно что при простом присвоении (ctxdoc.outfield=rtitem.text) этого не произойёт. значит нужно зделать перекодировку(замену). чтото типа (ctxdoc.outfield=CONV_FUNC(rtitem.text) ), вопрос какой код забить в эту функцию? как я понял есть два пути либо самому разбирать содержимое РТ поля и както пересобрать строку, либо использовать NotesSaxParser, получив из РТ поля XML, но для меня остаётся загадкой как этот XML вывести на страницу в удобном для пользователей виде.
0
|
|
|
24.02.2008, 16:28 | 16 |
Ну дак это ж проще пареной репы, здесь и парсить-то и нечего ). Вот:
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 | 17 |
а управление цветом текста, выравниванием, кегелем и гарнитурой шрифта(arial, tahoma)?
с <br> єто самый простой вариант, неужели нет какойто незадокументированой функции :o, эх меты... мечты.
0
|
|
|
24.02.2008, 16:45 | 18 |
Есть такая идея - копировать текст поля в вордовский OLE, а уж там в посимвольном цикле определять форматирование каждого элемента, пользуясь вордовским Visual Basic и превращать в HTML, занятие в общем довольно хлопотное, но иного пути пока не предвижу )
|
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
|
|
24.02.2008, 18:17 | 19 |
эх.. попросить надо бы админов, шоб смайлик "застрелите меня" добавили...
0
|
24.02.2008, 18:17 | |
24.02.2008, 18:17 | |
Помогаю со студенческими работами здесь
19
Вывод содержимого объекта в JSON формат Сохранение содержимого image в векторный формат Формат поля Формат поля Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |