Algumas funções que facilitam e muito o desenvolvimento do programador. Por exemplo:
Imagina que você tem 50 campos na tela e tem que desabilitar todos, já viu né...Assim você só vai fazer isso:
HabilitaCampo(true ou false), simples assim... :D
procedure HabilitaCampo(Value: Boolean);
var
i: integer;
begin
for i := 0 to pred(ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
(Components[i] as TEdit).Enabled:= value;
// Se for TComboBox...
if (components[i] is TComboBox) then
(Components[i] as TComboBox).Enabled:= value;
// E assim por diante...
end;
end;
Da mesma forma segui para limpar todos os campos de uma só vez...
procedure LimpaCampos();
var
i: integer;
begin
try
for i := 0 to pred(ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
(Components[i] as TEdit).Clear;
// Se for TComboBox...
if (components[i] is TComboBox) then
(Components[i] as TComboBox).ItemIndex = -1;
end;
end;
Validar campo obrigatório segui o mesmo esquema...
Obs: A tag é utilizado para definir se o campo vai ser obrigatório ou não. Ex:
0 - Default do componente...
1 - para os campos que serão obrigatório.
function VerificaCampObrigatorio: Boolean;
var
i: integer;
begin
Result := true;
for i := 0 to (ComponentCount) do
begin
// Se for Edit...
if (components[i] is TEdit) then
begin
if ((Components[i] as TEdit).Tag = 1) and ((Components[i] as TEdit).Text = '')then
begin
MessageDlg((Components[i] as TEdit).Hint,mtInformation,[mbOK],0);
(Components[i] as TEdit).SetFocus;
Result := false;
exit;
end;
end;
end;
end;
Espero que ajude, até mais.