Стас Корниенко (stkorn) wrote,
Стас Корниенко
stkorn

Category:

Microsoft Visual Basic для приложений

   Встроенный Visual Basic приложений Microsoft очень удобно редактировать на двух мониторах.
   На одном - приложение, на другом - редактор Basic'а.

   Только вот, будете работать - снимите галочку "Auto Syntax Check". Иначе когда вы в стопятьсотый раз перейдёте на другую строку (например, чтобы скопировать выражение), при этом не дописав до конца строку кода - вам захочется разбить монитор об голову разработчика среды разработки. Действительно, разве можно было сообразить, что в России найдутся люди, которые прыгают со строчки на строчку, что-то копируют, а не пишут её от начала и до конца с клавиатуры?

5.11 КБ


   Похоже, что Microsoft всерьёз не рассчитывала, что разработчики Visual Basic будут уметь пользоваться буфером обмена. Что ж, легенды о легионах программистов-индусов, работающих за еду, кажутся мне не такими уж вымышленными.



   И ещё из интересного. Как вы думаете, какой числовой эквивалент логической истины и логической лжи в Visual Basic'e? Думаете, 0 и 1? А вот и не угадали, цитирую:

•  Integer. False (0) if a cell doesn't exist; True (-1) if it does.

   Йа фшоке, дорогая ридакцыя!



   А ещё в Visual Basic'е совершенно непонятно, когда для передачи параметров методу класса нужны скобки, а когда они лишние. На мой взгляд передача параметров без скобок выглядит довольно стрёмной - но она видимо досталась в наследство от старого классического Basic'а.

   Ярчайший пример - метод Select объекта Window. Согласно документации, параметры к нему должны передаваться в скобках:

10.41 КБ


   Однако, на практике оказывается, что если параметры заключить в скобки - такую конструкцию Basic сочтёт ошибочной:

14.55 КБ


   В то же время без скобок всё замечательно работает:

4.57 КБ




   Главное преимущество Visual Basic'а- полная интеграция с внутренней объектной моделью программных продуктов семейства Microsoft Office.

   И кстати, очень полезная при разработке для Microsoft Office функция - запись макрокоманд. Включаешь запись, выполняешь все нужные действия, а потом смотришь, какие объекты и методы они использовали. Зачастую они оказываются весьма нетривиальными.

   Вот, например, в Microsoft Visio есть объект фигуры Shape. Кажется, что должно быть свойство, позволяющее задать толщину её линии, например так:

•  Shape.LineWeight = 0.24

   Но нет! Кто бы мог предположить, что из-за хитрой универсальности и поддержки различных единиц измерений это выполняется куда более сложной командой:

•  Shape.CellsSRC(visSectionObject, visRowLine, visLineWeight).Result(visPoints) = 0.24

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



   Вот такой вот загадочный язык Visual Basic.
 
Tags: Ненависть сисадмина
Subscribe

Recent Posts from This Journal

  • Лирика "Дельфина"

    Лирика Дельфина - чистый концентрат экзистенциальной боли бытия. "Сверкая от красоты печали, силы злости и свободы отчаяния, он оригинален и…

  • Сплин - "Резонанс. Часть 1"

    Традиционный музыкальный обзор: "Сплин" выпустили новый альбом " Резонанс. Часть 1": http://music.yandex.ru/#!/album/1801924 На мой взгляд…

  • Дельфин - QT

    Дельфин, как обычно, гениален. Никогда бы не подумал, что мне понравится что-то, что содержит значительную долю абстракционизма. Но эта песня…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 9 comments