Не понимаю почему так!!!

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 30.06.2006 (Пт) 15:33

PetrOFFs писал(а):Ну а как зделать!!!


ДУМАЙ!
если хочешь научиться, то ДУМАЙ.
и пробуй... часто руки оказываются умнее головы... ;))))))
Max

PetrOFFs
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 24.06.2006 (Сб) 15:50
Откуда: Омск

Сообщение PetrOFFs » 30.06.2006 (Пт) 15:35

kroskros
Пожалуйста покаже мне пример как сложить 2 числа и что бы после ввода 1 числа экран очищался

PetrOFFs
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 24.06.2006 (Сб) 15:50
Откуда: Омск

Сообщение PetrOFFs » 30.06.2006 (Пт) 15:37

kroskros
Я уже столько пытаюсь зделать его что у меня уже голова дымится (потому что 1 зделаеш другое не работает)

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 30.06.2006 (Пт) 16:05

ух...
"Сделаешь" пишется, ладно?? )))

делаем тупо, но просто, чтоб, как в танке ;)

1- введи переменную-флаг
dim OperFlag as Boolean к примеру...

при загрузке присваеваешь:
OperFlag = true
(будем считать false - нажата операция, true - цифра)

2 - по нажатию любой цифровой кнопки
2.а анализируешь флаг, если false, то чистишь строку (код смотри выше)
2.б прибавляешь к строке нужный знак
выставляешь флаг в TRUE

ну.. при нажатии на кнопку операции не забываешь выставить флаг в false ессно
Последний раз редактировалось kroskros 30.06.2006 (Пт) 16:16, всего редактировалось 2 раз(а).
Max

dmitriy22
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 121
Зарегистрирован: 27.04.2006 (Чт) 12:04
Откуда: Москва

Сообщение dmitriy22 » 30.06.2006 (Пт) 16:12

kroskros ты бы ему лучше код написал
Я не волшебник, я просто учусь.

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 30.06.2006 (Пт) 16:17

dmitriy22 писал(а):kroskros ты бы ему лучше код написал

Н
И

Ф
И
Г
А
!
!
!

Учиться, учиться и учиться! ))))))))))))))))
Max

PetrOFFs
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 24.06.2006 (Сб) 15:50
Откуда: Омск

Сообщение PetrOFFs » 30.06.2006 (Пт) 16:24

kroskros
я слабо понимаю в том что ты мне написал!!! :shock:

Мне просто надо узнать куда сохранять второе число и по нажатию на "=" выводился ответ :cry:

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 30.06.2006 (Пт) 23:00

1 - правило русского языка.

2 - поймешь, когда будешь писать программу. и столкнешься с этой проблемой...

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

Второе число тебе не надо вообще запоминать в переменную .
ты внес уже первое число в переменную(MyValue допустим)?
второе - набрано в текстбоксе.
результат (пусть это будет деление) можешь смело записывать напрямую в тестбокс, или в переменную MyValue

MyTexbox.Text = (MyValue/CType(MyTexbox.Text, real)).ToString
(сдается мне, что .ToString и не обязательно...)

или для переменной:
MyValue = MyValue/CType(MyTexbox.Text, real)
Max

PetrOFFs
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 24.06.2006 (Сб) 15:50
Откуда: Омск

Сообщение PetrOFFs » 01.07.2006 (Сб) 6:56

Я так понимаю это код должен быть в кнопке которая делит:
MyTexbox.Text = (MyValue/CType(MyTexbox.Text, real)).ToString

а куда этот код???
MyValue = MyValue/CType(MyTexbox.Text, real)

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

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 01.07.2006 (Сб) 9:01

а куда этот код???
MyValue = MyValue/CType(MyTexbox.Text, real)


никуда.. ты можешь использовать ИЛИ тот, или ЭТОТ.
Второй правильнее, если можно так сказать... ;)

а про то как чистить текстовое поле после нажатия знака я писал раньше.. там где про флаг рассуждал.
для тех, кто не понял.. флаг это не штука на палке, а индикаторная переменная, которая может принимать определенные значения, в зависимости от произошедших событий.
в нашем случае события 2 - нажатие цифры и нажатие операции.

обрати внимание, что чистить поле надо не при нажатии операции,
а при нажатии ПЕРВОЙ цифры нового числа, которое будет вводиться ПОСЛЕ операции..
поэтому номер с
Я так понимаю это код должен быть в кнопке которая делит:
MyTexbox.Text = (MyValue/CType(MyTexbox.Text, real)).ToString

не пройдет. на момент нажатия кнопки операции у тебя еще не введен второй операнд!!!

Есть т.н. Польская запись (безскобочная) мат операций (если мне не изменяет память)
когда сперва мы вводим первый операнд, потом второй, а ПОСЛЕ этого вводим операцию которую надо между ними выполнить.

т.е. если обычно ты нажимаешь:
а- 2
б- 5
в- /
г- 5
д-=
и появляется ответ,
то при Польской Системе:
а- 2
б- 5
в- } --(операция введения в память первого операнда)
г- 5
д- /
появляется ответ

польская система проще для програмирования, но непривычна для пользователей.

а тебе сколько лет, если не секрет?
Max

Денис Победря
Мегобойанист
Мегобойанист
 
Сообщения: 1037
Зарегистрирован: 03.01.2005 (Пн) 21:29
Откуда: Из Москвы

Сообщение Денис Победря » 01.07.2006 (Сб) 10:55

PetrOFFs
Ты знаешь что такое переменная? Вот мой совет - напиши псевдо код, он же алгоритм на русском или любом другом языке.
[Место cдаётся]

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 01.07.2006 (Сб) 11:28

Господа, предлагаю перенести тему в раздел юмора
Я когда читал вопросы - плакал (не в обиду конечно) :lol:
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

vit.b
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 10.06.2006 (Сб) 16:29

Сообщение vit.b » 01.07.2006 (Сб) 20:53

Возьми пример поможет
Вложения
WinForms-Calc.rar
(8.13 Кб) Скачиваний: 62

baha76
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 07.01.2004 (Ср) 10:59
Откуда: Ташкент

Сообщение baha76 » 03.07.2006 (Пн) 15:23

Здорово посмеялся :lol:
Точно, надо перенести в раздел юмора. :)

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 03.07.2006 (Пн) 17:25

злые вы...
уйду я от вас... :)
Max

PetrOFFs
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 24.06.2006 (Сб) 15:50
Откуда: Омск

Сообщение PetrOFFs » 03.07.2006 (Пн) 18:39

baha76
А что смешного? Ты сам то много умел когда учился?

baha76
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 07.01.2004 (Ср) 10:59
Откуда: Ташкент

Сообщение baha76 » 05.07.2006 (Ср) 9:17

Покрайней мере калькулятор писал без посторонней помощи, да еще на С++. Я пользуюсь литературой и библиотекой MSDN. Форумами пользуюсь только в нестандартных ситуациях (бывает доволно редко).

Пред.

Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 46

    TopList