FindElement linia 284, TSInfoFiles.pp

protected function FindElement(const AElementName: String; AForcePath: Boolean; AReturnAttribute: Boolean): TObject;

Metoda pobierająca referencję do elementu drzewa, na podstawie jego ścieżki.

parametry
AElementName łańcuch znaków, zawierający ścieżkę lub samą nazwę elementu do odnalezienia w drzewie
AForcePath wartość logiczna, określająca czy w razie nieistnienia ścieżki należy utworzyć brakujące węzły
AReturnAttribute wartość logiczna, określająca typ elementu do wyszukania w drzewie
wartość zwracana
TObject instancja klasy atrybutu lub węzła potomnego, w zależności od wartości parametru AReturnAttribute

Metoda na podstawie ścieżki podanej w parametrze AElementName przeszukuje drzewo i zwraca referencję do danego elementu. Argument AForcePath określa sposób postępowania w przypadku nieistnienia elementu o podanej ścieżce lub nazwie. Jeżeli szukany element nie istnieje, zostaje on utworzony, o ile parametr AForcePath przyjmuje wartość True.

Wyszukiwanie zawsze rozpoczyna się od węzła, do którego referencja zawarta jest w polu FCurrentNode. Jeżeli w danym momencie jest już otwarty węzeł potomny (metodą OpenChildNode), od niego rozpoczyna się przeszukiwanie drzewa. W przeciwnym razie bazowym węzłem jest węzeł główny.

Typ zwracanego elementu określa argument AReturnAttribute. Jeśli przyjmuje wartość True, zwracana jest referencja do instancji klasy atrybutu. W przeciwnym razie do rezultatu metody wpisana zostaje wskazanie na obiekt węzła potomnego. Zwraca wskaźnik elementu tylko w przypadku, gdy dany element istnieje lub mógł zostać utworzony. Jeśli dany element nie istnieje lub z jakiejś przyczyny nie mógł zostać utworzony, metoda zwraca wartość nil.

Wykorzystywana jest w metodach FindAttribute oraz FindNode, służących do pobrania referencji odpowiednio do obiektu atrybutu lub węzła potomnego, na podstawie pełnej ścieżki elementu lub jego samej nazwy.

zobacz też:

copyright © furious programming 2013—2018