5:25 - сверил все символы, но оставляя курсор за рубежом команд у мне при любом раскладе выводит "Hello", как у вас вначале. после reset у вас вывел вопрос какое сообщение вывести, но у меня ничего не меняется
Добрый день. Зачем в параметре вызываемой процедуры опять задавать тип данных String? Если мы в процедуре, которая вызывает уже это задали? Попробовал - также прекрасно работает.
В языках со строгой типизацией принято указывать тип параметра, иногда компилятор или интерпретатор сам может вывести параметр, как в Вашем случае, тем более, что VBA не является языком со строгой типизацией, поэтому и тип можно не указывать. Но я учу вас, как правильно писать код, чтобы не больно было переходить на другие языки программирования, вот какая цель этого видеокурса. Вообще, без строгой типизации в процессе выполнения, программы могут иногда себя вести непредсказуемо (процедура предполагает один параметр, а ей, например, передали другой), такие ошибки трудноуловимы, вот в чем смысл строгой типизации в других языках. Указывать тип параметров - это хороший тон в программировании.
Если программа зацикливается, нажмите ALT+CNTRL+BREAKE(pause) иногда помогает. При рекурсивном вызове, скорее всего получите переполнение в стеке, т.е. ошибку. Странно, почему мне Ваш вопрос на почту не пришел, только, что увидел, Спасибо за интересный вопрос )
+Иван Ч если вы передаете в процедуру или функцию переменную любого простого типа по ссылке, т.е. ByRef, тогда вы можете изменить эту переменную, также вы можете передать много таких переменных и все их изменить. Функция же возвращает только одно значение. Весь этот синтаксис предназначен для удобства написания кода, можете употреблять, как вам больше нравится, но есть определенные не формальные правила написания кода, и их стоит придерживаться. Просмотрите видеокурс до конца.
Процедура с параметром ByVal не изменяла саму переменную. Просто печатала soobsh & "555". Если в качестве параметра указана ссылка на переменную (ByRef), то функция идет по ссылке и меняет саму переменную, на которую ссылается параметр. ByVal - просто подставляет значение переменной в функцию (копирует значение), но переменную не изменяет ByRef - идет по ссылке и работает с самой переменной Просто напечатайте значение переменной в конце main() в обоих вариантах - и все увидите. В первом случае оно так и останется "Наше сообщение", во втором - будет "Наше сообщение 555"
Автор, очень благодарна за Вам старание. Все так, нужная и полезная инфа. Но позвольте все же упрек - неужели трудно выучить и пользоваться терминологией, чтобы не говорить "вот это означает вот это". И научиться наконец, увеличивать рабочую область, чтобы было видно, текст? Зачем нам весь пустой белый экран, почему не показать текст процедур и функций? Не обижайтесь, пожалуйста. Все равно Вам спасибо большое.
Слушаю уроки с огромным удовольствием. Умнею прямо на глазах... Дружище, дай бог тебе здоровья.
+Павел Косарев Спасибо! )
А в чем разница между MsgBox и Call MsgBox ?? там и там появляется окно с указанным аргументом.. Заранее спасибо!
Благодарю! Отличные уроки!
Всё понравилось, спасибо.
Раз посмотрел второй раз пересмотрел и сделал. Все понял! Спасибо за видео!
Спасибо большое за урок, очень информативный и понятный
+Роман Хабаров , пожалуйста )
Отличные уроки!
Спасибо! )
Спабо Вам огромное!
Пытался понять этот момент через книги, но ясного понимания так и не было, после этого урока всё встало на свои места.
Супер,
я рад, что мои курсы приносят понимание людям!
хэллоу вёлд)
меня это убивает :))) Человек простой, не заморачивается, просто тупо идет к своей цели
Халлоу Вёлд :)
5:25 - сверил все символы, но оставляя курсор за рубежом команд у мне при любом раскладе выводит "Hello", как у вас вначале. после reset у вас вывел вопрос какое сообщение вывести, но у меня ничего не меняется
Cпасибо! Доступно, но как мне кажется, немного затянуто (а может мне это кажется). Ещё раз СПАСИБО!!!
все относительно
заметил, флажок Toogle Bookmark не должен подсвечиваться
Я пишу Call Prostitutes, но никто не вызывается? в чем дело?
Карта не привязана )))
@@SV-13 😂
Это видео было не понятным. Можно было показать на реальном практическом примере. Но лайк все равно поставлю )
Добрый день. Зачем в параметре вызываемой процедуры опять задавать тип данных String? Если мы в процедуре, которая вызывает уже это задали? Попробовал - также прекрасно работает.
В языках со строгой типизацией принято указывать тип параметра, иногда компилятор или интерпретатор сам может вывести параметр, как в Вашем случае, тем более, что VBA не является языком со строгой типизацией, поэтому и тип можно не указывать. Но я учу вас, как правильно писать код, чтобы не больно было переходить на другие языки программирования, вот какая цель этого видеокурса. Вообще, без строгой типизации в процессе выполнения, программы могут иногда себя вести непредсказуемо (процедура предполагает один параметр, а ей, например, передали другой), такие ошибки трудноуловимы, вот в чем смысл строгой типизации в других языках. Указывать тип параметров - это хороший тон в программировании.
спасибо за уроки.
что будет если из вызываемой процедуры вызывать вызывающую --если программа зациклица то как её остановить ?
Если программа зацикливается, нажмите ALT+CNTRL+BREAKE(pause) иногда помогает. При рекурсивном вызове, скорее всего получите переполнение в стеке, т.е. ошибку. Странно, почему мне Ваш вопрос на почту не пришел, только, что увидел, Спасибо за интересный вопрос )
Язык паскаль почти такой же
это просто водопад целый
А чем отличается процедура с Byref от функции? И та и та заменяет переменную в главной процедуре на себя
+Иван Ч если вы передаете в процедуру или функцию переменную любого простого типа по ссылке, т.е. ByRef, тогда вы можете изменить эту переменную, также вы можете передать много таких переменных и все их изменить. Функция же возвращает только одно значение. Весь этот синтаксис предназначен для удобства написания кода, можете употреблять, как вам больше нравится, но есть определенные не формальные правила написания кода, и их стоит придерживаться. Просмотрите видеокурс до конца.
Процедура с параметром ByVal не изменяла саму переменную. Просто печатала soobsh & "555".
Если в качестве параметра указана ссылка на переменную (ByRef), то функция идет по ссылке и меняет саму переменную, на которую ссылается параметр.
ByVal - просто подставляет значение переменной в функцию (копирует значение), но переменную не изменяет
ByRef - идет по ссылке и работает с самой переменной
Просто напечатайте значение переменной в конце main() в обоих вариантах - и все увидите.
В первом случае оно так и останется "Наше сообщение", во втором - будет "Наше сообщение 555"
К сожалению с 17 минуты ничего не понял
Здравствуйте, Тимур! Посмотрите в этом видеоуроке. Там также рассказано на эту тему с примерами: ruclips.net/video/ChnEjofJt1A/видео.html
Автор, очень благодарна за Вам старание. Все так, нужная и полезная инфа. Но позвольте все же упрек - неужели трудно выучить и пользоваться терминологией, чтобы не говорить "вот это означает вот это". И научиться наконец, увеличивать рабочую область, чтобы было видно, текст? Зачем нам весь пустой белый экран, почему не показать текст процедур и функций?
Не обижайтесь, пожалуйста. Все равно Вам спасибо большое.
да все нормально! Тише Тише )))
Всё-таки, понимание и объяснение - не одно и то же ((