Novità

SpazioScript (per LuigiB o per chi può aiutarmi)

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
Benissimo , ora è tutto ok.
Quindi ricapitolando descrivimi in due parole cosa abbiamo fatto fin 'ora..
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Abbiamo creato una classe nella quale abbiamo implementato una funzione pubblica che riceve dei parametri e torna un risultato.
Per proseguire con la creazione abbiamo risposto alla domanda "Cosa serve per inizializzare lo sviluppo dei numeri ? ", denominando un Function InitSviluppo con parametri vettore numeri e classe.
Nel momento in cui sappiamo che il chiamante passerà un vettore contenente i numeri da sviluppare e la relativa classe di sviluppo, abbiamo memorizzato alcune informazioni come variabili globali della classe.

-la quantità dei numeri da sviluppare (Private aBNumDaSvil)
-la classe di sviluppo (Private nClasse)
-le combinazioni integrali che si producono (Private nCombInt)
-i numeri scelti (Private nQNumeri)

Poiché potrebbe darsi che il chiamante ci passi un array con dei numeri ripetuti o fuori dal range 1 - 90
l'unica informazione che prendiamo cosi come viene passata è la classe di sviluppo.

Per quanto riguarda i numeri passati dal chiamante li abbiamo memorizzati in un array booleano in modo tale da abbattere eventuali doppi o superamenti di range.
Contestualmente al popolamento di questo array abbiamo contato quanti numeri sono stati effettivamente usati.

Tutto ciò è avvenuto mediante la Function privata AlimentArrayNumDaSvil che svolge i seguenti compiti:

- riceverà il vettore dei numeri passato dal chiamante
- dimensionerà l'array boooleano dei 90 numeri e valorizzerà le posizioni di numeri scelti con true
-conterà quanti numeri sono stati scelti
-tornerà come risultato la quantità dei numeri scelti

dopo aver implementato questa funzione abbiamo iniziato a scrivere il codice dentro InitSviluppo , in particolare a valorizzare le variabili globali relative a

- quantità numeri scelti
- classe di sviluppo
- combinazioni integrali

è a valorizzare il ritorno di InitSviluppo ponendolo uguale al numero di colonne integrali generate
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
meno male che avevo detto due parole ... comunque va bene.
Lasciamo perdere per il momento la faccenda sviluppo e creiamo una funzione pubblica nella classe che ci restituisca i numeri effettivamente usati per lo sviluppo sottoforma di stringa separando i numeri con il punto.

questa funzione potra chiamarsi cosi

Codice:
  Function GetStringaNumDaSvil
      Dim s , k 
      s = ""
   
    ' cosa va scritto qui  affinche  s contenga i numeri usati ?   
   
      GetStringaNumDaSvil = RimuoviLastChr ( s , ".")
      
   End Function
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Mmm forse così?

Codice:
     Function GetStringaNumDaSvil(aNumeri)
      Dim k,s
      s = ""
      For s = 1 To UBound(aNumeri)
      SplitByChar(s,".",aNumeri)
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
cosa c'è di tanto strano ?
Abbiam un array boolean che è valorizzato , da quello dobbiamo ottenere una stringa con i numeri usati , la funzione torna questa stringa , tra l'altro nella funzione postata da me nobn ci sono parrametri , devi partire da quella
 
Ultima modifica:

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Forse e ripeto forse, inizio a capire ....

Codice:
     Function GetStringaNumDaSvil(aBNumDaSvil)
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)     
      Call ArrayBNumToArrayNum(aBNumDaSvil,s & ".")
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
devi usare la base che ho scritto io, nella mia funzione non ci sono parametri , perche ce li hai messi ?
l'array aBNumDaSvil è visibile a tutte le routine della classe , t iricordi prima lo hai ciclato per contare quanti true c'erano ? ora devi fare la stessa cosa ma costruire una stringa con i numeri valorizzati a true.
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Codice:
     Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)     
      If aBNumDaSvil(k) = True Then
      Call ArrayBNumToArrayNum(aBNumDaSvil,s & ".")
      End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
che vuol dire qua ? sei sicuro che si fa cosi ?

Call ArrayBNumToArrayNum(aBNumDaSvil,s & ".")


devi costruire una stringa concatenando i numeri che nel famoso array son true ,secondo te la variabile s che io ho inizializzato a stringa vuota a che serve ?
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Mmm vediamo cosi 🧐

Codice:
     Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)     
      If aBNumDaSvil(k) = True Then
      Call ArrayBNumToArrayNum(aBNumDaSvil(k),s)
      End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
questa funzione cosa fa ? ci sarà un motivo per cui l'hai usata...
ArrayBNumToArrayNum
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Ho capito ahahah

Codice:
     Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)     
      If aBNumDaSvil(k) = True Then
      s =  ArrayBToString(aBNumDaSvil(k) & ".")
      End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
le risate ahime amare mi toccano a me ... :)
scusa come si fa a concatenare uan stringa ? A parte che hai usato una funzione giusta che io non ricordavo l'hai usata in modo sbagliato.
Si aprono due strade , la prima quella iniiziale il ciclo sull'array per creare una stringa concatenando i numeri valorizzati a true
La seconda , alternativa alla prima, è a usare la funzione ch hai messo tu ... (che pero hai usato in modo errato perche è dentro un ciclo)
Decidi come fare , col la seconda strada è molto piu semplice ineffetti .. pero visto che hai difficolta usa la prima strada per capire come si fa.
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Non ci arrivo ... sono sincero ... ho provato 20 strade diverse ma sembrano tutte senza senso 😔 ... continuerò a provarci
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
la butto li ...

Codice:
     Function GetStringaNumDaSvil
      Dim s,k
      ReDim aRetNum(0)
      s = ""
      For k = 1 To UBound(aBNumDaSvil)     
      If aBNumDaSvil(k) = True Then
      Call ArrayBNumToArrayNum(aBNumDaSvil(k),aRetNum)
      s = aRetNum & "."
      End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
ciao , non ci arrivi perche procedi a caso ...e usi delle funzioni che nessuno ti ha detto di usare .. non si capisce perche le usi se non hai chiaro a che servono.

tu sai che se hai 2 variabili

a = "Paolino"
b = "Paperino"

e ad una terza variabile assegno

c = a & " " & b

succede che C diventa = "Paolino Paperino" , abbiamo concatenato due variabili in una stringa.

ora torniamo a noi.

abbiamo un vriabile S che deve contenere i numeri che nell'array boolean sono true.

quindi benissimo il ciclo che hai fatto , solo che poi lanci quella funzione a caso qando invece dovresti semplicemente
costruire concatenenado i numeri nella stringa s
 

Edoardo_95

Super member
Messaggi
156
Punti reazione
17
Punti
18
Quindi

Codice:
   Function GetStringaNumDaSvil
      Dim s,k
      s = ""
      For k = 1 To UBound(aBNumDaSvil)
         If aBNumDaSvil(k) = True Then
            s = aBNumDaSvil(k) & "."
         End If
      Next
      GetStringaNumDaSvil = RimuoviLastChr(s,".")
   End Function
 

Giggio

Super Member >GOLD<
Messaggi
207
Punti reazione
61
Punti
28
ci siamo quasi e sta iiniziando a capire , ma c'è un errore.
La stringa S , piano piano deve accogliere i numeri del pronostico.

se io scrivo s = "Paolino" e poi s = "Paperino" , s conterrà sempre solo il valore dell'ultima assegnazione.

se io scrivo

s = "Paolino" & " "
s = s & "Paperino"

alla fine s conterra Nome +spazio + cognome.

Capito quest ocosa devi fare ?
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 26 settembre 2020
    Bari
    14
    86
    85
    68
    16
    Cagliari
    31
    45
    42
    79
    21
    Firenze
    74
    69
    10
    63
    35
    Genova
    67
    32
    79
    36
    66
    Milano
    89
    59
    36
    77
    90
    Napoli
    58
    33
    06
    18
    56
    Palermo
    30
    19
    62
    90
    17
    Roma
    33
    70
    35
    75
    21
    Torino
    15
    20
    57
    21
    35
    Venezia
    36
    29
    71
    15
    26
    Nazionale
    73
    02
    20
    72
    10
    Estrazione Simbolotto
    Palermo
    21
    07
    14
    16
    18
Alto