1. 用delphi做一个简单计算器
试试这个
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure SetEditText(info: string);
{ Private declarations }
public
{ Public declarations }
end;
type //自定义一个Tcompute的类
Tcompute = object
private //保护类中成员数据的安全
temp1: double;
temp2: double;
temp3: double;
sign: Char;
public //把类中的成员函数进行共享
function Add(x: double; y: double): Double;
function Sub(x: double; y: double): Double;
function Mult(x: double; y: double): Double;
function Dived(x: double; y: double): Double;
end;
var
Form1: TForm1;
Info: Tcompute; //声明Info是类Tcompute的对象
oldinfo:string;
implementation
function Tcompute.Add(x: double; y: double): Double; //进行类的定义与实现
begin
Result := x + y;
end;
function Tcompute.Sub(x: double; y: double): Double;
begin
Result := x - y;
end;
function Tcompute.Mult(x: double; y: double): Double;
begin
Result := x * y;
end;
function Tcompute.Dived(x: double; y: double): Double;
begin
if (y = 0) then begin
Form1.Edit1.text:='1111111111';
//ShowMessage('除数不能为0!'); //这里判断除数不能为0
Result := x;
end else
Result := x / y;
end;
{$R *.dfm}
procedure TForm1.Button4Click(Sender: TObject);
begin
oldinfo := '';
SetEditText('');
Info.sign := ' ';
Info.temp1 := 0;
Info.temp2 := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetEditText('7');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
SetEditText('8');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
SetEditText('9');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
SetEditText('4');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
SetEditText('5');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
SetEditText('6');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
SetEditText('1');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
SetEditText('2');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
SetEditText('3');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
SetEditText('0');
Info.temp1 := StrTofloat(Edit1.text);
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
Button17Click(nil);
Info.temp2 := Info.temp1;
Info.sign := '+';
oldinfo := '';
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
Button17Click(nil);
Info.temp2 := Info.temp1;
Info.sign := '-';
oldinfo := '';
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Button17Click(nil);
Info.temp2 := Info.temp1;
Info.sign := '*';
oldinfo := '';
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
Button17Click(nil);
Info.temp2 := Info.temp1;
Info.sign := '/';
oldinfo := '';
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if Info.sign' ' then oldinfo := '';
if (Info.sign = '+') then
SetEditText(FloatToStr(Info.Add(Info.temp2, Info.temp1)))
else if (Info.sign = '-') then
SetEditText(FloatToStr(Info.Sub(Info.temp2, Info.temp1)))
else if (Info.sign = '*') then
SetEditText(FloatToStr(Info.Mult(Info.temp2, Info.temp1)))
else if (Info.sign = '/') then
SetEditText(FloatToStr(Info.Dived(Info.temp2, Info.temp1)));
if Edit1.Text'' then
Info.temp1 := StrToFloat(Edit1.Text);
Info.sign := ' ';
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
SetEditText('.');
Info.temp1 := StrToFloat(Edit1.Text);
end;
procedure TForm1.SetEditText(info:string);
begin
Edit1.Text := oldinfo + info;
oldinfo := Edit1.Text;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
oldinfo := '';
end;
end.
2. 求:用delphi编写一个计算器!~
so easy
我只写思路
(0-9 . 10个键, 一个eidt1.text 做显示屏, + - * / = 归零 6个功能键)
var
n:integer //四则运算
s1:string;
+; s1:=edit1.text a:=1 edit1.clear;//把+号前面字符串存入s1
-: s1:=edit1.text a:=2 edit1.clear;
*: s1:=edit1.text a:=3 edit1.clear;
/: s1:=edit1.text a:=4 edit1.clear;
归零:edit1.clear; //不显示 也可以显示0 不过0-9 要多了一个if
0-9: edit1.text=edit1.text+(0-9) //
.: if edit1.text=''then edit1.text='0.' else edit1.text=edit1.text+'.';
// 前面的是按钮 懒的写全 带冒号的全是按钮点击事件 后面是=号的代码
begin
case n of
1: edit1.text:=inttostr(strtoint(s1)+strtoint(edit1.text));
2: edit1.text:=inttostr(strtoint(s1)-strtoint(edit1.text));
3: edit1.text:=inttostr(strtoint(s1)*strtoint(edit1.text));
4: begin
if edit1.text=0 then showmessage('不能被整除')
else edit1.text:=inttostr(strtoint(s1)/strtoint(edit1.text));
end;
end;
end;
3. 求高手解答:用delphi编写一个计算器的整个过程!~
页面设计 就是功能的反馈,计算器的作用是与用户交互做数据运算,就说明需要有交互方面的东西 也就是数字按钮和运算符号按钮,结果输出需要有一个文本框,然后按照人们习惯或者审美观点 做成一个界面,再根据各个按钮的功能添加相应的代码,就是 + - * / 的运算
网页版的计算器是通过css与js实现的,功能和界面上可以完全一样
网页的优点是应用范围广,限制少,你打开网页就可以用,在linux,mac上也可以用,在网页输入的时候也可以调用
缺点就是一旦上不去网,就只能用单机版的计算器了
就简单的计算器而言,效率问题可以不用考虑
4. 急! 帮忙用Delphi编写个计算器好吗 谢谢!!
又发了一遍
5. 请哪位高手给个delphi 7编写的计算器代码,只要加减乘除简单动算就可以了,不胜感谢!
昨天我做了一个简单的计算器。
其实原理很简单,就是一个表明“加减乘除符号”的变量fuhao,和一个string型的变量firststr(来存储第一个edt1.text里的数据)。当用户按下“加号”时,fuhao := 1;firststr:=edt1.text;edt1.clear;(把edt1.text里的数据清空!)然后用case fuhao of 判断用户输入的是什么运算符,然后做运算。其实很简单的。需要源代码的话你就按照下边的那个写:其实如果你是新手的话,还是写的简单一点好,复杂的话不利于你的“成就感”!嘿嘿,编程慢慢来!
记得选我为最佳答案奥亲!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
BitBtn1: TBitBtn;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure Label1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
temp1:string;
temp2:double;
n:integer;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
form1.Edit1.Clear;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Edit1.Text:=edit1.Text+'1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'9';
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'0';
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
n:=1;
temp1:=edit1.Text;
edit1.clear;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
n:=2;
temp1:=edit1.Text;
edit1.clear;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
n:=3;
temp1:=edit1.Text;
edit1.clear;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
n:=4;
temp1:=edit1.Text;
edit1.clear;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
case n of
1:temp2:=strtofloat(temp1)+strtofloat(edit1.Text);
2:temp2:=strtofloat(temp1)-strtofloat(edit1.Text);
3:temp2:=strtofloat(temp1)*strtofloat(edit1.Text);
4:if strtofloat(edit1.Text)=0 then
begin
showmessage('除数不能为零!');
exit;
end
else
temp2:=strtofloat(temp1)/strtofloat(edit1.Text);
end;
edit1.Text:=floattostr(temp2);
end;
procedure TForm1.Image1Click(Sender: TObject);
begin
messagedlg('此处没有设置特定的功能!',mterror,[mbok],0);
end;
procedure TForm1.Label1DblClick(Sender: TObject);
begin
messagedlg('不能操作!',mtinformation,[mbok],0);
end;
end.
6. 用delphi编写一个计算器,可几个数进行运算,两个数运算我会,大神多个数运算的怎么写,求救啊。
编写计算器程序,对于多个数运算,可以采取以下办法:
一是每次只进行两个数进行运算,然后将结果暂存,再进行下一次运算。
另一种是将先将运算式输入完毕,再进行分解后进行运算。这种方法要想做的好,需要进行语法解析。如果只是简单地加减乘除,不包含括号等,则相对简单一些。取巧的办法是调用 vbscript 的 eval 函数。
7. 如何用Delphi制作一个加法计算器
提供示例代码如下:
procedure TForm1.Button1Click(Sender: TObject);begin Edit3.Text := FloatToStr(StrToFloat(Edit1.Text)+StrToFloat(Edit2.Text));end;代码运行截图:
8. 求一个DELPHI的简单计算器代码,能运算加减乘除和退格功能就行
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
BitBtn1: TBitBtn;
Edit1: TEdit;
procedure Button13Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
private
procedure setedit(n :string);
{ Private declarations }
public
{ Public declarations }
end;
type
Tcalc=Object
private
value1: Double;
value2: Double;
sign: Char;
public
function Add(x,y: Double): Double;
function Sub(x,y: Double): Double;
function Mul(x,y: Double): Double;
function divi(x,y: Double): Double;
end;
var
Form1: TForm1;
calc: Tcalc;
stort: string;
implementation
{$R *.dfm}
{ Tcalc }
function Tcalc.Add(x, y: Double): Double;
begin
Result:=x+y;
end;
function Tcalc.divi(x, y: Double): Double;
begin
if y=0 then
begin
ShowMessage('除数不能为0');
exit;
end
else
Result:=x/y;
end;
function Tcalc.Mul(x, y: Double): Double;
begin
Result:=x*y;
end;
function Tcalc.Sub(x, y: Double): Double;
begin
Result:=x-y;
end;
{ TForm1 }
procedure TForm1.setedit(n: string);
begin
edit1.Text:=stort+n;
stort:=edit1.Text;
calc.value1:=StrToFloat(edit1.Text);
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
setedit('1');
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
setedit('2');
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
setedit('3');
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
setedit('4');
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
setedit('5');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
setedit('6');
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
setedit('7');
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
setedit('8');
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
setedit('9');
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
setedit('0');
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
setedit('.');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Button16Click(nil);
calc.value2:=calc.value1;
calc.sign:='+';
stort:='';
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
if calc.sign' ' then
stort:='';
if calc.sign='+' then
setedit(FloatToStr(calc.Add(calc.value2,calc.value1)));
if calc.sign='-' then
setedit(FloatToStr(calc.Sub(calc.value2,calc.value1)));
if calc.sign='*' then
setedit(FloatToStr(calc.Mul(calc.value2,calc.value1)));
if calc.sign='/' then
setedit(FloatToStr(calc.divi(calc.value2,calc.value1)));
calc.sign:=' ';
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
calc.sign:=' ';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
calc.sign:=' ';
stort:='';
edit1.Text:='';
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Button16Click(nil);
calc.value2:=calc.value1;
calc.sign:='-';
stort:='';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Button16Click(nil);
calc.value2:=calc.value1;
calc.sign:='*';
stort:='';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button16Click(nil);
calc.value2:=calc.value1;
calc.sign:='/';
stort:='';
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
Edit1.Text:=copy(edit1.Text,1,length(edit1.Text)-1);
stort:='';
setedit(edit1.Text);
end;
end.