Какая-то непонятка с переменной...

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

Какая-то непонятка с переменной...

Сообщение moppuk » 17.03.2006 (Пт) 12:47

Народ, вообщем вообще не пойму... Есть модуль, в нем общадоступная переменная Public dlina1 As Variant, короче из одной формы при вводе в Text1.text значения, оно присваивается это переменной... dlina1 = Val(Text1.Text), а потом в другой форме, ее надо вывести допустим в такой же text1.text.
Что просиходит, почему-то значение выводится 0, а при проверке с помощью msgbox (dlina1), msgbox вообще пустой...
Вообще не пойму в чем дело... =(
С уважением Морозов Николай

Demonx
Бывалый
Бывалый
 
Сообщения: 237
Зарегистрирован: 25.06.2003 (Ср) 0:08
Откуда: Литва/Висагинас

Сообщение Demonx » 17.03.2006 (Пт) 13:05

Public dlina1 As Variant

Попробуй поставить тип Integer ил Long...
Изображение

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 13:13

Ни фига, та же песня...
С уважением Морозов Николай

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 17.03.2006 (Пт) 13:21

Дело скорее всего в том, что есть не одна такая переменная. Может, в какой субе или функции еще одна такая есть.



Я бы, присваивал и читал ее по полному имени: Module1.dlina1=text1.text1

Module1- это тот модуль, в котором она объявлена.

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

Сообщение GSerg » 17.03.2006 (Пт) 13:28

А я бы, option explicit поставил...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 13:32

И Option Explicit стоит, и ни чего не помечается. С переменными все нормально...
Module1.dlina1= val(text1.text) поставил, просто у меня туда числа вводятся... Но все равно результат в другой форме я наблюдаю "0", хотя ввожу 44.... Блин, да что такое то....
С уважением Морозов Николай

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 17.03.2006 (Пт) 13:39

А ты случайно, не ожидаешь того, что она автоматически сама обновится в другой форме, а ? ;)

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 14:28

нет, случайно не ожидаю...
еще раз поясняю
module1.
Public dlina1 As Variant (перепробывал и другие типы)

form1.
dlina1 = val(text1.text)

form2.
text2.text = dlina1.

при вводе в text1.text (form1) например 43, в text2.text (form2) отображается 0
С уважением Морозов Николай

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 14:48

причем если сделать вот так, то все отлично отбражается...

module1.
public dlina1 as string

form1.
dlina1 = "привет"

form2.
text2.text = dlina1

Ну подскажите что-нибудь дельное...
Эх Жалко Ameda нет, он бы точно подсказал!!!
С уважением Морозов Николай

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 17.03.2006 (Пт) 14:49

moppuk
Попробуй объявить как Global вместо Public
Если всё делать своими ручками, они скоро отвалятся !

Igor_coder
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 17.03.2006 (Пт) 14:54

Сообщение Igor_coder » 17.03.2006 (Пт) 14:59

Про глобал это дельо сказано. !!!!! :wink: и ввобще Cint(string) в val запихнуть (тока объяви переменную как string) Должно работать

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 15:04

Cint(string) в val запихнуть не понял как вот это сделать?
Просто Global не прокатило...
С уважением Морозов Николай

Igor_coder
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 17.03.2006 (Пт) 14:54

Сообщение Igor_coder » 17.03.2006 (Пт) 15:07

нехорошо получается, щас посмотрим........

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

Сообщение GSerg » 17.03.2006 (Пт) 15:07

Igor_coder писал(а):и ввобще Cint(string) в val запихнуть (тока объяви переменную как string)

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

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 15:10

Ааааааааааа..... Ну что сделать то... Блин....
Ну все вроде должно работать!!! Ну все элементарно!
Ан нет!!! Блин.
С уважением Морозов Николай

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 17.03.2006 (Пт) 15:14

Специально проверил, прилагаю пример как доказательство. У меня он работает. (основан на твоем посте http://bbs.vbstreets.ru/viewtopic.php?p=6591979#6591979 )
Вложения
todel.rar
(1.57 Кб) Скачиваний: 28
Если всё делать своими ручками, они скоро отвалятся !

Igor_coder
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 17.03.2006 (Пт) 14:54

Сообщение Igor_coder » 17.03.2006 (Пт) 15:17

Ну во я про тоже, с глобал должно работать, хоть убейся :?

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

Сообщение GSerg » 17.03.2006 (Пт) 15:30

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

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 15:43

Посмотрел я пример, знаю, что работает...
Да мне не то надо....
Надо form1. Text1.text ввел значение причем число, а не сторку
а в form2 в Техт2.техт отобразилось!!!
Со строками все просто, а вот с числами не получается!!!

module1.
Public dlina1 As Variant (перепробывал и другие типы)

form1.
dlina1 = val(text1.text)

form2.
text2.text = dlina1.

при вводе в text1.text (form1) например 43, в text2.text (form2) отображается 0

Писал же уже, как будто не туда смотрите...
А для сведения что Global так и Public это одно и тоже...
С уважением Морозов Николай

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 17.03.2006 (Пт) 16:10

Странно. У меня работает, и с числами и с текстом. 0- это значит что val не может сделать, число из строки.

Что если, дело в той строке которую val получает?

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 16:18

а что может быть в той строка которую Val получат...
Техт1.техт в него я записывю например 43 и хочу чтобы переменная хранила это число, чего тут заумного, но вот не получается почему-то...
С уважением Морозов Николай

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 17.03.2006 (Пт) 16:20

он числа наверное вводит с точкой или запятой, а региональные настройки не учитывает.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 17.03.2006 (Пт) 16:22

moppuk
мы устали гадать, что у тебя не так работает :D
выкладывай весь свой код сюда, тогда и посмотрим.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 17.03.2006 (Пт) 16:33

Как только не пробовал, никаких отклонений не вижу. Можно неработающий код увидеть? Как вариант можно менять сразу form2.text1.text при изменении текста в первой форме. Или тащить через модуль обязательно?

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 16:40

как тут файл прикрепить?
С уважением Морозов Николай

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 17.03.2006 (Пт) 16:42

Нажимаешь Изображение и потом, там будет поле для ввода :)

Кнопка может выглядеть как Изображение



*Amed был тут и поправил, как надо :)

*Ну надо же блин, а я все зачем то пытался href прописать :)
Последний раз редактировалось RayShade 17.03.2006 (Пт) 16:53, всего редактировалось 5 раз(а).

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

Сообщение GSerg » 17.03.2006 (Пт) 16:43

Нажать кнопку Ответить.


Сейчас мы увидим файл, в котором три текстбокса, и в переменную присваивается не тот...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

moppuk
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 115
Зарегистрирован: 31.01.2006 (Вт) 23:03

Сообщение moppuk » 17.03.2006 (Пт) 16:47

а проект прежде надо например на megaupload залить?
А потом укать ссылку, или как?[/url]
С уважением Морозов Николай

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

Сообщение GSerg » 17.03.2006 (Пт) 16:49

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

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 17.03.2006 (Пт) 16:51

Можно ссылку дать, можно файл приатачить прямо. Только заархивировать не забудь.

След.

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

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

Сейчас этот форум просматривают: Google-бот и гости: 77

    TopList