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

    VB6-Attibuire valori di una matrice in modo dinamico.

    Sono in una situazione d'enpasse, non riesco a risolvere il seguente problema.
    Ho 5 variabili Double (dblCaImp0 ... dblCaImp4) caricate con valori che provengono dal DB; queste variabili posso portare un valore (0) o un valore positivo e devono essere attribuite al componente MSChart per valorizzare le rispettive righe:
    FrmGrafAnni.MSChartAnni.Data = dblCaImp...
    Ho costruito una Sub per la selezione delle varie ipotesi e funziona, però in modo statico. Mi spiego, attualmente è possibile selezionare e valorizzare, ad esempio, 2 anni nella predetta sequenza di 5 esclusivamente da destra verso sinistra, ovvero 2005 e 2006. Non è pertanto possibile, ad esempio, la selezione di 2004 - 2006, come si può rilevare dal seguente codice:
    codice:
    If Contsy = 2 Then
            With FrmGrafAnni.MSChartAnni
                    ' n° delle righe:
                    .RowCount = 2
                    ' Riga 1:
                    .Row = 1
                    ' Valore della Riga 1 /colonna 1:
                    .Data = (dblCaImp3)      'anno 2005
                    ' Riga 2:
                    .Row = 2
                    ' Valore della Riga 2 /colonna 1:
                    .Data = (dblCaImp4)     ' anno 2006
           End With
    End if
    Ho pensato d'inserire i valori delle variabili in una matrice (anche su un'indicazione ricevuta in precedenza) , come segue
    codice:
    For i = FrmGrafAnni.TxtAnnoGraf.LBound To FrmGrafAnni.TxtAnnoGraf.UBound
                    sgnCountImp = 1 + sgnCountImp
                    If sgnCountImp = 1 Then ValImp(i) = dblCaImp0
                    If sgnCountImp = 2 Then ValImp(i) = dblCaImp1
                    If sgnCountImp = 3 Then ValImp(i) = dblCaImp2
                    If sgnCountImp = 4 Then ValImp(i) = dblCaImp3
                    If sgnCountImp = 5 Then ValImp(i) = dblCaImp4
    Next i
    Continuando con l'esempio sopra esposto, nella matrice avrei solo due posizioni >0 che dovrei attribuire a .Data = Anno 2004 e .Data = Anno2006 - rispettivamente ValImp(2) e ValImp(4) - S'intende in modo dinamico e non Statico come nell'esempio.
    Di dareste qualche consiglio?
    LM

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Penso d'aver risolto così:
    codice:
    With FrmGrafAnni.MSChartAnni
                    ' n° delle righe:
                    .RowCount = 2
                    ' Riga 1:
                    .Row = 1
                    sgnCountImp = 0
                    For i = 0 To UBound(ValImp)
                        If ValImp(i) > 0 Then
                            sgnCountImp = (1 + sgnCountImp)
                            ' Valore della Riga 1:
                            If sgnCountImp = 1 Then .Data = (ValImp(i) / 10 ^ 6)
                                ' Riga 2:
                                .Row = 2
                                ' Valore della Riga 2:
                            If sgnCountImp = 2 Then .Data = (ValImp(i) / 10 ^ 6)
                        End If
                    Next i
                End With
            End If
    Grazie comunque.
    LM

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.