Novità

Imparare a fare gli script

Stato
Chiusa ad ulteriori risposte.
R

Roby

Guest
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?
 
L

LuigiB

Guest
-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
 

imported_n/a

Advanced Premium Member
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 "
 

mattias

Senior Member
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
 

mattias

Senior Member
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.
 
L

LuigiB

Guest
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 ?
 

mattias

Senior Member
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
 

esselotto

Advanced Member >GOLD<
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
    venerdì 26 aprile 2024
    Bari
    65
    67
    84
    22
    77
    Cagliari
    38
    09
    83
    18
    20
    Firenze
    76
    24
    78
    30
    40
    Genova
    50
    56
    61
    90
    57
    Milano
    87
    21
    15
    12
    79
    Napoli
    13
    66
    86
    25
    49
    Palermo
    72
    60
    68
    74
    09
    Roma
    23
    15
    43
    07
    75
    Torino
    82
    79
    31
    41
    64
    Venezia
    66
    89
    18
    80
    41
    Nazionale
    04
    24
    10
    69
    73
    Estrazione Simbolotto
    Genova
    33
    03
    16
    35
    32

Ultimi Messaggi

Alto