1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Одномерный Динамичный Массив

Тема в разделе "Lotus - Программирование", создана пользователем camelot91, 9 авг 2013.

  1. camelot91

    camelot91 New Member

    Репутация:
    0
    Регистрация:
    6 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Помогите начинающему программисту, как переделать этот код, что бы он выполнял тоже самое но через массив. Что бы все это заносилось в массив. Будьте благосклонны господа.
    Код:
    Dim sview As NotesView
    Dim db As NotesDatabase
    Dim sess As NotesSession
    Dim sdoc As NotesDocument
    Dim rdoc As NotesDocument
    Dim line1 As String ,lineAll As String 
    Dim mydoc As Variant
    Dim ws As NotesUIWorkspace
    
    Sub Click_FormClist(rDoc As NotesDocument, ruidoc As NotesUIDocument)
    
    Set ws = New NotesUIWorkspace '!!!!!!!!!!!!!!!
    Set sess = New NotesSession
    Dim qdoc As NotesDocument
    
    If Not ruidoc.EditMode Then
    ruidoc.EditMode =True 
    End If
    
    
    Set db = sess.CurrentDatabase '!!!!!!!!!!!!!!!!!!!!
    
    Set sview = db.GetView("Dolgi")
    If sview Is Nothing Then 
    MessageBox "Нет нужного представления"
    Exit Sub
    End If
    
    Set sdoc = sview.GetFirstDocument
    line1 = ""
    lineAll = ""
    
    Do While Not sdoc Is Nothing 
    line1 = line1 & sdoc.GetItemValue("ToDate")(0) & " " & line1 & sdoc.GetItemValue("Year")(0) & "-" & sdoc.GetItemValue("RegNum")(0) & sdoc.GetItemValue("Lit")(0) & " " & sdoc.GetItemValue("ToName")(0) & Chr(10)
    lineAll = lineAll & line1
    line1 = ""
    Set sdoc = sview.GetNextDocument(sdoc)
    Loop
    
    Print lineAll
    Call rDoc.ReplaceItemValue("clist",lineAll) 
    
    End Sub
     
  2. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    lineAll массивом сделать что ли?
    поле clist множественные значения может содержать?
     
  3. camelot91

    camelot91 New Member

    Репутация:
    0
    Регистрация:
    6 июн 2013
    Сообщения:
    4
    Симпатии:
    0
    Мне надо убрать поле clist, а то что в него заносится перенести в массив и уже из него передать на отчет в вордовский документ. Вообщем сделать тоже самое что и в коде, только массивом.
     
  4. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    Кажись так, надо изменить объявление переменных и блок цикла
    Код:
    Dim line1 As String 
    Dim lineAll() As Variant
    dim i as long
    
    ' твой код
    
    line1 = ""
    i=0
    Do While Not sdoc Is Nothing 
    line1 = line1 & sdoc.GetItemValue("ToDate")(0) & " " & line1 & sdoc.GetItemValue("Year")(0) & "-" & sdoc.GetItemValue("RegNum")(0) & sdoc.GetItemValue("Lit")(0) & " " & sdoc.GetItemValue("ToName")(0) & Chr(10)
    
    ReDim Preserve lineAll(0 To i) As Variant
    lineAll(UBound(lineAll))= line1 
    
    line1 = ""
    i =i+1
    Set sdoc = sview.GetNextDocument(sdoc)
    Loop
     
Загрузка...

Поделиться этой страницей