Hi,
ich habe gerade mal auf die schnelle was gecodet. Das ist komplett ungetestet, weil ich kein funktionsfähiges Delphi im Moment auf dem Laptop habe. Aber es sollte funktionieren.
Delphi-Quellcode:
var
i: integer;
xmlNode, xmlParent: IXMLDOMNode;
xmlXSL, sID: string;
begin
sID := lv_eintraege.items[i].Caption;
xmlXSL := '/PlanView/termin[terminid="'+sID+'"]';
xmlNode := xmlDoc.selectSingleNode(xmlXSL);
xmlParent.removeChild(xmlNode);
xmlNode := nil;
xmlParent := nil;
for i:=0 to lv_eintraege.Items.Count-1 do begin
sID := lv_eintraege.Items[i].Caption;
xmlXSL := '/PlanView/termin[terminid="'+sID+'"]';
xmlNode := xmlDoc.documentElement.selectSingleNode(xmlXSL);
xmlNode.selectSingleNode('terminid').text := IntToStr(i);
end;
xmlDoc.save(self.instpath + xmlfilename);
{... der ganze Rest von wegen Hinweise etc. ...}
frm_terminplaner.UpdateList;
end;
Der Source ist komplett optimiert, so gut es geht.
Wenn es nicht geht (präventiver Hinweis): Zeile, Fehlermeldung, etc. angeben! Meine Glaskugel wird gerade von Luckie repariert.
Chris
PS: Dein Fehler liegt einfach darin, dass du immer von
1 nach
Items - 1 zählst. Sieh dir meinen Source an und lerne.
[edit=Chakotay1308]Fehler korrigiert.[/edit]