首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

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

2012-03-12 
求高手讲DEPHI 代码转BCB代码。。。。。。。。急procedure TForm1.Button5Click(Sender: TObject)var i,tag:integ

求高手讲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;


  }
qry1->Next();
}
//
if(tag==0)
{
strWhere = " WHERE 条件 like '%"+ lst1->Items->Strings[i]+"%'";
strWhere = strWhere+" and 条件 not like '%不"+ lst1->Items->Strings[i]+"%'";
}
}
else
{
sWtest =" WHERE 条件 like '%"+ lst1->Items->Strings[i]+"%'";
sWtest=sWtest+" and 条件 not like '%不"+ lst1->Items->Strings[i]+"%'";
sqlTest=sql+sWtest;
if(qry1->Active)
qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add(sqlTest);
qry1->Active=true;
qry1->First();
tag=0;
while(!(qry1->Eof))
{
if((qry1->FieldByName("结论")->AsString).Pos("类"))
{
sub = qry1->FieldByName("结论")->AsString;
if(sub.Pos(strWhere))
{
tag=1;
break;
}
else
{
strWhere = strWhere+" and 条件 like '%"+qry1->FieldByName("结论")->AsString+"%'";
tag = 1;
}
}
qry1->Next();
}
if (tag==1)
  { i=i+1;
  continue;
  }
sWtest=strWhere+" and 条件 like '%"+lst1->Items->Strings[i]+"%'";
sWtest=sWtest+" and 条件 not like '%不"+lst1->Items->Strings[i]+"%'";
sqlTest=sql+sWtest;
if(qry1->Active)
qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add(sql);
qry1->Active=true;
qry1->First();
tag=0;
while(!(qry1->Eof))
{
if((qry1->FieldByName("结论")->AsString).Pos("类"))
{
strWhere = strWhere+" and 条件 like '%"+qry1->FieldByName("结论")->AsString+"%'";
tag=1;
}
qry1->Next();
}
if (tag==0)
{
strWhere = strWhere+" and 条件 like '%"+lst1->Items->Strings[i]+"%'";
strWhere =strWhere+" and 条件 not like '%不"+lst1->Items->Strings[i]+"%'";
}
}
i=i+1;
}
sql=sql+strWhere;
if(qry1->Active)
qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add(sql);
qry1->Active=true;
if (qry1->RecordCount ==1)
  {
  }
//
}

热点排行