Калькулятор Delphi

Автор: Пользователь скрыл имя, 15 Января 2012 в 15:01, курсовая работа

Описание работы

Богатство визуальных возможностей Windows связано с так называемым дескриптором контекста графического устройства DC и тремя входящими в него инструментами - шрифтом, пером и кистью. В Delphi созданы специализированные классы-надстройки, существенно упрощающие использование графических инструментов Windows: для контекста - класс TCanvas, для шрифта - TFont, для пера - ТРеn и для кисти - TBrush. Связанные с этими классами объекты автоматически создаются для всех видимых элементов и становятся доступны программе через свойства Canvas, Font, Pen и Brush.

Содержание

Введение 3
Задание 5
Основная часть 6
Delphi язык и среда программирования
Визуальное программирование
Выгоды от проектирования АРМ в среде Windows с помощью Delphi
Создание приложений для Windows
Аннотация 11
Блок-схема программы 13
Руководство пользователя 14
Заключение 15
Список использованной литературы 16
Приложение 1.Листинг программы 17

Работа содержит 1 файл

основная.DOC

— 148.00 Кб (Скачать)
">     var

       Form1: TForm1;

     implementation

     {$R *.dfm}

     uses

       Math, Unit2

     var

       rez: real;

     procedure TForm1._1Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'1';

     end;

     procedure TForm1._2Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'2';

     end;

     procedure TForm1._3Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'3';

     end;

     procedure TForm1._4Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'4';

     end;

     procedure TForm1._5Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'5';

     end;

     procedure TForm1._6Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'6';

     end;

     procedure TForm1._7Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'7';

     end; 

     procedure TForm1._8Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'8';

     end;

     procedure TForm1._9Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'9';

     end;

     procedure TForm1.DotClick(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+',';

     end;

     procedure TForm1._00Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'00';

     end;

     procedure TForm1._0Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'0';

     end;

     procedure TForm1.Button1Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'+';

     end;

     procedure TForm1.Button2Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'-';

     end;

     procedure TForm1.Button3Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'*';

     end;

     procedure TForm1.Button4Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'/';

     end;

     procedure TForm1.Button5Click(Sender: TObject);

     begin

       Pole.Text:= Pole.Text+'^';

     end;

     procedure TForm1.Button7Click(Sender: TObject);

     var

       s: string;

       i: word;

       First: boolean;

     begin

       s:=Pole.Text;

       rez:=0;

       while (s[1]='+')or(s[1]='*')or(s[1]='/')or(s[1]='^') do

             delete(s,1,1);

       First:=true;

       for i:=1 to length(s) do

           if s[i]=' ' then delete(s,i,1)

                       else if s[i]='.' then

                            begin

                              delete(s,i,1);

                              insert(',',s,i);

                            end;

       for i:=1 to length(s) do

           if (s[i]='+')or(s[i]='-')or(s[i]='*')or(s[i]='/')or(s[i]='^')then

              if (First=false) then delete(s,i,length(s)-i+1)

                               else First:=false;

       Pole.Text:='';

       i:=1;

       while (s[i]<>'+')and(s[i]<>'-')and(s[i]<>'*')and(s[i]<>'/')and(s[i]<>'^') do

             inc(i);

       if i<length(s) then

       begin

         if s[i]='+' then rez:= StrToFloat(copy(s,1,i-1))+StrToFloat(copy(s,i+1,length(s)-i+1));

         if s[i]='-' then rez:= StrToFloat(copy(s,1,i-1))-StrToFloat(copy(s,i+1,length(s)-i+1));

         if s[i]='*' then rez:= StrToFloat(copy(s,1,i-1))*StrToFloat(copy(s,i+1,length(s)-i+1));

         if s[i]='/' then rez:= StrToFloat(copy(s,1,i-1))/StrToFloat(copy(s,i+1,length(s)-i+1));

         if s[i]='^' then rez:= power(StrToFloat(copy(s,1,i-1)),StrToFloat(copy(s,i+1,length(s)-i+1)));

         Pole.Text:=FloatToStr(rez);

       end;

     end;

     procedure TForm1.Button6Click(Sender: TObject);

     begin

       Pole.Text:= FloatToStr(sqrt(StrToFloat(Pole.Text)));

     end;

     procedure TForm1.PoleChange(Sender: TObject);

     begin

       if Pole.Text='' then

                       begin

                         Button7.Enabled:=false;

                         Button6.Enabled:=false;

                         Button8.Enabled:=false;

                         Button9.Enabled:=false;

                         Button10.Enabled:=false;

                         Button11.Enabled:=false;

                       end else

                           begin

                             Button7.Enabled:=true;

                             Button6.Enabled:=true;

                             Button8.Enabled:=true;

                             Button9.Enabled:=true;

                             Button10.Enabled:=true;

                             Button11.Enabled:=true;

                           end;

     end;

     procedure TForm1.Button8Click(Sender: TObject);

     begin

       Pole.Text:= FloatToStr(sin(StrToFloat(Pole.Text)));

     end;

     procedure TForm1.Button9Click(Sender: TObject);

     begin

       Pole.Text:= FloatToStr(cos(StrToFloat(Pole.Text)));

     end;

     procedure TForm1.Button10Click(Sender: TObject);

     begin

       Pole.Text:= FloatToStr(tan(StrToFloat(Pole.Text)));

     end;

     procedure TForm1.Button11Click(Sender: TObject);

     begin

       Pole.Text:= FloatToStr(cotan(StrToFloat(Pole.Text)));

     end;

     procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);

     var

       back: string;

     begin

       if Button7.Enabled then Button7.SetFocus;

       if key='1' then pole.Text:= pole.Text+'1';

       if key='2' then pole.Text:= pole.Text+'2';

       if key='3' then pole.Text:= pole.Text+'3';

       if key='4' then pole.Text:= pole.Text+'4';

       if key='5' then pole.Text:= pole.Text+'5';

       if key='6' then pole.Text:= pole.Text+'6';

       if key='7' then pole.Text:= pole.Text+'7';

       if key='8' then pole.Text:= pole.Text+'8';

       if key='9' then pole.Text:= pole.Text+'9';

       if key='0' then pole.Text:= pole.Text+'0';

       if key='+' then pole.Text:= pole.Text+'+';

       if key='-' then pole.Text:= pole.Text+'-';

       if key='*' then pole.Text:= pole.Text+'*';

       if key='/' then pole.Text:= pole.Text+'/';

       back:=Pole.Text;

       if key=#8 then delete(back,length(back),1);

       pole.Text:=back;

     end;

     procedure TForm1.N2Click(Sender: TObject);

     begin

     Close;

     end;

     procedure TForm1.N4Click(Sender: TObject);

     begin

     Form2.Top :=

     Trunc(Form1.Top + Form1.Height/2 - Form2.Height/2);

     Form2.Left :=

     Trunc (Form1.Left + Form1.Width/2 - Form2.Width/2);

     Form2.ShowModal;

     end;

     end.

Информация о работе Калькулятор Delphi