第七章
7.4 求1~200这200个数的和,当和大于10000时结束计算。(要求使用转向语句) 答:设计界面:
运行界面:
代码: unit Unit1;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type
TForm1 = class(TForm) Label1: TLabel;
procedure FormCreate(Sender: TObject); private
{ Private declarations } public
{ Public declarations } end; var
Form1: TForm1; sum, n : integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
sum := 0; n := 0;
repeat
n := n + 1;
sum := sum + n;
if (sum > 10000) then break; until n >= 200;
form1.Label1.Caption := '总和为' + IntToStr(sum); end; end.
第八章
8.8 编写函数,输出100~500之间所有能同时被3和13整除的数。 答:设计界面:
运行界面:
代码: unit Unit1;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type
TForm1 = class(TForm) Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
Function checkNum(num:integer):boolean; public
{ Public declarations } end; var
Form1: TForm1;
implementation
{$R *.dfm}
Function TForm1.checkNum(num:integer):boolean; var n :boolean; begin
if (num mod 3 = 0) And (num mod 13 = 0) then n := true else
n := false;
result := n; end;
procedure TForm1.FormCreate(Sender: TObject); var i : integer; var out : string; begin
for i := 100 to 500 do begin
if checkNum(i) then
out := out + ' ' + IntToStr(i); end;
form1.Label1.Caption := out; end; end. 第九章
9.2 打开对话框组件和打开图片对话框组件有什么异同点? 答:两者都会打开一个对话框用于选择电脑本地上的文件; 不同的是前者可以选择全部类型的文件,而后者只可以选择图片类型的文件,并且可以预览图片。
第十章
10.7 菜单命令项与工具栏按钮的单击事件中的代码是否可以关联?如何关联? 答:可以关联,将工具栏按钮ToolButton的Style属性设置为tbsDropDown,然后在MenuItem属性中选择对应的菜单项即可。
第十一章
11.4 调用子窗体的close方法时是否可关闭该子窗体?若不能,需要怎么做?
答:调用close方法只能最小化窗口,如果要真正关闭,需要调用free方法,早子窗体的OnClose事件中使用代码Action :=CaFree;把Action动作参数设定为CaFree。
第十二章
12.3 使用红色的画笔在窗体中绘制一个半径为5的圆,并且用黄色来填充圆的内部。 答:设计界面:
运行界面:
代码: unit Unit1;
interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type
TForm1 = class(TForm)
procedure FormPaint(Sender: TObject); private
{ Private declarations }
public
{ Public declarations } end; var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject); var r, x, y:integer; begin r := 5; x := 80; y := 50;
Canvas.Pen.Color := clred; Canvas.Pen.Width :=1;
Canvas.Brush.Color := clyellow; Canvas.Ellipse(x, y, x+r*2, y+r*2); end; end.
第十三章
13.3 打开一个文本文件有几种方法?区别是什么? 答:有3种打开文件的方法:
(1) 对于文本文件,Reset过程以只读方式打开一个文件,并将文件的指针移动到文件开
头。对于类型文件和无类型文件,Reset过程以可读写方式打开文件。
(2) Rewrite过程以写的方式创建并打开一个新文件,若该文件已经存在,此操作将使文
件被覆盖。对于一个已打开的文件,则先关闭文件,并重新创建一个新文件覆盖原有文件,文件指针设置到开头处。
(3) Append过程打开一个已存在的文本文件,并以追加的方式在文件末尾添加文本。
第十四章
14.4 使用Database DeskTop设计如表14-5所示的数据表,并创建简单的应用程序完成数据的浏览和编辑功能。
表14-5 数据表字段设置说明
字段名 Id Name Price Count 字符型 字符型 数值型 短整型 类型 4 20 长度 说明 产品编号 产品名称 产品单价 产品库存量