下面原文照抄一本delphi教材上的,但总是不会排序输出,问题在哪里,请大侠们指教小的一下,不胜感激!type
 queue =array[1..10] of integer;
 procedure sort1(var queue1:queue;n:integer); //排序过程
 procedure swap(var x,y:integer);        //两个数交换过程var
  Form1: TForm1;
  i:integer;    //统计输入数据个数
  dataarray:queue;   //存放待排序数据数组implementation
 {$R *.dfm}
//过程sort1对queue1数组的前n个数排序
procedure sort1(var queue1:queue;n:integer);
var k,j:integer;
    flag:boolean;
begin
    for k:=1 to n-1 do;  //K控制扫描的趟数
        begin
            flag:=true;
            for j:=1 to n-k do  //第K趟扫描的两两比较次数
                if queue1[j]>queue1[j+1] then
                    begin
                        flag:=false;
                        swap(queue1[j],queue1[j+1]);
                    end;
            if flag then
                exit;
    end;
end;//过程swap交换X、Y的值,X和Y是变量参数
procedure swap(var x,y:integer);
var temp:integer;
begin
    temp:=x;
    x:=y;
    y:=temp;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
    i:=i+1;  //每输入一个数i加1
    //将在dataedit中输入的数赋给dataarray的第i个元素
    dataarray[i]:=strtoint(edit1.Text);
    //将dataedit.text添加到列表框datalist中
    listbox1.Items.Add(edit1.Text);
    edit1.text:='';
    edit1.SetFocus ;
end;procedure TForm1.Button2Click(Sender: TObject);
var j:integer;
begin
    label2.Caption :='这组数从小到大排列为:'+chr(13);
    //调用sort1对dataarray中和前i个元素排序
    sort1(dataarray,i);
    for j:= 1 to i do   //输出排序后数据
        label2.Caption :=label2.Caption +'      '
        +inttostr(dataarray[j]);
        i:=0;
end;procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;end.

解决方案 »

  1.   

    错误好像很多啊 type后为什么没有end;结束 
    Butoton,Label,Listbox,Button1Click没有声明 
    估计你button控件也没拖进窗体里
      

  2.   

    for k:=1 to n-1 do;  //K控制扫描的趟数 多了冒号(;)
      

  3.   

    for k:=1 to n-1 do;  //K控制扫描的趟数 多了冒号(;)
      

  4.   

    好,谢谢cauxiaobai08兄弟,我搞了两天,老是没查出来。
      

  5.   

    再顺便问一下,用type声明类型时,怎么有时候要跟end,有时候又不用呢?
      

  6.   

    type 声明类,肯定是要end来结尾的,有的时候 不用,可能是已经包含了end了,否则肯定会报错的。
      

  7.   

    没弄错的话应该是每个类或者接口的定义都要有个end;是相互之间分隔开来
     要不然不知道哪个是哪个 也就是如下结构type
      //class1
      定义类1
      end;
      //class2
      定义类2
      end;
      //interface1
      定义接口1
      end;
      //interface2
      定义接口2
      end;