Страница: 1 | 2 |
Ты не делаешь переменные с помощью Option Explicit, а всего лишь не можешь их не задать. Никто не мешать тебе явно указать тип переменной и без Option Explicit. y=текст - это 100% тип String x=число - зависит от размерности числа Как уже говорилось, если 0...255 - Byte, -32768...32767 - Integer -2147483648...2147483647 - Long Другие вряд ли тебе понадобяться и использовать их не рекомендую пример: Dim y as String Dim x as Integer Ну и определись где ты их будешь задавать - в модуле, в контейнере или в самой процедуре (как уже сказал Artificial Intelligence). Есть еще один вариант - Static, но он используется редко. И если, как говоришь, их будет много - проще создать массив. Пример: Dim x(100) as Integer Dim y(25) as String В общем, вариантов много, лучше скажи что ты хочешь получить, задача у тебя какая? Да нет ты можеш написать... в первом случае... Private Sub Form_Load() но тогда переменные x и y автоматически будут объявленны как Variant а можешь... Option Explicit Private Sub Form_Load() результат тот-же но переменные ты обьявил как String... мораль в том что тип Variant занимает на несколько байт больше чем String... вот и всё...если ты только начинаешь писать программы то не забивай себе голову этим... У тебя... Dim x as String,y as integer LamerOnLine, ты чего? Если он сейчас не будет высталять option Explicit, то он и в будущем этого делать не будет! Учил бы лучше правилам хорошего тона. Например как писать комменты, как называть переменные, функции, а то x, y и забей на option explicit...так нельзя... Александр, за что ты так с Integer'ом? Ты слишком хорошего мнения о нем... Кажется все рассказали, но я и свой пятак хочу вставить. Если собираешься серьезно заняться VB, то поступай правильно, т.е. как положено (объявляй все переменные как положено), учись сразу. Конечно переменные можно и не объявлять, но это может войти в привычку, и далее ты только так и будешь поступать, а это не профессионально. Осмелюсь заявить, что ни одна мало-мальски серьезная программа не обходится без переменных, поэтому раз и навсегда ознакомься с этой темой, в дальнейшем пригодится. Я помню как ломал себе голову когда только начинал, как впрочем и многие другие, Ты не исключение, учись как положено, а не как быстрее и без пользы. В 6-ом ответе выложено подробнейшее описание переменных, но тебе могут быть непонятны некоторые термины, не стесняйся переспрашивай до тех пор пока не поймешь. Бывалые программеры знаешь ли думают что все настолько элементарно, что некоторые вопросы можно оставить и без ответа, или ограничиться сухим изложением справки, содержащей кучу непонятных слов для новичка. Так что если что-то кажется тебе понятным, но не работает, или не работает так, как хотелось бы значит что-то всеже не понято, нужно спрашивать по новой. Ничего, освоится - будет задавать все явно. Быстродействие VB заставит его заниматься оптимизацией программ Тем более, что пока забивать голову этим - морока. В каждом языке есть типы переменных, и многие из них называются иначе. А некоторых в VB вообще нет! Достаточно для начала усвоить их название по размерности: Byte, word, dword и т.п. чтобы немного ориентироваться. А если ему и надо написать какую-нибудь лабу, то все равно, работает она быстрее или медленнее. А насчет Integer он и правда загнул! Видать, машина крутая, и в байте у него не 8 бит... А может каждый бит принимает больше двух значений... ) И вообще - запасайся учебниками как электронными, так и книгами. Это полезнее. User Unknown, я просто спутал. Но хотелось бы чтобы было так... Ну зачем себя так утруждать. VB (особенно .NET) - автомат. Он в буквальном смысле всё делает за тебя. Если хочешь заниматься настоящим программированием - учи другой язык. Нахрена это предварительное объявление. От него только нервы портить, а если используешь API, то плюс перегрузка IDE на каждой ошибке пока не освоишься. Не пойму почему вы удивляетесь что Александр не знает диапазон целого числа со знаком. А если я вас спрошу почему именно такой диапазон в числе или как разбить его по битам или изменить биты в нём? Каждому языку свои знания. Я лично в VB его не использую. А в PB почему-то использую . Наверное зависит от такого что тебе сказали в начале твоего программистского пути. У меня в начале Инета не было, а был только Help на английском и Win16 API для C++. Если не сложно смени себе ник на другой, а то мы с тобой братья что ли получаемся.. CyRax, ты прав... Я просто забыл это. К тому же я учил это в 10 классе. А прошло три года. Если мне нужен диапазон больше и я чувствую, что не в Integer не влезет, то я просто ставлю Long. Это напомнило мне мое программистское (да и биологическое тоже) детство. Сейчас я уже знаю что это за ошибка. Но тогда я ещё не знал ни английского ни компьютера. Как сейчас помню... А было это на Spectrum. Я не знал что это слово обозначает (хотя конечно вычислил почему выскакивает ошибка), и каков предельный диапазон числа. По этому оно до сих пор для меня как заклинание. Вот оно: Integer out of range. Мой любимый афоризм. всем огромное спасибо, разобрался CyRax мы с тобой типа братья по оружию, я тоже начинал со спектрума, многова добился, только это было около восьми лет назад, сейчас работа не такая напряженная как раньше, вот и решил вспомнить молодость, сделать че нить свое
Вопрос: помогите ламеру с переменными
Добавлено: 30.01.04 09:40
Автор вопроса: Новичек2
Ответы
Всего ответов: 28
Номер ответа: 16
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #16
Добавлено: 30.01.04 11:42
Номер ответа: 17
Автор ответа:
POD_Luka
ICQ: 334099107
Вопросов: 10
Ответов: 19
Профиль | | #17
Добавлено: 30.01.04 11:48
x = "aaa"
y = "bbb"
End Sub
Dim x As String, y As String
x = "aaa"
y = "bbb"
End Sub
Номер ответа: 18
Автор ответа:
POD_Luka
ICQ: 334099107
Вопросов: 10
Ответов: 19
Профиль | | #18
Добавлено: 30.01.04 11:56
Номер ответа: 19
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #19
Добавлено: 30.01.04 12:00
Номер ответа: 20
Автор ответа:
Smith
ICQ: ненавижу
Вопросов: 28
Ответов: 317
Web-сайт:
Профиль | | #20
Добавлено: 30.01.04 12:14
Номер ответа: 21
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #21
Добавлено: 30.01.04 12:21
Номер ответа: 22
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #22
Добавлено: 30.01.04 16:46
Номер ответа: 23
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #23
Добавлено: 30.01.04 17:11
Номер ответа: 24
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #24
Добавлено: 31.01.04 01:29
Номер ответа: 25
Автор ответа:
NovichoK
Вопросов: 72
Ответов: 147
Профиль | | #25
Добавлено: 31.01.04 16:26
Номер ответа: 26
Автор ответа:
Александр
Разработчик Offline Client
ICQ: 204034
Вопросов: 106
Ответов: 1919
Профиль | | #26
Добавлено: 01.02.04 18:00
Номер ответа: 27
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #27
Добавлено: 02.02.04 00:12
Номер ответа: 28
Автор ответа:
Новичек2
Вопросов: 5
Ответов: 14
Профиль | | #28
Добавлено: 07.02.04 08:38