Wenn du wissen willst, ob was gesetzt wurde, dann mußt du dir dieses auch "zusätzlich" merken.
Oder du führst einen weiteren Status ein.
Delphi-Quellcode:
type
Status = (nicht_gesetzt, aktiv, inaktiv);
Alternativ mal in die TStringList schauen, welches mehrfach Version 1 implementiert hat:
Delphi-Quellcode:
type
TStringsDefined = set of (sdDelimiter, sdQuoteChar, sdNameValueSeparator, sdLineBreak, sdStrictDelimiter);
TStrings = class(TPersistent)
private
FDefined: TStringsDefined;
FLineBreak: string;
function GetLineBreak: string;
procedure SetLineBreak(const Value: string);
public
property LineBreak: string read GetLineBreak write SetLineBreak;
end;
function TStrings.GetLineBreak: string;
begin
if not (sdLineBreak in FDefined) then
LineBreak := sLineBreak;
Result := FLineBreak;
end;
procedure TStrings.SetLineBreak(const Value: string);
begin
if (FLineBreak <> Value) or not (sdLineBreak in FDefined) then
begin
Include(FDefined, sdLineBreak);
FLineBreak := Value;
end
end;