(FileName Like 666) AND (Company = AAA) AND (FileName Like 555) AND (LastWriteTime Like 2010) AND (FileName Like 999)字符串是类似这样的语句! 符合删除 含有 FileName 的字符串使语句最后成为 (Company = AAA) AND (LastWriteTime like 2010) 语句中有空字符! 请给个思路! 这个组织SQL语句的字符串怎么实现呢?
调试欢乐多
procedure TForm1.Button2Click(Sender: TObject);
var
mstr: string;
ss: TStringList;
i: integer;
begin
mstr := '(FileName Like 666) AND (Company = AAA) AND (FileName Like 555) AND (LastWriteTime Like 2010) AND (FileName Like 999)';
mstr := StringReplace(mstr,'AND',#13,[rfReplaceAll]);
ss := TStringList.Create;
ss.Text := mstr;
i:=0;
while i<ss.Count do
begin
if Pos('FileName',ss.Strings[i])>0 then
begin
ss.Delete(i);
continue;
end;
Inc(i);
end; mstr := '';
for i:=0 to ss.Count -1 do
mstr := mstr + Trim(ss.Strings[i]) + ' AND ';
if mstr<>'' then
Delete(mstr,Length(mstr)-4,4);
ss.Destroy;
showmessage(mstr);
end;
var I:Integer;
Temp,STemp,FTemp:string;begin Temp := s+'AND';
while 1=1 do
begin
I := pos('AND',Temp);
if I = 0 then
begin
Break;
end; FTemp := Trim(copy(Temp,1,i-1));
if pos(D,Ftemp) > 0 then //
begin
end else
begin
if Stemp = '' then
begin
Stemp := Trim(copy(Temp,1,i-1));
end else
begin
Stemp := Stemp +' AND '+Trim(copy(Temp,1,i-1));
end; end;
Delete(Temp,1,i+3);
end;
Result := STemp;end;自己搞定了!结贴