Oppure

Loading
28/01/08 14:59
gantonio
Ma la

For st ...

seguita subito dalla

Next

e la If st ... in basso ...

a cosa servono???

Scrivendo del codice a caso non fai altro che rendere inutile il resto del programma ...
Ultima modifica effettuata da gantonio 28/01/08 14:59
aaa
28/01/08 15:17
magicolotto
Postato originariamente da gantonio:

Ma la

For st ...

seguita subito dalla

Next
conteggio i ritardi nella lista

e la If st ... in basso ...
la if fa partire il conteggio nel modo esatto cioè da 0---> a fine lista

altrimenti iniziaerebbe sballato, come dicevamo sopra

a cosa servono???

Scrivendo del codice a caso non fai altro che rendere inutile il resto del programma ...
aaa
28/01/08 17:50
gantonio
Lascia stare quel codice ... scrivi questo al posto di quello che hai usato fino ad ora ... mi raccomando, elimina tutto il precedente contenuto nel click del button ed usa questo

    Dim rs As ADODB.Recordset
    Dim RUS As String
    Dim RU() As String
    Dim R As Integer
    Dim N As Integer
    Dim RN(1 To 10, 1 To 90)
    Dim C(1 To 10)
    Dim NN As Integer
    Dim NS As String * 154
    Dim v As Integer
    Dim p As Integer
    Dim ss As String * 2
    Dim rit As Integer
    
    RUS = "--*BA*CA*FI*GE*MI*NA*PA*RO*TO*VE*"
    RU = Split(RUS, "*")

    With List1
        .Font.Name = "Terminal"
        .Font.Size = 9
        .Clear
        NS = "RIT " & Space$(150)
        For R = 1 To 10
            Mid$(NS, (R - 1) * 15 + 5) = "----- " & RU(R) & " ----- "
        Next R
        .AddItem NS
        .AddItem ""
    End With
    
    For R = 1 To 10
        C(R) = 0
        For N = 1 To 90
            RN(R, N) = -1
        Next N
    Next R
    
    Set rs = New ADODB.Recordset
    
    rs.Open "SELECT * FROM Archivio ORDER BY Id DESC", cn, adOpenForwardOnly
    
    rit = 1
    Do While Not rs.EOF
        NS = Space$(154)
        For R = 1 To 10
            If C(R) < 90 Then
                For NN = 1 To 5
                    v = Val(rs.Fields(RU(R) & CStr(NN)).Value)
                    p = (R - 1) * 15 + (NN - 1) * 3 + 5
                    If RN(R, v) = -1 Then
                        RN(R, v) = v
                        C(R) = C(R) + 1
                        ss = Format$(v, "00")
                    Else
                        ss = "--"
                    End If
                    Mid$(NS, 1) = Format$(rit, "000")
                    Mid$(NS, p) = ss
                Next NN
            End If
        Next R
        If Mid$(NS, 5) <> Space$(150) Then
            List1.AddItem NS
            rit = rit + 1
        End If
        
        rs.MoveNext
    Loop
    
    rs.Close
    
    Set rs = Nothing


... il ritardo apparira' alla sinistra ...
aaa
28/01/08 20:25
magicolotto
ok funziona pefettamente come intendevo...
pero' ho cercato di aggiungere l'1° ruota....
ed è ritornato lo stesso problemino di prima..
cioè : che dopo il ritardo maggiore si aggiungono nella listauna infinita di righe vuote

Dim rs As ADODB.Recordset
    Dim RUS As String
    Dim RU() As String
    Dim R As Integer
    Dim N As Integer
    Dim RN(1 To 11, 1 To 90)
    Dim C(1 To 11)
    Dim NN As Integer
    Dim NS As String * 168
    Dim v As Integer
    Dim p As Integer
    Dim ss As String * 2
    Dim rit As Integer
     
    RUS = "--*BA*CA*FI*GE*MI*NA*PA*RO*To*VE*NZ*"
    RU = Split(RUS, "*")

    With List1
        .Font.Name = "Terminal"
        .Font.Size = 9
        .Clear
        NS = "RIT " & Space$(168)
        For R = 1 To 11
            Mid$(NS, (R - 1) * 15 + 5) = "----- " & RU(R) & " ----- "
        Next R
        .AddItem NS
        .AddItem ""
    End With
     
    For R = 1 To 11
        C(R) = 0
        For N = 1 To 90
            RN(R, N) = -1
        Next N
    Next R
     
    Set rs = New ADODB.Recordset
     
    rs.Open "Select * FROM Archivio ORDER BY Id DESC", cn, adOpenForwardOnly
     
    rit = 0
    Do While Not rs.EOF
        NS = Space$(168)
        For R = 1 To 11
            If C(R) < 90 Then
                For NN = 1 To 5
                    v = Val(rs.Fields(RU(R) & CStr(NN)).Value)
                    p = (R - 1) * 15 + (NN - 1) * 3 + 5
                     
                    If RN(R, v) = -1 Then
                        RN(R, v) = v
                        C(R) = C(R) + 1
                        ss = Format$(v, "00")
                    Else
                        ss = "--"
                    End If
                    Mid$(NS, 1) = Format$(rit, "000")
                    Mid$(NS, p) = ss
                Next NN
            End If
        Next R
        If Mid$(NS, 5) <> Space$(168) Then
            List1.AddItem NS
            rit = rit + 1
        End If
         
        rs.MoveNext
    Loop
     
    rs.Close
     
    Set rs = Nothing

queste sono le modifiche che ho fatto
che che il problema sia nello SPACE
aaa
28/01/08 22:09
gantonio
Questo il codice corretto

    Dim rs As ADODB.Recordset
    Dim RUS As String
    Dim RU() As String
    Dim R As Integer
    Dim N As Integer
    Dim RN(1 To 11, 1 To 90)
    Dim C(1 To 11)
    Dim NN As Integer
    Dim NS As String * 168
    Dim v As Integer
    Dim p As Integer
    Dim ss As String * 2
    Dim rit As Integer
    
    RUS = "--*BA*CA*FI*GE*MI*NA*PA*RO*TO*VE*NZ*"
    RU = Split(RUS, "*")

    With List1
        .Font.Name = "Terminal"
        .Font.Size = 9
        .Clear
        NS = "RIT " & Space$(165)
        For R = 1 To 11
            Mid$(NS, (R - 1) * 15 + 5) = "----- " & RU(R) & " ----- "
        Next R
        .AddItem NS
        .AddItem ""
    End With
    
    For R = 1 To 11
        C(R) = 0
        For N = 1 To 90
            RN(R, N) = -1
        Next N
    Next R
    
    Set rs = New ADODB.Recordset
    
    rs.Open "SELECT * FROM Archivio ORDER BY Id DESC", cn, adOpenForwardOnly
    
    rit = 0
    Do While Not rs.EOF
        NS = Space$(168)
        For R = 1 To 11
            If C(R) < 90 Then
                For NN = 1 To 5
                    v = Val(rs.Fields(RU(R) & CStr(NN)).Value)
                    p = (R - 1) * 15 + (NN - 1) * 3 + 5
                    
                    If RN(R, v) = -1 Then
                        RN(R, v) = v
                        C(R) = C(R) + 1
                        ss = Format$(v, "00")
                    Else
                        ss = "--"
                    End If
                    
                    Mid$(NS, 1) = Format$(rit, "000")
                    Mid$(NS, p) = ss
                Next NN
            End If
        Next R
        If Len(Trim(NS)) Then
            List1.AddItem NS
            rit = rit + 1
        End If
        
        rs.MoveNext
    Loop
    
    rs.Close
    
    Set rs = Nothing
aaa
28/01/08 22:10
magicolotto
ok ho appena risolto
aaa
28/01/08 22:12
magicolotto
provo anche quello
aaa
28/01/08 22:18
magicolotto
si avevo fatto le stesse modifico
ho aggiunto + 14 allo space

qwowww



che bello


adesso studio come mettere tutto in MSHFlexgrid

aaa