Novità

Listato non visualizza Resoconto

  • Creatore Discussione Creatore Discussione pfca
  • Data di inizio Data di inizio

pfca

Advanced Member >GOLD<
Buongiorno a tutti,
Grazie a chiunque può darmi un aiuto.

'Se presenti nella estrazione i numeri di m1, mi restituisce la posizione nella matrice
'per giocare i numeri corrispondenti alla posizione di m2.

Sub Main
Dim m1(10)
m1(1) = 41 : m1(2) = 42 : m1(3) = 43 : m1(4) = 44 : m1(5) = 45 : m1(6) = 46 : m1(7) = 47 : m1(8) = 48 : m1(9) = 49
m1(10) = 50
Dim m2(10)
m2(1) = 61 : m2(2) = 62 : m2(3) = 63 : m2(4) = 64 : m2(5) = 65 : m2(6) = 66 : m2(7) = 67 : m2(8) = 68 : m2(9) = 69
m2(10) = 70
Dim num(5)
Dim posta(3)
posta(1) = 1
posta(2) = 2
posta(3) = 1
Dim ruota(1)
ruota(1) = 8 ' Ruota di rilevamento e verifica esito
k = 12 ' < - - - Colpi di gioco
For n = 8300 To EstrazioneFin
ReDim p1(5)
If IndiceMensile(n + 1) = 1 Then ' < - - - - Estrazione mensile Ultima
For x = 1 To 10
For y = 1 To 5
a = Estratto(n,8,1)
b = Estratto(n,8,2)
c = Estratto(n,8,3)
d = Estratto(n,8,4)
e = Estratto(n,8,5)
Next

If m1(x) = a Then p1(1) = x
If m1(x) = b Then p1(2) = x
If m1(x) = c Then p1(3) = x
If m1(x) = d Then p1(4) = x
If m1(x) = e Then p1(5) = x

Next
Scrivi " " & FormatSpace(a,2) & "--" & FormatSpace(b,2) & "--" & FormatSpace(c,2) & "--" & FormatSpace(d,2) & "--" & FormatSpace(e,2)

OrdinaMatrice p1,1
uu = m2(p1(1))
vv = m2(p1(2))
zz = m2(p1(3))
yy = m2(p1(4))
ww = m2(p1(5))

ColoreTesto 1
Scrivi " Posizioni Rilevate: " & FormatSpace(p1(1),2) & "-" & FormatSpace(p1(2),2) & "-" & FormatSpace(p1(3),2) & "-" & FormatSpace(p1(4),2) & "-" & FormatSpace(p1(5),2),1
ColoreTesto 2
Scrivi " Numeri da Giocare : " & FormatSpace(uu,2) & "-" & FormatSpace(vv,2) & "-" & FormatSpace(zz,2) & "-" & FormatSpace(yy,2) & "-" & FormatSpace(ww,2),1
ColoreTesto 0
Scrivi "--------------------------------------------------------------"

num(1) = uu
num(2) = vv
num(3) = zz
num(4) = yy
num(5) = ww

ImpostaGiocata 1,num,ruota,posta,k
Gioca n
End If
Next
ScriviResoconto
End Sub

Dopo la risposta di Claudio lo script è questo.
 
La funzione Imposta giocata prevede un vettore x la/e ruote

ImpostaGiocata(NumGiocata, vetNumeri, vetRuote, vetPoste, Optional Durata = 1, Optional SorteInterr = 0, Optional Attesa = 0, Optional aGiocateDaInterrompere = 0)
Dim ruota(1)
ruota(1) = 8 ' Ruota di rilevamento e verifica esito

Lo spot che conosciamo dice "Ti Piace vincere facile ? " che tradotto in pratica significa "Ti Piace..rebbe vincere facile !!!"
 
Buongiorno a tutti,
chiedo un aiuto per questa ricerca:
Se tramite una inputbox inserisco un valore es (3), il listato, trovate le posizioni dei numeri usciti,
dovrebbe calcolare se tra inizio m1(1), Es. intermedio m1(3) –m1(6) e fine m1(10),
ci sono le distanze digitate nella inputbox, ma non superiori prelevare i numeri abbinati della m2(x).
Faccio un paio di esempi:
Inputbox = 3
58--48--85--45--89
Posizioni Rilevate: - - - 5 - 8 (num.45 e 48)
Numeri da Giocare x posizione di m2(x) sono: 6 – 7 =<3 e 9 – 10 =<3
Dalla posizione 1 alla 5 sono 4 spazi per cui è > di 3
Altro esempio:
31--84--50--42--14
Posizioni Rilevate: - - - 2 -10 (num. 42 e 50)
Numeri da Giocare x posizione di m2(x) sono: 1 =<3 e solo quello in quanto dal 2 al 10 sono 7 spazi.
Spero di essere riuscito a spiegare quello che purtroppo non riesco a fare.
Io ho cercato tranite degli if and Then di valutare i valori di p1(x), ma non sono riuscito.
Ringrazio chi potrà aiutarmi.


Francesco
 
Scusa Francesco, purtroppo non sono riuscito a capirlo...
potresti fare un esempio reale e completo con il
risultato finale???

Ciao, Enplein.
 
Se invii lo script o la parte relativa alla tua ricerca, forse riesco a capire cosa ti serve, adesso è per me poco chiaro e con riferimenti generici.

Mi chiedo comunque se hai usato la funzione "Distanza" con le if.. then.
ciao
 
Il listato di esempio è quello all'inizio del post.
Il tutto deriva dalla estrazione in esame, se presente uno
o più numeri della matrice(non sò se il termine è giusto)m1(x),
Inputbox = 3 'distanza tra le posizioni rilevate
58--48--85--45--89
Posizioni Rilevate: - - - 5 - 8 della m1(x)(num.45 e 48)
essendo valida in base alla inputbox solo la distanza
6 – 7 =< 3 ; 9 – 10 =< 3 (3 deriva dalla inputbox)
Numeri da Giocare x posizione di m2(x) sono:
66 – 67 e 69 - 70
Dalla posizione 1 alla 5 sono 4 spazi per cui è > di 3.

Se avessi digitato 4 nella inputbox, il risultato sarebbe:
1 - 5 =< 4; 6 – 7 =< 4 e 9 – 10 =< 4 (4 deriva dalla inputbox)
Numeri da Giocare x posizione di m2(x) sono:
61 - 62 - 63 - 64 e 66 – 67 e 69 - 70
Pertanto si giocano i seguenti numeri:
61 - 62 - 63 - 64
66 - 67
69 - 70
Tutti per Ambo e Terno
se fosse capitato che il numero tra le posizioni o all'inizio oppure alla fine fosse uno solo, quella è l'Ambata. K=1
Spero di aver spiegato il tutto in modo chiaro, deriva da un mio pensiero che a mano da ottimi risultati,
però bisogna capire se nel prolungarsi della giocata è poi conveniente.
Io per semplicità ho messo m1(10) e m2(10), in effetti sono da 18 ma il punto è sempre trovare
le combinazioni da giocare che al massimo sono 4 o cinque, a volte
solo due, ma i risultati sembrano ottimi.
Ringrazio chi potrà aiutarmi, così al termine si potrà postare il listato.

Francesco
 
ciao pfca io ti aiuto volentieri pero perdonami non ho capito
bene che ti serve ...
cioe tu hai una sequenza di numeri tipo 20 - 25- 30 -40 -50 facciamo finta poi hai un valore che lleggi da un input box .. facciamo finta
che dall'input box viene 5 ... che bisogna fare ora ?
 
quote:Originally posted by LuigiB

ciao pfca io ti aiuto volentieri pero perdonami non ho capito
bene che ti serve ...
cioe tu hai una sequenza di numeri tipo 20 - 25- 30 -40 -50 facciamo finta poi hai un valore che lleggi da un input box .. facciamo finta
che dall'input box viene 5 ... che bisogna fare ora ?

Chiedo scusa a pfca per l'intrusione ma poichè ho beccato Luigi in fragrante.... devo approfittare.

X Luigi
:D:D dissento vivamente da questo atteggiamento + indulgente nei confronti dei nuovi allievi.

noi vecchi e bacucchi siamo di serie B ? :D:D

Ciao con tanto affetto... sto scherzando chiaramente.
 
Ciao Luigi, il punto è questo, io ho una serie di numeri es m1(18) da 10 a 27,
se nella estrazione presa in esame es. 5-64-26-12-22, sono presenti dei numeri appartenenti alla serie m1 che và da 10 a 27,
deve rilevare la posizione rispetto alla stringa, quindi 12=3 posizione, 22=13 posizione e 26=17.
A questo punto ho bisogno che se io immetto un parametro es: K=4, il listato mi restituisca i numeri di seguito che si trovano
tra le posizioni rilevate e che non superino la serie di 4 posizioni.
10-11-12-13-14-15-16-17-18-19-20-21-22-23-24-25-26-27
01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-16-17-18.
Pertanto i numeri da giocare per K=4 saranno:
10-11 Pos 1 e 2 di m1(18) 2 =< K
23-24-25 Pos 14-15-16 di m1(18) 3 =< K
27 Pos 17 di m1(18) 1 =< K
Altro es, se fosse uscito solo il numero 14, con K=4 avrei potuto giocare i numeri:
10-11-12-13 e solo quelli in quanto rientrano in K=<4, mentre se k = 3, non avrei potuto giocare nessun numero.
Le serie di numeri sono 5 da 18, ma spero che, con la spiegazione di una riesco poi a farlo lavorare con tutte e 5.
Spero di essere riuscito a spiegare ciò che cercavo di realizzare.
Nel listato che ho postato io riesco a rilevare la posizione ed eventualmente un numero nella stessa posizione, anche se in altra matrice,
ma non riesco a contare gli spazi tra un numero ed un'altro uscito.
Ti ringrazio se puoi aiutarmi, e cercherò di capire il listato per migliorare le mie conoscenze ancora molto scarse.
Ti ringrazio per la tua disponibilità.

Un saluto anche a Claudio, ma devi avere pazienza con i nuovi e scarsi studenti.



Francesco
 
Ciao Pfca , allora ho buttato giu uno script che ti
dimostra come fare per ottenere quello che hai chiesto.
Lo script mostra a video i numeri da giocare sia
presi da una ruota reale sia sfruttando l'esempio che mi hai fatto
(per fare questa seconda cosa devi levare il commento da due righe che indico nello script)

Dopo che lo avrai capito sarai di sicuro in grado di modificarlo per
fare una analisi del metodo usando le funzioni ImpostaGiocata e Gioca
non ti spaventare per la lunghezza perche se non ci fossero tutti i commenti che ho messo sarebbe piu corto.
Dove non capisci chiedi pure

Codice:
Option Explicit
Sub Main
	' DICHIARAZIONE DELLE VARIABILI USATE ======================================================
	'LE DICHIARAZIONI PER CONVENZIONE SI METTONO SEMPRE IN TESTA
	Dim serieNumerica ' contiene la stringa di numeri separati da un carattere separatore scelto
	' da noi , useremo il segno -
	Dim IdEstrazione ' contiene il numero che identifica l'estrazione che si vuole analizzare
	Dim IdRuota ' contiene il numero della ruota che si vuole analizzare
	Dim k,kk ' controllo cicli generici
	Dim sTestoOutput ' serve per costruire il testo che mostreremo nell'output
	ReDim arrPosUscita(5) ' memorizza le possibili posizioni di uscita nella serie al massimo possono essere 5
	Dim nTrovati ' conteggia i numeri trovati
	Dim nLunMaxSerie ' valorizzata dall'utente con inputbox identifica la lunghezza massima della sottoserie contenuta
	'nella serie principale tra le posizioni dei numeri usciti
	Dim nPosInizio ' serve per il codice che calcola i numeri da giocare (le sottoserie)
	Dim nSerieTrovate ' conteggia le serie corrispondenti al criterio della lunghezza max
	Const sNumeriUscitiTest = "-5-64-26-12-22"
	ReDim aEstratti(5) ' numeri dell'estrazione
	'==========================================================================================
	'INIZIO DEL CODICE  =======================================
	' valorizzo per default alcune variabili
	nTrovati = 0
	' valorizzo la variabile con la stringa dei numeri
	serieNumerica = "-10-11-12-13-14-15-16-17-18-19-20-21-22-23-24-25-26-27"
	' valorizzo la ruota di ricerca chiedendola all'utente
	IdRuota = ScegliRuota
	' l'estrazione esaminata è quella riferita al valore max del range impostato nel programma
	IdEstrazione = EstrazioneFin
	' per comodita di codice trasferisco la stringa dei numeri in un vettore
	' quindi dichiaro il vettore
	ReDim arrSerie(0)
	' leggo la stringa e la trasferisco nel vettore con l'apposita funzione
	' posso farlo perche so che il carattere separatore è il -
	Call SplitByChar(serieNumerica,"-",arrSerie)
	' leggo l'estrazione scelta dall'utente per la ruota selezionata
	If IdRuota > 0 Then ' mi accerto che la ruota sia stata effettivamente selezionata
		' alimento l'array degli estratti della ruota
		For k = 1 To 5
			aEstratti(k) = Estratto(IdEstrazione,IdRuota,k)
		Next
		' queste due righe mi sono servite per forzare i numeri e fare il testo con quelli dell'esempio
		' percio se vuoi provare pure tu leva i rem (gli apici)
		'=================================================================
		' ReDim aEstratti(0)
		' Call SplitByChar(sNumeriUscitiTest,"-",aEstratti)
		'=================================================================
		' con un ciclo confronto gli estratti della ruota con il vettore che contiene i numeri dela serie
		For k = 1 To 5
			' per ogni numero dell'estrazione faccio la ricerca sul vettore delal serie
			' quindi uso un altro ciclo for nidificato nel primo
			For kk = 1 To UBound(arrSerie) ' il limite inferiore è 1 , quello superiore lo otteniamo
				'   con la funzione UBound che ritorna il numero degli elementi
				'   contenuti in un vettore
				If aEstratti(k) = arrSerie(kk) Then ' faccio il confronto
					' se l'if è verificato mi trovo qui dentro e quindi
					' Intanto Costruisco il testo Output per far vedere quale numero e in che po è uscito
					sTestoOutput = "Numero " & aEstratti(k) & _
					" Estratto in posizione " & k & " si trova nella serie numer
 
Ciao Luigi,
ti ringrazio per il listato che mi hai inviato, ho visto che hai inserito i vari commenti per capirne l'andamento e ne sono felice.
Lo studierò con attenzione e poi cercherò di implementare le altre
funzioni, spero di riuscirci, l'impegno non manchera.
Grazie per la tua disponibilità per quello che fai.
Con grande stima
Francesco

Ho provato il listato, ci deve essere qualcosa che non va in quanto
restituisce sempre "nessun numero trovato", è come se non leggesse l'estrazione.
Togliendo i due rem alle righe che hai utilizzato per la prova,
va tutto bene, con la serie digitata, ma non riesce ad utilizzare
gli estratti se vuoi analizzare l'estrazione di una ruota qualsiasi.
 
ciao Pfca , hai ragione cambia con questa riga

Codice:
If CInt(aEstratti(k)) = CInt(arrSerie(kk)) Then ' faccio il confronto


infatti il motivo è che i numeri della serie erano contenuti in una stringa
quindi la funzione SplitBychar ci ha ridato dei dati stringa
esattamente come glie li abbiamo dati noi a nostra volta
non trattandosi di dati numerici il confronto ha generato
il malfunzionamento
C'è differenza tra dati numerici e dati stringa , una stringa
puo essere composta anche solo da numeri ma rimane una stringa
pertanto le operazini matematiche non possono essere eseguite
finche non si trasforma la stringa in un intero , percio abbiamo usato CInt.

Ciao !
 

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
Indietro
Alto