Delphi - Manejar un control con una variable

 
Vista:

Manejar un control con una variable

Publicado por Teo (4 intervenciones) el 16/07/2003 21:08:54
Tengo varios tCombobox con los siguientes nombres tCombo1, tCombo2 y tCombo3, ¿como puedo hacer referencia a ellos (y sus eventos y propiedades) en un solo metodo? por ejemplo, algo similar al & de clipper:

function actualizaCombo(x : word);
begin
tcombo&x.readonly := True;
tcombo&x.itemindex := 0;
// etc.
end;

o algo similar al tTable.fieldbyname('').

¿alguna sugerencia?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:Manejar un control con una variable

Publicado por Yamil Bracho (11 intervenciones) el 16/07/2003 21:30:12
Para no enrollarte la vida puedes usar un case :-)

function actualizaCombo(x : word);
begin
case x of
1 : With tcombo1 do
begin
readonly := True;
itemindex := 0;
end;
// etc.
end;
end;

Lo otro que se me ocurre es

function actualizaCombo(Sender: TObject);
var
cbo : TComboBox;
begin
cbo := Sender As TComboBox;
cbo.readonly := True;
End;

La segunda sugerencia no la he probado pero deberia funcionar...

Saludos
Yamil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejar un control con una variable

Publicado por Teo (4 intervenciones) el 17/07/2003 00:35:01
De echo, actualmente lo manejo con el sender, pero creo que me podria ahorrar muchas lineas de codigo si el control lo puedo sustituir con alguna macro. De todas maneras GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejar un control con una variable

Publicado por Diego Romero (636 intervenciones) el 17/07/2003 14:55:25
¿Macro?.
Lo adecuado es usar el parámetro Sender sin más.
procedure Tform1.ActualizaCombo(Sender: TObject);
begin
(Sender as TComboBox).ReadOnly:=true;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Manejar un control con una variable

Publicado por Teo (4 intervenciones) el 18/07/2003 00:53:38
Gracias Diego, no habia manejado el sender con el "as tComboBox", me imagino que igual lo puedo manejar con un "as tEdit", lo intentare, de nuevo GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar