关于LOCATE的用法,该怎么解决

关于LOCATE的用法LOCATE的第一个参数是字段名,但是如果字段名是变量,该怎么写?比如:Size:Query1.Fields[2

关于LOCATE的用法
LOCATE的第一个参数是字段名,但是如果字段名是变量,该怎么写?
比如:


Size:=Query1.Fields[2].displayname;
ColorCode:=Query1.Fields[3].displayname;
if Query.Locate(ColorCode;Size,VarArrayOf(['黑色','M']),[]) then

我知道上面的写法有错,该怎么改?
请诸位指点!
[解决办法]
var
  size, ColorCode: string;
  str: string;
begin
  size := qry1.Fields[2].displayname;
  ColorCode := qry1.Fields[3].displayname;
  if qry1.Locate(ColorCode + ';' + size, VarArrayOf(['黑色', 'M']), []) then
end;