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
    giovedì 17 luglio 2025
    Bari
    22
    33
    04
    68
    47
    Cagliari
    09
    52
    27
    21
    47
    Firenze
    05
    33
    72
    17
    08
    Genova
    76
    67
    65
    68
    45
    Milano
    75
    52
    46
    34
    22
    Napoli
    40
    23
    71
    12
    22
    Palermo
    44
    89
    39
    01
    31
    Roma
    89
    04
    05
    82
    26
    Torino
    05
    59
    85
    88
    24
    Venezia
    69
    45
    75
    44
    30
    Nazionale
    28
    85
    16
    03
    83
    Estrazione Simbolotto
    Nazionale
    39
    26
    40
    23
    24

Ultimi Messaggi

Indietro
Alto