Hallo zusammen,
ich stehe vor dem Problem, dass ich in einem Zweig von einem TreeView doppelte Einträge verhindern möchte. Dazu habe ich den folgenden Versuch angestellt mit dem Ereignis OnEdited :
Delphi-Quellcode:
procedure TMainForm.TV_CategoryEdited(Sender: TObject; Node: TTreeNode;
var S: string);
begin
// To search for a duplicated tree node
if TreeNodeSearch(Node.Parent, S) <> nil then
begin
case MessageBox(0, 'Sie haben einen doppelten Eintrag erstellt. Ändern ?', 'Doppelter Eintrag', MB_ICONQUESTION or MB_YESNO) of
idYes: Node.EditedTex;
idNo: S := S + ' [new]';
end;
end;
end;
Die Funktion "TreeNodeSearch" macht folgendes :
Delphi-Quellcode:
function TMainForm.TreeNodeSearch(aNode: TTreeNode; SearchItem: string): TTreeNode;
var
I: Integer;
begin
result := nil;
if (aNode = nil) or (SearchItem = '') then Exit;
for I := 0 to aNode.Count - 1 do
begin
if SearchItem = aNode.Item[i].Text then
begin
Result := aNode.Item[i];
exit;
end;
end;
end;
Die Edit-Funktion klappt leider nicht. Es gibt aber auch keine Fehlermeldung. Wie kann ich diese Edit-Funktion realisieren ?