獲得下拉框的內容 if 下拉框的Name.text='1'then else if 下拉框的Name.text='2'then else 就這樣。
这个感觉要写死,就是约定好。如果数据库中1到6固定是人的行为,则可以判断下拉框选中的内容强制转化: i := strtointdef(combobox1.txt,0); 如果i在1到6之间,则可以得出是人的行为
给个EDIT的例子给你看,我以前写的代码,应该是你想要的答案,我不改了,你就看着来改吧。关键是在查数据库的时候用AND结合你所说的多个下拉菜单里面的内容来查。代码不难,应该看得明白吧 begin if trim(Edit4.Text)<>'' then begin selectrkdh:='and ckdh='''+trim(Edit4.Text)+''''; end else selectrkdh:=''; if trim(Edit5.Text)<>'' then begin selecttm:='and serialNO='''+trim(Edit5.Text)+''''; end else selecttm:=''; if trim(Edit6.Text)<>'' then begin proname:=trim(Edit6.Text); selectname:='and productname like ''%'+proname+'%'''; end else selectname:=''; dt1:=DatetimeToStr(Date1.DateTime); dt2:=DatetimeToStr(Date2.DateTime); selectck2.Close; selectck2.sql.clear; selectck2.sql.add('select * from ck2 where cktime>='''+dt1+''' and cktime<='''+dt2+''''+selectrkdh+selecttm+selectname); selectck2.execsql; selectck2.Open; selectck2.Active :=true; end;
版主的问题有点象这样:procedure TForm2.ComboBox1Change(Sender: TObject); begin if(StrToInt(ComboBox1.Text) in[1..6])then ShowMessage('人'); end;
if ... then else ... 超过3种以上情况,应该使用 case ... of ... end
procedure TForm2.ComboBox1Change(Sender: TObject); begin if(ComboBox1.Text='直立行走')and (ComboBox2.Text='制造和使用简单的工具')and (ComboBox3.Text='学会使用火'){等等...}then ShowMessage('人'); end;
if 下拉框的Name.text='1'then
else
if 下拉框的Name.text='2'then
else
就這樣。
i := strtointdef(combobox1.txt,0);
如果i在1到6之间,则可以得出是人的行为
begin
if trim(Edit4.Text)<>'' then
begin
selectrkdh:='and ckdh='''+trim(Edit4.Text)+'''';
end
else
selectrkdh:=''; if trim(Edit5.Text)<>'' then
begin
selecttm:='and serialNO='''+trim(Edit5.Text)+'''';
end
else
selecttm:=''; if trim(Edit6.Text)<>'' then
begin
proname:=trim(Edit6.Text);
selectname:='and productname like ''%'+proname+'%''';
end
else
selectname:=''; dt1:=DatetimeToStr(Date1.DateTime);
dt2:=DatetimeToStr(Date2.DateTime);
selectck2.Close;
selectck2.sql.clear;
selectck2.sql.add('select * from ck2 where cktime>='''+dt1+''' and cktime<='''+dt2+''''+selectrkdh+selecttm+selectname);
selectck2.execsql;
selectck2.Open;
selectck2.Active :=true;
end;
begin
if(StrToInt(ComboBox1.Text) in[1..6])then
ShowMessage('人');
end;
else ...
超过3种以上情况,应该使用
case ... of
...
end
begin
if(ComboBox1.Text='直立行走')and
(ComboBox2.Text='制造和使用简单的工具')and
(ComboBox3.Text='学会使用火'){等等...}then
ShowMessage('人');
end;