English
Instant Developer Foundation Documentazione
  • Estensibilità
  • Libreria
  • INDE TreeWalker

Get Next Object

funzione link

Scopo

Ritorna il puntatore al prossimo oggetto che soddisfa i criteri di ricerca impostati con la procedura SetRoot, permettendo all'utente di navigare all'interno della ricerca.

L'ordine seguito nella navigazione corrisponde alla posizione degli oggetti all'interno del progetto. Prendendo per esempio il progetto Glossario.idp (vedi allegato), un TreeWalker avente come nodo radice il progetto nelle prime sei chiamate alla funzione GetNextObject restituirà gli oggetti nell'ordine mostrato nell'immagine sottostante.


Ordine di navigazione del TreeWalker

Sintassi

int IDOggetto = 0  // Identificativo dell'oggetto
// 
IDOggetto := TreeWalker.GetNextObject()

Argomenti

Questa funzione non ha argomenti.

Valore di ritorno

Ritorna un numero intero che rappresenta il puntatore all'oggetto successivo; se non ci sono altri oggetti restituisce ZERO.

Note

  • Prima di utilizzare questa funzione è necessario aver inizializzato il Tree Walker con la procedura SetRoot, altrimenti viene generata un'eccezione.
  • La navigazione degli oggetti avviene solo in avanti; è possibile però ricominciare la navigazione grazie alla procedura Reset.
  • L'ordine di navigazione in alcuni casi non coincide esattamente con la posizione degli oggetti nell'albero perchè esso visualizza gli oggetti in ordine di tipo. Ad esempio la lista degli oggetti contenuti in una tabella del database riporta prima i campi, poi le relazioni, i trigger, gli indici e i vincoli; all'interno del progetto tutti questi oggetti sono memorizzati in ordine di inserimento.
  • Se il Tree Walker è stato inizializzato senza specificare alcun filtro sul tipo di oggetti da cercare, allora il primo oggetto restituito dalla funzione GetNextObject è il nodo radice stesso.
  • Se il nodo radice non contiene oggetti che corrispondono ai filtri, la funzione GetNextObject restituirà subito ZERO.

Esempio di codice

// ******************************
// Importa le parole dei database
// ******************************

public void Parole.Importa()
{
  INDEExtension INDE = null   // Oggetto INDE
  INDETreeWalker TwDB = new() // TreeWalker per scorrere i DB
  int DocID = 0               // Identificativo del documento
  // 
  // Mi connetto a INDE

  INDE.Connect()
  // 
  // Recupero l'identificativo del documento attivo

  DocID := INDE.GetActiveDocument()
  if DocID > ZERO
  {
    int PrjID = 0 // Identificativo del progetto
    // 
    // Recupero l'identificativo del progetto

    PrjID := INDE.GetRootObject(DocID)
    // 
    // Inizializzo il TreeWalker per scorrere i database del progetto

    TwDB.SetRoot(PrjID, Database, ??, ??, ??)
    while True = True
    {
      INDETreeWalker tw = new() // TreeWalker per scorrere gli oggetti dei...
      int DBID = 0              // Identificativo del database
      // 
      // Passo al prossimo database

      DBID := TwDB.GetNextObject()
      if DBID = ZERO
      {
         break
      }
      // 
      // Inizializzo il TreeWalker per scorrere gli oggetti dei database

      tw.SetRoot(DBID, ??, ??, ??, ??)
      while True = True
         ...
    }
    // 
    // Aggiorno la query del pannello

    Parole.RefreshQuery()
  }
}

In questo esempio di codice, contenuto nella procedura Importa del progetto Gestione Glossario, la funzione GetNextObject viene usata per scorrere tutti i database del progetto.

Ultima modifica: 13/07/2008 / Validità: da 7.1.3300

Vedi Anche

  • Set Root (procedura)
  • Reset (procedura)
  • Scarica il progetto Glossario.zip

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum