Holas que tal comunidad, espero en este tema si me puedan ayudar ya que con los remobjects de plano nadie me ha respondido nada
![Frown](http://www.clubdelphi.com/foros/images/smilies/frown.gif)
, bueno expongo el siguiente tema:
lo que sucede es que ya que ando metido de lleno en delphi y en la programacion, estoy buscando alternativas para ahorrarme codigo y de paso que sea mas profesional, si alguien me pudiera ayudar de antemano como siempre mucha sgracias.
lo que intento es que tengo 8 botones ocultos, quiero que al hacer click en un menu, se visualice una pestania del pagecontrol, en este caso al seleccionar 1 si esta visible otra que se oculte para darle paso a la que acabo de clickear, para dar una idea hice este codigo con solo 4 botones:
Código Delphi
[-]
if button1.enabled = True then
begin
button1.visible:= true;
button2.visible:= False;
button3.visible:= False;
button4.visible:= false;
end
else if button2.enabled = true then
begin
button1.visible:= False;
button2.visible:= True;
button3.visible:= False;
button4.visible:= false;
end
else if button3.enabled = true then
begin
button1.visible:= False;
button2.visible:= False;
button3.visible:= True;
button4.visible:= false;
end
else if button4.enabled = tue then
begin
button1.visible:= False;
button2.visible:= False;
button3.visible:= False;
button4.visible:= True;
end
este codigo funciona y siempre lo he hecho para este tipo de casos pero me doy cuenta que es demasiado codigo para 4 botones, y yo tengo 8 :S aparte despues haria lo mismo para diferentes pagecontrol :S, lo que requiero es una funcion, que al clickear envie un parametro y segun el parametro este solo sea el visible y todos los demas, en mi caso los 7 botones restantes se oculten, pero como lo mostre hace un momento no quiero repetir todo el codigo mencionando todos los botones ocultos y solo el que sera visible,
intente hacer un arreglo :S:S:S en donde meto todo el codigo de los componentes, pero es obvio que nunca funcionaria por que un componente creo, no puede ser colocado como un string, y despues hacer que funcione como un objeto :S
Código Delphi
[-]
procedure TfrmPrincipal.PestaniaVisible(NoPestania : Integer);
var
i : integer;
Pestania : array[0..7] of Variant;
begin
Pestania[0]:= dxRibbonPrincipalTab3.Visible;
Pestania[1]:= dxRibbonPrincipalTab4.Visible;
Pestania[2]:= dxRibbonPrincipalTab5.Visible;
Pestania[3]:= dxRibbonPrincipalTab6.Visible;
Pestania[4]:= dxRibbonPrincipalTab7.Visible;
Pestania[5]:= dxRibbonPrincipalTab8.Visible;
Pestania[6]:= dxRibbonPrincipalTab9.Visible;
Pestania[7]:= dxRibbonPrincipalTab10.Visible;
i:= 0;
while i <= 7 do
begin
if i <> NoPestania then
begin
Pestania[i]:= False;
end
else
Pestania[i]:= True;
i:= i +1;
end;
end;
era algo asi en donde en un arreglo guardaba las declaraciones de los botones, en mi caso son pestanias, de un pagecontrol, y segun el parametro que enviaba, esa pestanaia que estaba almacenada en el arreglo, lo pondria despues en True, si es que coincidia, sino pues se pondria en False, es obvio que nunca haria nada pro que primero lo pongo en string y despues lo pongo en True, sobreescribiendo el valor de un string a true, pero bueno esa fue un intento fallido y algo tonto, :S pero por lo menos lo intente, espero me puedan ayudar en esto por que no se como hacerle o si es que se puede hacer de esa forma, o si me tengo que conformar con todo el codigo de los if, o case :S que es lo mismo
![Frown](http://www.clubdelphi.com/foros/images/smilies/frown.gif)
, espero me puedan ayudar o orientar se los agradeceria, saludos
![Frown](http://www.clubdelphi.com/foros/images/smilies/frown.gif)