求高手讲DEPHI 代码转BCB代码。该如何解决

求高手讲DEPHI 代码转BCB代码。。。。。。。。急
procedure TForm1.Button5Click(Sender: TObject);
var i,tag:integer;// 定义整型变量 i,tag
  sqlTest,sWtest,sub:String;
begin
  i:=0;
  strWhere:='';
  while i<Listbox2.Items.Count do
  begin
  if strWhere='' then
  begin
  sWtest:='WHERE 条件 like '+'''%'+ListBox2.Items[i]+'%'' ';
  sWtest:=sWtest+'and '+'条件 not like ''%不'+ListBox2.Items[i]+'%'' ';
  sqlTest:=sql+sWtest;
  tag:=0;
  if Query1.Active then query1.Close;
  query1.SQL.Clear;
  query1.SQL.Add(sqlTest);
  query1.Active:=true;
  query1.First;
  while not query1.Eof do
  begin
  if(Pos('类',query1.fieldbyname('结论').asString)<>0)then
  begin
  if strWhere='' then strWhere:='WHERE 条件 like '+'''%'+query1.fieldbyname('结论').asString+'%'' '
  else strWhere:=strWhere+'or 条件 like '+'''%'+query1.fieldbyname('结论').asString+'%'' ';
  tag:=1;
  end;
  query1.Next;
  end;


------解决方案--------------------
C/C++ code
AnsiString   strWhere,sql;
void __fastcall TForm1::btn1Click(TObject *Sender)
{
int  i,tag;// 定义整型变量 i,tag
  AnsiString sqlTest,sWtest,sub;
  i=0;
  strWhere="";
  while( i<lst1->Items->Count)
   {
  if (strWhere=="")
    {
   sWtest = "WHERE 条件 like '%" + lst1->Items->Strings[i]  +"%'";
   sWtest = sWtest+"and 条件 not like '%不" + lst1->Items->Strings[i]+"%'";
   sqlTest =sql + sWtest;
   tag=0;
  if (qry1->Active)  qry1->Close() ;
  qry1->SQL->Clear();
  qry1->SQL->Add(sqlTest);
  qry1->Active=true;
  qry1->First();
  while(!qry1->Eof )
   {
   if((qry1->FieldByName("结论")->AsString).Pos("类"))
     {
   if (strWhere=="")
    strWhere ="WHERE 条件 like '%" + qry1->FieldByName("结论")->AsString+"%'";
    else strWhere = strWhere+"or 条件 like '%"+qry1->FieldByName("结论")->AsString+"%'";
  tag=1;
     }
  qry1->Next();
   }
   }
  }
}

------解决方案--------------------

------解决方案--------------------
这个你最好是读懂了以后用bcb重写,我只保证语法编译正确,结果就不保证了。
C/C++ code
AnsiString   strWhere,sql; 
void __fastcall TForm1::btn1Click(TObject *Sender)
{
int  i,tag;// 定义整型变量 i,tag
AnsiString sqlTest,sWtest,sub;
i=0;
strWhere="";
while( i <lst1->Items->Count)
{
if (strWhere=="")
  {
sWtest = " WHERE 条件 like '%" + lst1->Items->Strings[i]  +"%'";
sWtest = sWtest+" and 条件 not like '%不" + lst1->Items->Strings[i]+"%'";
sqlTest =sql + sWtest;
tag=0;
if (qry1->Active)  qry1->Close() ;
qry1->SQL->Clear();
qry1->SQL->Add(sqlTest);
qry1->Active=true;
qry1->First();
while(!qry1->Eof )
{
if((qry1->FieldByName("结论")->AsString).Pos("类"))
  {
if (strWhere=="")
  strWhere =" WHERE 条件 like '%" + qry1->FieldByName("结论")->AsString+"%'";
  else strWhere = strWhere+" or 条件 like '%"+qry1->FieldByName("结论")->AsString+"%'";
tag=1;