Ver Mensaje Individual
  #8  
Antiguo 07-04-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Si estamos trabajado con objetos, ¿por qué no hacer algo así?

Código Delphi [-]
type
  TMiObjeto = class
  private

    FPropiedad: TTipoDeDatos;
    procedure SetPropiedad(Valor: TTipoDeDatos);

  public
    Modificado: Boolean;
    property Propiedad: TTipoDeDatos write SetPropiedad;
  end;

implementation

procedure TMibjeto.SetPropiedad(Valor: TTipoDeDatos);
begin
  FPropiedad := Valor;
  Modificado := true;
end;

Claro que hay que poner un método de acceso para cada propiedad (cosa que es bastante común) pero al final, la comprobación es tan sencilla como

Código Delphi [-]
if MiObjeto.Modificado then
  Grabar;

sin tener que comparar campo por campo.

--------------------------------------------------------------------------------------

Cita:
Empezado por delphi.com.ar
que todos los campos de la clase lo tengas almacenados en un record, crear un método que sea "Compare", e internamete utilizar la función CompareMem para comparar los valores de los records.
Pero, ¿esto serviría si tenemos valores string? Es decir, creo que todos los valores que nos interesen para la comparación tendrían queser de longitud fija ¿no?

// Saludos
Responder Con Cita