Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Робот Шарп работает.

Демо игры / VIP. Устный счёт

  • На этом уроке мы напишем программу для тренировки устного счёта.

    Задание:
    Сделать тренажёр устного счёта по основным арифметическим операциям.
  • Дата отправки отчёта: 14 декабря 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Выводить данные в метки и в текстовые окна, считывать данные из меток и текстовых окон, распознавать нажатие кнопки Enter, программно задавать фокус, попрактиковался в программировании секундомера.
  • Что было сложным: Совершенно измучился с тем, что на втором и последующем шагах в элементе text_answer почему-то добавляется \r\n. Мучился с этим не менее 3-х часов – так и не понял, с чем это связано.
    Соответственно, после первого шага не работает сравнение:
    if (text_answer.Text == answer)
    В конце концов, нашел следующее решение с конвертацией в целое число:
    if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer))
    Кто-нибудь может объяснить мне, в чем тут дело?
  • Комментарии: Остался вопрос: почему на втором и последующем шагах в элемент text_answer добавляется значение \r\n?
    Также не понял, почему в начале работу программы я не смог сместить фокус с элемента text_answer?
  • Оценка видео-уроку:
Отчёт от 7645 за Демо игры / VIP. Устный счёт




Оцени работу

 
Сохранить страницу:

1. KF
Евгений Волосатов
Евгений Волосатов
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-14 23:18

Испоьзуй метод Trim.


7276. --
Ильшат
Ильшат
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-15 00:43

Александр, проверьте в свойствах text_answer значение свойства MultiLine. Я попробовал представить Вашу ситуацию, изменил на MultiLine = true, в итоге при if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer)) система корректно удаляет начальные или конечные whitespace символы. Если же сравнивать сами строки, то как раз \r\n добавляется перед вводимым ответом, поэтому ошибка. Нужно установить MultiLine = false.


7645. --
Александр Львович
Александр Львович
ответить
→  Ильшат  # Наноигры / Устный счёт / 2015-12-15 06:05

Большое спасибо, Ильшат! Причина была именно в параметре MultiLine!


7645. --
Александр Львович
Александр Львович
ответить
→  Евгений Волосатов  # Наноигры / Устный счёт / 2015-12-15 06:40

Большое спасибо, Евгений Витольдович! Причина моей ошибки была в том, что для текстового окна я установил параметр MultiLine=true.
Установка фокуса на текстовое окно в начале работы, как оказалось, произошло из-за того, что его параметр TabIndex был равен 0.


24. --
Олюшка
Олюшка
ответить
→  Александр Львович  # Наноигры / Устный счёт / 2015-12-15 17:05

Александр, рада что теперь все отлично получилось, и ты приобрел отличнейшие знания и опыт! Молодец! :)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: 1. упаковывать повторяющийся код в отдельный метод. 2. в методе можно использовать разные части кода, передавая в сигнатуре метода определённую метку и использую логические конструкции.
Трудности: пока не смог прикрутить счётчик времени..
всё ровно)


Научился: Научился работать с ProgressBar :D
Трудности: Немного сложно было разобраться с try catch, придумать и реализовать что-то от себя :D
Добавил таймер, который вычисляет за сколько секунд были решены примеры) Урок как всегда был интересным !! :)