Con ésta función podemos limpiar el contenido de los componentes que queramos, por ejemplo edits, memos, combobox e inicializar checkbox a false. En fin si queremos inicializar los componentes para que estén listos para volver a ser rellenados, sólo hay que asignar a estos componentes una valor a la propiedad tag que se le pasa por parámetro, junto con el form al cual queremos limpiar.
Se pueden añadir los componentes que querais para poder ser inicializados a vuestra manera
Código Delphi
[-]
type
ConjuntoTags = set of byte;
procedure Limpia(Form:TForm;Tags:ConjuntoTags);
Var
i:Integer;
begin
With Form do
For i := 0 to ComponentCount - 1 do
If Components[i].Tag in Tags then
If Components[i] is TEdit then TEdit(Components[i]).Clear
Else
If Components[i] is TStaticText then TStaticText(Components[i]).Caption := ''
Else
If Components[i] is TComboBox then TComboBox(Components[i]).ItemIndex := -1
Else
If Components[i] is TListView then TListView(Components[i]).Items.Clear
Else
If Components[i] is TMaskEdit then TMaskEdit(Components[i]).Clear
Else
If Components[i] is TMemo then TMemo(Components[i]).Lines.Clear
ELSE
if Components[i] is TCheckBox then TCheckBox(Components[i]).Checked:=false;
end;
Y un ejemplo de uso