注册 登录
编程论坛 Delphi论坛

速要解决的小小问题:怎么用Deiphl做一个计算器的程序

无处躲避 发布于 2004-10-09 18:47, 3960 次点击

各位大侠:

小弟有一个请教:

怎么用Deiphl做一个计算器的程序?

16 回复
#2
ChenSirJD2004-10-09 23:56

不要告诉我你上网求助这个是为了交作业

应该不会有人回答你的这个问题

#3
无处躲避2004-10-10 14:00

大侠,当然不是了,我才学Deiphl两天而已,我的那位疯狂老师(非正课老师)压迫我五天之内做一个那个玩意儿,

你说我一个刚进大学的Freshman也就学了3课次C语言,

我我我我就就就就就..............

以前我是学过一点VB的,但是编程我想很恼人的吧.

当然,MY Teacher 也是为我好了,

小弟当求那位前辈指教了。

望谅解

#4
ChenSirJD2004-10-11 01:30

那是你们老师太过高估了你们的领悟能力和自学能力的了

问问同学吧,应该有会做的

#5
无处躲避2004-10-11 15:19

唉,他他他他他。。。。。。。是一位“私人教师”

唉,他也就还是教了。。。。。。。。。。。。。。。

但是,也骂了,,,,

。。。。。。。。。。。。。

#6
ChenSirJD2004-10-11 17:41

我这的课本上有一个简单的计算器的实现,需要你自己去扩展

想要的话就留下邮箱

代码如下:

unit Udemo28;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TDemo12Form = class(TForm) Button0: TButton; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Plus: TButton; Minus: TButton; Multiply: TButton; Devide: TButton; Equal: TButton; Clear: TButton; edtCalc: TEdit; procedure FormCreate(Sender: TObject); procedure ZeroToNineClick(Sender: TObject); procedure OperatorClick(Sender: TObject); procedure EqualClick(Sender: TObject); procedure ClearClick(Sender: TObject); private { Private declarations } Temp: real; OpChar: char; IsOperator: boolean; public { Public declarations } end;

var Demo12Form: TDemo12Form;

implementation

{$R *.DFM}

procedure TDemo12Form.FormCreate(Sender: TObject); begin Temp := 0; IsOperator := false; end;

procedure TDemo12Form.ZeroToNineClick(Sender: TObject); begin if IsOperator then begin IsOperator := false; EdtCalc.Text := ''; end; if (EdtCalc.Text='0') and ((Sender as TButton).Caption<>'.') then EdtCalc.Text := ''; EdtCalc.Text := EdtCalc.Text + (Sender as TButton).Caption; end;

procedure TDemo12Form.OperatorClick(Sender: TObject); begin Temp := StrToFloat(EdtCalc.Text); //为变量Temp赋值 case (Sender as TButton).Tag of //取加减乘除运算符 0: OpChar := '+'; 1: OpChar := '-'; 2: OpChar := '*'; 3: OpChar := '/'; end; IsOperator := true; end;

procedure TDemo12Form.EqualClick(Sender: TObject); begin if OpChar<>'=' then try case OpChar of //作加减乘除运算 '+': Temp := Temp + StrToFloat(EdtCalc.Text); '-': Temp := Temp - StrToFloat(EdtCalc.Text); '*': Temp := Temp * StrToFloat(EdtCalc.Text); '/': Temp := Temp / StrToFloat(EdtCalc.Text); end; OpChar := '='; EdtCalc.Text := FloatToStr(Temp); //显示运算结果 except on Exception do if OpChar='/' then if Temp>=0 then EdtCalc.Text := '错误:正无穷大!' else EdtCalc.Text := '错误:负无穷大!'; end; end;

procedure TDemo12Form.ClearClick(Sender: TObject); begin Temp := 0; EdtCalc.Text := '0'; end;

end.

#7
无处躲避2004-10-12 17:27

真是非常抱歉,因为有事一时没有看大哥的回帖

小弟在次特别感谢了!!!!!!!!!!!

#8
无处躲避2004-10-12 17:34

另外,小弟的邮箱是aeolusfly.student@sina.com

望大侠长指教!

#9
阿朱JD12004-10-12 21:51
兄弟,这次算你走运,我们刚刚做了这个计算器的程序,刚好你问,我还以为是谁的作业要在这里发表呢,就来看看,原来,呵呵,有意思。
#10
ChenSirJD2004-10-13 16:28

是啊!阿朱JD1那里有更好的计算器实现程序,你可以找他要来看看

我发的这个是书上的,没改过,只是最简单的计算器的实现

#11
无处躲避2004-10-14 14:24

不知阿珠JD1 大侠是否愿意呢?

小弟在次先谢了!

因为学校这几天在改DNS SO 小弟有些怠慢了。

#12
知秋一页2004-11-06 10:55
多半都是拿来交作业的,呵呵,以前我也有这样的经历!
#13
方方2006-06-29 18:52

zhuangxueting.stud@163.com
谢谢大侠啊

#14
volte2006-06-29 19:14
学delphi怎么这东西还要求助,

那还学什么编程。
#15
小虫3132006-06-30 15:11

不懂就问啦

#16
逍遥居士2006-07-27 20:18

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Edit1: TEdit;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
s:string;
a:real;
b:integer;
implementation

{$R *.dfm}

procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'1';
end;

procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'2';
end;

procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'3';
end;

procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'4';
end;

procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'5';
end;

procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'6';
end;

procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'7';
end;

procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'8';
end;

procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'9';
end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'0';
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin

b:=1;
s:=edit1.Text;
edit1.Clear;
end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin

b:=2;
s:=edit1.Text;
edit1.Clear;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
b:=3;
s:=edit1.Text;
edit1.Clear;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin

b:=4;
s:=edit1.Text;
edit1.Clear;
end;

procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
edit1.Clear;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
case b of
1:a:=strtofloat(s)+strtofloat(edit1.text);
2:a:=strtofloat(s)-strtofloat(edit1.text);
3:a:=strtofloat(s)*strtofloat(edit1.text);
4:a:=strtofloat(s)/strtofloat(edit1.text);
end;
edit1.text:=floattostr(a);


end;

procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'.';
end;

end.

#17
pulf2006-08-04 15:23
search baidu

1