Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Выполнить мат.условие из переменной
Выполнить мат.условие из переменной
MaratДата: Пн, 10 Декабря 2012, 19:40 | Сообщение # 31
Новичок
Всем привет , У меня другая загвоздка. Немного подробней, пытаюсь сделать обычный калькулятор( он конечно не нужен , просто важен сам факт создания) Вроде все получилось , ну по крайней мере работает. Остался последний штрих - заставить кнопку равно работать. Дело в том что каждый набор цифр при нажатии на кнопку +, -, и тд "загоняется" в переменную массива [Rezult1][Rezult2]ну итд. Ну и все тупик , что делать дальше ? Как задать мат. решение? ведь никто не знает сколько дейтвий сделает пользователь 1 или 3 или 4.
Да и вообще в том , что там сделано все ли правильно ( просто какие то сомнения у меня )
Прикрепления: _2.rar (4.7 Kb)
 
СообщениеВсем привет , У меня другая загвоздка. Немного подробней, пытаюсь сделать обычный калькулятор( он конечно не нужен , просто важен сам факт создания) Вроде все получилось , ну по крайней мере работает. Остался последний штрих - заставить кнопку равно работать. Дело в том что каждый набор цифр при нажатии на кнопку +, -, и тд "загоняется" в переменную массива [Rezult1][Rezult2]ну итд. Ну и все тупик , что делать дальше ? Как задать мат. решение? ведь никто не знает сколько дейтвий сделает пользователь 1 или 3 или 4.
Да и вообще в том , что там сделано все ли правильно ( просто какие то сомнения у меня )

Автор - Marat
Дата добавления - 10 Декабря 2012 в 19:40
mishemДата: Пн, 10 Декабря 2012, 22:02 | Сообщение # 32
Эксперт форума
Marat, в примерах НБ есть калькулятор.

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеMarat, в примерах НБ есть калькулятор.

Автор - mishem
Дата добавления - 10 Декабря 2012 в 22:02
MaratДата: Пн, 10 Декабря 2012, 22:42 | Сообщение # 33
Новичок
Раньше тоже видел,еще до переезда форума.Сейчас не нашел.
 
СообщениеРаньше тоже видел,еще до переезда форума.Сейчас не нашел.

Автор - Marat
Дата добавления - 10 Декабря 2012 в 22:42
mishemДата: Пн, 10 Декабря 2012, 23:05 | Сообщение # 34
Эксперт форума
Quote (Marat)
Раньше тоже видел

Эти примеры устанавливаются вместе с программой НБ. Посмотри в папке с программой, или в Моих документах. Я не помню где точно, у себя удалил.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Marat)
Раньше тоже видел

Эти примеры устанавливаются вместе с программой НБ. Посмотри в папке с программой, или в Моих документах. Я не помню где точно, у себя удалил.

Автор - mishem
Дата добавления - 10 Декабря 2012 в 23:05
MaratДата: Пн, 10 Декабря 2012, 23:33 | Сообщение # 35
Новичок
Спасибо нашел,будем разбираться ( про эти примеры совсем забыл )

Добавлено (10 Декабря 2012, 23:33)
---------------------------------------------
Еще один вопросик, что такое литейный маркер ? В хэлпе об этом ни слова .

 
СообщениеСпасибо нашел,будем разбираться ( про эти примеры совсем забыл )

Добавлено (10 Декабря 2012, 23:33)
---------------------------------------------
Еще один вопросик, что такое литейный маркер ? В хэлпе об этом ни слова .


Автор - Marat
Дата добавления - 10 Декабря 2012 в 23:33
mishemДата: Пн, 10 Декабря 2012, 23:59 | Сообщение # 36
Эксперт форума
Quote (Marat)
что такое литейный маркер

А где вы это нашли?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Marat)
что такое литейный маркер

А где вы это нашли?

Автор - mishem
Дата добавления - 10 Декабря 2012 в 23:59
MaratДата: Вт, 11 Декабря 2012, 07:25 | Сообщение # 37
Новичок
Вот пример кода ( он одинаков для всех кнопок )

If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

SetVar "[Formula]" "![Formula]1"

Восклицательный знак и есть литейный маркер.
И если честно никак не пойму для чего код.

Это и есть весь калькулятор , (пример НБ)Больше кода нет.
Кнопка равно :
Math "[Formula]" "[Decimals]" "[Formula]"

Добавлено (11 Декабря 2012, 07:25)
---------------------------------------------
Извиняюсь за свою невнимательность, но не литейный а литерный маркер .

 
СообщениеВот пример кода ( он одинаков для всех кнопок )

If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

SetVar "[Formula]" "![Formula]1"

Восклицательный знак и есть литейный маркер.
И если честно никак не пойму для чего код.

Это и есть весь калькулятор , (пример НБ)Больше кода нет.
Кнопка равно :
Math "[Formula]" "[Decimals]" "[Formula]"

Добавлено (11 Декабря 2012, 07:25)
---------------------------------------------
Извиняюсь за свою невнимательность, но не литейный а литерный маркер .


Автор - Marat
Дата добавления - 11 Декабря 2012 в 07:25
mishemДата: Вт, 11 Декабря 2012, 07:38 | Сообщение # 38
Эксперт форума
Marat, почитайте в справке Справочник команд > Variables (Переменные) > SetVar

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Вт, 11 Декабря 2012, 07:41
 
СообщениеMarat, почитайте в справке Справочник команд > Variables (Переменные) > SetVar

Автор - mishem
Дата добавления - 11 Декабря 2012 в 07:38
MaratДата: Вт, 11 Декабря 2012, 07:49 | Сообщение # 39
Новичок
mishem, ну не нашел, перечитал три раза - ни слова
 
Сообщениеmishem, ну не нашел, перечитал три раза - ни слова

Автор - Marat
Дата добавления - 11 Декабря 2012 в 07:49
DEMBELДата: Вт, 11 Декабря 2012, 08:06 | Сообщение # 40
Наш дизайнер
! - он используется когда нужно дать знать необук, что выражение стоящее после ! нельзя никак преобразовывать а использовать точно как есть.
Quote (Marat)
SetVar "[Formula]" "![Formula]1"

в данном случае ! говорит, что переменную [Formula] не трогать а просто приписать справа единичку.
Напиши код в кнопку, потыкай ее и сравни значения переменных в окне дебаггера:
SetVar "[Formula]" "[Formula]+1"
SetVar "[Formula2]" "![Formula2]+1"

Добавлено (11 Декабря 2012, 08:06)
---------------------------------------------
Quote (Marat)
Дело в том что каждый набор цифр при нажатии на кнопку +, -, и тд "загоняется" в переменную массива [Rezult1][Rezult2]ну итд. Ну и все тупик , что делать дальше ? Как задать мат. решение? ведь никто не знает сколько дейтвий сделает пользователь 1 или 3 или 4.

именно для этого в калькуляторе (который в демо примерах) формируется строка переменной с помощью знака !, в переменную просто дописываются все что тыкает пользователь, включая цифры и знаки мат.операций. Затем эта переменная с натыканным содержимым - формулой - подставляется в команду Math и готово.


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

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение! - он используется когда нужно дать знать необук, что выражение стоящее после ! нельзя никак преобразовывать а использовать точно как есть.
Quote (Marat)
SetVar "[Formula]" "![Formula]1"

в данном случае ! говорит, что переменную [Formula] не трогать а просто приписать справа единичку.
Напиши код в кнопку, потыкай ее и сравни значения переменных в окне дебаггера:
SetVar "[Formula]" "[Formula]+1"
SetVar "[Formula2]" "![Formula2]+1"

Добавлено (11 Декабря 2012, 08:06)
---------------------------------------------
Quote (Marat)
Дело в том что каждый набор цифр при нажатии на кнопку +, -, и тд "загоняется" в переменную массива [Rezult1][Rezult2]ну итд. Ну и все тупик , что делать дальше ? Как задать мат. решение? ведь никто не знает сколько дейтвий сделает пользователь 1 или 3 или 4.

именно для этого в калькуляторе (который в демо примерах) формируется строка переменной с помощью знака !, в переменную просто дописываются все что тыкает пользователь, включая цифры и знаки мат.операций. Затем эта переменная с натыканным содержимым - формулой - подставляется в команду Math и готово.

Автор - DEMBEL
Дата добавления - 11 Декабря 2012 в 08:06
mishemДата: Вт, 11 Декабря 2012, 09:26 | Сообщение # 41
Эксперт форума
Quote (Marat)
mishem, ну не нашел, перечитал три раза - ни слова

Marat, не надо таких вещей писать. Там только слепой не увидит. Вывод-не читал.

Quote
Предположим, что по тем или иным причинам, требуется, чтобы переменная содержала именно формулу, а не результат вычисления. В этом случае, набор значения переменной следует начинать с восклицательного знака “!”. Например, при помощи следующей команды:

SetVar "[Test]" "1+1"

переменной [Test] будет присвоено значение "2". Программа NeoBook "видит", что "1+1" - это математическое выражение, и попросту производит операцию сложения. Добавив же в запись восклицательный знак, мы даем программе команду игнорировать формулу. Например:

SetVar "[Text]" "!1+1"

Переменной [Test] будет присвоено значение "1+1" (а не число "2"). (Примечание: Собственно символ "!" NeoBook удаляет из записи.) Этим приемом можно пользоваться в тех командах NeoBook, где допускается наличие численных параметров.


Quote (Marat)
литерный маркер

Откуда вообще это словосочетание взято?

В данном случае это выражение здесь не уместно. Литера-буква. Восклицательный знак не подходит под определение буква. Маркер-метка. По этому и интересуюсь откуда взято это выражение?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Вт, 11 Декабря 2012, 09:31
 
Сообщение
Quote (Marat)
mishem, ну не нашел, перечитал три раза - ни слова

Marat, не надо таких вещей писать. Там только слепой не увидит. Вывод-не читал.

Quote
Предположим, что по тем или иным причинам, требуется, чтобы переменная содержала именно формулу, а не результат вычисления. В этом случае, набор значения переменной следует начинать с восклицательного знака “!”. Например, при помощи следующей команды:

SetVar "[Test]" "1+1"

переменной [Test] будет присвоено значение "2". Программа NeoBook "видит", что "1+1" - это математическое выражение, и попросту производит операцию сложения. Добавив же в запись восклицательный знак, мы даем программе команду игнорировать формулу. Например:

SetVar "[Text]" "!1+1"

Переменной [Test] будет присвоено значение "1+1" (а не число "2"). (Примечание: Собственно символ "!" NeoBook удаляет из записи.) Этим приемом можно пользоваться в тех командах NeoBook, где допускается наличие численных параметров.


Quote (Marat)
литерный маркер

Откуда вообще это словосочетание взято?

В данном случае это выражение здесь не уместно. Литера-буква. Восклицательный знак не подходит под определение буква. Маркер-метка. По этому и интересуюсь откуда взято это выражение?

Автор - mishem
Дата добавления - 11 Декабря 2012 в 09:26
MaratДата: Вт, 11 Декабря 2012, 12:07 | Сообщение # 42
Новичок
Спасибо mishem, теперь понял. Тут я перемудрил, оказалось все на много проще.

А выражение из НБ, При наведении(см.рисунок) появляется подсказка "Добавить или удалить литерный маркер"

[c]
 
СообщениеСпасибо mishem, теперь понял. Тут я перемудрил, оказалось все на много проще.

А выражение из НБ, При наведении(см.рисунок) появляется подсказка "Добавить или удалить литерный маркер"

[c]

Автор - Marat
Дата добавления - 11 Декабря 2012 в 12:07
PeterДата: Вт, 11 Декабря 2012, 12:13 | Сообщение # 43
Админ NeoBook
Вы на оригинальный английский текст посмотрите, и поищите в сети что такое литерал в программировании (информатике).
Единственное, в чем я, видимо, ошибся при переводе, так это в том, что надо было перевести как "литеральный", а не "литерный".

Нагнали тут "шторм в рюмке", блин!


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеВы на оригинальный английский текст посмотрите, и поищите в сети что такое литерал в программировании (информатике).
Единственное, в чем я, видимо, ошибся при переводе, так это в том, что надо было перевести как "литеральный", а не "литерный".

Нагнали тут "шторм в рюмке", блин!

Автор - Peter
Дата добавления - 11 Декабря 2012 в 12:13
MaratДата: Вт, 11 Декабря 2012, 12:18 | Сообщение # 44
Новичок
С этим теперь понятно но зачем этот код ?
Что он зрачит ясно , но зачем
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

Также при запуске объявляется несколько переменных , которые дальше нигде не используются. вопрос зачем?

Добавлено (11 Декабря 2012, 12:18)
---------------------------------------------
Я конечно извиняюсь за свои наивные вопросы,просто хочется понять, а не тупо копировать чужой код.

 
СообщениеС этим теперь понятно но зачем этот код ?
Что он зрачит ясно , но зачем
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

Также при запуске объявляется несколько переменных , которые дальше нигде не используются. вопрос зачем?

Добавлено (11 Декабря 2012, 12:18)
---------------------------------------------
Я конечно извиняюсь за свои наивные вопросы,просто хочется понять, а не тупо копировать чужой код.


Автор - Marat
Дата добавления - 11 Декабря 2012 в 12:18
PeterДата: Вт, 11 Декабря 2012, 12:35 | Сообщение # 45
Админ NeoBook
Quote (Marat)
Что он зрачит ясно , но зачем
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

Marat, а вы обратили внимание на то, что полный скрипт (например, для клавиши "умножить") выглядит так:

Code
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

SetVar "[Formula]" "![Formula]*"

;)
Quote (Marat)
вопрос зачем?

Затем, чтобы придать калькулятору привычный вид.

А пытать "что и зачем" по штатным примерам лучше разрабов на оффоруме, т.к. они писАли все эти примеры, а не мы.
Благо на оффоруме есть теперь русская страничка.
:)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Marat)
Что он зрачит ясно , но зачем
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

Marat, а вы обратили внимание на то, что полный скрипт (например, для клавиши "умножить") выглядит так:

Code
If "[Formula]" "=" "0"
SetVar "[Formula]" ""
EndIf

SetVar "[Formula]" "![Formula]*"

;)
Quote (Marat)
вопрос зачем?

Затем, чтобы придать калькулятору привычный вид.

А пытать "что и зачем" по штатным примерам лучше разрабов на оффоруме, т.к. они писАли все эти примеры, а не мы.
Благо на оффоруме есть теперь русская страничка.
:)

Автор - Peter
Дата добавления - 11 Декабря 2012 в 12:35
MaratДата: Вт, 11 Декабря 2012, 12:51 | Сообщение # 46
Новичок
Peter увы все равно не пойму.
Попробовал оставить
SetVar "[Formula]" "![Formula]*"
работает также, подозреваю , что бы в формуле не оказалось подряд два мат.знака или две запятых.
SetVar "[Formula]" "![Formula]*"
Peter если не трудно разъясните дураку,ведь пригодится ив дальнейшем.
 
СообщениеPeter увы все равно не пойму.
Попробовал оставить
SetVar "[Formula]" "![Formula]*"
работает также, подозреваю , что бы в формуле не оказалось подряд два мат.знака или две запятых.
SetVar "[Formula]" "![Formula]*"
Peter если не трудно разъясните дураку,ведь пригодится ив дальнейшем.

Автор - Marat
Дата добавления - 11 Декабря 2012 в 12:51
PeterДата: Вт, 11 Декабря 2012, 13:12 | Сообщение # 47
Админ NeoBook
Quote (Marat)
работает также, подозреваю , что бы в формуле не оказалось подряд два мат.знака или две запятых

А я подозреваю, что просто для того, чтобы в формуле не болтался в самом её начале ноль.
Возможно, разрабы таким образом решили сделать напоминание, что математические операции с "нулем" бессмысленны, или что-то в этом роде.


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Marat)
работает также, подозреваю , что бы в формуле не оказалось подряд два мат.знака или две запятых

А я подозреваю, что просто для того, чтобы в формуле не болтался в самом её начале ноль.
Возможно, разрабы таким образом решили сделать напоминание, что математические операции с "нулем" бессмысленны, или что-то в этом роде.

Автор - Peter
Дата добавления - 11 Декабря 2012 в 13:12
antonДата: Вт, 11 Декабря 2012, 13:42 | Сообщение # 48
Ветеран форума
Уважаемый Антуан!
Если мне не изменяет память, однажды я уже выносил вам "устное" предупреждение за ваши упражнения в эпистолярном жанре в несоответствующих оному темах этого форума, в отличие от столь любимого вами "луркоморья".
Видимо, урок впрок не пошел.
На этот раз вы получаете "письменное" предупреждение, которое анулировано "за давностью" не будет!
Считаю своим долгом вас предупредить: при ещё одном рецидиве ваши, по всей видимости развитые, боковое зрение, слух, реакция и бдительность, не помогут избежать соответствующих последствий.

Искренне ваш,
Peter

//Сообщение отредактировано администратором
Peter


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"

Сообщение отредактировано
anton - Вт, 11 Декабря 2012, 13:53
 
СообщениеУважаемый Антуан!
Если мне не изменяет память, однажды я уже выносил вам "устное" предупреждение за ваши упражнения в эпистолярном жанре в несоответствующих оному темах этого форума, в отличие от столь любимого вами "луркоморья".
Видимо, урок впрок не пошел.
На этот раз вы получаете "письменное" предупреждение, которое анулировано "за давностью" не будет!
Считаю своим долгом вас предупредить: при ещё одном рецидиве ваши, по всей видимости развитые, боковое зрение, слух, реакция и бдительность, не помогут избежать соответствующих последствий.

Искренне ваш,
Peter

//Сообщение отредактировано администратором
Peter

Автор - anton
Дата добавления - 11 Декабря 2012 в 13:42
MaratДата: Вт, 11 Декабря 2012, 15:49 | Сообщение # 49
Новичок
Да Peter вы правы с нолем. Мат.знак ставится сколько угодно раз но при подсчете получаем Eror
А в калькуляторе Win. например, знак можно поставить один раз.
 
СообщениеДа Peter вы правы с нолем. Мат.знак ставится сколько угодно раз но при подсчете получаем Eror
А в калькуляторе Win. например, знак можно поставить один раз.

Автор - Marat
Дата добавления - 11 Декабря 2012 в 15:49
PeterДата: Вт, 11 Декабря 2012, 16:52 | Сообщение # 50
Админ NeoBook
Quote (Marat)
А в калькуляторе Win. например, знак можно поставить один раз.

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


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Marat)
А в калькуляторе Win. например, знак можно поставить один раз.

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

Автор - Peter
Дата добавления - 11 Декабря 2012 в 16:52
MaratДата: Ср, 12 Декабря 2012, 21:57 | Сообщение # 51
Новичок
Спасибо, Peter обязательно доработаю . Потом выложу готовый вариант кому интересно гляньте.
Немного отклонюсь от темы обращаясь к ветеранам форума, Мог бы кто нибудь сделать урок по работе с массивами навроде урока Сергея про циклы http://neobooker.ru/forum/38-2202-1 Т.к. на эту тему мало инфы на форуме.

Добавлено (12 Декабря 2012, 21:47)
---------------------------------------------
Как и обещал выкладываю готовый , но не конечный вариант Калькулятора.
В архиве ехе. и pub. варианты.

Добавлено (12 Декабря 2012, 21:57)
---------------------------------------------
В прошлом посте не прикрепился архив почему то.
Ясно почему , архив 795kb.

Скачать архив:

 
СообщениеСпасибо, Peter обязательно доработаю . Потом выложу готовый вариант кому интересно гляньте.
Немного отклонюсь от темы обращаясь к ветеранам форума, Мог бы кто нибудь сделать урок по работе с массивами навроде урока Сергея про циклы http://neobooker.ru/forum/38-2202-1 Т.к. на эту тему мало инфы на форуме.

Добавлено (12 Декабря 2012, 21:47)
---------------------------------------------
Как и обещал выкладываю готовый , но не конечный вариант Калькулятора.
В архиве ехе. и pub. варианты.

Добавлено (12 Декабря 2012, 21:57)
---------------------------------------------
В прошлом посте не прикрепился архив почему то.
Ясно почему , архив 795kb.

Скачать архив:


Автор - Marat
Дата добавления - 12 Декабря 2012 в 21:57
CallistoДата: Чт, 13 Декабря 2012, 01:55 | Сообщение # 52
Участник
Marat, Есть недоработки с дробями.
Изначально не вводятся числа 0,n...
Вводятся числа со множеством запятых n,n,nn,n


Пожалуйста, не надо ко мне на "Вы", а то чувствую себя бабулькой)
 
СообщениеMarat, Есть недоработки с дробями.
Изначально не вводятся числа 0,n...
Вводятся числа со множеством запятых n,n,nn,n

Автор - Callisto
Дата добавления - 13 Декабря 2012 в 01:55
MaratДата: Чт, 13 Декабря 2012, 07:21 | Сообщение # 53
Новичок
Спасибо, исправим.
 
СообщениеСпасибо, исправим.

Автор - Marat
Дата добавления - 13 Декабря 2012 в 07:21
antonДата: Чт, 13 Декабря 2012, 07:39 | Сообщение # 54
Ветеран форума
Quote (Callisto)
Вводятся числа со множеством запятых n,n,nn,n

Точно тебе не подскажу как избавиться от лишнийх символов. Можно попробвыать реализовать через кнопку с горячей клавишей. "." и после первого срабатывания не давать сработать второй раз.
Пркрипил быстринький пример. Он конечно не панацея, его надо еще дорабатывать. Но хотябы посмотришь мою логику.
Прикрепления: 9785702.zip (2.0 Kb)


"Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
 
Сообщение
Quote (Callisto)
Вводятся числа со множеством запятых n,n,nn,n

Точно тебе не подскажу как избавиться от лишнийх символов. Можно попробвыать реализовать через кнопку с горячей клавишей. "." и после первого срабатывания не давать сработать второй раз.
Пркрипил быстринький пример. Он конечно не панацея, его надо еще дорабатывать. Но хотябы посмотришь мою логику.

Автор - anton
Дата добавления - 13 Декабря 2012 в 07:39
mishemДата: Чт, 13 Декабря 2012, 11:35 | Сообщение # 55
Эксперт форума
Quote (anton)
Точно тебе не подскажу как избавиться от лишнийх символов.

Примерно так.
Где стоит код
Code
If "[Numer]" "=" "0"
SetVar "[Numer]" ""
EndIf

заменить на
Code
SubStr "[Numer]" "1" "2" "[Res]"
SearchStr "," "[Res]" "[Res]" ""
IfEx "[Res]=0 and [Numer]=0"
   SetVar "[Numer]" ""
EndIf
ClearVariables "[Res]"

Код в кнопке с запятой заменить на
Code
SearchStr "," "[Numer]" "[Res]" ""
If "[Res]" "=" "0"
  SetVar "[Numer]" "![Numer],"
EndIf
ClearVariables "[Res]"

Добавлено (13 Декабря 2012, 11:31)
---------------------------------------------
Кстати и с закрытием скобки тоже надо решать.
Скобка не может быть закрыта раньше чем ее открыли. :)
Ну а глубже не вникал.

Добавлено (13 Декабря 2012, 11:35)
---------------------------------------------

Quote (mishem)
Код в кнопке с запятой заменить на

хотя, это не верно.
Если будет уравнение
(0,12)+(0,23)
или что то наподобие, то вторая запятая не подставится.
Проверку на запятые нужно более расширено делатьКалькулятор не такая простая вещь, как кажется на первый взгляд. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (anton)
Точно тебе не подскажу как избавиться от лишнийх символов.

Примерно так.
Где стоит код
Code
If "[Numer]" "=" "0"
SetVar "[Numer]" ""
EndIf

заменить на
Code
SubStr "[Numer]" "1" "2" "[Res]"
SearchStr "," "[Res]" "[Res]" ""
IfEx "[Res]=0 and [Numer]=0"
   SetVar "[Numer]" ""
EndIf
ClearVariables "[Res]"

Код в кнопке с запятой заменить на
Code
SearchStr "," "[Numer]" "[Res]" ""
If "[Res]" "=" "0"
  SetVar "[Numer]" "![Numer],"
EndIf
ClearVariables "[Res]"

Добавлено (13 Декабря 2012, 11:31)
---------------------------------------------
Кстати и с закрытием скобки тоже надо решать.
Скобка не может быть закрыта раньше чем ее открыли. :)
Ну а глубже не вникал.

Добавлено (13 Декабря 2012, 11:35)
---------------------------------------------

Quote (mishem)
Код в кнопке с запятой заменить на

хотя, это не верно.
Если будет уравнение
(0,12)+(0,23)
или что то наподобие, то вторая запятая не подставится.
Проверку на запятые нужно более расширено делатьКалькулятор не такая простая вещь, как кажется на первый взгляд. :)

Автор - mishem
Дата добавления - 13 Декабря 2012 в 11:35
PeterДата: Чт, 13 Декабря 2012, 12:42 | Сообщение # 56
Админ NeoBook
Quote (mishem)
или что то наподобие, то вторая запятая не подставится

Надо поставить дополнительное условие проверки, например, проверять только между знаками мат.действий.


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
или что то наподобие, то вторая запятая не подставится

Надо поставить дополнительное условие проверки, например, проверять только между знаками мат.действий.

Автор - Peter
Дата добавления - 13 Декабря 2012 в 12:42
mishemДата: Чт, 13 Декабря 2012, 14:54 | Сообщение # 57
Эксперт форума
Quote (Peter)
Надо поставить дополнительное условие проверки, например, проверять только между знаками мат.действий

Примерно так:
Code
SetVar "[Stroka]" "![Numer]"
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "+" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "-" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "*" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "/" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
If "[Stroka]" "<>" ""
     SearchStr "," "[Stroka]" "[Result]" ""
     If "[Result]" "=" "0"
        SetVar "[Numer]" "![Numer],"
     EndIf
EndIf


Но я смотрю там везде надо делать проверку.
Если вводить +,-0,+*+-21,+/+*+*


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Чт, 13 Декабря 2012, 14:55
 
Сообщение
Quote (Peter)
Надо поставить дополнительное условие проверки, например, проверять только между знаками мат.действий

Примерно так:
Code
SetVar "[Stroka]" "![Numer]"
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "+" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "-" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "*" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
   SearchStr "/" "[Stroka]" "[Result]" ""
   If "[Result]" "<>" "0"
      StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
   EndIf
EndWhile
If "[Stroka]" "<>" ""
     SearchStr "," "[Stroka]" "[Result]" ""
     If "[Result]" "=" "0"
        SetVar "[Numer]" "![Numer],"
     EndIf
EndIf


Но я смотрю там везде надо делать проверку.
Если вводить +,-0,+*+-21,+/+*+*

Автор - mishem
Дата добавления - 13 Декабря 2012 в 14:54
PeterДата: Чт, 13 Декабря 2012, 15:31 | Сообщение # 58
Админ NeoBook
Quote (mishem)
Но я смотрю там везде надо делать проверку.
Если вводить +,-0,+*+-21,+/+*+*

Ну, у меня сейчас думать и проверять нету времени, но я бы просто сделал массив запрещенных к повторному вводу символов, поместил его в список,... ну, а дальше все просто...
;)


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

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

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


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Но я смотрю там везде надо делать проверку.
Если вводить +,-0,+*+-21,+/+*+*

Ну, у меня сейчас думать и проверять нету времени, но я бы просто сделал массив запрещенных к повторному вводу символов, поместил его в список,... ну, а дальше все просто...
;)

Автор - Peter
Дата добавления - 13 Декабря 2012 в 15:31
mishemДата: Чт, 13 Декабря 2012, 15:47 | Сообщение # 59
Эксперт форума
Quote (Peter)
но я бы просто сделал массив запрещенных к повторному вводу символов,

Я так сделал.
Code
StrLen "[Numer]" "[Result]"
SubStr "[Numer]" "[Result]" "1" "[Result]"
IfEx "[Result]=+ or [Result]=- or [Result]=/ or [Result]= ,"
    Return
Else
    SetVar "[Numer]" "![Numer]+"
EndIf

Но тут тянет одно за другим. :)

Скобка закрытия
Code
SetVar "[Stroka]" "![Numer]"
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
  SearchStr "(" "[Stroka]" "[Result]" ""
  If "[Result]" "<>" "0"
     StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
     SetVar "[Sk_Otkr]" "1"
     SearchStr ")" "[Stroka]" "[Result]" ""
     If "[Result]" "<>" "0"
     SetVar "[Sk_Otkr]" ""
     EndIf
  EndIf
EndWhile
If "[Sk_Otkr]" "=" "1"
     SetVar "[Numer]" "![Numer])"
     SetVar "[Sk_Otkr]" ""
EndIf


Следом ноль тянет к решению. :D Мне уже надоело. :D
В начале ноль убирается, но так 33+067
уже нет.

Скобки тоже надо дорабатывать. () нужно делать что бы в скобках хоть какая то формула была.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
но я бы просто сделал массив запрещенных к повторному вводу символов,

Я так сделал.
Code
StrLen "[Numer]" "[Result]"
SubStr "[Numer]" "[Result]" "1" "[Result]"
IfEx "[Result]=+ or [Result]=- or [Result]=/ or [Result]= ,"
    Return
Else
    SetVar "[Numer]" "![Numer]+"
EndIf

Но тут тянет одно за другим. :)

Скобка закрытия
Code
SetVar "[Stroka]" "![Numer]"
SetVar "[Result]" "1"
While "[Result]" "<>" "0"
  SearchStr "(" "[Stroka]" "[Result]" ""
  If "[Result]" "<>" "0"
     StrDel "[Stroka]" "1" "[Result]" "[Stroka]"
     SetVar "[Sk_Otkr]" "1"
     SearchStr ")" "[Stroka]" "[Result]" ""
     If "[Result]" "<>" "0"
     SetVar "[Sk_Otkr]" ""
     EndIf
  EndIf
EndWhile
If "[Sk_Otkr]" "=" "1"
     SetVar "[Numer]" "![Numer])"
     SetVar "[Sk_Otkr]" ""
EndIf


Следом ноль тянет к решению. :D Мне уже надоело. :D
В начале ноль убирается, но так 33+067
уже нет.

Скобки тоже надо дорабатывать. () нужно делать что бы в скобках хоть какая то формула была.

Автор - mishem
Дата добавления - 13 Декабря 2012 в 15:47
MaratДата: Чт, 13 Декабря 2012, 17:19 | Сообщение # 60
Новичок
Попробовал добавить переменную. При старте Объявляться
SetVar "[Numer1]" "!0"
на кнопках уже соответственно
If "[Numer1]" "=" "0"
SetVar "[Numer1]" ""
EndIf

SetVar "[Numer]" "![Numer]1"

Как вариант. Вот со знаками не додумал, стоит прверка только на повторный ввод. т.е
один знак не поставить дважды, а если ставить разные знаки то опять несрастуха .
Кстати посмотрел штатный пример ,там те же проблемы.
 
СообщениеПопробовал добавить переменную. При старте Объявляться
SetVar "[Numer1]" "!0"
на кнопках уже соответственно
If "[Numer1]" "=" "0"
SetVar "[Numer1]" ""
EndIf

SetVar "[Numer]" "![Numer]1"

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

Автор - Marat
Дата добавления - 13 Декабря 2012 в 17:19
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Выполнить мат.условие из переменной
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: