Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6 Controllo matrici dinamiche.

    Ho diverse matrici dinamiche, prima di trasferire i relativi valori devo controllare che la singola matrice sia carica; ciò per evitare il conseguente errore.
    Come devo fare ?
    LM

  2. #2

    Re: VB6 Controllo matrici dinamiche.

    Originariamente inviato da LMondi
    Ho diverse matrici dinamiche, prima di trasferire i relativi valori devo controllare che la singola matrice sia carica; ciò per evitare il conseguente errore.
    Come devo fare ?
    Non ci ho capito molto... spiega le espressioni in grassetto...
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Se la matrice non comprende valori nel tentativo di trasferire i dati in una LV
    itmX.SubItems(3) = RigidTelaiX(CountRigX - 1)
    emerge l'errore: "Indice non compreso nell'intervallo"
    Spero che così sia chiaro.
    LM

  4. #4
    codice:
    Public Function IsArrayInitialized(ByVal arr As Variant) As Boolean
        Dim dummy As Long
        Err.Clear
        If Not IsArray(arr) Then Err.Raise 5
        On Error Resume Next
        dummy = UBound(arr)
        If Err.Number = 0 Then IsArrayInitialized = True
    End Function
    La funzione in questione restituisce True se l'array che le passi è inizializzato, False in caso contrario.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Grazie, molto gentile.
    Per terminare, la funzione come la richiamo ?
    LM

  6. #6
    codice:
    '...
    Dim tuoArray() As Integer
    '...
    If IsArrayInitialized(tuoArray) Then
        'l'array è inizializzato, fa quello che deve fare
    Else
        MsgBox "Panico!", vbCritical
    End If
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    OK. ho capito. Ti ringrazio ancora.
    LM

  8. #8
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ho risolto; posto le Sub complete, magari può servire a qualcuno degli amici del forum:
    codice:
    Public Function IsArrayInitialized(ByVal arr As Variant) As Boolean
        Dim dummy As Long
        Err.Clear
        If Not IsArray(arr) Then Err.Raise 5 Or 9 Or 10
            On Error Resume Next
            dummy = UBound(arr)
        If Err.Number = 0 Then IsArrayInitialized = True
    End Function
    '------------------------------
    Private Sub CmdCalcola_Click()
            
        btAttiva = 0
        Set itmX = LvDati.ListItems.Add()
            itmX.SmallIcon = 1
            If IsArrayInitialized(Piani) = True Then itmX.Text = Piani(CountPiani - 1) Else btAttiva = 1: Txt1(0).SetFocus: Call Verifica: Exit Sub
            If IsArrayInitialized(TelaiX) = True Then itmX.SubItems(1) = TelaiX(CountTelX - 1) Else btAttiva = 1: Txt1(1).SetFocus: Call Verifica: Exit Sub
            If IsArrayInitialized(TelaiY) = True Then itmX.SubItems(2) = TelaiY(CountTelY - 1) Else btAttiva = 1: Txt1(2).SetFocus: Call Verifica: Exit Sub
            If IsArrayInitialized(RigidTelaiX) = True Then itmX.SubItems(3) = RigidTelaiX(CountRigX - 1) Else btAttiva = 1: Txt1(3).SetFocus: Call Verifica: Exit Sub
    '.... .... ....        
    End Sub
    '------------------------------------------------
    Sub Verifica()
        Dim i As Integer
        
        If btAttiva = 1 Then
            MsgBox "Impossibile procedere; inserire i dati mancanti !", vbQuestion, "Calcoli ..."
            i = LvDati.SelectedItem.index
            LvDati.ListItems.Remove (i)
            LvDati.Refresh
        End If
    
    End Sub
    LM

  9. #9
    Originariamente inviato da LMondi
    OK. ho capito. Ti ringrazio ancora.
    Non c'è di che.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.