注册 登录
编程论坛 Delphi论坛

[求助]请给解释几个语句的意思

erlin 发布于 2007-04-04 18:30, 693 次点击

procedure sort(var data:array of integer; n:integer);//这句里为什么括号里也有var
var
i,j,temp:integer;
begin
for j:=n-1 downto 1 do //这句是什么意思,这个for...downto的用法
for i:=0 to j-1 do
begin
if data[i]>data[i+1] then //这句书上没说,不太明白意思
begin
temp:=data[i]; //下面这3句最好给解释一下,这里为什么不用小括号?
data[i]:=data[i+1]; //
data[i+1]:=temp; //
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text <> '' then
begin
listbox1.Items.add(edit1.text);
count:=count-1;
label3.Caption:=inttostr(count);
if count=0 then
begin
button1.Enabled:=false;
button2.Enabled:=true;
end;
end;
edit1.SetFocus;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
listbox1.Clear;
count:=10;
label3.Caption:='10';
button1.Enabled:=true;
button2.enabled:=false;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
data:array[0..9] of integer;
i:integer;
begin
for i:=0 to 9 do
data[i]:=strtoint(listbox1.Items.strings[i]);//这里的strings和string有什么区别,在什么情况要用到
sort(data,10);
for i:=0 to 9 do
listbox1.Items.strings[i]:=inttostr(data[i]);
end;

end.

5 回复
#2
liuqiang_sy2007-04-04 20:22
书上的东西不一定要信的.有好多都是错误的.你自己调试一下.看能不能跑起来.
#3
anthony6342007-04-04 20:45


书上有说的,看不懂的不管先,看完再研究就懂了

procedure sort(var data:array of integer; n:integer);//引用传递
var
i,j,temp:integer;
begin
for j:=n-1 downto 1 do //从高到低,减一 dec(j)
for i:=0 to j-1 do //低到高inc(i)
begin
if data[i]>data[i+1] then //冒泡排序,前面大于后面哪个就交换
begin
temp:=data[i]; //下面这3句最好给解释一下,这里为什么不用小括号? 数组类型用[],
data[i]:=data[i+1]; //
data[i+1]:=temp; //
end;
end;
end;

#4
erlin2007-04-05 19:56

先感谢一下
这里的能用,可以通过,只是我对里面的一些句子不太明白.
3楼说的跟书上的差不多,甚至更简单.
哎,难道没人能给说详细点吗?最好给举个例子说明一下在别的情况下的用法.
为什么斑竹没有发言,是不是觉得问题太幼稚了.





难道不上学不掏钱就不能得到好的解答吗?

#5
nongen2007-04-07 08:34
找数据结构的书查一下。
#6
bytang2007-04-15 15:21
建议楼上的学学Object Pascal
1