Novità

Le classi in vbscript per spaziometria

L

LuigiB

Guest
ciao Xabio , benvenuto.

Un saluto a tutti continuiamo l'argomento che abbiamo iniziato.
Come avrete capito stiamo costruendo 3 componenti (l'archivio , l'estrazione , l'estratto)
la cui interazione da noi gestita attraverso il codice del nostro script
ci consentira per esempio di scrivere in output la griglia delle estrazioni di un determianto range.

Come vedete lo scopo finaale di questa guida è molto semplice : scrivere la griglia delle estrazioni a video
però nello stesso tempo consente di capire concetti che una volta appresi possono essere usati con profitto.


Nello scorso post avevamo gia costruito lo scheletro della classe Archivio
e avevamo detto che era quel componente che ci doveva fornire le estrazioni
che noi chiedevamo col nostro codice.

Prima di passare alal scrittura del codice della classe archivio dobbiamo creare lo scheletro per le altre
classi che dobbiamo ancora costruire.

La classe archivio ci fornira una collection di oggetti ESTRAZIONE , quindi dobbiamo costruire
questa classe , dalle immagini postate si vedono le proprietà che ho impostato .
Poi dovremo costruire anche la classe ESTRATTO

Attraverso il wizard ripetete i passi che abbiamo gia visto.
Non è difficile per ora no ? :)






benissimo ora appena finito di creare le 3 classi dovemmo iniziare a scrivere il codice per
gestirne le funzionalita.
Ogni classe molto volgarmete è come se fosse un progetto a se stante , solo
che essendo un componente ha metodi e proprietà che fgli servono per comunicare con l'esterno.

dobbiamo fare un passo indietro , per lvorare con gli oggetti bisogna saper usare le COLLECTION

una Collection è un contenitore che serve per immagazzinare oggetti , come se fosse uno scatolone
dove uno butta dentro le cose.

per inserire un oggetto in una collection (che anche lei è una classe questa volta fornita dal sistema )
si usa il metodo add
Ogni oggetto inserito si puo recuperare attraverso un indice come se fosse una array , se ad esempio
la collection contiene 4 oggetti si potrebbe usare un indice da 1 a 4 per richiedere l'oggetto voluto.
Volendo l'oggetto si puo richiedere anche tramite una chiave infatti in fase di inserimento
all'oggetto che vine inserito nello scatolone collection puo essere associata una chiave
ciò è opzionale però due oggetti con la stessa chiave non possono
coesistere , infatti un successivo metodo ADD che usa una chiave gia usata darebbe errore.

una collection puo essere ciclata con il ciclo For each che serve appunto per scorrere
tutti gli elementi contenuti nella collection

per capire meglio tutti i concetti creaiamo una semplicissima classe che non c'entra
con quanto gia fatto , percio apriamo una nuova finestra di script e creiamo la classe Persona
che serve per un banale esempio
Potete copiare anche direttamente il codice sotto , lo scopo è vedere come funzinano le classi
e le collection.
Studiate questo script sotto perche solo quando mi confermerete di aver capito potremo proseguire





caricare immagini

Codice:
Option Explicit
Class clsPersona
	Private m_Nome
	Private m_Cognome
	Public Property Get Nome
		Nome = m_Nome
	End Property
	Public Property Let Nome(NewValue)
		m_Nome = NewValue
	End Property
	Public Property Get Cognome
		Cognome = m_Cognome
	End Property
	Public Property Let Cognome(NewValue)
		m_Cognome = NewValue
	End Property
	Function Nominativo
		' questo metodo restituisce l concatenazione di nome e cognome
		Nominativo = m_Nome & " " & m_Cognome
	End Function
End Class
Sub Main
	Dim coll ' variabile collection 
	Dim clsP ' variabile classe persona 
	Dim k 
	
	' istanzio la collecrion
	Set coll = GetNewCollection
	
	' aggiungo 3 nominativi alla collection 
	Call AddItemColl(coll,"Antonio","Verdi")
	Call AddItemColl(coll,"Giuseppe","Bianchi")
	Call AddItemColl(coll,"Mario","Rossi")
	
	' dato  che stiamo passando lo stesso nominativo ci sara un errore 
	' è fatto apposta per dimostrarlo
	Call AddItemColl(coll,"Mario","Rossi")
	

	' ciclo gli elementi della collection e stampo a video il nominativo con for each
	For Each clsP In coll
		' uso il Metodo Nominativo della classe clsPersona per ottenere la stringa da stampare a video 
		Call Scrivi(clsP.Nominativo)
	Next
	
	
	Call Scrivi 
	Call Scrivi 
	
	
	' ciclo gli elementi della collection e stampo a video il nominativo con for next 
	For k =1 To coll.count
		' notare l'uso dellla parola chiave Set che serve per valorizzare l'oggetto clsP 
		Set clsP = coll(k)
		' uso il Metodo Nominativo della classe clsPersona per ottenere la stringa da stampare a video 
		Call Scrivi(clsP.Nominativo)
	Next
	
	
	
	Call Scrivi 
	Call Scrivi 
	
	
	 ' richiama un oggetto specifico contenuto nella collection attraverso la sua chiave (che era la concatenazione di nomecognome)
	' notare l'uso dellla parola chiave Set che serve per valorizzare l'oggetto clsP 
	Set clsP = coll("MarioRossi")
	Call Scrivi (clsP.Nominativo)

End Sub
Sub AddItemColl(coll,sNome,sCognome)
	On Error Resume Next
	Dim clsP ' variabile classe persona 
	
	' istanzio la classe persona 
	Set clsP = New clsPersona
	' ne imposto le proprieta 
	clsP.Nome = sNome
	clsP.Cognome = sCognome
	' aggiungo la classe alla collection , notare che la concatenazione di nome e cognome è usata come chiave
	' percio due nominativi uguali non si possono inserire
	Call coll.Add(clsP,sNome & sCognome)

	' si puo insereire un oggetto anche senza passare la chiave
	'Call coll.Add(clsP )


	If Err <> 0 Then
		' in caso di errore mostra il messaggio
		MsgBox Err.description
	End If
End Sub
 
Ultima modifica di un moderatore:

salvo50

Advanced Member >PLATINUM PLUS<
Ciao!

Il codice dell'esempio clsPersona a me è venuto un po' diverso da quello tuo è normale oppure ho sbagliato?
Codice:
Option Explicit
Class clsPersona
	Private m_Nome
	Private m_Cognome
	Private m_Nominativo

	Sub Class_Initialize
		' codice
	End Sub
	Sub Class_Terminate
		' codice
	End Sub

	Public Property Get Nome
		Nome = m_Nome
	End Property
	Public Property Let Nome(NewValue)
		m_Nome = NewValue
	End Property
	Public Property Get Cognome
		Cognome = m_Cognome
	End Property
	Public Property Let Cognome(NewValue)
		m_Cognome = NewValue
	End Property
	Public Property Get Nominativo
		Nominativo = m_Nominativo
	End Property
	Public Property Let Nominativo(NewValue)
		m_Nominativo = NewValue
	End Property


End Class

Sub Main
	
End Sub
 
L

LuigiB

Guest
ciao , non fa niente è uguale copia lo script fatto da me e vedi come funziona
 

i legend

Premium Member
Ciao Scusate il ritardo ,ma purtroppo ultimamente il tempo per le cose piacevoli è pochissimo... Vi seguo:) Salvo hai dichiarato nominativo come property invece è una funzione. forse per questo non ti torna qualcosa..Ciao:) Allora visto .Count e .Add Domanda : sono Proprietà di vbScript? Hai costruito la sub addItemColl per non dover scrivere tutto nella sub Main? a volte ho difficolta a scrivere sub perchè non tornanbo un valore e utilizzo le function, forse è necessario anteporre Call? Spero non sia fuori thred:) Grazie Luigi
 
L

LuigiB

Guest
Scusami se vado fuori tema, ma - for each - come funziona.


ciao Salvo , il ciclo For Each è simile al ciclo For Next solo che non ha una variabile come iteratore ma un oggetto.
vediamo cosa significano in italiano le parole inglesi.

For = Per

Each = Ogni

Next = Prossimo

Codice:
For Each clsP In coll
		Call Scrivi(clsP.Nominativo)
Next

Sarebbe come dire :
Codice:
Per  Ogni  (oggetto persona)  nella collection Coll 

Prossimo

quindi ad ogni passaggio del ciclo l'oggetto clsP assume il valore di un elemeto contenuto nello scatolone (cioè la collection)
fino a quando gli elementi nello scarolone non sono finiti.



Allora visto .Count e .Add Domanda : sono Proprietà di vbScript?

Count è una proprietà dell'oggetto collection , l'oggetto collection è fornito non da vbScript (non ci sono collection in vbscript)
ma da SpazioScript attraverso la funzione

set coll = GetNewCollection

Add è un metodo dell'oggetto collection e serve per inserire un oggetto nella collection



Hai costruito la sub addItemColl per non dover scrivere tutto nella sub Main? a volte ho difficolta a scrivere sub perchè non tornanbo un valore e utilizzo le function, forse è necessario anteporre Call?

La sub serve per non riscrivere delle linee di codice che sarebbero sempre uguali , infatti quello che cambia sono i nomi da inserire non il codice che serve per farlo , percio ho creato una sub alla quale si passano solo le parti variabili , cioè i nomi.

C'è anche un altro motivo per il quale è stata creata la sub. Ovvero per incapsulare un eventuale errore di inserimento in modo che
lo script non si blocchi e anzi prosegua.
Se noti in quella sub è gestito l'errore tramite l'istruzione On Error Resume next , se quell'istruzione non ci fosse nel momento in cui
andiamo a inserire un oggetto con una chiave gia presente ci sarebbe un errore non gestito e tutto lo script adrebbe per aria , invece cosi
l'errore se capita è incapsulato nella sub e non influisce sul resto.

sia le Sub che le function servono per svolgero operazioni , dipende dalle necessita se dobbiamo creare una sub o una function.
In quwesto caso non ci serviva avere un risultato ma solo compiere un azione.

L'uso dell'istruzione Call è necessario se una sub che dispone di piu di un parametro viene chiamata usando le parentesi
ad esempio queste due chiamate alla stessa sub funzionano tutte e due

Codice:
	Call AddItemColl(coll,"Antonio","Verdi")
	AddItemColl coll,"Giuseppe","Bianchi"
 

salvo50

Advanced Member >PLATINUM PLUS<
Chiarissimo Luigi, grazie!


Grazie I Leggend adesso lo correggo.
 
Ultima modifica:

surmang

Super Member >PLATINUM<
ciao Xabio , benvenuto.

Codice:
Option Explicit
Class clsPersona
	Private m_Nome
	Private m_Cognome
	Public Property Get Nome
		Nome = m_Nome
	End Property
	Public Property Let Nome(NewValue)
		m_Nome = NewValue
	End Property
	Public Property Get Cognome
		Cognome = m_Cognome
	End Property
	Public Property Let Cognome(NewValue)
		m_Cognome = NewValue
	End Property
	Function Nominativo
		' questo metodo restituisce l concatenazione di nome e cognome
		Nominativo = m_Nome & " " & m_Cognome
	End Function
End Class
Sub Main
	Dim coll ' variabile collection 
	Dim clsP ' variabile classe persona 
	Dim k 
	
	' istanzio la collecrion
	Set coll = GetNewCollection
	
	' aggiungo 3 nominativi alla collection 
	Call AddItemColl(coll,"Antonio","Verdi")
	Call AddItemColl(coll,"Giuseppe","Bianchi")
	Call AddItemColl(coll,"Mario","Rossi")
	
	' dato  che stiamo passando lo stesso nominativo ci sara un errore 
	' è fatto apposta per dimostrarlo
	Call AddItemColl(coll,"Mario","Rossi")
	

	' ciclo gli elementi della collection e stampo a video il nominativo con for each
	For Each clsP In coll
		' uso il Metodo Nominativo della classe clsPersona per ottenere la stringa da stampare a video 
		Call Scrivi(clsP.Nominativo)
	Next
	
	
	Call Scrivi 
	Call Scrivi 
	
	
	' ciclo gli elementi della collection e stampo a video il nominativo con for next 
	For k =1 To coll.count
		' notare l'uso dellla parola chiave Set che serve per valorizzare l'oggetto clsP 
		Set clsP = coll(k)
		' uso il Metodo Nominativo della classe clsPersona per ottenere la stringa da stampare a video 
		Call Scrivi(clsP.Nominativo)
	Next
	
	
	
	Call Scrivi 
	Call Scrivi 
	
	
	 ' richiama un oggetto specifico contenuto nella collection attraverso la sua chiave (che era la concatenazione di nomecognome)
	' notare l'uso dellla parola chiave Set che serve per valorizzare l'oggetto clsP 
	Set clsP = coll("MarioRossi")
	Call Scrivi (clsP.Nominativo)

End Sub
Sub AddItemColl(coll,sNome,sCognome)
	On Error Resume Next
	Dim clsP ' variabile classe persona 
	
	' istanzio la classe persona 
	Set clsP = New clsPersona
	' ne imposto le proprieta 
	clsP.Nome = sNome
	clsP.Cognome = sCognome
	' aggiungo la classe alla collection , notare che la concatenazione di nome e cognome è usata come chiave
	' percio due nominativi uguali non si possono inserire
	Call coll.Add(clsP,sNome & sCognome)

	' si puo insereire un oggetto anche senza passare la chiave
	'Call coll.Add(clsP )


	If Err <> 0 Then
		' in caso di errore mostra il messaggio
		MsgBox Err.description
	End If
End Sub

Ciao Luigi grazie,
dopo aver preso un minimo di familiarità con i nuovi concetti e le nuove istruzioni che ci stai mostrando,
l'interrogativo è :
C'è un modo, o più modi,tramite input da tasiera ed import/export da file per alimentare,e /o modificare la Collection così da poter effetture

- ricerca
- inserimento
- modifica

degli oggetti ?

Buona Domenica a tutti :)
 
Ultima modifica:
L

LuigiB

Guest
ciao surmang , dato che siamo noi a scrivere il codice delle varie funzionalità è chiaro che nei limiti del possibile possiamo implementare tutte le cose che hai detto ..
ciao
 
L

LuigiB

Guest
eh si .. intendevo dire che una volta che ci si capisce un po le funzionalita si possono implementare.
Veniamo a noi e continuamo spiegando ancora con un nuovo esempio l'uso delle classi e delle
collection.

Con l'ultimo esempio abbiamo visto come si crea una semplice classe
e come un'istanza di questa classe possa venire immagazinata in una collection.
Abbiamo visto anche come scorrere gli oggetti contenuti in una collection e anche
come estrarne uno attraverso la sua chiave.

ripetiamo schematicamente per consolidare le nozioni apprese

Riguardo le collection

- le collection sono contenitori che immagazzinano istanze di oggetti

- Per creare una collection si usa la sintassi Variabile = GetNewCollection

- Per aggiungere un oggetto ad una collection si usa il metodo Add della collection

- Volendo mentre si aggiunge un oggetto col metodo Add si puo associare una chiave
cosi sara possibile richiedere a colpo sicuro lo specifico ooggetto di cusi si sa la chiave

- La collection ha la proprieta Count che indica quanti elemnti contiene

- le Collection possono essere ciclate con For...Each e anche con For...Next

Riguardo le classi

- La classe è la definizione di un oggetto con proprietà e metodi

- Le proprieta di una classe possono essere di lettura/scrittura oppure solo una delle due

- Le proprietà sono interfacce che agiscono sulle variabili interne della classe e sono usate dal codice chiamante (cioè dal codice chiamante che ne faccia uso)

- I metodi sono Sub o Function che sono visibili all'esterno della classe (cioè dal codice chiamante che ne faccia uso)



Riguardo le nuove parole chiave

Set serve per valorizzare una variabile con un tipo di valore Object (ad esempio l'istanza di una classe è un valore Object , anche il risultato di GetNewCollection è un valore object)

New serve per creare una nuova istanza di una classe e per asseggnarla as una variabile.

For Each serve per ciclare gli oggetti contenuti in una collection


Riguardo la sintassi

per riferirsi ad una proprietà o ad un metodo di una classe si usa

NomeVariabileCheRappresentaLaClasse.NomeDellaProprieta/Metodo


nota :
per facilitare l'uso delle classi con la nuova versione di spaziometria non appena si digita il caratttere "."
l'ambiente rileverà se ci si sta riferendo ad una classse ed automaticamente elenchera i metodi e le proprieta disponibili
per farlo per deve essere in grado di riconoscere di che tipo sia la classe altrimenti la lista non verra mostrata


hosting immagini


benissimo per consolidare ancora tutti i concetti appresi adesso faremo ancora un altro esempio , semplice come il precedente, che usa gli stessi identici
concetti ma piu attinente al mondo del lotto.

Ammettiamo che un metodo abbia la seguente condizione di ricerca (faccio un esempio a caso i metodisti mi perdoneranno)

ricercare su due ruote tutti gli elementi di una qualsiasi quartina simmetrica si che i 4 numeri della quartina siano tutti presenti
indipendentemente da quanti ne siano usciti su una o l'altra ruota purche tutte e due le ruote concorrano alla composizione della quartina.
trovata la condizione giocare per estratto sulle due ruote la somma della quartina

La logica del nostro script sarà prima immagazzinare in una collection tutte le condizioni trovate in una singola estrazione
e poi giocarle.
Ci vorra un primo ciclo (il piu esterno) che cicla sulle estrazioni del range analizzato
dentro a questo ciclo alimenteremo una collection con tutti i casi trovati in quell'estrazione
dopodiche cicleremo la collection per giocare i casi trovati
col next del sudddettto ciclo esterno passa all'estrazione successiva del range e ripete il giro


Alla luce di quanto detto si capisce che dovremo creare un oggetto che rappresenti la nostra condizione
per poterlo inserire nella collection in modo tale che poi sarà facile giocare i numeri trovati.

questo oggetto che dobbiamo creare lo chiameremo clsCombinazione e dovra avere tutte le proprieta e i metodi che ci servono
per memorizzare le ruote e i numeri trovati e per sapere che numero giocare in base alle specifiche del metodo.

lo script seguente verifica il metodo dell'esempio
fa uso di tutte nozioni gia spiegate , puo sembrare lungo ma solo perche è pieno di commenti.
Di teoria non c'è niente che gia non sia stato spiegato percio dovrebbe essere comprensibile

ciao a tutti.


Codice:
Option Explicit
Class clsCombinazione
	' array privati che memorizzano ruote e numeri attraverso flag True /False
	Private aNumBool ' array dei numeri
	Private aRuoteBool ' array delel ruote
	
	Sub Class_Initialize
		' questo evento si scatena non appena vien ecreata un'istanza della classe
		' e in questa circostanza andiamo ad impostare i valori di default
		' in questo caso ci serve dimensionare i due vettori dei numeri e delle ruote
		ReDim aNumBool(90)
		ReDim aRuoteBool (12)
	End Sub 

	' con questo metodo passando un vettore si impostano i numeri della combinazione
	' notare che  si agisce sul vettore dei numeri aNumBool 
	Sub SetNumeri(aNumeri)
		Dim k
		' resetta l'array
		ReDim aNumBool(90)
		' valorizza a true i numeri passati letti dal vettore aNumeri
		For k = 1 To UBound(aNumeri)
			' fa un controllo di coerenza
			If aNumeri(k) > 0 And aNumeri(k) <= 90 Then
				' valorizza l'array privato che memorizza i numeri della combinazione
				aNumBool(aNumeri(k)) = True
			End If
		Next
	End Sub
	' questo metodo consente di valorizzare a true/false una ruota
	Sub SetRuota(r,Value)
		aRuoteBool (r) = Value
	End Sub
	' torna la quantita di ruote impostate a true e
	' alimenta l'array aRuoteTrov in modo che poi questo array
	' si possa usare in ImpostaGiocata
	Function GetRuoteInGioco(aRuoteTrov)
		Dim r,nTrov
		nTrov = 0
		ReDim aRuoteTrov(nTrov)
		For r = 1 To 12
			If aRuoteBool(r) Then
				nTrov = nTrov + 1
				ReDim Preserve aRuoteTrov(nTrov)
				aRuoteTrov(nTrov) = r
			End If
		Next
		GetRuoteInGioco = nTrov
	End Function
	' ottiene la somma col fuori90 dei numeri impostati a true
	Function GetSommaNumeri
		Dim n,Tot
		Tot = 0
		For n = 1 To 90
			If aNumBool(n) Then
				Tot = Tot + n
			End If
		Next
		GetSommaNumeri = Fuori90(Tot)
	End Function
End Class
Sub Main
	Dim idEstr,nQuartina ' ciclo estrazioni , ciclo quartine simmetriche
	Dim r1,r2,p1,p2 ' ruota 1 , ruota 2 , punti ruota  1, punti ruota 2
	Dim nQuartineTot ' quantita di quartine nelle quartine simmetriche
	Dim collCasi ' collection dei casi trovati per estrazione
	Dim clsQ 'as ClsCombinazione
	Dim nGiocata ' numero della giocata con impostagiocata
	Dim abNum ' vettore di boolean che serve per calcolare i punti della quartina sulle ruote
						
	' ottengo la quantita di quartin esimmetriche
	nQuartineTot = GetQElemFormazione("QuartineSimmetriche")
	' ciclo sulle estrazioni del range
	For idEstr = EstrazioneIni To EstrazioneFin
		' ad ogni nuova estrazione istanziamo una nuova collection
		Set collCasi = GetNewCollection
		' ciclo su tutte le quartine simmetriche
		For nQuartina = 1 To nQuartineTot
			' devo leggere i numeri della quartian corrente con l'array aN
			ReDim aN(0)
			' leggo effettivamente i numeri della formazione
			If GetItemFormazione("QuartineSimmetriche",aN,nQuartina) Then
				' ciclo sulle ruote 1 e 2 alla ricerca della condizione
				For r1 = 1 To 9
					For r2 = r1 + 1 To 10
						' calcolo i punti realizzati dalle due ruote
						' per farlo ho bisogno di creare un array di boolean da 1 a 90 
						' dove sono impostati a true i numeri della quartina corrente
						' c'è una funzione apposta per convertire un vettore in un vettore  di boolean
						abNum = ArrayNumeriToBool(aN)
						' calcolo i punti realizzati sulla prima ruota
						p1 = GetPuntiRuota(idEstr,r1,abNum)
						' calcolo i punti realizzati sulla seconda ruota
						p2 = GetPuntiRuota(idEstr,r2,abNum)
						' se ci sono punti sulle due ruot e se tutti i numeri sono presenti
						' aggiungo la condizione trovata alla collection
						If p1 > 0 And p2 > 0 And p1 + p2 = 4 Then
							' Istanzio un nuovo oggetto del tipo clsCombiazione 
							Set clsQ = New clsCombinazione
							' imposto le due ruote trovate
							Call clsQ.SetRuota(r1,True)
							Call clsQ.SetRuota(r2,True)
							' imposto i numeri trovati
							Call clsQ.SetNumeri(aN)
							' aggiungo l'istanza della classe alla collection
							collCasi.Add clsQ
						End If
					Next
				Next
				
				' a questo punto nella collection ci sono i casi trivati 
				' faccio un ciclo pere giocarli
				ReDim aPoste(1) 
				ReDim aRuote(0)
				ReDim aNum(1) 
				aPoste (1) =1
				
				For Each clsQ In collCasi
					' incremento la giocata
					nGiocata = nGiocata +1 
					' ottengo le ruote in gioco
					Call clsQ.GetRuoteInGioco ( aRuote)
					' ottengo il numero da giocare per estratto
					aNum(1) = clsQ.GetSommaNumeri 
					' eseguo la giocata					
					Call ImpostaGiocata (nGiocata, aNum , aRuote, aPoste,5  )
					
				Next
				' se la collection contiene casi da giocare li gioco
				If collCasi.count > 0 Then
					Call Gioca(idEstr)
				End If
				
			End If
			If ScriptInterrotto Then Exit For 
		
		Next
		If ScriptInterrotto Then Exit For 
		Call AvanzamentoElab( EstrazioneIni ,EstrazioneFin ,idEstr )
	Next
	ScriviResoconto
	
End Sub
Function GetPuntiRuota(idEstr,ruota,aBNum)
	Dim e,p,N
	p = 0
	' ciclo sui r estratti
	For e = 1 To 5
		' leggo il numero estratto
		N = Estratto(idEstr,ruota,e)
		
		If aBNum(N) Then
			' se il numero è presente nella quartina identificata
			' dall'array booolean aBNum incremento i punti
			p = p + 1
			' metto a false il numero trovato perche non deve essere riusato
			aBNum(N) = False
		End If
	Next
	' la funzione torna i punti realizzati
	GetPuntiRuota = p
End Function
 
Ultima modifica di un moderatore:

surmang

Super Member >PLATINUM<
...............lo script seguente verifica il metodo dell'esempio
fa uso di tutte nozioni gia spiegate , puo sembrare lungo ma solo perche è pieno di commenti.
Di teoria non c'è niente che gia non sia stato spiegato percio dovrebbe essere comprensibile
ciao a tutti.

Ciao a Tutti,
Luigi, grazie per queste preziose lezioni, l’ultimo script che hai postato apre prospettive intriganti,
nonché un percorso che s’intrica ulteriormente.
Mi piacerebbe approfondire nel dettaglio, la struttura ed il modo in cui la funzione ArrayNumeriToBool da te creata in Spaziometria, opera la trasformazione da vettore a vettore boolean, sapresti indicarmi dove trovare descrizioni ed esempi dettagliati ?
:)
 
Ultima modifica:

pinolotto

Junior Member
Vi seguo,
ma non riesco a vedere le immagini allegate ingrandite,
riesco a vedere solo le prime due del post #21, la terza si vede bene anche così.
Quelle del post #1, che sono le più interessanti, mi apre solo la pagina web di upload.

Cordiali Saluti
 

joe

Advanced Member >PLATINUM PLUS<
Porgendo il mio più caro saluto,

a Luigi (ed a tutti gli intervenuti) noto che da tempo si sono perse le immagini,

a corredo dei vari argomenti che si sono discussi nel susseguirsi dei post.

Rimane il fatto che è argomento interessante sul quale ritorno, di tanto in tanto,

per verificare ed approfondire aspetti che ancora non mi sono del tutto familiari.

Un ripasso.

Se si potessero recuperare e inserire ... le immagini mancanti ...

(senza impegnare la sola disponibilità di Luigi) penso che la trattazione sarebbe più completa.

Ritornerebbe alla sua completezza originale.

Ringrazio pertanto chi (avendole) le pubblicasse.

:) Buona giornata a tutte/i.
 
L

LuigiB

Guest
Ciao Joe io ovviamente le immagini non le ho più...erano immagini prese al volo mentre a suo tempo scrivevo il post..
 

joe

Advanced Member >PLATINUM PLUS<
Ciao Luigi, ok.

E' nella materialità dei fatti ...

che non si possa conservare tutto.

Forse riesco a rimediare in altro modo.


:) Buona Giornata a tutte/i.
 
L

LuigiB

Guest
Ciao Joe , le immagini possono aiutare ma il codice è ancora meglio , se hai dubbi non esitare a domandare.
 

joe

Advanced Member >PLATINUM PLUS<
Ciao Luigi,

grazie per la tua proverbiale disponibilità.

Purtroppo le difficoltà intrinseche, la frammentazione degli argomenti,

le cancellazioni più o meno necessarie oltre la perdita delle immagini nei post,

non collaborano nel facilitare l'apprendimento dei concetti sottesi.

Comunque, di tanto in tanto, ritorno su questi argomenti.

In caso difficoltà, non mancherò di essere il solito rompi ...

prima però, desidero procedere un pochino in solitaria ostinata cocciutaggine.

:) Un sincero grazie.
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 18 aprile 2024
    Bari
    13
    39
    14
    70
    78
    Cagliari
    67
    65
    03
    87
    63
    Firenze
    85
    90
    19
    67
    78
    Genova
    60
    81
    39
    33
    13
    Milano
    90
    01
    83
    11
    88
    Napoli
    18
    12
    80
    29
    19
    Palermo
    50
    83
    40
    24
    12
    Roma
    74
    48
    75
    65
    37
    Torino
    80
    46
    44
    27
    30
    Venezia
    70
    16
    72
    03
    89
    Nazionale
    89
    22
    06
    87
    13
    Estrazione Simbolotto
    Genova
    28
    21
    43
    25
    17

Ultimi Messaggi

Alto