Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Doppelte Einträge in einem Treeview verhindern

  Alt 10. Jun 2009, 18:51
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 ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat