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

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

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

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2010, 13:52
Ответы с готовыми решениями:

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

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

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

Добавить секцию в линкер-скрипте
Всем добра! Незнаю, куда написать, но требуется помощь знатоков линкер-скриптов. Есть некий...

3
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.05.2010, 13:59 2
Документ — это набор полей. РТ-навигатор осуществляет навигацию в пределах поля, но не документа. Документы отображаются в формах, один и тот же документ можно открыть в разных формах. Если на форме поле помещено в секцию, то и текст поля будет отображаться в этой секции.
0
0 / 0 / 0
Регистрация: 05.07.2007
Сообщений: 102
26.05.2010, 15:32 3
Цитата Сообщение от nvy
Документ — это набор полей. РТ-навигатор осуществляет навигацию в пределах поля, но не документа.
Да, извиняюсь. Как добавить в начало поля "Body" ? - у этих документов только одно поле Body типа NotesRichTextItem.
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
26.05.2010, 16:04 4
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
26.05.2010, 16:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2010, 16:04
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru