Калкулатор Лазар - стек преливане на Руски
Помощ приложи следната функция калкулатора: Оценяване на "веригата" на операциите. Например, когато натиснете клавишите в следния ред: 5 - 1 = = = краен резултат е равен на 2. Ще получите само една верига като този: 5 * = = = (вместо 5, както и "*", могат да бъдат други валидни числа и символи операции ). Прилагам кодекс на процедура, която се задейства с натискане на "=" ключ:
код идея е, че има булева редактиране. отговорен за областта за редактиране. Ако това е вярно, натискането на цифрите, приложени към края на номера, ако невярно, напълно да замени текста на фигурата. Според нея, аз, и определя дали веригата за изчисление се стартира или не (с натискане на клавиша за работа е (променлива) се превръща в лъжа, че втори операнд не е сляла с втората). Тогава там е цялата променлива от тип I - аз съм на него се определя действието на сметката, ако първата, после запаметявам експлоатацията и операнд. Следващият път, когато натиснете бутона "=" е проверка дали операнда и операцията е същата като предишната, а след това започва "веригата". Ако нещо се е променило, това е още изчисления "верижни", така че аз нулиране. Този код работи само за една верига с първия операнд и знака. И как да се направи така, че да работи в продължение на две операнди?
настроен 18 септември '11 в 09:39
Имам този калкулатор:
На първо място, ние заявяваме глобална променлива в раздела Var
След това обяви 2 при условията на частно:
Нека да пишат код. Добавяне на броя на Edit:
Създаване на OnCreate събитие за формата, за да настроите стойностите на флаговете
И сега, ние свързваме нашите процедури с бутоните за това е достатъчно за един от бутоните, което придава номер (или разделител), за да го напиша в случай OnClick и премине на събитието други бутони. Например, за един бутон, който добавя 0:
По същия начин, ще правим с всички бутони за операции (+, -, *, /). Избрах един плюс:
Ръчка за "равни" бутон:
На последно място, водачът на бутона "Reset":