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
    venerdì 17 gennaio 2025
    Bari
    10
    87
    77
    23
    60
    Cagliari
    75
    33
    60
    24
    15
    Firenze
    45
    34
    66
    41
    17
    Genova
    05
    65
    15
    53
    86
    Milano
    20
    84
    74
    76
    01
    Napoli
    90
    29
    38
    52
    68
    Palermo
    33
    36
    02
    20
    68
    Roma
    68
    12
    59
    07
    74
    Torino
    03
    22
    29
    90
    28
    Venezia
    81
    24
    35
    18
    03
    Nazionale
    06
    31
    35
    89
    74
    Estrazione Simbolotto
    Bari
    14
    24
    17
    13
    08
Indietro
Alto