Podemos crear un arreglo de controles:
Código Delphi
[-]
procedure TfrDlgConcursos.FormActivate(Sender: TObject);
begin
aCod[1]:=@DblkCod1;
aCod[2]:=@DblkCod2;
aCod[3]:=@DblkCod3;
aCod[4]:=@DblkCod4;
aCod[5]:=@DblkCod5;
aCod[6]:=@DblkCod6;
aCod[7]:=@DblkCod7;
aCod[8]:=@DblkCod8;
aNom[1]:=@EdNom1;
aNom[2]:=@EdNom2;
aNom[3]:=@EdNom3;
aNom[4]:=@EdNom4;
aNom[5]:=@EdNom5;
aNom[6]:=@EdNom6;
aNom[7]:=@EdNom7;
aNom[8]:=@EdNom8;
aMod[1]:=@EdMod1;
aMod[2]:=@EdMod2;
aMod[3]:=@EdMod3;
aMod[4]:=@EdMod4;
aMod[5]:=@EdMod5;
aMod[6]:=@EdMod6;
aMod[7]:=@EdMod7;
aMod[8]:=@EdMod8;
aKms[1]:=@EdKms1;
aKms[2]:=@EdKms2;
aKms[3]:=@EdKms3;
aKms[4]:=@EdKms4;
aKms[5]:=@EdKms5;
aKms[6]:=@EdKms6;
aKms[7]:=@EdKms7;
aKms[8]:=@EdKms8;
end;
Procedure Mostrar(x:Integer);
var
n:Integer;
begin
For n:=1 to x do
begin
if n <= x then
begin
aCod[n]^.Visible:=True;
aNom[n]^.Visible:=True;
aMod[n]^.Visible:=True;
aKms[n]^.Visible:=True;
end
else
begin
aCod[n]^.Visible:=False;
aNom[n]^.Visible:=False;
aMod[n]^.Visible:=False;
aKms[n]^.Visible:=False;
end;
end;
end;
Dependiendo cuantos campos nos pidan ponemos controles para verificar el tipo de dato esto puede hacerse por ejemplo con Combox que muestran opciones tales, como número, Fecha, texto....
Luego podemos intentar conversiones con Try...Except como es lógico y lanzar errores cuando el contenido no sea apropiado, pero así como es fácil validar por ejemplo un Q19, hacer algo para validad cualquier cosa lo veo complicado.
Un Saludo.