【delphi】如何判断循环遍历出的值在combobox中存在并停止继续遍历?
//这段代码是遍历代码,我把他写在线程里,由于线程代码中有whilenotTerminateddobegin//aabbccend;所以就会一直刷新,搞的我无法选择Rzc...
//这段代码是遍历代码,我把他写在线程里,由于线程代码中有
while not Terminated do
begin
//aabbcc
end;
所以就会一直刷新,搞的我无法选择RzcomboBox里的值,我想加一个条件锁,判断值已经存在在RzcomboBox里,如果存在,则停止遍历,继续执行下面的代码,而不是停止线程,停止线程就整个都停了。只是如果在combobox中存在,则停止底下这段代码继续刷新。
十分抱歉,表达能力不太好,实在不好意思,谢谢!谢谢!
procedure TForm1.NewOneThread(); //线程
var
ccID:PDWORD;
i:Integer;
s,s2:PDWORD;
NumTwo,szxb,FirAd,cID:PInteger;
nemach:Integer;
cunwwo:string;
Pcunwwo:PWideChar;
begin
nemach:=0; //初始化
Self.RzComboBox_nemach.Clear;
s:=Pointer(Cvscar+kenvi);
s:=Pointer(s^+fatin);
NumTwo:=Pointer(s^+coame);
FirAd:=Pointer(s^+oleol);
for i:=0 to NumTwo^-1 do
begin
szxb:=Pointer(FirAd^+i*4); //下标
cID:=Pointer(szxb^+pl);
nemach:=cID^;
s2:=Pointer(szxb^+4);
s2:=Pointer(s2^+4);
s2:=Pointer(s2^+chrk);
Pcunwwo:=Pointer(s2^+$0);
cunwwo:=WideCharToString(pcunwwo);
Self.RzComboBox_nemach1.Items.Add(cunwwo);
end;
//继续执行的代码,省略若干字
end;
最后一句错了,是如果存在,则停止底下那段代码,继续执行代码尾部我注释的那些 继续执行的代码 展开
while not Terminated do
begin
//aabbcc
end;
所以就会一直刷新,搞的我无法选择RzcomboBox里的值,我想加一个条件锁,判断值已经存在在RzcomboBox里,如果存在,则停止遍历,继续执行下面的代码,而不是停止线程,停止线程就整个都停了。只是如果在combobox中存在,则停止底下这段代码继续刷新。
十分抱歉,表达能力不太好,实在不好意思,谢谢!谢谢!
procedure TForm1.NewOneThread(); //线程
var
ccID:PDWORD;
i:Integer;
s,s2:PDWORD;
NumTwo,szxb,FirAd,cID:PInteger;
nemach:Integer;
cunwwo:string;
Pcunwwo:PWideChar;
begin
nemach:=0; //初始化
Self.RzComboBox_nemach.Clear;
s:=Pointer(Cvscar+kenvi);
s:=Pointer(s^+fatin);
NumTwo:=Pointer(s^+coame);
FirAd:=Pointer(s^+oleol);
for i:=0 to NumTwo^-1 do
begin
szxb:=Pointer(FirAd^+i*4); //下标
cID:=Pointer(szxb^+pl);
nemach:=cID^;
s2:=Pointer(szxb^+4);
s2:=Pointer(s2^+4);
s2:=Pointer(s2^+chrk);
Pcunwwo:=Pointer(s2^+$0);
cunwwo:=WideCharToString(pcunwwo);
Self.RzComboBox_nemach1.Items.Add(cunwwo);
end;
//继续执行的代码,省略若干字
end;
最后一句错了,是如果存在,则停止底下那段代码,继续执行代码尾部我注释的那些 继续执行的代码 展开
3个回答
展开全部
真想不明白你给一个combobox填充值也要个线程,而且还不停的刷干什么。判断combobox中某一项存不存在可以用combobox.items.indexof来判断,如果返回-1就是不存在的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你判断下
if combobox1.Items.IndexOf('你要查的值')>0 then
该干嘛就干嘛吧
那个到底是大于0还是1
你自己验证我也忘了
if combobox1.Items.IndexOf('你要查的值')>0 then
该干嘛就干嘛吧
那个到底是大于0还是1
你自己验证我也忘了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
items.indexof吧.等于-1就不存在.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询