Инженерный калькулятор

Автор работы: Пользователь скрыл имя, 11 Марта 2013 в 23:18, курсовая работа

Краткое описание

Эволюция технических средств персональных компьютеров привела к повсеместному вытеснению старой “доброй” ОС MS-DOS значительно более мощными системами Windows, программирование для которых существенно сложнее, чем программирование для MS-DOS. В 1993 году Microsoft выпустила первую визуальную среду программирования Visual Basic, и программирование для Windows стало даже проще, чем программирование для MS-DOS. В ответ на это Borland в 1995 году выпустила первую версию Delphi, а затем, с интервалом в 1 год, - еще 4 версии: 2, 3, 4 и 5. Наконец, в середине 2001 г. выпускается версия 6.

Содержание

Введение………………………………………………………………………..…..5
Теоретическая часть……………………………………………………………...10
Описание функций и процедур……………………………………………….....13
Руководство пользователя…………………………………………………….…17
Результат работы программы……………………………………………….…...24
Заключение………………………………………………………………….…….26
Список литературы……

Вложенные файлы: 1 файл

Работа.docx

— 1.65 Мб (Скачать файл)

begin

  HideCaret(Memo1.Handle);

  if memo1.Text=net then memo1.Text:='0';

end;

 

procedure TForm1.FormShow(Sender: TObject);

begin

AnimateWindow(form1.Handle, 90, aw_blend);

form1.Show

end;

 

procedure TForm1.Image1Click(Sender: TObject);

begin

  Form4.ShowModal;

end;

 

procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  HideCaret(Memo1.Handle);

  if memo1.Text=net then memo1.Text:='0';

end;

 

procedure TForm1.IngenerClick(Sender: TObject);

begin

Form1.Show; Form5.Hide;

end;

 

procedure TForm1.InsertClick(Sender: TObject);

begin

  memo1.Text:=Clipboard.AsText;

try

  memo1.Text:=inttostr(strtoint(memo1.Text));

except

  memo1.Text:='0';

end;

 

end;

 

procedure TForm1.Memo1Change(Sender: TObject);

  var g:string;

begin

 

  kol:=1;

  if ss=16  then memo1.CharCase:=ecUpperCase;

end;

 

procedure TForm1.N1Click(Sender: TObject);

begin

  Form4.ShowModal;

end;

 

procedure TForm1.N2Click(Sender: TObject);

var

   sms:string; col:integer;

begin

TRY

sms:=InputBox('Решение СЛАУ','Введите  количество неизвестных (х)','');

col:=strtoint(sms);

except

END;

if (col>1) and (col<=5)  then BEGIN

Form3.StringGrid1.ColCount:=col+1;

Form3.StringGrid1.RowCount:=col;

 

Case col of

  2: begin

       form3.StringGrid1.Width:=137;     form3.StringGrid1.Height:=58;

       form3.Button1.Top:=113;           form3.Button1.Left:=150;

       form3.Label1.Font.Size:=10;       form3.Label2.Font.Size:=10;

       form3.Label2.Top:=13;             form3.Label2.Left:=150;

       form3.Label3.Top:=40;             form3.Label3.Left:=185;

       form3.Label4.Top:=59;             form3.Label4.Left:=185;

       form3.Label5.visible:=false;      form3.Label6.visible:=false;;

       form3.Width:=250;                 form3.Height:=173;

        end;

  3: begin

       form3.StringGrid1.Width:=181;     form3.StringGrid1.Height:=85;

       form3.Button1.Top:=139;           form3.Button1.Left:=200;

       form3.Label1.Font.Size:=12;       form3.Label2.Top:=17;

       form3.Label2.Left:=200;           form3.Label3.Top:=54;

       form3.Label3.Left:=224;           form3.Label4.Top:=73;

       form3.Label4.Left:=224;           form3.Label5.Top:=92;

       form3.Label5.Left:=224;           form3.Width:=300;

       form3.Label5.visible:=true;       form3.Label6.visible:=false;

       form3.Height:=198;

     end;

  4: begin

       form3.StringGrid1.Width:=223;      form3.StringGrid1.Height:=112;

       form3.Button1.Top:=162;            form3.Button1.Left:=256;

       form3.Label1.Font.Size:=12;        form3.Label2.Top:=17;

       form3.Label2.Left:=256;            form3.Label3.Top:=54;

       form3.Label3.Left:=283;            form3.Label4.Top:=73;

       form3.Label4.Left:=283;            form3.Label5.Top:=92;

       form3.Label5.Left:=283;            form3.Label6.Top:=111;

       form3.Label6.Left:=283;            form3.Width:=353;

       form3.Label5.visible:=true;        form3.Label6.Visible:=true;

       form3.Label7.Visible:=false;       form3.Height:=225;

       end;

  5: begin

       form3.StringGrid1.Width:=269;      form3.StringGrid1.Height:=139;

       form3.Button1.Top:=186;            form3.Button1.Left:=296;

       form3.Label1.Font.Size:=12;        form3.Label2.Top:=17;

       form3.Label2.Left:=296;            form3.Label3.Top:=46;

       form3.Label3.Left:=331;            form3.Label4.Top:=65;

       form3.Label4.Left:=331;            form3.Label5.Top:=84;

       form3.Label5.Left:=331;            form3.Label6.Top:=103;

       form3.Label6.Left:=331;            form3.Label7.Visible:=true;

       form3.Label7.Left:=331;            form3.Label7.top:=122;

       form3.Label5.visible:=true;        form3.Width:=401;

       form3.Height:=251;

       end;

End;

      Form3.ShowModal;

END;

 

end;

 

procedure TForm1.RadioButton1Click(Sender: TObject);

var byte:string;

begin

byte:=''; byte:=memo1.Text;

if length(memo1.Text)>8 then

   begin

     memo1.Text:='';

     for i := 0 to 8 do

       memo1.Text:=memo1.text+byte[i];

   end;

end;

 

procedure TForm1.RadioButton2Click(Sender: TObject);

var byte:string;

begin

byte:=''; byte:=memo1.Text;

if length(memo1.Text)>16 then

   begin

     memo1.Text:='';

     for i := 1 to 16 do

       memo1.Text:=memo1.text+byte[i];

   end;

end;

 

procedure TForm1.RadioButton4Click(Sender: TObject);

var byte:string;

begin

byte:=''; byte:=memo1.Text;

if length(memo1.Text)>32 then

   begin

     memo1.Text:='';

     for i := 1 to 32 do

       memo1.Text:=memo1.text+byte[i];

   end;

end;

 

procedure TForm1.RadioButtonBinClick(Sender: TObject);

begin

TRY

  RadioButton4.Checked:=true;

  if strtofloat(memo1.text)>0 then Begin

    case ss of

     10:   memo1.Text:=(ConvertToCs(strtoint(memo1.Text),2));

     16:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,16)),2));

      8:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,8)),2));

    end; End else memo1.Text:='0';

  ss:=2;

   RadioButtonGrad.Visible:=false;  RadioButtonGradus.Visible:=false;

   RadioButtonRad.Visible:=false;   RadioButton4.Visible:=true;

   RadioButton2.Visible:=true;      RadioButton1.Visible:=true;

    SpeedButtonA.Enabled:=false;    SpeedButtonB.Enabled:=false;

    SpeedButtonC.Enabled:=False;    SpeedButtonD.Enabled:=False;

    SpeedButtonE.Enabled:=False;    SpeedButton8.Enabled:=False;

    SpeedButton7.Enabled:=False;    SpeedButton9.Enabled:=False;

    SpeedButton6.Enabled:=False;    SpeedButton5.Enabled:=False;

    SpeedButton4.Enabled:=False;    SpeedButton3.Enabled:=False;

    SpeedButton2.Enabled:=False;    SpeedButtonT.Enabled:=false;

    SpeedButtonSin.Enabled:=false;  SpeedButtonCos.Enabled:=false;

    SpeedButtonTg.Enabled:=false;   SpeedButtonPi.Enabled:=false;

    SpeedButtonCtg.Enabled:=false;

except

END;

end;

 

procedure TForm1.RadioButtonDecClick(Sender: TObject);

begin

RadioButtonRad.Checked:=true;

case ss of

2:  memo1.Text:=inttostr((Rto10(memo1.text,2)));

8:  memo1.Text:=inttostr((Rto10(memo1.text,8)));

16: memo1.Text:=inttostr((Rto10(memo1.text,16)));

        end;

ss:=10;

  RadioButtonGrad.Visible:=true;  RadioButtonGradus.Visible:=true;

  RadioButtonRad.Visible:=true;   RadioButton4.Visible:=false;

  RadioButton2.Visible:=false;    RadioButton1.Visible:=false;

  SpeedButtonT.Enabled:=true;     SpeedButtonA.Enabled:=false;

  SpeedButtonB.Enabled:=false;    SpeedButtonC.Enabled:=False;

  SpeedButtonD.Enabled:=False;    SpeedButtonE.Enabled:=False;

  SpeedButtonF.Enabled:=False;    SpeedButton7.Enabled:=true;

  SpeedButton8.Enabled:=true;     SpeedButton6.Enabled:=true;

  SpeedButton9.Enabled:=true;     SpeedButton5.Enabled:=true;

  SpeedButton4.Enabled:=true;     SpeedButton3.Enabled:=true;

  SpeedButton2.Enabled:=true;     SpeedButtonSin.Enabled:=true;

  SpeedButtonCos.Enabled:=true;   SpeedButtonTg.Enabled:=true;

  SpeedButtonPi.Enabled:=true;    SpeedButtonCtg.Enabled:=true;

end;

 

procedure TForm1.RadioButtonHexClick(Sender: TObject);

begin

RadioButton4.Checked:=true;

if strtofloat(memo1.text)>0 then Begin

case ss of

  10:  memo1.Text:=(ConvertToCs(strtoint(memo1.Text),16));

  2:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,2)),16));

  8:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,8)),16));

end; End else memo1.Text:='0';

 

  ss:=16;

  RadioButtonGrad.Visible:=false; RadioButtonGradus.Visible:=false;

  RadioButtonRad.Visible:=false;

  RadioButton4.Visible:=true;    RadioButton2.Visible:=true;

  RadioButton1.Visible:=true; SpeedButtonT.Enabled:=false;

  SpeedButtonA.Enabled:=true; SpeedButtonB.Enabled:=true;

  SpeedButtonC.Enabled:=true; SpeedButtonD.Enabled:=true;

  SpeedButtonE.Enabled:=true; SpeedButtonF.Enabled:=true;

  SpeedButton7.Enabled:=true; SpeedButton8.Enabled:=true;

  SpeedButton6.Enabled:=true; SpeedButton9.Enabled:=true;

  SpeedButton5.Enabled:=true; SpeedButton4.Enabled:=true;

  SpeedButton3.Enabled:=true; SpeedButton2.Enabled:=true;

 

end;

 

procedure TForm1.RadioButtonOctClick(Sender: TObject);

begin

RadioButton4.Checked:=true;

if strtofloat(memo1.text)>0 then Begin

case ss of

  10:   memo1.Text:=(ConvertToCs(strtoint(memo1.Text),8));

   2:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,2)),8));

  16:   memo1.Text:=(ConvertToCs((Rto10(memo1.Text,16)),8));

end; End else memo1.Text:='0';

   ss:=8;

  RadioButtonGrad.Visible:=false;  RadioButtonGradus.Visible:=false;

  RadioButtonRad.Visible:=false;   RadioButton4.Visible:=true;

  RadioButton1.Visible:=true;      SpeedButtonT.Enabled:=false;

  SpeedButtonA.Enabled:=false;     SpeedButtonB.Enabled:=false;

  SpeedButtonC.Enabled:=False;     SpeedButtonD.Enabled:=False;

  SpeedButtonE.Enabled:=False;     SpeedButtonF.Enabled:=False;

  SpeedButton8.Enabled:=false;     SpeedButton9.Enabled:=false;

  SpeedButtonSin.Enabled:=false;   SpeedButtonCos.Enabled:=false;

  SpeedButtonTg.Enabled:=false;    SpeedButtonPi.Enabled:=false;

  SpeedButtonCtg.Enabled:=false;   RadioButton2.Visible:=true;

  SpeedButton7.Enabled:=true;      SpeedButton6.Enabled:=true;

  SpeedButton5.Enabled:=true;      SpeedButton4.Enabled:=true;

  SpeedButton3.Enabled:=true;      SpeedButton2.Enabled:=true;

end;

 

procedure TForm1.SpeedButton0Click(Sender: TObject);

begin

if flag=true then  memo1.clear; memo1.Text:=memo1.Text+'0'; flag:=false;

  if ss=10 then

   begin

      if (strtofloat(memo1.Text)=0) then begin memo1.Text:='0';

      if nol<>'z' then

       flag:=true else flag:=false; end;

   end;

end;

 

procedure TForm1.SpeedButton0MouseLeave(Sender: TObject);

begin

  SpeedButton0.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton0MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton0.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

   if flag=true then memo1.Clear;

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

   flag:=false;

end;

 

procedure TForm1.SpeedButton1MouseLeave(Sender: TObject);

begin

  SpeedButton1.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

  SpeedButton1.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton1xClick(Sender: TObject);

begin

try

memo1.Text:=floattostr(1/strtofloat(memo1.text));

except

    on E:EZeroDivide do begin

    showmessage ('На нуль делить нелзя!');

    memo1.Text:=net; end;

end;

end;

 

procedure TForm1.SpeedButton2Click(Sender: TObject);

begin

  if flag=true then memo1.clear;

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

  flag:=false;

end;

 

procedure TForm1.SpeedButton2MouseLeave(Sender: TObject);

begin

  SpeedButton2.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton2.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton3Click(Sender: TObject);

begin

  if flag=true then memo1.clear;

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

  flag:=false;

end;

 

procedure TForm1.SpeedButton3MouseLeave(Sender: TObject);

begin

  SpeedButton3.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton3.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

if flag=true then memo1.clear;

  memo1.Text:=memo1.Text+'4'; flag:=false;

end;

 

procedure TForm1.SpeedButton4MouseLeave(Sender: TObject);

begin

  SpeedButton4.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton4.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

  if flag=true then  memo1.clear;

  memo1.Text:=memo1.Text+'5'; flag:=false;

end;

 

procedure TForm1.SpeedButton5MouseLeave(Sender: TObject);

begin

  SpeedButton5.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton5.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton6Click(Sender: TObject);

begin

if flag=true then memo1.clear;

  memo1.Text:=memo1.Text+'6'; flag:=false;

end;

 

procedure TForm1.SpeedButton6MouseLeave(Sender: TObject);

begin

  SpeedButton6.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton6MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton6.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton7Click(Sender: TObject);

var s:string;

begin

  if flag=true then memo1.clear;

    memo1.Text:=memo1.Text+'7'; flag:=false;

end;

 

procedure TForm1.SpeedButton7MouseLeave(Sender: TObject);

begin

  SpeedButton7.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton7MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton7.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton8Click(Sender: TObject);

begin

  if flag=true then memo1.clear;

    memo1.Text:=memo1.Text+'8'; flag:=false;

end;

 

procedure TForm1.SpeedButton8MouseLeave(Sender: TObject);

begin

  SpeedButton8.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton8MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton8.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButton9Click(Sender: TObject);

begin

  if flag=true then memo1.clear;

   memo1.Text:=memo1.Text+'9'; flag:=false;

end;

 

procedure TForm1.SpeedButton9MouseLeave(Sender: TObject);

begin

  SpeedButton9.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButton9MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButton9.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButtonAClick(Sender: TObject);

begin

  if flag=true then memo1.clear;

  memo1.Text:=memo1.Text+'A';  flag:=false;

end;

 

procedure TForm1.SpeedButtonAMouseLeave(Sender: TObject);

begin

  SpeedButtonA.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButtonAMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButtonA.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButtonAndClick(Sender: TObject);

begin

flag:=true;  klav:='a';

  case ss of

      2:  memo1.Text:=inttostr((Rto10(memo1.text,2)));

      8:  memo1.Text:=inttostr((Rto10(memo1.text,8)));

     16: memo1.Text:=inttostr((Rto10(memo1.text,16)));

   end;

 

    if mok=0 then mo:=strtoint(memo1.Text);

    if (mok=1) then mb1:=strtoint(memo1.text);

    if (mok>=1) then memo1.Text:=inttostr(mo and mb1);

    R:=strtofloat(memo1.Text);

 

   case ss  of

      2:  memo1.Text:=(ConvertToCs(strtoint(memo1.Text),2));

      8:  memo1.Text:=(ConvertToCs(strtoint(memo1.Text),8));

      16:  memo1.Text:=(ConvertToCs(strtoint(memo1.Text),16));

    end;

 

    kol:=1; inc(mok);

end;

 

procedure TForm1.SpeedButtonAveClick(Sender: TObject);

var

    ave:real; kol,index:integer;

begin

ave:=0;

  for index := 0 to (Form2.ListBox1.Items.Count-1) do

    ave:=ave+strtofloat(form2.ListBox1.Items.Strings[index]);

  try

    ave:=ave/(Form2.ListBox1.Items.Count);

  except

    memo1.Text:='На нуль  делить нельзя'

   end;

  memo1.Text:=floattostr(ave) ;

end;

 

procedure TForm1.SpeedButtonBackClick(Sender: TObject);

var

      l,p:integer;  s:string;

begin

  s:='';  s:=memo1.Text; l:=length(s);

  if l>1 then

   begin

    s[l]:=' ';

    p:=pos(' ',s);

    delete(s,p,1);

    memo1.Text:=s;

    end

      else

     if l=1 then begin s[1]:='0'; memo1.Text:=s; end;

  if memo1.Text='0' then flag:=true;

end;

 

procedure TForm1.SpeedButtonBClick(Sender: TObject);

begin

  if flag=true then memo1.clear;

   memo1.Text:=memo1.Text+'B'; flag:=false;

end;

 

procedure TForm1.SpeedButtonBMouseLeave(Sender: TObject);

begin

  SpeedButtonB.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButtonBMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButtonB.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButtonCClick(Sender: TObject);

begin

  if flag=true then memo1.clear;

  memo1.Text:=memo1.Text+'C'; flag:=false;

end;

 

procedure TForm1.SpeedButtonCEClick(Sender: TObject);

begin

  Memo1.text:='0';

  flag:=true;

end;

 

procedure TForm1.SpeedButtonCLClick(Sender: TObject);

begin

Memo1.text:='0';

a:=0;    b:=0;   c:=0;   m:=0;      d:=0; u:=0;    mem_s:=0;

ls:=0;   lk:=0;  mk:=0;  uk:=0;     pk:=0; dk:=0;  mok:=0;

kol:=0;  i:=0;   j:=0;   mem_s:=0;  R:=0;  mo:=0;  klav:=' ';

panel5.Caption:='';

flag:=true;

inv.Checked:=false; hyp.Checked:=false;

end;

 

procedure TForm1.SpeedButtonCMouseLeave(Sender: TObject);

begin

  SpeedButtonC.Font.Color:=clBlack;

end;

 

procedure TForm1.SpeedButtonCMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

  SpeedButtonC.Font.Color:=clred;

end;

 

procedure TForm1.SpeedButtonCosClick(Sender: TObject);

var t:real;

begin

Try

{-------------------------радианы---begin------------------------------------}

  if radiobuttonRad.Checked=true then

BEGIN

   if (Inv.Checked=false) and (Hyp.Checked=false) then

     memo1.Text:=floattostr(cos(strtofloat(memo1.text))) ;

 

   if (Inv.Checked=true) and (Hyp.Checked=false) then

Информация о работе Инженерный калькулятор