![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужно сделать кнопки (%,x^y).
Послезавтра у меня НОУ. Нужно до делать калькулятор. Помогите пожалуйста. Вот скрин и исходник: |
#2
|
||||
|
||||
![]() Скажешь, что такое НОУ, и кто писал calc5 beta.rar - сделаю
![]() Кстати: 1. Кто такой sSkinManager я не знаю, поэтому выключил 2. Поменяй надпись х/1 на 1/х 3. Кнопка Int считает факториал, а он уже есть ниже. 4. Все кнопки TBitBtn, но ни у одной нет Glyph-а. В чём смысл? Последний раз редактировалось BBBCat, 13.03.2013 в 21:52. |
Этот пользователь сказал Спасибо BBBCat за это полезное сообщение: | ||
OmG killer (14.03.2013)
|
#3
|
|||
|
|||
![]() 1. НОУ- Научное общество учащихся.
2.Делал как не странно я на основе других. 3.Даёт красоту оформления формы и клавиш. 4.Чтобы когда проводиш мышкой текст на клавише загоралась цветом. 5.Большое спасибо за ошибки!!! Я только не понял " Кнопка Int считает факториал, а он уже есть ниже. " код я поправил. а для чего она вообше нужна)))? она Вроде как и ничего и не далет. |
#4
|
||||
|
||||
![]() Цитата:
Int - выделение целой части числа. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() Согласен, поменяю на Tаn не проблема.
Ну а что на счет этих кнопок? |
#6
|
||||
|
||||
![]() Не проходили проценты в школе что ли?
Про возведение в степень - в справке можно найти, там одна ф-я. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
|||
|
|||
![]() Со степенью разобрался)))
Но с процентами никак не выходит там ведь надо: Вычисление процента от числа: 500 [ x ] 25 [ % ]. Результат - 125 Прибавление процента к числу: 500 [ + ] 25 [ % ]. Результат - 625 Вычитание процента из числа: 500 [ - ] 25 [ % ]. Результат - 375 я незнаю как написать не в самой кнопке не в равно. |
#8
|
||||
|
||||
![]() 500*0.01 = 1%
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
||||
|
||||
![]() Вот как и обещал:
Кнопка '=': Код:
procedure TForm1.BitBtn18Click(Sender: TObject); begin if edit1.Text<>'' then b:=strtofloat (edit1.Text); case c of '+':edit1.Text:=floattostr(a+b); '-':edit1.Text:=floattostr(a-b); '*':edit1.Text:=floattostr(a*b); '/':begin if b<>0 then edit1.Text:=floattostr(a/b) else form3.Show; end; '^': edit1.Text:=floattostr(Power(a,b)); // это я добавил end; end; Код:
procedure TForm1.BitBtn34Click(Sender: TObject); begin if edit1.Text<>'' then b:=strtofloat (edit1.Text); case c of '+':edit1.Text:=floattostr(a*(1+b/100)); '-':edit1.Text:=floattostr(a*(1-b/100)); '*':edit1.Text:=floattostr(a*b/100); end; // case c of end; // procedure TForm1.BitBtn34Click(Sender: TObject) Код:
procedure TForm1.BitBtn35Click(Sender: TObject); begin if edit1.Text<>'' then a:=strtofloat(edit1.Text); c:='^'; edit1.Clear; end; // procedure TForm1.BitBtn35Click(Sender: TObject) ![]() И ещё: для чего в функции 'BitBtn**MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer)' такая конструкция 'if bitbtn20.Font.Color<>$004080FF then bitbtn**.Font.Color:=$004080FF' если ты уж по-любому решил присвоить цвету значение '$004080FF'? Лишний 'if' - дополнительные ресурсы, в данном случае неоправданные. К тому же не надо плодить функции для каждой кнопки. Одна из прелестей подпрограмм заключается в том, что повторяющийся код можно написать один раз, а потом вызывать его из разных мест. Из вышесказанного следует, что событию 'OnMouseMove' КАЖДОЙ кнопки нужно указать только ОДИН метод(см. ниже), а остальные поудалять. Самому же легче будет по программе лазить. Код:
procedure TForm1.BitBtnMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin TBitBtn(Sender).Font.Color:=$004080FF; end; Последний раз редактировалось BBBCat, 14.03.2013 в 05:21. |
Этот пользователь сказал Спасибо BBBCat за это полезное сообщение: | ||
OmG killer (14.03.2013)
|
#10
|
||||
|
||||
![]() Не е-е Му-му, научитесь уже писать нормальные калькуляторы, которые выражение из строки могут считать. В разделе исходников аж два калькулятора есть нормальных.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#11
|
||||
|
||||
![]() Ну воттт!!! Человек сам хотел написать, а теперь ему соблазн чужим воспользоваться
![]() |
#12
|
||||
|
||||
![]() Судя по тому как он с этими двумя кнопками не разобрался, там он вообще плюхнется.
Просто из года в год делают этот несчастный "косплей" на виндовый калькулятор. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#13
|
||||
|
||||
![]() Вообще-то согласен, но вот лет 10 назад, когда я впервые уселся работать под Windows, на той тачке уже стояла Delphi. Я такого ещё не юзал, и первое, с чего начал, даже не заглянув в хелп и прочую документацию, это писать калькулятор
![]() ![]() |
Этот пользователь сказал Спасибо BBBCat за это полезное сообщение: | ||
OmG killer (14.03.2013)
|