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