Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 31
1

калькулятор в делкси

13.12.2012, 23:29. Показов 562. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте!!! помогите пожалуйста! вот самое начало все правильно в конце что то не так, Объясняю что нужно Например складываю edt1 и edt2 в edt3 получаю ответ, и когда в конце этого ответа я ставлю K(английскую),то у меня в edt1 перетаскивается ответ с этой же буквой а мне надо чтобы перетаскивалось просто число
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edt1.Text:='0';Edt2.Text:='0';Edt3.Text:='0';
end;
procedure TForm1.btn2Click(Sender: TObject);
var s1,s2,s3:string;
r1,r2,r3:Extended;
k:Integer;
begin
s1:=Edt1.Text;
Val(s1,r1,k);
if k<>0 then
begin
Application.MessageBox( 'Первый операнд должен быть числом!',
'Open Error',
MB_OKCANCEL + MB_DEFBUTTON1);
exit
end;

s2:=Edt2.Text;
Val(s2,r2,k);
if k<>0 then
begin
Application.MessageBox( 'Второй операнд должен быть числом!',
'Open Error',
MB_OKCANCEL + MB_DEFBUTTON1);
exit
end;

begin
if Btn1.Caption='+' then
r3:=r1+r2 //вычисление суммы
else
if Btn1.Caption='x' then
r3:=r1*r2
else
if Btn1.Caption='/' then
r3:=r1/r2
else
if Btn1.Caption='-' then
r3:=r1-r2
else
if Btn1.Caption='^' then
r3:=exp(r2*ln(r1));
end;
s3:=FloatToStr(r3); //преобразование числа в строку
k:=Pos(',',s3); //проверка, используется ли разделитель запятая между
if k>0 then
begin //целой и дробной частями числа, и замена ее на точку.
Delete(s3,k,1);
Insert('.',s3,k);
end;
Edt3.Text:=s3; //запись результата в поле ввода Edit3
end;


procedure TForm1.btn1Click(Sender: TObject);
begin
if Btn1.Caption='+' then
Btn1.Caption:='x'
else
if Btn1.Caption='x' then
Btn1.Caption:='/'
else
if Btn1.Caption='/' then
Btn1.Caption:='-'
else
if Btn1.Caption='^' then
Btn1.Caption:='+';
end;
procedure TForm1.btn1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not(Key in [17,18]) then exit;
if IntToStr(Key)='18' then
begin //Клавиша Alt
if Btn1.Caption='+' then
Btn1.Caption:='x'
else if Btn1.Caption='x' then
Btn1.Caption:='/'
else
if Btn1.Caption='/' then
Btn1.Caption:='-'
else if Btn1.Caption='-' then
Btn1.Caption:='+';
end
else
begin //Клавиша Ctrl
if Btn1.Caption='+' then
Btn1.Caption:='-'
else
if Btn1.Caption='-' then
Btn1.Caption:='/'
else
if Btn1.Caption='/' then
Btn1.Caption:='x'
else
if Btn1.Caption='x' then
Btn1.Caption:='+'

end;


end;
procedure TForm1.edt3KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if not(Key in [71,75]) then exit;
if IntToStr(Key)='75' then
begin //Клавиша Л л K k
Edt1.Text:=edt3.Text;
Edt2.Text:='';
Edt3.Text:='';
Edt2.SetFocus
end
else
begin //Клавиша П п G g
Edt2.Text:=edt3.Text;
Edt1.Text:='';
Edt3.Text:='';
Edt1.SetFocus
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2012, 23:29
Ответы с готовыми решениями:

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include &lt;iostream&gt; int main(){ int a = 0; int b = 0; char operation; ...

Простой калькулятор и калькулятор с парсингом
Ребят я совсем не давно только начал изучать сишку, решил написать простенький калькулятор который...

Калькулятор!
Привет всем , есть Edit1 и Edit2 Edit1.Text='6*4+4/2' Как сделать чтобы программа самма...

калькулятор
народ помогите ошибку найти)) полюбому какой нить пустяк а я чета не догоняю)) программа...

0
13.12.2012, 23:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2012, 23:29
Помогаю со студенческими работами здесь

Калькулятор
Пытаюсь создать калькулятор, ну выходит какая - то хрень #calculator print ('===== +, -,...

Калькулятор
При умножении (делении) нуля на число в результате получается число. Dim a, b Dim...

Калькулятор
Привет всем! Мною была написана программка калькулятор в среде Делфи, но она не отчётливо...

Калькулятор с СС
Нужен калькулятор с возможностью перевода из 10 СС в двоичную и восмеричную, из двоичной в 8 и 10,...

Калькулятор
https://womenfirst.ru/servisy/jenskii-cikl/menstrual-cycle/ Кто знает, как можно вытащить этот...

Калькулятор
Хочу проверить каждое поле на пустоту, вот так пробую что-то не срабатывает. &lt;?php ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru