Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [VB6] Array vuoto, come saperlo?

    Ho una funzione che carica un array a fronte di una query, ma se non trovo le informazioni da caricare l'array resta vuoto e quando al ritorno della stessa funzione eseguo il ciclo FOR, mi becco il messaggio di "INdice non comrpeso nell'intervallo".

    Come faccio, preventivamente al ciclo FOR, a verificare se l'array è vuoto?

    Grazie anticipatamente.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  2. #2
    dovrebbe esserci la proprietà ubound

    fai a.ubound e ti restituisce il numero di elementi dell'array a

  3. #3
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    in vb6 c'è la funzione Ubound
    Ubound(array) che restituisce l'ultimo indice disponibile
    Take it easy babe.. take it as it comes

  4. #4
    Originariamente inviato da Gigi84
    in vb6 c'è la funzione Ubound
    Ubound(array) che restituisce l'ultimo indice disponibile
    Ho provato a fare:

    var = Ubound(Array)

    ma l'assegnazione mi restituisce lo stesso errore che avevo.

    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    hai provato con il mio codice?
    fai
    if array.ubound<>0 then
    istruzioni..
    ..
    ..
    else
    'l'arrey è vuoto

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Utilizza la On Error Resume Next per intercettare l'errore

  7. #7
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    Originariamente inviato da maximum
    Ho provato a fare:

    var = Ubound(Array)

    ma l'assegnazione mi restituisce lo stesso errore che avevo.

    dubito che ti restituisca "indice non compreso nell'intervallo"

    prova a postare la parte di codice che ti da errore..
    Take it easy babe.. take it as it comes

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    158
    Originariamente inviato da Gigi84
    dubito che ti restituisca "indice non compreso nell'intervallo"

    prova a postare la parte di codice che ti da errore..
    Se l'array è solo istanziato è chiaro che ritorna errore.

    non c'è niente da fare, in VB6 l'unico modo per essere sicuri e il seguente:

    codice:
    Public Function TestEmptyArray(ByRef a As Variant) As Boolean
        TestEmptyArray = False
        Dim dummy As Variant
        On Error GoTo Catch
            dummy = a(0)
    Finally:
        Exit Function
    Catch:
        If Err.Number = 9 Then
            TestEmptyArray = True
        End If
        GoTo Finally 
    End Function
    questa restituisce vero se l'array non è istanziato, falso se contiene anche solo un valore
    DISCLAIMER
    quello che sta scritto qui sopra è dettato esclusivamente dall'intuito, non da specifiche conoscenze tecniche. Usate queste informazioni a vostro rischio e pericolo (anhe sui server di produzione

  9. #9
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    Originariamente inviato da vaitrafra
    Se l'array è solo istanziato è chiaro che ritorna errore.
    in effetti è un po' che non programmo in vb6 , non ricordavo desse QUELL'errore, sai non è tanto esplicativo.
    Take it easy babe.. take it as it comes

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    O anche

    codice:
    Public Function IsArrayEmpty(ByRef a As Variant) As Boolean
        On Error Resume Next
        IsArrayEmpty = (a(0) = a(0))
        IsArrayEmpty = (Err.Number = 9)
    End Function
    che restituisce True se l'array e' vuoto (senza elementi)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.