帮忙看看这段程序,我用了函数ASC()把普通字符转换成ASCII码来判断输入的信息是否都是数值行,如果不是就提示必须输入数值,可是程序运行时总是提示我没有定义‘ASC’,我不知道为什么有这个错误,难道系统本身的函数也需要定义吗?请各位帮忙看看,谢谢!
procedure  ifNum(CDSName:TclientDataSet;Fname:string);
var
  len,i:integer;             //len表示字段长度, i为循环计数变量
  X,aa,curFname:string;      //X:取得的单个字符;aa为当前输入的字段值;curFname:当前数据字段名
begin
  aa:=CDSName.fieldbyname(Fname).asstring;
  len:=length(aa);
    if len >0 then
     begin
         i:=1;
         for i:=1 to len do
            begin
               x:=copy(aa,i,1);
               if (Asc(x)<48) or (Asc(x)>57) then  //不是0-9之间的数字
                   begin
                      curFname := CDSName.FieldByName(Fname).DisplayName;
                      MessageDlg(curFname+'必须为数值型,请重新录入!', mtconfirmation, [mbOK], 0);
                      Abort;
                   end;
            end;
      end;
end;