Interrogazione dimensioni Matrice

Creare una macro - Scrivere uno script - Usare le API
Rispondi
Logical Passion
Messaggi: 16
Iscritto il: giovedì 13 settembre 2018, 11:07

Interrogazione dimensioni Matrice

Messaggio da Logical Passion »

Buongiorno a tutti,

gentilmente qualcuno potrebbe indicarmi se in OpenOffice Basic esiste (e quale sia) una istruzione o comando per conoscere le dimensioni di una matrice?

Grazie, Marco
Logica e Metodo attributi della Ragione,
Intuizione ed Immaginazione attributi della Genialità,
Passione ed Amore la loro energia.

OpenOffice 4.1.5 Windows Seven
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Interrogazione dimensioni Matrice

Messaggio da charlie »

Ciao e benvenuto sul forum.
Se intanto ti vuoi presentare puoi farlo qui: viewforum.php?f=16
Per una panoramica delle regole del forum consulta il Manuale di sopravvivenza: http://forum.openoffice.org/it/forum/vi ... hp?f=1&t=2
Buon proseguimento.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Logical Passion
Messaggi: 16
Iscritto il: giovedì 13 settembre 2018, 11:07

Re: Interrogazione dimensioni Matrice

Messaggio da Logical Passion »

Buongiorno charlie,

ti ringrazio per l'accoglienza. Ho provveduto a presentarmi ed ho ridato uno sguardo ai titoli delle sezioni del manuale di sopravvivenza (n.d.r.: Titolo originale e simpatico!) che ritengo tutti atteggiamenti di buon senso.

Per quanto riguarda la richiesta che ha generato questo nuovo argomento, per chiarire l'ambito della domanda, aggiungo che nella guida di OpenOffice ho trovato i comandi LBound ed UBound che restituiscono i confini, inferiore e superiore, di una singola dimensione della matrice (un vettore della matrice).
Per conoscere il numero di dimensioni si potrbbe effettuare un ciclo di chiamate di uno di questi due comandi fino alla restituzione di un errore per aver eseguito l'interrogazione su di una dimensione inesistente ma, naturalmente, sarebbe molto più pratico poter ottenere il numeo di dimensioni (ed i relativi confini, magari anche solo il superiore, assumendo l'inferiore per defaul uguale a zero) con una singola istruzione.
Logica e Metodo attributi della Ragione,
Intuizione ed Immaginazione attributi della Genialità,
Passione ed Amore la loro energia.

OpenOffice 4.1.5 Windows Seven
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Interrogazione dimensioni Matrice

Messaggio da patel »

Di solito è il programmatore che dimensiona le matrici che intende utilizzare, talvolta la matrice è il risultato di una lettura da un range di celle ed in questo caso è necessario utilizzare LBound ed UBound, ma la matrice è sempre bidimensionale. Potresti fare un esempio che illustra il tuo problema ?
Comunque prova questa macro

Codice: Seleziona tutto

Sub testing()
  Dim arr(1 To 3, 1 To 10, 1 To 5)
  MsgBox NumberOfDimensions(arr)
End Sub

Function NumberOfDimensions(arr As Variant) As Long
  If IsArray(arr) Then
    On Error GoTo Done
    Do
      NumberOfDimensions = NumberOfDimensions + 1
    Loop While IsNumeric(UBound(arr, NumberOfDimensions))
  End If
Done: NumberOfDimensions = NumberOfDimensions - 1
End Function
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Logical Passion
Messaggi: 16
Iscritto il: giovedì 13 settembre 2018, 11:07

Re: Interrogazione dimensioni Matrice

Messaggio da Logical Passion »

Ciao Patel,

ti ringrazio per la tua risposta, credo tu abbia colto il nocciolo della questione quando hai scritto "talvolta la matrice è il risultato di una lettura da un range di celle ed in questo caso è necessario utilizzare LBound ed UBound" che effettivamente già svolgono la funzione di cui necessito.
Ignorando l'esistenza di questi due comandi mi stavo documentando sulle matrici e, quando sono giunto ad essi, avendo prima letto riguardo la possibile pluralità di dimensioni oltre le due classiche, ho iniziato a chiedermi se fosse possibile eseguire interrogazioni anche in merito al numero delle dimensioni.
Logica e Metodo attributi della Ragione,
Intuizione ed Immaginazione attributi della Genialità,
Passione ed Amore la loro energia.

OpenOffice 4.1.5 Windows Seven
Rispondi