Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2007, 09:28   #11
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от RocKy Посмотреть сообщение
А вот насчёт калькулятора ??
Кидай на форму Edit и в свойстве KeyPress пиши:
//////////////////////
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
a,b,rez:extended;
znak,str:string;
z,i:integer;
begin
znak:='';
z:=0; // {позиция знака}
A:=0; // {первое число,}
B:=0; // {второе число,}
rez:=0; // {результат}
if Key in ['0'..'9']+[#8,#13]+[',','.','+','-','*','/'] then begin end else Key:=#0; // {исключаем ввод букв и прочих лишних символов}
if (Key=',')or(Key='.') then Key:=DecimalSeparator; { знак точки/запятой}
if Key=(#13) then // {когда нажимаем ENTER}
begin
str:=Edit1.Text;
for i:=0 to Length(str)-1 do
begin
case (str[i]) of // {ищем в строке вхождение знака + - * /}
'+': begin
znak:='+';
A:=strtofloat(copy(str,0,i-1));
B:=strtofloat(copy(str,i+1,Length(s tr)-1));
Rez:=A+B;
end;
'-': begin
znak:='-';
A:=strtofloat(copy(str,0,i-1));
B:=strtofloat(copy(str,i+1,Length(s tr)-1));
Rez:=A-B;
end;
'*': begin
znak:='*';
A:=strtofloat(copy(str,0,i-1));
B:=strtofloat(copy(str,i+1,Length(s tr)-1));
Rez:=A*B;
end;
'/': begin
znak:='/';
A:=strtofloat(copy(str,0,i-1));
B:=strtofloat(copy(str,i+1,Length(s tr)-1));
Rez:=A/B;
end;
end;
end;
Form1.Caption:=floattostr(a)+znak+f loattostr(b)+'='+floattostr(rez); // {вывод в заголовок формы всей формулы}
Edit1.Text:=floattostr(rez); // {вывод в едит ответа }
end;
end;

/////////////////////
Вводишь в Edit примерно следующее: 123,45+6789
жмыкаешь Enter

P.S.: Работает только для одного арифметического действия!!!!!!!!!
Alex21 вне форума Ответить с цитированием
Старый 08.06.2007, 09:50   #12
OrdJONY
.NET-чик
Форумчанин
 
Аватар для OrdJONY
 
Регистрация: 24.03.2007
Сообщений: 569
По умолчанию

Вот посмотри может пригодиться, когда то делал
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок

Последний раз редактировалось OrdJONY; 14.09.2007 в 23:51.
OrdJONY вне форума Ответить с цитированием
Старый 09.06.2007, 08:59   #13
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Вот.
Вложение 682
Может последовательно выполнять не более двух действий, например, a+b-c или a*b+c и т.п.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать

Последний раз редактировалось ACE Valery; 17.06.2007 в 19:39.
ACE Valery вне форума Ответить с цитированием
Старый 22.07.2007, 21:00   #14
Максим-2
Пользователь
 
Аватар для Максим-2
 
Регистрация: 01.07.2007
Сообщений: 30
По умолчанию

Чтоюы бы не появлялась надпись Edit2 перед запуском программы выдели мышкой это ЭДИТ и в свойстве caption (заголовок) очисти (удали) надпись EDIT2
Максим-2 вне форума Ответить с цитированием
Старый 22.07.2007, 22:34   #15
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
Восклицание Взгляни на ссылку!!!!

[quote=RocKy;22985]есть готовая программа Каркулятора в Delphi!!!/quote]
Вот посмотри, на этой ссылке. Там много различных калькуляторов.
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 22.07.2007, 22:38   #16
KORT
Вот я и
Форумчанин
 
Аватар для KORT
 
Регистрация: 07.04.2007
Сообщений: 501
По умолчанию

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
Вот.
Вложение 682
Может последовательно выполнять не более двух действий, например, a+b-c или a*b+c и т.п.
Вот эту ошибку выдает форум: "Вложение не указано или не существует...".
Исходники программ - http:\\www.kort.3dn.ru
KORT вне форума Ответить с цитированием
Старый 23.07.2007, 02:23   #17
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
Стрелка

Цитата:
Сообщение от Максим-2 Посмотреть сообщение
Чтоюы бы не появлялась надпись Edit2 перед запуском программы выдели мышкой это ЭДИТ и в свойстве caption (заголовок) очисти (удали) надпись EDIT2
У edit'a заголовок не Caption а Text
Viteef вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно в edit1 вывести время! zotox Помощь студентам 1 11.12.2008 10:24
вывести строку задом-наперёд (assembler) Nikolai_90 Помощь студентам 1 03.06.2008 08:03
если поле Patr пусто или null то пустую строку возвращает azat БД в Delphi 5 01.02.2008 13:05
Вывести конкретную строку из файла Captain Nemo Общие вопросы Delphi 9 15.05.2007 03:44