|
Как присвоить переменной тип данных? | ☑ | ||
---|---|---|---|---|
0
Джим
24.09.13
✎
23:01
|
Привет все. Делаю игру "угадай число". имеется вот такой код:
Процедура УгадайЧисло() Перем ВведенноеЧисло; СгенерированноеЧисло = Новый ГенераторСлучайныхЧисел; СгенерированноеЧисло.СлучайноеЧисло(1,1000); СгенерированноеЧисло = Строка(СгенерированноеЧисло); ВведенноеЧисло = Строка(ВведенноеЧисло); Если Вопрос("Хотите сыграть в игру?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда ВвестиЗначение(ВведенноеЧисло, "Введите число в диапазоне от 1 до 1000", Тип("Число")); Пока Не ВведенноеЧисло = СгенерированноеЧисло Цикл Если ВведенноеЧисло>СгенерированноеЧисло Тогда Предупреждение("Ваше число "+ВведенноеЧисло+" больше задуманного компьютером! Попробуйте еще раз."); Иначе Предупреждение("Ваше число "+ВведенноеЧисло+" меньше задуманного компьютером! Попробуйте еще раз."); КонецЕсли; КонецЦикла; Если ВведенноеЧисло = СгенерированноеЧисло Тогда Предупреждение("Молодец, угадал!"); КонецЕсли; Иначе Предупреждение("Ну и зря!"); КонецЕсли; КонецПроцедуры Однако, когда в модуле управляемого приложение ввожу число, выскакивает такая фигня: {МодульУправляемогоПриложения(30)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) Если ВведенноеЧисло>СгенерированноеЧисло Тогда В чем косяк? |
|||
1
Джим
24.09.13
✎
23:01
|
Ой ой ой, чего-то код разбило на два куска
|
|||
2
Попытка1С
24.09.13
✎
23:03
|
СгенерированноеЧисло = Строка(СгенерированноеЧисло)
а нафига тут строка? |
|||
3
Джим
24.09.13
✎
23:03
|
Пардон, это эксперименты, забыл удалить) Вот такой вариант конечный:
Процедура УгадайЧисло() Перем ВведенноеЧисло; СгенерированноеЧисло = Новый ГенераторСлучайныхЧисел; СгенерированноеЧисло.СлучайноеЧисло(1,1000); Если Вопрос("Хотите сыграть в игру?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда ВвестиЗначение(ВведенноеЧисло, "Введите число в диапазоне от 1 до 1000", Тип("Число")); Пока Не ВведенноеЧисло = СгенерированноеЧисло Цикл Если ВведенноеЧисло>СгенерированноеЧисло Тогда Предупреждение("Ваше число "+ВведенноеЧисло+" больше задуманного компьютером! Попробуйте еще раз."); Иначе Предупреждение("Ваше число "+ВведенноеЧисло+" меньше задуманного компьютером! Попробуйте еще раз."); КонецЕсли; КонецЦикла; Если ВведенноеЧисло = СгенерированноеЧисло Тогда Предупреждение("Молодец, угадал!"); КонецЕсли; Иначе Предупреждение("Ну и зря!"); КонецЕсли; КонецПроцедуры |
|||
4
Джим
24.09.13
✎
23:04
|
(2) Я новенький тут, пытаюсь разбираться. Проблема в том, что не сравниваются два числа, т.е. их надо как-то привести к определенному типу данных, в данном случае "число". Как я понял.
|
|||
5
Fragster
модератор
24.09.13
✎
23:07
|
ГСЧ = Новый ГенераторСлучайныхЧисел;
СгенерированноеЧисло = ГСЧ.СлучайноеЧисло(1,1000); |
|||
6
Джим
24.09.13
✎
23:16
|
(5) Спасибо большое!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |