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

Как добавить секцию в самое начало документа ?

26.05.2010, 13:52. Показов 11809. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    Dim session As New NotesSession
Dim rtitem As NotesRichTextItem
Set rtitem=doc.GetFirstItem("Body")
 
Dim richStyle As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
 
richStyle.FontSize = 9
richStyle.Underline = False
richStyle.Bold=True
richStyle.NotesColor=COLOR_DARK_BLUE
 
Dim begIns As Boolean
begIns=BeginBodyInsert(rtItem)
If Not ( rtItem Is Nothyng ) Then
Dim colorObject As NotesColorObject
Set colorObject = session.CreateColorObject
colorObject.NotesColor = COLOR_BLUE
Call rtitem.BeginSection(Format$(Now, "dd/mm/yy hh:nn") & " commente par " & session.CommonUserName, richStyle, colorObject, True)
richStyle.Bold=False
richStyle.NotesColor = COLOR_BLACK
Call rtitem.AppendStyle(richStyle)
Call rtitem.AppendText( "     " )
Call rtitem.AppendText( "Нужный текст" )
 
Call rtitem.AddNewLine( 1 )
Call rtitem.EndSection
If begIns Then
rtitem.EndInsert
End if
 
Call doc.Save(False, False )
End If
.....
Function BeginBodyInsert( rtItem As NotesRichTextItem ) As Boolean
Dim rtnav As NotesRichTextNavigator
Dim rtRange As NotesRichTextRange
Dim firstSection As Boolean
 
firstSection = False
BeginBodyInsert=False
 
If Not ( rtitem Is Nothyng ) Then
If rtitem.ValueLength > 0 Then
Set rtnav = rtitem.createNavigator()
 
If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
BeginBodyInsert=True
ElseIf rtnav.FindFirstElement(RTELEM_TYPE_SECTION) Then
BeginBodyInsert=True
firstSection = True
ElseIf rtnav.FindFirstElement(RTELEM_TYPE_TEXTRUN) Then
BeginBodyInsert=True
End If
If Not( BeginBodyInsert ) Then
MessageBox "Cant find where first paragraph starts"
Exit Function
End If
 
End If
 
 
Set rtRange = rtItem.CreateRange
Call rtRange.SetBegin(rtNav)
If Not FirstSection Then
Call rtnav.SetCharOffset(1)
Call rtRange.SetEnd(rtNav)
End If
 
rtNav.Setposition(rtRange)
If BeginBodyInsert Then
Call rtitem.BeginInsert(rtnav,False)
End If
End If
End Function
Есть такой код, но он очень проблемный. Если, например, в документе есть секции в начале, а потом идёт текст, то в таком случае моя секция добавится перед текстом, но не перед секциями, то есть не в начало документа.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.05.2010, 13:52
Ответы с готовыми решениями:

Как вернуться из цикла в самое-самое начало программы?
Привет. Нужно чтобы пользователь НЕ ПРАВИЛЬНО ввёл то, что требует программа от него. И вся суть в том, если пользователь введёт НЕ...

Как добавить в исполняемый ELF дополнительную загружаемую секцию?
Ковыряю дизассемблером исполняемую программу из недорогого тепловизора HT-1A. Производитель сильно облегчил это дело, оставив всю...

Переход на указанную секцию html документа
Добрый день! Народ, подскажите есть ли возможность с помощью javaScript перейти на указанную секцию html документа. Т.е. например есть...

3
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.05.2010, 13:59
Документ — это набор полей. РТ-навигатор осуществляет навигацию в пределах поля, но не документа. Документы отображаются в формах, один и тот же документ можно открыть в разных формах. Если на форме поле помещено в секцию, то и текст поля будет отображаться в этой секции.
0
0 / 0 / 0
Регистрация: 05.07.2007
Сообщений: 102
26.05.2010, 15:32
Цитата Сообщение от nvy
Документ — это набор полей. РТ-навигатор осуществляет навигацию в пределах поля, но не документа.
Да, извиняюсь. Как добавить в начало поля "Body" ? - у этих документов только одно поле Body типа NotesRichTextItem.
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.05.2010, 16:04
PavelT100
Вот из справки:
You cannot create a section containing existing rich text. You must start the section with BeginSection, append rich text, and end the section with EndSection.
Если нужно заключить имеющийся текст в раздел, то как-то так:
1. Создать временное рт-поле tempBody.
2. Открыть в нём раздел (BeginSection).
3. Добавить в него содержимое поля Body.
4. Закрыть раздел (EndSection).
5. Удалить поле Body.
6. Скопировать поле tempBody в Body.
7. Удалить поле tempBody.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.05.2010, 16:04
Помогаю со студенческими работами здесь

Добавить секцию в линкер-скрипте
Всем добра! Незнаю, куда написать, но требуется помощь знатоков линкер-скриптов. Есть некий девайс, с 128Кб флеши и 32Кб ОЗУ. Для него...

Добавить секцию к адресу URL
Привет, есть такой URL: http://local.social.im/settings/privacy/. Сайт на MVC. Как добавить еще секцию, например:...

Добавить секцию кода в исполняемый файл. Редактирование PE заголовка
Ребят, я уже не знаю что с ним сделать. Мне надо свой код добавить в чужой ехе-шник, а места не хватает, надо расширить секцию кода,...

Как поставить курсор в начало в поле текстового документа?
как сделать чтоб курсор становился автоматом в начало а не туда куда ты поставишь?

Как в маткаде вернуть значение переменной из конца документа в начало?
Т. е формул у меня на 6 страниц, в конце нужное значение найдено, а теперь её каким-то образом надо вернуть в начало.. . Получается...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru