Byref
Автор Денис Нагибин задал вопрос в разделе Другие языки и технологии
records и ByVal в VB и получил лучший ответ
Ответ от Ѓдачник[гуру]
ByVal это передача параметра по значению, а ByRef по ссылке.
ByVal приводит к тому, что для вводимой за ним переменной при вызове процедуры создаётся копия, которая исчезает по окончании работы процедуры и никак не может повлиять на значение переменной, для которой эта копия создаётся.
Для переменной ByRef (даётся по умолчанию) копия не создаётся. Значение переменной ByRef процедура может изменить, а значение переменной ByVal – нет.
Теперь по-русски. У тебя есть переменная index, которая определена где-то за пределами подпрограммы FillQuestion, и когда ты ее вызываешь из основной программы, ты пишешь: Call FillQuestion (quest, records, index)
Когда выполнение программы переходит к выполнению подпрограммы, оно встречает префикс ByVal index в заголовке.
При этом переменные quest и records задаются по умолчанию с префиксом ByRef, а index - с префиксом ByVal.
Это значит, что если переменная quest или records будет изменена внутри подпрограммы, то она так и останется измененной, когда выполнение вернется к основной программе, а переменная index при входе в подпрограмму копируется как-бы в другую переменную с тем же именем index, и с тем же старым значением, поэтому она может быть изменена сколько угодно, а при возврате в основную программу эта как-бы переменная стирается, и имя index возвращается к основной переменной и получает старое значение.
Теперь про records. Но здесь я уже менее уверен.
В заголовке подпрограммы FillQuestion (quest As Question, records As Variant, ByVal index As Integer)
ты задаешь переменную quest типа Question, который ты сам же и определил, переменную records типа Variant, то есть самонастраивающийся и переменную index типа Integer, то есть целое число.
Тип Variant означает то, что реальный тип переменной будет такой, какой ты задашь при первом обращении к переменной.
То есть, если ты напишешь records = 5, то records станет типа Integer, а если напишешь records = "Вася", то типа String.
Тип Question мы определяем самостоятельно как список переменных: Count типа целое, AnswerType типа целое, Text типа строка, Answers(0 To 3) - одномерный массив из 4 элементов типа строка, AnswerCode типа строка.
Records, как я понял - это массив, члены которого имеют разные типы.
В подпрограмме мы задаем, что Count - это число, равное значению records(0,index), AnswerType - это число, равное значению records(1,index), Text - это строка, равная значению records(2,index).
Вроде бы так.
Кто знает сайт журнала BRAVO?
На русском языке : #yahrefs88597#
Официальный сайт на немецком : #yahrefs88598# (всё-таки
подробнее...
Brevi manu! Перевод и творческое по вашему желанию продолжение фразы каково?
Ну это латынь. Насколько я понимаю "Короткая рука" дословно
смотрим словари
Латынь
подробнее...
Что означает Barev dzes
дословного перевода нету , а так "Здравствуйте" или "Привет всем"
dzes- вам
Barev- не
подробнее...
Помогите зделай транскрипции к словам : good, bad, pretty, brave, smart,
good [gud], bad [bæd, pretty \'priti, brave [breɪv]. smart
подробнее...
Надежно ли покупать авиабилеты на сайте Bravoavia.ru ?
Это на каких это выше то? На aviasales.ru? Bravoavia - обычный посредник, но не скажу чтобы уж
подробнее...
объясните это. Дисплей Sony Ericsson Xperia neo V Технология экрана : TFT (Reality Display with Mobile BRAVIA® E
Реализация BRAVIA Engine в мобильных телефонах Sony Ericsson
Как вы все хорошо знаете,
подробнее...
Телевизор SONY BRAVIA хорош?
В 2012 году Sony пошла навстречу покупателям своих телевизоров и очень облегчила им выбор. Вместо
подробнее...
ХЕЛП!!! надо подключить сканер Mustek BearPaw 2400CU Plus на Windows7.
вот тут - родные
подробнее...
Где можно купить матрицу от телевизора Sony Bravia.
Отдельно заказать матрицу к телевизору Sony невозможно. См. ссылку
подробнее...
Куда делись Биг мама и Даня из BRAVO?
Биг мама ушла ((((( вот с контакта:
БИГМА БОЛЬШЕ НЕ РАБОТАЕТ В BRAVO
Наташа Мостакова
подробнее...
Почему одно и то же слово brav(e) по-английски значит"смелый", а по-немецки"послушный"?
По-немецки brav - не только послушный (о ребёнке) ,
но и добрый, честный, порядочный, хороший.
подробнее...
слова nice strong brave wide funny fairy в 3 степенях сравнения
nice - nicer - (the) nicest
brave - braver - (the) bravest
wide - wider - (the) widest
подробнее...