Scopo
Imposta il valore di una proprietà di tipo intero di un oggetto. Ad esempio può essere utilizzata per cambiare il numero di righe di una tabella o la lunghezza di un campo.
Sintassi
INDE.SetPropInteger(id oggetto, proprietà, valore, id transazione, indice)
Argomenti
ID Oggetto | Puntatore dell'oggetto di cui impostare la proprietà. Solitamente il puntatore ad un oggetto viene recuperato tramite una delle seguenti funzioni: GetNextObject, GetObjectByID, GetObjectByCode, GetObjectByName, GetParentObject, GetPropObject. |
Proprietà | Indice della proprietà di cui impostare il valore. L'elenco delle proprietà disponibili sono contenute nella lista valori Proprietà Comuni e nella liste valori specifiche per tipo. |
Valore | Valore a cui impostare la proprietà. |
ID Transazione | Numero della transazione in cui effettuare la modifica ottenuto tramite la funzione BeginTransaction. |
Indice | Indice del valore nel caso la proprietà sia una collezione di valori. L'elenco dei possibili indici è specificato nella descrizione delle proprietà. |
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
{
int IDProgetto = 0 // Puntatore al progetto
int IDOggetto = 0 // Puntatore dell'oggetto
//
// Recupero il puntatore del progetto
IDProgetto := INDE.GetRootObject(IDDocumento)
//
Ricerca dell'oggetto
...
//
Lettura e modifica dell'oggetto
{
// Se ho trovato l'oggetto
if IDOggetto > ZERO
{
string GUID = "" // GUID dell'oggetto
int NumeroRighe = 0 // Numero di righe
int DerivataDa = 0 // Puntatore dell'oggetto da cui deriva
//
// Leggo alcune proprietà
GUID := INDE.GetPropGUID(IDOggetto, GUID, ??)
NumeroRighe := INDE.GetPropInteger(IDOggetto, Numero righe, ??)
DerivataDa := INDE.GetPropObject(IDOggetto, Derivato da, ??)
//
// Scrivo alcune proprietà
INDE.SetPropGUID(IDOggetto, GUID, 4F6DEA72-5C55-E16E-C4D8-
00DBCB8BC4A6, ??, ??)
INDE.SetPropInteger(IDOggetto, Numero righe, NumeroRighe, ??,
??)
INDE.SetPropObject(IDOggetto, Derivato da, DerivataDa, ??, ??)
//
// Cancello l'oggetto
INDE.DeleteObject(IDOggetto, ??, ??, ??)
}
}
}
}
{
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
{
int IDProgetto = 0 // Puntatore al progetto
int IDOggetto = 0 // Puntatore dell'oggetto
//
// Recupero il puntatore del progetto
IDProgetto := INDE.GetRootObject(IDDocumento)
//
Ricerca dell'oggetto
...
//
Lettura e modifica dell'oggetto
{
// Se ho trovato l'oggetto
if IDOggetto > ZERO
{
string GUID = "" // GUID dell'oggetto
int NumeroRighe = 0 // Numero di righe
int DerivataDa = 0 // Puntatore dell'oggetto da cui deriva
//
// Leggo alcune proprietà
GUID := INDE.GetPropGUID(IDOggetto, GUID, ??)
NumeroRighe := INDE.GetPropInteger(IDOggetto, Numero righe, ??)
DerivataDa := INDE.GetPropObject(IDOggetto, Derivato da, ??)
//
// Scrivo alcune proprietà
INDE.SetPropGUID(IDOggetto, GUID, 4F6DEA72-5C55-E16E-C4D8-
00DBCB8BC4A6, ??, ??)
INDE.SetPropInteger(IDOggetto, Numero righe, NumeroRighe, ??,
??)
INDE.SetPropObject(IDOggetto, Derivato da, DerivataDa, ??, ??)
//
// Cancello l'oggetto
INDE.DeleteObject(IDOggetto, ??, ??, ??)
}
}
}
}
- In alcuni casi la proprietà può non essere un semplice valore, ma una collezione di valori; ad esempio la proprietà Posizione degli oggetti di tipo Campo di Pannello contiene quattro valori come si può vedere dalla lista valori Indici Posizione Campo. Quindi quando si vuole cambiare la posizione X in lista di un campo di pannello occorre valorizzare anche il parametro Indice con valore Posizione X (lista). In caso di proprietà singole il parametro Indice va omesso o impostato a ZERO.
- Le modifiche fatte fuori transazione non cambiano lo stato del documento, cioè se il documento prima della modifica era non modificato dopo la modifica resta tale; quindi in fase di chiusura non verrebbe chiesto all'utente se vuole salvare.
- In caso di modifica fuori transazione non viene attivato il funzionamento del sistema di Team Working.
- La lettura delle proprietà di tipo intero avviene tramite la funzione GetPropInteger.
- Se il puntatore passato come parametro ID Oggetto non corrisponde ad alcun oggetto nel progetto aperto, allora verrà generata un'eccezione.
Ultima modifica: 22/08/2008 / Validità: da 7.1.3300