Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

chartspace e sfarfallio

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

chartspace e sfarfallio

Postdi piter123 » 03/01/09 12:24

salve a tutti, in un progetto in vb6 inserisco in una form un chartspace (owc11) e lo gestisco con il codice di seguito.
Tramite un timer viene aggiornato ogni secondo, il problema stà nel fatto che crea un fastidioso sfarfallio, è possibile in qualche maniera eliminarlo ?
Codice: Seleziona tutto
Public Sub GRAFICO_SMILE()
Dim GRAFPOSCALAX(), LINEA_ZERO(), SMILECALL(), PUNTOSMILECALLBS(), PUNTOSMILECALL(), SMILEPUT(), PUNTOSMILEPUTBS(), PUNTOSMILEPUT()
ReDim GRAFPOSCALAX(MSFlexGrid1.Rows), LINEA_ZERO(MSFlexGrid1.Rows)
ReDim SMILECALL(MSFlexGrid1.Rows), PUNTOSMILECALLBS(MSFlexGrid1.Rows), PUNTOSMILECALL(MSFlexGrid1.Rows)
ReDim SMILEPUT(MSFlexGrid1.Rows), PUNTOSMILEPUTBS(MSFlexGrid1.Rows), PUNTOSMILEPUT(MSFlexGrid1.Rows)

'CARICA MATRICI DATI E LINEA DELLO ZERO
For I = 1 To MSFlexGrid1.Rows - 1
        GRAFPOSCALAX(I) = CStr(MSFlexGrid1.TextMatrix(I, 13))                                              'ASSE X
        LINEA_ZERO(I) = 0                                                                                  'LINEA DELLO ZERO
        If MSFlexGrid1.TextMatrix(I, 1) <> "" Then
            SMILECALL(I) = Val(Replace(Replace(MSFlexGrid1.TextMatrix(I, 8), " %", ""), ",", ".")) / 100   'LINEA VOLA CALL
            If MSFlexGrid1.TextMatrix(I, 5) = "BS" Then
                    PUNTOSMILECALLBS(I) = SMILECALL(I)                                                     'MARCATORE PUNTO SMILE BS CALL
                    PUNTOSMILECALL(I) = 1.23456789123457E+17
                Else
                    PUNTOSMILECALL(I) = SMILECALL(I)                                                       'MARCATORE PUNTO SMILE CALL
                    PUNTOSMILECALLBS(I) = 1.23456789123457E+17
            End If
        End If
        If MSFlexGrid1.TextMatrix(I, 15) <> "" Then
        SMILEPUT(I) = Val(Replace(Replace(MSFlexGrid1.TextMatrix(I, 21), " %", ""), ",", ".")) / 100       'LINEA VOLA PUT
            If MSFlexGrid1.TextMatrix(I, 18) = "BS" Then
                    PUNTOSMILEPUTBS(I) = SMILEPUT(I)                                                       'MARCATORE PUNTO SMILE BS PUT
                    PUNTOSMILEPUT(I) = 1.23456789123457E+17
                Else
                    PUNTOSMILEPUT(I) = SMILEPUT(I)                                                         'MARCATORE PUNTO SMILE PUT
                    PUNTOSMILEPUTBS(I) = 1.23456789123457E+17
            End If
        End If
Next I

'AZZERA GRAFICO
ChartSpace1.Clear                           'CANCELLA CONTENUTO DEL GRAFICO
ChartSpace1.Refresh

'CREA GRAFICO
Set ChartObj = ChartSpace1                  'INIZIALIZZA GRAFICO
    Set ChartConsts = ChartObj.Constants
    Set NewChart = ChartObj.Charts.Add

'TIPO DI GRAFICO
NewChart.Type = 6

'CREAZIONE DELLE SERIE
Set Serie = NewChart.SeriesCollection.Add         'ASSE X
    Set Serie1 = NewChart.SeriesCollection.Add    'LINEA DELLO ZERO
    Set Serie2 = NewChart.SeriesCollection.Add    'MARCATORE PUNTO SMILE BS CALL
    Set Serie3 = NewChart.SeriesCollection.Add    'MARCATORE PUNTO SMILE CALL
    Set Serie4 = NewChart.SeriesCollection.Add    'LINEA SMILE CALL
    Set Serie5 = NewChart.SeriesCollection.Add    'MARCATORE PUNTO SMILE BS PUT
    Set Serie6 = NewChart.SeriesCollection.Add    'MARCATORE PUNTO SMILE PUT
    Set Serie7 = NewChart.SeriesCollection.Add    'LINEA SMILE PUT

'CARICA DATI NEL GRAFICO
Serie.SetData ChartConsts.chDimCategories, ChartConsts.chDataLiteral, GRAFPOSCALAX         'CARICA ASSE X
    Serie2.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, PUNTOSMILECALLBS    'MARCATORE PUNTO SMILE BS CALL
    Serie3.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, PUNTOSMILECALL      'MARCATORE PUNTO SMILE CALL
    Serie5.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, PUNTOSMILEPUTBS     'MARCATORE PUNTO SMILE BS PUT
    Serie6.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, PUNTOSMILEPUT       'MARCATORE PUNTO SMILE PUT
    Serie1.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, LINEA_ZERO          'LINEA DELLO ZERO
    Serie4.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, SMILECALL           'LINEA SMILE CALL
    Serie7.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, SMILEPUT            'LINEA SMILE PUT

'COLORE SFONDO
NewChart.PlotArea.Interior.Color = COL_GRAFICO_SFONDO          'COLORA SFONDO INTERNO
    NewChart.Border.Color = COL_GRAFICO_BORDO                  'COLORA BORDO
    NewChart.Interior.Color = COL_GRAFICO_SFONDO               'QUESTA RIGA MESSA DOPO BORDER.COLOR, COLORA INTERNO DEL BORDO
    NewChart.Border.Weight = 1                                 'SPESSORE BORDO

'SPESSORE LINEA
NewChart.SeriesCollection(2).Line.Weight = 0                'MARCATORE PUNTO SMILE BS CALL
NewChart.SeriesCollection(3).Line.Weight = 0                'MARCATORE PUNTO SMILE CALL
NewChart.SeriesCollection(5).Line.Weight = 0                'MARCATORE PUNTO SMILE BS PUT
NewChart.SeriesCollection(6).Line.Weight = 0                'MARCATORE PUNTO SMILE PUT
NewChart.SeriesCollection(1).Line.Weight = 1                'LINEA DELLO ZERO

'COLORE LINEE
NewChart.SeriesCollection(2).Line.Color = vbYellow              'MARCATORE PUNTO SMILE BS CALL
NewChart.SeriesCollection(3).Line.Color = vbWhite               'MARCATORE PUNTO SMILE CALL
NewChart.SeriesCollection(5).Line.Color = vbYellow              'MARCATORE PUNTO SMILE BS PUT
NewChart.SeriesCollection(6).Line.Color = vbWhite               'MARCATORE PUNTO SMILE PUT
NewChart.SeriesCollection(1).Line.Color = vbBlue                'LINEA DELLO ZERO
NewChart.SeriesCollection(4).Line.Color = vbGreen               'LINEA SMILE CALL
NewChart.SeriesCollection(7).Line.Color = vbRed                 'LINEA SMILE PUT

'MARCATORE CALL
NewChart.SeriesCollection(2).Marker.Style = 8                 'MARCATORE PUNTO SMILE BS CALL
    NewChart.SeriesCollection(2).Marker.Size = 11             'MARCATORE PUNTO SMILE BS CALL
    NewChart.SeriesCollection(2).Interior.Color = vbYellow    'MARCATORE PUNTO SMILE BS CALL
NewChart.SeriesCollection(3).Marker.Style = 8                 'MARCATORE PUNTO SMILE CALL
    NewChart.SeriesCollection(3).Marker.Size = 11             'MARCATORE PUNTO SMILE CALL
    NewChart.SeriesCollection(3).Interior.Color = vbWhite     'MARCATORE PUNTO SMILE CALL

'MARCATORE PUT
NewChart.SeriesCollection(5).Marker.Style = 8                 'MARCATORE PUNTO SMILE BS PUT
    NewChart.SeriesCollection(5).Marker.Size = 11             'MARCATORE PUNTO SMILE BS PUT
    NewChart.SeriesCollection(5).Interior.Color = vbYellow    'MARCATORE PUNTO SMILE BS PUT
NewChart.SeriesCollection(6).Marker.Style = 8                 'MARCATORE PUNTO SMILE PUT
    NewChart.SeriesCollection(6).Marker.Size = 11             'MARCATORE PUNTO SMILE PUT
    NewChart.SeriesCollection(6).Interior.Color = vbWhite     'MARCATORE PUNTO SMILE PUT

'ASSE Y
Set OAxis1 = NewChart.Axes(ChartConsts.chAxisPositionLeft)      'SCALA Y
    OAxis1.Scaling.Maximum = 1.5
    OAxis1.Scaling.Minimum = 0
    OAxis1.MajorUnit = 0.1                                      'UNITA' DIVISIONE
    OAxis1.NumberFormat = "0.0 %"
    OAxis1.Font.Name = "arial"                                  'TIPO DI STILE E COLORE ASSE Y
    OAxis1.Font.Bold = False
    OAxis1.Font.Size = 7
    OAxis1.Font.Color = COL_GRAFICO_TESTO
    OAxis1.HasMajorGridlines = True                             'VISUALIZZA GRIGLIA ASSE Y
    OAxis1.MajorGridlines.Line.Color = COL_GRAFICO_GRIGLIA      'COLORA LINEE
    OAxis1.MajorGridlines.Line.Weight = 1                       'SPESSORE

'ASSE X
Set oAxis2 = NewChart.Axes(ChartConsts.chAxisPositionBottom)    'SCALA X
    oAxis2.MajorUnit = 4
    oAxis2.TickLabelSpacing = 4
    oAxis2.HasMajorGridlines = True
    oAxis2.MajorGridlines.Line.Color = RGB(86, 89, 89)          'COLORA LINEE
    oAxis2.Font.Name = "arial"                                  'TIPO STILE COLORE CARATTERE ASSE X
    oAxis2.Font.Bold = False
    oAxis2.Font.Size = 7
    oAxis2.Font.Color = &HE0E0E0

End Sub
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31

Sponsor
 

Re: chartspace e sfarfallio

Postdi piter123 » 05/01/09 00:39

leggendo quà e là su internet mi sembra di capire che il problema è dato dal timer, nessuno ha suggerimenti ?

Grazie
piter123
Utente Senior
 
Post: 190
Iscritto il: 07/11/07 18:31


Torna a Programmazione


Topic correlati a "chartspace e sfarfallio":

sfarfallio
Autore: lodoping58
Forum: Reti, ADSL e wireless
Risposte: 0

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti