马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
二维数组
定义1:
Type
数组类型名=Array[下标类型1, 下标类型2] of 基类型;
定义2:
Type
数组类型名=Array[下标类型1] of Array[下标类型2] of 基类型;
例题:学生小红和小明输入他们语数外成绩,算出总分。
使用新控件StringGrid来输入和显示表格式的数据。
放置StringGrid,并设置行列数(RowCount,ColCount),将Options的goEditing设为True,这样就可以键入数据了,form的Autosize设为True,这样窗口的大小就与StringGrid一致了,但StringGrid四周没有留白,因此先放置一个Panel,把StringGrid放到Panel中,并把Panel调整的略大。把Button放置在StringGrid的0,0格位置,并调整大小位置,使之像一个栅格。
在课后练习中,小甲鱼要大家设置StringGrid的颜色,这个Color和FixedColor很容易做到,但文字居中却做不到了,至少用SetWindowLong是无法实现的。
主要程序:var
Form1: TForm1;
name: Array[0..1] of String;
course: Array[0..2] of String;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
//SetWindowLong(StringGrid1.Handle, GWL_STYLE, GetWindowLong(StringGrid1.Handle, GWL_STYLE) or ES_CENTER);
//StringGrid1.refresh;
inputbox(
StringGrid1.Cells[0, 1] := '小明';
StringGrid1.Cells[0, 2] := '小红';
StringGrid1.Cells[1, 0] := '语文';
StringGrid1.Cells[2, 0] := '数学';
StringGrid1.Cells[3, 0] := '英语';
StringGrid1.Cells[4, 0] := '总成绩';
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
result: Array[1..2] of Integer;
begin
result[1]:= 0;
result[2]:= 0;
for i:= 1 to 2 do
for j:= 1 to 3 do
result[i]:= result[i] + StrToInt(StringGrid1.cells[j, i]);
StringGrid1.cells[4, 1]:= IntToStr(Result[1]);
StringGrid1.cells[4, 2]:= IntToStr(Result[2]);
end;
|