Что-то я совсем заучился. Вроде все правильно написал, ан нет студия возмущается.
Ситуация такова.
в проекте форма и модуль. В модуле я прописал часто используемые функции, которые по мере надобности вызываю из формы.
И вот возникла необходимость написать функцию, которая генерирует уникальные ID в заданном диапазоне и возвращает массиф этих ID.
Вот код самой функции.
- Код: Выделить всё
Function UniekID(ByVal всего As Integer, ByVal minValue As Integer, ByVal maxValue As Integer)
Dim gen As New Random
Dim число, i, j As Integer
Dim tabel(всего) As Integer
Dim равно As Boolean
While i < всего
число = gen.Next(minValue, maxValue)
j = 0
равно = False
While j < i ' пока счетчик меньше заполненных позиций в массиве
If число = tabel(j) Then ' проверяем записано такое число в массив или нет
равно = True ' если число уже было
Exit While 'выходим из цикла проверки
Else
j += 1 'проверяем следующую позицию в массиве
End If
End While 'j < i закончили проверку
If равно = False Then 'если числа не было
tabel(i) = число 'поещаем уникальное число в массив
i += 1 ' переходим на следующий индекс массива
End If
End While 'i < всего ' закончили генерировать
Return tabel(всего) 'возвращаем массив с уникальными числами
End Function
Значит передав функции три параметра: сколько ID мы хотим получить, и в каком интервале (например между 101 и 999)
на выходе должены получить массив .
И возникает вопрос: А такое в принципе возможно?
И как синтаксически правильно вызвать эту функцию в коде формы.
Ну например проверить что получилось.
- Код: Выделить всё
Dim table() As Integer
table = Tool.UniekID(99, 1, 500)
так например не получается.
Может "гуру" подскажут студенту в чем его ошибка.
Заранее благодарен.
Всего доброго.