Novità

Per Luigi -- funzione SerieFreq

no non basta cambiare la dichiarazione ovviamente.
Dentro il codice della function dovresti valorizzare il suo valore di ritorno.
Ma nel nostro caso va benissimo che sia una sub, anzi è fatto apposta.
 
Caro Maestro... cosi intendeva? o e' stato una botta di K?

Un'altra domanda.... ma il mettere la sKey con k davanti e' un obbligo? E' un caso fortuito che in qst esempio funzioni in tutti e due i modi?

'sKey = "k" & Format2(k) & "-" & Format2(kk) 'Costruisco la chiave
sKey = Format2(k) & "-" & Format2(kk) 'Costruisco la chiave

Grazie x la pazienza

Codice:
'Prova Classi di GENNARO v1.3

Class clsRitAMBO
	Private aNumAMBO(2)


	Private m_Key
	Private m_Ritardo


	Public Property Let Key(v)
		m_Key = v
	End Property




	Public Property Get Key()
		Key = m_Key
	End Property
	


	Public Property Get Ritardo
		Ritardo = m_Ritardo
	End Property




	Sub SetNumAmbo(id,Numero)
		aNumAMBO(id) = Numero
	End Sub




	Sub GetRitAmbo(nInizio,nFine,nRuota,nRitAmbo)
		ReDim aRuota(1)
		aRuota(1) = nRuota
		Call StatisticaFormazione(aNumAMBO,aRuota,2,m_Ritardo,,0,0,nInizio,nFine)
		nRitAmbo = m_Ritardo
	End Sub


End Class






Sub Main
	
	Dim k,kk,sKey
	Dim clsN
	Dim CollDiAMBI
	
	Set CollDiAMBI = GetNewCollection
	
	nRuota = ScegliRuota
	
	For k = 1 To 9 'mettere 89 xke ho ridotto gli estremi x fare prima
	 For kk = k + 1 To 10 'mettere 90 xke ho ridotto gli estremi x fare prima
		
		'sKey = "k" & Format2(k) & "-" & Format2(kk) 'Costruisco la chiave
		sKey = Format2(k) & "-" & Format2(kk) 'Costruisco la chiave
		
		Set clsN = New clsRitAMBO
		
		clsN.key = sKey 'Assegno la chiave di ordinamento che mi potra' servire in seguito
		
		Call clsN.SetNumAmbo(1,k) 'Assegno il I numero dell'ambo
		Call clsN.SetNumAmbo(2,kk) 'Assegno il II numero dell'ambo		
		Call clsN.GetRitAmbo(EstrazioneIni,EstrazioneFin,nRuota,RitAmbo) 'Ne calcolo il ritardo
				
		CollDiAMBI.Add clsN,sKey 'Aggiungo le informazioni alla collection


		Call AvanzamentoElab(1,90,k)


	 Next 'kk
	Next 'k
	
	Call OrdinaItemCollection(CollDiAMBI,"Ritardo","Key",True,0)	


	'ORA COSTRUIAMO UNA TABELLA IN CUI SCRIVERNE I RISULTATI
	ReDim aTitoli(2)
	aTitoli(1) = "  Ambo  "
	aTitoli(2) = " Ritardo "
	
	Call InitTabella(aTitoli) 'INIZIALIZZO TABELLA	


	i = 0
	For Each clsN In CollDiAMBI
		
		ReDim aValue(2)
		aValue(1) = clsN.key
		aValue(2) = clsN.Ritardo
		
		Call AddRigaTabella(aValue)
		
		i = i + 1
		If i = 10 Then Exit For
	Next


	Call CreaTabella()
	'Call CreaTabella(0,0,0,11,0) 'Stampa solo i primi 10 valori
End Sub
 
ciao , la K davanti serve per costruire una chiave alfanumerica in quanto un elemento dentro una collection
puo essere recuperato o col suo indice (ad esempio dammi l'elemento in posizione 1) o con la sua chiave
(ad esempio dammi l'elemento che si chiama "k01-02")
Se tu alimenti una collection e poi la ordini ovviamente alla posizione 1 ci finisce l'ambo che ha il valore migliore
in base all'ordinamento non piu il primo ambo dello sviluppo (che era appunto 1-2) se tu volessi richiamare
quello lo dovresti fare con la sua chiave visto che non sai piu che posizione occupa dopo l'ordinamento.

nel tuo script quando vai ad alimentare la lista non devi usare la riga

aValue(1) = clsN.key

ma

aValue(1) = clsN.NumeriString

questa proprieta numeri string era gia presente nella mia classe devi inserirla anche nella tua.

ciao
 
Ok ultima versione... sono soddisfatto :) ehheh pero' ancora mi deve scattare la scintilla... non mi sono ancora innamorato delle classi hahahaah

Ma con il loro uso, si acquista velocita' di esecuzione?

Codice:
'Prova Classi di GENNARO v1.4


Class clsRitAMBO
	Private aNumAMBO(2)


	Private m_Key
	Private m_Ritardo


	Public Property Let Key(v)
		m_Key = v
	End Property




	Public Property Get Key()
		Key = m_Key
	End Property
	


	Public Property Get AmboInEsame
	AmboInEsame = StringaNumeri(aNumAMBO,,True)
	End Property	
	


	Public Property Get Ritardo
		Ritardo = m_Ritardo
	End Property




	Sub SetAmbo(Numero1,Numero2)
		aNumAMBO(1) = Numero1
		aNumAMBO(2) = Numero2		
	End Sub




	Sub GetRitAmbo(nInizio,nFine,nRuota) 'Una SUB non restituisce nessun valore
		ReDim aRuota(1)
		aRuota(1) = nRuota
		Call StatisticaFormazione(aNumAMBO,aRuota,2,m_Ritardo,,0,0,nInizio,nFine)
	End Sub


End Class






Sub Main
	
	Dim k,kk,sKey
	Dim clsN
	Dim CollDiAMBI
	
	Set CollDiAMBI = GetNewCollection
	
	nRuota = ScegliRuota
	
	For k = 1 To 29 'Ho ridotto gli estremi x fare prima
	 For kk = k + 1 To 30 'Ho ridotto gli estremi x fare prima
		
		sKey = "k" & Format2(k) & "-" & Format2(kk) 'Costruisco la chiave che mi servira' per ordinamenti futuri
				
		Set clsN = New clsRitAMBO
		
		clsN.key = sKey 'Assegno la chiave di ordinamento che mi potra' servire in seguito
		
		Call clsN.SetAmbo(k,kk) 'Assegno i numeri dell'ambo


		Call clsN.GetRitAmbo(EstrazioneIni,EstrazioneFin,nRuota) 'Chiamo la SUB GetRitAmbo ed internamente alla clesse si valorizza m_Ritardo
				
		CollDiAMBI.Add clsN,sKey 'Aggiungo le informazioni alla collection


		Call AvanzamentoElab(1,90,k)
		
		Messaggio (k &"-"& kk)


	 Next 'kk
	Next 'k
	
	Call OrdinaItemCollection(CollDiAMBI,"Ritardo","Key",True,0)	


	'ORA COSTRUIAMO UNA TABELLA IN CUI SCRIVERNE I RISULTATI
	ReDim aTitoli(2)
	aTitoli(1) = "  Ambo  "
	aTitoli(2) = " Ritardo "
	
	Call InitTabella(aTitoli) 'INIZIALIZZO TABELLA	


	i = 0
	For Each clsN In CollDiAMBI
		
		ReDim aValue(2)
		aValue(1) = clsN.AmboInEsame 'Contiene l'ambo in esame
		aValue(2) = clsN.Ritardo 'Contiene il ritardo
		
		Call AddRigaTabella(aValue)
		
		i = i + 1
		If i = 10 Then Exit For
	Next


	Call CreaTabella()
	'Call CreaTabella(0,0,0,11,0) 'Potevo usare qsta riga per far stampare solo i primi 10 valori
End Sub
 
la velocita di esecuzione sio ottiene scrivendo codice efficiente ed in piu compilando lo script in eseguibile.
Per fare questa operazione devi disporrre dell'ambiente di sviluppo vb6 poi lo fa in automatico.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 13 dicembre 2025
    Bari
    61
    81
    73
    68
    78
    Cagliari
    76
    59
    33
    78
    23
    Firenze
    10
    37
    58
    30
    71
    Genova
    17
    45
    37
    36
    72
    Milano
    10
    71
    70
    46
    87
    Napoli
    21
    11
    51
    68
    01
    Palermo
    84
    72
    26
    17
    79
    Roma
    39
    63
    46
    67
    50
    Torino
    35
    86
    79
    68
    85
    Venezia
    67
    68
    22
    77
    76
    Nazionale
    46
    12
    72
    65
    70
    Estrazione Simbolotto
    Venezia
    05
    13
    40
    35
    10
Indietro
Alto