Ver Mensaje Individual
  #9  
Antiguo 11-09-2003
CORBATIN CORBATIN is offline
Miembro
 
Registrado: may 2003
Ubicación: España
Posts: 131
Reputación: 22
CORBATIN Va por buen camino
Muchisimas gracias Julia es una solución muy buena pero al final he octado por la opción de de Ruben, es casi la misma que la tuya pero a diferencia no hace falta crear esa lista para introducir los dbedits que encuentra sino que directamente hace referencia a ellos, al final el código ha quedado así:

Código:
procedure TForm1.aceptar;
var
componente: integer;
Data:Tdataset;
begin
Data := nil;
for componente := 0 to ComponentCount - 1 do begin
 if Components[componente] is TDBedit then begin
  Data := (Components[componente] as TDBedit).DataSource.DataSet;
  if ( Data.Fields[componente].Required) and (Data.Fields[componente].Text = '') then begin
   showmessage('Debe introducir un valor en el campo '+ Data.Fields[componente].DisplayName);
   (Components[componente] as TDBedit).setfocus;
   Exit;
  end;
 end;
end;
Data.post;
Data.Free;
end;
Una última pregunta, es necesario hacer el free de la variable creada del tipo Dataset?

De nuevo gracias a los dos que habeis dado vuestras soluciones a este problemilla que había planteado, saludos.
__________________
No hay vientos favorables para quién no conoce su rumbo.
Responder Con Cita