Oppure

Loading
27/01/08 15:45
gantonio
Postato originariamente da magicolotto:
su come deve mettere il totale dei ritardi?


Perche' non spieghi chiaramente?

E' piu' difficile capire cosa vuoi fare che farlo ... :)
aaa
27/01/08 19:27
magicolotto
Rit   Bari             
----------------------- 
[b]98[/b]   -- 10 -- -- --   
[b]97[/b]   -- -- -- -- --   
[b]96[/b]   -- -- -- -- --   
[b]95[/b]   -- -- -- -- --   
[b]94[/b]   -- -- -- -- --   
[b]93[/b]   -- -- -- -- --   
[b]92[/b]   -- -- -- -- --   
[b]91[/b]   -- -- -- -- --   
[b]90[/b]   -- -- -- -- --   
[b]89[/b]   -- -- -- -- --   
[b]88[/b]   -- -- -- -- --   
[b]87[/b]   -- -- -- -- --   
[b]86[/b]   -- -- -- -- --   
[b]85[/b]   -- -- -- -- --   
[b]84[/b]   -- -- -- -- --   
[b]83[/b]   -- -- -- -- --   
[b]82[/b]   -- -- -- -- --   
[b]81[/b]   -- -- -- -- --   
[b]80[/b]   -- -- -- -- --   
[b]79[/b]   -- -- -- -- --   
[b]78[/b]   -- -- -- -- --   
[b]77[/b]   -- -- -- -- --   
[b]76[/b]   -- -- -- -- --   
[b]75[/b]   -- -- -- -- --   
[b]74[/b]   -- -- -- 15 --   
[b]73[/b]   -- -- -- -- --   
[b]72[/b]   -- -- -- -- --   


intendo il numero dei ritardi
che li come noti
l'ho evidenziato in grassetto
li ho messo una parte
dal ritardo 72
al 98

cioè quel dieci(10)
manca da 98 estrazioni
Ultima modifica effettuata da magicolotto 27/01/08 19:28
aaa
28/01/08 6:36
gantonio
Beh ... adesso non hai la listbox?

Puoi usare la ListIndex per sapere in quale riga e' il numero e quindi determinare il valore che cerchi.

Oppure lo puoi fare, per tutti i numeri (ma e' piu' difficile) all'interno del codice che ti ho mostrato, mentre crei il tabellone.
aaa
28/01/08 7:44
magicolotto
ecco come ho fatto, ho posto di fianco alla list1, una seconda list
On Error GoTo LocalErr
Dim st, numeroline As Integer
Dim numeroFin As Variant
List2.Clear
For st = 0 To List1.ListCount - 1
numeroline = (st)
numeroFin = numeroline - 2
    List1.ListIndex = st
   List2.AddItem numeroFin
    Next st
LocalErr:


ho inserito quel codicee mi vengono fuori i ritardi sulla stessa linea..
ho due problemi
nella 2° lista
le prime due righe sono
-2
-1
dovrei non visualizzatrle


aaa
28/01/08 10:09
gantonio
Semmai

Dim st As Integer 
List2.Clear 
For st = 0 To List1.ListCount - 1 
  If st>=2
    List2.AddItem st-2
  Else
    List2.AddItem ""
  End If
Next st 


ma con poche modifiche puoi operare in modo simile nella List1 senza necessita' di avere un'altra List ...

Tu hai questa tendenza ad usare mille variabili inutili ... Ad esempio, la variabile numeroline e' assolutamente INUTILE dato che e' una copia della st di cui gia' disponi. E anche fosse necessaria una copia della variabile, non servono le parentesi come hai scritto in

numeroline = (st)

ma semplicemente

numeroline = st
Ultima modifica effettuata da gantonio 28/01/08 10:14
aaa
28/01/08 12:51
magicolotto
ok grazie del consiglio

ho unificato tutto in una lista
ecco il risultato parziale :

rit ----- NZ -----                                                                                                                                        

0   57 64 69 75 16                                                                                                                                        
1   41 -- 20 48 --                                                                                                                                        
2   -- 04 10 08 25                                                                                                                                        
3   15 74 29 39 --                                                                                                                                        
4   76 -- 68 -- 63                                                                                                                                        
5   01 42 18 24 26                                                                                                                                        
6   -- 70 -- 83 --                                                                                                                                        
7   21 65 03 02 12                                                                                                                                        
8   49 -- 17 -- 58                                                                                                                                        
9   -- 52 11 44 --                                                                                                                                        
10   -- 22 56 -- 13                                                                                                                                        
11   14 -- 59 -- --                                                                                                                                        
12   -- -- 40 -- --



pero' si è creato un piccolissimo problema di SPACE
infatti si nota sopra
che dove i ritardi sono con un numero < 10
9-8-7-6-5-4-3-2-1-0

cioè le prime 10 righe

tutto il resto dopo non è piu' incolonnato come si dovrebbe

non so dove agire

ci sto provando ma non riesco


n.b. grazie dei consigli

copiare la parte nel codice code ed incollarla in blocco note
Ultima modifica effettuata da magicolotto 28/01/08 12:53
aaa
28/01/08 13:27
gantonio
Quale codice hai usato?
aaa
28/01/08 13:28
magicolotto
    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 * 164
    Dim v As Integer
    Dim p As Integer
    Dim ss As String * 2
    Dim st As Integer
    RUS = "--*BA*CA*FI*GE*MI*NA*PA*RO*To*VE*NZ*"
    RU = Split(RUS, "*")

    With List1
        .Font.Name = "Terminal"
        .Font.Size = 7
        .Clear
        NS = Space$(164)
        For R = 1 To 11
            Mid$(NS, (R - 1) * 15 + 1) = "----- " & RU(R) & " ----- "
        Next R
        .AddItem "-rit- " & 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
     
    Do While Not rs.EOF
        NS = Space$(164)
         For st = 0 To List1.ListCount - 1
      
           Next st
        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 + 1
                    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, p) = ss
                Next NN
            End If
        Next R
          If st >= 2 Then
    st = st - 2
  Else

  End If
        If NS <> Space$(164) Then List1.AddItem st & " --> " & NS
        
        rs.MoveNext
    Loop
     
    rs.Close
     
    Set rs = Nothing

aaa