L
LuigiB
Guest
mo d da il resto di una divisione .. percio si fa =0 .. se non è divisibile diviso per 2 da resto 1 e cosi via pergli altri numeri
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
eheh srecentemente ho messo delel funzioni piu simili a quelle di spaziometria nel senso che ordinano la matrice o il vettore direttamente piuttosto che ritornare un nuovo vettore/matrice ordianto.Ti ringrazio, Luigi.
Ieri mentre facevo prove (anche con l'altro file di esempio che era a corredo)
ho trovato, e corretto alcuni dei miei errori e dovrebbe essere tutto apposto.
Ma non ho potuto controllare a fondo per stanchezza e mancanza di Tempo.
Le cose, sono cambiate piuttosto radicalmente rispetto alla vecchia ordinamatrice.
Oltre cambiare istruzione c'erano anche errori miei nell'interpretare la compatibilità
e anche nel come TB divide i parametri. Sembrerebbe che il separatore debba essere la virgola.
ma se non c'è uno spazio ... non esegue l'istruzione dunque sommando incapacità mia,
incompatibilità delle istruzioni, e ... fraintendimenti sul come si separano i parametri ...
era un disastro.
Per fortuna ricordavo che avevi scritto che l'istruzione doveva essere cambiata,
altrimenti ci avrei perso la notte.
Module MyScript
Public Sub MyScriptRoutine()
' SCRIVERE QUI IL PROPRIO CODICE COME SE FOSSE LA SUB MAIN DI SPAZIOMETIRA
' NON MODIFICARE IL NOME DI QUESTA SUB
Dim N1 As Long, N2 As Long, N3 As Long, N4 As Long, N5 As Long, N6 As Long, Somma As Long
N1 = CInt(InputBox("INSERISCI L'INCOGNITO ", , 25))
N2 = CInt(InputBox("INSERISCI IL SETTENARIO ", , 23))
Scrivi "DA UNO STUDIO DI SAMARITANO - TROVARE IL CENTRALE TRA INCOGNITO E SETTENARIO - SCRIPT Salvo50", 1, , 4, , 3, , 1
Scrivi
Scrivi
Somma = N1 + N2
If Somma Mod 2 = 0 And N1 < 91 And N2 < 91 Then
If N1 = 1 And N2 = 1 Then N3 = N1: N4 = N1: N5 = Fuori90(N1 + 45): N6 = Fuori90(N1 + 45)
If N1 = 1 And N2 > 1 Then N3 = Fuori90((((90 + N2) - N1) * 17) + N1): N4 = N3
If N1 > 1 Then
N3 = Fuori90((((90 + N2) - N1) * 17) + N1)
N4 = Fuori90(90 + (N3 - ((N1 - 1) * 7)))
End If
N5 = Fuori90(N3 + 45)
N6 = Fuori90(N4 + 45)
Scrivi Space(10) & "Incognito" & Space(5) & "Settenario" & Space(5) & "(" & Space(11) & "Inizio Tabella)", 1, 0
Scrivi Space(7) & "(" & Space(11) & "Inizio Tabella)", 1
Scrivi Space(10) & "Inserito" & Space(7) & "Inserito" & Space(5) & " (Centrale" & Space(3) & "Col Settenario)", 1, 0
Scrivi Space(7) & "(Centrale" & Space(3) & "Col Settenario)", 1
Scrivi Space(13) & Format2(N1) & Space(13) & Format2(N2) & Space(12) & Format2(N3) & Space(12) & Format2(N4), 1, 0
Scrivi Space(19) & Format2(N5) & Space(12) & Format2(N6), 1
End If
If Somma Mod 2 = 1 Or N1 > 90 Or N2 > 90 Then
Scrivi " NON E' CONSENTITO INSERIRE 2 NUMERI DI SOMMA DISPARI OPPURE SUPERIORI A 90", 1, 0, , 2
End If
End Sub
End Module
Public Sub MyScriptRoutine() ' SCRIVERE QUI IL PROPRIO CODICE COME SE FOSSE LA SUB MAIN DI SPAZIOMETIRA ' NON MODIFICARE IL NOME DI QUESTA SUB Dim N1 As Long, N2 As Long, N3 As Long, N4 As Long, N5 As Long, N6 As Long, Somma As Long N1 = CInt(InputBox("INSERISCI L'INCOGNITO ", , 25)) N2 = CInt(InputBox("INSERISCI IL SETTENARIO ", , 23)) Scrivi "DA UNO STUDIO DI SAMARITANO - TROVARE IL CENTRALE TRA INCOGNITO E SETTENARIO - SCRIPT Salvo50", 1, , 4, , 3, , 1 Scrivi Scrivi Somma = N1 + N2 If Somma Mod 2 = 0 And N1 < 91 And N2 < 91 Then If N1 = 1 And N2 = 1 Then N3 = N1: N4 = N1: N5 = Fuori90(N1 + 45): N6 = Fuori90(N1 + 45) If N1 = 1 And N2 > 1 Then N3 = Fuori90((((90 + N2) - N1) * 17) + N1): N4 = N3 If N1 > 1 Then N3 = Fuori90((((90 + N2) - N1) * 17) + N1) N4 = Fuori90(90 + (N3 - ((N1 - 1) * 7))) End If N5 = Fuori90(N3 + 45) N6 = Fuori90(N4 + 45) Scrivi Space(10) & "Incognito" & Space(5) & "Settenario" & Space(5) & "(" & Space(11) & "Inizio Tabella)", 1, 0 Scrivi Space(7) & "(" & Space(11) & "Inizio Tabella)", 1 Scrivi Space(10) & "Inserito" & Space(7) & "Inserito" & Space(5) & " (Centrale" & Space(3) & "Col Settenario)", 1, 0 Scrivi Space(7) & "(Centrale" & Space(3) & "Col Settenario)", 1 Scrivi Space(13) & Format2(N1) & Space(13) & Format2(N2) & Space(12) & Format2(N3) & Space(12) & Format2(N4), 1, 0 Scrivi Space(19) & Format2(N5) & Space(12) & Format2(N6), 1 End If If Somma Mod 2 = 1 Or N1 > 90 Or N2 > 90 Then Scrivi " NON E' CONSENTITO INSERIRE 2 NUMERI DI SOMMA DISPARI OPPURE SUPERIORI A 90", 1, 0, , 2 End If End Sub
Ciao Salvo devi sostituire il Fuori90 con FuoriXma perchè mi da errore linea 4
Codice:Module MyScript Public Sub MyScriptRoutine() ' SCRIVERE QUI IL PROPRIO CODICE COME SE FOSSE LA SUB MAIN DI SPAZIOMETIRA ' NON MODIFICARE IL NOME DI QUESTA SUB Dim N1 As Long, N2 As Long, N3 As Long, N4 As Long, N5 As Long, N6 As Long, Somma As Long N1 = CInt(InputBox("INSERISCI L'INCOGNITO ", , 25)) N2 = CInt(InputBox("INSERISCI IL SETTENARIO ", , 23)) Scrivi "DA UNO STUDIO DI SAMARITANO - TROVARE IL CENTRALE TRA INCOGNITO E SETTENARIO - SCRIPT Salvo50", 1, , 4, , 3, , 1 Scrivi Scrivi Somma = N1 + N2 If Somma Mod 2 = 0 And N1 < 91 And N2 < 91 Then If N1 = 1 And N2 = 1 Then N3 = N1: N4 = N1: N5 = Fuori90(N1 + 45): N6 = Fuori90(N1 + 45) If N1 = 1 And N2 > 1 Then N3 = Fuori90((((90 + N2) - N1) * 17) + N1): N4 = N3 If N1 > 1 Then N3 = Fuori90((((90 + N2) - N1) * 17) + N1) N4 = Fuori90(90 + (N3 - ((N1 - 1) * 7))) End If N5 = Fuori90(N3 + 45) N6 = Fuori90(N4 + 45) Scrivi Space(10) & "Incognito" & Space(5) & "Settenario" & Space(5) & "(" & Space(11) & "Inizio Tabella)", 1, 0 Scrivi Space(7) & "(" & Space(11) & "Inizio Tabella)", 1 Scrivi Space(10) & "Inserito" & Space(7) & "Inserito" & Space(5) & " (Centrale" & Space(3) & "Col Settenario)", 1, 0 Scrivi Space(7) & "(Centrale" & Space(3) & "Col Settenario)", 1 Scrivi Space(13) & Format2(N1) & Space(13) & Format2(N2) & Space(12) & Format2(N3) & Space(12) & Format2(N4), 1, 0 Scrivi Space(19) & Format2(N5) & Space(12) & Format2(N6), 1 End If If Somma Mod 2 = 1 Or N1 > 90 Or N2 > 90 Then Scrivi " NON E' CONSENTITO INSERIRE 2 NUMERI DI SOMMA DISPARI OPPURE SUPERIORI A 90", 1, 0, , 2 End If End Sub End Module
Vedi l'allegato 2254753
Ciao Mike gli script che non migliornao in velocita sono quelli che fanno largo uso di codice scritto nello script con cicli for /do , condizioni varie dentro i cicli ecc ..Purtroppo twinbasic non ha ancora un compilatore ottimizzato quindi sebbene le funzioni della libreria siano scritte in dot net se la parte critica sta nel codice stesso dello script purtroppo c'è poco da fare..si dovrebbe usare il dotnet anche per gli script , la cosa è assolutamente possibile però è piu complicataCiao Salvo devi sostituire il Fuori90 con FuoriX
N6 = FuoriX(N4 + 45, 90)
Poi è tutto funzionante.
Purtroppo non tutti gli script di spaziometria riportati in TwinBasic risultano più veloci cosi come la dichiarazione delle variabile va immessa corretta come indica la guida per quel codice, pena errori vari.
Non è tutto così immediato.
ops... ci sono altre risposte
Tom, le interfacce grafiche,
sia per gli input che per gli output, secondo me andrebbero calibrate e rapportate al progetto.
Cioè sono come un abito che per sommi capi ha delle caratteristiche generali,
ma, per essere ben fatto dovrebbe essere cucito sulle misure di chi lo deve usare.
Possibilmente anche avere una buona stoffa, robustezza, bellezza, praticità ...
tali da non rendere inutile, tutto il resto del lavoro di taglio e cucitura.
Faccio un esempio assieme ai complimenti per Ilegend.
Lui ha una tabella per input per le ruote e una casella di testo dove sono mostrate le ruote.
Nel mio immaginario se fossero solo i pulsanti per le ruote come ha spaziometria, cioè
"tutto in una linea" si recupererebbe un 10-20-30 % di spazio nella grafica.
In soldoni in una ipotetica griglia tipo excel si recupererebbe lo spazio di 4-5-6 linee su circa 25.
Cioè altrettante 5-6 estrazioni complete, senza perdere la visione di come sono state generate,
a seguito delle ruote selezionate.
Naturalmente è solo un mio pensiero che non vuole scoraggiare e contrastare nessuno.
Tuttavia penso ci debba essere un buon Mix di fascino e sostanza.
Luigi può essere che non esista la questione dello spazio ...
Per trovare i terni devo leggere gli estratti e combinarli in terni. Se non si ordinano ho sia combinazioni esatte e permutazioni lottologicamente sbagliate e formazioni che eccedono i limiti dell'Array che li deve contenere.
Dovendo necessariamente considerare le ruote ed almeno qualche estrazione si generano migliaia di errori.
Dunque nelle innumerevoli prove è difficile capire cosa non funzionava ... Perché qualche terno casualmente è naturalmente è ben disposto nel giusto ordine crescente e quindi lo si ritrova correttamente intercettato dal robot di ricerca anche tra mille errori.
Questa sera se possibile controllo meglio.
N1 ed n2 sono dichiarate as longDim N1 As Long, N2 As Long, N3 As Long, N4 As Long, N5 As Long, N6 As Long, Somma As Long N1 = CInt(InputBox("INSERISCI L'INCOGNITO ", , 25)) N2 = CInt(InputBox("
non da errore perche intzeger è piu piccolo del long percio avviene una conversioen implicitaN1 ed n2 sono dichiarate as long
Poi viene preso cint dall inputbox
In teoria sarebbe corretto cLng( input...)
In questo caso non ho controllato se potrebbe essere un errore.
......noi ci proviamo ?................. c'è poco da fare..si dovrebbe usare il dotnet anche per gli script , la cosa è assolutamente possibile però è piu complicata
Ciao Luigi, devo dire che ti sei davvero superato, Complimenti! E' davvero un Grandissimo Esempio, una vera perlaCiao a tutti , visto il giorno di festa vi presento un regalino , questa volta si parla di griglie.
Come abbiamo visto la waynegrid di twinbasic non è adatta alle nostre esigenze quindi per evitare di usare controlli esterni come la FlexGrid
di microsoft che ci costringerebbe a dover distribuire componeti esterni col nostro programma ho pensato di creare io un controllo Grid adatto alle esigenze.
posto un piccolo esempio.
Per poterlo usare bisogna aggiornare all'ultimissima versione di Twinbasic perche precedentemente c'era un bug che coinvolgeva questo esempio.
Vedi l'allegato 2254799