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
    venerdì 19 aprile 2024
    Bari
    39
    05
    81
    89
    73
    Cagliari
    56
    21
    01
    90
    03
    Firenze
    05
    56
    68
    27
    09
    Genova
    42
    50
    90
    27
    83
    Milano
    16
    71
    29
    85
    04
    Napoli
    29
    19
    23
    63
    50
    Palermo
    35
    54
    33
    57
    61
    Roma
    17
    29
    43
    55
    74
    Torino
    69
    60
    03
    01
    26
    Venezia
    05
    57
    59
    43
    34
    Nazionale
    30
    43
    64
    65
    21
    Estrazione Simbolotto
    Genova
    02
    20
    25
    12
    19

Ultimi Messaggi

Alto