Novità

"Richiamare una Stringa di Numeri o Simile"

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti,
Nel creare un metodo basato sulla somma degli estratti di una particolare estrazione, come nel mio esempio su Indice mensile, eseguo la somma dei primi estratti dell'estrazione, e da questa base devo poi impostare il metodo ed altre ricerche, ma mi volevo soffermare su nuovo per me sconosciuto argomento del programma ovvero ho ben compreso da ciò che ho letto e visto le matrici o qualcosa di simile, vengo al mio problema, eseguita la somma è quì tutto ok, volevo richiamare in qualche modo i numeri che fanno parte della somma, premetto che ho cercato di capire come creare la matrice e poi scriverla in qualche modo riuscendo a richiamare solo l'ultimo numero relativo alla nazionale, certamente devo studiare bene la variabile e come richiamarla ma questo per me è davvero un territorio sconosciuto, spero che qualcuno di Voi possa darmi una dritta su come generare questa cosa, di seguito Vi posto lo Script interessato dal mio problemino o problema


Codice:
Option Explicit
Sub Main
   Dim R,Ruota(1),P,E,A,SommaVerticale
   Dim Posta(2),Ambata(10),Clp
   Dim Ini,Fin,Es,QE,K
   Posta(1) = 1
   P = 1 ' Qui Impongo la Posizione
   Clp = 12
   Ruota(1) = TO_
   'Clp = InputBox("per quanti colpi?","colpi di gioco",9)
   QE = InputBox(" Quante estrazioni vuoi controllare? ","estrazioni",210)
   Ini = EstrazioneFin - QE
   Fin = EstrazioneFin
   For Es = Ini To Fin
      Messaggio "elab. estr. [" &(Es) & "] di " & DataEstrazione(Es,1)
      Call AvanzamentoElab(Ini,Fin,Es)
      If IsUltimaDelMese(Es) Then
      'If IndiceMensile(Es) = 1 Then
      SommaVerticale = 0 ' Azzero la Variabile Ad Ogni Ciclo
      'ColoreTesto 1 : K = K + 1 : Scrivi String(96,"*") & " Caso n°" & Format2(K),1
      ColoreTesto 1
      K = K + 1
      Scrivi String(60,"*") & " " & IndiceMensile(Es) & "°Estrazione del Mese" & " *** " & Mese(Es) & "-" & Anno(Es) & " ** " & "Caso n°" & Format2(K),1
      Scrivi Es & " - " & "Estrazione Del " & DataEstrazione(Es) & " ------> Ruota Di Gioco Scelta " & NomeRuota(Ruota(1)),1
      For R = 1 To 12
          If R = 11 Then
             R = 12
          End If   
            E = Estratto(Es,R,P)
            SommaVerticale = Fuori90(SommaVerticale + E)
      Next
         '---------------------------------------------------------------------------------------------------------- Quì Vorrei riportare i numeri della 1 Posizione
         OrdinaMatrice E,1 
         Scrivi "Estratti della 1° Posizione " & E 
        
        
         '-----------------------------------------------------------------------------------------------------------
         Scrivi
         ColoreTesto 1 : Scrivi "Somma Verticale Estratti in " & P & "^ Posizione" & " = ",1,0
         ColoreTesto 2
         Scrivi SommaVerticale
         Scrivi
         '--------------------------------------------------------------------------------------------------------- Calcoli
         'Ruota(1) = TO_
         A = SommaVerticale
         Ambata(1) = A
         Ambata(2) = Vert(A)
         Ambata(3) = Diametrale(A)
      '----------------------------------------------------------------------------------------------------------
        ImpostaGiocata 1,Ambata,Ruota,Posta,Clp
        Gioca Es
      End If
   Next
        Scrivi : ColoreTesto 0
        ScriviResoconto
End Sub


Spero davvero in un vostro intervento, Come sempre Grazie.
 
Ordinamatrice e,1
e= estratto
è una variabile non un array
.cosa vuoi fare?
Caricare in un array tutti gli estratti in prima posizione ?
 
Anche con l'array va bene l importante e che riesco ascriverli in una riga e non colonna cosi da avere una visuale per vedere se posso continuare i calcoli o la ricerca, Grazie I-Legend
 
Ciao, scritto con cell , vedi se non ho fatto errori e se ho capito cosa ti occorre

Codice:
Dim idestr 
Dim aEstr(11)
Dim R,p,e
Dim strEstr
Dim m 
Idestr= estrazionefin 
P= 1
M=0
StrEstr=""
For r=1 to 11
     If r=11 then r=12
            E= estratto(ideate,r,p)
             StrEstr=strEstr&format2(e)&" " ' stringa 

                  M=m+1
                   aEstr(m)=e

      Next
Scrivi strEstr 
Scrivi stringanumeri(aEstr,,true)
[Code/]
 
Ciao, I-Legend
Che Dire Perfetto, modificata solo per le variabili già inserite nello Script ed aggiunta delle nuove.
Ora devo solo Studiarmi la logica per gli sviluppi o necessita future, l'unica cosa che non comprendo è
StrEstr=""
ma se vado a logica dovrebbe essere l'azzeramento della stringa (un Altro modo per azzerare un vettore o simili)
Grazie come sempre.
Sto Imparando davvero molto, purtroppo sono arrivato tardi rispetto a quando molti di Voi negli anni precedenti stavano crescendo, sarebbe stato "bello" crescere nel Gruppo, Ma spero nel Vostro intervento per le varie necessità...
Il Divario è enorme ma mi piace ciò che sto imparando, anche per cose diverse...
 
A completamentodella specifica fattati da I legend,
Codice:
Sub Main
    Dim idestr
    Dim aEstr(11) ' matrice ad unica dimensione
    Dim R,p,e,x
    Dim strEstr
    Dim m
    idestr = EstrazioneFin
    p = 1
    m = 0
    strEstr = "" 'stringa estratti iniziale senza caratteri
    For R = 1 To 11 ' ciclo ruote
        If R = 11 Then R = 12
        e = Estratto(idestr,R,p)
        strEstr = strEstr & Format2(e) & " " ' stringa che si somma alla 1a e ciclando nel for si somma alle altre
        m = m + 1 ' contatore per la matrice
        aEstr(m) = e 'Matrice che x ogni numero contatore(valore da 1 a 11 del ciclo for) si carica della "e" che è l'estratto
    Next
    Scrivi "scrittura stringa strEstr"
    Scrivi strEstr
    Scrivi
    Scrivi "scrittura stringa numeri della matrice o array aEstr"
    Scrivi StringaNumeri(aEstr,,True)
    Scrivi
    Scrivi "scrittura in colonna dei numeri presenti nella matrice "
    For x = 1 To 11
        Scrivi "elemento " & x & " " & Format2(aEstr(x))
    Next
    Scrivi
    Scrivi "scrittura sula stessa riga dei numeri presenti nella matrice"
    For x = 1 To 11
        Scrivi "elemento " & x & " " & Format2(aEstr(x)) & " ",,False
    Next
End Sub
una precisazione:
StrEstr="" ma se vado a logica dovrebbe essere l'azzeramento della stringa (un Altro modo per azzerare un vettore o simili)
non è preciso, in questo caso è l'inizializzazione/valorizzazione, non azzeramento (svuotamento) perchè antecedentemente non aveva alcun valore.
Buon lavoro
mi raccomando, il linguaggio ha la sua importanza nella programmazione
 
Ciao, Cludio8
Grazie per la precisazione e concordo con quanto scritto, imparando userò certamente i termini corretti.
e Grazie anche per il tuo contributo.
 
Farò Buon Uso da quanto espresso da Entrambi, Grazie Claudio8 soprattutto per le note/esempi che sono sempre utili più di tante parole.
(y) (y)
 
Ciao A Tutti,
Volendo Continuare su questo argomento, prima di passare ad altro e volendolo approfondire in modo completo se possibile, ho modificato e fatto un altro Script per impostare la base per futuri metodi sulla somma dei Gemelli di un estrazione, seguendo la traccia dei Bravi I-Legend e Claudio8 ho inserito le variabili e parti di codice per poter estrarre in una stringa i soli numeri Gemelli, ma al momento senza esito, ho pensato ad inserire degli If sui Gemelli incastrandoli in qualche ciclo, ma nulla. al momento sono riuscito solo a riportare la completa serie di numeri dell'estrazione senza riuscire ad estrarre i soli gemelli, mi manca qualcosa forse legata ad un inserimento migliore della variabile convinto che quella usata per la somma potesse essere sufficiente e sicuramente devo impostare in qualche modo o un If o la parte di codice della stringanumeri, ma queste sono solo mie supposizioni, in mancanza di altre informazioni a me sconosciute o poco approfondite vorrei un vostro intervento per la giusta via, così mi potrò creare poi tutti gli altri sulla base di questo script.

Vi posto intanto quanto fatto, lo script funziona ma la stringa estratta no.


Codice:
' Fase di Test
' Trovato la soluzione eliminare il Quadro Estrazione
' E righe di codice inutili
Option Explicit
Sub Main
   Dim R,Ruota(1),P,E,Somma_Gemelli,A
   Dim Posta(2),Ambata(10),Clp
   Dim Ini,Fin,Es,QE,K
   Dim StrEstr,AEstr(55),m
   Posta(1) = 1
   Clp = 9
   'Clp = InputBox("per quanti colpi?","colpi di gioco",9)
   QE = InputBox(" Quante estrazioni vuoi controllare? ","estrazioni",50)
   Ini = EstrazioneFin - QE
   Fin = EstrazioneFin
   For Es = Ini To Fin
      If IsUltimaDelMese(Es) Then
         'If IndiceMensile(Es) = 1 Then
         Somma_Gemelli = 0 ' Azzero la Variabile Ad Ogni Ciclo
         StrEstr = "" ' Valorizzo il Vettore = Stringa
         m = 0
         ColoreTesto 1
          K = K + 1
          Scrivi String(96,"*") & " Caso n°" & Format2(K),1
         Scrivi DataEstrazione(Es),True
         Scrivi ""
         Messaggio "elab. estr. [" &(Es) & "] di " & DataEstrazione(Es,1)
         Call AvanzamentoElab(Ini,Fin,Es)
         For R = 1 To 12
         If R = 11 Then
             R = 12
          End If   
             '--------------------------------------------------------------------------------------- Eliminare se Trovo soluzione           
            ColoreTesto 0   
            Scrivi SiglaRuota(R) & Space(1),True,False
            For P = 1 To 5
               E = Estratto(Es,R,P)
               If Gemello(E) Then
                  Somma_Gemelli = Fuori90(Somma_Gemelli + E)
                  ColoreTesto 2
               Else
                  ColoreTesto 0
               End If
               '
               StrEstr = StrEstr & Format2(E) & " "
               '---------------------------------------------------------------- Ho inserito Questo If  ma non serve
               If Gemello(E) Then
               End If
               '----------------------------------------------------------------
               m = m + 1 ' contatore per la matrice
               AEstr(m) = E
               '
               Scrivi Format2(E) & Space(1),False,False
             Next
            Scrivi
         Next
         Scrivi
         ColoreTesto 1 : Scrivi "Somma Gemelli = " & Somma_Gemelli ' Eliminare dopo Soluzione
         '
         Scrivi : ColoreTesto 1
         Scrivi "Estratti Rilevati " & "[" & StringaNumeri(AEstr,,True) & "] -----> Somma = ",1,0
         ColoreTesto 2
         Scrivi Somma_Gemelli
         Scrivi
         '
         '--------------------------------------------------------------------------------------------------------- Calcoli
         Ruota(1) = CA_
         A = Somma_Gemelli
         Ambata(1) = A
         'Ambata(2) = Vert(A)
         Ambata(3) = DiametraleD(A)
         '----------------------------------------------------------------------------------------------------------
         ImpostaGiocata 1,Ambata,Ruota,Posta,Clp
         Gioca Es
      End If
   Next
   Scrivi : ColoreTesto 0
   ScriviResoconto
End Sub

Come Sempre Ringrazio Fin Da ora.
 
Ti inserisco lo script commentato e corretto, le eliminazioni di costrutto le devi fare tu.

Codice:
' Fase di Test
' Trovato la soluzione eliminare il Quadro Estrazione
' E righe di codice inutili
Option Explicit
Sub Main
    Dim R,Ruota(1),P,E,Somma_Gemelli,A
    Dim Posta(2),Ambata(10),Clp
    Dim Ini,Fin,Es,QE,K
    Dim StrEstr,AEstr(55),m
    Posta(1) = 1
    Clp = 9
    'Clp = InputBox("per quanti colpi?","colpi di gioco",9)
    QE = InputBox(" Quante estrazioni vuoi controllare? ","estrazioni",50)
    Ini = EstrazioneFin - QE
    Fin = EstrazioneFin
    For Es = Ini To Fin
        If IsUltimaDelMese(Es) Then
            'If IndiceMensile(Es) = 1 Then
            Somma_Gemelli = 0 ' Azzero la Variabile Ad Ogni Ciclo
            StrEstr = "" ' Valorizzo il Vettore = Stringa
            m = 0
            ColoreTesto 1
            K = K + 1
            Scrivi String(96,"*") & " Caso n°" & Format2(K),1
            Scrivi DataEstrazione(Es),True
            Scrivi ""
            Messaggio "elab. estr. [" &(Es) & "] di " & DataEstrazione(Es,1)
            Call AvanzamentoElab(Ini,Fin,Es)
            For R = 1 To 12
                If R = 11 Then
                    R = 12
                End If
                '--------------------------------------------------------------------------------------- Eliminare se Trovo soluzione
                ColoreTesto 0
                Scrivi SiglaRuota(R) & Space(1),True,False
                For P = 1 To 5
                    E = Estratto(Es,R,P)
                     'Fin qui stai ciclanfo gli Estratti Ruota x Ruote e Pos x Pos.
                    If Gemello(E) Then ' se trova il gemello esegue .......
                        Somma_Gemelli = Fuori90(Somma_Gemelli + E) 'Perche la Logica di questo
                        StrEstr = StrEstr & Format2(E) & " " ' stringa che concatena  alla 1a e ciclando nel for si concatena  alle precednte
                        ColoreTesto 2
                    Else
                        ColoreTesto 0
                    End If
                    '
                    'StrEstr = StrEstr & Format2(E) & " " ' non va bene qui perch'e fuori dalla condizione if gemello, in questa posizione ti
                    'stringa gli estratti di tute le Ruote e tutte le Posizioni
                    '---------------------------------------------------------------- Ho inserito Questo If  ma non serve
                    If Gemello(E) Then   'Ripete la If che hai già Impostato sopra quindi qualsiasi procedura che insersci, la puoi inserire
                    'sopra ed elinimare questo 2° If Gemello
                    End If
                    '----------------------------------------------------------------
                    m = m + 1 ' contatore per la matrice
                    AEstr(m) = E
                    '
                    Scrivi Format2(E) & Space(1), False,False
                Next
                Scrivi 'qui dai termine alla scrittura in orizzontale della ruota ed dei suoi
            Next
            
            Scrivi
            
            ColoreTesto 1 : Scrivi "Somma Gemelli = " & Somma_Gemelli ' Eliminare dopo Soluzione
            Scrivi "Stringa Gemelli = " &StrEstr ' correzione
            Scrivi : ColoreTesto 1
            Scrivi "Estratti Rilevati " & "[" & StringaNumeri(AEstr,,True) & "] -----> Somma = ",1,0
            ColoreTesto 2
            Scrivi Somma_Gemelli
            Scrivi
            '
            '--------------------------------------------------------------------------------------------------------- Calcoli
            Ruota(1) = CA_
            A = Somma_Gemelli
            Ambata(1) = A
            'Ambata(2) = Vert(A)
            Ambata(3) = DiametraleD(A)
            '----------------------------------------------------------------------------------------------------------
            ImpostaGiocata 1,Ambata,Ruota,Posta,Clp
            Gioca Es
        End If
    Next
    Scrivi : ColoreTesto 0
    ScriviResoconto
End Sub
 
Grazie Claudio8,
Appena mi lasciano il PC vedo bene quanto da te fatto, intanto mi studio questo dal tablet, così comincio a capire.
Gentile come sempre anche nelle note.
Ciao
 
Ciao, Claudio8,
Scusami se Rispondo solo ora ma prima non ho potuto accedere per poterlo provare, ho capito dove sbagliavo e cercherò di porre più attenzione ai vari meccanismi di If e For che all'apparenza sembrano complicati ma se si controllano le varie fasi di cicli e calcoli non dovrebbe esssere complicato posizionarli, almeno mi conforta cominciare a capire meglio le stringhe di numeri che posso richiamare e mi rendo conto che ogni riga di codice e sempre comunque concatenata in qualche modo alle altre sia per logica che per calcolo.

Grazie Davvero, così potrò completare le altre mie e non solo idee di calcolo....
🌈(y)🌈
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 02 agosto 2025
    Bari
    65
    06
    49
    14
    01
    Cagliari
    16
    20
    15
    28
    45
    Firenze
    39
    10
    83
    09
    16
    Genova
    52
    74
    79
    63
    59
    Milano
    44
    88
    57
    34
    80
    Napoli
    20
    29
    78
    84
    79
    Palermo
    76
    68
    60
    64
    02
    Roma
    80
    84
    27
    78
    57
    Torino
    25
    50
    41
    49
    69
    Venezia
    85
    33
    60
    45
    84
    Nazionale
    05
    02
    64
    79
    37
    Estrazione Simbolotto
    Nazionale
    41
    07
    11
    17
    22

Ultimi Messaggi

Indietro
Alto