新手有关问题!能把有关问题说清楚并能通过运行小弟我就把小弟我全部的分都给你

新手问题!能把问题说清楚并能通过运行我就把我全部的分都给你!
这是我照书输入的代码,关于数据排序问题的.

代码如下:

unit   Unit1;

interface

uses
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,
    Dialogs,   StdCtrls,   Grids,   DBGrids,   DB,   ADODB;

type
    TForm1   =   class(TForm)
        ADOConnection1:   TADOConnection;
        ADOTable1:   TADOTable;
        DataSource1:   TDataSource;
        DBGrid1:   TDBGrid;
        GroupBox1:   TGroupBox;
        R1:   TRadioButton;
        R2:   TRadioButton;
        B1:   TButton;
        ListBox1:   TListBox;
        procedure   FormCreate(Sender:   TObject);
        procedure   B1Click(Sender:   TObject);
    private
        {   Private   declarations   }
    public
        {   Public   declarations   }
    end;

var
    Form1:   TForm1;

implementation
function   tform1.getsortmode:string;//这里错误.
if   (R1.check1)   then
  result:= 'desc '
  else
    result:= 'asc ';
    end;
    function   tform1.getfieldnames:string;//这里也错误
    result:=listbox1.items[listbox1.itemindex];
    end;

{$R   *.dfm}

procedure   TForm1.FormCreate(Sender:   TObject);
begin
  ADOconnection1.getfieldnames( '公司 ',listbox1.Items);
end;

procedure   TForm1.B1Click(Sender:   TObject);
begin
  ADOtable1.Sort:=getfieldnames+ ' '+getsortmode;//这里说getfirldnames和getsortmode没有定义.
end;

end.
请问这段代码到底错在那?为什么?谢谢了!


------解决方案--------------------
1.补上 begin ... end

function tform1.getsortmode:string;//这里错误.
begin //这
if (R1.check1) then
result:= 'desc '
else
result:= 'asc ';
end;
end; //这

function tform1.getfieldnames:string;//这里也错误
begin //这
result:=listbox1.items[listbox1.itemindex];
end;


2. 补全函数的声明:在 TForm1的声明部分

type
TForm1 = class(TForm)
....{略}
private
function getsortmode:string; //这
function tform1.getfieldnames:string;//这
....{略}


另,推荐买正版书。