ObjectPascal编程基础讲义_第1页
ObjectPascal编程基础讲义_第2页
ObjectPascal编程基础讲义_第3页
ObjectPascal编程基础讲义_第4页
ObjectPascal编程基础讲义_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ObjectPascal编程基础讲义项目文件-主程序programProject1;

usesForms,Unit1in'Unit1.pas'{Form1};

{$R*.res}

beginApplication.Initialize;Application.CreateForm(TForm1,Form1);Application.Run;end.

单元文件单元文件unitUnit1;interfaceusesWindows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls;typeTForm1=class(TForm)Label1:TLabel;Edit1:TEdit;Label2:TLabel;Edit2:TEdit;Edit3:TEdit;单元文件Button1:TButton;Button2:TButton;procedureButton1Click(Sender:TObject);procedureButton2Click(Sender:TObject);private{Privatedeclarations}public{Publicdeclarations}end;

varForm1:TForm1;

implementation{$R*.dfm}单元文件procedureTForm1.Button1Click(Sender:TObject);varsno,sname:string;beginsno:=edit1.Text;sname:=edit2.Text;edit3.Text:='welcometodelphi:'+sno+sname;end;procedureTForm1.Button2Click(Sender:TObject);beginForm1.Close;end;end.

变量说明procedureTForm1.Button1Click(Sender:TObject);vareno,ename:String;//字符串型(隐含最大长度256个字符)age:Integer;//整型

sal:Real;//实型married:Boolean;//布尔型ch:Char;//字符型,变量只存放一个字符cnt:word;//无符号16位整型begin

…end;

运算符ObjectPascal常用的运算符:算术运算符:+、-、*、/、div(整除)、mod(求余)布尔运算符:and(与)、or(或)、not(非)字符串运算符:+(字符串拼接)集合运算符:+(并)、-(差)、*(交)、in(属于)关系运算符:=、<>(不等于)、>、<、<=、>=控制语句-分支语句If条件then语句1else语句2;在第一个编辑框中输入星期几,然后按OK按钮,如果输入的是saturday或sunday,则在第2个编辑框中显示一条信息,并把窗体变黄。控制语句-分支语句procedureTForm1.Button1Click(Sender:TObject);beginif(Edit1.text='saturday')or(Edit1.text='sunday')thenbeginedit2.text:='Whyareyouworkingtoday!';//显示一条信息

Form1.Color:=clYellow;//将窗体颜色置为黄色

endelsebeginedit2.text:='workday';Form1.Color:=clBtnFace;//将窗体颜色置为隐含颜色

end;end;条件语句嵌套例条件语句嵌套procedureTForm1.Button1Click(Sender:TObject);vargrade:integer;begingrade:=strtoint(edit1.Text);//将输入的分数赋值给变量gradeif(grade>=85)and(grade<=100)thenedit2.Text:='优秀'

elseif(grade>=60)and(grade<85)then//语句嵌套

edit2.Text:='通过'

elseif(grade>=0)and(grade<60)then//再次嵌套

edit2.Text:='不通过'

elseedit2.Text:='成绩有误';end;设置多分支if(grade>=85)and(grade<=100)thenedit2.Text:='优秀'//分支1elseif(grade>=60)and(grade<85)thenedit2.Text:='通过'//分支2elseif(grade>=0)and(grade<60)thenedit2.Text:='不通过'//分支3elseedit2.Text:='成绩有误';//其他分支while循环procedureTForm1.Button1Click(Sender:TObject);vari,n,sum:integer;beginsum:=0;i:=1;n:=strtoint(edit1.Text);//读入正整数nwhilei<=ndo//当循环beginifodd(i)thensum:=sum+i;i:=i+1;end;edit2.Text:=inttostr(sum);//将结果在编辑框中显示end;For循环procedureTForm1.Button1Click(Sender:TObject);vari,j:integer;beginedit2.text:='';//清空edit2j:=StrToInt(edit1.text);读入edit1中的值

fori:=1tojdoedit2.text:=edit2.text+IntToStr(i);end;异常处理procedureTForm1.OkClick(Sender:TObject);vari:integer;beginedit2.text:='';tryfori:=1tostrtoint(edit1.text)doedit2.text:=edit2.text+inttostr(i);

exceptshowmessage('输入有错');

exit;

end;end;数组implementation{$R*.dfm}varcount:integer=1;//此处定义的变量在单元中是全程变量

array1:array[1..10]ofinteger;

procedureTForm1.Button1Click(Sender:TObject);“输入确认”vari,j,temp:integer;beginifcount=1thenedit2.Text:='';//当输入第1个数时,输出编辑框清空

array1[count]:=strtoint(edit1.Text);//读入的数据存入数组

edit1.Text:='';//数据读入后,编辑框清空

edit1.SetFocus;//将光标置于输入编辑框数组

count:=count+1;//计数器加1

ifcount>10then//如果已输入10个数,开始排序输出

begin//输出处理开始fori:=1to9do//排序

forj:=1to10-idoif(array1[j]>array1[j+1])thenbegintemp:=array1[j];array1[j]:=array1[j+1];array1[j+1]:=temp;end;

数组fori:=1to10do//输出

edit2.Text:=edit2.Text+inttostr(array1[i])+',';count:=1;end;//输出处理结束label2.Caption:=inttostr(count);//编辑框下显示要输入第几个数end;end.记录type

TEmployee=record//定义一个职工记录类型

eno:string[5];//职工号

ename:String[10];//

职工名

age:integer;//

年龄

sal:Real;//工资

marriedBoolean;//

婚否

end;

varemp1,emp2:TEmployee;emp1.age:=23;edit1.text:=emp1.ename;文件文件-定义记录类型implementation{$R*.dfm}typeTEmpRec=record//定义一个职工记录类型

ename:String[10];//定长字符串age:integer;sal:real;end;文件-打开文件var//定义单元内的全局变量

emprec:TEmprec;//定义一个记录型变量

EmpFile:TEmpRec;//定义文件变量

last:longint;//定义一个长整型变量,

procedureTForm1.Button3Click(Sender:TObject);begin//写功能区中的打开文件tryAssignFile(EmpFile,'d:\emp.$$$');//将一个文件名指定给文件型变量。//此后该变量即代表一个文件

reset(EmpFile);//打开已有文件(若文件不存在将发生例外转移文件-打开文件last:=(EmpFIle);//取文件大小

seek(Emp);//将指针移到文件尾

exceptrewrite(EmpFile);//创建并打开新文件

end;end;文件-写procedureTForm1.Button1Click(Sender:TObject);Begin//写文件emprec.ename:=edit1.Text;emprec.age:=strtoint(edit2.Text);emprec.sal:=strtofloat(edit3.Text);

write(Emp);//将职工记录写入文件

edit1.Clear;//清除编辑框(调用edit的clear方法)

edit2.Clear;edit3.Clear;end;关闭文件procedureTForm1.Button5Click(Sender:TObject);//写功能区中的关闭文件beginclosefile(EmpFile);//关闭文件end;读文件procedureTForm1.Button2Click(Sender:TObject);beginifnoteof(EmpFile)then//函数eof判断是否已到文件尾

beginread(Emp);//读一个记录

edit4.text:=emprec.ename;edit5.text:=inttostr(emprec.age);edit6.text:=floattostr(emprec.sal);endelseshowmessage('文件读完');end;程序块程序块可分为两部分:可选的声明区(在语句区之前)语句区(begin…end)声明区变量声明(var)常量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论