Novità

Windows11 - script Spaziometria velocità esecuzione quasi 0

salvo50

Advanced Member >PLATINUM PLUS<
Ciao a Tutti

Premetto che già con windows10 avevo ed ho questo problema di velocità esecuzione script, però non mi sono mai interessato perché avevo nel computer fisso Windows 7 dove la velocità esecuzione script era abbastanza alta.

Causa morte computer fisso, ho comprato un nuovo computer con Windows11 con queste caratteristiche

Sistema.PNG

Come prima esecuzione ho caricato Spaziometria 1.6.45 e già script erano lentissimi, l'esecuzione di uno script che con windows7 impiegava minuti 1,27, con windows11 ha impiegato 29,15 minuti.

Poi mi sono accorto che non c'erano gli aiuti quindi ho disinstallato la 1.6.45 ed ho installato la 1.6.31 qui ci sono gli aiuti ma riguardo a velocità non è cambiato niente l'esecuzione è sempre lentissima, poi ho pensato che forse era un problema di editor ed ho cambiato l'editor, ma non ho tolto la spunta dove dice che da quel momento userà sempre l'editor cambiato, e quindi mi ritrovo con editor <documento di testo> vorrei rimettere l'originale ma non so quale.

Potete aiutarmi? Sia con la velocità e anche con l'editor.

Grazie
 
Ciao Salvo , per la lentezza non so che dirti , il fatto di windows11 non dovrebbe influire sulla velocità , riguardo l'editor metti un 'immagine e rinfrescami la memoria perche non ho capito.

p.s. mi sembra che tu negli script te la cavassi abbastanza quindi ti consiglierei di adoperare il nuovo ambiente che stiamo creando che oltre ad essere piu moderno è anche molto piu veloce , mettimi per fafore lo script con cui hai fatto la prova che voglio provare a convertirlo per il nuovo ambiente
 
Ciao Luigi

Lo script è l'ultimo che ho fatto ed è questo
Codice:
Option Explicit
Sub Main
   Dim FIn,Ini,A,B,C,D,Clp,Es,Cer,X,EsClp,Sp,R
   Dim R1,R2,P1,P2,P3,P4,Salvo50,Ambett1,Ambett2
   Dim DM12,DM23,DM34,DM41,Caso,Casi,Ambetti
   Dim RetNum1,RetVinc1,RetNum2,RetVinc2
   Dim Ambo1(2),Ambo2(2),Ruo(4),Po2(2),L(6),M(4)
   FIn = EstrazioneFin
   Ini = CInt(InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,10100))'10157 ESEMPIO NELL'ARTICOLO
   Clp = CInt(InputBox(" Per quanti colpi vuoi giocare?",Salvo50,13))
   Cer = CInt(InputBox(" Vuoi visualizzare i cerchi ciclometrico? SI = 1, NO un qualsiasi altro numero ",Salvo50,1))
   Ambetti = CInt(InputBox(" Vuoi giocare gli ambetti? SI = 1, NO un qualsiasi altro numero ",Salvo50,1))
   Call ScegliRange(Ini,FIn,Ini,FIn)
   Scrivi Space(1) & "LA STRUTTURA CICLOMETRICA a cura di ANGELO GARGIULO - SOLO DUE AMBI - SCRIPT SALVO50" & Space(1),1,,4,,3,,1
   Po2(2) = 1
   Sp = " "
   For Es = Ini To FIn
      Messaggio Es
      AvanzamentoElab Ini,FIn,Es
      Caso = 0
      For R1 = 1 To 10
         For P1 = 1 To 4
            For P2 = P1 + 1 To 5
               A = Estratto(Es,R1,P1)
               B = Estratto(Es,R1,P2)
               For R2 = R1 + 1 To 12
                  If R2 = 11 Then R2 = 12
                  For P3 = 1 To 4
                     For P4 = P3 + 1 To 5
                        C = Estratto(Es,R2,P3)
                        D = Estratto(Es,R2,P4)
                        If A > 0 And C > 0 Then
                           If A <> C And A <> D And B <> C And B <> D Then
                              M(1) = A : M(2) = B : M(3) = C : M(4) = D
                              Call OrdinaMatrice(M,1)
                              DM12 = Distanza(M(1),M(2)) : DM23 = Distanza(M(2),M(3))
                              DM34 = Distanza(M(3),M(4)) : DM41 = Distanza(M(4),M(1))
                              If DM12 = 9 And DM23 = 27 And DM34 = 9 And DM41 = 45 _
                                 Or DM12 = 27 And DM23 = 9 And DM34 = 45 And DM41 = 9 _
                                 Or DM12 = 9 And DM23 = 45 And DM34 = 9 And DM41 = 27 _
                                 Or DM12 = 45 And DM23 = 9 And DM34 = 27 And DM41 = 9 Then
                                 '---------------------------------
                                 If DM12 = 9 And DM23 = 27 And DM34 = 9 And DM41 = 45 Then
                                    L(1) = M(1) : L(2) = M(2) : L(3) = M(3) : L(4) = M(4)
                                 End If
                                 If DM12 = 27 And DM23 = 9 And DM34 = 45 And DM41 = 9 Then
                                    L(1) = M(4) : L(2) = M(1) : L(3) = M(2) : L(4) = M(3)
                                 End If
                                 If DM12 = 9 And DM23 = 45 And DM34 = 9 And DM41 = 27 Then
                                    L(1) = M(3) : L(2) = M(4) : L(3) = M(1) : L(4) = M(2)
                                 End If
                                 If DM12 = 45 And DM23 = 9 And DM34 = 27 And DM41 = 9 Then
                                    L(1) = M(2) : L(2) = M(3) : L(3) = M(4) : L(4) = M(1)
                                 End If
                                 L(5) = Fuori90(L(4) + 9)
                                 L(6) = Fuori90(L(5) + 27)
                                 Ambo1(1) = L(4) : Ambo1(2) = L(6)
                                 Ambo2(1) = L(1) : Ambo2(2) = L(5)
                                 Caso = Caso + 1
                                 Casi = Casi + 1
                                 Scrivi String(89,"*") & " Casi Totali " & FormattaStringa(Casi,"0000"),1,,,1
                                 Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000"),1,,,2
                                 Scrivi
                                 ReDim MatrCasella(4,1)
                                 MatrCasella(1,0) = R1
                                 MatrCasella(1,1) = P1
                                 MatrCasella(2,0) = R1
                                 MatrCasella(2,1) = P2
                                 MatrCasella(3,0) = R2
                                 MatrCasella(3,1) = P3
                                 MatrCasella(4,0) = R2
                                 MatrCasella(4,1) = P4
                                 Call DisegnaEstrazione(Es,MatrCasella,,vbBlue)
                                 Scrivi
                                 If Cer = 1 Then
                                    DisegnaCerchioCiclometrico M,1,1,,,1,1
                                    DisegnaCerchioCiclometrico L,1,1,,,1,1
                                 End If
                                 Scrivi
                                 Scrivi
                                 Ruo(1) = R1 : Ruo(2) = R2 : Ruo(3) = NZ_ : Ruo(4) = TT_
                                 ImpostaGiocata 1,Ambo1,Ruo,Po2,Clp
                                 ImpostaGiocata 2,Ambo2,Ruo,Po2,Clp
                                 Gioca Es,1
                                 If Ambetti = 1 Then
                                    Scrivi Space(19) & "AMBETTI",1,,,2
                                    EsClp = Es + Clp
                                    If EsClp > FIn Then EsClp = FIn
                                    For X = Es + 1 To EsClp
                                       For R = 1 To 12
                                          If R = 11 Then R = 12
                                          Ambett1 = VerificaAmbetto(Ambo1,R,X,RetNum1,RetVinc1)
                                          Ambett2 = VerificaAmbetto(Ambo2,R,X,RetNum2,RetVinc2)
                                          If Ambett1 > 0 Then
                                             Scrivi(" Estrazione n." & Format2(X) & " del " & DataEstrazione(X)),1,0
                                             Scrivi " Ambetto su " & RetNum1 & Space(4) & " Vincita di " & RetVinc1,1
                                          End If
                                          If Ambett2 > 0 Then
                                             Scrivi(" Estrazione n." & Format2(X) & " del " & DataEstrazione(X)),1,0
                                             Scrivi " Ambetto su " & RetNum2 & Space(4) & " Vincita di " & RetVinc2,1
                                          End If
                                          Ambett1 = 0 : Ambett2 = 0
                                       Next
                                    Next
                                 End If
                              End If
                           End If
                        End If
                     Next
                  Next
               Next
            Next
         Next
      Next
      If ScriptInterrotto Then Exit Sub
   Next
   ScriviResoconto
   Scrivi " Tempo Trascorso" & TempoTrascorso
End Sub

Per l'editor non ho immagine perché non mi da errore, quello che voglio dire è questo, quando scrivo uno script uso penso un editor di testo che è specifico di spaziometria cioè impostato da te quando hai fatto Spaziometria. Io ho cambiato l'editor di testo con - documento di testo - vorrei rimettere quello impostato da te, mi spiego meglio quando apro uno script vado col cursore sopra, doppio clic e si apre il dove è compilato lo script, io invece per cercare di risolvere il problema della velocità (sbagliando) invece di fare doppio clic, ho fatto, tasto destro del mouse - apri con - ed ho aperto lo script con l'editor di testo di windows, ma mi sono dimenticato di togliere la spunta dove dice che da quel momento userà sempre l'editor cambiato, quindi devo togliere quello di windows e rimettere l'originale impostato da te.

Comunque cercherò di capire il nuovo ambiente che stai creando
 
Ultima modifica:
ho modificato questa riga perché la prova di un minuto e 27 secondi l'avevo fatta con 10100

Codice:
 Ini = CInt(InputBox("Inserisci l'estrazione che vuoi iniziare",Salvo50,10180))'10157 ESEMPIO NELL'ARTICOLO
 
ah per il problema dell'editor è semplice , vai in una cartella che contiene uno script con estensione .ls
clicchi col destr oe fa i apri con ..
nella finestra andrai a selezionare l'eseguibile di spaziometria , metti il baffo alla caselal che ti chiede di usare sempre quel modo per aprire i file di tipo .ls
 
ah per il problema dell'editor è semplice , vai in una cartella che contiene uno script con estensione .ls
clicchi col destr oe fa i apri con ..
nella finestra andrai a selezionare l'eseguibile di spaziometria , metti il baffo alla caselal che ti chiede di usare sempre quel modo per aprire i file di tipo .ls
Questo l'avevo fatto, ma mi si incasinava tutto, appare una schermata che lampeggia in continuazione, ed ho dovuto sbloccare tutto con Control-Alt-Canc
 
Ultima modifica:
L' ho rifatto di nuovo quello dell'editor e stavolta è andato bene, probabilmente prima avevo sbagliato qualcosa, la premura di risolvere, comunque adesso per l'editore tutto ok è risolto
 
ciao Salvo , allora come ti dicevo ho convertito il tuo script per il nuovo ambiente , sul mio pc con le impostazion idi default ci mettte pochi secondi.

potrai constatare che lo script nel nuovo ambiente è solo leggermente diverso da spaziometria niente di difficile

nel caso tu voglia provare prma devi scaricare twinbasic , lo scompatti in una cartella che ti pare e stai apposto non ci sono setup basta che fai invia a desktop sul file twinbasic.exe per poterlo lanciare facilmente dal desktop,

qui i l link per twinbasic versione 254

https://github.com/twinbasic/twinbasic/releases/download/beta-x-0254/twinBASIC_IDE_BETA_254.zip

lo scompatti dove vuoi ed avrai una cartella con questi dati

1676731508104.png

fai invia a desktop sul file twinbasic.exe per poterlo lanciare facilmente dal desktop,

una volta messo Twinbasic scarica il nuovo ambiente script da qui e segui le istruzioni nel file leggimi , dentro il progetto è gia implementato il tuo script , l'unico modulo dove si deve interagire per fare lo script è questo evidenziato che si chiama MyScript

1676731652703.png

 
ciao ad essere pignolo , rispetto a quello di salvo50 , ci sono due errori qui
Codice:
Scrivi String(89, "*") & " Casi Totali " & FormatString(CStr(Casi), "0000", 0)
Scrivi String(80, "*") & " Estrazione " & (Es) & " caso " & FormatString(CStr(Caso), "0000", 0)
 
ciao ad essere pignolo , rispetto a quello di salvo50 , ci sono due errori qui
Codice:
Scrivi String(89, "*") & " Casi Totali " & FormatString(CStr(Casi), "0000", 0)
Scrivi String(80, "*") & " Estrazione " & (Es) & " caso " & FormatString(CStr(Caso), "0000", 0)

Ciao a Tutti

Ancora non ho fatto niente delle istruzioni datemi da Luigi, ho avuto altro da fare, quindi io non ho potuto controllare
 
Ciao a Tutti.

Liberato dagli impegni mi accingo ad eseguire le istruzioni datemi da Luigi, ma appena lancio TWINBASIC mi appare questo errore eppure la prima volta che l'ho lanciato non c'erano errori

nbnv.PNG
 
the file could not be found vuol dire Non è stato possibile trovare il file , quindi avraiavuto qualche problema forse lo hai cancellato.

riscarica twinbasic , scompattalo in una cartella , entra dentro la cartelal e lancia Twinbasic.exe
 
Ciao a Tutti

Ciao Luigi

Ho rifatto tutto daccapo e la prima volta che lo lancio parte normalmente, la seconda volta mi da errore, mi sono accorto che è l'antivirus che cancella il file mancante, insistendo mi ha cancellato tutta la cartella ed anche il file puntorar, adesso ho ripreso il file da l'indirizzo che hai postato e per sicurezza l'ho salvato in una chiavetta, dovrei staccare l'antivirus tutte le volte che lancio il TWINBASIC e la cosa non mi piace, la prima volta che me lo dimentico devo rifare tutto daccapo, quindi ti ringrazio per il tuo interessamento e rinuncio a questo progetto
 
Ciao Salvo , fatto strano chissa perche l'antivirus se la prende con twinbasic , ad ogni modo mi è servito anche a me per allineare alcune cose che mancavano.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 10 gennaio 2025
    Bari
    40
    61
    11
    86
    37
    Cagliari
    31
    02
    51
    68
    87
    Firenze
    73
    55
    34
    52
    18
    Genova
    11
    40
    27
    82
    20
    Milano
    80
    71
    65
    19
    10
    Napoli
    50
    30
    03
    01
    36
    Palermo
    66
    42
    43
    76
    89
    Roma
    05
    22
    62
    35
    39
    Torino
    17
    58
    62
    86
    69
    Venezia
    43
    89
    14
    04
    40
    Nazionale
    64
    76
    35
    40
    19
    Estrazione Simbolotto
    Bari
    08
    07
    37
    33
    38

Ultimi Messaggi

Indietro
Alto