3个回答
展开全部
从小到大排列,用个简单的冒泡排序法就好了。
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
tmp:Double;
begin
for i:=0 to StringGrid1.RowCount-2 do
begin
if StringGrid1.Cells[0,i]='' then continue;
for j:=i to StringGrid1.RowCount -2 do
begin
if StrToFloat(StringGrid1.Cells[0,j]) > StrToFloat(StringGrid1.Cells[0,j+1]) then
begin
tmp:=StrToFloat(StringGrid1.Cells[0,j+1]);
StringGrid1.Cells[0,j+1] := StringGrid1.Cells[0,j];
StringGrid1.Cells[0,j]:=FloatToStr(tmp);
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
tmp:Double;
begin
for i:=0 to StringGrid1.RowCount-2 do
begin
if StringGrid1.Cells[0,i]='' then continue;
for j:=i to StringGrid1.RowCount -2 do
begin
if StrToFloat(StringGrid1.Cells[0,j]) > StrToFloat(StringGrid1.Cells[0,j+1]) then
begin
tmp:=StrToFloat(StringGrid1.Cells[0,j+1]);
StringGrid1.Cells[0,j+1] := StringGrid1.Cells[0,j];
StringGrid1.Cells[0,j]:=FloatToStr(tmp);
end;
end;
end;
end;
展开全部
弄一数据库,搞一个表,字段为数字类型,界面用一个DBGRID,ADO数据连接组件中,指明排序方式就行了。冒泡排序,还要重写StringGrid挺麻烦的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你两个图没区别啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询