2016-03-12 2 views
2

Как инициализировать значение переменной во время объявления.Инициализировать целочисленное значение во время объявления vb6

Я использую VB6, Я попытался

общественности я, как целое число = 0

но я получил ошибку

ОЖИДАЕТСЯ: Конец заявления, и "=" подсвечивается

Я хочу установить начальное значение на 0.

Edit от комментариев:

Я хочу, чтобы создать форму входа без помощи базы данных ..

Модуль: Так что я создал user_name (1 до 10) - массив и пароль (1 10) массив

form1 Я хочу зарегистрировать дО 10 пользователей каждый раз, когда величина I с шагом // форма // = 1 register_user (I) = uname register_pass (I) = upass I = I + 1 // end //, но каждый раз, когда я перехожу к этой форме, значение снова устанавливается на 1, что мне делать.

ответ

8

В VBA и VB6 вы не можете инициализировать переменные. Вы должны использовать исполняемый оператор.

Однако каждая переменная имеет значение инициализации по умолчанию.

Из VB6 documentation:

Когда переменные инициализируются, числовая переменная инициализируется 0, строка переменной длины инициализируется нулевой длины строки в («»), и фиксированный Строка длины заполняется нулями. Варианты переменные инициализируются пустым. Каждый элемент пользовательской переменной типа инициализируется так, как если бы это была отдельная переменная.

Так на самом деле, в вашем случае,

public i as integer = 0 

не работает, но на следующий stement делает работу, и делает только что:

public i as integer 
+0

Это ваш ответ. «Когда инициализируются переменные, числовая переменная инициализируется равным 0.» Включите окно местных жителей, если вы еще этого не сделали, и перейдите к соответствующему подразделению. Хит F8 один раз, чтобы войти в него и посмотреть на переменную public. Он уже будет установлен в 0. Это значение по умолчанию для целого числа. – Rodger

0

Я думаю, проблема заключается в том, что вы пытаетесь создать экземпляр публичной переменной при объявлении ... Dim i As Integer: i = 1 работает, но не является общедоступным. Вы можете либо сделать это, либо объявить публичную переменную, а затем создать ее в первой строке sub.

+0

Это то, что я хочу сделать .. Я хочу, чтобы создать форму входа без помощи базы данных .. модуль // Так я создал user_name (1 до 10) - массив и пароль (от 1 до 10) массив концевой модуль // затем в Form1 // Я хочу зарегистрировать дО 10 пользователя каждый раз, когда значение из я увеличивает // форма // = 1 register_user (I) = uname register_pass (i) = upass i = i + 1 // end // , но каждый раз, когда я иду что форма значение снова устанавливается на 1 Что делать. –

+0

@ M.Jags Вы должны включить этот вид информации в свой вопрос, используя ссылку «Изменить» под ним. Я скопировал то, что вы разместили здесь, но я думаю, что он может быть отформатирован лучше и быть полным. Поскольку я не совсем уверен, что вы имеете в виду, я более или менее оставил его «как есть» и надеюсь, что вы его очистите ... –

0

Vacip ответил с точки зрения установив его на 0, как вы просили, но для того, чтобы его построить ... Если вам нужна общедоступная переменная, которая запускается как нечто отличное от значения по умолчанию, вы должны установить ее в это значение при первом вызове в суб.

Если у вас есть несколько подписчиков, которые могли бы назвать это в первый раз, а затем они передаются взад и вперед, вам необходимо проверить, чтобы он еще не был установлен. вы можете сделать это с помощью public boolean.

Если вы включите своих местных жителей и пройдете через это, вы увидите один из способов сделать это.

Public iTesti As Integer 'defaults to 0 
Public bTesti As Boolean 'defaults to FALSE 

Public Sub testi() 
If bTesti = False Then 'btesti is false and iteseti is 0 
    iTesti = 1 
    bTesti = True 
End If 
iTesti = 2 
testi2 
End Sub 

Public Sub testi2() 
If bTesti = False Then 'btesti is true and itesti is 2 
    iTesti = 1 
    bTesti = True 
End If 
iTesti = 3 
End Sub 
Смежные вопросы