Novità

NUOVO AMBIENTE SCRIPT AREA TECNICA

  • Creatore Discussione Creatore Discussione LuigiB
  • Data di inizio Data di inizio
si vale per excel
=SE(B12<>"";+DEV.ST(B8:B12);"")

ma la usavo o la calcolavo molti anni fa, quando ero interessato ai grafici di gannalyst o dei grafici degli estratti.

in verità mi serve solo per calcolare la dev.st di un periodo di 5 ritardi da sommare alla media bassa o moltiplicare alla media alta.

il tutto mi serve per calcolare le 2 Bande di Bollinger, dove la media dei 5 ritardi quando si avvicina alla parte superiore o inferiore è soggetto a breve di essere estratto. (teorico)

devo andare agli anni 2012 per vedere qualche script che avevo fatto.

grazie comunque ad entrambi
 
si vale per excel
=SE(B12<>"";+DEV.ST(B8:B12);"")

ma la usavo o la calcolavo molti anni fa, quando ero interessato ai grafici di gannalyst o dei grafici degli estratti.

in verità mi serve solo per calcolare la dev.st di un periodo di 5 ritardi da sommare alla media bassa o moltiplicare alla media alta.

il tutto mi serve per calcolare le 2 Bande di Bollinger, dove la media dei 5 ritardi quando si avvicina alla parte superiore o inferiore è soggetto a breve di essere estratto. (teorico)

devo andare agli anni 2012 per vedere qualche script che avevo fatto.

grazie comunque ad entrambi
Se non ricordo male le bande di Bollinger comprendono i valori tra -2*dev.std fino a +2*dev.std rispetto alla media che ti interessa
in linea di massima entro la banda sopra indicata dovrebbero essere contenuti il 95.5% dei valori del campione rilevato
 
Ultima modifica:
si esatto, per la formula giudicata classica

io uso
che alla media (centrale) del periodo analizzato(dinamico)

Alta = la media va moltiplicata con dev.st
centrale = media (centrale)
bassa = la media va sottratta con dev.st


si molto probabile che usavo con la somma dei ritardi

devst = Sqr(0.05555*0.94444*1000)
 
Ragazzi.. forse ci sono quasi...

Vedi l'allegato 2255627
Realizzato ora con spaziometria ma anche lì non avevo (ho) per nulla chiaro come si creano i grafici... 🥴

Quindi questo per me è un traguardone... in tal senso... :D

In questo caso sono riuscito a visualizzare "staticamente" questa situazione incmax...

aElencoRit = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13 )
aIdEstrIncrRitMax = Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75)
'aElencoIncrRitMax = Array(-4,-63,88,450,-110,-378,-31,8,-12,232,-127,-55,109,-19,77,-206,182,-3,-172,-27,344,-52,-220,-51,14,15,2,124,17,-190,111,-128,249,47,147,-348,-65,-17,12,204,-31,-35,-77,47,170,-301,155,-158,235,-186,193,-225,15,18,94,-117,120,-46,66,-138,460,-452,102,-48,209,-148,-12,-80,36,-94,8,2,-2,27,-27)
aElencoIncrRitMax = Array(4,63,88,450,110,378,31,8,12,232,127,55,109,19,77,206,182,3,172,27,344,52,220,51,14,15,2,124,17,190,111,128,249,47,147,348,65,17,12,204,31,35,77,47,170,301,155,158,235,186,193,225,15,18,94,117,120,46,66,138,460,452,102,48,209,148,12,80,36,94,8,2,2,27,27)
aRitardiAllIncremento = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13 )
riferito ad un caso reale non ottimale x A in 3ina (1.2.3) su BA


dove in blu ci sono tutti i ritardi, in nero i numeri progressivi degli incrementi, in rosso tutti i valori degli incrementi e in violetto tutti i ritardi rispetto ogni valore di incremento che in questo caso considerandoli tutti... corrispondono a tutti i ritardi riportati in blu.

Come si può facilmente notare i veri valori di incrementi sarebbero in realtà quelli in verde (incrementi e decrementi) ma, per usare un termine usato da rookie, per riuscire a visualizzare il grafico soprastante li ho dovuti traslare.. in positivo... perchè lasciandoli in negativo lo script mi dava errore dicendo che erano fuori range...

Ora domando a chi lo sa sia possibile o no lasciar invariati in negativo i relativi valori incmax e vederli visualizzati secondo la rispettiva sezione < 0 del grafico o se invece bisogna comunque traslarli, come ho fatto in questo esempio, sempre tutti in positivo... :unsure:

Di seguito il codice estrapolato da uno dei molti script che lo includono e che ho cercato di capire e riadattare alle mie esigenze e che spero di riuscire a riportare in un secondo tempo anche in twinbasic...


Codice:
Option Explicit
Sub Main

Call DisegnaGraficoIncrRitMax

End Sub

   Sub DisegnaGraficoIncrRitMax
      Dim x,y,k
      Dim nValoreMaxX,nValoreMaxY,nValoreMinX
      Dim nStepX,nStepY
      Dim nUpperVetIncrRit
      Dim aIdEstrIncrRitMax
      Dim aElencoRit
      Dim mInizio
      Dim aElencoIncrRitMax
      Dim aRitardiAllIncremento
 
      mInizio = EstrazioneIni
 
     aElencoRit = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13 )
     aIdEstrIncrRitMax = Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75)
     'aElencoIncrRitMax = Array(-4,-63,88,450,-110,-378,-31,8,-12,232,-127,-55,109,-19,77,-206,182,-3,-172,-27,344,-52,-220,-51,14,15,2,124,17,-190,111,-128,249,47,147,-348,-65,-17,12,204,-31,-35,-77,47,170,-301,155,-158,235,-186,193,-225,15,18,94,-117,120,-46,66,-138,460,-452,102,-48,209,-148,-12,-80,36,-94,8,2,-2,27,-27)
     aElencoIncrRitMax = Array(4,63,88,450,110,378,31,8,12,232,127,55,109,19,77,206,182,3,172,27,344,52,220,51,14,15,2,124,17,190,111,128,249,47,147,348,65,17,12,204,31,35,77,47,170,301,155,158,235,186,193,225,15,18,94,117,120,46,66,138,460,452,102,48,209,148,12,80,36,94,8,2,2,27,27)
     aRitardiAllIncremento = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13 )

 
 
      nValoreMinX = MinimoV(aIdEstrIncrRitMax,1)
      nValoreMaxX = aIdEstrIncrRitMax(UBound(aIdEstrIncrRitMax))
      nValoreMaxY = MassimoV(aElencoRit,1)
      nStepX =(nValoreMaxX -(mInizio - 1)) '\10
      nStepY = nValoreMaxY '\10
 
 
 
       Call PreparaGrafico("BA 1-2-3",nValoreMinX,nValoreMaxX,0,nValoreMaxY,nStepX,nStepY)
 
      nUpperVetIncrRit = UBound(aElencoIncrRitMax)
 
      ReDim aV(nUpperVetIncrRit - 1,2)
 
      For k = 1 To nUpperVetIncrRit
 
         x = aIdEstrIncrRitMax(k)
         y = aElencoIncrRitMax(k)
         aV(k - 1,1) = x
         aV(k - 1,2) = y
 
      Next
 
 
      Call DisegnaLineaGrafico(aV,vbRed,"IncrRitMax")
 
      ReDim aV(nUpperVetIncrRit - 1,2)
 
      For k = 1 To nUpperVetIncrRit
 
         x = aIdEstrIncrRitMax(k)
         y = aRitardiAllIncremento(k)
         aV(k - 1,1) = x
         aV(k - 1,2) = y
 
      Next
 
 
      'Call DisegnaLineaGrafico(aV,vbBlue,"RitMax")
 
      Call InserisciGrafico
 
   End Sub

Inoltre già che ci sono vi chiedo una traduzione "pane al pane e vino al vino" per queste righe di codice sottostanti che mi rimangono ancora piuttosto "arcane" e "misteriose.." non essendo purtroppo per nulla avvezzo a grafici , ascisse, ordinate, matrici multidimensionali... e amenità similari... o_O😵😵‍💫🤪

Codice:
 For k = 1 To nUpperVetIncrRit
 
         x = aIdEstrIncrRitMax(k)
         y = aRitardiAllIncremento(k)
         aV(k - 1,1) = x
         aV(k - 1,2) = y
 
      Next

Tnx 👋 :)

ps: ho provato il nuovo code di luigi per disegnare su form twinbasic con le sue funzioni ma purtroppo senza esito + :rolleyes: forse perchè non ho ancora aggiornato all'ultima dll n.28.
Ciao Tom :)
sotto il tuo codice modificato per ottenere la rappresentazione anche dei valori negativi.
Codice:
Option Explicit
Sub Main
   Call DisegnaGraficoIncrRitMax
End Sub
Sub DisegnaGraficoIncrRitMax
   Dim x,y,k
   Dim nValoreMaxX,nValoreMaxY,nValoreMinX
   Dim nStepX,nStepY
   Dim nUpperVetIncrRit
   Dim aIdEstrIncrRitMax
   Dim aElencoRit
   Dim mInizio
   Dim aElencoIncrRitMax
   Dim aRitardiAllIncremento
   mInizio = EstrazioneIni
   aElencoRit = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13)
   aIdEstrIncrRitMax = Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75)
   aElencoIncrRitMax = Array(- 4,- 63,88,450,- 110,- 378,- 31,8,- 12,232,- 127,- 55,109,- 19,77,- 206,182,- 3,- 172,- 27,344,- 52,- 220,- 51,14,15,2,124,17,- 190,111,- 128,249,47,147,- 348,- 65,- 17,12,204,- 31,- 35,- 77,47,170,- 301,155,- 158,235,- 186,193,- 225,15,18,94,- 117,120,- 46,66,- 138,460,- 452,102,- 48,209,- 148,- 12,- 80,36,- 94,8,2,- 2,27,- 27)
   'aElencoIncrRitMax = Array(4,63,88,450,110,378,31,8,12,232,127,55,109,19,77,206,182,3,172,27,344,52,220,51,14,15,2,124,17,190,111,128,249,47,147,348,65,17,12,204,31,35,77,47,170,301,155,158,235,186,193,225,15,18,94,117,120,46,66,138,460,452,102,48,209,148,12,80,36,94,8,2,2,27,27)
   aRitardiAllIncremento = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13)
   nValoreMinX = 0
   nValoreMaxX = 80
   nValoreMaxY = 500'MassimoV(aElencoRit,1)
   nStepX = 1
   nStepY = 20
   Call PreparaGrafico("BA 1-2-3",nValoreMinX,nValoreMaxX,- 500,nValoreMaxY,nStepX,nStepY)
   nUpperVetIncrRit = UBound(aElencoIncrRitMax)
   ReDim aV(nUpperVetIncrRit - 1,2)
   For k = 1 To nUpperVetIncrRit
      x = aIdEstrIncrRitMax(k)
      y = aElencoIncrRitMax(k)
      aV(k - 1,1) = x
      aV(k - 1,2) = y
   Next
   Call DisegnaLineaGrafico(aV,vbRed,"IncrRitMax")
   ReDim aV(nUpperVetIncrRit - 1,2)
   For k = 1 To nUpperVetIncrRit
      x = aIdEstrIncrRitMax(k)
      y = aRitardiAllIncremento(k)
      aV(k - 1,1) = x
      aV(k - 1,2) = y
   Next
   'Call DisegnaLineaGrafico(aV,vbBlue,"RitMax")
   Call InserisciGrafico
End Sub

xTom 2.JPG
 
Ultima modifica:
Ciao Tom :)
Codice:
Option Explicit
Sub Main
   Call DisegnaGraficoIncrRitMax
End Sub
Sub DisegnaGraficoIncrRitMax
   Dim x,y,k
   Dim nValoreMaxX,nValoreMaxY,nValoreMinX
   Dim nStepX,nStepY
   Dim nUpperVetIncrRit
   Dim aIdEstrIncrRitMax
   Dim aElencoRit
   Dim mInizio
   Dim aElencoIncrRitMax
   Dim aRitardiAllIncremento
   mInizio = EstrazioneIni
   aElencoRit = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13)
   aIdEstrIncrRitMax = Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75)
   aElencoIncrRitMax = Array(- 4,- 63,88,450,- 110,- 378,- 31,8,- 12,232,- 127,- 55,109,- 19,77,- 206,182,- 3,- 172,- 27,344,- 52,- 220,- 51,14,15,2,124,17,- 190,111,- 128,249,47,147,- 348,- 65,- 17,12,204,- 31,- 35,- 77,47,170,- 301,155,- 158,235,- 186,193,- 225,15,18,94,- 117,120,- 46,66,- 138,460,- 452,102,- 48,209,- 148,- 12,- 80,36,- 94,8,2,- 2,27,- 27)
   'aElencoIncrRitMax = Array(4,63,88,450,110,378,31,8,12,232,127,55,109,19,77,206,182,3,172,27,344,52,220,51,14,15,2,124,17,190,111,128,249,47,147,348,65,17,12,204,31,35,77,47,170,301,155,158,235,186,193,225,15,18,94,117,120,46,66,138,460,452,102,48,209,148,12,80,36,94,8,2,2,27,27)
   aRitardiAllIncremento = Array(79,75,12,100,550,440,62,31,39,27,259,132,77,186,167,244,38,220,217,45,18,362,310,90,39,53,68,70,194,211,21,132,4,253,300,447,99,34,17,29,233,202,167,90,137,307,6,161,3,238,52,245,20,35,53,147,30,150,104,170,32,492,40,142,94,303,155,143,63,99,5,13,15,13,40,13)
   nValoreMinX = 0
   nValoreMaxX = 80
   nValoreMaxY = 500'MassimoV(aElencoRit,1)
   nStepX = 1
   nStepY = 20
   Call PreparaGrafico("BA 1-2-3",nValoreMinX,nValoreMaxX,- 500,nValoreMaxY,nStepX,nStepY)
   nUpperVetIncrRit = UBound(aElencoIncrRitMax)
   ReDim aV(nUpperVetIncrRit - 1,2)
   For k = 1 To nUpperVetIncrRit
      x = aIdEstrIncrRitMax(k)
      y = aElencoIncrRitMax(k)
      aV(k - 1,1) = x
      aV(k - 1,2) = y
   Next
   Call DisegnaLineaGrafico(aV,vbRed,"IncrRitMax")
   ReDim aV(nUpperVetIncrRit - 1,2)
   For k = 1 To nUpperVetIncrRit
      x = aIdEstrIncrRitMax(k)
      y = aRitardiAllIncremento(k)
      aV(k - 1,1) = x
      aV(k - 1,2) = y
   Next
   'Call DisegnaLineaGrafico(aV,vbBlue,"RitMax")
   Call InserisciGrafico
End Sub

Vedi l'allegato 2255667

Spettacolare happy! Grazie 👍👌👏🙏😃

Volendo fare il pignolo... 😜 avrei notato solo una piccola incongruenza e se possibile vorrei poterla risolvere ovvero la linea degli incrementi nel grafico parte dal valore -63 cioè dal 2° valore del rispettivo vettore incrementi di esempio... mentre dovrebbe in realtà partire dal valore -4 (primo valore dell'array). Ho provato e riprovato a sistemarla ma senza esito. Tu ci riesci? Credo proprio di si a giudicare dalla tua abilità anche con i grafici ;) Complimenti e grazie di nuovo happy. Domani proverò ad implementare questa tua soluzione grafica di incmax di terzo tipo in qualche script relativo... e se riuscirò vi posterò il relativo code e output di esempio di grafico incmax di 3° tipo ottenuto in run time 👋:)
 
Ultima modifica:
ciao LuigiB
ho scaricato la 277 e l'ultima Dll
ho aggiornato tutto, normalmente

vorrei chiederti, ma nello smess hai lasciato la mia prova che avevo fatto della StatisticaRubino?
per la sorte Ambo con le 86 cinquine Consecutivi, Simmetriche, Bicifriche,Gemellari, e settine Bep?

perchè mi escono nello smess versione che arriva dai tuoi aggiornamenti, e non dalla copia Rubino
che mi sono fatto.
o ho qualche errore io, che mi presenta lo smess con le mie statistiche?
 
Ha funzionato grazie giomi! 💪👍👌👏🙏👋😃
Ciao Tom,
se e' questo il grafico che userai forse sarebbe piu' chiaro se invece di una griglia completa (linee verticali e orizzontali) sempreche' cio' sia possibile, avesse solo le linee orizzontali corrispondenti al valore relativo dell'incremento, poiche' esse offrirebbero una maggior facilita' di lettura della funzione che visualizzi. E inoltre sarebbe anche piu' facile scorgere i punti che hanno clusters di incrementi vicini...
hafunzionatograziegiomi-jpg.2255675
 
ciao LuigiB
ho scaricato la 277 e l'ultima Dll
ho aggiornato tutto, normalmente

vorrei chiederti, ma nello smess hai lasciato la mia prova che avevo fatto della StatisticaRubino?
per la sorte Ambo con le 86 cinquine Consecutivi, Simmetriche, Bicifriche,Gemellari, e settine Bep?

perchè mi escono nello smess versione che arriva dai tuoi aggiornamenti, e non dalla copia Rubino
che mi sono fatto.
o ho qualche errore io, che mi presenta lo smess con le mie statistiche?
Ciao Rubino , ho inserito quanto mi avevi fornito l'ho leggermente rivisitato prima di farlo.

questi sono i file che sono nello zip e che fornisco io

1679042681772.png


il file a cui stai lavorando tu invece lo avrai da qualche altra parte e spero che lo avrai chiamato anche con un altro nome per esempio Smess:Rubino.twinproj.

quando apri i progetti vai nella cartelal che li contiene e facci doppio click cosi sei sicuro di aprire quello giusto.

' è esclusco che io con i file che fornisco possa andare ad interferire con i tuoi a meno che non ti confondi tu e li sovrascrivi , come successe a legend all'inizio.
 
Ciao luigi , ci sono delle label in distribuzioni mesi che non cambiano al cambiare delle textBox
puoi dare un occhiata?
volevo utilizzare quel frame per un altro form , e me ne sono accorto.
nConc e la data
ecco le labellabel.png

nell evento textChange
ho inserito queste due linee
il frame sembra funziare
nInizio = Val(txtDataIni.Text)
nFine = Val(txtDataFin.Text)
ora controllo se la statististica coincide
 
Ultima modifica:
io non ho toccato niente del tuo codice tranne i resize , e ho aggiunto due variabili inizio e fine . .vdi tu perche non va e rimandami il file.
 
Luigi sono nInizio e nFine appunto basta inserirli nel textGhange , non venivano valorizzate e quindi non cambiavano all evento change

inoltre ho aggiornato ma la textBox dello script di lancio non si aggiorna.
 
Ultima modifica:
Ciao Luigi queste sono le due funzioni da sostituire
Codice:
  Private Sub txtDataIni_Change()
        'lstTab1.Clear()
        disabilitaFrameTabella()
        DisabilitafrmAnalisiAndamento()
        If Val(txtDataIni.Text) >= 1 AndAlso Val(txtDataIni.Text) <= Val(txtDataFin.Text) Then
            nInizio = Val(txtDataIni.Text)
            nFine = Val(txtDataFin.Text)
            txtDataIni.BackColor = &he8c59f
            lbDataIni.Caption = DataEstrazione(nInizio)
            lbqEstr.Caption = (nFine - nInizio) + 1
            lblStrNumAnni.Caption = DifferenzaDate("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))  'DateDiff("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))
        Else
            ' txtDataIni.Text = ""
            txtDataIni.BackColor = vbRed
            lbDataIni.Caption = ""
            lbqEstr.Caption = ""
            lblStrNumAnni.Caption = ""
        End If
        qEstr = Val(lblStrNumAnni.Caption)
        Call AbilitaButton()
    End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub txtDataFin_Change()
        disabilitaFrameTabella()
        DisabilitafrmAnalisiAndamento()
        ' lstTab1.Clear()
        If Val(txtDataFin.Text) >= Val(txtDataIni.Text) AndAlso Val(txtDataFin.Text) <= EstrazioniArchivio Then
          nInizio = Val(txtDataIni.Text)
        nFine = Val(txtDataFin.Text)
            txtDataFin.BackColor = &he8c59f
            lbDataFin.Caption = DataEstrazione(nFine)
            lbqEstr.Caption = (nFine - nInizio) + 1
         ' questa funzione restituisce errore  a volte non sempre, nell ultima versione
            lblStrNumAnni.Caption = DifferenzaDate("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text)) 'DateDiff("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))
        Else
            ' txtDataIni.Text = ""
            txtDataFin.BackColor = vbRed
            lbDataFin.Caption = ""
            lbqEstr.Caption = ""
            lblStrNumAnni.Caption = ""
        End If
        qEstr = Val(lblStrNumAnni.Caption)
        Call AbilitaButton()
    End Sub
io avevo utilizzato sempre i valori della textbox da per tutto perchè non sapevo come fare , cmq valorizzandoli qui la statistica sembra corretta,
chiedo anche ad altri se funziona tutto correttamente facendo i confronti con spaziometria
io vado in statistica veloce inserisco la fomazione
e confronto i risultati.
label.png
 
Ciao Luigi queste sono le due funzioni da sostituire
Codice:
  Private Sub txtDataIni_Change()
        'lstTab1.Clear()
        disabilitaFrameTabella()
        DisabilitafrmAnalisiAndamento()
        If Val(txtDataIni.Text) >= 1 AndAlso Val(txtDataIni.Text) <= Val(txtDataFin.Text) Then
            nInizio = Val(txtDataIni.Text)
            nFine = Val(txtDataFin.Text)
            txtDataIni.BackColor = &he8c59f
            lbDataIni.Caption = DataEstrazione(nInizio)
            lbqEstr.Caption = (nFine - nInizio) + 1
            lblStrNumAnni.Caption = DifferenzaDate("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))  'DateDiff("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))
        Else
            ' txtDataIni.Text = ""
            txtDataIni.BackColor = vbRed
            lbDataIni.Caption = ""
            lbqEstr.Caption = ""
            lblStrNumAnni.Caption = ""
        End If
        qEstr = Val(lblStrNumAnni.Caption)
        Call AbilitaButton()
    End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub txtDataFin_Change()
        disabilitaFrameTabella()
        DisabilitafrmAnalisiAndamento()
        ' lstTab1.Clear()
        If Val(txtDataFin.Text) >= Val(txtDataIni.Text) AndAlso Val(txtDataFin.Text) <= EstrazioniArchivio Then
          nInizio = Val(txtDataIni.Text)
        nFine = Val(txtDataFin.Text)
            txtDataFin.BackColor = &he8c59f
            lbDataFin.Caption = DataEstrazione(nFine)
            lbqEstr.Caption = (nFine - nInizio) + 1
         ' questa funzione restituisce errore  a volte non sempre, nell ultima versione
            lblStrNumAnni.Caption = DifferenzaDate("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text)) 'DateDiff("yyyy", DataEstrazione(txtDataIni.Text), DataEstrazione(txtDataFin.Text))
        Else
            ' txtDataIni.Text = ""
            txtDataFin.BackColor = vbRed
            lbDataFin.Caption = ""
            lbqEstr.Caption = ""
            lblStrNumAnni.Caption = ""
        End If
        qEstr = Val(lblStrNumAnni.Caption)
        Call AbilitaButton()
    End Sub
io avevo utilizzato sempre i valori della textbox da per tutto perchè non sapevo come fare , cmq valorizzandoli qui la statistica sembra corretta,
chiedo anche ad altri se funziona tutto correttamente facendo i confronti con spaziometria
io vado in statistica veloce inserisco la fomazione
e confronto i risultati.
Vedi l'allegato 2255683


Fatto la modifica ,aggiornamento solo del progetto smess con la correzione di legend , scaricare , rimuovere l'estensione txt , scompattare e sostituire a quello che avevate
 

Allegati

ciao Luigib
sai perchè ogni tanto, entrando nello smess, analisi combinazioni, mi viene fuori un messaggio Memoria Bloccata?

poi rilanciandolo riparte regolarmente?

è TwinBasic, con problemi di perdite di memoria?
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 28 settembre 2024
    Bari
    47
    31
    09
    85
    52
    Cagliari
    49
    67
    26
    29
    68
    Firenze
    37
    01
    54
    79
    15
    Genova
    89
    76
    83
    14
    59
    Milano
    87
    85
    30
    76
    10
    Napoli
    73
    68
    24
    62
    05
    Palermo
    62
    27
    66
    20
    82
    Roma
    06
    30
    05
    53
    37
    Torino
    11
    02
    38
    55
    43
    Venezia
    81
    51
    82
    01
    20
    Nazionale
    08
    83
    12
    87
    42
    Estrazione Simbolotto
    Palermo
    19
    07
    10
    45
    36
Indietro
Alto