Einzelnen Beitrag anzeigen

Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#1

Kontrolle, ob eine Variable im Record geändert wurde.

  Alt 24. Feb 2015, 11:42
Mal wieder Brainstorming

Gegeben ist ein Record (Beispiel - Kann auch irgend eine andere Datenstruktur sein)

Delphi-Quellcode:
type
  TMeinDatenRecord = record
    Nachname:String;
    Vorname:String;
    Geb:TDatetime;
    IrgendeineNummer:integer;
  end;
Der Datenrecord wird mit Daten gefüllt und somit in einen Ausgangszustand versetzt. Dann soll dieser Record einer Procedure übergeben werden. Dort können einzelne Felder geändert werden.

Wie finde ich nun am bessten (und ohne grossen Aufwand) heraus, welches Feld geändert wurde? Kann natürlich eine Kopie des Records anlegen und diesen dann vergleichen.

Oder sollte ich lieber Objekte verwenden und dort ein ChangeFlag im Setter setzen?

Oder kann ich mir einen Typen deklarieren, den ich wie einen Standardtypen verwenden kann aber erweiterte funktionen hat. In folgender Art:

Delphi-Quellcode:
var
  MyString:TStringExtended;
begin
  MyString.IsNull := true; // Kein Inhalt
  MyString:='Ein Text';
  IstGeaendert := MyString.IsChanged;
end;
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat