rt,下面这句话原来正常,现在出现3处错误,为什么? 
  if (Copy(DBGrid1.Columns[iFieldCount].Title.Caption,Length(DBGrid1.Columns[iFieldCount].Title.Caption)-1,2) = '▼') or (Copy(DBGrid1.Columns[iFieldCount].Title.Caption,Length(DBGrid1.Columns[iFieldCount].Title.Caption)-1,2) = '▲') then==================================
[Error] Unit4.pas(62): Missing operator or semicolon //copy
[Error] Unit4.pas(62): Incompatible types: 'String' and 'TAction'//三角处
[Error] Unit4.pas(62): Incompatible types: 'String' and 'TAction'

解决方案 »

  1.   

    改成这样吧!
    if (Pos('▼',DBGrid1.Columns[iFieldCount].Title.caption)<>0) or 
       (Pos('▲',DBGrid1.Columns[iFieldCount].Title.caption)<>0) then
      

  2.   

    那我所有的copy都要改,可不可以不改呀,改了以后,下一个copy又报错,要全改,为什么那样会报错呀
      

  3.   


    to yzykjh(多米诺骨牌)  
    如果改掉的话,下面这句话,应怎么改,谢谢了
     DBGrid1.Columns[iFieldCount].Title.Caption := Copy(DBGrid1.Columns[iFieldCount].Title.Caption,1,Length(DBGrid1.Columns[iFieldCount].Title.Caption)-3);
      

  4.   

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);
    begin
       adoquery1.Sort:=column.Field.FieldName //排序
    end;
    关于倒序我太清楚。另外给你两承数。RightStr()和LeftStr()
    必须在Unit加StrUtils