Fórum consulta em combobox (indexOf) #359506
04/06/2008
0
estou tentando varrer o combobox para verificar se uma ou mais dessas variáveis existe, para entao o sistema exibir uma mensagem com a variável mais importante detectada.
para isso utilizei o indexOf do combobox, mas minha consulta ficou furada, pq ela sempre para na primira condiçao(if), mesmo que a mesma nao seja satisfeita.
segue meu código, quem puder dar uma mão na soluçao desse problema eu agradeço!!!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | var a,b,c,d, msg : string; begin a := ´primeiro lugar em importancia´; b := ´segundo lugar em importancia´; c := ´terceiro lugar em importancia´; d := ´quarto lugar em importancia´; msg := ´´; if cbClasse.items.IndexOf(a) < 0 then // verifica se a string existe no ComboBox begin msg := ´importancia: ´ + a; end else if cbClasse.items.IndexOf(b) < 0 then begin msg := ´importancia: ´ + b; end else if cbClasse.items.IndexOf(c) < 0 then begin msg := ´importancia: ´ + c; end else if cbClasse.items.IndexOf(d) < 0 then begin msg := ´importancia: ´ + d; end else begin msg := ´Não foi detectado importancia alguma´; end; ShowMessage(msg); end; |
abraços!

Mahdak
Curtir tópico
+ 0Posts
04/06/2008
Pestana_
flw.
Gostei + 0
04/06/2008
Mahdak
Gostei + 0
04/06/2008
Rjun
Gostei + 0
04/06/2008
Pestana_
quando não é encontrado o valor no combo é retornado [b:ea72403afe]-1[/b:ea72403afe]
não está certo!
flw.
Gostei + 0
04/06/2008
Pestana_
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | var a,b,c,d, msg : string; begin a := ´primeiro lugar em importancia´; b := ´segundo lugar em importancia´; c := ´terceiro lugar em importancia´; d := ´quarto lugar em importancia´; msg := ´´; if cbClasse.items.IndexOf(a) > 0 then // verifica se a string existe no ComboBox begin msg := ´importancia: ´ + a; end else if cbClasse.items.IndexOf(b) > 0 then begin msg := ´importancia: ´ + b; end else if cbClasse.items.IndexOf(c) > 0 then begin msg := ´importancia: ´ + c; end else if cbClasse.items.IndexOf(d) > 0 then begin msg := ´importancia: ´ + d; end else begin msg := ´Não foi detectado importancia alguma´; end; ShowMessage(msg); end; |
Gostei + 0
04/06/2008
Mahdak
RJun, foi erro meu mesmo, como voce disse... mesmo assim utilizei a funçao abaixo e meu problema foi resolvido.
muito obrigado pela atençao que voces disponibilizaram para me ajudar!
Um forte abraço a todos!!!
code]function StrIsInList(Lista:TStrings;Str:string): boolean;
{verificar se uma string existe dentro de um stringlist, pode ser usada para saber se uma string existe dentro de um ComboBox por exemplo.
ex:
begin
if StrIsInList(ComboBox1.Items,Edit1.Text) then
showmessage(´a string existe.´)
end;
}
var
Cont:integer;
begin
Result:=false;
for Cont:=0 to Lista.Count-1 do
if Str = (Lista.Strings[Cont])then
begin
Result:=true;
Exit;
end;
end;[[/code]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)