求高手讲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;
------解决方案--------------------
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;