Cita:
Empezado por AlejandroCalica
muchas gracias por la rapides pero tengo algunas dudas sobre el codigo
grupo1 : TPoint = (X:1;Y:5); // Edit1 ~ Edit5
grupo2 : TPoint = (X:6;Y:10); // Edit6 ~ Edit10
grupo3 : TPoint = (X:11; Y:15); // Edi11 ~ Edit15
entiendo que en estos 3 grupos estan almacenados los componentes de cada uno, lamentablemente estos controles no estan ordenados y algunas ocaciones existen no solo edit, sino combobox, listbox y algunos buttons, ue se puede hacer en el supuesto que varien los tipos de controles?
lo que si puede predesir es poser seleccionar digamos mmmm el edit1, edit3, edit11, edit25, combobox4 , listbox1, button1 forman parte de un grupo
digamos algo asi
Procedure Visor(Ctrls:Array of TControl; Enabled:Boolean);
var
C:TControl;
begin
for C in Ctrls do
C.Enabled:=Enabled;
end;
y lo llamo de esta manera
Visor([
Edit1,Edit2,Edit3,Edit4,Edit5,Edit6,
Combobox6,Combobox1,Combobox3,Combobox5,
Button8
], false
con ello puedo seleccionar los componentes que existen en un grupo en particular
la otra duda es sobre este codigo
function TForm1.CheckEditContents(const DH: TPoint):Boolean;
var
i: Integer;
begin
Result := True;
for i := DH.X to DH.Y do
begin
if (TEdit(FindComponent('Edit'+IntToStr(i))).Text = '') then
begin
Result := False;
Exit;
end;
end;
end;
este me determina cual de los controles de un grupo estan vacios? y por ende solo modifico esta pasrte del codigo
if (TEdit(FindComponent('Edit'+IntToStr(i))).Text = '') then
para yo seleccionar que propiedad es la que desido cambiar como el color del control para cambiar solo los controles vacios?
gracias por su atencion
|
y ya entrado en materia podria pensar que para la seleccion de controles de cada grupo usaria este
Procedure Visor(Ctrls:Array of TControl; Enabled:Boolean);
var
C:TControl;
begin
for C in Ctrls do
C.Enabled:=Enabled;
end;
aunque este el problemilla que veo es ue en el pondre los controles que quiero ocultar o mostrar, pero al hacerlo los demas deverian de quedar en sircustancia opuesta, pero no esta programado asi
digamos ue existen 12 controles y cada grupo tiene 4 controles, bueno al iniciar el formularo bloquear el control 1,2,5,7
y al hacer clic en el primer evento bloquear el control 3,4,6 y 9 pero en este caso tanto estos como los anteriores estaran bloqueados.
digamos como podria inplementar en el procedure visor
2 controles
uno que controle cuales son los controles que estaran bloqueados
y otro cuales no estaran bloqueados.
en un mismo procedure.
VisorNo([
Edit3,Edit4,Edit6,Edit9,
Combobox6,
Button8
]
VisorSi([
Edit1,Edit2,Edit5,
Combobox1,Combobox3,
Button15
]
,False, true);
o algo parecido eso solucionaria el problema de seleccion de controles, pero el que en cada grupo pueda cambar una propiedad en partcular como por ejemplo en color, o enabled o quizas en cuanto a controles con entrda de text saber si estan vacios?