Novità

SpazioScript (per LuigiB o per chi può aiutarmi)

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
 
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
 
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
 
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:
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
 
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.
 
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
 
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 ?
 
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
 
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
 
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.
 
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
 
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
 
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
 
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
    martedì 15 aprile 2025
    Bari
    55
    04
    89
    85
    20
    Cagliari
    28
    29
    83
    74
    11
    Firenze
    33
    61
    17
    13
    59
    Genova
    03
    89
    46
    30
    34
    Milano
    30
    22
    08
    80
    21
    Napoli
    28
    48
    38
    62
    76
    Palermo
    18
    12
    01
    66
    16
    Roma
    29
    79
    26
    16
    44
    Torino
    12
    77
    49
    50
    66
    Venezia
    64
    45
    57
    85
    01
    Nazionale
    60
    39
    72
    49
    26
    Estrazione Simbolotto
    Genova
    13
    12
    14
    33
    24
Indietro
Alto