Обучающие статьи. Урок - Список значений и массивы в BAS

Эта статья была обновлена 01 Июня 2022, Ср
Оглавление
  1. Список значений и массивы в BAS
  2. Пример типа данных Список значений
  3. Полезный метод НайтиПоЗначению("ИмяЗначения")
  4. Список значений с вложенной структурой
  5. Массивы в BAS
  6. Метод Вставить()
  7. Массивы. Общий вид
  8. Метод ВГраница()
  9. Массивы. Использование метода ВГраница()
  10. Метод Найти()
  11. Поиск в массиве
  12. Метод Получить()
  13. Метод Установить()

Список значений и массивы в BAS

Наша серия обучающих статей. Ознакомимся списками значений  и массивами в программе BAS.

Несколько похож на структуру, но имеет ряд более широких возможностей. Список зачастую применяют для работы с интерфейсом (выбор значения в выпадающем списке), создания некой структуры отбора для параметров запроса или для некой специфической задачи, например, временном хранении ряда переменных или иных значений и поиск по ним.

Пример типа данных Список значений

Список значений в BAS

На выходе у нас будет следующий список значений

Пример списка значений с вложенной структурой

Как видно список похож на структуру. В списке, кроме непосредственно значения, есть еще колонки.

«Представление» - где можно указать представление значения.

Например:

Для Значения «Петя» можно указать представление «Петя Петров Петрович», т.е. значение не привязано к представлению.

«Картинка» – какая-то общая или ваша картинка, если необходимо.

«Пометка» - можно указать Истину или Ложь, для каких-то специфических отборов.

Отличие метода Вставить() от аналогичного в структуре в том что мы не заменяем существующее значение, а сдвигаем его далее по списку.

Полезный метод НайтиПоЗначению("ИмяЗначения")

- возвращает Элемент списка значений или значение «неопределено».

Неопределено – это когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу, т.е. оно не определенное.

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

Список значений с вложенной структурой

Список значений с вложенной структорой в BAS

В результате у нас получился список значений с вложенной структурой

Список значений с вложенной структурой

Таким образом, мы можем организовать вложенность хранимых данных. Зачем нам это может быть нужно?

Например:

Чтобы добраться до вложенных данных и обработать их после или принять решение на основании существования таких данных. Давайте сделаем мини пример.

Список значений с вложенной структурой

Списки значений в BAS

Давайте разберем, что мы написали. Первая новая конструкция – генератор случайных чисел. Это встроенная функция, которая возвращает случайное число. В генератор мы вводим два числа, минимальное и максимальное, генератор выдает случайное число между значениями.

Далее определяем список переменных. Если их не определить, могут появиться ситуации, когда переменная Гость 1 и Гость 2 не будут заполнены и это вызовет ошибку.

Затем с помощью знакомых нам уже логических условий заполним переменные.

Теперь заполним список значений полученными переменными и далее заполним структуру.

После заполнения проверим количество и выведем сообщение пользователю в зависимости от результата.

Вторая новая конструкция – «СписокДнейРождения[1].Значение.Количество() <> 0»

В списке значений у нас сейчас две строки, первая значение – кто то из именинников, представление число его дня рождения, вторая строка это структура гостей.

Структура гостей имеет две строки с гостем 1 и гостем 2. Для того чтобы непосредственно обратится к определенной строке, нужно указать ее индекс в квадратных скобках.«СписокДнейРождения[1]» наша структура расположена в колонке Значение. Обращаемся к ней.

  • «СписокДнейРождения[1].Значение». Если мы захотим узнать конкретно значение первой строки структуры, то выражение будет иметь такой вид:
  • «СписокДнейРождения[1].Значение[0].Значение».

Напоминаем, вся нумерация в BAS начинается с ноля, т.е. первая строчка будет иметь индекс (номер) 0;

Массивы в BAS

Массивы

во многом аналогичны предыдущим двум типам данных, списку значений и структуре, но имеет и ряд отличий от них.

Массив, как и список значений можно использовать в параметре запроса.

Метод Вставить()

работает не так как у списка значений. Обязательным параметром этого метода является «индекс строки». Если индекс находится за границами массива, то будут добавлены пустые строки в зависимости от разницы индекса последней строки и нового индекса.

Массивы. Общий вид

Массивы

В результате массив будет таким

Пример массива BAS

Метод ВГраница()

У нас было только два индекса до добавления списка значений в пятый индекс. После добавления образовались строки 2-4 с неопределенными значениями. Тут нам и пригодится еще один метод массива «ВГраница()». Этот метод возвращает самый большой индекс массива. Перед добавлением списка значений этот метод вернет 1, т.к. на строке 0 у нас текст, а в строке 1 число.

Можно использовать такой прием, чтобы не ошибиться с индексами

Массивы. Использование метода ВГраница()

Листинг кода массивы BAS

Таким образом, мы указали, что вставить нужно на следующую строку после последней строки.

Метод Найти()

Поиск в массиве тоже работает несколько иначе. Соорудим небольшой код.

Поиск в массиве

Листинг кода 3

Метод "Найти()"возвращает не значение как в списке, а индекс строки. По этому для того чтобы сообщить значение переменной сотрудник в массиве, нужно указать индекс строки где это значение расположено. Аналогично эта строка выглядит так «Массив[0]», где 0 это «Массив.Найти(Сотрудник)»

Метод Получить()

абсолютно аналогичен оператору «[…]» двойные квадратные скобки.

Метод Установить()

- это аналог «Вставить()» из списка значений. Указываете индекс строки, куда нужно вставить значение и непосредственно само значение.

Так же, наша компания проводит обучение по курсам:

 Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 13 )
Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua