Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Проблема с повторным помещением значения в переменную
KASaLEXДата: Чт, 29 Декабря 2022, 18:08 | Сообщение # 1
Новичок
Столкнулся с такой проблемой. Объявляю переменную типа String, дальше присваиваю ей значение и всё прекрасно работает, НО только один раз повторно не возможно присвоить ей значение, если тип переменной String. Не помогает даже удаления переменной с памяти.
Пример кода, если я повторно вызываю открытие файла, значения переменной [path] будет пустым
Код
FileOpenBox "Выбрать файл" "WAV|*.wav*" "[PubDir]" "[wav]" ""
DefineVar "[path]" "String" "" "Global" "[wav]"
 
СообщениеСтолкнулся с такой проблемой. Объявляю переменную типа String, дальше присваиваю ей значение и всё прекрасно работает, НО только один раз повторно не возможно присвоить ей значение, если тип переменной String. Не помогает даже удаления переменной с памяти.
Пример кода, если я повторно вызываю открытие файла, значения переменной [path] будет пустым
Код
FileOpenBox "Выбрать файл" "WAV|*.wav*" "[PubDir]" "[wav]" ""
DefineVar "[path]" "String" "" "Global" "[wav]"

Автор - KASaLEX
Дата добавления - 29 Декабря 2022 в 18:08
ВадимДата: Чт, 29 Декабря 2022, 22:06 | Сообщение # 2
Генератор идей
KASaLEX, если я правильно понял, то вы пытаетесь повторно объявить уже объявленную переменную?

Вот так будет работать во второй раз. Да и в первый тоже будет работать.
FileOpenBox "Выбрать файл" "WAV|*.wav*" "[PubDir]" "[wav]" ""
SetVar "[path]" "[wav]"

В этой связи вопрос – зачем вам DefineVar? SetVar хватает обычно для всех случаев. NeoBook \ VisualNEO Win хороша тем, что тут о типах переменных можно вообще не знать. Может быть у меня не было специфических задач, но я не помню, когда вообще использовал DefineVar.

Переменная [wav] тоже будет существовать в оперативной памяти пока не закроете приложение или пока не обновите её. То есть можно не перекладывать её содержимое в другую переменную, если в этом нет нужды.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеKASaLEX, если я правильно понял, то вы пытаетесь повторно объявить уже объявленную переменную?

Вот так будет работать во второй раз. Да и в первый тоже будет работать.
FileOpenBox "Выбрать файл" "WAV|*.wav*" "[PubDir]" "[wav]" ""
SetVar "[path]" "[wav]"

В этой связи вопрос – зачем вам DefineVar? SetVar хватает обычно для всех случаев. NeoBook \ VisualNEO Win хороша тем, что тут о типах переменных можно вообще не знать. Может быть у меня не было специфических задач, но я не помню, когда вообще использовал DefineVar.

Переменная [wav] тоже будет существовать в оперативной памяти пока не закроете приложение или пока не обновите её. То есть можно не перекладывать её содержимое в другую переменную, если в этом нет нужды.

Автор - Вадим
Дата добавления - 29 Декабря 2022 в 22:06
KASaLEXДата: Чт, 29 Декабря 2022, 22:59 | Сообщение # 3
Новичок
Если я использую DefineVar. другого типа все работает. Код выше пример того что второй раз переменную [path] я не могу поместить другое значение, то есть при первом запуске [wav] = 2, [path] соответственно тоже будет 2, запускаю снова [wav] = 3, но [path] будет ноль. Именно с переменной String проблема такая. Зачем это мне, при замене данных по срезу в строке с Hex значениями, значение некоторых байтов автоматически расценивается, как число и некорректно заменяется в hex строке, по этому нужно указать что в этой переменной содержится строка, а не число.
 
СообщениеЕсли я использую DefineVar. другого типа все работает. Код выше пример того что второй раз переменную [path] я не могу поместить другое значение, то есть при первом запуске [wav] = 2, [path] соответственно тоже будет 2, запускаю снова [wav] = 3, но [path] будет ноль. Именно с переменной String проблема такая. Зачем это мне, при замене данных по срезу в строке с Hex значениями, значение некоторых байтов автоматически расценивается, как число и некорректно заменяется в hex строке, по этому нужно указать что в этой переменной содержится строка, а не число.

Автор - KASaLEX
Дата добавления - 29 Декабря 2022 в 22:59
ВадимДата: Чт, 29 Декабря 2022, 23:09 | Сообщение # 4
Генератор идей
Тогда вы можете объявить переменную, но потом складывать в неё значение с помощью SetVar.
В демке я поместил DefineVar в свойства страницы, а на кнопку тот код, что предложил выше.
Попробуйте, то ли это, что нужно.
Прикрепления: SetVar.zip (1.7 Kb)


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеТогда вы можете объявить переменную, но потом складывать в неё значение с помощью SetVar.
В демке я поместил DefineVar в свойства страницы, а на кнопку тот код, что предложил выше.
Попробуйте, то ли это, что нужно.

Автор - Вадим
Дата добавления - 29 Декабря 2022 в 23:09
KASaLEXДата: Чт, 29 Декабря 2022, 23:27 | Сообщение # 5
Новичок
Цитата Вадим ()
что нужно.
thumbs_up
Всё работает должным образом, БОЛЬШОЕ спасибо!
 
Сообщение
Цитата Вадим ()
что нужно.
thumbs_up
Всё работает должным образом, БОЛЬШОЕ спасибо!

Автор - KASaLEX
Дата добавления - 29 Декабря 2022 в 23:27
ВадимДата: Чт, 29 Декабря 2022, 23:30 | Сообщение # 6
Генератор идей
Рад пользе! :)

Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеРад пользе! :)

Автор - Вадим
Дата добавления - 29 Декабря 2022 в 23:30
  • Страница 1 из 1
  • 1
Поиск: