Novità

SpazioScript (per LuigiB o per chi può aiutarmi)

Edoardo_95

Advanced Member
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 >PLATINUM<
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

Advanced Member
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 >PLATINUM<
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

Advanced Member
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 >PLATINUM<
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

Advanced Member
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 >PLATINUM<
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

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

Edoardo_95

Advanced Member
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 >PLATINUM<
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

Advanced Member
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 >PLATINUM<
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

Advanced Member
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 >PLATINUM<
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
    giovedì 28 marzo 2024
    Bari
    49
    73
    67
    86
    19
    Cagliari
    64
    36
    37
    02
    04
    Firenze
    66
    27
    44
    90
    17
    Genova
    09
    44
    78
    85
    19
    Milano
    70
    14
    47
    38
    27
    Napoli
    80
    29
    28
    45
    39
    Palermo
    54
    59
    78
    47
    62
    Roma
    17
    22
    49
    52
    88
    Torino
    71
    35
    75
    74
    60
    Venezia
    40
    84
    02
    63
    29
    Nazionale
    08
    13
    44
    69
    85
    Estrazione Simbolotto
    Firenze
    06
    35
    16
    18
    05

Ultimi Messaggi

Alto