Программирование
Веб программирование

Модули VB

 
 

Модули нужны для объявления глобальных переменных, т.е. переменных которые могут использоваться во всем проекте (во всех формах...), и для объявления API функций. Чтобы создать модуль тебе надо войти в Project/Add Module и нажать Module. Все модуль создан! Отлично чел, ты создал свой первый модуль! Так держать! Но у тебя возникает вопрос: "Что я буду с ним делать?" - а что захочешь, но в начале тебе надо узнать о Public`e & Private`e. 

Ну короче префикс Private нужен для объявления переменных и им подомных внутри модуля.

А Public нужен для объявления переменных во всем проекте, т.е. глобальных. Ну как ты наверное понял - все это подготовка к API

Например:
Запиши в модуле строку:

Public Peremen as Long

Этой строчкой ты объявишь глобальную переменную: Perem, т.е. эту переменную могут использовать все формы, модули....

Поэксперементируй с переменными.

Так же в модуле можно создовать глобальные(Public), и обычные(которые будут работать только в модуле!(Private)) функции, т.е. ты сможешь разгрузить форму создав для функций отдельный модуль.


Есть вопросы? Спроси на нашем форуме!!
Михаил [19.12.2010 01:33]

Не могу понять почему если в модуле объявить переменную Dim x , она не сохраняет значение с каждым кликом обнуляется.

Private Sub Command1_Click()
x = x + 1
Label1.Caption = x

Андрей [16.04.2011 15:14]

Насколько я знаю Dim тоже, что и Private, а чтобы использовать её в форме надо писать Public x as long, мало того я хз как с модулем,но если ты пишешь Public x as lng в форме то для использования в другой форме надо писать Form1.x=... а с модулями ваще хз

Я,дурак [26.03.2012 22:37]

У Михаила грубйейшая ошибка,вмешоваться не буду т.к. я не юзер.

Мой вопрос: У меня 4 формы,пр.выполняется нормально.Что за Модуль,где декларир-ся Public. Данные из ф1 не выводится на ф4.Модуль создается до создания ФР1,как,как?

Я.дурак [26.03.2012 22:42]

Можно ли все коды проекта написать в Модуле,а Формы вызвать по необходимости ?

Алексей(alex13sh) [26.03.2012 23:19]

Можно только надо писать в модуле правильно без ошибок!!!

Алексей(alex13sh) [26.03.2012 23:31]

"Мой вопрос: У меня 4 формы,пр.выполняется нормально.Что за Модуль,где декларир-ся Public. Данные из ф1 не выводится на ф4.Модуль создается до создания ФР1,как,как?"
хз

возможно у тебя на первой форме эта перемена объяявляется. то есть
у тебя в модуле объявлена перемена а и на форме и они друг другу мешаю

у тебя случайно не так??

FireDay [27.03.2012 16:49]

"Мой вопрос: У меня 4 формы,пр.выполняется нормально.Что за Модуль,где декларир-ся Public. Данные из ф1 не выводится на ф4.Модуль создается до создания ФР1,как?"
Переменная должна быть объявлена только в модуле с помощью оператора Public. Так эта переменная будет доступна во всех четырех твоих формах. Если вы объявите переменную в модуле с помощью оператора Dim, то эта переменная будет доступна (т.е. сохранять свои значения) только из этого модуля.

FireDay [27.03.2012 16:53]

"Можно ли все коды проекта написать в Модуле,а Формы вызвать по необходимости ?"
События объектов (кнопок, пикчер боксов и т.п.) должны быть декларированы непосредственно в коде родительской формы. Однако можно загнать код кнопки в функцию/процедуру, а уже функцию/процедуру перенести в модуль, тем самым сократив размер кода в форме.

geranazavr555 [31.03.2012 17:12]

Public Peremen as Long

Для изменения значения Peremen надо писать модуль.Perem.

Чтобы этого не делать можно писать Global Peremen as Long. Но это только в модуле.

alex13sh [31.03.2012 17:26]

если в модуле объявлена глобальная переменная то не обезательно писать
модуль.перемен
можно просто перемен

и от куда ты это взял Global Peremen as Long ?? [31.03.2012 17:28]
пиши Public Peremen as Long и всё норм [31.03.2012 17:28]
Я, дурак [25.04.2012 23:05]

Алексей,зур Рахмат.Я понял свою ошибку и давно исправил.Вот зараза,башка не хочет думать-мне стыдно.
Еще вопрос-всем Юзерам ! Имею элементы (перем. интегер),(а,б,с,д,е,м,н) необходимо выбрать n-элемент т.е несколько элементов.Метод перестановки очень длинный.Как реализовать в кодах эту программу
просто и красиво. VB6-сволоч,многие вещи не реализованы.Например Input-сторочный пропущена,а ведь она очень нужна.Зур спасибо Заранее.

алексей [25.04.2012 23:16]

ты,дурак , не гони на vb6 в нём ного чё есть того что ты не знаешь
ты вообще знаешь что такое индекс или масив?
Ты этот учебник прочитал или только до сюда?
если тебе нужна конкретная помощь ищи меня в чате http://vbbook.ru/chat/flashchat.php#
я alex13sh
и кстате этот чат на этом сайте
я сегодня уже спать завтра буду
только если нужен буду то жди а не входи и выходи!!!

Я,дурак [25.04.2012 23:19]

Global X(х-переменнная ) в Sub-е нельзя,т.к. иногда выходит на ошибку.Лучше в модуле. Вопрос: Как,например Ф4 ИСПОЛЬЗОВАТЬ многократно, удалив все элементы Ф4,и создать новые.

алексей [26.04.2012 15:45]

глобал конечно в саб нельзя
а вот я пишу не глобал а публик я вот разницы нне наблюдаю

и ещё если в модуле глобальная переменная объявленна то больше такую же переменную не где не объявлять даже в саба (Дим)

v19307310 [10.12.2013 11:35]

.....ЛЛюди!!! АУ!!.....кто нибудь подскажите как на форму наложить данные другой формы , и как к коду первой формы добавить данные другого кода .....а то я за долбался...давно сижу..голова моя ...моя..сейчас..сейчас....ло...лооп..п.пп..

Shade970 [10.12.2013 17:36]

Вот код модуля:

Option Explicit

Public a As Long
Public b As Long

Dim ravno As Long

Public Function Slojenie()
ravno = (a + b)
Slojenie = (ravno)
End Function

Вот код на форме:

Private Sub Command1_Click()
a = (10)
b = (20)
Label1.Caption = (Slojenie)
End Sub

Shade970 [10.12.2013 17:38]

Или еще так.

Код формы:

Private Sub Command1_Click()
mModule.a = (10)
mModule.b = (20)
Label1.Caption = (mModule.Slojenie)
End Sub

v19307310 [21.01.2014 17:02]

Shade ты супер!...приспасибки тебе



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.