Novità

Imparare a fare gli script

  • Creatore Discussione Creatore Discussione Roby
  • Data di inizio Data di inizio
Stato
Chiusa ad ulteriori risposte.
quote:Originally posted by metus

Un esempio cretino di come estrapolare i 4005 ambi per il lotto

Sub main()
For x=1 To 89
For x1=x+1 To 90
Scrivi x &"."&x1
Next
Next
End Sub

In italiano
Per x è uguale ad un numero da 1 a 89
Per x1 è uguale a x+1 fino a 90
Faccio scrivere x un punto e x1
L'imbecille elettronico mi tira fuori tutti gli ambi che si formano con 90 numeri.
Il Next serve per ogni For

Poi si potrebbe vedere le impostazioni che per ogni script sono sempre le stesse, senza stare a riscriverle ogni volta.

Ciao

metus

Non stare davanti a me, potrei non seguirti; non stare dietro di me, potrei non esserti di guida; ma, sta al mio fianco e sii semplicemente mio amico.
Albert Camus


ciao metus

qualcuno può modificare questo script mettendo la situazione del ritardo di ogni ambo di una certa ruota a RICHIESTA?
 
-lo script opera sul range impostato nel programma
-la ruota viene chiesta all'utente durante l'elaborazione
-mostra la statistica decrescente per ritardo
-non so se funziona in lottodesk (in spaziometria ovviamente si)

Codice:
Sub Main
	Dim k 
	ReDim aValori(4005,1)
	Dim n1,n2
	Dim Ruota,Rit,RitMax,Freq 
	
	
	Ruota = ScegliRuota 
	 
	If Ruota > 0 Then 
		Call Messaggio("Statistica ambi")
		For n1 = 1 To 89
			For n2 = n1 + 1 To 90
				k = k + 1
				Call StatAmbo(Ruota,n1,n2,Rit,RitMax,0,Freq,EstrazioneIni,EstrazioneFin)
		 		aValori(k,1) = Rit
		 		aValori(k,0) = Format2(n1) & " - " & Format2(n2) & _
		 		 Space(4) & FormatSpace(Rit,6,True) & _
		 		 Space(4) & FormatSpace(RitMax,6,True) & Space(4) & FormatSpace(Freq,6,True)
		 		 If ScriptInterrotto  Then Exit For 
		 		 
		 	Next
		 	If ScriptInterrotto  Then Exit For 

		 	Call AvanzamentoElab(1,89,n1) 
		Next
		Call Messaggio("Ordinamento")
	 
		Call OrdinaMatrice(aValori,- 1,1)
		
		Call Messaggio("Scrivo output")
	
		Call Scrivi (NomeRuota(Ruota))
		Call Scrivi("Range da " &   GetInfoEstrazione(EstrazioneIni ) & " fino a " & GetInfoEstrazione(EstrazioneFin )) 
		Call Scrivi(" AMBO " & Space(2) & FormatSpace("Rit",9,True ) & Space(4) & FormatSpace("RitMax",6 , True ) & Space(4) & FormatSpace("Freq",6,True ))
	
		For k = 1 To 4005
			Call Scrivi(aValori(k,0))
			If ScriptInterrotto Then Exit For 
		Next
	End If
	

	
End Sub
 
Ciao Luigi la funzione
Call StatAmbo(Ruota,n1,n2,Rit,RitMax,0,Freq,EstrazioneIni,EstrazioneFin)




e posta in un modulo e viene richiamata?


sarebbe carino vederla :)


ma non si puo' aprire uno forummino qui, " tutoria programmazione "
 
ciao Luigi, puoi darmi una mano a finire un listato per un procedimento, mi era stato fatto da un utente di lottoced, va terminato ed io sono all'inzio nel linguaggio script non riesco a terminarlo....mi puoi aiutare?
Grazie
 
intanto lo inserisco

PER LUIGI B

Sono a chiederti cortesemente la tua collaborazione su di uno script fatto parzialmente da un utente del forum per un mio procedimento, da terminare.
Dovrebbe essere a questo punto semplice, dimmi se puoi occupartene.
Ti spiego

Si analizzano le estrazioni utilizzando il prg spaziometria, scegliendone il numero, il programma deve rintracciare tre numeri appartenenti alla stessa terna figurale, due dei quali sono sulla stessa ruota vicini o a distanza di un unità, ed il terzo isotopo a uno dei due, nella ruota attigua o a distanza di una.
Rintracciate le formazioni, il programma le presenterà nell ordine così rintracciato, indicato appunto la formazione composta dalle ruote e i numeri rintracciati.

Metus ha costruito questo script:

Sub Main
tmp=InputBox("Quante estrazioni controllo?",,10)
fin=EstrazioneFin
ini=fin-tmp
For es=ini To fin
For r=2 To 9
For r1=1 To 10
For p=1 To 4
p1=p+1
a1=Estratto(es,r,p)
a2=Estratto(es,r,p1)
a3=Figura(a1)
a4=Figura(a2)
b1=Estratto(es,r1,p)
b2=Figura(b1)
If a4=(a3+3)And b2=(a3+6) Or a4=(a3+6)And b2=(a3+3)Or a3=(a4+3)And b2=(a4+6)Or a3=(a4+6)And b2=(a4+3) Then
If r1=r+1 Or r1=r-1 Then
Scrivi DataEstrazione(es)&" "&Left(NomeRuota(r),2)&" "& StringaEstratti(es,r),True
Scrivi DataEstrazione(es)&" "&Left(NomeRuota(r1),2)&" "& StringaEstratti(es,r1)
Scrivi Format2(a1)&"-"&Format2(a2)&" figure --> "&a3&"-"&a4&" ruota di "&NomeRuota(r)
Scrivi Format2(b1)&" figura --> "&b2&" ruota di "&NomeRuota(r1)
Scrivi"*****************************************************************"
End If
End If
Next
Next
Next
Next
End Sub

Adesso, lo script va incrementato in questo modo:
1) dall esame ricerche che il listato fornisce, ho visto che sono tutti casi di terne figurali con valore figura diverso, cioè 1-4-7, 2-5-8, 3-6-9. Il listato dovrebbe fornire anche i casi di terne figurali tipo 1-1-4, 1-1-7, 1-1-1, 4-4-7, 4-4-4, 7-7-1, 7-7-7, e cosi anche per le altre.
2)ho notato che i casi trovati sono tutti con il terzo numero isotopo sotto il primo della coppia. Il prg dobrebbe determinare anche quei casi dove il terzo numero isotopo si trova sotto il secondo numero della coppia.
Grazie, ciao
3) Infine, il listato deve fare la ricerca anche per i numeri di distanza di un unità avanti ed indietro, cosi come per le ruote sotto e sopra distanti una ruota, come spiegato all'inizio nella procedura generale del listato.
 
Ciao Mattias , non mene volere ma di script mi occupo solo raramente
ora appena ho un po' di tempo devo vedere una cosa che mi ha chiesto Rubino.
Ma come mai chiedi a tutti di continuare lo script ? Metus non lo segue piu ?
 
Ah nn sapevo che non fai listati luigi...
Questo lo ha fatto metus, mi ha detto che non può continuarlo in quanto in questo momento è molto impegnato.
Peccato, perchè questo listato fa capo ad un procedimento con esiti interessanti...
Grazie lo stesso, ciao
 
Codice:
SCRIPT COMMENTATO  METODO AMBO DOPPIO PIù SPECULARI 

Sub main()
Dim nx(90)
Dim freqx1(90)
Dim freqx2(90)
Dim numx1(90)
Dim numx2(90)
Dim posx1(90,50)
Dim posx2(90,50)
Dim ruote(11)
Dim rt(8) 
Dim ruor(6),lun(6)
Dim ne1(20),ne2(20)
Dim num(4),de(4),ca(4)
Dim SA(6),DA(12)


Dim poambata(5),poambo(5),poterno(5),poquaterna(5)

Dim nu(2),na(8),na1(8)
poambata(1)=1 : poambo(2)=1 :poterno(3)=1:poquaterna(4)=1



ColoreTesto 1
Scrivi String(75,"*"),1
ColoreTesto 0
Scrivi String (25," ")& "Ambo Doppio Filotto",1
ColoreTesto 1
Scrivi String (15," ")& "Programed by °°°esselotto°°° per ***Filotto*** LottoCed",1
ColoreTesto 1
Scrivi String(75,"*"),1
ColoreTesto 0
Scrivi String(75,"_"),1
Scrivi String(75,"_"),1


indietro=CInt(InputBox ("Quante Estrazioni vuoi esaminare ?..","°°°esselotto°°°",100))
If indietro= False Then Exit Sub
colpis=CInt(InputBox ("Colpi di gioco?..","°°°esselotto°°°",9))
If colpis= False Then Exit Sub
clp=colpis
co=0
ini=EstrazioneFin -indietro
fin=EstrazioneFin

For es=ini To fin 
Messaggio "elaborazione. estraz. "&(es)
       ''''''''''''''' rilevo blocco A in due estrazioni
       no=0
       Erase freqx1  
       Erase freqx2 
       For x= 1 To 90   ''''' da qui inizio il controllo dei 90 numeri
          pos=0
          For r=1 To 5 
           
              pos=pos+1
              For p=1 To 5                   '   Da qui rilevo il numero Estrazione precedente (es-1)  
              If Estratto (es-1,r,p)=x Then  ' controllo se l'estratto è uguale al numero Estrazione                                              ' precedente es-1   
              freqx1(x)=freqx1(x)+1:         ' ogni volta che trovo aggiungo 1 alla frequenza del numero X
              pp=p+4:if pp>5 Then pp=pp-4    ' con questo mi prelevo numero speculare e lo   
              numx1(x)=Estratto (es-1,11-r,pp) ' assegno alla matrice numx1(x)
              End If
              
              If Estratto (es,r,p)=x Then     ' Da qui faccio la stessa cosa che ho fatto sopra
              freqx2(x)=freqx2(x)+1           ' Ma con estrazione attuale (es)
              pp=p+4:if pp>5 Then pp=pp-4 
              numx2(x)=Estratto (es,11-r,pp)
              End If
''''''''''Quindi freqx1() e dell'estrazione precedente sempre nel Blocco a
''''''''''       freqx2() e di quella attuale 

            Next   '  chiudo i vari cicli for
         Next   ''        ""
       Next     ''         ""
 
 s=0  ''''''''''Questo contatore s è molto importante mi conta le presenze e altro
 numerix1=" "   '''''''''Azzero stringa che uso per far vedere i numeri pui fare anche diversamente
 numerix2=" "   '''''''''''altra stringa come sopra

''''''''''DA QUI INIZIO IL CONTROLLO SE ESISTONO SOLO DUE AMBI UGUALI  
  For x= 1 To 90 ''''<-------- DAL NUMERO 1 AL 90
   If freqx1(x)=1 And freqx2(x)=1 Then  ''' se i due  numeri contano (una sola e uguale) presenza nelle due estrazioni 
   s=s+1  '''''incremento s (il contatore )di 1 unita 
   ne1(s)=numx1(x)  'assegno a ne1(s) quindi s=1 fai attenzione ne1 il numero speculare
   ne2(s)=numx2(x)  'assegno a ne2(s) quindi 1 <----------------ne2  l'altro numero speculare
   numerix1=numerix1 & "  "& x ''''' qui riempio la stringa niente di importante
   numerix2=numerix2  & "  "& numx1(x)& "  "& numx2(x) ''''' cpome sopra altra stringa
   End If '''''' chiudo il blocco If freqx1(x)=1 And freqx2(x)=1 Then
  Next ''' chiudo il ciclo for x

''''' qui ci siamo abbiamo bisogno del contatore di cui ti spiegavo sopra 
''''' se s= 2 procedo se ho rilevato solo due casi di numeri uguali procedo

''''' esempio Estrazione precedente 12 freqenza 1      
''''''        """          """      19  ""      1      

''''' esempio Estrazione Attuale    12 freqenza 1
''''''        """          """      19  ""      1      
'''' con questo commando If freqx1(x)=1 And freqx2(x)=1 Then
''' se 12  nell'estrazione precedente e in quella attuale ha 1 solo caso
'''' allora incremento s che era uguale a zero s=s+1 diventa 1 (1° caso trova
 
Stato
Chiusa ad ulteriori risposte.

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 10 luglio 2025
    Bari
    85
    25
    24
    62
    28
    Cagliari
    51
    07
    79
    73
    36
    Firenze
    80
    63
    59
    47
    05
    Genova
    26
    50
    73
    18
    76
    Milano
    86
    12
    75
    13
    68
    Napoli
    21
    46
    89
    28
    87
    Palermo
    84
    49
    44
    17
    10
    Roma
    50
    40
    68
    65
    82
    Torino
    29
    52
    02
    60
    65
    Venezia
    81
    21
    64
    01
    09
    Nazionale
    30
    56
    86
    68
    34
    Estrazione Simbolotto
    Nazionale
    29
    13
    42
    17
    07
Indietro
Alto