Qraizer
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору TheChampion Mr Nobody Ну, я просто пример привёл, как иделогия одного языка лихо прижилась в куда как более другом. В том VBA, что у нас юзается (вовсе не в MSном продукте, просто наш тестовый движок построен на лицензированном у MS VBA-script интерпретаторе, а сами мы занимаемся верификацией ПО в области Авионики, MSу в явном виде тут места нет), нет типов данных. Вернее, он всего один Variant. Нет и логических операций, только битовые. Поэтому True равно -1 , то есть 0xFF, если угодно. Эта строка из тестового скрипта, который тестирует логику из требований, согласно которым данные от пилота и второго пилота должны синхронизироваться по определённым событиям. В данном случае - скорости, которых в данной модели шесть (ну, кто в курсе, это V1, Vr, Vse итп), p4 и p5 - это параметры функции (первый и второй пилот соответственно), которые говорят от кого и кому должны были быть переданы данные для синхронизации, и какие именно скорости должны были у другой стороны измениться. Одна и только одна из p4 и p5 должна быть X (которая объявлена как константа, равная -1) и она типа источник данных для синхронизации. Вторая соответственно приёмник, и её значение - это номер скорости из шестёрки. Тестстепов много, а функция типа универсальная. GetVSpeedModes() возвращает строку (самый удобный в VBA способ собирать последовательности однотипных данных произвольного размера), которая содержит нужные изменения скоростей в виде "0" или "1", длиной 12 символов. Тоже одна на все тестстепы. Приведённая мной строчка вырезает нужную пару символов (в зависимости от её номера на конкретном тестстепе с поправкой на источник/приёмник). Обычно у нас здесь пишут IF с щестиCASEовым SELECTом в каждой ветке. Я написал одно выражение в C-стиле. Работает.
---------- Одни с годами умнеют, другие становятся старше. |
|