Delphi - Funcion generica

 
Vista:

Funcion generica

Publicado por Mauricio (17 intervenciones) el 10/04/2003 15:15:58
Hola tengo hecha un procedimiento en un formulario que me vacia los edits, combos y alguna cosilla mas. DEntro del formulario funciona perfectamente, pero quiero hacerlo generico para poder usarlo en todos los formularios.
En uses de la unit en la que la quiero declarar, q tengo q poner para que me pille bien la funcion?? ¿que parametro le paso al formulario???

Espero q me contesteis, este es el codigo fuente del procedimiento

procedure VaciarCampos();
var
i: ShortInt;
AuxComponente: TComponent;
begin
for i :=0 to ComponentCount - 1 do
begin
AuxComponente := Components[I];
if AuxComponente is TEdit then
begin
with (Auxcomponente as TEdit) do
begin
text:='';
end;
end;//if
if Auxcomponente is TDAteTImePicker then
begin
with (auxcomponente as TDAteTImePicker) do
begin
date:=now;
end;
end;//if
if Auxcomponente is TComboBox then
begin
with (auxcomponente as TComboBox) do
begin
text:='';
end;
end;//if
end; //for
end;//Procedimiento
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funcion generica

Publicado por BigLuis (463 intervenciones) el 10/04/2003 19:57:46
Asi te funcionará (no se si es la mejor forma) declarando la unidad donde tienes la funcion en la unidad que quiere usarla.Le pasas como parámetro el formulario donde estan los componentes a borrar y ya está.Puedes incluso hacer una unidad solo de código y la añades al uses de todas las que la utilicen, es como mas elegante. Suerte

unit UnitPrincipal;

interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Mask, ToolEdit, ShellApi,Comctrls;

>>>>> procedure VaciarCampos(Formulario:TForm);
....
.....
implementation
procedure VaciarCampos(Formulario:TForm);
var
i: ShortInt;
AuxComponente: TComponent;
begin
for i :=0 to Formulario.ComponentCount - 1 do
begin
AuxComponente := Formulario.Components[I];
if AuxComponente is TEdit then
begin
with (Auxcomponente as TEdit) do
begin
text:='';
end;
end;//if
if Auxcomponente is TDAteTImePicker then
begin
with (auxcomponente as TDAteTImePicker) do
begin
date:=now;
end;
end;//if
if Auxcomponente is TComboBox then
begin
with (auxcomponente as TComboBox) do
begin
text:='';
end;
end;//if
end; //for
end;//Procedimiento

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar