• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы camelot91
  • Дата начала
C

camelot91

Помогите начинающему программисту, как переделать этот код, что бы он выполнял тоже самое но через массив. Что бы все это заносилось в массив. Будьте благосклонны господа.
Код:
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
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
160
lineAll массивом сделать что ли?
поле clist множественные значения может содержать?
 
C

camelot91

lineAll массивом сделать что ли?
поле clist множественные значения может содержать?

Мне надо убрать поле clist, а то что в него заносится перенести в массив и уже из него передать на отчет в вордовский документ. Вообщем сделать тоже самое что и в коде, только массивом.
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
160
Кажись так, надо изменить объявление переменных и блок цикла
Код:
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
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!