Zitat von
waldforest:
Habe auch keine Ahnung, wie ich einen TStringStream direkt in eine INI-Section bekomme.
Direkt geht das auch nicht. Außerdem bekommst du Schwierigkeiten, wenn du solche Eigenschaften wie Font speichern willst. Die Ini-Datei bietet sich eigentlich nur für solche Eigenschaften der Columns an, die in deinem Programm vom Benutzer zur Laufzeit verändert werden können. Hier eine kleine Starthilfe:
Delphi-Quellcode:
uses
TypInfo,
IniFiles;
procedure SaveToIniFile(gc: TDBGridColumns; ini: TMemIniFile);
var
i, j, iProps: integer;
c: TColumn;
ppl: PPropList;
ppi: PPropInfo;
colName: string;
begin
for i := 1 to gc.Count do begin
c := gc.Items[Pred(i)];
colName := c.FieldName;
ini.EraseSection(colName);
iProps := GetPropList(c, ppl);
for j := 0 to Pred(iProps) do begin
ppi := ppl[j];
case ppi.PropType^.Kind of
tkString,
tkLString:
ini.WriteString(colName, ppi.Name, GetStrProp(c, ppi));
tkInteger:
ini.WriteString(colName, ppi.Name, IntToStr(GetInt64Prop(c, ppi)));
tkEnumeration:
ini.WriteString(colName, ppi.Name, GetEnumProp(c, ppi));
end;
end;
end;
end;
Grüße vom marabu