delphi程序.docx

上传人:b****5 文档编号:3565285 上传时间:2022-11-23 格式:DOCX 页数:15 大小:16.94KB
下载 相关 举报
delphi程序.docx_第1页
第1页 / 共15页
delphi程序.docx_第2页
第2页 / 共15页
delphi程序.docx_第3页
第3页 / 共15页
delphi程序.docx_第4页
第4页 / 共15页
delphi程序.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

delphi程序.docx

《delphi程序.docx》由会员分享,可在线阅读,更多相关《delphi程序.docx(15页珍藏版)》请在冰豆网上搜索。

delphi程序.docx

delphi程序

239页1题小时钟

procedureTForm1.Timer1Timer(Sender:

TObject);

var

xt,yt:

integer;

h,m,s,ms:

word;

begin

decodetime(time,h,m,s,ms);

xt:

=paintbox1.clientwidthdiv2;

yt:

=paintbox1.clientheightdiv2;

paintbox1.refresh;

paintbox1.canvas.moveto(xt,yt);

paintbox1.canvas.pen.width:

=3;

paintbox1.canvas.lineto(xt+round(sin((60*h+m)/(12*60)*2*pi)*100),

yt-round(cos((60*h+m)/(12*60)*2*pi)*100));

paintbox1.canvas.moveto(xt,yt);

paintbox1.canvas.pen.width:

=2;

paintbox1.canvas.lineto(xt+round(sin(m/60*2*pi)*140),

yt-round(cos(m/60*2*pi)*140));

paintbox1.canvas.moveto(xt,yt);

paintbox1.canvas.pen.width:

=1;

paintbox1.canvas.lineto(xt+round(sin(s/60*2*pi)*180),

yt-round(cos(s/60*2*pi)*180));

end;

end.

239页3题求两点间的距离

procedureTForm1.Button1Click(Sender:

TObject);

begin

paintbox1.Refresh;

formpaint(sender);

end;

procedureTForm1.FormPaint(Sender:

TObject);

var

xt,yt:

integer;

ax,ay,bx,by:

integer;

begin

xt:

=paintbox1.ClientWidthdiv2;

yt:

=paintbox1.Clientheightdiv2;

paintbox1.canvas.MoveTo(xt,0);

paintbox1.canvas.lineTo(xt,2*yt);

paintbox1.canvas.MoveTo(0,yt);

paintbox1.canvas.lineTo(2*xt,yt);

ax:

=strtoint(edit1.text);

ay:

=strtoint(edit2.text);

bx:

=strtoint(edit3.text);

by:

=strtoint(edit4.text);

edit5.Text:

=floattostr(sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)));

paintbox1.canvas.MoveTo(xt+ax*10,yt-ay*10);

paintbox1.canvas.lineTo(xt+bx*10,yt-by*10);

end;

end.

226页5题?

var

Form1:

TForm1;

type

studentrecord=record

xh,xm:

string[6];

xb:

boolean;

yy,sx,dz:

integer;

end;

implementation

{$R*.dfm}

procedureTForm1.Button1Click(Sender:

TObject);

vart:

studentrecord;

f:

fileofstudentrecord;

size:

integer;

begin

t.xh:

=edit1.Text;

t.xm:

=edit2.Text;

t.sx:

=strtoint(edit3.Text);

t.yy:

=strtoint(edit4.Text);

t.dz:

=strtoint(edit5.Text);

ifradiobutton1.Checkedthen

t.xb:

=true

else

t.xb:

=false;

assignfile(f,'c:

\mydocuments\stu.dat');

iffileexists('c:

\mydocuments\stu.dat')then

reset(f)

else

rewrite(f);

size:

=filesize(f);

seek(f,size);

write(f,t);

closefile(f);

edit1.Text:

='';

edit2.Text:

='';

edit3.Text:

='';

edit4.Text:

='';

edit5.Text:

='';

end;

procedureTForm1.Button2Click(Sender:

TObject);

begin

close;

end;end.

226页?

var

Form1:

TForm1;

type

studentrecord=record

xh,xm:

string[6];

xb:

boolean;

yy,sx,dz:

integer;

end;

implementation

{$R*.dfm}

procedureTForm1.FormCreate(Sender:

TObject);

vart:

studentrecord;

f:

fileofstudentrecord;

xingbie:

string;

begin

assignfile(f,'c:

\mydocuments\stu0.dat');

reset(f);

whilenoteof(f)do

begin

read(f,t);

ift.xbthen

xingbie:

='男'

else

xingbie:

='女';

listbox1.Items.Add(t.xh+''+t.xm+''+xingbie+''+inttostr(t.sx)+

''+inttostr(t.yy)+''+inttostr(t.dz));

end;

closefile(f);

end;

procedureTForm1.Button1Click(Sender:

TObject);

vart:

studentrecord;

f,f1:

fileofstudentrecord;

begin

assignfile(f,'c:

\mydocuments\stu.dat');

reset(f);

assignfile(f1,'c:

\mydocuments\stu0.dat');

rewrite(f1);

whilenoteof(f)do

begin

read(f,t);

if(t.sx<60)or(t.yy<60)or(t.dz<60)then

write(f1,t);

end;

closefile(f);

closefile(f1);

end;

procedureTForm1.Button2Click(Sender:

TObject);

begin

close;

end;

end.

166页22题素数

procedureTForm1.Button1Click(Sender:

TObject);

type

sushuset=setofbyte;

var

sushu:

sushuset;

i,j,n,m,k:

longword;

s,s0:

string;

begin

n:

=strtoint(edit1.text);

m:

=strtoint(edit2.text);

ifnmod2=0thenn:

=n+1;

k:

=m-n;

ifk>255then

showmessage('范围太大,请重新输入区间端点!

')

else

begin

sushu:

=[0..k];

fori:

=2ton-1do

forj:

=ntomdo

ifjmodi=0thensushu:

=sushu-[j-n];

fori:

=ntomdiv2do

forj:

=i+1tomdo

ifjmodi=0thensushu:

=sushu-[j-n];

s:

='';

s0:

='';

fori:

=ntomdo

ifi-ninsushuthen

begin

iflength(s0+''+inttostr(i))>60then

begin

s:

=s+s0+chr(13);

s0:

='';

end;

s0:

=s0+''+inttostr(i);

end;

s0:

=s0+''+inttostr(i);

end;

s:

=s+s0;

label1.caption:

=s;

groupbox1.Top:

=(panel1.Top-groupbox1.height)div2;

end;

procedureTForm1.FormCreate(Sender:

TObject);

begin

groupbox1.Top:

=(panel1.Top-groupbox1.height)div2;

end;

procedureTForm1.Edit1KeyPress(Sender:

TObject;varKey:

Char);

varj:

setofchar;

begin

j:

=['0'..'9',#8];

ifnot(keyinj)thenkey:

=#0;

end;

end.

148页12题整除的数

implementation

{$R*.dfm}

functiond7(x:

integer):

boolean;

begin

ifxmod7=0thend7:

=true

elsed7:

=false;

end;

functiond17(x:

integer):

boolean;

begin

ifxmod17=0thend17:

=true

elsed17:

=false;

end;

procedureTForm1.FormActivate(Sender:

TObject);

var

n:

integer;

begin

forn:

=1000to4000do

ifd7(n)andd17(n)thenmemo1.Lines.Add(inttostr(n));

end;

end.

148页17题求斐波那契数列问题

implementation

{$R*.dfm}

functionfib(n:

integer):

int64;

begin

casenof

1,2:

fib:

=1;

else

fib:

=fib(n-1)+fib(n-2);

end;

end;

procedureTForm1.Button1Click(Sender:

TObject);

var

k:

integer;

begin

memo1.lines.clear;

fork:

=1tostrtoint(edit1.text)do

memo1.lines.add(format('%2d%3d',[k,fib(k)]));

end;

end.

120页10题,判断是否是闰年

procedureTForm1.Button1Click(Sender:

TObject);

var

y,m:

integer;

begin

y:

=strtoint(edit1.text);

m:

=strtoint(edit2.text);

label3.Caption:

='';

if((ymod4=0)and(ymod100<>0))or(ymod400=0)then

label3.Caption:

=edit1.text+'年是闰年,'

else

label3.Caption:

=edit1.text+'年不是闰年,';

casemof

3,4,5:

Label3.Caption:

=Label3.Caption+edit2.Text+'月份是春天,';

6,7,8:

Label3.Caption:

=Label3.Caption+edit2.Text+'月份是夏天,';

9,10,11:

Label3.Caption:

=Label3.Caption+edit2.Text+'月份是秋天,';

else

Label3.Caption:

=Label3.Caption+edit2.Text+'月份是冬天,';

end;

casemof

1,3,5,7,8,10,12:

Label3.Caption:

=Label3.Caption+'共有31天,';

4,6,9,11:

Label3.Caption:

=Label3.Caption+'共有30天,';

else

if((ymod4=0)and(ymod100<>0)or(ymod400=0))then

Label3.Caption:

=Label3.Caption+'共有29天,'

else

Label3.Caption:

=Label3.Caption+'共有28天,';

end;

end;

end.

120页11题求和的

procedureTForm1.Button1Click(Sender:

TObject);

var

n,k,j:

integer;

s:

int64;

begin

n:

=strtoint(edit1.text);

j:

=0;

s:

=0;

fork:

=1tondo

begin

j:

=j+k;

s:

=s+j;

end;

panel2.Caption:

=format('s=%d',[s]);

edit1.setfocus;

end;

procedureTForm1.Edit1KeyPress(Sender:

TObject;varKey:

Char);

varb:

boolean;

begin

b:

=(key<>#8)and(key<#48)or(key>#57);

ifbthenkey:

=#0;

end;

end.

120页12题男人,女人,小孩各有多少人

procedureTForm1.Button1Click(Sender:

TObject);

var

x,y,z:

integer;

p:

string;

begin

memo1.clear;

forx:

=0to16do

fory:

=0to24do

begin

z:

=30-x-y;

if3*x+2*y+z/1=50then

begin

p:

=format('%3d%3d%3d',[x,y,z]);

memo1.lines.add(p);

end;

end;

end;

end.

98页2题求长方体的表面积

procedureTForm1.Button1Click(Sender:

TObject);

var

s,l,k,h:

double;

begin

l:

=strtofloat(edit1.text);

k:

=strtofloat(edit2.text);

h:

=strtofloat(edit3.text);

s:

=2*l*k+2*k*h+2*l*h;

label1.Caption:

=floattostr(s);

end;

end.

98页5题计算圆的面积和周长

procedureTForm1.Edit1KeyPress(Sender:

TObject;varKey:

Char);

var

r:

real;

b:

boolean;

begin

b:

=(key<>#8)and(key<>'.')and(key<>#13)and(key<#48)or(key>#57);

ifbthenkey:

=#0;

ifkey=#13then

begin

ifedit1.text=''thenedit1.text:

='0';

r:

=strtofloat(edit1.text);

ifradiobutton1.Checkedthen

label1.Caption:

=format('圆的面积为:

%f',[pi*r*r]);

ifradiobutton2.Checkedthen

label1.Caption:

=format('圆的周长为:

%f',[2*pi*r]);

ifradiobutton3.Checkedthen

label1.Caption:

=format('圆的面积为:

%f'+chr(13)+'周长为:

%f',[pi*r*r,2*pi*r]);

edit1.SelectAll;

end;

end;

procedureTForm1.RadioButton1Click(Sender:

TObject);

var

sender0:

tobject;

key:

char;

begin

sender0:

=edit1;

key:

=#13;

form1.edit1keypress(sender0,key);

end;

procedureTForm1.RadioButton2Click(Sender:

TObject);

var

sender0:

tobject;

key:

char;

begin

sender0:

=edit1;

key:

=#13;

form1.edit1keypress(sender0,key);

end;

procedureTForm1.RadioButton3Click(Sender:

TObject);

var

sender0:

tobject;

key:

char;

begin

sender0:

=edit1;

key:

=#13;

form1.edit1keypress(sender0,key);

end;

end.

98页6题统计奇数和偶数的个数

procedureTForm1.Button1Click(Sender:

TObject);

var

k,j,n:

word;

begin

k:

=0;

n:

=combobox1.items.count;

forj:

=1tondo

ifstrtoint(combobox1.items[j-1])mod2=0then

k:

=k+1;

label1.caption:

=format('共有:

'+#13+'%d个偶数,'+#13+'%d个奇数。

',[k,n-k]);

end;

procedureTForm1.Button2Click(Sender:

TObject);

begin

combobox1.items.clear;

end;

procedureTForm1.ComboBox1KeyPress(Sender:

TObject;varKey:

Char);

begin

if(key=#13)and(combobox1.text<>'')then//按键后接收输入的选项

begin

combobox1.items.insert(0,combobox1.text);//按键后移去选项

combobox1.selstart:

=0;

combobox1.text:

='';

end;

ifkey=#27then

ifcombobox1.itemindex<>-1then

combobox1.items.Delete(combobox1.itemindex);

end;

end.

98页8题设置倒计时的时间,并进行倒计时

procedureTForm1.Timer1Timer(Sender:

TObject);

var

m,n,s,h:

integer;

begin

timer1.Tag:

=timer1.Tag-1;

m:

=timer1.Tag;

ifm<0then

begin

timer1.enabled:

=false;

showmessage('预定的时间到了!

');

edit1.Text:

='0';

end

else

begin

s:

=m;

n:

=sdiv60;

s:

=smod60;

h:

=ndiv60;

n:

=nmod60;

maskedit1.text:

=format('%d:

%d:

%d',[h,n,s]);

ifn<>strtoint(edit1.text)thenedit1.Text:

=inttostr(n);

end;

end;

end.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1