Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 1
  • 1
Модератор форума: Peter, DEMBEL, YURIY  
Вопрос о выводе переменных
SmallsДата: Вт, 30 Ноября 2010, 23:33 | Сообщение # 1
помогите с советом плз.
есть три переменные [s1] , [s2] , [s3]
надо их сложить по формуле [s1]+[s2]+[s3]
допустим в первую ввожу "10", во вторую "-5", а в третью 3.
так вот надо чтобы в текстовом поле отобразился не результат, а само решение, да еще чтоб в зависимости от знака переменной (+ или -) менялся знак и в отображаемом решении. както так: 10-5+3.
как это исполнить?
спасибо)
 
Сообщениепомогите с советом плз.
есть три переменные [s1] , [s2] , [s3]
надо их сложить по формуле [s1]+[s2]+[s3]
допустим в первую ввожу "10", во вторую "-5", а в третью 3.
так вот надо чтобы в текстовом поле отобразился не результат, а само решение, да еще чтоб в зависимости от знака переменной (+ или -) менялся знак и в отображаемом решении. както так: 10-5+3.
как это исполнить?
спасибо)

Автор - Smalls
Дата добавления - 30 Ноября 2010 в 23:33
DEMBELДата: Ср, 01 Декабря 2010, 01:59 | Сообщение # 2
Наш дизайнер
спрашиваете всякую ерунду...
обратите внимание, здесь мы не совершаем математических действий, а просто "составляем" итоговую переменную из нескольких других, располагая их друг за другом. Восклицательный знак ! перед присвоением значений говорит о том, что производить вычисления не нужно, а следует присвоить значение точно в том виде в котором оно записано. Например:
setvar "[Test]" "5+5" => [Test]=10
setvar "[Test]" "!5+5" => [Test]=5+5
для выполнения математических действий можно заранее использовать оператор Math.

в данном примере мы вводим три числа в поля ввода, при нажатии кнопки если во 2 и 3 полях введены положительные числа, то ставим перед ними знак +, и составляем итоговую переменную [Rez].

Добавлено (01 Декабрь 2010, 01:59)
---------------------------------------------
данные действия можно выполнить и без нажатия кнопки, а по мере введения чисел в поля ввода, используйте событие Text Change в свойствах поля ввода (запишите требуемые действия в соотв. вкладке).

Прикрепления: demo5.zip (2.0 Kb)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеспрашиваете всякую ерунду...
обратите внимание, здесь мы не совершаем математических действий, а просто "составляем" итоговую переменную из нескольких других, располагая их друг за другом. Восклицательный знак ! перед присвоением значений говорит о том, что производить вычисления не нужно, а следует присвоить значение точно в том виде в котором оно записано. Например:
setvar "[Test]" "5+5" => [Test]=10
setvar "[Test]" "!5+5" => [Test]=5+5
для выполнения математических действий можно заранее использовать оператор Math.

в данном примере мы вводим три числа в поля ввода, при нажатии кнопки если во 2 и 3 полях введены положительные числа, то ставим перед ними знак +, и составляем итоговую переменную [Rez].

Добавлено (01 Декабрь 2010, 01:59)
---------------------------------------------
данные действия можно выполнить и без нажатия кнопки, а по мере введения чисел в поля ввода, используйте событие Text Change в свойствах поля ввода (запишите требуемые действия в соотв. вкладке).


Автор - DEMBEL
Дата добавления - 01 Декабря 2010 в 01:59
PeterДата: Ср, 01 Декабря 2010, 03:47 | Сообщение # 3
Админ NeoBook
На заметку...
Эту же задачу можно решить чуть иначе: если какую-либо переменную предварительно объявить как строковую (String), то в неё будет записана формула, а не результат вычисления.
Например:
Code
DefineVar "[Test]" "String" "" "Global" ""

То, в последствии, если мы запишем, скажем, так:
Code
SetVar "[Test]" "10-5+3"

в переменной [Test] окажется именно 10-5+3, а не 8... ;)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеНа заметку...
Эту же задачу можно решить чуть иначе: если какую-либо переменную предварительно объявить как строковую (String), то в неё будет записана формула, а не результат вычисления.
Например:
Code
DefineVar "[Test]" "String" "" "Global" ""

То, в последствии, если мы запишем, скажем, так:
Code
SetVar "[Test]" "10-5+3"

в переменной [Test] окажется именно 10-5+3, а не 8... ;)

Автор - Peter
Дата добавления - 01 Декабря 2010 в 03:47
СергейДата: Ср, 01 Декабря 2010, 18:18 | Сообщение # 4
Необукер
Quote (Smalls)
менялся знак и в отображаемом решении

если я правильно понял, то так:
Quote
SetVar "[znak1]" "+"
SetVar "[znak2]" "-"
SetVar "[Test]" "!5[znak1]6[znak2]8"


Сообщение отредактировано
Сергей - Ср, 01 Декабря 2010, 18:23
 
Сообщение
Quote (Smalls)
менялся знак и в отображаемом решении

если я правильно понял, то так:
Quote
SetVar "[znak1]" "+"
SetVar "[znak2]" "-"
SetVar "[Test]" "!5[znak1]6[znak2]8"

Автор - Сергей
Дата добавления - 01 Декабря 2010 в 18:18
SmallsДата: Ср, 01 Декабря 2010, 22:34 | Сообщение # 5
Спасибо всем кто откликнулся, но уже разобрался сам...
Знаки тоже объявил в переменные.

сделал
If "[s2]" "<" "0"
setvar "[znak]" "+"
else
setvar "[znak]" "-"
endif
....
setvar [rezultat] "![s1] [znak] [s2]"

Сообщение отредактировано
Smalls - Ср, 01 Декабря 2010, 22:37
 
СообщениеСпасибо всем кто откликнулся, но уже разобрался сам...
Знаки тоже объявил в переменные.

сделал
If "[s2]" "<" "0"
setvar "[znak]" "+"
else
setvar "[znak]" "-"
endif
....
setvar [rezultat] "![s1] [znak] [s2]"


Автор - Smalls
Дата добавления - 01 Декабря 2010 в 22:34
PeterДата: Ср, 01 Декабря 2010, 23:22 | Сообщение # 6
Админ NeoBook
Quote (Smalls)
сделал
If "[s2]" "<" "0"
setvar "[znak]" "+"
else
setvar "[znak]" "-"
endif

Я б ещё добавил:
If "[s2]" "=" ""
SetVar "[znak]" ""
EndIf


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Smalls)
сделал
If "[s2]" "<" "0"
setvar "[znak]" "+"
else
setvar "[znak]" "-"
endif

Я б ещё добавил:
If "[s2]" "=" ""
SetVar "[znak]" ""
EndIf


Автор - Peter
Дата добавления - 01 Декабря 2010 в 23:22
AlienДата: Чт, 02 Декабря 2010, 16:40 | Сообщение # 7
Quote (Сергей)
SetVar "[Test]" "!5[znak1]6[znak2]8"

а зачем тогда восклицательный знак, если значения знаков + и - берутся из переменных?
 
Сообщение
Quote (Сергей)
SetVar "[Test]" "!5[znak1]6[znak2]8"

а зачем тогда восклицательный знак, если значения знаков + и - берутся из переменных?

Автор - Alien
Дата добавления - 02 Декабря 2010 в 16:40
СергейДата: Чт, 02 Декабря 2010, 16:50 | Сообщение # 8
Необукер
Quote (Alien)
а зачем тогда восклицательный знак
чтоб отменить матиматические действия, т.е. обычный String
 
Сообщение
Quote (Alien)
а зачем тогда восклицательный знак
чтоб отменить матиматические действия, т.е. обычный String

Автор - Сергей
Дата добавления - 02 Декабря 2010 в 16:50
SmallsДата: Чт, 02 Декабря 2010, 22:08 | Сообщение # 9
2Peter
для удобства, если число отрицательное умножал его на -1. чтобы потом не запутаться с переменными )) [s2] в моем случае не может быть пустым


Сообщение отредактировано
Smalls - Чт, 02 Декабря 2010, 22:12
 
Сообщение2Peter
для удобства, если число отрицательное умножал его на -1. чтобы потом не запутаться с переменными )) [s2] в моем случае не может быть пустым

Автор - Smalls
Дата добавления - 02 Декабря 2010 в 22:08
СергейДата: Пт, 03 Декабря 2010, 06:39 | Сообщение # 10
Необукер
Quote (Smalls)
в моем случае не может быть пустым
а данные вводятся юзером?
совет:
Лучше взять за правило, что для математических функций, также файловых функций(и некоторых других) делать проверку на пустоту воизбежания ошибок. Как говорится, лучше перебз**** :D
 
Сообщение
Quote (Smalls)
в моем случае не может быть пустым
а данные вводятся юзером?
совет:
Лучше взять за правило, что для математических функций, также файловых функций(и некоторых других) делать проверку на пустоту воизбежания ошибок. Как говорится, лучше перебз**** :D

Автор - Сергей
Дата добавления - 03 Декабря 2010 в 06:39
AlienДата: Пт, 03 Декабря 2010, 08:02 | Сообщение # 11
Quote (Сергей)
чтоб отменить матиматические действия, т.е. обычный String

а зачем тогда знаки + и - пихать в переменные, когда их можно написать напрямую? %)
 
Сообщение
Quote (Сергей)
чтоб отменить матиматические действия, т.е. обычный String

а зачем тогда знаки + и - пихать в переменные, когда их можно написать напрямую? %)

Автор - Alien
Дата добавления - 03 Декабря 2010 в 08:02
СергейДата: Пт, 03 Декабря 2010, 08:19 | Сообщение # 12
Необукер
Если знак меняется динамически, от выбора юзером каких либо параметров, то при определеном результате будет +, а при другом - и т.д., да мало ли из-за чего.
Посмотри проект "Скачущая луна", там тоже реализован динамический знак, в зависимости от координат шарика меняется знак :)


Сообщение отредактировано
Сергей - Пт, 03 Декабря 2010, 16:22
 
СообщениеЕсли знак меняется динамически, от выбора юзером каких либо параметров, то при определеном результате будет +, а при другом - и т.д., да мало ли из-за чего.
Посмотри проект "Скачущая луна", там тоже реализован динамический знак, в зависимости от координат шарика меняется знак :)

Автор - Сергей
Дата добавления - 03 Декабря 2010 в 08:19
Format-X22Дата: Пт, 03 Декабря 2010, 15:57 | Сообщение # 13
Участник


Мой сайт - http://фирмы.онлайн
 
Сообщение

Автор - Format-X22
Дата добавления - 03 Декабря 2010 в 15:57
  • Страница 1 из 1
  • 1
Поиск: