English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Collection
  • Navigazione

Find Index

funzione copia link

Scopo

Questa funzione permette di sapere se un documento è presente nella collection e ne torna l'indice.

Sintassi

int idx = 0 // L'idx a cui è presente il documento trovato
// 
idx := Collection.FindIndex(documento)

Argomenti

Documento E' un oggetto di tipo IDDocument che rappresenta il documento da cercare nella collection

Valore di ritorno

Questa funzione ritorna l'indice del documento all'interno della collection, compreso fra 1 e Count, altrimenti torna zero.

Esempio di codice

// *****************************
// Ricerca il fornitore per nome
// *****************************

public void ProveCollection.Ricerca()
{
  // Vado all'inizio
  this.Fornitori.MoveFirst()
  // 
  // Ciclo per tutti i fornitori

  while NOT(this.Fornitori.IsEof())
  {
    Fornitori f = null // Il fornitore attuale
    // 
    // prelevo il fornitore attualmente puntato dalla collection

    f := this.Fornitori.GetAt()
    // 
    // Se trovo il filtro di ricerca, lo eseguo

    if Find(f.NomeSocieta, Filtro.Ricerca, ??) > ZERO
    {
      int idx = 0 // L'idx a cui è stato trovato
      // 
      this.MostraAttuale()
      // 
      // Dico anche dove era posizionato

      idx := this.Fornitori.FindIndex(f)
      EsempiDO.MessageBox(FormatMessage(MSG Stato Trovato, idx, ??, ??, ??, ??))
      // 
      // Fine della ricerca

      return
    }
    // 
    // Passo al prossimo

    this.Fornitori.MoveNext()
  }
  // 
  // Non trovato, mostro messaggio

  EsempiDO.MessageBox(MSG Trovato Fornitore +c Filtro.Ricerca)
}
  • Se il documento è presente, allora la collection rimane posizionata su di esso, altrimenti la collection viene posizionata dopo l'ultimo elemento.
  • La ricerca del documento avviene per puntatori. Viene ricercata cioè proprio l'istanza del documento passata come parametro. Se due documenti sono uguali, cioè rappresentano lo stesso record fisico sul database, ma in memoria sono memorizzati come istanze differenti, essi non verrebbero considerati uguali da questa funzione.

Ultima modifica: 25/10/2016 / Validità: da 6.5.2680

Vedi Anche

  • ID Document
  • Count (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum