Win32 API Add-In для VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Messir
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 15.08.2003 (Пт) 14:29

Win32 API Add-In для VB

Сообщение Messir » 15.08.2003 (Пт) 14:39

Предлагаю всем на расмотрение надстройку для VB, автоматизирующую объявление констант, типов и функций из Windows API - теперь их можно использовать как встроенные в VB. Как небольшой бонус сделана поддержка скроллера в окнах редактора кода.
Кого заинтересовал этот Add-In, просьба мылить мне на ящик (28021986@ua.fm или 28021986@rambler.ru). Сюда же обращаться с пожеланиями и предложениями (а также с критикой!)
Вложения
API_ADD.zip
А это сам Add-In со словарем
(159.13 Кб) Скачиваний: 177

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.08.2003 (Сб) 4:26

РУЛЕЗЗЗ!!!!!!!!

Вот.

Мелкая позорная критика:
  • скроллер - это круто, но, скачав свежие дровишки для своей мыши и установив их, можно достичь того же эффекта :wink:
  • можно добавить строку option explicit в модуль modWinApi. Ну не могу я кодить, пока во всех модулях и классах этой строки не будет :twisted:
  • Константы люблю объявлять с типами (к примеру, не Public Const SPI_GETMOUSE = 3, а Public Const SPI_GETMOUSE As Long = 3
  • Можно добавить такую фичу, чтобы юзер мог выбирать - добавлять ли новые апишки в modWinApi как public, или же совать их в текущий редактируемый модуль класса как private. Просто, к примеру, пишу класс menu, и мне удобнее, чтобы его апишки в нём же и обретались.
  • Нет многих функций. Качни ApiViewer 2003 (1.5 Мб) - у него база ого-го, может, найдёшь способ её заюзать :twisted:
  • Юзаю я функцию (к примеру, getsystemmetrics). У неё единственный аргумент типа long. Юзать её в таком виде прекрасно можно, но я (исключительно для удобства), когда объявляю её вручную, делаю ещё и энум из всех значений параметра этой функции, а саму функцию объявляю как getsystemmetrics(byval index as myenum) as long. Так вот если бы была такая фича, что юзаешь функцию - и тебе в модуль добавляется этот её параметрический энум, то вот это было бы вообще рулезно. Разумеется, должна быть возможность отключать эту фичу, а то вдруг челу только один параметр и нужен. Но это уже я разошёлся. :wink:


ЗЫ: Модеры, сделайте этот топик прилепленным.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 17.08.2003 (Вс) 11:40

Очень глупый вопрос, но...
Что с ним делать??? (В смысле, куда подключать?) :oops:
Нет меня больше

Messir
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 15.08.2003 (Пт) 14:29

Сообщение Messir » 17.08.2003 (Вс) 21:03

2 GSerg:
Спасибо за критику! Буду работать!
З.Ы.: Я уже почти заточил его под словарь от API Viewer'a 2003. Так что скоро выйдет следующая версия. В ней планирую также сделать поддержку нескольких словарей сразу (причем они могут быть как текстовые (как Win32API.txt), так и двоичные (как Win32API.apv). А в пользовательском словаре можно будет модифицировать функции - т.е. объявляешь ее как тебе хочется, с энумами и прочими прибамбасами, и она будет объявляться именно так, а не как это описано в основных словарях!

2 A.A.Z.:
Его сначала регистрируешь (regsvr32), потом зашодить в VB, там выбираешь Add-Ins/AddIn Manager, а в нем нашодишь и загружаешь VB 6 Win32 API Scripting Add-In (можно также поставить опцию загружаться при запуске VB ("Load on Startup")). И все!
<<MESS WITH THE BEST,
DIE LIKE THE REST>>

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.08.2003 (Пн) 11:27

Очень даже классно :)
Правда мне больше понравился скроллер, а API я уж привык вручную :)
Даже свой WinApi.bas накатал, в котором аргументы многих функций (SendMessage, GetSystemMetrics и т.п.) объявлены не как Long, а через Enum :)
Но все равно классный адд-ин. Только сам процесс добавления декларации в модуль modWinApi происходит как-то совершенно незаметно :) И не поймешь, добавилась декларация, или нет.
Lasciate ogni speranza, voi ch'entrate.

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 18.08.2003 (Пн) 18:13

Ещё один глупый вопрос - что с ним делать??? :oops: :oops: :oops:
Я сделал всё как было написано, он мне добавил модуль "modWinApi", но я так и не понял, что с ним делать... :oops: :oops: :oops: .
Думал, что не надо объявлять функции - нет, набрал "SendMessage", поставил пробел - ничего, поставил скобку - опять ничего. Объясните, плиз!.. :oops: :oops: :oops:
Нет меня больше

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.08.2003 (Вт) 15:46

:lol:
Строка кода компилируется после её ввода, но не во время оного! Ты просто пиши имя функции (не в модуле modwinapi, а где нужно), написав имя, уходи на другую строку, а потом сразу возвращайся и дописывай.
:lol:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 19.08.2003 (Вт) 16:01

Ничего она не компилируется! "Sub или функция не определена" и всё! :!:
Нет меня больше


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42

    TopList