我设置了自动过滤,但如果过滤的内容包含:'(',')','<','>'....这个的符号过滤器就提示表达式出错,这是一个BUG,请问高手如何解决?请附代码。
我跟踪了 GetLexeme里面的ReadWord:
function ReadWord(S: String; Pos: Integer): String;
var
c: Char;
NextPos: Integer;
begin
Result := '';
while True do
begin
c := CharAtPos(S, Pos);
if (c < #32) or (c in [' ','(',')','>','<','=','!','~','&','|','.',',','''','"','+','-']) then
Exit; //这里就退出了,但问题不止是这里
NextPos := NextCharIndex(S,Pos);
Result := Result + Copy(S,Pos,NextPos-Pos);
Pos := NextPos;
end;
end;function ReadValues(S: String; var Pos: Integer; PreferCommaForList: Boolean): Variant;
var
i: Integer;
vArr: Variant;
begin
i := 0;
vArr := VarArrayCreate([0, 0], varVariant);
while True do
begin
vArr[i] := ReadValue(S, Pos, PreferCommaForList);
if vArr[i] = Null then
Break;
if PreferCommaForList and (CharAtPos(S, Pos) = ',') //这里也是有问题
then
Inc(Pos)
else
Break;
Inc(i);
VarArrayRedimEh(vArr, i);
end;
if i = 0 then
Result := vArr[0]
else
Result := vArr;
end;
我跟踪了 GetLexeme里面的ReadWord:
function ReadWord(S: String; Pos: Integer): String;
var
c: Char;
NextPos: Integer;
begin
Result := '';
while True do
begin
c := CharAtPos(S, Pos);
if (c < #32) or (c in [' ','(',')','>','<','=','!','~','&','|','.',',','''','"','+','-']) then
Exit; //这里就退出了,但问题不止是这里
NextPos := NextCharIndex(S,Pos);
Result := Result + Copy(S,Pos,NextPos-Pos);
Pos := NextPos;
end;
end;function ReadValues(S: String; var Pos: Integer; PreferCommaForList: Boolean): Variant;
var
i: Integer;
vArr: Variant;
begin
i := 0;
vArr := VarArrayCreate([0, 0], varVariant);
while True do
begin
vArr[i] := ReadValue(S, Pos, PreferCommaForList);
if vArr[i] = Null then
Break;
if PreferCommaForList and (CharAtPos(S, Pos) = ',') //这里也是有问题
then
Inc(Pos)
else
Break;
Inc(i);
VarArrayRedimEh(vArr, i);
end;
if i = 0 then
Result := vArr[0]
else
Result := vArr;
end;
解决方案 »
- 请帮忙看看,TreeView_SetImageList是什么东西?
- 数据库结构修改惹的祸还是DELPHI的错
- 如果把该dephi语句改为c++,应该不难的。
- 字体的问题, 谢谢诸位了。不知道的帮忙UP一下!
- 怎样判断字符串中的某一个字符是汉字还是占一个字节的字符,或者回车??在线求助!!
- 数据查询问题,高手请进!
- 我做的毕业设计,请大家帮我看看,找找毛病!
- 进程的问题!重奖100分
- Delphi中调试ASP组件
- 有人在三层中用ADO时,在编辑数据记录时,遇到出现:‘Record change by another user’吗?
- 80分求,fastreport条码打印解决方案!!
- 哇哈哈,我要盗用你的头像~~ 嘿嘿~~
LS.photoshop5.0/5.5/6.0/7.0试题汇编(图像制作员级)
这样的内容过过滤时就会出错 Incorrect Expression: LS.photoshop5.0/5.5/6.0/7.0试题汇编(图像制作员级)