delphi7 计算器
Delphi7数学、金融等函数
Delphi7数学、金融等函数Delphi/Kylix跨平台运行时(Runtime)库Copyright(c)1996,2001Borland软件*************************************************************** *****这个单元包含高性能的算术、三角、对数、统计和金融方面的计算及FPU程序函数用于补充Delphi语言System.pas单元中的数学常规程序函数参考:1)P.J.Plauger,"The Standard C Library",Prentice-Hall,1992,Ch.7.《标准C程序库》2)W.J.Cody,Jr.,and W.Waite,"Software Manual For the Elementary Functions", Prentice-Hall,1980.《软件手册初步》3)Namir Shammas,"C/C++Mathematical Algorithms for Scientists and Engineers", McGraw-Hill,1995,Ch8.《C/C++数学的运算法则对于科学家和工程师》4)/doc/b72064808.html,u,"A Numerical Library in C for Scientists and Engineers",CRC Press,1994,Ch.6.《C 语言中的数字的程序库对于科学家和工程师》5)"Pentium(tm)Processor User’s Manual,Volume3:Architecture and Programming Manual",Intel,1994《Pentium(tm)处理器使用手册,第3册:体系结构和程序手册》注意1)对于有些函数,这个单元中涉及的概念或常数由EarlF.Glynn(/doc/b72064808.html,)和Ray Lischner(/doc/b72064808.html,)提供。
delphi7教程(1)
Delphi7.0软件程序编制规范3.2、Delphi7.0软件程序编制规范3.2.1、编制程序:根据系统分析要求编制程序,要求实现代码的复用、算法的优化、程序代码的优化、发现数据库设计不合理的及时反馈,减少循环嵌套,基础数据避免重复更新,保证进入的数据就是齐全的、正确的。
3.2.2、程序自测:负责按测试方案进行自测,交付测试的程序不能出现不能正常运行、未按公式计算的简单错误。
3.2.3、程序测试:将完成的程序转系统分析人员按测试方案测试。
3.2.4、开发工具的程序编制规范:详见详细规范。
3.2.5、.net编程规范一.安装方法:1、安装IIS与frontpage扩展:点击控制面板,点击添加删除程序,选择添加删除WINDOWS组件,选择应用程序服务器。
点击详细信息,选择internet信息服务IIS,点击详细信息,选择frontpage 2002 server extensions与internet信息服务管理器,按向导提示点击下一步,然后放入系统盘。
2、要在防火墙退出的环境下进行安装,把网线拔掉。
3、放入第一张光盘,他会提示安装.net必备,放入第三张光盘,根据向导提示安装。
安装完第一张、第二张就可以运行.net了.第四、五、六张为MSDN帮助文件。
(07.02.06添加)3.2.6、Delphi7.0编程规范第一部分:软件安装与控件安装方法一、软件安装:光盘或网络安装后,将光盘CRACK目录下dent.slip拷贝到安装路径下。
未注册信息将不再显示。
二、基本安装:1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可;4、如果以上Install按钮为失效的话,试试Compile按钮;5、是run time lib则在option下的packages下的runtimepackes加之。
delphi 用TList实现的简单计算器
interfaceusesWindows, Messages, SysUtils, Variants, Classes, Dialogs, Math, Graphics, Controls, Forms, StdCtrls;typeTForm1 = class(TForm)edt1: TEdit;btn10: TButton;btn1: TButton;btn2: TButton;btn3: TButton;btn4: TButton;btn5: TButton;btn6: TButton;btn7: TButton;btn8: TButton;btn9: TButton;btnEqual: TButton;btn12: TButton;btnC: TButton;btn14: TButton;procedure FormCreate(Sender: TObject);procedure FormDestroy(Sender: TObject);procedure opInput(Sender: TObject);procedure btnEqualClick(Sender: TObject);procedure btnCClick(Sender: TObject);function isDigit(s: string): Boolean;procedure numInput(Sender: TObject);//procedure numOpInput(Sender: TObject);private{}end;{自定义的TMyList类}TMyList = class(TList)end;varForm1: TForm1;List: TMyList;tempStr: string;implementation{$R *.dfm}{创建}procedure TForm1.FormCreate(Sender: TObject);beginList := TMyList.Create;edt1.Text := '';end;{释放}procedure TForm1.FormDestroy(Sender: TObject);beginList.Free;end;{判断一个字符串是否为数字}function TForm1.isDigit(s: string): Boolean;vari: Integer;beginResult := True;for i := 1 to Length(s) dobeginif not(s[i] in ['0'..'9','.']) thenResult := False;end;end;{输入数字处理}procedure TForm1.numInput(Sender: TObject);beginif(edt1.Text = '') or (string(st^) = '+') or (string(st^) = '*') then beginedt1.Text := (Sender as TButton).Caption;endelsebeginedt1.Text := edt1.Text + (Sender as TButton).Caption;end;tempStr := edt1.Text;end;{操作符处理}procedure TForm1.opInput(Sender: TObject);beginif isDigit(tempStr) and (tempStr <> '') thenbeginnew(str);str^ := tempStr;List.Add(str);tempStr := '';end;if List.Count = 0 thenbeginShowMessage('输入无效,请先输入数字');exit;//跳出本过程endelsebeginedt1.Text := (Sender as TButton).Caption;New(str);str^ := edt1.Text;List.Add(str);edt1.Clear;end;end;{等号处理list}procedure TForm1.btnEqualClick(Sender: TObject); var//tempResult: Extended;temp: Extended;tempStr1, tempStr2: string;i: Integer;beginnew(str);str^ := tempStr;List.Add(str);edt1.Clear;tempStr := '';if List.Count = 0 thenShowMessage('empty list')elsebeginfor i := 0 to List.Count - 1 dobegintempStr1 := string(List.Items[i]^);if tempStr1 = '+' thenbegintempStr1 := string(List.Items[i - 1]^);tempStr2 := string(List.Items[i + 1]^);New(str);str^ := FloatToStr(StrToFloat(tempStr1) + StrToFloat(tempStr2));List.Delete(i + 1);List.Insert(i + 1, str);end;if tempStr1 = '*' thenbegintempStr1 := string(List.Items[i - 1]^);tempStr2 := string(List.Items[i + 1]^);New(str);temp := StrToFloat(tempStr1) * StrToFloat(tempStr2);str^ := FloatToStr(temp);List.Delete(i + 1);List.Insert(i + 1, str);end;end;edt1.Text := string(List.Items[List.Count - 1]^);List.Clear;New(str);str^ := edt1.Text;List.Add(str);//ShowMessageFmt('count=%d',[List.Count]);end;end;procedure TForm1.btnCClick(Sender: TObject);beginif List.Count = 0 thenShowMessage('list为空,不用清空');List.clear;edt1.Text := '';end;end.。
第1章 Delphi 7快速入门
(2)在列表中选择“Borland Delphi6(7)”选项,如图1-9 所示,单击“Next”按钮。
(3)打开卸载模式选择窗口,如图1-10所示。 ( 4 ) 单 击 “ Next” 按 钮 , 随 后 出 现 确 认 窗 口 , 单 击 “Remove”按钮,出现程序卸载进度条。
(5)完成后,出现完成画面,如图1-11所示。单击 “Finish”按钮,程序卸载完成。
Save
Save All
Remove files from project Add files to project
New Form
View工具栏
View Unit
View Form
Toggle Form/unit
Debug工具栏
Run Pause
Trace Into
Step Over
Custom 工具栏 Help Content 定制工具栏
RAM 32M 64M
1.2.2 Delphi 7安装
Delphi 6(7)采用智能化安装方式,具体步骤如下: (1)把Delphi6(7)的安装光盘放入光驱中,系统会自动运行安装程 序,显示安装画面,如图1-1所示。 (2)用鼠标单击“Delphi”选项,出现安装向导进度条后,进入欢 迎窗口,如图1-2所示。 (3)单击“Next”按钮,随后进入Password Dialog窗口,输入系列 码、授权码,然后单击“Next”按钮。 (4)打开安装软件认证协议窗口,单击“Yes”按钮。 (5)进入消息Information窗口,单击“Next”按钮。 (6)指定Delphi6(7)安装方式,Delphi6(7)提供了三种选择:典型安 装、精简安装、自定义安装(如图1-3所示)。
Delphi7 常用组件的使用
【例7-1】 设计一个简易账号和密码的检 验程序。对输入的账号和密码规定如下:(1) 账号为不超过6位的数字,密码为4位字符, 在本题中,账号假设为123456,密码假定为 Pass。(2)输入密码时,在屏幕上不显示输 入的字符,而用“*”代替。(3)当输入不 正确,如账号为非数字字符或账号和密码输 入不正确时,将显示出消息框进行提示。程 序的设计界面如图7-1所示,程序的运行界面 如图7-2所示。
图7-1 程序设计界面
图7-2 程序运行界面
3.TMemo组件
(1)TMemo组件的常用属性
ScrollBars属性:该属性用来设置备注框是否出 现滚动条以及滚动条的种类。 Lines属性:按行处理文本。 WordWrap属性:该属性用来决定当输入的文本 到达右边界时是否插入软回车,以便换到下一行再输 入。
(3)TListBox组件的常用事件
TListBox组件响应的主要事件有:OnClick、 OnKeyDown、OnKeyPress、OnKeyUp等。
2. TComboBox组件
(1)DropDownCount属性:该属性用来设 置组合框的列表框中所能显示的列表项的最 大数目,默认情况下,列表框中可以显示8个 列表项,当超过8个列表框时将显示出垂直滚 动条。 (2)Style属性:该属性用来设置或返回组 合框的风格。
(2)TEdit组件的常用方法
SetFocus方法:该方法用于为编辑框设置焦点, 无参数。
Clear方法:该方法用来清除编辑框中的所有文 本,无参数。 ClearSelection方法:该方法用来清除编辑框中选 中的文本,无参数。 Undo方法:该方法用来撤消在编辑框中最近所 做的编辑操作。 ClearUndo方法:该方法用来清除“撤消”缓冲 区,从而不能对以前的操作做撤消操作,该方法无参 数。 SelectAll方法:该方法用来选中编辑框中的所 有文本。 CopyToClipboard方法:该方法用来把选中的文 本复制到剪贴板上,相当于复制操作。 CutToClipboard方法:该方法用来把选中的文 本移动到剪贴板上,相当于剪切操作。
delphi7操作
1,保存所做的工作及时地保存所做的工作至关重要。
对设计者来讲,有两个文件需要保存:库单元文件(以.PAS为后缀)和工程文件(以.DPR为后缀)。
从主菜单上选择File|Save Project As...项,Delphi会显示标题为“Save Unit1 As(先保存单元)”的文件保存对话框,Delphi 2.0 允许用户更改存储路径,您可以在下拉式列表框中选择。
最好将您的文件保存在自己的目录中。
在编辑框中键入demoform.pas以保存库单元文件;然后显示标题为“Save Project As(保存工程)”的另一个文件保存对话框,键入sample.dpr。
Delphi保存这两个文件并返回窗体窗口。
不要把库单元和工程存成一样的文件名,Delphi要求两者不同。
第一次保存后,以后可以随时通过Speed Bar中的“Save All(ctrl+shift+s)”和“Save file”来保存工程文件和库单元文件。
一般来讲,当确认文件的改变后,要同时存储这两个文件。
2,第一个范例:Caption属性:&RoundRec,则(按R键即触发这个键)(1)点动写有“Additional”的页标签,切换到Additional页,找到“Shape (形状部件)”部件(其图标为圆、方形、三角形三个几何体)。
Name:Shape1 (2)点动“Dialog”页标签,选择以16色网格做图标的ColorDialog部件并把它放到窗体的任意位置。
因为这一部件是不可视部件,所以它的位置并不影响大局。
Name:ColorDialog1加个按钮:ColorDialog1.Execute;Shape1.Brush.Color := ColorDialog1.Color;(3)“Additional”部件页,选择一个“BitBtn”按钮(4)按钮:Shape1.Shape := stRectangle;3. 常用的文本相关部件它们是Label(标签)、Edit(文本编辑)、MaskEdit(格式编辑)、Memo(备注)、List Box(列表框)、Combo Box(组合框)。
delphi实现计算器源码-完整版
private{ Private declarations }protected// procedure CreateParams(var Params: TCreateParams);override; public{ Public declarations }end;TRightEdit = class(TEdit)protectedprocedure CreateParams(var Params : TCreateParams);override; end;typeoperator = (Emp,add,sub,mul,divid); //空、加、减、乘、除varFrmCounter: TFrmCounter;MyRightEdit: TRightEdit;operate: Operator = emp;operate1: Operator = emp; //记录上一次用户按下的运算符Pointed: Boolean = False; //是否输入小数点temp: string = '';tempnum: Real = 0.0;implementation{$R *.dfm}//重载TRightEdit的CreateParams自定义编辑框的一些样式procedure TRightEdit.CreateParams(var Params : TCreateParams); begininherited;Params.Style := params.Style + ES_Right;end;//创建窗体时初始化一些参数procedure TFrmCounter.FormCreate(Sender: TObject);beginMyRightEdit := TrightEdit.Create(nil);with MyRightEdit dobeginparent := panel1;text := '0.';MyRightEdit.Height := 100;Align := alTop;Enabled := False;ReadOnly := True;show;end;end;//清零的响应函数procedure TFrmCounter.SBClearClick(Sender: TObject);beginPointed := False;MyRightEdit.Text := '0.';TempNum := 0.0;Operate := emp;temp := '';end;//数字键输入响应函数procedure TFrmCounter.SpeedButton1Click(Sender: TObject);varStrWidth: Integer;beginif (temp = '')or(Operate <> emp) thenTempNum := StrToFloat(MyRightEdit.Text);if Operate <> emp thenMyRightEdit.Text := '0.';Temp := Trim(MyRightEdit.Text);StrWidth := Length(temp);if Sender is TSpeedButton thenbeginif Operate <> emp thenbeginMyRightEdit.Text := '0.';Operate := emp;end;if Pointed = False thenbeginif StrToFloat(MyRightEdit.Text) = 0 thenMyRightEdit.Text := FloatToStr(StrToFloat(MyRightEdit.Text)+StrToInt(TSpeedButton(Sender).Caption))+'.'else beginInsert(Trim(TspeedButton(Sender).Caption),temp,StrWidth);MyRightEdit.Text := temp;end;endelse beginInsert(Trim(TSpeedButton(Sender).Caption),temp,StrWidth+1);MyRightEdit.Text := temp;end;end;end;//正负符号响应函数procedure TFrmCounter.SpeedButton13Click(Sender: TObject);beginif Operate <> emp thenbeginTempNum := StrToFloat(MyRightEdit.Text);MyRightEdit.Text := '0.';Operate := emp;end;if StrToFloat(MyRightEdit.Text) > 0 thenbeginMyRightEdit.Text := FloatToStr(-StrToFloat(MyRightEdit.Text));if Pos('.',Trim(MyRightEdit.Text))=0 thenMyRightEdit.Text := FloatToStr(StrToFloat(MyRightEdit.Text))+'.'; endelse if StrToFloat(MyRightEdit.Text)<0 thenbeginMyRightEdit.Text := FloatToStr(abs(StrToFloat(MyRightEdit.Text)));if Pos('.',Trim(MyRightEdit.Text))=0 thenMyRightEdit.Text := FloatToStr(StrToFloat(MyRightEdit.Text))+'.'; end;end;//小数点的输入procedure TFrmCounter.SpeedButton14Click(Sender: TObject);beginif Operate <> emp thenbeginOperate := emp;MyRightEdit.Text := '0';end;if Pointed = True thenBeepelsePointed := True;end;//显示运算结果procedure TFrmCounter.SpeedButton19Click(Sender: TObject);beginif (Operate = emp)and(Trim(temp)<>'') thenbegincase Operate1 ofadd: beginMyRightEdit.Text := FloatToStr(StrToFloat(MyRightEdit.Text)+TempNum);end;sub: beginMyRightEdit.Text := FloatToStr(TempNum-StrToFloat(MyRightEdit.Text));end;mul: beginMyRightEdit.Text := FloatToStr(TempNum*StrToFloat(MyRightEdit.Text));end;divid: beginif StrToFloat(MyRightEdit.Text)<>0 thenMyRightEdit.Text := FloatToStr(TempNum/StrToFloat(MyRightEdit.Text))elseApplication.MessageBox('除数不能为零。
《Delphi程序设计基础教程》 第1章 Delphi7集成开发环境
1.2 Delphi软件的安装及卸载
图1-10 设置安装路径
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
选择完安装路径后,单击【next】按钮, 安装向导询问用户是否安装数据库保存到 本地硬盘,如图1-11所示。
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
单击【Install】按钮,开始正式安装,如图1-13所 示。
图1-13 正式安装
DELPHI程序设计基础教程
2020年1月9日星期四
1.2 Delphi软件的安装及卸载
系统安装完毕后,用户可单击【Finish】按钮即可 ,如图1-14所示。
图1-14 系统安装完毕
DELPHI程序设计基础教程
2020年1月9日星期四
1.1 Delphi简介
Delphi7的新特点 Delphi7在继承了Delphi中能有效的帮助开发人员快速
的构造出所需的Windows应用程序等传统优势的同时,也进 行了进一步的完善和发展。
目前,Delphi7加强了集成开发环境、数据库、可视组 件库等方面功能。首先,为了顺应当今基于Web服务的电子 商务应用程序开发的潮流,Delphi7加强了使用商业XML的 Windows操作系统与Web Services兼容能力。其次,为了 更加便于程序员编程,Delphi7在集成开发环境中的组件面 板上新加入了一些组件并优化了代码编辑工作。再次, Delphi7使用Rave Reports(即目前可获得的第一个和唯一 的专业性可视化报表工具)技术,这大大加快了程序员创 建跨平台的报表的速度。另外,Delphi7增加了对Windows XP风格的支持。最后,Delphi7也为开发人员提供了更为可 靠的安全性的控制以及可伸缩性的开发需要。
Delphi7的简介与实例
3.1类
(3) 属性 属性用关键字property声明,它类似于字段,但又不同 于字段,它常与读取和修改内部字段的方法相关联。 例如: property Capacity: Longint read FCapacity write SetCapacity; 为属性指定了读取段的方法FCapacity和写 字段的方法SetCapacity。Longint是属性的数据类型。
3.1类
2. 类成员的访问权限 在类的声明中可以使用关键字private、protected、 public、published 、automated说明类成员的访问权限。 访问权限决定了一个成员在哪些地方以及如何被访问。 3. 类的继承性 当声明一个类时,可以指定它的父类,例如: type TSomeControl = class(TControl); 定义了一个叫做TSomeControl 的类,它继承自 TControl。一个类自动从它的父类继承所有的成员,且可 以声明新成员,也可以重新定义继承下来的成员,但不能 删除祖先类定义的成员。
2.3 数据类型
2.2.4 语句 1.注释与空白 注释是添加在程序中用来说明代码功能的语句,它是非执 行语句,对程序的执行部分不会产生任何影响,有助于提高 程序的可读性。 Delphi中的注释有三种形式: 花括号“{}”注释:位于 “{}”中的内容为注释。 双斜杠“//”注释: “//”之后到本行结束的内容为注释。 圆括号及星号对“(*……*)”注释:(*……*)中的 内容为注释。 空白:空行、空格、缩进
2.2 Delphi Object Pascal的概述
2.2.1标识符和保留字 标识符用作常量、变量、数据类型、过程、函数、单 元及程序等的名称。标识符由一个或多个ASCII码字符 序列组成,定义标识的规则如下: (1)标识符由字母、数字或下划线组成; (2)标识符的第一个字符必须是字母或下划线; (3)标识符的长度不应超过255个字符,超过255个字 符只有前255个字符有效; (4)不能将关键字(保留字)用作标识符; (5)标识符不区分大、小写。 保留字又称为关键字,它在Delphi语言中有着特殊含 义。保留字不能用作标识符,在实际编程中不应该把任 何保留字用作标识符。
Delphi7的简介与实例参考文档
1.直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件 编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度 更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他 同类产品。
2.支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许 开发人员建立一个简单的部件或部件集合,封装起所有的规则,并 独立于服务器和客户机,所有的数据转移通过这些部件来完成。这 样,大大减少了对服务器的请求和网络上的数据传输量,提高了应 用处理的速度。
对于在程序运行期间保持不变的数据,Delphi允许通过声明 常量来调用。声明常量不必指定数据类型,但需指定常量 所代表的数据的值。 常量的声明格式如下:
Const 常量名=表达式
10
2.2 Delphi Object Pascal 的概述
2.2.3 运算符 1.赋值运算符(:=)
赋值运算符“:=”是先计算赋值运算符右边表达式的值 ,再将结果赋给左边的变量。 2.算术运算符
2
1.2 Delphi 可视化开发环境简介
1. Delphi 7 IDE 运行界面 通常,启动Delphi 7的方法是:单击“开始”按钮,然后 依次从级联菜
单中选择“程序”\Borland Delphi 7\Delphi 7选项,就进入了 Delphi 7
IDE 运行界面,如图所示会出现5个主窗口: 标题为“Delphi7-Project1”的Delphi的主窗口。 Delphi的主窗口位于屏幕的上端,包括主菜单、工具样和组
件板。 对象Tree View (object Tree View). 对象观察器(Object Inspector). 标题为“From1”的窗体设计器。 标题为“Unit1.Pas”的代码编辑器,刚启动时这一窗口的大部
Delphi7 基本数据类型与表达式
5.表达式
(1)算术表达式
算术表达式就是将算术运算符、圆括号和满足该运算符要求 的有关数据(数值型常量、变量和函数等)连接起来的式子。
(2)字符串表达式
利用字符串运算符将字符串常量、字符串变量或 字符串函数连接起来的式子称字符串表达式。字符串 表达式的格式如下: s1+s2 其中s1和s2可以是字符串常量、变量或函数。
描述存储各种整数数据的类型即整型。
2.实型 Real Double
描述存储各种实数数据的类型为实型。
3.字符型 Char
描述存储单个字符数据的类型。
4.字符串型 String 5.布尔型: True(真)和False(假)数据的类型。
2.1.2 Delphi 7.0中的标识符与保留字
1.标识符
[格式]:Const 常量名1:类型名1=常量值1; … 常量名n:类型名n=常量值n;
2.变量
(1)变量的声明
声明变量的语法格式如下: [格式]:Var
变量名1:类型名1;
变量名2:类型名2; … 变量名n:类型名n;
(2)变量的使用
2.1.4 Delphi 7.0中的运算符与表达式
1.算术运算符
2.保留字
3.指令符
2.1.3 Delphi 7.0中的常量与变量
1.常量
(1)直接常量
直接常量就是在程序中直接使用的各种常量,如 整型常量516、-111等;实型常量1.2、0.0、3.6E5等; 字符常量'a'、'10'等;字符串常量:'www'、'中国'等; 布尔常量True和False。
(1)取正运算符“+” (2)取负运算符“-” (3)加法运算符“+” (4)减法运算符“-” (5)乘法运算符“*” (6)除法运算符“/” (7)整除运算符“div” (8)取余运算符“mod” 注意: 取正运算符和取负运算符是单目运算符,其它 6个运算符为双目运算符。 加法运算符、减法运算符和乘法运算符的结果 的类型为参加运算的两个数据中的精度高的类型。 /、div和mod运算符中的除数不能为0。
Delphi7入门
工具(Tools)菜单
••••••
工具菜单提供了Delphi的环境选项以及可以自定义的运行工 具菜单项。
••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• •• ••••• ••••• ••••• ••••• •••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• •••••
••••••
第九章 Delphi 7入门
••••••
••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• •• ••••• ••••• ••••• ••••• •••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• ••••• •••• ••••• ••••• ••••• ••••• ••••• ••••• •••••
delphi7 pcoinsrec的用法
delphi7 pcoinsrec的用法Delphi7中的pcoinsrec是一个记录类(record)类型,用于存储与硬币相关的信息。
通过使用pcoinsrec,开发人员可以轻松地管理和操作硬币的各种属性,如面值、数量和状态等。
在本文中,我们将逐步介绍pcoinsrec 在Delphi7中的使用方法。
第一步是定义pcoinsrec类型。
在Delphi7的代码编辑器中,我们可以使用以下语法来定义pcoinsrec:typepcoinsrec = ^tcoinsrec;tcoinsrec = recordvalue: Integer; 硬币的面值quantity: Integer; 硬币的数量status: string; 硬币的状态end;上述代码块中,我们使用了指针类型pcoinsrec来指向tcoinsrec(记录类型)。
tcoinsrec包含三个属性:value(硬币的面值)、quantity(硬币的数量)和status(硬币的状态)。
这样,我们就成功创建并定义了pcoinsrec类型。
第二步是使用pcoinsrec类型来创建硬币记录。
我们可以通过以下代码示例来创建一个硬币记录:varcoinsList: array of pcoinsrec; 硬币记录数组coin1: pcoinsrec;beginNew(coin1);coin1^.value := 1; 设置硬币面值coin1^.quantity := 10; 设置硬币数量coin1^.status := '在库'; 设置硬币状态SetLength(coinsList, 1); 设置硬币记录数组的长度coinsList[0] := coin1; 将硬币记录添加到硬币记录数组中在此处可以继续添加更多的硬币记录释放内存Dispose(coinsList[0]);SetLength(coinsList, 0);end;在上述代码示例中,我们首先声明了一个硬币记录数组coinsList,并定义了一个指向pcoinsrec的变量coin1。
delphi7-计算器
用delphi7实现简单的加减乘除,还有一些科学运算。
以下是一些源代码unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,math;typeTForm1 = 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;Edit1: TEdit;Button16: TButton;Button17: TButton;Button18: TButton;Button19: TButton;Button20: TButton;Button21: TButton;Button22: TButton;Button23: TButton;Button24: TButton;Button25: TButton;Button26: TButton;Button27: TButton;Button28: TButton;Button29: TButton;Button30: TButton;procedure Button13Click(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 Button14Click(Sender: TObject);procedure Button10Click(Sender: TObject);procedure Button12Click(Sender: TObject);procedure Button16Click(Sender: TObject);procedure Button15Click(Sender: TObject);procedure Button17Click(Sender: TObject);procedure Button18Click(Sender: TObject);procedure Button19Click(Sender: TObject);procedure Button20Click(Sender: TObject);procedure Button11Click(Sender: TObject);procedure Button21Click(Sender: TObject);procedure Button22Click(Sender: TObject);procedure Button23Click(Sender: TObject);procedure Button24Click(Sender: TObject);procedure Button25Click(Sender: TObject);procedure Button26Click(Sender: TObject);procedure Button27Click(Sender: TObject);procedure Button28Click(Sender: TObject);procedure Button29Click(Sender: TObject);procedure Button30Click(Sender: TObject); private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;x:string;n:integer;implementation{$R *.dfm}procedure TForm1.Button13Click(Sender: TObject); beginedit1.Text :=edit1.Text +'0';end;procedure TForm1.Button1Click(Sender: TObject); beginedit1.Text :=edit1.Text +'1';end;procedure TForm1.Button2Click(Sender: TObject); beginedit1.Text :=edit1.Text +'2';end;procedure TForm1.Button3Click(Sender: TObject); beginedit1.Text :=edit1.Text +'3';end;procedure TForm1.Button4Click(Sender: TObject); beginedit1.Text :=edit1.Text +'4';end;procedure TForm1.Button5Click(Sender: TObject); beginedit1.Text :=edit1.Text +'5';end;procedure TForm1.Button6Click(Sender: TObject); beginedit1.Text :=edit1.Text +'6';end;procedure TForm1.Button7Click(Sender: TObject); beginedit1.Text :=edit1.Text +'7';end;procedure TForm1.Button8Click(Sender: TObject); beginedit1.Text :=edit1.Text +'8';end;procedure TForm1.Button9Click(Sender: TObject);beginedit1.Text :=edit1.Text +'9';end;procedure TForm1.Button14Click(Sender: TObject);beginedit1.Text :=edit1.Text +'.';end;procedure TForm1.Button10Click(Sender: TObject);beginclose;end;procedure TForm1.Button12Click(Sender: TObject);beginedit1.Clear ;end;procedure TForm1.Button16Click(Sender: TObject);beginn:=1;x:=edit1.Text;edit1.Clear ;end;procedure TForm1.Button15Click(Sender: TObject);begincase n of1:edit1.Text :=floattostr(strtofloat(x)+strtofloat(edit1.Text )); 2:edit1.Text :=floattostr(strtofloat(x)-strtofloat(edit1.Text )); 3:edit1.Text :=floattostr(strtofloat(x)*strtofloat(edit1.Text )); 4:if StrToFloat(Edit1.Text)=0 thenbeginEdit1.Text:='error';Exit;endelseedit1.Text :=floattostr(StrToFloat(x)/StrToFloat(Edit1.Text)); end;end;procedure TForm1.Button17Click(Sender: TObject);beginn:=2;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button18Click(Sender: TObject);beginn:=3;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button19Click(Sender: TObject);beginn:=4;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button20Click(Sender: TObject);beginx:=edit1.Text ;edit1.Text :=floattostr(sqr(strtofloat(x)));end;procedure TForm1.Button11Click(Sender: TObject);beginif (Edit1.Text='0') or (length(Edit1.Text)=1) thenEdit1.Text:=''elseEdit1.Text:=Copy(Edit1.Text,0,length(Edit1.Text)-1); end;procedure TForm1.Button21Click(Sender: TObject);beginedit1.Text :=floattostr(sin(strtofloat(edit1.Text )*(pi/180)));end;procedure TForm1.Button22Click(Sender: TObject);beginedit1.Text :=floattostr(cos(strtofloat(edit1.Text)*(pi/180)));end;procedure TForm1.Button23Click(Sender: TObject);beginedit1.Text :=floattostr(tan(strtofloat(edit1.Text)*(pi/180)));end;procedure TForm1.Button24Click(Sender: TObject);beginedit1.Text :=floattostr(arcsin(strtofloat(edit1.Text ))*(180/pi)); end;procedure TForm1.Button25Click(Sender: TObject);beginedit1.Text :=floattostr(arccos(strtofloat(edit1.Text ))*(180/pi));end;procedure TForm1.Button26Click(Sender: TObject);beginedit1.Text :=floattostr(ln(strtofloat(edit1.Text )));end;procedure TForm1.Button27Click(Sender: TObject);beginedit1.Text :=floattostr(log10(strtofloat(edit1.Text )));end;procedure TForm1.Button28Click(Sender: TObject);beginedit1.text:= floattostr(pi);end;procedure TForm1.Button29Click(Sender: TObject);beginedit1.Text :=floattostr(exp(strtofloat(edit1.Text ))) ;end;procedure TForm1.Button30Click(Sender: TObject); beginedit1.Text :=floattostr(sqrt(strtofloat(edit1.Text )) ); end;End.功能截图。
Delphi实现小计算器源码
//source源码unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, Buttons;typeTForm2 = class(TForm)soleplate: TPanel;nu1: TSpeedButton;nu2: TSpeedButton;nu3: TSpeedButton;op1: TSpeedButton;nu4: TSpeedButton;op2: TSpeedButton;nu7: TSpeedButton;nu8: TSpeedButton;nu9: TSpeedButton;display: TPanel;nu6: TSpeedButton;nu0: TSpeedButton;nu10: TSpeedButton;op5: TSpeedButton;nu5: TSpeedButton;op3: TSpeedButton;op4: TSpeedButton;procedure FormCreate(Sender: TObject);procedure nu1Click(Sender: TObject);procedure op1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm2: TForm2;Tign:Word;a,b:Real;q:Boolean;implementation{$R *.dfm}procedure TForm2.FormCreate(Sender: TObject);beginTign :=0;a:=0;b:=0;q:=False;end;procedure TForm2.nu1Click(Sender: TObject);beginif Form2.Tag=0 thendisplay.Caption:=display.Caption+(Sender as TSpeedButton).Caption else beginif Tag=10 thendisplay.Caption:='0'elsedisplay.Caption:=(Sender as TSpeedButton).Caption;Form2.Tag:=0;end;end;procedure TForm2.op1Click(Sender: TObject);beginForm2.Tag:=1;if q thenbegina:=StrToFloat(display.Caption);q:=not q;endelsebeginb:=StrToFloat(display.Caption);case Tign of0:display.Caption:=Format('%g',[a+b]);1:display.Caption:=Format('%g',[a-b]);2:display.Caption:=Format('%g',[a*b]);3:if b<>0thendisplay.Caption:=Format('%g',[a/b])elsebeginShowMessage('除数不能为0!');display.Caption;Format('%g',[a]);q:=False;end;4:beginb:=0;q:=False;end;end;a:=StrToFloat(display.Caption);end;Tign:=(Sender as TSpeedButton).Tag;end;end.//------------------------------------------------------------------------------- //form源码object Form2: TForm2Left = 0Top = 0Caption = #35745#31639#22120ClientHeight = 442ClientWidth = 537Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11 = 'Tahoma'Font.Style = []OldCreateOrder = FalseOnCreate = FormCreatePixelsPerInch = 96TextHeight = 13object soleplate: TPanelLeft = 154Top = 0Width = 249Height = 401TabOrder = 0object nu1: TSpeedButtonTag = 1Left = 32Top = 96Width = 23Height = 22Caption = '1'endobject nu2: TSpeedButton Tag = 2Left = 61Top = 96Width = 23Height = 22Caption = '2'OnClick = nu1Click endobject nu3: TSpeedButton Tag = 3Left = 96Top = 96Width = 23Height = 22Caption = '3'OnClick = nu1Click endobject op1: TSpeedButton Left = 136Top = 96Width = 23Height = 22Caption = '+'OnClick = op1Click endobject nu4: TSpeedButton Tag = 4Left = 32Top = 124Width = 23Height = 22Caption = '4'OnClick = nu1Click endobject op2: TSpeedButton Tag = 1Left = 136Top = 124Width = 23Height = 22Caption = '-'endobject nu7: TSpeedButton Tag = 7Left = 32Top = 152Width = 23Height = 22Caption = '7'OnClick = nu1Click endobject nu8: TSpeedButton Tag = 8Left = 61Top = 152Width = 23Height = 22Caption = '8'OnClick = nu1Click endobject nu9: TSpeedButton Tag = 9Left = 96Top = 152Width = 23Height = 22Caption = '9'OnClick = nu1Click endobject nu6: TSpeedButton Tag = 6Left = 96Top = 124Width = 23Height = 22Caption = '6'OnClick = nu1Click endobject nu0: TSpeedButton Left = 32Top = 180Width = 23Height = 22Caption = '0'endobject nu10: TSpeedButton Tag = 10Left = 61Top = 180Width = 23Height = 22Caption = '.'endobject op5: TSpeedButton Tag = 4Left = 96Top = 180Width = 23Height = 22Caption = '='OnClick = op1Click endobject nu5: TSpeedButton Tag = 5Left = 61Top = 124Width = 23Height = 22Caption = '5'OnClick = nu1Click endobject op3: TSpeedButton Tag = 2Left = 136Top = 152Width = 23Height = 22Caption = '*'OnClick = op1Click endobject op4: TSpeedButton Tag = 3Left = 136Top = 180Width = 23Height = 22Caption = '/'endobject display: TPanelLeft = 8Top = 16Width = 233Height = 41Alignment = taRightJustifyBorderStyle = bsSingleColor = clHighlightTextParentBackground = FalseTabOrder = 0endendend。
delphi开发工具计算器设计文档
2011开发工具综合设计论文一:设计意图:本次开发工具综合设计选用计算器为最终的设计题目,一是因为计算器是一个普遍使用的工具,另外学Delphi开发工具也让我觉得应该从简单到复杂来慢慢掌握Delphi开发工具的原理。
二:主要实现方法本次开发计算器主要采用Delphi开发工具实现,依次声明以下变量:第一个操作数x,string型第二个操作数y,string 型ca_operator,char型用来保存运算操作符布尔变量operated,boolean型,用来判断运算操作符按钮是否被按下xp,string型,xp用来存储复制粘贴的数mc,real型,mc用来存储数据tfch,integer型,tfch用来显示内存是否已经存储了数据等于1表示已经存储了,等于0表示尚未存储。
k: integer;//判断0被按下几次,用来保护不会输入‘0000000’这样的数。
de:integer;//判断等于号是否被按下temp: string;//用来暂时存储运算结果procedure calc (a,b:double;op:char) 声明一个进行计算的过程(1)在按下0到9这10个数字键时,采用如下的方法:对于‘0’键,首先判断操作符是否被按下,如果没有被按下,并且0已经被按下,则说明现在输入第一个操作数就将第一个操作数加上字符‘0’,再在Edit中显示出来。
如果没有被按下并且第一个操作数为空,咋清空edit1并且使x:=0,edit1显示x。
如果被按下,则说明现在按下的是第二个操作数,如果第一个操作数不为空并且第二个操作数不为0并且等于号没有被按下,则第二个操作数加上字符0,并且edit1加上字符0.如果第一个草组搜狐不为空且第二个操作数为0并且等号没有被按下,则使第二个操作数为0.如果第一个操作数不为空并且第二个操作数为空且等于号没有被按下,则第二个操作数置0,且edit1加上字符0.如果操作符被按下并且等于号也被按下,说明进行第二次运算,则清空两个操作数以及temp,edit1,操作符,operated,以及de,并且第一个操作数加上字符0,在Edit显示出来。
Delphi7的开发调试技巧及快捷键.
(转 Delphi7的开发调试技巧及快捷键Delphi 开发的调试技巧1、设置调试选项Delphi 主菜单。
【 Project 】 ->【 Options 】 , 或单击工程管理器中的【 Project Options 】按钮。
显示 Project Options,选择 Complier<1>选中 Debug Information :把调试信息嵌入到 DCU 单元文件,会加大编译后的DCU 文件,但不会影响最后生成的 exe 的大小和执行速度。
同时激活【 Search 】菜单中的【 Find Error 】命令。
当文件中包含调试信息并得到一个运行时错误 (run-time error, 记录下 Delphi 提供的 16进制地址,在【 Search 】->【 Find Error 】中输入, Delphi 将重新编译程序,并停留在产生错误的命令行。
<2>Local symbols:决定调试器能否看到在 Implementation 中定义的局部变量。
<3>Reference infoj选项 /Definition Only选项是否产生应用程序中对象标识符的引用信息。
信息和对象代码存在 dcu 文件中, 可以使用对象浏览器查看。
如果 Definition Only 选项同时选中,编译器将生成标识符定义位置的信息,能够激活对象浏览器的 Refenrence 页。
如果不选, Dcu 文件更小。
编辑器命令{$D} Debug Information{$L} Local Information{$Y} Symbol Information{$C} Assertions2、使用内部调试器<1> 命令行参数在【 Run 】->【 Parameters 】中设置<2>断点条件断点使源代码断点只有在满足某个条件时才有效。
在【 View 】->[Debug windows]->【 BreakPoints 】打开“BreakPoint List”对话框, 右击断点,从弹出菜单中选择属性。
delphi7银行家算法
delphi7银行家算法Delphi7是一种广泛应用于软件开发的集成开发环境,它提供了丰富的工具和功能,使得开发人员能够更加高效地编写和调试程序。
在Delphi7中,银行家算法是一种重要的算法,用于解决资源分配的问题。
本文将介绍Delphi7银行家算法的原理和应用。
银行家算法是由荷兰计算机科学家Edsger Dijkstra于1965年提出的,用于解决多进程并发执行时的资源分配问题。
在多进程环境中,每个进程都需要一定数量的资源才能完成任务。
然而,由于资源的有限性,如果不加以合理的分配和控制,就可能导致资源竞争和死锁的问题。
Delphi7银行家算法的核心思想是通过安全性检查来避免死锁的发生。
在算法中,系统维护了一个资源分配表和一个进程需求表。
资源分配表记录了系统中每个资源的总量、已分配数量和可用数量;进程需求表记录了每个进程对各个资源的需求量和已分配量。
通过比较进程的需求量和系统的可用资源量,可以判断是否能够满足进程的需求,从而避免死锁的发生。
Delphi7银行家算法的具体步骤如下:1. 初始化:将资源分配表和进程需求表初始化为系统中资源的总量和进程的需求量。
2. 安全性检查:从进程需求表中选择一个未完成的进程,比较其需求量和系统的可用资源量。
如果系统能够满足该进程的需求,就将该进程标记为完成,并将其已分配资源释放到系统中。
然后,再次进行安全性检查,直到所有进程都被标记为完成或者无法满足任何进程的需求。
3. 资源分配:如果安全性检查通过,即所有进程都能够得到所需的资源,系统将按照进程的需求量分配资源,并更新资源分配表和进程需求表。
Delphi7银行家算法的应用场景非常广泛。
例如,在操作系统中,可以使用该算法来管理进程的资源分配,确保每个进程都能够得到所需的资源,从而提高系统的稳定性和可靠性。
此外,在分布式系统和并行计算中,也可以使用该算法来协调多个节点或处理器之间的资源分配,以实现任务的并行执行和优化系统性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用delphi7实现简单的加减乘除,还有一些科学运算。
以下是一些源代码unit Unit1;interfaceusesWindows, Messages, SysUtils, V ariants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,math;typeTForm1 = 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;Edit1: TEdit;Button16: TButton;Button17: TButton;Button18: TButton;Button19: TButton;Button20: TButton;Button21: TButton;Button22: TButton;Button23: TButton;Button24: TButton;Button25: TButton;Button26: TButton;Button27: TButton;Button28: TButton;Button29: TButton;Button30: TButton;procedure Button13Click(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 Button14Click(Sender: TObject);procedure Button10Click(Sender: TObject);procedure Button12Click(Sender: TObject);procedure Button16Click(Sender: TObject);procedure Button15Click(Sender: TObject);procedure Button17Click(Sender: TObject);procedure Button18Click(Sender: TObject);procedure Button19Click(Sender: TObject);procedure Button20Click(Sender: TObject);procedure Button11Click(Sender: TObject);procedure Button21Click(Sender: TObject);procedure Button22Click(Sender: TObject);procedure Button23Click(Sender: TObject);procedure Button24Click(Sender: TObject);procedure Button25Click(Sender: TObject);procedure Button26Click(Sender: TObject);procedure Button27Click(Sender: TObject);procedure Button28Click(Sender: TObject);procedure Button29Click(Sender: TObject);procedure Button30Click(Sender: TObject); private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;x:string;n:integer;implementation{$R *.dfm}procedure TForm1.Button13Click(Sender: TObject); beginedit1.Text :=edit1.Text +'0';end;procedure TForm1.Button1Click(Sender: TObject); beginedit1.Text :=edit1.Text +'1';end;procedure TForm1.Button2Click(Sender: TObject); beginedit1.Text :=edit1.Text +'2';end;procedure TForm1.Button3Click(Sender: TObject); beginedit1.Text :=edit1.Text +'3';end;procedure TForm1.Button4Click(Sender: TObject); beginedit1.Text :=edit1.Text +'4';end;procedure TForm1.Button5Click(Sender: TObject); beginedit1.Text :=edit1.Text +'5';end;procedure TForm1.Button6Click(Sender: TObject); beginedit1.Text :=edit1.Text +'6';end;procedure TForm1.Button7Click(Sender: TObject); beginedit1.Text :=edit1.Text +'7';end;procedure TForm1.Button8Click(Sender: TObject); beginedit1.Text :=edit1.Text +'8';end;procedure TForm1.Button9Click(Sender: TObject);beginedit1.Text :=edit1.Text +'9';end;procedure TForm1.Button14Click(Sender: TObject);beginedit1.Text :=edit1.Text +'.';end;procedure TForm1.Button10Click(Sender: TObject);beginclose;end;procedure TForm1.Button12Click(Sender: TObject);beginedit1.Clear ;end;procedure TForm1.Button16Click(Sender: TObject);beginn:=1;x:=edit1.Text;edit1.Clear ;end;procedure TForm1.Button15Click(Sender: TObject);begincase n of1:edit1.Text :=floattostr(strtofloat(x)+strtofloat(edit1.Text )); 2:edit1.Text :=floattostr(strtofloat(x)-strtofloat(edit1.Text )); 3:edit1.Text :=floattostr(strtofloat(x)*strtofloat(edit1.Text )); 4:if StrToFloat(Edit1.Text)=0 thenbeginEdit1.Text:='error';Exit;endelseedit1.Text :=floattostr(StrToFloat(x)/StrToFloat(Edit1.Text)); end;end;procedure TForm1.Button17Click(Sender: TObject);beginn:=2;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button18Click(Sender: TObject);beginn:=3;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button19Click(Sender: TObject);beginn:=4;x:=edit1.Text ;edit1.Clear ;end;procedure TForm1.Button20Click(Sender: TObject);beginx:=edit1.Text ;edit1.Text :=floattostr(sqr(strtofloat(x)));end;procedure TForm1.Button11Click(Sender: TObject);beginif (Edit1.Text='0') or (length(Edit1.Text)=1) thenEdit1.Text:=''elseEdit1.Text:=Copy(Edit1.Text,0,length(Edit1.Text)-1); end;procedure TForm1.Button21Click(Sender: TObject);beginedit1.Text :=floattostr(sin(strtofloat(edit1.Text )*(pi/180)));end;procedure TForm1.Button22Click(Sender: TObject);beginedit1.Text :=floattostr(cos(strtofloat(edit1.Text)*(pi/180)));end;procedure TForm1.Button23Click(Sender: TObject);beginedit1.Text :=floattostr(tan(strtofloat(edit1.Text)*(pi/180)));end;procedure TForm1.Button24Click(Sender: TObject);beginedit1.Text :=floattostr(arcsin(strtofloat(edit1.Text ))*(180/pi)); end;procedure TForm1.Button25Click(Sender: TObject);beginedit1.Text :=floattostr(arccos(strtofloat(edit1.Text ))*(180/pi));end;procedure TForm1.Button26Click(Sender: TObject);beginedit1.Text :=floattostr(ln(strtofloat(edit1.Text )));end;procedure TForm1.Button27Click(Sender: TObject);beginedit1.Text :=floattostr(log10(strtofloat(edit1.Text )));end;procedure TForm1.Button28Click(Sender: TObject);beginedit1.text:= floattostr(pi);end;procedure TForm1.Button29Click(Sender: TObject);beginedit1.Text :=floattostr(exp(strtofloat(edit1.Text ))) ;end;procedure TForm1.Button30Click(Sender: TObject); beginedit1.Text :=floattostr(sqrt(strtofloat(edit1.Text )) ); end;End.功能截图。