Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 25-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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.

Una forma puede ser aprovechar el evento OnSetText del campo a evaluar, que ocurre cuando se le asigna un valor a la propiedad Text del TField pero antes de guardar el cambio.
Lo podés crear desde el Object Inspector, haciendo doble click sobre el campo persistente, o bién por código.

Un ejemplo por código:
Código Delphi [-]
type
  Form1 = class(TForm)
    ...
  private
    procedure DataSetStockSetText(Sender: TField; const Text: String);
  public
  end;
....
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  DataSet.FieldByName('STOCK').OnSetText:= DataSetStockSetText;
end;

(* Se le asignó un valor a la propiedad Text del TField  *)
procedure TForm1.DataSetStockSetText(Sender: TField; const Text: String);
var
  Stock: Double;  // El tipo de la variable dependerá del tipo de tu campo
begin
  if not TryStrToFloat(Text, Stock) then  // ó TryStrToInt, TryStrToCurr, ... (según el tipo de tu campo)
    raise Exception.Create('Error no es un número válido')
  else if Stock > DataSet.FieldByName('STOCK').AsFloat then
    raise Exception.Create('Stock inexistente')
end;
...
procedure TForm1.FormDestroy(Sender: TObject);
begin
  DataSet.FieldByName('STOCK').OnSetText:= nil;
end;

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-11-2011 a las 13:02:18. Razón: Agregar comentarios al código
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
OnKeyPress dentro de DBGrid cell Gaim2205 OOP 5 07-10-2011 14:52:05
Capturar tecla Tab en OnKeyPress,OnkeyUp... NEG1414 C++ Builder 2 09-11-2008 18:04:32
OnKeyPress, OnKeyUp, OnKeyDown en MonthCalendar santiago14 Varios 6 29-03-2008 01:18:16
validacion dbgrid Sir_Roc Varios 1 07-02-2006 16:48:21
Como Pintar Solo la Celda y No Toda la Columna de la Celda de un dbGrid?? AGAG4 Varios 11 15-11-2004 20:53:28


La franja horaria es GMT +2. Ahora son las 23:47:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi