Ist das der übliche Weg ?
Code: Alles auswählen
const
XMLConfigFile = 'config.xml'; // Bei normalen Anwendungen
...
procedure LoadStrings_from_XML(const Key: string; sl: TStrings);
var
Cfg: TXMLConfig;
ct, i: integer;
s: string;
begin
Cfg := TXMLConfig.Create(nil);
Cfg.Filename := XMLConfigFile;
ct := Cfg.GetValue(Key + '/Count', 0);
sl.Clear;
for i := 0 to ct - 1 do begin
s := Cfg.GetValue(Key + '/Item' + i.ToString+'/value', '');
sl.Add(s);
end;
Cfg.Free;
end;
procedure SaveStrings_to_XML(const Key: string; sl: TStrings);
var
Cfg: TXMLConfig;
i: integer;
begin
Cfg := TXMLConfig.Create(nil);
Cfg.Filename := XMLConfigFile;
Cfg.SetValue(Key + '/Count', sl.Count);
for i := 0 to sl.Count - 1 do begin
Cfg.SetValue(Key + '/Item' + i.ToString+'/value', sl[i]);
end;
Cfg.Free;
end;
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<CONFIG>
<Serial_Monitor_Form>
<ComboBox_Send_Text Count="4">
<Item0 value="test"/>
<Item1 value="Hello World !"/>
<Item2 value="Hello"/>
<Item3 value="test"/>
</ComboBox_Send_Text>
</Serial_Monitor_Form>
</CONFIG>
Code: Alles auswählen
...
<ComboBox_Send_Text>
<Item value="test"/>
<Item value="Hello World !"/>
<Item value="Hello"/>
<Item value="test"/>
</ComboBox_Send_Text>
...
Die neueren lpi und lpk Dateien sehen auch so ähnlich aus.