Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Искать узел TTreeView через его свойство Text

Delphi , Компоненты и Классы , TTreeView

Искать узел TTreeView через его свойство Text

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

// Search a TreeItem through its Text property 
// Return value is a TreeNodeObject 

// TreeItem uber die TextEigenschaft  suchen 
// Der Ruckgabewert der Function ist ein TreeNodeObject. 

function Form1.TreeItemSearch(TV: TTreeView; SucheItem: string): TTreeNode;
 var
   i: Integer;
   iItem: string;
 begin
   if (TV = nil) or (SucheItem = '') then Exit;
   for i := 0 to TV.Items.Count - 1 do
    begin
     iItem := TV.Items[i].Text;
     if SucheItem = iItem then
      begin
       Result := TV.Items[i];
       Exit;
     end
      else
      begin
       Result := nil;
     end;
   end;
 end;


 //  Example: Search for Wasserfall in TreeView1 and select item 

//  Beispiel: Sucht in TreeView1 das 
//  Item mit der Beschriftung  >Wasserfall< u. selectiert es; 
procedure TForm1.Button1Click(Sender: TObject);
 var
   Node: TTreeNode;
 begin
   //either - entweder so 
  Node := TreeItemSuchen(TreeView1, 'Wasserfall');
   TreeView1.Selected := Node;

   //or - oder so 
  TreeView1.Selected := TreeItemSuchen(TreeView1, 'Wasserfall ');
 end;

Here's the translation of the content into Russian:

Код - функция Delphi, которая ищет конкретный текст в элементах компонента TTreeView и возвращает соответствующий объект TreeNodeObject, если он найден.

Разбивка кода:

function Form1.TreeItemSearch( TV: TTreeView; SucheItem: string): TTreeNode;

Функция принимает два параметра: TV (компонент TTreeView) и SucheItem (текст для поиска). Она возвращает объект TTreeNode.

var
  i: Integer;
  iItem: string;
begin
  if (TV = nil) or (SucheItem = '') then Exit; // Если TV равен нулю или SucheItem пустой, выйти из функции

  for i := 0 to TV.Items.Count - 1 do // Перебрать все элементы в дереве
  begin
    iItem := TV.Items[i].Text; // Получить текст текущего элемента
    if SucheItem = iItem then // Если найденный текст совпадает с текстом элемента
    begin
      Result := TV.Items[i]; // Вернуть объект TreeNodeObject этого элемента
      Exit;
    end
    else
    begin
      Result := nil; // Если не найден, вернуть нулевое значение
    end;
  end;
end;

Функция перебирает все элементы в дереве и проверяет, совпадает ли найденный текст с текстом каждого элемента. Если совпадение найдено, функция возвращает соответствующий объект TreeNodeObject.

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
  Node: TTreeNode;
begin
   // Или использовать этот способ:
  Node := TreeItemSearch(TreeView1, 'Wasserfall');
  TreeView1.Selected := Node;

   // Или использовать этот способ:
  TreeView1.Selected := TreeItemSearch(TreeView1, 'Wasserfall ');
end;

В примере процедура Button1Click ищет элемент с именем "Wasserfall" в дереве TreeView1 и выбирает его. Функция используется дважды: раз - напрямую, а другой раз - как возвращаемое значение.

В статье описывается функция Delphi, которая позволяет найти узел ТTreeView по его текстовому свойству и вернуть результат в виде объекта TreeNodeObject.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TTreeView ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:35:07/0.0058190822601318/1