Diferencia entre revisiones de «TpAUX CAMPO ONEVENT unit»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
|||
Línea 4: | Línea 4: | ||
=[[QUEESESTO/IDENTIDAD|Identidad]]= | =[[QUEESESTO/IDENTIDAD|Identidad]]= | ||
[[Category:MANUAL/PROGRAMADOR]] | [[Category:MANUAL/PROGRAMADOR]] | ||
[[Category:AUXILIARES]] | [[Category:PRG AUXILIARES]] | ||
*Ancestro: [[TComponent]] | *Ancestro: [[TComponent]] | ||
*Carpeta: C:\DevelopPrx\pPRAGMA | *Carpeta: C:\DevelopPrx\pPRAGMA | ||
Línea 55: | Línea 55: | ||
end; | end; | ||
</pre> | </pre> | ||
=Implementación= | |||
=Modo de uso= | |||
El auxiliar se usa de la siguiente manera, primero la inicialización (ejemplo de [[TprxADODataSetEdit]].OnExitFieldXtd): | |||
<pre> | |||
prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.DataSet := Self; | |||
prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Clase := ppTableName; | |||
prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Campo := aFieldName; | |||
</pre> | |||
Primero asignamos las propiedades: | |||
*'''Dataset''' que se asigna al mismo componente que está llamando al auxiliar. | |||
*'''Clase''' se inicializa al nombre de la tabla del componente que está llamando al auxiliar. | |||
*'''Campo''' se inicializa al nombre del campo cuyo valor queremos asignar. | |||
Posteriormente evaluamos la constricción: | |||
<pre> | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Exists then | |||
begin | |||
prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepare; | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_FILTRO = False then | |||
begin | |||
if (Trim(FieldByName(aFieldName).AsString) <> '') and (FieldByName(aFieldName).IsNull = False) then | |||
Result := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Validate(vMsg); | |||
end | |||
else | |||
begin | |||
vConstraint := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Solucion; | |||
vConstraintMSG := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Mensaje; | |||
end; | |||
end; | |||
</pre> | |||
El '''Exists''' habilita la evaluación de la constricción. | |||
Distinto es el comportamiento cuando la constricción corresponde a una enumeración, en este caso es el control de edición [[TprxDBComboBox]] que carga los ítems de la enumeración: | |||
<pre> | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepared then | |||
begin | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_ENUMERACION then | |||
begin | |||
// Cargamos los ítems del constraint, y posiblemente los ítems del combo... | |||
ConstraintItems.Clear; | |||
for I := 0 to prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.SQL_COMANDO_SELECT.Count - 1 do | |||
ConstraintItems.Add(prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.SQL_COMANDO_SELECT[I]); | |||
for I := 0 to prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Items.Count - 1 do | |||
Items.Add(prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Items[I]); | |||
end; | |||
end; | |||
</pre> | |||
Además, la constricción puede aplicar a campos de tipo fecha ([[TprxDBEditDateTime]].Seleccionar): | |||
<pre> | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepared then | |||
begin | |||
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_FILTRO then | |||
vConstraint := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Solucion; | |||
end; | |||
</pre> | |||
=Usos= | |||
El auxiliar se usa en: |
Revisión del 19:55 22 may 2025
Descripción
El objeto TpAUX_CAMPO_ONEVENT_unit (Eventos de campos) procesa los auxiliares de tipo EVENTO_CAMPOS, ver detalles en DEV AUXILIARES/EVENTO CAMPO.
Identidad
- Ancestro: TComponent
- Carpeta: C:\DevelopPrx\pPRAGMA
- Archivo: pAUX_CAMPO_ONEVENT_unit.pas
Declaración
type TpAUX_CAMPO_ONEVENT_unit = class(TComponent) private FDataSet: TDataSet; FClase: String; FCampo: String; FQuery: TprxADOQuery; FTag_Evento: String; FTag_Tipo: String; FTag_NoButtons: Boolean; FSQL_COMANDO: TStringList; FSQL_MENSAJE: TStringList; FSQL_MENSAJEQ: TStringList; FSQL_EXECUTE: TStringList; FItems: TStringList; protected property Tag_Evento: String read FTag_Evento write FTag_Evento; property Tag_Tipo: String read FTag_Tipo write FTag_Tipo; property Tag_NoButtons: Boolean read FTag_NoButtons write FTag_NoButtons; property SQL_COMANDO: TStringList read FSQL_COMANDO write FSQL_COMANDO; property SQL_MENSAJE: TStringList read FSQL_MENSAJE write FSQL_MENSAJE; property SQL_MENSAJEQ: TStringList read FSQL_MENSAJEQ write FSQL_MENSAJEQ; property SQL_EXECUTE: TStringList read FSQL_EXECUTE write FSQL_EXECUTE; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; function Procesar(aEvento: String; var aMsg: String): Boolean; function ProcesarANTES(aEvento: String; var aMsg: String): Boolean; property DataSet: TDataSet read FDataSet write FDataSet; property Clase: String read FClase write FClase; property Campo: String read FCampo write FCampo; property Query: TprxADOQuery read FQuery write FQuery; property Items: TStringList read FItems; published end;
Implementación
Modo de uso
El auxiliar se usa de la siguiente manera, primero la inicialización (ejemplo de TprxADODataSetEdit.OnExitFieldXtd):
prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.DataSet := Self; prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Clase := ppTableName; prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Campo := aFieldName;
Primero asignamos las propiedades:
- Dataset que se asigna al mismo componente que está llamando al auxiliar.
- Clase se inicializa al nombre de la tabla del componente que está llamando al auxiliar.
- Campo se inicializa al nombre del campo cuyo valor queremos asignar.
Posteriormente evaluamos la constricción:
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Exists then begin prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepare; if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_FILTRO = False then begin if (Trim(FieldByName(aFieldName).AsString) <> '') and (FieldByName(aFieldName).IsNull = False) then Result := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Validate(vMsg); end else begin vConstraint := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Solucion; vConstraintMSG := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Mensaje; end; end;
El Exists habilita la evaluación de la constricción.
Distinto es el comportamiento cuando la constricción corresponde a una enumeración, en este caso es el control de edición TprxDBComboBox que carga los ítems de la enumeración:
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepared then begin if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_ENUMERACION then begin // Cargamos los ítems del constraint, y posiblemente los ítems del combo... ConstraintItems.Clear; for I := 0 to prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.SQL_COMANDO_SELECT.Count - 1 do ConstraintItems.Add(prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.SQL_COMANDO_SELECT[I]); for I := 0 to prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Items.Count - 1 do Items.Add(prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Items[I]); end; end;
Además, la constricción puede aplicar a campos de tipo fecha (TprxDBEditDateTime.Seleccionar):
if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Prepared then begin if prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.EsTipo_FILTRO then vConstraint := prxADOClientDM.pAUX_CAMPO_CONSTRAINT_unit.Solucion; end;
Usos
El auxiliar se usa en: