Ver Mensaje Individual
  #2  
Antiguo 08-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola _CALI.

Cita:
Se puede utilizar al componente asociado al campo codigo: DBEdit1, para poder ingresar un codigo para buscar a los clientes,
Si se puede, indicándole ántes que acción queremos hacer. Esta es una forma:
Código Delphi [-]
type
  TForm1 = class(TForm)
  ...
  private
     procedure CodigoSetSetText(Sender: TField; const Text: string);       
  public
  end;
...
implementation

procedure TForm1.CodigoSetSetText(Sender: TField; const Text: String);
begin
  if not DataSet.Locate('NAME',Text,[]) then
    ShowMessage('No encontrado');
end;

procedure TForm1.btnBuscarClick(Sender: TObject);
begin
 DataSet.FieldByName('NAME').OnSetText:= DataSetSetText;
end;

procedure TForm1.btnEditarClick(Sender: TObject);
begin
  DataSet.FieldByName('NAME').OnSetText:= nil;
  DataSet.Edit;
end;

procedure TForm1.btNuevoClick(Sender: TObject);
begin
  DataSet.FieldByName('NAME').OnSetText:= nil;
  DataSet.Append;
end;


...
En este ejemplo el TButton btnBuscar se vale del evento OnSetText del campo. Que ocurre cuando el texto recibe un nuevo valor (pero antes de ser almacenado), para realizar una busqueda, posicionándose en el registro o informando si no se encontró.
Los TButton btnEditar y btnNuevo ponen el DataSet en modo Edit e Insert respectivamente desvinculando el método CodigoSetSetText del evento OnSetText.

Ahora una cosa es que se pueda y otra si es recomendable.
Particularmente creo que es un modo rebuscado y se presta para confundir al usuario además de complicar el código.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 08-06-2011 a las 22:25:31.
Responder Con Cita