English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Document Orientation
  • ID Document
  • Proprietà

Get Property

funzione copia link

Scopo

Questa funzione consente di recuperare il valore attuale di una delle proprietà pubbliche del documento riferenziandola per indice.

Può quindi essere utile per effettuare un ciclo e leggere tutte le proprietà pubbliche del documento, come mostrato nell'esempio online, oppure per leggere il valore di una proprietà trovata tramite la funzione GetPropertyIndex che permette di conoscere l'indice di una proprietà dati i suoi parametri (nome logico, nome fisico, dominio...)

Sintassi

string valore = "" // Valore Attuale
// 
valore := Doc.GetProperty(indice proprietà)

Argomenti

Indice Proprietà E' un numero intero da 1 al numero di proprietà pubbliche del documento e indica quale proprietà deve essere ritornata. Se l'indice è al di fuori dei valori indicati si otterrà un'eccezione.

Valore di ritorno

Viene ritornato il valore attuale della proprietà pubblica indicata del documento. Questa funzione definisce come valore di ritorno di tipo String, tuttavia il tipo del valore ritornato dipende dal tipo di proprietà referenziata: se ad esempio si richiede una proprietà intera, verrà ritornato un valore intero.

Esempio di codice

// *******************************************
// Analizza il documento e carica le proprietà
// *******************************************

public void Ispettore.CaricaProprietà(
  IDDocument Doc // Il documento da analizzare
)
{
  IDDocumentStructure ds = null // La struttura del documento
  int np = 1                    // Enumera le proprietà
  // 
  // Cancelliamo il contenuto precedente

  delete from ProprietàOggetto
  // 
  // Recupero il meta schema dell'oggetto

  ds := Doc.GetStructure()
  // 
  // Enumeriamo le proprietà

  while np <= ds.GetPropertyCount()
  {
    IDPropertyDefinition pr = null // La definizione della proprietà np-esima
    string nome = ""               // Nome della proprietà
    string valore = ""             // Valore Attuale
    string vorg = ""               // Valore Originale
    // 
    // Recupero la definizione della proprietà np-esima

    pr := ds.GetPropertyDefinition(np)
    // 
    // Prelevo il nome e i valori

    nome := pr.UIName
    valore := Doc.GetProperty(np)
    vorg := Doc.GetOriginalValue(np)
    // 
    // Solo se la proprietà non è temporanea

    if NOT(pr.Transient)
    {
      // Creo la riga di proprietà nel pannello
      insert values into ProprietàOggetto
         set NomeProprietà := nome
         set ValoreProprietà := valore
         set ValoreOriginale := vorg
         set IndiceProprietà := np
    }
    // 
    // Prossima proprietà

    np := np + ONE
  }
  // 
  Mostro la proprietà che implementa il "concetto" di data iniziale
  {
    int dataidx = 0 // L'indice della proprietà DATA INIZIALE
    // 
    dataidx := Doc.GetPropertyIndex(DO_DATAINIZIALE, ??, ??, ??, ??)
    // 
    if dataidx > ZERO
    {
      ProprietàOggetto.LabelDataIniziale.Caption := FormatMessage(MSG Iniziale, ToString(
         Doc.GetProperty(dataidx)), ??, ??, ??, ??)
    }
    else  // 
    {
      ProprietàOggetto.LabelDataIniziale.Caption := MSG Iniziale Supportata
    }
  }
}
  • Questa funzione può essere utilizzata per implementare dei servizi documentali trasversali, potendo trattare i documenti senza conoscerne il tipo. Nell'esempio di codice e nell'esempio online, nota come viene recuperata la proprietà del documento che corrisponde al concetto di "Data Iniziale".

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

  • Get Property Index (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum