Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

Калькулятор за 30 строчек.   Найти похожие ветки 

 
NewN   (2003-05-16 09:30) [0]

Вчера пришла знакомая (Лена), говорит - напиши мне калькулятор, курсовой нужно. Я за час написал - получилось 30 строчек! Полноценный калькулятор, 4 арифметических операции в любой последовательности, приоритет не учитывается, нет управления с клавиатуры, но в полном соответствии с ТЗ.
Всего 34 строки исходного кода, думаю маловато будет для курсового проекта :-).
Я его положил в кладовку: http://www.delphimaster.ru/cgi-bin/download.pl?get=1053062321&n=1
А вопрос у меня к мастерам такой - можно сделать ещё проще при той же функциональности? Кто может укоротить код? Буду признателен, если укажете на ошибки.


 
Palladin   (2003-05-16 09:42) [1]


sOperand:= Display.Caption;
sOperand:= "-" + sOperand;
if Length(sOperand) > 1 then
case sOperand[2] of
"-": Delete(sOperand, 1, 2);
"0": Delete(sOperand, 2, 1);
end;
if sOperand = "" then
Display.Caption:= "0"
else
Display.Caption:= sOperand;

заменяется на

if Display.Caption[1]="-" then sOperand:=copy(Display.Caption,2,length(Display.Caption))
else sOperand:="-"+Display.Caption;
Display.Caption:=sOperand;




 
Дмитрий К.К.   (2003-05-16 09:45) [2]

Лена поблагодарила, надеюсь, тебя?


 
NewN   (2003-05-16 09:55) [3]

Palladin © (16.05.03 09:42)
- спасибо, попробую разобраться.
Дмитрий К.К. © (16.05.03 09:45)
- Она моя хорошая знакомая, я для неё всё делаю бескорыстно. (Она для меня тоже:-))


 
NewN   (2003-05-16 10:02) [4]

Palladin © (16.05.03 09:42)
в этом случае, при наборе отрицательного числа (-123456) отобразится лишний ноль (-0123456)


 
Palladin   (2003-05-16 10:12) [5]

ну и?
у тебя там нули и так позволяются несметное количество впереди


 
NewN   (2003-05-16 10:23) [6]

Palladin © (16.05.03 10:12)

Да, недоглядел - но в исходном варианте, только если несколько раз по клавише "0" щёлкнуть - то столько и нулей появится. А "-/+" нулей не добавляет. Надо не увеличивать количество ошибок.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
7-3187
Dead Stark
2003-04-02 06:29
2003.06.02
Как посмотреть какие функции экспортирует dll-ка?


1-2866
BJValentine
2003-05-21 19:43
2003.06.02
FindFirst


1-2882
atmospheric
2003-05-22 16:04
2003.06.02
Кнопка Run в Delphi...


1-2998
vlv
2003-05-21 17:30
2003.06.02
Проблемы с наследованием форм от TService


1-2947
alords
2003-05-20 12:09
2003.06.02
Как узнать завершение другой проги (DOS или Win)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский