Компонент Gambas gb содержит в себе замечательный класс – Collection, или Коллекция. Этот класс реализует хэш-таблицу с ключами(String) и значениями(Variant). Вставка и удаление в такой таблице происходит динамически. Чем-то коллекция похожа на массив, но работать с ней намного удобнее, так как каждому элементу этого “массива” можно присвоить не просто номер, а целый строчный ключ.
Collection – создаваемый класс Gambas. Действует как массив с чтением и записью. Может быть перебран при помощи циклического перебора FOR EACH.
Свойства класса Collection в Gambas
Count
Возвращает кол-во элементов в Collection. Возвращает число в виде Ineger.
Key
Ключ элемента. Возвращает ключ последнего прочтенного или последнего перебираемого элемента в Collection. Возвращает в формате String.
Length
Я так и не понял чем оно отличается от Count. Кажется это то же самое, то есть синоним.
Методы класса Collection в Gambas
Add
Добавляет новый элемент в Collection, то есть в коллекцию. :) Добавление происходит примерно так:
SUB Add ( Значение AS Variant, Ключ AS String )
Например, нам нужно добавить в коллекцию значение “Gambas is Almost Means Basic”, и ключ будет “gambas”.
DIM $OurCollection As NEW Collection
$OurCollection.Add("Gambas is Almost Means Basic","Gambas")
Вот так все просто. :)
Clear
Очищает коллекцию(Collection) от всех элементов. Пример:
$OurGambasCollection.Clear()
Exist
Порою очень удобная штука. Возвращает TRUE или FALSE, в зависимости от того, присутствует ли некий ключ в Collection или нет. Вот где-то так например его можно использовать:
IF $OurCollection.Exist("Gambas") = TRUE THEN
Message.info("Ключ `Gambas` присутствует в коллекции")
END IF
Функция возвращает булевое(Boolean) значение.
Remove
Удаляет элемент из Collection. Здесь вообще просто:
$OurGambasCollection.Remove("Gambas")
Удалит из коллекции ключ под названием “Gambas”.
Пример практического применения класса Collection в Gambas
Допустим, нам нужно создать коллекцию с данными о человеке, а потом ее как-то использовать:
'Gambas Class File
PUBLIC $OurCollection As NEW Collection 'объявляем и создаем новую коллекцию
'
PUBLIC SUB Form_Open()
$OurCollection.Add("Адольф","name") 'вносим первый элемент коллекции
$OurCollection.Add("Гитлер","surname") 'Вносим второй элемент коллекции
$OurCollection.Add("Шильгрубер","realsurname") 'Вносим третий элемент коллекции
'
PRINT $OurCollection["name"] 'Напечатает в консоли "Адольф"
PRINT $OurCollection["surname"] 'Напечатает в консоли "Гитлер"
PRINT $OurCollection["realsurname"] 'Напечатает в консоли "Шильгруббер"
'
'А теперь попробуем перебрать коллекцию. Нам необходимо вывести все
'три элемента коллекции в ряд :)
FOR EACH $Slovo IN $OurCollection
PRINT $Slovo & " ";
NEXT
'Цикл выше вернет в консоль "Адольф Гитлер Шильгрубер"
'
$OurCollection.Clear() 'очистим нашу коллекцию от элементов.
'
END
Как видите, все предельно просто, и класс Collection в Gambas – это очень нужный и полезный класс, существенно расширяющий возможности языка, можно даже сказать, одна из многих “изюминок” Gambas.
- Беспокоитесь насчет изоляции кровли? Обратите внимание – мембрана пвх кровельная позволяет не просто решить вопрос, а обеспечить здоровый сон, вселяя уверенность в практичности и современности решения.
- Если необходима лимонная кислота, обращайтесь только к надежным поставщикам!
Также вас может заинтересовать:
- Gambas – GridView Control – свойства, методы, события – описание и примеры
- Gambas – циклы DO, FOR, FOR EACH, REPEAT, WHILE
- Gambas – элемент управления гридом(сеткой) GridView, пример
- Gambas – ООП – создание своих классов и объектов в Бэйсике
- Gambas – объект DataSource, или снова о Базах Данных [howto]

