,
,
1
:
EM-111 ____________ ..
:
. ____________ \ ..
2013
1 . 4
2 .. 5
3 .. 6
3.1..... 6
3.2..... 7
3.3..... 31
4 .. 33
4.1..... 33
4.2..... 34
5 .. 36
6 .. 37
, , :
1. , : , , ..
2. , , .
3. ( ), .
. , . . MathCad, MathLab, Mathematika, Axum. : ( ). Windows (Calc.exe), [ 1 ],[ 2 ].
2.1 - , .
2.1 -
3.1 , , , .
3.1
About , 3.2
3.2
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, ExtCtrls,Math,clipbrd,UnitAbout;
type
TJournal=record
x,y,z:real;
cod:char;
end;
TForm1 = class(TForm)
bmod: TButton;
open_brace: TButton;
close_brace: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
|
|
Button16: TButton;
Button17: TButton;
Button18: TButton;
Button6: TButton;
B7: TButton;
B8: TButton;
B9: TButton;
B4: TButton;
B5: TButton;
B6: TButton;
B3: TButton;
B2: TButton;
B1: TButton;
B0: TButton;
Button24: TButton;
Button25: TButton;
Button26: TButton;
Button27: TButton;
Button28: TButton;
Button_Calculate: TButton;
Button30: TButton;
BSqrt: TButton;
Button1: TButton;
Edit1: TEdit;
RadioGroup1: TRadioGroup;
MainMenu1: TMainMenu;
N2: TMenuItem;
CtrlC1: TMenuItem;
CtrlV1: TMenuItem;
N_Spravka: TMenuItem;
N_invokespravka: TMenuItem;
N7: TMenuItem;
N_aboutprogram: TMenuItem;
N8: TMenuItem;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button22: TButton;
Button23: TButton;
ListBox1: TListBox;
Button19: TButton;
procedure B9Click(Sender: TObject); //
procedure Button24Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
procedure Button_CalculateClick(Sender: TObject);
procedure Button30Click(Sender: TObject);
procedure BSqrtClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure B0Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure open_braceClick(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure B1Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure close_braceClick(Sender: TObject);
procedure B2Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure B3Click(Sender: TObject);
procedure B4Click(Sender: TObject);
procedure B5Click(Sender: TObject);
procedure B6Click(Sender: TObject);
procedure B7Click(Sender: TObject);
procedure B8Click(Sender: TObject);
procedure CtrlC1Click(Sender: TObject);
procedure CtrlV1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N_invokespravkaClick(Sender: TObject);
procedure N_aboutprogramClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
const
journal_max=1000;
var
Form1: TForm1;
code: char;
op1, y, z: real;
x1, y1, z1: Integer;
mem_str,journal_str:String;
journal_array:array[1..journal_max] of TJournal;
ji:Integer;
implementation
{$R *.dfm}
procedure TForm1.B9Click(Sender: TObject); //
|
|
begin
Edit1.Text:=Edit1.Text+'9';
end;
procedure TForm1.Button24Click(Sender: TObject); //
begin
Edit1.Text:=Edit1.Text+',';
end;
procedure TForm1.Button25Click(Sender: TObject);
begin
if edit1.Text<>'' then op1:=strtofloat(edit1.text);
code:= '+';
Edit1.Clear;
end;
procedure TForm1.Button26Click(Sender: TObject);
begin
if edit1.Text<>'' then op1:=strtofloat(edit1.text);
code:= '-';
Edit1.Clear;
end;
procedure TForm1.Button27Click(Sender: TObject);
begin
if edit1.Text<>'' then op1:=strtofloat(edit1.text);
code:= '*';
Edit1.Clear;
end;
procedure TForm1.Button28Click(Sender: TObject);
begin
if edit1.Text<>'' then op1:=strtofloat(edit1.text);
code:= '/';
Edit1.Clear;
end;
procedure TForm1.Button_CalculateClick(Sender: TObject); //
begin
if edit1.Text<>'' then y:=strtofloat(edit1.text);
journal_array[ji].x:=op1;
journal_array[ji].y:=y;
journal_array[ji].cod:=code;
journal_str:=FloatToStr(op1);
journal_str:=journal_str+ code + FloatToStr(y);
ListBox1.Items.Add(journal_str);
case code of
'+': z:=op1+y;
'-': z:=op1-y;
'*': z:=op1*y;
'/': z:=op1/y;
'^': z:=Power(op1,y);
'[': z:=Trunc(op1) Mod Trunc(y);
']': z:=Trunc(op1) Div Trunc(y);
'{': z:=Power(op1,1/y);
end;
edit1.Text:=floattostr(z); // Edit1 z
journal_array[ji].z:=z;
Inc(ji);
if ji=journal_max then ji:=1;
end;
procedure TForm1.Button30Click(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
z:=1/op1;
edit1.Clear; //
edit1.Text:=floattostr(z);
end;
procedure TForm1.BSqrtClick(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
z:=Power(op1,1/2);
edit1.Clear;
edit1.Text:=floattostr(z);
end; //
procedure TForm1.Button2Click(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
z:=(op1*(-1));
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.B0Click(Sender: TObject); //
begin
Edit1.Text:=Edit1.Text+'0';
end;
procedure TForm1.Button6Click(Sender: TObject); // ,
op1:=0; //
begin
y:=0;
z:=0;
Edit1.Clear;
end;
procedure TForm1.Button18Click(Sender: TObject); //
begin //
Edit1.Text:='';
end;
procedure TForm1.Button17Click(Sender: TObject); //
var
st:string;
begin
st:=Edit1.Text;
delete(st,length(st),1);
Edit1.Text:=st;
if Edit1.Text='' then begin
Edit1.Text:='';
end;
end;
procedure TForm1.Button3Click(Sender: TObject); //
begin
if RadioGroup1.ItemIndex=0 then begin
op1:=(strtofloat(edit1.text)*3.141592653589793)/180;
z:=cos(op1)/sin(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=1 then begin
op1:=strtofloat(edit1.text);
z:=cos(op1)/sin(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=2 then begin
op1:=strtofloat(edit1.text);
z:=cos(gradtorad(op1))/sin(gradtorad(op1));
edit1.Clear;
edit1.Text:=floattostr(z);
end;
end;
procedure TForm1.Button4Click(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
z:=Power(op1,2);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.Button1Click(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
code:= '^';
edit1.Clear;
end;
procedure TForm1.open_braceClick(Sender: TObject);//
begin
op1:= strtofloat(edit1.text);
code:= '{';
edit1.Clear;
end;
procedure TForm1.Button13Click(Sender: TObject); //
begin
mem_str:='';
mem_str:=Edit1.Text;
end;
procedure TForm1.Button5Click(Sender: TObject); //
|
|
i:Integer; //
result:Real;
begin
result:=1;
op1:=strtofloat(edit1.text);
if (Trunc(op1) < 0) then begin
Edit1.Text:=' ';
end
else if (Trunc(op1) = 0) then begin
Edit1.Text:='1';
end
else begin
for i:= 1 to Trunc(op1) do begin
result:= result * i;
end;
Edit1.Text:=FloatToStr(result);
end;
end;
procedure TForm1.Button7Click(Sender: TObject); //
begin //
op1:= strtofloat(edit1.text);
z:=log10(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.B1Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+'1';
end;
procedure TForm1.Button8Click(Sender: TObject);//
begin //
op1:=strtofloat(edit1.text);
z:=ln(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.Button14Click(Sender: TObject); //
begin //
if (mem_str<>'') then Edit1.Text:=mem_str else Edit1.Text:='';
end;
procedure TForm1.Button9Click(Sender: TObject); // Pi
begin
edit1.Text:='3,141592653589793';
end;
procedure TForm1.Button10Click(Sender: TObject); //
Var
rcs:Real;
begin
if RadioGroup1.ItemIndex=0 then begin
op1:=(strtofloat(edit1.text)*3.141592653589793)/180;
z:=sin(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=1 then begin
op1:=strtofloat(edit1.text);
z:=sin(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=2 then begin
op1:=strtofloat(edit1.text);
z:=sin(gradtorad(op1));
edit1.Clear;
edit1.Text:=floattostr(z);
end;
journal_array[ji].x:=op1;
journal_array[ji].y:=0;
journal_array[ji].cod:='0';
journal_array[ji].z:=z;
journal_str:=FloatToStr(op1);
journal_str:='sin('+journal_str+')';
ListBox1.Items.Add(journal_str);
Inc(ji);
if ji=journal_max then ji:=1;
end;
procedure TForm1.Button11Click(Sender: TObject); //
begin
if RadioGroup1.ItemIndex=0 then begin
op1:=(strtofloat(edit1.text)*3.141592653589793)/180;
z:=cos(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=1 then begin
op1:=strtofloat(edit1.text);
z:=cos(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=2 then begin
op1:=strtofloat(edit1.text);
z:=cos(gradtorad(op1));
edit1.Clear;
edit1.Text:=floattostr(z);
end;
journal_array[ji].x:=op1;
journal_array[ji].y:=0;
journal_array[ji].cod:='0';
journal_array[ji].z:=z;
journal_str:=FloatToStr(op1);
journal_str:='cos('+journal_str+')';
ListBox1.Items.Add(journal_str);
Inc(ji);
if ji=journal_max then ji:=1;
end;
procedure TForm1.Button19Click(Sender: TObject); //
begin
if RadioGroup1.ItemIndex=0 then begin
op1:=(strtofloat(edit1.text)*3.141592653589793)/180;
z:=sin(op1)/cos(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=1 then begin
op1:=strtofloat(edit1.text);
z:=sin(op1)/cos(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
if RadioGroup1.ItemIndex=2 then begin
op1:=strtofloat(edit1.text);
z:=sin(gradtorad(op1))/cos(gradtorad(op1));
edit1.Clear;
edit1.Text:=floattostr(z);
end;
journal_array[ji].x:=op1;
journal_array[ji].y:=0;
journal_array[ji].cod:='0';
journal_array[ji].z:=z;
journal_str:=FloatToStr(op1);
journal_str:='tan('+journal_str+')';
ListBox1.Items.Add(journal_str);
Inc(ji);
if ji=journal_max then ji:=1;
end;
procedure TForm1.close_braceClick(Sender: TObject); //
|
|
begin
op1:= strtofloat(edit1.text);
code:= '}';
edit1.Clear;
end;
procedure TForm1.B2Click(Sender: TObject); // 2
begin
Edit1.Text:=Edit1.Text+'2';
end;
procedure TForm1.Button21Click(Sender: TObject); //
Var
e:Real;
begin
e:=2.7182818284;
op1:= strtofloat(edit1.text);
z:=Power(e,op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.Button22Click(Sender: TObject); // 10
begin
op1:= strtofloat(edit1.text);
z:=Power(10,op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.Button12Click(Sender: TObject); //
begin
mem_str:='';
end;
procedure TForm1.Button23Click(Sender: TObject); //
begin
op1:= strtofloat(edit1.text);
z:=Frac(op1);
edit1.Clear;
edit1.Text:=floattostr(z);
end;
procedure TForm1.B3Click(Sender: TObject); // 3
begin
Edit1.Text:=Edit1.Text+'3';
end;
procedure TForm1.B4Click(Sender: TObject); // 4
begin
Edit1.Text:=Edit1.Text+'4';
end;
procedure TForm1.B5Click(Sender: TObject); // 5
begin
Edit1.Text:=Edit1.Text+'5';
end;
procedure TForm1.B6Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+'6';
end;
procedure TForm1.B7Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+'7';
end;
procedure TForm1.B8Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+'8';
end;
procedure TForm1.CtrlC1Click(Sender: TObject); //
begin
Edit1.SelectAll;
Edit1.CopyToClipboard;
end;
procedure TForm1.CtrlV1Click(Sender: TObject); //
begin
Edit1.SelectAll;
Edit1.PasteFromClipboard;
end;
procedure TForm1.N8Click(Sender: TObject); //
begin
Form1.Close;
end;
procedure TForm1.N_invokespravkaClick(Sender: TObject); //
begin
WinExec('hh.exe calc.htm',SW_SHOW);
end;
procedure TForm1.N_aboutprogramClick(Sender: TObject); //
begin
AboutBox.Show;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ji:=1;
end;
procedure TForm1.ListBox1Click(Sender: TObject); //
var
ind:Integer;
begin
ind:=(ListBox1.ItemIndex);
Inc(ind);
z:=journal_array[ind].z;
Edit1.Text:=FloatToStr(z);
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //
begin
if key='+' then begin Button25Click(Sender);Edit1.Clear; end;
if key='-' then begin Button26Click(Sender);Edit1.Clear; end;
if key='*' then begin Button27Click(Sender);Edit1.Clear; end;
if key='/' then begin Button28Click(Sender);Edit1.Clear; end;
if key='=' then Button_CalculateClick(Sender);
end;
end.
:
code: char;
op1, y, z: real; , .
type
TJournal=record
x,y,z:real;
cod:char;
end;
mem_str,journal_str:String;
journal_array:array[1..journal_max] of TJournal;
.
ji:Integer; .
,
:
Math clipbrd.
journal_array ListBox
.
MR m,
M Panel1. MC
m Panel1.caption.
F1 ->
chm HTML HELP
Workshop.
3.3 .
3.3
4.1 .
35, 50, 1750.
105, 16,6
, -0,818.
100, -100,818447253158
4.1
, . , , , , , , . . ListBox, .
|
|
, . . , , NUMLOCK.
:
;
+ (), - (), * () / ();
;
;
;
=.
, MS.
, MR.
, MC.
, ,
M+. , MR.
M. , , .
:
1. F1
2. F10
, , , . Delphi. , Delphi . Delphi , , , . : Object Pascal; - (properties); , Delphi, ( C++/MFC) [ 3 ]. , VCL , - Windows, Windows API. , " ". , Delphi - , , , . , . , , , , . - RAD-. (code completion) [ 4 ]. - . , Object Pascal , , , Delphi .
1. . Delphi 6. Object Pascal. .:-,2002., 356.
2. .. Delphi 6. . .: .., 2001., 150.
3. . Delphi 7: . - .:-,2003., 231.
4. .. Delphi. .: . 2003., 566.