Fórum Veja esta Procedure #195057
14/11/2003
0
var i,j:Integer;
MatCombo:Array[1..22] of TComboBox;
begin
j:=1;
For i := 0 to ComponentCount -1 do
if Components[i].ClassName=´TComboBox´ then begin
MatCombo[j]:=Components[i].;//como encher esta matriz
inc(j);
end;
//Obs.: tenho 22 combos com os nomes CB1 até CB22.
end;
Preciso encher a matriz com os combobox, alguém sabe como?
Pedro Dias
Curtir tópico
+ 0Posts
14/11/2003
Rafael Heise
Procedure TFDigSoci.ZeraCombos; var i,j:Integer; MatCombo:Array[1..22] of TComboBox; begin j:=1; For i := 0 to ControlCount -1 do if Controls[i] is TComboBox then begin MatCombo[j] := Controls[i]; inc(j); end;
Gostei + 0
14/11/2003
Pedro Dias
[Error] UDigSoci.pas(124): Incompatible types: ´TComboBox´ and ´TControl´
Gostei + 0
14/11/2003
Marcelo Saviski
MatCombo[j] := TComboBox(Controls[i]);
Gostei + 0
17/11/2003
Rafael Heise
MatCombo[j] := (Controls[i] as TComboBox);
Eu pessoalmente prefiro dessa forma por causa de umas coisas que podem acontecer uns erros e talz... masss vai de cada um!
Gostei + 0
17/11/2003
Beppe
MatCombo[j] := (Controls[i] as TComboBox);
O operador [b:c890d9c745]as[/b:c890d9c745] é bom pra garantir que um objeto é daquela classe(ou então uma exceção é criada). Mas neste caso, o [b:c890d9c745]is[/b:c890d9c745] te diz: ´É garantido pode passar!´. Então uma simples cast dá conta do recado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)