درخواست كد ماشين حساب در دلفي


درخواست كد ماشين حساب در دلفي



با سلام
كسي سورس ماشين حساب ويندوز كه با دلفي نوشته شده باشه داره



يك سؤال در مورد دلفي . . . !

1:

قبلا راجع به این موضوع در قسمت دلفی بحث شده

به تاپیک مربوطه که در بالای قسمت برنامه نویسی هست مراجعه نمایید


آموزش ساخت برنامه AutoRun به وسیله Delphi

2:



چه جور ميشه با دلفي دستور كپي يه پوشه رو داد

3:

با سلام

اينم يه هديه كوچولو از من به شما (سروس ماشين حساب در دلفي)

[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]


درخواست يونيكد فارسي دلفي

4:

کد ماشین حساب به شرح زیر هست:

unit MachinHsab;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, XPMan, ComCtrls, ToolWin, Buttons;

type
TForm1 = class(TForm)
Edit1: TEdit;
B1: TBitBtn;
B2: TBitBtn;
B3: TBitBtn;
B4: TBitBtn;
B5: TBitBtn;
B6: TBitBtn;
B7: TBitBtn;
B8: TBitBtn;
B9: TBitBtn;
B0: TBitBtn;
Sub: TBitBtn;
BitBtn2: TBitBtn;
Mul: TBitBtn;
Div1: TBitBtn;
JZR: TBitBtn;
NotNum: TBitBtn;
Power: TBitBtn;
Mos: TBitBtn;
RM: TBitBtn;
WM: TBitBtn;
CM: TBitBtn;
C: TBitBtn;
Button1: TBitBtn;
Button2: TBitBtn;
BackSpace: TBitBtn;
Dot: TBitBtn;
procedure B1Click(Sender: TObject);
procedure B2Click(Sender: TObject);
procedure B0Click(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 B9Click(Sender: TObject);
procedure DotClick(Sender: TObject);
procedure AddClick(Sender: TObject);
procedure MulClick(Sender: TObject);
procedure Div1Click(Sender: TObject);
procedure CClick(Sender: TObject);
procedure Sub1Click(Sender: TObject);
procedure JZRClick(Sender: TObject);
procedure NotNumClick(Sender: TObject);
procedure PowerClick(Sender: TObject);
procedure MosClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RMClick(Sender: TObject);
procedure WMClick(Sender: TObject);
procedure CMClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure B3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SubClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure B5MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure BackSpaceClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Op,CC,KK:Char;
Num,MR,R:Real;
implementation

uses StrUtils;

{$R *.dfm}
Procedure Calc;
begin
Num:=StrToFloat(form1.Edit1.Text);
Case Op of
'+':begin
R:=R+Num;
form1.Edit1.Text:=FloatToStr(R);
Op:='+';
end;
'-':begin
if KK='0' then begin R:=StrToFloat(form1.edit1.text); KK:='1'; CC:='1'; Op:='-'; exit; end;
R:=R-Num;
form1.Edit1.Text:=FloatToStr(R);
Op:='-';
end;
'*':begin
if KK='0' then begin R:=StrToFloat(form1.edit1.text); KK:='1'; CC:='1'; Op:='*'; exit; end;
R:=R*Num;
form1.Edit1.Text:=FloatToStr(R);
Op:='*';
end;
'/':begin
if KK='0' then begin R:=StrToFloat(form1.edit1.text); KK:='1'; CC:='1'; Op:='/'; exit; end;
if Num=0 then
ShowMessage('ÚÏÏ ÕÝÑ ÈÑÇÈÑ ÈÇ ãÎÑÌ ÔÏå æ ÊÞÓíã Çã˜Çä ÐíÑ äíÓÊ')
else
begin
R:=R/Num;
form1.Edit1.Text:=FloatToStr(R);
Op:='/';
end;
end;
'S':begin
R:=Sqrt(Num);
form1.Edit1.Text:=FloatToStr(R);
Op:='S';
end;
'@':Begin
R:=1/Num;
Form1.Edit1.Text:=FloatToStr(R);
Op:='@';
end;
'N':begin
R:=Num*(-1);
form1.Edit1.Text:=FloatToStr(R);
Op:='N';
end;
'X':begin
if KK='0' then begin R:=StrToFloat(form1.edit1.text); KK:='1'; CC:='1'; Op:='X'; exit; end;
R:=R*R;
form1.Edit1.Text:=FloatToStr(R);
Op:='X';
end;
end;
CC:='1'; KK:='1';
end;

procedure TForm1.B1Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'1'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'1'
end;
CC:='0';
end;

procedure TForm1.B2Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'2'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'2'
end;
CC:='0';
end;

procedure TForm1.B0Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'0'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'0'
end;
CC:='0';
end;

procedure TForm1.B3Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'3'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'3'
end;
CC:='0';
end;

procedure TForm1.B4Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'4'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'4'
end;
CC:='0';
end;

procedure TForm1.B5Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'5'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'5'
end;
CC:='0';
end;

procedure TForm1.B6Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'6'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'6'
end;
CC:='0';
end;

procedure TForm1.B7Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'7'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'7'
end;
CC:='0';
end;

procedure TForm1.B8Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'8'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'8'
end;
CC:='0';
end;

procedure TForm1.B9Click(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'9'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'9'
end;
CC:='0';
end;
procedure TForm1.DotClick(Sender: TObject);
begin
if CC='0' then
Edit1.Text:=Edit1.Text+'.'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'.'
end;
CC:='0';
end;

procedure TForm1.AddClick(Sender: TObject);
begin
if Op=' ' then Op:='+';
Op:=Op;
Calc;
Op:='+';
end;

procedure TForm1.MulClick(Sender: TObject);
begin
if Op=' ' then Op:='*';
Op:=Op;
Calc;
Op:='*';
end;

procedure TForm1.Div1Click(Sender: TObject);
begin
if Op=' ' then Op:='/';
Op:=Op;
Calc;
Op:='/';
end;

procedure TForm1.CClick(Sender: TObject);
begin
Op:=' ';
Edit1.Clear;
Num:=0;
R:=0;
Edit1.Text:='0.0';
CC:='1'; KK:='0';
end;
procedure TForm1.Sub1Click(Sender: TObject);
begin
if Op=' ' then Op:='#';
Op:=Op;
Calc;
Op:='#';
end;

procedure TForm1.JZRClick(Sender: TObject);
begin
if Op=' ' then Op:='S';
Op:=Op;
Calc;
Op:='S';
Calc;
end;
procedure TForm1.NotNumClick(Sender: TObject);
begin
if Op=' ' then Op:='N';
Op:=Op;
Calc;
Op:='N';
Calc;
end;
procedure TForm1.PowerClick(Sender: TObject);
begin
if Op=' ' then Op:='X';
Op:=Op;
Calc;
R:=StrToFloat(Edit1.Text);
Op:='X';
Calc;
end;
procedure TForm1.MosClick(Sender: TObject);
begin
Calc;
Op:='?';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Op:=' ';
Num:=0; R:=0; KK:='0';
end;
procedure TForm1.RMClick(Sender: TObject);
begin
if Op=' ' then Op:='R';
Op:=Op;
Calc;
Edit1.Text:=FloatToStr(MR);
end;
procedure TForm1.WMClick(Sender: TObject);
begin
if Op=' ' then Op:='W';
Op:=Op;
Calc;
MR:=StrToFloat(Edit1.Text);
end;
procedure TForm1.CMClick(Sender: TObject);
begin
if Op=' ' then Op:='#';
Op:=Op;
Calc;
MR:=0;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
label L;
begin
Case Key Of
8:BackSpaceClick(Self);
96:B0Click(Self);
97:B1Click(Self);
98:B2Click(Self);
99:B3Click(Self);
100:B4Click(Self);
101:B5Click(Self);
102:B6Click(Self);
103:B7Click(Self);
104:B8Click(Self);
105:B9Click(Self);
13:begin Calc; Op:='?'; end;
107:AddClick(Self);
109:SubClick(Self);
106:MulClick(Self);
110:begin if Pos('.',Edit1.Text)<>0 then exit; DotClick(Self); end;
111iv1Click(Self);
end;
end;
procedure TForm1.B3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Edit1.SetFocus;
end;

procedure TForm1.SubClick(Sender: TObject);
begin
if Op=' ' then Op:='-';
Op:=Op;
Calc;
Op:='-';
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if Op=' ' then Op:='+';
Op:=Op;
Calc;
Op:='+';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Op<>' ' then Op:='@';
Op:=Op;
Calc;
Op:='@';
Calc;
end;
procedure TForm1.B5MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Edit1.SetFocus;
end;

procedure TForm1.BackSpaceClick(Sender: TObject);
begin
if Edit1.Text='' then Edit1.Text:='0.0';
if StrToFloat(Edit1.Text)=0 then Exit;
Edit1.Text:=LeftBStr(edit1.Text,length(edit1.Text)-1);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if Pos('.',Edit1.Text)<>0 then exit;
if CC='0' then
Edit1.Text:=Edit1.Text+'.'
else
begin
Edit1.Clear;
Edit1.Text:=Edit1.Text+'.'
end;
CC:='0';
end;
end.

خداحافظ


56 out of 100 based on 41 user ratings 616 reviews