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 11 gennaio 2025
    Bari
    73
    43
    01
    58
    81
    Cagliari
    69
    60
    18
    02
    10
    Firenze
    25
    32
    18
    55
    54
    Genova
    48
    05
    40
    34
    69
    Milano
    10
    07
    70
    44
    79
    Napoli
    11
    89
    01
    34
    80
    Palermo
    37
    80
    82
    44
    77
    Roma
    78
    04
    38
    39
    56
    Torino
    08
    13
    30
    27
    24
    Venezia
    56
    75
    36
    18
    70
    Nazionale
    63
    83
    19
    31
    80
    Estrazione Simbolotto
    Bari
    35
    34
    12
    23
    20
Indietro
Alto