1 (изменено: 929151, 2017-03-30 02:48:44)

Тема: VBS: Вывести по 5 элементов из массива

Подскажите, как такое реализовать.
Необходимо выводить последовательно по 5 элементов из массива.


Set DataList = CreateObject("System.Collections.ArrayList")
DataList.Add "1"
DataList.Add "2"
DataList.Add "3"
DataList.Add "4"
DataList.Add "5"
DataList.Add "6"
DataList.Add "7"
DataList.Add "8"
DataList.Add "9"
DataList.Add "10"
DataList.Add "11"
DataList.Add "12"

Wscript.echo join(DataList.ToArray(), vbCrLf)

2

Re: VBS: Вывести по 5 элементов из массива

For Each Item In DataList
	n = n + 1 :	S = S & vbCr & Item
	If n/5 = CInt(n/5) Or n = DataList.Count Then MsgBox Mid(S, 2) : S = ""
Next

3

Re: VBS: Вывести по 5 элементов из массива

Спасибо.
Можно чтобы оставшиеся (11, 12) тоже выводились?

4

Re: VBS: Вывести по 5 элементов из массива

Поправил.

5

Re: VBS: Вывести по 5 элементов из массива

Спасибо! Вы всегда очень выручаете!

6

Re: VBS: Вывести по 5 элементов из массива

929151
Пож-та. Кстати, если заинтересует, можно выхватывать строки из текста группой без конкатенации:

DivNum = 5  ' делящее число строк

With New RegExp
	.Global = True : .Pattern = "([^\r]+(\r|$)){1," & DivNum & "}"
	Set Matches = .Execute(Join(DataList.ToArray, vbCr))
End With
For i = 0 To Matches.Count - 1
	MsgBox Matches(i)
Next

7

Re: VBS: Вывести по 5 элементов из массива

Да, так намного понятней.