Scopo
Riporta il TreeWalker allo stato in cui si trovava subito dopo la chiamata alla procedura SetRoot. Solitamente viene usata quando si è arrivati alla fine della navigazione e si vuole ricominciare da capo.
Sintassi
TreeWalker.Reset()
Argomenti
Questa procedura non ha argomenti.Note
- Vengono azzerati solo gli indici all'interno dell'oggetto TreeWalker, le impostazioni del nodo radice e dei filtri effettuate con il metodo SetRoot vengono mantenute.
- Dopo aver usato il metodo Reset, la funzione GetNextObject restituisce il puntatore al primo oggetto della ricerca, permettendo di ripercorrere gli stessi oggetti nello stesso ordine.
Esempio di codice
try
{
INDEExtension INDE = null // Oggetto INDE
int IDDocumento = 0 // Puntatore del documento
//
// Mi connetto a IN.DE
INDE.Connect()
//
// Recupero il puntatore del documento aperto
IDDocumento := INDE.GetActiveDocument()
//
// Se c'è un documento aperto
if IDDocumento > ZERO
{
INDETreeWalker tw = new() // TreeWalker
int IDProgetto = 0 // Puntatore al progetto
int i = 1 // Numero di giri
//
// Recupero il puntatore del progetto
IDProgetto := INDE.GetRootObject(IDDocumento)
//
// Inizializzo il TreeWalker per scorrere i database
tw.SetRoot(IDProgetto, Database, ??, ??, ??)
//
// Faccio due giri
while True = True AND i < 2
{
int IDDatabase = 0 // Puntatore dell'oggetto
//
// Recupero il prossimo database
IDDatabase := tw.GetNextObject()
if IDDatabase = ZERO
{
// Faccio un secondo giro
tw.Reset()
i := i + ONE
}
//
// Operazioni sul database
...
{
}
}
}
}
{
INDEExtension INDE = null // Oggetto INDE
int IDDocumento = 0 // Puntatore del documento
//
// Mi connetto a IN.DE
INDE.Connect()
//
// Recupero il puntatore del documento aperto
IDDocumento := INDE.GetActiveDocument()
//
// Se c'è un documento aperto
if IDDocumento > ZERO
{
INDETreeWalker tw = new() // TreeWalker
int IDProgetto = 0 // Puntatore al progetto
int i = 1 // Numero di giri
//
// Recupero il puntatore del progetto
IDProgetto := INDE.GetRootObject(IDDocumento)
//
// Inizializzo il TreeWalker per scorrere i database
tw.SetRoot(IDProgetto, Database, ??, ??, ??)
//
// Faccio due giri
while True = True AND i < 2
{
int IDDatabase = 0 // Puntatore dell'oggetto
//
// Recupero il prossimo database
IDDatabase := tw.GetNextObject()
if IDDatabase = ZERO
{
// Faccio un secondo giro
tw.Reset()
i := i + ONE
}
//
// Operazioni sul database
...
{
}
}
}
}
In questo codice la procedura Reset viene utilizzata per scorrere due volte i database del progetto.
Ultima modifica: 13/07/2008 / Validità: da 7.1.3300