Novità

Per dirla alla "Austin Powers" sarebbe...

lotto_tom75

Advanced Premium Member
Scopadelico! :eek: :D :cool:

227784.jpg

Uno script che facesse questo:

1) Caricasse e analizzasse un file txt costituito da righe volute (con elementi separati da carattere punto ad esempio e della classe voluta (es. 5ine, 6ine ecc...)

2) Analizzasse RA RS INCMAX e FQ per la sorte voluta sulle ruote volute (unite e/o separate) o anche solo su TUTTE (unite) per ogni riga...

3) E sopratutto... estrapolasse solo... le righe con INCMAX maggiore "passato" uguale a INCMAX maggiore "ultimo" del tipo raffigurato nell'immagine sottostante... (o in allegato)

photo11890.jpg

GRAZIE INFINITE A chi proverà a realizzarlo (DEUS MACHINA LUIGIB compreso ovviamente :p :D )

Un saluto a tutti/e ;)
 
Ultima modifica:
L

LuigiB

Guest
benissimo , chi vuole scrivere lo script sotto le mie indicazioni ? Potete farlo in collaborazione , mi rivolgo a chi gli script gia è in grado di farli .. scriveremo questo script passo passo .. chi è interessato dia conferma ...
 

i legend

Premium Member
Ciao .se la scriviamo a pezzi io ci sono anche solo per imparare.
Domanda i file ".col" non sono migliori?
Le possono scrivere tutti e fanno le stesse cose dei txt. Anche perché fare un txt è più difficile per la maggior parte degli utenti.
Proporrei di fare scegliere All utente quello che vuole utilizzare.
Utilizziamo leggi righe file di testo e leggi colonne sistema.
Cmq guardo gli esempi di mike e magia.
La cosa più difficile e scrivere la funzione degli incrementi storici credo.
Ciao buon pranzo a tutti.
Ps ne approfitto per chiedere la doppia riga intestazione con tabella ordinabile non si ottenere?
Ciao:)
 
L

LuigiB

Guest
bene Legend è il primo del team ..
Si lo script lo scriviamo affrontando i vari problemi uno per volta e alla fine avremo lo script completo
chi altro si aggiunge ? .
 

lotto_tom75

Advanced Premium Member
LuigiB;n1935034 ha scritto:
bene Legend è il primo del team ..
Si lo script lo scriviamo affrontando i vari problemi uno per volta e alla fine avremo lo script completo
chi altro si aggiunge ? .


Presente! :cool: E per adesso siamo in 3 ;)​ .
Grazie di Cuore davvero Amici! :D :eek: :)
 
Ultima modifica:

i legend

Premium Member
Ciao joe:)
Anche se dietro ke quinte è importante che tu ci sia:)
Non vorrei testare quanto è paziente luigi;)
Intanto comincio con la pesca del file
Codice:
Sub main 
Dim k 
Dim sFile 
'Temp è  dove ho il file
SFile =ScegliFile  ( GetDirectoryAppData,&"temp" )
If fileEsistente  (sFile ) Then
   Redim aRighe  (0)
   Call leggiRigheFileDiTesto  (sFile, aRighe )
         For k = 0 To ubound ( aRighe )
         Scrivi aRighe  (k)
         Next 
   End if 
End  sub
Ciao:)
 
Ultima modifica:
L

LuigiB

Guest
Ciao Ok , eccoci qua ... se qualcuno si aggiunge in corso d'opera va bene lo stesso.
Legend è gia passato all'azione ,ma qui bisogna prima vedere quale sia il problema e come si decide di affrontarlo.
Prima si ragiona e poi ci si adopera .comunque almeno la funzione che ci fa scegliere il file l'abbiamo a disposizione , lasciamola li perché potrebbe darsi che la dobbiamo anche modificare un po'.

allora riassumendo

- disponiamo di un file di testo che contiene delle lunghette
'- dobbiamo fare la statistica di tutte
- dobbiamo selezionare quelle che hanno una particolare caratteristica e cioè che l'ultimo
valore di IncrRitMax sia uguale la valore più alto di IncrRitMax capitato nel passato.

Ora innanzi tutto dobbiamo capire come fare per avere a disposizione i dati che ci servono.
ci servirebbe l'elenco del valore IncrRitMax che quella lunghetta ha avuto nel periodo analizzato
Però una funzione gia fatta che ci dia questo elenco non esiste quindi la dovremo scrivere noi.

L'ideale sarebbe avere un vettore che contenga tutti i valori IncrRitMax cosi poi confrontando l'ultimo valore del vettore col valore più alto presente(negl altri elementi del vettore escluso l'ultimo) possiamo riscontrare se la condizione cercata sia rispettata e conseguentemente segnalare la lunghetta.
Questo vettore possiamo calcolarlo avendo a disposizione l'elenco dei ritardi del numero , una funzione che ci da questo elenco esiste , poi scrivendo una routine che leggendo l'elenco dei ritardi calcoli e alimenti il vettore che serve a noi, risolveremo la questione lo vedremo poi.

allora uno dei soggetti in gioco è sicuramente la lunghetta , quindi creeremo un oggetto lunghetta
che disponga di opportune proprietà e di metodi che poi ci renderanno agevole il compito
Sarà l'oggetto stesso a dirci se corrisponde alla caratteristica che cerchiamo.

Avendo parlato di oggetto forse qualcuno di voi ha gia pensato che useremo le classi , infatti è proprio cosi.

Creeremo il modello del nostro oggetto attraverso una classe . la classe clsLunghetta.

questo modello che stiamo per creare è come se fosse uno stampo , ogni volta che invocheremo l'istruzione New clsLunghetta si crerà un oggetto di quel tipo che farà le cose per cui noi lo abbiamo previsto e che poi inseriremo in una collection.,
Interrogando poi tutti gli elementi contenuti nella collection sapremo quale di questi corrisponde alle caratteristiche richieste e potremo mostralo.


iniziamo a pensare a cosa deve avere il nostro oggetto clsLunghetta.

La prima cosa che deve avere è la lunghetta da esaminare, quindi al suo interno dovrà essere presente
- un vettore che contenga i numeri della lunghetta .
- un metodo per passargli la lunghetta e per fare in modo che lui internamente si crei un vettore

sono queste die cose che anfremo a fare per iniziare il nostro script , ovviamente le farete voi

riassumendo va scritta una classe il cui nome sia clsLunghetta ,
internamente dovra essre presente una variabile privata che sarà alimentata con i numeri della lunghetta che noi passeremo.

ora sebbene in altre circosanze io abbia fatto esempi di classi studiando i quali gia dovreste essere in grado di implemetare i due punti detti , farò un ulteriore esempio che consentira di fare un parallelo per implementare quanto detto.
L'esempio è molto semplice non ha nulla a che vedere col lotto , chi riesce a capirlo è in grado di trasferire quanto appreso per fare cio che serve a noi nello specifico.

facciamo finta che io voglia fare una rubrica
mi serve un oggetto clsPersona ,
questo oggetto dovrà avere al suo interno
- una variabile privata che memorizzi il nome della persona
- dovrà essere presente un metodo per passare il nome della persona


Codice:
Option Explicit

Class clsPersona
 Private sNominativo
 
 Sub Init (sNome)
  sNominativo = sNome
 End Sub
 

End Class
Sub Main
 
 Dim clsP ' as clsPersona
 
 Set clsP = New clsPersona
 clsP.Init  ("Mario rossi")
End Sub




lanciando questo script non succede niente però non da errori vuol dire che è sintatticamente corretto , ora fare un parallelo per implementare l'oggetto clsLunghetta come ho richiesto sopra

- dovra avere una variabile privata che conterrà i numeri della lunghetta
- un metodo a cui passeremo la stringa della lunghetta e che internamente alimenterà il vettore dei numer i(la variabile privata che chiameremo aNumeri del punto 1).

dato che la lunghetta sarà una stringa letta dal nostro file nella quale i numeri presenti sono separati da un carattere separatore che non sappiamo il metodo che ricevendo la stringa la interpreti e alimenti il vettore interno deve consentire di parametrizzare anche il carattere separatore.

forza procedere ..con la creazione della clsLunghetta con le caratteristiche che abbiamo individuato , dovrebbe essere semplice ..

N.B.

premendo esegui sullo script che andrete ad iniziare non deve succedere nulla semplicemente non deve dare errori , deve fare solo quello che abbiamo detto niente di più niente di meno .siamo ancora in fase iniziale















..
 
Ultima modifica di un moderatore:

i legend

Premium Member
Ciao al momento trascrivo :)
Codice:
Option Explicit 
Private sLunghetta 
Sub init (sNum ) 
Slunghetta=snum
End  sub 
End class
Sub main 
Dim  clsLung
Set clsLung=new clsLunghetta  
Dim sNum
ClsLung.init (snum)
End sub
S num sarà slittata.
Sto scrivendo la funzione per ottenere il carattere separatore.
Ciao
 

Mike58

Advanced Member >PLATINUM PLUS<
Premesso che cercherò di seguire anch'io quanto si vuole sviluppare per vie differenti, e premesso anche che faccio fatica a seguire la logica dei pezzi di script e pergiunta con gli sviluppi in classe, mi sorge spontanea la domanda ma non è possibile sviluppare anche il tutto con la logica degli incrementi e conteggio estrazioni.

Senza voler testare per ora un file esterno un possibile conteggio su numeri reali potrebbe essere anche questo.
Milano 71.41 Sorte Analizzata : Estratto 12.11.2015 Rc 96 =========================
Freq Progrssiva
Data storico
IncrMax
estratti
1
28.09.1946
3
38.65.10.83.41
2
21.12.1946
12
81.33.71.11.25
5
09.08.1947
18
24.71.87.60.05
9
24.07.1948
25
88.25.21.41.05
14
28.05.1949
31
18.52.27.41.81
73
10.01.1959
48
14.04.41.30.79
514
04.06.2013
52
71.51.16.59.03
Ritardo Attuale : 96 Ritardo Storico : 96 Incremanto Attuale: 45 Frequenza Attuale : 563

Firenze
90
Sorte Analizzata : Estratto

12.11.2015 Rc 52
=========================
Freq Progrssiva Data storico IncrMax estratti
1 15.02.1947 23 90.34.01.31.48
2 22.11.1947 40 90.15.04.28.21
7 24.09.1949 70 89.64.90.19.32
106 19.06.1982 103 89.28.90.22.16



Ritardo Attuale : 52
Ritardo Storico : 102
Incremanto Attuale: 0
Frequenza Attuale : 302

Ciao a tutti mi ripeto.... comunque seguo anch'io.
 
Ultima modifica:
L

LuigiB

Guest
ciao Legend , non ti sbagliare noi internamente alla classe dobbiamo avere un vettore con i numeri
non la stringa , quindi hai fatto bene a passare sNum che è la stringa che leggiamo dal file txt, pero non devi tenere internamente sLunghetta ma aNumeri quindi bisogna leggere sNum e alimentare il vettore aNumeri dichiarato come private al posto di sLunghetta , il tutto si fa con la funzione splitbychar.

il caratteere separatore è un parametro da aggiungere al metodo Init , niente di speciale
 
L

LuigiB

Guest
ciao Mike . è possibile fare tutto in modi differenti .. ma ho scelto questo metodo per insegnare altri concetti molto utili e che appunto come dici sono poco chiari.
Ora quanto abbiamo gia detto non è difficile se non hai capito qualcosa dillo cosi ti rispondo.
 

Mike58

Advanced Member >PLATINUM PLUS<
Luigi le tue disamine sono sempre molto chiare ed esaustive, ma assimilarle e farle di uso comune fino ad ora in pochi siamo riusciti.
Vediamo se mi si blocca qualche nuovo concetto mentale.

ciao
 
L

LuigiB

Guest
percio facciamo passo passo , sappiamo il problema , descriviamo come lo risolviamo ,, implementiamo il codice , il tutto mano mano proprio per consentire di seguire lo sviluppo
e farlo capire a tutti ..
vedrai che come hai imparato cose che non pensavi di riuscire a fare imparerai pure questa , anche perche spaendo fare gli script tutto il resto è solo un atteggiamento mentale ..il codice e le istruzioni sono sempre quelle.
 

i legend

Premium Member
Ciao allora al momento no da errore
Codice:
Option Explicit 
Class ClsLunghetta 
Private aNumeri 
Public property get Chrs
Chrs=inputbox ("es :  |  .   |  ,  |  ;  |  -  |"," get chr sep",".")
End property
Sub init (sNum,chrs)
'Snum. è  la stringa della formazione
' chrs è  il carattere separatore
'
'aNumeri è  il vettore di ricerca
Call splitbychar ( snum, chrs,aNumeri)
End sub
End class 
Sub main 
Dim clsLung 
Set clsLung = new clsLunghetta 
Dim sNum, chrs
Call clsLung. init (snum,chrs)
End sub

Ciao grande mike
Sto provando a seguire.
Il ciclo delle stringhe si fa in classe o in main?
Ciao:)
P.s
Ci vuole molta pazienza; )
Grazie per ke spirgazioni;)
 
Ultima modifica:
L

LuigiB

Guest
ciao Legend , non devi fare di più di quanto dico io .. la proprietà che hai scritto non serve e a dire il vero non andrbbe manco bene. le proprietà le spieghiamo dopo.

Il parametro che conterra il carattere separatore va bene tra i parametri del metodo init,
ora hai fatto bene ad usare splitbychar ma devi pure pensare che a noi ci serve un vettore dei numeri che si alimenti dall'indice 1 perché poi lo dovremmo passare alle varie funzioni statistiche,
per fare in modo che il vettore si alimenti dall'indice 1 a splitbaychar va passata una nuova stringa costituita dalla concatenazione di un carattere separatore + la stringa sNum,

la procedura main per ora cancellala
 
Ultima modifica di un moderatore:
L

LuigiB

Guest
devi pensare alla nostra classe come ad un oggetto che ciserve per fare un lavoro , fai finta dovessimo battere un chiodo prima ci costruiamo il martello .. ecco la nostra classe è uno strumento
che fa le cose che ci servono, quindi lavora in astratto tutti i parametri specifici , nuumeri , ruote , range , separatori .. ec ecc . si passano dall'esterno dal chiamante da Sub Main .. ma per ora non fare niente oltre alle correzioni che ho detto
 
Ultima modifica di un moderatore:

i legend

Premium Member
Call leggiRigheFileDiTesto ( sFile, aRighe )
Chrs=mid (aRighe ( lbound (aRighe ) ), 3,1)
For k = lbound (aRighe ) To ubound ( aRighe )
Num=split ("0"&chrs&aRighe ( k ), chrs)
Next
Questo prende da solo il carattere separatore
Con splitbychar non mi riesce:(
Ciao
 

i legend

Premium Member
Codice:
Option Explicit 
Class ClsLunghetta 
Sub init (sNum, aNum ) 
Dim chrs
If Not isnumerovalidolotto ( mid  (sNum,3,1)) then
Chrs=mid ( sNum, 3,1)
Else
Chrs =mid ( sNum, 2,1)
End if
aNum =split ("0"&chrs &sNum, chrs)
End sub 
End class
Nella main facendo il ciclo delle righe mi restituisce a num e statistica funziona correttamente.
Spero di aver fatto quello che mi hai chiesto senza nulla di più .
Così trova tutti i separatori l importante che siano sempre gli stessi. Del secondo o terzo posto.
Grazie :)
Buona domenica; )
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 maggio 2024
    Bari
    77
    62
    67
    60
    04
    Cagliari
    89
    01
    35
    54
    38
    Firenze
    84
    58
    25
    64
    57
    Genova
    53
    25
    66
    59
    23
    Milano
    22
    75
    48
    16
    77
    Napoli
    81
    41
    42
    67
    39
    Palermo
    19
    63
    57
    43
    05
    Roma
    04
    35
    50
    33
    23
    Torino
    56
    20
    46
    14
    88
    Venezia
    78
    81
    42
    74
    36
    Nazionale
    42
    83
    59
    86
    34
    Estrazione Simbolotto
    Milano
    41
    29
    01
    27
    30

Ultimi Messaggi

Alto