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 19 luglio 2025
    Bari
    70
    37
    36
    68
    01
    Cagliari
    57
    02
    64
    33
    41
    Firenze
    18
    62
    09
    05
    06
    Genova
    36
    10
    74
    37
    42
    Milano
    39
    07
    58
    23
    22
    Napoli
    18
    69
    28
    36
    40
    Palermo
    71
    66
    72
    64
    23
    Roma
    19
    64
    39
    77
    10
    Torino
    83
    63
    71
    08
    72
    Venezia
    51
    83
    26
    50
    74
    Nazionale
    89
    81
    63
    32
    03
    Estrazione Simbolotto
    Nazionale
    16
    32
    21
    19
    03

Ultimi Messaggi

Indietro
Alto