Суббота, 09 Ноября 2024, 01:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблемы с окном
AHTOXA82Дата: Воскресенье, 05 Января 2014, 14:27 | Сообщение # 1
частый гость
Сейчас нет на сайте
Задача: при нажатии кнопки enter должно появляться окно для ввода цифр. Водим цифры, программа их запоминает и выводит на экран. Вроде все просто. Вот я сделал ПРИМЕР

В этом примере все в целом работает, но возникают две совершенно загадочные ошибки.

1) Почему-то окно ввода вылезает только со второго раза. Стабильно, надо нажать два раза чтобы оно появилось. Почему?
2) Вторая проблема еще более загадочна. Когда в поле ввода цифр мы вводим длинное число, отображается число немного отличающееся от того, которое мы ввели! Здесь показано как я ввел число с большим количеством шестерок, а здесь показано что вывела программа на экран (не такое число, какое я ввел). При этом можно заметить, что ввел я целое число, а выводится на экран, как будто оно дробное (запятая и два нуля после нее).

Какие мысли друзья мои?


Сообщение отредактировал AHTOXA82 - Воскресенье, 05 Января 2014, 14:31
JuGGerNaunTДата: Воскресенье, 05 Января 2014, 16:16 | Сообщение # 2
уже был
Сейчас нет на сайте
По 1 не знаю, возможно баг функции, который блокирует ввод. Хз. А вот по 2 тут все понятно: при вводе слишком большого количества цифр, итоговое преобразованное число просто не помещается в переменной, выделенной для его хранения. Не понятно почему сама функция не ограничивает количество вводимых символов. Для решения 2 проблемы можно брать функцию считывающию строку и потом вручную распознавать введенное число.
AHTOXA82Дата: Воскресенье, 05 Января 2014, 17:43 | Сообщение # 3
частый гость
Сейчас нет на сайте
Цитата JuGGerNaunT ()
при вводе слишком большого количества цифр, итоговое преобразованное число просто не помещается в переменной, выделенной для его хранения

Да, действительно. Если использовать функцию string_format, которая позволяет задать общее количество цифр в числе, и количество цифр после запятой, то становится видно, что после 17-й цифры все значения обращаются в 0.

Тогда остается только первый вопрос. Почему приходится дважды на кнопку нажимать? Причем, то же самое приходится делать не только в событии клавиатуры, но и событии мыши. И это не проблема события клавиатуры/мыши, я проверял. Не работает именно функция get_integer_async. И точно так же не работает функция get_string_async. Но, при этом эти функции прекрасно работают на андроиде. Что за хрень с ГМС творится?


Сообщение отредактировал AHTOXA82 - Воскресенье, 05 Января 2014, 18:07
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг