Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Lotus Замена текста на изображение В БД после подписания документа нажимая на кнопку "Собрать подписи" Происходит обработка в LotusScript While Not(sign_doc Is Nothing) If sign_doc.Form(0)="Responses" Then... https://www.cyberforum.ru/ lotus-programming/ thread2957268.html Отобразить IP в поле формы Lotus
Добрый день! Подскажите пожалуйста, как сделать чтобы результат работы агента отобразился в поле формы? Спасибо Uselsx "*javacon" Sub Initialize Dim jSession As JavaSession Dim jClass As...
Lotus Запретить пользователю вставлять скриншот в Rich поле https://www.cyberforum.ru/ lotus-programming/ thread2891723.html
Добрый день! Можно ли как-то запретить пользователю вставлять скриншоты в Rich поле для прикрепления файлов? Чтобы они могли вкладывать только файлы? Ну и если возможно, то чтобы при попытке...
Lotus Как реализовать передачу данных между БД? Доброго времени суток. Имеется БД1 в которой сотрудники пишут "Служебные записки", "Заявки на оплату" Также есть БД2 в которой сотрудники регистрируют "Заявки на оплату" Требуется в БД1 при... https://www.cyberforum.ru/ lotus-programming/ thread2883208.html
Lotus Получить значения из другой базы
Добрый день! Подскажите пожалуйста, как получить значения из другой базы. Если данные находятся в одной базе: vibor := ""; @Set( "vibor" ; @PickList(; ""; "vSprOtdeli"; "Справочник "; "Выбрать...
Lotus Отобразить только мои запросы во вью https://www.cyberforum.ru/ lotus-programming/ thread2849177.html
Добрый день! Имеется база с запросами от пользователей. Каким образом можно реализовать отбор запросов во вью, чтобы пользователь мог видеть только свои? (типо "Мои запросы") Спасибо!
Lotus Передача запроса в IBM Notes/ размер переменной в XML Всем добрый день! бъюсь уже больше месяца с проблемой, в инете, на форумах ничего не нашла, что помогло бы в моей проблеме. Суть в следующем: отправляю запрос в виде XML в IBM Notes/Lotus, нужно... https://www.cyberforum.ru/ lotus-programming/ thread2817724.html Международный форум пользователей продуктов Domino, Notes, Sametime, Connections Lotus
Приглашаем на бесплатный международный ОНЛАЙН форум RNUG: все о Domino, Notes, Sametime, Connections 9 и 12-16 октября 2020г. состоится II форум RNUG (Russian Notes User Group — Русскоязычная группа...
Lotus @DbLookUp Добрый день, уважаемые форумчане! Помогите пожалуйста разобраться с функцией @DbLookUp: как должен выглядеть синтаксис, если поиск соответствующего значения представления в одной базе ведется по... https://www.cyberforum.ru/ lotus-programming/ thread2685738.html Lotus Письма от внешних емейлов https://www.cyberforum.ru/ lotus-programming/ thread2664991.html
Как можно программно определить, что письмо пришло с внешнего почтового ящика, а не внутри лотуса?
Определить самый новый файл, его имя, дату и время Lotus
Доброго времени суток! Прошу помочь реализовать такую задачу. Не знаю возможно ли вообще такое реализовать в Lotus... Необходимо по нажатию на кнопку найти самый новый файл с определенным...
Lotus Lotus script. Первая суббота месяца Как можно определить, что текущий день - это первая суббота месяца? https://www.cyberforum.ru/ lotus-programming/ thread2607424.html
293 / 78 / 37
Регистрация: 02.02.2013
Сообщений: 302
18.06.2022, 11:01 0

Как изменить конкретный элемент в поле? - Lotus - Ответ 16310061

18.06.2022, 11:01. Показов 156. Ответов 1
Метки (Все метки)

Ответ

Здравствуйте

Для значений в поле с ними нужно работать как с массивом т.е. как у вас и было но это самое легкое.

PureBasic
1
 item.Values(Index) = Value
Самое сложное это не замена значения а предварительное получение этого массива и проведение предварительных проверок что массив существует (есть значения,) что идет обращение к нужному значение (не за пределами массива) и т.д. программисткая рутина.

Я в свое время чисто для себя написал небольшой класс для работы со значениями поля. Привожу его ниже . Там есть метод ReplaceExistValue которое можно использовать для замены нужного значения

PureBasic
1
2
3
4
5
6
7
8
    Public Sub ReplaceExistValue(Index As Integer, Value As String)
%REM Замена текущего значения по индексу Index,  другим указанным значением Value
%END REM
    ... (пропуск проверок)...
            If (Index => Lbound(item.Values)) And (index <= Ubound(item.Values))  Then
                Let  item.Values(Index) = Value
            End If          
    end sub
В классе я заменил тело поля объектом Body т.к. это класс то ображение к поля идет всегда через me.body
Для примера можете посмотреть различные операции работы со значениями поля.

PureBasic
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Public Class notesclassitem 'поле документа
    
    Private body As Variant 'любое поле
    
    Public Sub new(item As Variant)
        Set Me.body = item
    End Sub
    
    Public Property Get isexist As Variant
          'проверка наличия поля
        isexist = Not (Me.body Is Nothing)
    End Property
    
    Public Property Get text As String
          'текстовое значение поля
        If Me.isexist Then text = Me.body.text
    End Property
    
    Public Property Get values As Variant
     'все значения поля
        If Me.isexist Then 
            If Isarray(Me.body.values) Then
                If Me.text<>"" Then values = Me.body.values 'поле не пустое
            End If
        End If
    End Property
 
    Public Property Set values As Variant
        'все значения поля
        If Me.isexist Then 
            If IsArray(Me.body.values) Then
                Let Me.body.values = values
            End If
        End If
    End Property
        
    Public Function value(index As Integer) As String
     'функция возвращает указанное значение по индексу
     'значению с индексом 0 - соответствует 1-ое значение и т.д.     
        If Me.isexist Then               
            Dim v As Variant               
            v = Me.values               
            If Isarray(v) Then 'значения в поле обнаружены
                If (index>=Lbound(v)) And (index<=Ubound(v)) Then
                          'значение с указанным индексом существует
                    value = v(index) 'получение значения по индексу
                End If
            End If
        End If          
    End Function
    
    Public Property Get isin(value As String) As Boolean
          'возвращет true, если в поле есть указанное значение
        If Me.isexist Then
            If (value="") And (UBound(me.body.values)=0) Then stop
            Let isin=Me.body.contains( value )
        End If 
    End Property
    
    Public Sub setin( value, addition As Variant)
          'записывает в поле указанное значение в указанном режиме         
        If Me.isexist Then 
            value = Trim(value) 'убираем концевые пробелы
            Select Case addition=True
            Case True: 'добавляем значение к существующим
                Call Me.body.appendtotextlist( value) 'поля обязательно должно существовать
            Case False: 'заменяем существующее значение новым
                Dim parent As notesdocument
                Set parent = Me.body.parent 'получаем родитель для доступа к методу replace
                Call parent.replaceitemvalue( Me.body.name, value )
                Me.body.issummary = True
            End Select
        End If
    End Sub
    
    Public Property Get ismanyvalues As Variant
          'свойство возвращает true если в поле указано более одного значения
        If Me.isexist Then
            Dim v As Variant
            v = Me.values
            If Isarray(v) Then ismanyvalues = Not ( Ubound(v) = 0) 'если значение одно
        End If
    End Property
    
    Public Property Get isexistvalues As Boolean
          'возвращает true если в поле есть хотя бы одно значение
        
        If Me.isexist Then
            If Not Me.ismanyvalues Then 'в поле только одно значение
                    'далее определяется является ли единственое значение пустым
                Dim v As Variant
                Let v = Me.values
                Let isexistvalues = v(Lbound(v))<>""
            Else
                Let isexistvalues = True
            End If
        End If
    End Property
    
    Public Sub ReplaceExistValue(Index As Integer, Value As String)
%REM Замена текущего значения по индексу,    другим указанным значением
%END REM
        If Me.isexistvalues Then
            If (Index => Lbound(Me.Body.Values)) And (index <= Ubound(Me.body.Values))  Then
                Let Me.Body.Values(Index) = Value
            End If          
        End If
    End Sub
        
    Public Function Appendtext(Text As String)
%REM Добавление в поле RICHTEXT указанного комментария      
%END REM
        If Me.IsExist Then
            If ( Me.Body.Type = RICHTEXT ) Then
                Call Me.Body.AddNewLine(1)
                Call Me.Body.AppendText(Text)
            Else
                Call me.body.Appendtotextlist(Text)
                Let me.values = ArrayUnique(me.values)
            End if
        End If
    End Function
    
End Class


Вернуться к обсуждению:
Как изменить конкретный элемент в поле? Lotus
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2022, 11:01
Готовые ответы и решения:

Как изменить конкретный символ в консоли на другой?
Как изменить конкретный символ в консоли на другой(зная строку и номер)?

Как вывести конкретный элемент из List?
sell.product.Add(new Seller(&quot;Iphone 13&quot;, 1500)); sell.product.Add(new Seller(&quot;Iphone...

Как получить конкретный элемент цикла?
Короче говоря, я сейчас пытаюсь работать с jstl, у меня есть цикл foreach, который создаёт карточки...

Как удалить конкретный элемент из ListBox’а
удалить конкретный элемент из ListBox’а

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2022, 11:01
Помогаю со студенческими работами здесь

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

Как обратиться в ресурсах на конкретный элемент массива string-array?
Подскажите пожалуйста начинающему как вывести в ListView или TextView один элемент из массива...

Iterator в списке - как вывести на экран конкретный элемент списка?
Доброго времени суток! Недавно начал работу со списком в c++ и у меня возник вопрос:...

Как с JS или jQuery изменить цвет одного символа в поле формы(в поле находится некоторый текст)
Как с JS или jQuery изменить цвет одного символа в поле формы(в поле находится некоторый текст)

С++ Нужно выбрать конкретный элемент и удалить предыдущий в односвязном списке. Как такое реализовать?
Нужно выбрать один элемент в Линкед Листе и удалить стоящий перед ним. Насколько я понимаю, нужно...

Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по умолчанию
Как программно изменить цвет текста в поле ввода и как выделить весь текст в поле ввода по...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru