0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 8
|
||||||
1 | ||||||
Калькулятор. Какая нужно команда?10.11.2013, 00:17. Показов 3832. Ответов 20
Здравствуйте.
Написал калькулятор ан VB 6.0. Все хорошо работает, но есть одна проблема. Когда я получил значение, например: 2+2 на экране, созданного мной калькулятора, вышел ответ. И когда я ввожу новое число, оно записывается в окошко калькулятора вместе с предыдущим ответом, т.е. я получил ответ 4, затем нажал на 2, и на экране получилось 42. Какую команду нужно ввести в код программы, чтобы предыдущий ответ автоматически стирался при вводе нового значения для нового расчета? Калькулятор самый простенький +, -, *, /
0
|
|
10.11.2013, 00:17 | |
Ответы с готовыми решениями:
20
Какая команда суммы в VBA? Какая команда скрывает визуальный процесс выполнения макроса? |
11487 / 3774 / 678
Регистрация: 13.02.2009
Сообщений: 11,153
|
||||||
10.11.2013, 00:38 | 2 | |||||
![]() Решение
1. Замени 10 цифровых кнопок массивом кнопок.
2. Установи какой-нибудь флаг для кнопки результата. Например так:
1
|
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 8
|
|
10.11.2013, 02:14 [ТС] | 3 |
Alex77755, Не совсем понял как объединить все цифровые кнопки массивом.
Добавлено через 5 минут Alex77755, Хотя и так получилось. Установил флажок в код к каждой цифровой кнопке. Работает Огромное спасибо. Понял что Ваш совет - объединить цифровые кнопки в массив, был для того чтобы много не печатать.
0
|
Заблокирован
|
||||||
10.11.2013, 07:16 | 4 | |||||
1 Попробуй скопировать кнопку на разрабатываемой форме
и сразу вылетет надпись с предложением сделать её массивом да-нет-отмена соглашаешся (да) 2 вариант у всех компонентов есть свойство Index по умолчанию он не задан задай его 3 вариант Load myControl програмно создаёт новый контрол на форме будет работать если установлен индекс только координаты назнач Добавлено через 9 минут Пример новых кнопок
1
|
Заблокирован
|
|
10.11.2013, 09:55 | 6 |
а ! да извиняюсь
![]() Добавлено через 10 минут К чему столько сложностей с калькулятором есть способы вызывать Win-калькулятор программно, писать там что-то программно и получать ответ в своей программе Добавлено через 18 минут 100денту польза только в практическом програмировании
1
|
11487 / 3774 / 678
Регистрация: 13.02.2009
Сообщений: 11,153
|
|
10.11.2013, 10:02 | 7 |
объединить цифровые кнопки в массив можно и не копируя кнопки.
В данном случае просто переименовать и расставить индексы согласно цифр. Например начни с кнопки "0". Назови как-нибудь, например "Цифра" и поставь индекс "0" при переименовании остальных кнопок по порядку индекс будет устанавливаться сам. Все старые процедуры цифровых кнопок удали. Создай новую. Уже "массивную"
1
|
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 8
|
|
11.11.2013, 01:24 [ТС] | 8 |
Alex77755,
А как создать новую "массивную" процедуру для цыфровых кнопок 0-9, именно для ВСЕХ сразу? Я удалил все старые и дальше что? Так же не совсем понятно как расставит индексы. В окне Properties? Извиняюсь, не силен в VB JoraVoenyjHaker, Удалил все старые и вписал вместо них ваш код "для новых кнопок" Но как привязать то его к самим кнопкам в разрабатываемой форме?
0
|
Заблокирован
|
|||||||||||
11.11.2013, 01:57 | 9 | ||||||||||
Ну так и привязывай
в обработке клавиши знаеш что индекс можно от 0 до 255 ставить вот и привязывай к asc коду клавиши да как угодно можно если чуть-чуть подумать ))) Добавлено через 2 минуты смотри Key$="0 1 2 3 4 5 6 7 8 9 33 34 65" j$()=split(Key) Добавлено через 3 минуты когда будеш создавать новый индекс просто
или Key$="48 49 50" что по asc=соответствует 0 1 2... событие когда ты нажал и отпустил клавишу вот тебе поле деятельности )))
0
|
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 8
|
||||||
11.11.2013, 01:59 [ТС] | 10 | |||||
JoraVoenyjHaker,
дважды кликнул на кнопку в форме "1" - открылся код формы - записал туда это:
Похоже я что-то не допонял. Индекс ставится в окне Properties?
0
|
Заблокирован
|
|
11.11.2013, 02:21 | 11 |
или Key$="0 1 + -"
j$()=split(Key) Load Command1(asc(j(f)) Добавлено через 2 минуты так ты везде проставь Command1(j(f)) Добавлено через 3 минуты ты пойми там индекс не f задаёт а элемент списка j(f) который может например 48 быть а f=0 Добавлено через 4 минуты кстате кроме индексов таким же макаром можно и координаты внести и размеры и всё что угодно и код будет очень компактный только использовать данные списков Добавлено через 2 минуты и вот ещё что я тебе дам совет редактируй свой код лесенкой где будет понятно кокой оператор за каким следует и по возможности остовляй коментарий любой и тогда сам увидиш как всё станет понятным Добавлено через 2 минуты твой код выглядит не солидно ))) Добавлено через 2 минуты Покажеш потом что у тебя вышло ? мне уже интересно....
0
|
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 8
|
|
11.11.2013, 02:23 [ТС] | 12 |
0
|
Заблокирован
|
|||||||||||
11.11.2013, 04:34 | 13 | ||||||||||
Ну ничего опыт приходит не сразу
знал бы ты меня то в обще не поверил бы что я ещё и прогер оказываеться ))) Добавлено через 5 минут да что я... тут у нас есть отдельные товарищи над которыми даже я удивляюсь Добавлено через 1 час 31 минуту Fof f=0 to 10 next next такая запись недопустима правильным будет: внимание !
![]() удивляет что даже пользователи с высокой репутацией не редактят текст правильно ! Добавлено через 6 минут я почему не люблю другие языки програмирования так это потому что в них трудно поддерживать нормальное оформление вот как они там пишут...
на крайняк можеш воспользоваться исключительно моей утилитой которая сама интелектуально ! поправляет текст глянь как-нибудь Оптимизатор текста (цветной) Добавлено через 3 минуты из за спешки и недостатка вдохновения я не придумал нормального названия той поделке )))
1
|
Заблокирован
|
|
11.11.2013, 06:42 | 14 |
а так у меня...
1
|
11487 / 3774 / 678
Регистрация: 13.02.2009
Сообщений: 11,153
|
|
11.11.2013, 09:40 | 15 |
Можно было не грузить прогрпммно, а оставить всё как есть. Только переименовать все цифровые кнопки и дать им ОДИНАКОВОЕ имя всем. Начинать с "0" остальные расставятся сами. После удаления всех процедур цифровых кнопок даблклик по любой переименнованой кнопке создаст процедуру массива кнопок. Отличается ниаличием аргумента index. При правильной расстановке индексов он и будет являться значением цифры. А в случае программной загрузки надо будет ещё и программно расставлять кнопки по форме. Как мне кажется в данном случае в этом нет необходимости.
1
|
Заблокирован
|
|
11.11.2013, 10:01 | 16 |
Зря я ему сразу програмную загрузку показал
теперь он совсем бидолага запутаеться не смотря на кажущую простоту там надо четко разбираться в массивах знать что такое asc как вариант можеш сделать как предлогает предыдущий оратор... Добавлено через 7 минут ладно если никто тебе не поможет так уж и быть, напишу тебе полу-готовый проект под названием мой-калькулятор сделаеш своим ))) Alex77755 привет !
1
|
Заблокирован
|
|
11.11.2013, 10:55 | 17 |
всё сделал !
1
|
Заблокирован
|
|
11.11.2013, 11:09 | 18 |
а вот картинка
1
|
Заблокирован
|
|
11.11.2013, 11:26 | 19 |
я сделал по своему
как и говорил кода получилось 3 строчки причем размер всех кнопок строго одинаковый размеру единственной кнопке на форме в разработке ))) Добавлено через 5 минут если ещё три строчки дописать то можно в раздел готовых решений отправить )))
0
|
11487 / 3774 / 678
Регистрация: 13.02.2009
Сообщений: 11,153
|
|
11.11.2013, 13:26 | 20 |
Калькулятора-то там нет! Полупрозрачность! Да и то ТС может не открыть проект! Формы-то нет нужной.
1
|
11.11.2013, 13:26 | |
Помогаю со студенческими работами здесь
20
Какая команда противоположна in?
какая команда байт перевернуть ? Solaris Какая команда в Terminal-e? Какая команда зависит от dir/ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |