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 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39
Indietro
Alto